[
  {
    "path": ".gitattributes",
    "content": "###############################################################################\n# Set default behavior to automatically normalize line endings.\n###############################################################################\n* text=auto\n\n###############################################################################\n# Set default behavior for command prompt diff.\n#\n# This is need for earlier builds of msysgit that does not have it on by\n# default for csharp files.\n# Note: This is only used by command line\n###############################################################################\n#*.cs     diff=csharp\n\n###############################################################################\n# Set the merge driver for project and solution files\n#\n# Merging from the command prompt will add diff markers to the files if there\n# are conflicts (Merging from VS is not affected by the settings below, in VS\n# the diff markers are never inserted). Diff markers may cause the following \n# file extensions to fail to load in VS. An alternative would be to treat\n# these files as binary and thus will always conflict and require user\n# intervention with every merge. To do so, just uncomment the entries below\n###############################################################################\n#*.sln       merge=binary\n#*.csproj    merge=binary\n#*.vbproj    merge=binary\n#*.vcxproj   merge=binary\n#*.vcproj    merge=binary\n#*.dbproj    merge=binary\n#*.fsproj    merge=binary\n#*.lsproj    merge=binary\n#*.wixproj   merge=binary\n#*.modelproj merge=binary\n#*.sqlproj   merge=binary\n#*.wwaproj   merge=binary\n\n###############################################################################\n# behavior for image files\n#\n# image files are treated as binary by default.\n###############################################################################\n#*.jpg   binary\n#*.png   binary\n#*.gif   binary\n\n###############################################################################\n# diff behavior for common document formats\n# \n# Convert binary document formats to text before diffing them. This feature\n# is only available from the command line. Turn it on by uncommenting the \n# entries below.\n###############################################################################\n#*.doc   diff=astextplain\n#*.DOC   diff=astextplain\n#*.docx  diff=astextplain\n#*.DOCX  diff=astextplain\n#*.dot   diff=astextplain\n#*.DOT   diff=astextplain\n#*.pdf   diff=astextplain\n#*.PDF   diff=astextplain\n#*.rtf   diff=astextplain\n#*.RTF   diff=astextplain\n"
  },
  {
    "path": ".github/FUNDING.yml",
    "content": "# These are supported funding model platforms\n\ngithub: mpostol # Replace with up to 4 GitHub Sponsors-enabled usernames e.g., [user1, user2]\npatreon: mpostol # Replace with a single Patreon username\nopen_collective: # Replace with a single Open Collective username\nko_fi: # Replace with a single Ko-fi username\ntidelift: # Replace with a single Tidelift platform-name/package-name e.g., npm/babel\ncommunity_bridge: # Replace with a single Community Bridge project-name e.g., cloud-foundry\nliberapay: # Replace with a single Liberapay username\nissuehunt: # Replace with a single IssueHunt username\notechie: # Replace with a single Otechie username\ncustom: # Replace with up to 4 custom sponsorship URLs e.g., ['link1', 'link2']\n"
  },
  {
    "path": ".github/ISSUE_TEMPLATE/ISSUE_TEMPLATE.md",
    "content": "## Issue\n### Expected behavior\n### Actual behavior\n### Steps to reproduce the behavior\n## Feature request\nDescription\n"
  },
  {
    "path": ".github/ISSUE_TEMPLATE/PrepareReleaseTask.md",
    "content": "---\nname: Relese\nabout: Release new version tasks list\ntitle: 'Release new version'\nlabels: 'Feature request'\nassignees: 'mpostol'\n---\n \n- [ ] Update version information for all published assemblies (Model.t4), \n- [ ] Prepare an example if applicable\n- [ ] Update Readme files\n- [ ] Prepare and publish NuGet packages if applicable. \n- [ ] Replace project references by packages.\n- [ ] Create release front page\n  - [ ] Getting Started\n  - [ ] Version information\n- [ ] Build solution to create deliverable and publish the installation package\n- [ ] Update and publish the code help documentation\n- [ ] Publish release\n- [ ] Update the repository front page\n- [ ] Update the GitHub pages documentation\n- [ ] Close this issue and the parent milestone\n"
  },
  {
    "path": ".github/ISSUE_TEMPLATE/bug_report.md",
    "content": "---\nname: Bug report\nabout: Create a report to help us improve\ntitle: ''\nlabels: 'Bug'\nassignees: ''\n---\n\n## Describe the bug\n\nA clear and concise description of what the bug is.\n\n## To Reproduce\n\nSteps to reproduce the behavior:\n\n1. Go to '...'\n2. Click on '....'\n3. Scroll down to '....'\n4. See error\n\n## Expected behavior\n\nA clear and concise description of what you expected to happen.\n\n## Screenshots\n\nIf applicable, add screenshots to help explain your problem.\n\n## Additional context\n\nAdd any other context about the problem here.\n"
  },
  {
    "path": ".github/ISSUE_TEMPLATE/custom.md",
    "content": "---\nname: Custom issue template\nabout: Describe this issue template's purpose here.\n\n---\n\n\n"
  },
  {
    "path": ".github/ISSUE_TEMPLATE/feature_request.md",
    "content": "---\nname: Feature request\nabout: Suggest an idea for this project\ntitle: 'Enhance/Improve <sth>'\nlabels: 'Feature request'\nassignees: ''\n---\n\n### Describe problem\n\nA clear and concise description of what the problem is.\n\n### Describe the solution you'd like\n\nA clear and concise description of what you want to happen.\n\n### Describe alternatives you've considered\n\nA clear and concise description of any alternative solutions or features you've considered.\n\n### List of tasks to be accomplished\n\n- [ ] Task 1\n- [ ] Task 2\n- [ ] TBD\n\n### Notes\n\nAdd any other context or screenshots about the feature request here.\n"
  },
  {
    "path": ".gitignore",
    "content": "## Ignore Visual Studio temporary files, build results, and\n## files generated by popular Visual Studio add-ons.\n##\n## Get latest from https://github.com/github/gitignore/blob/master/VisualStudio.gitignore\n\n# VS Code workspace\n*.code-workspace\n\n# User-specific files\n*.suo\n*.user\n*.userosscache\n*.sln.docstates\n\n# User-specific files (MonoDevelop/Xamarin Studio)\n*.userprefs\n\n# Build results\n[Dd]ebug/\n[Dd]ebugPublic/\n[Rr]elease/\n[Rr]eleases/\nx64/\nx86/\nbld/\n[Bb]in/\n[Oo]bj/\n[Ll]og/\n\n# Visual Studio 2015 cache/options directory\n.vs/\n# Uncomment if you have tasks that create the project's static files in wwwroot\n#wwwroot/\n\n# MSTest test Results\n[Tt]est[Rr]esult*/\n[Bb]uild[Ll]og.*\n\n# NUNIT\n*.VisualState.xml\nTestResult.xml\n\n# Build Results of an ATL Project\n[Dd]ebugPS/\n[Rr]eleasePS/\ndlldata.c\n\n# .NET Core\nproject.lock.json\nproject.fragment.lock.json\nartifacts/\n**/Properties/launchSettings.json\n\n*_i.c\n*_p.c\n*_i.h\n*.ilk\n*.meta\n*.obj\n*.pch\n*.pdb\n*.pgc\n*.pgd\n*.rsp\n*.sbr\n*.tlb\n*.tli\n*.tlh\n*.tmp\n*.tmp_proj\n*.log\n*.vspscc\n*.vssscc\n.builds\n*.pidb\n*.svclog\n*.scc\n\n# Chutzpah Test files\n_Chutzpah*\n\n# Visual C++ cache files\nipch/\n*.aps\n*.ncb\n*.opendb\n*.opensdf\n*.sdf\n*.cachefile\n*.VC.db\n*.VC.VC.opendb\n\n# Visual Studio profiler\n*.psess\n*.vsp\n*.vspx\n*.sap\n\n# TFS 2012 Local Workspace\n$tf/\n\n# Guidance Automation Toolkit\n*.gpState\n\n# ReSharper is a .NET coding add-in\n_ReSharper*/\n*.[Rr]e[Ss]harper\n*.DotSettings.user\n\n# JustCode is a .NET coding add-in\n.JustCode\n\n# TeamCity is a build add-in\n_TeamCity*\n\n# DotCover is a Code Coverage Tool\n*.dotCover\n\n# Visual Studio code coverage results\n*.coverage\n*.coveragexml\n\n# NCrunch\n_NCrunch_*\n.*crunch*.local.xml\nnCrunchTemp_*\n\n# MightyMoose\n*.mm.*\nAutoTest.Net/\n\n# Web workbench (sass)\n.sass-cache/\n\n# Installshield output folder\n[Ee]xpress/\n\n# DocProject is a documentation generator add-in\nDocProject/buildhelp/\nDocProject/Help/*.HxT\nDocProject/Help/*.HxC\nDocProject/Help/*.hhc\nDocProject/Help/*.hhk\nDocProject/Help/*.hhp\nDocProject/Help/Html2\nDocProject/Help/html\n\n# Click-Once directory\npublish/\n\n# Publish Web Output\n*.[Pp]ublish.xml\n*.azurePubxml\n# TODO: Comment the next line if you want to checkin your web deploy settings\n# but database connection strings (with potential passwords) will be unencrypted\n*.pubxml\n*.publishproj\n\n# Microsoft Azure Web App publish settings. Comment the next line if you want to\n# checkin your Azure Web App publish settings, but sensitive information contained\n# in these scripts will be unencrypted\nPublishScripts/\n\n# NuGet Packages\n*.nupkg\n# The packages folder can be ignored because of Package Restore\n**/packages/*\n# except build/, which is used as an MSBuild target.\n!**/packages/build/\n# Uncomment if necessary however generally it will be regenerated when needed\n#!**/packages/repositories.config\n# NuGet v3's project.json files produces more ignorable files\n*.nuget.props\n*.nuget.targets\n\n# Microsoft Azure Build Output\ncsx/\n*.build.csdef\n\n# Microsoft Azure Emulator\necf/\nrcf/\n\n# Windows Store app package directories and files\nAppPackages/\nBundleArtifacts/\nPackage.StoreAssociation.xml\n_pkginfo.txt\n\n# Visual Studio cache files\n# files ending in .cache can be ignored\n*.[Cc]ache\n# but keep track of directories ending in .cache\n!*.[Cc]ache/\n\n# Others\nClientBin/\n~$*\n*~\n*.dbmdl\n*.dbproj.schemaview\n*.jfm\n*.pfx\n*.publishsettings\norleans.codegen.cs\n\n# Since there are multiple workflows, uncomment next line to ignore bower_components\n# (https://github.com/github/gitignore/pull/1529#issuecomment-104372622)\n#bower_components/\n\n# RIA/Silverlight projects\nGenerated_Code/\n\n# Backup & report files from converting an old project file\n# to a newer Visual Studio version. Backup files are not needed,\n# because we have git ;-)\n_UpgradeReport_Files/\nBackup*/\nUpgradeLog*.XML\nUpgradeLog*.htm\n\n# SQL Server files\n*.mdf\n*.ldf\n*.ndf\n\n# Business Intelligence projects\n*.rdl.data\n*.bim.layout\n*.bim_*.settings\n\n# Microsoft Fakes\nFakesAssemblies/\n\n# GhostDoc plugin setting file\n*.GhostDoc.xml\n\n# Node.js Tools for Visual Studio\n.ntvs_analysis.dat\nnode_modules/\n\n# Typescript v1 declaration files\ntypings/\n\n# Visual Studio 6 build log\n*.plg\n\n# Visual Studio 6 workspace options file\n*.opt\n\n# Visual Studio 6 auto-generated workspace file (contains which files were open etc.)\n*.vbw\n\n# Visual Studio LightSwitch build output\n**/*.HTMLClient/GeneratedArtifacts\n**/*.DesktopClient/GeneratedArtifacts\n**/*.DesktopClient/ModelManifest.xml\n**/*.Server/GeneratedArtifacts\n**/*.Server/ModelManifest.xml\n_Pvt_Extensions\n\n# Paket dependency manager\n.paket/paket.exe\npaket-files/\n\n# FAKE - F# Make\n.fake/\n\n# JetBrains Rider\n.idea/\n*.sln.iml\n\n# CodeRush\n.cr/\n\n# Python Tools for Visual Studio (PTVS)\n__pycache__/\n*.pyc\n\n# Cake - Uncomment if you are using it\n# tools/**\n# !tools/packages.config\n\n# Telerik's JustMock configuration file\n*.jmconfig\n\n# BizTalk build output\n*.btp.cs\n*.btm.cs\n*.odx.cs\n"
  },
  {
    "path": ".nuget/NuGet.Config",
    "content": "﻿<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<configuration>\n  <solution>\n    <add key=\"disableSourceControlIntegration\" value=\"true\" />\n  </solution>\n</configuration>"
  },
  {
    "path": ".nuget/NuGet.targets",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<Project ToolsVersion=\"4.0\" xmlns=\"http://schemas.microsoft.com/developer/msbuild/2003\">\n    <PropertyGroup>\n        <SolutionDir Condition=\"$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'\">$(MSBuildProjectDirectory)\\..\\</SolutionDir>\n\n        <!-- Enable the restore command to run before builds -->\n        <RestorePackages Condition=\"  '$(RestorePackages)' == '' \">false</RestorePackages>\n\n        <!-- Property that enables building a package from a project -->\n        <BuildPackage Condition=\" '$(BuildPackage)' == '' \">false</BuildPackage>\n\n        <!-- Determines if package restore consent is required to restore packages -->\n        <RequireRestoreConsent Condition=\" '$(RequireRestoreConsent)' != 'false' \">true</RequireRestoreConsent>\n\n        <!-- Download NuGet.exe if it does not already exist -->\n        <DownloadNuGetExe Condition=\" '$(DownloadNuGetExe)' == '' \">true</DownloadNuGetExe>\n    </PropertyGroup>\n\n    <ItemGroup Condition=\" '$(PackageSources)' == '' \">\n        <!-- Package sources used to restore packages. By default, registered sources under %APPDATA%\\NuGet\\NuGet.Config will be used -->\n        <!-- The official NuGet package source (https://www.nuget.org/api/v2/) will be excluded if package sources are specified and it does not appear in the list -->\n        <!--\n            <PackageSource Include=\"https://www.nuget.org/api/v2/\" />\n            <PackageSource Include=\"https://my-nuget-source/nuget/\" />\n        -->\n    </ItemGroup>\n\n    <PropertyGroup Condition=\" '$(OS)' == 'Windows_NT'\">\n        <!-- Windows specific commands -->\n        <NuGetToolsPath>$([System.IO.Path]::Combine($(SolutionDir), \".nuget\"))</NuGetToolsPath>\n    </PropertyGroup>\n\n    <PropertyGroup Condition=\" '$(OS)' != 'Windows_NT'\">\n        <!-- We need to launch nuget.exe with the mono command if we're not on windows -->\n        <NuGetToolsPath>$(SolutionDir).nuget</NuGetToolsPath>\n    </PropertyGroup>\n\n    <PropertyGroup>\n        <PackagesProjectConfig Condition=\" '$(OS)' == 'Windows_NT'\">$(MSBuildProjectDirectory)\\packages.$(MSBuildProjectName.Replace(' ', '_')).config</PackagesProjectConfig>\n        <PackagesProjectConfig Condition=\" '$(OS)' != 'Windows_NT'\">$(MSBuildProjectDirectory)\\packages.$(MSBuildProjectName).config</PackagesProjectConfig>\n    </PropertyGroup>\n\n    <PropertyGroup>\n      <PackagesConfig Condition=\"Exists('$(MSBuildProjectDirectory)\\packages.config')\">$(MSBuildProjectDirectory)\\packages.config</PackagesConfig>\n      <PackagesConfig Condition=\"Exists('$(PackagesProjectConfig)')\">$(PackagesProjectConfig)</PackagesConfig>\n    </PropertyGroup>\n\n    <PropertyGroup>\n        <!-- NuGet command -->\n        <NuGetExePath Condition=\" '$(NuGetExePath)' == '' \">$(NuGetToolsPath)\\NuGet.exe</NuGetExePath>\n        <PackageSources Condition=\" $(PackageSources) == '' \">@(PackageSource)</PackageSources>\n\n        <NuGetCommand Condition=\" '$(OS)' == 'Windows_NT'\">\"$(NuGetExePath)\"</NuGetCommand>\n        <NuGetCommand Condition=\" '$(OS)' != 'Windows_NT' \">mono --runtime=v4.0.30319 \"$(NuGetExePath)\"</NuGetCommand>\n\n        <PackageOutputDir Condition=\"$(PackageOutputDir) == ''\">$(TargetDir.Trim('\\\\'))</PackageOutputDir>\n\n        <RequireConsentSwitch Condition=\" $(RequireRestoreConsent) == 'true' \">-RequireConsent</RequireConsentSwitch>\n        <NonInteractiveSwitch Condition=\" '$(VisualStudioVersion)' != '' AND '$(OS)' == 'Windows_NT' \">-NonInteractive</NonInteractiveSwitch>\n\n        <PaddedSolutionDir Condition=\" '$(OS)' == 'Windows_NT'\">\"$(SolutionDir) \"</PaddedSolutionDir>\n        <PaddedSolutionDir Condition=\" '$(OS)' != 'Windows_NT' \">\"$(SolutionDir)\"</PaddedSolutionDir>\n\n        <!-- Commands -->\n        <RestoreCommand>$(NuGetCommand) install \"$(PackagesConfig)\" -source \"$(PackageSources)\"  $(NonInteractiveSwitch) $(RequireConsentSwitch) -solutionDir $(PaddedSolutionDir)</RestoreCommand>\n        <BuildCommand>$(NuGetCommand) pack \"$(ProjectPath)\" -Properties \"Configuration=$(Configuration);Platform=$(Platform)\" $(NonInteractiveSwitch) -OutputDirectory \"$(PackageOutputDir)\" -symbols</BuildCommand>\n\n        <!-- We need to ensure packages are restored prior to assembly resolve -->\n        <BuildDependsOn Condition=\"$(RestorePackages) == 'true'\">\n            RestorePackages;\n            $(BuildDependsOn);\n        </BuildDependsOn>\n\n        <!-- Make the build depend on restore packages -->\n        <BuildDependsOn Condition=\"$(BuildPackage) == 'true'\">\n            $(BuildDependsOn);\n            BuildPackage;\n        </BuildDependsOn>\n    </PropertyGroup>\n\n    <Target Name=\"CheckPrerequisites\">\n        <!-- Raise an error if we're unable to locate nuget.exe  -->\n        <Error Condition=\"'$(DownloadNuGetExe)' != 'true' AND !Exists('$(NuGetExePath)')\" Text=\"Unable to locate '$(NuGetExePath)'\" />\n        <!--\n        Take advantage of MsBuild's build dependency tracking to make sure that we only ever download nuget.exe once.\n        This effectively acts as a lock that makes sure that the download operation will only happen once and all\n        parallel builds will have to wait for it to complete.\n        -->\n        <MsBuild Targets=\"_DownloadNuGet\" Projects=\"$(MSBuildThisFileFullPath)\" Properties=\"Configuration=NOT_IMPORTANT;DownloadNuGetExe=$(DownloadNuGetExe)\" />\n    </Target>\n\n    <Target Name=\"_DownloadNuGet\">\n        <DownloadNuGet OutputFilename=\"$(NuGetExePath)\" Condition=\" '$(DownloadNuGetExe)' == 'true' AND !Exists('$(NuGetExePath)')\" />\n    </Target>\n\n    <Target Name=\"RestorePackages\" DependsOnTargets=\"CheckPrerequisites\">\n        <Exec Command=\"$(RestoreCommand)\"\n              Condition=\"'$(OS)' != 'Windows_NT' And Exists('$(PackagesConfig)')\" />\n\n        <Exec Command=\"$(RestoreCommand)\"\n              LogStandardErrorAsError=\"true\"\n              Condition=\"'$(OS)' == 'Windows_NT' And Exists('$(PackagesConfig)')\" />\n    </Target>\n\n    <Target Name=\"BuildPackage\" DependsOnTargets=\"CheckPrerequisites\">\n        <Exec Command=\"$(BuildCommand)\"\n              Condition=\" '$(OS)' != 'Windows_NT' \" />\n\n        <Exec Command=\"$(BuildCommand)\"\n              LogStandardErrorAsError=\"true\"\n              Condition=\" '$(OS)' == 'Windows_NT' \" />\n    </Target>\n\n    <UsingTask TaskName=\"DownloadNuGet\" TaskFactory=\"CodeTaskFactory\" AssemblyFile=\"$(MSBuildToolsPath)\\Microsoft.Build.Tasks.v4.0.dll\">\n        <ParameterGroup>\n            <OutputFilename ParameterType=\"System.String\" Required=\"true\" />\n        </ParameterGroup>\n        <Task>\n            <Reference Include=\"System.Core\" />\n            <Using Namespace=\"System\" />\n            <Using Namespace=\"System.IO\" />\n            <Using Namespace=\"System.Net\" />\n            <Using Namespace=\"Microsoft.Build.Framework\" />\n            <Using Namespace=\"Microsoft.Build.Utilities\" />\n            <Code Type=\"Fragment\" Language=\"cs\">\n                <![CDATA[\n                try {\n                    OutputFilename = Path.GetFullPath(OutputFilename);\n\n                    Log.LogMessage(\"Downloading latest version of NuGet.exe...\");\n                    WebClient webClient = new WebClient();\n                    webClient.DownloadFile(\"https://www.nuget.org/nuget.exe\", OutputFilename);\n\n                    return true;\n                }\n                catch (Exception ex) {\n                    Log.LogErrorFromException(ex);\n                    return false;\n                }\n            ]]>\n            </Code>\n        </Task>\n    </UsingTask>\n</Project>\n"
  },
  {
    "path": ".vscode/settings.json",
    "content": "{\n    \"cSpell.words\": [\n        \"IANA\",\n        \"Xplore\"\n    ]\n}"
  },
  {
    "path": "CONTRIBUTING.md",
    "content": "# Contributing\n\nI strongly encourage community participation and contribution to this project. First, please fork the repository and commit your changes there. \nOnce happy with your changes you can generate a 'pull request'.\n\nYou must agree to the contributor license agreement before I can accept your changes. You can preview CLA [here](https://github.com/mpostol/OPC-UA-OOI/blob/master/license.md).\n\n\n"
  },
  {
    "path": "COVERPAGE.md",
    "content": "## Object Oriented Internet\n\n\n> 5.0.2-Alpha\n\n"
  },
  {
    "path": "Common/Infrastructure/Common.Infrastructure.csproj",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<Project Sdk=\"Microsoft.NET.Sdk\" ToolsVersion=\"15.0\">\n  <PropertyGroup>\n    <TargetFramework>netstandard2.0</TargetFramework>\n    <FileUpgradeFlags>40</FileUpgradeFlags>\n    <UpgradeBackupLocation>E:\\GitHub\\OPC-UA-OOI.400\\Backup\\</UpgradeBackupLocation>\n    <OldToolsVersion>2.0</OldToolsVersion>\n    <ProjectGuid>{8817A671-ABB8-463A-A8A3-DDCFE781A6B6}</ProjectGuid>\n    <PublishUrl>publish\\</PublishUrl>\n    <Install>true</Install>\n    <InstallFrom>Disk</InstallFrom>\n    <UpdateEnabled>false</UpdateEnabled>\n    <UpdateMode>Foreground</UpdateMode>\n    <UpdateInterval>7</UpdateInterval>\n    <UpdateIntervalUnits>Days</UpdateIntervalUnits>\n    <UpdatePeriodically>false</UpdatePeriodically>\n    <UpdateRequired>false</UpdateRequired>\n    <MapFileExtensions>true</MapFileExtensions>\n    <ApplicationRevision>0</ApplicationRevision>\n    <ApplicationVersion>1.0.0.%2a</ApplicationVersion>\n    <IsWebBootstrapper>false</IsWebBootstrapper>\n    <UseApplicationTrust>false</UseApplicationTrust>\n    <BootstrapperEnabled>true</BootstrapperEnabled>\n    <SignAssembly>true</SignAssembly>\n    <AssemblyOriginatorKeyFile>OPCUAOOIKey.snk</AssemblyOriginatorKeyFile>\n    <AssemblyName>UAOOI.Common.Infrastructure647</AssemblyName>\n    <RootNamespace>UAOOI.Common.Infrastructure</RootNamespace>\n    <PackageId>UAOOI.Common.Infrastructure</PackageId>\n    <Version>6.4.6</Version>\n    <title>Common Infrastructure Management Functionality Aimed at Object Oriented Internet</title>\n    <authors>MPostol</authors>\n    <owners>cas.eu; commsvr.com</owners>\n    <projectUrl>https://github.com/mpostol/OPC-UA-OOI/tree/master/Networking</projectUrl>\n    <requireLicenseAcceptance>false</requireLicenseAcceptance>\n    <developmentDependency>false</developmentDependency>\n    <description>This library provides API for common infrastructure management functionality aimed at Object Oriented Internet application deployment.</description>\n    <summary>\n      This library provides API for common infrastructure management functionality aimed at Object Oriented Internet application deployment including but not limited to:\n      - Common definitions\n      - Tracking\n      - Bootstrapper\n    </summary>\n    <releaseNotes>\n    </releaseNotes>\n    <copyright>Copyright MPostol (c) 2018</copyright>\n    <tags>Object Oriented Internet, IoT, OPC UA, CommServer.</tags>\n    <PackageProjectUrl>https://commsvr.gitbook.io/ooi</PackageProjectUrl>\n    <RepositoryUrl>https://github.com/mpostol/OPC-UA-OOI</RepositoryUrl>\n    <PackageTags>Object Oriented Internet, IoT, OPC UA, CommServer</PackageTags>\n    <RepositoryType>GitHub</RepositoryType>\n    <Company>commsvr.com</Company>\n    <GeneratePackageOnBuild>false</GeneratePackageOnBuild>\n  </PropertyGroup>\n  <PropertyGroup>\n    <IncludeSymbols>true</IncludeSymbols>\n    <SymbolPackageFormat>snupkg</SymbolPackageFormat>\n    <AssemblyVersion>6.4.6.0</AssemblyVersion>\n    <FileVersion>6.3.6.0</FileVersion>\n    <GenerateDocumentationFile>True</GenerateDocumentationFile>\n  </PropertyGroup>\n  <PropertyGroup Condition=\"'$(Configuration)|$(Platform)' == 'Debug|AnyCPU'\">\n    <CodeAnalysisRuleSet>MinimumRecommendedRules.ruleset</CodeAnalysisRuleSet>\n    <DocumentationFile></DocumentationFile>\n    <NoWarn>1701;1702; IDE0001</NoWarn>\n  </PropertyGroup>\n  <PropertyGroup Condition=\"'$(Configuration)|$(Platform)' == 'Release|AnyCPU'\">\n    <CodeAnalysisRuleSet>MinimumRecommendedRules.ruleset</CodeAnalysisRuleSet>\n    <DocumentationFile>.\\bin\\UAOOI.Common.Infrastructure.xml</DocumentationFile>\n  </PropertyGroup>\n  <PropertyGroup Condition=\"'$(Configuration)|$(TargetFramework)|$(Platform)'=='Debug|netstandard1.4|AnyCPU'\">\n    <DefineConstants>TRACE;DEBUG</DefineConstants>\n  </PropertyGroup>\n  <ItemGroup>\n    <PackageReference Include=\"System.Diagnostics.TraceSource\" Version=\"4.3.0\" />\n  </ItemGroup>\n  <ItemGroup>\n    <None Update=\"Common.Infrastructure.nuspec.nuspec\">\n      <DesignTime>True</DesignTime>\n      <AutoGen>True</AutoGen>\n      <DependentUpon>Common.Infrastructure.nuspec.tt</DependentUpon>\n    </None>\n    <None Update=\"Common.Infrastructure.nuspec.tt\">\n      <Generator>TextTemplatingFileGenerator</Generator>\n      <LastGenOutput>Common.Infrastructure.nuspec.nuspec</LastGenOutput>\n    </None>\n  </ItemGroup>\n  <ItemGroup>\n    <Service Include=\"{508349b6-6b84-4df5-91f0-309beebad82d}\" />\n  </ItemGroup>\n</Project>"
  },
  {
    "path": "Common/Infrastructure/Common.Infrastructure.nuspec.nuspec",
    "content": "﻿<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<package xmlns=\"http://schemas.microsoft.com/packaging/2012/06/nuspec.xsd\">\n  <metadata>\n    <id>UAOOI.Common.Infrastructure</id>\n    <version>6.4.9\n    </version>\n    <title>Object Oriented Internet Common Infrastructure</title>\n    <authors>Mariusz Postol</authors>\n    <owners>Mariusz Postol</owners>\n    <requireLicenseAcceptance>false</requireLicenseAcceptance>\n    <license type=\"expression\">MIT</license>\n    <projectUrl>https://github.com/mpostol/OPC-UA-OOI/tree/master/Networking/Core</projectUrl>\n    <icon>Logo64.PNG</icon>\n    <description>\n      This library provides API for common infrastructure management functionality aimed at Object Oriented Internet application deployment including but not limited to:\n      - Common definitions\n      - Tracking\n      - Bootstrapper\n    </description>\n    <summary>\n      The core functionality of SemanticData Reactive Networking library based on OPC UA Part 14 Pub/Sub.\n    </summary>\n    <copyright>Copyright (C) 2022 Mariusz Postol LODZ POLAND</copyright>\n    <tags>Object Oriented Internet, OPC UA, PubSub, Information Model, IoT, M2M, DOA,</tags>\n    <repository type=\"GitHub\" url=\"https://github.com/mpostol/OPC-UA-OOI\" />\n    <dependencies>\n      <group targetFramework=\".NETStandard2.0\" />\n    </dependencies>\n    <releaseNotes>Maintenance release - unimportant changes.</releaseNotes>\n    <copyright>Copyright (C) 2022 Mariusz Postol LODZ POLAND</copyright>\n  </metadata>\n  <files>\n    <file src=\"..\\..\\CommonResources\\Media\\Logo64.PNG\" target=\"\"/>\n    <file src=\"bin\\Release\\netstandard2.0\\UAOOI.Common.Infrastructure.dll\" target=\"lib\\netstandard2.0\\UAOOI.Common.Infrastructure.dll\" />\n    <file src=\"bin\\Release\\netstandard2.0\\UAOOI.Common.Infrastructure.xml\" target=\"lib\\netstandard2.0\\UAOOI.Common.Infrastructure.xml\" />\n  </files>\n</package>\n\n"
  },
  {
    "path": "Common/Infrastructure/Common.Infrastructure.nuspec.tt",
    "content": "﻿<#@ template debug=\"false\" hostspecific=\"false\" language=\"C#\" #>\n<#@ output extension=\".nuspec\" #>\n<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<package xmlns=\"http://schemas.microsoft.com/packaging/2012/06/nuspec.xsd\">\n  <metadata>\n    <id>UAOOI.Common.Infrastructure</id>\n    <version><#=CommonVersion#><#= CommonPrerelease#>\n    </version>\n    <title><#=NetworkingDataProduct#> Common Infrastructure</title>\n    <authors><#=AssemblyCompany#></authors>\n    <owners><#=Owner#></owners>\n    <requireLicenseAcceptance>false</requireLicenseAcceptance>\n    <license type=\"expression\">MIT</license>\n    <projectUrl>https://github.com/mpostol/OPC-UA-OOI/tree/master/Networking/Core</projectUrl>\n    <icon>Logo64.PNG</icon>\n    <description>\n      This library provides API for common infrastructure management functionality aimed at Object Oriented Internet application deployment including but not limited to:\n      - Common definitions\n      - Tracking\n      - Bootstrapper\n    </description>\n    <summary>\n      The core functionality of SemanticData Reactive Networking library based on OPC UA Part 14 Pub/Sub.\n    </summary>\n    <copyright><#=AssemblyCopyright#></copyright>\n    <tags>Object Oriented Internet, OPC UA, PubSub, Information Model, IoT, M2M, DOA,</tags>\n    <repository type=\"GitHub\" url=\"https://github.com/mpostol/OPC-UA-OOI\" />\n    <dependencies>\n      <group targetFramework=\".NETStandard2.0\" />\n    </dependencies>\n    <releaseNotes>Maintenance release - unimportant changes.</releaseNotes>\n    <copyright><#=AssemblyCopyright#></copyright>\n  </metadata>\n  <files>\n    <file src=\"..\\..\\CommonResources\\Media\\Logo64.PNG\" target=\"\"/>\n    <file src=\"bin\\Release\\netstandard2.0\\UAOOI.Common.Infrastructure.dll\" target=\"lib\\netstandard2.0\\UAOOI.Common.Infrastructure.dll\" />\n    <file src=\"bin\\Release\\netstandard2.0\\UAOOI.Common.Infrastructure.xml\" target=\"lib\\netstandard2.0\\UAOOI.Common.Infrastructure.xml\" />\n  </files>\n</package>\n\n<#@ include file = \"..\\..\\CommonResources\\T4Definitions\\Model.t4\" #>\n"
  },
  {
    "path": "Common/Infrastructure/Diagnostic/IEventSourceProvider.cs",
    "content": "﻿//__________________________________________________________________________________________________\n//\n//  Copyright (C) 2021, Mariusz Postol LODZ POLAND.\n//\n//  To be in touch join the community at GitHub: https://github.com/mpostol/OPC-UA-OOI/discussions\n//__________________________________________________________________________________________________\n\nusing System.Diagnostics.Tracing;\n\nnamespace UAOOI.Common.Infrastructure.Diagnostic\n{\n  /// <summary>\n  /// Interface IEventSourceProvider - if implemented returns an instance of <see cref=\"EventSource\"/> to be registered by the logging infrastructure.\n  /// </summary>\n  public interface IEventSourceProvider\n  {\n    /// <summary>\n    /// Gets the part event source.\n    /// </summary>\n    /// <returns>Returns an instance of <see cref=\"EventSource\"/>.</returns>\n    EventSource GetPartEventSource();\n  }\n}"
  },
  {
    "path": "Common/Infrastructure/Diagnostic/ITraceSource.cs",
    "content": "﻿//__________________________________________________________________________________________________\n//\n//  Copyright (C) 2021, Mariusz Postol LODZ POLAND.\n//\n//  To be in touch join the community at GitHub: https://github.com/mpostol/OPC-UA-OOI/discussions\n//__________________________________________________________________________________________________\n\nusing System.Diagnostics;\n\nnamespace UAOOI.Common.Infrastructure.Diagnostic\n{\n  /// <summary>\n  /// Interface ITraceSource - defines trace source.\n  /// </summary>\n  public interface ITraceSource\n  {\n    /// <summary>\n    /// Writes trace data to the trace listeners in the <see cref=\"System.Diagnostics.TraceSource.Listeners\"/> collection using the specified <paramref name=\"eventType\"/>,\n    /// event identifier <paramref name=\"id\"/>, and trace <paramref name=\"data\"/>.\n    /// </summary>\n    /// <param name=\"eventType\">One of the enumeration values that specifies the event type of the trace data.</param>\n    /// <param name=\"id\">A numeric identifier for the event.</param>\n    /// <param name=\"data\">The trace data.</param>\n    /// <exception cref=\"System.ObjectDisposedException\">\n    /// An attempt was made to trace an event during finalization.\n    /// </exception>\n    void TraceData(TraceEventType eventType, int id, object data);\n  }\n}"
  },
  {
    "path": "Common/Infrastructure/Diagnostic/TraceSourceBase.cs",
    "content": "﻿//__________________________________________________________________________________________________\n//\n//  Copyright (C) 2021, Mariusz Postol LODZ POLAND.\n//\n//  To be in touch join the community at GitHub: https://github.com/mpostol/OPC-UA-OOI/discussions\n//__________________________________________________________________________________________________\n\nusing System;\nusing System.Diagnostics;\n\nnamespace UAOOI.Common.Infrastructure.Diagnostic\n{\n  /// <summary>\n  /// Class TraceSourceBase - default implementation of the <see cref=\"ITraceSource\"/>\n  /// </summary>\n  public class TraceSourceBase : ITraceSource\n  {\n    /// <summary>\n    /// Initializes a new instance of the <see cref=\"TraceSourceBase\"/> class provider of a named <see cref=\"ITraceSource\"/>.\n    /// </summary>\n    /// <param name=\"TraceSourceName\">Name of the <see cref=\"TraceSource\"/>.</param>\n    public TraceSourceBase(string TraceSourceName)\n    {\n      m_TraceEventInternal = new Lazy<TraceSource>(() => new TraceSource(TraceSourceName));\n    }\n\n    /// <summary>\n    /// Initializes a new instance of the <see cref=\"TraceSourceBase\"/> class provider of a default <see cref=\"ITraceSource\"/>.\n    /// </summary>\n    public TraceSourceBase() : this(\"UAOOI.Common\")\n    {\n    }\n\n    /// <summary>\n    /// Writes trace data to the trace listeners in the <see cref=\"TraceSource.Listeners\" /> collection using the specified <paramref name=\"eventType\" />,\n    /// event identifier <paramref name=\"id\" />, and trace <paramref name=\"data\" />.\n    /// </summary>\n    /// <param name=\"eventType\">One of the enumeration values <see cref=\"TraceEventType\"/> that specifies the event type of the trace data.</param>\n    /// <param name=\"id\">A numeric identifier for the event.</param>\n    /// <param name=\"data\">The trace data.</param>\n    public virtual void TraceData(TraceEventType eventType, int id, object data)\n    {\n      m_TraceEventInternal.Value.TraceData(eventType, id, data);\n    }\n\n    /// <summary>\n    /// Gets the trace source instance.\n    /// </summary>\n    /// <value>The trace source instance of type <see cref=\"TraceSource\"/>.</value>\n    public TraceSource TraceSource => m_TraceEventInternal.Value;\n\n    private Lazy<TraceSource> m_TraceEventInternal = null;\n  }\n}"
  },
  {
    "path": "Common/Infrastructure/README.md",
    "content": "# Common Infrastructure \n\n> NOTE The rest of document is just hidden template.\n\n<!--\n## Getting Started\n\nThese instructions will get you a copy of the project up and running on your local machine for development and testing purposes. See deployment for notes on how to deploy the project on a live system.\n\n# TBD \n\n\n\n### Prerequisites\n\nWhat things you need to install the software and how to install them\n\n```\nGive examples\n```\n\n### Installing\n\nA step by step series of examples that tell you how to get a development env running\n\nSay what the step will be\n\n```\nGive the example\n```\n\nAnd repeat\n\n```\nuntil finished\n```\n\nEnd with an example of getting some data out of the system or using it for a little demo\n\n## Running the tests\n\nExplain how to run the automated tests for this system\n\n### Break down into end to end tests\n\nExplain what these tests test and why\n\n```\nGive an example\n```\n\n### And coding style tests\n\nExplain what these tests test and why\n\n```\nGive an example\n```\n\n## Deployment\n\nAdd additional notes about how to deploy this on a live system\n\n## Built With\n\n* [Dropwizard](http://www.dropwizard.io/1.0.2/docs/) - The web framework used\n* [Maven](https://maven.apache.org/) - Dependency Management\n* [ROME](https://rometools.github.io/rome/) - Used to generate RSS Feeds\n\n## Contributing\n\nPlease read [CONTRIBUTING.md](https://gist.github.com/PurpleBooth/b24679402957c63ec426) for details on our code of conduct, and the process for submitting pull requests to us.\n\n## Versioning\n\nWe use [SemVer](http://semver.org/) for versioning. For the versions available, see the [tags on this repository](https://github.com/your/project/tags). \n\n## Authors\n\n* **Billie Thompson** - *Initial work* - [PurpleBooth](https://github.com/PurpleBooth)\n\nSee also the list of [contributors](https://github.com/your/project/contributors) who participated in this project.\n\n## License\n\nThis project is licensed under the MIT License - see the [LICENSE.md](LICENSE.md) file for details\n\n## Acknowledgments\n\n* Hat tip to anyone whose code was used\n* Inspiration\n* etc\n-->\n\n"
  },
  {
    "path": "Common/Infrastructure/Serializers/INamespaces.cs",
    "content": "﻿//__________________________________________________________________________________________________\n//\n//  Copyright (C) 2021, Mariusz Postol LODZ POLAND.\n//\n//  To be in touch join the community at GitHub: https://github.com/mpostol/OPC-UA-OOI/discussions\n//__________________________________________________________________________________________________\n\nusing System.Collections.Generic;\nusing System.Xml;\n\nnamespace UAOOI.Common.Infrastructure.Serializers\n{\n  /// <summary>\n  /// Interface INamespaces - define functionality necessary to manage namespaces for the XML serialization\n  /// </summary>\n  public interface INamespaces\n  {\n    /// <summary>\n    /// Gets the namespaces that is to be used to parametrize XML document.\n    /// </summary>\n    /// <returns>An instance of IEnumerable[XmlQualifiedName] containing the XML namespaces and prefixes that a serializer uses to generate qualified names in an XML-document instance.</returns>\n    IEnumerable<XmlQualifiedName> GetNamespaces();\n  }\n}"
  },
  {
    "path": "Common/Infrastructure/Serializers/IStylesheetNameProvider.cs",
    "content": "﻿//____________________________________________________________________________\n//\n//  Copyright (C) 2021, Mariusz Postol LODZ POLAND.\n//\n//  To be in touch join the community at GITTER: https://gitter.im/mpostol/TP\n//____________________________________________________________________________\n\nnamespace UAOOI.Common.Infrastructure.Serializers\n{\n  /// <summary>\n  /// Represents XML file style sheet name provider\n  /// </summary>\n  public interface IStylesheetNameProvider\n  {\n    /// <summary>\n    /// The style sheet name\n    /// </summary>\n    string StylesheetName { get; }\n  }\n}"
  },
  {
    "path": "Common/Infrastructure/Serializers/XmlFile.cs",
    "content": "﻿//__________________________________________________________________________________________________\n//\n//  Copyright (C) 2021, Mariusz Postol LODZ POLAND.\n//\n//  To be in touch join the community at GitHub: https://github.com/mpostol/OPC-UA-OOI/discussions\n//__________________________________________________________________________________________________\n\nusing System;\nusing System.IO;\nusing System.Linq;\nusing System.Xml;\nusing System.Xml.Serialization;\n\nnamespace UAOOI.Common.Infrastructure.Serializers\n{\n  /// <summary>\n  /// Provides static methods for serialization objects into XML documents and writing the XML document to a file.\n  /// </summary>\n  public static class XmlFile\n  {\n    #region public\n\n    /// <summary>\n    /// Serializes the specified <paramref name=\"dataObject\"/> and writes the XML document to a file.\n    /// </summary>\n    /// <typeparam name=\"type\">The type of the root object to be serialized and saved in the file.</typeparam>\n    /// <param name=\"dataObject\">The object containing working data to be serialized and saved in the file.</param>\n    /// <param name=\"path\">A relative or absolute path for the file containing the serialized object.</param>\n    /// <param name=\"mode\">Specifies how the operating system should open a file <see cref=\"FileMode\"/>.</param>\n    /// <param name=\"stylesheetName\">Name of the stylesheet document.</param>\n    /// <exception cref=\"System.ArgumentNullException\">\n    /// path\n    /// or\n    /// dataObject\n    /// or\n    /// stylesheetName\n    /// </exception>\n    public static void WriteXmlFile<type>(type dataObject, string path, FileMode mode, string stylesheetName)\n      where type : INamespaces\n    {\n      if (string.IsNullOrEmpty(path))\n        throw new ArgumentNullException(nameof(path));\n      if (dataObject == null)\n        throw new ArgumentNullException(nameof(dataObject));\n      XmlSerializer _xmlSerializer = new XmlSerializer(typeof(type));\n      XmlSerializerNamespaces namespaces = new XmlSerializerNamespaces(dataObject.GetNamespaces().ToArray<XmlQualifiedName>());\n      XmlWriterSettings _setting = new XmlWriterSettings()\n      {\n        Indent = true,\n        IndentChars = \"  \",\n        NewLineChars = \"\\r\\n\"\n      };\n      using (FileStream _docStream = new FileStream(path, mode, FileAccess.Write))\n      {\n        XmlWriter _writer = XmlWriter.Create(_docStream, _setting);\n        if (!string.IsNullOrEmpty(stylesheetName))\n          _writer.WriteProcessingInstruction(\"xml-stylesheet\", \"type=\\\"text/xsl\\\" \" + string.Format(\"href=\\\"{0}\\\"\", stylesheetName));\n        _xmlSerializer.Serialize(_writer, dataObject, namespaces);\n      }\n    }\n\n    /// <summary>\n    /// Serializes the specified <paramref name=\"dataObject\"/> and writes the XML document to a file.\n    /// </summary>\n    /// <typeparam name=\"type\">The type of the object to be serialized and saved in the file.</typeparam>\n    /// <param name=\"dataObject\">The object containing working data to be serialized and saved in the file.</param>\n    /// <param name=\"path\">A relative or absolute path for the file containing the serialized object.</param>\n    /// <param name=\"mode\">Specifies how the operating system should open a file.</param>\n    public static void WriteXmlFile<type>(type dataObject, string path, FileMode mode)\n      where type : IStylesheetNameProvider, INamespaces\n    {\n      WriteXmlFile(dataObject, path, mode, dataObject.StylesheetName);\n    }\n\n    /// <summary>\n    /// Reads an XML document from the file <paramref name=\"path\"/> and deserializes its content to returned object.\n    /// </summary>\n    /// <typeparam name=\"type\">The type of the object to be deserialized.</typeparam>\n    /// <param name=\"path\">A relative or absolute path for the file containing the serialized object.</param>\n    /// <returns>An object containing working data retrieved from an XML file.</returns>\n    /// <exception cref=\"ArgumentNullException\"> path is null or empty</exception>\n    public static type ReadXmlFile<type>(string path)\n    {\n      if (string.IsNullOrEmpty(path))\n        throw new ArgumentNullException(nameof(path));\n      using (FileStream _docStream = new FileStream(path, FileMode.Open))\n        return ReadXmlFile<type>(_docStream);\n    }\n\n    /// <summary>\n    /// Reads an XML document from the <paramref name=\"reader\"/> and deserializes its content to returned object.\n    /// </summary>\n    /// <typeparam name=\"type\">The type of the object to be deserialized.</typeparam>\n    /// <param name=\"reader\">The source of the stream to be deserialized.</param>\n    /// <returns>An object of type <typeparamref name=\"type\"/> containing working data retrieved from an XML stream..</returns>\n    public static type ReadXmlFile<type>(Stream reader)\n    {\n      type _content = default(type);\n      XmlSerializer _xmlSerializer = new XmlSerializer(typeof(type));\n      using (XmlReader xmlReader = XmlReader.Create(reader))\n        _content = (type)_xmlSerializer.Deserialize(xmlReader);\n      return _content;\n    }\n\n    #endregion public\n  }\n}"
  },
  {
    "path": "Common/README.md",
    "content": "# Content\n\nThis workspace provides API for common infrastructure management functionality aimed at Object Oriented Internet application deployment.\n\n"
  },
  {
    "path": "Common/Tests/InfrastructureUnitTest/App.config",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<configuration>\n  <system.diagnostics>\n    <sources>\n      <source name=\"UAOOI.Common\" switchValue=\"All\" switchType=\"System.Diagnostics.SourceSwitch\">\n        <listeners>\n          <add name=\"LogFile\" />\n          <remove name=\"Default\" />\n        </listeners>\n      </source>\n    </sources>\n    <sharedListeners>\n      <add name=\"LogFile\" type=\"System.Diagnostics.DelimitedListTraceListener\" initializeData=\"UAOOI.Common.log\" traceOutputOptions=\"DateTime\">\n        <filter type=\"System.Diagnostics.EventTypeFilter\" initializeData=\"All\" />\n      </add>\n    </sharedListeners>\n    <trace autoflush=\"true\" />\n  </system.diagnostics>\n  <startup>\n    <supportedRuntime version=\"v4.0\" sku=\".NETFramework,Version=v4.7.2\" />\n  </startup>\n</configuration>"
  },
  {
    "path": "Common/Tests/InfrastructureUnitTest/Common.Infrastructure.UnitTest.csproj",
    "content": "﻿<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<Project ToolsVersion=\"14.0\" DefaultTargets=\"Build\" xmlns=\"http://schemas.microsoft.com/developer/msbuild/2003\">\n  <PropertyGroup>\n    <Configuration Condition=\" '$(Configuration)' == '' \">Debug</Configuration>\n    <Platform Condition=\" '$(Platform)' == '' \">AnyCPU</Platform>\n    <ProjectGuid>{C5F00673-1BDE-45A7-826B-C7E8F517398C}</ProjectGuid>\n    <OutputType>Library</OutputType>\n    <AppDesignerFolder>Properties</AppDesignerFolder>\n    <RootNamespace>UAOOI.Common.Infrastructure.UnitTest</RootNamespace>\n    <AssemblyName>UAOOI.Common.Infrastructure.UnitTest</AssemblyName>\n    <TargetFrameworkVersion>v4.7.2</TargetFrameworkVersion>\n    <FileAlignment>512</FileAlignment>\n    <ProjectTypeGuids>{3AC096D0-A1C2-E12C-1390-A8335801FDAB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>\n    <VisualStudioVersion Condition=\"'$(VisualStudioVersion)' == ''\">10.0</VisualStudioVersion>\n    <VSToolsPath Condition=\"'$(VSToolsPath)' == ''\">$(MSBuildExtensionsPath32)\\Microsoft\\VisualStudio\\v$(VisualStudioVersion)</VSToolsPath>\n    <ReferencePath>$(ProgramFiles)\\Common Files\\microsoft shared\\VSTT\\$(VisualStudioVersion)\\UITestExtensionPackages</ReferencePath>\n    <IsCodedUITest>False</IsCodedUITest>\n    <TestProjectType>UnitTest</TestProjectType>\n    <TargetFrameworkProfile />\n  </PropertyGroup>\n  <PropertyGroup Condition=\" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' \">\n    <DebugSymbols>true</DebugSymbols>\n    <DebugType>full</DebugType>\n    <Optimize>false</Optimize>\n    <OutputPath>bin\\Debug\\</OutputPath>\n    <DefineConstants>DEBUG;TRACE</DefineConstants>\n    <ErrorReport>prompt</ErrorReport>\n    <WarningLevel>4</WarningLevel>\n  </PropertyGroup>\n  <PropertyGroup Condition=\" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' \">\n    <DebugType>pdbonly</DebugType>\n    <Optimize>true</Optimize>\n    <OutputPath>bin\\Release\\</OutputPath>\n    <DefineConstants>TRACE</DefineConstants>\n    <ErrorReport>prompt</ErrorReport>\n    <WarningLevel>4</WarningLevel>\n  </PropertyGroup>\n  <PropertyGroup>\n    <SignAssembly>true</SignAssembly>\n  </PropertyGroup>\n  <ItemGroup>\n    <Reference Include=\"System\" />\n    <Reference Include=\"System.Diagnostics.TraceSource, Version=4.0.1.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL\">\n      <HintPath>..\\..\\..\\packages\\System.Diagnostics.TraceSource.4.3.0\\lib\\net46\\System.Diagnostics.TraceSource.dll</HintPath>\n    </Reference>\n  </ItemGroup>\n  <Choose>\n    <When Condition=\"('$(VisualStudioVersion)' == '10.0' or '$(VisualStudioVersion)' == '') and '$(TargetFrameworkVersion)' == 'v3.5'\">\n      <ItemGroup>\n        <Reference Include=\"Microsoft.VisualStudio.QualityTools.UnitTestFramework, Version=10.1.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL\" />\n      </ItemGroup>\n    </When>\n    <Otherwise>\n      <ItemGroup>\n        <Reference Include=\"Microsoft.VisualStudio.QualityTools.UnitTestFramework\">\n          <Private>False</Private>\n        </Reference>\n      </ItemGroup>\n    </Otherwise>\n  </Choose>\n  <ItemGroup>\n    <Compile Include=\"Instrumentation\\Extensions.cs\" />\n    <Compile Include=\"Properties\\AssemblyInfo.cs\" />\n    <Compile Include=\"TraceSourceBaseUnitTest.cs\" />\n  </ItemGroup>\n  <ItemGroup>\n    <ProjectReference Include=\"..\\..\\Infrastructure\\Common.Infrastructure.csproj\">\n      <Project>{8817a671-abb8-463a-a8a3-ddcfe781a6b6}</Project>\n      <Name>Common.Infrastructure</Name>\n    </ProjectReference>\n  </ItemGroup>\n  <ItemGroup>\n    <None Include=\"App.config\" />\n    <None Include=\"packages.config\" />\n  </ItemGroup>\n  <Choose>\n    <When Condition=\"'$(VisualStudioVersion)' == '10.0' And '$(IsCodedUITest)' == 'True'\">\n      <ItemGroup>\n        <Reference Include=\"Microsoft.VisualStudio.QualityTools.CodedUITestFramework, Version=10.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL\">\n          <Private>False</Private>\n        </Reference>\n        <Reference Include=\"Microsoft.VisualStudio.TestTools.UITest.Common, Version=10.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL\">\n          <Private>False</Private>\n        </Reference>\n        <Reference Include=\"Microsoft.VisualStudio.TestTools.UITest.Extension, Version=10.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL\">\n          <Private>False</Private>\n        </Reference>\n        <Reference Include=\"Microsoft.VisualStudio.TestTools.UITesting, Version=10.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL\">\n          <Private>False</Private>\n        </Reference>\n      </ItemGroup>\n    </When>\n  </Choose>\n  <Import Project=\"$(VSToolsPath)\\TeamTest\\Microsoft.TestTools.targets\" Condition=\"Exists('$(VSToolsPath)\\TeamTest\\Microsoft.TestTools.targets')\" />\n  <Import Project=\"$(MSBuildToolsPath)\\Microsoft.CSharp.targets\" />\n  <!-- To modify your build process, add your task inside one of the targets below and uncomment it. \n       Other similar extension points exist, see Microsoft.Common.targets.\n  <Target Name=\"BeforeBuild\">\n  </Target>\n  <Target Name=\"AfterBuild\">\n  </Target>\n  -->\n</Project>"
  },
  {
    "path": "Common/Tests/InfrastructureUnitTest/Instrumentation/Extensions.cs",
    "content": "﻿\nusing Microsoft.VisualStudio.TestTools.UnitTesting;\nusing System.Diagnostics;\nusing System.Reflection;\n\nnamespace UAOOI.Common.Infrastructure.UnitTest.Instrumentation\n{\n  internal static class Extensions\n  {\n\n    internal static string GetFileName(this DelimitedListTraceListener _listener)\n    {\n      FieldInfo fi = typeof(TextWriterTraceListener).GetField(\"fileName\", BindingFlags.NonPublic | BindingFlags.Instance);\n      Assert.IsNotNull(fi);\n      return (string)fi.GetValue(_listener);\n    }\n\n  }\n}\n"
  },
  {
    "path": "Common/Tests/InfrastructureUnitTest/Properties/AssemblyInfo.cs",
    "content": "﻿//___________________________________________________________________________________\n//\n//  Copyright (C) 2019, Mariusz Postol LODZ POLAND.\n//\n//  To be in touch join the community at GITTER: https://gitter.im/mpostol/OPC-UA-OOI\n//___________________________________________________________________________________\n\nusing System.Reflection;\nusing System.Runtime.CompilerServices;\nusing System.Runtime.InteropServices;\n\n[assembly: AssemblyTitle(\"Infrastructure Unit Test\")]\n[assembly: AssemblyDescription(\"Infrastructure Unit Test\")]\n[assembly: AssemblyConfiguration(\"\")]\n[assembly: AssemblyCompany(\"commsvr.com\")]\n[assembly: AssemblyProduct(\"InfrastructureUnitTest\")]\n[assembly: AssemblyCopyright(\"Copyright ©  2016\")]\n[assembly: AssemblyTrademark(\"UA Object Oriented Internet\")]\n[assembly: AssemblyCulture(\"\")]\n[assembly: ComVisible(false)]\n[assembly: Guid(\"c5f00673-1bde-45a7-826b-c7e8f517398c\")]\n[assembly: AssemblyVersion(\"4.0.1.*\")]\n[assembly: AssemblyFileVersion(\"4.0.1.0\")]\n"
  },
  {
    "path": "Common/Tests/InfrastructureUnitTest/TraceSourceBaseUnitTest.cs",
    "content": "﻿//__________________________________________________________________________________________________\n//\n//  Copyright (C) 2021, Mariusz Postol LODZ POLAND.\n//\n//  To be in touch join the community at GitHub: https://github.com/mpostol/OPC-UA-OOI/discussions\n//__________________________________________________________________________________________________\n\nusing Microsoft.VisualStudio.TestTools.UnitTesting;\nusing System.Collections.Generic;\nusing System.Diagnostics;\nusing System.IO;\nusing System.Linq;\nusing System.Reflection;\nusing UAOOI.Common.Infrastructure.Diagnostic;\nusing UAOOI.Common.Infrastructure.UnitTest.Instrumentation;\n\nnamespace UAOOI.Common.Infrastructure.UnitTest\n{\n  [TestClass]\n  public class TraceSourceBaseUnitTest\n  {\n    [TestMethod]\n    public void ConstructorStateTestMethod()\n    {\n      TraceSourceBase _trace = new TraceSourceBase();\n      _trace.TraceData(TraceEventType.Critical, 0, \"Message\");\n    }\n\n    [TestMethod]\n    public void AssemblyTraceEventTestMethod()\n    {\n      TraceSourceBase _tracer = new TraceSourceBase();\n      Assert.AreEqual<string>(\"UAOOI.Common\", _tracer.TraceSource.Name, $\"Actual tracer name: {_tracer.TraceSource.Name}\");\n      Assert.AreEqual(1, _tracer.TraceSource.Listeners.Count);\n      Dictionary<string, TraceListener> _listeners = _tracer.TraceSource.Listeners.Cast<TraceListener>().ToDictionary<TraceListener, string>(x => x.Name);\n      Assert.IsTrue(_listeners.ContainsKey(\"LogFile\"));\n      TraceListener _listener = _listeners[\"LogFile\"];\n      Assert.IsNotNull(_listener);\n      Assert.IsInstanceOfType(_listener, typeof(DelimitedListTraceListener));\n      DelimitedListTraceListener _advancedListener = _listener as DelimitedListTraceListener;\n      Assert.IsNotNull(_advancedListener.Filter);\n      Assert.IsInstanceOfType(_advancedListener.Filter, typeof(EventTypeFilter));\n      EventTypeFilter _eventTypeFilter = _advancedListener.Filter as EventTypeFilter;\n      Assert.AreEqual(SourceLevels.All, _eventTypeFilter.EventType);\n      string _testPath = Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location);\n      Assert.AreEqual<string>(Path.Combine(_testPath, @\"UAOOI.Common.log\"), _advancedListener.GetFileName());\n    }\n\n    [TestMethod]\n    public void LogFileExistsTest()\n    {\n      TraceSourceBase _tracer = new TraceSourceBase();\n      TraceListener _listener = _tracer.TraceSource.Listeners.Cast<TraceListener>().Where<TraceListener>(x => x.Name == \"LogFile\").First<TraceListener>();\n      Assert.IsNotNull(_listener);\n      DelimitedListTraceListener _advancedListener = _listener as DelimitedListTraceListener;\n      Assert.IsNotNull(_advancedListener);\n      Assert.IsFalse(string.IsNullOrEmpty(_advancedListener.GetFileName()));\n      FileInfo _logFileInfo = new FileInfo(_advancedListener.GetFileName());\n      long _startLength = _logFileInfo.Exists ? _logFileInfo.Length : 0;\n      _tracer.TraceSource.TraceEvent(TraceEventType.Information, 0, \"LogFileExistsTest is executed\");\n      Assert.IsFalse(string.IsNullOrEmpty(_advancedListener.GetFileName()));\n      _logFileInfo.Refresh();\n      Assert.IsTrue(_logFileInfo.Exists);\n      Assert.IsTrue(_logFileInfo.Length > _startLength);\n    }\n  }\n}"
  },
  {
    "path": "Common/Tests/InfrastructureUnitTest/packages.config",
    "content": "﻿<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<packages>\n  <package id=\"System.Diagnostics.TraceSource\" version=\"4.3.0\" targetFramework=\"net461\" />\n</packages>"
  },
  {
    "path": "Common.playlist",
    "content": "<Playlist Version=\"1.0\"><Add Test=\"UAOOI.Common.Infrastructure.UnitTest.TraceSourceBaseUnitTest.CreationStateTestMethod\" /><Add Test=\"UAOOI.Common.Infrastructure.UnitTest.TraceSourceBaseUnitTest.LogFileExistsTest\" /><Add Test=\"UAOOI.Common.Infrastructure.UnitTest.TraceSourceBaseUnitTest.AssemblyTraceEventTestMethod\" /></Playlist>"
  },
  {
    "path": "CommonResources/ModelingProject/Configuration.dgml",
    "content": "﻿<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<DirectedGraph DataVirtualized=\"True\" Layout=\"Sugiyama\" ZoomLevel=\"-1\" xmlns=\"http://schemas.microsoft.com/vs/2009/dgml\">\n  <Nodes>\n    <Node Id=\"(@1 @2 @12 Member=.ctor)\" Category=\"CodeSchema_Method\" Bounds=\"177.666829969616,-156.606671186876,206.306666666667,25.96\" CodeSchemaProperty_IsConstructor=\"True\" CodeSchemaProperty_IsPublic=\"True\" CodeSchemaProperty_IsSpecialName=\"True\" DelayedCrossGroupLinksState=\"Fetched\" Label=\"MessageTransportConfiguration\" UseManualLocation=\"True\" />\n    <Node Id=\"(@1 @2 @12 Member=Associations)\" Category=\"CodeSchema_Property\" Bounds=\"297.812558090331,-100.646671186876,123.849061454048,25\" CodeSchemaProperty_IsPublic=\"True\" DelayedChildNodesState=\"NotFetched\" DelayedCrossGroupLinksState=\"Fetched\" Group=\"Collapsed\" Label=\"Associations\" UseManualLocation=\"True\" />\n    <Node Id=\"(@1 @2 @12 Member=Configuration)\" Category=\"CodeSchema_Property\" Bounds=\"177.666829969616,-45.6466711868756,131.292394787382,25\" CodeSchemaProperty_IsPublic=\"True\" DelayedChildNodesState=\"NotFetched\" DelayedCrossGroupLinksState=\"Fetched\" Group=\"Collapsed\" Label=\"Configuration\" UseManualLocation=\"True\" />\n    <Node Id=\"(@1 @2 @12 Member=Name)\" Category=\"CodeSchema_Property\" Bounds=\"177.666829969616,-100.646671186876,90.1457281207149,25\" CodeSchemaProperty_IsPublic=\"True\" DelayedChildNodesState=\"NotFetched\" DelayedCrossGroupLinksState=\"Fetched\" Group=\"Collapsed\" Label=\"Name\" UseManualLocation=\"True\" />\n    <Node Id=\"(@1 Namespace=UAOOI.SemanticData.DataManagement.DataRepository Type=IConsumerBinding Member=(Name=Assign2Repository OverloadingParameters=[(@14 Namespace=System Type=Object)]))\" Category=\"CodeSchema_Method\" Bounds=\"-53.7902369155593,116.954064610708,133.773333333333,25.96\" CodeSchemaProperty_IsAbstract=\"True\" CodeSchemaProperty_IsPublic=\"True\" CodeSchemaProperty_IsVirtual=\"True\" DelayedCrossGroupLinksState=\"Fetched\" Label=\"Assign2Repository\" UseManualLocation=\"True\" />\n    <Node Id=\"@10\" Category=\"CodeSchema_Interface\" Bounds=\"17.4107478259954,40.4822333836079,152.043333333333,25\" CodeSchemaProperty_IsAbstract=\"True\" CodeSchemaProperty_IsPublic=\"True\" DelayedChildNodesState=\"Fetched\" DelayedCrossGroupLinksState=\"Fetched\" FetchedChildrenCount=\"1\" Group=\"Collapsed\" Label=\"IEncodingFactory\" UseManualLocation=\"True\" />\n    <Node Id=\"@11\" Category=\"CodeSchema_Interface\" Bounds=\"-317.15385506724,98.0180747929304,152.373333333333,25\" CodeSchemaProperty_IsAbstract=\"True\" CodeSchemaProperty_IsPublic=\"True\" DelayedChildNodesState=\"NotFetched\" DelayedCrossGroupLinksState=\"Fetched\" Group=\"Collapsed\" Label=\"IProducerBinding\" UseManualLocation=\"True\" />\n    <Node Id=\"@13\" Category=\"CodeSchema_Class\" Bounds=\"150.367007323327,-80.282789836359,231.306666666667,25\" CodeSchemaProperty_IsPublic=\"True\" DelayedChildNodesState=\"Fetched\" DelayedCrossGroupLinksState=\"Fetched\" FetchedChildrenCount=\"5\" Group=\"Collapsed\" Label=\"MessageTransportConfiguration\" UseManualLocation=\"True\" />\n    <Node Id=\"@15\" Category=\"CodeSchema_Method\" Bounds=\"18.0639427531287,60.5683463365882,156.31,25.96\" CodeSchemaProperty_IsAbstract=\"True\" CodeSchemaProperty_IsPublic=\"True\" CodeSchemaProperty_IsVirtual=\"True\" DelayedCrossGroupLinksState=\"Fetched\" Label=\"UpdateValueConverter\" UseManualLocation=\"True\" />\n    <Node Id=\"@16\" Category=\"CodeSchema_Property\" Bounds=\"338.959224756997,-45.6466711868756,132.612394787382,25\" CodeSchemaProperty_IsPublic=\"True\" DelayedChildNodesState=\"NotFetched\" DelayedCrossGroupLinksState=\"Fetched\" Group=\"Collapsed\" Label=\"TransportRole\" UseManualLocation=\"True\" />\n    <Node Id=\"@3\" Category=\"CodeSchema_Enum\" Bounds=\"92.8765233259786,-24.2828394031589,140.696666666667,25\" CodeSchemaProperty_IsFinal=\"True\" CodeSchemaProperty_IsPublic=\"True\" DelayedChildNodesState=\"NotFetched\" DelayedCrossGroupLinksState=\"Fetched\" Group=\"Collapsed\" Label=\"AssociationRole\" UseManualLocation=\"True\" />\n    <Node Id=\"@4\" Category=\"CodeSchema_Class\" Bounds=\"63.7881222029606,-135.282889836359,158.536666666667,25\" CodeSchemaProperty_IsPublic=\"True\" CommonLabel=\"ConfigurationData\" DelayedChildNodesState=\"NotFetched\" DelayedCrossGroupLinksState=\"Fetched\" Group=\"Collapsed\" Icon=\"CodeSchema_Class\" Label=\"ConfigurationData\" SourceLocation=\"(Assembly=file:///C:/VS/Projects/OPC-UA-OOI/SemanticDataSolution/DataManagement/Configuration/ConfigurationData.cs StartLineNumber=8 StartCharacterOffset=23 EndLineNumber=8 EndCharacterOffset=40)\" UseManualLocation=\"True\" />\n    <Node Id=\"@5\" Category=\"CodeSchema_Class\" Bounds=\"-166.553576674021,-20.2142045024083,203.43,25\" CodeSchemaProperty_IsPublic=\"True\" DelayedChildNodesState=\"NotFetched\" DelayedCrossGroupLinksState=\"Fetched\" Group=\"Collapsed\" Label=\"DataMemberConfiguration\" UseManualLocation=\"True\" />\n    <Node Id=\"@6\" Category=\"CodeSchema_Class\" Bounds=\"-54.8863260100058,-79.2828396919589,175.253333333333,25\" CodeSchemaProperty_IsPublic=\"True\" DelayedChildNodesState=\"NotFetched\" DelayedCrossGroupLinksState=\"Fetched\" Group=\"Collapsed\" Label=\"DataSetConfiguration\" UseManualLocation=\"True\" />\n    <Node Id=\"@8\" Category=\"CodeSchema_Interface\" Bounds=\"-173.805900124922,43.0179747929304,143.186666666667,25\" CodeSchemaProperty_IsAbstract=\"True\" CodeSchemaProperty_IsPublic=\"True\" DelayedChildNodesState=\"NotFetched\" DelayedCrossGroupLinksState=\"Fetched\" Group=\"Collapsed\" Label=\"IBindingFactory\" UseManualLocation=\"True\" />\n    <Node Id=\"@9\" Category=\"CodeSchema_Interface\" Bounds=\"-50.804875091235,98.0180747929304,158.523050666667,25.01219204\" CodeSchemaProperty_IsAbstract=\"True\" CodeSchemaProperty_IsPublic=\"True\" DelayedChildNodesState=\"Fetched\" DelayedCrossGroupLinksState=\"Fetched\" FetchedChildrenCount=\"1\" Group=\"Collapsed\" Label=\"IConsumerBinding\" UseManualLocation=\"True\" />\n  </Nodes>\n  <Links>\n    <Link Source=\"@10\" Target=\"@15\" Category=\"Contains\" FetchingParent=\"@10\" />\n    <Link Source=\"@13\" Target=\"(@1 @2 @12 Member=.ctor)\" Category=\"Contains\" FetchingParent=\"@13\" />\n    <Link Source=\"@13\" Target=\"(@1 @2 @12 Member=Associations)\" Category=\"Contains\" FetchingParent=\"@13\" />\n    <Link Source=\"@13\" Target=\"(@1 @2 @12 Member=Configuration)\" Category=\"Contains\" FetchingParent=\"@13\" />\n    <Link Source=\"@13\" Target=\"(@1 @2 @12 Member=Name)\" Category=\"Contains\" FetchingParent=\"@13\" />\n    <Link Source=\"@13\" Target=\"@16\" Category=\"Contains\" FetchingParent=\"@13\" />\n    <Link Source=\"@16\" Target=\"@3\" Category=\"References\" IsSourceVirtualized=\"True\" Weight=\"4\">\n      <Category Ref=\"CodeSchema_ReturnTypeLink\" />\n    </Link>\n    <Link Source=\"@4\" Target=\"@13\" Category=\"References\" Bounds=\"171.00274225222,-110.282889836359,58.8556969121344,26.3253654727027\" IsSourceVirtualized=\"True\" Weight=\"4\">\n      <Category Ref=\"CodeSchema_ReturnTypeLink\" />\n    </Link>\n    <Link Source=\"@4\" Target=\"@6\" Category=\"References\" Bounds=\"65.3896459012492,-110.282889836359,53.0426988987206,26.9262002325199\" IsSourceVirtualized=\"True\" Weight=\"4\">\n      <Category Ref=\"CodeSchema_ReturnTypeLink\" />\n    </Link>\n    <Link Source=\"@5\" Target=\"@10\" Category=\"References\" IsSourceVirtualized=\"True\" Weight=\"2\" />\n    <Link Source=\"@5\" Target=\"@11\" Category=\"CodeSchema_ReturnTypeLink\" Bounds=\"-226.457122802734,4.78579568862915,124.94751739502,85.978883266449\" IsSourceVirtualized=\"True\" Weight=\"1\" />\n    <Link Source=\"@5\" Target=\"@15\" Category=\"CodeSchema_Calls\" IsSourceVirtualized=\"True\" Weight=\"2\" />\n    <Link Source=\"@5\" Target=\"@8\" Category=\"References\" Bounds=\"-90.2448926759265,4.78579549759166,18.0180703068206,30.4843515132566\" IsSourceVirtualized=\"True\" IsTargetVirtualized=\"True\" Weight=\"4\">\n      <Category Ref=\"CodeSchema_Calls\" />\n    </Link>\n    <Link Source=\"@5\" Target=\"@9\" Category=\"CodeSchema_ReturnTypeLink\" Bounds=\"-54.9755323507102,4.78579549759166,67.9894020586785,86.1668565885711\" IsSourceVirtualized=\"True\" Weight=\"1\" />\n    <Link Source=\"@6\" Target=\"@3\" Category=\"References\" Bounds=\"62.3959123197265,-54.2828396919589,62.8799995123438,26.5042941284189\" IsSourceVirtualized=\"True\" Weight=\"4\">\n      <Category Ref=\"CodeSchema_ReturnTypeLink\" />\n    </Link>\n    <Link Source=\"@6\" Target=\"@5\" Category=\"References\" Bounds=\"-36.4898677861463,-54.2828396919589,48.5807307171172,29.4079657621789\" IsSourceVirtualized=\"True\" Weight=\"4\">\n      <Category Ref=\"CodeSchema_ReturnTypeLink\" />\n    </Link>\n    <Link Source=\"@8\" Target=\"@11\" Category=\"CodeSchema_ReturnTypeLink\" Bounds=\"-201.065422312061,68.0179747929304,67.3177715822193,26.6836817820234\" IsSourceVirtualized=\"True\" Weight=\"1\" />\n    <Link Source=\"@8\" Target=\"@9\" Category=\"CodeSchema_ReturnTypeLink\" Bounds=\"-72.5183626636173,68.0179747929304,62.9713270927651,26.5082568055121\" IsSourceVirtualized=\"True\" Weight=\"1\" />\n    <Link Source=\"@9\" Target=\"(@1 Namespace=UAOOI.SemanticData.DataManagement.DataRepository Type=IConsumerBinding Member=(Name=Assign2Repository OverloadingParameters=[(@14 Namespace=System Type=Object)]))\" Category=\"Contains\" FetchingParent=\"@9\" />\n  </Links>\n  <Categories>\n    <Category Id=\"CodeSchema_Calls\" Label=\"Calls\" CanBeDataDriven=\"True\" CanLinkedNodesBeDataDriven=\"True\" IncomingActionLabel=\"Called By\" OutgoingActionLabel=\"Calls\" />\n    <Category Id=\"CodeSchema_Class\" Label=\"Class\" BasedOn=\"CodeSchema_Type\" CanBeDataDriven=\"True\" DefaultAction=\"Node:Both:CodeSchema_Member\" Icon=\"CodeSchema_Class\" NavigationActionLabel=\"Classes\" />\n    <Category Id=\"CodeSchema_Enum\" Label=\"Enum\" BasedOn=\"CodeSchema_Type\" CanBeDataDriven=\"True\" DefaultAction=\"Node:Both:CodeSchema_Member\" Icon=\"CodeSchema_Enum\" NavigationActionLabel=\"Enums\" />\n    <Category Id=\"CodeSchema_Interface\" Label=\"Interface\" BasedOn=\"CodeSchema_Type\" CanBeDataDriven=\"True\" DefaultAction=\"Node:Both:CodeSchema_Member\" Icon=\"CodeSchema_Interface\" NavigationActionLabel=\"Interfaces\" />\n    <Category Id=\"CodeSchema_Member\" Label=\"Member\" CanBeDataDriven=\"True\" DefaultAction=\"Microsoft.Contains\" Icon=\"CodeSchema_Field\" NavigationActionLabel=\"Members\" />\n    <Category Id=\"CodeSchema_Method\" Label=\"Method\" BasedOn=\"CodeSchema_Member\" CanBeDataDriven=\"True\" DefaultAction=\"Link:Forward:CodeSchema_Calls\" Icon=\"CodeSchema_Method\" NavigationActionLabel=\"Methods\" />\n    <Category Id=\"CodeSchema_Property\" Label=\"Property\" BasedOn=\"CodeSchema_Member\" CanBeDataDriven=\"True\" DefaultAction=\"Microsoft.Contains\" Icon=\"CodeSchema_Property\" NavigationActionLabel=\"Properties\" />\n    <Category Id=\"CodeSchema_ReturnTypeLink\" Label=\"Return\" CanBeDataDriven=\"True\" CanLinkedNodesBeDataDriven=\"True\" IncomingActionLabel=\"Return types\" OutgoingActionLabel=\"Return types\" />\n    <Category Id=\"CodeSchema_Type\" Label=\"Type\" CanBeDataDriven=\"True\" DefaultAction=\"Node:Both:CodeSchema_Member\" Icon=\"CodeSchema_Class\" NavigationActionLabel=\"Types\" />\n    <Category Id=\"Contains\" Label=\"Contains\" Description=\"Whether the source of the link contains the target object\" CanBeDataDriven=\"False\" CanLinkedNodesBeDataDriven=\"True\" IncomingActionLabel=\"Contained By\" IsContainment=\"True\" OutgoingActionLabel=\"Contains\" />\n    <Category Id=\"References\" Label=\"References\" CanBeDataDriven=\"True\" CanLinkedNodesBeDataDriven=\"True\" IncomingActionLabel=\"Referenced By\" OutgoingActionLabel=\"References\" />\n  </Categories>\n  <Properties>\n    <Property Id=\"Bounds\" DataType=\"System.Windows.Rect\" />\n    <Property Id=\"CanBeDataDriven\" Label=\"CanBeDataDriven\" Description=\"CanBeDataDriven\" DataType=\"System.Boolean\" />\n    <Property Id=\"CanLinkedNodesBeDataDriven\" Label=\"CanLinkedNodesBeDataDriven\" Description=\"CanLinkedNodesBeDataDriven\" DataType=\"System.Boolean\" />\n    <Property Id=\"CodeSchemaProperty_IsAbstract\" Label=\"Is Abstract\" Description=\"Flag to indicate member is 'Abstract' does not provide a full implementation\" DataType=\"System.Boolean\" />\n    <Property Id=\"CodeSchemaProperty_IsConstructor\" Label=\"Is Constructor\" Description=\"Flag to indicate the method is a constructor\" DataType=\"System.Boolean\" />\n    <Property Id=\"CodeSchemaProperty_IsFinal\" Label=\"Is Final\" Description=\"Flag to indicate the member is 'Final' and cannot be derived from\" DataType=\"System.Boolean\" />\n    <Property Id=\"CodeSchemaProperty_IsPublic\" Label=\"Is Public\" Description=\"Flag to indicate the scope is Public\" DataType=\"System.Boolean\" />\n    <Property Id=\"CodeSchemaProperty_IsSpecialName\" Label=\"Is Special Name\" Description=\"Flag to indicate the method is treated in a special way by some compilers\" DataType=\"System.Boolean\" />\n    <Property Id=\"CodeSchemaProperty_IsVirtual\" Label=\"Is Virtual\" Description=\"Flag to indicate the method can be overridden\" DataType=\"System.Boolean\" />\n    <Property Id=\"CommonLabel\" DataType=\"System.String\" />\n    <Property Id=\"DataVirtualized\" Label=\"Data Virtualized\" Description=\"If true, the graph can contain nodes and links that represent data for virtualized nodes/links (i.e. not actually created in the graph).\" DataType=\"System.Boolean\" />\n    <Property Id=\"DefaultAction\" Label=\"DefaultAction\" Description=\"DefaultAction\" DataType=\"System.String\" />\n    <Property Id=\"DelayedChildNodesState\" Label=\"Delayed Child Nodes State\" Description=\"Unspecified if the delayed child nodes state is not specified. NotFetched if the group contains child nodes that are not fetched into the graph yet. Fetched if the group has all its delayed child nodes already fetched.\" DataType=\"Microsoft.VisualStudio.GraphModel.DelayedDataState\" />\n    <Property Id=\"DelayedCrossGroupLinksState\" Label=\"Delayed Cross-Group Links State\" Description=\"Unspecified if the delayed cross-group links state is not specified. NotFetched if delayed cross-group links on this node are not fetched into the graph yet. Fetched if all delayed cross-group links have already fetched.\" DataType=\"Microsoft.VisualStudio.GraphModel.DelayedDataState\" />\n    <Property Id=\"Expression\" DataType=\"System.String\" />\n    <Property Id=\"FetchedChildrenCount\" DataType=\"System.Int32\" />\n    <Property Id=\"FetchingParent\" DataType=\"Microsoft.VisualStudio.GraphModel.GraphNodeId\" />\n    <Property Id=\"Group\" Label=\"Group\" Description=\"Display the node as a group\" DataType=\"Microsoft.VisualStudio.GraphModel.GraphGroupStyle\" />\n    <Property Id=\"GroupLabel\" DataType=\"System.String\" />\n    <Property Id=\"Icon\" Label=\"Icon\" DataType=\"System.String\" />\n    <Property Id=\"IncomingActionLabel\" Label=\"IncomingActionLabel\" Description=\"IncomingActionLabel\" DataType=\"System.String\" />\n    <Property Id=\"IsContainment\" DataType=\"System.Boolean\" />\n    <Property Id=\"IsEnabled\" DataType=\"System.Boolean\" />\n    <Property Id=\"IsSourceVirtualized\" Label=\"Link Source Virtualized\" Description=\"If true, the link source end contains data for virtualized nodes/links (i.e. not actually created in the graph).\" DataType=\"System.Boolean\" />\n    <Property Id=\"IsTargetVirtualized\" Label=\"Link Target Virtualized\" Description=\"If true, the link target end contains data for virtualized nodes/links (i.e. not actually created in the graph).\" DataType=\"System.Boolean\" />\n    <Property Id=\"Label\" Label=\"Label\" Description=\"Displayable label of an Annotatable object\" DataType=\"System.String\" />\n    <Property Id=\"Layout\" DataType=\"System.String\" />\n    <Property Id=\"NavigationActionLabel\" Label=\"NavigationActionLabel\" Description=\"NavigationActionLabel\" DataType=\"System.String\" />\n    <Property Id=\"OutgoingActionLabel\" Label=\"OutgoingActionLabel\" Description=\"OutgoingActionLabel\" DataType=\"System.String\" />\n    <Property Id=\"SourceLocation\" Label=\"Start Line Number\" DataType=\"Microsoft.VisualStudio.GraphModel.CodeSchema.SourceLocation\" />\n    <Property Id=\"TargetType\" DataType=\"System.Type\" />\n    <Property Id=\"UseManualLocation\" DataType=\"System.Boolean\" />\n    <Property Id=\"Value\" DataType=\"System.String\" />\n    <Property Id=\"ValueLabel\" DataType=\"System.String\" />\n    <Property Id=\"Visibility\" Label=\"Visibility\" Description=\"Defines whether a node in the graph is visible or not\" DataType=\"System.Windows.Visibility\" />\n    <Property Id=\"Weight\" Label=\"Weight\" Description=\"Weight\" DataType=\"System.Double\" />\n    <Property Id=\"ZoomLevel\" DataType=\"System.String\" />\n  </Properties>\n  <QualifiedNames>\n    <Name Id=\"Assembly\" Label=\"Assembly\" ValueType=\"Uri\" />\n    <Name Id=\"Member\" Label=\"Member\" ValueType=\"System.Object\" />\n    <Name Id=\"Name\" Label=\"Name\" ValueType=\"System.String\" />\n    <Name Id=\"Namespace\" Label=\"Namespace\" ValueType=\"System.String\" />\n    <Name Id=\"OverloadingParameters\" Label=\"Parameter\" ValueType=\"Microsoft.VisualStudio.GraphModel.GraphNodeIdCollection\" Formatter=\"NameValueNoEscape\" />\n    <Name Id=\"Type\" Label=\"Type\" ValueType=\"System.Object\" />\n  </QualifiedNames>\n  <IdentifierAliases>\n    <Alias n=\"1\" Uri=\"Assembly=$(7f4ded4e-5933-4229-b9cc-51da49678904.OutputPathUri)\" />\n    <Alias n=\"2\" Id=\"Namespace=UAOOI.SemanticData.DataManagement.Configuration\" />\n    <Alias n=\"3\" Id=\"(@1 @2 Type=AssociationRole)\" />\n    <Alias n=\"4\" Id=\"(@1 @2 Type=ConfigurationData)\" />\n    <Alias n=\"5\" Id=\"(@1 @2 Type=DataMemberConfiguration)\" />\n    <Alias n=\"6\" Id=\"(@1 @2 Type=DataSetConfiguration)\" />\n    <Alias n=\"7\" Id=\"Namespace=UAOOI.SemanticData.DataManagement\" />\n    <Alias n=\"8\" Id=\"(@1 @7 Type=IBindingFactory)\" />\n    <Alias n=\"9\" Id=\"(@1 Namespace=UAOOI.SemanticData.DataManagement.DataRepository Type=IConsumerBinding)\" />\n    <Alias n=\"10\" Id=\"(@1 @7 Type=IEncodingFactory)\" />\n    <Alias n=\"11\" Id=\"(@1 Namespace=UAOOI.SemanticData.DataManagement.DataRepository Type=IProducerBinding)\" />\n    <Alias n=\"12\" Id=\"Type=MessageTransportConfiguration\" />\n    <Alias n=\"13\" Id=\"(@1 @2 @12)\" />\n    <Alias n=\"14\" Uri=\"Assembly=$(FxReferenceAssembliesUri)/.NETFramework/v4.5.1/mscorlib.dll\" />\n    <Alias n=\"15\" Id=\"(@1 @7 Type=IEncodingFactory Member=(Name=UpdateValueConverter OverloadingParameters=[(@1 @7 Type=IBinding),(@14 Namespace=System Type=String),(@14 Namespace=System Type=String)]))\" />\n    <Alias n=\"16\" Id=\"(@1 @2 @12 Member=TransportRole)\" />\n  </IdentifierAliases>\n  <Styles>\n    <Style TargetType=\"Node\" GroupLabel=\"Results\" ValueLabel=\"True\">\n      <Condition Expression=\"HasCategory('QueryResult')\" />\n      <Setter Property=\"Background\" Value=\"#FFBCFFBE\" />\n    </Style>\n    <Style TargetType=\"Node\" GroupLabel=\"Test Project\" ValueLabel=\"Test Project\">\n      <Condition Expression=\"HasCategory('CodeMap_TestProject')\" />\n      <Setter Property=\"Icon\" Value=\"CodeMap_TestProject\" />\n      <Setter Property=\"Background\" Value=\"#FF307A69\" />\n    </Style>\n    <Style TargetType=\"Node\" GroupLabel=\"Web Project\" ValueLabel=\"Web Project\">\n      <Condition Expression=\"HasCategory('CodeMap_WebProject')\" />\n      <Setter Property=\"Icon\" Value=\"CodeMap_WebProject\" />\n    </Style>\n    <Style TargetType=\"Node\" GroupLabel=\"Windows Store Project\" ValueLabel=\"Windows Store Project\">\n      <Condition Expression=\"HasCategory('CodeMap_WindowsStoreProject')\" />\n      <Setter Property=\"Icon\" Value=\"CodeMap_WindowsStoreProject\" />\n    </Style>\n    <Style TargetType=\"Node\" GroupLabel=\"Phone Project\" ValueLabel=\"Phone Project\">\n      <Condition Expression=\"HasCategory('CodeMap_PhoneProject')\" />\n      <Setter Property=\"Icon\" Value=\"CodeMap_PhoneProject\" />\n    </Style>\n    <Style TargetType=\"Node\" GroupLabel=\"Portable Library\" ValueLabel=\"Portable Library\">\n      <Condition Expression=\"HasCategory('CodeMap_PortableLibraryProject')\" />\n      <Setter Property=\"Icon\" Value=\"CodeMap_PortableLibraryProject\" />\n    </Style>\n    <Style TargetType=\"Node\" GroupLabel=\"WPF Project\" ValueLabel=\"WPF Project\">\n      <Condition Expression=\"HasCategory('CodeMap_WpfProject')\" />\n      <Setter Property=\"Icon\" Value=\"CodeMap_WpfProject\" />\n    </Style>\n    <Style TargetType=\"Node\" GroupLabel=\"VSIX Project\" ValueLabel=\"VSIX Project\">\n      <Condition Expression=\"HasCategory('CodeMap_VsixProject')\" />\n      <Setter Property=\"Icon\" Value=\"CodeMap_VsixProject\" />\n    </Style>\n    <Style TargetType=\"Node\" GroupLabel=\"Modeling Project\" ValueLabel=\"Modeling Project\">\n      <Condition Expression=\"HasCategory('CodeMap_ModelingProject')\" />\n      <Setter Property=\"Icon\" Value=\"CodeMap_ModelingProject\" />\n    </Style>\n    <Style TargetType=\"Node\" GroupLabel=\"Assembly\" ValueLabel=\"Has category\">\n      <Condition Expression=\"HasCategory('CodeSchema_Assembly')\" />\n      <Setter Property=\"Background\" Value=\"#FF094167\" />\n      <Setter Property=\"Stroke\" Value=\"#FF094167\" />\n      <Setter Property=\"Icon\" Value=\"CodeSchema_Assembly\" />\n    </Style>\n    <Style TargetType=\"Node\" GroupLabel=\"Namespace\" ValueLabel=\"Has category\">\n      <Condition Expression=\"HasCategory('CodeSchema_Namespace')\" />\n      <Setter Property=\"Background\" Value=\"#FF0E619A\" />\n      <Setter Property=\"Stroke\" Value=\"#FF0E619A\" />\n      <Setter Property=\"Icon\" Value=\"CodeSchema_Namespace\" />\n    </Style>\n    <Style TargetType=\"Node\" GroupLabel=\"Interface\" ValueLabel=\"Has category\">\n      <Condition Expression=\"HasCategory('CodeSchema_Interface')\" />\n      <Setter Property=\"Background\" Value=\"#FF1382CE\" />\n      <Setter Property=\"Stroke\" Value=\"#FF1382CE\" />\n      <Setter Property=\"Icon\" Value=\"CodeSchema_Interface\" />\n    </Style>\n    <Style TargetType=\"Node\" GroupLabel=\"Struct\" ValueLabel=\"Has category\">\n      <Condition Expression=\"HasCategory('CodeSchema_Struct')\" />\n      <Setter Property=\"Background\" Value=\"#FF1382CE\" />\n      <Setter Property=\"Stroke\" Value=\"#FF1382CE\" />\n      <Setter Property=\"Icon\" Value=\"CodeSchema_Struct\" />\n    </Style>\n    <Style TargetType=\"Node\" GroupLabel=\"Enumeration\" ValueLabel=\"Has category\">\n      <Condition Expression=\"HasCategory('CodeSchema_Enum')\" />\n      <Setter Property=\"Background\" Value=\"#FF1382CE\" />\n      <Setter Property=\"Stroke\" Value=\"#FF1382CE\" />\n      <Setter Property=\"Icon\" Value=\"CodeSchema_Enum\" />\n      <Setter Property=\"LayoutSettings\" Value=\"List\" />\n    </Style>\n    <Style TargetType=\"Node\" GroupLabel=\"Delegate\" ValueLabel=\"Has category\">\n      <Condition Expression=\"HasCategory('CodeSchema_Delegate')\" />\n      <Setter Property=\"Background\" Value=\"#FF1382CE\" />\n      <Setter Property=\"Stroke\" Value=\"#FF1382CE\" />\n      <Setter Property=\"Icon\" Value=\"CodeSchema_Delegate\" />\n    </Style>\n    <Style TargetType=\"Node\" GroupLabel=\"Class\" ValueLabel=\"Has category\">\n      <Condition Expression=\"HasCategory('CodeSchema_Type')\" />\n      <Setter Property=\"Background\" Value=\"#FF1382CE\" />\n      <Setter Property=\"Stroke\" Value=\"#FF1382CE\" />\n      <Setter Property=\"Icon\" Value=\"CodeSchema_Class\" />\n    </Style>\n    <Style TargetType=\"Node\" GroupLabel=\"Property\" ValueLabel=\"Has category\">\n      <Condition Expression=\"HasCategory('CodeSchema_Property')\" />\n      <Setter Property=\"Background\" Value=\"#FFE0E0E0\" />\n      <Setter Property=\"Stroke\" Value=\"#FFE0E0E0\" />\n      <Setter Property=\"Icon\" Value=\"CodeSchema_Property\" />\n    </Style>\n    <Style TargetType=\"Node\" GroupLabel=\"Method\" ValueLabel=\"Has category\">\n      <Condition Expression=\"HasCategory('CodeSchema_Method') Or HasCategory('CodeSchema_CallStackUnresolvedMethod')\" />\n      <Setter Property=\"Background\" Value=\"#FFE0E0E0\" />\n      <Setter Property=\"Stroke\" Value=\"#FFE0E0E0\" />\n      <Setter Property=\"Icon\" Value=\"CodeSchema_Method\" />\n      <Setter Property=\"LayoutSettings\" Value=\"List\" />\n    </Style>\n    <Style TargetType=\"Node\" GroupLabel=\"Event\" ValueLabel=\"Has category\">\n      <Condition Expression=\"HasCategory('CodeSchema_Event')\" />\n      <Setter Property=\"Background\" Value=\"#FFE0E0E0\" />\n      <Setter Property=\"Stroke\" Value=\"#FFE0E0E0\" />\n      <Setter Property=\"Icon\" Value=\"CodeSchema_Event\" />\n    </Style>\n    <Style TargetType=\"Node\" GroupLabel=\"Field\" ValueLabel=\"Has category\">\n      <Condition Expression=\"HasCategory('CodeSchema_Field')\" />\n      <Setter Property=\"Background\" Value=\"#FFE0E0E0\" />\n      <Setter Property=\"Stroke\" Value=\"#FFE0E0E0\" />\n      <Setter Property=\"Icon\" Value=\"CodeSchema_Field\" />\n    </Style>\n    <Style TargetType=\"Node\" GroupLabel=\"Out Parameter\" ValueLabel=\"Has category\">\n      <Condition Expression=\"CodeSchemaProperty_IsOut = 'True'\" />\n      <Setter Property=\"Icon\" Value=\"CodeSchema_OutParameter\" />\n    </Style>\n    <Style TargetType=\"Node\" GroupLabel=\"Parameter\" ValueLabel=\"Has category\">\n      <Condition Expression=\"HasCategory('CodeSchema_Parameter')\" />\n      <Setter Property=\"Icon\" Value=\"CodeSchema_Parameter\" />\n    </Style>\n    <Style TargetType=\"Node\" GroupLabel=\"Local Variable\" ValueLabel=\"Has category\">\n      <Condition Expression=\"HasCategory('CodeSchema_LocalExpression')\" />\n      <Setter Property=\"Icon\" Value=\"CodeSchema_LocalExpression\" />\n    </Style>\n    <Style TargetType=\"Node\" GroupLabel=\"Externals\" ValueLabel=\"Has category\">\n      <Condition Expression=\"HasCategory('Externals')\" />\n      <Setter Property=\"Background\" Value=\"#FF424242\" />\n      <Setter Property=\"Stroke\" Value=\"#FF424242\" />\n    </Style>\n    <Style TargetType=\"Link\" GroupLabel=\"Inherits From\" ValueLabel=\"True\">\n      <Condition Expression=\"HasCategory('InheritsFrom')\" />\n      <Setter Property=\"Stroke\" Value=\"#FF00A600\" />\n      <Setter Property=\"StrokeDashArray\" Value=\"2 0\" />\n      <Setter Property=\"DrawArrow\" Value=\"true\" />\n    </Style>\n    <Style TargetType=\"Link\" GroupLabel=\"Implements\" ValueLabel=\"True\">\n      <Condition Expression=\"HasCategory('Implements')\" />\n      <Setter Property=\"Stroke\" Value=\"#8000A600\" />\n      <Setter Property=\"StrokeDashArray\" Value=\"2 2\" />\n      <Setter Property=\"DrawArrow\" Value=\"true\" />\n    </Style>\n    <Style TargetType=\"Link\" GroupLabel=\"Calls\" ValueLabel=\"True\">\n      <Condition Expression=\"HasCategory('CodeSchema_Calls')\" />\n      <Setter Property=\"Stroke\" Value=\"#FFFF00FF\" />\n      <Setter Property=\"StrokeDashArray\" Value=\"2 0\" />\n      <Setter Property=\"DrawArrow\" Value=\"true\" />\n    </Style>\n    <Style TargetType=\"Link\" GroupLabel=\"Function Pointer\" ValueLabel=\"True\">\n      <Condition Expression=\"HasCategory('CodeSchema_FunctionPointer')\" />\n      <Setter Property=\"Stroke\" Value=\"#FFFF00FF\" />\n      <Setter Property=\"StrokeDashArray\" Value=\"2 2\" />\n      <Setter Property=\"DrawArrow\" Value=\"true\" />\n    </Style>\n    <Style TargetType=\"Link\" GroupLabel=\"Field Read\" ValueLabel=\"True\">\n      <Condition Expression=\"HasCategory('CodeSchema_FieldRead')\" />\n      <Setter Property=\"Stroke\" Value=\"#FF00AEEF\" />\n      <Setter Property=\"StrokeDashArray\" Value=\"2 2\" />\n      <Setter Property=\"DrawArrow\" Value=\"true\" />\n    </Style>\n    <Style TargetType=\"Link\" GroupLabel=\"Field Write\" ValueLabel=\"True\">\n      <Condition Expression=\"HasCategory('CodeSchema_FieldWrite')\" />\n      <Setter Property=\"Stroke\" Value=\"#FF00AEEF\" />\n      <Setter Property=\"DrawArrow\" Value=\"true\" />\n      <Setter Property=\"IsHidden\" Value=\"false\" />\n    </Style>\n    <Style TargetType=\"Link\" GroupLabel=\"Inherits From\" ValueLabel=\"True\" Visibility=\"Hidden\">\n      <Condition Expression=\"HasCategory('InheritsFrom') And Target.HasCategory('CodeSchema_Class')\" />\n      <Setter Property=\"TargetDecorator\" Value=\"OpenArrow\" />\n    </Style>\n    <Style TargetType=\"Link\" GroupLabel=\"Implements\" ValueLabel=\"True\" Visibility=\"Hidden\">\n      <Condition Expression=\"HasCategory('Implements') And Target.HasCategory('CodeSchema_Interface')\" />\n      <Setter Property=\"TargetDecorator\" Value=\"OpenArrow\" />\n    </Style>\n    <Style TargetType=\"Link\" GroupLabel=\"Comment Link\" ValueLabel=\"True\" Visibility=\"Hidden\">\n      <Condition Expression=\"Source.HasCategory('Comment')\" />\n      <Setter Property=\"Stroke\" Value=\"#FFE5C365\" />\n    </Style>\n    <Style TargetType=\"Node\" GroupLabel=\"Cursor Location Changed\" ValueLabel=\"True\" Visibility=\"Hidden\">\n      <Condition Expression=\"IsCursorLocation\" />\n      <Setter Property=\"IndicatorWest\" Value=\"WestIndicator\" />\n    </Style>\n    <Style TargetType=\"Node\" GroupLabel=\"Disabled Breakpoint Location Changed\" ValueLabel=\"True\" Visibility=\"Hidden\">\n      <Condition Expression=\"DisabledBreakpointCount\" />\n      <Setter Property=\"IndicatorWest\" Value=\"WestIndicator\" />\n    </Style>\n    <Style TargetType=\"Node\" GroupLabel=\"Enabled Breakpoint Location Changed\" ValueLabel=\"True\" Visibility=\"Hidden\">\n      <Condition Expression=\"EnabledBreakpointCount\" />\n      <Setter Property=\"IndicatorWest\" Value=\"WestIndicator\" />\n    </Style>\n    <Style TargetType=\"Node\" GroupLabel=\"Instruction Pointer Location Changed\" ValueLabel=\"True\" Visibility=\"Hidden\">\n      <Condition Expression=\"IsInstructionPointerLocation\" />\n      <Setter Property=\"IndicatorWest\" Value=\"WestIndicator\" />\n    </Style>\n    <Style TargetType=\"Node\" GroupLabel=\"Current Callstack Changed\" ValueLabel=\"True\" Visibility=\"Hidden\">\n      <Condition Expression=\"IsCurrentCallstackFrame\" />\n      <Setter Property=\"IndicatorWest\" Value=\"WestIndicator\" />\n    </Style>\n    <Style TargetType=\"Link\" GroupLabel=\"Return\" ValueLabel=\"True\" Visibility=\"Hidden\">\n      <Condition Expression=\"HasCategory('CodeSchema_ReturnTypeLink')\" />\n    </Style>\n    <Style TargetType=\"Link\" GroupLabel=\"References\" ValueLabel=\"True\" Visibility=\"Hidden\">\n      <Condition Expression=\"HasCategory('References')\" />\n    </Style>\n    <Style TargetType=\"Link\" GroupLabel=\"Uses Attribute\" ValueLabel=\"True\" Visibility=\"Hidden\">\n      <Condition Expression=\"HasCategory('CodeSchema_AttributeUse')\" />\n    </Style>\n    <Style TargetType=\"Node\" GroupLabel=\"Solution Folder\" ValueLabel=\"True\" Visibility=\"Hidden\">\n      <Condition Expression=\"HasCategory('CodeMap_SolutionFolder')\" />\n      <Setter Property=\"Background\" Value=\"#FFDEBA83\" />\n    </Style>\n    <Style TargetType=\"Link\" GroupLabel=\"Project Reference\" ValueLabel=\"Project Reference\">\n      <Condition Expression=\"HasCategory('CodeMap_ProjectReference')\" />\n      <Setter Property=\"Stroke\" Value=\"#9A9A9A\" />\n      <Setter Property=\"StrokeDashArray\" Value=\"2 2\" />\n      <Setter Property=\"DrawArrow\" Value=\"true\" />\n    </Style>\n    <Style TargetType=\"Link\" GroupLabel=\"External Reference\" ValueLabel=\"External Reference\">\n      <Condition Expression=\"HasCategory('CodeMap_ExternalReference')\" />\n      <Setter Property=\"Stroke\" Value=\"#9A9A9A\" />\n      <Setter Property=\"StrokeDashArray\" Value=\"2 2\" />\n      <Setter Property=\"DrawArrow\" Value=\"true\" />\n    </Style>\n  </Styles>\n  <Paths>\n    <Path Id=\"7f4ded4e-5933-4229-b9cc-51da49678904.OutputPathUri\" Value=\"file:///C:/VS/Projects/OPC-UA-OOI/SemanticDataSolution/DataManagement/bin/Debug/UAOOI.SemanticData.DataManagement.dll\" />\n    <Path Id=\"FxReferenceAssembliesUri\" Value=\"file:///C:/Program Files (x86)/Reference Assemblies/Microsoft/Framework\" />\n  </Paths>\n</DirectedGraph>"
  },
  {
    "path": "CommonResources/ModelingProject/UANetworkingArchitecture/Configuration.classdiagram",
    "content": "﻿<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<logicalClassDesignerModel xmlns:dm0=\"http://schemas.microsoft.com/VisualStudio/2008/DslTools/Core\" xmlns:dm1=\"http://schemas.microsoft.com/dsltools/Kernel\" xmlns:dm2=\"http://schemas.microsoft.com/dsltools/Component\" xmlns:dm3=\"http://schemas.microsoft.com/dsltools/Activity\" xmlns:dm4=\"http://schemas.microsoft.com/dsltools/UseCase\" xmlns:dm5=\"http://schemas.microsoft.com/dsltools/Interaction\" xmlns:dm6=\"http://schemas.microsoft.com/dsltools/UmlModelLibrary\" xmlns:dm7=\"http://schemas.microsoft.com/dsltools/UmlDiagrams\" xmlns:dm8=\"http://schemas.microsoft.com/dsltools/ModelStore\" dslVersion=\"1.0.0.0\" Id=\"6879d0fa-866b-4fdb-b5e7-3529db2bac29\" name=\"Configuration\" linkedPackageId=\"280cb7bd-ad26-4696-a92b-c987777ba051\" xmlns=\"http://schemas.microsoft.com/dsltools/LogicalClassDesigner\">\n  <packagedElements>\n    <logicalClassDesignerModelHasPackages>\n      <package Id=\"2ee72c6a-1947-434f-8ffe-06b9e054f1c4\" name=\"Common\">\n        <elementDefinition Id=\"4224f8d5-96b3-47ac-8169-44b1e5518092\" />\n      </package>\n    </logicalClassDesignerModelHasPackages>\n    <logicalClassDesignerModelHasPackages>\n      <package Id=\"7783391c-a188-4b3c-81aa-f0c54f14c658\" name=\"Configuration\">\n        <elementDefinition Id=\"9f91b48e-9889-49d2-ab4d-1a89a1a59dba\" />\n        <suppliersInternal>\n          <dependency Id=\"30d56e66-f483-447d-bced-2300490620fd\">\n            <packageMoniker Id=\"2ee72c6a-1947-434f-8ffe-06b9e054f1c4\" LastKnownName=\"Common\" />\n            <elementDefinition Id=\"2957255e-31cf-4ddb-b3c9-b8d3833d4a23\" />\n          </dependency>\n        </suppliersInternal>\n      </package>\n    </logicalClassDesignerModelHasPackages>\n    <logicalClassDesignerModelHasPackages>\n      <package Id=\"0a1a98d0-2b2f-4873-a71f-40aada3105c9\" name=\"Networking\">\n        <elementDefinition Id=\"22348d21-bdd4-4e5a-9283-7be9c0f814b8\" />\n        <suppliersInternal>\n          <dependency Id=\"5769522b-af44-4166-a0ca-ccd1af50eb56\">\n            <packageMoniker Id=\"7783391c-a188-4b3c-81aa-f0c54f14c658\" LastKnownName=\"Configuration\" />\n            <elementDefinition Id=\"68290e12-6501-40bf-abcd-52cde41130a1\" />\n          </dependency>\n          <dependency Id=\"77d59f25-255a-4bb5-82b3-1b3ed5b2ca6e\">\n            <packageMoniker Id=\"2ee72c6a-1947-434f-8ffe-06b9e054f1c4\" LastKnownName=\"Common\" />\n            <elementDefinition Id=\"a5d60c89-02bb-4e9d-b425-e467fd8c77be\" />\n          </dependency>\n        </suppliersInternal>\n      </package>\n    </logicalClassDesignerModelHasPackages>\n  </packagedElements>\n  <package Id=\"280cb7bd-ad26-4696-a92b-c987777ba051\" name=\"UANetworkingArchitecture\">\n    <elementDefinition Id=\"deccb32d-5bb4-4348-8f1d-8f150b5d4e3e\" />\n    <profileInstances>\n      <packageHasProfileInstances Id=\"35a79a3a-900b-43b2-8e20-40a83cec05e7\">\n        <profileInstance Id=\"3cc3468c-b745-4db4-8d4e-1b66b064ea3f\" name=\"StandardProfileL2\">\n          <elementDefinition Id=\"e34d544e-0fea-4ed6-ac5e-1b74119ac791\" />\n        </profileInstance>\n        <elementDefinition Id=\"0caec977-1f8c-4ba3-a7db-8cc9ad9cc73b\" />\n      </packageHasProfileInstances>\n      <packageHasProfileInstances Id=\"274510fc-ab37-4106-ad71-23a3dd4dadee\">\n        <profileInstance Id=\"99d45313-4a9e-4712-bb06-216b853db8dd\" name=\"StandardProfileL3\">\n          <elementDefinition Id=\"532ea607-fb19-44b8-8502-3351b05452be\" />\n        </profileInstance>\n        <elementDefinition Id=\"29349502-908c-4fda-9054-c48619c59ed0\" />\n      </packageHasProfileInstances>\n    </profileInstances>\n  </package>\n</logicalClassDesignerModel>"
  },
  {
    "path": "CommonResources/ModelingProject/UANetworkingArchitecture/Configuration.classdiagram.layout",
    "content": "﻿<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<logicalClassDesignerDiagram dslVersion=\"1.0.0.0\" absoluteBounds=\"0, 0, 11, 8.5\" name=\"Configuration\">\n  <logicalClassDesignerModelMoniker Id=\"6879d0fa-866b-4fdb-b5e7-3529db2bac29\" />\n  <nestedChildShapes>\n    <packageShape Id=\"388ee5b8-ebeb-4eab-89e5-3f0c445adef8\" absoluteBounds=\"1.25, 4.75, 1.5, 1\" customColor=\"255, 249, 230\" hideQualifiedName=\"false\">\n      <packageMoniker Id=\"2ee72c6a-1947-434f-8ffe-06b9e054f1c4\" LastKnownName=\"Common\" />\n    </packageShape>\n    <packageShape Id=\"98972415-cf2d-48f0-b1a6-872c68b85616\" absoluteBounds=\"2.875, 3, 2.125, 1\" customColor=\"255, 249, 230\" hideQualifiedName=\"false\">\n      <packageMoniker Id=\"7783391c-a188-4b3c-81aa-f0c54f14c658\" LastKnownName=\"Configuration\" />\n    </packageShape>\n    <dependencyConnector edgePoints=\"[(3.9375 : 4); (3.9375 : 5.25); (2.75 : 5.25)]\" fixedFrom=\"Algorithm\" fixedTo=\"Algorithm\" customColor=\"Black\">\n      <dependencyMoniker Id=\"30d56e66-f483-447d-bced-2300490620fd\" />\n      <relativeChildShapes />\n      <nodes>\n        <packageShapeMoniker Id=\"98972415-cf2d-48f0-b1a6-872c68b85616\" />\n        <packageShapeMoniker Id=\"388ee5b8-ebeb-4eab-89e5-3f0c445adef8\" />\n      </nodes>\n    </dependencyConnector>\n    <packageShape Id=\"32e600e2-2a6f-40d3-919d-e4b7e6b50b20\" absoluteBounds=\"2.75, 1, 2, 1\" customColor=\"255, 249, 230\" hideQualifiedName=\"false\">\n      <packageMoniker Id=\"0a1a98d0-2b2f-4873-a71f-40aada3105c9\" LastKnownName=\"Networking\" />\n    </packageShape>\n    <dependencyConnector edgePoints=\"[(3.94970930232558 : 2); (3.94970930232558 : 3)]\" fixedFrom=\"Algorithm\" fixedTo=\"Algorithm\" customColor=\"Black\">\n      <dependencyMoniker Id=\"5769522b-af44-4166-a0ca-ccd1af50eb56\" />\n      <relativeChildShapes />\n      <nodes>\n        <packageShapeMoniker Id=\"32e600e2-2a6f-40d3-919d-e4b7e6b50b20\" />\n        <packageShapeMoniker Id=\"98972415-cf2d-48f0-b1a6-872c68b85616\" />\n      </nodes>\n    </dependencyConnector>\n    <dependencyConnector edgePoints=\"[(3.02441860465116 : 2); (3.02441860465116 : 2.375); (2.04807692307692 : 2.375); (2.04807692307692 : 4.75)]\" manuallyRouted=\"true\" fixedFrom=\"NotFixed\" fixedTo=\"NotFixed\" customColor=\"Black\">\n      <dependencyMoniker Id=\"77d59f25-255a-4bb5-82b3-1b3ed5b2ca6e\" />\n      <relativeChildShapes />\n      <nodes>\n        <packageShapeMoniker Id=\"32e600e2-2a6f-40d3-919d-e4b7e6b50b20\" />\n        <packageShapeMoniker Id=\"388ee5b8-ebeb-4eab-89e5-3f0c445adef8\" />\n      </nodes>\n    </dependencyConnector>\n  </nestedChildShapes>\n</logicalClassDesignerDiagram>"
  },
  {
    "path": "CommonResources/ModelingProject/UANetworkingArchitecture/ModelDefinition/Package_2319.uml",
    "content": "﻿<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<package xmlns:dm0=\"http://schemas.microsoft.com/VisualStudio/2008/DslTools/Core\" xmlns:dm1=\"http://schemas.microsoft.com/dsltools/Kernel\" xmlns:dm2=\"http://schemas.microsoft.com/dsltools/Component\" xmlns:dm3=\"http://schemas.microsoft.com/dsltools/Activity\" xmlns:dm4=\"http://schemas.microsoft.com/dsltools/UseCase\" xmlns:dm5=\"http://schemas.microsoft.com/dsltools/Interaction\" xmlns:dm6=\"http://schemas.microsoft.com/dsltools/UmlModelLibrary\" xmlns:dm7=\"http://schemas.microsoft.com/dsltools/UmlDiagrams\" xmlns:dm8=\"http://schemas.microsoft.com/dsltools/LogicalClassDesigner\"\n  dslVersion=\"1.0.0.0\"\n  Id=\"4224f8d5-96b3-47ac-8169-44b1e5518092\"\n  name=\"Common\" xmlns=\"http://schemas.microsoft.com/dsltools/ModelStore\" />"
  },
  {
    "path": "CommonResources/ModelingProject/UANetworkingArchitecture/ModelDefinition/Package_2321.uml",
    "content": "﻿<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<package xmlns:dm0=\"http://schemas.microsoft.com/VisualStudio/2008/DslTools/Core\" xmlns:dm1=\"http://schemas.microsoft.com/dsltools/Kernel\" xmlns:dm2=\"http://schemas.microsoft.com/dsltools/Component\" xmlns:dm3=\"http://schemas.microsoft.com/dsltools/Activity\" xmlns:dm4=\"http://schemas.microsoft.com/dsltools/UseCase\" xmlns:dm5=\"http://schemas.microsoft.com/dsltools/Interaction\" xmlns:dm6=\"http://schemas.microsoft.com/dsltools/UmlModelLibrary\" xmlns:dm7=\"http://schemas.microsoft.com/dsltools/UmlDiagrams\" xmlns:dm8=\"http://schemas.microsoft.com/dsltools/LogicalClassDesigner\"\n  dslVersion=\"1.0.0.0\"\n  Id=\"9f91b48e-9889-49d2-ab4d-1a89a1a59dba\"\n  name=\"Configuration\" xmlns=\"http://schemas.microsoft.com/dsltools/ModelStore\">\n  <suppliersInternal>\n    <dependency\n      Id=\"2957255e-31cf-4ddb-b3c9-b8d3833d4a23\">\n      <packageMoniker\n        Id=\"4224f8d5-96b3-47ac-8169-44b1e5518092\"\n        LastKnownName=\"Common\"\n        LastKnownLocation=\"Package_2319.uml\" />\n    </dependency>\n  </suppliersInternal>\n</package>"
  },
  {
    "path": "CommonResources/ModelingProject/UANetworkingArchitecture/ModelDefinition/Package_2322.uml",
    "content": "﻿<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<package xmlns:dm0=\"http://schemas.microsoft.com/VisualStudio/2008/DslTools/Core\" xmlns:dm1=\"http://schemas.microsoft.com/dsltools/Kernel\" xmlns:dm2=\"http://schemas.microsoft.com/dsltools/Component\" xmlns:dm3=\"http://schemas.microsoft.com/dsltools/Activity\" xmlns:dm4=\"http://schemas.microsoft.com/dsltools/UseCase\" xmlns:dm5=\"http://schemas.microsoft.com/dsltools/Interaction\" xmlns:dm6=\"http://schemas.microsoft.com/dsltools/UmlModelLibrary\" xmlns:dm7=\"http://schemas.microsoft.com/dsltools/UmlDiagrams\" xmlns:dm8=\"http://schemas.microsoft.com/dsltools/LogicalClassDesigner\"\n  dslVersion=\"1.0.0.0\"\n  Id=\"22348d21-bdd4-4e5a-9283-7be9c0f814b8\"\n  name=\"Networking\" xmlns=\"http://schemas.microsoft.com/dsltools/ModelStore\">\n  <suppliersInternal>\n    <dependency\n      Id=\"68290e12-6501-40bf-abcd-52cde41130a1\">\n      <packageMoniker\n        Id=\"9f91b48e-9889-49d2-ab4d-1a89a1a59dba\"\n        LastKnownName=\"Configuration\"\n        LastKnownLocation=\"Package_2321.uml\" />\n    </dependency>\n    <dependency\n      Id=\"a5d60c89-02bb-4e9d-b425-e467fd8c77be\">\n      <packageMoniker\n        Id=\"4224f8d5-96b3-47ac-8169-44b1e5518092\"\n        LastKnownName=\"Common\"\n        LastKnownLocation=\"Package_2319.uml\" />\n    </dependency>\n  </suppliersInternal>\n</package>"
  },
  {
    "path": "CommonResources/ModelingProject/UANetworkingArchitecture/ModelDefinition/UANetworkingArchitecture.uml",
    "content": "﻿<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<modelStoreModel xmlns:dm0=\"http://schemas.microsoft.com/VisualStudio/2008/DslTools/Core\" xmlns:dm1=\"http://schemas.microsoft.com/dsltools/Kernel\" xmlns:dm2=\"http://schemas.microsoft.com/dsltools/Component\" xmlns:dm3=\"http://schemas.microsoft.com/dsltools/Activity\" xmlns:dm4=\"http://schemas.microsoft.com/dsltools/UseCase\" xmlns:dm5=\"http://schemas.microsoft.com/dsltools/Interaction\" xmlns:dm6=\"http://schemas.microsoft.com/dsltools/UmlModelLibrary\" xmlns:dm7=\"http://schemas.microsoft.com/dsltools/UmlDiagrams\" xmlns:dm8=\"http://schemas.microsoft.com/dsltools/LogicalClassDesigner\"\n  dslVersion=\"1.0.0.0\"\n  Id=\"deccb32d-5bb4-4348-8f1d-8f150b5d4e3e\"\n  name=\"UANetworkingArchitecture\" xmlns=\"http://schemas.microsoft.com/dsltools/ModelStore\">\n  <profileInstances>\n    <packageHasProfileInstances\n      Id=\"0caec977-1f8c-4ba3-a7db-8cc9ad9cc73b\">\n      <profileInstance\n        Id=\"e34d544e-0fea-4ed6-ac5e-1b74119ac791\"\n        name=\"StandardProfileL2\" />\n    </packageHasProfileInstances>\n    <packageHasProfileInstances\n      Id=\"29349502-908c-4fda-9054-c48619c59ed0\">\n      <profileInstance\n        Id=\"532ea607-fb19-44b8-8502-3351b05452be\"\n        name=\"StandardProfileL3\" />\n    </packageHasProfileInstances>\n  </profileInstances>\n  <packagedElements>\n    <packageHasNamedElement>\n      <packageMoniker\n        Id=\"4224f8d5-96b3-47ac-8169-44b1e5518092\"\n        LastKnownName=\"Common\"\n        LastKnownLocation=\"Package_2319.uml\" />\n    </packageHasNamedElement>\n    <packageHasNamedElement>\n      <packageMoniker\n        Id=\"9f91b48e-9889-49d2-ab4d-1a89a1a59dba\"\n        LastKnownName=\"Configuration\"\n        LastKnownLocation=\"Package_2321.uml\" />\n    </packageHasNamedElement>\n    <packageHasNamedElement>\n      <packageMoniker\n        Id=\"22348d21-bdd4-4e5a-9283-7be9c0f814b8\"\n        LastKnownName=\"Networking\"\n        LastKnownLocation=\"Package_2322.uml\" />\n    </packageHasNamedElement>\n  </packagedElements>\n  <primitiveType\n    Id=\"220a3521-e091-4221-bae9-3ef9018e845c\"\n    name=\"Integer\"\n    isAbstract=\"false\"\n    isLeaf=\"false\" />\n  <primitiveType\n    Id=\"8943dc84-709e-4f62-b15a-a3273aa6f165\"\n    name=\"Boolean\"\n    isAbstract=\"false\"\n    isLeaf=\"false\" />\n  <primitiveType\n    Id=\"59259974-6d55-42c6-b7bd-763d77ac8ef9\"\n    name=\"String\"\n    isAbstract=\"false\"\n    isLeaf=\"false\" />\n  <primitiveType\n    Id=\"3ab42e7d-4969-445a-b209-471f5cb8209c\"\n    name=\"UnlimitedNatural\"\n    isAbstract=\"false\"\n    isLeaf=\"false\" />\n</modelStoreModel>"
  },
  {
    "path": "CommonResources/ModelingProject/UANetworkingArchitecture/UANetworkingArchitecture.modelproj",
    "content": "﻿<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<Project ToolsVersion=\"14.0\" DefaultTargets=\"Build\" xmlns=\"http://schemas.microsoft.com/developer/msbuild/2003\">\n  <Import Project=\"$(MSBuildExtensionsPath)\\$(MSBuildToolsVersion)\\Microsoft.Common.props\" Condition=\"Exists('$(MSBuildExtensionsPath)\\$(MSBuildToolsVersion)\\Microsoft.Common.props')\" />\n  <PropertyGroup>\n    <Configuration Condition=\" '$(Configuration)' == '' \">Debug</Configuration>\n    <Platform Condition=\" '$(Platform)' == '' \">AnyCPU</Platform>\n    <SchemaVersion>2.0</SchemaVersion>\n    <ProjectGuid>{90e262b4-c902-468b-9fca-0d694b0bbf76}</ProjectGuid>\n    <ArchitectureToolsVersion>2.0.0.0</ArchitectureToolsVersion>\n    <Name>UANetworkingArchitecture</Name>\n    <RootNamespace>UANetworkingArchitecture</RootNamespace>\n  </PropertyGroup>\n  <PropertyGroup Condition=\" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' \">\n    <OutputPath>bin\\Debug\\</OutputPath>\n  </PropertyGroup>\n  <PropertyGroup Condition=\" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' \">\n    <OutputPath>bin\\Release\\</OutputPath>\n  </PropertyGroup>\n  <PropertyGroup>\n    <VisualStudioVersion Condition=\"'$(VisualStudioVersion)' == ''\">10.0</VisualStudioVersion>\n    <VSToolsPath Condition=\"'$(VSToolsPath)' == ''\">$(MSBuildExtensionsPath)\\Microsoft\\VisualStudio\\v$(VisualStudioVersion)</VSToolsPath>\n  </PropertyGroup>\n  <Import Project=\"$(VSToolsPath)\\ArchitectureTools\\Microsoft.VisualStudio.TeamArchitect.ModelingProject.targets\" Condition=\"'$(VSToolsPath)' != ''\" />\n  <ItemGroup>\n    <Content Include=\"ModelDefinition\\Package_2319.uml\">\n      <SubType>Content</SubType>\n    </Content>\n    <Content Include=\"ModelDefinition\\Package_2321.uml\">\n      <SubType>Content</SubType>\n    </Content>\n    <Content Include=\"ModelDefinition\\Package_2322.uml\">\n      <SubType>Content</SubType>\n    </Content>\n    <Content Include=\"UAOOI.UANetworkingReferenceApplication.dgml\">\n      <SubType>Content</SubType>\n    </Content>\n    <Content Include=\"UAOOI.UANodesetValidation.dgml\">\n      <SubType>Content</SubType>\n    </Content>\n    <Folder Include=\"ModelDefinition\\\" />\n    <Content Include=\"Configuration.classdiagram\">\n      <SubType>Content</SubType>\n    </Content>\n    <Content Include=\"Configuration.classdiagram.layout\">\n      <SubType>Content</SubType>\n      <DependentUpon>Configuration.classdiagram</DependentUpon>\n    </Content>\n    <Content Include=\"ModelDefinition\\UANetworkingArchitecture.uml\">\n      <SubType>Content</SubType>\n    </Content>\n  </ItemGroup>\n</Project>"
  },
  {
    "path": "CommonResources/ModelingProject/UANetworkingArchitecture/UAOOI.UANetworkingReferenceApplication.dgml",
    "content": "﻿<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<DirectedGraph DataVirtualized=\"True\" FilterState=\"CodeMap_SolutionFolder\" Layout=\"Sugiyama\" ZoomLevel=\"-1\" xmlns=\"http://schemas.microsoft.com/vs/2009/dgml\">\n  <Nodes>\n    <Node Id=\"@10\" Category=\"CodeSchema_Assembly\" CodeSchemaProperty_IsExternal=\"True\" CodeSchemaProperty_StrongName=\"System.Reactive.Core, Version=3.0.3000.0, Culture=neutral, PublicKeyToken=94bc3704cddfc263\" DelayedChildNodesState=\"NotFetched\" DelayedCrossGroupLinksState=\"Fetched\" FilePath=\"$(VsSolution)\\packages\\System.Reactive.Core.3.1.1\\lib\\net46\\System.Reactive.Core.dll\" Group=\"Collapsed\" Label=\"System.Reactive.Core.dll\">\n      <Category Ref=\"FileSystem.Category.FileOfType.dll\" />\n    </Node>\n    <Node Id=\"@12\" Category=\"CodeSchema_Assembly\" CodeSchemaProperty_IsExternal=\"True\" CodeSchemaProperty_StrongName=\"System.Core, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089\" DelayedChildNodesState=\"NotFetched\" DelayedCrossGroupLinksState=\"Fetched\" FilePath=\"$(FxReferenceAssemblies)\\.NETFramework\\v4.6.1\\System.Core.dll\" Group=\"Collapsed\" Label=\"System.Core.dll\">\n      <Category Ref=\"FileSystem.Category.FileOfType.dll\" />\n    </Node>\n    <Node Id=\"@14\" Category=\"CodeSchema_Assembly\" CodeSchemaProperty_IsExternal=\"True\" CodeSchemaProperty_StrongName=\"PresentationCore, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35\" DelayedChildNodesState=\"NotFetched\" DelayedCrossGroupLinksState=\"Fetched\" FilePath=\"$(FxReferenceAssemblies)\\.NETFramework\\v4.6.1\\PresentationCore.dll\" Group=\"Collapsed\" Label=\"PresentationCore.dll\">\n      <Category Ref=\"FileSystem.Category.FileOfType.dll\" />\n    </Node>\n    <Node Id=\"@16\" Category=\"CodeSchema_Assembly\" AssemblyTimestamp=\"06/19/2018 15:53:25\" Bounds=\"64.0516666666666,220,237.896666666667,25\" CodeSchemaProperty_StrongName=\"UAOOI.Common.Infrastructure, Version=3.0.0.0, Culture=neutral, PublicKeyToken=deede3c2df331bb0\" DelayedChildNodesState=\"NotFetched\" DelayedCrossGroupLinksState=\"Fetched\" FilePath=\"$(8817a671-abb8-463a-a8a3-ddcfe781a6b6.OutputPath)\" Group=\"Collapsed\" Label=\"UAOOI.Common.Infrastructure.dll\">\n      <Category Ref=\"FileSystem.Category.FileOfType.dll\" />\n    </Node>\n    <Node Id=\"@18\" Category=\"CodeSchema_Assembly\" CodeSchemaProperty_IsExternal=\"True\" CodeSchemaProperty_StrongName=\"WindowsBase, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35\" DelayedChildNodesState=\"NotFetched\" DelayedCrossGroupLinksState=\"Fetched\" FilePath=\"$(FxReferenceAssemblies)\\.NETFramework\\v4.6.1\\WindowsBase.dll\" Group=\"Collapsed\" Label=\"WindowsBase.dll\">\n      <Category Ref=\"FileSystem.Category.FileOfType.dll\" />\n    </Node>\n    <Node Id=\"@2\" Category=\"CodeSchema_Assembly\" AssemblyTimestamp=\"06/19/2018 15:55:04\" Bounds=\"247.648333333333,0,298.703333333333,25\" CodeSchemaProperty_StrongName=\"UAOOI.Networking.ReferenceApplication, Version=3.0.5.32251, Culture=neutral, PublicKeyToken=deede3c2df331bb0\" DelayedChildNodesState=\"NotFetched\" DelayedCrossGroupLinksState=\"Fetched\" FilePath=\"$(f0accb28-ae0d-4e19-94fa-7be3044f1eeb.OutputPath)\" Group=\"Collapsed\" Label=\"UAOOI.Networking.ReferenceApplication.exe\">\n      <Category Ref=\"CodeMap_WpfProject\" />\n      <Category Ref=\"FileSystem.Category.FileOfType.exe\" />\n    </Node>\n    <Node Id=\"@20\" Category=\"CodeSchema_Assembly\" CodeSchemaProperty_IsExternal=\"True\" CodeSchemaProperty_StrongName=\"Microsoft.Practices.EnterpriseLibrary.SemanticLogging, Version=2.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35\" DelayedChildNodesState=\"NotFetched\" DelayedCrossGroupLinksState=\"Fetched\" FilePath=\"$(VsSolution)\\packages\\EnterpriseLibrary.SemanticLogging.2.0.1406.1\\lib\\net45\\Microsoft.Practices.EnterpriseLibrary.SemanticLogging.dll\" Group=\"Collapsed\" Label=\"Microsoft.Practices.EnterpriseLibrary.SemanticLogging.dll\">\n      <Category Ref=\"FileSystem.Category.FileOfType.dll\" />\n    </Node>\n    <Node Id=\"@22\" Category=\"CodeSchema_Assembly\" AssemblyTimestamp=\"06/19/2018 15:53:28\" Bounds=\"145.641666666667,165,252.716666666667,25\" CodeSchemaProperty_StrongName=\"UAOOI.Configuration.Networking, Version=4.0.0.0, Culture=neutral, PublicKeyToken=deede3c2df331bb0\" DelayedChildNodesState=\"NotFetched\" DelayedCrossGroupLinksState=\"Fetched\" FilePath=\"$(e28e0880-03aa-4d1b-a820-41b04e766019.OutputPath)\" Group=\"Collapsed\" Label=\"UAOOI.Configuration.Networking.dll\">\n      <Category Ref=\"FileSystem.Category.FileOfType.dll\" />\n    </Node>\n    <Node Id=\"@24\" Category=\"CodeSchema_Assembly\" CodeSchemaProperty_IsExternal=\"True\" CodeSchemaProperty_StrongName=\"PresentationFramework, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35\" DelayedChildNodesState=\"NotFetched\" DelayedCrossGroupLinksState=\"Fetched\" FilePath=\"$(FxReferenceAssemblies)\\.NETFramework\\v4.6.1\\PresentationFramework.dll\" Group=\"Collapsed\" Label=\"PresentationFramework.dll\">\n      <Category Ref=\"FileSystem.Category.FileOfType.dll\" />\n    </Node>\n    <Node Id=\"@26\" Category=\"CodeSchema_Assembly\" CodeSchemaProperty_IsExternal=\"True\" CodeSchemaProperty_StrongName=\"System.Xaml, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089\" DelayedChildNodesState=\"NotFetched\" DelayedCrossGroupLinksState=\"Fetched\" FilePath=\"$(FxReferenceAssemblies)\\.NETFramework\\v4.6.1\\System.Xaml.dll\" Group=\"Collapsed\" Label=\"System.Xaml.dll\">\n      <Category Ref=\"FileSystem.Category.FileOfType.dll\" />\n    </Node>\n    <Node Id=\"@28\" Category=\"CodeSchema_Assembly\" CodeSchemaProperty_IsExternal=\"True\" CodeSchemaProperty_StrongName=\"System.Xml, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089\" DelayedChildNodesState=\"NotFetched\" DelayedCrossGroupLinksState=\"Fetched\" FilePath=\"$(FxReferenceAssemblies)\\.NETFramework\\v4.6.1\\System.Xml.dll\" Group=\"Collapsed\" Label=\"System.Xml.dll\">\n      <Category Ref=\"FileSystem.Category.FileOfType.dll\" />\n    </Node>\n    <Node Id=\"@30\" Category=\"CodeSchema_Assembly\" CodeSchemaProperty_IsExternal=\"True\" CodeSchemaProperty_StrongName=\"System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089\" DelayedChildNodesState=\"NotFetched\" DelayedCrossGroupLinksState=\"Fetched\" FilePath=\"$(FxReferenceAssemblies)\\.NETFramework\\v4.6.1\\System.dll\" Group=\"Collapsed\" Label=\"System.dll\">\n      <Category Ref=\"FileSystem.Category.FileOfType.dll\" />\n    </Node>\n    <Node Id=\"@32\" Category=\"CodeSchema_Assembly\" CodeSchemaProperty_IsExternal=\"True\" CodeSchemaProperty_StrongName=\"GalaSoft.MvvmLight.Platform, Version=5.4.1.0, Culture=neutral, PublicKeyToken=5f873c45e98af8a1\" DelayedChildNodesState=\"NotFetched\" DelayedCrossGroupLinksState=\"Fetched\" FilePath=\"$(VsSolution)\\packages\\MvvmLightLibs.5.4.1\\lib\\net45\\GalaSoft.MvvmLight.Platform.dll\" Group=\"Collapsed\" Label=\"GalaSoft.MvvmLight.Platform.dll\">\n      <Category Ref=\"FileSystem.Category.FileOfType.dll\" />\n    </Node>\n    <Node Id=\"@34\" Category=\"CodeSchema_Assembly\" CodeSchemaProperty_IsExternal=\"True\" CodeSchemaProperty_StrongName=\"CAS.UA.IServerConfiguration, Version=1.0.0.32204, Culture=neutral, PublicKeyToken=8832ff1a67ea61a3\" DelayedChildNodesState=\"NotFetched\" DelayedCrossGroupLinksState=\"Fetched\" FilePath=\"$(VsSolution)\\packages\\CAS.UA.IServerConfiguration.1.00.00\\lib\\net35\\CAS.UA.IServerConfiguration.dll\" Group=\"Collapsed\" Label=\"CAS.UA.IServerConfiguration.dll\">\n      <Category Ref=\"FileSystem.Category.FileOfType.dll\" />\n    </Node>\n    <Node Id=\"@36\" Category=\"CodeSchema_Assembly\" CodeSchemaProperty_IsExternal=\"True\" CodeSchemaProperty_StrongName=\"System.ComponentModel.Composition, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089\" DelayedChildNodesState=\"NotFetched\" DelayedCrossGroupLinksState=\"Fetched\" FilePath=\"C:\\Program Files\\dotnet\\sdk\\NuGetFallbackFolder\\netstandard.library\\2.0.1\\build\\netstandard2.0\\ref\\System.ComponentModel.Composition.dll\" Group=\"Collapsed\" Label=\"System.ComponentModel.Composition.dll\">\n      <Category Ref=\"FileSystem.Category.FileOfType.dll\" />\n    </Node>\n    <Node Id=\"@38\" Category=\"CodeSchema_Assembly\" CodeSchemaProperty_IsExternal=\"True\" CodeSchemaProperty_StrongName=\"System.Reactive.Linq, Version=3.0.3000.0, Culture=neutral, PublicKeyToken=94bc3704cddfc263\" DelayedChildNodesState=\"NotFetched\" DelayedCrossGroupLinksState=\"Fetched\" FilePath=\"$(VsSolution)\\packages\\System.Reactive.Linq.3.1.1\\lib\\net46\\System.Reactive.Linq.dll\" Group=\"Collapsed\" Label=\"System.Reactive.Linq.dll\">\n      <Category Ref=\"FileSystem.Category.FileOfType.dll\" />\n    </Node>\n    <Node Id=\"@4\" Category=\"CodeSchema_Assembly\" AssemblyTimestamp=\"06/19/2018 15:53:31\" Bounds=\"302.516666666667,110,252.966666666667,25\" CodeSchemaProperty_StrongName=\"UAOOI.Networking.SemanticData, Version=4.0.0.0, Culture=neutral, PublicKeyToken=deede3c2df331bb0\" DelayedChildNodesState=\"NotFetched\" DelayedCrossGroupLinksState=\"Fetched\" FilePath=\"$(7f4ded4e-5933-4229-b9cc-51da49678904.OutputPath)\" Group=\"Collapsed\" Label=\"UAOOI.Networking.SemanticData.dll\">\n      <Category Ref=\"FileSystem.Category.FileOfType.dll\" />\n    </Node>\n    <Node Id=\"@40\" Category=\"CodeSchema_Assembly\" CodeSchemaProperty_IsExternal=\"True\" CodeSchemaProperty_StrongName=\"CommonServiceLocator, Version=2.0.3.0, Culture=neutral, PublicKeyToken=489b6accfaf20ef0\" DelayedChildNodesState=\"NotFetched\" DelayedCrossGroupLinksState=\"Fetched\" FilePath=\"C:\\Users\\mpostol\\.nuget\\packages\\commonservicelocator\\2.0.3\\lib\\netstandard2.0\\CommonServiceLocator.dll\" Group=\"Collapsed\" Label=\"CommonServiceLocator.dll\">\n      <Category Ref=\"FileSystem.Category.FileOfType.dll\" />\n    </Node>\n    <Node Id=\"@42\" Category=\"CodeSchema_Assembly\" CodeSchemaProperty_IsExternal=\"True\" CodeSchemaProperty_StrongName=\"System.Reactive.Interfaces, Version=3.0.1000.0, Culture=neutral, PublicKeyToken=94bc3704cddfc263\" DelayedChildNodesState=\"NotFetched\" DelayedCrossGroupLinksState=\"Fetched\" FilePath=\"$(VsSolution)\\packages\\System.Reactive.Interfaces.3.1.1\\lib\\net45\\System.Reactive.Interfaces.dll\" Group=\"Collapsed\" Label=\"System.Reactive.Interfaces.dll\">\n      <Category Ref=\"FileSystem.Category.FileOfType.dll\" />\n    </Node>\n    <Node Id=\"@44\" Category=\"CodeSchema_Assembly\" AssemblyTimestamp=\"06/19/2018 15:53:41\" Bounds=\"32.4633333333334,55,333.073333333333,25\" CodeSchemaProperty_StrongName=\"UAOOI.Networking.SimulatorInteroperabilityTest, Version=4.0.0.0, Culture=neutral, PublicKeyToken=deede3c2df331bb0\" DelayedChildNodesState=\"NotFetched\" DelayedCrossGroupLinksState=\"Fetched\" FilePath=\"$(9caca823-0479-4831-8510-bf4d52306326.OutputPath)\" Group=\"Collapsed\" Label=\"UAOOI.Networking.SimulatorInteroperabilityTest.dll\">\n      <Category Ref=\"FileSystem.Category.FileOfType.dll\" />\n    </Node>\n    <Node Id=\"@6\" Category=\"CodeSchema_Assembly\" CodeSchemaProperty_IsExternal=\"True\" CodeSchemaProperty_StrongName=\"mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089\" DelayedChildNodesState=\"NotFetched\" DelayedCrossGroupLinksState=\"Fetched\" FilePath=\"$(FxReferenceAssemblies)\\.NETFramework\\v4.6.1\\mscorlib.dll\" Group=\"Collapsed\" Label=\"mscorlib.dll\">\n      <Category Ref=\"FileSystem.Category.FileOfType.dll\" />\n    </Node>\n    <Node Id=\"@8\" Category=\"CodeSchema_Assembly\" CodeSchemaProperty_IsExternal=\"True\" CodeSchemaProperty_StrongName=\"Microsoft.Practices.EnterpriseLibrary.SemanticLogging.TextFile, Version=2.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35\" DelayedChildNodesState=\"NotFetched\" DelayedCrossGroupLinksState=\"Fetched\" FilePath=\"$(VsSolution)\\packages\\EnterpriseLibrary.SemanticLogging.TextFile.2.0.1406.1\\lib\\net45\\Microsoft.Practices.EnterpriseLibrary.SemanticLogging.TextFile.dll\" Group=\"Collapsed\" Label=\"Microsoft.Practices.EnterpriseLibrary.SemanticLogging.TextFile.dll\">\n      <Category Ref=\"FileSystem.Category.FileOfType.dll\" />\n    </Node>\n    <Node Id=\"Common{6F7A6A18-FF7B-4D3B-8B1F-BD525E065174}\" Category=\"CodeMap_SolutionFolder\" Group=\"Expanded\" Label=\"Common\" />\n    <Node Id=\"Configuration{2148B4AF-8B02-45C3-89E7-AEACAE448DDA}\" Category=\"CodeMap_SolutionFolder\" Group=\"Expanded\" Label=\"Configuration\" />\n    <Node Id=\"Networking{F4178F51-3BFF-46DE-841D-C01D4ABA9B0C}\" Category=\"CodeMap_SolutionFolder\" Bounds=\"0,0,338.703333333333,85\" Group=\"Expanded\" Label=\"Networking\" />\n    <Node Id=\"_standardGraphExternalsGroup\" Category=\"Externals\" Bounds=\"289.505,275,86.99,25\" Group=\"Collapsed\" Label=\"Externals\" LayoutSettings=\"List\" />\n  </Nodes>\n  <Links>\n    <Link Source=\"@16\" Target=\"@12\" Category=\"CodeMap_ExternalReference\" />\n    <Link Source=\"@16\" Target=\"@28\" Category=\"CodeMap_ExternalReference\" />\n    <Link Source=\"@16\" Target=\"@30\" Category=\"CodeMap_ExternalReference\" />\n    <Link Source=\"@16\" Target=\"@36\" Category=\"CodeMap_ExternalReference\" />\n    <Link Source=\"@16\" Target=\"@6\" Category=\"CodeMap_ExternalReference\" />\n    <Link Source=\"@2\" Target=\"@10\" Category=\"References\" IsSourceVirtualized=\"True\" IsTargetVirtualized=\"True\" Weight=\"9\">\n      <Category Ref=\"CodeMap_ExternalReference\" />\n      <Category Ref=\"CodeSchema_Calls\" />\n    </Link>\n    <Link Source=\"@2\" Target=\"@12\" Category=\"CodeSchema_Calls\" IsSourceVirtualized=\"True\" IsTargetVirtualized=\"True\" Weight=\"6\">\n      <Category Ref=\"CodeMap_ExternalReference\" />\n      <Category Ref=\"CodeSchema_ReturnTypeLink\" />\n    </Link>\n    <Link Source=\"@2\" Target=\"@14\" Category=\"References\" IsSourceVirtualized=\"True\" IsTargetVirtualized=\"True\" Weight=\"13\">\n      <Category Ref=\"CodeMap_ExternalReference\" />\n      <Category Ref=\"CodeSchema_AttributeUse\" />\n      <Category Ref=\"CodeSchema_Calls\" />\n    </Link>\n    <Link Source=\"@2\" Target=\"@16\" Category=\"References\" Bounds=\"1,25,255.093170166016,191.197814941406\" IsSourceVirtualized=\"True\" IsTargetVirtualized=\"True\" Weight=\"21\">\n      <Category Ref=\"CodeMap_ProjectReference\" />\n      <Category Ref=\"CodeSchema_Calls\" />\n      <Category Ref=\"CodeSchema_ReturnTypeLink\" />\n    </Link>\n    <Link Source=\"@2\" Target=\"@18\" Category=\"References\" IsSourceVirtualized=\"True\" IsTargetVirtualized=\"True\" Weight=\"9\">\n      <Category Ref=\"CodeMap_ExternalReference\" />\n      <Category Ref=\"CodeSchema_Calls\" />\n      <Category Ref=\"CodeSchema_ReturnTypeLink\" />\n      <Category Ref=\"InheritsFrom\" />\n    </Link>\n    <Link Source=\"@2\" Target=\"@20\" Category=\"References\" IsSourceVirtualized=\"True\" IsTargetVirtualized=\"True\" Weight=\"14\">\n      <Category Ref=\"CodeMap_ExternalReference\" />\n      <Category Ref=\"CodeSchema_Calls\" />\n    </Link>\n    <Link Source=\"@2\" Target=\"@22\" Category=\"References\" Bounds=\"272,25,125,131\" IsSourceVirtualized=\"True\" IsTargetVirtualized=\"True\" Weight=\"39\">\n      <Category Ref=\"CodeMap_ProjectReference\" />\n      <Category Ref=\"CodeSchema_Calls\" />\n      <Category Ref=\"CodeSchema_ReturnTypeLink\" />\n      <Category Ref=\"InheritsFrom\" />\n    </Link>\n    <Link Source=\"@2\" Target=\"@24\" Category=\"References\" IsSourceVirtualized=\"True\" IsTargetVirtualized=\"True\" Weight=\"43\">\n      <Category Ref=\"CodeMap_ExternalReference\" />\n      <Category Ref=\"CodeSchema_AttributeUse\" />\n      <Category Ref=\"CodeSchema_Calls\" />\n      <Category Ref=\"InheritsFrom\" />\n    </Link>\n    <Link Source=\"@2\" Target=\"@26\" Category=\"Implements\" IsSourceVirtualized=\"True\" IsTargetVirtualized=\"True\" Weight=\"1\">\n      <Category Ref=\"CodeMap_ExternalReference\" />\n    </Link>\n    <Link Source=\"@2\" Target=\"@28\" Category=\"CodeSchema_ReturnTypeLink\" IsSourceVirtualized=\"True\" IsTargetVirtualized=\"True\" Weight=\"1\">\n      <Category Ref=\"CodeMap_ExternalReference\" />\n    </Link>\n    <Link Source=\"@2\" Target=\"@30\" Category=\"References\" IsSourceVirtualized=\"True\" IsTargetVirtualized=\"True\" Weight=\"125\">\n      <Category Ref=\"CodeMap_ExternalReference\" />\n      <Category Ref=\"CodeSchema_AttributeUse\" />\n      <Category Ref=\"CodeSchema_Calls\" />\n      <Category Ref=\"CodeSchema_ReturnTypeLink\" />\n      <Category Ref=\"Implements\" />\n      <Category Ref=\"InheritsFrom\" />\n    </Link>\n    <Link Source=\"@2\" Target=\"@32\" Category=\"CodeSchema_Calls\" IsSourceVirtualized=\"True\" IsTargetVirtualized=\"True\" Weight=\"2\">\n      <Category Ref=\"CodeMap_ExternalReference\" />\n    </Link>\n    <Link Source=\"@2\" Target=\"@34\" Category=\"References\" IsSourceVirtualized=\"True\" IsTargetVirtualized=\"True\" Weight=\"7\">\n      <Category Ref=\"CodeMap_ExternalReference\" />\n      <Category Ref=\"CodeSchema_Calls\" />\n      <Category Ref=\"CodeSchema_ReturnTypeLink\" />\n    </Link>\n    <Link Source=\"@2\" Target=\"@36\" Category=\"References\" IsSourceVirtualized=\"True\" IsTargetVirtualized=\"True\" Weight=\"78\">\n      <Category Ref=\"CodeMap_ExternalReference\" />\n      <Category Ref=\"CodeSchema_AttributeUse\" />\n      <Category Ref=\"CodeSchema_Calls\" />\n      <Category Ref=\"CodeSchema_ReturnTypeLink\" />\n      <Category Ref=\"InheritsFrom\" />\n    </Link>\n    <Link Source=\"@2\" Target=\"@38\" Category=\"CodeSchema_Calls\" IsSourceVirtualized=\"True\" IsTargetVirtualized=\"True\" Weight=\"3\">\n      <Category Ref=\"CodeMap_ExternalReference\" />\n    </Link>\n    <Link Source=\"@2\" Target=\"@4\" Category=\"References\" Bounds=\"404.272735595703,25,24.7272644042969,76\" IsSourceVirtualized=\"True\" IsTargetVirtualized=\"True\" Weight=\"63\">\n      <Category Ref=\"CodeMap_ProjectReference\" />\n      <Category Ref=\"CodeSchema_Calls\" />\n      <Category Ref=\"CodeSchema_ReturnTypeLink\" />\n      <Category Ref=\"Implements\" />\n      <Category Ref=\"InheritsFrom\" />\n    </Link>\n    <Link Source=\"@2\" Target=\"@40\" Category=\"References\" IsSourceVirtualized=\"True\" IsTargetVirtualized=\"True\" Weight=\"10\">\n      <Category Ref=\"CodeMap_ExternalReference\" />\n      <Category Ref=\"CodeSchema_Calls\" />\n      <Category Ref=\"CodeSchema_ReturnTypeLink\" />\n      <Category Ref=\"InheritsFrom\" />\n    </Link>\n    <Link Source=\"@2\" Target=\"@42\" Category=\"CodeMap_ExternalReference\" />\n    <Link Source=\"@2\" Target=\"@44\" Category=\"CodeMap_ProjectReference\" Bounds=\"252.671661376953,25,99.3283386230469,27.5912055969238\" />\n    <Link Source=\"@2\" Target=\"@6\" Category=\"References\" IsSourceVirtualized=\"True\" IsTargetVirtualized=\"True\" Weight=\"848\">\n      <Category Ref=\"CodeMap_ExternalReference\" />\n      <Category Ref=\"CodeSchema_AttributeUse\" />\n      <Category Ref=\"CodeSchema_Calls\" />\n      <Category Ref=\"CodeSchema_FieldRead\" />\n      <Category Ref=\"CodeSchema_ReturnTypeLink\" />\n      <Category Ref=\"Implements\" />\n      <Category Ref=\"InheritsFrom\" />\n    </Link>\n    <Link Source=\"@2\" Target=\"@8\" Category=\"References\" IsSourceVirtualized=\"True\" IsTargetVirtualized=\"True\" Weight=\"4\">\n      <Category Ref=\"CodeMap_ExternalReference\" />\n      <Category Ref=\"CodeSchema_Calls\" />\n    </Link>\n    <Link Source=\"@22\" Target=\"@12\" Category=\"CodeMap_ExternalReference\" />\n    <Link Source=\"@22\" Target=\"@16\" Category=\"References\" Bounds=\"210.883316040039,190,40.889404296875,25.2687377929688\" IsSourceVirtualized=\"True\" IsTargetVirtualized=\"True\" Weight=\"8\">\n      <Category Ref=\"CodeMap_ProjectReference\" />\n      <Category Ref=\"CodeSchema_Calls\" />\n      <Category Ref=\"CodeSchema_ReturnTypeLink\" />\n      <Category Ref=\"Implements\" />\n    </Link>\n    <Link Source=\"@22\" Target=\"@28\" Category=\"CodeMap_ExternalReference\" />\n    <Link Source=\"@22\" Target=\"@30\" Category=\"CodeMap_ExternalReference\" />\n    <Link Source=\"@22\" Target=\"@36\" Category=\"CodeMap_ExternalReference\" />\n    <Link Source=\"@22\" Target=\"@40\" Category=\"CodeSchema_Calls\" IsSourceVirtualized=\"True\" IsTargetVirtualized=\"True\" Weight=\"4\">\n      <Category Ref=\"CodeMap_ExternalReference\" />\n    </Link>\n    <Link Source=\"@22\" Target=\"@6\" Category=\"CodeMap_ExternalReference\" />\n    <Link Source=\"@4\" Target=\"@12\" Category=\"CodeMap_ExternalReference\" />\n    <Link Source=\"@4\" Target=\"@16\" Category=\"CodeMap_ProjectReference\" Bounds=\"269.284210205078,135,159.715789794922,83.5650939941406\" />\n    <Link Source=\"@4\" Target=\"@22\" Category=\"References\" Bounds=\"316.175689697266,135,77.1424865722656,27.0244293212891\" IsSourceVirtualized=\"True\" IsTargetVirtualized=\"True\" Weight=\"221\">\n      <Category Ref=\"CodeMap_ProjectReference\" />\n      <Category Ref=\"CodeSchema_Calls\" />\n      <Category Ref=\"CodeSchema_ReturnTypeLink\" />\n    </Link>\n    <Link Source=\"@4\" Target=\"@28\" Category=\"CodeMap_ExternalReference\" />\n    <Link Source=\"@4\" Target=\"@30\" Category=\"CodeMap_ExternalReference\" />\n    <Link Source=\"@4\" Target=\"@36\" Category=\"CodeSchema_AttributeUse\" IsSourceVirtualized=\"True\" IsTargetVirtualized=\"True\" Weight=\"1\">\n      <Category Ref=\"CodeMap_ExternalReference\" />\n    </Link>\n    <Link Source=\"@4\" Target=\"@40\" Category=\"CodeMap_ExternalReference\" />\n    <Link Source=\"@4\" Target=\"@6\" Category=\"CodeMap_ExternalReference\" />\n    <Link Source=\"@44\" Target=\"@12\" Category=\"CodeMap_ExternalReference\" />\n    <Link Source=\"@44\" Target=\"@16\" Category=\"CodeMap_ExternalReference\" Bounds=\"115,80,64.9090881347656,134.340179443359\" />\n    <Link Source=\"@44\" Target=\"@22\" Category=\"References\" Bounds=\"207.295455932617,80,51.4325408935547,77.5010833740234\" IsSourceVirtualized=\"True\" IsTargetVirtualized=\"True\" Weight=\"34\">\n      <Category Ref=\"CodeMap_ExternalReference\" />\n      <Category Ref=\"CodeSchema_Calls\" />\n      <Category Ref=\"CodeSchema_ReturnTypeLink\" />\n      <Category Ref=\"InheritsFrom\" />\n    </Link>\n    <Link Source=\"@44\" Target=\"@28\" Category=\"CodeMap_ExternalReference\" />\n    <Link Source=\"@44\" Target=\"@30\" Category=\"CodeMap_ExternalReference\" />\n    <Link Source=\"@44\" Target=\"@36\" Category=\"CodeSchema_AttributeUse\" IsSourceVirtualized=\"True\" IsTargetVirtualized=\"True\" Weight=\"6\">\n      <Category Ref=\"CodeMap_ExternalReference\" />\n    </Link>\n    <Link Source=\"@44\" Target=\"@4\" Category=\"References\" Bounds=\"251.272720336914,80,116.70133972168,27.9068374633789\" IsSourceVirtualized=\"True\" IsTargetVirtualized=\"True\" Weight=\"40\">\n      <Category Ref=\"CodeMap_ProjectReference\" />\n      <Category Ref=\"CodeSchema_Calls\" />\n      <Category Ref=\"CodeSchema_ReturnTypeLink\" />\n      <Category Ref=\"Implements\" />\n      <Category Ref=\"InheritsFrom\" />\n    </Link>\n    <Link Source=\"@44\" Target=\"@40\" Category=\"CodeMap_ExternalReference\" />\n    <Link Source=\"@44\" Target=\"@6\" Category=\"CodeMap_ExternalReference\" />\n    <Link Source=\"Common{6F7A6A18-FF7B-4D3B-8B1F-BD525E065174}\" Target=\"@16\" Category=\"Contains\" FetchingParent=\"Common{6F7A6A18-FF7B-4D3B-8B1F-BD525E065174}\" />\n    <Link Source=\"Configuration{2148B4AF-8B02-45C3-89E7-AEACAE448DDA}\" Target=\"@22\" Category=\"Contains\" FetchingParent=\"Configuration{2148B4AF-8B02-45C3-89E7-AEACAE448DDA}\" />\n    <Link Source=\"Networking{F4178F51-3BFF-46DE-841D-C01D4ABA9B0C}\" Target=\"@2\" Category=\"Contains\" FetchingParent=\"Networking{F4178F51-3BFF-46DE-841D-C01D4ABA9B0C}\" />\n    <Link Source=\"Networking{F4178F51-3BFF-46DE-841D-C01D4ABA9B0C}\" Target=\"@4\" Category=\"Contains\" FetchingParent=\"Networking{F4178F51-3BFF-46DE-841D-C01D4ABA9B0C}\" />\n    <Link Source=\"Networking{F4178F51-3BFF-46DE-841D-C01D4ABA9B0C}\" Target=\"@44\" Category=\"Contains\" FetchingParent=\"Networking{F4178F51-3BFF-46DE-841D-C01D4ABA9B0C}\" />\n    <Link Source=\"_standardGraphExternalsGroup\" Target=\"@10\" Category=\"Contains\" />\n    <Link Source=\"_standardGraphExternalsGroup\" Target=\"@12\" Category=\"Contains\" />\n    <Link Source=\"_standardGraphExternalsGroup\" Target=\"@14\" Category=\"Contains\" />\n    <Link Source=\"_standardGraphExternalsGroup\" Target=\"@18\" Category=\"Contains\" />\n    <Link Source=\"_standardGraphExternalsGroup\" Target=\"@20\" Category=\"Contains\" />\n    <Link Source=\"_standardGraphExternalsGroup\" Target=\"@24\" Category=\"Contains\" />\n    <Link Source=\"_standardGraphExternalsGroup\" Target=\"@26\" Category=\"Contains\" />\n    <Link Source=\"_standardGraphExternalsGroup\" Target=\"@28\" Category=\"Contains\" />\n    <Link Source=\"_standardGraphExternalsGroup\" Target=\"@30\" Category=\"Contains\" />\n    <Link Source=\"_standardGraphExternalsGroup\" Target=\"@32\" Category=\"Contains\" />\n    <Link Source=\"_standardGraphExternalsGroup\" Target=\"@34\" Category=\"Contains\" />\n    <Link Source=\"_standardGraphExternalsGroup\" Target=\"@36\" Category=\"Contains\" />\n    <Link Source=\"_standardGraphExternalsGroup\" Target=\"@38\" Category=\"Contains\" />\n    <Link Source=\"_standardGraphExternalsGroup\" Target=\"@40\" Category=\"Contains\" />\n    <Link Source=\"_standardGraphExternalsGroup\" Target=\"@42\" Category=\"Contains\" />\n    <Link Source=\"_standardGraphExternalsGroup\" Target=\"@6\" Category=\"Contains\" />\n    <Link Source=\"_standardGraphExternalsGroup\" Target=\"@8\" Category=\"Contains\" />\n  </Links>\n  <Categories>\n    <Category Id=\"CodeMap_ExternalReference\" Label=\"External Reference\" CanBeDataDriven=\"True\" CanLinkedNodesBeDataDriven=\"True\" IncomingActionLabel=\"Referenced By\" OutgoingActionLabel=\"References\" />\n    <Category Id=\"CodeMap_ProjectReference\" Label=\"Project Reference\" CanBeDataDriven=\"True\" CanLinkedNodesBeDataDriven=\"True\" IncomingActionLabel=\"Referenced By\" OutgoingActionLabel=\"References\" />\n    <Category Id=\"CodeMap_SolutionFolder\" Label=\"Solution Folder\" CanBeDataDriven=\"True\" IsProviderRoot=\"False\" NavigationActionLabel=\"Solution Folder\" />\n    <Category Id=\"CodeMap_WpfProject\" Label=\"WPF Project\" CanBeDataDriven=\"True\" IsProviderRoot=\"False\" NavigationActionLabel=\"WPF Projects\" />\n    <Category Id=\"CodeSchema_Assembly\" Label=\"Assembly\" BasedOn=\"File\" CanBeDataDriven=\"True\" DefaultAction=\"Microsoft.Contains\" Icon=\"CodeSchema_Assembly\" NavigationActionLabel=\"Assemblies\" />\n    <Category Id=\"CodeSchema_AttributeUse\" Label=\"Uses Attribute\" CanBeDataDriven=\"True\" CanLinkedNodesBeDataDriven=\"True\" IncomingActionLabel=\"Used by\" OutgoingActionLabel=\"Uses Attribute\" />\n    <Category Id=\"CodeSchema_Calls\" Label=\"Calls\" CanBeDataDriven=\"True\" CanLinkedNodesBeDataDriven=\"True\" IncomingActionLabel=\"Called By\" OutgoingActionLabel=\"Calls\" />\n    <Category Id=\"CodeSchema_FieldRead\" Label=\"Field Read\" BasedOn=\"CodeSchema_FieldReference\" CanBeDataDriven=\"True\" CanLinkedNodesBeDataDriven=\"True\" IncomingActionLabel=\"Read By\" OutgoingActionLabel=\"Reads Fields\" />\n    <Category Id=\"CodeSchema_FieldReference\" Label=\"Field Reference\" CanBeDataDriven=\"True\" CanLinkedNodesBeDataDriven=\"True\" IncomingActionLabel=\"Referenced By\" OutgoingActionLabel=\"References Fields\" />\n    <Category Id=\"CodeSchema_ReturnTypeLink\" Label=\"Return\" CanBeDataDriven=\"True\" CanLinkedNodesBeDataDriven=\"True\" IncomingActionLabel=\"Return types\" OutgoingActionLabel=\"Return types\" />\n    <Category Id=\"Contains\" Label=\"Contains\" Description=\"Whether the source of the link contains the target object\" CanBeDataDriven=\"False\" CanLinkedNodesBeDataDriven=\"True\" IncomingActionLabel=\"Contained By\" IsContainment=\"True\" OutgoingActionLabel=\"Contains\" />\n    <Category Id=\"Externals\" Label=\"Externals\" CanBeDataDriven=\"True\" IsProviderRoot=\"False\" NavigationActionLabel=\"Externals\" />\n    <Category Id=\"File\" Label=\"File\" CanBeDataDriven=\"True\" DefaultAction=\"Microsoft.Contains\" Icon=\"File\" NavigationActionLabel=\"Files\" />\n    <Category Id=\"FileSystem.Category.FileOfType.dll\" BasedOn=\"CodeSchema_Assembly\" CanBeDataDriven=\"True\" IsProviderRoot=\"False\" />\n    <Category Id=\"FileSystem.Category.FileOfType.exe\" BasedOn=\"CodeSchema_Assembly\" CanBeDataDriven=\"True\" IsProviderRoot=\"False\" />\n    <Category Id=\"Implements\" Label=\"Implements\" CanBeDataDriven=\"True\" CanLinkedNodesBeDataDriven=\"True\" IncomingActionLabel=\"Implemented by\" OutgoingActionLabel=\"Implements\" />\n    <Category Id=\"InheritsFrom\" Label=\"Inherits From\" CanBeDataDriven=\"True\" CanLinkedNodesBeDataDriven=\"True\" IncomingActionLabel=\"Inherited By\" OutgoingActionLabel=\"Inherits From\" />\n    <Category Id=\"References\" Label=\"References\" CanBeDataDriven=\"True\" CanLinkedNodesBeDataDriven=\"True\" IncomingActionLabel=\"Referenced By\" OutgoingActionLabel=\"References\" />\n  </Categories>\n  <Properties>\n    <Property Id=\"AssemblyTimestamp\" DataType=\"System.DateTime\" />\n    <Property Id=\"Bounds\" DataType=\"System.Windows.Rect\" />\n    <Property Id=\"CanBeDataDriven\" Label=\"CanBeDataDriven\" Description=\"CanBeDataDriven\" DataType=\"System.Boolean\" />\n    <Property Id=\"CanLinkedNodesBeDataDriven\" Label=\"CanLinkedNodesBeDataDriven\" Description=\"CanLinkedNodesBeDataDriven\" DataType=\"System.Boolean\" />\n    <Property Id=\"CodeSchemaProperty_IsExternal\" Label=\"Is External\" Description=\"Flag indicating whether this node is considered external\" DataType=\"System.Boolean\" />\n    <Property Id=\"CodeSchemaProperty_StrongName\" Label=\"StrongName\" Description=\"StrongName\" DataType=\"System.String\" />\n    <Property Id=\"DataVirtualized\" Label=\"Data Virtualized\" Description=\"If true, the graph can contain nodes and links that represent data for virtualized nodes/links (i.e. not actually created in the graph).\" DataType=\"System.Boolean\" />\n    <Property Id=\"DefaultAction\" Label=\"DefaultAction\" Description=\"DefaultAction\" DataType=\"System.String\" />\n    <Property Id=\"DelayedChildNodesState\" Label=\"Delayed Child Nodes State\" Description=\"Unspecified if the delayed child nodes state is not specified. NotFetched if the group contains child nodes that are not fetched into the graph yet. Fetched if the group has all its delayed child nodes already fetched.\" DataType=\"Microsoft.VisualStudio.GraphModel.DelayedDataState\" />\n    <Property Id=\"DelayedCrossGroupLinksState\" Label=\"Delayed Cross-Group Links State\" Description=\"Unspecified if the delayed cross-group links state is not specified. NotFetched if delayed cross-group links on this node are not fetched into the graph yet. Fetched if all delayed cross-group links have already fetched.\" DataType=\"Microsoft.VisualStudio.GraphModel.DelayedDataState\" />\n    <Property Id=\"Expression\" DataType=\"System.String\" />\n    <Property Id=\"FetchingParent\" DataType=\"Microsoft.VisualStudio.GraphModel.GraphNodeId\" />\n    <Property Id=\"FilePath\" Label=\"File Path\" Description=\"File Path\" DataType=\"System.String\" />\n    <Property Id=\"FilterState\" DataType=\"System.String\" />\n    <Property Id=\"Group\" Label=\"Group\" Description=\"Display the node as a group\" DataType=\"Microsoft.VisualStudio.GraphModel.GraphGroupStyle\" />\n    <Property Id=\"GroupLabel\" DataType=\"System.String\" />\n    <Property Id=\"Icon\" DataType=\"System.String\" />\n    <Property Id=\"IncomingActionLabel\" Label=\"IncomingActionLabel\" Description=\"IncomingActionLabel\" DataType=\"System.String\" />\n    <Property Id=\"IsContainment\" DataType=\"System.Boolean\" />\n    <Property Id=\"IsEnabled\" DataType=\"System.Boolean\" />\n    <Property Id=\"IsProviderRoot\" Label=\"IsProviderRoot\" Description=\"IsProviderRoot\" DataType=\"System.Boolean\" />\n    <Property Id=\"IsSourceVirtualized\" Label=\"Link Source Virtualized\" Description=\"If true, the link source end contains data for virtualized nodes/links (i.e. not actually created in the graph).\" DataType=\"System.Boolean\" />\n    <Property Id=\"IsTargetVirtualized\" Label=\"Link Target Virtualized\" Description=\"If true, the link target end contains data for virtualized nodes/links (i.e. not actually created in the graph).\" DataType=\"System.Boolean\" />\n    <Property Id=\"Label\" Label=\"Label\" Description=\"Displayable label of an Annotatable object\" DataType=\"System.String\" />\n    <Property Id=\"Layout\" DataType=\"System.String\" />\n    <Property Id=\"LayoutSettings\" DataType=\"Microsoft.VisualStudio.Diagrams.View.GroupLayoutStyle\" />\n    <Property Id=\"NavigationActionLabel\" Label=\"NavigationActionLabel\" Description=\"NavigationActionLabel\" DataType=\"System.String\" />\n    <Property Id=\"OutgoingActionLabel\" Label=\"OutgoingActionLabel\" Description=\"OutgoingActionLabel\" DataType=\"System.String\" />\n    <Property Id=\"TargetType\" DataType=\"System.Type\" />\n    <Property Id=\"Value\" DataType=\"System.String\" />\n    <Property Id=\"ValueLabel\" DataType=\"System.String\" />\n    <Property Id=\"Visibility\" Label=\"Visibility\" Description=\"Defines whether a node in the graph is visible or not\" DataType=\"System.Windows.Visibility\" />\n    <Property Id=\"Weight\" Label=\"Weight\" Description=\"Weight\" DataType=\"System.Double\" />\n    <Property Id=\"ZoomLevel\" DataType=\"System.String\" />\n  </Properties>\n  <QualifiedNames>\n    <Name Id=\"Assembly\" Label=\"Assembly\" ValueType=\"Uri\" />\n  </QualifiedNames>\n  <IdentifierAliases>\n    <Alias n=\"1\" Uri=\"Assembly=$(f0accb28-ae0d-4e19-94fa-7be3044f1eeb.OutputPathUri)\" />\n    <Alias n=\"2\" Id=\"(@1)\" />\n    <Alias n=\"3\" Uri=\"Assembly=$(7f4ded4e-5933-4229-b9cc-51da49678904.OutputPathUri)\" />\n    <Alias n=\"4\" Id=\"(@3)\" />\n    <Alias n=\"5\" Uri=\"Assembly=$(FxReferenceAssembliesUri)/.NETFramework/v4.6.1/mscorlib.dll\" />\n    <Alias n=\"6\" Id=\"(@5)\" />\n    <Alias n=\"7\" Uri=\"Assembly=$(VsSolutionUri)/packages/EnterpriseLibrary.SemanticLogging.TextFile.2.0.1406.1/lib/net45/Microsoft.Practices.EnterpriseLibrary.SemanticLogging.TextFile.dll\" />\n    <Alias n=\"8\" Id=\"(@7)\" />\n    <Alias n=\"9\" Uri=\"Assembly=$(VsSolutionUri)/packages/System.Reactive.Core.3.1.1/lib/net46/System.Reactive.Core.dll\" />\n    <Alias n=\"10\" Id=\"(@9)\" />\n    <Alias n=\"11\" Uri=\"Assembly=$(FxReferenceAssembliesUri)/.NETFramework/v4.6.1/System.Core.dll\" />\n    <Alias n=\"12\" Id=\"(@11)\" />\n    <Alias n=\"13\" Uri=\"Assembly=$(FxReferenceAssembliesUri)/.NETFramework/v4.6.1/PresentationCore.dll\" />\n    <Alias n=\"14\" Id=\"(@13)\" />\n    <Alias n=\"15\" Uri=\"Assembly=$(8817a671-abb8-463a-a8a3-ddcfe781a6b6.OutputPathUri)\" />\n    <Alias n=\"16\" Id=\"(@15)\" />\n    <Alias n=\"17\" Uri=\"Assembly=$(FxReferenceAssembliesUri)/.NETFramework/v4.6.1/WindowsBase.dll\" />\n    <Alias n=\"18\" Id=\"(@17)\" />\n    <Alias n=\"19\" Uri=\"Assembly=$(VsSolutionUri)/packages/EnterpriseLibrary.SemanticLogging.2.0.1406.1/lib/net45/Microsoft.Practices.EnterpriseLibrary.SemanticLogging.dll\" />\n    <Alias n=\"20\" Id=\"(@19)\" />\n    <Alias n=\"21\" Uri=\"Assembly=$(e28e0880-03aa-4d1b-a820-41b04e766019.OutputPathUri)\" />\n    <Alias n=\"22\" Id=\"(@21)\" />\n    <Alias n=\"23\" Uri=\"Assembly=$(FxReferenceAssembliesUri)/.NETFramework/v4.6.1/PresentationFramework.dll\" />\n    <Alias n=\"24\" Id=\"(@23)\" />\n    <Alias n=\"25\" Uri=\"Assembly=$(FxReferenceAssembliesUri)/.NETFramework/v4.6.1/System.Xaml.dll\" />\n    <Alias n=\"26\" Id=\"(@25)\" />\n    <Alias n=\"27\" Uri=\"Assembly=$(FxReferenceAssembliesUri)/.NETFramework/v4.6.1/System.Xml.dll\" />\n    <Alias n=\"28\" Id=\"(@27)\" />\n    <Alias n=\"29\" Uri=\"Assembly=$(FxReferenceAssembliesUri)/.NETFramework/v4.6.1/System.dll\" />\n    <Alias n=\"30\" Id=\"(@29)\" />\n    <Alias n=\"31\" Uri=\"Assembly=$(VsSolutionUri)/packages/MvvmLightLibs.5.4.1/lib/net45/GalaSoft.MvvmLight.Platform.dll\" />\n    <Alias n=\"32\" Id=\"(@31)\" />\n    <Alias n=\"33\" Uri=\"Assembly=$(VsSolutionUri)/packages/CAS.UA.IServerConfiguration.1.00.00/lib/net35/CAS.UA.IServerConfiguration.dll\" />\n    <Alias n=\"34\" Id=\"(@33)\" />\n    <Alias n=\"35\" Uri=\"Assembly=file:///C:/Program Files/dotnet/sdk/NuGetFallbackFolder/netstandard.library/2.0.1/build/netstandard2.0/ref/System.ComponentModel.Composition.dll\" />\n    <Alias n=\"36\" Id=\"(@35)\" />\n    <Alias n=\"37\" Uri=\"Assembly=$(VsSolutionUri)/packages/System.Reactive.Linq.3.1.1/lib/net46/System.Reactive.Linq.dll\" />\n    <Alias n=\"38\" Id=\"(@37)\" />\n    <Alias n=\"39\" Uri=\"Assembly=file:///C:/Users/mpostol/.nuget/packages/commonservicelocator/2.0.3/lib/netstandard2.0/CommonServiceLocator.dll\" />\n    <Alias n=\"40\" Id=\"(@39)\" />\n    <Alias n=\"41\" Uri=\"Assembly=$(VsSolutionUri)/packages/System.Reactive.Interfaces.3.1.1/lib/net45/System.Reactive.Interfaces.dll\" />\n    <Alias n=\"42\" Id=\"(@41)\" />\n    <Alias n=\"43\" Uri=\"Assembly=$(9caca823-0479-4831-8510-bf4d52306326.OutputPathUri)\" />\n    <Alias n=\"44\" Id=\"(@43)\" />\n  </IdentifierAliases>\n  <Styles>\n    <Style TargetType=\"Node\" GroupLabel=\"Results\" ValueLabel=\"True\">\n      <Condition Expression=\"HasCategory('QueryResult')\" />\n      <Setter Property=\"Background\" Value=\"#FFBCFFBE\" />\n    </Style>\n    <Style TargetType=\"Node\" GroupLabel=\"Test Project\" ValueLabel=\"Test Project\">\n      <Condition Expression=\"HasCategory('CodeMap_TestProject')\" />\n      <Setter Property=\"Icon\" Value=\"CodeMap_TestProject\" />\n      <Setter Property=\"Background\" Value=\"#FF307A69\" />\n    </Style>\n    <Style TargetType=\"Node\" GroupLabel=\"Web Project\" ValueLabel=\"Web Project\">\n      <Condition Expression=\"HasCategory('CodeMap_WebProject')\" />\n      <Setter Property=\"Icon\" Value=\"CodeMap_WebProject\" />\n    </Style>\n    <Style TargetType=\"Node\" GroupLabel=\"Windows Store Project\" ValueLabel=\"Windows Store Project\">\n      <Condition Expression=\"HasCategory('CodeMap_WindowsStoreProject')\" />\n      <Setter Property=\"Icon\" Value=\"CodeMap_WindowsStoreProject\" />\n    </Style>\n    <Style TargetType=\"Node\" GroupLabel=\"Phone Project\" ValueLabel=\"Phone Project\">\n      <Condition Expression=\"HasCategory('CodeMap_PhoneProject')\" />\n      <Setter Property=\"Icon\" Value=\"CodeMap_PhoneProject\" />\n    </Style>\n    <Style TargetType=\"Node\" GroupLabel=\"Portable Library\" ValueLabel=\"Portable Library\">\n      <Condition Expression=\"HasCategory('CodeMap_PortableLibraryProject')\" />\n      <Setter Property=\"Icon\" Value=\"CodeMap_PortableLibraryProject\" />\n    </Style>\n    <Style TargetType=\"Node\" GroupLabel=\"WPF Project\" ValueLabel=\"WPF Project\">\n      <Condition Expression=\"HasCategory('CodeMap_WpfProject')\" />\n      <Setter Property=\"Icon\" Value=\"CodeMap_WpfProject\" />\n    </Style>\n    <Style TargetType=\"Node\" GroupLabel=\"VSIX Project\" ValueLabel=\"VSIX Project\">\n      <Condition Expression=\"HasCategory('CodeMap_VsixProject')\" />\n      <Setter Property=\"Icon\" Value=\"CodeMap_VsixProject\" />\n    </Style>\n    <Style TargetType=\"Node\" GroupLabel=\"Modeling Project\" ValueLabel=\"Modeling Project\">\n      <Condition Expression=\"HasCategory('CodeMap_ModelingProject')\" />\n      <Setter Property=\"Icon\" Value=\"CodeMap_ModelingProject\" />\n    </Style>\n    <Style TargetType=\"Node\" GroupLabel=\"Assembly\" ValueLabel=\"Has category\">\n      <Condition Expression=\"HasCategory('CodeSchema_Assembly')\" />\n      <Setter Property=\"Background\" Value=\"#FF094167\" />\n      <Setter Property=\"Stroke\" Value=\"#FF094167\" />\n      <Setter Property=\"Icon\" Value=\"CodeSchema_Assembly\" />\n    </Style>\n    <Style TargetType=\"Node\" GroupLabel=\"Namespace\" ValueLabel=\"Has category\">\n      <Condition Expression=\"HasCategory('CodeSchema_Namespace')\" />\n      <Setter Property=\"Background\" Value=\"#FF0E619A\" />\n      <Setter Property=\"Stroke\" Value=\"#FF0E619A\" />\n      <Setter Property=\"Icon\" Value=\"CodeSchema_Namespace\" />\n    </Style>\n    <Style TargetType=\"Node\" GroupLabel=\"Interface\" ValueLabel=\"Has category\">\n      <Condition Expression=\"HasCategory('CodeSchema_Interface')\" />\n      <Setter Property=\"Background\" Value=\"#FF1382CE\" />\n      <Setter Property=\"Stroke\" Value=\"#FF1382CE\" />\n      <Setter Property=\"Icon\" Value=\"CodeSchema_Interface\" />\n    </Style>\n    <Style TargetType=\"Node\" GroupLabel=\"Struct\" ValueLabel=\"Has category\">\n      <Condition Expression=\"HasCategory('CodeSchema_Struct')\" />\n      <Setter Property=\"Background\" Value=\"#FF1382CE\" />\n      <Setter Property=\"Stroke\" Value=\"#FF1382CE\" />\n      <Setter Property=\"Icon\" Value=\"CodeSchema_Struct\" />\n    </Style>\n    <Style TargetType=\"Node\" GroupLabel=\"Enumeration\" ValueLabel=\"Has category\">\n      <Condition Expression=\"HasCategory('CodeSchema_Enum')\" />\n      <Setter Property=\"Background\" Value=\"#FF1382CE\" />\n      <Setter Property=\"Stroke\" Value=\"#FF1382CE\" />\n      <Setter Property=\"Icon\" Value=\"CodeSchema_Enum\" />\n      <Setter Property=\"LayoutSettings\" Value=\"List\" />\n    </Style>\n    <Style TargetType=\"Node\" GroupLabel=\"Delegate\" ValueLabel=\"Has category\">\n      <Condition Expression=\"HasCategory('CodeSchema_Delegate')\" />\n      <Setter Property=\"Background\" Value=\"#FF1382CE\" />\n      <Setter Property=\"Stroke\" Value=\"#FF1382CE\" />\n      <Setter Property=\"Icon\" Value=\"CodeSchema_Delegate\" />\n    </Style>\n    <Style TargetType=\"Node\" GroupLabel=\"Class\" ValueLabel=\"Has category\">\n      <Condition Expression=\"HasCategory('CodeSchema_Type')\" />\n      <Setter Property=\"Background\" Value=\"#FF0E70C0\" />\n      <Setter Property=\"Stroke\" Value=\"#FF0E70C0\" />\n      <Setter Property=\"Icon\" Value=\"CodeSchema_Class\" />\n    </Style>\n    <Style TargetType=\"Node\" GroupLabel=\"Property\" ValueLabel=\"Has category\">\n      <Condition Expression=\"HasCategory('CodeSchema_Property')\" />\n      <Setter Property=\"Background\" Value=\"#FFE0E0E0\" />\n      <Setter Property=\"Stroke\" Value=\"#FFE0E0E0\" />\n      <Setter Property=\"Icon\" Value=\"CodeSchema_Property\" />\n    </Style>\n    <Style TargetType=\"Node\" GroupLabel=\"Method\" ValueLabel=\"Has category\">\n      <Condition Expression=\"HasCategory('CodeSchema_Method') Or HasCategory('CodeSchema_CallStackUnresolvedMethod')\" />\n      <Setter Property=\"Background\" Value=\"#FFE0E0E0\" />\n      <Setter Property=\"Stroke\" Value=\"#FFE0E0E0\" />\n      <Setter Property=\"Icon\" Value=\"CodeSchema_Method\" />\n      <Setter Property=\"LayoutSettings\" Value=\"List\" />\n    </Style>\n    <Style TargetType=\"Node\" GroupLabel=\"Event\" ValueLabel=\"Has category\">\n      <Condition Expression=\"HasCategory('CodeSchema_Event')\" />\n      <Setter Property=\"Background\" Value=\"#FFE0E0E0\" />\n      <Setter Property=\"Stroke\" Value=\"#FFE0E0E0\" />\n      <Setter Property=\"Icon\" Value=\"CodeSchema_Event\" />\n    </Style>\n    <Style TargetType=\"Node\" GroupLabel=\"Field\" ValueLabel=\"Has category\">\n      <Condition Expression=\"HasCategory('CodeSchema_Field')\" />\n      <Setter Property=\"Background\" Value=\"#FFE0E0E0\" />\n      <Setter Property=\"Stroke\" Value=\"#FFE0E0E0\" />\n      <Setter Property=\"Icon\" Value=\"CodeSchema_Field\" />\n    </Style>\n    <Style TargetType=\"Node\" GroupLabel=\"Out Parameter\" ValueLabel=\"Has category\">\n      <Condition Expression=\"CodeSchemaProperty_IsOut = 'True'\" />\n      <Setter Property=\"Icon\" Value=\"CodeSchema_OutParameter\" />\n    </Style>\n    <Style TargetType=\"Node\" GroupLabel=\"Parameter\" ValueLabel=\"Has category\">\n      <Condition Expression=\"HasCategory('CodeSchema_Parameter')\" />\n      <Setter Property=\"Icon\" Value=\"CodeSchema_Parameter\" />\n    </Style>\n    <Style TargetType=\"Node\" GroupLabel=\"Local Variable\" ValueLabel=\"Has category\">\n      <Condition Expression=\"HasCategory('CodeSchema_LocalExpression')\" />\n      <Setter Property=\"Icon\" Value=\"CodeSchema_LocalExpression\" />\n    </Style>\n    <Style TargetType=\"Node\" GroupLabel=\"Externals\" ValueLabel=\"Has category\">\n      <Condition Expression=\"HasCategory('Externals')\" />\n      <Setter Property=\"Background\" Value=\"#FF424242\" />\n      <Setter Property=\"Stroke\" Value=\"#FF424242\" />\n    </Style>\n    <Style TargetType=\"Link\" GroupLabel=\"Inherits From\" ValueLabel=\"True\">\n      <Condition Expression=\"HasCategory('InheritsFrom')\" />\n      <Setter Property=\"Stroke\" Value=\"#FF00A600\" />\n      <Setter Property=\"StrokeDashArray\" Value=\"2 0\" />\n      <Setter Property=\"DrawArrow\" Value=\"true\" />\n    </Style>\n    <Style TargetType=\"Link\" GroupLabel=\"Implements\" ValueLabel=\"True\">\n      <Condition Expression=\"HasCategory('Implements')\" />\n      <Setter Property=\"Stroke\" Value=\"#8000A600\" />\n      <Setter Property=\"StrokeDashArray\" Value=\"2 2\" />\n      <Setter Property=\"DrawArrow\" Value=\"true\" />\n    </Style>\n    <Style TargetType=\"Link\" GroupLabel=\"Calls\" ValueLabel=\"True\">\n      <Condition Expression=\"HasCategory('CodeSchema_Calls')\" />\n      <Setter Property=\"Stroke\" Value=\"#FFFF00FF\" />\n      <Setter Property=\"StrokeDashArray\" Value=\"2 0\" />\n      <Setter Property=\"DrawArrow\" Value=\"true\" />\n    </Style>\n    <Style TargetType=\"Link\" GroupLabel=\"Function Pointer\" ValueLabel=\"True\">\n      <Condition Expression=\"HasCategory('CodeSchema_FunctionPointer')\" />\n      <Setter Property=\"Stroke\" Value=\"#FFFF00FF\" />\n      <Setter Property=\"StrokeDashArray\" Value=\"2 2\" />\n      <Setter Property=\"DrawArrow\" Value=\"true\" />\n    </Style>\n    <Style TargetType=\"Link\" GroupLabel=\"Field Read\" ValueLabel=\"True\">\n      <Condition Expression=\"HasCategory('CodeSchema_FieldRead')\" />\n      <Setter Property=\"Stroke\" Value=\"#FF00AEEF\" />\n      <Setter Property=\"StrokeDashArray\" Value=\"2 2\" />\n      <Setter Property=\"DrawArrow\" Value=\"true\" />\n    </Style>\n    <Style TargetType=\"Link\" GroupLabel=\"Field Write\" ValueLabel=\"True\">\n      <Condition Expression=\"HasCategory('CodeSchema_FieldWrite')\" />\n      <Setter Property=\"Stroke\" Value=\"#FF00AEEF\" />\n      <Setter Property=\"DrawArrow\" Value=\"true\" />\n      <Setter Property=\"IsHidden\" Value=\"false\" />\n    </Style>\n    <Style TargetType=\"Link\" GroupLabel=\"Inherits From\" ValueLabel=\"True\" Visibility=\"Hidden\">\n      <Condition Expression=\"HasCategory('InheritsFrom') And Target.HasCategory('CodeSchema_Class')\" />\n      <Setter Property=\"TargetDecorator\" Value=\"OpenArrow\" />\n    </Style>\n    <Style TargetType=\"Link\" GroupLabel=\"Implements\" ValueLabel=\"True\" Visibility=\"Hidden\">\n      <Condition Expression=\"HasCategory('Implements') And Target.HasCategory('CodeSchema_Interface')\" />\n      <Setter Property=\"TargetDecorator\" Value=\"OpenArrow\" />\n    </Style>\n    <Style TargetType=\"Link\" GroupLabel=\"Comment Link\" ValueLabel=\"True\" Visibility=\"Hidden\">\n      <Condition Expression=\"Source.HasCategory('Comment')\" />\n      <Setter Property=\"Stroke\" Value=\"#FFE5C365\" />\n    </Style>\n    <Style TargetType=\"Node\" GroupLabel=\"Cursor Location Changed\" ValueLabel=\"True\" Visibility=\"Hidden\">\n      <Condition Expression=\"IsCursorLocation\" />\n      <Setter Property=\"IndicatorWest\" Value=\"WestIndicator\" />\n    </Style>\n    <Style TargetType=\"Node\" GroupLabel=\"Disabled Breakpoint Location Changed\" ValueLabel=\"True\" Visibility=\"Hidden\">\n      <Condition Expression=\"DisabledBreakpointCount\" />\n      <Setter Property=\"IndicatorWest\" Value=\"WestIndicator\" />\n    </Style>\n    <Style TargetType=\"Node\" GroupLabel=\"Enabled Breakpoint Location Changed\" ValueLabel=\"True\" Visibility=\"Hidden\">\n      <Condition Expression=\"EnabledBreakpointCount\" />\n      <Setter Property=\"IndicatorWest\" Value=\"WestIndicator\" />\n    </Style>\n    <Style TargetType=\"Node\" GroupLabel=\"Instruction Pointer Location Changed\" ValueLabel=\"True\" Visibility=\"Hidden\">\n      <Condition Expression=\"IsInstructionPointerLocation\" />\n      <Setter Property=\"IndicatorWest\" Value=\"WestIndicator\" />\n    </Style>\n    <Style TargetType=\"Node\" GroupLabel=\"Current Callstack Changed\" ValueLabel=\"True\" Visibility=\"Hidden\">\n      <Condition Expression=\"IsCurrentCallstackFrame\" />\n      <Setter Property=\"IndicatorWest\" Value=\"WestIndicator\" />\n    </Style>\n    <Style TargetType=\"Link\" GroupLabel=\"Return\" ValueLabel=\"True\" Visibility=\"Hidden\">\n      <Condition Expression=\"HasCategory('CodeSchema_ReturnTypeLink')\" />\n    </Style>\n    <Style TargetType=\"Link\" GroupLabel=\"References\" ValueLabel=\"True\" Visibility=\"Hidden\">\n      <Condition Expression=\"HasCategory('References')\" />\n    </Style>\n    <Style TargetType=\"Link\" GroupLabel=\"Uses Attribute\" ValueLabel=\"True\" Visibility=\"Hidden\">\n      <Condition Expression=\"HasCategory('CodeSchema_AttributeUse')\" />\n    </Style>\n    <Style TargetType=\"Node\" IsEnabled=\"false\" GroupLabel=\"Solution Folder\" ValueLabel=\"True\" Visibility=\"Hidden\">\n      <Condition Expression=\"HasCategory('CodeMap_SolutionFolder')\" />\n      <Setter Property=\"Background\" Value=\"#FFDEBA83\" />\n    </Style>\n    <Style TargetType=\"Link\" GroupLabel=\"Project Reference\" ValueLabel=\"Project Reference\">\n      <Condition Expression=\"HasCategory('CodeMap_ProjectReference')\" />\n      <Setter Property=\"Stroke\" Value=\"#9A9A9A\" />\n      <Setter Property=\"StrokeDashArray\" Value=\"2 2\" />\n      <Setter Property=\"DrawArrow\" Value=\"true\" />\n    </Style>\n    <Style TargetType=\"Link\" GroupLabel=\"External Reference\" ValueLabel=\"External Reference\">\n      <Condition Expression=\"HasCategory('CodeMap_ExternalReference')\" />\n      <Setter Property=\"Stroke\" Value=\"#9A9A9A\" />\n      <Setter Property=\"StrokeDashArray\" Value=\"2 2\" />\n      <Setter Property=\"DrawArrow\" Value=\"true\" />\n    </Style>\n  </Styles>\n  <Paths>\n    <Path Id=\"7f4ded4e-5933-4229-b9cc-51da49678904.OutputPath\" Value=\"E:\\GitHub\\OPC-UA-OOI.400\\Networking\\SemanticData\\bin\\Debug\\netstandard2.0\\UAOOI.Networking.SemanticData.dll\" />\n    <Path Id=\"7f4ded4e-5933-4229-b9cc-51da49678904.OutputPathUri\" Value=\"file:///E:/GitHub/OPC-UA-OOI.400/Networking/SemanticData/bin/Debug/netstandard2.0/UAOOI.Networking.SemanticData.dll\" />\n    <Path Id=\"8817a671-abb8-463a-a8a3-ddcfe781a6b6.OutputPath\" Value=\"E:\\GitHub\\OPC-UA-OOI.400\\Common\\Infrastructure\\bin\\Debug\\netstandard2.0\\UAOOI.Common.Infrastructure.dll\" />\n    <Path Id=\"8817a671-abb8-463a-a8a3-ddcfe781a6b6.OutputPathUri\" Value=\"file:///E:/GitHub/OPC-UA-OOI.400/Common/Infrastructure/bin/Debug/netstandard2.0/UAOOI.Common.Infrastructure.dll\" />\n    <Path Id=\"9caca823-0479-4831-8510-bf4d52306326.OutputPath\" Value=\"E:\\GitHub\\OPC-UA-OOI.400\\Networking\\Networking.SimulatorInteroperabilityTest\\bin\\Debug\\netstandard2.0\\UAOOI.Networking.SimulatorInteroperabilityTest.dll\" />\n    <Path Id=\"9caca823-0479-4831-8510-bf4d52306326.OutputPathUri\" Value=\"file:///E:/GitHub/OPC-UA-OOI.400/Networking/Networking.SimulatorInteroperabilityTest/bin/Debug/netstandard2.0/UAOOI.Networking.SimulatorInteroperabilityTest.dll\" />\n    <Path Id=\"e28e0880-03aa-4d1b-a820-41b04e766019.OutputPath\" Value=\"E:\\GitHub\\OPC-UA-OOI.400\\Configuration\\Networking\\bin\\Debug\\netstandard2.0\\UAOOI.Configuration.Networking.dll\" />\n    <Path Id=\"e28e0880-03aa-4d1b-a820-41b04e766019.OutputPathUri\" Value=\"file:///E:/GitHub/OPC-UA-OOI.400/Configuration/Networking/bin/Debug/netstandard2.0/UAOOI.Configuration.Networking.dll\" />\n    <Path Id=\"f0accb28-ae0d-4e19-94fa-7be3044f1eeb.OutputPath\" Value=\"E:\\GitHub\\OPC-UA-OOI.400\\Networking\\ReferenceApplication\\bin\\Debug\\UAOOI.Networking.ReferenceApplication.exe\" />\n    <Path Id=\"f0accb28-ae0d-4e19-94fa-7be3044f1eeb.OutputPathUri\" Value=\"file:///E:/GitHub/OPC-UA-OOI.400/Networking/ReferenceApplication/bin/Debug/UAOOI.Networking.ReferenceApplication.exe\" />\n    <Path Id=\"FxReferenceAssemblies\" Value=\"C:\\Program Files (x86)\\Reference Assemblies\\Microsoft\\Framework\" />\n    <Path Id=\"FxReferenceAssembliesUri\" Value=\"file:///C:/Program Files (x86)/Reference Assemblies/Microsoft/Framework\" />\n    <Path Id=\"VsSolution\" Value=\"E:\\GitHub\\OPC-UA-OOI.400\" />\n    <Path Id=\"VsSolutionUri\" Value=\"file:///E:/GitHub/OPC-UA-OOI.400\" />\n  </Paths>\n</DirectedGraph>"
  },
  {
    "path": "CommonResources/ModelingProject/UANetworkingArchitecture/UAOOI.UANodesetValidation.dgml",
    "content": "﻿<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<DirectedGraph DataVirtualized=\"True\" Layout=\"Sugiyama\" ZoomLevel=\"-1\" xmlns=\"http://schemas.microsoft.com/vs/2009/dgml\">\n  <Nodes>\n    <Node Id=\"@10\" Category=\"CodeSchema_Assembly\" CodeSchemaProperty_IsExternal=\"True\" CodeSchemaProperty_StrongName=\"System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089\" DelayedChildNodesState=\"NotFetched\" DelayedCrossGroupLinksState=\"Fetched\" FilePath=\"$(FxRoot)\\v2.0.50727\\System.dll\" Group=\"Collapsed\" Label=\"System.dll\" UseManualLocation=\"True\">\n      <Category Ref=\"FileSystem.Category.FileOfType.dll\" />\n    </Node>\n    <Node Id=\"@14\" Category=\"CodeSchema_Assembly\" CodeSchemaProperty_IsExternal=\"True\" CodeSchemaProperty_StrongName=\"System.Runtime.Serialization, Version=3.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089\" DelayedChildNodesState=\"NotFetched\" DelayedCrossGroupLinksState=\"Fetched\" FilePath=\"$(FxReferenceAssemblies)\\v3.0\\System.Runtime.Serialization.dll\" Group=\"Collapsed\" Label=\"System.Runtime.Serialization.dll\" UseManualLocation=\"True\">\n      <Category Ref=\"FileSystem.Category.FileOfType.dll\" />\n    </Node>\n    <Node Id=\"@20\" Category=\"CodeSchema_Assembly\" AssemblyTimestamp=\"01/11/2016 13:14:24\" Bounds=\"119.560422216686,213.5,323.266666666667,25\" CodeSchemaProperty_StrongName=\"UAOOI.SemanticDataInformationModelFactory, Version=1.0.16.25632, Culture=neutral, PublicKeyToken=deede3c2df331bb0\" DelayedChildNodesState=\"NotFetched\" DelayedCrossGroupLinksState=\"Fetched\" FilePath=\"$(6d20785d-0451-46a9-9ac2-ec66b7c0d18a.OutputPath)\" Group=\"Collapsed\" Label=\"UAOOI.SemanticDataInformationModelFactory.dll\">\n      <Category Ref=\"FileSystem.Category.FileOfType.dll\" />\n    </Node>\n    <Node Id=\"@4\" Category=\"CodeSchema_Assembly\" CodeSchemaProperty_IsExternal=\"True\" CodeSchemaProperty_StrongName=\"mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089\" DelayedChildNodesState=\"NotFetched\" DelayedCrossGroupLinksState=\"Fetched\" FilePath=\"$(FxRoot)\\v2.0.50727\\mscorlib.dll\" Group=\"Collapsed\" Label=\"mscorlib.dll\" UseManualLocation=\"True\">\n      <Category Ref=\"FileSystem.Category.FileOfType.dll\" />\n    </Node>\n    <Node Id=\"@6\" Category=\"CodeSchema_Assembly\" CodeSchemaProperty_IsExternal=\"True\" CodeSchemaProperty_StrongName=\"System.Core, Version=3.5.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089\" DelayedChildNodesState=\"NotFetched\" DelayedCrossGroupLinksState=\"Fetched\" FilePath=\"$(FxReferenceAssemblies)\\v3.5\\System.Core.dll\" Group=\"Collapsed\" Label=\"System.Core.dll\" UseManualLocation=\"True\">\n      <Category Ref=\"FileSystem.Category.FileOfType.dll\" />\n    </Node>\n    <Node Id=\"@8\" Category=\"CodeSchema_Assembly\" CodeSchemaProperty_IsExternal=\"True\" CodeSchemaProperty_StrongName=\"System.Xml, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089\" DelayedChildNodesState=\"NotFetched\" DelayedCrossGroupLinksState=\"Fetched\" FilePath=\"$(FxRoot)\\v2.0.50727\\System.Xml.dll\" Group=\"Collapsed\" Label=\"System.Xml.dll\" UseManualLocation=\"True\">\n      <Category Ref=\"FileSystem.Category.FileOfType.dll\" />\n    </Node>\n    <Node Id=\"_standardGraphExternalsGroup\" Category=\"Externals\" Bounds=\"329.120642895576,268.5,86.99,25\" Group=\"Collapsed\" Label=\"Externals\" LayoutSettings=\"List\" />\n  </Nodes>\n  <Links>\n    <Link Source=\"@20\" Target=\"@10\" Category=\"CodeSchema_AttributeUse\" IsSourceVirtualized=\"True\" IsTargetVirtualized=\"True\" Weight=\"1\">\n      <Category Ref=\"CodeMap_ExternalReference\" />\n    </Link>\n    <Link Source=\"@20\" Target=\"@4\" Category=\"References\" IsSourceVirtualized=\"True\" IsTargetVirtualized=\"True\" Weight=\"124\">\n      <Category Ref=\"CodeMap_ExternalReference\" />\n      <Category Ref=\"CodeSchema_AttributeUse\" />\n      <Category Ref=\"CodeSchema_Calls\" />\n      <Category Ref=\"CodeSchema_ReturnTypeLink\" />\n    </Link>\n    <Link Source=\"@20\" Target=\"@6\" Category=\"References\" IsSourceVirtualized=\"True\" IsTargetVirtualized=\"True\" Weight=\"2\">\n      <Category Ref=\"CodeMap_ExternalReference\" />\n    </Link>\n    <Link Source=\"@20\" Target=\"@8\" Category=\"References\" IsSourceVirtualized=\"True\" IsTargetVirtualized=\"True\" Weight=\"18\">\n      <Category Ref=\"CodeMap_ExternalReference\" />\n      <Category Ref=\"CodeSchema_ReturnTypeLink\" />\n    </Link>\n    <Link Source=\"_standardGraphExternalsGroup\" Target=\"@10\" Category=\"Contains\" />\n    <Link Source=\"_standardGraphExternalsGroup\" Target=\"@14\" Category=\"Contains\" />\n    <Link Source=\"_standardGraphExternalsGroup\" Target=\"@4\" Category=\"Contains\" />\n    <Link Source=\"_standardGraphExternalsGroup\" Target=\"@6\" Category=\"Contains\" />\n    <Link Source=\"_standardGraphExternalsGroup\" Target=\"@8\" Category=\"Contains\" />\n  </Links>\n  <Categories>\n    <Category Id=\"CodeMap_ExternalReference\" Label=\"External Reference\" CanBeDataDriven=\"True\" CanLinkedNodesBeDataDriven=\"True\" IncomingActionLabel=\"Referenced By\" OutgoingActionLabel=\"References\" />\n    <Category Id=\"CodeSchema_Assembly\" Label=\"Assembly\" BasedOn=\"File\" CanBeDataDriven=\"True\" DefaultAction=\"Microsoft.Contains\" Icon=\"CodeSchema_Assembly\" NavigationActionLabel=\"Assemblies\" />\n    <Category Id=\"CodeSchema_AttributeUse\" Label=\"Uses Attribute\" CanBeDataDriven=\"True\" CanLinkedNodesBeDataDriven=\"True\" IncomingActionLabel=\"Used by\" OutgoingActionLabel=\"Uses Attribute\" />\n    <Category Id=\"CodeSchema_Calls\" Label=\"Calls\" CanBeDataDriven=\"True\" CanLinkedNodesBeDataDriven=\"True\" IncomingActionLabel=\"Called By\" OutgoingActionLabel=\"Calls\" />\n    <Category Id=\"CodeSchema_ReturnTypeLink\" Label=\"Return\" CanBeDataDriven=\"True\" CanLinkedNodesBeDataDriven=\"True\" IncomingActionLabel=\"Return types\" OutgoingActionLabel=\"Return types\" />\n    <Category Id=\"Contains\" Label=\"Contains\" Description=\"Whether the source of the link contains the target object\" CanBeDataDriven=\"False\" CanLinkedNodesBeDataDriven=\"True\" IncomingActionLabel=\"Contained By\" IsContainment=\"True\" OutgoingActionLabel=\"Contains\" />\n    <Category Id=\"Externals\" Label=\"Externals\" CanBeDataDriven=\"True\" IsProviderRoot=\"False\" NavigationActionLabel=\"Externals\" />\n    <Category Id=\"File\" Label=\"File\" CanBeDataDriven=\"True\" DefaultAction=\"Microsoft.Contains\" Icon=\"File\" NavigationActionLabel=\"Files\" />\n    <Category Id=\"FileSystem.Category.FileOfType.dll\" BasedOn=\"CodeSchema_Assembly\" CanBeDataDriven=\"True\" IsProviderRoot=\"False\" />\n    <Category Id=\"References\" Label=\"References\" CanBeDataDriven=\"True\" CanLinkedNodesBeDataDriven=\"True\" IncomingActionLabel=\"Referenced By\" OutgoingActionLabel=\"References\" />\n  </Categories>\n  <Properties>\n    <Property Id=\"AssemblyTimestamp\" DataType=\"System.DateTime\" />\n    <Property Id=\"Bounds\" DataType=\"System.Windows.Rect\" />\n    <Property Id=\"CanBeDataDriven\" Label=\"CanBeDataDriven\" Description=\"CanBeDataDriven\" DataType=\"System.Boolean\" />\n    <Property Id=\"CanLinkedNodesBeDataDriven\" Label=\"CanLinkedNodesBeDataDriven\" Description=\"CanLinkedNodesBeDataDriven\" DataType=\"System.Boolean\" />\n    <Property Id=\"CodeSchemaProperty_IsExternal\" Label=\"Is External\" Description=\"Flag indicating whether this node is considered external\" DataType=\"System.Boolean\" />\n    <Property Id=\"CodeSchemaProperty_StrongName\" Label=\"StrongName\" Description=\"StrongName\" DataType=\"System.String\" />\n    <Property Id=\"DataVirtualized\" Label=\"Data Virtualized\" Description=\"If true, the graph can contain nodes and links that represent data for virtualized nodes/links (i.e. not actually created in the graph).\" DataType=\"System.Boolean\" />\n    <Property Id=\"DefaultAction\" Label=\"DefaultAction\" Description=\"DefaultAction\" DataType=\"System.String\" />\n    <Property Id=\"DelayedChildNodesState\" Label=\"Delayed Child Nodes State\" Description=\"Unspecified if the delayed child nodes state is not specified. NotFetched if the group contains child nodes that are not fetched into the graph yet. Fetched if the group has all its delayed child nodes already fetched.\" DataType=\"Microsoft.VisualStudio.GraphModel.DelayedDataState\" />\n    <Property Id=\"DelayedCrossGroupLinksState\" Label=\"Delayed Cross-Group Links State\" Description=\"Unspecified if the delayed cross-group links state is not specified. NotFetched if delayed cross-group links on this node are not fetched into the graph yet. Fetched if all delayed cross-group links have already fetched.\" DataType=\"Microsoft.VisualStudio.GraphModel.DelayedDataState\" />\n    <Property Id=\"Expression\" DataType=\"System.String\" />\n    <Property Id=\"FilePath\" Label=\"File Path\" Description=\"File Path\" DataType=\"System.String\" />\n    <Property Id=\"Group\" Label=\"Group\" Description=\"Display the node as a group\" DataType=\"Microsoft.VisualStudio.GraphModel.GraphGroupStyle\" />\n    <Property Id=\"GroupLabel\" DataType=\"System.String\" />\n    <Property Id=\"Icon\" Label=\"Icon\" Description=\"Icon\" DataType=\"System.String\" />\n    <Property Id=\"IncomingActionLabel\" Label=\"IncomingActionLabel\" Description=\"IncomingActionLabel\" DataType=\"System.String\" />\n    <Property Id=\"IsContainment\" DataType=\"System.Boolean\" />\n    <Property Id=\"IsEnabled\" DataType=\"System.Boolean\" />\n    <Property Id=\"IsProviderRoot\" Label=\"IsProviderRoot\" Description=\"IsProviderRoot\" DataType=\"System.Boolean\" />\n    <Property Id=\"IsSourceVirtualized\" Label=\"Link Source Virtualized\" Description=\"If true, the link source end contains data for virtualized nodes/links (i.e. not actually created in the graph).\" DataType=\"System.Boolean\" />\n    <Property Id=\"IsTargetVirtualized\" Label=\"Link Target Virtualized\" Description=\"If true, the link target end contains data for virtualized nodes/links (i.e. not actually created in the graph).\" DataType=\"System.Boolean\" />\n    <Property Id=\"Label\" Label=\"Label\" Description=\"Displayable label of an Annotatable object\" DataType=\"System.String\" />\n    <Property Id=\"Layout\" DataType=\"System.String\" />\n    <Property Id=\"LayoutSettings\" DataType=\"Microsoft.VisualStudio.Diagrams.View.GroupLayoutStyle\" />\n    <Property Id=\"NavigationActionLabel\" Label=\"NavigationActionLabel\" Description=\"NavigationActionLabel\" DataType=\"System.String\" />\n    <Property Id=\"OutgoingActionLabel\" Label=\"OutgoingActionLabel\" Description=\"OutgoingActionLabel\" DataType=\"System.String\" />\n    <Property Id=\"TargetType\" DataType=\"System.Type\" />\n    <Property Id=\"UseManualLocation\" DataType=\"System.Boolean\" />\n    <Property Id=\"Value\" DataType=\"System.String\" />\n    <Property Id=\"ValueLabel\" DataType=\"System.String\" />\n    <Property Id=\"Visibility\" Label=\"Visibility\" Description=\"Defines whether a node in the graph is visible or not\" DataType=\"System.Windows.Visibility\" />\n    <Property Id=\"Weight\" Label=\"Weight\" Description=\"Weight\" DataType=\"System.Double\" />\n    <Property Id=\"ZoomLevel\" DataType=\"System.String\" />\n  </Properties>\n  <QualifiedNames>\n    <Name Id=\"Assembly\" Label=\"Assembly\" ValueType=\"Uri\" />\n  </QualifiedNames>\n  <IdentifierAliases>\n    <Alias n=\"3\" Uri=\"Assembly=$(FxRootUri)/v2.0.50727/mscorlib.dll\" />\n    <Alias n=\"4\" Id=\"(@3)\" />\n    <Alias n=\"5\" Uri=\"Assembly=$(FxReferenceAssembliesUri)/v3.5/System.Core.dll\" />\n    <Alias n=\"6\" Id=\"(@5)\" />\n    <Alias n=\"7\" Uri=\"Assembly=$(FxRootUri)/v2.0.50727/System.Xml.dll\" />\n    <Alias n=\"8\" Id=\"(@7)\" />\n    <Alias n=\"9\" Uri=\"Assembly=$(FxRootUri)/v2.0.50727/System.dll\" />\n    <Alias n=\"10\" Id=\"(@9)\" />\n    <Alias n=\"13\" Uri=\"Assembly=$(FxReferenceAssembliesUri)/v3.0/System.Runtime.Serialization.dll\" />\n    <Alias n=\"14\" Id=\"(@13)\" />\n    <Alias n=\"19\" Uri=\"Assembly=$(6d20785d-0451-46a9-9ac2-ec66b7c0d18a.OutputPathUri)\" />\n    <Alias n=\"20\" Id=\"(@19)\" />\n  </IdentifierAliases>\n  <Styles>\n    <Style TargetType=\"Node\" GroupLabel=\"Results\" ValueLabel=\"True\">\n      <Condition Expression=\"HasCategory('QueryResult')\" />\n      <Setter Property=\"Background\" Value=\"#FFBCFFBE\" />\n    </Style>\n    <Style TargetType=\"Node\" GroupLabel=\"Test Project\" ValueLabel=\"Test Project\">\n      <Condition Expression=\"HasCategory('CodeMap_TestProject')\" />\n      <Setter Property=\"Icon\" Value=\"CodeMap_TestProject\" />\n      <Setter Property=\"Background\" Value=\"#FF307A69\" />\n    </Style>\n    <Style TargetType=\"Node\" GroupLabel=\"Web Project\" ValueLabel=\"Web Project\">\n      <Condition Expression=\"HasCategory('CodeMap_WebProject')\" />\n      <Setter Property=\"Icon\" Value=\"CodeMap_WebProject\" />\n    </Style>\n    <Style TargetType=\"Node\" GroupLabel=\"Windows Store Project\" ValueLabel=\"Windows Store Project\">\n      <Condition Expression=\"HasCategory('CodeMap_WindowsStoreProject')\" />\n      <Setter Property=\"Icon\" Value=\"CodeMap_WindowsStoreProject\" />\n    </Style>\n    <Style TargetType=\"Node\" GroupLabel=\"Phone Project\" ValueLabel=\"Phone Project\">\n      <Condition Expression=\"HasCategory('CodeMap_PhoneProject')\" />\n      <Setter Property=\"Icon\" Value=\"CodeMap_PhoneProject\" />\n    </Style>\n    <Style TargetType=\"Node\" GroupLabel=\"Portable Library\" ValueLabel=\"Portable Library\">\n      <Condition Expression=\"HasCategory('CodeMap_PortableLibraryProject')\" />\n      <Setter Property=\"Icon\" Value=\"CodeMap_PortableLibraryProject\" />\n    </Style>\n    <Style TargetType=\"Node\" GroupLabel=\"WPF Project\" ValueLabel=\"WPF Project\">\n      <Condition Expression=\"HasCategory('CodeMap_WpfProject')\" />\n      <Setter Property=\"Icon\" Value=\"CodeMap_WpfProject\" />\n    </Style>\n    <Style TargetType=\"Node\" GroupLabel=\"VSIX Project\" ValueLabel=\"VSIX Project\">\n      <Condition Expression=\"HasCategory('CodeMap_VsixProject')\" />\n      <Setter Property=\"Icon\" Value=\"CodeMap_VsixProject\" />\n    </Style>\n    <Style TargetType=\"Node\" GroupLabel=\"Modeling Project\" ValueLabel=\"Modeling Project\">\n      <Condition Expression=\"HasCategory('CodeMap_ModelingProject')\" />\n      <Setter Property=\"Icon\" Value=\"CodeMap_ModelingProject\" />\n    </Style>\n    <Style TargetType=\"Node\" GroupLabel=\"Assembly\" ValueLabel=\"Has category\">\n      <Condition Expression=\"HasCategory('CodeSchema_Assembly')\" />\n      <Setter Property=\"Background\" Value=\"#FF094167\" />\n      <Setter Property=\"Stroke\" Value=\"#FF094167\" />\n      <Setter Property=\"Icon\" Value=\"CodeSchema_Assembly\" />\n    </Style>\n    <Style TargetType=\"Node\" GroupLabel=\"Namespace\" ValueLabel=\"Has category\">\n      <Condition Expression=\"HasCategory('CodeSchema_Namespace')\" />\n      <Setter Property=\"Background\" Value=\"#FF0E619A\" />\n      <Setter Property=\"Stroke\" Value=\"#FF0E619A\" />\n      <Setter Property=\"Icon\" Value=\"CodeSchema_Namespace\" />\n    </Style>\n    <Style TargetType=\"Node\" GroupLabel=\"Interface\" ValueLabel=\"Has category\">\n      <Condition Expression=\"HasCategory('CodeSchema_Interface')\" />\n      <Setter Property=\"Background\" Value=\"#FF1382CE\" />\n      <Setter Property=\"Stroke\" Value=\"#FF1382CE\" />\n      <Setter Property=\"Icon\" Value=\"CodeSchema_Interface\" />\n    </Style>\n    <Style TargetType=\"Node\" GroupLabel=\"Struct\" ValueLabel=\"Has category\">\n      <Condition Expression=\"HasCategory('CodeSchema_Struct')\" />\n      <Setter Property=\"Background\" Value=\"#FF1382CE\" />\n      <Setter Property=\"Stroke\" Value=\"#FF1382CE\" />\n      <Setter Property=\"Icon\" Value=\"CodeSchema_Struct\" />\n    </Style>\n    <Style TargetType=\"Node\" GroupLabel=\"Enumeration\" ValueLabel=\"Has category\">\n      <Condition Expression=\"HasCategory('CodeSchema_Enum')\" />\n      <Setter Property=\"Background\" Value=\"#FF1382CE\" />\n      <Setter Property=\"Stroke\" Value=\"#FF1382CE\" />\n      <Setter Property=\"Icon\" Value=\"CodeSchema_Enum\" />\n      <Setter Property=\"LayoutSettings\" Value=\"List\" />\n    </Style>\n    <Style TargetType=\"Node\" GroupLabel=\"Delegate\" ValueLabel=\"Has category\">\n      <Condition Expression=\"HasCategory('CodeSchema_Delegate')\" />\n      <Setter Property=\"Background\" Value=\"#FF1382CE\" />\n      <Setter Property=\"Stroke\" Value=\"#FF1382CE\" />\n      <Setter Property=\"Icon\" Value=\"CodeSchema_Delegate\" />\n    </Style>\n    <Style TargetType=\"Node\" GroupLabel=\"Class\" ValueLabel=\"Has category\">\n      <Condition Expression=\"HasCategory('CodeSchema_Type')\" />\n      <Setter Property=\"Background\" Value=\"#FF1382CE\" />\n      <Setter Property=\"Stroke\" Value=\"#FF1382CE\" />\n      <Setter Property=\"Icon\" Value=\"CodeSchema_Class\" />\n    </Style>\n    <Style TargetType=\"Node\" GroupLabel=\"Property\" ValueLabel=\"Has category\">\n      <Condition Expression=\"HasCategory('CodeSchema_Property')\" />\n      <Setter Property=\"Background\" Value=\"#FFE0E0E0\" />\n      <Setter Property=\"Stroke\" Value=\"#FFE0E0E0\" />\n      <Setter Property=\"Icon\" Value=\"CodeSchema_Property\" />\n    </Style>\n    <Style TargetType=\"Node\" GroupLabel=\"Method\" ValueLabel=\"Has category\">\n      <Condition Expression=\"HasCategory('CodeSchema_Method') Or HasCategory('CodeSchema_CallStackUnresolvedMethod')\" />\n      <Setter Property=\"Background\" Value=\"#FFE0E0E0\" />\n      <Setter Property=\"Stroke\" Value=\"#FFE0E0E0\" />\n      <Setter Property=\"Icon\" Value=\"CodeSchema_Method\" />\n      <Setter Property=\"LayoutSettings\" Value=\"List\" />\n    </Style>\n    <Style TargetType=\"Node\" GroupLabel=\"Event\" ValueLabel=\"Has category\">\n      <Condition Expression=\"HasCategory('CodeSchema_Event')\" />\n      <Setter Property=\"Background\" Value=\"#FFE0E0E0\" />\n      <Setter Property=\"Stroke\" Value=\"#FFE0E0E0\" />\n      <Setter Property=\"Icon\" Value=\"CodeSchema_Event\" />\n    </Style>\n    <Style TargetType=\"Node\" GroupLabel=\"Field\" ValueLabel=\"Has category\">\n      <Condition Expression=\"HasCategory('CodeSchema_Field')\" />\n      <Setter Property=\"Background\" Value=\"#FFE0E0E0\" />\n      <Setter Property=\"Stroke\" Value=\"#FFE0E0E0\" />\n      <Setter Property=\"Icon\" Value=\"CodeSchema_Field\" />\n    </Style>\n    <Style TargetType=\"Node\" GroupLabel=\"Out Parameter\" ValueLabel=\"Has category\">\n      <Condition Expression=\"CodeSchemaProperty_IsOut = 'True'\" />\n      <Setter Property=\"Icon\" Value=\"CodeSchema_OutParameter\" />\n    </Style>\n    <Style TargetType=\"Node\" GroupLabel=\"Parameter\" ValueLabel=\"Has category\">\n      <Condition Expression=\"HasCategory('CodeSchema_Parameter')\" />\n      <Setter Property=\"Icon\" Value=\"CodeSchema_Parameter\" />\n    </Style>\n    <Style TargetType=\"Node\" GroupLabel=\"Local Variable\" ValueLabel=\"Has category\">\n      <Condition Expression=\"HasCategory('CodeSchema_LocalExpression')\" />\n      <Setter Property=\"Icon\" Value=\"CodeSchema_LocalExpression\" />\n    </Style>\n    <Style TargetType=\"Node\" GroupLabel=\"Externals\" ValueLabel=\"Has category\">\n      <Condition Expression=\"HasCategory('Externals')\" />\n      <Setter Property=\"Background\" Value=\"#FF424242\" />\n      <Setter Property=\"Stroke\" Value=\"#FF424242\" />\n    </Style>\n    <Style TargetType=\"Link\" GroupLabel=\"Inherits From\" ValueLabel=\"True\">\n      <Condition Expression=\"HasCategory('InheritsFrom')\" />\n      <Setter Property=\"Stroke\" Value=\"#FF00A600\" />\n      <Setter Property=\"StrokeDashArray\" Value=\"2 0\" />\n      <Setter Property=\"DrawArrow\" Value=\"true\" />\n    </Style>\n    <Style TargetType=\"Link\" GroupLabel=\"Implements\" ValueLabel=\"True\">\n      <Condition Expression=\"HasCategory('Implements')\" />\n      <Setter Property=\"Stroke\" Value=\"#8000A600\" />\n      <Setter Property=\"StrokeDashArray\" Value=\"2 2\" />\n      <Setter Property=\"DrawArrow\" Value=\"true\" />\n    </Style>\n    <Style TargetType=\"Link\" GroupLabel=\"Calls\" ValueLabel=\"True\">\n      <Condition Expression=\"HasCategory('CodeSchema_Calls')\" />\n      <Setter Property=\"Stroke\" Value=\"#FFFF00FF\" />\n      <Setter Property=\"StrokeDashArray\" Value=\"2 0\" />\n      <Setter Property=\"DrawArrow\" Value=\"true\" />\n    </Style>\n    <Style TargetType=\"Link\" GroupLabel=\"Function Pointer\" ValueLabel=\"True\">\n      <Condition Expression=\"HasCategory('CodeSchema_FunctionPointer')\" />\n      <Setter Property=\"Stroke\" Value=\"#FFFF00FF\" />\n      <Setter Property=\"StrokeDashArray\" Value=\"2 2\" />\n      <Setter Property=\"DrawArrow\" Value=\"true\" />\n    </Style>\n    <Style TargetType=\"Link\" GroupLabel=\"Field Read\" ValueLabel=\"True\">\n      <Condition Expression=\"HasCategory('CodeSchema_FieldRead')\" />\n      <Setter Property=\"Stroke\" Value=\"#FF00AEEF\" />\n      <Setter Property=\"StrokeDashArray\" Value=\"2 2\" />\n      <Setter Property=\"DrawArrow\" Value=\"true\" />\n    </Style>\n    <Style TargetType=\"Link\" GroupLabel=\"Field Write\" ValueLabel=\"True\">\n      <Condition Expression=\"HasCategory('CodeSchema_FieldWrite')\" />\n      <Setter Property=\"Stroke\" Value=\"#FF00AEEF\" />\n      <Setter Property=\"DrawArrow\" Value=\"true\" />\n      <Setter Property=\"IsHidden\" Value=\"false\" />\n    </Style>\n    <Style TargetType=\"Link\" GroupLabel=\"Inherits From\" ValueLabel=\"True\" Visibility=\"Hidden\">\n      <Condition Expression=\"HasCategory('InheritsFrom') And Target.HasCategory('CodeSchema_Class')\" />\n      <Setter Property=\"TargetDecorator\" Value=\"OpenArrow\" />\n    </Style>\n    <Style TargetType=\"Link\" GroupLabel=\"Implements\" ValueLabel=\"True\" Visibility=\"Hidden\">\n      <Condition Expression=\"HasCategory('Implements') And Target.HasCategory('CodeSchema_Interface')\" />\n      <Setter Property=\"TargetDecorator\" Value=\"OpenArrow\" />\n    </Style>\n    <Style TargetType=\"Link\" GroupLabel=\"Comment Link\" ValueLabel=\"True\" Visibility=\"Hidden\">\n      <Condition Expression=\"Source.HasCategory('Comment')\" />\n      <Setter Property=\"Stroke\" Value=\"#FFE5C365\" />\n    </Style>\n    <Style TargetType=\"Node\" GroupLabel=\"Cursor Location Changed\" ValueLabel=\"True\" Visibility=\"Hidden\">\n      <Condition Expression=\"IsCursorLocation\" />\n      <Setter Property=\"IndicatorWest\" Value=\"WestIndicator\" />\n    </Style>\n    <Style TargetType=\"Node\" GroupLabel=\"Disabled Breakpoint Location Changed\" ValueLabel=\"True\" Visibility=\"Hidden\">\n      <Condition Expression=\"DisabledBreakpointCount\" />\n      <Setter Property=\"IndicatorWest\" Value=\"WestIndicator\" />\n    </Style>\n    <Style TargetType=\"Node\" GroupLabel=\"Enabled Breakpoint Location Changed\" ValueLabel=\"True\" Visibility=\"Hidden\">\n      <Condition Expression=\"EnabledBreakpointCount\" />\n      <Setter Property=\"IndicatorWest\" Value=\"WestIndicator\" />\n    </Style>\n    <Style TargetType=\"Node\" GroupLabel=\"Instruction Pointer Location Changed\" ValueLabel=\"True\" Visibility=\"Hidden\">\n      <Condition Expression=\"IsInstructionPointerLocation\" />\n      <Setter Property=\"IndicatorWest\" Value=\"WestIndicator\" />\n    </Style>\n    <Style TargetType=\"Node\" GroupLabel=\"Current Callstack Changed\" ValueLabel=\"True\" Visibility=\"Hidden\">\n      <Condition Expression=\"IsCurrentCallstackFrame\" />\n      <Setter Property=\"IndicatorWest\" Value=\"WestIndicator\" />\n    </Style>\n    <Style TargetType=\"Link\" GroupLabel=\"Return\" ValueLabel=\"True\" Visibility=\"Hidden\">\n      <Condition Expression=\"HasCategory('CodeSchema_ReturnTypeLink')\" />\n    </Style>\n    <Style TargetType=\"Link\" GroupLabel=\"References\" ValueLabel=\"True\" Visibility=\"Hidden\">\n      <Condition Expression=\"HasCategory('References')\" />\n    </Style>\n    <Style TargetType=\"Link\" GroupLabel=\"Uses Attribute\" ValueLabel=\"True\" Visibility=\"Hidden\">\n      <Condition Expression=\"HasCategory('CodeSchema_AttributeUse')\" />\n    </Style>\n    <Style TargetType=\"Node\" GroupLabel=\"Solution Folder\" ValueLabel=\"True\" Visibility=\"Hidden\">\n      <Condition Expression=\"HasCategory('CodeMap_SolutionFolder')\" />\n      <Setter Property=\"Background\" Value=\"#FFDEBA83\" />\n    </Style>\n    <Style TargetType=\"Link\" GroupLabel=\"Project Reference\" ValueLabel=\"Project Reference\">\n      <Condition Expression=\"HasCategory('CodeMap_ProjectReference')\" />\n      <Setter Property=\"Stroke\" Value=\"#9A9A9A\" />\n      <Setter Property=\"StrokeDashArray\" Value=\"2 2\" />\n      <Setter Property=\"DrawArrow\" Value=\"true\" />\n    </Style>\n    <Style TargetType=\"Link\" GroupLabel=\"External Reference\" ValueLabel=\"External Reference\">\n      <Condition Expression=\"HasCategory('CodeMap_ExternalReference')\" />\n      <Setter Property=\"Stroke\" Value=\"#9A9A9A\" />\n      <Setter Property=\"StrokeDashArray\" Value=\"2 2\" />\n      <Setter Property=\"DrawArrow\" Value=\"true\" />\n    </Style>\n  </Styles>\n  <Paths>\n    <Path Id=\"05db9e60-b12b-4aa3-8a7c-514f87cff464.OutputPath\" Value=\"E:\\GitHub\\OPC-UA-OOI.400\\SemanticData\\AddressSpaceComplianceTestTool\\bin\\Debug\\AddressSpaceComplianceTestTool.exe\" />\n    <Path Id=\"268defe0-d604-4888-bf69-57ebae0fd7e7.OutputPath\" Value=\"E:\\GitHub\\OPC-UA-OOI.400\\SemanticData\\Tests\\DataSerializationUnitTestProject\\bin\\Debug\\UAOOI.SemanticDataDataSerializationUnitTest.dll\" />\n    <Path Id=\"2dc898b5-afd9-47b2-a962-c4002c1ae8ff.OutputPath\" Value=\"E:\\GitHub\\OPC-UA-OOI.400\\SemanticData\\Tests\\USNodeSetValidationUnitTestProject\\bin\\Debug\\UAOOI.SemanticDataUnitTest.dll\" />\n    <Path Id=\"352378a0-8b2e-4679-bb44-fd0bcc8467d9.OutputPath\" Value=\"E:\\GitHub\\OPC-UA-OOI.400\\SemanticData\\UANodeSetValidation\\bin\\Debug\\UAOOI.SemanticDataUANodeSetValidation.dll\" />\n    <Path Id=\"6d20785d-0451-46a9-9ac2-ec66b7c0d18a.OutputPath\" Value=\"E:\\GitHub\\OPC-UA-OOI.400\\SemanticData\\InformationModelFactory\\bin\\Debug\\UAOOI.SemanticDataInformationModelFactory.dll\" />\n    <Path Id=\"6d20785d-0451-46a9-9ac2-ec66b7c0d18a.OutputPathUri\" Value=\"file:///E:/GitHub/OPC-UA-OOI.400/SemanticData/InformationModelFactory/bin/Debug/UAOOI.SemanticDataInformationModelFactory.dll\" />\n    <Path Id=\"FxReferenceAssemblies\" Value=\"C:\\Program Files (x86)\\Reference Assemblies\\Microsoft\\Framework\" />\n    <Path Id=\"FxReferenceAssembliesUri\" Value=\"file:///C:/Program Files (x86)/Reference Assemblies/Microsoft/Framework\" />\n    <Path Id=\"FxRoot\" Value=\"C:\\Windows\\Microsoft.NET\\Framework\" />\n    <Path Id=\"FxRootUri\" Value=\"file:///C:/Windows/Microsoft.NET/Framework\" />\n  </Paths>\n</DirectedGraph>"
  },
  {
    "path": "CommonResources/README.MD",
    "content": "# Content Description\n\n## ModelingProject\n\nContains models at different levels of detail throughout the application life-cycle as part of your development process. \nMain aim is to track requirements, tasks, test cases, bugs, and other work associated with your models by linking model \nelements to development plan.\n\n## T4Definitions\n\nThis folder contains T4 text template that are used to generate a text file. The control logic is written as fragments of program code \nin Visual C#. The transformations are applied to generate text of any kind, such as a MD, CS, TXT. \n\n## Media\n\nThis folder contains files referred to by the documentation.\n"
  },
  {
    "path": "CommonResources/T4Definitions/CodeHeader.snippet",
    "content": "<?xml version=\"1.0\"?>\n<CodeSnippets xmlns=\"http://schemas.microsoft.com/VisualStudio/2005/CodeSnippet\">\n  <CodeSnippet Format=\"1.0.0\">\n    <Header>\n      <Title>Code Header</Title>\n      <Author>MPostol</Author>\n      <Description>Add file header.</Description>\n      <Shortcut>tphd</Shortcut>\n      <SnippetTypes>\n        <SnippetType>Expansion</SnippetType>\n      </SnippetTypes>\n    </Header>\n    <Snippet>\n      <Declarations>\n        <Literal Editable=\"true\">\n          <ID>Year</ID>\n          <Default>Year of Copyright</Default>\n        </Literal>\n      </Declarations>\n      <Code Language=\"CSharp\">\n        <![CDATA[//___________________________________________________________________________________\n//\n//  Copyright (C) $Year$, Mariusz Postol LODZ POLAND.\n//\n//  To be in touch join the community at GITTER: https://gitter.im/mpostol/OPC-UA-OOI\n//___________________________________________________________________________________\n]]>\n      </Code>\n    </Snippet>\n  </CodeSnippet>\n</CodeSnippets>"
  },
  {
    "path": "CommonResources/T4Definitions/Model.t4",
    "content": "<#+\n//Template\nstring DefaultProductName =\"DefaultProductName\";\nstring DefaultProductVersion = \"0.00.00\";\n\n//Solution common\nstring ProductTrademark = \"Object Oriented Internet\";\nstring AssemblyCopyright = \"Copyright (C) 2022 Mariusz Postol LODZ POLAND\";\nstring AssemblyCompany = \"Mariusz Postol\";\nstring Url = \"https://github.com/mpostol/OPC-UA-OOI\";\nstring Email = \"mpostol@cas.eu\";\nstring Phone = \"+48 608 619 899\";\nstring Owner = \"Mariusz Postol\";\nstring RepositoryVersion = \"6.5.6\"; //increment on the same position as the group version\nstring RepositoryVersionPrerelease = \"-Oscar\"; //increment on the same position as the group version\nstring Authors = \"Mariusz Postol\";\nstring IconURLTag = \"https://github.com/mpostol/OPC-UA-OOI/blob/master/CommonResources/Media/Logo64.PNG?raw=true\";\n\n//UAOOI.Common\nstring CommonVersion = \"6.4.9\";\nstring CommonPrerelease = \"\";\n\n//UAOOI.DataDiscovery\nstring DataDiscoveryTitle = \"UAOOI.DataDiscovery\";\nstring DataDiscoveryVersion = \"4.0.3\";\nstring DataDiscoveryPrerelease = \"\";\nstring DataDiscoveryProduct = \"Object Oriented Internet\";\n\n//UAOOI.SemanticData\nstring SemanticDataVersion = \"6.5.6\";\nstring SemanticDataPrerelease = \"-Oscar\";\nstring SemanticDataProduct = \"Object Oriented Internet\";\n\n//UAOOI.SemanticData.UANodeSetValidation\nstring SemanticDataUANodeSetValidationVersion = \"6.5.6\";\nstring SemanticDataUANodeSetValidationPrerelease = \"-Oscar\";\n\n//UAOOI.SemanticData.UAModelDesignExport\nstring SemanticDataUAModelDesignExportVersion = \"6.5.6\";\nstring SemanticDataUAModelDesignExportPrerelease = \"-Oscar\";\n\n//UAOOI.Configuration\nstring ConfigurationVersion = \"6.4.9\";\nstring ConfigurationPrerelease = \"\";\nstring ConfigurationProduct = \"Object Oriented Internet\";\n\n//UAOOI.Networking\nstring NetworkingDataVersion = \"4.0.2\";\nstring NetworkingDataPrerelease = \"\";\nstring NetworkingDataProduct = \"Object Oriented Internet\";\n\n//Note: \n//Alpha, Bravo, Charlie, Delta, Hotel, India, Juliet, \n//Kilo, Lima, Mike, November, Oscar, Papa, Quebec, Romeo, Sierra, Tango,\n//Uniform, Victor, Whiskey, X-Ray, Yankee, Zulu \n#>"
  },
  {
    "path": "CommonResources/T4Definitions/ReleaseNoteTemplate.md",
    "content": "﻿# ![Logo](https://github.com/mpostol/OPC-UA-OOI/blob/master/CommonResources/Media/Logo64.PNG?raw=true) Azure Gateway 1.0\n\n## Code and Documentation\n\nThis release comprises the following code and documentation changes:\n\n* `Common`\n  * Unimportant changes\n* `Configuration`\n  * Unimportant changes\n* `DataDiscovery`\n  * No changes at all\n* `Networking`\n  * Azure Gateway DataRepository Implementation *NEW* 1.0\n  * Refactored folders structure\n* `SemanticData`\n  * no changes at all\n\n## Packages and tools\n\nThis release comprises the following packages and tools changes:\n\n### Common\n\n* *NuGet packages*:\n  * UAOOI.Common.Infrastructure 4.0.2\n* *Tools*: not published\n\n### Configuration\n\n* *NuGet packages*: not published\n* *Tools*: not published\n\n### Networking\n\n* *NuGet packages*:\n  * UAOOI.Networking.Core 4.0.2\n  * UAOOI.Networking.Encoding 4.0.2\n  * UAOOI.Networking.SemanticData 4.0.2\n  * UAOOI.Networking.UDPMessageHandler 4.0.2\n* *Tools*: not published\n\n### SemanticData\n\n* *NuGet packages*: not published\n* *Tools*: not published\n\n## Contact\n\nFor assistance, contact: Mariusz Postol\n\n* [GitHub profile](https://github.com/mpostol)\n* [http://www.commsvr.com/](http://www.commsvr.com/)\n* [linkedin](https://linkedin.com/in/mpostol)\n* [twitter](https://twitter.com/mpostol)\n* [orcid](https://orcid.org/0000-0002-9669-0565)\n\n## See also\n\n* [Object Oriented Internet eBook](https://commsvr.gitbook.io/ooi)\n* [API Browser is available for sponsors - consider joining](https://github.commsvr.com/AboutPartnershipProgram.md.html)\n\nCopyright (c) 2020 Mariusz Postol\n"
  },
  {
    "path": "CommonResources/T4Definitions/ReleaseNoteTemplate.tt",
    "content": "﻿<#@ template debug=\"false\" hostspecific=\"false\" language=\"C#\" #>\n<#@ assembly name=\"System.Core\" #>\n<#@ import namespace=\"System.Linq\" #>\n<#@ import namespace=\"System.Text\" #>\n<#@ import namespace=\"System.Collections.Generic\" #>\n<#@ output extension=\".md\" #>\n# Semantic-Data ModelDesign Export **<#=RepositoryVersion#><#=RepositoryVersionPrerelease#>**\n\n## This release:\n\n* [API Browser](http://www.commsvr.com/download/OPC-UA-OOI/index.html)\n* [Object Oriented Internet eBook](https://commsvr.gitbook.io/ooi)\n\n- *This update comprises the following changes:*\n  - Semantic-Data - updated against OPC UA Specification 1.04; new API (Details in section **SemanticData**) \n  - Documentation improved\n  - New code help documentation available\n\n> **Note**: It is pre-release. I will appreciate reporting all problems directly to me (see section `Contact`) or in issue #350.\n\n## Packages\n\n### Common\n\n- *Version*: **<#=CommonVersion#><#=CommonPrerelease#>**\n- *Changes*: no changes\n- *NuGet packages*: not published\n- *Tools*: not published\n\n### Configuration\n\n- *Version*: **<#=ConfigurationVersion#><#=ConfigurationPrerelease#>**\n- *Changes*: no changes\n- *NuGet packages*: not published\n- *Tools*: not published\n\n### SemanticData\n\n- *Version*: **<#=SemanticDataVersion#><#=SemanticDataPrerelease#>**\n- *Changes*:\n  - Updated the UA Address Space process against OPC UA Specification 1.04\n  - Updated UANodeSet schema\n  - Added export to ModelDesign [OPC UA Address Space Prototyping](https://commsvr.gitbook.io/ooi/semanticdata-processing/uanodesetvalidation/addressspacecompliancetesttool)\n- *NuGet packages*: not published\n- *Tools*:\n  - OPC UA Address Space Prototyping Tool (`asp.exe`)\n\n> **Getting Started**: Download and run the file to unzip the content to the selected folder. Now you may run the application file `asp.exe`. The section \n> [OPC UA Address Space Prototyping](https://commsvr.gitbook.io/ooi/semanticdata-processing/uanodesetvalidation/addressspacecompliancetesttool) of the online ebook covers details on how to get started using attached examples. \n> This section has bee also added to the installation package as pdf document `OPC UA Address Space Prototyping.md.pdf`.\n\n### Networking\n\n- *Version*: **<#=NetworkingDataVersion#><#=NetworkingDataPrerelease#>**\n- *Changes*: no changes\n- *NuGet packages*: not published\n- *Tools*: not published\n\n## Contact\n\nFor assistance, contact:\n\nMariusz Postol\n\n- [GitHub profile](https://github.com/mpostol)\n- http://www.commsvr.com/\n- linkedin.com/in/mpostol\n- https://twitter.com/mpostol\n\n<#=AssemblyCopyright#>\n\n<#@ include file = \"Model.t4\" #>\n<#+\nstring m_AssemblyTitle = \"UAOOI.UANetworkingReferenceApplication\";\nstring m_Date = System.DateTime.Today.ToShortDateString();\n#>\n"
  },
  {
    "path": "CommonResources/T4Definitions/ReleaseNoteTemplate5-0-2-Alpha.md",
    "content": "﻿# SemanticData ModelDesign Export **5.0.2-Alpha**\n\n## This release\n\n* [API Browser is available for sponsors* consider joining](https://github.commsvr.com/AboutPartnershipProgram.md.html)\n* [Object Oriented Internet eBook](https://commsvr.gitbook.io/ooi)\n\n* *This update comprises the following changes:*\n  * SemanticData * updated against OPC UA Specification 1.04; new API (Details in section **SemanticData**)\n  * Documentation improved\n  * New code help documentation available\n\n> **Note**: It is pre-release. I will appreciate reporting all problems directly to me (see section `Contact`) or in issue #350.\n\n## Packages\n\n### Common\n\n* *Version*: **4.0.1**\n* *Changes*: no changes\n* *NuGet packages*: not published\n* *Tools*: not published\n\n### Configuration\n\n* *Version*: **4.0.1**\n* *Changes*: no changes\n* *NuGet packages*: not published\n* *Tools*: not published\n\n### SemanticData\n\n* *Version*: **5.0.2-Alpha**\n* *Changes*:\n  * Updated the UA Address Space process against OPC UA Specification 1.04\n  * Updated UANodeSet schema\n  * Added export to ModelDesign [OPC UA Address Space Prototyping](https://commsvr.gitbook.io/ooi/semanticdata-processing/uanodesetvalidation/addressspacecompliancetesttool)\n* *NuGet packages*: not published\n* *Tools*:\n  * OPC UA Address Space Prototyping Tool (`asp.exe`)\n\n> **Getting Started**: Download and run the file to unzip the content to the selected folder. Now you may run the application file `asp.exe`. The section\n> [OPC UA Address Space Prototyping](https://commsvr.gitbook.io/ooi/semanticdata-processing/uanodesetvalidation/addressspacecompliancetesttool) of the online ebook covers details on how to get started using attached examples.\n> This section has bee also added to the installation package as pdf document `OPC UA Address Space Prototyping.md.pdf`.\n\n### Networking\n\n* *Version*: **4.0.1**\n* *Changes*: no changes\n* *NuGet packages*: not published\n* *Tools*: not published\n\n## Contact\n\nFor assistance, contact:\n\nMariusz Postol\n\n* [GitHub profile](https://github.com/mpostol)\n* http://www.commsvr.com/\n* linkedin.com/in/mpostol\n* https://twitter.com/mpostol\n\nCopyright (c) 2019 Mariusz Postol\n"
  },
  {
    "path": "CommonResources/T4Definitions/ReleaseNoteTemplate5-1.md",
    "content": "﻿# ![Logo](https://github.com/mpostol/OPC-UA-OOI/blob/master/CommonResources/Media/Logo64.PNG?raw=true) Semantic-Data ModelDesign Export **5.1.0**\n\n## This release\n\n* [API Browser is available for sponsors - consider joining](https://github.commsvr.com/AboutPartnershipProgram.md.html)\n* [Object Oriented Internet eBook](https://commsvr.gitbook.io/ooi)\n\n* *This update comprises the following changes:*\n  * Semantic-Data (Details in section **SemanticData**)\n    * updated against OPC UA Specification 1.04; new API\n    * added export to UAModelDesign  \n  * Documentation improved\n  * New code help documentation available\n\n## Packages\n\n### Common\n\n* *Version*: **4.0.1**\n* *Changes*: no changes\n* *NuGet packages*: not published\n* *Tools*: not published\n\n### Configuration\n\n* *Version*: **4.0.1**\n* *Changes*: no changes\n* *NuGet packages*: not published\n* *Tools*: not published\n\n### SemanticData\n\n* *Version*: **5.1.0**\n* *Changes*:\n  * Updated the UA Address Space process against OPC UA Specification 1.04\n  * Updated UANodeSet schema\n  * Added export to ModelDesign [OPC UA Address Space Prototyping](https://commsvr.gitbook.io/ooi/semantic-data-processing/addressspacecompliancetesttool)\n\n* *NuGet packages*\n  * [UAOOI.SemanticData.BuildingErrorsHandling](https://www.nuget.org/packages/UAOOI.SemanticData.BuildingErrorsHandling/)\n  * [UAOOI.SemanticData.InformationModelFactory](https://www.nuget.org/packages/UAOOI.SemanticData.InformationModelFactory/)\n  * [UAOOI.SemanticData.UAModelDesignExport](https://www.nuget.org/packages/UAOOI.SemanticData.UAModelDesignExport/)\n  * [UAOOI.SemanticData.UANodeSetValidation](https://www.nuget.org/packages/UAOOI.SemanticData.UANodeSetValidation/)\n  \n* *Tools*\n  * OPC UA Address Space Prototyping Tool (`asp.exe`)\n\n> **Getting Started**: Download and run the file to unzip the content to the selected folder. Now you may run the application file `asp.exe`. The section\n> [OPC UA Address Space Prototyping](https://commsvr.gitbook.io/ooi/semantic-data-processing/addressspacecompliancetesttool) of the online ebook covers details on how to get started using attached examples.\n\n### Networking\n\n* *Version*: **4.0.1**\n* *Changes*: no changes\n* *NuGet packages*: not published\n* *Tools*: not published\n\n## Contact\n\nFor assistance, contact:\n\nMariusz Postol\n\n* [GitHub profile](https://github.com/mpostol)\n* [http://www.commsvr.com/](http://www.commsvr.com/)\n* [linkedin](https://linkedin.com/in/mpostol)\n* [twitter](https://twitter.com/mpostol)\n\nCopyright (c) 2019 Mariusz Postol\n"
  },
  {
    "path": "CommonResources/T4Definitions/ReleaseTask.md",
    "content": "﻿# Release new version Gist\n \n## Packages to be released\n\n- [ ] `Common`\n- [ ] `Configuration`\n- [ ] `DataDiscovery`\n- [ ] `Networking`\n- [ ] `SemanticData`\n\n## Tasks to be done\n\n- [ ] Update version information for all published assemblies (Model.t4), \n- [ ] Prepare an example if applicable\n- [ ] Update Readme files\n- [ ] Prepare and publish NuGet packages if applicable. Replace project references by packages.\n- [ ] Create release front page\n   - [ ] Getting Started\n   - [ ] Version information\n- [ ] Prepare binary deliverables and publish the installation package\n- [ ] Update and publish the code help documentation\n- [ ] Publish release\n- [ ] Update the repository front page\n"
  },
  {
    "path": "CommonResources/T4Definitions/T4Definitions.csproj",
    "content": "﻿<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<Project ToolsVersion=\"12.0\" DefaultTargets=\"Build\" xmlns=\"http://schemas.microsoft.com/developer/msbuild/2003\">\n  <Import Project=\"$(MSBuildExtensionsPath)\\$(MSBuildToolsVersion)\\Microsoft.Common.props\" Condition=\"Exists('$(MSBuildExtensionsPath)\\$(MSBuildToolsVersion)\\Microsoft.Common.props')\" />\n  <PropertyGroup>\n    <Configuration Condition=\" '$(Configuration)' == '' \">Debug</Configuration>\n    <Platform Condition=\" '$(Platform)' == '' \">AnyCPU</Platform>\n    <ProjectGuid>{DDE02168-1EAD-41D9-B5E6-FB101F98AC24}</ProjectGuid>\n    <OutputType>Library</OutputType>\n    <AppDesignerFolder>Properties</AppDesignerFolder>\n    <RootNamespace>T4Definitions</RootNamespace>\n    <AssemblyName>T4Definitions</AssemblyName>\n    <TargetFrameworkVersion>v4.7.2</TargetFrameworkVersion>\n    <FileAlignment>512</FileAlignment>\n    <AutoGenerateBindingRedirects>true</AutoGenerateBindingRedirects>\n    <TargetFrameworkProfile />\n  </PropertyGroup>\n  <PropertyGroup Condition=\" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' \">\n    <PlatformTarget>AnyCPU</PlatformTarget>\n    <DebugSymbols>true</DebugSymbols>\n    <DebugType>full</DebugType>\n    <Optimize>false</Optimize>\n    <OutputPath>bin\\Debug\\</OutputPath>\n    <DefineConstants>DEBUG;TRACE</DefineConstants>\n    <ErrorReport>prompt</ErrorReport>\n    <WarningLevel>4</WarningLevel>\n    <UseVSHostingProcess>false</UseVSHostingProcess>\n  </PropertyGroup>\n  <PropertyGroup Condition=\" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' \">\n    <PlatformTarget>AnyCPU</PlatformTarget>\n    <DebugType>pdbonly</DebugType>\n    <Optimize>true</Optimize>\n    <OutputPath>bin\\Release\\</OutputPath>\n    <DefineConstants>TRACE</DefineConstants>\n    <ErrorReport>prompt</ErrorReport>\n    <WarningLevel>4</WarningLevel>\n  </PropertyGroup>\n  <PropertyGroup>\n    <StartupObject />\n  </PropertyGroup>\n  <ItemGroup>\n    <None Include=\"CodeHeader.snippet\" />\n    <None Include=\"ReleaseNoteTemplate.md\" />\n    <None Include=\"Template.AssemblyInfo.tt\">\n      <Generator>TextTemplatingFileGenerator</Generator>\n      <LastGenOutput>Template.AssemblyInfo.cs</LastGenOutput>\n    </None>\n    <None Include=\"Model.t4\" />\n    <None Include=\"Template.nuspec.nuspec\">\n      <AutoGen>True</AutoGen>\n      <DesignTime>True</DesignTime>\n      <DependentUpon>Template.nuspec.tt</DependentUpon>\n    </None>\n  </ItemGroup>\n  <ItemGroup>\n    <None Include=\"Template.AssemblyInfo.cs\">\n      <AutoGen>True</AutoGen>\n      <DesignTime>True</DesignTime>\n      <DependentUpon>Template.AssemblyInfo.tt</DependentUpon>\n    </None>\n  </ItemGroup>\n  <ItemGroup>\n    <Service Include=\"{508349B6-6B84-4DF5-91F0-309BEEBAD82D}\" />\n  </ItemGroup>\n  <ItemGroup>\n    <None Include=\"ReleaseTask.md\" />\n  </ItemGroup>\n  <ItemGroup>\n    <Content Include=\"logo.png\" />\n    <Content Include=\"Template.nuspec.tt\">\n      <Generator>TextTemplatingFileGenerator</Generator>\n      <LastGenOutput>Template.nuspec.nuspec</LastGenOutput>\n    </Content>\n  </ItemGroup>\n  <ItemGroup>\n    <Reference Include=\"System\" />\n  </ItemGroup>\n  <Import Project=\"$(MSBuildToolsPath)\\Microsoft.CSharp.targets\" />\n  <!-- To modify your build process, add your task inside one of the targets below and uncomment it. \n       Other similar extension points exist, see Microsoft.Common.targets.\n  <Target Name=\"BeforeBuild\">\n  </Target>\n  <Target Name=\"AfterBuild\">\n  </Target>\n  -->\n</Project>"
  },
  {
    "path": "CommonResources/T4Definitions/Template.AssemblyInfo.cs",
    "content": "﻿//_______________________________________________________________\n//  Title   : Assembly info for: <Define Assembly Title>\n//  System  : Microsoft VisualStudio 2015 / C#\n//\n//  Copyright (C) 2022 Mariusz Postol LODZ POLAND\n//  +48 608 619 899\n//  mpostol@cas.eu\n//  https://github.com/mpostol/OPC-UA-OOI\n//_______________________________________________________________\n\nusing System.Reflection;\nusing System.Runtime.CompilerServices;\nusing System.Runtime.InteropServices;\n[assembly: AssemblyTitle(\"<Define Assembly Title>\")]\n[assembly: AssemblyDescription(\"DefaultProductName: <Define Assembly Title>\")]\n[assembly: AssemblyConfiguration(\"\")]\n[assembly: AssemblyCompany(\"Mariusz Postol\")]\n[assembly: AssemblyProduct(\"DefaultProductName\")]\n[assembly: AssemblyCopyright(\"Copyright (C) 2022 Mariusz Postol LODZ POLAND\")]\n[assembly: AssemblyTrademark(\"Object Oriented Internet\")]\n[assembly: AssemblyCulture(\"\")]\n[assembly: Guid(\"<GUID>\")]\n[assembly: AssemblyVersion(\"0.00.00.*\")]\n[assembly: AssemblyFileVersion(\"0.00.00\")]\n\n"
  },
  {
    "path": "CommonResources/T4Definitions/Template.AssemblyInfo.tt",
    "content": "﻿<#@ template debug=\"false\" hostspecific=\"false\" language=\"C#\" #>\n<#@ output extension=\".cs\" #>\n//_______________________________________________________________\n//  Title   : Assembly info for: <#=m_AssemblyTitle#>\n//  System  : Microsoft VisualStudio 2015 / C#\n//\n//  <#=AssemblyCopyright#>\n//  <#=Phone#>\n//  <#=Email#>\n//  <#=Url#>\n//_______________________________________________________________\n\nusing System.Reflection;\nusing System.Runtime.CompilerServices;\nusing System.Runtime.InteropServices;\n[assembly: AssemblyTitle(\"<#=m_AssemblyTitle#>\")]\n[assembly: AssemblyDescription(\"<#=DefaultProductName#>: <#=m_AssemblyTitle#>\")]\n[assembly: AssemblyConfiguration(\"\")]\n[assembly: AssemblyCompany(\"<#=AssemblyCompany#>\")]\n[assembly: AssemblyProduct(\"<#=DefaultProductName#>\")]\n[assembly: AssemblyCopyright(\"<#=AssemblyCopyright#>\")]\n[assembly: AssemblyTrademark(\"<#=ProductTrademark#>\")]\n[assembly: AssemblyCulture(\"\")]\n[assembly: Guid(\"<GUID>\")]\n[assembly: AssemblyVersion(\"<#= DefaultProductVersion #>.*\")]\n[assembly: AssemblyFileVersion(\"<#= DefaultProductVersion #>\")]\n\n<#@ include file = \".\\Model.t4\" #>\n<#+\nstring m_AssemblyTitle = \"<Define Assembly Title>\";\n#>\n"
  },
  {
    "path": "CommonResources/T4Definitions/Template.nuspec.nuspec",
    "content": "﻿<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<package xmlns=\"http://schemas.microsoft.com/packaging/2012/06/nuspec.xsd\">\n  <metadata>\n    <id>Define.Assembly.Title</id>\n    <version>0.00.00</version>\n    <title>DefaultProductName</title>\n    <authors>Mariusz Postol</authors>\n    <owners>Mariusz Postol</owners>\n    <requireLicenseAcceptance>false</requireLicenseAcceptance>\n    <license type=\"expression\">MIT</license>\n    <projectUrl>https://github.com/mpostol/OPC-UA-OOI</projectUrl>\n    <icon>logo.png</icon>\n    <description>description must be added</description>\n    <summary>summary must be added.</summary>    \n    <copyright>Copyright (C) 2022 Mariusz Postol LODZ POLAND</copyright>\n    <tags>Object Oriented Internet, OPC UA, Information Model, IoT, M2M, DOA,</tags>\n    <repository type=\"GitHub\" url=\"https://github.com/mpostol/OPC-UA-OOI\" />\n    <dependencies>\n      <group targetFramework=\".NETStandard2.0\" />\n    </dependencies>\n    <releaseNotes>\n      Add releaseNotes if needed.\n    </releaseNotes>\n    <copyright>Copyright (C) 2022 Mariusz Postol LODZ POLAND</copyright>\n  </metadata>\n  <files>\n    <file src=\"logo.png\" target=\"\"/>\n  </files>\n</package>\n\n"
  },
  {
    "path": "CommonResources/T4Definitions/Template.nuspec.tt",
    "content": "﻿<#@ template debug=\"false\" hostspecific=\"false\" language=\"C#\" #>\n<#@ output extension=\".nuspec\" #>\n<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<package xmlns=\"http://schemas.microsoft.com/packaging/2012/06/nuspec.xsd\">\n  <metadata>\n    <id><#=m_AssemblyTitle#></id>\n    <version><#= DefaultProductVersion #></version>\n    <title><#=DefaultProductName#></title>\n    <authors><#=AssemblyCompany#></authors>\n    <owners><#=Owner#></owners>\n    <requireLicenseAcceptance>false</requireLicenseAcceptance>\n    <license type=\"expression\">MIT</license>\n    <projectUrl><#=Url#></projectUrl>\n    <icon>logo.png</icon>\n    <description>description must be added</description>\n    <summary>summary must be added.</summary>    \n    <copyright><#=AssemblyCopyright#></copyright>\n    <tags>Object Oriented Internet, OPC UA, Information Model, IoT, M2M, DOA,</tags>\n    <repository type=\"GitHub\" url=\"https://github.com/mpostol/OPC-UA-OOI\" />\n    <dependencies>\n      <group targetFramework=\".NETStandard2.0\" />\n    </dependencies>\n    <releaseNotes>\n      Add releaseNotes if needed.\n    </releaseNotes>\n    <copyright><#=AssemblyCopyright#></copyright>\n  </metadata>\n  <files>\n    <file src=\"logo.png\" target=\"\"/>\n  </files>\n</package>\n\n<#@ include file = \".\\Model.t4\" #>\n<#+\nstring m_AssemblyTitle = \"Define.Assembly.Title\";\n#>"
  },
  {
    "path": "Configuration/Core/Configuration.Core.csproj",
    "content": "<Project Sdk=\"Microsoft.NET.Sdk\">\n\n  <PropertyGroup>\n    <TargetFramework>netstandard2.0</TargetFramework>\n    <AssemblyName>UAOOI.Configuration.Core</AssemblyName>\n    <RootNamespace>UAOOI.Configuration.Core</RootNamespace>\n    <Description>The library contains a shared interfaces for server configuration which OPC UA applications can reference.\nThe library provides an abstraction over any OPC UA Server configuration plug-in. Using the library allows an application to indirectly access the server configuration attributes without relying on hard references. The hope is that using this library, third-party applications and frameworks can begin to leverage server configuration management without tying themselves down to a specific     implementation.</Description>\n    <Version>6.4.8</Version>\n    <Authors>MPostol</Authors>\n    <Company>commsvr.com</Company>\n    <Product>Object Oriented Internet</Product>\n    <Copyright>Copyright MPostol (c) 2018</Copyright>\n    <PackageProjectUrl>https://commsvr.gitbook.io/ooi</PackageProjectUrl>\n    <RepositoryUrl>https://github.com/mpostol/OPC-UA-OOI</RepositoryUrl>\n    <RepositoryType>GitHub</RepositoryType>\n    <PackageTags>Object Oriented Internet, OPC UA, CommServer, Reactive Networking.</PackageTags>\n    <GeneratePackageOnBuild>false</GeneratePackageOnBuild>\n    <SignAssembly>true</SignAssembly>\n    <AssemblyOriginatorKeyFile>OPCUAOOIKey.snk</AssemblyOriginatorKeyFile>\n    <PackageRequireLicenseAcceptance>false</PackageRequireLicenseAcceptance>\n    <AssemblyVersion>6.4.7.1</AssemblyVersion>\n    <PackageIcon>Logo64.PNG</PackageIcon>\n    <PackageIconUrl />\n    <PackageLicenseExpression>MIT</PackageLicenseExpression>\n    <PackageReleaseNotes>VS2022 compatibility</PackageReleaseNotes>\n  </PropertyGroup>\n\n  <PropertyGroup Condition=\"'$(Configuration)|$(Platform)'=='Debug|AnyCPU'\">\n    <NoWarn>1701;1702;1705;IDE0001;IDE0002;IDE0003</NoWarn>\n  </PropertyGroup>\n\n  <PropertyGroup Condition=\"'$(Configuration)|$(Platform)'=='Release|AnyCPU'\">\n    <DocumentationFile>bin\\Release\\UAOOI.Configuration.Core.xml</DocumentationFile>\n    <OutputPath>bin\\Release\\</OutputPath>\n  </PropertyGroup>\n\n  <ItemGroup>\n    <None Update=\"ConfigurationCore.nuspec\">\n      <DesignTime>True</DesignTime>\n      <AutoGen>True</AutoGen>\n      <DependentUpon>ConfigurationCore.tt</DependentUpon>\n    </None>\n    <None Update=\"ConfigurationCore.tt\">\n      <Generator>TextTemplatingFileGenerator</Generator>\n      <LastGenOutput>ConfigurationCore.nuspec</LastGenOutput>\n    </None>\n    <None Include=\"..\\..\\CommonResources\\Media\\Logo64.PNG\">\n      <Pack>True</Pack>\n      <PackagePath></PackagePath>\n    </None>\n  </ItemGroup>\n\n  <ItemGroup>\n    <Service Include=\"{508349b6-6b84-4df5-91f0-309beebad82d}\" />\n  </ItemGroup>\n\n</Project>\n"
  },
  {
    "path": "Configuration/Core/ConfigurationCore.nuspec",
    "content": "﻿<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<package xmlns=\"http://schemas.microsoft.com/packaging/2012/06/nuspec.xsd\">\n  <metadata>\n    <id>UAOOI.Configuration.Core</id>\n    <version>6.4.9</version>\n    <title>Object Oriented Internet Common Infrastructure</title>\n    <authors>Mariusz Postol</authors>\n    <owners>Mariusz Postol</owners>\n    <requireLicenseAcceptance>false</requireLicenseAcceptance>\n    <license type=\"expression\">MIT</license>\n    <projectUrl>https://commsvr.gitbook.io/ooi/</projectUrl>\n    <icon>Logo64.PNG</icon>\n    <description>\n\t\tThe library contains a shared interfaces for server configuration which OPC UA applications can reference. The library provides an abstraction over any OPC UA Server configuration plug-in. \n\t\tUsing the library allows an application to indirectly access the server configuration attributes without relying on hard references. \n\t\tThe hope is that using this library, third-party applications and frameworks can begin to leverage server configuration management without tying themselves down to a specific implementation.\n\t</description>\n    <summary>\n\t\tThe library contains a shared interfaces for server configuration which OPC UA applications can reference.\n\t</summary>\n    <copyright>Copyright (C) 2022 Mariusz Postol LODZ POLAND</copyright>\n    <tags>Object Oriented Internet, OPC UA, PubSub, Information Model, IoT, M2M, DOA,</tags>\n    <repository type=\"GitHub\" url=\"https://github.com/mpostol/OPC-UA-OOI\" />\n    <dependencies>\n      <group targetFramework=\".NETStandard2.0\" />\n    </dependencies>\n    <releaseNotes>VS 2022 compatibility.</releaseNotes>\n    <copyright>Copyright (C) 2022 Mariusz Postol LODZ POLAND</copyright>\n  </metadata>\n  <files>\n    <file src=\"..\\..\\CommonResources\\Media\\Logo64.PNG\" target=\"\"/>\n    <file src=\"bin\\Release\\netstandard2.0\\UAOOI.Configuration.Core.dll\" target=\"lib\\netstandard2.0\\UAOOI.Configuration.Core.dll\" />\n    <file src=\"bin\\Release\\netstandard2.0\\UAOOI.Configuration.Core.xml\" target=\"lib\\netstandard2.0\\UAOOI.Configuration.Core.xml\" />\n  </files>\n</package>\n\n"
  },
  {
    "path": "Configuration/Core/ConfigurationCore.tt",
    "content": "﻿<#@ template debug=\"false\" hostspecific=\"false\" language=\"C#\" #>\n<#@ output extension=\".nuspec\" #>\n<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<package xmlns=\"http://schemas.microsoft.com/packaging/2012/06/nuspec.xsd\">\n  <metadata>\n    <id>UAOOI.Configuration.Core</id>\n    <version><#=CommonVersion#><#= CommonPrerelease#></version>\n    <title><#=NetworkingDataProduct#> Common Infrastructure</title>\n    <authors><#=AssemblyCompany#></authors>\n    <owners><#=Owner#></owners>\n    <requireLicenseAcceptance>false</requireLicenseAcceptance>\n    <license type=\"expression\">MIT</license>\n    <projectUrl>https://commsvr.gitbook.io/ooi/</projectUrl>\n    <icon>Logo64.PNG</icon>\n    <description>\n\t\tThe library contains a shared interfaces for server configuration which OPC UA applications can reference. The library provides an abstraction over any OPC UA Server configuration plug-in. \n\t\tUsing the library allows an application to indirectly access the server configuration attributes without relying on hard references. \n\t\tThe hope is that using this library, third-party applications and frameworks can begin to leverage server configuration management without tying themselves down to a specific implementation.\n\t</description>\n    <summary>\n\t\tThe library contains a shared interfaces for server configuration which OPC UA applications can reference.\n\t</summary>\n    <copyright><#=AssemblyCopyright#></copyright>\n    <tags>Object Oriented Internet, OPC UA, PubSub, Information Model, IoT, M2M, DOA,</tags>\n    <repository type=\"GitHub\" url=\"https://github.com/mpostol/OPC-UA-OOI\" />\n    <dependencies>\n      <group targetFramework=\".NETStandard2.0\" />\n    </dependencies>\n    <releaseNotes>VS 2022 compatibility.</releaseNotes>\n    <copyright><#=AssemblyCopyright#></copyright>\n  </metadata>\n  <files>\n    <file src=\"..\\..\\CommonResources\\Media\\Logo64.PNG\" target=\"\"/>\n    <file src=\"bin\\Release\\netstandard2.0\\UAOOI.Configuration.Core.dll\" target=\"lib\\netstandard2.0\\UAOOI.Configuration.Core.dll\" />\n    <file src=\"bin\\Release\\netstandard2.0\\UAOOI.Configuration.Core.xml\" target=\"lib\\netstandard2.0\\UAOOI.Configuration.Core.xml\" />\n  </files>\n</package>\n\n<#@ include file = \"..\\..\\CommonResources\\T4Definitions\\Model.t4\" #>\n"
  },
  {
    "path": "Configuration/Core/IConfiguration.cs",
    "content": "﻿//___________________________________________________________________________________\n//\n//  Copyright (C) 2019, Mariusz Postol LODZ POLAND.\n//\n//  To be in touch join the community at GITTER: https://gitter.im/mpostol/OPC-UA-OOI\n//___________________________________________________________________________________\n\nusing System;\nusing System.IO;\n\nnamespace UAOOI.Configuration.Core\n{\n  /// <summary>\n  /// Gets access to the server configuration file editor.\n  /// </summary>\n  public interface IConfiguration: IDisposable\n  {\n\n    /// <summary>\n    /// Creates the default configuration.\n    /// </summary>\n    void CreateDefaultConfiguration();\n\n    /// <summary>\n    /// Reads the configuration.\n    /// </summary>\n    /// <param name=\"configurationFile\">The configuration file.</param>\n    void ReadConfiguration( FileInfo configurationFile );\n\n    /// <summary>\n    /// Gets the configuration editor - user interface to edit the plug-in configuration file.\n    /// </summary>\n    /// <returns>\n    /// Represents a window or dialog box that makes up an application's user interface to be used to edit configuration file.\n    /// </returns>\n    void EditConfiguration();\n    \n    /// <summary>\n    /// Saves the configuration file to a specified location.\n    /// </summary>\n    /// <param name=\"solutionFilePath\">The solution file path.</param>\n    /// <param name=\"configurationFile\">The configuration file.</param>\n    /// <remarks><paramref name=\"solutionFilePath\"/> is to be used to create relative file path to configuration files used by the plug-in.</remarks>\n    void SaveConfiguration( string solutionFilePath, FileInfo configurationFile );\n\n    /// <summary>\n    /// Gets the instance to be used by a user to configure the selected node.\n    /// </summary>\n    /// <param name=\"descriptor\">Provides identifying description of the node to be configured.</param>\n    /// <returns>\n    /// Returned object provides access to the instance node configuration edition functionality.\n    /// </returns>\n    IInstanceConfiguration GetInstanceConfiguration( INodeDescriptor descriptor );\n\n    /// <summary>\n    /// Creates automatically the instance configurations on the best effort basis.\n    /// </summary>\n    /// <param name=\"descriptors\">The descriptors of nodes.</param>\n    /// <param name=\"SkipOpeningConfigurationFile\">if set to <c>true</c> skip opening configuration file.</param>\n    /// <param name=\"CancelWasPressed\">if set to <c>true</c> cancel was pressed.</param>\n    void CreateInstanceConfigurations( INodeDescriptor[] descriptors, bool SkipOpeningConfigurationFile, out bool CancelWasPressed );\n\n    /// <summary>\n    /// Occurs any time the configuration is modified.\n    /// </summary>\n    event EventHandler<UAServerConfigurationEventArgs> OnModified;\n\n    /// <summary>\n    /// Gets the default name of the file.\n    /// </summary>\n    /// <value>The default name of the file.</value>\n    string DefaultFileName { get; }\n\n  }\n\n}\n"
  },
  {
    "path": "Configuration/Core/IInstanceConfiguration.cs",
    "content": "﻿\nnamespace UAOOI.Configuration.Core\n{\n\n  /// <summary>\n  /// Provides access to the instance node configuration editor\n  /// </summary>\n  public interface IInstanceConfiguration\n  {\n\n    /// <summary>\n    /// Edits this instance.\n    /// </summary>\n    void Edit();\n    /// <summary>\n    /// Create new empty data bindings configuration for this instance node to store proprietary information of the UA server.\n    /// </summary>\n    void ClearConfiguration();\n\n  }\n}\n"
  },
  {
    "path": "Configuration/Core/INodeDescriptor.cs",
    "content": "﻿\nusing System.Xml;\n\nnamespace UAOOI.Configuration.Core\n{\n  /// <summary>\n  /// Provides description of the node to be configured.\n  /// </summary>\n  public interface INodeDescriptor\n  {\n\n    /// <summary>\n    /// Gets the node unique identifier, i.e. the browse path.\n    /// </summary>\n    /// <value>The node identifier.</value>\n    XmlQualifiedName NodeIdentifier { get; }\n\n    /// <summary>\n    /// Gets the type of the node of of the Variable NodeClass\n    /// </summary>\n    /// <value>The type of the data.</value>\n    XmlQualifiedName DataType { get; }\n\n    /// <summary>\n    /// Gets the node class.\n    /// </summary>\n    /// <value>The node class.</value>\n    InstanceNodeClassesEnum NodeClass { get; }\n\n    /// <summary>\n    /// Gets a value indicating whether it is instance declaration - may have many instances in the created address space.\n    /// </summary>\n    /// <value><c>true</c> if the node is instance declaration; otherwise, <c>false</c>.</value>\n    bool InstanceDeclaration { get; }\n\n    /// <summary>\n    /// Gets the binding description that allows the editor to create automatically bindings.\n    /// </summary>\n    /// <value>The binding description.</value>\n    string BindingDescription { get; }\n\n  }\n\n}\n"
  },
  {
    "path": "Configuration/Core/InstanceNodeClassesEnum.cs",
    "content": "﻿\nnamespace UAOOI.Configuration.Core\n{\n  /// <summary>\n  /// Enumeration of the node classes that can be a source of process data.\n  /// </summary>\n  public enum InstanceNodeClassesEnum\n  {\n    /// <summary>\n    /// Object NodeClasses\n    /// </summary>\n    Object,\n    /// <summary>\n    /// Variable NodeClasses\n    /// </summary>\n    Variable,\n    /// <summary>\n    /// Method NodeClasses\n    /// </summary>\n    Method,\n    /// <summary>\n    /// View NodeClasses\n    /// </summary>\n    View,\n    /// <summary>\n    /// Not defined or nor relevant\n    /// </summary>\n    NotDefined\n  }\n}"
  },
  {
    "path": "Configuration/Core/README.md",
    "content": "﻿# Core definitions\n\nConfiguration core definitions"
  },
  {
    "path": "Configuration/Core/UAServerConfigurationEventArgs.cs",
    "content": "﻿\nusing System;\n\nnamespace UAOOI.Configuration.Core\n{\n  /// <summary>\n  /// Instance of this class provides more information on the type of the changes made in the server configuration.\n  /// </summary>\n  public class UAServerConfigurationEventArgs: EventArgs\n  {\n    /// <summary>\n    /// Gets or sets a value indicating whether the configuration file has been changed.\n    /// </summary>\n    /// <value>\n    /// \t<c>true</c> if the configuration file has benn changed; otherwise, <c>false</c>.\n    /// </value>\n    public bool ConfigurationFileChanged { get; private set; }\n    /// <summary>\n    /// Initializes a new instance of the <see cref=\"UAServerConfigurationEventArgs\"/> class.\n    /// </summary>\n    /// <param name=\"fileChanged\">\n    /// if set to <c>true</c> indicated that the configuration file has been changed \n    /// and user interface must be regenerated.\n    /// </param>\n    public UAServerConfigurationEventArgs( bool fileChanged )\n    {\n      ConfigurationFileChanged = fileChanged;\n    }\n  }\n}\n"
  },
  {
    "path": "Configuration/DataBindings/Configuration.DataBindings.csproj",
    "content": "﻿<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<Project Sdk=\"Microsoft.NET.Sdk\">\n\n  <PropertyGroup>\n    <TargetFramework>netstandard2.0</TargetFramework>\n    <AssemblyName>UAOOI.Configuration.DataBindings</AssemblyName>\n    <RootNamespace>UAOOI.Configuration.DataBindings</RootNamespace>\n    <Version>6.4.8</Version>\n    <Authors>Mariusz Postol</Authors>\n    <Product>Object Oriented Internet</Product>\n    <Description>OPC UA Object Oriented Internet (UAOOI) DataBindings library is dedicated to create a plug-in aimed at editing of the configuration of any application based on OPC UA Information Model.\nIt allows also to add data binding to the configuration. It is part of the project supporting OPC UA Object Oriented Internet paradigm.\n</Description>\n    <Copyright>Copyright MPostol (c) 2021</Copyright>\n    <PackageProjectUrl>https://commsvr.gitbook.io/ooi</PackageProjectUrl>\n    <RepositoryUrl>https://github.com/mpostol/OPC-UA-OOI</RepositoryUrl>\n    <RepositoryType>GitHub</RepositoryType>\n    <PackageTags>Object Oriented Internet, OPC UA, CommServer, Reactive Networking.</PackageTags>\n    <SignAssembly>true</SignAssembly>\n    <AssemblyOriginatorKeyFile>OPCUAOOIKey.snk</AssemblyOriginatorKeyFile>\n    <AssemblyVersion>6.4.8.1</AssemblyVersion>\n    <GeneratePackageOnBuild>false</GeneratePackageOnBuild>\n    <Company>Mariusz Postol</Company>\n    <PackageLicenseExpression>MIT</PackageLicenseExpression>\n    <PackageReleaseNotes>2022 compatibility</PackageReleaseNotes>\n    <PackageIcon>Logo64.PNG</PackageIcon>\n    <PackageIconUrl />\n  </PropertyGroup>\n\n  <PropertyGroup Condition=\"'$(Configuration)|$(Platform)'=='Release|AnyCPU'\">\n    <OutputPath>bin\\Release\\</OutputPath>\n    <DocumentationFile>bin\\Release\\UAOOI.Configuration.DataBindings.xml</DocumentationFile>\n  </PropertyGroup>\n\n  <ItemGroup>\n    <None Remove=\"packages.config\" />\n    <None Include=\"..\\..\\CommonResources\\Media\\Logo64.PNG\">\n      <Pack>True</Pack>\n      <PackagePath></PackagePath>\n    </None>\n  </ItemGroup>\n\n  <ItemGroup>\n    <PackageReference Include=\"CommonServiceLocator\" Version=\"2.0.6\" />\n    <PackageReference Include=\"System.ComponentModel.Composition\" Version=\"6.0.0\" />\n    <PackageReference Include=\"UAOOI.Common.Infrastructure\" Version=\"6.4.7\" />\n    <PackageReference Include=\"UAOOI.Configuration.Core\" Version=\"6.4.8\" />\n    <PackageReference Include=\"UAOOI.Configuration.Networking\" Version=\"6.4.8\" />\n  </ItemGroup>\n\n  <ItemGroup>\n    <None Update=\"Configuration.DataBindings.nuspec\">\n      <DesignTime>True</DesignTime>\n      <AutoGen>True</AutoGen>\n      <DependentUpon>Configuration.DataBindings.tt</DependentUpon>\n    </None>\n    <None Update=\"Configuration.DataBindings.tt\">\n      <Generator>TextTemplatingFileGenerator</Generator>\n      <LastGenOutput>Configuration.DataBindings.nuspec</LastGenOutput>\n    </None>\n  </ItemGroup>\n\n  <ItemGroup>\n    <Service Include=\"{508349b6-6b84-4df5-91f0-309beebad82d}\" />\n  </ItemGroup>\n\n</Project>"
  },
  {
    "path": "Configuration/DataBindings/Configuration.DataBindings.nuspec",
    "content": "﻿<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<package xmlns=\"http://schemas.microsoft.com/packaging/2012/06/nuspec.xsd\">\n  <metadata>\n    <id>UAOOI.Configuration.DataBindings</id>\n    <version>6.4.9</version>\n    <title>Object Oriented Internet Common Infrastructure</title>\n    <authors>Mariusz Postol</authors>\n    <owners>Mariusz Postol</owners>\n    <requireLicenseAcceptance>false</requireLicenseAcceptance>\n    <license type=\"expression\">MIT</license>\n    <projectUrl>https://commsvr.gitbook.io/ooi/</projectUrl>\n    <icon>Logo64.PNG</icon>\n    <description>\n      OPC UA Object Oriented Internet (UAOOI) DataBindings library is dedicated to create a plug-in aimed at editing of the configuration of any application based on OPC UA Information Model.\n      It allows also to add data binding to the configuration. It is part of the project supporting OPC UA Object Oriented Internet paradigm.\n    </description>\n    <summary>\n       DataBindings library is dedicated to create a plug-in aimed at editing of the configuration of any application based on OPC UA Information Model\n\t</summary>\n    <copyright>Copyright (C) 2022 Mariusz Postol LODZ POLAND</copyright>\n    <tags>Object Oriented Internet, OPC UA, PubSub, Information Model, IoT, M2M, DOA,</tags>\n    <repository type=\"GitHub\" url=\"https://github.com/mpostol/OPC-UA-OOI\" />\n    <releaseNotes>VS 2022 compatibility.</releaseNotes>\n    <copyright>Copyright (C) 2022 Mariusz Postol LODZ POLAND</copyright>\n\t<dependencies>\n\t  <group targetFramework=\".NETStandard2.0\">\n\t\t<dependency id=\"CommonServiceLocator\" version=\"2.0.6\" exclude=\"Build,Analyzers\" />\n\t\t<dependency id=\"System.ComponentModel.Composition\" version=\"6.0.0\" exclude=\"Build,Analyzers\" />\n\t\t<dependency id=\"UAOOI.Common.Infrastructure\" version=\"6.4.7\" exclude=\"Build,Analyzers\" />\n\t\t<dependency id=\"UAOOI.Configuration.Core\" version=\"6.4.8\" exclude=\"Build,Analyzers\" />\n\t\t<dependency id=\"UAOOI.Configuration.Networking\" version=\"6.4.8\" exclude=\"Build,Analyzers\" />\n      </group>\n\t</dependencies>\n  </metadata>\n  <files>\n    <file src=\"..\\..\\CommonResources\\Media\\Logo64.PNG\" target=\"\"/>\n    <file src=\"bin\\Release\\netstandard2.0\\UAOOI.Configuration.DataBindings.dll\" target=\"lib\\netstandard2.0\\UAOOI.Configuration.DataBindings.dll\" />\n    <file src=\"bin\\Release\\netstandard2.0\\UAOOI.Configuration.DataBindings.xml\" target=\"lib\\netstandard2.0\\UAOOI.Configuration.DataBindings.xml\" />\n  </files>\n</package>\n\n"
  },
  {
    "path": "Configuration/DataBindings/Configuration.DataBindings.tt",
    "content": "﻿<#@ template debug=\"false\" hostspecific=\"false\" language=\"C#\" #>\n<#@ output extension=\".nuspec\" #>\n<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<package xmlns=\"http://schemas.microsoft.com/packaging/2012/06/nuspec.xsd\">\n  <metadata>\n    <id>UAOOI.Configuration.DataBindings</id>\n    <version><#=CommonVersion#><#= CommonPrerelease#></version>\n    <title><#=NetworkingDataProduct#> Common Infrastructure</title>\n    <authors><#=AssemblyCompany#></authors>\n    <owners><#=Owner#></owners>\n    <requireLicenseAcceptance>false</requireLicenseAcceptance>\n    <license type=\"expression\">MIT</license>\n    <projectUrl>https://commsvr.gitbook.io/ooi/</projectUrl>\n    <icon>Logo64.PNG</icon>\n    <description>\n      OPC UA Object Oriented Internet (UAOOI) DataBindings library is dedicated to create a plug-in aimed at editing of the configuration of any application based on OPC UA Information Model.\n      It allows also to add data binding to the configuration. It is part of the project supporting OPC UA Object Oriented Internet paradigm.\n    </description>\n    <summary>\n       DataBindings library is dedicated to create a plug-in aimed at editing of the configuration of any application based on OPC UA Information Model\n\t</summary>\n    <copyright><#=AssemblyCopyright#></copyright>\n    <tags>Object Oriented Internet, OPC UA, PubSub, Information Model, IoT, M2M, DOA,</tags>\n    <repository type=\"GitHub\" url=\"https://github.com/mpostol/OPC-UA-OOI\" />\n    <releaseNotes>VS 2022 compatibility.</releaseNotes>\n    <copyright><#=AssemblyCopyright#></copyright>\n\t<dependencies>\n\t  <group targetFramework=\".NETStandard2.0\">\n\t\t<dependency id=\"CommonServiceLocator\" version=\"2.0.6\" exclude=\"Build,Analyzers\" />\n\t\t<dependency id=\"System.ComponentModel.Composition\" version=\"6.0.0\" exclude=\"Build,Analyzers\" />\n\t\t<dependency id=\"UAOOI.Common.Infrastructure\" version=\"6.4.7\" exclude=\"Build,Analyzers\" />\n\t\t<dependency id=\"UAOOI.Configuration.Core\" version=\"6.4.8\" exclude=\"Build,Analyzers\" />\n\t\t<dependency id=\"UAOOI.Configuration.Networking\" version=\"6.4.8\" exclude=\"Build,Analyzers\" />\n      </group>\n\t</dependencies>\n  </metadata>\n  <files>\n    <file src=\"..\\..\\CommonResources\\Media\\Logo64.PNG\" target=\"\"/>\n    <file src=\"bin\\Release\\netstandard2.0\\UAOOI.Configuration.DataBindings.dll\" target=\"lib\\netstandard2.0\\UAOOI.Configuration.DataBindings.dll\" />\n    <file src=\"bin\\Release\\netstandard2.0\\UAOOI.Configuration.DataBindings.xml\" target=\"lib\\netstandard2.0\\UAOOI.Configuration.DataBindings.xml\" />\n  </files>\n</package>\n\n<#@ include file = \"..\\..\\CommonResources\\T4Definitions\\Model.t4\" #>\n"
  },
  {
    "path": "Configuration/DataBindings/ConfigurationBase.cs",
    "content": "﻿//___________________________________________________________________________________\n//\n//  Copyright (C) 2019, Mariusz Postol LODZ POLAND.\n//\n//  To be in touch join the community at GITTER: https://gitter.im/mpostol/OPC-UA-OOI\n//___________________________________________________________________________________\n\n\nusing System;\nusing System.IO;\nusing UAOOI.Configuration.Core;\nusing UAOOI.Configuration.Networking;\n\nnamespace UAOOI.Configuration.DataBindings\n{\n  /// <summary>\n  /// Class ConfigurationBase - Provides basic implementation of the <see cref=\"IConfiguration\"/>.\n  /// </summary>\n  public abstract class ConfigurationBase<ConfigurationDataType> : UANetworkingConfiguration<ConfigurationDataType>, IConfiguration\n    where ConfigurationDataType : class, IConfigurationDataFactory, new()\n  {\n    /// <summary>\n    /// Initializes a new instance of the <see cref=\"ConfigurationBase{ConfigurationDataType}\"/> class.\n    /// </summary>\n    public ConfigurationBase()\n    {\n      base.OnModified += (x, y) => { OnModified?.Invoke(x, new UAServerConfigurationEventArgs(true)); };\n    }\n    /// <summary>\n    /// Occurs any time the configuration is modified.\n    /// </summary>\n    /// <exception cref=\"System.NotImplementedException\">\n    /// </exception>\n    public new event EventHandler<UAServerConfigurationEventArgs> OnModified;\n    /// <summary>\n    /// Gets the default name of the file.\n    /// </summary>\n    /// <value>The default name of the file.</value>\n    public abstract string DefaultFileName { get; }\n    /// <summary>\n    /// Creates the default configuration.\n    /// </summary>\n    public abstract void CreateDefaultConfiguration();\n    /// <summary>\n    /// Creates automatically the instance configurations on the best effort basis.\n    /// </summary>\n    /// <param name=\"descriptors\">The descriptors of nodes.</param>\n    /// <param name=\"SkipOpeningConfigurationFile\">if set to <c>true</c> skip opening configuration file.</param>\n    /// <param name=\"CancelWasPressed\">if set to <c>true</c> cancel was pressed.</param>\n    public abstract void CreateInstanceConfigurations(INodeDescriptor[] descriptors, bool SkipOpeningConfigurationFile, out bool CancelWasPressed);\n    /// <summary>\n    /// Gets the configuration editor - user interface to edit the plug-in configuration file.\n    /// </summary>\n    /// <returns>Represents a window or dialog box that makes up an application's user interface to be used to edit configuration file.</returns>\n    public abstract void EditConfiguration();\n    /// <summary>\n    /// Gets the instance to be used by a user to configure the selected node.\n    /// </summary>\n    /// <param name=\"descriptor\">Provides identifying description of the node to be configured.</param>\n    /// <returns>Returned object provides access to the instance node configuration edition functionality.</returns>\n    public abstract IInstanceConfiguration GetInstanceConfiguration(INodeDescriptor descriptor);\n    /// <summary>\n    /// Saves the configuration file to a specified location.\n    /// </summary>\n    /// <param name=\"solutionFilePath\">The solution file path.</param>\n    /// <param name=\"configurationFile\">The configuration file.</param>\n    /// <remarks><paramref name=\"solutionFilePath\" /> is to be used to create relative file path to configuration files used by the plug-in.</remarks>\n    public abstract void SaveConfiguration(string solutionFilePath, FileInfo configurationFile);\n\n    #region IDisposable Support\n    /// <summary>\n    /// Releases unmanaged and - optionally - managed resources.\n    /// </summary>\n    /// <param name=\"disposing\"><c>true</c> to release both managed and unmanaged resources; <c>false</c> to release only unmanaged resources.</param>\n    protected virtual void Dispose(bool disposing) { }\n    /// <summary>\n    /// Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources.\n    /// </summary>\n    public void Dispose()\n    {\n      Dispose(true);\n    }\n    #endregion\n  }\n}\n"
  },
  {
    "path": "Configuration/DataBindings/IConfigurationEditor.cs",
    "content": "﻿\nusing System;\nusing UAOOI.Configuration.Core;\nusing UAOOI.Configuration.Networking.Serialization;\n\nnamespace UAOOI.Configuration.DataBindings\n{\n  /// <summary>\n  /// Interface IConfigurationEditor - describes an injection point to be used to compose en external editor. \n  /// </summary>\n  public interface IConfigurationEditor\n  {\n\n    /// <summary>\n    /// Creates the instance configurations.\n    /// </summary>\n    /// <param name=\"descriptors\">The descriptors.</param>\n    /// <param name=\"SkipOpeningConfigurationFile\">if set to <c>true</c> if the opening configuration file should be skipped.</param>\n    /// <param name=\"CancelWasPressed\">The cancel was pressed.</param>\n    void CreateInstanceConfigurations(INodeDescriptor[] descriptors, bool SkipOpeningConfigurationFile, Action<bool> CancelWasPressed);\n    /// <summary>\n    /// Edits the configuration.\n    /// </summary>\n    /// <param name=\"configuration\">The configuration.</param>\n    void EditConfiguration(ConfigurationData configuration);\n\n  }\n}\n"
  },
  {
    "path": "Configuration/DataBindings/IInstanceConfigurationFactory.cs",
    "content": "﻿\nusing System;\nusing System.Collections.ObjectModel;\nusing System.Diagnostics;\nusing UAOOI.Configuration.Core;\nusing UAOOI.Configuration.Networking.Serialization;\n\nnamespace UAOOI.Configuration.DataBindings\n{\n\n  /// <summary>\n  /// Delegate TraceAction - encapsulates operation writing a trace event message to the trace using the specified event type, event identifier, and message.\n  /// </summary>\n  /// <param name=\"eventType\">One of the enumeration values <see cref=\"TraceEventType\"/> that specifies the event type of the trace data.</param>\n  /// <param name=\"id\">A numeric identifier for the event.</param>\n  /// <param name=\"data\">The trace message to write.</param>\n  public delegate void TraceEvent(TraceEventType eventType, int id, string data);\n  /// <summary>\n  /// Interface IInstanceConfigurationFactory - object implementing this interface should provide the user interface \n  /// </summary>\n  public interface IInstanceConfigurationFactory\n  {\n\n    /// <summary>\n    /// Gets an object providing <see cref=\"IInstanceConfiguration\" /> interface which is to be displayed in the main editor window.\n    /// </summary>\n    /// <param name=\"dataSet\">The object <see cref=\"DataSetConfiguration\"/> to be edited.</param>\n    /// <param name=\"availableHandlers\">The available handlers that can be associated with the <paramref name=\"dataSet\"/>.</param>\n    /// <param name=\"trace\">The delegate encapsulating the trace operation.</param>\n    /// <param name=\"onModification\">The delegate encapsulating operation used to notify the caller about data modification.</param>\n    /// <returns>IInstanceConfiguration.</returns>\n    IInstanceConfiguration GetIInstanceConfiguration(DataSetConfiguration dataSet, ObservableCollection<MessageHandlerConfiguration> availableHandlers, TraceEvent trace, Action onModification );\n    \n  }\n\n}\n"
  },
  {
    "path": "Configuration/DataBindings/InstanceConfigurationBase.cs",
    "content": "﻿\nusing System;\nusing UAOOI.Configuration.Core;\n\nnamespace UAOOI.Configuration.DataBindings\n{\n  /// <summary>\n  /// Class InstanceConfigurationBase - provide basic configuration of the \n  /// </summary>\n  public class InstanceConfigurationBase : IInstanceConfiguration\n  {\n    /// <summary>\n    /// Create new empty data bindings configuration for this instance node to store proprietary information of the UA server.\n    /// </summary>\n    /// <exception cref=\"System.NotImplementedException\"></exception>\n    public void ClearConfiguration()\n    {\n      throw new NotImplementedException();\n    }\n    /// <summary>\n    /// Edits this instance.\n    /// </summary>\n    /// <exception cref=\"System.NotImplementedException\"></exception>\n    public void Edit()\n    {\n      throw new NotImplementedException();\n    }\n  }\n}\n"
  },
  {
    "path": "Configuration/DataBindings/NodeDescriptorBase.cs",
    "content": "﻿using System;\nusing System.Collections.Generic;\nusing UAOOI.Configuration.Core;\n\nnamespace UAOOI.Configuration.DataBindings\n{\n  /// <summary>\n  /// Class NodeDescriptorBase - provides description of the node to be configured.\n  /// </summary>\n  [Serializable]\n  public class NodeDescriptorBase : Networking.Serialization.NodeDescriptor, INodeDescriptor, IComparable<INodeDescriptor>, IEqualityComparer<NodeDescriptorBase>\n  {\n\n    #region INodeDescriptor\n    /// <summary>\n    /// Gets the node class.\n    /// </summary>\n    /// <value>The node class.</value>\n    public new InstanceNodeClassesEnum NodeClass\n    {\n      get\n      {\n        InstanceNodeClassesEnum _ret = InstanceNodeClassesEnum.NotDefined;\n        switch (base.NodeClass)\n        {\n          case Configuration.Networking.Serialization.InstanceNodeClassesEnum.Object:\n            _ret = InstanceNodeClassesEnum.Object;\n            break;\n          case Configuration.Networking.Serialization.InstanceNodeClassesEnum.Variable:\n            _ret = InstanceNodeClassesEnum.Variable;\n            break;\n          case Configuration.Networking.Serialization.InstanceNodeClassesEnum.Method:\n            _ret = InstanceNodeClassesEnum.Method;\n            break;\n          case Configuration.Networking.Serialization.InstanceNodeClassesEnum.View:\n            _ret = InstanceNodeClassesEnum.View;\n            break;\n          case Configuration.Networking.Serialization.InstanceNodeClassesEnum.NotDefined:\n            _ret = InstanceNodeClassesEnum.NotDefined;\n            break;\n        }\n        return _ret;\n      }\n      set\n      {\n        Configuration.Networking.Serialization.InstanceNodeClassesEnum _ret = Configuration.Networking.Serialization.InstanceNodeClassesEnum.NotDefined;\n        switch (value)\n        {\n          case InstanceNodeClassesEnum.Object:\n            _ret = Configuration.Networking.Serialization.InstanceNodeClassesEnum.Object;\n            break;\n          case InstanceNodeClassesEnum.Variable:\n            _ret = Configuration.Networking.Serialization.InstanceNodeClassesEnum.Variable;\n            break;\n          case InstanceNodeClassesEnum.Method:\n            _ret = Configuration.Networking.Serialization.InstanceNodeClassesEnum.Method;\n            break;\n          case InstanceNodeClassesEnum.View:\n            _ret = Configuration.Networking.Serialization.InstanceNodeClassesEnum.View;\n            break;\n          case InstanceNodeClassesEnum.NotDefined:\n            _ret = Configuration.Networking.Serialization.InstanceNodeClassesEnum.NotDefined;\n            break;\n        }\n        base.NodeClass = _ret;\n      }\n    }\n    #endregion\n\n    internal static NodeDescriptorBase Clone(INodeDescriptor descriptor)\n    {\n      NodeDescriptorBase _ret = new NodeDescriptorBase()\n      {\n        BindingDescription = descriptor.BindingDescription,\n        DataType = descriptor.DataType,\n        InstanceDeclaration = descriptor.InstanceDeclaration,\n        NodeClass = descriptor.NodeClass,\n        NodeIdentifier = descriptor.NodeIdentifier\n      };\n      return _ret;\n    }\n\n    #region operators\n    /// <summary>\n    /// Implements the == operator.\n    /// </summary>\n    /// <param name=\"x\">The first object of type <see cref=\"NodeDescriptorBase\"/> to compare.</param>\n    /// <param name=\"y\">The second object of type <see cref=\"NodeDescriptorBase\"/> to compare.</param>\n    /// <returns><c>true</c> if the specified objects are equal; otherwise, false.</returns>\n    public static bool operator ==(NodeDescriptorBase x, NodeDescriptorBase y)\n    {\n      if (Object.Equals(x, null) && Object.Equals(y, null))\n        return true;\n      if (Object.Equals(x, null) || Object.Equals(y, null))\n        return false;\n      return x.CompareTo(y) == 0;\n    }\n    /// <summary>\n    /// Implements the !=.\n    /// </summary>\n    /// <param name=\"x\">The first object of type <see cref=\"NodeDescriptorBase\"/> to compare.</param>\n    /// <param name=\"y\">The second object of type <see cref=\"NodeDescriptorBase\"/> to compare.</param>\n    /// <returns><c>true</c> if the specified objects are not equal; otherwise, false.</returns>\n    public static bool operator !=(NodeDescriptorBase x, NodeDescriptorBase y)\n    {\n      if (x.Equals(null) && y.Equals(null))\n        return false;\n      if (Object.Equals(x, null) || Object.Equals(y, null))\n        return true;\n      return x.CompareTo(y) != 0;\n    }\n    #endregion\n\n    #region IComparable\n    /// <summary>\n    /// Compares the current instance with another <see cref=\"INodeDescriptor\"/> and returns an integer that indicates whether the current instance precedes, \n    /// follows, or occurs in the same position in the sort order as the other object.\n    /// </summary>\n    /// <param name=\"other\">An instance of <see cref=\"INodeDescriptor\"/> to compare with this instance.</param>\n    /// <returns>\n    /// A <see cref=\"int\"/> signed integer that indicates the relative order of the objects being compared. The return value has these meanings:\n    /// Value, Meaning\n    /// Less than zero:  This instance is less than <paramref name=\"other\"/>.\n    /// Zero: This instance is equal to <paramref name=\"other\"/>.\n    /// Greater than zero: This instance is greater than <paramref name=\"other\"/>.\n    /// </returns>\n    /// <exception cref=\"T:System.ArgumentException\">\n    /// \t<paramref name=\"other\"/> is not the same type as this instance.\n    /// </exception>\n    public int CompareTo(INodeDescriptor other)\n    {\n      if (other == null)\n        throw new ArgumentNullException(nameof(other), \"Parameter cannot be null\");\n      if (this.NodeIdentifier == null || other.NodeIdentifier == null)\n        throw new ArgumentNullException(\"NodeIdentifier cannot be null.\");\n      if (this.NodeIdentifier.IsEmpty || other.NodeIdentifier.IsEmpty)\n        throw new ArgumentNullException(\"NodeIdentifier cannot be empty.\");\n      if (String.IsNullOrEmpty(this.NodeIdentifier.Namespace) || String.IsNullOrEmpty(other.NodeIdentifier.Namespace))\n        throw new ArgumentNullException(\"NodeIdentifier Namespace cannot be null.\");\n      int ret = NodeIdentifier.Namespace.CompareTo(other.NodeIdentifier.Namespace);\n      if (ret != 0)\n        return ret;\n      if (String.IsNullOrEmpty(this.NodeIdentifier.Name) || String.IsNullOrEmpty(other.NodeIdentifier.Namespace))\n        throw new ArgumentNullException(\"NodeIdentifier Name cannot be null.\");\n      return NodeIdentifier.Name.CompareTo(other.NodeIdentifier.Name);\n    }\n    #endregion\n\n    #region IEqualityComparer\n    /// <summary>\n    /// Determines whether the specified objects are equal.\n    /// </summary>\n    /// <param name=\"x\">The first object of type <see cref=\"NodeDescriptorBase\"/> to compare.</param>\n    /// <param name=\"y\">The second object of type <see cref=\"NodeDescriptorBase\"/> to compare.</param>\n    /// <returns><c>true</c> if the specified objects are equal; otherwise, false.</returns>\n    public bool Equals(NodeDescriptorBase x, NodeDescriptorBase y)\n    {\n      return x.CompareTo(y) == 0;\n    }\n    /// <summary>\n    /// Returns a hash code for this instance.\n    /// </summary>\n    /// <param name=\"obj\">The object.</param>\n    /// <returns>A hash code for this instance, suitable for use in hashing algorithms and data structures like a hash table.</returns>\n    /// <exception cref=\"System.ArgumentNullException\">if <paramref name=\"obj\"/> is null</exception>\n    public int GetHashCode(NodeDescriptorBase obj)\n    {\n      if (obj == null)\n        throw new ArgumentNullException(nameof(obj));\n      return obj.GetHashCode();\n    }\n    #endregion\n\n    #region object\n    /// <summary>\n    /// Returns a hash code for this instance.\n    /// </summary>\n    /// <returns>A hash code for this instance, suitable for use in hashing algorithms and data structures like a hash table.</returns>\n    public override int GetHashCode()\n    {\n      int _hash = NodeIdentifier.ToString().GetHashCode();\n      return _hash;\n    }\n    /// <summary>\n    /// Returns a <see cref=\"System.String\" /> that represents this instance.\n    /// </summary>\n    /// <returns>A <see cref=\"System.String\" /> that represents this instance.</returns>\n    public override string ToString()\n    {\n      return NodeIdentifier.ToString();\n    }\n    /// <summary>\n    /// Determines whether the specified <see cref=\"System.Object\" /> is equal to this instance.\n    /// </summary>\n    /// <param name=\"obj\">The object to compare with the current object.</param>\n    /// <returns><c>true</c> if the specified <see cref=\"System.Object\" /> is equal to this instance; otherwise, <c>false</c>.</returns>\n    /// <exception cref=\"ArgumentException\"></exception>\n    public override bool Equals(object obj)\n    {\n      if (Object.Equals(obj, null))\n        return false;\n      NodeDescriptorBase _other = obj as NodeDescriptorBase;\n      if (Object.Equals(_other, null))\n        return false;\n      return CompareTo(_other) == 0;\n    }\n    #endregion\n\n  }\n}\n"
  },
  {
    "path": "Configuration/DataBindings/Properties/AssemblyInfo.cs",
    "content": "﻿//__________________________________________________________________________________________________\n//\n//  Copyright (C) 2021, Mariusz Postol LODZ POLAND.\n//\n//  To be in touch join the community at GitHub: https://github.com/mpostol/OPC-UA-OOI/discussions\n//__________________________________________________________________________________________________\n\nusing System.Reflection;\nusing System.Runtime.InteropServices;\n\n[assembly: AssemblyTrademark(\"Object Oriented Internet\")]\n[assembly: Guid(\"bc6960f9-d096-49a0-a8d1-c5d194e54370\")]\n\n"
  },
  {
    "path": "Configuration/DataBindings/README.MD",
    "content": "# OPC UA DataBinding library\n\n## Introduction\n\nThis project is aimed at implementing an editor of the `OOI Reactive Application` configuration file. For more extensive examples, see the [Semantic-Data Message Centric Communication](https://commsvr.gitbook.io/ooi/internet-of-things-iot-archetype/readme.messagecentriccommunication).\n\nThe schema of the configuration files is available at:  [ConfigurationData.xsd](../../Configuration/Networking/Serialization/ConfigurationData.xsd) and detailed description of the configuration is captured in the document [UA Data Networking Configuration](../../Configuration/Networking/README.MD#ua-data-networking-configuration).\n\nThe code help documentation is [available for sponsors - consider joining](https://github.commsvr.com/AboutPartnershipProgram.md.html)\n\nThe NuGet package is available here: [OPC UA DataBindings Library](https://www.nuget.org/packages/UAOOI.Configuration.DataBindings).\n\nTo install OPC UA DataBindings Library, run the following command in the  Package Manager Console\n\n> `PM>  Install-Package UAOOI.DataBindings`\n\n## Getting Started Tutorial\n\nThe topics contained in this section are intended to give you quick exposure to the `OOI Reactive Application` network based data exchange programming experience. Working through this tutorial gives you an introductory understanding of the steps required to create `OOI Reactive Application` configuration custom editor. The editor is to be used by an universal tool supporting OPC UA Information Model design process. For more information on deploying OPC UA Information Model read the document: [Information Models Development](../../SemanticData/InformationModelsDevelopment.md)\n\nThe configuration files are managed using the `UAOOI.Configuration.Networking` component.\n\nFor assistance, contact:\n\n<https://github.com/mpostol>\n\nMariusz Postol\n\nCopyright (C) 2021 Mariusz Postol LODZ POLAND\n"
  },
  {
    "path": "Configuration/DataBindings/Settings.cs",
    "content": "﻿\nnamespace UAOOI.Configuration.DataBindings\n{\n\n  /// <summary>\n  /// Class Settings - This class provides global project settings.\n  /// </summary>\n  internal static class Settings\n  {\n\n    internal const string DefaultConfigurationFileNametExtension = \"uasconfig\";\n    internal const string DefaultConfigurationFileName = \"UANetworkingConfiguration\";\n\n  }\n}\n"
  },
  {
    "path": "Configuration/DataBindings/UANetworkingConfigurationEditor.cs",
    "content": "﻿//___________________________________________________________________________________\n//\n//  Copyright (C) 2019, Mariusz Postol LODZ POLAND.\n//\n//  To be in touch join the community at GITTER: https://gitter.im/mpostol/OPC-UA-OOI\n//___________________________________________________________________________________\n\nusing CommonServiceLocator;\nusing System;\nusing System.ComponentModel.Composition;\nusing System.IO;\nusing UAOOI.Configuration.Core;\nusing UAOOI.Configuration.Networking.Serialization;\n\nnamespace UAOOI.Configuration.DataBindings\n{\n\n  /// <summary>\n  /// Class UANetworkingConfigurationEditor - \n  /// </summary>\n  [Export(typeof(IConfiguration))]\n  public sealed class UANetworkingConfigurationEditor : ConfigurationBase<ConfigurationData>\n  {\n\n    #region API\n    /// <summary>\n    /// Initializes a new instance of the <see cref=\"UANetworkingConfigurationEditor\"/> class.\n    /// </summary>\n    public UANetworkingConfigurationEditor()\n    {\n      ComposeParts();\n      DefaultConfigurationLoader = NewConfigurationData;\n      CreateDefaultConfiguration();\n    }\n\n    #region ConfigurationBase\n    /// <summary>\n    /// Creates the default configuration.\n    /// </summary>\n    public override void CreateDefaultConfiguration()\n    {\n      CurrentConfiguration = DefaultConfigurationLoader();\n    }\n    /// <summary>\n    /// Gets the instance to be used by a user to configure the selected node.\n    /// </summary>\n    /// <param name=\"descriptor\">Provides identifying description of the node to be configured.</param>\n    /// <returns>Returned object provides access to the instance node configuration edition functionality.</returns>\n    /// <exception cref=\"ArgumentNullException\"></exception>\n    public override IInstanceConfiguration GetInstanceConfiguration(INodeDescriptor descriptor)\n    {\n      if (descriptor == null)\n        throw new ArgumentNullException(nameof(descriptor));\n      if (CurrentConfiguration == null)\n        return null;\n      NodeDescriptorBase _nd = NodeDescriptorBase.Clone(descriptor);\n      return InstanceConfigurationFactory.GetIInstanceConfiguration(CurrentConfiguration.GetInstanceConfiguration(_nd), CurrentConfiguration.GetMessageHandlers(), TraceSource.TraceData, () => this.RaiseOnChangeEvent());\n    }\n    /// <summary>\n    /// Gets the configuration editor - user interface to edit the plug-in configuration file.\n    /// </summary>\n    /// <returns>Represents a window or dialog box that makes up an application's user interface to be used to edit configuration file.</returns>\n    /// <exception cref=\"System.ArgumentNullException\">Configuration Editor is unavailable.</exception>\n    public override void EditConfiguration()\n    {\n      if (ConfigurationEditor == null)\n        throw new ArgumentNullException(nameof(ConfigurationEditor), \"Configuration Editor is unavailable.\");\n      ConfigurationEditor.EditConfiguration(CurrentConfiguration);\n    }\n    /// <summary>\n    /// Gets the default name of the file created from the name provided the assembly configuration file.\n    /// </summary>\n    /// <value>The default name of the file - <c>UANetworkingConfiguration.uasconfig</c> if not changed.</value>\n    public override string DefaultFileName\n    {\n      get\n      {\n        return String.Format(\"{0}.{1}\", Settings.DefaultConfigurationFileName, Settings.DefaultConfigurationFileNametExtension);\n      }\n    }\n    /// <summary>\n    /// Creates automatically the instance configurations on the best effort basis.\n    /// </summary>\n    /// <param name=\"descriptors\">The descriptors of nodes.</param>\n    /// <param name=\"SkipOpeningConfigurationFile\">if set to <c>true</c> skip opening configuration file.</param>\n    /// <param name=\"CancelWasPressed\">if set to <c>true</c> cancel was pressed.</param>\n    /// <exception cref=\"System.ArgumentNullException\">Configuration Editor is unavailable.</exception>\n    public override void CreateInstanceConfigurations(INodeDescriptor[] descriptors, bool SkipOpeningConfigurationFile, out bool CancelWasPressed)\n    {\n      CancelWasPressed = false;\n      if (ConfigurationEditor == null)\n        throw new ArgumentNullException(nameof(ConfigurationEditor), \"Configuration Editor is unavailable.\");\n      bool _CancelWasPressed = false;\n      ConfigurationEditor.CreateInstanceConfigurations(descriptors, SkipOpeningConfigurationFile, x => _CancelWasPressed = x);\n      CancelWasPressed = _CancelWasPressed;\n    }\n    /// <summary>\n    /// Saves the configuration.\n    /// </summary>\n    /// <param name=\"solutionFilePath\">The solution file path.</param>\n    /// <param name=\"configurationFile\">The configuration file.</param>\n    public override void SaveConfiguration(string solutionFilePath, FileInfo configurationFile)\n    {\n      base.SaveConfiguration(configurationFile);\n    }\n    #endregion\n\n    #region MEF injection points\n    /// <summary>\n    /// Gets or sets the configuration editor - an access point to the external component.\n    /// </summary>\n    /// <value>The configuration editor.</value>\n    public IConfigurationEditor ConfigurationEditor { get; private set; }\n    /// <summary>\n    /// Gets or sets the instance configuration factory.\n    /// </summary>\n    /// <value>The instance configuration factory.</value>\n    public IInstanceConfigurationFactory InstanceConfigurationFactory { get; set; }\n    #endregion\n\n    /// <summary>\n    /// Gets or sets the default configuration loader.\n    /// </summary>\n    /// <value>The default configuration loader <see cref=\"Func{ConfigurationDataType}\"/>.</value>\n    public Func<ConfigurationData> DefaultConfigurationLoader { private get; set; }\n    #endregion\n\n    #region private\n    private void ComposeParts()\n    {\n      IServiceLocator _locator = ServiceLocator.Current;\n      this.ConfigurationEditor = _locator.GetInstance<IConfigurationEditor>();\n      this.InstanceConfigurationFactory = _locator.GetInstance<IInstanceConfigurationFactory>();\n    }\n    private static ConfigurationData NewConfigurationData()\n    {\n      return new ConfigurationData() { DataSets = new DataSetConfiguration[] { }, MessageHandlers = new MessageHandlerConfiguration[] { } };\n    }\n    #endregion\n\n  }\n\n}\n"
  },
  {
    "path": "Configuration/DataBindings/app.config",
    "content": "﻿<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<configuration>\n    <configSections>\n        <sectionGroup name=\"applicationSettings\" type=\"System.Configuration.ApplicationSettingsGroup, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089\">\n            <section name=\"UAOOI.Configuration.DataBindings.Properties.Settings\" type=\"System.Configuration.ClientSettingsSection, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089\" requirePermission=\"false\" />\n        </sectionGroup>\n        <sectionGroup name=\"userSettings\" type=\"System.Configuration.UserSettingsGroup, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089\">\n            <section name=\"UAOOI.Configuration.DataBindings.Properties.Settings\" type=\"System.Configuration.ClientSettingsSection, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089\" allowExeDefinition=\"MachineToLocalUser\" requirePermission=\"false\" />\n        </sectionGroup>\n    </configSections>\n    <applicationSettings>\n        <UAOOI.Configuration.DataBindings.Properties.Settings>\n            <setting name=\"DefaultConfigurationFileNametExtension\" serializeAs=\"String\">\n                <value>uasconfig</value>\n            </setting>\n        </UAOOI.Configuration.DataBindings.Properties.Settings>\n    </applicationSettings>\n<startup><supportedRuntime version=\"v4.0\" sku=\".NETFramework,Version=v4.6.1\" /></startup><userSettings>\n        <UAOOI.Configuration.DataBindings.Properties.Settings>\n            <setting name=\"DefaultConfigurationFileName\" serializeAs=\"String\">\n                <value>UANetworkingConfiguration</value>\n            </setting>\n        </UAOOI.Configuration.DataBindings.Properties.Settings>\n    </userSettings>\n</configuration>\n"
  },
  {
    "path": "Configuration/Networking/CommonDefinitions.cs",
    "content": "﻿//___________________________________________________________________________________\n//\n//  Copyright (C) 2019, Mariusz Postol LODZ POLAND.\n//\n//  To be in touch join the community at GITTER: https://gitter.im/mpostol/OPC-UA-OOI\n//___________________________________________________________________________________\n\nusing System;\nusing System.ComponentModel;\n\nnamespace UAOOI.Configuration.Networking\n{\n  /// <summary>\n  /// Class CommonDefinitions - contains common definition.\n  /// </summary>\n  internal static class CommonDefinitions\n  {\n\n    /// <summary>\n    /// The namespace used for serialization of the configuration.\n    /// </summary>\n    internal const string Namespace = \"http://commsvr.com/UAOOI/SemanticData/UANetworking/Configuration/Serialization.xsd\";\n    internal const string Serializer = \"XML\";\n    /// <summary>\n    /// Extension method that sets a new value in a variable and then executes the event handler if the new value\n    /// differs from the old one. Used to easily implement <see cref=\"INotifyPropertyChanged\" />.\n    /// </summary>\n    /// <typeparam name=\"T\">The type of values being handled (usually the type of the property).</typeparam>\n    /// <param name=\"handler\">The event handler to execute in the event of actual value change.</param>\n    /// <param name=\"newValue\">The new value to set.</param>\n    /// <param name=\"oldValue\">The old value to replace (and the value holder).</param>\n    /// <param name=\"update\">The delegate used to update the property.</param>\n    /// <param name=\"propertyName\">The property's name.</param>\n    /// <param name=\"sender\">The object to be appointed as the executioner of the handler.</param>\n    /// <returns>A boolean value that indicates if the new value was truly different from the old value according to <code>object.Equals()</code>.</returns>\n    internal static bool RaiseHandler<T>(this PropertyChangedEventHandler handler, T newValue, T oldValue, Action<T> update, string propertyName, object sender)\n    {\n      bool changed = !Object.Equals(oldValue, newValue);\n      if (changed)\n      {\n        //Save the new value. \n        update(newValue);\n        //Raise the event \n        handler?.Invoke(sender, new PropertyChangedEventArgs(propertyName));\n      }\n      //Signal what happened. \n      return changed;\n    }\n\n  }\n}\n"
  },
  {
    "path": "Configuration/Networking/Configuration.Networking.csproj",
    "content": "﻿<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<Project Sdk=\"Microsoft.NET.Sdk\">\n  <PropertyGroup>\n    <TargetFramework>netstandard2.0</TargetFramework>\n    <AssemblyName>UAOOI.Configuration.Networking</AssemblyName>\n    <RootNamespace>UAOOI.Configuration.Networking</RootNamespace>\n    <Version>6.4.7</Version>\n    <id>UAOOI.Configuration.Networking</id>\n    <title>UAOOI.Configuration.Networking - UA Data Application Configuration</title>\n    <authors>Mariusz Postol</authors>\n    <owners>cas.eu</owners>\n    <projectUrl>https://github.com/mpostol/OPC-UA-OOI/tree/master/Configuration/Networking</projectUrl>\n    <requireLicenseAcceptance>false</requireLicenseAcceptance>\n    <developmentDependency>false</developmentDependency>\n    <description>OPC UA Object Oriented Internet (UAOOI) UAOOI.Configuration.Networking library is dedicated to create a plug-in aimed at provisioning configuration of any application based on OPC UA Information Model. It is part of the project supporting OPC UA Object Oriented Internet paradigm.</description>\n    <summary>\n      UAOOI Configuration Networking Library\n    </summary>\n    <releaseNotes>\n    </releaseNotes>\n    <copyright>Copyright (C) 2021 Mariusz Postol LODZ POLAND</copyright>\n    <tags>Object Oriented Internet, OPC UA, CommServer, ASMD, Address Space Model Designer.</tags>\n    <Company>commsvr.com</Company>\n    <GeneratePackageOnBuild>false</GeneratePackageOnBuild>\n    <PackageLicenseUrl></PackageLicenseUrl>\n    <PackageProjectUrl>https://commsvr.gitbook.io/ooi</PackageProjectUrl>\n    <RepositoryUrl>https://github.com/mpostol/OPC-UA-OOI</RepositoryUrl>\n    <RepositoryType>GitHub</RepositoryType>\n    <PackageTags>Object Oriented Internet, OPC UA, CommServer, Reactive Networking.</PackageTags>\n    <SignAssembly>true</SignAssembly>\n    <AssemblyOriginatorKeyFile>OPCUAOOIKey.snk</AssemblyOriginatorKeyFile>\n    <Product>Object Oriented Internet</Product>\n    <AssemblyVersion>6.4.7.1</AssemblyVersion>\n    <PackageLicenseExpression>MIT</PackageLicenseExpression>\n    <PackageIcon>Logo64.PNG</PackageIcon>\n    <PackageIconUrl />\n    <PackageReleaseNotes>VS2022 compatibility</PackageReleaseNotes>\n\n  </PropertyGroup>\n  <PropertyGroup Condition=\"'$(Configuration)|$(Platform)'=='Debug|AnyCPU'\">\n    <NoWarn>1701;1702;1705;IDE0001;IDE0002;IDE0003</NoWarn>\n  </PropertyGroup>\n  <PropertyGroup Condition=\"'$(Configuration)|$(Platform)'=='Release|AnyCPU'\">\n    <OutputPath>bin\\Release\\</OutputPath>\n    <DocumentationFile>bin\\Release\\UAOOI.Configuration.Networking.xml</DocumentationFile>\n  </PropertyGroup>\n  <ItemGroup>\n    <PackageReference Include=\"CommonServiceLocator\" Version=\"2.0.6\" />\n    <PackageReference Include=\"UAOOI.Common.Infrastructure\" Version=\"6.4.7\" />\n  </ItemGroup>\n  <ItemGroup>\n    <Compile Update=\"Properties\\Resources.Designer.cs\">\n      <DesignTime>True</DesignTime>\n      <AutoGen>True</AutoGen>\n      <DependentUpon>Resources.resx</DependentUpon>\n    </Compile>\n  </ItemGroup>\n  <ItemGroup>\n    <EmbeddedResource Update=\"Properties\\Resources.resx\">\n      <Generator>ResXFileCodeGenerator</Generator>\n      <LastGenOutput>Resources.Designer.cs</LastGenOutput>\n    </EmbeddedResource>\n  </ItemGroup>\n  <ItemGroup>\n    <None Include=\"..\\..\\CommonResources\\Media\\Logo64.PNG\">\n      <Pack>True</Pack>\n      <PackagePath></PackagePath>\n    </None>\n  </ItemGroup>\n  <ItemGroup>\n    <None Update=\"Configuration.Networking.nuspec\">\n      <DesignTime>True</DesignTime>\n      <AutoGen>True</AutoGen>\n      <DependentUpon>Configuration.Networking.tt</DependentUpon>\n    </None>\n    <None Update=\"Configuration.Networking.tt\">\n      <Generator>TextTemplatingFileGenerator</Generator>\n      <LastGenOutput>Configuration.Networking.nuspec</LastGenOutput>\n    </None>\n  </ItemGroup>\n  <ItemGroup>\n    <Service Include=\"{508349b6-6b84-4df5-91f0-309beebad82d}\" />\n  </ItemGroup>\n</Project>"
  },
  {
    "path": "Configuration/Networking/Configuration.Networking.nuspec",
    "content": "﻿<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<package xmlns=\"http://schemas.microsoft.com/packaging/2012/06/nuspec.xsd\">\n  <metadata>\n    <id>UAOOI.Configuration.Networking</id>\n    <version>6.4.9</version>\n    <title>Object Oriented Internet UA Data Application Configuration</title>\n    <authors>Mariusz Postol</authors>\n    <owners>Mariusz Postol</owners>\n    <requireLicenseAcceptance>false</requireLicenseAcceptance>\n    <license type=\"expression\">MIT</license>\n    <projectUrl>https://commsvr.gitbook.io/ooi/</projectUrl>\n    <icon>Logo64.PNG</icon>\n    <description>\n\t\tOPC UA Object Oriented Internet (UAOOI) UAOOI.Configuration.Networking library is dedicated to create a plug-in aimed at provisioning configuration of any application based on OPC UA Information Model. \n\t\tIt is part of the project supporting OPC UA Object Oriented Internet paradigm.\n\t</description>\n    <summary>\n\t\tThe library contains a shared interfaces for server configuration which OPC UA applications can reference.\n\t</summary>\n    <copyright>Copyright (C) 2022 Mariusz Postol LODZ POLAND</copyright>\n    <tags>Object Oriented Internet, OPC UA, PubSub, Information Model, IoT, M2M, DOA,</tags>\n    <repository type=\"GitHub\" url=\"https://github.com/mpostol/OPC-UA-OOI\" />\n    <dependencies>\n      <group targetFramework=\".NETStandard2.0\" />\n    </dependencies>\n    <releaseNotes>VS2022 compatibility</releaseNotes>\n    <copyright>Copyright (C) 2022 Mariusz Postol LODZ POLAND</copyright>\n  </metadata>\n  <files>\n    <file src=\"..\\..\\CommonResources\\Media\\Logo64.PNG\" target=\"\"/>\n    <file src=\"bin\\Release\\netstandard2.0\\UAOOI.Configuration.Networking.dll\" target=\"lib\\netstandard2.0\\UAOOI.Configuration.Networking.dll\" />\n    <file src=\"bin\\Release\\netstandard2.0\\UAOOI.Configuration.Networking.xml\" target=\"lib\\netstandard2.0\\UAOOI.Configuration.Networking.xml\" />\n  </files>\n</package>\n\n"
  },
  {
    "path": "Configuration/Networking/Configuration.Networking.tt",
    "content": "﻿<#@ template debug=\"false\" hostspecific=\"false\" language=\"C#\" #>\n<#@ output extension=\".nuspec\" #>\n<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<package xmlns=\"http://schemas.microsoft.com/packaging/2012/06/nuspec.xsd\">\n  <metadata>\n    <id>UAOOI.Configuration.Networking</id>\n    <version><#=CommonVersion#><#= CommonPrerelease#></version>\n    <title><#=NetworkingDataProduct#> UA Data Application Configuration</title>\n    <authors><#=AssemblyCompany#></authors>\n    <owners><#=Owner#></owners>\n    <requireLicenseAcceptance>false</requireLicenseAcceptance>\n    <license type=\"expression\">MIT</license>\n    <projectUrl>https://commsvr.gitbook.io/ooi/</projectUrl>\n    <icon>Logo64.PNG</icon>\n    <description>\n\t\tOPC UA Object Oriented Internet (UAOOI) UAOOI.Configuration.Networking library is dedicated to create a plug-in aimed at provisioning configuration of any application based on OPC UA Information Model. \n\t\tIt is part of the project supporting OPC UA Object Oriented Internet paradigm.\n\t</description>\n    <summary>\n\t\tThe library contains a shared interfaces for server configuration which OPC UA applications can reference.\n\t</summary>\n    <copyright><#=AssemblyCopyright#></copyright>\n    <tags>Object Oriented Internet, OPC UA, PubSub, Information Model, IoT, M2M, DOA,</tags>\n    <repository type=\"GitHub\" url=\"https://github.com/mpostol/OPC-UA-OOI\" />\n    <dependencies>\n      <group targetFramework=\".NETStandard2.0\" />\n    </dependencies>\n    <releaseNotes>VS2022 compatibility</releaseNotes>\n    <copyright><#=AssemblyCopyright#></copyright>\n  </metadata>\n  <files>\n    <file src=\"..\\..\\CommonResources\\Media\\Logo64.PNG\" target=\"\"/>\n    <file src=\"bin\\Release\\netstandard2.0\\UAOOI.Configuration.Networking.dll\" target=\"lib\\netstandard2.0\\UAOOI.Configuration.Networking.dll\" />\n    <file src=\"bin\\Release\\netstandard2.0\\UAOOI.Configuration.Networking.xml\" target=\"lib\\netstandard2.0\\UAOOI.Configuration.Networking.xml\" />\n  </files>\n</package>\n\n<#@ include file = \"..\\..\\CommonResources\\T4Definitions\\Model.t4\" #>\n"
  },
  {
    "path": "Configuration/Networking/ConfigurationDataFactoryIO.cs",
    "content": "﻿//___________________________________________________________________________________\n//\n//  Copyright (C) 2018, Mariusz Postol LODZ POLAND.\n//\n//  To be in touch join the community at GITTER: https://gitter.im/mpostol/OPC-UA-OOI\n//___________________________________________________________________________________\n\nusing System;\nusing System.Diagnostics;\nusing System.IO;\nusing UAOOI.Configuration.Networking.Serializers;\n\nnamespace UAOOI.Configuration.Networking\n{\n  /// <summary>\n  /// Class ConfigurationDataFactoryIO - Input/Output helper operation to retrieve/save configuration data.\n  /// </summary>\n  public static class ConfigurationDataFactoryIO\n  {\n    /// <summary>\n    /// Loads the <typeparamref name=\"ConfigurationDataType\" /> instance using specified loader.\n    /// </summary>\n    /// <typeparam name=\"ConfigurationDataType\">The type of the configuration data type.</typeparam>\n    /// <param name=\"loader\">The delegate <see cref=\"Func{ConfigurationDataType}\" /> capturing the loader functionality\n    /// of the class derived from <see cref=\"ConfigurationData\" />.</param>\n    /// <param name=\"onChanged\">A delegate <see cref=\"Action\" /> encapsulating operation called when this instance is changed.</param>\n    /// <returns>An instance of <typeparamref name=\"ConfigurationDataType\"/> derived from <see cref=\"ConfigurationData\" />.</returns>\n    public static ConfigurationDataType Load<ConfigurationDataType>(Func<ConfigurationDataType> loader, Action onChanged)\n      where ConfigurationDataType : class, IConfigurationDataFactory, new()\n    {\n      ConfigurationDataType _configuration = loader();\n      _configuration.OnChanged = onChanged;\n      _configuration.OnLoaded();\n      return _configuration;\n    }\n    /// <summary>\n    /// Loads the <typeparamref name=\"ConfigurationDataType\" /> instance using specified loader.\n    /// </summary>\n    /// <typeparam name=\"ConfigurationDataType\">The type of the configuration data type.</typeparam>\n    /// <param name=\"serializer\">The serializer.</param>\n    /// <param name=\"configurationFile\">The configuration file.</param>\n    /// <param name=\"trace\">The trace.</param>\n    /// <param name=\"onChanged\">The on changed.</param>\n    /// <returns>ConfigurationDataType.</returns>\n    public static ConfigurationDataType Load<ConfigurationDataType>(SerializerType serializer, FileInfo configurationFile, Action<TraceEventType, int, string> trace, Action onChanged)\n      where ConfigurationDataType : class, IConfigurationDataFactory, new()\n    {\n      Func<FileInfo, Action<TraceEventType, int, string>, ConfigurationDataType> _loader = null;\n      if (serializer == SerializerType.Xml)\n        _loader = (file, tracer) => XmlDataContractSerializers.Load<ConfigurationDataType>(file, tracer);\n      else\n        _loader = (conf, tracer) => JSONDataContractSerializers.Load<ConfigurationDataType>(conf, tracer);\n      ConfigurationDataType _configuration = _loader(configurationFile, (x, y, z) => trace?.Invoke(x, y, z));\n      _configuration.OnChanged = onChanged;\n      _configuration.OnLoaded();\n      return _configuration;\n    }\n    internal static void Save<ConfigurationDataType>(ConfigurationDataType configuration, Action<ConfigurationDataType> saver)\n      where ConfigurationDataType : class, IConfigurationDataFactory, new()\n    {\n      configuration.OnSaving();\n      saver(configuration);\n    }\n    internal static void Save<ConfigurationDataType>(ConfigurationDataType configuration, SerializerType serializer, FileInfo configurationFile, Action<TraceEventType, int, string> trace)\n      where ConfigurationDataType : class, IConfigurationDataFactory, new()\n    {\n      configuration?.OnSaving();\n      Action<FileInfo, ConfigurationDataType, Action<TraceEventType, int, string>> _saver = null;\n      if (serializer == SerializerType.Xml)\n        _saver = (conf, file, tracer) => XmlDataContractSerializers.Save<ConfigurationDataType>(conf, file, tracer);\n      else\n        _saver = (conf, file, tracer) => JSONDataContractSerializers.Save<ConfigurationDataType>(conf, file, tracer);\n      _saver(configurationFile, configuration, (x, y, z) => trace?.Invoke(x, y, z));\n    }\n\n  }\n}\n"
  },
  {
    "path": "Configuration/Networking/ConfigurationFactoryBase.cs",
    "content": "﻿//___________________________________________________________________________________\n//\n//  Copyright (C) 2018, Mariusz Postol LODZ POLAND.\n//\n//  To be in touch join the community at GITTER: https://gitter.im/mpostol/OPC-UA-OOI\n//___________________________________________________________________________________\n\nusing System;\nusing System.Diagnostics;\nusing System.IO;\nusing UAOOI.Configuration.Networking.Serialization;\nusing UAOOI.Configuration.Networking.Serializers;\n\nnamespace UAOOI.Configuration.Networking\n{\n\n  /// <summary>\n  /// Class ConfigurationFactory - provides basic implementation of the <see cref=\"IConfigurationFactory\"/>.\n  /// </summary>\n  /// <remarks>\n  /// It read configuration using custom or default function.\n  /// </remarks>\n  public abstract class ConfigurationFactoryBase<ConfigurationType> : IConfigurationFactory\n    where ConfigurationType : class, IConfigurationDataFactory, new()\n  {\n    /// <summary>\n    /// Initializes a new instance of the <see cref=\"ConfigurationFactoryBase{ConfigurationType}\"/> class. \n    /// It loads the custom configuration using a default loader function. Using this overload <see cref=\"ConfigurationFactoryBase{ConfigurationType}.TraceData\"/> should be overrioden.\n    /// </summary>\n    /// <param name=\"filePath\">The file path of the configuration to read.</param>\n    /// <exception cref=\"ArgumentException\">filePath - Configuration file does not exist</exception>\n    public ConfigurationFactoryBase(string filePath)\n    {\n      m_ConfigurationFileInformation = new FileInfo(filePath);\n      if (!m_ConfigurationFileInformation.Exists)\n        throw new ArgumentException(nameof(filePath), \"Configuration file does not exist\");\n      Loader = LoadConfig;\n    }\n    public ConfigurationFactoryBase() { }\n    public ConfigurationType Configuration { get; private set; }\n    #region IConfigurationFactory\n    /// <summary>\n    /// Gets the configuration.\n    /// </summary>\n    /// <returns>Am object of <see cref=\"ConfigurationData\" /> type capturing the communication configuration.</returns>\n    public ConfigurationData GetConfiguration()\n    {\n      Configuration = ConfigurationDataFactoryIO.Load<ConfigurationType>(Loader, RaiseEvents);\n      return Configuration.GetConfigurationData();\n    }\n    /// <summary>\n    /// Occurs after the association configuration has been changed.\n    /// </summary>\n    public abstract event EventHandler<EventArgs> OnAssociationConfigurationChange;\n    /// <summary>\n    /// Occurs after the communication configuration has been changed.\n    /// </summary>\n    public abstract event EventHandler<EventArgs> OnMessageHandlerConfigurationChange;\n    #endregion\n\n    /// <summary>\n    /// Gets or sets the loader of the configuration.\n    /// </summary>\n    /// <remarks>Allows late binding - injection point of the configuration loader.</remarks>\n    /// <value>The loader that is to be used to create or load new instance of <see cref=\"ConfigurationData\"/>.</value>\n    protected Func<ConfigurationType> Loader { get; set; } = () => throw new NotImplementedException(\"Configuration loader must be assigned by the derived class\");\n    /// <summary>\n    /// Raises the events.\n    /// </summary>\n    protected abstract void RaiseEvents();\n    /// <summary>\n    /// Writes trace data to the trace listeners in the <see cref=\"P:System.Diagnostics.TraceSource.Listeners\" /> collection using the specified <paramref name=\"eventType\" />,\n    /// event identifier <paramref name=\"id\" />, and trace <paramref name=\"data\" />.\n    /// </summary>\n    /// <param name=\"eventType\">One of the enumeration values that specifies the event type of the trace data.</param>\n    /// <param name=\"id\">A numeric identifier for the event.</param>\n    /// <param name=\"data\">The trace data.</param>\n    protected virtual void TraceData(TraceEventType eventType, int id, object data) { }\n    private FileInfo m_ConfigurationFileInformation = null;\n    private ConfigurationType LoadConfig()\n    {\n      return ConfigurationDataFactoryIO.Load<ConfigurationType>(() => XmlDataContractSerializers.Load<ConfigurationType>(m_ConfigurationFileInformation, TraceData), () => RaiseEvents());\n    }\n\n  }\n}\n"
  },
  {
    "path": "Configuration/Networking/IConfigurationDataFactory.cs",
    "content": "﻿//___________________________________________________________________________________\n//\n//  Copyright (C) 2018, Mariusz Postol LODZ POLAND.\n//\n//  To be in touch join the community at GITTER: https://gitter.im/mpostol/OPC-UA-OOI\n//___________________________________________________________________________________\n\nusing System;\nusing UAOOI.Configuration.Networking.Serialization;\n\nnamespace UAOOI.Configuration.Networking\n{\n\n  /// <summary>\n  /// Interface IConfigurationDataFactory - creates an instance of <see cref=\"ConfigurationData\"/>\n  /// </summary>\n  public interface IConfigurationDataFactory\n  {\n    /// <summary>\n    /// Gets and instance of <see cref=\"ConfigurationData\"/>.\n    /// </summary>\n    /// <returns>Returns an instance of <see cref=\"ConfigurationData\"/>.</returns>\n    ConfigurationData GetConfigurationData();\n    /// <summary>\n    /// Gets or sets the the delegate capturing functionality tha is executed when the configuration is changing.\n    /// </summary>\n    /// <value>The m_ on changed.</value>\n    Action OnChanged { get; set; }\n    /// <summary>\n    /// Called when the configuration is loaded.\n    /// </summary>\n    void OnLoaded();\n    /// <summary>\n    /// Called before the saving the configuration.\n    /// </summary>\n    void OnSaving();\n\n  }\n}\n"
  },
  {
    "path": "Configuration/Networking/IConfigurationFactory.cs",
    "content": "﻿//___________________________________________________________________________________\n//\n//  Copyright (C) 2018, Mariusz Postol LODZ POLAND.\n//\n//  To be in touch join the community at GITTER: https://gitter.im/mpostol/OPC-UA-OOI\n//___________________________________________________________________________________\n\nusing System;\nusing UAOOI.Configuration.Networking.Serialization;\n\nnamespace UAOOI.Configuration.Networking\n{\n\n  /// <summary>\n  /// Interface IConfigurationFactory provides functionality to provide the configuration. \n  /// </summary>\n  public interface IConfigurationFactory\n  {\n    \n    /// <summary>\n    /// Gets the configuration.\n    /// </summary>\n    /// <returns>Am object of <see cref=\"ConfigurationData\"/> type capturing the communication configuration.</returns>\n    ConfigurationData GetConfiguration();\n    /// <summary>\n    /// Occurs after the association configuration has been changed.\n    /// </summary>\n    event EventHandler<EventArgs> OnAssociationConfigurationChange;\n    /// <summary>\n    /// Occurs after the communication configuration has been changed.\n    /// </summary>\n    event EventHandler<EventArgs> OnMessageHandlerConfigurationChange;\n\n  }\n}\n"
  },
  {
    "path": "Configuration/Networking/Properties/AssemblyInfo.cs",
    "content": "﻿//___________________________________________________________________________________\n//\n//  Copyright (C) 2019, Mariusz Postol LODZ POLAND.\n//\n//  To be in touch join the community at GITTER: https://gitter.im/mpostol/OPC-UA-OOI\n//___________________________________________________________________________________\n\nusing System.Reflection;\nusing System.Runtime.CompilerServices;\nusing System.Runtime.InteropServices;\n\n[assembly: AssemblyTrademark(\"Object Oriented Internet\")]\n[assembly: Guid(\"a5863757-f1fc-4f49-a984-a7d17ac3fb61\")]\n#if DEBUG\n[assembly: InternalsVisibleTo(\n  \"UAOOI.Configuration.Networking.UnitTest, PublicKey=\" +\n    \"00240000048000009400000006020000002400005253413100040000010001005b97a0972ff6b13a\" +\n    \"8a9ff9c09503aea0e5e2fe29cb2275a0c0942182f4c3431814b6bc9a556d9fe0d7e7823439c1ba28\" +\n    \"521f6318e4c936c4461604ef668e9686c2021571b093e1bfba071b373bc56a07a3afdc120c5313d3\" +\n    \"9a935cda64b759f857ebb3db483641444a5347e1564f8ba6d4fad2f968d3caf9991a4fa6aa019ebe\"\n)]\n#endif"
  },
  {
    "path": "Configuration/Networking/Properties/Resources.Designer.cs",
    "content": "﻿//------------------------------------------------------------------------------\n// <auto-generated>\n//     This code was generated by a tool.\n//     Runtime Version:4.0.30319.42000\n//\n//     Changes to this file may cause incorrect behavior and will be lost if\n//     the code is regenerated.\n// </auto-generated>\n//------------------------------------------------------------------------------\n\nnamespace UAOOI.Configuration.Networking.Properties {\n    using System;\n    \n    \n    /// <summary>\n    ///   A strongly-typed resource class, for looking up localized strings, etc.\n    /// </summary>\n    // This class was auto-generated by the StronglyTypedResourceBuilder\n    // class via a tool like ResGen or Visual Studio.\n    // To add or remove a member, edit your .ResX file then rerun ResGen\n    // with the /str option, or rebuild your VS project.\n    [global::System.CodeDom.Compiler.GeneratedCodeAttribute(\"System.Resources.Tools.StronglyTypedResourceBuilder\", \"15.0.0.0\")]\n    [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]\n    [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]\n    internal class Resources {\n        \n        private static global::System.Resources.ResourceManager resourceMan;\n        \n        private static global::System.Globalization.CultureInfo resourceCulture;\n        \n        [global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute(\"Microsoft.Performance\", \"CA1811:AvoidUncalledPrivateCode\")]\n        internal Resources() {\n        }\n        \n        /// <summary>\n        ///   Returns the cached ResourceManager instance used by this class.\n        /// </summary>\n        [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]\n        internal static global::System.Resources.ResourceManager ResourceManager {\n            get {\n                if (object.ReferenceEquals(resourceMan, null)) {\n                    global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager(\"UAOOI.Configuration.Networking.Properties.Resources\", typeof(Resources).Assembly);\n                    resourceMan = temp;\n                }\n                return resourceMan;\n            }\n        }\n        \n        /// <summary>\n        ///   Overrides the current thread's CurrentUICulture property for all\n        ///   resource lookups using this strongly typed resource class.\n        /// </summary>\n        [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]\n        internal static global::System.Globalization.CultureInfo Culture {\n            get {\n                return resourceCulture;\n            }\n            set {\n                resourceCulture = value;\n            }\n        }\n        \n        /// <summary>\n        ///   Looks up a localized string similar to File: {0} has benn opened..\n        /// </summary>\n        internal static string InformationFileOpened2 {\n            get {\n                return ResourceManager.GetString(\"InformationFileOpened2\", resourceCulture);\n            }\n        }\n        \n        /// <summary>\n        ///   Looks up a localized string similar to File: {0} is saved..\n        /// </summary>\n        internal static string InformationFileSaved2 {\n            get {\n                return ResourceManager.GetString(\"InformationFileSaved2\", resourceCulture);\n            }\n        }\n    }\n}\n"
  },
  {
    "path": "Configuration/Networking/Properties/Resources.resx",
    "content": "﻿<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<root>\n  <!-- \n    Microsoft ResX Schema \n    \n    Version 2.0\n    \n    The primary goals of this format is to allow a simple XML format \n    that is mostly human readable. The generation and parsing of the \n    various data types are done through the TypeConverter classes \n    associated with the data types.\n    \n    Example:\n    \n    ... ado.net/XML headers & schema ...\n    <resheader name=\"resmimetype\">text/microsoft-resx</resheader>\n    <resheader name=\"version\">2.0</resheader>\n    <resheader name=\"reader\">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>\n    <resheader name=\"writer\">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>\n    <data name=\"Name1\"><value>this is my long string</value><comment>this is a comment</comment></data>\n    <data name=\"Color1\" type=\"System.Drawing.Color, System.Drawing\">Blue</data>\n    <data name=\"Bitmap1\" mimetype=\"application/x-microsoft.net.object.binary.base64\">\n        <value>[base64 mime encoded serialized .NET Framework object]</value>\n    </data>\n    <data name=\"Icon1\" type=\"System.Drawing.Icon, System.Drawing\" mimetype=\"application/x-microsoft.net.object.bytearray.base64\">\n        <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>\n        <comment>This is a comment</comment>\n    </data>\n                \n    There are any number of \"resheader\" rows that contain simple \n    name/value pairs.\n    \n    Each data row contains a name, and value. The row also contains a \n    type or mimetype. Type corresponds to a .NET class that support \n    text/value conversion through the TypeConverter architecture. \n    Classes that don't support this are serialized and stored with the \n    mimetype set.\n    \n    The mimetype is used for serialized objects, and tells the \n    ResXResourceReader how to depersist the object. This is currently not \n    extensible. For a given mimetype the value must be set accordingly:\n    \n    Note - application/x-microsoft.net.object.binary.base64 is the format \n    that the ResXResourceWriter will generate, however the reader can \n    read any of the formats listed below.\n    \n    mimetype: application/x-microsoft.net.object.binary.base64\n    value   : The object must be serialized with \n            : System.Runtime.Serialization.Formatters.Binary.BinaryFormatter\n            : and then encoded with base64 encoding.\n    \n    mimetype: application/x-microsoft.net.object.soap.base64\n    value   : The object must be serialized with \n            : System.Runtime.Serialization.Formatters.Soap.SoapFormatter\n            : and then encoded with base64 encoding.\n\n    mimetype: application/x-microsoft.net.object.bytearray.base64\n    value   : The object must be serialized into a byte array \n            : using a System.ComponentModel.TypeConverter\n            : and then encoded with base64 encoding.\n    -->\n  <xsd:schema id=\"root\" xmlns=\"\" xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\" xmlns:msdata=\"urn:schemas-microsoft-com:xml-msdata\">\n    <xsd:import namespace=\"http://www.w3.org/XML/1998/namespace\" />\n    <xsd:element name=\"root\" msdata:IsDataSet=\"true\">\n      <xsd:complexType>\n        <xsd:choice maxOccurs=\"unbounded\">\n          <xsd:element name=\"metadata\">\n            <xsd:complexType>\n              <xsd:sequence>\n                <xsd:element name=\"value\" type=\"xsd:string\" minOccurs=\"0\" />\n              </xsd:sequence>\n              <xsd:attribute name=\"name\" use=\"required\" type=\"xsd:string\" />\n              <xsd:attribute name=\"type\" type=\"xsd:string\" />\n              <xsd:attribute name=\"mimetype\" type=\"xsd:string\" />\n              <xsd:attribute ref=\"xml:space\" />\n            </xsd:complexType>\n          </xsd:element>\n          <xsd:element name=\"assembly\">\n            <xsd:complexType>\n              <xsd:attribute name=\"alias\" type=\"xsd:string\" />\n              <xsd:attribute name=\"name\" type=\"xsd:string\" />\n            </xsd:complexType>\n          </xsd:element>\n          <xsd:element name=\"data\">\n            <xsd:complexType>\n              <xsd:sequence>\n                <xsd:element name=\"value\" type=\"xsd:string\" minOccurs=\"0\" msdata:Ordinal=\"1\" />\n                <xsd:element name=\"comment\" type=\"xsd:string\" minOccurs=\"0\" msdata:Ordinal=\"2\" />\n              </xsd:sequence>\n              <xsd:attribute name=\"name\" type=\"xsd:string\" use=\"required\" msdata:Ordinal=\"1\" />\n              <xsd:attribute name=\"type\" type=\"xsd:string\" msdata:Ordinal=\"3\" />\n              <xsd:attribute name=\"mimetype\" type=\"xsd:string\" msdata:Ordinal=\"4\" />\n              <xsd:attribute ref=\"xml:space\" />\n            </xsd:complexType>\n          </xsd:element>\n          <xsd:element name=\"resheader\">\n            <xsd:complexType>\n              <xsd:sequence>\n                <xsd:element name=\"value\" type=\"xsd:string\" minOccurs=\"0\" msdata:Ordinal=\"1\" />\n              </xsd:sequence>\n              <xsd:attribute name=\"name\" type=\"xsd:string\" use=\"required\" />\n            </xsd:complexType>\n          </xsd:element>\n        </xsd:choice>\n      </xsd:complexType>\n    </xsd:element>\n  </xsd:schema>\n  <resheader name=\"resmimetype\">\n    <value>text/microsoft-resx</value>\n  </resheader>\n  <resheader name=\"version\">\n    <value>2.0</value>\n  </resheader>\n  <resheader name=\"reader\">\n    <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>\n  </resheader>\n  <resheader name=\"writer\">\n    <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>\n  </resheader>\n  <data name=\"InformationFileOpened2\" xml:space=\"preserve\">\n    <value>File: {0} has benn opened.</value>\n  </data>\n  <data name=\"InformationFileSaved2\" xml:space=\"preserve\">\n    <value>File: {0} is saved.</value>\n  </data>\n</root>"
  },
  {
    "path": "Configuration/Networking/README.MD",
    "content": "# Reactive Networking (RxNetworking) Configuration\n\n## Introduction\n\nBy design, this library is a plug-in or using modern terminology application composition part of the `RxNetworking` application described in [Reactive Networking (`RxNetworking`) of Semantic-Data Library][RxNetworkingLib]. At run time it can be used as the primary source of configuration for any standalone `OOI Reactive Application` and `UA Server` supporting PubSub role. It provides a basic implementation of the `IConfigurationDataFactory`. The idea behind this interface implementation is late binding - to allow the adoption of a new functionality against inevitable requirement changes after deploying a solution based on the `RxNetworking` application.\n\nIn this case, the application configuration may:\n\n* be derived from the proposed one\n* be expanded by the proposed one\n\nThe proposed solution supports also possibility to handle the configuration change event at run time, but this option is not tested and its implementation may change in new releases.\n\nI hope the interface is ready to fulfill the following design time scenarios allowing for configuration in context of selected OPC Information Model/Address Space:\n\n1. Plug-in to a modeler (UA Information Model design tool) as the configuration editor tool (preferred for me) - now it is compatible with the [Address Space Model Designer][ASMD]\n2. OPC UA Server as a local editor – using server local GUI, Address Space and the UANetworkingConfiguration plug-in (in this case OPC UA server is just modeler)\n3. OPC UA Client as an editor - using client local GUI/UANetworkingConfiguration on the client-side, and remote access to the Address Space\n4. OPC UA Server as a remote editor – using custom configuration Information Model/UANetworkingConfiguration plug-in on the server-side, and generic configuration OPC UA Client as the remote configuration tool,\n5. OPC UA Server as a remote dedicated editor – using PubSub Information Model/UANetworkingConfiguration plug-in on the server-side, and dedicated (configuration editor GUI) PubSub configuration OPC UA Client as the remote configuration tool (let me stress it is the only scenario using PubSub Information Model) – it is rather run time approach.\n\nIt is my opinion, but options 4 and 5 are only theoretically possible because in real installations OPC server is an untouchable artifact, but in a lab, it is just Modeler and cannot be used as the run-time configuration tool.\n\nIt is a good opportunity to review your requirements (if you have any) against the proposed solution.\n\n## Configuration content\n\nThe detailed description of the configuration files content is captured in the code help documentation [API Browser][API Browser].\n\nThe XML schema of the configuration files is available at: [ConfigurationData.xsd](./Serialization/ConfigurationData.xsd). Intentionally data producers and consumers use the same schema for configuration files. It makes it easier to harmonize these roles configuration and supports two roles in one application.\n\n## How to customize the configuration\n\nBy design it is a plug-in or using modern terminology application composition part of the library described in [Reactive Networking (`RxNetworking`) of Semantic-Data Library][RxNetworkingLib] and at run time it can be used as the primary source of configuration for any standalone `OOI Reactive Application` and `UA Server` supporting PubSub role.\n\nIn this case the application configuration may:\n\n* be derived from the proposed one\n* be expanded by the proposed one\n\nThe `Configuration` library provides the required serialization functionality. This functionality must not be cloned in the custom extension.\n\nThe proposed solution supports also possibility to handle the configuration change event at run time.\n\n### Custom class wrapping `ConfigurationData`\n\nIn this scenario, the custom class must implement `IConfigurationDataFactory` and contain a property with a public getter and setter of type `ConfigurationData`. The snippet below is an example illustrating this scenario. Complete code you may find in the Unit Test project.\n\n```C#\n[DataContractAttribute(Name = \"ConfigurationDataWrapper\", Namespace = Definitions.m_Namespace)]\n[System.SerializableAttribute()]\n[XmlRoot(Namespace = CommonDefinitions.Namespace)]\ninternal class ConfigurationDataWrapper : IConfigurationDataFactory\n{\n\n ...\n [DataMember(EmitDefaultValue = false, IsRequired = true)]\n public ConfigurationData ConfigurationData { get; set; }\n ...\n\n}\n```\n\n### Custom class derived form `ConfigurationData`\n\nIn this scenario, the custom class is derived from `ConfigurationData` and may contain a vast variety of custom properties decorated with `DataMemberAttribute` to be serialized. The snippet below is an example illustrating this scenario. Complete code you may find in the Unit Test project.\n\n```C#\n[DataContractAttribute(Name = \"CustomConfigurationData\", Namespace = CommonDefinitions.Namespace)]\n[SerializableAttribute()]\n[XmlRoot(Namespace = CommonDefinitions.Namespace)]\npublic class CustomConfigurationData : ConfigurationData\n{\n ...\n\n [DataMemberAttribute(EmitDefaultValue = true, IsRequired = true)]\n [XmlElementAttribute(IsNullable = false)]\n public string CustomProperty { get; set; }\n\n ...\n}\n```\n\n## Prerequisites\n\nBy design, the Configuration libraries depend on a logger functionality implementing the interface\n\n```txt\n\nUAOOI.Common.Infrastructure.Diagnostic.ITraceSource\n\n```\n\ndefined in the `UAOOI.Common.Infrastructure` package. It is used to trace the behavior of libraries at run-time. To get an instance implementing this interface the `CommonServiceLocator` is used. The functionality required by the `CommonServiceLocator` has to be provided by the hosting application. Usually, it is provided by the composition container that is built at the application bootstrap stage. To get more visit this library home page [Microsoft.Practices.ServiceLocation at GitHub](https://github.com/unitycontainer/commonservicelocator).\n\n> If the `CommonServiceLocator` is not available a default logger (do nothing) is used.\n\n## See also\n\n* [Reactive Networking (`RxNetworking`) of Semantic-Data Library][RxNetworkingLib]\n* API Browser: the preliminary code help documentation is [available for sponsors- consider joining](https://github.commsvr.com/AboutPartnershipProgram.md.html)\n* [Address Space Model Designer][ASMD]\n\n[RxNetworkingLib]:../../Networking/SemanticData/README.MD\n[API Browser]: https://github.commsvr.com/AboutPartnershipProgram.md.htm\n[ASMD]:https://github.com/mpostol/ASMD\n"
  },
  {
    "path": "Configuration/Networking/Serialization/BuiltInType.cs",
    "content": "﻿\nusing System.Runtime.Serialization;\n\nnamespace UAOOI.Configuration.Networking.Serialization\n{\n  /// <summary>\n  /// The set of built-in data types for UA type descriptions - see Part 6 5.1.2.\n  /// </summary>\n  /// <remarks>\n  /// An enumeration that lists all of the built-in data types for OPC UA Type Descriptions.\n  /// </remarks>\n  [DataContractAttribute(Name = \"BuiltInType\", Namespace = CommonDefinitions.Namespace)]\n  public enum BuiltInType : int\n  {\n    /// <summary>\n    /// An invalid or unspecified value.\n    /// </summary>\n    [EnumMemberAttribute()]\n    Null = 0,\n    /// <summary>\n    /// A boolean logic value (true or false) - A two-state logical value (true or false).\n    /// </summary>\n    [EnumMemberAttribute()]\n    Boolean = 1,\n    /// <summary>\n    /// An 8 bit signed integer value. An integer value between −128 and 127.\n    /// </summary>\n    [EnumMemberAttribute()]\n    SByte = 2,\n    /// <summary>\n    /// An 8 bit unsigned integer value. An integer value between 0 and 255.\n    /// </summary>\n    [EnumMemberAttribute()]\n    Byte = 3,\n    /// <summary>\n    /// A 16 bit signed integer value. An integer value between 0 and 65 535.\n    /// </summary>\n    [EnumMemberAttribute()]\n    Int16 = 4,\n    /// <summary>\n    /// A 16 bit unsigned integer value. An integer value between 0 and 65 535.\n    /// </summary>\n    [EnumMemberAttribute()]\n    UInt16 = 5,\n    /// <summary>\n    /// A 32 bit signed integer value. An integer value between −2 147 483 648 and 2 147 483 647.\n    /// </summary>\n    [EnumMemberAttribute()]\n    Int32 = 6,\n    /// <summary>\n    /// A 32 bit unsigned integer value. An integer value between 0 and 4 294 967 295.\n    /// </summary>\n    [EnumMemberAttribute()]\n    UInt32 = 7,\n    /// <summary>\n    /// A 64 bit signed integer value. An integer value between −9 223 372 036 854 775 808 and 9 223 372 036 854 775 807\n    /// </summary>\n    [EnumMemberAttribute()]\n    Int64 = 8,\n    /// <summary>\n    /// A 64 bit unsigned integer value. An integer value between 0 and 18 446 744 073 709 551 615.\n    /// </summary>\n    [EnumMemberAttribute()]\n    UInt64 = 9,\n    /// <summary>\n    /// An IEEE single precision (32 bit) floating point value. An IEEE single precision (32 bit) floating point value.\n    /// </summary>\n    [EnumMemberAttribute()]\n    Float = 10,\n    /// <summary>\n    /// An IEEE double precision (64 bit) floating point value. An IEEE double precision (64 bit) floating point value.\n    /// </summary>\n    [EnumMemberAttribute()]\n    Double = 11,\n    /// <summary>\n    /// A sequence of Unicode characters.\n    /// </summary>\n    [EnumMemberAttribute()]\n    String = 12,\n    /// <summary>\n    /// An instance in time.\n    /// </summary>\n    [EnumMemberAttribute()]\n    DateTime = 13,\n    /// <summary>\n    /// A 128-bit globally unique identifier.\n    /// </summary>\n    [EnumMemberAttribute()]\n    Guid = 14,\n    /// <summary>\n    /// A sequence of bytes.\n    /// </summary>\n    [EnumMemberAttribute()]\n    ByteString = 15,\n    /// <summary>\n    /// An XML element.\n    /// </summary>\n    [EnumMemberAttribute()]\n    XmlElement = 16,\n    /// <summary>\n    /// An identifier for a node in the address space of an OPC UA Server.\n    /// </summary>\n    [EnumMemberAttribute()]\n    NodeId = 17,\n    /// <summary>\n    /// A node id that stores the namespace URI instead of the namespace index.\n    /// </summary>\n    [EnumMemberAttribute()]\n    ExpandedNodeId = 18,\n    /// <summary>\n    /// A structured result code.\n    /// </summary>\n    [EnumMemberAttribute()]\n    StatusCode = 19,\n    /// <summary>\n    /// A string qualified with a namespace.\n    /// </summary>\n    [EnumMemberAttribute()]\n    QualifiedName = 20,\n    /// <summary>\n    /// A localized text string with an locale identifier.\n    /// </summary>\n    [EnumMemberAttribute()]\n    LocalizedText = 21,\n    /// <summary>\n    /// A structure that contains an application specific data type that may not be recognized by the receiver.\n    /// </summary>\n    [EnumMemberAttribute()]\n    ExtensionObject = 22,\n    /// <summary>\n    /// A data value with an associated quality and time stamp.\n    /// </summary>\n    [EnumMemberAttribute()]\n    DataValue = 23,\n    /// <summary>\n    /// Any of the other built-in types - a union of all of the types specified above.\n    /// </summary>\n    [EnumMemberAttribute()]\n    Variant = 24,\n    /// <summary>\n    /// A diagnostic information associated with a result code.\n    /// </summary>\n    [EnumMemberAttribute()]\n    DiagnosticInfo = 25,\n    /// <summary>\n    /// The enumeration\n    /// </summary>\n    [EnumMemberAttribute()]\n    Enumeration = 26,\n  }\n\n}\n"
  },
  {
    "path": "Configuration/Networking/Serialization/ConfigurationData.cd",
    "content": "﻿<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<ClassDiagram MajorVersion=\"1\" MinorVersion=\"1\">\n  <Class Name=\"UAOOI.Configuration.Networking.Serialization.ConfigurationData\">\n    <Position X=\"4\" Y=\"1.75\" Width=\"2.5\" />\n    <Compartments>\n      <Compartment Name=\"Fields\" Collapsed=\"true\" />\n      <Compartment Name=\"Methods\" Collapsed=\"true\" />\n    </Compartments>\n    <AssociationLine Name=\"MessageHandlers\" Type=\"UAOOI.Configuration.Networking.Serialization.MessageHandlerConfiguration\">\n      <MemberNameLabel ManuallyPlaced=\"true\">\n        <Position X=\"1.12\" Y=\"0.06\" />\n      </MemberNameLabel>\n    </AssociationLine>\n    <TypeIdentifier>\n      <HashCode>AAABAABAGUAEAIAIQAAAAIIAEQgAAAEEgAAIAQIAAAA=</HashCode>\n      <FileName>Serialization\\ConfigurationData.cs</FileName>\n    </TypeIdentifier>\n    <ShowAsAssociation>\n      <Property Name=\"MessageHandlers\" />\n    </ShowAsAssociation>\n    <Lollipop Position=\"0.2\" />\n  </Class>\n  <Class Name=\"UAOOI.Configuration.Networking.Serialization.DataSetConfiguration\">\n    <Position X=\"7.75\" Y=\"1.75\" Width=\"2.25\" />\n    <Compartments>\n      <Compartment Name=\"Fields\" Collapsed=\"true\" />\n      <Compartment Name=\"Methods\" Collapsed=\"true\" />\n    </Compartments>\n    <AssociationLine Name=\"Root\" Type=\"UAOOI.Configuration.Networking.Serialization.NodeDescriptor\" FixedFromPoint=\"true\">\n      <Path>\n        <Point X=\"10\" Y=\"4.069\" />\n        <Point X=\"11\" Y=\"4.069\" />\n      </Path>\n    </AssociationLine>\n    <TypeIdentifier>\n      <HashCode>AqACAAAoAACAACAEAEAATgAAAEgABECMAAAAAgMABIQ=</HashCode>\n      <FileName>Serialization\\ConfigurationData.xsd.cs</FileName>\n    </TypeIdentifier>\n    <ShowAsAssociation>\n      <Property Name=\"DataSet\" />\n      <Property Name=\"Root\" />\n    </ShowAsAssociation>\n    <Lollipop Position=\"0.2\" />\n  </Class>\n  <Class Name=\"UAOOI.Configuration.Networking.Serialization.MessageHandlerConfiguration\">\n    <Position X=\"4.25\" Y=\"5\" Width=\"2.25\" />\n    <Compartments>\n      <Compartment Name=\"Fields\" Collapsed=\"true\" />\n      <Compartment Name=\"Methods\" Collapsed=\"true\" />\n    </Compartments>\n    <TypeIdentifier>\n      <HashCode>ACAAAAAAAAAQgAAAAAAAAAQAAIAAAAAEgAAAEAIAABA=</HashCode>\n      <FileName>Serialization\\ConfigurationData.xsd.cs</FileName>\n    </TypeIdentifier>\n    <ShowAsAssociation>\n      <Property Name=\"Configuration\" />\n    </ShowAsAssociation>\n    <Lollipop Position=\"0.2\" />\n  </Class>\n  <Class Name=\"UAOOI.Configuration.Networking.Serialization.NodeDescriptor\">\n    <Position X=\"11\" Y=\"4\" Width=\"2.25\" />\n    <Compartments>\n      <Compartment Name=\"Fields\" Collapsed=\"true\" />\n    </Compartments>\n    <NestedTypes>\n      <Class Name=\"UAOOI.Configuration.Networking.Serialization.NodeDescriptor.NodeDescriptorWrapper\" Collapsed=\"true\">\n        <TypeIdentifier>\n          <NewMemberFileName>Serialization\\NodeDescriptor.cs</NewMemberFileName>\n        </TypeIdentifier>\n        <Lollipop Position=\"0.2\" />\n      </Class>\n    </NestedTypes>\n    <TypeIdentifier>\n      <HashCode>AACQAQCAAAIAQAAAAAAAEAABBAAAAgAAAAAAAABAAAA=</HashCode>\n      <FileName>Serialization\\NodeDescriptor.cs</FileName>\n    </TypeIdentifier>\n  </Class>\n  <Class Name=\"UAOOI.Configuration.Networking.Serialization.FieldMetaData\">\n    <Position X=\"11\" Y=\"1.75\" Width=\"2.25\" />\n    <Compartments>\n      <Compartment Name=\"Fields\" Collapsed=\"true\" />\n    </Compartments>\n    <TypeIdentifier>\n      <HashCode>QAIAAAAAAABAAAgAAEAAAAAAAAAAAAAEAAAAAAIIAAA=</HashCode>\n      <FileName>Serialization\\ConfigurationData.xsd.cs</FileName>\n    </TypeIdentifier>\n    <ShowAsAssociation>\n      <Property Name=\"TypeInformation\" />\n    </ShowAsAssociation>\n    <Lollipop Position=\"0.2\" />\n  </Class>\n  <Class Name=\"UAOOI.Configuration.Networking.Serialization.MessageWriterConfiguration\">\n    <Position X=\"2.5\" Y=\"8\" Width=\"2.75\" />\n    <Compartments>\n      <Compartment Name=\"Fields\" Collapsed=\"true\" />\n      <Compartment Name=\"Methods\" Collapsed=\"true\" />\n    </Compartments>\n    <TypeIdentifier>\n      <HashCode>ACABAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAA=</HashCode>\n      <FileName>Serialization\\ConfigurationData.xsd.cs</FileName>\n    </TypeIdentifier>\n  </Class>\n  <Class Name=\"UAOOI.Configuration.Networking.Serialization.MessageReaderConfiguration\">\n    <Position X=\"5.5\" Y=\"8\" Width=\"2.75\" />\n    <Compartments>\n      <Compartment Name=\"Fields\" Collapsed=\"true\" />\n      <Compartment Name=\"Methods\" Collapsed=\"true\" />\n    </Compartments>\n    <TypeIdentifier>\n      <HashCode>ACAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAA=</HashCode>\n      <FileName>Serialization\\ConfigurationData.xsd.cs</FileName>\n    </TypeIdentifier>\n  </Class>\n  <Class Name=\"UAOOI.Configuration.Networking.Serialization.ProducerAssociationConfiguration\">\n    <Position X=\"2.5\" Y=\"10.25\" Width=\"2.75\" />\n    <Compartments>\n      <Compartment Name=\"Fields\" Collapsed=\"true\" />\n      <Compartment Name=\"Properties\" Collapsed=\"true\" />\n    </Compartments>\n    <TypeIdentifier>\n      <HashCode>AAAAAAAAAAAAAAAAAAACAAAAEAAAAAAAAAAAAAAAAAA=</HashCode>\n      <FileName>Serialization\\ConfigurationData.xsd.cs</FileName>\n    </TypeIdentifier>\n  </Class>\n  <Class Name=\"UAOOI.Configuration.Networking.Serialization.ConsumerAssociationConfiguration\">\n    <Position X=\"5.5\" Y=\"10.25\" Width=\"2.75\" />\n    <Compartments>\n      <Compartment Name=\"Fields\" Collapsed=\"true\" />\n    </Compartments>\n    <TypeIdentifier>\n      <HashCode>AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=</HashCode>\n      <FileName>Serialization\\ConfigurationData.xsd.cs</FileName>\n    </TypeIdentifier>\n  </Class>\n  <Class Name=\"UAOOI.Configuration.Networking.Serialization.MessageChannelConfiguration\" Collapsed=\"true\">\n    <Position X=\"7.75\" Y=\"6\" Width=\"2.25\" />\n    <TypeIdentifier>\n      <HashCode>AAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=</HashCode>\n      <FileName>Serialization\\ConfigurationData.xsd.cs</FileName>\n    </TypeIdentifier>\n  </Class>\n  <Class Name=\"UAOOI.Configuration.Networking.Serialization.TypeDictionary\">\n    <Position X=\"0.75\" Y=\"1.75\" Width=\"1.75\" />\n    <Compartments>\n      <Compartment Name=\"Fields\" Collapsed=\"true\" />\n    </Compartments>\n    <TypeIdentifier>\n      <HashCode>AAAAAACAAAAACAAAAAAAAAAAAAAAAAAAAAAAAgAQAAA=</HashCode>\n      <FileName>Serialization\\TypeDictionary.cs</FileName>\n    </TypeIdentifier>\n    <ShowAsAssociation>\n      <Property Name=\"Items\" />\n    </ShowAsAssociation>\n  </Class>\n  <Class Name=\"UAOOI.Configuration.Networking.Serialization.AssociationConfiguration\">\n    <Position X=\"4.25\" Y=\"12.5\" Width=\"2.25\" />\n    <Compartments>\n      <Compartment Name=\"Fields\" Collapsed=\"true\" />\n    </Compartments>\n    <TypeIdentifier>\n      <HashCode>AAAAAAAAAACAAAAAAQAAAAAAAQAAACAAQAAAAAAABAA=</HashCode>\n      <FileName>Serialization\\ConfigurationData.xsd.cs</FileName>\n    </TypeIdentifier>\n  </Class>\n  <Class Name=\"UAOOI.Configuration.Networking.Serialization.TypeDescription\">\n    <Position X=\"0.75\" Y=\"3.5\" Width=\"1.75\" />\n    <TypeIdentifier>\n      <HashCode>AAAAAAAAAAAAAAAAAIAAAAQAAAAAAAAAAAAAAAAAAAA=</HashCode>\n      <FileName>Serialization\\TypeDictionary.cs</FileName>\n    </TypeIdentifier>\n  </Class>\n  <Class Name=\"UAOOI.Configuration.Networking.Serialization.UATypeInfo\" Collapsed=\"true\">\n    <Position X=\"15.25\" Y=\"1.75\" Width=\"1.5\" />\n    <TypeIdentifier>\n      <HashCode>AAAEAAAAAACAIAQAAAAQAAAAAAAAABBAAAAAIAAAAAA=</HashCode>\n      <FileName>Serialization\\UATypeInfo.cs</FileName>\n    </TypeIdentifier>\n  </Class>\n  <Font Name=\"Segoe UI\" Size=\"9\" />\n</ClassDiagram>"
  },
  {
    "path": "Configuration/Networking/Serialization/ConfigurationData.cs",
    "content": "//___________________________________________________________________________________\n//\n//  Copyright (C) 2020, Mariusz Postol LODZ POLAND.\n//\n//  To be in touch join the community at GITTER: https://gitter.im/mpostol/OPC-UA-OOI\n//___________________________________________________________________________________\n\nusing System;\nusing System.Collections.Generic;\nusing System.Collections.ObjectModel;\nusing System.Linq;\nusing System.Xml.Serialization;\n\nnamespace UAOOI.Configuration.Networking.Serialization\n{\n  /// <summary>\n  /// Class ConfigurationData - contains configuration data of the UANetworking application.\n  /// </summary>\n  public partial class ConfigurationData : IConfigurationDataFactory\n  {\n    #region API\n\n    public ObservableCollection<MessageHandlerConfiguration> GetMessageHandlers()\n    {\n      if (m_ObservableMessageHandlers == null)\n      {\n        m_ObservableMessageHandlers = new ObservableCollection<MessageHandlerConfiguration>(MessageHandlers);\n        m_ObservableMessageHandlers.CollectionChanged += M_MessageHandlers_CollectionChanged;\n      }\n      return m_ObservableMessageHandlers;\n    }\n\n    /// <summary>\n    /// Gets the instance configuration - collection of data sets represented as the <see cref=\"DataSetConfiguration\"/>.\n    /// </summary>\n    /// <param name=\"descriptor\">The descriptor.</param>\n    /// <returns>IEnumerable&lt;IInstanceConfiguration&gt;.</returns>\n    public DataSetConfiguration GetInstanceConfiguration(NodeDescriptor descriptor)\n    {\n      DataSetConfiguration _node = DataSetsList.Where<DataSetConfiguration>(x => x.Root.CreateWrapper().CompareTo(descriptor) == 0).FirstOrDefault<DataSetConfiguration>();\n      if (_node == null)\n        _node = DataSetConfiguration.Create(descriptor);\n      return _node;\n    }\n\n    #endregion API\n\n    #region IConfigurationDataFactory\n\n    /// <summary>\n    /// Gets and instance of <see cref=\"ConfigurationData\" />.\n    /// </summary>\n    /// <returns>Returns an instance of <see cref=\"ConfigurationData\" />.</returns>\n    public ConfigurationData GetConfigurationData()\n    {\n      return this;\n    }\n\n    /// <summary>\n    /// Gets or sets the delegate capturing functionality that is executed when the configuration is changing.\n    /// </summary>\n    /// <value>The m_ on changed.</value>\n    [XmlIgnore]\n    public Action OnChanged\n    {\n      get; set;\n    }\n\n    /// <summary>\n    /// Called when the configuration is loaded.\n    /// </summary>\n    public virtual void OnLoaded() { }\n\n    /// <summary>\n    /// Called before saving the configuration.\n    /// </summary>\n    public virtual void OnSaving()\n    {\n      if (b_DataSetConfigurationList == null)\n        return;\n      if (m_PendingChanges)\n        DataSets = b_DataSetConfigurationList.ToArray<DataSetConfiguration>();\n      if (m_MessageHandlersCollectionChanged)\n        MessageHandlers = m_ObservableMessageHandlers.Select<ICloneable, MessageHandlerConfiguration>(x => (MessageHandlerConfiguration)x.Clone()).ToArray<MessageHandlerConfiguration>();\n    }\n\n    #endregion IConfigurationDataFactory\n\n    #region private\n\n    private bool m_PendingChanges = false;\n    private bool m_MessageHandlersCollectionChanged = false;\n    private List<DataSetConfiguration> b_DataSetConfigurationList;\n    private ObservableCollection<MessageHandlerConfiguration> m_ObservableMessageHandlers;\n\n    private void PendingChanges()\n    {\n      m_PendingChanges = true;\n      OnChanged();\n    }\n\n    private void M_MessageHandlers_CollectionChanged(object sender, System.Collections.Specialized.NotifyCollectionChangedEventArgs e)\n    {\n      m_MessageHandlersCollectionChanged = true;\n      OnChanged();\n    }\n\n    private List<DataSetConfiguration> DataSetsList\n    {\n      get\n      {\n        if (b_DataSetConfigurationList == null)\n          b_DataSetConfigurationList = new List<DataSetConfiguration>(DataSets);\n        return b_DataSetConfigurationList;\n      }\n    }\n\n    #endregion private\n  }\n}"
  },
  {
    "path": "Configuration/Networking/Serialization/ConfigurationData.xsd",
    "content": "﻿<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<xs:schema xmlns:tns=\"http://commsvr.com/UAOOI/SemanticData/UANetworking/Configuration/Serialization.xsd\" elementFormDefault=\"qualified\" targetNamespace=\"http://commsvr.com/UAOOI/SemanticData/UANetworking/Configuration/Serialization.xsd\" xmlns:xs=\"http://www.w3.org/2001/XMLSchema\">\n  <xs:simpleType name=\"guid\">\n    <xs:restriction base=\"xs:string\">\n      <xs:pattern value=\"[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}\" />\n    </xs:restriction>\n  </xs:simpleType>\n  <xs:element name=\"ConfigurationData\" nillable=\"true\" type=\"tns:ConfigurationData\" />\n  <xs:complexType name=\"ConfigurationData\">\n    <xs:sequence>\n      <xs:element minOccurs=\"0\" maxOccurs=\"1\" name=\"ExtensionData\" type=\"tns:ExtensionDataObject\" />\n      <xs:element minOccurs=\"0\" maxOccurs=\"unbounded\" name=\"DataSets\" type=\"tns:DataSetConfiguration\" />\n      <xs:element minOccurs=\"0\" maxOccurs=\"1\" name=\"MessageHandlers\" type=\"tns:ArrayOfChoice1\" />\n      <xs:element minOccurs=\"1\" maxOccurs=\"1\" name=\"TypeDictionaries\" nillable=\"true\" type=\"tns:ArrayOfTypeDictionary\" />\n    </xs:sequence>\n  </xs:complexType>\n  <xs:complexType name=\"ExtensionDataObject\" />\n  <xs:complexType name=\"DataSetConfiguration\">\n    <xs:sequence>\n      <xs:element minOccurs=\"0\" maxOccurs=\"1\" name=\"ExtensionData\" type=\"tns:ExtensionDataObject\" />\n      <xs:element minOccurs=\"1\" maxOccurs=\"1\" name=\"AssociationRole\" type=\"tns:AssociationRole\" />\n      <xs:element minOccurs=\"0\" maxOccurs=\"1\" name=\"AssociationName\" type=\"xs:string\" />\n      <xs:element minOccurs=\"0\" maxOccurs=\"1\" name=\"RepositoryGroup\" type=\"xs:string\" />\n      <xs:element minOccurs=\"0\" maxOccurs=\"1\" name=\"InformationModelURI\" type=\"xs:string\" />\n      <xs:element minOccurs=\"0\" maxOccurs=\"1\" name=\"DataSymbolicName\" type=\"xs:string\" />\n      <xs:element minOccurs=\"0\" maxOccurs=\"1\" name=\"DataSet\" type=\"tns:ArrayOfFieldMetaData\" />\n      <xs:element minOccurs=\"0\" maxOccurs=\"1\" name=\"Guid\" type=\"xs:string\" />\n      <xs:element minOccurs=\"0\" maxOccurs=\"1\" name=\"Root\" type=\"tns:NodeDescriptor\" />\n      <xs:element minOccurs=\"1\" maxOccurs=\"1\" name=\"PublishingInterval\" type=\"xs:double\" />\n      <xs:element minOccurs=\"1\" maxOccurs=\"1\" name=\"MaxBufferTime\" type=\"xs:double\" />\n      <xs:element minOccurs=\"1\" maxOccurs=\"1\" name=\"ConfigurationGuid\" type=\"tns:guid\" />\n      <xs:element minOccurs=\"0\" maxOccurs=\"1\" name=\"ConfigurationVersion\" type=\"tns:ConfigurationVersionDataType\" />\n    </xs:sequence>\n  </xs:complexType>\n  <xs:simpleType name=\"AssociationRole\">\n    <xs:restriction base=\"xs:string\">\n      <xs:enumeration value=\"Consumer\" />\n      <xs:enumeration value=\"Producer\" />\n    </xs:restriction>\n  </xs:simpleType>\n  <xs:complexType name=\"ArrayOfFieldMetaData\">\n    <xs:sequence>\n      <xs:element minOccurs=\"0\" maxOccurs=\"unbounded\" name=\"FieldMetaData\" nillable=\"true\" type=\"tns:FieldMetaData\" />\n    </xs:sequence>\n  </xs:complexType>\n  <xs:complexType name=\"FieldMetaData\">\n    <xs:sequence>\n      <xs:element minOccurs=\"0\" maxOccurs=\"1\" name=\"ExtensionData\" type=\"tns:ExtensionDataObject\" />\n      <xs:element minOccurs=\"0\" maxOccurs=\"1\" name=\"SymbolicName\" type=\"xs:string\" />\n      <xs:element minOccurs=\"0\" maxOccurs=\"1\" name=\"ProcessValueName\" type=\"xs:string\" />\n      <xs:element minOccurs=\"0\" maxOccurs=\"1\" name=\"TypeInformation\" type=\"tns:UATypeInfo\" />\n    </xs:sequence>\n  </xs:complexType>\n  <xs:complexType name=\"UATypeInfo\">\n    <xs:sequence>\n      <xs:element minOccurs=\"1\" maxOccurs=\"1\" name=\"BuiltInType\" type=\"tns:BuiltInType\" />\n      <xs:element minOccurs=\"1\" maxOccurs=\"1\" name=\"ValueRank\" type=\"xs:int\" />\n      <xs:element minOccurs=\"0\" maxOccurs=\"1\" name=\"ArrayDimensions\" type=\"tns:ArrayOfInt\" />\n      <xs:element minOccurs=\"0\" maxOccurs=\"1\" name=\"TypeName\" type=\"xs:QName\" />\n    </xs:sequence>\n  </xs:complexType>\n  <xs:simpleType name=\"BuiltInType\">\n    <xs:restriction base=\"xs:string\">\n      <xs:enumeration value=\"Null\" />\n      <xs:enumeration value=\"Boolean\" />\n      <xs:enumeration value=\"SByte\" />\n      <xs:enumeration value=\"Byte\" />\n      <xs:enumeration value=\"Int16\" />\n      <xs:enumeration value=\"UInt16\" />\n      <xs:enumeration value=\"Int32\" />\n      <xs:enumeration value=\"UInt32\" />\n      <xs:enumeration value=\"Int64\" />\n      <xs:enumeration value=\"UInt64\" />\n      <xs:enumeration value=\"Float\" />\n      <xs:enumeration value=\"Double\" />\n      <xs:enumeration value=\"String\" />\n      <xs:enumeration value=\"DateTime\" />\n      <xs:enumeration value=\"Guid\" />\n      <xs:enumeration value=\"ByteString\" />\n      <xs:enumeration value=\"XmlElement\" />\n      <xs:enumeration value=\"NodeId\" />\n      <xs:enumeration value=\"ExpandedNodeId\" />\n      <xs:enumeration value=\"StatusCode\" />\n      <xs:enumeration value=\"QualifiedName\" />\n      <xs:enumeration value=\"LocalizedText\" />\n      <xs:enumeration value=\"ExtensionObject\" />\n      <xs:enumeration value=\"DataValue\" />\n      <xs:enumeration value=\"Variant\" />\n      <xs:enumeration value=\"DiagnosticInfo\" />\n      <xs:enumeration value=\"Enumeration\" />\n    </xs:restriction>\n  </xs:simpleType>\n  <xs:complexType name=\"ArrayOfInt\">\n    <xs:sequence>\n      <xs:element minOccurs=\"0\" maxOccurs=\"unbounded\" name=\"int\" type=\"xs:int\" />\n    </xs:sequence>\n  </xs:complexType>\n  <xs:complexType name=\"NodeDescriptor\">\n    <xs:sequence>\n      <xs:element minOccurs=\"0\" maxOccurs=\"1\" name=\"BindingDescription\" type=\"xs:string\" />\n      <xs:element minOccurs=\"0\" maxOccurs=\"1\" name=\"DataType\" type=\"xs:QName\" />\n      <xs:element minOccurs=\"1\" maxOccurs=\"1\" name=\"InstanceDeclaration\" type=\"xs:boolean\" />\n      <xs:element minOccurs=\"1\" maxOccurs=\"1\" name=\"NodeClass\" type=\"tns:InstanceNodeClassesEnum\" />\n      <xs:element minOccurs=\"0\" maxOccurs=\"1\" name=\"NodeIdentifier\" type=\"xs:QName\" />\n    </xs:sequence>\n  </xs:complexType>\n  <xs:simpleType name=\"InstanceNodeClassesEnum\">\n    <xs:restriction base=\"xs:string\">\n      <xs:enumeration value=\"Object\" />\n      <xs:enumeration value=\"Variable\" />\n      <xs:enumeration value=\"Method\" />\n      <xs:enumeration value=\"View\" />\n      <xs:enumeration value=\"NotDefined\" />\n    </xs:restriction>\n  </xs:simpleType>\n  <xs:complexType name=\"ConfigurationVersionDataType\">\n    <xs:sequence>\n      <xs:element minOccurs=\"1\" maxOccurs=\"1\" name=\"MajorVersion\" type=\"xs:unsignedByte\" />\n      <xs:element minOccurs=\"1\" maxOccurs=\"1\" name=\"MinorVersion\" type=\"xs:unsignedByte\" />\n    </xs:sequence>\n  </xs:complexType>\n  <xs:complexType name=\"ArrayOfChoice1\">\n    <xs:choice minOccurs=\"0\" maxOccurs=\"unbounded\">\n      <xs:element minOccurs=\"1\" maxOccurs=\"1\" name=\"MessageWriterConfiguration\" nillable=\"true\" type=\"tns:MessageWriterConfiguration\" />\n      <xs:element minOccurs=\"1\" maxOccurs=\"1\" name=\"MessageReaderConfiguration\" nillable=\"true\" type=\"tns:MessageReaderConfiguration\" />\n    </xs:choice>\n  </xs:complexType>\n  <xs:complexType name=\"MessageWriterConfiguration\">\n    <xs:complexContent mixed=\"false\">\n      <xs:extension base=\"tns:MessageHandlerConfiguration\">\n        <xs:sequence>\n          <xs:element minOccurs=\"0\" maxOccurs=\"1\" name=\"ProducerAssociationConfigurations\" type=\"tns:ArrayOfProducerAssociationConfiguration\" />\n        </xs:sequence>\n      </xs:extension>\n    </xs:complexContent>\n  </xs:complexType>\n  <xs:complexType name=\"MessageHandlerConfiguration\" abstract=\"true\">\n    <xs:sequence>\n      <xs:element minOccurs=\"0\" maxOccurs=\"1\" name=\"ExtensionData\" type=\"tns:ExtensionDataObject\" />\n      <xs:element minOccurs=\"0\" maxOccurs=\"1\" name=\"Name\" type=\"xs:string\" />\n      <xs:element minOccurs=\"0\" maxOccurs=\"1\" name=\"Configuration\" type=\"tns:MessageChannelConfiguration\" />\n      <xs:element minOccurs=\"1\" maxOccurs=\"1\" name=\"TransportRole\" type=\"tns:AssociationRole\" />\n    </xs:sequence>\n  </xs:complexType>\n  <xs:complexType name=\"MessageChannelConfiguration\" />\n  <xs:complexType name=\"MessageReaderConfiguration\">\n    <xs:complexContent mixed=\"false\">\n      <xs:extension base=\"tns:MessageHandlerConfiguration\">\n        <xs:sequence>\n          <xs:element minOccurs=\"0\" maxOccurs=\"1\" name=\"ConsumerAssociationConfigurations\" type=\"tns:ArrayOfConsumerAssociationConfiguration\" />\n        </xs:sequence>\n      </xs:extension>\n    </xs:complexContent>\n  </xs:complexType>\n  <xs:complexType name=\"ArrayOfConsumerAssociationConfiguration\">\n    <xs:sequence>\n      <xs:element minOccurs=\"0\" maxOccurs=\"unbounded\" name=\"ConsumerAssociationConfiguration\" nillable=\"true\" type=\"tns:ConsumerAssociationConfiguration\" />\n    </xs:sequence>\n  </xs:complexType>\n  <xs:complexType name=\"ConsumerAssociationConfiguration\">\n    <xs:complexContent mixed=\"false\">\n      <xs:extension base=\"tns:AssociationConfiguration\" />\n    </xs:complexContent>\n  </xs:complexType>\n  <xs:complexType name=\"AssociationConfiguration\">\n    <xs:sequence>\n      <xs:element minOccurs=\"0\" maxOccurs=\"1\" name=\"AssociationName\" type=\"xs:string\" />\n      <xs:element minOccurs=\"1\" maxOccurs=\"1\" name=\"DataSetWriterId\" type=\"xs:unsignedShort\" />\n      <xs:element minOccurs=\"1\" maxOccurs=\"1\" name=\"PublisherId\" type=\"tns:guid\" />\n    </xs:sequence>\n  </xs:complexType>\n  <xs:complexType name=\"ProducerAssociationConfiguration\">\n    <xs:complexContent mixed=\"false\">\n      <xs:extension base=\"tns:AssociationConfiguration\">\n        <xs:sequence>\n          <xs:element minOccurs=\"1\" maxOccurs=\"1\" name=\"FieldEncoding\" type=\"tns:FieldEncodingEnum\" />\n        </xs:sequence>\n      </xs:extension>\n    </xs:complexContent>\n  </xs:complexType>\n  <xs:simpleType name=\"FieldEncodingEnum\">\n    <xs:restriction base=\"xs:string\">\n      <xs:enumeration value=\"VariantFieldEncoding\" />\n      <xs:enumeration value=\"CompressedFieldEncoding\" />\n      <xs:enumeration value=\"DataValueFieldEncoding\" />\n    </xs:restriction>\n  </xs:simpleType>\n  <xs:complexType name=\"ArrayOfProducerAssociationConfiguration\">\n    <xs:sequence>\n      <xs:element minOccurs=\"0\" maxOccurs=\"unbounded\" name=\"ProducerAssociationConfiguration\" nillable=\"true\" type=\"tns:ProducerAssociationConfiguration\" />\n    </xs:sequence>\n  </xs:complexType>\n  <xs:complexType name=\"ArrayOfTypeDictionary\">\n    <xs:sequence>\n      <xs:element minOccurs=\"0\" maxOccurs=\"unbounded\" name=\"TypeDictionary\" nillable=\"true\">\n        <xs:complexType>\n          <xs:sequence>\n            <xs:element minOccurs=\"0\" maxOccurs=\"unbounded\" name=\"StructuredType\" type=\"tns:StructuredType\" />\n          </xs:sequence>\n          <xs:attribute name=\"TargetNamespace\" type=\"xs:string\" />\n        </xs:complexType>\n      </xs:element>\n    </xs:sequence>\n  </xs:complexType>\n  <xs:complexType name=\"StructuredType\">\n    <xs:complexContent mixed=\"false\">\n      <xs:extension base=\"tns:TypeDescription\">\n        <xs:sequence>\n          <xs:element minOccurs=\"0\" maxOccurs=\"unbounded\" name=\"Field\" type=\"tns:FieldType\" />\n          <xs:element minOccurs=\"1\" maxOccurs=\"1\" name=\"StructureKind\" type=\"tns:StructureKindEnum\" />\n        </xs:sequence>\n      </xs:extension>\n    </xs:complexContent>\n  </xs:complexType>\n  <xs:complexType name=\"TypeDescription\">\n    <xs:attribute name=\"Name\" type=\"xs:NCName\" />\n  </xs:complexType>\n  <xs:complexType name=\"EnumeratedType\">\n    <xs:complexContent mixed=\"false\">\n      <xs:extension base=\"tns:TypeDescription\">\n        <xs:sequence>\n          <xs:element minOccurs=\"0\" maxOccurs=\"unbounded\" name=\"EnumeratedValues\" type=\"tns:EnumeratedValue\" />\n        </xs:sequence>\n      </xs:extension>\n    </xs:complexContent>\n  </xs:complexType>\n  <xs:complexType name=\"EnumeratedValue\">\n    <xs:sequence>\n      <xs:element minOccurs=\"0\" maxOccurs=\"1\" name=\"Documentation\" type=\"tns:ArrayOfLocalizedText\" />\n    </xs:sequence>\n    <xs:attribute name=\"Name\" type=\"xs:string\" />\n    <xs:attribute name=\"Value\" type=\"xs:int\" use=\"required\" />\n  </xs:complexType>\n  <xs:complexType name=\"ArrayOfLocalizedText\">\n    <xs:sequence>\n      <xs:element minOccurs=\"0\" maxOccurs=\"unbounded\" name=\"LocalizedText\" nillable=\"true\" type=\"tns:LocalizedText\" />\n    </xs:sequence>\n  </xs:complexType>\n  <xs:complexType name=\"LocalizedText\">\n    <xs:simpleContent>\n      <xs:extension base=\"xs:string\">\n        <xs:attribute default=\"\" name=\"Locale\" type=\"xs:string\" />\n      </xs:extension>\n    </xs:simpleContent>\n  </xs:complexType>\n  <xs:complexType name=\"FieldType\">\n    <xs:attribute name=\"Name\" type=\"xs:string\" />\n    <xs:attribute name=\"TypeName\" type=\"xs:QName\" />\n    <xs:attribute name=\"SwitchField\" type=\"xs:string\" />\n    <xs:attribute name=\"SwitchValue\" type=\"xs:unsignedInt\" />\n    <xs:attribute name=\"SwitchOperand\" type=\"tns:SwitchOperand\" />\n  </xs:complexType>\n  <xs:simpleType name=\"SwitchOperand\">\n    <xs:restriction base=\"xs:string\">\n      <xs:enumeration value=\"Equals\" />\n      <xs:enumeration value=\"GreaterThan\" />\n      <xs:enumeration value=\"LessThan\" />\n      <xs:enumeration value=\"GreaterThanOrEqual\" />\n      <xs:enumeration value=\"LessThanOrEqual\" />\n      <xs:enumeration value=\"NotEqual\" />\n    </xs:restriction>\n  </xs:simpleType>\n  <xs:simpleType name=\"StructureKindEnum\">\n    <xs:restriction base=\"xs:string\">\n      <xs:enumeration value=\"Structure\" />\n      <xs:enumeration value=\"StructureWithOptionalFields\" />\n      <xs:enumeration value=\"Union\" />\n    </xs:restriction>\n  </xs:simpleType>\n</xs:schema>"
  },
  {
    "path": "Configuration/Networking/Serialization/ConfigurationData.xsd.cs",
    "content": "﻿\nusing System;\nusing System.Runtime.Serialization;\nusing System.Xml.Serialization;\n\n[assembly: ContractNamespaceAttribute(\"http://commsvr.com/UAOOI/SemanticData/UANetworking/Configuration/Serialization.xsd\", ClrNamespace = \"UAOOI.Configuration.Networking.Serialization\")]\n\nnamespace UAOOI.Configuration.Networking.Serialization\n{\n\n  [DataContractAttribute(Name = \"ConfigurationData\", Namespace = CommonDefinitions.Namespace)]\n  [SerializableAttribute()]\n  [XmlRoot(Namespace = CommonDefinitions.Namespace)]\n  //[XmlType(Namespace = CommonDefinitions.Namespace)]\n  public partial class ConfigurationData : object, IExtensibleDataObject\n  {\n\n    [System.Diagnostics.CodeAnalysis.SuppressMessage(\"Microsoft.Usage\", \"CA2235:MarkAllNonSerializableFields\")]\n    private ExtensionDataObject extensionDataField;\n    private DataSetConfiguration[] DataSetsField;\n    private MessageHandlerConfiguration[] MessageHandlersField;\n    private TypeDictionary[] TypeDictionariesField;\n\n    public ExtensionDataObject ExtensionData\n    {\n      get\n      {\n        return this.extensionDataField;\n      }\n      set\n      {\n        this.extensionDataField = value;\n      }\n    }\n\n    [DataMemberAttribute(EmitDefaultValue = true, IsRequired = true)]\n    [XmlElementAttribute(IsNullable = false)]\n    public DataSetConfiguration[] DataSets\n    {\n      get\n      {\n        return this.DataSetsField;\n      }\n      set\n      {\n        this.DataSetsField = value;\n      }\n    }\n\n    [DataMemberAttribute(EmitDefaultValue = true, IsRequired = true)]\n    [XmlArray(IsNullable = false)]\n    [XmlArrayItem(Type = typeof(MessageWriterConfiguration), ElementName = \"MessageWriterConfiguration\")]\n    [XmlArrayItem(Type = typeof(MessageReaderConfiguration), ElementName = \"MessageReaderConfiguration\")]\n    public MessageHandlerConfiguration[] MessageHandlers\n    {\n      get\n      {\n        return this.MessageHandlersField;\n      }\n      set\n      {\n        this.MessageHandlersField = value;\n      }\n    }\n\n    [DataMemberAttribute(EmitDefaultValue = true, IsRequired = false)]\n    [XmlArray(IsNullable = true)]\n    public TypeDictionary[] TypeDictionaries\n    {\n      get { return TypeDictionariesField; }\n      set { TypeDictionariesField = value; }\n    }\n\n  }\n\n  [DataContractAttribute(Name = \"DataSetConfiguration\", Namespace = CommonDefinitions.Namespace)]\n  [SerializableAttribute()]\n  public partial class DataSetConfiguration : object, IExtensibleDataObject\n  {\n\n    #region private\n    [NonSerializedAttribute()]\n    private ExtensionDataObject extensionDataField;\n    private AssociationRole AssociationRoleField;\n    [OptionalFieldAttribute()]\n    private string AssociationNameField;\n    [OptionalFieldAttribute()]\n    private string RepositoryGroupField;\n    [OptionalFieldAttribute()]\n    private string InformationModelURIField;\n    [OptionalFieldAttribute()]\n    private string DataSymbolicNameField;\n    [OptionalFieldAttribute()]\n    private FieldMetaData[] DataSetField;\n    [OptionalFieldAttribute()]\n    private string GuidField;\n    [OptionalFieldAttribute()]\n    private NodeDescriptor RootField;\n    [OptionalFieldAttribute()]\n    private double PublishingIntervalField;\n    [OptionalFieldAttribute()]\n    private double MaxBufferTimeField;\n    [OptionalFieldAttribute()]\n    private Guid ConfigurationGuidField;\n    [OptionalFieldAttribute()]\n    private ConfigurationVersionDataType ConfigurationVersionField;\n    #endregion\n\n    #region public\n    public ExtensionDataObject ExtensionData\n    {\n      get\n      {\n        return this.extensionDataField;\n      }\n      set\n      {\n        this.extensionDataField = value;\n      }\n    }\n    [DataMemberAttribute(IsRequired = true)]\n    public AssociationRole AssociationRole\n    {\n      get\n      {\n        return this.AssociationRoleField;\n      }\n      set\n      {\n        this.AssociationRoleField = value;\n      }\n    }\n    [DataMemberAttribute(EmitDefaultValue = false, Order = 1, IsRequired = true)]\n    public string AssociationName\n    {\n      get\n      {\n        return this.AssociationNameField;\n      }\n      set\n      {\n        this.AssociationNameField = value;\n      }\n    }\n    [DataMemberAttribute(EmitDefaultValue = false, Order = 2)]\n    public string RepositoryGroup\n    {\n      get\n      {\n        return this.RepositoryGroupField;\n      }\n      set\n      {\n        this.RepositoryGroupField = value;\n      }\n    }\n    [DataMemberAttribute(EmitDefaultValue = false, Order = 3)]\n    public string InformationModelURI\n    {\n      get\n      {\n        return this.InformationModelURIField;\n      }\n      set\n      {\n        this.InformationModelURIField = value;\n      }\n    }\n    [DataMemberAttribute(EmitDefaultValue = false, Order = 4)]\n    public string DataSymbolicName\n    {\n      get\n      {\n        return this.DataSymbolicNameField;\n      }\n      set\n      {\n        this.DataSymbolicNameField = value;\n      }\n    }\n    [DataMemberAttribute(EmitDefaultValue = false, Order = 5, IsRequired = true)]\n    public FieldMetaData[] DataSet\n    {\n      get\n      {\n        return this.DataSetField;\n      }\n      set\n      {\n        this.DataSetField = value;\n      }\n    }\n    [DataMemberAttribute(EmitDefaultValue = false, Order = 6)]\n    public string Guid\n    {\n      get\n      {\n        return this.GuidField;\n      }\n      set\n      {\n        this.GuidField = value;\n      }\n    }\n    [DataMemberAttribute(EmitDefaultValue = false, Order = 7, IsRequired = true)]\n    [XmlElementAttribute(IsNullable = false)]\n    public NodeDescriptor Root\n    {\n      get { return RootField; }\n      set { RootField = value; }\n    }\n    /// <summary>\n    /// Gets or sets the publishing interval - The interval in milliseconds for sampling the Variables and publishing the Values in a DataSet by the related MessageWriter. \n    /// The Duration DataType is a subtype of Double and allows configuration of intervals smaller than a millisecond.\n    /// </summary>\n    /// <value>The publishing interval.</value>\n    [DataMemberAttribute(EmitDefaultValue = true, Order = 8, IsRequired = true)]\n    [XmlElementAttribute(IsNullable = false)]\n    public double PublishingInterval\n    {\n      get { return PublishingIntervalField; }\n      set { PublishingIntervalField = value; }\n    }\n    /// <summary>\n    /// Gets or sets the maximum buffer time. The MaxBufferTime defines the maximum time the delivery of the DataSet may be delayed by the \n    /// MessageWriter, to allow for the collection of additional Messages. This parameter allows the Producer to reduce the number of network packets necessary to send the Messages.\n    /// </summary>\n    /// <value>The maximum buffer time.</value>\n    [DataMemberAttribute(EmitDefaultValue = true, Order = 9, IsRequired = true)]\n    [XmlElementAttribute(IsNullable = false)]\n    public double MaxBufferTime\n    {\n      get { return MaxBufferTimeField; }\n      set { MaxBufferTimeField = value; }\n    }\n    /// <summary>\n    /// Gets or sets the configuration unique identifier. It provides a unique identifier for the current configuration of this object. \n    /// Any change of the ConfigurationVersion Property triggers a creation of a new value.\n    /// </summary>\n    /// <value>The configuration unique identifier.</value>\n    [DataMemberAttribute(EmitDefaultValue = true, Order = 10, IsRequired = true)]\n    [XmlElementAttribute(IsNullable = false)]\n    public Guid ConfigurationGuid\n    {\n      get { return ConfigurationGuidField; }\n      set { ConfigurationGuidField = value; }\n    }\n    [DataMemberAttribute(EmitDefaultValue = true, Order = 11, IsRequired = true)]\n    [XmlElementAttribute(IsNullable = false)]\n    public ConfigurationVersionDataType ConfigurationVersion\n    {\n      get { return ConfigurationVersionField; }\n      set { ConfigurationVersionField = value; }\n    }\n    #endregion\n\n  }\n  [Serializable]\n  [DataContractAttribute(Name = \"ConfigurationVersionDataType\", Namespace = CommonDefinitions.Namespace)]\n  public partial class ConfigurationVersionDataType\n  {\n    private byte MajorVersionField;\n    private byte MinorVersionField;\n\n    /// <summary>\n    /// Gets or sets the major version. The major number reflects the primary format of the DataSet and must be equal in both Producer and Consumer.\n    /// Removing fields from the DataSet, reordering fields, adding fields in between other fields or a DataType change in fields shall result in an update of the MajorVersion. \n    /// The initial value for the MajorVersion is 0. If the MajorVersion is incremented, the MinorVersion shall be set to 0.\n    /// An overflow of the MajorVersion is treated like any other major version change and requires a meta data exchange.\n    /// </summary>\n    /// <value>The major version.</value>\n    [DataMemberAttribute(EmitDefaultValue = true, IsRequired = true)]\n    public byte MajorVersion\n    {\n      get { return MajorVersionField; }\n      set { MajorVersionField = value; }\n    }\n    /// <summary>\n    /// Gets or sets the minor version. The minor number reflects backward compatible changes of the DataSet like adding a field at the end of the DataSet.\n    /// The initial value for the MinorVersion is 0. The MajorVersion shall be incremented after an overflow of the MinorVersion.\n    /// </summary>\n    /// <value>The minor version.</value>\n    [DataMemberAttribute(EmitDefaultValue = true, IsRequired = true)]\n    public byte MinorVersion\n    {\n      get { return MinorVersionField; }\n      set { MinorVersionField = value; }\n    }\n  }\n  [DataContractAttribute(Name = \"AssociationConfiguration\", Namespace = CommonDefinitions.Namespace)]\n  [KnownType(typeof(ProducerAssociationConfiguration))]\n  [KnownType(typeof(ConsumerAssociationConfiguration))]\n  [SerializableAttribute()]\n  public partial class AssociationConfiguration\n  {\n\n    private string AssociationNameField;\n    private UInt16 DataSetWriterIdField;\n    private Guid PublisherIdField;\n\n    [DataMemberAttribute(EmitDefaultValue = false, Order = 0)]\n    public string AssociationName\n    {\n      get { return AssociationNameField; }\n      set { AssociationNameField = value; }\n    }\n    [DataMemberAttribute(EmitDefaultValue = false, Order = 1)]\n    public UInt16 DataSetWriterId\n    {\n      get { return DataSetWriterIdField; }\n      set { DataSetWriterIdField = value; }\n    }\n    [DataMemberAttribute(EmitDefaultValue = false, Order = 2)]\n    public Guid PublisherId\n    {\n      get { return PublisherIdField; }\n      set { PublisherIdField = value; }\n    }\n\n  }\n  [DataContractAttribute(Name = \"ProducerAssociationConfiguration\", Namespace = CommonDefinitions.Namespace)]\n  [SerializableAttribute()]\n  public partial class ProducerAssociationConfiguration : AssociationConfiguration\n  {\n    FieldEncodingEnum FieldEncodingField;\n    [DataMemberAttribute(EmitDefaultValue = true, IsRequired = true, Order = 1)]\n    public FieldEncodingEnum FieldEncoding\n    {\n      get { return FieldEncodingField; }\n      set { FieldEncodingField = value; }\n    }\n  }\n  [DataContractAttribute(Name = \"ConsumerAssociationConfiguration\", Namespace = CommonDefinitions.Namespace)]\n  [SerializableAttribute()]\n  public partial class ConsumerAssociationConfiguration : AssociationConfiguration\n  { }\n  [DataContractAttribute(Name = \"MessageWriterConfiguration\", Namespace = CommonDefinitions.Namespace)]\n  [SerializableAttribute()]\n  public partial class MessageWriterConfiguration : MessageHandlerConfiguration\n  {\n    private ProducerAssociationConfiguration[] ProducerAssociationConfigurationField;\n\n    [DataMemberAttribute(EmitDefaultValue = false)]\n    [XmlArray(ElementName = \"ProducerAssociationConfigurations\")]\n    public ProducerAssociationConfiguration[] ProducerAssociationConfigurations\n    {\n      get { return ProducerAssociationConfigurationField; }\n      set { ProducerAssociationConfigurationField = value; }\n    }\n\n  }\n  [DataContractAttribute(Name = \"MessageReaderConfiguration\")]\n  [SerializableAttribute()]\n  public partial class MessageReaderConfiguration : MessageHandlerConfiguration\n  {\n\n    private ConsumerAssociationConfiguration[] ConsumerAssociationConfigurationsFields;\n\n    [DataMemberAttribute(EmitDefaultValue = false)]\n    [XmlArray(ElementName = \"ConsumerAssociationConfigurations\")]\n    public ConsumerAssociationConfiguration[] ConsumerAssociationConfigurations\n    {\n      get { return ConsumerAssociationConfigurationsFields; }\n      set { ConsumerAssociationConfigurationsFields = value; }\n    }\n\n  }\n  //[DataContractAttribute(Name = \"MessageHandlerConfiguration\", Namespace = CommonDefinitions.Namespace)]\n  [DataContractAttribute()]\n  [KnownType(typeof(MessageReaderConfiguration))]\n  [KnownType(typeof(MessageWriterConfiguration))]\n  [SerializableAttribute()]\n  public partial class MessageHandlerConfiguration : object, IExtensibleDataObject\n  {\n\n    [NonSerializedAttribute()]\n    private ExtensionDataObject extensionDataField;\n    private string NameField;\n    private MessageChannelConfiguration ConfigurationField;\n    private AssociationRole TransportRoleField;\n\n    public ExtensionDataObject ExtensionData\n    {\n      get\n      {\n        return this.extensionDataField;\n      }\n      set\n      {\n        this.extensionDataField = value;\n      }\n    }\n    [DataMemberAttribute(EmitDefaultValue = false)]\n    public string Name\n    {\n      get\n      {\n        return this.NameField;\n      }\n      set\n      {\n        this.NameField = value;\n      }\n    }\n    [DataMemberAttribute(EmitDefaultValue = true, IsRequired = true, Order = 2)]\n    public MessageChannelConfiguration Configuration\n    {\n      get\n      {\n        return this.ConfigurationField;\n      }\n      set\n      {\n        this.ConfigurationField = value;\n      }\n    }\n    [DataMemberAttribute(IsRequired = true, Order = 3)]\n    public AssociationRole TransportRole\n    {\n      get\n      {\n        return this.TransportRoleField;\n      }\n      set\n      {\n        this.TransportRoleField = value;\n      }\n    }\n\n  }\n  [DataContractAttribute(Name = \"MessageChannelConfiguration\", Namespace = CommonDefinitions.Namespace)]\n  [Serializable]\n  public class MessageChannelConfiguration\n  {\n    [DataMemberAttribute(IsRequired = false, Order = 0)]\n    public string ChannelConfiguration { get; set; }\n  }\n  [DataContractAttribute(Name = \"AssociationRole\", Namespace = CommonDefinitions.Namespace)]\n  public enum AssociationRole : int\n  {\n\n    [EnumMemberAttribute()]\n    Consumer = 0,\n\n    [EnumMemberAttribute()]\n    Producer = 1,\n  }\n\n  [DataContractAttribute(Name = \"DataMemberConfiguration\", Namespace = CommonDefinitions.Namespace)]\n  [SerializableAttribute()]\n  public partial class FieldMetaData : object, IExtensibleDataObject\n  {\n\n    #region private\n    [System.Diagnostics.CodeAnalysis.SuppressMessage(\"Microsoft.Usage\", \"CA2235:MarkAllNonSerializableFields\")]\n    private ExtensionDataObject extensionDataField;\n    private string SymbolicNameField;\n    private string ProcessValueNameField;\n    private UATypeInfo m_TypeInfo;\n    #endregion\n\n    #region public\n    public ExtensionDataObject ExtensionData\n    {\n      get\n      {\n        return this.extensionDataField;\n      }\n      set\n      {\n        this.extensionDataField = value;\n      }\n    }\n    /// <summary>\n    /// Gets or sets the name of the field.\n    /// </summary>\n    /// <value>The name of the field.</value>\n    [DataMemberAttribute(EmitDefaultValue = false, Order = 0)]\n    public string SymbolicName\n    {\n      get\n      {\n        return this.SymbolicNameField;\n      }\n      set\n      {\n        this.SymbolicNameField = value;\n      }\n    }\n    [DataMemberAttribute(EmitDefaultValue = false, Order = 1)]\n    public string ProcessValueName\n    {\n      get\n      {\n        return this.ProcessValueNameField;\n      }\n      set\n      {\n        this.ProcessValueNameField = value;\n      }\n    }\n    [DataMemberAttribute(EmitDefaultValue = false, IsRequired = true, Order = 2)]\n    public UATypeInfo TypeInformation\n    {\n      get { return m_TypeInfo; }\n      set { m_TypeInfo = value; }\n    }\n    #endregion\n\n  }\n}\n"
  },
  {
    "path": "Configuration/Networking/Serialization/ConfigurationVersionDataType.cs",
    "content": "﻿using System;\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text;\nusing System.Threading.Tasks;\n\nnamespace UAOOI.Configuration.Networking.Serialization\n{\n  public partial class ConfigurationVersionDataType\n  {\n    public override string ToString()\n    {\n      return $\"{MajorVersion}.{MinorVersion}\";\n    }\n  }\n}\n"
  },
  {
    "path": "Configuration/Networking/Serialization/DataMemberConfiguration.cs",
    "content": "﻿namespace UAOOI.Configuration.Networking.Serialization\n{\n\n  /// <summary>\n  /// Class DataMemberConfiguration - provides all necessary information to create binding between a local process value (PLC register, element on the screen, etc) with a Variable node exposed by an \n  /// OPC UA Server. Adding both to the configuration make the same configuration reusable by the OPC UA Server, OPC UA Client and UA application. \n  /// </summary>\n\n  public partial class FieldMetaData\n  {\n\n  }\n\n}\n"
  },
  {
    "path": "Configuration/Networking/Serialization/DataSetConfiguration.cs",
    "content": "﻿//___________________________________________________________________________________\n//\n//  Copyright (C) 2020, Mariusz Postol LODZ POLAND.\n//\n//  To be in touch join the community at GITTER: https://gitter.im/mpostol/OPC-UA-OOI\n//___________________________________________________________________________________\n\nusing System;\nusing System.Xml;\nusing System.Xml.Serialization;\n\nnamespace UAOOI.Configuration.Networking.Serialization\n{\n  /// <summary>\n  /// Class <see cref=\"DataSetConfiguration\"/> represent a data set as a collection of members to be used as a description to populate (encode) messages sent over the wire\n  /// or analyze (decode) the message read from the wire to retrieve data items. For the senders it also provides criteria on when to forward the new message using the message\n  /// writers associated with this set of data. All communication parties must use the same <see cref=\"DataSetConfiguration\"/> description to decode the message content.\n  /// Current value can be loaded from the local configuration or obtained using meta-data exchange centric communication mechanism.\n  /// For example it could be read from a file or discovered using OPC UA session from OPC UA server.\n  /// </summary>\n  public partial class DataSetConfiguration\n  {\n    #region API\n\n    /// <summary>\n    /// Gets or sets the identifier <see cref=\"Guid\"/> to/from the xml stream containing <see cref=\"string\"/>.\n    /// </summary>\n    /// <value>The identifier.</value>\n    [XmlIgnore]\n    public Guid Id { get => string.IsNullOrEmpty(this.Guid) ? System.Guid.Empty : XmlConvert.ToGuid(this.Guid); set => Guid = XmlConvert.ToString(value); }\n\n    internal static DataSetConfiguration Create(NodeDescriptor descriptor)\n    {\n      if (descriptor == null)\n        throw new ArgumentNullException(nameof(descriptor));\n      if (descriptor.NodeIdentifier == null || descriptor.NodeIdentifier.IsEmpty)\n        throw new ArgumentNullException(nameof(descriptor.NodeIdentifier));\n      NodeDescriptor _newRoot = new NodeDescriptor()\n      {\n        BindingDescription = descriptor.BindingDescription,\n        DataType = descriptor.DataType,\n        InstanceDeclaration = descriptor.InstanceDeclaration,\n        NodeClass = descriptor.NodeClass,\n        NodeIdentifier = descriptor.NodeIdentifier\n      };\n      DataSetConfiguration _new = new DataSetConfiguration()\n      {\n        AssociationName = descriptor.NodeIdentifier.ToString(),\n        AssociationRole = AssociationRole.Producer,\n        DataSet = new FieldMetaData[0],\n        DataSymbolicName = descriptor.NodeIdentifier.ToString(),\n        ExtensionData = null,\n        Id = System.Guid.NewGuid(),\n        RepositoryGroup = \"[RepositoryGroup]\",\n        Root = _newRoot,\n      };\n      return _new;\n    }\n\n    #endregion API\n\n    #region Object\n\n    /// <summary>\n    /// Returns a <see cref=\"string\" /> that represents this instance.\n    /// </summary>\n    /// <returns>A <see cref=\"string\" /> that represents this instance.</returns>\n    public override string ToString()\n    {\n      return $\"{this.Root.NodeClass} : {this.DataSymbolicName}\";\n    }\n\n    #endregion Object\n  }\n}"
  },
  {
    "path": "Configuration/Networking/Serialization/FieldEncodingEnum.cs",
    "content": "﻿\nusing System;\nusing System.Runtime.Serialization;\n\nnamespace UAOOI.Configuration.Networking.Serialization\n{\n  /// <summary>\n  /// Enum FieldEncodingEnum - \n  /// </summary>\n  [DataContractAttribute(Name = \"FieldEncodingEnum\", Namespace = CommonDefinitions.Namespace)]\n  public enum FieldEncodingEnum : Byte\n  {\n\n    /// <summary>\n    /// The variant encoding - The DataSetFields are encoded as Variant. The Variant can contain a StatusCode instead of the expected DataType if the \n    /// status of the field is Bad. The Variant can contain a DataValue if the status of the field is Uncertain.\n    /// </summary>\n    [EnumMemberAttribute()]\n    VariantFieldEncoding = 0x0,\n    /// <summary>\n    /// The compressed field encoding - The DataSet fields are encoded using the data types defined in the configuration.\n    /// </summary>\n    [EnumMemberAttribute()]\n    CompressedFieldEncoding = 0x4,\n    /// <summary>\n    /// The data value field encoding - The DataSet fields are encoded as DataValue. This option is set if the DataSet is configured to send more than the Value.\n    /// </summary>\n    [EnumMemberAttribute()]\n    DataValueFieldEncoding = 0x8\n\n  }\n}\n"
  },
  {
    "path": "Configuration/Networking/Serialization/GoCS.cmd",
    "content": "﻿\nrem https://msdn.microsoft.com/en-us/library/aa347733(v=vs.110).aspx\nSvcutil ConfigurationData.xsd /N:http://commsvr.com/UAOOI/SemanticData/UANetworking/Configuration/Serialization.xsd,UAOOI.Configuration.Networking.Serialization /o:ConfigurationData.!.cs /dconly /s /serializer:DataContractSerializer /importXmlTypes\n"
  },
  {
    "path": "Configuration/Networking/Serialization/GoXSD.cmd",
    "content": "xsd.exe ..\\bin\\Debug\\UAOOI.Configuration.Networking.dll /t:UAOOI.Configuration.Networking.Serialization.ConfigurationData\nrem https://msdn.microsoft.com/en-us/library/aa347733(v=vs.110).aspx\nrem Svcutil ..\\bin\\Debug\\UAOOI.Configuration.Networking.dll /collectionType:UAOOI.Configuration.Networking.Serialization.ConfigurationData /N:http://commsvr.com/UAOOI/SemanticData/UANetworking/Configuration/Serialization.xsd,UAOOI.Configuration.Networking.Serialization /o:ConfigurationData.!.xsd /dconly /s /serializer:DataContractSerializer \nrem Svcutil ..\\bin\\Debug\\UAOOI.Configuration.Networking.dll /t:metadata /dconly /d:xsd"
  },
  {
    "path": "Configuration/Networking/Serialization/InstanceNodeClassesEnum.cs",
    "content": "﻿\nusing System.Runtime.Serialization;\n\nnamespace UAOOI.Configuration.Networking.Serialization\n{\n  /// <summary>\n  /// Enumeration of the node classes that can be a source of process data.\n  /// </summary>\n  [DataContractAttribute(Name = \"InstanceNodeClassesEnum\", Namespace = CommonDefinitions.Namespace)]\n  public enum InstanceNodeClassesEnum\n  {\n    /// <summary>\n    /// Object NodeClasses\n    /// </summary>\n    [EnumMemberAttribute()]\n    Object,\n    /// <summary>\n    /// Variable NodeClasses\n    /// </summary>\n    [EnumMemberAttribute()]\n    Variable,\n    /// <summary>\n    /// Method NodeClasses\n    /// </summary>\n    [EnumMemberAttribute()]\n    Method,\n    /// <summary>\n    /// View NodeClasses\n    /// </summary>\n    [EnumMemberAttribute()]\n    View,\n    /// <summary>\n    /// Not defined or nor relevant\n    /// </summary>\n    [EnumMemberAttribute()]\n    NotDefined\n\n  }\n}"
  },
  {
    "path": "Configuration/Networking/Serialization/MessageHandlerConfiguration.cs",
    "content": "﻿\nusing System;\n\nnamespace UAOOI.Configuration.Networking.Serialization\n{\n\n  /// <summary>\n  /// Class MessageTransportConfiguration - provide configuration for transport used to transfer messages over the wire.\n  /// </summary>\n  public abstract partial class MessageHandlerConfiguration : ICloneable\n  {\n\n    /// <summary>\n    /// Creates a new object that is a copy of the current instance.\n    /// </summary>\n    /// <returns>A new object that is a copy of this instance.</returns>\n    /// <exception cref=\"System.NotImplementedException\">It is intentionally not implemented.</exception>\n    public virtual object Clone()\n    {\n      throw new NotImplementedException();\n    }\n    /// <summary>\n    /// Check if this instance of <see cref=\"MessageHandlerConfiguration\"/> contains <paramref name=\"associationName\"/> on the list of associated data sets..\n    /// </summary>\n    /// <param name=\"associationName\">Name of the association.</param>\n    /// <returns><c>true</c> if XXXX, <c>false</c> otherwise.</returns>\n    public abstract bool Associated(string associationName);\n  }\n}\n"
  },
  {
    "path": "Configuration/Networking/Serialization/MessageReaderConfiguration.cs",
    "content": "﻿using System.Linq;\n\nnamespace UAOOI.Configuration.Networking.Serialization\n{\n  public partial class MessageReaderConfiguration\n  {\n    public override bool Associated(string associationName)\n    {\n      return this.ConsumerAssociationConfigurations.Where<ConsumerAssociationConfiguration>(x => x.AssociationName == associationName).Any<ConsumerAssociationConfiguration>();\n    }\n  }\n}\n"
  },
  {
    "path": "Configuration/Networking/Serialization/MessageWriterConfiguration.cs",
    "content": "﻿\nusing System.Linq;\n\nnamespace UAOOI.Configuration.Networking.Serialization\n{\n  public partial class MessageWriterConfiguration\n  {\n\n    public override bool Associated(string associationName)\n    {\n      return this.ProducerAssociationConfigurations.Where<ProducerAssociationConfiguration>(x => x.AssociationName == associationName).Any<ProducerAssociationConfiguration>();\n    }\n\n  }\n}\n"
  },
  {
    "path": "Configuration/Networking/Serialization/NodeDescriptor.cs",
    "content": "﻿\nusing System;\nusing System.ComponentModel;\nusing System.Runtime.Serialization;\nusing System.Xml;\n\nnamespace UAOOI.Configuration.Networking.Serialization\n{\n\n  [DataContractAttribute(Name = \"NodeDescriptor\", Namespace = CommonDefinitions.Namespace)]\n  [SerializableAttribute()]\n  public partial class NodeDescriptor\n  {\n\n    /// <summary>\n    /// Creates the wrapper of this instance.\n    /// </summary>\n    /// <returns>An instance of <see cref=\"NodeDescriptorWrapper\"/>.</returns>\n    internal IComparable CreateWrapper()\n    {\n      return new NodeDescriptorWrapper(this);\n    }\n\n    #region INodeDescriptor\n    /// <summary>\n    /// Gets or sets the binding description.\n    /// </summary>\n    /// <value>The binding description.</value>\n    [DataMemberAttribute(EmitDefaultValue = false, Order = 1)]\n    public string BindingDescription\n    {\n      get\n      {\n        return m_BindingDescriptionField;\n      }\n      set\n      {\n        m_BindingDescriptionField = value;\n      }\n    }\n    /// <summary>\n    /// Gets or sets the type of the data.\n    /// </summary>\n    /// <value>The type of the data.</value>\n    [DataMemberAttribute(EmitDefaultValue = false, Order = 2)]\n    public XmlQualifiedName DataType\n    {\n      get { return m_DataTypeField; }\n      set { m_DataTypeField = value; }\n    }\n    /// <summary>\n    /// Gets or sets a value indicating whether [instance declaration].\n    /// </summary>\n    /// <value><c>true</c> if [instance declaration]; otherwise, <c>false</c>.</value>\n    [DataMemberAttribute(EmitDefaultValue = false, Order = 3)]\n    public bool InstanceDeclaration\n    {\n      get { return m_InstanceDeclarationField; }\n      set { m_InstanceDeclarationField = value; }\n    }\n    /// <summary>\n    /// Gets or sets the node class.\n    /// </summary>\n    /// <value>The node class.</value>\n    [DataMemberAttribute(EmitDefaultValue = false, Order = 4)]\n    public InstanceNodeClassesEnum NodeClass\n    {\n      get { return m_NodeClassField; }\n      set { m_NodeClassField = value; }\n    }\n    /// <summary>\n    /// Gets or sets the node identifier.\n    /// </summary>\n    /// <value>The node identifier.</value>\n    [DataMemberAttribute(EmitDefaultValue = false, Order = 5)]\n    public XmlQualifiedName NodeIdentifier\n    {\n      get { return m_NodeIdentifierField; }\n      set { m_NodeIdentifierField = value; }\n    }\n    #endregion\n\n    #region private\n    /// <summary>\n    /// Class NodeDescriptorWrapper - read only wrapper of the node descriptor\n    /// </summary>\n    private class NodeDescriptorWrapper : IComparable\n    {\n      public NodeDescriptorWrapper(NodeDescriptor repository)\n      {\n        m_repository = repository;\n      }\n      /// <summary>\n      /// Gets or sets the binding description.\n      /// </summary>\n      /// <value>The binding description.</value>\n      public string BindingDescription\n      {\n        get\n        {\n          return m_repository.BindingDescription;\n        }\n      }\n      /// <summary>\n      /// Gets or sets the type of the data.\n      /// </summary>\n      /// <value>The type of the data.</value>\n      public XmlQualifiedName DataType\n      {\n        get\n        {\n          return m_repository.DataType;\n        }\n      }\n      public bool InstanceDeclaration\n      {\n        get\n        {\n          return m_repository.InstanceDeclaration;\n        }\n      }\n      public InstanceNodeClassesEnum NodeClass\n      {\n        get\n        {\n          return m_repository.NodeClass;\n        }\n      }\n      [DisplayName(\"Name\")]\n      [Description(\"The node unique identifier.\")]\n      [Category(\"Node\")]\n      [ReadOnly(true)]\n      public XmlQualifiedName NodeIdentifier\n      {\n        get\n        {\n          return m_repository.NodeIdentifier;\n        }\n      }\n      /// <summary>\n      /// Returns a <see cref=\"System.String\" /> that represents this instance.\n      /// </summary>\n      /// <returns>A <see cref=\"System.String\" /> that represents this instance.</returns>\n      public override string ToString()\n      {\n        return $\"{NodeClass}:{NodeIdentifier}\";\n      }\n\n      #region IComparable\n      /// <summary>\n      /// Compares the current instance with another object of the same type and returns an integer that indicates whether the current instance precedes, follows, or occurs in the same position in the sort order as the other object.\n      /// </summary>\n      /// <param name=\"obj\">An object to compare with this instance.</param>\n      /// <returns>A value that indicates the relative order of the objects being compared. The return value has these meanings: Value Meaning Less than zero This instance precedes <paramref name=\"obj\" /> in the sort order. Zero This instance occurs in the same position in the sort order as <paramref name=\"obj\" />. Greater than zero This instance follows <paramref name=\"obj\" /> in the sort order.</returns>\n      /// <exception cref=\"NotImplementedException\"></exception>\n      public int CompareTo(object obj)\n      {\n        return this.ToString().CompareTo(obj.ToString());\n      }\n      #endregion\n\n      private NodeDescriptor m_repository;\n\n    }\n    private string m_BindingDescriptionField;\n    private XmlQualifiedName m_DataTypeField;\n    private bool m_InstanceDeclarationField;\n    private InstanceNodeClassesEnum m_NodeClassField;\n    private XmlQualifiedName m_NodeIdentifierField;\n    #endregion\n\n  }\n}\n"
  },
  {
    "path": "Configuration/Networking/Serialization/TypeDictionary.cs",
    "content": "﻿\nusing System;\nusing System.ComponentModel;\nusing System.Runtime.Serialization;\nusing System.Xml;\nusing System.Xml.Serialization;\n\nnamespace UAOOI.Configuration.Networking.Serialization\n{\n\n  ///// <remarks/>\n  //[SerializableAttribute()]\n  //[XmlTypeAttribute(AnonymousType = true, Namespace = CommonDefinitions.Namespace)]\n  //[DataContractAttribute(Name = \"Documentation\", Namespace = CommonDefinitions.Namespace)]\n  //public partial class Documentation\n  //{\n\n  //  private XmlElement[] itemsField;\n\n  //  private string[] textField;\n\n  //  //private XmlAttribute[] anyAttrField;\n\n  //  /// <remarks/>\n  //  [XmlAnyElementAttribute()]\n  //  [DataMember]\n  //  public XmlElement[] Items\n  //  {\n  //    get\n  //    {\n  //      return this.itemsField;\n  //    }\n  //    set\n  //    {\n  //      this.itemsField = value;\n  //    }\n  //  }\n\n  //  /// <remarks/>\n  //  [XmlTextAttribute()]\n  //  [DataMember]\n  //  public string[] Text\n  //  {\n  //    get\n  //    {\n  //      return this.textField;\n  //    }\n  //    set\n  //    {\n  //      this.textField = value;\n  //    }\n  //  }\n  /// <remarks/>\n  [SerializableAttribute()]\n  [XmlTypeAttribute(Namespace = CommonDefinitions.Namespace)]\n  [DataContractAttribute(Name = \"LocalizedText\", Namespace = CommonDefinitions.Namespace)]\n  public partial class LocalizedText\n  {\n\n    private string localeField;\n\n    private string valueField;\n\n    public LocalizedText()\n    {\n      this.localeField = \"\";\n    }\n\n    /// <remarks/>\n    [XmlAttributeAttribute()]\n    [DefaultValueAttribute(\"\")]\n    [DataMember]\n    public string Locale\n    {\n      get\n      {\n        return this.localeField;\n      }\n      set\n      {\n        this.localeField = value;\n      }\n    }\n\n    /// <remarks/>\n    [XmlTextAttribute()]\n    [DataMember]\n    public string Value\n    {\n      get\n      {\n        return this.valueField;\n      }\n      set\n      {\n        this.valueField = value;\n      }\n    }\n  }\n\n  ///// <remarks/>\n  //[XmlAnyAttributeAttribute()]\n  //[DataMember]\n  //public XmlAttribute[] AnyAttr\n  //{\n  //  get\n  //  {\n  //    return this.anyAttrField;\n  //  }\n  //  set\n  //  {\n  //    this.anyAttrField = value;\n  //  }\n  //}\n\n  //}\n\n  /// <remarks/>\n  [SerializableAttribute()]\n  [XmlTypeAttribute(Namespace = CommonDefinitions.Namespace)]\n  [DataContractAttribute(Name = \"FieldType\", Namespace = CommonDefinitions.Namespace)]\n  public partial class FieldType\n  {\n\n    //private Documentation documentationField;\n\n    private string nameField;\n\n    private XmlQualifiedName typeNameField;\n\n    //private uint lengthField;\n\n    //private bool lengthFieldSpecified;\n\n    //private string lengthFieldField;\n\n    //private bool isLengthInBytesField;\n\n    private string switchFieldField;\n\n    private uint switchValueField;\n\n    private bool switchValueFieldSpecified;\n\n    private SwitchOperand switchOperandField;\n\n    private bool switchOperandFieldSpecified;\n\n    //private byte[] terminatorField;\n\n    //private XmlAttribute[] anyAttrField;\n\n    public FieldType()\n    {\n      //this.isLengthInBytesField = false;\n    }\n\n    ///// <remarks/>\n    //[DataMember]\n    //public Documentation Documentation\n    //{\n    //  get\n    //  {\n    //    return this.documentationField;\n    //  }\n    //  set\n    //  {\n    //    this.documentationField = value;\n    //  }\n    //}\n\n    /// <remarks/>\n    [XmlAttributeAttribute()]\n    [DataMember]\n    public string Name\n    {\n      get\n      {\n        return this.nameField;\n      }\n      set\n      {\n        this.nameField = value;\n      }\n    }\n\n    /// <remarks/>\n    [XmlAttributeAttribute()]\n    [DataMember]\n    public XmlQualifiedName TypeName\n    {\n      get\n      {\n        return this.typeNameField;\n      }\n      set\n      {\n        this.typeNameField = value;\n      }\n    }\n\n    ///// <remarks/>\n    //[XmlAttributeAttribute()]\n    //[DataMember]\n    //public uint Length\n    //{\n    //  get\n    //  {\n    //    return this.lengthField;\n    //  }\n    //  set\n    //  {\n    //    this.lengthField = value;\n    //  }\n    //}\n\n    ///// <remarks/>\n    //[XmlIgnoreAttribute()]\n    //[DataMember]\n    //public bool LengthSpecified\n    //{\n    //  get\n    //  {\n    //    return this.lengthFieldSpecified;\n    //  }\n    //  set\n    //  {\n    //    this.lengthFieldSpecified = value;\n    //  }\n    //}\n\n    ///// <remarks/>\n    //[XmlAttributeAttribute()]\n    //[DataMember]\n    //public string LengthField\n    //{\n    //  get\n    //  {\n    //    return this.lengthFieldField;\n    //  }\n    //  set\n    //  {\n    //    this.lengthFieldField = value;\n    //  }\n    //}\n\n    ///// <remarks/>\n    //[XmlAttributeAttribute()]\n    //[DefaultValueAttribute(false)]\n    //[DataMember]\n    //public bool IsLengthInBytes\n    //{\n    //  get\n    //  {\n    //    return this.isLengthInBytesField;\n    //  }\n    //  set\n    //  {\n    //    this.isLengthInBytesField = value;\n    //  }\n    //}\n\n    /// <remarks/>\n    [XmlAttributeAttribute()]\n    [DataMember]\n    public string SwitchField\n    {\n      get\n      {\n        return this.switchFieldField;\n      }\n      set\n      {\n        this.switchFieldField = value;\n      }\n    }\n\n    /// <remarks/>\n    [XmlAttributeAttribute()]\n    [DataMember]\n    public uint SwitchValue\n    {\n      get\n      {\n        return this.switchValueField;\n      }\n      set\n      {\n        this.switchValueField = value;\n      }\n    }\n\n    /// <remarks/>\n    [XmlIgnoreAttribute()]\n    [DataMember]\n    public bool SwitchValueSpecified\n    {\n      get\n      {\n        return this.switchValueFieldSpecified;\n      }\n      set\n      {\n        this.switchValueFieldSpecified = value;\n      }\n    }\n\n    /// <remarks/>\n    [XmlAttributeAttribute()]\n    [DataMember]\n    public SwitchOperand SwitchOperand\n    {\n      get\n      {\n        return this.switchOperandField;\n      }\n      set\n      {\n        this.switchOperandField = value;\n      }\n    }\n\n    /// <remarks/>\n    [XmlIgnoreAttribute()]\n    [DataMember]\n    public bool SwitchOperandSpecified\n    {\n      get\n      {\n        return this.switchOperandFieldSpecified;\n      }\n      set\n      {\n        this.switchOperandFieldSpecified = value;\n      }\n    }\n\n    ///// <remarks/>\n    //[XmlAttributeAttribute(DataType = \"hexBinary\")]\n    //[DataMember]\n    //public byte[] Terminator\n    //{\n    //  get\n    //  {\n    //    return this.terminatorField;\n    //  }\n    //  set\n    //  {\n    //    this.terminatorField = value;\n    //  }\n    //}\n\n    ///// <remarks/>\n    //[XmlAnyAttributeAttribute()]\n    //[DataMember]\n    //public XmlAttribute[] AnyAttr\n    //{\n    //  get\n    //  {\n    //    return this.anyAttrField;\n    //  }\n    //  set\n    //  {\n    //    this.anyAttrField = value;\n    //  }\n    //}\n  }\n\n  /// <remarks/>\n  [SerializableAttribute()]\n  [XmlTypeAttribute(Namespace = CommonDefinitions.Namespace)]\n  [DataContractAttribute(Name = \"SwitchOperand\", Namespace = CommonDefinitions.Namespace)]\n  public enum SwitchOperand\n  {\n\n    /// <remarks/>\n    [EnumMemberAttribute()]\n    Equals,\n\n    /// <remarks/>\n    [EnumMemberAttribute()]\n    GreaterThan,\n\n    /// <remarks/>\n    [EnumMemberAttribute()]\n    LessThan,\n\n    /// <remarks/>\n    [EnumMemberAttribute()]\n    GreaterThanOrEqual,\n\n    /// <remarks/>\n    [EnumMemberAttribute()]\n    LessThanOrEqual,\n\n    /// <remarks/>\n    [EnumMemberAttribute()]\n    NotEqual,\n\n  }\n\n  /// <remarks/>\n  [SerializableAttribute()]\n  [XmlTypeAttribute(Namespace = CommonDefinitions.Namespace)]\n  [DataContractAttribute(Name = \"EnumeratedValue\", Namespace = CommonDefinitions.Namespace)]\n  public partial class EnumeratedValue\n  {\n\n    private LocalizedText[] documentationField;\n    private string nameField;\n    private int valueField;\n    //private bool valueFieldSpecified;\n\n    /// <remarks/>\n    [DataMember]\n    public LocalizedText[] Documentation\n    {\n      get\n      {\n        return this.documentationField;\n      }\n      set\n      {\n        this.documentationField = value;\n      }\n    }\n    /// <remarks/>\n    [XmlAttributeAttribute()]\n    [DataMember]\n    public string Name\n    {\n      get\n      {\n        return this.nameField;\n      }\n      set\n      {\n        this.nameField = value;\n      }\n    }\n\n    /// <summary>\n    /// Gets or sets the value associated with the field.\n    /// </summary>\n    /// <value>The value associated with the field.</value>\n    [XmlAttributeAttribute()]\n    [DataMember]\n    public int Value\n    {\n      get\n      {\n        return this.valueField;\n      }\n      set\n      {\n        this.valueField = value;\n      }\n    }\n\n    ///// <remarks/>\n    //[XmlIgnoreAttribute()]\n    //[DataMember]\n    //public bool ValueSpecified\n    //{\n    //  get\n    //  {\n    //    return this.valueFieldSpecified;\n    //  }\n    //  set\n    //  {\n    //    this.valueFieldSpecified = value;\n    //  }\n    //}\n  }\n\n  /// <remarks/>\n  [XmlIncludeAttribute(typeof(StructuredType))]\n  //[XmlIncludeAttribute(typeof(OpaqueType))]\n  [XmlIncludeAttribute(typeof(EnumeratedType))]\n  [KnownType(typeof(StructuredType))]\n  //[KnownType(typeof(OpaqueType))]\n  [KnownType(typeof(EnumeratedType))]\n  [SerializableAttribute()]\n  [XmlTypeAttribute(Namespace = CommonDefinitions.Namespace)]\n  [DataContractAttribute(Name = \"TypeDescription\", Namespace = CommonDefinitions.Namespace)]\n  public partial class TypeDescription\n  {\n\n    //private Documentation documentationField;\n\n    private string nameField;\n\n    //private ByteOrder defaultByteOrderField;\n\n    //private bool defaultByteOrderFieldSpecified;\n\n    //private XmlAttribute[] anyAttrField;\n\n    ///// <remarks/>\n    //[DataMember]\n    //public Documentation Documentation\n    //{\n    //  get\n    //  {\n    //    return this.documentationField;\n    //  }\n    //  set\n    //  {\n    //    this.documentationField = value;\n    //  }\n    //}\n\n    /// <remarks/>\n    [XmlAttributeAttribute(DataType = \"NCName\")]\n    [DataMember]\n    public string Name\n    {\n      get\n      {\n        return this.nameField;\n      }\n      set\n      {\n        this.nameField = value;\n      }\n    }\n\n    ///// <remarks/>\n    //[XmlAttributeAttribute()]\n    //[DataMember]\n    //public ByteOrder DefaultByteOrder\n    //{\n    //  get\n    //  {\n    //    return this.defaultByteOrderField;\n    //  }\n    //  set\n    //  {\n    //    this.defaultByteOrderField = value;\n    //  }\n    //}\n\n    ///// <remarks/>\n    //[XmlIgnoreAttribute()]\n    //[DataMember]\n    //public bool DefaultByteOrderSpecified\n    //{\n    //  get\n    //  {\n    //    return this.defaultByteOrderFieldSpecified;\n    //  }\n    //  set\n    //  {\n    //    this.defaultByteOrderFieldSpecified = value;\n    //  }\n    //}\n\n    ///// <remarks/>\n    //[XmlAnyAttributeAttribute()]\n    //[DataMember]\n    //public XmlAttribute[] AnyAttr\n    //{\n    //  get\n    //  {\n    //    return this.anyAttrField;\n    //  }\n    //  set\n    //  {\n    //    this.anyAttrField = value;\n    //  }\n    //}\n  }\n\n  ///// <remarks/>\n  //[SerializableAttribute()]\n  //[XmlTypeAttribute(Namespace = CommonDefinitions.Namespace)]\n  //[DataContractAttribute(Name = \"ByteOrder\", Namespace = CommonDefinitions.Namespace)]\n  //public enum ByteOrder\n  //{\n\n  //  /// <remarks/>\n  //  [EnumMemberAttribute()]\n  //  BigEndian,\n\n  //  /// <remarks/>\n  //  [EnumMemberAttribute()]\n  //  LittleEndian,\n  //}\n\n  /// <remarks/>\n  [SerializableAttribute()]\n  [XmlTypeAttribute(Namespace = CommonDefinitions.Namespace)]\n  [DataContractAttribute(Name = \"StructuredType\", Namespace = CommonDefinitions.Namespace)]\n  public partial class StructuredType : TypeDescription\n  {\n\n    private FieldType[] fieldField;\n    private StructureKindEnum StructureKindField;\n\n    /// <remarks/>\n    [XmlElementAttribute(\"Field\")]\n    [DataMember]\n    public FieldType[] Field\n    {\n      get\n      {\n        return this.fieldField;\n      }\n      set\n      {\n        this.fieldField = value;\n      }\n    }\n\n    /// <exclude />\n    [XmlElementAttribute(\"StructureKind\")]\n    [DataMember(EmitDefaultValue = true, IsRequired = true)]\n    public StructureKindEnum StructureKind\n    {\n      get { return StructureKindField; }\n      set { StructureKindField = value; }\n    }\n\n  }\n  /// <summary>\n  /// Enum StructureKindEnum - An enumeration that specifies the structure kind.\n  /// </summary>\n  [SerializableAttribute()]\n  [XmlTypeAttribute(Namespace = CommonDefinitions.Namespace)]\n  [DataContractAttribute(Name = \"StructureKindEnum\", Namespace = CommonDefinitions.Namespace)]\n  public enum StructureKindEnum\n  {\n    /// <summary>\n    /// A regular structure without optional fields.\n    /// </summary>\n    [EnumMemberAttribute()]\n    Structure,\n    /// <summary>\n    /// The structure with optional fields.\n    /// </summary>\n    [EnumMemberAttribute()]\n    StructureWithOptionalFields,\n    /// <summary>\n    /// The union - one of the fields defined is encoded into a value.\n    /// </summary>\n    [EnumMemberAttribute()]\n    Union\n  }\n  ///// <remarks/>\n  //[XmlIncludeAttribute(typeof(EnumeratedType))]\n  //[SerializableAttribute()]\n  //[XmlTypeAttribute(Namespace = CommonDefinitions.Namespace)]\n  //[DataContractAttribute(Name = \"OpaqueType\", Namespace = CommonDefinitions.Namespace)]\n  //public partial class OpaqueType : TypeDescription\n  //{\n\n  //  private int lengthInBitsField;\n\n  //  private bool lengthInBitsFieldSpecified;\n\n  //  private bool byteOrderSignificantField;\n\n  //  public OpaqueType()\n  //  {\n  //    this.byteOrderSignificantField = false;\n  //  }\n\n  //  /// <remarks/>\n  //  [XmlAttributeAttribute()]\n  //  [DataMember]\n  //  public int LengthInBits\n  //  {\n  //    get\n  //    {\n  //      return this.lengthInBitsField;\n  //    }\n  //    set\n  //    {\n  //      this.lengthInBitsField = value;\n  //    }\n  //  }\n\n  //  /// <remarks/>\n  //  [XmlIgnoreAttribute()]\n  //  [DataMember]\n  //  public bool LengthInBitsSpecified\n  //  {\n  //    get\n  //    {\n  //      return this.lengthInBitsFieldSpecified;\n  //    }\n  //    set\n  //    {\n  //      this.lengthInBitsFieldSpecified = value;\n  //    }\n  //  }\n\n  //  /// <remarks/>\n  //  [XmlAttributeAttribute()]\n  //  [DefaultValueAttribute(false)]\n  //  [DataMember]\n  //  public bool ByteOrderSignificant\n  //  {\n  //    get\n  //    {\n  //      return this.byteOrderSignificantField;\n  //    }\n  //    set\n  //    {\n  //      this.byteOrderSignificantField = value;\n  //    }\n  //  }\n  //}\n\n  /// <remarks/>\n  [SerializableAttribute()]\n  [XmlTypeAttribute(Namespace = CommonDefinitions.Namespace)]\n  [DataContractAttribute(Name = \"EnumeratedType\", Namespace = CommonDefinitions.Namespace)]\n  public partial class EnumeratedType : TypeDescription\n  {\n\n    private EnumeratedValue[] enumeratedValueField;\n\n    /// <remarks/>\n    [XmlElementAttribute(\"EnumeratedValues\")]\n    [DataMember]\n    public EnumeratedValue[] EnumeratedValues\n    {\n      get\n      {\n        return this.enumeratedValueField;\n      }\n      set\n      {\n        this.enumeratedValueField = value;\n      }\n    }\n\n  }\n\n  ///// <remarks/>\n  //[SerializableAttribute()]\n  //[XmlTypeAttribute(Namespace = CommonDefinitions.Namespace)]\n  //[DataContractAttribute(Name = \"ImportDirective\", Namespace = CommonDefinitions.Namespace)]\n  //public partial class ImportDirective\n  //{\n\n  //  private string namespaceField;\n\n  //  private string locationField;\n\n  //  /// <remarks/>\n  //  [XmlAttributeAttribute()]\n  //  public string Namespace\n  //  {\n  //    get\n  //    {\n  //      return this.namespaceField;\n  //    }\n  //    set\n  //    {\n  //      this.namespaceField = value;\n  //    }\n  //  }\n\n  //  /// <remarks/>\n  //  [XmlAttributeAttribute()]\n  //  public string Location\n  //  {\n  //    get\n  //    {\n  //      return this.locationField;\n  //    }\n  //    set\n  //    {\n  //      this.locationField = value;\n  //    }\n  //  }\n  //}\n\n  /// <remarks/>\n  [SerializableAttribute()]\n  [XmlTypeAttribute(AnonymousType = true, Namespace = CommonDefinitions.Namespace)]\n  [XmlRootAttribute(Namespace = CommonDefinitions.Namespace, IsNullable = false)]\n  [DataContractAttribute(Name = \"TypeDictionary\", Namespace = CommonDefinitions.Namespace)]\n  public partial class TypeDictionary\n  {\n\n    //private Documentation documentationField;\n\n    //private ImportDirective[] importField;\n\n    private TypeDescription[] itemsField;\n\n    private string targetNamespaceField;\n\n    //private ByteOrder defaultByteOrderField;\n\n    //private bool defaultByteOrderFieldSpecified;\n\n    //private XmlAttribute[] anyAttrField;\n\n    ///// <remarks/>\n    //public Documentation Documentation\n    //{\n    //  get\n    //  {\n    //    return this.documentationField;\n    //  }\n    //  set\n    //  {\n    //    this.documentationField = value;\n    //  }\n    //}\n\n    ///// <remarks/>\n    //[XmlElementAttribute(\"Import\")]\n    //[DataMember]\n    //public ImportDirective[] Import\n    //{\n    //  get\n    //  {\n    //    return this.importField;\n    //  }\n    //  set\n    //  {\n    //    this.importField = value;\n    //  }\n    //}\n\n    /// <remarks/>\n    //[XmlElementAttribute(\"EnumeratedType\", typeof(EnumeratedType))]\n    //[XmlElementAttribute(\"OpaqueType\", typeof(OpaqueType))]\n    [XmlElementAttribute(\"StructuredType\", typeof(StructuredType))]\n    [DataMember]\n    public TypeDescription[] Items\n    {\n      get\n      {\n        return this.itemsField;\n      }\n      set\n      {\n        this.itemsField = value;\n      }\n    }\n\n    /// <remarks/>\n    [XmlAttributeAttribute()]\n    [DataMember]\n    public string TargetNamespace\n    {\n      get\n      {\n        return this.targetNamespaceField;\n      }\n      set\n      {\n        this.targetNamespaceField = value;\n      }\n    }\n\n    ///// <remarks/>\n    //[XmlAttributeAttribute()]\n    //[DataMember (EmitDefaultValue = false, IsRequired = false )]\n    //public ByteOrder DefaultByteOrder\n    //{\n    //  get\n    //  {\n    //    return this.defaultByteOrderField;\n    //  }\n    //  set\n    //  {\n    //    this.defaultByteOrderField = value;\n    //  }\n    //}\n\n    ///// <remarks/>\n    //[XmlIgnoreAttribute()]\n    //public bool DefaultByteOrderSpecified\n    //{\n    //  get\n    //  {\n    //    return this.defaultByteOrderFieldSpecified;\n    //  }\n    //  set\n    //  {\n    //    this.defaultByteOrderFieldSpecified = value;\n    //  }\n    //}\n\n    ///// <remarks/>\n    //[XmlAnyAttributeAttribute()]\n    //[DataMember]\n    //public XmlAttribute[] AnyAttr\n    //{\n    //  get\n    //  {\n    //    return this.anyAttrField;\n    //  }\n    //  set\n    //  {\n    //    this.anyAttrField = value;\n    //  }\n    //}\n\n  }\n}\n"
  },
  {
    "path": "Configuration/Networking/Serialization/UATypeInfo.cs",
    "content": "﻿//___________________________________________________________________________________\n//\n//  Copyright (C) 2018, Mariusz Postol LODZ POLAND.\n//\n//  To be in touch join the community at GITTER: https://gitter.im/mpostol/OPC-UA-OOI\n//___________________________________________________________________________________\n\nusing System;\nusing System.Runtime.Serialization;\nusing System.Xml;\n\nnamespace UAOOI.Configuration.Networking.Serialization\n{\n  /// <summary>\n  /// Class UATypeInfo - stores information about an OPC UA Type.\n  /// </summary>\n  [DataContractAttribute(Name = \"UATypeInfo\", Namespace = CommonDefinitions.Namespace)]\n  [SerializableAttribute()]\n  public class UATypeInfo\n  {\n\n    #region constructor\n    /// <summary>\n    /// Initializes a new instance of the <see cref=\"UATypeInfo\"/> class representing an unknown type.\n    /// </summary>\n    [Obsolete(\"Shall be used only by the serializer\")]\n    public UATypeInfo()\n    {\n      m_builtInType = BuiltInType.Null;\n      m_valueRank = ValueRanks.Any;\n    }\n    /// <summary>\n    /// Initializes a new instance of the <see cref=\"UATypeInfo\"/> class representing <see cref=\"BuiltInType\"/> and value rank.\n    /// </summary>\n    /// <param name=\"builtInType\">Type of the an OPC UA entity.</param>\n    public UATypeInfo(BuiltInType builtInType) : this(builtInType, ValueRanks.Scalar) { }\n    /// <summary>\n    /// Initializes a new instance of the <see cref=\"UATypeInfo\"/> class representing <see cref=\"BuiltInType\"/> and value rank.\n    /// </summary>\n    /// <param name=\"builtInType\">Type of the an OPC UA entity.</param>\n    /// <param name=\"valueRank\">The value rank.</param>\n    public UATypeInfo(BuiltInType builtInType, int valueRank) : this(builtInType, valueRank, null) { }\n    /// <summary>\n    /// Initializes a new instance of the <see cref=\"UATypeInfo\"/> class.\n    /// </summary>\n    /// <param name=\"builtInType\">Type of the built in.</param>\n    /// <param name=\"valueRank\">The value rank.</param>\n    /// <param name=\"arrayDimensions\">The array dimensions.</param>\n    /// <exception cref=\"System.ArgumentOutOfRangeException\">$for {nameof(valueRank)} == {valueRank} {nameof(ArrayDimensions)} must be provided.</exception>\n    public UATypeInfo(BuiltInType builtInType, int valueRank, int[] arrayDimensions)\n    {\n      if ((valueRank == 0 || valueRank > 1) && (arrayDimensions == null || arrayDimensions.Length == 0))\n        throw new ArgumentOutOfRangeException(nameof(valueRank), $\"for {nameof(valueRank)} == {valueRank} {nameof(ArrayDimensions)} must be provided.\");\n      m_builtInType = builtInType;\n      m_valueRank = valueRank;\n      m_ArrayDimensionsField = (arrayDimensions == null || arrayDimensions.Length == 0) ? null : (int[])arrayDimensions.Clone();\n    }\n    #endregion\n\n    #region properties\n    /// <summary>\n    /// The built-in type.\n    /// </summary>\n    /// <value>The type of any value represented by this instance.</value>\n    [DataMemberAttribute(EmitDefaultValue = true, IsRequired = true)]\n    public BuiltInType BuiltInType\n    {\n      get { return m_builtInType; }\n      set { m_builtInType = value; }\n    }\n    /// <summary>\n    /// Gets or sets the array range. Indicates whether the dataType is an array and how many dimensions the array has.\n    /// It may have the following values:\n    /// n > 1: the dataType is an array with the specified number of dimensions.\n    /// OneDimension(1): The dataType is an array with one dimension.\n    /// OneOrMoreDimensions (0): The dataType is an array with one or more dimensions.\n    /// Scalar (−1): The dataType is not an array.\n    /// Any (−2): The dataType can be a scalar or an array with any number of dimensions.\n    /// ScalarOrOneDimension(−3): The dataType can be a scalar or a one dimensional array.\n    /// </summary>\n    /// <remarks>\n    /// <note>\n    /// NOTE All DataTypes are considered to be scalar, even if they have array-like semantics like ByteString and String.\n    /// </note>\n    /// </remarks>\n    /// <value>The array dimensions.</value>\n    [DataMemberAttribute(IsRequired = true)]\n    public int ValueRank\n    {\n      get { return m_valueRank; }\n      set { m_valueRank = value; }\n    }\n    /// <summary>\n    /// Gets or sets the array dimensions - Specifies the length of each dimension for an array dataType. \n    /// It is intended to describe the capability of the dataType, not the current size.\n    /// The number of elements shall be equal to the value of the valueRank.Shall be null if valueRank ≤ 0.\n    /// A value of 0 for an individual dimension indicates that the dimension has a variable length.\n    /// </summary>\n    /// <value>The array dimensions.</value>\n    [DataMemberAttribute(EmitDefaultValue = false)]\n    public int[] ArrayDimensions\n    {\n      get { return m_ArrayDimensionsField; }\n      set { m_ArrayDimensionsField = value; }\n    }\n    /// <summary>\n    /// Gets or sets the name of the type.\n    /// </summary>\n    /// <value>The instance of <see cref=\"XmlQualifiedName\"/> representing globally unique name of the type.</value>\n    [DataMemberAttribute(EmitDefaultValue = true, IsRequired = false)]\n    public XmlQualifiedName TypeName\n    {\n      get { return TypeNameField; }\n      set { TypeNameField = value; }\n    }\n    #endregion\n\n    #region private\n    private BuiltInType m_builtInType;\n    private int m_valueRank;\n    private int[] m_ArrayDimensionsField;\n    private System.Xml.XmlQualifiedName TypeNameField;\n    #endregion\n\n  }\n}\n"
  },
  {
    "path": "Configuration/Networking/Serialization/ValueRanks.cs",
    "content": "﻿\nusing System.Collections.Generic;\n\nnamespace UAOOI.Configuration.Networking.Serialization\n{\n\n  /// <summary>\n  /// Class ValueRanks provides definition of constants defined for the ValueRank attribute.\n  /// </summary>\n  public static class ValueRanks\n  {\n\n    /// <summary>\n    /// The variable may be a scalar or a one dimensional array.\n    /// </summary>\n    public const int ScalarOrOneDimension = -3;\n    /// <summary>\n    /// The variable may be a scalar or an array of any dimension.\n    /// </summary>\n    public const int Any = -2;\n    /// <summary>\n    /// The variable is always a scalar.\n    /// </summary>\n    public const int Scalar = -1;\n    /// <summary>\n    /// The variable is always an array with one or more dimensions.\n    /// </summary>\n    public const int OneOrMoreDimensions = 0;\n    /// <summary>\n    /// The variable is always one dimensional array.\n    /// </summary>\n    public const int OneDimension = 1;\n    /// <summary>\n    /// The variable is always an array with two or more dimensions.\n    /// </summary>\n    public const int TwoDimensions = 2;\n    /// <summary>\n    /// Checks if the actual value rank is compatible with the expected value rank.\n    /// </summary>\n    /// <param name=\"actualValueRank\">The actual value rank.</param>\n    /// <param name=\"expectedValueRank\">The expected value rank.</param>\n    /// <returns><c>true</c> if the specified actual value rank is valid; otherwise, <c>false</c>.</returns>\n    public static bool IsValid(int actualValueRank, int expectedValueRank)\n    {\n      if (actualValueRank == expectedValueRank)\n        return true;\n      switch (expectedValueRank)\n      {\n        case Any:\n          return true;\n        case OneOrMoreDimensions:\n          if (actualValueRank < 0)\n            return false;\n          break;\n        case ScalarOrOneDimension:\n          if (actualValueRank != Scalar && actualValueRank != OneDimension)\n            return false;\n          break;\n        default:\n          return false;\n      }\n      return true;\n    }\n    /// <summary>\n    /// Checks if the actual array dimensions is compatible with the expected value rank and array dimensions.\n    /// </summary>\n    /// <param name=\"actualArrayDimensions\">The actual array dimensions.</param>\n    /// <param name=\"valueRank\">The value rank.</param>\n    /// <param name=\"expectedArrayDimensions\">The expected array dimensions.</param>\n    /// <returns><c>true</c> if the specified actual array dimensions is valid; otherwise, <c>false</c>.</returns>\n    public static bool IsValid(IList<uint> actualArrayDimensions, int valueRank, IList<uint> expectedArrayDimensions)\n    {\n      // check if parameter omitted.\n      if (actualArrayDimensions == null || actualArrayDimensions.Count == 0)\n        return expectedArrayDimensions == null || expectedArrayDimensions.Count == 0;\n      // no array dimensions allowed for scalars.\n      if (valueRank == ValueRanks.Scalar)\n        return false;\n      // check if one dimension required.\n      if ((valueRank == ValueRanks.OneDimension || valueRank == ValueRanks.ScalarOrOneDimension) && (actualArrayDimensions.Count != 1))\n        return false;\n      // check number of dimensions.\n      if ((valueRank != ValueRanks.OneOrMoreDimensions) && (actualArrayDimensions.Count != valueRank))\n        return false;\n      // nothing more to do if expected dimensions omitted.\n      if (expectedArrayDimensions == null || expectedArrayDimensions.Count == 0)\n        return true;\n      // check dimensions.\n      if (expectedArrayDimensions.Count != actualArrayDimensions.Count)\n        return false;\n      // check length of each dimension.\n      for (int ii = 0; ii < expectedArrayDimensions.Count; ii++)\n        if (expectedArrayDimensions[ii] != actualArrayDimensions[ii] && expectedArrayDimensions[ii] != 0)\n          return false;\n      // everything ok.\n      return true;\n    }\n\n  }\n\n}\n"
  },
  {
    "path": "Configuration/Networking/Serialization/svcutil.hlp",
    "content": "Microsoft (R) Service Model Metadata Tool\n[Microsoft (R) Windows (R) Communication Foundation, Version 4.6.81.0]\nCopyright (c) Microsoft Corporation.  All rights reserved.\n\nUSES:\n\n - Generate code from running services or static metadata documents. \n - Export metadata documents from compiled code.\n - Validate compiled service code.\n - Download metadata documents from running services.\n - Pre-generate serialization code.\n\n\n               -= COMMON OPTIONS =-\n\nOptions:\n\n /target:<output type>       - The target output for the tool: code, metadata or xmlSerializer.\n /directory:<directory>      - Directory to create files in (default: current directory) (Short Form: /d)\n\n /svcutilConfig:<configFile> - Custom configuration file to use in place of the app config file. This can be used to register system.serviceModel extensions without altering the tool's config file.\n /noLogo                     - Suppress the copyright and banner message.\n /help                       - Display command syntax and options for the tool. (Short Form: /?)\n\n\n\n               -= CODE GENERATION =-\n\nDescription: svcutil.exe can generate code for service contracts, clients and data types from metadata documents. These metadata documents can be on disk or retrieved online. Online retrieval follows either the WS-Metadata Exchange protocol or the DISCO protocol.\n\nSyntax: svcutil.exe [/t:code]  <metadataDocumentPath>* | <url>* | <epr>\n\n <metadataDocumentPath> - The path to a metadata document (wsdl or xsd). Standard command-line wildcards can be used in the file path.\n <url>                  - The URL to a service endpoint that provides metadata or to a metadata document hosted online. For more information on how these documents are retrieved see the Metadata Download section.\n <epr>                  - The path to an XML file that contains a WS-Addressing EndpointReference for a service endpoint that supports WS-Metadata Exchange. For more information see the Metadata Download section.\n\nOptions:\n\n /out:<file>                        - The filename for the generated code. Default: derived from the WSDL definition name, WSDL service name or targetNamespace of one of the schemas. (Short Form: /o)\n /config:<configFile>               - The filename for the generated config file. Default: output.config\n /mergeConfig                       - Merge the generated config into an existing file instead of overwriting the existing file.\t\n /noConfig                          - Do not generate config\n /dataContractOnly                  - Generate code for Data Contract types only. Service Contract types will not be generated. (Short Form: /dconly)\n\n /language:<language>               - The programming language to use for generating code. Provide either a language name registered in the machine.config file or provide the fully-qualified name of a class that inherits from System.CodeDom.Compiler.CodeDomProvider. Examples of language names to use are CS and VB. Default: C#. (Short Form: /l)\n /namespace:<string,string>         - A mapping from a WSDL or XML Schema targetNamespace to a CLR namespace. Using the '*' for the targetNamespace maps all targetNamespaces without an explicit mapping to that CLR namespace. Default: derived from the target namespace of the schema document for Data Contracts. The default namespace is used for all other generated types. (Short Form: /n)\n\n /messageContract                   - Generate Message Contract types. (Short Form: /mc)\n /enableDataBinding                 - Implement the System.ComponentModel.INotifyPropertyChanged interface on all Data Contract types to enable data binding. (Short Form: /edb)\n /serializable                      - Generate classes marked with the Serializable Attribute. (Short Form: /s)\n /async                             - Generate both synchronous and begin/end asynchronous method signatures. Default: generate synchronous and task-based asynchronous method signatures. (Short Form: /a)\n /internal                          - Generate classes that are marked as internal. Default: generate public classes. (Short Form: /i)\n\n /reference:<file path>             - Reference types in the specified assembly. When generating clients, use this option to specify assemblies that might contain types representing the metadata being imported.  (Short Form: /r)\n /collectionType:<type>             - A fully-qualified or assembly-qualified name of the type to use as a collection data type when code is generated from schemas. (Short Form: /ct)\n /excludeType:<type>                - A fully-qualified or assembly-qualified type name to exclude from referenced contract types. (Short Form: /et)\n /noStdLib                          - Do not reference standard libraries. By default mscorlib.dll and system.servicemodel.dll are referenced.\n\n /serializer:Auto                   - Automatically select the serializer. This tries to use the Data Contract serializer and uses the XmlSerializer if that fails. (Short Form: /ser)\n /serializer:DataContractSerializer - Generate data types that use the Data Contract Serializer for serialization and deserialization\n /serializer:XmlSerializer          - Generate data types that use the XmlSerializer for serialization and deserialization\n /importXmlTypes                    - Configure the Data Contract serializer to import non-Data Contract types as IXmlSerializable types.\n /useSerializerForFaults            - This option specifies whether the serializer specified in the 'serializer' switch is used for fault contract types. DataContractSerializer is used for faults if this switch is not specified. (Short Form: /fault)\n\n /targetClientVersion:Version30     - Generate code that references functionality in .NET Framework assemblies 3.0 and before. Use this switch if you are generating code for clients that use .NET Framework version 3.0.(Short Form: /tcv)\n /targetClientVersion:Version35     - Generate code that references functionality in .NET Framework assemblies 3.5 and before. Use this switch if you are generating code for clients that use .NET Framework version 3.5.(Short Form: /tcv)\n /wrapped                           - Generated code will not unwrap \"parameters\" member of document-wrapped-literal messages.\n /serviceContract                   - Generate code for Service Contracts. Client class and configuration will not be generated. (Short Form: /sc)\n /syncOnly                          - Generate only synchronous method signature. Default: generate synchronous and task-based asynchronous method signatures.\n\n\n\n               -= METADATA EXPORT =-\n\nDescription: svcutil.exe can export metadata for services, contracts and data types in compiled assemblies. To export metadata for a service, you must use the /serviceName option to indicate the service you would like to export. To export all Data Contract types within an assembly use the /dataContractOnly option. By default metadata is exported for all Service Contracts in the input assemblies.\n\nSyntax: svcutil.exe [/t:metadata] [/serviceName:<serviceConfigName>] [/dataContractOnly] <assemblyPath>*\n\n <assemblyPath> - The path to an assembly that contains services, contracts or Data Contract types to be exported. Standard command-line wildcards can be used to provide multiple files as input.\n\nOptions:\n\n /serviceName:<serviceConfigName> - The config name of a service to export. If this option is used, an executable assembly with an associated config file must be passed as input. Svcutil will search through all associated config files for the service configuration. If the config files contain any extension types, the assemblies containing these types must either be in the GAC or explicitly provided using the /r option.\n /reference:<file path>           - Add the specified assembly to the set of assemblies used for resolving type references. If you are exporting or validating a service that uses 3rd-party extensions (Behaviors, Bindings and BindingElements) registered in config use this option to locate extension assemblies that are not in the GAC.  (Short Form: /r)\n /dataContractOnly                - Operate on Data Contract types only. Service Contracts will not be processed. (Short Form: /dconly)\n /excludeType:<type>              - The fully-qualified or assembly-qualified name of a type to exclude from export. This option can be used when exporting metadata for a service or a set of service contracts to exclude types from being exported. This option cannot be used with the /dconly option. (Short Form: /et)\n\n\n\n             -= SERVICE VALIDATION =-\n\nDescription: Validation is useful to detect errors in service implementations without hosting the service. You must use the /serviceName option to indicate the service you would like to validate.\n\nSyntax: svcutil.exe /validate /serviceName:<serviceConfigName>  <assemblyPath>*\n\n <assemblyPath> - The path to an assembly containing service types to be validated. The assembly must have an associated config file to provide service configuration. Standard command-line wildcards can be used to provide multiple assemblies.\n\nOptions:\n\n /validate                        - Validate a service implementation. To validate a service, you must use the /serviceName option to indicate the service you would like to validate. If this option is used, an executable assembly with an associated config file must be passed as input. (Short Form: /v)\n /serviceName:<serviceConfigName> - The config name of a service to validate. To validate a service this option must be provided. Svcutil will search through the associated config files of all input assemblies for the service configuration. If the associated configuration file contain any extension types, the assemblies containing these types must either be in the GAC or explicitly provided using the /r option.\n /reference:<file path>           - Add the specified assembly to the set of assemblies used for resolving type references. If you are exporting or validating a service that uses 3rd-party extensions (Behaviors, Bindings and BindingElements) registered in config use this option to locate extension assemblies that are not in the GAC.  (Short Form: /r)\n /dataContractOnly                - Operate on Data Contract types only. Service Contracts will not be processed. (Short Form: /dconly)\n /excludeType:<type>              - The fully-qualified or assembly-qualified name of a service type to exclude from validation. (Short Form: /et)\n\n\n\n              -= METADATA DOWNLOAD =-\n\nDescription: svcutil.exe can be used to download metadata from running services and save the metadata to local files. To download metadata, you must explicitly specify the /t:metadata option. Otherwise, client code will be generated. For http and https URL schemes svcutil.exe will try to retrieve metadata using WS-Metadata Exchange and DISCO. For all other URL schemes svcutil.exe will only try WS-Metadata Exchange. By default, svcutil.exe uses the bindings defined in the System.ServiceModel.Description.MetadataExchangeBindings class. To configure the binding used for WS-Metadata Exchange you must define a client endpoint in config that uses the IMetadataExchange contract. This can be defined either in svcutil.exe's config file or in another config file specified using the /svcutilConfig option.\n\nSyntax: svcutil.exe /t:metadata  <url>* | <epr>\n\n <url> - The URL to a service endpoint that provides metadata or an URL that points to a metadata document hosted online. \n <epr> - The path to an XML file that contains a WS-Addressing EndpointReference for a service endpoint that supports WS-Metadata Exchange.\n\n\n\n        -= XMLSERIALIZER TYPE GENERATION =-\n\nDescription: svcutil.exe can pre-generate C# serialization code that is required for types that can be serialized using the XmlSerializer. svcutil.exe will only generate code for types used by Service Contracts found in the input assemblies.\n\nSyntax: svcutil.exe /t:xmlSerializer  <assemblyPath>*\n\n <assemblyPath> - The path to an assembly containing Service Contract types. Serialization types will be generated for all Xml Serializable types in each contract\n\nOptions:\n\n /reference:<file path> - Add the specified assembly to the set of assemblies used for resolving type references. (Short Form: /r)\n /excludeType:<type>    - Fully-qualified or assembly-qualified type name to exclude from export or validation. This option can be used when exporting metadata for a service or a set of service contracts to exclude types from being exported. This option cannot be used with the /dataContractOnly option. (Short Form: /et)\n /out:<file>            - Filename for the generated code. This option will be ignored when multiple assemblies are passed as input to the tool. Default: derived from the assembly name. (Short Form: /o)\n\n\n\n                  -= EXAMPLES =-\n\n svcutil http://service/metadataEndpoint\n    - Generate client code from a running service or online metadata documents.\n\n svcutil *.wsdl *.xsd /language:C#\n    - Generate client code from local metadata documents.\n\n svcutil /dconly *.xsd /language:VB\n    - Generate Data Contract types in VisualBasic from local schema documents.\n\n svcutil /t:metadata http://service/metadataEndpoint\n    - Download metadata documents from running services\n\n svcutil myAssembly.dll\n    - Generate metadata documents for Service Contracts and associated types in an assembly\n\n svcutil myServiceHost.exe /serviceName:myServiceName \n    - Generate metadata documents for a service, and all associated Service Contracts and data types in an assembly\n\n svcutil myServiceHost.exe /dconly \n    - Generate metadata documents for data types in an assembly\n\n svcutil /validate /serviceName:myServiceName myServiceHost.exe\n    - Verify service hosting\n\n svcutil /t:xmlserializer myContractLibrary.exe\n    - Generate serialization types for XmlSerializer types used by any Service Contracts in the assembly\n\n\n\n"
  },
  {
    "path": "Configuration/Networking/Serialization/xsd.hlp",
    "content": "Microsoft (R) Xml Schemas/DataTypes support utility\n[Microsoft (R) .NET Framework, Version 4.6.81.0]\nCopyright (C) Microsoft Corporation. All rights reserved.\n\nxsd.exe -\n    Utility to generate schema or class files from given source.\n\nxsd.exe <schema>.xsd /classes|dataset [/e:] [/l:] [/n:] [/o:] [/s] [/uri:]\nxsd.exe <assembly>.dll|.exe [/outputdir:] [/type: [...]]\nxsd.exe <instance>.xml [/outputdir:]\nxsd.exe <schema>.xdr [/outputdir:]\n\n     - OPTIONS -\n\n/classes\n    Generate classes for this schema. Short form is '/c'.\n\n/dataset\n    Generate sub-classed DataSet for this schema. Short form is '/d'.\n\n/enableLinqDataSet\n    Generate LINQ-enabled sub-classed Dataset for the schemas provided.  Short form is '/eld'.\n\n/element:<element>\n    Element from schema to process. Short form is '/e:'.\n\n/fields\n    Generate fields instead of properties. Short form is '/f'.\n\n/order\n    Generate explicit order identifiers on all particle members.\n\n/enableDataBinding\n    Implement INotifyPropertyChanged interface on all generated types\n    to enable data binding. Short form is '/edb'.\n\n/language:<language>\n    The language to use for the generated code. Choose from 'CS', 'VB', 'JS',\n    'VJS', 'CPP' or provide a fully-qualified name for a class implementing\n    System.CodeDom.Compiler.CodeDomProvider. The default language\n    is 'CS' (CSharp). Short form is '/l:'.\n\n/namespace:<namespace>\n    The namespace for generated class files. The default namespace\n    is the global namespace. Short form is '/n:'.\n\n/nologo\n    Suppresses the banner.\n\n/out:<directoryName>\n    The output directory to create files in. The default\n    is the current directory. Short form is '/o:'.\n\n/type:<type>\n    Type from assembly to generate schema for. Multiple types may be provided.\n    If no types are provided, then schemas for all types in an assembly\n    are generated. Short form is '/t:'.\n\n/uri:<uri>\n    Uri of elements from schema to process. Short form is '/u:'.\n\n     - ADVANCED -\n\n/parameters:<file>\n    Read command-line options from the specified xml file. Short form is '/p:'.\n\n     - ARGUMENTS -\n<schema>.xsd       Name of a schema containing elements to import.\n<assembly>.dll|exe Name of an assembly containing types to generate schema for.\n<instance>.xml     Name of an xml file to infer xsd schema from.\n<schema>.xdr       Name of an xdr schema to convert to xsd.\nMultiple file arguments of the same type may be provided.\n"
  },
  {
    "path": "Configuration/Networking/Serializers/JSONDataContractSerializers.cs",
    "content": "﻿\nusing System;\nusing System.Diagnostics;\nusing System.IO;\nusing System.Runtime.Serialization.Json;\nusing System.Xml;\nusing UAOOI.Configuration.Networking.Properties;\n\nnamespace UAOOI.Configuration.Networking.Serializers\n{\n  /// <summary>\n  /// Class DataContractSerializers- helper function to serialize or deserialize an object of the specified type using <see cref=\"DataContractJsonSerializer\"/>.\n  /// </summary>\n  public static class JSONDataContractSerializers\n  {\n\n    /// <summary>\n    /// Reads the XML stream from <paramref name=\"fileToRead\"/> with an <see cref=\"DataContractJsonSerializer\"/> and returns the deserialized object\n    /// </summary>\n    /// <typeparam name=\"type\">The type of the deserialized object.</typeparam>\n    /// <param name=\"fileToRead\">The <see cref=\"FileInfo\"/> used to open the XML stream.</param>\n    /// <param name=\"trace\">Used to write a trace event to the trace listeners using the <see cref=\"TraceEventType.Verbose\"/> event type, event identifier, and message.</param>\n    /// <returns>The deserialized object.</returns>\n    /// <exception cref=\"System.ArgumentOutOfRangeException\"></exception>\n    public static type Load<type>(FileInfo fileToRead, Action<TraceEventType, int, string> trace)\n      where type : class, new()\n    {\n      if (!fileToRead.Exists)\n        throw new ArgumentOutOfRangeException(nameof(fileToRead));\n      using (FileStream reader = fileToRead.Open(FileMode.Open))\n      {\n\n        DataContractJsonSerializer _serializer = new DataContractJsonSerializer(typeof(type));\n        type _graph = _serializer.ReadObject(reader) as type;\n        trace(TraceEventType.Verbose, 52, String.Format(Resources.InformationFileOpened2, fileToRead.FullName));\n        return _graph;\n      }\n    }\n    /// <summary>\n    /// Serializes the <paramref name=\"graph\"/> object of the specified type and saves it in the specified by the <paramref name=\"fileToWrite\"/> file.\n    /// </summary>\n    /// <typeparam name=\"type\">The type of the <paramref name=\"graph\"/> to be serialized.</typeparam>\n    /// <param name=\"fileToWrite\">The file to write all the object data (starting XML element, content, and closing element) with an System.Xml.XmlWriter..</param>\n    /// <param name=\"graph\">The object that contains the data to write to the stream.</param>\n    /// <param name=\"trace\">Used to write a trace event to the trace listeners using the <see cref=\"TraceEventType.Verbose\"/> event type, event identifier, and message.</param>\n    /// <exception cref=\"ArgumentNullException\">\n    /// </exception>\n    public static void Save<type>(FileInfo fileToWrite, type graph, Action<TraceEventType, int, string> trace)\n    {\n      if (fileToWrite == null)\n        throw new ArgumentNullException(nameof(fileToWrite));\n      if (graph == null)\n        throw new ArgumentNullException(nameof(graph));\n      DataContractJsonSerializer _deserializer = new DataContractJsonSerializer(typeof(type));\n      Formatting _formatting = new Formatting() { };\n      using (FileStream _writer = fileToWrite.Open( FileMode.Create))\n        _deserializer.WriteObject(_writer, graph);\n      trace(TraceEventType.Verbose, 52, String.Format(Resources.InformationFileSaved2, fileToWrite.FullName));\n    }\n\n  }\n}\n"
  },
  {
    "path": "Configuration/Networking/Serializers/SerializerType.cs",
    "content": "﻿\nnamespace UAOOI.Configuration.Networking.Serializers\n{\n  /// <summary>\n  /// Enum SerializerType - enumerates available serializers\n  /// </summary>\n  public enum SerializerType\n  {\n    /// <summary>\n    /// The json serializer\n    /// </summary>\n    Json,\n    /// <summary>\n    /// The XML serializer\n    /// </summary>\n    Xml\n  } \n}\n"
  },
  {
    "path": "Configuration/Networking/Serializers/XmlDataContractSerializers.cs",
    "content": "﻿using System;\nusing System.Diagnostics;\nusing System.IO;\nusing System.Runtime.Serialization;\nusing System.Text;\nusing System.Xml;\nusing UAOOI.Configuration.Networking.Properties;\n\nnamespace UAOOI.Configuration.Networking.Serializers\n{\n  /// <summary>\n  /// Class DataContractSerializers- helper function to serialize or deserialize an object of the specified type using <see cref=\"DataContractSerializer\"/>.\n  /// </summary>\n  public static class XmlDataContractSerializers\n  {\n\n    /// <summary>\n    /// Reads the XML stream from <paramref name=\"fileToRead\"/> with an <see cref=\"DataContractSerializer\"/> and returns the deserialized object\n    /// </summary>\n    /// <typeparam name=\"type\">The type of the deserialized object.</typeparam>\n    /// <param name=\"fileToRead\">The <see cref=\"FileInfo\"/> used to open the XML stream.</param>\n    /// <param name=\"trace\">Used to write a trace event to the trace listeners using the <see cref=\"TraceEventType.Verbose\"/> event type, event identifier, and message.</param>\n    /// <returns>The deserialized object.</returns>\n    /// <exception cref=\"System.ArgumentOutOfRangeException\"></exception>\n    public static type Load<type>(FileInfo fileToRead, Action<TraceEventType, int, string> trace)\n      where type : class, new()\n    {\n      if (!fileToRead.Exists)\n        throw new ArgumentOutOfRangeException(nameof(fileToRead));\n      using (XmlTextReader reader = new XmlTextReader(fileToRead.Open(FileMode.Open, FileAccess.Read)))\n      {\n        DataContractSerializer _serializer = new DataContractSerializer(typeof(type));\n        type _graph = _serializer.ReadObject(reader, false) as type;\n        trace(TraceEventType.Verbose, 52, String.Format(Resources.InformationFileOpened2, fileToRead.FullName));\n        return _graph;\n      }\n    }\n    /// <summary>\n    /// Serializes the <paramref name=\"graph\"/> object of the specified type and saves it in the specified by the <paramref name=\"fileToWrite\"/> file.\n    /// </summary>\n    /// <typeparam name=\"type\">The type of the <paramref name=\"graph\"/> to be serialized.</typeparam>\n    /// <param name=\"fileToWrite\">The file to write all the object data (starting XML element, content, and closing element) with an System.Xml.XmlWriter..</param>\n    /// <param name=\"graph\">The object that contains the data to write to the stream.</param>\n    /// <param name=\"trace\">Used to write a trace event to the trace listeners using the <see cref=\"TraceEventType.Verbose\"/> event type, event identifier, and message.</param>\n    /// <exception cref=\"ArgumentNullException\">\n    /// </exception>\n    public static void Save<type>(FileInfo fileToWrite, type graph, Action<TraceEventType, int, string> trace)\n    {\n      if (fileToWrite == null)\n        throw new ArgumentNullException(nameof(fileToWrite));\n      if (graph == null)\n        throw new ArgumentNullException(nameof(graph));\n      DataContractSerializer _deserializer = new DataContractSerializer(typeof(type));\n      Formatting _formatting = new Formatting() { };\n      using (XmlTextWriter _writer = new XmlTextWriter(fileToWrite.Open(FileMode.Create, FileAccess.Write), Encoding.UTF8) { Formatting = Formatting.Indented, Indentation = 2 })\n        _deserializer.WriteObject(_writer, graph);\n      trace(TraceEventType.Verbose, 52, String.Format(Resources.InformationFileSaved2, fileToWrite.FullName));\n    }\n\n  }\n}\n"
  },
  {
    "path": "Configuration/Networking/UANetworkingConfiguration.cs",
    "content": "﻿//___________________________________________________________________________________\n//\n//  Copyright (C) 2018, Mariusz Postol LODZ POLAND.\n//\n//  To be in touch join the community at GITTER: https://gitter.im/mpostol/OPC-UA-OOI\n//___________________________________________________________________________________\n\nusing CommonServiceLocator;\nusing System;\nusing System.Diagnostics;\nusing System.IO;\nusing UAOOI.Common.Infrastructure.Diagnostic;\nusing UAOOI.Configuration.Networking.Serialization;\nusing UAOOI.Configuration.Networking.Serializers;\n\nnamespace UAOOI.Configuration.Networking\n{\n  /// <summary>\n  /// Class UANetworkingConfiguration - Provides implementation of the <see cref=\"IConfigurationDataFactory\"/> for the UANetworking application.\n  /// </summary>\n  /// <typeparam name=\"ConfigurationDataType\">The type of the configuration data type.</typeparam>\n  public class UANetworkingConfiguration<ConfigurationDataType>\n      where ConfigurationDataType : class, IConfigurationDataFactory, new()\n  {\n\n    #region constructor\n    /// <summary>\n    /// Initializes a new instance of the <see cref=\"UANetworkingConfiguration{ConfigurationDataType}\"/> class.\n    /// </summary>\n    public UANetworkingConfiguration()\n    {\n      if (ServiceLocator.IsLocationProviderSet && ServiceLocator.Current != null)\n      {\n        IServiceLocator _locator = ServiceLocator.Current;\n        this.TraceSource = _locator.GetInstance<ITraceSource>();\n      }\n      else\n        this.TraceSource = new TraceSourceDefault();\n    }\n    #endregion\n\n    #region ConfigurationBase\n    /// <summary>\n    /// Reads the configuration from the <see cref=\"FileInfo\"/>.\n    /// </summary>\n    /// <param name=\"configurationFile\">The file <see cref=\"FileInfo\"/> containing the configuration data of the UANetworking application.</param>\n    public void ReadConfiguration(FileInfo configurationFile)\n    {\n      CurrentConfiguration = ConfigurationDataFactoryIO.Load<ConfigurationDataType>\n        (CommonDefinitions.Serializer.ToUpper() == \"XML\" ? SerializerType.Xml : SerializerType.Json, configurationFile, (x, y, z) => TraceSource.TraceData(x, y, z), () => RaiseOnChangeEvent());\n    }\n    /// <summary>\n    /// Saves the configuration.\n    /// </summary>\n    /// <param name=\"configurationFile\">The configuration file.</param>\n    /// <exception cref=\"ArgumentNullException\"></exception>\n    public void SaveConfiguration(FileInfo configurationFile)\n    {\n      if (CurrentConfiguration == null)\n        throw new ArgumentNullException(nameof(CurrentConfiguration));\n      ConfigurationDataFactoryIO.Save<ConfigurationDataType>(CurrentConfiguration, CommonDefinitions.Serializer.ToUpper() == \"XML\" ? SerializerType.Xml : SerializerType.Json, configurationFile, (x, y, z) => TraceSource.TraceData(x, y, z));\n    }\n    /// <summary>\n    /// Gets or sets the current configuration <typeparamref name=\"ConfigurationDataType\"/>.\n    /// </summary>\n    /// <value>The current configuration as instance of <typeparamref name=\"ConfigurationDataType\"/>.</value>\n    public ConfigurationDataType CurrentConfiguration\n    {\n      get { return m_CurrentConfiguration; }\n      set\n      {\n        if (Object.Equals(CurrentConfiguration, value))\n          return;\n        m_CurrentConfiguration = value;\n        RaiseOnChangeEvent();\n      }\n    }\n    /// <summary>\n    /// Occurs any time the configuration is modified.\n    /// </summary>\n    public event EventHandler<EventArgs> OnModified;\n    /// <summary>\n    /// Gets the configuration data.\n    /// </summary>\n    /// <value>The configuration data.</value>\n    public ConfigurationData ConfigurationData\n    {\n      get { return CurrentConfiguration?.GetConfigurationData(); }\n    }\n    #endregion\n\n    #region composition\n    /// <summary>\n    /// Gets or sets the trace source - an access point to the external component.\n    /// By default an empty private implementation (do nothing) of the <see cref=\"ITraceSource\"/> is provided.\n    /// </summary>\n    /// <value>The trace source - an implementation of the <see cref=\"ITraceSource\"/>.</value>\n    public ITraceSource TraceSource { get; set; }\n    #endregion\n\n    #region private\n    private class TraceSourceDefault : ITraceSource\n    {\n      /// <summary>\n      /// Writes trace data to the trace listeners in the <see cref=\"P:System.Diagnostics.TraceSource.Listeners\" /> collection using the specified <paramref name=\"eventType\" />,\n      /// event identifier <paramref name=\"id\" />, and trace <paramref name=\"data\" />.\n      /// </summary>\n      /// <param name=\"eventType\">One of the enumeration values that specifies the event type of the trace data.</param>\n      /// <param name=\"id\">A numeric identifier for the event.</param>\n      /// <param name=\"data\">The trace data.</param>\n      public void TraceData(TraceEventType eventType, int id, object data) { }\n    }\n    private ConfigurationDataType m_CurrentConfiguration;\n    /// <summary>\n    /// Raises the on change event.\n    /// </summary>\n    protected void RaiseOnChangeEvent()\n    {\n      OnModified?.Invoke(this, EventArgs.Empty);\n    }\n    #endregion\n\n  }\n\n}\n\n"
  },
  {
    "path": "Configuration/NetworkingUpgrade/Configuration.Networking.Upgrade.csproj",
    "content": "﻿<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<Project Sdk=\"Microsoft.NET.Sdk\">\n\n  <PropertyGroup>\n    <TargetFramework>netstandard2.0</TargetFramework>\n    <AssemblyName>UAOOI.Configuration.Networking.Upgrade</AssemblyName>\n    <RootNamespace>UAOOI.Configuration.Networking.Upgrade</RootNamespace>\n    <Version>4.0.1</Version>\n    <PackageId>UAOOI.Configuration.Networking.Upgrade</PackageId>\n    <Authors>MPostol</Authors>\n    <Company>commsvr.com</Company>\n    <Product>Object Oriented Internet</Product>\n    <Copyright>Copyright MPostol (c) 2018</Copyright>\n    <PackageLicenseUrl>https://github.com/mpostol/OPC-UA-OOI/blob/master/license.md</PackageLicenseUrl>\n    <PackageProjectUrl>https://commsvr.gitbook.io/ooi</PackageProjectUrl>\n    <RepositoryUrl>https://github.com/mpostol/OPC-UA-OOI</RepositoryUrl>\n    <PackageTags>Object Oriented Internet, OPC UA, CommServer, Reactive Networking.</PackageTags>\n    <RepositoryType>GitHub</RepositoryType>\n    <Description>Imports networking configuration helpers from obsolete versions</Description>\n    <SignAssembly>true</SignAssembly>\n    <AssemblyOriginatorKeyFile>OPCUAOOIKey.snk</AssemblyOriginatorKeyFile>\n    <AssemblyVersion>4.0.1.1</AssemblyVersion>\n  </PropertyGroup>\n\n  <PropertyGroup Condition=\"'$(Configuration)|$(Platform)'=='Debug|AnyCPU'\">\n    <DocumentationFile>bin\\Debug\\netstandard2.0\\UAOOI.Configuration.Networking.Upgrade.xml</DocumentationFile>\n    <NoWarn>1701;1702;1705;IDE0001,IDE0002,IDE0003</NoWarn>\n  </PropertyGroup>\n\n  <ItemGroup>\n    <ProjectReference Include=\"..\\Networking\\Configuration.Networking.csproj\" />\n  </ItemGroup>\n\n</Project>"
  },
  {
    "path": "Configuration/NetworkingUpgrade/ConfigurationManagement.cs",
    "content": "﻿//___________________________________________________________________________________\n//\n//  Copyright (C) 2018, Mariusz Postol LODZ POLAND.\n//\n//  To be in touch join the community at GITTER: https://gitter.im/mpostol/OPC-UA-OOI\n//___________________________________________________________________________________\n\nusing System;\nusing System.Collections.Generic;\nusing System.Diagnostics;\nusing System.IO;\nusing System.Linq;\nusing UAOOI.Common.Infrastructure.Diagnostic;\nusing UAOOI.Configuration.Networking.Serialization;\n\nnamespace UAOOI.Configuration.Networking.Upgrade\n{\n  /// <summary>\n  /// Class UpdateConfiguration - provides helper function aimed at configuration management.\n  /// </summary>\n  public static class ConfigurationManagement\n  {\n    /// <summary>\n    /// Creates the configuration.\n    /// </summary>\n    /// <param name=\"dataSourceFields\">The data source fields.</param>\n    /// <param name=\"associationName\">Name of the association used to select the <see cref=\"DataSetConfiguration\"/> to be modified and added to the output file.</param>\n    /// <param name=\"inFileName\">Name of the in file containing the configuration.</param>\n    /// <param name=\"outFileName\">Name of the out file containing the configuration.</param>\n    /// <param name=\"traceSource\">The trace source.</param>\n    public static void ReplaceDataSetFields(FieldMetaData[] dataSourceFields, string associationName, string inFileName, string outFileName, ITraceSource traceSource)\n    {\n      traceSource.TraceData(TraceEventType.Verbose, 53, $\"Entering {nameof(ReplaceDataSetFields)} method.\");\n      UANetworkingConfiguration<ConfigurationData> _newConfiguration = new UANetworkingConfiguration<ConfigurationData>();\n      FileInfo _file2ReadConfiguration = new FileInfo(inFileName);\n      _newConfiguration.ReadConfiguration(_file2ReadConfiguration);\n      traceSource.TraceData(TraceEventType.Verbose, 53, $\"I have read the configuration form the file {_file2ReadConfiguration.FullName}.\");\n      _newConfiguration.TraceSource = traceSource;\n      Dictionary<string, DataSetConfiguration> _dataSets = _newConfiguration.CurrentConfiguration.DataSets.ToDictionary<DataSetConfiguration, string>(_dsc => _dsc.AssociationName);\n      traceSource.TraceData(TraceEventType.Verbose, 53, $\"Configuration contains {_dataSets.Count} item of type {nameof(DataSetConfiguration)}.\");\n      _dataSets[associationName].DataSet = dataSourceFields;\n      traceSource.TraceData(TraceEventType.Verbose, 53, $\"{nameof(DataSetConfiguration.DataSet)} for the association {associationName} has been modified by array of {dataSourceFields.Length} instances.\");\n      //_newConfiguration.CurrentConfiguration.DataSets = new DataSetConfiguration[] { _dataSets[associationName] };\n      FileInfo _file2SaveConfiguration = new FileInfo(outFileName);\n      _newConfiguration.SaveConfiguration(_file2SaveConfiguration);\n      traceSource.TraceData(TraceEventType.Verbose, 53, $\"Configuration has been saved to the file {_file2SaveConfiguration.FullName}.\");\n    }\n    /// <summary>\n    /// Adds the data set configuration.\n    /// </summary>\n    /// <param name=\"newDataSetConfiguration\">The new data set configuration.</param>\n    /// <param name=\"inFileName\">Name of the in file.</param>\n    /// <param name=\"outFileName\">Name of the out file.</param>\n    /// <param name=\"writerId\">The writer identifier.</param>\n    /// <param name=\"traceSource\">The trace source.</param>\n    public static void AddDataSetConfiguration(this DataSetConfiguration newDataSetConfiguration, Tuple<string, ushort, Guid> writerId, string inFileName, string outFileName, ITraceSource traceSource)\n    {\n      traceSource.TraceData(TraceEventType.Verbose, 53, $\"Entering {nameof(AddDataSetConfiguration)} method.\");\n      //open source configuration\n      UANetworkingConfiguration<ConfigurationData> _newConfiguration = new UANetworkingConfiguration<ConfigurationData>();\n      FileInfo _file2ReadConfiguration = new FileInfo(inFileName);\n      _newConfiguration.ReadConfiguration(_file2ReadConfiguration);\n      traceSource.TraceData(TraceEventType.Verbose, 53, $\"I have read the configuration form the file {_file2ReadConfiguration.FullName}.\");\n      _newConfiguration.TraceSource = traceSource;\n      ConfigurationData _currentConfiguration = _newConfiguration.CurrentConfiguration;\n      // ddd new DataSetConfiguration\n      List<DataSetConfiguration> _dataSets = _currentConfiguration.DataSets.ToList<DataSetConfiguration>();\n      traceSource.TraceData(TraceEventType.Verbose, 53, $\"Configuration contains {_dataSets.Count} item of type {nameof(DataSetConfiguration)}.\");\n      _dataSets.Add(newDataSetConfiguration);\n      _currentConfiguration.DataSets = _dataSets.ToArray<DataSetConfiguration>();\n      traceSource.TraceData(TraceEventType.Verbose, 53, $\"New {nameof(DataSetConfiguration)} has been added to the copnfiguration.\");\n      // add new association for this DataSet in selected MessageWriterConfiguration\n      ProducerAssociationConfiguration _newAssociation = new ProducerAssociationConfiguration()\n      {\n        AssociationName = newDataSetConfiguration.AssociationName,\n        DataSetWriterId = writerId.Item2,\n        FieldEncoding = FieldEncodingEnum.VariantFieldEncoding,\n        PublisherId = writerId.Item3\n      };\n      MessageWriterConfiguration _selectedWriterConfiguration = _currentConfiguration.MessageHandlers\n        .Where<MessageHandlerConfiguration>(_hn => (_hn.Name == writerId.Item1) && (_hn is MessageWriterConfiguration))\n        .Cast<MessageWriterConfiguration>()\n        .First<MessageWriterConfiguration>();\n      List<ProducerAssociationConfiguration> _associationsInWriterConfiguration = _selectedWriterConfiguration.ProducerAssociationConfigurations.ToList<ProducerAssociationConfiguration>();\n      _associationsInWriterConfiguration.Add(_newAssociation);\n      _selectedWriterConfiguration.ProducerAssociationConfigurations = _associationsInWriterConfiguration.ToArray();\n      traceSource.TraceData(TraceEventType.Verbose, 53, $\"New {nameof (ProducerAssociationConfiguration)}  has been added to the {nameof(MessageWriterConfiguration)}[{writerId.Item1}].\");\n      //save the output file\n      FileInfo _file2SaveConfiguration = new FileInfo(outFileName);\n      _newConfiguration.SaveConfiguration(_file2SaveConfiguration);\n      traceSource.TraceData(TraceEventType.Verbose, 53, $\"Configuration has been saved to the file {_file2SaveConfiguration.FullName}.\");\n\n    }\n\n  }\n}\n"
  },
  {
    "path": "Configuration/NetworkingUpgrade/Properties/AssemblyInfo.cs",
    "content": "﻿using System.Reflection;\nusing System.Runtime.CompilerServices;\nusing System.Runtime.InteropServices;\n\n[assembly: AssemblyTrademark(\"UAOOI\")]\n[assembly: AssemblyCulture(\"\")]\n[assembly: ComVisible(false)]\n[assembly: Guid(\"bebe131a-c931-4c2c-9f9e-ed0d0b75df26\")]\n"
  },
  {
    "path": "Configuration/NetworkingUpgrade/Re_l1_00_16/BuiltInType.cs",
    "content": "﻿\nnamespace UAOOI.Configuration.Networking.Upgrade.Re_l1_00_16\n{\n  /// <summary>\n  /// The set of built-in data types for UA type descriptions - see Part 6 5.1.2.\n  /// </summary>\n  /// <remarks>\n  /// An enumeration that lists all of the built-in data types for OPC UA Type Descriptions.\n  /// </remarks>\n  public enum BuiltInType : int\n  {\n    /// <summary>\n    /// An invalid or unspecified value.\n    /// </summary>\n    Null = 0,\n    /// <summary>\n    /// A boolean logic value (true or false) - A two-state logical value (true or false).\n    /// </summary>\n    Boolean = 1,\n    /// <summary>\n    /// An 8 bit signed integer value. An integer value between −128 and 127.\n    /// </summary>\n    SByte = 2,\n    /// <summary>\n    /// An 8 bit unsigned integer value. An integer value between 0 and 255.\n    /// </summary>\n    Byte = 3,\n    /// <summary>\n    /// A 16 bit signed integer value. An integer value between 0 and 65 535.\n    /// </summary>\n    Int16 = 4,\n    /// <summary>\n    /// A 16 bit unsigned integer value. An integer value between 0 and 65 535.\n    /// </summary>\n    UInt16 = 5,\n    /// <summary>\n    /// A 32 bit signed integer value. An integer value between −2 147 483 648 and 2 147 483 647.\n    /// </summary>\n    Int32 = 6,\n    /// <summary>\n    /// A 32 bit unsigned integer value. An integer value between 0 and 4 294 967 295.\n    /// </summary>\n    UInt32 = 7,\n    /// <summary>\n    /// A 64 bit signed integer value. An integer value between −9 223 372 036 854 775 808 and 9 223 372 036 854 775 807\n    /// </summary>\n    Int64 = 8,\n    /// <summary>\n    /// A 64 bit unsigned integer value. An integer value between 0 and 18 446 744 073 709 551 615.\n    /// </summary>\n    UInt64 = 9,\n    /// <summary>\n    /// An IEEE single precision (32 bit) floating point value. An IEEE single precision (32 bit) floating point value.\n    /// </summary>\n    Float = 10,\n    /// <summary>\n    /// An IEEE double precision (64 bit) floating point value. An IEEE double precision (64 bit) floating point value.\n    /// </summary>\n    Double = 11,\n    /// <summary>\n    /// A sequence of Unicode characters.\n    /// </summary>\n    String = 12,\n    /// <summary>\n    /// An instance in time.\n    /// </summary>\n    DateTime = 13,\n    /// <summary>\n    /// A 128-bit globally unique identifier.\n    /// </summary>\n    Guid = 14,\n    /// <summary>\n    /// A sequence of bytes.\n    /// </summary>\n    ByteString = 15,\n    /// <summary>\n    /// An XML element.\n    /// </summary>\n    XmlElement = 16,\n    /// <summary>\n    /// An identifier for a node in the address space of an OPC UA Server.\n    /// </summary>\n    NodeId = 17,\n    /// <summary>\n    /// A node id that stores the namespace URI instead of the namespace index.\n    /// </summary>\n    ExpandedNodeId = 18,\n    /// <summary>\n    /// A structured result code.\n    /// </summary>\n    StatusCode = 19,\n    /// <summary>\n    /// A string qualified with a namespace.\n    /// </summary>\n    QualifiedName = 20,\n    /// <summary>\n    /// A localized text string with an locale identifier.\n    /// </summary>\n    LocalizedText = 21,\n    /// <summary>\n    /// A structure that contains an application specific data type that may not be recognized by the receiver.\n    /// </summary>\n    ExtensionObject = 22,\n    /// <summary>\n    /// A data value with an associated quality and time stamp.\n    /// </summary>\n    DataValue = 23,\n    /// <summary>\n    /// Any of the other built-in types - a union of all of the types specified above.\n    /// </summary>\n    Variant = 24,\n    /// <summary>\n    /// A diagnostic information associated with a result code.\n    /// </summary>\n    DiagnosticInfo = 25,\n    /// <summary>\n    /// The enumeration\n    /// </summary>\n    Enumeration = 26,\n  }\n\n}\n"
  },
  {
    "path": "Configuration/NetworkingUpgrade/Re_l1_00_16/CommonDefinitions.cs",
    "content": "﻿//___________________________________________________________________________________\n//\n//  Copyright (C) 2018, Mariusz Postol LODZ POLAND.\n//\n//  To be in touch join the community at GITTER: https://gitter.im/mpostol/OPC-UA-OOI\n//___________________________________________________________________________________\n\nusing System;\nusing System.ComponentModel;\n\nnamespace UAOOI.Configuration.Networking.Upgrade.Re_l1_00_16\n{\n  /// <summary>\n  /// Class CommonDefinitions - contains common definition.\n  /// </summary>\n  internal static class CommonDefinitions\n  {\n\n    /// <summary>\n    /// The namespace used for serialization of the configuration.\n    /// </summary>\n    internal const string Namespace = \"http://commsvr.com/UAOOI/SemanticData/UANetworking/Configuration/Serialization.xsd\";\n    /// <summary>\n    /// Extension method that sets a new value in a variable and then executes the event handler if the new value\n    /// differs from the old one. Used to easily implement <see cref=\"INotifyPropertyChanged\" />.\n    /// </summary>\n    /// <typeparam name=\"T\">The type of values being handled (usually the type of the property).</typeparam>\n    /// <param name=\"handler\">The event handler to execute in the event of actual value change.</param>\n    /// <param name=\"newValue\">The new value to set.</param>\n    /// <param name=\"oldValue\">The old value to replace (and the value holder).</param>\n    /// <param name=\"update\">The delegate used to update the property.</param>\n    /// <param name=\"propertyName\">The property's name as required by <see name=\"System.ComponentModel.PropertyChangedEventArgs\" />.</param>\n    /// <param name=\"sender\">The object to be appointed as the executioner of the handler.</param>\n    /// <returns>A boolean value that indicates if the new value was truly different from the old value according to <code>object.Equals()</code>.</returns>\n    internal static bool RaiseHandler<T>(this PropertyChangedEventHandler handler, T newValue, T oldValue, Action<T> update, string propertyName, object sender)\n    {\n      bool changed = !Object.Equals(oldValue, newValue);\n      if (changed)\n      {\n        //Save the new value. \n        update(newValue);\n        //Raise the event \n        handler?.Invoke(sender, new PropertyChangedEventArgs(propertyName));\n      }\n      //Signal what happened. \n      return changed;\n    }\n\n  }\n}\n"
  },
  {
    "path": "Configuration/NetworkingUpgrade/Re_l1_00_16/ConfigurationData.cs",
    "content": "﻿//___________________________________________________________________________________\n//\n//  Copyright (C) 2018, Mariusz Postol LODZ POLAND.\n//\n//  To be in touch join the community at GITTER: https://gitter.im/mpostol/OPC-UA-OOI\n//___________________________________________________________________________________\n\nusing System;\nusing System.Collections.Generic;\n\nnamespace UAOOI.Configuration.Networking.Upgrade.Re_l1_00_16\n{\n\n  /// <summary>\n  /// Class ConfigurationData - contains configuration data of the UANetworking application.\n  /// </summary>\n  public partial class ConfigurationData : IConfigurationDataFactory\n  {\n\n\n    #region IConfigurationDataFactory\n    /// <summary>\n    /// Gets or sets the the delegate capturing functionality tha is executed when the configuration is changing.\n    /// </summary>\n    /// <value>The m_ on changed.</value>\n    public Action OnChanged\n    {\n      get; set;\n    }\n    /// <summary>\n    /// Called when the configuration is loaded.\n    /// </summary>\n    public virtual void OnLoaded() { }\n    /// <summary>\n    /// Called before the saving the configuration.\n    /// </summary>\n    public virtual void OnSaving()\n    {\n      throw new NotImplementedException(\"The configuration is read only\");\n    }\n    /// <summary>\n    /// Gets and instance of <see cref=\"T:UAOOI.Configuration.Networking.Serialization.ConfigurationData\" />.\n    /// </summary>\n    /// <returns>Returns an instance of <see cref=\"T:UAOOI.Configuration.Networking.Serialization.ConfigurationData\" />.</returns>\n    /// <exception cref=\"NotImplementedException\"></exception>\n    Serialization.ConfigurationData IConfigurationDataFactory.GetConfigurationData()\n    {\n      throw new NotImplementedException();\n    }\n    #endregion\n\n    #region private\n    private List<DataSetConfiguration> b_DataSetConfigurationList;\n    private void PendingChanges()\n    {\n      OnChanged();\n    }\n    private void M_MessageHandlers_CollectionChanged(object sender, System.Collections.Specialized.NotifyCollectionChangedEventArgs e)\n    {\n      OnChanged();\n    }\n    private List<DataSetConfiguration> DataSetsList\n    {\n      get\n      {\n        if (b_DataSetConfigurationList == null)\n          b_DataSetConfigurationList = new List<DataSetConfiguration>(DataSets);\n        return b_DataSetConfigurationList;\n      }\n    }\n    #endregion\n\n  }\n}\n"
  },
  {
    "path": "Configuration/NetworkingUpgrade/Re_l1_00_16/ConfigurationData.xsd",
    "content": "﻿<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<xs:schema xmlns:tns=\"http://commsvr.com/UAOOI/SemanticData/UANetworking/Configuration/Serialization.xsd\" elementFormDefault=\"qualified\" targetNamespace=\"http://commsvr.com/UAOOI/SemanticData/UANetworking/Configuration/Serialization.xsd\" xmlns:xs=\"http://www.w3.org/2001/XMLSchema\">\n  <xs:simpleType name=\"guid\">\n    <xs:restriction base=\"xs:string\">\n      <xs:pattern value=\"[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}\" />\n    </xs:restriction>\n  </xs:simpleType>\n  <xs:element name=\"ConfigurationData\" nillable=\"true\" type=\"tns:ConfigurationData\" />\n  <xs:complexType name=\"ConfigurationData\">\n    <xs:sequence>\n      <xs:element minOccurs=\"0\" maxOccurs=\"1\" name=\"ExtensionData\" type=\"tns:ExtensionDataObject\" />\n      <xs:element minOccurs=\"0\" maxOccurs=\"unbounded\" name=\"DataSets\" type=\"tns:DataSetConfiguration\" />\n      <xs:element minOccurs=\"0\" maxOccurs=\"1\" name=\"MessageHandlers\" type=\"tns:ArrayOfChoice1\" />\n    </xs:sequence>\n  </xs:complexType>\n  <xs:complexType name=\"ExtensionDataObject\" />\n  <xs:complexType name=\"DataSetConfiguration\">\n    <xs:sequence>\n      <xs:element minOccurs=\"0\" maxOccurs=\"1\" name=\"ExtensionData\" type=\"tns:ExtensionDataObject\" />\n      <xs:element minOccurs=\"1\" maxOccurs=\"1\" name=\"AssociationRole\" type=\"tns:AssociationRole\" />\n      <xs:element minOccurs=\"0\" maxOccurs=\"1\" name=\"AssociationName\" type=\"xs:string\" />\n      <xs:element minOccurs=\"0\" maxOccurs=\"1\" name=\"RepositoryGroup\" type=\"xs:string\" />\n      <xs:element minOccurs=\"0\" maxOccurs=\"1\" name=\"InformationModelURI\" type=\"xs:string\" />\n      <xs:element minOccurs=\"0\" maxOccurs=\"1\" name=\"DataSymbolicName\" type=\"xs:string\" />\n      <xs:element minOccurs=\"0\" maxOccurs=\"1\" name=\"DataSet\" type=\"tns:ArrayOfFieldMetaData\" />\n      <xs:element minOccurs=\"0\" maxOccurs=\"1\" name=\"Guid\" type=\"xs:string\" />\n      <xs:element minOccurs=\"0\" maxOccurs=\"1\" name=\"Root\" type=\"tns:NodeDescriptor\" />\n      <xs:element minOccurs=\"1\" maxOccurs=\"1\" name=\"PublishingInterval\" type=\"xs:double\" />\n      <xs:element minOccurs=\"1\" maxOccurs=\"1\" name=\"MaxBufferTime\" type=\"xs:double\" />\n      <xs:element minOccurs=\"1\" maxOccurs=\"1\" name=\"ConfigurationGuid\" type=\"tns:guid\" />\n      <xs:element minOccurs=\"0\" maxOccurs=\"1\" name=\"ConfigurationVersion\" type=\"tns:ConfigurationVersionDataType\" />\n    </xs:sequence>\n  </xs:complexType>\n  <xs:simpleType name=\"AssociationRole\">\n    <xs:restriction base=\"xs:string\">\n      <xs:enumeration value=\"Consumer\" />\n      <xs:enumeration value=\"Producer\" />\n    </xs:restriction>\n  </xs:simpleType>\n  <xs:complexType name=\"ArrayOfFieldMetaData\">\n    <xs:sequence>\n      <xs:element minOccurs=\"0\" maxOccurs=\"unbounded\" name=\"FieldMetaData\" nillable=\"true\" type=\"tns:FieldMetaData\" />\n    </xs:sequence>\n  </xs:complexType>\n  <xs:complexType name=\"FieldMetaData\">\n    <xs:sequence>\n      <xs:element minOccurs=\"0\" maxOccurs=\"1\" name=\"ExtensionData\" type=\"tns:ExtensionDataObject\" />\n      <xs:element minOccurs=\"0\" maxOccurs=\"1\" name=\"SymbolicName\" type=\"xs:string\" />\n      <xs:element minOccurs=\"0\" maxOccurs=\"1\" name=\"ProcessValueName\" type=\"xs:string\" />\n      <xs:element minOccurs=\"0\" maxOccurs=\"1\" name=\"TypeInformation\" type=\"tns:UATypeInfo\" />\n    </xs:sequence>\n  </xs:complexType>\n  <xs:complexType name=\"UATypeInfo\">\n    <xs:sequence>\n      <xs:element minOccurs=\"1\" maxOccurs=\"1\" name=\"BuiltInType\" type=\"tns:BuiltInType\" />\n      <xs:element minOccurs=\"1\" maxOccurs=\"1\" name=\"ValueRank\" type=\"xs:int\" />\n      <xs:element minOccurs=\"0\" maxOccurs=\"1\" name=\"ArrayDimensions\" type=\"tns:ArrayOfInt\" />\n    </xs:sequence>\n  </xs:complexType>\n  <xs:simpleType name=\"BuiltInType\">\n    <xs:restriction base=\"xs:string\">\n      <xs:enumeration value=\"Null\" />\n      <xs:enumeration value=\"Boolean\" />\n      <xs:enumeration value=\"SByte\" />\n      <xs:enumeration value=\"Byte\" />\n      <xs:enumeration value=\"Int16\" />\n      <xs:enumeration value=\"UInt16\" />\n      <xs:enumeration value=\"Int32\" />\n      <xs:enumeration value=\"UInt32\" />\n      <xs:enumeration value=\"Int64\" />\n      <xs:enumeration value=\"UInt64\" />\n      <xs:enumeration value=\"Float\" />\n      <xs:enumeration value=\"Double\" />\n      <xs:enumeration value=\"String\" />\n      <xs:enumeration value=\"DateTime\" />\n      <xs:enumeration value=\"Guid\" />\n      <xs:enumeration value=\"ByteString\" />\n      <xs:enumeration value=\"XmlElement\" />\n      <xs:enumeration value=\"NodeId\" />\n      <xs:enumeration value=\"ExpandedNodeId\" />\n      <xs:enumeration value=\"StatusCode\" />\n      <xs:enumeration value=\"QualifiedName\" />\n      <xs:enumeration value=\"LocalizedText\" />\n      <xs:enumeration value=\"ExtensionObject\" />\n      <xs:enumeration value=\"DataValue\" />\n      <xs:enumeration value=\"Variant\" />\n      <xs:enumeration value=\"DiagnosticInfo\" />\n      <xs:enumeration value=\"Enumeration\" />\n    </xs:restriction>\n  </xs:simpleType>\n  <xs:complexType name=\"ArrayOfInt\">\n    <xs:sequence>\n      <xs:element minOccurs=\"0\" maxOccurs=\"unbounded\" name=\"int\" type=\"xs:int\" />\n    </xs:sequence>\n  </xs:complexType>\n  <xs:complexType name=\"NodeDescriptor\">\n    <xs:sequence>\n      <xs:element minOccurs=\"0\" maxOccurs=\"1\" name=\"BindingDescription\" type=\"xs:string\" />\n      <xs:element minOccurs=\"0\" maxOccurs=\"1\" name=\"DataType\" type=\"xs:QName\" />\n      <xs:element minOccurs=\"1\" maxOccurs=\"1\" name=\"InstanceDeclaration\" type=\"xs:boolean\" />\n      <xs:element minOccurs=\"1\" maxOccurs=\"1\" name=\"NodeClass\" type=\"tns:InstanceNodeClassesEnum\" />\n      <xs:element minOccurs=\"0\" maxOccurs=\"1\" name=\"NodeIdentifier\" type=\"xs:QName\" />\n    </xs:sequence>\n  </xs:complexType>\n  <xs:simpleType name=\"InstanceNodeClassesEnum\">\n    <xs:restriction base=\"xs:string\">\n      <xs:enumeration value=\"Object\" />\n      <xs:enumeration value=\"Variable\" />\n      <xs:enumeration value=\"Method\" />\n      <xs:enumeration value=\"View\" />\n      <xs:enumeration value=\"NotDefined\" />\n    </xs:restriction>\n  </xs:simpleType>\n  <xs:complexType name=\"ConfigurationVersionDataType\">\n    <xs:sequence>\n      <xs:element minOccurs=\"1\" maxOccurs=\"1\" name=\"MajorVersion\" type=\"xs:unsignedByte\" />\n      <xs:element minOccurs=\"1\" maxOccurs=\"1\" name=\"MinorVersion\" type=\"xs:unsignedByte\" />\n    </xs:sequence>\n  </xs:complexType>\n  <xs:complexType name=\"ArrayOfChoice1\">\n    <xs:choice minOccurs=\"0\" maxOccurs=\"unbounded\">\n      <xs:element minOccurs=\"1\" maxOccurs=\"1\" name=\"MessageWriterConfiguration\" nillable=\"true\" type=\"tns:MessageWriterConfiguration\" />\n      <xs:element minOccurs=\"1\" maxOccurs=\"1\" name=\"MessageReaderConfiguration\" nillable=\"true\" type=\"tns:MessageReaderConfiguration\" />\n    </xs:choice>\n  </xs:complexType>\n  <xs:complexType name=\"MessageWriterConfiguration\">\n    <xs:complexContent mixed=\"false\">\n      <xs:extension base=\"tns:MessageHandlerConfiguration\">\n        <xs:sequence>\n          <xs:element minOccurs=\"0\" maxOccurs=\"1\" name=\"ProducerAssociationConfigurations\" type=\"tns:ArrayOfProducerAssociationConfiguration\" />\n        </xs:sequence>\n      </xs:extension>\n    </xs:complexContent>\n  </xs:complexType>\n  <xs:complexType name=\"MessageHandlerConfiguration\" abstract=\"true\">\n    <xs:sequence>\n      <xs:element minOccurs=\"0\" maxOccurs=\"1\" name=\"ExtensionData\" type=\"tns:ExtensionDataObject\" />\n      <xs:element minOccurs=\"0\" maxOccurs=\"1\" name=\"Name\" type=\"xs:string\" />\n      <xs:element minOccurs=\"0\" maxOccurs=\"1\" name=\"Configuration\" type=\"tns:MessageChannelConfiguration\" />\n      <xs:element minOccurs=\"1\" maxOccurs=\"1\" name=\"TransportRole\" type=\"tns:AssociationRole\" />\n    </xs:sequence>\n  </xs:complexType>\n  <xs:complexType name=\"MessageChannelConfiguration\" />\n  <xs:complexType name=\"MessageReaderConfiguration\">\n    <xs:complexContent mixed=\"false\">\n      <xs:extension base=\"tns:MessageHandlerConfiguration\">\n        <xs:sequence>\n          <xs:element minOccurs=\"0\" maxOccurs=\"1\" name=\"ConsumerAssociationConfigurations\" type=\"tns:ArrayOfConsumerAssociationConfiguration\" />\n        </xs:sequence>\n      </xs:extension>\n    </xs:complexContent>\n  </xs:complexType>\n  <xs:complexType name=\"ArrayOfConsumerAssociationConfiguration\">\n    <xs:sequence>\n      <xs:element minOccurs=\"0\" maxOccurs=\"unbounded\" name=\"ConsumerAssociationConfiguration\" nillable=\"true\" type=\"tns:ConsumerAssociationConfiguration\" />\n    </xs:sequence>\n  </xs:complexType>\n  <xs:complexType name=\"ConsumerAssociationConfiguration\">\n    <xs:complexContent mixed=\"false\">\n      <xs:extension base=\"tns:AssociationConfiguration\">\n        <xs:sequence>\n          <xs:element minOccurs=\"1\" maxOccurs=\"1\" name=\"PublisherId\" type=\"tns:guid\" />\n        </xs:sequence>\n      </xs:extension>\n    </xs:complexContent>\n  </xs:complexType>\n  <xs:complexType name=\"AssociationConfiguration\">\n    <xs:sequence>\n      <xs:element minOccurs=\"0\" maxOccurs=\"1\" name=\"AssociationName\" type=\"xs:string\" />\n      <xs:element minOccurs=\"1\" maxOccurs=\"1\" name=\"DataSetWriterId\" type=\"xs:unsignedShort\" />\n    </xs:sequence>\n  </xs:complexType>\n  <xs:complexType name=\"ProducerAssociationConfiguration\">\n    <xs:complexContent mixed=\"false\">\n      <xs:extension base=\"tns:AssociationConfiguration\">\n        <xs:sequence>\n          <xs:element minOccurs=\"1\" maxOccurs=\"1\" name=\"FieldEncoding\" type=\"tns:FieldEncodingEnum\" />\n        </xs:sequence>\n      </xs:extension>\n    </xs:complexContent>\n  </xs:complexType>\n  <xs:simpleType name=\"FieldEncodingEnum\">\n    <xs:restriction base=\"xs:string\">\n      <xs:enumeration value=\"VariantFieldEncoding\" />\n      <xs:enumeration value=\"CompressedFieldEncoding\" />\n      <xs:enumeration value=\"DataValueFieldEncoding\" />\n    </xs:restriction>\n  </xs:simpleType>\n  <xs:complexType name=\"ArrayOfProducerAssociationConfiguration\">\n    <xs:sequence>\n      <xs:element minOccurs=\"0\" maxOccurs=\"unbounded\" name=\"ProducerAssociationConfiguration\" nillable=\"true\" type=\"tns:ProducerAssociationConfiguration\" />\n    </xs:sequence>\n  </xs:complexType>\n</xs:schema>"
  },
  {
    "path": "Configuration/NetworkingUpgrade/Re_l1_00_16/ConfigurationData.xsd.cs",
    "content": "﻿#pragma warning disable 1591\n\nusing System.Runtime.Serialization;\nusing System;\nusing System.Xml.Serialization;\n\n[assembly: ContractNamespaceAttribute(\"http://commsvr.com/UAOOI/SemanticData/UANetworking/Configuration/Serialization.xsd\", ClrNamespace = \"UAOOI.Configuration.Networking.Serialization\")]\n\nnamespace UAOOI.Configuration.Networking.Upgrade.Re_l1_00_16\n{\n\n  [DataContractAttribute(Name = \"ConfigurationData\", Namespace = CommonDefinitions.Namespace)]\n  [System.SerializableAttribute()]\n  [XmlRoot(Namespace = CommonDefinitions.Namespace)]\n  //[XmlType(Namespace = CommonDefinitions.Namespace)]\n  public partial class ConfigurationData : object, IExtensibleDataObject\n  {\n\n    private ExtensionDataObject extensionDataField;\n    private DataSetConfiguration[] DataSetsField;\n    private MessageHandlerConfiguration[] MessageHandlersField;\n\n    public ExtensionDataObject ExtensionData\n    {\n      get\n      {\n        return this.extensionDataField;\n      }\n      set\n      {\n        this.extensionDataField = value;\n      }\n    }\n    [DataMemberAttribute(EmitDefaultValue = false)]\n    [XmlElementAttribute(IsNullable = false)]\n    public DataSetConfiguration[] DataSets\n    {\n      get\n      {\n        return this.DataSetsField;\n      }\n      set\n      {\n        this.DataSetsField = value;\n      }\n    }\n    [DataMemberAttribute(EmitDefaultValue = true)]\n    [XmlArray(IsNullable = false)]\n    [XmlArrayItem(Type = typeof(MessageWriterConfiguration), ElementName = \"MessageWriterConfiguration\")]\n    [XmlArrayItem(Type = typeof(MessageReaderConfiguration), ElementName = \"MessageReaderConfiguration\")]\n    public MessageHandlerConfiguration[] MessageHandlers\n    {\n      get\n      {\n        return this.MessageHandlersField;\n      }\n      set\n      {\n        this.MessageHandlersField = value;\n      }\n    }\n\n  }\n\n  [DataContractAttribute(Name = \"DataSetConfiguration\", Namespace = CommonDefinitions.Namespace)]\n  [System.SerializableAttribute()]\n  public partial class DataSetConfiguration : object, IExtensibleDataObject\n  {\n\n    #region private\n    [System.NonSerializedAttribute()]\n    private ExtensionDataObject extensionDataField;\n    private AssociationRole AssociationRoleField;\n    [OptionalFieldAttribute()]\n    private string AssociationNameField;\n    [OptionalFieldAttribute()]\n    private string RepositoryGroupField;\n    [OptionalFieldAttribute()]\n    private string InformationModelURIField;\n    [OptionalFieldAttribute()]\n    private string DataSymbolicNameField;\n    [OptionalFieldAttribute()]\n    private FieldMetaData[] DataSetField;\n    [OptionalFieldAttribute()]\n    private string GuidField;\n    [OptionalFieldAttribute()]\n    private NodeDescriptor RootField;\n    [OptionalFieldAttribute()]\n    private double PublishingIntervalField;\n    [OptionalFieldAttribute()]\n    private double MaxBufferTimeField;\n    [OptionalFieldAttribute()]\n    private Guid ConfigurationGuidField;\n    [OptionalFieldAttribute()]\n    private ConfigurationVersionDataType ConfigurationVersionField;\n    #endregion\n\n    #region public\n    public ExtensionDataObject ExtensionData\n    {\n      get\n      {\n        return this.extensionDataField;\n      }\n      set\n      {\n        this.extensionDataField = value;\n      }\n    }\n    [DataMemberAttribute(IsRequired = true)]\n    public AssociationRole AssociationRole\n    {\n      get\n      {\n        return this.AssociationRoleField;\n      }\n      set\n      {\n        this.AssociationRoleField = value;\n      }\n    }\n    [DataMemberAttribute(EmitDefaultValue = false, Order = 1)]\n    public string AssociationName\n    {\n      get\n      {\n        return this.AssociationNameField;\n      }\n      set\n      {\n        this.AssociationNameField = value;\n      }\n    }\n    [DataMemberAttribute(EmitDefaultValue = false, Order = 2)]\n    public string RepositoryGroup\n    {\n      get\n      {\n        return this.RepositoryGroupField;\n      }\n      set\n      {\n        this.RepositoryGroupField = value;\n      }\n    }\n    [DataMemberAttribute(EmitDefaultValue = false, Order = 3)]\n    public string InformationModelURI\n    {\n      get\n      {\n        return this.InformationModelURIField;\n      }\n      set\n      {\n        this.InformationModelURIField = value;\n      }\n    }\n    [DataMemberAttribute(EmitDefaultValue = false, Order = 4)]\n    public string DataSymbolicName\n    {\n      get\n      {\n        return this.DataSymbolicNameField;\n      }\n      set\n      {\n        this.DataSymbolicNameField = value;\n      }\n    }\n    [DataMemberAttribute(EmitDefaultValue = false, Order = 5, IsRequired = true)]\n    public FieldMetaData[] DataSet\n    {\n      get\n      {\n        return this.DataSetField;\n      }\n      set\n      {\n        this.DataSetField = value;\n      }\n    }\n    [DataMemberAttribute(EmitDefaultValue = false, Order = 6)]\n    public string Guid\n    {\n      get\n      {\n        return this.GuidField;\n      }\n      set\n      {\n        this.GuidField = value;\n      }\n    }\n    [DataMemberAttribute(EmitDefaultValue = false, Order = 7, IsRequired = true)]\n    [XmlElementAttribute(IsNullable = false)]\n    public NodeDescriptor Root\n    {\n      get { return RootField; }\n      set { RootField = value; }\n    }\n    /// <summary>\n    /// Gets or sets the publishing interval - The interval in milliseconds for sampling the Variables and publishing the Values in a DataSet by the related MessageWriter. \n    /// The Duration DataType is a subtype of Double and allows configuration of intervals smaller than a millisecond.\n    /// </summary>\n    /// <value>The publishing interval.</value>\n    [DataMemberAttribute(EmitDefaultValue = true, Order = 8, IsRequired = true)]\n    [XmlElementAttribute(IsNullable = false)]\n    public double PublishingInterval\n    {\n      get { return PublishingIntervalField; }\n      set { PublishingIntervalField = value; }\n    }\n    /// <summary>\n    /// Gets or sets the maximum buffer time. The MaxBufferTime defines the maximum time the delivery of the DataSet may be delayed by the \n    /// MessageWriter, to allow for the collection of additional Messages. This parameter allows the Producer to reduce the number of network packets necessary to send the Messages.\n    /// </summary>\n    /// <value>The maximum buffer time.</value>\n    [DataMemberAttribute(EmitDefaultValue = true, Order = 9, IsRequired = true)]\n    [XmlElementAttribute(IsNullable = false)]\n    public double MaxBufferTime\n    {\n      get { return MaxBufferTimeField; }\n      set { MaxBufferTimeField = value; }\n    }\n    /// <summary>\n    /// Gets or sets the configuration unique identifier. It provides a unique identifier for the current configuration of this object. \n    /// Any change of the ConfigurationVersion Property triggers a creation of a new value.\n    /// </summary>\n    /// <value>The configuration unique identifier.</value>\n    [DataMemberAttribute(EmitDefaultValue = true, Order = 10, IsRequired = true)]\n    [XmlElementAttribute(IsNullable = false)]\n    public Guid ConfigurationGuid\n    {\n      get { return ConfigurationGuidField; }\n      set { ConfigurationGuidField = value; }\n    }\n    [DataMemberAttribute(EmitDefaultValue = true, Order = 11, IsRequired = true)]\n    [XmlElementAttribute(IsNullable = false)]\n    public ConfigurationVersionDataType ConfigurationVersion\n    {\n      get { return ConfigurationVersionField; }\n      set { ConfigurationVersionField = value; }\n    }\n    #endregion\n\n  }\n  public class ConfigurationVersionDataType\n  {\n    private byte MajorVersionField;\n    private byte MinorVersionField;\n\n    /// <summary>\n    /// Gets or sets the major version. The major number reflects the primary format of the DataSet and must be equal in both Producer and Consumer.\n    /// Removing fields from the DataSet, reordering fields, adding fields in between other fields or a DataType change in fields shall result in an update of the MajorVersion. \n    /// The initial value for the MajorVersion is 0. If the MajorVersion is incremented, the MinorVersion shall be set to 0.\n    /// An overflow of the MajorVersion is treated like any other major version change and requires a meta data exchange.\n    /// </summary>\n    /// <value>The major version.</value>\n    public byte MajorVersion\n    {\n      get { return MajorVersionField; }\n      set { MajorVersionField = value; }\n    }\n    /// <summary>\n    /// Gets or sets the minor version. The minor number reflects backward compatible changes of the DataSet like adding a field at the end of the DataSet.\n    /// The initial value for the MinorVersion is 0. The MajorVersion shall be incremented after an overflow of the MinorVersion.\n    /// </summary>\n    /// <value>The minor version.</value>\n    public byte MinorVersion\n    {\n      get { return MinorVersionField; }\n      set { MinorVersionField = value; }\n    }\n  }\n  [DataContractAttribute(Name = \"AssociationConfiguration\", Namespace = CommonDefinitions.Namespace)]\n  [KnownType(typeof(ProducerAssociationConfiguration))]\n  [KnownType(typeof(ConsumerAssociationConfiguration))]\n  [SerializableAttribute()]\n  public partial class AssociationConfiguration\n  {\n\n    private string AssociationNameField;\n    private UInt16 DataSetWriterIdField;\n\n    [DataMemberAttribute(EmitDefaultValue = false, Order = 0)]\n    public string AssociationName\n    {\n      get { return AssociationNameField; }\n      set { AssociationNameField = value; }\n    }\n    [DataMemberAttribute(EmitDefaultValue = false, Order = 1)]\n    public UInt16 DataSetWriterId\n    {\n      get { return DataSetWriterIdField; }\n      set { DataSetWriterIdField = value; }\n    }\n\n  }\n  [DataContractAttribute(Name = \"ProducerAssociationConfiguration\", Namespace = CommonDefinitions.Namespace)]\n  [SerializableAttribute()]\n  public partial class ProducerAssociationConfiguration : AssociationConfiguration\n  {\n    FieldEncodingEnum FieldEncodingField;\n    [DataMemberAttribute(EmitDefaultValue = true, IsRequired = true, Order = 1)]\n    public FieldEncodingEnum FieldEncoding\n    {\n      get { return FieldEncodingField; }\n      set { FieldEncodingField = value; }\n    }\n  }\n  [DataContractAttribute(Name = \"ConsumerAssociationConfiguration\", Namespace = CommonDefinitions.Namespace)]\n  [SerializableAttribute()]\n  public partial class ConsumerAssociationConfiguration : AssociationConfiguration\n  {\n    private Guid PublisherIdField;\n    [DataMemberAttribute(EmitDefaultValue = false, Order = 0)]\n    public Guid PublisherId\n    {\n      get { return PublisherIdField; }\n      set { PublisherIdField = value; }\n    }\n  }\n  [DataContractAttribute(Name = \"MessageWriterConfiguration\", Namespace = CommonDefinitions.Namespace)]\n  [SerializableAttribute()]\n  public partial class MessageWriterConfiguration : MessageHandlerConfiguration\n  {\n    private ProducerAssociationConfiguration[] ProducerAssociationConfigurationField;\n\n    [DataMemberAttribute(EmitDefaultValue = false)]\n    [XmlArray(ElementName = \"ProducerAssociationConfigurations\")]\n    public ProducerAssociationConfiguration[] ProducerAssociationConfigurations\n    {\n      get { return ProducerAssociationConfigurationField; }\n      set { ProducerAssociationConfigurationField = value; }\n    }\n\n  }\n  [DataContractAttribute(Name = \"MessageReaderConfiguration\")]\n  [SerializableAttribute()]\n  public partial class MessageReaderConfiguration : MessageHandlerConfiguration\n  {\n\n    private ConsumerAssociationConfiguration[] ConsumerAssociationConfigurationsFields;\n\n    [DataMemberAttribute(EmitDefaultValue = false)]\n    [XmlArray(ElementName = \"ConsumerAssociationConfigurations\")]\n    public ConsumerAssociationConfiguration[] ConsumerAssociationConfigurations\n    {\n      get { return ConsumerAssociationConfigurationsFields; }\n      set { ConsumerAssociationConfigurationsFields = value; }\n    }\n\n  }\n  //[DataContractAttribute(Name = \"MessageHandlerConfiguration\", Namespace = CommonDefinitions.Namespace)]\n  [DataContractAttribute()]\n  [KnownType(typeof(MessageReaderConfiguration))]\n  [KnownType(typeof(MessageWriterConfiguration))]\n  [SerializableAttribute()]\n  public partial class MessageHandlerConfiguration : object, IExtensibleDataObject\n  {\n\n    [System.NonSerializedAttribute()]\n    private ExtensionDataObject extensionDataField;\n    private string NameField;\n    private MessageChannelConfiguration ConfigurationField;\n    private AssociationRole TransportRoleField;\n\n    public ExtensionDataObject ExtensionData\n    {\n      get\n      {\n        return this.extensionDataField;\n      }\n      set\n      {\n        this.extensionDataField = value;\n      }\n    }\n    [DataMemberAttribute(EmitDefaultValue = false)]\n    public string Name\n    {\n      get\n      {\n        return this.NameField;\n      }\n      set\n      {\n        this.NameField = value;\n      }\n    }\n    [DataMemberAttribute(EmitDefaultValue = false, Order = 2)]\n    public MessageChannelConfiguration Configuration\n    {\n      get\n      {\n        return this.ConfigurationField;\n      }\n      set\n      {\n        this.ConfigurationField = value;\n      }\n    }\n    [DataMemberAttribute(IsRequired = true, Order = 3)]\n    public AssociationRole TransportRole\n    {\n      get\n      {\n        return this.TransportRoleField;\n      }\n      set\n      {\n        this.TransportRoleField = value;\n      }\n    }\n\n  }\n  [DataContractAttribute(Name = \"MessageChannelConfiguration\", Namespace = CommonDefinitions.Namespace)]\n  public class MessageChannelConfiguration\n  {\n  }\n  [DataContractAttribute(Name = \"AssociationRole\", Namespace = CommonDefinitions.Namespace)]\n  public enum AssociationRole : int\n  {\n\n    [EnumMemberAttribute()]\n    Consumer = 0,\n\n    [EnumMemberAttribute()]\n    Producer = 1,\n  }\n\n  [DataContractAttribute(Name = \"DataMemberConfiguration\", Namespace = CommonDefinitions.Namespace)]\n  [System.SerializableAttribute()]\n  public partial class FieldMetaData : object, IExtensibleDataObject\n  {\n\n    #region private\n    private ExtensionDataObject extensionDataField;\n    private string SymbolicNameField;\n    private string ProcessValueNameField;\n    private UATypeInfo m_TypeInfo;\n    #endregion\n\n    #region public\n    public ExtensionDataObject ExtensionData\n    {\n      get\n      {\n        return this.extensionDataField;\n      }\n      set\n      {\n        this.extensionDataField = value;\n      }\n    }\n    /// <summary>\n    /// Gets or sets the name of the field.\n    /// </summary>\n    /// <value>The name of the field.</value>\n    [DataMember(EmitDefaultValue = false, Order = 0)]\n    public string SymbolicName\n    {\n      get\n      {\n        return this.SymbolicNameField;\n      }\n      set\n      {\n        this.SymbolicNameField = value;\n      }\n    }\n    [DataMemberAttribute(EmitDefaultValue = false, Order = 1)]\n    public string ProcessValueName\n    {\n      get\n      {\n        return this.ProcessValueNameField;\n      }\n      set\n      {\n        this.ProcessValueNameField = value;\n      }\n    }\n    [DataMemberAttribute(EmitDefaultValue = false, IsRequired = true, Order = 2)]\n    public UATypeInfo TypeInformation\n    {\n      get { return m_TypeInfo; }\n      set { m_TypeInfo = value; }\n    }\n    #endregion\n\n  }\n}\n\n#pragma warning restore 1591\n"
  },
  {
    "path": "Configuration/NetworkingUpgrade/Re_l1_00_16/FieldEncodingEnum.cs",
    "content": "﻿\nusing System;\n\nnamespace UAOOI.Configuration.Networking.Upgrade.Re_l1_00_16\n{\n  /// <summary>\n  /// Enum FieldEncodingEnum - \n  /// </summary>\n  public enum FieldEncodingEnum : Byte\n  {\n    /// <summary>\n    /// The variant encoding - The DataSetFields are encoded as Variant. The Variant can contain a StatusCode instead of the expected DataType if the \n    /// status of the field is Bad. The Variant can contain a DataValue if the status of the field is Uncertain.\n    /// </summary>\n    VariantFieldEncoding = 0x0,\n    /// <summary>\n    /// The compressed field encoding - The DataSet fields are encoded using the data types defined in the configuration.\n    /// </summary>\n    CompressedFieldEncoding = 0x4,\n    /// <summary>\n    /// The data value field encoding - The DataSet fields are encoded as DataValue. This option is set if the DataSet is configured to send more than the Value.\n    /// </summary>\n    DataValueFieldEncoding = 0x8\n  }\n}\n"
  },
  {
    "path": "Configuration/NetworkingUpgrade/Re_l1_00_16/InstanceNodeClassesEnum.cs",
    "content": "﻿\nnamespace UAOOI.Configuration.Networking.Upgrade.Re_l1_00_16\n{\n  /// <summary>\n  /// Enumeration of the node classes that can be a source of process data.\n  /// </summary>\n  public enum InstanceNodeClassesEnum\n  {\n    /// <summary>\n    /// Object NodeClasses\n    /// </summary>\n    Object,\n    /// <summary>\n    /// Variable NodeClasses\n    /// </summary>\n    Variable,\n    /// <summary>\n    /// Method NodeClasses\n    /// </summary>\n    Method,\n    /// <summary>\n    /// View NodeClasses\n    /// </summary>\n    View,\n    /// <summary>\n    /// Not defined or nor relevant\n    /// </summary>\n    NotDefined\n\n  }\n}"
  },
  {
    "path": "Configuration/NetworkingUpgrade/Re_l1_00_16/NodeDescriptor.cs",
    "content": "﻿\nusing System;\nusing System.Runtime.Serialization;\nusing System.Xml;\n\nnamespace UAOOI.Configuration.Networking.Upgrade.Re_l1_00_16\n{\n\n  /// <summary>\n  /// Class NodeDescriptor.\n  /// </summary>\n  [DataContractAttribute(Name = \"NodeDescriptor\", Namespace = CommonDefinitions.Namespace)]\n  [SerializableAttribute()]\n  public partial class NodeDescriptor\n  {\n\n    #region INodeDescriptor\n    /// <summary>\n    /// Gets or sets the binding description.\n    /// </summary>\n    /// <value>The binding description.</value>\n    [DataMemberAttribute(EmitDefaultValue = false, Order = 1)]\n    public string BindingDescription\n    {\n      get\n      {\n        return m_BindingDescriptionField;\n      }\n      set\n      {\n        m_BindingDescriptionField = value;\n      }\n    }\n    /// <summary>\n    /// Gets or sets the type of the data.\n    /// </summary>\n    /// <value>The type of the data.</value>\n    [DataMemberAttribute(EmitDefaultValue = false, Order = 2)]\n    public XmlQualifiedName DataType\n    {\n      get { return m_DataTypeField; }\n      set { m_DataTypeField = value; }\n    }\n    /// <summary>\n    /// Gets or sets a value indicating whether [instance declaration].\n    /// </summary>\n    /// <value><c>true</c> if [instance declaration]; otherwise, <c>false</c>.</value>\n    [DataMemberAttribute(EmitDefaultValue = false, Order = 3)]\n    public bool InstanceDeclaration\n    {\n      get { return m_InstanceDeclarationField; }\n      set { m_InstanceDeclarationField = value; }\n    }\n    /// <summary>\n    /// Gets or sets the node class.\n    /// </summary>\n    /// <value>The node class.</value>\n    [DataMemberAttribute(EmitDefaultValue = false, Order = 4)]\n    public InstanceNodeClassesEnum NodeClass\n    {\n      get { return m_NodeClassField; }\n      set { m_NodeClassField = value; }\n    }\n    /// <summary>\n    /// Gets or sets the node identifier.\n    /// </summary>\n    /// <value>The node identifier.</value>\n    [DataMemberAttribute(EmitDefaultValue = false, Order = 5)]\n    public XmlQualifiedName NodeIdentifier\n    {\n      get { return m_NodeIdentifierField; }\n      set { m_NodeIdentifierField = value; }\n    }\n    #endregion\n\n    #region private\n    private string m_BindingDescriptionField;\n    private XmlQualifiedName m_DataTypeField;\n    private bool m_InstanceDeclarationField;\n    private InstanceNodeClassesEnum m_NodeClassField;\n    private XmlQualifiedName m_NodeIdentifierField;\n    #endregion\n\n  }\n}\n"
  },
  {
    "path": "Configuration/NetworkingUpgrade/Re_l1_00_16/UATypeInfo.cs",
    "content": "﻿\nusing System;\nusing System.Runtime.Serialization;\n\nnamespace UAOOI.Configuration.Networking.Upgrade.Re_l1_00_16\n{\n  /// <summary>\n  /// Class UATypeInfo - stores information about an OPC UA Type.\n  /// </summary>\n  [DataContractAttribute(Name = \"UATypeInfo\", Namespace = CommonDefinitions.Namespace)]\n  [SerializableAttribute()]\n  public class UATypeInfo\n  {\n\n    #region creators\n    /// <summary>\n    /// Initializes a new instance of the <see cref=\"UATypeInfo\"/> class representing an unknown type.\n    /// </summary>\n    [Obsolete(\"Shall be used only by the serializer\")]\n    public UATypeInfo()\n    {\n      m_builtInType = BuiltInType.Null;\n      m_valueRank = ValueRanks.Any;\n    }\n    /// <summary>\n    /// Initializes a new instance of the <see cref=\"UATypeInfo\"/> class representing <see cref=\"BuiltInType\"/> and value rank.\n    /// </summary>\n    /// <param name=\"builtInType\">Type of the an OPC UA entity.</param>\n    public UATypeInfo(BuiltInType builtInType) : this(builtInType, ValueRanks.Scalar) { }\n    /// <summary>\n    /// Initializes a new instance of the <see cref=\"UATypeInfo\"/> class representing <see cref=\"BuiltInType\"/> and value rank.\n    /// </summary>\n    /// <param name=\"builtInType\">Type of the an OPC UA entity.</param>\n    /// <param name=\"valueRank\">The value rank.</param>\n    public UATypeInfo(BuiltInType builtInType, int valueRank) : this(builtInType, valueRank, null) { }\n    /// <summary>\n    /// Initializes a new instance of the <see cref=\"UATypeInfo\"/> class.\n    /// </summary>\n    /// <param name=\"builtInType\">Type of the built in.</param>\n    /// <param name=\"valueRank\">The value rank.</param>\n    /// <param name=\"arrayDimensions\">The array dimensions.</param>\n    /// <exception cref=\"System.ArgumentOutOfRangeException\">$for {nameof(valueRank)} == {valueRank} {nameof(ArrayDimensions)} must be provided.</exception>\n    public UATypeInfo(BuiltInType builtInType, int valueRank, int[] arrayDimensions)\n    {\n      if ((valueRank == 0 || valueRank > 1) && (arrayDimensions == null || arrayDimensions.Length == 0))\n        throw new ArgumentOutOfRangeException(nameof(valueRank), $\"for {nameof(valueRank)} == {valueRank} {nameof(ArrayDimensions)} must be provided.\");\n      m_builtInType = builtInType;\n      m_valueRank = valueRank;\n      m_ArrayDimensionsField = (arrayDimensions == null || arrayDimensions.Length == 0) ? null : (int[])arrayDimensions.Clone();\n    }\n    #endregion\n\n    #region properties\n    /// <summary>\n    /// The built-in type.\n    /// </summary>\n    /// <value>The type of any value represented by this instance.</value>\n    [DataMemberAttribute(EmitDefaultValue = false)]\n    public BuiltInType BuiltInType\n    {\n      get { return m_builtInType; }\n      set { m_builtInType = value; }\n    }\n    /// <summary>\n    /// Gets or sets the array range. Indicates whether the dataType is an array and how many dimensions the array has.\n    /// It may have the following values:\n    /// n > 1: the dataType is an array with the specified number of dimensions.\n    /// OneDimension(1): The dataType is an array with one dimension.\n    /// OneOrMoreDimensions (0): The dataType is an array with one or more dimensions.\n    /// Scalar (−1): The dataType is not an array.\n    /// Any (−2): The dataType can be a scalar or an array with any number of dimensions.\n    /// ScalarOrOneDimension(−3): The dataType can be a scalar or a one dimensional array.\n    /// </summary>\n    /// <remarks>\n    /// <note>\n    /// NOTE All DataTypes are considered to be scalar, even if they have array-like semantics like ByteString and String.\n    /// </note>\n    /// </remarks>\n    /// <value>The array dimensions.</value>\n    [DataMemberAttribute(IsRequired = true)]\n    public int ValueRank\n    {\n      get { return m_valueRank; }\n      set { m_valueRank = value; }\n    }\n    /// <summary>\n    /// Gets or sets the array dimensions - Specifies the length of each dimension for an array dataType. \n    /// It is intended to describe the capability of the dataType, not the current size.\n    /// The number of elements shall be equal to the value of the valueRank.Shall be null if valueRank ≤ 0.\n    /// A value of 0 for an individual dimension indicates that the dimension has a variable length.\n    /// </summary>\n    /// <value>The array dimensions.</value>\n    [DataMemberAttribute(EmitDefaultValue = false)]\n    public int[] ArrayDimensions\n    {\n      get { return m_ArrayDimensionsField; }\n      set { m_ArrayDimensionsField = value; }\n    }\n    #endregion\n\n    #region private\n    private BuiltInType m_builtInType;\n    private int m_valueRank;\n    private int[] m_ArrayDimensionsField;\n    #endregion\n\n  }\n}\n"
  },
  {
    "path": "Configuration/NetworkingUpgrade/Re_l1_00_16/ValueRanks.cs",
    "content": "﻿\nusing System.Collections.Generic;\n\nnamespace UAOOI.Configuration.Networking.Upgrade.Re_l1_00_16\n{\n\n  /// <summary>\n  /// Class ValueRanks provides definition of constants defined for the ValueRank attribute.\n  /// </summary>\n  public static class ValueRanks\n  {\n\n    /// <summary>\n    /// The variable may be a scalar or a one dimensional array.\n    /// </summary>\n    public const int ScalarOrOneDimension = -3;\n    /// <summary>\n    /// The variable may be a scalar or an array of any dimension.\n    /// </summary>\n    public const int Any = -2;\n    /// <summary>\n    /// The variable is always a scalar.\n    /// </summary>\n    public const int Scalar = -1;\n    /// <summary>\n    /// The variable is always an array with one or more dimensions.\n    /// </summary>\n    public const int OneOrMoreDimensions = 0;\n    /// <summary>\n    /// The variable is always one dimensional array.\n    /// </summary>\n    public const int OneDimension = 1;\n    /// <summary>\n    /// The variable is always an array with two or more dimensions.\n    /// </summary>\n    public const int TwoDimensions = 2;\n    /// <summary>\n    /// Checks if the actual value rank is compatible with the expected value rank.\n    /// </summary>\n    /// <param name=\"actualValueRank\">The actual value rank.</param>\n    /// <param name=\"expectedValueRank\">The expected value rank.</param>\n    /// <returns><c>true</c> if the specified actual value rank is valid; otherwise, <c>false</c>.</returns>\n    public static bool IsValid(int actualValueRank, int expectedValueRank)\n    {\n      if (actualValueRank == expectedValueRank)\n        return true;\n      switch (expectedValueRank)\n      {\n        case Any:\n          return true;\n        case OneOrMoreDimensions:\n          if (actualValueRank < 0)\n            return false;\n          break;\n        case ScalarOrOneDimension:\n          if (actualValueRank != Scalar && actualValueRank != OneDimension)\n            return false;\n          break;\n        default:\n          return false;\n      }\n      return true;\n    }\n    /// <summary>\n    /// Checks if the actual array dimensions is compatible with the expected value rank and array dimensions.\n    /// </summary>\n    /// <param name=\"actualArrayDimensions\">The actual array dimensions.</param>\n    /// <param name=\"valueRank\">The value rank.</param>\n    /// <param name=\"expectedArrayDimensions\">The expected array dimensions.</param>\n    /// <returns><c>true</c> if the specified actual array dimensions is valid; otherwise, <c>false</c>.</returns>\n    public static bool IsValid(IList<uint> actualArrayDimensions, int valueRank, IList<uint> expectedArrayDimensions)\n    {\n      // check if parameter omitted.\n      if (actualArrayDimensions == null || actualArrayDimensions.Count == 0)\n        return expectedArrayDimensions == null || expectedArrayDimensions.Count == 0;\n      // no array dimensions allowed for scalars.\n      if (valueRank == ValueRanks.Scalar)\n        return false;\n      // check if one dimension required.\n      if ((valueRank == ValueRanks.OneDimension || valueRank == ValueRanks.ScalarOrOneDimension) && (actualArrayDimensions.Count != 1))\n        return false;\n      // check number of dimensions.\n      if ((valueRank != ValueRanks.OneOrMoreDimensions) && (actualArrayDimensions.Count != valueRank))\n        return false;\n      // nothing more to do if expected dimensions omitted.\n      if (expectedArrayDimensions == null || expectedArrayDimensions.Count == 0)\n        return true;\n      // check dimensions.\n      if (expectedArrayDimensions.Count != actualArrayDimensions.Count)\n        return false;\n      // check length of each dimension.\n      for (int ii = 0; ii < expectedArrayDimensions.Count; ii++)\n        if (expectedArrayDimensions[ii] != actualArrayDimensions[ii] && expectedArrayDimensions[ii] != 0)\n          return false;\n      // everything ok.\n      return true;\n    }\n\n  }\n\n}\n"
  },
  {
    "path": "Configuration/README.md",
    "content": "# Configuration - Executive Summary\n\n## Introduction\n\nThis library contains types that support the configuration management of application implementing the paradigm described in [Semantic-Data Processing Architecture](../SemanticData/README.MD#ooi-reactive-application). By design, this library may be used to support a variety of application types at design and run time.\n\nThe project is to be a prototyping workspace to answer the question of how far we can go with the configuration (design-time approach) in the context of the following problems we have:\n\n1. all about how to establish semantic-context, i.e. to make data exchange meaningful\n    * message encoding, i.e. process data selection, and message populating\n    * message decoding preparation of the consumer to be able to decode the messages, i.e. to make the message meaningful\n2. all about how to establish security-context, i..e. to make data exchange secure\n   * Privileges/Permissions management in the context of the mobile data as the primary resource (subject) for any OPC UA data processing application and context of the message handlers as the data access communication channels (infrastructure)\n   * Security artifacts distribution to support all scenarios mentioned above\n\n## Architecture\n\nThe relationship between the assemblies in this namespace is illustrated in the following figure.\n\n![Configuration Architecture](../CommonResources/Media/Configuration/ConfigurationArchitecture.png)\n\n>Where:\n>\n> * `DataBindings` - this library is aimed at implementing an independent editor of the `OOI Reactive Application` (`RxNetworking`) configuration file\n> * `Networking` - this library contains types that support the configuration management of the `OOI Reactive Application` (`RxNetworking`)\n> * `Core` - The library contains core definitions for \"DataBindings\" to promote late binding and loosely coupled components interaction\n>\n\n## Features\n\nBy design libraries in this namespace\n\n* allow editing and saving the configuration in the **XML** or **JSON** formats\n* promotes dependency injection pattern\n* enable dynamic configuration to reload after modification and discovery functionality\n\nThe dependency injection allows the composition of the hosting application using a late-binding approach and as a result replacing the used parts after deploying the main library. It requires loosely coupled parts.\n\n## Prerequisites\n\nBy design, the Configuration libraries depend on a logger functionality implementing the interface\n\n```txt\n\nUAOOI.Common.Infrastructure.Diagnostic.ITraceSource\n\n```\n\ndefined in the `UAOOI.Common.Infrastructure` package. It is used to trace the behavior of libraries at run-time. To get an instance implementing this interface the `CommonServiceLocator` is used. The functionality required by the `CommonServiceLocator` has to be provided by the hosting application. Usually, it is provided by the composition container that is built at the application bootstrap stage. To get more visit this library home page [Microsoft.Practices.ServiceLocation at GitHub](https://github.com/unitycontainer/commonservicelocator).\n\n> If the `CommonServiceLocator` is not available a default logger (do nothing) is used.\n\n## How to guide\n\n### How to use the library by the configuration editor tool\n\nThe following code snippet demonstrates how to use this library set by a configuration editor tool.\n\n```C#\n\npublic class ConfigurationEditorBase : IConfigurationEditor { ... }\npublic class InstanceConfigurationFactory : IInstanceConfigurationFactory { ... }\n\n```\n\nImplementation of this scenario is covered by a full-featured example managed in an independent repository [Object Oriented Internet Reactive Networking Configuration Editor](https://github.com/mpostol/OPC-UA-OOI.ConfigEditor). Implementation of the above-mentioned interfaces is supported by the libraries that provide a vast variety of helper classes.\n\n### How to use the library by the RxNetworking (OPC UA PubSub) communication application\n\nFor the XML format, an example illustrating the reactive networking (`RxNetworking`) atop of the OPC UA PubSub is the `UAOOI.Networking.DataLogger.ConsumerConfigurationFactory` class. The following code snippet demonstrates this case. To get more examples of how to design custom configuration, visit the document covering [`RxNetworking configuration][RxNetworkingConfig].\n\n```C#\n\ninternal class ConsumerConfigurationFactory : ConfigurationFactoryBase<ConfigurationData>\n{\n  ...\n\n  public ConsumerConfigurationFactory(string configurationFileName)\n  {\n    Loader = LoadConfig;\n    m_ConfigurationFileName = configurationFileName;\n  }\n\n  private ConfigurationData LoadConfig()\n  {\n    FileInfo _configurationFile = new FileInfo(m_ConfigurationFileName);\n    return ConfigurationDataFactoryIO.Load<ConfigurationData>(() => XmlDataContractSerializers.Load<ConfigurationData>(_configurationFile, (x, y, z) => { }), () => RaiseEvents());\n  }\n  ...\n}\n\n```\n\n## See Also\n\n* [Reactive Networking (RxNetworking) Configuration][RxNetworkingConfig].\n* API Browser: the preliminary code help documentation - [available for sponsors- consider joining](https://github.commsvr.com/AboutPartnershipProgram.md.html)\n* [OPC UA Address Space Model Designer (ASMD) - GitHub repository with related work][ASMD]\n\n[RxNetworkingConfig]:./Networking/README.MD\n[ASMD]:https://github.com/mpostol/ASMD\n"
  },
  {
    "path": "Configuration/Tests/DataBindingsUnitTest/Configuration.DataBindings.UnitTest.csproj",
    "content": "﻿<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<Project ToolsVersion=\"12.0\" DefaultTargets=\"Build\" xmlns=\"http://schemas.microsoft.com/developer/msbuild/2003\">\n  <PropertyGroup>\n    <Configuration Condition=\" '$(Configuration)' == '' \">Debug</Configuration>\n    <Platform Condition=\" '$(Platform)' == '' \">AnyCPU</Platform>\n    <ProjectGuid>{71D956E4-1AE6-4EF8-BC18-A195A68AFAB5}</ProjectGuid>\n    <OutputType>Library</OutputType>\n    <AppDesignerFolder>Properties</AppDesignerFolder>\n    <RootNamespace>UAOOI.Configuration.DataBindings.UnitTest</RootNamespace>\n    <AssemblyName>UAOOI.Configuration.DataBindings.UnitTest</AssemblyName>\n    <TargetFrameworkVersion>v4.7.2</TargetFrameworkVersion>\n    <FileAlignment>512</FileAlignment>\n    <ProjectTypeGuids>{3AC096D0-A1C2-E12C-1390-A8335801FDAB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>\n    <VisualStudioVersion Condition=\"'$(VisualStudioVersion)' == ''\">10.0</VisualStudioVersion>\n    <VSToolsPath Condition=\"'$(VSToolsPath)' == ''\">$(MSBuildExtensionsPath32)\\Microsoft\\VisualStudio\\v$(VisualStudioVersion)</VSToolsPath>\n    <ReferencePath>$(ProgramFiles)\\Common Files\\microsoft shared\\VSTT\\$(VisualStudioVersion)\\UITestExtensionPackages</ReferencePath>\n    <IsCodedUITest>False</IsCodedUITest>\n    <TestProjectType>UnitTest</TestProjectType>\n    <SolutionDir Condition=\"$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'\">..\\</SolutionDir>\n    <RestorePackages>true</RestorePackages>\n    <TargetFrameworkProfile />\n  </PropertyGroup>\n  <PropertyGroup Condition=\" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' \">\n    <DebugSymbols>true</DebugSymbols>\n    <DebugType>full</DebugType>\n    <Optimize>false</Optimize>\n    <OutputPath>bin\\Debug\\</OutputPath>\n    <DefineConstants>DEBUG;TRACE</DefineConstants>\n    <ErrorReport>prompt</ErrorReport>\n    <WarningLevel>4</WarningLevel>\n    <NoWarn>IDE0001,IDE0003,CS0067</NoWarn>\n    <UseVSHostingProcess>false</UseVSHostingProcess>\n  </PropertyGroup>\n  <PropertyGroup Condition=\" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' \">\n    <DebugType>pdbonly</DebugType>\n    <Optimize>true</Optimize>\n    <OutputPath>bin\\Release\\</OutputPath>\n    <DefineConstants>TRACE</DefineConstants>\n    <ErrorReport>prompt</ErrorReport>\n    <WarningLevel>4</WarningLevel>\n  </PropertyGroup>\n  <PropertyGroup>\n    <SignAssembly>true</SignAssembly>\n  </PropertyGroup>\n  <PropertyGroup>\n    <AssemblyOriginatorKeyFile>OPCUAOOIKey.snk</AssemblyOriginatorKeyFile>\n  </PropertyGroup>\n  <ItemGroup>\n    <Reference Include=\"CommonServiceLocator, Version=2.0.6.0, Culture=neutral, PublicKeyToken=489b6accfaf20ef0, processorArchitecture=MSIL\">\n      <HintPath>..\\..\\..\\packages\\CommonServiceLocator.2.0.6\\lib\\net47\\CommonServiceLocator.dll</HintPath>\n    </Reference>\n    <Reference Include=\"System\" />\n    <Reference Include=\"System.Diagnostics.TraceSource, Version=4.0.1.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL\">\n      <HintPath>..\\..\\..\\packages\\System.Diagnostics.TraceSource.4.3.0\\lib\\net46\\System.Diagnostics.TraceSource.dll</HintPath>\n      <Private>True</Private>\n      <Private>True</Private>\n    </Reference>\n    <Reference Include=\"System.Runtime.Serialization\" />\n    <Reference Include=\"System.XML\" />\n    <Reference Include=\"UAOOI.Common.Infrastructure, Version=6.4.6.0, Culture=neutral, PublicKeyToken=deede3c2df331bb0, processorArchitecture=MSIL\">\n      <HintPath>..\\..\\..\\packages\\UAOOI.Common.Infrastructure.6.4.7\\lib\\netstandard2.0\\UAOOI.Common.Infrastructure.dll</HintPath>\n    </Reference>\n  </ItemGroup>\n  <Choose>\n    <When Condition=\"('$(VisualStudioVersion)' == '10.0' or '$(VisualStudioVersion)' == '') and '$(TargetFrameworkVersion)' == 'v3.5'\">\n      <ItemGroup>\n        <Reference Include=\"Microsoft.VisualStudio.QualityTools.UnitTestFramework, Version=10.1.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL\" />\n      </ItemGroup>\n    </When>\n    <Otherwise>\n      <ItemGroup>\n        <Reference Include=\"Microsoft.VisualStudio.QualityTools.UnitTestFramework\">\n          <Private>False</Private>\n        </Reference>\n      </ItemGroup>\n    </Otherwise>\n  </Choose>\n  <ItemGroup>\n    <Compile Include=\"Exports\\ConfigurationEditor.cs\" />\n    <Compile Include=\"Exports\\Container.cs\" />\n    <Compile Include=\"Exports\\InstanceConfigurationFactory.cs\" />\n    <Compile Include=\"Exports\\Logger.cs\" />\n    <Compile Include=\"NodeDescriptor.cs\" />\n    <Compile Include=\"ConfigurationBaseUnitTest.cs\" />\n    <Compile Include=\"InstanceConfigurationBaseUnitTest.cs\" />\n    <Compile Include=\"Properties\\AssemblyInfo.cs\">\n      <AutoGen>True</AutoGen>\n      <DesignTime>True</DesignTime>\n      <DependentUpon>AssemblyInfo.tt</DependentUpon>\n    </Compile>\n    <Compile Include=\"NodeDescriptorBaseUnitTest.cs\" />\n    <Compile Include=\"UANetworkingConfigurationEditorUnitTest.cs\" />\n  </ItemGroup>\n  <ItemGroup>\n    <ProjectReference Include=\"..\\..\\Core\\Configuration.Core.csproj\">\n      <Project>{0a2fb856-d50c-463d-8218-063a36942188}</Project>\n      <Name>Configuration.Core</Name>\n    </ProjectReference>\n    <ProjectReference Include=\"..\\..\\DataBindings\\Configuration.DataBindings.csproj\">\n      <Project>{f8db9567-c559-440c-bbcf-e02013f9ab94}</Project>\n      <Name>Configuration.DataBindings</Name>\n    </ProjectReference>\n    <ProjectReference Include=\"..\\..\\Networking\\Configuration.Networking.csproj\">\n      <Project>{e28e0880-03aa-4d1b-a820-41b04e766019}</Project>\n      <Name>Configuration.Networking</Name>\n    </ProjectReference>\n  </ItemGroup>\n  <ItemGroup>\n    <None Include=\"app.config\">\n      <SubType>Designer</SubType>\n    </None>\n    <None Include=\"OPCUAOOIKey.snk\" />\n    <None Include=\"packages.config\">\n      <SubType>Designer</SubType>\n    </None>\n    <None Include=\"Properties\\AssemblyInfo.tt\">\n      <Generator>TextTemplatingFileGenerator</Generator>\n      <LastGenOutput>AssemblyInfo.cs</LastGenOutput>\n    </None>\n  </ItemGroup>\n  <ItemGroup>\n    <Service Include=\"{508349B6-6B84-4DF5-91F0-309BEEBAD82D}\" />\n  </ItemGroup>\n  <Choose>\n    <When Condition=\"'$(VisualStudioVersion)' == '10.0' And '$(IsCodedUITest)' == 'True'\">\n      <ItemGroup>\n        <Reference Include=\"Microsoft.VisualStudio.QualityTools.CodedUITestFramework, Version=10.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL\">\n          <Private>False</Private>\n        </Reference>\n        <Reference Include=\"Microsoft.VisualStudio.TestTools.UITest.Common, Version=10.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL\">\n          <Private>False</Private>\n        </Reference>\n        <Reference Include=\"Microsoft.VisualStudio.TestTools.UITest.Extension, Version=10.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL\">\n          <Private>False</Private>\n        </Reference>\n        <Reference Include=\"Microsoft.VisualStudio.TestTools.UITesting, Version=10.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL\">\n          <Private>False</Private>\n        </Reference>\n      </ItemGroup>\n    </When>\n  </Choose>\n  <Import Project=\"$(VSToolsPath)\\TeamTest\\Microsoft.TestTools.targets\" Condition=\"Exists('$(VSToolsPath)\\TeamTest\\Microsoft.TestTools.targets')\" />\n  <Import Project=\"$(MSBuildToolsPath)\\Microsoft.CSharp.targets\" />\n  <Import Project=\"$(SolutionDir)\\.nuget\\NuGet.targets\" Condition=\"Exists('$(SolutionDir)\\.nuget\\NuGet.targets')\" />\n  <Target Name=\"EnsureNuGetPackageBuildImports\" BeforeTargets=\"PrepareForBuild\">\n    <PropertyGroup>\n      <ErrorText>This project references NuGet package(s) that are missing on this computer. Enable NuGet Package Restore to download them.  For more information, see http://go.microsoft.com/fwlink/?LinkID=322105. The missing file is {0}.</ErrorText>\n    </PropertyGroup>\n    <Error Condition=\"!Exists('$(SolutionDir)\\.nuget\\NuGet.targets')\" Text=\"$([System.String]::Format('$(ErrorText)', '$(SolutionDir)\\.nuget\\NuGet.targets'))\" />\n  </Target>\n  <!-- To modify your build process, add your task inside one of the targets below and uncomment it. \n       Other similar extension points exist, see Microsoft.Common.targets.\n  <Target Name=\"BeforeBuild\">\n  </Target>\n  <Target Name=\"AfterBuild\">\n  </Target>\n  -->\n</Project>"
  },
  {
    "path": "Configuration/Tests/DataBindingsUnitTest/ConfigurationBaseUnitTest.cs",
    "content": "﻿\nusing Microsoft.VisualStudio.TestTools.UnitTesting;\nusing System;\nusing System.IO;\nusing UAOOI.Common.Infrastructure.Diagnostic;\nusing UAOOI.Configuration.Core;\nusing UAOOI.Configuration.Networking.Serialization;\n\nnamespace UAOOI.Configuration.DataBindings.UnitTest\n{\n  [TestClass]\n  [DeploymentItem(@\"..\\..\\..\\NetworkingUnitTest\\TestData\\\", @\"TestData\\\")]\n  public class ConfigurationBaseUnitTest\n  {\n\n    #region TestMethod\n    [TestMethod]\n    [TestCategory(\"DataBindings_ConfigurationBaseUnitTest\")]\n    public void CreatorTestMethod()\n    {\n      ConfigurationBaseDerivedTest _newConfiguration = new ConfigurationBaseDerivedTest();\n      Assert.IsNotNull(_newConfiguration);\n      Assert.IsNull(_newConfiguration.ConfigurationData);\n      Assert.IsNull(_newConfiguration.CurrentConfiguration);\n      Assert.IsNotNull(_newConfiguration.TraceSource);\n    }\n    [TestMethod]\n    [TestCategory(\"DataBindings_ConfigurationBaseUnitTest\")]\n    public void RaiseOnChangeNullTestMethod()\n    {\n      ConfigurationBaseDerivedTest _instance = new ConfigurationBaseDerivedTest();\n      int _OnModifiedCalled = 0;\n      _instance.OnModified += (x, y) => { _OnModifiedCalled++; Assert.IsTrue(y.ConfigurationFileChanged); };\n      _instance.CurrentConfiguration = new ConfigurationData();\n      Assert.AreEqual<int>(1, _OnModifiedCalled);\n      _instance.CurrentConfiguration = _instance.CurrentConfiguration;\n      Assert.AreEqual<int>(1, _OnModifiedCalled);\n      _instance.CurrentConfiguration = new ConfigurationData();\n      Assert.AreEqual<int>(2, _OnModifiedCalled);\n      _instance.CreateDefaultConfiguration();\n      Assert.AreEqual<int>(3, _OnModifiedCalled);\n    }\n    [TestMethod]\n    [TestCategory(\"DataBindings_ConfigurationBaseUnitTest\")]\n    //[DeploymentItem(@\"..\\..\\..\\NetworkingUnitTest\\TestData\\\", @\"TestData\\\")]\n    public void ReadConfigurationTest()\n    {\n      ConfigurationBaseDerivedTest _instance = new ConfigurationBaseDerivedTest();\n      _instance.TraceSource = new TraceSourceBase();\n      int _OnModifiedCalled = 0;\n      _instance.OnModified += (x, y) => _OnModifiedCalled++;\n      FileInfo _configurationFile = new FileInfo(@\"TestData\\ConfigurationDataConsumer.xml\");\n      Assert.IsTrue(_configurationFile.Exists);\n      _instance.ReadConfiguration(_configurationFile);\n      Assert.IsNotNull(_instance.CurrentConfiguration);\n      Assert.AreEqual<int>(1, _OnModifiedCalled);\n      _instance.CurrentConfiguration = _instance.CurrentConfiguration;\n      Assert.AreEqual<int>(1, _OnModifiedCalled);\n      _configurationFile = new FileInfo(@\"TestData\\ConfigurationDataProducer.xml\");\n      Assert.IsTrue(_configurationFile.Exists);\n      _instance.ReadConfiguration(_configurationFile);\n      Assert.AreEqual<int>(2, _OnModifiedCalled);\n    }\n    #endregion\n\n    #region private\n    private class ConfigurationBaseDerivedTest : ConfigurationBase<ConfigurationData>\n    {\n      /// <summary>\n      /// Gets the default name of the file.\n      /// </summary>\n      /// <value>The default name of the file.</value>\n      /// <exception cref=\"NotImplementedException\"></exception>\n      public override string DefaultFileName\n      {\n        get\n        {\n          throw new NotImplementedException();\n        }\n      }\n      /// <summary>\n      /// Creates the default configuration.\n      /// </summary>\n      public override void CreateDefaultConfiguration()\n      {\n        CurrentConfiguration = new ConfigurationData();\n      }\n      /// <summary>\n      /// Creates automatically the instance configurations on the best effort basis.\n      /// </summary>\n      /// <param name=\"descriptors\">The descriptors of nodes.</param>\n      /// <param name=\"SkipOpeningConfigurationFile\">if set to <c>true</c> skip opening configuration file.</param>\n      /// <param name=\"CancelWasPressed\">if set to <c>true</c> cancel was pressed.</param>\n      /// <exception cref=\"NotImplementedException\"></exception>\n      public override void CreateInstanceConfigurations(INodeDescriptor[] descriptors, bool SkipOpeningConfigurationFile, out bool CancelWasPressed)\n      {\n        throw new NotImplementedException();\n      }\n      /// <summary>\n      /// Gets the configuration editor - user interface to edit the plug-in configuration file.\n      /// </summary>\n      /// <returns>Represents a window or dialog box that makes up an application's user interface to be used to edit configuration file.</returns>\n      /// <exception cref=\"NotImplementedException\"></exception>\n      public override void EditConfiguration()\n      {\n        throw new NotImplementedException();\n      }\n      /// <summary>\n      /// Gets the instance to be used by a user to configure the selected node.\n      /// </summary>\n      /// <param name=\"descriptor\">Provides identifying description of the node to be configured.</param>\n      /// <returns>Returned object provides access to the instance node configuration edition functionality.</returns>\n      /// <exception cref=\"NotImplementedException\"></exception>\n      public override IInstanceConfiguration GetInstanceConfiguration(INodeDescriptor descriptor)\n      {\n        throw new NotImplementedException();\n      }\n      /// <summary>\n      /// Saves the configuration file to a specified location.\n      /// </summary>\n      /// <param name=\"solutionFilePath\">The solution file path.</param>\n      /// <param name=\"configurationFile\">The configuration file.</param>\n      /// <exception cref=\"NotImplementedException\"></exception>\n      /// <remarks><paramref name=\"solutionFilePath\" /> is to be used to create relative file path to configuration files used by the plug-in.</remarks>\n      public override void SaveConfiguration(string solutionFilePath, FileInfo configurationFile)\n      {\n        throw new NotImplementedException();\n      }\n    }\n    #endregion\n\n  }\n}\n"
  },
  {
    "path": "Configuration/Tests/DataBindingsUnitTest/Exports/ConfigurationEditor.cs",
    "content": "﻿\nusing System;\nusing UAOOI.Configuration.Core;\nusing UAOOI.Configuration.Networking.Serialization;\n\nnamespace UAOOI.Configuration.DataBindings.UnitTest.Exports\n{\n\n  /// <summary>\n  /// Class ConfigurationEditorBase - a simple implementation of the <see cref=\"IConfigurationEditor\"/>.\n  /// </summary>\n  public class ConfigurationEditorBase : IConfigurationEditor\n  {\n    /// <summary>\n    /// Creates the instance configurations.\n    /// </summary>\n    /// <param name=\"descriptors\">The descriptors.</param>\n    /// <param name=\"SkipOpeningConfigurationFile\">if set to <c>true</c> skip opening configuration file.</param>\n    /// <param name=\"CancelWasPressed\">The cancel was pressed.</param>\n    public virtual void CreateInstanceConfigurations(INodeDescriptor[] descriptors, bool SkipOpeningConfigurationFile, Action<bool> CancelWasPressed)\n    {\n      throw new NotImplementedException(\"CreateInstanceConfigurations is not implemented yet\");\n      //MessageBox.Show(\"CreateInstanceConfigurations is not implemented yet\", \"Library functionality\", MessageBoxButton.OK, MessageBoxImage.Question);\n    }\n    /// <summary>\n    /// Open configuration editor.\n    /// </summary>\n    /// <param name=\"configuration\">The configuration.</param>\n    public virtual void EditConfiguration(ConfigurationData configuration)\n    {\n      throw new NotImplementedException(\"EditConfiguration is not implemented yet\");\n      //MessageBox.Show(\"EditConfiguration is not implemented yet\", \"Library functionality\", MessageBoxButton.OK, MessageBoxImage.Question);\n    }\n\n  }\n\n}\n"
  },
  {
    "path": "Configuration/Tests/DataBindingsUnitTest/Exports/Container.cs",
    "content": "﻿\nusing System;\nusing System.Collections.Generic;\nusing System.Linq;\n\nnamespace UAOOI.Configuration.DataBindings.UnitTest.Exports\n{\n  internal class Container : CommonServiceLocator.ServiceLocatorImplBase\n  {\n\n    public Container()\n    {\n      m_ObjectsContainer = new List<Object>() { new Logger { }, new ConfigurationEditorBase(), new InstanceConfigurationFactory() };\n    }\n\n    private readonly IEnumerable<object> m_ObjectsContainer;\n\n    #region ServiceLocatorImplBase\n    protected override object DoGetInstance(Type requestedType, string key)\n    {\n      return String.IsNullOrEmpty(key) ? m_ObjectsContainer.First(o => requestedType.IsAssignableFrom(o.GetType()))\n                                       : m_ObjectsContainer.First(o => requestedType.IsAssignableFrom(o.GetType()) && Equals(key, o.GetType().FullName));\n    }\n    protected override IEnumerable<object> DoGetAllInstances(Type requestedType)\n    {\n      return m_ObjectsContainer.Where(o => requestedType.IsAssignableFrom(o.GetType()));\n    }\n\n    #endregion\n  }\n}\n"
  },
  {
    "path": "Configuration/Tests/DataBindingsUnitTest/Exports/InstanceConfigurationFactory.cs",
    "content": "﻿\nusing System;\nusing System.Collections.ObjectModel;\nusing System.ComponentModel;\nusing System.Linq;\nusing UAOOI.Configuration.Core;\nusing UAOOI.Configuration.Networking.Serialization;\n\nnamespace UAOOI.Configuration.DataBindings.UnitTest.Exports\n{\n  public class InstanceConfigurationFactory : IInstanceConfigurationFactory\n  {\n    public IInstanceConfiguration GetIInstanceConfiguration(DataSetConfiguration dataSet, ObservableCollection<MessageHandlerConfiguration> availableHandlers, TraceEvent trace, Action onModification)\n    {\n      return new InstanceConfiguration(dataSet, availableHandlers, trace, onModification);\n    }\n    private class InstanceConfiguration : IInstanceConfiguration, INotifyPropertyChanged\n    {\n\n      public InstanceConfiguration(DataSetConfiguration dataSet, ObservableCollection<MessageHandlerConfiguration> availableHandlers, TraceEvent trace, Action onModification)\n      {\n        AvailableMessageHandlers = availableHandlers;\n        AssociatedMessageHandlers = new ObservableCollection<MessageHandlerConfiguration>(availableHandlers.Where<MessageHandlerConfiguration>(x => x.Associated(dataSet.AssociationName)).ToArray<MessageHandlerConfiguration>());\n        DataSetConfiguration = dataSet;\n        PropertyChanged += (x, y) => onModification();\n      }\n      /// <summary>\n      /// Occurs when a property value changes.\n      /// </summary>\n      public event PropertyChangedEventHandler PropertyChanged;\n\n      #region IInstanceConfiguration\n      public void ClearConfiguration()\n      {\n        throw new NotImplementedException(\"ClearConfiguration for IInstanceConfigurations is not implemented yet\");\n        //MessageBox.Show(\"ClearConfiguration for IInstanceConfigurations is not implemented yet\", \"Library functionality\", MessageBoxButton.OK, MessageBoxImage.Question);\n      }\n      public void Edit()\n      {\n        throw new NotImplementedException(\"Edit for IInstanceConfigurations is not implemented yet\");\n        //MessageBox.Show(\"Edit for IInstanceConfigurations is not implemented yet\", \"Library functionality\", MessageBoxButton.OK, MessageBoxImage.Question);\n      }\n      #endregion\n\n      #region properties for view interface\n      [DisplayName(\"Available Handlers\")]\n      [Description(\"Available massage handlers collection - use the provided row editor to add, remove or modify available data sources.\")]\n      [Category(\"Message Handlers\")]\n      [ReadOnly(false)]\n      [TypeConverterAttribute(typeof(CollectionConverter))]\n      public ObservableCollection<MessageHandlerConfiguration> AvailableMessageHandlers { get; set; }\n      [DisplayName(\"Associated Handlers\")]\n      [Description(\"Associated massage handlers collection - use the provided row editor to add, remove or modify available data sources.\")]\n      [Category(\"Message Handlers\")]\n      [ReadOnly(true)]\n      [TypeConverterAttribute(typeof(CollectionConverter))]\n      public ObservableCollection<MessageHandlerConfiguration> AssociatedMessageHandlers { get; set; }\n      [DisplayName(\"DataSet\")]\n      [Description(\"Selected node DataSet that is to be used by a process data binding manager at run time to couple the instantiated object with the message centric communication.\")]\n      [Category(\"Data Set\")]\n      [ReadOnly(false)]\n      [NotifyParentProperty(true)]\n      [TypeConverterAttribute(typeof(ExpandableObjectConverter))]\n      public DataSetConfiguration DataSetConfiguration { get; set; }\n      public override string ToString()\n      {\n        return $\"Configuration of: {DataSetConfiguration} associated with {String.Join(\", \", AssociatedMessageHandlers.Select<MessageHandlerConfiguration, string>(x => x.Name))}\";\n      }\n      #endregion\n\n    }\n\n  }\n}\n"
  },
  {
    "path": "Configuration/Tests/DataBindingsUnitTest/Exports/Logger.cs",
    "content": "﻿\nusing System.Collections.Generic;\nusing System.Diagnostics;\nusing UAOOI.Common.Infrastructure.Diagnostic;\n\nnamespace UAOOI.Configuration.DataBindings.UnitTest.Exports\n{\n\n  public class Logger : ITraceSource\n  {\n\n    public class TraceLogEntity\n    {\n      public TraceEventType EventType { get; private set; }\n      public int Id { get; private set; }\n      public object Data { get; private set; }\n      public TraceLogEntity(TraceEventType eventType, int id, object data)\n      {\n        this.EventType = eventType;\n        this.Id = id;\n        this.Data = data;\n      }\n    }\n    public List<TraceLogEntity> TraceLogList { get; } = new List<TraceLogEntity>();\n\n    #region ITraceSource\n    public void TraceData(TraceEventType eventType, int id, object data)\n    {\n      TraceLogList.Add(new TraceLogEntity(eventType, id, data));\n    }\n    #endregion\n\n  }\n}\n"
  },
  {
    "path": "Configuration/Tests/DataBindingsUnitTest/InstanceConfigurationBaseUnitTest.cs",
    "content": "﻿\nusing Microsoft.VisualStudio.TestTools.UnitTesting;\nusing System;\nusing UAOOI.Configuration.Core;\n\nnamespace UAOOI.Configuration.DataBindings.UnitTest\n{\n  [TestClass]\n  public class InstanceConfigurationBaseUnitTest\n  {\n\n    [TestMethod]\n    [ExpectedException(typeof(NotImplementedException))]\n    public void ClearConfigurationTestMethod()\n    {\n      IInstanceConfiguration _ic = new InstanceConfigurationBase();\n      Assert.IsNotNull(_ic);\n      _ic.ClearConfiguration();\n    }\n\n    [TestMethod]\n    [ExpectedException(typeof(NotImplementedException))]\n    public void EditTestMethod()\n    {\n      IInstanceConfiguration _ic = new InstanceConfigurationBase();\n      Assert.IsNotNull(_ic);\n      _ic.Edit();\n    }\n\n  }\n}\n"
  },
  {
    "path": "Configuration/Tests/DataBindingsUnitTest/NodeDescriptor.cs",
    "content": "﻿\nusing System.Xml;\nusing UAOOI.Configuration.Core;\n\nnamespace UAOOI.Configuration.DataBindings.UnitTest\n{\n  /// <summary>\n  /// Class NodeDescriptor provides test implementation of the <see cref=\"INodeDescriptor\"/>\n  /// </summary>\n  internal class NodeDescriptor : NodeDescriptorBase\n  {\n\n    /// <summary>\n    /// Gets the test instance.\n    /// </summary>\n    /// <returns>NodeDescriptor.</returns>\n    internal static NodeDescriptor GetTestInstance()\n    {\n      return new NodeDescriptor()\n      {\n        NodeIdentifier = GetDefaultNodeIdentifier(),\n        BindingDescription = \"BindingDescription\",\n        DataType = new XmlQualifiedName(\"DataType\", \"NameSpace\"),\n        InstanceDeclaration = false,\n        NodeClass = InstanceNodeClassesEnum.Object,\n\n      };\n    }\n    internal static XmlQualifiedName GetDefaultNodeIdentifier()\n    {\n      return new XmlQualifiedName(\"NodeIdentifier\", \"NodeIdentifierNS\");\n    }\n\n    private NodeDescriptor() { }\n\n  }\n}\n"
  },
  {
    "path": "Configuration/Tests/DataBindingsUnitTest/NodeDescriptorBaseUnitTest.cs",
    "content": "﻿using Microsoft.VisualStudio.TestTools.UnitTesting;\nusing System;\nusing System.Collections.Generic;\n\nnamespace UAOOI.Configuration.DataBindings.UnitTest\n{\n  [TestClass]\n  public class NodeDescriptorBaseUnitTest\n  {\n    [TestMethod]\n    [TestCategory(\"DataBindings_NodeDescriptorBaseUnitTest\")]\n    public void CreatorTestMethod()\n    {\n      NodeDescriptorBase _new = NodeDescriptor.GetTestInstance();\n      Assert.IsNotNull(_new);\n      Assert.IsNotNull(_new.NodeIdentifier);\n    }\n    [TestMethod]\n    [TestCategory(\"DataBindings_NodeDescriptorBaseUnitTest\")]\n    public void IComparerTestMethod()\n    {\n      NodeDescriptorBase _new = NodeDescriptor.GetTestInstance();\n      Assert.IsNotNull(_new);\n      Assert.IsNotNull(_new.NodeIdentifier);\n      NodeDescriptorBase _Other = NodeDescriptor.GetTestInstance();\n      Assert.IsNotNull(_new);\n      Assert.IsNotNull(_new.NodeIdentifier);\n      Assert.AreEqual<int>(0, _new.CompareTo(_Other));\n      Assert.AreEqual<NodeDescriptorBase>(_new, _Other);\n    }\n    [TestMethod]\n    [TestCategory(\"DataBindings_NodeDescriptorBaseUnitTest\")]\n    public void IEqualityComparerTestMethod()\n    {\n      NodeDescriptorBase _new = NodeDescriptor.GetTestInstance();\n      Assert.IsNotNull(_new);\n      Assert.IsNotNull(_new.NodeIdentifier);\n      NodeDescriptorBase _other = NodeDescriptor.GetTestInstance();\n      Assert.IsNotNull(_new);\n      Assert.IsNotNull(_new.NodeIdentifier);\n      Assert.AreEqual<int>(_new.GetHashCode(_new), _other.GetHashCode(_other));\n      Assert.AreEqual<NodeDescriptorBase>(_new, _other);\n    }\n    [TestMethod]\n    [TestCategory(\"DataBindings_NodeDescriptorBaseUnitTest\")]\n    [ExpectedException(typeof(ArgumentException))]\n    public void DictionaryTestMethod()\n    {\n      NodeDescriptorBase _new = NodeDescriptor.GetTestInstance();\n      Assert.IsNotNull(_new);\n      Assert.IsNotNull(_new.NodeIdentifier);\n      NodeDescriptorBase _Other = NodeDescriptor.GetTestInstance();\n      Assert.IsNotNull(_new);\n      Assert.IsNotNull(_new.NodeIdentifier);\n      Assert.AreEqual<int>(0, _new.CompareTo(_Other));\n      Assert.AreEqual<NodeDescriptorBase>(_new, _Other);\n      Dictionary<NodeDescriptorBase, NodeDescriptorBase> _newDic = new Dictionary<NodeDescriptorBase, NodeDescriptorBase>();\n      _newDic.Add(_new, _new);\n      Assert.IsTrue(_newDic.ContainsKey(_new));\n      Assert.IsTrue(_newDic.ContainsKey(_Other));\n      _newDic.Add(_new, _Other);\n    }\n  }\n}\n"
  },
  {
    "path": "Configuration/Tests/DataBindingsUnitTest/Properties/AssemblyInfo.cs",
    "content": "﻿//_______________________________________________________________\n//  Title   : Assembly info for: DataBindingsUnitTest\n//  System  : Microsoft VisualStudio 2015 / C#\n//\n//  Copyright (C) 2022 Mariusz Postol LODZ POLAND\n//  +48 608 619 899\n//  mpostol@cas.eu\n//  https://github.com/mpostol/OPC-UA-OOI\n//_______________________________________________________________\n\nusing System.Reflection;\nusing System.Runtime.CompilerServices;\nusing System.Runtime.InteropServices;\n\n[assembly: AssemblyTitle(\"DataBindingsUnitTest\")]\n[assembly: AssemblyDescription(\"OPC UA DataBindings UtitTests\")]\n[assembly: AssemblyConfiguration(\"\")]\n[assembly: AssemblyCompany(\"Mariusz Postol\")]\n[assembly: AssemblyProduct(\"Object Oriented Internet\")]\n[assembly: AssemblyCopyright(\"Copyright (C) 2022 Mariusz Postol LODZ POLAND\")]\n[assembly: AssemblyTrademark(\"Object Oriented Internet\")]\n[assembly: AssemblyCulture(\"\")]\n[assembly: ComVisible(false)]\n[assembly: Guid(\"73e0467b-131e-4a9f-8986-cb00f6c58f62\")]\n[assembly: AssemblyVersion(\"6.4.9.*\")]\n[assembly: AssemblyFileVersion(\"6.4.9\")]\n\n"
  },
  {
    "path": "Configuration/Tests/DataBindingsUnitTest/Properties/AssemblyInfo.tt",
    "content": "﻿<#@ template debug=\"false\" hostspecific=\"false\" language=\"C#\" #>\n<#@ output extension=\".cs\" #>\n//_______________________________________________________________\n//  Title   : Assembly info for: <#=m_AssemblyTitle#>\n//  System  : Microsoft VisualStudio 2015 / C#\n//\n//  <#=AssemblyCopyright#>\n//  <#=Phone#>\n//  <#=Email#>\n//  <#=Url#>\n//_______________________________________________________________\n\nusing System.Reflection;\nusing System.Runtime.CompilerServices;\nusing System.Runtime.InteropServices;\n\n[assembly: AssemblyTitle(\"<#=m_AssemblyTitle#>\")]\n[assembly: AssemblyDescription(\"OPC UA DataBindings UtitTests\")]\n[assembly: AssemblyConfiguration(\"\")]\n[assembly: AssemblyCompany(\"<#=AssemblyCompany#>\")]\n[assembly: AssemblyProduct(\"<#=ConfigurationProduct#>\")]\n[assembly: AssemblyCopyright(\"<#=AssemblyCopyright#>\")]\n[assembly: AssemblyTrademark(\"<#=ProductTrademark#>\")]\n[assembly: AssemblyCulture(\"\")]\n[assembly: ComVisible(false)]\n[assembly: Guid(\"73e0467b-131e-4a9f-8986-cb00f6c58f62\")]\n[assembly: AssemblyVersion(\"<#= ConfigurationVersion #>.*\")]\n[assembly: AssemblyFileVersion(\"<#= ConfigurationVersion #>\")]\n\n<#@ include file = \"..\\..\\..\\..\\CommonResources\\T4Definitions\\Model.t4\" #>\n<#+\nstring m_AssemblyTitle = \"DataBindingsUnitTest\";\n#>\n"
  },
  {
    "path": "Configuration/Tests/DataBindingsUnitTest/UANetworkingConfigurationEditorUnitTest.cs",
    "content": "﻿//__________________________________________________________________________________________________\n//\n//  Copyright (C) 2021, Mariusz Postol LODZ POLAND.\n//\n//  To be in touch join the community at GitHub: https://github.com/mpostol/OPC-UA-OOI/discussions\n//__________________________________________________________________________________________________\n\nusing CommonServiceLocator;\nusing Microsoft.VisualStudio.TestTools.UnitTesting;\nusing System;\nusing System.IO;\nusing System.Reflection;\nusing UAOOI.Configuration.Core;\nusing UAOOI.Configuration.DataBindings.UnitTest.Exports;\nusing UAOOI.Configuration.Networking.Serialization;\n\nnamespace UAOOI.Configuration.DataBindings.UnitTest\n{\n    [TestClass]\n    public class UANetworkingConfigurationEditorUnitTest\n    {\n        #region Test Methods\n\n        [TestMethod]\n        [TestCategory(\"DataBindings_UANetworkingConfigurationEditor\")]\n        public void GetIServerConfigurationTestMethod()\n        {\n            FileInfo _fileInfo = new FileInfo(\"UAOOI.Configuration.DataBindings.dll\");\n            Assert.IsTrue(_fileInfo.Exists);\n            //            IConfiguration _serverConfiguration = null;\n            Container _container = new Container();\n            ServiceLocator.SetLocatorProvider(() => _container);\n            GetIServerConfiguration(_fileInfo, out Assembly _pluginAssembly, out IConfiguration _serverConfiguration);\n            Assert.IsNotNull(_pluginAssembly);\n            Assert.IsNotNull(_serverConfiguration);\n            Assert.IsInstanceOfType(_serverConfiguration, typeof(UANetworkingConfigurationEditor));\n            _serverConfiguration.Dispose();\n        }\n\n        [TestMethod]\n        [TestCategory(\"DataBindings_UANetworkingConfigurationEditor\")]\n        public void AfterCreationStateTest()\n        {\n            Container _container = new Container();\n            ServiceLocator.SetLocatorProvider(() => _container);\n            UANetworkingConfigurationEditor _mc = new UANetworkingConfigurationEditor();\n            Assert.IsNotNull(_mc.ConfigurationEditor);\n            Assert.IsNotNull(_mc.CurrentConfiguration);\n            Assert.IsFalse(String.IsNullOrEmpty(_mc.DefaultFileName));\n            Assert.IsNotNull(_mc.InstanceConfigurationFactory);\n            Assert.IsNotNull(_mc.TraceSource);\n        }\n\n        [TestMethod]\n        [TestCategory(\"DataBindings_UANetworkingConfigurationEditor\")]\n        [ExpectedException(typeof(NotImplementedException))]\n        public void EditConfigurationTest()\n        {\n            Container _container = new Container();\n            ServiceLocator.SetLocatorProvider(() => _container);\n            UANetworkingConfigurationEditor _mc = new UANetworkingConfigurationEditor();\n            _mc.EditConfiguration();\n        }\n\n        [TestMethod]\n        [TestCategory(\"DataBindings_UANetworkingConfigurationEditor\")]\n        [ExpectedException(typeof(NotImplementedException))]\n        public void GetInstanceConfigurationTest()\n        {\n            Container _container = new Container();\n            ServiceLocator.SetLocatorProvider(() => _container);\n            UANetworkingConfigurationEditor _mc = new UANetworkingConfigurationEditor();\n            IInstanceConfiguration _ic = _mc.GetInstanceConfiguration(new NodeDescriptorBase() { NodeIdentifier = new System.Xml.XmlQualifiedName(\"TestNodeIdentifier\", \"UAOOI.Configuration.DataBindings.UnitTest\") });\n            Assert.IsNotNull(_ic);\n            _ic.Edit();\n        }\n\n        [TestMethod]\n        [TestCategory(\"DataBindings_UANetworkingConfigurationEditor\")]\n        public void DefaultFileNameTestMethod()\n        {\n            Container _container = new Container();\n            ServiceLocator.SetLocatorProvider(() => _container);\n            UANetworkingConfigurationEditor _mc = new UANetworkingConfigurationEditor();\n            string _fileName = _mc.DefaultFileName;\n            FileInfo _fi = new FileInfo(_fileName);\n            Assert.AreEqual<string>(\".uasconfig\", _fi.Extension);\n            Assert.AreEqual<string>(\"UANetworkingConfiguration.uasconfig\", _fi.Name);\n        }\n\n        [TestMethod]\n        [TestCategory(\"DataBindings_UANetworkingConfigurationEditor\")]\n        public void CreateDefaultConfigurationTestMethod()\n        {\n            Container _container = new Container();\n            ServiceLocator.SetLocatorProvider(() => _container);\n            UANetworkingConfigurationEditor _newConfiguration = new UANetworkingConfigurationEditor();\n            Assert.IsNotNull(_newConfiguration);\n            _newConfiguration.CreateDefaultConfiguration();\n            Assert.IsNotNull(_newConfiguration.CurrentConfiguration);\n            ConfigurationData _CurrentConfiguration = _newConfiguration.CurrentConfiguration;\n            Assert.IsNotNull(_CurrentConfiguration.DataSets);\n            Assert.AreEqual<int>(0, _CurrentConfiguration.DataSets.Length);\n            Assert.IsNotNull(_CurrentConfiguration.MessageHandlers);\n            Assert.AreEqual<int>(0, _CurrentConfiguration.MessageHandlers.Length);\n        }\n\n        [TestMethod]\n        [TestCategory(\"Configuration_UANetworkingConfigurationUnitTest\")]\n        [ExpectedException(typeof(ArgumentNullException))]\n        public void GetInstanceConfigurationNullTestMethod()\n        {\n            Container _container = new Container();\n            ServiceLocator.SetLocatorProvider(() => _container);\n            UANetworkingConfigurationEditor _newConfiguration = new UANetworkingConfigurationEditor();\n            Assert.IsNotNull(_newConfiguration);\n            IInstanceConfiguration _newInstanceConfiguration = _newConfiguration.GetInstanceConfiguration(null);\n        }\n\n        [TestMethod]\n        [TestCategory(\"Configuration_UANetworkingConfigurationUnitTest\")]\n        public void GetInstanceConfigurationNoConfigurationTestMethod()\n        {\n            Container _container = new Container();\n            ServiceLocator.SetLocatorProvider(() => _container);\n            UANetworkingConfigurationEditor _newConfiguration = new UANetworkingConfigurationEditor();\n            Assert.IsNotNull(_newConfiguration);\n            NodeDescriptor _nd = NodeDescriptor.GetTestInstance();\n            IInstanceConfiguration _newInstanceConfiguration = _newConfiguration.GetInstanceConfiguration(_nd);\n            Assert.IsNotNull(_newInstanceConfiguration);\n            IInstanceConfiguration _nxtInstanceConfiguration = _newConfiguration.GetInstanceConfiguration(_nd);\n            Assert.AreNotSame(_newInstanceConfiguration, _nxtInstanceConfiguration);\n            Assert.AreEqual<string>(_newInstanceConfiguration.ToString(), _nxtInstanceConfiguration.ToString());\n        }\n\n        [TestMethod]\n        [TestCategory(\"Configuration_UANetworkingConfigurationUnitTest\")]\n        public void OnModifiedTestMethod()\n        {\n            UANetworkingConfigurationEditor _newConfiguration = new UANetworkingConfigurationEditor();\n            Assert.IsNotNull(_newConfiguration);\n            bool _ConfigurationFileChanged = false;\n            _newConfiguration.OnModified += (x, y) => { _ConfigurationFileChanged = true; };\n            _newConfiguration.CreateDefaultConfiguration();\n            Assert.IsTrue(_ConfigurationFileChanged);\n            Assert.IsNotNull(_newConfiguration.CurrentConfiguration);\n        }\n\n        #endregion Test Methods\n\n        #region test instrumentation\n\n        private static void GetIServerConfiguration(FileInfo info, out Assembly pluginAssembly, out IConfiguration serverConfiguration)\n        {\n            string iName = typeof(IConfiguration).ToString();\n            pluginAssembly = Assembly.LoadFrom(info.FullName);\n            serverConfiguration = null;\n            foreach (Type pluginType in pluginAssembly.GetExportedTypes())\n                //Only look at public types\n                if (pluginType.IsPublic && !pluginType.IsAbstract && pluginType.GetInterface(iName) != null)\n                    try\n                    {\n                        serverConfiguration = (IConfiguration)Activator.CreateInstance(pluginType);\n                    }\n                    catch (TargetInvocationException _ex)\n                    {\n                        throw new ApplicationException(String.Format(\"The server configuration plug-in {0}/{1} cannot be loaded. Contact the vendor to get current version of this component\", pluginType.FullName, info.Name), _ex);\n                    }\n        }\n\n        #endregion test instrumentation\n    }\n}"
  },
  {
    "path": "Configuration/Tests/DataBindingsUnitTest/app.config",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<configuration>\n  <startup>\n    <supportedRuntime version=\"v4.0\" sku=\".NETFramework,Version=v4.7.2\" />\n  </startup>\n</configuration>"
  },
  {
    "path": "Configuration/Tests/DataBindingsUnitTest/packages.config",
    "content": "﻿<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<packages>\n  <package id=\"CommonServiceLocator\" version=\"2.0.6\" targetFramework=\"net472\" />\n  <package id=\"System.Diagnostics.TraceSource\" version=\"4.3.0\" targetFramework=\"net472\" />\n  <package id=\"UAOOI.Common.Infrastructure\" version=\"6.4.7\" targetFramework=\"net472\" />\n</packages>"
  },
  {
    "path": "Configuration/Tests/NetworkingUnitTest/CSharpSelectedTypesEncoding.cs",
    "content": "﻿using Microsoft.VisualStudio.TestTools.UnitTesting;\nusing System;\nusing System.Runtime.Serialization;\n\nnamespace UAOOI.Configuration.Networking.UnitTest\n{\n  // Set the Name and Namespace properties to new values.\n  [DataContract(Name = \"CSharpJsonEncoding\", Namespace = \"http://www.commsvr.com/UAOOI/DataBindings/UnitTest\")]\n  internal class CSharpSelectedTypesEncoding : IExtensibleDataObject\n  {\n    public CSharpSelectedTypesEncoding() { }\n    // To implement the IExtensibleDataObject interface, you must also implement the ExtensionData property.\n    private ExtensionDataObject extensionDataObjectValue;\n    public ExtensionDataObject ExtensionData\n    {\n      get\n      {\n        return extensionDataObjectValue;\n      }\n      set\n      {\n        extensionDataObjectValue = value;\n      }\n    }\n\n    [DataMember(Name = \"BooleanType\")]\n    internal bool BooleanType = false;\n    [DataMember(Name = \"StringType\")]\n    internal string StringType = \"StringType\";\n    [DataMember(Name = \"floatType\")]\n    internal float floatType = 1.12345678e-3F;\n    [DataMember(Name = \"intType\")]\n    internal int intType = 98765;\n    [DataMember(Name = \"DateTimeType\")]\n    internal DateTime DateTimeType = DateTime.Today;\n    [DataMember(Name = \"GuidType\")]\n    internal Guid GuidType = Guid.NewGuid();\n    [DataMember(Name = \"ByteStringType\")]\n    internal byte[] ByteStringType = new byte[] { 0x1, 0x55, 0xCF, 0xFF };\n\n    internal void AreEqual(CSharpSelectedTypesEncoding p2)\n    {\n      Assert.AreEqual<bool>(this.BooleanType, p2.BooleanType);\n      Assert.AreEqual<string>(this.StringType, p2.StringType);\n      Assert.AreEqual<float>(this.floatType, p2.floatType);\n      Assert.AreEqual<int>(this.intType, p2.intType);\n      Assert.AreEqual<DateTime>(this.DateTimeType, p2.DateTimeType);\n      Assert.AreEqual<Guid>(this.GuidType, p2.GuidType);\n      CollectionAssert.AreEqual(this.ByteStringType, p2.ByteStringType);\n    }\n\n  }\n\n}\n"
  },
  {
    "path": "Configuration/Tests/NetworkingUnitTest/Configuration.Networking.UnitTest.csproj",
    "content": "﻿<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<Project ToolsVersion=\"14.0\" DefaultTargets=\"Build\" xmlns=\"http://schemas.microsoft.com/developer/msbuild/2003\">\n  <PropertyGroup>\n    <Configuration Condition=\" '$(Configuration)' == '' \">Debug</Configuration>\n    <Platform Condition=\" '$(Platform)' == '' \">AnyCPU</Platform>\n    <ProjectGuid>{81DDD889-3223-4F24-8B65-DD5C57886994}</ProjectGuid>\n    <OutputType>Library</OutputType>\n    <AppDesignerFolder>Properties</AppDesignerFolder>\n    <RootNamespace>UAOOI.Configuration.Networking.UnitTest</RootNamespace>\n    <AssemblyName>UAOOI.Configuration.Networking.UnitTest</AssemblyName>\n    <TargetFrameworkVersion>v4.7.2</TargetFrameworkVersion>\n    <FileAlignment>512</FileAlignment>\n    <ProjectTypeGuids>{3AC096D0-A1C2-E12C-1390-A8335801FDAB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>\n    <VisualStudioVersion Condition=\"'$(VisualStudioVersion)' == ''\">10.0</VisualStudioVersion>\n    <VSToolsPath Condition=\"'$(VSToolsPath)' == ''\">$(MSBuildExtensionsPath32)\\Microsoft\\VisualStudio\\v$(VisualStudioVersion)</VSToolsPath>\n    <ReferencePath>$(ProgramFiles)\\Common Files\\microsoft shared\\VSTT\\$(VisualStudioVersion)\\UITestExtensionPackages</ReferencePath>\n    <IsCodedUITest>False</IsCodedUITest>\n    <TestProjectType>UnitTest</TestProjectType>\n    <TargetFrameworkProfile />\n  </PropertyGroup>\n  <PropertyGroup Condition=\" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' \">\n    <DebugSymbols>true</DebugSymbols>\n    <DebugType>full</DebugType>\n    <Optimize>false</Optimize>\n    <OutputPath>bin\\Debug\\</OutputPath>\n    <DefineConstants>TRACE;DEBUG;IDE0001,IDE0002,IDE0003</DefineConstants>\n    <ErrorReport>prompt</ErrorReport>\n    <WarningLevel>4</WarningLevel>\n    <NoWarn>IDE0001,IDE0002,IDE0003</NoWarn>\n    <UseVSHostingProcess>false</UseVSHostingProcess>\n  </PropertyGroup>\n  <PropertyGroup Condition=\" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' \">\n    <DebugType>pdbonly</DebugType>\n    <Optimize>true</Optimize>\n    <OutputPath>bin\\Release\\</OutputPath>\n    <DefineConstants>TRACE</DefineConstants>\n    <ErrorReport>prompt</ErrorReport>\n    <WarningLevel>4</WarningLevel>\n  </PropertyGroup>\n  <PropertyGroup>\n    <SignAssembly>true</SignAssembly>\n  </PropertyGroup>\n  <PropertyGroup>\n    <AssemblyOriginatorKeyFile>OPCUAOOIKey.snk</AssemblyOriginatorKeyFile>\n  </PropertyGroup>\n  <ItemGroup>\n    <Reference Include=\"CommonServiceLocator, Version=2.0.6.0, Culture=neutral, PublicKeyToken=489b6accfaf20ef0, processorArchitecture=MSIL\">\n      <HintPath>..\\..\\..\\packages\\CommonServiceLocator.2.0.6\\lib\\net47\\CommonServiceLocator.dll</HintPath>\n    </Reference>\n    <Reference Include=\"PresentationFramework\" />\n    <Reference Include=\"System\" />\n    <Reference Include=\"System.Diagnostics.TraceSource, Version=4.0.1.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL\">\n      <HintPath>..\\..\\..\\packages\\System.Diagnostics.TraceSource.4.3.0\\lib\\net46\\System.Diagnostics.TraceSource.dll</HintPath>\n      <Private>True</Private>\n      <Private>True</Private>\n    </Reference>\n    <Reference Include=\"System.Runtime.Serialization\" />\n    <Reference Include=\"System.Xml\" />\n    <Reference Include=\"UAOOI.Common.Infrastructure, Version=6.4.6.0, Culture=neutral, PublicKeyToken=deede3c2df331bb0, processorArchitecture=MSIL\">\n      <HintPath>..\\..\\..\\packages\\UAOOI.Common.Infrastructure.6.4.7\\lib\\netstandard2.0\\UAOOI.Common.Infrastructure.dll</HintPath>\n    </Reference>\n  </ItemGroup>\n  <Choose>\n    <When Condition=\"('$(VisualStudioVersion)' == '10.0' or '$(VisualStudioVersion)' == '') and '$(TargetFrameworkVersion)' == 'v3.5'\">\n      <ItemGroup>\n        <Reference Include=\"Microsoft.VisualStudio.QualityTools.UnitTestFramework, Version=10.1.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL\" />\n      </ItemGroup>\n    </When>\n    <Otherwise>\n      <ItemGroup>\n        <Reference Include=\"Microsoft.VisualStudio.QualityTools.UnitTestFramework\">\n          <Private>False</Private>\n        </Reference>\n      </ItemGroup>\n    </Otherwise>\n  </Choose>\n  <ItemGroup>\n    <Compile Include=\"CSharpSelectedTypesEncoding.cs\" />\n    <Compile Include=\"Instrumentation\\ConfigurationDataWrapper.cs\" />\n    <Compile Include=\"Instrumentation\\Container.cs\" />\n    <Compile Include=\"Instrumentation\\CustomConfigurationData.cs\" />\n    <Compile Include=\"Instrumentation\\Logger.cs\" />\n    <Compile Include=\"Instrumentation\\ReferenceConfiguration.cs\" />\n    <Compile Include=\"JSONDataContractSerializersUnitTest.cs\" />\n    <Compile Include=\"PrepareTests.cs\" />\n    <Compile Include=\"Properties\\AssemblyInfo.cs\" />\n    <Compile Include=\"ConfigurationDataUnitTest.cs\" />\n    <Compile Include=\"UANetworkingConfigurationUnitTest.cs\" />\n    <Compile Include=\"UATypeInfoUnitTest.cs\" />\n    <Compile Include=\"ConfigurationFactoryBaseUnitTest.cs\" />\n    <Compile Include=\"DataSetConfigurationUnitTest.cs\" />\n    <Compile Include=\"NodeDescriptorUnitTest.cs\" />\n    <Compile Include=\"XmlDataContractSerializersUnitTest.cs\" />\n  </ItemGroup>\n  <ItemGroup>\n    <None Include=\"Instrumentation\\GoXSD.cmd\" />\n    <None Include=\"OPCUAOOIKey.snk\" />\n  </ItemGroup>\n  <ItemGroup>\n    <ProjectReference Include=\"..\\..\\Networking\\Configuration.Networking.csproj\">\n      <Project>{e28e0880-03aa-4d1b-a820-41b04e766019}</Project>\n      <Name>Configuration.Networking</Name>\n    </ProjectReference>\n  </ItemGroup>\n  <ItemGroup>\n    <None Include=\"packages.config\" />\n    <None Include=\"TestData\\ConfigurationDataConsumer.json\">\n      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>\n    </None>\n    <None Include=\"TestData\\ConfigurationDataConsumer.xml\">\n      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>\n    </None>\n    <None Include=\"TestData\\ConfigurationDataProducer.json\">\n      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>\n    </None>\n    <None Include=\"TestData\\ConfigurationDataProducer.xml\">\n      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>\n    </None>\n  </ItemGroup>\n  <ItemGroup>\n    <None Include=\"TestData\\ConsumerConfigurationDataWrapper.xml\">\n      <CopyToOutputDirectory>Always</CopyToOutputDirectory>\n    </None>\n  </ItemGroup>\n  <ItemGroup>\n    <None Include=\"TestData\\CustomConfigurationData.xml\">\n      <CopyToOutputDirectory>Always</CopyToOutputDirectory>\n    </None>\n  </ItemGroup>\n  <Choose>\n    <When Condition=\"'$(VisualStudioVersion)' == '10.0' And '$(IsCodedUITest)' == 'True'\">\n      <ItemGroup>\n        <Reference Include=\"Microsoft.VisualStudio.QualityTools.CodedUITestFramework, Version=10.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL\">\n          <Private>False</Private>\n        </Reference>\n        <Reference Include=\"Microsoft.VisualStudio.TestTools.UITest.Common, Version=10.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL\">\n          <Private>False</Private>\n        </Reference>\n        <Reference Include=\"Microsoft.VisualStudio.TestTools.UITest.Extension, Version=10.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL\">\n          <Private>False</Private>\n        </Reference>\n        <Reference Include=\"Microsoft.VisualStudio.TestTools.UITesting, Version=10.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL\">\n          <Private>False</Private>\n        </Reference>\n      </ItemGroup>\n    </When>\n  </Choose>\n  <Import Project=\"$(VSToolsPath)\\TeamTest\\Microsoft.TestTools.targets\" Condition=\"Exists('$(VSToolsPath)\\TeamTest\\Microsoft.TestTools.targets')\" />\n  <Import Project=\"$(MSBuildToolsPath)\\Microsoft.CSharp.targets\" />\n  <!-- To modify your build process, add your task inside one of the targets below and uncomment it. \n       Other similar extension points exist, see Microsoft.Common.targets.\n  <Target Name=\"BeforeBuild\">\n  </Target>\n  <Target Name=\"AfterBuild\">\n  </Target>\n  -->\n</Project>"
  },
  {
    "path": "Configuration/Tests/NetworkingUnitTest/ConfigurationDataUnitTest.cs",
    "content": "﻿//___________________________________________________________________________________\n//\n//  Copyright (C) 2018, Mariusz Postol LODZ POLAND.\n//\n//  To be in touch join the community at GITTER: https://gitter.im/mpostol/OPC-UA-OOI\n//___________________________________________________________________________________\n\nusing Microsoft.VisualStudio.TestTools.UnitTesting;\nusing System;\nusing System.Diagnostics;\nusing System.IO;\nusing System.Runtime.Serialization;\nusing System.Xml;\nusing System.Xml.Schema;\nusing UAOOI.Configuration.Networking.Serialization;\nusing UAOOI.Configuration.Networking.Serializers;\nusing UAOOI.Configuration.Networking.UnitTest.Instrumentation;\n\nnamespace UAOOI.Configuration.Networking.UnitTest\n{\n\n  [TestClass]\n  [DeploymentItem(@\"TestData\\\", @\"TestData\\\")]\n  public class ConfigurationDataUnitTest\n  {\n    #region TestMethod\n    [TestMethod]\n    [TestCategory(\"Configuration_ConfigurationDataUnitTest\")]\n    public void AfterCreationTest()\n    {\n      ConfigurationData _newOne = new ConfigurationData();\n      Assert.IsNull(_newOne.DataSets);\n      Assert.IsNull(_newOne.ExtensionData);\n      Assert.AreSame(_newOne, _newOne.GetConfigurationData());\n      Assert.IsNull(_newOne.MessageHandlers);\n      Assert.IsNull(_newOne.OnChanged);\n      Assert.IsNull(_newOne.TypeDictionaries);\n    }\n    [TestMethod]\n    [TestCategory(\"Configuration_ConfigurationDataUnitTest\")]\n    public void LoadSaveTestMethod()\n    {\n      LocalConfigurationData _configuration = ConfigurationDataFactoryIO.Load<LocalConfigurationData>(LocalConfigurationData.Loader, () => { });\n      Assert.IsNotNull(_configuration);\n      Assert.AreEqual<int>(1, _configuration.OnLoadedCount);\n      Assert.AreEqual<int>(0, _configuration.OnSavingCount);\n      ConfigurationDataFactoryIO.Save<LocalConfigurationData>(_configuration, (x) => { Assert.AreEqual<int>(1, x.OnSavingCount); });\n    }\n    [TestMethod]\n    [TestCategory(\"Configuration_ConfigurationDataUnitTest\")]\n    public void SaveLoadTestMethod()\n    {\n      SaveLoadConfigurationData(Role.Consumer, SerializerType.Xml);\n      SaveLoadConfigurationData(Role.Consumer, SerializerType.Json);\n      SaveLoadConfigurationData(Role.Producer, SerializerType.Xml);\n      SaveLoadConfigurationData(Role.Producer, SerializerType.Json);\n      //Assert.Fail();\n    }\n    [TestMethod]\n    [TestCategory(\"Configuration_SerializationUnitTest\")]\n    public void LoadUsingSerializerTestMethod()\n    {\n      LoadUsingSerializer(Role.Consumer, SerializerType.Xml);\n      LoadUsingSerializer(Role.Consumer, SerializerType.Json);\n      LoadUsingSerializer(Role.Producer, SerializerType.Xml);\n      LoadUsingSerializer(Role.Producer, SerializerType.Json);\n    }\n\n    [TestMethod]\n    [TestCategory(\"Configuration_SerializationUnitTest\")]\n    public void ExportXSDUsingDataContractExporter()\n    {\n      //create schema\n      XsdDataContractExporter _exporter = new XsdDataContractExporter();\n      Type _ConfigurationDataType = typeof(ConfigurationData);\n      Assert.IsTrue(_exporter.CanExport(_ConfigurationDataType));\n\n      _exporter.Export(_ConfigurationDataType);\n      Console.WriteLine(\"number of schemas: {0}\", _exporter.Schemas.Count);\n      Console.WriteLine();\n\n      //write out the schema\n      XmlSchemaSet _Schemas = _exporter.Schemas;\n      XmlQualifiedName XmlNameValue = _exporter.GetRootElementName(_ConfigurationDataType);\n      string EmployeeNameSpace = XmlNameValue.Namespace;\n      foreach (XmlSchema _schema in _Schemas.Schemas(EmployeeNameSpace))\n        _schema.Write(Console.Out);\n    }\n    [TestMethod]\n    public void ConfigurationVersionDataTypeTestMethod()\n    {\n      ConfigurationVersionDataType _newInstance = new ConfigurationVersionDataType() { MajorVersion = 1, MinorVersion = 2 };\n      Assert.AreEqual<string>(\"1.2\", _newInstance.ToString());\n    }\n    #endregion\n\n    #region private\n    private class LocalConfigurationData : ConfigurationData\n    {\n      /// <summary>\n      /// Loads this <see cref=\"LocalConfigurationData\"/>.\n      /// </summary>\n      /// <returns>LocalConfigurationData.</returns>\n      internal static LocalConfigurationData Loader()\n      {\n        return new LocalConfigurationData();\n      }\n      public LocalConfigurationData() { }\n      /// <summary>\n      /// Called when the configuration is loaded.\n      /// </summary>\n      public override void OnLoaded()\n      {\n        base.OnLoaded();\n        OnLoadedCount++;\n      }\n      /// <summary>\n      /// Called before the saving the configuration.\n      /// </summary>\n      public override void OnSaving()\n      {\n        base.OnSaving();\n        OnSavingCount++;\n      }\n\n      #region test instrumentation\n      /// <exclude />\n      internal int OnLoadedCount = 0;\n      /// <exclude />\n      internal int OnSavingCount = 0;\n      #endregion\n\n    }\n    private enum Role { Producer, Consumer };\n    private void SaveLoadConfigurationData(Role role, SerializerType serializer)\n    {\n      FileInfo _fileInfo = GetFileName(role, serializer, @\"ConfigurationData{0}.{1}\");\n      ConfigurationData _configuration = null;\n      switch (role)\n      {\n        case Role.Producer:\n          _configuration = ReferenceConfiguration.LoadProducer();\n          break;\n        case Role.Consumer:\n          _configuration = ReferenceConfiguration.LoadConsumer();\n          break;\n        default:\n          break;\n      }\n      ConfigurationDataFactoryIO.Save<ConfigurationData>(_configuration, serializer, _fileInfo, (x, y, z) => { Console.WriteLine(z); });\n      _fileInfo.Refresh();\n      Assert.IsTrue(_fileInfo.Exists);\n      ConfigurationData _mirror = ConfigurationDataFactoryIO.Load<ConfigurationData>(serializer, _fileInfo, (x, y, z) => { Console.WriteLine(z); }, () => { });\n      ReferenceConfiguration.Compare(_configuration, _mirror);\n    }\n    private void LoadUsingSerializer(Role role, SerializerType serializer)\n    {\n      FileInfo _fileInfo = GetFileName(role, serializer, @\"TestData\\ConfigurationData{0}.{1}\");\n      Assert.IsTrue(_fileInfo.Exists, _fileInfo.ToString());\n      ConfigurationData _mirror = null;\n      ConfigurationData _source = null;\n      switch (role)\n      {\n        case Role.Producer:\n          _source = ReferenceConfiguration.LoadProducer();\n          break;\n        case Role.Consumer:\n          _source = ReferenceConfiguration.LoadConsumer();\n          break;\n      }\n      string _message = null;\n      switch (serializer)\n      {\n        case SerializerType.Json:\n          _mirror = ConfigurationDataFactoryIO.Load<ConfigurationData>\n            (() => JSONDataContractSerializers.Load<ConfigurationData>(_fileInfo, (x, y, z) => { _message = z; Assert.AreEqual<TraceEventType>(TraceEventType.Verbose, x); }), () => { });\n          break;\n        case SerializerType.Xml:\n          _mirror = ConfigurationDataFactoryIO.Load<ConfigurationData>\n            (() => XmlDataContractSerializers.Load<ConfigurationData>(_fileInfo, (x, y, z) => { _message = z; Assert.AreEqual<TraceEventType>(TraceEventType.Verbose, x); }), () => { });\n          break;\n      }\n      Console.WriteLine(_message);\n      Assert.IsNotNull(_mirror);\n      Assert.IsFalse(String.IsNullOrEmpty(_message));\n      Assert.IsTrue(_message.Contains(_fileInfo.FullName));\n      ReferenceConfiguration.Compare(_source, _mirror);\n    }\n    private static FileInfo GetFileName(Role role, SerializerType serializer, string fileNameTemplate)\n    {\n      string _extension = serializer == SerializerType.Xml ? \"xml\" : \"json\";\n      string _fileName = String.Format(fileNameTemplate, role, _extension);\n      return new FileInfo(_fileName);\n    }\n    #endregion\n  }\n}\n\n"
  },
  {
    "path": "Configuration/Tests/NetworkingUnitTest/ConfigurationFactoryBaseUnitTest.cs",
    "content": "﻿//___________________________________________________________________________________\n//\n//  Copyright (C) 2019, Mariusz Postol LODZ POLAND.\n//\n//  To be in touch join the community at GITTER: https://gitter.im/mpostol/OPC-UA-OOI\n//___________________________________________________________________________________\n\nusing Microsoft.VisualStudio.TestTools.UnitTesting;\nusing System;\nusing System.IO;\nusing UAOOI.Configuration.Networking.Serialization;\nusing UAOOI.Configuration.Networking.Serializers;\nusing UAOOI.Configuration.Networking.UnitTest.Instrumentation;\n\nnamespace UAOOI.Configuration.Networking.UnitTest\n{\n  [TestClass]\n  [DeploymentItem(@\"TestData\\\", @\"TestData\\\")]\n  public class ConfigurationFactoryBaseUnitTest\n  {\n\n    [TestMethod]\n    [TestCategory(\"DataBindings_XmlSerializerTestMethod\")]\n    public void CreationStateTest()\n    {\n      TestConfigurationDataFactory _newOne = new TestConfigurationDataFactory();\n      Assert.IsNotNull(_newOne.Loader);\n      Assert.IsNull(_newOne.Configuration);\n      ConfigurationData _config = _newOne.GetConfiguration();\n      Assert.IsNotNull(_config);\n      Assert.IsNotNull(_newOne.Configuration);\n      Assert.AreSame(_config, _newOne.Configuration);\n    }\n    [TestMethod]\n    public void LoadConfigurationDataWrapperTest()\n    {\n      TestConfigurationFactoryBaseConfigurationDataWrapper _newOne = new TestConfigurationFactoryBaseConfigurationDataWrapper();\n      Assert.IsNotNull(_newOne.Loader);\n      ConfigurationData _config = _newOne.GetConfiguration();\n      Assert.IsNotNull(_config);\n      Assert.IsNotNull(_newOne.Configuration);\n    }\n    private class TestConfigurationDataFactory : ConfigurationFactoryBase<ConfigurationData>\n    {\n\n      /// <summary>\n      /// Initializes a new instance of the <see cref=\"TestConfigurationDataFactory\"/> class.\n      /// </summary>\n      public TestConfigurationDataFactory()\n      {\n        Loader = LoadConfig;\n      }\n\n      #region ConfigurationFactoryBase\n      /// <summary>\n      /// Occurs after the association configuration has been changed.\n      /// </summary>\n      public override event EventHandler<EventArgs> OnAssociationConfigurationChange;\n      /// <summary>\n      /// Occurs after the communication configuration has been changed.\n      /// </summary>\n      public override event EventHandler<EventArgs> OnMessageHandlerConfigurationChange;\n      #endregion\n\n      internal new Func<ConfigurationData> Loader { get => base.Loader; set => base.Loader = value; }\n\n      #region private\n      private ConfigurationData LoadConfig()\n      {\n        FileInfo _configurationFile = new FileInfo(_ConsumerConfigurationFileName);\n        return ConfigurationDataFactoryIO.Load<ConfigurationData>(() => XmlDataContractSerializers.Load<ConfigurationData>(_configurationFile, (x, y, z) => { }), () => RaiseEvents());\n      }\n      protected override void RaiseEvents()\n      {\n        OnAssociationConfigurationChange?.Invoke(this, EventArgs.Empty);\n        OnMessageHandlerConfigurationChange?.Invoke(this, EventArgs.Empty);\n      }\n      private readonly string _ConsumerConfigurationFileName = @\"TestData\\ConfigurationDataConsumer.xml\";\n      #endregion\n\n    }\n    private class TestConfigurationFactoryBaseConfigurationDataWrapper : ConfigurationFactoryBase<ConfigurationDataWrapper>\n    {\n\n      public TestConfigurationFactoryBaseConfigurationDataWrapper() : base(m_FileName) { }\n\n      #region ConfigurationFactoryBase\n      public override event EventHandler<EventArgs> OnAssociationConfigurationChange;\n      public override event EventHandler<EventArgs> OnMessageHandlerConfigurationChange;\n      protected override void RaiseEvents()\n      {\n        throw new NotImplementedException();\n      }\n      #endregion\n\n      internal new Func<ConfigurationDataWrapper> Loader { get => base.Loader; set => base.Loader = value; }\n\n      private const string m_FileName = @\"TestData\\ConsumerConfigurationDataWrapper.xml\";\n\n    }\n  }\n}\n"
  },
  {
    "path": "Configuration/Tests/NetworkingUnitTest/DataSetConfigurationUnitTest.cs",
    "content": "﻿//___________________________________________________________________________________\n//\n//  Copyright (C) 2018, Mariusz Postol LODZ POLAND.\n//\n//  To be in touch join the community at GITTER: https://gitter.im/mpostol/OPC-UA-OOI\n//___________________________________________________________________________________\n\nusing Microsoft.VisualStudio.TestTools.UnitTesting;\nusing System;\nusing System.Xml;\nusing UAOOI.Configuration.Networking.Serialization;\n\nnamespace UAOOI.Configuration.Networking.UnitTest\n{\n  [TestClass]\n  public class DataSetConfigurationUnitTest\n  {\n    [TestMethod]\n    public void AfterCreationStateTest()\n    {\n      DataSetConfiguration _dataSet = new DataSetConfiguration();\n      Assert.IsTrue(String.IsNullOrEmpty(_dataSet.Guid));\n      Assert.AreEqual<Guid>(Guid.Empty, _dataSet.Id);\n    }\n    [TestMethod]\n    public void IdTest()\n    {\n      DataSetConfiguration _dataSet = new DataSetConfiguration();\n      Assert.IsTrue(String.IsNullOrEmpty(_dataSet.Guid));\n      Assert.AreEqual<Guid>(Guid.Empty, _dataSet.Id);\n      Guid _newId = System.Guid.NewGuid();\n      _dataSet.Id = _newId;\n      Assert.IsFalse(String.IsNullOrEmpty(_dataSet.Guid));\n      Assert.AreEqual<string>(XmlConvert.ToString(_newId), _dataSet.Guid);\n    }\n  }\n}\n"
  },
  {
    "path": "Configuration/Tests/NetworkingUnitTest/Instrumentation/ConfigurationDataWrapper.cs",
    "content": "﻿//___________________________________________________________________________________\n//\n//  Copyright (C) 2018, Mariusz Postol LODZ POLAND.\n//\n//  To be in touch join the community at GITTER: https://gitter.im/mpostol/OPC-UA-OOI\n//___________________________________________________________________________________\n\nusing System;\nusing System.Runtime.Serialization;\nusing System.Xml.Serialization;\nusing UAOOI.Configuration.Networking.Serialization;\n\nnamespace UAOOI.Configuration.Networking.UnitTest.Instrumentation\n{\n\n  [DataContractAttribute(Name = \"ConfigurationDataWrapper\", Namespace = Definitions.m_Namespace)]\n  [System.SerializableAttribute()]\n  [XmlRoot(Namespace = CommonDefinitions.Namespace)]\n  internal class ConfigurationDataWrapper : IConfigurationDataFactory\n  {\n    public ConfigurationDataWrapper()\n    {\n      ConfigurationData = ReferenceConfiguration.LoadConsumer();\n    }\n\n    [DataMember(EmitDefaultValue = false, IsRequired = true)]\n    public ConfigurationData ConfigurationData { get; set; }\n\n    #region IConfigurationDataFactory\n    public ConfigurationData GetConfigurationData()\n    {\n      return ConfigurationData;\n    }\n    public void OnLoaded()\n    {\n      OnLoadedCount++;\n    }\n    public void OnSaving()\n    {\n      OnSavingCount++;\n    }\n    public Action OnChanged\n    {\n      get; set;\n    }\n    #endregion\n\n    internal int OnSavingCount = 0;\n    internal int OnLoadedCount = 0;\n\n  }\n  internal static class Definitions\n  {\n    internal const string m_Namespace = \"http://commsvr.com/UAOOI/SemanticData/UANetworking/Configuration/UnitTest/Serialization.xsd\";\n  }\n}\n"
  },
  {
    "path": "Configuration/Tests/NetworkingUnitTest/Instrumentation/Container.cs",
    "content": "﻿//___________________________________________________________________________________\n//\n//  Copyright (C) 2018, Mariusz Postol LODZ POLAND.\n//\n//  To be in touch join the community at GITTER: https://gitter.im/mpostol/OPC-UA-OOI\n//___________________________________________________________________________________\n\nusing CommonServiceLocator;\nusing System;\nusing System.Collections.Generic;\nusing System.Linq;\n\nnamespace UAOOI.Configuration.Networking.UnitTest.Instrumentation\n{\n  internal class Container : ServiceLocatorImplBase\n  {\n\n    public Container(IEnumerable<object> list)\n    {\n      m_ObjectsContainer = list;\n    }\n\n    private readonly IEnumerable<object> m_ObjectsContainer;\n    protected override object DoGetInstance(Type requestedType, string key)\n    {\n      return String.IsNullOrEmpty(key) ? m_ObjectsContainer.First(o => requestedType.IsAssignableFrom(o.GetType()))\n                                       : m_ObjectsContainer.First(o => requestedType.IsAssignableFrom(o.GetType()) && Equals(key, o.GetType().FullName));\n    }\n    protected override IEnumerable<object> DoGetAllInstances(Type requestedType)\n    {\n      return m_ObjectsContainer.Where(o => requestedType.IsAssignableFrom(o.GetType()));\n    }\n  }\n}\n"
  },
  {
    "path": "Configuration/Tests/NetworkingUnitTest/Instrumentation/CustomConfigurationData.cs",
    "content": "﻿//___________________________________________________________________________________\n//\n//  Copyright (C) 2019, Mariusz Postol LODZ POLAND.\n//\n//  To be in touch join the community at GITTER: https://gitter.im/mpostol/OPC-UA-OOI\n//___________________________________________________________________________________\n\nusing System;\nusing System.Runtime.Serialization;\nusing System.Xml.Serialization;\nusing UAOOI.Configuration.Networking.Serialization;\n\nnamespace UAOOI.Configuration.Networking.UnitTest.Instrumentation\n{\n\n  [DataContractAttribute(Name = \"CustomConfigurationData\", Namespace = CommonDefinitions.Namespace)]\n  [SerializableAttribute()]\n  [XmlRoot(Namespace = CommonDefinitions.Namespace)]\n  public class CustomConfigurationData : ConfigurationData\n  {\n    [DataMemberAttribute(EmitDefaultValue = true, IsRequired = true)]\n    [XmlElementAttribute(IsNullable = false)]\n    public string CustomProperty { get; set; }\n\n    internal static CustomConfigurationData LoadConsumer()\n    {\n      return new CustomConfigurationData()\n      {\n        CustomProperty = nameof(CustomProperty),\n        DataSets = ReferenceConfiguration.GetDataSetConfigurations(AssociationRole.Consumer),\n        MessageHandlers = ReferenceConfiguration.GetMessageHandlers(AssociationRole.Consumer),\n        TypeDictionaries = ReferenceConfiguration.TypeDictionaries()\n      };\n    }\n    public override void OnLoaded()\n    {\n      OnLoadedCount++;\n      base.OnLoaded();\n    }\n    public override void OnSaving()\n    {\n      OnSavingCount++;\n      base.OnSaving();\n    }\n    internal int OnLoadedCount = 0;\n    internal int OnSavingCount = 0;\n\n  }\n\n  internal class CommonDefinitions\n  {\n\n    internal const string Namespace = \"http://commsvr.com/UAOOI/SemanticData/UANetworking/Configuration/CustomConfigurationData.xsd\";\n\n  }\n}\n"
  },
  {
    "path": "Configuration/Tests/NetworkingUnitTest/Instrumentation/GoXSD.cmd",
    "content": "xsd.exe ..\\bin\\Debug\\UAOOI.Configuration.Networking.UnitTest.dll /t:UAOOI.Configuration.Networking.UnitTest.Instrumentation.CustomConfigurationData\nrem https://msdn.microsoft.com/en-us/library/aa347733(v=vs.110).aspx\nrem Svcutil ..\\bin\\Debug\\UAOOI.Configuration.Networking.dll /collectionType:UAOOI.Configuration.Networking.Serialization.ConfigurationData /N:http://commsvr.com/UAOOI/SemanticData/UANetworking/Configuration/Serialization.xsd,UAOOI.Configuration.Networking.Serialization /o:ConfigurationData.!.xsd /dconly /s /serializer:DataContractSerializer \nrem Svcutil ..\\bin\\Debug\\UAOOI.Configuration.Networking.dll /t:metadata /dconly /d:xsd"
  },
  {
    "path": "Configuration/Tests/NetworkingUnitTest/Instrumentation/Logger.cs",
    "content": "﻿//___________________________________________________________________________________\n//\n//  Copyright (C) 2018, Mariusz Postol LODZ POLAND.\n//\n//  To be in touch join the community at GITTER: https://gitter.im/mpostol/OPC-UA-OOI\n//___________________________________________________________________________________\n\nusing System.Collections.Generic;\nusing System.Diagnostics;\nusing UAOOI.Common.Infrastructure.Diagnostic;\n\nnamespace UAOOI.Configuration.Networking.UnitTest.Instrumentation\n{\n\n  public class Logger : ITraceSource\n  {\n\n    public class TraceLogEntity\n    {\n      public TraceEventType EventType { get; private set; }\n      public int Id { get; private set; }\n      public object Data { get; private set; }\n      public TraceLogEntity(TraceEventType eventType, int id, object data)\n      {\n        this.EventType = eventType;\n        this.Id = id;\n        this.Data = data;\n      }\n    }\n    public List<TraceLogEntity> TraceLogList { get; } = new List<TraceLogEntity>();\n\n    #region ITraceSource\n    public void TraceData(TraceEventType eventType, int id, object data)\n    {\n      TraceLogList.Add(new TraceLogEntity(eventType, id, data));\n    }\n    #endregion\n\n  }\n}\n"
  },
  {
    "path": "Configuration/Tests/NetworkingUnitTest/Instrumentation/ReferenceConfiguration.cs",
    "content": "﻿//___________________________________________________________________________________\n//\n//  Copyright (C) 2018, Mariusz Postol LODZ POLAND.\n//\n//  To be in touch join the community at GITTER: https://gitter.im/mpostol/OPC-UA-OOI\n//___________________________________________________________________________________\n\nusing Microsoft.VisualStudio.TestTools.UnitTesting;\nusing System;\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Xml;\nusing UAOOI.Configuration.Networking.Serialization;\n\nnamespace UAOOI.Configuration.Networking.UnitTest.Instrumentation\n{\n  /// <summary>\n  /// Class ReferenceConfiguration - creates a configuration for testing purpose.\n  /// </summary>\n  internal static class ReferenceConfiguration\n  {\n\n    #region API\n    /// <summary>\n    /// Created the configuration from the local data.\n    /// </summary>\n    /// <remarks>In production release shall be replaced by reading from the file.</remarks>\n    /// <returns>ConfigurationData.</returns>\n    internal static ConfigurationData LoadConsumer()\n    {\n      return new ConfigurationData() { DataSets = GetDataSetConfigurations(AssociationRole.Consumer), MessageHandlers = GetMessageHandlers(AssociationRole.Consumer), TypeDictionaries = TypeDictionaries() };\n    }\n\n    /// <summary>\n    /// Created the configuration from the local data.\n    /// </summary>\n    /// <remarks>In production release shall be replaced by reading from the file.</remarks>\n    /// <returns>ConfigurationData.</returns>\n    internal static ConfigurationData LoadProducer()\n    {\n      return new ConfigurationData() { DataSets = GetDataSetConfigurations(AssociationRole.Producer), MessageHandlers = GetMessageHandlers(AssociationRole.Producer), TypeDictionaries = TypeDictionaries() };\n    }\n    #endregion\n\n    #region configuration\n    internal static MessageHandlerConfiguration[] GetMessageHandlers(AssociationRole associationRole)\n    {\n      MessageHandlerConfiguration[] _ret = null;\n      switch (associationRole)\n      {\n        case AssociationRole.Consumer:\n          _ret = new MessageReaderConfiguration[] { new MessageReaderConfiguration() { ConsumerAssociationConfigurations = GetConsumerAssociationConfiguration(),\n          Configuration = new MessageChannelConfiguration() { ChannelConfiguration  = \"4840,True,239.255.255.1,True\" },\n          Name = \"UDP\",\n          TransportRole = associationRole }};\n          break;\n        case AssociationRole.Producer:\n          _ret = new MessageWriterConfiguration[] { new MessageWriterConfiguration() {  ProducerAssociationConfigurations = GetProducerAssociationConfiguration(),\n          Configuration = new MessageChannelConfiguration () { ChannelConfiguration = \"4840,localhost\" },\n          Name = \"UDP\",\n          TransportRole = associationRole }};\n          break;\n      }\n      return _ret;\n    }\n    private static ConsumerAssociationConfiguration[] GetConsumerAssociationConfiguration()\n    {\n      return new ConsumerAssociationConfiguration[] { new ConsumerAssociationConfiguration() { AssociationName = AssociationConfigurationAlias, DataSetWriterId = DefaultDataSetWriterId, PublisherId = DefaultAssociationConfigurationId } };\n    }\n    private static ProducerAssociationConfiguration[] GetProducerAssociationConfiguration()\n    {\n      return new ProducerAssociationConfiguration[] { new ProducerAssociationConfiguration() { AssociationName = AssociationConfigurationAlias, DataSetWriterId = DefaultDataSetWriterId, PublisherId = DefaultAssociationConfigurationId, FieldEncoding = FieldEncodingEnum.VariantFieldEncoding } };\n    }\n    internal static TypeDictionary[] TypeDictionaries()\n    {\n      return new TypeDictionary[] { new TypeDictionary() { TargetNamespace = \"http://commsvr.com/UAOOI/Configuration/Networking/UnitTest/TargetNamespace.xsd\", Items = GetItems() } };\n    }\n    private static TypeDescription[] GetItems()\n    {\n      TypeDescription _ret = new StructuredType()\n      {\n        Name = \"StructuredTypeName\",\n        StructureKind = StructureKindEnum.Structure,\n        Field = GetFields()\n      };\n      TypeDescription _retEnum = new EnumeratedType()\n      {\n        Name = \"EnumeratedTypeName\",\n        EnumeratedValues = GetEnumeratedValue()\n      };\n      return new TypeDescription[] { _ret, _retEnum };\n    }\n    private static EnumeratedValue[] GetEnumeratedValue()\n    {\n      List<EnumeratedValue> _ret = new List<EnumeratedValue>();\n      _ret.Add(new EnumeratedValue()\n      {\n        Documentation =\n          new LocalizedText[] { new LocalizedText() { Locale = \"en-us\", Value = \"Documentation\" }, new LocalizedText() { Locale = \"pl-pl\", Value = \"Dokumentacja\" } },\n        Name = \"Field1\",\n        Value = 0,\n      });\n      _ret.Add(new EnumeratedValue()\n      {\n        Documentation =\n          new LocalizedText[] { new LocalizedText() { Locale = \"en-us\", Value = \"Documentation\" }, new LocalizedText() { Locale = \"pl-pl\", Value = \"Dokumentacja\" } },\n        Name = \"Field2\",\n        Value = 1,\n      });\n      _ret.Add(new EnumeratedValue()\n      {\n        Documentation =\n          new LocalizedText[] { new LocalizedText() { Locale = \"en-us\", Value = \"Documentation\" }, new LocalizedText() { Locale = \"pl-pl\", Value = \"Dokumentacja\" } },\n        Name = \"Field3\",\n        Value = 2,\n      });\n      return _ret.ToArray<EnumeratedValue>();\n    }\n    private static FieldType[] GetFields()\n    {\n      List<FieldType> _fields = new List<FieldType>();\n      _fields.Add(new FieldType() { Name = \"FieldName1\", TypeName = new System.Xml.XmlQualifiedName(\"Int32\", @\"http://opcfoundation.org/UA/\"), SwitchOperandSpecified = false, SwitchValueSpecified = false });\n      _fields.Add(new FieldType() { Name = \"FieldName2\", TypeName = new System.Xml.XmlQualifiedName(\"Int32\", @\"http://opcfoundation.org/UA/\"), SwitchOperandSpecified = false, SwitchValueSpecified = false });\n      return _fields.ToArray();\n    }\n    internal static DataSetConfiguration[] GetDataSetConfigurations(AssociationRole associationRole)\n    {\n      return new DataSetConfiguration[]\n      { new DataSetConfiguration()\n        { AssociationName = AssociationConfigurationAlias,\n          AssociationRole = associationRole,\n          DataSet = GetMembers(),\n          DataSymbolicName = \"DataSymbolicName\",\n          Id = DefaultAssociationConfigurationId,\n          RepositoryGroup = m_RepositoryGroup,\n          InformationModelURI= AssociationConfigurationInformationModelURI,\n          ConfigurationGuid = m_ConfigurationGuid,\n          ConfigurationVersion = new ConfigurationVersionDataType() { MajorVersion = 0x0, MinorVersion=0x0  },\n          MaxBufferTime = 100,\n          PublishingInterval = 1000,\n          Root = new NodeDescriptor(  ) { NodeIdentifier = new System.Xml.XmlQualifiedName(\"NodeDescriptor\", \"NodeDescriptorNS\")  }\n        }\n      };\n    }\n    private static FieldMetaData[] GetMembers()\n    {\n      return new FieldMetaData[]\n      {\n        new FieldMetaData() { ProcessValueName = \"Value1\", TypeInformation = new UATypeInfo( BuiltInType.DateTime) { TypeName = new System.Xml.XmlQualifiedName(\"Value1Name\", \"Value1NS\") } , SymbolicName = \"Value1\" },\n        new FieldMetaData() { ProcessValueName = \"Value2\", TypeInformation =  new UATypeInfo( BuiltInType.Double)  { TypeName = new System.Xml.XmlQualifiedName(\"Value2Name\", \"Value2NS\") }, SymbolicName = \"Value2\" },\n      };\n    }\n    #endregion\n\n    #region Compare\n    /// <exclude />\n    internal static void Compare(ConfigurationData source, ConfigurationData mirror)\n    {\n      Assert.AreEqual<int>(source.DataSets.Length, mirror.DataSets.Length);\n      CompareArrays<DataSetConfiguration>(source.DataSets, mirror.DataSets, x => x.AssociationName, CompareDataSetConfiguration);\n      Assert.AreEqual<int>(source.MessageHandlers.Length, mirror.MessageHandlers.Length);\n      Compare(source.MessageHandlers, mirror.MessageHandlers);\n      CompareArrays<TypeDictionary>(source.TypeDictionaries, mirror.TypeDictionaries, x => x.TargetNamespace, CompareTypeDictionary);\n    }\n    private static void CompareTypeDictionary(TypeDictionary source, TypeDictionary mirror)\n    {\n      CompareArrays<TypeDescription>(source.Items, mirror.Items, x => x.Name, CompareTypeDescription);\n      Assert.AreEqual<string>(source.TargetNamespace, mirror.TargetNamespace);\n    }\n    private static void CompareTypeDescription(TypeDescription source, TypeDescription mirror)\n    {\n      Assert.AreEqual<string>(source.Name, mirror.Name);\n      Assert.AreSame(source.GetType(), mirror.GetType());\n      if (source is StructuredType)\n        Compare((StructuredType)source, (StructuredType)mirror);\n      else\n        Compare((EnumeratedType)source, (EnumeratedType)mirror);\n    }\n    private static void Compare(EnumeratedType source, EnumeratedType mirror)\n    {\n      Assert.AreEqual<string>(source.Name, mirror.Name);\n      CompareArrays<EnumeratedValue>(source.EnumeratedValues, mirror.EnumeratedValues, x => x.Name, CompareEnumeratedValue);\n    }\n    private static void CompareEnumeratedValue(EnumeratedValue source, EnumeratedValue mirror)\n    {\n      Assert.AreEqual<string>(source.Name, mirror.Name);\n      Assert.AreEqual<int>(source.Value, mirror.Value);\n      CompareArrays<LocalizedText>(source.Documentation, mirror.Documentation, x => x.Locale, (x, y) => Assert.AreEqual<string>(x.Value, y.Value));\n    }\n    private static void Compare(StructuredType source, StructuredType mirror)\n    {\n      Assert.AreEqual<StructureKindEnum>(source.StructureKind, mirror.StructureKind);\n      CompareArrays<FieldType>(source.Field, mirror.Field, x => x.Name, CompareFieldType);\n    }\n    private static void CompareFieldType(FieldType source, FieldType mirror)\n    {\n      Assert.AreEqual<string>(source.Name, mirror.Name);\n      Assert.AreEqual<string>(source.SwitchField, mirror.SwitchField);\n      Assert.AreEqual<bool>(source.SwitchOperandSpecified, mirror.SwitchOperandSpecified);\n      if (source.SwitchOperandSpecified)\n        Assert.AreEqual<SwitchOperand>(source.SwitchOperand, mirror.SwitchOperand);\n      Assert.AreEqual<bool>(source.SwitchValueSpecified, mirror.SwitchValueSpecified);\n      if (source.SwitchValueSpecified)\n        Assert.AreEqual<uint>(source.SwitchValue, mirror.SwitchValue);\n      Assert.AreEqual<XmlQualifiedName>(source.TypeName, mirror.TypeName);\n    }\n    private static void CompareArrays<type>(type[] source, type[] mirror, Func<type, string> selector, Action<type, type> compareItems)\n      where type : class\n    {\n      if (source == null && mirror == null)\n        return;\n      Assert.IsNotNull(source);\n      Assert.IsNotNull(mirror);\n      Assert.AreEqual<int>(source.Length, mirror.Length);\n      if (source.Length == 0)\n        return;\n      Dictionary<string, type> _dictionary = source.ToDictionary<type, string>(selector);\n      foreach (type _item in mirror)\n        compareItems(_dictionary[selector(_item)], _item);\n    }\n    private static void Compare(MessageHandlerConfiguration[] source, MessageHandlerConfiguration[] mirror)\n    {\n      Assert.IsNotNull(source);\n      Assert.IsNotNull(mirror);\n      Dictionary<string, MessageHandlerConfiguration> _mirror2Dictionary = mirror.ToDictionary<MessageHandlerConfiguration, string>(x => x.Name);\n      foreach (MessageHandlerConfiguration _configItem in source)\n        Compare(_configItem, _mirror2Dictionary[_configItem.Name]);\n    }\n    private static void Compare(MessageHandlerConfiguration source, MessageHandlerConfiguration mirror)\n    {\n      switch (source.TransportRole)\n      {\n        case AssociationRole.Consumer:\n          CompareMessageReaderConfiguration((MessageReaderConfiguration)source, (MessageReaderConfiguration)mirror);\n          break;\n        case AssociationRole.Producer:\n          CompareMessageWriterConfiguration((MessageWriterConfiguration)source, (MessageWriterConfiguration)mirror);\n          break;\n      }\n    }\n    private static void CompareMessageWriterConfiguration(MessageWriterConfiguration source, MessageWriterConfiguration mirror)\n    {\n      Assert.IsNotNull(source);\n      Assert.IsNotNull(mirror);\n      Assert.AreEqual<AssociationRole>(source.TransportRole, mirror.TransportRole);\n      Dictionary<string, ProducerAssociationConfiguration> _mirror2Dictionary = mirror.ProducerAssociationConfigurations.ToDictionary<ProducerAssociationConfiguration, string>(x => x.AssociationName);\n      foreach (ProducerAssociationConfiguration _item in source.ProducerAssociationConfigurations)\n        Compare(_item, _mirror2Dictionary[_item.AssociationName]);\n    }\n    private static void CompareMessageReaderConfiguration(MessageReaderConfiguration source, MessageReaderConfiguration mirror)\n    {\n      Assert.IsNotNull(source);\n      Assert.IsNotNull(mirror);\n      Assert.AreEqual<AssociationRole>(source.TransportRole, mirror.TransportRole);\n      Assert.IsNotNull(mirror.ConsumerAssociationConfigurations);\n      Dictionary<string, ConsumerAssociationConfiguration> _mirror2Dictionary = mirror.ConsumerAssociationConfigurations.ToDictionary<ConsumerAssociationConfiguration, string>(x => x.AssociationName);\n      Assert.IsNotNull(source.ConsumerAssociationConfigurations);\n      foreach (ConsumerAssociationConfiguration _item in source.ConsumerAssociationConfigurations)\n      {\n        Assert.IsTrue(_mirror2Dictionary.ContainsKey(_item.AssociationName));\n        Compare(_item, _mirror2Dictionary[_item.AssociationName]);\n      }\n    }\n    private static void Compare(ProducerAssociationConfiguration source, ProducerAssociationConfiguration mirror)\n    {\n      Assert.IsNotNull(source);\n      Assert.IsNotNull(mirror);\n      Assert.AreEqual<string>(source.AssociationName, mirror.AssociationName);\n      Assert.AreEqual<UInt32>(source.DataSetWriterId, mirror.DataSetWriterId);\n      Assert.AreEqual<Guid>(source.PublisherId, mirror.PublisherId);\n    }\n    private static void Compare(ConsumerAssociationConfiguration source, ConsumerAssociationConfiguration mirror)\n    {\n      Assert.AreEqual<string>(source.AssociationName, mirror.AssociationName);\n      Assert.AreEqual<UInt32>(source.DataSetWriterId, mirror.DataSetWriterId);\n      Assert.AreEqual<Guid>(source.PublisherId, mirror.PublisherId);\n    }\n    private static void CompareDataSetConfiguration(DataSetConfiguration source, DataSetConfiguration mirror)\n    {\n      Assert.AreEqual<string>(source.AssociationName, mirror.AssociationName);\n      Assert.AreEqual<AssociationRole>(source.AssociationRole, mirror.AssociationRole);\n      Assert.AreEqual<Guid>(source.ConfigurationGuid, mirror.ConfigurationGuid);\n      Compare(source.ConfigurationVersion, mirror.ConfigurationVersion);\n      Assert.AreEqual<string>(source.DataSymbolicName, mirror.DataSymbolicName);\n      CompareArrays<FieldMetaData>(source.DataSet, mirror.DataSet, x => x.SymbolicName, CompareFieldMetaData);\n      Assert.AreEqual<string>(source.Guid, mirror.Guid);\n      Assert.AreEqual<Guid>(source.Id, mirror.Id);\n      Assert.AreEqual<string>(source.InformationModelURI, mirror.InformationModelURI);\n      Assert.AreEqual<double>(source.MaxBufferTime, mirror.MaxBufferTime);\n      Assert.AreEqual<double>(source.PublishingInterval, mirror.PublishingInterval);\n      Assert.AreEqual<string>(source.RepositoryGroup, mirror.RepositoryGroup);\n      Compare(source.Root, mirror.Root);\n    }\n    private static void Compare(ConfigurationVersionDataType source, ConfigurationVersionDataType mirror)\n    {\n      Assert.IsNotNull(source);\n      Assert.IsNotNull(mirror);\n      Assert.AreEqual<int>(source.MajorVersion, mirror.MajorVersion);\n      Assert.AreEqual<int>(source.MinorVersion, mirror.MinorVersion);\n    }\n    private static void CompareFieldMetaData(FieldMetaData source, FieldMetaData mirror)\n    {\n      Assert.AreEqual<string>(source.ProcessValueName, mirror.ProcessValueName);\n      Assert.AreEqual<string>(source.SymbolicName, mirror.SymbolicName);\n      Compare(source.TypeInformation, mirror.TypeInformation);\n    }\n    private static void Compare(UATypeInfo source, UATypeInfo mirror)\n    {\n      Assert.IsNotNull(source);\n      Assert.IsNotNull(mirror);\n      CollectionAssert.AreEqual(source.ArrayDimensions, mirror.ArrayDimensions);\n      Assert.AreEqual<BuiltInType>(source.BuiltInType, mirror.BuiltInType);\n      Compare(source.TypeName, mirror.TypeName);\n      Assert.AreEqual<int>(source.ValueRank, mirror.ValueRank);\n    }\n    private static void Compare(XmlQualifiedName source, XmlQualifiedName mirror)\n    {\n      if (source == null && mirror == null)\n        return;\n      Assert.IsNotNull(source);\n      Assert.IsNotNull(mirror);\n      if (source.IsEmpty && mirror.IsEmpty)\n        return;\n      Assert.AreEqual<bool>(source.IsEmpty, mirror.IsEmpty);\n      Assert.AreEqual<string>(source.Name, mirror.Name);\n      Assert.AreEqual<string>(source.Namespace, mirror.Namespace);\n    }\n    private static void Compare(NodeDescriptor item1, NodeDescriptor item2)\n    {\n      if (item1 == null && item2 == null)\n        return;\n      Assert.IsNotNull(item1);\n      Assert.IsNotNull(item2);\n      Assert.AreEqual<string>(item1.BindingDescription, item2.BindingDescription);\n      Assert.AreEqual<XmlQualifiedName>(item1.DataType, item2.DataType);\n      Assert.AreEqual<bool>(item1.InstanceDeclaration, item2.InstanceDeclaration);\n      Assert.AreEqual<InstanceNodeClassesEnum>(item1.NodeClass, item2.NodeClass);\n      Assert.AreEqual<XmlQualifiedName>(item1.NodeIdentifier, item2.NodeIdentifier);\n      Assert.AreEqual<string>(item1.ToString(), item2.ToString());\n    }\n    #endregion\n\n    #region preconfigured settings\n    private const string AssociationConfigurationAlias = \"Association1\";\n    private const string m_RepositoryGroup = \"repositoryGroup\";\n    private const string AssociationConfigurationDataSymbolicName = \"DataSymbolicName\";\n    private const string AssociationConfigurationInformationModelURI = @\"https://github.com/mpostol/OPC-UA-OOI\";\n    private static readonly Guid DefaultAssociationConfigurationId = new Guid(\"C1F53FFB-6552-4CCC-84C9-F847147CDC85\");\n    private const UInt16 DefaultDataSetWriterId = 12345;\n    private static Guid m_ConfigurationGuid = new Guid(\"D3DEA20A-1F65-4744-ABF5-3D8120960D7B\");\n    #endregion\n\n  }\n}\n"
  },
  {
    "path": "Configuration/Tests/NetworkingUnitTest/JSONDataContractSerializersUnitTest.cs",
    "content": "﻿\nusing Microsoft.VisualStudio.TestTools.UnitTesting;\nusing System.IO;\nusing UAOOI.Configuration.Networking.Serializers;\n\nnamespace UAOOI.Configuration.Networking.UnitTest\n{\n  [TestClass]\n  public class JSONDataContractSerializersUnitTest\n  {\n\n    public JSONDataContractSerializersUnitTest()\n    {\n      //\n      // TODO: Add constructor logic here\n      //\n    }\n\n    private TestContext testContextInstance;\n\n    /// <summary>\n    ///Gets or sets the test context which provides\n    ///information about and functionality for the current test run.\n    ///</summary>\n    public TestContext TestContext\n    {\n      get\n      {\n        return testContextInstance;\n      }\n      set\n      {\n        testContextInstance = value;\n      }\n    }\n\n    #region Additional test attributes\n    //\n    // You can use the following additional attributes as you write your tests:\n    //\n    // Use ClassInitialize to run code before running the first test in the class\n    // [ClassInitialize()]\n    // public static void MyClassInitialize(TestContext testContext) { }\n    //\n    // Use ClassCleanup to run code after all tests in a class have run\n    // [ClassCleanup()]\n    // public static void MyClassCleanup() { }\n    //\n    // Use TestInitialize to run code before running each test \n    // [TestInitialize()]\n    // public void MyTestInitialize() { }\n    //\n    // Use TestCleanup to run code after each test has run\n    // [TestCleanup()]\n    // public void MyTestCleanup() { }\n    //\n    #endregion\n\n    [TestMethod]\n    [TestCategory(\"DataBindings_XmlSerializerTestMethod\")]\n    public void JSONSerializerTestMethod1()\n    {\n      // Create a new instance of the Person class and serialize it to an XML file.\n      CSharpSelectedTypesEncoding _p1 = new CSharpSelectedTypesEncoding();\n      string _fileName = \"DataContractExample.json\";\n      JSONDataContractSerializers.Save<CSharpSelectedTypesEncoding>(new FileInfo(_fileName), _p1, (x, y, z) => Assert.AreEqual(System.Diagnostics.TraceEventType.Verbose, x));\n      FileInfo _newFile = new FileInfo(_fileName);\n      Assert.IsTrue(_newFile.Exists);\n      CSharpSelectedTypesEncoding _p2 = JSONDataContractSerializers.Load<CSharpSelectedTypesEncoding>\n        (new FileInfo(_fileName), (x, y, z) => Assert.AreEqual<System.Diagnostics.TraceEventType>(System.Diagnostics.TraceEventType.Verbose, x));\n      Assert.IsNotNull(_p2);\n      _p1.AreEqual(_p2);\n    }\n\n  }\n}\n\n"
  },
  {
    "path": "Configuration/Tests/NetworkingUnitTest/NodeDescriptorUnitTest.cs",
    "content": "﻿using Microsoft.VisualStudio.TestTools.UnitTesting;\nusing System;\nusing UAOOI.Configuration.Networking.Serialization;\n\nnamespace UAOOI.Configuration.Networking.UnitTest\n{\n  [TestClass]\n  public class NodeDescriptorUnitTest\n  {\n    [TestMethod]\n    public void CreatorTest()\n    {\n      NodeDescriptor _newDescriptor = new NodeDescriptor()\n      {\n        BindingDescription = \"BindingDescription\",\n        DataType = new System.Xml.XmlQualifiedName(\"DataType\", m_Namespace),\n        InstanceDeclaration = false,\n        NodeClass = InstanceNodeClassesEnum.Object,\n        NodeIdentifier = new System.Xml.XmlQualifiedName(\"Name1\", m_Namespace)\n      };\n      IComparable _comparer = _newDescriptor.CreateWrapper();\n      Assert.AreEqual<int>(0, _comparer.CompareTo(_comparer));\n    }\n    [TestMethod]\n    public void PrecedenceTestMethod()\n    {\n      NodeDescriptor _FirstNewDescriptor = new NodeDescriptor()\n      {\n        BindingDescription = \"BindingDescription\",\n        DataType = new System.Xml.XmlQualifiedName(\"DataType\", m_Namespace),\n        InstanceDeclaration = false,\n        NodeClass = InstanceNodeClassesEnum.Object,\n        NodeIdentifier = new System.Xml.XmlQualifiedName(\"Name1\", m_Namespace)\n      };\n      NodeDescriptor _SecondNewDescriptor = new NodeDescriptor()\n      {\n        BindingDescription = \"BindingDescription\",\n        DataType = new System.Xml.XmlQualifiedName(\"DataType\", m_Namespace),\n        InstanceDeclaration = false,\n        NodeClass = InstanceNodeClassesEnum.Object,\n        NodeIdentifier = new System.Xml.XmlQualifiedName(\"Name2\", m_Namespace)\n      };\n      IComparable _FirstComparer = _FirstNewDescriptor.CreateWrapper();\n      IComparable _SecondComparer = _SecondNewDescriptor.CreateWrapper();\n      Assert.IsTrue(_FirstComparer.CompareTo(_SecondComparer ) <0);\n      Assert.IsTrue(_SecondComparer.CompareTo(_FirstComparer) > 0 );\n    }\n    private readonly string m_Namespace = @\"http://tempuri.org/TestData\";\n  }\n}\n"
  },
  {
    "path": "Configuration/Tests/NetworkingUnitTest/PrepareTests.cs",
    "content": "﻿\nusing UAOOI.Common.Infrastructure.Diagnostic;\n\nnamespace UAOOI.Configuration.Networking.UnitTest\n{\n  public class PrepareTests\n  {\n    /// <summary>\n    /// This method that contains code to be used before all tests in the assembly have run and to allocate resources obtained by the assembly. \n    /// </summary>\n    /// <remarks>\n    /// It is used top make sure tha assemblies containing dependency injection exports are copied to the working space used by the testing infrastructure.\n    /// </remarks>\n    [Microsoft.VisualStudio.TestTools.UnitTesting.TestMethod]\n    [Microsoft.VisualStudio.TestTools.UnitTesting.AssemblyInitialize]\n    public void Initialize()\n    {\n      //Makes sure UAOOI.Common.Infrastructure is in the test target folder.\n      TraceSourceBase _newOne = new TraceSourceBase();\n    }\n  }\n}\n"
  },
  {
    "path": "Configuration/Tests/NetworkingUnitTest/Properties/AssemblyInfo.cs",
    "content": "﻿//___________________________________________________________________________________\n//\n//  Copyright (C) 2019, Mariusz Postol LODZ POLAND.\n//\n//  To be in touch join the community at GITTER: https://gitter.im/mpostol/OPC-UA-OOI\n//___________________________________________________________________________________\n\nusing System.Reflection;\nusing System.Runtime.CompilerServices;\nusing System.Runtime.InteropServices;\n\n[assembly: AssemblyTitle(\"UAOOI.Configuration.Networking.UnitTest\")]\n[assembly: AssemblyDescription(\"UA Data Application Configuration UnitTests\")]\n[assembly: AssemblyConfiguration(\"\")]\n[assembly: AssemblyCompany(\"mpostol commsvr.com\")]\n[assembly: AssemblyProduct(\"UAOOI\")]\n[assembly: AssemblyCopyright(\"Copyright commsvr.com ©  2015\")]\n[assembly: AssemblyTrademark(\"\")]\n[assembly: AssemblyCulture(\"\")]\n[assembly: ComVisible(false)]\n[assembly: Guid(\"81ddd889-3223-4f24-8b65-dd5c57886994\")]\n[assembly: AssemblyVersion(\"4.0.1.*\")]\n[assembly: AssemblyFileVersion(\"4.0.1.0\")]\n"
  },
  {
    "path": "Configuration/Tests/NetworkingUnitTest/TestData/ConfigurationDataConsumer.json",
    "content": "{\"DataSets\":[{\"AssociationRole\":0,\"AssociationName\":\"Association1\",\"RepositoryGroup\":\"repositoryGroup\",\"InformationModelURI\":\"https:\\/\\/github.com\\/mpostol\\/OPC-UA-OOI\",\"DataSymbolicName\":\"DataSymbolicName\",\"DataSet\":[{\"SymbolicName\":\"Value1\",\"ProcessValueName\":\"Value1\",\"TypeInformation\":{\"BuiltInType\":13,\"TypeName\":\"Value1Name:Value1NS\",\"ValueRank\":-1}},{\"SymbolicName\":\"Value2\",\"ProcessValueName\":\"Value2\",\"TypeInformation\":{\"BuiltInType\":11,\"TypeName\":\"Value2Name:Value2NS\",\"ValueRank\":-1}}],\"Guid\":\"c1f53ffb-6552-4ccc-84c9-f847147cdc85\",\"Root\":{\"NodeIdentifier\":\"NodeDescriptor:NodeDescriptorNS\"},\"PublishingInterval\":1000,\"MaxBufferTime\":100,\"ConfigurationGuid\":\"d3dea20a-1f65-4744-abf5-3d8120960d7b\",\"ConfigurationVersion\":{\"MajorVersion\":0,\"MinorVersion\":0}}],\"MessageHandlers\":[{\"__type\":\"MessageReaderConfiguration:http:\\/\\/commsvr.com\\/UAOOI\\/SemanticData\\/UANetworking\\/Configuration\\/Serialization.xsd\",\"Name\":\"UDP\",\"Configuration\":{\"ChannelConfiguration\":\"4840,True,239.255.255.1,True\"},\"TransportRole\":0,\"ConsumerAssociationConfigurations\":[{\"AssociationName\":\"Association1\",\"DataSetWriterId\":12345,\"PublisherId\":\"c1f53ffb-6552-4ccc-84c9-f847147cdc85\"}]}],\"TypeDictionaries\":[{\"Items\":[{\"__type\":\"StructuredType:http:\\/\\/commsvr.com\\/UAOOI\\/SemanticData\\/UANetworking\\/Configuration\\/Serialization.xsd\",\"Name\":\"StructuredTypeName\",\"Field\":[{\"Name\":\"FieldName1\",\"SwitchField\":null,\"SwitchOperand\":0,\"SwitchOperandSpecified\":false,\"SwitchValue\":0,\"SwitchValueSpecified\":false,\"TypeName\":\"Int32:http:\\/\\/opcfoundation.org\\/UA\\/\"},{\"Name\":\"FieldName2\",\"SwitchField\":null,\"SwitchOperand\":0,\"SwitchOperandSpecified\":false,\"SwitchValue\":0,\"SwitchValueSpecified\":false,\"TypeName\":\"Int32:http:\\/\\/opcfoundation.org\\/UA\\/\"}],\"StructureKind\":0},{\"__type\":\"EnumeratedType:http:\\/\\/commsvr.com\\/UAOOI\\/SemanticData\\/UANetworking\\/Configuration\\/Serialization.xsd\",\"Name\":\"EnumeratedTypeName\",\"EnumeratedValues\":[{\"Documentation\":[{\"Locale\":\"en-us\",\"Value\":\"Documentation\"},{\"Locale\":\"pl-pl\",\"Value\":\"Dokumentacja\"}],\"Name\":\"Field1\",\"Value\":0},{\"Documentation\":[{\"Locale\":\"en-us\",\"Value\":\"Documentation\"},{\"Locale\":\"pl-pl\",\"Value\":\"Dokumentacja\"}],\"Name\":\"Field2\",\"Value\":1},{\"Documentation\":[{\"Locale\":\"en-us\",\"Value\":\"Documentation\"},{\"Locale\":\"pl-pl\",\"Value\":\"Dokumentacja\"}],\"Name\":\"Field3\",\"Value\":2}]}],\"TargetNamespace\":\"http:\\/\\/commsvr.com\\/UAOOI\\/Configuration\\/Networking\\/UnitTest\\/TargetNamespace.xsd\"}]}"
  },
  {
    "path": "Configuration/Tests/NetworkingUnitTest/TestData/ConfigurationDataConsumer.xml",
    "content": "﻿<ConfigurationData xmlns:i=\"http://www.w3.org/2001/XMLSchema-instance\" xmlns=\"http://commsvr.com/UAOOI/SemanticData/UANetworking/Configuration/Serialization.xsd\">\n  <DataSets>\n    <DataSetConfiguration>\n      <AssociationRole>Consumer</AssociationRole>\n      <AssociationName>Association1</AssociationName>\n      <RepositoryGroup>repositoryGroup</RepositoryGroup>\n      <InformationModelURI>https://github.com/mpostol/OPC-UA-OOI</InformationModelURI>\n      <DataSymbolicName>DataSymbolicName</DataSymbolicName>\n      <DataSet>\n        <DataMemberConfiguration>\n          <SymbolicName>Value1</SymbolicName>\n          <ProcessValueName>Value1</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>DateTime</BuiltInType>\n            <q:TypeName xmlns:d7p1=\"Value1NS\" xmlns:q=\"http://commsvr.com/UAOOI/SemanticData/UANetworking/Configuration/Serialization.xsd\">d7p1:Value1Name</q:TypeName>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>Value2</SymbolicName>\n          <ProcessValueName>Value2</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>Double</BuiltInType>\n            <q:TypeName xmlns:d7p1=\"Value2NS\" xmlns:q=\"http://commsvr.com/UAOOI/SemanticData/UANetworking/Configuration/Serialization.xsd\">d7p1:Value2Name</q:TypeName>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n      </DataSet>\n      <Guid>c1f53ffb-6552-4ccc-84c9-f847147cdc85</Guid>\n      <Root>\n        <q:NodeIdentifier xmlns:d5p1=\"NodeDescriptorNS\" xmlns:q=\"http://commsvr.com/UAOOI/SemanticData/UANetworking/Configuration/Serialization.xsd\">d5p1:NodeDescriptor</q:NodeIdentifier>\n      </Root>\n      <PublishingInterval>1000</PublishingInterval>\n      <MaxBufferTime>100</MaxBufferTime>\n      <ConfigurationGuid>d3dea20a-1f65-4744-abf5-3d8120960d7b</ConfigurationGuid>\n      <ConfigurationVersion>\n        <MajorVersion>0</MajorVersion>\n        <MinorVersion>0</MinorVersion>\n      </ConfigurationVersion>\n    </DataSetConfiguration>\n  </DataSets>\n  <MessageHandlers>\n    <MessageHandlerConfiguration i:type=\"MessageReaderConfiguration\">\n      <Name>UDP</Name>\n      <Configuration>\n        <ChannelConfiguration>4840,True,239.255.255.1,True</ChannelConfiguration>\n      </Configuration>\n      <TransportRole>Consumer</TransportRole>\n      <ConsumerAssociationConfigurations>\n        <ConsumerAssociationConfiguration>\n          <AssociationName>Association1</AssociationName>\n          <DataSetWriterId>12345</DataSetWriterId>\n          <PublisherId>c1f53ffb-6552-4ccc-84c9-f847147cdc85</PublisherId>\n        </ConsumerAssociationConfiguration>\n      </ConsumerAssociationConfigurations>\n    </MessageHandlerConfiguration>\n  </MessageHandlers>\n  <TypeDictionaries>\n    <TypeDictionary>\n      <Items>\n        <TypeDescription i:type=\"StructuredType\">\n          <Name>StructuredTypeName</Name>\n          <Field>\n            <FieldType>\n              <Name>FieldName1</Name>\n              <SwitchField i:nil=\"true\" />\n              <SwitchOperand>Equals</SwitchOperand>\n              <SwitchOperandSpecified>false</SwitchOperandSpecified>\n              <SwitchValue>0</SwitchValue>\n              <SwitchValueSpecified>false</SwitchValueSpecified>\n              <q:TypeName xmlns:d8p1=\"http://opcfoundation.org/UA/\" xmlns:q=\"http://commsvr.com/UAOOI/SemanticData/UANetworking/Configuration/Serialization.xsd\">d8p1:Int32</q:TypeName>\n            </FieldType>\n            <FieldType>\n              <Name>FieldName2</Name>\n              <SwitchField i:nil=\"true\" />\n              <SwitchOperand>Equals</SwitchOperand>\n              <SwitchOperandSpecified>false</SwitchOperandSpecified>\n              <SwitchValue>0</SwitchValue>\n              <SwitchValueSpecified>false</SwitchValueSpecified>\n              <q:TypeName xmlns:d8p1=\"http://opcfoundation.org/UA/\" xmlns:q=\"http://commsvr.com/UAOOI/SemanticData/UANetworking/Configuration/Serialization.xsd\">d8p1:Int32</q:TypeName>\n            </FieldType>\n          </Field>\n          <StructureKind>Structure</StructureKind>\n        </TypeDescription>\n        <TypeDescription i:type=\"EnumeratedType\">\n          <Name>EnumeratedTypeName</Name>\n          <EnumeratedValues>\n            <EnumeratedValue>\n              <Documentation>\n                <LocalizedText>\n                  <Locale>en-us</Locale>\n                  <Value>Documentation</Value>\n                </LocalizedText>\n                <LocalizedText>\n                  <Locale>pl-pl</Locale>\n                  <Value>Dokumentacja</Value>\n                </LocalizedText>\n              </Documentation>\n              <Name>Field1</Name>\n              <Value>0</Value>\n            </EnumeratedValue>\n            <EnumeratedValue>\n              <Documentation>\n                <LocalizedText>\n                  <Locale>en-us</Locale>\n                  <Value>Documentation</Value>\n                </LocalizedText>\n                <LocalizedText>\n                  <Locale>pl-pl</Locale>\n                  <Value>Dokumentacja</Value>\n                </LocalizedText>\n              </Documentation>\n              <Name>Field2</Name>\n              <Value>1</Value>\n            </EnumeratedValue>\n            <EnumeratedValue>\n              <Documentation>\n                <LocalizedText>\n                  <Locale>en-us</Locale>\n                  <Value>Documentation</Value>\n                </LocalizedText>\n                <LocalizedText>\n                  <Locale>pl-pl</Locale>\n                  <Value>Dokumentacja</Value>\n                </LocalizedText>\n              </Documentation>\n              <Name>Field3</Name>\n              <Value>2</Value>\n            </EnumeratedValue>\n          </EnumeratedValues>\n        </TypeDescription>\n      </Items>\n      <TargetNamespace>http://commsvr.com/UAOOI/Configuration/Networking/UnitTest/TargetNamespace.xsd</TargetNamespace>\n    </TypeDictionary>\n  </TypeDictionaries>\n</ConfigurationData>"
  },
  {
    "path": "Configuration/Tests/NetworkingUnitTest/TestData/ConfigurationDataProducer.json",
    "content": "{\"DataSets\":[{\"AssociationRole\":1,\"AssociationName\":\"Association1\",\"RepositoryGroup\":\"repositoryGroup\",\"InformationModelURI\":\"https:\\/\\/github.com\\/mpostol\\/OPC-UA-OOI\",\"DataSymbolicName\":\"DataSymbolicName\",\"DataSet\":[{\"SymbolicName\":\"Value1\",\"ProcessValueName\":\"Value1\",\"TypeInformation\":{\"BuiltInType\":13,\"TypeName\":\"Value1Name:Value1NS\",\"ValueRank\":-1}},{\"SymbolicName\":\"Value2\",\"ProcessValueName\":\"Value2\",\"TypeInformation\":{\"BuiltInType\":11,\"TypeName\":\"Value2Name:Value2NS\",\"ValueRank\":-1}}],\"Guid\":\"c1f53ffb-6552-4ccc-84c9-f847147cdc85\",\"Root\":{\"NodeIdentifier\":\"NodeDescriptor:NodeDescriptorNS\"},\"PublishingInterval\":1000,\"MaxBufferTime\":100,\"ConfigurationGuid\":\"d3dea20a-1f65-4744-abf5-3d8120960d7b\",\"ConfigurationVersion\":{\"MajorVersion\":0,\"MinorVersion\":0}}],\"MessageHandlers\":[{\"__type\":\"MessageWriterConfiguration:http:\\/\\/commsvr.com\\/UAOOI\\/SemanticData\\/UANetworking\\/Configuration\\/Serialization.xsd\",\"Name\":\"UDP\",\"Configuration\":{\"ChannelConfiguration\":\"4840,localhost\"},\"TransportRole\":1,\"ProducerAssociationConfigurations\":[{\"AssociationName\":\"Association1\",\"DataSetWriterId\":12345,\"PublisherId\":\"c1f53ffb-6552-4ccc-84c9-f847147cdc85\",\"FieldEncoding\":0}]}],\"TypeDictionaries\":[{\"Items\":[{\"__type\":\"StructuredType:http:\\/\\/commsvr.com\\/UAOOI\\/SemanticData\\/UANetworking\\/Configuration\\/Serialization.xsd\",\"Name\":\"StructuredTypeName\",\"Field\":[{\"Name\":\"FieldName1\",\"SwitchField\":null,\"SwitchOperand\":0,\"SwitchOperandSpecified\":false,\"SwitchValue\":0,\"SwitchValueSpecified\":false,\"TypeName\":\"Int32:http:\\/\\/opcfoundation.org\\/UA\\/\"},{\"Name\":\"FieldName2\",\"SwitchField\":null,\"SwitchOperand\":0,\"SwitchOperandSpecified\":false,\"SwitchValue\":0,\"SwitchValueSpecified\":false,\"TypeName\":\"Int32:http:\\/\\/opcfoundation.org\\/UA\\/\"}],\"StructureKind\":0},{\"__type\":\"EnumeratedType:http:\\/\\/commsvr.com\\/UAOOI\\/SemanticData\\/UANetworking\\/Configuration\\/Serialization.xsd\",\"Name\":\"EnumeratedTypeName\",\"EnumeratedValues\":[{\"Documentation\":[{\"Locale\":\"en-us\",\"Value\":\"Documentation\"},{\"Locale\":\"pl-pl\",\"Value\":\"Dokumentacja\"}],\"Name\":\"Field1\",\"Value\":0},{\"Documentation\":[{\"Locale\":\"en-us\",\"Value\":\"Documentation\"},{\"Locale\":\"pl-pl\",\"Value\":\"Dokumentacja\"}],\"Name\":\"Field2\",\"Value\":1},{\"Documentation\":[{\"Locale\":\"en-us\",\"Value\":\"Documentation\"},{\"Locale\":\"pl-pl\",\"Value\":\"Dokumentacja\"}],\"Name\":\"Field3\",\"Value\":2}]}],\"TargetNamespace\":\"http:\\/\\/commsvr.com\\/UAOOI\\/Configuration\\/Networking\\/UnitTest\\/TargetNamespace.xsd\"}]}"
  },
  {
    "path": "Configuration/Tests/NetworkingUnitTest/TestData/ConfigurationDataProducer.xml",
    "content": "﻿<ConfigurationData xmlns:i=\"http://www.w3.org/2001/XMLSchema-instance\" xmlns=\"http://commsvr.com/UAOOI/SemanticData/UANetworking/Configuration/Serialization.xsd\">\n  <DataSets>\n    <DataSetConfiguration>\n      <AssociationRole>Producer</AssociationRole>\n      <AssociationName>Association1</AssociationName>\n      <RepositoryGroup>repositoryGroup</RepositoryGroup>\n      <InformationModelURI>https://github.com/mpostol/OPC-UA-OOI</InformationModelURI>\n      <DataSymbolicName>DataSymbolicName</DataSymbolicName>\n      <DataSet>\n        <DataMemberConfiguration>\n          <SymbolicName>Value1</SymbolicName>\n          <ProcessValueName>Value1</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>DateTime</BuiltInType>\n            <q:TypeName xmlns:d7p1=\"Value1NS\" xmlns:q=\"http://commsvr.com/UAOOI/SemanticData/UANetworking/Configuration/Serialization.xsd\">d7p1:Value1Name</q:TypeName>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>Value2</SymbolicName>\n          <ProcessValueName>Value2</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>Double</BuiltInType>\n            <q:TypeName xmlns:d7p1=\"Value2NS\" xmlns:q=\"http://commsvr.com/UAOOI/SemanticData/UANetworking/Configuration/Serialization.xsd\">d7p1:Value2Name</q:TypeName>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n      </DataSet>\n      <Guid>c1f53ffb-6552-4ccc-84c9-f847147cdc85</Guid>\n      <Root>\n        <q:NodeIdentifier xmlns:d5p1=\"NodeDescriptorNS\" xmlns:q=\"http://commsvr.com/UAOOI/SemanticData/UANetworking/Configuration/Serialization.xsd\">d5p1:NodeDescriptor</q:NodeIdentifier>\n      </Root>\n      <PublishingInterval>1000</PublishingInterval>\n      <MaxBufferTime>100</MaxBufferTime>\n      <ConfigurationGuid>d3dea20a-1f65-4744-abf5-3d8120960d7b</ConfigurationGuid>\n      <ConfigurationVersion>\n        <MajorVersion>0</MajorVersion>\n        <MinorVersion>0</MinorVersion>\n      </ConfigurationVersion>\n    </DataSetConfiguration>\n  </DataSets>\n  <MessageHandlers>\n    <MessageHandlerConfiguration i:type=\"MessageWriterConfiguration\">\n      <Name>UDP</Name>\n      <Configuration>\n        <ChannelConfiguration>4840,localhost</ChannelConfiguration>\n      </Configuration>\n      <TransportRole>Producer</TransportRole>\n      <ProducerAssociationConfigurations>\n        <ProducerAssociationConfiguration>\n          <AssociationName>Association1</AssociationName>\n          <DataSetWriterId>12345</DataSetWriterId>\n          <PublisherId>c1f53ffb-6552-4ccc-84c9-f847147cdc85</PublisherId>\n          <FieldEncoding>VariantFieldEncoding</FieldEncoding>\n        </ProducerAssociationConfiguration>\n      </ProducerAssociationConfigurations>\n    </MessageHandlerConfiguration>\n  </MessageHandlers>\n  <TypeDictionaries>\n    <TypeDictionary>\n      <Items>\n        <TypeDescription i:type=\"StructuredType\">\n          <Name>StructuredTypeName</Name>\n          <Field>\n            <FieldType>\n              <Name>FieldName1</Name>\n              <SwitchField i:nil=\"true\" />\n              <SwitchOperand>Equals</SwitchOperand>\n              <SwitchOperandSpecified>false</SwitchOperandSpecified>\n              <SwitchValue>0</SwitchValue>\n              <SwitchValueSpecified>false</SwitchValueSpecified>\n              <q:TypeName xmlns:d8p1=\"http://opcfoundation.org/UA/\" xmlns:q=\"http://commsvr.com/UAOOI/SemanticData/UANetworking/Configuration/Serialization.xsd\">d8p1:Int32</q:TypeName>\n            </FieldType>\n            <FieldType>\n              <Name>FieldName2</Name>\n              <SwitchField i:nil=\"true\" />\n              <SwitchOperand>Equals</SwitchOperand>\n              <SwitchOperandSpecified>false</SwitchOperandSpecified>\n              <SwitchValue>0</SwitchValue>\n              <SwitchValueSpecified>false</SwitchValueSpecified>\n              <q:TypeName xmlns:d8p1=\"http://opcfoundation.org/UA/\" xmlns:q=\"http://commsvr.com/UAOOI/SemanticData/UANetworking/Configuration/Serialization.xsd\">d8p1:Int32</q:TypeName>\n            </FieldType>\n          </Field>\n          <StructureKind>Structure</StructureKind>\n        </TypeDescription>\n        <TypeDescription i:type=\"EnumeratedType\">\n          <Name>EnumeratedTypeName</Name>\n          <EnumeratedValues>\n            <EnumeratedValue>\n              <Documentation>\n                <LocalizedText>\n                  <Locale>en-us</Locale>\n                  <Value>Documentation</Value>\n                </LocalizedText>\n                <LocalizedText>\n                  <Locale>pl-pl</Locale>\n                  <Value>Dokumentacja</Value>\n                </LocalizedText>\n              </Documentation>\n              <Name>Field1</Name>\n              <Value>0</Value>\n            </EnumeratedValue>\n            <EnumeratedValue>\n              <Documentation>\n                <LocalizedText>\n                  <Locale>en-us</Locale>\n                  <Value>Documentation</Value>\n                </LocalizedText>\n                <LocalizedText>\n                  <Locale>pl-pl</Locale>\n                  <Value>Dokumentacja</Value>\n                </LocalizedText>\n              </Documentation>\n              <Name>Field2</Name>\n              <Value>1</Value>\n            </EnumeratedValue>\n            <EnumeratedValue>\n              <Documentation>\n                <LocalizedText>\n                  <Locale>en-us</Locale>\n                  <Value>Documentation</Value>\n                </LocalizedText>\n                <LocalizedText>\n                  <Locale>pl-pl</Locale>\n                  <Value>Dokumentacja</Value>\n                </LocalizedText>\n              </Documentation>\n              <Name>Field3</Name>\n              <Value>2</Value>\n            </EnumeratedValue>\n          </EnumeratedValues>\n        </TypeDescription>\n      </Items>\n      <TargetNamespace>http://commsvr.com/UAOOI/Configuration/Networking/UnitTest/TargetNamespace.xsd</TargetNamespace>\n    </TypeDictionary>\n  </TypeDictionaries>\n</ConfigurationData>"
  },
  {
    "path": "Configuration/Tests/NetworkingUnitTest/TestData/ConsumerConfigurationDataWrapper.xml",
    "content": "﻿<ConfigurationDataWrapper xmlns:i=\"http://www.w3.org/2001/XMLSchema-instance\" xmlns=\"http://commsvr.com/UAOOI/SemanticData/UANetworking/Configuration/UnitTest/Serialization.xsd\">\n  <ConfigurationData xmlns:d2p1=\"http://commsvr.com/UAOOI/SemanticData/UANetworking/Configuration/Serialization.xsd\">\n    <d2p1:DataSets>\n      <d2p1:DataSetConfiguration>\n        <d2p1:AssociationRole>Consumer</d2p1:AssociationRole>\n        <d2p1:AssociationName>Association1</d2p1:AssociationName>\n        <d2p1:RepositoryGroup>repositoryGroup</d2p1:RepositoryGroup>\n        <d2p1:InformationModelURI>https://github.com/mpostol/OPC-UA-OOI</d2p1:InformationModelURI>\n        <d2p1:DataSymbolicName>DataSymbolicName</d2p1:DataSymbolicName>\n        <d2p1:DataSet>\n          <d2p1:DataMemberConfiguration>\n            <d2p1:SymbolicName>Value1</d2p1:SymbolicName>\n            <d2p1:ProcessValueName>Value1</d2p1:ProcessValueName>\n            <d2p1:TypeInformation>\n              <d2p1:BuiltInType>DateTime</d2p1:BuiltInType>\n              <q:TypeName xmlns:d8p1=\"Value1NS\" xmlns:q=\"http://commsvr.com/UAOOI/SemanticData/UANetworking/Configuration/Serialization.xsd\">d8p1:Value1Name</q:TypeName>\n              <d2p1:ValueRank>-1</d2p1:ValueRank>\n            </d2p1:TypeInformation>\n          </d2p1:DataMemberConfiguration>\n          <d2p1:DataMemberConfiguration>\n            <d2p1:SymbolicName>Value2</d2p1:SymbolicName>\n            <d2p1:ProcessValueName>Value2</d2p1:ProcessValueName>\n            <d2p1:TypeInformation>\n              <d2p1:BuiltInType>Double</d2p1:BuiltInType>\n              <q:TypeName xmlns:d8p1=\"Value2NS\" xmlns:q=\"http://commsvr.com/UAOOI/SemanticData/UANetworking/Configuration/Serialization.xsd\">d8p1:Value2Name</q:TypeName>\n              <d2p1:ValueRank>-1</d2p1:ValueRank>\n            </d2p1:TypeInformation>\n          </d2p1:DataMemberConfiguration>\n        </d2p1:DataSet>\n        <d2p1:Guid>c1f53ffb-6552-4ccc-84c9-f847147cdc85</d2p1:Guid>\n        <d2p1:Root>\n          <q:NodeIdentifier xmlns:d6p1=\"NodeDescriptorNS\" xmlns:q=\"http://commsvr.com/UAOOI/SemanticData/UANetworking/Configuration/Serialization.xsd\">d6p1:NodeDescriptor</q:NodeIdentifier>\n        </d2p1:Root>\n        <d2p1:PublishingInterval>1000</d2p1:PublishingInterval>\n        <d2p1:MaxBufferTime>100</d2p1:MaxBufferTime>\n        <d2p1:ConfigurationGuid>d3dea20a-1f65-4744-abf5-3d8120960d7b</d2p1:ConfigurationGuid>\n        <d2p1:ConfigurationVersion>\n          <d2p1:MajorVersion>0</d2p1:MajorVersion>\n          <d2p1:MinorVersion>0</d2p1:MinorVersion>\n        </d2p1:ConfigurationVersion>\n      </d2p1:DataSetConfiguration>\n    </d2p1:DataSets>\n    <d2p1:MessageHandlers>\n      <d2p1:MessageHandlerConfiguration i:type=\"d2p1:MessageReaderConfiguration\">\n        <d2p1:Name>UDP</d2p1:Name>\n        <d2p1:Configuration>\n          <d2p1:ChannelConfiguration>4840,True,239.255.255.1,True</d2p1:ChannelConfiguration>\n        </d2p1:Configuration>\n        <d2p1:TransportRole>Consumer</d2p1:TransportRole>\n        <d2p1:ConsumerAssociationConfigurations>\n          <d2p1:ConsumerAssociationConfiguration>\n            <d2p1:AssociationName>Association1</d2p1:AssociationName>\n            <d2p1:DataSetWriterId>12345</d2p1:DataSetWriterId>\n            <d2p1:PublisherId>c1f53ffb-6552-4ccc-84c9-f847147cdc85</d2p1:PublisherId>\n          </d2p1:ConsumerAssociationConfiguration>\n        </d2p1:ConsumerAssociationConfigurations>\n      </d2p1:MessageHandlerConfiguration>\n    </d2p1:MessageHandlers>\n    <d2p1:TypeDictionaries>\n      <d2p1:TypeDictionary>\n        <d2p1:Items>\n          <d2p1:TypeDescription i:type=\"d2p1:StructuredType\">\n            <d2p1:Name>StructuredTypeName</d2p1:Name>\n            <d2p1:Field>\n              <d2p1:FieldType>\n                <d2p1:Name>FieldName1</d2p1:Name>\n                <d2p1:SwitchField i:nil=\"true\" />\n                <d2p1:SwitchOperand>Equals</d2p1:SwitchOperand>\n                <d2p1:SwitchOperandSpecified>false</d2p1:SwitchOperandSpecified>\n                <d2p1:SwitchValue>0</d2p1:SwitchValue>\n                <d2p1:SwitchValueSpecified>false</d2p1:SwitchValueSpecified>\n                <q:TypeName xmlns:d9p1=\"http://opcfoundation.org/UA/\" xmlns:q=\"http://commsvr.com/UAOOI/SemanticData/UANetworking/Configuration/Serialization.xsd\">d9p1:Int32</q:TypeName>\n              </d2p1:FieldType>\n              <d2p1:FieldType>\n                <d2p1:Name>FieldName2</d2p1:Name>\n                <d2p1:SwitchField i:nil=\"true\" />\n                <d2p1:SwitchOperand>Equals</d2p1:SwitchOperand>\n                <d2p1:SwitchOperandSpecified>false</d2p1:SwitchOperandSpecified>\n                <d2p1:SwitchValue>0</d2p1:SwitchValue>\n                <d2p1:SwitchValueSpecified>false</d2p1:SwitchValueSpecified>\n                <q:TypeName xmlns:d9p1=\"http://opcfoundation.org/UA/\" xmlns:q=\"http://commsvr.com/UAOOI/SemanticData/UANetworking/Configuration/Serialization.xsd\">d9p1:Int32</q:TypeName>\n              </d2p1:FieldType>\n            </d2p1:Field>\n            <d2p1:StructureKind>Structure</d2p1:StructureKind>\n          </d2p1:TypeDescription>\n          <d2p1:TypeDescription i:type=\"d2p1:EnumeratedType\">\n            <d2p1:Name>EnumeratedTypeName</d2p1:Name>\n            <d2p1:EnumeratedValues>\n              <d2p1:EnumeratedValue>\n                <d2p1:Documentation>\n                  <d2p1:LocalizedText>\n                    <d2p1:Locale>en-us</d2p1:Locale>\n                    <d2p1:Value>Documentation</d2p1:Value>\n                  </d2p1:LocalizedText>\n                  <d2p1:LocalizedText>\n                    <d2p1:Locale>pl-pl</d2p1:Locale>\n                    <d2p1:Value>Dokumentacja</d2p1:Value>\n                  </d2p1:LocalizedText>\n                </d2p1:Documentation>\n                <d2p1:Name>Field1</d2p1:Name>\n                <d2p1:Value>0</d2p1:Value>\n              </d2p1:EnumeratedValue>\n              <d2p1:EnumeratedValue>\n                <d2p1:Documentation>\n                  <d2p1:LocalizedText>\n                    <d2p1:Locale>en-us</d2p1:Locale>\n                    <d2p1:Value>Documentation</d2p1:Value>\n                  </d2p1:LocalizedText>\n                  <d2p1:LocalizedText>\n                    <d2p1:Locale>pl-pl</d2p1:Locale>\n                    <d2p1:Value>Dokumentacja</d2p1:Value>\n                  </d2p1:LocalizedText>\n                </d2p1:Documentation>\n                <d2p1:Name>Field2</d2p1:Name>\n                <d2p1:Value>1</d2p1:Value>\n              </d2p1:EnumeratedValue>\n              <d2p1:EnumeratedValue>\n                <d2p1:Documentation>\n                  <d2p1:LocalizedText>\n                    <d2p1:Locale>en-us</d2p1:Locale>\n                    <d2p1:Value>Documentation</d2p1:Value>\n                  </d2p1:LocalizedText>\n                  <d2p1:LocalizedText>\n                    <d2p1:Locale>pl-pl</d2p1:Locale>\n                    <d2p1:Value>Dokumentacja</d2p1:Value>\n                  </d2p1:LocalizedText>\n                </d2p1:Documentation>\n                <d2p1:Name>Field3</d2p1:Name>\n                <d2p1:Value>2</d2p1:Value>\n              </d2p1:EnumeratedValue>\n            </d2p1:EnumeratedValues>\n          </d2p1:TypeDescription>\n        </d2p1:Items>\n        <d2p1:TargetNamespace>http://commsvr.com/UAOOI/Configuration/Networking/UnitTest/TargetNamespace.xsd</d2p1:TargetNamespace>\n      </d2p1:TypeDictionary>\n    </d2p1:TypeDictionaries>\n  </ConfigurationData>\n</ConfigurationDataWrapper>"
  },
  {
    "path": "Configuration/Tests/NetworkingUnitTest/TestData/CustomConfigurationData.xml",
    "content": "﻿<CustomConfigurationData xmlns:i=\"http://www.w3.org/2001/XMLSchema-instance\" xmlns=\"http://commsvr.com/UAOOI/SemanticData/UANetworking/Configuration/CustomConfigurationData.xsd\">\n  <DataSets xmlns=\"http://commsvr.com/UAOOI/SemanticData/UANetworking/Configuration/Serialization.xsd\">\n    <DataSetConfiguration>\n      <AssociationRole>Consumer</AssociationRole>\n      <AssociationName>Association1</AssociationName>\n      <RepositoryGroup>repositoryGroup</RepositoryGroup>\n      <InformationModelURI>https://github.com/mpostol/OPC-UA-OOI</InformationModelURI>\n      <DataSymbolicName>DataSymbolicName</DataSymbolicName>\n      <DataSet>\n        <DataMemberConfiguration>\n          <SymbolicName>Value1</SymbolicName>\n          <ProcessValueName>Value1</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>DateTime</BuiltInType>\n            <q:TypeName xmlns:d7p1=\"Value1NS\" xmlns:q=\"http://commsvr.com/UAOOI/SemanticData/UANetworking/Configuration/Serialization.xsd\">d7p1:Value1Name</q:TypeName>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>Value2</SymbolicName>\n          <ProcessValueName>Value2</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>Double</BuiltInType>\n            <q:TypeName xmlns:d7p1=\"Value2NS\" xmlns:q=\"http://commsvr.com/UAOOI/SemanticData/UANetworking/Configuration/Serialization.xsd\">d7p1:Value2Name</q:TypeName>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n      </DataSet>\n      <Guid>c1f53ffb-6552-4ccc-84c9-f847147cdc85</Guid>\n      <Root>\n        <q:NodeIdentifier xmlns:d5p1=\"NodeDescriptorNS\" xmlns:q=\"http://commsvr.com/UAOOI/SemanticData/UANetworking/Configuration/Serialization.xsd\">d5p1:NodeDescriptor</q:NodeIdentifier>\n      </Root>\n      <PublishingInterval>1000</PublishingInterval>\n      <MaxBufferTime>100</MaxBufferTime>\n      <ConfigurationGuid>d3dea20a-1f65-4744-abf5-3d8120960d7b</ConfigurationGuid>\n      <ConfigurationVersion>\n        <MajorVersion>0</MajorVersion>\n        <MinorVersion>0</MinorVersion>\n      </ConfigurationVersion>\n    </DataSetConfiguration>\n  </DataSets>\n  <MessageHandlers xmlns=\"http://commsvr.com/UAOOI/SemanticData/UANetworking/Configuration/Serialization.xsd\">\n    <MessageHandlerConfiguration i:type=\"MessageReaderConfiguration\">\n      <Name>UDP</Name>\n      <Configuration>\n        <ChannelConfiguration>4840,True,239.255.255.1,True</ChannelConfiguration>\n      </Configuration>\n      <TransportRole>Consumer</TransportRole>\n      <ConsumerAssociationConfigurations>\n        <ConsumerAssociationConfiguration>\n          <AssociationName>Association1</AssociationName>\n          <DataSetWriterId>12345</DataSetWriterId>\n          <PublisherId>c1f53ffb-6552-4ccc-84c9-f847147cdc85</PublisherId>\n        </ConsumerAssociationConfiguration>\n      </ConsumerAssociationConfigurations>\n    </MessageHandlerConfiguration>\n  </MessageHandlers>\n  <TypeDictionaries xmlns=\"http://commsvr.com/UAOOI/SemanticData/UANetworking/Configuration/Serialization.xsd\">\n    <TypeDictionary>\n      <Items>\n        <TypeDescription i:type=\"StructuredType\">\n          <Name>StructuredTypeName</Name>\n          <Field>\n            <FieldType>\n              <Name>FieldName1</Name>\n              <SwitchField i:nil=\"true\" />\n              <SwitchOperand>Equals</SwitchOperand>\n              <SwitchOperandSpecified>false</SwitchOperandSpecified>\n              <SwitchValue>0</SwitchValue>\n              <SwitchValueSpecified>false</SwitchValueSpecified>\n              <q:TypeName xmlns:d8p1=\"http://opcfoundation.org/UA/\" xmlns:q=\"http://commsvr.com/UAOOI/SemanticData/UANetworking/Configuration/Serialization.xsd\">d8p1:Int32</q:TypeName>\n            </FieldType>\n            <FieldType>\n              <Name>FieldName2</Name>\n              <SwitchField i:nil=\"true\" />\n              <SwitchOperand>Equals</SwitchOperand>\n              <SwitchOperandSpecified>false</SwitchOperandSpecified>\n              <SwitchValue>0</SwitchValue>\n              <SwitchValueSpecified>false</SwitchValueSpecified>\n              <q:TypeName xmlns:d8p1=\"http://opcfoundation.org/UA/\" xmlns:q=\"http://commsvr.com/UAOOI/SemanticData/UANetworking/Configuration/Serialization.xsd\">d8p1:Int32</q:TypeName>\n            </FieldType>\n          </Field>\n          <StructureKind>Structure</StructureKind>\n        </TypeDescription>\n        <TypeDescription i:type=\"EnumeratedType\">\n          <Name>EnumeratedTypeName</Name>\n          <EnumeratedValues>\n            <EnumeratedValue>\n              <Documentation>\n                <LocalizedText>\n                  <Locale>en-us</Locale>\n                  <Value>Documentation</Value>\n                </LocalizedText>\n                <LocalizedText>\n                  <Locale>pl-pl</Locale>\n                  <Value>Dokumentacja</Value>\n                </LocalizedText>\n              </Documentation>\n              <Name>Field1</Name>\n              <Value>0</Value>\n            </EnumeratedValue>\n            <EnumeratedValue>\n              <Documentation>\n                <LocalizedText>\n                  <Locale>en-us</Locale>\n                  <Value>Documentation</Value>\n                </LocalizedText>\n                <LocalizedText>\n                  <Locale>pl-pl</Locale>\n                  <Value>Dokumentacja</Value>\n                </LocalizedText>\n              </Documentation>\n              <Name>Field2</Name>\n              <Value>1</Value>\n            </EnumeratedValue>\n            <EnumeratedValue>\n              <Documentation>\n                <LocalizedText>\n                  <Locale>en-us</Locale>\n                  <Value>Documentation</Value>\n                </LocalizedText>\n                <LocalizedText>\n                  <Locale>pl-pl</Locale>\n                  <Value>Dokumentacja</Value>\n                </LocalizedText>\n              </Documentation>\n              <Name>Field3</Name>\n              <Value>2</Value>\n            </EnumeratedValue>\n          </EnumeratedValues>\n        </TypeDescription>\n      </Items>\n      <TargetNamespace>http://commsvr.com/UAOOI/Configuration/Networking/UnitTest/TargetNamespace.xsd</TargetNamespace>\n    </TypeDictionary>\n  </TypeDictionaries>\n  <CustomProperty>CustomProperty</CustomProperty>\n</CustomConfigurationData>"
  },
  {
    "path": "Configuration/Tests/NetworkingUnitTest/UANetworkingConfigurationUnitTest.cs",
    "content": "﻿//___________________________________________________________________________________\n//\n//  Copyright (C) 2018, Mariusz Postol LODZ POLAND.\n//\n//  To be in touch join the community at GITTER: https://gitter.im/mpostol/OPC-UA-OOI\n//___________________________________________________________________________________\n\nusing CommonServiceLocator;\nusing Microsoft.VisualStudio.TestTools.UnitTesting;\nusing System;\nusing System.Diagnostics;\nusing System.IO;\nusing System.Runtime.Serialization;\nusing UAOOI.Configuration.Networking.Serialization;\nusing UAOOI.Configuration.Networking.UnitTest.Instrumentation;\n\nnamespace UAOOI.Configuration.Networking.UnitTest\n{\n\n  [TestClass]\n  [DeploymentItem(@\"TestData\\\", @\"TestData\\\")]\n  public class UANetworkingConfigurationUnitTest\n  {\n\n    #region TestClass\n    [TestMethod]\n    [TestCategory(\"Configuration_UANetworkingConfigurationUnitTest\")]\n    public void CreatorTest()\n    {\n      CommonServiceLocator.ServiceLocator.SetLocatorProvider(() => null);\n      DerivedUANetworkingConfiguration _newConfiguration = new DerivedUANetworkingConfiguration();\n      Assert.IsNotNull(_newConfiguration);\n      Assert.IsNull(_newConfiguration.ConfigurationData);\n      Assert.IsNull(_newConfiguration.CurrentConfiguration);\n      Assert.IsNotNull(_newConfiguration.TraceSource);\n    }\n    [TestMethod]\n    [TestCategory(\"Configuration_UANetworkingConfigurationUnitTest\")]\n    public void CustomLoggerTraceSourceTest()\n    {\n      Logger _Logger = new Logger();\n      Container _container = new Container(new object[] { _Logger });\n      ServiceLocator.SetLocatorProvider(() => _container);\n      Assert.IsTrue(ServiceLocator.IsLocationProviderSet);\n      DerivedUANetworkingConfiguration _newConfiguration = new DerivedUANetworkingConfiguration();\n      Assert.AreSame(_Logger, _newConfiguration.TraceSource);\n      Assert.AreEqual<int>(0, _Logger.TraceLogList.Count);\n    }\n    [TestMethod]\n    [TestCategory(\"Configuration_UANetworkingConfigurationUnitTest\")]\n    public void ReadConfigurationTest()\n    {\n      Logger _Logger = new Logger();\n      CommonServiceLocator.ServiceLocator.SetLocatorProvider(() => new Container(new object[] { _Logger }));\n      DerivedUANetworkingConfiguration _newConfiguration = new DerivedUANetworkingConfiguration();\n      FileInfo _configFile = new FileInfo(@\"TestData\\ConfigurationDataConsumer.xml\");\n      Assert.IsTrue(_configFile.Exists);\n      bool _ConfigurationFileChanged = false;\n      Assert.IsNull(_newConfiguration.ConfigurationData);\n      _newConfiguration.OnModified += (x, y) => { _ConfigurationFileChanged = true; };\n      _newConfiguration.ReadConfiguration(_configFile);\n      Assert.IsTrue(_ConfigurationFileChanged);\n      Assert.IsNotNull(_newConfiguration.CurrentConfiguration);\n      Assert.IsNotNull(_newConfiguration.ConfigurationData);\n      Assert.AreEqual<int>(1, _Logger.TraceLogList.Count);\n      Logger.TraceLogEntity _logEntry = _Logger.TraceLogList[0];\n      Assert.AreEqual<TraceEventType>(TraceEventType.Verbose, _logEntry.EventType);\n      Assert.AreEqual<int>(52, _logEntry.Id);\n      string _logMessage = $\"Data = {_logEntry.Data}, EventType = {_logEntry.EventType}  Id = {_logEntry.Id}\";\n      Debug.WriteLine(_logMessage);\n    }\n    [TestMethod]\n    [TestCategory(\"Configuration_UANetworkingConfigurationUnitTest\")]\n    public void OnChangedConfigurationTest()\n    {\n      Logger _Logger = new Logger();\n      CommonServiceLocator.ServiceLocator.SetLocatorProvider(() => new Container(new object[] { _Logger }));\n      DerivedUANetworkingConfiguration _newConfiguration = new DerivedUANetworkingConfiguration();\n      FileInfo _configFile = new FileInfo(@\"TestData\\ConfigurationDataConsumer.xml\");\n      Assert.IsTrue(_configFile.Exists);\n      bool _ConfigurationFileChanged = false;\n      Assert.IsNull(_newConfiguration.ConfigurationData);\n      _newConfiguration.ReadConfiguration(_configFile);\n      Assert.IsNotNull(_newConfiguration.ConfigurationData);\n      _newConfiguration.OnModified += (x, y) => { _ConfigurationFileChanged = true; };\n      Assert.IsNotNull(_newConfiguration.ConfigurationData.OnChanged);\n      _newConfiguration.ConfigurationData.OnChanged();\n      Assert.IsTrue(_ConfigurationFileChanged);\n      Assert.AreEqual<int>(1, _Logger.TraceLogList.Count);\n    }\n    [TestMethod]\n    [TestCategory(\"Configuration_UANetworkingConfigurationUnitTest\")]\n    public void ReadSaveConfigurationTest()\n    {\n      Logger _Logger = new Logger();\n      CommonServiceLocator.ServiceLocator.SetLocatorProvider(() => new Container(new object[] { _Logger }));\n      DerivedUANetworkingConfiguration _newConfiguration = new DerivedUANetworkingConfiguration();\n      FileInfo _configFile = new FileInfo(@\"TestData\\ConfigurationDataConsumer.xml\");\n      Assert.IsNull(_newConfiguration.ConfigurationData);\n      _newConfiguration.ReadConfiguration(_configFile);\n      Assert.IsNotNull(_newConfiguration.ConfigurationData);\n\n      //SaveConfiguration\n      bool _ConfigurationFileChanged = false;\n      _newConfiguration.OnModified += (x, y) => { _ConfigurationFileChanged = true; };\n      FileInfo _fi = new FileInfo(@\"BleBle.txt\");\n      Assert.IsFalse(_fi.Exists);\n      _newConfiguration.SaveConfiguration(_fi);\n      Assert.IsFalse(_ConfigurationFileChanged);\n      Assert.IsNotNull(_newConfiguration.CurrentConfiguration);\n      _fi.Refresh();\n      Assert.IsTrue(_fi.Exists);\n      Assert.AreEqual<int>(2, _Logger.TraceLogList.Count);\n    }\n    [TestMethod]\n    [TestCategory(\"Configuration_UANetworkingConfigurationUnitTest\")]\n    [ExpectedException(typeof(ArgumentNullException))]\n    public void CurrentConfigurationNullTest()\n    {\n      Logger _Logger = new Logger();\n      CommonServiceLocator.ServiceLocator.SetLocatorProvider(() => new Container(new object[] { _Logger }));\n      UANetworkingConfigurationConfigurationDataWrapper _newConfiguration = new UANetworkingConfigurationConfigurationDataWrapper\n      {\n        CurrentConfiguration = null\n      };\n      FileInfo _configFile = new FileInfo(@\"TestData\\ConfigurationDataWrapperNull.xml\");\n      Assert.IsFalse(_configFile.Exists);\n      _newConfiguration.SaveConfiguration(_configFile);\n    }\n    [TestMethod]\n    [TestCategory(\"Configuration_UANetworkingConfigurationUnitTest\")]\n    [ExpectedException(typeof(SerializationException))]\n    public void ConfigurationDataNullTest()\n    {\n      Logger _Logger = new Logger();\n      CommonServiceLocator.ServiceLocator.SetLocatorProvider(() => new Container(new object[] { _Logger }));\n      UANetworkingConfigurationConfigurationDataWrapper _newConfiguration = new UANetworkingConfigurationConfigurationDataWrapper();\n      _newConfiguration.CurrentConfiguration.ConfigurationData = null;\n      FileInfo _configFile = new FileInfo(@\"TestData\\ConfigurationDataWrapper.ConfigurationDataNull.xml\");\n      Assert.IsFalse(_configFile.Exists);\n      _newConfiguration.SaveConfiguration(_configFile);\n    }\n    [TestMethod]\n    [TestCategory(\"Configuration_UANetworkingConfigurationUnitTest\")]\n    public void ReadSaveConfigurationDataWrapperTest()\n    {\n      Logger _Logger = new Logger();\n      CommonServiceLocator.ServiceLocator.SetLocatorProvider(() => new Container(new object[] { _Logger }));\n      UANetworkingConfigurationConfigurationDataWrapper _newConfiguration = new UANetworkingConfigurationConfigurationDataWrapper();\n      Assert.AreEqual<int>(0, _newConfiguration.CurrentConfiguration.OnLoadedCount);\n      FileInfo _configFile = new FileInfo(@\"TestData\\ConfigurationDataWrapper.xml\");\n      Assert.IsFalse(_configFile.Exists);\n      Assert.AreEqual<int>(0, _newConfiguration.CurrentConfiguration.OnSavingCount);\n      _newConfiguration.SaveConfiguration(_configFile);\n\n      //on SaveConfiguration tests\n      Assert.AreEqual<int>(1, _newConfiguration.CurrentConfiguration.OnSavingCount);\n      Assert.IsNotNull(_newConfiguration.CurrentConfiguration);\n      _configFile.Refresh();\n      Assert.IsTrue(_configFile.Exists);\n      Assert.IsNotNull(_newConfiguration.ConfigurationData);\n      Assert.AreEqual<int>(0, _newConfiguration.CurrentConfiguration.OnLoadedCount);\n\n      //prepare ReadConfiguration\n      bool _ConfigurationFileChanged = false;\n      _newConfiguration.OnModified += (x, y) => { _ConfigurationFileChanged = true; };\n      _newConfiguration.ReadConfiguration(_configFile);\n\n      //on ReadConfiguration test\n      Assert.IsTrue(_ConfigurationFileChanged);\n      Assert.IsNotNull(_newConfiguration.CurrentConfiguration);\n      Assert.IsNotNull(_newConfiguration.ConfigurationData);\n      Assert.AreEqual<int>(1, _newConfiguration.CurrentConfiguration.OnLoadedCount);\n      Assert.AreEqual<int>(0, _newConfiguration.CurrentConfiguration.OnSavingCount);\n      Assert.AreEqual<int>(2, _Logger.TraceLogList.Count);\n      //Assert.Fail(); //To get created file the test must fail.\n    }\n    [TestMethod]\n    public void CustomConfigurationDataTest()\n    {\n      Logger _Logger = new Logger();\n      CommonServiceLocator.ServiceLocator.SetLocatorProvider(() => new Container(new object[] { _Logger }));\n      UANetworkingConfigurationCustomConfigurationDataFixture _newConfiguration = UANetworkingConfigurationCustomConfigurationDataFixture.GetUANetworkingConfigurationFixture();\n      Assert.IsNotNull(_newConfiguration.CurrentConfiguration);\n      Assert.AreEqual<int>(0, _newConfiguration.CurrentConfiguration.OnLoadedCount);\n      FileInfo _configFile = new FileInfo(@\"TestData\\CustomConfigurationData.new.xml\");\n      Assert.IsFalse(_configFile.Exists);\n      Assert.AreEqual<int>(0, _newConfiguration.CurrentConfiguration.OnSavingCount);\n      _newConfiguration.SaveConfiguration(_configFile);\n\n      //on SaveConfiguration tests\n      Assert.AreEqual<int>(1, _newConfiguration.CurrentConfiguration.OnSavingCount);\n      Assert.IsNotNull(_newConfiguration.CurrentConfiguration);\n      _configFile.Refresh();\n      Assert.IsTrue(_configFile.Exists);\n      Assert.IsNotNull(_newConfiguration.ConfigurationData);\n      Assert.AreEqual<int>(0, _newConfiguration.CurrentConfiguration.OnLoadedCount);\n\n      //prepare ReadConfiguration\n      bool _ConfigurationFileChanged = false;\n      _newConfiguration.OnModified += (x, y) => { _ConfigurationFileChanged = true; };\n      _newConfiguration.ReadConfiguration(_configFile);\n\n      //on ReadConfiguration test\n      Assert.IsTrue(_ConfigurationFileChanged);\n      Assert.IsNotNull(_newConfiguration.CurrentConfiguration);\n      Assert.IsNotNull(_newConfiguration.ConfigurationData);\n      Assert.AreEqual<int>(1, _newConfiguration.CurrentConfiguration.OnLoadedCount);\n      Assert.AreEqual<int>(0, _newConfiguration.CurrentConfiguration.OnSavingCount);\n      Assert.AreEqual<int>(2, _Logger.TraceLogList.Count);\n\n      //Assert.Fail(); //To get created file the test must fail.\n\n    }\n    #endregion\n\n    #region private\n\n    private class UANetworkingConfigurationConfigurationDataWrapper : UANetworkingConfiguration<ConfigurationDataWrapper>\n    {\n      public UANetworkingConfigurationConfigurationDataWrapper()\n      {\n        this.CurrentConfiguration = new ConfigurationDataWrapper();\n      }\n    }\n    private class UANetworkingConfigurationCustomConfigurationDataFixture : UANetworkingConfiguration<CustomConfigurationData>\n    {\n      internal static UANetworkingConfigurationCustomConfigurationDataFixture GetUANetworkingConfigurationFixture()\n      {\n        UANetworkingConfigurationCustomConfigurationDataFixture _item = new UANetworkingConfigurationCustomConfigurationDataFixture();\n        _item.CurrentConfiguration = CustomConfigurationData.LoadConsumer();\n        return _item;\n      }\n\n    }\n    private class DerivedUANetworkingConfiguration : UANetworkingConfiguration<ConfigurationData>\n    {\n      public DerivedUANetworkingConfiguration()\n      {\n        CommonServiceLocator.ServiceLocator.SetLocatorProvider(() => null);\n      }\n    }\n    #endregion\n\n  }\n}\n"
  },
  {
    "path": "Configuration/Tests/NetworkingUnitTest/UATypeInfoUnitTest.cs",
    "content": "﻿using System;\nusing Microsoft.VisualStudio.TestTools.UnitTesting;\nusing UAOOI.Configuration.Networking.Serialization;\n\nnamespace UAOOI.Configuration.Networking.UnitTest\n{\n  [TestClass]\n  public class UATypeInfoUnitTest\n  {\n    [TestMethod]\n    [ExpectedException(typeof(ArgumentOutOfRangeException))]\n    public void CreatorADNullTestMethod1()\n    {\n      new UATypeInfo(BuiltInType.Byte, 0, null);\n    }\n    [TestMethod]\n    [ExpectedException(typeof(ArgumentOutOfRangeException))]\n    public void CreatorADLengthTestMethod1()\n    {\n      new UATypeInfo(BuiltInType.Byte, 0, new int[] { });\n    }\n    [TestMethod]\n    public void CreatorTestMethod1()\n    {\n      Assert.IsNotNull(new UATypeInfo(BuiltInType.Byte, 0, new int[] { 1, 2, 3 }));\n    }\n  }\n}\n"
  },
  {
    "path": "Configuration/Tests/NetworkingUnitTest/XmlDataContractSerializersUnitTest.cs",
    "content": "﻿\nusing Microsoft.VisualStudio.TestTools.UnitTesting;\nusing System.IO;\nusing UAOOI.Configuration.Networking.Serializers;\n\nnamespace UAOOI.Configuration.Networking.UnitTest\n{\n  /// <summary>\n  /// Summary description for DataContractSerializersUnitTest\n  /// </summary>\n  [TestClass]\n  public class XmlDataContractSerializersUnitTest\n  {\n    public XmlDataContractSerializersUnitTest()\n    {\n      //\n      // TODO: Add constructor logic here\n      //\n    }\n\n    private TestContext testContextInstance;\n\n    /// <summary>\n    ///Gets or sets the test context which provides\n    ///information about and functionality for the current test run.\n    ///</summary>\n    public TestContext TestContext\n    {\n      get\n      {\n        return testContextInstance;\n      }\n      set\n      {\n        testContextInstance = value;\n      }\n    }\n\n    #region Additional test attributes\n    //\n    // You can use the following additional attributes as you write your tests:\n    //\n    // Use ClassInitialize to run code before running the first test in the class\n    // [ClassInitialize()]\n    // public static void MyClassInitialize(TestContext testContext) { }\n    //\n    // Use ClassCleanup to run code after all tests in a class have run\n    // [ClassCleanup()]\n    // public static void MyClassCleanup() { }\n    //\n    // Use TestInitialize to run code before running each test \n    // [TestInitialize()]\n    // public void MyTestInitialize() { }\n    //\n    // Use TestCleanup to run code after each test has run\n    // [TestCleanup()]\n    // public void MyTestCleanup() { }\n    //\n    #endregion\n\n    [TestMethod]\n    [TestCategory(\"DataBindings_XmlSerializerTestMethod\")]\n    public void XmlSerializerTestMethod()\n    {\n\n      // Create a new instance of the Person class and serialize it to an XML file.\n      CSharpSelectedTypesEncoding _p1 = new CSharpSelectedTypesEncoding();\n      string _fileName = \"DataContractExample.xml\";\n      XmlDataContractSerializers.Save<CSharpSelectedTypesEncoding>(new FileInfo(_fileName), _p1, (x, y, z) => Assert.AreEqual(System.Diagnostics.TraceEventType.Verbose, x));\n      FileInfo _newFile = new FileInfo(_fileName);\n      Assert.IsTrue(_newFile.Exists);\n      CSharpSelectedTypesEncoding _p2 = XmlDataContractSerializers.Load<CSharpSelectedTypesEncoding>(new FileInfo(_fileName), (x, y, z) => Assert.AreEqual<System.Diagnostics.TraceEventType>(System.Diagnostics.TraceEventType.Verbose, x));\n      Assert.IsNotNull(_p2);\n      _p1.AreEqual(_p2);\n\n    }\n  }\n}\n\n"
  },
  {
    "path": "Configuration/Tests/NetworkingUnitTest/packages.config",
    "content": "﻿<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<packages>\n  <package id=\"CommonServiceLocator\" version=\"2.0.6\" targetFramework=\"net472\" />\n  <package id=\"System.Diagnostics.TraceSource\" version=\"4.3.0\" targetFramework=\"net472\" />\n  <package id=\"UAOOI.Common.Infrastructure\" version=\"6.4.7\" targetFramework=\"net472\" />\n</packages>"
  },
  {
    "path": "Configuration/Tests/NetworkingUpgradeUnitTest/Configuration.Networking.Upgrade.UnitTest.csproj",
    "content": "﻿<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<Project ToolsVersion=\"14.0\" DefaultTargets=\"Build\" xmlns=\"http://schemas.microsoft.com/developer/msbuild/2003\">\n  <PropertyGroup>\n    <Configuration Condition=\" '$(Configuration)' == '' \">Debug</Configuration>\n    <Platform Condition=\" '$(Platform)' == '' \">AnyCPU</Platform>\n    <ProjectGuid>{F2ED1AC0-2F78-4506-ADFD-0BC88A6C616D}</ProjectGuid>\n    <OutputType>Library</OutputType>\n    <AppDesignerFolder>Properties</AppDesignerFolder>\n    <RootNamespace>UAOOI.Configuration.Networking.Upgrade.UnitTest</RootNamespace>\n    <AssemblyName>UAOOI.Configuration.Networking.Upgrade.UnitTest</AssemblyName>\n    <TargetFrameworkVersion>v4.7.2</TargetFrameworkVersion>\n    <FileAlignment>512</FileAlignment>\n    <ProjectTypeGuids>{3AC096D0-A1C2-E12C-1390-A8335801FDAB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>\n    <VisualStudioVersion Condition=\"'$(VisualStudioVersion)' == ''\">10.0</VisualStudioVersion>\n    <VSToolsPath Condition=\"'$(VSToolsPath)' == ''\">$(MSBuildExtensionsPath32)\\Microsoft\\VisualStudio\\v$(VisualStudioVersion)</VSToolsPath>\n    <ReferencePath>$(ProgramFiles)\\Common Files\\microsoft shared\\VSTT\\$(VisualStudioVersion)\\UITestExtensionPackages</ReferencePath>\n    <IsCodedUITest>False</IsCodedUITest>\n    <TestProjectType>UnitTest</TestProjectType>\n    <TargetFrameworkProfile />\n  </PropertyGroup>\n  <PropertyGroup Condition=\" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' \">\n    <DebugSymbols>true</DebugSymbols>\n    <DebugType>full</DebugType>\n    <Optimize>false</Optimize>\n    <OutputPath>bin\\Debug\\</OutputPath>\n    <DefineConstants>DEBUG;TRACE</DefineConstants>\n    <ErrorReport>prompt</ErrorReport>\n    <WarningLevel>4</WarningLevel>\n    <NoWarn>IDE0001</NoWarn>\n  </PropertyGroup>\n  <PropertyGroup Condition=\" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' \">\n    <DebugType>pdbonly</DebugType>\n    <Optimize>true</Optimize>\n    <OutputPath>bin\\Release\\</OutputPath>\n    <DefineConstants>TRACE</DefineConstants>\n    <ErrorReport>prompt</ErrorReport>\n    <WarningLevel>4</WarningLevel>\n  </PropertyGroup>\n  <PropertyGroup>\n    <SignAssembly>true</SignAssembly>\n  </PropertyGroup>\n  <PropertyGroup>\n    <AssemblyOriginatorKeyFile>OPCUAOOIKey.snk</AssemblyOriginatorKeyFile>\n  </PropertyGroup>\n  <ItemGroup>\n    <Reference Include=\"System\" />\n    <Reference Include=\"System.Diagnostics.TraceSource, Version=4.0.1.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL\">\n      <HintPath>..\\..\\..\\packages\\System.Diagnostics.TraceSource.4.3.0\\lib\\net46\\System.Diagnostics.TraceSource.dll</HintPath>\n      <Private>True</Private>\n      <Private>True</Private>\n    </Reference>\n    <Reference Include=\"System.Runtime.Serialization\" />\n    <Reference Include=\"UAOOI.Common.Infrastructure, Version=6.4.6.0, Culture=neutral, PublicKeyToken=deede3c2df331bb0, processorArchitecture=MSIL\">\n      <HintPath>..\\..\\..\\packages\\UAOOI.Common.Infrastructure.6.4.7\\lib\\netstandard2.0\\UAOOI.Common.Infrastructure.dll</HintPath>\n    </Reference>\n  </ItemGroup>\n  <Choose>\n    <When Condition=\"('$(VisualStudioVersion)' == '10.0' or '$(VisualStudioVersion)' == '') and '$(TargetFrameworkVersion)' == 'v3.5'\">\n      <ItemGroup>\n        <Reference Include=\"Microsoft.VisualStudio.QualityTools.UnitTestFramework, Version=10.1.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL\" />\n      </ItemGroup>\n    </When>\n    <Otherwise>\n      <ItemGroup>\n        <Reference Include=\"Microsoft.VisualStudio.QualityTools.UnitTestFramework\">\n          <Private>False</Private>\n        </Reference>\n      </ItemGroup>\n    </Otherwise>\n  </Choose>\n  <ItemGroup>\n    <Compile Include=\"InitializeTests.cs\" />\n    <Compile Include=\"Properties\\AssemblyInfo.cs\" />\n    <Compile Include=\"Re_l1_00_16UnitTest.cs\" />\n  </ItemGroup>\n  <ItemGroup>\n    <None Include=\"OPCUAOOIKey.snk\" />\n  </ItemGroup>\n  <ItemGroup>\n    <None Include=\"packages.config\" />\n    <None Include=\"TestingData\\ConfigurationDataConsumer.xml\">\n      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>\n    </None>\n    <None Include=\"TestingData\\ConfigurationDataProducer.xml\">\n      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>\n    </None>\n  </ItemGroup>\n  <ItemGroup>\n    <ProjectReference Include=\"..\\..\\NetworkingUpgrade\\Configuration.Networking.Upgrade.csproj\">\n      <Project>{bebe131a-c931-4c2c-9f9e-ed0d0b75df26}</Project>\n      <Name>Configuration.Networking.Upgrade</Name>\n    </ProjectReference>\n    <ProjectReference Include=\"..\\..\\Networking\\Configuration.Networking.csproj\">\n      <Project>{e28e0880-03aa-4d1b-a820-41b04e766019}</Project>\n      <Name>Configuration.Networking</Name>\n    </ProjectReference>\n  </ItemGroup>\n  <Choose>\n    <When Condition=\"'$(VisualStudioVersion)' == '10.0' And '$(IsCodedUITest)' == 'True'\">\n      <ItemGroup>\n        <Reference Include=\"Microsoft.VisualStudio.QualityTools.CodedUITestFramework, Version=10.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL\">\n          <Private>False</Private>\n        </Reference>\n        <Reference Include=\"Microsoft.VisualStudio.TestTools.UITest.Common, Version=10.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL\">\n          <Private>False</Private>\n        </Reference>\n        <Reference Include=\"Microsoft.VisualStudio.TestTools.UITest.Extension, Version=10.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL\">\n          <Private>False</Private>\n        </Reference>\n        <Reference Include=\"Microsoft.VisualStudio.TestTools.UITesting, Version=10.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL\">\n          <Private>False</Private>\n        </Reference>\n      </ItemGroup>\n    </When>\n  </Choose>\n  <Import Project=\"$(VSToolsPath)\\TeamTest\\Microsoft.TestTools.targets\" Condition=\"Exists('$(VSToolsPath)\\TeamTest\\Microsoft.TestTools.targets')\" />\n  <Import Project=\"$(MSBuildToolsPath)\\Microsoft.CSharp.targets\" />\n  <!-- To modify your build process, add your task inside one of the targets below and uncomment it. \n       Other similar extension points exist, see Microsoft.Common.targets.\n  <Target Name=\"BeforeBuild\">\n  </Target>\n  <Target Name=\"AfterBuild\">\n  </Target>\n  -->\n</Project>"
  },
  {
    "path": "Configuration/Tests/NetworkingUpgradeUnitTest/InitializeTests.cs",
    "content": "﻿using Microsoft.VisualStudio.TestTools.UnitTesting;\nusing System.IO;\n\nnamespace UAOOI.Configuration.Networking.Upgrade.UnitTest\n{\n  [TestClass]\n  [DeploymentItem(@\"TestingData\\\", @\"TestingData\\\")]\n  public class AssemblyInitialize\n  {\n    [AssemblyInitialize]\n    public static void Initialize(TestContext context) { }\n    [TestMethod]\n    public void TestingDataTestMethod()\n    {\n      FileInfo _testFile = new FileInfo(@\"TestingData\\ConfigurationDataConsumer.xml\");\n      Assert.IsTrue(_testFile.Exists);\n    }\n\n  }\n}\n"
  },
  {
    "path": "Configuration/Tests/NetworkingUpgradeUnitTest/Properties/AssemblyInfo.cs",
    "content": "﻿//___________________________________________________________________________________\n//\n//  Copyright (C) 2019, Mariusz Postol LODZ POLAND.\n//\n//  To be in touch join the community at GITTER: https://gitter.im/mpostol/OPC-UA-OOI\n//___________________________________________________________________________________\n\nusing System.Reflection;\nusing System.Runtime.InteropServices;\n\n[assembly: AssemblyTitle(\"UAOOI.Configuration.Networking.Upgrade.UnitTest\")]\n[assembly: AssemblyDescription(\"Unit tests aimed to upgrade obsolete configuration\")]\n[assembly: AssemblyConfiguration(\"\")]\n[assembly: AssemblyCompany(\"commsvr.com\")]\n[assembly: AssemblyProduct(\"NetworkingUpgradeUnitTest\")]\n[assembly: AssemblyCopyright(\"Copyright © mpostol 2019\")]\n[assembly: AssemblyTrademark(\"\")]\n[assembly: AssemblyCulture(\"\")]\n[assembly: Guid(\"f2ed1ac0-2f78-4506-adfd-0bc88a6c616d\")]\n[assembly: AssemblyVersion(\"4.0.1.*\")]\n[assembly: AssemblyFileVersion(\"4.0.1.0\")]\n"
  },
  {
    "path": "Configuration/Tests/NetworkingUpgradeUnitTest/Re_l1_00_16UnitTest.cs",
    "content": "﻿//___________________________________________________________________________________\n//\n//  Copyright (C) 2018, Mariusz Postol LODZ POLAND.\n//\n//  To be in touch join the community at GITTER: https://gitter.im/mpostol/OPC-UA-OOI\n//___________________________________________________________________________________\n\nusing Microsoft.VisualStudio.TestTools.UnitTesting;\nusing System.IO;\nusing UAOOI.Common.Infrastructure.Diagnostic;\nusing UAOOI.Configuration.Networking.Serializers;\nusing UAOOI.Configuration.Networking.Upgrade.Re_l1_00_16;\nusing NewConfigurationData = UAOOI.Configuration.Networking.Serialization.ConfigurationData;\n\nnamespace UAOOI.Configuration.Networking.Upgrade.UnitTest\n{\n\n  [TestClass]\n  public class Re_l1_00_16UnitTest\n  {\n    [TestMethod]\n    [DeploymentItem(@\"TestingData\\\", @\"TestingData\\\")]\n    public void AfterCreationStateTest()\n    {\n      ConfigurationData _newInstance = new ConfigurationData();\n      Assert.IsNull(_newInstance.DataSets);\n      Assert.IsNull(_newInstance.MessageHandlers);\n    }\n    [TestMethod]\n    public void ReadXmlTestMethod()\n    {\n      NewMethod(@\"TestingData\\ConfigurationDataConsumer.xml\", @\"NewConfigurationDataConsumer.xml\");\n      NewMethod(@\"TestingData\\ConfigurationDataProducer.xml\", @\"NewConfigurationDataProducer.xml\");\n    }\n\n    private void NewMethod(string inFileName, string outFileName)\n    {\n      TraceSourceBase _trace = new TraceSourceBase();\n      FileInfo _file2Covert = new FileInfo(inFileName);\n      Assert.IsTrue(_file2Covert.Exists);\n      ConfigurationData _oldConfiguration = XmlDataContractSerializers.Load<ConfigurationData>(_file2Covert, _trace.TraceData);\n      Assert.IsNotNull(_oldConfiguration);\n      NewConfigurationData _newConfiguration = Import(_oldConfiguration);\n      Assert.IsNotNull(_newConfiguration);\n      FileInfo _file2Save = new FileInfo(outFileName);\n      XmlDataContractSerializers.Save<NewConfigurationData>(_file2Save, _newConfiguration, _trace.TraceData);\n    }\n    private NewConfigurationData Import(ConfigurationData _oldConfiguration)\n    {\n      NewConfigurationData _ret = new NewConfigurationData() { };\n      return _ret;\n    }\n  }\n}\n"
  },
  {
    "path": "Configuration/Tests/NetworkingUpgradeUnitTest/TestingData/ConfigurationDataConsumer.xml",
    "content": "﻿<ConfigurationData xmlns:i=\"http://www.w3.org/2001/XMLSchema-instance\" xmlns=\"http://commsvr.com/UAOOI/SemanticData/UANetworking/Configuration/Serialization.xsd\">\n  <DataSets>\n    <DataSetConfiguration>\n      <AssociationRole>Consumer</AssociationRole>\n      <AssociationName>Simple</AssociationName>\n      <RepositoryGroup>repositoryGroup</RepositoryGroup>\n      <InformationModelURI>https://github.com/mpostol/OPC-UA-OOI</InformationModelURI>\n      <DataSymbolicName>DataSymbolicName</DataSymbolicName>\n      <DataSet>\n        <DataMemberConfiguration>\n          <SymbolicName>BoolToggle</SymbolicName>\n          <ProcessValueName>BoolToggle</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>Boolean</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>ValueInt32</SymbolicName>\n          <ProcessValueName>ValueInt32</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>Int32</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>Int32Fast</SymbolicName>\n          <ProcessValueName>Int32Fast</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>Int32</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>ValueDateTime</SymbolicName>\n          <ProcessValueName>ValueDateTime</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>DateTime</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n      </DataSet>\n      <Guid>c1f53ffb-6552-4ccc-84c9-f847147cdc85</Guid>\n      <Root>\n        <q:NodeIdentifier xmlns:d5p1=\"NodeDescriptorNS\" xmlns:q=\"http://commsvr.com/UAOOI/SemanticData/UANetworking/Configuration/Serialization.xsd\">d5p1:NodeDescriptor</q:NodeIdentifier>\n      </Root>\n      <PublishingInterval>1000</PublishingInterval>\n      <MaxBufferTime>100</MaxBufferTime>\n      <ConfigurationGuid>1893991b-517c-4a5f-b8a4-1633d2a101c8</ConfigurationGuid>\n      <ConfigurationVersion>\n        <MajorVersion>1</MajorVersion>\n        <MinorVersion>0</MinorVersion>\n      </ConfigurationVersion>\n    </DataSetConfiguration>\n    <DataSetConfiguration>\n      <AssociationRole>Consumer</AssociationRole>\n      <AssociationName>AllTypes</AssociationName>\n      <RepositoryGroup>repositoryGroup</RepositoryGroup>\n      <InformationModelURI>https://github.com/mpostol/OPC-UA-OOI</InformationModelURI>\n      <DataSymbolicName>DataSymbolicName</DataSymbolicName>\n      <DataSet>\n        <DataMemberConfiguration>\n          <SymbolicName>ValueBoolean</SymbolicName>\n          <ProcessValueName>ValueBoolean</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>Boolean</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>ValueByte</SymbolicName>\n          <ProcessValueName>ValueByte</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>Byte</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>ValueInt16</SymbolicName>\n          <ProcessValueName>ValueInt16</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>Int16</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>ValueInt32</SymbolicName>\n          <ProcessValueName>ValueInt32</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>Int32</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>ValueInt64</SymbolicName>\n          <ProcessValueName>ValueInt64</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>Int64</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>ValueSByte</SymbolicName>\n          <ProcessValueName>ValueSByte</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>SByte</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>ValueUInt16</SymbolicName>\n          <ProcessValueName>ValueUInt16</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>UInt16</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>ValueUInt32</SymbolicName>\n          <ProcessValueName>ValueUInt32</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>UInt32</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>ValueUInt64</SymbolicName>\n          <ProcessValueName>ValueUInt64</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>UInt64</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>ValueFloat</SymbolicName>\n          <ProcessValueName>ValueFloat</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>Float</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>ValueDouble</SymbolicName>\n          <ProcessValueName>ValueDouble</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>Double</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>ValueString</SymbolicName>\n          <ProcessValueName>ValueString</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>String</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>ValueByteString</SymbolicName>\n          <ProcessValueName>ValueByteString</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>ByteString</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>ValueGuid</SymbolicName>\n          <ProcessValueName>ValueGuid</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>Guid</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>ValueDateTime</SymbolicName>\n          <ProcessValueName>ValueDateTime</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>DateTime</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>UInt32Array</SymbolicName>\n          <ProcessValueName>UInt32Array</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>UInt32</BuiltInType>\n            <ValueRank>1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n\n        <!--arrays all types out of scope -->\n        <!-- uncomment aas needed - all have been self tested\n        <DataMemberConfiguration>\n          <SymbolicName>ArrayBoolean</SymbolicName>\n          <ProcessValueName>ArrayBoolean</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>Boolean</BuiltInType>\n            <ValueRank>1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>ArrayByte</SymbolicName>\n          <ProcessValueName>ArrayByte</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>Byte</BuiltInType>\n            <ValueRank>1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>ArrayInt16</SymbolicName>\n          <ProcessValueName>ArrayInt16</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>Int16</BuiltInType>\n            <ValueRank>1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>ArrayInt32</SymbolicName>\n          <ProcessValueName>ArrayInt32</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>Int32</BuiltInType>\n            <ValueRank>1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>ArrayInt64</SymbolicName>\n          <ProcessValueName>ArrayInt64</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>Int64</BuiltInType>\n            <ValueRank>1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>ArraySByte</SymbolicName>\n          <ProcessValueName>ArraySByte</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>SByte</BuiltInType>\n            <ValueRank>1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>ArrayUInt16</SymbolicName>\n          <ProcessValueName>ArrayUInt16</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>UInt16</BuiltInType>\n            <ValueRank>1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>ArrayUInt32</SymbolicName>\n          <ProcessValueName>ArrayUInt32</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>UInt32</BuiltInType>\n            <ValueRank>1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>ArrayUInt64</SymbolicName>\n          <ProcessValueName>ArrayUInt64</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>UInt64</BuiltInType>\n            <ValueRank>1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>ArrayFloat</SymbolicName>\n          <ProcessValueName>ArrayFloat</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>Float</BuiltInType>\n            <ValueRank>1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>ArrayDouble</SymbolicName>\n          <ProcessValueName>ArrayDouble</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>Double</BuiltInType>\n            <ValueRank>1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>ArrayString</SymbolicName>\n          <ProcessValueName>ArrayString</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>String</BuiltInType>\n            <ValueRank>1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>ArrayByteString</SymbolicName>\n          <ProcessValueName>ArrayByteString</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>ByteString</BuiltInType>\n            <ValueRank>1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>ArrayGuid</SymbolicName>\n          <ProcessValueName>ArrayGuid</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>Guid</BuiltInType>\n            <ValueRank>1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>ArrayDateTime</SymbolicName>\n          <ProcessValueName>ArrayDateTime</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>DateTime</BuiltInType>\n            <ValueRank>1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n\n        -->\n        <!--out of scope-->\n\n      </DataSet>\n      <Guid>c1f53ffb-6552-4ccc-84c9-f847147cdc85</Guid>\n      <Root>\n        <q:NodeIdentifier xmlns:d5p1=\"NodeDescriptorNS\" xmlns:q=\"http://commsvr.com/UAOOI/SemanticData/UANetworking/Configuration/Serialization.xsd\">d5p1:NodeDescriptor</q:NodeIdentifier>\n      </Root>\n      <PublishingInterval>1000</PublishingInterval>\n      <MaxBufferTime>100</MaxBufferTime>\n      <ConfigurationGuid>D79E3F84-48AB-48A2-9055-DF589D19E824</ConfigurationGuid>\n      <ConfigurationVersion>\n        <MajorVersion>1</MajorVersion>\n        <MinorVersion>0</MinorVersion>\n      </ConfigurationVersion>\n    </DataSetConfiguration>\n    <DataSetConfiguration>\n      <AssociationRole>Consumer</AssociationRole>\n      <AssociationName>MassTest</AssociationName>\n      <RepositoryGroup>repositoryGroup</RepositoryGroup>\n      <InformationModelURI>https://github.com/mpostol/OPC-UA-OOI</InformationModelURI>\n      <DataSymbolicName>DataSymbolicName</DataSymbolicName>\n      <DataSet>\n        <DataMemberConfiguration>\n          <SymbolicName>MassTest_00</SymbolicName>\n          <ProcessValueName>MassTest_00</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>UInt32</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>MassTest_01</SymbolicName>\n          <ProcessValueName>MassTest_01</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>UInt32</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>MassTest_02</SymbolicName>\n          <ProcessValueName>MassTest_02</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>UInt32</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>MassTest_03</SymbolicName>\n          <ProcessValueName>MassTest_03</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>UInt32</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>MassTest_04</SymbolicName>\n          <ProcessValueName>MassTest_04</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>UInt32</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>MassTest_05</SymbolicName>\n          <ProcessValueName>MassTest_05</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>UInt32</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>MassTest_06</SymbolicName>\n          <ProcessValueName>MassTest_06</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>UInt32</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>MassTest_07</SymbolicName>\n          <ProcessValueName>MassTest_07</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>UInt32</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>MassTest_08</SymbolicName>\n          <ProcessValueName>MassTest_08</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>UInt32</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>MassTest_09</SymbolicName>\n          <ProcessValueName>MassTest_09</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>UInt32</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n\n        <DataMemberConfiguration>\n          <SymbolicName>MassTest_10</SymbolicName>\n          <ProcessValueName>MassTest_10</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>UInt32</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>MassTest_11</SymbolicName>\n          <ProcessValueName>MassTest_11</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>UInt32</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>MassTest_12</SymbolicName>\n          <ProcessValueName>MassTest_12</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>UInt32</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>MassTest_13</SymbolicName>\n          <ProcessValueName>MassTest_13</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>UInt32</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>MassTest_14</SymbolicName>\n          <ProcessValueName>MassTest_14</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>UInt32</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>MassTest_15</SymbolicName>\n          <ProcessValueName>MassTest_15</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>UInt32</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>MassTest_16</SymbolicName>\n          <ProcessValueName>MassTest_16</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>UInt32</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>MassTest_17</SymbolicName>\n          <ProcessValueName>MassTest_17</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>UInt32</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>MassTest_18</SymbolicName>\n          <ProcessValueName>MassTest_18</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>UInt32</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>MassTest_19</SymbolicName>\n          <ProcessValueName>MassTest_19</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>UInt32</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n\n        <DataMemberConfiguration>\n          <SymbolicName>MassTest_20</SymbolicName>\n          <ProcessValueName>MassTest_20</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>UInt32</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>MassTest_21</SymbolicName>\n          <ProcessValueName>MassTest_21</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>UInt32</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>MassTest_22</SymbolicName>\n          <ProcessValueName>MassTest_22</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>UInt32</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>MassTest_23</SymbolicName>\n          <ProcessValueName>MassTest_23</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>UInt32</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>MassTest_24</SymbolicName>\n          <ProcessValueName>MassTest_24</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>UInt32</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>MassTest_25</SymbolicName>\n          <ProcessValueName>MassTest_25</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>UInt32</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>MassTest_26</SymbolicName>\n          <ProcessValueName>MassTest_26</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>UInt32</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>MassTest_27</SymbolicName>\n          <ProcessValueName>MassTest_27</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>UInt32</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>MassTest_28</SymbolicName>\n          <ProcessValueName>MassTest_28</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>UInt32</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>MassTest_29</SymbolicName>\n          <ProcessValueName>MassTest_29</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>UInt32</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n\n        <DataMemberConfiguration>\n          <SymbolicName>MassTest_30</SymbolicName>\n          <ProcessValueName>MassTest_30</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>UInt32</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>MassTest_31</SymbolicName>\n          <ProcessValueName>MassTest_31</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>UInt32</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>MassTest_32</SymbolicName>\n          <ProcessValueName>MassTest_32</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>UInt32</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>MassTest_33</SymbolicName>\n          <ProcessValueName>MassTest_33</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>UInt32</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>MassTest_34</SymbolicName>\n          <ProcessValueName>MassTest_34</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>UInt32</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>MassTest_35</SymbolicName>\n          <ProcessValueName>MassTest_35</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>UInt32</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>MassTest_36</SymbolicName>\n          <ProcessValueName>MassTest_36</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>UInt32</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>MassTest_37</SymbolicName>\n          <ProcessValueName>MassTest_37</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>UInt32</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>MassTest_38</SymbolicName>\n          <ProcessValueName>MassTest_38</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>UInt32</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>MassTest_39</SymbolicName>\n          <ProcessValueName>MassTest_39</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>UInt32</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n\n        <DataMemberConfiguration>\n          <SymbolicName>MassTest_40</SymbolicName>\n          <ProcessValueName>MassTest_40</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>UInt32</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>MassTest_41</SymbolicName>\n          <ProcessValueName>MassTest_41</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>UInt32</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>MassTest_42</SymbolicName>\n          <ProcessValueName>MassTest_42</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>UInt32</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>MassTest_43</SymbolicName>\n          <ProcessValueName>MassTest_43</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>UInt32</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>MassTest_44</SymbolicName>\n          <ProcessValueName>MassTest_44</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>UInt32</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>MassTest_45</SymbolicName>\n          <ProcessValueName>MassTest_45</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>UInt32</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>MassTest_46</SymbolicName>\n          <ProcessValueName>MassTest_46</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>UInt32</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>MassTest_47</SymbolicName>\n          <ProcessValueName>MassTest_47</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>UInt32</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>MassTest_48</SymbolicName>\n          <ProcessValueName>MassTest_48</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>UInt32</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>MassTest_49</SymbolicName>\n          <ProcessValueName>MassTest_49</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>UInt32</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n\n        <DataMemberConfiguration>\n          <SymbolicName>MassTest_50</SymbolicName>\n          <ProcessValueName>MassTest_50</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>UInt32</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>MassTest_51</SymbolicName>\n          <ProcessValueName>MassTest_51</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>UInt32</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>MassTest_52</SymbolicName>\n          <ProcessValueName>MassTest_52</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>UInt32</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>MassTest_53</SymbolicName>\n          <ProcessValueName>MassTest_53</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>UInt32</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>MassTest_54</SymbolicName>\n          <ProcessValueName>MassTest_54</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>UInt32</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>MassTest_55</SymbolicName>\n          <ProcessValueName>MassTest_55</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>UInt32</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>MassTest_56</SymbolicName>\n          <ProcessValueName>MassTest_56</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>UInt32</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>MassTest_57</SymbolicName>\n          <ProcessValueName>MassTest_57</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>UInt32</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>MassTest_58</SymbolicName>\n          <ProcessValueName>MassTest_58</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>UInt32</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>MassTest_59</SymbolicName>\n          <ProcessValueName>MassTest_59</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>UInt32</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n\n        <DataMemberConfiguration>\n          <SymbolicName>MassTest_60</SymbolicName>\n          <ProcessValueName>MassTest_60</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>UInt32</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>MassTest_61</SymbolicName>\n          <ProcessValueName>MassTest_61</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>UInt32</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>MassTest_62</SymbolicName>\n          <ProcessValueName>MassTest_62</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>UInt32</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>MassTest_63</SymbolicName>\n          <ProcessValueName>MassTest_63</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>UInt32</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>MassTest_64</SymbolicName>\n          <ProcessValueName>MassTest_64</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>UInt32</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>MassTest_65</SymbolicName>\n          <ProcessValueName>MassTest_65</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>UInt32</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>MassTest_66</SymbolicName>\n          <ProcessValueName>MassTest_66</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>UInt32</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>MassTest_67</SymbolicName>\n          <ProcessValueName>MassTest_67</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>UInt32</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>MassTest_68</SymbolicName>\n          <ProcessValueName>MassTest_68</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>UInt32</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>MassTest_69</SymbolicName>\n          <ProcessValueName>MassTest_69</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>UInt32</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n\n        <DataMemberConfiguration>\n          <SymbolicName>MassTest_70</SymbolicName>\n          <ProcessValueName>MassTest_70</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>UInt32</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>MassTest_71</SymbolicName>\n          <ProcessValueName>MassTest_71</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>UInt32</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>MassTest_72</SymbolicName>\n          <ProcessValueName>MassTest_72</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>UInt32</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>MassTest_73</SymbolicName>\n          <ProcessValueName>MassTest_73</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>UInt32</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>MassTest_74</SymbolicName>\n          <ProcessValueName>MassTest_74</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>UInt32</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>MassTest_75</SymbolicName>\n          <ProcessValueName>MassTest_75</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>UInt32</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>MassTest_76</SymbolicName>\n          <ProcessValueName>MassTest_76</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>UInt32</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>MassTest_77</SymbolicName>\n          <ProcessValueName>MassTest_77</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>UInt32</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>MassTest_78</SymbolicName>\n          <ProcessValueName>MassTest_78</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>UInt32</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>MassTest_79</SymbolicName>\n          <ProcessValueName>MassTest_79</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>UInt32</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n\n        <DataMemberConfiguration>\n          <SymbolicName>MassTest_80</SymbolicName>\n          <ProcessValueName>MassTest_80</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>UInt32</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>MassTest_81</SymbolicName>\n          <ProcessValueName>MassTest_81</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>UInt32</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>MassTest_82</SymbolicName>\n          <ProcessValueName>MassTest_82</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>UInt32</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>MassTest_83</SymbolicName>\n          <ProcessValueName>MassTest_83</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>UInt32</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>MassTest_84</SymbolicName>\n          <ProcessValueName>MassTest_84</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>UInt32</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>MassTest_85</SymbolicName>\n          <ProcessValueName>MassTest_85</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>UInt32</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>MassTest_86</SymbolicName>\n          <ProcessValueName>MassTest_86</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>UInt32</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>MassTest_87</SymbolicName>\n          <ProcessValueName>MassTest_87</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>UInt32</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>MassTest_88</SymbolicName>\n          <ProcessValueName>MassTest_88</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>UInt32</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>MassTest_89</SymbolicName>\n          <ProcessValueName>MassTest_89</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>UInt32</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n\n        <DataMemberConfiguration>\n          <SymbolicName>MassTest_90</SymbolicName>\n          <ProcessValueName>MassTest_90</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>UInt32</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>MassTest_91</SymbolicName>\n          <ProcessValueName>MassTest_91</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>UInt32</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>MassTest_92</SymbolicName>\n          <ProcessValueName>MassTest_92</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>UInt32</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>MassTest_93</SymbolicName>\n          <ProcessValueName>MassTest_93</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>UInt32</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>MassTest_94</SymbolicName>\n          <ProcessValueName>MassTest_94</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>UInt32</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>MassTest_95</SymbolicName>\n          <ProcessValueName>MassTest_95</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>UInt32</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>MassTest_96</SymbolicName>\n          <ProcessValueName>MassTest_96</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>UInt32</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>MassTest_97</SymbolicName>\n          <ProcessValueName>MassTest_97</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>UInt32</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>MassTest_98</SymbolicName>\n          <ProcessValueName>MassTest_98</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>UInt32</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>MassTest_99</SymbolicName>\n          <ProcessValueName>MassTest_99</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>UInt32</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n\n      </DataSet>\n      <Guid>c1f53ffb-6552-4ccc-84c9-f847147cdc85</Guid>\n      <Root>\n        <q:NodeIdentifier xmlns:d5p1=\"NodeDescriptorNS\" xmlns:q=\"http://commsvr.com/UAOOI/SemanticData/UANetworking/Configuration/Serialization.xsd\">d5p1:NodeDescriptor</q:NodeIdentifier>\n      </Root>\n      <PublishingInterval>1000</PublishingInterval>\n      <MaxBufferTime>100</MaxBufferTime>\n      <ConfigurationGuid>C67E4D73-F46E-499C-991F-F86D0E1BEB00</ConfigurationGuid>\n      <ConfigurationVersion>\n        <MajorVersion>1</MajorVersion>\n        <MinorVersion>0</MinorVersion>\n      </ConfigurationVersion>\n    </DataSetConfiguration>\n  </DataSets>\n  <MessageHandlers>\n    <MessageHandlerConfiguration i:type=\"MessageReaderConfiguration\">\n      <Name>UDP</Name>\n      <TransportRole>Consumer</TransportRole>\n      <ConsumerAssociationConfigurations>\n        <ConsumerAssociationConfiguration>\n          <AssociationName>Simple</AssociationName>\n          <DataSetWriterId>1</DataSetWriterId>\n          <PublisherId>d80d81dd-96e6-4560-850e-154f9181307c</PublisherId>\n        </ConsumerAssociationConfiguration>\n        <ConsumerAssociationConfiguration>\n          <AssociationName>AllTypes</AssociationName>\n          <DataSetWriterId>2</DataSetWriterId>\n          <PublisherId>d80d81dd-96e6-4560-850e-154f9181307c</PublisherId>\n        </ConsumerAssociationConfiguration>\n        <ConsumerAssociationConfiguration>\n          <AssociationName>MassTest</AssociationName>\n          <DataSetWriterId>3</DataSetWriterId>\n          <PublisherId>d80d81dd-96e6-4560-850e-154f9181307c</PublisherId>\n        </ConsumerAssociationConfiguration>\n      </ConsumerAssociationConfigurations>\n    </MessageHandlerConfiguration>\n  </MessageHandlers>\n</ConfigurationData>"
  },
  {
    "path": "Configuration/Tests/NetworkingUpgradeUnitTest/TestingData/ConfigurationDataProducer.xml",
    "content": "﻿<ConfigurationData xmlns:i=\"http://www.w3.org/2001/XMLSchema-instance\" xmlns=\"http://commsvr.com/UAOOI/SemanticData/UANetworking/Configuration/Serialization.xsd\">\n  <DataSets>\n    <DataSetConfiguration>\n      <AssociationRole>Producer</AssociationRole>\n      <AssociationName>Simple</AssociationName>\n      <RepositoryGroup>repositoryGroup</RepositoryGroup>\n      <InformationModelURI>https://github.com/mpostol/OPC-UA-OOI</InformationModelURI>\n      <DataSymbolicName>DataSymbolicName</DataSymbolicName>\n      <DataSet>\n        <DataMemberConfiguration>\n          <SymbolicName>BoolToggle</SymbolicName>\n          <ProcessValueName>BoolToggle</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>Boolean</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>Int32Normal</SymbolicName>\n          <ProcessValueName>Int32Normal</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>Int32</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>Int32Fast</SymbolicName>\n          <ProcessValueName>Int32Fast</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>Int32</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>SimpleValueDateTime</SymbolicName>\n          <ProcessValueName>SimpleValueDateTime</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>DateTime</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n      </DataSet>\n      <Guid>c1f53ffb-6552-4ccc-84c9-f847147cdc85</Guid>\n      <Root>\n        <q:NodeIdentifier xmlns:d5p1=\"NodeDescriptorNS\" xmlns:q=\"http://commsvr.com/UAOOI/SemanticData/UANetworking/Configuration/Serialization.xsd\">d5p1:NodeDescriptor</q:NodeIdentifier>\n      </Root>\n      <PublishingInterval>1000</PublishingInterval>\n      <MaxBufferTime>100</MaxBufferTime>\n      <ConfigurationGuid>1893991b-517c-4a5f-b8a4-1633d2a101c8</ConfigurationGuid>\n      <ConfigurationVersion>\n        <MajorVersion>1</MajorVersion>\n        <MinorVersion>0</MinorVersion>\n      </ConfigurationVersion>\n    </DataSetConfiguration>\n    <DataSetConfiguration>\n      <AssociationRole>Producer</AssociationRole>\n      <AssociationName>AllTypes</AssociationName>\n      <RepositoryGroup>repositoryGroup</RepositoryGroup>\n      <InformationModelURI>https://github.com/mpostol/OPC-UA-OOI</InformationModelURI>\n      <DataSymbolicName>DataSymbolicName</DataSymbolicName>\n      <DataSet>\n        <DataMemberConfiguration>\n          <SymbolicName>ValueBoolean</SymbolicName>\n          <ProcessValueName>ValueBoolean</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>Boolean</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>ValueByte</SymbolicName>\n          <ProcessValueName>ValueByte</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>Byte</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>ValueInt16</SymbolicName>\n          <ProcessValueName>ValueInt16</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>Int16</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>ValueInt32</SymbolicName>\n          <ProcessValueName>ValueInt32</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>Int32</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>ValueInt64</SymbolicName>\n          <ProcessValueName>ValueInt64</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>Int64</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>ValueSByte</SymbolicName>\n          <ProcessValueName>ValueSByte</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>SByte</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>ValueUInt16</SymbolicName>\n          <ProcessValueName>ValueUInt16</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>UInt16</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>ValueUInt32</SymbolicName>\n          <ProcessValueName>ValueUInt32</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>UInt32</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>ValueUInt64</SymbolicName>\n          <ProcessValueName>ValueUInt64</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>UInt64</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>ValueFloat</SymbolicName>\n          <ProcessValueName>ValueFloat</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>Float</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>ValueDouble</SymbolicName>\n          <ProcessValueName>ValueDouble</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>Double</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>ValueString</SymbolicName>\n          <ProcessValueName>ValueString</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>String</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>ValueByteString</SymbolicName>\n          <ProcessValueName>ValueByteString</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>ByteString</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>ValueGuid</SymbolicName>\n          <ProcessValueName>ValueGuid</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>Guid</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>ValueDateTime</SymbolicName>\n          <ProcessValueName>ValueDateTime</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>DateTime</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>UInt32Array</SymbolicName>\n          <ProcessValueName>UInt32Array</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>UInt32</BuiltInType>\n            <ValueRank>1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n\n        <!--arrays all types out of scope -->\n        <!-- uncomment aas needed - all have been self tested\n        \n        <DataMemberConfiguration>\n          <SymbolicName>ArrayBoolean</SymbolicName>\n          <ProcessValueName>ArrayBoolean</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>Boolean</BuiltInType>\n            <ValueRank>1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>ArrayByte</SymbolicName>\n          <ProcessValueName>ArrayByte</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>Byte</BuiltInType>\n            <ValueRank>1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>ArrayInt16</SymbolicName>\n          <ProcessValueName>ArrayInt16</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>Int16</BuiltInType>\n            <ValueRank>1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>ArrayInt32</SymbolicName>\n          <ProcessValueName>ArrayInt32</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>Int32</BuiltInType>\n            <ValueRank>1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>ArrayInt64</SymbolicName>\n          <ProcessValueName>ArrayInt64</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>Int64</BuiltInType>\n            <ValueRank>1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>ArraySByte</SymbolicName>\n          <ProcessValueName>ArraySByte</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>SByte</BuiltInType>\n            <ValueRank>1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>ArrayUInt16</SymbolicName>\n          <ProcessValueName>ArrayUInt16</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>UInt16</BuiltInType>\n            <ValueRank>1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>ArrayUInt32</SymbolicName>\n          <ProcessValueName>ArrayUInt32</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>UInt32</BuiltInType>\n            <ValueRank>1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>ArrayUInt64</SymbolicName>\n          <ProcessValueName>ArrayUInt64</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>UInt64</BuiltInType>\n            <ValueRank>1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>ArrayFloat</SymbolicName>\n          <ProcessValueName>ArrayFloat</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>Float</BuiltInType>\n            <ValueRank>1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>ArrayDouble</SymbolicName>\n          <ProcessValueName>ArrayDouble</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>Double</BuiltInType>\n            <ValueRank>1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>ArrayString</SymbolicName>\n          <ProcessValueName>ArrayString</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>String</BuiltInType>\n            <ValueRank>1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>ArrayByteString</SymbolicName>\n          <ProcessValueName>ArrayByteString</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>ByteString</BuiltInType>\n            <ValueRank>1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>ArrayGuid</SymbolicName>\n          <ProcessValueName>ArrayGuid</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>Guid</BuiltInType>\n            <ValueRank>1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>ArrayDateTime</SymbolicName>\n          <ProcessValueName>ArrayDateTime</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>DateTime</BuiltInType>\n            <ValueRank>1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n\n        -->\n        <!--out of scope-->\n\n      </DataSet>\n      <Guid>c1f53ffb-6552-4ccc-84c9-f847147cdc85</Guid>\n      <Root>\n        <q:NodeIdentifier xmlns:d5p1=\"NodeDescriptorNS\" xmlns:q=\"http://commsvr.com/UAOOI/SemanticData/UANetworking/Configuration/Serialization.xsd\">d5p1:NodeDescriptor</q:NodeIdentifier>\n      </Root>\n      <PublishingInterval>1000</PublishingInterval>\n      <MaxBufferTime>100</MaxBufferTime>\n      <ConfigurationGuid>D79E3F84-48AB-48A2-9055-DF589D19E824</ConfigurationGuid>\n      <ConfigurationVersion>\n        <MajorVersion>1</MajorVersion>\n        <MinorVersion>0</MinorVersion>\n      </ConfigurationVersion>\n    </DataSetConfiguration>\n    <DataSetConfiguration>\n      <AssociationRole>Producer</AssociationRole>\n      <AssociationName>MassTest</AssociationName>\n      <RepositoryGroup>repositoryGroup</RepositoryGroup>\n      <InformationModelURI>https://github.com/mpostol/OPC-UA-OOI</InformationModelURI>\n      <DataSymbolicName>DataSymbolicName</DataSymbolicName>\n      <DataSet>\n        <DataMemberConfiguration>\n          <SymbolicName>MassTest_00</SymbolicName>\n          <ProcessValueName>MassTest_00</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>UInt32</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>MassTest_01</SymbolicName>\n          <ProcessValueName>MassTest_01</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>UInt32</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>MassTest_02</SymbolicName>\n          <ProcessValueName>MassTest_02</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>UInt32</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>MassTest_03</SymbolicName>\n          <ProcessValueName>MassTest_03</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>UInt32</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>MassTest_04</SymbolicName>\n          <ProcessValueName>MassTest_04</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>UInt32</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>MassTest_05</SymbolicName>\n          <ProcessValueName>MassTest_05</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>UInt32</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>MassTest_06</SymbolicName>\n          <ProcessValueName>MassTest_06</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>UInt32</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>MassTest_07</SymbolicName>\n          <ProcessValueName>MassTest_07</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>UInt32</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>MassTest_08</SymbolicName>\n          <ProcessValueName>MassTest_08</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>UInt32</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>MassTest_09</SymbolicName>\n          <ProcessValueName>MassTest_09</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>UInt32</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n\n        <DataMemberConfiguration>\n          <SymbolicName>MassTest_10</SymbolicName>\n          <ProcessValueName>MassTest_10</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>UInt32</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>MassTest_11</SymbolicName>\n          <ProcessValueName>MassTest_11</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>UInt32</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>MassTest_12</SymbolicName>\n          <ProcessValueName>MassTest_12</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>UInt32</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>MassTest_13</SymbolicName>\n          <ProcessValueName>MassTest_13</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>UInt32</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>MassTest_14</SymbolicName>\n          <ProcessValueName>MassTest_14</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>UInt32</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>MassTest_15</SymbolicName>\n          <ProcessValueName>MassTest_15</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>UInt32</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>MassTest_16</SymbolicName>\n          <ProcessValueName>MassTest_16</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>UInt32</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>MassTest_17</SymbolicName>\n          <ProcessValueName>MassTest_17</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>UInt32</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>MassTest_18</SymbolicName>\n          <ProcessValueName>MassTest_18</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>UInt32</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>MassTest_19</SymbolicName>\n          <ProcessValueName>MassTest_19</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>UInt32</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n\n        <DataMemberConfiguration>\n          <SymbolicName>MassTest_20</SymbolicName>\n          <ProcessValueName>MassTest_20</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>UInt32</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>MassTest_21</SymbolicName>\n          <ProcessValueName>MassTest_21</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>UInt32</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>MassTest_22</SymbolicName>\n          <ProcessValueName>MassTest_22</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>UInt32</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>MassTest_23</SymbolicName>\n          <ProcessValueName>MassTest_23</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>UInt32</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>MassTest_24</SymbolicName>\n          <ProcessValueName>MassTest_24</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>UInt32</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>MassTest_25</SymbolicName>\n          <ProcessValueName>MassTest_25</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>UInt32</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>MassTest_26</SymbolicName>\n          <ProcessValueName>MassTest_26</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>UInt32</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>MassTest_27</SymbolicName>\n          <ProcessValueName>MassTest_27</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>UInt32</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>MassTest_28</SymbolicName>\n          <ProcessValueName>MassTest_28</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>UInt32</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>MassTest_29</SymbolicName>\n          <ProcessValueName>MassTest_29</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>UInt32</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n\n        <DataMemberConfiguration>\n          <SymbolicName>MassTest_30</SymbolicName>\n          <ProcessValueName>MassTest_30</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>UInt32</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>MassTest_31</SymbolicName>\n          <ProcessValueName>MassTest_31</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>UInt32</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>MassTest_32</SymbolicName>\n          <ProcessValueName>MassTest_32</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>UInt32</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>MassTest_33</SymbolicName>\n          <ProcessValueName>MassTest_33</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>UInt32</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>MassTest_34</SymbolicName>\n          <ProcessValueName>MassTest_34</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>UInt32</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>MassTest_35</SymbolicName>\n          <ProcessValueName>MassTest_35</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>UInt32</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>MassTest_36</SymbolicName>\n          <ProcessValueName>MassTest_36</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>UInt32</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>MassTest_37</SymbolicName>\n          <ProcessValueName>MassTest_37</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>UInt32</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>MassTest_38</SymbolicName>\n          <ProcessValueName>MassTest_38</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>UInt32</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>MassTest_39</SymbolicName>\n          <ProcessValueName>MassTest_39</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>UInt32</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n\n        <DataMemberConfiguration>\n          <SymbolicName>MassTest_40</SymbolicName>\n          <ProcessValueName>MassTest_40</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>UInt32</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>MassTest_41</SymbolicName>\n          <ProcessValueName>MassTest_41</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>UInt32</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>MassTest_42</SymbolicName>\n          <ProcessValueName>MassTest_42</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>UInt32</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>MassTest_43</SymbolicName>\n          <ProcessValueName>MassTest_43</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>UInt32</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>MassTest_44</SymbolicName>\n          <ProcessValueName>MassTest_44</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>UInt32</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>MassTest_45</SymbolicName>\n          <ProcessValueName>MassTest_45</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>UInt32</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>MassTest_46</SymbolicName>\n          <ProcessValueName>MassTest_46</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>UInt32</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>MassTest_47</SymbolicName>\n          <ProcessValueName>MassTest_47</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>UInt32</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>MassTest_48</SymbolicName>\n          <ProcessValueName>MassTest_48</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>UInt32</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>MassTest_49</SymbolicName>\n          <ProcessValueName>MassTest_49</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>UInt32</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n\n        <DataMemberConfiguration>\n          <SymbolicName>MassTest_50</SymbolicName>\n          <ProcessValueName>MassTest_50</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>UInt32</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>MassTest_51</SymbolicName>\n          <ProcessValueName>MassTest_51</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>UInt32</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>MassTest_52</SymbolicName>\n          <ProcessValueName>MassTest_52</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>UInt32</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>MassTest_53</SymbolicName>\n          <ProcessValueName>MassTest_53</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>UInt32</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>MassTest_54</SymbolicName>\n          <ProcessValueName>MassTest_54</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>UInt32</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>MassTest_55</SymbolicName>\n          <ProcessValueName>MassTest_55</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>UInt32</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>MassTest_56</SymbolicName>\n          <ProcessValueName>MassTest_56</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>UInt32</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>MassTest_57</SymbolicName>\n          <ProcessValueName>MassTest_57</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>UInt32</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>MassTest_58</SymbolicName>\n          <ProcessValueName>MassTest_58</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>UInt32</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>MassTest_59</SymbolicName>\n          <ProcessValueName>MassTest_59</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>UInt32</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n\n        <DataMemberConfiguration>\n          <SymbolicName>MassTest_60</SymbolicName>\n          <ProcessValueName>MassTest_60</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>UInt32</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>MassTest_61</SymbolicName>\n          <ProcessValueName>MassTest_61</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>UInt32</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>MassTest_62</SymbolicName>\n          <ProcessValueName>MassTest_62</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>UInt32</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>MassTest_63</SymbolicName>\n          <ProcessValueName>MassTest_63</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>UInt32</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>MassTest_64</SymbolicName>\n          <ProcessValueName>MassTest_64</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>UInt32</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>MassTest_65</SymbolicName>\n          <ProcessValueName>MassTest_65</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>UInt32</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>MassTest_66</SymbolicName>\n          <ProcessValueName>MassTest_66</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>UInt32</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>MassTest_67</SymbolicName>\n          <ProcessValueName>MassTest_67</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>UInt32</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>MassTest_68</SymbolicName>\n          <ProcessValueName>MassTest_68</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>UInt32</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>MassTest_69</SymbolicName>\n          <ProcessValueName>MassTest_69</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>UInt32</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n\n        <DataMemberConfiguration>\n          <SymbolicName>MassTest_70</SymbolicName>\n          <ProcessValueName>MassTest_70</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>UInt32</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>MassTest_71</SymbolicName>\n          <ProcessValueName>MassTest_71</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>UInt32</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>MassTest_72</SymbolicName>\n          <ProcessValueName>MassTest_72</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>UInt32</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>MassTest_73</SymbolicName>\n          <ProcessValueName>MassTest_73</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>UInt32</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>MassTest_74</SymbolicName>\n          <ProcessValueName>MassTest_74</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>UInt32</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>MassTest_75</SymbolicName>\n          <ProcessValueName>MassTest_75</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>UInt32</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>MassTest_76</SymbolicName>\n          <ProcessValueName>MassTest_76</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>UInt32</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>MassTest_77</SymbolicName>\n          <ProcessValueName>MassTest_77</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>UInt32</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>MassTest_78</SymbolicName>\n          <ProcessValueName>MassTest_78</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>UInt32</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>MassTest_79</SymbolicName>\n          <ProcessValueName>MassTest_79</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>UInt32</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n\n        <DataMemberConfiguration>\n          <SymbolicName>MassTest_80</SymbolicName>\n          <ProcessValueName>MassTest_80</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>UInt32</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>MassTest_81</SymbolicName>\n          <ProcessValueName>MassTest_81</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>UInt32</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>MassTest_82</SymbolicName>\n          <ProcessValueName>MassTest_82</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>UInt32</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>MassTest_83</SymbolicName>\n          <ProcessValueName>MassTest_83</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>UInt32</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>MassTest_84</SymbolicName>\n          <ProcessValueName>MassTest_84</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>UInt32</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>MassTest_85</SymbolicName>\n          <ProcessValueName>MassTest_85</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>UInt32</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>MassTest_86</SymbolicName>\n          <ProcessValueName>MassTest_86</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>UInt32</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>MassTest_87</SymbolicName>\n          <ProcessValueName>MassTest_87</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>UInt32</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>MassTest_88</SymbolicName>\n          <ProcessValueName>MassTest_88</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>UInt32</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>MassTest_89</SymbolicName>\n          <ProcessValueName>MassTest_89</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>UInt32</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n\n        <DataMemberConfiguration>\n          <SymbolicName>MassTest_90</SymbolicName>\n          <ProcessValueName>MassTest_90</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>UInt32</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>MassTest_91</SymbolicName>\n          <ProcessValueName>MassTest_91</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>UInt32</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>MassTest_92</SymbolicName>\n          <ProcessValueName>MassTest_92</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>UInt32</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>MassTest_93</SymbolicName>\n          <ProcessValueName>MassTest_93</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>UInt32</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>MassTest_94</SymbolicName>\n          <ProcessValueName>MassTest_94</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>UInt32</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>MassTest_95</SymbolicName>\n          <ProcessValueName>MassTest_95</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>UInt32</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>MassTest_96</SymbolicName>\n          <ProcessValueName>MassTest_96</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>UInt32</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>MassTest_97</SymbolicName>\n          <ProcessValueName>MassTest_97</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>UInt32</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>MassTest_98</SymbolicName>\n          <ProcessValueName>MassTest_98</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>UInt32</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>MassTest_99</SymbolicName>\n          <ProcessValueName>MassTest_99</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>UInt32</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n\n      </DataSet>\n      <Guid>c1f53ffb-6552-4ccc-84c9-f847147cdc85</Guid>\n      <Root>\n        <q:NodeIdentifier xmlns:d5p1=\"NodeDescriptorNS\" xmlns:q=\"http://commsvr.com/UAOOI/SemanticData/UANetworking/Configuration/Serialization.xsd\">d5p1:NodeDescriptor</q:NodeIdentifier>\n      </Root>\n      <PublishingInterval>1000</PublishingInterval>\n      <MaxBufferTime>100</MaxBufferTime>\n      <ConfigurationGuid>C67E4D73-F46E-499C-991F-F86D0E1BEB00</ConfigurationGuid>\n      <ConfigurationVersion>\n        <MajorVersion>1</MajorVersion>\n        <MinorVersion>0</MinorVersion>\n      </ConfigurationVersion>\n    </DataSetConfiguration>\n  </DataSets>\n  <MessageHandlers>\n    <MessageHandlerConfiguration i:type=\"MessageWriterConfiguration\">\n      <Name>UDP</Name>\n      <TransportRole>Producer</TransportRole>\n      <ProducerAssociationConfigurations>\n        <ProducerAssociationConfiguration>\n          <AssociationName>Simple</AssociationName>\n          <DataSetWriterId>1</DataSetWriterId>\n          <FieldEncoding>VariantFieldEncoding</FieldEncoding>\n        </ProducerAssociationConfiguration>\n        <ProducerAssociationConfiguration>\n          <AssociationName>AllTypes</AssociationName>\n          <DataSetWriterId>2</DataSetWriterId>\n          <FieldEncoding>VariantFieldEncoding</FieldEncoding>\n        </ProducerAssociationConfiguration>\n        <ProducerAssociationConfiguration>\n          <AssociationName>MassTest</AssociationName>\n          <DataSetWriterId>3</DataSetWriterId>\n          <FieldEncoding>VariantFieldEncoding</FieldEncoding>\n        </ProducerAssociationConfiguration>\n      </ProducerAssociationConfigurations>\n    </MessageHandlerConfiguration>\n  </MessageHandlers>\n</ConfigurationData>"
  },
  {
    "path": "Configuration/Tests/NetworkingUpgradeUnitTest/packages.config",
    "content": "﻿<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<packages>\n  <package id=\"System.Diagnostics.TraceSource\" version=\"4.3.0\" targetFramework=\"net472\" />\n  <package id=\"UAOOI.Common.Infrastructure\" version=\"6.4.7\" targetFramework=\"net472\" />\n</packages>"
  },
  {
    "path": "Configuration.playlist",
    "content": "<Playlist Version=\"1.0\"><Add Test=\"UAOOI.Configuration.Networking.UnitTest.ConfigurationFactoryBaseUnitTest.LoadConfigurationDataWrapperTest\" /><Add Test=\"UAOOI.Configuration.DataBindings.UnitTest.UANetworkingConfigurationEditorUnitTest.EditConfigurationTest\" /><Add Test=\"UAOOI.Configuration.Networking.Upgrade.UnitTest.Re_l1_00_16UnitTest.ReadXmlTestMethod\" /><Add Test=\"UAOOI.Configuration.DataBindings.UnitTest.NodeDescriptorBaseUnitTest.CreatorTestMethod\" /><Add Test=\"UAOOI.Configuration.Networking.UnitTest.UANetworkingConfigurationUnitTest.CustomLoggerTraceSourceTest\" /><Add Test=\"UAOOI.Configuration.Networking.UnitTest.DataSetConfigurationUnitTest.AfterCreationStateTest\" /><Add Test=\"UAOOI.Configuration.DataBindings.UnitTest.ConfigurationBaseUnitTest.RaiseOnChangeNullTestMethod\" /><Add Test=\"UAOOI.Configuration.DataBindings.UnitTest.NodeDescriptorBaseUnitTest.DictionaryTestMethod\" /><Add Test=\"UAOOI.Configuration.DataBindings.UnitTest.UANetworkingConfigurationEditorUnitTest.GetInstanceConfigurationNullTestMethod\" /><Add Test=\"UAOOI.Configuration.DataBindings.UnitTest.NodeDescriptorBaseUnitTest.IComparerTestMethod\" /><Add Test=\"UAOOI.Configuration.Networking.UnitTest.ConfigurationDataUnitTest.LoadUsingSerializerTestMethod\" /><Add Test=\"UAOOI.Configuration.DataBindings.UnitTest.ConfigurationBaseUnitTest.ReadConfigurationTest\" /><Add Test=\"UAOOI.Configuration.Networking.UnitTest.JSONDataContractSerializersUnitTest.JSONSerializerTestMethod1\" /><Add Test=\"UAOOI.Configuration.Networking.UnitTest.ConfigurationDataUnitTest.ExportXSDUsingDataContractExporter\" /><Add Test=\"UAOOI.Configuration.Networking.UnitTest.ConfigurationDataUnitTest.AfterCreationTest\" /><Add Test=\"UAOOI.Configuration.DataBindings.UnitTest.InstanceConfigurationBaseUnitTest.ClearConfigurationTestMethod\" /><Add Test=\"UAOOI.Configuration.DataBindings.UnitTest.UANetworkingConfigurationEditorUnitTest.AfterCreationStateTest\" /><Add Test=\"UAOOI.Configuration.Networking.UnitTest.UANetworkingConfigurationUnitTest.ReadSaveConfigurationTest\" /><Add Test=\"UAOOI.Configuration.DataBindings.UnitTest.ConfigurationBaseUnitTest.CreatorTestMethod\" /><Add Test=\"UAOOI.Configuration.Networking.UnitTest.UANetworkingConfigurationUnitTest.CustomConfigurationDataTest\" /><Add Test=\"UAOOI.Configuration.DataBindings.UnitTest.UANetworkingConfigurationEditorUnitTest.GetIServerConfigurationTestMethod\" /><Add Test=\"UAOOI.Configuration.DataBindings.UnitTest.NodeDescriptorBaseUnitTest.IEqualityComparerTestMethod\" /><Add Test=\"UAOOI.Configuration.Networking.UnitTest.DataSetConfigurationUnitTest.IdTest\" /><Add Test=\"UAOOI.Configuration.Networking.UnitTest.UATypeInfoUnitTest.CreatorADNullTestMethod1\" /><Add Test=\"UAOOI.Configuration.Networking.UnitTest.UANetworkingConfigurationUnitTest.OnChangedConfigurationTest\" /><Add Test=\"UAOOI.Configuration.DataBindings.UnitTest.InstanceConfigurationBaseUnitTest.EditTestMethod\" /><Add Test=\"UAOOI.Configuration.Networking.UnitTest.UATypeInfoUnitTest.CreatorTestMethod1\" /><Add Test=\"UAOOI.Configuration.Networking.UnitTest.UATypeInfoUnitTest.CreatorADLengthTestMethod1\" /><Add Test=\"UAOOI.Configuration.Networking.UnitTest.ConfigurationDataUnitTest.SaveLoadTestMethod\" /><Add Test=\"UAOOI.Configuration.Networking.Upgrade.UnitTest.Re_l1_00_16UnitTest.AfterCreationStateTest\" /><Add Test=\"UAOOI.Configuration.Networking.Upgrade.UnitTest.AssemblyInitialize.TestingDataTestMethod\" /><Add Test=\"UAOOI.Configuration.Networking.UnitTest.ConfigurationFactoryBaseUnitTest.CreationStateTest\" /><Add Test=\"UAOOI.Configuration.Networking.UnitTest.XmlDataContractSerializersUnitTest.XmlSerializerTestMethod\" /><Add Test=\"UAOOI.Configuration.Networking.UnitTest.NodeDescriptorUnitTest.CreatorTest\" /><Add Test=\"UAOOI.Configuration.DataBindings.UnitTest.UANetworkingConfigurationEditorUnitTest.CreateDefaultConfigurationTestMethod\" /><Add Test=\"UAOOI.Configuration.Networking.UnitTest.UANetworkingConfigurationUnitTest.CurrentConfigurationNullTest\" /><Add Test=\"UAOOI.Configuration.Networking.UnitTest.UANetworkingConfigurationUnitTest.ReadSaveConfigurationDataWrapperTest\" /><Add Test=\"UAOOI.Configuration.DataBindings.UnitTest.UANetworkingConfigurationEditorUnitTest.OnModifiedTestMethod\" /><Add Test=\"UAOOI.Configuration.DataBindings.UnitTest.UANetworkingConfigurationEditorUnitTest.GetInstanceConfigurationTest\" /><Add Test=\"UAOOI.Configuration.Networking.UnitTest.ConfigurationDataUnitTest.ConfigurationVersionDataTypeTestMethod\" /><Add Test=\"UAOOI.Configuration.Networking.UnitTest.UANetworkingConfigurationUnitTest.ReadConfigurationTest\" /><Add Test=\"UAOOI.Configuration.DataBindings.UnitTest.UANetworkingConfigurationEditorUnitTest.GetInstanceConfigurationNoConfigurationTestMethod\" /><Add Test=\"UAOOI.Configuration.Networking.UnitTest.UANetworkingConfigurationUnitTest.CreatorTest\" /><Add Test=\"UAOOI.Configuration.Networking.UnitTest.UANetworkingConfigurationUnitTest.ConfigurationDataNullTest\" /><Add Test=\"UAOOI.Configuration.Networking.UnitTest.NodeDescriptorUnitTest.PrecedenceTestMethod\" /><Add Test=\"UAOOI.Configuration.Networking.UnitTest.ConfigurationDataUnitTest.LoadSaveTestMethod\" /><Add Test=\"UAOOI.Configuration.DataBindings.UnitTest.UANetworkingConfigurationEditorUnitTest.DefaultFileNameTestMethod\" /></Playlist>"
  },
  {
    "path": "DataDiscovery/DiscoveryServices/DataDiscovery.DiscoveryServices.csproj",
    "content": "﻿<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<Project Sdk=\"Microsoft.NET.Sdk\">\n\n  <PropertyGroup>\n    <TargetFramework>netstandard2.0</TargetFramework>\n    <PackageId>UAOOI.DataDiscovery.DiscoveryServices</PackageId>\n    <Version>4.0.1</Version>\n    <Authors>MPostol</Authors>\n    <Company>commsvr.com</Company>\n    <Product>Object Oriented Internet</Product>\n    <Description>OPC UA Object Oriented Internet (UAOOI) UAOOI.DataDiscovery.DiscoveryServices library is dedicated to support global data discovery services for any application based on OPC UA Information Model. \nIt is part of the project supporting OPC UA Object Oriented Internet paradigm.</Description>\n    <Copyright>Copyright MPostol (c) 2018</Copyright>\n    <PackageLicenseUrl>https://github.com/mpostol/OPC-UA-OOI/blob/master/license.md</PackageLicenseUrl>\n    <PackageProjectUrl>https://commsvr.gitbook.io/ooi</PackageProjectUrl>\n    <RepositoryUrl>https://github.com/mpostol/OPC-UA-OOI</RepositoryUrl>\n    <RepositoryType>GitHub</RepositoryType>\n    <PackageTags>Semantic Data, Object Oriented Internet, OPC UA,</PackageTags>\n    <SignAssembly>true</SignAssembly>\n    <AssemblyOriginatorKeyFile>OPCUAOOIKey.snk</AssemblyOriginatorKeyFile>\n    <AssemblyName>UAOOI.DataDiscovery.DiscoveryServices</AssemblyName>\n    <RootNamespace>UAOOI.DataDiscovery.DiscoveryServices</RootNamespace>\n    <AssemblyVersion>4.0.1.1</AssemblyVersion>\n  </PropertyGroup>\n\n</Project>"
  },
  {
    "path": "DataDiscovery/DiscoveryServices/DataDiscoveryServices.cs",
    "content": "﻿//__________________________________________________________________________________________________\n//\n//  Copyright (C) 2021, Mariusz Postol LODZ POLAND.\n//\n//  To be in touch join the community at GitHub: https://github.com/mpostol/OPC-UA-OOI/discussions\n//__________________________________________________________________________________________________\n\nusing System;\nusing System.Diagnostics;\nusing System.IO;\nusing System.Net.Http;\nusing System.Threading.Tasks;\nusing System.Xml.Serialization;\nusing UAOOI.DataDiscovery.DiscoveryServices.Models;\n\nnamespace UAOOI.DataDiscovery.DiscoveryServices\n{\n  /// <summary>\n  /// Class DataDiscoveryServices - provides functionality supporting Global Data Discovery resolution.\n  /// </summary>\n  public class DataDiscoveryServices : IDisposable\n  {\n    #region public API\n\n    /// <summary>\n    /// Resolves address and reads the <see cref=\"DomainModel\"/> record as an asynchronous operation.\n    /// </summary>\n    /// <param name=\"modelUri\">The model URI.</param>\n    /// <param name=\"rootZoneUrl\">The root zone URL where the resolving process shall start.</param>\n    /// <param name=\"log\"><see cref=\"Action{T1, T2, T3}\"/> encapsulating tracing functionality .</param>\n    /// <returns>Task{DomainModel}.</returns>\n    /// <exception cref=\"InvalidOperationException\">Too many iteration in the resolving process.</exception>\n    public async Task<DomainModel> ResolveDomainModelAsync(Uri modelUri, Uri rootZoneUrl, Action<string, TraceEventType, Priority> log)\n    {\n      log($\"Starting resolving address of the domain model descriptor for the model Uri {modelUri}\", TraceEventType.Verbose, Priority.Low);\n      DomainDescriptor lastDomainDescriptor = new DomainDescriptor() { NextStepRecordType = RecordType.DomainDescriptor };\n      Uri nextUri = rootZoneUrl;\n      int iteration = 0;\n      do\n      {\n        iteration++;\n        log($\"Resolving address iteration {iteration} address: {nextUri}\", TraceEventType.Verbose, Priority.Low);\n        if (iteration > 16)\n          throw new InvalidOperationException(\"Too many iteration in the resolving process.\");\n        lastDomainDescriptor = await GetHTTPResponseAsync<DomainDescriptor>(nextUri, log);\n        nextUri = lastDomainDescriptor.ResolveUri(modelUri);\n      } while (lastDomainDescriptor.NextStepRecordType == RecordType.DomainDescriptor);\n      log($\"Reading DomainModel at: {nextUri}\", TraceEventType.Verbose, Priority.Low);\n      Task<DomainModel> _DomainModelTask = GetHTTPResponseAsync<DomainModel>(nextUri, log);\n      DomainModel _model = await _DomainModelTask;\n      _model.UniversalDiscoveryServiceLocator = nextUri.ToString();\n      log($\"Successfully received and decoded the requested DomainModel record: {nextUri}\", TraceEventType.Verbose, Priority.Low);\n      return _model;\n    }\n\n    #endregion public API\n\n    #region IDisposable Support\n\n    private bool disposedValue = false; // To detect redundant calls\n    private HttpClient m_Client = new HttpClient() { MaxResponseContentBufferSize = int.MaxValue };\n\n    /// <summary>\n    /// Releases unmanaged and - optionally - managed resources.\n    /// </summary>\n    /// <param name=\"disposing\"><c>true</c> to release both managed and unmanaged resources; <c>false</c> to release only unmanaged resources.</param>\n    protected virtual void Dispose(bool disposing)\n    {\n      if (!disposedValue)\n      {\n        if (disposing)\n          m_Client.Dispose();\n        m_Client = null;\n        disposedValue = true;\n      }\n    }\n\n    // This code added to correctly implement the disposable pattern.\n    /// <summary>\n    /// Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources.\n    /// </summary>\n    public void Dispose()\n    {\n      Dispose(true);\n    }\n\n    #endregion IDisposable Support\n\n    #region private\n\n    /// <summary>\n    /// Resolve domain description as an asynchronous operation.\n    /// </summary>\n    /// <typeparam name=\"TResult\"></typeparam>\n    /// <param name=\"address\">The address of the discovery service.</param>\n    /// <param name=\"log\">Encapsulates the log operation.</param>\n    /// <returns>Task{TResult}</returns>\n    private async Task<TResult> GetHTTPResponseAsync<TResult>(Uri address, Action<string, TraceEventType, Priority> log)\n      where TResult : class, new()\n    {\n      m_Client.DefaultRequestHeaders.Add(\"user-agent\", \"Mozilla/5.0 (compatible; MSIE 10.0; Windows NT 6.2; WOW64; Trident/6.0)\");\n      //_client.DefaultRequestHeaders.Accept.Clear();\n      //_client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue(\"opc/application/json\"));\n      int _retryCount = 0;\n      do\n      {\n        try\n        {\n          using (HttpResponseMessage message = await m_Client.GetAsync(address))\n          {\n            message.EnsureSuccessStatusCode();\n            using (Task<Stream> descriptionStream = message.Content.ReadAsStreamAsync())\n            {\n              XmlSerializer serializer = new XmlSerializer(typeof(TResult));\n              Stream _description = await descriptionStream;\n              TResult _newDescription = (TResult)serializer.Deserialize(_description);\n              return _newDescription;\n            }\n          };\n        }\n        catch (Exception _ex)\n        {\n          log($\"Error for {address} in {nameof(GetHTTPResponseAsync)} retry ={_retryCount}: {_ex.Message} \", TraceEventType.Error, Priority.Medium);\n          if (_retryCount < 3)\n            _retryCount++;\n          else\n            throw;\n        }\n      } while (true);\n    }\n\n    //UnitTest instrumentation\n    [Conditional(\"DEBUG\")]\n    internal void GetHTTPResponse<T>(Uri address, Action<string, TraceEventType, Priority> debugLog, Action<T> getResult)\n            where T : class, new()\n    {\n      Task<T> _task = GetHTTPResponseAsync<T>(address, debugLog);\n      _task.Wait();\n      getResult(_task.Result);\n    }\n\n    #endregion private\n  }\n}"
  },
  {
    "path": "DataDiscovery/DiscoveryServices/Models/DomainDescriptor.GoCS.cmd",
    "content": "﻿# convert the scheme DomainDescriptor.xsd to cs code\nxsd.exe DomainDescriptor.xsd /N:UAOOI.DataDiscovery.DiscoveryServices.Models /c  "
  },
  {
    "path": "DataDiscovery/DiscoveryServices/Models/DomainDescriptor.GoXSD.cmd",
    "content": "xsd.exe ..\\bin\\Debug\\CASUAOOI.DataDiscovery.DiscoveryServices.dll /t:UAOOI.DataDiscovery.DiscoveryServices.Models.DomainDescriptor"
  },
  {
    "path": "DataDiscovery/DiscoveryServices/Models/DomainDescriptor.cs",
    "content": "﻿//------------------------------------------------------------------------------\n// <auto-generated>\n//     This code was generated by a tool.\n//     Runtime Version:4.0.30319.42000\n//\n//     Changes to this file may cause incorrect behavior and will be lost if\n//     the code is regenerated.\n// </auto-generated>\n//------------------------------------------------------------------------------\n\n// \n// This source code was auto-generated by xsd, Version=4.6.1055.0.\n// \nnamespace UAOOI.DataDiscovery.DiscoveryServices.Models {\n    using System.Xml.Serialization;\n    \n    \n    /// <remarks/>\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"xsd\", \"4.6.1055.0\")]\n    [System.SerializableAttribute()]\n    [System.Diagnostics.DebuggerStepThroughAttribute()]\n    [System.ComponentModel.DesignerCategoryAttribute(\"code\")]\n    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace=\"http://commsvr.com/UAOOI/DataDiscovery/DiscoveryServices/Models/DomainDescriptor.\" +\n        \"xsd\")]\n    [System.Xml.Serialization.XmlRootAttribute(Namespace=\"http://commsvr.com/UAOOI/DataDiscovery/DiscoveryServices/Models/DomainDescriptor.\" +\n        \"xsd\", IsNullable=true)]\n    public partial class DomainDescriptor {\n        \n        private string descriptionField;\n        \n        private string urlPatternField;\n        \n        private RecordType nextStepRecordTypeField;\n        \n        /// <remarks/>\n        public string Description {\n            get {\n                return this.descriptionField;\n            }\n            set {\n                this.descriptionField = value;\n            }\n        }\n        \n        /// <remarks/>\n        public string UrlPattern {\n            get {\n                return this.urlPatternField;\n            }\n            set {\n                this.urlPatternField = value;\n            }\n        }\n        \n        /// <remarks/>\n        public RecordType NextStepRecordType {\n            get {\n                return this.nextStepRecordTypeField;\n            }\n            set {\n                this.nextStepRecordTypeField = value;\n            }\n        }\n    }\n    \n    /// <remarks/>\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"xsd\", \"4.6.1055.0\")]\n    [System.SerializableAttribute()]\n    [System.Xml.Serialization.XmlTypeAttribute(Namespace=\"http://commsvr.com/UAOOI/DataDiscovery/DiscoveryServices/Models/DomainDescriptor.\" +\n        \"xsd\")]\n    public enum RecordType {\n        \n        /// <remarks/>\n        DomainModel,\n        \n        /// <remarks/>\n        DomainDescriptor,\n    }\n}\n"
  },
  {
    "path": "DataDiscovery/DiscoveryServices/Models/DomainDescriptor.xsd",
    "content": "﻿<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<xs:schema xmlns:tns=\"http://commsvr.com/UAOOI/DataDiscovery/DiscoveryServices/Models/DomainDescriptor.xsd\" elementFormDefault=\"qualified\" \n           targetNamespace=\"http://commsvr.com/UAOOI/DataDiscovery/DiscoveryServices/Models/DomainDescriptor.xsd\" xmlns:xs=\"http://www.w3.org/2001/XMLSchema\">\n  <xs:element name=\"DomainDescriptor\" nillable=\"true\">\n    <xs:complexType>\n      <xs:sequence>\n        <xs:element minOccurs=\"0\" maxOccurs=\"1\" name=\"Description\" type=\"xs:string\" />\n        <xs:element minOccurs=\"0\" maxOccurs=\"1\" name=\"UrlPattern\" type=\"xs:string\" />\n        <xs:element minOccurs=\"1\" maxOccurs=\"1\" name=\"NextStepRecordType\" type=\"tns:RecordType\" />\n      </xs:sequence>\n    </xs:complexType>\n  </xs:element>\n  <xs:simpleType name=\"RecordType\">\n    <xs:restriction base=\"xs:string\">\n      <xs:enumeration value=\"DomainModel\" />\n      <xs:enumeration value=\"DomainDescriptor\" />\n    </xs:restriction>\n  </xs:simpleType>\n</xs:schema>"
  },
  {
    "path": "DataDiscovery/DiscoveryServices/Models/DomainDescriptor.xsd.cs",
    "content": "﻿//__________________________________________________________________________________________________\n//\n//  Copyright (C) 2021, Mariusz Postol LODZ POLAND.\n//\n//  To be in touch join the community at GitHub: https://github.com/mpostol/OPC-UA-OOI/discussions\n//__________________________________________________________________________________________________\n\nusing System;\nusing System.Linq;\nusing System.Text.RegularExpressions;\n\nnamespace UAOOI.DataDiscovery.DiscoveryServices.Models\n{\n  public partial class DomainDescriptor\n  {\n    /// <summary>\n    /// Resolves the URL of the service providing resources describing the data domain using path template and the <paramref name=\"modelUri\"/>.\n    /// </summary>\n    /// <param name=\"modelUri\">The model URI.</param>\n    /// <returns>An instance of <see cref=\"Uri\"/> encapsulating URL of the service responsible to return expected record. It uses regular expression to replace\n    /// the key words <c>#authority#</c> and <c>#path#</c> in the <see cref=\"DomainDescriptor.UrlPattern\"/> by appropriate parts of the\n    /// <paramref name=\"modelUri\"/>. It is next hope in the resolving process.</returns>\n    internal Uri ResolveUri(Uri modelUri)\n    {\n      Regex _regex = new Regex(\"#authority#\");\n      string _resolution = _regex.Replace(UrlPattern, modelUri.Authority);\n      string _path = string.Join(@\"\", modelUri.Segments.Skip<string>(1).ToArray<string>());\n      _regex = new Regex(\"#path#\");\n      _resolution = _regex.Replace(_resolution, _path);\n      return new Uri(_resolution);\n    }\n  }\n}"
  },
  {
    "path": "DataDiscovery/DiscoveryServices/Models/DomainModel.GoCS.cmd",
    "content": "# convert the DomainModel.xsd schema to cs code\nxsd.exe DomainModel.xsd /N:UAOOI.DataDiscovery.DiscoveryServices.Models /c"
  },
  {
    "path": "DataDiscovery/DiscoveryServices/Models/DomainModel.GoXSD.cmd",
    "content": "xsd.exe ..\\bin\\Debug\\CASUAOOI.DataDiscovery.DiscoveryServices.dll /t:UAOOI.DataDiscovery.DiscoveryServices.Models.DomainModel"
  },
  {
    "path": "DataDiscovery/DiscoveryServices/Models/DomainModel.cs",
    "content": "﻿//------------------------------------------------------------------------------\n// <auto-generated>\n//     This code was generated by a tool.\n//     Runtime Version:4.0.30319.42000\n//\n//     Changes to this file may cause incorrect behavior and will be lost if\n//     the code is regenerated.\n// </auto-generated>\n//------------------------------------------------------------------------------\n\n// \n// This source code was auto-generated by xsd, Version=4.6.1055.0.\n// \nnamespace UAOOI.DataDiscovery.DiscoveryServices.Models\n{\n  using System.Xml.Serialization;\n\n\n  /// <remarks/>\n  [System.CodeDom.Compiler.GeneratedCodeAttribute(\"xsd\", \"4.6.1055.0\")]\n  [System.SerializableAttribute()]\n  [System.Diagnostics.DebuggerStepThroughAttribute()]\n  [System.ComponentModel.DesignerCategoryAttribute(\"code\")]\n  [System.Xml.Serialization.XmlTypeAttribute(Namespace = \"http://http://commsvr.com/UAOOI/DataDiscovery/DiscoveryServices/Models/DomainMode\" +\n      \"l.xsd\")]\n  [System.Xml.Serialization.XmlRootAttribute(Namespace = \"http://http://commsvr.com/UAOOI/DataDiscovery/DiscoveryServices/Models/DomainMode\" +\n      \"l.xsd\", IsNullable = true)]\n  public partial class DomainModel\n  {\n\n    private string aliasNameField;\n\n    private string domainModelUriStringField;\n\n    private string domainModelGuidStringField;\n\n    private string descriptionField;\n\n    private SemanticsDataIndex[] semanticsDataCollectionField;\n\n    private string universalAddressSpaceLocatorField;\n\n    private string universalAuthorizationServerLocatorField;\n\n    private TypeDictionary[] typeDictionariesField;\n\n    /// <remarks/>\n    public string AliasName\n    {\n      get\n      {\n        return this.aliasNameField;\n      }\n      set\n      {\n        this.aliasNameField = value;\n      }\n    }\n\n    /// <remarks/>\n    public string DomainModelUriString\n    {\n      get\n      {\n        return this.domainModelUriStringField;\n      }\n      set\n      {\n        this.domainModelUriStringField = value;\n      }\n    }\n\n    /// <remarks/>\n    public string DomainModelGuidString\n    {\n      get\n      {\n        return this.domainModelGuidStringField;\n      }\n      set\n      {\n        this.domainModelGuidStringField = value;\n      }\n    }\n\n    /// <remarks/>\n    public string Description\n    {\n      get\n      {\n        return this.descriptionField;\n      }\n      set\n      {\n        this.descriptionField = value;\n      }\n    }\n\n    /// <remarks/>\n    [System.Xml.Serialization.XmlArrayItemAttribute(IsNullable = false)]\n    public SemanticsDataIndex[] SemanticsDataCollection\n    {\n      get\n      {\n        return this.semanticsDataCollectionField;\n      }\n      set\n      {\n        this.semanticsDataCollectionField = value;\n      }\n    }\n\n    /// <remarks/>\n    public string UniversalAddressSpaceLocator\n    {\n      get\n      {\n        return this.universalAddressSpaceLocatorField;\n      }\n      set\n      {\n        this.universalAddressSpaceLocatorField = value;\n      }\n    }\n\n    /// <remarks/>\n    public string UniversalAuthorizationServerLocator\n    {\n      get\n      {\n        return this.universalAuthorizationServerLocatorField;\n      }\n      set\n      {\n        this.universalAuthorizationServerLocatorField = value;\n      }\n    }\n\n    /// <remarks/>\n    [System.Xml.Serialization.XmlArrayItemAttribute(IsNullable = false)]\n    public TypeDictionary[] TypeDictionaries\n    {\n      get\n      {\n        return this.typeDictionariesField;\n      }\n      set\n      {\n        this.typeDictionariesField = value;\n      }\n    }\n  }\n\n  /// <remarks/>\n  [System.CodeDom.Compiler.GeneratedCodeAttribute(\"xsd\", \"4.6.1055.0\")]\n  [System.SerializableAttribute()]\n  [System.Diagnostics.DebuggerStepThroughAttribute()]\n  [System.ComponentModel.DesignerCategoryAttribute(\"code\")]\n  [System.Xml.Serialization.XmlTypeAttribute(Namespace = \"http://http://commsvr.com/UAOOI/DataDiscovery/DiscoveryServices/Models/DomainMode\" +\n      \"l.xsd\")]\n  public partial class SemanticsDataIndex\n  {\n\n    private string symbolicNameField;\n\n    private ushort indexField;\n\n    private FieldMetaData[] dataSetField;\n\n    /// <remarks/>\n    public string SymbolicName\n    {\n      get\n      {\n        return this.symbolicNameField;\n      }\n      set\n      {\n        this.symbolicNameField = value;\n      }\n    }\n\n    /// <remarks/>\n    public ushort Index\n    {\n      get\n      {\n        return this.indexField;\n      }\n      set\n      {\n        this.indexField = value;\n      }\n    }\n\n    /// <remarks/>\n    [System.Xml.Serialization.XmlArrayItemAttribute(IsNullable = false)]\n    public FieldMetaData[] DataSet\n    {\n      get\n      {\n        return this.dataSetField;\n      }\n      set\n      {\n        this.dataSetField = value;\n      }\n    }\n  }\n\n  /// <remarks/>\n  [System.CodeDom.Compiler.GeneratedCodeAttribute(\"xsd\", \"4.6.1055.0\")]\n  [System.SerializableAttribute()]\n  [System.Diagnostics.DebuggerStepThroughAttribute()]\n  [System.ComponentModel.DesignerCategoryAttribute(\"code\")]\n  [System.Xml.Serialization.XmlTypeAttribute(Namespace = \"http://http://commsvr.com/UAOOI/DataDiscovery/DiscoveryServices/Models/DomainMode\" +\n      \"l.xsd\")]\n  public partial class FieldMetaData\n  {\n\n    private ExtensionDataObject extensionDataField;\n\n    private string symbolicNameField;\n\n    private string processValueNameField;\n\n    private UATypeInfo typeInformationField;\n\n    /// <remarks/>\n    public ExtensionDataObject ExtensionData\n    {\n      get\n      {\n        return this.extensionDataField;\n      }\n      set\n      {\n        this.extensionDataField = value;\n      }\n    }\n\n    /// <remarks/>\n    public string SymbolicName\n    {\n      get\n      {\n        return this.symbolicNameField;\n      }\n      set\n      {\n        this.symbolicNameField = value;\n      }\n    }\n\n    /// <remarks/>\n    public string ProcessValueName\n    {\n      get\n      {\n        return this.processValueNameField;\n      }\n      set\n      {\n        this.processValueNameField = value;\n      }\n    }\n\n    /// <remarks/>\n    public UATypeInfo TypeInformation\n    {\n      get\n      {\n        return this.typeInformationField;\n      }\n      set\n      {\n        this.typeInformationField = value;\n      }\n    }\n  }\n\n  /// <remarks/>\n  [System.CodeDom.Compiler.GeneratedCodeAttribute(\"xsd\", \"4.6.1055.0\")]\n  [System.SerializableAttribute()]\n  [System.Diagnostics.DebuggerStepThroughAttribute()]\n  [System.ComponentModel.DesignerCategoryAttribute(\"code\")]\n  [System.Xml.Serialization.XmlTypeAttribute(Namespace = \"http://http://commsvr.com/UAOOI/DataDiscovery/DiscoveryServices/Models/DomainMode\" +\n      \"l.xsd\")]\n  public partial class ExtensionDataObject\n  {\n  }\n\n  /// <remarks/>\n  [System.CodeDom.Compiler.GeneratedCodeAttribute(\"xsd\", \"4.6.1055.0\")]\n  [System.SerializableAttribute()]\n  [System.Diagnostics.DebuggerStepThroughAttribute()]\n  [System.ComponentModel.DesignerCategoryAttribute(\"code\")]\n  [System.Xml.Serialization.XmlTypeAttribute(Namespace = \"http://http://commsvr.com/UAOOI/DataDiscovery/DiscoveryServices/Models/DomainMode\" +\n      \"l.xsd\")]\n  public partial class LocalizedText\n  {\n\n    private string localeField;\n\n    private string valueField;\n\n    /// <summary>\n    /// Initializes a new instance of the <see cref=\"LocalizedText\"/> class.\n    /// </summary>\n    public LocalizedText()\n    {\n      this.localeField = \"\";\n    }\n\n    /// <remarks/>\n    [System.Xml.Serialization.XmlAttributeAttribute()]\n    [System.ComponentModel.DefaultValueAttribute(\"\")]\n    public string Locale\n    {\n      get\n      {\n        return this.localeField;\n      }\n      set\n      {\n        this.localeField = value;\n      }\n    }\n\n    /// <remarks/>\n    [System.Xml.Serialization.XmlTextAttribute()]\n    public string Value\n    {\n      get\n      {\n        return this.valueField;\n      }\n      set\n      {\n        this.valueField = value;\n      }\n    }\n  }\n\n  /// <remarks/>\n  [System.CodeDom.Compiler.GeneratedCodeAttribute(\"xsd\", \"4.6.1055.0\")]\n  [System.SerializableAttribute()]\n  [System.Diagnostics.DebuggerStepThroughAttribute()]\n  [System.ComponentModel.DesignerCategoryAttribute(\"code\")]\n  [System.Xml.Serialization.XmlTypeAttribute(Namespace = \"http://http://commsvr.com/UAOOI/DataDiscovery/DiscoveryServices/Models/DomainMode\" +\n      \"l.xsd\")]\n  public partial class EnumeratedValue\n  {\n\n    private LocalizedText[] documentationField;\n\n    private string nameField;\n\n    private int valueField;\n\n    /// <remarks/>\n    public LocalizedText[] Documentation\n    {\n      get\n      {\n        return this.documentationField;\n      }\n      set\n      {\n        this.documentationField = value;\n      }\n    }\n\n    /// <remarks/>\n    [System.Xml.Serialization.XmlAttributeAttribute()]\n    public string Name\n    {\n      get\n      {\n        return this.nameField;\n      }\n      set\n      {\n        this.nameField = value;\n      }\n    }\n\n    /// <remarks/>\n    [System.Xml.Serialization.XmlAttributeAttribute()]\n    public int Value\n    {\n      get\n      {\n        return this.valueField;\n      }\n      set\n      {\n        this.valueField = value;\n      }\n    }\n  }\n\n  /// <remarks/>\n  [System.CodeDom.Compiler.GeneratedCodeAttribute(\"xsd\", \"4.6.1055.0\")]\n  [System.SerializableAttribute()]\n  [System.Diagnostics.DebuggerStepThroughAttribute()]\n  [System.ComponentModel.DesignerCategoryAttribute(\"code\")]\n  [System.Xml.Serialization.XmlTypeAttribute(Namespace = \"http://http://commsvr.com/UAOOI/DataDiscovery/DiscoveryServices/Models/DomainMode\" +\n      \"l.xsd\")]\n  public partial class StructuredTypeField\n  {\n\n    private string nameField;\n\n    private System.Xml.XmlQualifiedName typeNameField;\n\n    private string switchFieldField;\n\n    private uint switchValueField;\n\n    private bool switchValueFieldSpecified;\n\n    private SwitchOperand switchOperandField;\n\n    private bool switchOperandFieldSpecified;\n\n    /// <remarks/>\n    [System.Xml.Serialization.XmlAttributeAttribute()]\n    public string Name\n    {\n      get\n      {\n        return this.nameField;\n      }\n      set\n      {\n        this.nameField = value;\n      }\n    }\n\n    /// <remarks/>\n    [System.Xml.Serialization.XmlAttributeAttribute()]\n    public System.Xml.XmlQualifiedName TypeName\n    {\n      get\n      {\n        return this.typeNameField;\n      }\n      set\n      {\n        this.typeNameField = value;\n      }\n    }\n\n    /// <remarks/>\n    [System.Xml.Serialization.XmlAttributeAttribute()]\n    public string SwitchField\n    {\n      get\n      {\n        return this.switchFieldField;\n      }\n      set\n      {\n        this.switchFieldField = value;\n      }\n    }\n\n    /// <remarks/>\n    [System.Xml.Serialization.XmlAttributeAttribute()]\n    public uint SwitchValue\n    {\n      get\n      {\n        return this.switchValueField;\n      }\n      set\n      {\n        this.switchValueField = value;\n      }\n    }\n\n    /// <remarks/>\n    [System.Xml.Serialization.XmlIgnoreAttribute()]\n    public bool SwitchValueSpecified\n    {\n      get\n      {\n        return this.switchValueFieldSpecified;\n      }\n      set\n      {\n        this.switchValueFieldSpecified = value;\n      }\n    }\n\n    /// <remarks/>\n    [System.Xml.Serialization.XmlAttributeAttribute()]\n    public SwitchOperand SwitchOperand\n    {\n      get\n      {\n        return this.switchOperandField;\n      }\n      set\n      {\n        this.switchOperandField = value;\n      }\n    }\n\n    /// <remarks/>\n    [System.Xml.Serialization.XmlIgnoreAttribute()]\n    public bool SwitchOperandSpecified\n    {\n      get\n      {\n        return this.switchOperandFieldSpecified;\n      }\n      set\n      {\n        this.switchOperandFieldSpecified = value;\n      }\n    }\n  }\n\n  /// <remarks/>\n  [System.CodeDom.Compiler.GeneratedCodeAttribute(\"xsd\", \"4.6.1055.0\")]\n  [System.SerializableAttribute()]\n  [System.Xml.Serialization.XmlTypeAttribute(Namespace = \"http://http://commsvr.com/UAOOI/DataDiscovery/DiscoveryServices/Models/DomainMode\" +\n      \"l.xsd\")]\n  public enum SwitchOperand\n  {\n\n    /// <remarks/>\n    Equals,\n\n    /// <remarks/>\n    GreaterThan,\n\n    /// <remarks/>\n    LessThan,\n\n    /// <remarks/>\n    GreaterThanOrEqual,\n\n    /// <remarks/>\n    LessThanOrEqual,\n\n    /// <remarks/>\n    NotEqual,\n  }\n\n  /// <remarks/>\n  [System.Xml.Serialization.XmlIncludeAttribute(typeof(EnumeratedType))]\n  [System.Xml.Serialization.XmlIncludeAttribute(typeof(StructuredType))]\n  [System.CodeDom.Compiler.GeneratedCodeAttribute(\"xsd\", \"4.6.1055.0\")]\n  [System.SerializableAttribute()]\n  [System.Diagnostics.DebuggerStepThroughAttribute()]\n  [System.ComponentModel.DesignerCategoryAttribute(\"code\")]\n  [System.Xml.Serialization.XmlTypeAttribute(Namespace = \"http://http://commsvr.com/UAOOI/DataDiscovery/DiscoveryServices/Models/DomainMode\" +\n      \"l.xsd\")]\n  public partial class TypeDescription\n  {\n\n    private string nameField;\n\n    /// <remarks/>\n    [System.Xml.Serialization.XmlAttributeAttribute(DataType = \"NCName\")]\n    public string Name\n    {\n      get\n      {\n        return this.nameField;\n      }\n      set\n      {\n        this.nameField = value;\n      }\n    }\n  }\n\n  /// <remarks/>\n  [System.CodeDom.Compiler.GeneratedCodeAttribute(\"xsd\", \"4.6.1055.0\")]\n  [System.SerializableAttribute()]\n  [System.Diagnostics.DebuggerStepThroughAttribute()]\n  [System.ComponentModel.DesignerCategoryAttribute(\"code\")]\n  [System.Xml.Serialization.XmlTypeAttribute(Namespace = \"http://http://commsvr.com/UAOOI/DataDiscovery/DiscoveryServices/Models/DomainMode\" +\n      \"l.xsd\")]\n  public partial class EnumeratedType : TypeDescription\n  {\n\n    private EnumeratedValue[] enumeratedValuesField;\n\n    /// <remarks/>\n    [System.Xml.Serialization.XmlElementAttribute(\"EnumeratedValues\")]\n    public EnumeratedValue[] EnumeratedValues\n    {\n      get\n      {\n        return this.enumeratedValuesField;\n      }\n      set\n      {\n        this.enumeratedValuesField = value;\n      }\n    }\n  }\n\n  /// <remarks/>\n  [System.CodeDom.Compiler.GeneratedCodeAttribute(\"xsd\", \"4.6.1055.0\")]\n  [System.SerializableAttribute()]\n  [System.Diagnostics.DebuggerStepThroughAttribute()]\n  [System.ComponentModel.DesignerCategoryAttribute(\"code\")]\n  [System.Xml.Serialization.XmlTypeAttribute(Namespace = \"http://http://commsvr.com/UAOOI/DataDiscovery/DiscoveryServices/Models/DomainMode\" +\n      \"l.xsd\")]\n  public partial class StructuredType : TypeDescription\n  {\n\n    private StructuredTypeField[] fieldField;\n\n    private StructureKindEnum structureKindField;\n\n    /// <remarks/>\n    [System.Xml.Serialization.XmlElementAttribute(\"Field\")]\n    public StructuredTypeField[] Field\n    {\n      get\n      {\n        return this.fieldField;\n      }\n      set\n      {\n        this.fieldField = value;\n      }\n    }\n\n    /// <remarks/>\n    public StructureKindEnum StructureKind\n    {\n      get\n      {\n        return this.structureKindField;\n      }\n      set\n      {\n        this.structureKindField = value;\n      }\n    }\n  }\n\n  /// <remarks/>\n  [System.CodeDom.Compiler.GeneratedCodeAttribute(\"xsd\", \"4.6.1055.0\")]\n  [System.SerializableAttribute()]\n  [System.Xml.Serialization.XmlTypeAttribute(Namespace = \"http://http://commsvr.com/UAOOI/DataDiscovery/DiscoveryServices/Models/DomainMode\" +\n      \"l.xsd\")]\n  public enum StructureKindEnum\n  {\n\n    /// <remarks/>\n    Structure,\n\n    /// <remarks/>\n    StructureWithOptionalFields,\n\n    /// <remarks/>\n    Union,\n  }\n\n  /// <remarks/>\n  [System.CodeDom.Compiler.GeneratedCodeAttribute(\"xsd\", \"4.6.1055.0\")]\n  [System.SerializableAttribute()]\n  [System.Diagnostics.DebuggerStepThroughAttribute()]\n  [System.ComponentModel.DesignerCategoryAttribute(\"code\")]\n  [System.Xml.Serialization.XmlTypeAttribute(Namespace = \"http://http://commsvr.com/UAOOI/DataDiscovery/DiscoveryServices/Models/DomainMode\" +\n      \"l.xsd\")]\n  public partial class TypeDictionary\n  {\n\n    private StructuredType[] structuredTypeField;\n\n    private string targetNamespaceField;\n\n    /// <remarks/>\n    [System.Xml.Serialization.XmlElementAttribute(\"StructuredType\")]\n    public StructuredType[] StructuredType\n    {\n      get\n      {\n        return this.structuredTypeField;\n      }\n      set\n      {\n        this.structuredTypeField = value;\n      }\n    }\n\n    /// <remarks/>\n    [System.Xml.Serialization.XmlAttributeAttribute()]\n    public string TargetNamespace\n    {\n      get\n      {\n        return this.targetNamespaceField;\n      }\n      set\n      {\n        this.targetNamespaceField = value;\n      }\n    }\n  }\n\n  /// <remarks/>\n  [System.CodeDom.Compiler.GeneratedCodeAttribute(\"xsd\", \"4.6.1055.0\")]\n  [System.SerializableAttribute()]\n  [System.Diagnostics.DebuggerStepThroughAttribute()]\n  [System.ComponentModel.DesignerCategoryAttribute(\"code\")]\n  [System.Xml.Serialization.XmlTypeAttribute(Namespace = \"http://http://commsvr.com/UAOOI/DataDiscovery/DiscoveryServices/Models/DomainMode\" +\n      \"l.xsd\")]\n  public partial class UATypeInfo\n  {\n\n    private BuiltInType builtInTypeField;\n\n    private int valueRankField;\n\n    private int[] arrayDimensionsField;\n\n    private System.Xml.XmlQualifiedName typeNameField;\n\n    /// <remarks/>\n    public BuiltInType BuiltInType\n    {\n      get\n      {\n        return this.builtInTypeField;\n      }\n      set\n      {\n        this.builtInTypeField = value;\n      }\n    }\n\n    /// <remarks/>\n    public int ValueRank\n    {\n      get\n      {\n        return this.valueRankField;\n      }\n      set\n      {\n        this.valueRankField = value;\n      }\n    }\n\n    /// <remarks/>\n    public int[] ArrayDimensions\n    {\n      get\n      {\n        return this.arrayDimensionsField;\n      }\n      set\n      {\n        this.arrayDimensionsField = value;\n      }\n    }\n\n    /// <remarks/>\n    public System.Xml.XmlQualifiedName TypeName\n    {\n      get\n      {\n        return this.typeNameField;\n      }\n      set\n      {\n        this.typeNameField = value;\n      }\n    }\n  }\n\n  /// <remarks/>\n  [System.CodeDom.Compiler.GeneratedCodeAttribute(\"xsd\", \"4.6.1055.0\")]\n  [System.SerializableAttribute()]\n  [System.Xml.Serialization.XmlTypeAttribute(Namespace = \"http://http://commsvr.com/UAOOI/DataDiscovery/DiscoveryServices/Models/DomainMode\" +\n      \"l.xsd\")]\n  public enum BuiltInType\n  {\n\n    /// <remarks/>\n    Null,\n\n    /// <remarks/>\n    Boolean,\n\n    /// <remarks/>\n    SByte,\n\n    /// <remarks/>\n    Byte,\n\n    /// <remarks/>\n    Int16,\n\n    /// <remarks/>\n    UInt16,\n\n    /// <remarks/>\n    Int32,\n\n    /// <remarks/>\n    UInt32,\n\n    /// <remarks/>\n    Int64,\n\n    /// <remarks/>\n    UInt64,\n\n    /// <remarks/>\n    Float,\n\n    /// <remarks/>\n    Double,\n\n    /// <remarks/>\n    String,\n\n    /// <remarks/>\n    DateTime,\n\n    /// <remarks/>\n    Guid,\n\n    /// <remarks/>\n    ByteString,\n\n    /// <remarks/>\n    XmlElement,\n\n    /// <remarks/>\n    NodeId,\n\n    /// <remarks/>\n    ExpandedNodeId,\n\n    /// <remarks/>\n    StatusCode,\n\n    /// <remarks/>\n    QualifiedName,\n\n    /// <remarks/>\n    LocalizedText,\n\n    /// <remarks/>\n    ExtensionObject,\n\n    /// <remarks/>\n    DataValue,\n\n    /// <remarks/>\n    Variant,\n\n    /// <remarks/>\n    DiagnosticInfo,\n\n    /// <remarks/>\n    Enumeration,\n  }\n}\n"
  },
  {
    "path": "DataDiscovery/DiscoveryServices/Models/DomainModel.xsd",
    "content": "﻿<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<xs:schema xmlns:tns=\"http://http://commsvr.com/UAOOI/DataDiscovery/DiscoveryServices/Models/DomainModel.xsd\" \n           elementFormDefault=\"qualified\" \n           targetNamespace=\"http://http://commsvr.com/UAOOI/DataDiscovery/DiscoveryServices/Models/DomainModel.xsd\" \n           xmlns:xs=\"http://www.w3.org/2001/XMLSchema\">\n  <xs:element name=\"DomainModel\" nillable=\"true\" type=\"tns:DomainModel\" />\n  <xs:complexType name=\"DomainModel\">\n    <xs:sequence>\n      <xs:element minOccurs=\"0\" maxOccurs=\"1\" name=\"AliasName\" type=\"xs:string\" />\n      <xs:element minOccurs=\"0\" maxOccurs=\"1\" name=\"DomainModelUriString\" type=\"xs:string\" />\n      <xs:element minOccurs=\"0\" maxOccurs=\"1\" name=\"DomainModelGuidString\" type=\"xs:string\" />\n      <xs:element minOccurs=\"0\" maxOccurs=\"1\" name=\"Description\" type=\"xs:string\" />\n      <xs:element minOccurs=\"0\" maxOccurs=\"1\" name=\"SemanticsDataCollection\" type=\"tns:ArrayOfSemanticsDataIndex\" />\n      <xs:element minOccurs=\"0\" maxOccurs=\"1\" name=\"UniversalAddressSpaceLocator\" type=\"xs:string\" />\n      <xs:element minOccurs=\"0\" maxOccurs=\"1\" name=\"UniversalAuthorizationServerLocator\" type=\"xs:string\" />\n      <xs:element minOccurs=\"0\" maxOccurs=\"1\" name=\"TypeDictionaries\" type=\"tns:ArrayOfTypeDictionary\" />\n    </xs:sequence>\n  </xs:complexType>\n  <xs:complexType name=\"ArrayOfSemanticsDataIndex\">\n    <xs:sequence>\n      <xs:element minOccurs=\"0\" maxOccurs=\"unbounded\" name=\"SemanticsDataIndex\" type=\"tns:SemanticsDataIndex\" />\n    </xs:sequence>\n  </xs:complexType>\n  <xs:complexType name=\"SemanticsDataIndex\">\n    <xs:sequence>\n      <xs:element minOccurs=\"0\" maxOccurs=\"1\" name=\"SymbolicName\" type=\"xs:string\" />\n      <xs:element minOccurs=\"1\" maxOccurs=\"1\" name=\"Index\" type=\"xs:unsignedShort\" />\n      <xs:element minOccurs=\"0\" maxOccurs=\"1\" name=\"DataSet\" type=\"tns:ArrayOfFieldMetaData\" />\n    </xs:sequence>\n  </xs:complexType>\n  <xs:complexType name=\"ArrayOfFieldMetaData\">\n    <xs:sequence>\n      <xs:element minOccurs=\"0\" maxOccurs=\"unbounded\" name=\"FieldMetaData\" type=\"tns:FieldMetaData\" />\n    </xs:sequence>\n  </xs:complexType>\n  <xs:complexType name=\"FieldMetaData\">\n    <xs:sequence>\n      <xs:element minOccurs=\"0\" maxOccurs=\"1\" name=\"ExtensionData\" type=\"tns:ExtensionDataObject\" />\n      <xs:element minOccurs=\"0\" maxOccurs=\"1\" name=\"SymbolicName\" type=\"xs:string\" />\n      <xs:element minOccurs=\"0\" maxOccurs=\"1\" name=\"ProcessValueName\" type=\"xs:string\" />\n      <xs:element minOccurs=\"0\" maxOccurs=\"1\" name=\"TypeInformation\" type=\"tns:UATypeInfo\" />\n    </xs:sequence>\n  </xs:complexType>\n  <xs:complexType name=\"ExtensionDataObject\" />\n  <xs:complexType name=\"UATypeInfo\">\n    <xs:sequence>\n      <xs:element minOccurs=\"1\" maxOccurs=\"1\" name=\"BuiltInType\" type=\"tns:BuiltInType\" />\n      <xs:element minOccurs=\"1\" maxOccurs=\"1\" name=\"ValueRank\" type=\"xs:int\" />\n      <xs:element minOccurs=\"0\" maxOccurs=\"1\" name=\"ArrayDimensions\" type=\"tns:ArrayOfInt\" />\n      <xs:element minOccurs=\"0\" maxOccurs=\"1\" name=\"TypeName\" type=\"xs:QName\" />\n    </xs:sequence>\n  </xs:complexType>\n  <xs:simpleType name=\"BuiltInType\">\n    <xs:restriction base=\"xs:string\">\n      <xs:enumeration value=\"Null\" />\n      <xs:enumeration value=\"Boolean\" />\n      <xs:enumeration value=\"SByte\" />\n      <xs:enumeration value=\"Byte\" />\n      <xs:enumeration value=\"Int16\" />\n      <xs:enumeration value=\"UInt16\" />\n      <xs:enumeration value=\"Int32\" />\n      <xs:enumeration value=\"UInt32\" />\n      <xs:enumeration value=\"Int64\" />\n      <xs:enumeration value=\"UInt64\" />\n      <xs:enumeration value=\"Float\" />\n      <xs:enumeration value=\"Double\" />\n      <xs:enumeration value=\"String\" />\n      <xs:enumeration value=\"DateTime\" />\n      <xs:enumeration value=\"Guid\" />\n      <xs:enumeration value=\"ByteString\" />\n      <xs:enumeration value=\"XmlElement\" />\n      <xs:enumeration value=\"NodeId\" />\n      <xs:enumeration value=\"ExpandedNodeId\" />\n      <xs:enumeration value=\"StatusCode\" />\n      <xs:enumeration value=\"QualifiedName\" />\n      <xs:enumeration value=\"LocalizedText\" />\n      <xs:enumeration value=\"ExtensionObject\" />\n      <xs:enumeration value=\"DataValue\" />\n      <xs:enumeration value=\"Variant\" />\n      <xs:enumeration value=\"DiagnosticInfo\" />\n      <xs:enumeration value=\"Enumeration\" />\n    </xs:restriction>\n  </xs:simpleType>\n  <xs:complexType name=\"ArrayOfInt\">\n    <xs:sequence>\n      <xs:element minOccurs=\"0\" maxOccurs=\"unbounded\" name=\"int\" type=\"xs:int\" />\n    </xs:sequence>\n  </xs:complexType>\n  <xs:complexType name=\"ArrayOfTypeDictionary\">\n    <xs:sequence>\n      <xs:element minOccurs=\"0\" maxOccurs=\"unbounded\" name=\"TypeDictionary\" type=\"tns:TypeDictionary\" />\n    </xs:sequence>\n  </xs:complexType>\n  <xs:complexType name=\"TypeDictionary\">\n    <xs:sequence>\n      <xs:element minOccurs=\"0\" maxOccurs=\"unbounded\" name=\"StructuredType\" type=\"tns:StructuredType\" />\n    </xs:sequence>\n    <xs:attribute name=\"TargetNamespace\" type=\"xs:string\" />\n  </xs:complexType>\n  <xs:complexType name=\"StructuredType\">\n    <xs:complexContent mixed=\"false\">\n      <xs:extension base=\"tns:TypeDescription\">\n        <xs:sequence>\n          <xs:element minOccurs=\"0\" maxOccurs=\"unbounded\" name=\"Field\" type=\"tns:StructuredTypeField\" />\n          <xs:element minOccurs=\"1\" maxOccurs=\"1\" name=\"StructureKind\" type=\"tns:StructureKindEnum\" />\n        </xs:sequence>\n      </xs:extension>\n    </xs:complexContent>\n  </xs:complexType>\n  <xs:complexType name=\"TypeDescription\">\n    <xs:attribute name=\"Name\" type=\"xs:NCName\" />\n  </xs:complexType>\n  <xs:complexType name=\"EnumeratedType\">\n    <xs:complexContent mixed=\"false\">\n      <xs:extension base=\"tns:TypeDescription\">\n        <xs:sequence>\n          <xs:element minOccurs=\"0\" maxOccurs=\"unbounded\" name=\"EnumeratedValues\" type=\"tns:EnumeratedValue\" />\n        </xs:sequence>\n      </xs:extension>\n    </xs:complexContent>\n  </xs:complexType>\n  <xs:complexType name=\"EnumeratedValue\">\n    <xs:sequence>\n      <xs:element minOccurs=\"0\" maxOccurs=\"1\" name=\"Documentation\" type=\"tns:ArrayOfLocalizedText\" />\n    </xs:sequence>\n    <xs:attribute name=\"Name\" type=\"xs:string\" />\n    <xs:attribute name=\"Value\" type=\"xs:int\" use=\"required\" />\n  </xs:complexType>\n  <xs:complexType name=\"ArrayOfLocalizedText\">\n    <xs:sequence>\n      <xs:element minOccurs=\"0\" maxOccurs=\"unbounded\" name=\"LocalizedText\" nillable=\"true\" type=\"tns:LocalizedText\" />\n    </xs:sequence>\n  </xs:complexType>\n  <xs:complexType name=\"LocalizedText\">\n    <xs:simpleContent>\n      <xs:extension base=\"xs:string\">\n        <xs:attribute default=\"\" name=\"Locale\" type=\"xs:string\" />\n      </xs:extension>\n    </xs:simpleContent>\n  </xs:complexType>\n  <xs:complexType name=\"StructuredTypeField\">\n    <xs:attribute name=\"Name\" type=\"xs:string\" />\n    <xs:attribute name=\"TypeName\" type=\"xs:QName\" />\n    <xs:attribute name=\"SwitchField\" type=\"xs:string\" />\n    <xs:attribute name=\"SwitchValue\" type=\"xs:unsignedInt\" />\n    <xs:attribute name=\"SwitchOperand\" type=\"tns:SwitchOperand\" />\n  </xs:complexType>\n  <xs:simpleType name=\"SwitchOperand\">\n    <xs:restriction base=\"xs:string\">\n      <xs:enumeration value=\"Equals\" />\n      <xs:enumeration value=\"GreaterThan\" />\n      <xs:enumeration value=\"LessThan\" />\n      <xs:enumeration value=\"GreaterThanOrEqual\" />\n      <xs:enumeration value=\"LessThanOrEqual\" />\n      <xs:enumeration value=\"NotEqual\" />\n    </xs:restriction>\n  </xs:simpleType>\n  <xs:simpleType name=\"StructureKindEnum\">\n    <xs:restriction base=\"xs:string\">\n      <xs:enumeration value=\"Structure\" />\n      <xs:enumeration value=\"StructureWithOptionalFields\" />\n      <xs:enumeration value=\"Union\" />\n    </xs:restriction>\n  </xs:simpleType>\n</xs:schema>"
  },
  {
    "path": "DataDiscovery/DiscoveryServices/Models/DomainModel.xsd.cs",
    "content": "﻿//__________________________________________________________________________________________________\n//\n//  Copyright (C) 2021, Mariusz Postol LODZ POLAND.\n//\n//  To be in touch join the community at GitHub: https://github.com/mpostol/OPC-UA-OOI/discussions\n//__________________________________________________________________________________________________\n\nusing System;\nusing System.Xml;\nusing System.Xml.Serialization;\n\nnamespace UAOOI.DataDiscovery.DiscoveryServices.Models\n{\n  /// <summary>\n  /// Class DomainModel - domain description holder.\n  /// </summary>\n  /// <remarks>\n  /// Domain is a collection of data over which an owner has control. It may be used to describe:\n  /// * a collection of package addresses used to push the message to the receiver.\n  /// * a collection of data used to provide data semantic unique identifier and support subscription to receive copies of the data as the message payload based on the data semantics.\n  /// </remarks>\n  public partial class DomainModel\n  {\n    #region API\n\n    /// <summary>\n    /// Gets or sets the URI of the domain.\n    /// </summary>\n    /// <value>The URI.</value>\n    [XmlIgnore]\n    public Uri DomainModelUri\n    {\n      get => new Uri(DomainModelUriString);\n      set => DomainModelUriString = value.ToString();\n    }\n\n    /// <summary>\n    /// Gets or sets the unique name of the domain.\n    /// </summary>\n    /// <value>The name of the unique.</value>\n    [XmlIgnore]\n    public Guid DomainModelGuid\n    {\n      get => XmlConvert.ToGuid(DomainModelGuidString);\n      set => DomainModelGuidString = XmlConvert.ToString(value);\n    }\n\n    /// <summary>\n    /// Gets or sets the universal discovery service locator - this URL (REST call is assigned by the resolver).\n    /// </summary>\n    /// <value>The universal discovery service locator.</value>\n    [XmlIgnore]\n    public string UniversalDiscoveryServiceLocator { get; set; }\n\n    #endregion API\n  }\n}"
  },
  {
    "path": "DataDiscovery/DiscoveryServices/Models/SemanticsDataIndex.cs",
    "content": "﻿//__________________________________________________________________________________________________\n//\n//  Copyright (C) 2021, Mariusz Postol LODZ POLAND.\n//\n//  To be in touch join the community at GitHub: https://github.com/mpostol/OPC-UA-OOI/discussions\n//__________________________________________________________________________________________________\n\nnamespace UAOOI.DataDiscovery.DiscoveryServices.Models\n{\n  /// <summary>\n  /// Class SemanticsDataIndex - provides description of a set of data items representing the current state of a selected object uniquely named by the <see cref=\"SemanticsDataIndex.SymbolicName\"/>.\n  /// </summary>\n  /// <remarks>\n  /// Each Semantic data belongs to the only one domain and must have symbolic name unique in context of the domain.\n  /// <see cref=\"SemanticsDataIndex.Index\"/> is used to replace the symbolic name with the purpose of optimization of the data transfer.\n  /// </remarks>\n  public partial class SemanticsDataIndex { }\n}"
  },
  {
    "path": "DataDiscovery/DiscoveryServices/Priority.cs",
    "content": "﻿//__________________________________________________________________________________________________\n//\n//  Copyright (C) 2021, Mariusz Postol LODZ POLAND.\n//\n//  To be in touch join the community at GitHub: https://github.com/mpostol/OPC-UA-OOI/discussions\n//__________________________________________________________________________________________________\n\nnamespace UAOOI.DataDiscovery.DiscoveryServices\n{\n  /// <summary>\n  /// Defines values for the priorities used by a logger.\n  /// </summary>\n  public enum Priority\n  {\n    /// <summary>\n    /// No priority specified.\n    /// </summary>\n    None = 0,\n\n    /// <summary>\n    /// High priority entry.\n    /// </summary>\n    High = 1,\n\n    /// <summary>\n    /// Medium priority entry.\n    /// </summary>\n    Medium = 2,\n\n    /// <summary>\n    /// Low priority entry.\n    /// </summary>\n    Low = 3\n  }\n}"
  },
  {
    "path": "DataDiscovery/DiscoveryServices/Properties/AssemblyInfo.cs",
    "content": "﻿//__________________________________________________________________________________________________\n//\n//  Copyright (C) 2021, Mariusz Postol LODZ POLAND.\n//\n//  To be in touch join the community at GitHub: https://github.com/mpostol/OPC-UA-OOI/discussions\n//__________________________________________________________________________________________________\n\nusing System.Reflection;\nusing System.Runtime.CompilerServices;\n\n[assembly: AssemblyTrademark(\"Object Oriented Internet\")]\n[assembly: AssemblyCulture(\"\")]\n[assembly: InternalsVisibleTo(\n  \"UAOOI.DataDiscovery.DiscoveryServices.UnitTest, PublicKey=\" +\n    \"00240000048000009400000006020000002400005253413100040000010001005b97a0972ff6b13a\" +\n    \"8a9ff9c09503aea0e5e2fe29cb2275a0c0942182f4c3431814b6bc9a556d9fe0d7e7823439c1ba28\" +\n    \"521f6318e4c936c4461604ef668e9686c2021571b093e1bfba071b373bc56a07a3afdc120c5313d3\" +\n    \"9a935cda64b759f857ebb3db483641444a5347e1564f8ba6d4fad2f968d3caf9991a4fa6aa019ebe\"\n)]"
  },
  {
    "path": "DataDiscovery/DiscoveryServices/Properties/UAOOI.DataDiscovery.DiscoveryServices.nuspec",
    "content": "﻿<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<package xmlns=\"http://schemas.microsoft.com/packaging/2011/08/nuspec.xsd\">\n  <metadata>\n    <id>UAOOI.DataDiscovery.DiscoveryServices</id>\n    <version>1.0.0-Alpha</version>\n    <title>Library supporting global data discovery services</title>\n    <authors>commsvr.com</authors>\n    <owners>cas.eu</owners>\n    <projectUrl>https://github.com/mpostol/OPC-UA-OOI/tree/master/DataDiscovery</projectUrl>\n    <licenseUrl>https://github.com/mpostol/OPC-UA-OOI/blob/master/license.md</licenseUrl>\n    <requireLicenseAcceptance>false</requireLicenseAcceptance>\n    <developmentDependency>false</developmentDependency>\n    <description>\n      OPC UA Object Oriented Internet (UAOOI) UAOOI.DataDiscovery.DiscoveryServices library is dedicated to support global data discovery services for any application based on OPC UA Information Model.\n      It is part of the project supporting OPC UA Object Oriented Internet paradigm.\n    </description>\n    <summary>\n      Library supporting global data discovery services.\n    </summary>\n    <releaseNotes>\n      It is working unit tested prerelease.\n    </releaseNotes>\n    <copyright>Copyright MPostol (c) 2018</copyright>\n    <tags>Semantics Data, Object Oriented Internet, OPC UA, CommServer, ASMD, Address Space Model Designer.</tags>\n  </metadata>\n  <files>\n    <file src=\"lib\\net461\\_._\" target=\"lib\\net461\\_._\" />\n  </files>\n</package>\n\n"
  },
  {
    "path": "DataDiscovery/DiscoveryServices/ReadMe.old",
    "content": "﻿Version History:\n\n\n\n\n\n\n"
  },
  {
    "path": "DataDiscovery/DiscoveryServices/ReadMe.tt",
    "content": "﻿<#@ template debug=\"false\" hostspecific=\"false\" language=\"C#\" #>\n<#@ assembly name=\"System.Core\" #>\n<#@ import namespace=\"System.Linq\" #>\n<#@ import namespace=\"System.Text\" #>\n<#@ import namespace=\"System.Collections.Generic\" #>\n<#@ output extension=\".txt\" #>\n\nThe documentation is available on line at: TBD\n\nCurrent release:\n\nAssembly Title:         <#=m_AssemblyTitle#>\nAssembly Description:   <#=DataDiscoveryProduct#>.\nAssembly Company:       <#=AssemblyCompany#>\nAssembly Product:       <#=DataDiscoveryProduct#>\nAssembly Copyright:     <#=AssemblyCopyright#>\nAssembly Trademark:     <#=ProductTrademark#>\nAssembly Version:       <#=DataDiscoveryVersion#><#=DataDiscoveryPrerelease#>\nAssembly Date:          <#=m_Date#>\n\nThe main changes and new functionalities are listed below:\n\n1.\n\n____________________________________________________________________________________________\nFor assistance, contact:\n\nMariusz Postol\nCAS\nmailto://mpostol@cas.eu\n\nCopyright (C) <#=m_Year#>, commsvr.com LODZ POLAND\n\nmailto://commserver@cas.eu\nhttp://www.commsvr.com/\n\n<#@ include file = \"Readme.old\" #>\n<#@ include file = \"..\\..\\CommonResources\\T4Definitions\\Model.t4\" #>\n<#+\nstring m_AssemblyTitle = \"UAOOI.DataDiscovery.DiscoveryServices\";\nstring m_Date = System.DateTime.Today.ToShortDateString();\nstring m_Year = System.DateTime.Today.Year.ToString();\n#>\n"
  },
  {
    "path": "DataDiscovery/DiscoveryServices/ReadMe.txt",
    "content": "﻿\nThe documentation is available on line at: TBD\n\nCurrent release:\n\nAssembly Title:         UAOOI.DataDiscovery.DiscoveryServices\nAssembly Description:   OOI Global Data Discovery.\nAssembly Company:       commsvr.com\nAssembly Product:       OOI Global Data Discovery\nAssembly Copyright:     Copyright MPostol (c) 2018\nAssembly Trademark:     Object Oriented Internet\nAssembly Version:       1.0.0-Alpha\nAssembly Date:          2018-04-08\n\nThe main changes and new functionalities are listed below:\n\n1.\n\n____________________________________________________________________________________________\nFor assistance, contact:\n\nMariusz Postol\nCAS\nmailto://mpostol@cas.eu\n\nCopyright (C) 2018, commsvr.com LODZ POLAND\n\nmailto://commserver@cas.eu\nhttp://www.commsvr.com/\n\nVersion History:\n\n\n\n\n\n\n\n"
  },
  {
    "path": "DataDiscovery/DiscoveryServices/Readme.md",
    "content": "# Global Data Discovery Services\n\nLibrary supporting global data discovery services.\n"
  },
  {
    "path": "DataDiscovery/DomainModel.md",
    "content": "# Domain Model of the Global Data Discovery\n\n## Main goals\n\n* To promote systems integration against data type definitions.\n* To promote separation of concerns.\n\n## Roles and Activities\n\nThe following diagram presents domain model of the **Data Discovery** concept.\n\n![Design Time Activities](../CommonResources/Media/DataDiscovery.DomainModel.png)\n\nOn the diagram the following artifacts are distinguished:\n\n* *Generic Process* - *Control Agency* (e.g. Pollution Control Agency) prepares a *Generic Process* information model to meet monitoring requirements.\n* *Asset* - *Asset Vendor* (e.g. boilers vendor) adapts the *Generic Process* model and creates derived *Asset* model to meet the product requirements with the purpose of continuous development and real time control.\n* *Maintenance* - *Engineering* organization (e.g. boiler maintenance service provider) according to the local needs adopts the *Asset* OPC UA information model to meet maintenance requirements on behalf of the *Asset User* (e.g. Heat and Power Plant).\n* *Data Domain* - *Asset User* is ultimate owner of the data. *Engineering* on behalf of the user prepares the **Data Domain** OPC UA Information Model that could be uniquely identified in the global scope.\n\nFinally the presented scenario the subscriber configurations of the *Cloud IIoT Hub*, *Asset Vendor*, and *Engineering* are based on the prepared in advance **Data Domain** model to gather selected data.\n\nUsing the real time data the Pollution *Control Agency* are working to:\n\n* reduce greenhouse gas emissions\n* reduce harmful effects from air pollution and noise\n* reduce the spread of substances harmful to health and environment\n\n*Engineering* provides asset management and predictive maintenance services. This services involves the balancing of costs, opportunities and risks against the desired performance of assets to achieve the organizational objectives. All of these activities requires real time data access to achieve finally predictive maintenance.\n\n*Asset Vendor* deploys the asset (thing) and uses the data for continuous improvement process.\n\n*Cloud IIoT Hub* provides cloud computing services and processes the data to meet requirements of the *Control Agency*\n\n*Asset User* as the owner of the asset (thing) publishes the data to make them available to all of the stakeholders.\n\n> To achieve separation of concerns systems integration against type definition is required.\n"
  },
  {
    "path": "DataDiscovery/ProjectDescription.md",
    "content": "# DataDiscovery Project Description\n\nDescription is covered by the section of the ebook:\n\n* [Global Data Discovery](https://commsvr.gitbook.io/ooi/global-data-discovery/datadiscovery)\n\nThe **Data Discovery** procedure may be applied to the following scenarios:\n\n* **Design time data discovery** - all about using data definition \\(OPC UA Information Model - semantics\\) to configure data bindings and data distribution over the wire.\n* **Startup process** - all about bootstrapping process of the `OOI Reactive Application`.\n* **Operational time** - all about dynamic data definitions and security stuff management \\(certificates, keys\\)\n\n## Goal\n\nAll tasks required to release the `DataDiscovery` package meeting above described requirements.\n\n## Work-space\n\nThe `DataDiscovery` branch contains all related modifications, i.e. different features or ideas in progress at any given time – some of which are ready to go, and others which are not. It is an environment where new ideas are tried out. The branch won't be merged with `master` until it's ready to be reviewed by someone you're collaborating with. To merge the following conditions must be met:\n\n* the code is error-free\n* all unit tests have to pass\n* the documentation is ready to be exposed in the ebook\n* all integration tests have to pass\n\nIf harmonization with other branches is required PR modification to the  `DataDiscovery` branch.\n"
  },
  {
    "path": "DataDiscovery/README.MD",
    "content": "# Global Data Discovery\n\n## Concept\n\nIn this approach, the URI of the OPC UA **Information Model** is to be used as a unique key to browse the _Global Data Discovery System_ \\(GDDS – an expanded version of GDS\\) to find recursively the destination _OPC UA Server_ or _UA Data Application_ exposing the requested data.\n\nThe main assumptions of the concept are covered in the document:  \n[Discoverable Data](../SemanticData/README.MD#discoverable-data)\n\nThe URI syntax is described in the document: [Uniform Resource Identifier \\(URI\\): Generic Syntax](http://tools.ietf.org/html/rfc3986).\n\nThe **Data Discovery** procedure may be applied to the following scenarios:\n\n* **Design time data discovery** - all about using data definition \\(OPC UA Information Model - semantics\\) to configure data bindings and data distribution over the wire.\n* **Startup process** - all about bootstrapping process of the `OOI Reactive Application`.\n* **Operational time** - all about dynamic data definitions and security stuff management \\(certificates, keys\\)\n\nDesign time data discovery process is illustrated in the activity diagram:\n\n* ![Design Time Activities](../CommonResources/Media/DataDiscovery.Design Time Activities.png)\n\nThe startup process of an `OOI Reactive Application` is illustrated in the activity diagram:\n\n* ![StartupActivityDiagram](../CommonResources/Media/DataDiscovery.StartupActivityDiagram.png)\n\nThe proposed concept is scalable and could be used in local and global scope depending on the available resources. A domain model describing a scenario where this approach is applicable is covered in the document [Domain Model of the Global Data Discovery](./DomainModel.md).\n\n## Data semantics\n\nIn the discovery process the semantics of the data is layered as follows:\n\n1. Value encoding \\(serialization\\), e.g. double, Int32, Boolean,\n2. Value meaning, e.g. pressure, temperature, flow, etc.\n3. Values relation, e.g. boiler object type containing relation between drum, input pipe and flow neater.\n4. Process – data source, e.g. set of boilers: `Boiler #1`, `Boiler #i`, ...., `Boiler #N` located at…..\n\nSemantics of the data is expressed using types. Process data is available as the Variables described by types.\n\n> Conclusion  \n> The discovery process must address:\n>\n> * the data types - to get meaning and design data management and processing\n> * the data values - to get current process state and control it\n\n## URI resolver\n\n```txt\n        foo://example.com:8042/over/there?name=ferret#nose\n         \\_/  \\______________/ \\________/ \\_________/ \\__/\n          |           |            |            |       |\n       scheme     authority       path        query  fragment\n```\n\nIt is assumed that the **Data Domain** description is provided by the discovery services resolved from the **OPC UA Information Model** URI.\n\nThe main challenge is where the recursive resolution process shall start. It seems we have the following options:\n\n1. Direct - the URI is URL of the XML/Json files containing all definitions required to configure application.\n2. Authority part of the model URI is a DNS entry (see also: [rfc1034: DOMAIN NAMES - CONCEPTS AND FACILITIES; November 1987](https://tools.ietf.org/html/rfc1034) in the information model URI zone – on promise services.  \n3. A selected root HTTP services, e.g. in the opcfoundation.com domain.\n\n## Solution\n\nThe discovery procedure is based on the following records:\n\n* `DomainModel`: contains information about data available in the selected **Data Domain**.\n* `DomainDescriptor`: contains information about how to find and download `DomainModel`.\n\nThe recovery and resolving procedure is based on the Restful \\(Representational State Transfer\\) Web API style with the goal that the system can evolve over a long period of time and can tolerate many different clients and many different changes without breaking those clients.\n\n## Content\n\n* `DataDiscovery` - Library supporting global data discovery services.\n* `Tests` - test projects.\n"
  },
  {
    "path": "DataDiscovery/Tests/DiscoveryServices.UnitTest/DataDiscovery.DiscoveryServices.UnitTest.csproj",
    "content": "﻿<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<Project ToolsVersion=\"14.0\" DefaultTargets=\"Build\" xmlns=\"http://schemas.microsoft.com/developer/msbuild/2003\">\n  <PropertyGroup>\n    <Configuration Condition=\" '$(Configuration)' == '' \">Debug</Configuration>\n    <Platform Condition=\" '$(Platform)' == '' \">AnyCPU</Platform>\n    <ProjectGuid>{591B6DB0-0D22-4E58-AA29-4EB10C0EAFFE}</ProjectGuid>\n    <OutputType>Library</OutputType>\n    <AppDesignerFolder>Properties</AppDesignerFolder>\n    <RootNamespace>UAOOI.DataDiscovery.DiscoveryServices.UnitTest</RootNamespace>\n    <AssemblyName>UAOOI.DataDiscovery.DiscoveryServices.UnitTest</AssemblyName>\n    <TargetFrameworkVersion>v4.7.2</TargetFrameworkVersion>\n    <FileAlignment>512</FileAlignment>\n    <ProjectTypeGuids>{3AC096D0-A1C2-E12C-1390-A8335801FDAB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>\n    <VisualStudioVersion Condition=\"'$(VisualStudioVersion)' == ''\">10.0</VisualStudioVersion>\n    <VSToolsPath Condition=\"'$(VSToolsPath)' == ''\">$(MSBuildExtensionsPath32)\\Microsoft\\VisualStudio\\v$(VisualStudioVersion)</VSToolsPath>\n    <ReferencePath>$(ProgramFiles)\\Common Files\\microsoft shared\\VSTT\\$(VisualStudioVersion)\\UITestExtensionPackages</ReferencePath>\n    <IsCodedUITest>False</IsCodedUITest>\n    <TestProjectType>UnitTest</TestProjectType>\n    <TargetFrameworkProfile />\n  </PropertyGroup>\n  <PropertyGroup Condition=\" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' \">\n    <DebugSymbols>true</DebugSymbols>\n    <DebugType>full</DebugType>\n    <Optimize>false</Optimize>\n    <OutputPath>bin\\Debug\\</OutputPath>\n    <DefineConstants>DEBUG;TRACE</DefineConstants>\n    <ErrorReport>prompt</ErrorReport>\n    <WarningLevel>4</WarningLevel>\n    <NoWarn>IDE0001, IDE0002, IDE0003</NoWarn>\n  </PropertyGroup>\n  <PropertyGroup Condition=\" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' \">\n    <DebugType>pdbonly</DebugType>\n    <Optimize>true</Optimize>\n    <OutputPath>bin\\Release\\</OutputPath>\n    <DefineConstants>TRACE</DefineConstants>\n    <ErrorReport>prompt</ErrorReport>\n    <WarningLevel>4</WarningLevel>\n  </PropertyGroup>\n  <PropertyGroup>\n    <SignAssembly>true</SignAssembly>\n  </PropertyGroup>\n  <PropertyGroup>\n    <AssemblyOriginatorKeyFile>OPCUAOOIKey.snk</AssemblyOriginatorKeyFile>\n  </PropertyGroup>\n  <ItemGroup>\n    <Reference Include=\"System\" />\n    <Reference Include=\"System.Xml\" />\n  </ItemGroup>\n  <Choose>\n    <When Condition=\"('$(VisualStudioVersion)' == '10.0' or '$(VisualStudioVersion)' == '') and '$(TargetFrameworkVersion)' == 'v3.5'\">\n      <ItemGroup>\n        <Reference Include=\"Microsoft.VisualStudio.QualityTools.UnitTestFramework, Version=10.1.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL\" />\n      </ItemGroup>\n    </When>\n    <Otherwise>\n      <ItemGroup>\n        <Reference Include=\"Microsoft.VisualStudio.QualityTools.UnitTestFramework\">\n          <Private>False</Private>\n        </Reference>\n      </ItemGroup>\n    </Otherwise>\n  </Choose>\n  <ItemGroup>\n    <None Include=\"OPCUAOOIKey.snk\" />\n  </ItemGroup>\n  <ItemGroup>\n    <Content Include=\"Properties\\AssemblyInfo.tt\">\n      <Generator>TextTemplatingFileGenerator</Generator>\n      <LastGenOutput>AssemblyInfo.cs</LastGenOutput>\n    </Content>\n    <None Include=\"TestData\\DomainDescriptor.xml\">\n      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>\n    </None>\n    <None Include=\"TestData\\root.zone\\commsvr.com\\DomainDescriptor.xml\">\n      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>\n      <SubType>Designer</SubType>\n    </None>\n    <None Include=\"TestData\\root.zone\\commsvr.com\\UA\\Examples\\BoilersSet\\DomainDescriptor.xml\">\n      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>\n    </None>\n    <None Include=\"TestData\\root.zone\\commsvr.com\\UA\\Examples\\BoilersSet\\DomainModel.xml\">\n      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>\n    </None>\n    <None Include=\"TestData\\root.zone\\commsvr.com\\UA\\Examples\\BoilersSet\\Commsvr.UA.Examples.BoilersSet.NodeSet2.xml\">\n      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>\n    </None>\n    <Content Include=\"TestData\\root.zone\\DomainDescriptor.xml\">\n      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>\n    </Content>\n    <None Include=\"TestData\\DomainModel.xml\">\n      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>\n    </None>\n  </ItemGroup>\n  <ItemGroup>\n    <Service Include=\"{508349B6-6B84-4DF5-91F0-309BEEBAD82D}\" />\n  </ItemGroup>\n  <ItemGroup>\n    <Compile Include=\"DataDiscoveryServicesUnitTest.cs\" />\n    <Compile Include=\"DomainModelUnitTest.cs\" />\n    <Compile Include=\"Properties\\AssemblyInfo.cs\">\n      <AutoGen>True</AutoGen>\n      <DesignTime>True</DesignTime>\n      <DependentUpon>AssemblyInfo.tt</DependentUpon>\n    </Compile>\n    <Compile Include=\"TestData\\commsvr.com.UA.Examples.BoilersSet.DomainModel.cs\" />\n    <Compile Include=\"TestData\\DomainDescriptorFactory.cs\" />\n    <Compile Include=\"DomainDescriptorUnitTest.cs\" />\n  </ItemGroup>\n  <ItemGroup>\n    <ProjectReference Include=\"..\\..\\DiscoveryServices\\DataDiscovery.DiscoveryServices.csproj\">\n      <Project>{dd1a7ec2-ff25-4d35-9d0a-5bb626e61d17}</Project>\n      <Name>DataDiscovery.DiscoveryServices</Name>\n    </ProjectReference>\n  </ItemGroup>\n  <Choose>\n    <When Condition=\"'$(VisualStudioVersion)' == '10.0' And '$(IsCodedUITest)' == 'True'\">\n      <ItemGroup>\n        <Reference Include=\"Microsoft.VisualStudio.QualityTools.CodedUITestFramework, Version=10.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL\">\n          <Private>False</Private>\n        </Reference>\n        <Reference Include=\"Microsoft.VisualStudio.TestTools.UITest.Common, Version=10.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL\">\n          <Private>False</Private>\n        </Reference>\n        <Reference Include=\"Microsoft.VisualStudio.TestTools.UITest.Extension, Version=10.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL\">\n          <Private>False</Private>\n        </Reference>\n        <Reference Include=\"Microsoft.VisualStudio.TestTools.UITesting, Version=10.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL\">\n          <Private>False</Private>\n        </Reference>\n      </ItemGroup>\n    </When>\n  </Choose>\n  <Import Project=\"$(VSToolsPath)\\TeamTest\\Microsoft.TestTools.targets\" Condition=\"Exists('$(VSToolsPath)\\TeamTest\\Microsoft.TestTools.targets')\" />\n  <Import Project=\"$(MSBuildToolsPath)\\Microsoft.CSharp.targets\" />\n  <!-- To modify your build process, add your task inside one of the targets below and uncomment it. \n       Other similar extension points exist, see Microsoft.Common.targets.\n  <Target Name=\"BeforeBuild\">\n  </Target>\n  <Target Name=\"AfterBuild\">\n  </Target>\n  -->\n</Project>"
  },
  {
    "path": "DataDiscovery/Tests/DiscoveryServices.UnitTest/DataDiscoveryServicesUnitTest.cs",
    "content": "﻿//__________________________________________________________________________________________________\n//\n//  Copyright (C) 2021, Mariusz Postol LODZ POLAND.\n//\n//  To be in touch join the community at GitHub: https://github.com/mpostol/OPC-UA-OOI/discussions\n//__________________________________________________________________________________________________\n\nusing Microsoft.VisualStudio.TestTools.UnitTesting;\nusing System;\nusing System.Diagnostics;\nusing System.Threading.Tasks;\nusing UAOOI.DataDiscovery.DiscoveryServices.Models;\nusing UAOOI.DataDiscovery.DiscoveryServices.UnitTest.TestData;\n\nnamespace UAOOI.DataDiscovery.DiscoveryServices.UnitTest\n{\n  [TestClass]\n  public class DataDiscoveryServicesUnitTest\n  {\n    [TestMethod]\n    public void RGetHTTPResponseAsyncTestMethod()\n    {\n      int _messages = 0;\n      using (LocalDataDiscoveryServices _service = new LocalDataDiscoveryServices())\n      {\n        _service.AreEqualsDomainDescriptors\n          (\n            DomainDescriptorFactory.GetRootDomainDescriptor(),\n            new Uri(@\"https://raw.githubusercontent.com/mpostol/OPC-UA-OOI/master/DataDiscovery/Tests/DiscoveryServices.UnitTest/TestData/root.zone/DomainDescriptor.xml\"),\n            (x, y, z) => { _messages++; DebugLog(x, y, z); }\n          );\n        _service.AreEqualsDomainDescriptors\n          (\n            DomainDescriptorFactory.Iteration1DomainDescriptor(),\n            new Uri(@\"https://raw.githubusercontent.com/mpostol/OPC-UA-OOI/master/DataDiscovery/Tests/DiscoveryServices.UnitTest/TestData/root.zone/commsvr.com/DomainDescriptor.xml\"),\n            (x, y, z) => { _messages++; DebugLog(x, y, z); }\n          );\n        _service.AreEqualsDomainDescriptors\n          (\n            DomainDescriptorFactory.Iteration2DomainDescriptor(),\n            new Uri(@\"https://raw.githubusercontent.com/mpostol/OPC-UA-OOI/master/DataDiscovery/Tests/DiscoveryServices.UnitTest/TestData/root.zone/commsvr.com/UA/Examples/BoilersSet/DomainDescriptor.xml\"),\n            (x, y, z) => { _messages++; DebugLog(x, y, z); }\n          );\n        Assert.AreEqual<int>(3, _messages);\n      }\n    }\n\n    [TestMethod]\n    [ExpectedException(typeof(System.AggregateException))]\n    public void GetHTTPResponseAsyncRetryCountErrorTestMethod()\n    {\n      using (LocalDataDiscoveryServices _service = new LocalDataDiscoveryServices())\n      {\n        DomainDescriptor _tc = null;\n        _service.GetHTTPResponse<DomainDescriptor>(new Uri(\"http://localhost/alfa.bravo.xml\"), DebugLog, x => _tc = x);\n      }\n    }\n\n    [TestMethod]\n    public void ResolveDomainModelAsyncTestMethod()\n    {\n      using (LocalDataDiscoveryServices _service = new LocalDataDiscoveryServices())\n      {\n        Task<DomainModel> _DomainModelTask = _service.ResolveDomainModelAsync(m_ModelUri, m_RootUrl, DebugLog);\n        _DomainModelTask.Wait(TimeSpan.FromSeconds(10));\n        DomainModel _model = _DomainModelTask.Result;\n        Assert.IsNotNull(_model);\n      }\n    }\n\n    //tests instrumentation\n    private readonly Uri m_RootUrl = new Uri(@\"https://raw.githubusercontent.com/mpostol/OPC-UA-OOI/master/DataDiscovery/Tests/DiscoveryServices.UnitTest/TestData/root.zone/DomainDescriptor.xml\");\n\n    private readonly Uri m_ModelUri = new Uri(@\"http://commsvr.com/UA/Examples/BoilersSet\");\n\n    private static void DebugLog(string message, TraceEventType eventType, Priority priority)\n    {\n      Debug.WriteLine($\"ResolveDomainModelAsync log: message: {message}, level: {eventType}, priority: {priority}\");\n    }\n\n    private class LocalDataDiscoveryServices : DataDiscoveryServices\n    {\n      internal void AreEqualsDomainDescriptors(DomainDescriptor _rootDomainDescriptor, Uri address, Action<string, TraceEventType, Priority> debugLog)\n      {\n        DomainDescriptor _tc = null;\n        GetHTTPResponse<DomainDescriptor>(address, DebugLog, x => _tc = x);\n        Assert.IsNotNull(_tc);\n        Assert.AreEqual<string>(_rootDomainDescriptor.Description, _tc.Description);\n        Assert.AreEqual<RecordType>(_rootDomainDescriptor.NextStepRecordType, _tc.NextStepRecordType);\n        Assert.AreEqual<String>(_rootDomainDescriptor.UrlPattern, _tc.UrlPattern);\n        debugLog($\"Finished {nameof(AreEqualsDomainDescriptors)} successfully\", TraceEventType.Verbose, Priority.None);\n      }\n    }\n  }\n}"
  },
  {
    "path": "DataDiscovery/Tests/DiscoveryServices.UnitTest/DomainDescriptorUnitTest.cs",
    "content": "﻿//__________________________________________________________________________________________________\n//\n//  Copyright (C) 2021, Mariusz Postol LODZ POLAND.\n//\n//  To be in touch join the community at GitHub: https://github.com/mpostol/OPC-UA-OOI/discussions\n//__________________________________________________________________________________________________\n\nusing Microsoft.VisualStudio.TestTools.UnitTesting;\nusing System;\nusing System.IO;\nusing System.Xml.Serialization;\nusing UAOOI.DataDiscovery.DiscoveryServices.Models;\nusing UAOOI.DataDiscovery.DiscoveryServices.UnitTest.TestData;\n\nnamespace UAOOI.DataDiscovery.DiscoveryServices.UnitTest\n{\n  [TestClass]\n  public class DomainDescriptorUnitTest\n  {\n    [TestMethod]\n    public void GetRootDomainDescriptorTest()\n    {\n      DomainDescriptor rootDomainDescriptor = DomainDescriptorFactory.GetRootDomainDescriptor();\n      Uri _resolution = rootDomainDescriptor.ResolveUri(m_ModelUri);\n      string expectedFirsRoundUrl = \"https://raw.githubusercontent.com/mpostol/OPC-UA-OOI/master/DataDiscovery/Tests/DiscoveryServices.UnitTest/TestData/root.zone/commsvr.com/DomainDescriptor.xml\";\n      Assert.AreEqual<string>(expectedFirsRoundUrl, _resolution.ToString());\n      string _fn = \"RootDomainDescriptor.xml\";\n      FileInfo file = new FileInfo($@\"TestData\\{_fn}\");\n      using (Stream outputStream = file.Create())\n      {\n        XmlSerializer _serializer = new XmlSerializer(typeof(DomainDescriptor));\n        _serializer.Serialize(outputStream, rootDomainDescriptor);\n      }\n      file.Refresh();\n      Assert.IsTrue(file.Exists);\n      Assert.IsTrue(file.Length > 0);\n      DomainDescriptor domainDescriptor;\n      using (Stream descriptionStream = file.OpenRead())\n      {\n        XmlSerializer serializer = new XmlSerializer(typeof(DomainDescriptor));\n        domainDescriptor = (DomainDescriptor)serializer.Deserialize(descriptionStream);\n        Assert.IsNotNull(domainDescriptor);\n      }\n      Assert.IsTrue(domainDescriptor.Description.Contains(\"Starting point\"));\n      Assert.AreEqual<RecordType>(RecordType.DomainDescriptor, domainDescriptor.NextStepRecordType);\n      Assert.AreEqual<string>(@\"https://raw.githubusercontent.com/mpostol/OPC-UA-OOI/master/DataDiscovery/Tests/DiscoveryServices.UnitTest/TestData/root.zone/#authority#/DomainDescriptor.xml\", domainDescriptor.UrlPattern);\n      _resolution = domainDescriptor.ResolveUri(m_ModelUri);\n      Assert.AreEqual<string>(expectedFirsRoundUrl, _resolution.ToString());\n    }\n\n    [TestMethod]\n    [DeploymentItem(@\"TestData\\\", @\"TestData\\\")]\n    public void RootZoneDomainDescriptorTest()\n    {\n      DomainDescriptor _referenceDomainDescriptor = DomainDescriptorFactory.GetRootDomainDescriptor();\n      AreEqualsDomainDescriptors(_referenceDomainDescriptor, @\"root.zone\\DomainDescriptor.xml\");\n\n      _referenceDomainDescriptor = DomainDescriptorFactory.Iteration1DomainDescriptor();\n      AreEqualsDomainDescriptors(_referenceDomainDescriptor, @\"root.zone\\commsvr.com\\DomainDescriptor.xml\");\n\n      _referenceDomainDescriptor = DomainDescriptorFactory.Iteration2DomainDescriptor();\n      AreEqualsDomainDescriptors(_referenceDomainDescriptor, @\"root.zone\\commsvr.com\\UA\\Examples\\BoilersSet\\DomainDescriptor.xml\");\n    }\n\n    [TestMethod]\n    [DeploymentItem(@\"TestData\\\", @\"TestData\\\")]\n    public void DomainDescriptorAutogeneratedFileTest()\n    {\n      FileInfo _fi = new FileInfo(@\"TestData\\DomainDescriptor.xml\");\n      Assert.IsTrue(_fi.Exists);\n      DomainDescriptor newDescription = null;\n      using (Stream _descriptionStream = _fi.OpenRead())\n      {\n        XmlSerializer _serializer = new XmlSerializer(typeof(DomainDescriptor));\n        newDescription = (DomainDescriptor)_serializer.Deserialize(_descriptionStream);\n      }\n      Assert.IsNotNull(newDescription);\n      Assert.IsFalse(string.IsNullOrEmpty(newDescription.Description));\n      Assert.IsFalse(string.IsNullOrEmpty(newDescription.UrlPattern));\n    }\n\n    //instrumentation\n    private readonly Uri m_ModelUri = new Uri(@\"http://commsvr.com/UA/Examples/BoilersSet\");\n\n    private static void AreEqualsDomainDescriptors(DomainDescriptor _rootDomainDescriptor, string fileName)\n    {\n      FileInfo file = new FileInfo($@\"TestData\\{fileName}\");\n      Assert.IsTrue(file.Exists);\n      DomainDescriptor domainDescriptor;\n      using (Stream _descriptionStream = file.OpenRead())\n      {\n        XmlSerializer _serializer = new XmlSerializer(typeof(DomainDescriptor));\n        domainDescriptor = (DomainDescriptor)_serializer.Deserialize(_descriptionStream);\n      }\n      Assert.IsNotNull(domainDescriptor);\n      Assert.AreEqual<string>(_rootDomainDescriptor.Description, domainDescriptor.Description);\n      Assert.AreEqual<RecordType>(_rootDomainDescriptor.NextStepRecordType, domainDescriptor.NextStepRecordType);\n      Assert.AreEqual<String>(_rootDomainDescriptor.UrlPattern, domainDescriptor.UrlPattern);\n    }\n  }\n}"
  },
  {
    "path": "DataDiscovery/Tests/DiscoveryServices.UnitTest/DomainModelUnitTest.cs",
    "content": "﻿//__________________________________________________________________________________________________\n//\n//  Copyright (C) 2021, Mariusz Postol LODZ POLAND.\n//\n//  To be in touch join the community at GitHub: https://github.com/mpostol/OPC-UA-OOI/discussions\n//__________________________________________________________________________________________________\n\nusing Microsoft.VisualStudio.TestTools.UnitTesting;\nusing System.Collections.Generic;\nusing System.IO;\nusing System.Linq;\nusing System.Xml.Serialization;\nusing UAOOI.DataDiscovery.DiscoveryServices.Models;\nusing UAOOI.DataDiscovery.DiscoveryServices.UnitTest.TestData;\n\nnamespace UAOOI.DataDiscovery.DiscoveryServices.UnitTest\n{\n  [TestClass]\n  public class DomainModelUnitTest\n  {\n    [TestMethod]\n    [DeploymentItem(@\"TestData\\\", @\"TestData\\\")]\n    public void DeserializeAutoGeneratedXmlTest()\n    {\n      FileInfo file = new FileInfo(@\"TestData\\DomainModel.xml\");\n      Assert.IsTrue(file.Exists);\n      DomainModel newDescription = null;\n      using (Stream _descriptionStream = file.OpenRead())\n      {\n        XmlSerializer _serializer = new XmlSerializer(typeof(DomainModel));\n        newDescription = (DomainModel)_serializer.Deserialize(_descriptionStream);\n      }\n      Assert.IsNotNull(newDescription);\n      Assert.IsFalse(string.IsNullOrEmpty(newDescription.AliasName));\n      Assert.IsFalse(string.IsNullOrEmpty(newDescription.Description));\n      Assert.IsFalse(string.IsNullOrEmpty(newDescription.DomainModelGuidString));\n      Assert.IsFalse(string.IsNullOrEmpty(newDescription.DomainModelUriString));\n      Assert.IsFalse(string.IsNullOrEmpty(newDescription.UniversalAddressSpaceLocator));\n      Assert.IsFalse(string.IsNullOrEmpty(newDescription.UniversalAuthorizationServerLocator));\n      Assert.IsTrue(string.IsNullOrEmpty(newDescription.UniversalDiscoveryServiceLocator));\n    }\n\n    [TestMethod]\n    public void TypeDictionariesTestMethod()\n    {\n      DomainModel domainModel = ReferenceDomainModel.GerReferenceDomainModel();\n      Assert.IsNotNull(domainModel.TypeDictionaries);\n      Dictionary<string, TypeDictionaryWitKey> _dictionary = (from x in domainModel.TypeDictionaries\n                                                              from y in x.StructuredType\n                                                              select new TypeDictionaryWitKey { Key = $\"{x.TargetNamespace}:{y.Name}\", Dictionary = y }).ToDictionary<TypeDictionaryWitKey, string>(z => z.Key);\n      Assert.AreEqual<int>(2, _dictionary.Count);\n    }\n\n    [TestMethod]\n    public void SerializeTestMethod()\n    {\n      string fileName = \"ReferenceDomainModel.xml\";\n      DomainModel _dm = ReferenceDomainModel.GerReferenceDomainModel();\n      FileInfo file = new FileInfo($@\"TestData\\{fileName}\");\n      using (Stream _outputStream = file.Create())\n      {\n        XmlSerializer _serializer = new XmlSerializer(typeof(DomainModel));\n        _serializer.Serialize(_outputStream, _dm);\n      }\n      Assert.IsTrue(file.Exists);\n      Assert.IsTrue(file.Length > 0);\n      using (Stream _descriptionStream = file.OpenRead())\n      {\n        XmlSerializer _serializer = new XmlSerializer(typeof(DomainModel));\n        DomainModel newDescription = (DomainModel)_serializer.Deserialize(_descriptionStream);\n        Assert.IsNotNull(newDescription);\n      }\n    }\n\n    [TestMethod]\n    public void TestDataFolderContentTestMethod()\n    {\n      FileInfo _fi = new FileInfo(@\"TestData\\root.zone\\commsvr.com\\UA\\Examples\\BoilersSet\\DomainModel.xml\");\n      Assert.IsTrue(_fi.Exists);\n      _fi = new FileInfo(@\"TestData\\root.zone\\commsvr.com\\UA\\Examples\\BoilersSet\\DomainDescriptor.xml\");\n      Assert.IsTrue(_fi.Exists);\n      _fi = new FileInfo(@\"TestData\\root.zone\\commsvr.com\\UA\\Examples\\BoilersSet\\Commsvr.UA.Examples.BoilersSet.NodeSet2.xml\");\n      Assert.IsTrue(_fi.Exists);\n    }\n\n    private class TypeDictionaryWitKey\n    {\n      public string Key;\n      public StructuredType Dictionary;\n    }\n  }\n}"
  },
  {
    "path": "DataDiscovery/Tests/DiscoveryServices.UnitTest/Properties/AssemblyInfo.cs",
    "content": "﻿//__________________________________________________________________________________________________\n//\n//  Copyright (C) 2021, Mariusz Postol LODZ POLAND.\n//\n//  To be in touch join the community at GitHub: https://github.com/mpostol/OPC-UA-OOI/discussions\n//__________________________________________________________________________________________________\n\nusing System.Reflection;\nusing System.Runtime.CompilerServices;\nusing System.Runtime.InteropServices;\n\n[assembly: AssemblyTitle(\"UAOOI.DataDiscovery.DiscoveryServices.UnitTest\")]\n[assembly: AssemblyDescription(\"UnitTests for library supporting global data discovery services\")]\n[assembly: AssemblyConfiguration(\"\")]\n[assembly: AssemblyCompany(\"Mariusz Postol\")]\n[assembly: AssemblyProduct(\"Object Oriented Internet\")]\n[assembly: AssemblyCopyright(\"Copyright (C) 2022 Mariusz Postol LODZ POLAND\")]\n[assembly: AssemblyTrademark(\"Object Oriented Internet\")]\n[assembly: AssemblyCulture(\"\")]\n[assembly: ComVisible(false)]\n[assembly: AssemblyVersion(\"4.0.3.*\")]\n[assembly: AssemblyFileVersion(\"4.0.3\")]\n[assembly: InternalsVisibleTo(\n  \"UAOOI.DataDiscovery.DiscoveryServices.UnitTest, PublicKey=\" +\n    \"00240000048000009400000006020000002400005253413100040000010001005b97a0972ff6b13a\" +\n    \"8a9ff9c09503aea0e5e2fe29cb2275a0c0942182f4c3431814b6bc9a556d9fe0d7e7823439c1ba28\" +\n    \"521f6318e4c936c4461604ef668e9686c2021571b093e1bfba071b373bc56a07a3afdc120c5313d3\" +\n    \"9a935cda64b759f857ebb3db483641444a5347e1564f8ba6d4fad2f968d3caf9991a4fa6aa019ebe\"\n)]\n"
  },
  {
    "path": "DataDiscovery/Tests/DiscoveryServices.UnitTest/Properties/AssemblyInfo.tt",
    "content": "﻿<#@ template debug=\"false\" hostspecific=\"false\" language=\"C#\" #>\n<#@ output extension=\".cs\" #>\n//__________________________________________________________________________________________________\n//\n//  Copyright (C) 2021, Mariusz Postol LODZ POLAND.\n//\n//  To be in touch join the community at GitHub: https://github.com/mpostol/OPC-UA-OOI/discussions\n//__________________________________________________________________________________________________\n\nusing System.Reflection;\nusing System.Runtime.CompilerServices;\nusing System.Runtime.InteropServices;\n\n[assembly: AssemblyTitle(\"<#=m_AssemblyTitle#>\")]\n[assembly: AssemblyDescription(\"UnitTests for library supporting global data discovery services\")]\n[assembly: AssemblyConfiguration(\"\")]\n[assembly: AssemblyCompany(\"<#=AssemblyCompany#>\")]\n[assembly: AssemblyProduct(\"<#=DataDiscoveryProduct#>\")]\n[assembly: AssemblyCopyright(\"<#=AssemblyCopyright#>\")]\n[assembly: AssemblyTrademark(\"<#=ProductTrademark#>\")]\n[assembly: AssemblyCulture(\"\")]\n[assembly: ComVisible(false)]\n[assembly: AssemblyVersion(\"<#= DataDiscoveryVersion #>.*\")]\n[assembly: AssemblyFileVersion(\"<#= DataDiscoveryVersion #>\")]\n[assembly: InternalsVisibleTo(\n  \"UAOOI.DataDiscovery.DiscoveryServices.UnitTest, PublicKey=\" +\n    \"00240000048000009400000006020000002400005253413100040000010001005b97a0972ff6b13a\" +\n    \"8a9ff9c09503aea0e5e2fe29cb2275a0c0942182f4c3431814b6bc9a556d9fe0d7e7823439c1ba28\" +\n    \"521f6318e4c936c4461604ef668e9686c2021571b093e1bfba071b373bc56a07a3afdc120c5313d3\" +\n    \"9a935cda64b759f857ebb3db483641444a5347e1564f8ba6d4fad2f968d3caf9991a4fa6aa019ebe\"\n)]\n<#@ include file = \"..\\..\\..\\..\\CommonResources\\T4Definitions\\Model.t4\" #>\n<#+\nstring m_AssemblyTitle = \"UAOOI.DataDiscovery.DiscoveryServices.UnitTest\";\n#>\n"
  },
  {
    "path": "DataDiscovery/Tests/DiscoveryServices.UnitTest/TestData/DomainDescriptor.xml",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<DomainDescriptor xmlns=\"http://commsvr.com/UAOOI/DataDiscovery/DiscoveryServices/Models/DomainDescriptor.xsd\">\n  <Description>Description1</Description>\n  <UrlPattern>UrlPattern1</UrlPattern>\n  <NextStepRecordType>DomainModel</NextStepRecordType>\n</DomainDescriptor>"
  },
  {
    "path": "DataDiscovery/Tests/DiscoveryServices.UnitTest/TestData/DomainDescriptorFactory.cs",
    "content": "﻿//__________________________________________________________________________________________________\n//\n//  Copyright (C) 2021, Mariusz Postol LODZ POLAND.\n//\n//  To be in touch join the community at GitHub: https://github.com/mpostol/OPC-UA-OOI/discussions\n//__________________________________________________________________________________________________\n\nusing UAOOI.DataDiscovery.DiscoveryServices.Models;\n\nnamespace UAOOI.DataDiscovery.DiscoveryServices.UnitTest.TestData\n{\n  internal static class DomainDescriptorFactory\n  {\n    internal static DomainDescriptor GetRootDomainDescriptor()\n    {\n      return new DomainDescriptor()\n      {\n        Description = \"Starting point for discovery process with the purpose of resolving Uri and get DomainDescriptor record\",\n        NextStepRecordType = RecordType.DomainDescriptor,\n        UrlPattern = \"https://raw.githubusercontent.com/mpostol/OPC-UA-OOI/master/DataDiscovery/Tests/DiscoveryServices.UnitTest/TestData/root.zone/#authority#/DomainDescriptor.xml\"\n      };\n    }\n\n    internal static DomainDescriptor Iteration1DomainDescriptor()\n    {\n      return new DomainDescriptor()\n      {\n        Description = \"Iteration #1 DomainDescriptor record - root entry for commsvr.com.\",\n        NextStepRecordType = RecordType.DomainDescriptor,\n        UrlPattern = \"https://raw.githubusercontent.com/mpostol/OPC-UA-OOI/master/DataDiscovery/Tests/DiscoveryServices.UnitTest/TestData/root.zone/#authority#/#path#/DomainDescriptor.xml\"\n      };\n    }\n\n    internal static DomainDescriptor Iteration2DomainDescriptor()\n    {\n      return new DomainDescriptor()\n      {\n        Description = \"Iteration #2 DomainDescriptor record - Boiler test domain model.\",\n        NextStepRecordType = RecordType.DomainModel,\n        UrlPattern = \"https://raw.githubusercontent.com/mpostol/OPC-UA-OOI/master/DataDiscovery/Tests/DiscoveryServices.UnitTest/TestData/root.zone/#authority#/#path#/DomainModel.xml\"\n      };\n    }\n  }\n}"
  },
  {
    "path": "DataDiscovery/Tests/DiscoveryServices.UnitTest/TestData/DomainModel.xml",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<DomainModel xmlns=\"http://http://commsvr.com/UAOOI/DataDiscovery/DiscoveryServices/Models/DomainModel.xsd\">\n  <AliasName>AliasName1</AliasName>\n  <DomainModelUriString>DomainModelUriString1</DomainModelUriString>\n  <DomainModelGuidString>DomainModelGuidString1</DomainModelGuidString>\n  <Description>Description1</Description>\n  <SemanticsDataCollection>\n    <SemanticsDataIndex>\n      <SymbolicName>SymbolicName1</SymbolicName>\n      <Index>0</Index>\n      <DataSet>\n        <FieldMetaData>\n          <ExtensionData />\n          <SymbolicName>SymbolicName1</SymbolicName>\n          <ProcessValueName>ProcessValueName1</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>Null</BuiltInType>\n            <ValueRank>1</ValueRank>\n            <ArrayDimensions>\n              <int>1</int>\n              <int>-2147483647</int>\n              <int>2147483647</int>\n            </ArrayDimensions>\n            <TypeName>qname1</TypeName>\n          </TypeInformation>\n        </FieldMetaData>\n        <FieldMetaData>\n          <ExtensionData />\n          <SymbolicName>SymbolicName2</SymbolicName>\n          <ProcessValueName>ProcessValueName2</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>Boolean</BuiltInType>\n            <ValueRank>-2147483647</ValueRank>\n            <ArrayDimensions>\n              <int>0</int>\n              <int>2</int>\n              <int>-2147483646</int>\n            </ArrayDimensions>\n            <TypeName>qname2</TypeName>\n          </TypeInformation>\n        </FieldMetaData>\n        <FieldMetaData>\n          <ExtensionData />\n          <SymbolicName>SymbolicName3</SymbolicName>\n          <ProcessValueName>ProcessValueName3</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>SByte</BuiltInType>\n            <ValueRank>2147483647</ValueRank>\n            <ArrayDimensions>\n              <int>2147483646</int>\n              <int>-1</int>\n              <int>3</int>\n            </ArrayDimensions>\n            <TypeName>qname3</TypeName>\n          </TypeInformation>\n        </FieldMetaData>\n      </DataSet>\n    </SemanticsDataIndex>\n    <SemanticsDataIndex>\n      <SymbolicName>SymbolicName2</SymbolicName>\n      <Index>65535</Index>\n      <DataSet>\n        <FieldMetaData>\n          <ExtensionData />\n          <SymbolicName>SymbolicName4</SymbolicName>\n          <ProcessValueName>ProcessValueName4</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>Byte</BuiltInType>\n            <ValueRank>0</ValueRank>\n            <ArrayDimensions>\n              <int>-2147483645</int>\n              <int>2147483645</int>\n              <int>-2</int>\n            </ArrayDimensions>\n            <TypeName>qname4</TypeName>\n          </TypeInformation>\n        </FieldMetaData>\n        <FieldMetaData>\n          <ExtensionData />\n          <SymbolicName>SymbolicName5</SymbolicName>\n          <ProcessValueName>ProcessValueName5</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>Int16</BuiltInType>\n            <ValueRank>2</ValueRank>\n            <ArrayDimensions>\n              <int>4</int>\n              <int>-2147483644</int>\n              <int>2147483644</int>\n            </ArrayDimensions>\n            <TypeName>qname5</TypeName>\n          </TypeInformation>\n        </FieldMetaData>\n        <FieldMetaData>\n          <ExtensionData />\n          <SymbolicName>SymbolicName6</SymbolicName>\n          <ProcessValueName>ProcessValueName6</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>UInt16</BuiltInType>\n            <ValueRank>-2147483646</ValueRank>\n            <ArrayDimensions>\n              <int>-3</int>\n              <int>5</int>\n              <int>-2147483643</int>\n            </ArrayDimensions>\n            <TypeName>qname6</TypeName>\n          </TypeInformation>\n        </FieldMetaData>\n      </DataSet>\n    </SemanticsDataIndex>\n    <SemanticsDataIndex>\n      <SymbolicName>SymbolicName3</SymbolicName>\n      <Index>1</Index>\n      <DataSet>\n        <FieldMetaData>\n          <ExtensionData />\n          <SymbolicName>SymbolicName7</SymbolicName>\n          <ProcessValueName>ProcessValueName7</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>Int32</BuiltInType>\n            <ValueRank>2147483646</ValueRank>\n            <ArrayDimensions>\n              <int>2147483643</int>\n              <int>-4</int>\n              <int>6</int>\n            </ArrayDimensions>\n            <TypeName>qname7</TypeName>\n          </TypeInformation>\n        </FieldMetaData>\n        <FieldMetaData>\n          <ExtensionData />\n          <SymbolicName>SymbolicName8</SymbolicName>\n          <ProcessValueName>ProcessValueName8</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>UInt32</BuiltInType>\n            <ValueRank>-1</ValueRank>\n            <ArrayDimensions>\n              <int>-2147483642</int>\n              <int>2147483642</int>\n              <int>-5</int>\n            </ArrayDimensions>\n            <TypeName>qname8</TypeName>\n          </TypeInformation>\n        </FieldMetaData>\n        <FieldMetaData>\n          <ExtensionData />\n          <SymbolicName>SymbolicName9</SymbolicName>\n          <ProcessValueName>ProcessValueName9</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>Int64</BuiltInType>\n            <ValueRank>3</ValueRank>\n            <ArrayDimensions>\n              <int>7</int>\n              <int>-2147483641</int>\n              <int>2147483641</int>\n            </ArrayDimensions>\n            <TypeName>qname9</TypeName>\n          </TypeInformation>\n        </FieldMetaData>\n      </DataSet>\n    </SemanticsDataIndex>\n  </SemanticsDataCollection>\n  <UniversalAddressSpaceLocator>UniversalAddressSpaceLocator1</UniversalAddressSpaceLocator>\n  <UniversalAuthorizationServerLocator>UniversalAuthorizationServerLocator1</UniversalAuthorizationServerLocator>\n  <TypeDictionaries>\n    <TypeDictionary TargetNamespace=\"TargetNamespace1\">\n      <StructuredType Name=\"NcName1\">\n        <Field Name=\"Name1\" TypeName=\"qname1\" SwitchField=\"SwitchField1\" SwitchValue=\"0\" SwitchOperand=\"Equals\" />\n        <Field Name=\"Name2\" TypeName=\"qname2\" SwitchField=\"SwitchField2\" SwitchValue=\"4294967295\" SwitchOperand=\"GreaterThan\" />\n        <Field Name=\"Name3\" TypeName=\"qname3\" SwitchField=\"SwitchField3\" SwitchValue=\"1\" SwitchOperand=\"LessThan\" />\n        <StructureKind>Structure</StructureKind>\n      </StructuredType>\n      <StructuredType Name=\"NcName2\">\n        <Field Name=\"Name4\" TypeName=\"qname4\" SwitchField=\"SwitchField4\" SwitchValue=\"4294967294\" SwitchOperand=\"GreaterThanOrEqual\" />\n        <Field Name=\"Name5\" TypeName=\"qname5\" SwitchField=\"SwitchField5\" SwitchValue=\"2\" SwitchOperand=\"LessThanOrEqual\" />\n        <Field Name=\"Name6\" TypeName=\"qname6\" SwitchField=\"SwitchField6\" SwitchValue=\"4294967293\" SwitchOperand=\"NotEqual\" />\n        <StructureKind>StructureWithOptionalFields</StructureKind>\n      </StructuredType>\n      <StructuredType Name=\"NcName3\">\n        <Field Name=\"Name7\" TypeName=\"qname7\" SwitchField=\"SwitchField7\" SwitchValue=\"3\" SwitchOperand=\"Equals\" />\n        <Field Name=\"Name8\" TypeName=\"qname8\" SwitchField=\"SwitchField8\" SwitchValue=\"4294967292\" SwitchOperand=\"GreaterThan\" />\n        <Field Name=\"Name9\" TypeName=\"qname9\" SwitchField=\"SwitchField9\" SwitchValue=\"4\" SwitchOperand=\"LessThan\" />\n        <StructureKind>Union</StructureKind>\n      </StructuredType>\n    </TypeDictionary>\n    <TypeDictionary TargetNamespace=\"TargetNamespace2\">\n      <StructuredType Name=\"NcName4\">\n        <Field Name=\"Name10\" TypeName=\"qname10\" SwitchField=\"SwitchField10\" SwitchValue=\"4294967291\" SwitchOperand=\"GreaterThanOrEqual\" />\n        <Field Name=\"Name11\" TypeName=\"qname11\" SwitchField=\"SwitchField11\" SwitchValue=\"5\" SwitchOperand=\"LessThanOrEqual\" />\n        <Field Name=\"Name12\" TypeName=\"qname12\" SwitchField=\"SwitchField12\" SwitchValue=\"4294967290\" SwitchOperand=\"NotEqual\" />\n        <StructureKind>Structure</StructureKind>\n      </StructuredType>\n      <StructuredType Name=\"NcName5\">\n        <Field Name=\"Name13\" TypeName=\"qname13\" SwitchField=\"SwitchField13\" SwitchValue=\"6\" SwitchOperand=\"Equals\" />\n        <Field Name=\"Name14\" TypeName=\"qname14\" SwitchField=\"SwitchField14\" SwitchValue=\"4294967289\" SwitchOperand=\"GreaterThan\" />\n        <Field Name=\"Name15\" TypeName=\"qname15\" SwitchField=\"SwitchField15\" SwitchValue=\"7\" SwitchOperand=\"LessThan\" />\n        <StructureKind>StructureWithOptionalFields</StructureKind>\n      </StructuredType>\n      <StructuredType Name=\"NcName6\">\n        <Field Name=\"Name16\" TypeName=\"qname16\" SwitchField=\"SwitchField16\" SwitchValue=\"4294967288\" SwitchOperand=\"GreaterThanOrEqual\" />\n        <Field Name=\"Name17\" TypeName=\"qname17\" SwitchField=\"SwitchField17\" SwitchValue=\"8\" SwitchOperand=\"LessThanOrEqual\" />\n        <Field Name=\"Name18\" TypeName=\"qname18\" SwitchField=\"SwitchField18\" SwitchValue=\"4294967287\" SwitchOperand=\"NotEqual\" />\n        <StructureKind>Union</StructureKind>\n      </StructuredType>\n    </TypeDictionary>\n    <TypeDictionary TargetNamespace=\"TargetNamespace3\">\n      <StructuredType Name=\"NcName7\">\n        <Field Name=\"Name19\" TypeName=\"qname19\" SwitchField=\"SwitchField19\" SwitchValue=\"9\" SwitchOperand=\"Equals\" />\n        <Field Name=\"Name20\" TypeName=\"qname20\" SwitchField=\"SwitchField20\" SwitchValue=\"4294967286\" SwitchOperand=\"GreaterThan\" />\n        <Field Name=\"Name21\" TypeName=\"qname21\" SwitchField=\"SwitchField21\" SwitchValue=\"10\" SwitchOperand=\"LessThan\" />\n        <StructureKind>Structure</StructureKind>\n      </StructuredType>\n      <StructuredType Name=\"NcName8\">\n        <Field Name=\"Name22\" TypeName=\"qname22\" SwitchField=\"SwitchField22\" SwitchValue=\"4294967285\" SwitchOperand=\"GreaterThanOrEqual\" />\n        <Field Name=\"Name23\" TypeName=\"qname23\" SwitchField=\"SwitchField23\" SwitchValue=\"11\" SwitchOperand=\"LessThanOrEqual\" />\n        <Field Name=\"Name24\" TypeName=\"qname24\" SwitchField=\"SwitchField24\" SwitchValue=\"4294967284\" SwitchOperand=\"NotEqual\" />\n        <StructureKind>StructureWithOptionalFields</StructureKind>\n      </StructuredType>\n      <StructuredType Name=\"NcName9\">\n        <Field Name=\"Name25\" TypeName=\"qname25\" SwitchField=\"SwitchField25\" SwitchValue=\"12\" SwitchOperand=\"Equals\" />\n        <Field Name=\"Name26\" TypeName=\"qname26\" SwitchField=\"SwitchField26\" SwitchValue=\"4294967283\" SwitchOperand=\"GreaterThan\" />\n        <Field Name=\"Name27\" TypeName=\"qname27\" SwitchField=\"SwitchField27\" SwitchValue=\"13\" SwitchOperand=\"LessThan\" />\n        <StructureKind>Union</StructureKind>\n      </StructuredType>\n    </TypeDictionary>\n  </TypeDictionaries>\n</DomainModel>"
  },
  {
    "path": "DataDiscovery/Tests/DiscoveryServices.UnitTest/TestData/commsvr.com.UA.Examples.BoilersSet.DomainModel.cs",
    "content": "﻿\nusing System;\nusing System.Xml;\nusing UAOOI.DataDiscovery.DiscoveryServices.Models;\n\nnamespace UAOOI.DataDiscovery.DiscoveryServices.UnitTest.TestData\n{\n  public static class ReferenceDomainModel\n  {\n    internal static DomainModel GerReferenceDomainModel()\n    {\n      return new DomainModel()\n      {\n        AliasName = \"BoilersArea\",\n        Description = \"Domain model for the BoilersArea\",\n        DomainModelGuid = new Guid(\"81976533-C604-4AEA-A2F9-F27687FF1A17\"),\n        DomainModelUri = new Uri(@\"http://commsvr.com/UA/Examples/BoilersSet\"),\n        SemanticsDataCollection = NewSemanticsDataCollection(),\n        TypeDictionaries = NewTypeDictionaries(),\n        UniversalAddressSpaceLocator = @\"http://localhost/opc/Commsvr.UA.Examples.BoilersSet.NodeSet2.xml\",\n        UniversalAuthorizationServerLocator = @\"http://localhost/opc/Commsvr.UA.Examples.BoilersSet.OTPTable.xml\",\n        UniversalDiscoveryServiceLocator = @\"http://localhost/opc/Commsvr.UA.Examples.BoilersSet.DiscoveryServiceLocator.xml\",\n      };\n    }\n    private static TypeDictionary[] NewTypeDictionaries()\n    {\n      return new TypeDictionary[]\n      {\n        new TypeDictionary() { TargetNamespace = @\"http://opcfoundation.org/UA/\",\n                               StructuredType = new StructuredType[]\n                                  {\n                                    CreateStructuredType(\"Range\", RangeFields),\n                                    CreateStructuredType(\"EUInformation\", EUInformationFields)\n                                  }\n                              }\n      };\n    }\n    private static StructuredTypeField[] EUInformationFields()\n    {\n      return new StructuredTypeField[]\n      {\n        new StructuredTypeField() { Name = \"NamespaceUri\", TypeName = new XmlQualifiedName(\"NamespaceUri\", \"http://opcfoundation.org/UA/\"),  SwitchOperandSpecified = false, SwitchValueSpecified = false  },\n        new StructuredTypeField() { Name = \"UnitId\", TypeName = new XmlQualifiedName(\"Int32\", \"http://opcfoundation.org/UA/\"),  SwitchOperandSpecified = false, SwitchValueSpecified = false  },\n        new StructuredTypeField() { Name = \"DisplayName\", TypeName = new XmlQualifiedName(\"LocalizedText\", \"http://opcfoundation.org/UA/\"),  SwitchOperandSpecified = false, SwitchValueSpecified = false  },\n        new StructuredTypeField() { Name = \"Description\", TypeName = new XmlQualifiedName(\"LocalizedText\", \"http://opcfoundation.org/UA/\"),  SwitchOperandSpecified = false, SwitchValueSpecified = false  }\n      };\n    }\n    private static StructuredType CreateStructuredType(string name, Func<StructuredTypeField[]> createFields)\n    {\n      return new StructuredType() { StructureKind = StructureKindEnum.Structure, Name = name, Field = createFields() };\n    }\n    private static StructuredTypeField[] RangeFields()\n    {\n      return new StructuredTypeField[]\n      {\n        new StructuredTypeField() { Name = \"Low\", TypeName = new XmlQualifiedName(\"Double\", \"http://opcfoundation.org/UA/\"),  SwitchOperandSpecified = false, SwitchValueSpecified = false  },\n        new StructuredTypeField() { Name = \"High\", TypeName = new XmlQualifiedName(\"Double\", \"http://opcfoundation.org/UA/\"),  SwitchOperandSpecified = false, SwitchValueSpecified = false  }\n      };\n    }\n    private static SemanticsDataIndex[] NewSemanticsDataCollection()\n    {\n      return new SemanticsDataIndex[] { NewBoilerAlpha() };\n    }\n    private static SemanticsDataIndex NewBoilerAlpha()\n    {\n      return new SemanticsDataIndex()\n      {\n        DataSet = NewBoilerAlphaDataSet(),\n        Index = 0,\n        SymbolicName = \"BoilersArea_BoilerAlpha\",\n      };\n    }\n    private static FieldMetaData[] NewBoilerAlphaDataSet()\n    {\n      return new FieldMetaData[]\n        {\n          new FieldMetaData { SymbolicName = \"BoilersArea_BoilerAlpha_InputPipe_FlowTransmitter1_Output\", TypeInformation = new UATypeInfo(  ) { BuiltInType = BuiltInType.Double, ValueRank= -1   } },\n          new FieldMetaData { SymbolicName = \"BoilersArea_BoilerAlpha_InputPipe_FlowTransmitter1_Output_Definition\", TypeInformation = new UATypeInfo(  ) { BuiltInType = BuiltInType.String, ValueRank= -1   } },\n          new FieldMetaData { SymbolicName = \"BoilersArea_BoilerAlpha_InputPipe_FlowTransmitter1_Output_ValuePrecision\", TypeInformation = new UATypeInfo(  ) { BuiltInType = BuiltInType.Double, ValueRank= -1   } },\n          new FieldMetaData { SymbolicName = \"BoilersArea_BoilerAlpha_InputPipe_FlowTransmitter1_Output_InstrumentRange\", TypeInformation = new UATypeInfo(  ) { BuiltInType = BuiltInType.ExtensionObject, ValueRank= -1 , TypeName = new System.Xml.XmlQualifiedName( \"Range\", @\"http://opcfoundation.org/UA/\")} },\n          new FieldMetaData { SymbolicName = \"BoilersArea_BoilerAlpha_InputPipe_FlowTransmitter1_Output_EURange\", TypeInformation = new UATypeInfo(  ) { BuiltInType = BuiltInType.ExtensionObject, ValueRank= -1 , TypeName = new System.Xml.XmlQualifiedName( \"Range\", @\"http://opcfoundation.org/UA/\")   } },\n          new FieldMetaData { SymbolicName = \"BoilersArea_BoilerAlpha_InputPipe_FlowTransmitter1_Output_EngineeringUnits\", TypeInformation = new UATypeInfo(  ) { BuiltInType = BuiltInType.ExtensionObject, ValueRank= -1 , TypeName = new System.Xml.XmlQualifiedName( \"EUInformation\", @\"http://opcfoundation.org/UA/\")  } },\n\n          new FieldMetaData { SymbolicName = \"BoilersArea_BoilerAlpha_InputPipe_Valve_Input\", TypeInformation = new UATypeInfo(  ) { BuiltInType = BuiltInType.Double, ValueRank= -1   } },\n          new FieldMetaData { SymbolicName = \"BoilersArea_BoilerAlpha_InputPipe_Valve_Input_Definition\", TypeInformation = new UATypeInfo(  ) { BuiltInType = BuiltInType.String, ValueRank= -1   } },\n          new FieldMetaData { SymbolicName = \"BoilersArea_BoilerAlpha_InputPipe_Valve_Input_ValuePrecision\", TypeInformation = new UATypeInfo(  ) { BuiltInType = BuiltInType.Double, ValueRank= -1   } },\n          new FieldMetaData { SymbolicName = \"BoilersArea_BoilerAlpha_InputPipe_Valve_Input_InstrumentRange\", TypeInformation = new UATypeInfo(  ) { BuiltInType = BuiltInType.ExtensionObject, ValueRank= -1 , TypeName = new System.Xml.XmlQualifiedName( \"Range\", @\"http://opcfoundation.org/UA/\")} },\n          new FieldMetaData { SymbolicName = \"BoilersArea_BoilerAlpha_InputPipe_Valve_Input_EURange\", TypeInformation = new UATypeInfo(  ) { BuiltInType = BuiltInType.ExtensionObject, ValueRank= -1 , TypeName = new System.Xml.XmlQualifiedName( \"Range\", @\"http://opcfoundation.org/UA/\")   } },\n          new FieldMetaData { SymbolicName = \"BoilersArea_BoilerAlpha_InputPipe_Valve_Input_EngineeringUnits\", TypeInformation = new UATypeInfo(  ) { BuiltInType = BuiltInType.ExtensionObject, ValueRank= -1 , TypeName = new System.Xml.XmlQualifiedName( \"EUInformation\", @\"http://opcfoundation.org/UA/\")  } },\n\n          new FieldMetaData { SymbolicName = \"BoilersArea_BoilerAlpha_Drum_LevelIndicator_Output\", TypeInformation = new UATypeInfo(  ) { BuiltInType = BuiltInType.Double, ValueRank= -1   } },\n          new FieldMetaData { SymbolicName = \"BoilersArea_BoilerAlpha_Drum_LevelIndicator_Output_Definition\", TypeInformation = new UATypeInfo(  ) { BuiltInType = BuiltInType.String, ValueRank= -1   } },\n          new FieldMetaData { SymbolicName = \"BoilersArea_BoilerAlpha_Drum_LevelIndicator_Output_ValuePrecision\", TypeInformation = new UATypeInfo(  ) { BuiltInType = BuiltInType.Double, ValueRank= -1   } },\n          new FieldMetaData { SymbolicName = \"BoilersArea_BoilerAlpha_Drum_LevelIndicator_Output_InstrumentRange\", TypeInformation = new UATypeInfo(  ) { BuiltInType = BuiltInType.ExtensionObject, ValueRank= -1 , TypeName = new System.Xml.XmlQualifiedName( \"Range\", @\"http://opcfoundation.org/UA/\")} },\n          new FieldMetaData { SymbolicName = \"BoilersArea_BoilerAlpha_Drum_LevelIndicator_Output_EURange\", TypeInformation = new UATypeInfo(  ) { BuiltInType = BuiltInType.ExtensionObject, ValueRank= -1 , TypeName = new System.Xml.XmlQualifiedName( \"Range\", @\"http://opcfoundation.org/UA/\")   } },\n          new FieldMetaData { SymbolicName = \"BoilersArea_BoilerAlpha_Drum_LevelIndicator_Output_EngineeringUnits\", TypeInformation = new UATypeInfo(  ) { BuiltInType = BuiltInType.ExtensionObject, ValueRank= -1 , TypeName = new System.Xml.XmlQualifiedName( \"EUInformation\", @\"http://opcfoundation.org/UA/\")  } },\n\n          new FieldMetaData { SymbolicName = \"BoilersArea_BoilerAlpha_OutputPipe_FlowTransmitter2_Output\", TypeInformation = new UATypeInfo(  ) { BuiltInType = BuiltInType.Double, ValueRank= -1   } },\n          new FieldMetaData { SymbolicName = \"BoilersArea_BoilerAlpha_OutputPipe_FlowTransmitter2_Output_Definition\", TypeInformation = new UATypeInfo(  ) { BuiltInType = BuiltInType.String, ValueRank= -1   } },\n          new FieldMetaData { SymbolicName = \"BoilersArea_BoilerAlpha_OutputPipe_FlowTransmitter2_Output_ValuePrecision\", TypeInformation = new UATypeInfo(  ) { BuiltInType = BuiltInType.Double, ValueRank= -1   } },\n          new FieldMetaData { SymbolicName = \"BoilersArea_BoilerAlpha_OutputPipe_FlowTransmitter2_Output_InstrumentRange\", TypeInformation = new UATypeInfo(  ) { BuiltInType = BuiltInType.ExtensionObject, ValueRank= -1 , TypeName = new System.Xml.XmlQualifiedName( \"Range\", @\"http://opcfoundation.org/UA/\")} },\n          new FieldMetaData { SymbolicName = \"BoilersArea_BoilerAlpha_OutputPipe_FlowTransmitter2_Output_EURange\", TypeInformation = new UATypeInfo(  ) { BuiltInType = BuiltInType.ExtensionObject, ValueRank= -1 , TypeName = new System.Xml.XmlQualifiedName( \"Range\", @\"http://opcfoundation.org/UA/\")   } },\n          new FieldMetaData { SymbolicName = \"BoilersArea_BoilerAlpha_OutputPipe_FlowTransmitter2_Output_EngineeringUnits\", TypeInformation = new UATypeInfo(  ) { BuiltInType = BuiltInType.ExtensionObject, ValueRank= -1 , TypeName = new System.Xml.XmlQualifiedName( \"EUInformation\", @\"http://opcfoundation.org/UA/\")  } },\n\n          new FieldMetaData { SymbolicName = \"BoilersArea_BoilerAlpha_FlowController_Measurement\", TypeInformation = new UATypeInfo(  ) { BuiltInType = BuiltInType.Double, ValueRank= -1   } },\n          new FieldMetaData { SymbolicName = \"BoilersArea_BoilerAlpha_FlowController_SetPoint\", TypeInformation = new UATypeInfo(  ) { BuiltInType = BuiltInType.Double, ValueRank= -1   } },\n          new FieldMetaData { SymbolicName = \"BoilersArea_BoilerAlpha_FlowController_ControlOut\", TypeInformation = new UATypeInfo(  ) { BuiltInType = BuiltInType.Double, ValueRank= -1   } },\n\n          new FieldMetaData { SymbolicName = \"BoilersArea_BoilerAlpha_LevelController_Measurement\", TypeInformation = new UATypeInfo(  ) { BuiltInType = BuiltInType.Double, ValueRank= -1   } },\n          new FieldMetaData { SymbolicName = \"BoilersArea_BoilerAlpha_LevelController_SetPoint\", TypeInformation = new UATypeInfo(  ) { BuiltInType = BuiltInType.Double, ValueRank= -1   } },\n          new FieldMetaData { SymbolicName = \"BoilersArea_BoilerAlpha_LevelController_ControlOut\", TypeInformation = new UATypeInfo(  ) { BuiltInType = BuiltInType.Double, ValueRank= -1   } },\n\n          new FieldMetaData { SymbolicName = \"BoilersArea_BoilerAlpha_CustomController_Input1\", TypeInformation = new UATypeInfo(  ) { BuiltInType = BuiltInType.Double, ValueRank= -1   } },\n          new FieldMetaData { SymbolicName = \"BoilersArea_BoilerAlpha_CustomController_Input2\", TypeInformation = new UATypeInfo(  ) { BuiltInType = BuiltInType.Double, ValueRank= -1   } },\n          new FieldMetaData { SymbolicName = \"BoilersArea_BoilerAlpha_CustomController_Input3\", TypeInformation = new UATypeInfo(  ) { BuiltInType = BuiltInType.Double, ValueRank= -1   } },\n          new FieldMetaData { SymbolicName = \"BoilersArea_BoilerAlpha_CustomController_ControlOut\", TypeInformation = new UATypeInfo(  ) { BuiltInType = BuiltInType.Double, ValueRank= -1   } },\n          new FieldMetaData { SymbolicName = \"BoilersArea_BoilerAlpha_CustomController_DescriptionX\", TypeInformation = new UATypeInfo(  ) { BuiltInType = BuiltInType.LocalizedText, ValueRank= -1   } },\n\n          new FieldMetaData { SymbolicName = \"BoilersArea_BoilerAlpha_CustomController_Input1\", TypeInformation = new UATypeInfo(  ) { BuiltInType = BuiltInType.Double, ValueRank= -1   } },\n\n          new FieldMetaData { SymbolicName = \"BoilersArea_BoilerAlpha_Simulation_CurrentState\", TypeInformation = new UATypeInfo(  ) { BuiltInType = BuiltInType.LocalizedText, ValueRank= -1   } },\n          new FieldMetaData { SymbolicName = \"BoilersArea_BoilerAlpha_Simulation_CurrentState_Id\", TypeInformation = new UATypeInfo(  ) { BuiltInType = BuiltInType.NodeId, ValueRank= -1   } },\n          new FieldMetaData { SymbolicName = \"BoilersArea_BoilerAlpha_Simulation_CurrentState_Name\", TypeInformation = new UATypeInfo(  ) { BuiltInType = BuiltInType.LocalizedText, ValueRank= -1   } },\n          new FieldMetaData { SymbolicName = \"BoilersArea_BoilerAlpha_Simulation_CurrentState_Number\", TypeInformation = new UATypeInfo(  ) { BuiltInType = BuiltInType.UInt32, ValueRank= -1   } },\n          new FieldMetaData { SymbolicName = \"BoilersArea_BoilerAlpha_Simulation_CurrentState_EffectiveDisplayName\", TypeInformation = new UATypeInfo(  ) { BuiltInType = BuiltInType.Double, ValueRank= -1   } },\n          new FieldMetaData { SymbolicName = \"BoilersArea_BoilerAlpha_Simulation_LastTransition\", TypeInformation = new UATypeInfo(  ) { BuiltInType = BuiltInType.LocalizedText, ValueRank= -1   } },\n          new FieldMetaData { SymbolicName = \"BoilersArea_BoilerAlpha_Simulation_LastTransition_Id\", TypeInformation = new UATypeInfo(  ) { BuiltInType = BuiltInType.NodeId, ValueRank= -1   } },\n          new FieldMetaData { SymbolicName = \"BoilersArea_BoilerAlpha_Simulation_LastTransition_Name\", TypeInformation = new UATypeInfo(  ) { BuiltInType = BuiltInType.LocalizedText, ValueRank= -1   } },\n          new FieldMetaData { SymbolicName = \"BoilersArea_BoilerAlpha_Simulation_LastTransition_Number\", TypeInformation = new UATypeInfo(  ) { BuiltInType = BuiltInType.UInt32, ValueRank= -1   } },\n          new FieldMetaData { SymbolicName = \"BoilersArea_BoilerAlpha_Simulation_LastTransition_TransitionTime\", TypeInformation = new UATypeInfo(  ) { BuiltInType = BuiltInType.DateTime, ValueRank= -1   } },\n          new FieldMetaData { SymbolicName = \"BoilersArea_BoilerAlpha_Simulation_LastTransition_EffectiveTransitionTime\", TypeInformation = new UATypeInfo(  ) { BuiltInType = BuiltInType.DateTime, ValueRank= -1   } },\n          new FieldMetaData { SymbolicName = \"BoilersArea_BoilerAlpha_Simulation_Deletable\", TypeInformation = new UATypeInfo(  ) { BuiltInType = BuiltInType.Boolean, ValueRank= -1   } },\n          new FieldMetaData { SymbolicName = \"BoilersArea_BoilerAlpha_Simulation_AutoDelete\", TypeInformation = new UATypeInfo(  ) { BuiltInType = BuiltInType.Boolean, ValueRank= -1   } },\n          new FieldMetaData { SymbolicName = \"BoilersArea_BoilerAlpha_Simulation_RecycleCount\", TypeInformation = new UATypeInfo(  ) { BuiltInType = BuiltInType.UInt32, ValueRank= -1   } },\n          new FieldMetaData { SymbolicName = \"BoilersArea_BoilerAlpha_Simulation_ProgramDiagnostics\", TypeInformation = new UATypeInfo(  ) { BuiltInType = BuiltInType.Double, ValueRank= -1   } },\n          new FieldMetaData { SymbolicName = \"BoilersArea_BoilerAlpha_Simulation_ProgramDiagnostics_CreateSessionId\", TypeInformation = new UATypeInfo(  ) { BuiltInType = BuiltInType.Double, ValueRank= -1   } },\n          new FieldMetaData { SymbolicName = \"BoilersArea_BoilerAlpha_Simulation_ProgramDiagnostics_CreateClientName\", TypeInformation = new UATypeInfo(  ) { BuiltInType = BuiltInType.Double, ValueRank= -1   } },\n          new FieldMetaData { SymbolicName = \"BoilersArea_BoilerAlpha_Simulation_ProgramDiagnostics_InvocationCreationTime\", TypeInformation = new UATypeInfo(  ) { BuiltInType = BuiltInType.Double, ValueRank= -1   } },\n          new FieldMetaData { SymbolicName = \"BoilersArea_BoilerAlpha_Simulation_ProgramDiagnostics_InvocationCreationTime\", TypeInformation = new UATypeInfo(  ) { BuiltInType = BuiltInType.Double, ValueRank= -1   } },\n          new FieldMetaData { SymbolicName = \"BoilersArea_BoilerAlpha_Simulation_ProgramDiagnostics_LastTransitionTime\", TypeInformation = new UATypeInfo(  ) { BuiltInType = BuiltInType.Double, ValueRank= -1   } },\n          new FieldMetaData { SymbolicName = \"BoilersArea_BoilerAlpha_Simulation_ProgramDiagnostics_InvocationCreationTime\", TypeInformation = new UATypeInfo(  ) { BuiltInType = BuiltInType.Double, ValueRank= -1   } },\n          new FieldMetaData { SymbolicName = \"BoilersArea_BoilerAlpha_Simulation_ProgramDiagnostics_LastMethodCall\", TypeInformation = new UATypeInfo(  ) { BuiltInType = BuiltInType.Double, ValueRank= -1   } },\n          new FieldMetaData { SymbolicName = \"BoilersArea_BoilerAlpha_Simulation_ProgramDiagnostics_LastMethodSessionId\", TypeInformation = new UATypeInfo(  ) { BuiltInType = BuiltInType.Double, ValueRank= -1   } },\n          new FieldMetaData { SymbolicName = \"BoilersArea_BoilerAlpha_Simulation_ProgramDiagnostics_LastMethodInputArguments\", TypeInformation = new UATypeInfo(  ) { BuiltInType = BuiltInType.Double, ValueRank= -1   } },\n          new FieldMetaData { SymbolicName = \"BoilersArea_BoilerAlpha_Simulation_ProgramDiagnostics_LastMethodOutputArguments\", TypeInformation = new UATypeInfo(  ) { BuiltInType = BuiltInType.Double, ValueRank= -1   } },\n          new FieldMetaData { SymbolicName = \"BoilersArea_BoilerAlpha_Simulation_ProgramDiagnostics_LastMethodCallTime\", TypeInformation = new UATypeInfo(  ) { BuiltInType = BuiltInType.Double, ValueRank= -1   } },\n          new FieldMetaData { SymbolicName = \"BoilersArea_BoilerAlpha_Simulation_ProgramDiagnostics_LastMethodReturnStatus\", TypeInformation = new UATypeInfo(  ) { BuiltInType = BuiltInType.Double, ValueRank= -1   } },\n          new FieldMetaData { SymbolicName = \"BoilersArea_BoilerAlpha_Simulation_FinalResultData\", TypeInformation = new UATypeInfo(  ) { BuiltInType = BuiltInType.Double, ValueRank= -1   } },\n          new FieldMetaData { SymbolicName = \"BoilersArea_BoilerAlpha_Simulation_UpdateRate\", TypeInformation = new UATypeInfo(  ) { BuiltInType = BuiltInType.Int32, ValueRank= -1   } },\n        };\n    }\n  }\n}\n"
  },
  {
    "path": "DataDiscovery/Tests/DiscoveryServices.UnitTest/TestData/root.zone/DomainDescriptor.xml",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<DomainDescriptor xmlns=\"http://commsvr.com/UAOOI/DataDiscovery/DiscoveryServices/Models/DomainDescriptor.xsd\">\n  <Description>Starting point for discovery process with the purpose of resolving Uri and get DomainDescriptor record</Description>\n  <UrlPattern>https://raw.githubusercontent.com/mpostol/OPC-UA-OOI/master/DataDiscovery/Tests/DiscoveryServices.UnitTest/TestData/root.zone/#authority#/DomainDescriptor.xml</UrlPattern>\n  <NextStepRecordType>DomainDescriptor</NextStepRecordType>\n</DomainDescriptor>"
  },
  {
    "path": "DataDiscovery/Tests/DiscoveryServices.UnitTest/TestData/root.zone/commsvr.com/DomainDescriptor.xml",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<DomainDescriptor xmlns=\"http://commsvr.com/UAOOI/DataDiscovery/DiscoveryServices/Models/DomainDescriptor.xsd\">\n  <Description>Iteration #1 DomainDescriptor record - root entry for commsvr.com.</Description>\n  <UrlPattern>https://raw.githubusercontent.com/mpostol/OPC-UA-OOI/master/DataDiscovery/Tests/DiscoveryServices.UnitTest/TestData/root.zone/#authority#/#path#/DomainDescriptor.xml</UrlPattern>\n  <NextStepRecordType>DomainDescriptor</NextStepRecordType>\n</DomainDescriptor>"
  },
  {
    "path": "DataDiscovery/Tests/DiscoveryServices.UnitTest/TestData/root.zone/commsvr.com/UA/Examples/BoilersSet/Commsvr.UA.Examples.BoilersSet.NodeSet2.xml",
    "content": "﻿<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<UANodeSet xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\" LastModified=\"2016-07-02T09:52:51.2839578Z\" xmlns=\"http://opcfoundation.org/UA/2011/03/UANodeSet.xsd\">\n  <NamespaceUris>\n    <Uri>http://commsvr.com/UA/Examples/BoilersSet</Uri>\n    <Uri>http://tempuri.org/UA/Examples/BoilerType</Uri>\n  </NamespaceUris>\n  <Aliases>\n    <Alias Alias=\"Boolean\">i=1</Alias>\n    <Alias Alias=\"SByte\">i=2</Alias>\n    <Alias Alias=\"Byte\">i=3</Alias>\n    <Alias Alias=\"Int16\">i=4</Alias>\n    <Alias Alias=\"UInt16\">i=5</Alias>\n    <Alias Alias=\"Int32\">i=6</Alias>\n    <Alias Alias=\"UInt32\">i=7</Alias>\n    <Alias Alias=\"Int64\">i=8</Alias>\n    <Alias Alias=\"UInt64\">i=9</Alias>\n    <Alias Alias=\"Float\">i=10</Alias>\n    <Alias Alias=\"Double\">i=11</Alias>\n    <Alias Alias=\"DateTime\">i=13</Alias>\n    <Alias Alias=\"String\">i=12</Alias>\n    <Alias Alias=\"ByteString\">i=15</Alias>\n    <Alias Alias=\"Guid\">i=14</Alias>\n    <Alias Alias=\"XmlElement\">i=16</Alias>\n    <Alias Alias=\"NodeId\">i=17</Alias>\n    <Alias Alias=\"ExpandedNodeId\">i=18</Alias>\n    <Alias Alias=\"QualifiedName\">i=20</Alias>\n    <Alias Alias=\"LocalizedText\">i=21</Alias>\n    <Alias Alias=\"StatusCode\">i=19</Alias>\n    <Alias Alias=\"Structure\">i=22</Alias>\n    <Alias Alias=\"Number\">i=26</Alias>\n    <Alias Alias=\"Integer\">i=27</Alias>\n    <Alias Alias=\"UInteger\">i=28</Alias>\n    <Alias Alias=\"HasComponent\">i=47</Alias>\n    <Alias Alias=\"HasProperty\">i=46</Alias>\n    <Alias Alias=\"Organizes\">i=35</Alias>\n    <Alias Alias=\"HasEventSource\">i=36</Alias>\n    <Alias Alias=\"HasNotifier\">i=48</Alias>\n    <Alias Alias=\"HasSubtype\">i=45</Alias>\n    <Alias Alias=\"HasTypeDefinition\">i=40</Alias>\n    <Alias Alias=\"HasModellingRule\">i=37</Alias>\n    <Alias Alias=\"HasEncoding\">i=38</Alias>\n    <Alias Alias=\"HasDescription\">i=39</Alias>\n  </Aliases>\n  <UAObject NodeId=\"ns=1;i=1\" BrowseName=\"1:BoilersArea\">\n    <DisplayName>BoilersArea</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=81</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=160</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=239</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=318</Reference>\n      <Reference ReferenceType=\"Organizes\" IsForward=\"false\">i=85</Reference>\n      <Reference ReferenceType=\"HasNotifier\" IsForward=\"false\">i=2253</Reference>\n      <Reference ReferenceType=\"HasNotifier\">ns=1;i=81</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=61</Reference>\n    </References>\n  </UAObject>\n  <UAObject NodeId=\"ns=1;i=81\" BrowseName=\"1:Boiler #1\" SymbolicName=\"BoilerAlpha\" ParentNodeId=\"ns=1;i=1\">\n    <DisplayName>Boiler #1</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=82</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=97</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=105</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=113</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=117</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=121</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=127</Reference>\n      <Reference ReferenceType=\"HasNotifier\" IsForward=\"false\">ns=1;i=1</Reference>\n      <Reference ReferenceType=\"HasNotifier\">ns=1;i=82</Reference>\n      <Reference ReferenceType=\"HasNotifier\">ns=1;i=97</Reference>\n      <Reference ReferenceType=\"HasNotifier\">ns=1;i=105</Reference>\n      <Reference ReferenceType=\"HasEventSource\">ns=1;i=127</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">ns=2;i=151</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=1</Reference>\n    </References>\n  </UAObject>\n  <UAObject NodeId=\"ns=1;i=82\" BrowseName=\"1:InputPipe\" ParentNodeId=\"ns=1;i=81\" EventNotifier=\"1\">\n    <DisplayName>Boiler #1: Pipe1001</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=83</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=90</Reference>\n      <Reference ReferenceType=\"HasNotifier\" IsForward=\"false\">ns=1;i=81</Reference>\n      <Reference ReferenceType=\"HasNotifier\">ns=1;i=83</Reference>\n      <Reference ReferenceType=\"ns=2;i=1\">ns=1;i=97</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">ns=2;i=120</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=81</Reference>\n    </References>\n  </UAObject>\n  <UAObject NodeId=\"ns=1;i=83\" BrowseName=\"2:FTX001\" SymbolicName=\"FlowTransmitter1\" ParentNodeId=\"ns=1;i=82\" EventNotifier=\"1\">\n    <DisplayName>FlowTransmitter1</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=84</Reference>\n      <Reference ReferenceType=\"HasNotifier\" IsForward=\"false\">ns=1;i=82</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">ns=2;i=50</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=82</Reference>\n    </References>\n  </UAObject>\n  <UAVariable NodeId=\"ns=1;i=84\" BrowseName=\"2:Output\" ParentNodeId=\"ns=1;i=83\" DataType=\"Double\">\n    <DisplayName>Output</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=88</Reference>\n      <Reference ReferenceType=\"ns=2;i=3\">ns=1;i=114</Reference>\n      <Reference ReferenceType=\"ns=2;i=3\">ns=1;i=123</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=2368</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=83</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=88\" BrowseName=\"EURange\" ParentNodeId=\"ns=1;i=84\" DataType=\"i=884\">\n    <DisplayName>EURange</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=84</Reference>\n    </References>\n  </UAVariable>\n  <UAObject NodeId=\"ns=1;i=90\" BrowseName=\"2:ValveX001\" SymbolicName=\"Valve\" ParentNodeId=\"ns=1;i=82\" EventNotifier=\"1\">\n    <DisplayName>Valve</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=91</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">ns=2;i=28</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=82</Reference>\n    </References>\n  </UAObject>\n  <UAVariable NodeId=\"ns=1;i=91\" BrowseName=\"2:Input\" ParentNodeId=\"ns=1;i=90\" DataType=\"Double\" AccessLevel=\"2\" UserAccessLevel=\"2\">\n    <DisplayName>Input</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=95</Reference>\n      <Reference ReferenceType=\"ns=2;i=3\" IsForward=\"false\">ns=1;i=116</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=2368</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=90</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=95\" BrowseName=\"EURange\" ParentNodeId=\"ns=1;i=91\" DataType=\"i=884\">\n    <DisplayName>EURange</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=91</Reference>\n    </References>\n  </UAVariable>\n  <UAObject NodeId=\"ns=1;i=97\" BrowseName=\"1:Drum\" ParentNodeId=\"ns=1;i=81\" EventNotifier=\"1\">\n    <DisplayName>Boiler #1: Drum1001</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=98</Reference>\n      <Reference ReferenceType=\"HasNotifier\" IsForward=\"false\">ns=1;i=81</Reference>\n      <Reference ReferenceType=\"ns=2;i=1\" IsForward=\"false\">ns=1;i=82</Reference>\n      <Reference ReferenceType=\"HasNotifier\">ns=1;i=98</Reference>\n      <Reference ReferenceType=\"ns=2;i=2\">ns=1;i=105</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">ns=2;i=135</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=81</Reference>\n    </References>\n  </UAObject>\n  <UAObject NodeId=\"ns=1;i=98\" BrowseName=\"2:LIX001\" SymbolicName=\"LevelIndicator\" ParentNodeId=\"ns=1;i=97\" EventNotifier=\"1\">\n    <DisplayName>LIX001</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=99</Reference>\n      <Reference ReferenceType=\"HasNotifier\" IsForward=\"false\">ns=1;i=97</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">ns=2;i=43</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=97</Reference>\n    </References>\n  </UAObject>\n  <UAVariable NodeId=\"ns=1;i=99\" BrowseName=\"2:Output\" ParentNodeId=\"ns=1;i=98\" DataType=\"Number\">\n    <DisplayName>Output</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=103</Reference>\n      <Reference ReferenceType=\"ns=2;i=3\">ns=1;i=118</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=2368</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=98</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=103\" BrowseName=\"EURange\" ParentNodeId=\"ns=1;i=99\" DataType=\"i=884\">\n    <DisplayName>EURange</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=99</Reference>\n    </References>\n  </UAVariable>\n  <UAObject NodeId=\"ns=1;i=105\" BrowseName=\"1:OutputPipe\" ParentNodeId=\"ns=1;i=81\" EventNotifier=\"1\">\n    <DisplayName>Boiler #1: Pipe1002</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=106</Reference>\n      <Reference ReferenceType=\"HasNotifier\" IsForward=\"false\">ns=1;i=81</Reference>\n      <Reference ReferenceType=\"ns=2;i=2\" IsForward=\"false\">ns=1;i=97</Reference>\n      <Reference ReferenceType=\"HasNotifier\">ns=1;i=106</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">ns=2;i=143</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=81</Reference>\n    </References>\n  </UAObject>\n  <UAObject NodeId=\"ns=1;i=106\" BrowseName=\"2:FTX002\" SymbolicName=\"FlowTransmitter2\" ParentNodeId=\"ns=1;i=105\" EventNotifier=\"1\">\n    <DisplayName>FTX002</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=107</Reference>\n      <Reference ReferenceType=\"HasNotifier\" IsForward=\"false\">ns=1;i=105</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">ns=2;i=50</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=105</Reference>\n    </References>\n  </UAObject>\n  <UAVariable NodeId=\"ns=1;i=107\" BrowseName=\"2:Output\" ParentNodeId=\"ns=1;i=106\" DataType=\"Double\">\n    <DisplayName>Output</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=111</Reference>\n      <Reference ReferenceType=\"ns=2;i=3\">ns=1;i=124</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=2368</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=106</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=111\" BrowseName=\"EURange\" ParentNodeId=\"ns=1;i=107\" DataType=\"i=884\">\n    <DisplayName>EURange</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=107</Reference>\n    </References>\n  </UAVariable>\n  <UAObject NodeId=\"ns=1;i=113\" BrowseName=\"1:FlowController\" ParentNodeId=\"ns=1;i=81\">\n    <DisplayName>Boiler #1: FC1001</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=114</Reference>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=115</Reference>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=116</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">ns=2;i=39</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=81</Reference>\n    </References>\n  </UAObject>\n  <UAVariable NodeId=\"ns=1;i=114\" BrowseName=\"2:Measurement\" ParentNodeId=\"ns=1;i=113\" DataType=\"Double\">\n    <DisplayName>Measurement</DisplayName>\n    <References>\n      <Reference ReferenceType=\"ns=2;i=3\" IsForward=\"false\">ns=1;i=84</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=113</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=115\" BrowseName=\"2:SetPoint\" ParentNodeId=\"ns=1;i=113\" DataType=\"Double\" AccessLevel=\"3\" UserAccessLevel=\"3\">\n    <DisplayName>SetPoint</DisplayName>\n    <References>\n      <Reference ReferenceType=\"ns=2;i=3\" IsForward=\"false\">ns=1;i=125</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=113</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=116\" BrowseName=\"2:ControlOut\" ParentNodeId=\"ns=1;i=113\" DataType=\"Double\">\n    <DisplayName>ControlOut</DisplayName>\n    <References>\n      <Reference ReferenceType=\"ns=2;i=3\">ns=1;i=91</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=113</Reference>\n    </References>\n  </UAVariable>\n  <UAObject NodeId=\"ns=1;i=117\" BrowseName=\"1:LevelController\" ParentNodeId=\"ns=1;i=81\">\n    <DisplayName>Boiler #1: LC1001</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=118</Reference>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=119</Reference>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=120</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">ns=2;i=35</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=81</Reference>\n    </References>\n  </UAObject>\n  <UAVariable NodeId=\"ns=1;i=118\" BrowseName=\"2:Measurement\" ParentNodeId=\"ns=1;i=117\" DataType=\"Double\">\n    <DisplayName>Measurement</DisplayName>\n    <References>\n      <Reference ReferenceType=\"ns=2;i=3\" IsForward=\"false\">ns=1;i=99</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=117</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=119\" BrowseName=\"2:SetPoint\" ParentNodeId=\"ns=1;i=117\" DataType=\"Double\" AccessLevel=\"3\" UserAccessLevel=\"3\">\n    <DisplayName>SetPoint</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=117</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=120\" BrowseName=\"2:ControlOut\" ParentNodeId=\"ns=1;i=117\" DataType=\"Double\">\n    <DisplayName>ControlOut</DisplayName>\n    <References>\n      <Reference ReferenceType=\"ns=2;i=3\">ns=1;i=122</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=117</Reference>\n    </References>\n  </UAVariable>\n  <UAObject NodeId=\"ns=1;i=121\" BrowseName=\"1:CustomController\" ParentNodeId=\"ns=1;i=81\">\n    <DisplayName>Boiler #1: CC1001</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=122</Reference>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=123</Reference>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=124</Reference>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=125</Reference>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=126</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">ns=2;i=22</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=81</Reference>\n    </References>\n  </UAObject>\n  <UAVariable NodeId=\"ns=1;i=122\" BrowseName=\"2:Input1\" ParentNodeId=\"ns=1;i=121\" DataType=\"Double\" AccessLevel=\"2\" UserAccessLevel=\"2\">\n    <DisplayName>Input1</DisplayName>\n    <References>\n      <Reference ReferenceType=\"ns=2;i=3\" IsForward=\"false\">ns=1;i=120</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=121</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=123\" BrowseName=\"2:Input2\" ParentNodeId=\"ns=1;i=121\" DataType=\"Double\" AccessLevel=\"2\" UserAccessLevel=\"2\">\n    <DisplayName>Input2</DisplayName>\n    <References>\n      <Reference ReferenceType=\"ns=2;i=3\" IsForward=\"false\">ns=1;i=84</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=121</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=124\" BrowseName=\"2:Input3\" ParentNodeId=\"ns=1;i=121\" DataType=\"Double\" AccessLevel=\"2\" UserAccessLevel=\"2\">\n    <DisplayName>Input3</DisplayName>\n    <References>\n      <Reference ReferenceType=\"ns=2;i=3\" IsForward=\"false\">ns=1;i=107</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=121</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=125\" BrowseName=\"2:ControlOut\" ParentNodeId=\"ns=1;i=121\" DataType=\"Double\">\n    <DisplayName>ControlOut</DisplayName>\n    <References>\n      <Reference ReferenceType=\"ns=2;i=3\">ns=1;i=115</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=121</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=126\" BrowseName=\"2:Description\" SymbolicName=\"DescriptionX\" ParentNodeId=\"ns=1;i=121\" DataType=\"LocalizedText\">\n    <DisplayName>Description</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=121</Reference>\n    </References>\n  </UAVariable>\n  <UAObject NodeId=\"ns=1;i=127\" BrowseName=\"2:Simulation\" ParentNodeId=\"ns=1;i=81\" EventNotifier=\"1\">\n    <DisplayName>Simulation</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=128</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=133</Reference>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=139</Reference>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=141</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=154</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=155</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=156</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=157</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=158</Reference>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=159</Reference>\n      <Reference ReferenceType=\"HasEventSource\" IsForward=\"false\">ns=1;i=81</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">ns=2;i=57</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=81</Reference>\n    </References>\n  </UAObject>\n  <UAVariable NodeId=\"ns=1;i=128\" BrowseName=\"CurrentState\" ParentNodeId=\"ns=1;i=127\" DataType=\"LocalizedText\">\n    <DisplayName>CurrentState</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=129</Reference>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=131</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=2760</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=127</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=129\" BrowseName=\"Id\" ParentNodeId=\"ns=1;i=128\" DataType=\"NodeId\">\n    <DisplayName>Id</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=128</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=131\" BrowseName=\"Number\" ParentNodeId=\"ns=1;i=128\" DataType=\"UInt32\">\n    <DisplayName>Number</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=128</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=133\" BrowseName=\"LastTransition\" ParentNodeId=\"ns=1;i=127\" DataType=\"LocalizedText\">\n    <DisplayName>LastTransition</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=134</Reference>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=136</Reference>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=137</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=2767</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=127</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=134\" BrowseName=\"Id\" ParentNodeId=\"ns=1;i=133\" DataType=\"NodeId\">\n    <DisplayName>Id</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=133</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=136\" BrowseName=\"Number\" ParentNodeId=\"ns=1;i=133\" DataType=\"UInt32\">\n    <DisplayName>Number</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=133</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=137\" BrowseName=\"TransitionTime\" ParentNodeId=\"ns=1;i=133\" DataType=\"i=294\">\n    <DisplayName>TransitionTime</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=133</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=139\" BrowseName=\"Deletable\" ParentNodeId=\"ns=1;i=127\" DataType=\"Boolean\">\n    <DisplayName>Deletable</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=127</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=141\" BrowseName=\"RecycleCount\" ParentNodeId=\"ns=1;i=127\" DataType=\"Int32\">\n    <DisplayName>RecycleCount</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=127</Reference>\n    </References>\n  </UAVariable>\n  <UAMethod NodeId=\"ns=1;i=154\" BrowseName=\"Start\" ParentNodeId=\"ns=1;i=127\" MethodDeclarationId=\"i=2426\">\n    <DisplayName>Start</DisplayName>\n    <Description>Causes the Program to transition from the Ready state to the Running state.</Description>\n    <References>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=127</Reference>\n    </References>\n  </UAMethod>\n  <UAMethod NodeId=\"ns=1;i=155\" BrowseName=\"Suspend\" ParentNodeId=\"ns=1;i=127\" MethodDeclarationId=\"i=2427\">\n    <DisplayName>Suspend</DisplayName>\n    <Description>Causes the Program to transition from the Running state to the Suspended state.</Description>\n    <References>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=127</Reference>\n    </References>\n  </UAMethod>\n  <UAMethod NodeId=\"ns=1;i=156\" BrowseName=\"Resume\" ParentNodeId=\"ns=1;i=127\" MethodDeclarationId=\"i=2428\">\n    <DisplayName>Resume</DisplayName>\n    <Description>Causes the Program to transition from the Suspended state to the Running state.</Description>\n    <References>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=127</Reference>\n    </References>\n  </UAMethod>\n  <UAMethod NodeId=\"ns=1;i=157\" BrowseName=\"Halt\" ParentNodeId=\"ns=1;i=127\" MethodDeclarationId=\"i=2429\">\n    <DisplayName>Halt</DisplayName>\n    <Description>Causes the Program to transition from the Ready, Running or Suspended state to the Halted state.</Description>\n    <References>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=127</Reference>\n    </References>\n  </UAMethod>\n  <UAMethod NodeId=\"ns=1;i=158\" BrowseName=\"Reset\" ParentNodeId=\"ns=1;i=127\" MethodDeclarationId=\"i=2430\">\n    <DisplayName>Reset</DisplayName>\n    <Description>Causes the Program to transition from the Halted state to the Ready state.</Description>\n    <References>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=127</Reference>\n    </References>\n  </UAMethod>\n  <UAVariable NodeId=\"ns=1;i=159\" BrowseName=\"2:UpdateRate\" ParentNodeId=\"ns=1;i=127\" DataType=\"UInt32\" AccessLevel=\"3\" UserAccessLevel=\"3\">\n    <DisplayName>UpdateRate</DisplayName>\n    <Description>The rate at which the simulation runs.</Description>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=127</Reference>\n    </References>\n  </UAVariable>\n  <UAObject NodeId=\"ns=1;i=160\" BrowseName=\"1:Boiler #2\" SymbolicName=\"BoilerBravo\" ParentNodeId=\"ns=1;i=1\">\n    <DisplayName>Boilers Second</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=161</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=176</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=184</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=192</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=196</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=200</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=206</Reference>\n      <Reference ReferenceType=\"HasNotifier\">ns=1;i=161</Reference>\n      <Reference ReferenceType=\"HasNotifier\">ns=1;i=176</Reference>\n      <Reference ReferenceType=\"HasNotifier\">ns=1;i=184</Reference>\n      <Reference ReferenceType=\"HasEventSource\">ns=1;i=206</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">ns=2;i=151</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=1</Reference>\n    </References>\n  </UAObject>\n  <UAObject NodeId=\"ns=1;i=161\" BrowseName=\"1:InputPipe\" ParentNodeId=\"ns=1;i=160\" EventNotifier=\"1\">\n    <DisplayName>Boiler #2: Pipe1001</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=162</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=169</Reference>\n      <Reference ReferenceType=\"HasNotifier\" IsForward=\"false\">ns=1;i=160</Reference>\n      <Reference ReferenceType=\"HasNotifier\">ns=1;i=162</Reference>\n      <Reference ReferenceType=\"ns=2;i=1\">ns=1;i=176</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">ns=2;i=120</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=160</Reference>\n    </References>\n  </UAObject>\n  <UAObject NodeId=\"ns=1;i=162\" BrowseName=\"2:FTX001\" SymbolicName=\"FlowTransmitter1\" ParentNodeId=\"ns=1;i=161\" EventNotifier=\"1\">\n    <DisplayName>FlowTransmitter1</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=163</Reference>\n      <Reference ReferenceType=\"HasNotifier\" IsForward=\"false\">ns=1;i=161</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">ns=2;i=50</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=161</Reference>\n    </References>\n  </UAObject>\n  <UAVariable NodeId=\"ns=1;i=163\" BrowseName=\"2:Output\" ParentNodeId=\"ns=1;i=162\" DataType=\"Double\">\n    <DisplayName>Output</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=167</Reference>\n      <Reference ReferenceType=\"ns=2;i=3\">ns=1;i=193</Reference>\n      <Reference ReferenceType=\"ns=2;i=3\">ns=1;i=202</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=2368</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=162</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=167\" BrowseName=\"EURange\" ParentNodeId=\"ns=1;i=163\" DataType=\"i=884\">\n    <DisplayName>EURange</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=163</Reference>\n    </References>\n  </UAVariable>\n  <UAObject NodeId=\"ns=1;i=169\" BrowseName=\"2:ValveX001\" SymbolicName=\"Valve\" ParentNodeId=\"ns=1;i=161\" EventNotifier=\"1\">\n    <DisplayName>Valve</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=170</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">ns=2;i=28</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=161</Reference>\n    </References>\n  </UAObject>\n  <UAVariable NodeId=\"ns=1;i=170\" BrowseName=\"2:Input\" ParentNodeId=\"ns=1;i=169\" DataType=\"Double\" AccessLevel=\"2\" UserAccessLevel=\"2\">\n    <DisplayName>Input</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=174</Reference>\n      <Reference ReferenceType=\"ns=2;i=3\" IsForward=\"false\">ns=1;i=195</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=2368</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=169</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=174\" BrowseName=\"EURange\" ParentNodeId=\"ns=1;i=170\" DataType=\"i=884\">\n    <DisplayName>EURange</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=170</Reference>\n    </References>\n  </UAVariable>\n  <UAObject NodeId=\"ns=1;i=176\" BrowseName=\"1:Drum\" ParentNodeId=\"ns=1;i=160\" EventNotifier=\"1\">\n    <DisplayName>Boiler #2: Drum1001</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=177</Reference>\n      <Reference ReferenceType=\"HasNotifier\" IsForward=\"false\">ns=1;i=160</Reference>\n      <Reference ReferenceType=\"ns=2;i=1\" IsForward=\"false\">ns=1;i=161</Reference>\n      <Reference ReferenceType=\"HasNotifier\">ns=1;i=177</Reference>\n      <Reference ReferenceType=\"ns=2;i=2\">ns=1;i=184</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">ns=2;i=135</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=160</Reference>\n    </References>\n  </UAObject>\n  <UAObject NodeId=\"ns=1;i=177\" BrowseName=\"2:LIX001\" SymbolicName=\"LevelIndicator\" ParentNodeId=\"ns=1;i=176\" EventNotifier=\"1\">\n    <DisplayName>LIX001</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=178</Reference>\n      <Reference ReferenceType=\"HasNotifier\" IsForward=\"false\">ns=1;i=176</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">ns=2;i=43</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=176</Reference>\n    </References>\n  </UAObject>\n  <UAVariable NodeId=\"ns=1;i=178\" BrowseName=\"2:Output\" ParentNodeId=\"ns=1;i=177\" DataType=\"Number\">\n    <DisplayName>Output</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=182</Reference>\n      <Reference ReferenceType=\"ns=2;i=3\">ns=1;i=197</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=2368</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=177</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=182\" BrowseName=\"EURange\" ParentNodeId=\"ns=1;i=178\" DataType=\"i=884\">\n    <DisplayName>EURange</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=178</Reference>\n    </References>\n  </UAVariable>\n  <UAObject NodeId=\"ns=1;i=184\" BrowseName=\"1:OutputPipe\" ParentNodeId=\"ns=1;i=160\" EventNotifier=\"1\">\n    <DisplayName>Boiler #2: Pipe1002</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=185</Reference>\n      <Reference ReferenceType=\"HasNotifier\" IsForward=\"false\">ns=1;i=160</Reference>\n      <Reference ReferenceType=\"ns=2;i=2\" IsForward=\"false\">ns=1;i=176</Reference>\n      <Reference ReferenceType=\"HasNotifier\">ns=1;i=185</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">ns=2;i=143</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=160</Reference>\n    </References>\n  </UAObject>\n  <UAObject NodeId=\"ns=1;i=185\" BrowseName=\"2:FTX002\" SymbolicName=\"FlowTransmitter2\" ParentNodeId=\"ns=1;i=184\" EventNotifier=\"1\">\n    <DisplayName>FTX002</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=186</Reference>\n      <Reference ReferenceType=\"HasNotifier\" IsForward=\"false\">ns=1;i=184</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">ns=2;i=50</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=184</Reference>\n    </References>\n  </UAObject>\n  <UAVariable NodeId=\"ns=1;i=186\" BrowseName=\"2:Output\" ParentNodeId=\"ns=1;i=185\" DataType=\"Double\">\n    <DisplayName>Output</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=190</Reference>\n      <Reference ReferenceType=\"ns=2;i=3\">ns=1;i=203</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=2368</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=185</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=190\" BrowseName=\"EURange\" ParentNodeId=\"ns=1;i=186\" DataType=\"i=884\">\n    <DisplayName>EURange</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=186</Reference>\n    </References>\n  </UAVariable>\n  <UAObject NodeId=\"ns=1;i=192\" BrowseName=\"1:FlowController\" ParentNodeId=\"ns=1;i=160\">\n    <DisplayName>Boiler #2: FC1001</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=193</Reference>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=194</Reference>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=195</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">ns=2;i=39</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=160</Reference>\n    </References>\n  </UAObject>\n  <UAVariable NodeId=\"ns=1;i=193\" BrowseName=\"2:Measurement\" ParentNodeId=\"ns=1;i=192\" DataType=\"Double\">\n    <DisplayName>Measurement</DisplayName>\n    <References>\n      <Reference ReferenceType=\"ns=2;i=3\" IsForward=\"false\">ns=1;i=163</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=192</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=194\" BrowseName=\"2:SetPoint\" ParentNodeId=\"ns=1;i=192\" DataType=\"Double\" AccessLevel=\"3\" UserAccessLevel=\"3\">\n    <DisplayName>SetPoint</DisplayName>\n    <References>\n      <Reference ReferenceType=\"ns=2;i=3\" IsForward=\"false\">ns=1;i=204</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=192</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=195\" BrowseName=\"2:ControlOut\" ParentNodeId=\"ns=1;i=192\" DataType=\"Double\">\n    <DisplayName>ControlOut</DisplayName>\n    <References>\n      <Reference ReferenceType=\"ns=2;i=3\">ns=1;i=170</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=192</Reference>\n    </References>\n  </UAVariable>\n  <UAObject NodeId=\"ns=1;i=196\" BrowseName=\"1:LevelController\" ParentNodeId=\"ns=1;i=160\">\n    <DisplayName>Boiler #2: LC1001</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=197</Reference>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=198</Reference>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=199</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">ns=2;i=35</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=160</Reference>\n    </References>\n  </UAObject>\n  <UAVariable NodeId=\"ns=1;i=197\" BrowseName=\"2:Measurement\" ParentNodeId=\"ns=1;i=196\" DataType=\"Double\">\n    <DisplayName>Measurement</DisplayName>\n    <References>\n      <Reference ReferenceType=\"ns=2;i=3\" IsForward=\"false\">ns=1;i=178</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=196</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=198\" BrowseName=\"2:SetPoint\" ParentNodeId=\"ns=1;i=196\" DataType=\"Double\" AccessLevel=\"3\" UserAccessLevel=\"3\">\n    <DisplayName>SetPoint</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=196</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=199\" BrowseName=\"2:ControlOut\" ParentNodeId=\"ns=1;i=196\" DataType=\"Double\">\n    <DisplayName>ControlOut</DisplayName>\n    <References>\n      <Reference ReferenceType=\"ns=2;i=3\">ns=1;i=201</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=196</Reference>\n    </References>\n  </UAVariable>\n  <UAObject NodeId=\"ns=1;i=200\" BrowseName=\"1:CustomController\" ParentNodeId=\"ns=1;i=160\">\n    <DisplayName>Boiler #2: CC1001</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=201</Reference>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=202</Reference>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=203</Reference>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=204</Reference>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=205</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">ns=2;i=22</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=160</Reference>\n    </References>\n  </UAObject>\n  <UAVariable NodeId=\"ns=1;i=201\" BrowseName=\"2:Input1\" ParentNodeId=\"ns=1;i=200\" DataType=\"Double\" AccessLevel=\"2\" UserAccessLevel=\"2\">\n    <DisplayName>Input1</DisplayName>\n    <References>\n      <Reference ReferenceType=\"ns=2;i=3\" IsForward=\"false\">ns=1;i=199</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=200</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=202\" BrowseName=\"2:Input2\" ParentNodeId=\"ns=1;i=200\" DataType=\"Double\" AccessLevel=\"2\" UserAccessLevel=\"2\">\n    <DisplayName>Input2</DisplayName>\n    <References>\n      <Reference ReferenceType=\"ns=2;i=3\" IsForward=\"false\">ns=1;i=163</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=200</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=203\" BrowseName=\"2:Input3\" ParentNodeId=\"ns=1;i=200\" DataType=\"Double\" AccessLevel=\"2\" UserAccessLevel=\"2\">\n    <DisplayName>Input3</DisplayName>\n    <References>\n      <Reference ReferenceType=\"ns=2;i=3\" IsForward=\"false\">ns=1;i=186</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=200</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=204\" BrowseName=\"2:ControlOut\" ParentNodeId=\"ns=1;i=200\" DataType=\"Double\">\n    <DisplayName>ControlOut</DisplayName>\n    <References>\n      <Reference ReferenceType=\"ns=2;i=3\">ns=1;i=194</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=200</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=205\" BrowseName=\"2:Description\" SymbolicName=\"DescriptionX\" ParentNodeId=\"ns=1;i=200\" DataType=\"LocalizedText\">\n    <DisplayName>Description</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=200</Reference>\n    </References>\n  </UAVariable>\n  <UAObject NodeId=\"ns=1;i=206\" BrowseName=\"2:Simulation\" ParentNodeId=\"ns=1;i=160\" EventNotifier=\"1\">\n    <DisplayName>Simulation</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=207</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=212</Reference>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=218</Reference>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=220</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=233</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=234</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=235</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=236</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=237</Reference>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=238</Reference>\n      <Reference ReferenceType=\"HasEventSource\" IsForward=\"false\">ns=1;i=160</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">ns=2;i=57</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=160</Reference>\n    </References>\n  </UAObject>\n  <UAVariable NodeId=\"ns=1;i=207\" BrowseName=\"CurrentState\" ParentNodeId=\"ns=1;i=206\" DataType=\"LocalizedText\">\n    <DisplayName>CurrentState</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=208</Reference>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=210</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=2760</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=206</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=208\" BrowseName=\"Id\" ParentNodeId=\"ns=1;i=207\" DataType=\"NodeId\">\n    <DisplayName>Id</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=207</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=210\" BrowseName=\"Number\" ParentNodeId=\"ns=1;i=207\" DataType=\"UInt32\">\n    <DisplayName>Number</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=207</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=212\" BrowseName=\"LastTransition\" ParentNodeId=\"ns=1;i=206\" DataType=\"LocalizedText\">\n    <DisplayName>LastTransition</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=213</Reference>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=215</Reference>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=216</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=2767</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=206</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=213\" BrowseName=\"Id\" ParentNodeId=\"ns=1;i=212\" DataType=\"NodeId\">\n    <DisplayName>Id</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=212</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=215\" BrowseName=\"Number\" ParentNodeId=\"ns=1;i=212\" DataType=\"UInt32\">\n    <DisplayName>Number</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=212</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=216\" BrowseName=\"TransitionTime\" ParentNodeId=\"ns=1;i=212\" DataType=\"i=294\">\n    <DisplayName>TransitionTime</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=212</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=218\" BrowseName=\"Deletable\" ParentNodeId=\"ns=1;i=206\" DataType=\"Boolean\">\n    <DisplayName>Deletable</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=206</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=220\" BrowseName=\"RecycleCount\" ParentNodeId=\"ns=1;i=206\" DataType=\"Int32\">\n    <DisplayName>RecycleCount</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=206</Reference>\n    </References>\n  </UAVariable>\n  <UAMethod NodeId=\"ns=1;i=233\" BrowseName=\"Start\" ParentNodeId=\"ns=1;i=206\" MethodDeclarationId=\"i=2426\">\n    <DisplayName>Start</DisplayName>\n    <Description>Causes the Program to transition from the Ready state to the Running state.</Description>\n    <References>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=206</Reference>\n    </References>\n  </UAMethod>\n  <UAMethod NodeId=\"ns=1;i=234\" BrowseName=\"Suspend\" ParentNodeId=\"ns=1;i=206\" MethodDeclarationId=\"i=2427\">\n    <DisplayName>Suspend</DisplayName>\n    <Description>Causes the Program to transition from the Running state to the Suspended state.</Description>\n    <References>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=206</Reference>\n    </References>\n  </UAMethod>\n  <UAMethod NodeId=\"ns=1;i=235\" BrowseName=\"Resume\" ParentNodeId=\"ns=1;i=206\" MethodDeclarationId=\"i=2428\">\n    <DisplayName>Resume</DisplayName>\n    <Description>Causes the Program to transition from the Suspended state to the Running state.</Description>\n    <References>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=206</Reference>\n    </References>\n  </UAMethod>\n  <UAMethod NodeId=\"ns=1;i=236\" BrowseName=\"Halt\" ParentNodeId=\"ns=1;i=206\" MethodDeclarationId=\"i=2429\">\n    <DisplayName>Halt</DisplayName>\n    <Description>Causes the Program to transition from the Ready, Running or Suspended state to the Halted state.</Description>\n    <References>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=206</Reference>\n    </References>\n  </UAMethod>\n  <UAMethod NodeId=\"ns=1;i=237\" BrowseName=\"Reset\" ParentNodeId=\"ns=1;i=206\" MethodDeclarationId=\"i=2430\">\n    <DisplayName>Reset</DisplayName>\n    <Description>Causes the Program to transition from the Halted state to the Ready state.</Description>\n    <References>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=206</Reference>\n    </References>\n  </UAMethod>\n  <UAVariable NodeId=\"ns=1;i=238\" BrowseName=\"2:UpdateRate\" ParentNodeId=\"ns=1;i=206\" DataType=\"UInt32\" AccessLevel=\"3\" UserAccessLevel=\"3\">\n    <DisplayName>UpdateRate</DisplayName>\n    <Description>The rate at which the simulation runs.</Description>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=206</Reference>\n    </References>\n  </UAVariable>\n  <UAObject NodeId=\"ns=1;i=239\" BrowseName=\"1:Boiler #3\" SymbolicName=\"BoilerCharlie\" ParentNodeId=\"ns=1;i=1\">\n    <DisplayName>Boiler #3</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=240</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=255</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=263</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=271</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=275</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=279</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=285</Reference>\n      <Reference ReferenceType=\"HasNotifier\">ns=1;i=240</Reference>\n      <Reference ReferenceType=\"HasNotifier\">ns=1;i=255</Reference>\n      <Reference ReferenceType=\"HasNotifier\">ns=1;i=263</Reference>\n      <Reference ReferenceType=\"HasEventSource\">ns=1;i=285</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">ns=2;i=151</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=1</Reference>\n    </References>\n  </UAObject>\n  <UAObject NodeId=\"ns=1;i=240\" BrowseName=\"1:InputPipe\" ParentNodeId=\"ns=1;i=239\" EventNotifier=\"1\">\n    <DisplayName>Boiler #3: Pipe1001</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=241</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=248</Reference>\n      <Reference ReferenceType=\"HasNotifier\" IsForward=\"false\">ns=1;i=239</Reference>\n      <Reference ReferenceType=\"HasNotifier\">ns=1;i=241</Reference>\n      <Reference ReferenceType=\"ns=2;i=1\">ns=1;i=255</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">ns=2;i=120</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=239</Reference>\n    </References>\n  </UAObject>\n  <UAObject NodeId=\"ns=1;i=241\" BrowseName=\"2:FTX001\" SymbolicName=\"FlowTransmitter1\" ParentNodeId=\"ns=1;i=240\" EventNotifier=\"1\">\n    <DisplayName>FlowTransmitter1</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=242</Reference>\n      <Reference ReferenceType=\"HasNotifier\" IsForward=\"false\">ns=1;i=240</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">ns=2;i=50</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=240</Reference>\n    </References>\n  </UAObject>\n  <UAVariable NodeId=\"ns=1;i=242\" BrowseName=\"2:Output\" ParentNodeId=\"ns=1;i=241\" DataType=\"Double\">\n    <DisplayName>Output</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=246</Reference>\n      <Reference ReferenceType=\"ns=2;i=3\">ns=1;i=272</Reference>\n      <Reference ReferenceType=\"ns=2;i=3\">ns=1;i=281</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=2368</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=241</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=246\" BrowseName=\"EURange\" ParentNodeId=\"ns=1;i=242\" DataType=\"i=884\">\n    <DisplayName>EURange</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=242</Reference>\n    </References>\n  </UAVariable>\n  <UAObject NodeId=\"ns=1;i=248\" BrowseName=\"2:ValveX001\" SymbolicName=\"Valve\" ParentNodeId=\"ns=1;i=240\" EventNotifier=\"1\">\n    <DisplayName>Valve</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=249</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">ns=2;i=28</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=240</Reference>\n    </References>\n  </UAObject>\n  <UAVariable NodeId=\"ns=1;i=249\" BrowseName=\"2:Input\" ParentNodeId=\"ns=1;i=248\" DataType=\"Double\" AccessLevel=\"2\" UserAccessLevel=\"2\">\n    <DisplayName>Input</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=253</Reference>\n      <Reference ReferenceType=\"ns=2;i=3\" IsForward=\"false\">ns=1;i=274</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=2368</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=248</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=253\" BrowseName=\"EURange\" ParentNodeId=\"ns=1;i=249\" DataType=\"i=884\">\n    <DisplayName>EURange</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=249</Reference>\n    </References>\n  </UAVariable>\n  <UAObject NodeId=\"ns=1;i=255\" BrowseName=\"1:Drum\" ParentNodeId=\"ns=1;i=239\" EventNotifier=\"1\">\n    <DisplayName>Boiler #3: Drum1001</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=256</Reference>\n      <Reference ReferenceType=\"HasNotifier\" IsForward=\"false\">ns=1;i=239</Reference>\n      <Reference ReferenceType=\"ns=2;i=1\" IsForward=\"false\">ns=1;i=240</Reference>\n      <Reference ReferenceType=\"HasNotifier\">ns=1;i=256</Reference>\n      <Reference ReferenceType=\"ns=2;i=2\">ns=1;i=263</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">ns=2;i=135</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=239</Reference>\n    </References>\n  </UAObject>\n  <UAObject NodeId=\"ns=1;i=256\" BrowseName=\"2:LIX001\" SymbolicName=\"LevelIndicator\" ParentNodeId=\"ns=1;i=255\" EventNotifier=\"1\">\n    <DisplayName>LIX001</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=257</Reference>\n      <Reference ReferenceType=\"HasNotifier\" IsForward=\"false\">ns=1;i=255</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">ns=2;i=43</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=255</Reference>\n    </References>\n  </UAObject>\n  <UAVariable NodeId=\"ns=1;i=257\" BrowseName=\"2:Output\" ParentNodeId=\"ns=1;i=256\" DataType=\"Number\">\n    <DisplayName>Output</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=261</Reference>\n      <Reference ReferenceType=\"ns=2;i=3\">ns=1;i=276</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=2368</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=256</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=261\" BrowseName=\"EURange\" ParentNodeId=\"ns=1;i=257\" DataType=\"i=884\">\n    <DisplayName>EURange</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=257</Reference>\n    </References>\n  </UAVariable>\n  <UAObject NodeId=\"ns=1;i=263\" BrowseName=\"1:OutputPipe\" ParentNodeId=\"ns=1;i=239\" EventNotifier=\"1\">\n    <DisplayName>Boiler #3: Pipe1002</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=264</Reference>\n      <Reference ReferenceType=\"HasNotifier\" IsForward=\"false\">ns=1;i=239</Reference>\n      <Reference ReferenceType=\"ns=2;i=2\" IsForward=\"false\">ns=1;i=255</Reference>\n      <Reference ReferenceType=\"HasNotifier\">ns=1;i=264</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">ns=2;i=143</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=239</Reference>\n    </References>\n  </UAObject>\n  <UAObject NodeId=\"ns=1;i=264\" BrowseName=\"2:FTX002\" SymbolicName=\"FlowTransmitter2\" ParentNodeId=\"ns=1;i=263\" EventNotifier=\"1\">\n    <DisplayName>FTX002</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=265</Reference>\n      <Reference ReferenceType=\"HasNotifier\" IsForward=\"false\">ns=1;i=263</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">ns=2;i=50</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=263</Reference>\n    </References>\n  </UAObject>\n  <UAVariable NodeId=\"ns=1;i=265\" BrowseName=\"2:Output\" ParentNodeId=\"ns=1;i=264\" DataType=\"Double\">\n    <DisplayName>Output</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=269</Reference>\n      <Reference ReferenceType=\"ns=2;i=3\">ns=1;i=282</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=2368</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=264</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=269\" BrowseName=\"EURange\" ParentNodeId=\"ns=1;i=265\" DataType=\"i=884\">\n    <DisplayName>EURange</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=265</Reference>\n    </References>\n  </UAVariable>\n  <UAObject NodeId=\"ns=1;i=271\" BrowseName=\"1:FlowController\" ParentNodeId=\"ns=1;i=239\">\n    <DisplayName>Boiler #3: FC1001</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=272</Reference>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=273</Reference>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=274</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">ns=2;i=39</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=239</Reference>\n    </References>\n  </UAObject>\n  <UAVariable NodeId=\"ns=1;i=272\" BrowseName=\"2:Measurement\" ParentNodeId=\"ns=1;i=271\" DataType=\"Double\">\n    <DisplayName>Measurement</DisplayName>\n    <References>\n      <Reference ReferenceType=\"ns=2;i=3\" IsForward=\"false\">ns=1;i=242</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=271</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=273\" BrowseName=\"2:SetPoint\" ParentNodeId=\"ns=1;i=271\" DataType=\"Double\" AccessLevel=\"3\" UserAccessLevel=\"3\">\n    <DisplayName>SetPoint</DisplayName>\n    <References>\n      <Reference ReferenceType=\"ns=2;i=3\" IsForward=\"false\">ns=1;i=283</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=271</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=274\" BrowseName=\"2:ControlOut\" ParentNodeId=\"ns=1;i=271\" DataType=\"Double\">\n    <DisplayName>ControlOut</DisplayName>\n    <References>\n      <Reference ReferenceType=\"ns=2;i=3\">ns=1;i=249</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=271</Reference>\n    </References>\n  </UAVariable>\n  <UAObject NodeId=\"ns=1;i=275\" BrowseName=\"1:LevelController\" ParentNodeId=\"ns=1;i=239\">\n    <DisplayName>Boiler #3: LC1001</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=276</Reference>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=277</Reference>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=278</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">ns=2;i=35</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=239</Reference>\n    </References>\n  </UAObject>\n  <UAVariable NodeId=\"ns=1;i=276\" BrowseName=\"2:Measurement\" ParentNodeId=\"ns=1;i=275\" DataType=\"Double\">\n    <DisplayName>Measurement</DisplayName>\n    <References>\n      <Reference ReferenceType=\"ns=2;i=3\" IsForward=\"false\">ns=1;i=257</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=275</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=277\" BrowseName=\"2:SetPoint\" ParentNodeId=\"ns=1;i=275\" DataType=\"Double\" AccessLevel=\"3\" UserAccessLevel=\"3\">\n    <DisplayName>SetPoint</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=275</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=278\" BrowseName=\"2:ControlOut\" ParentNodeId=\"ns=1;i=275\" DataType=\"Double\">\n    <DisplayName>ControlOut</DisplayName>\n    <References>\n      <Reference ReferenceType=\"ns=2;i=3\">ns=1;i=280</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=275</Reference>\n    </References>\n  </UAVariable>\n  <UAObject NodeId=\"ns=1;i=279\" BrowseName=\"1:CustomController\" ParentNodeId=\"ns=1;i=239\">\n    <DisplayName>Boiler #3: CC1001</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=280</Reference>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=281</Reference>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=282</Reference>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=283</Reference>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=284</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">ns=2;i=22</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=239</Reference>\n    </References>\n  </UAObject>\n  <UAVariable NodeId=\"ns=1;i=280\" BrowseName=\"2:Input1\" ParentNodeId=\"ns=1;i=279\" DataType=\"Double\" AccessLevel=\"2\" UserAccessLevel=\"2\">\n    <DisplayName>Input1</DisplayName>\n    <References>\n      <Reference ReferenceType=\"ns=2;i=3\" IsForward=\"false\">ns=1;i=278</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=279</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=281\" BrowseName=\"2:Input2\" ParentNodeId=\"ns=1;i=279\" DataType=\"Double\" AccessLevel=\"2\" UserAccessLevel=\"2\">\n    <DisplayName>Input2</DisplayName>\n    <References>\n      <Reference ReferenceType=\"ns=2;i=3\" IsForward=\"false\">ns=1;i=242</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=279</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=282\" BrowseName=\"2:Input3\" ParentNodeId=\"ns=1;i=279\" DataType=\"Double\" AccessLevel=\"2\" UserAccessLevel=\"2\">\n    <DisplayName>Input3</DisplayName>\n    <References>\n      <Reference ReferenceType=\"ns=2;i=3\" IsForward=\"false\">ns=1;i=265</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=279</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=283\" BrowseName=\"2:ControlOut\" ParentNodeId=\"ns=1;i=279\" DataType=\"Double\">\n    <DisplayName>ControlOut</DisplayName>\n    <References>\n      <Reference ReferenceType=\"ns=2;i=3\">ns=1;i=273</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=279</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=284\" BrowseName=\"2:Description\" SymbolicName=\"DescriptionX\" ParentNodeId=\"ns=1;i=279\" DataType=\"LocalizedText\">\n    <DisplayName>Description</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=279</Reference>\n    </References>\n  </UAVariable>\n  <UAObject NodeId=\"ns=1;i=285\" BrowseName=\"2:Simulation\" ParentNodeId=\"ns=1;i=239\" EventNotifier=\"1\">\n    <DisplayName>Simulation</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=286</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=291</Reference>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=297</Reference>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=299</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=312</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=313</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=314</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=315</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=316</Reference>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=317</Reference>\n      <Reference ReferenceType=\"HasEventSource\" IsForward=\"false\">ns=1;i=239</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">ns=2;i=57</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=239</Reference>\n    </References>\n  </UAObject>\n  <UAVariable NodeId=\"ns=1;i=286\" BrowseName=\"CurrentState\" ParentNodeId=\"ns=1;i=285\" DataType=\"LocalizedText\">\n    <DisplayName>CurrentState</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=287</Reference>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=289</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=2760</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=285</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=287\" BrowseName=\"Id\" ParentNodeId=\"ns=1;i=286\" DataType=\"NodeId\">\n    <DisplayName>Id</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=286</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=289\" BrowseName=\"Number\" ParentNodeId=\"ns=1;i=286\" DataType=\"UInt32\">\n    <DisplayName>Number</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=286</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=291\" BrowseName=\"LastTransition\" ParentNodeId=\"ns=1;i=285\" DataType=\"LocalizedText\">\n    <DisplayName>LastTransition</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=292</Reference>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=294</Reference>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=295</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=2767</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=285</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=292\" BrowseName=\"Id\" ParentNodeId=\"ns=1;i=291\" DataType=\"NodeId\">\n    <DisplayName>Id</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=291</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=294\" BrowseName=\"Number\" ParentNodeId=\"ns=1;i=291\" DataType=\"UInt32\">\n    <DisplayName>Number</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=291</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=295\" BrowseName=\"TransitionTime\" ParentNodeId=\"ns=1;i=291\" DataType=\"i=294\">\n    <DisplayName>TransitionTime</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=291</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=297\" BrowseName=\"Deletable\" ParentNodeId=\"ns=1;i=285\" DataType=\"Boolean\">\n    <DisplayName>Deletable</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=285</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=299\" BrowseName=\"RecycleCount\" ParentNodeId=\"ns=1;i=285\" DataType=\"Int32\">\n    <DisplayName>RecycleCount</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=285</Reference>\n    </References>\n  </UAVariable>\n  <UAMethod NodeId=\"ns=1;i=312\" BrowseName=\"Start\" ParentNodeId=\"ns=1;i=285\" MethodDeclarationId=\"i=2426\">\n    <DisplayName>Start</DisplayName>\n    <Description>Causes the Program to transition from the Ready state to the Running state.</Description>\n    <References>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=285</Reference>\n    </References>\n  </UAMethod>\n  <UAMethod NodeId=\"ns=1;i=313\" BrowseName=\"Suspend\" ParentNodeId=\"ns=1;i=285\" MethodDeclarationId=\"i=2427\">\n    <DisplayName>Suspend</DisplayName>\n    <Description>Causes the Program to transition from the Running state to the Suspended state.</Description>\n    <References>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=285</Reference>\n    </References>\n  </UAMethod>\n  <UAMethod NodeId=\"ns=1;i=314\" BrowseName=\"Resume\" ParentNodeId=\"ns=1;i=285\" MethodDeclarationId=\"i=2428\">\n    <DisplayName>Resume</DisplayName>\n    <Description>Causes the Program to transition from the Suspended state to the Running state.</Description>\n    <References>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=285</Reference>\n    </References>\n  </UAMethod>\n  <UAMethod NodeId=\"ns=1;i=315\" BrowseName=\"Halt\" ParentNodeId=\"ns=1;i=285\" MethodDeclarationId=\"i=2429\">\n    <DisplayName>Halt</DisplayName>\n    <Description>Causes the Program to transition from the Ready, Running or Suspended state to the Halted state.</Description>\n    <References>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=285</Reference>\n    </References>\n  </UAMethod>\n  <UAMethod NodeId=\"ns=1;i=316\" BrowseName=\"Reset\" ParentNodeId=\"ns=1;i=285\" MethodDeclarationId=\"i=2430\">\n    <DisplayName>Reset</DisplayName>\n    <Description>Causes the Program to transition from the Halted state to the Ready state.</Description>\n    <References>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=285</Reference>\n    </References>\n  </UAMethod>\n  <UAVariable NodeId=\"ns=1;i=317\" BrowseName=\"2:UpdateRate\" ParentNodeId=\"ns=1;i=285\" DataType=\"UInt32\" AccessLevel=\"3\" UserAccessLevel=\"3\">\n    <DisplayName>UpdateRate</DisplayName>\n    <Description>The rate at which the simulation runs.</Description>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=285</Reference>\n    </References>\n  </UAVariable>\n  <UAObject NodeId=\"ns=1;i=318\" BrowseName=\"1:Boiler #4\" SymbolicName=\"BoilerDelta\" ParentNodeId=\"ns=1;i=1\">\n    <DisplayName>Boiler #4</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=319</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=334</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=342</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=350</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=354</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=358</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=364</Reference>\n      <Reference ReferenceType=\"HasNotifier\">ns=1;i=319</Reference>\n      <Reference ReferenceType=\"HasNotifier\">ns=1;i=334</Reference>\n      <Reference ReferenceType=\"HasNotifier\">ns=1;i=342</Reference>\n      <Reference ReferenceType=\"HasEventSource\">ns=1;i=364</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">ns=2;i=151</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=1</Reference>\n    </References>\n  </UAObject>\n  <UAObject NodeId=\"ns=1;i=319\" BrowseName=\"1:InputPipe\" ParentNodeId=\"ns=1;i=318\" EventNotifier=\"1\">\n    <DisplayName>Boiler #4: Pipe1001</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=320</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=327</Reference>\n      <Reference ReferenceType=\"HasNotifier\" IsForward=\"false\">ns=1;i=318</Reference>\n      <Reference ReferenceType=\"HasNotifier\">ns=1;i=320</Reference>\n      <Reference ReferenceType=\"ns=2;i=1\">ns=1;i=334</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">ns=2;i=120</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=318</Reference>\n    </References>\n  </UAObject>\n  <UAObject NodeId=\"ns=1;i=320\" BrowseName=\"2:FTX001\" SymbolicName=\"FlowTransmitter1\" ParentNodeId=\"ns=1;i=319\" EventNotifier=\"1\">\n    <DisplayName>FlowTransmitter1</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=321</Reference>\n      <Reference ReferenceType=\"HasNotifier\" IsForward=\"false\">ns=1;i=319</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">ns=2;i=50</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=319</Reference>\n    </References>\n  </UAObject>\n  <UAVariable NodeId=\"ns=1;i=321\" BrowseName=\"2:Output\" ParentNodeId=\"ns=1;i=320\" DataType=\"Double\">\n    <DisplayName>Output</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=325</Reference>\n      <Reference ReferenceType=\"ns=2;i=3\">ns=1;i=351</Reference>\n      <Reference ReferenceType=\"ns=2;i=3\">ns=1;i=360</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=2368</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=320</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=325\" BrowseName=\"EURange\" ParentNodeId=\"ns=1;i=321\" DataType=\"i=884\">\n    <DisplayName>EURange</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=321</Reference>\n    </References>\n  </UAVariable>\n  <UAObject NodeId=\"ns=1;i=327\" BrowseName=\"2:ValveX001\" SymbolicName=\"Valve\" ParentNodeId=\"ns=1;i=319\" EventNotifier=\"1\">\n    <DisplayName>Valve</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=328</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">ns=2;i=28</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=319</Reference>\n    </References>\n  </UAObject>\n  <UAVariable NodeId=\"ns=1;i=328\" BrowseName=\"2:Input\" ParentNodeId=\"ns=1;i=327\" DataType=\"Double\" AccessLevel=\"2\" UserAccessLevel=\"2\">\n    <DisplayName>Input</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=332</Reference>\n      <Reference ReferenceType=\"ns=2;i=3\" IsForward=\"false\">ns=1;i=353</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=2368</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=327</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=332\" BrowseName=\"EURange\" ParentNodeId=\"ns=1;i=328\" DataType=\"i=884\">\n    <DisplayName>EURange</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=328</Reference>\n    </References>\n  </UAVariable>\n  <UAObject NodeId=\"ns=1;i=334\" BrowseName=\"1:Drum\" ParentNodeId=\"ns=1;i=318\" EventNotifier=\"1\">\n    <DisplayName>Boiler #4: Drum1001</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=335</Reference>\n      <Reference ReferenceType=\"HasNotifier\" IsForward=\"false\">ns=1;i=318</Reference>\n      <Reference ReferenceType=\"ns=2;i=1\" IsForward=\"false\">ns=1;i=319</Reference>\n      <Reference ReferenceType=\"HasNotifier\">ns=1;i=335</Reference>\n      <Reference ReferenceType=\"ns=2;i=2\">ns=1;i=342</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">ns=2;i=135</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=318</Reference>\n    </References>\n  </UAObject>\n  <UAObject NodeId=\"ns=1;i=335\" BrowseName=\"2:LIX001\" SymbolicName=\"LevelIndicator\" ParentNodeId=\"ns=1;i=334\" EventNotifier=\"1\">\n    <DisplayName>LIX001</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=336</Reference>\n      <Reference ReferenceType=\"HasNotifier\" IsForward=\"false\">ns=1;i=334</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">ns=2;i=43</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=334</Reference>\n    </References>\n  </UAObject>\n  <UAVariable NodeId=\"ns=1;i=336\" BrowseName=\"2:Output\" ParentNodeId=\"ns=1;i=335\" DataType=\"Number\">\n    <DisplayName>Output</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=340</Reference>\n      <Reference ReferenceType=\"ns=2;i=3\">ns=1;i=355</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=2368</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=335</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=340\" BrowseName=\"EURange\" ParentNodeId=\"ns=1;i=336\" DataType=\"i=884\">\n    <DisplayName>EURange</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=336</Reference>\n    </References>\n  </UAVariable>\n  <UAObject NodeId=\"ns=1;i=342\" BrowseName=\"1:OutputPipe\" ParentNodeId=\"ns=1;i=318\" EventNotifier=\"1\">\n    <DisplayName>Boiler #4: Pipe1002</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=343</Reference>\n      <Reference ReferenceType=\"HasNotifier\" IsForward=\"false\">ns=1;i=318</Reference>\n      <Reference ReferenceType=\"ns=2;i=2\" IsForward=\"false\">ns=1;i=334</Reference>\n      <Reference ReferenceType=\"HasNotifier\">ns=1;i=343</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">ns=2;i=143</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=318</Reference>\n    </References>\n  </UAObject>\n  <UAObject NodeId=\"ns=1;i=343\" BrowseName=\"2:FTX002\" SymbolicName=\"FlowTransmitter2\" ParentNodeId=\"ns=1;i=342\" EventNotifier=\"1\">\n    <DisplayName>FTX002</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=344</Reference>\n      <Reference ReferenceType=\"HasNotifier\" IsForward=\"false\">ns=1;i=342</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">ns=2;i=50</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=342</Reference>\n    </References>\n  </UAObject>\n  <UAVariable NodeId=\"ns=1;i=344\" BrowseName=\"2:Output\" ParentNodeId=\"ns=1;i=343\" DataType=\"Double\">\n    <DisplayName>Output</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=348</Reference>\n      <Reference ReferenceType=\"ns=2;i=3\">ns=1;i=361</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=2368</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=343</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=348\" BrowseName=\"EURange\" ParentNodeId=\"ns=1;i=344\" DataType=\"i=884\">\n    <DisplayName>EURange</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=344</Reference>\n    </References>\n  </UAVariable>\n  <UAObject NodeId=\"ns=1;i=350\" BrowseName=\"1:FlowController\" ParentNodeId=\"ns=1;i=318\">\n    <DisplayName>Boiler #4: FC1001</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=351</Reference>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=352</Reference>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=353</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">ns=2;i=39</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=318</Reference>\n    </References>\n  </UAObject>\n  <UAVariable NodeId=\"ns=1;i=351\" BrowseName=\"2:Measurement\" ParentNodeId=\"ns=1;i=350\" DataType=\"Double\">\n    <DisplayName>Measurement</DisplayName>\n    <References>\n      <Reference ReferenceType=\"ns=2;i=3\" IsForward=\"false\">ns=1;i=321</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=350</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=352\" BrowseName=\"2:SetPoint\" ParentNodeId=\"ns=1;i=350\" DataType=\"Double\" AccessLevel=\"3\" UserAccessLevel=\"3\">\n    <DisplayName>SetPoint</DisplayName>\n    <References>\n      <Reference ReferenceType=\"ns=2;i=3\" IsForward=\"false\">ns=1;i=362</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=350</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=353\" BrowseName=\"2:ControlOut\" ParentNodeId=\"ns=1;i=350\" DataType=\"Double\">\n    <DisplayName>ControlOut</DisplayName>\n    <References>\n      <Reference ReferenceType=\"ns=2;i=3\">ns=1;i=328</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=350</Reference>\n    </References>\n  </UAVariable>\n  <UAObject NodeId=\"ns=1;i=354\" BrowseName=\"1:LevelController\" ParentNodeId=\"ns=1;i=318\">\n    <DisplayName>Boiler #4: LC1001</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=355</Reference>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=356</Reference>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=357</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">ns=2;i=35</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=318</Reference>\n    </References>\n  </UAObject>\n  <UAVariable NodeId=\"ns=1;i=355\" BrowseName=\"2:Measurement\" ParentNodeId=\"ns=1;i=354\" DataType=\"Double\">\n    <DisplayName>Measurement</DisplayName>\n    <References>\n      <Reference ReferenceType=\"ns=2;i=3\" IsForward=\"false\">ns=1;i=336</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=354</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=356\" BrowseName=\"2:SetPoint\" ParentNodeId=\"ns=1;i=354\" DataType=\"Double\" AccessLevel=\"3\" UserAccessLevel=\"3\">\n    <DisplayName>SetPoint</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=354</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=357\" BrowseName=\"2:ControlOut\" ParentNodeId=\"ns=1;i=354\" DataType=\"Double\">\n    <DisplayName>ControlOut</DisplayName>\n    <References>\n      <Reference ReferenceType=\"ns=2;i=3\">ns=1;i=359</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=354</Reference>\n    </References>\n  </UAVariable>\n  <UAObject NodeId=\"ns=1;i=358\" BrowseName=\"1:CustomController\" ParentNodeId=\"ns=1;i=318\">\n    <DisplayName>Boiler #4: CC1001</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=359</Reference>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=360</Reference>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=361</Reference>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=362</Reference>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=363</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">ns=2;i=22</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=318</Reference>\n    </References>\n  </UAObject>\n  <UAVariable NodeId=\"ns=1;i=359\" BrowseName=\"2:Input1\" ParentNodeId=\"ns=1;i=358\" DataType=\"Double\" AccessLevel=\"2\" UserAccessLevel=\"2\">\n    <DisplayName>Input1</DisplayName>\n    <References>\n      <Reference ReferenceType=\"ns=2;i=3\" IsForward=\"false\">ns=1;i=357</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=358</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=360\" BrowseName=\"2:Input2\" ParentNodeId=\"ns=1;i=358\" DataType=\"Double\" AccessLevel=\"2\" UserAccessLevel=\"2\">\n    <DisplayName>Input2</DisplayName>\n    <References>\n      <Reference ReferenceType=\"ns=2;i=3\" IsForward=\"false\">ns=1;i=321</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=358</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=361\" BrowseName=\"2:Input3\" ParentNodeId=\"ns=1;i=358\" DataType=\"Double\" AccessLevel=\"2\" UserAccessLevel=\"2\">\n    <DisplayName>Input3</DisplayName>\n    <References>\n      <Reference ReferenceType=\"ns=2;i=3\" IsForward=\"false\">ns=1;i=344</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=358</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=362\" BrowseName=\"2:ControlOut\" ParentNodeId=\"ns=1;i=358\" DataType=\"Double\">\n    <DisplayName>ControlOut</DisplayName>\n    <References>\n      <Reference ReferenceType=\"ns=2;i=3\">ns=1;i=352</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=358</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=363\" BrowseName=\"2:Description\" SymbolicName=\"DescriptionX\" ParentNodeId=\"ns=1;i=358\" DataType=\"LocalizedText\">\n    <DisplayName>Description</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=358</Reference>\n    </References>\n  </UAVariable>\n  <UAObject NodeId=\"ns=1;i=364\" BrowseName=\"2:Simulation\" ParentNodeId=\"ns=1;i=318\" EventNotifier=\"1\">\n    <DisplayName>Simulation</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=365</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=370</Reference>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=376</Reference>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=378</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=391</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=392</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=393</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=394</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=395</Reference>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=396</Reference>\n      <Reference ReferenceType=\"HasEventSource\" IsForward=\"false\">ns=1;i=318</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">ns=2;i=57</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=318</Reference>\n    </References>\n  </UAObject>\n  <UAVariable NodeId=\"ns=1;i=365\" BrowseName=\"CurrentState\" ParentNodeId=\"ns=1;i=364\" DataType=\"LocalizedText\">\n    <DisplayName>CurrentState</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=366</Reference>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=368</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=2760</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=364</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=366\" BrowseName=\"Id\" ParentNodeId=\"ns=1;i=365\" DataType=\"NodeId\">\n    <DisplayName>Id</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=365</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=368\" BrowseName=\"Number\" ParentNodeId=\"ns=1;i=365\" DataType=\"UInt32\">\n    <DisplayName>Number</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=365</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=370\" BrowseName=\"LastTransition\" ParentNodeId=\"ns=1;i=364\" DataType=\"LocalizedText\">\n    <DisplayName>LastTransition</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=371</Reference>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=373</Reference>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=374</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=2767</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=364</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=371\" BrowseName=\"Id\" ParentNodeId=\"ns=1;i=370\" DataType=\"NodeId\">\n    <DisplayName>Id</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=370</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=373\" BrowseName=\"Number\" ParentNodeId=\"ns=1;i=370\" DataType=\"UInt32\">\n    <DisplayName>Number</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=370</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=374\" BrowseName=\"TransitionTime\" ParentNodeId=\"ns=1;i=370\" DataType=\"i=294\">\n    <DisplayName>TransitionTime</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=370</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=376\" BrowseName=\"Deletable\" ParentNodeId=\"ns=1;i=364\" DataType=\"Boolean\">\n    <DisplayName>Deletable</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=364</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=378\" BrowseName=\"RecycleCount\" ParentNodeId=\"ns=1;i=364\" DataType=\"Int32\">\n    <DisplayName>RecycleCount</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=364</Reference>\n    </References>\n  </UAVariable>\n  <UAMethod NodeId=\"ns=1;i=391\" BrowseName=\"Start\" ParentNodeId=\"ns=1;i=364\" MethodDeclarationId=\"i=2426\">\n    <DisplayName>Start</DisplayName>\n    <Description>Causes the Program to transition from the Ready state to the Running state.</Description>\n    <References>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=364</Reference>\n    </References>\n  </UAMethod>\n  <UAMethod NodeId=\"ns=1;i=392\" BrowseName=\"Suspend\" ParentNodeId=\"ns=1;i=364\" MethodDeclarationId=\"i=2427\">\n    <DisplayName>Suspend</DisplayName>\n    <Description>Causes the Program to transition from the Running state to the Suspended state.</Description>\n    <References>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=364</Reference>\n    </References>\n  </UAMethod>\n  <UAMethod NodeId=\"ns=1;i=393\" BrowseName=\"Resume\" ParentNodeId=\"ns=1;i=364\" MethodDeclarationId=\"i=2428\">\n    <DisplayName>Resume</DisplayName>\n    <Description>Causes the Program to transition from the Suspended state to the Running state.</Description>\n    <References>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=364</Reference>\n    </References>\n  </UAMethod>\n  <UAMethod NodeId=\"ns=1;i=394\" BrowseName=\"Halt\" ParentNodeId=\"ns=1;i=364\" MethodDeclarationId=\"i=2429\">\n    <DisplayName>Halt</DisplayName>\n    <Description>Causes the Program to transition from the Ready, Running or Suspended state to the Halted state.</Description>\n    <References>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=364</Reference>\n    </References>\n  </UAMethod>\n  <UAMethod NodeId=\"ns=1;i=395\" BrowseName=\"Reset\" ParentNodeId=\"ns=1;i=364\" MethodDeclarationId=\"i=2430\">\n    <DisplayName>Reset</DisplayName>\n    <Description>Causes the Program to transition from the Halted state to the Ready state.</Description>\n    <References>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=364</Reference>\n    </References>\n  </UAMethod>\n  <UAVariable NodeId=\"ns=1;i=396\" BrowseName=\"2:UpdateRate\" ParentNodeId=\"ns=1;i=364\" DataType=\"UInt32\" AccessLevel=\"3\" UserAccessLevel=\"3\">\n    <DisplayName>UpdateRate</DisplayName>\n    <Description>The rate at which the simulation runs.</Description>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=364</Reference>\n    </References>\n  </UAVariable>\n  <UAObject NodeId=\"ns=1;i=398\" BrowseName=\"1:Drums\">\n    <DisplayName>Drums</DisplayName>\n    <References>\n      <Reference ReferenceType=\"Organizes\" IsForward=\"false\">i=85</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=97</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=58</Reference>\n    </References>\n  </UAObject>\n  <UAObject NodeId=\"ns=1;i=399\" BrowseName=\"1:Pipes\">\n    <DisplayName>Pipes</DisplayName>\n    <References>\n      <Reference ReferenceType=\"Organizes\" IsForward=\"false\">i=85</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=82</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=105</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=161</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=184</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=240</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=263</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=319</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=342</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=58</Reference>\n    </References>\n  </UAObject>\n</UANodeSet>"
  },
  {
    "path": "DataDiscovery/Tests/DiscoveryServices.UnitTest/TestData/root.zone/commsvr.com/UA/Examples/BoilersSet/DomainDescriptor.xml",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<DomainDescriptor xmlns=\"http://commsvr.com/UAOOI/DataDiscovery/DiscoveryServices/Models/DomainDescriptor.xsd\">\n  <Description>Iteration #2 DomainDescriptor record - Boiler test domain model.</Description>\n  <UrlPattern>https://raw.githubusercontent.com/mpostol/OPC-UA-OOI/master/DataDiscovery/Tests/DiscoveryServices.UnitTest/TestData/root.zone/#authority#/#path#/DomainModel.xml</UrlPattern>\n  <NextStepRecordType>DomainModel</NextStepRecordType>\n</DomainDescriptor>"
  },
  {
    "path": "DataDiscovery/Tests/DiscoveryServices.UnitTest/TestData/root.zone/commsvr.com/UA/Examples/BoilersSet/DomainModel.xml",
    "content": "<?xml version=\"1.0\"?>\n<DomainModel xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\" xmlns=\"http://http://commsvr.com/UAOOI/DataDiscovery/DiscoveryServices/Models/DomainModel.xsd\">\n  <AliasName>BoilersArea</AliasName>\n  <DomainModelUriString>http://commsvr.com/UA/Examples/BoilersSet</DomainModelUriString>\n  <DomainModelGuidString>81976533-c604-4aea-a2f9-f27687ff1a17</DomainModelGuidString>\n  <Description>Domain model for the BoilersArea</Description>\n  <SemanticsDataCollection>\n    <SemanticsDataIndex>\n      <SymbolicName>BoilersArea_BoilerAlpha</SymbolicName>\n      <Index>0</Index>\n      <DataSet>\n        <FieldMetaData>\n          <SymbolicName>InputPipe_FlowTransmitter1_Output</SymbolicName>\n          <TypeInformation>\n            <BuiltInType>Double</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </FieldMetaData>\n        <FieldMetaData>\n          <SymbolicName>InputPipe_FlowTransmitter1_Output_Definition</SymbolicName>\n          <TypeInformation>\n            <BuiltInType>String</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </FieldMetaData>\n        <FieldMetaData>\n          <SymbolicName>InputPipe_FlowTransmitter1_Output_ValuePrecision</SymbolicName>\n          <TypeInformation>\n            <BuiltInType>Double</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </FieldMetaData>\n        <FieldMetaData>\n          <SymbolicName>InputPipe_FlowTransmitter1_Output_InstrumentRange</SymbolicName>\n          <TypeInformation>\n            <BuiltInType>ExtensionObject</BuiltInType>\n            <ValueRank>-1</ValueRank>\n            <TypeName xmlns:q1=\"http://opcfoundation.org/UA/\">q1:Range</TypeName>\n          </TypeInformation>\n        </FieldMetaData>\n        <FieldMetaData>\n          <SymbolicName>InputPipe_FlowTransmitter1_Output_EURange</SymbolicName>\n          <TypeInformation>\n            <BuiltInType>ExtensionObject</BuiltInType>\n            <ValueRank>-1</ValueRank>\n            <TypeName xmlns:q2=\"http://opcfoundation.org/UA/\">q2:Range</TypeName>\n          </TypeInformation>\n        </FieldMetaData>\n        <FieldMetaData>\n          <SymbolicName>InputPipe_FlowTransmitter1_Output_EngineeringUnits</SymbolicName>\n          <TypeInformation>\n            <BuiltInType>ExtensionObject</BuiltInType>\n            <ValueRank>-1</ValueRank>\n            <TypeName xmlns:q3=\"http://opcfoundation.org/UA/\">q3:EUInformation</TypeName>\n          </TypeInformation>\n        </FieldMetaData>\n        <FieldMetaData>\n          <SymbolicName>InputPipe_Valve_Input</SymbolicName>\n          <TypeInformation>\n            <BuiltInType>Double</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </FieldMetaData>\n        <FieldMetaData>\n          <SymbolicName>InputPipe_Valve_Input_Definition</SymbolicName>\n          <TypeInformation>\n            <BuiltInType>String</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </FieldMetaData>\n        <FieldMetaData>\n          <SymbolicName>InputPipe_Valve_Input_ValuePrecision</SymbolicName>\n          <TypeInformation>\n            <BuiltInType>Double</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </FieldMetaData>\n        <FieldMetaData>\n          <SymbolicName>InputPipe_Valve_Input_InstrumentRange</SymbolicName>\n          <TypeInformation>\n            <BuiltInType>ExtensionObject</BuiltInType>\n            <ValueRank>-1</ValueRank>\n            <TypeName xmlns:q4=\"http://opcfoundation.org/UA/\">q4:Range</TypeName>\n          </TypeInformation>\n        </FieldMetaData>\n        <FieldMetaData>\n          <SymbolicName>InputPipe_Valve_Input_EURange</SymbolicName>\n          <TypeInformation>\n            <BuiltInType>ExtensionObject</BuiltInType>\n            <ValueRank>-1</ValueRank>\n            <TypeName xmlns:q5=\"http://opcfoundation.org/UA/\">q5:Range</TypeName>\n          </TypeInformation>\n        </FieldMetaData>\n        <FieldMetaData>\n          <SymbolicName>InputPipe_Valve_Input_EngineeringUnits</SymbolicName>\n          <TypeInformation>\n            <BuiltInType>ExtensionObject</BuiltInType>\n            <ValueRank>-1</ValueRank>\n            <TypeName xmlns:q6=\"http://opcfoundation.org/UA/\">q6:EUInformation</TypeName>\n          </TypeInformation>\n        </FieldMetaData>\n        <FieldMetaData>\n          <SymbolicName>Drum_LevelIndicator_Output</SymbolicName>\n          <TypeInformation>\n            <BuiltInType>Double</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </FieldMetaData>\n        <FieldMetaData>\n          <SymbolicName>Drum_LevelIndicator_Output_Definition</SymbolicName>\n          <TypeInformation>\n            <BuiltInType>String</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </FieldMetaData>\n        <FieldMetaData>\n          <SymbolicName>Drum_LevelIndicator_Output_ValuePrecision</SymbolicName>\n          <TypeInformation>\n            <BuiltInType>Double</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </FieldMetaData>\n        <FieldMetaData>\n          <SymbolicName>Drum_LevelIndicator_Output_InstrumentRange</SymbolicName>\n          <TypeInformation>\n            <BuiltInType>ExtensionObject</BuiltInType>\n            <ValueRank>-1</ValueRank>\n            <TypeName xmlns:q7=\"http://opcfoundation.org/UA/\">q7:Range</TypeName>\n          </TypeInformation>\n        </FieldMetaData>\n        <FieldMetaData>\n          <SymbolicName>Drum_LevelIndicator_Output_EURange</SymbolicName>\n          <TypeInformation>\n            <BuiltInType>ExtensionObject</BuiltInType>\n            <ValueRank>-1</ValueRank>\n            <TypeName xmlns:q8=\"http://opcfoundation.org/UA/\">q8:Range</TypeName>\n          </TypeInformation>\n        </FieldMetaData>\n        <FieldMetaData>\n          <SymbolicName>Drum_LevelIndicator_Output_EngineeringUnits</SymbolicName>\n          <TypeInformation>\n            <BuiltInType>ExtensionObject</BuiltInType>\n            <ValueRank>-1</ValueRank>\n            <TypeName xmlns:q9=\"http://opcfoundation.org/UA/\">q9:EUInformation</TypeName>\n          </TypeInformation>\n        </FieldMetaData>\n        <FieldMetaData>\n          <SymbolicName>OutputPipe_FlowTransmitter2_Output</SymbolicName>\n          <TypeInformation>\n            <BuiltInType>Double</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </FieldMetaData>\n        <FieldMetaData>\n          <SymbolicName>OutputPipe_FlowTransmitter2_Output_Definition</SymbolicName>\n          <TypeInformation>\n            <BuiltInType>String</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </FieldMetaData>\n        <FieldMetaData>\n          <SymbolicName>OutputPipe_FlowTransmitter2_Output_ValuePrecision</SymbolicName>\n          <TypeInformation>\n            <BuiltInType>Double</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </FieldMetaData>\n        <FieldMetaData>\n          <SymbolicName>OutputPipe_FlowTransmitter2_Output_InstrumentRange</SymbolicName>\n          <TypeInformation>\n            <BuiltInType>ExtensionObject</BuiltInType>\n            <ValueRank>-1</ValueRank>\n            <TypeName xmlns:q10=\"http://opcfoundation.org/UA/\">q10:Range</TypeName>\n          </TypeInformation>\n        </FieldMetaData>\n        <FieldMetaData>\n          <SymbolicName>OutputPipe_FlowTransmitter2_Output_EURange</SymbolicName>\n          <TypeInformation>\n            <BuiltInType>ExtensionObject</BuiltInType>\n            <ValueRank>-1</ValueRank>\n            <TypeName xmlns:q11=\"http://opcfoundation.org/UA/\">q11:Range</TypeName>\n          </TypeInformation>\n        </FieldMetaData>\n        <FieldMetaData>\n          <SymbolicName>OutputPipe_FlowTransmitter2_Output_EngineeringUnits</SymbolicName>\n          <TypeInformation>\n            <BuiltInType>ExtensionObject</BuiltInType>\n            <ValueRank>-1</ValueRank>\n            <TypeName xmlns:q12=\"http://opcfoundation.org/UA/\">q12:EUInformation</TypeName>\n          </TypeInformation>\n        </FieldMetaData>\n        <FieldMetaData>\n          <SymbolicName>FlowController_Measurement</SymbolicName>\n          <TypeInformation>\n            <BuiltInType>Double</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </FieldMetaData>\n        <FieldMetaData>\n          <SymbolicName>FlowController_SetPoint</SymbolicName>\n          <TypeInformation>\n            <BuiltInType>Double</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </FieldMetaData>\n        <FieldMetaData>\n          <SymbolicName>FlowController_ControlOut</SymbolicName>\n          <TypeInformation>\n            <BuiltInType>Double</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </FieldMetaData>\n        <FieldMetaData>\n          <SymbolicName>LevelController_Measurement</SymbolicName>\n          <TypeInformation>\n            <BuiltInType>Double</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </FieldMetaData>\n        <FieldMetaData>\n          <SymbolicName>LevelController_SetPoint</SymbolicName>\n          <TypeInformation>\n            <BuiltInType>Double</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </FieldMetaData>\n        <FieldMetaData>\n          <SymbolicName>LevelController_ControlOut</SymbolicName>\n          <TypeInformation>\n            <BuiltInType>Double</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </FieldMetaData>\n        <FieldMetaData>\n          <SymbolicName>CustomController_Input1</SymbolicName>\n          <TypeInformation>\n            <BuiltInType>Double</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </FieldMetaData>\n        <FieldMetaData>\n          <SymbolicName>CustomController_Input2</SymbolicName>\n          <TypeInformation>\n            <BuiltInType>Double</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </FieldMetaData>\n        <FieldMetaData>\n          <SymbolicName>CustomController_Input3</SymbolicName>\n          <TypeInformation>\n            <BuiltInType>Double</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </FieldMetaData>\n        <FieldMetaData>\n          <SymbolicName>CustomController_ControlOut</SymbolicName>\n          <TypeInformation>\n            <BuiltInType>Double</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </FieldMetaData>\n        <FieldMetaData>\n          <SymbolicName>CustomController_DescriptionX</SymbolicName>\n          <TypeInformation>\n            <BuiltInType>LocalizedText</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </FieldMetaData>\n        <FieldMetaData>\n          <SymbolicName>CustomController_Input1</SymbolicName>\n          <TypeInformation>\n            <BuiltInType>Double</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </FieldMetaData>\n        <FieldMetaData>\n          <SymbolicName>Simulation_CurrentState</SymbolicName>\n          <TypeInformation>\n            <BuiltInType>LocalizedText</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </FieldMetaData>\n        <FieldMetaData>\n          <SymbolicName>Simulation_CurrentState_Id</SymbolicName>\n          <TypeInformation>\n            <BuiltInType>NodeId</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </FieldMetaData>\n        <FieldMetaData>\n          <SymbolicName>Simulation_CurrentState_Name</SymbolicName>\n          <TypeInformation>\n            <BuiltInType>LocalizedText</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </FieldMetaData>\n        <FieldMetaData>\n          <SymbolicName>Simulation_CurrentState_Number</SymbolicName>\n          <TypeInformation>\n            <BuiltInType>UInt32</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </FieldMetaData>\n        <FieldMetaData>\n          <SymbolicName>Simulation_CurrentState_EffectiveDisplayName</SymbolicName>\n          <TypeInformation>\n            <BuiltInType>Double</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </FieldMetaData>\n        <FieldMetaData>\n          <SymbolicName>Simulation_LastTransition</SymbolicName>\n          <TypeInformation>\n            <BuiltInType>LocalizedText</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </FieldMetaData>\n        <FieldMetaData>\n          <SymbolicName>Simulation_LastTransition_Id</SymbolicName>\n          <TypeInformation>\n            <BuiltInType>NodeId</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </FieldMetaData>\n        <FieldMetaData>\n          <SymbolicName>Simulation_LastTransition_Name</SymbolicName>\n          <TypeInformation>\n            <BuiltInType>LocalizedText</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </FieldMetaData>\n        <FieldMetaData>\n          <SymbolicName>Simulation_LastTransition_Number</SymbolicName>\n          <TypeInformation>\n            <BuiltInType>UInt32</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </FieldMetaData>\n        <FieldMetaData>\n          <SymbolicName>Simulation_LastTransition_TransitionTime</SymbolicName>\n          <TypeInformation>\n            <BuiltInType>DateTime</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </FieldMetaData>\n        <FieldMetaData>\n          <SymbolicName>Simulation_LastTransition_EffectiveTransitionTime</SymbolicName>\n          <TypeInformation>\n            <BuiltInType>DateTime</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </FieldMetaData>\n        <FieldMetaData>\n          <SymbolicName>Simulation_Deletable</SymbolicName>\n          <TypeInformation>\n            <BuiltInType>Boolean</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </FieldMetaData>\n        <FieldMetaData>\n          <SymbolicName>Simulation_AutoDelete</SymbolicName>\n          <TypeInformation>\n            <BuiltInType>Boolean</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </FieldMetaData>\n        <FieldMetaData>\n          <SymbolicName>Simulation_RecycleCount</SymbolicName>\n          <TypeInformation>\n            <BuiltInType>UInt32</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </FieldMetaData>\n        <FieldMetaData>\n          <SymbolicName>Simulation_ProgramDiagnostics</SymbolicName>\n          <TypeInformation>\n            <BuiltInType>Double</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </FieldMetaData>\n        <FieldMetaData>\n          <SymbolicName>Simulation_ProgramDiagnostics_CreateSessionId</SymbolicName>\n          <TypeInformation>\n            <BuiltInType>Double</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </FieldMetaData>\n        <FieldMetaData>\n          <SymbolicName>Simulation_ProgramDiagnostics_CreateClientName</SymbolicName>\n          <TypeInformation>\n            <BuiltInType>Double</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </FieldMetaData>\n        <FieldMetaData>\n          <SymbolicName>Simulation_ProgramDiagnostics_InvocationCreationTime</SymbolicName>\n          <TypeInformation>\n            <BuiltInType>Double</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </FieldMetaData>\n        <FieldMetaData>\n          <SymbolicName>Simulation_ProgramDiagnostics_InvocationCreationTime</SymbolicName>\n          <TypeInformation>\n            <BuiltInType>Double</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </FieldMetaData>\n        <FieldMetaData>\n          <SymbolicName>Simulation_ProgramDiagnostics_LastTransitionTime</SymbolicName>\n          <TypeInformation>\n            <BuiltInType>Double</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </FieldMetaData>\n        <FieldMetaData>\n          <SymbolicName>Simulation_ProgramDiagnostics_InvocationCreationTime</SymbolicName>\n          <TypeInformation>\n            <BuiltInType>Double</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </FieldMetaData>\n        <FieldMetaData>\n          <SymbolicName>Simulation_ProgramDiagnostics_LastMethodCall</SymbolicName>\n          <TypeInformation>\n            <BuiltInType>Double</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </FieldMetaData>\n        <FieldMetaData>\n          <SymbolicName>Simulation_ProgramDiagnostics_LastMethodSessionId</SymbolicName>\n          <TypeInformation>\n            <BuiltInType>Double</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </FieldMetaData>\n        <FieldMetaData>\n          <SymbolicName>Simulation_ProgramDiagnostics_LastMethodInputArguments</SymbolicName>\n          <TypeInformation>\n            <BuiltInType>Double</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </FieldMetaData>\n        <FieldMetaData>\n          <SymbolicName>Simulation_ProgramDiagnostics_LastMethodOutputArguments</SymbolicName>\n          <TypeInformation>\n            <BuiltInType>Double</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </FieldMetaData>\n        <FieldMetaData>\n          <SymbolicName>Simulation_ProgramDiagnostics_LastMethodCallTime</SymbolicName>\n          <TypeInformation>\n            <BuiltInType>Double</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </FieldMetaData>\n        <FieldMetaData>\n          <SymbolicName>Simulation_ProgramDiagnostics_LastMethodReturnStatus</SymbolicName>\n          <TypeInformation>\n            <BuiltInType>Double</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </FieldMetaData>\n        <FieldMetaData>\n          <SymbolicName>Simulation_FinalResultData</SymbolicName>\n          <TypeInformation>\n            <BuiltInType>Double</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </FieldMetaData>\n        <FieldMetaData>\n          <SymbolicName>Simulation_UpdateRate</SymbolicName>\n          <TypeInformation>\n            <BuiltInType>Int32</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </FieldMetaData>\n      </DataSet>\n    </SemanticsDataIndex>\n    <SemanticsDataIndex>\n      <SymbolicName>BoilersArea_BoilerBravo</SymbolicName>\n      <Index>1</Index>\n      <DataSet>\n        <FieldMetaData>\n          <SymbolicName>InputPipe_FlowTransmitter1_Output</SymbolicName>\n          <TypeInformation>\n            <BuiltInType>Double</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </FieldMetaData>\n        <FieldMetaData>\n          <SymbolicName>InputPipe_FlowTransmitter1_Output_Definition</SymbolicName>\n          <TypeInformation>\n            <BuiltInType>String</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </FieldMetaData>\n        <FieldMetaData>\n          <SymbolicName>InputPipe_FlowTransmitter1_Output_ValuePrecision</SymbolicName>\n          <TypeInformation>\n            <BuiltInType>Double</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </FieldMetaData>\n        <FieldMetaData>\n          <SymbolicName>InputPipe_FlowTransmitter1_Output_InstrumentRange</SymbolicName>\n          <TypeInformation>\n            <BuiltInType>ExtensionObject</BuiltInType>\n            <ValueRank>-1</ValueRank>\n            <TypeName xmlns:q1=\"http://opcfoundation.org/UA/\">q1:Range</TypeName>\n          </TypeInformation>\n        </FieldMetaData>\n        <FieldMetaData>\n          <SymbolicName>InputPipe_FlowTransmitter1_Output_EURange</SymbolicName>\n          <TypeInformation>\n            <BuiltInType>ExtensionObject</BuiltInType>\n            <ValueRank>-1</ValueRank>\n            <TypeName xmlns:q2=\"http://opcfoundation.org/UA/\">q2:Range</TypeName>\n          </TypeInformation>\n        </FieldMetaData>\n        <FieldMetaData>\n          <SymbolicName>InputPipe_FlowTransmitter1_Output_EngineeringUnits</SymbolicName>\n          <TypeInformation>\n            <BuiltInType>ExtensionObject</BuiltInType>\n            <ValueRank>-1</ValueRank>\n            <TypeName xmlns:q3=\"http://opcfoundation.org/UA/\">q3:EUInformation</TypeName>\n          </TypeInformation>\n        </FieldMetaData>\n        <FieldMetaData>\n          <SymbolicName>InputPipe_Valve_Input</SymbolicName>\n          <TypeInformation>\n            <BuiltInType>Double</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </FieldMetaData>\n        <FieldMetaData>\n          <SymbolicName>InputPipe_Valve_Input_Definition</SymbolicName>\n          <TypeInformation>\n            <BuiltInType>String</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </FieldMetaData>\n        <FieldMetaData>\n          <SymbolicName>InputPipe_Valve_Input_ValuePrecision</SymbolicName>\n          <TypeInformation>\n            <BuiltInType>Double</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </FieldMetaData>\n        <FieldMetaData>\n          <SymbolicName>InputPipe_Valve_Input_InstrumentRange</SymbolicName>\n          <TypeInformation>\n            <BuiltInType>ExtensionObject</BuiltInType>\n            <ValueRank>-1</ValueRank>\n            <TypeName xmlns:q4=\"http://opcfoundation.org/UA/\">q4:Range</TypeName>\n          </TypeInformation>\n        </FieldMetaData>\n        <FieldMetaData>\n          <SymbolicName>InputPipe_Valve_Input_EURange</SymbolicName>\n          <TypeInformation>\n            <BuiltInType>ExtensionObject</BuiltInType>\n            <ValueRank>-1</ValueRank>\n            <TypeName xmlns:q5=\"http://opcfoundation.org/UA/\">q5:Range</TypeName>\n          </TypeInformation>\n        </FieldMetaData>\n        <FieldMetaData>\n          <SymbolicName>InputPipe_Valve_Input_EngineeringUnits</SymbolicName>\n          <TypeInformation>\n            <BuiltInType>ExtensionObject</BuiltInType>\n            <ValueRank>-1</ValueRank>\n            <TypeName xmlns:q6=\"http://opcfoundation.org/UA/\">q6:EUInformation</TypeName>\n          </TypeInformation>\n        </FieldMetaData>\n        <FieldMetaData>\n          <SymbolicName>Drum_LevelIndicator_Output</SymbolicName>\n          <TypeInformation>\n            <BuiltInType>Double</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </FieldMetaData>\n        <FieldMetaData>\n          <SymbolicName>Drum_LevelIndicator_Output_Definition</SymbolicName>\n          <TypeInformation>\n            <BuiltInType>String</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </FieldMetaData>\n        <FieldMetaData>\n          <SymbolicName>Drum_LevelIndicator_Output_ValuePrecision</SymbolicName>\n          <TypeInformation>\n            <BuiltInType>Double</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </FieldMetaData>\n        <FieldMetaData>\n          <SymbolicName>Drum_LevelIndicator_Output_InstrumentRange</SymbolicName>\n          <TypeInformation>\n            <BuiltInType>ExtensionObject</BuiltInType>\n            <ValueRank>-1</ValueRank>\n            <TypeName xmlns:q7=\"http://opcfoundation.org/UA/\">q7:Range</TypeName>\n          </TypeInformation>\n        </FieldMetaData>\n        <FieldMetaData>\n          <SymbolicName>Drum_LevelIndicator_Output_EURange</SymbolicName>\n          <TypeInformation>\n            <BuiltInType>ExtensionObject</BuiltInType>\n            <ValueRank>-1</ValueRank>\n            <TypeName xmlns:q8=\"http://opcfoundation.org/UA/\">q8:Range</TypeName>\n          </TypeInformation>\n        </FieldMetaData>\n        <FieldMetaData>\n          <SymbolicName>Drum_LevelIndicator_Output_EngineeringUnits</SymbolicName>\n          <TypeInformation>\n            <BuiltInType>ExtensionObject</BuiltInType>\n            <ValueRank>-1</ValueRank>\n            <TypeName xmlns:q9=\"http://opcfoundation.org/UA/\">q9:EUInformation</TypeName>\n          </TypeInformation>\n        </FieldMetaData>\n        <FieldMetaData>\n          <SymbolicName>OutputPipe_FlowTransmitter2_Output</SymbolicName>\n          <TypeInformation>\n            <BuiltInType>Double</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </FieldMetaData>\n        <FieldMetaData>\n          <SymbolicName>OutputPipe_FlowTransmitter2_Output_Definition</SymbolicName>\n          <TypeInformation>\n            <BuiltInType>String</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </FieldMetaData>\n        <FieldMetaData>\n          <SymbolicName>OutputPipe_FlowTransmitter2_Output_ValuePrecision</SymbolicName>\n          <TypeInformation>\n            <BuiltInType>Double</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </FieldMetaData>\n        <FieldMetaData>\n          <SymbolicName>OutputPipe_FlowTransmitter2_Output_InstrumentRange</SymbolicName>\n          <TypeInformation>\n            <BuiltInType>ExtensionObject</BuiltInType>\n            <ValueRank>-1</ValueRank>\n            <TypeName xmlns:q10=\"http://opcfoundation.org/UA/\">q10:Range</TypeName>\n          </TypeInformation>\n        </FieldMetaData>\n        <FieldMetaData>\n          <SymbolicName>OutputPipe_FlowTransmitter2_Output_EURange</SymbolicName>\n          <TypeInformation>\n            <BuiltInType>ExtensionObject</BuiltInType>\n            <ValueRank>-1</ValueRank>\n            <TypeName xmlns:q11=\"http://opcfoundation.org/UA/\">q11:Range</TypeName>\n          </TypeInformation>\n        </FieldMetaData>\n        <FieldMetaData>\n          <SymbolicName>OutputPipe_FlowTransmitter2_Output_EngineeringUnits</SymbolicName>\n          <TypeInformation>\n            <BuiltInType>ExtensionObject</BuiltInType>\n            <ValueRank>-1</ValueRank>\n            <TypeName xmlns:q12=\"http://opcfoundation.org/UA/\">q12:EUInformation</TypeName>\n          </TypeInformation>\n        </FieldMetaData>\n        <FieldMetaData>\n          <SymbolicName>FlowController_Measurement</SymbolicName>\n          <TypeInformation>\n            <BuiltInType>Double</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </FieldMetaData>\n        <FieldMetaData>\n          <SymbolicName>FlowController_SetPoint</SymbolicName>\n          <TypeInformation>\n            <BuiltInType>Double</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </FieldMetaData>\n        <FieldMetaData>\n          <SymbolicName>FlowController_ControlOut</SymbolicName>\n          <TypeInformation>\n            <BuiltInType>Double</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </FieldMetaData>\n        <FieldMetaData>\n          <SymbolicName>LevelController_Measurement</SymbolicName>\n          <TypeInformation>\n            <BuiltInType>Double</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </FieldMetaData>\n        <FieldMetaData>\n          <SymbolicName>LevelController_SetPoint</SymbolicName>\n          <TypeInformation>\n            <BuiltInType>Double</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </FieldMetaData>\n        <FieldMetaData>\n          <SymbolicName>LevelController_ControlOut</SymbolicName>\n          <TypeInformation>\n            <BuiltInType>Double</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </FieldMetaData>\n        <FieldMetaData>\n          <SymbolicName>CustomController_Input1</SymbolicName>\n          <TypeInformation>\n            <BuiltInType>Double</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </FieldMetaData>\n        <FieldMetaData>\n          <SymbolicName>CustomController_Input2</SymbolicName>\n          <TypeInformation>\n            <BuiltInType>Double</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </FieldMetaData>\n        <FieldMetaData>\n          <SymbolicName>CustomController_Input3</SymbolicName>\n          <TypeInformation>\n            <BuiltInType>Double</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </FieldMetaData>\n        <FieldMetaData>\n          <SymbolicName>CustomController_ControlOut</SymbolicName>\n          <TypeInformation>\n            <BuiltInType>Double</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </FieldMetaData>\n        <FieldMetaData>\n          <SymbolicName>CustomController_DescriptionX</SymbolicName>\n          <TypeInformation>\n            <BuiltInType>LocalizedText</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </FieldMetaData>\n        <FieldMetaData>\n          <SymbolicName>CustomController_Input1</SymbolicName>\n          <TypeInformation>\n            <BuiltInType>Double</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </FieldMetaData>\n        <FieldMetaData>\n          <SymbolicName>Simulation_CurrentState</SymbolicName>\n          <TypeInformation>\n            <BuiltInType>LocalizedText</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </FieldMetaData>\n        <FieldMetaData>\n          <SymbolicName>Simulation_CurrentState_Id</SymbolicName>\n          <TypeInformation>\n            <BuiltInType>NodeId</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </FieldMetaData>\n        <FieldMetaData>\n          <SymbolicName>Simulation_CurrentState_Name</SymbolicName>\n          <TypeInformation>\n            <BuiltInType>LocalizedText</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </FieldMetaData>\n        <FieldMetaData>\n          <SymbolicName>Simulation_CurrentState_Number</SymbolicName>\n          <TypeInformation>\n            <BuiltInType>UInt32</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </FieldMetaData>\n        <FieldMetaData>\n          <SymbolicName>Simulation_CurrentState_EffectiveDisplayName</SymbolicName>\n          <TypeInformation>\n            <BuiltInType>Double</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </FieldMetaData>\n        <FieldMetaData>\n          <SymbolicName>Simulation_LastTransition</SymbolicName>\n          <TypeInformation>\n            <BuiltInType>LocalizedText</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </FieldMetaData>\n        <FieldMetaData>\n          <SymbolicName>Simulation_LastTransition_Id</SymbolicName>\n          <TypeInformation>\n            <BuiltInType>NodeId</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </FieldMetaData>\n        <FieldMetaData>\n          <SymbolicName>Simulation_LastTransition_Name</SymbolicName>\n          <TypeInformation>\n            <BuiltInType>LocalizedText</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </FieldMetaData>\n        <FieldMetaData>\n          <SymbolicName>Simulation_LastTransition_Number</SymbolicName>\n          <TypeInformation>\n            <BuiltInType>UInt32</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </FieldMetaData>\n        <FieldMetaData>\n          <SymbolicName>Simulation_LastTransition_TransitionTime</SymbolicName>\n          <TypeInformation>\n            <BuiltInType>DateTime</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </FieldMetaData>\n        <FieldMetaData>\n          <SymbolicName>Simulation_LastTransition_EffectiveTransitionTime</SymbolicName>\n          <TypeInformation>\n            <BuiltInType>DateTime</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </FieldMetaData>\n        <FieldMetaData>\n          <SymbolicName>Simulation_Deletable</SymbolicName>\n          <TypeInformation>\n            <BuiltInType>Boolean</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </FieldMetaData>\n        <FieldMetaData>\n          <SymbolicName>Simulation_AutoDelete</SymbolicName>\n          <TypeInformation>\n            <BuiltInType>Boolean</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </FieldMetaData>\n        <FieldMetaData>\n          <SymbolicName>Simulation_RecycleCount</SymbolicName>\n          <TypeInformation>\n            <BuiltInType>UInt32</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </FieldMetaData>\n        <FieldMetaData>\n          <SymbolicName>Simulation_ProgramDiagnostics</SymbolicName>\n          <TypeInformation>\n            <BuiltInType>Double</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </FieldMetaData>\n        <FieldMetaData>\n          <SymbolicName>Simulation_ProgramDiagnostics_CreateSessionId</SymbolicName>\n          <TypeInformation>\n            <BuiltInType>Double</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </FieldMetaData>\n        <FieldMetaData>\n          <SymbolicName>Simulation_ProgramDiagnostics_CreateClientName</SymbolicName>\n          <TypeInformation>\n            <BuiltInType>Double</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </FieldMetaData>\n        <FieldMetaData>\n          <SymbolicName>Simulation_ProgramDiagnostics_InvocationCreationTime</SymbolicName>\n          <TypeInformation>\n            <BuiltInType>Double</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </FieldMetaData>\n        <FieldMetaData>\n          <SymbolicName>Simulation_ProgramDiagnostics_InvocationCreationTime</SymbolicName>\n          <TypeInformation>\n            <BuiltInType>Double</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </FieldMetaData>\n        <FieldMetaData>\n          <SymbolicName>Simulation_ProgramDiagnostics_LastTransitionTime</SymbolicName>\n          <TypeInformation>\n            <BuiltInType>Double</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </FieldMetaData>\n        <FieldMetaData>\n          <SymbolicName>Simulation_ProgramDiagnostics_InvocationCreationTime</SymbolicName>\n          <TypeInformation>\n            <BuiltInType>Double</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </FieldMetaData>\n        <FieldMetaData>\n          <SymbolicName>Simulation_ProgramDiagnostics_LastMethodCall</SymbolicName>\n          <TypeInformation>\n            <BuiltInType>Double</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </FieldMetaData>\n        <FieldMetaData>\n          <SymbolicName>Simulation_ProgramDiagnostics_LastMethodSessionId</SymbolicName>\n          <TypeInformation>\n            <BuiltInType>Double</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </FieldMetaData>\n        <FieldMetaData>\n          <SymbolicName>Simulation_ProgramDiagnostics_LastMethodInputArguments</SymbolicName>\n          <TypeInformation>\n            <BuiltInType>Double</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </FieldMetaData>\n        <FieldMetaData>\n          <SymbolicName>Simulation_ProgramDiagnostics_LastMethodOutputArguments</SymbolicName>\n          <TypeInformation>\n            <BuiltInType>Double</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </FieldMetaData>\n        <FieldMetaData>\n          <SymbolicName>Simulation_ProgramDiagnostics_LastMethodCallTime</SymbolicName>\n          <TypeInformation>\n            <BuiltInType>Double</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </FieldMetaData>\n        <FieldMetaData>\n          <SymbolicName>Simulation_ProgramDiagnostics_LastMethodReturnStatus</SymbolicName>\n          <TypeInformation>\n            <BuiltInType>Double</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </FieldMetaData>\n        <FieldMetaData>\n          <SymbolicName>Simulation_FinalResultData</SymbolicName>\n          <TypeInformation>\n            <BuiltInType>Double</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </FieldMetaData>\n        <FieldMetaData>\n          <SymbolicName>Simulation_UpdateRate</SymbolicName>\n          <TypeInformation>\n            <BuiltInType>Int32</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </FieldMetaData>\n      </DataSet>\n    </SemanticsDataIndex>\n    <SemanticsDataIndex>\n      <SymbolicName>BoilersArea_BoilerCharlie</SymbolicName>\n      <Index>2</Index>\n      <DataSet>\n        <FieldMetaData>\n          <SymbolicName>InputPipe_FlowTransmitter1_Output</SymbolicName>\n          <TypeInformation>\n            <BuiltInType>Double</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </FieldMetaData>\n        <FieldMetaData>\n          <SymbolicName>InputPipe_FlowTransmitter1_Output_Definition</SymbolicName>\n          <TypeInformation>\n            <BuiltInType>String</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </FieldMetaData>\n        <FieldMetaData>\n          <SymbolicName>InputPipe_FlowTransmitter1_Output_ValuePrecision</SymbolicName>\n          <TypeInformation>\n            <BuiltInType>Double</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </FieldMetaData>\n        <FieldMetaData>\n          <SymbolicName>InputPipe_FlowTransmitter1_Output_InstrumentRange</SymbolicName>\n          <TypeInformation>\n            <BuiltInType>ExtensionObject</BuiltInType>\n            <ValueRank>-1</ValueRank>\n            <TypeName xmlns:q1=\"http://opcfoundation.org/UA/\">q1:Range</TypeName>\n          </TypeInformation>\n        </FieldMetaData>\n        <FieldMetaData>\n          <SymbolicName>InputPipe_FlowTransmitter1_Output_EURange</SymbolicName>\n          <TypeInformation>\n            <BuiltInType>ExtensionObject</BuiltInType>\n            <ValueRank>-1</ValueRank>\n            <TypeName xmlns:q2=\"http://opcfoundation.org/UA/\">q2:Range</TypeName>\n          </TypeInformation>\n        </FieldMetaData>\n        <FieldMetaData>\n          <SymbolicName>InputPipe_FlowTransmitter1_Output_EngineeringUnits</SymbolicName>\n          <TypeInformation>\n            <BuiltInType>ExtensionObject</BuiltInType>\n            <ValueRank>-1</ValueRank>\n            <TypeName xmlns:q3=\"http://opcfoundation.org/UA/\">q3:EUInformation</TypeName>\n          </TypeInformation>\n        </FieldMetaData>\n        <FieldMetaData>\n          <SymbolicName>InputPipe_Valve_Input</SymbolicName>\n          <TypeInformation>\n            <BuiltInType>Double</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </FieldMetaData>\n        <FieldMetaData>\n          <SymbolicName>InputPipe_Valve_Input_Definition</SymbolicName>\n          <TypeInformation>\n            <BuiltInType>String</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </FieldMetaData>\n        <FieldMetaData>\n          <SymbolicName>InputPipe_Valve_Input_ValuePrecision</SymbolicName>\n          <TypeInformation>\n            <BuiltInType>Double</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </FieldMetaData>\n        <FieldMetaData>\n          <SymbolicName>InputPipe_Valve_Input_InstrumentRange</SymbolicName>\n          <TypeInformation>\n            <BuiltInType>ExtensionObject</BuiltInType>\n            <ValueRank>-1</ValueRank>\n            <TypeName xmlns:q4=\"http://opcfoundation.org/UA/\">q4:Range</TypeName>\n          </TypeInformation>\n        </FieldMetaData>\n        <FieldMetaData>\n          <SymbolicName>InputPipe_Valve_Input_EURange</SymbolicName>\n          <TypeInformation>\n            <BuiltInType>ExtensionObject</BuiltInType>\n            <ValueRank>-1</ValueRank>\n            <TypeName xmlns:q5=\"http://opcfoundation.org/UA/\">q5:Range</TypeName>\n          </TypeInformation>\n        </FieldMetaData>\n        <FieldMetaData>\n          <SymbolicName>InputPipe_Valve_Input_EngineeringUnits</SymbolicName>\n          <TypeInformation>\n            <BuiltInType>ExtensionObject</BuiltInType>\n            <ValueRank>-1</ValueRank>\n            <TypeName xmlns:q6=\"http://opcfoundation.org/UA/\">q6:EUInformation</TypeName>\n          </TypeInformation>\n        </FieldMetaData>\n        <FieldMetaData>\n          <SymbolicName>Drum_LevelIndicator_Output</SymbolicName>\n          <TypeInformation>\n            <BuiltInType>Double</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </FieldMetaData>\n        <FieldMetaData>\n          <SymbolicName>Drum_LevelIndicator_Output_Definition</SymbolicName>\n          <TypeInformation>\n            <BuiltInType>String</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </FieldMetaData>\n        <FieldMetaData>\n          <SymbolicName>Drum_LevelIndicator_Output_ValuePrecision</SymbolicName>\n          <TypeInformation>\n            <BuiltInType>Double</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </FieldMetaData>\n        <FieldMetaData>\n          <SymbolicName>Drum_LevelIndicator_Output_InstrumentRange</SymbolicName>\n          <TypeInformation>\n            <BuiltInType>ExtensionObject</BuiltInType>\n            <ValueRank>-1</ValueRank>\n            <TypeName xmlns:q7=\"http://opcfoundation.org/UA/\">q7:Range</TypeName>\n          </TypeInformation>\n        </FieldMetaData>\n        <FieldMetaData>\n          <SymbolicName>Drum_LevelIndicator_Output_EURange</SymbolicName>\n          <TypeInformation>\n            <BuiltInType>ExtensionObject</BuiltInType>\n            <ValueRank>-1</ValueRank>\n            <TypeName xmlns:q8=\"http://opcfoundation.org/UA/\">q8:Range</TypeName>\n          </TypeInformation>\n        </FieldMetaData>\n        <FieldMetaData>\n          <SymbolicName>Drum_LevelIndicator_Output_EngineeringUnits</SymbolicName>\n          <TypeInformation>\n            <BuiltInType>ExtensionObject</BuiltInType>\n            <ValueRank>-1</ValueRank>\n            <TypeName xmlns:q9=\"http://opcfoundation.org/UA/\">q9:EUInformation</TypeName>\n          </TypeInformation>\n        </FieldMetaData>\n        <FieldMetaData>\n          <SymbolicName>OutputPipe_FlowTransmitter2_Output</SymbolicName>\n          <TypeInformation>\n            <BuiltInType>Double</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </FieldMetaData>\n        <FieldMetaData>\n          <SymbolicName>OutputPipe_FlowTransmitter2_Output_Definition</SymbolicName>\n          <TypeInformation>\n            <BuiltInType>String</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </FieldMetaData>\n        <FieldMetaData>\n          <SymbolicName>OutputPipe_FlowTransmitter2_Output_ValuePrecision</SymbolicName>\n          <TypeInformation>\n            <BuiltInType>Double</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </FieldMetaData>\n        <FieldMetaData>\n          <SymbolicName>OutputPipe_FlowTransmitter2_Output_InstrumentRange</SymbolicName>\n          <TypeInformation>\n            <BuiltInType>ExtensionObject</BuiltInType>\n            <ValueRank>-1</ValueRank>\n            <TypeName xmlns:q10=\"http://opcfoundation.org/UA/\">q10:Range</TypeName>\n          </TypeInformation>\n        </FieldMetaData>\n        <FieldMetaData>\n          <SymbolicName>OutputPipe_FlowTransmitter2_Output_EURange</SymbolicName>\n          <TypeInformation>\n            <BuiltInType>ExtensionObject</BuiltInType>\n            <ValueRank>-1</ValueRank>\n            <TypeName xmlns:q11=\"http://opcfoundation.org/UA/\">q11:Range</TypeName>\n          </TypeInformation>\n        </FieldMetaData>\n        <FieldMetaData>\n          <SymbolicName>OutputPipe_FlowTransmitter2_Output_EngineeringUnits</SymbolicName>\n          <TypeInformation>\n            <BuiltInType>ExtensionObject</BuiltInType>\n            <ValueRank>-1</ValueRank>\n            <TypeName xmlns:q12=\"http://opcfoundation.org/UA/\">q12:EUInformation</TypeName>\n          </TypeInformation>\n        </FieldMetaData>\n        <FieldMetaData>\n          <SymbolicName>FlowController_Measurement</SymbolicName>\n          <TypeInformation>\n            <BuiltInType>Double</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </FieldMetaData>\n        <FieldMetaData>\n          <SymbolicName>FlowController_SetPoint</SymbolicName>\n          <TypeInformation>\n            <BuiltInType>Double</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </FieldMetaData>\n        <FieldMetaData>\n          <SymbolicName>FlowController_ControlOut</SymbolicName>\n          <TypeInformation>\n            <BuiltInType>Double</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </FieldMetaData>\n        <FieldMetaData>\n          <SymbolicName>LevelController_Measurement</SymbolicName>\n          <TypeInformation>\n            <BuiltInType>Double</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </FieldMetaData>\n        <FieldMetaData>\n          <SymbolicName>LevelController_SetPoint</SymbolicName>\n          <TypeInformation>\n            <BuiltInType>Double</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </FieldMetaData>\n        <FieldMetaData>\n          <SymbolicName>LevelController_ControlOut</SymbolicName>\n          <TypeInformation>\n            <BuiltInType>Double</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </FieldMetaData>\n        <FieldMetaData>\n          <SymbolicName>CustomController_Input1</SymbolicName>\n          <TypeInformation>\n            <BuiltInType>Double</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </FieldMetaData>\n        <FieldMetaData>\n          <SymbolicName>CustomController_Input2</SymbolicName>\n          <TypeInformation>\n            <BuiltInType>Double</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </FieldMetaData>\n        <FieldMetaData>\n          <SymbolicName>CustomController_Input3</SymbolicName>\n          <TypeInformation>\n            <BuiltInType>Double</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </FieldMetaData>\n        <FieldMetaData>\n          <SymbolicName>CustomController_ControlOut</SymbolicName>\n          <TypeInformation>\n            <BuiltInType>Double</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </FieldMetaData>\n        <FieldMetaData>\n          <SymbolicName>CustomController_DescriptionX</SymbolicName>\n          <TypeInformation>\n            <BuiltInType>LocalizedText</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </FieldMetaData>\n        <FieldMetaData>\n          <SymbolicName>CustomController_Input1</SymbolicName>\n          <TypeInformation>\n            <BuiltInType>Double</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </FieldMetaData>\n        <FieldMetaData>\n          <SymbolicName>Simulation_CurrentState</SymbolicName>\n          <TypeInformation>\n            <BuiltInType>LocalizedText</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </FieldMetaData>\n        <FieldMetaData>\n          <SymbolicName>Simulation_CurrentState_Id</SymbolicName>\n          <TypeInformation>\n            <BuiltInType>NodeId</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </FieldMetaData>\n        <FieldMetaData>\n          <SymbolicName>Simulation_CurrentState_Name</SymbolicName>\n          <TypeInformation>\n            <BuiltInType>LocalizedText</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </FieldMetaData>\n        <FieldMetaData>\n          <SymbolicName>Simulation_CurrentState_Number</SymbolicName>\n          <TypeInformation>\n            <BuiltInType>UInt32</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </FieldMetaData>\n        <FieldMetaData>\n          <SymbolicName>Simulation_CurrentState_EffectiveDisplayName</SymbolicName>\n          <TypeInformation>\n            <BuiltInType>Double</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </FieldMetaData>\n        <FieldMetaData>\n          <SymbolicName>Simulation_LastTransition</SymbolicName>\n          <TypeInformation>\n            <BuiltInType>LocalizedText</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </FieldMetaData>\n        <FieldMetaData>\n          <SymbolicName>Simulation_LastTransition_Id</SymbolicName>\n          <TypeInformation>\n            <BuiltInType>NodeId</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </FieldMetaData>\n        <FieldMetaData>\n          <SymbolicName>Simulation_LastTransition_Name</SymbolicName>\n          <TypeInformation>\n            <BuiltInType>LocalizedText</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </FieldMetaData>\n        <FieldMetaData>\n          <SymbolicName>Simulation_LastTransition_Number</SymbolicName>\n          <TypeInformation>\n            <BuiltInType>UInt32</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </FieldMetaData>\n        <FieldMetaData>\n          <SymbolicName>Simulation_LastTransition_TransitionTime</SymbolicName>\n          <TypeInformation>\n            <BuiltInType>DateTime</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </FieldMetaData>\n        <FieldMetaData>\n          <SymbolicName>Simulation_LastTransition_EffectiveTransitionTime</SymbolicName>\n          <TypeInformation>\n            <BuiltInType>DateTime</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </FieldMetaData>\n        <FieldMetaData>\n          <SymbolicName>Simulation_Deletable</SymbolicName>\n          <TypeInformation>\n            <BuiltInType>Boolean</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </FieldMetaData>\n        <FieldMetaData>\n          <SymbolicName>Simulation_AutoDelete</SymbolicName>\n          <TypeInformation>\n            <BuiltInType>Boolean</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </FieldMetaData>\n        <FieldMetaData>\n          <SymbolicName>Simulation_RecycleCount</SymbolicName>\n          <TypeInformation>\n            <BuiltInType>UInt32</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </FieldMetaData>\n        <FieldMetaData>\n          <SymbolicName>Simulation_ProgramDiagnostics</SymbolicName>\n          <TypeInformation>\n            <BuiltInType>Double</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </FieldMetaData>\n        <FieldMetaData>\n          <SymbolicName>Simulation_ProgramDiagnostics_CreateSessionId</SymbolicName>\n          <TypeInformation>\n            <BuiltInType>Double</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </FieldMetaData>\n        <FieldMetaData>\n          <SymbolicName>Simulation_ProgramDiagnostics_CreateClientName</SymbolicName>\n          <TypeInformation>\n            <BuiltInType>Double</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </FieldMetaData>\n        <FieldMetaData>\n          <SymbolicName>Simulation_ProgramDiagnostics_InvocationCreationTime</SymbolicName>\n          <TypeInformation>\n            <BuiltInType>Double</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </FieldMetaData>\n        <FieldMetaData>\n          <SymbolicName>Simulation_ProgramDiagnostics_InvocationCreationTime</SymbolicName>\n          <TypeInformation>\n            <BuiltInType>Double</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </FieldMetaData>\n        <FieldMetaData>\n          <SymbolicName>Simulation_ProgramDiagnostics_LastTransitionTime</SymbolicName>\n          <TypeInformation>\n            <BuiltInType>Double</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </FieldMetaData>\n        <FieldMetaData>\n          <SymbolicName>Simulation_ProgramDiagnostics_InvocationCreationTime</SymbolicName>\n          <TypeInformation>\n            <BuiltInType>Double</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </FieldMetaData>\n        <FieldMetaData>\n          <SymbolicName>Simulation_ProgramDiagnostics_LastMethodCall</SymbolicName>\n          <TypeInformation>\n            <BuiltInType>Double</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </FieldMetaData>\n        <FieldMetaData>\n          <SymbolicName>Simulation_ProgramDiagnostics_LastMethodSessionId</SymbolicName>\n          <TypeInformation>\n            <BuiltInType>Double</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </FieldMetaData>\n        <FieldMetaData>\n          <SymbolicName>Simulation_ProgramDiagnostics_LastMethodInputArguments</SymbolicName>\n          <TypeInformation>\n            <BuiltInType>Double</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </FieldMetaData>\n        <FieldMetaData>\n          <SymbolicName>Simulation_ProgramDiagnostics_LastMethodOutputArguments</SymbolicName>\n          <TypeInformation>\n            <BuiltInType>Double</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </FieldMetaData>\n        <FieldMetaData>\n          <SymbolicName>Simulation_ProgramDiagnostics_LastMethodCallTime</SymbolicName>\n          <TypeInformation>\n            <BuiltInType>Double</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </FieldMetaData>\n        <FieldMetaData>\n          <SymbolicName>Simulation_ProgramDiagnostics_LastMethodReturnStatus</SymbolicName>\n          <TypeInformation>\n            <BuiltInType>Double</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </FieldMetaData>\n        <FieldMetaData>\n          <SymbolicName>Simulation_FinalResultData</SymbolicName>\n          <TypeInformation>\n            <BuiltInType>Double</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </FieldMetaData>\n        <FieldMetaData>\n          <SymbolicName>Simulation_UpdateRate</SymbolicName>\n          <TypeInformation>\n            <BuiltInType>Int32</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </FieldMetaData>\n      </DataSet>\n    </SemanticsDataIndex>\n    <SemanticsDataIndex>\n      <SymbolicName>BoilersArea_BoilerDelta</SymbolicName>\n      <Index>3</Index>\n      <DataSet>\n        <FieldMetaData>\n          <SymbolicName>InputPipe_FlowTransmitter1_Output</SymbolicName>\n          <TypeInformation>\n            <BuiltInType>Double</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </FieldMetaData>\n        <FieldMetaData>\n          <SymbolicName>InputPipe_FlowTransmitter1_Output_Definition</SymbolicName>\n          <TypeInformation>\n            <BuiltInType>String</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </FieldMetaData>\n        <FieldMetaData>\n          <SymbolicName>InputPipe_FlowTransmitter1_Output_ValuePrecision</SymbolicName>\n          <TypeInformation>\n            <BuiltInType>Double</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </FieldMetaData>\n        <FieldMetaData>\n          <SymbolicName>InputPipe_FlowTransmitter1_Output_InstrumentRange</SymbolicName>\n          <TypeInformation>\n            <BuiltInType>ExtensionObject</BuiltInType>\n            <ValueRank>-1</ValueRank>\n            <TypeName xmlns:q1=\"http://opcfoundation.org/UA/\">q1:Range</TypeName>\n          </TypeInformation>\n        </FieldMetaData>\n        <FieldMetaData>\n          <SymbolicName>InputPipe_FlowTransmitter1_Output_EURange</SymbolicName>\n          <TypeInformation>\n            <BuiltInType>ExtensionObject</BuiltInType>\n            <ValueRank>-1</ValueRank>\n            <TypeName xmlns:q2=\"http://opcfoundation.org/UA/\">q2:Range</TypeName>\n          </TypeInformation>\n        </FieldMetaData>\n        <FieldMetaData>\n          <SymbolicName>InputPipe_FlowTransmitter1_Output_EngineeringUnits</SymbolicName>\n          <TypeInformation>\n            <BuiltInType>ExtensionObject</BuiltInType>\n            <ValueRank>-1</ValueRank>\n            <TypeName xmlns:q3=\"http://opcfoundation.org/UA/\">q3:EUInformation</TypeName>\n          </TypeInformation>\n        </FieldMetaData>\n        <FieldMetaData>\n          <SymbolicName>InputPipe_Valve_Input</SymbolicName>\n          <TypeInformation>\n            <BuiltInType>Double</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </FieldMetaData>\n        <FieldMetaData>\n          <SymbolicName>InputPipe_Valve_Input_Definition</SymbolicName>\n          <TypeInformation>\n            <BuiltInType>String</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </FieldMetaData>\n        <FieldMetaData>\n          <SymbolicName>InputPipe_Valve_Input_ValuePrecision</SymbolicName>\n          <TypeInformation>\n            <BuiltInType>Double</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </FieldMetaData>\n        <FieldMetaData>\n          <SymbolicName>InputPipe_Valve_Input_InstrumentRange</SymbolicName>\n          <TypeInformation>\n            <BuiltInType>ExtensionObject</BuiltInType>\n            <ValueRank>-1</ValueRank>\n            <TypeName xmlns:q4=\"http://opcfoundation.org/UA/\">q4:Range</TypeName>\n          </TypeInformation>\n        </FieldMetaData>\n        <FieldMetaData>\n          <SymbolicName>InputPipe_Valve_Input_EURange</SymbolicName>\n          <TypeInformation>\n            <BuiltInType>ExtensionObject</BuiltInType>\n            <ValueRank>-1</ValueRank>\n            <TypeName xmlns:q5=\"http://opcfoundation.org/UA/\">q5:Range</TypeName>\n          </TypeInformation>\n        </FieldMetaData>\n        <FieldMetaData>\n          <SymbolicName>InputPipe_Valve_Input_EngineeringUnits</SymbolicName>\n          <TypeInformation>\n            <BuiltInType>ExtensionObject</BuiltInType>\n            <ValueRank>-1</ValueRank>\n            <TypeName xmlns:q6=\"http://opcfoundation.org/UA/\">q6:EUInformation</TypeName>\n          </TypeInformation>\n        </FieldMetaData>\n        <FieldMetaData>\n          <SymbolicName>Drum_LevelIndicator_Output</SymbolicName>\n          <TypeInformation>\n            <BuiltInType>Double</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </FieldMetaData>\n        <FieldMetaData>\n          <SymbolicName>Drum_LevelIndicator_Output_Definition</SymbolicName>\n          <TypeInformation>\n            <BuiltInType>String</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </FieldMetaData>\n        <FieldMetaData>\n          <SymbolicName>Drum_LevelIndicator_Output_ValuePrecision</SymbolicName>\n          <TypeInformation>\n            <BuiltInType>Double</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </FieldMetaData>\n        <FieldMetaData>\n          <SymbolicName>Drum_LevelIndicator_Output_InstrumentRange</SymbolicName>\n          <TypeInformation>\n            <BuiltInType>ExtensionObject</BuiltInType>\n            <ValueRank>-1</ValueRank>\n            <TypeName xmlns:q7=\"http://opcfoundation.org/UA/\">q7:Range</TypeName>\n          </TypeInformation>\n        </FieldMetaData>\n        <FieldMetaData>\n          <SymbolicName>Drum_LevelIndicator_Output_EURange</SymbolicName>\n          <TypeInformation>\n            <BuiltInType>ExtensionObject</BuiltInType>\n            <ValueRank>-1</ValueRank>\n            <TypeName xmlns:q8=\"http://opcfoundation.org/UA/\">q8:Range</TypeName>\n          </TypeInformation>\n        </FieldMetaData>\n        <FieldMetaData>\n          <SymbolicName>Drum_LevelIndicator_Output_EngineeringUnits</SymbolicName>\n          <TypeInformation>\n            <BuiltInType>ExtensionObject</BuiltInType>\n            <ValueRank>-1</ValueRank>\n            <TypeName xmlns:q9=\"http://opcfoundation.org/UA/\">q9:EUInformation</TypeName>\n          </TypeInformation>\n        </FieldMetaData>\n        <FieldMetaData>\n          <SymbolicName>OutputPipe_FlowTransmitter2_Output</SymbolicName>\n          <TypeInformation>\n            <BuiltInType>Double</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </FieldMetaData>\n        <FieldMetaData>\n          <SymbolicName>OutputPipe_FlowTransmitter2_Output_Definition</SymbolicName>\n          <TypeInformation>\n            <BuiltInType>String</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </FieldMetaData>\n        <FieldMetaData>\n          <SymbolicName>OutputPipe_FlowTransmitter2_Output_ValuePrecision</SymbolicName>\n          <TypeInformation>\n            <BuiltInType>Double</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </FieldMetaData>\n        <FieldMetaData>\n          <SymbolicName>OutputPipe_FlowTransmitter2_Output_InstrumentRange</SymbolicName>\n          <TypeInformation>\n            <BuiltInType>ExtensionObject</BuiltInType>\n            <ValueRank>-1</ValueRank>\n            <TypeName xmlns:q10=\"http://opcfoundation.org/UA/\">q10:Range</TypeName>\n          </TypeInformation>\n        </FieldMetaData>\n        <FieldMetaData>\n          <SymbolicName>OutputPipe_FlowTransmitter2_Output_EURange</SymbolicName>\n          <TypeInformation>\n            <BuiltInType>ExtensionObject</BuiltInType>\n            <ValueRank>-1</ValueRank>\n            <TypeName xmlns:q11=\"http://opcfoundation.org/UA/\">q11:Range</TypeName>\n          </TypeInformation>\n        </FieldMetaData>\n        <FieldMetaData>\n          <SymbolicName>OutputPipe_FlowTransmitter2_Output_EngineeringUnits</SymbolicName>\n          <TypeInformation>\n            <BuiltInType>ExtensionObject</BuiltInType>\n            <ValueRank>-1</ValueRank>\n            <TypeName xmlns:q12=\"http://opcfoundation.org/UA/\">q12:EUInformation</TypeName>\n          </TypeInformation>\n        </FieldMetaData>\n        <FieldMetaData>\n          <SymbolicName>FlowController_Measurement</SymbolicName>\n          <TypeInformation>\n            <BuiltInType>Double</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </FieldMetaData>\n        <FieldMetaData>\n          <SymbolicName>FlowController_SetPoint</SymbolicName>\n          <TypeInformation>\n            <BuiltInType>Double</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </FieldMetaData>\n        <FieldMetaData>\n          <SymbolicName>FlowController_ControlOut</SymbolicName>\n          <TypeInformation>\n            <BuiltInType>Double</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </FieldMetaData>\n        <FieldMetaData>\n          <SymbolicName>LevelController_Measurement</SymbolicName>\n          <TypeInformation>\n            <BuiltInType>Double</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </FieldMetaData>\n        <FieldMetaData>\n          <SymbolicName>LevelController_SetPoint</SymbolicName>\n          <TypeInformation>\n            <BuiltInType>Double</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </FieldMetaData>\n        <FieldMetaData>\n          <SymbolicName>LevelController_ControlOut</SymbolicName>\n          <TypeInformation>\n            <BuiltInType>Double</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </FieldMetaData>\n        <FieldMetaData>\n          <SymbolicName>CustomController_Input1</SymbolicName>\n          <TypeInformation>\n            <BuiltInType>Double</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </FieldMetaData>\n        <FieldMetaData>\n          <SymbolicName>CustomController_Input2</SymbolicName>\n          <TypeInformation>\n            <BuiltInType>Double</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </FieldMetaData>\n        <FieldMetaData>\n          <SymbolicName>CustomController_Input3</SymbolicName>\n          <TypeInformation>\n            <BuiltInType>Double</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </FieldMetaData>\n        <FieldMetaData>\n          <SymbolicName>CustomController_ControlOut</SymbolicName>\n          <TypeInformation>\n            <BuiltInType>Double</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </FieldMetaData>\n        <FieldMetaData>\n          <SymbolicName>CustomController_DescriptionX</SymbolicName>\n          <TypeInformation>\n            <BuiltInType>LocalizedText</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </FieldMetaData>\n        <FieldMetaData>\n          <SymbolicName>CustomController_Input1</SymbolicName>\n          <TypeInformation>\n            <BuiltInType>Double</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </FieldMetaData>\n        <FieldMetaData>\n          <SymbolicName>Simulation_CurrentState</SymbolicName>\n          <TypeInformation>\n            <BuiltInType>LocalizedText</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </FieldMetaData>\n        <FieldMetaData>\n          <SymbolicName>Simulation_CurrentState_Id</SymbolicName>\n          <TypeInformation>\n            <BuiltInType>NodeId</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </FieldMetaData>\n        <FieldMetaData>\n          <SymbolicName>Simulation_CurrentState_Name</SymbolicName>\n          <TypeInformation>\n            <BuiltInType>LocalizedText</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </FieldMetaData>\n        <FieldMetaData>\n          <SymbolicName>Simulation_CurrentState_Number</SymbolicName>\n          <TypeInformation>\n            <BuiltInType>UInt32</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </FieldMetaData>\n        <FieldMetaData>\n          <SymbolicName>Simulation_CurrentState_EffectiveDisplayName</SymbolicName>\n          <TypeInformation>\n            <BuiltInType>Double</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </FieldMetaData>\n        <FieldMetaData>\n          <SymbolicName>Simulation_LastTransition</SymbolicName>\n          <TypeInformation>\n            <BuiltInType>LocalizedText</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </FieldMetaData>\n        <FieldMetaData>\n          <SymbolicName>Simulation_LastTransition_Id</SymbolicName>\n          <TypeInformation>\n            <BuiltInType>NodeId</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </FieldMetaData>\n        <FieldMetaData>\n          <SymbolicName>Simulation_LastTransition_Name</SymbolicName>\n          <TypeInformation>\n            <BuiltInType>LocalizedText</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </FieldMetaData>\n        <FieldMetaData>\n          <SymbolicName>Simulation_LastTransition_Number</SymbolicName>\n          <TypeInformation>\n            <BuiltInType>UInt32</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </FieldMetaData>\n        <FieldMetaData>\n          <SymbolicName>Simulation_LastTransition_TransitionTime</SymbolicName>\n          <TypeInformation>\n            <BuiltInType>DateTime</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </FieldMetaData>\n        <FieldMetaData>\n          <SymbolicName>Simulation_LastTransition_EffectiveTransitionTime</SymbolicName>\n          <TypeInformation>\n            <BuiltInType>DateTime</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </FieldMetaData>\n        <FieldMetaData>\n          <SymbolicName>Simulation_Deletable</SymbolicName>\n          <TypeInformation>\n            <BuiltInType>Boolean</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </FieldMetaData>\n        <FieldMetaData>\n          <SymbolicName>Simulation_AutoDelete</SymbolicName>\n          <TypeInformation>\n            <BuiltInType>Boolean</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </FieldMetaData>\n        <FieldMetaData>\n          <SymbolicName>Simulation_RecycleCount</SymbolicName>\n          <TypeInformation>\n            <BuiltInType>UInt32</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </FieldMetaData>\n        <FieldMetaData>\n          <SymbolicName>Simulation_ProgramDiagnostics</SymbolicName>\n          <TypeInformation>\n            <BuiltInType>Double</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </FieldMetaData>\n        <FieldMetaData>\n          <SymbolicName>Simulation_ProgramDiagnostics_CreateSessionId</SymbolicName>\n          <TypeInformation>\n            <BuiltInType>Double</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </FieldMetaData>\n        <FieldMetaData>\n          <SymbolicName>Simulation_ProgramDiagnostics_CreateClientName</SymbolicName>\n          <TypeInformation>\n            <BuiltInType>Double</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </FieldMetaData>\n        <FieldMetaData>\n          <SymbolicName>Simulation_ProgramDiagnostics_InvocationCreationTime</SymbolicName>\n          <TypeInformation>\n            <BuiltInType>Double</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </FieldMetaData>\n        <FieldMetaData>\n          <SymbolicName>Simulation_ProgramDiagnostics_InvocationCreationTime</SymbolicName>\n          <TypeInformation>\n            <BuiltInType>Double</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </FieldMetaData>\n        <FieldMetaData>\n          <SymbolicName>Simulation_ProgramDiagnostics_LastTransitionTime</SymbolicName>\n          <TypeInformation>\n            <BuiltInType>Double</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </FieldMetaData>\n        <FieldMetaData>\n          <SymbolicName>Simulation_ProgramDiagnostics_InvocationCreationTime</SymbolicName>\n          <TypeInformation>\n            <BuiltInType>Double</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </FieldMetaData>\n        <FieldMetaData>\n          <SymbolicName>Simulation_ProgramDiagnostics_LastMethodCall</SymbolicName>\n          <TypeInformation>\n            <BuiltInType>Double</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </FieldMetaData>\n        <FieldMetaData>\n          <SymbolicName>Simulation_ProgramDiagnostics_LastMethodSessionId</SymbolicName>\n          <TypeInformation>\n            <BuiltInType>Double</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </FieldMetaData>\n        <FieldMetaData>\n          <SymbolicName>Simulation_ProgramDiagnostics_LastMethodInputArguments</SymbolicName>\n          <TypeInformation>\n            <BuiltInType>Double</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </FieldMetaData>\n        <FieldMetaData>\n          <SymbolicName>Simulation_ProgramDiagnostics_LastMethodOutputArguments</SymbolicName>\n          <TypeInformation>\n            <BuiltInType>Double</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </FieldMetaData>\n        <FieldMetaData>\n          <SymbolicName>Simulation_ProgramDiagnostics_LastMethodCallTime</SymbolicName>\n          <TypeInformation>\n            <BuiltInType>Double</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </FieldMetaData>\n        <FieldMetaData>\n          <SymbolicName>Simulation_ProgramDiagnostics_LastMethodReturnStatus</SymbolicName>\n          <TypeInformation>\n            <BuiltInType>Double</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </FieldMetaData>\n        <FieldMetaData>\n          <SymbolicName>Simulation_FinalResultData</SymbolicName>\n          <TypeInformation>\n            <BuiltInType>Double</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </FieldMetaData>\n        <FieldMetaData>\n          <SymbolicName>Simulation_UpdateRate</SymbolicName>\n          <TypeInformation>\n            <BuiltInType>Int32</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </FieldMetaData>\n      </DataSet>\n    </SemanticsDataIndex>\n  </SemanticsDataCollection>\n  <UniversalAddressSpaceLocator>https://raw.githubusercontent.com/mpostol/OPC-UA-OOI/master/DataDiscovery/Tests/DiscoveryServices.UnitTest/TestData/root.zone/commsvr.com/UA/Examples/BoilersSet/Commsvr.UA.Examples.BoilersSet.NodeSet2.xml</UniversalAddressSpaceLocator>\n  <UniversalAuthorizationServerLocator>http://localhost/opc/Commsvr.UA.Examples.BoilersSet.OTPTable.xml</UniversalAuthorizationServerLocator>\n  <TypeDictionaries>\n    <TypeDictionary TargetNamespace=\"http://opcfoundation.org/UA/\">\n      <StructuredType Name=\"Range\">\n        <Field Name=\"Low\" xmlns:q13=\"http://opcfoundation.org/UA/\" TypeName=\"q13:Double\" />\n        <Field Name=\"High\" xmlns:q14=\"http://opcfoundation.org/UA/\" TypeName=\"q14:Double\" />\n        <StructureKind>Structure</StructureKind>\n      </StructuredType>\n      <StructuredType Name=\"EUInformation\">\n        <Field Name=\"NamespaceUri\" xmlns:q15=\"http://opcfoundation.org/UA/\" TypeName=\"q15:NamespaceUri\" />\n        <Field Name=\"UnitId\" xmlns:q16=\"http://opcfoundation.org/UA/\" TypeName=\"q16:Int32\" />\n        <Field Name=\"DisplayName\" xmlns:q17=\"http://opcfoundation.org/UA/\" TypeName=\"q17:LocalizedText\" />\n        <Field Name=\"Description\" xmlns:q18=\"http://opcfoundation.org/UA/\" TypeName=\"q18:LocalizedText\" />\n        <StructureKind>Structure</StructureKind>\n      </StructuredType>\n    </TypeDictionary>\n  </TypeDictionaries>\n</DomainModel>"
  },
  {
    "path": "DataDiscovery.playlist",
    "content": "<Playlist Version=\"1.0\"><Add Test=\"UAOOI.DataDiscovery.DiscoveryServices.UnitTest.DomainDescriptorUnitTest.RootZoneDomainDescriptorTest\" /><Add Test=\"UAOOI.DataDiscovery.DiscoveryServices.UnitTest.DomainDescriptorUnitTest.GetRootDomainDescriptorTest\" /><Add Test=\"UAOOI.DataDiscovery.DiscoveryServices.UnitTest.DataDiscoveryServicesUnitTest.ResolveDomainModelAsyncTestMethod\" /><Add Test=\"UAOOI.DataDiscovery.DiscoveryServices.UnitTest.DomainModelUnitTest.TypeDictionariesTestMethod\" /><Add Test=\"UAOOI.DataDiscovery.DiscoveryServices.UnitTest.DomainModelUnitTest.DeserializeAutoGeneratedXmlTest\" /><Add Test=\"UAOOI.DataDiscovery.DiscoveryServices.UnitTest.DataDiscoveryServicesUnitTest.GetHTTPResponseAsyncRetryCountErrorTestMethod\" /><Add Test=\"UAOOI.DataDiscovery.DiscoveryServices.UnitTest.DomainModelUnitTest.TestDataFolderContentTestMethod\" /><Add Test=\"UAOOI.DataDiscovery.DiscoveryServices.UnitTest.DataDiscoveryServicesUnitTest.RGetHTTPResponseAsyncTestMethod\" /><Add Test=\"UAOOI.DataDiscovery.DiscoveryServices.UnitTest.DomainModelUnitTest.SerializeTestMethod\" /><Add Test=\"UAOOI.DataDiscovery.DiscoveryServices.UnitTest.DomainDescriptorUnitTest.DomainDescriptorAutogeneratedFileTest\" /></Playlist>"
  },
  {
    "path": "InformationProcessing.md",
    "content": "# Information Processing\n\n## Data - Information Representation\n\nBy definition, the industrial IT domain is an integrated set of ICT systems. System integration means the necessity of the information exchange between them (the nodes of a common domain). ICT systems are recognized as a typical measure of information processing. The main challenge of deploying an industrial IT solution is that information is abstract – it is knowledge describing a situation in the selected environment, e.g. temperature in a boiler, car speed, account balance, etc.\n\n>Unfortunately, machines cannot be used to process abstraction. It is also impossible to transfer abstraction from one place to another over the network.\n\nFortunately, there is a very simple solution to address that impossibility, namely the information must be represented as a binary stream. In consequence, the terms information and data can usually be used interchangeably while talking about the ICT systems. On the other hand, they must be distinguished in the context of further discussion on information processing, because before stepping forward we must be aware of the fact that the same information could have many different but equivalent representations – different binary patterns. For example, having interconnected system A and system B, system A can use one representation, but system B another one. Moreover, to integrate them, the transferred stream of bits may not resemble any of the previous ones. It should be nothing new for us, as it is obvious that the same information represented as a text in regional newspapers in English, German, Polish, etc. does not resemble one another.\n\nTo understand a newspaper we must learn an appropriate language. To understand binary data a data type must have been defined – a description of how to create an appropriate bits pattern. Simplifying, the data type determines a set of valid values and rules needed to assign the information to the selected bits pattern (understand data). Therefore, to make two systems interoperable, apart from communication, they should be prepared (integrated) to be able to consume data from each other, and so communication accessibility is only a prerequisite for interoperability.\n\nThe type is usually not enough to make the data meaningful. Referring to the above example, the newspaper name (i.e. the location where the information came from) and timestamp (a single point in time when the information was valid) are attributes of the text that is a representation of the information.\n\n## Complex Data\n\nTo have a similar ability to add common attributes to the representations of many information entities at the same time the complex data types must be used. In this context, the term complex means that the data type must additionally define a relationship between the components of the binary data and operation returning a selected component of the complex data. Software engineering offers two well-known and widely used relationships:\n\n- **Arrays** – parts of the array are indexed and all of them must have a common data type\n- **Structures** – components are named and they may have different data types.\n\nAnyway, indexes and names must be unambiguous, and a complex data type has a responsibility to provide a precise definition of them, i.e. selectors of the components.\n\nThe complex data has a very important feature, namely, all components are considered to be consistent with one another. For example, if we need to represent time at least three components must be distinguished: hour, minute, and second. In this case, even if there is no need to add any common attribute to the binary data it must be consistent, i.e. it has to represent information in a single point in time. Other criteria for describing the data consistency could also be applied.\n\nUsing complex data simplifies data integrity if there is a need to store or transfer it. If intermediaries are present, the initial data creator and the ultimate consumer need to trust those intermediaries to help provide end-to-end data integrity, because each hop is processed separately. Thus, using complex data means that the data is processed and transferred as one item what finally mitigates any risk of integrity compromising.\n\nUsing the data type definitions to describe the exposed information allows for:\n\n•    Development against a type definition.\n•    Unambiguous association of the information with the data.\n\nHaving defined types in advance, clients may provide dedicated functionality, e.g. displaying the information in the context of specific graphics. Typical scenarios occur when we can define appropriate complex data types in advance. Usually, the design environment offers a variety of standard types ready to be used in common cases. If the out-of-the-box set is not capable of fulfilling more demanding needs users may define custom data types. They may be of generic use or they may be application domain specific.\n\nRepresenting the information processed as one whole sequence of bits could be impossible or impractical for some application domains. If the information comes from a real-time process, for example, a boiler or a chemical analyzer, we use an independent sensor to measure values, e.g. pressure, temperature, flow. The measuring process is independent, but pieces of information are related to each other as they describe the same physical process. If the data publisher (e.g. an OPC UA server) is not running in an environment capable of creating complex data there must be taken special measures to fabricate it if required. An example of this scenario is a software application pooling data from plant floor devices using a custom protocol, e.g. MODBUS. If that is the case the protocol used to gather process data is usually not data complex aware. Reading and writing the data is accomplished using REQUEST/RESPONSE frame pairs. Moreover, one request can be used to read a set of values that has the same simple type only.\n\n> Fabrication is an operation that uses a group of requests to gather components and embed them into a single value of a selected complex data type.\n\n## Data Graph\n\nFabrication of complex data is comparable to using reverse engineering for recovering a big picture from details. Additionally, as it was pointed out, fabrication of complex data from pieces (i.e. composing it using building-blocks) is possible but it needs additional effort. Because processing and transferring the data over the network are not for free this approach must be well-founded. If the data volume grows paying this cost could be groundless or even impossible and then we need an alternative solution, i.e. the possibility to process and transfer the data piece by piece. In such a case the consistency could be achieved by timestamps associated with each piece separately and partial data processing is possible if pieces can be accessed selectively. The proposed selection mechanisms of components for the complex data are rather static, i.e. they limit the internal structure and meaning (semantics) of the relations, but still can be successfully used for that purpose. Hence, to overcome those limits the reference concept could be introduced. Reference links two elements together, where the source and target roles are distinguished in this couple. Reference could also represent information. Adding randomly specific references to particular pieces of data we can create a graph. For example, lets try to describe a car. We need partial information about the main car body and four references to the tires as its components, but for the spare tire we need different reference kind, say a spare component to point out a different relationship for this case. Following the reference concept, we actually introduced a new selection mechanism, namely browsing. Nowadays, as a consequence of using references, we are able to replace a static newspaper with a dynamic website, where information is represented using hypertext instead of using text.\n\nThe concepts and terms presented above are well known and widely used by programmers and website authors. As there are people working on processing and exposing information professionally, a question arises why we are bothering about it. There is one simple reason: the offered services are unsatisfactory. There are two issues that can be recognized. Programmers offer dedicated solutions with the goal of meeting precisely defined requirements of selected stakeholders. The webmasters offer the possibility for freely exposing any information you need, but the representation is hard to be processed by other programs because the references are described (has meaning) in the native language.\n\nIn contrast to the offer of programmers and webmasters we face the biggest challenge of providing a generic solution that allows us to:\n\n- expose any mentioned above data, i.e. simple, complex, and graph\n- transport it over the network\n- process it finally\n\nAdditionally, it must be assumed that all these three operations can be done by independent parties.  In this context generic means that only out of the box products and existing infrastructure are acceptable. Independent parties mean no need for special agreements made to guarantee interoperability case by case. In other words, common rules must be observed instead of case-specific agreements. The rules must be valid now, in the future, and for all application domains called industrial IT. Having an adequate rules specification in hands we will be able to develop products fulfilling these requirements and finally obtaining a universal, flexible enough solution based on best practice.\n\nTo meet the requirements presented above it is proposed to select OPC Unified Architecture specification as a foundation for further work. One of the main goals of the OPC Unified Architecture (OPC UA) is to provide a consistent mechanism for the integration of process control and business management systems. It is assumed that it should be robust and the implementation should be platform independent. In the next section, I will examine technologies and paradigms used as a framework for the development of the OPC UA standard and discuss their impact on the final result.\n"
  },
  {
    "path": "Introduction2ComplexDataProcessing.md",
    "content": "# Introduction to Complex Data Processing\n\nFrom the definition, the Industrial IT domain is an integrated set of ICT systems. System integration means the necessity of the information exchange between them (the nodes of a common domain). ICT systems are recognized as a typical measure of processing information (Section [Semantic-Data Processing Architecture]). The main challenge of deploying an Industrial IT solution is that information is abstract – it is knowledge describing a situation in the selected environment, e.g. temperature in a boiler, a car speed, an account balance, a robot manipulator position, etc. Unfortunately, machines cannot be used to process abstraction. It is also impossible to transfer abstraction from one place to another.\n\nFortunately, there is a very simple solution to address that impossibility, namely the information must be represented as binary data. In consequence, we can usually use both ones (ie. data and information) as interchangeable terms while talking about ICT systems. Unfortunately, these terms must be distinguished in the context of further discussion on the complex data, because before stepping forward we must be aware of the fact that the same information could have many different but equivalent representations – different binary patterns. For example, having interconnected system A and system B, system A can use one representation, but system B another one. Moreover, to integrate them, the transferred stream of bits may not resemble any of the previous ones. It should be nothing new for us, as it is obvious that the same information is written as a text in regional newspapers in English, German, Polish, etc. does not resemble one another.\n\nTo understand a newspaper we must learn the appropriate language. To understand the binary data we must have defined a data type – a description of how to create an appropriate bits pattern. Simplifying, the data type determines a set of valid values and rules needed to assign the information (understand the data) to a selected bits pattern. Therefore, to make two systems interoperable, apart from communication, they should be prepared – integrated to be able to consume data from each other, and so communication is only a prerequisite for interoperability.\n\nThe type is usually not enough to make the data meaningful. Referring to the above example the newspaper name (i.e. the location where the information came from) and timestamp (a single point in time when the information was valid) are properties of the text that is a representation of the information.\n\nTo have a similar ability to add common properties to the representations of many information entities at the same time the complex data types must be used. Complex in this context means that the data type must additionally define a relationship between the components of the binary data, i.e. how to selectively get a component of the complex data.\n\nThere are two well-known and widely used relationships:\n\n- **Arrays** – components are indexed and all components must have a common data type\n- **Structures** – components are named and components may have different data types\n\nAnyway, indexes and names must be unambiguous, and a complex data type has the responsibility to provide a precise definition of them, i.e. selectors of the components.\n\nThe complex data has a very important feature, namely, all components are considered to be consistent with one another. For example, if we need to represent time at last three components (integers) must be distinguished: hour, minute, and second. In this case, even if there is no need to add any property to the binary data it must be consistent, i.e. it has to represent information in a single point in time. Other criteria for describing the data consistency could also be applied.\n\nOn the other hand using complex data simplifies data integrity if there is a need to store or transfer it. If intermediaries are present, the initial data creator and the ultimate consumer need to trust those intermediaries to help provide end-to-end data integrity, because each hop is processed separately. Thus, using complex data it can be processed and transferred as one item what finally mitigates any risk of integrity compromising.\n\nUsing the data type definitions to describe information exposed by a server allows:\n\n- Development against a type definition.\n- Unambiguous association of the information with the data.\n\nHaving defined types in advance, clients may provide dedicated functionality, e.g. displaying the information in the context of specific graphics. Typical scenarios can be recognized when we can define appropriate complex data types in advance. The OPC UA offers a variety of standard types ready to be used in common cases (Section [Standard Information Model]). If this out of the box set is not capable of fulfilling more demanding needs users may define custom data types. The OPC UA allows servers to provide data type definitions. The type definitions may be abstract and may be inherited by new types to reflect polymorphism. They may be of generic use or they may be application domain specific. Custom types must have a globally unique identifier, which can be used to identify the authoring organization responsible for that type definition.\n\nRepresenting the information processed as one sequence of bits could be impossible or impractical for some application domains. If the information comes from a real-time process, for example, a boiler or a chemical analyzer, we use an independent sensor to measure values, e.g. pressure, temperature, flow. The measuring process is independent, but pieces of information are related to each other as they describe the same physical process. If the data publisher (e.g. a server) is not running in an environment capable of creating complex data there must be taken special measures to fabricate it if required. An example of this scenario is a software application pooling data from plant floor devices using a custom protocol, e.g. MODBUS. If that is the case the protocol used to gather process data is usually not data complex aware. Reading and writing the data is accomplished using REQUEST/RESPONSE frame pairs. Moreover, one request can be used to read a set of values that has the same simple type only. Fabrication is an operation that uses a group of requests to gather components and embed them into a single value of a selected complex data type.\n\nFabrication of complex data is similar to using reverse engineering for recovering a big picture from details. Additionally, as it was pointed out, fabrication of complex data from pieces (i.e. composing it using building-blocks) is possible but it needs additional effort. Because processing and transferring the data over the network are not for free this approach must be well-founded. If the data volume grows paying this cost could be groundless or even impossible and then we need an alternative solution, i.e. the possibility to process and transfer the data piece by piece. In such a case the consistency could be achieved by timestamps associated with each piece separately and partial data processing is possible if pieces can be accessed selectively. The proposed selection mechanisms of components for the complex data are rather static, i.e. they limit the internal structure and meaning (semantics) of the relations, but still can be successfully used for that purpose. Hence, to overcome those limits the reference concept could be introduced. Reference links two elements together, where the source and target roles are distinguished in this couple. Reference could also represent information - has meaning. Adding randomly specific references to particular pieces of data we can create unlimited structures - a graph of entities. For example, let’s try to describe a car. We need partial information about the main car body and four references to the tires as components, but for the spare tire we need different reference kind, say a spare component to point out a different relationship for this case. Following the reference concept, we actually introduced a new selection mechanism, namely browsing. Nowadays, as a consequence of using references, we are able to replace a static newspaper with a dynamic website, where information is represented using hypertext instead of plain text. The concepts and terms presented above are well known and widely used by programmers and website authors. As there are people working on processing and exposing information professionally, a question arises why we are bothering about it. There is one simple reason: the offered services are unsatisfactory.\n\n> There are two issues that can be recognized. Programmers offer **dedicated solutions with the goal of meeting precisely defined requirements of selected stakeholders**. The webmasters offer the possibility for freely exposing any information you need, but the **representation is hard to be processed by other programs** because the content and references have semantics (have meaning) in the native language only.\n\nIn contrast to the offer of programmers and webmasters we face the biggest challenge of providing a generic solution that allows us to expose any complex information, transport it over the network and finally process it on the assumption that all these three operations can be done by independent parties. In this context generic means here that only out of the box products and existing infrastructure are acceptable. Independent parties mean no need for special agreements made to guarantee interoperability case by case.\n\n> In other words, **common rules must be observed instead of case-specific agreements**.\n\nThe rules must be valid now, in the future, and for all application domains called industrial IT. Having an adequate rules specification in hands we will be able to ask programmers and webmasters to fulfill our requirements and we will finally obtain a universal, flexible enough solution based on best practice. This project is all about the selection of appropriate specifications and deployment rules in the context of information processing.\n\nTo meet the requirements presented above it is proposed to select OPC Unified Architecture specification as a foundation for further work. One of the main goals of the OPC Unified Architecture (OPC UA) is to provide a consistent mechanism for the integration of process control and business management systems. It is assumed that it should be robust and the implementation should be platform independent.\n\nThe section [Semantic-Data Processing Architecture] provides more information about the Semantic-Data environment architecture and the section [Address Space Model Life-cycle] describes the modeling process step by step in more details. The section [Semantic-Data Message Centric Communication] introduces some aspects related to exchange the Semantic-Data over the wire and how to plan a foundation for interoperability.\n\n## See also\n\n- [Semantic-Data Processing Architecture]\n- [Standard Information Model]\n- [Address Space Model Life-cycle]\n- [Semantic-Data Message Centric Communication]\n\n[Address Space Model Life-cycle]:SemanticData/InformationModelLifecycle.md\n[Semantic-Data Processing Architecture]:SemanticData/README.MD\n[Standard Information Model]:SemanticData/StandardInformationModel.md\n[Semantic-Data Message Centric Communication]:Networking/README.MessageCentricCommunication.md"
  },
  {
    "path": "Networking/Core/HandlerState.cs",
    "content": "﻿\n//____________________________________________________________________________\n//\n//  Copyright (C) 2019, Mariusz Postol LODZ POLAND.\n//\n//  To be in touch join the community at GITTER: https://gitter.im/mpostol/OPC-UA-OOI\n//____________________________________________________________________________\n\nnamespace UAOOI.Networking.Core\n{\n\n  /// <summary>\n  /// Enum HandlerState - represents states of an configurable object. \n  /// </summary>\n  public enum HandlerState\n  {\n\n    /// <summary>\n    /// The handler is not configured and cannot be enabled.\n    /// </summary>\n    NoConfiguration,\n    /// <summary>\n    /// The handler is configured but currently disabled.\n    /// </summary>\n    Disabled,\n    /// <summary>\n    /// The handler is operational.\n    /// </summary>\n    Operational,\n    /// <summary>\n    /// The handler is in an error state, i.e. cannot change the state to Operational. Similar to NoConfiguration state but after an error occurs.\n    /// </summary>\n    Error\n\n  }\n}\n"
  },
  {
    "path": "Networking/Core/IAssociationState.cs",
    "content": "﻿//____________________________________________________________________________\n//\n//  Copyright (C) 2019, Mariusz Postol LODZ POLAND.\n//\n//  To be in touch join the community at GITTER: https://gitter.im/mpostol/OPC-UA-OOI\n//____________________________________________________________________________\n\nnamespace UAOOI.Networking.Core\n{\n  /// <summary>\n  /// Interface IAssociationState - encapsulates the state machine implementation governing this instance behavior.\n  /// The provided functionality behavior depends on the current value returned by the <see cref=\"IAssociationState.State\"/> property.\n  /// </summary>\n  public interface IAssociationState\n  {\n\n    /// <summary>\n    /// Gets the current state <see cref=\"HandlerState\"/> of an association instance.\n    /// </summary>\n    /// <value>The state of <see cref=\"HandlerState\"/> type.</value>\n    HandlerState State { get; }\n    /// <summary>\n    /// This method is used to enable a configured association instance. If a normal operation is possible, the state changes into <see cref=\"HandlerState.Operational\"/> state. \n    /// In the case of an error situation, the state changes into <see cref=\"HandlerState.Error\"/>. The operation is rejected if the current <see cref=\"State\"/>  is not <see cref=\"HandlerState.Disabled\"/>.\n    /// </summary>\n    void Enable();\n    /// <summary>\n    /// This method is used to disable an already enabled association instance.\n    /// This method call shall be rejected if the current State is <see cref=\"HandlerState.Disabled\"/> or <see cref=\"HandlerState.NoConfiguration\"/>.\n    /// </summary>\n    void Disable();\n\n  }\n}\n"
  },
  {
    "path": "Networking/Core/IBinaryDataTransferGraphReceiver.cs",
    "content": "﻿//____________________________________________________________________________\n//\n//  Copyright (C) 2019, Mariusz Postol LODZ POLAND.\n//\n//  To be in touch join the community at GITTER: https://gitter.im/mpostol/OPC-UA-OOI\n//____________________________________________________________________________\n\nusing System;\n\nnamespace UAOOI.Networking.Core\n{\n  /// <summary>\n  /// Interface IBinaryDataTransferGraphReceiver\n  /// Implements the <see cref=\"System.IDisposable\" />\n  /// </summary>\n  /// <seealso cref=\"System.IDisposable\" />\n  public interface IBinaryDataTransferGraphReceiver : IDisposable\n  {\n\n    /// <summary>\n    /// Is executed after arriving new Data Transfer Graph (DTG). \n    /// </summary>\n    event EventHandler<byte[]> OnNewFrameArrived;\n    /// <summary>\n    /// Gets or sets the state of the transport channel. Interface <see cref=\"IAssociationState\"/> encapsulates the state machine implementation governing this instance behavior.\n    /// The provided functionality behavior depends on the current value returned by the <see cref=\"IAssociationState.State\"/> property.\n    /// </summary>\n    /// <value>An object implementing <see cref=\"IAssociationState\"/> representing the state machine of communication channel.</value>\n    IAssociationState State { get; set; }\n    /// <summary>\n    /// Attach the communication channel to the network.\n    /// </summary>\n    void AttachToNetwork();\n\n  }\n}"
  },
  {
    "path": "Networking/Core/IBinaryDataTransferGraphSender.cs",
    "content": "﻿//___________________________________________________________________________________\n//\n//  Copyright (C) 2019, Mariusz Postol LODZ POLAND.\n//\n//  To be in touch join the community at GITTER: https://gitter.im/mpostol/OPC-UA-OOI\n//___________________________________________________________________________________\n\nusing System;\n\nnamespace UAOOI.Networking.Core\n{\n\n  /// <summary>\n  /// Interface IBinaryDataTransferGraphSender\n  /// Implements the <see cref=\"System.IDisposable\" />\n  /// </summary>\n  /// <seealso cref=\"System.IDisposable\" />\n  public interface IBinaryDataTransferGraphSender : IDisposable\n  {\n\n    /// <summary>\n    /// Sends a Data Transfer Graph to a remote host (DTG).\n    /// </summary>\n    /// <param name=\"buffer\">The buffer.</param>\n    void SendFrame(byte[] buffer);\n    /// <summary>\n    /// Gets or sets the state of the transport channel. Interface <see cref=\"IAssociationState\"/> encapsulates the state machine implementation governing this instance behavior.\n    /// The provided functionality behavior depends on the current value returned by the <see cref=\"IAssociationState.State\"/> property.\n    /// </summary>\n    /// <value>An object implementing <see cref=\"IAssociationState\"/> representing the state machine of communication channel.</value>\n    IAssociationState State { get; set; }\n    /// <summary>\n    /// Attach the communication channel to the network.\n    /// </summary>\n    void AttachToNetwork();\n\n  }\n\n}\n"
  },
  {
    "path": "Networking/Core/IMessageHandlerFactory.cs",
    "content": "﻿//___________________________________________________________________________________\n//\n//  Copyright (C) 2019, Mariusz Postol LODZ POLAND.\n//\n//  To be in touch join the community at GITTER: https://gitter.im/mpostol/OPC-UA-OOI\n//___________________________________________________________________________________\n\nnamespace UAOOI.Networking.Core\n{\n  /// <summary>\n  /// Interface IMessageHandlerFactory - creates objects supporting the Data Transfer Graph messages handling over the wire.\n  /// </summary>\n  public interface IMessageHandlerFactory\n  {\n\n    /// <summary>\n    /// Gets an instance implementing <see cref=\"IBinaryDataTransferGraphReceiver\" /> interface.\n    /// </summary>\n    /// <param name=\"name\">The name to be used for identification of the underlying DTG transport channel.</param>\n    /// <param name=\"configuration\">The configuration of the object implementing the <see cref=\"IBinaryDataTransferGraphReceiver\" />.</param>\n    /// <returns>An object implementing <see cref=\"IBinaryDataTransferGraphReceiver\" /> that provides functionality supporting reading the messages from the wire.</returns>\n    IBinaryDataTransferGraphReceiver GetBinaryDTGReceiver(string name, string configuration);\n\n    /// <summary>\n    /// Gets an instance implementing <see cref=\"IBinaryDataTransferGraphSender\" /> interface.\n    /// </summary>\n    /// <param name=\"name\">The name to be used for identification of the underlying DTG transport channel.</param>\n    /// <param name=\"configuration\">The configuration of the object implementing the <see cref=\"IBinaryDataTransferGraphSender\" />.</param>\n    /// <returns>An object implementing <see cref=\"IBinaryDataTransferGraphSender\" /> that provides functionality supporting sending the messages over the wire.</returns>\n    IBinaryDataTransferGraphSender GetBinaryDTGSender(string name, string configuration);\n\n  }\n}\n"
  },
  {
    "path": "Networking/Core/INetworkingEventSourceProvider.cs",
    "content": "﻿//____________________________________________________________________________\n//\n//  Copyright (C) 2019, Mariusz Postol LODZ POLAND.\n//\n//  To be in touch join the community at GITTER: https://gitter.im/mpostol/OPC-UA-OOI\n//____________________________________________________________________________\n\nusing System.Diagnostics.Tracing;\n\nnamespace UAOOI.Networking.Core\n{\n\n  /// <summary>\n  /// Interface IEventSourceProvider - if implemented returns an instance of <see cref=\"EventSource\"/> to be registered by the logging infrastructure.\n  /// </summary>\n  public interface INetworkingEventSourceProvider\n  {\n\n    /// <summary>\n    /// Gets the part event source.\n    /// </summary>\n    /// <returns>Returns an instance of <see cref=\"EventSource\"/>.</returns>\n    EventSource GetPartEventSource();\n\n  }\n\n}\n"
  },
  {
    "path": "Networking/Core/Networking.Core.csproj",
    "content": "<Project Sdk=\"Microsoft.NET.Sdk\">\n\n  <PropertyGroup>\n    <TargetFramework>netstandard2.0</TargetFramework>\n    <AssemblyName>UAOOI.Networking.Core</AssemblyName>\n    <RootNamespace>UAOOI.Networking.Core</RootNamespace>\n    <Authors>MPostol</Authors>\n    <Company>MPostol</Company>\n    <Product>Object Oriented Internet</Product>\n    <Description>The core functionality of SemanticData Reactive Networking library based on OPC UA Part 14 Pub/Sub.</Description>\n    <Copyright>Copyright MPostol (c) 2020</Copyright>\n    <RepositoryUrl>https://github.com/mpostol/OPC-UA-OOI</RepositoryUrl>\n    <PackageProjectUrl>https://commsvr.gitbook.io/ooi</PackageProjectUrl>\n    <NeutralLanguage></NeutralLanguage>\n    <RepositoryType>GitHub</RepositoryType>\n    <PackageTags>Object Oriented Internet, OPC UA, CommServer, Reactive Networking.</PackageTags>\n    <AssemblyVersion>4.0.2</AssemblyVersion>\n    <FileVersion>4.0.2</FileVersion>\n    <SignAssembly>true</SignAssembly>\n    <AssemblyOriginatorKeyFile>OPCUAOOIKey.snk</AssemblyOriginatorKeyFile>\n    <Version>4.0.2</Version>\n    <GeneratePackageOnBuild>false</GeneratePackageOnBuild>\n  </PropertyGroup>\n\n  <PropertyGroup Condition=\"'$(Configuration)|$(Platform)'=='Release|AnyCPU'\">\n    <DocumentationFile>C:\\VS.git\\UAOOI\\OPC-UA-OOI\\Networking\\Core\\UAOOI.Networking.Core.xml</DocumentationFile>\n  </PropertyGroup>\n\n  <ItemGroup>\n    <None Update=\"Networking.Core.nuspec.nuspec\">\n      <DesignTime>True</DesignTime>\n      <AutoGen>True</AutoGen>\n      <DependentUpon>Networking.Core.nuspec.tt</DependentUpon>\n    </None>\n    <None Update=\"Networking.Core.nuspec.tt\">\n      <Generator>TextTemplatingFileGenerator</Generator>\n      <LastGenOutput>Networking.Core.nuspec.nuspec</LastGenOutput>\n    </None>\n  </ItemGroup>\n\n  <ItemGroup>\n    <Service Include=\"{508349b6-6b84-4df5-91f0-309beebad82d}\" />\n  </ItemGroup>\n\n</Project>\n"
  },
  {
    "path": "Networking/Core/Networking.Core.nuspec.nuspec",
    "content": "﻿<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<package xmlns=\"http://schemas.microsoft.com/packaging/2012/06/nuspec.xsd\">\n  <metadata>\n    <id>UAOOI.Networking.Core</id>\n    <version>4.0.2</version>\n    <title>Object Oriented Internet Networking Core </title>\n    <authors>Mariusz Postol</authors>\n    <owners>Mariusz Postol</owners>\n    <requireLicenseAcceptance>false</requireLicenseAcceptance>\n    <license type=\"expression\">MIT</license>\n    <projectUrl>https://github.com/mpostol/OPC-UA-OOI/tree/master/Networking/Core</projectUrl>\n    <icon>Logo64.PNG</icon>\n    <description>The core functionality of SemanticData Reactive Networking library based on OPC UA Part 14 Pub/Sub.</description>\n    <summary>The core functionality of SemanticData Reactive Networking library based on OPC UA Part 14 Pub/Sub.</summary>    \n    <copyright>Copyright (C) 2022 Mariusz Postol LODZ POLAND</copyright>\n    <tags>Object Oriented Internet, OPC UA, PubSub, Information Model, IoT, M2M, DOA,</tags>\n    <repository type=\"GitHub\" url=\"https://github.com/mpostol/OPC-UA-OOI\" />\n    <dependencies>\n      <group targetFramework=\".NETStandard2.0\" />\n    </dependencies>\n    <releaseNotes>Maintenance release - unimportant changes.</releaseNotes>\n    <copyright>Copyright (C) 2022 Mariusz Postol LODZ POLAND</copyright>\n  </metadata>\n  <files>\n    <file src=\"bin\\Release\\netstandard2.0\\UAOOI.Networking.Core.dll\" target=\"lib\\netstandard2.0\\UAOOI.Networking.Core.dll\" />\n    <file src=\"bin\\Release\\netstandard2.0\\UAOOI.Networking.Core.xml\" target=\"lib\\netstandard2.0\\UAOOI.Networking.Core.xml\" />\n    <file src=\"Logo64.PNG\" target=\"Logo64.PNG\" />\n  </files>\n</package>\n\n"
  },
  {
    "path": "Networking/Core/Networking.Core.nuspec.tt",
    "content": "﻿<#@ template debug=\"false\" hostspecific=\"false\" language=\"C#\" #>\n<#@ output extension=\".nuspec\" #>\n<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<package xmlns=\"http://schemas.microsoft.com/packaging/2012/06/nuspec.xsd\">\n  <metadata>\n    <id><#=m_AssemblyTitle#></id>\n    <version>4.0.2</version>\n    <title><#=NetworkingDataProduct#> Networking Core </title>\n    <authors><#=AssemblyCompany#></authors>\n    <owners><#=Owner#></owners>\n    <requireLicenseAcceptance>false</requireLicenseAcceptance>\n    <license type=\"expression\">MIT</license>\n    <projectUrl>https://github.com/mpostol/OPC-UA-OOI/tree/master/Networking/Core</projectUrl>\n    <icon>Logo64.PNG</icon>\n    <description>The core functionality of SemanticData Reactive Networking library based on OPC UA Part 14 Pub/Sub.</description>\n    <summary>The core functionality of SemanticData Reactive Networking library based on OPC UA Part 14 Pub/Sub.</summary>    \n    <copyright><#=AssemblyCopyright#></copyright>\n    <tags>Object Oriented Internet, OPC UA, PubSub, Information Model, IoT, M2M, DOA,</tags>\n    <repository type=\"GitHub\" url=\"https://github.com/mpostol/OPC-UA-OOI\" />\n    <dependencies>\n      <group targetFramework=\".NETStandard2.0\" />\n    </dependencies>\n    <releaseNotes>Maintenance release - unimportant changes.</releaseNotes>\n    <copyright><#=AssemblyCopyright#></copyright>\n  </metadata>\n  <files>\n    <file src=\"bin\\Release\\netstandard2.0\\UAOOI.Networking.Core.dll\" target=\"lib\\netstandard2.0\\UAOOI.Networking.Core.dll\" />\n    <file src=\"bin\\Release\\netstandard2.0\\UAOOI.Networking.Core.xml\" target=\"lib\\netstandard2.0\\UAOOI.Networking.Core.xml\" />\n    <file src=\"Logo64.PNG\" target=\"Logo64.PNG\" />\n  </files>\n</package>\n\n<#@ include file = \"..\\..\\CommonResources\\T4Definitions\\Model.t4\" #>\n<#+ string m_AssemblyTitle = \"UAOOI.Networking.Core\"; #>"
  },
  {
    "path": "Networking/Core/UAOOI.Networking.Core.xml",
    "content": "<?xml version=\"1.0\"?>\n<doc>\n    <assembly>\n        <name>UAOOI.Networking.Core</name>\n    </assembly>\n    <members>\n        <member name=\"T:UAOOI.Networking.Core.HandlerState\">\n            <summary>\n            Enum HandlerState - represents states of an configurable object. \n            </summary>\n        </member>\n        <member name=\"F:UAOOI.Networking.Core.HandlerState.NoConfiguration\">\n            <summary>\n            The handler is not configured and cannot be enabled.\n            </summary>\n        </member>\n        <member name=\"F:UAOOI.Networking.Core.HandlerState.Disabled\">\n            <summary>\n            The handler is configured but currently disabled.\n            </summary>\n        </member>\n        <member name=\"F:UAOOI.Networking.Core.HandlerState.Operational\">\n            <summary>\n            The handler is operational.\n            </summary>\n        </member>\n        <member name=\"F:UAOOI.Networking.Core.HandlerState.Error\">\n            <summary>\n            The handler is in an error state, i.e. cannot change the state to Operational. Similar to NoConfiguration state but after an error occurs.\n            </summary>\n        </member>\n        <member name=\"T:UAOOI.Networking.Core.IAssociationState\">\n            <summary>\n            Interface IAssociationState - encapsulates the state machine implementation governing this instance behavior.\n            The provided functionality behavior depends on the current value returned by the <see cref=\"P:UAOOI.Networking.Core.IAssociationState.State\"/> property.\n            </summary>\n        </member>\n        <member name=\"P:UAOOI.Networking.Core.IAssociationState.State\">\n            <summary>\n            Gets the current state <see cref=\"T:UAOOI.Networking.Core.HandlerState\"/> of an association instance.\n            </summary>\n            <value>The state of <see cref=\"T:UAOOI.Networking.Core.HandlerState\"/> type.</value>\n        </member>\n        <member name=\"M:UAOOI.Networking.Core.IAssociationState.Enable\">\n            <summary>\n            This method is used to enable a configured association instance. If a normal operation is possible, the state changes into <see cref=\"F:UAOOI.Networking.Core.HandlerState.Operational\"/> state. \n            In the case of an error situation, the state changes into <see cref=\"F:UAOOI.Networking.Core.HandlerState.Error\"/>. The operation is rejected if the current <see cref=\"P:UAOOI.Networking.Core.IAssociationState.State\"/>  is not <see cref=\"F:UAOOI.Networking.Core.HandlerState.Disabled\"/>.\n            </summary>\n        </member>\n        <member name=\"M:UAOOI.Networking.Core.IAssociationState.Disable\">\n            <summary>\n            This method is used to disable an already enabled association instance.\n            This method call shall be rejected if the current State is <see cref=\"F:UAOOI.Networking.Core.HandlerState.Disabled\"/> or <see cref=\"F:UAOOI.Networking.Core.HandlerState.NoConfiguration\"/>.\n            </summary>\n        </member>\n        <member name=\"T:UAOOI.Networking.Core.IBinaryDataTransferGraphReceiver\">\n            <summary>\n            Interface IBinaryDataTransferGraphReceiver\n            Implements the <see cref=\"T:System.IDisposable\" />\n            </summary>\n            <seealso cref=\"T:System.IDisposable\" />\n        </member>\n        <member name=\"E:UAOOI.Networking.Core.IBinaryDataTransferGraphReceiver.OnNewFrameArrived\">\n            <summary>\n            Is executed after arriving new Data Transfer Graph (DTG). \n            </summary>\n        </member>\n        <member name=\"P:UAOOI.Networking.Core.IBinaryDataTransferGraphReceiver.State\">\n            <summary>\n            Gets or sets the state of the transport channel. Interface <see cref=\"T:UAOOI.Networking.Core.IAssociationState\"/> encapsulates the state machine implementation governing this instance behavior.\n            The provided functionality behavior depends on the current value returned by the <see cref=\"P:UAOOI.Networking.Core.IAssociationState.State\"/> property.\n            </summary>\n            <value>An object implementing <see cref=\"T:UAOOI.Networking.Core.IAssociationState\"/> representing the state machine of communication channel.</value>\n        </member>\n        <member name=\"M:UAOOI.Networking.Core.IBinaryDataTransferGraphReceiver.AttachToNetwork\">\n            <summary>\n            Attach the communication channel to the network.\n            </summary>\n        </member>\n        <member name=\"T:UAOOI.Networking.Core.IBinaryDataTransferGraphSender\">\n            <summary>\n            Interface IBinaryDataTransferGraphSender\n            Implements the <see cref=\"T:System.IDisposable\" />\n            </summary>\n            <seealso cref=\"T:System.IDisposable\" />\n        </member>\n        <member name=\"M:UAOOI.Networking.Core.IBinaryDataTransferGraphSender.SendFrame(System.Byte[])\">\n            <summary>\n            Sends a Data Transfer Graph to a remote host (DTG).\n            </summary>\n            <param name=\"buffer\">The buffer.</param>\n        </member>\n        <member name=\"P:UAOOI.Networking.Core.IBinaryDataTransferGraphSender.State\">\n            <summary>\n            Gets or sets the state of the transport channel. Interface <see cref=\"T:UAOOI.Networking.Core.IAssociationState\"/> encapsulates the state machine implementation governing this instance behavior.\n            The provided functionality behavior depends on the current value returned by the <see cref=\"P:UAOOI.Networking.Core.IAssociationState.State\"/> property.\n            </summary>\n            <value>An object implementing <see cref=\"T:UAOOI.Networking.Core.IAssociationState\"/> representing the state machine of communication channel.</value>\n        </member>\n        <member name=\"M:UAOOI.Networking.Core.IBinaryDataTransferGraphSender.AttachToNetwork\">\n            <summary>\n            Attach the communication channel to the network.\n            </summary>\n        </member>\n        <member name=\"T:UAOOI.Networking.Core.IMessageHandlerFactory\">\n            <summary>\n            Interface IMessageHandlerFactory - creates objects supporting the Data Transfer Graph messages handling over the wire.\n            </summary>\n        </member>\n        <member name=\"M:UAOOI.Networking.Core.IMessageHandlerFactory.GetBinaryDTGReceiver(System.String,System.String)\">\n            <summary>\n            Gets an instance implementing <see cref=\"T:UAOOI.Networking.Core.IBinaryDataTransferGraphReceiver\" /> interface.\n            </summary>\n            <param name=\"name\">The name to be used for identification of the underlying DTG transport channel.</param>\n            <param name=\"configuration\">The configuration of the object implementing the <see cref=\"T:UAOOI.Networking.Core.IBinaryDataTransferGraphReceiver\" />.</param>\n            <returns>An object implementing <see cref=\"T:UAOOI.Networking.Core.IBinaryDataTransferGraphReceiver\" /> that provides functionality supporting reading the messages from the wire.</returns>\n        </member>\n        <member name=\"M:UAOOI.Networking.Core.IMessageHandlerFactory.GetBinaryDTGSender(System.String,System.String)\">\n            <summary>\n            Gets an instance implementing <see cref=\"T:UAOOI.Networking.Core.IBinaryDataTransferGraphSender\" /> interface.\n            </summary>\n            <param name=\"name\">The name to be used for identification of the underlying DTG transport channel.</param>\n            <param name=\"configuration\">The configuration of the object implementing the <see cref=\"T:UAOOI.Networking.Core.IBinaryDataTransferGraphSender\" />.</param>\n            <returns>An object implementing <see cref=\"T:UAOOI.Networking.Core.IBinaryDataTransferGraphSender\" /> that provides functionality supporting sending the messages over the wire.</returns>\n        </member>\n        <member name=\"T:UAOOI.Networking.Core.INetworkingEventSourceProvider\">\n            <summary>\n            Interface IEventSourceProvider - if implemented returns an instance of <see cref=\"T:System.Diagnostics.Tracing.EventSource\"/> to be registered by the logging infrastructure.\n            </summary>\n        </member>\n        <member name=\"M:UAOOI.Networking.Core.INetworkingEventSourceProvider.GetPartEventSource\">\n            <summary>\n            Gets the part event source.\n            </summary>\n            <returns>Returns an instance of <see cref=\"T:System.Diagnostics.Tracing.EventSource\"/>.</returns>\n        </member>\n    </members>\n</doc>\n"
  },
  {
    "path": "Networking/DataRepository/AzureGateway/AzureInterconnection/AzureDeviceParameters.cs",
    "content": "﻿//___________________________________________________________________________________\n//\n//  Copyright (C) 2020, Mariusz Postol LODZ POLAND.\n//\n//  To be in touch join the community at GITTER: https://gitter.im/mpostol/OPC-UA-OOI\n//___________________________________________________________________________________\n\nusing CommandLine;\nusing Microsoft.Azure.Devices.Client;\nusing System;\nusing System.Collections.Generic;\n\nnamespace UAOOI.Networking.DataRepository.AzureGateway.AzureInterconnection\n{\n  /// <summary>\n  /// Interface defining device parameters for establishing azure connection.\n  /// </summary>\n  public class AzureDeviceParameters\n  {\n    #region constructor\n\n    /// <summary>\n    /// Parses the specified configuration if <paramref name=\"repositoryGroup\"/> is not empty, otherwise parse it .\n    /// </summary>\n    /// <param name=\"repositoryGroup\">The configuration.</param>\n    /// <returns>AzureDeviceParameters.</returns>\n    /// <exception cref=\"NotImplementedException\">parse string</exception>\n    internal static AzureDeviceParameters ParseRepositoryGroup(string repositoryGroup)\n    {\n      AzureDeviceParameters ret = new AzureDeviceParameters();\n      if (String.IsNullOrEmpty(repositoryGroup))\n        return ret;\n      string[] args = repositoryGroup.Split(' ');\n      using (Parser parserInstance = new Parser(x => { x.AutoHelp = false; x.AutoVersion = false; x.HelpWriter = null; }))\n        parserInstance.ParseArguments<AzureDeviceParameters>(args).WithParsed<AzureDeviceParameters>(opts => ret = opts).WithNotParsed<AzureDeviceParameters>(X => ReportErrors(X));\n      return ret;\n    }\n\n    private static void ReportErrors(IEnumerable<Error> errors)\n    {\n      List<ArgumentOutOfRangeException> errorsList = new List<ArgumentOutOfRangeException>();\n      foreach (Error e in errors)\n        errorsList.Add(new ArgumentOutOfRangeException($\"{e.Tag} with stop processing = {e.StopsProcessing}\"));\n      throw new AggregateException(errorsList);\n    }\n\n    /// <summary>\n    /// Initializes a new instance of the <see cref=\"AzureDeviceParameters\"/> class.\n    /// </summary>\n    /// <remarks> Must be public to be used by the command line parser</remarks>\n    public AzureDeviceParameters()\n    {\n    }\n\n    #endregion constructor\n\n    #region API\n\n    /// <summary>\n    /// Gets or sets the name of the resource group.\n    /// </summary>\n    /// <value>The name of the resource group.</value>\n    [Value(0, HelpText = \"Resource Group Name retrieved as the first identifier\", Required = true)]\n    public string ResourceGroupName { get; set; }\n\n    /// <summary>\n    /// Gets the transport type used for this device.\n    /// </summary>\n    [Option('t', \"transport\", HelpText = \"TransportType\", Default = default(TransportType), Required = false)]\n    public TransportType TransportType { get; set; }\n\n    /// <summary>\n    /// Gets the Id corresponding to Azure device id.\n    /// </summary>\n    [Option('d', \"DeviceId\", HelpText = \"a string representing AzureDeviceId\", Required = true)]\n    public string AzureDeviceId { get; set; }\n\n    /// <summary>\n    /// Gets the azure scope id in which given device resides.\n    /// </summary>\n    [Option('s', \"ScopeId\", HelpText = \"a string representing AzureScopeId\", Required = true)]\n    public string AzureScopeId { get; set; }\n\n    /// <summary>\n    /// Gets the Azure primary key.\n    /// </summary>\n    /// <value>The Azure primary key.</value>\n    [Option('p', \"PrimaryKey\", HelpText = \"a string representing AzurePrimaryKey\", Required = true)]\n    public string AzurePrimaryKey { get; set; }\n\n    /// <summary>\n    /// Gets the azure secondary key.\n    /// </summary>\n    /// <value>The azure secondary key.</value>\n    [Option('k', \"SecondaryKey\", HelpText = \"a string representing AzureSecondaryKey\", Required = true)]\n    public string AzureSecondaryKey { get; set; }\n\n    /// <summary>\n    /// Gets the time interval when to send device state to Azure.\n    /// </summary>\n    [Option('i', \"Interval\", HelpText = \"an integer representing PublishingInterval\", Required = false)]\n    public int PublishingIntervalMS { get; set; }\n\n    /// <summary>\n    /// Calculates the time interval when to send device state to Azure.\n    /// </summary>\n    internal TimeSpan PublishingInterval()\n    {\n      return TimeSpan.FromMilliseconds(Math.Max(1000, PublishingIntervalMS));\n    }\n\n    #endregion API\n  }\n}"
  },
  {
    "path": "Networking/DataRepository/AzureGateway/AzureInterconnection/CommunicationContext.cs",
    "content": "﻿//___________________________________________________________________________________\n//\n//  Copyright (C) 2020, Mariusz Postol LODZ POLAND.\n//\n//  To be in touch join the community at GITTER: https://gitter.im/mpostol/OPC-UA-OOI\n//___________________________________________________________________________________\n\nusing Microsoft.Azure.Devices.Client;\nusing Microsoft.Azure.Devices.Provisioning.Client;\nusing Microsoft.Azure.Devices.Provisioning.Client.Transport;\nusing Microsoft.Azure.Devices.Shared;\nusing System;\nusing System.Text;\nusing System.Threading;\nusing System.Threading.Tasks;\nusing UAOOI.Networking.DataRepository.AzureGateway.Diagnostic;\n\nnamespace UAOOI.Networking.DataRepository.AzureGateway.AzureInterconnection\n{\n  /// <summary>\n  /// Class CommunicationContext - implements Azure communication state machine.\n  /// </summary>\n  internal class CommunicationContext\n  {\n    #region constructor\n\n    internal CommunicationContext(IDTOProvider dataProvider, string repositoryGroup, AzureDeviceParameters azureDeviceParameters)\n    {\n      _Logger.EnteringMethodAzure(nameof(CommunicationContext));\n      _dataProvider = dataProvider ?? throw new ArgumentNullException($\"{nameof(dataProvider)}\");\n      _repositoryGroup = repositoryGroup;\n      _azureDeviceParameters = azureDeviceParameters ?? throw new ArgumentNullException($\"{nameof(azureDeviceParameters)}\");\n    }\n\n    #endregion constructor\n\n    #region API\n\n    /// <summary>\n    /// Runs the communication machine.\n    /// </summary>\n    /// <param name=\"cancellation\">The cancellation token.</param>\n    internal async void Run(CancellationToken cancellation)\n    {\n      _Logger.EnteringMethodAzure(nameof(CommunicationContext));\n      if (_running)\n        throw new ApplicationException($\"Only one instance of the task {nameof(Run)} is allowed.\");\n      _running = true;\n      await CommunicationEngineLoopAsync(cancellation);\n    }\n\n    /// <summary>\n    /// Disconnects the request.\n    /// </summary>\n    /// <exception cref=\"ApplicationException\">Calling the {nameof(DisconnectRequest)} operation is allowed only in the running state of the communication machine.</exception>\n    internal void DisconnectRequest()\n    {\n      _Logger.EnteringMethodAzure(nameof(CommunicationContext));\n      if (!_running)\n      {\n        _Logger.ProgramFailure(nameof(CommunicationContext), \"This method cannot be called in the running state of the communication machine\");\n        throw new ApplicationException($\"Calling the {nameof(DisconnectRequest)} operation is allowed only in the running state of the communication machine.\");\n      }\n      _disconnectRequest = true;\n    }\n\n    #endregion API\n\n    #region private\n\n    private const string _globalDeviceEndpoint = \"global.azure-devices-provisioning.net\";\n    private const int _delayAfterFailure = 5000;\n\n    private enum MachineState { UnassignedState, AssigneddState, DataTransferingState }\n\n    private readonly AzureGatewaySemanticEventSource _Logger = AzureGatewaySemanticEventSource.Log();\n    private readonly IDTOProvider _dataProvider;\n    private readonly string _repositoryGroup;\n    private readonly AzureDeviceParameters _azureDeviceParameters;\n    private MachineState _currentState = MachineState.UnassignedState;\n    private bool _disconnectRequest = false;\n    private bool _running = false;\n\n    private void TransitionTo(MachineState state)\n    {\n      _currentState = state;\n    }\n\n    private async Task<DeviceRegistrationResult> RegisterAsync(SecurityProvider security, CancellationToken token)\n    {\n      _Logger.EnteringMethodAzure(nameof(CommunicationContext));\n      ProvisioningTransportHandler transport = null;\n      try\n      {\n        switch (_azureDeviceParameters.TransportType)\n        {\n          case TransportType.Amqp:\n            transport = new ProvisioningTransportHandlerAmqp();\n            break;\n\n          case TransportType.Http1:\n            transport = new ProvisioningTransportHandlerHttp();\n            break;\n\n          case TransportType.Amqp_WebSocket_Only:\n            transport = new ProvisioningTransportHandlerAmqp(TransportFallbackType.WebSocketOnly);\n            break;\n\n          case TransportType.Amqp_Tcp_Only:\n            transport = new ProvisioningTransportHandlerAmqp(TransportFallbackType.TcpOnly);\n            break;\n\n          case TransportType.Mqtt:\n            transport = new ProvisioningTransportHandlerMqtt();\n            break;\n\n          case TransportType.Mqtt_WebSocket_Only:\n            transport = new ProvisioningTransportHandlerMqtt(TransportFallbackType.WebSocketOnly);\n            break;\n\n          case TransportType.Mqtt_Tcp_Only:\n            transport = new ProvisioningTransportHandlerMqtt(TransportFallbackType.TcpOnly);\n            break;\n\n          default:\n            throw new ArgumentOutOfRangeException();\n        }\n        ProvisioningDeviceClient provisioningClient = ProvisioningDeviceClient.Create(_globalDeviceEndpoint, _azureDeviceParameters.AzureScopeId, security, transport);\n        _Logger.EnteringMethodAzure(nameof(ProvisioningDeviceClient), nameof(ProvisioningDeviceClient.RegisterAsync));\n        return await provisioningClient.RegisterAsync(token);\n      }\n      finally\n      {\n        _Logger.EnteringMethodAzure(nameof(ProvisioningTransportHandler), nameof(ProvisioningTransportHandler.Dispose));\n        transport.Dispose();\n      }\n    }\n\n    private async Task<DeviceClient> ConnectAsync(string assignedHub, SecurityProvider security, CancellationToken token)\n    {\n      _Logger.EnteringMethodAzure(nameof(CommunicationContext));\n      DeviceClient deviceClient;\n      try\n      {\n        IAuthenticationMethod authenticationMethod;\n        switch (security)\n        {\n          case SecurityProviderTpm tpmSecurity:\n            authenticationMethod = new DeviceAuthenticationWithTpm(_azureDeviceParameters.AzureDeviceId, tpmSecurity);\n            break;\n\n          case SecurityProviderX509 certificateSecurity:\n            authenticationMethod = new DeviceAuthenticationWithX509Certificate(_azureDeviceParameters.AzureDeviceId, certificateSecurity.GetAuthenticationCertificate());\n            break;\n\n          case SecurityProviderSymmetricKey symmetricKeySecurity:\n            authenticationMethod = new DeviceAuthenticationWithRegistrySymmetricKey(_azureDeviceParameters.AzureDeviceId, symmetricKeySecurity.GetPrimaryKey());\n            break;\n\n          default:\n            _Logger.ProgramFailure(nameof(CommunicationContext), \"Specified authentication type is unknown.\");\n            throw new NotSupportedException(\"Unknown authentication type.\");\n        }\n        _Logger.StartCreatingClient(nameof(DeviceClient), nameof(DeviceClient.Create), assignedHub, authenticationMethod.ToString(), _azureDeviceParameters.TransportType.ToString());\n        deviceClient = DeviceClient.Create(assignedHub, authenticationMethod, _azureDeviceParameters.TransportType);\n        _Logger.EnteringMethodAzure(nameof(DeviceClient), nameof(DeviceClient.OpenAsync));\n        await deviceClient.OpenAsync(token);\n      }\n      catch (Exception ex)\n      {\n        _Logger.LogException(nameof(CommunicationContext), ex);\n        return null;\n      }\n      return deviceClient;\n    }\n\n    private async Task DataTransfer(DeviceClient deviceClient, CancellationToken token)\n    {\n      try\n      {\n        _Logger.EnteringMethodAzure(nameof(CommunicationContext));\n        string payload = _dataProvider.GetDTO(_repositoryGroup);\n        using (Message message = new Message(Encoding.UTF8.GetBytes(payload)))\n          await deviceClient.SendEventAsync(message, token);\n        _Logger.SendEvenSuccided(payload.Substring(0, 80));\n      }\n      catch (Exception e)\n      {\n        _Logger.LogException(nameof(CommunicationContext), e);\n        throw;\n      }\n    }\n\n    private async Task CommunicationEngineLoopAsync(CancellationToken token)\n    {\n      _Logger.EnteringMethodAzure(nameof(CommunicationContext));\n      SecurityProvider security = null;\n      DeviceClient deviceClient = null;\n      string assignedHub = String.Empty;\n      try\n      {\n        security = new SecurityProviderSymmetricKey(_azureDeviceParameters.AzureDeviceId, _azureDeviceParameters.AzurePrimaryKey, _azureDeviceParameters.AzureSecondaryKey);\n        while (!_disconnectRequest)\n        {\n          token.ThrowIfCancellationRequested();\n          _Logger.EnteringState(_currentState.ToString());\n          switch (_currentState)\n          {\n            case MachineState.UnassignedState:\n              DeviceRegistrationResult provisioningResult = await RegisterAsync(security, token);\n              switch (provisioningResult.Status)\n              {\n                case ProvisioningRegistrationStatusType.Unassigned:\n                  _Logger.UnexpectedProvisioningResultStatus($\"{nameof(ProvisioningRegistrationStatusType.Unassigned)}\", $\"{provisioningResult.ErrorMessage}\");\n                  await Task.Delay(_delayAfterFailure, token); //No transition\n                  break;\n\n                case ProvisioningRegistrationStatusType.Assigning:\n                  _Logger.UnexpectedProvisioningResultStatus($\"{nameof(ProvisioningRegistrationStatusType.Assigning)}\", $\"{provisioningResult.ErrorMessage}\");\n                  await Task.Delay(_delayAfterFailure, token); //No transition\n                  break;\n\n                case ProvisioningRegistrationStatusType.Assigned:\n                  assignedHub = provisioningResult.AssignedHub;\n                  TransitionTo(MachineState.AssigneddState);\n                  break;\n\n                case ProvisioningRegistrationStatusType.Failed:\n                  _Logger.UnexpectedProvisioningResultStatus($\"{nameof(ProvisioningRegistrationStatusType.Failed)}\", $\"{provisioningResult.ErrorMessage}\");\n                  await Task.Delay(_delayAfterFailure, token); //No transition\n                  break;\n\n                case ProvisioningRegistrationStatusType.Disabled:\n                  _Logger.UnexpectedProvisioningResultStatus($\"{nameof(ProvisioningRegistrationStatusType.Disabled)}\", $\"{provisioningResult.ErrorMessage}\");\n                  await Task.Delay(_delayAfterFailure, token); //No transition\n                  break;\n              }\n\n              break;\n\n            case MachineState.AssigneddState:\n              deviceClient = await ConnectAsync(assignedHub, security, token);\n              if (deviceClient != null)\n              {\n                security.Dispose();\n                security = null;\n                TransitionTo(MachineState.DataTransferingState);\n              }\n              else\n              {\n                _Logger.AzureConnectionFailure(nameof(CommunicationContext), nameof(CommunicationEngineLoopAsync), $\"Failed to connect.\");\n                await Task.Delay(_delayAfterFailure, token);\n              }\n              break;\n\n            case MachineState.DataTransferingState:\n              _Logger.StartingTimeDelay(_azureDeviceParameters.PublishingInterval().ToString());\n              await Task.Delay(_azureDeviceParameters.PublishingInterval(), token);\n              await DataTransfer(deviceClient, token);\n              break;\n          }\n        }\n      }\n      catch (Exception ex)\n      {\n        _Logger.LogException(nameof(CommunicationContext), ex);\n      }\n      finally\n      {\n        _Logger.DisposingObject(nameof(DeviceClient), nameof(DeviceClient.CloseAsync));\n        deviceClient?.CloseAsync();\n        _Logger.DisposingObject(nameof(SecurityProvider), nameof(SecurityProvider.Dispose));\n        security?.Dispose();\n        _disconnectRequest = false;\n        _running = false;\n      }\n    }\n\n    #endregion private\n  }\n}"
  },
  {
    "path": "Networking/DataRepository/AzureGateway/AzureInterconnection/IDTOProvider.cs",
    "content": "﻿//___________________________________________________________________________________\n//\n//  Copyright (C) 2020, Mariusz Postol LODZ POLAND.\n//\n//  To be in touch join the community at GITTER: https://gitter.im/mpostol/OPC-UA-OOI\n//___________________________________________________________________________________\n\nnamespace UAOOI.Networking.DataRepository.AzureGateway.AzureInterconnection\n{\n  /// <summary>\n  /// Interface IDTOProvider - used to get access to data cached in the selected RepositoryGroup\n  /// </summary>\n  internal interface IDTOProvider\n  {\n    /// <summary>\n    /// Gets the Data Transfer Object to be transmitted to Azure as the JSON document.\n    /// </summary>\n    /// <param name=\"repositoryGroup\">The repository group.</param>\n    /// <returns>object capturing the current state of selected repository group.</returns>\n    string GetDTO(string repositoryGroup);\n  }\n}"
  },
  {
    "path": "Networking/DataRepository/AzureGateway/ConfigurationDataConsumer.BoilersSet.xml",
    "content": "﻿<ConfigurationData xmlns:i=\"http://www.w3.org/2001/XMLSchema-instance\" xmlns=\"http://commsvr.com/UAOOI/SemanticData/UANetworking/Configuration/Serialization.xsd\">\n  <DataSets>\n    <DataSetConfiguration>\n      <AssociationRole>Consumer</AssociationRole>\n      <AssociationName>BoilersArea_Boiler #1</AssociationName>\n      <RepositoryGroup>BoilersArea_Boiler_#1 -tHttp1 -dAzureDeviceId -sAzureScopeId -pAzurePrimaryKey -kAzureSecondaryKey -i2000</RepositoryGroup>\n      <InformationModelURI>http://commsvr.com/UA/Examples/BoilersSet</InformationModelURI>\n      <DataSymbolicName>BoilersArea_Boiler #1</DataSymbolicName>\n      <DataSet>\n        <DataMemberConfiguration>\n          <SymbolicName>CCX001_ControlOut</SymbolicName>\n          <ProcessValueName>CCX001_ControlOut</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>Double</BuiltInType>\n            <TypeName i:nil=\"true\" />\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>CCX001_Input1</SymbolicName>\n          <ProcessValueName>CCX001_Input1</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>Double</BuiltInType>\n            <TypeName i:nil=\"true\" />\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>CCX001_Input2</SymbolicName>\n          <ProcessValueName>CCX001_Input2</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>Double</BuiltInType>\n            <TypeName i:nil=\"true\" />\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>CCX001_Input3</SymbolicName>\n          <ProcessValueName>CCX001_Input3</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>Double</BuiltInType>\n            <TypeName i:nil=\"true\" />\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>DrumX001_LIX001_Output</SymbolicName>\n          <ProcessValueName>DrumX001_LIX001_Output</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>Double</BuiltInType>\n            <TypeName i:nil=\"true\" />\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>FCX001_ControlOut</SymbolicName>\n          <ProcessValueName>FCX001_ControlOut</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>Double</BuiltInType>\n            <TypeName i:nil=\"true\" />\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>FCX001_Measurement</SymbolicName>\n          <ProcessValueName>FCX001_Measurement</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>Double</BuiltInType>\n            <TypeName i:nil=\"true\" />\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>FCX001_SetPoint</SymbolicName>\n          <ProcessValueName>FCX001_SetPoint</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>Double</BuiltInType>\n            <TypeName i:nil=\"true\" />\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>PipeX001_FTX001_Output</SymbolicName>\n          <ProcessValueName>PipeX001_FTX001_Output</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>Double</BuiltInType>\n            <TypeName i:nil=\"true\" />\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>PipeX001_ValveX001_Input</SymbolicName>\n          <ProcessValueName>PipeX001_ValveX001_Input</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>Double</BuiltInType>\n            <TypeName i:nil=\"true\" />\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>LCX001_ControlOut</SymbolicName>\n          <ProcessValueName>LCX001_ControlOut</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>Double</BuiltInType>\n            <TypeName i:nil=\"true\" />\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>LCX001_Measurement</SymbolicName>\n          <ProcessValueName>LCX001_Measurement</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>Double</BuiltInType>\n            <TypeName i:nil=\"true\" />\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>LCX001_SetPoint</SymbolicName>\n          <ProcessValueName>LCX001_SetPoint</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>Double</BuiltInType>\n            <TypeName i:nil=\"true\" />\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>PipeX002_FTX002_Output</SymbolicName>\n          <ProcessValueName>PipeX002_FTX002_Output</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>Double</BuiltInType>\n            <TypeName i:nil=\"true\" />\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>Simulation_UpdateRate</SymbolicName>\n          <ProcessValueName>Simulation_UpdateRate</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>UInt32</BuiltInType>\n            <TypeName i:nil=\"true\" />\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n      </DataSet>\n      <Guid>e669df1f-3670-4dd4-9ef6-acb0975bf4f8</Guid>\n      <Root>\n        <BindingDescription>Binding Description</BindingDescription>\n        <q:DataType xmlns:d5p1=\"http://tempuri.org/UA/Examples/BoilerType\" xmlns:q=\"http://commsvr.com/UAOOI/SemanticData/UANetworking/Configuration/Serialization.xsd\">d5p1:BoilerType</q:DataType>\n        <q:NodeIdentifier xmlns:d5p1=\"http://commsvr.com/UA/Examples/BoilersSet\" xmlns:q=\"http://commsvr.com/UAOOI/SemanticData/UANetworking/Configuration/Serialization.xsd\">d5p1:BoilersArea_BoilerAlpha</q:NodeIdentifier>\n      </Root>\n      <PublishingInterval>100</PublishingInterval>\n      <MaxBufferTime>1000</MaxBufferTime>\n      <ConfigurationGuid>ec1d3d5b-c988-45da-9b6e-8d7f7d5c6089</ConfigurationGuid>\n      <ConfigurationVersion>\n        <MajorVersion>1</MajorVersion>\n        <MinorVersion>0</MinorVersion>\n      </ConfigurationVersion>\n    </DataSetConfiguration>\n    <DataSetConfiguration>\n      <AssociationRole>Consumer</AssociationRole>\n      <AssociationName>BoilersArea_Boiler #2</AssociationName>\n      <RepositoryGroup>BoilersArea_Boiler_#2  -tHttp1 -dAzureDeviceId -sAzureScopeId -pAzurePrimaryKey -kAzureSecondaryKey -i2000</RepositoryGroup>\n      <InformationModelURI>http://commsvr.com/UA/Examples/BoilersSet</InformationModelURI>\n      <DataSymbolicName>BoilersArea_Boiler #2</DataSymbolicName>\n      <DataSet>\n        <DataMemberConfiguration>\n          <SymbolicName>CCX001_ControlOut</SymbolicName>\n          <ProcessValueName>CCX001_ControlOut</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>Double</BuiltInType>\n            <TypeName i:nil=\"true\" />\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>CCX001_Input1</SymbolicName>\n          <ProcessValueName>CCX001_Input1</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>Double</BuiltInType>\n            <TypeName i:nil=\"true\" />\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>CCX001_Input2</SymbolicName>\n          <ProcessValueName>CCX001_Input2</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>Double</BuiltInType>\n            <TypeName i:nil=\"true\" />\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>CCX001_Input3</SymbolicName>\n          <ProcessValueName>CCX001_Input3</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>Double</BuiltInType>\n            <TypeName i:nil=\"true\" />\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>DrumX001_LIX001_Output</SymbolicName>\n          <ProcessValueName>DrumX001_LIX001_Output</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>Double</BuiltInType>\n            <TypeName i:nil=\"true\" />\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>FCX001_ControlOut</SymbolicName>\n          <ProcessValueName>FCX001_ControlOut</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>Double</BuiltInType>\n            <TypeName i:nil=\"true\" />\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>FCX001_Measurement</SymbolicName>\n          <ProcessValueName>FCX001_Measurement</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>Double</BuiltInType>\n            <TypeName i:nil=\"true\" />\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>FCX001_SetPoint</SymbolicName>\n          <ProcessValueName>FCX001_SetPoint</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>Double</BuiltInType>\n            <TypeName i:nil=\"true\" />\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>PipeX001_FTX001_Output</SymbolicName>\n          <ProcessValueName>PipeX001_FTX001_Output</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>Double</BuiltInType>\n            <TypeName i:nil=\"true\" />\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>PipeX001_ValveX001_Input</SymbolicName>\n          <ProcessValueName>PipeX001_ValveX001_Input</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>Double</BuiltInType>\n            <TypeName i:nil=\"true\" />\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>LCX001_ControlOut</SymbolicName>\n          <ProcessValueName>LCX001_ControlOut</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>Double</BuiltInType>\n            <TypeName i:nil=\"true\" />\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>LCX001_Measurement</SymbolicName>\n          <ProcessValueName>LCX001_Measurement</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>Double</BuiltInType>\n            <TypeName i:nil=\"true\" />\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>LCX001_SetPoint</SymbolicName>\n          <ProcessValueName>LCX001_SetPoint</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>Double</BuiltInType>\n            <TypeName i:nil=\"true\" />\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>PipeX002_FTX002_Output</SymbolicName>\n          <ProcessValueName>PipeX002_FTX002_Output</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>Double</BuiltInType>\n            <TypeName i:nil=\"true\" />\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>Simulation_UpdateRate</SymbolicName>\n          <ProcessValueName>Simulation_UpdateRate</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>UInt32</BuiltInType>\n            <TypeName i:nil=\"true\" />\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n      </DataSet>\n      <Guid>1f5c2bba-b5a7-44d2-93fe-b8736470ee54</Guid>\n      <Root>\n        <BindingDescription>Binding Description</BindingDescription>\n        <q:DataType xmlns:d5p1=\"http://tempuri.org/UA/Examples/BoilerType\" xmlns:q=\"http://commsvr.com/UAOOI/SemanticData/UANetworking/Configuration/Serialization.xsd\">d5p1:BoilerType</q:DataType>\n        <q:NodeIdentifier xmlns:d5p1=\"http://commsvr.com/UA/Examples/BoilersSet\" xmlns:q=\"http://commsvr.com/UAOOI/SemanticData/UANetworking/Configuration/Serialization.xsd\">d5p1:BoilersArea_BoilerBravo</q:NodeIdentifier>\n      </Root>\n      <PublishingInterval>100</PublishingInterval>\n      <MaxBufferTime>1000</MaxBufferTime>\n      <ConfigurationGuid>33b3a9b8-595c-4dd6-8915-489cd6057b5b</ConfigurationGuid>\n      <ConfigurationVersion>\n        <MajorVersion>1</MajorVersion>\n        <MinorVersion>0</MinorVersion>\n      </ConfigurationVersion>\n    </DataSetConfiguration>\n    <DataSetConfiguration>\n      <AssociationRole>Consumer</AssociationRole>\n      <AssociationName>BoilersArea_Boiler #3</AssociationName>\n      <RepositoryGroup>BoilersArea_Boiler_#3  -tHttp1 -dAzureDeviceId -sAzureScopeId -pAzurePrimaryKey -kAzureSecondaryKey -i2000</RepositoryGroup>\n      <InformationModelURI>http://commsvr.com/UA/Examples/BoilersSet</InformationModelURI>\n      <DataSymbolicName>BoilersArea_Boiler #3</DataSymbolicName>\n      <DataSet>\n        <DataMemberConfiguration>\n          <SymbolicName>CCX001_ControlOut</SymbolicName>\n          <ProcessValueName>CCX001_ControlOut</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>Double</BuiltInType>\n            <TypeName i:nil=\"true\" />\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>CCX001_Input1</SymbolicName>\n          <ProcessValueName>CCX001_Input1</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>Double</BuiltInType>\n            <TypeName i:nil=\"true\" />\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>CCX001_Input2</SymbolicName>\n          <ProcessValueName>CCX001_Input2</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>Double</BuiltInType>\n            <TypeName i:nil=\"true\" />\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>CCX001_Input3</SymbolicName>\n          <ProcessValueName>CCX001_Input3</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>Double</BuiltInType>\n            <TypeName i:nil=\"true\" />\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>DrumX001_LIX001_Output</SymbolicName>\n          <ProcessValueName>DrumX001_LIX001_Output</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>Double</BuiltInType>\n            <TypeName i:nil=\"true\" />\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>FCX001_ControlOut</SymbolicName>\n          <ProcessValueName>FCX001_ControlOut</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>Double</BuiltInType>\n            <TypeName i:nil=\"true\" />\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>FCX001_Measurement</SymbolicName>\n          <ProcessValueName>FCX001_Measurement</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>Double</BuiltInType>\n            <TypeName i:nil=\"true\" />\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>FCX001_SetPoint</SymbolicName>\n          <ProcessValueName>FCX001_SetPoint</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>Double</BuiltInType>\n            <TypeName i:nil=\"true\" />\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>PipeX001_FTX001_Output</SymbolicName>\n          <ProcessValueName>PipeX001_FTX001_Output</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>Double</BuiltInType>\n            <TypeName i:nil=\"true\" />\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>PipeX001_ValveX001_Input</SymbolicName>\n          <ProcessValueName>PipeX001_ValveX001_Input</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>Double</BuiltInType>\n            <TypeName i:nil=\"true\" />\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>LCX001_ControlOut</SymbolicName>\n          <ProcessValueName>LCX001_ControlOut</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>Double</BuiltInType>\n            <TypeName i:nil=\"true\" />\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>LCX001_Measurement</SymbolicName>\n          <ProcessValueName>LCX001_Measurement</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>Double</BuiltInType>\n            <TypeName i:nil=\"true\" />\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>LCX001_SetPoint</SymbolicName>\n          <ProcessValueName>LCX001_SetPoint</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>Double</BuiltInType>\n            <TypeName i:nil=\"true\" />\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>PipeX002_FTX002_Output</SymbolicName>\n          <ProcessValueName>PipeX002_FTX002_Output</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>Double</BuiltInType>\n            <TypeName i:nil=\"true\" />\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>Simulation_UpdateRate</SymbolicName>\n          <ProcessValueName>Simulation_UpdateRate</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>UInt32</BuiltInType>\n            <TypeName i:nil=\"true\" />\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n      </DataSet>\n      <Guid>096d553e-c1da-4ca4-9fcc-9d524fa3ca20</Guid>\n      <Root>\n        <BindingDescription>Binding Description</BindingDescription>\n        <q:DataType xmlns:d5p1=\"http://tempuri.org/UA/Examples/BoilerType\" xmlns:q=\"http://commsvr.com/UAOOI/SemanticData/UANetworking/Configuration/Serialization.xsd\">d5p1:BoilerType</q:DataType>\n        <q:NodeIdentifier xmlns:d5p1=\"http://commsvr.com/UA/Examples/BoilersSet\" xmlns:q=\"http://commsvr.com/UAOOI/SemanticData/UANetworking/Configuration/Serialization.xsd\">d5p1:BoilersArea_BoilerBravo</q:NodeIdentifier>\n      </Root>\n      <PublishingInterval>100</PublishingInterval>\n      <MaxBufferTime>1000</MaxBufferTime>\n      <ConfigurationGuid>ef63fda7-bb4a-400d-a5e9-517fae8e4ff6</ConfigurationGuid>\n      <ConfigurationVersion>\n        <MajorVersion>1</MajorVersion>\n        <MinorVersion>0</MinorVersion>\n      </ConfigurationVersion>\n    </DataSetConfiguration>\n    <DataSetConfiguration>\n      <AssociationRole>Consumer</AssociationRole>\n      <AssociationName>BoilersArea_Boiler #4</AssociationName>\n      <RepositoryGroup>BoilersArea_Boiler_#4  -tHttp1 -dAzureDeviceId -sAzureScopeId -pAzurePrimaryKey -kAzureSecondaryKey -i2000</RepositoryGroup>\n      <InformationModelURI>http://commsvr.com/UA/Examples/BoilersSet</InformationModelURI>\n      <DataSymbolicName>BoilersArea_Boiler #4</DataSymbolicName>\n      <DataSet>\n        <DataMemberConfiguration>\n          <SymbolicName>CCX001_ControlOut</SymbolicName>\n          <ProcessValueName>CCX001_ControlOut</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>Double</BuiltInType>\n            <TypeName i:nil=\"true\" />\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>CCX001_Input1</SymbolicName>\n          <ProcessValueName>CCX001_Input1</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>Double</BuiltInType>\n            <TypeName i:nil=\"true\" />\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>CCX001_Input2</SymbolicName>\n          <ProcessValueName>CCX001_Input2</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>Double</BuiltInType>\n            <TypeName i:nil=\"true\" />\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>CCX001_Input3</SymbolicName>\n          <ProcessValueName>CCX001_Input3</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>Double</BuiltInType>\n            <TypeName i:nil=\"true\" />\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>DrumX001_LIX001_Output</SymbolicName>\n          <ProcessValueName>DrumX001_LIX001_Output</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>Double</BuiltInType>\n            <TypeName i:nil=\"true\" />\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>FCX001_ControlOut</SymbolicName>\n          <ProcessValueName>FCX001_ControlOut</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>Double</BuiltInType>\n            <TypeName i:nil=\"true\" />\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>FCX001_Measurement</SymbolicName>\n          <ProcessValueName>FCX001_Measurement</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>Double</BuiltInType>\n            <TypeName i:nil=\"true\" />\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>FCX001_SetPoint</SymbolicName>\n          <ProcessValueName>FCX001_SetPoint</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>Double</BuiltInType>\n            <TypeName i:nil=\"true\" />\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>PipeX001_FTX001_Output</SymbolicName>\n          <ProcessValueName>PipeX001_FTX001_Output</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>Double</BuiltInType>\n            <TypeName i:nil=\"true\" />\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>PipeX001_ValveX001_Input</SymbolicName>\n          <ProcessValueName>PipeX001_ValveX001_Input</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>Double</BuiltInType>\n            <TypeName i:nil=\"true\" />\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>LCX001_ControlOut</SymbolicName>\n          <ProcessValueName>LCX001_ControlOut</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>Double</BuiltInType>\n            <TypeName i:nil=\"true\" />\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>LCX001_Measurement</SymbolicName>\n          <ProcessValueName>LCX001_Measurement</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>Double</BuiltInType>\n            <TypeName i:nil=\"true\" />\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>LCX001_SetPoint</SymbolicName>\n          <ProcessValueName>LCX001_SetPoint</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>Double</BuiltInType>\n            <TypeName i:nil=\"true\" />\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>PipeX002_FTX002_Output</SymbolicName>\n          <ProcessValueName>PipeX002_FTX002_Output</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>Double</BuiltInType>\n            <TypeName i:nil=\"true\" />\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>Simulation_UpdateRate</SymbolicName>\n          <ProcessValueName>Simulation_UpdateRate</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>UInt32</BuiltInType>\n            <TypeName i:nil=\"true\" />\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n      </DataSet>\n      <Guid>78e83ea4-aa0c-43e3-9449-3f2f195f2844</Guid>\n      <Root>\n        <BindingDescription>Binding Description</BindingDescription>\n        <q:DataType xmlns:d5p1=\"http://tempuri.org/UA/Examples/BoilerType\" xmlns:q=\"http://commsvr.com/UAOOI/SemanticData/UANetworking/Configuration/Serialization.xsd\">d5p1:BoilerType</q:DataType>\n        <q:NodeIdentifier xmlns:d5p1=\"http://commsvr.com/UA/Examples/BoilersSet\" xmlns:q=\"http://commsvr.com/UAOOI/SemanticData/UANetworking/Configuration/Serialization.xsd\">d5p1:BoilersArea_BoilerBravo</q:NodeIdentifier>\n      </Root>\n      <PublishingInterval>100</PublishingInterval>\n      <MaxBufferTime>1000</MaxBufferTime>\n      <ConfigurationGuid>3b3273c2-c5bc-468d-9c6b-97c6e2a5042d</ConfigurationGuid>\n      <ConfigurationVersion>\n        <MajorVersion>1</MajorVersion>\n        <MinorVersion>0</MinorVersion>\n      </ConfigurationVersion>\n    </DataSetConfiguration>\n  </DataSets>\n  <MessageHandlers>\n    <MessageHandlerConfiguration i:type=\"MessageReaderConfiguration\">\n      <Name>UDP</Name>\n      <Configuration>\n        <ChannelConfiguration>4840,False,127.0.0.1,True</ChannelConfiguration>\n      </Configuration>\n      <TransportRole>Consumer</TransportRole>\n      <ConsumerAssociationConfigurations>\n        <ConsumerAssociationConfiguration>\n          <AssociationName>BoilersArea_Boiler #1</AssociationName>\n          <DataSetWriterId>100</DataSetWriterId>\n          <PublisherId>d80d81dd-96e6-4560-850e-154f9181307c</PublisherId>\n        </ConsumerAssociationConfiguration>\n        <ConsumerAssociationConfiguration>\n          <AssociationName>BoilersArea_Boiler #2</AssociationName>\n          <DataSetWriterId>1202</DataSetWriterId>\n          <PublisherId>d80d81dd-96e6-4560-850e-154f9181307c</PublisherId>\n        </ConsumerAssociationConfiguration>\n        <ConsumerAssociationConfiguration>\n          <AssociationName>BoilersArea_Boiler #3</AssociationName>\n          <DataSetWriterId>130</DataSetWriterId>\n          <PublisherId>d80d81dd-96e6-4560-850e-154f9181307c</PublisherId>\n        </ConsumerAssociationConfiguration>\n        <ConsumerAssociationConfiguration>\n          <AssociationName>BoilersArea_Boiler #4</AssociationName>\n          <DataSetWriterId>140</DataSetWriterId>\n          <PublisherId>d80d81dd-96e6-4560-850e-154f9181307c</PublisherId>\n          <FieldEncoding>VariantFieldEncoding</FieldEncoding>\n        </ConsumerAssociationConfiguration>\n      </ConsumerAssociationConfigurations>\n    </MessageHandlerConfiguration>\n  </MessageHandlers>\n</ConfigurationData>"
  },
  {
    "path": "Networking/DataRepository/AzureGateway/Diagnostic/AzureGatewayDiagnosticExtension.cs",
    "content": "﻿//___________________________________________________________________________________\n//\n//  Copyright (C) 2020, Mariusz Postol LODZ POLAND.\n//\n//  To be in touch join the community at GITTER: https://gitter.im/mpostol/OPC-UA-OOI\n//___________________________________________________________________________________\n\nusing System;\nusing System.Runtime.CompilerServices;\n\nnamespace UAOOI.Networking.DataRepository.AzureGateway.Diagnostic\n{\n  /// <summary>\n  /// Class <see cref=\"AzureGatewayDiagnosticExtension\"/> - expanding the <see cref=\"AzureGatewaySemanticEventSource\"/>\n  /// </summary>\n  internal static class AzureGatewayDiagnosticExtension\n  {\n    /// <summary>\n    /// Logs the exception using <see cref=\"AzureGatewaySemanticEventSource\" />.\n    /// </summary>\n    /// <param name=\"eventSource\">The event source to be used for problem reporting.</param>\n    /// <param name=\"className\">Name of the class.</param>\n    /// <param name=\"methodName\">Name of the method.</param>\n    /// <param name=\"e\">The exception to be reported.</param>\n    internal static void LogException(this AzureGatewaySemanticEventSource eventSource, string className, Exception e, [CallerMemberName] string methodName = nameof(LogException))\n    {\n      Exception _exception = e;\n      string _innerText = \"An exception has been caught:\";\n      while (e != null)\n      {\n        eventSource.ProgramFailure(className, methodName, $\"{_innerText} of type {_exception.GetType().Name} capturing the message: {e.Message}\");\n        e = e.InnerException;\n        _innerText = \"It contains inner exception:\";\n      }\n    }\n  }\n}"
  },
  {
    "path": "Networking/DataRepository/AzureGateway/Diagnostic/AzureGatewaySemanticEventSource.cs",
    "content": "﻿//___________________________________________________________________________________\n//\n//  Copyright (C) 2020, Mariusz Postol LODZ POLAND.\n//\n//  To be in touch join the community at GITTER: https://gitter.im/mpostol/OPC-UA-OOI\n//___________________________________________________________________________________\n\nusing System;\nusing System.Diagnostics.Tracing;\nusing System.Runtime.CompilerServices;\n\nnamespace UAOOI.Networking.DataRepository.AzureGateway.Diagnostic\n{\n  /// <summary>\n  /// Class AzureGatewaySemanticEventSource captures event source functionality supporting semantic par logging\n  /// Implements the <see cref=\"EventSource\" />\n  /// </summary>\n  /// <seealso cref=\"EventSource\" />\n  [EventSource(Name = \"UAOOI.Networking.DataRepository.AzureGateway.Diagnostic\", Guid = \"BC7E8C08-C708-4E3C-A27E-237F093F175C\")]\n  public class AzureGatewaySemanticEventSource : EventSource\n  {\n    /// <summary>\n    /// Class Tasks - capturing definitions of the tasks that apply to events.\n    /// </summary>\n    public class Tasks\n    {\n      /// <summary>\n      /// The part behavior event task\n      /// </summary>\n      public const EventTask Part = (EventTask)1;\n\n      /// <summary>\n      /// The code behavior event task\n      /// </summary>\n      public const EventTask Code = (EventTask)2;\n\n      /// <summary>\n      /// The binding behavior event task\n      /// </summary>\n      public const EventTask Binding = (EventTask)3;\n\n      /// <summary>\n      /// The configuration behavior event task\n      /// </summary>\n      public const EventTask Configuration = (EventTask)4;\n\n      /// <summary>\n      /// The azure behavior event task\n      /// </summary>\n      public const EventTask Azure = (EventTask)5;\n    }\n\n    /// <summary>\n    /// Class Keywords - defines the local keywords (flags) that apply to events.\n    /// </summary>\n    public class Keywords\n    {\n      /// <summary>\n      /// The PackageContent <see cref=\"EventKeywords\"/>\n      /// </summary>\n      public const EventKeywords PackageContent = (EventKeywords)(1 << 1);\n\n      /// <summary>\n      /// The Diagnostic <see cref=\"EventKeywords\"/>\n      /// </summary>\n      public const EventKeywords Diagnostic = (EventKeywords)(1 << 2);\n\n      /// <summary>\n      /// The Performance <see cref=\"EventKeywords\"/>\n      /// </summary>\n      public const EventKeywords Performance = (EventKeywords)(1 << 3);\n\n      /// <summary>\n      /// The Settings <see cref=\"EventKeywords\"/>\n      /// </summary>\n      public const EventKeywords Settings = (EventKeywords)(1 << 4);\n    }\n\n    /// <summary>\n    /// Gets the log - implements singleton of the <see cref=\"AzureGatewaySemanticEventSource\"/>.\n    /// </summary>\n    /// <value>The log.</value>\n    internal static AzureGatewaySemanticEventSource Log() { return _singleton.Value; }\n\n    [Event(1, Message = \"At {0}.{1} encountered application failure: {2}\",\n      Channel = EventChannel.Admin, Opcode = EventOpcode.Info, Task = Tasks.Code, Level = EventLevel.Error, Keywords = Keywords.Diagnostic, Version = 0x01)]\n    internal void ProgramFailure(string className, string problem, [CallerMemberName] string methodName = nameof(ProgramFailure))\n    {\n      WriteEvent(1, className, methodName, problem);\n    }\n\n    [Event(2, Message = \"Disposing an object: {0}.{1}.\",\n       Channel = EventChannel.Debug, Opcode = EventOpcode.Stop, Task = Tasks.Code, Level = EventLevel.Verbose)]\n    internal void DisposingObject(string className, string methodName)\n    {\n      WriteEvent(2, className, methodName);\n    }\n\n    [Event(3, Message = \"At {0}.{1} encountered Azure transient communication problem: {2}\",\n      Channel = EventChannel.Admin, Opcode = EventOpcode.Suspend, Task = Tasks.Azure, Level = EventLevel.Warning, Keywords = EventKeywords.AuditFailure)]\n    internal void AzureConnectionFailure(string className, string methodName, string problem)\n    {\n      WriteEvent(3, className, methodName, problem);\n    }\n\n    [Event(4, Message = \"Entering method {0}.{1}\",\n      Channel = EventChannel.Debug, Opcode = EventOpcode.Start, Task = Tasks.Azure, Level = EventLevel.Verbose, Keywords = EventKeywords.AuditSuccess)]\n    internal void EnteringMethodAzure(string className, [CallerMemberName] string methodName = nameof(EnteringMethodAzure))\n    {\n      WriteEvent(4, className, methodName);\n    }\n\n    [Event(5, Message = \"Start creating client using {0}.{1} for {2} with authenticationMethod {3}, and using the transport {3}\",\n      Channel = EventChannel.Debug, Opcode = EventOpcode.Start, Task = Tasks.Azure, Level = EventLevel.Informational, Keywords = EventKeywords.AuditSuccess)]\n    internal void StartCreatingClient(string className, string methodName, string assignedHub, string authenticationMethod, string transportType)\n    {\n      WriteEvent(5, className, methodName, assignedHub, authenticationMethod, transportType);\n    }\n\n    [Event(6, Message = \"Azure communication machine entering state {0}\",\n      Channel = EventChannel.Debug, Opcode = EventOpcode.Start, Task = Tasks.Azure, Level = EventLevel.Verbose, Keywords = EventKeywords.AuditSuccess)]\n    internal void EnteringState(string machineState)\n    {\n      WriteEvent(6, machineState);\n    }\n\n    [Event(7, Message = \"Unexpected provisioning resultStatus {0} reporting error {1}\",\n      Channel = EventChannel.Admin, Opcode = EventOpcode.Info, Task = Tasks.Azure, Level = EventLevel.Warning, Keywords = EventKeywords.AuditFailure)]\n    internal void UnexpectedProvisioningResultStatus(string provisioningRegistrationStatusType, string errorMessage)\n    {\n      WriteEvent(7, provisioningRegistrationStatusType, errorMessage);\n    }\n\n    [Event(8, Message = \"The following message has been successfully send to Azure service: {0}\",\n      Channel = EventChannel.Debug, Opcode = EventOpcode.Info, Task = Tasks.Azure, Level = EventLevel.Verbose, Keywords = EventKeywords.AuditSuccess)]\n    internal void SendEvenSuccided(string payloadHeader)\n    {\n      WriteEvent(8, payloadHeader);\n    }\n\n    [Event(9, Message = \"Starting time delay {0} for a transient failure\",\n      Channel = EventChannel.Admin, Opcode = EventOpcode.Info, Task = Tasks.Azure, Level = EventLevel.Verbose, Keywords = EventKeywords.AuditSuccess)]\n    internal void StartingTimeDelay(string timeSpan)\n    {\n      WriteEvent(9, timeSpan);\n    }\n\n    [Event(10, Message = \"Entering method PartBindingFactory.{0}\",\n      Channel = EventChannel.Debug, Opcode = EventOpcode.Info, Task = Tasks.Binding, Level = EventLevel.Verbose, Keywords = EventKeywords.AuditSuccess)]\n    internal void EnteringMethodBinding([CallerMemberName] string methodName = nameof(EnteringMethodBinding))\n    {\n      WriteEvent(10, methodName);\n    }\n\n    [Event(11, Message = \"Opening the configuration file {0}\",\n      Channel = EventChannel.Debug, Opcode = EventOpcode.Info, Task = Tasks.Configuration, Level = EventLevel.Verbose, Keywords = EventKeywords.AuditSuccess)]\n    internal void CreatingConfiguration(string configurationFileName)\n    {\n      WriteEvent(11, configurationFileName);\n    }\n\n    [Event(12, Message = \"Entering method {0}.{1}\",\n      Channel = EventChannel.Debug, Opcode = EventOpcode.Info, Task = Tasks.Part, Level = EventLevel.Verbose, Keywords = EventKeywords.AuditSuccess)]\n    internal void EnteringMethodPart(string className, [CallerMemberName] string methodName = nameof(EnteringMethodPart))\n    {\n      WriteEvent(12, className, methodName);\n    }\n\n    [Event(13, Message = \"Successfully composed {0} using instance of type {1}\",\n      Channel = EventChannel.Debug, Opcode = EventOpcode.Info, Task = Tasks.Part, Level = EventLevel.Informational, Keywords = EventKeywords.AuditSuccess)]\n    internal void Composed(string variable, string typeName)\n    {\n      WriteEvent(13, variable, typeName);\n    }\n\n    [Event(14, Message = \"Setup of the consumer engine has been accomplished and it starts receiving data.\",\n      Channel = EventChannel.Debug, Opcode = EventOpcode.Start, Task = Tasks.Part, Level = EventLevel.Informational, Keywords = EventKeywords.AuditSuccess)]\n    internal void PartInitializationCompleted()\n    {\n      WriteEvent(14);\n    }\n\n    [Event(15, Message = \"TraceData of the EventType={0} with id={1} and description={2}\",\n      Channel = EventChannel.Analytic, Opcode = EventOpcode.Start, Task = Tasks.Code, Level = EventLevel.Informational, Keywords = EventKeywords.AuditSuccess)]\n    internal void TraceData(string eventType, int id, string data)\n    {\n      WriteEvent(15, eventType, id, data);\n    }\n\n    #region private\n\n    private static Lazy<AzureGatewaySemanticEventSource> _singleton = new Lazy<AzureGatewaySemanticEventSource>(() => new AzureGatewaySemanticEventSource());\n\n    /// <summary>\n    /// Releases the unmanaged resources used by the <see cref=\"T:System.Diagnostics.Tracing.EventSource\"></see> class and optionally releases the managed resources.\n    /// </summary>\n    /// <param name=\"disposing\">true to release both managed and unmanaged resources; false to release only unmanaged resources.</param>\n    protected override void Dispose(bool disposing)\n    {\n      base.Dispose(disposing);\n      if (disposing)\n        _singleton = new Lazy<AzureGatewaySemanticEventSource>(() => new AzureGatewaySemanticEventSource());\n    }\n\n    private AzureGatewaySemanticEventSource()\n    {\n    }\n\n    #endregion private\n  }\n}"
  },
  {
    "path": "Networking/DataRepository/AzureGateway/Diagnostic/NetworkingEventSourceProvider.cs",
    "content": "﻿//___________________________________________________________________________________\n//\n//  Copyright (C) 2020, Mariusz Postol LODZ POLAND.\n//\n//  To be in touch join the community at GITTER: https://gitter.im/mpostol/OPC-UA-OOI\n//___________________________________________________________________________________\n\nusing System.ComponentModel.Composition;\nusing System.Diagnostics.Tracing;\nusing UAOOI.Networking.Core;\n\nnamespace UAOOI.Networking.DataRepository.AzureGateway.Diagnostic\n{\n  /// <summary>\n  /// Class NetworkingEventSourceProvider - gets access to an instance of <see cref=\"EventSource\"/> to be registered by the logging infrastructure.\n  /// </summary>\n  /// <seealso cref=\"INetworkingEventSourceProvider\" />\n  [Export(typeof(INetworkingEventSourceProvider))]\n  public class NetworkingEventSourceProvider : INetworkingEventSourceProvider\n  {\n    #region INetworkingEventSourceProvider\n\n    /// <summary>\n    /// Gets the part event source.\n    /// </summary>\n    /// <returns>Returns an instance of <see cref=\"EventSource\" />.</returns>\n    public EventSource GetPartEventSource()\n    {\n      return AzureGatewaySemanticEventSource.Log();\n    }\n\n    #endregion INetworkingEventSourceProvider\n  }\n}"
  },
  {
    "path": "Networking/DataRepository/AzureGateway/Networking.DataRepository.AzureGateway.csproj",
    "content": "<Project Sdk=\"Microsoft.NET.Sdk\">\n\n  <PropertyGroup>\n    <TargetFramework>netstandard2.0</TargetFramework>\n    <AssemblyName>UAOOI.Networking.DataRepository.AzureGateway</AssemblyName>\n    <RootNamespace>UAOOI.Networking.DataRepository.AzureGateway</RootNamespace>\n    <SignAssembly>true</SignAssembly>\n    <AssemblyOriginatorKeyFile>OPCUAOOIKey.snk</AssemblyOriginatorKeyFile>\n    <Description>TBD</Description>\n    <Copyright>Copyright MPostol (c) 2020</Copyright>\n    <PackageLicenseUrl>https://github.com/mpostol/OPC-UA-OOI/blob/master/license.md</PackageLicenseUrl>\n    <PackageProjectUrl>https://commsvr.gitbook.io/ooi</PackageProjectUrl>\n    <RepositoryUrl>https://github.com/mpostol/OPC-UA-OOI</RepositoryUrl>\n    <RepositoryType>GitHub</RepositoryType>\n    <PackageTags>Object Oriented Internet, OPC UA, CommServer, Reactive Networking.</PackageTags>\n    <Authors>MPostol</Authors>\n    <Company>commsvr.com</Company>\n    <Product>Object Oriented Internet</Product>\n    <GeneratePackageOnBuild>false</GeneratePackageOnBuild>\n    <DelaySign>false</DelaySign>\n    <GenerateDocumentationFile>True</GenerateDocumentationFile>\n  </PropertyGroup>\n\n  <PropertyGroup Condition=\"'$(Configuration)|$(Platform)'=='Debug|AnyCPU'\">\n    <DocumentationFile></DocumentationFile>\n    <NoWarn>1701;1702; IDE0049,IDE0001</NoWarn>\n  </PropertyGroup>\n\n  <ItemGroup>\n    <PackageReference Include=\"CommandLineParser\" Version=\"2.9.1\" />\n    <PackageReference Include=\"CommonServiceLocator\" Version=\"2.0.6\" />\n    <PackageReference Include=\"Microsoft.Azure.Devices.Client\" Version=\"1.41.0\" />\n    <PackageReference Include=\"Microsoft.Azure.Devices.Provisioning.Client\" Version=\"1.19.1\" />\n    <PackageReference Include=\"Microsoft.Azure.Devices.Provisioning.Transport.Amqp\" Version=\"1.16.2\" />\n    <PackageReference Include=\"Microsoft.Azure.Devices.Provisioning.Transport.Http\" Version=\"1.15.1\" />\n    <PackageReference Include=\"Microsoft.Azure.Devices.Provisioning.Transport.Mqtt\" Version=\"1.17.1\" />\n    <PackageReference Include=\"Microsoft.Azure.Devices.Shared\" Version=\"1.30.1\" />\n  </ItemGroup>\n\n  <ItemGroup>\n    <ProjectReference Include=\"..\\..\\ReferenceApplication.Core\\Networking.ReferenceApplication.Core.csproj\" />\n    <ProjectReference Include=\"..\\..\\SemanticData\\Networking.SemanticData.csproj\" />\n  </ItemGroup>\n\n  <ItemGroup>\n    <None Update=\"ConfigurationDataConsumer.BoilersSet.xml\">\n      <CopyToOutputDirectory>Never</CopyToOutputDirectory>\n    </None>\n  </ItemGroup>\n\n</Project>\n"
  },
  {
    "path": "Networking/DataRepository/AzureGateway/PartBindingFactory.cs",
    "content": "﻿//___________________________________________________________________________________\n//\n//  Copyright (C) 2020, Mariusz Postol LODZ POLAND.\n//\n//  To be in touch join the community at GITTER: https://gitter.im/mpostol/OPC-UA-OOI\n//___________________________________________________________________________________\n\nusing System;\nusing System.Collections.Generic;\nusing UAOOI.Configuration.Networking.Serialization;\nusing UAOOI.Networking.DataRepository.AzureGateway.AzureInterconnection;\nusing UAOOI.Networking.DataRepository.AzureGateway.Diagnostic;\nusing UAOOI.Networking.SemanticData;\nusing UAOOI.Networking.SemanticData.DataRepository;\n\nnamespace UAOOI.Networking.DataRepository.AzureGateway\n{\n  /// <summary>\n  /// Class PartBindingFactory.\n  /// Implements the <see cref=\"IBindingFactory\" />\n  /// Implements the <see cref=\"IDTOProvider\" />\n  /// </summary>\n  /// <seealso cref=\"UAOOI.Networking.SemanticData.IBindingFactory\" />\n  /// <seealso cref=\"IDTOProvider\" />\n  internal class PartBindingFactory : IBindingFactory, IDTOProvider\n  {\n    #region IBindingFactory\n\n    /// <summary>\n    /// Gets the binding captured by an instance of the <see cref=\"T:UAOOI.Networking.SemanticData.DataRepository.IConsumerBinding\" /> type used by the consumer to save the data in the data repository.\n    /// </summary>\n    /// <param name=\"repositoryGroup\">It is the name of a repository group profiling the configuration behavior, e.g. encoders selection.\n    /// The configuration of the repositories belonging to the same group are handled according to the same profile.</param>\n    /// <param name=\"processValueName\">The name of a variable that is the ultimate destination of the values recovered from messages.\n    /// Must be unique in the context of the group named by <paramref name=\"repositoryGroup\" />.</param>\n    /// <param name=\"fieldTypeInfo\">The field metadata definition represented as an object of <see cref=\"T:UAOOI.Configuration.Networking.Serialization.UATypeInfo\" />.</param>\n    /// <returns>Returns an object implementing the <see cref=\"T:UAOOI.Networking.SemanticData.DataRepository.IConsumerBinding\" /> interface that can be used to update selected variable on the factory side.</returns>\n    /// <exception cref=\"NotImplementedException\"></exception>\n    public IConsumerBinding GetConsumerBinding(string repositoryGroup, string processValueName, UATypeInfo fieldTypeInfo)\n    {\n      _log.EnteringMethodBinding();\n      IConsumerBinding _return = null;\n      if (fieldTypeInfo.ValueRank == 0 || fieldTypeInfo.ValueRank > 1)\n        throw new ArgumentOutOfRangeException(nameof(fieldTypeInfo.ValueRank));\n      switch (fieldTypeInfo.BuiltInType)\n      {\n        case BuiltInType.Boolean:\n          if (fieldTypeInfo.ValueRank < 0)\n            _return = AddBinding<bool>(repositoryGroup, processValueName, fieldTypeInfo);\n          else\n            _return = AddBinding<bool[]>(repositoryGroup, processValueName, fieldTypeInfo);\n          break;\n\n        case BuiltInType.SByte:\n          if (fieldTypeInfo.ValueRank < 0)\n            _return = AddBinding<sbyte>(repositoryGroup, processValueName, fieldTypeInfo);\n          else\n            _return = AddBinding<sbyte[]>(repositoryGroup, processValueName, fieldTypeInfo);\n          break;\n\n        case BuiltInType.Byte:\n          if (fieldTypeInfo.ValueRank < 0)\n            _return = AddBinding<byte>(repositoryGroup, processValueName, fieldTypeInfo);\n          else\n            _return = AddBinding<byte[]>(repositoryGroup, processValueName, fieldTypeInfo);\n          break;\n\n        case BuiltInType.Int16:\n          if (fieldTypeInfo.ValueRank < 0)\n            _return = AddBinding<short>(repositoryGroup, processValueName, fieldTypeInfo);\n          else\n            _return = AddBinding<short[]>(repositoryGroup, processValueName, fieldTypeInfo);\n          break;\n\n        case BuiltInType.UInt16:\n          if (fieldTypeInfo.ValueRank < 0)\n            _return = AddBinding<ushort>(repositoryGroup, processValueName, fieldTypeInfo);\n          else\n            _return = AddBinding<ushort[]>(repositoryGroup, processValueName, fieldTypeInfo);\n          break;\n\n        case BuiltInType.Int32:\n          if (fieldTypeInfo.ValueRank < 0)\n            _return = AddBinding<int>(repositoryGroup, processValueName, fieldTypeInfo);\n          else\n            _return = AddBinding<int[]>(repositoryGroup, processValueName, fieldTypeInfo);\n          break;\n\n        case BuiltInType.UInt32:\n          if (fieldTypeInfo.ValueRank < 0)\n            _return = AddBinding<uint>(repositoryGroup, processValueName, fieldTypeInfo);\n          else\n            _return = AddBinding<uint[]>(repositoryGroup, processValueName, fieldTypeInfo);\n          break;\n\n        case BuiltInType.Int64:\n          if (fieldTypeInfo.ValueRank < 0)\n            _return = AddBinding<long>(repositoryGroup, processValueName, fieldTypeInfo);\n          else\n            _return = AddBinding<long[]>(repositoryGroup, processValueName, fieldTypeInfo);\n          break;\n\n        case BuiltInType.UInt64:\n          if (fieldTypeInfo.ValueRank < 0)\n            _return = AddBinding<ulong>(repositoryGroup, processValueName, fieldTypeInfo);\n          else\n            _return = AddBinding<ulong[]>(repositoryGroup, processValueName, fieldTypeInfo);\n          break;\n\n        case BuiltInType.Float:\n          if (fieldTypeInfo.ValueRank < 0)\n            _return = AddBinding<float>(repositoryGroup, processValueName, fieldTypeInfo);\n          else\n            _return = AddBinding<float[]>(repositoryGroup, processValueName, fieldTypeInfo);\n          break;\n\n        case BuiltInType.Double:\n          if (fieldTypeInfo.ValueRank < 0)\n            _return = AddBinding<double>(repositoryGroup, processValueName, fieldTypeInfo);\n          else\n            _return = AddBinding<double[]>(repositoryGroup, processValueName, fieldTypeInfo);\n          break;\n\n        case BuiltInType.String:\n          if (fieldTypeInfo.ValueRank < 0)\n            _return = AddBinding<string>(repositoryGroup, processValueName, fieldTypeInfo);\n          else\n            _return = AddBinding<string[]>(repositoryGroup, processValueName, fieldTypeInfo);\n          break;\n\n        case BuiltInType.DateTime:\n          if (fieldTypeInfo.ValueRank < 0)\n            _return = AddBinding<DateTime>(repositoryGroup, processValueName, fieldTypeInfo);\n          else\n            _return = AddBinding<DateTime[]>(repositoryGroup, processValueName, fieldTypeInfo);\n          break;\n\n        case BuiltInType.Guid:\n          if (fieldTypeInfo.ValueRank < 0)\n            _return = AddBinding<Guid>(repositoryGroup, processValueName, fieldTypeInfo);\n          else\n            _return = AddBinding<Guid[]>(repositoryGroup, processValueName, fieldTypeInfo);\n          break;\n\n        case BuiltInType.ByteString:\n          if (fieldTypeInfo.ValueRank < 0)\n            _return = AddBinding<byte[]>(repositoryGroup, processValueName, fieldTypeInfo);\n          else\n            _return = AddBinding<byte[][]>(repositoryGroup, processValueName, fieldTypeInfo);\n          break;\n\n        case BuiltInType.Null:\n        case BuiltInType.XmlElement:\n        case BuiltInType.NodeId:\n        case BuiltInType.ExpandedNodeId:\n        case BuiltInType.StatusCode:\n        case BuiltInType.QualifiedName:\n        case BuiltInType.LocalizedText:\n        case BuiltInType.ExtensionObject:\n        case BuiltInType.DataValue:\n        case BuiltInType.Variant:\n        case BuiltInType.DiagnosticInfo:\n        case BuiltInType.Enumeration:\n        default:\n          throw new ArgumentOutOfRangeException(\"encoding\");\n      }\n      return _return;\n    }\n\n    /// <summary>\n    /// Gets the binding captured by an instance of the <see cref=\"T:UAOOI.Networking.SemanticData.DataRepository.IProducerBinding\" /> type used by the producer to read from the local data repository.\n    /// </summary>\n    /// <param name=\"repositoryGroup\">It is the name of a repository group profiling the configuration behavior, e.g. encoders selection.\n    /// The configuration of the repositories belonging to the same group are handled according to the same profile.</param>\n    /// <param name=\"processValueName\">The name of a variable that is the source of the values forwarded by a message over the network.\n    /// Must be unique in the context of the group named by <paramref name=\"repositoryGroup\" /></param>\n    /// <param name=\"fieldTypeInfo\">The <see cref=\"T:UAOOI.Configuration.Networking.Serialization.BuiltInType\" />of the message field encoding.</param>\n    /// <returns>Returns an object implementing the <see cref=\"T:UAOOI.Networking.SemanticData.DataRepository.IProducerBinding\" /> interface that can be used to create message and populate it with the data.</returns>\n    /// <exception cref=\"NotImplementedException\"></exception>\n    public IProducerBinding GetProducerBinding(string repositoryGroup, string processValueName, UATypeInfo fieldTypeInfo)\n    {\n      _log.EnteringMethodBinding();\n      throw new NotImplementedException(\"Intentionally nut implemented - this role is not supported for the consumer\");\n    }\n\n    #endregion IBindingFactory\n\n    #region IDTOProvider\n\n    public string GetDTO(string repositoryGroup)\n    {\n      _log.EnteringMethodBinding();\n      return _processReplica[repositoryGroup].ToString();\n    }\n\n    #endregion IDTOProvider\n\n    #region private\n\n    private readonly Dictionary<string, RepositoryGroup> _processReplica = new Dictionary<string, RepositoryGroup>();\n    private readonly AzureGatewaySemanticEventSource _log = AzureGatewaySemanticEventSource.Log();\n\n    private IConsumerBinding AddBinding<type>(string repositoryGroup, string variableName, UATypeInfo typeInfo)\n    {\n      ConsumerBindingMonitoredValue<type> toBeReturned = new ConsumerBindingMonitoredValue<type>(typeInfo);\n      if (!_processReplica.ContainsKey(repositoryGroup))\n        _processReplica.Add(repositoryGroup, new RepositoryGroup());\n      Action<type> updater = _processReplica[repositoryGroup].AddProperty<type>(variableName);\n      toBeReturned.PropertyChanged += (x, y) => updater(((ConsumerBindingMonitoredValue<type>)x).Value);\n      return toBeReturned;\n    }\n\n    #endregion private\n  }\n}"
  },
  {
    "path": "Networking/DataRepository/AzureGateway/PartConfigurationFactory.cs",
    "content": "﻿//___________________________________________________________________________________\n//\n//  Copyright (C) 2020, Mariusz Postol LODZ POLAND.\n//\n//  To be in touch join the community at GITTER: https://gitter.im/mpostol/OPC-UA-OOI\n//___________________________________________________________________________________\n\nusing System;\nusing System.Diagnostics;\nusing UAOOI.Configuration.Networking;\nusing UAOOI.Configuration.Networking.Serialization;\nusing UAOOI.Networking.DataRepository.AzureGateway.Diagnostic;\n\nnamespace UAOOI.Networking.DataRepository.AzureGateway\n{\n  /// <summary>\n  /// Class ProducerConfigurationFactory - provides implementation of the <see cref=\"ConfigurationFactoryBase{T}\" /> for the producer.\n  /// Implements the <see cref=\"ConfigurationFactoryBase{T}\" />\n  /// </summary>\n  /// <seealso cref=\"ConfigurationFactoryBase{T}\" />\n  internal class PartConfigurationFactory : ConfigurationFactoryBase<ConfigurationData>\n  {\n    #region constructor\n\n    /// <summary>\n    /// Initializes a new instance of the <see cref=\"PartConfigurationFactory\" /> class.\n    /// </summary>\n    /// <param name=\"configurationFileName\">Name of the producer configuration file.</param>\n    public PartConfigurationFactory(string configurationFileName) : base(configurationFileName)\n    {\n      _log.CreatingConfiguration(configurationFileName);\n    }\n\n    #endregion constructor\n\n    #region ConfigurationFactoryBase\n\n    /// <summary>\n    /// Occurs after the association configuration has been changed.\n    /// </summary>\n    public override event EventHandler<EventArgs> OnAssociationConfigurationChange;\n\n    /// <summary>\n    /// Occurs after the communication configuration has been changed.\n    /// </summary>\n    public override event EventHandler<EventArgs> OnMessageHandlerConfigurationChange;\n\n    /// <summary>\n    /// Writes trace data to the trace listeners in the <see cref=\"P:System.Diagnostics.TraceSource.Listeners\" /> collection using the specified <paramref name=\"eventType\" />,\n    /// event identifier <paramref name=\"id\" />, and trace <paramref name=\"data\" />.\n    /// </summary>\n    /// <param name=\"eventType\">One of the enumeration values that specifies the event type of the trace data.</param>\n    /// <param name=\"id\">A numeric identifier for the event.</param>\n    /// <param name=\"data\">The trace data.</param>\n    protected override void TraceData(TraceEventType eventType, int id, object data)\n    {\n      _log.TraceData(eventType.ToString(), id, data.ToString());\n    }\n\n    protected override void RaiseEvents()\n    {\n      OnAssociationConfigurationChange?.Invoke(this, EventArgs.Empty);\n      OnMessageHandlerConfigurationChange?.Invoke(this, EventArgs.Empty);\n    }\n\n    #endregion ConfigurationFactoryBase\n\n    #region private\n\n    private readonly AzureGatewaySemanticEventSource _log = AzureGatewaySemanticEventSource.Log();\n\n    #endregion private\n  }\n}"
  },
  {
    "path": "Networking/DataRepository/AzureGateway/PartDataManagementSetup.cs",
    "content": "﻿//___________________________________________________________________________________\n//\n//  Copyright (C) 2020, Mariusz Postol LODZ POLAND.\n//\n//  To be in touch join the community at GITTER: https://gitter.im/mpostol/OPC-UA-OOI\n//___________________________________________________________________________________\n\nusing CommonServiceLocator;\nusing System;\nusing System.Collections.Concurrent;\nusing System.Collections.Generic;\nusing System.ComponentModel.Composition;\nusing System.Diagnostics;\nusing System.Threading;\nusing System.Threading.Tasks;\nusing UAOOI.Configuration.Networking.Serialization;\nusing UAOOI.Networking.Core;\nusing UAOOI.Networking.DataRepository.AzureGateway.AzureInterconnection;\nusing UAOOI.Networking.DataRepository.AzureGateway.Diagnostic;\nusing UAOOI.Networking.ReferenceApplication.Core;\nusing UAOOI.Networking.SemanticData;\n\nnamespace UAOOI.Networking.DataRepository.AzureGateway\n{\n  /// <summary>\n  /// Class AzureGatewayDataManagementSetup - represents a data producer in the Reference Application. It is responsible to compose all parts making up a producer\n  /// This class cannot be inherited.\n  /// Implements the <see cref=\"DataManagementSetup\" />\n  /// </summary>\n  /// <seealso cref=\"DataManagementSetup\" />\n  [Export(typeof(PartDataManagementSetup))]\n  [PartCreationPolicy(CreationPolicy.Shared)]\n  public sealed class PartDataManagementSetup : DataManagementSetup\n  {\n    #region Composition\n\n    /// <summary>\n    /// Initializes a new instance of the <see cref=\"PartDataManagementSetup\"/> class.\n    /// </summary>\n    public PartDataManagementSetup()\n    {\n      _Logger.EnteringMethodPart(nameof(PartDataManagementSetup));\n      //Compose external parts\n      IServiceLocator _serviceLocator = ServiceLocator.Current;\n      //string _configurationFileName = _serviceLocator.GetInstance<string>(CompositionSettings.ConfigurationFileNameContract);\n      m_ViewModel = _serviceLocator.GetInstance<ProducerViewModel>();\n      EncodingFactory = _serviceLocator.GetInstance<IEncodingFactory>();\n      _Logger.Composed(nameof(EncodingFactory), EncodingFactory.GetType().FullName);\n      MessageHandlerFactory = _serviceLocator.GetInstance<IMessageHandlerFactory>();\n      _Logger.Composed(nameof(MessageHandlerFactory), MessageHandlerFactory.GetType().FullName);\n      //compose internal parts\n      ConfigurationFactory = new PartConfigurationFactory(ConfigurationFilePath);\n      PartBindingFactory pbf = new PartBindingFactory();\n      _DTOProvider = pbf;\n      BindingFactory = pbf;\n    }\n\n    internal static string ConfigurationFilePath { get; set; } = @\"ConfigurationDataConsumer.BoilersSet.xml\";\n\n    #endregion Composition\n\n    #region IProducerDataManagementSetup\n\n    /// <summary>\n    /// Setups this instance.\n    /// </summary>\n    public void Setup()\n    {\n      _Logger.EnteringMethodPart(nameof(PartDataManagementSetup));\n      try\n      {\n        m_ViewModel.ChangeProducerCommand(() => { m_ViewModel.ProducerErrorMessage = \"Restarted\"; });\n        _Logger.EnteringMethodPart(nameof(DataManagementSetup), nameof(Start));\n        Start();\n        StartAzureCommunication(ConfigurationFactory.GetConfiguration());\n        _Logger.PartInitializationCompleted();\n      }\n      catch (Exception ex)\n      {\n        m_ViewModel.ProducerErrorMessage = \"ERROR\";\n        _Logger.LogException(nameof(PartDataManagementSetup), ex);\n        throw;\n      }\n    }\n\n    #endregion IProducerDataManagementSetup\n\n    #region IDisposable\n\n    /// <summary>\n    /// Releases unmanaged and - optionally - managed resources.\n    /// </summary>\n    /// <param name=\"disposing\"><c>true</c> to release both managed and unmanaged resources; <c>false</c> to release only unmanaged resources.</param>\n    protected override void Dispose(bool disposing)\n    {\n      _Logger.EnteringMethodPart(nameof(PartDataManagementSetup), nameof(Dispose));\n      m_onDispose(disposing);\n      base.Dispose(disposing);\n      if (!disposing || m_disposed)\n        return;\n      m_disposed = true;\n      _tokenSource.Cancel();\n      try\n      {\n        Task.WhenAll(_tasks.ToArray()).Wait();\n      }\n      catch (OperationCanceledException oce)\n      {\n        _Logger.LogException(nameof(PartDataManagementSetup), oce);\n      }\n      finally\n      {\n        _Logger.DisposingObject(nameof(CancellationTokenSource), nameof(Dispose));\n        _tokenSource.Dispose();\n      }\n    }\n\n    #endregion IDisposable\n\n    #region private\n\n    /// <summary>\n    /// Gets or sets the view model to be used for diagnostic purpose..\n    /// </summary>\n    /// <value>The view model.</value>\n    private ProducerViewModel m_ViewModel;\n\n    private readonly ConcurrentBag<Task> _tasks = new ConcurrentBag<Task>();\n    private readonly AzureGatewaySemanticEventSource _Logger = AzureGatewaySemanticEventSource.Log();\n    private CancellationTokenSource _tokenSource = new CancellationTokenSource();\n\n    /// <summary>\n    /// Gets a value indicating whether this <see cref=\"PartDataManagementSetup\"/> is disposed.\n    /// </summary>\n    /// <value><c>true</c> if disposed; otherwise, <c>false</c>.</value>\n    private bool m_disposed = false;\n\n    private readonly IDTOProvider _DTOProvider = null;\n\n    private Action<bool> m_onDispose = disposing => { };\n\n    private void StartAzureCommunication(ConfigurationData configuration)\n    {\n      _Logger.EnteringMethodPart(nameof(PartDataManagementSetup));\n      CancellationToken token = _tokenSource.Token;\n      List<CommunicationContext> azureComunicationContextList = new List<CommunicationContext>();\n      TaskFactory taskFactory = Task.Factory;\n      foreach (DataSetConfiguration dataset in configuration.DataSets)\n      {\n        try\n        {\n          AzureDeviceParameters parameters = AzureDeviceParameters.ParseRepositoryGroup(dataset.RepositoryGroup);\n          if (parameters == null)\n            continue;\n          CommunicationContext communicationContext = new CommunicationContext(_DTOProvider, dataset.RepositoryGroup, parameters);\n          azureComunicationContextList.Add(communicationContext);\n          Task newCommunicatinTask = taskFactory.StartNew(() => communicationContext.Run(token), token);\n          _tasks.Add(newCommunicatinTask);\n        }\n        catch (AggregateException ax)\n        {\n          _Logger.LogException(nameof(PartDataManagementSetup), ax);\n          continue;\n        }\n        catch (Exception)\n        {\n          throw;\n        }\n      }\n      m_ViewModel.ProducerErrorMessage = \"Running\";\n    }\n\n    #endregion private\n\n    #region Unit tests instrumentation\n\n    [Conditional(\"DEBUG\")]\n    internal void DisposeCheck(Action<bool> onDispose)\n    {\n      _Logger.EnteringMethodPart(nameof(PartDataManagementSetup));\n      m_onDispose = onDispose;\n    }\n\n    #endregion Unit tests instrumentation\n  }\n}"
  },
  {
    "path": "Networking/DataRepository/AzureGateway/Properties/AssemblyInfo.cs",
    "content": "using System.Reflection;\nusing System.Runtime.CompilerServices;\n\n[assembly: AssemblyTrademark(\"Object Oriented Internet\")]\n[assembly: AssemblyCulture(\"\")]\n[assembly: InternalsVisibleTo(\n  \"UAOOI.Networking.DataRepository.AzureGateway.Test, PublicKey=\" +\n    \"00240000048000009400000006020000002400005253413100040000010001005b97a0972ff6b13a\" +\n    \"8a9ff9c09503aea0e5e2fe29cb2275a0c0942182f4c3431814b6bc9a556d9fe0d7e7823439c1ba28\" +\n    \"521f6318e4c936c4461604ef668e9686c2021571b093e1bfba071b373bc56a07a3afdc120c5313d3\" +\n    \"9a935cda64b759f857ebb3db483641444a5347e1564f8ba6d4fad2f968d3caf9991a4fa6aa019ebe\"\n)]\n[assembly: InternalsVisibleTo(\n  \"DynamicProxyGenAssembly2, PublicKey=0024000004800000940000000602000000240000525341310004000001000100c547cac37abd99c8db225ef2f6c8a3602f3b3606cc9891605d02baa56104f4cfc0734aa39b93bf7852f7d9266654753cc297e7d2edfe0bac1cdcf9f717241550e0a7b191195b7667bb4f64bcb8e2121380fd1d9d46ad2d92d2d15605093924cceaf74c4861eff62abf69b9291ed0a340e113be11e6a7d3113e92484cf7045cc7\"\n)]"
  },
  {
    "path": "Networking/DataRepository/AzureGateway/Properties/UAOOI.Networking.DataRepository.AzureGateway.xml",
    "content": "<?xml version=\"1.0\"?>\n<doc>\n    <assembly>\n        <name>UAOOI.Networking.DataRepository.AzureGateway</name>\n    </assembly>\n    <members>\n        <member name=\"T:UAOOI.Networking.DataRepository.AzureGateway.AzureInterconnection.AzureDeviceParameters\">\n            <summary>\n            Interface defining device parameters for establishing azure connection.\n            </summary>\n        </member>\n        <member name=\"M:UAOOI.Networking.DataRepository.AzureGateway.AzureInterconnection.AzureDeviceParameters.ParseRepositoryGroup(System.String)\">\n            <summary>\n            Parses the specified configuration if <paramref name=\"repositoryGroup\"/> is not empty, otherwise parse it .\n            </summary>\n            <param name=\"repositoryGroup\">The configuration.</param>\n            <returns>AzureDeviceParameters.</returns>\n            <exception cref=\"T:System.NotImplementedException\">parse string</exception>\n        </member>\n        <member name=\"M:UAOOI.Networking.DataRepository.AzureGateway.AzureInterconnection.AzureDeviceParameters.#ctor\">\n            <summary>\n            Initializes a new instance of the <see cref=\"T:UAOOI.Networking.DataRepository.AzureGateway.AzureInterconnection.AzureDeviceParameters\"/> class.\n            </summary>\n            <remarks> Must be public to be used by the command line parser</remarks>\n        </member>\n        <member name=\"P:UAOOI.Networking.DataRepository.AzureGateway.AzureInterconnection.AzureDeviceParameters.ResourceGroupName\">\n            <summary>\n            Gets or sets the name of the resource group.\n            </summary>\n            <value>The name of the resource group.</value>\n        </member>\n        <member name=\"P:UAOOI.Networking.DataRepository.AzureGateway.AzureInterconnection.AzureDeviceParameters.TransportType\">\n            <summary>\n            Gets the transport type used for this device.\n            </summary>\n        </member>\n        <member name=\"P:UAOOI.Networking.DataRepository.AzureGateway.AzureInterconnection.AzureDeviceParameters.AzureDeviceId\">\n            <summary>\n            Gets the Id corresponding to Azure device id.\n            </summary>\n        </member>\n        <member name=\"P:UAOOI.Networking.DataRepository.AzureGateway.AzureInterconnection.AzureDeviceParameters.AzureScopeId\">\n            <summary>\n            Gets the azure scope id in which given device resides.\n            </summary>\n        </member>\n        <member name=\"P:UAOOI.Networking.DataRepository.AzureGateway.AzureInterconnection.AzureDeviceParameters.AzurePrimaryKey\">\n            <summary>\n            Gets the Azure primary key.\n            </summary>\n            <value>The Azure primary key.</value>\n        </member>\n        <member name=\"P:UAOOI.Networking.DataRepository.AzureGateway.AzureInterconnection.AzureDeviceParameters.AzureSecondaryKey\">\n            <summary>\n            Gets the azure secondary key.\n            </summary>\n            <value>The azure secondary key.</value>\n        </member>\n        <member name=\"P:UAOOI.Networking.DataRepository.AzureGateway.AzureInterconnection.AzureDeviceParameters.PublishingIntervalMS\">\n            <summary>\n            Gets the time interval when to send device state to Azure.\n            </summary>\n        </member>\n        <member name=\"M:UAOOI.Networking.DataRepository.AzureGateway.AzureInterconnection.AzureDeviceParameters.PublishingInterval\">\n            <summary>\n            Calculates the time interval when to send device state to Azure.\n            </summary>\n        </member>\n        <member name=\"T:UAOOI.Networking.DataRepository.AzureGateway.AzureInterconnection.CommunicationContext\">\n            <summary>\n            Class CommunicationContext - implements Azure communication state machine.\n            </summary>\n        </member>\n        <member name=\"M:UAOOI.Networking.DataRepository.AzureGateway.AzureInterconnection.CommunicationContext.Run(System.Threading.CancellationToken)\">\n            <summary>\n            Runs the communication machine.\n            </summary>\n            <param name=\"cancellation\">The cancellation token.</param>\n        </member>\n        <member name=\"M:UAOOI.Networking.DataRepository.AzureGateway.AzureInterconnection.CommunicationContext.DisconnectRequest\">\n            <summary>\n            Disconnects the request.\n            </summary>\n            <exception cref=\"T:System.ApplicationException\">Calling the {nameof(DisconnectRequest)} operation is allowed only in the running state of the communication machine.</exception>\n        </member>\n        <member name=\"T:UAOOI.Networking.DataRepository.AzureGateway.AzureInterconnection.IDTOProvider\">\n            <summary>\n            Interface IDTOProvider - used to get access to data cached in the selected RepositoryGroup\n            </summary>\n        </member>\n        <member name=\"M:UAOOI.Networking.DataRepository.AzureGateway.AzureInterconnection.IDTOProvider.GetDTO(System.String)\">\n            <summary>\n            Gets the Data Transfer Object to be transmitted to Azure as the JSON document.\n            </summary>\n            <param name=\"repositoryGroup\">The repository group.</param>\n            <returns>object capturing the current state of selected repository group.</returns>\n        </member>\n        <member name=\"T:UAOOI.Networking.DataRepository.AzureGateway.Diagnostic.AzureGatewayDiagnosticExtension\">\n            <summary>\n            Class <see cref=\"T:UAOOI.Networking.DataRepository.AzureGateway.Diagnostic.AzureGatewayDiagnosticExtension\"/> - expanding the <see cref=\"T:UAOOI.Networking.DataRepository.AzureGateway.Diagnostic.AzureGatewaySemanticEventSource\"/>\n            </summary>\n        </member>\n        <member name=\"M:UAOOI.Networking.DataRepository.AzureGateway.Diagnostic.AzureGatewayDiagnosticExtension.LogException(UAOOI.Networking.DataRepository.AzureGateway.Diagnostic.AzureGatewaySemanticEventSource,System.String,System.Exception,System.String)\">\n            <summary>\n            Logs the exception using <see cref=\"T:UAOOI.Networking.DataRepository.AzureGateway.Diagnostic.AzureGatewaySemanticEventSource\" />.\n            </summary>\n            <param name=\"eventSource\">The event source to be used for problem reporting.</param>\n            <param name=\"className\">Name of the class.</param>\n            <param name=\"methodName\">Name of the method.</param>\n            <param name=\"e\">The exception to be reported.</param>\n        </member>\n        <member name=\"T:UAOOI.Networking.DataRepository.AzureGateway.Diagnostic.AzureGatewaySemanticEventSource\">\n            <summary>\n            Class AzureGatewaySemanticEventSource captures event source functionality supporting semantic par logging\n            Implements the <see cref=\"T:System.Diagnostics.Tracing.EventSource\" />\n            </summary>\n            <seealso cref=\"T:System.Diagnostics.Tracing.EventSource\" />\n        </member>\n        <member name=\"T:UAOOI.Networking.DataRepository.AzureGateway.Diagnostic.AzureGatewaySemanticEventSource.Tasks\">\n            <summary>\n            Class Tasks - capturing definitions of the tasks that apply to events.\n            </summary>\n        </member>\n        <member name=\"F:UAOOI.Networking.DataRepository.AzureGateway.Diagnostic.AzureGatewaySemanticEventSource.Tasks.Part\">\n            <summary>\n            The part behavior event task\n            </summary>\n        </member>\n        <member name=\"F:UAOOI.Networking.DataRepository.AzureGateway.Diagnostic.AzureGatewaySemanticEventSource.Tasks.Code\">\n            <summary>\n            The code behavior event task\n            </summary>\n        </member>\n        <member name=\"F:UAOOI.Networking.DataRepository.AzureGateway.Diagnostic.AzureGatewaySemanticEventSource.Tasks.Binding\">\n            <summary>\n            The binding behavior event task\n            </summary>\n        </member>\n        <member name=\"F:UAOOI.Networking.DataRepository.AzureGateway.Diagnostic.AzureGatewaySemanticEventSource.Tasks.Configuration\">\n            <summary>\n            The configuration behavior event task\n            </summary>\n        </member>\n        <member name=\"F:UAOOI.Networking.DataRepository.AzureGateway.Diagnostic.AzureGatewaySemanticEventSource.Tasks.Azure\">\n            <summary>\n            The azure behavior event task\n            </summary>\n        </member>\n        <member name=\"T:UAOOI.Networking.DataRepository.AzureGateway.Diagnostic.AzureGatewaySemanticEventSource.Keywords\">\n            <summary>\n            Class Keywords - defines the local keywords (flags) that apply to events.\n            </summary>\n        </member>\n        <member name=\"F:UAOOI.Networking.DataRepository.AzureGateway.Diagnostic.AzureGatewaySemanticEventSource.Keywords.PackageContent\">\n            <summary>\n            The PackageContent <see cref=\"T:System.Diagnostics.Tracing.EventKeywords\"/>\n            </summary>\n        </member>\n        <member name=\"F:UAOOI.Networking.DataRepository.AzureGateway.Diagnostic.AzureGatewaySemanticEventSource.Keywords.Diagnostic\">\n            <summary>\n            The Diagnostic <see cref=\"T:System.Diagnostics.Tracing.EventKeywords\"/>\n            </summary>\n        </member>\n        <member name=\"F:UAOOI.Networking.DataRepository.AzureGateway.Diagnostic.AzureGatewaySemanticEventSource.Keywords.Performance\">\n            <summary>\n            The Performance <see cref=\"T:System.Diagnostics.Tracing.EventKeywords\"/>\n            </summary>\n        </member>\n        <member name=\"F:UAOOI.Networking.DataRepository.AzureGateway.Diagnostic.AzureGatewaySemanticEventSource.Keywords.Settings\">\n            <summary>\n            The Settings <see cref=\"T:System.Diagnostics.Tracing.EventKeywords\"/>\n            </summary>\n        </member>\n        <member name=\"M:UAOOI.Networking.DataRepository.AzureGateway.Diagnostic.AzureGatewaySemanticEventSource.Log\">\n            <summary>\n            Gets the log - implements singleton of the <see cref=\"T:UAOOI.Networking.DataRepository.AzureGateway.Diagnostic.AzureGatewaySemanticEventSource\"/>.\n            </summary>\n            <value>The log.</value>\n        </member>\n        <member name=\"M:UAOOI.Networking.DataRepository.AzureGateway.Diagnostic.AzureGatewaySemanticEventSource.Dispose(System.Boolean)\">\n            <summary>\n            Releases the unmanaged resources used by the <see cref=\"T:System.Diagnostics.Tracing.EventSource\"></see> class and optionally releases the managed resources.\n            </summary>\n            <param name=\"disposing\">true to release both managed and unmanaged resources; false to release only unmanaged resources.</param>\n        </member>\n        <member name=\"T:UAOOI.Networking.DataRepository.AzureGateway.Diagnostic.NetworkingEventSourceProvider\">\n            <summary>\n            Class NetworkingEventSourceProvider - gets access to an instance of <see cref=\"T:System.Diagnostics.Tracing.EventSource\"/> to be registered by the logging infrastructure.\n            </summary>\n            <seealso cref=\"T:UAOOI.Networking.Core.INetworkingEventSourceProvider\" />\n        </member>\n        <member name=\"M:UAOOI.Networking.DataRepository.AzureGateway.Diagnostic.NetworkingEventSourceProvider.GetPartEventSource\">\n            <summary>\n            Gets the part event source.\n            </summary>\n            <returns>Returns an instance of <see cref=\"T:System.Diagnostics.Tracing.EventSource\" />.</returns>\n        </member>\n        <member name=\"T:UAOOI.Networking.DataRepository.AzureGateway.PartBindingFactory\">\n            <summary>\n            Class PartBindingFactory.\n            Implements the <see cref=\"T:UAOOI.Networking.SemanticData.IBindingFactory\" />\n            Implements the <see cref=\"T:UAOOI.Networking.DataRepository.AzureGateway.AzureInterconnection.IDTOProvider\" />\n            </summary>\n            <seealso cref=\"T:UAOOI.Networking.SemanticData.IBindingFactory\" />\n            <seealso cref=\"T:UAOOI.Networking.DataRepository.AzureGateway.AzureInterconnection.IDTOProvider\" />\n        </member>\n        <member name=\"M:UAOOI.Networking.DataRepository.AzureGateway.PartBindingFactory.GetConsumerBinding(System.String,System.String,UAOOI.Configuration.Networking.Serialization.UATypeInfo)\">\n            <summary>\n            Gets the binding captured by an instance of the <see cref=\"T:UAOOI.Networking.SemanticData.DataRepository.IConsumerBinding\" /> type used by the consumer to save the data in the data repository.\n            </summary>\n            <param name=\"repositoryGroup\">It is the name of a repository group profiling the configuration behavior, e.g. encoders selection.\n            The configuration of the repositories belonging to the same group are handled according to the same profile.</param>\n            <param name=\"processValueName\">The name of a variable that is the ultimate destination of the values recovered from messages.\n            Must be unique in the context of the group named by <paramref name=\"repositoryGroup\" />.</param>\n            <param name=\"fieldTypeInfo\">The field metadata definition represented as an object of <see cref=\"T:UAOOI.Configuration.Networking.Serialization.UATypeInfo\" />.</param>\n            <returns>Returns an object implementing the <see cref=\"T:UAOOI.Networking.SemanticData.DataRepository.IConsumerBinding\" /> interface that can be used to update selected variable on the factory side.</returns>\n            <exception cref=\"T:System.NotImplementedException\"></exception>\n        </member>\n        <member name=\"M:UAOOI.Networking.DataRepository.AzureGateway.PartBindingFactory.GetProducerBinding(System.String,System.String,UAOOI.Configuration.Networking.Serialization.UATypeInfo)\">\n            <summary>\n            Gets the binding captured by an instance of the <see cref=\"T:UAOOI.Networking.SemanticData.DataRepository.IProducerBinding\" /> type used by the producer to read from the local data repository.\n            </summary>\n            <param name=\"repositoryGroup\">It is the name of a repository group profiling the configuration behavior, e.g. encoders selection.\n            The configuration of the repositories belonging to the same group are handled according to the same profile.</param>\n            <param name=\"processValueName\">The name of a variable that is the source of the values forwarded by a message over the network.\n            Must be unique in the context of the group named by <paramref name=\"repositoryGroup\" /></param>\n            <param name=\"fieldTypeInfo\">The <see cref=\"T:UAOOI.Configuration.Networking.Serialization.BuiltInType\" />of the message field encoding.</param>\n            <returns>Returns an object implementing the <see cref=\"T:UAOOI.Networking.SemanticData.DataRepository.IProducerBinding\" /> interface that can be used to create message and populate it with the data.</returns>\n            <exception cref=\"T:System.NotImplementedException\"></exception>\n        </member>\n        <member name=\"T:UAOOI.Networking.DataRepository.AzureGateway.PartConfigurationFactory\">\n            <summary>\n            Class ProducerConfigurationFactory - provides implementation of the <see cref=\"T:UAOOI.Configuration.Networking.ConfigurationFactoryBase`1\" /> for the producer.\n            Implements the <see cref=\"T:UAOOI.Configuration.Networking.ConfigurationFactoryBase`1\" />\n            </summary>\n            <seealso cref=\"T:UAOOI.Configuration.Networking.ConfigurationFactoryBase`1\" />\n        </member>\n        <member name=\"M:UAOOI.Networking.DataRepository.AzureGateway.PartConfigurationFactory.#ctor(System.String)\">\n            <summary>\n            Initializes a new instance of the <see cref=\"T:UAOOI.Networking.DataRepository.AzureGateway.PartConfigurationFactory\" /> class.\n            </summary>\n            <param name=\"configurationFileName\">Name of the producer configuration file.</param>\n        </member>\n        <member name=\"E:UAOOI.Networking.DataRepository.AzureGateway.PartConfigurationFactory.OnAssociationConfigurationChange\">\n            <summary>\n            Occurs after the association configuration has been changed.\n            </summary>\n        </member>\n        <member name=\"E:UAOOI.Networking.DataRepository.AzureGateway.PartConfigurationFactory.OnMessageHandlerConfigurationChange\">\n            <summary>\n            Occurs after the communication configuration has been changed.\n            </summary>\n        </member>\n        <member name=\"M:UAOOI.Networking.DataRepository.AzureGateway.PartConfigurationFactory.TraceData(System.Diagnostics.TraceEventType,System.Int32,System.Object)\">\n            <summary>\n            Writes trace data to the trace listeners in the <see cref=\"P:System.Diagnostics.TraceSource.Listeners\" /> collection using the specified <paramref name=\"eventType\" />,\n            event identifier <paramref name=\"id\" />, and trace <paramref name=\"data\" />.\n            </summary>\n            <param name=\"eventType\">One of the enumeration values that specifies the event type of the trace data.</param>\n            <param name=\"id\">A numeric identifier for the event.</param>\n            <param name=\"data\">The trace data.</param>\n        </member>\n        <member name=\"T:UAOOI.Networking.DataRepository.AzureGateway.PartDataManagementSetup\">\n            <summary>\n            Class AzureGatewayDataManagementSetup - represents a data producer in the Reference Application. It is responsible to compose all parts making up a producer\n            This class cannot be inherited.\n            Implements the <see cref=\"T:UAOOI.Networking.SemanticData.DataManagementSetup\" />\n            </summary>\n            <seealso cref=\"T:UAOOI.Networking.SemanticData.DataManagementSetup\" />\n        </member>\n        <member name=\"M:UAOOI.Networking.DataRepository.AzureGateway.PartDataManagementSetup.#ctor\">\n            <summary>\n            Initializes a new instance of the <see cref=\"T:UAOOI.Networking.DataRepository.AzureGateway.PartDataManagementSetup\"/> class.\n            </summary>\n        </member>\n        <member name=\"M:UAOOI.Networking.DataRepository.AzureGateway.PartDataManagementSetup.Setup\">\n            <summary>\n            Setups this instance.\n            </summary>\n        </member>\n        <member name=\"M:UAOOI.Networking.DataRepository.AzureGateway.PartDataManagementSetup.Dispose(System.Boolean)\">\n            <summary>\n            Releases unmanaged and - optionally - managed resources.\n            </summary>\n            <param name=\"disposing\"><c>true</c> to release both managed and unmanaged resources; <c>false</c> to release only unmanaged resources.</param>\n        </member>\n        <member name=\"F:UAOOI.Networking.DataRepository.AzureGateway.PartDataManagementSetup.m_ViewModel\">\n            <summary>\n            Gets or sets the view model to be used for diagnostic purpose..\n            </summary>\n            <value>The view model.</value>\n        </member>\n        <member name=\"F:UAOOI.Networking.DataRepository.AzureGateway.PartDataManagementSetup.m_disposed\">\n            <summary>\n            Gets a value indicating whether this <see cref=\"T:UAOOI.Networking.DataRepository.AzureGateway.PartDataManagementSetup\"/> is disposed.\n            </summary>\n            <value><c>true</c> if disposed; otherwise, <c>false</c>.</value>\n        </member>\n        <member name=\"T:UAOOI.Networking.DataRepository.AzureGateway.RepositoryGroup\">\n            <summary>\n            Class RepositoryGroup - it is a process state replica implementing Data Transfer Object.\n            Implements the <see cref=\"T:System.Collections.Generic.IDictionary`2\" />\n            </summary>\n            <seealso cref=\"T:System.Collections.Generic.IDictionary`2\" />\n        </member>\n        <member name=\"M:UAOOI.Networking.DataRepository.AzureGateway.RepositoryGroup.AddProperty``1(System.String)\">\n            <summary>\n            Adds the property to the Dada Transfer Object.\n            </summary>\n            <typeparam name=\"type\">The type of the type.</typeparam>\n            <param name=\"propertyName\">Name of the property.</param>\n            <returns>Action&lt;type&gt;.</returns>\n            <exception cref=\"T:System.ArgumentOutOfRangeException\">Duplicated property name: {propertyName}</exception>\n        </member>\n        <member name=\"P:UAOOI.Networking.DataRepository.AzureGateway.RepositoryGroup.Keys\">\n            <summary>\n            Gets an <see cref=\"T:System.Collections.Generic.ICollection`1\"></see> containing the keys of the <see cref=\"T:System.Collections.Generic.IDictionary`2\"></see>.\n            </summary>\n            <value>The keys.</value>\n        </member>\n        <member name=\"P:UAOOI.Networking.DataRepository.AzureGateway.RepositoryGroup.Values\">\n            <summary>\n            Gets an <see cref=\"T:System.Collections.Generic.ICollection`1\"></see> containing the values in the <see cref=\"T:System.Collections.Generic.IDictionary`2\"></see>.\n            </summary>\n            <value>The values.</value>\n            <exception cref=\"T:System.NotImplementedException\"></exception>\n        </member>\n        <member name=\"P:UAOOI.Networking.DataRepository.AzureGateway.RepositoryGroup.Count\">\n            <summary>\n            Gets the number of elements contained in the <see cref=\"T:System.Collections.Generic.ICollection`1\"></see>.\n            </summary>\n            <value>The count.</value>\n        </member>\n        <member name=\"P:UAOOI.Networking.DataRepository.AzureGateway.RepositoryGroup.IsReadOnly\">\n            <summary>\n            Gets a value indicating whether the <see cref=\"T:System.Collections.Generic.ICollection`1\"></see> is read-only.\n            </summary>\n            <value><c>true</c> if this instance is read only; otherwise, <c>false</c>.</value>\n        </member>\n        <member name=\"P:UAOOI.Networking.DataRepository.AzureGateway.RepositoryGroup.Item(System.String)\">\n            <summary>\n            Gets or sets the <see cref=\"T:System.Object\"/> with the specified key.\n            </summary>\n            <param name=\"key\">The key.</param>\n            <returns>System.Object.</returns>\n            <exception cref=\"T:System.NotImplementedException\"></exception>\n        </member>\n        <member name=\"M:UAOOI.Networking.DataRepository.AzureGateway.RepositoryGroup.Add(System.String,System.Object)\">\n            <summary>\n            Adds an element with the provided key and value to the <see cref=\"T:System.Collections.Generic.IDictionary`2\"></see>.\n            </summary>\n            <param name=\"key\">The object to use as the key of the element to add.</param>\n            <param name=\"value\">The object to use as the value of the element to add.</param>\n            <exception cref=\"T:System.NotImplementedException\"></exception>\n        </member>\n        <member name=\"M:UAOOI.Networking.DataRepository.AzureGateway.RepositoryGroup.ContainsKey(System.String)\">\n            <summary>\n            Determines whether the <see cref=\"T:System.Collections.Generic.IDictionary`2\"></see> contains an element with the specified key.\n            </summary>\n            <param name=\"key\">The key to locate in the <see cref=\"T:System.Collections.Generic.IDictionary`2\"></see>.</param>\n            <returns>true if the <see cref=\"T:System.Collections.Generic.IDictionary`2\"></see> contains an element with the key; otherwise, false.</returns>\n        </member>\n        <member name=\"M:UAOOI.Networking.DataRepository.AzureGateway.RepositoryGroup.Remove(System.String)\">\n            <summary>\n            Removes the element with the specified key from the <see cref=\"T:System.Collections.Generic.IDictionary`2\"></see>.\n            </summary>\n            <param name=\"key\">The key of the element to remove.</param>\n            <returns>true if the element is successfully removed; otherwise, false.  This method also returns false if <paramref name=\"key\">key</paramref> was not found in the original <see cref=\"T:System.Collections.Generic.IDictionary`2\"></see>.</returns>\n            <exception cref=\"T:System.NotImplementedException\"></exception>\n        </member>\n        <member name=\"M:UAOOI.Networking.DataRepository.AzureGateway.RepositoryGroup.TryGetValue(System.String,System.Object@)\">\n            <summary>\n            Gets the value associated with the specified key.\n            </summary>\n            <param name=\"key\">The key whose value to get.</param>\n            <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 value parameter. This parameter is passed uninitialized.</param>\n            <returns>true if the object that implements <see cref=\"T:System.Collections.Generic.IDictionary`2\"></see> contains an element with the specified key; otherwise, false.</returns>\n        </member>\n        <member name=\"M:UAOOI.Networking.DataRepository.AzureGateway.RepositoryGroup.Add(System.Collections.Generic.KeyValuePair{System.String,System.Object})\">\n            <summary>\n            Adds an item to the <see cref=\"T:System.Collections.Generic.ICollection`1\"></see>.\n            </summary>\n            <param name=\"item\">The object to add to the <see cref=\"T:System.Collections.Generic.ICollection`1\"></see>.</param>\n            <exception cref=\"T:System.NotImplementedException\"></exception>\n        </member>\n        <member name=\"M:UAOOI.Networking.DataRepository.AzureGateway.RepositoryGroup.Clear\">\n            <summary>\n            Removes all items from the <see cref=\"T:System.Collections.Generic.ICollection`1\"></see>.\n            </summary>\n            <exception cref=\"T:System.NotImplementedException\"></exception>\n        </member>\n        <member name=\"M:UAOOI.Networking.DataRepository.AzureGateway.RepositoryGroup.Contains(System.Collections.Generic.KeyValuePair{System.String,System.Object})\">\n            <summary>\n            Determines whether the <see cref=\"T:System.Collections.Generic.ICollection`1\"></see> contains a specific value.\n            </summary>\n            <param name=\"item\">The object to locate in the <see cref=\"T:System.Collections.Generic.ICollection`1\"></see>.</param>\n            <returns>true if <paramref name=\"item\">item</paramref> is found in the <see cref=\"T:System.Collections.Generic.ICollection`1\"></see>; otherwise, false.</returns>\n        </member>\n        <member name=\"M:UAOOI.Networking.DataRepository.AzureGateway.RepositoryGroup.CopyTo(System.Collections.Generic.KeyValuePair{System.String,System.Object}[],System.Int32)\">\n            <summary>\n            Copies the elements of the <see cref=\"T:System.Collections.Generic.ICollection`1\"></see> to an <see cref=\"T:System.Array\"></see>, starting at a particular <see cref=\"T:System.Array\"></see> index.\n            </summary>\n            <param name=\"array\">The one-dimensional <see cref=\"T:System.Array\"></see> that is the destination of the elements copied from <see cref=\"T:System.Collections.Generic.ICollection`1\"></see>. The <see cref=\"T:System.Array\"></see> must have zero-based indexing.</param>\n            <param name=\"arrayIndex\">The zero-based index in array at which copying begins.</param>\n        </member>\n        <member name=\"M:UAOOI.Networking.DataRepository.AzureGateway.RepositoryGroup.Remove(System.Collections.Generic.KeyValuePair{System.String,System.Object})\">\n            <summary>\n            Removes the first occurrence of a specific object from the <see cref=\"T:System.Collections.Generic.ICollection`1\"></see>.\n            </summary>\n            <param name=\"item\">The object to remove from the <see cref=\"T:System.Collections.Generic.ICollection`1\"></see>.</param>\n            <returns>true if <paramref name=\"item\">item</paramref> was successfully removed from the <see cref=\"T:System.Collections.Generic.ICollection`1\"></see>; otherwise, false. This method also returns false if <paramref name=\"item\">item</paramref> is not found in the original <see cref=\"T:System.Collections.Generic.ICollection`1\"></see>.</returns>\n            <exception cref=\"T:System.NotImplementedException\"></exception>\n        </member>\n        <member name=\"M:UAOOI.Networking.DataRepository.AzureGateway.RepositoryGroup.GetEnumerator\">\n            <summary>\n            Returns an enumerator that iterates through the collection.\n            </summary>\n            <returns>An enumerator that can be used to iterate through the collection.</returns>\n        </member>\n        <member name=\"M:UAOOI.Networking.DataRepository.AzureGateway.RepositoryGroup.System#Collections#IEnumerable#GetEnumerator\">\n            <summary>\n            Returns an enumerator that iterates through a collection.\n            </summary>\n            <returns>An <see cref=\"T:System.Collections.IEnumerator\"></see> object that can be used to iterate through the collection.</returns>\n        </member>\n    </members>\n</doc>\n"
  },
  {
    "path": "Networking/DataRepository/AzureGateway/README.md",
    "content": "# Azure Gateway DataRepository\n\n## Key words\n\nAzure, Cloud Computing, Object-Oriented Internet, OPC Unified Architecture, Reactive Networking (RxNetworking), Machine to Machine Communication, Internet of Things\n\n## Executive Summary\n\nThis project shows an example implementation of an OPC UA PubSub to Azure embedded gateway. It is implemented as a composable part of the Reactive Networking Application (`RxNetworking App`). The article  [Reactive Networking of Semantic-Data Library](../../../Networking/SemanticData/README.MD) covers a description of the architecture supporting the reactive communication design pattern.  The `RxNetworking App` is an aggregation of `Producer` and `Consumer` entities derived from `DataRepository`. They must provide interconnection to real-time process data, hence they are recognized as an extension of the `DataRepository` class. `AzureGateway` part fulfills the `Consumer` role and uses out-of-band communication to push telemetry data to the cloud.\n\nWorking through this tutorial gives you an introductory understanding of the steps required to implement the `Consumer` role of the `RxNetworking` application. It is an example of `Semantic-Data` reactive networking based on [OPC UA PubSub][OPC.UA.PubSub] specification. The document [OPC UA PubSub Main Technology Features][PubSubMTF] covers a description of selected fetuses relevant to this specification.\n\nThis project is proof of concept that out-of-band communication for OPC UA PubSub can be implemented based on the `DataRepository` concept. This workout will be described in an independent article. To get the full story and your copy check out the preprint from [Research Gateway: Object-Oriented Internet - Azure Interoperability](https://www.researchgate.net/publication/346563454_Object-Oriented_Internet_-_Azure_Interoperability). Main purpose of this preprint it to enable an early community review. We will consider your contribution to be applied to the final version of the article.\n\n## Conclusion\n\nThe obtained results prove that the **embedded gateway** archetype implementation is possible based on the existing standalone framework supporting reactive interoperability atop of the M2M communication compliant with the [OPC UA PubSub standard][OPC.UA.PubSub]. It is worth stressing that **there is no dependency on the Client/Server session-oriented relationship**. In contrast to the architecture described in the OPC UA Part 1 specification, the publisher/consumer roles are not tightly coupled with the **Address Space** of the OPC UA Server embedded component. In the proposed approach, the cloud interoperability is supported by a dedicated part employing out-of-band communication only without dependency on the OPC UA functionality. In contrast to the middleware concept, the gateway functionality is implemented as a part - **composable to the whole without programming skills**. It makes it possible to modify its functionality later after releasing the library or even deploying the application program in the production environment because the part is composed at the runtime.\n\nConcluding, the paper describes a proof of concept that it is possible to integrate selected cloud services (e.g. **Azure**) with the **Cyber-physical network** atop of the OPC UA PubSub applying the proposed architecture and deployment scenario. In contrast to limiting the PubSub role to export the data from the **Address Space** exposed by a selected OPC UA server out of the OPC UA ecosystem, applying the proposed solution enables interoperability of the cloud services and  \nthe **Cyber-physical network** as one whole.\n\n## Acknowledgment\n\nI would like to acknowledge the [CrossHMI](https://github.com/Drutol/CrossHMI#crosshmi) project from which the `AzureGateway` implementation of the `DataRepository` was derived. I would like to thank [Piotr Szymczak](https://github.com/Drutol) for his inputs/inspirations, feedback, and cooperation in this respect.\n\n## Implementation walk through\n\n### Introduction\n\nHere are steps undertook to implement the `Consumer` role in the application:\n\n1. `DataManagementSetup`: this class has been overridden by the `PartDataManagementSetup` class and it initializes the communication and binds data fields recovered form messages to local resources.\n1. `IEncodingFactory` and `IMessageHandlerFactory`: have been implemented in external common libraries and `Consumer` doesn't depend on this implementation - current implementation of the interfaces is localized as services using an instance of the [CommonServiceLocator.IServiceLocator][Locator] interface.\n1. `IBindingFactory`: has been implemented in the class  `PartBindingFactory` that is responsible to gather the data recovered from the `Message` instances pulled from the `Distribution Channel`. The received data is driven to the Azure services using configured out-of-band protocol.\n1. `IConfigurationFactory`: the class `PartConfigurationFactory` implements this interface to be used for the configuration file opening.\n\n### `DataManagementSetup` implementation\n\nThe `PartDataManagementSetup` constructor initializes all properties, which are injection points of all parts composing this role.\n\n```C#\n\n  [Export(typeof(PartDataManagementSetup))]\n  [PartCreationPolicy(CreationPolicy.Shared)]\n  public sealed class PartDataManagementSetup : DataManagementSetup\n  {\n\n    public PartDataManagementSetup()\n    {\n      _Logger.EnteringMethodPart(nameof(PartDataManagementSetup));\n      //Compose external parts\n      IServiceLocator _serviceLocator = ServiceLocator.Current;\n      //string _configurationFileName = _serviceLocator.GetInstance<string>(CompositionSettings.ConfigurationFileNameContract);\n      m_ViewModel = _serviceLocator.GetInstance<ProducerViewModel>();\n      EncodingFactory = _serviceLocator.GetInstance<IEncodingFactory>();\n      _Logger.Composed(nameof(EncodingFactory), EncodingFactory.GetType().FullName);\n      MessageHandlerFactory = _serviceLocator.GetInstance<IMessageHandlerFactory>();\n      _Logger.Composed(nameof(MessageHandlerFactory), MessageHandlerFactory.GetType().FullName);\n      //compose internal parts\n      ConfigurationFactory = new PartConfigurationFactory(ConfigurationFilePath);\n      PartBindingFactory pbf = new PartBindingFactory();\n      _DTOProvider = pbf;\n      BindingFactory = pbf;\n    }\n\n    ....\n\n  }\n\n```\n\nIn this example, it is assumed that [IServiceLocator][Locator] is implemented to resolve references to any external services.\n\nFinally the `DataManagementSetup.Start()` method is called to initialize the infrastructure, enable all associations and start pumping the data.\n\n### `IBindingFactory` implementation\n\nImplementation of this interface is a basic step to implement `Consumer` functionality. The `DataRepository` represents data holding assets in the `RxNetworking App` and, following the proposed approach, the `IBindingFactory` interface is implemented by an external part. It captures functionality responsible for accessing the process data represented by the `LocalResources`. The `LocalResources` represents the external part that has a very broad usage purpose. For example, it may be any kind of process data source/destination, and to name a few `Raw Data`,  `OPC UA Address Space Management`, `Azure` cloud-based front-end, etc.\n\nThe `AzureGateway` functional package has been implemented based on the `Consumer` concept. This particular `Consumer` (`PartBindingFactory`) implements the `IBindingFactory` interface to gather the data recovered from the `Message` instances pulled from the `Distribution Channel`. The received data is driven to the Azure services using configured out-of-band' protocol. An instance of the `IBindingFactory` is responsible to create objects implementing `IBinding` that can be used by the `Consumer` to forward the data retrieved from `NetworkMessag` received over the wire to Azure services.\n\nThe proposed implementation of the Azure gateway proves that the `DataRepository` and associated entities, i.e. `Local Resources`, `Consumer`, `Producer` can be implemented as external parts, and consequently, the application scope may cover practically any concern that can be separated from the core OPC UA PubSub communication engine implementation.\n\n### `IConfigurationFactory` implementation\n\nthe library [`UAOOI.Configuration.Networking`](../../../Configuration/Networking/README.MD). In a typical scenario, this implementation should not be considered for further modification. The only open question is how to provide the name of the file containing the configuration of this role. This role uses an independent configuration file:\n\n- `ConfigurationDataConsumer.BoilersSet.xml`\n\nattached to the project.\n\n## Current release\n\n> Note; This library is not considered to be published as the NuGet package.\n\n## Versioning\n\nWe use [Semantic Versioning 2.0.0](http://semver.org/) for versioning. For the versions available, see the [Releases](https://github.com/mpostol/OPC-UA-OOI/releases) page of the project.\n\n## Authors\n\n- [Mariusz Postol](https://github.com/mpostol) - main contributor of this project.\n\nSee also the list of contributors who participated in this project and the `Acknowledgment` section.\n\n## See also\n\n- Postół M., Szymczak P. (2021) Object-Oriented Internet Cloud Interoperability. In: Paszynski M., Kranzlmüller D., Krzhizhanovskaya V.V., Dongarra J.J., Sloot P.M. (eds) Computational Science – ICCS 2021. ICCS 2021. Lecture Notes in Computer Science, vol 12745. Springer, Cham. <https://doi.org/10.1007/978-3-030-77970-2_43>\n  - Available on [ResearchGate](https://www.researchgate.net/publication/352289895_Object-Oriented_Internet_Cloud_Interoperability)\n  - ICCS 2021: INTERNATIONAL CONFERENCE ON COMPUTATIONAL Presentation is available on [YouTube](https://youtu.be/yXH09wuWEcA)\n\n- Postół M. (2020) Object-Oriented Internet Reactive Interoperability. In: Krzhizhanovskaya V. et al. (eds) Computational Science – ICCS 2020. ICCS 2020. Lecture Notes in Computer Science, vol 12141. Springer, Cham; [DOI: https://doi.org/10.1007/978-3-030-50426-7_31](https://doi.org/10.1007%2F978-3-030-50426-7_31)\n\n  - Postół M. (2020) [Object-Oriented Internet Reactive Interoperability](https://www.researchgate.net/publication/341882427_Object-Oriented_Internet_Reactive_Interoperability), presentation, DOI: 10.13140/RG.2.2.33984.56323\n\n- Mariusz Postol, [Machine to Machine Semantic-Data Based Communication: Comprehensive Survey](https://www.researchgate.net/publication/341165347_Machine_to_Machine_Semantic-Data_Based_Communication_Comprehensive_Survey) chapter in book [Computer Game Innovations 2018](https://www.researchgate.net/publication/335524620_Computer_Game_Innovations_2018), Publisher: Lodz University of Technology Press; ISBN: 978-83-7283-999-2\n- Mariusz Postol, [Object Oriented Internet](https://ieeexplore.ieee.org/abstract/document/7321562), [3rd International Conference on Innovative Network Systems and Applications](https://fedcsis.org/2015/inetsapp), 2015, [IEEE Xplore Digital Library](https://ieeexplore.ieee.org/abstract/document/7321562) [![DOI](https://img.shields.io/badge/DOI-10.15439%2F2015F160-blue)](https://fedcsis.org/proceedings/2015/pliks/160.pdf)\n- [Reactive HMI Android application example](https://github.com/Drutol/CrossHMI#crosshmi)\n- [Object Oriented Internet - on-line ebook][OOIBook]\n- API Browser: the preliminary code help documentation - [available for sponsors- consider joining](https://github.commsvr.com/AboutPartnershipProgram.md.html)\n- [OPC UA Makes Complex Data Processing Possible][wordpress.OPCUACD]\n- [OPC Unified Architecture Specification Part 14: PubSub Release 1.04 February 06, 2018][OPC.UA.PubSub]\n- [OPC UA PubSub Main Technology Features][PubSubMTF]\n- [CommonServiceLocator NuGet package][Locator]\n\n[PubSubMTF]:../../../Networking/SemanticData/README.PubSubMTF.md\n[OPC.UA.PubSub]: https://opcfoundation.org/developer-tools/specifications-unified-architecture/part-14-pubsub/\n[wordpress.OPCUACD]:https://mpostol.wordpress.com/2014/05/08/opc-ua-makes-complex-data-access-possible\n[OOIBook]:https://commsvr.gitbook.io/ooi/readme\n[Locator]:https://www.nuget.org/packages/CommonServiceLocator\n"
  },
  {
    "path": "Networking/DataRepository/AzureGateway/RepositoryGroup.cs",
    "content": "﻿//____________________________________________________________________________\n//\n//  Copyright (C) 2020, Mariusz Postol LODZ POLAND.\n//\n//  To be in touch join the community at GITTER: https://gitter.im/mpostol/TP\n//____________________________________________________________________________\n\nusing Newtonsoft.Json;\nusing System;\nusing System.Collections;\nusing System.Collections.Generic;\n\nnamespace UAOOI.Networking.DataRepository.AzureGateway\n{\n  /// <summary>\n  /// Class RepositoryGroup - it is a process state replica implementing Data Transfer Object.\n  /// Implements the <see cref=\"IDictionary{String, Object}\" />\n  /// </summary>\n  /// <seealso cref=\"IDictionary{String, Object}\" />\n  internal class RepositoryGroup : IDictionary<string, Object>\n  {\n    #region API\n\n    /// <summary>\n    /// Adds the property to the Dada Transfer Object.\n    /// </summary>\n    /// <typeparam name=\"type\">The type of the type.</typeparam>\n    /// <param name=\"propertyName\">Name of the property.</param>\n    /// <returns>Action&lt;type&gt;.</returns>\n    /// <exception cref=\"System.ArgumentOutOfRangeException\">Duplicated property name: {propertyName}</exception>\n    internal Action<type> AddProperty<type>(string propertyName)\n    {\n      if (_processReplica.ContainsKey(propertyName))\n        throw new ArgumentOutOfRangeException($\"Duplicated property name: {propertyName}\");\n      _processReplica.Add(propertyName, default(type));\n      //object _value = _processReplica[propertyName];\n      return x => Updater<type>(propertyName, x);\n    }\n\n    #endregion API\n\n    #region IDictionary<string, Object>\n\n    /// <summary>\n    /// Gets an <see cref=\"T:System.Collections.Generic.ICollection`1\"></see> containing the keys of the <see cref=\"T:System.Collections.Generic.IDictionary`2\"></see>.\n    /// </summary>\n    /// <value>The keys.</value>\n    public ICollection<string> Keys => _processReplica.Keys;\n\n    /// <summary>\n    /// Gets an <see cref=\"T:System.Collections.Generic.ICollection`1\"></see> containing the values in the <see cref=\"T:System.Collections.Generic.IDictionary`2\"></see>.\n    /// </summary>\n    /// <value>The values.</value>\n    /// <exception cref=\"System.NotImplementedException\"></exception>\n    public ICollection<object> Values => throw new NotImplementedException();\n\n    /// <summary>\n    /// Gets the number of elements contained in the <see cref=\"T:System.Collections.Generic.ICollection`1\"></see>.\n    /// </summary>\n    /// <value>The count.</value>\n    public int Count => _processReplica.Count;\n\n    /// <summary>\n    /// Gets a value indicating whether the <see cref=\"T:System.Collections.Generic.ICollection`1\"></see> is read-only.\n    /// </summary>\n    /// <value><c>true</c> if this instance is read only; otherwise, <c>false</c>.</value>\n    public bool IsReadOnly => true;\n\n    /// <summary>\n    /// Gets or sets the <see cref=\"System.Object\"/> with the specified key.\n    /// </summary>\n    /// <param name=\"key\">The key.</param>\n    /// <returns>System.Object.</returns>\n    /// <exception cref=\"System.NotImplementedException\"></exception>\n    public object this[string key] { get => _processReplica[key]; set => throw new NotImplementedException(); }\n\n    /// <summary>\n    /// Adds an element with the provided key and value to the <see cref=\"T:System.Collections.Generic.IDictionary`2\"></see>.\n    /// </summary>\n    /// <param name=\"key\">The object to use as the key of the element to add.</param>\n    /// <param name=\"value\">The object to use as the value of the element to add.</param>\n    /// <exception cref=\"System.NotImplementedException\"></exception>\n    public void Add(string key, object value)\n    {\n      throw new NotImplementedException();\n    }\n\n    /// <summary>\n    /// Determines whether the <see cref=\"T:System.Collections.Generic.IDictionary`2\"></see> contains an element with the specified key.\n    /// </summary>\n    /// <param name=\"key\">The key to locate in the <see cref=\"T:System.Collections.Generic.IDictionary`2\"></see>.</param>\n    /// <returns>true if the <see cref=\"T:System.Collections.Generic.IDictionary`2\"></see> contains an element with the key; otherwise, false.</returns>\n    public bool ContainsKey(string key)\n    {\n      return _processReplica.ContainsKey(key);\n    }\n\n    /// <summary>\n    /// Removes the element with the specified key from the <see cref=\"T:System.Collections.Generic.IDictionary`2\"></see>.\n    /// </summary>\n    /// <param name=\"key\">The key of the element to remove.</param>\n    /// <returns>true if the element is successfully removed; otherwise, false.  This method also returns false if <paramref name=\"key\">key</paramref> was not found in the original <see cref=\"T:System.Collections.Generic.IDictionary`2\"></see>.</returns>\n    /// <exception cref=\"System.NotImplementedException\"></exception>\n    public bool Remove(string key)\n    {\n      throw new NotImplementedException();\n    }\n\n    /// <summary>\n    /// Gets the value associated with the specified key.\n    /// </summary>\n    /// <param name=\"key\">The key whose value to get.</param>\n    /// <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 value parameter. This parameter is passed uninitialized.</param>\n    /// <returns>true if the object that implements <see cref=\"T:System.Collections.Generic.IDictionary`2\"></see> contains an element with the specified key; otherwise, false.</returns>\n    public bool TryGetValue(string key, out object value)\n    {\n      return _processReplica.TryGetValue(key, out value);\n    }\n\n    /// <summary>\n    /// Adds an item to the <see cref=\"T:System.Collections.Generic.ICollection`1\"></see>.\n    /// </summary>\n    /// <param name=\"item\">The object to add to the <see cref=\"T:System.Collections.Generic.ICollection`1\"></see>.</param>\n    /// <exception cref=\"System.NotImplementedException\"></exception>\n    public void Add(KeyValuePair<string, object> item)\n    {\n      throw new NotImplementedException();\n    }\n\n    /// <summary>\n    /// Removes all items from the <see cref=\"T:System.Collections.Generic.ICollection`1\"></see>.\n    /// </summary>\n    /// <exception cref=\"System.NotImplementedException\"></exception>\n    public void Clear()\n    {\n      throw new NotImplementedException();\n    }\n\n    /// <summary>\n    /// Determines whether the <see cref=\"T:System.Collections.Generic.ICollection`1\"></see> contains a specific value.\n    /// </summary>\n    /// <param name=\"item\">The object to locate in the <see cref=\"T:System.Collections.Generic.ICollection`1\"></see>.</param>\n    /// <returns>true if <paramref name=\"item\">item</paramref> is found in the <see cref=\"T:System.Collections.Generic.ICollection`1\"></see>; otherwise, false.</returns>\n    public bool Contains(KeyValuePair<string, object> item)\n    {\n      return ((IDictionary<string, object>)_processReplica).Contains(item);\n    }\n\n    /// <summary>\n    /// Copies the elements of the <see cref=\"T:System.Collections.Generic.ICollection`1\"></see> to an <see cref=\"T:System.Array\"></see>, starting at a particular <see cref=\"T:System.Array\"></see> index.\n    /// </summary>\n    /// <param name=\"array\">The one-dimensional <see cref=\"T:System.Array\"></see> that is the destination of the elements copied from <see cref=\"T:System.Collections.Generic.ICollection`1\"></see>. The <see cref=\"T:System.Array\"></see> must have zero-based indexing.</param>\n    /// <param name=\"arrayIndex\">The zero-based index in array at which copying begins.</param>\n    public void CopyTo(KeyValuePair<string, object>[] array, int arrayIndex)\n    {\n      ((IDictionary<string, object>)_processReplica).CopyTo(array, arrayIndex);\n    }\n\n    /// <summary>\n    /// Removes the first occurrence of a specific object from the <see cref=\"T:System.Collections.Generic.ICollection`1\"></see>.\n    /// </summary>\n    /// <param name=\"item\">The object to remove from the <see cref=\"T:System.Collections.Generic.ICollection`1\"></see>.</param>\n    /// <returns>true if <paramref name=\"item\">item</paramref> was successfully removed from the <see cref=\"T:System.Collections.Generic.ICollection`1\"></see>; otherwise, false. This method also returns false if <paramref name=\"item\">item</paramref> is not found in the original <see cref=\"T:System.Collections.Generic.ICollection`1\"></see>.</returns>\n    /// <exception cref=\"System.NotImplementedException\"></exception>\n    public bool Remove(KeyValuePair<string, object> item)\n    {\n      throw new NotImplementedException();\n    }\n\n    /// <summary>\n    /// Returns an enumerator that iterates through the collection.\n    /// </summary>\n    /// <returns>An enumerator that can be used to iterate through the collection.</returns>\n    public IEnumerator<KeyValuePair<string, object>> GetEnumerator()\n    {\n      return _processReplica.GetEnumerator();\n    }\n\n    /// <summary>\n    /// Returns an enumerator that iterates through a collection.\n    /// </summary>\n    /// <returns>An <see cref=\"T:System.Collections.IEnumerator\"></see> object that can be used to iterate through the collection.</returns>\n    IEnumerator IEnumerable.GetEnumerator()\n    {\n      return _processReplica.GetEnumerator();\n    }\n\n    #endregion IDictionary<string, Object>\n\n    #region object\n\n    public override string ToString()\n    {\n      return JsonConvert.SerializeObject(this);\n    }\n\n    #endregion object\n\n    #region private\n\n    private readonly Dictionary<string, object> _processReplica = new Dictionary<string, object>();\n\n    private object GetPropertyValue(string propertyName)\n    {\n      object result = null;\n      if (_processReplica.ContainsKey(propertyName))\n        result = _processReplica[propertyName];\n      return result;\n    }\n\n    private void Updater<type>(string propertyName, type value)\n    {\n      _processReplica[propertyName] = value;\n    }\n\n    #endregion private\n  }\n}"
  },
  {
    "path": "Networking/DataRepository/AzureGatewayUnitTest/AzureInterconnection/AzureDeviceParametersUnitTest.cs",
    "content": "﻿//___________________________________________________________________________________\n//\n//  Copyright (C) 2020, Mariusz Postol LODZ POLAND.\n//\n//  To be in touch join the community at GITTER: https://gitter.im/mpostol/OPC-UA-OOI\n//___________________________________________________________________________________\n\nusing Microsoft.Azure.Devices.Client;\nusing Microsoft.VisualStudio.TestTools.UnitTesting;\nusing System;\nusing UAOOI.Networking.DataRepository.AzureGateway.AzureInterconnection;\n\nnamespace UAOOI.Networking.DataRepository.AzureGateway.Test.AzureInterconnection\n{\n  [TestClass]\n  public class AzureDeviceParametersUnitTest\n  {\n    [TestMethod]\n    public void ConstructorTest()\n    {\n      AzureDeviceParameters instaneToTest = AzureDeviceParameters.ParseRepositoryGroup(String.Empty);\n      Assert.IsNotNull(instaneToTest);\n      Assert.IsTrue(String.IsNullOrEmpty(instaneToTest.AzureDeviceId));\n      Assert.IsTrue(String.IsNullOrEmpty(instaneToTest.AzurePrimaryKey));\n      Assert.IsTrue(String.IsNullOrEmpty(instaneToTest.AzureScopeId));\n      Assert.IsTrue(String.IsNullOrEmpty(instaneToTest.AzureSecondaryKey));\n      Assert.AreEqual<TimeSpan>(TimeSpan.FromSeconds(1.0), instaneToTest.PublishingInterval());\n      Assert.AreEqual<TransportType>(default(TransportType), instaneToTest.TransportType);\n      Assert.IsTrue(String.IsNullOrEmpty(instaneToTest.ResourceGroupName));\n    }\n\n    [TestMethod]\n    public void ParseFullTestMethod()\n    {\n      AzureDeviceParameters instaneToTest = AzureDeviceParameters.ParseRepositoryGroup(\"RepositoryGroup -tHttp1 -dAzureDeviceId -sAzureScopeId -pAzurePrimaryKey -kAzureSecondaryKey -i2000\");\n      Assert.IsNotNull(instaneToTest);\n      Assert.AreEqual<string>(\"AzureDeviceId\", instaneToTest.AzureDeviceId);\n      Assert.AreEqual<string>(\"AzurePrimaryKey\", instaneToTest.AzurePrimaryKey);\n      Assert.AreEqual<string>(\"AzureScopeId\", instaneToTest.AzureScopeId);\n      Assert.AreEqual<string>(\"AzureSecondaryKey\", instaneToTest.AzureSecondaryKey);\n      Assert.AreEqual<TimeSpan>(TimeSpan.FromSeconds(2.0), instaneToTest.PublishingInterval());\n      Assert.AreEqual<TransportType>(TransportType.Http1, instaneToTest.TransportType);\n      Assert.AreEqual<string>(\"RepositoryGroup\", instaneToTest.ResourceGroupName);\n    }\n\n    [TestMethod]\n    public void ParseMissingOptionalTestMethod()\n    {\n      AzureDeviceParameters instaneToTest = AzureDeviceParameters.ParseRepositoryGroup(\"RepositoryGroup -dAzureDeviceId -sAzureScopeId -pAzurePrimaryKey -kAzureSecondaryKey \");\n      Assert.IsNotNull(instaneToTest);\n      Assert.AreEqual<string>(\"AzureDeviceId\", instaneToTest.AzureDeviceId);\n      Assert.AreEqual<string>(\"AzurePrimaryKey\", instaneToTest.AzurePrimaryKey);\n      Assert.AreEqual<string>(\"AzureScopeId\", instaneToTest.AzureScopeId);\n      Assert.AreEqual<string>(\"AzureSecondaryKey\", instaneToTest.AzureSecondaryKey);\n      Assert.AreEqual<TimeSpan>(TimeSpan.FromSeconds(1.0), instaneToTest.PublishingInterval());\n      Assert.AreEqual<TransportType>(TransportType.Amqp, instaneToTest.TransportType);\n      Assert.AreEqual<string>(\"RepositoryGroup\", instaneToTest.ResourceGroupName);\n    }\n\n    [TestMethod]\n    public void ParseMissingRepositoryGroupTestMethod()\n    {\n      AzureDeviceParameters instaneToTest = AzureDeviceParameters.ParseRepositoryGroup(\"-dAzureDeviceId -sAzureScopeId -pAzurePrimaryKey -kAzureSecondaryKey \");\n      Assert.IsNotNull(instaneToTest);\n      Assert.AreEqual<string>(\"AzureDeviceId\", instaneToTest.AzureDeviceId);\n      Assert.AreEqual<string>(\"AzurePrimaryKey\", instaneToTest.AzurePrimaryKey);\n      Assert.AreEqual<string>(\"AzureScopeId\", instaneToTest.AzureScopeId);\n      Assert.AreEqual<string>(\"AzureSecondaryKey\", instaneToTest.AzureSecondaryKey);\n      Assert.AreEqual<TimeSpan>(TimeSpan.FromSeconds(1.0), instaneToTest.PublishingInterval());\n      Assert.AreEqual<TransportType>(TransportType.Amqp, instaneToTest.TransportType);\n      Assert.AreEqual<string>(\"\", instaneToTest.ResourceGroupName);\n    }\n\n    [TestMethod]\n    public void ParseMissingRequiredTest()\n    {\n      Assert.ThrowsException<AggregateException>(() => AzureDeviceParameters.ParseRepositoryGroup(\"RepositoryGroup -sAzureScopeId -pAzurePrimaryKey -kAzureSecondaryKey\"));\n      Assert.ThrowsException<AggregateException>(() => AzureDeviceParameters.ParseRepositoryGroup(\"RepositoryGroup -dAzureDeviceId -pAzurePrimaryKey -kAzureSecondaryKey\"));\n      Assert.ThrowsException<AggregateException>(() => AzureDeviceParameters.ParseRepositoryGroup(\"RepositoryGroup -dAzureDeviceId -sAzureScopeId -kAzureSecondaryKey\"));\n      Assert.ThrowsException<AggregateException>(() => AzureDeviceParameters.ParseRepositoryGroup(\"RepositoryGroup -dAzureDeviceId -sAzureScopeId -pAzurePrimaryKey \"));\n    }\n  }\n}"
  },
  {
    "path": "Networking/DataRepository/AzureGatewayUnitTest/AzureInterconnection/CommunicationContextUnitTest.cs",
    "content": "﻿//___________________________________________________________________________________\n//\n//  Copyright (C) 2020, Mariusz Postol LODZ POLAND.\n//\n//  To be in touch join the community at GITTER: https://gitter.im/mpostol/OPC-UA-OOI\n//___________________________________________________________________________________\n\nusing Microsoft.VisualStudio.TestTools.UnitTesting;\nusing Moq;\nusing System;\nusing UAOOI.Networking.DataRepository.AzureGateway.AzureInterconnection;\n\nnamespace UAOOI.Networking.DataRepository.AzureGateway.Test.AzureInterconnection\n{\n  [TestClass]\n  public class CommunicationContextUnitTest\n  {\n    [TestMethod]\n    public void ConstructorTest()\n    {\n      AzureDeviceParameters azureParametersFixture = AzureDeviceParameters.ParseRepositoryGroup(String.Empty);\n      Mock<IDTOProvider> IDTOProviderFixture = new Mock<IDTOProvider>();\n      Assert.ThrowsException<ArgumentNullException>(() => new CommunicationContext(null, \"qwerty\", azureParametersFixture));\n      Assert.ThrowsException<ArgumentNullException>(() => new CommunicationContext(IDTOProviderFixture.Object, \"qwerty\", null));\n      CommunicationContext _fixture = new CommunicationContext(IDTOProviderFixture.Object, \"qwerty\", azureParametersFixture);\n      Assert.ThrowsException<ApplicationException>(() => _fixture.DisconnectRequest());\n    }\n  }\n}"
  },
  {
    "path": "Networking/DataRepository/AzureGatewayUnitTest/Diagnostic/AzureGatewaySemanticEventSourceUnitTest.cs",
    "content": "﻿//___________________________________________________________________________________\n//\n//  Copyright (C) 2020, Mariusz Postol LODZ POLAND.\n//\n//  To be in touch join the community at GITTER: https://gitter.im/mpostol/OPC-UA-OOI\n//___________________________________________________________________________________\n\nusing Microsoft.VisualStudio.TestTools.UnitTesting;\nusing System;\nusing System.Collections.Generic;\nusing System.Diagnostics;\nusing System.Diagnostics.Tracing;\nusing System.Linq;\nusing UAOOI.Networking.DataRepository.AzureGateway.Diagnostic;\n\nnamespace UAOOI.Networking.DataRepository.AzureGateway.Test.Diagnostic\n{\n  [TestClass]\n  public class AzureGatewaySemanticEventSourceUnitTest\n  {\n    [TestMethod]\n    public void ConstructorTest()\n    {\n      using (AzureGatewaySemanticEventSource itemToTest = AzureGatewaySemanticEventSource.Log())\n      {\n        Assert.IsNotNull(itemToTest);\n        Assert.IsNull(itemToTest.ConstructionException);\n        Assert.AreEqual<Guid>(Guid.Parse(\"BC7E8C08-C708-4E3C-A27E-237F093F175C\"), itemToTest.Guid);\n        Assert.AreEqual<string>(\"UAOOI.Networking.DataRepository.AzureGateway.Diagnostic\", itemToTest.Name);\n        Assert.AreEqual<EventSourceSettings>(EventSourceSettings.EtwManifestEventFormat, itemToTest.Settings);\n        Assert.IsFalse(itemToTest.IsEnabled());\n        Assert.AreSame(itemToTest, AzureGatewaySemanticEventSource.Log());\n      }\n    }\n\n    [TestMethod]\n    public void DisposeTestMethod()\n    {\n      try\n      {\n        AzureGatewaySemanticEventSource itemToTest = AzureGatewaySemanticEventSource.Log();\n        itemToTest.Dispose();\n        Assert.IsNotNull(itemToTest);\n        Assert.AreNotSame(itemToTest, AzureGatewaySemanticEventSource.Log());\n      }\n      finally\n      {\n        AzureGatewaySemanticEventSource.Log().Dispose();\n      }\n    }\n\n    [TestMethod]\n    public void EventListenerTest()\n    {\n      using (AzureGatewaySemanticEventSource itemToTest = AzureGatewaySemanticEventSource.Log())\n      using (EventListener lisner = new EventListener())\n      {\n        List<EventSourceCreatedEventArgs> sourceList = new List<EventSourceCreatedEventArgs>();\n        List<EventWrittenEventArgs> eventsList = new List<EventWrittenEventArgs>();\n        lisner.EventSourceCreated += (o, es) => sourceList.Add(es);\n        lisner.EventWritten += (source, entry) => eventsList.Add(entry);\n        foreach (EventSourceCreatedEventArgs item in sourceList)\n          Debug.WriteLine($\"{item.EventSource.Name}:{item.EventSource.Guid}; Is enabled: {item.EventSource.IsEnabled()}\");\n        int esCount = sourceList.Count;\n        Assert.AreEqual<int>(0, eventsList.Count);\n        lisner.EnableEvents(itemToTest, EventLevel.LogAlways, EventKeywords.All);\n        Assert.AreEqual<int>(esCount, sourceList.Count);\n        Assert.AreEqual<int>(0, eventsList.Count);\n      }\n    }\n\n    [TestMethod]\n    public void ProgramFailureTest()\n    {\n      using (AzureGatewaySemanticEventSource itemToTest = AzureGatewaySemanticEventSource.Log())\n      using (EventListener lisner = new EventListener())\n      {\n        List<EventWrittenEventArgs> eventsList = new List<EventWrittenEventArgs>();\n        lisner.EventWritten += (source, entry) => eventsList.Add(entry);\n        Assert.AreEqual<int>(0, eventsList.Count);\n        lisner.EnableEvents(itemToTest, EventLevel.LogAlways, EventKeywords.All);\n        itemToTest.ProgramFailure(\"ClassName\", \"problem\");\n        Assert.AreEqual<int>(1, eventsList.Count);\n        EventWrittenEventArgs eventArgs = eventsList[0];\n        Assert.AreEqual<int>(1, eventArgs.EventId);\n        Assert.AreEqual<string>(\"At ClassName.ProgramFailureTest encountered application failure: problem\", String.Format(eventArgs.Message, eventArgs.Payload.Select<object, string>(x => x.ToString()).ToArray<string>()));\n        Assert.AreEqual<EventChannel>(EventChannel.Admin, eventArgs.Channel);\n        Assert.AreEqual<int>(1, eventArgs.EventId);\n        Assert.AreEqual<string>(nameof(AzureGatewaySemanticEventSource.ProgramFailure), eventArgs.EventName);\n        Assert.AreSame(AzureGatewaySemanticEventSource.Log(), eventArgs.EventSource);\n        Assert.IsTrue((AzureGatewaySemanticEventSource.Keywords.Diagnostic & eventArgs.Keywords) > 0);\n        Assert.AreEqual<EventLevel>(EventLevel.Error, eventArgs.Level);\n        Assert.AreEqual<EventOpcode>(EventOpcode.Info, eventArgs.Opcode);\n        Assert.AreEqual<EventTask>(AzureGatewaySemanticEventSource.Tasks.Code, eventArgs.Task);\n        Assert.AreEqual<byte>(0x01, eventArgs.Version);\n      }\n    }\n  }\n}"
  },
  {
    "path": "Networking/DataRepository/AzureGatewayUnitTest/Networking.DataRepository.AzureGatewayUnitTest.csproj",
    "content": "﻿<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<Project ToolsVersion=\"15.0\" DefaultTargets=\"Build\" xmlns=\"http://schemas.microsoft.com/developer/msbuild/2003\">\n  <Import Project=\"..\\..\\..\\packages\\MSTest.TestAdapter.2.2.10\\build\\net46\\MSTest.TestAdapter.props\" Condition=\"Exists('..\\..\\..\\packages\\MSTest.TestAdapter.2.2.10\\build\\net46\\MSTest.TestAdapter.props')\" />\n  <Import Project=\"$(MSBuildExtensionsPath)\\$(MSBuildToolsVersion)\\Microsoft.Common.props\" Condition=\"Exists('$(MSBuildExtensionsPath)\\$(MSBuildToolsVersion)\\Microsoft.Common.props')\" />\n  <PropertyGroup>\n    <Configuration Condition=\" '$(Configuration)' == '' \">Debug</Configuration>\n    <Platform Condition=\" '$(Platform)' == '' \">AnyCPU</Platform>\n    <ProjectGuid>{F7FDDDCC-58C7-44E0-8DE3-6A94E6222D03}</ProjectGuid>\n    <OutputType>Library</OutputType>\n    <AppDesignerFolder>Properties</AppDesignerFolder>\n    <RootNamespace>UAOOI.Networking.DataRepository.AzureGateway.Test</RootNamespace>\n    <AssemblyName>UAOOI.Networking.DataRepository.AzureGateway.Test</AssemblyName>\n    <TargetFrameworkVersion>v4.7.2</TargetFrameworkVersion>\n    <FileAlignment>512</FileAlignment>\n    <ProjectTypeGuids>{3AC096D0-A1C2-E12C-1390-A8335801FDAB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>\n    <VisualStudioVersion Condition=\"'$(VisualStudioVersion)' == ''\">15.0</VisualStudioVersion>\n    <VSToolsPath Condition=\"'$(VSToolsPath)' == ''\">$(MSBuildExtensionsPath32)\\Microsoft\\VisualStudio\\v$(VisualStudioVersion)</VSToolsPath>\n    <ReferencePath>$(ProgramFiles)\\Common Files\\microsoft shared\\VSTT\\$(VisualStudioVersion)\\UITestExtensionPackages</ReferencePath>\n    <IsCodedUITest>False</IsCodedUITest>\n    <TestProjectType>UnitTest</TestProjectType>\n    <NuGetPackageImportStamp>\n    </NuGetPackageImportStamp>\n  </PropertyGroup>\n  <PropertyGroup Condition=\" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' \">\n    <DebugSymbols>true</DebugSymbols>\n    <DebugType>full</DebugType>\n    <Optimize>false</Optimize>\n    <OutputPath>bin\\Debug\\</OutputPath>\n    <DefineConstants>DEBUG;TRACE</DefineConstants>\n    <ErrorReport>prompt</ErrorReport>\n    <WarningLevel>4</WarningLevel>\n    <NoWarn>IDE0001,IDE0002,IDE0049</NoWarn>\n  </PropertyGroup>\n  <PropertyGroup Condition=\" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' \">\n    <DebugType>pdbonly</DebugType>\n    <Optimize>true</Optimize>\n    <OutputPath>bin\\Release\\</OutputPath>\n    <DefineConstants>TRACE</DefineConstants>\n    <ErrorReport>prompt</ErrorReport>\n    <WarningLevel>4</WarningLevel>\n  </PropertyGroup>\n  <PropertyGroup>\n    <SignAssembly>true</SignAssembly>\n  </PropertyGroup>\n  <PropertyGroup>\n    <AssemblyOriginatorKeyFile>OPCUAOOIKey.snk</AssemblyOriginatorKeyFile>\n  </PropertyGroup>\n  <ItemGroup>\n    <Compile Include=\"AzureInterconnection\\CommunicationContextUnitTest.cs\" />\n    <Compile Include=\"AzureInterconnection\\AzureDeviceParametersUnitTest.cs\" />\n    <Compile Include=\"Diagnostic\\AzureGatewaySemanticEventSourceUnitTest.cs\" />\n    <Compile Include=\"Properties\\AssemblyInfo.cs\" />\n    <Compile Include=\"PartDataManagementSetupUnitTest.cs\" />\n    <Compile Include=\"RepositoryGroupUnitTest.cs\" />\n    <Compile Include=\"PartBindingFactoryUnit.cs\" />\n    <Compile Include=\"PartConfigurationFactoryUnitTest.cs\" />\n  </ItemGroup>\n  <ItemGroup>\n    <None Include=\"app.config\" />\n    <None Include=\"OPCUAOOIKey.snk\" />\n    <None Include=\"packages.config\" />\n  </ItemGroup>\n  <ItemGroup>\n    <ProjectReference Include=\"..\\..\\..\\Configuration\\Networking\\Configuration.Networking.csproj\">\n      <Project>{e28e0880-03aa-4d1b-a820-41b04e766019}</Project>\n      <Name>Configuration.Networking</Name>\n    </ProjectReference>\n    <ProjectReference Include=\"..\\..\\Core\\Networking.Core.csproj\">\n      <Project>{afcca7c9-47fe-4fb6-935e-12d686eec58f}</Project>\n      <Name>Networking.Core</Name>\n    </ProjectReference>\n    <ProjectReference Include=\"..\\..\\ReferenceApplication.Core\\Networking.ReferenceApplication.Core.csproj\">\n      <Project>{2238851E-4DB8-46B0-B38D-0E2315FE153E}</Project>\n      <Name>Networking.ReferenceApplication.Core</Name>\n    </ProjectReference>\n    <ProjectReference Include=\"..\\..\\SemanticData\\Networking.SemanticData.csproj\">\n      <Project>{7F4DED4E-5933-4229-B9CC-51DA49678904}</Project>\n      <Name>Networking.SemanticData</Name>\n    </ProjectReference>\n    <ProjectReference Include=\"..\\AzureGateway\\Networking.DataRepository.AzureGateway.csproj\">\n      <Project>{3f5cbb26-9142-4e55-8de5-5baf0c3ea1ce}</Project>\n      <Name>Networking.DataRepository.AzureGateway</Name>\n    </ProjectReference>\n  </ItemGroup>\n  <ItemGroup>\n    <None Include=\"TestingData\\ConfigurationDataConsumer.BoilersSet.xml\">\n      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>\n    </None>\n  </ItemGroup>\n  <ItemGroup>\n    <Reference Include=\"Castle.Core, Version=5.0.0.0, Culture=neutral, PublicKeyToken=407dd0808d44fbdc, processorArchitecture=MSIL\">\n      <HintPath>..\\..\\..\\packages\\Castle.Core.5.0.0\\lib\\net462\\Castle.Core.dll</HintPath>\n    </Reference>\n    <Reference Include=\"CommandLine, Version=2.9.1.0, Culture=neutral, PublicKeyToken=5a870481e358d379, processorArchitecture=MSIL\">\n      <HintPath>..\\..\\..\\packages\\CommandLineParser.2.9.1\\lib\\net461\\CommandLine.dll</HintPath>\n    </Reference>\n    <Reference Include=\"CommonServiceLocator, Version=2.0.6.0, Culture=neutral, PublicKeyToken=489b6accfaf20ef0, processorArchitecture=MSIL\">\n      <HintPath>..\\..\\..\\packages\\CommonServiceLocator.2.0.6\\lib\\net47\\CommonServiceLocator.dll</HintPath>\n    </Reference>\n    <Reference Include=\"DotNetty.Buffers, Version=0.7.2.0, Culture=neutral, PublicKeyToken=bc13ca065fa06c29, processorArchitecture=MSIL\">\n      <HintPath>..\\..\\..\\packages\\DotNetty.Buffers.0.7.2\\lib\\net472\\DotNetty.Buffers.dll</HintPath>\n    </Reference>\n    <Reference Include=\"DotNetty.Codecs, Version=0.7.2.0, Culture=neutral, PublicKeyToken=bc13ca065fa06c29, processorArchitecture=MSIL\">\n      <HintPath>..\\..\\..\\packages\\DotNetty.Codecs.0.7.2\\lib\\net472\\DotNetty.Codecs.dll</HintPath>\n    </Reference>\n    <Reference Include=\"DotNetty.Codecs.Mqtt, Version=0.7.2.0, Culture=neutral, PublicKeyToken=bc13ca065fa06c29, processorArchitecture=MSIL\">\n      <HintPath>..\\..\\..\\packages\\DotNetty.Codecs.Mqtt.0.7.2\\lib\\net472\\DotNetty.Codecs.Mqtt.dll</HintPath>\n    </Reference>\n    <Reference Include=\"DotNetty.Common, Version=0.7.2.0, Culture=neutral, PublicKeyToken=bc13ca065fa06c29, processorArchitecture=MSIL\">\n      <HintPath>..\\..\\..\\packages\\DotNetty.Common.0.7.2\\lib\\net472\\DotNetty.Common.dll</HintPath>\n    </Reference>\n    <Reference Include=\"DotNetty.Handlers, Version=0.7.2.0, Culture=neutral, PublicKeyToken=bc13ca065fa06c29, processorArchitecture=MSIL\">\n      <HintPath>..\\..\\..\\packages\\DotNetty.Handlers.0.7.2\\lib\\net472\\DotNetty.Handlers.dll</HintPath>\n    </Reference>\n    <Reference Include=\"DotNetty.Transport, Version=0.7.2.0, Culture=neutral, PublicKeyToken=bc13ca065fa06c29, processorArchitecture=MSIL\">\n      <HintPath>..\\..\\..\\packages\\DotNetty.Transport.0.7.2\\lib\\net472\\DotNetty.Transport.dll</HintPath>\n    </Reference>\n    <Reference Include=\"Microsoft.Azure.Amqp, Version=2.4.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL\">\n      <HintPath>..\\..\\..\\packages\\Microsoft.Azure.Amqp.2.5.12\\lib\\net45\\Microsoft.Azure.Amqp.dll</HintPath>\n    </Reference>\n    <Reference Include=\"Microsoft.Azure.Devices.Client, Version=1.41.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL\">\n      <HintPath>..\\..\\..\\packages\\Microsoft.Azure.Devices.Client.1.41.0\\lib\\net472\\Microsoft.Azure.Devices.Client.dll</HintPath>\n    </Reference>\n    <Reference Include=\"Microsoft.Azure.Devices.Shared, Version=1.30.1.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL\">\n      <HintPath>..\\..\\..\\packages\\Microsoft.Azure.Devices.Shared.1.30.1\\lib\\net472\\Microsoft.Azure.Devices.Shared.dll</HintPath>\n    </Reference>\n    <Reference Include=\"Microsoft.Azure.KeyVault.Core, Version=3.0.5.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL\">\n      <HintPath>..\\..\\..\\packages\\Microsoft.Azure.KeyVault.Core.3.0.5\\lib\\net461\\Microsoft.Azure.KeyVault.Core.dll</HintPath>\n    </Reference>\n    <Reference Include=\"Microsoft.Bcl.AsyncInterfaces, Version=6.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL\">\n      <HintPath>..\\..\\..\\packages\\Microsoft.Bcl.AsyncInterfaces.6.0.0\\lib\\net461\\Microsoft.Bcl.AsyncInterfaces.dll</HintPath>\n    </Reference>\n    <Reference Include=\"Microsoft.CSharp\" />\n    <Reference Include=\"Microsoft.Extensions.Configuration, Version=6.0.0.1, Culture=neutral, PublicKeyToken=adb9793829ddae60, processorArchitecture=MSIL\">\n      <HintPath>..\\..\\..\\packages\\Microsoft.Extensions.Configuration.6.0.1\\lib\\net461\\Microsoft.Extensions.Configuration.dll</HintPath>\n    </Reference>\n    <Reference Include=\"Microsoft.Extensions.Configuration.Abstractions, Version=6.0.0.0, Culture=neutral, PublicKeyToken=adb9793829ddae60, processorArchitecture=MSIL\">\n      <HintPath>..\\..\\..\\packages\\Microsoft.Extensions.Configuration.Abstractions.6.0.0\\lib\\net461\\Microsoft.Extensions.Configuration.Abstractions.dll</HintPath>\n    </Reference>\n    <Reference Include=\"Microsoft.Extensions.Configuration.Binder, Version=6.0.0.0, Culture=neutral, PublicKeyToken=adb9793829ddae60, processorArchitecture=MSIL\">\n      <HintPath>..\\..\\..\\packages\\Microsoft.Extensions.Configuration.Binder.6.0.0\\lib\\net461\\Microsoft.Extensions.Configuration.Binder.dll</HintPath>\n    </Reference>\n    <Reference Include=\"Microsoft.Extensions.DependencyInjection, Version=6.0.0.0, Culture=neutral, PublicKeyToken=adb9793829ddae60, processorArchitecture=MSIL\">\n      <HintPath>..\\..\\..\\packages\\Microsoft.Extensions.DependencyInjection.6.0.0\\lib\\net461\\Microsoft.Extensions.DependencyInjection.dll</HintPath>\n    </Reference>\n    <Reference Include=\"Microsoft.Extensions.DependencyInjection.Abstractions, Version=6.0.0.0, Culture=neutral, PublicKeyToken=adb9793829ddae60, processorArchitecture=MSIL\">\n      <HintPath>..\\..\\..\\packages\\Microsoft.Extensions.DependencyInjection.Abstractions.6.0.0\\lib\\net461\\Microsoft.Extensions.DependencyInjection.Abstractions.dll</HintPath>\n    </Reference>\n    <Reference Include=\"Microsoft.Extensions.Logging, Version=6.0.0.0, Culture=neutral, PublicKeyToken=adb9793829ddae60, processorArchitecture=MSIL\">\n      <HintPath>..\\..\\..\\packages\\Microsoft.Extensions.Logging.6.0.0\\lib\\net461\\Microsoft.Extensions.Logging.dll</HintPath>\n    </Reference>\n    <Reference Include=\"Microsoft.Extensions.Logging.Abstractions, Version=6.0.0.1, Culture=neutral, PublicKeyToken=adb9793829ddae60, processorArchitecture=MSIL\">\n      <HintPath>..\\..\\..\\packages\\Microsoft.Extensions.Logging.Abstractions.6.0.1\\lib\\net461\\Microsoft.Extensions.Logging.Abstractions.dll</HintPath>\n    </Reference>\n    <Reference Include=\"Microsoft.Extensions.Options, Version=6.0.0.0, Culture=neutral, PublicKeyToken=adb9793829ddae60, processorArchitecture=MSIL\">\n      <HintPath>..\\..\\..\\packages\\Microsoft.Extensions.Options.6.0.0\\lib\\net461\\Microsoft.Extensions.Options.dll</HintPath>\n    </Reference>\n    <Reference Include=\"Microsoft.Extensions.Primitives, Version=6.0.0.0, Culture=neutral, PublicKeyToken=adb9793829ddae60, processorArchitecture=MSIL\">\n      <HintPath>..\\..\\..\\packages\\Microsoft.Extensions.Primitives.6.0.0\\lib\\net461\\Microsoft.Extensions.Primitives.dll</HintPath>\n    </Reference>\n    <Reference Include=\"Microsoft.Rest.ClientRuntime, Version=2.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL\">\n      <HintPath>..\\..\\..\\packages\\Microsoft.Rest.ClientRuntime.2.3.24\\lib\\net461\\Microsoft.Rest.ClientRuntime.dll</HintPath>\n    </Reference>\n    <Reference Include=\"Microsoft.Rest.ClientRuntime.Azure, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL\">\n      <HintPath>..\\..\\..\\packages\\Microsoft.Rest.ClientRuntime.Azure.3.3.19\\lib\\net461\\Microsoft.Rest.ClientRuntime.Azure.dll</HintPath>\n    </Reference>\n    <Reference Include=\"Microsoft.VisualStudio.TestPlatform.TestFramework, Version=14.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL\">\n      <HintPath>..\\..\\..\\packages\\MSTest.TestFramework.2.2.10\\lib\\net45\\Microsoft.VisualStudio.TestPlatform.TestFramework.dll</HintPath>\n    </Reference>\n    <Reference Include=\"Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions, Version=14.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL\">\n      <HintPath>..\\..\\..\\packages\\MSTest.TestFramework.2.2.10\\lib\\net45\\Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.dll</HintPath>\n    </Reference>\n    <Reference Include=\"Microsoft.Win32.Primitives, Version=4.0.2.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL\">\n      <HintPath>..\\..\\..\\packages\\Microsoft.Win32.Primitives.4.3.0\\lib\\net46\\Microsoft.Win32.Primitives.dll</HintPath>\n      <Private>True</Private>\n      <Private>True</Private>\n    </Reference>\n    <Reference Include=\"Microsoft.Win32.Registry, Version=5.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL\">\n      <HintPath>..\\..\\..\\packages\\Microsoft.Win32.Registry.5.0.0\\lib\\net461\\Microsoft.Win32.Registry.dll</HintPath>\n    </Reference>\n    <Reference Include=\"Microsoft.WindowsAzure.Storage, Version=9.3.2.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL\">\n      <HintPath>..\\..\\..\\packages\\WindowsAzure.Storage.9.3.3\\lib\\net45\\Microsoft.WindowsAzure.Storage.dll</HintPath>\n    </Reference>\n    <Reference Include=\"Moq, Version=4.18.0.0, Culture=neutral, PublicKeyToken=69f491c39445e920, processorArchitecture=MSIL\">\n      <HintPath>..\\..\\..\\packages\\Moq.4.18.1\\lib\\net462\\Moq.dll</HintPath>\n    </Reference>\n    <Reference Include=\"Newtonsoft.Json, Version=13.0.0.0, Culture=neutral, PublicKeyToken=30ad4fe6b2a6aeed, processorArchitecture=MSIL\">\n      <HintPath>..\\..\\..\\packages\\Newtonsoft.Json.13.0.1\\lib\\net45\\Newtonsoft.Json.dll</HintPath>\n    </Reference>\n    <Reference Include=\"System\" />\n    <Reference Include=\"System.AppContext, Version=4.1.1.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL\">\n      <HintPath>..\\..\\..\\packages\\System.AppContext.4.3.0\\lib\\net463\\System.AppContext.dll</HintPath>\n      <Private>True</Private>\n      <Private>True</Private>\n    </Reference>\n    <Reference Include=\"System.Buffers, Version=4.0.3.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL\">\n      <HintPath>..\\..\\..\\packages\\System.Buffers.4.5.1\\lib\\net461\\System.Buffers.dll</HintPath>\n    </Reference>\n    <Reference Include=\"System.Collections.Immutable, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL\">\n      <HintPath>..\\..\\..\\packages\\System.Collections.Immutable.6.0.0\\lib\\net461\\System.Collections.Immutable.dll</HintPath>\n    </Reference>\n    <Reference Include=\"System.ComponentModel.Annotations, Version=4.2.1.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL\">\n      <HintPath>..\\..\\..\\packages\\System.ComponentModel.Annotations.5.0.0\\lib\\net461\\System.ComponentModel.Annotations.dll</HintPath>\n    </Reference>\n    <Reference Include=\"System.ComponentModel.Composition\" />\n    <Reference Include=\"System.ComponentModel.DataAnnotations\" />\n    <Reference Include=\"System.Configuration\" />\n    <Reference Include=\"System.Configuration.ConfigurationManager, Version=6.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL\">\n      <HintPath>..\\..\\..\\packages\\System.Configuration.ConfigurationManager.6.0.0\\lib\\net461\\System.Configuration.ConfigurationManager.dll</HintPath>\n    </Reference>\n    <Reference Include=\"System.Console, Version=4.0.1.1, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL\">\n      <HintPath>..\\..\\..\\packages\\System.Console.4.3.1\\lib\\net46\\System.Console.dll</HintPath>\n      <Private>True</Private>\n      <Private>True</Private>\n    </Reference>\n    <Reference Include=\"System.Data\" />\n    <Reference Include=\"System.Data.OracleClient\" />\n    <Reference Include=\"System.Diagnostics.DiagnosticSource, Version=6.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL\">\n      <HintPath>..\\..\\..\\packages\\System.Diagnostics.DiagnosticSource.6.0.0\\lib\\net461\\System.Diagnostics.DiagnosticSource.dll</HintPath>\n    </Reference>\n    <Reference Include=\"System.Diagnostics.TraceSource, Version=4.0.1.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL\">\n      <HintPath>..\\..\\..\\packages\\System.Diagnostics.TraceSource.4.3.0\\lib\\net46\\System.Diagnostics.TraceSource.dll</HintPath>\n      <Private>True</Private>\n      <Private>True</Private>\n    </Reference>\n    <Reference Include=\"System.Diagnostics.Tracing, Version=4.1.1.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL\">\n      <HintPath>..\\..\\..\\packages\\System.Diagnostics.Tracing.4.3.0\\lib\\net462\\System.Diagnostics.Tracing.dll</HintPath>\n      <Private>True</Private>\n      <Private>True</Private>\n    </Reference>\n    <Reference Include=\"System.Drawing\" />\n    <Reference Include=\"System.Globalization.Calendars, Version=4.0.2.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL\">\n      <HintPath>..\\..\\..\\packages\\System.Globalization.Calendars.4.3.0\\lib\\net46\\System.Globalization.Calendars.dll</HintPath>\n      <Private>True</Private>\n      <Private>True</Private>\n    </Reference>\n    <Reference Include=\"System.IO, Version=4.1.1.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL\">\n      <HintPath>..\\..\\..\\packages\\System.IO.4.3.0\\lib\\net462\\System.IO.dll</HintPath>\n      <Private>True</Private>\n      <Private>True</Private>\n    </Reference>\n    <Reference Include=\"System.IO.Compression, Version=4.1.2.0, Culture=neutral, PublicKeyToken=b77a5c561934e089, processorArchitecture=MSIL\">\n      <HintPath>..\\..\\..\\packages\\System.IO.Compression.4.3.0\\lib\\net46\\System.IO.Compression.dll</HintPath>\n      <Private>True</Private>\n      <Private>True</Private>\n    </Reference>\n    <Reference Include=\"System.IO.Compression.FileSystem\" />\n    <Reference Include=\"System.IO.Compression.ZipFile, Version=4.0.2.0, Culture=neutral, PublicKeyToken=b77a5c561934e089, processorArchitecture=MSIL\">\n      <HintPath>..\\..\\..\\packages\\System.IO.Compression.ZipFile.4.3.0\\lib\\net46\\System.IO.Compression.ZipFile.dll</HintPath>\n      <Private>True</Private>\n      <Private>True</Private>\n    </Reference>\n    <Reference Include=\"System.IO.FileSystem, Version=4.0.2.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL\">\n      <HintPath>..\\..\\..\\packages\\System.IO.FileSystem.4.3.0\\lib\\net46\\System.IO.FileSystem.dll</HintPath>\n      <Private>True</Private>\n      <Private>True</Private>\n    </Reference>\n    <Reference Include=\"System.IO.FileSystem.Primitives, Version=4.0.2.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL\">\n      <HintPath>..\\..\\..\\packages\\System.IO.FileSystem.Primitives.4.3.0\\lib\\net46\\System.IO.FileSystem.Primitives.dll</HintPath>\n      <Private>True</Private>\n      <Private>True</Private>\n    </Reference>\n    <Reference Include=\"System.Linq, Version=4.1.1.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL\">\n      <HintPath>..\\..\\..\\packages\\System.Linq.4.3.0\\lib\\net463\\System.Linq.dll</HintPath>\n      <Private>True</Private>\n      <Private>True</Private>\n    </Reference>\n    <Reference Include=\"System.Linq.Expressions, Version=4.1.1.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL\">\n      <HintPath>..\\..\\..\\packages\\System.Linq.Expressions.4.3.0\\lib\\net463\\System.Linq.Expressions.dll</HintPath>\n      <Private>True</Private>\n      <Private>True</Private>\n    </Reference>\n    <Reference Include=\"System.Memory, Version=4.0.1.2, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL\">\n      <HintPath>..\\..\\..\\packages\\System.Memory.4.5.5\\lib\\net461\\System.Memory.dll</HintPath>\n    </Reference>\n    <Reference Include=\"System.Net\" />\n    <Reference Include=\"System.Net.Http, Version=4.1.1.3, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL\">\n      <HintPath>..\\..\\..\\packages\\System.Net.Http.4.3.4\\lib\\net46\\System.Net.Http.dll</HintPath>\n      <Private>True</Private>\n      <Private>True</Private>\n    </Reference>\n    <Reference Include=\"System.Net.Http.WebRequest\" />\n    <Reference Include=\"System.Net.Sockets, Version=4.1.1.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL\">\n      <HintPath>..\\..\\..\\packages\\System.Net.Sockets.4.3.0\\lib\\net46\\System.Net.Sockets.dll</HintPath>\n      <Private>True</Private>\n      <Private>True</Private>\n    </Reference>\n    <Reference Include=\"System.Net.WebSockets, Version=4.0.1.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL\">\n      <HintPath>..\\..\\..\\packages\\System.Net.WebSockets.4.3.0\\lib\\net46\\System.Net.WebSockets.dll</HintPath>\n      <Private>True</Private>\n      <Private>True</Private>\n    </Reference>\n    <Reference Include=\"System.Net.WebSockets.Client, Version=4.0.1.1, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL\">\n      <HintPath>..\\..\\..\\packages\\System.Net.WebSockets.Client.4.3.2\\lib\\net46\\System.Net.WebSockets.Client.dll</HintPath>\n      <Private>True</Private>\n      <Private>True</Private>\n    </Reference>\n    <Reference Include=\"System.Numerics\" />\n    <Reference Include=\"System.Numerics.Vectors, Version=4.1.4.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL\">\n      <HintPath>..\\..\\..\\packages\\System.Numerics.Vectors.4.5.0\\lib\\net46\\System.Numerics.Vectors.dll</HintPath>\n    </Reference>\n    <Reference Include=\"System.Reflection, Version=4.1.1.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL\">\n      <HintPath>..\\..\\..\\packages\\System.Reflection.4.3.0\\lib\\net462\\System.Reflection.dll</HintPath>\n      <Private>True</Private>\n      <Private>True</Private>\n    </Reference>\n    <Reference Include=\"System.Runtime, Version=4.1.1.1, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL\">\n      <HintPath>..\\..\\..\\packages\\System.Runtime.4.3.1\\lib\\net462\\System.Runtime.dll</HintPath>\n      <Private>True</Private>\n      <Private>True</Private>\n    </Reference>\n    <Reference Include=\"System.Runtime.CompilerServices.Unsafe, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL\">\n      <HintPath>..\\..\\..\\packages\\System.Runtime.CompilerServices.Unsafe.6.0.0\\lib\\net461\\System.Runtime.CompilerServices.Unsafe.dll</HintPath>\n    </Reference>\n    <Reference Include=\"System.Runtime.Extensions, Version=4.1.1.1, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL\">\n      <HintPath>..\\..\\..\\packages\\System.Runtime.Extensions.4.3.1\\lib\\net462\\System.Runtime.Extensions.dll</HintPath>\n      <Private>True</Private>\n      <Private>True</Private>\n    </Reference>\n    <Reference Include=\"System.Runtime.InteropServices, Version=4.1.1.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL\">\n      <HintPath>..\\..\\..\\packages\\System.Runtime.InteropServices.4.3.0\\lib\\net463\\System.Runtime.InteropServices.dll</HintPath>\n      <Private>True</Private>\n      <Private>True</Private>\n    </Reference>\n    <Reference Include=\"System.Runtime.InteropServices.RuntimeInformation, Version=4.0.1.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL\">\n      <HintPath>..\\..\\..\\packages\\System.Runtime.InteropServices.RuntimeInformation.4.3.0\\lib\\net45\\System.Runtime.InteropServices.RuntimeInformation.dll</HintPath>\n      <Private>True</Private>\n      <Private>True</Private>\n    </Reference>\n    <Reference Include=\"System.Runtime.Serialization\" />\n    <Reference Include=\"System.Runtime.Serialization.Primitives, Version=4.1.2.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL\">\n      <HintPath>..\\..\\..\\packages\\System.Runtime.Serialization.Primitives.4.3.0\\lib\\net46\\System.Runtime.Serialization.Primitives.dll</HintPath>\n      <Private>True</Private>\n      <Private>True</Private>\n    </Reference>\n    <Reference Include=\"System.Security\" />\n    <Reference Include=\"System.Security.AccessControl, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL\">\n      <HintPath>..\\..\\..\\packages\\System.Security.AccessControl.6.0.0\\lib\\net461\\System.Security.AccessControl.dll</HintPath>\n    </Reference>\n    <Reference Include=\"System.Security.Cryptography.Algorithms, Version=4.2.1.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL\">\n      <HintPath>..\\..\\..\\packages\\System.Security.Cryptography.Algorithms.4.3.1\\lib\\net463\\System.Security.Cryptography.Algorithms.dll</HintPath>\n      <Private>True</Private>\n      <Private>True</Private>\n    </Reference>\n    <Reference Include=\"System.Security.Cryptography.Encoding, Version=4.0.1.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL\">\n      <HintPath>..\\..\\..\\packages\\System.Security.Cryptography.Encoding.4.3.0\\lib\\net46\\System.Security.Cryptography.Encoding.dll</HintPath>\n      <Private>True</Private>\n      <Private>True</Private>\n    </Reference>\n    <Reference Include=\"System.Security.Cryptography.Primitives, Version=4.0.1.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL\">\n      <HintPath>..\\..\\..\\packages\\System.Security.Cryptography.Primitives.4.3.0\\lib\\net46\\System.Security.Cryptography.Primitives.dll</HintPath>\n      <Private>True</Private>\n      <Private>True</Private>\n    </Reference>\n    <Reference Include=\"System.Security.Cryptography.X509Certificates, Version=4.1.1.2, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL\">\n      <HintPath>..\\..\\..\\packages\\System.Security.Cryptography.X509Certificates.4.3.2\\lib\\net461\\System.Security.Cryptography.X509Certificates.dll</HintPath>\n      <Private>True</Private>\n      <Private>True</Private>\n    </Reference>\n    <Reference Include=\"System.Security.Permissions, Version=6.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL\">\n      <HintPath>..\\..\\..\\packages\\System.Security.Permissions.6.0.0\\lib\\net461\\System.Security.Permissions.dll</HintPath>\n    </Reference>\n    <Reference Include=\"System.Security.Principal.Windows, Version=5.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL\">\n      <HintPath>..\\..\\..\\packages\\System.Security.Principal.Windows.5.0.0\\lib\\net461\\System.Security.Principal.Windows.dll</HintPath>\n    </Reference>\n    <Reference Include=\"System.ServiceProcess\" />\n    <Reference Include=\"System.Text.RegularExpressions, Version=4.1.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL\">\n      <HintPath>..\\..\\..\\packages\\System.Text.RegularExpressions.4.3.1\\lib\\net463\\System.Text.RegularExpressions.dll</HintPath>\n      <Private>True</Private>\n      <Private>True</Private>\n    </Reference>\n    <Reference Include=\"System.Threading.Tasks.Extensions, Version=4.2.0.1, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL\">\n      <HintPath>..\\..\\..\\packages\\System.Threading.Tasks.Extensions.4.5.4\\lib\\net461\\System.Threading.Tasks.Extensions.dll</HintPath>\n    </Reference>\n    <Reference Include=\"System.Transactions\" />\n    <Reference Include=\"System.ValueTuple, Version=4.0.3.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL\">\n      <HintPath>..\\..\\..\\packages\\System.ValueTuple.4.5.0\\lib\\net47\\System.ValueTuple.dll</HintPath>\n    </Reference>\n    <Reference Include=\"System.Web\" />\n    <Reference Include=\"System.Xml\" />\n    <Reference Include=\"System.Xml.Linq\" />\n    <Reference Include=\"System.Xml.ReaderWriter, Version=4.1.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL\">\n      <HintPath>..\\..\\..\\packages\\System.Xml.ReaderWriter.4.3.1\\lib\\net46\\System.Xml.ReaderWriter.dll</HintPath>\n      <Private>True</Private>\n      <Private>True</Private>\n    </Reference>\n    <Reference Include=\"UAOOI.Common.Infrastructure, Version=6.4.6.0, Culture=neutral, PublicKeyToken=deede3c2df331bb0, processorArchitecture=MSIL\">\n      <HintPath>..\\..\\..\\packages\\UAOOI.Common.Infrastructure.6.4.7\\lib\\netstandard2.0\\UAOOI.Common.Infrastructure.dll</HintPath>\n    </Reference>\n    <Reference Include=\"WindowsBase\" />\n  </ItemGroup>\n  <Import Project=\"$(VSToolsPath)\\TeamTest\\Microsoft.TestTools.targets\" Condition=\"Exists('$(VSToolsPath)\\TeamTest\\Microsoft.TestTools.targets')\" />\n  <Import Project=\"$(MSBuildToolsPath)\\Microsoft.CSharp.targets\" />\n  <Target Name=\"EnsureNuGetPackageBuildImports\" BeforeTargets=\"PrepareForBuild\">\n    <PropertyGroup>\n      <ErrorText>This project references NuGet package(s) that are missing on this computer. Use NuGet Package Restore to download them.  For more information, see http://go.microsoft.com/fwlink/?LinkID=322105. The missing file is {0}.</ErrorText>\n    </PropertyGroup>\n    <Error Condition=\"!Exists('..\\..\\..\\packages\\NETStandard.Library.2.0.3\\build\\netstandard2.0\\NETStandard.Library.targets')\" Text=\"$([System.String]::Format('$(ErrorText)', '..\\..\\..\\packages\\NETStandard.Library.2.0.3\\build\\netstandard2.0\\NETStandard.Library.targets'))\" />\n    <Error Condition=\"!Exists('..\\..\\..\\packages\\MSTest.TestAdapter.2.2.10\\build\\net46\\MSTest.TestAdapter.props')\" Text=\"$([System.String]::Format('$(ErrorText)', '..\\..\\..\\packages\\MSTest.TestAdapter.2.2.10\\build\\net46\\MSTest.TestAdapter.props'))\" />\n    <Error Condition=\"!Exists('..\\..\\..\\packages\\MSTest.TestAdapter.2.2.10\\build\\net46\\MSTest.TestAdapter.targets')\" Text=\"$([System.String]::Format('$(ErrorText)', '..\\..\\..\\packages\\MSTest.TestAdapter.2.2.10\\build\\net46\\MSTest.TestAdapter.targets'))\" />\n    <Error Condition=\"!Exists('..\\..\\..\\packages\\Microsoft.Extensions.Logging.Abstractions.6.0.1\\build\\Microsoft.Extensions.Logging.Abstractions.targets')\" Text=\"$([System.String]::Format('$(ErrorText)', '..\\..\\..\\packages\\Microsoft.Extensions.Logging.Abstractions.6.0.1\\build\\Microsoft.Extensions.Logging.Abstractions.targets'))\" />\n  </Target>\n  <Import Project=\"..\\..\\..\\packages\\NETStandard.Library.2.0.3\\build\\netstandard2.0\\NETStandard.Library.targets\" Condition=\"Exists('..\\..\\..\\packages\\NETStandard.Library.2.0.3\\build\\netstandard2.0\\NETStandard.Library.targets')\" />\n  <Import Project=\"..\\..\\..\\packages\\MSTest.TestAdapter.2.2.10\\build\\net46\\MSTest.TestAdapter.targets\" Condition=\"Exists('..\\..\\..\\packages\\MSTest.TestAdapter.2.2.10\\build\\net46\\MSTest.TestAdapter.targets')\" />\n  <Import Project=\"..\\..\\..\\packages\\Microsoft.Extensions.Logging.Abstractions.6.0.1\\build\\Microsoft.Extensions.Logging.Abstractions.targets\" Condition=\"Exists('..\\..\\..\\packages\\Microsoft.Extensions.Logging.Abstractions.6.0.1\\build\\Microsoft.Extensions.Logging.Abstractions.targets')\" />\n</Project>"
  },
  {
    "path": "Networking/DataRepository/AzureGatewayUnitTest/PartBindingFactoryUnit.cs",
    "content": "﻿//___________________________________________________________________________________\n//\n//  Copyright (C) 2020, Mariusz Postol LODZ POLAND.\n//\n//  To be in touch join the community at GITTER: https://gitter.im/mpostol/OPC-UA-OOI\n//___________________________________________________________________________________\n\nusing Microsoft.VisualStudio.TestTools.UnitTesting;\nusing System;\nusing System.Collections.Generic;\nusing System.Diagnostics;\nusing System.Diagnostics.Tracing;\nusing System.Linq;\nusing UAOOI.Configuration.Networking.Serialization;\nusing UAOOI.Networking.DataRepository.AzureGateway.Diagnostic;\nusing UAOOI.Networking.SemanticData.DataRepository;\n\nnamespace UAOOI.Networking.DataRepository.AzureGateway.Test\n{\n  [TestClass]\n  public class PartBindingFactoryUnit\n  {\n    [TestMethod]\n    public void ConstructorTest()\n    {\n      PartBindingFactory _newInstance = new PartBindingFactory();\n      Assert.ThrowsException<KeyNotFoundException>(() => _newInstance.GetDTO(\"random name\"));\n    }\n\n    [TestMethod]\n    public void GetConsumerBindingSerializationTest()\n    {\n      using (AzureGatewaySemanticEventSource log = AzureGatewaySemanticEventSource.Log())\n      using (EventListener lisner = new EventListener())\n      {\n        //setup log instrumentation\n        List<EventWrittenEventArgs> eventsList = new List<EventWrittenEventArgs>();\n        lisner.EventWritten += (source, entry) => eventsList.Add(entry);\n        Assert.AreEqual<int>(0, eventsList.Count);\n        lisner.EnableEvents(log, EventLevel.LogAlways, EventKeywords.All);\n\n        PartBindingFactory newInstance = new PartBindingFactory();\n        string repositoryName = \"RepositoryGroup -tHttp1 -dAzureDeviceId -sAzureScopeId -pAzurePrimaryKey -kAzureSecondaryKey -i2000\";\n        IConsumerBinding binding = newInstance.GetConsumerBinding(repositoryName, \"processValueName\", new UATypeInfo(BuiltInType.String));\n        Assert.IsNotNull(binding);\n        binding.Assign2Repository(\"New value\");\n        string dto = newInstance.GetDTO(repositoryName);\n        Debug.Write(dto);\n        Assert.AreEqual<int>(32, dto.Length);\n        Assert.AreEqual<string>(\"{\\\"processValueName\\\":\\\"New value\\\"}\", dto);\n        Assert.AreEqual<int>(2, eventsList.Count);\n        EventWrittenEventArgs eventArgs = eventsList[0];\n        Assert.AreEqual<string>(nameof(AzureGatewaySemanticEventSource.EnteringMethodBinding), eventArgs.EventName);\n        Assert.AreEqual<string>(\"Entering method PartBindingFactory.GetConsumerBinding\", String.Format(eventArgs.Message, eventArgs.Payload.Select<object, string>(x => x.ToString()).ToArray<string>()));\n        eventArgs = eventsList[1];\n        Assert.AreEqual<string>(nameof(AzureGatewaySemanticEventSource.EnteringMethodBinding), eventArgs.EventName);\n        Assert.AreEqual<string>(\"Entering method PartBindingFactory.GetDTO\", String.Format(eventArgs.Message, eventArgs.Payload.Select<object, string>(x => x.ToString()).ToArray<string>()));\n      }\n    }\n\n    [TestMethod]\n    public void GetProducerBindingTest()\n    {\n      using (AzureGatewaySemanticEventSource log = AzureGatewaySemanticEventSource.Log())\n      using (EventListener lisner = new EventListener())\n      {\n        //setup log instrumentation\n        List<EventWrittenEventArgs> eventsList = new List<EventWrittenEventArgs>();\n        lisner.EventWritten += (source, entry) => eventsList.Add(entry);\n        Assert.AreEqual<int>(0, eventsList.Count);\n        lisner.EnableEvents(log, EventLevel.LogAlways, EventKeywords.All);\n        //start testing\n        PartBindingFactory newInstance = new PartBindingFactory();\n        Assert.ThrowsException<NotImplementedException>(() => newInstance.GetProducerBinding(\"any repository random name\", \"any process variable random name\", new UATypeInfo(BuiltInType.String)));\n        //examine the results\n        Assert.AreEqual<int>(1, eventsList.Count);\n        EventWrittenEventArgs eventArgs = eventsList[0];\n        Assert.AreEqual<string>(nameof(AzureGatewaySemanticEventSource.EnteringMethodBinding), eventArgs.EventName);\n        Assert.AreEqual<string>(\"Entering method PartBindingFactory.GetProducerBinding\", String.Format(eventArgs.Message, eventArgs.Payload.Select<object, string>(x => x.ToString()).ToArray<string>()));\n      }\n    }\n  }\n}"
  },
  {
    "path": "Networking/DataRepository/AzureGatewayUnitTest/PartConfigurationFactoryUnitTest.cs",
    "content": "﻿//___________________________________________________________________________________\n//\n//  Copyright (C) 2021, Mariusz Postol LODZ POLAND.\n//\n//  To be in touch join the community at GITTER: https://gitter.im/mpostol/OPC-UA-OOI\n//___________________________________________________________________________________\n\nusing Microsoft.Azure.Devices.Client;\nusing Microsoft.VisualStudio.TestTools.UnitTesting;\nusing System;\nusing System.IO;\nusing UAOOI.Configuration.Networking.Serialization;\nusing UAOOI.Networking.DataRepository.AzureGateway.AzureInterconnection;\n\nnamespace UAOOI.Networking.DataRepository.AzureGateway.Test\n{\n    [TestClass]\n    [DeploymentItem(@\".\\TestingData\\ConfigurationDataConsumer.BoilersSet.xml\", @\".\\\")]\n    public class PartConfigurationFactoryUnitTest\n    {\n        [TestMethod]\n        [ClassInitialize()]\n        public static void TestingData(TestContext context)\n        {\n            if (context is null)\n                throw new ArgumentNullException(nameof(context));\n            Assert.IsTrue(File.Exists(_ConfigurationFilePath));\n        }\n\n        [TestMethod]\n        public void Constructor()\n        {\n            PartConfigurationFactory configurationFactory = new PartConfigurationFactory(_ConfigurationFilePath);\n            Assert.IsNull(configurationFactory.Configuration);\n            ConfigurationData configuartion = configurationFactory.GetConfiguration();\n            Assert.IsNotNull(configuartion);\n            Assert.IsNotNull(configurationFactory.Configuration);\n            Assert.AreEqual<int>(4, configuartion.DataSets.Length);\n        }\n\n        [TestMethod]\n        public void RepositoryGroupTest()\n        {\n            PartConfigurationFactory configurationFactory = new PartConfigurationFactory(_ConfigurationFilePath);\n            ConfigurationData configuartion = configurationFactory.GetConfiguration();\n            Assert.AreEqual<string>(\"BoilersArea_Boiler_#1 -tHttp1 -dAzureDeviceId -sAzureScopeId -pAzurePrimaryKey -kAzureSecondaryKey -i2000\", configuartion.DataSets[0].RepositoryGroup);\n            AzureDeviceParameters instaneToTest = AzureDeviceParameters.ParseRepositoryGroup(configuartion.DataSets[0].RepositoryGroup);\n            Assert.IsNotNull(instaneToTest);\n            Assert.AreEqual<string>(\"AzureDeviceId\", instaneToTest.AzureDeviceId);\n            Assert.AreEqual<string>(\"AzurePrimaryKey\", instaneToTest.AzurePrimaryKey);\n            Assert.AreEqual<string>(\"AzureScopeId\", instaneToTest.AzureScopeId);\n            Assert.AreEqual<string>(\"AzureSecondaryKey\", instaneToTest.AzureSecondaryKey);\n            Assert.AreEqual<TimeSpan>(TimeSpan.FromSeconds(2.0), instaneToTest.PublishingInterval());\n            Assert.AreEqual<TransportType>(TransportType.Http1, instaneToTest.TransportType);\n            Assert.AreEqual<string>(\"BoilersArea_Boiler_#1\", instaneToTest.ResourceGroupName);\n        }\n\n        private const string _ConfigurationFilePath = @\".\\ConfigurationDataConsumer.BoilersSet.xml\";\n    }\n}"
  },
  {
    "path": "Networking/DataRepository/AzureGatewayUnitTest/PartDataManagementSetupUnitTest.cs",
    "content": "﻿//___________________________________________________________________________________\n//\n//  Copyright (C) 2020, Mariusz Postol LODZ POLAND.\n//\n//  To be in touch join the community at GITTER: https://gitter.im/mpostol/OPC-UA-OOI\n//___________________________________________________________________________________\n\nusing CommonServiceLocator;\nusing Microsoft.VisualStudio.TestTools.UnitTesting;\nusing Moq;\nusing System.IO;\nusing UAOOI.Common.Infrastructure.Diagnostic;\nusing UAOOI.Networking.Core;\nusing UAOOI.Networking.SemanticData;\n\nnamespace UAOOI.Networking.DataRepository.AzureGateway.Test\n{\n  [TestClass]\n  public class PartDataManagementSetupUnitTest\n  {\n    [TestMethod]\n    [DeploymentItem(@\"TestingData\\\")]\n    public void ConstructorTest()\n    {\n      Assert.IsTrue(File.Exists(@\"ConfigurationDataConsumer.BoilersSet.xml\"));\n      Mock<ServiceLocatorImplBase> serviceLocatorProviderMock = new Mock<ServiceLocatorImplBase>();\n      Mock<IEncodingFactory> encodingFactoryMock = new Mock<IEncodingFactory>();\n      Mock<IMessageHandlerFactory> messageHandlerFactoryMock = new Mock<IMessageHandlerFactory>();\n      Mock<ITraceSource> traceSource = new Mock<ITraceSource>();\n      serviceLocatorProviderMock.Setup(x => x.GetInstance<IEncodingFactory>()).Returns(encodingFactoryMock.Object);\n      serviceLocatorProviderMock.Setup(y => y.GetInstance<IMessageHandlerFactory>()).Returns(messageHandlerFactoryMock.Object);\n      serviceLocatorProviderMock.Setup(y => y.GetInstance<ITraceSource>()).Returns(traceSource.Object);\n      ServiceLocator.SetLocatorProvider(() => serviceLocatorProviderMock.Object);\n      bool _disposingFlag = false;\n      int _dosposingCount = 0;\n      PartDataManagementSetup.ConfigurationFilePath = @\"ConfigurationDataConsumer.BoilersSet.xml\";\n      using (PartDataManagementSetup _newInstance = new PartDataManagementSetup())\n      {\n        _newInstance.DisposeCheck(x => { _disposingFlag = x; _dosposingCount++; });\n        Assert.IsNotNull(_newInstance.BindingFactory);\n        Assert.IsNotNull(_newInstance.ConfigurationFactory);\n        Assert.IsInstanceOfType(_newInstance.ConfigurationFactory, typeof(PartConfigurationFactory));\n        Assert.IsNotNull(_newInstance.EncodingFactory);\n        Assert.AreSame(encodingFactoryMock.Object, _newInstance.EncodingFactory);\n        Assert.IsNotNull(_newInstance.MessageHandlerFactory);\n        Assert.AreSame(messageHandlerFactoryMock.Object, _newInstance.MessageHandlerFactory);\n        ServiceLocator.SetLocatorProvider(() => null);\n      }\n      Assert.AreEqual<int>(1, _dosposingCount);\n      Assert.IsTrue(_disposingFlag);\n    }\n  }\n}"
  },
  {
    "path": "Networking/DataRepository/AzureGatewayUnitTest/Properties/AssemblyInfo.cs",
    "content": "using System.Reflection;\nusing System.Runtime.CompilerServices;\nusing System.Runtime.InteropServices;\n\n[assembly: AssemblyTitle(\"AzureGatewayUnitTest\")]\n[assembly: AssemblyDescription(\"\")]\n[assembly: AssemblyConfiguration(\"\")]\n[assembly: AssemblyCompany(\"HP Inc.\")]\n[assembly: AssemblyProduct(\"AzureGatewayUnitTest\")]\n[assembly: AssemblyCopyright(\"Copyright © HP Inc. 2020\")]\n[assembly: AssemblyTrademark(\"\")]\n[assembly: AssemblyCulture(\"\")]\n\n[assembly: ComVisible(false)]\n\n[assembly: Guid(\"f7fdddcc-58c7-44e0-8de3-6a94e6222d03\")]\n\n// [assembly: AssemblyVersion(\"1.0.*\")]\n[assembly: AssemblyVersion(\"1.0.0.0\")]\n[assembly: AssemblyFileVersion(\"1.0.0.0\")]\n"
  },
  {
    "path": "Networking/DataRepository/AzureGatewayUnitTest/RepositoryGroupUnitTest.cs",
    "content": "﻿//___________________________________________________________________________________\n//\n//  Copyright (C) 2020, Mariusz Postol LODZ POLAND.\n//\n//  To be in touch join the community at GITTER: https://gitter.im/mpostol/OPC-UA-OOI\n//___________________________________________________________________________________\n\nusing Microsoft.VisualStudio.TestTools.UnitTesting;\nusing System;\nusing System.Collections.Generic;\nusing System.Diagnostics;\n\nnamespace UAOOI.Networking.DataRepository.AzureGateway.Test\n{\n  [TestClass]\n  public class RepositoryGroupUnitTest\n  {\n    [TestMethod]\n    public void ConstructorTest()\n    {\n      RepositoryGroup _itemToTest = new RepositoryGroup();\n      Assert.ThrowsException<NotImplementedException>(() => _itemToTest.Add(\"Key\", null));\n      Assert.ThrowsException<NotImplementedException>(() => _itemToTest.Add(new KeyValuePair<string, object>(\"Key\", null)));\n      Assert.ThrowsException<NotImplementedException>(() => _itemToTest.Clear());\n      Assert.ThrowsException<NotImplementedException>(() => _itemToTest.Remove(\"Random name\"));\n      Assert.IsNotNull(_itemToTest.GetEnumerator());\n      Assert.IsNotNull(_itemToTest.Keys);\n      Assert.AreEqual<int>(0, _itemToTest.Count);\n    }\n\n    [TestMethod]\n    public void GetConsumerBindingJsonSerializationTest()\n    {\n      RepositoryGroup _itemToTest = new RepositoryGroup();\n      string processValueName = \"processValueName\";\n      Action<String> updater = _itemToTest.AddProperty<string>(processValueName);\n      Assert.IsNotNull(updater);\n      Assert.AreEqual<int>(1, _itemToTest.Count);\n      Assert.AreEqual<string>(default(string), (string)_itemToTest[processValueName]);\n      updater(\"New value\");\n      Assert.AreEqual<string>(\"New value\", (string)_itemToTest[processValueName]);\n      string dto = _itemToTest.ToString();\n      Debug.Write(dto);\n      Assert.AreEqual<int>(32, dto.Length);\n      Assert.AreEqual<string>(\"{\\\"processValueName\\\":\\\"New value\\\"}\", dto);\n\n    }\n  }\n}"
  },
  {
    "path": "Networking/DataRepository/AzureGatewayUnitTest/TestingData/ConfigurationDataConsumer.BoilersSet.xml",
    "content": "﻿<ConfigurationData xmlns:i=\"http://www.w3.org/2001/XMLSchema-instance\" xmlns=\"http://commsvr.com/UAOOI/SemanticData/UANetworking/Configuration/Serialization.xsd\">\n  <DataSets>\n    <DataSetConfiguration>\n      <AssociationRole>Consumer</AssociationRole>\n      <AssociationName>BoilersArea_Boiler #1</AssociationName>\n      <RepositoryGroup>BoilersArea_Boiler_#1 -tHttp1 -dAzureDeviceId -sAzureScopeId -pAzurePrimaryKey -kAzureSecondaryKey -i2000</RepositoryGroup>\n      <InformationModelURI>http://commsvr.com/UA/Examples/BoilersSet</InformationModelURI>\n      <DataSymbolicName>BoilersArea_Boiler #1</DataSymbolicName>\n      <DataSet>\n        <DataMemberConfiguration>\n          <SymbolicName>CCX001_ControlOut</SymbolicName>\n          <ProcessValueName>CCX001_ControlOut</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>Double</BuiltInType>\n            <TypeName i:nil=\"true\" />\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>CCX001_Input1</SymbolicName>\n          <ProcessValueName>CCX001_Input1</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>Double</BuiltInType>\n            <TypeName i:nil=\"true\" />\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>CCX001_Input2</SymbolicName>\n          <ProcessValueName>CCX001_Input2</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>Double</BuiltInType>\n            <TypeName i:nil=\"true\" />\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>CCX001_Input3</SymbolicName>\n          <ProcessValueName>CCX001_Input3</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>Double</BuiltInType>\n            <TypeName i:nil=\"true\" />\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>DrumX001_LIX001_Output</SymbolicName>\n          <ProcessValueName>DrumX001_LIX001_Output</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>Double</BuiltInType>\n            <TypeName i:nil=\"true\" />\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>FCX001_ControlOut</SymbolicName>\n          <ProcessValueName>FCX001_ControlOut</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>Double</BuiltInType>\n            <TypeName i:nil=\"true\" />\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>FCX001_Measurement</SymbolicName>\n          <ProcessValueName>FCX001_Measurement</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>Double</BuiltInType>\n            <TypeName i:nil=\"true\" />\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>FCX001_SetPoint</SymbolicName>\n          <ProcessValueName>FCX001_SetPoint</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>Double</BuiltInType>\n            <TypeName i:nil=\"true\" />\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>PipeX001_FTX001_Output</SymbolicName>\n          <ProcessValueName>PipeX001_FTX001_Output</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>Double</BuiltInType>\n            <TypeName i:nil=\"true\" />\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>PipeX001_ValveX001_Input</SymbolicName>\n          <ProcessValueName>PipeX001_ValveX001_Input</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>Double</BuiltInType>\n            <TypeName i:nil=\"true\" />\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>LCX001_ControlOut</SymbolicName>\n          <ProcessValueName>LCX001_ControlOut</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>Double</BuiltInType>\n            <TypeName i:nil=\"true\" />\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>LCX001_Measurement</SymbolicName>\n          <ProcessValueName>LCX001_Measurement</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>Double</BuiltInType>\n            <TypeName i:nil=\"true\" />\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>LCX001_SetPoint</SymbolicName>\n          <ProcessValueName>LCX001_SetPoint</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>Double</BuiltInType>\n            <TypeName i:nil=\"true\" />\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>PipeX002_FTX002_Output</SymbolicName>\n          <ProcessValueName>PipeX002_FTX002_Output</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>Double</BuiltInType>\n            <TypeName i:nil=\"true\" />\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>Simulation_UpdateRate</SymbolicName>\n          <ProcessValueName>Simulation_UpdateRate</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>UInt32</BuiltInType>\n            <TypeName i:nil=\"true\" />\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n      </DataSet>\n      <Guid>e669df1f-3670-4dd4-9ef6-acb0975bf4f8</Guid>\n      <Root>\n        <BindingDescription>Binding Description</BindingDescription>\n        <q:DataType xmlns:d5p1=\"http://tempuri.org/UA/Examples/BoilerType\" xmlns:q=\"http://commsvr.com/UAOOI/SemanticData/UANetworking/Configuration/Serialization.xsd\">d5p1:BoilerType</q:DataType>\n        <q:NodeIdentifier xmlns:d5p1=\"http://commsvr.com/UA/Examples/BoilersSet\" xmlns:q=\"http://commsvr.com/UAOOI/SemanticData/UANetworking/Configuration/Serialization.xsd\">d5p1:BoilersArea_BoilerAlpha</q:NodeIdentifier>\n      </Root>\n      <PublishingInterval>100</PublishingInterval>\n      <MaxBufferTime>1000</MaxBufferTime>\n      <ConfigurationGuid>ec1d3d5b-c988-45da-9b6e-8d7f7d5c6089</ConfigurationGuid>\n      <ConfigurationVersion>\n        <MajorVersion>1</MajorVersion>\n        <MinorVersion>0</MinorVersion>\n      </ConfigurationVersion>\n    </DataSetConfiguration>\n    <DataSetConfiguration>\n      <AssociationRole>Consumer</AssociationRole>\n      <AssociationName>BoilersArea_Boiler #2</AssociationName>\n      <RepositoryGroup>BoilersArea_Boiler_#2  -tHttp1 -dAzureDeviceId -sAzureScopeId -pAzurePrimaryKey -kAzureSecondaryKey -i2000</RepositoryGroup>\n      <InformationModelURI>http://commsvr.com/UA/Examples/BoilersSet</InformationModelURI>\n      <DataSymbolicName>BoilersArea_Boiler #2</DataSymbolicName>\n      <DataSet>\n        <DataMemberConfiguration>\n          <SymbolicName>CCX001_ControlOut</SymbolicName>\n          <ProcessValueName>CCX001_ControlOut</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>Double</BuiltInType>\n            <TypeName i:nil=\"true\" />\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>CCX001_Input1</SymbolicName>\n          <ProcessValueName>CCX001_Input1</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>Double</BuiltInType>\n            <TypeName i:nil=\"true\" />\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>CCX001_Input2</SymbolicName>\n          <ProcessValueName>CCX001_Input2</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>Double</BuiltInType>\n            <TypeName i:nil=\"true\" />\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>CCX001_Input3</SymbolicName>\n          <ProcessValueName>CCX001_Input3</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>Double</BuiltInType>\n            <TypeName i:nil=\"true\" />\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>DrumX001_LIX001_Output</SymbolicName>\n          <ProcessValueName>DrumX001_LIX001_Output</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>Double</BuiltInType>\n            <TypeName i:nil=\"true\" />\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>FCX001_ControlOut</SymbolicName>\n          <ProcessValueName>FCX001_ControlOut</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>Double</BuiltInType>\n            <TypeName i:nil=\"true\" />\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>FCX001_Measurement</SymbolicName>\n          <ProcessValueName>FCX001_Measurement</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>Double</BuiltInType>\n            <TypeName i:nil=\"true\" />\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>FCX001_SetPoint</SymbolicName>\n          <ProcessValueName>FCX001_SetPoint</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>Double</BuiltInType>\n            <TypeName i:nil=\"true\" />\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>PipeX001_FTX001_Output</SymbolicName>\n          <ProcessValueName>PipeX001_FTX001_Output</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>Double</BuiltInType>\n            <TypeName i:nil=\"true\" />\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>PipeX001_ValveX001_Input</SymbolicName>\n          <ProcessValueName>PipeX001_ValveX001_Input</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>Double</BuiltInType>\n            <TypeName i:nil=\"true\" />\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>LCX001_ControlOut</SymbolicName>\n          <ProcessValueName>LCX001_ControlOut</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>Double</BuiltInType>\n            <TypeName i:nil=\"true\" />\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>LCX001_Measurement</SymbolicName>\n          <ProcessValueName>LCX001_Measurement</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>Double</BuiltInType>\n            <TypeName i:nil=\"true\" />\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>LCX001_SetPoint</SymbolicName>\n          <ProcessValueName>LCX001_SetPoint</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>Double</BuiltInType>\n            <TypeName i:nil=\"true\" />\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>PipeX002_FTX002_Output</SymbolicName>\n          <ProcessValueName>PipeX002_FTX002_Output</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>Double</BuiltInType>\n            <TypeName i:nil=\"true\" />\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>Simulation_UpdateRate</SymbolicName>\n          <ProcessValueName>Simulation_UpdateRate</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>UInt32</BuiltInType>\n            <TypeName i:nil=\"true\" />\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n      </DataSet>\n      <Guid>1f5c2bba-b5a7-44d2-93fe-b8736470ee54</Guid>\n      <Root>\n        <BindingDescription>Binding Description</BindingDescription>\n        <q:DataType xmlns:d5p1=\"http://tempuri.org/UA/Examples/BoilerType\" xmlns:q=\"http://commsvr.com/UAOOI/SemanticData/UANetworking/Configuration/Serialization.xsd\">d5p1:BoilerType</q:DataType>\n        <q:NodeIdentifier xmlns:d5p1=\"http://commsvr.com/UA/Examples/BoilersSet\" xmlns:q=\"http://commsvr.com/UAOOI/SemanticData/UANetworking/Configuration/Serialization.xsd\">d5p1:BoilersArea_BoilerBravo</q:NodeIdentifier>\n      </Root>\n      <PublishingInterval>100</PublishingInterval>\n      <MaxBufferTime>1000</MaxBufferTime>\n      <ConfigurationGuid>33b3a9b8-595c-4dd6-8915-489cd6057b5b</ConfigurationGuid>\n      <ConfigurationVersion>\n        <MajorVersion>1</MajorVersion>\n        <MinorVersion>0</MinorVersion>\n      </ConfigurationVersion>\n    </DataSetConfiguration>\n    <DataSetConfiguration>\n      <AssociationRole>Consumer</AssociationRole>\n      <AssociationName>BoilersArea_Boiler #3</AssociationName>\n      <RepositoryGroup>BoilersArea_Boiler_#3  -tHttp1 -dAzureDeviceId -sAzureScopeId -pAzurePrimaryKey -kAzureSecondaryKey -i2000</RepositoryGroup>\n      <InformationModelURI>http://commsvr.com/UA/Examples/BoilersSet</InformationModelURI>\n      <DataSymbolicName>BoilersArea_Boiler #3</DataSymbolicName>\n      <DataSet>\n        <DataMemberConfiguration>\n          <SymbolicName>CCX001_ControlOut</SymbolicName>\n          <ProcessValueName>CCX001_ControlOut</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>Double</BuiltInType>\n            <TypeName i:nil=\"true\" />\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>CCX001_Input1</SymbolicName>\n          <ProcessValueName>CCX001_Input1</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>Double</BuiltInType>\n            <TypeName i:nil=\"true\" />\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>CCX001_Input2</SymbolicName>\n          <ProcessValueName>CCX001_Input2</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>Double</BuiltInType>\n            <TypeName i:nil=\"true\" />\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>CCX001_Input3</SymbolicName>\n          <ProcessValueName>CCX001_Input3</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>Double</BuiltInType>\n            <TypeName i:nil=\"true\" />\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>DrumX001_LIX001_Output</SymbolicName>\n          <ProcessValueName>DrumX001_LIX001_Output</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>Double</BuiltInType>\n            <TypeName i:nil=\"true\" />\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>FCX001_ControlOut</SymbolicName>\n          <ProcessValueName>FCX001_ControlOut</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>Double</BuiltInType>\n            <TypeName i:nil=\"true\" />\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>FCX001_Measurement</SymbolicName>\n          <ProcessValueName>FCX001_Measurement</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>Double</BuiltInType>\n            <TypeName i:nil=\"true\" />\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>FCX001_SetPoint</SymbolicName>\n          <ProcessValueName>FCX001_SetPoint</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>Double</BuiltInType>\n            <TypeName i:nil=\"true\" />\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>PipeX001_FTX001_Output</SymbolicName>\n          <ProcessValueName>PipeX001_FTX001_Output</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>Double</BuiltInType>\n            <TypeName i:nil=\"true\" />\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>PipeX001_ValveX001_Input</SymbolicName>\n          <ProcessValueName>PipeX001_ValveX001_Input</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>Double</BuiltInType>\n            <TypeName i:nil=\"true\" />\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>LCX001_ControlOut</SymbolicName>\n          <ProcessValueName>LCX001_ControlOut</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>Double</BuiltInType>\n            <TypeName i:nil=\"true\" />\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>LCX001_Measurement</SymbolicName>\n          <ProcessValueName>LCX001_Measurement</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>Double</BuiltInType>\n            <TypeName i:nil=\"true\" />\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>LCX001_SetPoint</SymbolicName>\n          <ProcessValueName>LCX001_SetPoint</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>Double</BuiltInType>\n            <TypeName i:nil=\"true\" />\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>PipeX002_FTX002_Output</SymbolicName>\n          <ProcessValueName>PipeX002_FTX002_Output</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>Double</BuiltInType>\n            <TypeName i:nil=\"true\" />\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>Simulation_UpdateRate</SymbolicName>\n          <ProcessValueName>Simulation_UpdateRate</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>UInt32</BuiltInType>\n            <TypeName i:nil=\"true\" />\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n      </DataSet>\n      <Guid>096d553e-c1da-4ca4-9fcc-9d524fa3ca20</Guid>\n      <Root>\n        <BindingDescription>Binding Description</BindingDescription>\n        <q:DataType xmlns:d5p1=\"http://tempuri.org/UA/Examples/BoilerType\" xmlns:q=\"http://commsvr.com/UAOOI/SemanticData/UANetworking/Configuration/Serialization.xsd\">d5p1:BoilerType</q:DataType>\n        <q:NodeIdentifier xmlns:d5p1=\"http://commsvr.com/UA/Examples/BoilersSet\" xmlns:q=\"http://commsvr.com/UAOOI/SemanticData/UANetworking/Configuration/Serialization.xsd\">d5p1:BoilersArea_BoilerBravo</q:NodeIdentifier>\n      </Root>\n      <PublishingInterval>100</PublishingInterval>\n      <MaxBufferTime>1000</MaxBufferTime>\n      <ConfigurationGuid>ef63fda7-bb4a-400d-a5e9-517fae8e4ff6</ConfigurationGuid>\n      <ConfigurationVersion>\n        <MajorVersion>1</MajorVersion>\n        <MinorVersion>0</MinorVersion>\n      </ConfigurationVersion>\n    </DataSetConfiguration>\n    <DataSetConfiguration>\n      <AssociationRole>Consumer</AssociationRole>\n      <AssociationName>BoilersArea_Boiler #4</AssociationName>\n      <RepositoryGroup>BoilersArea_Boiler_#4  -tHttp1 -dAzureDeviceId -sAzureScopeId -pAzurePrimaryKey -kAzureSecondaryKey -i2000</RepositoryGroup>\n      <InformationModelURI>http://commsvr.com/UA/Examples/BoilersSet</InformationModelURI>\n      <DataSymbolicName>BoilersArea_Boiler #4</DataSymbolicName>\n      <DataSet>\n        <DataMemberConfiguration>\n          <SymbolicName>CCX001_ControlOut</SymbolicName>\n          <ProcessValueName>CCX001_ControlOut</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>Double</BuiltInType>\n            <TypeName i:nil=\"true\" />\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>CCX001_Input1</SymbolicName>\n          <ProcessValueName>CCX001_Input1</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>Double</BuiltInType>\n            <TypeName i:nil=\"true\" />\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>CCX001_Input2</SymbolicName>\n          <ProcessValueName>CCX001_Input2</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>Double</BuiltInType>\n            <TypeName i:nil=\"true\" />\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>CCX001_Input3</SymbolicName>\n          <ProcessValueName>CCX001_Input3</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>Double</BuiltInType>\n            <TypeName i:nil=\"true\" />\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>DrumX001_LIX001_Output</SymbolicName>\n          <ProcessValueName>DrumX001_LIX001_Output</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>Double</BuiltInType>\n            <TypeName i:nil=\"true\" />\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>FCX001_ControlOut</SymbolicName>\n          <ProcessValueName>FCX001_ControlOut</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>Double</BuiltInType>\n            <TypeName i:nil=\"true\" />\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>FCX001_Measurement</SymbolicName>\n          <ProcessValueName>FCX001_Measurement</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>Double</BuiltInType>\n            <TypeName i:nil=\"true\" />\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>FCX001_SetPoint</SymbolicName>\n          <ProcessValueName>FCX001_SetPoint</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>Double</BuiltInType>\n            <TypeName i:nil=\"true\" />\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>PipeX001_FTX001_Output</SymbolicName>\n          <ProcessValueName>PipeX001_FTX001_Output</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>Double</BuiltInType>\n            <TypeName i:nil=\"true\" />\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>PipeX001_ValveX001_Input</SymbolicName>\n          <ProcessValueName>PipeX001_ValveX001_Input</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>Double</BuiltInType>\n            <TypeName i:nil=\"true\" />\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>LCX001_ControlOut</SymbolicName>\n          <ProcessValueName>LCX001_ControlOut</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>Double</BuiltInType>\n            <TypeName i:nil=\"true\" />\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>LCX001_Measurement</SymbolicName>\n          <ProcessValueName>LCX001_Measurement</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>Double</BuiltInType>\n            <TypeName i:nil=\"true\" />\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>LCX001_SetPoint</SymbolicName>\n          <ProcessValueName>LCX001_SetPoint</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>Double</BuiltInType>\n            <TypeName i:nil=\"true\" />\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>PipeX002_FTX002_Output</SymbolicName>\n          <ProcessValueName>PipeX002_FTX002_Output</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>Double</BuiltInType>\n            <TypeName i:nil=\"true\" />\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>Simulation_UpdateRate</SymbolicName>\n          <ProcessValueName>Simulation_UpdateRate</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>UInt32</BuiltInType>\n            <TypeName i:nil=\"true\" />\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n      </DataSet>\n      <Guid>78e83ea4-aa0c-43e3-9449-3f2f195f2844</Guid>\n      <Root>\n        <BindingDescription>Binding Description</BindingDescription>\n        <q:DataType xmlns:d5p1=\"http://tempuri.org/UA/Examples/BoilerType\" xmlns:q=\"http://commsvr.com/UAOOI/SemanticData/UANetworking/Configuration/Serialization.xsd\">d5p1:BoilerType</q:DataType>\n        <q:NodeIdentifier xmlns:d5p1=\"http://commsvr.com/UA/Examples/BoilersSet\" xmlns:q=\"http://commsvr.com/UAOOI/SemanticData/UANetworking/Configuration/Serialization.xsd\">d5p1:BoilersArea_BoilerBravo</q:NodeIdentifier>\n      </Root>\n      <PublishingInterval>100</PublishingInterval>\n      <MaxBufferTime>1000</MaxBufferTime>\n      <ConfigurationGuid>3b3273c2-c5bc-468d-9c6b-97c6e2a5042d</ConfigurationGuid>\n      <ConfigurationVersion>\n        <MajorVersion>1</MajorVersion>\n        <MinorVersion>0</MinorVersion>\n      </ConfigurationVersion>\n    </DataSetConfiguration>\n  </DataSets>\n  <MessageHandlers>\n    <MessageHandlerConfiguration i:type=\"MessageReaderConfiguration\">\n      <Name>UDP</Name>\n      <Configuration>\n        <ChannelConfiguration>4840,False,127.0.0.1,True</ChannelConfiguration>\n      </Configuration>\n      <TransportRole>Consumer</TransportRole>\n      <ConsumerAssociationConfigurations>\n        <ConsumerAssociationConfiguration>\n          <AssociationName>BoilersArea_Boiler #1</AssociationName>\n          <DataSetWriterId>100</DataSetWriterId>\n          <PublisherId>d80d81dd-96e6-4560-850e-154f9181307c</PublisherId>\n        </ConsumerAssociationConfiguration>\n        <ConsumerAssociationConfiguration>\n          <AssociationName>BoilersArea_Boiler #2</AssociationName>\n          <DataSetWriterId>1202</DataSetWriterId>\n          <PublisherId>d80d81dd-96e6-4560-850e-154f9181307c</PublisherId>\n        </ConsumerAssociationConfiguration>\n        <ConsumerAssociationConfiguration>\n          <AssociationName>BoilersArea_Boiler #3</AssociationName>\n          <DataSetWriterId>130</DataSetWriterId>\n          <PublisherId>d80d81dd-96e6-4560-850e-154f9181307c</PublisherId>\n        </ConsumerAssociationConfiguration>\n        <ConsumerAssociationConfiguration>\n          <AssociationName>BoilersArea_Boiler #4</AssociationName>\n          <DataSetWriterId>140</DataSetWriterId>\n          <PublisherId>d80d81dd-96e6-4560-850e-154f9181307c</PublisherId>\n          <FieldEncoding>VariantFieldEncoding</FieldEncoding>\n        </ConsumerAssociationConfiguration>\n      </ConsumerAssociationConfigurations>\n    </MessageHandlerConfiguration>\n  </MessageHandlers>\n</ConfigurationData>"
  },
  {
    "path": "Networking/DataRepository/AzureGatewayUnitTest/app.config",
    "content": "﻿<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<configuration>\n  <runtime>\n    <assemblyBinding xmlns=\"urn:schemas-microsoft-com:asm.v1\">\n      <dependentAssembly>\n        <assemblyIdentity name=\"System.Threading.Tasks.Extensions\" publicKeyToken=\"cc7b13ffcd2ddd51\" culture=\"neutral\" />\n        <bindingRedirect oldVersion=\"0.0.0.0-4.2.0.1\" newVersion=\"4.2.0.1\" />\n      </dependentAssembly>\n      <dependentAssembly>\n        <assemblyIdentity name=\"System.Runtime.CompilerServices.Unsafe\" publicKeyToken=\"b03f5f7f11d50a3a\" culture=\"neutral\" />\n        <bindingRedirect oldVersion=\"0.0.0.0-6.0.0.0\" newVersion=\"6.0.0.0\" />\n      </dependentAssembly>\n      <dependentAssembly>\n        <assemblyIdentity name=\"Newtonsoft.Json\" publicKeyToken=\"30ad4fe6b2a6aeed\" culture=\"neutral\" />\n        <bindingRedirect oldVersion=\"0.0.0.0-13.0.0.0\" newVersion=\"13.0.0.0\" />\n      </dependentAssembly>\n      <dependentAssembly>\n        <assemblyIdentity name=\"Microsoft.Extensions.Logging.Abstractions\" publicKeyToken=\"adb9793829ddae60\" culture=\"neutral\" />\n        <bindingRedirect oldVersion=\"0.0.0.0-6.0.0.1\" newVersion=\"6.0.0.1\" />\n      </dependentAssembly>\n      <dependentAssembly>\n        <assemblyIdentity name=\"Microsoft.Extensions.Logging\" publicKeyToken=\"adb9793829ddae60\" culture=\"neutral\" />\n        <bindingRedirect oldVersion=\"0.0.0.0-6.0.0.0\" newVersion=\"6.0.0.0\" />\n      </dependentAssembly>\n      <dependentAssembly>\n        <assemblyIdentity name=\"System.Collections.Immutable\" publicKeyToken=\"b03f5f7f11d50a3a\" culture=\"neutral\" />\n        <bindingRedirect oldVersion=\"0.0.0.0-6.0.0.0\" newVersion=\"6.0.0.0\" />\n      </dependentAssembly>\n      <dependentAssembly>\n        <assemblyIdentity name=\"System.Memory\" publicKeyToken=\"cc7b13ffcd2ddd51\" culture=\"neutral\" />\n        <bindingRedirect oldVersion=\"0.0.0.0-4.0.1.2\" newVersion=\"4.0.1.2\" />\n      </dependentAssembly>\n      <dependentAssembly>\n        <assemblyIdentity name=\"System.ValueTuple\" publicKeyToken=\"cc7b13ffcd2ddd51\" culture=\"neutral\" />\n        <bindingRedirect oldVersion=\"0.0.0.0-4.0.3.0\" newVersion=\"4.0.3.0\" />\n      </dependentAssembly>\n      <dependentAssembly>\n        <assemblyIdentity name=\"Microsoft.Azure.KeyVault.Core\" publicKeyToken=\"31bf3856ad364e35\" culture=\"neutral\" />\n        <bindingRedirect oldVersion=\"0.0.0.0-3.0.5.0\" newVersion=\"3.0.5.0\" />\n      </dependentAssembly>\n      <dependentAssembly>\n        <assemblyIdentity name=\"Microsoft.Azure.Devices.Shared\" publicKeyToken=\"31bf3856ad364e35\" culture=\"neutral\" />\n        <bindingRedirect oldVersion=\"0.0.0.0-1.25.1.0\" newVersion=\"1.25.1.0\" />\n      </dependentAssembly>\n      <dependentAssembly>\n        <assemblyIdentity name=\"Microsoft.Extensions.Primitives\" publicKeyToken=\"adb9793829ddae60\" culture=\"neutral\" />\n        <bindingRedirect oldVersion=\"0.0.0.0-5.0.0.1\" newVersion=\"5.0.0.1\" />\n      </dependentAssembly>\n      <dependentAssembly>\n        <assemblyIdentity name=\"Microsoft.Extensions.Configuration.Abstractions\" publicKeyToken=\"adb9793829ddae60\" culture=\"neutral\" />\n        <bindingRedirect oldVersion=\"0.0.0.0-3.1.8.0\" newVersion=\"3.1.8.0\" />\n      </dependentAssembly>\n      <dependentAssembly>\n        <assemblyIdentity name=\"Microsoft.Extensions.DependencyInjection.Abstractions\" publicKeyToken=\"adb9793829ddae60\" culture=\"neutral\" />\n        <bindingRedirect oldVersion=\"0.0.0.0-3.1.8.0\" newVersion=\"3.1.8.0\" />\n      </dependentAssembly>\n      <dependentAssembly>\n        <assemblyIdentity name=\"Microsoft.Extensions.Options\" publicKeyToken=\"adb9793829ddae60\" culture=\"neutral\" />\n        <bindingRedirect oldVersion=\"0.0.0.0-3.1.8.0\" newVersion=\"3.1.8.0\" />\n      </dependentAssembly>\n      <dependentAssembly>\n        <assemblyIdentity name=\"Microsoft.Extensions.DependencyInjection\" publicKeyToken=\"adb9793829ddae60\" culture=\"neutral\" />\n        <bindingRedirect oldVersion=\"0.0.0.0-5.0.0.2\" newVersion=\"5.0.0.2\" />\n      </dependentAssembly>\n      <dependentAssembly>\n        <assemblyIdentity name=\"CommonServiceLocator\" publicKeyToken=\"489b6accfaf20ef0\" culture=\"neutral\" />\n        <bindingRedirect oldVersion=\"0.0.0.0-2.0.6.0\" newVersion=\"2.0.6.0\" />\n      </dependentAssembly>\n      <dependentAssembly>\n        <assemblyIdentity name=\"UAOOI.Common.Infrastructure\" publicKeyToken=\"deede3c2df331bb0\" culture=\"neutral\" />\n        <bindingRedirect oldVersion=\"0.0.0.0-4.0.2.0\" newVersion=\"4.0.2.0\" />\n      </dependentAssembly>\n      <dependentAssembly>\n        <assemblyIdentity name=\"System.Diagnostics.DiagnosticSource\" publicKeyToken=\"cc7b13ffcd2ddd51\" culture=\"neutral\" />\n        <bindingRedirect oldVersion=\"0.0.0.0-5.0.0.1\" newVersion=\"5.0.0.1\" />\n      </dependentAssembly>\n      <dependentAssembly>\n        <assemblyIdentity name=\"DotNetty.Transport\" publicKeyToken=\"bc13ca065fa06c29\" culture=\"neutral\" />\n        <bindingRedirect oldVersion=\"0.0.0.0-0.7.2.0\" newVersion=\"0.7.2.0\" />\n      </dependentAssembly>\n      <dependentAssembly>\n        <assemblyIdentity name=\"DotNetty.Buffers\" publicKeyToken=\"bc13ca065fa06c29\" culture=\"neutral\" />\n        <bindingRedirect oldVersion=\"0.0.0.0-0.7.2.0\" newVersion=\"0.7.2.0\" />\n      </dependentAssembly>\n      <dependentAssembly>\n        <assemblyIdentity name=\"DotNetty.Codecs.Mqtt\" publicKeyToken=\"bc13ca065fa06c29\" culture=\"neutral\" />\n        <bindingRedirect oldVersion=\"0.0.0.0-0.7.2.0\" newVersion=\"0.7.2.0\" />\n      </dependentAssembly>\n      <dependentAssembly>\n        <assemblyIdentity name=\"DotNetty.Common\" publicKeyToken=\"bc13ca065fa06c29\" culture=\"neutral\" />\n        <bindingRedirect oldVersion=\"0.0.0.0-0.7.2.0\" newVersion=\"0.7.2.0\" />\n      </dependentAssembly>\n      <dependentAssembly>\n        <assemblyIdentity name=\"DotNetty.Handlers\" publicKeyToken=\"bc13ca065fa06c29\" culture=\"neutral\" />\n        <bindingRedirect oldVersion=\"0.0.0.0-0.7.2.0\" newVersion=\"0.7.2.0\" />\n      </dependentAssembly>\n      <dependentAssembly>\n        <assemblyIdentity name=\"Castle.Core\" publicKeyToken=\"407dd0808d44fbdc\" culture=\"neutral\" />\n        <bindingRedirect oldVersion=\"0.0.0.0-5.0.0.0\" newVersion=\"5.0.0.0\" />\n      </dependentAssembly>\n    </assemblyBinding>\n  </runtime>\n</configuration>"
  },
  {
    "path": "Networking/DataRepository/AzureGatewayUnitTest/packages.config",
    "content": "﻿<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<packages>\n  <package id=\"Castle.Core\" version=\"5.0.0\" targetFramework=\"net472\" />\n  <package id=\"CommandLineParser\" version=\"2.9.1\" targetFramework=\"net472\" />\n  <package id=\"CommonServiceLocator\" version=\"2.0.6\" targetFramework=\"net472\" />\n  <package id=\"DotNetty.Buffers\" version=\"0.7.2\" targetFramework=\"net472\" />\n  <package id=\"DotNetty.Codecs\" version=\"0.7.2\" targetFramework=\"net472\" />\n  <package id=\"DotNetty.Codecs.Mqtt\" version=\"0.7.2\" targetFramework=\"net472\" />\n  <package id=\"DotNetty.Common\" version=\"0.7.2\" targetFramework=\"net472\" />\n  <package id=\"DotNetty.Handlers\" version=\"0.7.2\" targetFramework=\"net472\" />\n  <package id=\"DotNetty.Transport\" version=\"0.7.2\" targetFramework=\"net472\" />\n  <package id=\"Microsoft.Azure.Amqp\" version=\"2.5.12\" targetFramework=\"net472\" />\n  <package id=\"Microsoft.Azure.Devices.Client\" version=\"1.41.0\" targetFramework=\"net472\" />\n  <package id=\"Microsoft.Azure.Devices.Shared\" version=\"1.30.1\" targetFramework=\"net472\" />\n  <package id=\"Microsoft.Azure.KeyVault.Core\" version=\"3.0.5\" targetFramework=\"net472\" />\n  <package id=\"Microsoft.Bcl.AsyncInterfaces\" version=\"6.0.0\" targetFramework=\"net472\" />\n  <package id=\"Microsoft.CSharp\" version=\"4.7.0\" targetFramework=\"net472\" />\n  <package id=\"Microsoft.Extensions.Configuration\" version=\"6.0.1\" targetFramework=\"net472\" />\n  <package id=\"Microsoft.Extensions.Configuration.Abstractions\" version=\"6.0.0\" targetFramework=\"net472\" />\n  <package id=\"Microsoft.Extensions.Configuration.Binder\" version=\"6.0.0\" targetFramework=\"net472\" />\n  <package id=\"Microsoft.Extensions.DependencyInjection\" version=\"6.0.0\" targetFramework=\"net472\" />\n  <package id=\"Microsoft.Extensions.DependencyInjection.Abstractions\" version=\"6.0.0\" targetFramework=\"net472\" />\n  <package id=\"Microsoft.Extensions.Logging\" version=\"6.0.0\" targetFramework=\"net472\" />\n  <package id=\"Microsoft.Extensions.Logging.Abstractions\" version=\"6.0.1\" targetFramework=\"net472\" />\n  <package id=\"Microsoft.Extensions.Options\" version=\"6.0.0\" targetFramework=\"net472\" />\n  <package id=\"Microsoft.Extensions.Primitives\" version=\"6.0.0\" targetFramework=\"net472\" />\n  <package id=\"Microsoft.NETCore.Platforms\" version=\"6.0.5\" targetFramework=\"net472\" />\n  <package id=\"Microsoft.Rest.ClientRuntime\" version=\"2.3.24\" targetFramework=\"net472\" />\n  <package id=\"Microsoft.Rest.ClientRuntime.Azure\" version=\"3.3.19\" targetFramework=\"net472\" />\n  <package id=\"Microsoft.Win32.Primitives\" version=\"4.3.0\" targetFramework=\"net472\" />\n  <package id=\"Microsoft.Win32.Registry\" version=\"5.0.0\" targetFramework=\"net472\" />\n  <package id=\"Moq\" version=\"4.18.1\" targetFramework=\"net472\" />\n  <package id=\"MSTest.TestAdapter\" version=\"2.2.10\" targetFramework=\"net472\" />\n  <package id=\"MSTest.TestFramework\" version=\"2.2.10\" targetFramework=\"net472\" />\n  <package id=\"NETStandard.Library\" version=\"2.0.3\" targetFramework=\"net472\" />\n  <package id=\"Newtonsoft.Json\" version=\"13.0.1\" targetFramework=\"net472\" />\n  <package id=\"System.AppContext\" version=\"4.3.0\" targetFramework=\"net472\" />\n  <package id=\"System.Buffers\" version=\"4.5.1\" targetFramework=\"net472\" />\n  <package id=\"System.Collections\" version=\"4.3.0\" targetFramework=\"net472\" />\n  <package id=\"System.Collections.Concurrent\" version=\"4.3.0\" targetFramework=\"net472\" />\n  <package id=\"System.Collections.Immutable\" version=\"6.0.0\" targetFramework=\"net472\" />\n  <package id=\"System.ComponentModel\" version=\"4.3.0\" targetFramework=\"net472\" />\n  <package id=\"System.ComponentModel.Annotations\" version=\"5.0.0\" targetFramework=\"net472\" />\n  <package id=\"System.Configuration.ConfigurationManager\" version=\"6.0.0\" targetFramework=\"net472\" />\n  <package id=\"System.Console\" version=\"4.3.1\" targetFramework=\"net472\" />\n  <package id=\"System.Diagnostics.Debug\" version=\"4.3.0\" targetFramework=\"net472\" />\n  <package id=\"System.Diagnostics.DiagnosticSource\" version=\"6.0.0\" targetFramework=\"net472\" />\n  <package id=\"System.Diagnostics.Tools\" version=\"4.3.0\" targetFramework=\"net472\" />\n  <package id=\"System.Diagnostics.TraceSource\" version=\"4.3.0\" targetFramework=\"net472\" />\n  <package id=\"System.Diagnostics.Tracing\" version=\"4.3.0\" targetFramework=\"net472\" />\n  <package id=\"System.Globalization\" version=\"4.3.0\" targetFramework=\"net472\" />\n  <package id=\"System.Globalization.Calendars\" version=\"4.3.0\" targetFramework=\"net472\" />\n  <package id=\"System.IO\" version=\"4.3.0\" targetFramework=\"net472\" />\n  <package id=\"System.IO.Compression\" version=\"4.3.0\" targetFramework=\"net472\" />\n  <package id=\"System.IO.Compression.ZipFile\" version=\"4.3.0\" targetFramework=\"net472\" />\n  <package id=\"System.IO.FileSystem\" version=\"4.3.0\" targetFramework=\"net472\" />\n  <package id=\"System.IO.FileSystem.Primitives\" version=\"4.3.0\" targetFramework=\"net472\" />\n  <package id=\"System.Linq\" version=\"4.3.0\" targetFramework=\"net472\" />\n  <package id=\"System.Linq.Expressions\" version=\"4.3.0\" targetFramework=\"net472\" />\n  <package id=\"System.Memory\" version=\"4.5.5\" targetFramework=\"net472\" />\n  <package id=\"System.Net.Http\" version=\"4.3.4\" targetFramework=\"net472\" />\n  <package id=\"System.Net.Primitives\" version=\"4.3.1\" targetFramework=\"net472\" />\n  <package id=\"System.Net.Sockets\" version=\"4.3.0\" targetFramework=\"net472\" />\n  <package id=\"System.Net.WebSockets\" version=\"4.3.0\" targetFramework=\"net472\" />\n  <package id=\"System.Net.WebSockets.Client\" version=\"4.3.2\" targetFramework=\"net472\" />\n  <package id=\"System.Numerics.Vectors\" version=\"4.5.0\" targetFramework=\"net472\" />\n  <package id=\"System.ObjectModel\" version=\"4.3.0\" targetFramework=\"net472\" />\n  <package id=\"System.Reflection\" version=\"4.3.0\" targetFramework=\"net472\" />\n  <package id=\"System.Reflection.Extensions\" version=\"4.3.0\" targetFramework=\"net472\" />\n  <package id=\"System.Reflection.Primitives\" version=\"4.3.0\" targetFramework=\"net472\" />\n  <package id=\"System.Resources.ResourceManager\" version=\"4.3.0\" targetFramework=\"net472\" />\n  <package id=\"System.Runtime\" version=\"4.3.1\" targetFramework=\"net472\" />\n  <package id=\"System.Runtime.CompilerServices.Unsafe\" version=\"6.0.0\" targetFramework=\"net472\" />\n  <package id=\"System.Runtime.Extensions\" version=\"4.3.1\" targetFramework=\"net472\" />\n  <package id=\"System.Runtime.Handles\" version=\"4.3.0\" targetFramework=\"net472\" />\n  <package id=\"System.Runtime.InteropServices\" version=\"4.3.0\" targetFramework=\"net472\" />\n  <package id=\"System.Runtime.InteropServices.RuntimeInformation\" version=\"4.3.0\" targetFramework=\"net472\" />\n  <package id=\"System.Runtime.Numerics\" version=\"4.3.0\" targetFramework=\"net472\" />\n  <package id=\"System.Runtime.Serialization.Primitives\" version=\"4.3.0\" targetFramework=\"net472\" />\n  <package id=\"System.Security.AccessControl\" version=\"6.0.0\" targetFramework=\"net472\" />\n  <package id=\"System.Security.Cryptography.Algorithms\" version=\"4.3.1\" targetFramework=\"net472\" />\n  <package id=\"System.Security.Cryptography.Encoding\" version=\"4.3.0\" targetFramework=\"net472\" />\n  <package id=\"System.Security.Cryptography.Primitives\" version=\"4.3.0\" targetFramework=\"net472\" />\n  <package id=\"System.Security.Cryptography.X509Certificates\" version=\"4.3.2\" targetFramework=\"net472\" />\n  <package id=\"System.Security.Permissions\" version=\"6.0.0\" targetFramework=\"net472\" />\n  <package id=\"System.Security.Principal.Windows\" version=\"5.0.0\" targetFramework=\"net472\" />\n  <package id=\"System.Text.Encoding\" version=\"4.3.0\" targetFramework=\"net472\" />\n  <package id=\"System.Text.Encoding.Extensions\" version=\"4.3.0\" targetFramework=\"net472\" />\n  <package id=\"System.Text.RegularExpressions\" version=\"4.3.1\" targetFramework=\"net472\" />\n  <package id=\"System.Threading\" version=\"4.3.0\" targetFramework=\"net472\" />\n  <package id=\"System.Threading.Tasks\" version=\"4.3.0\" targetFramework=\"net472\" />\n  <package id=\"System.Threading.Tasks.Extensions\" version=\"4.5.4\" targetFramework=\"net472\" />\n  <package id=\"System.Threading.Timer\" version=\"4.3.0\" targetFramework=\"net472\" />\n  <package id=\"System.ValueTuple\" version=\"4.5.0\" targetFramework=\"net472\" />\n  <package id=\"System.Xml.ReaderWriter\" version=\"4.3.1\" targetFramework=\"net472\" />\n  <package id=\"System.Xml.XDocument\" version=\"4.3.0\" targetFramework=\"net472\" />\n  <package id=\"UAOOI.Common.Infrastructure\" version=\"6.4.7\" targetFramework=\"net472\" />\n  <package id=\"WindowsAzure.Storage\" version=\"9.3.3\" targetFramework=\"net472\" />\n</packages>"
  },
  {
    "path": "Networking/DataRepository/DataLogger/AssemblyInfo.cs",
    "content": "﻿using System.Reflection;\nusing System.Runtime.CompilerServices;\nusing System.Runtime.InteropServices;\n\n[assembly: AssemblyTrademark(\"\")]\n[assembly: AssemblyCulture(\"\")]\n[assembly: Guid(\"a5863757-f1fc-4f49-a984-a7d17ac3fb61\")]\n[assembly: InternalsVisibleTo(\n  \"UAOOI.Networking.ReferenceApplication.UnitTest, PublicKey=\" +\n    \"00240000048000009400000006020000002400005253413100040000010001005b97a0972ff6b13a\" +\n    \"8a9ff9c09503aea0e5e2fe29cb2275a0c0942182f4c3431814b6bc9a556d9fe0d7e7823439c1ba28\" +\n    \"521f6318e4c936c4461604ef668e9686c2021571b093e1bfba071b373bc56a07a3afdc120c5313d3\" +\n    \"9a935cda64b759f857ebb3db483641444a5347e1564f8ba6d4fad2f968d3caf9991a4fa6aa019ebe\"\n)]\n[assembly: InternalsVisibleTo(\n  \"UAOOI.Networking.DataRepository.DataLogger.UnitTest, PublicKey=\" +\n    \"00240000048000009400000006020000002400005253413100040000010001005b97a0972ff6b13a\" +\n    \"8a9ff9c09503aea0e5e2fe29cb2275a0c0942182f4c3431814b6bc9a556d9fe0d7e7823439c1ba28\" +\n    \"521f6318e4c936c4461604ef668e9686c2021571b093e1bfba071b373bc56a07a3afdc120c5313d3\" +\n    \"9a935cda64b759f857ebb3db483641444a5347e1564f8ba6d4fad2f968d3caf9991a4fa6aa019ebe\"\n)]"
  },
  {
    "path": "Networking/DataRepository/DataLogger/CompositionSettings.cs",
    "content": "﻿//___________________________________________________________________________________\n//\n//  Copyright (C) 2020, Mariusz Postol LODZ POLAND.\n//\n//  To be in touch join the community at GITTER: https://gitter.im/mpostol/OPC-UA-OOI\n//___________________________________________________________________________________\n\nnamespace UAOOI.Networking.DataRepository.DataLogger\n{\n  /// <summary>\n  /// Class ConsumerCompositionSettings - provides contracts to be used for composition\n  /// </summary>\n  public class ConsumerCompositionSettings\n  {\n    /// <summary>\n    /// The configuration file name contract name\n    /// </summary>\n    public const string ConfigurationFileNameContract = \"DataLogger.ConfigurationFileNameContract\";\n\n    /// <summary>\n    /// The view model contract name\n    /// </summary>\n    public const string ViewModelContract = \"ConsumerCompositionSettings.ConsumerViewModel\";\n  }\n}"
  },
  {
    "path": "Networking/DataRepository/DataLogger/ConfigurationDataConsumer.xml",
    "content": "﻿<ConfigurationData xmlns:i=\"http://www.w3.org/2001/XMLSchema-instance\" xmlns=\"http://commsvr.com/UAOOI/SemanticData/UANetworking/Configuration/Serialization.xsd\">\n  <DataSets>\n    <DataSetConfiguration>\n      <AssociationRole>Consumer</AssociationRole>\n      <AssociationName>Simple</AssociationName>\n      <RepositoryGroup>repositoryGroup</RepositoryGroup>\n      <InformationModelURI>https://github.com/mpostol/OPC-UA-OOI</InformationModelURI>\n      <DataSymbolicName>DataSymbolicName</DataSymbolicName>\n      <DataSet>\n        <DataMemberConfiguration>\n          <SymbolicName>BoolToggle</SymbolicName>\n          <ProcessValueName>BoolToggle</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>Boolean</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>ValueInt32</SymbolicName>\n          <ProcessValueName>ValueInt32</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>Int32</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>Int32Fast</SymbolicName>\n          <ProcessValueName>Int32Fast</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>Int32</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>ValueDateTime</SymbolicName>\n          <ProcessValueName>ValueDateTime</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>DateTime</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n      </DataSet>\n      <Guid>c1f53ffb-6552-4ccc-84c9-f847147cdc85</Guid>\n      <Root>\n        <q:NodeIdentifier xmlns:d5p1=\"NodeDescriptorNS\" xmlns:q=\"http://commsvr.com/UAOOI/SemanticData/UANetworking/Configuration/Serialization.xsd\">d5p1:NodeDescriptor</q:NodeIdentifier>\n      </Root>\n      <PublishingInterval>1000</PublishingInterval>\n      <MaxBufferTime>100</MaxBufferTime>\n      <ConfigurationGuid>1893991b-517c-4a5f-b8a4-1633d2a101c8</ConfigurationGuid>\n      <ConfigurationVersion>\n        <MajorVersion>1</MajorVersion>\n        <MinorVersion>0</MinorVersion>\n      </ConfigurationVersion>\n    </DataSetConfiguration>\n    <DataSetConfiguration>\n      <AssociationRole>Consumer</AssociationRole>\n      <AssociationName>AllTypes</AssociationName>\n      <RepositoryGroup>repositoryGroup</RepositoryGroup>\n      <InformationModelURI>https://github.com/mpostol/OPC-UA-OOI</InformationModelURI>\n      <DataSymbolicName>DataSymbolicName</DataSymbolicName>\n      <DataSet>\n        <DataMemberConfiguration>\n          <SymbolicName>ValueBoolean</SymbolicName>\n          <ProcessValueName>ValueBoolean</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>Boolean</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>ValueByte</SymbolicName>\n          <ProcessValueName>ValueByte</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>Byte</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>ValueInt16</SymbolicName>\n          <ProcessValueName>ValueInt16</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>Int16</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>ValueInt32</SymbolicName>\n          <ProcessValueName>ValueInt32</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>Int32</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>ValueInt64</SymbolicName>\n          <ProcessValueName>ValueInt64</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>Int64</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>ValueSByte</SymbolicName>\n          <ProcessValueName>ValueSByte</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>SByte</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>ValueUInt16</SymbolicName>\n          <ProcessValueName>ValueUInt16</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>UInt16</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>ValueUInt32</SymbolicName>\n          <ProcessValueName>ValueUInt32</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>UInt32</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>ValueUInt64</SymbolicName>\n          <ProcessValueName>ValueUInt64</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>UInt64</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>ValueFloat</SymbolicName>\n          <ProcessValueName>ValueFloat</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>Float</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>ValueDouble</SymbolicName>\n          <ProcessValueName>ValueDouble</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>Double</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>ValueString</SymbolicName>\n          <ProcessValueName>ValueString</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>String</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>ValueByteString</SymbolicName>\n          <ProcessValueName>ValueByteString</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>ByteString</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>ValueGuid</SymbolicName>\n          <ProcessValueName>ValueGuid</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>Guid</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>ValueDateTime</SymbolicName>\n          <ProcessValueName>ValueDateTime</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>DateTime</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>UInt32Array</SymbolicName>\n          <ProcessValueName>UInt32Array</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>UInt32</BuiltInType>\n            <ValueRank>1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n\n        <!--arrays all types out of scope -->\n        <!-- uncomment aas needed - all have been self tested\n        <DataMemberConfiguration>\n          <SymbolicName>ArrayBoolean</SymbolicName>\n          <ProcessValueName>ArrayBoolean</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>Boolean</BuiltInType>\n            <ValueRank>1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>ArrayByte</SymbolicName>\n          <ProcessValueName>ArrayByte</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>Byte</BuiltInType>\n            <ValueRank>1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>ArrayInt16</SymbolicName>\n          <ProcessValueName>ArrayInt16</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>Int16</BuiltInType>\n            <ValueRank>1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>ArrayInt32</SymbolicName>\n          <ProcessValueName>ArrayInt32</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>Int32</BuiltInType>\n            <ValueRank>1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>ArrayInt64</SymbolicName>\n          <ProcessValueName>ArrayInt64</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>Int64</BuiltInType>\n            <ValueRank>1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>ArraySByte</SymbolicName>\n          <ProcessValueName>ArraySByte</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>SByte</BuiltInType>\n            <ValueRank>1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>ArrayUInt16</SymbolicName>\n          <ProcessValueName>ArrayUInt16</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>UInt16</BuiltInType>\n            <ValueRank>1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>ArrayUInt32</SymbolicName>\n          <ProcessValueName>ArrayUInt32</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>UInt32</BuiltInType>\n            <ValueRank>1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>ArrayUInt64</SymbolicName>\n          <ProcessValueName>ArrayUInt64</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>UInt64</BuiltInType>\n            <ValueRank>1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>ArrayFloat</SymbolicName>\n          <ProcessValueName>ArrayFloat</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>Float</BuiltInType>\n            <ValueRank>1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>ArrayDouble</SymbolicName>\n          <ProcessValueName>ArrayDouble</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>Double</BuiltInType>\n            <ValueRank>1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>ArrayString</SymbolicName>\n          <ProcessValueName>ArrayString</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>String</BuiltInType>\n            <ValueRank>1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>ArrayByteString</SymbolicName>\n          <ProcessValueName>ArrayByteString</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>ByteString</BuiltInType>\n            <ValueRank>1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>ArrayGuid</SymbolicName>\n          <ProcessValueName>ArrayGuid</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>Guid</BuiltInType>\n            <ValueRank>1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>ArrayDateTime</SymbolicName>\n          <ProcessValueName>ArrayDateTime</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>DateTime</BuiltInType>\n            <ValueRank>1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n\n        -->\n        <!--out of scope-->\n\n      </DataSet>\n      <Guid>c1f53ffb-6552-4ccc-84c9-f847147cdc85</Guid>\n      <Root>\n        <q:NodeIdentifier xmlns:d5p1=\"NodeDescriptorNS\" xmlns:q=\"http://commsvr.com/UAOOI/SemanticData/UANetworking/Configuration/Serialization.xsd\">d5p1:NodeDescriptor</q:NodeIdentifier>\n      </Root>\n      <PublishingInterval>1000</PublishingInterval>\n      <MaxBufferTime>100</MaxBufferTime>\n      <ConfigurationGuid>D79E3F84-48AB-48A2-9055-DF589D19E824</ConfigurationGuid>\n      <ConfigurationVersion>\n        <MajorVersion>1</MajorVersion>\n        <MinorVersion>0</MinorVersion>\n      </ConfigurationVersion>\n    </DataSetConfiguration>\n    <DataSetConfiguration>\n      <AssociationRole>Consumer</AssociationRole>\n      <AssociationName>MassTest</AssociationName>\n      <RepositoryGroup>repositoryGroup</RepositoryGroup>\n      <InformationModelURI>https://github.com/mpostol/OPC-UA-OOI</InformationModelURI>\n      <DataSymbolicName>DataSymbolicName</DataSymbolicName>\n      <DataSet>\n        <DataMemberConfiguration>\n          <SymbolicName>MassTest_00</SymbolicName>\n          <ProcessValueName>MassTest_00</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>UInt32</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>MassTest_01</SymbolicName>\n          <ProcessValueName>MassTest_01</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>UInt32</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>MassTest_02</SymbolicName>\n          <ProcessValueName>MassTest_02</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>UInt32</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>MassTest_03</SymbolicName>\n          <ProcessValueName>MassTest_03</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>UInt32</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>MassTest_04</SymbolicName>\n          <ProcessValueName>MassTest_04</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>UInt32</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>MassTest_05</SymbolicName>\n          <ProcessValueName>MassTest_05</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>UInt32</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>MassTest_06</SymbolicName>\n          <ProcessValueName>MassTest_06</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>UInt32</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>MassTest_07</SymbolicName>\n          <ProcessValueName>MassTest_07</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>UInt32</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>MassTest_08</SymbolicName>\n          <ProcessValueName>MassTest_08</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>UInt32</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>MassTest_09</SymbolicName>\n          <ProcessValueName>MassTest_09</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>UInt32</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n\n        <DataMemberConfiguration>\n          <SymbolicName>MassTest_10</SymbolicName>\n          <ProcessValueName>MassTest_10</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>UInt32</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>MassTest_11</SymbolicName>\n          <ProcessValueName>MassTest_11</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>UInt32</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>MassTest_12</SymbolicName>\n          <ProcessValueName>MassTest_12</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>UInt32</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>MassTest_13</SymbolicName>\n          <ProcessValueName>MassTest_13</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>UInt32</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>MassTest_14</SymbolicName>\n          <ProcessValueName>MassTest_14</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>UInt32</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>MassTest_15</SymbolicName>\n          <ProcessValueName>MassTest_15</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>UInt32</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>MassTest_16</SymbolicName>\n          <ProcessValueName>MassTest_16</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>UInt32</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>MassTest_17</SymbolicName>\n          <ProcessValueName>MassTest_17</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>UInt32</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>MassTest_18</SymbolicName>\n          <ProcessValueName>MassTest_18</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>UInt32</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>MassTest_19</SymbolicName>\n          <ProcessValueName>MassTest_19</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>UInt32</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n\n        <DataMemberConfiguration>\n          <SymbolicName>MassTest_20</SymbolicName>\n          <ProcessValueName>MassTest_20</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>UInt32</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>MassTest_21</SymbolicName>\n          <ProcessValueName>MassTest_21</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>UInt32</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>MassTest_22</SymbolicName>\n          <ProcessValueName>MassTest_22</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>UInt32</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>MassTest_23</SymbolicName>\n          <ProcessValueName>MassTest_23</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>UInt32</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>MassTest_24</SymbolicName>\n          <ProcessValueName>MassTest_24</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>UInt32</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>MassTest_25</SymbolicName>\n          <ProcessValueName>MassTest_25</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>UInt32</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>MassTest_26</SymbolicName>\n          <ProcessValueName>MassTest_26</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>UInt32</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>MassTest_27</SymbolicName>\n          <ProcessValueName>MassTest_27</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>UInt32</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>MassTest_28</SymbolicName>\n          <ProcessValueName>MassTest_28</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>UInt32</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>MassTest_29</SymbolicName>\n          <ProcessValueName>MassTest_29</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>UInt32</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n\n        <DataMemberConfiguration>\n          <SymbolicName>MassTest_30</SymbolicName>\n          <ProcessValueName>MassTest_30</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>UInt32</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>MassTest_31</SymbolicName>\n          <ProcessValueName>MassTest_31</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>UInt32</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>MassTest_32</SymbolicName>\n          <ProcessValueName>MassTest_32</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>UInt32</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>MassTest_33</SymbolicName>\n          <ProcessValueName>MassTest_33</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>UInt32</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>MassTest_34</SymbolicName>\n          <ProcessValueName>MassTest_34</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>UInt32</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>MassTest_35</SymbolicName>\n          <ProcessValueName>MassTest_35</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>UInt32</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>MassTest_36</SymbolicName>\n          <ProcessValueName>MassTest_36</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>UInt32</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>MassTest_37</SymbolicName>\n          <ProcessValueName>MassTest_37</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>UInt32</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>MassTest_38</SymbolicName>\n          <ProcessValueName>MassTest_38</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>UInt32</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>MassTest_39</SymbolicName>\n          <ProcessValueName>MassTest_39</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>UInt32</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n\n        <DataMemberConfiguration>\n          <SymbolicName>MassTest_40</SymbolicName>\n          <ProcessValueName>MassTest_40</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>UInt32</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>MassTest_41</SymbolicName>\n          <ProcessValueName>MassTest_41</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>UInt32</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>MassTest_42</SymbolicName>\n          <ProcessValueName>MassTest_42</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>UInt32</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>MassTest_43</SymbolicName>\n          <ProcessValueName>MassTest_43</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>UInt32</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>MassTest_44</SymbolicName>\n          <ProcessValueName>MassTest_44</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>UInt32</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>MassTest_45</SymbolicName>\n          <ProcessValueName>MassTest_45</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>UInt32</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>MassTest_46</SymbolicName>\n          <ProcessValueName>MassTest_46</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>UInt32</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>MassTest_47</SymbolicName>\n          <ProcessValueName>MassTest_47</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>UInt32</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>MassTest_48</SymbolicName>\n          <ProcessValueName>MassTest_48</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>UInt32</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>MassTest_49</SymbolicName>\n          <ProcessValueName>MassTest_49</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>UInt32</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n\n        <DataMemberConfiguration>\n          <SymbolicName>MassTest_50</SymbolicName>\n          <ProcessValueName>MassTest_50</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>UInt32</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>MassTest_51</SymbolicName>\n          <ProcessValueName>MassTest_51</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>UInt32</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>MassTest_52</SymbolicName>\n          <ProcessValueName>MassTest_52</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>UInt32</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>MassTest_53</SymbolicName>\n          <ProcessValueName>MassTest_53</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>UInt32</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>MassTest_54</SymbolicName>\n          <ProcessValueName>MassTest_54</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>UInt32</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>MassTest_55</SymbolicName>\n          <ProcessValueName>MassTest_55</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>UInt32</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>MassTest_56</SymbolicName>\n          <ProcessValueName>MassTest_56</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>UInt32</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>MassTest_57</SymbolicName>\n          <ProcessValueName>MassTest_57</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>UInt32</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>MassTest_58</SymbolicName>\n          <ProcessValueName>MassTest_58</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>UInt32</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>MassTest_59</SymbolicName>\n          <ProcessValueName>MassTest_59</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>UInt32</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n\n        <DataMemberConfiguration>\n          <SymbolicName>MassTest_60</SymbolicName>\n          <ProcessValueName>MassTest_60</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>UInt32</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>MassTest_61</SymbolicName>\n          <ProcessValueName>MassTest_61</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>UInt32</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>MassTest_62</SymbolicName>\n          <ProcessValueName>MassTest_62</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>UInt32</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>MassTest_63</SymbolicName>\n          <ProcessValueName>MassTest_63</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>UInt32</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>MassTest_64</SymbolicName>\n          <ProcessValueName>MassTest_64</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>UInt32</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>MassTest_65</SymbolicName>\n          <ProcessValueName>MassTest_65</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>UInt32</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>MassTest_66</SymbolicName>\n          <ProcessValueName>MassTest_66</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>UInt32</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>MassTest_67</SymbolicName>\n          <ProcessValueName>MassTest_67</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>UInt32</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>MassTest_68</SymbolicName>\n          <ProcessValueName>MassTest_68</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>UInt32</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>MassTest_69</SymbolicName>\n          <ProcessValueName>MassTest_69</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>UInt32</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n\n        <DataMemberConfiguration>\n          <SymbolicName>MassTest_70</SymbolicName>\n          <ProcessValueName>MassTest_70</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>UInt32</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>MassTest_71</SymbolicName>\n          <ProcessValueName>MassTest_71</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>UInt32</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>MassTest_72</SymbolicName>\n          <ProcessValueName>MassTest_72</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>UInt32</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>MassTest_73</SymbolicName>\n          <ProcessValueName>MassTest_73</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>UInt32</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>MassTest_74</SymbolicName>\n          <ProcessValueName>MassTest_74</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>UInt32</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>MassTest_75</SymbolicName>\n          <ProcessValueName>MassTest_75</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>UInt32</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>MassTest_76</SymbolicName>\n          <ProcessValueName>MassTest_76</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>UInt32</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>MassTest_77</SymbolicName>\n          <ProcessValueName>MassTest_77</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>UInt32</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>MassTest_78</SymbolicName>\n          <ProcessValueName>MassTest_78</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>UInt32</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>MassTest_79</SymbolicName>\n          <ProcessValueName>MassTest_79</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>UInt32</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n\n        <DataMemberConfiguration>\n          <SymbolicName>MassTest_80</SymbolicName>\n          <ProcessValueName>MassTest_80</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>UInt32</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>MassTest_81</SymbolicName>\n          <ProcessValueName>MassTest_81</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>UInt32</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>MassTest_82</SymbolicName>\n          <ProcessValueName>MassTest_82</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>UInt32</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>MassTest_83</SymbolicName>\n          <ProcessValueName>MassTest_83</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>UInt32</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>MassTest_84</SymbolicName>\n          <ProcessValueName>MassTest_84</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>UInt32</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>MassTest_85</SymbolicName>\n          <ProcessValueName>MassTest_85</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>UInt32</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>MassTest_86</SymbolicName>\n          <ProcessValueName>MassTest_86</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>UInt32</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>MassTest_87</SymbolicName>\n          <ProcessValueName>MassTest_87</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>UInt32</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>MassTest_88</SymbolicName>\n          <ProcessValueName>MassTest_88</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>UInt32</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>MassTest_89</SymbolicName>\n          <ProcessValueName>MassTest_89</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>UInt32</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n\n        <DataMemberConfiguration>\n          <SymbolicName>MassTest_90</SymbolicName>\n          <ProcessValueName>MassTest_90</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>UInt32</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>MassTest_91</SymbolicName>\n          <ProcessValueName>MassTest_91</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>UInt32</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>MassTest_92</SymbolicName>\n          <ProcessValueName>MassTest_92</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>UInt32</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>MassTest_93</SymbolicName>\n          <ProcessValueName>MassTest_93</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>UInt32</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>MassTest_94</SymbolicName>\n          <ProcessValueName>MassTest_94</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>UInt32</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>MassTest_95</SymbolicName>\n          <ProcessValueName>MassTest_95</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>UInt32</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>MassTest_96</SymbolicName>\n          <ProcessValueName>MassTest_96</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>UInt32</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>MassTest_97</SymbolicName>\n          <ProcessValueName>MassTest_97</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>UInt32</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>MassTest_98</SymbolicName>\n          <ProcessValueName>MassTest_98</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>UInt32</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>MassTest_99</SymbolicName>\n          <ProcessValueName>MassTest_99</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>UInt32</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n\n      </DataSet>\n      <Guid>c1f53ffb-6552-4ccc-84c9-f847147cdc85</Guid>\n      <Root>\n        <q:NodeIdentifier xmlns:d5p1=\"NodeDescriptorNS\" xmlns:q=\"http://commsvr.com/UAOOI/SemanticData/UANetworking/Configuration/Serialization.xsd\">d5p1:NodeDescriptor</q:NodeIdentifier>\n      </Root>\n      <PublishingInterval>1000</PublishingInterval>\n      <MaxBufferTime>100</MaxBufferTime>\n      <ConfigurationGuid>C67E4D73-F46E-499C-991F-F86D0E1BEB00</ConfigurationGuid>\n      <ConfigurationVersion>\n        <MajorVersion>1</MajorVersion>\n        <MinorVersion>0</MinorVersion>\n      </ConfigurationVersion>\n    </DataSetConfiguration>\n  </DataSets>\n  <MessageHandlers>\n    <MessageHandlerConfiguration i:type=\"MessageReaderConfiguration\">\n      <Name>UDP</Name>\n      <Configuration>\n        <ChannelConfiguration>4840,False,239.255.255.1,True</ChannelConfiguration>\n      </Configuration>\n      <TransportRole>Consumer</TransportRole>\n      <ConsumerAssociationConfigurations>\n        <ConsumerAssociationConfiguration>\n          <AssociationName>Simple</AssociationName>\n          <DataSetWriterId>1</DataSetWriterId>\n          <PublisherId>d80d81dd-96e6-4560-850e-154f9181307c</PublisherId>\n        </ConsumerAssociationConfiguration>\n        <ConsumerAssociationConfiguration>\n          <AssociationName>AllTypes</AssociationName>\n          <DataSetWriterId>2</DataSetWriterId>\n          <PublisherId>d80d81dd-96e6-4560-850e-154f9181307c</PublisherId>\n        </ConsumerAssociationConfiguration>\n        <ConsumerAssociationConfiguration>\n          <AssociationName>MassTest</AssociationName>\n          <DataSetWriterId>3</DataSetWriterId>\n          <PublisherId>d80d81dd-96e6-4560-850e-154f9181307c</PublisherId>\n        </ConsumerAssociationConfiguration>\n      </ConsumerAssociationConfigurations>\n    </MessageHandlerConfiguration>\n  </MessageHandlers>\n</ConfigurationData>"
  },
  {
    "path": "Networking/DataRepository/DataLogger/ConfigurationFactory.cs",
    "content": "﻿//___________________________________________________________________________________\n//\n//  Copyright (C) 2020, Mariusz Postol LODZ POLAND.\n//\n//  To be in touch join the community at GITTER: https://gitter.im/mpostol/OPC-UA-OOI\n//___________________________________________________________________________________\n\nusing System;\nusing System.Diagnostics;\nusing UAOOI.Configuration.Networking;\nusing UAOOI.Configuration.Networking.Serialization;\nusing UAOOI.Networking.DataRepository.DataLogger.Diagnostic;\n\nnamespace UAOOI.Networking.DataRepository.DataLogger\n{\n  /// <summary>\n  /// Class ConsumerConfigurationFactory - provides implementation of the <see cref=\"ConfigurationFactoryBase{T}\" /> for the UA Data consumer.\n  /// Implements the <see cref=\"ConfigurationFactoryBase{T}\" />\n  /// </summary>\n  /// <seealso cref=\"ConfigurationFactoryBase{T}\" />\n  /// <remarks>In production environment it shall be replaced by reading a configuration file.</remarks>\n  internal class ConsumerConfigurationFactory : ConfigurationFactoryBase<ConfigurationData>\n  {\n    #region constructor\n\n    /// <summary>\n    /// Initializes a new instance of the <see cref=\"ConsumerConfigurationFactory\"/> class.\n    /// </summary>\n    public ConsumerConfigurationFactory(string configurationFileName) : base(configurationFileName)\n    {\n      _logger.EnteringMethodConfiguration();\n      //Simulator.Boiler.ProducerConfigurationFactory - review the configuration loading sequence #461\n      _logger.CreatingConfiguration(configurationFileName);\n    }\n\n    #endregion constructor\n\n    #region ConfigurationFactoryBase\n\n    /// <summary>\n    /// Occurs after the association configuration has been changed.\n    /// </summary>\n    public override event EventHandler<EventArgs> OnAssociationConfigurationChange;\n\n    /// <summary>\n    /// Occurs after the communication configuration has been changed.\n    /// </summary>\n    public override event EventHandler<EventArgs> OnMessageHandlerConfigurationChange;\n\n    protected override void RaiseEvents()\n    {\n      _logger.EnteringMethodConfiguration();\n      OnAssociationConfigurationChange?.Invoke(this, EventArgs.Empty);\n      OnMessageHandlerConfigurationChange?.Invoke(this, EventArgs.Empty);\n    }\n\n    protected override void TraceData(TraceEventType eventType, int id, object data)\n    {\n      _logger.TraceData(eventType.ToString(), id, data.ToString());\n    }\n\n    #endregion ConfigurationFactoryBase\n\n    #region private\n\n    private readonly DataLoggerEventSource _logger = DataLoggerEventSource.Log();\n\n    #endregion private\n  }\n}"
  },
  {
    "path": "Networking/DataRepository/DataLogger/ConsumerViewModell.cs",
    "content": "﻿//___________________________________________________________________________________\n//\n//  Copyright (C) 2020, Mariusz Postol LODZ POLAND.\n//\n//  To be in touch join the community at GITTER: https://gitter.im/mpostol/OPC-UA-OOI\n//___________________________________________________________________________________\n\nusing System;\nusing System.Windows.Input;\nusing UAOOI.Networking.DataRepository.DataLogger.Diagnostic;\nusing UAOOI.Networking.ReferenceApplication.Core.MvvmLight;\n\nnamespace UAOOI.Networking.DataRepository.DataLogger\n{\n  /// <summary>\n  /// Class ConsumerViewModel -custom implementation of the ViewModel for this DataLogger\n  /// </summary>\n  /// <seealso cref=\"ObservableObject\" />\n  public abstract class ConsumerViewModel : ObservableObject\n  {\n    #region ViewModel\n\n    /// <summary>\n    /// Gets or sets the consumer received bytes.\n    /// </summary>\n    /// <value>The consumer received bytes.</value>\n    public int ConsumerReceivedBytes\n    {\n      get => b_ConsumerBytesReceived;\n      set\n      {\n        b_ConsumerBytesReceived = value;\n        RaisePropertyChanged<int>(\"ConsumerReceivedBytes\", b_ConsumerBytesReceived, value);\n      }\n    }\n\n    /// <summary>\n    /// Gets or sets the number of consumer received frames .\n    /// </summary>\n    /// <value>The consumer frames received.</value>\n    public int ConsumerFramesReceived\n    {\n      get => b_ConsumerFramesReceived;\n      set\n      {\n        b_ConsumerFramesReceived = value;\n        RaisePropertyChanged<int>(\"ConsumerFramesReceived\", b_ConsumerFramesReceived, value);\n      }\n    }\n\n    /// <summary>\n    /// Gets or sets the consumer update configuration command.\n    /// </summary>\n    /// <value>The consumer update configuration <see cref=\"ICommand\" />.</value>\n    public ICommand ConsumerUpdateConfiguration //TODO Remove reference of ConsumerDataManagementSetup System.Windows  #239\n    {\n      get => b_ConsumerUpdateConfiguration;\n      set\n      {\n        b_ConsumerUpdateConfiguration = value;\n        RaisePropertyChanged<ICommand>(\"ConsumerUpdateConfiguration\", b_ConsumerUpdateConfiguration, value);\n      }\n    }\n\n    /// <summary>\n    /// Gets or sets the last consumer error message.\n    /// </summary>\n    /// <value>The consumer error message.</value>\n    public string ConsumerErrorMessage\n    {\n      get => b_ConsumerErrorMessage;\n      set\n      {\n        b_ConsumerErrorMessage = value;\n        RaisePropertyChanged<string>(\"ConsumerErrorMessage\", b_ConsumerErrorMessage, value);\n      }\n    }\n\n    /// <summary>\n    /// Add the message to the Log on the UI.\n    /// </summary>\n    /// <param name=\"message\">The message to be added to the log on the UI.</param>\n    protected internal abstract void Trace(string message);\n\n    #endregion ViewModel\n\n    #region API\n\n    internal void ChangeProducerCommand(Action action)\n    {\n      _logger.EnteringMethodConfiguration();\n      ConsumerUpdateConfiguration = new DelegateCommand(action);\n    }\n\n    #endregion API\n\n    #region private\n\n    /// <summary>\n    /// The logger - captures the functionality of the global logging infrastructure\n    /// </summary>\n    private readonly DataLoggerEventSource _logger = DataLoggerEventSource.Log();\n\n    private int b_ConsumerBytesReceived;\n    private int b_ConsumerFramesReceived;\n    private ICommand b_ConsumerUpdateConfiguration;\n    private string b_ConsumerErrorMessage;\n\n    #endregion private\n  }\n}"
  },
  {
    "path": "Networking/DataRepository/DataLogger/Diagnostic/DataLoggerEventSource.cs",
    "content": "﻿//___________________________________________________________________________________\n//\n//  Copyright (C) 2020, Mariusz Postol LODZ POLAND.\n//\n//  To be in touch join the community at GITTER: https://gitter.im/mpostol/OPC-UA-OOI\n//___________________________________________________________________________________\n\nusing System;\nusing System.Diagnostics.Tracing;\nusing System.Runtime.CompilerServices;\n\nnamespace UAOOI.Networking.DataRepository.DataLogger.Diagnostic\n{\n  /// <summary>\n  /// Class DataLoggerEventSource captures event source functionality supporting semantic par logging.\n  /// Implements the <see cref=\"EventSource\" />\n  /// </summary>\n  /// <seealso cref=\"EventSource\" />\n  [EventSource(Name = \"UAOOI.Networking.DataRepository.DataLogger.Diagnostic.DataLoggerEventSource\", Guid = \"B28CBA3C-E2B7-4C5B-A045-E21FD3158D9B\")]\n  public class DataLoggerEventSource : EventSource\n  {\n    /// <summary>\n    /// Class Tasks - capturing definitions of the tasks that apply to events.\n    /// </summary>\n    public class Tasks\n    {\n      /// <summary>\n      /// The part behavior event task\n      /// </summary>\n      public const EventTask Part = (EventTask)1;\n\n      /// <summary>\n      /// The code behavior event task\n      /// </summary>\n      public const EventTask Code = (EventTask)2;\n\n      /// <summary>\n      /// The binding behavior event task\n      /// </summary>\n      public const EventTask Binding = (EventTask)3;\n\n      /// <summary>\n      /// The configuration behavior event task\n      /// </summary>\n      public const EventTask Configuration = (EventTask)4;\n\n      /// <summary>\n      /// The azure behavior event task\n      /// </summary>\n      public const EventTask UserInterface = (EventTask)5;\n    }\n\n    /// <summary>\n    /// Class Keywords - defines the local keywords (flags) that apply to events.\n    /// </summary>\n    public class Keywords\n    {\n      /// <summary>\n      /// The PackageContent <see cref=\"EventKeywords\"/>\n      /// </summary>\n      public const EventKeywords Setup = (EventKeywords)(1 << 1);\n\n      /// <summary>\n      /// The Diagnostic <see cref=\"EventKeywords\"/>\n      /// </summary>\n      public const EventKeywords Diagnostic = (EventKeywords)(1 << 2);\n\n      /// <summary>\n      /// The Performance <see cref=\"EventKeywords\"/>\n      /// </summary>\n      public const EventKeywords Performance = (EventKeywords)(1 << 3);\n\n      /// <summary>\n      /// The Settings <see cref=\"EventKeywords\"/>\n      /// </summary>\n      public const EventKeywords Settings = (EventKeywords)(1 << 4);\n    }\n\n    /// <summary>\n    /// Gets the log - implements singleton of the <see cref=\"DataLoggerEventSource\"/>.\n    /// </summary>\n    /// <value>The log.</value>\n    internal static DataLoggerEventSource Log() { return _singleton.Value; }\n\n    [Event(1, Message = \"At {0}.{1} encountered application failure: {2}\",\n      Channel = EventChannel.Admin, Opcode = EventOpcode.Info, Task = Tasks.Code, Level = EventLevel.Error, Keywords = Keywords.Diagnostic, Version = 0x01)]\n    internal void ProgramFailure(string className, string problem, [CallerMemberName] string methodName = nameof(ProgramFailure))\n    {\n      WriteEvent(1, className, methodName, problem);\n    }\n\n    [Event(2, Message = \"Disposing an object: {0}.{1}.\",\n      Channel = EventChannel.Debug, Opcode = EventOpcode.Stop, Task = Tasks.Code, Level = EventLevel.Verbose)]\n    internal void DisposingObject(string className, [CallerMemberName] string methodName = nameof(DisposingObject))\n    {\n      WriteEvent(2, className, methodName);\n    }\n\n    [Event(3, Message = \"Entering method ConsumerViewModell.{0}\",\n      Channel = EventChannel.Debug, Opcode = EventOpcode.Start, Task = Tasks.UserInterface, Level = EventLevel.Verbose, Keywords = EventKeywords.AuditSuccess)]\n    internal void EnteringMethodUserInterface( [CallerMemberName] string methodName = nameof(EnteringMethodUserInterface))\n    {\n      WriteEvent(3, methodName);\n    }\n\n    [Event(4, Message = \"Entering method PartBindingFactory.{0}\",\n      Channel = EventChannel.Debug, Opcode = EventOpcode.Info, Task = Tasks.Binding, Level = EventLevel.Verbose, Keywords = EventKeywords.AuditSuccess)]\n    internal void EnteringMethodBinding([CallerMemberName] string methodName = nameof(EnteringMethodBinding))\n    {\n      WriteEvent(4, methodName);\n    }\n\n    [Event(5, Message = \"Entering method ConfigurationFactory.{0}\",\n      Channel = EventChannel.Debug, Opcode = EventOpcode.Info, Task = Tasks.Configuration, Level = EventLevel.Verbose, Keywords = EventKeywords.AuditSuccess)]\n    internal void EnteringMethodConfiguration([CallerMemberName] string methodName = nameof(EnteringMethodBinding))\n    {\n      WriteEvent(5, methodName);\n    }\n\n    [Event(6, Message = \"Opening the configuration file {0}\",\n      Channel = EventChannel.Debug, Opcode = EventOpcode.Info, Task = Tasks.Configuration, Level = EventLevel.Informational, Keywords = EventKeywords.AuditSuccess)]\n    internal void CreatingConfiguration(string configurationFileName)\n    {\n      WriteEvent(6, configurationFileName);\n    }\n\n    [Event(7, Message = \"Entering method LoggerManagementSetup.{0}\",\n      Channel = EventChannel.Debug, Opcode = EventOpcode.Info, Task = Tasks.Part, Level = EventLevel.Verbose, Keywords = EventKeywords.AuditSuccess)]\n    internal void EnteringMethodPart([CallerMemberName] string methodName = nameof(EnteringMethodPart))\n    {\n      WriteEvent(7, methodName);\n    }\n\n    [Event(8, Message = \"Successfully composed {0} using instance of type {1}\",\n      Channel = EventChannel.Debug, Opcode = EventOpcode.Info, Task = Tasks.Part, Level = EventLevel.Informational, Keywords = EventKeywords.AuditSuccess)]\n    internal void Composed(string variable, string typeName)\n    {\n      WriteEvent(8, variable, typeName);\n    }\n\n    [Event(9, Message = \"Setup of the consumer engine has been accomplished and it starts receiving data.\",\n      Channel = EventChannel.Debug, Opcode = EventOpcode.Start, Task = Tasks.Part, Level = EventLevel.Informational, Keywords = EventKeywords.AuditSuccess)]\n    internal void PartInitializationCompleted()\n    {\n      WriteEvent(9);\n    }\n\n    [Event(10, Message = \"TraceData of the EventType={0} with id={1} and description={2}\",\n      Channel = EventChannel.Analytic, Opcode = EventOpcode.Start, Task = Tasks.Code, Level = EventLevel.Informational, Keywords = EventKeywords.AuditSuccess)]\n    internal void TraceData(string eventType, int id, string data)\n    {\n      WriteEvent(10, eventType, id, data);\n    }\n\n    #region private\n\n    private static Lazy<DataLoggerEventSource> _singleton = new Lazy<DataLoggerEventSource>(() => new DataLoggerEventSource());\n\n    /// <summary>\n    /// Releases the unmanaged resources used by the <see cref=\"T:System.Diagnostics.Tracing.EventSource\"></see> class and optionally releases the managed resources.\n    /// </summary>\n    /// <param name=\"disposing\">true to release both managed and unmanaged resources; false to release only unmanaged resources.</param>\n    protected override void Dispose(bool disposing)\n    {\n      base.Dispose(disposing);\n      if (disposing)\n        _singleton = new Lazy<DataLoggerEventSource>(() => new DataLoggerEventSource());\n    }\n\n    private DataLoggerEventSource()\n    {\n    }\n\n    #endregion private\n  }\n}"
  },
  {
    "path": "Networking/DataRepository/DataLogger/Diagnostic/DataLoggerEventSourceExtensions.cs",
    "content": "﻿//___________________________________________________________________________________\n//\n//  Copyright (C) 2020, Mariusz Postol LODZ POLAND.\n//\n//  To be in touch join the community at GITTER: https://gitter.im/mpostol/OPC-UA-OOI\n//___________________________________________________________________________________\n\nusing System;\nusing System.Runtime.CompilerServices;\n\nnamespace UAOOI.Networking.DataRepository.DataLogger.Diagnostic\n{\n  /// <summary>\n  /// Class <see cref=\"DataLoggerEventSourceExtensions\"/> - expanding the <see cref=\"DataLoggerEventSource\"/>\n  /// </summary>\n  internal static class DataLoggerEventSourceExtensions\n  {\n    /// <summary>\n    /// Logs the exception using <see cref=\"DataLoggerEventSource\" />.\n    /// </summary>\n    /// <param name=\"eventSource\">The event source to be used for problem reporting.</param>\n    /// <param name=\"className\">Name of the class where the exception has been caught.</param>\n    /// <param name=\"e\">The exception to be reported.</param>\n    /// <param name=\"methodName\">Name of the method.</param>\n    internal static void LogException(this DataLoggerEventSource eventSource, string className, Exception e, [CallerMemberName] string methodName = nameof(LogException))\n    {\n      Exception _exception = e;\n      string _innerText = \"An exception has been caught:\";\n      while (e != null)\n      {\n        eventSource.ProgramFailure(className, methodName, $\"{_innerText} of type {_exception.GetType().Name} capturing the message: {e.Message}\");\n        e = e.InnerException;\n        _innerText = \"It contains inner exception:\";\n      }\n    }\n  }\n}"
  },
  {
    "path": "Networking/DataRepository/DataLogger/Diagnostic/NetworkingEventSourceProvider.cs",
    "content": "﻿//___________________________________________________________________________________\n//\n//  Copyright (C) 2020, Mariusz Postol LODZ POLAND.\n//\n//  To be in touch join the community at GITTER: https://gitter.im/mpostol/OPC-UA-OOI\n//___________________________________________________________________________________\n\nusing System.ComponentModel.Composition;\nusing System.Diagnostics.Tracing;\nusing UAOOI.Networking.Core;\n\nnamespace UAOOI.Networking.DataRepository.DataLogger.Diagnostic\n{\n  /// <summary>\n  /// Class NetworkingEventSourceProvider - gets access to an instance of <see cref=\"EventSource\"/> to be registered by the logging infrastructure.\n  /// </summary>\n  /// <seealso cref=\"INetworkingEventSourceProvider\" />\n  [Export(typeof(INetworkingEventSourceProvider))]\n  public class NetworkingEventSourceProvider : INetworkingEventSourceProvider\n  {\n    #region INetworkingEventSourceProvider\n\n    /// <summary>\n    /// Gets the part event source.\n    /// </summary>\n    /// <returns>Returns an instance of <see cref=\"EventSource\" />.</returns>\n    public EventSource GetPartEventSource()\n    {\n      return DataLoggerEventSource.Log();\n    }\n\n    #endregion INetworkingEventSourceProvider\n  }\n}"
  },
  {
    "path": "Networking/DataRepository/DataLogger/LoggerManagementSetup.cs",
    "content": "﻿//___________________________________________________________________________________\n//\n//  Copyright (C) 2020, Mariusz Postol LODZ POLAND.\n//\n//  To be in touch join the community at GITTER: https://gitter.im/mpostol/OPC-UA-OOI\n//___________________________________________________________________________________\n\nusing CommonServiceLocator;\nusing System;\nusing System.ComponentModel.Composition;\nusing System.Diagnostics;\nusing UAOOI.Networking.Core;\nusing UAOOI.Networking.DataRepository.DataLogger.Diagnostic;\nusing UAOOI.Networking.SemanticData;\n\nnamespace UAOOI.Networking.DataRepository.DataLogger\n{\n  /// <summary>\n  /// Class <see cref=\"LoggerManagementSetup\" /> - custom implementation of the <seealso cref=\"DataManagementSetup\" />\n  /// This class cannot be inherited.\n  /// Implements the <see cref=\"DataManagementSetup\" />\n  /// </summary>\n  [Export]\n  [PartCreationPolicy(CreationPolicy.Shared)]\n  public sealed class LoggerManagementSetup : DataManagementSetup\n  {\n    #region constructor\n\n    /// <summary>\n    /// Initializes a new instance of the <see cref=\"LoggerManagementSetup\"/> class.\n    /// </summary>\n    public LoggerManagementSetup()\n    {\n      _logger.EnteringMethodPart();\n      // get external parts to compose\n      IServiceLocator _serviceLocator = ServiceLocator.Current;\n      string _ConsumerConfigurationFileName = _serviceLocator.GetInstance<string>(ConsumerCompositionSettings.ConfigurationFileNameContract);\n      _ViewModel = _serviceLocator.GetInstance<ConsumerViewModel>(ConsumerCompositionSettings.ViewModelContract);\n      _logger.Composed(nameof(_ViewModel), _ViewModel.GetType().FullName);\n      EncodingFactory = _serviceLocator.GetInstance<IEncodingFactory>();\n      _logger.Composed(nameof(EncodingFactory), EncodingFactory.GetType().FullName);\n      MessageHandlerFactory = _serviceLocator.GetInstance<IMessageHandlerFactory>();\n      _logger.Composed(nameof(MessageHandlerFactory), MessageHandlerFactory.GetType().FullName);\n      // setup local functionality\n      ConfigurationFactory = new ConsumerConfigurationFactory(_ConsumerConfigurationFileName);\n      _logger.Composed(nameof(ConfigurationFactory), ConfigurationFactory.GetType().FullName);\n      BindingFactory = new PartIBindingFactory(_ViewModel);\n      _logger.Composed(nameof(BindingFactory), BindingFactory.GetType().FullName);\n    }\n\n    #endregion constructor\n\n    #region API\n\n    /// <summary>\n    /// Setups this instance.\n    /// </summary>\n    public void Setup()\n    {\n      try\n      {\n        _logger.EnteringMethodPart();\n        _ViewModel.ChangeProducerCommand(Restart);\n        Start();\n        _ViewModel.ConsumerErrorMessage = \"Running\";\n        _logger.PartInitializationCompleted();\n      }\n      catch (Exception _ex)\n      {\n        _logger.LogException(nameof(LoggerManagementSetup), _ex);\n        _ViewModel.ConsumerErrorMessage = \"ERROR\";\n        throw;\n      }\n    }\n\n    #endregion API\n\n    #region IDisposable\n\n    /// <summary>\n    /// Releases unmanaged and - optionally - managed resources.\n    /// </summary>\n    /// <param name=\"disposing\"><c>true</c> to release both managed and unmanaged resources; <c>false</c> to release only unmanaged resources.</param>\n    protected override void Dispose(bool disposing)\n    {\n      _logger.DisposingObject(nameof(LoggerManagementSetup));\n      m_onDispose(disposing);\n      base.Dispose(disposing);\n      if (!disposing || m_disposed)\n        return;\n      m_disposed = true;\n    }\n\n    #endregion IDisposable\n\n    #region private\n\n    /// <summary>\n    /// Gets or sets the view model to be used for diagnostic purpose..\n    /// </summary>\n    /// <value>The view model.</value>\n    private ConsumerViewModel _ViewModel;\n\n    private readonly DataLoggerEventSource _logger = DataLoggerEventSource.Log();\n\n    /// <summary>\n    /// Gets a value indicating whether this <see cref=\"LoggerManagementSetup\"/> is disposed.\n    /// </summary>\n    /// <value><c>true</c> if disposed; otherwise, <c>false</c>.</value>\n    private bool m_disposed = false;\n\n    private Action<bool> m_onDispose = disposing => { };\n\n    private void Restart()\n    {\n      _logger.EnteringMethodPart();\n      _ViewModel.Trace(\"Entering Restart\");\n      Start();\n    }\n\n    #endregion private\n\n    #region Unit tests instrumentation\n\n    [Conditional(\"DEBUG\")]\n    internal void DisposeCheck(Action<bool> onDispose)\n    {\n      _logger.EnteringMethodPart();\n      m_onDispose = onDispose;\n    }\n\n    #endregion Unit tests instrumentation\n  }\n}"
  },
  {
    "path": "Networking/DataRepository/DataLogger/Networking.DataLogger.csproj",
    "content": "<Project Sdk=\"Microsoft.NET.Sdk\">\n\n  <PropertyGroup>\n    <TargetFramework>netstandard2.0</TargetFramework>\n    <SignAssembly>true</SignAssembly>\n    <AssemblyOriginatorKeyFile>OPCUAOOIKey.snk</AssemblyOriginatorKeyFile>\n    <RootNamespace>UAOOI.Networking.DataRepository.DataLogger</RootNamespace>\n    <AssemblyName>UAOOI.Networking.DataRepository.DataLogger</AssemblyName>\n    <Version>4.0.1</Version>\n    <Authors>MPostol</Authors>\n    <Company>commsvr.com</Company>\n    <Product>Object Oriented Internet</Product>\n    <Description>Semantic Data Reactive Networking based on OPC UA Part 14 Pub/Sub library.</Description>\n    <Copyright>Copyright MPostol (c) 2018</Copyright>\n    <PackageLicenseUrl>https://github.com/mpostol/OPC-UA-OOI/blob/master/license.md</PackageLicenseUrl>\n    <PackageProjectUrl>https://commsvr.gitbook.io/ooi</PackageProjectUrl>\n    <RepositoryUrl>https://github.com/mpostol/OPC-UA-OOI</RepositoryUrl>\n    <RepositoryType>GitHub</RepositoryType>\n    <PackageTags>Object Oriented Internet, OPC UA, Reactive Networking.</PackageTags>\n    <AssemblyVersion>4.0.1.1</AssemblyVersion>\n  </PropertyGroup>\n\n  <PropertyGroup Condition=\"'$(Configuration)|$(Platform)'=='Debug|AnyCPU'\">\n    <DocumentationFile>bin\\Debug\\netstandard2.0\\UAOOI.Networking.DataLogger.xml</DocumentationFile>\n    <NoWarn>1701;1702;1705;IDE0001;IDE0002;IDE0003</NoWarn>\n  </PropertyGroup>\n\n  <ItemGroup>\n    <Compile Remove=\"Diagnostic\\ReferenceApplicationEventSourceExtensions.cs\" />\n  </ItemGroup>\n\n  <ItemGroup>\n    <ProjectReference Include=\"..\\..\\Encoding\\Networking.Encoding.csproj\" />\n    <ProjectReference Include=\"..\\..\\ReferenceApplication.Core\\Networking.ReferenceApplication.Core.csproj\" />\n    <ProjectReference Include=\"..\\..\\SemanticData\\Networking.SemanticData.csproj\" />\n  </ItemGroup>\n\n  <ItemGroup>\n    <None Update=\"ConfigurationDataConsumer.xml\">\n      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>\n    </None>\n  </ItemGroup>\n\n</Project>\n"
  },
  {
    "path": "Networking/DataRepository/DataLogger/PartIBindingFactory.cs",
    "content": "﻿//___________________________________________________________________________________\n//\n//  Copyright (C) 2020, Mariusz Postol LODZ POLAND.\n//\n//  To be in touch join the community at GITTER: https://gitter.im/mpostol/OPC-UA-OOI\n//___________________________________________________________________________________\n\nusing System;\nusing UAOOI.Configuration.Networking.Serialization;\nusing UAOOI.Networking.DataRepository.DataLogger.Diagnostic;\nusing UAOOI.Networking.SemanticData;\nusing UAOOI.Networking.SemanticData.DataRepository;\n\nnamespace UAOOI.Networking.DataRepository.DataLogger\n{\n  /// <summary>\n  /// Class <see cref=\"PartIBindingFactory\"/> - it is a consumer of the data send over the wire using the UAOOI.Networking.SemanticData framework.\n  /// It is expected that the data is generated according to the requirements defined by the OPCF to proceed interoperability testing.\n  /// </summary>\n  internal class PartIBindingFactory : IBindingFactory\n  {\n    #region composition\n\n    /// <summary>\n    /// Initializes a new instance of the <see cref=\"PartIBindingFactory\"/> class.\n    /// </summary>\n    /// <param name=\"viewModel\">The view model used to log data received over wire.</param>\n    internal PartIBindingFactory(ConsumerViewModel viewModel)\n    {\n      _logger.EnteringMethodBinding();\n      _ViewModel = viewModel;\n    }\n\n    #endregion composition\n\n    #region IBindingFactory\n\n    /// <summary>\n    /// Gets the binding captured by an instance of the <see cref=\"IConsumerBinding\" /> type used by the consumer to save the data in the data repository.\n    /// </summary>\n    /// <param name=\"repositoryGroup\">It is the name of a repository group profiling the configuration behavior, e.g. encoders selection.\n    /// The configuration of the repositories belonging to the same group are handled according to the same profile.</param>\n    /// <param name=\"processValueName\">The name of a variable that is the ultimate destination of the values recovered from messages.\n    /// Must be unique in the context of the group named by <paramref name=\"repositoryGroup\" />.</param>\n    /// <param name=\"fieldTypeInfo\">The field metadata definition represented as an object of <see cref=\"UATypeInfo\" />.</param>\n    /// <returns>Returns an object implementing the <see cref=\"IConsumerBinding\" /> interface that can be used to update selected variable on the factory side.</returns>\n    IConsumerBinding IBindingFactory.GetConsumerBinding(string repositoryGroup, string processValueName, UATypeInfo fieldTypeInfo)\n    {\n      _logger.EnteringMethodBinding();\n      return GetConsumerBinding(processValueName, fieldTypeInfo);\n    }\n\n    /// <summary>\n    /// Gets the binding captured by an instance of the <see cref=\"IProducerBinding\" /> type used by the producer to read from the local data repository.\n    /// </summary>\n    /// <param name=\"repositoryGroup\">It is the name of a repository group profiling the configuration behavior, e.g. encoders selection.\n    /// The configuration of the repositories belonging to the same group are handled according to the same profile.</param>\n    /// <param name=\"processValueName\">The name of a variable that is the source of the values forwarded by a message over the network.\n    /// Must be unique in the context of the group named by <paramref name=\"repositoryGroup\" /></param>\n    /// <param name=\"fieldTypeInfo\">The <see cref=\"BuiltInType\" />of the message field encoding.</param>\n    /// <returns>Returns an object implementing the <see cref=\"IProducerBinding\" /> interface that can be used to create message and populate it with the data.</returns>\n    IProducerBinding IBindingFactory.GetProducerBinding(string repositoryGroup, string processValueName, UATypeInfo fieldTypeInfo)\n    {\n      _logger.EnteringMethodBinding();\n      NotImplementedException ex = new NotImplementedException($\"intentionally the method {nameof(IBindingFactory.GetProducerBinding)} is not implemented.\");\n      _logger.LogException(nameof(PartIBindingFactory), ex);\n      throw ex;\n    }\n\n    #endregion IBindingFactory\n\n    #region private\n\n    private ConsumerViewModel _ViewModel;\n    private DataLoggerEventSource _logger = DataLoggerEventSource.Log();\n\n    /// <summary>\n    /// Helper method that creates the consumer binding.\n    /// </summary>\n    /// <param name=\"variableName\">Name of the variable.</param>\n    /// <param name=\"typeInfo\">The encoding.</param>\n    /// <returns>IConsumerBinding.</returns>\n    /// <exception cref=\"System.ArgumentOutOfRangeException\">variableName</exception>\n    private IConsumerBinding GetConsumerBinding(string variableName, UATypeInfo typeInfo)\n    {\n      _logger.EnteringMethodBinding();\n      IConsumerBinding returnValue = null;\n      if (typeInfo.ValueRank == 0 || typeInfo.ValueRank > 1)\n      {\n        ArgumentOutOfRangeException ex = new ArgumentOutOfRangeException(nameof(typeInfo.ValueRank));\n        _logger.LogException(nameof(PartIBindingFactory), ex);\n        throw ex;\n      }\n      switch (typeInfo.BuiltInType)\n      {\n        case BuiltInType.Boolean:\n          if (typeInfo.ValueRank < 0)\n            returnValue = AddBinding<bool>(variableName, typeInfo);\n          else\n            returnValue = AddBinding<bool[]>(variableName, typeInfo);\n          break;\n\n        case BuiltInType.SByte:\n          if (typeInfo.ValueRank < 0)\n            returnValue = AddBinding<sbyte>(variableName, typeInfo);\n          else\n            returnValue = AddBinding<sbyte[]>(variableName, typeInfo);\n          break;\n\n        case BuiltInType.Byte:\n          if (typeInfo.ValueRank < 0)\n            returnValue = AddBinding<byte>(variableName, typeInfo);\n          else\n            returnValue = AddBinding<byte[]>(variableName, typeInfo);\n          break;\n\n        case BuiltInType.Int16:\n          if (typeInfo.ValueRank < 0)\n            returnValue = AddBinding<short>(variableName, typeInfo);\n          else\n            returnValue = AddBinding<short[]>(variableName, typeInfo);\n          break;\n\n        case BuiltInType.UInt16:\n          if (typeInfo.ValueRank < 0)\n            returnValue = AddBinding<ushort>(variableName, typeInfo);\n          else\n            returnValue = AddBinding<ushort[]>(variableName, typeInfo);\n          break;\n\n        case BuiltInType.Int32:\n          if (typeInfo.ValueRank < 0)\n            returnValue = AddBinding<int>(variableName, typeInfo);\n          else\n            returnValue = AddBinding<int[]>(variableName, typeInfo);\n          break;\n\n        case BuiltInType.UInt32:\n          if (typeInfo.ValueRank < 0)\n            returnValue = AddBinding<uint>(variableName, typeInfo);\n          else\n            returnValue = AddBinding<uint[]>(variableName, typeInfo);\n          break;\n\n        case BuiltInType.Int64:\n          if (typeInfo.ValueRank < 0)\n            returnValue = AddBinding<long>(variableName, typeInfo);\n          else\n            returnValue = AddBinding<long[]>(variableName, typeInfo);\n          break;\n\n        case BuiltInType.UInt64:\n          if (typeInfo.ValueRank < 0)\n            returnValue = AddBinding<ulong>(variableName, typeInfo);\n          else\n            returnValue = AddBinding<ulong[]>(variableName, typeInfo);\n          break;\n\n        case BuiltInType.Float:\n          if (typeInfo.ValueRank < 0)\n            returnValue = AddBinding<float>(variableName, typeInfo);\n          else\n            returnValue = AddBinding<float[]>(variableName, typeInfo);\n          break;\n\n        case BuiltInType.Double:\n          if (typeInfo.ValueRank < 0)\n            returnValue = AddBinding<double>(variableName, typeInfo);\n          else\n            returnValue = AddBinding<double[]>(variableName, typeInfo);\n          break;\n\n        case BuiltInType.String:\n          if (typeInfo.ValueRank < 0)\n            returnValue = AddBinding<string>(variableName, typeInfo);\n          else\n            returnValue = AddBinding<string[]>(variableName, typeInfo);\n          break;\n\n        case BuiltInType.DateTime:\n          if (typeInfo.ValueRank < 0)\n            returnValue = AddBinding<DateTime>(variableName, typeInfo);\n          else\n            returnValue = AddBinding<DateTime[]>(variableName, typeInfo);\n          break;\n\n        case BuiltInType.Guid:\n          if (typeInfo.ValueRank < 0)\n            returnValue = AddBinding<Guid>(variableName, typeInfo);\n          else\n            returnValue = AddBinding<Guid[]>(variableName, typeInfo);\n          break;\n\n        case BuiltInType.ByteString:\n          if (typeInfo.ValueRank < 0)\n            returnValue = AddBinding<byte[]>(variableName, typeInfo);\n          else\n            returnValue = AddBinding<byte[][]>(variableName, typeInfo);\n          break;\n\n        case BuiltInType.Null:\n        case BuiltInType.XmlElement:\n        case BuiltInType.NodeId:\n        case BuiltInType.ExpandedNodeId:\n        case BuiltInType.StatusCode:\n        case BuiltInType.QualifiedName:\n        case BuiltInType.LocalizedText:\n        case BuiltInType.ExtensionObject:\n        case BuiltInType.DataValue:\n        case BuiltInType.Variant:\n        case BuiltInType.DiagnosticInfo:\n        case BuiltInType.Enumeration:\n        default:\n          throw new ArgumentOutOfRangeException(\"encoding\");\n      }\n      return returnValue;\n    }\n\n    private IConsumerBinding AddBinding<type>(string variableName, UATypeInfo typeInfo)\n    {\n      _logger.EnteringMethodBinding();\n      ConsumerBindingMonitoredValue<type> returnValue = new ConsumerBindingMonitoredValue<type>(typeInfo);\n      returnValue.PropertyChanged += (x, y) => _ViewModel.Trace($\"{DateTime.Now.ToLongTimeString()}:{DateTime.Now.Millisecond} {variableName} = {((ConsumerBindingMonitoredValue<type>)x).ToString()}\");\n      return returnValue;\n    }\n\n    #endregion private\n  }\n}"
  },
  {
    "path": "Networking/DataRepository/DataLogger/README.md",
    "content": "# `ReferenceApplication` Consumer - Data Logger\n\n## Common Tasks\n\nWorking through this tutorial gives you an introductory understanding of the steps required to implement `Consumer` role of `OOI Reactive Application`. `DataLogger` is a sample implementation of the `Consumer` part of the `ReferenceApplication`, which is an example application of `Semantic-Data` reactive networking based on [OPC UA Part 14 Pub/Sub](../../../Networking/SemanticData/README.PubSubMTF.md) specification.\n\nHere are steps undertook to implement the `Consumer` role in the application:\n\n1. `DataManagementSetup`: this class has been overridden by the `LoggerManagementSetup`class and it initializes the communication and binds data fields recovered form messages to local resources.\n1. `IEncodingFactory` and `IMessageHandlerFactory`: has been implemented in external common libraries and `Consumer` doesn't depend on this implementation - current implementation of the interfaces is localized as services using an instance of the `IServiceLocator` interface.\n1. `IBindingFactory`: has been implemented in the class  `DataConsumer` that is responsible to synchronize the values of the local data repository properties and messages received over the wire.\n1. `IConfigurationFactory`: the class `ConsumerConfigurationFactory` implements this interface to be used for the configuration file opening.\n\n## How to Guide\n\n### How to: Implement `DataManagementSetup`\n\nThe `LoggerManagementSetup` constructor initializes all properties, which are injection points of all parts composing this role.\n\n```C#\n  public sealed class LoggerManagementSetup : DataManagementSetup\n  {\n    public LoggerManagementSetup()\n    {\n      IServiceLocator _serviceLocator = ServiceLocator.Current;\n      string _ConsumerConfigurationFileName = _serviceLocator.GetInstance<string>(ConsumerCompositionSettings.ConfigurationFileNameContract);\n      m_ViewModel = _serviceLocator.GetInstance<ConsumerViewModel>(ConsumerCompositionSettings.ViewModelContract);\n      ConfigurationFactory = new ConsumerConfigurationFactory(_ConsumerConfigurationFileName);\n      EncodingFactory = _serviceLocator.GetInstance<IEncodingFactory>();\n      BindingFactory = new DataConsumer(m_ViewModel);\n      MessageHandlerFactory = _serviceLocator.GetInstance<IMessageHandlerFactory>();\n    }\n\n    ....\n\n  }\n```\n\nIn this example, it is assumed that [`ServiceLocator`](https://www.nuget.org/packages/CommonServiceLocator) is implemented to resolve references to any external services.\n\nFinally the `DataManagementSetup.Start()` method is called to initialize the infrastructure, enable all associations and start pumping the data.\n\n### How to: Implement IBindingFactory\n\nImplementation of this interface is a basic step to implement `Consumer` functionality. An instance of the `IBindingFactory` is responsible to create objects implementing `IBinding` that can be used by the `Consumer` to save the data received over the wire in the local data repository.\n\nThe class `DataConsumer` is a sample implementation of a data logger functionality recording data over time. It consumes the testing data sent and updates properties in the class `ConsumerViewModel` implementing *ViewModel* layer in the *[Model View ViewModel (on MSDN)](https://msdn.microsoft.com/en-us/magazine/dd419663.aspx)* (*MVVM pattern*). The class `DataConsumer` demonstrates how to create bindings interconnecting the data received over the wire and the properties that are the ultimate destination of the data. The user interface provided by the *View* layer implemented in the `UAOOI.Networking.ReferenceApplication.MainWindow` class is dynamically bounded at run time with the `ConsumerViewModel`. To implement the *ViewModel* layer in the *`MVVM pattern* the helper generic class `UAOOI.Networking.SemanticData.DataRepository.ProducerBindingMonitoredValue<type>` is used.\n\n### How to: Implement `IConfigurationFactory`\n\nImplementation of this interface is straightforward and based entirely on the library [`UAOOI.Configuration.Networking`](../../../Configuration/Networking/README.MD). In a typical scenario, this implementation should not be considered for further modification. The only open question is how to provide the name of the file containing the configuration of this role. In proposed solution the name is provided by a service defined by  the application entry point part and localized using `IServiceLocator` in the class `LoggerManagementSetup` - see code snipped below:\n\n```C#\n\nstring _ConsumerConfigurationFileName = _serviceLocator.GetInstance<string>(ConsumerCompositionSettings.ConfigurationFileNameContract);\n\n```\n\nThis role uses independent configuration file `ConfigurationDataConsumer.xml` attached to the project.\nThis file contains a mirror configuration of the [`Producer`](../../../Networking/SimulatorInteroperabilityTest/README.md) role configuration to log all the generated data.\n\n## Current release\n\n> Note; This library is not considered to be published as the NuGet package.\n\n## See also\n\n- API Browser: the preliminary code help documentation - [available for sponsors- consider joining](https://github.commsvr.com/AboutPartnershipProgram.md.html)\n- [OPC UA Makes Complex Data Processing Possible][wordpress.OPCUACD]\n\n[wordpress.OPCUACD]:https://mpostol.wordpress.com/2014/05/08/opc-ua-makes-complex-data-access-possible\n"
  },
  {
    "path": "Networking/DataRepository/DataLogger.UnitTest/ConsumerConfigurationFactoryUnitTest.cs",
    "content": "﻿//___________________________________________________________________________________\n//\n//  Copyright (C) 2020, Mariusz Postol LODZ POLAND.\n//\n//  To be in touch join the community at GITTER: https://gitter.im/mpostol/OPC-UA-OOI\n//___________________________________________________________________________________\n\nusing Microsoft.VisualStudio.TestTools.UnitTesting;\nusing System;\nusing System.IO;\nusing UAOOI.Configuration.Networking;\n\nnamespace UAOOI.Networking.DataRepository.DataLogger\n{\n  [TestClass]\n  [DeploymentItem(@\".\\ConfigurationDataConsumer.xml\", @\".\\\")]\n  public class ConsumerConfigurationFactoryUnitTest\n  {\n    [TestMethod]\n    public void ConstructorTestMethod()\n    {\n      IConfigurationFactory _configuration = null;\n      Assert.ThrowsException<ArgumentException>(() => _configuration = new ConsumerConfigurationFactory(\"Configuration file name\"));\n    }\n\n    [TestMethod]\n    public void ConfigurationFileExistsTest()\n    {\n      FileInfo _configurationFile = new FileInfo(\"ConfigurationDataConsumer.xml\");\n      Assert.IsTrue(_configurationFile.Exists, $\"There is no file in path {Environment.CurrentDirectory}\");\n    }\n  }\n}"
  },
  {
    "path": "Networking/DataRepository/DataLogger.UnitTest/ConsumerViewModelUnit.cs",
    "content": "﻿//___________________________________________________________________________________\n//\n//  Copyright (C) 2020, Mariusz Postol LODZ POLAND.\n//\n//  To be in touch join the community at GITTER: https://gitter.im/mpostol/OPC-UA-OOI\n//___________________________________________________________________________________\n\nusing Microsoft.VisualStudio.TestTools.UnitTesting;\nusing System;\nusing UAOOI.Networking.DataRepository.DataLogger.Instrumentation;\n\nnamespace UAOOI.Networking.DataRepository.DataLogger\n{\n  [TestClass]\n  public class ConsumerViewModelUnit\n  {\n    [TestMethod]\n    public void ConstructorTest()\n    {\n      TestConsumerViewModel _viewModel = new TestConsumerViewModel();\n    }\n\n    [TestMethod]\n    [ExpectedException(typeof(NotImplementedException))]\n    public void TraceTest()\n    {\n      TestConsumerViewModel _viewModel = new TestConsumerViewModel();\n      _viewModel.Trace(\"\");\n    }\n  }\n}"
  },
  {
    "path": "Networking/DataRepository/DataLogger.UnitTest/DataConsumerUnitTest.cs",
    "content": "﻿//___________________________________________________________________________________\n//\n//  Copyright (C) 2020, Mariusz Postol LODZ POLAND.\n//\n//  To be in touch join the community at GITTER: https://gitter.im/mpostol/OPC-UA-OOI\n//___________________________________________________________________________________\n\nusing Microsoft.VisualStudio.TestTools.UnitTesting;\nusing UAOOI.Networking.DataRepository.DataLogger.Instrumentation;\n\nnamespace UAOOI.Networking.DataRepository.DataLogger\n{\n  [TestClass]\n  public class DataConsumerUnitTest\n  {\n    [TestMethod]\n    public void ConstructorTest()\n    {\n      TestConsumerViewModel _viewModel = new TestConsumerViewModel();\n      PartIBindingFactory _DataConsumer = new PartIBindingFactory(_viewModel);\n    }\n  }\n}"
  },
  {
    "path": "Networking/DataRepository/DataLogger.UnitTest/Diagnostic/DataLoggerEventSourceUnitTest.cs",
    "content": "﻿//___________________________________________________________________________________\n//\n//  Copyright (C) 2020, Mariusz Postol LODZ POLAND.\n//\n//  To be in touch join the community at GITTER: https://gitter.im/mpostol/OPC-UA-OOI\n//___________________________________________________________________________________\n\nusing Microsoft.VisualStudio.TestTools.UnitTesting;\nusing System;\nusing System.Collections.Generic;\nusing System.Diagnostics;\nusing System.Diagnostics.Tracing;\nusing System.Linq;\n\nnamespace UAOOI.Networking.DataRepository.DataLogger.Diagnostic\n{\n  [TestClass]\n  public class DataLoggerEventSourceUnitTest\n  {\n    [TestMethod]\n    public void ConstructorTest()\n    {\n      using (DataLoggerEventSource itemToTest = DataLoggerEventSource.Log())\n      {\n        Assert.IsNotNull(itemToTest);\n        Assert.IsNull(itemToTest.ConstructionException);\n        Assert.AreEqual<Guid>(Guid.Parse(\"B28CBA3C-E2B7-4C5B-A045-E21FD3158D9B\"), itemToTest.Guid);\n        Assert.AreEqual<string>(\"UAOOI.Networking.DataRepository.DataLogger.Diagnostic.DataLoggerEventSource\", itemToTest.Name);\n        Assert.AreEqual<EventSourceSettings>(EventSourceSettings.EtwManifestEventFormat, itemToTest.Settings);\n        Assert.IsFalse(itemToTest.IsEnabled());\n        Assert.AreSame(itemToTest, DataLoggerEventSource.Log());\n      }\n    }\n\n    [TestMethod]\n    public void DisposeTestMethod()\n    {\n      try\n      {\n        DataLoggerEventSource itemToTest = DataLoggerEventSource.Log();\n        itemToTest.Dispose();\n        Assert.IsNotNull(itemToTest);\n        Assert.AreNotSame(itemToTest, DataLoggerEventSource.Log());\n      }\n      finally\n      {\n        DataLoggerEventSource.Log().Dispose();\n      }\n    }\n\n    [TestMethod]\n    public void EventListenerTest()\n    {\n      using (DataLoggerEventSource itemToTest = DataLoggerEventSource.Log())\n      using (EventListener lisner = new EventListener())\n      {\n        List<EventSourceCreatedEventArgs> sourceList = new List<EventSourceCreatedEventArgs>();\n        List<EventWrittenEventArgs> eventsList = new List<EventWrittenEventArgs>();\n        lisner.EventSourceCreated += (o, es) => sourceList.Add(es);\n        lisner.EventWritten += (source, entry) => eventsList.Add(entry);\n        foreach (EventSourceCreatedEventArgs item in sourceList)\n          Debug.WriteLine($\"{item.EventSource.Name}:{item.EventSource.Guid}; Is enabled: {item.EventSource.IsEnabled()}\");\n        int esCount = sourceList.Count;\n        Assert.AreEqual<int>(0, eventsList.Count);\n        lisner.EnableEvents(itemToTest, EventLevel.LogAlways, EventKeywords.All);\n        Assert.AreEqual<int>(esCount, sourceList.Count);\n        Assert.AreEqual<int>(0, eventsList.Count);\n      }\n    }\n    [TestMethod]\n    public void ProgramFailureTest()\n    {\n      using (DataLoggerEventSource itemToTest = DataLoggerEventSource.Log())\n      using (EventListener lisner = new EventListener())\n      {\n        List<EventWrittenEventArgs> eventsList = new List<EventWrittenEventArgs>();\n        lisner.EventWritten += (source, entry) => eventsList.Add(entry);\n        Assert.AreEqual<int>(0, eventsList.Count);\n        lisner.EnableEvents(itemToTest, EventLevel.LogAlways, EventKeywords.All);\n        itemToTest.ProgramFailure(\"ClassName\", \"problem\");\n        Assert.AreEqual<int>(1, eventsList.Count);\n        EventWrittenEventArgs eventArgs = eventsList[0];\n        Assert.AreEqual<int>(1, eventArgs.EventId);\n        Assert.AreEqual<string>(\"At ClassName.ProgramFailureTest encountered application failure: problem\", String.Format(eventArgs.Message, eventArgs.Payload.Select<object, string>(x => x.ToString()).ToArray<string>()));\n        Assert.AreEqual<EventChannel>(EventChannel.Admin, eventArgs.Channel);\n        Assert.AreEqual<int>(1, eventArgs.EventId);\n        Assert.AreEqual<string>(nameof(DataLoggerEventSource.ProgramFailure), eventArgs.EventName);\n        Assert.AreSame(DataLoggerEventSource.Log(), eventArgs.EventSource);\n        Assert.IsTrue((DataLoggerEventSource.Keywords.Diagnostic & eventArgs.Keywords) > 0);\n        Assert.AreEqual<EventLevel>(EventLevel.Error, eventArgs.Level);\n        Assert.AreEqual<EventOpcode>(EventOpcode.Info, eventArgs.Opcode);\n        Assert.AreEqual<EventTask>(DataLoggerEventSource.Tasks.Code, eventArgs.Task);\n        Assert.AreEqual<byte>(0x01, eventArgs.Version);\n      }\n    }\n\n  }\n}"
  },
  {
    "path": "Networking/DataRepository/DataLogger.UnitTest/Instrumentation/TestConsumerViewModel.cs",
    "content": "﻿//___________________________________________________________________________________\n//\n//  Copyright (C) 2020, Mariusz Postol LODZ POLAND.\n//\n//  To be in touch join the community at GITTER: https://gitter.im/mpostol/OPC-UA-OOI\n//___________________________________________________________________________________\n\nusing System;\n\nnamespace UAOOI.Networking.DataRepository.DataLogger.Instrumentation\n{\n  internal class TestConsumerViewModel : ConsumerViewModel\n  {\n    protected internal override void Trace(string message)\n    {\n      throw new NotImplementedException();\n    }\n  }\n}"
  },
  {
    "path": "Networking/DataRepository/DataLogger.UnitTest/Networking.DataLogger.UnitTest.csproj",
    "content": "﻿<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<Project ToolsVersion=\"15.0\" DefaultTargets=\"Build\" xmlns=\"http://schemas.microsoft.com/developer/msbuild/2003\">\n  <Import Project=\"..\\..\\..\\packages\\MSTest.TestAdapter.2.2.10\\build\\net46\\MSTest.TestAdapter.props\" Condition=\"Exists('..\\..\\..\\packages\\MSTest.TestAdapter.2.2.10\\build\\net46\\MSTest.TestAdapter.props')\" />\n  <PropertyGroup>\n    <Configuration Condition=\" '$(Configuration)' == '' \">Debug</Configuration>\n    <Platform Condition=\" '$(Platform)' == '' \">AnyCPU</Platform>\n    <ProjectGuid>{45BE72F2-3F5B-4D13-B931-0CA62F404D4C}</ProjectGuid>\n    <OutputType>Library</OutputType>\n    <AppDesignerFolder>Properties</AppDesignerFolder>\n    <RootNamespace>UAOOI.Networking.DataRepository.DataLogger</RootNamespace>\n    <AssemblyName>UAOOI.Networking.DataRepository.DataLogger.UnitTest</AssemblyName>\n    <TargetFrameworkVersion>v4.7.2</TargetFrameworkVersion>\n    <FileAlignment>512</FileAlignment>\n    <ProjectTypeGuids>{3AC096D0-A1C2-E12C-1390-A8335801FDAB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>\n    <VisualStudioVersion Condition=\"'$(VisualStudioVersion)' == ''\">15.0</VisualStudioVersion>\n    <VSToolsPath Condition=\"'$(VSToolsPath)' == ''\">$(MSBuildExtensionsPath32)\\Microsoft\\VisualStudio\\v$(VisualStudioVersion)</VSToolsPath>\n    <ReferencePath>$(ProgramFiles)\\Common Files\\microsoft shared\\VSTT\\$(VisualStudioVersion)\\UITestExtensionPackages</ReferencePath>\n    <IsCodedUITest>False</IsCodedUITest>\n    <TestProjectType>UnitTest</TestProjectType>\n    <NuGetPackageImportStamp>\n    </NuGetPackageImportStamp>\n    <TargetFrameworkProfile />\n  </PropertyGroup>\n  <PropertyGroup Condition=\" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' \">\n    <DebugSymbols>true</DebugSymbols>\n    <DebugType>full</DebugType>\n    <Optimize>false</Optimize>\n    <OutputPath>bin\\Debug\\</OutputPath>\n    <DefineConstants>DEBUG;TRACE</DefineConstants>\n    <ErrorReport>prompt</ErrorReport>\n    <WarningLevel>4</WarningLevel>\n    <NoWarn>IDE0001</NoWarn>\n  </PropertyGroup>\n  <PropertyGroup Condition=\" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' \">\n    <DebugType>pdbonly</DebugType>\n    <Optimize>true</Optimize>\n    <OutputPath>bin\\Release\\</OutputPath>\n    <DefineConstants>TRACE</DefineConstants>\n    <ErrorReport>prompt</ErrorReport>\n    <WarningLevel>4</WarningLevel>\n  </PropertyGroup>\n  <PropertyGroup>\n    <SignAssembly>true</SignAssembly>\n  </PropertyGroup>\n  <PropertyGroup>\n    <AssemblyOriginatorKeyFile>OPCUAOOIKey.snk</AssemblyOriginatorKeyFile>\n  </PropertyGroup>\n  <ItemGroup>\n    <Reference Include=\"CommonServiceLocator, Version=2.0.6.0, Culture=neutral, PublicKeyToken=489b6accfaf20ef0, processorArchitecture=MSIL\">\n      <HintPath>..\\..\\..\\packages\\CommonServiceLocator.2.0.6\\lib\\net47\\CommonServiceLocator.dll</HintPath>\n    </Reference>\n    <Reference Include=\"Microsoft.VisualStudio.TestPlatform.TestFramework, Version=14.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL\">\n      <HintPath>..\\..\\..\\packages\\MSTest.TestFramework.2.2.10\\lib\\net45\\Microsoft.VisualStudio.TestPlatform.TestFramework.dll</HintPath>\n    </Reference>\n    <Reference Include=\"Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions, Version=14.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL\">\n      <HintPath>..\\..\\..\\packages\\MSTest.TestFramework.2.2.10\\lib\\net45\\Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.dll</HintPath>\n    </Reference>\n    <Reference Include=\"System\" />\n    <Reference Include=\"System.Core\" />\n    <Reference Include=\"System.Diagnostics.TraceSource, Version=4.0.1.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL\">\n      <HintPath>..\\..\\..\\packages\\System.Diagnostics.TraceSource.4.3.0\\lib\\net46\\System.Diagnostics.TraceSource.dll</HintPath>\n      <Private>True</Private>\n      <Private>True</Private>\n    </Reference>\n  </ItemGroup>\n  <ItemGroup>\n    <Compile Include=\"DataConsumerUnitTest.cs\" />\n    <Compile Include=\"Diagnostic\\DataLoggerEventSourceUnitTest.cs\" />\n    <Compile Include=\"Instrumentation\\TestConsumerViewModel.cs\" />\n    <Compile Include=\"Properties\\AssemblyInfo.cs\" />\n    <Compile Include=\"ConsumerViewModelUnit.cs\" />\n    <Compile Include=\"ConsumerConfigurationFactoryUnitTest.cs\" />\n  </ItemGroup>\n  <ItemGroup>\n    <None Include=\"app.config\" />\n    <None Include=\"OPCUAOOIKey.snk\" />\n    <None Include=\"packages.config\" />\n  </ItemGroup>\n  <ItemGroup>\n    <ProjectReference Include=\"..\\..\\..\\Configuration\\Networking\\Configuration.Networking.csproj\">\n      <Project>{e28e0880-03aa-4d1b-a820-41b04e766019}</Project>\n      <Name>Configuration.Networking</Name>\n    </ProjectReference>\n    <ProjectReference Include=\"..\\..\\ReferenceApplication.Core\\Networking.ReferenceApplication.Core.csproj\">\n      <Project>{2238851e-4db8-46b0-b38d-0e2315fe153e}</Project>\n      <Name>Networking.ReferenceApplication.Core</Name>\n    </ProjectReference>\n    <ProjectReference Include=\"..\\DataLogger\\Networking.DataLogger.csproj\">\n      <Project>{3781b8ca-3128-45dc-89c9-981740357630}</Project>\n      <Name>Networking.DataLogger</Name>\n    </ProjectReference>\n  </ItemGroup>\n  <Import Project=\"$(VSToolsPath)\\TeamTest\\Microsoft.TestTools.targets\" Condition=\"Exists('$(VSToolsPath)\\TeamTest\\Microsoft.TestTools.targets')\" />\n  <Import Project=\"$(MSBuildToolsPath)\\Microsoft.CSharp.targets\" />\n  <Target Name=\"EnsureNuGetPackageBuildImports\" BeforeTargets=\"PrepareForBuild\">\n    <PropertyGroup>\n      <ErrorText>This project references NuGet package(s) that are missing on this computer. Use NuGet Package Restore to download them.  For more information, see http://go.microsoft.com/fwlink/?LinkID=322105. The missing file is {0}.</ErrorText>\n    </PropertyGroup>\n    <Error Condition=\"!Exists('..\\..\\..\\packages\\MSTest.TestAdapter.2.2.10\\build\\net46\\MSTest.TestAdapter.props')\" Text=\"$([System.String]::Format('$(ErrorText)', '..\\..\\..\\packages\\MSTest.TestAdapter.2.2.10\\build\\net46\\MSTest.TestAdapter.props'))\" />\n    <Error Condition=\"!Exists('..\\..\\..\\packages\\MSTest.TestAdapter.2.2.10\\build\\net46\\MSTest.TestAdapter.targets')\" Text=\"$([System.String]::Format('$(ErrorText)', '..\\..\\..\\packages\\MSTest.TestAdapter.2.2.10\\build\\net46\\MSTest.TestAdapter.targets'))\" />\n  </Target>\n  <Import Project=\"..\\..\\..\\packages\\MSTest.TestAdapter.2.2.10\\build\\net46\\MSTest.TestAdapter.targets\" Condition=\"Exists('..\\..\\..\\packages\\MSTest.TestAdapter.2.2.10\\build\\net46\\MSTest.TestAdapter.targets')\" />\n</Project>"
  },
  {
    "path": "Networking/DataRepository/DataLogger.UnitTest/Properties/AssemblyInfo.cs",
    "content": "//___________________________________________________________________________________\n//\n//  Copyright (C) 2019, Mariusz Postol LODZ POLAND.\n//\n//  To be in touch join the community at GITTER: https://gitter.im/mpostol/OPC-UA-OOI\n//___________________________________________________________________________________\n\nusing System.Reflection;\nusing System.Runtime.InteropServices;\n\n[assembly: AssemblyTitle(\"Networking.DataLogger.UnitTest\")]\n[assembly: AssemblyDescription(\"Networking DataLogger UnitTest\")]\n[assembly: AssemblyConfiguration(\"\")]\n[assembly: AssemblyCompany(\"commsvr.com\")]\n[assembly: AssemblyProduct(\"Networking.DataLogger.UnitTest\")]\n[assembly: AssemblyCopyright(\"Copyright ©  2018\")]\n[assembly: AssemblyTrademark(\"\")]\n[assembly: AssemblyCulture(\"\")]\n[assembly: ComVisible(false)]\n[assembly: Guid(\"45be72f2-3f5b-4d13-b931-0ca62f404d4c\")]\n[assembly: AssemblyVersion(\"4.0.1.*\")]\n[assembly: AssemblyFileVersion(\"4.0.1.0\")]\n"
  },
  {
    "path": "Networking/DataRepository/DataLogger.UnitTest/app.config",
    "content": "﻿<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<configuration>\n  <runtime>\n    <assemblyBinding xmlns=\"urn:schemas-microsoft-com:asm.v1\">\n      <dependentAssembly>\n        <assemblyIdentity name=\"CommonServiceLocator\" publicKeyToken=\"489b6accfaf20ef0\" culture=\"neutral\" />\n        <bindingRedirect oldVersion=\"0.0.0.0-2.0.6.0\" newVersion=\"2.0.6.0\" />\n      </dependentAssembly>\n      <dependentAssembly>\n        <assemblyIdentity name=\"UAOOI.Common.Infrastructure\" publicKeyToken=\"deede3c2df331bb0\" culture=\"neutral\" />\n        <bindingRedirect oldVersion=\"0.0.0.0-4.0.2.0\" newVersion=\"4.0.2.0\" />\n      </dependentAssembly>\n    </assemblyBinding>\n  </runtime>\n</configuration>"
  },
  {
    "path": "Networking/DataRepository/DataLogger.UnitTest/packages.config",
    "content": "﻿<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<packages>\n  <package id=\"CommonServiceLocator\" version=\"2.0.6\" targetFramework=\"net472\" />\n  <package id=\"MSTest.TestAdapter\" version=\"2.2.10\" targetFramework=\"net472\" />\n  <package id=\"MSTest.TestFramework\" version=\"2.2.10\" targetFramework=\"net472\" />\n  <package id=\"System.Diagnostics.TraceSource\" version=\"4.3.0\" targetFramework=\"net472\" />\n</packages>"
  },
  {
    "path": "Networking/Encoding/EncodingFactoryBinarySimple.cs",
    "content": "﻿//___________________________________________________________________________________\n//\n//  Copyright (C) 2018, Mariusz Postol LODZ POLAND.\n//\n//  To be in touch join the community at GITTER: https://gitter.im/mpostol/OPC-UA-OOI\n//___________________________________________________________________________________\n\nusing System;\nusing System.ComponentModel.Composition;\nusing UAOOI.Configuration.Networking.Serialization;\nusing UAOOI.Networking.SemanticData;\nusing UAOOI.Networking.SemanticData.DataRepository; //TODO Networking.SemanticData dependency on Networking.Encoding should be removed #323: IBinding\nusing UAOOI.Networking.SemanticData.Encoding;\n\nnamespace UAOOI.Networking.Encoding\n{\n\n  /// <summary>\n  /// Class EncodingFactoryBinarySimple - provides <see cref=\"IEncodingFactory\"/> functionality limited to encoding simple data only.\n  /// </summary>\n  /// <seealso cref=\"UAOOI.Networking.SemanticData.IEncodingFactory\" />\n  [Export(typeof(IEncodingFactory))]\n  [PartCreationPolicy(CreationPolicy.Shared)]\n  //TODO Networking.SemanticData dependency on Networking.Encoding should be removed #323: IEncodingFactory\n  public class EncodingFactoryBinarySimple : IEncodingFactory \n  {\n\n    #region IEncodingFactory\n    /// <summary>\n    /// Updates the value converter.\n    /// </summary>\n    /// <param name=\"binding\">An object responsible to transfer the value between the message and ultimate destination in the repository.</param>\n    /// <param name=\"repositoryGroup\">The repository group.</param>\n    /// <param name=\"sourceEncoding\">The source encoding.</param>\n    /// <exception cref=\"ArgumentOutOfRangeException\">\n    /// binding\n    /// </exception>\n    void IEncodingFactory.UpdateValueConverter(IBinding binding, string repositoryGroup, UATypeInfo sourceEncoding)\n    {\n      if (sourceEncoding.BuiltInType != binding.Encoding.BuiltInType)\n        throw new ArgumentOutOfRangeException(nameof(binding));\n    }\n    /// <summary>\n    /// Gets the ua decoder.\n    /// </summary>\n    /// <value>The ua decoder.</value>\n    IUAEncoder IEncodingFactory.UAEncoder { get; } = new UABinaryEncoderImplementation();\n    /// <summary>\n    /// Gets the decoder that provides methods to be used to decode OPC UA Built-in types.\n    /// </summary>\n    /// <value>The object implementing <see cref=\"T:UAOOI.Networking.SemanticData.Encoding.IUADecoder\" /> interface.</value>\n    /// <exception cref=\"System.NotImplementedException\"></exception>\n    IUADecoder IEncodingFactory.UADecoder { get; } = new UABinaryDecoderImplementation();\n    #endregion\n\n  }\n\n}\n"
  },
  {
    "path": "Networking/Encoding/Networking.Encoding.csproj",
    "content": "﻿<Project Sdk=\"Microsoft.NET.Sdk\">\n\n  <PropertyGroup>\n    <TargetFramework>netstandard2.0</TargetFramework>\n    <SignAssembly>true</SignAssembly>\n    <AssemblyOriginatorKeyFile>OPCUAOOIKey.snk</AssemblyOriginatorKeyFile>\n    <AssemblyName>UAOOI.Networking.Encoding</AssemblyName>\n    <RootNamespace>UAOOI.Networking.Encoding</RootNamespace>\n    <Version>4.0.2</Version>\n    <Authors>MPostol</Authors>\n    <Company>commsvr.com</Company>\n    <Product>Object Oriented Internet</Product>\n    <Description>This part provides functionality to lookup a dictionary containing value converters. The interface is used for late binding to inject dependency on the external library.  This library provides IEncodingFactory functionality  limited to encoding simple data types only  for the testing purpose only.</Description>\n    <Copyright>Copyright MPostol (c) 2018</Copyright>\n    <PackageProjectUrl>https://commsvr.gitbook.io/ooi</PackageProjectUrl>\n    <RepositoryUrl>https://github.com/mpostol/OPC-UA-OOI</RepositoryUrl>\n    <RepositoryType>GitHub</RepositoryType>\n    <PackageTags>Object Oriented Internet, OPC UA, CommServer, Reactive Networking.</PackageTags>\n    <PackageReleaseNotes>Main purpose of this release is to support implementation of the interoperability tests defined by the OPC Foundation. In the production environment, you may simply replace this library by a custom one providing unlimited encoding functionality.\n</PackageReleaseNotes>\n    <AssemblyVersion>4.0.2.0</AssemblyVersion>\n    <GeneratePackageOnBuild>false</GeneratePackageOnBuild>\n  </PropertyGroup>\n\n  <ItemGroup>\n    <PackageReference Include=\"System.ComponentModel.Composition\" Version=\"6.0.0\" />\n  </ItemGroup>\n\n  <ItemGroup>\n    <ProjectReference Include=\"..\\SemanticData\\Networking.SemanticData.csproj\" />\n  </ItemGroup>\n\n  <ItemGroup>\n    <None Update=\"Networking.Encoding.nuspec.nuspec\">\n      <DesignTime>True</DesignTime>\n      <AutoGen>True</AutoGen>\n      <DependentUpon>Networking.Encoding.nuspec.tt</DependentUpon>\n    </None>\n    <None Update=\"Networking.Encoding.nuspec.tt\">\n      <Generator>TextTemplatingFileGenerator</Generator>\n      <LastGenOutput>Networking.Encoding.nuspec.nuspec</LastGenOutput>\n    </None>\n  </ItemGroup>\n\n  <ItemGroup>\n    <Service Include=\"{508349b6-6b84-4df5-91f0-309beebad82d}\" />\n  </ItemGroup>\n\n</Project>\n"
  },
  {
    "path": "Networking/Encoding/Networking.Encoding.nuspec.nuspec",
    "content": "﻿<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<package xmlns=\"http://schemas.microsoft.com/packaging/2012/06/nuspec.xsd\">\n  <metadata>\n    <id>UAOOI.Networking.Encoding</id>\n    <version>4.0.2</version>\n    <title>Object Oriented Internet Networking Encoding</title>\n    <authors>Mariusz Postol</authors>\n    <owners>Mariusz Postol</owners>\n    <requireLicenseAcceptance>false</requireLicenseAcceptance>\n    <license type=\"expression\">MIT</license>\n    <projectUrl>https://github.com/mpostol/OPC-UA-OOI</projectUrl>\n    <icon>logo.png</icon>\n    <description>This part provides implementation of the IEncodingFactory to lookup a dictionary containing value converters. The interface is used for late binding to inject dependency on the external library. This library provides IEncodingFactory functionality limited to encoding simple data types only for the testing purpose only.</description>\n    <releaseNotes>Main purpose of this release is to support implementation of the interoperability tests defined by the OPC Foundation. In the production environment, you may simply replace this library by a custom one providing unlimited encoding functionality.</releaseNotes>\n    <summary>IEncodingFactory implementation.</summary>    \n    <copyright>Copyright (C) 2022 Mariusz Postol LODZ POLAND</copyright>\n    <tags>Object Oriented Internet, OPC UA, Information Model, IoT, M2M, DOA,</tags>\n    <repository type=\"GitHub\" url=\"https://github.com/mpostol/OPC-UA-OOI/tree/master/Networking/Encoding#encoding-library\" />\n    <dependencies>\n      <group targetFramework=\".NETStandard2.0\">\n        <dependency id=\"System.ComponentModel.Composition\" version=\"4.7.0\" exclude=\"Build,Analyzers\" />\n        <dependency id=\"UAOOI.Configuration.Networking\" version=\"4.0.1\" exclude=\"Build,Analyzers\" />\n        <dependency id=\"UAOOI.Networking.SemanticData\" version=\"4.0.2\" exclude=\"Build,Analyzers\" />\n      </group>\n    </dependencies>\n    <copyright>Copyright (C) 2022 Mariusz Postol LODZ POLAND</copyright>\n  </metadata>\n  <files>\n    <file src=\"logo.png\" target=\"\"/>\n    <file src=\"bin\\Release\\netstandard2.0\\UAOOI.Networking.Encoding.dll\" target=\"lib\\netstandard2.0\\UAOOI.Networking.Encoding.dll\" />\n  </files>\n</package>\n\n"
  },
  {
    "path": "Networking/Encoding/Networking.Encoding.nuspec.tt",
    "content": "﻿<#@ template debug=\"false\" hostspecific=\"false\" language=\"C#\" #>\n<#@ output extension=\".nuspec\" #>\n<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<package xmlns=\"http://schemas.microsoft.com/packaging/2012/06/nuspec.xsd\">\n  <metadata>\n    <id>UAOOI.Networking.Encoding</id>\n    <version>4.0.2</version>\n    <title><#=NetworkingDataProduct#> Networking Encoding</title>\n    <authors><#=AssemblyCompany#></authors>\n    <owners><#=Owner#></owners>\n    <requireLicenseAcceptance>false</requireLicenseAcceptance>\n    <license type=\"expression\">MIT</license>\n    <projectUrl><#=Url#></projectUrl>\n    <icon>logo.png</icon>\n    <description>This part provides implementation of the IEncodingFactory to lookup a dictionary containing value converters. The interface is used for late binding to inject dependency on the external library. This library provides IEncodingFactory functionality limited to encoding simple data types only for the testing purpose only.</description>\n    <releaseNotes>Main purpose of this release is to support implementation of the interoperability tests defined by the OPC Foundation. In the production environment, you may simply replace this library by a custom one providing unlimited encoding functionality.</releaseNotes>\n    <summary>IEncodingFactory implementation.</summary>    \n    <copyright><#=AssemblyCopyright#></copyright>\n    <tags>Object Oriented Internet, OPC UA, Information Model, IoT, M2M, DOA,</tags>\n    <repository type=\"GitHub\" url=\"https://github.com/mpostol/OPC-UA-OOI/tree/master/Networking/Encoding#encoding-library\" />\n    <dependencies>\n      <group targetFramework=\".NETStandard2.0\">\n        <dependency id=\"System.ComponentModel.Composition\" version=\"4.7.0\" exclude=\"Build,Analyzers\" />\n        <dependency id=\"UAOOI.Configuration.Networking\" version=\"4.0.1\" exclude=\"Build,Analyzers\" />\n        <dependency id=\"UAOOI.Networking.SemanticData\" version=\"4.0.2\" exclude=\"Build,Analyzers\" />\n      </group>\n    </dependencies>\n    <copyright><#=AssemblyCopyright#></copyright>\n  </metadata>\n  <files>\n    <file src=\"logo.png\" target=\"\"/>\n    <file src=\"bin\\Release\\netstandard2.0\\UAOOI.Networking.Encoding.dll\" target=\"lib\\netstandard2.0\\UAOOI.Networking.Encoding.dll\" />\n  </files>\n</package>\n\n<#@ include file = \"..\\..\\CommonResources\\T4Definitions\\Model.t4\" #>\n"
  },
  {
    "path": "Networking/Encoding/README.md",
    "content": "# Encoding Library\n\n## Getting Started\n\nThis library is a loosely coupled part of the `ReferenceApplication` described in the section [Reference Application Graphical User Interface](../ReferenceApplication/README.MD). The main purpose of this library is the interoperability testing and diagnostic.\n\nIt provides `UAOOI.Networking.SemanticData.IEncodingFactory` limited implementation in the class `EncodingFactoryBinarySimple`.  Using this implementation the library can encode/decode only simple data types. The `ReferenceApplication` uses implementation of this class for late binding to inject dependency on the encoding functionality.  \n\nThe implementation of the `UAOOI.Networking.SemanticData.Encoding.IUADecoder` interface is provided by the `UABinaryDecoderImplementation`. The implementation of the `UAOOI.Networking.SemanticData.Encoding.IUAEncoder` interface is provided in the `UABinaryEncoderImplementation`;\n\nThis `UpdateValueConverter` method is responsible to lookup a dictionary containing value converters and if any assigns it to `IBinding.Converter` property. This method doesn't support this functionality and left the property unassigned.\n\nThis library may be easily replaced by a custom one - change the composition contract in:\n\n- `UAOOI.Networking.DataLogger.LoggerManagementSetup`\n- `UAOOI.Networking.SimulatorInteroperabilityTest.SimulatorDataManagementSetup`\n\n## Current release\n\nThis library has been released as the NuGet package [UAOOI.Networking.Encoding](https://www.nuget.org/packages/UAOOI.Networking.Encoding).\n\nMain purpose of this release is to support implementation of the interoperability tests defined by the OPC Foundation. In the production environment, you may simply replace this library by a custom one providing unlimited encoding functionality.\n\n## Contributing\n\nPlease read CONTRIBUTING.md for details on our code of conduct, and the process for submitting pull requests to us.\n\nConsider expanding functionality in this library by implementing the methods in classes: `UABinaryDecoderImplementation` and `UABinaryEncoderImplementation`.\n\n## Running tests\n\nThe library is not Unit Tested.\n\n## See also\n\n- [Reference Application Graphical User Interface](../ReferenceApplication/README.MD)\n- [Reference Application Consumer - Data Logger](../DataRepository/DataLogger/README.md)\n- [Reference Application Producer - Interoperability Test Data Generator](../SimulatorInteroperabilityTest/README.md)\n"
  },
  {
    "path": "Networking/Encoding/README.nupkg.md",
    "content": "# Encoding Library\n\n## Getting Started\n\nThis library is a loosely coupled part of the `ReferenceApplication` described in the document [Walk-through ReferenceApplication](https://commsvr.gitbook.io/ooi/reactive-communication/referenceapplication). The main purpose of this library is the interoperability testing and diagnostic. Check out the `Source repository` to get detailed description.\n\nIt provides `UAOOI.Networking.SemanticData.IEncodingFactory` implementation in the class `EncodingFactoryBinarySimple`.  Using this implementation the library can encode/decode only simple data types. The `ReferenceApplication` uses implementation of this class for late binding to inject dependency on the encoding functionality.  \n\nThe implementation of the `UAOOI.Networking.SemanticData.Encoding.IUADecoder` interface is provided by the `UABinaryDecoderImplementation`. The implementation of the `UAOOI.Networking.SemanticData.Encoding.IUAEncoder` interface is provided in the `UABinaryEncoderImplementation`;\n\nThis `UpdateValueConverter` method is responsible to lookup a dictionary containing value converters and if any assigns it to `IBinding.Converter` property.\n\nThis library may be easily replaced by a custom one - change the composition contract in:\n\n- `UAOOI.Networking.DataLogger.LoggerManagementSetup`\n- `UAOOI.Networking.SimulatorInteroperabilityTest.SimulatorDataManagementSetup`\n\n"
  },
  {
    "path": "Networking/Encoding/UABinaryDecoderImplementation.cs",
    "content": "﻿\nusing System;\nusing System.Xml;\nusing UAOOI.Networking.SemanticData.Encoding;\n\nnamespace UAOOI.Networking.Encoding\n{\n  /// <summary>\n  /// Class UABinaryDecoderImplementation - limited implementation of the <see cref=\"UABinaryDecoder\"/> for the testing purpose only.\n  /// </summary>\n  internal class UABinaryDecoderImplementation : UABinaryDecoder\n  {\n    /// <summary>\n    /// If implemented by a derived class reads an instance of <see cref=\"UAOOI.Networking.SemanticData.Encoding.IDataValue\" /> from UA Binary encoded stream.\n    /// </summary>\n    /// <param name=\"decoder\">The decoder <see cref=\"UAOOI.Networking.SemanticData.Encoding.IBinaryDecoder\" /> to be used to read form the stream.</param>\n    /// <returns>The <see cref=\"UAOOI.Networking.SemanticData.Encoding.IDataValue\" /> decoded from the UA binary stream of bytes.</returns>\n    /// <exception cref=\"NotImplementedException\"></exception>\n    public override IDataValue ReadDataValue(IBinaryDecoder decoder)\n    {\n      throw new NotImplementedException();\n    }\n    /// <summary>\n    /// If implemented by a derived class reads an instance of <see cref=\"UAOOI.Networking.SemanticData.Encoding.IDiagnosticInfo\" /> from UA Binary encoded stream.\n    /// </summary>\n    /// <param name=\"decoder\">The decoder <see cref=\"UAOOI.Networking.SemanticData.Encoding.IBinaryDecoder\" /> to be used to read form the stream.</param>\n    /// <returns>The <see cref=\"UAOOI.Networking.SemanticData.Encoding.IDiagnosticInfo\" /> decoded from the UA binary stream of bytes.</returns>\n    /// <exception cref=\"NotImplementedException\"></exception>\n    public override IDiagnosticInfo ReadDiagnosticInfo(IBinaryDecoder decoder)\n    {\n      throw new NotImplementedException();\n    }\n    /// <summary>\n    /// If implemented by a derived class reads an instance of <see cref=\"UAOOI.Networking.SemanticData.Encoding.IExpandedNodeId\" /> from UA Binary encoded stream.\n    /// </summary>\n    /// <param name=\"decoder\">The decoder <see cref=\"UAOOI.Networking.SemanticData.Encoding.IBinaryDecoder\" /> to be used to read form the stream.</param>\n    /// <returns>The <see cref=\"UAOOI.Networking.SemanticData.Encoding.IExpandedNodeId\" /> decoded from the UA binary stream of bytes.</returns>\n    /// <exception cref=\"NotImplementedException\"></exception>\n    public override IExpandedNodeId ReadExpandedNodeId(IBinaryDecoder decoder)\n    {\n      throw new NotImplementedException();\n    }\n    /// <summary>\n    /// If implemented by a derived class reads an instance of <see cref=\"UAOOI.Networking.SemanticData.Encoding.IExtensionObject\" /> from UA Binary encoded stream.\n    /// </summary>\n    /// <param name=\"decoder\">The decoder <see cref=\"UAOOI.Networking.SemanticData.Encoding.IBinaryDecoder\" /> to be used to read form the stream.</param>\n    /// <returns>The <see cref=\"UAOOI.Networking.SemanticData.Encoding.IExtensionObject\" /> decoded from the UA binary stream of bytes.</returns>\n    /// <exception cref=\"NotImplementedException\"></exception>\n    public override IExtensionObject ReadExtensionObject(IBinaryDecoder decoder)\n    {\n      throw new NotImplementedException();\n    }\n    /// <summary>\n    /// If implemented by a derived class reads an instance of <see cref=\"UAOOI.Networking.SemanticData.Encoding.ILocalizedText\" /> from UA Binary encoded stream.\n    /// </summary>\n    /// <param name=\"decoder\">The decoder <see cref=\"UAOOI.Networking.SemanticData.Encoding.IBinaryDecoder\" /> to be used to read form the stream.</param>\n    /// <returns>The <see cref=\"UAOOI.Networking.SemanticData.Encoding.ILocalizedText\" /> decoded from the UA binary stream of bytes.</returns>\n    /// <exception cref=\"NotImplementedException\"></exception>\n    public override ILocalizedText ReadLocalizedText(IBinaryDecoder decoder)\n    {\n      throw new NotImplementedException();\n    }\n    /// <summary>\n    /// If implemented by a derived class reads an instance of <see cref=\"UAOOI.Networking.SemanticData.Encoding.INodeId\" /> from UA Binary encoded stream.\n    /// </summary>\n    /// <param name=\"decoder\">The decoder <see cref=\"UAOOI.Networking.SemanticData.Encoding.IBinaryDecoder\" /> to be used to read form the stream.</param>\n    /// <returns>The <see cref=\"UAOOI.Networking.SemanticData.Encoding.INodeId\" /> decoded from the UA binary stream of bytes.</returns>\n    /// <exception cref=\"NotImplementedException\"></exception>\n    public override INodeId ReadNodeId(IBinaryDecoder decoder)\n    {\n      throw new NotImplementedException();\n    }\n    /// <summary>\n    /// If implemented by a derived class reads an instance of <see cref=\"UAOOI.Networking.SemanticData.Encoding.IQualifiedName\" /> from UA Binary encoded stream.\n    /// </summary>\n    /// <param name=\"decoder\">The decoder <see cref=\"UAOOI.Networking.SemanticData.Encoding.IBinaryDecoder\" /> to be used to read form the stream.</param>\n    /// <returns>The <see cref=\"UAOOI.Networking.SemanticData.Encoding.IQualifiedName\" /> decoded from the UA binary stream of bytes.</returns>\n    /// <exception cref=\"NotImplementedException\"></exception>\n    public override IQualifiedName ReadQualifiedName(IBinaryDecoder decoder)\n    {\n      throw new NotImplementedException();\n    }\n    /// <summary>\n    /// If implemented by a derived class reads an instance of <see cref=\"UAOOI.Networking.SemanticData.Encoding.IStatusCode\" /> from UA Binary encoded stream.\n    /// </summary>\n    /// <param name=\"decoder\">The decoder <see cref=\"UAOOI.Networking.SemanticData.Encoding.IBinaryDecoder\" /> to be used to read form the stream.</param>\n    /// <returns>The <see cref=\"UAOOI.Networking.SemanticData.Encoding.IStatusCode\" /> decoded from the UA binary stream of bytes.</returns>\n    /// <exception cref=\"NotImplementedException\"></exception>\n    public override IStatusCode ReadStatusCode(IBinaryDecoder decoder)\n    {\n      throw new NotImplementedException();\n    }\n    /// <summary>\n    /// If implemented by a derived class reads an instance of <see cref=\"System.Xml.XmlElement\" /> from UA Binary encoded stream.\n    /// </summary>\n    /// <param name=\"decoder\">The decoder <see cref=\"UAOOI.Networking.SemanticData.Encoding.IBinaryDecoder\" /> to be used to read form the stream.</param>\n    /// <returns>The <see cref=\"System.Xml.XmlElement\" /> decoded from the UA binary stream of bytes.</returns>\n    /// <exception cref=\"NotImplementedException\"></exception>\n    public override XmlElement ReadXmlElement(IBinaryDecoder decoder)\n    {\n      throw new NotImplementedException();\n    }\n  }\n}\n"
  },
  {
    "path": "Networking/Encoding/UABinaryEncoderImplementation.cs",
    "content": "﻿\nusing System;\nusing System.Xml;\nusing UAOOI.Networking.SemanticData.Encoding;\n\nnamespace UAOOI.Networking.Encoding\n{\n  /// <summary>\n  /// Class UABinaryEncoderImplementation - limited implementation of the <see cref=\"UABinaryEncoder\"/> for the testing purpose only.\n  /// </summary>\n  internal class UABinaryEncoderImplementation : UABinaryEncoder\n  {\n    /// <summary>\n    /// Writes <see cref=\"UAOOI.Networking.SemanticData.Encoding.IDataValue\" /> using the provided encoder <see cref=\"UAOOI.Networking.SemanticData.Encoding.IBinaryEncoder\" />.\n    /// </summary>\n    /// <param name=\"encoder\">The encoder - an object implementing the <see cref=\"UAOOI.Networking.SemanticData.Encoding.IBinaryEncoder\" /> interface.</param>\n    /// <param name=\"value\">The value to be encoded.</param>\n    /// <exception cref=\"NotImplementedException\"></exception>\n    public override void Write(IBinaryEncoder encoder, IDataValue value)\n    {\n      throw new NotImplementedException();\n    }\n    /// <summary>\n    /// Writes <see cref=\"UAOOI.Networking.SemanticData.Encoding.IDiagnosticInfo\" /> using the provided encoder <see cref=\"UAOOI.Networking.SemanticData.Encoding.IBinaryEncoder\" />.\n    /// </summary>\n    /// <param name=\"encoder\">The encoder - an object implementing the <see cref=\"UAOOI.Networking.SemanticData.Encoding.IBinaryEncoder\" /> interface.</param>\n    /// <param name=\"value\">The value to be encoded.</param>\n    /// <exception cref=\"NotImplementedException\"></exception>\n    public override void Write(IBinaryEncoder encoder, IDiagnosticInfo value)\n    {\n      throw new NotImplementedException();\n    }\n    /// <summary>\n    /// Writes <see cref=\"UAOOI.Networking.SemanticData.Encoding.IExpandedNodeId\" /> using the provided encoder <see cref=\"UAOOI.Networking.SemanticData.Encoding.IBinaryEncoder\" />.\n    /// </summary>\n    /// <param name=\"encoder\">The encoder - an object implementing the <see cref=\"UAOOI.Networking.SemanticData.Encoding.IBinaryEncoder\" /> interface.</param>\n    /// <param name=\"value\">The value to be encoded.</param>\n    /// <exception cref=\"NotImplementedException\"></exception>\n    public override void Write(IBinaryEncoder encoder, IExpandedNodeId value)\n    {\n      throw new NotImplementedException();\n    }\n    /// <summary>\n    /// Writes <see cref=\"UAOOI.Networking.SemanticData.Encoding.ILocalizedText\" /> using the provided encoder <see cref=\"UAOOI.Networking.SemanticData.Encoding.IBinaryEncoder\" />.\n    /// </summary>\n    /// <param name=\"encoder\">The encoder - an object implementing the <see cref=\"UAOOI.Networking.SemanticData.Encoding.IBinaryEncoder\" /> interface.</param>\n    /// <param name=\"value\">The value to be encoded.</param>\n    /// <exception cref=\"NotImplementedException\"></exception>\n    public override void Write(IBinaryEncoder encoder, IExtensionObject value)\n    {\n      throw new NotImplementedException();\n    }\n    /// <summary>\n    /// Writes <see cref=\"System.DateTime\" /> using the provided encoder <see cref=\"UAOOI.Networking.SemanticData.Encoding.IBinaryEncoder\" />.\n    /// </summary>\n    /// <param name=\"encoder\">The encoder - an object implementing the <see cref=\"UAOOI.Networking.SemanticData.Encoding.IBinaryEncoder\" /> interface.</param>\n    /// <param name=\"value\">The value to be encoded.</param>\n    /// <exception cref=\"NotImplementedException\"></exception>\n    public override void Write(IBinaryEncoder encoder, ILocalizedText value)\n    {\n      throw new NotImplementedException();\n    }\n    /// <summary>\n    /// Writes <see cref=\"UAOOI.Networking.SemanticData.Encoding.INodeId\" /> using the provided encoder <see cref=\"UAOOI.Networking.SemanticData.Encoding.IBinaryEncoder\" />.\n    /// </summary>\n    /// <param name=\"encoder\">The encoder - an object implementing the <see cref=\"UAOOI.Networking.SemanticData.Encoding.IBinaryEncoder\" /> interface.</param>\n    /// <param name=\"value\">The value to be encoded.</param>\n    /// <exception cref=\"NotImplementedException\"></exception>\n    public override void Write(IBinaryEncoder encoder, INodeId value)\n    {\n      throw new NotImplementedException();\n    }\n    /// <summary>\n    /// Writes <see cref=\"UAOOI.Networking.SemanticData.Encoding.IQualifiedName\" /> using the provided encoder <see cref=\"UAOOI.Networking.SemanticData.Encoding.IBinaryEncoder\" />.\n    /// </summary>\n    /// <param name=\"encoder\">The encoder - an object implementing the <see cref=\"UAOOI.Networking.SemanticData.Encoding.IBinaryEncoder\" /> interface.</param>\n    /// <param name=\"value\">The value to be encoded.</param>\n    /// <exception cref=\"NotImplementedException\"></exception>\n    public override void Write(IBinaryEncoder encoder, IQualifiedName value)\n    {\n      throw new NotImplementedException();\n    }\n    /// <summary>\n    /// Writes <see cref=\"UAOOI.Networking.SemanticData.Encoding.IStatusCode\" /> using the provided encoder <see cref=\"UAOOI.Networking.SemanticData.Encoding.IBinaryEncoder\" />.\n    /// </summary>\n    /// <param name=\"encoder\">The encoder - an object implementing the <see cref=\"UAOOI.Networking.SemanticData.Encoding.IBinaryEncoder\" /> interface.</param>\n    /// <param name=\"value\">The value to be encoded.</param>\n    /// <exception cref=\"NotImplementedException\"></exception>\n    public override void Write(IBinaryEncoder encoder, IStatusCode value)\n    {\n      throw new NotImplementedException();\n    }\n    /// <summary>\n    /// Writes <see cref=\"System.Xml.XmlElement\" /> using the provided encoder <see cref=\"UAOOI.Networking.SemanticData.Encoding.IBinaryEncoder\" />.\n    /// </summary>\n    /// <param name=\"encoder\">The encoder - an object implementing the <see cref=\"UAOOI.Networking.SemanticData.Encoding.IBinaryEncoder\" /> interface.</param>\n    /// <param name=\"value\">The value to be encoded.</param>\n    /// <exception cref=\"NotImplementedException\"></exception>\n    public override void Write(IBinaryEncoder encoder, XmlElement value)\n    {\n      throw new NotImplementedException();\n    }\n\n  }\n\n}\n"
  },
  {
    "path": "Networking/NetworkingCodeMap.dgml",
    "content": "﻿<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<DirectedGraph DataVirtualized=\"True\" FilterState=\"CodeMap_TestAsset,CodeMap_SolutionFolder\" Layout=\"Sugiyama\" ZoomLevel=\"-1\" xmlns=\"http://schemas.microsoft.com/vs/2009/dgml\">\n  <Nodes>\n    <Node Id=\"@10\" Category=\"CodeSchema_Assembly\" AssemblyTimestamp=\"09/18/2020 09:47:06\" Bounds=\"840.281748256349,54.9999999999999,215.176666666667,25\" CodeSchemaProperty_StrongName=\"UAOOI.Configuration.Core, Version=4.0.1.1, Culture=neutral, PublicKeyToken=deede3c2df331bb0\" DelayedChildNodesState=\"NotFetched\" DelayedCrossGroupLinksState=\"Fetched\" FilePath=\"$(0a2fb856-d50c-463d-8218-063a36942188.OutputPath)\" Group=\"Collapsed\" Label=\"UAOOI.Configuration.Core.dll\">\n      <Category Ref=\"FileSystem.Category.FileOfType.dll\" />\n    </Node>\n    <Node Id=\"@12\" Category=\"CodeSchema_Assembly\" AssemblyTimestamp=\"09/18/2020 09:47:06\" Bounds=\"441.185081589683,275,237.37,25\" CodeSchemaProperty_StrongName=\"UAOOI.Common.Infrastructure, Version=4.0.1.0, Culture=neutral, PublicKeyToken=deede3c2df331bb0\" DelayedChildNodesState=\"NotFetched\" DelayedCrossGroupLinksState=\"Fetched\" FilePath=\"$(8817a671-abb8-463a-a8a3-ddcfe781a6b6.OutputPath)\" Group=\"Collapsed\" Label=\"UAOOI.Common.Infrastructure.dll\">\n      <Category Ref=\"FileSystem.Category.FileOfType.dll\" />\n    </Node>\n    <Node Id=\"@14\" Category=\"CodeSchema_Assembly\" AssemblyTimestamp=\"09/18/2020 09:47:13\" Bounds=\"228.565081589683,110,228.61,24.9999999999999\" CodeSchemaProperty_StrongName=\"UAOOI.Networking.Encoding, Version=4.0.1.1, Culture=neutral, PublicKeyToken=deede3c2df331bb0\" DelayedChildNodesState=\"NotFetched\" DelayedCrossGroupLinksState=\"Fetched\" FilePath=\"$(2492aa3b-cf67-477a-b29e-14a1e348b939.OutputPath)\" Group=\"Collapsed\" Label=\"UAOOI.Networking.Encoding.dll\">\n      <Category Ref=\"FileSystem.Category.FileOfType.dll\" />\n    </Node>\n    <Node Id=\"@16\" Category=\"CodeSchema_Assembly\" AssemblyTimestamp=\"09/18/2020 09:47:08\" Bounds=\"1018.77508158968,220,252.19,25\" CodeSchemaProperty_StrongName=\"UAOOI.Configuration.Networking, Version=4.0.1.1, Culture=neutral, PublicKeyToken=deede3c2df331bb0\" DelayedChildNodesState=\"NotFetched\" DelayedCrossGroupLinksState=\"Fetched\" FilePath=\"$(e28e0880-03aa-4d1b-a820-41b04e766019.OutputPath)\" Group=\"Collapsed\" Label=\"UAOOI.Configuration.Networking.dll\">\n      <Category Ref=\"FileSystem.Category.FileOfType.dll\" />\n    </Node>\n    <Node Id=\"@18\" Category=\"CodeSchema_Assembly\" AssemblyTimestamp=\"09/18/2020 09:47:15\" Bounds=\"421.440081589682,55,324.86,25\" CodeSchemaProperty_StrongName=\"UAOOI.Networking.DataRepository.DataLogger, Version=4.0.1.1, Culture=neutral, PublicKeyToken=deede3c2df331bb0\" DelayedChildNodesState=\"NotFetched\" DelayedCrossGroupLinksState=\"Fetched\" FilePath=\"$(3781b8ca-3128-45dc-89c9-981740357630.OutputPath)\" Group=\"Collapsed\" Label=\"UAOOI.Networking.DataRepository.DataLogger.dll\">\n      <Category Ref=\"FileSystem.Category.FileOfType.dll\" />\n    </Node>\n    <Node Id=\"@2\" Category=\"CodeSchema_Assembly\" AssemblyTimestamp=\"09/18/2020 09:48:36\" Bounds=\"627.956748256349,0,297.826666666667,25\" CodeSchemaProperty_StrongName=\"UAOOI.Networking.ReferenceApplication, Version=4.0.1.21221, Culture=neutral, PublicKeyToken=deede3c2df331bb0\" DelayedChildNodesState=\"NotFetched\" DelayedCrossGroupLinksState=\"Fetched\" FilePath=\"$(f0accb28-ae0d-4e19-94fa-7be3044f1eeb.OutputPath)\" Group=\"Collapsed\" Label=\"UAOOI.Networking.ReferenceApplication.exe\">\n      <Category Ref=\"CodeMap_WpfProject\" />\n      <Category Ref=\"FileSystem.Category.FileOfType.exe\" />\n    </Node>\n    <Node Id=\"@20\" Category=\"CodeSchema_Assembly\" Bounds=\"839.465081589683,110,262.81,25\" CodeSchemaProperty_StrongName=\"UAOOI.Networking.Simulator.Boiler, Version=4.0.1.1, Culture=neutral, PublicKeyToken=deede3c2df331bb0\" DelayedChildNodesState=\"NotFetched\" DelayedCrossGroupLinksState=\"Fetched\" FilePath=\"$(3ce5cca6-0ead-49ef-ab69-d1f17a9c6d43.OutputPath)\" Group=\"Collapsed\" Label=\"UAOOI.Networking.Simulator.Boiler.dll\" />\n    <Node Id=\"@22\" Category=\"CodeSchema_Assembly\" AssemblyTimestamp=\"09/18/2020 09:47:17\" CodeSchemaProperty_StrongName=\"UAOOI.Networking.DataRepository.AzureGateway.Test, Version=1.0.0.0, Culture=neutral, PublicKeyToken=deede3c2df331bb0\" DelayedChildNodesState=\"NotFetched\" DelayedCrossGroupLinksState=\"Fetched\" FilePath=\"$(f7fdddcc-58c7-44e0-8de3-6a94e6222d03.OutputPath)\" Group=\"Collapsed\" Label=\"UAOOI.Networking.DataRepository.AzureGateway.Test.dll\">\n      <Category Ref=\"CodeMap_TestAsset\" />\n      <Category Ref=\"CodeMap_TestProject\" />\n      <Category Ref=\"FileSystem.Category.FileOfType.dll\" />\n    </Node>\n    <Node Id=\"@24\" Category=\"CodeSchema_Assembly\" Bounds=\"59.1817482563495,55,331.376666666667,25\" CodeSchemaProperty_StrongName=\"UAOOI.Networking.SimulatorInteroperabilityTest, Version=4.0.1.1, Culture=neutral, PublicKeyToken=deede3c2df331bb0\" DelayedChildNodesState=\"NotFetched\" DelayedCrossGroupLinksState=\"Fetched\" FilePath=\"$(5d2a0688-95e3-400a-b789-49052389d2b1.OutputPath)\" Group=\"Collapsed\" Label=\"UAOOI.Networking.SimulatorInteroperabilityTest.dll\" />\n    <Node Id=\"@26\" Category=\"CodeSchema_Assembly\" AssemblyTimestamp=\"09/18/2020 09:47:12\" Bounds=\"1132.58008158968,110,338.58,25\" CodeSchemaProperty_StrongName=\"UAOOI.Networking.DataRepository.AzureGateway, Version=1.0.0.0, Culture=neutral, PublicKeyToken=deede3c2df331bb0\" DelayedChildNodesState=\"NotFetched\" DelayedCrossGroupLinksState=\"Fetched\" FilePath=\"$(3f5cbb26-9142-4e55-8de5-5baf0c3ea1ce.OutputPath)\" Group=\"Collapsed\" Label=\"UAOOI.Networking.DataRepository.AzureGateway.dll\" />\n    <Node Id=\"@4\" Category=\"CodeSchema_Assembly\" AssemblyTimestamp=\"09/18/2020 09:47:10\" Bounds=\"420.650081589682,165,252.44,25\" CodeSchemaProperty_StrongName=\"UAOOI.Networking.SemanticData, Version=4.0.1.1, Culture=neutral, PublicKeyToken=deede3c2df331bb0\" DelayedChildNodesState=\"NotFetched\" DelayedCrossGroupLinksState=\"Fetched\" FilePath=\"$(7f4ded4e-5933-4229-b9cc-51da49678904.OutputPath)\" Group=\"Collapsed\" Label=\"UAOOI.Networking.SemanticData.dll\">\n      <Category Ref=\"FileSystem.Category.FileOfType.dll\" />\n    </Node>\n    <Node Id=\"@6\" Category=\"CodeSchema_Assembly\" AssemblyTimestamp=\"09/18/2020 09:47:05\" Bounds=\"324.741748256349,220,204.256666666667,25\" CodeSchemaProperty_StrongName=\"UAOOI.Networking.Core, Version=4.0.1.1, Culture=neutral, PublicKeyToken=deede3c2df331bb0\" DelayedChildNodesState=\"NotFetched\" DelayedCrossGroupLinksState=\"Fetched\" FilePath=\"$(afcca7c9-47fe-4fb6-935e-12d686eec58f.OutputPath)\" Group=\"Collapsed\" Label=\"UAOOI.Networking.Core.dll\">\n      <Category Ref=\"FileSystem.Category.FileOfType.dll\" />\n    </Node>\n    <Node Id=\"@8\" Category=\"CodeSchema_Assembly\" AssemblyTimestamp=\"09/18/2020 09:47:09\" Bounds=\"703.291748256349,165,319.156666666667,25\" CodeSchemaProperty_StrongName=\"UAOOI.Networking.ReferenceApplication.Core, Version=4.0.1.1, Culture=neutral, PublicKeyToken=deede3c2df331bb0\" DelayedChildNodesState=\"NotFetched\" DelayedCrossGroupLinksState=\"Fetched\" FilePath=\"$(2238851e-4db8-46b0-b38d-0e2315fe153e.OutputPath)\" Group=\"Collapsed\" Label=\"UAOOI.Networking.ReferenceApplication.Core.dll\">\n      <Category Ref=\"FileSystem.Category.FileOfType.dll\" />\n    </Node>\n    <Node Id=\"Common{6F7A6A18-FF7B-4D3B-8B1F-BD525E065174}\" Category=\"CodeMap_SolutionFolder\" Group=\"Expanded\" Label=\"Common\" />\n    <Node Id=\"Configuration{2148B4AF-8B02-45C3-89E7-AEACAE448DDA}\" Category=\"CodeMap_SolutionFolder\" Group=\"Expanded\" Label=\"Configuration\" />\n    <Node Id=\"DataRepository{20139208-1830-4DF2-A158-0C505DC05DF7}\" Category=\"CodeMap_SolutionFolder\" Group=\"Expanded\" Label=\"DataRepository\" />\n    <Node Id=\"Networking{F4178F51-3BFF-46DE-841D-C01D4ABA9B0C}\" Category=\"CodeMap_SolutionFolder\" Bounds=\"0,0,336.826666666667,85\" Group=\"Expanded\" Label=\"Networking\" />\n  </Nodes>\n  <Links>\n    <Link Source=\"@14\" Target=\"@12\" Category=\"CodeMap_ExternalReference\" Bounds=\"293.870086669922,135,171.465972900391,138.699951171875\" />\n    <Link Source=\"@14\" Target=\"@16\" Category=\"References\" Bounds=\"355.230407714844,135,663.388916015625,84.3708801269531\" IsSourceVirtualized=\"True\" IsTargetVirtualized=\"True\" Weight=\"3\">\n      <Category Ref=\"CodeMap_ExternalReference\" />\n      <Category Ref=\"CodeSchema_Calls\" />\n    </Link>\n    <Link Source=\"@14\" Target=\"@4\" Category=\"References\" Bounds=\"389.233703613281,135,102.5830078125,27.6571807861328\" IsSourceVirtualized=\"True\" IsTargetVirtualized=\"True\" Weight=\"47\">\n      <Category Ref=\"CodeMap_ProjectReference\" />\n      <Category Ref=\"CodeSchema_Calls\" />\n      <Category Ref=\"CodeSchema_ReturnTypeLink\" />\n      <Category Ref=\"Implements\" />\n      <Category Ref=\"InheritsFrom\" />\n    </Link>\n    <Link Source=\"@14\" Target=\"@6\" Category=\"CodeMap_ExternalReference\" Bounds=\"333.1455078125,135,62.865966796875,80.6958160400391\" />\n    <Link Source=\"@16\" Target=\"@12\" Category=\"References\" Bounds=\"686.064575195313,244.147537231445,334.918029785156,31.4880218505859\" IsSourceVirtualized=\"True\" IsTargetVirtualized=\"True\" Weight=\"8\">\n      <Category Ref=\"CodeMap_ProjectReference\" />\n      <Category Ref=\"CodeSchema_Calls\" />\n      <Category Ref=\"CodeSchema_ReturnTypeLink\" />\n      <Category Ref=\"Implements\" />\n    </Link>\n    <Link Source=\"@18\" Target=\"@12\" Category=\"CodeMap_ExternalReference\" Bounds=\"197.870086669922,80,270.829376220703,193.648101806641\" />\n    <Link Source=\"@18\" Target=\"@14\" Category=\"CodeMap_ProjectReference\" Bounds=\"406.417205810547,80,122.680145263672,27.9975433349609\" />\n    <Link Source=\"@18\" Target=\"@16\" Category=\"References\" Bounds=\"744.445556640625,78.8866653442383,758.774658203125,140.834678649902\" IsSourceVirtualized=\"True\" IsTargetVirtualized=\"True\" Weight=\"26\">\n      <Category Ref=\"CodeMap_ExternalReference\" />\n      <Category Ref=\"CodeSchema_Calls\" />\n      <Category Ref=\"InheritsFrom\" />\n    </Link>\n    <Link Source=\"@18\" Target=\"@4\" Category=\"References\" Bounds=\"560.302734375,80,23.5673217773438,77.5325012207031\" IsSourceVirtualized=\"True\" IsTargetVirtualized=\"True\" Weight=\"21\">\n      <Category Ref=\"CodeMap_ProjectReference\" />\n      <Category Ref=\"CodeSchema_Calls\" />\n      <Category Ref=\"CodeSchema_ReturnTypeLink\" />\n      <Category Ref=\"Implements\" />\n      <Category Ref=\"InheritsFrom\" />\n    </Link>\n    <Link Source=\"@18\" Target=\"@6\" Category=\"References\" Bounds=\"398.060485839844,80,178.536865234375,132.532501220703\" IsSourceVirtualized=\"True\" IsTargetVirtualized=\"True\" Weight=\"2\">\n      <Category Ref=\"CodeMap_ProjectReference\" />\n      <Category Ref=\"Implements\" />\n    </Link>\n    <Link Source=\"@18\" Target=\"@8\" Category=\"InheritsFrom\" Bounds=\"615.574645996094,80,207.218139648438,81.6989135742188\" IsSourceVirtualized=\"True\" IsTargetVirtualized=\"True\" Weight=\"7\">\n      <Category Ref=\"CodeMap_ProjectReference\" />\n      <Category Ref=\"CodeSchema_Calls\" />\n    </Link>\n    <Link Source=\"@2\" Target=\"@10\" Category=\"References\" Bounds=\"815.733703613281,25,84.7050170898438,27.2442970275879\" IsSourceVirtualized=\"True\" IsTargetVirtualized=\"True\" Weight=\"7\">\n      <Category Ref=\"CodeMap_ProjectReference\" />\n      <Category Ref=\"CodeSchema_Calls\" />\n      <Category Ref=\"CodeSchema_ReturnTypeLink\" />\n    </Link>\n    <Link Source=\"@2\" Target=\"@12\" Category=\"References\" Bounds=\"687.541687011719,22.8198089599609,878.328430175781,257.700149536133\" IsSourceVirtualized=\"True\" IsTargetVirtualized=\"True\" Weight=\"21\">\n      <Category Ref=\"CodeMap_ProjectReference\" />\n      <Category Ref=\"CodeSchema_Calls\" />\n      <Category Ref=\"CodeSchema_ReturnTypeLink\" />\n    </Link>\n    <Link Source=\"@2\" Target=\"@14\" Category=\"CodeMap_ProjectReference\" Bounds=\"35.3195991516113,18.7821807861328,592.637126922607,90.1647262573242\" />\n    <Link Source=\"@2\" Target=\"@18\" Category=\"References\" Bounds=\"636.389099121094,25,96.6173706054688,27.5334320068359\" IsSourceVirtualized=\"True\" IsTargetVirtualized=\"True\" Weight=\"4\">\n      <Category Ref=\"CodeMap_ProjectReference\" />\n      <Category Ref=\"CodeSchema_Calls\" />\n      <Category Ref=\"InheritsFrom\" />\n    </Link>\n    <Link Source=\"@2\" Target=\"@20\" Category=\"CodeMap_ProjectReference\" Bounds=\"880.7333984375,25,197.288208007813,81.1442108154297\" />\n    <Link Source=\"@2\" Target=\"@24\" Category=\"CodeMap_ProjectReference\" Bounds=\"359.2802734375,25,292.13525390625,29.1076774597168\" />\n    <Link Source=\"@2\" Target=\"@4\" Category=\"CodeMap_ProjectReference\" Bounds=\"607.89599609375,25,168.974060058594,137.906845092773\" />\n    <Link Source=\"@2\" Target=\"@6\" Category=\"References\" Bounds=\"10.2340459823608,18.9051723480225,617.722680091858,197.877084732056\" IsSourceVirtualized=\"True\" IsTargetVirtualized=\"True\" Weight=\"7\">\n      <Category Ref=\"CodeMap_ProjectReference\" />\n      <Category Ref=\"CodeSchema_Calls\" />\n    </Link>\n    <Link Source=\"@2\" Target=\"@8\" Category=\"References\" Bounds=\"784.142822265625,25,60.1492309570313,133.577926635742\" IsSourceVirtualized=\"True\" IsTargetVirtualized=\"True\" Weight=\"44\">\n      <Category Ref=\"CodeMap_ProjectReference\" />\n      <Category Ref=\"CodeSchema_Calls\" />\n      <Category Ref=\"CodeSchema_ReturnTypeLink\" />\n      <Category Ref=\"InheritsFrom\" />\n    </Link>\n    <Link Source=\"@20\" Target=\"@12\" Category=\"References\" Bounds=\"666.069396972656,135,393.345275878906,138.852905273438\" IsSourceVirtualized=\"True\" IsTargetVirtualized=\"True\" Weight=\"22\">\n      <Category Ref=\"CodeMap_ExternalReference\" />\n      <Category Ref=\"CodeSchema_Calls\" />\n      <Category Ref=\"CodeSchema_ReturnTypeLink\" />\n      <Category Ref=\"Implements\" />\n    </Link>\n    <Link Source=\"@20\" Target=\"@16\" Category=\"References\" Bounds=\"1005.4189453125,135,129.348754882813,76.9209899902344\" IsSourceVirtualized=\"True\" IsTargetVirtualized=\"True\" Weight=\"66\">\n      <Category Ref=\"CodeMap_ExternalReference\" />\n      <Category Ref=\"CodeSchema_Calls\" />\n      <Category Ref=\"CodeSchema_ReturnTypeLink\" />\n      <Category Ref=\"InheritsFrom\" />\n    </Link>\n    <Link Source=\"@20\" Target=\"@4\" Category=\"References\" Bounds=\"652.158935546875,135,222.347534179688,28.8422393798828\" IsSourceVirtualized=\"True\" IsTargetVirtualized=\"True\" Weight=\"17\">\n      <Category Ref=\"CodeMap_ProjectReference\" />\n      <Category Ref=\"CodeSchema_Calls\" />\n      <Category Ref=\"CodeSchema_ReturnTypeLink\" />\n      <Category Ref=\"Implements\" />\n      <Category Ref=\"InheritsFrom\" />\n    </Link>\n    <Link Source=\"@20\" Target=\"@6\" Category=\"References\" Bounds=\"533.553466796875,135,509.2802734375,84.2867431640625\" IsSourceVirtualized=\"True\" IsTargetVirtualized=\"True\" Weight=\"1\">\n      <Category Ref=\"CodeMap_ProjectReference\" />\n    </Link>\n    <Link Source=\"@20\" Target=\"@8\" Category=\"References\" Bounds=\"895.435485839844,135,50.88916015625,25.9157867431641\" IsSourceVirtualized=\"True\" IsTargetVirtualized=\"True\" Weight=\"13\">\n      <Category Ref=\"CodeMap_ProjectReference\" />\n      <Category Ref=\"CodeSchema_Calls\" />\n      <Category Ref=\"Implements\" />\n    </Link>\n    <Link Source=\"@22\" Target=\"@12\" Category=\"References\" IsSourceVirtualized=\"True\" IsTargetVirtualized=\"True\" Weight=\"5\">\n      <Category Ref=\"CodeMap_ProjectReference\" />\n    </Link>\n    <Link Source=\"@22\" Target=\"@16\" Category=\"References\" IsSourceVirtualized=\"True\" IsTargetVirtualized=\"True\" Weight=\"14\">\n      <Category Ref=\"CodeMap_ProjectReference\" />\n      <Category Ref=\"CodeSchema_Calls\" />\n    </Link>\n    <Link Source=\"@22\" Target=\"@26\" Category=\"References\" IsSourceVirtualized=\"True\" IsTargetVirtualized=\"True\" Weight=\"94\">\n      <Category Ref=\"CodeMap_ProjectReference\" />\n      <Category Ref=\"CodeSchema_Calls\" />\n    </Link>\n    <Link Source=\"@22\" Target=\"@4\" Category=\"References\" IsSourceVirtualized=\"True\" IsTargetVirtualized=\"True\" Weight=\"13\">\n      <Category Ref=\"CodeMap_ProjectReference\" />\n      <Category Ref=\"CodeSchema_Calls\" />\n    </Link>\n    <Link Source=\"@22\" Target=\"@6\" Category=\"References\" IsSourceVirtualized=\"True\" IsTargetVirtualized=\"True\" Weight=\"5\">\n      <Category Ref=\"CodeMap_ProjectReference\" />\n    </Link>\n    <Link Source=\"@22\" Target=\"@8\" Category=\"CodeMap_ProjectReference\" />\n    <Link Source=\"@24\" Target=\"@12\" Category=\"CodeMap_ExternalReference\" Bounds=\"133.870086669922,80,301.582092285156,194.385040283203\" />\n    <Link Source=\"@24\" Target=\"@14\" Category=\"CodeMap_ProjectReference\" Bounds=\"251.688262939453,80,56.2062377929688,26.1978149414063\" />\n    <Link Source=\"@24\" Target=\"@16\" Category=\"References\" Bounds=\"372.407104492188,80,1115.67883300781,138.629608154297\" IsSourceVirtualized=\"True\" IsTargetVirtualized=\"True\" Weight=\"35\">\n      <Category Ref=\"CodeMap_ExternalReference\" />\n      <Category Ref=\"CodeSchema_Calls\" />\n      <Category Ref=\"CodeSchema_ReturnTypeLink\" />\n      <Category Ref=\"InheritsFrom\" />\n    </Link>\n    <Link Source=\"@24\" Target=\"@4\" Category=\"References\" Bounds=\"309.383636474609,80,217.494171142578,78.8631134033203\" IsSourceVirtualized=\"True\" IsTargetVirtualized=\"True\" Weight=\"23\">\n      <Category Ref=\"CodeMap_ProjectReference\" />\n      <Category Ref=\"CodeSchema_Calls\" />\n      <Category Ref=\"CodeSchema_ReturnTypeLink\" />\n      <Category Ref=\"Implements\" />\n      <Category Ref=\"InheritsFrom\" />\n    </Link>\n    <Link Source=\"@24\" Target=\"@6\" Category=\"References\" Bounds=\"184.141052246094,80,196.690887451172,137.153945922852\" IsSourceVirtualized=\"True\" IsTargetVirtualized=\"True\" Weight=\"1\">\n      <Category Ref=\"CodeMap_ProjectReference\" />\n    </Link>\n    <Link Source=\"@24\" Target=\"@8\" Category=\"References\" Bounds=\"316.534576416016,80,474.366912841797,83.2521667480469\" IsSourceVirtualized=\"True\" IsTargetVirtualized=\"True\" Weight=\"13\">\n      <Category Ref=\"CodeMap_ProjectReference\" />\n      <Category Ref=\"CodeSchema_Calls\" />\n      <Category Ref=\"Implements\" />\n    </Link>\n    <Link Source=\"@26\" Target=\"@12\" Category=\"CodeMap_ExternalReference\" Bounds=\"687.546936035156,135,614.323181152344,147.065277099609\" />\n    <Link Source=\"@26\" Target=\"@16\" Category=\"References\" Bounds=\"1170.08190917969,135,113.947265625,79.835693359375\" IsSourceVirtualized=\"True\" IsTargetVirtualized=\"True\" Weight=\"30\">\n      <Category Ref=\"CodeMap_ExternalReference\" />\n      <Category Ref=\"CodeSchema_Calls\" />\n      <Category Ref=\"InheritsFrom\" />\n    </Link>\n    <Link Source=\"@26\" Target=\"@4\" Category=\"References\" Bounds=\"679.355224609375,134.068603515625,455.318603515625,30.7483673095703\" IsSourceVirtualized=\"True\" IsTargetVirtualized=\"True\" Weight=\"19\">\n      <Category Ref=\"CodeMap_ProjectReference\" />\n      <Category Ref=\"CodeSchema_Calls\" />\n      <Category Ref=\"CodeSchema_ReturnTypeLink\" />\n      <Category Ref=\"Implements\" />\n      <Category Ref=\"InheritsFrom\" />\n    </Link>\n    <Link Source=\"@26\" Target=\"@6\" Category=\"References\" Bounds=\"535.153442382813,135,732.171142578125,84.7500762939453\" IsSourceVirtualized=\"True\" IsTargetVirtualized=\"True\" Weight=\"2\">\n      <Category Ref=\"CodeMap_ExternalReference\" />\n      <Category Ref=\"Implements\" />\n    </Link>\n    <Link Source=\"@26\" Target=\"@8\" Category=\"References\" Bounds=\"971.572998046875,135,230.5244140625,28.8811798095703\" IsSourceVirtualized=\"True\" IsTargetVirtualized=\"True\" Weight=\"7\">\n      <Category Ref=\"CodeMap_ProjectReference\" />\n      <Category Ref=\"CodeSchema_Calls\" />\n      <Category Ref=\"Implements\" />\n    </Link>\n    <Link Source=\"@4\" Target=\"@12\" Category=\"CodeMap_ProjectReference\" Bounds=\"549.824645996094,190,10.04541015625,76\" />\n    <Link Source=\"@4\" Target=\"@16\" Category=\"References\" Bounds=\"671.177429199219,188.932952880859,340.535034179688,31.3201141357422\" IsSourceVirtualized=\"True\" IsTargetVirtualized=\"True\" Weight=\"221\">\n      <Category Ref=\"CodeMap_ProjectReference\" />\n      <Category Ref=\"CodeSchema_Calls\" />\n      <Category Ref=\"CodeSchema_ReturnTypeLink\" />\n    </Link>\n    <Link Source=\"@4\" Target=\"@6\" Category=\"References\" Bounds=\"462.324401855469,190,57.27294921875,26.2501068115234\" IsSourceVirtualized=\"True\" IsTargetVirtualized=\"True\" Weight=\"48\">\n      <Category Ref=\"CodeMap_ProjectReference\" />\n      <Category Ref=\"CodeSchema_Calls\" />\n      <Category Ref=\"CodeSchema_ReturnTypeLink\" />\n      <Category Ref=\"Implements\" />\n    </Link>\n    <Link Source=\"@8\" Target=\"@6\" Category=\"Implements\" Bounds=\"533.988220214844,190,229.790954589844,28.9873809814453\" IsSourceVirtualized=\"True\" IsTargetVirtualized=\"True\" Weight=\"1\">\n      <Category Ref=\"CodeMap_ProjectReference\" />\n    </Link>\n    <Link Source=\"Common{6F7A6A18-FF7B-4D3B-8B1F-BD525E065174}\" Target=\"@12\" Category=\"Contains\" FetchingParent=\"Common{6F7A6A18-FF7B-4D3B-8B1F-BD525E065174}\" />\n    <Link Source=\"Configuration{2148B4AF-8B02-45C3-89E7-AEACAE448DDA}\" Target=\"@10\" Category=\"Contains\" FetchingParent=\"Configuration{2148B4AF-8B02-45C3-89E7-AEACAE448DDA}\" />\n    <Link Source=\"Configuration{2148B4AF-8B02-45C3-89E7-AEACAE448DDA}\" Target=\"@16\" Category=\"Contains\" FetchingParent=\"Configuration{2148B4AF-8B02-45C3-89E7-AEACAE448DDA}\" />\n    <Link Source=\"DataRepository{20139208-1830-4DF2-A158-0C505DC05DF7}\" Target=\"@18\" Category=\"Contains\" FetchingParent=\"DataRepository{20139208-1830-4DF2-A158-0C505DC05DF7}\" />\n    <Link Source=\"DataRepository{20139208-1830-4DF2-A158-0C505DC05DF7}\" Target=\"@22\" Category=\"Contains\" FetchingParent=\"DataRepository{20139208-1830-4DF2-A158-0C505DC05DF7}\" />\n    <Link Source=\"DataRepository{20139208-1830-4DF2-A158-0C505DC05DF7}\" Target=\"@26\" Category=\"Contains\" FetchingParent=\"DataRepository{20139208-1830-4DF2-A158-0C505DC05DF7}\" />\n    <Link Source=\"Networking{F4178F51-3BFF-46DE-841D-C01D4ABA9B0C}\" Target=\"@14\" Category=\"Contains\" FetchingParent=\"Networking{F4178F51-3BFF-46DE-841D-C01D4ABA9B0C}\" />\n    <Link Source=\"Networking{F4178F51-3BFF-46DE-841D-C01D4ABA9B0C}\" Target=\"@2\" Category=\"Contains\" FetchingParent=\"Networking{F4178F51-3BFF-46DE-841D-C01D4ABA9B0C}\" />\n    <Link Source=\"Networking{F4178F51-3BFF-46DE-841D-C01D4ABA9B0C}\" Target=\"@20\" Category=\"Contains\" FetchingParent=\"Networking{F4178F51-3BFF-46DE-841D-C01D4ABA9B0C}\" />\n    <Link Source=\"Networking{F4178F51-3BFF-46DE-841D-C01D4ABA9B0C}\" Target=\"@24\" Category=\"Contains\" FetchingParent=\"Networking{F4178F51-3BFF-46DE-841D-C01D4ABA9B0C}\" />\n    <Link Source=\"Networking{F4178F51-3BFF-46DE-841D-C01D4ABA9B0C}\" Target=\"@4\" Category=\"Contains\" FetchingParent=\"Networking{F4178F51-3BFF-46DE-841D-C01D4ABA9B0C}\" />\n    <Link Source=\"Networking{F4178F51-3BFF-46DE-841D-C01D4ABA9B0C}\" Target=\"@6\" Category=\"Contains\" FetchingParent=\"Networking{F4178F51-3BFF-46DE-841D-C01D4ABA9B0C}\" />\n    <Link Source=\"Networking{F4178F51-3BFF-46DE-841D-C01D4ABA9B0C}\" Target=\"@8\" Category=\"Contains\" FetchingParent=\"Networking{F4178F51-3BFF-46DE-841D-C01D4ABA9B0C}\" />\n    <Link Source=\"Networking{F4178F51-3BFF-46DE-841D-C01D4ABA9B0C}\" Target=\"DataRepository{20139208-1830-4DF2-A158-0C505DC05DF7}\" Category=\"Contains\" FetchingParent=\"Networking{F4178F51-3BFF-46DE-841D-C01D4ABA9B0C}\" />\n  </Links>\n  <Categories>\n    <Category Id=\"CodeMap_ExternalReference\" Label=\"External Reference\" CanBeDataDriven=\"True\" CanLinkedNodesBeDataDriven=\"True\" IncomingActionLabel=\"Referenced By\" OutgoingActionLabel=\"References\" />\n    <Category Id=\"CodeMap_ProjectReference\" Label=\"Project Reference\" CanBeDataDriven=\"True\" CanLinkedNodesBeDataDriven=\"True\" IncomingActionLabel=\"Referenced By\" OutgoingActionLabel=\"References\" />\n    <Category Id=\"CodeMap_SolutionFolder\" Label=\"Solution Folder\" CanBeDataDriven=\"True\" IsProviderRoot=\"False\" NavigationActionLabel=\"Solution Folder\" />\n    <Category Id=\"CodeMap_TestAsset\" Label=\"Test Asset\" CanBeDataDriven=\"True\" IsProviderRoot=\"False\" NavigationActionLabel=\"Test Assets\" />\n    <Category Id=\"CodeMap_TestProject\" Label=\"Test Project\" CanBeDataDriven=\"True\" IsProviderRoot=\"False\" NavigationActionLabel=\"Test Projects\" />\n    <Category Id=\"CodeMap_WpfProject\" Label=\"WPF Project\" CanBeDataDriven=\"True\" IsProviderRoot=\"False\" NavigationActionLabel=\"WPF Projects\" />\n    <Category Id=\"CodeSchema_Assembly\" Label=\"Assembly\" BasedOn=\"File\" CanBeDataDriven=\"True\" DefaultAction=\"Microsoft.Contains\" Icon=\"CodeSchema_Assembly\" NavigationActionLabel=\"Assemblies\" />\n    <Category Id=\"CodeSchema_Calls\" Label=\"Calls\" CanBeDataDriven=\"True\" CanLinkedNodesBeDataDriven=\"True\" IncomingActionLabel=\"Called By\" OutgoingActionLabel=\"Calls\" />\n    <Category Id=\"CodeSchema_ReturnTypeLink\" Label=\"Return\" CanBeDataDriven=\"True\" CanLinkedNodesBeDataDriven=\"True\" IncomingActionLabel=\"Return types\" OutgoingActionLabel=\"Return types\" />\n    <Category Id=\"Contains\" Label=\"Contains\" Description=\"Whether the source of the link contains the target object\" CanBeDataDriven=\"False\" CanLinkedNodesBeDataDriven=\"True\" IncomingActionLabel=\"Contained By\" IsContainment=\"True\" OutgoingActionLabel=\"Contains\" />\n    <Category Id=\"File\" Label=\"File\" CanBeDataDriven=\"True\" DefaultAction=\"Microsoft.Contains\" Icon=\"File\" NavigationActionLabel=\"Files\" />\n    <Category Id=\"FileSystem.Category.FileOfType.dll\" BasedOn=\"CodeSchema_Assembly\" CanBeDataDriven=\"True\" IsProviderRoot=\"False\" />\n    <Category Id=\"FileSystem.Category.FileOfType.exe\" BasedOn=\"CodeSchema_Assembly\" CanBeDataDriven=\"True\" IsProviderRoot=\"False\" />\n    <Category Id=\"Implements\" Label=\"Implements\" CanBeDataDriven=\"True\" CanLinkedNodesBeDataDriven=\"True\" IncomingActionLabel=\"Implemented by\" OutgoingActionLabel=\"Implements\" />\n    <Category Id=\"InheritsFrom\" Label=\"Inherits From\" CanBeDataDriven=\"True\" CanLinkedNodesBeDataDriven=\"True\" IncomingActionLabel=\"Inherited By\" OutgoingActionLabel=\"Inherits From\" />\n    <Category Id=\"References\" Label=\"References\" CanBeDataDriven=\"True\" CanLinkedNodesBeDataDriven=\"True\" IncomingActionLabel=\"Referenced By\" OutgoingActionLabel=\"References\" />\n  </Categories>\n  <Properties>\n    <Property Id=\"AssemblyTimestamp\" DataType=\"System.DateTime\" />\n    <Property Id=\"Bounds\" DataType=\"System.Windows.Rect\" />\n    <Property Id=\"CanBeDataDriven\" Label=\"CanBeDataDriven\" Description=\"CanBeDataDriven\" DataType=\"System.Boolean\" />\n    <Property Id=\"CanLinkedNodesBeDataDriven\" Label=\"CanLinkedNodesBeDataDriven\" Description=\"CanLinkedNodesBeDataDriven\" DataType=\"System.Boolean\" />\n    <Property Id=\"CodeSchemaProperty_StrongName\" Label=\"StrongName\" Description=\"StrongName\" DataType=\"System.String\" />\n    <Property Id=\"DataVirtualized\" Label=\"Data Virtualized\" Description=\"If true, the graph can contain nodes and links that represent data for virtualized nodes/links (i.e. not actually created in the graph).\" DataType=\"System.Boolean\" />\n    <Property Id=\"DefaultAction\" Label=\"DefaultAction\" Description=\"DefaultAction\" DataType=\"System.String\" />\n    <Property Id=\"DelayedChildNodesState\" Label=\"Delayed Child Nodes State\" Description=\"Unspecified if the delayed child nodes state is not specified. NotFetched if the group contains child nodes that are not fetched into the graph yet. Fetched if the group has all its delayed child nodes already fetched.\" DataType=\"Microsoft.VisualStudio.GraphModel.DelayedDataState\" />\n    <Property Id=\"DelayedCrossGroupLinksState\" Label=\"Delayed Cross-Group Links State\" Description=\"Unspecified if the delayed cross-group links state is not specified. NotFetched if delayed cross-group links on this node are not fetched into the graph yet. Fetched if all delayed cross-group links have already fetched.\" DataType=\"Microsoft.VisualStudio.GraphModel.DelayedDataState\" />\n    <Property Id=\"Expression\" DataType=\"System.String\" />\n    <Property Id=\"FetchingParent\" DataType=\"Microsoft.VisualStudio.GraphModel.GraphNodeId\" />\n    <Property Id=\"FilePath\" Label=\"File Path\" Description=\"File Path\" DataType=\"System.String\" />\n    <Property Id=\"FilterState\" DataType=\"System.String\" />\n    <Property Id=\"Group\" Label=\"Group\" Description=\"Display the node as a group\" DataType=\"Microsoft.VisualStudio.GraphModel.GraphGroupStyle\" />\n    <Property Id=\"GroupLabel\" DataType=\"System.String\" />\n    <Property Id=\"Icon\" DataType=\"System.String\" />\n    <Property Id=\"IncomingActionLabel\" Label=\"IncomingActionLabel\" Description=\"IncomingActionLabel\" DataType=\"System.String\" />\n    <Property Id=\"IsContainment\" DataType=\"System.Boolean\" />\n    <Property Id=\"IsEnabled\" DataType=\"System.Boolean\" />\n    <Property Id=\"IsProviderRoot\" Label=\"IsProviderRoot\" Description=\"IsProviderRoot\" DataType=\"System.Boolean\" />\n    <Property Id=\"IsSourceVirtualized\" Label=\"Link Source Virtualized\" Description=\"If true, the link source end contains data for virtualized nodes/links (i.e. not actually created in the graph).\" DataType=\"System.Boolean\" />\n    <Property Id=\"IsTargetVirtualized\" Label=\"Link Target Virtualized\" Description=\"If true, the link target end contains data for virtualized nodes/links (i.e. not actually created in the graph).\" DataType=\"System.Boolean\" />\n    <Property Id=\"Label\" Label=\"Label\" Description=\"Displayable label of an Annotatable object\" DataType=\"System.String\" />\n    <Property Id=\"Layout\" DataType=\"System.String\" />\n    <Property Id=\"NavigationActionLabel\" Label=\"NavigationActionLabel\" Description=\"NavigationActionLabel\" DataType=\"System.String\" />\n    <Property Id=\"OutgoingActionLabel\" Label=\"OutgoingActionLabel\" Description=\"OutgoingActionLabel\" DataType=\"System.String\" />\n    <Property Id=\"TargetType\" DataType=\"System.Type\" />\n    <Property Id=\"Value\" DataType=\"System.String\" />\n    <Property Id=\"ValueLabel\" DataType=\"System.String\" />\n    <Property Id=\"Visibility\" Label=\"Visibility\" Description=\"Defines whether a node in the graph is visible or not\" DataType=\"System.Windows.Visibility\" />\n    <Property Id=\"Weight\" Label=\"Weight\" Description=\"Weight\" DataType=\"System.Double\" />\n    <Property Id=\"ZoomLevel\" DataType=\"System.String\" />\n  </Properties>\n  <QualifiedNames>\n    <Name Id=\"Assembly\" Label=\"Assembly\" ValueType=\"Uri\" />\n  </QualifiedNames>\n  <IdentifierAliases>\n    <Alias n=\"1\" Uri=\"Assembly=$(f0accb28-ae0d-4e19-94fa-7be3044f1eeb.OutputPathUri)\" />\n    <Alias n=\"2\" Id=\"(@1)\" />\n    <Alias n=\"3\" Uri=\"Assembly=$(7f4ded4e-5933-4229-b9cc-51da49678904.OutputPathUri)\" />\n    <Alias n=\"4\" Id=\"(@3)\" />\n    <Alias n=\"5\" Uri=\"Assembly=$(afcca7c9-47fe-4fb6-935e-12d686eec58f.OutputPathUri)\" />\n    <Alias n=\"6\" Id=\"(@5)\" />\n    <Alias n=\"7\" Uri=\"Assembly=$(2238851e-4db8-46b0-b38d-0e2315fe153e.OutputPathUri)\" />\n    <Alias n=\"8\" Id=\"(@7)\" />\n    <Alias n=\"9\" Uri=\"Assembly=$(0a2fb856-d50c-463d-8218-063a36942188.OutputPathUri)\" />\n    <Alias n=\"10\" Id=\"(@9)\" />\n    <Alias n=\"11\" Uri=\"Assembly=$(8817a671-abb8-463a-a8a3-ddcfe781a6b6.OutputPathUri)\" />\n    <Alias n=\"12\" Id=\"(@11)\" />\n    <Alias n=\"13\" Uri=\"Assembly=$(2492aa3b-cf67-477a-b29e-14a1e348b939.OutputPathUri)\" />\n    <Alias n=\"14\" Id=\"(@13)\" />\n    <Alias n=\"15\" Uri=\"Assembly=$(e28e0880-03aa-4d1b-a820-41b04e766019.OutputPathUri)\" />\n    <Alias n=\"16\" Id=\"(@15)\" />\n    <Alias n=\"17\" Uri=\"Assembly=$(3781b8ca-3128-45dc-89c9-981740357630.OutputPathUri)\" />\n    <Alias n=\"18\" Id=\"(@17)\" />\n    <Alias n=\"19\" Uri=\"Assembly=$(3ce5cca6-0ead-49ef-ab69-d1f17a9c6d43.OutputPathUri)\" />\n    <Alias n=\"20\" Id=\"(@19)\" />\n    <Alias n=\"21\" Uri=\"Assembly=$(f7fdddcc-58c7-44e0-8de3-6a94e6222d03.OutputPathUri)\" />\n    <Alias n=\"22\" Id=\"(@21)\" />\n    <Alias n=\"23\" Uri=\"Assembly=$(5d2a0688-95e3-400a-b789-49052389d2b1.OutputPathUri)\" />\n    <Alias n=\"24\" Id=\"(@23)\" />\n    <Alias n=\"25\" Uri=\"Assembly=$(3f5cbb26-9142-4e55-8de5-5baf0c3ea1ce.OutputPathUri)\" />\n    <Alias n=\"26\" Id=\"(@25)\" />\n  </IdentifierAliases>\n  <Styles>\n    <Style TargetType=\"Node\" GroupLabel=\"Results\" ValueLabel=\"True\">\n      <Condition Expression=\"HasCategory('QueryResult')\" />\n      <Setter Property=\"Background\" Value=\"#FFBCFFBE\" />\n    </Style>\n    <Style TargetType=\"Node\" GroupLabel=\"Test Project\" ValueLabel=\"Test Project\">\n      <Condition Expression=\"HasCategory('CodeMap_TestProject')\" />\n      <Setter Property=\"Icon\" Value=\"CodeMap_TestProject\" />\n      <Setter Property=\"Background\" Value=\"#FF307A69\" />\n    </Style>\n    <Style TargetType=\"Node\" GroupLabel=\"Web Project\" ValueLabel=\"Web Project\">\n      <Condition Expression=\"HasCategory('CodeMap_WebProject')\" />\n      <Setter Property=\"Icon\" Value=\"CodeMap_WebProject\" />\n    </Style>\n    <Style TargetType=\"Node\" GroupLabel=\"Windows Store Project\" ValueLabel=\"Windows Store Project\">\n      <Condition Expression=\"HasCategory('CodeMap_WindowsStoreProject')\" />\n      <Setter Property=\"Icon\" Value=\"CodeMap_WindowsStoreProject\" />\n    </Style>\n    <Style TargetType=\"Node\" GroupLabel=\"Phone Project\" ValueLabel=\"Phone Project\">\n      <Condition Expression=\"HasCategory('CodeMap_PhoneProject')\" />\n      <Setter Property=\"Icon\" Value=\"CodeMap_PhoneProject\" />\n    </Style>\n    <Style TargetType=\"Node\" GroupLabel=\"Portable Library\" ValueLabel=\"Portable Library\">\n      <Condition Expression=\"HasCategory('CodeMap_PortableLibraryProject')\" />\n      <Setter Property=\"Icon\" Value=\"CodeMap_PortableLibraryProject\" />\n    </Style>\n    <Style TargetType=\"Node\" GroupLabel=\"WPF Project\" ValueLabel=\"WPF Project\">\n      <Condition Expression=\"HasCategory('CodeMap_WpfProject')\" />\n      <Setter Property=\"Icon\" Value=\"CodeMap_WpfProject\" />\n    </Style>\n    <Style TargetType=\"Node\" GroupLabel=\"VSIX Project\" ValueLabel=\"VSIX Project\">\n      <Condition Expression=\"HasCategory('CodeMap_VsixProject')\" />\n      <Setter Property=\"Icon\" Value=\"CodeMap_VsixProject\" />\n    </Style>\n    <Style TargetType=\"Node\" GroupLabel=\"Modeling Project\" ValueLabel=\"Modeling Project\">\n      <Condition Expression=\"HasCategory('CodeMap_ModelingProject')\" />\n      <Setter Property=\"Icon\" Value=\"CodeMap_ModelingProject\" />\n    </Style>\n    <Style TargetType=\"Node\" GroupLabel=\"Assembly\" ValueLabel=\"Has category\">\n      <Condition Expression=\"HasCategory('CodeSchema_Assembly')\" />\n      <Setter Property=\"Background\" Value=\"#FF094167\" />\n      <Setter Property=\"Stroke\" Value=\"#FF094167\" />\n      <Setter Property=\"Icon\" Value=\"CodeSchema_Assembly\" />\n    </Style>\n    <Style TargetType=\"Node\" GroupLabel=\"Namespace\" ValueLabel=\"Has category\">\n      <Condition Expression=\"HasCategory('CodeSchema_Namespace')\" />\n      <Setter Property=\"Background\" Value=\"#FF0E619A\" />\n      <Setter Property=\"Stroke\" Value=\"#FF0E619A\" />\n      <Setter Property=\"Icon\" Value=\"CodeSchema_Namespace\" />\n    </Style>\n    <Style TargetType=\"Node\" GroupLabel=\"Interface\" ValueLabel=\"Has category\">\n      <Condition Expression=\"HasCategory('CodeSchema_Interface')\" />\n      <Setter Property=\"Background\" Value=\"#FF1382CE\" />\n      <Setter Property=\"Stroke\" Value=\"#FF1382CE\" />\n      <Setter Property=\"Icon\" Value=\"CodeSchema_Interface\" />\n    </Style>\n    <Style TargetType=\"Node\" GroupLabel=\"Struct\" ValueLabel=\"Has category\">\n      <Condition Expression=\"HasCategory('CodeSchema_Struct')\" />\n      <Setter Property=\"Background\" Value=\"#FF1382CE\" />\n      <Setter Property=\"Stroke\" Value=\"#FF1382CE\" />\n      <Setter Property=\"Icon\" Value=\"CodeSchema_Struct\" />\n    </Style>\n    <Style TargetType=\"Node\" GroupLabel=\"Enumeration\" ValueLabel=\"Has category\">\n      <Condition Expression=\"HasCategory('CodeSchema_Enum')\" />\n      <Setter Property=\"Background\" Value=\"#FF1382CE\" />\n      <Setter Property=\"Stroke\" Value=\"#FF1382CE\" />\n      <Setter Property=\"Icon\" Value=\"CodeSchema_Enum\" />\n      <Setter Property=\"LayoutSettings\" Value=\"List\" />\n    </Style>\n    <Style TargetType=\"Node\" GroupLabel=\"Delegate\" ValueLabel=\"Has category\">\n      <Condition Expression=\"HasCategory('CodeSchema_Delegate')\" />\n      <Setter Property=\"Background\" Value=\"#FF1382CE\" />\n      <Setter Property=\"Stroke\" Value=\"#FF1382CE\" />\n      <Setter Property=\"Icon\" Value=\"CodeSchema_Delegate\" />\n    </Style>\n    <Style TargetType=\"Node\" GroupLabel=\"Class\" ValueLabel=\"Has category\">\n      <Condition Expression=\"HasCategory('CodeSchema_Type')\" />\n      <Setter Property=\"Background\" Value=\"#FF0E70C0\" />\n      <Setter Property=\"Stroke\" Value=\"#FF0E70C0\" />\n      <Setter Property=\"Icon\" Value=\"CodeSchema_Class\" />\n    </Style>\n    <Style TargetType=\"Node\" GroupLabel=\"Property\" ValueLabel=\"Has category\">\n      <Condition Expression=\"HasCategory('CodeSchema_Property')\" />\n      <Setter Property=\"Background\" Value=\"#FFE0E0E0\" />\n      <Setter Property=\"Stroke\" Value=\"#FFE0E0E0\" />\n      <Setter Property=\"Icon\" Value=\"CodeSchema_Property\" />\n    </Style>\n    <Style TargetType=\"Node\" GroupLabel=\"Method\" ValueLabel=\"Has category\">\n      <Condition Expression=\"HasCategory('CodeSchema_Method') Or HasCategory('CodeSchema_CallStackUnresolvedMethod')\" />\n      <Setter Property=\"Background\" Value=\"#FFE0E0E0\" />\n      <Setter Property=\"Stroke\" Value=\"#FFE0E0E0\" />\n      <Setter Property=\"Icon\" Value=\"CodeSchema_Method\" />\n      <Setter Property=\"LayoutSettings\" Value=\"List\" />\n    </Style>\n    <Style TargetType=\"Node\" GroupLabel=\"Event\" ValueLabel=\"Has category\">\n      <Condition Expression=\"HasCategory('CodeSchema_Event')\" />\n      <Setter Property=\"Background\" Value=\"#FFE0E0E0\" />\n      <Setter Property=\"Stroke\" Value=\"#FFE0E0E0\" />\n      <Setter Property=\"Icon\" Value=\"CodeSchema_Event\" />\n    </Style>\n    <Style TargetType=\"Node\" GroupLabel=\"Field\" ValueLabel=\"Has category\">\n      <Condition Expression=\"HasCategory('CodeSchema_Field')\" />\n      <Setter Property=\"Background\" Value=\"#FFE0E0E0\" />\n      <Setter Property=\"Stroke\" Value=\"#FFE0E0E0\" />\n      <Setter Property=\"Icon\" Value=\"CodeSchema_Field\" />\n    </Style>\n    <Style TargetType=\"Node\" GroupLabel=\"Out Parameter\" ValueLabel=\"Has category\">\n      <Condition Expression=\"CodeSchemaProperty_IsOut = 'True'\" />\n      <Setter Property=\"Icon\" Value=\"CodeSchema_OutParameter\" />\n    </Style>\n    <Style TargetType=\"Node\" GroupLabel=\"Parameter\" ValueLabel=\"Has category\">\n      <Condition Expression=\"HasCategory('CodeSchema_Parameter')\" />\n      <Setter Property=\"Icon\" Value=\"CodeSchema_Parameter\" />\n    </Style>\n    <Style TargetType=\"Node\" GroupLabel=\"Local Variable\" ValueLabel=\"Has category\">\n      <Condition Expression=\"HasCategory('CodeSchema_LocalExpression')\" />\n      <Setter Property=\"Icon\" Value=\"CodeSchema_LocalExpression\" />\n    </Style>\n    <Style TargetType=\"Node\" GroupLabel=\"Externals\" ValueLabel=\"Has category\">\n      <Condition Expression=\"HasCategory('Externals')\" />\n      <Setter Property=\"Background\" Value=\"#FF424242\" />\n      <Setter Property=\"Stroke\" Value=\"#FF424242\" />\n    </Style>\n    <Style TargetType=\"Link\" GroupLabel=\"Inherits From\" ValueLabel=\"True\">\n      <Condition Expression=\"HasCategory('InheritsFrom')\" />\n      <Setter Property=\"Stroke\" Value=\"#FF00A600\" />\n      <Setter Property=\"StrokeDashArray\" Value=\"2 0\" />\n      <Setter Property=\"DrawArrow\" Value=\"true\" />\n    </Style>\n    <Style TargetType=\"Link\" GroupLabel=\"Implements\" ValueLabel=\"True\">\n      <Condition Expression=\"HasCategory('Implements')\" />\n      <Setter Property=\"Stroke\" Value=\"#8000A600\" />\n      <Setter Property=\"StrokeDashArray\" Value=\"2 2\" />\n      <Setter Property=\"DrawArrow\" Value=\"true\" />\n    </Style>\n    <Style TargetType=\"Link\" GroupLabel=\"Calls\" ValueLabel=\"True\">\n      <Condition Expression=\"HasCategory('CodeSchema_Calls')\" />\n      <Setter Property=\"Stroke\" Value=\"#FFFF00FF\" />\n      <Setter Property=\"StrokeDashArray\" Value=\"2 0\" />\n      <Setter Property=\"DrawArrow\" Value=\"true\" />\n    </Style>\n    <Style TargetType=\"Link\" GroupLabel=\"Function Pointer\" ValueLabel=\"True\">\n      <Condition Expression=\"HasCategory('CodeSchema_FunctionPointer')\" />\n      <Setter Property=\"Stroke\" Value=\"#FFFF00FF\" />\n      <Setter Property=\"StrokeDashArray\" Value=\"2 2\" />\n      <Setter Property=\"DrawArrow\" Value=\"true\" />\n    </Style>\n    <Style TargetType=\"Link\" GroupLabel=\"Field Read\" ValueLabel=\"True\">\n      <Condition Expression=\"HasCategory('CodeSchema_FieldRead')\" />\n      <Setter Property=\"Stroke\" Value=\"#FF00AEEF\" />\n      <Setter Property=\"StrokeDashArray\" Value=\"2 2\" />\n      <Setter Property=\"DrawArrow\" Value=\"true\" />\n    </Style>\n    <Style TargetType=\"Link\" GroupLabel=\"Field Write\" ValueLabel=\"True\">\n      <Condition Expression=\"HasCategory('CodeSchema_FieldWrite')\" />\n      <Setter Property=\"Stroke\" Value=\"#FF00AEEF\" />\n      <Setter Property=\"DrawArrow\" Value=\"true\" />\n      <Setter Property=\"IsHidden\" Value=\"false\" />\n    </Style>\n    <Style TargetType=\"Link\" GroupLabel=\"Inherits From\" ValueLabel=\"True\" Visibility=\"Hidden\">\n      <Condition Expression=\"HasCategory('InheritsFrom') And Target.HasCategory('CodeSchema_Class')\" />\n      <Setter Property=\"TargetDecorator\" Value=\"OpenArrow\" />\n    </Style>\n    <Style TargetType=\"Link\" GroupLabel=\"Implements\" ValueLabel=\"True\" Visibility=\"Hidden\">\n      <Condition Expression=\"HasCategory('Implements') And Target.HasCategory('CodeSchema_Interface')\" />\n      <Setter Property=\"TargetDecorator\" Value=\"OpenArrow\" />\n    </Style>\n    <Style TargetType=\"Link\" GroupLabel=\"Comment Link\" ValueLabel=\"True\" Visibility=\"Hidden\">\n      <Condition Expression=\"Source.HasCategory('Comment')\" />\n      <Setter Property=\"Stroke\" Value=\"#FFE5C365\" />\n    </Style>\n    <Style TargetType=\"Node\" GroupLabel=\"Cursor Location Changed\" ValueLabel=\"True\" Visibility=\"Hidden\">\n      <Condition Expression=\"IsCursorLocation\" />\n      <Setter Property=\"IndicatorWest\" Value=\"WestIndicator\" />\n    </Style>\n    <Style TargetType=\"Node\" GroupLabel=\"Disabled Breakpoint Location Changed\" ValueLabel=\"True\" Visibility=\"Hidden\">\n      <Condition Expression=\"DisabledBreakpointCount\" />\n      <Setter Property=\"IndicatorWest\" Value=\"WestIndicator\" />\n    </Style>\n    <Style TargetType=\"Node\" GroupLabel=\"Enabled Breakpoint Location Changed\" ValueLabel=\"True\" Visibility=\"Hidden\">\n      <Condition Expression=\"EnabledBreakpointCount\" />\n      <Setter Property=\"IndicatorWest\" Value=\"WestIndicator\" />\n    </Style>\n    <Style TargetType=\"Node\" GroupLabel=\"Instruction Pointer Location Changed\" ValueLabel=\"True\" Visibility=\"Hidden\">\n      <Condition Expression=\"IsInstructionPointerLocation\" />\n      <Setter Property=\"IndicatorWest\" Value=\"WestIndicator\" />\n    </Style>\n    <Style TargetType=\"Node\" GroupLabel=\"Current Callstack Changed\" ValueLabel=\"True\" Visibility=\"Hidden\">\n      <Condition Expression=\"IsCurrentCallstackFrame\" />\n      <Setter Property=\"IndicatorWest\" Value=\"WestIndicator\" />\n    </Style>\n    <Style TargetType=\"Link\" GroupLabel=\"Return\" ValueLabel=\"True\" Visibility=\"Hidden\">\n      <Condition Expression=\"HasCategory('CodeSchema_ReturnTypeLink')\" />\n    </Style>\n    <Style TargetType=\"Link\" GroupLabel=\"References\" ValueLabel=\"True\" Visibility=\"Hidden\">\n      <Condition Expression=\"HasCategory('References')\" />\n    </Style>\n    <Style TargetType=\"Link\" GroupLabel=\"Uses Attribute\" ValueLabel=\"True\" Visibility=\"Hidden\">\n      <Condition Expression=\"HasCategory('CodeSchema_AttributeUse')\" />\n    </Style>\n    <Style TargetType=\"Node\" IsEnabled=\"false\" GroupLabel=\"Solution Folder\" ValueLabel=\"True\" Visibility=\"Hidden\">\n      <Condition Expression=\"HasCategory('CodeMap_SolutionFolder')\" />\n      <Setter Property=\"Background\" Value=\"#FFDEBA83\" />\n    </Style>\n    <Style TargetType=\"Link\" GroupLabel=\"Project Reference\" ValueLabel=\"Project Reference\">\n      <Condition Expression=\"HasCategory('CodeMap_ProjectReference')\" />\n      <Setter Property=\"Stroke\" Value=\"#9A9A9A\" />\n      <Setter Property=\"StrokeDashArray\" Value=\"2 2\" />\n      <Setter Property=\"DrawArrow\" Value=\"true\" />\n    </Style>\n    <Style TargetType=\"Link\" GroupLabel=\"External Reference\" ValueLabel=\"External Reference\">\n      <Condition Expression=\"HasCategory('CodeMap_ExternalReference')\" />\n      <Setter Property=\"Stroke\" Value=\"#9A9A9A\" />\n      <Setter Property=\"StrokeDashArray\" Value=\"2 2\" />\n      <Setter Property=\"DrawArrow\" Value=\"true\" />\n    </Style>\n  </Styles>\n  <Paths>\n    <Path Id=\"0a2fb856-d50c-463d-8218-063a36942188.OutputPath\" Value=\"C:\\VS.git\\UAOOI\\OPC-UA-OOI\\Configuration\\Core\\bin\\Debug\\netstandard2.0\\UAOOI.Configuration.Core.dll\" />\n    <Path Id=\"0a2fb856-d50c-463d-8218-063a36942188.OutputPathUri\" Value=\"file:///C:/VS.git/UAOOI/OPC-UA-OOI/Configuration/Core/bin/Debug/netstandard2.0/UAOOI.Configuration.Core.dll\" />\n    <Path Id=\"2238851e-4db8-46b0-b38d-0e2315fe153e.OutputPath\" Value=\"C:\\VS.git\\UAOOI\\OPC-UA-OOI\\Networking\\ReferenceApplication.Core\\bin\\Debug\\netstandard2.0\\UAOOI.Networking.ReferenceApplication.Core.dll\" />\n    <Path Id=\"2238851e-4db8-46b0-b38d-0e2315fe153e.OutputPathUri\" Value=\"file:///C:/VS.git/UAOOI/OPC-UA-OOI/Networking/ReferenceApplication.Core/bin/Debug/netstandard2.0/UAOOI.Networking.ReferenceApplication.Core.dll\" />\n    <Path Id=\"2492aa3b-cf67-477a-b29e-14a1e348b939.OutputPath\" Value=\"C:\\VS.git\\UAOOI\\OPC-UA-OOI\\Networking\\Encoding\\bin\\Debug\\netstandard2.0\\UAOOI.Networking.Encoding.dll\" />\n    <Path Id=\"2492aa3b-cf67-477a-b29e-14a1e348b939.OutputPathUri\" Value=\"file:///C:/VS.git/UAOOI/OPC-UA-OOI/Networking/Encoding/bin/Debug/netstandard2.0/UAOOI.Networking.Encoding.dll\" />\n    <Path Id=\"3781b8ca-3128-45dc-89c9-981740357630.OutputPath\" Value=\"C:\\VS.git\\UAOOI\\OPC-UA-OOI\\Networking\\DataRepository\\DataLogger\\bin\\Debug\\netstandard2.0\\UAOOI.Networking.DataRepository.DataLogger.dll\" />\n    <Path Id=\"3781b8ca-3128-45dc-89c9-981740357630.OutputPathUri\" Value=\"file:///C:/VS.git/UAOOI/OPC-UA-OOI/Networking/DataRepository/DataLogger/bin/Debug/netstandard2.0/UAOOI.Networking.DataRepository.DataLogger.dll\" />\n    <Path Id=\"3ce5cca6-0ead-49ef-ab69-d1f17a9c6d43.OutputPath\" Value=\"C:\\VS.git\\UAOOI\\OPC-UA-OOI\\Networking\\Simulator.Boiler\\bin\\Debug\\netstandard2.0\\UAOOI.Networking.Simulator.Boiler.dll\" />\n    <Path Id=\"3ce5cca6-0ead-49ef-ab69-d1f17a9c6d43.OutputPathUri\" Value=\"file:///C:/VS.git/UAOOI/OPC-UA-OOI/Networking/Simulator.Boiler/bin/Debug/netstandard2.0/UAOOI.Networking.Simulator.Boiler.dll\" />\n    <Path Id=\"3f5cbb26-9142-4e55-8de5-5baf0c3ea1ce.OutputPath\" Value=\"C:\\VS.git\\UAOOI\\OPC-UA-OOI\\Networking\\DataRepository\\AzureGateway\\bin\\Debug\\netstandard2.0\\UAOOI.Networking.DataRepository.AzureGateway.dll\" />\n    <Path Id=\"3f5cbb26-9142-4e55-8de5-5baf0c3ea1ce.OutputPathUri\" Value=\"file:///C:/VS.git/UAOOI/OPC-UA-OOI/Networking/DataRepository/AzureGateway/bin/Debug/netstandard2.0/UAOOI.Networking.DataRepository.AzureGateway.dll\" />\n    <Path Id=\"5d2a0688-95e3-400a-b789-49052389d2b1.OutputPath\" Value=\"C:\\VS.git\\UAOOI\\OPC-UA-OOI\\Networking\\SimulatorInteroperabilityTest\\bin\\Debug\\netstandard2.0\\UAOOI.Networking.SimulatorInteroperabilityTest.dll\" />\n    <Path Id=\"5d2a0688-95e3-400a-b789-49052389d2b1.OutputPathUri\" Value=\"file:///C:/VS.git/UAOOI/OPC-UA-OOI/Networking/SimulatorInteroperabilityTest/bin/Debug/netstandard2.0/UAOOI.Networking.SimulatorInteroperabilityTest.dll\" />\n    <Path Id=\"7f4ded4e-5933-4229-b9cc-51da49678904.OutputPath\" Value=\"C:\\VS.git\\UAOOI\\OPC-UA-OOI\\Networking\\SemanticData\\bin\\Debug\\netstandard2.0\\UAOOI.Networking.SemanticData.dll\" />\n    <Path Id=\"7f4ded4e-5933-4229-b9cc-51da49678904.OutputPathUri\" Value=\"file:///C:/VS.git/UAOOI/OPC-UA-OOI/Networking/SemanticData/bin/Debug/netstandard2.0/UAOOI.Networking.SemanticData.dll\" />\n    <Path Id=\"8817a671-abb8-463a-a8a3-ddcfe781a6b6.OutputPath\" Value=\"C:\\VS.git\\UAOOI\\OPC-UA-OOI\\Common\\Infrastructure\\bin\\Debug\\netstandard2.0\\UAOOI.Common.Infrastructure.dll\" />\n    <Path Id=\"8817a671-abb8-463a-a8a3-ddcfe781a6b6.OutputPathUri\" Value=\"file:///C:/VS.git/UAOOI/OPC-UA-OOI/Common/Infrastructure/bin/Debug/netstandard2.0/UAOOI.Common.Infrastructure.dll\" />\n    <Path Id=\"afcca7c9-47fe-4fb6-935e-12d686eec58f.OutputPath\" Value=\"C:\\VS.git\\UAOOI\\OPC-UA-OOI\\Networking\\Core\\bin\\Debug\\netstandard2.0\\UAOOI.Networking.Core.dll\" />\n    <Path Id=\"afcca7c9-47fe-4fb6-935e-12d686eec58f.OutputPathUri\" Value=\"file:///C:/VS.git/UAOOI/OPC-UA-OOI/Networking/Core/bin/Debug/netstandard2.0/UAOOI.Networking.Core.dll\" />\n    <Path Id=\"e28e0880-03aa-4d1b-a820-41b04e766019.OutputPath\" Value=\"C:\\VS.git\\UAOOI\\OPC-UA-OOI\\Configuration\\Networking\\bin\\Debug\\netstandard2.0\\UAOOI.Configuration.Networking.dll\" />\n    <Path Id=\"e28e0880-03aa-4d1b-a820-41b04e766019.OutputPathUri\" Value=\"file:///C:/VS.git/UAOOI/OPC-UA-OOI/Configuration/Networking/bin/Debug/netstandard2.0/UAOOI.Configuration.Networking.dll\" />\n    <Path Id=\"f0accb28-ae0d-4e19-94fa-7be3044f1eeb.OutputPath\" Value=\"C:\\VS.git\\UAOOI\\OPC-UA-OOI\\Networking\\ReferenceApplication\\bin\\Debug\\UAOOI.Networking.ReferenceApplication.exe\" />\n    <Path Id=\"f0accb28-ae0d-4e19-94fa-7be3044f1eeb.OutputPathUri\" Value=\"file:///C:/VS.git/UAOOI/OPC-UA-OOI/Networking/ReferenceApplication/bin/Debug/UAOOI.Networking.ReferenceApplication.exe\" />\n    <Path Id=\"f7fdddcc-58c7-44e0-8de3-6a94e6222d03.OutputPath\" Value=\"C:\\VS.git\\UAOOI\\OPC-UA-OOI\\Networking\\DataRepository\\AzureGatewayUnitTest\\bin\\Debug\\UAOOI.Networking.DataRepository.AzureGateway.Test.dll\" />\n    <Path Id=\"f7fdddcc-58c7-44e0-8de3-6a94e6222d03.OutputPathUri\" Value=\"file:///C:/VS.git/UAOOI/OPC-UA-OOI/Networking/DataRepository/AzureGatewayUnitTest/bin/Debug/UAOOI.Networking.DataRepository.AzureGateway.Test.dll\" />\n  </Paths>\n</DirectedGraph>"
  },
  {
    "path": "Networking/README.MD",
    "content": "# Internet of Things (IoT) Communication\n\n## Introduction\n\nThis folder contains library empowering the Industrial Internet of Things \\(IIOT\\) and Industry 4.0. as the result of using reactive networking paradigm. Intentionally it is designed on top of OPC UA Part 14 Pub/Sub protocol supporting interoperability with any product compliant with this specification. Seamless integration with AMQP, MQTT, etc. allows meaningful data transfer in the context of semantics defined using OPC UA Information Model.\n\n## Goals\n\nMain goals of this document are:\n\n* description of the IoT and the main difference between OPC UA client-server model and Object Oriented Internet Reactive Networking. \n* description how this project addresses the IoT paradigms,\n* instruction on how to build commercial products,\n* instruction on how to integrate the proposed solution with other existing on the marked, i.e. AMQP, MQTT, etc. \n\n## Projects\n\nThis [folder](https://github.com/mpostol/OPC-UA-OOI/tree/master/Networking) contains the projects in concern.\n\n## IoT paradigms description\n\nThe starting point for this description is available at:  \n[IoT versus SCADA/DCS Data Acquisition Patterns](https://mpostol.wordpress.com/2017/09/19/iot-versus-scadadcs/)\n\n## Scope\n\n* description of **IoT/IIoT** paradigms.\n* Object Oriented Internet Networking is empowering the Industrial Internet of Things \\(IIOT\\) and Industries 4.0.\n* The role of MQTT and AMQP - How to get them together in a consistent meaningful way.\n\n## How to get started\n\nThe latest [release](https://github.com/mpostol/OPC-UA-OOI/releases) contains the ready to use binaries of the `ReferenceApplication`. Unzip it and run `.exe` file to get started. \n\n"
  },
  {
    "path": "Networking/README.MessageCentricCommunication.md",
    "content": "# Semantic-Data Message Centric Communication\n\nTo realize the [Semantic-Data](../SemanticData/README.MD) paradigm in practice `OOI Reactive Application` must get access to the data in the context of type definition in compliance with the OPC UA *Information Model*. This article summarizes research on the architecture of infrastructure supporting access to the data using a *Message Centric* communication pattern. The proposed architecture is presented in the following figure.\n\n![Domain Model](../CommonResources//Media/MessageCentricCommunication.Domain.png)\n\nThe architecture contains the following classes directly involved in the data processing:\n\n1. `OOI Reactive Application` - a program application that processes OPC UA Data available out of band, i.e. without the necessity of creating an OPC UA session.\n2. `UA Client` - a program application that processes OPC UA Data available throughout the created OPC UA session using standard services.\n3. `UA Server Services` - a typical part of any OPC UA server that provides standard services.\n4. `Address Space Management` - a typical part of any OPC UA server that manages the nodes in the *Address Space*.\n\n`OOI Reactive Application` is an application program processing the data in the context of the OPC UA metadata outside the OPC UA server session. In the presented architecture it gets access to the **Semantic-Data** using the underlying **Transport** supporting networking services compliant with the *Message Centric* communication pattern standardized in [OPC Unified Architecture Specification Part 14 PubSub](https://opcfoundation.org/developer-tools/specifications-unified-architecture/part-14-pubsub/). As opposed to OPC UA *Session Centric* communication the **Transport** by design is not responsible for distributing type definitions at run time. To realize the **UA Semantic Data** paradigm, the data sent over the network must, therefore, be decorated with an unique identifier to find the context prepared in advance against the type definition (semantics), e.g. a picture to display the data, an algorithm to calculate new values, a key to encrypt the message payload, etc. For example, `OOI Reactive Application` may be any remote mobile device according to the *Internet of Things* architecture concept, interested in publishing process data using the remote OPC UA server. It's even possible to connect household appliances, sensors and other devices to a central application. For example, it could browse a message broker (**Transport**) against defined topics, like a definition, that represent data to be published in the OPC UA *Address Space*. For example, IEC61850-enabled IEDs that get digitalized power grid condition data via process bus and merge units.\n\n**UA Server Services** class is an embedded part of any OPC UA server. **UA Server Services** shall be compliant with OPC UA Specification Part 4, i.e. it must be tested against interoperability for selected standard profile. **Address Space Management** is also a typical part of any OPC UA server. It is responsible for creation and management of the OPC UA *Address Space*. Optionally, the server *Address Space* could expose *Information Models* defined by companion specifications, organizations and users.\n\nTo leverage [processing of the OPC UA Data outside the OPC UA session](../SemanticData/README.MD#opc-ua-data-processing-outside-the-server) using data networking, the above mentioned classes shall support *Message Centric* data exchange pattern using a selected underlying network transport. In this case, the following additional optional roles may be considered for them:\n\n1.\tData producer: supported by the writer component populating the messages with the locally obtained data and sending them over the underlying network **Transport**.\n2.\tData consumer: supported by the reader component receiving messages from the network **Transport** and recovering the UA Data from the messages.\n\nTo promote interoperability it has to be assumed that producers and consumers must be compliant with an industrial standard. It is proposed to meet this requirement applying the emerging [OPC UA Standard Part 14 PubSub](https://opcfoundation.org/developer-tools/specifications-unified-architecture/part-14-pubsub/). The possibility of implementing `Semantic-Data` networking according to the presented architecture may be recognized as a proof of concept for that standard. Interoperability rules must create a common foundation for:\n\n1. Messages encoding, decoding and protecting against malicious users.\n2. Association of the data with the data meaning – semantics.\n\nEncoding means that data is represented as a stream of bits according to selected data type, for example long, float, string, structure, etc. Semantic rules are used to find an appropriate semantics context (object type definition) for further processing, for example recognize the data as an output temperature of a boiler.\n\nThe **UA Server Writer** (data producer role) and **UA Server Reader** (data consumer role) may support out of band interconnection of the nodes exposed in the *Address Space* and applications using the *Message Centric* communication pattern. In this context out of band means that the applications do not need to establish a session to exchange data. The data is distributed by transmitting messages over the underlying **Transport**. Data exchange between nodes in the *Address Space* and *Message Centric* environment resembles the data exchange with the underlying process using a field level protocol, for example Modbus. The main difference is that from the process perspective (not shown in the figure above) any new value of a *Variable* node is usually injected into the process as a new control value with the purpose of changing its behavior. From the networking perspective, values representing measurements and control signals are treated equally.\n\nThe **UA Client Writer** (data producer role) and **UA Client Reader** (data consumer role) associated with the OPC **UA Client** may be used to create a communication bridge between *Session Centric* and *Message Centric* environments. In the presented architecture OPC **UA Client** is a functional class that shall be compliant with OPC UA Specification Part 4. In the bridge scenario data may, additionally, be converted to different syntax and semantics rules leveraging integration of different Industrial IT systems. The main advantage of this archetype is its passive nature, i.e. the possibility of using it in the existing environment.\n\nThe **UA Message Writer** (data producer role) and **UA Message Reader** (data consumer role) writes and reads messages from the underlying **Transport**. It is assumed that messages contain current values of the selected *Variable* nodes exposed by an OPC UA server in the *Address Space*. It is worth noting that data meaning, i.e. data semantics, but not where the data come from, is the most important thing in this processing scenario. The **UA Message Reader** by design is responsible for recovering the information from the message and matching appropriate context for further processing. This operation is called process data binding. To make the data recognizable in the context of a definition in the selected OPC UA *Information Model*, the **UA Message Writer** by design is responsible for decorating the populated message using local data with a definition identifier. Using the information, for example, the **UA Server Reader** associates the *Variable* nodes and data items recovered from the message.\n\nThe main role of the **Transport** layer is to transfer messages containing OPC UA data from the source to ultimate destination node. The following communication patterns can be applied:\n\n* Publish-subscribe (PubSub): senders of messages, called publishers, do not program the messages to be sent directly to specific receivers (no direct addressing, alternatively topics/threads/queues are used), called subscribers.\n* Forwarding: senders directly address a receiver (unicasting) or receivers (multicasting) of the message. If a receiver has not requested the message in advance it is unsolicited communication.\n\nSimplifying, the PubSub pattern resembles RSS, while forwarding resembles an email.\n"
  },
  {
    "path": "Networking/ReferenceApplication/App.BilersSet.xml",
    "content": "﻿<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<configuration>\n  <configSections>\n    <sectionGroup name=\"userSettings\" type=\"System.Configuration.UserSettingsGroup, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089\">\n      <section name=\"UAOOI.Networking.ReferenceApplication.Properties.Settings\" type=\"System.Configuration.ClientSettingsSection, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089\" allowExeDefinition=\"MachineToLocalUser\" requirePermission=\"false\" />\n      <section name=\"UAOOI.UANetworking.ReferenceApplication.Properties.Settings\" type=\"System.Configuration.ClientSettingsSection, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089\" allowExeDefinition=\"MachineToLocalUser\" requirePermission=\"false\" />\n    </sectionGroup>\n    <sectionGroup name=\"applicationSettings\" type=\"System.Configuration.ApplicationSettingsGroup, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089\">\n      <section name=\"UAOOI.Networking.ReferenceApplication.Properties.Settings\" type=\"System.Configuration.ClientSettingsSection, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089\" requirePermission=\"false\" />\n      <section name=\"UAOOI.UANetworking.ReferenceApplication.Properties.Settings\" type=\"System.Configuration.ClientSettingsSection, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089\" requirePermission=\"false\" />\n    </sectionGroup>\n  </configSections>\n  <startup>\n    <supportedRuntime version=\"v4.0\" sku=\".NETFramework,Version=v4.7.2\" />\n  </startup>\n  <userSettings>\n    <UAOOI.Networking.ReferenceApplication.Properties.Settings>\n      <setting name=\"ConfigurationEditorPlugInFilePath\" serializeAs=\"String\">\n        <value>ConfigurationEditor\\UAOOI.Configuration.DataBindings.dll</value>\n      </setting>\n    </UAOOI.Networking.ReferenceApplication.Properties.Settings>\n    <UAOOI.UANetworking.ReferenceApplication.Properties.Settings>\n      <setting name=\"UDPPort\" serializeAs=\"String\">\n        <value>4840</value>\n      </setting>\n      <setting name=\"RemoteHostName\" serializeAs=\"String\">\n        <value>localhost</value>\n      </setting>\n      <setting name=\"RemoteUDPPortNumber\" serializeAs=\"String\">\n        <value>4840</value>\n      </setting>\n      <setting name=\"DefaultMulticastGroup\" serializeAs=\"String\">\n        <value>239.255.255.1</value>\n      </setting>\n      <setting name=\"JoinMulticastGroup\" serializeAs=\"String\">\n        <value>False</value>\n      </setting>\n      <setting name=\"ReuseAddress\" serializeAs=\"String\">\n        <value>True</value>\n      </setting>\n    </UAOOI.UANetworking.ReferenceApplication.Properties.Settings>\n  </userSettings>\n  <applicationSettings>\n    <UAOOI.Networking.ReferenceApplication.Properties.Settings>\n      <setting name=\"ConsumerConfigurationFileName\" serializeAs=\"String\">\n        <value>ConfigurationDataConsumer.BoilersSet.xml</value>\n      </setting>\n      <setting name=\"MessageHandlerProvider\" serializeAs=\"String\">\n        <value>UAOOI.Networking.UDPMessageHandler.dll</value>\n      </setting>\n      <setting name=\"LogFilePath\" serializeAs=\"String\">\n        <value>ReferenceApplication.log</value>\n      </setting>\n      <setting name=\"ProducerConfigurationFileName\" serializeAs=\"String\">\n        <value>ConfigurationDataProducer.BoilersSet.xml</value>\n      </setting>\n      <setting name=\"DataProducerProvider\" serializeAs=\"String\">\n        <value>UAOOI.Networking.Simulator.Boiler.dll</value>\n      </setting>\n    </UAOOI.Networking.ReferenceApplication.Properties.Settings>\n    <UAOOI.UANetworking.ReferenceApplication.Properties.Settings>\n      <setting name=\"AssociationConfigurationId\" serializeAs=\"String\">\n        <value>C1F53FFB-6552-4CCC-84C9-F847147CDC85</value>\n      </setting>\n      <setting name=\"ProducerId\" serializeAs=\"String\">\n        <value>d80d81dd-96e6-4560-850e-154f9181307c</value>\n      </setting>\n      <setting name=\"ConsumerConfigurationFileName\" serializeAs=\"String\">\n        <value>ConfigurationDataConsumer.xml</value>\n      </setting>\n      <setting name=\"ProducerConfigurationFileName\" serializeAs=\"String\">\n        <value>ConfigurationDataProducer.xml</value>\n      </setting>\n    </UAOOI.UANetworking.ReferenceApplication.Properties.Settings>\n  </applicationSettings>\n  <system.diagnostics>\n    <sources>\n      <source name=\"System.Net.Sockets\">\n        <listeners>\n          <add name=\"LogFile\" />\n          <remove name=\"Default\" />\n        </listeners>\n      </source>\n      <source name=\"UAOOI.Common\" switchValue=\"Verbose\" switchType=\"System.Diagnostics.SourceSwitch\">\n        <listeners>\n          <add name=\"LogFile\" />\n          <remove name=\"Default\" />\n        </listeners>\n      </source>\n    </sources>\n    <switches>\n      <add name=\"System.Net.Sockets\" value=\"All\" />\n      <!-- value:  Required String attribute. Sets the verbosity of the output.\n                  Legitimate values are Critical, Error, Verbose, Warning, and Information.\n      -->\n      <!-- maxdatasize:  Optional Int32 attribute. Sets the maximum number of bytes of network data included in each line trace.\n                         The default value is 1024.\n      -->\n      <!-- tracemode Optional String attribute. Set to includehex to show protocol traces in hexadecimal and text format.\n      Set to protocolonly to show only text. The default value is includehex.\n      -->\n    </switches>\n    <sharedListeners>\n      <add name=\"LogFile\" type=\"System.Diagnostics.DelimitedListTraceListener\" initializeData=\"ReferenceApplicationBootstrapper.log\" traceOutputOptions=\"DateTime\">\n        <filter type=\"System.Diagnostics.EventTypeFilter\" initializeData=\"All\" />\n      </add>\n    </sharedListeners>\n    <trace autoflush=\"true\" />\n  </system.diagnostics>\n</configuration>"
  },
  {
    "path": "Networking/ReferenceApplication/App.config",
    "content": "﻿<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<configuration>\n  <configSections>\n    <sectionGroup name=\"userSettings\" type=\"System.Configuration.UserSettingsGroup, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089\">\n      <section name=\"UAOOI.Networking.ReferenceApplication.Properties.Settings\" type=\"System.Configuration.ClientSettingsSection, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089\" allowExeDefinition=\"MachineToLocalUser\" requirePermission=\"false\" />\n      <section name=\"UAOOI.UANetworking.ReferenceApplication.Properties.Settings\" type=\"System.Configuration.ClientSettingsSection, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089\" allowExeDefinition=\"MachineToLocalUser\" requirePermission=\"false\" />\n    </sectionGroup>\n    <sectionGroup name=\"applicationSettings\" type=\"System.Configuration.ApplicationSettingsGroup, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089\">\n      <section name=\"UAOOI.Networking.ReferenceApplication.Properties.Settings\" type=\"System.Configuration.ClientSettingsSection, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089\" requirePermission=\"false\" />\n      <section name=\"UAOOI.UANetworking.ReferenceApplication.Properties.Settings\" type=\"System.Configuration.ClientSettingsSection, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089\" requirePermission=\"false\" />\n    </sectionGroup>\n  </configSections>\n  <startup>\n    <supportedRuntime version=\"v4.0\" sku=\".NETFramework,Version=v4.7.2\" />\n  </startup>\n  <userSettings>\n    <UAOOI.Networking.ReferenceApplication.Properties.Settings>\n      <setting name=\"ConfigurationEditorPlugInFilePath\" serializeAs=\"String\">\n        <value>ConfigurationEditor\\UAOOI.Configuration.DataBindings.dll</value>\n      </setting>\n    </UAOOI.Networking.ReferenceApplication.Properties.Settings>\n    <UAOOI.UANetworking.ReferenceApplication.Properties.Settings>\n      <setting name=\"UDPPort\" serializeAs=\"String\">\n        <value>4840</value>\n      </setting>\n      <setting name=\"RemoteHostName\" serializeAs=\"String\">\n        <value>localhost</value>\n      </setting>\n      <setting name=\"RemoteUDPPortNumber\" serializeAs=\"String\">\n        <value>4840</value>\n      </setting>\n      <setting name=\"DefaultMulticastGroup\" serializeAs=\"String\">\n        <value>239.255.255.1</value>\n      </setting>\n      <setting name=\"JoinMulticastGroup\" serializeAs=\"String\">\n        <value>False</value>\n      </setting>\n      <setting name=\"ReuseAddress\" serializeAs=\"String\">\n        <value>True</value>\n      </setting>\n    </UAOOI.UANetworking.ReferenceApplication.Properties.Settings>\n  </userSettings>\n  <applicationSettings>\n    <UAOOI.Networking.ReferenceApplication.Properties.Settings>\n      <setting name=\"ConsumerConfigurationFileName\" serializeAs=\"String\">\n        <value>ConfigurationDataConsumer.xml</value>\n      </setting>\n      <setting name=\"MessageHandlerProvider\" serializeAs=\"String\">\n        <value>UAOOI.Networking.UDPMessageHandler.dll</value>\n      </setting>\n      <setting name=\"LogFilePath\" serializeAs=\"String\">\n        <value>ReferenceApplication.log</value>\n      </setting>\n      <setting name=\"ProducerConfigurationFileName\" serializeAs=\"String\">\n        <value>ConfigurationDataProducer.xml</value>\n      </setting>\n      <setting name=\"DataProducerProvider\" serializeAs=\"String\">\n        <value>UAOOI.Networking.SimulatorInteroperabilityTest.dll</value>\n      </setting>\n    </UAOOI.Networking.ReferenceApplication.Properties.Settings>\n    <UAOOI.UANetworking.ReferenceApplication.Properties.Settings>\n      <setting name=\"AssociationConfigurationId\" serializeAs=\"String\">\n        <value>C1F53FFB-6552-4CCC-84C9-F847147CDC85</value>\n      </setting>\n      <setting name=\"ProducerId\" serializeAs=\"String\">\n        <value>d80d81dd-96e6-4560-850e-154f9181307c</value>\n      </setting>\n      <setting name=\"ConsumerConfigurationFileName\" serializeAs=\"String\">\n        <value>ConfigurationDataConsumer.xml</value>\n      </setting>\n      <setting name=\"ProducerConfigurationFileName\" serializeAs=\"String\">\n        <value>ConfigurationDataProducer.xml</value>\n      </setting>\n    </UAOOI.UANetworking.ReferenceApplication.Properties.Settings>\n  </applicationSettings>\n  <system.diagnostics>\n    <sources>\n      <source name=\"System.Net.Sockets\">\n        <listeners>\n          <add name=\"LogFile\" />\n          <remove name=\"Default\" />\n        </listeners>\n      </source>\n      <source name=\"UAOOI.Common\" switchValue=\"Verbose\" switchType=\"System.Diagnostics.SourceSwitch\">\n        <listeners>\n          <add name=\"LogFile\" />\n          <remove name=\"Default\" />\n        </listeners>\n      </source>\n    </sources>\n    <switches>\n      <add name=\"System.Net.Sockets\" value=\"All\" />\n      <!-- value:  Required String attribute. Sets the verbosity of the output.\n                  Legitimate values are Critical, Error, Verbose, Warning, and Information.\n      -->\n      <!-- maxdatasize:  Optional Int32 attribute. Sets the maximum number of bytes of network data included in each line trace.\n                         The default value is 1024.\n      -->\n      <!-- tracemode Optional String attribute. Set to includehex to show protocol traces in hexadecimal and text format.\n      Set to protocolonly to show only text. The default value is includehex.\n      -->\n    </switches>\n    <sharedListeners>\n      <add name=\"LogFile\" type=\"System.Diagnostics.DelimitedListTraceListener\" initializeData=\"ReferenceApplicationBootstrapper.log\" traceOutputOptions=\"DateTime\">\n        <filter type=\"System.Diagnostics.EventTypeFilter\" initializeData=\"All\" />\n      </add>\n    </sharedListeners>\n    <trace autoflush=\"true\" />\n  </system.diagnostics>\n  <runtime>\n    <assemblyBinding xmlns=\"urn:schemas-microsoft-com:asm.v1\">\n      <dependentAssembly>\n        <assemblyIdentity name=\"Newtonsoft.Json\" publicKeyToken=\"30ad4fe6b2a6aeed\" culture=\"neutral\" />\n        <bindingRedirect oldVersion=\"0.0.0.0-13.0.0.0\" newVersion=\"13.0.0.0\" />\n      </dependentAssembly>\n      <dependentAssembly>\n        <assemblyIdentity name=\"System.Runtime.CompilerServices.Unsafe\" publicKeyToken=\"b03f5f7f11d50a3a\" culture=\"neutral\" />\n        <bindingRedirect oldVersion=\"0.0.0.0-6.0.0.0\" newVersion=\"6.0.0.0\" />\n      </dependentAssembly>\n      <dependentAssembly>\n        <assemblyIdentity name=\"CommonServiceLocator\" publicKeyToken=\"489b6accfaf20ef0\" culture=\"neutral\" />\n        <bindingRedirect oldVersion=\"0.0.0.0-2.0.5.0\" newVersion=\"2.0.5.0\" />\n      </dependentAssembly>\n    </assemblyBinding>\n  </runtime>\n</configuration>"
  },
  {
    "path": "Networking/ReferenceApplication/App.xaml",
    "content": "<Application x:Class=\"UAOOI.Networking.ReferenceApplication.App\" \n             xmlns=\"http://schemas.microsoft.com/winfx/2006/xaml/presentation\" \n             xmlns:x=\"http://schemas.microsoft.com/winfx/2006/xaml\" \n             xmlns:local=\"clr-namespace:UAOOI.Networking.ReferenceApplication\" \n             Startup=\"App_Startup\" \n             Exit=\"App_Exit\" \n             xmlns:d=\"http://schemas.microsoft.com/expression/blend/2008\" \n             d1p1:Ignorable=\"d\" \n             xmlns:d1p1=\"http://schemas.openxmlformats.org/markup-compatibility/2006\">\n  <Application.Resources>\n    <ResourceDictionary>\n    </ResourceDictionary>\n  </Application.Resources>\n</Application>"
  },
  {
    "path": "Networking/ReferenceApplication/App.xaml.cs",
    "content": "﻿\nusing System.Windows;\nusing UAOOI.Networking.ReferenceApplication.Properties;\n\nnamespace UAOOI.Networking.ReferenceApplication\n{\n  /// <summary>\n  /// Interaction logic for App.xaml\n  /// </summary>\n  public partial class App : Application\n  {\n\n    /// <summary>\n    /// Handles the Startup event of the App control.\n    /// </summary>\n    /// <param name=\"sender\">The source of the event.</param>\n    /// <param name=\"e\">The <see cref=\"StartupEventArgs\"/> instance containing the event data.</param>\n    private void App_Startup(object sender, StartupEventArgs e)\n    {\n      m_Bootstrapper.Run();\n    }\n    /// <summary>\n    /// Handles the Exit event of the App control.\n    /// </summary>\n    /// <param name=\"sender\">The source of the event.</param>\n    /// <param name=\"e\">The <see cref=\"ExitEventArgs\"/> instance containing the event data.</param>\n    private void App_Exit(object sender, ExitEventArgs e)\n    {\n      m_Bootstrapper.Dispose();\n      Settings.Default.Save();\n    }\n    AppBootstrapper m_Bootstrapper = new AppBootstrapper();\n\n  }\n}\n"
  },
  {
    "path": "Networking/ReferenceApplication/AppBootstrapper.cs",
    "content": "﻿//___________________________________________________________________________________\n//\n//  Copyright (C) 2020, Mariusz Postol LODZ POLAND.\n//\n//  To be in touch join the community at GITTER: https://gitter.im/mpostol/OPC-UA-OOI\n//___________________________________________________________________________________\n\nusing Microsoft.Practices.EnterpriseLibrary.SemanticLogging;\nusing System;\nusing System.Collections.Generic;\nusing System.ComponentModel.Composition.Hosting;\nusing System.Diagnostics;\nusing System.Reactive.Disposables;\nusing System.Windows;\nusing UAOOI.Networking.DataRepository.DataLogger;\nusing UAOOI.Networking.ReferenceApplication.Core;\nusing UAOOI.Networking.ReferenceApplication.Core.Diagnostic;\nusing UAOOI.Networking.ReferenceApplication.MEF;\nusing UAOOI.Networking.ReferenceApplication.Properties;\n\nnamespace UAOOI.Networking.ReferenceApplication\n{\n  internal class AppBootstrapper : MefBootstrapper\n  {\n    #region MefBootstrapper\n\n    /// <summary>\n    /// Run the bootstrapper process.\n    /// </summary>\n    /// <param name=\"runWithDefaultConfiguration\">if set to <c>true</c> run with default configuration.</param>\n    public override void Run(bool runWithDefaultConfiguration)\n    {\n      base.Run(runWithDefaultConfiguration);\n    }\n\n    protected override void ConfigureContainer()\n    {\n      base.ConfigureContainer();\n      this.AggregateCatalog.Catalogs.Add(new AssemblyCatalog(Settings.Default.MessageHandlerProvider));\n      this.AggregateCatalog.Catalogs.Add(new AssemblyCatalog(Settings.Default.DataProducerProvider));\n    }\n\n    /// <summary>\n    /// Initializes the shell.\n    /// </summary>\n    /// <remarks>The base implementation ensures the shell is composed in the container.</remarks>\n    protected override void InitializeShell()\n    {\n      base.InitializeShell();\n      Application.Current.MainWindow = (MainWindow)this.Shell;\n      Application.Current.MainWindow.Show();\n    }\n\n    /// <summary>\n    /// Creates the shell or main window of the application.\n    /// </summary>\n    /// <returns>The shell of the application as an exported instance of the <see cref=\"MainWindow\" /></returns>\n    protected override DependencyObject CreateShell()\n    {\n      return this.Container.GetExportedValue<MainWindow>();\n    }\n\n    protected override void OnInitialized()\n    {\n      try\n      {\n        base.OnInitialized();\n        m_EventSourceBootstrapper = Container.GetExportedValue<EventSourceBootstrapper>();\n        m_EventSourceBootstrapper.Run(EventEntry => m_Log.Add(EventEntry));\n        ReferenceApplicationEventSource.Log.StartingApplication(Settings.Default.MessageHandlerProvider);\n        LoggerManagementSetup m_ConsumerConfigurationFactory = Container.GetExportedValue<LoggerManagementSetup>();\n        m_ConsumerConfigurationFactory.Setup();\n        m_Components.Add(m_ConsumerConfigurationFactory);\n        ReferenceApplicationEventSource.Log.PartCreated(nameof(LoggerManagementSetup));\n        IDataRepositoryStartup m_Producer = Container.GetExportedValue<IDataRepositoryStartup>();\n        m_Producer.Setup();\n        m_Components.Add(m_Producer);\n        ReferenceApplicationEventSource.Log.PartCreated(nameof(IDataRepositoryStartup));\n      }\n      catch (Exception _ex)\n      {\n        ReferenceApplicationEventSource.Log.EnteringMethod(nameof(AppBootstrapper), $\"{nameof(AppBootstrapper)} at catch (Exception _ex)\");\n        ReferenceApplicationEventSource.Log.LogException(_ex);\n        throw;\n      }\n    }\n\n    #endregion MefBootstrapper\n\n    #region IDisposable\n\n    protected override void Dispose(bool disposing)\n    {\n      try\n      {\n        ReferenceApplicationEventSource.Log.EnteringDispose(nameof(AppBootstrapper.Dispose), disposing);\n        m_Components.Dispose();\n        base.Dispose(disposing);\n        //to keep logging it must be disposed as the last operation.\n        m_EventSourceBootstrapper.Dispose();\n        Logger.TraceData(TraceEventType.Information, 86, $\"{nameof(AppBootstrapper.Dispose)} has been accomplished successfully.\");\n      }\n      catch (Exception _ex)\n      {\n        MasterTraceException(_ex, false);\n      }\n    }\n\n    private void MasterTraceException(Exception ex, bool inner)\n    {\n      if (ex == null)\n        throw new ArgumentNullException(nameof(ex), $\"Calling {nameof(MasterTraceException)} with null exception doesn't make sense.\");\n      string _innerText = inner ? \"inner\" : \"\";\n      Logger.TraceData(TraceEventType.Information, 86, $\"During {nameof(AppBootstrapper.Dispose)} an {_innerText} exeption been thrown: {ex.ToString()}.\");\n      if (ex.InnerException == null)\n        return;\n      MasterTraceException(ex.InnerException, true);\n    }\n\n    #endregion IDisposable\n\n    #region private\n\n    private List<EventEntry> m_Log = new List<EventEntry>();\n    private CompositeDisposable m_Components = new CompositeDisposable();\n    private EventSourceBootstrapper m_EventSourceBootstrapper;\n\n    private static void AppDomainUnhandledException(object sender, UnhandledExceptionEventArgs e)\n    {\n      ReferenceApplicationEventSource.Log.EnteringMethod(nameof(AppBootstrapper), nameof(AppDomainUnhandledException));\n      Exception _ex = e.ExceptionObject as Exception;\n      ReferenceApplicationEventSource.Log.LogException(_ex);\n      HandleException(_ex);\n    }\n\n    private static void HandleException(Exception ex)\n    {\n      if (ex == null)\n        return;\n      MessageBox.Show(Properties.Resources.UnhandledException, \"Unhandled Exception\", MessageBoxButton.OK, MessageBoxImage.Error);\n      Environment.Exit(1);\n    }\n\n    #endregion private\n  }\n}"
  },
  {
    "path": "Networking/ReferenceApplication/ApplicationSettings.cs",
    "content": "﻿//___________________________________________________________________________________\n//\n//  Copyright (C) 2018, Mariusz Postol LODZ POLAND.\n//\n//  To be in touch join the community at GITTER: https://gitter.im/mpostol/OPC-UA-OOI\n//___________________________________________________________________________________\n\nusing System.ComponentModel.Composition;\nusing UAOOI.Networking.DataRepository.DataLogger;\nusing UAOOI.Networking.ReferenceApplication.Core;\n\nnamespace UAOOI.Networking.ReferenceApplication\n{\n  [Export]\n  [PartCreationPolicy(CreationPolicy.Shared)]\n  public class ApplicationSettings\n  {\n    [Export(CompositionSettings.ConfigurationFileNameContract)]\n    public string ProducerConfigurationFileName => Properties.Settings.Default.ProducerConfigurationFileName;\n\n    [Export(ConsumerCompositionSettings.ConfigurationFileNameContract)]\n    public string ConsumerConfigurationFileName => Properties.Settings.Default.ConsumerConfigurationFileName;\n  }\n}"
  },
  {
    "path": "Networking/ReferenceApplication/ConfigurationEditor/Readme.txt",
    "content": "﻿It is place holder of the configuration editor. Configuration editor is an assembly implementing \n\nCAS.UA.IServerConfiguration.IConfiguration\n\nThe definition is provided by the package:\n\n<package id=\"CAS.UA.IServerConfiguration\" version=\"1.00.00\" targetFramework=\"net461\" />\n\nFor example this interface is implemented by the class\n\nUAOOI.Configuration.DataBindings.UANetworkingConfigurationEditor\n"
  },
  {
    "path": "Networking/ReferenceApplication/Consumer/DataLoggerViewModel.cs",
    "content": "﻿//___________________________________________________________________________________\n//\n//  Copyright (C) 2020, Mariusz Postol LODZ POLAND.\n//\n//  To be in touch join the community at GITTER: https://gitter.im/mpostol/OPC-UA-OOI\n//___________________________________________________________________________________\n\nusing System.Collections.ObjectModel;\nusing System.ComponentModel.Composition;\nusing System.Windows;\nusing System.Windows.Threading;\nusing UAOOI.Networking.DataRepository.DataLogger;\n\nnamespace UAOOI.Networking.ReferenceApplication.Consumer\n{\n  [Export(ConsumerCompositionSettings.ViewModelContract, typeof(ConsumerViewModel))]\n  internal class DataLoggerViewModel : ConsumerViewModel\n  {\n    #region ViewModel\n\n    public ObservableCollection<string> ConsumerLog\n    {\n      get => b_ConsumerLog;\n      set\n      {\n        b_ConsumerLog = value;\n        RaisePropertyChanged<ObservableCollection<string>>(\"ConsumerLog\", b_ConsumerLog, value);\n      }\n    }\n\n    #endregion ViewModel\n\n    #region private\n\n    /// <summary>\n    /// Add the message to the <see cref=\"MainWindowViewModel.ConsumerLog\"/>.\n    /// </summary>\n    /// <param name=\"message\">The message to be added to the log <see cref=\"MainWindowViewModel.ConsumerLog\"/>.</param>\n    protected override void Trace(string message)\n    {\n      Application.Current.Dispatcher.Invoke(() => ConsumerLog.Insert(0, message), DispatcherPriority.Normal);\n    }\n\n    private ObservableCollection<string> b_ConsumerLog = new ObservableCollection<string>();\n\n    #endregion private\n  }\n}"
  },
  {
    "path": "Networking/ReferenceApplication/Controls/ConfigurationEditorOpenCommand.cs",
    "content": "﻿\nusing System;\nusing System.Diagnostics;\nusing System.IO;\nusing System.Reflection;\nusing System.Windows;\nusing System.Windows.Input;\nusing UAOOI.Configuration.Core;\n\nnamespace UAOOI.Networking.ReferenceApplication.Controls\n{\n  /// <summary>\n  /// Class ConfigurationEditorOpenCommand - Implements <see cref=\"ICommand\"/> open an external configuration editor. \n  /// If external editor cannot be found associated process is executed. \n  /// </summary>\n  /// <seealso cref=\"System.Windows.Input.ICommand\" />\n  public class ConfigurationEditorOpenCommand : ICommand\n  {\n    /// <summary>\n    /// Initializes a new instance of the <see cref=\"ConfigurationEditorOpenCommand\" /> class.\n    /// </summary>\n    /// <param name=\"fileName\">Name of the file to be edited.</param>\n    /// <param name=\"saveResponse\">Delegate capturing functionality to go back to the caller and collect information if and where the modified configuration is to be saved. \n    /// If the function return null the save operation must be skipped.</param>\n    public ConfigurationEditorOpenCommand(string fileName, Func<FileInfo, FileInfo> saveResponse)\n    {\n      m_FileName = fileName;\n      m_SaveResponse = saveResponse;\n    }\n\n    #region ICommand\n    /// <summary>\n    /// Occurs when changes occur that affect whether or not the command should execute.\n    /// </summary>\n    public event EventHandler CanExecuteChanged;\n    /// <summary>\n    /// Defines the method that determines whether the command can execute in its current state.\n    /// </summary>\n    /// <param name=\"parameter\">Data used by the command.  If the command does not require data to be passed, this object can be set to null.</param>\n    /// <returns>true if this command can be executed; otherwise, false.</returns>\n    public bool CanExecute(object parameter)\n    {\n      return true;\n    }\n    /// <summary>\n    /// Defines the method to be called when the command is invoked.\n    /// </summary>\n    /// <param name=\"parameter\">Data used by the command. If the command does not require data to be passed, this object can be set to null.</param>\n    public void Execute(object parameter)\n    {\n      string _filePath = string.Empty;\n      IConfiguration _editor = null;\n      try\n      {\n        string _assemblyLocatioen = Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location);\n        _filePath = Path.Combine(_assemblyLocatioen, m_FileName);\n        FileInfo _configurationFileInfo = new FileInfo(_filePath);\n        if (!_configurationFileInfo.Exists)\n          throw new FileNotFoundException();\n        string _editorPath = Path.Combine(_assemblyLocatioen, Properties.Settings.Default.ConfigurationEditorPlugInFilePath);\n        FileInfo _editorFileInfo = new FileInfo(_editorPath);\n        if (_editorFileInfo.Exists)\n          _editor = CreateInstance(_editorFileInfo);\n        if (_editor != null)\n        {\n          bool _configurationChanged = false;\n          _editor.ReadConfiguration(_configurationFileInfo);\n          _editor.OnModified += (x, y) => _configurationChanged = true;\n          _editor.EditConfiguration();\n          if (_configurationChanged)\n          {\n            FileInfo _res = m_SaveResponse(_configurationFileInfo);\n            if (_res != null)\n              _editor.SaveConfiguration(String.Empty, _res);\n          }\n        }\n        else\n          using (Process process = Process.Start(_filePath)) { }\n      }\n      catch (Exception _ex)\n      {\n        MessageBox.Show($\"An error occurs during opening the file {_filePath}. Error message: {_ex}\", \"Problem with opening a file !\", MessageBoxButton.OK, MessageBoxImage.Error);\n        return;\n      }\n      finally\n      {\n        IDisposable _toDispose = _editor as IDisposable;\n        if (_toDispose != null)\n          _toDispose.Dispose();\n      }\n    }\n\n    #endregion\n\n    #region private\n    private string m_FileName;\n    private Func<FileInfo, FileInfo> m_SaveResponse;\n    private static IConfiguration CreateInstance(FileInfo assemblyFile)\n    {\n      Assembly _pluginAssembly = Assembly.LoadFrom(assemblyFile.FullName);\n      IConfiguration _serverConfiguration;\n      string iName = typeof(IConfiguration).ToString();\n      _serverConfiguration = null;\n      foreach (Type pluginType in _pluginAssembly.GetExportedTypes())\n        //Only look at public types\n        if (pluginType.IsPublic && !pluginType.IsAbstract && pluginType.GetInterface(iName) != null)\n        {\n          _serverConfiguration = (IConfiguration)Activator.CreateInstance(pluginType);\n          break;\n        }\n      return _serverConfiguration;\n    }\n    #endregion\n\n  }\n}\n"
  },
  {
    "path": "Networking/ReferenceApplication/Controls/INotification.cs",
    "content": "﻿namespace UAOOI.Networking.ReferenceApplication.Controls\n{\n\n  /// <summary>\n  /// Represents an interaction request used for notifications.\n  /// </summary>\n  public interface INotification\n  {\n\n    /// <summary>\n    /// Gets or sets the content of the notification.\n    /// </summary>\n    /// <value>The content of the interaction control.</value>\n    object Content { get; set; }\n    /// <summary>\n    /// Gets or sets the title to use for the notification.\n    /// </summary>\n    /// <value>The title of the interaction control.</value>\n    string Title { get; set; }\n\n  }\n}"
  },
  {
    "path": "Networking/ReferenceApplication/Controls/InteractionRequestedEventArgs.cs",
    "content": "﻿using System;\n\nnamespace UAOOI.Networking.ReferenceApplication.Controls\n{\n    //\n    // Summary:\n    //     Event args for the Prism.Interactivity.InteractionRequest.IInteractionRequest.Raised\n    //     event.\n    public class InteractionRequestedEventArgs : EventArgs\n    {\n      //\n      // Summary:\n      //     Constructs a new instance of Prism.Interactivity.InteractionRequest.InteractionRequestedEventArgs\n      //\n      // Parameters:\n      //   context:\n      //\n      //   callback:\n      public InteractionRequestedEventArgs(INotification context, Action callback)\n      {\n        Callback = callback;\n        Context = context;\n      }\n\n      //\n      // Summary:\n      //     Gets the callback to execute when an interaction is completed.\n      public Action Callback { get; }\n      //\n      // Summary:\n      //     Gets the context for a requested interaction.\n      public INotification Context { get; }\n    }\n\n  }\n"
  },
  {
    "path": "Networking/ReferenceApplication/Controls/OpenFileCommand.cs",
    "content": "﻿\nusing System;\nusing System.Diagnostics;\nusing System.IO;\nusing System.Reflection;\nusing System.Windows;\nusing System.Windows.Input;\n\nnamespace UAOOI.Networking.ReferenceApplication.Controls\n{\n  /// <summary>\n  /// Class OpenFileCommand - open selected file using external <see cref=\"Process\"/>\n  /// </summary>\n  /// <seealso cref=\"System.Windows.Input.ICommand\" />\n  public class OpenFileCommand : ICommand\n  {\n\n    /// <summary>\n    /// Initializes a new instance of the <see cref=\"OpenFileCommand\"/> class.\n    /// </summary>\n    /// <param name=\"fileName\">Name of the file.</param>\n    public OpenFileCommand(string fileName)\n    {\n      m_FileName = fileName;\n    }\n\n    #region ICommand\n    /// <summary>\n    /// Occurs when changes occur that affect whether or not the command should execute.\n    /// </summary>\n    public event EventHandler CanExecuteChanged;\n    /// <summary>\n    /// Defines the method that determines whether the command can execute in its current state.\n    /// </summary>\n    /// <param name=\"parameter\">Data used by the command.  If the command does not require data to be passed, this object can be set to null.</param>\n    /// <returns>true if this command can be executed; otherwise, false.</returns>\n    public bool CanExecute(object parameter)\n    {\n      return true;\n    }\n    /// <summary>\n    /// Defines the method to be called when the command is invoked.\n    /// </summary>\n    /// <param name=\"parameter\">Data used by the command.  If the command does not require data to be passed, this object can be set to null.</param>\n    public void Execute(object parameter)\n    {\n      string path = string.Empty;\n      try\n      {\n        path = Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location);\n        using (Process process = Process.Start(Path.Combine(path, m_FileName))) { }\n      }\n      catch (Exception _ex)\n      {\n        MessageBox.Show($\"An error occurs during opening the file {path}. Error message: {_ex}\", \"Problem with opening a file !\", MessageBoxButton.OK, MessageBoxImage.Error);\n        return;\n      }\n    }\n    #endregion\n\n    #region private\n    private string m_FileName;\n    #endregion\n\n  }\n}\n"
  },
  {
    "path": "Networking/ReferenceApplication/MEF/BootstrapperBase.cs",
    "content": "﻿\nusing System.Windows;\nusing CommonServiceLocator;\nusing UAOOI.Common.Infrastructure.Diagnostic;\n\nnamespace UAOOI.Networking.ReferenceApplication.MEF\n{\n\n  /// <summary>\n  /// Base class that provides a basic bootstrapping sequence and hooks that specific implementations can override.\n  /// </summary>\n  /// <remarks>\n  /// This class must be overridden to provide application specific configuration.\n  /// </remarks>\n  public abstract class BootstrapperBase\n  {\n\n    /// <summary>\n    /// Runs the bootstrapper process.\n    /// </summary>\n    public void Run()\n    {\n      this.Run(true);\n      this.OnInitialized();\n    }\n    /// <summary>\n    /// Run the bootstrapper process.\n    /// </summary>\n    /// <param name=\"runWithDefaultConfiguration\">If <c>true</c> registers default Library services in the container. This is the default behavior.\n    /// </param>\n    public abstract void Run(bool runWithDefaultConfiguration);\n    /// <summary>\n    /// Gets the current <see cref=\"ITraceSource\"/> for the application.\n    /// </summary>\n    /// <value>A <see cref=\"ITraceSource\"/> instance.</value>\n    protected ITraceSource Logger { get; set; } = null;\n    /// <summary>\n    /// Gets the shell user interface\n    /// </summary>\n    /// <value>The shell user interface.</value>\n    protected DependencyObject Shell { get; set; } = null;\n    /// <summary>\n    /// Create the <see cref=\"ITraceSource\" /> used by the bootstrapper.\n    /// </summary>\n    /// <remarks>\n    /// The base implementation returns a new <see cref=\"TraceSourceBase\"/>.\n    /// </remarks>\n    protected virtual ITraceSource CreateLogger()\n    {\n      return new TraceSourceBase();\n    }\n    /// <summary>\n    /// Registers the <see cref=\"System.Type\"/>s of the Exceptions that are not considered \n    /// root exceptions by the <see cref=\"ExceptionExtensions\"/>.\n    /// </summary>\n    protected virtual void RegisterFrameworkExceptionTypes()\n    {\n      ExceptionExtensions.RegisterFrameworkExceptionType(typeof(ActivationException));\n    }\n    /// <summary>\n    /// Creates the shell or main window of the application.\n    /// </summary>\n    /// <returns>The shell of the application as an instance of the <see cref=\"DependencyObject\" /></returns>\n    protected virtual DependencyObject CreateShell()\n    {\n      return null;\n    }\n    /// <summary>\n    /// Initializes the shell.\n    /// </summary>\n    protected virtual void InitializeShell() { }\n    /// <summary>\n    /// Contains actions that should occur last.\n    /// </summary>\n    protected virtual void OnInitialized() { }\n\n  }\n}\n\n"
  },
  {
    "path": "Networking/ReferenceApplication/MEF/DefaultServiceRegistrar.cs",
    "content": "﻿//___________________________________________________________________________________\n//\n//  Copyright (C) 2018, Mariusz Postol LODZ POLAND.\n//\n//  To be in touch join the community at GITTER: https://gitter.im/mpostol/OPC-UA-OOI\n//___________________________________________________________________________________\n\nusing System.Collections.Generic;\nusing System.ComponentModel.Composition.Hosting;\nusing System.ComponentModel.Composition.Primitives;\nusing System.Reflection;\nusing UAOOI.Networking.DataRepository.DataLogger;\nusing UAOOI.Networking.Encoding;\nusing UAOOI.Networking.ReferenceApplication.Core.Diagnostic;\nusing UAOOI.Networking.SemanticData;\n\nnamespace UAOOI.Networking.ReferenceApplication.MEF\n{\n  internal static class DefaultServiceRegistrar\n  {\n    /// <summary>\n    /// Registers the required services.\n    /// </summary>\n    /// <param name=\"additionalCatalog\">The additional catalog to be considered for composition.</param>\n    /// <returns>An instance of <see cref=\"AggregateCatalog\"/>.</returns>\n    public static AggregateCatalog RegisterServices(ComposablePartCatalog additionalCatalog)\n    {\n      List<ComposablePartCatalog> _catalog = GetDefaultComposablePartCatalog();\n      if (additionalCatalog != null)\n        _catalog.Add(additionalCatalog);\n      return new AggregateCatalog(_catalog);\n    }\n\n    private static List<ComposablePartCatalog> GetDefaultComposablePartCatalog()\n    {\n      return new List<ComposablePartCatalog>(new ComposablePartCatalog[] { new AssemblyCatalog(Assembly.GetAssembly(typeof(AppBootstrapper))),\n                                                                           new AssemblyCatalog(Assembly.GetAssembly(typeof(NetworkingEventSourceProvider))),\n                                                                           new AssemblyCatalog(Assembly.GetAssembly(typeof(DataManagementSetup))),\n                                                                           new AssemblyCatalog(Assembly.GetAssembly(typeof(EncodingFactoryBinarySimple))),\n                                                                           new AssemblyCatalog(Assembly.GetAssembly(typeof(ConsumerCompositionSettings))),\n                                                                          }\n                                            );\n    }\n  }\n}"
  },
  {
    "path": "Networking/ReferenceApplication/MEF/EventSourceBootstrapper.cs",
    "content": "﻿//___________________________________________________________________________________\n//\n//  Copyright (C) 2020, Mariusz Postol LODZ POLAND.\n//\n//  To be in touch join the community at GITTER: https://gitter.im/mpostol/OPC-UA-OOI\n//___________________________________________________________________________________\n\nusing Microsoft.Practices.EnterpriseLibrary.SemanticLogging;\nusing Microsoft.Practices.EnterpriseLibrary.SemanticLogging.Sinks;\nusing System;\nusing System.Collections.Generic;\nusing System.ComponentModel.Composition;\nusing System.Diagnostics.Tracing;\nusing System.Linq;\nusing System.Reactive.Concurrency;\nusing System.Reactive.Disposables;\nusing System.Reactive.Linq;\nusing UAOOI.Networking.Core;\nusing UAOOI.Networking.ReferenceApplication.Core.Diagnostic;\n\nnamespace UAOOI.Networking.ReferenceApplication.MEF\n{\n  [Export(typeof(EventSourceBootstrapper))]\n  public class EventSourceBootstrapper : IDisposable\n  {\n    #region composition\n\n    [ImportMany(typeof(INetworkingEventSourceProvider))]\n    public IEnumerable<INetworkingEventSourceProvider> EventSources { get; set; }\n\n    #endregion composition\n\n    #region API\n\n    internal void Run(Action<EventEntry> action)\n    {\n      CompositeDisposable _listenersDisposable = new CompositeDisposable();\n      if (EventSources != null)\n        foreach (INetworkingEventSourceProvider _eventSources in EventSources)\n        {\n          ObservableEventListener _newEventListener = new ObservableEventListener();\n          _newEventListener.EnableEvents(_eventSources.GetPartEventSource(), EventLevel.LogAlways, Keywords.All);\n          _listenersDisposable.Add(_newEventListener);\n        }\n      if (_listenersDisposable.Count == 0)\n        return;\n      IObservable<EventEntry> _last = _listenersDisposable.Cast<IObservable<EventEntry>>().Merge<EventEntry>();\n      m_FileSubscription = _last.ObserveOn<EventEntry>(Scheduler.Default).Do<EventEntry>(action).LogToFlatFile(Properties.Settings.Default.LogFilePath);\n    }\n\n    #endregion API\n\n    #region IDisposable Support\n\n    private bool disposedValue = false; // To detect redundant calls\n\n    protected virtual void Dispose(bool disposing)\n    {\n      if (disposedValue)\n        return;\n      ReferenceApplicationEventSource.Log.EnteringDispose(nameof(EventSourceBootstrapper), disposing);\n      if (disposing)\n      {\n        m_FileSubscription?.Sink.FlushAsync();\n        m_FileSubscription?.Dispose();\n        m_FileSubscription = null;\n      }\n      disposedValue = true;\n    }\n\n    // This code added to correctly implement the disposable pattern.\n    public void Dispose()\n    {\n      // Do not change this code. Put cleanup code in Dispose(bool disposing) above.\n      Dispose(true);\n    }\n\n    #endregion IDisposable Support\n\n    #region private\n\n    private SinkSubscription<FlatFileSink> m_FileSubscription;\n\n    #endregion private\n  }\n}"
  },
  {
    "path": "Networking/ReferenceApplication/MEF/ExceptionExtensions.cs",
    "content": "﻿\nusing System;\nusing System.Collections.Generic;\n\nnamespace UAOOI.Networking.ReferenceApplication.MEF\n{\n  /// <summary>\n  /// Class that provides extension methods for the Exception class. These extension methods provide\n  /// a mechanism for developers to get more easily to the root cause of an exception, especially in combination with \n  /// DI-containers such as Unity. \n  /// </summary>\n  internal static class ExceptionExtensions\n  {\n\n    /// <summary>\n    /// Register the type of an Exception that is thrown by the framework. The <see cref=\"GetRootException\"/> method uses\n    /// this list of Exception types to find out if something has gone wrong.  \n    /// </summary>\n    /// <param name=\"frameworkExceptionType\">The type of exception to register.</param>\n    public static void RegisterFrameworkExceptionType(Type frameworkExceptionType)\n    {\n      if (frameworkExceptionType == null)\n        throw new ArgumentNullException(nameof(frameworkExceptionType));\n      if (!m_FrameworkExceptionTypes.Contains(frameworkExceptionType))\n        m_FrameworkExceptionTypes.Add(frameworkExceptionType);\n    }\n    /// <summary>\n    /// Determines whether the exception type is already registered using the <see cref=\"RegisterFrameworkExceptionType\"/> \n    /// method\n    /// </summary>\n    /// <param name=\"frameworkExceptionType\">The type of framework exception to find.</param>\n    /// <returns>\n    /// \t<c>true</c> if the exception type is already registered; otherwise, <c>false</c>.\n    /// </returns>\n    public static bool IsFrameworkExceptionRegistered(Type frameworkExceptionType)\n    {\n      return m_FrameworkExceptionTypes.Contains(frameworkExceptionType);\n    }\n    /// <summary>\n    /// Looks at all the inner exceptions of the <paramref name=\"exception\"/> parameter to find the \n    /// most likely root cause of the exception. This works by skipping all registered exception types.\n    /// </summary>\n    /// <remarks>\n    /// This method is not 100% accurate and should only be used to point a developer into the most likely direction.\n    /// It should not be used to replace the Inner Exception stack of an exception, because this might hide required exception\n    /// information. \n    /// </remarks>\n    /// <param name=\"exception\">The exception that will provide the list of inner exceptions to examine.</param>\n    /// <returns>\n    /// The exception that most likely caused the exception to occur. If it can't find the root exception, it will return the \n    /// <paramref name=\"exception\"/> value itself.\n    /// </returns>\n    [System.Diagnostics.CodeAnalysis.SuppressMessage(\"Microsoft.Design\", \"CA1031:DoNotCatchGeneralExceptionTypes\", Justification = \"We have to catch exception. This method is used in exception handling code, so it must not fail.\")]\n    public static Exception GetRootException(this Exception exception)\n    {\n      Exception _rootException = exception;\n      try\n      {\n        while (true)\n        {\n          if (_rootException == null)\n          {\n            _rootException = exception;\n            break;\n          }\n          if (!IsFrameworkException(_rootException))\n            break;\n          _rootException = _rootException.InnerException;\n        }\n      }\n      catch (Exception)\n      {\n        _rootException = exception;\n      }\n      return _rootException;\n    }\n\n    #region private\n    private static List<Type> m_FrameworkExceptionTypes = new List<Type>();\n    private static bool IsFrameworkException(Exception exception)\n    {\n      bool _isFrameworkException = m_FrameworkExceptionTypes.Contains(exception.GetType());\n      bool _childIsFrameworkException = false;\n      if (exception.InnerException != null)\n        _childIsFrameworkException = m_FrameworkExceptionTypes.Contains(exception.InnerException.GetType());\n      return _isFrameworkException || _childIsFrameworkException;\n    }\n    #endregion\n\n  }\n}\n"
  },
  {
    "path": "Networking/ReferenceApplication/MEF/MefBootstrapper.cs",
    "content": "﻿//___________________________________________________________________________________\n//\n//  Copyright (C) 2020, Mariusz Postol LODZ POLAND.\n//\n//  To be in touch join the community at GITTER: https://gitter.im/mpostol/OPC-UA-OOI\n//___________________________________________________________________________________\n\nusing CommonServiceLocator;\nusing System;\nusing System.ComponentModel.Composition;\nusing System.ComponentModel.Composition.Hosting;\nusing System.Diagnostics;\nusing UAOOI.Common.Infrastructure.Diagnostic;\nusing UAOOI.Networking.ReferenceApplication.Core.Diagnostic;\n\nnamespace UAOOI.Networking.ReferenceApplication.MEF\n{\n  internal abstract class MefBootstrapper : BootstrapperBase, IDisposable\n  {\n\n    #region BootstrapperBase\n    /// <summary>\n    /// Run the bootstrapper process.\n    /// </summary>\n    public override void Run(bool runWithDefaultConfiguration)\n    {\n      this.Logger = this.CreateLogger();\n      if (this.Logger == null)\n        throw new InvalidOperationException(\"Null Logger Exception\");\n      this.Logger.TraceData(TraceEventType.Verbose, 33, \"Logger Was Created Successfully\");\n      this.Logger.TraceData(TraceEventType.Verbose, 33, \"Creating Catalog For MEF\");\n      this.AggregateCatalog = this.CreateAggregateCatalog();\n      this.Logger.TraceData(TraceEventType.Verbose, 33, \"Configuring Catalog For MEF\");\n      this.ConfigureAggregateCatalog();\n      this.Logger.TraceData(TraceEventType.Verbose, 33, \"Register Default Types If Missing\");\n      this.RegisterDefaultTypesIfMissing();\n      this.Logger.TraceData(TraceEventType.Verbose, 33, \"Creating Mef Container\");\n      this.Container = this.CreateContainer();\n      if (this.Container == null)\n        throw new InvalidOperationException(\"Null Composition Container Exception\");\n      this.Logger.TraceData(TraceEventType.Verbose, 33, \"Configuring Mef Container\");\n      this.ConfigureContainer();\n      this.Logger.TraceData(TraceEventType.Verbose, 33, \"Configuring Service Locator Singleton\");\n      this.ConfigureServiceLocator();\n      this.Logger.TraceData(TraceEventType.Verbose, 33, \"Registering Framework Exception Types\");\n      this.RegisterFrameworkExceptionTypes();\n      this.Logger.TraceData(TraceEventType.Verbose, 33, \"Creating Shell\");\n      this.Shell = this.CreateShell();\n      this.Logger.TraceData(TraceEventType.Verbose, 33, \"Initializing Shell\");\n      this.InitializeShell();\n      this.Logger.TraceData(TraceEventType.Verbose, 33, \"Bootstrapper Sequence Completed\");\n    }\n    /// <summary>\n    /// Configures the <see cref=\"CommonServiceLocator.ServiceLocator\" /> .\n    /// </summary>\n    /// <remarks>\n    /// The base implementation also sets the ServiceLocator provider singleton.\n    /// </remarks>\n    protected void ConfigureServiceLocator()\n    {\n      IServiceLocator _serviceLocator = this.Container.GetExportedValue<IServiceLocator>();\n      ServiceLocator.SetLocatorProvider(() => _serviceLocator);\n    }\n    #endregion\n\n    #region private\n    /// <summary>\n    /// Gets or sets the default <see cref=\"AggregateCatalog\"/> for the application.\n    /// </summary>\n    /// <value>The default <see cref=\"AggregateCatalog\"/> instance.</value>\n    protected AggregateCatalog AggregateCatalog { get; private set; }\n    /// <summary>\n    /// Gets the default <see cref=\"CompositionContainer\"/> for the application.\n    /// </summary>\n    /// <value>The default <see cref=\"CompositionContainer\"/> instance.</value>\n    protected CompositionContainer Container { get; private set; }\n    /// <summary>\n    /// Configures the <see cref=\"AggregateCatalog\"/> used by MEF.\n    /// </summary>\n    /// <remarks>\n    /// The base implementation returns a new AggregateCatalog.\n    /// </remarks>\n    /// <returns>An <see cref=\"AggregateCatalog\"/> to be used by the bootstrapper.</returns>\n    protected virtual AggregateCatalog CreateAggregateCatalog()\n    {\n      return new AggregateCatalog();\n    }\n    /// <summary>\n    /// Configures the <see cref=\"AggregateCatalog\"/> used by MEF.\n    /// </summary>\n    /// <remarks>\n    /// The base implementation does nothing.\n    /// </remarks>\n    protected virtual void ConfigureAggregateCatalog() { }\n    /// <summary>\n    /// Creates the <see cref=\"CompositionContainer\"/> that will be used as the default container.\n    /// </summary>\n    /// <returns>A new instance of <see cref=\"CompositionContainer\"/>.</returns>\n    /// <remarks>\n    /// The base implementation registers a default MEF catalog of exports of key types.\n    /// Exporting your own types will replace these defaults.\n    /// </remarks>\n    [System.Diagnostics.CodeAnalysis.SuppressMessage(\"Microsoft.Reliability\", \"CA2000:Dispose objects before losing scope\", Justification = \"The default export provider is in the container and disposed by MEF.\")]\n    protected virtual CompositionContainer CreateContainer()\n    {\n      CompositionContainer _container = new CompositionContainer(this.AggregateCatalog);\n      return _container;\n    }\n    /// <summary>\n    /// Configures the <see cref=\"CompositionContainer\"/>. \n    /// May be overwritten in a derived class to add specific type mappings required by the application.\n    /// </summary>\n    /// <remarks>\n    /// The base implementation registers all the types direct instantiated by the bootstrapper with the container.\n    /// If the method is overwritten, the new implementation should call the base class version.\n    /// </remarks>\n    protected virtual void ConfigureContainer()\n    {\n      this.RegisterBootstrapperProvidedTypes();\n    }\n    /// <summary>\n    /// Helper method for configuring the <see cref=\"CompositionContainer\"/>. \n    /// Registers defaults for all the types necessary for the infrastructure to work, if they are not already registered.\n    /// </summary>\n    public virtual void RegisterDefaultTypesIfMissing()\n    {\n      this.AggregateCatalog = DefaultServiceRegistrar.RegisterServices(this.AggregateCatalog);\n    }\n    /// <summary>\n    /// Helper method for configuring the <see cref=\"CompositionContainer\"/>. \n    /// Registers all the types direct instantiated by the bootstrapper with the container.\n    /// </summary>\n    protected virtual void RegisterBootstrapperProvidedTypes()\n    {\n      this.Container.ComposeExportedValue<ITraceSource>(this.Logger);\n      this.Container.ComposeExportedValue<IServiceLocator>(new ServiceLocatorAdapter(this.Container));\n      this.Container.ComposeExportedValue<AggregateCatalog>(this.AggregateCatalog);\n    }\n\n    #region IDisposable Support\n    private bool disposedValue = false; // To detect redundant calls\n    /// <summary>\n    /// Releases unmanaged and - optionally - managed resources.\n    /// </summary>\n    /// <param name=\"disposing\"><c>true</c> to release both managed and unmanaged resources; <c>false</c> to release only unmanaged resources.</param>\n    protected virtual void Dispose(bool disposing)\n    {\n      if (disposedValue)\n        return;\n      ReferenceApplicationEventSource.Log.EnteringDispose(nameof(MefBootstrapper), disposing);\n      if (disposing)\n      {\n        this.AggregateCatalog.Dispose();\n        this.Container.Dispose();\n      }\n      disposedValue = true;\n    }\n    /// <summary>\n    /// Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources.\n    /// </summary>\n    public void Dispose()\n    {\n      // Do not change this code. Put cleanup code in Dispose(bool disposing) above.\n      Dispose(true);\n    }\n    #endregion\n\n    #endregion\n\n  }\n\n}\n"
  },
  {
    "path": "Networking/ReferenceApplication/MEF/ServiceLocatorAdapter.cs",
    "content": "﻿\nusing System;\nusing System.Collections.Generic;\nusing System.ComponentModel.Composition;\nusing System.ComponentModel.Composition.Hosting;\nusing System.Linq;\nusing CommonServiceLocator;\n\nnamespace UAOOI.Networking.ReferenceApplication.MEF\n{\n\n  /// <summary>\n  /// Provides service location utilizing the Managed Extensibility Framework container.\n  /// </summary>\n  public class ServiceLocatorAdapter : ServiceLocatorImplBase\n  {\n\n    /// <summary>\n    /// Initializes a new instance of the <see cref=\"ServiceLocatorAdapter\"/> class.\n    /// </summary>\n    /// <param name=\"compositionContainer\">The MEF composition container.</param>\n    public ServiceLocatorAdapter(CompositionContainer compositionContainer)\n    {\n      this.compositionContainer = compositionContainer;\n    }\n\n    /// <summary>\n    /// Resolves the instance of the requested service.\n    /// </summary>\n    /// <param name=\"serviceType\">Type of instance requested.</param>\n    /// <returns>The requested service instance.</returns>\n    protected override IEnumerable<object> DoGetAllInstances(Type serviceType)\n    {\n      List<object> instances = new List<object>();\n      IEnumerable<Lazy<object, object>> exports = this.compositionContainer.GetExports(serviceType, null, null);\n      if (exports != null)\n        instances.AddRange(exports.Select(export => export.Value));\n      return instances;\n    }\n    /// <summary>\n    /// Resolves all the instances of the requested service.\n    /// </summary>\n    /// <param name=\"serviceType\">Type of service requested.</param>\n    /// <param name=\"key\">Name of registered service you want. May be null.</param>\n    /// <returns>Sequence of service instance objects.</returns>\n    protected override object DoGetInstance(Type serviceType, string key)\n    {\n      IEnumerable<Lazy<object, object>> exports = this.compositionContainer.GetExports(serviceType, null, key);\n      if ((exports != null) && (exports.Count() > 0))\n      {\n        // If there is more than one value, this will throw an InvalidOperationException, \n        // which will be wrapped by the base class as an ActivationException.\n        return exports.Single().Value;\n      }\n      throw new ActivationException(this.FormatActivationExceptionMessage(new CompositionException(\"Export not found\"), serviceType, key));\n    }\n    private readonly CompositionContainer compositionContainer;\n\n  }\n}\n"
  },
  {
    "path": "Networking/ReferenceApplication/MainWindow.xaml",
    "content": "﻿<Window x:Class=\"UAOOI.Networking.ReferenceApplication.MainWindow\"\n        xmlns:Controls=\"clr-namespace:UAOOI.Networking.ReferenceApplication.Controls\"\n        xmlns=\"http://schemas.microsoft.com/winfx/2006/xaml/presentation\"\n        xmlns:x=\"http://schemas.microsoft.com/winfx/2006/xaml\"\n        xmlns:d=\"http://schemas.microsoft.com/expression/blend/2008\"\n        xmlns:mc=\"http://schemas.openxmlformats.org/markup-compatibility/2006\"\n        xmlns:local=\"clr-namespace:UAOOI.Networking.ReferenceApplication\"\n        xmlns:code=\"clr-namespace:UAOOI.Networking.ReferenceApplication\"\n        mc:Ignorable=\"d\"\n        Title=\"{Binding Path=WindowTitle}\" \n        Height=\"800\" Width=\"500\"  MinHeight=\"700\" MinWidth=\"500\" Icon=\"PrepareProcess.ico\" \n        WindowStartupLocation=\"CenterOwner\" \n        WindowState=\"Maximized\"\n        Loaded=\"Window_Loaded\">\n    <Window.DataContext>\n        <code:MainWindowViewModel/>\n    </Window.DataContext>\n    <Window.Resources>\n        <Style x:Key=\"Title\" TargetType=\"{x:Type Label}\">\n            <Setter Property=\"FontSize\" Value=\"21.333\"/>\n            <Setter Property=\"FontWeight\" Value=\"Bold\"/>\n            <Setter Property=\"Margin\" Value=\"20\"/>\n        </Style>\n        <Style x:Key=\"TextBox\" TargetType=\"{x:Type Control}\">\n            <Setter Property=\"VerticalAlignment\" Value=\"Center\"/>\n            <Setter Property=\"VerticalContentAlignment\" Value=\"Center\"/>\n            <Setter Property=\"Height\" Value=\"28\"/>\n        </Style>\n        <Style x:Key=\"ValidatedTextBox\" TargetType=\"{x:Type Control}\" >\n            <Setter Property=\"VerticalAlignment\" Value=\"Center\"/>\n            <Setter Property=\"VerticalContentAlignment\" Value=\"Center\"/>\n            <Style.Triggers>\n                <Trigger Property=\"Validation.HasError\" Value=\"true\">\n                    <!--<Setter Property=\"ToolTip\" Value=\"{Binding RelativeSource={RelativeSource Self}, Path=(Validation.Errors)[0].ErrorContent}\"/>-->\n                    <Setter Property=\"ToolTip\" Value=\"The entered IP address is not valid.\"/>\n                    <Setter Property=\"Background\" Value=\"Pink\"/>\n                </Trigger>\n            </Style.Triggers>\n        </Style>\n        <ControlTemplate x:Key=\"ValidationTemplate\">\n            <DockPanel LastChildFill=\"True\">\n                <TextBlock Foreground=\"Red\" Background=\"Yellow\" Margin=\"5,0\" ToolTip=\"IP Address is invalid\" HorizontalAlignment=\"Center\"  > !</TextBlock>\n                <AdornedElementPlaceholder />\n            </DockPanel>\n        </ControlTemplate>\n    </Window.Resources>\n    <Window.CommandBindings>\n        <CommandBinding Command=\"SystemCommands.CloseWindowCommand\" Executed=\"CommandBinding_Executed\" CanExecute=\"CommandBinding_CanExecute\" />\n    </Window.CommandBindings>\n    <Grid>\n        <Grid.RowDefinitions>\n            <RowDefinition Height=\"20\"></RowDefinition>\n            <RowDefinition Height=\"*\"></RowDefinition>\n            <RowDefinition Height=\"Auto\"></RowDefinition>\n        </Grid.RowDefinitions>\n        <DockPanel Grid.Row=\"0\" LastChildFill=\"True\">\n            <Menu x:Name=\"menu\" Height=\"20\" HorizontalAlignment=\"Left\" Width=\"Auto\" DockPanel.Dock=\"Right\" ToolTip=\"Available actions\">\n                <MenuItem Header=\"File\" >\n                    <MenuItem Header=\"Edit Consumer Configuration\" Command=\"{Binding Path=OpenConsumerConfiguration}\" ToolTip=\"Edit consumer configuration.\"/>\n                    <MenuItem Header=\"Edit Producer Configuration\" Command=\"{Binding Path=OpenProducerConfiguration}\" ToolTip=\"Edit producer configuration.\" />\n                    <MenuItem Header=\"Exit\" Command=\"SystemCommands.CloseWindowCommand\" ToolTip=\"Exit Application\" >\n                        <MenuItem.Icon>\n                            <Image Source=\"Icons\\action_Cancel_16xLG.png\" />\n                        </MenuItem.Icon>\n                        <MenuItem.InputBindings >\n                            <KeyBinding Key=\"F4\" Modifiers=\"Alt\" />\n                        </MenuItem.InputBindings>\n                    </MenuItem>\n                </MenuItem>\n                <MenuItem Header=\"Edit\">\n                    <MenuItem Command=\"ApplicationCommands.Copy\"/>\n                    <MenuItem Command=\"ApplicationCommands.Cut\"/>\n                    <MenuItem Command=\"ApplicationCommands.Paste\"/>\n                    <MenuItem Command=\"ApplicationCommands.Undo\"/>\n                    <MenuItem Command=\"ApplicationCommands.Redo\"/>\n                    <MenuItem Command=\"ApplicationCommands.SelectAll\"/>\n                </MenuItem>\n                <MenuItem Header=\"Actions\" ToolTip=\"Available actions\">\n                    <MenuItem Header=\"Update Consumer Configuration\" Command=\"{Binding Path=ConsumerUpdateConfiguration}\" ToolTip=\"Updates the consumer configuration and restarts the data receiving process\"/>\n                    <MenuItem Header=\"Update Producer Configuration\" Command=\"{Binding Path=ProducerRestartCommand}\" ToolTip=\"Updates the producer configuration and restarts the data pumping process\" />\n                    <MenuItem Header=\"Open Configuration folder\" Command=\"{Binding Path=ConfigurationFolder}\" ToolTip=\"Open folder containing configuration files\" />\n                </MenuItem>\n                <MenuItem Header=\"Help\" ToolTip=\"Get more about the software.\" >\n                    <MenuItem Header=\"Home page\" Command=\"{Binding Path=HelpDocumentation}\" ToolTip=\"Opens the project website\" />\n                    <MenuItem Header=\"Release Notes\" Command=\"{Binding Path=ReadMe}\" ToolTip=\"Opens the release notes file.\" />\n                    <MenuItem Header=\"Terms of Service\" Command=\"{Binding Path=TermsOfService}\" ToolTip=\"Opens the GitHub Terms of Service.\"/>\n                    <MenuItem Header=\"License\" Command=\"{Binding Path=ViewLicense}\" ToolTip=\"Opens the application license.\"/>\n                </MenuItem>\n            </Menu>\n        </DockPanel>\n        <Grid Grid.Row=\"1\"  Background=\"#FF06F711\" VerticalAlignment=\"Stretch\" >\n            <Grid.RowDefinitions>\n                <RowDefinition Height=\"Auto\"/>\n                <RowDefinition Height=\"*\"/>\n            </Grid.RowDefinitions>\n            <Label Grid.Row=\"0\" Style=\"{StaticResource Title}\">Consumer</Label>\n            <Grid  Grid.Row=\"1\">\n                <Grid.ColumnDefinitions>\n                    <ColumnDefinition Width=\"Auto\"/>\n                    <ColumnDefinition Width=\"*\"/>\n                </Grid.ColumnDefinitions>\n                <Grid.RowDefinitions>\n                    <RowDefinition Height=\"Auto\"/>\n                    <RowDefinition Height=\"*\"/>\n                </Grid.RowDefinitions>\n                <StackPanel Orientation=\"Vertical\" Grid.Column=\"0\" Grid.Row=\"0\">\n                    <Label Style=\"{StaticResource TextBox}\" >Packages Received</Label>\n                    <Label Style=\"{StaticResource TextBox}\" >Bytes Received</Label>\n                    <Label Style=\"{StaticResource TextBox}\" >Consumer status</Label>\n                </StackPanel>\n                <StackPanel Orientation=\"Vertical\"  Grid.Column=\"1\" Grid.Row=\"0\">\n                    <TextBox Style=\"{StaticResource TextBox}\" Text=\"{Binding Path=ConsumerViewModel.ConsumerFramesReceived, FallbackValue=?????, Mode=OneWay}\" ToolTip=\"Packages received by the consumer from all sources\"/>\n                    <TextBox Style=\"{StaticResource TextBox}\" Text=\"{Binding Path=ConsumerViewModel.ConsumerReceivedBytes, FallbackValue=?????, Mode=OneWay }\" ToolTip=\"Bytes received by the consumer from all sources\"/>\n                    <TextBox  Style=\"{StaticResource TextBox}\" Text=\"{Binding Path=ConsumerViewModel.ConsumerErrorMessage, Mode=TwoWay }\" ToolTip=\"Bytes sent by the producer\"/>\n                    <Button  Style=\"{StaticResource TextBox}\" Command=\"{Binding Path=ConsumerViewModel.ConsumerUpdateConfiguration}\" >Update Configuration</Button>\n                </StackPanel>\n                <ListBox Grid.Column=\"0\" Grid.Row=\"1\" Grid.ColumnSpan=\"2\" ItemsSource=\"{Binding Path=ConsumerViewModel.ConsumerLog}\" VerticalAlignment=\"Stretch\" VerticalContentAlignment=\"Stretch\"  />\n            </Grid>\n        </Grid>\n        <StackPanel Orientation=\"Vertical\" Grid.Row=\"2\" Background=\"#FF0AC3F9\" >\n            <Label Style=\"{StaticResource Title}\" >Producer:</Label>\n            <Grid>\n                <Grid.ColumnDefinitions>\n                    <ColumnDefinition Width=\"Auto\"/>\n                    <ColumnDefinition Width=\"*\"/>\n                </Grid.ColumnDefinitions>\n                <StackPanel  Margin=\"10\" Orientation=\"Vertical\" Grid.Column=\"0\">\n                    <Label Style=\"{StaticResource TextBox}\" >Packages Sent</Label>\n                    <Label Style=\"{StaticResource TextBox}\">Bytes Sent</Label>\n                    <Label Style=\"{StaticResource TextBox}\">Producer status</Label>\n                </StackPanel>\n                <StackPanel Margin=\"10\" Orientation=\"Vertical\" Grid.Column=\"1\">\n                    <TextBox Style=\"{StaticResource TextBox}\" Text=\"{Binding Path=PackagesSent,  FallbackValue=?????, Mode=OneWay}\" ToolTip=\"Packages sent by the producer\"/>\n                    <TextBox  Style=\"{StaticResource TextBox}\" Text=\"{Binding Path=BytesSent,  FallbackValue=?????, Mode=OneWay }\" ToolTip=\"Bytes sent by the producer\"/>\n                    <TextBox  Style=\"{StaticResource TextBox}\" Text=\"{Binding Path=ProducerViewModel.ProducerErrorMessage, Mode=TwoWay }\" ToolTip=\"Bytes sent by the producer\"/>\n                    <Button  Style=\"{StaticResource TextBox}\" Command=\"{Binding Path=ProducerViewModel.ProducerRestartCommand}\" >Update Configuration</Button>\n                </StackPanel>\n            </Grid>\n        </StackPanel>\n    </Grid>\n</Window>\n"
  },
  {
    "path": "Networking/ReferenceApplication/MainWindow.xaml.cs",
    "content": "﻿\nusing Microsoft.Win32;\nusing System.ComponentModel.Composition;\nusing System.Windows;\nusing UAOOI.Networking.ReferenceApplication.Controls;\n\nnamespace UAOOI.Networking.ReferenceApplication\n{\n  /// <summary>\n  /// Interaction logic for MainWindow.xaml\n  /// </summary>\n  [Export()]\n  public partial class MainWindow : Window\n  {\n\n    public MainWindow()\n    {\n      InitializeComponent();\n    }\n    [Import]\n    internal MainWindowViewModel MainWindowViewModel\n    {\n      set { DataContext = value; }\n      get { return DataContext as MainWindowViewModel; }\n    }\n    private void CommandBinding_Executed(object sender, System.Windows.Input.ExecutedRoutedEventArgs e)\n    {\n      this.Close();\n    }\n    private void CommandBinding_CanExecute(object sender, System.Windows.Input.CanExecuteRoutedEventArgs e)\n    {\n      e.CanExecute = true;\n    }\n    private void Window_Loaded(object sender, RoutedEventArgs e)\n    {\n      MainWindowViewModel _vm = this.DataContext as MainWindowViewModel;\n      if (_vm == null)\n        return;\n      _vm.SaveFileInteractionEvent += _vmSaveFileInteractionEvent;\n    }\n    private void _vmSaveFileInteractionEvent(object sender, InteractionRequestedEventArgs e)\n    {\n      SaveFileConfirmation _confirmation = e.Context as SaveFileConfirmation;\n      if (_confirmation == null)\n        return;\n      string _msg = $\"Click Yes to save configuration to {_confirmation.FilePath}, No to slecet new file, Cancel to cancel\";\n      //switch (MessageBox.Show(_confirmation.Title, _msg, MessageBoxButton.YesNoCancel, MessageBoxImage.Question, MessageBoxResult.Cancel))\n      switch (MessageBox.Show(_msg, _confirmation.Title, MessageBoxButton.YesNoCancel, MessageBoxImage.Question, MessageBoxResult.Cancel))\n      {\n        case MessageBoxResult.None:\n        case MessageBoxResult.OK:\n        case MessageBoxResult.Yes:\n          break;\n        case MessageBoxResult.Cancel:\n          _confirmation.FilePath = string.Empty;\n          break;\n        case MessageBoxResult.No:\n          OpenFileDialog _dialog = new OpenFileDialog()\n          {\n            AddExtension = true,\n            CheckPathExists = true,\n            DefaultExt = \".xml\",\n            Filter = \"Configuration (.xml)|*.xml\",\n            FileName = _confirmation.FilePath,\n            Title = \"Save file as ..\",\n            CheckFileExists = false,\n            ValidateNames = true,  \n          };\n          _confirmation.FilePath = _dialog.ShowDialog().GetValueOrDefault(false) ? _dialog.FileName : string.Empty;\n          e.Callback();\n          break;\n        default:\n          break;\n      }\n    }\n\n  }\n}\n"
  },
  {
    "path": "Networking/ReferenceApplication/MainWindowViewModel.cs",
    "content": "﻿//___________________________________________________________________________________\n//\n//  Copyright (C) 2020, Mariusz Postol LODZ POLAND.\n//\n//  To be in touch join the community at GITTER: https://gitter.im/mpostol/OPC-UA-OOI\n//___________________________________________________________________________________\n\nusing System;\nusing System.ComponentModel;\nusing System.ComponentModel.Composition;\nusing System.Diagnostics;\nusing System.IO;\nusing System.Reflection;\nusing System.Windows;\nusing System.Windows.Input;\nusing UAOOI.Networking.DataRepository.DataLogger;\nusing UAOOI.Networking.ReferenceApplication.Controls;\nusing UAOOI.Networking.ReferenceApplication.Core;\nusing UAOOI.Networking.ReferenceApplication.Core.MvvmLight;\nusing UAOOI.Networking.ReferenceApplication.Properties;\n\nnamespace UAOOI.Networking.ReferenceApplication\n{\n  /// <summary>\n  /// Class MainWindowViewModel - this class demonstrates how to create bindings to the properties that are holders of OPC UA values in the\n  /// Model View ViewModel pattern.\n  /// </summary>\n  [Export()]\n  [PartCreationPolicy(CreationPolicy.Shared)]\n  internal class MainWindowViewModel : ObservableObject\n  {\n    #region constructors\n\n    /// <summary>\n    /// Initializes a new instance of the <see cref=\"MainWindowViewModel\"/> class.\n    /// </summary>\n    public MainWindowViewModel()\n    {\n      //Menu Files\n      b_ConfigurationFolder = new DelegateCommand(ProcessOpenFileInExecutingAssemblyLocation);\n      b_HelpDocumentation = new DelegateCommand(() => ProcessStart(Resources.HelpDocumentationUrl));\n      //Menu Actions\n      b_OpenConsumerConfiguration = new ConfigurationEditorOpenCommand(Properties.Resources.ConfigurationDataConsumerFileName, SaveResponse);\n      b_OpenProducerConfiguration = new ConfigurationEditorOpenCommand(Properties.Resources.ConfigurationDataProducerFileName, SaveResponse);\n      //Menu Help\n      b_ReadMe = new DelegateCommand(() => ProcessStart(Resources.ReadMeFileName));\n      b_TermsOfService = new DelegateCommand(() => ProcessStart(Resources.TermsOfServiceUrl));\n      b_ViewLicense = new DelegateCommand(() => ProcessStart(Resources.ViewLicenseUrl));\n      string _version = Assembly.GetExecutingAssembly().GetName().Version.ToString();\n      b_WindowTitle = $\"OPC UA Reactive Networking Example Application Rel. {_version} supporting PubSup protocol 1.10\";\n    }\n\n    #endregion constructors\n\n    #region Window\n\n    public string WindowTitle\n    {\n      get => b_WindowTitle;\n      set\n      {\n        b_WindowTitle = value;\n        this.RaisePropertyChanged<string>(\"WindowTitle\", b_WindowTitle, value);\n      }\n    }\n\n    internal event EventHandler<Controls.InteractionRequestedEventArgs> SaveFileInteractionEvent;\n\n    private string b_WindowTitle;\n\n    #endregion Window\n\n    #region menu\n\n    public ICommand OpenConsumerConfiguration\n    {\n      get => b_OpenConsumerConfiguration;\n      set\n      {\n        b_OpenConsumerConfiguration = value;\n        RaisePropertyChanged<ICommand>(\"OpenConsumerConfiguration\", b_OpenConsumerConfiguration, value);\n      }\n    }\n\n    public ICommand OpenProducerConfiguration\n    {\n      get => b_OpenProducerConfiguration;\n      set\n      {\n        b_OpenProducerConfiguration = value;\n        RaisePropertyChanged<ICommand>(\"OpenProducerConfiguration\", b_OpenProducerConfiguration, value);\n      }\n    }\n\n    public ICommand HelpDocumentation\n    {\n      get => b_HelpDocumentation;\n      set\n      {\n        b_HelpDocumentation = value;\n        RaisePropertyChanged<ICommand>(\"HelpDocumentation\", b_HelpDocumentation, value);\n      }\n    }\n\n    public ICommand ConfigurationFolder\n    {\n      get => b_ConfigurationFolder;\n      set\n      {\n        b_ConfigurationFolder = value;\n        RaisePropertyChanged<ICommand>(\"ConfigurationFolder\", b_ConfigurationFolder, value);\n      }\n    }\n\n    public ICommand ReadMe\n    {\n      get => b_ReadMe;\n      set\n      {\n        b_ReadMe = value;\n        RaisePropertyChanged<ICommand>(\"ReadMe\", b_ReadMe, value);\n      }\n    }\n\n    public ICommand ViewLicense\n    {\n      get => b_ViewLicense;\n      set\n      {\n        b_ViewLicense = value;\n        RaisePropertyChanged<ICommand>(\"ViewLicense\", b_ViewLicense, value);\n      }\n    }\n\n    public ICommand TermsOfService\n    {\n      get => b_TermsOfService;\n      set\n      {\n        b_TermsOfService = value;\n        RaisePropertyChanged<ICommand>(\"TermsOfService\", b_TermsOfService, value);\n      }\n    }\n\n    //private\n    private ICommand b_TermsOfService;\n\n    private ICommand b_ViewLicense;\n    private ICommand b_ReadMe;\n    private ICommand b_OpenProducerConfiguration;\n    private ICommand b_OpenConsumerConfiguration;\n    private ICommand b_ConfigurationFolder;\n    private ICommand b_HelpDocumentation;\n\n    #endregion menu\n\n    #region Consumer ViewModel\n\n    /// <summary>\n    /// Gets or sets the producer view model.\n    /// </summary>\n    /// <value>The producer view model.</value>\n    [Import(ConsumerCompositionSettings.ViewModelContract)]\n    public object ConsumerViewModel { get; set; }\n\n    #endregion Consumer ViewModel\n\n    #region Producer ViewModel\n\n    /// <summary>\n    /// Gets or sets the producer view model.\n    /// </summary>\n    /// <value>The producer view model.</value>\n    [Import(typeof(ProducerViewModel))]\n    public ProducerViewModel ProducerViewModel { get; set; }\n\n    public int BytesSent\n    {\n      get => b_BytesSent;\n      set\n      {\n        b_BytesSent = value;\n        RaisePropertyChanged<int>(\"BytesSent\", b_BytesSent, value);\n      }\n    }\n\n    public int PackagesSent\n    {\n      get => b_PackagesSent;\n      set\n      {\n        b_PackagesSent = value;\n        RaisePropertyChanged<int>(\"PackagesSent\", b_PackagesSent, value);\n      }\n    }\n\n    #endregion Producer ViewModel\n\n    #region private\n\n    private int b_BytesSent;\n    private int b_PackagesSent;\n\n    private void ProcessStart(string parameter)\n    {\n      try\n      {\n        using (Process process = Process.Start(parameter)) { }\n      }\n      catch (Exception _ex)\n      {\n        MessageBox.Show($\"An error occurs during opening the web page at: {_ex}\", \"Problem with the website!\", MessageBoxButton.OK, MessageBoxImage.Error);\n        return;\n      }\n    }\n\n    private void ProcessOpenFileInExecutingAssemblyLocation()\n    {\n      string path = string.Empty;\n      try\n      {\n        path = Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location);\n        using (Process process = Process.Start(@path)) { }\n      }\n      catch (Win32Exception)\n      {\n        MessageBox.Show($\"No folder exists at: {path}.\", \"Folder error !\", MessageBoxButton.OK, MessageBoxImage.Stop);\n        return;\n      }\n      catch (Exception _ex)\n      {\n        MessageBox.Show($\"An error occurs during opening the file {_ex}\", \"Problem with the file !\", MessageBoxButton.OK, MessageBoxImage.Error);\n        return;\n      }\n    }\n\n    private FileInfo SaveResponse(FileInfo arg)\n    {\n      FileInfo _ret = null;\n      SaveFileConfirmation _newFileInfo = new SaveFileConfirmation() { Title = \"Save configuration file\", FilePath = arg.FullName };\n      SaveFileInteractionEvent?.Invoke(this, new InteractionRequestedEventArgs(_newFileInfo, () => _ret = string.IsNullOrEmpty(_newFileInfo.FilePath) ? null : new FileInfo(_newFileInfo.FilePath)));\n      return _ret;\n    }\n\n    #endregion private\n  }\n}"
  },
  {
    "path": "Networking/ReferenceApplication/Networking.ReferenceApplication.csproj",
    "content": "﻿<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<Project ToolsVersion=\"14.0\" DefaultTargets=\"Build\" xmlns=\"http://schemas.microsoft.com/developer/msbuild/2003\">\n  <Import Project=\"$(MSBuildExtensionsPath)\\$(MSBuildToolsVersion)\\Microsoft.Common.props\" Condition=\"Exists('$(MSBuildExtensionsPath)\\$(MSBuildToolsVersion)\\Microsoft.Common.props')\" />\n  <PropertyGroup>\n    <Configuration Condition=\" '$(Configuration)' == '' \">Debug</Configuration>\n    <Platform Condition=\" '$(Platform)' == '' \">AnyCPU</Platform>\n    <ProjectGuid>{F0ACCB28-AE0D-4E19-94FA-7BE3044F1EEB}</ProjectGuid>\n    <OutputType>WinExe</OutputType>\n    <AppDesignerFolder>Properties</AppDesignerFolder>\n    <RootNamespace>UAOOI.Networking.ReferenceApplication</RootNamespace>\n    <AssemblyName>UAOOI.Networking.ReferenceApplication</AssemblyName>\n    <TargetFrameworkVersion>v4.7.2</TargetFrameworkVersion>\n    <FileAlignment>512</FileAlignment>\n    <ProjectTypeGuids>{60dc8134-eba5-43b8-bcc9-bb4bc16c2548};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>\n    <WarningLevel>4</WarningLevel>\n    <AutoGenerateBindingRedirects>true</AutoGenerateBindingRedirects>\n    <TargetFrameworkProfile />\n    <IsWebBootstrapper>false</IsWebBootstrapper>\n    <PublishUrl>publish\\</PublishUrl>\n    <Install>true</Install>\n    <InstallFrom>Disk</InstallFrom>\n    <UpdateEnabled>false</UpdateEnabled>\n    <UpdateMode>Foreground</UpdateMode>\n    <UpdateInterval>7</UpdateInterval>\n    <UpdateIntervalUnits>Days</UpdateIntervalUnits>\n    <UpdatePeriodically>false</UpdatePeriodically>\n    <UpdateRequired>false</UpdateRequired>\n    <MapFileExtensions>true</MapFileExtensions>\n    <ApplicationRevision>0</ApplicationRevision>\n    <ApplicationVersion>1.0.0.%2a</ApplicationVersion>\n    <UseApplicationTrust>false</UseApplicationTrust>\n    <BootstrapperEnabled>true</BootstrapperEnabled>\n  </PropertyGroup>\n  <PropertyGroup Condition=\" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' \">\n    <PlatformTarget>AnyCPU</PlatformTarget>\n    <DebugSymbols>true</DebugSymbols>\n    <DebugType>full</DebugType>\n    <Optimize>false</Optimize>\n    <OutputPath>bin\\Debug\\</OutputPath>\n    <DefineConstants>DEBUG;TRACE</DefineConstants>\n    <ErrorReport>prompt</ErrorReport>\n    <WarningLevel>4</WarningLevel>\n    <NoWarn>IDE0001,IDE0002,IDE0003,CS0067</NoWarn>\n    <UseVSHostingProcess>false</UseVSHostingProcess>\n  </PropertyGroup>\n  <PropertyGroup Condition=\" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' \">\n    <PlatformTarget>AnyCPU</PlatformTarget>\n    <DebugType>pdbonly</DebugType>\n    <Optimize>true</Optimize>\n    <OutputPath>bin\\Release\\</OutputPath>\n    <DefineConstants>TRACE</DefineConstants>\n    <ErrorReport>prompt</ErrorReport>\n    <WarningLevel>4</WarningLevel>\n    <UseVSHostingProcess>false</UseVSHostingProcess>\n  </PropertyGroup>\n  <PropertyGroup>\n    <StartupObject>UAOOI.Networking.ReferenceApplication.App</StartupObject>\n  </PropertyGroup>\n  <PropertyGroup>\n    <ApplicationIcon>PrepareProcess.ico</ApplicationIcon>\n  </PropertyGroup>\n  <PropertyGroup>\n    <SignAssembly>true</SignAssembly>\n  </PropertyGroup>\n  <PropertyGroup>\n    <AssemblyOriginatorKeyFile>OPCUAOOIKey.snk</AssemblyOriginatorKeyFile>\n  </PropertyGroup>\n  <ItemGroup>\n    <Reference Include=\"CommonServiceLocator, Version=2.0.6.0, Culture=neutral, PublicKeyToken=489b6accfaf20ef0, processorArchitecture=MSIL\">\n      <HintPath>..\\..\\packages\\CommonServiceLocator.2.0.6\\lib\\net47\\CommonServiceLocator.dll</HintPath>\n    </Reference>\n    <Reference Include=\"Microsoft.Practices.EnterpriseLibrary.SemanticLogging, Version=2.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL\">\n      <HintPath>..\\..\\packages\\EnterpriseLibrary.SemanticLogging.2.0.1406.1\\lib\\net45\\Microsoft.Practices.EnterpriseLibrary.SemanticLogging.dll</HintPath>\n    </Reference>\n    <Reference Include=\"Microsoft.Practices.EnterpriseLibrary.SemanticLogging.TextFile, Version=2.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL\">\n      <HintPath>..\\..\\packages\\EnterpriseLibrary.SemanticLogging.TextFile.2.0.1406.1\\lib\\net45\\Microsoft.Practices.EnterpriseLibrary.SemanticLogging.TextFile.dll</HintPath>\n    </Reference>\n    <Reference Include=\"Newtonsoft.Json, Version=13.0.0.0, Culture=neutral, PublicKeyToken=30ad4fe6b2a6aeed, processorArchitecture=MSIL\">\n      <HintPath>..\\..\\packages\\Newtonsoft.Json.13.0.1\\lib\\net45\\Newtonsoft.Json.dll</HintPath>\n    </Reference>\n    <Reference Include=\"System\" />\n    <Reference Include=\"System.ComponentModel.Composition\" />\n    <Reference Include=\"System.Data\" />\n    <Reference Include=\"System.Diagnostics.TraceSource, Version=4.0.1.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL\">\n      <HintPath>..\\..\\packages\\System.Diagnostics.TraceSource.4.3.0\\lib\\net46\\System.Diagnostics.TraceSource.dll</HintPath>\n      <Private>True</Private>\n      <Private>True</Private>\n    </Reference>\n    <Reference Include=\"System.Reactive, Version=5.0.0.0, Culture=neutral, PublicKeyToken=94bc3704cddfc263, processorArchitecture=MSIL\">\n      <HintPath>..\\..\\packages\\System.Reactive.5.0.0\\lib\\net472\\System.Reactive.dll</HintPath>\n    </Reference>\n    <Reference Include=\"System.Reactive.Core, Version=3.0.6000.0, Culture=neutral, PublicKeyToken=94bc3704cddfc263, processorArchitecture=MSIL\">\n      <HintPath>..\\..\\packages\\System.Reactive.Core.5.0.0\\lib\\net472\\System.Reactive.Core.dll</HintPath>\n    </Reference>\n    <Reference Include=\"System.Reactive.Interfaces, Version=3.0.6000.0, Culture=neutral, PublicKeyToken=94bc3704cddfc263, processorArchitecture=MSIL\">\n      <HintPath>..\\..\\packages\\System.Reactive.Interfaces.5.0.0\\lib\\net472\\System.Reactive.Interfaces.dll</HintPath>\n    </Reference>\n    <Reference Include=\"System.Reactive.Linq, Version=3.0.6000.0, Culture=neutral, PublicKeyToken=94bc3704cddfc263, processorArchitecture=MSIL\">\n      <HintPath>..\\..\\packages\\System.Reactive.Linq.5.0.0\\lib\\net472\\System.Reactive.Linq.dll</HintPath>\n    </Reference>\n    <Reference Include=\"System.Runtime.CompilerServices.Unsafe, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL\">\n      <HintPath>..\\..\\packages\\System.Runtime.CompilerServices.Unsafe.6.0.0\\lib\\net461\\System.Runtime.CompilerServices.Unsafe.dll</HintPath>\n    </Reference>\n    <Reference Include=\"System.Runtime.Serialization\" />\n    <Reference Include=\"System.Threading.Tasks.Extensions, Version=4.2.0.1, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL\">\n      <HintPath>..\\..\\packages\\System.Threading.Tasks.Extensions.4.5.4\\lib\\net461\\System.Threading.Tasks.Extensions.dll</HintPath>\n    </Reference>\n    <Reference Include=\"System.ValueTuple, Version=4.0.3.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL\">\n      <HintPath>..\\..\\packages\\System.ValueTuple.4.5.0\\lib\\net47\\System.ValueTuple.dll</HintPath>\n    </Reference>\n    <Reference Include=\"System.Windows\" />\n    <Reference Include=\"System.Windows.Forms\" />\n    <Reference Include=\"System.Xml\" />\n    <Reference Include=\"Microsoft.CSharp\" />\n    <Reference Include=\"System.Core\" />\n    <Reference Include=\"System.Xml.Linq\" />\n    <Reference Include=\"System.Data.DataSetExtensions\" />\n    <Reference Include=\"System.Net.Http\" />\n    <Reference Include=\"System.Xaml\">\n      <RequiredTargetFramework>4.0</RequiredTargetFramework>\n    </Reference>\n    <Reference Include=\"UAOOI.Common.Infrastructure, Version=6.4.6.0, Culture=neutral, PublicKeyToken=deede3c2df331bb0, processorArchitecture=MSIL\">\n      <HintPath>..\\..\\packages\\UAOOI.Common.Infrastructure.6.4.7\\lib\\netstandard2.0\\UAOOI.Common.Infrastructure.dll</HintPath>\n    </Reference>\n    <Reference Include=\"WindowsBase\" />\n    <Reference Include=\"PresentationCore\" />\n    <Reference Include=\"PresentationFramework\" />\n  </ItemGroup>\n  <ItemGroup>\n    <ApplicationDefinition Include=\"App.xaml\">\n      <Generator>MSBuild:Compile</Generator>\n      <SubType>Designer</SubType>\n    </ApplicationDefinition>\n    <Compile Include=\"AppBootstrapper.cs\" />\n    <Compile Include=\"ApplicationSettings.cs\" />\n    <Compile Include=\"Consumer\\DataLoggerViewModel.cs\" />\n    <Compile Include=\"Controls\\INotification.cs\" />\n    <Compile Include=\"Controls\\InteractionRequestedEventArgs.cs\" />\n    <Compile Include=\"Controls\\ConfigurationEditorOpenCommand.cs\" />\n    <Compile Include=\"Controls\\OpenFileCommand.cs\" />\n    <Compile Include=\"MEF\\BootstrapperBase.cs\" />\n    <Compile Include=\"MEF\\DefaultServiceRegistrar.cs\" />\n    <Compile Include=\"MEF\\EventSourceBootstrapper.cs\" />\n    <Compile Include=\"MEF\\ExceptionExtensions.cs\" />\n    <Compile Include=\"MEF\\MefBootstrapper.cs\" />\n    <Compile Include=\"MEF\\ServiceLocatorAdapter.cs\" />\n    <Compile Include=\"Properties\\AssemblyInfo.cs\">\n      <AutoGen>True</AutoGen>\n      <DesignTime>True</DesignTime>\n      <DependentUpon>AssemblyInfo.tt</DependentUpon>\n    </Compile>\n    <Compile Include=\"SaveFileConfirmation.cs\" />\n    <Page Include=\"MainWindow.xaml\">\n      <Generator>MSBuild:Compile</Generator>\n      <SubType>Designer</SubType>\n    </Page>\n    <Compile Include=\"App.xaml.cs\">\n      <DependentUpon>App.xaml</DependentUpon>\n      <SubType>Code</SubType>\n    </Compile>\n    <Compile Include=\"MainWindow.xaml.cs\">\n      <DependentUpon>MainWindow.xaml</DependentUpon>\n      <SubType>Code</SubType>\n    </Compile>\n  </ItemGroup>\n  <ItemGroup>\n    <Compile Include=\"MainWindowViewModel.cs\" />\n    <Compile Include=\"Properties\\Resources.Designer.cs\">\n      <AutoGen>True</AutoGen>\n      <DesignTime>True</DesignTime>\n      <DependentUpon>Resources.resx</DependentUpon>\n    </Compile>\n    <Compile Include=\"Properties\\Settings.Designer.cs\">\n      <AutoGen>True</AutoGen>\n      <DependentUpon>Settings.settings</DependentUpon>\n      <DesignTimeSharedInput>True</DesignTimeSharedInput>\n    </Compile>\n    <EmbeddedResource Include=\"Properties\\Resources.resx\">\n      <Generator>ResXFileCodeGenerator</Generator>\n      <LastGenOutput>Resources.Designer.cs</LastGenOutput>\n    </EmbeddedResource>\n    <Content Include=\"App.BilersSet.xml\">\n      <CopyToOutputDirectory>Always</CopyToOutputDirectory>\n    </Content>\n    <None Include=\"OPCUAOOIKey.snk\" />\n    <None Include=\"packages.config\" />\n    <None Include=\"Properties\\app.manifest\" />\n    <None Include=\"Properties\\Settings.settings\">\n      <Generator>SettingsSingleFileGenerator</Generator>\n      <LastGenOutput>Settings.Designer.cs</LastGenOutput>\n    </None>\n    <AppDesigner Include=\"Properties\\\" />\n    <None Include=\"README.MD\" />\n    <None Include=\"ReadMe.old\" />\n  </ItemGroup>\n  <ItemGroup>\n    <None Include=\"App.config\" />\n  </ItemGroup>\n  <ItemGroup>\n    <Resource Include=\"PrepareProcess.ico\" />\n  </ItemGroup>\n  <ItemGroup>\n    <BootstrapperPackage Include=\".NETFramework,Version=v4.6\">\n      <Visible>False</Visible>\n      <ProductName>Microsoft .NET Framework 4.6 %28x86 and x64%29</ProductName>\n      <Install>true</Install>\n    </BootstrapperPackage>\n    <BootstrapperPackage Include=\"Microsoft.Net.Framework.3.5.SP1\">\n      <Visible>False</Visible>\n      <ProductName>.NET Framework 3.5 SP1</ProductName>\n      <Install>false</Install>\n    </BootstrapperPackage>\n  </ItemGroup>\n  <ItemGroup>\n    <None Include=\"ReadMe.txt\">\n      <AutoGen>True</AutoGen>\n      <DesignTime>True</DesignTime>\n      <DependentUpon>ReadMe.tt</DependentUpon>\n      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>\n    </None>\n    <Resource Include=\"Icons\\action_Cancel_16xLG.png\" />\n    <None Include=\"ConfigurationEditor\\Readme.txt\">\n      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>\n    </None>\n    <Content Include=\"Properties\\AssemblyInfo.tt\">\n      <Generator>TextTemplatingFileGenerator</Generator>\n      <LastGenOutput>AssemblyInfo.cs</LastGenOutput>\n    </Content>\n    <Content Include=\"ReadMe.tt\">\n      <Generator>TextTemplatingFileGenerator</Generator>\n      <LastGenOutput>ReadMe.txt</LastGenOutput>\n    </Content>\n  </ItemGroup>\n  <ItemGroup>\n    <Service Include=\"{508349B6-6B84-4DF5-91F0-309BEEBAD82D}\" />\n  </ItemGroup>\n  <ItemGroup>\n    <ProjectReference Include=\"..\\..\\Configuration\\Core\\Configuration.Core.csproj\">\n      <Project>{0a2fb856-d50c-463d-8218-063a36942188}</Project>\n      <Name>Configuration.Core</Name>\n    </ProjectReference>\n    <ProjectReference Include=\"..\\Core\\Networking.Core.csproj\">\n      <Project>{afcca7c9-47fe-4fb6-935e-12d686eec58f}</Project>\n      <Name>Networking.Core</Name>\n    </ProjectReference>\n    <ProjectReference Include=\"..\\DataRepository\\DataLogger\\Networking.DataLogger.csproj\">\n      <Project>{3781B8CA-3128-45DC-89C9-981740357630}</Project>\n      <Name>Networking.DataLogger</Name>\n    </ProjectReference>\n    <ProjectReference Include=\"..\\Encoding\\Networking.Encoding.csproj\">\n      <Project>{2492aa3b-cf67-477a-b29e-14a1e348b939}</Project>\n      <Name>Networking.Encoding</Name>\n    </ProjectReference>\n    <ProjectReference Include=\"..\\ReferenceApplication.Core\\Networking.ReferenceApplication.Core.csproj\">\n      <Project>{2238851E-4DB8-46B0-B38D-0E2315FE153E}</Project>\n      <Name>Networking.ReferenceApplication.Core</Name>\n    </ProjectReference>\n    <ProjectReference Include=\"..\\SemanticData\\Networking.SemanticData.csproj\">\n      <Project>{7f4ded4e-5933-4229-b9cc-51da49678904}</Project>\n      <Name>Networking.SemanticData</Name>\n    </ProjectReference>\n    <ProjectReference Include=\"..\\SimulatorInteroperabilityTest\\Networking.SimulatorInteroperabilityTest.csproj\">\n      <Project>{5d2a0688-95e3-400a-b789-49052389d2b1}</Project>\n      <Name>Networking.SimulatorInteroperabilityTest</Name>\n    </ProjectReference>\n    <ProjectReference Include=\"..\\UDPMessageHandler\\Networking.UDPMessageHandler.csproj\">\n      <Project>{D2EB89F9-321E-46E4-BA79-679138B82B23}</Project>\n      <Name>Networking.UDPMessageHandler</Name>\n    </ProjectReference>\n  </ItemGroup>\n  <Import Project=\"$(MSBuildToolsPath)\\Microsoft.CSharp.targets\" />\n  <!-- To modify your build process, add your task inside one of the targets below and uncomment it. \n       Other similar extension points exist, see Microsoft.Common.targets.\n  <Target Name=\"BeforeBuild\">\n  </Target>\n  <Target Name=\"AfterBuild\">\n  </Target>\n  -->\n</Project>"
  },
  {
    "path": "Networking/ReferenceApplication/Properties/AssemblyInfo.cs",
    "content": "﻿\nusing System.Reflection;\nusing System.Runtime.CompilerServices;\nusing System.Runtime.InteropServices;\nusing System.Windows;\n\n[assembly: AssemblyTitle(\"UAOOI.UANetworkingReferenceApplication\")]\n[assembly: AssemblyDescription(\"Object Oriented Internet: Reactive Networking of Semantic-Data Library WPF GUI.\")]\n[assembly: AssemblyConfiguration(\"\")]\n[assembly: AssemblyCompany(\"Mariusz Postol\")]\n[assembly: AssemblyProduct(\"Object Oriented Internet\")]\n[assembly: AssemblyCopyright(\"Copyright (C) 2022 Mariusz Postol LODZ POLAND\")]\n[assembly: AssemblyTrademark(\"Object Oriented Internet\")]\n[assembly: AssemblyCulture(\"\")]\n[assembly: ComVisible(false)]\n[assembly: AssemblyVersion(\"4.0.2.*\")]\n[assembly: AssemblyFileVersion(\"4.0.2\")]\n[assembly: InternalsVisibleTo(\n  \"UAOOI.Networking.ReferenceApplication.UnitTest, PublicKey=\" +\n    \"00240000048000009400000006020000002400005253413100040000010001005b97a0972ff6b13a\" +\n    \"8a9ff9c09503aea0e5e2fe29cb2275a0c0942182f4c3431814b6bc9a556d9fe0d7e7823439c1ba28\" +\n    \"521f6318e4c936c4461604ef668e9686c2021571b093e1bfba071b373bc56a07a3afdc120c5313d3\" +\n    \"9a935cda64b759f857ebb3db483641444a5347e1564f8ba6d4fad2f968d3caf9991a4fa6aa019ebe\"\n)]\n\n//In order to begin building localizable applications, set \n//<UICulture>CultureYouAreCodingWith</UICulture> in your .csproj file\n//inside a <PropertyGroup>.  For example, if you are using US english\n//in your source files, set the <UICulture> to en-US.  Then uncomment\n//the NeutralResourceLanguage attribute below.  Update the \"en-US\" in\n//the line below to match the UICulture setting in the project file.\n\n//[assembly: NeutralResourcesLanguage(\"en-US\", UltimateResourceFallbackLocation.Satellite)]\n\n\n[assembly: ThemeInfo(\n    ResourceDictionaryLocation.None, //where theme specific resource dictionaries are located\n                                     //(used if a resource is not found in the page, \n                                     // or application resource dictionaries)\n    ResourceDictionaryLocation.SourceAssembly //where the generic resource dictionary is located\n                                              //(used if a resource is not found in the page, \n                                              // app, or any theme specific resource dictionaries)\n)]\n\n"
  },
  {
    "path": "Networking/ReferenceApplication/Properties/AssemblyInfo.tt",
    "content": "﻿<#@ template debug=\"false\" hostspecific=\"false\" language=\"C#\" #>\n<#@ output extension=\".cs\" #>\n\nusing System.Reflection;\nusing System.Runtime.CompilerServices;\nusing System.Runtime.InteropServices;\nusing System.Windows;\n\n[assembly: AssemblyTitle(\"<#=m_AssemblyTitle#>\")]\n[assembly: AssemblyDescription(\"<#=NetworkingDataProduct#>: Reactive Networking of Semantic-Data Library WPF GUI.\")]\n[assembly: AssemblyConfiguration(\"\")]\n[assembly: AssemblyCompany(\"<#=AssemblyCompany#>\")]\n[assembly: AssemblyProduct(\"<#=NetworkingDataProduct#>\")]\n[assembly: AssemblyCopyright(\"<#=AssemblyCopyright#>\")]\n[assembly: AssemblyTrademark(\"<#=ProductTrademark#>\")]\n[assembly: AssemblyCulture(\"\")]\n[assembly: ComVisible(false)]\n[assembly: AssemblyVersion(\"<#= NetworkingDataVersion #>.*\")]\n[assembly: AssemblyFileVersion(\"<#= NetworkingDataVersion #>\")]\n[assembly: InternalsVisibleTo(\n  \"UAOOI.Networking.ReferenceApplication.UnitTest, PublicKey=\" +\n    \"00240000048000009400000006020000002400005253413100040000010001005b97a0972ff6b13a\" +\n    \"8a9ff9c09503aea0e5e2fe29cb2275a0c0942182f4c3431814b6bc9a556d9fe0d7e7823439c1ba28\" +\n    \"521f6318e4c936c4461604ef668e9686c2021571b093e1bfba071b373bc56a07a3afdc120c5313d3\" +\n    \"9a935cda64b759f857ebb3db483641444a5347e1564f8ba6d4fad2f968d3caf9991a4fa6aa019ebe\"\n)]\n\n//In order to begin building localizable applications, set \n//<UICulture>CultureYouAreCodingWith</UICulture> in your .csproj file\n//inside a <PropertyGroup>.  For example, if you are using US english\n//in your source files, set the <UICulture> to en-US.  Then uncomment\n//the NeutralResourceLanguage attribute below.  Update the \"en-US\" in\n//the line below to match the UICulture setting in the project file.\n\n//[assembly: NeutralResourcesLanguage(\"en-US\", UltimateResourceFallbackLocation.Satellite)]\n\n\n[assembly: ThemeInfo(\n    ResourceDictionaryLocation.None, //where theme specific resource dictionaries are located\n                                     //(used if a resource is not found in the page, \n                                     // or application resource dictionaries)\n    ResourceDictionaryLocation.SourceAssembly //where the generic resource dictionary is located\n                                              //(used if a resource is not found in the page, \n                                              // app, or any theme specific resource dictionaries)\n)]\n\n<#@ include file = \"..\\..\\..\\CommonResources\\T4Definitions\\Model.t4\" #>\n<#+\nstring m_AssemblyTitle = \"UAOOI.UANetworkingReferenceApplication\";\n#>\n\n"
  },
  {
    "path": "Networking/ReferenceApplication/Properties/Resources.Designer.cs",
    "content": "﻿//------------------------------------------------------------------------------\n// <auto-generated>\n//     This code was generated by a tool.\n//     Runtime Version:4.0.30319.42000\n//\n//     Changes to this file may cause incorrect behavior and will be lost if\n//     the code is regenerated.\n// </auto-generated>\n//------------------------------------------------------------------------------\n\nnamespace UAOOI.Networking.ReferenceApplication.Properties {\n    using System;\n    \n    \n    /// <summary>\n    ///   A strongly-typed resource class, for looking up localized strings, etc.\n    /// </summary>\n    // This class was auto-generated by the StronglyTypedResourceBuilder\n    // class via a tool like ResGen or Visual Studio.\n    // To add or remove a member, edit your .ResX file then rerun ResGen\n    // with the /str option, or rebuild your VS project.\n    [global::System.CodeDom.Compiler.GeneratedCodeAttribute(\"System.Resources.Tools.StronglyTypedResourceBuilder\", \"15.0.0.0\")]\n    [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]\n    [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]\n    internal class Resources {\n        \n        private static global::System.Resources.ResourceManager resourceMan;\n        \n        private static global::System.Globalization.CultureInfo resourceCulture;\n        \n        [global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute(\"Microsoft.Performance\", \"CA1811:AvoidUncalledPrivateCode\")]\n        internal Resources() {\n        }\n        \n        /// <summary>\n        ///   Returns the cached ResourceManager instance used by this class.\n        /// </summary>\n        [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]\n        internal static global::System.Resources.ResourceManager ResourceManager {\n            get {\n                if (object.ReferenceEquals(resourceMan, null)) {\n                    global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager(\"UAOOI.Networking.ReferenceApplication.Properties.Resources\", typeof(Resources).Assembly);\n                    resourceMan = temp;\n                }\n                return resourceMan;\n            }\n        }\n        \n        /// <summary>\n        ///   Overrides the current thread's CurrentUICulture property for all\n        ///   resource lookups using this strongly typed resource class.\n        /// </summary>\n        [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]\n        internal static global::System.Globalization.CultureInfo Culture {\n            get {\n                return resourceCulture;\n            }\n            set {\n                resourceCulture = value;\n            }\n        }\n        \n        /// <summary>\n        ///   Looks up a localized string similar to ConfigurationDataConsumer.xml.\n        /// </summary>\n        internal static string ConfigurationDataConsumerFileName {\n            get {\n                return ResourceManager.GetString(\"ConfigurationDataConsumerFileName\", resourceCulture);\n            }\n        }\n        \n        /// <summary>\n        ///   Looks up a localized string similar to ConfigurationDataProducer.xml.\n        /// </summary>\n        internal static string ConfigurationDataProducerFileName {\n            get {\n                return ResourceManager.GetString(\"ConfigurationDataProducerFileName\", resourceCulture);\n            }\n        }\n        \n        /// <summary>\n        ///   Looks up a localized string similar to https://commsvr.gitbook.io/ooi.\n        /// </summary>\n        internal static string HelpDocumentationUrl {\n            get {\n                return ResourceManager.GetString(\"HelpDocumentationUrl\", resourceCulture);\n            }\n        }\n        \n        /// <summary>\n        ///   Looks up a localized string similar to ReadMe.txt.\n        /// </summary>\n        internal static string ReadMeFileName {\n            get {\n                return ResourceManager.GetString(\"ReadMeFileName\", resourceCulture);\n            }\n        }\n        \n        /// <summary>\n        ///   Looks up a localized string similar to https://help.github.com/articles/github-terms-of-service/.\n        /// </summary>\n        internal static string TermsOfServiceUrl {\n            get {\n                return ResourceManager.GetString(\"TermsOfServiceUrl\", resourceCulture);\n            }\n        }\n        \n        /// <summary>\n        ///   Looks up a localized string similar to An unhandled exception occurred, and the application is terminating. For more information, see your Application log..\n        /// </summary>\n        internal static string UnhandledException {\n            get {\n                return ResourceManager.GetString(\"UnhandledException\", resourceCulture);\n            }\n        }\n        \n        /// <summary>\n        ///   Looks up a localized string similar to https://github.com/mpostol/OPC-UA-OOI/blob/master/license.md.\n        /// </summary>\n        internal static string ViewLicenseUrl {\n            get {\n                return ResourceManager.GetString(\"ViewLicenseUrl\", resourceCulture);\n            }\n        }\n    }\n}\n"
  },
  {
    "path": "Networking/ReferenceApplication/Properties/Resources.resx",
    "content": "﻿<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<root>\n  <!-- \n    Microsoft ResX Schema \n    \n    Version 2.0\n    \n    The primary goals of this format is to allow a simple XML format \n    that is mostly human readable. The generation and parsing of the \n    various data types are done through the TypeConverter classes \n    associated with the data types.\n    \n    Example:\n    \n    ... ado.net/XML headers & schema ...\n    <resheader name=\"resmimetype\">text/microsoft-resx</resheader>\n    <resheader name=\"version\">2.0</resheader>\n    <resheader name=\"reader\">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>\n    <resheader name=\"writer\">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>\n    <data name=\"Name1\"><value>this is my long string</value><comment>this is a comment</comment></data>\n    <data name=\"Color1\" type=\"System.Drawing.Color, System.Drawing\">Blue</data>\n    <data name=\"Bitmap1\" mimetype=\"application/x-microsoft.net.object.binary.base64\">\n        <value>[base64 mime encoded serialized .NET Framework object]</value>\n    </data>\n    <data name=\"Icon1\" type=\"System.Drawing.Icon, System.Drawing\" mimetype=\"application/x-microsoft.net.object.bytearray.base64\">\n        <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>\n        <comment>This is a comment</comment>\n    </data>\n                \n    There are any number of \"resheader\" rows that contain simple \n    name/value pairs.\n    \n    Each data row contains a name, and value. The row also contains a \n    type or mimetype. Type corresponds to a .NET class that support \n    text/value conversion through the TypeConverter architecture. \n    Classes that don't support this are serialized and stored with the \n    mimetype set.\n    \n    The mimetype is used for serialized objects, and tells the \n    ResXResourceReader how to depersist the object. This is currently not \n    extensible. For a given mimetype the value must be set accordingly:\n    \n    Note - application/x-microsoft.net.object.binary.base64 is the format \n    that the ResXResourceWriter will generate, however the reader can \n    read any of the formats listed below.\n    \n    mimetype: application/x-microsoft.net.object.binary.base64\n    value   : The object must be serialized with \n            : System.Runtime.Serialization.Formatters.Binary.BinaryFormatter\n            : and then encoded with base64 encoding.\n    \n    mimetype: application/x-microsoft.net.object.soap.base64\n    value   : The object must be serialized with \n            : System.Runtime.Serialization.Formatters.Soap.SoapFormatter\n            : and then encoded with base64 encoding.\n\n    mimetype: application/x-microsoft.net.object.bytearray.base64\n    value   : The object must be serialized into a byte array \n            : using a System.ComponentModel.TypeConverter\n            : and then encoded with base64 encoding.\n    -->\n  <xsd:schema id=\"root\" xmlns=\"\" xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\" xmlns:msdata=\"urn:schemas-microsoft-com:xml-msdata\">\n    <xsd:import namespace=\"http://www.w3.org/XML/1998/namespace\" />\n    <xsd:element name=\"root\" msdata:IsDataSet=\"true\">\n      <xsd:complexType>\n        <xsd:choice maxOccurs=\"unbounded\">\n          <xsd:element name=\"metadata\">\n            <xsd:complexType>\n              <xsd:sequence>\n                <xsd:element name=\"value\" type=\"xsd:string\" minOccurs=\"0\" />\n              </xsd:sequence>\n              <xsd:attribute name=\"name\" use=\"required\" type=\"xsd:string\" />\n              <xsd:attribute name=\"type\" type=\"xsd:string\" />\n              <xsd:attribute name=\"mimetype\" type=\"xsd:string\" />\n              <xsd:attribute ref=\"xml:space\" />\n            </xsd:complexType>\n          </xsd:element>\n          <xsd:element name=\"assembly\">\n            <xsd:complexType>\n              <xsd:attribute name=\"alias\" type=\"xsd:string\" />\n              <xsd:attribute name=\"name\" type=\"xsd:string\" />\n            </xsd:complexType>\n          </xsd:element>\n          <xsd:element name=\"data\">\n            <xsd:complexType>\n              <xsd:sequence>\n                <xsd:element name=\"value\" type=\"xsd:string\" minOccurs=\"0\" msdata:Ordinal=\"1\" />\n                <xsd:element name=\"comment\" type=\"xsd:string\" minOccurs=\"0\" msdata:Ordinal=\"2\" />\n              </xsd:sequence>\n              <xsd:attribute name=\"name\" type=\"xsd:string\" use=\"required\" msdata:Ordinal=\"1\" />\n              <xsd:attribute name=\"type\" type=\"xsd:string\" msdata:Ordinal=\"3\" />\n              <xsd:attribute name=\"mimetype\" type=\"xsd:string\" msdata:Ordinal=\"4\" />\n              <xsd:attribute ref=\"xml:space\" />\n            </xsd:complexType>\n          </xsd:element>\n          <xsd:element name=\"resheader\">\n            <xsd:complexType>\n              <xsd:sequence>\n                <xsd:element name=\"value\" type=\"xsd:string\" minOccurs=\"0\" msdata:Ordinal=\"1\" />\n              </xsd:sequence>\n              <xsd:attribute name=\"name\" type=\"xsd:string\" use=\"required\" />\n            </xsd:complexType>\n          </xsd:element>\n        </xsd:choice>\n      </xsd:complexType>\n    </xsd:element>\n  </xsd:schema>\n  <resheader name=\"resmimetype\">\n    <value>text/microsoft-resx</value>\n  </resheader>\n  <resheader name=\"version\">\n    <value>2.0</value>\n  </resheader>\n  <resheader name=\"reader\">\n    <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>\n  </resheader>\n  <resheader name=\"writer\">\n    <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>\n  </resheader>\n  <data name=\"ConfigurationDataConsumerFileName\" xml:space=\"preserve\">\n    <value>ConfigurationDataConsumer.xml</value>\n  </data>\n  <data name=\"ConfigurationDataProducerFileName\" xml:space=\"preserve\">\n    <value>ConfigurationDataProducer.xml</value>\n  </data>\n  <data name=\"HelpDocumentationUrl\" xml:space=\"preserve\">\n    <value>https://commsvr.gitbook.io/ooi</value>\n  </data>\n  <data name=\"ReadMeFileName\" xml:space=\"preserve\">\n    <value>ReadMe.txt</value>\n  </data>\n  <data name=\"TermsOfServiceUrl\" xml:space=\"preserve\">\n    <value>https://help.github.com/articles/github-terms-of-service/</value>\n  </data>\n  <data name=\"UnhandledException\" xml:space=\"preserve\">\n    <value>An unhandled exception occurred, and the application is terminating. For more information, see your Application log.</value>\n  </data>\n  <data name=\"ViewLicenseUrl\" xml:space=\"preserve\">\n    <value>https://github.com/mpostol/OPC-UA-OOI/blob/master/license.md</value>\n  </data>\n</root>"
  },
  {
    "path": "Networking/ReferenceApplication/Properties/Settings.Designer.cs",
    "content": "﻿//------------------------------------------------------------------------------\n// <auto-generated>\n//     This code was generated by a tool.\n//     Runtime Version:4.0.30319.42000\n//\n//     Changes to this file may cause incorrect behavior and will be lost if\n//     the code is regenerated.\n// </auto-generated>\n//------------------------------------------------------------------------------\n\nnamespace UAOOI.Networking.ReferenceApplication.Properties {\n    \n    \n    [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]\n    [global::System.CodeDom.Compiler.GeneratedCodeAttribute(\"Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator\", \"15.9.0.0\")]\n    internal sealed partial class Settings : global::System.Configuration.ApplicationSettingsBase {\n        \n        private static Settings defaultInstance = ((Settings)(global::System.Configuration.ApplicationSettingsBase.Synchronized(new Settings())));\n        \n        public static Settings Default {\n            get {\n                return defaultInstance;\n            }\n        }\n        \n        [global::System.Configuration.ApplicationScopedSettingAttribute()]\n        [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]\n        [global::System.Configuration.DefaultSettingValueAttribute(\"ConfigurationDataConsumer.xml\")]\n        public string ConsumerConfigurationFileName {\n            get {\n                return ((string)(this[\"ConsumerConfigurationFileName\"]));\n            }\n        }\n        \n        [global::System.Configuration.UserScopedSettingAttribute()]\n        [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]\n        [global::System.Configuration.DefaultSettingValueAttribute(\"ConfigurationEditor\\\\UAOOI.Configuration.DataBindings.dll\")]\n        public string ConfigurationEditorPlugInFilePath {\n            get {\n                return ((string)(this[\"ConfigurationEditorPlugInFilePath\"]));\n            }\n            set {\n                this[\"ConfigurationEditorPlugInFilePath\"] = value;\n            }\n        }\n        \n        [global::System.Configuration.ApplicationScopedSettingAttribute()]\n        [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]\n        [global::System.Configuration.DefaultSettingValueAttribute(\"UAOOI.Networking.UDPMessageHandler.dll\")]\n        public string MessageHandlerProvider {\n            get {\n                return ((string)(this[\"MessageHandlerProvider\"]));\n            }\n        }\n        \n        [global::System.Configuration.ApplicationScopedSettingAttribute()]\n        [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]\n        [global::System.Configuration.DefaultSettingValueAttribute(\"ReferenceApplication.log\")]\n        public string LogFilePath {\n            get {\n                return ((string)(this[\"LogFilePath\"]));\n            }\n        }\n        \n        [global::System.Configuration.ApplicationScopedSettingAttribute()]\n        [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]\n        [global::System.Configuration.DefaultSettingValueAttribute(\"ConfigurationDataProducer.xml\")]\n        public string ProducerConfigurationFileName {\n            get {\n                return ((string)(this[\"ProducerConfigurationFileName\"]));\n            }\n        }\n        \n        [global::System.Configuration.ApplicationScopedSettingAttribute()]\n        [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]\n        [global::System.Configuration.DefaultSettingValueAttribute(\"UAOOI.Networking.SimulatorInteroperabilityTest.dll\")]\n        public string DataProducerProvider {\n            get {\n                return ((string)(this[\"DataProducerProvider\"]));\n            }\n        }\n    }\n}\n"
  },
  {
    "path": "Networking/ReferenceApplication/Properties/Settings.settings",
    "content": "﻿<?xml version='1.0' encoding='utf-8'?>\n<SettingsFile xmlns=\"http://schemas.microsoft.com/VisualStudio/2004/01/settings\" CurrentProfile=\"(Default)\" GeneratedClassNamespace=\"UAOOI.Networking.ReferenceApplication.Properties\" GeneratedClassName=\"Settings\">\n  <Profiles />\n  <Settings>\n    <Setting Name=\"ConsumerConfigurationFileName\" Type=\"System.String\" Scope=\"Application\">\n      <Value Profile=\"(Default)\">ConfigurationDataConsumer.xml</Value>\n    </Setting>\n    <Setting Name=\"ConfigurationEditorPlugInFilePath\" Type=\"System.String\" Scope=\"User\">\n      <Value Profile=\"(Default)\">ConfigurationEditor\\UAOOI.Configuration.DataBindings.dll</Value>\n    </Setting>\n    <Setting Name=\"MessageHandlerProvider\" Type=\"System.String\" Scope=\"Application\">\n      <Value Profile=\"(Default)\">UAOOI.Networking.UDPMessageHandler.dll</Value>\n    </Setting>\n    <Setting Name=\"LogFilePath\" Type=\"System.String\" Scope=\"Application\">\n      <Value Profile=\"(Default)\">ReferenceApplication.log</Value>\n    </Setting>\n    <Setting Name=\"ProducerConfigurationFileName\" Type=\"System.String\" Scope=\"Application\">\n      <Value Profile=\"(Default)\">ConfigurationDataProducer.xml</Value>\n    </Setting>\n    <Setting Name=\"DataProducerProvider\" Type=\"System.String\" Scope=\"Application\">\n      <Value Profile=\"(Default)\">UAOOI.Networking.SimulatorInteroperabilityTest.dll</Value>\n    </Setting>\n  </Settings>\n</SettingsFile>"
  },
  {
    "path": "Networking/ReferenceApplication/Properties/app.manifest",
    "content": "﻿<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<assembly manifestVersion=\"1.0\" xmlns=\"urn:schemas-microsoft-com:asm.v1\">\n  <assemblyIdentity version=\"1.0.0.0\" name=\"MyApplication.app\" />\n  <trustInfo xmlns=\"urn:schemas-microsoft-com:asm.v2\">\n    <security>\n      <requestedPrivileges xmlns=\"urn:schemas-microsoft-com:asm.v3\">\n        <!-- UAC Manifest Options\n             If you want to change the Windows User Account Control level replace the \n             requestedExecutionLevel node with one of the following.\n\n        <requestedExecutionLevel  level=\"asInvoker\" uiAccess=\"false\" />\n        <requestedExecutionLevel  level=\"requireAdministrator\" uiAccess=\"false\" />\n        <requestedExecutionLevel  level=\"highestAvailable\" uiAccess=\"false\" />\n\n            Specifying requestedExecutionLevel element will disable file and registry virtualization. \n            Remove this element if your application requires this virtualization for backwards\n            compatibility.\n        -->\n        <requestedExecutionLevel level=\"asInvoker\" uiAccess=\"false\" />\n      </requestedPrivileges>\n      <applicationRequestMinimum>\n        <PermissionSet class=\"System.Security.PermissionSet\" version=\"1\" Unrestricted=\"true\" ID=\"Custom\" SameSite=\"site\" />\n        <defaultAssemblyRequest permissionSetReference=\"Custom\" />\n      </applicationRequestMinimum>\n    </security>\n  </trustInfo>\n  <compatibility xmlns=\"urn:schemas-microsoft-com:compatibility.v1\">\n    <application>\n      <!-- A list of the Windows versions that this application has been tested on and is\n           is designed to work with. Uncomment the appropriate elements and Windows will \n           automatically selected the most compatible environment. -->\n      <!-- Windows Vista -->\n      <!--<supportedOS Id=\"{e2011457-1546-43c5-a5fe-008deee3d3f0}\" />-->\n      <!-- Windows 7 -->\n      <!--<supportedOS Id=\"{35138b9a-5d96-4fbd-8e2d-a2440225f93a}\" />-->\n      <!-- Windows 8 -->\n      <!--<supportedOS Id=\"{4a2f28e3-53b9-4441-ba9c-d69d4a4a6e38}\" />-->\n      <!-- Windows 8.1 -->\n      <!--<supportedOS Id=\"{1f676c76-80e1-4239-95bb-83d0f6d0da78}\" />-->\n      <!-- Windows 10 -->\n      <!--<supportedOS Id=\"{8e0f7a12-bfb3-4fe8-b9a5-48fd50a15a9a}\" />-->\n    </application>\n  </compatibility>\n  <!-- Indicates that the application is DPI-aware and will not be automatically scaled by Windows at higher\n       DPIs. Windows Presentation Foundation (WPF) applications are automatically DPI-aware and do not need \n       to opt in. Windows Forms applications targeting .NET Framework 4.6 that opt into this setting, should \n       also set the 'EnableWindowsFormsHighDpiAutoResizing' setting to 'true' in their app.config. -->\n  <!--\n  <application xmlns=\"urn:schemas-microsoft-com:asm.v3\">\n    <windowsSettings>\n      <dpiAware xmlns=\"http://schemas.microsoft.com/SMI/2005/WindowsSettings\">true</dpiAware>\n    </windowsSettings>\n  </application>\n  -->\n  <!-- Enable themes for Windows common controls and dialogs (Windows XP and later) -->\n  <!--\n  <dependency>\n    <dependentAssembly>\n      <assemblyIdentity\n          type=\"win32\"\n          name=\"Microsoft.Windows.Common-Controls\"\n          version=\"6.0.0.0\"\n          processorArchitecture=\"*\"\n          publicKeyToken=\"6595b64144ccf1df\"\n          language=\"*\"\n        />\n    </dependentAssembly>\n  </dependency>\n  -->\n</assembly>"
  },
  {
    "path": "Networking/ReferenceApplication/README.MD",
    "content": "# Walk-through `ReferenceApplication`\n\n## Introduction\n\nThe topics contained in the document [Getting Started Tutorial](../../Networking/SemanticData/READMEGettingStartedTutorial.md) are intended to give you quick exposure to the `OOI Reactive Application` network-based data exchange programming experience. Working through this tutorial gives you an introductory understanding of the steps required to customize existing `OOI Reactive Application`.\n\nThis project is aimed at implementation of an example of the `OOI Reactive Application` supporting producer and consumer roles simultaneously. The purpose of the `ReferenceApplication` is to demonstrate the concepts and architecture of the reactive networking application implementation, rather than to necessarily provide a realistic scenario for its use. For more extensive examples, see the [Semantic-Data Processing Architecture](../../SemanticData/README.MD).\n\nThe `ReferenceApplication` hosts parts offering `Producer` and `Consumer` functionality. Both roles are implemented as independent threads that have a common graphical user interface (GUI) for diagnostic and configuration purpose.\n \nThe `Producer` sends messages containing the fields defined in the configuration file using UDP communication stack. The values are simulated. The `Consumer` is configured to receive these messages from the UDP protocol stack. The `Consumer`to correctly decode the messages must have configuration defining the same set of fields. The data is encoded using *Variant* encoding.\n\nThe detailed description of the `Consumer` is covered by the document [`ReferenceApplication` Consumer - Data Logger](../../Networking/DataRepository/DataLogger/README.md). The detailed description of the `Producer` is covered by the document  [`ReferenceApplication` Producer - Interoperability Test Data Generator](../../Networking/SimulatorInteroperabilityTest/README.md).\n\nEach role uses independent configuration file. The detailed description of the configuration maintenance is captured in the document [UA Data Networking Configuration](../../Configuration/Networking/README.MD#ua-data-networking-configuration).\n\n<!--\n\nNote: in current version it is not supported.\n\nBy the user interface (UI) remote host name and port numbers can be modified. The IP address is resolved using DNS. Use the update buttons to start communication to apply new settings. The user interface provides also some diagnostic information. All received values are logged and displayed as the list with the time prefix.\n\n-->\n\n## Architecture\n\nThe diagram below presents main parts making up the `ReferenceApplication` - an example application compliant with the *Object Oriented Internet* concept.\n\n![ReferenceApplication Architecture 4.0.0](../../CommonResources/Media/UAOOI.Networking.ReferenceApplication.Layers..png)\n\n- `ReferenceApplication`: Reactive Networking of Semantic-Data Library WPF GUI layer - it exposes the startup entry point to the runtime environment.\n- `DataLogger`: is an example of the `Consumer` part of the `ReferenceApplication`.\n- `SimulatorInteroperabilityTest`: `Producer` implementation of a data generator to be used for testing purpose.\n- `UDPMessageHandler`: proprietary UDP `IMessageHandlerFactory` implementation.\n- `Encoding`: IEncodingFactory functionality  implementation limited to encoding simple data types for the testing purpose only.\n- `ReferenceApplication.Core`: this library provides an implementation of a core functionality required by the `ReferenceApplication` and all its components that are helpful in writing well-structured and maintainable applications.\n- `SemanticData`: *Reactive Networking of Semantic-Data Library* library based on [OPC UA Part 14 Pub/Sub](../../Networking/SemanticData/README.PubSubMTF.md).\n\n## How to: Get Started\n\n### Application Installation\n\nThe application is located on the GitHub at [OPC-UA-OOI](https://github.com/mpostol/OPC-UA-OOI) and maintained as the project `Networking.ReferenceApplication` of the solution `UAObjectOrientedInternet.sln`.\n\nThe current binary release containing ready to use application is available on the repository [Releases][OOI.Releases] page. Download and run the downloaded .exe file to unzip the content to selected folder. Now you may run the application file `UAOOI.Networking.ReferenceApplication.exe` to get started.\n\n### Version History\n\nDetailed description is available in file [ReadMe.txt](ReadMe.txt)\n\n## Prerequisites\n\nBy design, thi library depends on a logger functionality implementing the interface\n\n```txt\n\nUAOOI.Common.Infrastructure.Diagnostic.ITraceSource\n\n``` \n\ndefined in the `UAOOI.Common.Infrastructure` package. It is used to trace the behavior of libraries at run-time. To get an instance implementing this interface the `CommonServiceLocator` is used. The functionality required by the `CommonServiceLocator` has to be provided by the hosting application. Usually, it is provided by the composition container that is built at the application bootstrap stage. To get more visit this library home page [Microsoft.Practices.ServiceLocation at GitHub](https://github.com/unitycontainer/commonservicelocator).\n\n> If the `CommonServiceLocator` is not available a default logger (do nothing) is used. \n\n### Troubleshooting\n\nFor the diagnostic purpose, the application supports network transfer tracing that provides access to information about method invocations and network traffic generated by the application. This feature is useful for debugging applications under development as well as for analyzing deployed applications. The output provided by network tracing is customizable to support different usage scenarios at development time and in the production environment. Traces are to publish specific messages that are generated during application execution. To learn more about a configuration of the tracing visit the documentation at [Network Tracing in the .NET Framework](https://msdn.microsoft.com/en-us/library/hyb3xww8.aspx). \n\nThe log file `UANetworkingReferenceApplication.log` captures output messages from some public methods of the `Socket`, `TcpListener`, `TcpClient`, and `Dns` classes. To find the log file location click the `Actions.Open Configuration folder` menu entry.\n\n[OOI.Releases]:https://github.com/mpostol/OPC-UA-OOI/releases\n\n## See also\n\n- [Microsoft.Practices.ServiceLocation at GitHub](https://github.com/unitycontainer/commonservicelocator)\n- [Network Tracing in the .NET Framework](https://msdn.microsoft.com/en-us/library/hyb3xww8.aspx)\n\n\n\n"
  },
  {
    "path": "Networking/ReferenceApplication/ReadMe.old",
    "content": "﻿Version History\n\nAssembly Version:       3.0.1-Echo\nAssembly Date:          28.01.2018\n\nThe main changes and new functionalities are listed below:\n1. Add consistent tracing infrastructure\n2. MEF has been used to compose the Reference Application\n3. IMessageHandlerFactory - moved implementation to separate library\n4. Used Nuget packages for components required by Reference Application.\n5. fixed some errors.\n\nAssembly Version:       2.0.0-Charlie\nAssembly Date:          2016-06-19\n\nThe main changes and new functionalities are listed below:\n\n1. Updated the library up to new Pub/Sub Draft 14 with new protocol revision 140\n2. Added support of many published (different PublisherId) by an application at the same time. Changed the configuration schema.\n3. Added support for any external configuration file editor. Released and tested with CAS.CommServerUAOOI.ConfigurationEditor.dll\n4. Improved plug-in functionality for external logging component.\n5. Rearranged project folders structure and improved documentation.\n6. Many bug fixes and improvements.\n\nAssembly Version:       1.00.16\nAssembly Date:          2016-01-09\n\nThe main changes and new functionalities are listed below:\n\n1. IP Multi-cast support - it is configurable on the UI\n2. Arrays and `ByteString` support - array can be configured in the configuration file\n3. Configuration updated to meet the interoperability testing requirements\n4. Improved diagnostic - added log file tracing details related to the UDP protocol communication\n5. Added new unit tests\n5. Improved tracking to the text list available on the user interface.\n7. Fixed problems with reloading Nuget packages\n6. fixed many errors.\n\nAssembly Version:       1.00.13\nAssembly Date:          2015-12-23\n\nThe main changes and new functionalities are listed below:\n\n1. It is bug fix release:\n - Raise condition if there are many DataSets\n - Improved documentation and application user intrface\n \n\nAssembly Version:       1.00.11\nAssembly Date:          2015-12-18\n\nThe main changes and new functionalities are listed below:\n1. It is bug fix release - DataSetWriter must be encoded as UInt16 (https://github.com/mpostol/OPC-UA-OOI/issues/144).\n\nAssembly Version:       1.00.10\nAssembly Date:          2015-12-15\n\nThe main changes and new functionalities are listed below:\n1. It supports the protocol version 1.10.\n\nAssembly Version:       1.00.09\nAssembly Date:          2015-12-13\n\nThe main changes and new functionalities are listed below:\n1. Initial release\n2. It support the protocol version 1.09\n\n\n\n"
  },
  {
    "path": "Networking/ReferenceApplication/ReadMe.tt",
    "content": "﻿<#@ template debug=\"false\" hostspecific=\"false\" language=\"C#\" #>\n<#@ assembly name=\"System.Core\" #>\n<#@ import namespace=\"System.Linq\" #>\n<#@ import namespace=\"System.Text\" #>\n<#@ import namespace=\"System.Collections.Generic\" #>\n<#@ output extension=\".txt\" #>\n\nCurrent release:\n\nAssembly Title:         <#=NetworkingDataProduct#>\nAssembly Description:   UAOOI Reactive Networking of Semantic-Data Library.\nAssembly Company:       <#=AssemblyCompany#>\nAssembly Product:       <#=SemanticDataProduct#>\nAssembly Copyright:     <#=AssemblyCopyright#>\nAssembly Trademark:     <#=ProductTrademark#>\nAssembly Version:       <#=NetworkingDataVersion#><#=NetworkingDataPrerelease#>\nAssembly Date:          <#=m_Date#>\n\nThe main changes and new functionalities are listed below:\n\nDetailed description is available at: https://github.com/mpostol/OPC-UA-OOI/commits/master\n_____________________________________________________________________________________________\nFor assistance, contact:\n\nMariusz Postol\nCAS\nmailto://mpostol@cas.eu\n\nCopyright (C) 2015, commsvr.com LODZ POLAND\n\nmailto://commserver@cas.eu\nhttp://www.commsvr.com/\n\n<#@ include file = \"Readme.old\" #>\n<#@ include file = \"..\\..\\CommonResources\\T4Definitions\\Model.t4\" #>\n\n<#+\nstring m_Date = System.DateTime.Today.ToShortDateString();\n#>\n"
  },
  {
    "path": "Networking/ReferenceApplication/ReadMe.txt",
    "content": "﻿\nCurrent release:\n\nAssembly Title:         Object Oriented Internet\nAssembly Description:   UAOOI Reactive Networking of Semantic-Data Library.\nAssembly Company:       Mariusz Postol\nAssembly Product:       Object Oriented Internet\nAssembly Copyright:     Copyright (C) 2022 Mariusz Postol LODZ POLAND\nAssembly Trademark:     Object Oriented Internet\nAssembly Version:       4.0.2\nAssembly Date:          7/18/2022\n\nThe main changes and new functionalities are listed below:\n\nDetailed description is available at: https://github.com/mpostol/OPC-UA-OOI/commits/master\n_____________________________________________________________________________________________\nFor assistance, contact:\n\nMariusz Postol\nCAS\nmailto://mpostol@cas.eu\n\nCopyright (C) 2015, commsvr.com LODZ POLAND\n\nmailto://commserver@cas.eu\nhttp://www.commsvr.com/\n\nVersion History\n\nAssembly Version:       3.0.1-Echo\nAssembly Date:          28.01.2018\n\nThe main changes and new functionalities are listed below:\n1. Add consistent tracing infrastructure\n2. MEF has been used to compose the Reference Application\n3. IMessageHandlerFactory - moved implementation to separate library\n4. Used Nuget packages for components required by Reference Application.\n5. fixed some errors.\n\nAssembly Version:       2.0.0-Charlie\nAssembly Date:          2016-06-19\n\nThe main changes and new functionalities are listed below:\n\n1. Updated the library up to new Pub/Sub Draft 14 with new protocol revision 140\n2. Added support of many published (different PublisherId) by an application at the same time. Changed the configuration schema.\n3. Added support for any external configuration file editor. Released and tested with CAS.CommServerUAOOI.ConfigurationEditor.dll\n4. Improved plug-in functionality for external logging component.\n5. Rearranged project folders structure and improved documentation.\n6. Many bug fixes and improvements.\n\nAssembly Version:       1.00.16\nAssembly Date:          2016-01-09\n\nThe main changes and new functionalities are listed below:\n\n1. IP Multi-cast support - it is configurable on the UI\n2. Arrays and `ByteString` support - array can be configured in the configuration file\n3. Configuration updated to meet the interoperability testing requirements\n4. Improved diagnostic - added log file tracing details related to the UDP protocol communication\n5. Added new unit tests\n5. Improved tracking to the text list available on the user interface.\n7. Fixed problems with reloading Nuget packages\n6. fixed many errors.\n\nAssembly Version:       1.00.13\nAssembly Date:          2015-12-23\n\nThe main changes and new functionalities are listed below:\n\n1. It is bug fix release:\n - Raise condition if there are many DataSets\n - Improved documentation and application user intrface\n \n\nAssembly Version:       1.00.11\nAssembly Date:          2015-12-18\n\nThe main changes and new functionalities are listed below:\n1. It is bug fix release - DataSetWriter must be encoded as UInt16 (https://github.com/mpostol/OPC-UA-OOI/issues/144).\n\nAssembly Version:       1.00.10\nAssembly Date:          2015-12-15\n\nThe main changes and new functionalities are listed below:\n1. It supports the protocol version 1.10.\n\nAssembly Version:       1.00.09\nAssembly Date:          2015-12-13\n\nThe main changes and new functionalities are listed below:\n1. Initial release\n2. It support the protocol version 1.09\n\n\n\n\n\n"
  },
  {
    "path": "Networking/ReferenceApplication/SaveFileConfirmation.cs",
    "content": "﻿using UAOOI.Networking.ReferenceApplication.Controls;\n\nnamespace UAOOI.Networking.ReferenceApplication\n{\n  internal class SaveFileConfirmation : INotification\n  {\n    #region INotification\n    /// <summary>\n    /// Gets or sets the content of the notification.\n    /// </summary>\n    /// <value>The content of the interaction control.</value>\n    public object Content\n    {\n      get; set;\n    }\n    /// <summary>\n    /// Gets or sets the title to use for the notification.\n    /// </summary>\n    /// <value>The title of the interaction control.</value>\n    public string Title\n    {\n      get; set;\n    }\n    /// <summary>\n    /// Gets or sets the file path.\n    /// </summary>\n    /// <value>The file path.</value>\n    public string FilePath { get; set; }\n    #endregion\n  }\n}\n"
  },
  {
    "path": "Networking/ReferenceApplication/packages.config",
    "content": "﻿<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<packages>\n  <package id=\"CommonServiceLocator\" version=\"2.0.6\" targetFramework=\"net472\" />\n  <package id=\"EnterpriseLibrary.SemanticLogging\" version=\"2.0.1406.1\" targetFramework=\"net461\" />\n  <package id=\"EnterpriseLibrary.SemanticLogging.TextFile\" version=\"2.0.1406.1\" targetFramework=\"net461\" />\n  <package id=\"Newtonsoft.Json\" version=\"13.0.1\" targetFramework=\"net472\" />\n  <package id=\"System.Diagnostics.TraceSource\" version=\"4.3.0\" targetFramework=\"net461\" />\n  <package id=\"System.Reactive\" version=\"5.0.0\" targetFramework=\"net472\" />\n  <package id=\"System.Reactive.Core\" version=\"5.0.0\" targetFramework=\"net472\" />\n  <package id=\"System.Reactive.Interfaces\" version=\"5.0.0\" targetFramework=\"net472\" />\n  <package id=\"System.Reactive.Linq\" version=\"5.0.0\" targetFramework=\"net472\" />\n  <package id=\"System.Runtime.CompilerServices.Unsafe\" version=\"6.0.0\" targetFramework=\"net472\" />\n  <package id=\"System.Threading.Tasks.Extensions\" version=\"4.5.4\" targetFramework=\"net472\" />\n  <package id=\"System.ValueTuple\" version=\"4.5.0\" targetFramework=\"net472\" />\n  <package id=\"UAOOI.Common.Infrastructure\" version=\"6.4.7\" targetFramework=\"net472\" />\n</packages>"
  },
  {
    "path": "Networking/ReferenceApplication.Core/CompositionSettings.cs",
    "content": "﻿//___________________________________________________________________________________\n//\n//  Copyright (C) 2018, Mariusz Postol LODZ POLAND.\n//\n//  To be in touch join the community at GITTER: https://gitter.im/mpostol/OPC-UA-OOI\n//___________________________________________________________________________________\n\n\nnamespace UAOOI.Networking.ReferenceApplication.Core\n{\n  /// <summary>\n  /// Class CompositionSettings provides contract names to be used by the parts composition\n  /// </summary>\n  public static class CompositionSettings\n  {\n\n    /// <summary>\n    /// The configuration file name contract name\n    /// </summary>\n    public const string ConfigurationFileNameContract = \"SimulatorCompositionSettings.ConfigurationFileName\";\n\n  }\n}\n"
  },
  {
    "path": "Networking/ReferenceApplication.Core/Diagnostic/NetworkingEventSourceProvider.cs",
    "content": "﻿//___________________________________________________________________________________\n//\n//  Copyright (C) 2019, Mariusz Postol LODZ POLAND.\n//\n//  To be in touch join the community at GITTER: https://gitter.im/mpostol/OPC-UA-OOI\n//___________________________________________________________________________________\n\nusing System.ComponentModel.Composition;\nusing System.Diagnostics.Tracing;\nusing UAOOI.Networking.Core;\n\nnamespace UAOOI.Networking.ReferenceApplication.Core.Diagnostic\n{\n  /// <summary>\n  /// Class NetworkingEventSourceProvider - gets access to an instance of <see cref=\"EventSource\"/> to be registered by the logging infrastructure.\n  /// </summary>\n  /// <seealso cref=\"INetworkingEventSourceProvider\" />\n  [Export(typeof(INetworkingEventSourceProvider))]\n  public class NetworkingEventSourceProvider : INetworkingEventSourceProvider\n  {\n    #region INetworkingEventSourceProvider\n\n    /// <summary>\n    /// Gets the part event source.\n    /// </summary>\n    /// <returns>Returns an instance of <see cref=\"T:System.Diagnostics.Tracing.EventSource\" />.</returns>\n    public EventSource GetPartEventSource()\n    {\n      return ReferenceApplicationEventSource.Log;\n    }\n\n    #endregion INetworkingEventSourceProvider\n  }\n}"
  },
  {
    "path": "Networking/ReferenceApplication.Core/Diagnostic/ReferenceApplicationEventSource.cs",
    "content": "﻿using System.Diagnostics.Tracing;\n\nnamespace UAOOI.Networking.ReferenceApplication.Core.Diagnostic\n{\n\n  [EventSource(Name = \"UAOOI-Networking-ReferenceApplication-Diagnostic\", Guid = \"D8637D00-5EAD-4538-9286-8C6DE346D8C8\")]\n  public class ReferenceApplicationEventSource : EventSource\n  {\n    ///// <summary>\n    ///// Class Keywords - defines the local keywords (flags) that apply to events.\n    ///// </summary>\n    //internal class Keywords\n    //{\n    //  public const EventKeywords Setup = (EventKeywords)1;\n    //  public const EventKeywords Configuration = (EventKeywords)2;\n    //  public const EventKeywords Diagnostic = (EventKeywords)4;\n    //}\n    /// <summary>\n    /// Class Tasks.\n    /// </summary>\n    public class Tasks\n    {\n      public const EventTask Consumer = (EventTask)1;\n      public const EventTask Producer = (EventTask)2;\n      public const EventTask Stack = (EventTask)3;\n      public const EventTask Infrastructure = (EventTask)4;\n    }\n    /// <summary>\n    /// Gets the log - implements singleton of the <see cref=\"UDPMessageHandlerSemanticEventSource\"/>.\n    /// </summary>\n    /// <value>The log.</value>\n    public static ReferenceApplicationEventSource Log { get; } = new ReferenceApplicationEventSource();\n\n    [Event(1, Message = \"Application Failure: {0}\", Opcode = EventOpcode.Info, Task = Tasks.Infrastructure, Level = EventLevel.Error/*, Keywords = Keywords.Diagnostic*/)]\n    internal void Failure(string message)\n    {\n      this.WriteEvent(1, message);\n    }\n    [Event(2, Message = \"The application has been started using the message handling provider {0}.\", Opcode = EventOpcode.Start, Task = Tasks.Infrastructure, /*Keywords = Keywords.Setup,*/ Level = EventLevel.Informational)]\n    public void StartingApplication(string transportName)\n    {\n      this.WriteEvent(2, transportName);\n    }\n    [Event(3, Message = \"The part {0} has been just created and configured.\", Opcode = EventOpcode.Start, Task = Tasks.Infrastructure, Level = EventLevel.Informational/*, Keywords = Keywords.Setup*/ )]\n    public void PartCreated(string partName)\n    {\n      this.WriteEvent(3, partName);\n    }\n    [Event(4, Message = \"Initialization of {0}\", Opcode = EventOpcode.Start, Task = Tasks.Infrastructure, Level = EventLevel.Informational /*, Keywords = Keywords.Setup,*/ )]\n    public void Initialization(string message)\n    {\n      this.WriteEvent(4, message);\n    }\n    [Event(5, Message = \"Entering method {0}.{1}\", Opcode = EventOpcode.Start, Task = Tasks.Infrastructure, /*Keywords = Keywords.Diagnostic,*/ Level = EventLevel.Verbose)]\n    public void EnteringMethod(string className, string methodName)\n    {\n      this.WriteEvent(5, className, methodName);\n    }\n    [Event(6, Message = \"Entering Dispose method in {0} class disposing = {1}\", Opcode = EventOpcode.Start, Task = Tasks.Infrastructure, /*Keywords = Keywords.Diagnostic,*/ Level = EventLevel.Informational)]\n    public void EnteringDispose(string className, bool disposing)\n    {\n      this.WriteEvent(6, className, disposing);\n    }\n\n    private ReferenceApplicationEventSource() { }\n  }\n\n}\n\n"
  },
  {
    "path": "Networking/ReferenceApplication.Core/Diagnostic/ReferenceApplicationEventSourceExtensions.cs",
    "content": "﻿\nusing System;\n\nnamespace UAOOI.Networking.ReferenceApplication.Core.Diagnostic\n{\n  /// <summary>\n  /// Class ReferenceApplicationEventSourceExtensions - expanding the <see cref=\"ReferenceApplicationEventSource\"/> \n  /// </summary>\n  public static class ReferenceApplicationEventSourceExtensions\n  {\n    /// <summary>\n    /// Logs the exception using <see cref=\"ReferenceApplicationEventSource\"/>.\n    /// </summary>\n    /// <param name=\"eventSource\">The event source source to be used for problem reporting.</param>\n    /// <param name=\"e\">The exception to be reported.</param>\n    public static void LogException (this ReferenceApplicationEventSource eventSource, Exception e)\n    {\n      Exception _exception = e;\n      string _innerText = \"An exception has benn caught:\";\n      while (e != null)\n      {\n        eventSource.Failure($\"{_innerText} of type {_exception.GetType().Name} capturing the message: {e.Message}\");\n        e = e.InnerException;\n        _innerText = \"It contains inner exception:\";\n      }\n    }\n  }\n}\n"
  },
  {
    "path": "Networking/ReferenceApplication.Core/IDataRepositoryStartup.cs",
    "content": "﻿//___________________________________________________________________________________\n//\n//  Copyright (C) 2020, Mariusz Postol LODZ POLAND.\n//\n//  To be in touch join the community at GITTER: https://gitter.im/mpostol/OPC-UA-OOI\n//___________________________________________________________________________________\n\nusing System;\n\nnamespace UAOOI.Networking.ReferenceApplication.Core\n{\n  /// <summary>\n  /// Interface IDataRepositoryStartup - a contract to be used by IoC container to get DataRepository parts.\n  /// Implements the <see cref=\"System.IDisposable\" />\n  /// </summary>\n  /// <seealso cref=\"System.IDisposable\" />\n  public interface IDataRepositoryStartup : IDisposable\n  {\n    void Setup();\n  }\n}\n"
  },
  {
    "path": "Networking/ReferenceApplication.Core/MvvmLight/DelegateCommand.cs",
    "content": "using System;\nusing System.Linq.Expressions;\nusing System.Reflection;\nusing System.Threading.Tasks;\n\nnamespace UAOOI.Networking.ReferenceApplication.Core.MvvmLight\n{\n  /// <summary>\n  /// An <see cref=\"ICommand\"/> whose delegates can be attached for <see cref=\"Execute\"/> and <see cref=\"CanExecute\"/>.\n  /// </summary>\n  /// <typeparam name=\"T\">Parameter type.</typeparam>\n  /// <remarks>\n  /// The constructor deliberately prevents the use of value types.\n  /// Because ICommand takes an object, having a value type for T would cause unexpected behavior when CanExecute(null) is called during XAML initialization for command bindings.\n  /// Using default(T) was considered and rejected as a solution because the implementor would not be able to distinguish between a valid and defaulted values.\n  /// <para/>\n  /// Instead, callers should support a value type by using a nullable value type and checking the HasValue property before using the Value property.\n  /// <example>\n  ///     <code>\n  /// public MyClass()\n  /// {\n  ///     this.submitCommand = new DelegateCommand&lt;int?&gt;(this.Submit, this.CanSubmit);\n  /// }\n  /// \n  /// private bool CanSubmit(int? customerId)\n  /// {\n  ///     return (customerId.HasValue &amp;&amp; customers.Contains(customerId.Value));\n  /// }\n  ///     </code>\n  /// </example>\n  /// </remarks>\n  public class DelegateCommand<T> : DelegateCommandBase\n  {\n\n    /// <summary>\n    /// Initializes a new instance of <see cref=\"DelegateCommand{T}\"/>.\n    /// </summary>\n    /// <param name=\"executeMethod\">Delegate to execute when Execute is called on the command. This can be null to just hook up a CanExecute delegate.</param>\n    /// <remarks><see cref=\"CanExecute\"/> will always return true.</remarks>\n    public DelegateCommand(Action<T> executeMethod)\n        : this(executeMethod, (o) => true)\n    { }\n    /// <summary>\n    /// Initializes a new instance of <see cref=\"DelegateCommand{T}\"/>.\n    /// </summary>\n    /// <param name=\"executeMethod\">Delegate to execute when Execute is called on the command. This can be null to just hook up a CanExecute delegate.</param>\n    /// <param name=\"canExecuteMethod\">Delegate to execute when CanExecute is called on the command. This can be null.</param>\n    /// <exception cref=\"ArgumentNullException\">When both <paramref name=\"executeMethod\"/> and <paramref name=\"canExecuteMethod\"/> ar <see langword=\"null\" />.</exception>\n    public DelegateCommand(Action<T> executeMethod, Func<T, bool> canExecuteMethod)\n        : base((o) => executeMethod((T)o), (o) => canExecuteMethod((T)o))\n    {\n      if (executeMethod == null || canExecuteMethod == null)\n        throw new ArgumentNullException(nameof(executeMethod), Resources.DelegateCommandDelegatesCannotBeNull);\n      TypeInfo _genericTypeInfo = typeof(T).GetTypeInfo();\n      // DelegateCommand allows object or Nullable<>.  \n      // note: Nullable<> is a struct so we cannot use a class constraint.\n      if (_genericTypeInfo.IsValueType)\n      {\n        if ((!_genericTypeInfo.IsGenericType) || (!typeof(Nullable<>).GetTypeInfo().IsAssignableFrom(_genericTypeInfo.GetGenericTypeDefinition().GetTypeInfo())))\n        {\n          throw new InvalidCastException(Resources.DelegateCommandInvalidGenericPayloadType);\n        }\n      }\n\n    }\n    /// <summary>\n    /// Observes a property that implements INotifyPropertyChanged, and automatically calls DelegateCommandBase.RaiseCanExecuteChanged on property changed notifications.\n    /// </summary>\n    /// <typeparam name=\"TP\">The object type containing the property specified in the expression.</typeparam>\n    /// <param name=\"propertyExpression\">The property expression. Example: ObservesProperty(() => PropertyName).</param>\n    /// <returns>The current instance of DelegateCommand</returns>\n    public DelegateCommand<T> ObservesProperty<TP>(Expression<Func<TP>> propertyExpression)\n    {\n      ObservesPropertyInternal(propertyExpression);\n      return this;\n    }\n    /// <summary>\n    /// Observes a property that is used to determine if this command can execute, and if it implements INotifyPropertyChanged it will automatically call DelegateCommandBase.RaiseCanExecuteChanged on property changed notifications.\n    /// </summary>\n    /// <param name=\"canExecuteExpression\">The property expression. Example: ObservesCanExecute((o) => PropertyName).</param>\n    /// <returns>The current instance of DelegateCommand</returns>\n    public DelegateCommand<T> ObservesCanExecute(Expression<Func<object, bool>> canExecuteExpression)\n    {\n      ObservesCanExecuteInternal(canExecuteExpression);\n      return this;\n    }\n    ///<summary>\n    ///Determines if the command can execute by invoked the <see cref=\"Func{T,Bool}\"/> provided during construction.\n    ///</summary>\n    ///<param name=\"parameter\">Data used by the command to determine if it can execute.</param>\n    ///<returns>\n    ///<see langword=\"true\" /> if this command can be executed; otherwise, <see langword=\"false\" />.\n    ///</returns>\n    public virtual bool CanExecute(T parameter)\n    {\n      return base.CanExecute(parameter);\n    }\n    ///<summary>\n    ///Executes the command and invokes the <see cref=\"Action{T}\"/> provided during construction.\n    ///</summary>\n    ///<param name=\"parameter\">Data used by the command.</param>\n    public virtual Task Execute(T parameter)\n    {\n      return base.Execute(parameter);\n    }\n\n    #region private constructors\n    protected DelegateCommand(Func<T, Task> executeMethod)\n    : this(executeMethod, (o) => true)\n    { }\n    protected DelegateCommand(Func<T, Task> executeMethod, Func<T, bool> canExecuteMethod)\n        : base((o) => executeMethod((T)o), (o) => canExecuteMethod((T)o))\n    {\n      if (executeMethod == null || canExecuteMethod == null)\n        throw new ArgumentNullException(nameof(executeMethod), Resources.DelegateCommandDelegatesCannotBeNull);\n    }\n    #endregion\n\n  }\n\n  /// <summary>\n  /// An <see cref=\"ICommand\"/> whose delegates do not take any parameters for <see cref=\"Execute\"/> and <see cref=\"CanExecute\"/>.\n  /// </summary>\n  /// <see cref=\"DelegateCommandBase\"/>\n  /// <see cref=\"DelegateCommand{T}\"/>\n  public class DelegateCommand : DelegateCommandBase\n  {\n\n    #region constructors\n    /// <summary>\n    /// Creates a new instance of <see cref=\"DelegateCommand\"/> with the <see cref=\"Action\"/> to invoke on execution.\n    /// </summary>\n    /// <param name=\"executeMethod\">The <see cref=\"Action\"/> to invoke when <see cref=\"ICommand.Execute\"/> is called.</param>\n    public DelegateCommand(Action executeMethod)\n        : this(executeMethod, () => true)\n    { }\n\n    /// <summary>\n    /// Creates a new instance of <see cref=\"DelegateCommand\"/> with the <see cref=\"Action\"/> to invoke on execution\n    /// and a <see langword=\"Func\" /> to query for determining if the command can execute.\n    /// </summary>\n    /// <param name=\"executeMethod\">The <see cref=\"Action\"/> to invoke when <see cref=\"ICommand.Execute\"/> is called.</param>\n    /// <param name=\"canExecuteMethod\">The <see cref=\"Func{TResult}\"/> to invoke when <see cref=\"ICommand.CanExecute\"/> is called</param>\n    public DelegateCommand(Action executeMethod, Func<bool> canExecuteMethod)\n        : base((o) => executeMethod(), (o) => canExecuteMethod())\n    {\n      if (executeMethod == null || canExecuteMethod == null)\n        throw new ArgumentNullException(nameof(executeMethod), Resources.DelegateCommandDelegatesCannotBeNull);\n    }\n    #endregion    \n\n    /// <summary>\n    /// Observes a property that implements INotifyPropertyChanged, and automatically calls DelegateCommandBase.RaiseCanExecuteChanged on property changed notifications.\n    /// </summary>\n    /// <typeparam name=\"T\">The object type containing the property specified in the expression.</typeparam>\n    /// <param name=\"propertyExpression\">The property expression. Example: ObservesProperty(() => PropertyName).</param>\n    /// <returns>The current instance of DelegateCommand</returns>\n    public DelegateCommand ObservesProperty<T>(Expression<Func<T>> propertyExpression)\n    {\n      ObservesPropertyInternal(propertyExpression);\n      return this;\n    }\n    /// <summary>\n    /// Observes a property that is used to determine if this command can execute, and if it implements INotifyPropertyChanged it will automatically call DelegateCommandBase.RaiseCanExecuteChanged on property changed notifications.\n    /// </summary>\n    /// <param name=\"canExecuteExpression\">The property expression. Example: ObservesCanExecute((o) => PropertyName).</param>\n    /// <returns>The current instance of DelegateCommand</returns>\n    public DelegateCommand ObservesCanExecute(Expression<Func<object, bool>> canExecuteExpression)\n    {\n      ObservesCanExecuteInternal(canExecuteExpression);\n      return this;\n    }\n    ///<summary>\n    /// Executes the command.\n    ///</summary>\n    public virtual Task Execute()\n    {\n      return Execute(null);\n    }\n    /// <summary>\n    /// Determines if the command can be executed.\n    /// </summary>\n    /// <returns>Returns <see langword=\"true\"/> if the command can execute, otherwise returns <see langword=\"false\"/>.</returns>\n    public virtual bool CanExecute()\n    {\n      return CanExecute(null);\n    }\n\n    #region private constructors\n    protected DelegateCommand(Func<Task> executeMethod)\n    : this(executeMethod, () => true)\n    { }\n    protected DelegateCommand(Func<Task> executeMethod, Func<bool> canExecuteMethod)\n        : base((o) => executeMethod(), (o) => canExecuteMethod())\n    {\n      if (executeMethod == null || canExecuteMethod == null)\n        throw new ArgumentNullException(nameof(executeMethod), Resources.DelegateCommandDelegatesCannotBeNull);\n    }\n    #endregion\n\n  }\n  internal static class Resources\n  {\n    internal static readonly string DelegateCommandDelegatesCannotBeNull = \"Neither the executeMethod nor the canExecuteMethod delegates can be null.\";\n    internal static readonly string DelegateCommandInvalidGenericPayloadType = @\"T for DelegateCommand<T> is not an object nor Nullable.\";\n    internal static readonly string PropertySupport_NotMemberAccessExpression_Exception = \"The expression is not a member access expression.\";\n    internal static readonly string PropertySupport_ExpressionNotProperty_Exception = \"The member access expression does not access a property.\";\n    internal static readonly string PropertySupport_StaticExpression_Exception =\"The referenced property is a static property.\";\n  }\n}\n"
  },
  {
    "path": "Networking/ReferenceApplication.Core/MvvmLight/DelegateCommandBase.cs",
    "content": "\nusing System;\nusing System.Collections.Generic;\nusing System.ComponentModel;\nusing System.Linq.Expressions;\nusing System.Threading.Tasks;\nusing System.Windows.Input;\nusing System.Threading;\n\nnamespace UAOOI.Networking.ReferenceApplication.Core.MvvmLight\n{\n  /// <summary>\n  /// An <see cref=\"ICommand\"/> whose delegates can be attached for <see cref=\"Execute\"/> and <see cref=\"CanExecute\"/>.\n  /// </summary>\n  public abstract class DelegateCommandBase : ICommand\n  {\n\n    #region constructors\n    /// <summary>\n    /// Creates a new instance of a <see cref=\"DelegateCommandBase\"/>, specifying both the execute action and the can execute function.\n    /// </summary>\n    /// <param name=\"executeMethod\">The <see cref=\"Action\"/> to execute when <see cref=\"ICommand.Execute\"/> is invoked.</param>\n    /// <param name=\"canExecuteMethod\">The <see cref=\"Func{Object,Bool}\"/> to invoked when <see cref=\"ICommand.CanExecute\"/> is invoked.</param>\n    protected DelegateCommandBase(Action<object> executeMethod, Func<object, bool> canExecuteMethod)\n    {\n      if (executeMethod == null || canExecuteMethod == null)\n        throw new ArgumentNullException(nameof(executeMethod), Resources.DelegateCommandDelegatesCannotBeNull);\n      m_ExecuteMethod = (arg) => { executeMethod(arg); return Task.Delay(0); };\n      m_CanExecuteMethod = canExecuteMethod;\n      m_SynchronizationContext = SynchronizationContext.Current;\n    }\n    /// <summary>\n    /// Creates a new instance of a <see cref=\"DelegateCommandBase\"/>, specifying both the Execute action as an awaitable Task and the CanExecute function.\n    /// </summary>\n    /// <param name=\"executeMethod\">The <see cref=\"Func{Object,Task}\"/> to execute when <see cref=\"ICommand.Execute\"/> is invoked.</param>\n    /// <param name=\"canExecuteMethod\">The <see cref=\"Func{Object,Bool}\"/> to invoked when <see cref=\"ICommand.CanExecute\"/> is invoked.</param>\n    protected DelegateCommandBase(Func<object, Task> executeMethod, Func<object, bool> canExecuteMethod)\n    {\n      if (executeMethod == null || canExecuteMethod == null)\n        throw new ArgumentNullException(nameof(executeMethod), Resources.DelegateCommandDelegatesCannotBeNull);\n      m_ExecuteMethod = executeMethod;\n      m_CanExecuteMethod = canExecuteMethod;\n      m_SynchronizationContext = SynchronizationContext.Current;\n    }\n    #endregion\n\n    #region ICommand\n    /// <summary>\n    /// Occurs when changes occur that affect whether or not the command should execute.\n    /// </summary>\n    public virtual event EventHandler CanExecuteChanged;\n    /// <summary>\n    /// Raises <see cref=\"DelegateCommandBase.CanExecuteChanged\"/> so every command invoker can requery to check if the command can execute.\n    /// <remarks>Note that this will trigger the execution of <see cref=\"DelegateCommandBase.CanExecute\"/> once for each invoker.</remarks>\n    /// </summary>\n    public void RaiseCanExecuteChanged()\n    {\n      OnCanExecuteChanged();\n    }\n    /// <summary>\n    /// Defines the method to be called when the command is invoked.\n    /// </summary>\n    /// <param name=\"parameter\">Data used by the command.  If the command does not require data to be passed, this object can be set to null.</param>\n    async void ICommand.Execute(object parameter)\n    {\n      await Execute(parameter);\n    }\n    bool ICommand.CanExecute(object parameter)\n    {\n      return CanExecute(parameter);\n    }\n    #endregion\n\n    #region private\n    protected readonly Func<object, Task> m_ExecuteMethod;\n    protected Func<object, bool> m_CanExecuteMethod;\n    /// <summary>\n    /// Executes the command with the provided parameter by invoking the <see cref=\"Action{Object}\"/> supplied during construction.\n    /// </summary>\n    /// <param name=\"parameter\"></param>\n    protected virtual async Task Execute(object parameter)\n    {\n      await m_ExecuteMethod(parameter);\n    }\n    /// <summary>\n    /// Determines if the command can execute with the provided parameter by invoking the <see cref=\"Func{Object,Bool}\"/> supplied during construction.\n    /// </summary>\n    /// <param name=\"parameter\">The parameter to use when determining if this command can execute.</param>\n    /// <returns>Returns <see langword=\"true\"/> if the command can execute.  <see langword=\"False\"/> otherwise.</returns>\n    protected virtual bool CanExecute(object parameter)\n    {\n      return m_CanExecuteMethod(parameter);\n    }\n    /// <summary>\n    /// Observes a property that implements INotifyPropertyChanged, and automatically calls DelegateCommandBase.RaiseCanExecuteChanged on property changed notifications.\n    /// </summary>\n    /// <typeparam name=\"T\">The object type containing the property specified in the expression.</typeparam>\n    /// <param name=\"propertyExpression\">The property expression. Example: ObservesProperty(() => PropertyName).</param>\n    /// <returns>The current instance of DelegateCommand</returns>\n    /// <summary>\n    /// Raises <see cref=\"ICommand.CanExecuteChanged\"/> so every command invoker can requery <see cref=\"ICommand.CanExecute\"/>.\n    /// </summary>\n    protected virtual void OnCanExecuteChanged()\n    {\n      EventHandler handler = CanExecuteChanged;\n      if (handler != null)\n      {\n        if (m_SynchronizationContext != null && m_SynchronizationContext != SynchronizationContext.Current)\n          m_SynchronizationContext.Post((o) => handler.Invoke(this, EventArgs.Empty), null);\n        else\n          handler.Invoke(this, EventArgs.Empty);\n      }\n    }\n    protected internal void ObservesPropertyInternal<T>(Expression<Func<T>> propertyExpression)\n    {\n      AddPropertyToObserve(PropertySupport.ExtractPropertyName(propertyExpression));\n      HookInpc(propertyExpression.Body as MemberExpression);\n    }\n    /// <summary>\n    /// Observes a property that is used to determine if this command can execute, and if it implements INotifyPropertyChanged it will automatically call DelegateCommandBase.RaiseCanExecuteChanged on property changed notifications.\n    /// </summary>\n    /// <param name=\"canExecuteExpression\">The property expression. Example: ObservesCanExecute((o) => PropertyName).</param>\n    /// <returns>The current instance of DelegateCommand</returns>\n    protected internal void ObservesCanExecuteInternal(Expression<Func<object, bool>> canExecuteExpression)\n    {\n      m_CanExecuteMethod = canExecuteExpression.Compile();\n      AddPropertyToObserve(PropertySupport.ExtractPropertyNameFromLambda(canExecuteExpression));\n      HookInpc(canExecuteExpression.Body as MemberExpression);\n    }\n    protected void HookInpc(MemberExpression expression)\n    {\n      if (expression == null)\n        return;\n      if (m_NotifyPropertyChangedInstance == null)\n      {\n        ConstantExpression constantExpression = expression.Expression as ConstantExpression;\n        if (constantExpression != null)\n        {\n          m_NotifyPropertyChangedInstance = constantExpression.Value as INotifyPropertyChanged;\n          if (m_NotifyPropertyChangedInstance != null)\n            m_NotifyPropertyChangedInstance.PropertyChanged += Inpc_PropertyChanged;\n        }\n      }\n    }\n    protected void AddPropertyToObserve(string property)\n    {\n      if (m_PropertiesToObserve.Contains(property))\n        throw new ArgumentException(String.Format(\"{0} is already being observed.\", property));\n      m_PropertiesToObserve.Add(property);\n    }\n    private void Inpc_PropertyChanged(object sender, PropertyChangedEventArgs e)\n    {\n      if (m_PropertiesToObserve.Contains(e.PropertyName))\n        RaiseCanExecuteChanged();\n    }\n    private SynchronizationContext m_SynchronizationContext = null;\n    readonly HashSet<string> m_PropertiesToObserve = new HashSet<string>();\n    private INotifyPropertyChanged m_NotifyPropertyChangedInstance = null;\n    #endregion\n\n  }\n}"
  },
  {
    "path": "Networking/ReferenceApplication.Core/MvvmLight/ObservableObject.cs",
    "content": "﻿\nusing System;\nusing System.ComponentModel;\nusing System.Diagnostics;\nusing System.Reflection;\nusing System.Linq.Expressions;\nusing System.Linq;\nusing System.Collections.Generic;\nusing System.Runtime.CompilerServices;\n\nnamespace UAOOI.Networking.ReferenceApplication.Core.MvvmLight\n{\n  /// <summary>\n  /// A base class for objects of which the properties must be observable.\n  /// </summary>\n  public class ObservableObject : INotifyPropertyChanged\n  {\n    #region INotifyPropertyChanged\n    /// <summary>\n    /// Occurs after a property value changes.\n    /// </summary>\n    public event PropertyChangedEventHandler PropertyChanged;\n    #endregion\n\n    /// <summary>\n    /// Occurs before a property value changes.\n    /// </summary>\n    public event PropertyChangingEventHandler PropertyChanging;\n\n    /// <summary>\n    /// Verifies that a property name exists in this ViewModel. This method\n    /// can be called before the property is used, for instance before\n    /// calling RaisePropertyChanged. It avoids errors when a property name\n    /// is changed but some places are missed.\n    /// </summary>\n    /// <remarks>This method is only active in DEBUG mode.</remarks>\n    /// <param name=\"propertyName\">The name of the property that will be checked.</param>\n\n    [Conditional(\"DEBUG\")]\n    public void VerifyPropertyName(string propertyName)\n    {\n      Type _Type = GetType();\n      if (!string.IsNullOrEmpty(propertyName) && _Type.GetProperty(propertyName) == null)\n      {\n        ICustomTypeDescriptor _descriptor = this as ICustomTypeDescriptor;\n        if (_descriptor != null)\n        {\n          if (_descriptor.GetProperties().Cast<PropertyDescriptor>().Any(property => property.Name == propertyName))\n            return;\n        }\n        throw new ArgumentException(\"Property not found\", propertyName);\n      }\n    }\n    /// <summary>\n    /// Raises the PropertyChanging event if needed.\n    /// </summary>\n    /// <remarks>If the propertyName parameter\n    /// does not correspond to an existing property on the current class, an\n    /// exception is thrown in DEBUG configuration only.</remarks>\n    /// <param name=\"propertyName\">The name of the property that\n    /// changed.</param>\n    public virtual void RaisePropertyChanging(string propertyName)\n    {\n      VerifyPropertyName(propertyName);\n      PropertyChanging?.Invoke(this, new PropertyChangingEventArgs(propertyName));\n    }\n\n    /// <summary>\n    /// Raises the PropertyChanged event if needed.\n    /// </summary>\n    /// <remarks>If the propertyName parameter\n    /// does not correspond to an existing property on the current class, an\n    /// exception is thrown in DEBUG configuration only.</remarks>\n    /// <param name=\"propertyName\">The name of the property that\n    /// changed.</param>\n    public virtual void RaisePropertyChanged(string propertyName)\n    {\n      VerifyPropertyName(propertyName);\n      PropertyChanged?.Invoke(this, new PropertyChangedEventArgs(propertyName));\n    }\n    /// <summary>\n    /// Raises the PropertyChanging event if needed.\n    /// </summary>\n    /// <typeparam name=\"T\">The type of the property that\n    /// changes.</typeparam>\n    /// <param name=\"propertyExpression\">An expression identifying the property\n    /// that changes.</param>\n    public virtual void RaisePropertyChanging<T>(Expression<Func<T>> propertyExpression)\n    {\n      PropertyChangingEventHandler handler = PropertyChanging;\n      if (handler != null)\n      {\n        string propertyName = GetPropertyName(propertyExpression);\n        handler(this, new PropertyChangingEventArgs(propertyName));\n      }\n    }\n    /// <summary>\n    /// Raises the PropertyChanged event if needed.\n    /// </summary>\n    /// <typeparam name=\"T\">The type of the property that\n    /// changed.</typeparam>\n    /// <param name=\"propertyExpression\">An expression identifying the property that changed.</param>\n    public virtual void RaisePropertyChanged<T>(Expression<Func<T>> propertyExpression)\n    {\n      PropertyChangedEventHandler handler = PropertyChanged;\n      if (handler == null)\n        return;\n      string propertyName = GetPropertyName(propertyExpression);\n      if (!string.IsNullOrEmpty(propertyName))\n        RaisePropertyChanged(propertyName);\n    }\n    /// <summary>\n    /// Raises the PropertyChanged event if needed, and broadcasts a\n    /// PropertyChangedMessage using the Messenger instance (or the\n    /// static default instance if no Messenger instance is available).\n    /// </summary>\n    /// <typeparam name=\"T\">The type of the property that\n    /// changed.</typeparam>\n    /// <param name=\"propertyName\">The name of the property that\n    /// changed.</param>\n    /// <param name=\"oldValue\">The property's value before the change\n    /// occurred.</param>\n    /// <param name=\"newValue\">The property's value after the change\n    /// occurred.</param>\n    public virtual void RaisePropertyChanged<T>([CallerMemberName] string propertyName = null, T oldValue = default(T), T newValue = default(T))\n    {\n      if (string.IsNullOrEmpty(propertyName))\n        throw new ArgumentException(\"This method cannot be called with an empty string\", \"propertyName\");\n      RaisePropertyChanged(propertyName);\n    }\n    /// <summary>\n    /// Raises the PropertyChanged event if needed, and broadcasts a\n    /// PropertyChangedMessage using the Messenger instance (or the\n    /// static default instance if no Messenger instance is available).\n    /// </summary>\n    /// <typeparam name=\"T\">The type of the property that\n    /// changed.</typeparam>\n    /// <param name=\"propertyExpression\">An expression identifying the property\n    /// that changed.</param>\n    /// <param name=\"oldValue\">The property's value before the change\n    /// occurred.</param>\n    /// <param name=\"newValue\">The property's value after the change\n    /// occurred.</param>\n    public virtual void RaisePropertyChanged<T>(Expression<Func<T>> propertyExpression, T oldValue, T newValue)\n    {\n      RaisePropertyChanged(propertyExpression);\n    }\n    /// <summary>\n    /// Assigns a new value to the property. Then, raises the\n    /// PropertyChanged event if needed, and broadcasts a\n    /// PropertyChangedMessage using the Messenger instance (or the\n    /// static default instance if no Messenger instance is available). \n    /// </summary>\n    /// <typeparam name=\"T\">The type of the property that\n    /// changed.</typeparam>\n    /// <param name=\"propertyExpression\">An expression identifying the property\n    /// that changed.</param>\n    /// <param name=\"field\">The field storing the property's value.</param>\n    /// <param name=\"newValue\">The property's value after the change\n    /// occurred.</param>\n    protected bool Set<T>(Expression<Func<T>> propertyExpression, ref T field, T newValue)\n    {\n      if (EqualityComparer<T>.Default.Equals(field, newValue))\n        return false;\n      RaisePropertyChanging(propertyExpression);\n      T oldValue = field;\n      field = newValue;\n      RaisePropertyChanged(propertyExpression, oldValue, field);\n      return true;\n    }\n    /// <summary>\n    /// Assigns a new value to the property. Then, raises the\n    /// PropertyChanged event if needed, and broadcasts a\n    /// PropertyChangedMessage using the Messenger instance (or the\n    /// static default instance if no Messenger instance is available). \n    /// </summary>\n    /// <typeparam name=\"T\">The type of the property that\n    /// changed.</typeparam>\n    /// <param name=\"propertyName\">The name of the property that\n    /// changed.</param>\n    /// <param name=\"field\">The field storing the property's value.</param>\n    /// <param name=\"newValue\">The property's value after the change\n    /// occurred.</param>\n    protected bool Set<T>(string propertyName, ref T field, T newValue = default(T))\n    {\n      if (EqualityComparer<T>.Default.Equals(field, newValue))\n        return false;\n      RaisePropertyChanging(propertyName);\n      var oldValue = field;\n      field = newValue;\n      RaisePropertyChanged(propertyName, oldValue, field);\n      return true;\n    }\n    /// <summary>\n    /// Extracts the name of a property from an expression.\n    /// </summary>\n    /// <typeparam name=\"T\">The type of the property.</typeparam>\n    /// <param name=\"propertyExpression\">An expression returning the property's name.</param>\n    /// <returns>The name of the property returned by the expression.</returns>\n    /// <exception cref=\"ArgumentNullException\">If the expression is null.</exception>\n    /// <exception cref=\"ArgumentException\">If the expression does not represent a property.</exception>\n    protected static string GetPropertyName<T>(Expression<Func<T>> propertyExpression)\n    {\n      if (propertyExpression == null)\n        throw new ArgumentNullException(\"propertyExpression\");\n      MemberExpression body = propertyExpression.Body as MemberExpression;\n      if (body == null)\n        throw new ArgumentException(\"Invalid argument\", \"propertyExpression\");\n      PropertyInfo property = body.Member as PropertyInfo;\n      if (property == null)\n        throw new ArgumentException(\"Argument is not a property\", \"propertyExpression\");\n      return property.Name;\n    }\n\n  }\n}\n"
  },
  {
    "path": "Networking/ReferenceApplication.Core/MvvmLight/PropertySupport.cs",
    "content": "\n\nusing System;\nusing System.Linq.Expressions;\nusing System.Reflection;\n\nnamespace UAOOI.Networking.ReferenceApplication.Core.MvvmLight\n{\n  ///<summary>\n  /// Provides support for extracting property information based on a property expression.\n  ///</summary>\n  public static class PropertySupport\n  {\n\n    /// <summary>\n    /// Extracts the property name from a property expression.\n    /// </summary>\n    /// <typeparam name=\"T\">The object type containing the property specified in the expression.</typeparam>\n    /// <param name=\"propertyExpression\">The property expression (e.g. p => p.PropertyName)</param>\n    /// <returns>The name of the property.</returns>\n    /// <exception cref=\"ArgumentNullException\">Thrown if the <paramref name=\"propertyExpression\"/> is null.</exception>\n    /// <exception cref=\"ArgumentException\">Thrown when the expression is:<br/>\n    ///     Not a <see cref=\"MemberExpression\"/><br/>\n    ///     The <see cref=\"MemberExpression\"/> does not represent a property.<br/>\n    ///     Or, the property is static.\n    /// </exception>\n    public static string ExtractPropertyName<T>(Expression<Func<T>> propertyExpression)\n    {\n      if (propertyExpression == null)\n        throw new ArgumentNullException(nameof(propertyExpression));\n      return ExtractPropertyNameFromLambda(propertyExpression);\n    }\n    /// <summary>\n    /// Extracts the property name from a LambdaExpression.\n    /// </summary>\n    /// <param name=\"expression\">The LambdaExpression</param>\n    /// <returns>The name of the property.</returns>\n    /// <exception cref=\"ArgumentNullException\">Thrown if the <paramref name=\"expression\"/> is null.</exception>\n    /// <exception cref=\"ArgumentException\">Thrown when the expression is:<br/>\n    ///     The <see cref=\"MemberExpression\"/> does not represent a property.<br/>\n    ///     Or, the property is static.\n    /// </exception>\n    internal static string ExtractPropertyNameFromLambda(LambdaExpression expression)\n    {\n      if (expression == null)\n        throw new ArgumentNullException(nameof(expression));\n      MemberExpression memberExpression = expression.Body as MemberExpression;\n      if (memberExpression == null)\n        throw new ArgumentException(Resources.PropertySupport_NotMemberAccessExpression_Exception, nameof(expression));\n      PropertyInfo property = memberExpression.Member as PropertyInfo;\n      if (property == null)\n        throw new ArgumentException(Resources.PropertySupport_ExpressionNotProperty_Exception, nameof(expression));\n      MethodInfo getMethod = property.GetMethod;\n      if (getMethod.IsStatic)\n        throw new ArgumentException(Resources.PropertySupport_StaticExpression_Exception, nameof(expression));\n      return memberExpression.Member.Name;\n    }\n\n  }\n}\n"
  },
  {
    "path": "Networking/ReferenceApplication.Core/Networking.ReferenceApplication.Core.csproj",
    "content": "<Project Sdk=\"Microsoft.NET.Sdk\">\n\n  <PropertyGroup>\n    <TargetFramework>netstandard2.0</TargetFramework>\n    <AssemblyName>UAOOI.Networking.ReferenceApplication.Core</AssemblyName>\n    <RootNamespace>UAOOI.Networking.ReferenceApplication.Core</RootNamespace>\n    <Version>4.0.1</Version>\n    <SignAssembly>true</SignAssembly>\n    <AssemblyOriginatorKeyFile>OPCUAOOIKey.snk</AssemblyOriginatorKeyFile>\n    <Product>Object Oriented Internet</Product>\n    <Copyright>Copyright MPostol (c) 2018</Copyright>\n    <Company>commsvr.com</Company>\n    <Authors>MPostol</Authors>\n    <PackageLicenseUrl>https://github.com/mpostol/OPC-UA-OOI/blob/master/license.md</PackageLicenseUrl>\n    <PackageProjectUrl>https://commsvr.gitbook.io/ooi</PackageProjectUrl>\n    <RepositoryUrl>https://github.com/mpostol/OPC-UA-OOI</RepositoryUrl>\n    <RepositoryType>OOI Reference Application, Object Oriented Internet, OPC UA, Reactive Networking.</RepositoryType>\n    <Description>This library provides an implementation of a core functionality required by the `ReferenceApplication` and all its components that are helpful in writing well-structured and maintainable applications, including:\n\n- MVVM pattern \n\n- logging</Description>\n    <AssemblyVersion>4.0.1.1</AssemblyVersion>\n  </PropertyGroup>\n\n  <PropertyGroup Condition=\"'$(Configuration)|$(Platform)'=='Debug|AnyCPU'\">\n    <NoWarn>1701;1702;1705;IDE0001;IDE0002;IDE0003</NoWarn>\n  </PropertyGroup>\n\n  <ItemGroup>\n    <PackageReference Include=\"System.ComponentModel.Composition\" Version=\"6.0.0\" />\n  </ItemGroup>\n\n  <ItemGroup>\n    <ProjectReference Include=\"..\\Core\\Networking.Core.csproj\" />\n  </ItemGroup>\n\n</Project>\n"
  },
  {
    "path": "Networking/ReferenceApplication.Core/ProducerViewModel.cs",
    "content": "﻿//___________________________________________________________________________________\n//\n//  Copyright (C) 2018, Mariusz Postol LODZ POLAND.\n//\n//  To be in touch join the community at GITTER: https://gitter.im/mpostol/OPC-UA-OOI\n//___________________________________________________________________________________\n\nusing System;\nusing System.ComponentModel.Composition;\nusing System.Windows.Input;\nusing UAOOI.Networking.ReferenceApplication.Core.MvvmLight;\n\nnamespace UAOOI.Networking.ReferenceApplication.Core\n{\n\n  /// <summary>\n  /// class ProducerViewModel - defines a ViewModel part to be used by the producer to expose diagnostic information on the UI.\n  /// </summary>\n  [Export()]\n  [PartCreationPolicy(CreationPolicy.Shared)]\n  public class ProducerViewModel : ObservableObject\n  {\n\n    #region API\n    /// <summary>\n    /// Initializes a new instance of the <see cref=\"ProducerViewModel\"/> class.\n    /// </summary>\n    public ProducerViewModel()\n    {\n      ProducerRestartCommand = new DelegateCommand(() => { });\n    }\n    /// <summary>\n    /// Gets or sets the producer error message.\n    /// </summary>\n    /// <value>The producer error message.</value>\n    public string ProducerErrorMessage\n    {\n      get\n      {\n        return b_ProducerErrorMessage;\n      }\n      set\n      {\n        b_ProducerErrorMessage = value;\n        RaisePropertyChanged<string>(\"ProducerErrorMessage\", b_ProducerErrorMessage, value);\n      }\n    }\n    /// <summary>\n    /// Gets or sets the producer restart command. While assigned by \n    /// </summary>\n    /// <value>The producer restart command.</value>\n    public ICommand ProducerRestartCommand\n    {\n      get\n      {\n        return b_ProducerRestartCommand;\n      }\n      set\n      {\n        b_ProducerRestartCommand = value;\n        RaisePropertyChanged<ICommand>(\"ProducerRestartCommand\", b_ProducerRestartCommand, value);\n      }\n    }\n    /// <summary>\n    /// Changes the producer command.\n    /// </summary>\n    /// <param name=\"action\">The action to be executed in case of <see cref=\"ProducerViewModel.ProducerRestartCommand\"/> event.</param>\n    public void ChangeProducerCommand(Action action)\n    {\n      ProducerRestartCommand = new DelegateCommand(action);\n    }\n    #endregion\n\n    #region private\n    private string b_ProducerErrorMessage;\n    private ICommand b_ProducerRestartCommand;\n    #endregion\n\n  }\n}"
  },
  {
    "path": "Networking/ReferenceApplication.Core/README.md",
    "content": "# `ReferenceApplication` Utilities\n\n## Getting Started\n\nThe library `UAOOI.Networking.ReferenceApplication.Core` provides an implementation of a core functionality required by the `ReferenceApplication` and all its components that are helpful in writing well-structured and maintainable applications, including:\n\n- MVVM pattern\n- logging\n\n## Current release\n\n> Note; This library is not considered to be published as the NuGet package.\n\n<!--# TBD \n\n> NOTE The rest of document is just template\n\n### Prerequisites\n\nWhat things you need to install the software and how to install them\n\n```\nGive examples\n```\n\n### Installing\n\nA step by step series of examples that tell you how to get a development env running\n\nSay what the step will be\n\n```\nGive the example\n```\n\nAnd repeat\n\n```\nuntil finished\n```\n\nEnd with an example of getting some data out of the system or using it for a little demo\n\n## Running the tests\n\nExplain how to run the automated tests for this system\n\n### Break down into end to end tests\n\nExplain what these tests test and why\n\n```\nGive an example\n```\n\n### And coding style tests\n\nExplain what these tests test and why\n\n```\nGive an example\n```\n\n## Deployment\n\nAdd additional notes about how to deploy this on a live system\n\n## Built With\n\n* [Dropwizard](http://www.dropwizard.io/1.0.2/docs/) - The web framework used\n* [Maven](https://maven.apache.org/) - Dependency Management\n* [ROME](https://rometools.github.io/rome/) - Used to generate RSS Feeds\n\n## Contributing\n\nPlease read [CONTRIBUTING.md](https://gist.github.com/PurpleBooth/b24679402957c63ec426) for details on our code of conduct, and the process for submitting pull requests to us.\n\n## Versioning\n\nWe use [SemVer](http://semver.org/) for versioning. For the versions available, see the [tags on this repository](https://github.com/your/project/tags). \n\n## Authors\n\n* **Billie Thompson** - *Initial work* - [PurpleBooth](https://github.com/PurpleBooth)\n\nSee also the list of [contributors](https://github.com/your/project/contributors) who participated in this project.\n\n## License\n\nThis project is licensed under the MIT License - see the [LICENSE.md](../../LICENSE.md) file for details\n\n## Acknowledgments\n\n* Hat tip to anyone whose code was used\n* Inspiration\n* etc\n\n-->"
  },
  {
    "path": "Networking/SemanticData/Association.cd",
    "content": "﻿<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<ClassDiagram MajorVersion=\"1\" MinorVersion=\"1\">\n  <Class Name=\"UAOOI.Networking.SemanticData.Association\" Collapsed=\"true\">\n    <Position X=\"3.75\" Y=\"7\" Width=\"1.5\" />\n    <TypeIdentifier>\n      <HashCode>AAAAAQAMBAgAAQQEAAAAAEAAAAAEAAAAAEAABAAAQAA=</HashCode>\n      <FileName>Association.cs</FileName>\n    </TypeIdentifier>\n    <Lollipop Position=\"0.2\" />\n  </Class>\n  <Class Name=\"UAOOI.Networking.SemanticData.ConsumerAssociation\" Collapsed=\"true\">\n    <Position X=\"2\" Y=\"8.25\" Width=\"2\" />\n    <TypeIdentifier>\n      <HashCode>AAAAAAAEBAgAAAAAEAAAAAAAAQAEAAAAAAAAAAAoAAA=</HashCode>\n      <FileName>ConsumerAssociation.cs</FileName>\n    </TypeIdentifier>\n  </Class>\n  <Class Name=\"UAOOI.Networking.SemanticData.ProducerAssociation\" Collapsed=\"true\">\n    <Position X=\"4.75\" Y=\"8.25\" Width=\"2\" />\n    <TypeIdentifier>\n      <HashCode>AAAAAAAEBCgAEAAAAGBAAAgICAAEAQABEAAAAgQkAAQ=</HashCode>\n      <FileName>ProducerAssociation.cs</FileName>\n    </TypeIdentifier>\n    <Lollipop Position=\"0.2\" />\n  </Class>\n  <Class Name=\"UAOOI.Networking.SemanticData.AssociationsCollection\" Collapsed=\"true\">\n    <Position X=\"6.75\" Y=\"2.25\" Width=\"1.5\" />\n    <Compartments>\n      <Compartment Name=\"Methods\" Collapsed=\"true\" />\n    </Compartments>\n    <NestedTypes>\n      <Class Name=\"UAOOI.Networking.SemanticData.AssociationsCollection.SemanticData\" Collapsed=\"true\">\n        <TypeIdentifier>\n          <NewMemberFileName>AssociationsCollection.cs</NewMemberFileName>\n        </TypeIdentifier>\n        <Lollipop Position=\"0.2\" />\n      </Class>\n    </NestedTypes>\n    <TypeIdentifier>\n      <HashCode>AAQAAAAAAAgAAQAAAAAAAAAAEAAAAAAAAAAAAAAAAAA=</HashCode>\n      <FileName>AssociationsCollection.cs</FileName>\n    </TypeIdentifier>\n  </Class>\n  <Interface Name=\"UAOOI.Networking.SemanticData.DataRepository.IProducerBinding\" Collapsed=\"true\">\n    <Position X=\"3.25\" Y=\"5.25\" Width=\"2.25\" />\n    <TypeIdentifier>\n      <HashCode>AAAQAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAA=</HashCode>\n      <FileName>DataRepository\\IProducerBinding.cs</FileName>\n    </TypeIdentifier>\n  </Interface>\n  <Interface Name=\"UAOOI.Networking.SemanticData.DataRepository.IConsumerBinding\" Collapsed=\"true\">\n    <Position X=\"3.5\" Y=\"3.25\" Width=\"1.75\" />\n    <TypeIdentifier>\n      <HashCode>AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAA=</HashCode>\n      <FileName>DataRepository\\IConsumerBinding.cs</FileName>\n    </TypeIdentifier>\n  </Interface>\n  <Interface Name=\"UAOOI.Networking.SemanticData.DataRepository.IBinding\" Collapsed=\"true\">\n    <Position X=\"3.75\" Y=\"2\" Width=\"1.5\" />\n    <TypeIdentifier>\n      <HashCode>AAAIAAAARAAAAAAAAAAAAAAAgQAUAAAAAAAAAAAAAAA=</HashCode>\n      <FileName>DataRepository\\IBinding.cs</FileName>\n    </TypeIdentifier>\n  </Interface>\n  <Interface Name=\"System.ComponentModel.INotifyPropertyChanged\" Collapsed=\"true\">\n    <Position X=\"6.5\" Y=\"4\" Width=\"2\" />\n    <TypeIdentifier />\n  </Interface>\n  <Font Name=\"Segoe UI\" Size=\"9\" />\n</ClassDiagram>"
  },
  {
    "path": "Networking/SemanticData/Association.cs",
    "content": "﻿//____________________________________________________________________________\n//\n//  Copyright (C) 2020, Mariusz Postol LODZ POLAND.\n//\n//  To be in touch join the community at GITTER: https://gitter.im/mpostol/OPC-UA-OOI\n//____________________________________________________________________________\n\nusing System;\nusing UAOOI.Configuration.Networking.Serialization;\nusing UAOOI.Networking.Core;\nusing UAOOI.Networking.SemanticData.Common;\nusing UAOOI.Networking.SemanticData.Diagnostics;\nusing UAOOI.Networking.SemanticData.MessageHandling;\n\nnamespace UAOOI.Networking.SemanticData\n{\n  /// <summary>\n  /// Class Association - provides basic implementation of the association between the data set and message centric communication infrastructure.\n  /// It represents configuration and bindings to the external resources.\n  /// </summary>\n  internal abstract class Association : IComparable\n  {\n    #region constructor\n\n    /// <summary>\n    /// Initializes a new instance of the <see cref=\"Association\" /> class.\n    /// The class captures all bindings between the message content and local resources.\n    /// </summary>\n    /// <param name=\"data\">The UA Semantic Data triple representation. It id not used by current implementation.</param>\n    /// <param name=\"aliasName\">A readable alias name for this instance to be used on User Interface.\n    /// Depending on the implementation this name is used to filter packets against the destination.</param>\n    /// <exception cref=\"NullReferenceException\">data argument must not be null\n    /// or\n    /// aliasName argument must not be null</exception>\n    /// <exception cref=\"System.ArgumentOutOfRangeException\">data argument must not be null\n    /// or\n    /// aliasName argument must not be null</exception>\n    /// <remarks>The DataSet has the following identifiers <see cref=\"Association.DataDescriptor\"/></remarks>\n    internal Association(ISemanticData data, string aliasName)\n    {\n      DataDescriptor = data ?? throw new NullReferenceException(\"data argument must not be null\");\n      if (string.IsNullOrEmpty(aliasName))\n        throw new NullReferenceException(\"aliasName argument must not be null\");\n      m_AliasName = aliasName;\n      p_State = new AssociationStateNoConfiguration(this);\n    }\n\n    #endregion constructor\n\n    #region API\n\n    /// <summary>\n    /// Occurs when state of this instance changed.\n    /// </summary>\n    internal event EventHandler<AssociationStateChangedEventArgs> StateChangedEventHandler;\n\n    /// <summary>\n    /// Gets the data descriptor captured by an <see cref=\"ISemanticData\"/> instance.\n    /// </summary>\n    /// <value>The <see cref=\"ISemanticData\"/> instance representing UA Semantic Data triple https://github.com/mpostol/OPC-UA-OOI/blob/master/SemanticData/README.MD. </value>\n    internal ISemanticData DataDescriptor\n    {\n      get;\n      private set;\n    }\n\n    /// <summary>\n    /// Gets the current operational state of this instance\n    /// </summary>\n    /// <value>The state <see cref=\"IAssociationState\"/> of this instance .</value>\n    internal IAssociationState State\n    {\n      get => p_State;\n      private set\n      {\n        p_State = value;\n        RaiseStateChangedEventHandler(new AssociationStateChangedEventArgs(value.State));\n      }\n    }\n\n    /// <summary>\n    /// Initializes this instance.\n    /// </summary>\n    internal void Initialize()\n    {\n      try\n      {\n        InitializeCommunication();\n        State = new AssociationStateDisabled(this);\n      }\n      catch (Exception _ex)\n      {\n        Diagnostics.ReactiveNetworkingEventSource.Log.LogException(nameof(Association), nameof(Initialize), _ex);\n        State = new AssociationStateError(this);\n      }\n    }\n\n    /// <summary>\n    /// Adds the message handler. It must initialize binding between the <see cref=\"IMessageHandler\" /> and the local data resources.\n    /// </summary>\n    /// <remarks>\n    /// The Subscriber may have configured filters (like a PublisherId, DataSetWriterId or a DataSetClassId) so that it can drop all messages that do not match the filter\n    /// </remarks>\n    /// <param name=\"messageHandler\">The message handler.</param>\n    /// <param name=\"configuration\">The configuration.</param>\n    protected internal virtual void AddMessageHandler(IMessageHandler messageHandler, AssociationConfiguration configuration)\n    {\n      //TODO How to configure ProducerId #148\n      DataSetId = new DataSelector() { DataSetWriterId = configuration.DataSetWriterId, PublisherId = configuration.PublisherId };\n    }\n\n    #endregion API\n\n    #region IComparable\n\n    /// <summary>\n    /// Compares the current instance with another object of the same type and returns an integer that indicates whether the current instance precedes, follows, or occurs in the same position in the sort order as the other object.\n    /// </summary>\n    /// <param name=\"obj\">An object to compare with this instance.</param>\n    /// <returns>A value that indicates the relative order of the objects being compared. The return value has these meanings: Value Meaning Less than zero This instance precedes <paramref name=\"obj\" /> in the sort order. Zero This instance occurs in the same position in the sort order as <paramref name=\"obj\" />. Greater than zero This instance follows <paramref name=\"obj\" /> in the sort order.</returns>\n    public int CompareTo(object obj)\n    {\n      return DataDescriptor.Guid.CompareTo(((Association)obj).DataDescriptor.Guid);\n    }\n\n    #endregion IComparable\n\n    #region override Object\n\n    /// <summary>\n    /// Returns a <see cref=\"System.String\" /> that represents this object alias name.\n    /// </summary>\n    /// <returns>A <see cref=\"System.String\" /> that represents this instance alias name.</returns>\n    public override string ToString()\n    {\n      return m_AliasName;\n    }\n\n    #endregion override Object\n\n    #region private\n\n    //class\n    private abstract class AssociationStateBase : IAssociationState\n    {\n      public AssociationStateBase(Association host)\n      {\n        Host = host;\n      }\n\n      public abstract HandlerState State { get; }\n\n      public virtual void Enable()\n      {\n        Host.OnEnabling();\n        Host.State = new AssociationStateOperational(Host);\n      }\n\n      public virtual void Disable()\n      {\n        Host.OnDisabling();\n        Host.State = new AssociationStateDisabled(Host);\n      }\n\n      protected Association Host { get; private set; }\n    }\n\n    private class AssociationStateDisabled : AssociationStateBase\n    {\n      public AssociationStateDisabled(Association host)\n        : base(host)\n      { }\n\n      public override HandlerState State => HandlerState.Disabled;\n\n      public override void Enable()\n      {\n        base.Enable();\n      }\n\n      public override void Disable()\n      {\n        throw new InvalidOperationException(\"Disable call is not allowed in the Disabled state\");\n      }\n    }\n\n    private class AssociationStateOperational : AssociationStateBase\n    {\n      public AssociationStateOperational(Association host)\n        : base(host)\n      { }\n\n      public override HandlerState State => HandlerState.Operational;\n\n      public override void Enable()\n      {\n        throw new InvalidOperationException(\"Enable call is not allowed in the Operational state.\");\n      }\n\n      public override void Disable()\n      {\n        base.Disable();\n      }\n    }\n\n    private class AssociationStateNoConfiguration : AssociationStateBase\n    {\n      public AssociationStateNoConfiguration(Association host)\n        : base(host)\n      { }\n\n      public override HandlerState State => HandlerState.NoConfiguration;\n\n      public override void Enable()\n      {\n        throw new InvalidOperationException(\"Enable call is not allowed in the NoConfiguration state.\");\n      }\n\n      public override void Disable()\n      {\n        throw new InvalidOperationException(\"Disable call is not allowed in the NoConfiguration state.\");\n      }\n    }\n\n    private class AssociationStateError : AssociationStateBase\n    {\n      public AssociationStateError(Association host)\n        : base(host)\n      { }\n\n      public override HandlerState State => HandlerState.Error;\n\n      public override void Enable()\n      {\n        throw new InvalidOperationException(\"Enable call is not allowed in the Error state.\");\n      }\n\n      public override void Disable()\n      {\n        throw new InvalidOperationException(\"Disable call is not allowed in the Error state.\");\n      }\n    }\n\n    //var\n    private IAssociationState p_State = null;\n\n    private readonly string m_AliasName = string.Empty;\n\n    #endregion private\n\n    #region protected\n\n    /// <summary>\n    /// Gets the data set identifier.\n    /// </summary>\n    /// <value>The data set identifier.</value>\n    protected DataSelector DataSetId { get; private set; }\n\n    /// <summary>\n    /// Raises the state changed event handler.\n    /// </summary>\n    /// <param name=\"args\">The <see cref=\"AssociationStateChangedEventArgs\"/> instance containing the event data.</param>\n    protected void RaiseStateChangedEventHandler(AssociationStateChangedEventArgs args)\n    {\n      EventHandler<AssociationStateChangedEventArgs> _locEven = StateChangedEventHandler;\n      if (_locEven == null)\n        return;\n      _locEven(this, args);\n    }\n\n    /// <summary>\n    /// Initializes the communication.\n    /// </summary>\n    protected abstract void InitializeCommunication();\n\n    /// <summary>\n    /// Called when the association is enabling.\n    /// </summary>\n    protected abstract void OnEnabling();\n\n    /// <summary>\n    /// Called when the association is disabling.\n    /// </summary>\n    protected abstract void OnDisabling();\n\n    #endregion protected\n  }\n}"
  },
  {
    "path": "Networking/SemanticData/AssociationsCollection.cs",
    "content": "﻿\nusing System;\nusing System.Collections.Generic;\nusing UAOOI.Configuration.Networking.Serialization;\nusing UAOOI.Networking.SemanticData.Common;\nusing UAOOI.Networking.SemanticData.Diagnostics;\nusing UAOOI.Networking.SemanticData.MessageHandling;\n\nnamespace UAOOI.Networking.SemanticData\n{\n\n  /// <summary>\n  /// Class AssociationsCollection - a dictionary containing all <see cref=\"Association\"/> instances\n  /// </summary>\n  /// <Note>\n  /// Current implementation does not support deletion of the <see cref=\"Association\"/>. If the association is not longer needed call Disable on the <see cref=\"Association.State\"/> object.\n  /// </Note>\n  /// <Note>\n  /// Current implementation does not support handling of the configuration changes.\n  /// </Note>\n  internal class AssociationsCollection : Dictionary<string, Association>\n  {\n\n    #region interna API\n    /// <summary>\n    /// Creates the associations and populates the new dictionary with the associations instances created using the configuration <paramref name=\"configuration\"/>.\n    /// </summary>\n    /// <param name=\"configuration\">The configuration used to populate the collection.</param>\n    /// <param name=\"bindingFactory\">The binding factory responsible to create and return <see cref=\"IBinding\"/> instance for each association.</param>\n    /// <param name=\"encodingFactory\">The encoding factory responsible to updated the created <see cref=\"IBinding\"/> by provisioning all information necessary for encoding/decoding including <see cref=\"IValueConverter\"/>.</param>\n    /// <returns>New dictionary of type <see cref=\"AssociationsCollection\"/>.</returns>\n    /// <exception cref=\"System.ArgumentOutOfRangeException\">Alias; Alias of any <see cref=\"Association\"/> must be unique.</exception>\n    internal static AssociationsCollection CreateAssociations(DataSetConfiguration[] configuration, IBindingFactory bindingFactory, IEncodingFactory encodingFactory)\n    {\n      AssociationsCollection _collection = new AssociationsCollection();\n      Association _newAssociation = null;\n      foreach (DataSetConfiguration _dataSet in configuration)\n      {\n        if (_collection.ContainsKey(_dataSet.AssociationName))\n          throw new ArgumentOutOfRangeException(\"Alias\", \"Alias of any Association must be unique\");\n        SemanticData _newSemanticData = new SemanticData(new Uri(_dataSet.InformationModelURI), _dataSet.DataSymbolicName, null, _dataSet.Id);\n        switch (_dataSet.AssociationRole)\n        {\n          case AssociationRole.Consumer:\n            _newAssociation = new ConsumerAssociation(_newSemanticData, _dataSet, bindingFactory, encodingFactory);\n            break;\n          case AssociationRole.Producer:\n            _newAssociation = new ProducerAssociation(_newSemanticData, _dataSet.AssociationName, _dataSet, bindingFactory, encodingFactory);\n            break;\n          default:\n            break;\n        }\n        _collection.Add(_dataSet.AssociationName, _newAssociation);\n      }\n      return _collection;\n    }\n    /// <summary>\n    /// Adds the message handler to the selected by the <see cref=\"AssociationConfiguration.AssociationName\"/>.\n    /// </summary>\n    /// <param name=\"messageHandler\">The message handler to be associated.</param>\n    /// <param name=\"configuration\">The configuration.</param>\n    /// <remarks>If this dictionary does not contain the <see cref=\"AssociationConfiguration.AssociationName\"/> key the request is skipped - no action is undertaken.</remarks>\n    internal void AddMessageHandler(IMessageHandler messageHandler, AssociationConfiguration configuration)\n    {\n      if (!this.ContainsKey(configuration.AssociationName))\n        return;\n      Association _ass = this[configuration.AssociationName];\n      _ass.AddMessageHandler(messageHandler, configuration);\n    }\n    /// <summary>\n    /// Handles the configuration modifications.\n    /// </summary>\n    /// <param name=\"sender\">The sender of the modification.</param>\n    /// <param name=\"e\">The <see cref=\"EventArgs\"/> instance containing the event data.</param>\n    /// <remarks>\n    /// Limitation: It is intentionally not implemented - it is placeholder for further development in case there need be.\n    /// This handler could be called after recognition of of any modification over the out of bound communication, e.g. OPC UA Client/Server session or configuration file.\n    /// </remarks>\n    /// <exception cref=\"System.NotImplementedException\">It is intentionally not implemented - it is placeholder for further development in case there need be.</exception>\n    internal static void OnConfigurationChangeHandler(object sender, EventArgs e)\n    {\n      throw new NotImplementedException(\"It is intentionally not implemented\");\n    }\n    /// <summary>\n    /// Initializes this instance - initializes and enables all the object in this collection. \n    /// </summary>\n    internal void Initialize()\n    {\n      foreach (Association _ax in this.Values)\n      {\n        try\n        {\n          _ax.Initialize();\n          _ax.State.Enable();\n        }\n        catch (Exception _ex)\n        {\n          Diagnostics.ReactiveNetworkingEventSource.Log.LogException(nameof(AssociationsCollection), nameof(Initialize), _ex);\n          throw;\n        }\n      };\n    }\n    #endregion\n\n    #region private\n    /// <summary>\n    /// Class SemanticData - private implementation of the <see cref=\"ISemanticData\"/>\n    /// </summary>\n    //TODO consider internal implementation\n    private class SemanticData : ISemanticData\n    {\n      public SemanticData(Uri identifier, string symbolicName, IComparable nodeId, Guid guid)\n      {\n        Identifier = identifier;\n        SymbolicName = symbolicName;\n        NodeId = NodeId;\n        Guid = guid;\n      }\n      public Uri Identifier\n      {\n        get;\n        private set;\n      }\n      public string SymbolicName\n      {\n        get;\n        private set;\n      }\n      public IComparable NodeId\n      {\n        get;\n        private set;\n      }\n      public Guid Guid\n      {\n        get;\n        private set;\n      }\n    }\n    private AssociationsCollection() { }\n    #endregion\n\n  }\n\n}\n"
  },
  {
    "path": "Networking/SemanticData/Common/AssociationStateChangedEventArgs.cs",
    "content": "﻿//____________________________________________________________________________\n//\n//  Copyright (C) 2019, Mariusz Postol LODZ POLAND.\n//\n//  To be in touch join the community at GITTER: https://gitter.im/mpostol/OPC-UA-OOI\n//____________________________________________________________________________\n\nusing System;\nusing UAOOI.Networking.Core;\n\nnamespace UAOOI.Networking.SemanticData.Common\n{\n  /// <summary>\n  /// Class AssociationStateChangedEventArgs represents the class containing event data representing current configurable object state <see cref=\"HandlerState\"/>.\n  /// </summary>\n  public class AssociationStateChangedEventArgs : EventArgs\n  {\n    /// <summary>\n    /// Initializes a new instance of the <see cref=\"AssociationStateChangedEventArgs\"/> class.\n    /// </summary>\n    /// <param name=\"state\">The state of the configurable object state <see cref=\"HandlerState\"/>.</param>\n    public AssociationStateChangedEventArgs(HandlerState state)\n    {\n      State = state;\n    }\n    /// <summary>\n    /// Gets current state of the configurable object.\n    /// </summary>\n    /// <value>The state <see cref=\"HandlerState\"/>.</value>\n    public HandlerState State { get; private set; }\n  }\n}\n"
  },
  {
    "path": "Networking/SemanticData/Common/IDataUniqueIdentifier.cs",
    "content": "﻿\nusing System;\n\nnamespace UAOOI.Networking.SemanticData.Common\n{\n  /// <summary>\n  /// Class IDataUniqueIdentifier - instance of this interface provides globally unique identifier (GUID) of the data. \n  /// </summary>\n  public interface IDataUniqueIdentifier\n  {\n\n    /// <summary>\n    /// Gets the globally unique identifier (GUID) of the data set.\n    /// </summary>\n    /// <value>The globally unique identifier of the data set as a collection of values.</value>\n    Guid Guid { get; }\n\n  }\n\n}\n"
  },
  {
    "path": "Networking/SemanticData/Common/ISemanticData.cs",
    "content": "﻿\nusing System;\n\nnamespace UAOOI.Networking.SemanticData.Common\n{\n\n  /// <summary>\n  /// Interface ISemanticData - represents a data item conforming to the UA Semantic Data paradigm. \n  /// </summary>\n  public interface ISemanticData : IDataUniqueIdentifier\n  {\n\n    /// <summary>\n    /// Gets the global unique identifier of the Information Model providing definition of the \n    /// Semantic Data as an object representation a uniform resource identifier <see cref=\"Uri\"/>.\n    /// </summary>\n    ///<remarks>\n    /// Using the URI as a standard for global identifiers allows for a worldwide reference for any data defined by the OPC UA Information Model. \n    /// This means that we can tell when any two applications anywhere in the world are referring to the same data.\n    /// Using URI, therefore, we can introduce the notion of the global data identity. The data identity allows creation of variety of dictionaries collecting \n    /// supplementary information independently and outside of the server Address Space context.\n    ///</remarks>\n    /// <value>An object of <see cref=\"Uri\"/> capturing the global unique identifier of this data instance.</value>\n    Uri Identifier { get; }\n    /// <summary>\n    /// Gets the symbolic name of the instance node that is root of hierarchy of nodes creating the Semantic Data.\n    /// </summary>\n    /// <remarks>\n    /// <para>\n    /// The symbolic name of each node is its <c>BrowseName</c>, or, when it is part of another node, the <c>BrowseName</c> of the other node, a \"_\", and the <c>BrowseName</c> of itself. \n    /// \"Part of” means that the whole has a <c>HasProperty</c> or <c>HasComponent</c> reference to its part. Since all nodes not being part of another node have a unique name, the symbolic name is unique.\n    /// </para>\n    /// <note>\n    /// Root element must not be an instance declaration.\n    /// </note>\n    /// </remarks>\n    /// <value>The <see cref=\"string\"/> representing the symbolic name of the root instance node.</value>\n    string SymbolicName { get; }\n    /// <summary>\n    /// Stores an identifier for a node in a server's address space.\n    /// </summary>\n    /// <remarks>\n    /// <para>\n    /// <b>Please refer to OPC Specifications</b>:\n    /// <list type=\"bullet\">\n    /// <item><b>Address Space Model</b> section <b>8.2</b></item>\n    /// <item><b>Address Space Model</b> section <b>5.2.2</b></item>\n    /// </list>\n    /// </para>\n    /// <para>\n    /// Stores the id of a Node, which resides within the server's address space.\n    /// <br/></para>\n    /// <para>\n    /// The NodeId can be either:\n    /// <list type=\"bullet\">\n    /// <item><see cref=\"uint\"/></item>\n    /// <item><see cref=\"Guid\"/></item>\n    /// <item><see cref=\"string\"/></item>\n    /// <item><see cref=\"byte\"/>[]</item>\n    /// </list>\n    /// <br/></para>\n    /// <note>\n    /// <b>Important:</b> Keep in mind that the NodeId should be unique such that no two nodes within an address-space share the same value.\n    /// </note>\n    /// <para>\n    /// In the Address Space of the server the NodeId can be assigned to a particular namespace index. The assumption is\n    /// that the host of this object will manage that directly using the <see cref=\"ISemanticData.Identifier\"/>.\n    /// <br/></para>\n    /// </remarks>\n    IComparable NodeId { get; }\n\n  }\n\n}\n"
  },
  {
    "path": "Networking/SemanticData/ConsumerAssociation.cs",
    "content": "﻿//____________________________________________________________________________\n//\n//  Copyright (C) 2019, Mariusz Postol LODZ POLAND.\n//\n//  To be in touch join the community at GITTER: https://gitter.im/mpostol/OPC-UA-OOI\n//____________________________________________________________________________\n\nusing System;\nusing System.Linq;\nusing UAOOI.Networking.SemanticData.DataRepository;\nusing UAOOI.Networking.SemanticData.MessageHandling;\nusing UAOOI.Configuration.Networking.Serialization;\nusing UAOOI.Networking.SemanticData.Common;\nusing UAOOI.Networking.Core;\n\nnamespace UAOOI.Networking.SemanticData\n{\n\n  /// <summary>\n  /// Class ConsumerAssociation - implements the association for the consumer side.\n  /// </summary>\n  internal class ConsumerAssociation : Association\n  {\n\n    #region constructors\n    /// <summary>\n    /// Initializes a new instance of the <see cref=\"ConsumerAssociation\" /> class.\n    /// </summary>\n    /// <param name=\"data\">The data.</param>\n    /// <param name=\"dataSet\">The members.</param>\n    /// <param name=\"bindingFactory\">The binding factory.</param>\n    /// <param name=\"encodingFactory\">The encoding factory.</param>\n    internal ConsumerAssociation(ISemanticData data, DataSetConfiguration dataSet, IBindingFactory bindingFactory, IEncodingFactory encodingFactory) :\n      base(data, dataSet.AssociationName)\n    {\n      m_DataSetBindings = dataSet.DataSet.Select<FieldMetaData, IConsumerBinding>(x => x.GetConsumerBinding4DataMember(dataSet.RepositoryGroup, bindingFactory, encodingFactory)).ToArray<IConsumerBinding>();\n    }\n    #endregion\n\n    #region API\n    internal void AddMessageReader(IMessageReader messageReader)\n    {\n      if (messageReader == null)\n        throw new ArgumentNullException(\"messageReader\");\n      messageReader.ReadMessageCompleted += MessageHandler;\n    }\n    internal void RemoveMessageReader(IMessageReader messageReader)\n    {\n      if (messageReader == null)\n        throw new ArgumentNullException(\"messageReader\");\n      messageReader.ReadMessageCompleted -= MessageHandler;\n    }\n    #endregion\n\n    #region Association\n    protected override void InitializeCommunication()\n    {\n      //Do nothing;\n    }\n    protected internal override void AddMessageHandler(IMessageHandler messageHandler, AssociationConfiguration configuration)\n    {\n      base.AddMessageHandler(messageHandler, configuration);\n      AddMessageReader(messageHandler as IMessageReader);\n    }\n    protected override void OnEnabling()\n    {\n      foreach (IBinding _va in m_DataSetBindings)\n        _va.OnEnabling();\n    }\n    protected override void OnDisabling()\n    {\n      foreach (IBinding _va in m_DataSetBindings)\n        _va.OnDisabling();\n    }\n    #endregion\n\n    #region private\n    private IConsumerBinding[] m_DataSetBindings = null;\n    private void MessageHandler(object sender, MessageEventArg messageArg)\n    {\n      //TODO ConsumerAssociation - skip message if not operational #133\n      if (this.State.State != HandlerState.Operational)\n        return;\n      //TODO Skip message if no one is interested to process it #135\n      //TODO How to configure ProducerId #148\n      if ((messageArg.DataSetId) != DataSetId.DataSetWriterId || (messageArg.ProducerId != DataSetId.PublisherId))\n        return;\n      messageArg.MessageContent.UpdateMyValues(x => m_DataSetBindings[x], m_DataSetBindings.Length);\n    }\n    #endregion\n\n  }\n\n}\n"
  },
  {
    "path": "Networking/SemanticData/DataManagementSetup.cs",
    "content": "﻿//___________________________________________________________________________________\n//\n//  Copyright (C) 2018, Mariusz Postol LODZ POLAND.\n//\n//  To be in touch join the community at GITTER: https://gitter.im/mpostol/OPC-UA-OOI\n//___________________________________________________________________________________\n\nusing System;\nusing UAOOI.Configuration.Networking;\nusing UAOOI.Configuration.Networking.Serialization;\nusing UAOOI.Networking.SemanticData.MessageHandling;\nusing UAOOI.Networking.SemanticData.Diagnostics;\nusing UAOOI.Networking.Core;\n\nnamespace UAOOI.Networking.SemanticData\n{\n\n  /// <summary>\n  /// Class DataManagementSetup - it is place holder to gather all external injection points used to initialize \n  /// the communication and bind to local resources.\n  /// </summary>\n  public abstract class DataManagementSetup : IDisposable\n  {\n\n    #region Injection points\n    /// <summary>\n    /// Gets or sets the binding factory.\n    /// </summary>\n    /// <value>The binding factory.</value>\n    public IBindingFactory BindingFactory { get; set; }\n    /// <summary>\n    /// Gets or sets the encoding factory.\n    /// </summary>\n    /// <value>The encoding factory.</value>\n    public IEncodingFactory EncodingFactory { get; set; }\n    /// <summary>\n    /// Gets or sets the message handler factory.\n    /// </summary>\n    /// <value>The message handler factory.</value>\n    public IMessageHandlerFactory MessageHandlerFactory { get; set; }\n    /// <summary>\n    /// Gets or sets the configuration factory.\n    /// </summary>\n    /// <value>The configuration factory.</value>\n    public IConfigurationFactory ConfigurationFactory { get; set; }\n    #endregion\n\n    #region Internal control entry points\n    /// <summary>\n    /// Gets the associations collection.\n    /// </summary>\n    /// <value>The associations collection.</value>\n    internal AssociationsCollection AssociationsCollection { get; private set; }\n    /// <summary>\n    /// Gets the message handlers collection.\n    /// </summary>\n    /// <value>The message handlers collection.</value>\n    internal MessageHandlersCollection MessageHandlersCollection { get; private set; }\n    #endregion\n\n    #region private\n    /// <summary>\n    /// Starts this instance - Initializes the data set infrastructure, enable all associations and starts pumping the data;\n    /// </summary>\n    /// <exception cref=\"System.ArgumentNullException\">\n    /// BindingFactory\n    /// or\n    /// EncodingFactory\n    /// or\n    /// MessageHandlerFactory\n    /// or\n    /// ConfigurationFactory\n    /// </exception>\n    protected void Start()\n    {\n      try\n      {\n        Initialize();\n        Run();\n      }\n      catch (Exception _ex)\n      {\n        Diagnostics.ReactiveNetworkingEventSource.Log.LogException(nameof(DataManagementSetup), nameof(Start), _ex);\n        throw;\n      }\n    }\n    /// <summary>\n    /// Initializes the data set infrastructure.\n    /// </summary>\n    private void Initialize()\n    {\n      if (BindingFactory == null)\n        throw new ArgumentNullException(nameof(BindingFactory));\n      if (EncodingFactory == null)\n        throw new ArgumentNullException(nameof(EncodingFactory));\n      if (MessageHandlerFactory == null)\n        throw new ArgumentNullException(nameof(MessageHandlerFactory));\n      if (ConfigurationFactory == null)\n        throw new ArgumentNullException(nameof(ConfigurationFactory));\n      DisposeMessageHandlersCollection();\n      ConfigurationData _configuration = ConfigurationFactory.GetConfiguration();\n      AssociationsCollection = AssociationsCollection.CreateAssociations(_configuration.DataSets, BindingFactory, EncodingFactory);\n      ConfigurationFactory.OnAssociationConfigurationChange += AssociationsCollection.OnConfigurationChangeHandler;\n      MessageHandlersCollection = MessageHandlersCollection.CreateMessageHandlers(_configuration.MessageHandlers, MessageHandlerFactory, EncodingFactory, AssociationsCollection.AddMessageHandler);\n      ConfigurationFactory.OnMessageHandlerConfigurationChange += MessageHandlersCollection.OnConfigurationChangeHandler;\n    }\n    /// <summary>\n    /// Initialize and enable all associations ans start pumping the data \n    /// </summary>\n    private void Run()\n    {\n      if (AssociationsCollection == null)\n        throw new ArgumentNullException(nameof(AssociationsCollection));\n      if (MessageHandlersCollection == null)\n        throw new ArgumentNullException(nameof(MessageHandlersCollection));\n      this.AssociationsCollection.Initialize();\n      this.MessageHandlersCollection.Run();\n    }\n    #endregion\n\n    #region IDisposable Support\n    private bool disposedValue = false; // To detect redundant calls\n    protected virtual void Dispose(bool disposing)\n    {\n      if (disposedValue)\n        return;\n      if (disposing)\n      {\n        DisposeMessageHandlersCollection();\n      }\n      // TODO: free unmanaged resources (unmanaged objects) and override a finalizer below.\n      // TODO: set large fields to null.\n      disposedValue = true;\n    }\n    private void DisposeMessageHandlersCollection()\n    {\n      if (MessageHandlersCollection == null)\n        return;\n      foreach (IMessageHandler _handler in MessageHandlersCollection.Values)\n        _handler.Dispose();\n      MessageHandlersCollection = null; //to make sure no one will use them anymore.\n    }\n    // This code added to correctly implement the disposable pattern.\n    public void Dispose()\n    {\n      // Do not change this code. Put cleanup code in Dispose(bool disposing) above.\n      Dispose(true);\n    }\n    #endregion\n\n  }\n}\n"
  },
  {
    "path": "Networking/SemanticData/DataMemberConfiguration.helpers.cs",
    "content": "﻿using UAOOI.Networking.SemanticData.DataRepository;\nusing UAOOI.Configuration.Networking.Serialization;\n\nnamespace UAOOI.Networking.SemanticData\n{\n  internal static class DataMemberConfigurationHelpers\n  {\n    /// <summary>\n    /// Gets the <see cref=\"IConsumerBinding\" /> instance for data member.\n    /// </summary>\n    /// <param name=\"member\">The field description captured by object of type <see cref=\"FieldMetaData\"/>.</param>\n    /// <param name=\"repositoryGroup\">The repository group.</param>\n    /// <param name=\"bindingFactory\">The binding factory.</param>\n    /// <param name=\"encodingFactory\">The encoding factory.</param>\n    /// <returns>An instance of <see cref=\"IConsumerBinding\" /> type.</returns>\n    internal static IConsumerBinding GetConsumerBinding4DataMember(this FieldMetaData member, string repositoryGroup, IBindingFactory bindingFactory, IEncodingFactory encodingFactory)\n    {\n      IConsumerBinding _binding = bindingFactory.GetConsumerBinding(repositoryGroup, member.ProcessValueName, member.TypeInformation);\n      encodingFactory.UpdateValueConverter(_binding, repositoryGroup, member.TypeInformation);\n      return _binding;\n    }\n    /// <summary>\n    /// Gets the consumer binding for data member.\n    /// </summary>\n    /// <param name=\"member\">The field description captured bu object of type <see cref=\"FieldMetaData\"/> .</param>\n    /// <param name=\"repositoryGroup\">The repository group.</param>\n    /// <param name=\"bindingFactory\">The binding factory.</param>\n    /// <param name=\"encodingFactory\">The encoding factory.</param>\n    /// <returns>An instance of <see cref=\"IProducerBinding\" /> type.</returns>\n    internal static IProducerBinding GetProducerBinding4DataMember(this FieldMetaData member, string repositoryGroup, IBindingFactory bindingFactory, IEncodingFactory encodingFactory)\n    {\n      IProducerBinding _binding = bindingFactory.GetProducerBinding(repositoryGroup, member.ProcessValueName, member.TypeInformation);\n      encodingFactory.UpdateValueConverter(_binding, repositoryGroup, member.TypeInformation);\n      return _binding;\n    }\n\n  }\n}\n"
  },
  {
    "path": "Networking/SemanticData/DataRepository/Binding.cs",
    "content": "﻿//____________________________________________________________________________\n//\n//  Copyright (C) 2019, Mariusz Postol LODZ POLAND.\n//\n//  To be in touch join the community at GITTER: https://gitter.im/mpostol/OPC-UA-OOI\n//____________________________________________________________________________\n\nusing System;\nusing System.Globalization;\nusing UAOOI.Configuration.Networking.Serialization;\nusing UAOOI.Networking.Core;\nusing UAOOI.Networking.SemanticData.Common;\n\nnamespace UAOOI.Networking.SemanticData.DataRepository\n{\n\n  /// <summary>\n  /// Class Binding - a generic implementation of the <see cref=\"IBinding\"/> interface. \n  /// The instance of this class is used to update a destination variable by an owner of this object.\n  /// It captures an association targeted a variable that is to be updated by the user of this instance.\n  /// It is assumed that the repository implements the <see cref=\"IBindingFactory\"/> interface and is the factory of this instance.\n  /// </summary>\n  public class Binding : IBinding\n  {\n\n    #region constructor\n    /// <summary>\n    /// Initializes a new instance of the <see cref=\"Binding\" /> class.\n    /// </summary>\n    /// <param name=\"encoding\">The <see cref=\"BuiltInType\"/>of the message field encoding.</param>\n    public Binding(UATypeInfo encoding)\n    {\n      m_MessageEncoding = encoding;\n    }\n    #endregion\n\n    #region IBinding\n    /// <summary>\n    /// Gets the type of the message field encoding.\n    /// </summary>\n    /// <value>The <see cref=\"BuiltInType\" />of the message field encoding.</value>\n    public UATypeInfo Encoding { get { return m_MessageEncoding; } }\n    /// <summary>\n    /// Sets the converter, which is used to provide a way to apply custom logic to a binding.\n    /// </summary>\n    /// <value>The converter as an instance of the <see cref=\"IValueConverter\" />.</value>\n    IValueConverter IBinding.Converter { set { Converter = value; } }\n    /// <summary>\n    /// Gets or sets an optional parameter to be used in the converter logic or serialization process.\n    /// </summary>\n    /// <value>The parameter to be used by the <see cref=\"IBinding.Converter\" /> or by serialization process.</value>\n    object IBinding.Parameter\n    {\n      set { Parameter = value; }\n      get { return Parameter; }\n    }\n    Object IBinding.FallbackValue { set { FallbackValue = value; } }\n    /// <summary>\n    /// Sets the culture of the conversion.\n    /// </summary>\n    /// <value>The culture as an instance of the <see cref=\"CultureInfo\" /> to be used by the <see cref=\"IBinding.Converter\" />.</value>\n    CultureInfo IBinding.Culture\n    {\n      set { Culture = value; }\n    }\n    /// <summary>\n    /// Marks the process value enabled - signal that the update of the value is expected.\n    /// </summary>\n    void IBinding.OnEnabling()\n    {\n      RaiseHandlerState(HandlerState.Operational);\n    }\n    /// <summary>\n    /// Marks the process value disabled - signal that the value will not be updated.\n    /// </summary>\n    void IBinding.OnDisabling()\n    {\n      RaiseHandlerState(HandlerState.Disabled);\n    }\n    #endregion\n\n    #region public API\n    /// <summary>\n    /// Occurs when state changes].\n    /// </summary>\n    public event EventHandler<AssociationStateChangedEventArgs> StateChangedEventHandler;\n    #endregion\n\n    #region private\n    private readonly UATypeInfo m_MessageEncoding = null;\n    /// <summary>\n    /// Sets the converter, which is used to provide a way to apply custom logic to a binding.\n    /// </summary>\n    /// <value>The converter as an instance of the <see cref=\"IValueConverter\" />.</value>\n    protected IValueConverter Converter { get; private set; } = null;\n    /// <summary>\n    /// Gets the culture.\n    /// </summary>\n    /// <value>The culture.</value>\n    protected CultureInfo Culture { get; private set; } = null;\n    /// <summary>\n    /// Sets an optional parameter to be used in the converter logic.\n    /// </summary>\n    /// <value>The parameter to be used by the <see cref=\"IBinding.Converter\" />.</value>\n    protected object Parameter { get; private set; } = null;\n    /// <summary>\n    /// Sets the value to use when the binding is unable to return a value.\n    /// </summary>\n    /// <value>The fallback value.</value>\n    protected object FallbackValue { get; private set; }\n    private void RaiseHandlerState(HandlerState state)\n    {\n      StateChangedEventHandler?.Invoke(this, new AssociationStateChangedEventArgs(state));\n    }\n    #endregion\n\n  }\n\n}\n"
  },
  {
    "path": "Networking/SemanticData/DataRepository/ConsumerBinding.cs",
    "content": "﻿\nusing System;\nusing UAOOI.Configuration.Networking.Serialization;\n\nnamespace UAOOI.Networking.SemanticData.DataRepository\n{\n\n  /// <summary>\n  /// Class ConsumerBinding - provide a basic implementation of the <see cref=\"IConsumerBinding\" /> interface.\n  /// It is an helper class to construct an object used by the consumer to save the data in the data repository.\n  /// </summary>\n  /// <typeparam name=\"type\">The type of the type.</typeparam>\n  public class ConsumerBinding<type> : Binding, IConsumerBinding\n  {\n\n    /// <summary>\n    /// Initializes a new instance of the <see cref=\"ConsumerBinding{type}\" /> class.\n    /// </summary>\n    /// <param name=\"assign\">Captures a delegate used to assign new value to local resources.</param>\n    /// <param name=\"encoding\">The <see cref=\"UATypeInfo\"/> of the message field encoding.</param>\n    public ConsumerBinding(Action<type> assign, UATypeInfo encoding) : base(encoding)\n    {\n      AssignValueToRepository = assign;\n    }\n\n    #region IConsumerBinding\n    /// <summary>\n    /// Assigns the <paramref name=\"value\" /> to the associated variable hosted by the target repository.\n    /// </summary>\n    /// <param name=\"value\">The value to be assigned to the precess variable.</param>\n    void IConsumerBinding.Assign2Repository(object value)\n    {\n      if (this.Converter == null)\n        AssignValueToRepository((type)value);\n      else\n        AssignValueToRepository((type)Converter.Convert(value, typeof(type), FallbackValue, Parameter, Culture));\n    }\n    #endregion\n\n    #region private\n    /// <summary>\n    /// Gets or sets the assign value to repository delegate.\n    /// </summary>\n    /// <value>The assign value to repository.</value>\n    protected virtual Action<type> AssignValueToRepository { set; get; }\n    /// <summary>\n    /// Initializes a new instance of the <see cref=\"ConsumerBinding{type}\"/> class.\n    /// </summary>\n    /// <param name=\"encoding\">The <see cref=\"UATypeInfo\"/>of the message field encoding.</param>\n    protected ConsumerBinding(UATypeInfo encoding)\n      : this(x => { }, encoding)\n    { }\n    #endregion\n\n  }\n}\n"
  },
  {
    "path": "Networking/SemanticData/DataRepository/ConsumerBindingMonitoredValue.cs",
    "content": "﻿//___________________________________________________________________________________\n//\n//  Copyright (C) 2018, Mariusz Postol LODZ POLAND.\n//\n//  To be in touch join the community at GITTER: https://gitter.im/mpostol/OPC-UA-OOI\n//___________________________________________________________________________________\n\nusing System;\nusing System.Collections.Generic;\nusing System.ComponentModel;\nusing System.Linq;\nusing UAOOI.Configuration.Networking.Serialization;\n\nnamespace UAOOI.Networking.SemanticData.DataRepository\n{\n  /// <summary>\n  /// Class ConsumerBindingMonitoredValue. This class cannot be inherited.\n  /// It is helper class that implements a property ready to be used in the ViewModel class according to the MVVM pattern.\n  /// The view model is an abstraction of the view that exposes public properties and commands.\n  /// </summary>\n  /// <typeparam name=\"type\">The type of property value.</typeparam>\n  public sealed class ConsumerBindingMonitoredValue<type> : ConsumerBinding<type>, INotifyPropertyChanged\n  {\n\n    #region Model View ViewModel implementation\n    /// <summary>\n    /// Gets or sets the value. It is value holder to be used in the ViewModel class according to the MVVM pattern. \n    /// The view model is an abstraction of the view that exposes public properties and commands.\n    /// </summary>\n    /// <value>The value.</value>\n    public type Value\n    {\n      get\n      {\n        return b_Value;\n      }\n      set\n      {\n        PropertyChanged.RaiseHandler<type>(value, ref b_Value, \"Value\", this);\n      }\n    }\n    #endregion\n\n    #region INotifyPropertyChanged\n    /// <summary>\n    /// Occurs when a property value changes. It is required for the ViewModel class according to the MVVM pattern. \n    /// The view model is an abstraction of the view that exposes public properties and commands.\n    /// </summary>\n    public event PropertyChangedEventHandler PropertyChanged;\n    #endregion\n\n    #region creator\n    /// <summary>\n    /// Initializes a new instance of the <see cref=\"ConsumerBindingMonitoredValue{type}\" /> class.\n    /// It is used if the GetActionDelegate of teh base class is overridden.\n    /// </summary>\n    public ConsumerBindingMonitoredValue(UATypeInfo targetType)\n      : base(targetType)\n    { }\n    /// <summary>\n    /// Gets or sets the get a delegate encapsulating operation called to assign new value to the destination variable by the binding machine.\n    /// </summary>\n    /// <value>The get action delegate.</value>\n    protected override Action<type> AssignValueToRepository\n    {\n      get\n      {\n        return x => Value = x;\n      }\n      set\n      {\n        base.AssignValueToRepository = value;\n      }\n    }\n    #endregion\n\n    #region override object\n    /// <summary>\n    /// Returns a <see cref=\"System.String\" /> that represents this instance.\n    /// </summary>\n    /// <returns>A <see cref=\"System.String\" /> that represents this instance.</returns>\n    public override string ToString()\n    {\n      string _ret = string.Empty;\n      if (Encoding.ValueRank < 0)\n        _ret = ToString(Encoding.BuiltInType, Value);\n      else\n      {\n        Array _value = (Array)(object)Value;\n        string _rankString = $\"Rank={_value.Rank}\";\n        List<string> _valuesString = new List<string>();\n        int _index = 0;\n        foreach (object _item in _value)\n        {\n          _valuesString.Add(_item.ToString());\n          _index++;\n          if (_index >= 80)\n            break;\n        }\n        string _values = $\"Values [{String.Join(\", \", _valuesString.ToArray())}]\";\n        _ret = $\"Array {_rankString} {_values}\";\n      }\n      return _ret;\n    }\n    #endregion\n\n    #region private\n    private type b_Value;\n    private string ToString(BuiltInType encoding, type value)\n    {\n      switch (encoding)\n      {\n        case BuiltInType.Null:\n        case BuiltInType.Boolean:\n        case BuiltInType.SByte:\n        case BuiltInType.Byte:\n        case BuiltInType.Int16:\n        case BuiltInType.UInt16:\n        case BuiltInType.Int32:\n        case BuiltInType.UInt32:\n        case BuiltInType.Int64:\n        case BuiltInType.UInt64:\n        case BuiltInType.Float:\n        case BuiltInType.Double:\n        case BuiltInType.String:\n        case BuiltInType.DateTime:\n        case BuiltInType.Guid:\n        case BuiltInType.XmlElement:\n        case BuiltInType.NodeId:\n        case BuiltInType.ExpandedNodeId:\n        case BuiltInType.StatusCode:\n        case BuiltInType.QualifiedName:\n        case BuiltInType.LocalizedText:\n        case BuiltInType.ExtensionObject:\n        case BuiltInType.DataValue:\n        case BuiltInType.Variant:\n        case BuiltInType.DiagnosticInfo:\n        case BuiltInType.Enumeration:\n          return value.ToString();\n        case BuiltInType.ByteString:\n          byte[] _value = (byte[])(object)value;\n          return $\"[{String.Join(\", \", new ArraySegment<byte>(_value, 0, Math.Min(_value.Length, 80)).Select<byte, string>(x => x.ToString(\"X\")).ToArray<string>())}]\";\n      }\n      return base.ToString();\n    }\n    #endregion\n\n  }\n}\n"
  },
  {
    "path": "Networking/SemanticData/DataRepository/Extensions.cs",
    "content": "﻿\nusing System;\nusing System.ComponentModel;\n\nnamespace UAOOI.Networking.SemanticData.DataRepository\n{\n  /// <summary>\n  /// Class Extensions - provides a set of static helper methods for this library.\n  /// </summary>\n  internal static class Extensions\n  {\n\n    /// <summary>\n    /// Extension method that sets a new value in a variable and then executes the event handler if the new value\n    /// differs from the old one.  Used to easily implement <see cref=\"INotifyPropertyChanged\"/>.\n    /// </summary>\n    /// <typeparam name=\"T\">The type of values being handled by the property.</typeparam>\n    /// <param name=\"handler\">The event handler to execute in the event of actual value change.</param>\n    /// <param name=\"newValue\">The new value to set.</param>\n    /// <param name=\"oldValue\">The old value to replace (and the value holder).</param>\n    /// <param name=\"propertyName\">The property's name as required by <see cref=\"PropertyChangedEventArgs\"/>.</param>\n    /// <param name=\"sender\">The object to be appointed as the executioner of the handler.</param>\n    /// <returns>A boolean value that indicates if the new value was truly different from the old value according to <see cref=\"Object.Equals(object, object)\"/>.</returns>\n    public static bool RaiseHandler<T>(this PropertyChangedEventHandler handler, T newValue, ref T oldValue, string propertyName, object sender)\n    {\n      bool changed = !Object.Equals(oldValue, newValue);\n      if (changed)\n      {\n        //Save the new value. \n        oldValue = newValue;\n        //Raise the event \n        handler?.Invoke(sender, new PropertyChangedEventArgs(propertyName));\n      }\n      //Signal what happened. \n      return changed;\n    }\n    /// <summary>\n    /// Increment the <see cref=\"ushort\"/> with the roll over.\n    /// </summary>\n    /// <param name=\"value\">The value to be incremented.</param>\n    /// <returns>The incremented value.</returns>\n    internal static ushort IncRollOver(this ushort value)\n    {\n      if (value == ushort.MaxValue)\n        return 0;\n      else\n        return ++value;\n    }\n  }\n\n}\n"
  },
  {
    "path": "Networking/SemanticData/DataRepository/IBinding.cs",
    "content": "﻿\nusing System.Globalization;\nusing UAOOI.Configuration.Networking.Serialization;\n\nnamespace UAOOI.Networking.SemanticData.DataRepository\n{\n\n  /// <summary>\n  /// Interface IBinding is used to update a destination variable by an owner of this object.\n  /// It captures an association targeted a variable that is to be updated and all information required to convert the value to be compliant with the target type.\n  /// The owner of this object is responsible to provide converter an an instance of <see cref=\"IValueConverter\"/> and required by it information.\n  /// </summary>\n  //TODO Networking.SemanticData dependency on Networking.Encoding should be removed #323: IBinding\n  public interface IBinding\n  {\n    /// <summary>\n    /// Sets the converter, which is used to provide a way to apply custom logic to a binding.\n    /// </summary>\n    /// <value>The converter as an instance of the <see cref=\"IValueConverter\"/>.</value>\n    IValueConverter Converter { set; }\n    /// <summary>\n    /// Gets the type of the message field encoding.\n    /// </summary>\n    /// <value>The <see cref=\"UATypeInfo\"/>of the message field encoding.</value>\n    UATypeInfo Encoding { get; }\n    /// <summary>\n    /// Sets an optional parameter to be used in the converter logic.\n    /// </summary>\n    /// <value>The parameter to be used by the <see cref=\"IBinding.Converter\"/>.</value>\n    object Parameter { get; set; }\n    /// <summary>\n    /// Sets the value to use when the binding is unable to return a value.\n    /// </summary>\n    /// <value>The fallback value.</value>\n    object FallbackValue { set; }\n    /// <summary>\n    /// Sets the culture of the conversion.\n    /// </summary>\n    /// <value>The culture as an instance of the <see cref=\"CultureInfo\"/> to be used by the <see cref=\"IBinding.Converter\"/>.</value>\n    CultureInfo Culture { set; }\n    /// <summary>\n    /// Marks the process value enabled - signal that the update of the value is expected.\n    /// </summary>\n    void OnEnabling();\n    /// <summary>\n    /// Marks the process value disabled - signal that the value will not be updated.\n    /// </summary>\n    void OnDisabling();\n  }\n\n}\n"
  },
  {
    "path": "Networking/SemanticData/DataRepository/IConsumerBinding.cs",
    "content": "﻿\nnamespace UAOOI.Networking.SemanticData.DataRepository\n{\n  /// <summary>\n  /// Interface IConsumerBinding - provide a basic implementation of the <see cref=\"IProducerBinding\"/> interface.\n  /// It is used by the consumer to save the data in the data repository.\n  /// </summary>\n  public interface IConsumerBinding: IBinding\n  {\n\n    /// <summary>\n    /// Assigns the <paramref name=\"value\"/> to the associated variable hosted by the target repository.\n    /// </summary>\n    /// <param name=\"value\">The value to be assigned to the associated variable hosted by the target repository.</param>\n    void Assign2Repository(object value);\n\n  }\n}\n"
  },
  {
    "path": "Networking/SemanticData/DataRepository/IProducerBinding.cs",
    "content": "﻿\nusing System.ComponentModel;\n\nnamespace UAOOI.Networking.SemanticData.DataRepository\n{\n  \n  /// <summary>\n  /// Interface IProducerBinding - provide a definition of an object to be used by the producer to get data from data repository.\n  /// </summary>\n  public interface IProducerBinding : IBinding, INotifyPropertyChanged\n  {\n    \n    /// <summary>\n    /// Gets a value indicating whether the new value is available in the repository.\n    /// </summary>\n    /// <value><c>true</c> if the new value is available in repository; otherwise, <c>false</c>.</value>\n    bool NewValue { get; }\n    /// <summary>\n    /// Gets the new value and resets the flag <see cref=\"IProducerBinding.NewValue\"/>.\n    /// </summary>\n    /// <returns>Current value in the repository <see cref=\"System.Object\"/>.</returns>\n    object GetFromRepository();\n  \n  }\n}\n"
  },
  {
    "path": "Networking/SemanticData/DataRepository/IValueConverter.cs",
    "content": "﻿\nusing System.Globalization;\nusing System;\n\nnamespace UAOOI.Networking.SemanticData.DataRepository\n{\n\n  /// <summary>\n  /// Interface IValueConverter: provides a way to apply custom logic to a binding.\n  /// </summary>\n  /// <typeparam name=\"targetType\">The type of the binding target property.</typeparam>\n  /// <typeparam name=\"sourceType\">The type of the source type.</typeparam>\n  /// <typeparam name=\"parameterType\">The type of the parameter type.</typeparam>\n  /// <remarks>\n  /// If you want to associate a value converter with a binding, create a class that implements the <c>IValueConverter</c> interface and then implement the Convert methods. \n  /// Converters can change data from one type to another, translate data based on cultural information, or modify other aspects of the presentation. \n  /// Value converters are culture aware. Both the <c>Convert</c> methods have a culture parameter that indicates the cultural information. \n  /// If cultural information is irrelevant to the conversion, then you can ignore that parameter in your custom converter.\n  /// The <c>Convert</c> methods also have a parameter called <c>parameter</c> so that you can use the same instance of the converter with different parameters. \n  /// For example, you can write a formatting converter that produces different formats of data based on the input parameter that you use. \n  /// </remarks>\n  //TODO Networking.SemanticData dependency on Networking.Encoding should be removed #323: IValueConverter\n  public interface IValueConverter\n  {\n\n    /// <summary>\n    /// Converts the specified value.\n    /// </summary>\n    /// <param name=\"value\">The value produced by the binding source.</param>\n    /// <param name=\"fallBack\">The value to use when the binding is unable to return a value.</param>\n    /// <param name=\"parameter\">The converter parameter to use.</param>\n    /// <param name=\"culture\">The culture to use in the converter.</param>\n    /// <returns>A converted value.</returns>\n    /// <remarks>\n    /// The data binding engine calls this method when it propagates a value from the binding source to the binding target.\n    /// The data binding engine does not catch exceptions that are thrown by a user-supplied converter. Any exception that is thrown by the method, or any uncaught exceptions\n    /// that are thrown by methods that the <c>Convert</c> method calls, are treated as run-time errors.\n    /// </remarks>\n    object Convert(object value, Type targetType, object fallBack, object parameter, CultureInfo culture);\n\n    //TODO Networking.SemanticData dependency on Networking.Encoding should be removed #323: Review empty comment\n    ///// <summary>\n    ///// Converts the specified value.\n    ///// </summary>\n    ///// <param name=\"value\">The value produced by the binding target.</param>\n    ///// <param name=\"fallBack\">The value to use when the binding is unable to return a value.</param>\n    ///// <param name=\"parameter\">The converter parameter to use.</param>\n    ///// <param name=\"culture\">The culture to use in the converter.</param>\n    ///// <returns>A converted value.</returns>\n    ///// <remarks>\n    ///// The data binding engine calls this method when it propagates a value from the binding target to the binding source.\n    ///// The implementation of this method must be the inverse of the overloaded <c>Convert</c> method.\n    ///// The data binding engine does not catch exceptions that are thrown by a user supplied converter. Any exception that is thrown by the method, or any uncaught exceptions that are \n    ///// thrown by methods that the method calls, are treated as run-time errors. \n    //    sourceType Convert(targetType value, targetType fallBack, parameterType parameter, CultureInfo culture);\n\n  }\n}\n"
  },
  {
    "path": "Networking/SemanticData/DataRepository/ProducerBinding.cs",
    "content": "﻿\nusing System;\nusing System.ComponentModel;\nusing UAOOI.Configuration.Networking.Serialization;\n\nnamespace UAOOI.Networking.SemanticData.DataRepository\n{\n  /// <summary>\n  /// Class ProducerBinding - provides a basic implementation of the <see cref=\"IProducerBinding\"/> interface.\n  /// It is used by the producer to get data from data repository.\n  /// </summary>\n  /// <typeparam name=\"type\">The type of the object in the repository.</typeparam>\n  public class ProducerBinding<type> : Binding, IProducerBinding\n  {\n\n    #region constructor\n    /// <summary>\n    /// Initializes a new instance of the <see cref=\"ProducerBinding{type}\" /> class.\n    /// </summary>\n    /// <param name=\"valueName\">Name of the \"repository group\" and \"variable\" separated by \".\"</param>\n    /// <param name=\"targetType\">Type of the target.</param>\n    /// <remarks>The <see cref=\"ProducerBinding{type}.GetReadValueDelegate\" /> that captures a delegate used to assign new value to local variable in the data repository.</remarks>\n    protected ProducerBinding(string valueName, UATypeInfo targetType) : this(valueName, () => default(type), targetType ) { }\n    /// <summary>\n    /// Initializes a new instance of the <see cref=\"ProducerBinding{type}\" /> class.\n    /// </summary>\n    /// <param name=\"valueName\">Name of the variable in the repository that is placeholder of the value.</param>\n    /// <param name=\"getValue\">Captures a delegate used to assign new value to local resources.</param>\n    /// <param name=\"targetType\">Type of the target.</param>\n    public ProducerBinding(string valueName, Func<type> getValue, UATypeInfo targetType) : base(targetType)\n    {\n      GetReadValueDelegate = getValue;\n      m_VariableName = valueName;\n    }\n    #endregion\n\n    #region IProducerBinding\n    /// <summary>\n    /// Gets a value indicating whether the new value is available in the repository.\n    /// </summary>\n    /// <value><c>true</c> if the new value is available in repository; otherwise, <c>false</c>.</value>\n    bool IProducerBinding.NewValue\n    {\n      get\n      {\n        return b_NewValue;\n      }\n    }\n    /// <summary>\n    /// Gets the new value and resets the flag <see cref=\"IProducerBinding.NewValue\" />.\n    /// </summary>\n    /// <returns>Current value in the repository <see cref=\"System.Object\" />.</returns>\n    object IProducerBinding.GetFromRepository()\n    {\n      b_NewValue = false;\n      if (this.Converter == null)\n        return GetReadValueDelegate();\n      else\n        return Converter.Convert(GetReadValueDelegate(), typeof(type), FallbackValue, Parameter, Culture);\n    }\n    /// <summary>\n    /// Occurs when a property value changes.\n    /// </summary>\n    public event PropertyChangedEventHandler PropertyChanged;\n    #endregion\n\n    #region API\n    /// <summary>\n    /// Must be called by the repository logic to signal that the new value is available in the repository.\n    /// </summary>\n    public void OnNewValue()\n    {\n      PropertyChanged.RaiseHandler<bool>(true, ref b_NewValue, m_VariableName, this);\n    }\n    #endregion\n\n    #region private\n    /// <summary>\n    /// Gets the delegate implementing functionality to read value from repository delegate.\n    /// </summary>\n    /// <value>The <see cref=\"Func{type}\"/> delegate used to read value from repository.</value>\n    protected virtual Func<type> GetReadValueDelegate { private set; get; }\n    private bool b_NewValue;\n    private readonly string m_VariableName;\n    #endregion\n\n  }\n}\n"
  },
  {
    "path": "Networking/SemanticData/DataRepository/ProducerBindingMonitoredValue.cs",
    "content": "﻿\nusing System;\nusing UAOOI.Configuration.Networking.Serialization;\n\nnamespace UAOOI.Networking.SemanticData.DataRepository\n{\n\n  /// <summary>\n  /// Class ProducerBindingMonitoredValue - it implements the <see cref=\"ProducerBinding{type}\"/> as a placeholder of the value to send over the network by the producer.\n  /// </summary>\n  /// <typeparam name=\"type\">The type of the object in the repository.</typeparam>\n  public sealed class ProducerBindingMonitoredValue<type> : ProducerBinding<type>\n  {\n    /// <summary>\n    /// Initializes a new instance of the <see cref=\"ProducerBinding{type}\" /> class.\n    /// </summary>\n    /// <param name=\"valueName\">Name of the \"repository group\" and \"variable\" separated by \".\"</param>\n    /// <param name=\"targetType\">Type of the target.</param>\n    /// <remarks>The <see cref=\"ProducerBinding{type}.GetReadValueDelegate\" /> that captures a delegate used to assign new value to local variable in the data repository.</remarks>\n    public ProducerBindingMonitoredValue(string valueName, UATypeInfo targetType)\n      : base(valueName, targetType)\n    { }\n    /// <summary>\n    /// Gets or sets the monitored value - it is placeholder of the variable in the repository.\n    /// </summary>\n    /// <value>The monitored value.</value>\n    public type MonitoredValue\n    {\n      get\n      {\n        return b_MyProperty;\n      }\n      set\n      {\n        if (Equals(b_MyProperty, value))\n          return;\n        b_MyProperty = value;\n        OnNewValue();\n      }\n    }\n\n    /// <summary>\n    /// Gets the delegate implementing functionality to read value from repository delegate.\n    /// </summary>\n    /// <value>The <see cref=\"Func{type}\" /> delegate used to read value from repository.</value>\n    protected override Func<type> GetReadValueDelegate\n    {\n      get\n      {\n        return () => MonitoredValue;\n      }\n    }\n    private type b_MyProperty;\n\n  }\n\n}\n\n\n"
  },
  {
    "path": "Networking/SemanticData/Diagnostics/NetworkingEventSourceProvider.cs",
    "content": "﻿//____________________________________________________________________________\n//\n//  Copyright (C) 2020, Mariusz Postol LODZ POLAND.\n//\n//  To be in touch join the community at GITTER: https://gitter.im/mpostol/OPC-UA-OOI\n//____________________________________________________________________________\n\nusing System.ComponentModel.Composition;\nusing System.Diagnostics.Tracing;\nusing UAOOI.Networking.Core;\n\nnamespace UAOOI.Networking.SemanticData.Diagnostics\n{\n  /// <summary>\n  /// Class NetworkingEventSourceProvider - gets access to an instance of <see cref=\"EventSource\"/> to be registered by the logging infrastructure.\n  /// </summary>\n  /// <seealso cref=\"INetworkingEventSourceProvider\" />\n  [Export(typeof(INetworkingEventSourceProvider))]\n  public class NetworkingEventSourceProvider : INetworkingEventSourceProvider\n  {\n    /// <summary>\n    /// Gets the part event source.\n    /// </summary>\n    /// <returns>Returns an instance of <see cref=\"EventSource\" />.</returns>\n    public EventSource GetPartEventSource()\n    {\n      return ReactiveNetworkingEventSource.Log;\n    }\n  }\n}"
  },
  {
    "path": "Networking/SemanticData/Diagnostics/ReactiveNetworkingEventSource.cs",
    "content": "﻿\nusing System.Diagnostics.Tracing;\n\nnamespace UAOOI.Networking.SemanticData.Diagnostics\n{\n  [EventSource(Name = \"UAOOI-Networking-SemanticData-Diagnostics\", Guid = \"C8666C20-6FEF-4DD0-BB66-5807BA629DA8\")]\n  public class ReactiveNetworkingEventSource : EventSource\n  {\n    ///// <summary>\n    ///// Class Keywords - defines the local keywords (flags) that apply to events.\n    ///// </summary>\n    //internal class Keywords\n    //{\n    //  //public const EventKeywords Package = (EventKeywords)1;\n    //  public const EventKeywords Diagnostic2 = (EventKeywords)2;\n    //  //public const EventKeywords Performance = (EventKeywords)3;\n    //}\n    /// <summary>\n    /// Class Tasks.\n    /// </summary>\n    public class Tasks\n    {\n      public const EventTask Consumer = (EventTask)1;\n      public const EventTask Producer = (EventTask)2;\n      public const EventTask Stack = (EventTask)3;\n      public const EventTask Infrastructure = (EventTask)4;\n      public const EventTask CodeBehavior = (EventTask)5;\n    }\n    /// <summary>\n    /// Gets the log - implements singleton of the <see cref=\"ReactiveNetworkingEventSource\"/>.\n    /// </summary>\n    /// <value>The log.</value>\n    internal static ReactiveNetworkingEventSource Log { get; } = new ReactiveNetworkingEventSource();\n\n    [Event(1, Message = \"At {0}.{1} encountered application failure: {2}\", Opcode = EventOpcode.Info, Task = Tasks.CodeBehavior, Level = EventLevel.Error/*, Keywords = Keywords.Diagnostic*/)]\n    public void Failure(string className, string methodName, string problem)\n    {\n      WriteEvent(1, className, methodName, problem);\n    }\n    //[Event(2, Message = \"Starting up.\", Keywords = Keywords.Performance, Level = EventLevel.Informational)]\n    //internal void Startup()\n    //{\n    //  this.WriteEvent(2);\n    //}\n    //[Event(3, Message = \"Entering method {0}.{1}\", Opcode = EventOpcode.Start, Task = EventTask.None, Keywords = Keywords.Performance, Level = EventLevel.Informational)]\n    //internal void EnteringMethod(string className, string methodName)\n    //{\n    //  if (this.IsEnabled()) this.WriteEvent(3, className, methodName);\n    //}\n    [Event(4, Message = \"Unexpected end of message while reading {0} element.\", Channel = EventChannel.Operational, Opcode = EventOpcode.Info, Task = Tasks.Consumer, Level = EventLevel.Warning)]//)]Keywords = (EventKeywords)1500,\n    internal void MessageInconsistency(int position)\n    {\n      this.WriteEvent(4, position);\n    }\n    private ReactiveNetworkingEventSource() { }\n  }\n}\n"
  },
  {
    "path": "Networking/SemanticData/Diagnostics/ReactiveNetworkingEventSourceExtensions.cs",
    "content": "﻿\nusing System;\n\nnamespace UAOOI.Networking.SemanticData.Diagnostics\n{\n  internal static class ReactiveNetworkingEventSourceExtensions\n  {\n    /// <summary>\n    /// Logs the exception using <see cref=\"ReactiveNetworkingEventSource\" />.\n    /// </summary>\n    /// <param name=\"eventSource\">The event source source to be used for problem reporting.</param>\n    /// <param name=\"className\">Name of the class.</param>\n    /// <param name=\"methodName\">Name of the method.</param>\n    /// <param name=\"e\">The exception to be reported.</param>\n    internal static void LogException(this ReactiveNetworkingEventSource eventSource, string className, string methodName, Exception e)\n    {\n      Exception _exception = e;\n      string _innerText = \"An exception has benn caught:\";\n      while (e != null)\n      {\n        eventSource.Failure(className, methodName, $\"{_innerText} of type {_exception.GetType().Name} capturing the message: {e.Message}\");\n        e = e.InnerException;\n        _innerText = \"It contains inner exception:\";\n      }\n    }\n\n  }\n}\n"
  },
  {
    "path": "Networking/SemanticData/Encoding/CommonDefinitions.cs",
    "content": "﻿using System;\n\nnamespace UAOOI.Networking.SemanticData.Encoding\n{\n\n  internal static class CommonDefinitions\n  {\n    /// <summary>\n    /// The time base DateTime to calculate ticks sent over wire for UA binary representation.\n    /// </summary>\n    public static readonly DateTime TimeBase = new DateTime(1601, 1, 1); //\n    public static readonly DateTime TimeBaseMaxValue = new DateTime(9999, 12, 31, 23, 59, 59); //\n    /// <summary>\n    /// Decode the UA date and time form ticks.\n    /// </summary>\n    /// <param name=\"ticks\">The ticks as defined in <see cref=\"DateTime\"/>.</param>\n    /// <returns>Decoded from the stream <see cref=\"DateTime\"/>.</returns>\n    internal static DateTime GetUADateTime(this Int64 ticks)\n    {\n      if (ticks == Int64.MaxValue)\n        return TimeBaseMaxValue;\n      if (ticks >= (Int64.MaxValue - TimeBase.Ticks))\n        return TimeBaseMaxValue;\n      ticks += TimeBase.Ticks;\n      if (ticks >= DateTime.MaxValue.Ticks)\n        return DateTime.MaxValue;\n      if (ticks < TimeBase.Ticks)\n        return DateTime.MinValue;\n      return new DateTime(ticks, DateTimeKind.Utc);\n    }\n    /// <summary>\n    /// Encode the UA <see cref=\"DateTime\"/> as ticks is relation to <see cref=\"TimeBase\"/>.\n    /// </summary>\n    /// <param name=\"value\">The value to be encoded.</param>\n    /// <returns>Returns ticks as defined in <see cref=\"DateTime\"/>.</returns>\n    internal static Int64 GetUADataTimeTicks(this DateTime value)\n    {\n      if (value.Kind == DateTimeKind.Local)\n        value = value.ToUniversalTime();\n      long _ticks = value.Ticks;\n      if (_ticks >= TimeBaseMaxValue.Ticks)\n        _ticks = Int64.MaxValue;\n      else\n      {\n        _ticks -= TimeBase.Ticks;\n        if (_ticks <= 0)\n          _ticks = 0;\n      }\n      return _ticks;\n    }\n    /// <summary>\n    /// Reads the <see cref=\"Guid\"/> form a buffer using <see cref=\"IBinaryDecoder\"/>.\n    /// </summary>\n    /// <param name=\"decoder\">The decoder to be used to recover data from a buffer.</param>\n    /// <returns>Guid.</returns>\n    internal static Guid ReadGuid(this IBinaryDecoder decoder)\n    {\n      int m_EncodedGuidLength = 16;\n      byte[] bytes = decoder.ReadBytes(m_EncodedGuidLength);\n      return new Guid(bytes);\n    }\n\n  }\n\n}\n"
  },
  {
    "path": "Networking/SemanticData/Encoding/IBinaryDecoder.cs",
    "content": "﻿\nusing System;\n\nnamespace UAOOI.Networking.SemanticData.Encoding\n{\n  /// <summary>\n  /// Interface IBinaryDecoder - instance of this interface is used to decode the message and package headers content using binary encoding.\n  /// </summary>\n  public interface IBinaryDecoder\n  {\n    /// <summary>\n    /// Reads the next byte from the current stream and advances the current position of the stream by one byte.\n    /// </summary>\n    /// <returns>The next <see cref=\"System.Byte\"/> read from the current stream.</returns>\n    byte ReadByte();\n    int ReadInt32();\n    bool ReadBoolean();\n    sbyte ReadSByte();\n    short ReadInt16();\n    ushort ReadUInt16();\n    uint ReadUInt32();\n    long ReadInt64();\n    ulong ReadUInt64();\n    float ReadSingle();\n    double ReadDouble();\n    byte[] ReadBytes(int count);\n    Guid ReadGuid();\n    DateTime ReadDateTime();\n\n  }\n}\n"
  },
  {
    "path": "Networking/SemanticData/Encoding/IBinaryEncoder.cs",
    "content": "﻿\nusing System;\n\nnamespace UAOOI.Networking.SemanticData.Encoding\n{\n\n  /// <summary>\n  /// Interface IBinaryDecoder - instance of this interface is used to decode the message and package headers content using binary encoding.\n  /// </summary>\n  public interface IBinaryEncoder\n  {\n    /// <summary>\n    /// Writes the next byte from the current stream and advances the current position of the stream by one byte.\n    /// </summary>\n    /// <param name=\"value\">The value.</param>\n    /// <returns>The next <see cref=\"System.Byte\" /> Write from the current stream.</returns>\n    void Write(byte value);\n    /// <summary>\n    ///  Writes a four-byte signed integer to the current stream and advances the stream position by four bytes.\n    /// </summary>\n    /// <param name=\"value\">he four-byte signed integer to write.</param>\n    /// <exception cref=\"System.IO.IOException\">An I/O error occurs.</exception>\n    /// <exception cref=\"System.ObjectDisposedException\">The stream is closed.</exception>\n    void Write(int value);\n    void Write(bool value);\n    void Write(sbyte value);\n    void Write(short value);\n    void Write(ushort value);\n    void Write(uint value);\n    void Write(long value);\n    void Write(ulong value);\n    void Write(float value);\n    void Write(double value);\n    /// <summary>\n    /// Writes the <see cref=\"Guid\"/> from UA Binary encoded as a 16-element byte array that contains the value and advances the stream position by 16 bytes.<see cref=\"System.IO.Stream\"/>.\n    /// </summary>\n    /// <returns>The <see cref=\"Guid\"/> object encoded from the message.</returns>\n    void Write(Guid value);\n    void Write(byte[] value);\n    void Write(DateTime value);\n  }\n}\n"
  },
  {
    "path": "Networking/SemanticData/Encoding/IDataValue.cs",
    "content": "﻿namespace UAOOI.Networking.SemanticData.Encoding\n{\n\n  /// <summary>\n  /// Interface DataValue - A class that stores the value of variable with an optional status code and timestamps.\n  /// </summary>\n  public interface IDataValue\n  {\n\n    /// <summary>\n    /// Gets the value.\n    /// </summary>\n    /// <value>The value.</value>\n    IVariant Value { get; }\n    /// <summary>\n    /// Gets the status code.\n    /// </summary>\n    /// <value>The status code associated with the value..</value>\n    IStatusCode StatusCode { get; }\n    /// <summary>\n    /// Gets the source timestamp.\n    /// </summary>\n    /// <value>The source timestamp associated with the value..</value>\n    System.DateTime? SourceTimestamp { get; }\n    /// <summary>\n    /// Gets the source picoseconds - additional resolution for the source timestamp.\n    /// </summary>\n    /// <value>The source picoseconds.</value>\n    ushort SourcePicoseconds { get; }\n    /// <summary>\n    /// Gets the server timestamp.\n    /// </summary>\n    /// <value>The server timestamp.</value>\n    System.DateTime? ServerTimestamp { get; }\n    /// <summary>\n    /// Gets the server picoseconds - additional resolution for the server timestamp.\n    /// </summary>\n    /// <value>The server picoseconds.</value>\n    ushort ServerPicoseconds { get; }\n\n  }\n}\n"
  },
  {
    "path": "Networking/SemanticData/Encoding/IDiagnosticInfo.cs",
    "content": "﻿\nnamespace UAOOI.Networking.SemanticData.Encoding\n{\n  /// <summary>\n  /// Class DiagnosticInfo - A <see cref=\"IDiagnosticInfo\"/> structure is described in Part 4. \n  /// </summary>\n  public interface IDiagnosticInfo\n  {\n\n    /// <summary>\n    /// The index of the symbolic id in the string table.\n    /// </summary>\n    /// <remarks>\n    /// The index of the symbolic id in the string table.\n    /// </remarks>\n    int? SymbolicId { get; }\n    /// <summary>\n    /// The index of the namespace uri in the string table.\n    /// </summary>\n    /// <remarks>\n    /// The index of the namespace uri in the string table.\n    /// </remarks>\n    int? NamespaceUri { get; }\n    /// <summary>\n    /// The index of the locale associated with the localized text.\n    /// </summary>\n    int? Locale { get; }\n    /// <summary>\n    /// The index of the localized text in the string table.\n    /// </summary>\n    int? LocalizedText { get; }\n    /// <summary>\n    /// The additional debugging or trace information.\n    /// </summary>\n    /// <remarks>\n    /// The additional debugging or trace information.\n    /// </remarks>\n    string AdditionalInfo { get; }\n    /// <summary>\n    /// The status code returned from an underlying system.\n    /// </summary>\n    /// <remarks>\n    /// The status code returned from an underlying system.\n    /// </remarks>\n    IStatusCode InnerStatusCode { get; }\n    /// <summary>\n    /// The diagnostic info returned from a underlying system.\n    /// </summary>\n    /// <remarks>\n    /// The diagnostic info returned from a underlying system.\n    /// </remarks>\n    IDiagnosticInfo InnerDiagnosticInfo { get; }\n\n  }\n}\n"
  },
  {
    "path": "Networking/SemanticData/Encoding/IExpandedNodeId.cs",
    "content": "﻿namespace UAOOI.Networking.SemanticData.Encoding\n{\n  /// <summary>\n  /// Interface ExpandedNodeId - extends a node id by adding a complete namespace URI.\n  /// </summary>\n  public interface IExpandedNodeId\n  {\n    /// <summary>\n    /// Gets the node identifier.\n    /// </summary>\n    /// <value>The node identifier formatted as a URI.</value>\n    string Identifier { get; }\n\n  }\n}\n"
  },
  {
    "path": "Networking/SemanticData/Encoding/IExtensionObject.cs",
    "content": "﻿\nusing System.Xml;\n\nnamespace UAOOI.Networking.SemanticData.Encoding\n{\n  /// <summary>\n  /// Interface ExtensionObject - An object used to wrap data types that the receiver may not understand.\n  /// </summary>\n  public interface IExtensionObject\n  {\n\n    /// <summary>\n    /// Gets the type identifier.\n    /// </summary>\n    /// <value>The type identifier.</value>\n    IExpandedNodeId TypeId { get; }\n    /// <summary>\n    /// Gets the body object embedded in the extension object.\n    /// </summary>\n    /// <value>The body of the <see cref=\"IExtensionObject\"/>.</value>\n    XmlElement Body { get; }\n\n  }\n}\n"
  },
  {
    "path": "Networking/SemanticData/Encoding/ILocalizedText.cs",
    "content": "﻿\nnamespace UAOOI.Networking.SemanticData.Encoding\n{\n  /// <summary>\n  /// Interface ILocalizedText - human readable qualified with a locale.\n  /// </summary>\n  public interface ILocalizedText\n  {\n\n    /// <summary>\n    /// Gets the locale used to create the text.\n    /// </summary>\n    /// <value>The locale.</value>\n    string Locale { get; }\n    /// <summary>\n    /// Gets the localized text.\n    /// </summary>\n    /// <value>The localized text.</value>\n    string Text { get; }\n\n  }\n}\n"
  },
  {
    "path": "Networking/SemanticData/Encoding/INodeId.cs",
    "content": "﻿namespace UAOOI.Networking.SemanticData.Encoding\n{\n\n  /// <summary>\n  /// Interface NodeId - if implemented Stores an identifier for a node in a server's address space.\n  /// </summary>\n  public interface INodeId\n  {\n    /// <summary>\n    /// The node identifier formatted as a URI.\n    /// </summary>\n    /// <remarks>\n    /// The node identifier formatted as a URI.\n    /// </remarks>\n    string Identifier { get; }\n\n  }\n}\n"
  },
  {
    "path": "Networking/SemanticData/Encoding/IQualifiedName.cs",
    "content": "﻿namespace UAOOI.Networking.SemanticData.Encoding\n{\n  /// <summary>\n  /// Interface QualifiedName - if implemented represents a name qualified with a namespace.\n  /// </summary>\n  public interface IQualifiedName\n  {\n\n    /// <summary>\n    /// Gets the index of the namespace.\n    /// </summary>\n    /// <value>The index of the namespace that qualifies the name.</value>\n    ushort? NamespaceIndex { get; }\n    /// <summary>\n    /// Gets the unqualified name.\n    /// </summary>\n    /// <value>The unqualified name.</value>\n    string Name { get; }\n\n  }\n}\n"
  },
  {
    "path": "Networking/SemanticData/Encoding/IStatusCode.cs",
    "content": "﻿\nnamespace UAOOI.Networking.SemanticData.Encoding\n{\n  \n  /// <summary>\n  /// Class StatusCode - if implemented represents a numeric code that describes the result of a service or operation.\n  /// </summary>\n  public interface IStatusCode\n  {\n\n    /// <summary>\n    /// Gets the code of status.\n    /// </summary>\n    /// <value>The code - a numeric code that describes the result of a service or operation.</value>\n    uint Code { get;  }\n\n  }\n\n}\n"
  },
  {
    "path": "Networking/SemanticData/Encoding/IUADecoder.cs",
    "content": "﻿\nusing System;\nusing System.Xml;\nusing UAOOI.Configuration.Networking.Serialization;\n\nnamespace UAOOI.Networking.SemanticData.Encoding\n{\n\n  /// <summary>\n  /// Interface IUADecoder - if implemented provides methods to be used to decode OPC UA Built-in types using provided decoder implementing the <see cref=\"IBinaryDecoder\"/> interface.\n  /// </summary>\n  public interface IUADecoder\n  {\n    /// <summary>\n    /// Reads the <see cref=\"Guid\"/> from UA Binary encoded as a 16-element byte array that contains the value and advances the input message position by 16 bytes.\n    /// </summary>\n    /// <param name=\"decoder\">The decoder <see cref=\"IBinaryDecoder\"/> to be used to read form the stream.</param>\n    /// <returns>The <see cref=\"Guid\"/> decoded from the input message.</returns>\n    Guid ReadGuid(IBinaryDecoder decoder);\n    /// <summary>\n    /// Reads the <see cref=\"DateTime\"/> from UA binary encoded stream of bytes as <see cref=\"Int64\"/> that contains the value and advances the stream position by 8 bytes.\n    /// </summary>\n    /// <param name=\"decoder\">The decoder <see cref=\"IBinaryDecoder\"/> to be used to read form the stream.</param>\n    /// <returns>The <see cref=\"DateTime \"/> decoded from the UA binary stream of bytes.</returns>\n    DateTime ReadDateTime(IBinaryDecoder decoder);\n    /// <summary>\n    /// Reads the string of <see cref=\"System.Byte\"/> from UA Binary encoded as a 16-element byte array that contains the value.\n    /// </summary>\n    /// <param name=\"decoder\">The decoder <see cref=\"IBinaryDecoder\"/> to be used to read form the stream.</param>\n    /// <returns>The <see cref=\"System.Byte\"/> array decoded from the UA binary stream of bytes.</returns>\n    byte[] ReadByteString(IBinaryDecoder decoder);\n    /// <summary>\n    /// Reads the <see cref=\"string\"/> from UA binary encoded stream of bytes encoded as a sequence of UTF8 characters without a null terminator and preceded by the length in bytes.\n    /// The length in bytes is encoded as Int32. A value of −1 is used to indicate a ‘null’ string.\n    /// </summary>\n    /// <param name=\"decoder\">The decoder <see cref=\"IBinaryDecoder\"/> to be used to read form the stream.</param>\n    /// <returns>The <see cref=\"string\"/> decoded from the UA binary stream of bytes.</returns>\n    string ReadString(IBinaryDecoder decoder);\n    /// <summary>\n    /// Reads an instance of <see cref=\"IDataValue\"/> from UA Binary encoded stream.\n    /// </summary>\n    /// <param name=\"decoder\">The decoder <see cref=\"IBinaryDecoder\"/> to be used to read form the stream.</param>\n    /// <returns>The <see cref=\"IDataValue\"/> decoded from the UA binary stream of bytes.</returns>\n    IDataValue ReadDataValue(IBinaryDecoder decoder);\n    /// <summary>\n    /// Reads an instance of <see cref=\"IDiagnosticInfo\"/> from UA Binary encoded stream.\n    /// </summary>\n    /// <param name=\"decoder\">The decoder <see cref=\"IBinaryDecoder\"/> to be used to read form the stream.</param>\n    /// <returns>The <see cref=\"IDiagnosticInfo\"/> decoded from the UA binary stream of bytes.</returns>\n    IDiagnosticInfo ReadDiagnosticInfo(IBinaryDecoder decoder);\n    /// <summary>\n    /// Reads an instance of <see cref=\"IExpandedNodeId\"/> from UA Binary encoded stream.\n    /// </summary>\n    /// <param name=\"decoder\">The decoder <see cref=\"IBinaryDecoder\"/> to be used to read form the stream.</param>\n    /// <returns>The <see cref=\"IExpandedNodeId\"/> decoded from the UA binary stream of bytes.</returns>\n    IExpandedNodeId ReadExpandedNodeId(IBinaryDecoder decoder);\n    /// <summary>\n    /// Reads an instance of <see cref=\"IExtensionObject\"/> from UA Binary encoded stream.\n    /// </summary>\n    /// <param name=\"decoder\">The decoder <see cref=\"IBinaryDecoder\"/> to be used to read form the stream.</param>\n    /// <returns>The <see cref=\"IExtensionObject\"/> decoded from the UA binary stream of bytes.</returns>\n    IExtensionObject ReadExtensionObject(IBinaryDecoder decoder);\n    /// <summary>\n    /// Reads an instance of <see cref=\"ILocalizedText\"/> from UA Binary encoded stream.\n    /// </summary>\n    /// <param name=\"decoder\">The decoder <see cref=\"IBinaryDecoder\"/> to be used to read form the stream.</param>\n    /// <returns>The <see cref=\"ILocalizedText\"/> decoded from the UA binary stream of bytes.</returns>\n    ILocalizedText ReadLocalizedText(IBinaryDecoder decoder);\n    /// <summary>\n    /// Reads an instance of <see cref=\"INodeId\"/> from UA Binary encoded stream.\n    /// </summary>\n    /// <param name=\"decoder\">The decoder <see cref=\"IBinaryDecoder\"/> to be used to read form the stream.</param>\n    /// <returns>The <see cref=\"INodeId\"/> decoded from the UA binary stream of bytes.</returns>\n    INodeId ReadNodeId(IBinaryDecoder decoder);\n    /// <summary>\n    /// Reads an instance of <see cref=\"IQualifiedName\"/> from UA Binary encoded stream.\n    /// </summary>\n    /// <param name=\"decoder\">The decoder <see cref=\"IBinaryDecoder\"/> to be used to read form the stream.</param>\n    /// <returns>The <see cref=\"IQualifiedName\"/> decoded from the UA binary stream of bytes.</returns>\n    IQualifiedName ReadQualifiedName(IBinaryDecoder decoder);\n    /// <summary>\n    /// Reads an instance of <see cref=\"XmlElement\"/> from UA Binary encoded stream.\n    /// </summary>\n    /// <param name=\"decoder\">The decoder <see cref=\"IBinaryDecoder\"/> to be used to read form the stream.</param>\n    /// <returns>The <see cref=\"XmlElement\"/> decoded from the UA binary stream of bytes.</returns>\n    XmlElement ReadXmlElement(IBinaryDecoder decoder);\n    /// <summary>\n    /// Reads an instance of <see cref=\"IStatusCode\"/> from UA Binary encoded stream.\n    /// </summary>\n    /// <param name=\"decoder\">The decoder <see cref=\"IBinaryDecoder\"/> to be used to read form the stream.</param>\n    /// <returns>The <see cref=\"IStatusCode\"/> decoded from the UA binary stream of bytes.</returns>\n    IStatusCode ReadStatusCode(IBinaryDecoder decoder);\n    /// <summary>\n    /// Reads an instance of <see cref=\"IVariant\"/> from UA Binary encoded stream.\n    /// </summary>\n    /// <param name=\"decoder\">The decoder <see cref=\"IBinaryDecoder\"/> to be used to read form the stream.</param>\n    /// <returns>The <see cref=\"IVariant\"/> decoded from the UA binary stream of bytes.</returns>\n    IVariant ReadVariant(IBinaryDecoder decoder);\n    /// <summary>\n    /// Reads an array of the specified type <typeparamref name=\"type\"/> and wraps it in the <see cref=\"Array\" /> object.\n    /// </summary>\n    /// <typeparam name=\"type\">The type of the <see cref=\"Array\" /> element.</typeparam>\n    /// <param name=\"decoder\">The decoder to be used to recover the array from the binary stream.</param>\n    /// <param name=\"readValue\">This delegate encapsulates binary decoding functionality of the array element.</param>\n    /// <param name=\"arrayDimensionsPresents\">if set to <c>true</c> the rank of the array is greater than 1 and dimensions are present in the encoded stream.</param>\n    /// <returns>An instance of <see cref=\"Array\" /> capturing the an array recovered from the message.</returns>\n    Array ReadArray<type>(IBinaryDecoder decoder, Func<type> readValue, bool arrayDimensionsPresents);\n  }\n}"
  },
  {
    "path": "Networking/SemanticData/Encoding/IUAEcoder.cs",
    "content": "﻿\nusing System;\nusing System.Xml;\nusing UAOOI.Configuration.Networking.Serialization;\n\nnamespace UAOOI.Networking.SemanticData.Encoding\n{\n\n  /// <summary>\n  /// Interface IUAEncoder - if implemented provides methods to be used to encode OPC UA Built-in types.\n  /// </summary>\n  public interface IUAEncoder\n  {\n\n    /// <summary>\n    /// Writes <see cref=\"DateTime\"/> using the provided encoder <see cref=\"IBinaryEncoder\"/>.\n    /// </summary>\n    /// <param name=\"encoder\">The encoder - an object implementing the <see cref=\"IBinaryEncoder\"/> interface.</param>\n    /// <param name=\"value\">The value to be encoded.</param>\n    void Write(IBinaryEncoder encoder, DateTime value);\n    /// <summary>\n    /// Writes the <c>ByteString</c> using the provided encoder <see cref=\"IBinaryEncoder\"/>.\n    /// </summary>\n    /// <param name=\"encoder\">The encoder - an object implementing the <see cref=\"IBinaryEncoder\"/> interface.</param>\n    /// <param name=\"value\">The value to be encoded.</param>\n    void Write(IBinaryEncoder encoder, byte[] value);\n    /// <summary>\n    /// Writes <see cref=\"IDataValue\"/> using the provided encoder <see cref=\"IBinaryEncoder\"/>.\n    /// </summary>\n    /// <param name=\"encoder\">The encoder - an object implementing the <see cref=\"IBinaryEncoder\"/> interface.</param>\n    /// <param name=\"value\">The value to be encoded.</param>\n    void Write(IBinaryEncoder encoder, IDataValue value);\n    /// <summary>\n    /// Writes <see cref=\"IDiagnosticInfo\"/> using the provided encoder <see cref=\"IBinaryEncoder\"/>.\n    /// </summary>\n    /// <param name=\"encoder\">The encoder - an object implementing the <see cref=\"IBinaryEncoder\"/> interface.</param>\n    /// <param name=\"value\">The value to be encoded.</param>\n    void Write(IBinaryEncoder encoder, IDiagnosticInfo value);\n    /// <summary>\n    /// Writes <see cref=\"IExpandedNodeId\"/> using the provided encoder <see cref=\"IBinaryEncoder\"/>.\n    /// </summary>\n    /// <param name=\"encoder\">The encoder - an object implementing the <see cref=\"IBinaryEncoder\"/> interface.</param>\n    /// <param name=\"value\">The value to be encoded.</param>\n    void Write(IBinaryEncoder encoder, IExpandedNodeId value);\n    /// <summary>\n    /// Writes <see cref=\"ILocalizedText\"/> using the provided encoder <see cref=\"IBinaryEncoder\"/>.\n    /// </summary>\n    /// <param name=\"encoder\">The encoder - an object implementing the <see cref=\"IBinaryEncoder\"/> interface.</param>\n    /// <param name=\"value\">The value to be encoded.</param>\n    void Write(IBinaryEncoder encoder, IExtensionObject value);\n    /// <summary>\n    /// Writes <see cref=\"DateTime\"/> using the provided encoder <see cref=\"IBinaryEncoder\"/>.\n    /// </summary>\n    /// <param name=\"encoder\">The encoder - an object implementing the <see cref=\"IBinaryEncoder\"/> interface.</param>\n    /// <param name=\"value\">The value to be encoded.</param>\n    void Write(IBinaryEncoder encoder, ILocalizedText value);\n    /// <summary>\n    /// Writes <see cref=\"INodeId\"/> using the provided encoder <see cref=\"IBinaryEncoder\"/>.\n    /// </summary>\n    /// <param name=\"encoder\">The encoder - an object implementing the <see cref=\"IBinaryEncoder\"/> interface.</param>\n    /// <param name=\"value\">The value to be encoded.</param>\n    void Write(IBinaryEncoder encoder, INodeId value);\n    /// <summary>\n    /// Writes <see cref=\"IQualifiedName\"/> using the provided encoder <see cref=\"IBinaryEncoder\"/>.\n    /// </summary>\n    /// <param name=\"encoder\">The encoder - an object implementing the <see cref=\"IBinaryEncoder\"/> interface.</param>\n    /// <param name=\"value\">The value to be encoded.</param>\n    void Write(IBinaryEncoder encoder, IQualifiedName value);\n    /// <summary>\n    /// Writes <see cref=\"XmlElement\"/> using the provided encoder <see cref=\"IBinaryEncoder\"/>.\n    /// </summary>\n    /// <param name=\"encoder\">The encoder - an object implementing the <see cref=\"IBinaryEncoder\"/> interface.</param>\n    /// <param name=\"value\">The value to be encoded.</param>\n    void Write(IBinaryEncoder encoder, XmlElement value);\n    /// <summary>\n    /// Writes <see cref=\"IStatusCode\"/> using the provided encoder <see cref=\"IBinaryEncoder\"/>.\n    /// </summary>\n    /// <param name=\"encoder\">The encoder - an object implementing the <see cref=\"IBinaryEncoder\"/> interface.</param>\n    /// <param name=\"value\">The value to be encoded.</param>\n    void Write(IBinaryEncoder encoder, IStatusCode value);\n    /// <summary>\n    /// Writes <see cref=\"IVariant\"/> using the provided encoder <see cref=\"IBinaryEncoder\"/>.\n    /// </summary>\n    /// <param name=\"encoder\">The encoder - an object implementing the <see cref=\"IBinaryEncoder\"/> interface.</param>\n    /// <param name=\"value\">The value to be encoded.</param>\n    void Write(IBinaryEncoder encoder, IVariant value);\n    /// <summary>\n    /// Writes a <see cref=\"Guid\" /> to the current stream as a 16-element byte array that contains the value and advances the stream position by 16 bytes.\n    /// </summary>\n    /// <param name=\"encoder\">The encoder <see cref=\"IBinaryEncoder\"/> to write the value encapsulated in this instance.</param>\n    /// <param name=\"value\">The value to be encoded as an instance of <see cref=\"Guid\"/>.</param>\n    void Write(IBinaryEncoder encoder, Guid value);\n    /// <summary>\n    /// Encodes the <see cref=\"string\"/> as a sequence of UTF8 characters without a null terminator and preceded by the length in bytes.\n    /// The length in bytes is encoded as Int32. A value of −1 is used to indicate a ‘null’ string.\n    /// </summary>\n    /// <param name=\"encoder\">The encoder <see cref=\"IBinaryEncoder\"/> to write the value encapsulated in this instance.</param>\n    /// <param name=\"value\">The value to be encoded as an instance of <see cref=\"Guid\"/>.</param>\n    void Write(IBinaryEncoder encoder, string value);\n    /// <summary>\n    /// Encodes the <see cref=\"Array\" /> directly if the array is one dimensional or as <see cref=\"Variant\" /> otherwise.\n    /// </summary>\n    /// <typeparam name=\"type\">The type of the array element type.</typeparam>\n    /// <param name=\"encoder\">The encoder <see cref=\"IBinaryEncoder\" /> to write the value encapsulated in this instance.</param>\n    /// <param name=\"value\">The value to be encoded as an instance of <see cref=\"Array\" />.</param>\n    /// <param name=\"writeValue\">This delegate encapsulates binary encoding functionality of the array element.</param>\n    /// <param name=\"builtInType\"><see cref=\"BuiltInType\"/> of the array item to be encoded in case the array is multidimensional and must be encoded as the variant.</param>\n    void WriteArray<type>(IBinaryEncoder encoder, Array value, Action<type> writeValue, BuiltInType builtInType);\n\n  }\n\n}\n"
  },
  {
    "path": "Networking/SemanticData/Encoding/IVariant.cs",
    "content": "﻿\nusing UAOOI.Configuration.Networking.Serialization;\n\nnamespace UAOOI.Networking.SemanticData.Encoding\n{\n  /// <summary>\n  /// Interface IVariant - if implemented A structure that could contain value with any of the UA built-in data types.\n  /// </summary>\n  public interface IVariant\n  {\n\n    /// <summary>\n    /// Gets the value stored in the object.\n    /// </summary>\n    /// <value>The value stored in the object.</value>\n    object Value { get; }\n    /// <summary>\n    /// Gets the type information about the type of stored in the object.\n    /// </summary>\n    /// <value>The <see cref=\"UATypeInfo\"/> capturing information about the type of stored in the object.</value>\n    UATypeInfo UATypeInfo { get; }\n\n  }\n\n}\n"
  },
  {
    "path": "Networking/SemanticData/Encoding/UABinaryDecoder.cs",
    "content": "﻿//___________________________________________________________________________________\n//\n//  Copyright (C) 2020, Mariusz Postol LODZ POLAND.\n//\n//  To be in touch join the community at GITTER: https://gitter.im/mpostol/OPC-UA-OOI\n//___________________________________________________________________________________\n\nusing System;\nusing System.Collections.Generic;\nusing System.Text;\nusing System.Xml;\nusing UAOOI.Configuration.Networking.Serialization;\n\nnamespace UAOOI.Networking.SemanticData.Encoding\n{\n  /// <summary>\n  /// Class UABinaryDecoder - basic implementation of the <see cref=\"IUADecoder\"/> that provides methods to be used to decode selected set of the OPC UA Built-in types.\n  /// </summary>\n  /// <remarks>\n  /// <note>\n  /// It is expected that full featured implementation of this call will be injected by the user by this library.\n  /// The library supports decoding only primitive types.\n  /// </note>\n  /// </remarks>\n  public abstract class UABinaryDecoder : IUADecoder\n  {\n    #region IUADecoder - supported types\n\n    /// <summary>\n    /// Reads an instance of <see cref=\"IVariant\" /> from UA Binary encoded stream.\n    /// </summary>\n    /// <param name=\"decoder\">The decoder <see cref=\"IBinaryDecoder\" /> to be used to read form the stream.</param>\n    /// <returns>The <see cref=\"IVariant\" /> decoded from the UA binary stream of bytes.</returns>\n    public IVariant ReadVariant(IBinaryDecoder decoder)\n    {\n      byte encodingByte = decoder.ReadByte(); //Read the EncodingMask\n      if (encodingByte == 0x0)\n        return null;\n      Variant value = null;\n      BuiltInType builtInType = (BuiltInType)(encodingByte & (byte)VariantEncodingMask.TypeIdMask);\n      if ((encodingByte & (byte)VariantEncodingMask.IsArray) == 0)\n        value = ReadValue(decoder, builtInType);\n      else\n      {\n        Array array = DecodeArray(decoder, builtInType, ((encodingByte & (byte)VariantEncodingMask.ArrayDimensionsPresents) != 0));\n        value = new Variant(array, builtInType);\n      }\n      return value;\n    }\n\n    /// <summary>\n    /// Reads an array of the specified type <typeparamref name=\"type\"/> and wraps it in the <see cref=\"Array\" /> object.\n    /// </summary>\n    /// <typeparam name=\"type\">The type of the <see cref=\"Array\" /> element.</typeparam>\n    /// <param name=\"decoder\">The decoder to be used to recover the array from the binary stream.</param>\n    /// <param name=\"readValue\">This delegate encapsulates binary decoding functionality of the array element.</param>\n    /// <param name=\"arrayDimensionsPresents\">if set to <c>true</c> the rank of the array is greater than 1 and dimensions are present in the encoded stream.</param>\n    /// <returns>An instance of <see cref=\"Array\" /> capturing the an array recovered from the message.</returns>\n    public Array ReadArray<type>(IBinaryDecoder decoder, Func<type> readValue, bool arrayDimensionsPresents)\n    {\n      Array _ret = null;\n      if (!arrayDimensionsPresents)\n        _ret = DecodeArray<type>(decoder, readValue, arrayDimensionsPresents);\n      else\n      {\n        IVariant _variant = ReadVariant(decoder);\n        _ret = (Array)_variant.Value;\n      }\n      return _ret;\n    }\n\n    /// <summary>\n    /// Reads the <see cref=\"Guid\" /> from UA Binary encoded as a 16-element byte array that contains the value and advances the input message position by 16 bytes.\n    /// </summary>\n    /// <param name=\"decoder\">The decoder <see cref=\"IBinaryDecoder\" /> to be used to read form the stream.</param>\n    /// <returns>The <see cref=\"Guid\" /> decoded from the input message.</returns>\n    public Guid ReadGuid(IBinaryDecoder decoder)\n    {\n      return CommonDefinitions.ReadGuid(decoder);\n    }\n\n    /// <summary>\n    /// Reads the <see cref=\"DateTime\" /> from UA binary encoded stream of bytes as <see cref=\"long\" /> that contains the value and advances the stream position by 8 bytes.\n    /// </summary>\n    /// <param name=\"decoder\">The decoder <see cref=\"IBinaryDecoder\" /> to be used to read form the stream.</param>\n    /// <returns>The <see cref=\"DateTime \" /> decoded from the UA binary stream of bytes.</returns>\n    public DateTime ReadDateTime(IBinaryDecoder decoder)\n    {\n      return CommonDefinitions.GetUADateTime(decoder.ReadInt64());\n    }\n\n    /// <summary>\n    /// Reads the string od bytes from UA Binary encoded as a 16-element byte array that contains the value.\n    /// </summary>\n    /// <param name=\"decoder\">The decoder <see cref=\"IBinaryDecoder\" /> to be used to read form the stream.</param>\n    /// <returns>The <see cref=\"System.Byte\" /> array decoded from the UA binary stream of bytes.</returns>\n    public byte[] ReadByteString(IBinaryDecoder decoder)\n    {\n      int _length = decoder.ReadInt32();\n      if (_length < 0)\n        return null;\n      return decoder.ReadBytes(_length);\n    }\n\n    /// <summary>\n    /// Reads the <see cref=\"string\" /> from UA binary encoded stream of bytes encoded as a sequence of UTF8 characters without a null terminator and preceded by the length in bytes.\n    /// The length in bytes is encoded as Int32. A value of −1 is used to indicate a ‘null’ string.\n    /// </summary>\n    /// <param name=\"decoder\">The decoder <see cref=\"IBinaryDecoder\" /> to be used to read form the stream.</param>\n    /// <returns>The <see cref=\"string\" /> decoded from the UA binary stream of bytes.</returns>\n    /// <exception cref=\"System.NotImplementedException\"></exception>\n    public string ReadString(IBinaryDecoder decoder)\n    {\n      int length = decoder.ReadInt32();\n      if (length == -1)\n        return null;\n      byte[] bytes = decoder.ReadBytes(length);\n      return new UTF8Encoding().GetString(bytes, 0, bytes.Length);\n    }\n\n    #endregion IUADecoder - supported types\n\n    #region IUADecoder - unsupported types\n\n    /// <summary>\n    /// If implemented by a derived class reads an instance of <see cref=\"IDataValue\" /> from UA Binary encoded stream.\n    /// </summary>\n    /// <param name=\"decoder\">The decoder <see cref=\"IBinaryDecoder\" /> to be used to read form the stream.</param>\n    /// <returns>The <see cref=\"IDataValue\" /> decoded from the UA binary stream of bytes.</returns>\n    public abstract IDataValue ReadDataValue(IBinaryDecoder decoder);\n\n    /// <summary>\n    /// If implemented by a derived class reads an instance of <see cref=\"IDiagnosticInfo\" /> from UA Binary encoded stream.\n    /// </summary>\n    /// <param name=\"decoder\">The decoder <see cref=\"IBinaryDecoder\" /> to be used to read form the stream.</param>\n    /// <returns>The <see cref=\"IDiagnosticInfo\" /> decoded from the UA binary stream of bytes.</returns>\n    public abstract IDiagnosticInfo ReadDiagnosticInfo(IBinaryDecoder decoder);\n\n    /// <summary>\n    /// If implemented by a derived class reads an instance of <see cref=\"IExpandedNodeId\" /> from UA Binary encoded stream.\n    /// </summary>\n    /// <param name=\"decoder\">The decoder <see cref=\"IBinaryDecoder\" /> to be used to read form the stream.</param>\n    /// <returns>The <see cref=\"IExpandedNodeId\" /> decoded from the UA binary stream of bytes.</returns>\n    public abstract IExpandedNodeId ReadExpandedNodeId(IBinaryDecoder decoder);\n\n    /// <summary>\n    /// If implemented by a derived class reads an instance of <see cref=\"IExtensionObject\" /> from UA Binary encoded stream.\n    /// </summary>\n    /// <param name=\"decoder\">The decoder <see cref=\"IBinaryDecoder\" /> to be used to read form the stream.</param>\n    /// <returns>The <see cref=\"IExtensionObject\" /> decoded from the UA binary stream of bytes.</returns>\n    public abstract IExtensionObject ReadExtensionObject(IBinaryDecoder decoder);\n\n    /// <summary>\n    /// If implemented by a derived class reads an instance of <see cref=\"ILocalizedText\" /> from UA Binary encoded stream.\n    /// </summary>\n    /// <param name=\"decoder\">The decoder <see cref=\"IBinaryDecoder\" /> to be used to read form the stream.</param>\n    /// <returns>The <see cref=\"ILocalizedText\" /> decoded from the UA binary stream of bytes.</returns>\n    public abstract ILocalizedText ReadLocalizedText(IBinaryDecoder decoder);\n\n    /// <summary>\n    /// If implemented by a derived class reads an instance of <see cref=\"INodeId\" /> from UA Binary encoded stream.\n    /// </summary>\n    /// <param name=\"decoder\">The decoder <see cref=\"IBinaryDecoder\" /> to be used to read form the stream.</param>\n    /// <returns>The <see cref=\"INodeId\" /> decoded from the UA binary stream of bytes.</returns>\n    public abstract INodeId ReadNodeId(IBinaryDecoder decoder);\n\n    /// <summary>\n    /// If implemented by a derived class reads an instance of <see cref=\"IQualifiedName\" /> from UA Binary encoded stream.\n    /// </summary>\n    /// <param name=\"decoder\">The decoder <see cref=\"IBinaryDecoder\" /> to be used to read form the stream.</param>\n    /// <returns>The <see cref=\"IQualifiedName\" /> decoded from the UA binary stream of bytes.</returns>\n    public abstract IQualifiedName ReadQualifiedName(IBinaryDecoder decoder);\n\n    /// <summary>\n    /// If implemented by a derived class reads an instance of <see cref=\"XmlElement\" /> from UA Binary encoded stream.\n    /// </summary>\n    /// <param name=\"decoder\">The decoder <see cref=\"IBinaryDecoder\" /> to be used to read form the stream.</param>\n    /// <returns>The <see cref=\"XmlElement\" /> decoded from the UA binary stream of bytes.</returns>\n    public abstract XmlElement ReadXmlElement(IBinaryDecoder decoder);\n\n    /// <summary>\n    /// If implemented by a derived class reads an instance of <see cref=\"IStatusCode\" /> from UA Binary encoded stream.\n    /// </summary>\n    /// <param name=\"decoder\">The decoder <see cref=\"IBinaryDecoder\" /> to be used to read form the stream.</param>\n    /// <returns>The <see cref=\"IStatusCode\" /> decoded from the UA binary stream of bytes.</returns>\n    public abstract IStatusCode ReadStatusCode(IBinaryDecoder decoder);\n\n    #endregion IUADecoder - unsupported types\n\n    #region private\n\n    //types\n    private class Variant : IVariant\n    {\n      public Variant(Array value, BuiltInType type) : this(value, new UATypeInfo(type, value.Rank))\n      {\n      }\n\n      public Variant(object value, BuiltInType type) : this(value, new UATypeInfo(type))\n      {\n      }\n\n      public object Value\n      {\n        get; private set;\n      }\n\n      public UATypeInfo UATypeInfo\n      {\n        get; private set;\n      }\n\n      private Variant(object value, UATypeInfo type)\n      {\n        Value = value;\n        UATypeInfo = type;\n      }\n    }\n\n    /// <summary>\n    /// The maximum array length - could be used to apply license volume limits.\n    /// </summary>\n    private readonly int MaxArrayLength = 2;\n\n    //methods\n    private Variant ReadValue(IBinaryDecoder encoder, BuiltInType encodingByte)\n    {\n      switch (encodingByte)\n      {\n        case BuiltInType.Boolean:\n          return new Variant(encoder.ReadBoolean(), encodingByte);\n\n        case BuiltInType.SByte:\n          return new Variant(encoder.ReadSByte(), encodingByte);\n\n        case BuiltInType.Byte:\n          return new Variant(encoder.ReadByte(), encodingByte);\n\n        case BuiltInType.Int16:\n          return new Variant(encoder.ReadInt16(), encodingByte);\n\n        case BuiltInType.UInt16:\n          return new Variant(encoder.ReadUInt16(), encodingByte);\n\n        case BuiltInType.Int32:\n        case BuiltInType.Enumeration:\n          return new Variant(encoder.ReadInt32(), encodingByte);\n\n        case BuiltInType.UInt32:\n          return new Variant(encoder.ReadUInt32(), encodingByte);\n\n        case BuiltInType.Int64:\n          return new Variant(encoder.ReadInt64(), encodingByte);\n\n        case BuiltInType.UInt64:\n          return new Variant(encoder.ReadUInt64(), encodingByte);\n\n        case BuiltInType.Float:\n          return new Variant(encoder.ReadSingle(), encodingByte);\n\n        case BuiltInType.Double:\n          return new Variant(encoder.ReadDouble(), encodingByte);\n\n        case BuiltInType.String:\n          return new Variant(ReadString(encoder), encodingByte);\n\n        case BuiltInType.DateTime:\n          return new Variant(ReadDateTime(encoder), encodingByte);\n\n        case BuiltInType.Guid:\n          return new Variant(ReadGuid(encoder), encodingByte);\n\n        case BuiltInType.ByteString:\n          return new Variant(ReadByteString(encoder), encodingByte);\n\n        case BuiltInType.XmlElement:\n          return new Variant(ReadXmlElement(encoder), encodingByte);\n\n        case BuiltInType.NodeId:\n          return new Variant(ReadNodeId(encoder), encodingByte);\n\n        case BuiltInType.ExpandedNodeId:\n          return new Variant(ReadExpandedNodeId(encoder), encodingByte);\n\n        case BuiltInType.StatusCode:\n          return new Variant(ReadStatusCode(encoder), encodingByte);\n\n        case BuiltInType.QualifiedName:\n          return new Variant(ReadQualifiedName(encoder), encodingByte);\n\n        case BuiltInType.LocalizedText:\n          return new Variant(ReadLocalizedText(encoder), encodingByte);\n\n        case BuiltInType.ExtensionObject:\n          return new Variant(ReadExtensionObject(encoder), encodingByte);\n\n        case BuiltInType.DataValue:\n          return new Variant(ReadDataValue(encoder), encodingByte);\n\n        default:\n          throw new ArgumentOutOfRangeException($\"Cannot decode unknown type in Variant object (0x{encodingByte:X}).\");\n      }\n    }\n\n    private Array DecodeArray(IBinaryDecoder decoder, BuiltInType builtInType, bool arrayDimensionsPresents)\n    {\n      switch (builtInType)\n      {\n        case BuiltInType.Boolean:\n          return DecodeArray<bool>(decoder, decoder.ReadBoolean, arrayDimensionsPresents);\n\n        case BuiltInType.SByte:\n          return DecodeArray<sbyte>(decoder, decoder.ReadSByte, arrayDimensionsPresents);\n\n        case BuiltInType.Byte:\n          return DecodeArray<byte>(decoder, decoder.ReadByte, arrayDimensionsPresents);\n\n        case BuiltInType.Int16:\n          return DecodeArray<short>(decoder, decoder.ReadInt16, arrayDimensionsPresents);\n\n        case BuiltInType.UInt16:\n          return DecodeArray<ushort>(decoder, decoder.ReadUInt16, arrayDimensionsPresents);\n\n        case BuiltInType.Int32:\n        case BuiltInType.Enumeration:\n          return DecodeArray<int>(decoder, decoder.ReadInt32, arrayDimensionsPresents);\n\n        case BuiltInType.UInt32:\n          return DecodeArray<uint>(decoder, decoder.ReadUInt32, arrayDimensionsPresents);\n\n        case BuiltInType.Int64:\n          return DecodeArray<long>(decoder, decoder.ReadInt64, arrayDimensionsPresents);\n\n        case BuiltInType.UInt64:\n          return DecodeArray<ulong>(decoder, decoder.ReadUInt64, arrayDimensionsPresents);\n\n        case BuiltInType.Float:\n          return DecodeArray<float>(decoder, decoder.ReadSingle, arrayDimensionsPresents);\n\n        case BuiltInType.Double:\n          return DecodeArray<double>(decoder, decoder.ReadDouble, arrayDimensionsPresents);\n\n        case BuiltInType.String:\n          return DecodeArray<string>(decoder, () => ReadString(decoder), arrayDimensionsPresents);\n\n        case BuiltInType.DateTime:\n          return DecodeArray<DateTime>(decoder, () => ReadDateTime(decoder), arrayDimensionsPresents);\n\n        case BuiltInType.Guid:\n          return DecodeArray<Guid>(decoder, () => ReadGuid(decoder), arrayDimensionsPresents);\n\n        case BuiltInType.ByteString:\n          return DecodeArray<byte[]>(decoder, () => ReadByteString(decoder), arrayDimensionsPresents);\n\n        case BuiltInType.XmlElement:\n          return DecodeArray<XmlElement>(decoder, () => ReadXmlElement(decoder), arrayDimensionsPresents);\n\n        case BuiltInType.NodeId:\n          return DecodeArray<INodeId>(decoder, () => ReadNodeId(decoder), arrayDimensionsPresents);\n\n        case BuiltInType.ExpandedNodeId:\n          return DecodeArray<IExpandedNodeId>(decoder, () => ReadExpandedNodeId(decoder), arrayDimensionsPresents);\n\n        case BuiltInType.StatusCode:\n          return DecodeArray<IStatusCode>(decoder, () => ReadStatusCode(decoder), arrayDimensionsPresents);\n\n        case BuiltInType.QualifiedName:\n          return DecodeArray<IQualifiedName>(decoder, () => ReadQualifiedName(decoder), arrayDimensionsPresents);\n\n        case BuiltInType.LocalizedText:\n          return DecodeArray<ILocalizedText>(decoder, () => ReadLocalizedText(decoder), arrayDimensionsPresents);\n\n        case BuiltInType.ExtensionObject:\n          return DecodeArray<IExtensionObject>(decoder, () => ReadExtensionObject(decoder), arrayDimensionsPresents);\n\n        case BuiltInType.DataValue:\n          return DecodeArray<IDataValue>(decoder, () => ReadDataValue(decoder), arrayDimensionsPresents);\n\n        case BuiltInType.Variant:\n          return DecodeArray<IVariant>(decoder, () => ReadVariant(decoder), arrayDimensionsPresents);\n\n        default:\n          throw new ArgumentOutOfRangeException($\"Cannot decode unknown type in Variant object (0x{(int)builtInType:X2}).\");\n      }\n    }\n\n    private Array DecodeArray<type>(IBinaryDecoder decoder, Func<type> readValue, bool arrayDimensionsPresents)\n    {\n      int length = decoder.ReadInt32();\n      if (length < 0)\n        throw new ArgumentOutOfRangeException(nameof(length));\n      Array _ret;\n      type[] values = new type[length];\n      for (int ii = 0; ii < length; ii++)\n        values[ii] = readValue();\n      int[] _dimensions = null;\n      if (arrayDimensionsPresents)\n      {\n        _dimensions = ReadDimensions(decoder);\n        _ret = Array.CreateInstance(typeof(type), _dimensions);\n        CopyValues(_ret, values);\n      }\n      else\n        _ret = values;\n      return _ret;\n    }\n\n    private void CopyValues<type>(Array _ret, type[] values)\n    {\n      throw new NotImplementedException();\n    }\n\n    private int[] ReadDimensions(IBinaryDecoder decoder)\n    {\n      int length = decoder.ReadInt32();\n      if (length < 0)\n        return null;\n      if (MaxArrayLength > 0 && MaxArrayLength < length)\n        throw new ArgumentOutOfRangeException(nameof(MaxArrayLength), $\"Unsupported array length {length}\");\n      List<int> values = new List<int>(length);\n      for (int ii = 0; ii < length; ii++)\n        values.Add(decoder.ReadInt32());\n      return values.ToArray();\n    }\n\n    #endregion private\n  }\n}"
  },
  {
    "path": "Networking/SemanticData/Encoding/UABinaryEncoder.cs",
    "content": "﻿//___________________________________________________________________________________\n//\n//  Copyright (C) 2018, Mariusz Postol LODZ POLAND.\n//\n//  To be in touch join the community at GITTER: https://gitter.im/mpostol/OPC-UA-OOI\n//___________________________________________________________________________________\n\nusing System;\nusing System.Text;\nusing System.Xml;\nusing UAOOI.Configuration.Networking.Serialization;\n\nnamespace UAOOI.Networking.SemanticData.Encoding\n{\n  /// <summary>\n  /// Class UABinaryEncoder - basic implementation of the <see cref=\"IUAEncoder\"/> that provides methods to be used to encode selected set of the OPC UA Built-in types.\n  /// </summary>\n  public abstract class UABinaryEncoder : IUAEncoder\n  {\n\n    #region IUAEncoder - supported types\n    /// <summary>\n    /// Writes the <see cref=\"IVariant\"/> using provided encoder <see cref=\"IBinaryEncoder\"/>\n    /// </summary>\n    /// <param name=\"encoder\">The encoder to write the value encapsulated in this instance.</param>\n    /// <param name=\"value\">The value to be encoded as an instance of <see cref=\"IVariant\"/>.</param>\n    public virtual void Write(IBinaryEncoder encoder, IVariant value)\n    {\n      // check for null.\n      if (value.Value == null || value.UATypeInfo == null || value.UATypeInfo.BuiltInType == BuiltInType.Null)\n      {\n        encoder.Write((byte)0);\n        return;\n      }\n      // encode enums as int32.\n      byte _encodingByte = (byte)value.UATypeInfo.BuiltInType;\n      if (value.UATypeInfo.BuiltInType == BuiltInType.Enumeration)\n        _encodingByte = (byte)BuiltInType.Int32;\n      if (value.UATypeInfo.ValueRank < 0)\n      {\n        encoder.Write(_encodingByte);\n        WriteValue(encoder, value.UATypeInfo.BuiltInType, value.Value);\n      }\n      else\n      {\n        _encodingByte |= (byte)VariantEncodingMask.IsArray;\n        Array _array = null;\n        if (value.Value != null)\n        {\n          _array = value.Value as Array;\n          if (_array == null)\n            throw new ArgumentOutOfRangeException(nameof(value), $\"{nameof(value.Value)} must be of the {nameof(Array)} type and cannot be null\");\n          if (_array.Rank > 1)\n            _encodingByte |= (byte)VariantEncodingMask.ArrayDimensionsPresents;\n        }\n        encoder.Write(_encodingByte);\n        EncodeArray(encoder, value.UATypeInfo.BuiltInType, _array);\n      }\n    }\n    /// <summary>\n    /// Encodes the <see cref=\"Array\" /> directly if the array is one dimensional or as <see cref=\"Variant\" /> otherwise.\n    /// </summary>\n    /// <typeparam name=\"type\">The type of the array element  type.</typeparam>\n    /// <param name=\"encoder\">The encoder <see cref=\"IBinaryEncoder\" /> to write the value encapsulated in this instance.</param>\n    /// <param name=\"value\">The value to be encoded as an instance of <see cref=\"Array\" />.</param>\n    /// <param name=\"writeValue\">Thi delegate encapsulates binary encoding functionality.</param>\n    /// <param name=\"builtInType\"><see cref=\"BuiltInType\" /> of the array item to be encoded in case of variant.</param>\n    public void WriteArray<type>(IBinaryEncoder encoder, Array value, Action<type> writeValue, BuiltInType builtInType)\n    {\n      if (value == null)\n      {\n        encoder.Write((byte)0);\n        return;\n      }\n      byte _encodingByte = (byte)builtInType;\n      if (value.Rank > 1)\n      {\n        //Encode it as the Variant\n        if (builtInType == BuiltInType.Enumeration)\n          _encodingByte = (byte)BuiltInType.Int32;\n        _encodingByte |= (byte)VariantEncodingMask.IsArray;\n        if (value.Rank > 1)\n          _encodingByte |= (byte)VariantEncodingMask.ArrayDimensionsPresents;\n        encoder.Write(_encodingByte);\n      }\n      EncodeArray<type>(encoder.Write, value, writeValue);\n    }\n    /// <summary>\n    /// Writes <see cref=\"DateTime\" /> using the provided encoder <see cref=\"IBinaryEncoder\" />.\n    /// </summary>\n    /// <param name=\"encoder\">The encoder - an object implementing the <see cref=\"IBinaryEncoder\" /> interface.</param>\n    /// <param name=\"value\">The value to be encoded.</param>\n    public virtual void Write(IBinaryEncoder encoder, DateTime value)\n    {\n      encoder.Write(CommonDefinitions.GetUADataTimeTicks(value));\n    }\n    /// <summary>\n    /// Writes a <see cref=\"Guid\" /> to the current stream as a 16-element byte array that contains the value and advances the stream position by 16 bytes.\n    /// </summary>\n    /// <param name=\"encoder\">The encoder to write the value encapsulated in this instance.</param>\n    /// <param name=\"value\">The value to be encoded as an instance of <see cref=\"Guid\"/>.</param>\n    public virtual void Write(IBinaryEncoder encoder, Guid value)\n    {\n      encoder.Write(value.ToByteArray());\n    }\n    /// <summary>\n    /// Writes the <c>ByteString</c> using the provided encoder <see cref=\"IBinaryEncoder\" />.\n    /// </summary>\n    /// <param name=\"encoder\">The encoder and an object implementing the <see cref=\"IBinaryEncoder\" /> interface.</param>\n    /// <param name=\"value\">The value to be encoded.</param>\n    public virtual void Write(IBinaryEncoder encoder, byte[] value)\n    {\n      if (value == null)\n        encoder.Write((Int32)(-1));\n      else\n      {\n        encoder.Write((Int32)value.Length);\n        encoder.Write(value);\n      }\n    }\n    /// <summary>\n    /// Encodes the <see cref=\"string\" /> as a sequence of UTF8 characters without a null terminator and preceded by the length in bytes.\n    /// The length in bytes is encoded as Int32. A value of −1 is used to indicate a ‘null’ string.\n    /// </summary>\n    /// <param name=\"encoder\">The encoder <see cref=\"IBinaryEncoder\" /> to write the value encapsulated in this instance.</param>\n    /// <param name=\"value\">The value to be encoded as an instance of <see cref=\"Guid\" />.</param>\n    public void Write(IBinaryEncoder encoder, string value)\n    {\n      if (value == null)\n      {\n        encoder.Write((Int32)(-1));\n        return;\n      }\n      byte[] _bytes = new UTF8Encoding().GetBytes(value);\n      Write(encoder, _bytes);\n    }\n    #endregion\n\n    #region IUAEncoder - unsupported types - should be implemented by comercial products.\n    /// <summary>\n    /// Writes <see cref=\"IDataValue\" /> using the provided encoder <see cref=\"IBinaryEncoder\" />.\n    /// </summary>\n    /// <param name=\"encoder\">The encoder - an object implementing the <see cref=\"IBinaryEncoder\" /> interface.</param>\n    /// <param name=\"value\">The value to be encoded.</param>\n    public abstract void Write(IBinaryEncoder encoder, IDataValue value);\n    /// <summary>\n    /// Writes <see cref=\"IDiagnosticInfo\" /> using the provided encoder <see cref=\"IBinaryEncoder\" />.\n    /// </summary>\n    /// <param name=\"encoder\">The encoder - an object implementing the <see cref=\"IBinaryEncoder\" /> interface.</param>\n    /// <param name=\"value\">The value to be encoded.</param>\n    public abstract void Write(IBinaryEncoder encoder, IDiagnosticInfo value);\n    /// <summary>\n    /// Writes <see cref=\"IExpandedNodeId\" /> using the provided encoder <see cref=\"IBinaryEncoder\" />.\n    /// </summary>\n    /// <param name=\"encoder\">The encoder - an object implementing the <see cref=\"IBinaryEncoder\" /> interface.</param>\n    /// <param name=\"value\">The value to be encoded.</param>\n    public abstract void Write(IBinaryEncoder encoder, IExpandedNodeId value);\n    /// <summary>\n    /// Writes <see cref=\"ILocalizedText\" /> using the provided encoder <see cref=\"IBinaryEncoder\" />.\n    /// </summary>\n    /// <param name=\"encoder\">The encoder - an object implementing the <see cref=\"IBinaryEncoder\" /> interface.</param>\n    /// <param name=\"value\">The value to be encoded.</param>\n    public abstract void Write(IBinaryEncoder encoder, IExtensionObject value);\n    /// <summary>\n    /// Writes <see cref=\"DateTime\" /> using the provided encoder <see cref=\"IBinaryEncoder\" />.\n    /// </summary>\n    /// <param name=\"encoder\">The encoder - an object implementing the <see cref=\"IBinaryEncoder\" /> interface.</param>\n    /// <param name=\"value\">The value to be encoded.</param>\n    public abstract void Write(IBinaryEncoder encoder, ILocalizedText value);\n    /// <summary>\n    /// Writes <see cref=\"INodeId\" /> using the provided encoder <see cref=\"IBinaryEncoder\" />.\n    /// </summary>\n    /// <param name=\"encoder\">The encoder - an object implementing the <see cref=\"IBinaryEncoder\" /> interface.</param>\n    /// <param name=\"value\">The value to be encoded.</param>\n    public abstract void Write(IBinaryEncoder encoder, INodeId value);\n    /// <summary>\n    /// Writes <see cref=\"IQualifiedName\" /> using the provided encoder <see cref=\"IBinaryEncoder\" />.\n    /// </summary>\n    /// <param name=\"encoder\">The encoder - an object implementing the <see cref=\"IBinaryEncoder\" /> interface.</param>\n    /// <param name=\"value\">The value to be encoded.</param>\n    public abstract void Write(IBinaryEncoder encoder, IQualifiedName value);\n    /// <summary>\n    /// Writes <see cref=\"IStatusCode\" /> using the provided encoder <see cref=\"IBinaryEncoder\" />.\n    /// </summary>\n    /// <param name=\"encoder\">The encoder - an object implementing the <see cref=\"IBinaryEncoder\" /> interface.</param>\n    /// <param name=\"value\">The value to be encoded.</param>\n    public abstract void Write(IBinaryEncoder encoder, IStatusCode value);\n    /// <summary>\n    /// Writes <see cref=\"XmlElement\" /> using the provided encoder <see cref=\"IBinaryEncoder\" />.\n    /// </summary>\n    /// <param name=\"encoder\">The encoder - an object implementing the <see cref=\"IBinaryEncoder\" /> interface.</param>\n    /// <param name=\"value\">The value to be encoded.</param>\n    public abstract void Write(IBinaryEncoder encoder, XmlElement value);\n    #endregion\n\n    #region private\n    /// <summary>\n    /// The maximum array length - could be used to apply license volume limits\n    /// </summary>\n    protected int MaxArrayLength = byte.MaxValue;\n    private void WriteValue(IBinaryEncoder encoder, BuiltInType builtInType, object value)\n    {\n      switch (builtInType)\n      {\n        case BuiltInType.Boolean:\n          encoder.Write((Boolean)value);\n          return;\n        case BuiltInType.SByte:\n          encoder.Write((SByte)value);\n          return;\n        case BuiltInType.Byte:\n          encoder.Write((Byte)value);\n          return;\n        case BuiltInType.Int16:\n          encoder.Write((Int16)value);\n          return;\n        case BuiltInType.UInt16:\n          encoder.Write((UInt16)value);\n          return;\n        case BuiltInType.Int32:\n          encoder.Write((Int32)value);\n          return;\n        case BuiltInType.UInt32:\n          encoder.Write((System.UInt32)value);\n          return;\n        case BuiltInType.Int64:\n          encoder.Write((Int64)value);\n          return;\n        case BuiltInType.UInt64:\n          encoder.Write((UInt64)value);\n          return;\n        case BuiltInType.Float:\n          encoder.Write((Single)value);\n          return;\n        case BuiltInType.Double:\n          encoder.Write((Double)value);\n          return;\n        case BuiltInType.String:\n          Write(encoder, (String)value);\n          return;\n        case BuiltInType.DateTime:\n          Write(encoder, (DateTime)value);\n          return;\n        case BuiltInType.Guid:\n          encoder.Write((Guid)value);\n          return;\n        case BuiltInType.ByteString:\n          Write(encoder, (byte[])value);\n          return;\n        case BuiltInType.XmlElement:\n          Write(encoder, (XmlElement)value);\n          return;\n        case BuiltInType.NodeId:\n          Write(encoder, (XmlElement)value);\n          return;\n        case BuiltInType.ExpandedNodeId:\n          Write(encoder, (IExpandedNodeId)value);\n          return;\n        case BuiltInType.StatusCode:\n          Write(encoder, (IStatusCode)value);\n          return;\n        case BuiltInType.QualifiedName:\n          Write(encoder, (IQualifiedName)value);\n          return;\n        case BuiltInType.LocalizedText:\n          Write(encoder, (ILocalizedText)value);\n          return;\n        case BuiltInType.ExtensionObject:\n          Write(encoder, (ILocalizedText)value);\n          return;\n        case BuiltInType.DataValue:\n          Write(encoder, (IDataValue)value);\n          return;\n        case BuiltInType.Variant:\n          Write(encoder, (IVariant)value);\n          return;\n        case BuiltInType.DiagnosticInfo:\n          Write(encoder, (IDiagnosticInfo)value);\n          return;\n        case BuiltInType.Enumeration:\n          encoder.Write((int)value);\n          return;\n        case BuiltInType.Null:\n        default:\n          throw new ArgumentOutOfRangeException($\"Cannot encode unknown type in Variant object (0x{builtInType:X2}).\");\n      }\n    }\n    private void EncodeArray(IBinaryEncoder encoder, BuiltInType builtInType, Array value)\n    {\n      switch (builtInType)\n      {\n        case BuiltInType.Boolean:\n          EncodeArray<Boolean>(encoder.Write, value, encoder.Write);\n          break;\n        case BuiltInType.SByte:\n          EncodeArray<SByte>(encoder.Write, value, encoder.Write);\n          break;\n        case BuiltInType.Byte:\n          EncodeArray<Byte>(encoder.Write, value, encoder.Write);\n          break;\n        case BuiltInType.Int16:\n          EncodeArray<Int16>(encoder.Write, value, encoder.Write);\n          break;\n        case BuiltInType.UInt16:\n          EncodeArray<UInt16>(encoder.Write, value, encoder.Write);\n          break;\n        case BuiltInType.Int32:\n        case BuiltInType.Enumeration:\n          EncodeArray<Int32>(encoder.Write, value, encoder.Write);\n          break;\n        case BuiltInType.UInt32:\n          EncodeArray<UInt32>(encoder.Write, value, encoder.Write);\n          break;\n        case BuiltInType.Int64:\n          EncodeArray<Int64>(encoder.Write, value, encoder.Write);\n          break;\n        case BuiltInType.UInt64:\n          EncodeArray<UInt64>(encoder.Write, value, encoder.Write);\n          break;\n        case BuiltInType.Float:\n          EncodeArray<Single>(encoder.Write, value, encoder.Write);\n          break;\n        case BuiltInType.Double:\n          EncodeArray<Double>(encoder.Write, value, encoder.Write);\n          break;\n        case BuiltInType.String:\n          EncodeArray<String>(encoder.Write, value, x => Write(encoder, x));\n          break;\n        case BuiltInType.DateTime:\n          EncodeArray<DateTime>(encoder.Write, value, x => Write(encoder, x));\n          break;\n        case BuiltInType.Guid:\n          EncodeArray<Guid>(encoder.Write, value, x => Write(encoder, x));\n          break;\n        case BuiltInType.ByteString:\n          EncodeArray<Byte[]>(encoder.Write, value, x => Write(encoder, x));\n          break;\n        case BuiltInType.XmlElement:\n          EncodeArray<XmlElement>(encoder.Write, value, x => Write(encoder, x));\n          break;\n        case BuiltInType.NodeId:\n          EncodeArray<INodeId>(encoder.Write, value, x => Write(encoder, x));\n          break;\n        case BuiltInType.ExpandedNodeId:\n          EncodeArray<IExpandedNodeId>(encoder.Write, value, x => Write(encoder, x));\n          break;\n        case BuiltInType.StatusCode:\n          EncodeArray<IStatusCode>(encoder.Write, value, x => Write(encoder, x));\n          break;\n        case BuiltInType.QualifiedName:\n          EncodeArray<IQualifiedName>(encoder.Write, value, x => Write(encoder, x));\n          break;\n        case BuiltInType.LocalizedText:\n          EncodeArray<ILocalizedText>(encoder.Write, value, x => Write(encoder, x));\n          break;\n        case BuiltInType.ExtensionObject:\n          EncodeArray<IExtensionObject>(encoder.Write, value, x => Write(encoder, x));\n          break;\n        case BuiltInType.DataValue:\n          EncodeArray<IDataValue>(encoder.Write, value, x => Write(encoder, x));\n          break;\n        case BuiltInType.Variant:\n          EncodeArray<IVariant>(encoder.Write, value, x => Write(encoder, x));\n          break;\n        case BuiltInType.DiagnosticInfo:\n          EncodeArray<IDiagnosticInfo>(encoder.Write, value, x => Write(encoder, x));\n          break;\n        case BuiltInType.Null:\n        default:\n          break;\n      };\n    }\n    private void EncodeArray<type>(Action<Int32> encoderInt32, Array array, Action<type> writeValue)\n    {\n      if (array == null)\n      {\n        encoderInt32(-1);\n        return;\n      }\n      if (MaxArrayLength > 0 && MaxArrayLength < array.Length)\n        throw new ArgumentOutOfRangeException(nameof(MaxArrayLength), $\"MaxArrayLength {MaxArrayLength} < {array.Length}\");\n      encoderInt32(array.Length);\n      //for (int ii = 0; ii < values.Length; ii++)\n      foreach (type item in array)\n        writeValue(item);\n      if (array.Rank == 1)\n        return;\n      encoderInt32(array.Rank);\n      for (int ii = 0; ii < array.Rank; ii++)\n        encoderInt32(array.GetLength(ii));\n    }\n    #endregion\n\n  }\n}\n\n"
  },
  {
    "path": "Networking/SemanticData/Encoding/VariantEncodingMask.cs",
    "content": "﻿\nusing System;\n\nnamespace UAOOI.Networking.SemanticData.Encoding\n{\n\n  //types\n  [Flags]\n  internal enum VariantEncodingMask\n  {\n\n    /// <summary>\n    /// True if an array of values is encoded.\n    /// </summary>\n    IsArray = 0x80,\n    /// <summary>\n    /// True if the Array Dimensions field is encoded\n    /// </summary>\n    ArrayDimensionsPresents = 0x40,\n    /// <summary>\n    /// The type mask of the Built-in Type Id\n    /// </summary>\n    TypeIdMask = 0x3F\n\n  }\n}\n"
  },
  {
    "path": "Networking/SemanticData/IBindingFactory.cs",
    "content": "﻿\nusing UAOOI.Networking.SemanticData.DataRepository;\nusing UAOOI.Configuration.Networking.Serialization;\n\nnamespace UAOOI.Networking.SemanticData\n{\n\n  /// <summary>\n  /// The IBindingFactory interface - if implemented creates object implementing <see cref=\"IBinding\"/> that can used:\n  /// - by the consumer to save the data received over the wire in the local data repository.\n  /// - by the producer to read from the local data repository.\n  /// </summary>\n  /// <remarks>\n  /// Implementation of this interface is a basic step to provide consumer and/or producer functionality. \n  /// </remarks>\n  public interface IBindingFactory\n  {\n\n    /// <summary>\n    /// Gets the binding captured by an instance of the <see cref=\"IConsumerBinding\" /> type used by the consumer to save the data in the data repository.\n    /// </summary>\n    /// <param name=\"repositoryGroup\">It is the name of a repository group profiling the configuration behavior, e.g. encoders selection.\n    /// The configuration of the repositories belonging to the same group are handled according to the same profile.</param>\n    /// <param name=\"processValueName\">The name of a variable that is the ultimate destination of the values recovered from messages.\n    /// Must be unique in the context of the group named by <paramref name=\"repositoryGroup\" />.</param>\n    /// <param name=\"fieldTypeInfo\">The field metadata definition represented as an object of <see cref=\"UATypeInfo\"/>.\n    /// </param>\n    /// <returns>Returns an object implementing the <see cref=\"IConsumerBinding\" /> interface that can be used to update selected variable on the factory side.</returns>\n    IConsumerBinding GetConsumerBinding(string repositoryGroup, string processValueName, UATypeInfo fieldTypeInfo);\n    /// <summary>\n    /// Gets the binding captured by an instance of the <see cref=\"IProducerBinding\" /> type used by the producer to read from the local data repository.\n    /// </summary>\n    /// <param name=\"repositoryGroup\">It is the name of a repository group profiling the configuration behavior, e.g. encoders selection.\n    /// The configuration of the repositories belonging to the same group are handled according to the same profile.\n    /// </param>\n    /// <param name=\"processValueName\">\n    /// The name of a variable that is the source of the values forwarded by a message over the network. \n    /// Must be unique in the context of the group named by <paramref name=\"repositoryGroup\"/>\n    /// </param>\n    /// <param name=\"fieldTypeInfo\">The <see cref=\"BuiltInType\"/>of the message field encoding.</param>\n    /// <returns>Returns an object implementing the <see cref=\"IProducerBinding\" /> interface that can be used to create message and populate it with the data.</returns>\n    IProducerBinding GetProducerBinding(string repositoryGroup, string processValueName, UATypeInfo fieldTypeInfo);\n  \n  }\n\n}\n"
  },
  {
    "path": "Networking/SemanticData/IEncodingFactory.cs",
    "content": "﻿\nusing UAOOI.Networking.SemanticData.DataRepository;\nusing UAOOI.Networking.SemanticData.Encoding;\nusing UAOOI.Configuration.Networking.Serialization;\n\nnamespace UAOOI.Networking.SemanticData\n{\n  /// <summary>\n  /// Interface IEncodingFactory - provides functionality to lookup a dictionary containing value converters.\n  /// It is expected that the encoding/decoding functionality is provided outside of this library\n  /// The interface is used for late binding to inject dependency on the external library. \n  /// </summary>\n  public interface IEncodingFactory\n  {\n\n    /// <summary>\n    /// Updates the value converter.\n    /// </summary>\n    /// <param name=\"binding\">An object responsible to transfer the value between the message and ultimate destination in the repository.</param>\n    /// <param name=\"repositoryGroup\">The repository group.</param>\n    /// <param name=\"sourceEncoding\">The source encoding.</param>\n    void UpdateValueConverter(IBinding binding, string repositoryGroup, UATypeInfo sourceEncoding);\n    /// <summary>\n    /// Gets the decoder that provides methods to be used to decode OPC UA Built-in types.\n    /// </summary>\n    /// <value>The object implementing <see cref=\"IUADecoder\"/> interface.</value>\n    IUADecoder UADecoder { get; }\n    /// <summary>\n    /// Gets the encoder that provides methods to be used to encode OPC UA Built-in types.\n    /// </summary>\n    /// <value>The object implementing <see cref=\"IUADecoder\"/> interface.</value>\n    IUAEncoder UAEncoder { get; }\n\n  }\n}\n"
  },
  {
    "path": "Networking/SemanticData/MessageHandlersCollection.cs",
    "content": "﻿//___________________________________________________________________________________\n//\n//  Copyright (C) 2019, Mariusz Postol LODZ POLAND.\n//\n//  To be in touch join the community at GITTER: https://gitter.im/mpostol/OPC-UA-OOI\n//___________________________________________________________________________________\n\nusing System;\nusing System.Collections.Generic;\nusing UAOOI.Networking.SemanticData.MessageHandling;\nusing UAOOI.Configuration.Networking.Serialization;\nusing UAOOI.Networking.Core;\n\nnamespace UAOOI.Networking.SemanticData\n{\n  /// <summary>\n  /// Class MessageHandlersCollection - represents collection of communication channels involved in handling selected message centric transport providers.\n  /// </summary>\n  internal class MessageHandlersCollection : Dictionary<string, IMessageHandler>\n  {\n    /// <summary>\n    /// Creates the message handlers.\n    /// </summary>\n    /// <param name=\"configuration\">The configuration.</param>\n    /// <param name=\"messageHandlerFactory\">The message handler factory.</param>\n    /// <param name=\"encodingFactory\">The encoding factory that provides functionality to lookup a dictionary containing value converters..</param>\n    /// <param name=\"addMessageHandler\">The add message handler.</param>\n    /// <returns>MessageHandlersCollection.</returns>\n    /// <exception cref=\"System.ArgumentOutOfRangeException\">Name;Duplicated transport name</exception>\n    internal static MessageHandlersCollection CreateMessageHandlers\n      (MessageHandlerConfiguration[] configuration, IMessageHandlerFactory messageHandlerFactory, IEncodingFactory encodingFactory, Action<IMessageHandler, AssociationConfiguration> addMessageHandler)\n    {\n      MessageHandlersCollection _collection = new MessageHandlersCollection();\n      foreach (MessageHandlerConfiguration _configuration in configuration)\n      {\n        if (_collection.ContainsKey(_configuration.Name))\n          throw new ArgumentOutOfRangeException(\"Name\", \"Duplicated transport name\");\n        IMessageHandler _handler = null;\n        switch (_configuration.TransportRole)\n        {\n          case AssociationRole.Consumer:\n            MessageReaderConfiguration _readerConfiguration = (MessageReaderConfiguration)_configuration;\n            _handler = new BinaryDecoder( messageHandlerFactory.GetBinaryDTGReceiver(_configuration.Name, _configuration.Configuration.ChannelConfiguration), encodingFactory.UADecoder);\n            foreach (ConsumerAssociationConfiguration _consumerAssociation in _readerConfiguration.ConsumerAssociationConfigurations)\n              addMessageHandler(_handler, _consumerAssociation);\n            break;\n          case AssociationRole.Producer:\n            MessageWriterConfiguration _writerConfiguration = (MessageWriterConfiguration)_configuration;\n            _handler  = new BinaryEncoder( messageHandlerFactory.GetBinaryDTGSender(_configuration.Name, _configuration.Configuration.ChannelConfiguration), encodingFactory.UAEncoder, MessageLengthFieldTypeEnum.TwoBytes);\n            foreach (ProducerAssociationConfiguration _producerAssociation in _writerConfiguration.ProducerAssociationConfigurations)\n              addMessageHandler(_handler, _producerAssociation);\n            break;\n          default:\n            break;\n        }\n        _collection.Add(_configuration.Name, _handler);\n      }\n      return _collection;\n    }\n    /// <summary>\n    /// Handles the configuration modifications.\n    /// </summary>\n    /// <note>\n    /// It is intentionally not implemented\n    /// </note>\n    /// <param name=\"sender\">The sender.</param>\n    /// <param name=\"e\">The <see cref=\"EventArgs\"/> instance containing the event data.</param>\n    /// <exception cref=\"System.NotImplementedException\">It is intentionally not implemented</exception>\n    internal void OnConfigurationChangeHandler(object sender, EventArgs e)\n    {\n      throw new NotImplementedException(\"It is intentionally not implemented\");\n    }\n    /// <summary>\n    /// Runs this instance. \n    /// It call <see cref=\"IMessageHandler.AttachToNetwork\"/> and enables data pumping by enabling the the state of all <see cref=\"IMessageHandler\"/> added to this collection.\n    /// </summary>\n    internal void Run()\n    {\n      foreach (IMessageHandler _mx in this.Values)\n      {\n        _mx.AttachToNetwork();\n        _mx.State.Enable();\n      }\n    }\n    private MessageHandlersCollection()\n      : base()\n    { }\n\n  }\n}\n"
  },
  {
    "path": "Networking/SemanticData/MessageHandling/BinaryDecoder.cs",
    "content": "﻿//____________________________________________________________________________\n//\n//  Copyright (C) 2019, Mariusz Postol LODZ POLAND.\n//\n//  To be in touch join the community at GITTER: https://gitter.im/mpostol/OPC-UA-OOI\n//____________________________________________________________________________\n\nusing System;\nusing System.IO;\nusing UAOOI.Networking.Core;\nusing UAOOI.Networking.SemanticData.Encoding;\n\nnamespace UAOOI.Networking.SemanticData.MessageHandling\n{\n  /// <summary>\n  /// Class BinaryDecoder - wrapper of <see cref=\"BinaryReader\"/> supporting OPC UA binary encoding.\n  /// </summary>\n  public sealed class BinaryDecoder : BinaryPacketDecoder\n  {\n    #region creators\n    /// <summary>\n    /// Initializes a new instance of the <see cref=\"BinaryPacketDecoder\" /> class is to be used by the packet level decoding.\n    /// </summary>\n    /// <param name=\"uaDecoder\">The UA decoder to be used fo decode UA Built-in data types.</param>\n    public BinaryDecoder(IBinaryDataTransferGraphReceiver messageReader, IUADecoder uaDecoder) : base(uaDecoder)\n    {\n      m_DTGReceiver = messageReader ?? throw new ArgumentNullException(nameof(messageReader));\n      m_DTGReceiver.OnNewFrameArrived += OnNewFrameArrived;\n    }\n    #endregion\n\n    #region IDisposable Support\n    /// <summary>\n    /// Releases unmanaged and - optionally - managed resources.\n    /// </summary>\n    /// <param name=\"disposing\"><c>true</c> to release both managed and unmanaged resources; <c>false</c> to release only unmanaged resources.</param>\n    protected override void Dispose(bool disposing)\n    {\n      base.Dispose(disposing);\n      if (!disposing)\n        return;\n      BinaryReader _lc = m_UABinaryReader;\n      if (_lc != null)\n        _lc.Close();\n      m_UABinaryReader = null;\n      m_DTGReceiver.Dispose();\n    }\n    #endregion\n\n    #region BinaryPacketDecoder\n    /// <summary>\n    /// Reads an 8-byte unsigned integer from the message and advances the position by eight bytes.\n    /// </summary>\n    /// <returns>An 8-byte unsigned integer <see cref=\"ulong\"/> read from this message. .</returns>\n    public override ulong ReadUInt64()\n    {\n      return m_UABinaryReader.ReadUInt64();\n    }\n    public override uint ReadUInt32()\n    {\n      return m_UABinaryReader.ReadUInt32();\n    }\n    public override ushort ReadUInt16()\n    {\n      return m_UABinaryReader.ReadUInt16();\n    }\n    public override string ReadString()\n    {\n      return m_UABinaryReader.ReadString();\n    }\n    public override float ReadSingle()\n    {\n      return m_UABinaryReader.ReadSingle();\n    }\n    public override sbyte ReadSByte()\n    {\n      return m_UABinaryReader.ReadSByte();\n    }\n    public override long ReadInt64()\n    {\n      return m_UABinaryReader.ReadInt64();\n    }\n    public override int ReadInt32()\n    {\n      return m_UABinaryReader.ReadInt32();\n    }\n    public override short ReadInt16()\n    {\n      return m_UABinaryReader.ReadInt16();\n    }\n    public override double ReadDouble()\n    {\n      return m_UABinaryReader.ReadDouble();\n    }\n    public override char ReadChar()\n    {\n      return m_UABinaryReader.ReadChar();\n    }\n    public override byte ReadByte()\n    {\n      return m_UABinaryReader.ReadByte();\n    }\n    public override bool ReadBoolean()\n    {\n      return m_UABinaryReader.ReadBoolean();\n    }\n    public override byte[] ReadBytes(int count)\n    {\n      return m_UABinaryReader.ReadBytes(count);\n    }\n    protected override bool EndOfMessage()\n    {\n      return m_UABinaryReader.BaseStream.Position == m_UABinaryReader.BaseStream.Length;\n    }\n    public override void AttachToNetwork()\n    {\n      m_DTGReceiver.AttachToNetwork();\n    }\n    public override IAssociationState State { get => m_DTGReceiver.State; set => m_DTGReceiver.State = value; }\n    #endregion\n\n    #region private\n    private BinaryReader m_UABinaryReader;\n    private readonly IBinaryDataTransferGraphReceiver m_DTGReceiver;\n    /// <summary>\n    /// Called when new frame has arrived.\n    /// </summary>\n    /// <param name=\"uaBinaryReader\">\n    /// The UA binary reader is an instance of <see cref=\"BinaryReader\"/> created after new frame has been arrived.\n    /// </param>\n    /// <remarks>Just after processing the object is disposed.</remarks>\n    private void OnNewFrameArrived(object source, byte[] _receiveBytes)\n    {\n      MemoryStream _stream = new MemoryStream(_receiveBytes, 0, _receiveBytes.Length);\n      m_UABinaryReader = new BinaryReader(_stream, System.Text.Encoding.UTF8);\n      OnNewPacketArrived();\n      m_UABinaryReader.Dispose();\n      m_UABinaryReader = null; ;\n    }\n    #endregion\n\n\n  }\n\n}\n"
  },
  {
    "path": "Networking/SemanticData/MessageHandling/BinaryEncoder.cs",
    "content": "﻿//___________________________________________________________________________________\n//\n//  Copyright (C) 2019, Mariusz Postol LODZ POLAND.\n//\n//  To be in touch join the community at GITTER: https://gitter.im/mpostol/OPC-UA-OOI\n//___________________________________________________________________________________\n\nusing System;\nusing System.Collections.Generic;\nusing System.IO;\nusing UAOOI.Networking.Core;\nusing UAOOI.Networking.SemanticData.Encoding;\n\nnamespace UAOOI.Networking.SemanticData.MessageHandling\n{\n  /// <summary>\n  /// Class BinaryEncoder - wrapper of <see cref=\"BinaryWriter\"/> supporting OPC UA binary encoding.\n  /// </summary>\n  public sealed class BinaryEncoder : BinaryPacketEncoder\n  {\n\n    #region creator\n    /// <summary>\n    /// Initializes a new instance of the <see cref=\"BinaryEncoder\" /> class wrapper of <see cref=\"BinaryWriter\" /> supporting OPC UA binary encoding..\n    /// </summary>\n    /// <param name=\"uaEncoder\">The ua encoder.</param>\n    /// <param name=\"lengthFieldType\">Type of the length field.</param>\n    public BinaryEncoder(IBinaryDataTransferGraphSender messageWriter, IUAEncoder uaEncoder, MessageLengthFieldTypeEnum lengthFieldType) : base(uaEncoder, lengthFieldType)\n    {\n      m_IBinaryDTGSender = messageWriter ?? throw new ArgumentNullException(nameof(messageWriter));\n    }\n    #endregion\n\n    #region IDisposable\n    // Protected implementation of Dispose pattern.\n    /// <summary>\n    /// Releases unmanaged and - optionally - managed resources.\n    /// </summary>\n    /// <param name=\"disposing\"><c>true</c> to release both managed and unmanaged resources; <c>false</c> to release only unmanaged resources.</param>\n    protected override void Dispose(bool disposing)\n    {\n      base.Dispose(disposing);\n      if (disposing)\n        DisposeWriter();\n    }\n    #endregion\n\n    #region BinaryPackageEncoder\n\n    #region BinaryWriter\n    public override void Write(ulong value)\n    {\n      m_binaryWriter.Write(value);\n    }\n    public override void Write(uint value)\n    {\n      m_binaryWriter.Write(value);\n    }\n    public override void Write(ushort value)\n    {\n      m_binaryWriter.Write(value);\n    }\n    public override void Write(float value)\n    {\n      m_binaryWriter.Write(value);\n    }\n    public override void Write(sbyte value)\n    {\n      m_binaryWriter.Write(value);\n    }\n    public override void Write(long value)\n    {\n      m_binaryWriter.Write(value);\n    }\n    public override void Write(int value)\n    {\n      m_binaryWriter.Write(value);\n    }\n    public override void Write(short value)\n    {\n      m_binaryWriter.Write(value);\n    }\n    public override void Write(double value)\n    {\n      m_binaryWriter.Write(value);\n    }\n    public override void Write(bool value)\n    {\n      m_binaryWriter.Write(value);\n    }\n    public override void Write(byte value)\n    {\n      m_binaryWriter.Write(value);\n    }\n    public override void Write(byte[] value)\n    {\n      m_binaryWriter.Write(value);\n    }\n    /// <summary>\n    /// Sets the position within the current stream.\n    /// </summary>\n    /// <param name=\"offset\">\n    /// A byte offset relative to origin.\n    /// </param>\n    /// <param name=\"origin\">\n    /// A field of <see cref=\"SeekOrigin\"/> indicating the reference point from which the new position is to be obtained..\n    /// </param>\n    /// <returns>The position with the current stream as <see cref=\"long\"/>.</returns>\n    public override long Seek(int offset, SeekOrigin origin)\n    {\n      return m_binaryWriter.Seek(offset, origin);\n    }\n    #endregion\n\n    public override void AttachToNetwork()\n    {\n      m_IBinaryDTGSender.AttachToNetwork();\n    }\n    public override IAssociationState State { get => m_IBinaryDTGSender.State; set => m_IBinaryDTGSender.State = value; }\n    #endregion\n\n    #region private\n    //vars\n    private MemoryStream m_output;\n    private BinaryWriter m_binaryWriter;\n    private IBinaryDataTransferGraphSender m_IBinaryDTGSender;\n    //methods\n    /// <summary>\n    /// Begins sending the frame.\n    /// </summary>\n    protected override void SendFrame()\n    {\n      m_binaryWriter.Flush();\n      m_IBinaryDTGSender.SendFrame(m_output.ToArray());\n      DisposeWriter();\n    }\n    /// <summary>\n    /// Called when new message is adding to the package payload.\n    /// </summary>\n    /// <param name=\"producerId\">The producer identifier.</param>\n    /// <param name=\"dataSetWriterId\">The data set writer identifier - must be unique in context of <paramref name=\"producerId\" />.</param>\n    protected override void OnMessageAdding(Guid producerId, ushort dataSetWriterId)\n    {\n      CreateUABinaryWriter(producerId, new ushort[] { dataSetWriterId });\n      base.OnMessageAdding(producerId, dataSetWriterId);\n    }\n    private void DisposeWriter()\n    {\n      if (m_binaryWriter == null)\n        return;\n      m_binaryWriter.Dispose();\n      m_output.Close();\n      m_binaryWriter = null;\n      m_output = null;\n    }\n    private void CreateUABinaryWriter(Guid producerId, IList<ushort> dataSetWriterIds)\n    {\n      m_output = new MemoryStream();\n      m_binaryWriter = new BinaryWriter(m_output);\n      EncodePacketHeaders(producerId, dataSetWriterIds);\n    }\n    #endregion\n\n  }\n}\n"
  },
  {
    "path": "Networking/SemanticData/MessageHandling/BinaryMessageDecoder.cs",
    "content": "﻿//___________________________________________________________________________________\n//\n//  Copyright (C) 2020, Mariusz Postol LODZ POLAND.\n//\n//  To be in touch join the community at GITTER: https://gitter.im/mpostol/OPC-UA-OOI\n//___________________________________________________________________________________\n\nusing System;\nusing UAOOI.Networking.SemanticData.Encoding;\n\nnamespace UAOOI.Networking.SemanticData.MessageHandling\n{\n  /// <summary>\n  /// Class BinaryMessageDecoder - provides message content binary decoding functionality.\n  /// </summary>\n  /// <remarks>\n  /// <note>Implements only simple value types. Structural types must be implemented after more details will\n  /// be available in the spec.</note>\n  /// </remarks>\n  public abstract class BinaryMessageDecoder : MessageReaderBase\n  {\n    #region constructor\n\n    /// <summary>\n    /// Initializes a new instance of the <see cref=\"BinaryMessageDecoder\" /> class.\n    /// </summary>\n    /// <param name=\"uaDecoder\">The decoder that provides methods to be used to decode OPC UA Built-in types.</param>\n    public BinaryMessageDecoder(IUADecoder uaDecoder) : base(uaDecoder)\n    {\n      b_MessageHeader = MessageHeader.GetConsumerMessageHeader(this);\n    }\n\n    #endregion constructor\n\n    #region MessageReaderBase\n\n    /// <summary>\n    /// Gets the content mask. The content mast read from the message or provided by the writer.\n    /// The order of the bits starting from the least significant bit matches the order of the data items\n    /// within the data set.\n    /// </summary>\n    /// <value>The content mask is represented as unsigned number <see cref=\"ulong\" />.\n    /// The value is provided by the message.\n    /// The order of the bits starting from the least significant bit matches the order of the data items within the data set.</value>\n    public override ulong ContentMask //TODO must be implemented - get it from message.\n    {\n      get => ulong.MaxValue;\n      protected set => throw new InvalidOperationException($\"ContentMask cannot be set\");\n    }\n\n    /// <summary>\n    /// Gets or sets the message header.\n    /// </summary>\n    /// <value>The message header.</value>\n    protected override MessageHeader MessageHeader => b_MessageHeader;\n\n    #endregion MessageReaderBase\n\n    #region private\n\n    private readonly MessageHeader b_MessageHeader;\n\n    /// <summary>\n    /// Called when there is a new message in the packet that is to be processed.\n    /// </summary>\n    protected void OnNewMessageArrived(ushort dataSetId)\n    {\n      MessageHeader.Synchronize();\n      RaiseReadMessageCompleted(dataSetId);\n    }\n\n    #endregion private\n  }\n}"
  },
  {
    "path": "Networking/SemanticData/MessageHandling/BinaryMessageEncoder.cs",
    "content": "﻿//___________________________________________________________________________________\n//\n//  Copyright (C) 2020, Mariusz Postol LODZ POLAND.\n//\n//  To be in touch join the community at GITTER: https://gitter.im/mpostol/OPC-UA-OOI\n//___________________________________________________________________________________\n\nusing System;\nusing System.IO;\nusing UAOOI.Configuration.Networking.Serialization;\nusing UAOOI.Networking.SemanticData.Encoding;\n\nnamespace UAOOI.Networking.SemanticData.MessageHandling\n{\n  /// <summary>\n  /// Class BinaryMessageEncoder - provides message content binary encoding functionality.\n  /// </summary>\n  /// <remarks>\n  /// <note>\n  /// Implements only simple value types. Structural types must be implemented after more details will\n  /// be available in the spec.\n  /// </note>\n  /// </remarks>\n  public abstract class BinaryMessageEncoder : MessageWriterBase, IBinaryHeaderEncoder\n  {\n    /// <summary>\n    /// Initializes a new instance of the <see cref=\"BinaryMessageEncoder\" /> class.\n    /// </summary>\n    /// <param name=\"uaEncoder\">The UA encoder.</param>\n    /// <param name=\"lengthFieldType\">Type of the length field.</param>\n    public BinaryMessageEncoder(IUAEncoder uaEncoder, MessageLengthFieldTypeEnum lengthFieldType) : base(uaEncoder)\n    {\n      m_lengthFieldType = lengthFieldType;\n    }\n\n    #region IBinaryHeaderWriter\n\n    /// <summary>\n    /// If implemented by the derived class sets the position within the wrapped stream.\n    /// </summary>\n    /// <param name=\"offset\">\n    /// A byte offset relative to origin.\n    /// </param>\n    /// <param name=\"origin\">\n    /// A field of <see cref=\"System.IO.SeekOrigin\"/> indicating the reference point from which the new position is to be obtained..\n    /// </param>\n    /// <returns>The position with the current stream as <see cref=\"System.Int64\"/>.</returns>\n    public abstract long Seek(int offset, SeekOrigin origin);\n\n    #endregion IBinaryHeaderWriter\n\n    #region Header\n\n    /// <summary>\n    /// Gets or sets the message header.\n    /// </summary>\n    /// <value>The message header.</value>\n    internal MessageHeader MessageHeader { get; set; }\n\n    #endregion Header\n\n    #region MessageWriterBase\n\n    /// <summary>\n    /// Creates the message.\n    /// </summary>\n    /// <param name=\"encoding\">The selected encoding for the message.</param>\n    /// <param name=\"prodicerId\">The producer identifier.</param>\n    /// <param name=\"dataSetWriterId\">The data set writer identifier.</param>\n    /// <param name=\"fieldCount\">The field count.</param>\n    /// <param name=\"sequenceNumber\">The sequence number.</param>\n    /// <param name=\"timeStamp\">The time stamp.</param>\n    /// <param name=\"configurationVersion\">The configuration version.</param>\n    protected internal override void CreateMessage\n      (FieldEncodingEnum encoding, Guid prodicerId, ushort dataSetWriterId, ushort fieldCount, ushort sequenceNumber, DateTime timeStamp, ConfigurationVersionDataType configurationVersion)\n    {\n      OnMessageAdding(prodicerId, dataSetWriterId);\n      MessageHeader = MessageHeader.GetProducerMessageHeader(this, encoding, m_lengthFieldType, MessageTypeEnum.DataKeyFrame, configurationVersion);\n      //Create message header and placeholder for further header content.\n      MessageHeader.FieldCount = fieldCount;\n      MessageHeader.MessageSequenceNumber = sequenceNumber;\n      MessageHeader.TimeStamp = timeStamp;\n    }\n\n    /// <summary>\n    /// Sends the message - evaluates condition if send the package.\n    /// </summary>\n    /// <remarks>\n    /// In current implementation one message per package is sent.\n    /// </remarks>\n    protected override void SendMessage()\n    {\n      MessageHeader.Synchronize();\n      OnMessageAdded();\n      //TODO sign and encrypt the message.\n    }\n\n    #endregion MessageWriterBase\n\n    #region private\n\n    private readonly MessageLengthFieldTypeEnum m_lengthFieldType;\n\n    /// <summary>\n    /// Called when new message is adding to the package payload.\n    /// </summary>\n    /// <param name=\"producerId\">The producer identifier.</param>\n    /// <param name=\"dataSetWriterId\">The data set writer identifier - must be unique in context of <paramref name=\"producerId\"/>.</param>\n    protected abstract void OnMessageAdding(Guid producerId, ushort dataSetWriterId);\n\n    /// <summary>\n    /// Called when the current message has been added and is ready to be sent out.\n    /// </summary>\n    protected abstract void OnMessageAdded();\n\n    #endregion private\n\n  }\n}"
  },
  {
    "path": "Networking/SemanticData/MessageHandling/BinaryPacketDecoder.cs",
    "content": "﻿\nusing System;\nusing UAOOI.Networking.SemanticData.Encoding;\n\nnamespace UAOOI.Networking.SemanticData.MessageHandling\n{\n  /// <summary>\n  /// Class BinaryPacketDecoder - OPC UA binary packet decoder.\n  /// </summary>\n  public abstract class BinaryPacketDecoder : BinaryMessageDecoder\n  {\n\n    #region creator\n    /// <summary>\n    /// Initializes a new instance of the <see cref=\"BinaryPacketDecoder\" /> class.\n    /// </summary>\n    /// <param name=\"uaDecoder\">The UA decoder.</param>\n    public BinaryPacketDecoder(IUADecoder uaDecoder) : base(uaDecoder) { }\n    #endregion\n\n    #region API\n    /// <summary>\n    /// Gets or sets the header <see cref=\"PacketHeader\"/> of the packet. The header is retrieved from the message after arriving.\n    /// </summary>\n    /// <value>The header <see cref=\"PacketHeader\"/>.</value>\n    public PacketHeader Header { get; set; }\n    #endregion\n\n    #region private\n    /// <summary>\n    /// Called by the network handler to start analyzing new packet by waking up all readers waiting for the messages by raising the event.\n    /// </summary>\n    protected void OnNewPacketArrived()\n    {\n      Header = PacketHeader.GetConsumerPacketHeader(this);\n      for (int i = 0; i < Header.MessageCount; i++)\n        OnNewMessageArrived(Header.DataSetWriterIds[i]);\n    }\n    //TODO How to configure ProducerId #148\n    protected override Guid PublisherId\n    {\n      get\n      {\n        return Header.PublisherId;\n      }\n    }\n    #endregion\n\n  }\n}\n"
  },
  {
    "path": "Networking/SemanticData/MessageHandling/BinaryPacketEncoder.cs",
    "content": "﻿\nusing System;\nusing System.Collections.Generic;\nusing UAOOI.Networking.SemanticData.Encoding;\n\nnamespace UAOOI.Networking.SemanticData.MessageHandling\n{\n  /// <summary>\n  /// Class BinaryPacketEncoder - OPC UA binary packet encoder.\n  /// </summary>\n  public abstract class BinaryPacketEncoder : BinaryMessageEncoder\n  {\n    /// <summary>\n    /// Initializes a new instance of the <see cref=\"BinaryPacketEncoder\" /> class.\n    /// </summary>\n    /// <param name=\"uaEncoder\">The ua encoder.</param>\n    /// <param name=\"lengthFieldType\">Type of the length field in the the message header.</param>\n    public BinaryPacketEncoder(IUAEncoder uaEncoder, MessageLengthFieldTypeEnum lengthFieldType) : base(uaEncoder, lengthFieldType) { }\n    /// <summary>\n    /// Gets or sets the header of the packet.\n    /// </summary>\n    /// <value>The header <see cref=\"PacketHeader\"/>.</value>\n    public PacketHeader Header { get; set; }\n\n    #region BinaryMessageEncoder\n    /// <summary>\n    /// Called when new message is adding to the package payload.\n    /// </summary>\n    /// <param name=\"producerId\">The producer identifier.</param>\n    /// <param name=\"dataSetWriterId\">The data set writer identifier - must be unique in context of <paramref name=\"producerId\" />.</param>\n    protected override void OnMessageAdding(Guid producerId, ushort dataSetWriterId) { }\n    /// <summary>\n    /// Called when the current message has been added and is ready to be sent out.\n    /// </summary>\n    protected override void OnMessageAdded()\n    {\n      SendFrame();\n    }\n    #endregion\n\n    #region private\n    //vars\n    /// <summary>\n    /// Begins sending the frame.\n    /// </summary>\n    protected abstract void SendFrame();\n    //methods\n    /// <summary>\n    /// Encodes the headers.\n    /// </summary>\n    protected void EncodePacketHeaders(Guid producerId, IList<UInt16> dataSetWriterIds)\n    {\n      Header = PacketHeader.GetProducerPacketHeader(this, producerId, dataSetWriterIds);\n      Header.WritePacketHeader();\n    }\n    #endregion\n\n  }\n}\n"
  },
  {
    "path": "Networking/SemanticData/MessageHandling/CommonDefinition.cs",
    "content": "﻿namespace UAOOI.Networking.SemanticData.MessageHandling\n{\n  /// <summary>\n  /// Class CommonDefinition and extension functions.\n  /// </summary>\n  public static class CommonDefinitions\n  {\n\n    /// <summary>\n    /// The protocol version used in the package header. move it to configuration.\n    /// </summary>\n    public static readonly byte ProtocolVersion = 110;\n\n  }\n}\n"
  },
  {
    "path": "Networking/SemanticData/MessageHandling/DataSelector.cs",
    "content": "﻿\nusing System;\n\nnamespace UAOOI.Networking.SemanticData.MessageHandling\n{\n  public class DataSelector\n  {\n    //TODO How to configure ProducerId #148\n    public Guid PublisherId;\n    public UInt16 DataSetWriterId;\n  }\n}\n"
  },
  {
    "path": "Networking/SemanticData/MessageHandling/HeaderWriter.cs",
    "content": "﻿//___________________________________________________________________________________\n//\n//  Copyright (C) 2020, Mariusz Postol LODZ POLAND.\n//\n//  To be in touch join the community at GITTER: https://gitter.im/mpostol/OPC-UA-OOI\n//___________________________________________________________________________________\n\nusing System;\nusing System.IO;\n\nnamespace UAOOI.Networking.SemanticData.MessageHandling\n{\n  /// <summary>\n  /// Class HeaderWriter - helper class supporting writing headers content.\n  /// </summary>\n  internal class HeaderWriter\n  {\n    #region API\n\n    /// <summary>\n    /// Initializes a new instance of the <see cref=\"HeaderWriter\"/> class.\n    /// </summary>\n    /// <param name=\"writer\">The writer.</param>\n    /// <param name=\"headerLength\">Length of the packet.</param>\n    internal HeaderWriter(IBinaryHeaderEncoder writer, ushort headerLength)\n    {\n      m_Length = headerLength;\n      m_Writer = writer;\n      m_BeginPosition = CurrentPosition();\n      writer.Seek(m_Length, SeekOrigin.Current);\n    }\n\n    /// <summary>\n    /// Writes the header.\n    /// </summary>\n    /// <param name=\"writeHeader\">The write header delegate encapsulating functionality used to update the header content.</param>\n    internal void WriteHeader(Action<IBinaryHeaderEncoder, ushort> writeHeader)\n    {\n      long m_CurrentPosition = SetPosition(Convert.ToInt32(m_BeginPosition));\n      writeHeader(m_Writer, DataLength(m_CurrentPosition));\n      RestorePosition();\n    }\n\n    #endregion API\n\n    #region private\n\n    //vars\n    private IBinaryHeaderEncoder m_Writer;\n\n    private readonly ushort m_Length;\n    private readonly long m_BeginPosition;\n\n    //methods\n    /// <summary>\n    /// The length of the message content.\n    /// </summary>\n    /// <returns>Calculated message data length.</returns>\n    private ushort DataLength(long currentPosition)\n    {\n      return Convert.ToUInt16(currentPosition - m_BeginPosition);\n    }\n\n    private long SetPosition(int offset)\n    {\n      long _ret = m_Writer.Seek(0, SeekOrigin.Current);\n      m_Writer.Seek(offset, SeekOrigin.Begin);\n      return _ret;\n    }\n\n    private long RestorePosition()\n    {\n      return m_Writer.Seek(0, SeekOrigin.End);\n    }\n\n    private long CurrentPosition()\n    {\n      return m_Writer.Seek(0, SeekOrigin.Current);\n    }\n\n    #endregion private\n  }\n}"
  },
  {
    "path": "Networking/SemanticData/MessageHandling/IBinaryHeaderWriter.cs",
    "content": "﻿\nusing System;\nusing System.IO;\nusing UAOOI.Networking.SemanticData.Encoding;\n\nnamespace UAOOI.Networking.SemanticData.MessageHandling\n{\n\n  /// <summary>\n  /// Interface IBinaryHeaderEncoder - instance of this interface is used to manage the message and packet headers content on the producer side.\n  /// </summary>\n  public interface IBinaryHeaderEncoder: IBinaryEncoder\n  {\n    \n    /// <summary>\n    /// Sets the position within the current stream.\n    /// </summary>\n    /// <param name=\"offset\">\n    /// A byte offset relative to origin.\n    /// </param>\n    /// <param name=\"origin\">\n    /// A field of <see cref=\"SeekOrigin\"/> indicating the reference point from which the new position is to be obtained..\n    /// </param>\n    /// <returns>The position with the current stream as <see cref=\"Int64\"/>.</returns>\n    long Seek(int offset, SeekOrigin origin);\n\n  }\n\n}\n"
  },
  {
    "path": "Networking/SemanticData/MessageHandling/IMessageHandler.cs",
    "content": "﻿//____________________________________________________________________________\n//\n//  Copyright (C) 2019, Mariusz Postol LODZ POLAND.\n//\n//  To be in touch join the community at GITTER: https://gitter.im/mpostol/OPC-UA-OOI\n//____________________________________________________________________________\n\nusing System;\nusing UAOOI.Networking.Core;\n\nnamespace UAOOI.Networking.SemanticData.MessageHandling\n{\n\n  /// <summary>\n  /// Interface IMessageHandler - provides basic functionality handling messages communication over the wire.\n  /// </summary>\n  public interface IMessageHandler : IDisposable\n  {\n\n    /// <summary>\n    /// Gets the state machine for the the <see cref=\"IMessageHandler\"/> instance.\n    /// </summary>\n    /// <value>An object of <see cref=\"IAssociationState\"/> providing implementation of the state machine governing this instance behavior.</value>\n    IAssociationState State { get; }\n    /// <summary>\n    /// Attaches to network - initialize the underlying protocol stack and establish the connection with the broker is applicable.\n    /// </summary>\n    /// <remarks>\n    /// Depending on the message transport layer type implementation of this function varies. \n    /// </remarks>\n    void AttachToNetwork();\n    /// <summary>\n    /// Gets the content mask. The content mast read from the message or provided by the writer.\n    /// The order of the bits starting from the least significant bit matches the order of the data items \n    /// within the data set.\n    /// </summary>\n    /// <value>The content mask represented as unsigned number <see cref=\"UInt64\"/>. The order of the bits starting from the least significant \n    /// bit matches the order of the data items within the data set.\n    /// </value>\n    UInt64 ContentMask { get; }\n\n  }\n\n}\n"
  },
  {
    "path": "Networking/SemanticData/MessageHandling/IMessageReader.cs",
    "content": "﻿\nusing System;\nusing UAOOI.Networking.SemanticData.DataRepository;\n\nnamespace UAOOI.Networking.SemanticData.MessageHandling\n{\n  \n  /// <summary>\n  /// Interface IMessageReader - provides functionality supporting reading the messages from the wire.\n  /// </summary>\n  public interface IMessageReader : IMessageHandler\n  {\n\n    /// <summary>\n    /// Occurs when an asynchronous operation to read a new message completes.\n    /// </summary>\n    event EventHandler<MessageEventArg> ReadMessageCompleted;\n    /// <summary>\n    /// Updates my values using inverse of control pattern.\n    /// </summary>\n    /// <param name=\"update\">Captures a delegated used to update the consumer variables using values decoded form the message.</param>\n    /// <param name=\"length\">Number of items in the data set.</param>\n    void UpdateMyValues(Func<int, IConsumerBinding> update, int length);\n\n  }\n\n}\n"
  },
  {
    "path": "Networking/SemanticData/MessageHandling/IMessageWriter.cs",
    "content": "﻿\nusing System;\nusing UAOOI.Configuration.Networking.Serialization;\nusing UAOOI.Networking.SemanticData.DataRepository;\n\nnamespace UAOOI.Networking.SemanticData.MessageHandling\n{\n\n  /// <summary>\n  /// Interface IMessageWriter - provides functionality supporting sending the messages over the wire.\n  /// </summary>\n  public interface IMessageWriter : IMessageHandler\n  {\n\n    /// <summary>\n    /// Sends the data described by a data set collection to remote destination.\n    /// </summary>\n    /// <param name=\"producerBinding\">Encapsulates functionality used by the <see cref=\"IMessageWriter\" /> to collect all the data (data set items) required to prepare new message and send it over the network.</param>\n    /// <param name=\"length\">Number of items to be send used to calculate the length of the message.</param>\n    /// <param name=\"contentMask\">The content mask represented as unsigned number <see cref=\"UInt64\" />. The order of the bits starting from the least significant\n    /// bit matches the order of the data items within the data set.</param>\n    /// <param name=\"encoding\">The encoding.</param>\n    /// <param name=\"dataSelector\">The data selector.</param>\n    /// <param name=\"messageSequenceNumber\">The message sequence number. A monotonically increasing sequence number assigned by the publisher to each message sent.</param>\n    /// <param name=\"timeStamp\">The time stamp - the time the Data was collected.</param>\n    /// <param name=\"configurationVersion\">The configuration version.</param>\n    void Send\n      (Func<int, IProducerBinding> producerBinding, ushort length, ulong contentMask, FieldEncodingEnum encoding, DataSelector dataSelector,\n       ushort messageSequenceNumber, DateTime timeStamp, ConfigurationVersionDataType configurationVersion);\n\n  }\n}\n"
  },
  {
    "path": "Networking/SemanticData/MessageHandling/MessageEventArg.cs",
    "content": "﻿\nusing System;\n\nnamespace UAOOI.Networking.SemanticData.MessageHandling\n{\n\n  /// <summary>\n  /// Class MessageEventArg - class representing an event that contains new <see cref=\"IMessageReader\"/> to be processed by the consumer or a producer outcome to be \n  /// sent over the network by the underlying message transport protocol..\n  /// </summary>\n  public class MessageEventArg : EventArgs\n  {\n\n    /// <summary>\n    /// Initializes a new instance of the <see cref=\"MessageEventArg\" /> class.\n    /// </summary>\n    /// <param name=\"newMessage\">The new message to be processed by the consumer or a producer outcome to be\n    /// sent over the network by the underlying message transport protocol.</param>\n    /// <param name=\"dataSetId\">The data set identifier.</param>\n    /// <param name=\"producerId\">The producer identifier.</param>\n    // TODO How to configure ProducerId #148\n    public MessageEventArg(IMessageReader newMessage, UInt16 dataSetId, Guid producerId)\n    {\n      MessageContent = newMessage;\n      DataSetId = dataSetId;\n      ProducerId = producerId;\n    }\n    /// <summary>\n    /// Gets the content of the just received message to be processed by the consumer or a producer outcome to be \n    /// sent over the network by the underlying message transport protocol.\n    /// </summary>\n    /// <value>The content of the message.</value>\n    internal IMessageReader MessageContent { get; private set; }\n    /// <summary>\n    /// Gets the data set identifier.\n    /// </summary>\n    /// <value>The data set identifier.</value>\n    internal UInt32 DataSetId { get; private set; }\n\n    //TODO How to configure ProducerId #148\n    internal Guid ProducerId { get; private set; }\n\n  }\n}\n"
  },
  {
    "path": "Networking/SemanticData/MessageHandling/MessageHandler.cs",
    "content": "﻿//____________________________________________________________________________\n//\n//  Copyright (C) 2019, Mariusz Postol LODZ POLAND.\n//\n//  To be in touch join the community at GITTER: https://gitter.im/mpostol/OPC-UA-OOI\n//____________________________________________________________________________\n\nusing UAOOI.Networking.Core;\n\nnamespace UAOOI.Networking.SemanticData.MessageHandling\n{\n  public abstract class MessageHandler : IMessageHandler\n  {\n\n    #region IMessageHandler\n    /// <summary>\n    /// Attaches to network - initialize the underlying protocol stack and establish the connection with the broker is applicable.\n    /// </summary>\n    /// <remarks>Depending on the message transport layer type implementation of this function varies.</remarks>\n    public abstract void AttachToNetwork();\n    /// <summary>\n    /// Gets the state machine for the the <see cref=\"IMessageHandler\" /> instance.\n    /// </summary>\n    /// <value>An object of <see cref=\"IAssociationState\" /> providing implementation of the state machine governing this instance behavior.</value>\n    public abstract IAssociationState State { get; set; }\n    /// <summary>\n    /// Gets the content mask. The content mast read from the message or provided by the writer.\n    /// The order of the bits starting from the least significant bit matches the order of the data items\n    /// within the data set.\n    /// </summary>\n    /// <value>The content mask represented as unsigned number <see cref=\"UInt64\" />. The order of the bits starting from the least significant\n    /// bit matches the order of the data items within the data set.</value>\n    public abstract ulong ContentMask { get; protected set; }\n    #endregion\n\n    #region IDisposable Support\n    private bool disposedValue = false; // To detect redundant calls\n    protected virtual void Dispose(bool disposing)\n    {\n      if (disposedValue)\n        return;\n      disposedValue = true;\n    }\n    // This code added to correctly implement the disposable pattern.\n    public void Dispose()\n    {\n      // Do not change this code. Put cleanup code in Dispose(bool disposing) above.\n      Dispose(true);\n    }\n    #endregion\n\n  }\n}\n"
  },
  {
    "path": "Networking/SemanticData/MessageHandling/MessageHandling.cd",
    "content": "﻿<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<ClassDiagram MajorVersion=\"1\" MinorVersion=\"1\">\n  <Class Name=\"UAOOI.Networking.SemanticData.MessageHandling.MessageReaderBase\" Collapsed=\"true\">\n    <Position X=\"0.5\" Y=\"2.75\" Width=\"2\" />\n    <TypeIdentifier>\n      <HashCode>AAgQAAQCAQEARAgCAAAAgCAAAWAKA0QAAEAREAAAASA=</HashCode>\n      <FileName>MessageHandling\\MessageReaderBase.cs</FileName>\n    </TypeIdentifier>\n    <Lollipop Position=\"0.2\" />\n  </Class>\n  <Class Name=\"UAOOI.Networking.SemanticData.MessageHandling.MessageWriterBase\" Collapsed=\"true\">\n    <Position X=\"7.25\" Y=\"2.75\" Width=\"2\" />\n    <TypeIdentifier>\n      <HashCode>gAAAAAAAAAAAAAAAACAAQYAAAAAAAASAAAAAAQEAAAA=</HashCode>\n      <FileName>MessageHandling\\MessageWriterBase.cs</FileName>\n    </TypeIdentifier>\n    <Lollipop Position=\"0.2\" />\n  </Class>\n  <Class Name=\"UAOOI.Networking.SemanticData.MessageHandling.BinaryMessageEncoder\" Collapsed=\"true\">\n    <Position X=\"7.25\" Y=\"4\" Width=\"2\" />\n    <TypeIdentifier>\n      <HashCode>AAAQAAAAAAAAQAAICCAAAAAAAAAAgACAAAAAAAAAAAA=</HashCode>\n      <FileName>MessageHandling\\BinaryMessageEncoder.cs</FileName>\n    </TypeIdentifier>\n    <ShowAsAssociation>\n      <Property Name=\"MessageHeader\" />\n    </ShowAsAssociation>\n    <Lollipop Position=\"0.2\" />\n  </Class>\n  <Class Name=\"UAOOI.Networking.SemanticData.MessageHandling.BinaryMessageDecoder\" Collapsed=\"true\">\n    <Position X=\"0.5\" Y=\"4\" Width=\"2\" />\n    <TypeIdentifier>\n      <HashCode>AAAAAAAAAAAAQAAAAAAAQAAAAAAAAAAACAAAAAAAIAA=</HashCode>\n      <FileName>MessageHandling\\BinaryMessageDecoder.cs</FileName>\n    </TypeIdentifier>\n    <ShowAsAssociation>\n      <Property Name=\"MessageHeader\" />\n    </ShowAsAssociation>\n  </Class>\n  <Class Name=\"UAOOI.Networking.SemanticData.MessageHandling.BinaryDecoder\" Collapsed=\"true\">\n    <Position X=\"0.5\" Y=\"7\" Width=\"2\" />\n    <TypeIdentifier>\n      <HashCode>AAAAAAQCACEAAQgCAAAAgAAAADACAUAAAEARFAQEAAA=</HashCode>\n      <FileName>MessageHandling\\BinaryDecoder.cs</FileName>\n    </TypeIdentifier>\n  </Class>\n  <Class Name=\"UAOOI.Networking.SemanticData.MessageHandling.BinaryEncoder\" Collapsed=\"true\">\n    <Position X=\"7.25\" Y=\"7\" Width=\"2\" />\n    <TypeIdentifier>\n      <HashCode>AAAAAAIAACAAAAQAGIAAAAAAQAAAgEAAAAAABAUAAAA=</HashCode>\n      <FileName>MessageHandling\\BinaryEncoder.cs</FileName>\n    </TypeIdentifier>\n  </Class>\n  <Class Name=\"UAOOI.Networking.SemanticData.MessageHandling.MessageHeader\" Collapsed=\"true\">\n    <Position X=\"4\" Y=\"4\" Width=\"1.5\" />\n    <TypeIdentifier>\n      <HashCode>AIAAAACAIgAEAAAAAQBAAAAAIAAYAAAAIAAAAAAAAgA=</HashCode>\n      <FileName>MessageHandling\\MessageHeader.cs</FileName>\n    </TypeIdentifier>\n  </Class>\n  <Class Name=\"UAOOI.Networking.SemanticData.MessageHandling.PacketHeader\" Collapsed=\"true\">\n    <Position X=\"4\" Y=\"5.5\" Width=\"1.5\" />\n    <TypeIdentifier>\n      <HashCode>gAAAAAAQAAAAAAAAAAAAAAgAAQAAAAAAQIALAAAACAg=</HashCode>\n      <FileName>MessageHandling\\PacketHeader.cs</FileName>\n    </TypeIdentifier>\n  </Class>\n  <Class Name=\"UAOOI.Networking.SemanticData.MessageHandling.BinaryPacketDecoder\" Collapsed=\"true\">\n    <Position X=\"0.5\" Y=\"5.5\" Width=\"2\" />\n    <TypeIdentifier>\n      <HashCode>BAAAAAAAAAAAAAAAAAAAAAAAAQAgAAAAAAAAAAAAAAA=</HashCode>\n      <FileName>MessageHandling\\BinaryPacketDecoder.cs</FileName>\n    </TypeIdentifier>\n    <ShowAsAssociation>\n      <Property Name=\"Header\" />\n    </ShowAsAssociation>\n  </Class>\n  <Class Name=\"UAOOI.Networking.SemanticData.MessageHandling.BinaryPacketEncoder\" Collapsed=\"true\">\n    <Position X=\"7.25\" Y=\"5.5\" Width=\"2\" />\n    <TypeIdentifier>\n      <HashCode>BAAAAAAAAAAAAAAIAAAAAAQAQAAAgAAAAAAAAAAAAAA=</HashCode>\n      <FileName>MessageHandling\\BinaryPacketEncoder.cs</FileName>\n    </TypeIdentifier>\n    <ShowAsAssociation>\n      <Property Name=\"Header\" />\n    </ShowAsAssociation>\n  </Class>\n  <Class Name=\"UAOOI.Networking.SemanticData.MessageHandling.MessageHandler\" Collapsed=\"true\">\n    <Position X=\"4\" Y=\"1.5\" Width=\"1.5\" />\n    <TypeIdentifier>\n      <HashCode>AAAAAAAAACAAAAAAAAAAQAAAAAAAAAAAAAAABgQAAAA=</HashCode>\n      <FileName>MessageHandling\\MessageHandler.cs</FileName>\n    </TypeIdentifier>\n    <Lollipop Position=\"0.2\" />\n  </Class>\n  <Interface Name=\"UAOOI.Networking.SemanticData.MessageHandling.IMessageHandler\" Collapsed=\"true\">\n    <Position X=\"3.75\" Y=\"7.25\" Width=\"1.75\" />\n    <TypeIdentifier>\n      <HashCode>AAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAABAQAAAA=</HashCode>\n      <FileName>MessageHandling\\IMessageHandler.cs</FileName>\n    </TypeIdentifier>\n  </Interface>\n  <Interface Name=\"UAOOI.Networking.SemanticData.MessageHandling.IMessageReader\" Collapsed=\"true\">\n    <Position X=\"2.75\" Y=\"8.5\" Width=\"1.5\" />\n    <TypeIdentifier>\n      <HashCode>AAAQAAAAAAAAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAA=</HashCode>\n      <FileName>MessageHandling\\IMessageReader.cs</FileName>\n    </TypeIdentifier>\n  </Interface>\n  <Interface Name=\"UAOOI.Networking.SemanticData.MessageHandling.IMessageWriter\" Collapsed=\"true\">\n    <Position X=\"5\" Y=\"8.5\" Width=\"1.5\" />\n    <TypeIdentifier>\n      <HashCode>AAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAA=</HashCode>\n      <FileName>MessageHandling\\IMessageWriter.cs</FileName>\n    </TypeIdentifier>\n  </Interface>\n  <Interface Name=\"UAOOI.Networking.SemanticData.MessageHandling.IBinaryHeaderEncoder\" Collapsed=\"true\">\n    <Position X=\"7.25\" Y=\"8.5\" Width=\"2\" />\n    <TypeIdentifier>\n      <HashCode>AAAAAAAAAAAAAAAACAAAAAAAAAAAAAAAAAAAAAAAAAA=</HashCode>\n      <FileName>MessageHandling\\IBinaryHeaderWriter.cs</FileName>\n    </TypeIdentifier>\n  </Interface>\n  <Font Name=\"Segoe UI\" Size=\"9\" />\n</ClassDiagram>"
  },
  {
    "path": "Networking/SemanticData/MessageHandling/MessageHeader.cs",
    "content": "﻿//___________________________________________________________________________________\n//\n//  Copyright (C) 2020, Mariusz Postol LODZ POLAND.\n//\n//  To be in touch join the community at GITTER: https://gitter.im/mpostol/OPC-UA-OOI\n//___________________________________________________________________________________\n\nusing System;\nusing System.Diagnostics;\nusing UAOOI.Configuration.Networking.Serialization;\nusing UAOOI.Networking.SemanticData.Encoding;\n\nnamespace UAOOI.Networking.SemanticData.MessageHandling\n{\n  /// <summary>\n  /// Class MessageHeader  represent information in the protocol message header.\n  /// </summary>\n  public abstract class MessageHeader\n  {\n    #region API\n\n    /// <summary>\n    /// Gets the producer message header.\n    /// </summary>\n    /// <param name=\"writer\">The writer <see cref=\"IBinaryHeaderEncoder\" /> to populate the payload with the header information.</param>\n    /// <param name=\"encoding\">The encoding.</param>\n    /// <param name=\"lengthFieldType\">Type of the length field in the the message header.</param>\n    /// <param name=\"messageType\">Type of the message.</param>\n    /// <param name=\"configurationVersion\">The configuration version.</param>\n    /// <returns>MessageHeader.</returns>\n    internal static MessageHeader GetProducerMessageHeader(IBinaryHeaderEncoder writer, FieldEncodingEnum encoding, MessageLengthFieldTypeEnum lengthFieldType, MessageTypeEnum messageType, ConfigurationVersionDataType configurationVersion)\n    {\n      return new ProducerMessageHeader(writer, encoding, lengthFieldType, messageType, configurationVersion);\n    }\n\n    /// <summary>\n    /// Gets the consumer message header.\n    /// </summary>\n    /// <param name=\"reader\">The reader <see cref=\"IBinaryDecoder\" /> used to read the header data from the message.</param>\n    /// <returns>MessageHeader.</returns>\n    internal static MessageHeader GetConsumerMessageHeader(IBinaryDecoder reader)\n    {\n      return new ConsumerMessageHeader(reader);\n    }\n\n    /// <summary>\n    /// Synchronizes this instance content with the underlying stream using provided <see cref=\"IBinaryDecoder\"/> or <see cref=\"IBinaryHeaderEncoder\"/> depending on the message handler role.\n    /// </summary>\n    internal abstract void Synchronize();\n\n    #endregion API\n\n    #region Header\n\n    /// <summary>\n    /// Gets or sets the type of the message.\n    /// </summary>\n    /// <value>The type of the message.</value>\n    public abstract MessageTypeEnum MessageType { get; }\n\n    /// <summary>\n    /// Gets or sets the encoding flags.\n    /// </summary>\n    /// <value>The encoding flags.</value>\n    public abstract byte EncodingFlags { get; }\n\n    /// <summary>\n    /// Gets or sets the length of the message.\n    /// </summary>\n    /// <value>The length of the message data structure including the header information and length field.</value>\n    public abstract uint MessageLength { get; }\n\n    /// <summary>\n    /// Gets or sets the message sequence number.\n    /// </summary>\n    /// <remarks>\n    /// A receiver shall ignore older messages than the last sequence processed. Receivers need to be aware of sequence numbers roll over.\n    /// </remarks>\n    /// <value>The message sequence number. A monotonically increasing sequence number assigned by the publisher to each message sent.\n    /// </value>\n    public abstract ushort MessageSequenceNumber { get; internal set; }\n\n    /// <summary>\n    /// Gets or sets the configuration version.\n    /// </summary>\n    /// <value>The configuration version used as consistency check for the metadata about the published variables.</value>\n    public abstract ConfigurationVersionDataType ConfigurationVersion { get; internal set; }\n\n    /// <summary>\n    /// Gets or sets the time stamp of th data contained in the message.\n    /// </summary>\n    /// <value>The time the Data was collected.</value>\n    public abstract DateTime TimeStamp { get; internal set; }\n\n    /// <summary>\n    /// Gets or sets the field count.\n    /// </summary>\n    /// <value>Number of fields of the DataSet contained in the Message.</value>\n    public abstract ushort FieldCount { get; internal set; }\n\n    /// <summary>\n    /// Gets the fields encoding.\n    /// </summary>\n    /// <value>The value of type <see cref=\"FieldEncodingEnum\"/> representing fields encoding.</value>\n    public FieldEncodingEnum FieldsEncoding => (FieldEncodingEnum)(EncodingFlags & EncodingFlagsFieldEncodingMask);\n\n    #endregion Header\n\n    #region private\n\n    //vars\n    private const byte EncodingFlagsMessageLengthMask = 0x3;\n\n    private const byte EncodingFlagsFieldEncodingMask = 0xC;\n\n    //types\n    private class ProducerMessageHeader : MessageHeader\n    {\n      #region creator\n\n      public ProducerMessageHeader(IBinaryHeaderEncoder writer, FieldEncodingEnum encoding, MessageLengthFieldTypeEnum lengthFieldType, MessageTypeEnum messageType, ConfigurationVersionDataType configurationVersion)\n      {\n        m_MessageType = messageType;\n        m_Encoding = encoding;\n        m_lengthFieldType = lengthFieldType;\n        m_HeaderWriter = new HeaderWriter(writer, PackageHeaderLength());\n        MessageSequenceNumber = 0;\n        ConfigurationVersion = configurationVersion;\n      }\n\n      #endregion creator\n\n      #region MessageHeader\n\n      public override MessageTypeEnum MessageType => m_MessageType;\n      public override byte EncodingFlags => (byte)((byte)m_Encoding | (byte)m_lengthFieldType);\n\n      /// <summary>\n      /// Gets or sets the length of the message.\n      /// </summary>\n      /// <value>The length of the message data structure including the header information and length field.</value>\n      /// <exception cref=\"System.ApplicationException\">This operation is not applicable for the Producer Message Header</exception>\n      public override uint MessageLength => throw new ApplicationException(\"This operation is not applicable for the Producer Message Header\");\n\n      public override ushort MessageSequenceNumber\n      {\n        get; internal set;\n      }\n\n      public override ConfigurationVersionDataType ConfigurationVersion\n      {\n        get; internal set;\n      }\n\n      public override DateTime TimeStamp\n      {\n        get; internal set;\n      }\n\n      public override ushort FieldCount\n      {\n        get; internal set;\n      }\n\n      internal override void Synchronize()\n      {\n        m_HeaderWriter.WriteHeader(WriteHeader);\n      }\n\n      #endregion MessageHeader\n\n      #region private\n\n      //vars\n      private HeaderWriter m_HeaderWriter;\n\n      private readonly FieldEncodingEnum m_Encoding = FieldEncodingEnum.VariantFieldEncoding;\n      private readonly MessageLengthFieldTypeEnum m_lengthFieldType = MessageLengthFieldTypeEnum.TwoBytes;\n      private readonly MessageTypeEnum m_MessageType;\n\n      //methods\n      private ushort PackageHeaderLength()\n      {\n        ushort _length = 6;\n        switch (m_lengthFieldType)\n        {\n          case MessageLengthFieldTypeEnum.OneByte:\n            _length += 1;\n            break;\n\n          case MessageLengthFieldTypeEnum.TwoBytes:\n            _length += 2;\n            break;\n\n          case MessageLengthFieldTypeEnum.FourBytes:\n            _length += 4;\n            break;\n        }\n        switch (m_MessageType)\n        {\n          case MessageTypeEnum.DataKeyFrame:\n          case MessageTypeEnum.DataDeltaFrame:\n          case MessageTypeEnum.Event:\n            _length += 10;\n            break;\n\n          case MessageTypeEnum.KeepAlive:\n            break;\n\n          case MessageTypeEnum.DataSetMetadata:\n            break;\n\n          default:\n            break;\n        }\n        return _length;\n      }\n\n      private void WriteHeader(IBinaryHeaderEncoder writer, ushort messageLength)\n      {\n        writer.Write((byte)MessageType);\n        writer.Write(EncodingFlags);\n        switch (m_lengthFieldType)\n        {\n          case MessageLengthFieldTypeEnum.OneByte:\n            writer.Write(Convert.ToByte(messageLength));\n            break;\n\n          case MessageLengthFieldTypeEnum.TwoBytes:\n            writer.Write(Convert.ToUInt16(messageLength));\n            break;\n\n          case MessageLengthFieldTypeEnum.FourBytes:\n            writer.Write(Convert.ToUInt32(messageLength));\n            break;\n        }\n        writer.Write(MessageSequenceNumber);\n        writer.Write(ConfigurationVersion.MajorVersion);\n        writer.Write(ConfigurationVersion.MinorVersion);\n        switch (MessageType)\n        {\n          case MessageTypeEnum.DataKeyFrame:\n          case MessageTypeEnum.DataDeltaFrame:\n          case MessageTypeEnum.Event:\n            writer.Write(TimeStamp);\n            writer.Write(FieldCount);\n            break;\n\n          case MessageTypeEnum.KeepAlive:\n            break;\n\n          case MessageTypeEnum.DataSetMetadata:\n            break;\n\n          default:\n            break;\n        }\n      }\n\n      #endregion private\n    }\n\n    private class ConsumerMessageHeader : MessageHeader\n    {\n      #region creator\n\n      public ConsumerMessageHeader(IBinaryDecoder reader)\n      {\n        m_reader = reader;\n      }\n\n      #endregion creator\n\n      #region MessageHeader\n\n      public override MessageTypeEnum MessageType\n      {\n        get\n        {\n          AssertSynchronized();\n          return m_MessageType;\n        }\n      }\n\n      public override byte EncodingFlags\n      {\n        get\n        {\n          AssertSynchronized();\n          return m_EncodingFlags;\n        }\n      }\n\n      public override uint MessageLength\n      {\n        get\n        {\n          AssertSynchronized();\n          return m_MessageLength;\n        }\n      }\n\n      public override ushort MessageSequenceNumber\n      {\n        get\n        {\n          AssertSynchronized();\n          return m_MessageSequenceNumber;\n        }\n        internal set => throw new ApplicationException(m_OperationIsNotApplicableMessage);\n      }\n\n      public override ConfigurationVersionDataType ConfigurationVersion\n      {\n        get\n        {\n          AssertSynchronized();\n          return m_ConfigurationVersion;\n        }\n        internal set => throw new ApplicationException(m_OperationIsNotApplicableMessage);\n      }\n\n      public override DateTime TimeStamp\n      {\n        get\n        {\n          AssertSynchronized();\n          return m_TimeStamp;\n        }\n        internal set => throw new ApplicationException(m_OperationIsNotApplicableMessage);\n      }\n\n      public override ushort FieldCount\n      {\n        get\n        {\n          AssertSynchronized();\n          return m_FieldCount;\n        }\n        internal set => throw new ApplicationException(m_OperationIsNotApplicableMessage);\n      }\n\n      internal override void Synchronize()\n      {\n        m_MessageType = (MessageTypeEnum)m_reader.ReadByte();\n        m_EncodingFlags = m_reader.ReadByte();\n        switch ((MessageLengthFieldTypeEnum)(m_EncodingFlags & EncodingFlagsMessageLengthMask))\n        {\n          case MessageLengthFieldTypeEnum.OneByte:\n            m_MessageLength = m_reader.ReadByte();\n            break;\n\n          case MessageLengthFieldTypeEnum.TwoBytes:\n            m_MessageLength = m_reader.ReadUInt16();\n            break;\n\n          case MessageLengthFieldTypeEnum.FourBytes:\n            m_MessageLength = m_reader.ReadUInt32();\n            break;\n        }\n        m_MessageSequenceNumber = m_reader.ReadUInt16();\n        m_ConfigurationVersion.MajorVersion = m_reader.ReadByte();\n        m_ConfigurationVersion.MinorVersion = m_reader.ReadByte();\n        switch (m_MessageType)\n        {\n          case MessageTypeEnum.DataKeyFrame:\n          case MessageTypeEnum.DataDeltaFrame:\n          case MessageTypeEnum.Event:\n            m_TimeStamp = m_reader.ReadDateTime();\n            m_FieldCount = m_reader.ReadUInt16();\n            break;\n\n          case MessageTypeEnum.KeepAlive:\n            break;\n\n          case MessageTypeEnum.DataSetMetadata:\n            break;\n\n          default:\n            break;\n        }\n        m_IsSynchronized = true;\n      }\n\n      #endregion MessageHeader\n\n      #region private\n\n      //vars\n      private const string m_OperationIsNotApplicableMessage = \"This operation is not applicable for the consumer message header\";\n\n      private bool m_IsSynchronized = false;\n      private IBinaryDecoder m_reader;\n      private uint m_MessageLength;\n      private byte m_EncodingFlags;\n      private ushort m_MessageSequenceNumber;\n      private ConfigurationVersionDataType m_ConfigurationVersion = new ConfigurationVersionDataType() { MajorVersion = 0, MinorVersion = 0 };\n      private DateTime m_TimeStamp;\n      private MessageTypeEnum m_MessageType;\n      private ushort m_FieldCount;\n\n      //methods\n      [Conditional(\"DEBUG\")]\n      private void AssertSynchronized()\n      {\n        Debug.Assert(m_IsSynchronized, \"Producer message must be synchronized with the underlying stream before the header fields will be available.\");\n      }\n\n      #endregion private\n    }\n\n    /// <summary>\n    /// Initializes a new instance of the <see cref=\"MessageHeader\"/> class.\n    /// </summary>\n    protected MessageHeader() { }\n\n    #endregion private\n  }\n}"
  },
  {
    "path": "Networking/SemanticData/MessageHandling/MessageLengthEnum.cs",
    "content": "﻿\nusing System;\n\nnamespace UAOOI.Networking.SemanticData.MessageHandling\n{\n  /// <summary>\n  /// Enum MessageLengthFieldTypeEnum - defines the type of the length field in the message header.\n  /// </summary>\n  public enum MessageLengthFieldTypeEnum : byte\n  {\n\n    /// <summary>\n    /// The field type is byte\n    /// </summary>\n    OneByte = 0x0,\n    /// <summary>\n    /// The field type is <see cref=\"UInt16\"/>\n    /// </summary>\n    TwoBytes = 0x1,\n    /// <summary>\n    /// The field type is <see cref=\"UInt32\"/>\n    /// </summary>\n    FourBytes = 0x2,\n    /// <summary>\n    /// The value is reserved and not applicable for the current protocol version.\n    /// </summary>\n    Reserver = 0x3\n\n  }\n}\n"
  },
  {
    "path": "Networking/SemanticData/MessageHandling/MessageReaderBase.cs",
    "content": "﻿//____________________________________________________________________________\n//\n//  Copyright (C) 2020, Mariusz Postol LODZ POLAND.\n//\n//  To be in touch join the community at GITTER: https://gitter.im/mpostol/OPC-UA-OOI\n//____________________________________________________________________________\n\nusing System;\nusing UAOOI.Configuration.Networking.Serialization;\nusing UAOOI.Networking.Core;\nusing UAOOI.Networking.SemanticData.DataRepository;\nusing UAOOI.Networking.SemanticData.Encoding;\n\nnamespace UAOOI.Networking.SemanticData.MessageHandling\n{\n  /// <summary>\n  /// Class MessageReaderBase - helper class providing basic implementation of the <see cref=\"IMessageReader\"/> interface\n  /// </summary>\n  public abstract class MessageReaderBase : MessageHandler, IMessageReader, IBinaryDecoder\n  {\n    #region creator\n\n    /// <summary>\n    /// Initializes a new instance of the <see cref=\"MessageReaderBase\"/> class providing basic implementation of the <see cref=\"IMessageReader\"/> interface.\n    /// </summary>\n    /// <param name=\"uaDecoder\">The decoder that provides methods to be used to decode OPC UA Built-in types.</param>\n    public MessageReaderBase(IUADecoder uaDecoder)\n    {\n      m_UADecoder = uaDecoder ?? throw new ArgumentNullException(nameof(uaDecoder));\n      m_ReadValueDelegate = ReadValueVariant;\n    }\n\n    #endregion creator\n\n    #region IMessageReader\n\n    /// <summary>\n    /// Occurs when an asynchronous operation to read a new message completes.\n    /// </summary>\n    public event EventHandler<MessageEventArg> ReadMessageCompleted;\n\n    /// <summary>\n    /// Updates my values using inverse of control pattern.\n    /// </summary>\n    /// <param name=\"update\">Captures a delegated used to update the consumer variables using values decoded form the message.</param>\n    /// <param name=\"length\">Number of items in the data set.</param>\n    void IMessageReader.UpdateMyValues(Func<int, IConsumerBinding> update, int length)\n    {\n      //UInt64 _mask = 0x1;\n      for (int i = 0; i < length; i++)\n      {\n        if (EndOfMessage())\n        {\n          Diagnostics.ReactiveNetworkingEventSource.Log.MessageInconsistency(i);\n          break;\n        }\n        //TODO: Implement ContentMask https://github.com/mpostol/OPC-UA-OOI/issues/89\n        //if ((ContentMask & _mask) > 0)\n        //{\n        IConsumerBinding _binding = update(i);\n        switch (MessageHeader.FieldsEncoding)\n        {\n          case FieldEncodingEnum.VariantFieldEncoding:\n            ReadValueVariant(_binding);\n            break;\n\n          case FieldEncodingEnum.CompressedFieldEncoding:\n            ReadValue(_binding);\n            break;\n\n          case FieldEncodingEnum.DataValueFieldEncoding:\n            ReadDataValue(_binding);\n            break;\n        }\n        //}\n        //_mask = _mask << 1;\n      }\n    }\n\n    #endregion IMessageReader\n\n    #region IBinaryDecoder\n\n    public abstract ulong ReadUInt64();\n\n    public abstract uint ReadUInt32();\n\n    public abstract ushort ReadUInt16();\n\n    public abstract string ReadString();\n\n    public abstract float ReadSingle();\n\n    public abstract sbyte ReadSByte();\n\n    public abstract long ReadInt64();\n\n    public abstract int ReadInt32();\n\n    public abstract short ReadInt16();\n\n    public abstract double ReadDouble();\n\n    public abstract char ReadChar();\n\n    public abstract byte ReadByte();\n\n    public abstract bool ReadBoolean();\n\n    public abstract byte[] ReadBytes(int count);\n\n    public DateTime ReadDateTime()\n    {\n      return m_UADecoder.ReadDateTime(this);\n    }\n\n    public Guid ReadGuid()\n    {\n      return m_UADecoder.ReadGuid(this);\n    }\n\n    #endregion IBinaryDecoder\n\n    #region private\n\n    //vars\n    private IUADecoder m_UADecoder;\n\n    private readonly Action<IConsumerBinding> m_ReadValueDelegate = null;\n\n    /// <summary>\n    /// Signals the end of message.\n    /// </summary>\n    /// <returns><c>true</c> if there is end of message condition, <c>false</c> otherwise.</returns>\n    protected abstract bool EndOfMessage();\n\n    /// <summary>\n    /// Gets the publisher identifier.\n    /// </summary>\n    /// <value>The publisher identifier.</value>\n    protected abstract Guid PublisherId { get; }\n\n    //methods\n    /// <summary>\n    /// Gets the message header.\n    /// </summary>\n    /// <value>The message header <see cref=\"MessageHeader\"/>.</value>\n    protected abstract MessageHeader MessageHeader { get; }\n\n    /// <summary>\n    /// Raises the read message completed event.\n    /// </summary>\n    protected void RaiseReadMessageCompleted(ushort dataSetId)\n    {\n      //TODO ConsumerAssociation - skip message if not operational #133\n      if (State.State != HandlerState.Operational)\n        return;\n      ReadMessageCompleted?.Invoke(this, new MessageEventArg(this, dataSetId, PublisherId));\n    }\n\n    private void ReadValue(IConsumerBinding consumerBinding)\n    {\n      object _value = null;\n      switch (consumerBinding.Encoding.BuiltInType)\n      {\n        case BuiltInType.Boolean:\n          if (consumerBinding.Encoding.ValueRank < 0)\n            _value = ReadBoolean();\n          else\n            _value = m_UADecoder.ReadArray(this, ReadBoolean, consumerBinding.Encoding.ValueRank > 1);\n          break;\n\n        case BuiltInType.SByte:\n          if (consumerBinding.Encoding.ValueRank < 0)\n            _value = ReadSByte();\n          else\n            _value = m_UADecoder.ReadArray(this, ReadSByte, consumerBinding.Encoding.ValueRank > 1);\n          break;\n\n        case BuiltInType.Byte:\n          if (consumerBinding.Encoding.ValueRank < 0)\n            _value = ReadByte();\n          else\n            _value = m_UADecoder.ReadArray(this, ReadByte, consumerBinding.Encoding.ValueRank > 1);\n          break;\n\n        case BuiltInType.Int16:\n          if (consumerBinding.Encoding.ValueRank < 0)\n            _value = ReadInt16();\n          else\n            _value = m_UADecoder.ReadArray(this, ReadInt16, consumerBinding.Encoding.ValueRank > 1);\n          break;\n\n        case BuiltInType.UInt16:\n          if (consumerBinding.Encoding.ValueRank < 0)\n            _value = ReadUInt16();\n          else\n            _value = m_UADecoder.ReadArray(this, ReadUInt16, consumerBinding.Encoding.ValueRank > 1);\n          break;\n\n        case BuiltInType.Int32:\n          if (consumerBinding.Encoding.ValueRank < 0)\n            _value = ReadInt32();\n          else\n            _value = m_UADecoder.ReadArray(this, ReadInt32, consumerBinding.Encoding.ValueRank > 1);\n          break;\n\n        case BuiltInType.UInt32:\n          if (consumerBinding.Encoding.ValueRank < 0)\n            _value = ReadUInt32();\n          else\n            _value = m_UADecoder.ReadArray(this, ReadUInt32, consumerBinding.Encoding.ValueRank > 1);\n          break;\n\n        case BuiltInType.Int64:\n          if (consumerBinding.Encoding.ValueRank < 0)\n            _value = ReadInt64();\n          else\n            _value = m_UADecoder.ReadArray(this, ReadInt64, consumerBinding.Encoding.ValueRank > 1);\n          break;\n\n        case BuiltInType.UInt64:\n          if (consumerBinding.Encoding.ValueRank < 0)\n            _value = ReadUInt64();\n          else\n            _value = m_UADecoder.ReadArray(this, ReadUInt64, consumerBinding.Encoding.ValueRank > 1);\n          break;\n\n        case BuiltInType.Float:\n          if (consumerBinding.Encoding.ValueRank < 0)\n            _value = ReadSingle();\n          else\n            _value = m_UADecoder.ReadArray(this, ReadSingle, consumerBinding.Encoding.ValueRank > 1);\n          break;\n\n        case BuiltInType.Double:\n          if (consumerBinding.Encoding.ValueRank < 0)\n            _value = ReadDouble();\n          else\n            _value = m_UADecoder.ReadArray(this, ReadDouble, consumerBinding.Encoding.ValueRank > 1);\n          break;\n\n        case BuiltInType.String:\n          if (consumerBinding.Encoding.ValueRank < 0)\n            _value = m_UADecoder.ReadString(this);\n          else\n            _value = m_UADecoder.ReadArray(this, () => m_UADecoder.ReadString(this), consumerBinding.Encoding.ValueRank > 1);\n          break;\n\n        case BuiltInType.DateTime:\n          if (consumerBinding.Encoding.ValueRank < 0)\n            _value = m_UADecoder.ReadDateTime(this);\n          else\n            _value = m_UADecoder.ReadArray(this, () => m_UADecoder.ReadDateTime(this), consumerBinding.Encoding.ValueRank > 1);\n          break;\n\n        case BuiltInType.Guid:\n          if (consumerBinding.Encoding.ValueRank < 0)\n            _value = m_UADecoder.ReadGuid(this);\n          else\n            _value = m_UADecoder.ReadArray(this, () => m_UADecoder.ReadGuid(this), consumerBinding.Encoding.ValueRank > 1);\n          break;\n\n        case BuiltInType.ByteString:\n          if (consumerBinding.Encoding.ValueRank < 0)\n            m_UADecoder.ReadByteString(this);\n          else\n            _value = m_UADecoder.ReadArray(this, () => m_UADecoder.ReadByteString(this), consumerBinding.Encoding.ValueRank > 1);\n          break;\n\n        case BuiltInType.XmlElement:\n          if (consumerBinding.Encoding.ValueRank < 0)\n            _value = m_UADecoder.ReadXmlElement(this);\n          else\n            _value = m_UADecoder.ReadArray(this, () => m_UADecoder.ReadXmlElement(this), consumerBinding.Encoding.ValueRank > 1);\n          break;\n\n        case BuiltInType.NodeId:\n          if (consumerBinding.Encoding.ValueRank < 0)\n            _value = m_UADecoder.ReadNodeId(this);\n          else\n            _value = m_UADecoder.ReadArray(this, () => m_UADecoder.ReadNodeId(this), consumerBinding.Encoding.ValueRank > 1);\n          break;\n\n        case BuiltInType.ExpandedNodeId:\n          if (consumerBinding.Encoding.ValueRank < 0)\n            _value = m_UADecoder.ReadExpandedNodeId(this);\n          else\n            _value = m_UADecoder.ReadArray(this, () => m_UADecoder.ReadExpandedNodeId(this), consumerBinding.Encoding.ValueRank > 1);\n          break;\n\n        case BuiltInType.StatusCode:\n          if (consumerBinding.Encoding.ValueRank < 0)\n            _value = m_UADecoder.ReadStatusCode(this);\n          else\n            _value = m_UADecoder.ReadArray(this, () => m_UADecoder.ReadStatusCode(this), consumerBinding.Encoding.ValueRank > 1);\n          break;\n\n        case BuiltInType.QualifiedName:\n          if (consumerBinding.Encoding.ValueRank < 0)\n            _value = m_UADecoder.ReadQualifiedName(this);\n          else\n            _value = m_UADecoder.ReadArray(this, () => m_UADecoder.ReadQualifiedName(this), consumerBinding.Encoding.ValueRank > 1);\n          break;\n\n        case BuiltInType.LocalizedText:\n          if (consumerBinding.Encoding.ValueRank < 0)\n            _value = m_UADecoder.ReadLocalizedText(this);\n          else\n            _value = m_UADecoder.ReadArray(this, () => m_UADecoder.ReadLocalizedText(this), consumerBinding.Encoding.ValueRank > 1);\n          break;\n\n        case BuiltInType.ExtensionObject:\n          if (consumerBinding.Encoding.ValueRank < 0)\n            _value = m_UADecoder.ReadExtensionObject(this);\n          else\n            _value = m_UADecoder.ReadArray(this, () => m_UADecoder.ReadExtensionObject(this), consumerBinding.Encoding.ValueRank > 1);\n          break;\n\n        case BuiltInType.DataValue:\n          if (consumerBinding.Encoding.ValueRank < 0)\n            _value = m_UADecoder.ReadDataValue(this);\n          else\n            _value = m_UADecoder.ReadArray(this, () => m_UADecoder.ReadDataValue(this), consumerBinding.Encoding.ValueRank > 1);\n          break;\n\n        case BuiltInType.Variant:\n          if (consumerBinding.Encoding.ValueRank < 0)\n            _value = m_UADecoder.ReadVariant(this);\n          else\n            _value = m_UADecoder.ReadArray(this, () => m_UADecoder.ReadVariant(this), consumerBinding.Encoding.ValueRank > 1);\n          break;\n\n        case BuiltInType.DiagnosticInfo:\n          if (consumerBinding.Encoding.ValueRank < 0)\n            _value = m_UADecoder.ReadDiagnosticInfo(this);\n          else\n            _value = m_UADecoder.ReadArray(this, () => m_UADecoder.ReadDiagnosticInfo(this), consumerBinding.Encoding.ValueRank > 1);\n          break;\n\n        default:\n          throw new ArgumentOutOfRangeException(string.Format(\"Impossible to convert the type {0}\", consumerBinding.Encoding));\n      }\n      consumerBinding.Assign2Repository(_value);\n    }\n\n    private void ReadValueVariant(IConsumerBinding consumerBinding)\n    {\n      IVariant _ret = m_UADecoder.ReadVariant(this);\n      AssertTypeMach(_ret.UATypeInfo, consumerBinding.Encoding);\n      consumerBinding.Assign2Repository(_ret.Value);\n    }\n\n    private void ReadDataValue(IConsumerBinding _binding)\n    {\n      throw new NotImplementedException();\n    }\n\n    private void AssertTypeMach(UATypeInfo uATypeInfo, UATypeInfo encoding)\n    {\n      //TODO MessageReaderBase.AssertTypeMach - must be implemented\n    }\n\n    #endregion private\n  }\n}"
  },
  {
    "path": "Networking/SemanticData/MessageHandling/MessageTypeEnum.cs",
    "content": "﻿\nnamespace UAOOI.Networking.SemanticData.MessageHandling\n{\n  /// <summary>\n  /// Enum MessageTypeEnum - The type of the message.\n  /// </summary>\n  public enum MessageTypeEnum : byte\n  {\n\n    /// <summary>\n    /// The data key frame\n    /// </summary>\n    DataKeyFrame = 0x1,\n    /// <summary>\n    /// The data delta frame\n    /// </summary>\n    DataDeltaFrame = 0x2,\n    /// <summary>\n    /// The event frame\n    /// </summary>\n    Event = 0x3,\n    /// <summary>\n    /// The keep alive frame\n    /// </summary>\n    KeepAlive = 0x4,\n    /// <summary>\n    /// The data set metadata frame\n    /// </summary>\n    DataSetMetadata = 0x5,\n\n  }\n\n}\n"
  },
  {
    "path": "Networking/SemanticData/MessageHandling/MessageWriterBase.cs",
    "content": "﻿//____________________________________________________________________________\n//\n//  Copyright (C) 2020, Mariusz Postol LODZ POLAND.\n//\n//  To be in touch join the community at GITTER: https://gitter.im/mpostol/OPC-UA-OOI\n//____________________________________________________________________________\n\nusing System;\nusing System.Xml;\nusing UAOOI.Configuration.Networking.Serialization;\nusing UAOOI.Networking.Core;\nusing UAOOI.Networking.SemanticData.DataRepository;\nusing UAOOI.Networking.SemanticData.Encoding;\n\nnamespace UAOOI.Networking.SemanticData.MessageHandling\n{\n  /// <summary>\n  /// Class MessageWriterBase - helper class that provides basic implementation of the <see cref=\"IMessageWriter\"/>.\n  /// </summary>\n  public abstract class MessageWriterBase : MessageHandler, IMessageWriter, IBinaryEncoder\n  {\n    #region creator\n\n    /// <summary>\n    /// Initializes a new instance of the <see cref=\"MessageWriterBase\"/> class providing basic implementation of the <see cref=\"IMessageWriter\"/>.\n    /// </summary>\n    /// <param name=\"uaEncoder\">The ua encoder.</param>\n    public MessageWriterBase(IUAEncoder uaEncoder)\n    {\n      m_UAEncoder = uaEncoder ?? throw new ArgumentNullException(nameof(uaEncoder));\n    }\n\n    #endregion creator\n\n    #region IMessageWriter\n\n    /// <summary>\n    /// Gets the content mask. The content mast read from the message or provided by the writer.\n    /// The order of the bits starting from the least significant bit matches the order of the data items\n    /// within the data set.\n    /// </summary>\n    /// <value>The content mask represented as unsigned number <see cref=\"ulong\" />. The order of the bits starting from the least significant\n    /// bit matches the order of the data items within the data set.</value>\n    public override ulong ContentMask\n    {\n      get;\n      protected set;\n    }\n\n    /// <summary>\n    /// Sends the data described by a data set collection to remote destination.\n    /// </summary>\n    /// <param name=\"producerBinding\">Encapsulates functionality used by the <see cref=\"IMessageWriter\" /> to collect all the data (data set items) required to prepare new message and send it over the network.</param>\n    /// <param name=\"length\">Number of items to be send used to calculate the length of the message.</param>\n    /// <param name=\"contentMask\">The content mask represented as unsigned number <see cref=\"ulong\" />. The order of the bits starting from the least significant\n    /// bit matches the order of the data items within the data set.</param>\n    /// <param name=\"encoding\">The encoding.</param>\n    /// <param name=\"dataSelector\">The data selector.</param>\n    /// <param name=\"messageSequenceNumber\">The message sequence number. A monotonically increasing sequence number assigned by the publisher to each message sent.</param>\n    /// <param name=\"timeStamp\">The time stamp - the time the Data was collected.</param>\n    /// <param name=\"configurationVersion\">The configuration version.</param>\n    /// <exception cref=\"System.ArgumentOutOfRangeException\">Impossible to convert null value\n    /// or</exception>\n    void IMessageWriter.Send\n      (Func<int, IProducerBinding> producerBinding, ushort length, ulong contentMask, FieldEncodingEnum encoding, DataSelector dataSelector,\n       ushort messageSequenceNumber, DateTime timeStamp, ConfigurationVersionDataType configurationVersion)\n    {\n      lock (this)\n      {\n        if (State.State != HandlerState.Operational)\n          return;\n        ContentMask = contentMask;\n        CreateMessage(encoding, dataSelector.PublisherId, dataSelector.DataSetWriterId, length, messageSequenceNumber, timeStamp, configurationVersion);\n        //UInt64 _mask = 0x1;\n        for (int i = 0; i < length; i++)\n        {\n          //TODO: Implement ContentMask https://github.com/mpostol/OPC-UA-OOI/issues/89\n          //if ((ContentMask & _mask) > 0)\n          //{\n          IProducerBinding _pb = producerBinding(i);\n          switch (encoding)\n          {\n            case FieldEncodingEnum.VariantFieldEncoding:\n              WriteValueVariant(_pb);\n              break;\n\n            case FieldEncodingEnum.CompressedFieldEncoding:\n              WriteValue(_pb);\n              break;\n\n            case FieldEncodingEnum.DataValueFieldEncoding:\n              WriteDataValue(_pb);\n              break;\n          }\n          //}\n          //_mask = _mask << 1;\n        }\n        SendMessage();\n      }\n    }\n\n    #endregion IMessageWriter\n\n    #region IBinaryEncoder\n\n    public abstract void Write(ulong value);\n\n    public abstract void Write(uint value);\n\n    public abstract void Write(ushort value);\n\n    public abstract void Write(float value);\n\n    public abstract void Write(sbyte value);\n\n    public abstract void Write(long value);\n\n    public abstract void Write(int value);\n\n    public abstract void Write(short value);\n\n    public abstract void Write(double value);\n\n    public abstract void Write(bool value);\n\n    /// <summary>\n    /// Writes a <see cref=\"Guid\"/> to the current stream as a 16-element byte array that contains the value and advances the stream position by 16 bytes.\n    /// </summary>\n    /// <param name=\"value\">The <see cref=\"Guid\"/> value to write.</param>\n    public void Write(Guid value)\n    {\n      m_UAEncoder.Write(this, value);\n    }\n\n    public abstract void Write(byte[] value);\n\n    /// <summary>\n    /// Writes an unsigned byte to the current stream and advances the stream position by one byte.\n    /// </summary>\n    /// <param name=\"value\">TThe unsigned <see cref=\"byte\"/> to write.</param>\n    public abstract void Write(byte value);\n\n    public void Write(DateTime value)\n    {\n      m_UAEncoder.Write(this, value);\n    }\n\n    #endregion IBinaryEncoder\n\n    #region private\n\n    //types\n    private class Variant : IVariant\n    {\n      public Variant(UATypeInfo typeInfo, object value)\n      {\n        switch (typeInfo.BuiltInType)\n        {\n          case BuiltInType.Null:\n            throw new ArgumentOutOfRangeException(nameof(typeInfo), \"Null is not permitted in the Variant\");\n          case BuiltInType.Boolean:\n          case BuiltInType.SByte:\n          case BuiltInType.Byte:\n          case BuiltInType.Int16:\n          case BuiltInType.UInt16:\n          case BuiltInType.Int32:\n          case BuiltInType.UInt32:\n          case BuiltInType.Int64:\n          case BuiltInType.UInt64:\n          case BuiltInType.Float:\n          case BuiltInType.Double:\n          case BuiltInType.String:\n          case BuiltInType.DateTime:\n            if (value == null)\n              throw new NullReferenceException(\"Value type cannot be null.\");\n            break;\n\n          default:\n            break;\n        }\n        UATypeInfo = typeInfo;\n        Value = value;\n      }\n\n      public UATypeInfo UATypeInfo\n      {\n        get; private set;\n      }\n\n      public object Value\n      {\n        get; private set;\n      }\n    }\n\n    //vars\n    private IUAEncoder m_UAEncoder;\n\n    //methods\n    /// <summary>\n    /// Creates the message.\n    /// </summary>\n    /// <param name=\"encoding\">The selected encoding for the message.</param>\n    /// <param name=\"producerId\">The producer identifier.</param>\n    /// <param name=\"dataSetWriterId\">The data set writer identifier.</param>\n    /// <param name=\"fieldCount\">The field count.</param>\n    /// <param name=\"sequenceNumber\">The sequence number.</param>\n    /// <param name=\"timeStamp\">The time stamp.</param>\n    /// <param name=\"configurationVersion\">The configuration version.</param>\n    protected internal abstract void CreateMessage\n      (FieldEncodingEnum encoding, Guid producerId, ushort dataSetWriterId, ushort fieldCount, ushort sequenceNumber, DateTime timeStamp, ConfigurationVersionDataType configurationVersion);\n\n    /// <summary>\n    /// Finalize preparation and sends the message.\n    /// </summary>\n    protected abstract void SendMessage();\n\n    private void WriteValue(IProducerBinding producerBinding)\n    {\n      object value = producerBinding.GetFromRepository();\n      switch (producerBinding.Encoding.BuiltInType)\n      {\n        case BuiltInType.Boolean:\n          if (producerBinding.Encoding.ValueRank < 0)\n            Write((bool)value);\n          else\n            m_UAEncoder.WriteArray<bool>(this, (Array)value, Write, BuiltInType.Boolean);\n          break;\n\n        case BuiltInType.SByte:\n          if (producerBinding.Encoding.ValueRank < 0)\n            Write((sbyte)value);\n          else\n            m_UAEncoder.WriteArray<sbyte>(this, (Array)value, Write, BuiltInType.SByte);\n          break;\n\n        case BuiltInType.Byte:\n          if (producerBinding.Encoding.ValueRank < 0)\n            Write((byte)value);\n          else\n            m_UAEncoder.WriteArray<byte>(this, (Array)value, Write, BuiltInType.Byte);\n          break;\n\n        case BuiltInType.DateTime:\n          if (producerBinding.Encoding.ValueRank < 0)\n            m_UAEncoder.Write(this, (DateTime)value);\n          else\n            m_UAEncoder.WriteArray<DateTime>(this, (Array)value, Write, BuiltInType.DateTime);\n          break;\n\n        case BuiltInType.Double:\n          if (producerBinding.Encoding.ValueRank < 0)\n            Write((double)value);\n          else\n            m_UAEncoder.WriteArray<double>(this, (Array)value, Write, BuiltInType.Double);\n          break;\n\n        case BuiltInType.Int16:\n          if (producerBinding.Encoding.ValueRank < 0)\n            Write((short)value);\n          else\n            m_UAEncoder.WriteArray<short>(this, (Array)value, Write, BuiltInType.Int16);\n          break;\n\n        case BuiltInType.Enumeration:\n        case BuiltInType.Int32:\n          if (producerBinding.Encoding.ValueRank < 0)\n            Write((int)value);\n          else\n            m_UAEncoder.WriteArray<int>(this, (Array)value, Write, BuiltInType.Int32);\n          break;\n\n        case BuiltInType.Int64:\n          if (producerBinding.Encoding.ValueRank < 0)\n            Write((long)value);\n          else\n            m_UAEncoder.WriteArray<long>(this, (Array)value, Write, BuiltInType.Int64);\n          break;\n\n        case BuiltInType.Float:\n          if (producerBinding.Encoding.ValueRank < 0)\n            Write((float)value);\n          else\n            m_UAEncoder.WriteArray<float>(this, (Array)value, Write, BuiltInType.Float);\n          break;\n\n        case BuiltInType.String:\n          if (producerBinding.Encoding.ValueRank < 0)\n            m_UAEncoder.Write(this, (string)value);\n          else\n            m_UAEncoder.WriteArray<string>(this, (Array)value, x => m_UAEncoder.Write(this, x), BuiltInType.String);\n          break;\n\n        case BuiltInType.UInt16:\n          if (producerBinding.Encoding.ValueRank < 0)\n            Write((ushort)value);\n          else\n            m_UAEncoder.WriteArray<ushort>(this, (Array)value, Write, BuiltInType.UInt16);\n          break;\n\n        case BuiltInType.UInt32:\n          if (producerBinding.Encoding.ValueRank < 0)\n            Write((uint)value);\n          else\n            m_UAEncoder.WriteArray<uint>(this, (Array)value, Write, BuiltInType.UInt32);\n          break;\n\n        case BuiltInType.UInt64:\n          if (producerBinding.Encoding.ValueRank < 0)\n            Write((ulong)value);\n          else\n            m_UAEncoder.WriteArray<ulong>(this, (Array)value, Write, BuiltInType.UInt64);\n          break;\n\n        case BuiltInType.Guid:\n          if (producerBinding.Encoding.ValueRank < 0)\n            m_UAEncoder.Write(this, (Guid)value);\n          else\n            m_UAEncoder.WriteArray<Guid>(this, (Array)value, x => m_UAEncoder.Write(this, x), BuiltInType.Guid);\n          break;\n\n        case BuiltInType.ByteString:\n          if (producerBinding.Encoding.ValueRank < 0)\n            m_UAEncoder.Write(this, (byte[])value);\n          else\n            m_UAEncoder.WriteArray<byte[]>(this, (Array)value, x => m_UAEncoder.Write(this, x), BuiltInType.ByteString);\n          break;\n\n        case BuiltInType.XmlElement:\n          if (producerBinding.Encoding.ValueRank < 0)\n            m_UAEncoder.Write(this, (XmlElement)value);\n          else\n            m_UAEncoder.WriteArray<XmlElement>(this, (Array)value, x => m_UAEncoder.Write(this, x), BuiltInType.XmlElement);\n          break;\n\n        case BuiltInType.NodeId:\n          if (producerBinding.Encoding.ValueRank < 0)\n            m_UAEncoder.Write(this, (INodeId)value);\n          else\n            m_UAEncoder.WriteArray<INodeId>(this, (Array)value, x => m_UAEncoder.Write(this, x), BuiltInType.NodeId);\n          break;\n\n        case BuiltInType.ExpandedNodeId:\n          if (producerBinding.Encoding.ValueRank < 0)\n            m_UAEncoder.Write(this, (IExpandedNodeId)value);\n          else\n            m_UAEncoder.WriteArray<IExpandedNodeId>(this, (Array)value, x => m_UAEncoder.Write(this, x), BuiltInType.ExpandedNodeId);\n          break;\n\n        case BuiltInType.StatusCode:\n          if (producerBinding.Encoding.ValueRank < 0)\n            m_UAEncoder.Write(this, (IStatusCode)value);\n          else\n            m_UAEncoder.WriteArray<IStatusCode>(this, (Array)value, x => m_UAEncoder.Write(this, x), BuiltInType.StatusCode);\n          break;\n\n        case BuiltInType.QualifiedName:\n          if (producerBinding.Encoding.ValueRank < 0)\n            m_UAEncoder.Write(this, (IQualifiedName)value);\n          else\n            m_UAEncoder.WriteArray<IQualifiedName>(this, (Array)value, x => m_UAEncoder.Write(this, x), BuiltInType.QualifiedName);\n          break;\n\n        case BuiltInType.LocalizedText:\n          if (producerBinding.Encoding.ValueRank < 0)\n            m_UAEncoder.Write(this, (ILocalizedText)value);\n          else\n            m_UAEncoder.WriteArray<ILocalizedText>(this, (Array)value, x => m_UAEncoder.Write(this, x), BuiltInType.LocalizedText);\n          break;\n\n        case BuiltInType.ExtensionObject:\n          if (producerBinding.Encoding.ValueRank < 0)\n            m_UAEncoder.Write(this, (IExtensionObject)value);\n          else\n            m_UAEncoder.WriteArray<IExtensionObject>(this, (Array)value, x => m_UAEncoder.Write(this, x), BuiltInType.ExtensionObject);\n          break;\n\n        case BuiltInType.DataValue:\n          if (producerBinding.Encoding.ValueRank < 0)\n            m_UAEncoder.Write(this, (IDataValue)value);\n          else\n            m_UAEncoder.WriteArray<IDataValue>(this, (Array)value, x => m_UAEncoder.Write(this, x), BuiltInType.DataValue);\n          break;\n\n        case BuiltInType.Variant:\n          if (producerBinding.Encoding.ValueRank < 0)\n            m_UAEncoder.Write(this, (IVariant)value);\n          else\n            m_UAEncoder.WriteArray<IVariant>(this, (Array)value, x => m_UAEncoder.Write(this, x), BuiltInType.Variant);\n          break;\n\n        case BuiltInType.DiagnosticInfo:\n          if (producerBinding.Encoding.ValueRank < 0)\n            m_UAEncoder.Write(this, (IDiagnosticInfo)value);\n          else\n            m_UAEncoder.WriteArray<IDiagnosticInfo>(this, (Array)value, x => m_UAEncoder.Write(this, x), BuiltInType.DiagnosticInfo);\n          break;\n\n        case BuiltInType.Null:\n        default:\n          throw new ArgumentOutOfRangeException($\"Impossible to convert {value} of type {producerBinding.Encoding}\");\n      }\n    }\n\n    private void WriteValueVariant(IProducerBinding producerBinding)\n    {\n      object value = producerBinding.GetFromRepository();\n      Variant _variant = new Variant(producerBinding.Encoding, value);\n      m_UAEncoder.Write(this, _variant);\n    }\n\n    private void WriteDataValue(IProducerBinding _pb)\n    {\n      throw new NotImplementedException();\n    }\n\n    #endregion private\n  }\n}"
  },
  {
    "path": "Networking/SemanticData/MessageHandling/NetworkMessage.abnf",
    "content": ";//____________________________________________________________________________\n;//\n;//  Copyright (C) 2019, Mariusz Postol LODZ POLAND.\n;//\n;//  To be in touch join the community at GITTER: https://gitter.im/mpostol/OPC-UA-OOI\n;//\n;//  This document contains Augmented BNF definition of the NetworkMessage\n;//  NetworkMessage is originally defined in OPC UA Part 14  Release 1.04 February 06, 2018\n;//  Augmented BNF is defined in the document Augmented BNF for Syntax Specifications: ABNF RFC 5234\n;//____________________________________________________________________________\n\nNetworkMessage = DataToSign Signature\n\n; NetworkMessage\nDataToSign = NetworkMessageHeader [ GroupHeader ] [ PayloadHeader ] ExtendedNetworkMessageHeader [ SecurityHeader ] DataToEncrypt\nSignature = *OCTET             ; The signature of the NetworkMessage.\n\n; DataToSign\nNetworkMessageHeader    = UADPHeader [ ExtendedFlags1 ] [ ExtendedFlags2 ] [ PublisherId ] [ DataSetClassId ]\nGroupHeader             = GroupFlags [ WriterGroupId ] [ GroupVersion ] [ NetworkMessageNumber ] [ SequenceNumber ]\n    ; The GroupHeader shall be omitted if GroupHeaderEnabled is 0.\nPayloadHeader           = DataSetPayloadHeader / DiscoveryRequestPayloadHeader / DiscoveryResponsePayloadHeader     \n    ; The selection of the PayloadHeader alternative element depends on the NetworkMessageType value defined in the ExtendedFlags2.\n    ; The PayloadHeader syntax depends on the NetworkMessageType bit range defined in the ExtendedFlags2. The default is DataSetMessageType if the ExtendedFlags2 field is not enabled.\n    ; The PayloadHeader shall be omitted if bit PayloadHeaderEnabled of the UADPFlags is \"0\".\nExtendedNetworkMessageHeader    = [ NetworkMessageTimestamp ] [ NetworkMessageTimestampPicoSeconds ] [ PromotedFields ]\nSecurityHeader                  = SecurityFlags SecurityTokenId NonceLength MessageNonce SecurityFooterSize\nDataToEncrypt                   = Payload SecurityFooter\n\n; NetworkMessageHeader\nUADPHeader              = UADPVersion UADPFlags\nUADPFlags               = PublisherIdEnabled GroupHeaderEnabled PayloadHeaderEnabled ExtendedFlags1Enabled ; 4 BIT\nExtendedFlags1          = PublisherIdType DataSetClassIdEnabled SecurityEnabled MessageTimestampEnabled MessagePicoSecondsEnabled ExtendedFlags2Enabled   ; The ExtendedFlags1 shall be omitted if ExtendedFlags1Enabled is 0. \n                                                                                                                                            ; If the field is omitted, the default value of 0 is applied for all bits.\nExtendedFlags2          = ChunkMessage PromotedFieldsEnabled NetworkMessageType ExtendedFlags2Reserved  ; The ExtendedFlags2 shall be omitted if bit ExtendedFlags2Enabled of the ExtendedFlags1 is false.\n                                                                                                        ; If the field is omitted, the Subscriber shall handle the related bits as false.\nPublisherId             = OCTET / UInt16 / UInt32 / UInt64 / String     ; Identifies the Publisher. PublisherId and WriterGroupId identify the WriterGroup. The syntax depends on PublisherIdType\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t; The PublisherId is a unique identifier for a Publisher within a Message Oriented Middleware. It can be included in sent NetworkMessage for \n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t; identification or filtering. The value of the PublisherId is typically shared between PubSubConnections but the assignment of the PublisherId is vendor specific.\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t; The PublisherId parameter is only relevant for the Publisher functionality inside a PubSubConnection. The filter setting on the Subscriber side is \n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t; contained in the DataSetReader parameters. Valid DataTypes are UInteger and String.\nDataSetClassId          = Guid  \n                        ; DataSetClassId - This field provides the globally unique identifier of the class of DataSet if the DataSet is based on a DataSetClass. \n                        ; In this case, this field shall match the DataSetClassId of the concrete DataSet configuration. \n                        ; If the DataSets are not created from a class, this field shall be omitted.\n                        ; The DataSetClassId associated with the DataSet elements in the NetworkMessage. All DataSetMessage elements in the NetworkMessage shall have the same DataSetClassId.\n                        ; The DataSetClassId shall be omitted if DataSetClassIdEnabled is 0 in the ExtendedFlags1\n\nUADPVersion             = 4BIT ; Bits 0-3 of UADPHeader Version of the NetworkMessage. The UADPVersion for this specification version is %b0.0.0.1\nPublisherIdEnabled      = BIT   ; Bit 4 of the UADPHeader - If the PublisherId is \"1\", the type of PublisherId is indicated in the ExtendedFlags1 field\nGroupHeaderEnabled      = BIT   ; Bit 5 of the UADPHeader - The GroupHeader shall be omitted if GroupHeaderEnabled is 0.\nPayloadHeaderEnabled    = BIT   ; Bit 6 of the UADPHeader - The PayloadHeader shall be omitted if PayloadHeaderEnabled is 0.\nExtendedFlags1Enabled   = BIT   ; Bit 7 of the UADPHeader - The bit shall be \"0\", if ExtendedFlags1 is 0 for all bits.\n\n; ExtendedFlags1\nPublisherIdType             = %b0.0.0   ; Bits 0-2\n                                        ; The PublisherId is of DataType Byte,\n                            / %b0.0.1   ; The PublisherId is of DataType UInt16\n                            / %b0.1.0   ; The PublisherId is of DataType UInt32\n                            / %b0.1.1   ; The PublisherId is of DataType UInt64\n                            / %b1.0.0   ; The PublisherId is of DataType String\n                            / %b1.0.1   ; Reserved\n                            / %b1.1.0   ; Reserved\n                            / %b1.1.1   ; Reserved\nDataSetClassIdEnabled       = BIT       ; Bit 3:\nSecurityEnabled             = BIT       ; Bit 4 - If the SecurityMode is SIGN_1 or SIGNANDENCRYPT_2, this flag is set, message security is enabled and the SecurityHeader is contained in the DataToSign.\n                                        ; If this flag is not set, the SecurityHeader is omitted.\nMessageTimestampEnabled     = BIT       ; Bit 5\nMessagePicoSecondsEnabled   = BIT       ; Bit 6\nExtendedFlags2Enabled       = BIT       ; Bit 7 - The bit shall be 0, if ExtendedFlags2 is 0.\n\n; GroupHeader\nGroupFlags              = WriterGroupIdEnabled GroupVersionEnabled NetworkMessageNumberEnabled SequenceNumberEnabled GroupFlagsReserved \nWriterGroupId           = UInt16        ; PublisherId and WriterGroupId identify the WriterGroup - unique id for the WriterGroup in the Publisher. A Subscriber can skip NetworkMessages from WriterGroups it does not expect NetworkMessages from. \n\t\t\t\t\t; Note: The DataSetWriterId with DataType UInt16 defines the unique ID of the DataSetWriter for a PublishedDataSet. It is used to select DataSetMessages for a PublishedDataSet on the Subscriber side.\n\t\t\t\t\t; It shall be unique across all DataSetWriters for a PublisherId. All values, except for 0, are valid DataSetWriterIds. The value 0 is defined as null value.\n                                        ; This field shall be omitted if bit WriterGroupIdEnabled of the GroupFlags is \"0\".\nGroupVersion            = VersionTime   ; Version of the header and payload layout configuration of the NetworkMessages sent for the group. \n                                        ; This field shall be omitted if bit GroupVersionEnabled of the GroupFlags is \"0\".\nNetworkMessageNumber    = UInt16        ; Unique number of a NetworkMessage across the combination of PublisherId and WriterGroupId within one PublishingInterval. The value 0 is invalid.\n                                        ; The number is needed if the DataSetMessages for one group are split into more than one NetworkMessage in a PublishingInterval.\n                                        ; This field shall be omitted if bit NetworkMessageNumberEnabled of the GroupFlags is \"0\".\nSequenceNumber          = UInt16        ; Sequence number for the NetworkMessage. \n                                        ; This field shall be omitted if bit SequenceNumberEnabled of the GroupFlags is \"0\"\n\n; ExtendedNetworkMessageHeader\nNetworkMessageTimestamp             = DateTime              ; The time the NetworkMessage was created.\n                                                            ; The NetworkMessageTimestamp shall be omitted if bit 5(?) of ExtendedFlags1 is false.\nNetworkMessageTimestampPicoSeconds  = UInt16                ; Specifies the number of 10 picoseconds (1,0 e-11 seconds) intervals which shall be added to the NetworkMessageTimestamp.\n                                                            ; The NetworkMessageTimestampPicoSeconds shall be omitted if bit MessagePicoSecondsEnabled of ExtendedFlags1 is false.\nPromotedFields = PromotedFieldsSize PromotedFieldsFields    ; Selected fields out of the DataSet also sent in the header.\n                                                            ; The PromotedFields shall be omitted if bit PromotedFieldsEnabled of the ExtendedFlags2 is \"0\".\n                                                            ; If the PromotedFields are provided, the MessagesCount in the DataSetPayloadHeader shall be 1.\n; PromotedFields\nPromotedFieldsSize      = UInt16            ; Number of elements in the list PromotedFieldsFields\nPromotedFieldsFields    = *BaseDataType     ; Array of promoted fields. The size, order and DataTypes of the fields depend on the settings in the FieldMetaData of the DataSetMetaData associated with the \n                                            ; DataSetMessage contained in the NetworkMessage.\n; SecurityHeader\nSecurityFlags       = NetworkMessageSigned NetworkMessageEncrypted SecurityFooterEnabled ForceKeyReset SecurityFlagsBitsReserved\nSecurityTokenId     = IntegerId ; The ID of the security token that identifies the security key in a SecurityGroup. The relation to the SecurityGroup is done through DataSetWriterIds contained in the NetworkMessage.\nNonceLength         = UInt8     ; The length of the Nonce used to initialize the encryption algorithm.\nMessageNonce        = *OCTET    ; Number of OCTET shall be equal NonceLength\n                                ; A MessageNonce used exactly once for a given security key. For a given security key a unique nonce shall be generated for every NetworkMessage. \nSecurityFooterSize  = UInt16    ; The size of the SecurityFooter. The security footer size shall be omitted if bit SecurityFooterEnabled of the SecurityFlags is false\n\n; DataToEncrypt\nPayload         = DataSetMessagePayload / DiscoveryRequestPayload / DiscoveryResponsePayload  ; The selection of the Payload alternative depends on the NetworkMessageType value defined in the ExtendedFlags2.\nSecurityFooter  = *OCTET   ; Optional security footer shall be omitted if bit NetworkMessageSigned of the SecurityFlags is \"0\". The content of the security footer is defined by the security policy. \n                            ; The security policy is not defined in the NetworkMessage and must be common knowledge of the publisher ans all subscribers processing the same NetworkMessage. \n\n; ExtendedFlags2 = 8 BIT\nChunkMessage                        = BIT               ; Bit 0\nPromotedFieldsEnabled               = BIT               ; Bit 1 Promoted fields can only be sent if the NetworkMessage contains only one DataSetMessage.\n                                                        ; Bits 2-4 represents NetworkMessageType. The default is DataSetMessageType if the ExtendedFlags2 field is not enabled.\nNetworkMessageType                  = DataSetNetworkMessageType / DiscoveryRequestMessageType / DiscoveryResponseMessageType\nDataSetNetworkMessageType           = %b0.0.0           ; NetworkMessage with DataSetMessage payload. If the ExtendedFlags2 element is not provided, this is the default value.\nDiscoveryRequestMessageType         = %b0.0.1           ; NetworkMessage with discovery request payload.\nDiscoveryResponseMessageType        = %b0.1.0           ; NetworkMessage with discovery response payload.\nExtendedFlags2Reserved              = 3BIT             ; Bits 5-7\n\n; GroupFlags = 8 BIT\nWriterGroupIdEnabled        = BIT       ; Bit 0\nGroupVersionEnabled         = BIT       ; Bit 1\nNetworkMessageNumberEnabled = BIT       ; Bit 2\nSequenceNumberEnabled       = BIT       ; Bit 3\nGroupFlagsReserved          = %b0.0.0.0 ; Bits 4-7\n\n; SecurityFlags\nNetworkMessageSigned        = BIT   ; Bit 0 \nNetworkMessageEncrypted     = BIT   ; Bit 1\nSecurityFooterEnabled       = BIT   ; Bit 2\nForceKeyReset               = BIT   ; Bit 3 This bit is set if all keys will be made invalid. It is set until the new key is used. The publisher must give subscribers a reasonable time to request new keys. \n                                    ; The minimum time is five times the KeepAliveTime configured for the corresponding group.\n                                    ; This flag is typically set if all keys are invalidated to exclude Subscribers, that no longer have access to the keys.\nSecurityFlagsBitsReserved   = 4BIT ; Reserved\n\n; Context depending on the NetworkMessageType\n\n; NetworkMessageType = DataSetMessageType\n; PayloadHeader = DataSetPayloadHeader\nDataSetPayloadHeader    = MessagesCount DataSetWriterIdList     ; NetworkMessageType = DataSetMessageType \nMessagesCount           = UInt8                                 ; Number of DataSetMessage items contained in the NetworkMessage. The NetworkMessage shall contain at least one DataSetMessage \n                                                                ; if the NetworkMessageType = DataSetMessageType.\n\n; Payload = DataSetMessagePayload\nDataSetMessagePayload   = DataSetMessageSizeList DataSetMessageList\nDataSetMessageSizeList  = *DataSetMessageSize   ; The number of elements of the list is defined by the MessagesCount in the DataSetPayloadHeader. \nDataSetMessageSize      = UInt16                ; If the payload size exceeds 65535, the DataSetMessages shall be allocated to separate NetworkMessages. \n                                                ; If a single DataSetMessage exceeds the payload size it shall be split into Chunk NetworkMessages. \n                                                ; This field shall be omitted if count is one or if bit PayloadHeaderEnabled of the UADPFlags is \"0\".\nDataSetMessageList = 1*DataSetMessage           ; DataSetMessageList contained in the NetworkMessage. The size of the list is defined by the MessagesCount in the DataSetPayloadHeader.\n                                                ; The type of encoding used for the DataSetMessage entities is defined by the DataSetWriter. The encodings for the DataSetMessage are defined in 7.2.2.3.4. \nDataSetMessage          = DataKeyMessageData / DataDeltaMessageData / EventMessageData / KeepAliveMessageData \n    ; Alternative depends on DataSetMessageType\n\nDataKeyMessageData      = DataSetMessageHeader FieldCount DataSetFields\nDataDeltaMessageData    = DataSetMessageHeader FieldCount DeltaFrameFields\nEventMessageData        = DataSetMessageHeader FieldCount DataSetFields     ; The fields of EventMessageData  shall be encoded as Variant. The FieldEncoding should be set accordingly.\nKeepAliveMessageData    = KeepAliveMessageDataHeader                        ; The keep alive message does not add any additional fields.\n\n; KeepAliveMessageData\nDataSetMessageHeader    = KeepAliveMessageDataHeader DataSetTimestamp DataSetPicoSeconds [ Status ] [ ConfigurationVersionMajorVersion ] [ ConfigurationVersionMinorVersion ]\n\n; DataSetMessageHeader\nKeepAliveMessageDataHeader          = DataSetFlags1 [ DataSetFlags2 ] [ DataSetMessageSequenceNumber ]\nDataSetTimestamp                    = UtcTime       ; The time the Data was collected. The DataSetTimestamp shall be omitted if Bit DataSetTimestampEnabled of DataSetFlags2 is \"0\".\nDataSetPicoSeconds                  = UInt16        ; Specifies the number of 10 picoseconds (1,0 e-11 seconds) intervals which shall be added to the DataSetTimestamp. \n                                                    ; The field must be omitted if Bit PicoSecondsIncluded of DataSetFlags2 is \"0\".\nStatus                              = UInt16        ; The overall status of the DataSet. This is the high order 16 bits of the StatusCode DataType representing the numeric value of the Severity and SubCode of the StatusCode DataType. \n                                                    ; The field shall be omitted if bit StatusEnabled of DataSetFlags1 is \"0\".\nConfigurationVersionMajorVersion    = VersionTime   ; The major version of the configuration version of the DataSet used as consistency check with the DataSetMetaData available on the Subscriber side. \n                                                    ; The field shall be omitted if Bit ConfigurationVersionMajorVersionEnabled of DataSetFlags1 is \"0\".\nConfigurationVersionMinorVersion    = VersionTime   ; The minor version of the configuration version of the DataSet used as consistency check with the DataSetMetaData available on the Subscriber side. \n                                                    ; The field shall be omitted if Bit ConfigurationVersionMinorVersionEnabled of DataSetFlags1 is \"0\".\n\n; KeepAliveMessageDataHeader\nDataSetFlags1                   = DataSetMessageIsValid FieldEncoding DataSetMessageSequenceNumberEnabled StatusEnabled ConfigurationVersionMajorVersionEnabled ConfigurationVersionMinorVersionEnabled DataSetFlags2Enabled \nDataSetFlags2                   = DataSetMessageType DataSetTimestampEnabled PicoSecondsIncluded DataSetFlags2Reserved\nDataSetMessageSequenceNumber    = UInt16 ; A strictly monotonically increasing sequence number assigned by the publisher to each DataSetMessage sent. \n                                ; A receiver should ignore older DataSetMessage than the last sequence processed if it does not handle reordering of DataSetMessages. \n                                ; Receivers need to be aware of sequence numbers roll over (change from 65535 to 0). \n                                ; To determine whether a received DataSetMessage is newer than the last processed DataSetMessage the following formula shall be used: \n                                ; (65535 + received sequence number – last processed sequence number) modulo 65536\n                                ; Results below 16384 indicate that the received DataSetMessage is newer than the last processed DataSetMessage and the received DataSetMessage is processed.\n                                ; Results above 49162 indicate that the received message is older (or same) than the last processed DataSetMessage and the received DataSetMessage should be ignored if reordering of DataSetMessages is not necessary.\n                                ; Other results are invalid and the DataSetMessage shall be ignored. \n                                ; The field shall be omitted if bit DataSetMessageSequenceNumberEnabled of DataSetFlags1 is \"0\".\n\n; DataSetFlags1\nDataSetMessageIsValid                   = BIT       ; Bit 0: DataSetMessage is valid. If this bit is set to false, the rest of this DataSetMessage is considered invalid, and shall not be processed by the Subscriber.\nFieldEncoding                           = FieldEncodingVariant / FieldEncodingRawData / FieldEncodingDataValue / FieldEncodingReserved ; Bit 1-2\n    ; FieldEncoding - Bit range 1-2\nFieldEncodingVariant                    =  %b0.0    ; 00 - The DataSet fields are encoded as Variant The Variant can contain a StatusCode instead of the expected DataType if the status of the field is Bad. \n                                                    ; The Variant can contain a DataValue with the value and the statusCode if the status of the field is Uncertain\nFieldEncodingRawData                    = %b0.1     ; 01 - RawData Field Encoding. The DataSet fields are encoded in the DataTypes specified in the DataSetMetaData for the DataSet.\n                                                    ; The encoding is handled like a Structure DataType where the DataSet fields are handled like Structure fields and fields with Structure\n                                                    ; DataType are handled like nested structures. All restrictions for the encoding of Structure DataTypes also apply to the RawData Field Encoding.\nFieldEncodingDataValue                  = %b1.0     ; 10 - DataValue Field Encoding. The DataSet fields are encoded as DataValue. This option is set if the DataSet is configured to send more than the Value.\nFieldEncodingReserved                   = %b1.1     ; 11 - Reserved\nDataSetMessageSequenceNumberEnabled     = BIT       ; Bit 3\nStatusEnabled                           = BIT       ; Bit 4 \nConfigurationVersionMajorVersionEnabled = BIT       ; Bit 5\nConfigurationVersionMinorVersionEnabled = BIT       ; Bit 6\nDataSetFlags2Enabled                    = BIT       ; Bit 7\n\n; DataSetFlags2\nDataSetMessageType\t\t\t= DataKeyFrameMessageType / DataDeltaFrameMessageType / EventMessageType / KeepAliveMessageType / DataSetMessageTypeReserved ; Bit range 0-3 of DataSetFlags2\n; DataSetMessageType Bits 0-3 of DataSetFlags2\nDataKeyFrameMessageType     = %b0.0.0.0 ; If the DataSetFlags2 field is not provided, this is the default DataSetMessageType.\nDataDeltaFrameMessageType   = %b0.0.0.1\nEventMessageType            = %b0.0.1.0\nKeepAliveMessageType        = %b0.0.1.1\nDataSetMessageTypeReserved  = %b0.1.0.0-%b1.1.1.1 ; Reserved for further extended flag fields\nDataSetTimestampEnabled     = BIT ; Bit 4\nPicoSecondsIncluded         = BIT ; Bit 5\nDataSetFlags2Reserved       = %b0.0-%b1.1 ; Bits range 6-7\n\nFieldCount      = UInt16            ; Number of fields of the DataSet contained in the DataSetMessage. \n                                    ; The FieldCount shall be omitted if FieldEncodingRawData is set in the FieldEncoding bits\nDataSetFields   = *BaseDataType     ; The field values of the DataSet.\n\n; DataDeltaMessageData\nDeltaFrameFields    = *DeltaFrameField\nDeltaFrameField     = FieldIndex FieldValue\nFieldIndex          = UInt16        ; The index of the Field in the DataSet. The index is based on the field position in the DataSetMetaData with the configuration version defined in the ConfigurationVersion field.\nFieldValue          = BaseDataType  ; The field values of the DataSet. \n\n\n; Alternatives based on the NetworkMessageType\n\n; NetworkMessageType = DiscoveryRequestMessageType\n; PayloadHeader = DiscoveryRequestPayloadHeader\nDiscoveryRequestPayloadHeader   = DiscoveryRequestType                  ; UADPFlags  Bit 4 PublisherIdEnabled = \"1\"; Bit 5 GroupHeaderEnabled = \"0\"; Bit 6 PayloadHeaderEnabled = \"0\"; Bit 7 ExtendedFlags1Enabled = \"1\"\n                                                                        ; ExtendedFlags1 Bit 3 DataSetClassIdEnabled = \"0\"; Bit 4 SecurityEnabled = \"1\"; Bit 5 TimestampEnabled = \"0\"; Bit 6 PicoSecondsEnabled = \"0\"; \n                                                                        ; Bit 7 ExtendedFlags2Enabled = \"1\" \n                                                                        ; NetworkMessageType = DiscoveryRequestMessageType \nDiscoveryRequestType = RequestTypeReserved / PublisherInformationRequestMessage  \nRequestTypeReserved                 = %x00\nPublisherInformationRequestMessage  = %x01\n\n; Payload = DiscoveryRequestPayload\nDiscoveryRequestPayload     = InformationType / DataSetWriterIdList \nInformationType             = InformationTypeReserved / PublisherServerEndpoints / DataSetMetaData / DataSetWriterConfiguration ; OCTET\nInformationTypeReserved     = %x00 \nPublisherServerEndpoints    = %x01\nDataSetMetaData             = %x02\nDataSetWriterConfiguration  = %x03\n\n; NetworkMessageType = DiscoveryResponseMessageType\n; PayloadHeader =  DiscoveryResponsePayloadHeader\nDiscoveryResponsePayloadHeader  = DiscoveryResponseType SequenceNumber \nDiscoveryResponseType = DiscoveryResponseTypeReserved / DiscoveryResponseTypePublisherEndpoint / DiscoveryResponseTypeDataSetMetadata / DiscoveryResponseTypeDataSetWriterConfiguration\nDiscoveryResponseTypeReserved                       = %x00\nDiscoveryResponseTypePublisherEndpoint              = %x01\nDiscoveryResponseTypeDataSetMetadata                = %x02\nDiscoveryResponseTypeDataSetWriterConfiguration     = %x03\n\n; Payload = DiscoveryResponsePayload\nDiscoveryResponsePayload    = PublisherEndpointsMessage / DataSetMetaDataMessage / DataSetWriterConfigurationMessage\nPublisherEndpointsMessage   = Endpoints StatusCode\nEndpoints                   = *EndpointDescription ; The OPC UA Server Endpoints of the Publisher. The EndpointDescription is defined in Part 4.\nEndpointDescription         = *OCTET\n\nDataSetMetaDataMessage      = DataSetWriterId DataSetMetaDataType StatusCode\nDataSetMetaDataType         = DataSetName Description Fields DataSetClassId ConfigurationVersionDataType\nDataSetName                 = String            ; Name of the DataSet.\nDescription                 = LocalizedText     ; Description of the DataSet. The default value is a null LocalizedText.\nFields                      = *FieldMetaData   ; The metadata for the fields in the DataSet. The FieldMetaData DataType is defined in 6.2.2.1.3.\nFieldMetaData               = FieldName FieldDescription DataSetFieldFlags BuiltInType DataType ValueRank ArrayDimensions MaxStringLength DataSetFieldId Properties\n\nFieldName           = String        ; Name of the field. The name shall be unique in the DataSet.\nFieldDescription    = LocalizedText ; Description of the field. The default value shall be a null LocalizedText.\nDataSetFieldFlags   = OCTET         ; Flags for the field. The flag indicates if the field is promoted to the NetworkMessages or transport protocol header. \n                                    ; Setting this flag increases the size of the NetworkMessages since information from the DataSetMessage body is also promoted to the header.\n                                    ; Depending on the used security, the header including the field may be unencrypted. \n                                    ; Promoted fields are always included in the header even if the DataSetMessage payload is a delta frame and the DataSet field is not included in the delta frame. \n                                    ; In this case the last sent value is sent in the header. \n                                    ; The order of the fields in the DataSetMetaData promoted to the header shall match the order of the fields in the header unless the header includes field names.\nBuiltInType = OCTET ; The built-in data type of the field. The possible built-in type values are defined in Part 6.\n                    ; All data types are transferred in DataSetMessages as one of the built-in data types. In most cases the identifier of the DataType NodeId matches the built-in type. The following special cases must be handled in addition:\n                    ; (1) Abstract types always have the built-in type Variant since they can result in different concrete types in a DataSetMessage. The dataType field may provide additional restrictions e.g. if the abstract type is Number. Abstract types shall not be used if the field is represented as RawData set by the DataSetFieldContentMask defined in 6.2.3.1.\n                    ; (2) Enumeration DataTypes are encoded as Int32. The Enumeration strings are defined through a DataType referenced through the dataType field.\n                    ; (3) Structure and Union DataTypes are encoded as ExtensionObject. The encoding rules are defined through a DataType referenced through the dataType field.\n                    ; (4) DataTypes derived from built-in types have the BuiltInType of the corresponding base DataType. The concrete subtype is defined through the dataType field. \n                    ; (5) OptionSet DataTypes are either encoded as one of the concrete UInteger DataTypes or as an instance of an OptionSetType in an ExtensionObject.\nDataType = NodeId   ; The NodeId of the DataType of this field. If the DataType is an Enumeration or an OptionSet, the semantic of the Enumeration DataType is provided \n                    ; through the enumDataTypes field of the DataSetMetaData. If the DataType is a Structure or Union, the encoding and decoding description of the Structure \n                    ; DataType is provided through the structureDataTypes field of the DataSetMetaData.\nValueRank = Int32   ; Indicates whether the dataType is an array and how many dimensions the array has. It may have the following values:\n                    ; n > 1: the dataType is an array with the specified number of dimensions.\n                    ; OneDimension (1): The dataType is an array with one dimension.\n                    ; OneOrMoreDimensions (0): The dataType is an array with one or more dimensions.\n                    ; Scalar (−1): The dataType is not an array.\n                    ; Any (−2): The dataType can be a scalar or an array with any number of dimensions.\n                    ; ScalarOrOneDimension (−3): The dataType can be a scalar or a one dimensional array.\n                    ; NOTE All DataTypes are considered to be scalar, even if they have array-like semantics like ByteString and String \nArrayDimensions = *UInt32           ; This field specifies the maximum supported length of each dimension. If the maximum is unknown the value shall be 0.\n                                    ; The number of elements shall be equal to the value of the valueRank field. This field shall be null if valueRank ≤ 0.\n                                    ; The maximum number of elements of an array transferred on the wire is 2147483647 (max Int32). It is the total number of elements in all dimensions based on the UA Binary encoding rules for arrays.\nMaxStringLength = UInt32            ; If the dataType field is a String or ByteString then this field specifies the maximum supported length. If the maximum is unknown the value shall be 0. \n                                    ; If the dataType field is not a String or ByteString the value shall be 0. If the valueRank is greater than 0 this field applies to each element of the array.\nDataSetFieldId  = Guid              ; The unique ID for the field in the DataSet. The ID is generated when the field is added to the list. A change of the position of the field in the list shall not change the ID.\nProperties      = *KeyValuePair     ; List of Property values providing additional semantic for the field. If at least one Property value changes, the MajorVersion of the ConfigurationVersion shall be updated.\n                                    ; If the Property is EngineeringUnits, the unit of the Field Value shall match the unit of the FieldMetaData. \n                                    ; The KeyValuePair DataType is defined in Part 5. For this field the key in the KeyValuePair structure is the BrowseName of the Property and the value in the \n                                    ; KeyValuePair structure is the Value of the Property.\nConfigurationVersionDataType        = MajorVersion MinorVersion\nDataSetWriterConfigurationMessage   = DataSetWriterIdList DataSetWriterConfig *StatusCode\nDataSetWriterConfig                 = WriterGroupDataType\nWriterGroupDataType                 = WriterGroupId PublishingInterval KeepAliveTime Priority LocaleIds TransportSettings MessageSettings DataSetWriters\nPublishingInterval                  = Duration\nKeepAliveTime                       = Duration\nPriority                            = OCTET\nLocaleIds                           = *String\nTransportSettings                   = WriterGroupTransportDataType  ; Transport mapping specific WriterGroup parameters.\nMessageSettings                     = WriterGroupMessageDataType    ; NetworkMessage mapping specific WriterGroup parameters.\nDataSetWriters                      = DataSetWriterDataType         ; The DataSetWriters contained in the WriterGroup.\nWriterGroupTransportDataType        = *OCTET   ; Depends on transport\nWriterGroupMessageDataType          = *OCTET   ; Depends on transport\nDataSetWriterDataType               = *OCTET   ; The DataSetWriters contained in the WriterGroup.\nMajorVersion                        = VersionTime\nMinorVersion                        = VersionTime\n\n; Common definition\nDataSetWriterIdList = *DataSetWriterId  ; List of DataSetWriterId items contained in the NetworkMessage. The size of the list is defined by the MessagesCount\n                                        ; The DataSetWriterId identifies the PublishedDataSet and the DataSetWriter responsible for sending Messages for the DataSet.\nDataSetWriterId     = UInt16            ; A Subscriber can skip DataSetMessages from DataSetWriters it does not expect DataSetMessages from.\n\n; Part 3 definitions\nDuration\t\t    = Double\t        ; This Simple DataType is a Double that defines an interval of time in milliseconds (fractions can be used to define sub-millisecond values).\n\t\t\t\t\t\t\t            ; Negative values are generally invalid but may have special meanings where the Duration is used.\nBaseDataType\t    = *OCTET\t        ; This abstract DataType defines a value that can have any valid DataType.\n                            ; The field value of the DataSet. The field encoding depends on the FieldEncoding value. The default encoding is FieldEncodingVariant.\nString              = *OCTET            ; This OPC UA Built-in DataType defines a Unicode character string that should exclude control characters that are not whitespaces.\n\n; Part 4 definitions\nVersionTime         = UInt32\t        ; This primitive data type is a UInt32 that represents the time in seconds since the year 2000.\nIntegerId           = UInt32            ; This primitive data type is a UInt32 that is used as an identifier, such as a handle. All values, except for 0, are valid.\n\n; Part 5 definitions\nKeyValuePair        = *OCTET\n\n; Part 6 definitions\nDateTime        = UInt64                ; A DateTime value shall be encoded as a 64-bit signed integer which represents the number of 100 nanosecond intervals since January 1, 1601 (UTC).\nStatusCode      = UInt32                ; Status code indicating the capability of the Publisher to provide Endpoints.\nUInt8           = OCTET\nUInt16          = 2OCTET\nUInt32          = 4OCTET\nUInt64          = 8OCTET\nInt32           = 4OCTET\nGuid            = 16OCTET\nNodeId          = *OCTET\nDouble\t\t    = *8OCTET\t            ; All floating-point values shall be encoded with the appropriate IEEE-754 binary representation.\nLocalizedText   = EncodingMask Locale Text\nEncodingMask    = OCTET                 ; A bit mask that indicates which fields are present in the stream. The mask has the following bits: %x01 Locale %x02 Text\nLocale          = String                ; The locale. Omitted is null or empty.\nText            = String                ; The text in the specified locale. Omitted is null or empty.\n\n; RFC 5234\nBIT = \"0\" / \"1\"\nOCTET = %x00-FF ; 8 bits of data\n"
  },
  {
    "path": "Networking/SemanticData/MessageHandling/NetworkMessageFlags.cs",
    "content": "﻿using System;\n\nnamespace UAOOI.Networking.SemanticData.MessageHandling\n{\n  /// <summary>\n  /// Class PacketFlagsDefinitions - contains definitions related to the package flags.\n  /// </summary>\n  public static class PacketFlagsDefinitions\n  {\n    /// <summary>\n    /// Enum PacketFlags\n    /// </summary>\n    public enum NetworkMessageType : byte \n    {\n      /// <summary>\n      /// The regular messages\n      /// </summary>\n      RegularMessages = 0x00,\n      /// <summary>\n      /// The chunk packet\n      /// </summary>\n      ChunkPacket = 0x01,\n      /// <summary>\n      /// The discovery request payload \n      /// </summary>\n      DiscoveryRequest = 0x02,\n      /// <summary>\n      /// The discovery response payload\n      /// </summary>\n      DiscoveryResponse = 0x03,\n      /// <summary>\n      /// The 1XX (0x04 - 0x07) bits combination is reserved for further expansion.\n      /// </summary>\n      Reserved = 0x04,\n    }\n    /// <summary>\n    /// Enum PacketFlagsPackageContent - defines package content bits meaning\n    /// </summary>\n    [Flags]\n    public enum NetworkMessageFlagsPackageContent : byte\n    {\n      /// <summary>\n      /// The bit 3 is reserved \n      /// </summary>\n      Reserved0x10 = 0x8,\n      /// <summary>\n      /// The bit 4 is reserved \n      /// </summary>\n      Reserved0x20 = 0x10,\n      /// <summary>\n      /// The force key rotation bit. This bit is set if the key rotation is started earlier than planned. It is set until the new key is used. \n      /// The publisher must give subscribers a reasonable time to request new keys. The minimum time is five times the KeepAliveTime configured \n      /// for the corresponding PubSub group.\n      /// </summary>\n      ForceKeyRotationBit = 0x20,\n      /// <summary>\n      /// The message is signed.\n      /// </summary>\n      MessageSigned = 0x40,\n      /// <summary>\n      /// The message is encrypted.\n      /// </summary>\n      MessageEncrypted = 0x80\n    }\n\n  }\n}\n"
  },
  {
    "path": "Networking/SemanticData/MessageHandling/PacketHeader.cs",
    "content": "﻿\nusing System;\nusing System.Collections.Generic;\nusing System.Collections.ObjectModel;\nusing System.Diagnostics;\nusing UAOOI.Networking.SemanticData.Encoding;\n\nnamespace UAOOI.Networking.SemanticData.MessageHandling\n{\n\n  /// <summary>\n  /// Class PacketHeader - represent information in the protocol packet header.\n  /// </summary>\n  public abstract class PacketHeader\n  {\n\n    #region public API\n    /// <summary>\n    /// Gets the producer packet header.\n    /// </summary>\n    /// <param name=\"encoder\">The writer.</param>\n    /// <param name=\"producerId\">The producer identifier.</param>\n    /// <param name=\"dataSetWriterIds\">The data set writer ids list. The size of the list must be equal to the <see cref=\"PacketHeader.MessageCount\"/>.</param>\n    /// <returns>An instance of the <see cref=\"PacketHeader\"/>.</returns>\n    public static PacketHeader GetProducerPacketHeader(IBinaryHeaderEncoder encoder, Guid producerId, IList<ushort> dataSetWriterIds)\n    {\n      return new ProducerHeader(encoder, producerId, dataSetWriterIds);\n    }\n    /// <summary>\n    /// Gets the consumer packet header.\n    /// </summary>\n    /// <param name=\"decoder\">The reader.</param>\n    /// <returns>New instance of the <see cref=\"PacketHeader\"/>.</returns>\n    public static PacketHeader GetConsumerPacketHeader(IBinaryDecoder decoder)\n    {\n      return new ConsumerHeader(decoder);\n    }\n    /// <summary>\n    /// Synchronizes this instance content with the header.\n    /// </summary>\n    public abstract void WritePacketHeader();\n    #endregion\n\n    #region Header\n    /// <summary>\n    /// If implemented gets or sets the protocol version.\n    /// </summary>\n    /// <value>The protocol version.</value>\n    public abstract byte ProtocolVersion { get; set; }\n    /// <summary>\n    /// If implemented gets or sets the packet flags.\n    /// </summary>\n    /// <value>The packet flags.</value>\n    public abstract byte NetworkMessageFlags { get; set; }\n    /// <summary>\n    /// If implemented gets or sets the identifier of producer that sends the data.\n    /// </summary>\n    /// <value>The <see cref=\"Guid\"/> representing the producer.</value>\n   //TODO How to configure ProducerId #148\n    public abstract Guid PublisherId { get; set; }\n    /// <summary>\n    /// If implemented gets or sets the security token identifier.\n    /// </summary>\n    /// <value>The security token identifier.</value>\n    public abstract uint SecurityTokenId { get; set; }\n    /// <summary>\n    /// Gets or sets the length of the nonce used to initialize the encryption algorithm..\n    /// </summary>\n    /// <value>The length of the nonce.</value>\n    public byte NonceLength { get; set; }\n    /// <summary>\n    /// Gets or sets the nonce a cryptographically random number used for exactly one packet.\n    /// </summary>\n    /// <value>The nonce as the array of <see cref=\"byte\"/>.</value>\n    public byte[] Nonce { get; set; }\n    /// <summary>\n    /// If implemented gets or sets the number of messages contained in the packet.\n    /// </summary>\n    /// <value>The message count.</value>\n    public abstract byte MessageCount { get; }\n    /// <summary>\n    /// If implemented gets or sets the data set writer ids list. The size of the list is defined by the <see cref=\"PacketHeader.MessageCount\"/>.\n    /// It identifies the publisher and the message writer responsible for sending Messages for the DataSet.\n    /// </summary>\n    /// <value>The data set writer ids.</value>\n    public abstract ReadOnlyCollection<ushort> DataSetWriterIds { get; }\n    #endregion\n\n    #region private implementation\n    private class ConsumerHeader : PacketHeader\n    {\n\n      #region constructor\n      public ConsumerHeader(IBinaryDecoder reader) : base()\n      {\n        m_Reader = reader;\n        ReadPacketHeader();\n      }\n      #endregion\n\n      #region PacketHeader\n      public override byte MessageCount => m_MessageCount;\n      public override byte NetworkMessageFlags\n      {\n        get; set;\n      }\n      public override byte ProtocolVersion\n      {\n        get; set;\n      }\n      /// <summary>\n      /// If implemented gets or sets the identifier of producer that sends the data.\n      /// </summary>\n      /// <value>The <see cref=\"Guid\" /> representing the producer.</value>\n      //TODO How to configure ProducerId #148\n      public override Guid PublisherId\n      {\n        get; set;\n      }\n      public override uint SecurityTokenId\n      {\n        get; set;\n      }\n      public override ReadOnlyCollection<ushort> DataSetWriterIds => m_DataSetWriterIds;\n      public override void WritePacketHeader()\n      {\n        throw new ApplicationException(\"Consumer packet is read only\");\n      }\n      #endregion\n\n      #region private\n      private IBinaryDecoder m_Reader;\n      private ReadOnlyCollection<ushort> m_DataSetWriterIds;\n      private byte m_MessageCount;\n      private void ReadPacketHeader()\n      {\n        ProtocolVersion = m_Reader.ReadByte();\n        NetworkMessageFlags = m_Reader.ReadByte();\n        PublisherId = m_Reader.ReadGuid();\n        SecurityTokenId = m_Reader.ReadUInt32();\n        NonceLength = m_Reader.ReadByte();\n        Nonce = new byte[NonceLength];\n        for (int i = 0; i < NonceLength; i++)\n          Nonce[i] = m_Reader.ReadByte();\n        m_MessageCount = m_Reader.ReadByte();\n        List<ushort> _ids = new List<ushort>();\n        for (int i = 0; i < MessageCount; i++)\n          _ids.Add(m_Reader.ReadUInt16());\n        m_DataSetWriterIds = new ReadOnlyCollection<ushort>(_ids);\n      }\n      #endregion\n\n    }\n    private class ProducerHeader : PacketHeader\n    {\n\n      #region constructor\n      public ProducerHeader(IBinaryHeaderEncoder writer, Guid producerId, IList<ushort> dataSetWriterIds) : base()\n      {\n        if (writer == null)\n          throw new ArgumentNullException(nameof(writer));\n        PublisherId = producerId;\n        NetworkMessageFlags = Convert.ToByte(PacketFlagsDefinitions.NetworkMessageType.RegularMessages);\n        ProtocolVersion = CommonDefinitions.ProtocolVersion;\n        SecurityTokenId = 0;\n        NonceLength = 0;\n        DataSetWriterIds = new ReadOnlyCollection<ushort>(dataSetWriterIds);\n        MessageCount = Convert.ToByte(DataSetWriterIds.Count);\n        ushort _packetLength = Convert.ToUInt16(m_PacketHeaderLength + dataSetWriterIds.Count * 2);\n        m_HeaderWriter = new HeaderWriter(writer, _packetLength);\n      }\n      #endregion\n\n      #region PacketHeader\n      /// <summary>\n      /// Gets or sets the number of messages contained in the packet.\n      /// </summary>\n      /// <value>The message count.</value>\n      public override byte MessageCount\n      {\n        get;\n      }\n      /// <summary>\n      /// Gets or sets the message flags.\n      /// </summary>\n      /// <value>The message flags.</value>\n      public override byte NetworkMessageFlags\n      {\n        get; set;\n      }\n      /// <summary>\n      /// Gets or sets the protocol version.\n      /// </summary>\n      /// <value>The protocol version.</value>\n      public override byte ProtocolVersion\n      {\n        get; set;\n      }\n      /// <summary>\n      /// Gets or sets the identifier of producer that sends the data.\n      /// </summary>\n      /// <value>The <see cref=\"Guid\" /> representing the producer.</value>\n      //TODO How to configure ProducerId #148\n      public override Guid PublisherId\n      {\n        get; set;\n      }\n      /// <summary>\n      /// Gets or sets the security token identifier.\n      /// </summary>\n      /// <value>The security token identifier.</value>\n      public override uint SecurityTokenId\n      {\n        get; set;\n      }\n      public override ReadOnlyCollection<ushort> DataSetWriterIds\n      {\n        get;\n      }\n      /// <summary>\n      /// Synchronizes this instance content with the header.\n      /// </summary>\n      public override void WritePacketHeader()\n      {\n        m_HeaderWriter.WriteHeader(WriteHeader);\n      }\n      #endregion\n\n      #region private\n      //vars\n      private HeaderWriter m_HeaderWriter;\n      private const ushort m_PacketHeaderLength = 20;\n      //methods\n      private void WriteHeader(IBinaryHeaderEncoder m_Writer, ushort dataLength)\n      {\n        Debug.Assert(DataSetWriterIds != null);\n        Debug.Assert(DataSetWriterIds.Count == MessageCount);\n        m_Writer.Write(ProtocolVersion);\n        m_Writer.Write(NetworkMessageFlags);\n        m_Writer.Write(PublisherId);\n        m_Writer.Write(SecurityTokenId);\n        m_Writer.Write(NonceLength);\n        for (int i = 0; i < NonceLength; i++)\n          m_Writer.Write(Nonce[i]);\n        m_Writer.Write(MessageCount);\n        if (MessageCount == 0)\n          return;\n        for (int i = 0; i < DataSetWriterIds.Count; i++)\n          m_Writer.Write(DataSetWriterIds[i]);\n      }\n      #endregion\n\n    }\n    #endregion\n\n  }\n\n}\n"
  },
  {
    "path": "Networking/SemanticData/Networking.SemanticData.csproj",
    "content": "﻿<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<Project Sdk=\"Microsoft.NET.Sdk\">\n  <PropertyGroup>\n    <TargetFramework>netstandard2.0</TargetFramework>\n    <AssemblyName>UAOOI.Networking.SemanticData</AssemblyName>\n    <SignAssembly>true</SignAssembly>\n    <AssemblyOriginatorKeyFile>OPCUAOOIKey.snk</AssemblyOriginatorKeyFile>\n    <PackageTags>Object Oriented Internet, OPC UA, CommServer, Reactive Networking.</PackageTags>\n    <RepositoryType>GitHub</RepositoryType>\n    <RepositoryUrl>https://github.com/mpostol/OPC-UA-OOI</RepositoryUrl>\n    <PackageProjectUrl>https://commsvr.gitbook.io/ooi</PackageProjectUrl>\n    <Copyright>Copyright MPostol (c) 2018</Copyright>\n    <Description>SemanticData Reactive Networking  library based on OPC UA Part 14 Pub/Sub.</Description>\n    <Version>4.0.2</Version>\n    <Authors>MPostol</Authors>\n    <Company>commsvr.com</Company>\n    <Product>Object Oriented Internet</Product>\n    <RootNamespace>UAOOI.Networking.SemanticData</RootNamespace>\n    <AssemblyVersion>4.0.2.0</AssemblyVersion>\n    <GeneratePackageOnBuild>false</GeneratePackageOnBuild> \n  </PropertyGroup>\n  <PropertyGroup Condition=\"'$(Configuration)|$(Platform)'=='Debug|AnyCPU'\">\n    <NoWarn>1701;1702;1705;IDE0001;IDE002;IDE003</NoWarn>\n  </PropertyGroup>\n  <ItemGroup>\n    <PackageReference Include=\"System.ComponentModel.Composition\" Version=\"6.0.0\" />\n  </ItemGroup>\n  <ItemGroup>\n    <ProjectReference Include=\"..\\..\\Configuration\\Networking\\Configuration.Networking.csproj\" />\n    <ProjectReference Include=\"..\\Core\\Networking.Core.csproj\" />\n  </ItemGroup>\n  <ItemGroup>\n    <None Update=\"Networking.SemanticData.nuspec\">\n      <DesignTime>True</DesignTime>\n      <AutoGen>True</AutoGen>\n      <DependentUpon>Networking.SemanticData.tt</DependentUpon>\n    </None>\n    <None Update=\"Networking.SemanticData.tt\">\n      <Generator>TextTemplatingFileGenerator</Generator>\n      <LastGenOutput>Networking.SemanticData.nuspec</LastGenOutput>\n    </None>\n    <None Update=\"Properties\\AssemblyInfo.tt\">\n      <Generator>TextTemplatingFileGenerator</Generator>\n    </None>\n  </ItemGroup>\n  <ItemGroup>\n    <Service Include=\"{508349b6-6b84-4df5-91f0-309beebad82d}\" />\n  </ItemGroup>\n</Project>"
  },
  {
    "path": "Networking/SemanticData/Networking.SemanticData.nuspec",
    "content": "﻿<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<package xmlns=\"http://schemas.microsoft.com/packaging/2012/06/nuspec.xsd\">\n  <metadata>\n    <id>UAOOI.Networking.SemanticData</id>\n    <version>4.0.2</version>\n    <title>Object Oriented Internet Networking SemanticData</title>\n    <authors>Mariusz Postol</authors>\n    <owners>Mariusz Postol</owners>\n    <requireLicenseAcceptance>false</requireLicenseAcceptance>\n    <license type=\"expression\">MIT</license>\n    <projectUrl>https://github.com/mpostol/OPC-UA-OOI</projectUrl>\n    <icon>logo.png</icon>\n    <description>SemanticData Reactive Networking  library based on OPC UA Part 14 Pub/Sub</description>\n    <summary>summary must be added.</summary>    \n    <copyright>Copyright (C) 2022 Mariusz Postol LODZ POLAND</copyright>\n    <tags>Object Oriented Internet, OPC UA, Information Model, IoT, M2M, DOA,</tags>\n    <repository type=\"GitHub\" url=\"https://github.com/mpostol/OPC-UA-OOI/tree/master/Networking/SemanticData#reactive-networking-rxnetworking-of-semantic-data-library\" />\n    <dependencies>\n      <group targetFramework=\".NETStandard2.0\">\n        <dependency id=\"System.ComponentModel.Composition\" version=\"4.7.0\" exclude=\"Build,Analyzers\" />\n        <dependency id=\"UAOOI.Configuration.Networking\" version=\"4.0.1\" exclude=\"Build,Analyzers\" />\n        <dependency id=\"UAOOI.Networking.Core\" version=\"4.0.2\" exclude=\"Build,Analyzers\" />\n      </group>\n    </dependencies>\n    <releaseNotes>Maintenance release - unimportant changes.</releaseNotes>\n    <copyright>Copyright (C) 2022 Mariusz Postol LODZ POLAND</copyright>\n  </metadata>\n  <files>\n    <file src=\"logo.png\" target=\"\"/>\n    <file src=\"bin\\Release\\netstandard2.0\\UAOOI.Networking.SemanticData.dll\" target=\"lib\\netstandard2.0\\UAOOI.Networking.SemanticData.dll\" />\n  </files>\n</package>\n\n"
  },
  {
    "path": "Networking/SemanticData/Networking.SemanticData.tt",
    "content": "﻿<#@ template debug=\"false\" hostspecific=\"false\" language=\"C#\" #>\n<#@ output extension=\".nuspec\" #>\n<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<package xmlns=\"http://schemas.microsoft.com/packaging/2012/06/nuspec.xsd\">\n  <metadata>\n    <id>UAOOI.Networking.SemanticData</id>\n    <version>4.0.2</version>\n    <title><#=NetworkingDataProduct#> Networking SemanticData</title>\n    <authors><#=AssemblyCompany#></authors>\n    <owners><#=Owner#></owners>\n    <requireLicenseAcceptance>false</requireLicenseAcceptance>\n    <license type=\"expression\">MIT</license>\n    <projectUrl><#=Url#></projectUrl>\n    <icon>logo.png</icon>\n    <description>SemanticData Reactive Networking  library based on OPC UA Part 14 Pub/Sub</description>\n    <summary>summary must be added.</summary>    \n    <copyright><#=AssemblyCopyright#></copyright>\n    <tags>Object Oriented Internet, OPC UA, Information Model, IoT, M2M, DOA,</tags>\n    <repository type=\"GitHub\" url=\"https://github.com/mpostol/OPC-UA-OOI/tree/master/Networking/SemanticData#reactive-networking-rxnetworking-of-semantic-data-library\" />\n    <dependencies>\n      <group targetFramework=\".NETStandard2.0\">\n        <dependency id=\"System.ComponentModel.Composition\" version=\"4.7.0\" exclude=\"Build,Analyzers\" />\n        <dependency id=\"UAOOI.Configuration.Networking\" version=\"4.0.1\" exclude=\"Build,Analyzers\" />\n        <dependency id=\"UAOOI.Networking.Core\" version=\"4.0.2\" exclude=\"Build,Analyzers\" />\n      </group>\n    </dependencies>\n    <releaseNotes>Maintenance release - unimportant changes.</releaseNotes>\n    <copyright><#=AssemblyCopyright#></copyright>\n  </metadata>\n  <files>\n    <file src=\"logo.png\" target=\"\"/>\n    <file src=\"bin\\Release\\netstandard2.0\\UAOOI.Networking.SemanticData.dll\" target=\"lib\\netstandard2.0\\UAOOI.Networking.SemanticData.dll\" />\n  </files>\n</package>\n\n<#@ include file = \"..\\..\\CommonResources\\T4Definitions\\Model.t4\" #>\n"
  },
  {
    "path": "Networking/SemanticData/ProducerAssociation.cs",
    "content": "﻿//___________________________________________________________________________________\n//\n//  Copyright (C) 2020, Mariusz Postol LODZ POLAND.\n//\n//  To be in touch join the community at GITTER: https://gitter.im/mpostol/OPC-UA-OOI\n//___________________________________________________________________________________\n\nusing System;\nusing System.Collections.Generic;\nusing System.ComponentModel;\nusing System.Linq;\nusing System.Timers;\nusing UAOOI.Configuration.Networking.Serialization;\nusing UAOOI.Networking.SemanticData.Common;\nusing UAOOI.Networking.SemanticData.DataRepository;\nusing UAOOI.Networking.SemanticData.MessageHandling;\n\nnamespace UAOOI.Networking.SemanticData\n{\n\n  /// <summary>\n  /// Class ProducerAssociation - implements the association for the producer side.\n  /// </summary>\n  internal class ProducerAssociation : Association, IDisposable\n  {\n\n    #region creator\n    /// <summary>\n    /// Initializes a new instance of the <see cref=\"ProducerAssociation\"/> class.\n    /// </summary>\n    /// <param name=\"data\">The semantic data description.</param>\n    /// <param name=\"aliasName\">Name of the alias - .</param>\n    /// <param name=\"dataSet\">The data set configuration.</param>\n    /// <param name=\"bindingFactory\">The binding factory.</param>\n    /// <param name=\"encodingFactory\">The encoding factory.</param>\n    internal ProducerAssociation(ISemanticData data, string aliasName, DataSetConfiguration dataSet, IBindingFactory bindingFactory, IEncodingFactory encodingFactory)\n      : base(data, dataSet.AssociationName)\n    {\n      m_ConfigurationVersion = dataSet.ConfigurationVersion;\n      m_DataSetBindings =\n        dataSet.DataSet.Select<FieldMetaData, IProducerBinding>\n        ((_fieldMetadata) =>\n        {\n          IProducerBinding _ret = _fieldMetadata.GetProducerBinding4DataMember(dataSet.RepositoryGroup, bindingFactory, encodingFactory);\n          _ret.PropertyChanged += ProducerBinding_PropertyChanged;\n          return _ret;\n        }).ToArray<IProducerBinding>();\n      m_Timer = new Timer(1000) { AutoReset = true };\n      m_Timer.Elapsed += M_Timer_Elapsed;\n      m_Timer.Start();\n    }\n    #endregion\n\n    #region public API\n    /// <summary>\n    /// Adds the message writer.\n    /// </summary>\n    /// <param name=\"messageWriter\">The message writer.</param>\n    /// <exception cref=\"System.ArgumentNullException\">messageReader</exception>\n    public void AddMessageWriter(IMessageWriter messageWriter)\n    {\n      if (messageWriter == null)\n        throw new ArgumentNullException(\"messageReader\");\n      if (m_MessageWriter.Exists(x => x.Equals(messageWriter)))\n        return;\n      m_Modified = true;\n      m_MessageWriter.Add(messageWriter);\n    }\n    /// <summary>\n    /// Removes the message writer.\n    /// </summary>\n    /// <param name=\"messageWriter\">The message writer.</param>\n    /// <exception cref=\"System.ArgumentNullException\">messageReader</exception>\n    public void RemoveMessageWriter(IMessageWriter messageWriter)\n    {\n      if (messageWriter == null)\n        throw new ArgumentNullException(\"messageReader\");\n      if (m_MessageWriter.Exists(x => x.Equals(messageWriter)))\n        m_MessageWriter.Add(messageWriter);\n    }\n    #endregion\n\n    #region private\n    //vars\n    private Timer m_Timer;\n    private List<IMessageWriter> m_MessageWriter = new List<IMessageWriter>();\n    private IProducerBinding[] m_DataSetBindings;\n    private readonly object mLockObject = new object();\n    private bool m_Modified = true;\n    private readonly Object m_lock = new object();\n    private ushort m_MessageSequenceNumber = 0;\n    private FieldEncodingEnum m_Encoding;\n    //TODO Handle Configuration Version  #140\n    private readonly ConfigurationVersionDataType m_ConfigurationVersion = null;\n    //methods\n    protected override void InitializeCommunication()\n    {\n      //Do nothing;\n    }\n    protected override void OnEnabling()\n    {\n      foreach (IProducerBinding _pbx in m_DataSetBindings)\n        _pbx.OnEnabling();\n    }\n    protected override void OnDisabling()\n    {\n      foreach (IProducerBinding _pbx in m_DataSetBindings)\n        _pbx.OnDisabling();\n    }\n    protected internal override void AddMessageHandler(IMessageHandler messageHandler, AssociationConfiguration configuration)\n    {\n      base.AddMessageHandler(messageHandler, configuration);\n      ProducerAssociationConfiguration _configuration = (ProducerAssociationConfiguration)configuration;\n      m_Encoding = _configuration.FieldEncoding;\n      AddMessageWriter(messageHandler as IMessageWriter);\n    }\n    private void ProducerBinding_PropertyChanged(object sender, PropertyChangedEventArgs e)\n    {\n      lock (m_lock)\n      {\n        m_Modified = true;\n      }\n    }\n    private void M_Timer_Elapsed(object sender, ElapsedEventArgs e)\n    {\n      lock (m_lock)\n      {\n        if (!m_Modified)\n          return;\n        m_Modified = false;\n      }\n      Send();\n    }\n    private void Send()\n    {\n      foreach (IMessageWriter _mwx in m_MessageWriter)\n        lock (mLockObject)\n          _mwx.Send(x => m_DataSetBindings[x], Convert.ToUInt16(m_DataSetBindings.Length), UInt64.MaxValue, m_Encoding, DataSetId, m_MessageSequenceNumber, DateTime.UtcNow, m_ConfigurationVersion);\n      m_MessageSequenceNumber = m_MessageSequenceNumber.IncRollOver();\n    }\n\n    #region IDisposable Support\n    private bool disposedValue = false; // To detect redundant calls\n    protected virtual void Dispose(bool disposing)\n    {\n      if (!disposedValue)\n      {\n        if (disposing)\n          m_Timer.Dispose();\n        disposedValue = true;\n      }\n    }\n    // TODO: override a finalizer only if Dispose(bool disposing) above has code to free unmanaged resources.\n    // ~ProducerAssociation() {\n    //   // Do not change this code. Put cleanup code in Dispose(bool disposing) above.\n    //   Dispose(false);\n    // }\n    // This code added to correctly implement the disposable pattern.\n    public void Dispose()\n    {\n      // Do not change this code. Put cleanup code in Dispose(bool disposing) above.\n      Dispose(true);\n      // TODO: uncomment the following line if the finalizer is overridden above.\n      // GC.SuppressFinalize(this);\n    }\n    #endregion\n\n    #endregion\n\n  }\n\n}\n"
  },
  {
    "path": "Networking/SemanticData/Properties/AssemblyInfo.cs",
    "content": "﻿//_______________________________________________________________\n//  Title   : Assembly info for: Semantic Data Reactive Networking Library\n//  System  : Microsoft VisualStudio 2018 / C#\n//\n//  Copyright MPostol (c) 2018\n//  +48 608 619 899\n//  commserver@cas.eu\n//  https://github.com/mpostol/OPC-UA-OOI\n//_______________________________________________________________\n\nusing System.Reflection;\nusing System.Runtime.CompilerServices;\nusing System.Runtime.InteropServices;\n\n[assembly: AssemblyTrademark(\"Object Oriented Internet\")]\n[assembly: AssemblyCulture(\"\")]\n[assembly: ComVisible(false)]\n[assembly: InternalsVisibleTo(\n  \"UAOOI.Networking.SemanticData.UnitTest, PublicKey=\" +\n    \"00240000048000009400000006020000002400005253413100040000010001005b97a0972ff6b13a\" +\n    \"8a9ff9c09503aea0e5e2fe29cb2275a0c0942182f4c3431814b6bc9a556d9fe0d7e7823439c1ba28\" +\n    \"521f6318e4c936c4461604ef668e9686c2021571b093e1bfba071b373bc56a07a3afdc120c5313d3\" +\n    \"9a935cda64b759f857ebb3db483641444a5347e1564f8ba6d4fad2f968d3caf9991a4fa6aa019ebe\"\n)]\n"
  },
  {
    "path": "Networking/SemanticData/README.MD",
    "content": "# Reactive Networking (`RxNetworking`) of Semantic-Data Library\n\n## Getting Started\n\nThe `UAOOI.Networking.SemanticData` library is designed to be a foundation of developing application programs that are taking part of message-centric communication pattern and interconnected using the reactive networking concept described in the [Semantic-Data Processing Architecture](../README.MessageCentricCommunication.md). The diagram below presents how to engage this library to provide a more specific functionality required depending on the role of concern compliant with the overall architecture.\n\n![Figure 1. Message-centric Communication Roles Implementation](../../CommonResources/Media/DataManagementGeneralization.png)\n\nFor more in-depth information about creating `OOI Reactive Application` exchanging data over the network using the reactive networking pattern, see [Getting Started Tutorial](./READMEGettingStartedTutorial.md).\n\nTo promote interoperability this library is a collection of types aimed at implementation of the [Part 14 PubSub](README.PubSubMTF.md) standard.\n\nThe code is tested using the Unit Tests located in the project: [Networking.SemanticData.UnitTest][Networking.SemanticData.UnitTest]\n\nThe preliminary code help documentation is [available for sponsors - consider joining](https://github.commsvr.com/AboutPartnershipProgram.md.html).\n\n> NOTE: The project is in development stage - major changes are expected.\n\n## Reactive Networking Application Architecture\n\nThe figure below shows the relationship between the library `UAOOI.Networking.SemanticData` and external parts compounding any reactive networking application (`OOI Reactive Application`). The `OOI Reactive Application` is collection of `Producer` and `Consumer` entities. They must provide an interface to real-time process data, hence they are recognized as an extension of `DataRepository` class. To implement the `DataRepository` dedicated implementation `IBinding` interface should be provided to create a bridge between real word data `Row Data` represented by the `LocalResources` class.\n\n![Figure 2. Application Architecture](../../CommonResources/Media/DataManagementExternalLibraries.png)\n\nAny application engaging the library is composed using the dependency injection pattern. The `DataManagementSetup`class is a placeholder to gather all external injection points used to compose the application, initialize the communication and bind to local resources.\n\nTo promote flexibility and the separation of concern design approach, the concreted types are loosely coupled with the library. It means, that the selection of the concrete types used to compose the application is up to the application, namely it may designate them at runtime. To conform to the library requirements all the classes must implement appropriate contract defined as an interface.\n\n- `Configuration`: represents functionality needed to read the configuration and handle the configuration modification at runtime. This functionality must be supported by the deployment platform. The library described in the article [Reactive Networking (RxNetworking) Configuration](../../Configuration/Networking/README.MD) provides helper classes that may be used to gather all required information from the configuration files to instantiate the communication infrastructure and start pumping the data. This class must implement the `IConfigurationFactory` interface. Each `Publisher` and `Consumer` must provide its own configuration.\n\n- `DataRepository`:  represents local resources in the application, for example PLC registers, HMI variables bound to screen controls, internal register of smart meters, etc. Depending on the role the library supports:\n\n  - `Consumer` - recovering data from message and writing to local resource.\n  - `Producer` - reading data from the Local resource, populating a new message with this value and sending the message over the wire.\n\n- `MessageHandling`: is a part providing the message handling services. The communicating party can be interconnected using any transparent messages transport infrastructure. For the broker-less transport layer the network infrastructure routes datagram-based messages and the `MessageHandling` should implement `UDP`, `AMQP` or `ETHERNET` protocol. Applying the broker-based approach a core component of the transport layer is a message broker and in this case the `MessageHandling` should implement `AMQP` or `MQTT` protocol.\n\n- `Encoding`: A method stub or simply stub in software development is a piece of code used to stand in for some other programming functionality. A stub may simulate the behavior of existing code (such as a procedure on a remote machine, such methods are often called mocks) or be a temporary substitute for yet-to-be-developed code.\n\n## Internal Architecture\n\n### Introduction\n\nIn figure below the relationship of the internal implementation with the overall domain model is presented.\n\n![Figure 3. Internal Implementation Diagram](../../CommonResources/Media/UADataIntegrationServices.UADataManagementClasses.png)\n\n- It is assumed that the data consumer is lightweight and may support limited encoding/decoding functionality. The functionality will be  provided as a plug-in library injected at run time. EncodingDecoding is recognizable using a pair of: name recovered from the Type object and OPC UA DataType represented by its URI.\n- Data binding - it is assumed that the binding of Local repositories/variables and messages content items is provided by the configuration. It could be also provided at runtime by updating the configuration using any external mechanism.\n\n### Data management and binding\n\nDescription of the domain model of the data management and binding is covered in the article [Data management and binding](./READMEDataDiscoveryAndBinding.md).\n\n### Bindings and encodings implementation\n\nBinding between the local repository `DataRepository` (e.g. HMI Screen, OPC UA Server Address Space) and the message content items is provided by the `IBinding` interface and its basic implementation `Binding` class. This class is responsible to decode the data from the format used to construct the message to the local type. The decoders are factored by the external class `Encoding`. See definition for details: `IBinding`.\nIt is expected that the value conversion (decoding) is provided by an instance of the IValueConverter class. If it is not applicable the [Adapter pattern](http://www.dofactory.com/net/adapter-design-pattern) must be used.\n\n### Message Transport\n\nMessage Transport will not be implemented as the library part. This functionality must be injected form outside by implementing the interfaces:\n\n- `IMessageHandler`: provides basic functionality handling messages communication over the wire.\n- `IMessageReader`: provides functionality supporting reading the messages from the wire.\n- `IMessageWriter`: provides functionality supporting sending the messages over the wire.\n\nThe library provides basic implementation of the above mentioned interfaces. In following diagram an implementation provided by the library is presented.\n\n![Figure 4. Implementation Diagram](../../CommonResources/Media/UADataIntegrationServices.UADataManagementClasses.MessageHandling.png)\n\nHope is that the abstraction will support any types of message based communication layer.\nThe library provides basic implementation of the `Message` class that supports package level encoding/decoding functionality.\n\n### Messages Sequence\n\n![Figure 5. Sequence Diagram](../../CommonResources/Media/MessagesLoop.png)\n\n## Testing\n\nSee how it works in the unit test class: [Networking.SemanticData.UnitTest][Networking.SemanticData.UnitTest]].\n\nThe [UA Data Example Application](../../Networking/ReferenceApplication/README.MD) contains a reference WPF application.\n\n## Current release\n\nThe NuGet package is available at: [UAOOI.Networking.SemanticData](https://www.nuget.org/packages/UAOOI.Networking.SemanticData/)\n\n[Networking.SemanticData.UnitTest]:https://github.com/mpostol/OPC-UA-OOI/tree/master/Networking/Tests/SemanticDatalUnitTest\n"
  },
  {
    "path": "Networking/SemanticData/README.PubSubMTF.md",
    "content": "# OPC UA PubSub Main Technology Features\n\n## Introduction\n\nIn general speaking the following two distinct patterns are used to transfer data between communicating parties:\n\n- connection-oriented: requires a session that has to be established before any data can be sent between sender and receiver\n- connectionless-oriented: the sender may start sending messages (called packets or datagrams) to the destination without any preceding handshake procedure\n\nEach has its own advantages and disadvantages. In general, the OPC UA is a session centric communication. The session is established by the **OPC UA Client** that must connect to the **OPC UA Server** before any data can be exchanged between them. In this Client/Server scenario defined by the [Services in Part 4][Opc.UA.Part4], the data flow is bidirectional over the session. The session entities communicate over a secure channel that is created in the underlying communication layer and relies upon it for secure communication. It enables to log-in using user authentication and operations authorization. More details you can find in the section:\n\n- [OPC Unified Architecture – Main Technological Features][OPCUAMTF]\n\nUsing the connection-oriented communication pattern it is difficult or even impossible to gather and process data from mobile things (e.g. smart devices, cigarettes box, drug blister, etc.), which is one of the **Internet of Things** paradigms. More details you can find in [IoT versus SCADA/DCS Data Acquisition Patterns][wordpress.IoTVersus].\n\n> The [OPC UA PubSub][OPC.UA.PubSub] specification offers the connectionless approach as an additional option to session based client-server interoperability and claims that it is a consistent part of the OPC UA specifications suit.\n> **As a result, it may be recognized as the IoT ready technology.**\n\n[OPC UA Part 14: PubSub][OPC.UA.PubSub] promotes interoperability of loosely coupled **PubSub Applications**. By design, they often will not even know each other. In this case, it is impossible to create in-band interoperability alliance based on the direct negotiations of required configuration parameters and security artifacts. Their primary relationship is the shared understanding of:\n\n- specific semantics (meaning) of exchanged data\n- the syntax and semantics of messages that include these data\n- common underlying messages transport layer\n\nThe specification claims that the PubSub integrates into the existing OPC UA technology but as result of applying the connectionless communication it is easier to implement low power and low-latency communications on local networks. Additionally, the specification states that PubSub is based on the [OPC UA Information Model][CAS.OPCUAIMD] with the aim of seamless integration into **OPC UA Servers** and **OPC UA Clients**. Nevertheless, the PubSub communication does not require such a role dependency, i.e. there is no necessity for **Publisher** or **Subscriber** to be either an **OPC UA Server** or an **OPC UA Client** to participate in the communication.\n\n> **Note 1**: Unfortunately, [OPC UA Information Model][CAS.OPCUAIMD] is not used to promote **PubSub Applications** in-band interoperability. This concept is only employed to define `Security Key Management` and `Configuration Management` models, which have an only indirect impact on the in-band **PubSub Applications** interoperability.\n\n## Services\n\n**PubSub Applications** exchange messages formatted as the `NetworkMessage` structure using underlying communication stack. As illustrated in the following domain model (Figure 1), directly or indirectly the specification defines the following actors:\n\n- `Publisher`: pushes the current process data formatted as the `NetworkMessage` structure to an underlying communication stack\n- `Subscriber`: consumes the process data, which is recovered from the `NetworkMessage` structures polled from the underlying communication stack\n- `Distribution Channel` - selected common underlying communication stack\n- `NetworkMessage` - a data structure formatted in compliance with the syntax and semantics defined by the [OPC.UA.PubSub][OPC.UA.PubSub] specification\n- `Security Key Management` - a service that provides security keys used to sign and encrypt `NetworkMessage` data structures\n- `Configuration Management` - an external application used to remotely configure **PubSub Application**\n\n![Figure 1. PubSub Application Domain Model](../../CommonResources/Media/PubSubMainComponents.png)\n\nThe `Publisher` is the actor that pushes `NetworkMessage` structures to an underlying communication stack responsible to transport it over the network. It represents a certain data source, for example, a control device, a manufacturing process, a weather station or a stock exchange. It may be also **OPC UA Client**, **OPC UA Server** or in general any application that understand the syntax and semantics of the `NetworkMessage` structure.\n\nThe `Subscriber` actors are the consumers of `NetworkMessage` structures, which are polled from the underlying transport layer. They may be **OPC UA Client**, **OPC UA Server** or in general any applications that understand the syntax and semantics of the `NetworkMessage` structure.\n\nTo interchange the process data `Publisher` and all associated `Subscribers` nodes depend on a common `Distribution Channel`. `Distribution Channel` models common knowledge necessary to use an underlying messages transport communication stack, i.e. underlying protocol stack and relevant parameters to route the messages over the network.\n\nA `Security Key Management` provides keys for message security that can be used by the `Publisher` to sign and encrypt `NetworkMessage` structures and by the `Subscriber` to verify the signature of and decrypt the `NetworkMessage`. `NetworkMessage` security concerns the integrity and confidentiality of the published message payload. The level of security can be:\n\n- no security\n- signing but no encryption\n- signing and encryption\n\nMessage security is end-to-end security (from `Publisher` to `Subscriber` instances) and requires common knowledge of the cryptographic artifacts necessary to sign and encrypt on the `Publisher` side as well as validate the signature and decrypt on the `Subscriber` side. The message security is independent of the transport protocol mapping and is defined by the specification.\n\nThe specification defines OPC UA Information Model for `Security Key Management` services and many possible scenarios that can be used to select the security profile and provide appropriate security artifacts to the `Publisher` and `Subscriber` using this model. One of them is to implement this model as the **OPC UA Server** or **OPC UA Client** where the OPC UA IM model is used to describe the server OPC UA Address Space. A detailed description of all possible scenarios applicable to select security profile and exchange security artifacts is outside of the scope of this section.\n\n`Publisher` and `Subscriber` nodes may be configurable through vendor-specific engineering tools or using the dedicated configuration OPC UA Information Model described in this standard. This model allows a standard **OPC UA Client** based configuration tool to configure a **PubSub Application** connecting to the embedded **OPC UA Server**. Using remote **Configuration Tool** over an **OPC UA Session** does not determine how dynamic the configuration can be. More detailed description of this model is outside of the scope of this section.\n\n> It is worth stressing that the configuration model doesn't provide any definition dedicated to being used for the process data bindings configuration.\n\n## Interoperability\n\n### Preface\n\nThe **PubSub Applications** are decoupled by exchanging messages over a selected underlying protocol stack. It is worth stressing that by design the **PubSub Application** doesn't expose any API that can be used to transfer upper layer data over the network, i.e. it is not a communication layer in the communication stack. It means that these applications must produce and/or consume the process data, i.e. the `NetworkMessage` must be populated using external process data.\n\n### Transport Protocol Mappings\n\n**PubSub Applications** interoperability doesn't depend on any functionality provided by the underlying transport layer. According to the specification, the **Subscriber** and **Publisher** can be interconnected using any transparent messages transport infrastructure. The specification defines two groups of solutions:\n\n- *broker-less* - a network infrastructure that is able to route datagram-based messages, e.g. [UDP][RFC.UDP], [AMQP][AMQP], ETHERNET\n- *broker-based* - the core component of the network infrastructure is a message broker, e.g. [AMQP][AMQP] or [MQTT][MQTT].\n\nIn both cases, the one-to-many relationship between `Publisher` and `Subscriber` can be obtained. For UDP multicast messages distribution may be applied to send `Internet Protocol (IP)` (figure below) datagrams to a group of interested receivers in a single transmission. For the broker-based transport, all messages are published to specific queues (e.g. topics, nodes) that the broker exposes and `Subscribers` can listen to these queues.\n\nThe [OPC UA PubSub][OPC.UA.PubSub] specification lists the following protocol stacks that can be selected as the transport for messages and their possible combinations with message mappings:\n\n- OPC UA UDP - simple UDP based protocol that is used to transport UADP `NetworkMessages`\n- OPC UA Ethernet - simple Ethernet based protocol using EtherType B62C that is used to transport UADP `NetworkMessages` as payload of the Ethernet II frame without IP or UDP headers\n- AMQP - [Advanced Message Queuing Protocol (AMQP)][AMQP] based protocol that is used to transport JSON and UADP `NetworkMessage` structures\n- MQTT - [Message Queue Telemetry Transport (MQTT)][MQTT] based protocol that is used to transport JSON and UADP `NetworkMessage` structures\n\nBecause the specification doesn't define normative references for `OPC UA UDP` and `OPC UA Ethernet` in section *References* they are inferred from the context. Based on this mapping in the figure below the architecture of protocol stack is determined as the domain diagram. The diagram has been worked out on the best effort approach.\n\n> **Note 2** - for the sake of simplicity the diagram contains only protocols relevant for the mapping in concern. In other words, the classes representing the abstract OSI model layers (`OSI Transport`, `OSI Network`, and `OSI Data Link`) may aggregate and use a variety of protocols depending on the local network infrastructure, e.g. IEEE 802.11 for `OSI Data Link Layer`.\n\n![Figure 2. Transport protocol stack architecture](../../CommonResources/Media/Networking/StackDomainModel.png)\n\nFollowing the specification, the transport protocol mapping is modeled as the four top-level classes called appropriately `Ethernet`, `UDP`, `MQTT`, `AMQP`. They may be recognized as the underlying API of the protocol stack and are aggregated into one common communication layer used to exchange the messages over the network (section *[Semantic-Data Message Centric Communication][SDMCC]* ).\n\nHere it must be stressed that the mentioned in the section title term `transport protocol` has nothing in common with the Open System Interconnection Reference Model (OSI model) Transport Layer. Referring to the OSI model the `MQTT` and `AMQP` protocols should be recognized as the `OSI Application Layer` protocols. The `OSI Application Layer` is the one at the top of the model. For the sake of simplicity, the `OSI Application Layer` is not present in the diagram. Because the PubSub specification defines also the protocol on the same layer some functionality is redundant in this case - they overlap on each other. For the purpose of traversing the network by the messages, the **PubSub Application** uses `MQTT` and `AMQP` protocols as a transparent communication service. Applying the broker-based approach also means that some functionality related to communication reliability, data selection, and distribution is delegated to them. Details related to `MQTT` mapping are covered by the section *[Underlying Transport over MQTT][UTMQTT]*. Details related to `AMQP` mapping are covered by the section *[Underlying Transport over AMQP][UTAMQP]*.\n\nThe `OSI Presentation Layer` represents the services that are responsible for the translation of the application data encoding to network encoding, and translation back from the network encoding to application encoding. In other words, the layer “presents” data for the application or the network. This functionality (encoding/decoding) is embedded in the definition of the PubSub message syntax rules. This syntax rules ([OPC UA Part 6][OPC.UA.Part6]) are common for all the OPC UA specifications suite. For the sake of simplicity, the `OSI Presentation Layer` is not present in the diagram.\n\nIn the published/subscriber communication pattern the `OSI Session Layer` is empty, so it is ignored in the domain model presented in figure above.\n\nThe specification doesn't define particular mapping rules referring to protocol stack used by the `AMQP` and `MQTT`, so an abstract `OSI Transport Layer` is used in the proposed model as the underlying communication layer for them. In this case, all requirements against relevant specifications apply.\n\nOn the other hand, according to the mapping rules the `User Datagram Protocol (UDP)` protocol ([UDP][RFC.UDP]) is pointed out by the PubSub specification as the only concrete implementation of the `OSI Transport Layer`. In this case, the protocol can be recognized as the base for the `UDP` mapping rules stated by the specification and a not sharable part of the abstract `OSI Transport Layer`.\n\nThe specification doesn't define any **subscription management services**, namely, it offers a communication paradigm called unsolicited notification. When unsolicited notification occurs, a client receives a message that it has never requested. Using broker-less approach the **Subscriber** must use a filtering mechanism to process only messages it is interested in.\n\nIn case the broker-less approach over the UDP is selected for communication some multicast functionality must be offered by the protocol stack. UDP is one-to-one connectionless protocol and cannot be used for this purpose. The specification recommends using `Internet Protocol (IP)` multicast option to fulfill this requirement. Formally there are no additional mapping rules defined for this protocol, but as a result, this concrete protocol has been selected as the base for `User Datagram Protocol (UDP)` protocol and is an embedded part of the `OSI Network Layer`.\n\nThis approach has some drawbacks. Using IP multicast for `UDP` mapping, special equipment and dedicated configuration of that equipment are required. Both make this solution applicable only for the local network segments in the administration realm of the protocol users. It is hard to imagine the usage of this communication option even in case of enterprise scoped networks. From the practice, we know that particularly with factory networks, the manufacturing/engineering and IT organizations of the same company don't agree upon the management boundaries in a single plant. On the other hand, a broker-less PubSub `UDP` mapping using unicast addressing is a highly specialized case where the `Publisher` is intimately coupled to the `Subscriber`.\n\nEvery specification should promote interoperability. Unfortunately, [Part 14 PubSub][OPC.UA.PubSub] doesn't specify how a multicast address is acquired by a publisher and subscribers - but this is absolutely crucial to obtain interoperability. The core concept of the publisher/subscriber communication pattern is topic-based messages distribution. It seems difficult or even impossible to create any directory services based on the IP addressing mechanism because it addresses issues related to nodes identification and localization on the global network, but not data semantics (data meaning).\n\nDetailed description of the `UDP` mapping rules are covered by the section *[Underlying Transport over UDP][UTUDP]*.\n\nI guess that the removal of the UDP and IP protocols from the communication stack is recognized by the specification authors as a mean to **improve the performance of the communication**. As a result `Ethernet` mapping rules have been defined (see figure above). The Ethernet term is recognized as a keyword with a very broad meaning ([IEEE 802.3 ETHERNET WORKING GROUP][IEEE]). The specification doesn't define normative reference in this respect. In the figure above it is presented as a concrete implementation compliant with the `IEEE 802.3` standard suit. In case the UDP protocol is removed form the stack to replace the application selection functionality offered by the socket concept the registered **B62C EtherType** is recommended, which is used as the protocol discrimination. Removing IP from the communication stack means that the addressing possibility is limited to local network segment. Detailed description of the `Ethernet` mapping rules are covered by the section *[Underlying Transport over Ethernet][UTEthernet]*.\n\n> **NOTE 3**: The specification doesn't delegate any publish/subscribe functionality down to this protocol. In this case, even the document title PubSub is confusing.\n>\n> **NOTE 4**: Ethernet mapping is applicable only in case the communication parties are connected to the same local network segment (they are in the same broadcast domain limited by a VLAN if any).\n  \nFurther communication performance improvement and extension of the functionality may be obtained for example by applying implementation of the [802.1Q-2018][8021Q]:\n\n- Time-Sensitive Network (TSN)\n- Virtual Local Network (VLAN)\n- Quality of Service (QoS)\n\nThey are only partially mentioned in the specification but the solution like these should be recognized and modeled as an embedded part of the abstract `OSI Data Link Layer`. In any case, these solutions are invisible for the implementation of the communication layers above `OSI Data Link Layer`, so they are invisible for upper layers and doesn't have any impact on the PubSub interoperability, therefore should be considered as statements outside the scope of the specification. It is also worth stressing that these solutions can be applied in spite of the above communication stack selection - it is the common point in the transport protocol stack for all mappings. In other words, the mentioned solutions are not dedicated to OPC UA at all and can be applied for any communication protocol.\n\n### Message Mappings\n\nThe syntax and semantics of the messages exchanged between the **PubSub Application** network nodes are described as the `NetworkMessage` data structure. Each `NetworkMessage` includes header information (e.g. identification and security data) and one or more `DataSetMessage` structures. The `DataSetMessage` may be signed and encrypted in accordance with the configured message security. Each `DataSetMessage` contains process data.\n\nThe `NetworkMessage` structure can be serialized using the following encoding:\n\n- UADP: optimized binary encoding\n- JSON: text format as defined in [RFC JSON][RFC.JSON]\n\n## Normative References\n\nThe following documents, in whole or in part, are normatively referenced in this document and are indispensable for its application.\n\n- [OPC Unified Architecture Specification Part 14: PubSub Release 1.04 February 06, 2018][OPC.UA.PubSub]\n\n## Getting Started\n\nThe `UAOOI.Networking.SemanticData` library is designed to be a foundation of developing application programs that are taking part of message-centric communication pattern and interconnected using the reactive networking concept described in the section [Semantic-Data Processing Architecture](../README.MessageCentricCommunication.md). To promote interoperability this library is a collection of types aimed at implementation of the [Part 14 PubSub][OPC.UA.PubSub] standard.\n\nThe preliminary code help documentation is [available for sponsors- consider joining](https://github.commsvr.com/AboutPartnershipProgram.md.html).\n\nThe topics contained in the document [Getting Started Tutorial](../../Networking/SemanticData/READMEGettingStartedTutorial.md) are intended to give you quick exposure to the `OOI Reactive Application` network-based data exchange programming experience. Working through this tutorial gives you an introductory understanding of the steps required to customize existing `OOI Reactive Application`.\n\nThe section [Walk-through `ReferenceApplication`][ReferenceApplication] covers the description of a project aimed at implementation of an example of the `OOI Reactive Application` supporting producer and consumer roles simultaneously implemented as independent concurrent threads. The purpose of the `ReferenceApplication` is to demonstrate the concepts and architecture of the reactive networking application implementation, rather than to necessarily provide a realistic scenario for its use. For more extensive examples, see the [Semantic-Data Processing Architecture](../../SemanticData/README.MD).\n\n## Acknowledgment\n\nI would like to thank [Gary Workman](https://www.linkedin.com/in/gary-workman-486663161/), [Michał Morawski](https://orcid.org/0000-0002-8902-1259), [Michel Condemine](https://www.linkedin.com/in/opcfrance/), [Jayachandran Rameshbabu](https://www.linkedin.com/in/jayachandran-rameshbabu-483848a9/), and [Stéphane Potier](https://www.linkedin.com/in/potier/) for their feedback, cooperation and of course friendship.\n\n## Glossary\n\n### Publisher-subscriber communication pattern\n\n> Publish-subscribe is a messages distribution scenario where senders of messages, called publishers, do not send them directly to specific receivers, called subscribers, but instead categorize published messages into classes without knowledge of which subscribers if any, there may be. Similarly, subscribers express interest in one or more classes and only receive messages that are of interest, without knowledge of which publishers, if any, there are. In the publish-subscribe model, subscribers typically receive only a subset of the total messages published. The process of selecting messages for reception and processing is called filtering. There are two common forms of filtering: topic-based and content-based.\n\n### Connection-oriented communication pattern\n\n> Data exchange scenario that requires a session connection be established before any data can be sent. Connection-oriented services set up virtual links between applications through a network. The session is responsible to retain a state information or status about each communicating partner for the duration of multiple requests. An OPC UA Client/Server connection is a stateful connection because both systems maintain information about the session itself during its life.\n\n### Connectionless-oriented communication pattern\n\n> Messages exchange scenario that does not require a session connection between sender and receiver. The sender simply starts sending packets (called datagrams) to the destination. Neither system must maintain state information for the systems that they send messages to or receive messages from.\n\n## References\n\n- [OPC Unified Architecture][wordpress.opc-ua]\n\n[wordpress.opc-ua]: https://mpostol.wordpress.com/opc-ua/\n\n- [Semantic-Data Message Centric Communication][SDMCC]\n\n[SDMCC]: ../../Networking/README.MessageCentricCommunication.md\n\n- [Underlying Transport over UDP][UTUDP]\n\n[UTUDP]:../../Networking/UDPMessageHandler/README.md\n\n- [Underlying Transport over MQTT][UTMQTT]\n\n[UTMQTT]:../../Networking/SemanticData/README_MQTTMapping.md\n\n- [Underlying Transport over AMQP][UTAMQP]\n\n[UTAMQP]:../../Networking/SemanticData/README_AMQPMapping.md\n\n- [Underlying Transport over Ethernet][UTEthernet]\n\n[UTEthernet]:../../Networking/SemanticData/README_EthernetMapping.md\n\n- [IoT versus SCADA/DCS Data Acquisition Patterns][wordpress.IoTVersus]\n\n[wordpress.IoTVersus]: https://mpostol.wordpress.com/2017/09/19/iot-versus-scadadcs/\n\n- [OPC UA Main Technology Features][OPCUAMTF]\n\n[OPCUAMTF]:../../OPCUAMainTechnologyFeatures.md\n\n- [OPC UA Information Model Deployment][CAS.OPCUAIMD]\n\n[CAS.OPCUAIMD]: ../../SemanticData/AddressSpaceAddressSpaceModel.md\n\n- [RFC 768: User Datagram ProtocolJ, August 1980][RFC.UDP]\n\n[RFC.UDP]:https://tools.ietf.org/html/rfc768\n\n- [RFC: 791 INTERNET PROTOCOL, September 1981][RFC.UDP.IP]\n\n[RFC.UDP.IP]:https://tools.ietf.org/html/rfc791\n\n- [RFC 8259: The JavaScript Object Notation (JSON) Data Interchange Format][RFC.JSON]\n\n[RFC.JSON]:https://tools.ietf.org/html/rfc8259\n\n- [OPC Unified Architecture Specification Part 4: Services, OPC Foundation, Rel. 1.04, 2017-11-22][Opc.UA.Part4]\n\n[Opc.UA.Part4]:https://opcfoundation.org/developer-tools/specifications-unified-architecture/part-4-services/\n\n- [OPC Unified Architecture Specification Part 6: Mappings, OPC Foundation, Rel. 1.04, 2017-11-22][OPC.UA.Part6]\n\n[Opc.UA.Part6]:https://opcfoundation.org/developer-tools/specifications-unified-architecture/part-6-mappings/\n\n- [OPC Unified Architecture Specification Part 14: PubSub Release 1.04 February 06, 2018][OPC.UA.PubSub]\n\n[OPC.UA.PubSub]: https://opcfoundation.org/developer-tools/specifications-unified-architecture/part-14-pubsub/\n\n- [OASIS MQTT Version 3.1.1 specification][MQTT]\n  \n[MQTT]:http://docs.oasis-open.org/mqtt/mqtt/v3.1.1/mqtt-v3.1.1.html\n\n- [OASIS Advanced Message Queuing Protocol (AMQP) Version 1.0][AMQP]\n\n[AMQP]:http://docs.oasis-open.org/amqp/core/v1.0/os/amqp-core-overview-v1.0-os.html\n\n- [Walk-through `ReferenceApplication`][ReferenceApplication]\n\n[ReferenceApplication]:../../Networking/ReferenceApplication/README.MD\n\n- [IEEE 802.3 ETHERNET WORKING GROUP][IEEE]\n\n[IEEE]:http://www.ieee802.org/3/\n\n- [802.1Q-2018 - IEEE Standard for Local and Metropolitan Area Network--Bridges and Bridged Networks][8021Q]\n\n[8021Q]:https://ieeexplore.ieee.org/servlet/opac?punumber=8686437\n"
  },
  {
    "path": "Networking/SemanticData/README.nupkg.md",
    "content": "# `RxNetworking` of Semantic-Data\n\nThe `UAOOI.Networking.SemanticData` library is designed to be a foundation of developing application programs that are taking part of message-centric communication pattern and interconnected using the reactive networking concept described in the [Semantic-Data Processing Architecture](https://commsvr.gitbook.io/ooi/semantic-data-processing/semanticdata).\n\nFor more in-depth information about creating `OOI Reactive Application` exchanging data over the network using the reactive networking pattern, see [Getting Started Tutorial](https://commsvr.gitbook.io/ooi/reactive-communication/readmegettingstartedtutorial).\n\nTo promote interoperability this library is a collection of types aimed at implementation of the [Part 14 PubSub](https://commsvr.gitbook.io/ooi/reactive-communication/readme.pubsubmtf) standard.\n\nThe code is tested using the Unit Tests located in the project: [Networking.SemanticData.UnitTest](https://github.com/mpostol/OPC-UA-OOI/tree/master/Networking/Tests/SemanticDatalUnitTest)\n\nThe preliminary code help documentation is [available for sponsors - consider joining](https://github.commsvr.com/AboutPartnershipProgram.md.html).\n"
  },
  {
    "path": "Networking/SemanticData/READMEDataDiscoveryAndBinding.md",
    "content": "\n# DataSet and Communication Channel Association\n\nThe diagram below provides a very generic overview of the responsibilities that must be implemented by the UA Application:\n\n![Architecture](../../CommonResources/Media/UADataNetworking.DataManagementBinding.DomainModel.png)\n\n* `UA Data Networking` - represents a software exchanging the data using protocol compliant with the [UA Part 14 Pub/Sub](README.PubSubMTF.md) and binding the data with the underlying process.\n* `MessageHandler` - represents a selected transport protocol supporting unsolicited data distribution or a middle-ware supporting publication/subscription message exchange communication pattern.\n* `DataSet` - represents a preselected collection of process data items transmitted by the `MessageHandler` as one whole and information required to bind with the underlying process.\n* `MessageReader` - captures functionality necessary to filter out unwanted messages and decode the data according to provided meta-data\n* `MessageWriter` - captures functionality necessary to address the message (provide globally unique identifier) and encode the data using provided meta-data\n* `Association` - provides:\n  1. one to one association between an entity instance derived from `MessageHandler` and `DataSet`\n  2. required addressing information as the `PublisherId`/`DataSetWriterId` couple\n  3. meta-data information used to encode/decode the process data into the messages\n"
  },
  {
    "path": "Networking/SemanticData/READMEGettingStartedTutorial.md",
    "content": "# Getting Started Tutorial\n\n## Common Tasks\n\nThe topics contained in this section are intended to give you quick exposure to the `OOI Reactive Application` network based data exchange programming experience. Working through this tutorial gives you an introductory understanding of the steps required to create `OOI Reactive Application` producer and consumer applications using the library `UAOOI.Networking.SemanticData`. Current release of the NuGet package is available at:\n\n[UAOOI.Networking.SemanticData](https://www.nuget.org/packages/UAOOI.Networking.SemanticData/)\n\nHere are steps to create a successful `OOI Reactive Application`:\n\n1. derive from `DataManagementSetup` - it is place holder to gather all external injection points used to initialize the communication and bind to local resources\n1. implement `IEncodingFactory` interface - to provide functionality to lookup a dictionary containing value converters\n1. implement `IMessageHandlerFactory` interface - to create objects supporting messages handling over the wire\n1. implement `IBindingFactory` interface - to create objects implementing `IBinding` that can be used to synchronize the values of the local data repository properties and messages received/send over the wire\n1. implement `IConfigurationFactory` interface - to provide access to the selected role configuration\n1. register the library `EventSource` to support common logging infrastructure\n\n> Notes:\n>\n> - It is expected that the encoding/decoding functionality is provided outside in a custom library. The interface `IEncodingFactory` is used for late binding to inject dependency on the external library.\n>- `Producer` and `Consumer` roles may use independent configurations.\n\n## How to Guide\n\n### How to: Implement `DataManagementSetup`\n\nAny application engaging the library is composed using the dependency injection pattern. The `DataManagementSetup`class is a placeholder to gather all external injection points used to compose the application, initialize the communication and bind to local resources. The class declares the following properties that must be initialized by the application to provide specific functionality.\n\n```C#\n  #region Injection points\n  /// <summary>\n  /// Gets or sets the binding factory.\n  /// </summary>\n  /// <value>The binding factory.</value>\n  public IBindingFactory BindingFactory { get; set; }\n  /// <summary>\n  /// Gets or sets the encoding factory.\n  /// </summary>\n  /// <value>The encoding factory.</value>\n  public IEncodingFactory EncodingFactory { get; set; }\n  /// <summary>\n  /// Gets or sets the message handler factory.\n  /// </summary>\n  /// <value>The message handler factory.</value>\n  public IMessageHandlerFactory MessageHandlerFactory { get; set; }\n  /// <summary>\n  /// Gets or sets the configuration factory.\n  /// </summary>\n  /// <value>The configuration factory.</value>\n  public IConfigurationFactory ConfigurationFactory { get; set; }\n  #endregion\n\n```\n\nCreate new class that derives from `DataManagementSetup` and initialize all mentioned above properties.\n\n```C#\n public sealed class LoggerManagementSetup : DataManagementSetup\n {\n  public LoggerManagementSetup()\n  {\n   IServiceLocator _serviceLocator = ServiceLocator.Current;\n   string _ConsumerConfigurationFileName = _serviceLocator.GetInstance<string>(ConsumerCompositionSettings.ConfigurationFileNameContract);\n   m_ViewModel = _serviceLocator.GetInstance<ConsumerViewModel>(ConsumerCompositionSettings.ViewModelContract);\n   EncodingFactory = _serviceLocator.GetInstance<IEncodingFactory>();\n   MessageHandlerFactory = _serviceLocator.GetInstance<IMessageHandlerFactory>();\n   ConfigurationFactory = new ConsumerConfigurationFactory(_ConsumerConfigurationFileName);\n   BindingFactory = new DataConsumer(m_ViewModel);\n  }\n\n  ....\n\n }\n```\n\nIn this example, it is assumed that [`ServiceLocator`](https://www.nuget.org/packages/CommonServiceLocator) is implemented to resolve references to any external services. \n\nFinally, call the `DataManagementSetup.Start()` methods. It is responsible to initialize the infrastructure, create all data bindings, enable all associations, and finally starts pumping the data. If you need any custom startup functionality, just place it just after calling the `Start` method. The following example originates from the `UAOOI.Networking.DataRepository.AzureGateway.PartDataManagementSetup`\n\n```C#\n   Start();\n   StartAzureCommunication(ConfigurationFactory.GetConfiguration());\n```\n\n## How to: Implement `IEncodingFactory`\n\nEncoding means that data is represented as a stream of bits according to selected data type, for example long, float, string, structure, etc. Visit the [OPC UA Makes Complex Data Processing Possible][wordpress.OPCUACD] article to get moore.\n\nIt is expected that the encoding/decoding functionality is provided as an external part in a custom library. The interface `IEncodingFactory` is used for late binding to inject dependency on the external library.\n\nTo implement encoding the following steps must be accomplished:\n\n- implement the `UAOOI.Networking.SemanticData.IEncodingFactory` interface;\n- implement the `UAOOI.Networking.SemanticData.Encoding.IUADecoder` interface;\n- implement the `UAOOI.Networking.SemanticData.Encoding.IUAEncoder` interface;\n\n> Note:\n>\n>This library has been released as the NuGet package [UAOOI.Networking.Encoding](https://www.nuget.org/packages/UAOOI.Networking.Encoding). Main purpose of this release is to support implementation of the interoperability tests defined by the OPC Foundation. In the production environment, you may simply replace this library by a custom one providing unlimited encoding functionality.\n\n### How to: Implement `IMessageHandlerFactory`\n\nAn instance implementing `IMessageHandlerFactory` creates objects supporting messages handling over the wire services:\n\n- `IMessageReader` - provides functionality supporting reading the messages from the wire.\n- `IMessageWriter` - provides functionality supporting sending the messages over the wire.\n\nThe communicating party can be interconnected using any transparent messages transport infrastructure. For the broker-less transport layer the network infrastructure routes datagram-based messages and the services should implement `UDP`, `AMQP` or `ETHERNET` protocol. Applying the broker-based approach a core component of the transport layer is a message broker and in this case the services should implement `AMQP` or `MQTT` protocol.\n\nIt is expected that implementation of the `IMessageHandlerFactory` and as the result messages handling services will be provided as an external part. An example implementation of the messages handling services conforming to UTP standard may be found in `UAOOI.Networking.UDPMessageHandler` project described in the document [Transport over UDP](../../Networking/UDPMessageHandler/README.md).\n\n### How to: Implement `IBindingFactory`\n\n#### Introduction\n\nImplementation of this interface is a basic step to implement `Consumer` and/or `Producer` functionality. An instance of the `IBindingFactory` is responsible to create objects implementing `IBinding` that can be used by:\n\n- `Consumer` to save the data received over the network in the local data repository.\n- `Producer` to read from the local data repository and send it over the network.\n\nDepending on the role, the `IBinding` objects are returned from the following procedures of this interface:\n\n``` C#\nIConsumerBinding IBindingFactory.GetConsumerBinding(string repositoryGroup, string processValueName, UATypeInfo fieldTypeInfo);\nIProducerBinding IBindingFactory.GetProducerBinding(string repositoryGroup, string processValueName, UATypeInfo fieldTypeInfo);\n```\n\nwhere:\n\n- `repositoryGroup` - is the name of a repository group profiling the configuration behavior, e.g. encoders selection. The configuration of the repositories belonging to the same group is handled according to the same profile. For example, the `repositoryGroup` may be used to represent a browse path in the OPC UA Address Space. In this case browse path aggregates all variables belonging to the same object (e.g. a boiler), which has to be handled consistently on the screen. This name is determined by the `DataSetConfiguration.RepositoryGroup` in the application configuration (section [Reactive Networking Configuration](../../Configuration/Networking/README.MD)).\n- `processValueName` - is the name of a variable that is the ultimate destination/source of the message values. The value of `processValueName` must be unique in the context of the group named by `repositoryGroup`.\n- `fieldTypeInfo` - the field metadata definition represented as an object of 'UATypeInfo`.\n\n#### `Consumer` Role Implementation\n\nThis section provides hints on how to implement the `Consumer` role of the `OOI Reactive Application` processing data received in messages sent over the network by a data `Producer`.\n\nThe `Consumer` role implementation is captured by the `Networking.DataLogger` project where `DataManagementSetup` is implemented by derived class `UAOOI.Networking.DataLogger.LoggerManagementSetup`.\n\nThe class `UAOOI.Networking.DataLogger.DataConsumer` is an example implementation of a [data logger](./../DataRepository/DataLogger/README.md). This functionality is aimed at recording data over time. It consumes the testing data sent over the wire and updates properties in the class `UAOOI.Networking.DataLogger.ConsumerViewModel` implementing ViewModel layer in the [Model View ViewModel (on MSDN)](https://msdn.microsoft.com/en-us/magazine/dd419663.aspx). The class `DataConsumer` demonstrates how to create bindings interconnecting the data received over the wire and the properties that are the ultimate destination of the data. Because there is only one group of variables the `GetConsumerBinding` method doesn't use the `repositoryGroup` and the `GetProducerBinding` is intentionally not implemented.\n\n#### `Producer` Role Implementation\n\nThis section provides hints on how to implement the `Producer` role responsible for:\n\n- reading process data from a local repository\n- packing the data into the messages\n- sending the data over the network to all interested parties\n\nThere are two examples of this role implementation:\n\n- `Networking.SimulatorInteroperabilityTest` - in this project the data expected by a [data logger](./../DataRepository/DataLogger/README.md) is generated and send over the network\n- `Networking.Simulator.Boiler` - in this project a set of boilers is simulated. It is a part of the proof of concept with the aim of verifying that the reactive communication implemented using the `Networking.SemanticData` library is well suited to deploy the Internet of Things (IoT) paradigm for highly distributed applications.\n\nIn the `Networking.SimulatorInteroperabilityTest` project, the `DataManagementSetup` class is implemented by derived class `UAOOI.Networking.SimulatorInteroperabilityTest.SimulatorDataManagementSetup`. The class `UAOOI.Networking.SimulatorInteroperabilityTest.DataGenerator` captures implementation of a [testing data generator](../../Networking/SimulatorInteroperabilityTest/README.md) aimed at accomplishing interoperability tests defined by the OPC Foundation for PubSub applications. Because there is only one group of variables the `GetProducerBinding` method doesn't use the `repositoryGroup` and the `GetConsumerBinding` is intentionally not implemented.\n\nIn the `Networking.Simulator.Boiler` project `DataManagementSetup` class is implemented by derived class `UAOOI.Networking.Simulator.Boiler.SimulatorDataManagementSetup`. The class `UAOOI.Networking.Simulator.Boiler.DataGenerator` captures the implementation of a simulator generating data for a set of boilers. In this case, the variables representing the state of one boiler are grouped by the `GetProducerBinding` method using the `repositoryGroup` parameter. Because it is the `Producer` role implementation the `GetConsumerBinding` method is intentionally not implemented and should not be called.\n\n### How to: Implement `IConfigurationFactory`\n\nDefinition of the interface `UAOOI.Configuration.Networking.IConfigurationFactory` is located in the [`UAOOI.Configuration.Networking`](../../Configuration/Networking/README.MD) library. This library also contains the class `UAOOI.Configuration.Networking.ConfigurationFactoryBase` that is a base implementation of this interface. This class may be overridden by a custom class designed according to the user application custom requirements.\n\n>Notes for implementers\n>\n>- If you need a special loading procedure you must use the parameterless constructor of the `ConfigurationFactoryBase` and assign a new loader method to the `ConfigurationFactoryBase.Loader` property, alternatively embedded loader will be used to open the configuration file using the `filePath` provided in the constructor.\n>- The derived class must override an abstract method `RaiseEvents` called on the configuration change.\n>- The embedded configuration loading method uses `System.IO.FileInfo` to test if the file exists. \n\nExample implementations of this class are in [`Producer`](../../Networking/SimulatorInteroperabilityTest/README.md) and [`Consumer`](./../../Networking/DataRepository/DataLogger/README.md).\n\nBoth are parts of the example implementation [`ReferenceApplication`](../../Networking/ReferenceApplication/README.MD).\n\n### How to: Register the `EventSource`\n\nUsing the following contract create an instance of the `NetworkingEventSourceProvider` and call `GetPartEventSource` to get the local instance of the `EventSource` that is used locally for the semantic logging purpose.\n\n```C#\n[Export(typeof(INetworkingEventSourceProvider))]\npublic class NetworkingEventSourceProvider : INetworkingEventSourceProvider\n```\n\nThe `EventSourceBootstrapper` in `Networking.ReferenceApplication` project is an example on how to register all `EventSource` instances to support common logging infrastructure.\n\n## See also\n\n- [**API Browser** is available for sponsors- consider joining](https://github.commsvr.com/AboutPartnershipProgram.md.html)\n- [OPC UA Makes Complex Data Processing Possible][wordpress.OPCUACD]\n\n[wordpress.OPCUACD]: https://mpostol.wordpress.com/2014/05/08/opc-ua-makes-complex-data-access-possible/\n"
  },
  {
    "path": "Networking/SemanticData/README_AMQPMapping.md",
    "content": "# Underlying Transport over AMQP\n\n## Disclaimer\n\n> **This article is under development and will be subject of further modification after collecting more feedback from software developers and OPC Foundation.**\n\n## Motivation\n\nThe main goal of this document is to provide instruction on how to expand the transport layer for OOI Networking of the `Semantic-Data` over the Advanced Message Queuing Protocol \\([AMQP][AMQP]\\) to be compliant with the specifications mentioned in the section *Normative references*.\n\nImplementation of the messages exchange over the \\([AMQP][AMQP]\\) protocol is out of the scope of this project. The library intentionally is designed to use any transport protocol meeting some basic requirements using external components. External components implementing \\([AMQP][AMQP]\\) connectivity can be seamlessly integrated with this SDK using dependency injection concept illustrated by the following domain model:\n\n![Figure 1. Domain Model](../../CommonResources/Media/DataManagementExternalLibraries.png)\n\nInstruction for implementer is covered in the section *Notices for Implementer*.\n\n## Normative references\n\nThe following documents, in whole or in part, are normatively referenced in this document and are indispensable for its application.\n\n- [ISO/IEC 19464:2014: Advanced Message Queuing Protocol (AMQP) v1.0][ISO.AMQP]\n- [OPC Unified Architecture Specification Part 14: PubSub Release 1.04 February 06, 2018][OPC.UA.PubSub]\n\n## Introduction\n\n### AMQP\n\n#### Architecture\n\nThe [Advanced Message Queuing Protocol (AMQP)][ISO.AMQP] is an open standard application layer protocol. It is a vendor-neutral and platform-agnostic protocol that offers organizations an easier, more secure approach to passing real-time data streams and business transactions. The goal of AMQP is to ensure information is safely and efficiently transported between applications, among organizations, across distributed cloud computing environments, and within mobile infrastructures. AMQP avoids proprietary technologies, offering the potential to lower the cost of enterprise middleware software integration through open interoperability.\n\nThis section briefly summarizes the core concepts of the AMQP and explains how to use AMQP as the transport layer of the **PubSub Applications**. The goal is that any developer using any existing AMQP 1.0 client stack to be able to provide external, composable implementation of the **MessageHandling** (figure above) class leveraging interoperability via AMQP.\n\nIn this section, it is assumed that the management of AMQP communication are handled by a respective stack, such as [AMQP.NET Lite][AMQP.NET Lite], [RabbitMQ][RabbitMQ].\n\nAn AMQP network consists of **Nodes** connected via links. **Nodes** are named entities responsible for processing of process data transfered by messages. Messages can originate from, terminate at, or be relayed by nodes. As a message travels through an AMQP network, the responsibility for safe storage and delivery of the message is transferred between the **Nodes** it encounters.\n\nThe link is a unidirectional route between two **Nodes**. There are two kinds of nodes: sources and targets. Messages only travel along a link if they meet the entry criteria at the source.\n\nAs illustrated in the following domain model, **Nodes** exist within a **Container**. **Container** may be implemented as a process carrying out a software program instance. Examples of containers are **Broker** and **Client** applications. An example of the **Clint** is a **PubSub Application**. Each **Container** may hold many nodes. Examples of AMQP **Nodes** are **Producer**, **Consumer**, and **Queue**. **Producers** and **Consumers** are the elements within an application that generate and process messages. **Queues** are entities that store and forward messages.\n\n![Class Diagram of Concrete Containers and Nodes](../../CommonResources/Media/AMQP.ConcreteContainersNodes.png)\n\n#### Transport\n\nIn order for communication to occur between **Nodes** in different **Containers** a connection needs be established. An AMQP connection consists of a full-duplex, reliably ordered sequence of frames. A frame is a stream of bytes carried on the wire. Connections have a negotiated maximum frame size (length of the stream). It is assumed that connections are transient and can fail for a variety of reasons resulting in the loss of an unknown number of frames.\n\nThe network connection is thus anchored on the **Container**. It is initiated by the **Container** in the client role making an outbound TCP socket connection to a container in the listener role. Listener role can be used to build applications such as P2P service, router, broker and more. The connection handshake includes:\n\n- negotiating the protocol version;\n- declaring or negotiating the use of Transport Level Security (TLS/SSL),\n- an authentication/authorization handshake at the connection scope that is based on Simple Authentication and Security Layer (SASL).\n\nAfter the connection is established, the containers each declare the maximum frame size they are willing to handle, and after an idle timeout they will unilaterally disconnect if there is no activity on the connection.\n\nSecurity with AMQP is primarily provided by a TLS connection between the **Containers**. Applications that require end-to-end security with AMQP need to apply security protection defined above the AMQP, e.g. in the [OPC.UA.PubSub][OPC.UA.PubSub].\n\nA session forms a bi-directional communication path. Number of sessions must be defined or arbitrary limited.\n\n> Connections, channels, and sessions are ephemeral. If the underlying connection collapses they must be reestablished.\n\nSessions provide a flow control scheme based on the number of frames transmitted. Since frames have a maximum size for a given connection, this provides flow control based on the number of bytes transmitted. A single connection may have multiple independent sessions active simultaneously, up to the negotiated limit.\n\nA link endpoint is associated with a session endpoint. Within a session, the link is used to transfer messages across them. A single session can be simultaneously associated with any number of links. However, a link has not to be attached to more than one session at a time.\n\n> Links are named, and the state at the node can live longer than the connection on which they were established. A link is unidirectional. A link is created in a session, identified by a unique name, and attached to a node specified by an address. The link is created inside an AMQP Session and, thanks to the multiplexing feature of AMQP protocol, the same session can be used for many links all inside the same TCP connection.\n\nOnce attached, a link is subject to flow control of message transfers. Link endpoints maintain the flow control state, which determines when it is legal to send transfers on an attached link.\n\nA source can restrict the messages transferred from a source by specifying a filter. A filter can be thought of as a function which takes a message as input and returns a boolean value: true if the message will be accepted by the source, false otherwise. A filter must not change its return value for a message unless the state or annotations on the message at the node change (e.g., through an updated delivery state).\n\n#### Messaging\n\nThe AMQP message consists of the following sections:\n\n- Zero or one `header`: the Transport headers for a message.\n- Zero or one `delivery-annotations`: delivery-specific non-standard properties at the head of the message.\n- Zero or one `message-annotations`: properties of the message which are aimed at the infrastructure and should be propagated across every delivery step.\n- Zero or one `properties`: immutable properties of the message.\u000f\n- Zero or one `application-properties`: structured application data. Intermediaries can use the data within this structure for the purposes of filtering or routing.\n- The `body` (`application-data`): consists of one of the following three choices:\n  - one or more `data`: contains opaque binary data.\n  - one or more `amqp-sequence`: a sequence section contains an arbitrary number of structured data elements.\n  - a single `amqp-value`: contains a single AMQP value.\n- Zero or one `footer`: details about the message or delivery which can only be calculated or evaluated once the whole bare message has been constructed or seen (for example message hashes, HMACs, signatures and encryption details).\n\n> Not all fields are exposed in the library API of the AMQP stack.\n\nThe `properties` section is used for a defined set of standard properties of the message. The properties section is part of the bare message; therefore, if retransmitted by an intermediary, it must remain unaltered.\n\nField Name| Description|\n-|-|\n`message-id` | application message identifier - `message-id`, if set, uniquely identifies a message within the message system. The message producer is usually responsible for setting the `message-id` in such a way that it is assured to be globally unique. An intermediary may discard a message as a duplicate if the value of the `message-id` matches that of a previously received message sent to the same node.\n`user-id`| creating user id - The identity of the user responsible for producing the message. The client sets this value, and it may be authenticated by intermediaries.\n`to`| the address of the node the message is destined for\n`subject` | the subject of the message - a common field for summary information about the message content and purpose.\n`reply-to` | the node to send replies to - the address of the node to send replies to.\n`correlation-id` | application correlation identifier - this is a client-specific identifier that can be used to mark or identify messages between clients.\n`content-type` | MIME content type (see note below)\n`content-encoding` | MIME content type (see note below)\n`absolute-expiry-time` | the time when this message is considered expired - an absolute time when this message is considered to be expired.\n`creation-time` | the time when this message was created - an absolute time when this message was created.\n`group-id` | the group this message belongs to - identifies the group the message belongs to.\n`group-sequence` | the sequence-no of this message within its group - the relative position of this message within its group.\n`reply-to-group-id` | the group the reply message belongs to - this is a client-specific id that is used so that client can send replies to this message to a specific group.\n\n##### Notes\n\n>`content-type`:\n>\n>The [RFC-2046][RFC.HTTP] MIME type for the messages `application-data` section (body). As per [RFC-2046][RFC.HTTP] this can contain a charset parameter defining the character encoding used, e.g. `text/plain`; `charset=“utf-8`.\n>\n>For clarity, as per section 7.2.1 of [RFC-2616][RFC.HTTP], where the content type is unknown the `content-type` should not be set. This allows the recipient the opportunity to determine the actual type. Where the section is known to be truly opaque binary data, the `content-type` should be set to `application/octet-stream`.\n>\n>When using an `application-data` section with a section code other than data, `content-type` should not be set.\n>\n>`content-encoding`:\n>\n>The `content-encoding` property is used as a modifier to the `content-type`. When present, its value indicates what additional content encodings have been applied to the `application-data`, and thus what decoding mechanisms need to be applied in order to obtain the media-type referenced by the `content-type` header field.\n>\n>`content-encoding` is primarily used to allow a document to be compressed without losing the identity of its underlying content type.\n>\n>`content-encoding` properties are to be interpreted as per section 3.5 of [RFC 2616][RFC.HTTP]. Valid `content-encoding` properties are registered at [Hypertext Transfer Protocol (HTTP) Parameters][IANAHTTPPARAMS].\n>\n>The `content-encoding` must not be set when the `application-data` section is other than data. The binary representation of all other `application-data` section types is defined completely in terms of the AMQP type system.\n>\n>Implementations must not use the identity encoding. Instead, implementations should not set this property. implementations should not use the compress encoding, except as to remain compatible with messages originally sent with other protocols, e.g. HTTP or SMTP.\n>\n>Implementations should not specify multiple `content-encoding` values except as to be compatible with messages originally sent with other protocols, e.g. HTTP or SMTP.\n\nThe `application-properties` section is a part of the bare message used for structured application data. Intermediaries\ncan use the data within this structure for the purposes of filtering or routing.\n\n### OPC UA PubSub\n\nThe [OPC.UA.PubSub][OPC.UA.PubSub] offers the publish/subscribe communication pattern as an option to client-server pattern. The detailed description of the [OPC.UA.PubSub][OPC.UA.PubSub] has been covered by the document [OPC Unified Architecture Part 14: PubSub Main Technology Features][README.PubSubMTF].\n\nAmong others, the specification recognizes the following actors (see figure above) as parts of the **PubSub Application** as the communication parties:\n\n- **Publisher**: is the actor that pushes `NetworkMessage` structures to a selected AMQP **Node**.\n- **Subscriber**: is the actor that consumes data encapsulated by the `NetworkMessage` structure, which is polled from the selected AMQP **Node**.\n\nAccording to the specification the **Publisher** and **Subscriber** don't have any subscriptions management functionality, namely, they follow a communication paradigm called unsolicited notification. When unsolicited notification occurs, a client may receive a message that it has never requested. The **Subscriber** must use a filtering mechanism to process only messages it is interested in.\n\nLack of subscriptions management functionality defined by the [OPC.UA.PubSub][OPC.UA.PubSub] could be mitigated by applying the [AMQP][AMQP] that some functionality related to communication reliability, data selection, and distribution is delegated to the AMQP **Container**.\n\n## AMQP mapping\n\n### Parameters\n\nUsing AMQP connectivity as the messages transport layer by the **PubSub Application** requires two kinds of parameters:\n\n- PubSub **Distribution channel**: promoting interoperability between **Publisher** and all **Subscribers** interested to obtain data from it.\n- AMQP connections: promoting interoperability between **PubSub Application** hosted by an AMQP **Container** and all the AMQP **Containers** that take part in the communication.\n\nConfiguration of the parameters related to the **PubSub Applications** and AMQP **Containers** interconnection may be recognized as the implementation details except the scenario where remote configuration using **Configuration Management** is the case \\( [PubSub Main Technology Features][README.PubSubMTF] \\).\n\n### PubSub **Distribution channel**\n\n#### `properties`\n\nThe `properties` sections are part of the AMQP `Bare Message`. The table below describes how the selected properties of the message are populated when an AMQP message is constructed.\n\n| Field Name     | Source\n| -              | -\n| `subject`      | Valid values are `ua-data` or `ua-metadata`.\n| `content-type` | MIME type for the message body. MIME types are specified in the message body subsections.\n\n- `subject`: defines the type of the message contained in the AMQP `body`. A value of `ua-data` specifies that the `body` contains a UADP or JSON `NetworkMessage`. A value of `ua-metadata` specifies that the `body` contains a UA Binary or JSON encoded `DataSetMetaData` message.\n- `content-type`: specifies whether the message is binary or JSON data. [OPC.UA.PubSub][OPC.UA.PubSub] specification defines two possible encodings for the `NetworkMessage` structure and is encoded depending on the selected encoding mapping as defined for the:\n\n  - JSON message mapping - The corresponding value of the `content-type` is `application/json`.\n  - UADP message mapping - The corresponding value of the `content-type` is `application/opcua+uadp`.\n\n#### `application properties`\n\nThe `application properties` sections are part of the AMQP `Bare Message` used for structured application data. Intermediaries can use the data within this structure for the purposes of filtering or routing.\n\n> MP NOTES:\n>\n> The AMQP message properties shall include additional fields defined on the WriterGroup or DataSetWriter through the KeyValuePair array in the WriterGroupProperties and DataSetWriterProperties. The NamespaceIndex of the QualifiedName in the KeyValuePair shall be 0 for AMQP standard message properties. The Name of the QualifiedName is constructed from a message prefix and the AMQP property name with the following syntax ...\n>\n> AMQP defines two kinds of properties :\n>\n> - 3.2.4 `Properties`: Immutable properties of the message\n> - 3.2.5 `Application Properties`: Intermediaries can use the data within this structure for the purposes of filtering or routing. The **PubSub Application** cannot be recognized as the intermediary.\n>\n>Is not clear which one and how to implement this requirement.\n\n#### `data`\n\nThe `data` section is part of the AMQP `Bare Message` and is contained in the `body` section. The `data` section shall be used to transfer the `NetworkMessage`.\n\nFor UADP message mapping if the AMQP frame size exceeds the **Container** limits it shall be broken into multiple chunks.\n\nThe implementation choses packet and message size limits depending on the capabilities of the operating system or the capabilities of the device the application is running on. The mechanism for handling `NetworkMessage` that exceed the max-message-size limits depends on the encoding.\n\n- For UADP: it shall be broken into multiple chunks as described in 7.2.2.2.4.\n- For JSON: it is not defined.\n\n>MP  NOTE:\n>\n>This functionality is an open issue reported to OPC Foundation: [0004269: Part 14 PubSub Section 7.3.4 it is not clear how to deal with long messages.](https://opcfoundation-onlineapplications.org/mantis/view.php?id=4269);\n>\n> MP NOTE\n>\n>It has been be reported to OPCF:\n>\n>For UADP encoding the specification requires:\n>\n> It is recommended that the MetaDataQueueName as described in 6.4.2.3.6 is configured as a sub-topic of the related QueueName with the name $Metadata.\n>\n> Unfortunately the AMQP does not define the terms: 'sub-topic' and QueueName. It is also not clear if `$Metadata` is terminal symbol or refers to somethings else.\n>\n> MP NOTE:\n>\n> For MQTT the following limitation is stated: `The messages sent through MQTT are limited to one per Application Message`, but for AMQP it is not present.\n\n### AMQP connection\n\n#### Addressing\n\nThe syntax of the AMQP transporting protocol URL used has the following form:\n\n`amqps://<domain name>[:<port>][/<path>]`\n\nThe default port is 5671.\n\nThe syntax for an AMQP URL over Web Sockets has the following form:\n\n`wss://<domain name>[:<port>][/<path>]`\n\nThe default port is 443.\n\n#### Authentication\n\nAuthentication shall be performed according to the configured `AuthenticationProfileUri` of the `PubSubConnection`, `DataSetWriterGroup`, `DataSetWriter` or `DataSetReader` entities. If no authentication information is provided in the form of `ResourceUri` and `AuthenticationProfileUri`, SASL Anonymous is implied. If the authentication profile specifies SASL PLAIN authentication, a separate connection for each new Authentication setting is required.\n\n> MP NOTE:\n>\n>This requirements are not clear because it is not related to Publisher/Subscriber interoperability- it is not common knowledge necessary to communicate over AMQP. This parameter could be relevant for the **PubSub Application** and **Container** interoperability. This section must be revisited after getting more.\n\n#### `Quality of Service`\n\nA writer negotiates the delivery guarantees for its link using the snd-settle-mode settlement policy (settled, unsettled, mixed) it will use, and the desired rcv-settle-mode (first, second) of the broker.\n\nVice versa, the reader negotiates delivery guarantees using its rcv-settle-mode (first, second) and the desired snd-settle-mode (settled, unsettled) of the broker.\n\nThis matches to the `BrokerTransportQualityOfService` values as follows:\n\n- AtMostOnce_1 – messages are pre-settled at the sender endpoint and not sent again. Messages may be lost in transit. This is the default setting.\n- AtLeastOnce_2 – messages are received and settled at the receiver without waiting for the sender to settle.\n- ExactlyOnce_3 – messages are received, the sender settles and then the receiver settles.\n\n> MP Note:\n>\n> This mapping requirements must be reviewed against AMQP specification. It seems that the `BrokerTransportQualityOfService` is defined by the configuration model and not exist if this model is not used.\n\n#### `Keep Alive`\n\nIf the `KeepAliveTime` is set on a `WriterGroup`, a value slightly higher than the configured value of the group should be used as idle timeout of the connection ensuring that the connection is disconnected if the keep alive message was not sent by any writer. Otherwise, if no `KeepAliveTime` is specified, the implementation should set a reasonable default value.\n\n> MP NOTE\n>\n> Reported to OPC Foundation [0004301: 7.3.4.6 Transport Limits and Keep Alive](https://opcfoundation-onlineapplications.org/mantis/view.php?id=4301)\n>\n> It must be explained what the connection means. The AMQP define connection for:\n>\n> - **Containers**\n> - session\n> - Link.\n\n## Notices for Implementer\n\nIn the article [Reactive Networking of Semantic-Data Library](README.MD#message-transport) the section *Message Transport* contains description covering instruction for the external AMQP handling components. An example how to implement the Transport layer over the UDP protocol is illustrated by the project [UA Data Example Application](../ReferenceApplication/README.MD).\n\n## See also\n\n- [IANA (Internet Assigned Numbers Authority), Hypertext Transfer Protocol (HTTP) Parameters.][IANAHTTPPARAMS]\n- [RFC 2616: Hypertext Transfer Protocol -- HTTP/1.1][RFC.HTTP]\n- [OASIS Advanced Message Queuing Protocol (AMQP) Version 1.0][AMQP]\n- [amqp-core-overview-v1.0 OASIS Advanced Message Queuing Protocol (AMQP) Version 1.0][AMQP]\n- [ISO/IEC 19464:2014: Advanced Message Queuing Protocol (AMQP) v1.0][ISO.AMQP]\n- [OPC Unified Architecture Part 14: PubSub Main Technology Features][README.PubSubMTF]\n- [AMQP.NET Lite][AMQP.NET Lite]\n- [RabbitMQ][RabbitMQ].\n\n[ISO.AMQP]: https://www.iso.org/standard/64955.html\n[OPC.UA.PubSub]: https://opcfoundation.org/developer-tools/specifications-unified-architecture/part-14-pubsub/\n[OPC.UA.Profiles]: https://opcfoundation.org/developer-tools/specifications-unified-architecture/part-7-profiles/\n[README.PubSubMTF]:README.PubSubMTF.md\n[AMQP.NET Lite]: https://github.com/Azure/amqpnetlite\n[RabbitMQ]: https://www.rabbitmq.com/\n[IANAHTTPPARAMS]: http://www.iana.org/assignments/http-parameters/http-parameters.xml\n[RFC.HTTP]:https://tools.ietf.org/html/rfc2616\n[AMQP]: http://docs.oasis-open.org/amqp/core/v1.0/os/amqp-core-overview-v1.0-os.html\n"
  },
  {
    "path": "Networking/SemanticData/README_EthernetMapping.md",
    "content": "﻿# Underlying Transport over Ethernet\n\nThe main goal of this document is to provide instruction on how to expand the transport protocol stack for OOI Networking of the **Semantic Data** over the `Ethernet` to be compliant with the specifications mentioned in the section *Normative references*.\n\nImplementation of the messages exchange over the [`Ethernet`][Ethernet] protocol is outside of the scope of this project. The library intentionally is designed to use any transport protocol meeting some basic requirements using external components. External components implementing [`Ethernet`][Ethernet] connectivity can be seamlessly integrated with this SDK using dependency injection concept illustrated by the following domain model:\n\n![Figure 1. Domain Model](../../CommonResources/Media/DataManagementExternalLibraries.png)\n\nInstruction for implementer is covered in the section *Notices for Implementer*.\n\n## Normative references\n\nThe following documents, in whole or in part, are normatively referenced in this document and are indispensable for its application.\n\n- [OPC Unified Architecture Specification Part 14: PubSub Release 1.04 February 06, 2018][OPC.UA.PubSub]\n- [IEEE Std 802-2014 - IEEE Standard for Local and Metropolitan Area Networks: Overview and Architecture][802]\n- [802.1Q-2018 - IEEE Standard for Local and Metropolitan Area Network--Bridges and Bridged Networks][8021Q]\n- [802.3-2018 - IEEE Standard for Ethernet][8023]\n\n## OPC UA Ethernet\n\nIn [Part 14 PubSub][OPC.UA.PubSub] the term **OPC UA Ethernet** is defined as a simple Ethernet-based protocol using `EtherType` `B62C` that is used to transport `UADP` `NetworkMessage` structures as the payload of the Ethernet II frame without IP or UDP headers. Fortunately, the specification doesn't really define any new protocol based on the Ethernet, but only mapping to an existing one. Because both terms `UADP` encoding and `NetworkMessage` data structure are not defined by the OPC UA core standard the prefix OPC UA before Ethernet is meaningless and confusing. The Ethernet term has a very broad meaning, and unfortunately, the specification doesn't provide also any normative references in this respect. Hence, the rest of this section is prepared on the assumption that the meaning has been inferred correctly from the specification editors intention.\n\nEthernet term is well known as a common name of a set of the IEEE 802.3 standards for Ethernet networks developed by the [IEEE 802.3 Working Group][Ethernet]. The most promising starting point for furthe investigation seems to be the document [802.3-2018 - IEEE Standard for Ethernet][8023]. From this document, we can learn that 802.3 (Ethernet) is a concrete protocol located at `OSI Data Link Layer` (section [*OPC Unified Architecture Part 14: PubSub Main Technology Features*][README.PubSubMTF]).\n\nMore about layering can be found in the document [802-2014 - IEEE Standard for Local and Metropolitan Area Networks: Overview and Architecture][802]. Next sections cover the most important features in context of the PubSub mapping and related directly or indirectly to the 802.3 (Ethernet).\n\n### IEEE 802 - Local and Metropolitan Area Networks Overview\n\nFrom the [IEEE 802][802] specification we can learn that LAN is a peer-to-peer communication network that enables stations to communicate directly on a point-to-point, or point-to-multipoint, basis without requiring them to communicate with any intermediate stations that perform forwarding or filtering. This is in contrast to wide area networks (WANs) that interconnect communication parties in different parts of a country or are used as a public utility.\n\nA LAN is generally owned, used, and operated by a single organization (management realm).\n\nIEEE 802 networks can also be used to perform the task of an access network, i.e., to connect end stations to a larger, heterogeneous network, e.g., the Internet.\n\nIn order to provide a balance between the proliferation of a very large number of different and incompatible local and metropolitan networks, on the one hand, and the need to accommodate rapidly changing technology and to satisfy certain applications or cost goals, on the other hand, several types of medium access technologies are currently specified in the family of IEEE 802 standards.\n\n#### Reference Model\n\nThe IEEE 802 Reference Model (RM) is derived from the Open Systems Interconnection basic reference model (OSI/RM), ISO/IEC 7498-1:1994. The IEEE 802 standards emphasize the functionality of the lowest two layers of the OSI/RM, i.e., `OSI Physical Layer` (PHY) and `OSI Data Link Layer` (DLL). The IEEE 802 Reference Model is similar to the OSI/RM in terms of its layers and the placement of its service boundaries. These map onto the same two layers in the IEEE 802 RM.\n\nFor the data services supported by all IEEE 802 networks, the `Data Link Layer` is structured as follows\n\n- Logical Link Control (LLC)\n- Medium Access Control (MAC)\n\nThe MAC sublayer of the IEEE 802 RM exists between the PHY and the LLC sublayer to provide a service for the LLC sublayer.\n\n#### Upper Layer Protocol discrimination\n\nTo allow multiple network layer protocols to coexist above the `OSI Data Link Layer` and agregated by the `OSI Network Layer` the dedicated methods are provided for the following:\n\n- The coexistence of multiple network layer protocols\n- The migration of existing networks to future standard protocols\n- The accommodation of future higher layer protocols\n\nWithin a given layer, entities can exchange data by a mutually agreed upon protocol mechanism. A pair of entities that do not support a common protocol cannot communicate with each other. For multiple protocols to coexist within a layer, it is necessary to determine which protocol is to be invoked to process a service data unit delivered by the lower layer. Various network and higher layer protocols have been reserved LPD addresses or EtherTypes. These addresses permit multiple protocols to coexist at a single MAC station. The higher layer protocol discrimination entity (HLPDE) is used to determine the higher layer protocol to which to deliver a protocol data unit (PDU). Two methods may be used in the HLPDE as follows:\n\n- `EtherType` protocol discrimination (EPD), which uses the `EtherType`\n- LLC protocol discrimination (LPD), which uses the addresses defined in ISO/IEC 8802-2, including the Subnetwork Access Protocol (SNAP) format\n\nThe `EtherType` is a 2-octet value, assigned by the IEEE Registration Authority (RA), that provides context for interpretation of a data field of a frame (protocol identification). IEEE Std 802.3 is capable of natively representing the EtherType within its MAC frame format, which is used to support EPD. IEEE Std 802.3 also natively supports ISO/IEC 8802-2 LPD (over a limited range of frame sizes).\n\nExamples of EtherTypes are 0x0800 and 0x8DD, which are used to identify IPv4 and IPv6, respectively.\n\nA detailed description of the EPD is covered by the specification [IEEE 802][802]. More information on EtherTypes can also be found on the [IEEE RA web site][IEEERA].\n\n> **Note 1**: EtherType **0xB62C** is recommended by the [OPC UA PubSub][OPC.UA.PubSub] to identify Ethernet mapping for PubSub protocol. Unfortunately, at the date of this document publication, this EtherType number is not listed as an entry in the official registry available here [IEEE 802 Numbers][802Numbers]. This number is classified by the IEEE as the OUI Extended EtherType.\n\n[IEEE 802][802] defines three assigned EtherType groups of vendor-specific protocol identifier:\n\nName|Value\n-|-\nLocal Experimental EtherType 1|88-B5\nLocal Experimental EtherType 2|88-B6\nOUI Extended EtherType|88-B7\n\nThe vendor-specific protocol identifier is a means whereby protocol developers may assign permanent protocol identifier values without consuming type values from the globally available limited resource. This can be useful for **prototype, experimental, and private/proprietary protocols** to be developed without impacting the global EtherType namespace. The OUI Extended `EtherType` allows an organization to apply protocol identifiers using SNAP. An organization allocates protocol identifiers to its own protocols in a manner that ensures that the protocol identifier is globally unique. SNAP provides a method for multiplexing and demultiplexing of private and public protocols among multiple users of the LLC sublayer. An organization that has an OUI assigned to it may use its OUI to assign universally unique protocol identifiers to its own protocols, for use in the protocol identification field of SNAP data units.\n\n> **NOTE 2**: to use EPD the PubSub cannot directly access Ethernet PDU as it is required in the specification because this service is provided by the LLC sublayer.\n\n#### Virtual Bridged Network\n\nAdditionally, the [IEEE 802.1Q][8021Q] introduces a concept of Virtual Bridged Network. VLANs and their identifiers (VID) provide a convenient and consistent network-wide reference for VLAN Bridges. A VLAN represents a broadcast domain. VLANs are identified by a VLAN ID (a number between 0 – 4095). Portions of the network which are VLAN-aware (i.e., IEEE 802.1Q conformant) can include VLAN tags. When a frame enters the VLAN-aware portion of the network, a tag is added to represent the VLAN membership. 802.1Q adds a 32-bit field between the source MAC address and the EtherType fields of the original frame.\n\nEach tag comprises the following sequential information elements:\n\n- A Tag Protocol Identifier\n- Tag Control Information (TCI) that is dependent on the tag type\n- Additional information, if and as required by the tag type and TCI.\n\nThe VLAN TCI field is two octets in length and encodes the VID and priority parameters. The VID is encoded in a 12-bit field.\n\n#### Priority Code Point\n\nThis specification IEEE 802.1Q defines also the Priority Code Point  (PCP) parameter mentioned in the PubSub Ethernet mapping specification. The priority is encoded in the PCP field of the VLAN tag. Priority Code Point (PCP) by design is a means of classifying and managing network traffic and of providing quality of service (QoS). The PCP value defines 8 priority levels. The specification 802.1Q states that for each Port, the Priority Code Point Encoding Table has 16 entries, corresponding to each of the possible combinations of the eight possible values of priority (0 through 7) with the two possible values of drop_eligible (True or False). For each Port, the Priority Code Point Decoding Table has 8 entries, corresponding to each of the possible PCP values.\n\nIt is worth stressing that the above concepts are not defined in the context of Ethernet but have more general applicability.\n\n#### Time Sensitive Network\n\nThe Time Sensitive Network (TSN) concept is not mentioned within the PubSub specification but it is very popular keyword to point out a strategy of further development of the OPC UA targeting real-time field level communications. By design, the EEE 802.1 Time-Sensitive Networking (TSN) makes it possible to carry data traffic over a bridged Ethernet network shared by various kinds of applications having different Quality of Service (QoS) requirements. The traffic may be classified as the\n\n- time constrained - where the communication delays contribute to the distributed application time constraints\n- best effort - where the communication time relationship is not critical for the distributed application\n\nThe expectation is that the TSN provides guaranteed data transport with bounded low latency, low delay variation, and extremely low data loss.\n\nThe [Time-Sensitive Networking (TSN) Task Group (TG)](https://1.ieee802.org/tsn/) is a part of the IEEE 802.1 Working Group (WG). The mission of the TSN TG is to provide deterministic services through IEEE 802 networks, i.e.,\n\n- guaranteed packet transport with bounded latency\n- low packet delay variation, and low packet loss\n\nBase standards for TSN:\n\n- IEEE Std 802.1Q-2018: Bridges and Bridged Networks\n- IEEE Std 802.1AB-2016: Station and Media Access Control Connectivity Discovery (specifies the Link Layer Discovery Protocol (LLDP))\n- IEEE Std 802.1AS-2011: Timing and Synchronization for Time-Sensitive Applications in Bridged Local Area Networks\n- IEEE Std 802.1AX-2014: Link Aggregation\n- IEEE Std 802.1BA-2011: Audio Video Bridging (AVB) Systems\n- IEEE Std 802.1CB-2017: Frame Replication and Elimination for Reliability\n- IEEE Std 802.1CM-2018: Time-Sensitive Networking for Fronthaul\n\n> **Note 3**: In computer science, the real-time application describes hardware and software systems subject to a real-time constraint. Real-time programs must guarantee the expected time relationships between the selected events and outcomes of the data processing process. In other words, deploying the real-time application, time must be considered as an important factor affecting the application correctness. Conversely, increasing processing or communication speed is not always required for the real-time application correctness. A very good example is Voice over IP where very hard time constraints required to correctly replay the sound can be met using nondeterministic communication over the Internet. Another example where we have time constraints but the overall speed of processing engine is usually irrelevant is any thermal process.\n\n#### Medium Access Control\n\nThe MAC sublayer performs the functions necessary to provide frame-based, connectionless-modeﾠ(datagram style) data transfer between stations in support of the next higher sublayer.\n\nOne of the functions provided by this sublayer is addressing. The IEEE 802 defines a concept of universal addressing that is based on the idea that all potential members of a network need to have a unique identifier. The advantage of a universal address is that a station with such a MAC address can be attached to any IEEE 802 network in the world with an assurance that the MAC address is unique. The term MAC address is used to refer to a 48-bit or 64-bit number that is used to identify the source and destination MAC entities. A universal address is a MAC address that is globally unique. If interoperability through bridges is required, then 48-bit MAC addressing is required. The selected address bit (called I/G bit) of the MAC address is used to identify the destination MAC address as an individual MAC address or a group MAC address.\n\nUnfortunately, the PubSub specification doesn't define mapping related to addressing and especially related to supporting point-to-multipoint architecture required to promote reusability of the same data published by one **PubSub Application** and consumed by many others.\n\n#### Ethernet\n\nEthernet is defined in the [IEEE 802][802] as a communication protocol specified by [802.3-2018 - IEEE Standard for Ethernet][8023]. The IEEE Std 802.3-2018 is composed of the documents defining a variety of protocols for Local and Metropolitan Area Networks (LANs and MANs), employing CSMA/CD as the shared media access method and the IEEE 802.3 (Ethernet) protocol and frame format for data communication. This international standard is intended to encompass a variety of media types and techniques for a variety of MAC data rates.\n\nThe Carrier Sense Multiple Access with Collision Detection (CSMA/CD) MAC protocol specifies shared medium (half duplex) operation, as well as full duplex operation. Speed specific Media Independent Interfaces (MIIs) provide an architectural and optional implementation interface to selected Physical Layer entities (PHY). The Physical Layer encodes frames for transmission and decodes received frames with the modulation specified for the speed of operation, transmission medium and supported link length.\n\nA companion document IEEE Std 802.3.1 describes Ethernet management information base (MIB) modules for use with the Simple Network Management Protocol (SNMP). IEEE Std 802.3.1 is updated to add management capability for enhancements to IEEE Std 802.3.\n\nIt must be assumed that the IEEE Std 802.3 will continue to evolve. A more detailed description of this protocols family is irrelevant for further discussion. To get more information visit the specification document [IEEE 802.3][8023].\n\n### OPC UA PubSub\n\nBy design the [OPC.UA.PubSub][OPC.UA.PubSub] should offer the publish/subscribe communication pattern as an option to client-server pattern. The detailed description of the [OPC UA PubSub][OPC.UA.PubSub] has been covered by the section [OPC Unified Architecture Part 14: PubSub Main Technology Features][README.PubSubMTF].\n\nAmong others, the specification recognizes the following actors as the communication parties:\n\n- `Publisher`: is the actor that pushes `NetworkMessage` structures to the local area network - Ethernet protocol data unit in this case\n- `Subscriber`: is the actor that consumes data encapsulated by the `NetworkMessage` structure, which is polled from the local area network - Ethernet protocol data unit in this case\n\nAccording to the specification the `Publisher` and `Subscriber` don't have any subscriptions management functionality, namely, they follow a communication paradigm called unsolicited notification. When unsolicited notification occurs, a client may receive a message that it has never requested. The `Subscriber` must use a filtering mechanism to process only messages it is interested in.\n\nLack of subscriptions management functionality defined by the [OPC.UA.PubSub][OPC.UA.PubSub] are not mitigated by applying the Ethernet Mapping defined in the specification.\n\n## Ethernet Mapping\n\nAccording to the OPC UA over `Ethernet` mapping uses EtherType **`B62C`** that is used to transport UADP `NetworkMessages` directly as payload of the Ethernet frame without IP or UDP headers. To properly format the Ethernet frame the following parameters must be defined somehow:\n\n- **MAC address** - media access control address (MAC address) is a unique on the local area network (broadcast domain) identifier assigned to a network interface controller (NIC)\n- **VLAN ID** - a number identifying the VLAN\n- **Priority Code Point** - is a means of classifying and managing network traffic and of providing quality of service (QoS) in modern Layer 2 Ethernet networks.\n\nThe specification propose the following syntax to represent address information of the `Ethernet` transport protocol\n\n`opc.eth://<host>[:<VID>[.PCP]]`\n\nwhere:\n\n- `host`- The host is a MAC address, an IP address or a registered name like a host name\n- `VID` - is the VLAN ID as number.\n- `PCP` - is the Priority Code Point as one digit number.\n\nThe format of a MAC address is six groups of hexadecimal digits, separated by hyphens (e.g. 01-23-45-67-89-ab). An application may also accept host names and/or IP addresses if it provides means to resolve it to a MAC address (e.g. DNS and Reverse-ARP).\n\n> **NOTE 4**: the above mentioned addressing parameters are not mapped to any of the PubSub `NetworkMessage` parameters. In other word there is no semantic relationship with the OPC UA and, therefore, the parameters must be provided separately by the application configuration.\n\nAccording to this mapping, the `UADP NetworkMessage` structures are transparently transported as the payload of the Ethernet frame. For OPC UA Ethernet the MaxNetworkMessageSize plus additional headers shall be limited to an Ethernet frame size of 1522 Bytes.\n\n> **NOTE #5**: some definitions of parameters duplicate definition in independent normative standards. To avoid conflicts these definitions must be recognized as redundant and removed from the Part 14 document.\n\n## Conclusion\n\n- OPC UA and Ethernet are unrelated, i.e. there is no semantic relationship between both\n- OPC UA Pub/Sub is recognized as an Internet technology, but the Ethernet mapping only makes sense for a VLAN constrained broadcast domain (local network segment)\n- OPC UA PubSub over the TSN is a misleading term because each protocol can be transported over this particular Ethernet dialect\n- Time Sensitive Network doesn’t mean real-time – simplifying it means no jitter (it improves deterministic communication)\n- The proposed mappings are not compliant with the [IEEE 802][802] specification because the mentioned services are defined in the layer that is located above the Ethernet and applies to Bridged Networks in general\n\n## See also\n\n- [OPC Unified Architecture Specification Part 14: PubSub Release 1.04 February 06, 2018][OPC.UA.PubSub]\n- [IEEE Standard for Local and Metropolitan Area Networks: Overview and Architecture,\" in IEEE Std 802-2014, 2014; doi: 10.1109/IEEESTD.2014.6847097][802]\n- [802.1Q-2018 - IEEE Standard for Local and Metropolitan Area Network--Bridges and Bridged Networks][8021Q]\n- [802.3-2018 - IEEE Standard for Ethernet][8023]\n- [OPC Unified Architecture Part 14: PubSub Main Technology Features][README.PubSubMTF]\n- [IEEE 802.3 ETHERNET WORKING GROUP][Ethernet]\n- [Registration Authority - Ethertype][IEEERA]\n- [IEEE 802 Numbers][802Numbers]\n- [J. Farkas, L. L. Bello and C. Gunther, \"Time-Sensitive Networking Standards,\" in IEEE Communications Standards Magazine, vol. 2, no. 2, pp. 20-21, JUNE 2018. doi: 10.1109/MCOMSTD.2018.8412457][TSNStandards]\n\n[TSNStandards]: http://ieeexplore.ieee.org/stamp/stamp.jsp?tp=&arnumber=8412457&isnumber=8412445\n[8021Q]:https://ieeexplore.ieee.org/servlet/opac?punumber=8686437\n[8023]: https://ieeexplore.ieee.org/document/8457469\n[802Numbers]: https://www.iana.org/assignments/ieee-802-numbers/ieee-802-numbers.xhtml\n[IEEERA]:http://standards.ieee.org/develop/regauth/ethertype/\n[Ethernet]:http://www.ieee802.org/3/\n[README.PubSubMTF]:README.PubSubMTF.md\n[OPC.UA.PubSub]:https://opcfoundation.org/developer-tools/specifications-unified-architecture/part-14-pubsub/\n[802]: https://ieeexplore.ieee.org/servlet/opac?punumber=6847095\n"
  },
  {
    "path": "Networking/SemanticData/README_MQTTMapping.md",
    "content": "# Underlying Transport over MQTT\n\n## Motivation\n\nThe main goal of this document is to provide instruction on how to expand the transport layer for OOI Networking of the `Semantic-Data` over the Message Queue Telemetry Transport \\([MQTT][MQTT]\\) to be compliant with the specifications mentioned in the section *Normative references*.\n\nImplementation of the `Messages` exchange over the MQTT protocol is out of the scope of this project. The library intentionally is designed to use any transport protocol meeting some basic requirements using external components. External components implementing MQTT connectivity can be seamlessly integrated with this SDK using dependency injection concept illustrated by the following domain model:\n\n![Figure 1 Domain Model](../../CommonResources/Media/DataManagementExternalLibraries.png)\n\nInstruction for implementer is covered in the section *Notices for Implementer*.\n\n## Normative references\n\nThe following documents, in whole or in part, are normatively referenced in this document and are indispensable for its application.\n\n- [ISO/IEC 20922:2016: Message Queuing Telemetry Transport (MQTT) v3.1.1][ISO.MQTT]\n- [OPC Unified Architecture Specification Part 14: PubSub Release 1.04 February 06, 2018][OPC.UA.PubSub]\n\n## Introduction\n\n### MQTT\n\nThe Message Queue Telemetry Transport \\([MQTT][MQTT]\\) is an open standard application layer protocol. It is a `Client`/`Server` publish/subscribe messaging transport protocol. The protocol runs over TCP/IP, [WebSocket](http://www.ietf.org/rfc/rfc6455.txt) or over other network protocols that provide ordered, lossless, bi-directional connections. According to the specification its features include:\n\n- Use of the publish/subscribe message pattern which provides one-to-many message distribution and decoupling of applications.\n- A messaging transport that is agnostic to the content of the payload.\n- A small transport overhead and protocol exchanges minimized to reduce network traffic.\n- A mechanism to notify interested parties when an abnormal disconnection occurs.\n\nThe [MQTT][MQTT] protocol defines a binary protocol used to send and receive `Application Message`. The `Application Message` is the data carried by the protocol across the network for the application. When `Application Messages` are transported they have an associated `Quality of Service` (`QoS`) and a `Topic Name`. `Topic Name` is the label attached to an `Application Message` which is matched against the `Subscriptions` known to the `Server`. The `Server` sends a copy of the `Application Message` to each Client that has a matching `Subscription`.\n\n`Server` (called also a broker) acts as an intermediary between `Clients` which publish `Application Messages` and `Clients` which have made `Subscriptions`. The `Server`:\n\n- Accepts `Network Connections` from `Clients`.\n- Accepts `Application Messages` published by `Clients`.\n- Processes subscribe and unsubscribe requests from `Clients`.\n- Forwards `Application Messages` that match `Client` `Subscriptions`.\n\nA `Server` may persist `Application Messages` so they can be delivered even if the `Subscriber` is not online.\n\n`Client` establishes the `Network Connection` to the `Server`. It can:\n\n- Publish `Application Messages` that other `Clients` might be interested in.\n- Create `Subscription` to request `Application Messages` that it is interested in receiving.\n- Unsubscribe (dispose of `Subscription`) to remove a request for `Application Messages`.\n- Disconnect from the `Server`.\n\nA `Subscription` comprises a `Topic Filter` and a maximum `QoS`. A `Subscription` is associated with a single `Session`. A `Session` can contain more than one `Subscription`. Each `Subscription` within a `Session` has a different `Topic Filter`. `Topic Filter` is an expression contained in a `Subscription`, to indicate an interest in one or more topics. A `Topic Filter` can include wildcard characters.\n\nThe session is a stateful interaction between a `Client` and a `Server`. Some `Sessions` last only as long as the `Network Connection`, others can span multiple consecutive `Network Connections` between a `Client` and a `Server`.\n\nThe interaction between the `Client` and `Server` is controlled using `Control Packet`. The `Control Packet` is a packet of data that is sent across the `Network Connection`. The specification defines fourteen different types of `Control Packet`, one of which (the PUBLISH packet) is used to convey `Application Messages`.\n\nThe [MQTT][MQTT] defines three `Quality of Service` (`QoS`) levels for `Application Messages` delivery:\n\n- \"At most once\", where messages are delivered according to the best efforts of the operating environment. Message loss can occur. This level could be used, for example, with ambient sensor data where it does not matter if an individual reading is lost as the next one will be published soon after.\n- \"At least once\", where messages are assured to arrive but duplicates can occur.\n- \"Exactly once\", where message are assured to arrive exactly once. This level could be used, for example, with billing systems where duplicate or lost messages could lead to incorrect charges being applied.\n\nThe connection has `Keep Alive` attribute. It is a time interval measured in seconds and expressed as a 16-bit word. It is the maximum time interval that is permitted to elapse between the point in time at which the Client finishes transmitting one `Control Packet` and the point it starts sending the next. It is the responsibility of the `Client` to ensure that the interval between `Control Packets` being sent does not exceed the `Keep Alive` value.\n\nThe specification introduces a concept of topic levels. The topic level separator is used to introduce structure into the `Topic Name`. If present, it divides the `Topic Name` into multiple topic levels. A `Subscription’s` `Topic Filter` can contain special wildcard characters, which allow `Client` to subscribe to multiple topics at once.\n\n### OPC UA PubSub\n\nThe [OPC.UA.PubSub][OPC.UA.PubSub] offers the publish/subscribe communication pattern as an option to client-server pattern and is a consistent part of the OPC UA specifications suit. The detailed description of the [OPC.UA.PubSub][OPC.UA.PubSub] has been covered by the document [OPC Unified Architecture Part 14: PubSub Main Technology Features][README.PubSubMTF].\n\nThe specification defines the following actors:\n\n- `Publisher`: is the actor that pushes `NetworkMessage` structures to an underlying transport layer.\n- `Subscriber`: is the actor that consumes data encapsulated by the `NetworkMessage` structure, which is polled from the underlying transport layer.\n\nAccording to the specification the `Publisher` and `Subscriber` don't have any subscriptions management functionality, namely, they follow a communication paradigm called unsolicited notification. When unsolicited notification occurs, a client receives a message that it has never requested. The `Subscriber` must use a filtering mechanism to process only messages it is interested in.\n\nLack of subscriptions management functionality defined by the [OPC.UA.PubSub][OPC.UA.PubSub] could be mitigated by applying the [MQTT][MQTT] that some functionality related to communication reliability, data selection, and distribution is delegated to the `Server`.\n\n## MQTT mapping\n\n### `Application Message` encoding\n\nThe [OPC.UA.PubSub][OPC.UA.PubSub] specification defines two possible encodings for the `Application Messages`:\n\n- Binary\n- JSON\n\n[MQTT][MQTT] does not provide a mechanism for specifying the encoding of the `Application Message` which means the [OPC.UA.PubSub][OPC.UA.PubSub] `Subscriber` entities shall be configured in advance with knowledge of the expected encoding. `Publisher` entities should only publish `NetworkMessages` using a single encoding to a unique MQTT `Topic Name`.\n\nThe messages sent through MQTT are limited to one per `Application Message`. It is expected that the software used to receive the message can process it without needing to know that it was transported via MQTT instead of UDP for example.\n\nIf the encoded MQTT message size exceeds the `Server` limits it should be broken into multiple chunks as described in the [OPC.UA.PubSub][OPC.UA.PubSub] Specification.\n\nIt is recommended that the MetaDataQueueName as described in [OPC.UA.PubSub][OPC.UA.PubSub] is configured as a sub-topic of the related `QueueName` with the name `$Metadata`. The MQTT RETAIN flag shall be set for metadata messages.\n\nThe implementation choses packet and message size limits depending on the capabilities of the operating system or the capabilities of the device the application is running on. They can be made configurable through configuration model extensions or by other means.\n\n### Security\n\nSecurity with MQTT is primarily provided by a TLS connection between the `Client` and the `Server`, however, this requires that the `Server` must be trusted. For that reason, it may be necessary to provide end-to-end security. Applications that require end-to-end security with MQTT need to use the binary message encoding and apply security protection defined in the [OPC.UA.PubSub][OPC.UA.PubSub] specification.\n\n### Addressing\n\nThe syntax of the MQTT transporting protocol URL used has the following form:\n\n`mqtts://<domain name>[:<port>][/<path>]`\n\nThe default port is 8883.\n\nThe syntax for an MQTT URL over Web Sockets has the following form:\n\n`wss://<domain name>[:<port>][/<path>]`\n\nThe default port is 443.\n\n### `Keep Alive`\n\nIf the `KeepAliveTime` is set on a `WriterGroup`, a value slightly higher than the configured value of the group in seconds should be set as MQTT `Keep Alive` ensuring that the connection is disconnected if the keep alive message was not sent by any writer in the specified time.\n\n\n### `Quality of Service`\n\nThe `BrokerTransportQualityOfService` values map to MQTT `Quality of Service` settings as follows:\n\n- AtMostOnce_1 is mapped to MQTT QoS 0.\n- AtLeastOnce_2 is mapped to MQTT QoS 1.\n- ExactlyOnce_3 is mapped to MQTT Qos 2.\n\n## Notices for Implementer\n\nIn the article [Reactive Networking of Semantic-Data Library](README.MD) the section *Message Transport* contains description covering instruction for the external MQTT handling components. An example how to implement the Transport layer over the UDP protocol is illustrated by the project [UA Data Example Application](../ReferenceApplication/README.MD). This application uses two implementations of the `IMessageHandlerFactory`:\n\n- `ConsumerMessageHandlerFactory` - to create communication infrastructure for the consumer role\n- `ProducerMessageHandlerFactory` - to create communication infrastructure for the producer role\n\nIt has been implements by the following classes providing the required interfaces:\n\n- `BinaryUDPPackageReader` - implements `IMessageReader` inheriting from `BinaryDecoder`\n- `BinaryUDPPackageWriter` - implements `IMessageWriter` inheriting from `BinaryEncoder`\n\n## See also\n\n- [ISO/IEC 20922:2016: Message Queuing Telemetry Transport (MQTT) v3.1.1][ISO.MQTT]\n\n[MQTT]:http://docs.oasis-open.org/mqtt/mqtt/v3.1.1/mqtt-v3.1.1.html\n[ISO.MQTT]: https://www.iso.org/standard/69466.html\n[OPC.UA.PubSub]:https://opcfoundation.org/developer-tools/specifications-unified-architecture/part-14-pubsub/\n[OPC.UA.Profiles]:https://opcfoundation.org/developer-tools/specifications-unified-architecture/part-7-profiles/\n[README.PubSubMTF]:README.PubSubMTF.md\n"
  },
  {
    "path": "Networking/SemanticData/app.config",
    "content": "﻿<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<configuration>\n</configuration>"
  },
  {
    "path": "Networking/Simulator.Boiler/AddressSpace/BaseDataVariableState.cs",
    "content": "﻿//___________________________________________________________________________________\n//\n//  Copyright (C) 2018, Mariusz Postol LODZ POLAND.\n//\n//  To be in touch join the community at GITTER: https://gitter.im/mpostol/OPC-UA-OOI\n//___________________________________________________________________________________\n\nusing System;\nusing UAOOI.SemanticData.UANodeSetValidation.DataSerialization;\n\nnamespace UAOOI.Networking.Simulator.Boiler.AddressSpace\n{\n  public abstract class BaseDataVariableState : BaseVariableState\n  {\n    [Obsolete(\"This constructor is provided only to make auto-generated code error free\")]\n    public BaseDataVariableState(NodeState parent) : base(parent) { }\n\n    public BaseDataVariableState(NodeState parent, QualifiedName browseName) : base(parent, browseName) { }\n\n  }\n}"
  },
  {
    "path": "Networking/Simulator.Boiler/AddressSpace/BaseInstanceState.cs",
    "content": "﻿//___________________________________________________________________________________\n//\n//  Copyright (C) 2021, Mariusz Postol LODZ POLAND.\n//\n//  To be in touch join the community at GITTER: https://gitter.im/mpostol/OPC-UA-OOI\n//___________________________________________________________________________________\n\nusing System;\nusing System.Collections.Generic;\nusing UAOOI.SemanticData.UANodeSetValidation;\nusing UAOOI.SemanticData.UANodeSetValidation.DataSerialization;\n\nnamespace UAOOI.Networking.Simulator.Boiler.AddressSpace\n{\n  /// <summary>\n  /// Used to receive notifications when a non-value attribute is read or written.\n  /// </summary>\n  public delegate void NodeStateChangedHandler(ISystemContext context, NodeState node, NodeStateChangeMasks changes);\n\n  /// <summary>\n  /// Class BaseInstanceState.\n  /// </summary>\n  /// <seealso cref=\"UAOOI.Networking.Simulator.Boiler.AddressSpace.NodeState\" />\n  public class BaseInstanceState : NodeState\n  {\n    /// <summary>\n    /// Initializes the instance with its default attribute values.\n    /// </summary>\n    protected BaseInstanceState(NodeState parent, NodeClass nodeClass, QualifiedName browseName) : base(nodeClass, browseName)\n    {\n      if (parent == null)\n        return;\n      Parent = (BaseInstanceState)parent;\n      Parent.AddChild(this);\n    }\n\n    [Obsolete()]\n    public BaseInstanceState(NodeState parent) : base(parent) { }\n\n    /// <summary>\n    /// The parent node.\n    /// </summary>\n    public BaseInstanceState Parent { get; internal set; }\n\n    /// <summary>\n    /// Returns the id of the default type definition node for the instance.\n    /// </summary>\n    /// <param name=\"namespaceUris\">The namespace uris.</param>\n    /// <returns></returns>\n    protected virtual NodeId GetDefaultTypeDefinitionId(NamespaceTable namespaceUris)\n    {\n      return null;\n    }\n\n    /// <summary>\n    /// Finds the child with the specified browse path.\n    /// </summary>\n    /// <param name=\"context\">The context to use.</param>\n    /// <param name=\"browsePath\">The browse path.</param>\n    /// <param name=\"index\">The current position in the browse path.</param>\n    /// <returns>The target if found. Null otherwise.</returns>\n    public virtual BaseInstanceState FindChild(ISystemContext context, IList<QualifiedName> browsePath, int index)\n    {\n      if (index < 0 || index >= int.MaxValue)\n        throw new ArgumentOutOfRangeException(\"index\");\n      BaseInstanceState instance = FindChild(context, browsePath[index], false, null);\n      if (instance != null)\n      {\n        if (browsePath.Count == index + 1)\n          return instance;\n        return instance.FindChild(context, browsePath, index + 1);\n      }\n      return null;\n    }\n\n    /// <summary>\n    /// Finds the child with the specified browse name.\n    /// </summary>\n    /// <param name=\"context\">The context for the system being accessed.</param>\n    /// <param name=\"browseName\">The browse name of the children to add.</param>\n    /// <param name=\"createOrReplace\">if set to <c>true</c> and the child could exist then the child is created.</param>\n    /// <param name=\"replacement\">The replacement to use if createOrReplace is true.</param>\n    /// <returns>The child.</returns>\n    protected virtual BaseInstanceState FindChild(ISystemContext context, QualifiedName browseName, bool createOrReplace, BaseInstanceState replacement)\n    {\n      if (QualifiedName.IsNull(browseName))\n        return null;\n      for (int ii = 0; ii < m_children.Count; ii++)\n      {\n        BaseInstanceState child = m_children[ii];\n        if (browseName == child.BrowseName)\n        {\n          if (createOrReplace && replacement != null)\n            m_children[ii] = child = replacement;\n          return child;\n        }\n      }\n      if (createOrReplace)\n      {\n        if (replacement != null)\n          AddChild(replacement);\n      }\n      return null;\n    }\n\n    /// <summary>\n    /// Populates a list with the children that belong to the node.\n    /// </summary>\n    /// <param name=\"context\">The context for the system being accessed.</param>\n    /// <param name=\"children\">The list of children to populate.</param>\n    /// <exception cref=\"System.NotImplementedException\">This method is added to avoid compiler errors only</exception>\n    [Obsolete(\"This method is added to avoid compiler errors only and will cause NotImplementedException\")]\n    public virtual void GetChildren(ISystemContext context, IList<BaseInstanceState> children)\n    {\n      throw new NotImplementedException(\"This method is added to avoid compiler errors only\");\n    }\n\n    /// <summary>\n    /// Populates a list with the children that belong to the node.\n    /// </summary>\n    /// <param name=\"children\">The list of children to populate.</param>\n    public void GetChildren(IList<BaseInstanceState> children)\n    {\n      for (int ii = 0; ii < m_children.Count; ii++)\n        children.Add(m_children[ii]);\n    }\n\n    /// <summary>\n    /// Clears the change masks.\n    /// </summary>\n    /// <param name=\"context\">The context that describes how access the system containing the data..</param>\n    /// <param name=\"includeChildren\">if set to <c>true</c> clear masks recursively for all children..</param>\n    public void ClearChangeMasks(ISystemContext context, bool includeChildren)\n    {\n      if (includeChildren)\n      {\n        List<BaseInstanceState> children = new List<BaseInstanceState>();\n        GetChildren(children);\n        for (int ii = 0; ii < children.Count; ii++)\n          children[ii].ClearChangeMasks(context, true);\n      }\n      if (ChangeMasks == NodeStateChangeMasks.None)\n        return;\n      OnStateChanged?.Invoke(context, this, ChangeMasks);\n      ChangeMasks = NodeStateChangeMasks.None;\n    }\n\n    /// <summary>\n    /// Called when ClearChangeMasks is called and the ChangeMask is not None.\n    /// </summary>\n    public event NodeStateChangedHandler OnStateChanged;\n\n    /// <summary>\n    /// Adds a child to the node.\n    /// </summary>\n    internal void AddChild(BaseInstanceState child)\n    {\n      m_children.Add(child);\n      ChangeMasks |= NodeStateChangeMasks.Children;\n    }\n\n    internal void RegisterVariable(IReadOnlyList<BaseInstanceState> hasComponentPath, Action<BaseInstanceState, string[]> register)\n    {\n      List<BaseInstanceState> _hasComponentPathAndMe = new List<BaseInstanceState>(hasComponentPath)\n      {\n        this\n      };\n      CallRegister(_hasComponentPathAndMe, register);\n      List<BaseInstanceState> _myComponents = new List<BaseInstanceState>();\n      GetChildren(_myComponents);\n      for (int ii = 0; ii < _myComponents.Count; ii++)\n      {\n        if (_myComponents[ii] == this)\n          throw new ArgumentOutOfRangeException(\"Redundant browse path\");\n        _myComponents[ii].RegisterVariable(_hasComponentPathAndMe, register);\n      }\n    }\n\n    protected virtual void CallRegister(List<BaseInstanceState> hasComponentPathAndMe, Action<BaseInstanceState, string[]> register)\n    {\n    }\n\n    private List<BaseInstanceState> m_children = new List<BaseInstanceState>();\n  }\n}"
  },
  {
    "path": "Networking/Simulator.Boiler/AddressSpace/BaseObjectState.cs",
    "content": "﻿//___________________________________________________________________________________\n//\n//  Copyright (C) 2018, Mariusz Postol LODZ POLAND.\n//\n//  To be in touch join the community at GITTER: https://gitter.im/mpostol/OPC-UA-OOI\n//___________________________________________________________________________________\n\nusing System;\nusing UAOOI.SemanticData.UANodeSetValidation.DataSerialization;\n\nnamespace UAOOI.Networking.Simulator.Boiler.AddressSpace\n{\n  public class BaseObjectState : BaseInstanceState\n  {\n\n    [Obsolete(\"This constructor is provided only to make auto-generated code error free\")]\n    public BaseObjectState(NodeState parent) : base(parent) { }\n    public BaseObjectState(NodeState parent, QualifiedName browseName) : base(parent, NodeClass.Object_1, browseName) { }\n\n  }\n}"
  },
  {
    "path": "Networking/Simulator.Boiler/AddressSpace/BaseVariableState.cs",
    "content": "﻿//___________________________________________________________________________________\n//\n//  Copyright (C) 2018, Mariusz Postol LODZ POLAND.\n//\n//  To be in touch join the community at GITTER: https://gitter.im/mpostol/OPC-UA-OOI\n//___________________________________________________________________________________\n\nusing System;\nusing System.Collections.Generic;\nusing System.Linq;\nusing UAOOI.Configuration.Networking.Serialization;\nusing UAOOI.SemanticData.UANodeSetValidation.DataSerialization;\n\nnamespace UAOOI.Networking.Simulator.Boiler.AddressSpace\n{\n  /// <summary>\n  /// Class BaseVariableState - represents BaseVariableTypes in the UA AddressSpace\n  /// </summary>\n  /// <seealso cref=\"UAOOI.Networking.Simulator.Boiler.AddressSpace.BaseInstanceState\" />\n  public abstract class BaseVariableState : BaseInstanceState, IVariable\n  {\n\n    /// <summary>\n    /// Initializes a new instance of the <see cref=\"BaseVariableState\"/> class.\n    /// </summary>\n    /// <param name=\"parent\">The parent.</param>\n    /// <param name=\"browseName\">Name of the browse.</param>\n    public BaseVariableState(NodeState parent, QualifiedName browseName) : base(parent, NodeClass.Variable_2, browseName) { }\n    /// <summary>\n    /// Gets the value of the variable.\n    /// </summary>\n    /// <value>The value.</value>\n    public object Value\n    {\n      get\n      {\n        return m_value;\n      }\n      set\n      {\n        if (!Object.ReferenceEquals(m_value, value))\n          ChangeMasks |= NodeStateChangeMasks.Value;\n        m_value = value;\n      }\n    }\n\n    /// <summary>\n    /// Gets the type of the value.\n    /// </summary>\n    /// <value>The type of the data returned by the Value property.</value>\n    public UATypeInfo ValueType => GetValueType();\n\n\n    [Obsolete(\"This constructor is provided only to make auto-generated code error free\")]\n    protected BaseVariableState(NodeState parent) : base(parent) { }\n    protected override void CallRegister(List<BaseInstanceState> hasComponentPathAndMe, Action<BaseInstanceState, string[]> register)\n    {\n      base.CallRegister(hasComponentPathAndMe, register);\n      string[] _browsePath = hasComponentPathAndMe.Select<BaseInstanceState, string>(x => x.BrowseName.Name).ToArray<string>();\n      register(this, _browsePath);\n    }\n    /// <summary>\n    /// Gets the type of the value.\n    /// </summary>\n    /// <returns>Type.</returns>\n    protected abstract UATypeInfo GetValueType();\n    private object m_value;\n\n  }\n}\n"
  },
  {
    "path": "Networking/Simulator.Boiler/AddressSpace/FolderState.cs",
    "content": "﻿\nusing System;\nusing UAOOI.SemanticData.UANodeSetValidation.DataSerialization;\n\nnamespace UAOOI.Networking.Simulator.Boiler.AddressSpace\n{\n  public class FolderState : BaseObjectState\n  {\n\n    [Obsolete(\"This constructor is provided only to make auto-generated code error free\")]\n    public FolderState(NodeState parent) : base(parent) { }\n    public FolderState(NodeState parent, QualifiedName browseName) : base(parent, browseName) { }\n\n  }\n\n}"
  },
  {
    "path": "Networking/Simulator.Boiler/AddressSpace/ISemanticDataSetSource.cs",
    "content": "﻿//___________________________________________________________________________________\n//\n//  Copyright (C) 2018, Mariusz Postol LODZ POLAND.\n//\n//  To be in touch join the community at GITTER: https://gitter.im/mpostol/OPC-UA-OOI\n//___________________________________________________________________________________\n\nusing System.Collections.Generic;\n\nnamespace UAOOI.Networking.Simulator.Boiler.AddressSpace\n{\n  /// <summary>\n  /// Interface ISemanticDataSetSource - exposes the enumerator of a set of variables representing the semantic data source. Each data entity is represented as the <see cref=\"BaseVariableState\"></see> instance.\n  /// </summary>\n  public interface ISemanticDataSetSource: IEnumerable<KeyValuePair<string, IVariable>>\n  {\n\n    /// <summary>\n    /// Gets the name of the semantic data set.\n    /// </summary>\n    /// <value>The name of the semantic data set.</value>\n    string SemanticDataSetRootBrowseName { get; }\n    /// <summary>\n    /// Gets the <see cref=\"IVariable\"/> with the specified key.\n    /// </summary>\n    /// <param name=\"key\">The browse path of the <see cref=\"IVariable\"/> to get.</param>\n    /// <returns>\n    /// The value associated with the specified key. If the specified key is not found, a get operation throws a <see cref=\"KeyNotFoundException\"/>.\n    /// </returns>\n    /// <exception cref=\"System.ArgumentNullException\"><paramref name=\"key\"/> is null.</exception>\n    /// <exception cref=KeyNotFoundException\">The <paramref name=\"key\"/> does not exist in the collection.</exception>\n    IVariable this[string[] key] { get; }\n    /// <summary>\n    /// Gets the keys in an instance of the <see cref=\"IEnumerable{string}\"/>.\n    /// </summary>\n    /// <value>An instance of the <see cref=\"IEnumerable{string}\"/> containing the keys.\n    IEnumerable<string> Keys { get; }\n    /// <summary>\n    /// Gets the count of items in this set.\n    /// </summary>\n    /// <value>The number of items in the set.</value>\n    int Count { get; }\n    /// <summary>\n    /// Determines whether this set contains key.\n    /// </summary>\n    /// <param name=\"key\">The key.</param>\n    /// <returns><c>true</c> if this set contains key; otherwise, <c>false</c>.</returns>\n    bool ContainsKey(string key);\n\n  }\n}\n"
  },
  {
    "path": "Networking/Simulator.Boiler/AddressSpace/ISemanticDataSource.cs",
    "content": "﻿//___________________________________________________________________________________\n//\n//  Copyright (C) 2018, Mariusz Postol LODZ POLAND.\n//\n//  To be in touch join the community at GITTER: https://gitter.im/mpostol/OPC-UA-OOI\n//___________________________________________________________________________________\n\nusing System;\n\nnamespace UAOOI.Networking.Simulator.Boiler.AddressSpace\n{\n\n  /// <summary>\n  /// Interface ISemanticDataSource - exposes the enumerator of the application semantic data source. Each data source entity in this sequence is represented as the <see cref=\"IVariable\"</see> instance and \n  /// identified using two strings representing the following symbolic names:\n  ///  - Semantic DataSet Root Browse Path.\n  ///  - Variable Relative Browse Path\n  /// </summary>\n  /// <seealso cref=\"System.IDisposable\" />\n  public interface ISemanticDataSource : IDisposable\n  {\n    /// <summary>\n    /// Gets the semantic data set sources.\n    /// </summary>\n    /// <param name=\"registerSemanticData\">The delegates used to inverse of the control and register the data source by the the caller.</param>\n    void GetSemanticDataSources(RegisterSemanticData registerSemanticData);\n\n  }\n  /// <summary>\n  /// Delegate RegisterSemanticData\n  /// </summary>\n  /// <param name=\"semanticDataSetRootBrowsePath\">The semantic data set root browse path.</param>\n  /// <param name=\"variableRelativeBrowsePath\">The variable relative browse path.</param>\n  /// <param name=\"variable\">The variable - data source.</param>\n  public delegate void RegisterSemanticData(string semanticDataSetRootBrowsePath, string variableRelativeBrowsePath, IVariable variable);\n\n}"
  },
  {
    "path": "Networking/Simulator.Boiler/AddressSpace/ISystemContext.cs",
    "content": "﻿\nnamespace UAOOI.Networking.Simulator.Boiler.AddressSpace\n{\n  public interface ISystemContext { }\n\n}"
  },
  {
    "path": "Networking/Simulator.Boiler/AddressSpace/IVariable.cs",
    "content": "﻿//___________________________________________________________________________________\n//\n//  Copyright (C) 2018, Mariusz Postol LODZ POLAND.\n//\n//  To be in touch join the community at GITTER: https://gitter.im/mpostol/OPC-UA-OOI\n//___________________________________________________________________________________\n\nusing UAOOI.Configuration.Networking.Serialization;\n\nnamespace UAOOI.Networking.Simulator.Boiler.AddressSpace\n{\n  public interface IVariable\n  {\n\n    /// <summary>\n    /// Gets the value of the variable.\n    /// </summary>\n    /// <value>The value.</value>\n    object Value { get; }\n    /// <summary>\n    /// Called when ClearChangeMasks is called and the ChangeMask is not None.\n    /// </summary>\n    event NodeStateChangedHandler OnStateChanged;\n    /// <summary>\n    /// Gets the type of the value.\n    /// </summary>\n    /// <value>The type of the data returned by the Value property.</value>\n    UATypeInfo ValueType { get; }\n\n  }\n}"
  },
  {
    "path": "Networking/Simulator.Boiler/AddressSpace/ModelExtensions.cs",
    "content": "﻿//___________________________________________________________________________________\n//\n//  Copyright (C) 2018, Mariusz Postol LODZ POLAND.\n//\n//  To be in touch join the community at GITTER: https://gitter.im/mpostol/OPC-UA-OOI\n//___________________________________________________________________________________\n\nusing System;\nusing UAOOI.Configuration.Networking.Serialization;\nusing UAOOI.SemanticData.UANodeSetValidation.DataSerialization;\n\nnamespace UAOOI.Networking.Simulator.Boiler.AddressSpace\n{\n  /// <summary>\n  /// <see cref=\"Range\"/> helper functions.\n  /// </summary>\n  internal static class ModelExtensions\n  {\n\n    /// <summary>\n    /// Initializes the object with the high and low limits.\n    /// </summary>\n    internal static Range CreateRange(double high, double low)\n    {\n      Tuple<double, double> _value = CreateValue(high, low);\n      Range _ret = new Range()\n      {\n        Low = _value.Item1,\n        High = _value.Item2,\n      };\n      return _ret;\n    }\n    /// <summary>\n    /// Returns the difference between high and low of the <see cref=\"Range\"/>.\n    /// </summary>\n    internal static double Magnitude(this Range value)\n    {\n      return Math.Abs(value.High - value.Low);\n    }\n    internal static UATypeInfo GetUATypeInfo(this Type code)\n    {\n      switch (Type.GetTypeCode(code))\n      {\n        case TypeCode.Boolean:\n          return new UATypeInfo(BuiltInType.Boolean);\n        case TypeCode.SByte:\n          return new UATypeInfo(BuiltInType.SByte);\n        case TypeCode.Byte:\n          return new UATypeInfo(BuiltInType.Byte);\n        case TypeCode.Int16:\n          return new UATypeInfo(BuiltInType.Int16);\n        case TypeCode.UInt16:\n          return new UATypeInfo(BuiltInType.UInt16);\n        case TypeCode.Int32:\n          return new UATypeInfo(BuiltInType.Int32);\n        case TypeCode.UInt32:\n          return new UATypeInfo(BuiltInType.UInt32);\n        case TypeCode.Int64:\n          return new UATypeInfo(BuiltInType.Int64);\n        case TypeCode.UInt64:\n          return new UATypeInfo(BuiltInType.UInt64);\n        case TypeCode.Single:\n          return new UATypeInfo(BuiltInType.Float);\n        case TypeCode.Double:\n          return new UATypeInfo(BuiltInType.Double);\n        case TypeCode.DateTime:\n          return new UATypeInfo(BuiltInType.DateTime);\n        case TypeCode.String:\n          return new UATypeInfo(BuiltInType.String);\n        default:\n          return new UATypeInfo(BuiltInType.Null);\n          //throw new ArgumentOutOfRangeException(nameof(code), $\"Cannot convert system type {code} to {nameof(UATypeInfo)}\");\n      }\n    }\n    internal static bool IsEqual(this UATypeInfo me, UATypeInfo other)\n    {\n      return (me.BuiltInType == other.BuiltInType) && (me.ValueRank == other.ValueRank) && (me.ArrayDimensions == other.ArrayDimensions);\n    }\n    private static Tuple<double, double> CreateValue(double high, double low)\n    {\n      return high > low ? Tuple.Create<double, double>(low, high) : Tuple.Create(high, low);\n    }\n\n  }\n}\n"
  },
  {
    "path": "Networking/Simulator.Boiler/AddressSpace/NodeState.cs",
    "content": "﻿\nusing System;\nusing UAOOI.SemanticData.UANodeSetValidation.DataSerialization;\n\nnamespace UAOOI.Networking.Simulator.Boiler.AddressSpace\n{\n  public class NodeState : IDisposable\n  {\n\n    #region constructors\n    /// <summary>\n    /// Creates an empty object.\n    /// </summary>\n    /// <param name=\"nodeClass\">The node class.</param>\n    protected NodeState(NodeClass nodeClass, QualifiedName browseName)\n    {\n      NodeClass = nodeClass;\n      m_browseName = browseName;\n    }\n    [Obsolete(\"This constructor is provided only to make auto-generated code error free\")]\n    public NodeState(NodeState parent)\n    {\n      throw new NotImplementedException(\"Autogenerated constructor cannot be used.\");\n    }\n    #endregion\n\n    /// <summary>\n    /// The browse name of the node.\n    /// </summary>\n    /// <value>The name qualified with a namespace.</value>\n    internal QualifiedName BrowseName\n    {\n      get\n      {\n        return m_browseName;\n      }\n      set\n      {\n        if (!Object.ReferenceEquals(m_browseName, value))\n        {\n          ChangeMasks |= NodeStateChangeMasks.NonValue;\n        }\n\n        m_browseName = value;\n      }\n    }\n    internal protected NodeStateChangeMasks ChangeMasks { get; protected set; }\n    internal NodeClass NodeClass { get; private set; }\n\n    #region IDisposable Support\n    private bool disposedValue = false; // To detect redundant calls\n    protected virtual void Dispose(bool disposing)\n    {\n      if (!disposedValue)\n      {\n        if (disposing)\n        {\n          // TODO: dispose managed state (managed objects).\n        }\n        // TODO: free unmanaged resources (unmanaged objects) and override a finalizer below.\n        // TODO: set large fields to null.\n        disposedValue = true;\n      }\n    }\n    // This code added to correctly implement the disposable pattern.\n    public void Dispose()\n    {\n      // Do not change this code. Put cleanup code in Dispose(bool disposing) above.\n      Dispose(true);\n    }\n    #endregion\n\n    #region private\n    private QualifiedName m_browseName;\n    #endregion\n\n  }\n\n  /// <summary>\n  /// Indicates what has changed in a node.\n  /// </summary>\n  public enum NodeStateChangeMasks\n  {\n    /// <summary>\n    /// None has changed\n    /// </summary>\n    None = 0x00,\n\n    /// <summary>\n    /// One or more children have been added, removed or replaced.\n    /// </summary>\n    Children = 0x01,\n\n    /// <summary>\n    /// One or more references have been added or removed.\n    /// </summary>\n    References = 0x02,\n\n    /// <summary>\n    /// The value attribute has changed.\n    /// </summary>\n    Value = 0x04,\n\n    /// <summary>\n    /// One or more non-value attribute has changed.\n    /// </summary>\n    NonValue = 0x08,\n\n    /// <summary>\n    /// The node has been deleted.\n    /// </summary>\n    Deleted = 0x10\n  }\n\n}"
  },
  {
    "path": "Networking/Simulator.Boiler/AddressSpace/OOI.Opc.Ua.Classes.cs",
    "content": "﻿//___________________________________________________________________________________\n//\n//  Copyright (C) 2018, Mariusz Postol LODZ POLAND.\n//\n//  To be in touch join the community at GITTER: https://gitter.im/mpostol/OPC-UA-OOI\n//___________________________________________________________________________________\n\nusing System;\nusing UAOOI.Configuration.Networking.Serialization;\nusing UAOOI.SemanticData.UANodeSetValidation.DataSerialization;\n\nnamespace UAOOI.Networking.Simulator.Boiler.AddressSpace\n{\n\n  public abstract partial class DataItemState : BaseDataVariableState\n  {\n    [Obsolete(\"This constructor is provided only to make auto-generated code error free\")]\n    public DataItemState(NodeState parent) : base(parent) { }\n\n    public DataItemState(NodeState parent, QualifiedName browseName) : base(parent, browseName) { }\n  }\n  public abstract class AnalogItemState : DataItemState\n  {\n    public AnalogItemState(NodeState parent, QualifiedName browseName) : base(parent, browseName) { }\n\n    [Obsolete(\"This constructor is provided only to make auto-generated code error free\")]\n    public AnalogItemState(NodeState parent) : base(parent) { }\n\n    /// <summary>\n    /// Gets or sets the engineering unit range.\n    /// </summary>\n    /// <value>The eu range.</value>\n    public PropertyState<Range> EURange\n    {\n      get\n      {\n        return m_eURange;\n      }\n      set\n      {\n        if (!Object.ReferenceEquals(m_eURange, value))\n          ChangeMasks |= NodeStateChangeMasks.Children;\n        m_eURange = value;\n      }\n    }\n    private PropertyState<Range> m_eURange;\n  }\n  public class AnalogItemState<type> : AnalogItemState\n  {\n\n    #region Constructors\n    public AnalogItemState(NodeState parent) : this(parent, \"AnalogItemState\", ModelExtensions.CreateRange(1, 0)) { }\n    /// <summary>\n    /// Initializes the instance with its default attribute values.\n    /// </summary>\n    public AnalogItemState(NodeState parent, QualifiedName browseName, Range range, type value = default(type)) : base(parent, browseName)\n    {\n      this.EURange = new PropertyState<Range>(this, nameof(EURange));\n      this.EURange.Value = range;\n      this.Value = value;\n    }\n    #endregion\n\n    #region Public Members\n    /// <summary>\n    /// The value of the variable.\n    /// </summary>\n    public new type Value\n    {\n      get { return (type)base.Value; }\n      set { base.Value = value; }\n    }\n    #endregion\n    /// <summary>\n    /// Gets the type of the value.\n    /// </summary>\n    /// <returns>Type.</returns>\n    protected override UATypeInfo GetValueType()\n    {\n      return typeof(type).GetUATypeInfo();\n    }\n  }\n  public class StateMachineState : BaseObjectState\n  {\n    [Obsolete(\"This constructor is provided only to make auto-generated code error free\")]\n    public StateMachineState(NodeState parent) : base(parent) { }\n\n    public StateMachineState(NodeState parent, QualifiedName browseName) : base(parent, browseName) { }\n  }\n  public class FiniteStateMachineState : StateMachineState\n  {\n    [Obsolete(\"This constructor is provided only to make auto-generated code error free\")]\n    public FiniteStateMachineState(NodeState parent) : base(parent) { }\n\n    public FiniteStateMachineState(NodeState parent, QualifiedName browseName) : base(parent, browseName) { }\n\n  }\n  public class ProgramStateMachineState : FiniteStateMachineState\n  {\n\n    [Obsolete(\"This constructor is provided only to make auto-generated code error free\")]\n    public ProgramStateMachineState(NodeState parent) : base(parent) { }\n    public ProgramStateMachineState(NodeState parent, QualifiedName browseName) : base(parent, browseName) { }\n\n  }\n\n}\n"
  },
  {
    "path": "Networking/Simulator.Boiler/AddressSpace/PropertyState.cs",
    "content": "﻿//___________________________________________________________________________________\n//\n//  Copyright (C) 2018, Mariusz Postol LODZ POLAND.\n//\n//  To be in touch join the community at GITTER: https://gitter.im/mpostol/OPC-UA-OOI\n//___________________________________________________________________________________\n\nusing System;\nusing UAOOI.Configuration.Networking.Serialization;\nusing UAOOI.SemanticData.UANodeSetValidation.DataSerialization;\n\nnamespace UAOOI.Networking.Simulator.Boiler.AddressSpace\n{\n\n  public abstract class PropertyState : BaseVariableState\n  {\n\n    [Obsolete(\"This constructor is provided only to make auto-generated code error free\")]\n    public PropertyState(NodeState parent) : base(parent) { }\n    public PropertyState(NodeState parent, QualifiedName browseName) : base(parent, browseName) { }\n\n  }\n  public class PropertyState<type> : PropertyState\n  {\n\n    [Obsolete(\"This constructor is provided only to make auto-generated code error free\")]\n    public PropertyState(NodeState parent) : base(parent) { }\n    public PropertyState(NodeState parent, QualifiedName browseName, type value = default(type)) : base(parent, browseName)\n    {\n      Value = value;\n    }\n    /// <summary>\n    /// The value of the variable.\n    /// </summary>\n    public new type Value\n    {\n      get { return (type)base.Value; }\n      set { base.Value = value; }\n    }\n    /// <summary>\n    /// Gets the type of the value.\n    /// </summary>\n    /// <returns>Type.</returns>\n    protected override  UATypeInfo GetValueType()\n    {\n      return typeof(type).GetUATypeInfo();\n    }\n  }\n\n}"
  },
  {
    "path": "Networking/Simulator.Boiler/AddressSpace/SemanticDataSetSource.cs",
    "content": "﻿//___________________________________________________________________________________\n//\n//  Copyright (C) Year of Copyright, Mariusz Postol LODZ POLAND.\n//\n//  To be in touch join the community at GITTER: https://gitter.im/mpostol/OPC-UA-OOI\n//___________________________________________________________________________________\n\nusing System.Collections;\nusing System.Collections.Generic;\n\nnamespace UAOOI.Networking.Simulator.Boiler.AddressSpace\n{\n  /// <summary>\n  /// Class SemanticDataSetSource - captures the enumerator of a set of variables representing the semantic data source expressed as the root object of the <see cref=\"BaseInstanceState\"/> type.\n  /// Each data entity has to have the parent relationship to the root <see cref=\"BaseVariableState\"></see> instance.\n  /// </summary>\n  /// <seealso cref=\"ISemanticDataSetSource\" />\n  public class SemanticDataSetSource : ISemanticDataSetSource\n  {\n    #region constructor\n\n    /// <summary>\n    /// Initializes a new instance of the <see cref=\"SemanticDataSetSource\"/> class.\n    /// </summary>\n    /// <param name=\"parent\">The parent collecting all variables to be captured by this instance.</param>\n    /// <param name=\"rootBrowseName\">The name of the semantic data set source.</param>\n    public SemanticDataSetSource(BaseInstanceState parent)\n    {\n      SemanticDataSetRootBrowseName = parent.BrowseName.ToString();\n      List<BaseInstanceState> _myComponents = new List<BaseInstanceState>();\n      parent.GetChildren(_myComponents);\n      for (int ii = 0; ii < _myComponents.Count; ii++)\n      {\n        List<BaseInstanceState> _hasComponentPath = new List<BaseInstanceState>();\n        _myComponents[ii].RegisterVariable(_hasComponentPath, (x, y) => { if (x is IVariable) m_Variables.Add(string.Join(m_JoiningChar, y), (IVariable)x); });\n      }\n    }\n\n    #endregion constructor\n\n    #region ISemanticDataSetSource\n\n    public string SemanticDataSetRootBrowseName { get; private set; }\n    public IEnumerable<string> Keys => m_Variables.Keys;\n    public int Count => m_Variables.Count;\n    public IVariable this[string[] key] => m_Variables[string.Join(m_JoiningChar, key)];\n\n    /// <summary>\n    /// Determines whether this set contains key.\n    /// </summary>\n    /// <param name=\"key\">The key.</param>\n    /// <returns><c>true</c> if this set contains key; otherwise, <c>false</c>.</returns>\n    /// <exception cref=\"System.NotImplementedException\"></exception>\n    public bool ContainsKey(string key)\n    {\n      return m_Variables.ContainsKey(key);\n    }\n\n    /// <summary>\n    /// Returns an enumerator that iterates through the collection.\n    /// </summary>\n    /// <returns>An enumerator that can be used to iterate through the collection.</returns>\n    public IEnumerator<KeyValuePair<string, IVariable>> GetEnumerator()\n    {\n      return m_Variables.GetEnumerator();\n    }\n\n    /// <summary>\n    /// Returns an enumerator that iterates through a collection.\n    /// </summary>\n    /// <returns>An <see cref=\"T:System.Collections.IEnumerator\"></see> object that can be used to iterate through the collection.</returns>\n    IEnumerator IEnumerable.GetEnumerator()\n    {\n      return m_Variables.GetEnumerator();\n    }\n\n    #endregion ISemanticDataSetSource\n\n    //internal void CreateConfiguration\n    //  (XmlQualifiedName instanceType, string _associationName, XmlQualifiedName instanceSymbolicName, string fileName, Tuple<string, ushort, Guid> writerNameDataSetWriterIdPublisherId, ITraceSource _traceSource)\n    //{\n    //  List<FieldMetaData> _lf = new List<FieldMetaData>();\n    //  foreach (KeyValuePair<string, IVariable> _item in this)\n    //  {\n    //    if (_item.Value.ValueType.BuiltInType == BuiltInType.Null)\n    //      continue;\n    //    FieldMetaData _field = new FieldMetaData()\n    //    {\n    //      ProcessValueName = _item.Key,\n    //      SymbolicName = _item.Key,\n    //      TypeInformation = _item.Value.ValueType\n    //    };\n    //    _lf.Add(_field);\n    //  }\n    //  DataSetConfiguration _newDataSetConfiguration = new DataSetConfiguration()\n    //  {\n    //    AssociationName = _associationName,\n    //    AssociationRole = AssociationRole.Producer,\n    //    ConfigurationGuid = System.Guid.NewGuid(),\n    //    ConfigurationVersion = new ConfigurationVersionDataType() { MajorVersion = 1, MinorVersion = 0 },\n    //    Id = System.Guid.NewGuid(),\n    //    InformationModelURI = instanceSymbolicName.Namespace,\n    //    DataSet = _lf.ToArray(),\n    //    DataSymbolicName = _associationName,\n    //    MaxBufferTime = 1000,\n    //    PublishingInterval = 100,\n    //    RepositoryGroup = _associationName,\n    //    Root = new NodeDescriptor()\n    //    {\n    //      BindingDescription = \"Binding Description\",\n    //      DataType = instanceType,\n    //      InstanceDeclaration = false,\n    //      NodeClass = InstanceNodeClassesEnum.Object,\n    //      NodeIdentifier = instanceSymbolicName\n    //    }\n    //  };\n    //  ConfigurationManagement.AddDataSetConfiguration(_newDataSetConfiguration, writerNameDataSetWriterIdPublisherId, fileName, fileName, _traceSource);\n    //}\n\n    #region private\n\n    private const string m_JoiningChar = \"_\";\n    private Dictionary<string, IVariable> m_Variables = new Dictionary<string, IVariable>();\n\n    #endregion private\n  }\n}"
  },
  {
    "path": "Networking/Simulator.Boiler/ConfigurationDataConsumer.BoilersSet.xml",
    "content": "﻿<ConfigurationData xmlns:i=\"http://www.w3.org/2001/XMLSchema-instance\" xmlns=\"http://commsvr.com/UAOOI/SemanticData/UANetworking/Configuration/Serialization.xsd\">\n  <DataSets>\n    <DataSetConfiguration>\n      <AssociationRole>Consumer</AssociationRole>\n      <AssociationName>BoilersArea_Boiler #1</AssociationName>\n      <RepositoryGroup>BoilersArea_Boiler #1</RepositoryGroup>\n      <InformationModelURI>http://commsvr.com/UA/Examples/BoilersSet</InformationModelURI>\n      <DataSymbolicName>BoilersArea_Boiler #1</DataSymbolicName>\n      <DataSet>\n        <DataMemberConfiguration>\n          <SymbolicName>CCX001_ControlOut</SymbolicName>\n          <ProcessValueName>CCX001_ControlOut</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>Double</BuiltInType>\n            <TypeName i:nil=\"true\" />\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>CCX001_Input1</SymbolicName>\n          <ProcessValueName>CCX001_Input1</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>Double</BuiltInType>\n            <TypeName i:nil=\"true\" />\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>CCX001_Input2</SymbolicName>\n          <ProcessValueName>CCX001_Input2</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>Double</BuiltInType>\n            <TypeName i:nil=\"true\" />\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>CCX001_Input3</SymbolicName>\n          <ProcessValueName>CCX001_Input3</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>Double</BuiltInType>\n            <TypeName i:nil=\"true\" />\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>DrumX001_LIX001_Output</SymbolicName>\n          <ProcessValueName>DrumX001_LIX001_Output</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>Double</BuiltInType>\n            <TypeName i:nil=\"true\" />\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>FCX001_ControlOut</SymbolicName>\n          <ProcessValueName>FCX001_ControlOut</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>Double</BuiltInType>\n            <TypeName i:nil=\"true\" />\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>FCX001_Measurement</SymbolicName>\n          <ProcessValueName>FCX001_Measurement</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>Double</BuiltInType>\n            <TypeName i:nil=\"true\" />\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>FCX001_SetPoint</SymbolicName>\n          <ProcessValueName>FCX001_SetPoint</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>Double</BuiltInType>\n            <TypeName i:nil=\"true\" />\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>PipeX001_FTX001_Output</SymbolicName>\n          <ProcessValueName>PipeX001_FTX001_Output</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>Double</BuiltInType>\n            <TypeName i:nil=\"true\" />\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>PipeX001_ValveX001_Input</SymbolicName>\n          <ProcessValueName>PipeX001_ValveX001_Input</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>Double</BuiltInType>\n            <TypeName i:nil=\"true\" />\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>LCX001_ControlOut</SymbolicName>\n          <ProcessValueName>LCX001_ControlOut</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>Double</BuiltInType>\n            <TypeName i:nil=\"true\" />\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>LCX001_Measurement</SymbolicName>\n          <ProcessValueName>LCX001_Measurement</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>Double</BuiltInType>\n            <TypeName i:nil=\"true\" />\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>LCX001_SetPoint</SymbolicName>\n          <ProcessValueName>LCX001_SetPoint</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>Double</BuiltInType>\n            <TypeName i:nil=\"true\" />\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>PipeX002_FTX002_Output</SymbolicName>\n          <ProcessValueName>PipeX002_FTX002_Output</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>Double</BuiltInType>\n            <TypeName i:nil=\"true\" />\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>Simulation_UpdateRate</SymbolicName>\n          <ProcessValueName>Simulation_UpdateRate</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>UInt32</BuiltInType>\n            <TypeName i:nil=\"true\" />\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n      </DataSet>\n      <Guid>e669df1f-3670-4dd4-9ef6-acb0975bf4f8</Guid>\n      <Root>\n        <BindingDescription>Binding Description</BindingDescription>\n        <q:DataType xmlns:d5p1=\"http://tempuri.org/UA/Examples/BoilerType\" xmlns:q=\"http://commsvr.com/UAOOI/SemanticData/UANetworking/Configuration/Serialization.xsd\">d5p1:BoilerType</q:DataType>\n        <q:NodeIdentifier xmlns:d5p1=\"http://commsvr.com/UA/Examples/BoilersSet\" xmlns:q=\"http://commsvr.com/UAOOI/SemanticData/UANetworking/Configuration/Serialization.xsd\">d5p1:BoilersArea_BoilerAlpha</q:NodeIdentifier>\n      </Root>\n      <PublishingInterval>100</PublishingInterval>\n      <MaxBufferTime>1000</MaxBufferTime>\n      <ConfigurationGuid>ec1d3d5b-c988-45da-9b6e-8d7f7d5c6089</ConfigurationGuid>\n      <ConfigurationVersion>\n        <MajorVersion>1</MajorVersion>\n        <MinorVersion>0</MinorVersion>\n      </ConfigurationVersion>\n    </DataSetConfiguration>\n    <DataSetConfiguration>\n      <AssociationRole>Consumer</AssociationRole>\n      <AssociationName>BoilersArea_Boiler #2</AssociationName>\n      <RepositoryGroup>BoilersArea_Boiler #2</RepositoryGroup>\n      <InformationModelURI>http://commsvr.com/UA/Examples/BoilersSet</InformationModelURI>\n      <DataSymbolicName>BoilersArea_Boiler #2</DataSymbolicName>\n      <DataSet>\n        <DataMemberConfiguration>\n          <SymbolicName>CCX001_ControlOut</SymbolicName>\n          <ProcessValueName>CCX001_ControlOut</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>Double</BuiltInType>\n            <TypeName i:nil=\"true\" />\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>CCX001_Input1</SymbolicName>\n          <ProcessValueName>CCX001_Input1</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>Double</BuiltInType>\n            <TypeName i:nil=\"true\" />\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>CCX001_Input2</SymbolicName>\n          <ProcessValueName>CCX001_Input2</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>Double</BuiltInType>\n            <TypeName i:nil=\"true\" />\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>CCX001_Input3</SymbolicName>\n          <ProcessValueName>CCX001_Input3</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>Double</BuiltInType>\n            <TypeName i:nil=\"true\" />\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>DrumX001_LIX001_Output</SymbolicName>\n          <ProcessValueName>DrumX001_LIX001_Output</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>Double</BuiltInType>\n            <TypeName i:nil=\"true\" />\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>FCX001_ControlOut</SymbolicName>\n          <ProcessValueName>FCX001_ControlOut</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>Double</BuiltInType>\n            <TypeName i:nil=\"true\" />\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>FCX001_Measurement</SymbolicName>\n          <ProcessValueName>FCX001_Measurement</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>Double</BuiltInType>\n            <TypeName i:nil=\"true\" />\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>FCX001_SetPoint</SymbolicName>\n          <ProcessValueName>FCX001_SetPoint</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>Double</BuiltInType>\n            <TypeName i:nil=\"true\" />\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>PipeX001_FTX001_Output</SymbolicName>\n          <ProcessValueName>PipeX001_FTX001_Output</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>Double</BuiltInType>\n            <TypeName i:nil=\"true\" />\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>PipeX001_ValveX001_Input</SymbolicName>\n          <ProcessValueName>PipeX001_ValveX001_Input</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>Double</BuiltInType>\n            <TypeName i:nil=\"true\" />\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>LCX001_ControlOut</SymbolicName>\n          <ProcessValueName>LCX001_ControlOut</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>Double</BuiltInType>\n            <TypeName i:nil=\"true\" />\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>LCX001_Measurement</SymbolicName>\n          <ProcessValueName>LCX001_Measurement</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>Double</BuiltInType>\n            <TypeName i:nil=\"true\" />\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>LCX001_SetPoint</SymbolicName>\n          <ProcessValueName>LCX001_SetPoint</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>Double</BuiltInType>\n            <TypeName i:nil=\"true\" />\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>PipeX002_FTX002_Output</SymbolicName>\n          <ProcessValueName>PipeX002_FTX002_Output</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>Double</BuiltInType>\n            <TypeName i:nil=\"true\" />\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>Simulation_UpdateRate</SymbolicName>\n          <ProcessValueName>Simulation_UpdateRate</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>UInt32</BuiltInType>\n            <TypeName i:nil=\"true\" />\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n      </DataSet>\n      <Guid>1f5c2bba-b5a7-44d2-93fe-b8736470ee54</Guid>\n      <Root>\n        <BindingDescription>Binding Description</BindingDescription>\n        <q:DataType xmlns:d5p1=\"http://tempuri.org/UA/Examples/BoilerType\" xmlns:q=\"http://commsvr.com/UAOOI/SemanticData/UANetworking/Configuration/Serialization.xsd\">d5p1:BoilerType</q:DataType>\n        <q:NodeIdentifier xmlns:d5p1=\"http://commsvr.com/UA/Examples/BoilersSet\" xmlns:q=\"http://commsvr.com/UAOOI/SemanticData/UANetworking/Configuration/Serialization.xsd\">d5p1:BoilersArea_BoilerBravo</q:NodeIdentifier>\n      </Root>\n      <PublishingInterval>100</PublishingInterval>\n      <MaxBufferTime>1000</MaxBufferTime>\n      <ConfigurationGuid>33b3a9b8-595c-4dd6-8915-489cd6057b5b</ConfigurationGuid>\n      <ConfigurationVersion>\n        <MajorVersion>1</MajorVersion>\n        <MinorVersion>0</MinorVersion>\n      </ConfigurationVersion>\n    </DataSetConfiguration>\n    <DataSetConfiguration>\n      <AssociationRole>Consumer</AssociationRole>\n      <AssociationName>BoilersArea_Boiler #3</AssociationName>\n      <RepositoryGroup>BoilersArea_Boiler #3</RepositoryGroup>\n      <InformationModelURI>http://commsvr.com/UA/Examples/BoilersSet</InformationModelURI>\n      <DataSymbolicName>BoilersArea_Boiler #3</DataSymbolicName>\n      <DataSet>\n        <DataMemberConfiguration>\n          <SymbolicName>CCX001_ControlOut</SymbolicName>\n          <ProcessValueName>CCX001_ControlOut</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>Double</BuiltInType>\n            <TypeName i:nil=\"true\" />\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>CCX001_Input1</SymbolicName>\n          <ProcessValueName>CCX001_Input1</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>Double</BuiltInType>\n            <TypeName i:nil=\"true\" />\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>CCX001_Input2</SymbolicName>\n          <ProcessValueName>CCX001_Input2</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>Double</BuiltInType>\n            <TypeName i:nil=\"true\" />\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>CCX001_Input3</SymbolicName>\n          <ProcessValueName>CCX001_Input3</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>Double</BuiltInType>\n            <TypeName i:nil=\"true\" />\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>DrumX001_LIX001_Output</SymbolicName>\n          <ProcessValueName>DrumX001_LIX001_Output</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>Double</BuiltInType>\n            <TypeName i:nil=\"true\" />\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>FCX001_ControlOut</SymbolicName>\n          <ProcessValueName>FCX001_ControlOut</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>Double</BuiltInType>\n            <TypeName i:nil=\"true\" />\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>FCX001_Measurement</SymbolicName>\n          <ProcessValueName>FCX001_Measurement</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>Double</BuiltInType>\n            <TypeName i:nil=\"true\" />\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>FCX001_SetPoint</SymbolicName>\n          <ProcessValueName>FCX001_SetPoint</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>Double</BuiltInType>\n            <TypeName i:nil=\"true\" />\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>PipeX001_FTX001_Output</SymbolicName>\n          <ProcessValueName>PipeX001_FTX001_Output</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>Double</BuiltInType>\n            <TypeName i:nil=\"true\" />\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>PipeX001_ValveX001_Input</SymbolicName>\n          <ProcessValueName>PipeX001_ValveX001_Input</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>Double</BuiltInType>\n            <TypeName i:nil=\"true\" />\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>LCX001_ControlOut</SymbolicName>\n          <ProcessValueName>LCX001_ControlOut</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>Double</BuiltInType>\n            <TypeName i:nil=\"true\" />\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>LCX001_Measurement</SymbolicName>\n          <ProcessValueName>LCX001_Measurement</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>Double</BuiltInType>\n            <TypeName i:nil=\"true\" />\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>LCX001_SetPoint</SymbolicName>\n          <ProcessValueName>LCX001_SetPoint</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>Double</BuiltInType>\n            <TypeName i:nil=\"true\" />\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>PipeX002_FTX002_Output</SymbolicName>\n          <ProcessValueName>PipeX002_FTX002_Output</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>Double</BuiltInType>\n            <TypeName i:nil=\"true\" />\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>Simulation_UpdateRate</SymbolicName>\n          <ProcessValueName>Simulation_UpdateRate</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>UInt32</BuiltInType>\n            <TypeName i:nil=\"true\" />\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n      </DataSet>\n      <Guid>096d553e-c1da-4ca4-9fcc-9d524fa3ca20</Guid>\n      <Root>\n        <BindingDescription>Binding Description</BindingDescription>\n        <q:DataType xmlns:d5p1=\"http://tempuri.org/UA/Examples/BoilerType\" xmlns:q=\"http://commsvr.com/UAOOI/SemanticData/UANetworking/Configuration/Serialization.xsd\">d5p1:BoilerType</q:DataType>\n        <q:NodeIdentifier xmlns:d5p1=\"http://commsvr.com/UA/Examples/BoilersSet\" xmlns:q=\"http://commsvr.com/UAOOI/SemanticData/UANetworking/Configuration/Serialization.xsd\">d5p1:BoilersArea_BoilerBravo</q:NodeIdentifier>\n      </Root>\n      <PublishingInterval>100</PublishingInterval>\n      <MaxBufferTime>1000</MaxBufferTime>\n      <ConfigurationGuid>ef63fda7-bb4a-400d-a5e9-517fae8e4ff6</ConfigurationGuid>\n      <ConfigurationVersion>\n        <MajorVersion>1</MajorVersion>\n        <MinorVersion>0</MinorVersion>\n      </ConfigurationVersion>\n    </DataSetConfiguration>\n    <DataSetConfiguration>\n      <AssociationRole>Consumer</AssociationRole>\n      <AssociationName>BoilersArea_Boiler #4</AssociationName>\n      <RepositoryGroup>BoilersArea_Boiler #4</RepositoryGroup>\n      <InformationModelURI>http://commsvr.com/UA/Examples/BoilersSet</InformationModelURI>\n      <DataSymbolicName>BoilersArea_Boiler #4</DataSymbolicName>\n      <DataSet>\n        <DataMemberConfiguration>\n          <SymbolicName>CCX001_ControlOut</SymbolicName>\n          <ProcessValueName>CCX001_ControlOut</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>Double</BuiltInType>\n            <TypeName i:nil=\"true\" />\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>CCX001_Input1</SymbolicName>\n          <ProcessValueName>CCX001_Input1</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>Double</BuiltInType>\n            <TypeName i:nil=\"true\" />\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>CCX001_Input2</SymbolicName>\n          <ProcessValueName>CCX001_Input2</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>Double</BuiltInType>\n            <TypeName i:nil=\"true\" />\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>CCX001_Input3</SymbolicName>\n          <ProcessValueName>CCX001_Input3</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>Double</BuiltInType>\n            <TypeName i:nil=\"true\" />\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>DrumX001_LIX001_Output</SymbolicName>\n          <ProcessValueName>DrumX001_LIX001_Output</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>Double</BuiltInType>\n            <TypeName i:nil=\"true\" />\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>FCX001_ControlOut</SymbolicName>\n          <ProcessValueName>FCX001_ControlOut</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>Double</BuiltInType>\n            <TypeName i:nil=\"true\" />\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>FCX001_Measurement</SymbolicName>\n          <ProcessValueName>FCX001_Measurement</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>Double</BuiltInType>\n            <TypeName i:nil=\"true\" />\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>FCX001_SetPoint</SymbolicName>\n          <ProcessValueName>FCX001_SetPoint</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>Double</BuiltInType>\n            <TypeName i:nil=\"true\" />\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>PipeX001_FTX001_Output</SymbolicName>\n          <ProcessValueName>PipeX001_FTX001_Output</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>Double</BuiltInType>\n            <TypeName i:nil=\"true\" />\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>PipeX001_ValveX001_Input</SymbolicName>\n          <ProcessValueName>PipeX001_ValveX001_Input</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>Double</BuiltInType>\n            <TypeName i:nil=\"true\" />\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>LCX001_ControlOut</SymbolicName>\n          <ProcessValueName>LCX001_ControlOut</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>Double</BuiltInType>\n            <TypeName i:nil=\"true\" />\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>LCX001_Measurement</SymbolicName>\n          <ProcessValueName>LCX001_Measurement</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>Double</BuiltInType>\n            <TypeName i:nil=\"true\" />\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>LCX001_SetPoint</SymbolicName>\n          <ProcessValueName>LCX001_SetPoint</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>Double</BuiltInType>\n            <TypeName i:nil=\"true\" />\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>PipeX002_FTX002_Output</SymbolicName>\n          <ProcessValueName>PipeX002_FTX002_Output</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>Double</BuiltInType>\n            <TypeName i:nil=\"true\" />\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>Simulation_UpdateRate</SymbolicName>\n          <ProcessValueName>Simulation_UpdateRate</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>UInt32</BuiltInType>\n            <TypeName i:nil=\"true\" />\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n      </DataSet>\n      <Guid>78e83ea4-aa0c-43e3-9449-3f2f195f2844</Guid>\n      <Root>\n        <BindingDescription>Binding Description</BindingDescription>\n        <q:DataType xmlns:d5p1=\"http://tempuri.org/UA/Examples/BoilerType\" xmlns:q=\"http://commsvr.com/UAOOI/SemanticData/UANetworking/Configuration/Serialization.xsd\">d5p1:BoilerType</q:DataType>\n        <q:NodeIdentifier xmlns:d5p1=\"http://commsvr.com/UA/Examples/BoilersSet\" xmlns:q=\"http://commsvr.com/UAOOI/SemanticData/UANetworking/Configuration/Serialization.xsd\">d5p1:BoilersArea_BoilerBravo</q:NodeIdentifier>\n      </Root>\n      <PublishingInterval>100</PublishingInterval>\n      <MaxBufferTime>1000</MaxBufferTime>\n      <ConfigurationGuid>3b3273c2-c5bc-468d-9c6b-97c6e2a5042d</ConfigurationGuid>\n      <ConfigurationVersion>\n        <MajorVersion>1</MajorVersion>\n        <MinorVersion>0</MinorVersion>\n      </ConfigurationVersion>\n    </DataSetConfiguration>\n  </DataSets>\n  <MessageHandlers>\n    <MessageHandlerConfiguration i:type=\"MessageReaderConfiguration\">\n      <Name>UDP</Name>\n      <Configuration>\n        <ChannelConfiguration>4840,False,127.0.0.1,True</ChannelConfiguration>\n      </Configuration>\n      <TransportRole>Consumer</TransportRole>\n      <ConsumerAssociationConfigurations>\n        <ConsumerAssociationConfiguration>\n          <AssociationName>BoilersArea_Boiler #1</AssociationName>\n          <DataSetWriterId>100</DataSetWriterId>\n          <PublisherId>d80d81dd-96e6-4560-850e-154f9181307c</PublisherId>\n        </ConsumerAssociationConfiguration>\n        <ConsumerAssociationConfiguration>\n          <AssociationName>BoilersArea_Boiler #2</AssociationName>\n          <DataSetWriterId>1202</DataSetWriterId>\n          <PublisherId>d80d81dd-96e6-4560-850e-154f9181307c</PublisherId>\n        </ConsumerAssociationConfiguration>\n        <ConsumerAssociationConfiguration>\n          <AssociationName>BoilersArea_Boiler #3</AssociationName>\n          <DataSetWriterId>130</DataSetWriterId>\n          <PublisherId>d80d81dd-96e6-4560-850e-154f9181307c</PublisherId>\n        </ConsumerAssociationConfiguration>\n        <ConsumerAssociationConfiguration>\n          <AssociationName>BoilersArea_Boiler #4</AssociationName>\n          <DataSetWriterId>140</DataSetWriterId>\n          <PublisherId>d80d81dd-96e6-4560-850e-154f9181307c</PublisherId>\n          <FieldEncoding>VariantFieldEncoding</FieldEncoding>\n        </ConsumerAssociationConfiguration>\n      </ConsumerAssociationConfigurations>\n    </MessageHandlerConfiguration>\n  </MessageHandlers>\n</ConfigurationData>"
  },
  {
    "path": "Networking/Simulator.Boiler/ConfigurationDataProducer.BoilersSet.xml",
    "content": "﻿<ConfigurationData xmlns:i=\"http://www.w3.org/2001/XMLSchema-instance\" xmlns=\"http://commsvr.com/UAOOI/SemanticData/UANetworking/Configuration/Serialization.xsd\">\n  <DataSets>\n    <DataSetConfiguration>\n      <AssociationRole>Producer</AssociationRole>\n      <AssociationName>BoilersArea_Boiler #1</AssociationName>\n      <RepositoryGroup>BoilersArea_Boiler #1</RepositoryGroup>\n      <InformationModelURI>http://commsvr.com/UA/Examples/BoilersSet</InformationModelURI>\n      <DataSymbolicName>BoilersArea_Boiler #1</DataSymbolicName>\n      <DataSet>\n        <DataMemberConfiguration>\n          <SymbolicName>CCX001_ControlOut</SymbolicName>\n          <ProcessValueName>CCX001_ControlOut</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>Double</BuiltInType>\n            <TypeName i:nil=\"true\" />\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>CCX001_Input1</SymbolicName>\n          <ProcessValueName>CCX001_Input1</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>Double</BuiltInType>\n            <TypeName i:nil=\"true\" />\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>CCX001_Input2</SymbolicName>\n          <ProcessValueName>CCX001_Input2</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>Double</BuiltInType>\n            <TypeName i:nil=\"true\" />\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>CCX001_Input3</SymbolicName>\n          <ProcessValueName>CCX001_Input3</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>Double</BuiltInType>\n            <TypeName i:nil=\"true\" />\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>DrumX001_LIX001_Output</SymbolicName>\n          <ProcessValueName>DrumX001_LIX001_Output</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>Double</BuiltInType>\n            <TypeName i:nil=\"true\" />\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>FCX001_ControlOut</SymbolicName>\n          <ProcessValueName>FCX001_ControlOut</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>Double</BuiltInType>\n            <TypeName i:nil=\"true\" />\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>FCX001_Measurement</SymbolicName>\n          <ProcessValueName>FCX001_Measurement</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>Double</BuiltInType>\n            <TypeName i:nil=\"true\" />\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>FCX001_SetPoint</SymbolicName>\n          <ProcessValueName>FCX001_SetPoint</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>Double</BuiltInType>\n            <TypeName i:nil=\"true\" />\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>PipeX001_FTX001_Output</SymbolicName>\n          <ProcessValueName>PipeX001_FTX001_Output</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>Double</BuiltInType>\n            <TypeName i:nil=\"true\" />\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>PipeX001_ValveX001_Input</SymbolicName>\n          <ProcessValueName>PipeX001_ValveX001_Input</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>Double</BuiltInType>\n            <TypeName i:nil=\"true\" />\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>LCX001_ControlOut</SymbolicName>\n          <ProcessValueName>LCX001_ControlOut</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>Double</BuiltInType>\n            <TypeName i:nil=\"true\" />\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>LCX001_Measurement</SymbolicName>\n          <ProcessValueName>LCX001_Measurement</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>Double</BuiltInType>\n            <TypeName i:nil=\"true\" />\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>LCX001_SetPoint</SymbolicName>\n          <ProcessValueName>LCX001_SetPoint</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>Double</BuiltInType>\n            <TypeName i:nil=\"true\" />\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>PipeX002_FTX002_Output</SymbolicName>\n          <ProcessValueName>PipeX002_FTX002_Output</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>Double</BuiltInType>\n            <TypeName i:nil=\"true\" />\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>Simulation_UpdateRate</SymbolicName>\n          <ProcessValueName>Simulation_UpdateRate</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>UInt32</BuiltInType>\n            <TypeName i:nil=\"true\" />\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n      </DataSet>\n      <Guid>e669df1f-3670-4dd4-9ef6-acb0975bf4f8</Guid>\n      <Root>\n        <BindingDescription>Binding Description</BindingDescription>\n        <q:DataType xmlns:d5p1=\"http://tempuri.org/UA/Examples/BoilerType\" xmlns:q=\"http://commsvr.com/UAOOI/SemanticData/UANetworking/Configuration/Serialization.xsd\">d5p1:BoilerType</q:DataType>\n        <q:NodeIdentifier xmlns:d5p1=\"http://commsvr.com/UA/Examples/BoilersSet\" xmlns:q=\"http://commsvr.com/UAOOI/SemanticData/UANetworking/Configuration/Serialization.xsd\">d5p1:BoilersArea_BoilerAlpha</q:NodeIdentifier>\n      </Root>\n      <PublishingInterval>100</PublishingInterval>\n      <MaxBufferTime>1000</MaxBufferTime>\n      <ConfigurationGuid>ec1d3d5b-c988-45da-9b6e-8d7f7d5c6089</ConfigurationGuid>\n      <ConfigurationVersion>\n        <MajorVersion>1</MajorVersion>\n        <MinorVersion>0</MinorVersion>\n      </ConfigurationVersion>\n    </DataSetConfiguration>\n    <DataSetConfiguration>\n      <AssociationRole>Producer</AssociationRole>\n      <AssociationName>BoilersArea_Boiler #2</AssociationName>\n      <RepositoryGroup>BoilersArea_Boiler #2</RepositoryGroup>\n      <InformationModelURI>http://commsvr.com/UA/Examples/BoilersSet</InformationModelURI>\n      <DataSymbolicName>BoilersArea_Boiler #2</DataSymbolicName>\n      <DataSet>\n        <DataMemberConfiguration>\n          <SymbolicName>CCX001_ControlOut</SymbolicName>\n          <ProcessValueName>CCX001_ControlOut</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>Double</BuiltInType>\n            <TypeName i:nil=\"true\" />\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>CCX001_Input1</SymbolicName>\n          <ProcessValueName>CCX001_Input1</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>Double</BuiltInType>\n            <TypeName i:nil=\"true\" />\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>CCX001_Input2</SymbolicName>\n          <ProcessValueName>CCX001_Input2</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>Double</BuiltInType>\n            <TypeName i:nil=\"true\" />\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>CCX001_Input3</SymbolicName>\n          <ProcessValueName>CCX001_Input3</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>Double</BuiltInType>\n            <TypeName i:nil=\"true\" />\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>DrumX001_LIX001_Output</SymbolicName>\n          <ProcessValueName>DrumX001_LIX001_Output</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>Double</BuiltInType>\n            <TypeName i:nil=\"true\" />\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>FCX001_ControlOut</SymbolicName>\n          <ProcessValueName>FCX001_ControlOut</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>Double</BuiltInType>\n            <TypeName i:nil=\"true\" />\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>FCX001_Measurement</SymbolicName>\n          <ProcessValueName>FCX001_Measurement</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>Double</BuiltInType>\n            <TypeName i:nil=\"true\" />\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>FCX001_SetPoint</SymbolicName>\n          <ProcessValueName>FCX001_SetPoint</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>Double</BuiltInType>\n            <TypeName i:nil=\"true\" />\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>PipeX001_FTX001_Output</SymbolicName>\n          <ProcessValueName>PipeX001_FTX001_Output</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>Double</BuiltInType>\n            <TypeName i:nil=\"true\" />\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>PipeX001_ValveX001_Input</SymbolicName>\n          <ProcessValueName>PipeX001_ValveX001_Input</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>Double</BuiltInType>\n            <TypeName i:nil=\"true\" />\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>LCX001_ControlOut</SymbolicName>\n          <ProcessValueName>LCX001_ControlOut</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>Double</BuiltInType>\n            <TypeName i:nil=\"true\" />\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>LCX001_Measurement</SymbolicName>\n          <ProcessValueName>LCX001_Measurement</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>Double</BuiltInType>\n            <TypeName i:nil=\"true\" />\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>LCX001_SetPoint</SymbolicName>\n          <ProcessValueName>LCX001_SetPoint</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>Double</BuiltInType>\n            <TypeName i:nil=\"true\" />\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>PipeX002_FTX002_Output</SymbolicName>\n          <ProcessValueName>PipeX002_FTX002_Output</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>Double</BuiltInType>\n            <TypeName i:nil=\"true\" />\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>Simulation_UpdateRate</SymbolicName>\n          <ProcessValueName>Simulation_UpdateRate</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>UInt32</BuiltInType>\n            <TypeName i:nil=\"true\" />\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n      </DataSet>\n      <Guid>1f5c2bba-b5a7-44d2-93fe-b8736470ee54</Guid>\n      <Root>\n        <BindingDescription>Binding Description</BindingDescription>\n        <q:DataType xmlns:d5p1=\"http://tempuri.org/UA/Examples/BoilerType\" xmlns:q=\"http://commsvr.com/UAOOI/SemanticData/UANetworking/Configuration/Serialization.xsd\">d5p1:BoilerType</q:DataType>\n        <q:NodeIdentifier xmlns:d5p1=\"http://commsvr.com/UA/Examples/BoilersSet\" xmlns:q=\"http://commsvr.com/UAOOI/SemanticData/UANetworking/Configuration/Serialization.xsd\">d5p1:BoilersArea_BoilerBravo</q:NodeIdentifier>\n      </Root>\n      <PublishingInterval>100</PublishingInterval>\n      <MaxBufferTime>1000</MaxBufferTime>\n      <ConfigurationGuid>33b3a9b8-595c-4dd6-8915-489cd6057b5b</ConfigurationGuid>\n      <ConfigurationVersion>\n        <MajorVersion>1</MajorVersion>\n        <MinorVersion>0</MinorVersion>\n      </ConfigurationVersion>\n    </DataSetConfiguration>\n    <DataSetConfiguration>\n      <AssociationRole>Producer</AssociationRole>\n      <AssociationName>BoilersArea_Boiler #3</AssociationName>\n      <RepositoryGroup>BoilersArea_Boiler #3</RepositoryGroup>\n      <InformationModelURI>http://commsvr.com/UA/Examples/BoilersSet</InformationModelURI>\n      <DataSymbolicName>BoilersArea_Boiler #3</DataSymbolicName>\n      <DataSet>\n        <DataMemberConfiguration>\n          <SymbolicName>CCX001_ControlOut</SymbolicName>\n          <ProcessValueName>CCX001_ControlOut</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>Double</BuiltInType>\n            <TypeName i:nil=\"true\" />\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>CCX001_Input1</SymbolicName>\n          <ProcessValueName>CCX001_Input1</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>Double</BuiltInType>\n            <TypeName i:nil=\"true\" />\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>CCX001_Input2</SymbolicName>\n          <ProcessValueName>CCX001_Input2</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>Double</BuiltInType>\n            <TypeName i:nil=\"true\" />\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>CCX001_Input3</SymbolicName>\n          <ProcessValueName>CCX001_Input3</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>Double</BuiltInType>\n            <TypeName i:nil=\"true\" />\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>DrumX001_LIX001_Output</SymbolicName>\n          <ProcessValueName>DrumX001_LIX001_Output</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>Double</BuiltInType>\n            <TypeName i:nil=\"true\" />\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>FCX001_ControlOut</SymbolicName>\n          <ProcessValueName>FCX001_ControlOut</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>Double</BuiltInType>\n            <TypeName i:nil=\"true\" />\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>FCX001_Measurement</SymbolicName>\n          <ProcessValueName>FCX001_Measurement</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>Double</BuiltInType>\n            <TypeName i:nil=\"true\" />\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>FCX001_SetPoint</SymbolicName>\n          <ProcessValueName>FCX001_SetPoint</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>Double</BuiltInType>\n            <TypeName i:nil=\"true\" />\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>PipeX001_FTX001_Output</SymbolicName>\n          <ProcessValueName>PipeX001_FTX001_Output</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>Double</BuiltInType>\n            <TypeName i:nil=\"true\" />\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>PipeX001_ValveX001_Input</SymbolicName>\n          <ProcessValueName>PipeX001_ValveX001_Input</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>Double</BuiltInType>\n            <TypeName i:nil=\"true\" />\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>LCX001_ControlOut</SymbolicName>\n          <ProcessValueName>LCX001_ControlOut</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>Double</BuiltInType>\n            <TypeName i:nil=\"true\" />\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>LCX001_Measurement</SymbolicName>\n          <ProcessValueName>LCX001_Measurement</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>Double</BuiltInType>\n            <TypeName i:nil=\"true\" />\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>LCX001_SetPoint</SymbolicName>\n          <ProcessValueName>LCX001_SetPoint</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>Double</BuiltInType>\n            <TypeName i:nil=\"true\" />\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>PipeX002_FTX002_Output</SymbolicName>\n          <ProcessValueName>PipeX002_FTX002_Output</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>Double</BuiltInType>\n            <TypeName i:nil=\"true\" />\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>Simulation_UpdateRate</SymbolicName>\n          <ProcessValueName>Simulation_UpdateRate</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>UInt32</BuiltInType>\n            <TypeName i:nil=\"true\" />\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n      </DataSet>\n      <Guid>096d553e-c1da-4ca4-9fcc-9d524fa3ca20</Guid>\n      <Root>\n        <BindingDescription>Binding Description</BindingDescription>\n        <q:DataType xmlns:d5p1=\"http://tempuri.org/UA/Examples/BoilerType\" xmlns:q=\"http://commsvr.com/UAOOI/SemanticData/UANetworking/Configuration/Serialization.xsd\">d5p1:BoilerType</q:DataType>\n        <q:NodeIdentifier xmlns:d5p1=\"http://commsvr.com/UA/Examples/BoilersSet\" xmlns:q=\"http://commsvr.com/UAOOI/SemanticData/UANetworking/Configuration/Serialization.xsd\">d5p1:BoilersArea_BoilerBravo</q:NodeIdentifier>\n      </Root>\n      <PublishingInterval>100</PublishingInterval>\n      <MaxBufferTime>1000</MaxBufferTime>\n      <ConfigurationGuid>ef63fda7-bb4a-400d-a5e9-517fae8e4ff6</ConfigurationGuid>\n      <ConfigurationVersion>\n        <MajorVersion>1</MajorVersion>\n        <MinorVersion>0</MinorVersion>\n      </ConfigurationVersion>\n    </DataSetConfiguration>\n    <DataSetConfiguration>\n      <AssociationRole>Producer</AssociationRole>\n      <AssociationName>BoilersArea_Boiler #4</AssociationName>\n      <RepositoryGroup>BoilersArea_Boiler #4</RepositoryGroup>\n      <InformationModelURI>http://commsvr.com/UA/Examples/BoilersSet</InformationModelURI>\n      <DataSymbolicName>BoilersArea_Boiler #4</DataSymbolicName>\n      <DataSet>\n        <DataMemberConfiguration>\n          <SymbolicName>CCX001_ControlOut</SymbolicName>\n          <ProcessValueName>CCX001_ControlOut</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>Double</BuiltInType>\n            <TypeName i:nil=\"true\" />\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>CCX001_Input1</SymbolicName>\n          <ProcessValueName>CCX001_Input1</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>Double</BuiltInType>\n            <TypeName i:nil=\"true\" />\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>CCX001_Input2</SymbolicName>\n          <ProcessValueName>CCX001_Input2</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>Double</BuiltInType>\n            <TypeName i:nil=\"true\" />\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>CCX001_Input3</SymbolicName>\n          <ProcessValueName>CCX001_Input3</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>Double</BuiltInType>\n            <TypeName i:nil=\"true\" />\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>DrumX001_LIX001_Output</SymbolicName>\n          <ProcessValueName>DrumX001_LIX001_Output</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>Double</BuiltInType>\n            <TypeName i:nil=\"true\" />\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>FCX001_ControlOut</SymbolicName>\n          <ProcessValueName>FCX001_ControlOut</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>Double</BuiltInType>\n            <TypeName i:nil=\"true\" />\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>FCX001_Measurement</SymbolicName>\n          <ProcessValueName>FCX001_Measurement</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>Double</BuiltInType>\n            <TypeName i:nil=\"true\" />\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>FCX001_SetPoint</SymbolicName>\n          <ProcessValueName>FCX001_SetPoint</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>Double</BuiltInType>\n            <TypeName i:nil=\"true\" />\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>PipeX001_FTX001_Output</SymbolicName>\n          <ProcessValueName>PipeX001_FTX001_Output</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>Double</BuiltInType>\n            <TypeName i:nil=\"true\" />\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>PipeX001_ValveX001_Input</SymbolicName>\n          <ProcessValueName>PipeX001_ValveX001_Input</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>Double</BuiltInType>\n            <TypeName i:nil=\"true\" />\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>LCX001_ControlOut</SymbolicName>\n          <ProcessValueName>LCX001_ControlOut</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>Double</BuiltInType>\n            <TypeName i:nil=\"true\" />\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>LCX001_Measurement</SymbolicName>\n          <ProcessValueName>LCX001_Measurement</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>Double</BuiltInType>\n            <TypeName i:nil=\"true\" />\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>LCX001_SetPoint</SymbolicName>\n          <ProcessValueName>LCX001_SetPoint</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>Double</BuiltInType>\n            <TypeName i:nil=\"true\" />\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>PipeX002_FTX002_Output</SymbolicName>\n          <ProcessValueName>PipeX002_FTX002_Output</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>Double</BuiltInType>\n            <TypeName i:nil=\"true\" />\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>Simulation_UpdateRate</SymbolicName>\n          <ProcessValueName>Simulation_UpdateRate</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>UInt32</BuiltInType>\n            <TypeName i:nil=\"true\" />\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n      </DataSet>\n      <Guid>78e83ea4-aa0c-43e3-9449-3f2f195f2844</Guid>\n      <Root>\n        <BindingDescription>Binding Description</BindingDescription>\n        <q:DataType xmlns:d5p1=\"http://tempuri.org/UA/Examples/BoilerType\" xmlns:q=\"http://commsvr.com/UAOOI/SemanticData/UANetworking/Configuration/Serialization.xsd\">d5p1:BoilerType</q:DataType>\n        <q:NodeIdentifier xmlns:d5p1=\"http://commsvr.com/UA/Examples/BoilersSet\" xmlns:q=\"http://commsvr.com/UAOOI/SemanticData/UANetworking/Configuration/Serialization.xsd\">d5p1:BoilersArea_BoilerBravo</q:NodeIdentifier>\n      </Root>\n      <PublishingInterval>100</PublishingInterval>\n      <MaxBufferTime>1000</MaxBufferTime>\n      <ConfigurationGuid>3b3273c2-c5bc-468d-9c6b-97c6e2a5042d</ConfigurationGuid>\n      <ConfigurationVersion>\n        <MajorVersion>1</MajorVersion>\n        <MinorVersion>0</MinorVersion>\n      </ConfigurationVersion>\n    </DataSetConfiguration>\n  </DataSets>\n  <MessageHandlers>\n    <MessageHandlerConfiguration i:type=\"MessageWriterConfiguration\">\n      <Name>UDP</Name>\n      <Configuration>\n        <ChannelConfiguration>4840,localhost</ChannelConfiguration>\n      </Configuration>\n      <TransportRole>Producer</TransportRole>\n      <ProducerAssociationConfigurations>\n        <ProducerAssociationConfiguration>\n          <AssociationName>BoilersArea_Boiler #1</AssociationName>\n          <DataSetWriterId>100</DataSetWriterId>\n          <PublisherId>d80d81dd-96e6-4560-850e-154f9181307c</PublisherId>\n          <FieldEncoding>VariantFieldEncoding</FieldEncoding>\n        </ProducerAssociationConfiguration>\n        <ProducerAssociationConfiguration>\n          <AssociationName>BoilersArea_Boiler #2</AssociationName>\n          <DataSetWriterId>1202</DataSetWriterId>\n          <PublisherId>d80d81dd-96e6-4560-850e-154f9181307c</PublisherId>\n          <FieldEncoding>VariantFieldEncoding</FieldEncoding>\n        </ProducerAssociationConfiguration>\n        <ProducerAssociationConfiguration>\n          <AssociationName>BoilersArea_Boiler #3</AssociationName>\n          <DataSetWriterId>130</DataSetWriterId>\n          <PublisherId>d80d81dd-96e6-4560-850e-154f9181307c</PublisherId>\n          <FieldEncoding>VariantFieldEncoding</FieldEncoding>\n        </ProducerAssociationConfiguration>\n        <ProducerAssociationConfiguration>\n          <AssociationName>BoilersArea_Boiler #4</AssociationName>\n          <DataSetWriterId>140</DataSetWriterId>\n          <PublisherId>d80d81dd-96e6-4560-850e-154f9181307c</PublisherId>\n          <FieldEncoding>VariantFieldEncoding</FieldEncoding>\n        </ProducerAssociationConfiguration>\n      </ProducerAssociationConfigurations>\n    </MessageHandlerConfiguration>\n  </MessageHandlers>\n  <TypeDictionaries i:nil=\"true\" />\n</ConfigurationData>"
  },
  {
    "path": "Networking/Simulator.Boiler/DataGenerator.cs",
    "content": "﻿//___________________________________________________________________________________\n//\n//  Copyright (C) 2018, Mariusz Postol LODZ POLAND.\n//\n//  To be in touch join the community at GITTER: https://gitter.im/mpostol/OPC-UA-OOI\n//___________________________________________________________________________________\n\nusing CommonServiceLocator;\nusing System;\nusing System.Collections.Generic;\nusing System.Diagnostics;\nusing UAOOI.Common.Infrastructure.Diagnostic;\nusing UAOOI.Configuration.Networking.Serialization;\nusing UAOOI.Networking.SemanticData;\nusing UAOOI.Networking.SemanticData.DataRepository;\nusing UAOOI.Networking.Simulator.Boiler.AddressSpace;\nusing UAOOI.Networking.Simulator.Boiler.Model;\n\nnamespace UAOOI.Networking.Simulator.Boiler\n{\n\n  /// <summary>\n  /// Class DataGenerator - it is simulator producing data to be sent over the wire using message centric communication provided \n  /// by the UAOOI.Networking.SemanticData framework.\n  /// The data is generated according to the Boiler model\n  /// </summary>\n  internal class DataGenerator : IBindingFactory, IDisposable\n  {\n\n    #region Constructor\n    /// <summary>\n    /// Initializes a new instance of the <see cref=\"DataGenerator\" /> class that generates the data to be used for interoperability testing.\n    /// </summary>\n    public DataGenerator() : this(BoilersSet.Factory) { }\n    /// <summary>\n    /// Initializes a new instance of the <see cref=\"DataGenerator\"/> class.\n    /// </summary>\n    /// <param name=\"semanticDataSource\">The boilers set.</param>\n    internal DataGenerator(ISemanticDataSource semanticDataSource)\n    {\n      IServiceLocator _serviceLocator = ServiceLocator.Current;\n      m_TraceSource = _serviceLocator.GetInstance<ITraceSource>();\n      m_TraceSource.TraceData(TraceEventType.Information, 43, $\"Starting {nameof(DataGenerator)} with the data source {semanticDataSource.GetType().FullName}\");\n      m_SemanticDataSource = semanticDataSource;\n      m_SemanticDataSource.GetSemanticDataSources(RegisterVariable);\n    }\n    #endregion\n\n    #region IDisposable\n    /// <summary>\n    /// Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources.\n    /// </summary>\n    /// <remarks>It is called by the <see cref=\"System.ComponentModel.Composition.Hosting.CompositionContainer\"/>.</remarks>\n    public void Dispose()\n    {\n      m_SemanticDataSource.Dispose();\n    }\n    #endregion\n\n    #region IBindingFactory\n    /// <summary>\n    /// Gets the binding captured by an instance of the <see cref=\"IConsumerBinding\" /> type used by the consumer to save the data in the data repository.\n    /// </summary>\n    /// <param name=\"repositoryGroup\">It is the name of a repository group profiling the configuration behavior, e.g. encoders selection.\n    /// The configuration of the repositories belong to the same group are handled according to the same profile.</param>\n    /// <param name=\"processValueName\">The name of a variable that is the ultimate destination of the values recovered from messages.\n    /// Must be unique in the context of the group named by <paramref name=\"repositoryGroup\" />.</param>\n    /// <param name=\"fieldTypeInfo\">The field metadata definition represented as an object of <see cref=\"T:UAOOI.Configuration.Networking.Serialization.UATypeInfo\" />.</param>\n    /// <returns>Returns an object implementing the <see cref=\"IBinding\" /> interface that can be used to update selected variable on the factory side.</returns>\n    /// <exception cref=\"System.NotImplementedException\"></exception>\n    IConsumerBinding IBindingFactory.GetConsumerBinding(string repositoryGroup, string processValueName, UATypeInfo fieldTypeInfo)\n    {\n      m_TraceSource.TraceData(TraceEventType.Error, 60, $\"Starting {nameof(IBindingFactory.GetConsumerBinding)} for the process variable {repositoryGroup}_{processValueName}\");\n      throw new NotImplementedException();\n    }\n    /// <summary>\n    /// Gets the producer binding.\n    /// </summary>\n    /// <param name=\"repositoryGroup\">The repository group.</param>\n    /// <param name=\"processValueName\">The name of a variable that is the source of the values forwarded by a message over the network.\n    /// Must be unique in the context of the group named by <paramref name=\"repositoryGroup\" /></param>\n    /// <param name=\"fieldTypeInfo\">The <see cref=\"T:UAOOI.Configuration.Networking.Serialization.BuiltInType\" />of the message field encoding.</param>\n    /// <returns>IProducerBinding.</returns>\n    /// <exception cref=\"System.ArgumentNullException\">repositoryGroup</exception>\n    /// <exception cref=\"System.ArgumentOutOfRangeException\">encoding</exception>\n    IProducerBinding IBindingFactory.GetProducerBinding(string repositoryGroup, string processValueName, UATypeInfo fieldTypeInfo)\n    {\n      string _name = CreateKey(repositoryGroup, processValueName);\n      m_TraceSource.TraceData(TraceEventType.Information, 60, $\"Starting {nameof(IBindingFactory.GetProducerBinding)} for the process variable {_name}\");\n      IProducerBinding _return = null;\n      switch (fieldTypeInfo.BuiltInType)\n      {\n        case BuiltInType.Boolean:\n          _return = AddBinding<Boolean>(_name, fieldTypeInfo);\n          break;\n        case BuiltInType.SByte:\n          _return = AddBinding<SByte>(_name, fieldTypeInfo);\n          break;\n        case BuiltInType.Byte:\n          _return = AddBinding<Byte>(_name, fieldTypeInfo);\n          break;\n        case BuiltInType.Int16:\n          _return = AddBinding<Int16>(_name, fieldTypeInfo);\n          break;\n        case BuiltInType.UInt16:\n          _return = AddBinding<UInt16>(_name, fieldTypeInfo);\n          break;\n        case BuiltInType.Int32:\n          _return = AddBinding<Int32>(_name, fieldTypeInfo);\n          break;\n        case BuiltInType.UInt32:\n          _return = AddBinding<UInt32>(_name, fieldTypeInfo);\n          break;\n        case BuiltInType.Int64:\n          _return = AddBinding<Int64>(_name, fieldTypeInfo);\n          break;\n        case BuiltInType.UInt64:\n          _return = AddBinding<UInt64>(_name, fieldTypeInfo);\n          break;\n        case BuiltInType.Float:\n          _return = AddBinding<float>(_name, fieldTypeInfo);\n          break;\n        case BuiltInType.Double:\n          _return = AddBinding<Double>(_name, fieldTypeInfo);\n          break;\n        case BuiltInType.String:\n          _return = AddBinding<String>(_name, fieldTypeInfo);\n          break;\n        case BuiltInType.DateTime:\n          _return = AddBinding<DateTime>(_name, fieldTypeInfo);\n          break;\n        case BuiltInType.Guid:\n          _return = AddBinding<Guid>(_name, fieldTypeInfo);\n          break;\n        case BuiltInType.ByteString:\n          _return = AddBinding<byte[]>(_name, fieldTypeInfo);\n          break;\n        case BuiltInType.Null:\n        case BuiltInType.XmlElement:\n        case BuiltInType.NodeId:\n        case BuiltInType.ExpandedNodeId:\n        case BuiltInType.StatusCode:\n        case BuiltInType.QualifiedName:\n        case BuiltInType.LocalizedText:\n        case BuiltInType.ExtensionObject:\n        case BuiltInType.DataValue:\n        case BuiltInType.Variant:\n        case BuiltInType.DiagnosticInfo:\n        case BuiltInType.Enumeration:\n        default:\n          {\n            m_TraceSource.TraceData(TraceEventType.Error, 60, $\"Cannot get binding for {_name}\");\n            throw new ArgumentOutOfRangeException($\"{_name}\");\n          }\n      }\n      m_TraceSource.TraceData(TraceEventType.Information, 60, $\"Created binding for the process variable {_name}\");\n      return _return;\n    }\n    #endregion\n\n    #region private\n    //vars\n    private ISemanticDataSource m_SemanticDataSource = null;\n    private Dictionary<string, IVariable> m_NodesDictionary = new Dictionary<string, IVariable>();\n    private ITraceSource m_TraceSource = null;\n    //methods\n    private void RegisterVariable(string repositoryGroup, string processValueName, IVariable variable)\n    {\n      string _name = CreateKey(repositoryGroup, processValueName);\n      m_TraceSource.TraceData(TraceEventType.Information, 60, $\"Registering next process variable {_name}\");\n      m_NodesDictionary.Add(_name, variable);\n    }\n    private string CreateKey(string repositoryGroup, string processValueName)\n    {\n      return $\"{repositoryGroup}.{ processValueName}\";\n    }\n    //methods\n    private IProducerBinding AddBinding<type>(string key, UATypeInfo typeInfo)\n    {\n      IVariable _variable = m_NodesDictionary[key];\n      Type _expectedType = typeof(type);\n      if (!_expectedType.GetUATypeInfo().IsEqual(_variable.ValueType))\n        throw new ArgumentOutOfRangeException($\"Wrong argument type: {_expectedType.GetUATypeInfo()} but expected {_variable.ValueType}\");\n      ProducerBindingMonitoredValue<type> _binding = new ProducerBindingMonitoredValue<type>(key, typeInfo) { MonitoredValue = default(type) };\n      _variable.OnStateChanged += (context, node, changes) =>\n      {\n        if (changes == NodeStateChangeMasks.Value)\n          _binding.MonitoredValue = (type)_variable.Value;\n      };\n      return _binding;\n    }\n    #endregion\n\n  }\n\n}\n"
  },
  {
    "path": "Networking/Simulator.Boiler/Model/BoilerState.cs",
    "content": "﻿using System;\nusing System.Collections.Generic;\nusing System.Diagnostics;\nusing System.Threading;\nusing UAOOI.Common.Infrastructure.Diagnostic;\nusing UAOOI.Networking.Simulator.Boiler.AddressSpace;\nusing UAOOI.Networking.Simulator.Boiler.Model;\nusing UAOOI.SemanticData.UANodeSetValidation.DataSerialization;\nusing UAOOI.SemanticData.UANodeSetValidation.UAInformationModel;\n\nnamespace tempuri.org.UA.Examples.BoilerType\n{\n  public partial class BoilerState\n  {\n\n    public BoilerState(NodeState parent, QualifiedName browseName) : base(parent, browseName)\n    {\n      CustomController = new CustomControllerState(this, BrowseNames.CustomController);\n      Drum = new BoilerDrumState(this, BrowseNames.Drum, ModelExtensions.CreateRange(1000, 0));\n      FlowController = new FlowControllerState(this, BrowseNames.FlowController);\n      InputPipe = new BoilerInputPipeState(this, BrowseNames.InputPipe);\n      LevelController = new LevelControllerState(this, BrowseNames.LevelController);\n      LevelController.SetPoint.Value = 500.0;\n      OutputPipe = new BoilerOutputPipeState(this, BrowseNames.OutputPipe);\n      Simulation = new BoilerStateMachineState(this, BrowseNames.Simulation);\n    }\n    internal void StartSimulation()\n    {\n      if (m_simulationTimer != null)\n      {\n        m_simulationTimer.Dispose();\n        m_simulationTimer = null;\n      }\n      uint updateRate = this.Simulation.UpdateRate.Value;\n      if (updateRate < 100)\n      {\n        updateRate = 100;\n        Simulation.UpdateRate.Value = updateRate;\n      }\n      m_simulationTimer = new Timer(DoSimulation, null, (int)updateRate, (int)updateRate);\n    }\n    internal ITraceSource Logger { get; set; } = new DoNothingTraceSource();\n\n    //#region Initialization\n    ///// <summary>\n    ///// Initializes the object as a collection of counters which change value on read.\n    ///// </summary>\n    //protected override void OnAfterCreate(ISystemContext context, NodeState node)\n    //{\n    //  base.OnAfterCreate(context, node);\n\n    //  this.Simulation.OnAfterTransition = OnControlSimulation;\n    //  m_random = new Random();\n    //}\n    //#endregion\n\n    #region IDisposeable Methods\n    /// <summary>\n    /// Cleans up when the object is disposed.\n    /// </summary>\n    protected override void Dispose(bool disposing)\n    {\n      if (disposing)\n      {\n        if (m_simulationTimer != null)\n        {\n          m_simulationTimer.Dispose();\n          m_simulationTimer = null;\n        }\n      }\n    }\n    #endregion\n\n    #region Private\n    //class\n    private class DoNothingTraceSource : ITraceSource\n    {\n      public void TraceData(TraceEventType eventType, int id, object data) { }\n    }\n    //Fields\n    private ISystemContext m_simulationContext = null;\n    private Timer m_simulationTimer = null;\n    private Random m_random = new Random();\n    private long m_simulationCounter = 0;\n    //Methods\n    /// <summary>\n    /// Changes the state of the simulation.\n    /// </summary>\n    private void OnControlSimulation(ISystemContext context, StateMachineState machine, uint transitionId, uint causeId, IList<object> inputArguments, IList<object> outputArguments)\n    {\n      switch (causeId)\n      {\n        case Methods.ProgramStateMachineType_Start:\n          {\n            if (m_simulationTimer != null)\n            {\n              m_simulationTimer.Dispose();\n              m_simulationTimer = null;\n            }\n            uint updateRate = this.Simulation.UpdateRate.Value;\n            if (updateRate < 100)\n            {\n              updateRate = 100;\n              Simulation.UpdateRate.Value = updateRate;\n            }\n            m_simulationContext = context;\n            m_simulationTimer = new Timer(DoSimulation, null, (int)updateRate, (int)updateRate);\n            break;\n          }\n        case Methods.ProgramStateMachineType_Halt:\n        case Methods.ProgramStateMachineType_Suspend:\n          {\n            if (m_simulationTimer != null)\n            {\n              m_simulationTimer.Dispose();\n              m_simulationTimer = null;\n            }\n            m_simulationContext = context;\n            break;\n          }\n        case Methods.ProgramStateMachineType_Reset:\n          {\n            if (m_simulationTimer != null)\n            {\n              m_simulationTimer.Dispose();\n              m_simulationTimer = null;\n            }\n            m_simulationContext = context;\n            break;\n          }\n      }\n    }\n    /// <summary>\n    /// Rounds a value to the significant digits specified and adds a random perturbation.\n    /// </summary>\n    private double RoundAndPerturb(double value, byte significantDigits)\n    {\n      double offsetToApply = 0;\n      if (value != 0)\n      {\n        // need to move all significant digits above the decimal point.\n        double _offset = significantDigits - Math.Log10(Math.Abs(value));\n        offsetToApply = Math.Floor(_offset);\n        if (offsetToApply == _offset)\n          offsetToApply -= 1;\n      }\n      // round value to significant digits.\n      double _perturbedValue = Math.Round(value * Math.Pow(10.0, offsetToApply));\n      // apply the perturbation.\n      _perturbedValue += (m_random.NextDouble() - 0.5) * 5;\n      // restore original exponent.\n      _perturbedValue = Math.Round(_perturbedValue) * Math.Pow(10.0, -offsetToApply);\n      // return value.\n      return _perturbedValue;\n    }\n    /// <summary>\n    /// Moves the value towards the target.\n    /// </summary>\n    private double Adjust(double value, double target, double step, Range range)\n    {\n      // convert percentage step to an absolute step if range is specified.\n      if (range != null)\n        step = step * range.Magnitude();\n      double difference = target - value;\n      if (difference < 0)\n      {\n        value -= step;\n        if (value < target)\n          return target;\n      }\n      else\n      {\n        value += step;\n        if (value > target)\n          return target;\n      }\n      return value;\n    }\n    /// <summary>\n    /// Returns the value as a percentage of the range.\n    /// </summary>\n    private double GetPercentage(AnalogItemState<double> value)\n    {\n      double percentage = value.Value;\n      Range range = value.EURange.Value;\n      if (range != null)\n      {\n        percentage /= Math.Abs(range.High - range.Low);\n        if (Math.Abs(percentage) > 1.0)\n          percentage = 1.0;\n      }\n      return percentage;\n    }\n    /// <summary>\n    /// Returns the value as a percentage of the range.\n    /// </summary>\n    private double GetValue(double value, Range range)\n    {\n      if (range != null)\n        return value * range.Magnitude();\n      return value;\n    }\n    /// <summary>\n    /// Updates the values for the simulation. \n    /// </summary>\n    private void DoSimulation(object state)\n    {\n      try\n      {\n        Logger.TraceData(TraceEventType.Verbose, 210, $\"Entering {nameof(DoSimulation)} #{m_simulationCounter}\");\n        m_simulationCounter++;\n\n        // adjust level.\n        m_drum.LevelIndicator.Output.Value = Adjust(m_drum.LevelIndicator.Output.Value, m_levelController.SetPoint.Value, 0.1, m_drum.LevelIndicator.Output.EURange.Value);\n\n        // calculate inputs for custom controller. \n        m_customController.Input1.Value = m_levelController.UpdateMeasurement(m_drum.LevelIndicator.Output);\n        m_customController.Input2.Value = GetPercentage(m_inputPipe.FlowTransmitter1.Output);\n        m_customController.Input3.Value = GetPercentage(m_outputPipe.FlowTransmitter2.Output);\n\n        // calculate output for custom controller. \n        m_customController.ControlOut.Value = (m_customController.Input1.Value + m_customController.Input3.Value - m_customController.Input2.Value) / 2;\n\n        // update flow controller set point.\n        m_flowController.SetPoint.Value = GetValue((m_customController.ControlOut.Value + 1) / 2, m_inputPipe.FlowTransmitter1.Output.EURange.Value);\n\n        double error = m_flowController.UpdateMeasurement(m_inputPipe.FlowTransmitter1.Output);\n\n        // adjust the input valve.\n        m_inputPipe.Valve.Input.Value = Adjust(m_inputPipe.Valve.Input.Value, (error > 0) ? 100 : 0, 10, null);\n\n        // adjust the input flow.\n        m_inputPipe.FlowTransmitter1.Output.Value = Adjust(m_inputPipe.FlowTransmitter1.Output.Value, m_flowController.SetPoint.Value, 0.6, m_inputPipe.FlowTransmitter1.Output.EURange.Value);\n\n        // add pertubations.\n        m_drum.LevelIndicator.Output.Value = RoundAndPerturb(m_drum.LevelIndicator.Output.Value, 3);\n        m_inputPipe.FlowTransmitter1.Output.Value = RoundAndPerturb(m_inputPipe.FlowTransmitter1.Output.Value, 3);\n        m_outputPipe.FlowTransmitter2.Output.Value = RoundAndPerturb(m_outputPipe.FlowTransmitter2.Output.Value, 3);\n        this.ClearChangeMasks(m_simulationContext, true);\n      }\n      catch (Exception e)\n      {\n        Logger.TraceData(TraceEventType.Error, 225, $\"Unexpected error during boiler simulation: {e}.\");\n      }\n    }\n    #endregion\n\n  }\n  public partial class FlowControllerState\n  {\n    public FlowControllerState(NodeState parent, QualifiedName browseName) : base(parent, browseName) { }\n  }\n  public partial class BoilerInputPipeState\n  {\n    public BoilerInputPipeState(NodeState parent, QualifiedName browseName) : base(parent, browseName)\n    {\n      this.FlowTransmitter1 = new FlowTransmitterState(this, BrowseNames.FlowTransmitter1);\n      this.Valve = new ValveState(this, BrowseNames.Valve);\n    }\n  }\n  public partial class LevelControllerState\n  {\n    public LevelControllerState(NodeState parent, QualifiedName browseName) : base(parent, browseName) { }\n  }\n  public partial class BoilerOutputPipeState\n  {\n    public BoilerOutputPipeState(NodeState parent, QualifiedName browseName) : base(parent, browseName)\n    {\n      this.FlowTransmitter2 = new FlowTransmitterState(this, BrowseNames.FlowTransmitter2);\n    }\n  }\n  public partial class BoilerStateMachineState\n  {\n    public BoilerStateMachineState(NodeState parent, QualifiedName browseName) : base(parent, browseName)\n    {\n      this.UpdateRate = new PropertyState<uint>(this, BrowseNames.UpdateRate, 200);\n    }\n  }\n  public partial class FlowTransmitterState\n  {\n    public FlowTransmitterState(NodeState parent, QualifiedName browseName) : base(parent, browseName)\n    {\n      this.Output = new AnalogItemState<double>(this, BrowseNames.Output, ModelExtensions.CreateRange(1, 0), 0.5);\n    }\n  }\n  public partial class ValveState\n  {\n    public ValveState(NodeState parent, QualifiedName browseName) : base(parent, browseName) { }\n  }\n  public partial class GenericActuatorState\n  {\n    public GenericActuatorState(NodeState parent, QualifiedName browseName) : base(parent, browseName)\n    {\n      this.Input = new AnalogItemState<double>(this, BrowseNames.Input, ModelExtensions.CreateRange(1, 0), 0.5);\n    }\n\n  }\n  partial class BoilerDrumState\n  {\n\n    public BoilerDrumState(NodeState parent, QualifiedName browseName, Range range) : base(parent, browseName)\n    {\n      this.LevelIndicator = new LevelIndicatorState(this, BrowseNames.LevelIndicator, range);\n    }\n  }\n  public partial class LevelIndicatorState\n  {\n\n    public LevelIndicatorState(NodeState parent, QualifiedName browseName, Range range) : base(parent, browseName)\n    {\n      this.Output = new AnalogItemState<double>(this, BrowseNames.Output, range);\n    }\n\n  }\n  public partial class GenericSensorState : BaseObjectState\n  {\n    public GenericSensorState(NodeState parent, QualifiedName browseName) : base(parent, browseName) { }\n  }\n\n}\n\n"
  },
  {
    "path": "Networking/Simulator.Boiler/Model/BoilersSet.cs",
    "content": "﻿//___________________________________________________________________________________\n//\n//  Copyright (C) 2018, Mariusz Postol LODZ POLAND.\n//\n//  To be in touch join the community at GITTER: https://gitter.im/mpostol/OPC-UA-OOI\n//___________________________________________________________________________________\n\nusing System;\nusing System.Collections.Generic;\nusing UAOOI.Networking.Simulator.Boiler.AddressSpace;\nusing CommsvrClassess = Commsvr.UA.Examples.BoilersSet;\nusing tempuriClasses = tempuri.org.UA.Examples.BoilerType;\n\nnamespace UAOOI.Networking.Simulator.Boiler.Model\n{\n\n  internal class BoilersSet : FolderState, ISemanticDataSource\n  {\n\n    internal static BoilersSet Factory { get { return m_Factory.Value; } }\n\n    #region ISemanticDataSource\n    /// <summary>\n    /// Gets the semantic data set sources.\n    /// </summary>\n    /// <param name=\"registerSemanticData\">The register semantic data.</param>\n    public void GetSemanticDataSources(RegisterSemanticData registerSemanticData)\n    {\n      foreach (BaseInstanceState _state in m_Boilers)\n      {\n        SemanticDataSetSource _sd = new SemanticDataSetSource(_state);\n        foreach (KeyValuePair<string, IVariable> item in _sd)\n          registerSemanticData(_sd.SemanticDataSetRootBrowseName, item.Key, item.Value);\n      }\n    }\n    #endregion\n\n    #region private\n    protected override void Dispose(bool disposing)\n    {\n      base.Dispose(disposing);\n      foreach (BaseInstanceState _state in m_Boilers)\n        _state.Dispose();\n    }\n    private static Lazy<BoilersSet> m_Factory = new Lazy<BoilersSet>(() => new BoilersSet());\n    private List<BaseInstanceState> m_Boilers = new List<BaseInstanceState>();\n    private BoilersSet() : base(null, CommsvrClassess.BrowseNames.BoilersArea)\n    {\n      m_Boilers.Add(new tempuriClasses.BoilerState(this, $\"{CommsvrClassess.BrowseNames.BoilersArea}_{ CommsvrClassess.BrowseNames.BoilerAlpha}\"));\n      m_Boilers.Add(new tempuriClasses.BoilerState(this, $\"{CommsvrClassess.BrowseNames.BoilersArea}_{ CommsvrClassess.BrowseNames.BoilerBravo}\"));\n      m_Boilers.Add(new tempuriClasses.BoilerState(this, $\"{CommsvrClassess.BrowseNames.BoilersArea}_{ CommsvrClassess.BrowseNames.BoilerCharlie}\"));\n      m_Boilers.Add(new tempuriClasses.BoilerState(this, $\"{CommsvrClassess.BrowseNames.BoilersArea}_{ CommsvrClassess.BrowseNames.BoilerDelta}\"));\n\n      foreach (tempuriClasses.BoilerState boilerState in m_Boilers)\n        boilerState.StartSimulation();      \n    }\n    #endregion\n\n  }\n}\n"
  },
  {
    "path": "Networking/Simulator.Boiler/Model/Commsvr.UA.Examples.BoilersSet.Classes.cs",
    "content": "/* ========================================================================\n * Copyright (c) 2005-2011 The OPC Foundation, Inc. All rights reserved.\n *\n * OPC Foundation MIT License 1.00\n *\n * Permission is hereby granted, free of charge, to any person\n * obtaining a copy of this software and associated documentation\n * files (the \"Software\"), to deal in the Software without\n * restriction, including without limitation the rights to use,\n * copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the\n * Software is furnished to do so, subject to the following\n * conditions:\n *\n * The above copyright notice and this permission notice shall be\n * included in all copies or substantial portions of the Software.\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND,\n * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES\n * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND\n * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT\n * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,\n * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING\n * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR\n * OTHER DEALINGS IN THE SOFTWARE.\n *\n * The complete license agreement can be found here:\n * http://opcfoundation.org/License/MIT/1.00/\n * ======================================================================*/\n\n\nusing UAOOI.SemanticData.UANodeSetValidation.DataSerialization;\n\nnamespace Commsvr.UA.Examples.BoilersSet\n{\n  #region Method Identifiers\n  /// <summary>\n  /// A class that declares constants for all Methods in the Model Design.\n  /// </summary>\n  /// <exclude />\n  [System.CodeDom.Compiler.GeneratedCodeAttribute(\"Opc.Ua.ModelCompiler\", \"1.0.0.0\")]\n    public static partial class Methods\n    {\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerAlpha_Simulation_Start Method.\n        /// </summary>\n        public const uint BoilersArea_BoilerAlpha_Simulation_Start = 154;\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerAlpha_Simulation_Suspend Method.\n        /// </summary>\n        public const uint BoilersArea_BoilerAlpha_Simulation_Suspend = 155;\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerAlpha_Simulation_Resume Method.\n        /// </summary>\n        public const uint BoilersArea_BoilerAlpha_Simulation_Resume = 156;\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerAlpha_Simulation_Halt Method.\n        /// </summary>\n        public const uint BoilersArea_BoilerAlpha_Simulation_Halt = 157;\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerAlpha_Simulation_Reset Method.\n        /// </summary>\n        public const uint BoilersArea_BoilerAlpha_Simulation_Reset = 158;\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerBravo_Simulation_Start Method.\n        /// </summary>\n        public const uint BoilersArea_BoilerBravo_Simulation_Start = 233;\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerBravo_Simulation_Suspend Method.\n        /// </summary>\n        public const uint BoilersArea_BoilerBravo_Simulation_Suspend = 234;\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerBravo_Simulation_Resume Method.\n        /// </summary>\n        public const uint BoilersArea_BoilerBravo_Simulation_Resume = 235;\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerBravo_Simulation_Halt Method.\n        /// </summary>\n        public const uint BoilersArea_BoilerBravo_Simulation_Halt = 236;\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerBravo_Simulation_Reset Method.\n        /// </summary>\n        public const uint BoilersArea_BoilerBravo_Simulation_Reset = 237;\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerCharlie_Simulation_Start Method.\n        /// </summary>\n        public const uint BoilersArea_BoilerCharlie_Simulation_Start = 312;\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerCharlie_Simulation_Suspend Method.\n        /// </summary>\n        public const uint BoilersArea_BoilerCharlie_Simulation_Suspend = 313;\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerCharlie_Simulation_Resume Method.\n        /// </summary>\n        public const uint BoilersArea_BoilerCharlie_Simulation_Resume = 314;\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerCharlie_Simulation_Halt Method.\n        /// </summary>\n        public const uint BoilersArea_BoilerCharlie_Simulation_Halt = 315;\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerCharlie_Simulation_Reset Method.\n        /// </summary>\n        public const uint BoilersArea_BoilerCharlie_Simulation_Reset = 316;\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerDelta_Simulation_Start Method.\n        /// </summary>\n        public const uint BoilersArea_BoilerDelta_Simulation_Start = 391;\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerDelta_Simulation_Suspend Method.\n        /// </summary>\n        public const uint BoilersArea_BoilerDelta_Simulation_Suspend = 392;\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerDelta_Simulation_Resume Method.\n        /// </summary>\n        public const uint BoilersArea_BoilerDelta_Simulation_Resume = 393;\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerDelta_Simulation_Halt Method.\n        /// </summary>\n        public const uint BoilersArea_BoilerDelta_Simulation_Halt = 394;\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerDelta_Simulation_Reset Method.\n        /// </summary>\n        public const uint BoilersArea_BoilerDelta_Simulation_Reset = 395;\n    }\n    #endregion\n\n    #region Object Identifiers\n    /// <summary>\n    /// A class that declares constants for all Objects in the Model Design.\n    /// </summary>\n    /// <exclude />\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"Opc.Ua.ModelCompiler\", \"1.0.0.0\")]\n    public static partial class Objects\n    {\n        /// <summary>\n        /// The identifier for the BoilersArea Object.\n        /// </summary>\n        public const uint BoilersArea = 1;\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerAlpha Object.\n        /// </summary>\n        public const uint BoilersArea_BoilerAlpha = 81;\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerAlpha_InputPipe Object.\n        /// </summary>\n        public const uint BoilersArea_BoilerAlpha_InputPipe = 82;\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerAlpha_InputPipe_FlowTransmitter1 Object.\n        /// </summary>\n        public const uint BoilersArea_BoilerAlpha_InputPipe_FlowTransmitter1 = 83;\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerAlpha_InputPipe_Valve Object.\n        /// </summary>\n        public const uint BoilersArea_BoilerAlpha_InputPipe_Valve = 90;\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerAlpha_Drum Object.\n        /// </summary>\n        public const uint BoilersArea_BoilerAlpha_Drum = 97;\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerAlpha_Drum_LevelIndicator Object.\n        /// </summary>\n        public const uint BoilersArea_BoilerAlpha_Drum_LevelIndicator = 98;\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerAlpha_OutputPipe Object.\n        /// </summary>\n        public const uint BoilersArea_BoilerAlpha_OutputPipe = 105;\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerAlpha_OutputPipe_FlowTransmitter2 Object.\n        /// </summary>\n        public const uint BoilersArea_BoilerAlpha_OutputPipe_FlowTransmitter2 = 106;\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerAlpha_FlowController Object.\n        /// </summary>\n        public const uint BoilersArea_BoilerAlpha_FlowController = 113;\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerAlpha_LevelController Object.\n        /// </summary>\n        public const uint BoilersArea_BoilerAlpha_LevelController = 117;\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerAlpha_CustomController Object.\n        /// </summary>\n        public const uint BoilersArea_BoilerAlpha_CustomController = 121;\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerAlpha_Simulation Object.\n        /// </summary>\n        public const uint BoilersArea_BoilerAlpha_Simulation = 127;\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerBravo Object.\n        /// </summary>\n        public const uint BoilersArea_BoilerBravo = 160;\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerBravo_InputPipe Object.\n        /// </summary>\n        public const uint BoilersArea_BoilerBravo_InputPipe = 161;\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerBravo_InputPipe_FlowTransmitter1 Object.\n        /// </summary>\n        public const uint BoilersArea_BoilerBravo_InputPipe_FlowTransmitter1 = 162;\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerBravo_InputPipe_Valve Object.\n        /// </summary>\n        public const uint BoilersArea_BoilerBravo_InputPipe_Valve = 169;\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerBravo_Drum Object.\n        /// </summary>\n        public const uint BoilersArea_BoilerBravo_Drum = 176;\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerBravo_Drum_LevelIndicator Object.\n        /// </summary>\n        public const uint BoilersArea_BoilerBravo_Drum_LevelIndicator = 177;\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerBravo_OutputPipe Object.\n        /// </summary>\n        public const uint BoilersArea_BoilerBravo_OutputPipe = 184;\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerBravo_OutputPipe_FlowTransmitter2 Object.\n        /// </summary>\n        public const uint BoilersArea_BoilerBravo_OutputPipe_FlowTransmitter2 = 185;\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerBravo_FlowController Object.\n        /// </summary>\n        public const uint BoilersArea_BoilerBravo_FlowController = 192;\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerBravo_LevelController Object.\n        /// </summary>\n        public const uint BoilersArea_BoilerBravo_LevelController = 196;\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerBravo_CustomController Object.\n        /// </summary>\n        public const uint BoilersArea_BoilerBravo_CustomController = 200;\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerBravo_Simulation Object.\n        /// </summary>\n        public const uint BoilersArea_BoilerBravo_Simulation = 206;\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerCharlie Object.\n        /// </summary>\n        public const uint BoilersArea_BoilerCharlie = 239;\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerCharlie_InputPipe Object.\n        /// </summary>\n        public const uint BoilersArea_BoilerCharlie_InputPipe = 240;\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerCharlie_InputPipe_FlowTransmitter1 Object.\n        /// </summary>\n        public const uint BoilersArea_BoilerCharlie_InputPipe_FlowTransmitter1 = 241;\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerCharlie_InputPipe_Valve Object.\n        /// </summary>\n        public const uint BoilersArea_BoilerCharlie_InputPipe_Valve = 248;\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerCharlie_Drum Object.\n        /// </summary>\n        public const uint BoilersArea_BoilerCharlie_Drum = 255;\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerCharlie_Drum_LevelIndicator Object.\n        /// </summary>\n        public const uint BoilersArea_BoilerCharlie_Drum_LevelIndicator = 256;\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerCharlie_OutputPipe Object.\n        /// </summary>\n        public const uint BoilersArea_BoilerCharlie_OutputPipe = 263;\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerCharlie_OutputPipe_FlowTransmitter2 Object.\n        /// </summary>\n        public const uint BoilersArea_BoilerCharlie_OutputPipe_FlowTransmitter2 = 264;\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerCharlie_FlowController Object.\n        /// </summary>\n        public const uint BoilersArea_BoilerCharlie_FlowController = 271;\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerCharlie_LevelController Object.\n        /// </summary>\n        public const uint BoilersArea_BoilerCharlie_LevelController = 275;\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerCharlie_CustomController Object.\n        /// </summary>\n        public const uint BoilersArea_BoilerCharlie_CustomController = 279;\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerCharlie_Simulation Object.\n        /// </summary>\n        public const uint BoilersArea_BoilerCharlie_Simulation = 285;\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerDelta Object.\n        /// </summary>\n        public const uint BoilersArea_BoilerDelta = 318;\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerDelta_InputPipe Object.\n        /// </summary>\n        public const uint BoilersArea_BoilerDelta_InputPipe = 319;\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerDelta_InputPipe_FlowTransmitter1 Object.\n        /// </summary>\n        public const uint BoilersArea_BoilerDelta_InputPipe_FlowTransmitter1 = 320;\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerDelta_InputPipe_Valve Object.\n        /// </summary>\n        public const uint BoilersArea_BoilerDelta_InputPipe_Valve = 327;\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerDelta_Drum Object.\n        /// </summary>\n        public const uint BoilersArea_BoilerDelta_Drum = 334;\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerDelta_Drum_LevelIndicator Object.\n        /// </summary>\n        public const uint BoilersArea_BoilerDelta_Drum_LevelIndicator = 335;\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerDelta_OutputPipe Object.\n        /// </summary>\n        public const uint BoilersArea_BoilerDelta_OutputPipe = 342;\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerDelta_OutputPipe_FlowTransmitter2 Object.\n        /// </summary>\n        public const uint BoilersArea_BoilerDelta_OutputPipe_FlowTransmitter2 = 343;\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerDelta_FlowController Object.\n        /// </summary>\n        public const uint BoilersArea_BoilerDelta_FlowController = 350;\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerDelta_LevelController Object.\n        /// </summary>\n        public const uint BoilersArea_BoilerDelta_LevelController = 354;\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerDelta_CustomController Object.\n        /// </summary>\n        public const uint BoilersArea_BoilerDelta_CustomController = 358;\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerDelta_Simulation Object.\n        /// </summary>\n        public const uint BoilersArea_BoilerDelta_Simulation = 364;\n\n        /// <summary>\n        /// The identifier for the Drums Object.\n        /// </summary>\n        public const uint Drums = 398;\n\n        /// <summary>\n        /// The identifier for the Pipes Object.\n        /// </summary>\n        public const uint Pipes = 399;\n    }\n    #endregion\n\n    #region Variable Identifiers\n    /// <summary>\n    /// A class that declares constants for all Variables in the Model Design.\n    /// </summary>\n    /// <exclude />\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"Opc.Ua.ModelCompiler\", \"1.0.0.0\")]\n    public static partial class Variables\n    {\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerAlpha_InputPipe_FlowTransmitter1_Output Variable.\n        /// </summary>\n        public const uint BoilersArea_BoilerAlpha_InputPipe_FlowTransmitter1_Output = 84;\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerAlpha_InputPipe_FlowTransmitter1_Output_EURange Variable.\n        /// </summary>\n        public const uint BoilersArea_BoilerAlpha_InputPipe_FlowTransmitter1_Output_EURange = 88;\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerAlpha_InputPipe_Valve_Input Variable.\n        /// </summary>\n        public const uint BoilersArea_BoilerAlpha_InputPipe_Valve_Input = 91;\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerAlpha_InputPipe_Valve_Input_EURange Variable.\n        /// </summary>\n        public const uint BoilersArea_BoilerAlpha_InputPipe_Valve_Input_EURange = 95;\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerAlpha_Drum_LevelIndicator_Output Variable.\n        /// </summary>\n        public const uint BoilersArea_BoilerAlpha_Drum_LevelIndicator_Output = 99;\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerAlpha_Drum_LevelIndicator_Output_EURange Variable.\n        /// </summary>\n        public const uint BoilersArea_BoilerAlpha_Drum_LevelIndicator_Output_EURange = 103;\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerAlpha_OutputPipe_FlowTransmitter2_Output Variable.\n        /// </summary>\n        public const uint BoilersArea_BoilerAlpha_OutputPipe_FlowTransmitter2_Output = 107;\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerAlpha_OutputPipe_FlowTransmitter2_Output_EURange Variable.\n        /// </summary>\n        public const uint BoilersArea_BoilerAlpha_OutputPipe_FlowTransmitter2_Output_EURange = 111;\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerAlpha_FlowController_Measurement Variable.\n        /// </summary>\n        public const uint BoilersArea_BoilerAlpha_FlowController_Measurement = 114;\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerAlpha_FlowController_SetPoint Variable.\n        /// </summary>\n        public const uint BoilersArea_BoilerAlpha_FlowController_SetPoint = 115;\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerAlpha_FlowController_ControlOut Variable.\n        /// </summary>\n        public const uint BoilersArea_BoilerAlpha_FlowController_ControlOut = 116;\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerAlpha_LevelController_Measurement Variable.\n        /// </summary>\n        public const uint BoilersArea_BoilerAlpha_LevelController_Measurement = 118;\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerAlpha_LevelController_SetPoint Variable.\n        /// </summary>\n        public const uint BoilersArea_BoilerAlpha_LevelController_SetPoint = 119;\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerAlpha_LevelController_ControlOut Variable.\n        /// </summary>\n        public const uint BoilersArea_BoilerAlpha_LevelController_ControlOut = 120;\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerAlpha_CustomController_Input1 Variable.\n        /// </summary>\n        public const uint BoilersArea_BoilerAlpha_CustomController_Input1 = 122;\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerAlpha_CustomController_Input2 Variable.\n        /// </summary>\n        public const uint BoilersArea_BoilerAlpha_CustomController_Input2 = 123;\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerAlpha_CustomController_Input3 Variable.\n        /// </summary>\n        public const uint BoilersArea_BoilerAlpha_CustomController_Input3 = 124;\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerAlpha_CustomController_ControlOut Variable.\n        /// </summary>\n        public const uint BoilersArea_BoilerAlpha_CustomController_ControlOut = 125;\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerAlpha_CustomController_DescriptionX Variable.\n        /// </summary>\n        public const uint BoilersArea_BoilerAlpha_CustomController_DescriptionX = 126;\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerAlpha_Simulation_CurrentState Variable.\n        /// </summary>\n        public const uint BoilersArea_BoilerAlpha_Simulation_CurrentState = 128;\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerAlpha_Simulation_CurrentState_Id Variable.\n        /// </summary>\n        public const uint BoilersArea_BoilerAlpha_Simulation_CurrentState_Id = 129;\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerAlpha_Simulation_CurrentState_Number Variable.\n        /// </summary>\n        public const uint BoilersArea_BoilerAlpha_Simulation_CurrentState_Number = 131;\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerAlpha_Simulation_LastTransition Variable.\n        /// </summary>\n        public const uint BoilersArea_BoilerAlpha_Simulation_LastTransition = 133;\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerAlpha_Simulation_LastTransition_Id Variable.\n        /// </summary>\n        public const uint BoilersArea_BoilerAlpha_Simulation_LastTransition_Id = 134;\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerAlpha_Simulation_LastTransition_Number Variable.\n        /// </summary>\n        public const uint BoilersArea_BoilerAlpha_Simulation_LastTransition_Number = 136;\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerAlpha_Simulation_LastTransition_TransitionTime Variable.\n        /// </summary>\n        public const uint BoilersArea_BoilerAlpha_Simulation_LastTransition_TransitionTime = 137;\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerAlpha_Simulation_Deletable Variable.\n        /// </summary>\n        public const uint BoilersArea_BoilerAlpha_Simulation_Deletable = 139;\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerAlpha_Simulation_RecycleCount Variable.\n        /// </summary>\n        public const uint BoilersArea_BoilerAlpha_Simulation_RecycleCount = 141;\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerAlpha_Simulation_ProgramDiagnostics_CreateSessionId Variable.\n        /// </summary>\n        public const uint BoilersArea_BoilerAlpha_Simulation_ProgramDiagnostics_CreateSessionId = 143;\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerAlpha_Simulation_ProgramDiagnostics_CreateClientName Variable.\n        /// </summary>\n        public const uint BoilersArea_BoilerAlpha_Simulation_ProgramDiagnostics_CreateClientName = 144;\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerAlpha_Simulation_ProgramDiagnostics_InvocationCreationTime Variable.\n        /// </summary>\n        public const uint BoilersArea_BoilerAlpha_Simulation_ProgramDiagnostics_InvocationCreationTime = 145;\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerAlpha_Simulation_ProgramDiagnostics_LastTransitionTime Variable.\n        /// </summary>\n        public const uint BoilersArea_BoilerAlpha_Simulation_ProgramDiagnostics_LastTransitionTime = 146;\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerAlpha_Simulation_ProgramDiagnostics_LastMethodCall Variable.\n        /// </summary>\n        public const uint BoilersArea_BoilerAlpha_Simulation_ProgramDiagnostics_LastMethodCall = 147;\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerAlpha_Simulation_ProgramDiagnostics_LastMethodSessionId Variable.\n        /// </summary>\n        public const uint BoilersArea_BoilerAlpha_Simulation_ProgramDiagnostics_LastMethodSessionId = 148;\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerAlpha_Simulation_ProgramDiagnostics_LastMethodInputArguments Variable.\n        /// </summary>\n        public const uint BoilersArea_BoilerAlpha_Simulation_ProgramDiagnostics_LastMethodInputArguments = 149;\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerAlpha_Simulation_ProgramDiagnostics_LastMethodOutputArguments Variable.\n        /// </summary>\n        public const uint BoilersArea_BoilerAlpha_Simulation_ProgramDiagnostics_LastMethodOutputArguments = 150;\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerAlpha_Simulation_ProgramDiagnostics_LastMethodCallTime Variable.\n        /// </summary>\n        public const uint BoilersArea_BoilerAlpha_Simulation_ProgramDiagnostics_LastMethodCallTime = 151;\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerAlpha_Simulation_ProgramDiagnostics_LastMethodReturnStatus Variable.\n        /// </summary>\n        public const uint BoilersArea_BoilerAlpha_Simulation_ProgramDiagnostics_LastMethodReturnStatus = 152;\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerAlpha_Simulation_UpdateRate Variable.\n        /// </summary>\n        public const uint BoilersArea_BoilerAlpha_Simulation_UpdateRate = 159;\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerBravo_InputPipe_FlowTransmitter1_Output Variable.\n        /// </summary>\n        public const uint BoilersArea_BoilerBravo_InputPipe_FlowTransmitter1_Output = 163;\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerBravo_InputPipe_FlowTransmitter1_Output_EURange Variable.\n        /// </summary>\n        public const uint BoilersArea_BoilerBravo_InputPipe_FlowTransmitter1_Output_EURange = 167;\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerBravo_InputPipe_Valve_Input Variable.\n        /// </summary>\n        public const uint BoilersArea_BoilerBravo_InputPipe_Valve_Input = 170;\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerBravo_InputPipe_Valve_Input_EURange Variable.\n        /// </summary>\n        public const uint BoilersArea_BoilerBravo_InputPipe_Valve_Input_EURange = 174;\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerBravo_Drum_LevelIndicator_Output Variable.\n        /// </summary>\n        public const uint BoilersArea_BoilerBravo_Drum_LevelIndicator_Output = 178;\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerBravo_Drum_LevelIndicator_Output_EURange Variable.\n        /// </summary>\n        public const uint BoilersArea_BoilerBravo_Drum_LevelIndicator_Output_EURange = 182;\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerBravo_OutputPipe_FlowTransmitter2_Output Variable.\n        /// </summary>\n        public const uint BoilersArea_BoilerBravo_OutputPipe_FlowTransmitter2_Output = 186;\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerBravo_OutputPipe_FlowTransmitter2_Output_EURange Variable.\n        /// </summary>\n        public const uint BoilersArea_BoilerBravo_OutputPipe_FlowTransmitter2_Output_EURange = 190;\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerBravo_FlowController_Measurement Variable.\n        /// </summary>\n        public const uint BoilersArea_BoilerBravo_FlowController_Measurement = 193;\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerBravo_FlowController_SetPoint Variable.\n        /// </summary>\n        public const uint BoilersArea_BoilerBravo_FlowController_SetPoint = 194;\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerBravo_FlowController_ControlOut Variable.\n        /// </summary>\n        public const uint BoilersArea_BoilerBravo_FlowController_ControlOut = 195;\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerBravo_LevelController_Measurement Variable.\n        /// </summary>\n        public const uint BoilersArea_BoilerBravo_LevelController_Measurement = 197;\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerBravo_LevelController_SetPoint Variable.\n        /// </summary>\n        public const uint BoilersArea_BoilerBravo_LevelController_SetPoint = 198;\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerBravo_LevelController_ControlOut Variable.\n        /// </summary>\n        public const uint BoilersArea_BoilerBravo_LevelController_ControlOut = 199;\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerBravo_CustomController_Input1 Variable.\n        /// </summary>\n        public const uint BoilersArea_BoilerBravo_CustomController_Input1 = 201;\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerBravo_CustomController_Input2 Variable.\n        /// </summary>\n        public const uint BoilersArea_BoilerBravo_CustomController_Input2 = 202;\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerBravo_CustomController_Input3 Variable.\n        /// </summary>\n        public const uint BoilersArea_BoilerBravo_CustomController_Input3 = 203;\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerBravo_CustomController_ControlOut Variable.\n        /// </summary>\n        public const uint BoilersArea_BoilerBravo_CustomController_ControlOut = 204;\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerBravo_CustomController_DescriptionX Variable.\n        /// </summary>\n        public const uint BoilersArea_BoilerBravo_CustomController_DescriptionX = 205;\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerBravo_Simulation_CurrentState Variable.\n        /// </summary>\n        public const uint BoilersArea_BoilerBravo_Simulation_CurrentState = 207;\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerBravo_Simulation_CurrentState_Id Variable.\n        /// </summary>\n        public const uint BoilersArea_BoilerBravo_Simulation_CurrentState_Id = 208;\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerBravo_Simulation_CurrentState_Number Variable.\n        /// </summary>\n        public const uint BoilersArea_BoilerBravo_Simulation_CurrentState_Number = 210;\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerBravo_Simulation_LastTransition Variable.\n        /// </summary>\n        public const uint BoilersArea_BoilerBravo_Simulation_LastTransition = 212;\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerBravo_Simulation_LastTransition_Id Variable.\n        /// </summary>\n        public const uint BoilersArea_BoilerBravo_Simulation_LastTransition_Id = 213;\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerBravo_Simulation_LastTransition_Number Variable.\n        /// </summary>\n        public const uint BoilersArea_BoilerBravo_Simulation_LastTransition_Number = 215;\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerBravo_Simulation_LastTransition_TransitionTime Variable.\n        /// </summary>\n        public const uint BoilersArea_BoilerBravo_Simulation_LastTransition_TransitionTime = 216;\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerBravo_Simulation_Deletable Variable.\n        /// </summary>\n        public const uint BoilersArea_BoilerBravo_Simulation_Deletable = 218;\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerBravo_Simulation_RecycleCount Variable.\n        /// </summary>\n        public const uint BoilersArea_BoilerBravo_Simulation_RecycleCount = 220;\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerBravo_Simulation_ProgramDiagnostics_CreateSessionId Variable.\n        /// </summary>\n        public const uint BoilersArea_BoilerBravo_Simulation_ProgramDiagnostics_CreateSessionId = 222;\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerBravo_Simulation_ProgramDiagnostics_CreateClientName Variable.\n        /// </summary>\n        public const uint BoilersArea_BoilerBravo_Simulation_ProgramDiagnostics_CreateClientName = 223;\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerBravo_Simulation_ProgramDiagnostics_InvocationCreationTime Variable.\n        /// </summary>\n        public const uint BoilersArea_BoilerBravo_Simulation_ProgramDiagnostics_InvocationCreationTime = 224;\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerBravo_Simulation_ProgramDiagnostics_LastTransitionTime Variable.\n        /// </summary>\n        public const uint BoilersArea_BoilerBravo_Simulation_ProgramDiagnostics_LastTransitionTime = 225;\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerBravo_Simulation_ProgramDiagnostics_LastMethodCall Variable.\n        /// </summary>\n        public const uint BoilersArea_BoilerBravo_Simulation_ProgramDiagnostics_LastMethodCall = 226;\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerBravo_Simulation_ProgramDiagnostics_LastMethodSessionId Variable.\n        /// </summary>\n        public const uint BoilersArea_BoilerBravo_Simulation_ProgramDiagnostics_LastMethodSessionId = 227;\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerBravo_Simulation_ProgramDiagnostics_LastMethodInputArguments Variable.\n        /// </summary>\n        public const uint BoilersArea_BoilerBravo_Simulation_ProgramDiagnostics_LastMethodInputArguments = 228;\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerBravo_Simulation_ProgramDiagnostics_LastMethodOutputArguments Variable.\n        /// </summary>\n        public const uint BoilersArea_BoilerBravo_Simulation_ProgramDiagnostics_LastMethodOutputArguments = 229;\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerBravo_Simulation_ProgramDiagnostics_LastMethodCallTime Variable.\n        /// </summary>\n        public const uint BoilersArea_BoilerBravo_Simulation_ProgramDiagnostics_LastMethodCallTime = 230;\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerBravo_Simulation_ProgramDiagnostics_LastMethodReturnStatus Variable.\n        /// </summary>\n        public const uint BoilersArea_BoilerBravo_Simulation_ProgramDiagnostics_LastMethodReturnStatus = 231;\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerBravo_Simulation_UpdateRate Variable.\n        /// </summary>\n        public const uint BoilersArea_BoilerBravo_Simulation_UpdateRate = 238;\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerCharlie_InputPipe_FlowTransmitter1_Output Variable.\n        /// </summary>\n        public const uint BoilersArea_BoilerCharlie_InputPipe_FlowTransmitter1_Output = 242;\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerCharlie_InputPipe_FlowTransmitter1_Output_EURange Variable.\n        /// </summary>\n        public const uint BoilersArea_BoilerCharlie_InputPipe_FlowTransmitter1_Output_EURange = 246;\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerCharlie_InputPipe_Valve_Input Variable.\n        /// </summary>\n        public const uint BoilersArea_BoilerCharlie_InputPipe_Valve_Input = 249;\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerCharlie_InputPipe_Valve_Input_EURange Variable.\n        /// </summary>\n        public const uint BoilersArea_BoilerCharlie_InputPipe_Valve_Input_EURange = 253;\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerCharlie_Drum_LevelIndicator_Output Variable.\n        /// </summary>\n        public const uint BoilersArea_BoilerCharlie_Drum_LevelIndicator_Output = 257;\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerCharlie_Drum_LevelIndicator_Output_EURange Variable.\n        /// </summary>\n        public const uint BoilersArea_BoilerCharlie_Drum_LevelIndicator_Output_EURange = 261;\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerCharlie_OutputPipe_FlowTransmitter2_Output Variable.\n        /// </summary>\n        public const uint BoilersArea_BoilerCharlie_OutputPipe_FlowTransmitter2_Output = 265;\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerCharlie_OutputPipe_FlowTransmitter2_Output_EURange Variable.\n        /// </summary>\n        public const uint BoilersArea_BoilerCharlie_OutputPipe_FlowTransmitter2_Output_EURange = 269;\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerCharlie_FlowController_Measurement Variable.\n        /// </summary>\n        public const uint BoilersArea_BoilerCharlie_FlowController_Measurement = 272;\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerCharlie_FlowController_SetPoint Variable.\n        /// </summary>\n        public const uint BoilersArea_BoilerCharlie_FlowController_SetPoint = 273;\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerCharlie_FlowController_ControlOut Variable.\n        /// </summary>\n        public const uint BoilersArea_BoilerCharlie_FlowController_ControlOut = 274;\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerCharlie_LevelController_Measurement Variable.\n        /// </summary>\n        public const uint BoilersArea_BoilerCharlie_LevelController_Measurement = 276;\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerCharlie_LevelController_SetPoint Variable.\n        /// </summary>\n        public const uint BoilersArea_BoilerCharlie_LevelController_SetPoint = 277;\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerCharlie_LevelController_ControlOut Variable.\n        /// </summary>\n        public const uint BoilersArea_BoilerCharlie_LevelController_ControlOut = 278;\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerCharlie_CustomController_Input1 Variable.\n        /// </summary>\n        public const uint BoilersArea_BoilerCharlie_CustomController_Input1 = 280;\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerCharlie_CustomController_Input2 Variable.\n        /// </summary>\n        public const uint BoilersArea_BoilerCharlie_CustomController_Input2 = 281;\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerCharlie_CustomController_Input3 Variable.\n        /// </summary>\n        public const uint BoilersArea_BoilerCharlie_CustomController_Input3 = 282;\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerCharlie_CustomController_ControlOut Variable.\n        /// </summary>\n        public const uint BoilersArea_BoilerCharlie_CustomController_ControlOut = 283;\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerCharlie_CustomController_DescriptionX Variable.\n        /// </summary>\n        public const uint BoilersArea_BoilerCharlie_CustomController_DescriptionX = 284;\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerCharlie_Simulation_CurrentState Variable.\n        /// </summary>\n        public const uint BoilersArea_BoilerCharlie_Simulation_CurrentState = 286;\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerCharlie_Simulation_CurrentState_Id Variable.\n        /// </summary>\n        public const uint BoilersArea_BoilerCharlie_Simulation_CurrentState_Id = 287;\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerCharlie_Simulation_CurrentState_Number Variable.\n        /// </summary>\n        public const uint BoilersArea_BoilerCharlie_Simulation_CurrentState_Number = 289;\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerCharlie_Simulation_LastTransition Variable.\n        /// </summary>\n        public const uint BoilersArea_BoilerCharlie_Simulation_LastTransition = 291;\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerCharlie_Simulation_LastTransition_Id Variable.\n        /// </summary>\n        public const uint BoilersArea_BoilerCharlie_Simulation_LastTransition_Id = 292;\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerCharlie_Simulation_LastTransition_Number Variable.\n        /// </summary>\n        public const uint BoilersArea_BoilerCharlie_Simulation_LastTransition_Number = 294;\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerCharlie_Simulation_LastTransition_TransitionTime Variable.\n        /// </summary>\n        public const uint BoilersArea_BoilerCharlie_Simulation_LastTransition_TransitionTime = 295;\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerCharlie_Simulation_Deletable Variable.\n        /// </summary>\n        public const uint BoilersArea_BoilerCharlie_Simulation_Deletable = 297;\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerCharlie_Simulation_RecycleCount Variable.\n        /// </summary>\n        public const uint BoilersArea_BoilerCharlie_Simulation_RecycleCount = 299;\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerCharlie_Simulation_ProgramDiagnostics_CreateSessionId Variable.\n        /// </summary>\n        public const uint BoilersArea_BoilerCharlie_Simulation_ProgramDiagnostics_CreateSessionId = 301;\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerCharlie_Simulation_ProgramDiagnostics_CreateClientName Variable.\n        /// </summary>\n        public const uint BoilersArea_BoilerCharlie_Simulation_ProgramDiagnostics_CreateClientName = 302;\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerCharlie_Simulation_ProgramDiagnostics_InvocationCreationTime Variable.\n        /// </summary>\n        public const uint BoilersArea_BoilerCharlie_Simulation_ProgramDiagnostics_InvocationCreationTime = 303;\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerCharlie_Simulation_ProgramDiagnostics_LastTransitionTime Variable.\n        /// </summary>\n        public const uint BoilersArea_BoilerCharlie_Simulation_ProgramDiagnostics_LastTransitionTime = 304;\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerCharlie_Simulation_ProgramDiagnostics_LastMethodCall Variable.\n        /// </summary>\n        public const uint BoilersArea_BoilerCharlie_Simulation_ProgramDiagnostics_LastMethodCall = 305;\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerCharlie_Simulation_ProgramDiagnostics_LastMethodSessionId Variable.\n        /// </summary>\n        public const uint BoilersArea_BoilerCharlie_Simulation_ProgramDiagnostics_LastMethodSessionId = 306;\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerCharlie_Simulation_ProgramDiagnostics_LastMethodInputArguments Variable.\n        /// </summary>\n        public const uint BoilersArea_BoilerCharlie_Simulation_ProgramDiagnostics_LastMethodInputArguments = 307;\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerCharlie_Simulation_ProgramDiagnostics_LastMethodOutputArguments Variable.\n        /// </summary>\n        public const uint BoilersArea_BoilerCharlie_Simulation_ProgramDiagnostics_LastMethodOutputArguments = 308;\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerCharlie_Simulation_ProgramDiagnostics_LastMethodCallTime Variable.\n        /// </summary>\n        public const uint BoilersArea_BoilerCharlie_Simulation_ProgramDiagnostics_LastMethodCallTime = 309;\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerCharlie_Simulation_ProgramDiagnostics_LastMethodReturnStatus Variable.\n        /// </summary>\n        public const uint BoilersArea_BoilerCharlie_Simulation_ProgramDiagnostics_LastMethodReturnStatus = 310;\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerCharlie_Simulation_UpdateRate Variable.\n        /// </summary>\n        public const uint BoilersArea_BoilerCharlie_Simulation_UpdateRate = 317;\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerDelta_InputPipe_FlowTransmitter1_Output Variable.\n        /// </summary>\n        public const uint BoilersArea_BoilerDelta_InputPipe_FlowTransmitter1_Output = 321;\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerDelta_InputPipe_FlowTransmitter1_Output_EURange Variable.\n        /// </summary>\n        public const uint BoilersArea_BoilerDelta_InputPipe_FlowTransmitter1_Output_EURange = 325;\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerDelta_InputPipe_Valve_Input Variable.\n        /// </summary>\n        public const uint BoilersArea_BoilerDelta_InputPipe_Valve_Input = 328;\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerDelta_InputPipe_Valve_Input_EURange Variable.\n        /// </summary>\n        public const uint BoilersArea_BoilerDelta_InputPipe_Valve_Input_EURange = 332;\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerDelta_Drum_LevelIndicator_Output Variable.\n        /// </summary>\n        public const uint BoilersArea_BoilerDelta_Drum_LevelIndicator_Output = 336;\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerDelta_Drum_LevelIndicator_Output_EURange Variable.\n        /// </summary>\n        public const uint BoilersArea_BoilerDelta_Drum_LevelIndicator_Output_EURange = 340;\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerDelta_OutputPipe_FlowTransmitter2_Output Variable.\n        /// </summary>\n        public const uint BoilersArea_BoilerDelta_OutputPipe_FlowTransmitter2_Output = 344;\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerDelta_OutputPipe_FlowTransmitter2_Output_EURange Variable.\n        /// </summary>\n        public const uint BoilersArea_BoilerDelta_OutputPipe_FlowTransmitter2_Output_EURange = 348;\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerDelta_FlowController_Measurement Variable.\n        /// </summary>\n        public const uint BoilersArea_BoilerDelta_FlowController_Measurement = 351;\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerDelta_FlowController_SetPoint Variable.\n        /// </summary>\n        public const uint BoilersArea_BoilerDelta_FlowController_SetPoint = 352;\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerDelta_FlowController_ControlOut Variable.\n        /// </summary>\n        public const uint BoilersArea_BoilerDelta_FlowController_ControlOut = 353;\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerDelta_LevelController_Measurement Variable.\n        /// </summary>\n        public const uint BoilersArea_BoilerDelta_LevelController_Measurement = 355;\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerDelta_LevelController_SetPoint Variable.\n        /// </summary>\n        public const uint BoilersArea_BoilerDelta_LevelController_SetPoint = 356;\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerDelta_LevelController_ControlOut Variable.\n        /// </summary>\n        public const uint BoilersArea_BoilerDelta_LevelController_ControlOut = 357;\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerDelta_CustomController_Input1 Variable.\n        /// </summary>\n        public const uint BoilersArea_BoilerDelta_CustomController_Input1 = 359;\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerDelta_CustomController_Input2 Variable.\n        /// </summary>\n        public const uint BoilersArea_BoilerDelta_CustomController_Input2 = 360;\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerDelta_CustomController_Input3 Variable.\n        /// </summary>\n        public const uint BoilersArea_BoilerDelta_CustomController_Input3 = 361;\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerDelta_CustomController_ControlOut Variable.\n        /// </summary>\n        public const uint BoilersArea_BoilerDelta_CustomController_ControlOut = 362;\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerDelta_CustomController_DescriptionX Variable.\n        /// </summary>\n        public const uint BoilersArea_BoilerDelta_CustomController_DescriptionX = 363;\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerDelta_Simulation_CurrentState Variable.\n        /// </summary>\n        public const uint BoilersArea_BoilerDelta_Simulation_CurrentState = 365;\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerDelta_Simulation_CurrentState_Id Variable.\n        /// </summary>\n        public const uint BoilersArea_BoilerDelta_Simulation_CurrentState_Id = 366;\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerDelta_Simulation_CurrentState_Number Variable.\n        /// </summary>\n        public const uint BoilersArea_BoilerDelta_Simulation_CurrentState_Number = 368;\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerDelta_Simulation_LastTransition Variable.\n        /// </summary>\n        public const uint BoilersArea_BoilerDelta_Simulation_LastTransition = 370;\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerDelta_Simulation_LastTransition_Id Variable.\n        /// </summary>\n        public const uint BoilersArea_BoilerDelta_Simulation_LastTransition_Id = 371;\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerDelta_Simulation_LastTransition_Number Variable.\n        /// </summary>\n        public const uint BoilersArea_BoilerDelta_Simulation_LastTransition_Number = 373;\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerDelta_Simulation_LastTransition_TransitionTime Variable.\n        /// </summary>\n        public const uint BoilersArea_BoilerDelta_Simulation_LastTransition_TransitionTime = 374;\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerDelta_Simulation_Deletable Variable.\n        /// </summary>\n        public const uint BoilersArea_BoilerDelta_Simulation_Deletable = 376;\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerDelta_Simulation_RecycleCount Variable.\n        /// </summary>\n        public const uint BoilersArea_BoilerDelta_Simulation_RecycleCount = 378;\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerDelta_Simulation_ProgramDiagnostics_CreateSessionId Variable.\n        /// </summary>\n        public const uint BoilersArea_BoilerDelta_Simulation_ProgramDiagnostics_CreateSessionId = 380;\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerDelta_Simulation_ProgramDiagnostics_CreateClientName Variable.\n        /// </summary>\n        public const uint BoilersArea_BoilerDelta_Simulation_ProgramDiagnostics_CreateClientName = 381;\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerDelta_Simulation_ProgramDiagnostics_InvocationCreationTime Variable.\n        /// </summary>\n        public const uint BoilersArea_BoilerDelta_Simulation_ProgramDiagnostics_InvocationCreationTime = 382;\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerDelta_Simulation_ProgramDiagnostics_LastTransitionTime Variable.\n        /// </summary>\n        public const uint BoilersArea_BoilerDelta_Simulation_ProgramDiagnostics_LastTransitionTime = 383;\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerDelta_Simulation_ProgramDiagnostics_LastMethodCall Variable.\n        /// </summary>\n        public const uint BoilersArea_BoilerDelta_Simulation_ProgramDiagnostics_LastMethodCall = 384;\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerDelta_Simulation_ProgramDiagnostics_LastMethodSessionId Variable.\n        /// </summary>\n        public const uint BoilersArea_BoilerDelta_Simulation_ProgramDiagnostics_LastMethodSessionId = 385;\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerDelta_Simulation_ProgramDiagnostics_LastMethodInputArguments Variable.\n        /// </summary>\n        public const uint BoilersArea_BoilerDelta_Simulation_ProgramDiagnostics_LastMethodInputArguments = 386;\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerDelta_Simulation_ProgramDiagnostics_LastMethodOutputArguments Variable.\n        /// </summary>\n        public const uint BoilersArea_BoilerDelta_Simulation_ProgramDiagnostics_LastMethodOutputArguments = 387;\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerDelta_Simulation_ProgramDiagnostics_LastMethodCallTime Variable.\n        /// </summary>\n        public const uint BoilersArea_BoilerDelta_Simulation_ProgramDiagnostics_LastMethodCallTime = 388;\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerDelta_Simulation_ProgramDiagnostics_LastMethodReturnStatus Variable.\n        /// </summary>\n        public const uint BoilersArea_BoilerDelta_Simulation_ProgramDiagnostics_LastMethodReturnStatus = 389;\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerDelta_Simulation_UpdateRate Variable.\n        /// </summary>\n        public const uint BoilersArea_BoilerDelta_Simulation_UpdateRate = 396;\n    }\n    #endregion\n\n    #region Method Node Identifiers\n    /// <summary>\n    /// A class that declares constants for all Methods in the Model Design.\n    /// </summary>\n    /// <exclude />\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"Opc.Ua.ModelCompiler\", \"1.0.0.0\")]\n    public static partial class MethodIds\n    {\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerAlpha_Simulation_Start Method.\n        /// </summary>\n        public static readonly ExpandedNodeId BoilersArea_BoilerAlpha_Simulation_Start = new ExpandedNodeId(Commsvr.UA.Examples.BoilersSet.Methods.BoilersArea_BoilerAlpha_Simulation_Start, Commsvr.UA.Examples.BoilersSet.Namespaces.BoilersSet);\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerAlpha_Simulation_Suspend Method.\n        /// </summary>\n        public static readonly ExpandedNodeId BoilersArea_BoilerAlpha_Simulation_Suspend = new ExpandedNodeId(Commsvr.UA.Examples.BoilersSet.Methods.BoilersArea_BoilerAlpha_Simulation_Suspend, Commsvr.UA.Examples.BoilersSet.Namespaces.BoilersSet);\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerAlpha_Simulation_Resume Method.\n        /// </summary>\n        public static readonly ExpandedNodeId BoilersArea_BoilerAlpha_Simulation_Resume = new ExpandedNodeId(Commsvr.UA.Examples.BoilersSet.Methods.BoilersArea_BoilerAlpha_Simulation_Resume, Commsvr.UA.Examples.BoilersSet.Namespaces.BoilersSet);\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerAlpha_Simulation_Halt Method.\n        /// </summary>\n        public static readonly ExpandedNodeId BoilersArea_BoilerAlpha_Simulation_Halt = new ExpandedNodeId(Commsvr.UA.Examples.BoilersSet.Methods.BoilersArea_BoilerAlpha_Simulation_Halt, Commsvr.UA.Examples.BoilersSet.Namespaces.BoilersSet);\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerAlpha_Simulation_Reset Method.\n        /// </summary>\n        public static readonly ExpandedNodeId BoilersArea_BoilerAlpha_Simulation_Reset = new ExpandedNodeId(Commsvr.UA.Examples.BoilersSet.Methods.BoilersArea_BoilerAlpha_Simulation_Reset, Commsvr.UA.Examples.BoilersSet.Namespaces.BoilersSet);\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerBravo_Simulation_Start Method.\n        /// </summary>\n        public static readonly ExpandedNodeId BoilersArea_BoilerBravo_Simulation_Start = new ExpandedNodeId(Commsvr.UA.Examples.BoilersSet.Methods.BoilersArea_BoilerBravo_Simulation_Start, Commsvr.UA.Examples.BoilersSet.Namespaces.BoilersSet);\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerBravo_Simulation_Suspend Method.\n        /// </summary>\n        public static readonly ExpandedNodeId BoilersArea_BoilerBravo_Simulation_Suspend = new ExpandedNodeId(Commsvr.UA.Examples.BoilersSet.Methods.BoilersArea_BoilerBravo_Simulation_Suspend, Commsvr.UA.Examples.BoilersSet.Namespaces.BoilersSet);\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerBravo_Simulation_Resume Method.\n        /// </summary>\n        public static readonly ExpandedNodeId BoilersArea_BoilerBravo_Simulation_Resume = new ExpandedNodeId(Commsvr.UA.Examples.BoilersSet.Methods.BoilersArea_BoilerBravo_Simulation_Resume, Commsvr.UA.Examples.BoilersSet.Namespaces.BoilersSet);\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerBravo_Simulation_Halt Method.\n        /// </summary>\n        public static readonly ExpandedNodeId BoilersArea_BoilerBravo_Simulation_Halt = new ExpandedNodeId(Commsvr.UA.Examples.BoilersSet.Methods.BoilersArea_BoilerBravo_Simulation_Halt, Commsvr.UA.Examples.BoilersSet.Namespaces.BoilersSet);\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerBravo_Simulation_Reset Method.\n        /// </summary>\n        public static readonly ExpandedNodeId BoilersArea_BoilerBravo_Simulation_Reset = new ExpandedNodeId(Commsvr.UA.Examples.BoilersSet.Methods.BoilersArea_BoilerBravo_Simulation_Reset, Commsvr.UA.Examples.BoilersSet.Namespaces.BoilersSet);\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerCharlie_Simulation_Start Method.\n        /// </summary>\n        public static readonly ExpandedNodeId BoilersArea_BoilerCharlie_Simulation_Start = new ExpandedNodeId(Commsvr.UA.Examples.BoilersSet.Methods.BoilersArea_BoilerCharlie_Simulation_Start, Commsvr.UA.Examples.BoilersSet.Namespaces.BoilersSet);\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerCharlie_Simulation_Suspend Method.\n        /// </summary>\n        public static readonly ExpandedNodeId BoilersArea_BoilerCharlie_Simulation_Suspend = new ExpandedNodeId(Commsvr.UA.Examples.BoilersSet.Methods.BoilersArea_BoilerCharlie_Simulation_Suspend, Commsvr.UA.Examples.BoilersSet.Namespaces.BoilersSet);\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerCharlie_Simulation_Resume Method.\n        /// </summary>\n        public static readonly ExpandedNodeId BoilersArea_BoilerCharlie_Simulation_Resume = new ExpandedNodeId(Commsvr.UA.Examples.BoilersSet.Methods.BoilersArea_BoilerCharlie_Simulation_Resume, Commsvr.UA.Examples.BoilersSet.Namespaces.BoilersSet);\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerCharlie_Simulation_Halt Method.\n        /// </summary>\n        public static readonly ExpandedNodeId BoilersArea_BoilerCharlie_Simulation_Halt = new ExpandedNodeId(Commsvr.UA.Examples.BoilersSet.Methods.BoilersArea_BoilerCharlie_Simulation_Halt, Commsvr.UA.Examples.BoilersSet.Namespaces.BoilersSet);\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerCharlie_Simulation_Reset Method.\n        /// </summary>\n        public static readonly ExpandedNodeId BoilersArea_BoilerCharlie_Simulation_Reset = new ExpandedNodeId(Commsvr.UA.Examples.BoilersSet.Methods.BoilersArea_BoilerCharlie_Simulation_Reset, Commsvr.UA.Examples.BoilersSet.Namespaces.BoilersSet);\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerDelta_Simulation_Start Method.\n        /// </summary>\n        public static readonly ExpandedNodeId BoilersArea_BoilerDelta_Simulation_Start = new ExpandedNodeId(Commsvr.UA.Examples.BoilersSet.Methods.BoilersArea_BoilerDelta_Simulation_Start, Commsvr.UA.Examples.BoilersSet.Namespaces.BoilersSet);\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerDelta_Simulation_Suspend Method.\n        /// </summary>\n        public static readonly ExpandedNodeId BoilersArea_BoilerDelta_Simulation_Suspend = new ExpandedNodeId(Commsvr.UA.Examples.BoilersSet.Methods.BoilersArea_BoilerDelta_Simulation_Suspend, Commsvr.UA.Examples.BoilersSet.Namespaces.BoilersSet);\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerDelta_Simulation_Resume Method.\n        /// </summary>\n        public static readonly ExpandedNodeId BoilersArea_BoilerDelta_Simulation_Resume = new ExpandedNodeId(Commsvr.UA.Examples.BoilersSet.Methods.BoilersArea_BoilerDelta_Simulation_Resume, Commsvr.UA.Examples.BoilersSet.Namespaces.BoilersSet);\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerDelta_Simulation_Halt Method.\n        /// </summary>\n        public static readonly ExpandedNodeId BoilersArea_BoilerDelta_Simulation_Halt = new ExpandedNodeId(Commsvr.UA.Examples.BoilersSet.Methods.BoilersArea_BoilerDelta_Simulation_Halt, Commsvr.UA.Examples.BoilersSet.Namespaces.BoilersSet);\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerDelta_Simulation_Reset Method.\n        /// </summary>\n        public static readonly ExpandedNodeId BoilersArea_BoilerDelta_Simulation_Reset = new ExpandedNodeId(Commsvr.UA.Examples.BoilersSet.Methods.BoilersArea_BoilerDelta_Simulation_Reset, Commsvr.UA.Examples.BoilersSet.Namespaces.BoilersSet);\n    }\n    #endregion\n\n    #region Object Node Identifiers\n    /// <summary>\n    /// A class that declares constants for all Objects in the Model Design.\n    /// </summary>\n    /// <exclude />\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"Opc.Ua.ModelCompiler\", \"1.0.0.0\")]\n    public static partial class ObjectIds\n    {\n        /// <summary>\n        /// The identifier for the BoilersArea Object.\n        /// </summary>\n        public static readonly ExpandedNodeId BoilersArea = new ExpandedNodeId(Commsvr.UA.Examples.BoilersSet.Objects.BoilersArea, Commsvr.UA.Examples.BoilersSet.Namespaces.BoilersSet);\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerAlpha Object.\n        /// </summary>\n        public static readonly ExpandedNodeId BoilersArea_BoilerAlpha = new ExpandedNodeId(Commsvr.UA.Examples.BoilersSet.Objects.BoilersArea_BoilerAlpha, Commsvr.UA.Examples.BoilersSet.Namespaces.BoilersSet);\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerAlpha_InputPipe Object.\n        /// </summary>\n        public static readonly ExpandedNodeId BoilersArea_BoilerAlpha_InputPipe = new ExpandedNodeId(Commsvr.UA.Examples.BoilersSet.Objects.BoilersArea_BoilerAlpha_InputPipe, Commsvr.UA.Examples.BoilersSet.Namespaces.BoilersSet);\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerAlpha_InputPipe_FlowTransmitter1 Object.\n        /// </summary>\n        public static readonly ExpandedNodeId BoilersArea_BoilerAlpha_InputPipe_FlowTransmitter1 = new ExpandedNodeId(Commsvr.UA.Examples.BoilersSet.Objects.BoilersArea_BoilerAlpha_InputPipe_FlowTransmitter1, Commsvr.UA.Examples.BoilersSet.Namespaces.BoilersSet);\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerAlpha_InputPipe_Valve Object.\n        /// </summary>\n        public static readonly ExpandedNodeId BoilersArea_BoilerAlpha_InputPipe_Valve = new ExpandedNodeId(Commsvr.UA.Examples.BoilersSet.Objects.BoilersArea_BoilerAlpha_InputPipe_Valve, Commsvr.UA.Examples.BoilersSet.Namespaces.BoilersSet);\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerAlpha_Drum Object.\n        /// </summary>\n        public static readonly ExpandedNodeId BoilersArea_BoilerAlpha_Drum = new ExpandedNodeId(Commsvr.UA.Examples.BoilersSet.Objects.BoilersArea_BoilerAlpha_Drum, Commsvr.UA.Examples.BoilersSet.Namespaces.BoilersSet);\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerAlpha_Drum_LevelIndicator Object.\n        /// </summary>\n        public static readonly ExpandedNodeId BoilersArea_BoilerAlpha_Drum_LevelIndicator = new ExpandedNodeId(Commsvr.UA.Examples.BoilersSet.Objects.BoilersArea_BoilerAlpha_Drum_LevelIndicator, Commsvr.UA.Examples.BoilersSet.Namespaces.BoilersSet);\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerAlpha_OutputPipe Object.\n        /// </summary>\n        public static readonly ExpandedNodeId BoilersArea_BoilerAlpha_OutputPipe = new ExpandedNodeId(Commsvr.UA.Examples.BoilersSet.Objects.BoilersArea_BoilerAlpha_OutputPipe, Commsvr.UA.Examples.BoilersSet.Namespaces.BoilersSet);\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerAlpha_OutputPipe_FlowTransmitter2 Object.\n        /// </summary>\n        public static readonly ExpandedNodeId BoilersArea_BoilerAlpha_OutputPipe_FlowTransmitter2 = new ExpandedNodeId(Commsvr.UA.Examples.BoilersSet.Objects.BoilersArea_BoilerAlpha_OutputPipe_FlowTransmitter2, Commsvr.UA.Examples.BoilersSet.Namespaces.BoilersSet);\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerAlpha_FlowController Object.\n        /// </summary>\n        public static readonly ExpandedNodeId BoilersArea_BoilerAlpha_FlowController = new ExpandedNodeId(Commsvr.UA.Examples.BoilersSet.Objects.BoilersArea_BoilerAlpha_FlowController, Commsvr.UA.Examples.BoilersSet.Namespaces.BoilersSet);\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerAlpha_LevelController Object.\n        /// </summary>\n        public static readonly ExpandedNodeId BoilersArea_BoilerAlpha_LevelController = new ExpandedNodeId(Commsvr.UA.Examples.BoilersSet.Objects.BoilersArea_BoilerAlpha_LevelController, Commsvr.UA.Examples.BoilersSet.Namespaces.BoilersSet);\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerAlpha_CustomController Object.\n        /// </summary>\n        public static readonly ExpandedNodeId BoilersArea_BoilerAlpha_CustomController = new ExpandedNodeId(Commsvr.UA.Examples.BoilersSet.Objects.BoilersArea_BoilerAlpha_CustomController, Commsvr.UA.Examples.BoilersSet.Namespaces.BoilersSet);\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerAlpha_Simulation Object.\n        /// </summary>\n        public static readonly ExpandedNodeId BoilersArea_BoilerAlpha_Simulation = new ExpandedNodeId(Commsvr.UA.Examples.BoilersSet.Objects.BoilersArea_BoilerAlpha_Simulation, Commsvr.UA.Examples.BoilersSet.Namespaces.BoilersSet);\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerBravo Object.\n        /// </summary>\n        public static readonly ExpandedNodeId BoilersArea_BoilerBravo = new ExpandedNodeId(Commsvr.UA.Examples.BoilersSet.Objects.BoilersArea_BoilerBravo, Commsvr.UA.Examples.BoilersSet.Namespaces.BoilersSet);\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerBravo_InputPipe Object.\n        /// </summary>\n        public static readonly ExpandedNodeId BoilersArea_BoilerBravo_InputPipe = new ExpandedNodeId(Commsvr.UA.Examples.BoilersSet.Objects.BoilersArea_BoilerBravo_InputPipe, Commsvr.UA.Examples.BoilersSet.Namespaces.BoilersSet);\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerBravo_InputPipe_FlowTransmitter1 Object.\n        /// </summary>\n        public static readonly ExpandedNodeId BoilersArea_BoilerBravo_InputPipe_FlowTransmitter1 = new ExpandedNodeId(Commsvr.UA.Examples.BoilersSet.Objects.BoilersArea_BoilerBravo_InputPipe_FlowTransmitter1, Commsvr.UA.Examples.BoilersSet.Namespaces.BoilersSet);\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerBravo_InputPipe_Valve Object.\n        /// </summary>\n        public static readonly ExpandedNodeId BoilersArea_BoilerBravo_InputPipe_Valve = new ExpandedNodeId(Commsvr.UA.Examples.BoilersSet.Objects.BoilersArea_BoilerBravo_InputPipe_Valve, Commsvr.UA.Examples.BoilersSet.Namespaces.BoilersSet);\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerBravo_Drum Object.\n        /// </summary>\n        public static readonly ExpandedNodeId BoilersArea_BoilerBravo_Drum = new ExpandedNodeId(Commsvr.UA.Examples.BoilersSet.Objects.BoilersArea_BoilerBravo_Drum, Commsvr.UA.Examples.BoilersSet.Namespaces.BoilersSet);\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerBravo_Drum_LevelIndicator Object.\n        /// </summary>\n        public static readonly ExpandedNodeId BoilersArea_BoilerBravo_Drum_LevelIndicator = new ExpandedNodeId(Commsvr.UA.Examples.BoilersSet.Objects.BoilersArea_BoilerBravo_Drum_LevelIndicator, Commsvr.UA.Examples.BoilersSet.Namespaces.BoilersSet);\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerBravo_OutputPipe Object.\n        /// </summary>\n        public static readonly ExpandedNodeId BoilersArea_BoilerBravo_OutputPipe = new ExpandedNodeId(Commsvr.UA.Examples.BoilersSet.Objects.BoilersArea_BoilerBravo_OutputPipe, Commsvr.UA.Examples.BoilersSet.Namespaces.BoilersSet);\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerBravo_OutputPipe_FlowTransmitter2 Object.\n        /// </summary>\n        public static readonly ExpandedNodeId BoilersArea_BoilerBravo_OutputPipe_FlowTransmitter2 = new ExpandedNodeId(Commsvr.UA.Examples.BoilersSet.Objects.BoilersArea_BoilerBravo_OutputPipe_FlowTransmitter2, Commsvr.UA.Examples.BoilersSet.Namespaces.BoilersSet);\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerBravo_FlowController Object.\n        /// </summary>\n        public static readonly ExpandedNodeId BoilersArea_BoilerBravo_FlowController = new ExpandedNodeId(Commsvr.UA.Examples.BoilersSet.Objects.BoilersArea_BoilerBravo_FlowController, Commsvr.UA.Examples.BoilersSet.Namespaces.BoilersSet);\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerBravo_LevelController Object.\n        /// </summary>\n        public static readonly ExpandedNodeId BoilersArea_BoilerBravo_LevelController = new ExpandedNodeId(Commsvr.UA.Examples.BoilersSet.Objects.BoilersArea_BoilerBravo_LevelController, Commsvr.UA.Examples.BoilersSet.Namespaces.BoilersSet);\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerBravo_CustomController Object.\n        /// </summary>\n        public static readonly ExpandedNodeId BoilersArea_BoilerBravo_CustomController = new ExpandedNodeId(Commsvr.UA.Examples.BoilersSet.Objects.BoilersArea_BoilerBravo_CustomController, Commsvr.UA.Examples.BoilersSet.Namespaces.BoilersSet);\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerBravo_Simulation Object.\n        /// </summary>\n        public static readonly ExpandedNodeId BoilersArea_BoilerBravo_Simulation = new ExpandedNodeId(Commsvr.UA.Examples.BoilersSet.Objects.BoilersArea_BoilerBravo_Simulation, Commsvr.UA.Examples.BoilersSet.Namespaces.BoilersSet);\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerCharlie Object.\n        /// </summary>\n        public static readonly ExpandedNodeId BoilersArea_BoilerCharlie = new ExpandedNodeId(Commsvr.UA.Examples.BoilersSet.Objects.BoilersArea_BoilerCharlie, Commsvr.UA.Examples.BoilersSet.Namespaces.BoilersSet);\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerCharlie_InputPipe Object.\n        /// </summary>\n        public static readonly ExpandedNodeId BoilersArea_BoilerCharlie_InputPipe = new ExpandedNodeId(Commsvr.UA.Examples.BoilersSet.Objects.BoilersArea_BoilerCharlie_InputPipe, Commsvr.UA.Examples.BoilersSet.Namespaces.BoilersSet);\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerCharlie_InputPipe_FlowTransmitter1 Object.\n        /// </summary>\n        public static readonly ExpandedNodeId BoilersArea_BoilerCharlie_InputPipe_FlowTransmitter1 = new ExpandedNodeId(Commsvr.UA.Examples.BoilersSet.Objects.BoilersArea_BoilerCharlie_InputPipe_FlowTransmitter1, Commsvr.UA.Examples.BoilersSet.Namespaces.BoilersSet);\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerCharlie_InputPipe_Valve Object.\n        /// </summary>\n        public static readonly ExpandedNodeId BoilersArea_BoilerCharlie_InputPipe_Valve = new ExpandedNodeId(Commsvr.UA.Examples.BoilersSet.Objects.BoilersArea_BoilerCharlie_InputPipe_Valve, Commsvr.UA.Examples.BoilersSet.Namespaces.BoilersSet);\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerCharlie_Drum Object.\n        /// </summary>\n        public static readonly ExpandedNodeId BoilersArea_BoilerCharlie_Drum = new ExpandedNodeId(Commsvr.UA.Examples.BoilersSet.Objects.BoilersArea_BoilerCharlie_Drum, Commsvr.UA.Examples.BoilersSet.Namespaces.BoilersSet);\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerCharlie_Drum_LevelIndicator Object.\n        /// </summary>\n        public static readonly ExpandedNodeId BoilersArea_BoilerCharlie_Drum_LevelIndicator = new ExpandedNodeId(Commsvr.UA.Examples.BoilersSet.Objects.BoilersArea_BoilerCharlie_Drum_LevelIndicator, Commsvr.UA.Examples.BoilersSet.Namespaces.BoilersSet);\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerCharlie_OutputPipe Object.\n        /// </summary>\n        public static readonly ExpandedNodeId BoilersArea_BoilerCharlie_OutputPipe = new ExpandedNodeId(Commsvr.UA.Examples.BoilersSet.Objects.BoilersArea_BoilerCharlie_OutputPipe, Commsvr.UA.Examples.BoilersSet.Namespaces.BoilersSet);\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerCharlie_OutputPipe_FlowTransmitter2 Object.\n        /// </summary>\n        public static readonly ExpandedNodeId BoilersArea_BoilerCharlie_OutputPipe_FlowTransmitter2 = new ExpandedNodeId(Commsvr.UA.Examples.BoilersSet.Objects.BoilersArea_BoilerCharlie_OutputPipe_FlowTransmitter2, Commsvr.UA.Examples.BoilersSet.Namespaces.BoilersSet);\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerCharlie_FlowController Object.\n        /// </summary>\n        public static readonly ExpandedNodeId BoilersArea_BoilerCharlie_FlowController = new ExpandedNodeId(Commsvr.UA.Examples.BoilersSet.Objects.BoilersArea_BoilerCharlie_FlowController, Commsvr.UA.Examples.BoilersSet.Namespaces.BoilersSet);\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerCharlie_LevelController Object.\n        /// </summary>\n        public static readonly ExpandedNodeId BoilersArea_BoilerCharlie_LevelController = new ExpandedNodeId(Commsvr.UA.Examples.BoilersSet.Objects.BoilersArea_BoilerCharlie_LevelController, Commsvr.UA.Examples.BoilersSet.Namespaces.BoilersSet);\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerCharlie_CustomController Object.\n        /// </summary>\n        public static readonly ExpandedNodeId BoilersArea_BoilerCharlie_CustomController = new ExpandedNodeId(Commsvr.UA.Examples.BoilersSet.Objects.BoilersArea_BoilerCharlie_CustomController, Commsvr.UA.Examples.BoilersSet.Namespaces.BoilersSet);\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerCharlie_Simulation Object.\n        /// </summary>\n        public static readonly ExpandedNodeId BoilersArea_BoilerCharlie_Simulation = new ExpandedNodeId(Commsvr.UA.Examples.BoilersSet.Objects.BoilersArea_BoilerCharlie_Simulation, Commsvr.UA.Examples.BoilersSet.Namespaces.BoilersSet);\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerDelta Object.\n        /// </summary>\n        public static readonly ExpandedNodeId BoilersArea_BoilerDelta = new ExpandedNodeId(Commsvr.UA.Examples.BoilersSet.Objects.BoilersArea_BoilerDelta, Commsvr.UA.Examples.BoilersSet.Namespaces.BoilersSet);\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerDelta_InputPipe Object.\n        /// </summary>\n        public static readonly ExpandedNodeId BoilersArea_BoilerDelta_InputPipe = new ExpandedNodeId(Commsvr.UA.Examples.BoilersSet.Objects.BoilersArea_BoilerDelta_InputPipe, Commsvr.UA.Examples.BoilersSet.Namespaces.BoilersSet);\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerDelta_InputPipe_FlowTransmitter1 Object.\n        /// </summary>\n        public static readonly ExpandedNodeId BoilersArea_BoilerDelta_InputPipe_FlowTransmitter1 = new ExpandedNodeId(Commsvr.UA.Examples.BoilersSet.Objects.BoilersArea_BoilerDelta_InputPipe_FlowTransmitter1, Commsvr.UA.Examples.BoilersSet.Namespaces.BoilersSet);\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerDelta_InputPipe_Valve Object.\n        /// </summary>\n        public static readonly ExpandedNodeId BoilersArea_BoilerDelta_InputPipe_Valve = new ExpandedNodeId(Commsvr.UA.Examples.BoilersSet.Objects.BoilersArea_BoilerDelta_InputPipe_Valve, Commsvr.UA.Examples.BoilersSet.Namespaces.BoilersSet);\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerDelta_Drum Object.\n        /// </summary>\n        public static readonly ExpandedNodeId BoilersArea_BoilerDelta_Drum = new ExpandedNodeId(Commsvr.UA.Examples.BoilersSet.Objects.BoilersArea_BoilerDelta_Drum, Commsvr.UA.Examples.BoilersSet.Namespaces.BoilersSet);\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerDelta_Drum_LevelIndicator Object.\n        /// </summary>\n        public static readonly ExpandedNodeId BoilersArea_BoilerDelta_Drum_LevelIndicator = new ExpandedNodeId(Commsvr.UA.Examples.BoilersSet.Objects.BoilersArea_BoilerDelta_Drum_LevelIndicator, Commsvr.UA.Examples.BoilersSet.Namespaces.BoilersSet);\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerDelta_OutputPipe Object.\n        /// </summary>\n        public static readonly ExpandedNodeId BoilersArea_BoilerDelta_OutputPipe = new ExpandedNodeId(Commsvr.UA.Examples.BoilersSet.Objects.BoilersArea_BoilerDelta_OutputPipe, Commsvr.UA.Examples.BoilersSet.Namespaces.BoilersSet);\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerDelta_OutputPipe_FlowTransmitter2 Object.\n        /// </summary>\n        public static readonly ExpandedNodeId BoilersArea_BoilerDelta_OutputPipe_FlowTransmitter2 = new ExpandedNodeId(Commsvr.UA.Examples.BoilersSet.Objects.BoilersArea_BoilerDelta_OutputPipe_FlowTransmitter2, Commsvr.UA.Examples.BoilersSet.Namespaces.BoilersSet);\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerDelta_FlowController Object.\n        /// </summary>\n        public static readonly ExpandedNodeId BoilersArea_BoilerDelta_FlowController = new ExpandedNodeId(Commsvr.UA.Examples.BoilersSet.Objects.BoilersArea_BoilerDelta_FlowController, Commsvr.UA.Examples.BoilersSet.Namespaces.BoilersSet);\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerDelta_LevelController Object.\n        /// </summary>\n        public static readonly ExpandedNodeId BoilersArea_BoilerDelta_LevelController = new ExpandedNodeId(Commsvr.UA.Examples.BoilersSet.Objects.BoilersArea_BoilerDelta_LevelController, Commsvr.UA.Examples.BoilersSet.Namespaces.BoilersSet);\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerDelta_CustomController Object.\n        /// </summary>\n        public static readonly ExpandedNodeId BoilersArea_BoilerDelta_CustomController = new ExpandedNodeId(Commsvr.UA.Examples.BoilersSet.Objects.BoilersArea_BoilerDelta_CustomController, Commsvr.UA.Examples.BoilersSet.Namespaces.BoilersSet);\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerDelta_Simulation Object.\n        /// </summary>\n        public static readonly ExpandedNodeId BoilersArea_BoilerDelta_Simulation = new ExpandedNodeId(Commsvr.UA.Examples.BoilersSet.Objects.BoilersArea_BoilerDelta_Simulation, Commsvr.UA.Examples.BoilersSet.Namespaces.BoilersSet);\n\n        /// <summary>\n        /// The identifier for the Drums Object.\n        /// </summary>\n        public static readonly ExpandedNodeId Drums = new ExpandedNodeId(Commsvr.UA.Examples.BoilersSet.Objects.Drums, Commsvr.UA.Examples.BoilersSet.Namespaces.BoilersSet);\n\n        /// <summary>\n        /// The identifier for the Pipes Object.\n        /// </summary>\n        public static readonly ExpandedNodeId Pipes = new ExpandedNodeId(Commsvr.UA.Examples.BoilersSet.Objects.Pipes, Commsvr.UA.Examples.BoilersSet.Namespaces.BoilersSet);\n    }\n    #endregion\n\n    #region Variable Node Identifiers\n    /// <summary>\n    /// A class that declares constants for all Variables in the Model Design.\n    /// </summary>\n    /// <exclude />\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"Opc.Ua.ModelCompiler\", \"1.0.0.0\")]\n    public static partial class VariableIds\n    {\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerAlpha_InputPipe_FlowTransmitter1_Output Variable.\n        /// </summary>\n        public static readonly ExpandedNodeId BoilersArea_BoilerAlpha_InputPipe_FlowTransmitter1_Output = new ExpandedNodeId(Commsvr.UA.Examples.BoilersSet.Variables.BoilersArea_BoilerAlpha_InputPipe_FlowTransmitter1_Output, Commsvr.UA.Examples.BoilersSet.Namespaces.BoilersSet);\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerAlpha_InputPipe_FlowTransmitter1_Output_EURange Variable.\n        /// </summary>\n        public static readonly ExpandedNodeId BoilersArea_BoilerAlpha_InputPipe_FlowTransmitter1_Output_EURange = new ExpandedNodeId(Commsvr.UA.Examples.BoilersSet.Variables.BoilersArea_BoilerAlpha_InputPipe_FlowTransmitter1_Output_EURange, Commsvr.UA.Examples.BoilersSet.Namespaces.BoilersSet);\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerAlpha_InputPipe_Valve_Input Variable.\n        /// </summary>\n        public static readonly ExpandedNodeId BoilersArea_BoilerAlpha_InputPipe_Valve_Input = new ExpandedNodeId(Commsvr.UA.Examples.BoilersSet.Variables.BoilersArea_BoilerAlpha_InputPipe_Valve_Input, Commsvr.UA.Examples.BoilersSet.Namespaces.BoilersSet);\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerAlpha_InputPipe_Valve_Input_EURange Variable.\n        /// </summary>\n        public static readonly ExpandedNodeId BoilersArea_BoilerAlpha_InputPipe_Valve_Input_EURange = new ExpandedNodeId(Commsvr.UA.Examples.BoilersSet.Variables.BoilersArea_BoilerAlpha_InputPipe_Valve_Input_EURange, Commsvr.UA.Examples.BoilersSet.Namespaces.BoilersSet);\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerAlpha_Drum_LevelIndicator_Output Variable.\n        /// </summary>\n        public static readonly ExpandedNodeId BoilersArea_BoilerAlpha_Drum_LevelIndicator_Output = new ExpandedNodeId(Commsvr.UA.Examples.BoilersSet.Variables.BoilersArea_BoilerAlpha_Drum_LevelIndicator_Output, Commsvr.UA.Examples.BoilersSet.Namespaces.BoilersSet);\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerAlpha_Drum_LevelIndicator_Output_EURange Variable.\n        /// </summary>\n        public static readonly ExpandedNodeId BoilersArea_BoilerAlpha_Drum_LevelIndicator_Output_EURange = new ExpandedNodeId(Commsvr.UA.Examples.BoilersSet.Variables.BoilersArea_BoilerAlpha_Drum_LevelIndicator_Output_EURange, Commsvr.UA.Examples.BoilersSet.Namespaces.BoilersSet);\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerAlpha_OutputPipe_FlowTransmitter2_Output Variable.\n        /// </summary>\n        public static readonly ExpandedNodeId BoilersArea_BoilerAlpha_OutputPipe_FlowTransmitter2_Output = new ExpandedNodeId(Commsvr.UA.Examples.BoilersSet.Variables.BoilersArea_BoilerAlpha_OutputPipe_FlowTransmitter2_Output, Commsvr.UA.Examples.BoilersSet.Namespaces.BoilersSet);\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerAlpha_OutputPipe_FlowTransmitter2_Output_EURange Variable.\n        /// </summary>\n        public static readonly ExpandedNodeId BoilersArea_BoilerAlpha_OutputPipe_FlowTransmitter2_Output_EURange = new ExpandedNodeId(Commsvr.UA.Examples.BoilersSet.Variables.BoilersArea_BoilerAlpha_OutputPipe_FlowTransmitter2_Output_EURange, Commsvr.UA.Examples.BoilersSet.Namespaces.BoilersSet);\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerAlpha_FlowController_Measurement Variable.\n        /// </summary>\n        public static readonly ExpandedNodeId BoilersArea_BoilerAlpha_FlowController_Measurement = new ExpandedNodeId(Commsvr.UA.Examples.BoilersSet.Variables.BoilersArea_BoilerAlpha_FlowController_Measurement, Commsvr.UA.Examples.BoilersSet.Namespaces.BoilersSet);\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerAlpha_FlowController_SetPoint Variable.\n        /// </summary>\n        public static readonly ExpandedNodeId BoilersArea_BoilerAlpha_FlowController_SetPoint = new ExpandedNodeId(Commsvr.UA.Examples.BoilersSet.Variables.BoilersArea_BoilerAlpha_FlowController_SetPoint, Commsvr.UA.Examples.BoilersSet.Namespaces.BoilersSet);\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerAlpha_FlowController_ControlOut Variable.\n        /// </summary>\n        public static readonly ExpandedNodeId BoilersArea_BoilerAlpha_FlowController_ControlOut = new ExpandedNodeId(Commsvr.UA.Examples.BoilersSet.Variables.BoilersArea_BoilerAlpha_FlowController_ControlOut, Commsvr.UA.Examples.BoilersSet.Namespaces.BoilersSet);\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerAlpha_LevelController_Measurement Variable.\n        /// </summary>\n        public static readonly ExpandedNodeId BoilersArea_BoilerAlpha_LevelController_Measurement = new ExpandedNodeId(Commsvr.UA.Examples.BoilersSet.Variables.BoilersArea_BoilerAlpha_LevelController_Measurement, Commsvr.UA.Examples.BoilersSet.Namespaces.BoilersSet);\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerAlpha_LevelController_SetPoint Variable.\n        /// </summary>\n        public static readonly ExpandedNodeId BoilersArea_BoilerAlpha_LevelController_SetPoint = new ExpandedNodeId(Commsvr.UA.Examples.BoilersSet.Variables.BoilersArea_BoilerAlpha_LevelController_SetPoint, Commsvr.UA.Examples.BoilersSet.Namespaces.BoilersSet);\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerAlpha_LevelController_ControlOut Variable.\n        /// </summary>\n        public static readonly ExpandedNodeId BoilersArea_BoilerAlpha_LevelController_ControlOut = new ExpandedNodeId(Commsvr.UA.Examples.BoilersSet.Variables.BoilersArea_BoilerAlpha_LevelController_ControlOut, Commsvr.UA.Examples.BoilersSet.Namespaces.BoilersSet);\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerAlpha_CustomController_Input1 Variable.\n        /// </summary>\n        public static readonly ExpandedNodeId BoilersArea_BoilerAlpha_CustomController_Input1 = new ExpandedNodeId(Commsvr.UA.Examples.BoilersSet.Variables.BoilersArea_BoilerAlpha_CustomController_Input1, Commsvr.UA.Examples.BoilersSet.Namespaces.BoilersSet);\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerAlpha_CustomController_Input2 Variable.\n        /// </summary>\n        public static readonly ExpandedNodeId BoilersArea_BoilerAlpha_CustomController_Input2 = new ExpandedNodeId(Commsvr.UA.Examples.BoilersSet.Variables.BoilersArea_BoilerAlpha_CustomController_Input2, Commsvr.UA.Examples.BoilersSet.Namespaces.BoilersSet);\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerAlpha_CustomController_Input3 Variable.\n        /// </summary>\n        public static readonly ExpandedNodeId BoilersArea_BoilerAlpha_CustomController_Input3 = new ExpandedNodeId(Commsvr.UA.Examples.BoilersSet.Variables.BoilersArea_BoilerAlpha_CustomController_Input3, Commsvr.UA.Examples.BoilersSet.Namespaces.BoilersSet);\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerAlpha_CustomController_ControlOut Variable.\n        /// </summary>\n        public static readonly ExpandedNodeId BoilersArea_BoilerAlpha_CustomController_ControlOut = new ExpandedNodeId(Commsvr.UA.Examples.BoilersSet.Variables.BoilersArea_BoilerAlpha_CustomController_ControlOut, Commsvr.UA.Examples.BoilersSet.Namespaces.BoilersSet);\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerAlpha_CustomController_DescriptionX Variable.\n        /// </summary>\n        public static readonly ExpandedNodeId BoilersArea_BoilerAlpha_CustomController_DescriptionX = new ExpandedNodeId(Commsvr.UA.Examples.BoilersSet.Variables.BoilersArea_BoilerAlpha_CustomController_DescriptionX, Commsvr.UA.Examples.BoilersSet.Namespaces.BoilersSet);\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerAlpha_Simulation_CurrentState Variable.\n        /// </summary>\n        public static readonly ExpandedNodeId BoilersArea_BoilerAlpha_Simulation_CurrentState = new ExpandedNodeId(Commsvr.UA.Examples.BoilersSet.Variables.BoilersArea_BoilerAlpha_Simulation_CurrentState, Commsvr.UA.Examples.BoilersSet.Namespaces.BoilersSet);\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerAlpha_Simulation_CurrentState_Id Variable.\n        /// </summary>\n        public static readonly ExpandedNodeId BoilersArea_BoilerAlpha_Simulation_CurrentState_Id = new ExpandedNodeId(Commsvr.UA.Examples.BoilersSet.Variables.BoilersArea_BoilerAlpha_Simulation_CurrentState_Id, Commsvr.UA.Examples.BoilersSet.Namespaces.BoilersSet);\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerAlpha_Simulation_CurrentState_Number Variable.\n        /// </summary>\n        public static readonly ExpandedNodeId BoilersArea_BoilerAlpha_Simulation_CurrentState_Number = new ExpandedNodeId(Commsvr.UA.Examples.BoilersSet.Variables.BoilersArea_BoilerAlpha_Simulation_CurrentState_Number, Commsvr.UA.Examples.BoilersSet.Namespaces.BoilersSet);\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerAlpha_Simulation_LastTransition Variable.\n        /// </summary>\n        public static readonly ExpandedNodeId BoilersArea_BoilerAlpha_Simulation_LastTransition = new ExpandedNodeId(Commsvr.UA.Examples.BoilersSet.Variables.BoilersArea_BoilerAlpha_Simulation_LastTransition, Commsvr.UA.Examples.BoilersSet.Namespaces.BoilersSet);\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerAlpha_Simulation_LastTransition_Id Variable.\n        /// </summary>\n        public static readonly ExpandedNodeId BoilersArea_BoilerAlpha_Simulation_LastTransition_Id = new ExpandedNodeId(Commsvr.UA.Examples.BoilersSet.Variables.BoilersArea_BoilerAlpha_Simulation_LastTransition_Id, Commsvr.UA.Examples.BoilersSet.Namespaces.BoilersSet);\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerAlpha_Simulation_LastTransition_Number Variable.\n        /// </summary>\n        public static readonly ExpandedNodeId BoilersArea_BoilerAlpha_Simulation_LastTransition_Number = new ExpandedNodeId(Commsvr.UA.Examples.BoilersSet.Variables.BoilersArea_BoilerAlpha_Simulation_LastTransition_Number, Commsvr.UA.Examples.BoilersSet.Namespaces.BoilersSet);\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerAlpha_Simulation_LastTransition_TransitionTime Variable.\n        /// </summary>\n        public static readonly ExpandedNodeId BoilersArea_BoilerAlpha_Simulation_LastTransition_TransitionTime = new ExpandedNodeId(Commsvr.UA.Examples.BoilersSet.Variables.BoilersArea_BoilerAlpha_Simulation_LastTransition_TransitionTime, Commsvr.UA.Examples.BoilersSet.Namespaces.BoilersSet);\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerAlpha_Simulation_Deletable Variable.\n        /// </summary>\n        public static readonly ExpandedNodeId BoilersArea_BoilerAlpha_Simulation_Deletable = new ExpandedNodeId(Commsvr.UA.Examples.BoilersSet.Variables.BoilersArea_BoilerAlpha_Simulation_Deletable, Commsvr.UA.Examples.BoilersSet.Namespaces.BoilersSet);\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerAlpha_Simulation_RecycleCount Variable.\n        /// </summary>\n        public static readonly ExpandedNodeId BoilersArea_BoilerAlpha_Simulation_RecycleCount = new ExpandedNodeId(Commsvr.UA.Examples.BoilersSet.Variables.BoilersArea_BoilerAlpha_Simulation_RecycleCount, Commsvr.UA.Examples.BoilersSet.Namespaces.BoilersSet);\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerAlpha_Simulation_ProgramDiagnostics_CreateSessionId Variable.\n        /// </summary>\n        public static readonly ExpandedNodeId BoilersArea_BoilerAlpha_Simulation_ProgramDiagnostics_CreateSessionId = new ExpandedNodeId(Commsvr.UA.Examples.BoilersSet.Variables.BoilersArea_BoilerAlpha_Simulation_ProgramDiagnostics_CreateSessionId, Commsvr.UA.Examples.BoilersSet.Namespaces.BoilersSet);\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerAlpha_Simulation_ProgramDiagnostics_CreateClientName Variable.\n        /// </summary>\n        public static readonly ExpandedNodeId BoilersArea_BoilerAlpha_Simulation_ProgramDiagnostics_CreateClientName = new ExpandedNodeId(Commsvr.UA.Examples.BoilersSet.Variables.BoilersArea_BoilerAlpha_Simulation_ProgramDiagnostics_CreateClientName, Commsvr.UA.Examples.BoilersSet.Namespaces.BoilersSet);\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerAlpha_Simulation_ProgramDiagnostics_InvocationCreationTime Variable.\n        /// </summary>\n        public static readonly ExpandedNodeId BoilersArea_BoilerAlpha_Simulation_ProgramDiagnostics_InvocationCreationTime = new ExpandedNodeId(Commsvr.UA.Examples.BoilersSet.Variables.BoilersArea_BoilerAlpha_Simulation_ProgramDiagnostics_InvocationCreationTime, Commsvr.UA.Examples.BoilersSet.Namespaces.BoilersSet);\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerAlpha_Simulation_ProgramDiagnostics_LastTransitionTime Variable.\n        /// </summary>\n        public static readonly ExpandedNodeId BoilersArea_BoilerAlpha_Simulation_ProgramDiagnostics_LastTransitionTime = new ExpandedNodeId(Commsvr.UA.Examples.BoilersSet.Variables.BoilersArea_BoilerAlpha_Simulation_ProgramDiagnostics_LastTransitionTime, Commsvr.UA.Examples.BoilersSet.Namespaces.BoilersSet);\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerAlpha_Simulation_ProgramDiagnostics_LastMethodCall Variable.\n        /// </summary>\n        public static readonly ExpandedNodeId BoilersArea_BoilerAlpha_Simulation_ProgramDiagnostics_LastMethodCall = new ExpandedNodeId(Commsvr.UA.Examples.BoilersSet.Variables.BoilersArea_BoilerAlpha_Simulation_ProgramDiagnostics_LastMethodCall, Commsvr.UA.Examples.BoilersSet.Namespaces.BoilersSet);\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerAlpha_Simulation_ProgramDiagnostics_LastMethodSessionId Variable.\n        /// </summary>\n        public static readonly ExpandedNodeId BoilersArea_BoilerAlpha_Simulation_ProgramDiagnostics_LastMethodSessionId = new ExpandedNodeId(Commsvr.UA.Examples.BoilersSet.Variables.BoilersArea_BoilerAlpha_Simulation_ProgramDiagnostics_LastMethodSessionId, Commsvr.UA.Examples.BoilersSet.Namespaces.BoilersSet);\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerAlpha_Simulation_ProgramDiagnostics_LastMethodInputArguments Variable.\n        /// </summary>\n        public static readonly ExpandedNodeId BoilersArea_BoilerAlpha_Simulation_ProgramDiagnostics_LastMethodInputArguments = new ExpandedNodeId(Commsvr.UA.Examples.BoilersSet.Variables.BoilersArea_BoilerAlpha_Simulation_ProgramDiagnostics_LastMethodInputArguments, Commsvr.UA.Examples.BoilersSet.Namespaces.BoilersSet);\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerAlpha_Simulation_ProgramDiagnostics_LastMethodOutputArguments Variable.\n        /// </summary>\n        public static readonly ExpandedNodeId BoilersArea_BoilerAlpha_Simulation_ProgramDiagnostics_LastMethodOutputArguments = new ExpandedNodeId(Commsvr.UA.Examples.BoilersSet.Variables.BoilersArea_BoilerAlpha_Simulation_ProgramDiagnostics_LastMethodOutputArguments, Commsvr.UA.Examples.BoilersSet.Namespaces.BoilersSet);\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerAlpha_Simulation_ProgramDiagnostics_LastMethodCallTime Variable.\n        /// </summary>\n        public static readonly ExpandedNodeId BoilersArea_BoilerAlpha_Simulation_ProgramDiagnostics_LastMethodCallTime = new ExpandedNodeId(Commsvr.UA.Examples.BoilersSet.Variables.BoilersArea_BoilerAlpha_Simulation_ProgramDiagnostics_LastMethodCallTime, Commsvr.UA.Examples.BoilersSet.Namespaces.BoilersSet);\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerAlpha_Simulation_ProgramDiagnostics_LastMethodReturnStatus Variable.\n        /// </summary>\n        public static readonly ExpandedNodeId BoilersArea_BoilerAlpha_Simulation_ProgramDiagnostics_LastMethodReturnStatus = new ExpandedNodeId(Commsvr.UA.Examples.BoilersSet.Variables.BoilersArea_BoilerAlpha_Simulation_ProgramDiagnostics_LastMethodReturnStatus, Commsvr.UA.Examples.BoilersSet.Namespaces.BoilersSet);\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerAlpha_Simulation_UpdateRate Variable.\n        /// </summary>\n        public static readonly ExpandedNodeId BoilersArea_BoilerAlpha_Simulation_UpdateRate = new ExpandedNodeId(Commsvr.UA.Examples.BoilersSet.Variables.BoilersArea_BoilerAlpha_Simulation_UpdateRate, Commsvr.UA.Examples.BoilersSet.Namespaces.BoilersSet);\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerBravo_InputPipe_FlowTransmitter1_Output Variable.\n        /// </summary>\n        public static readonly ExpandedNodeId BoilersArea_BoilerBravo_InputPipe_FlowTransmitter1_Output = new ExpandedNodeId(Commsvr.UA.Examples.BoilersSet.Variables.BoilersArea_BoilerBravo_InputPipe_FlowTransmitter1_Output, Commsvr.UA.Examples.BoilersSet.Namespaces.BoilersSet);\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerBravo_InputPipe_FlowTransmitter1_Output_EURange Variable.\n        /// </summary>\n        public static readonly ExpandedNodeId BoilersArea_BoilerBravo_InputPipe_FlowTransmitter1_Output_EURange = new ExpandedNodeId(Commsvr.UA.Examples.BoilersSet.Variables.BoilersArea_BoilerBravo_InputPipe_FlowTransmitter1_Output_EURange, Commsvr.UA.Examples.BoilersSet.Namespaces.BoilersSet);\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerBravo_InputPipe_Valve_Input Variable.\n        /// </summary>\n        public static readonly ExpandedNodeId BoilersArea_BoilerBravo_InputPipe_Valve_Input = new ExpandedNodeId(Commsvr.UA.Examples.BoilersSet.Variables.BoilersArea_BoilerBravo_InputPipe_Valve_Input, Commsvr.UA.Examples.BoilersSet.Namespaces.BoilersSet);\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerBravo_InputPipe_Valve_Input_EURange Variable.\n        /// </summary>\n        public static readonly ExpandedNodeId BoilersArea_BoilerBravo_InputPipe_Valve_Input_EURange = new ExpandedNodeId(Commsvr.UA.Examples.BoilersSet.Variables.BoilersArea_BoilerBravo_InputPipe_Valve_Input_EURange, Commsvr.UA.Examples.BoilersSet.Namespaces.BoilersSet);\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerBravo_Drum_LevelIndicator_Output Variable.\n        /// </summary>\n        public static readonly ExpandedNodeId BoilersArea_BoilerBravo_Drum_LevelIndicator_Output = new ExpandedNodeId(Commsvr.UA.Examples.BoilersSet.Variables.BoilersArea_BoilerBravo_Drum_LevelIndicator_Output, Commsvr.UA.Examples.BoilersSet.Namespaces.BoilersSet);\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerBravo_Drum_LevelIndicator_Output_EURange Variable.\n        /// </summary>\n        public static readonly ExpandedNodeId BoilersArea_BoilerBravo_Drum_LevelIndicator_Output_EURange = new ExpandedNodeId(Commsvr.UA.Examples.BoilersSet.Variables.BoilersArea_BoilerBravo_Drum_LevelIndicator_Output_EURange, Commsvr.UA.Examples.BoilersSet.Namespaces.BoilersSet);\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerBravo_OutputPipe_FlowTransmitter2_Output Variable.\n        /// </summary>\n        public static readonly ExpandedNodeId BoilersArea_BoilerBravo_OutputPipe_FlowTransmitter2_Output = new ExpandedNodeId(Commsvr.UA.Examples.BoilersSet.Variables.BoilersArea_BoilerBravo_OutputPipe_FlowTransmitter2_Output, Commsvr.UA.Examples.BoilersSet.Namespaces.BoilersSet);\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerBravo_OutputPipe_FlowTransmitter2_Output_EURange Variable.\n        /// </summary>\n        public static readonly ExpandedNodeId BoilersArea_BoilerBravo_OutputPipe_FlowTransmitter2_Output_EURange = new ExpandedNodeId(Commsvr.UA.Examples.BoilersSet.Variables.BoilersArea_BoilerBravo_OutputPipe_FlowTransmitter2_Output_EURange, Commsvr.UA.Examples.BoilersSet.Namespaces.BoilersSet);\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerBravo_FlowController_Measurement Variable.\n        /// </summary>\n        public static readonly ExpandedNodeId BoilersArea_BoilerBravo_FlowController_Measurement = new ExpandedNodeId(Commsvr.UA.Examples.BoilersSet.Variables.BoilersArea_BoilerBravo_FlowController_Measurement, Commsvr.UA.Examples.BoilersSet.Namespaces.BoilersSet);\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerBravo_FlowController_SetPoint Variable.\n        /// </summary>\n        public static readonly ExpandedNodeId BoilersArea_BoilerBravo_FlowController_SetPoint = new ExpandedNodeId(Commsvr.UA.Examples.BoilersSet.Variables.BoilersArea_BoilerBravo_FlowController_SetPoint, Commsvr.UA.Examples.BoilersSet.Namespaces.BoilersSet);\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerBravo_FlowController_ControlOut Variable.\n        /// </summary>\n        public static readonly ExpandedNodeId BoilersArea_BoilerBravo_FlowController_ControlOut = new ExpandedNodeId(Commsvr.UA.Examples.BoilersSet.Variables.BoilersArea_BoilerBravo_FlowController_ControlOut, Commsvr.UA.Examples.BoilersSet.Namespaces.BoilersSet);\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerBravo_LevelController_Measurement Variable.\n        /// </summary>\n        public static readonly ExpandedNodeId BoilersArea_BoilerBravo_LevelController_Measurement = new ExpandedNodeId(Commsvr.UA.Examples.BoilersSet.Variables.BoilersArea_BoilerBravo_LevelController_Measurement, Commsvr.UA.Examples.BoilersSet.Namespaces.BoilersSet);\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerBravo_LevelController_SetPoint Variable.\n        /// </summary>\n        public static readonly ExpandedNodeId BoilersArea_BoilerBravo_LevelController_SetPoint = new ExpandedNodeId(Commsvr.UA.Examples.BoilersSet.Variables.BoilersArea_BoilerBravo_LevelController_SetPoint, Commsvr.UA.Examples.BoilersSet.Namespaces.BoilersSet);\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerBravo_LevelController_ControlOut Variable.\n        /// </summary>\n        public static readonly ExpandedNodeId BoilersArea_BoilerBravo_LevelController_ControlOut = new ExpandedNodeId(Commsvr.UA.Examples.BoilersSet.Variables.BoilersArea_BoilerBravo_LevelController_ControlOut, Commsvr.UA.Examples.BoilersSet.Namespaces.BoilersSet);\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerBravo_CustomController_Input1 Variable.\n        /// </summary>\n        public static readonly ExpandedNodeId BoilersArea_BoilerBravo_CustomController_Input1 = new ExpandedNodeId(Commsvr.UA.Examples.BoilersSet.Variables.BoilersArea_BoilerBravo_CustomController_Input1, Commsvr.UA.Examples.BoilersSet.Namespaces.BoilersSet);\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerBravo_CustomController_Input2 Variable.\n        /// </summary>\n        public static readonly ExpandedNodeId BoilersArea_BoilerBravo_CustomController_Input2 = new ExpandedNodeId(Commsvr.UA.Examples.BoilersSet.Variables.BoilersArea_BoilerBravo_CustomController_Input2, Commsvr.UA.Examples.BoilersSet.Namespaces.BoilersSet);\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerBravo_CustomController_Input3 Variable.\n        /// </summary>\n        public static readonly ExpandedNodeId BoilersArea_BoilerBravo_CustomController_Input3 = new ExpandedNodeId(Commsvr.UA.Examples.BoilersSet.Variables.BoilersArea_BoilerBravo_CustomController_Input3, Commsvr.UA.Examples.BoilersSet.Namespaces.BoilersSet);\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerBravo_CustomController_ControlOut Variable.\n        /// </summary>\n        public static readonly ExpandedNodeId BoilersArea_BoilerBravo_CustomController_ControlOut = new ExpandedNodeId(Commsvr.UA.Examples.BoilersSet.Variables.BoilersArea_BoilerBravo_CustomController_ControlOut, Commsvr.UA.Examples.BoilersSet.Namespaces.BoilersSet);\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerBravo_CustomController_DescriptionX Variable.\n        /// </summary>\n        public static readonly ExpandedNodeId BoilersArea_BoilerBravo_CustomController_DescriptionX = new ExpandedNodeId(Commsvr.UA.Examples.BoilersSet.Variables.BoilersArea_BoilerBravo_CustomController_DescriptionX, Commsvr.UA.Examples.BoilersSet.Namespaces.BoilersSet);\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerBravo_Simulation_CurrentState Variable.\n        /// </summary>\n        public static readonly ExpandedNodeId BoilersArea_BoilerBravo_Simulation_CurrentState = new ExpandedNodeId(Commsvr.UA.Examples.BoilersSet.Variables.BoilersArea_BoilerBravo_Simulation_CurrentState, Commsvr.UA.Examples.BoilersSet.Namespaces.BoilersSet);\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerBravo_Simulation_CurrentState_Id Variable.\n        /// </summary>\n        public static readonly ExpandedNodeId BoilersArea_BoilerBravo_Simulation_CurrentState_Id = new ExpandedNodeId(Commsvr.UA.Examples.BoilersSet.Variables.BoilersArea_BoilerBravo_Simulation_CurrentState_Id, Commsvr.UA.Examples.BoilersSet.Namespaces.BoilersSet);\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerBravo_Simulation_CurrentState_Number Variable.\n        /// </summary>\n        public static readonly ExpandedNodeId BoilersArea_BoilerBravo_Simulation_CurrentState_Number = new ExpandedNodeId(Commsvr.UA.Examples.BoilersSet.Variables.BoilersArea_BoilerBravo_Simulation_CurrentState_Number, Commsvr.UA.Examples.BoilersSet.Namespaces.BoilersSet);\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerBravo_Simulation_LastTransition Variable.\n        /// </summary>\n        public static readonly ExpandedNodeId BoilersArea_BoilerBravo_Simulation_LastTransition = new ExpandedNodeId(Commsvr.UA.Examples.BoilersSet.Variables.BoilersArea_BoilerBravo_Simulation_LastTransition, Commsvr.UA.Examples.BoilersSet.Namespaces.BoilersSet);\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerBravo_Simulation_LastTransition_Id Variable.\n        /// </summary>\n        public static readonly ExpandedNodeId BoilersArea_BoilerBravo_Simulation_LastTransition_Id = new ExpandedNodeId(Commsvr.UA.Examples.BoilersSet.Variables.BoilersArea_BoilerBravo_Simulation_LastTransition_Id, Commsvr.UA.Examples.BoilersSet.Namespaces.BoilersSet);\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerBravo_Simulation_LastTransition_Number Variable.\n        /// </summary>\n        public static readonly ExpandedNodeId BoilersArea_BoilerBravo_Simulation_LastTransition_Number = new ExpandedNodeId(Commsvr.UA.Examples.BoilersSet.Variables.BoilersArea_BoilerBravo_Simulation_LastTransition_Number, Commsvr.UA.Examples.BoilersSet.Namespaces.BoilersSet);\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerBravo_Simulation_LastTransition_TransitionTime Variable.\n        /// </summary>\n        public static readonly ExpandedNodeId BoilersArea_BoilerBravo_Simulation_LastTransition_TransitionTime = new ExpandedNodeId(Commsvr.UA.Examples.BoilersSet.Variables.BoilersArea_BoilerBravo_Simulation_LastTransition_TransitionTime, Commsvr.UA.Examples.BoilersSet.Namespaces.BoilersSet);\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerBravo_Simulation_Deletable Variable.\n        /// </summary>\n        public static readonly ExpandedNodeId BoilersArea_BoilerBravo_Simulation_Deletable = new ExpandedNodeId(Commsvr.UA.Examples.BoilersSet.Variables.BoilersArea_BoilerBravo_Simulation_Deletable, Commsvr.UA.Examples.BoilersSet.Namespaces.BoilersSet);\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerBravo_Simulation_RecycleCount Variable.\n        /// </summary>\n        public static readonly ExpandedNodeId BoilersArea_BoilerBravo_Simulation_RecycleCount = new ExpandedNodeId(Commsvr.UA.Examples.BoilersSet.Variables.BoilersArea_BoilerBravo_Simulation_RecycleCount, Commsvr.UA.Examples.BoilersSet.Namespaces.BoilersSet);\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerBravo_Simulation_ProgramDiagnostics_CreateSessionId Variable.\n        /// </summary>\n        public static readonly ExpandedNodeId BoilersArea_BoilerBravo_Simulation_ProgramDiagnostics_CreateSessionId = new ExpandedNodeId(Commsvr.UA.Examples.BoilersSet.Variables.BoilersArea_BoilerBravo_Simulation_ProgramDiagnostics_CreateSessionId, Commsvr.UA.Examples.BoilersSet.Namespaces.BoilersSet);\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerBravo_Simulation_ProgramDiagnostics_CreateClientName Variable.\n        /// </summary>\n        public static readonly ExpandedNodeId BoilersArea_BoilerBravo_Simulation_ProgramDiagnostics_CreateClientName = new ExpandedNodeId(Commsvr.UA.Examples.BoilersSet.Variables.BoilersArea_BoilerBravo_Simulation_ProgramDiagnostics_CreateClientName, Commsvr.UA.Examples.BoilersSet.Namespaces.BoilersSet);\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerBravo_Simulation_ProgramDiagnostics_InvocationCreationTime Variable.\n        /// </summary>\n        public static readonly ExpandedNodeId BoilersArea_BoilerBravo_Simulation_ProgramDiagnostics_InvocationCreationTime = new ExpandedNodeId(Commsvr.UA.Examples.BoilersSet.Variables.BoilersArea_BoilerBravo_Simulation_ProgramDiagnostics_InvocationCreationTime, Commsvr.UA.Examples.BoilersSet.Namespaces.BoilersSet);\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerBravo_Simulation_ProgramDiagnostics_LastTransitionTime Variable.\n        /// </summary>\n        public static readonly ExpandedNodeId BoilersArea_BoilerBravo_Simulation_ProgramDiagnostics_LastTransitionTime = new ExpandedNodeId(Commsvr.UA.Examples.BoilersSet.Variables.BoilersArea_BoilerBravo_Simulation_ProgramDiagnostics_LastTransitionTime, Commsvr.UA.Examples.BoilersSet.Namespaces.BoilersSet);\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerBravo_Simulation_ProgramDiagnostics_LastMethodCall Variable.\n        /// </summary>\n        public static readonly ExpandedNodeId BoilersArea_BoilerBravo_Simulation_ProgramDiagnostics_LastMethodCall = new ExpandedNodeId(Commsvr.UA.Examples.BoilersSet.Variables.BoilersArea_BoilerBravo_Simulation_ProgramDiagnostics_LastMethodCall, Commsvr.UA.Examples.BoilersSet.Namespaces.BoilersSet);\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerBravo_Simulation_ProgramDiagnostics_LastMethodSessionId Variable.\n        /// </summary>\n        public static readonly ExpandedNodeId BoilersArea_BoilerBravo_Simulation_ProgramDiagnostics_LastMethodSessionId = new ExpandedNodeId(Commsvr.UA.Examples.BoilersSet.Variables.BoilersArea_BoilerBravo_Simulation_ProgramDiagnostics_LastMethodSessionId, Commsvr.UA.Examples.BoilersSet.Namespaces.BoilersSet);\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerBravo_Simulation_ProgramDiagnostics_LastMethodInputArguments Variable.\n        /// </summary>\n        public static readonly ExpandedNodeId BoilersArea_BoilerBravo_Simulation_ProgramDiagnostics_LastMethodInputArguments = new ExpandedNodeId(Commsvr.UA.Examples.BoilersSet.Variables.BoilersArea_BoilerBravo_Simulation_ProgramDiagnostics_LastMethodInputArguments, Commsvr.UA.Examples.BoilersSet.Namespaces.BoilersSet);\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerBravo_Simulation_ProgramDiagnostics_LastMethodOutputArguments Variable.\n        /// </summary>\n        public static readonly ExpandedNodeId BoilersArea_BoilerBravo_Simulation_ProgramDiagnostics_LastMethodOutputArguments = new ExpandedNodeId(Commsvr.UA.Examples.BoilersSet.Variables.BoilersArea_BoilerBravo_Simulation_ProgramDiagnostics_LastMethodOutputArguments, Commsvr.UA.Examples.BoilersSet.Namespaces.BoilersSet);\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerBravo_Simulation_ProgramDiagnostics_LastMethodCallTime Variable.\n        /// </summary>\n        public static readonly ExpandedNodeId BoilersArea_BoilerBravo_Simulation_ProgramDiagnostics_LastMethodCallTime = new ExpandedNodeId(Commsvr.UA.Examples.BoilersSet.Variables.BoilersArea_BoilerBravo_Simulation_ProgramDiagnostics_LastMethodCallTime, Commsvr.UA.Examples.BoilersSet.Namespaces.BoilersSet);\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerBravo_Simulation_ProgramDiagnostics_LastMethodReturnStatus Variable.\n        /// </summary>\n        public static readonly ExpandedNodeId BoilersArea_BoilerBravo_Simulation_ProgramDiagnostics_LastMethodReturnStatus = new ExpandedNodeId(Commsvr.UA.Examples.BoilersSet.Variables.BoilersArea_BoilerBravo_Simulation_ProgramDiagnostics_LastMethodReturnStatus, Commsvr.UA.Examples.BoilersSet.Namespaces.BoilersSet);\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerBravo_Simulation_UpdateRate Variable.\n        /// </summary>\n        public static readonly ExpandedNodeId BoilersArea_BoilerBravo_Simulation_UpdateRate = new ExpandedNodeId(Commsvr.UA.Examples.BoilersSet.Variables.BoilersArea_BoilerBravo_Simulation_UpdateRate, Commsvr.UA.Examples.BoilersSet.Namespaces.BoilersSet);\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerCharlie_InputPipe_FlowTransmitter1_Output Variable.\n        /// </summary>\n        public static readonly ExpandedNodeId BoilersArea_BoilerCharlie_InputPipe_FlowTransmitter1_Output = new ExpandedNodeId(Commsvr.UA.Examples.BoilersSet.Variables.BoilersArea_BoilerCharlie_InputPipe_FlowTransmitter1_Output, Commsvr.UA.Examples.BoilersSet.Namespaces.BoilersSet);\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerCharlie_InputPipe_FlowTransmitter1_Output_EURange Variable.\n        /// </summary>\n        public static readonly ExpandedNodeId BoilersArea_BoilerCharlie_InputPipe_FlowTransmitter1_Output_EURange = new ExpandedNodeId(Commsvr.UA.Examples.BoilersSet.Variables.BoilersArea_BoilerCharlie_InputPipe_FlowTransmitter1_Output_EURange, Commsvr.UA.Examples.BoilersSet.Namespaces.BoilersSet);\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerCharlie_InputPipe_Valve_Input Variable.\n        /// </summary>\n        public static readonly ExpandedNodeId BoilersArea_BoilerCharlie_InputPipe_Valve_Input = new ExpandedNodeId(Commsvr.UA.Examples.BoilersSet.Variables.BoilersArea_BoilerCharlie_InputPipe_Valve_Input, Commsvr.UA.Examples.BoilersSet.Namespaces.BoilersSet);\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerCharlie_InputPipe_Valve_Input_EURange Variable.\n        /// </summary>\n        public static readonly ExpandedNodeId BoilersArea_BoilerCharlie_InputPipe_Valve_Input_EURange = new ExpandedNodeId(Commsvr.UA.Examples.BoilersSet.Variables.BoilersArea_BoilerCharlie_InputPipe_Valve_Input_EURange, Commsvr.UA.Examples.BoilersSet.Namespaces.BoilersSet);\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerCharlie_Drum_LevelIndicator_Output Variable.\n        /// </summary>\n        public static readonly ExpandedNodeId BoilersArea_BoilerCharlie_Drum_LevelIndicator_Output = new ExpandedNodeId(Commsvr.UA.Examples.BoilersSet.Variables.BoilersArea_BoilerCharlie_Drum_LevelIndicator_Output, Commsvr.UA.Examples.BoilersSet.Namespaces.BoilersSet);\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerCharlie_Drum_LevelIndicator_Output_EURange Variable.\n        /// </summary>\n        public static readonly ExpandedNodeId BoilersArea_BoilerCharlie_Drum_LevelIndicator_Output_EURange = new ExpandedNodeId(Commsvr.UA.Examples.BoilersSet.Variables.BoilersArea_BoilerCharlie_Drum_LevelIndicator_Output_EURange, Commsvr.UA.Examples.BoilersSet.Namespaces.BoilersSet);\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerCharlie_OutputPipe_FlowTransmitter2_Output Variable.\n        /// </summary>\n        public static readonly ExpandedNodeId BoilersArea_BoilerCharlie_OutputPipe_FlowTransmitter2_Output = new ExpandedNodeId(Commsvr.UA.Examples.BoilersSet.Variables.BoilersArea_BoilerCharlie_OutputPipe_FlowTransmitter2_Output, Commsvr.UA.Examples.BoilersSet.Namespaces.BoilersSet);\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerCharlie_OutputPipe_FlowTransmitter2_Output_EURange Variable.\n        /// </summary>\n        public static readonly ExpandedNodeId BoilersArea_BoilerCharlie_OutputPipe_FlowTransmitter2_Output_EURange = new ExpandedNodeId(Commsvr.UA.Examples.BoilersSet.Variables.BoilersArea_BoilerCharlie_OutputPipe_FlowTransmitter2_Output_EURange, Commsvr.UA.Examples.BoilersSet.Namespaces.BoilersSet);\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerCharlie_FlowController_Measurement Variable.\n        /// </summary>\n        public static readonly ExpandedNodeId BoilersArea_BoilerCharlie_FlowController_Measurement = new ExpandedNodeId(Commsvr.UA.Examples.BoilersSet.Variables.BoilersArea_BoilerCharlie_FlowController_Measurement, Commsvr.UA.Examples.BoilersSet.Namespaces.BoilersSet);\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerCharlie_FlowController_SetPoint Variable.\n        /// </summary>\n        public static readonly ExpandedNodeId BoilersArea_BoilerCharlie_FlowController_SetPoint = new ExpandedNodeId(Commsvr.UA.Examples.BoilersSet.Variables.BoilersArea_BoilerCharlie_FlowController_SetPoint, Commsvr.UA.Examples.BoilersSet.Namespaces.BoilersSet);\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerCharlie_FlowController_ControlOut Variable.\n        /// </summary>\n        public static readonly ExpandedNodeId BoilersArea_BoilerCharlie_FlowController_ControlOut = new ExpandedNodeId(Commsvr.UA.Examples.BoilersSet.Variables.BoilersArea_BoilerCharlie_FlowController_ControlOut, Commsvr.UA.Examples.BoilersSet.Namespaces.BoilersSet);\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerCharlie_LevelController_Measurement Variable.\n        /// </summary>\n        public static readonly ExpandedNodeId BoilersArea_BoilerCharlie_LevelController_Measurement = new ExpandedNodeId(Commsvr.UA.Examples.BoilersSet.Variables.BoilersArea_BoilerCharlie_LevelController_Measurement, Commsvr.UA.Examples.BoilersSet.Namespaces.BoilersSet);\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerCharlie_LevelController_SetPoint Variable.\n        /// </summary>\n        public static readonly ExpandedNodeId BoilersArea_BoilerCharlie_LevelController_SetPoint = new ExpandedNodeId(Commsvr.UA.Examples.BoilersSet.Variables.BoilersArea_BoilerCharlie_LevelController_SetPoint, Commsvr.UA.Examples.BoilersSet.Namespaces.BoilersSet);\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerCharlie_LevelController_ControlOut Variable.\n        /// </summary>\n        public static readonly ExpandedNodeId BoilersArea_BoilerCharlie_LevelController_ControlOut = new ExpandedNodeId(Commsvr.UA.Examples.BoilersSet.Variables.BoilersArea_BoilerCharlie_LevelController_ControlOut, Commsvr.UA.Examples.BoilersSet.Namespaces.BoilersSet);\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerCharlie_CustomController_Input1 Variable.\n        /// </summary>\n        public static readonly ExpandedNodeId BoilersArea_BoilerCharlie_CustomController_Input1 = new ExpandedNodeId(Commsvr.UA.Examples.BoilersSet.Variables.BoilersArea_BoilerCharlie_CustomController_Input1, Commsvr.UA.Examples.BoilersSet.Namespaces.BoilersSet);\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerCharlie_CustomController_Input2 Variable.\n        /// </summary>\n        public static readonly ExpandedNodeId BoilersArea_BoilerCharlie_CustomController_Input2 = new ExpandedNodeId(Commsvr.UA.Examples.BoilersSet.Variables.BoilersArea_BoilerCharlie_CustomController_Input2, Commsvr.UA.Examples.BoilersSet.Namespaces.BoilersSet);\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerCharlie_CustomController_Input3 Variable.\n        /// </summary>\n        public static readonly ExpandedNodeId BoilersArea_BoilerCharlie_CustomController_Input3 = new ExpandedNodeId(Commsvr.UA.Examples.BoilersSet.Variables.BoilersArea_BoilerCharlie_CustomController_Input3, Commsvr.UA.Examples.BoilersSet.Namespaces.BoilersSet);\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerCharlie_CustomController_ControlOut Variable.\n        /// </summary>\n        public static readonly ExpandedNodeId BoilersArea_BoilerCharlie_CustomController_ControlOut = new ExpandedNodeId(Commsvr.UA.Examples.BoilersSet.Variables.BoilersArea_BoilerCharlie_CustomController_ControlOut, Commsvr.UA.Examples.BoilersSet.Namespaces.BoilersSet);\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerCharlie_CustomController_DescriptionX Variable.\n        /// </summary>\n        public static readonly ExpandedNodeId BoilersArea_BoilerCharlie_CustomController_DescriptionX = new ExpandedNodeId(Commsvr.UA.Examples.BoilersSet.Variables.BoilersArea_BoilerCharlie_CustomController_DescriptionX, Commsvr.UA.Examples.BoilersSet.Namespaces.BoilersSet);\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerCharlie_Simulation_CurrentState Variable.\n        /// </summary>\n        public static readonly ExpandedNodeId BoilersArea_BoilerCharlie_Simulation_CurrentState = new ExpandedNodeId(Commsvr.UA.Examples.BoilersSet.Variables.BoilersArea_BoilerCharlie_Simulation_CurrentState, Commsvr.UA.Examples.BoilersSet.Namespaces.BoilersSet);\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerCharlie_Simulation_CurrentState_Id Variable.\n        /// </summary>\n        public static readonly ExpandedNodeId BoilersArea_BoilerCharlie_Simulation_CurrentState_Id = new ExpandedNodeId(Commsvr.UA.Examples.BoilersSet.Variables.BoilersArea_BoilerCharlie_Simulation_CurrentState_Id, Commsvr.UA.Examples.BoilersSet.Namespaces.BoilersSet);\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerCharlie_Simulation_CurrentState_Number Variable.\n        /// </summary>\n        public static readonly ExpandedNodeId BoilersArea_BoilerCharlie_Simulation_CurrentState_Number = new ExpandedNodeId(Commsvr.UA.Examples.BoilersSet.Variables.BoilersArea_BoilerCharlie_Simulation_CurrentState_Number, Commsvr.UA.Examples.BoilersSet.Namespaces.BoilersSet);\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerCharlie_Simulation_LastTransition Variable.\n        /// </summary>\n        public static readonly ExpandedNodeId BoilersArea_BoilerCharlie_Simulation_LastTransition = new ExpandedNodeId(Commsvr.UA.Examples.BoilersSet.Variables.BoilersArea_BoilerCharlie_Simulation_LastTransition, Commsvr.UA.Examples.BoilersSet.Namespaces.BoilersSet);\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerCharlie_Simulation_LastTransition_Id Variable.\n        /// </summary>\n        public static readonly ExpandedNodeId BoilersArea_BoilerCharlie_Simulation_LastTransition_Id = new ExpandedNodeId(Commsvr.UA.Examples.BoilersSet.Variables.BoilersArea_BoilerCharlie_Simulation_LastTransition_Id, Commsvr.UA.Examples.BoilersSet.Namespaces.BoilersSet);\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerCharlie_Simulation_LastTransition_Number Variable.\n        /// </summary>\n        public static readonly ExpandedNodeId BoilersArea_BoilerCharlie_Simulation_LastTransition_Number = new ExpandedNodeId(Commsvr.UA.Examples.BoilersSet.Variables.BoilersArea_BoilerCharlie_Simulation_LastTransition_Number, Commsvr.UA.Examples.BoilersSet.Namespaces.BoilersSet);\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerCharlie_Simulation_LastTransition_TransitionTime Variable.\n        /// </summary>\n        public static readonly ExpandedNodeId BoilersArea_BoilerCharlie_Simulation_LastTransition_TransitionTime = new ExpandedNodeId(Commsvr.UA.Examples.BoilersSet.Variables.BoilersArea_BoilerCharlie_Simulation_LastTransition_TransitionTime, Commsvr.UA.Examples.BoilersSet.Namespaces.BoilersSet);\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerCharlie_Simulation_Deletable Variable.\n        /// </summary>\n        public static readonly ExpandedNodeId BoilersArea_BoilerCharlie_Simulation_Deletable = new ExpandedNodeId(Commsvr.UA.Examples.BoilersSet.Variables.BoilersArea_BoilerCharlie_Simulation_Deletable, Commsvr.UA.Examples.BoilersSet.Namespaces.BoilersSet);\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerCharlie_Simulation_RecycleCount Variable.\n        /// </summary>\n        public static readonly ExpandedNodeId BoilersArea_BoilerCharlie_Simulation_RecycleCount = new ExpandedNodeId(Commsvr.UA.Examples.BoilersSet.Variables.BoilersArea_BoilerCharlie_Simulation_RecycleCount, Commsvr.UA.Examples.BoilersSet.Namespaces.BoilersSet);\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerCharlie_Simulation_ProgramDiagnostics_CreateSessionId Variable.\n        /// </summary>\n        public static readonly ExpandedNodeId BoilersArea_BoilerCharlie_Simulation_ProgramDiagnostics_CreateSessionId = new ExpandedNodeId(Commsvr.UA.Examples.BoilersSet.Variables.BoilersArea_BoilerCharlie_Simulation_ProgramDiagnostics_CreateSessionId, Commsvr.UA.Examples.BoilersSet.Namespaces.BoilersSet);\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerCharlie_Simulation_ProgramDiagnostics_CreateClientName Variable.\n        /// </summary>\n        public static readonly ExpandedNodeId BoilersArea_BoilerCharlie_Simulation_ProgramDiagnostics_CreateClientName = new ExpandedNodeId(Commsvr.UA.Examples.BoilersSet.Variables.BoilersArea_BoilerCharlie_Simulation_ProgramDiagnostics_CreateClientName, Commsvr.UA.Examples.BoilersSet.Namespaces.BoilersSet);\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerCharlie_Simulation_ProgramDiagnostics_InvocationCreationTime Variable.\n        /// </summary>\n        public static readonly ExpandedNodeId BoilersArea_BoilerCharlie_Simulation_ProgramDiagnostics_InvocationCreationTime = new ExpandedNodeId(Commsvr.UA.Examples.BoilersSet.Variables.BoilersArea_BoilerCharlie_Simulation_ProgramDiagnostics_InvocationCreationTime, Commsvr.UA.Examples.BoilersSet.Namespaces.BoilersSet);\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerCharlie_Simulation_ProgramDiagnostics_LastTransitionTime Variable.\n        /// </summary>\n        public static readonly ExpandedNodeId BoilersArea_BoilerCharlie_Simulation_ProgramDiagnostics_LastTransitionTime = new ExpandedNodeId(Commsvr.UA.Examples.BoilersSet.Variables.BoilersArea_BoilerCharlie_Simulation_ProgramDiagnostics_LastTransitionTime, Commsvr.UA.Examples.BoilersSet.Namespaces.BoilersSet);\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerCharlie_Simulation_ProgramDiagnostics_LastMethodCall Variable.\n        /// </summary>\n        public static readonly ExpandedNodeId BoilersArea_BoilerCharlie_Simulation_ProgramDiagnostics_LastMethodCall = new ExpandedNodeId(Commsvr.UA.Examples.BoilersSet.Variables.BoilersArea_BoilerCharlie_Simulation_ProgramDiagnostics_LastMethodCall, Commsvr.UA.Examples.BoilersSet.Namespaces.BoilersSet);\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerCharlie_Simulation_ProgramDiagnostics_LastMethodSessionId Variable.\n        /// </summary>\n        public static readonly ExpandedNodeId BoilersArea_BoilerCharlie_Simulation_ProgramDiagnostics_LastMethodSessionId = new ExpandedNodeId(Commsvr.UA.Examples.BoilersSet.Variables.BoilersArea_BoilerCharlie_Simulation_ProgramDiagnostics_LastMethodSessionId, Commsvr.UA.Examples.BoilersSet.Namespaces.BoilersSet);\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerCharlie_Simulation_ProgramDiagnostics_LastMethodInputArguments Variable.\n        /// </summary>\n        public static readonly ExpandedNodeId BoilersArea_BoilerCharlie_Simulation_ProgramDiagnostics_LastMethodInputArguments = new ExpandedNodeId(Commsvr.UA.Examples.BoilersSet.Variables.BoilersArea_BoilerCharlie_Simulation_ProgramDiagnostics_LastMethodInputArguments, Commsvr.UA.Examples.BoilersSet.Namespaces.BoilersSet);\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerCharlie_Simulation_ProgramDiagnostics_LastMethodOutputArguments Variable.\n        /// </summary>\n        public static readonly ExpandedNodeId BoilersArea_BoilerCharlie_Simulation_ProgramDiagnostics_LastMethodOutputArguments = new ExpandedNodeId(Commsvr.UA.Examples.BoilersSet.Variables.BoilersArea_BoilerCharlie_Simulation_ProgramDiagnostics_LastMethodOutputArguments, Commsvr.UA.Examples.BoilersSet.Namespaces.BoilersSet);\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerCharlie_Simulation_ProgramDiagnostics_LastMethodCallTime Variable.\n        /// </summary>\n        public static readonly ExpandedNodeId BoilersArea_BoilerCharlie_Simulation_ProgramDiagnostics_LastMethodCallTime = new ExpandedNodeId(Commsvr.UA.Examples.BoilersSet.Variables.BoilersArea_BoilerCharlie_Simulation_ProgramDiagnostics_LastMethodCallTime, Commsvr.UA.Examples.BoilersSet.Namespaces.BoilersSet);\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerCharlie_Simulation_ProgramDiagnostics_LastMethodReturnStatus Variable.\n        /// </summary>\n        public static readonly ExpandedNodeId BoilersArea_BoilerCharlie_Simulation_ProgramDiagnostics_LastMethodReturnStatus = new ExpandedNodeId(Commsvr.UA.Examples.BoilersSet.Variables.BoilersArea_BoilerCharlie_Simulation_ProgramDiagnostics_LastMethodReturnStatus, Commsvr.UA.Examples.BoilersSet.Namespaces.BoilersSet);\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerCharlie_Simulation_UpdateRate Variable.\n        /// </summary>\n        public static readonly ExpandedNodeId BoilersArea_BoilerCharlie_Simulation_UpdateRate = new ExpandedNodeId(Commsvr.UA.Examples.BoilersSet.Variables.BoilersArea_BoilerCharlie_Simulation_UpdateRate, Commsvr.UA.Examples.BoilersSet.Namespaces.BoilersSet);\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerDelta_InputPipe_FlowTransmitter1_Output Variable.\n        /// </summary>\n        public static readonly ExpandedNodeId BoilersArea_BoilerDelta_InputPipe_FlowTransmitter1_Output = new ExpandedNodeId(Commsvr.UA.Examples.BoilersSet.Variables.BoilersArea_BoilerDelta_InputPipe_FlowTransmitter1_Output, Commsvr.UA.Examples.BoilersSet.Namespaces.BoilersSet);\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerDelta_InputPipe_FlowTransmitter1_Output_EURange Variable.\n        /// </summary>\n        public static readonly ExpandedNodeId BoilersArea_BoilerDelta_InputPipe_FlowTransmitter1_Output_EURange = new ExpandedNodeId(Commsvr.UA.Examples.BoilersSet.Variables.BoilersArea_BoilerDelta_InputPipe_FlowTransmitter1_Output_EURange, Commsvr.UA.Examples.BoilersSet.Namespaces.BoilersSet);\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerDelta_InputPipe_Valve_Input Variable.\n        /// </summary>\n        public static readonly ExpandedNodeId BoilersArea_BoilerDelta_InputPipe_Valve_Input = new ExpandedNodeId(Commsvr.UA.Examples.BoilersSet.Variables.BoilersArea_BoilerDelta_InputPipe_Valve_Input, Commsvr.UA.Examples.BoilersSet.Namespaces.BoilersSet);\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerDelta_InputPipe_Valve_Input_EURange Variable.\n        /// </summary>\n        public static readonly ExpandedNodeId BoilersArea_BoilerDelta_InputPipe_Valve_Input_EURange = new ExpandedNodeId(Commsvr.UA.Examples.BoilersSet.Variables.BoilersArea_BoilerDelta_InputPipe_Valve_Input_EURange, Commsvr.UA.Examples.BoilersSet.Namespaces.BoilersSet);\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerDelta_Drum_LevelIndicator_Output Variable.\n        /// </summary>\n        public static readonly ExpandedNodeId BoilersArea_BoilerDelta_Drum_LevelIndicator_Output = new ExpandedNodeId(Commsvr.UA.Examples.BoilersSet.Variables.BoilersArea_BoilerDelta_Drum_LevelIndicator_Output, Commsvr.UA.Examples.BoilersSet.Namespaces.BoilersSet);\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerDelta_Drum_LevelIndicator_Output_EURange Variable.\n        /// </summary>\n        public static readonly ExpandedNodeId BoilersArea_BoilerDelta_Drum_LevelIndicator_Output_EURange = new ExpandedNodeId(Commsvr.UA.Examples.BoilersSet.Variables.BoilersArea_BoilerDelta_Drum_LevelIndicator_Output_EURange, Commsvr.UA.Examples.BoilersSet.Namespaces.BoilersSet);\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerDelta_OutputPipe_FlowTransmitter2_Output Variable.\n        /// </summary>\n        public static readonly ExpandedNodeId BoilersArea_BoilerDelta_OutputPipe_FlowTransmitter2_Output = new ExpandedNodeId(Commsvr.UA.Examples.BoilersSet.Variables.BoilersArea_BoilerDelta_OutputPipe_FlowTransmitter2_Output, Commsvr.UA.Examples.BoilersSet.Namespaces.BoilersSet);\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerDelta_OutputPipe_FlowTransmitter2_Output_EURange Variable.\n        /// </summary>\n        public static readonly ExpandedNodeId BoilersArea_BoilerDelta_OutputPipe_FlowTransmitter2_Output_EURange = new ExpandedNodeId(Commsvr.UA.Examples.BoilersSet.Variables.BoilersArea_BoilerDelta_OutputPipe_FlowTransmitter2_Output_EURange, Commsvr.UA.Examples.BoilersSet.Namespaces.BoilersSet);\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerDelta_FlowController_Measurement Variable.\n        /// </summary>\n        public static readonly ExpandedNodeId BoilersArea_BoilerDelta_FlowController_Measurement = new ExpandedNodeId(Commsvr.UA.Examples.BoilersSet.Variables.BoilersArea_BoilerDelta_FlowController_Measurement, Commsvr.UA.Examples.BoilersSet.Namespaces.BoilersSet);\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerDelta_FlowController_SetPoint Variable.\n        /// </summary>\n        public static readonly ExpandedNodeId BoilersArea_BoilerDelta_FlowController_SetPoint = new ExpandedNodeId(Commsvr.UA.Examples.BoilersSet.Variables.BoilersArea_BoilerDelta_FlowController_SetPoint, Commsvr.UA.Examples.BoilersSet.Namespaces.BoilersSet);\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerDelta_FlowController_ControlOut Variable.\n        /// </summary>\n        public static readonly ExpandedNodeId BoilersArea_BoilerDelta_FlowController_ControlOut = new ExpandedNodeId(Commsvr.UA.Examples.BoilersSet.Variables.BoilersArea_BoilerDelta_FlowController_ControlOut, Commsvr.UA.Examples.BoilersSet.Namespaces.BoilersSet);\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerDelta_LevelController_Measurement Variable.\n        /// </summary>\n        public static readonly ExpandedNodeId BoilersArea_BoilerDelta_LevelController_Measurement = new ExpandedNodeId(Commsvr.UA.Examples.BoilersSet.Variables.BoilersArea_BoilerDelta_LevelController_Measurement, Commsvr.UA.Examples.BoilersSet.Namespaces.BoilersSet);\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerDelta_LevelController_SetPoint Variable.\n        /// </summary>\n        public static readonly ExpandedNodeId BoilersArea_BoilerDelta_LevelController_SetPoint = new ExpandedNodeId(Commsvr.UA.Examples.BoilersSet.Variables.BoilersArea_BoilerDelta_LevelController_SetPoint, Commsvr.UA.Examples.BoilersSet.Namespaces.BoilersSet);\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerDelta_LevelController_ControlOut Variable.\n        /// </summary>\n        public static readonly ExpandedNodeId BoilersArea_BoilerDelta_LevelController_ControlOut = new ExpandedNodeId(Commsvr.UA.Examples.BoilersSet.Variables.BoilersArea_BoilerDelta_LevelController_ControlOut, Commsvr.UA.Examples.BoilersSet.Namespaces.BoilersSet);\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerDelta_CustomController_Input1 Variable.\n        /// </summary>\n        public static readonly ExpandedNodeId BoilersArea_BoilerDelta_CustomController_Input1 = new ExpandedNodeId(Commsvr.UA.Examples.BoilersSet.Variables.BoilersArea_BoilerDelta_CustomController_Input1, Commsvr.UA.Examples.BoilersSet.Namespaces.BoilersSet);\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerDelta_CustomController_Input2 Variable.\n        /// </summary>\n        public static readonly ExpandedNodeId BoilersArea_BoilerDelta_CustomController_Input2 = new ExpandedNodeId(Commsvr.UA.Examples.BoilersSet.Variables.BoilersArea_BoilerDelta_CustomController_Input2, Commsvr.UA.Examples.BoilersSet.Namespaces.BoilersSet);\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerDelta_CustomController_Input3 Variable.\n        /// </summary>\n        public static readonly ExpandedNodeId BoilersArea_BoilerDelta_CustomController_Input3 = new ExpandedNodeId(Commsvr.UA.Examples.BoilersSet.Variables.BoilersArea_BoilerDelta_CustomController_Input3, Commsvr.UA.Examples.BoilersSet.Namespaces.BoilersSet);\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerDelta_CustomController_ControlOut Variable.\n        /// </summary>\n        public static readonly ExpandedNodeId BoilersArea_BoilerDelta_CustomController_ControlOut = new ExpandedNodeId(Commsvr.UA.Examples.BoilersSet.Variables.BoilersArea_BoilerDelta_CustomController_ControlOut, Commsvr.UA.Examples.BoilersSet.Namespaces.BoilersSet);\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerDelta_CustomController_DescriptionX Variable.\n        /// </summary>\n        public static readonly ExpandedNodeId BoilersArea_BoilerDelta_CustomController_DescriptionX = new ExpandedNodeId(Commsvr.UA.Examples.BoilersSet.Variables.BoilersArea_BoilerDelta_CustomController_DescriptionX, Commsvr.UA.Examples.BoilersSet.Namespaces.BoilersSet);\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerDelta_Simulation_CurrentState Variable.\n        /// </summary>\n        public static readonly ExpandedNodeId BoilersArea_BoilerDelta_Simulation_CurrentState = new ExpandedNodeId(Commsvr.UA.Examples.BoilersSet.Variables.BoilersArea_BoilerDelta_Simulation_CurrentState, Commsvr.UA.Examples.BoilersSet.Namespaces.BoilersSet);\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerDelta_Simulation_CurrentState_Id Variable.\n        /// </summary>\n        public static readonly ExpandedNodeId BoilersArea_BoilerDelta_Simulation_CurrentState_Id = new ExpandedNodeId(Commsvr.UA.Examples.BoilersSet.Variables.BoilersArea_BoilerDelta_Simulation_CurrentState_Id, Commsvr.UA.Examples.BoilersSet.Namespaces.BoilersSet);\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerDelta_Simulation_CurrentState_Number Variable.\n        /// </summary>\n        public static readonly ExpandedNodeId BoilersArea_BoilerDelta_Simulation_CurrentState_Number = new ExpandedNodeId(Commsvr.UA.Examples.BoilersSet.Variables.BoilersArea_BoilerDelta_Simulation_CurrentState_Number, Commsvr.UA.Examples.BoilersSet.Namespaces.BoilersSet);\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerDelta_Simulation_LastTransition Variable.\n        /// </summary>\n        public static readonly ExpandedNodeId BoilersArea_BoilerDelta_Simulation_LastTransition = new ExpandedNodeId(Commsvr.UA.Examples.BoilersSet.Variables.BoilersArea_BoilerDelta_Simulation_LastTransition, Commsvr.UA.Examples.BoilersSet.Namespaces.BoilersSet);\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerDelta_Simulation_LastTransition_Id Variable.\n        /// </summary>\n        public static readonly ExpandedNodeId BoilersArea_BoilerDelta_Simulation_LastTransition_Id = new ExpandedNodeId(Commsvr.UA.Examples.BoilersSet.Variables.BoilersArea_BoilerDelta_Simulation_LastTransition_Id, Commsvr.UA.Examples.BoilersSet.Namespaces.BoilersSet);\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerDelta_Simulation_LastTransition_Number Variable.\n        /// </summary>\n        public static readonly ExpandedNodeId BoilersArea_BoilerDelta_Simulation_LastTransition_Number = new ExpandedNodeId(Commsvr.UA.Examples.BoilersSet.Variables.BoilersArea_BoilerDelta_Simulation_LastTransition_Number, Commsvr.UA.Examples.BoilersSet.Namespaces.BoilersSet);\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerDelta_Simulation_LastTransition_TransitionTime Variable.\n        /// </summary>\n        public static readonly ExpandedNodeId BoilersArea_BoilerDelta_Simulation_LastTransition_TransitionTime = new ExpandedNodeId(Commsvr.UA.Examples.BoilersSet.Variables.BoilersArea_BoilerDelta_Simulation_LastTransition_TransitionTime, Commsvr.UA.Examples.BoilersSet.Namespaces.BoilersSet);\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerDelta_Simulation_Deletable Variable.\n        /// </summary>\n        public static readonly ExpandedNodeId BoilersArea_BoilerDelta_Simulation_Deletable = new ExpandedNodeId(Commsvr.UA.Examples.BoilersSet.Variables.BoilersArea_BoilerDelta_Simulation_Deletable, Commsvr.UA.Examples.BoilersSet.Namespaces.BoilersSet);\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerDelta_Simulation_RecycleCount Variable.\n        /// </summary>\n        public static readonly ExpandedNodeId BoilersArea_BoilerDelta_Simulation_RecycleCount = new ExpandedNodeId(Commsvr.UA.Examples.BoilersSet.Variables.BoilersArea_BoilerDelta_Simulation_RecycleCount, Commsvr.UA.Examples.BoilersSet.Namespaces.BoilersSet);\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerDelta_Simulation_ProgramDiagnostics_CreateSessionId Variable.\n        /// </summary>\n        public static readonly ExpandedNodeId BoilersArea_BoilerDelta_Simulation_ProgramDiagnostics_CreateSessionId = new ExpandedNodeId(Commsvr.UA.Examples.BoilersSet.Variables.BoilersArea_BoilerDelta_Simulation_ProgramDiagnostics_CreateSessionId, Commsvr.UA.Examples.BoilersSet.Namespaces.BoilersSet);\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerDelta_Simulation_ProgramDiagnostics_CreateClientName Variable.\n        /// </summary>\n        public static readonly ExpandedNodeId BoilersArea_BoilerDelta_Simulation_ProgramDiagnostics_CreateClientName = new ExpandedNodeId(Commsvr.UA.Examples.BoilersSet.Variables.BoilersArea_BoilerDelta_Simulation_ProgramDiagnostics_CreateClientName, Commsvr.UA.Examples.BoilersSet.Namespaces.BoilersSet);\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerDelta_Simulation_ProgramDiagnostics_InvocationCreationTime Variable.\n        /// </summary>\n        public static readonly ExpandedNodeId BoilersArea_BoilerDelta_Simulation_ProgramDiagnostics_InvocationCreationTime = new ExpandedNodeId(Commsvr.UA.Examples.BoilersSet.Variables.BoilersArea_BoilerDelta_Simulation_ProgramDiagnostics_InvocationCreationTime, Commsvr.UA.Examples.BoilersSet.Namespaces.BoilersSet);\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerDelta_Simulation_ProgramDiagnostics_LastTransitionTime Variable.\n        /// </summary>\n        public static readonly ExpandedNodeId BoilersArea_BoilerDelta_Simulation_ProgramDiagnostics_LastTransitionTime = new ExpandedNodeId(Commsvr.UA.Examples.BoilersSet.Variables.BoilersArea_BoilerDelta_Simulation_ProgramDiagnostics_LastTransitionTime, Commsvr.UA.Examples.BoilersSet.Namespaces.BoilersSet);\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerDelta_Simulation_ProgramDiagnostics_LastMethodCall Variable.\n        /// </summary>\n        public static readonly ExpandedNodeId BoilersArea_BoilerDelta_Simulation_ProgramDiagnostics_LastMethodCall = new ExpandedNodeId(Commsvr.UA.Examples.BoilersSet.Variables.BoilersArea_BoilerDelta_Simulation_ProgramDiagnostics_LastMethodCall, Commsvr.UA.Examples.BoilersSet.Namespaces.BoilersSet);\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerDelta_Simulation_ProgramDiagnostics_LastMethodSessionId Variable.\n        /// </summary>\n        public static readonly ExpandedNodeId BoilersArea_BoilerDelta_Simulation_ProgramDiagnostics_LastMethodSessionId = new ExpandedNodeId(Commsvr.UA.Examples.BoilersSet.Variables.BoilersArea_BoilerDelta_Simulation_ProgramDiagnostics_LastMethodSessionId, Commsvr.UA.Examples.BoilersSet.Namespaces.BoilersSet);\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerDelta_Simulation_ProgramDiagnostics_LastMethodInputArguments Variable.\n        /// </summary>\n        public static readonly ExpandedNodeId BoilersArea_BoilerDelta_Simulation_ProgramDiagnostics_LastMethodInputArguments = new ExpandedNodeId(Commsvr.UA.Examples.BoilersSet.Variables.BoilersArea_BoilerDelta_Simulation_ProgramDiagnostics_LastMethodInputArguments, Commsvr.UA.Examples.BoilersSet.Namespaces.BoilersSet);\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerDelta_Simulation_ProgramDiagnostics_LastMethodOutputArguments Variable.\n        /// </summary>\n        public static readonly ExpandedNodeId BoilersArea_BoilerDelta_Simulation_ProgramDiagnostics_LastMethodOutputArguments = new ExpandedNodeId(Commsvr.UA.Examples.BoilersSet.Variables.BoilersArea_BoilerDelta_Simulation_ProgramDiagnostics_LastMethodOutputArguments, Commsvr.UA.Examples.BoilersSet.Namespaces.BoilersSet);\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerDelta_Simulation_ProgramDiagnostics_LastMethodCallTime Variable.\n        /// </summary>\n        public static readonly ExpandedNodeId BoilersArea_BoilerDelta_Simulation_ProgramDiagnostics_LastMethodCallTime = new ExpandedNodeId(Commsvr.UA.Examples.BoilersSet.Variables.BoilersArea_BoilerDelta_Simulation_ProgramDiagnostics_LastMethodCallTime, Commsvr.UA.Examples.BoilersSet.Namespaces.BoilersSet);\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerDelta_Simulation_ProgramDiagnostics_LastMethodReturnStatus Variable.\n        /// </summary>\n        public static readonly ExpandedNodeId BoilersArea_BoilerDelta_Simulation_ProgramDiagnostics_LastMethodReturnStatus = new ExpandedNodeId(Commsvr.UA.Examples.BoilersSet.Variables.BoilersArea_BoilerDelta_Simulation_ProgramDiagnostics_LastMethodReturnStatus, Commsvr.UA.Examples.BoilersSet.Namespaces.BoilersSet);\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerDelta_Simulation_UpdateRate Variable.\n        /// </summary>\n        public static readonly ExpandedNodeId BoilersArea_BoilerDelta_Simulation_UpdateRate = new ExpandedNodeId(Commsvr.UA.Examples.BoilersSet.Variables.BoilersArea_BoilerDelta_Simulation_UpdateRate, Commsvr.UA.Examples.BoilersSet.Namespaces.BoilersSet);\n    }\n    #endregion\n\n    #region BrowseName Declarations\n    /// <summary>\n    /// Declares all of the BrowseNames used in the Model Design.\n    /// </summary>\n    public static partial class BrowseNames\n    {\n        /// <summary>\n        /// The BrowseName for the BoilerAlpha component.\n        /// </summary>\n        public const string BoilerAlpha = \"Boiler #1\";\n\n        /// <summary>\n        /// The BrowseName for the BoilerBravo component.\n        /// </summary>\n        public const string BoilerBravo = \"Boiler #2\";\n\n        /// <summary>\n        /// The BrowseName for the BoilerCharlie component.\n        /// </summary>\n        public const string BoilerCharlie = \"Boiler #3\";\n\n        /// <summary>\n        /// The BrowseName for the BoilerDelta component.\n        /// </summary>\n        public const string BoilerDelta = \"Boiler #4\";\n\n        /// <summary>\n        /// The BrowseName for the BoilersArea component.\n        /// </summary>\n        public const string BoilersArea = \"BoilersArea\";\n\n        /// <summary>\n        /// The BrowseName for the Drums component.\n        /// </summary>\n        public const string Drums = \"Drums\";\n\n        /// <summary>\n        /// The BrowseName for the Pipes component.\n        /// </summary>\n        public const string Pipes = \"Pipes\";\n    }\n    #endregion\n\n    #region Namespace Declarations\n    /// <summary>\n    /// Defines constants for all namespaces referenced by the model design.\n    /// </summary>\n    public static partial class Namespaces\n    {\n        /// <summary>\n        /// The URI for the OpcUa namespace (.NET code namespace is 'Opc.Ua').\n        /// </summary>\n        public const string OpcUa = \"http://opcfoundation.org/UA/\";\n\n        /// <summary>\n        /// The URI for the OpcUaXsd namespace (.NET code namespace is 'Opc.Ua').\n        /// </summary>\n        public const string OpcUaXsd = \"http://opcfoundation.org/UA/2008/02/Types.xsd\";\n\n        /// <summary>\n        /// The URI for the BoilerType namespace (.NET code namespace is 'tempuri.org.UA.Examples.BoilerType').\n        /// </summary>\n        public const string BoilerType = \"http://tempuri.org/UA/Examples/BoilerType\";\n\n        /// <summary>\n        /// The URI for the BoilerTypeXsd namespace (.NET code namespace is 'tempuri.org.UA.Examples.BoilerType').\n        /// </summary>\n        public const string BoilerTypeXsd = \"http://tempuri.org/UA/Examples/BoilerType/Types.xsd\";\n\n        /// <summary>\n        /// The URI for the BoilersSet namespace (.NET code namespace is 'Commsvr.UA.Examples.BoilersSet').\n        /// </summary>\n        public const string BoilersSet = \"http://commsvr.com/UA/Examples/BoilersSet\";\n\n        /// <summary>\n        /// The URI for the BoilersSetXsd namespace (.NET code namespace is 'Commsvr.UA.Examples.BoilersSet').\n        /// </summary>\n        public const string BoilersSetXsd = \"http://commsvr.com/UA/Examples/BoilersSet/Types.xsd\";\n    }\n    #endregion\n\n}"
  },
  {
    "path": "Networking/Simulator.Boiler/Model/CustomControllerState.cs",
    "content": "﻿\nusing UAOOI.Networking.Simulator.Boiler.AddressSpace;\nusing UAOOI.SemanticData.UANodeSetValidation.DataSerialization;\n\nnamespace tempuri.org.UA.Examples.BoilerType\n{\n  partial class CustomControllerState\n  {\n    public CustomControllerState(NodeState parent, string browseName) : base(parent, browseName)\n    {\n      this.ControlOut = new PropertyState<double>(this, BrowseNames.ControlOut);\n      this.DescriptionX = new PropertyState<LocalizedText>(this, BrowseNames.DescriptionX);\n      this.Input1 = new PropertyState<double>(this, BrowseNames.Input1);\n      this.Input2 = new PropertyState<double>(this, BrowseNames.Input2);\n      this.Input3 = new PropertyState<double>(this, BrowseNames.Input3);\n    }\n  }\n}\n"
  },
  {
    "path": "Networking/Simulator.Boiler/Model/GenericControllerState.cs",
    "content": "﻿\nusing System;\nusing UAOOI.Networking.Simulator.Boiler.AddressSpace;\nusing UAOOI.Networking.Simulator.Boiler.Model;\nusing UAOOI.SemanticData.UANodeSetValidation.DataSerialization;\n\nnamespace tempuri.org.UA.Examples.BoilerType\n{\n\n  /// <summary>\n  /// Class GenericControllerState - an object representing a generic controller.\n  /// </summary>\n  /// <seealso cref=\"UAOOI.Networking.Simulator.Boiler.AddressSpace.BaseObjectState\" />\n  /// <remarks>This part adds behavior to generated class <see cref=\"GenericControllerState\" /></remarks>\n  public partial class GenericControllerState\n  {\n\n    public GenericControllerState(NodeState parent, QualifiedName browseName) : base(parent, browseName)\n    {\n      this.ControlOut = new PropertyState<double>(this, BrowseNames.ControlOut);\n      this.Measurement = new PropertyState<double>(this, BrowseNames.Measurement);\n      this.SetPoint = new PropertyState<double>(this, BrowseNames.SetPoint);\n    }\n    #region Public Interface\n    /// <summary>\n    /// Updates the measurement and calculates the new control output.\n    /// </summary>\n    public double UpdateMeasurement(AnalogItemState<double> source)\n    {\n      Range range = source.EURange.Value;\n      m_measurement.Value = source.Value;\n      // clamp the set-point.\n      if (range != null)\n      {\n        if (m_setPoint.Value > range.High)\n          m_setPoint.Value = range.High;\n        if (m_setPoint.Value < range.Low)\n          m_setPoint.Value = range.Low;\n      }\n      // calculate error.\n      m_controlOut.Value = m_setPoint.Value - m_measurement.Value;\n      if (range != null)\n      {\n        m_controlOut.Value /= range.Magnitude();\n        if (Math.Abs(m_controlOut.Value) > 1.0)\n          m_controlOut.Value = (m_controlOut.Value < 0) ? -1.0 : +1.0;\n      }\n      // return the new output.\n      return m_controlOut.Value;\n    }\n    #endregion\n  }\n}\n"
  },
  {
    "path": "Networking/Simulator.Boiler/Model/LevelIndicatorState.cs",
    "content": "﻿using UAOOI.Networking.Simulator.Boiler.AddressSpace;\nusing UAOOI.Networking.Simulator.Boiler.Model;\nusing UAOOI.SemanticData.UANodeSetValidation.DataSerialization;\n\nnamespace tempuri.org.UA.Examples.BoilerType\n{\n}\n"
  },
  {
    "path": "Networking/Simulator.Boiler/Model/tempuri.org.UA.Examples.BoilerType.Classes.cs",
    "content": "//___________________________________________________________________________________\n//\n//  Copyright (C) 2021, Mariusz Postol LODZ POLAND.\n//\n//  To be in touch join the community at GITTER: https://gitter.im/mpostol/OPC-UA-OOI\n//___________________________________________________________________________________\n\nusing System;\nusing System.Collections.Generic;\nusing UAOOI.Networking.Simulator.Boiler.AddressSpace;\nusing UAOOI.SemanticData.UANodeSetValidation;\nusing UAOOI.SemanticData.UANodeSetValidation.DataSerialization;\n\nnamespace tempuri.org.UA.Examples.BoilerType\n{\n  #region Object Identifiers\n\n  /// <summary>\n  /// A class that declares constants for all Objects in the Model Design.\n  /// </summary>\n  /// <exclude />\n  [System.CodeDom.Compiler.GeneratedCodeAttribute(\"Opc.Ua.ModelCompiler\", \"1.0.0.0\")]\n  public static partial class Objects\n  {\n    /// <summary>\n    /// The identifier for the BoilerInputPipeType_FlowTransmitter1 Object.\n    /// </summary>\n    public const uint BoilerInputPipeType_FlowTransmitter1 = 121;\n\n    /// <summary>\n    /// The identifier for the BoilerInputPipeType_Valve Object.\n    /// </summary>\n    public const uint BoilerInputPipeType_Valve = 128;\n\n    /// <summary>\n    /// The identifier for the BoilerDrumType_LevelIndicator Object.\n    /// </summary>\n    public const uint BoilerDrumType_LevelIndicator = 136;\n\n    /// <summary>\n    /// The identifier for the BoilerOutputPipeType_FlowTransmitter2 Object.\n    /// </summary>\n    public const uint BoilerOutputPipeType_FlowTransmitter2 = 144;\n\n    /// <summary>\n    /// The identifier for the BoilerType_InputPipe Object.\n    /// </summary>\n    public const uint BoilerType_InputPipe = 152;\n\n    /// <summary>\n    /// The identifier for the BoilerType_InputPipe_FlowTransmitter1 Object.\n    /// </summary>\n    public const uint BoilerType_InputPipe_FlowTransmitter1 = 153;\n\n    /// <summary>\n    /// The identifier for the BoilerType_InputPipe_Valve Object.\n    /// </summary>\n    public const uint BoilerType_InputPipe_Valve = 160;\n\n    /// <summary>\n    /// The identifier for the BoilerType_Drum Object.\n    /// </summary>\n    public const uint BoilerType_Drum = 167;\n\n    /// <summary>\n    /// The identifier for the BoilerType_Drum_LevelIndicator Object.\n    /// </summary>\n    public const uint BoilerType_Drum_LevelIndicator = 168;\n\n    /// <summary>\n    /// The identifier for the BoilerType_OutputPipe Object.\n    /// </summary>\n    public const uint BoilerType_OutputPipe = 175;\n\n    /// <summary>\n    /// The identifier for the BoilerType_OutputPipe_FlowTransmitter2 Object.\n    /// </summary>\n    public const uint BoilerType_OutputPipe_FlowTransmitter2 = 176;\n\n    /// <summary>\n    /// The identifier for the BoilerType_FlowController Object.\n    /// </summary>\n    public const uint BoilerType_FlowController = 183;\n\n    /// <summary>\n    /// The identifier for the BoilerType_LevelController Object.\n    /// </summary>\n    public const uint BoilerType_LevelController = 187;\n\n    /// <summary>\n    /// The identifier for the BoilerType_CustomController Object.\n    /// </summary>\n    public const uint BoilerType_CustomController = 191;\n\n    /// <summary>\n    /// The identifier for the BoilerType_Simulation Object.\n    /// </summary>\n    public const uint BoilerType_Simulation = 197;\n  }\n\n  #endregion Object Identifiers\n\n  #region ObjectType Identifiers\n\n  /// <summary>\n  /// A class that declares constants for all ObjectTypes in the Model Design.\n  /// </summary>\n  /// <exclude />\n  [System.CodeDom.Compiler.GeneratedCodeAttribute(\"Opc.Ua.ModelCompiler\", \"1.0.0.0\")]\n  public static partial class ObjectTypes\n  {\n    /// <summary>\n    /// The identifier for the GenericControllerType ObjectType.\n    /// </summary>\n    public const uint GenericControllerType = 4;\n\n    /// <summary>\n    /// The identifier for the GenericSensorType ObjectType.\n    /// </summary>\n    public const uint GenericSensorType = 8;\n\n    /// <summary>\n    /// The identifier for the GenericActuatorType ObjectType.\n    /// </summary>\n    public const uint GenericActuatorType = 15;\n\n    /// <summary>\n    /// The identifier for the CustomControllerType ObjectType.\n    /// </summary>\n    public const uint CustomControllerType = 22;\n\n    /// <summary>\n    /// The identifier for the ValveType ObjectType.\n    /// </summary>\n    public const uint ValveType = 28;\n\n    /// <summary>\n    /// The identifier for the LevelControllerType ObjectType.\n    /// </summary>\n    public const uint LevelControllerType = 35;\n\n    /// <summary>\n    /// The identifier for the FlowControllerType ObjectType.\n    /// </summary>\n    public const uint FlowControllerType = 39;\n\n    /// <summary>\n    /// The identifier for the LevelIndicatorType ObjectType.\n    /// </summary>\n    public const uint LevelIndicatorType = 43;\n\n    /// <summary>\n    /// The identifier for the FlowTransmitterType ObjectType.\n    /// </summary>\n    public const uint FlowTransmitterType = 50;\n\n    /// <summary>\n    /// The identifier for the BoilerStateMachineType ObjectType.\n    /// </summary>\n    public const uint BoilerStateMachineType = 57;\n\n    /// <summary>\n    /// The identifier for the BoilerInputPipeType ObjectType.\n    /// </summary>\n    public const uint BoilerInputPipeType = 120;\n\n    /// <summary>\n    /// The identifier for the BoilerDrumType ObjectType.\n    /// </summary>\n    public const uint BoilerDrumType = 135;\n\n    /// <summary>\n    /// The identifier for the BoilerOutputPipeType ObjectType.\n    /// </summary>\n    public const uint BoilerOutputPipeType = 143;\n\n    /// <summary>\n    /// The identifier for the BoilerType ObjectType.\n    /// </summary>\n    public const uint BoilerType = 151;\n  }\n\n  #endregion ObjectType Identifiers\n\n  #region ReferenceType Identifiers\n\n  /// <summary>\n  /// A class that declares constants for all ReferenceTypes in the Model Design.\n  /// </summary>\n  /// <exclude />\n  [System.CodeDom.Compiler.GeneratedCodeAttribute(\"Opc.Ua.ModelCompiler\", \"1.0.0.0\")]\n  public static partial class ReferenceTypes\n  {\n    /// <summary>\n    /// The identifier for the FlowTo ReferenceType.\n    /// </summary>\n    public const uint FlowTo = 1;\n\n    /// <summary>\n    /// The identifier for the HotFlowTo ReferenceType.\n    /// </summary>\n    public const uint HotFlowTo = 2;\n\n    /// <summary>\n    /// The identifier for the SignalTo ReferenceType.\n    /// </summary>\n    public const uint SignalTo = 3;\n  }\n\n  #endregion ReferenceType Identifiers\n\n  #region Variable Identifiers\n\n  /// <summary>\n  /// A class that declares constants for all Variables in the Model Design.\n  /// </summary>\n  /// <exclude />\n  [System.CodeDom.Compiler.GeneratedCodeAttribute(\"Opc.Ua.ModelCompiler\", \"1.0.0.0\")]\n  public static partial class Variables\n  {\n    /// <summary>\n    /// The identifier for the GenericControllerType_Measurement Variable.\n    /// </summary>\n    public const uint GenericControllerType_Measurement = 5;\n\n    /// <summary>\n    /// The identifier for the GenericControllerType_SetPoint Variable.\n    /// </summary>\n    public const uint GenericControllerType_SetPoint = 6;\n\n    /// <summary>\n    /// The identifier for the GenericControllerType_ControlOut Variable.\n    /// </summary>\n    public const uint GenericControllerType_ControlOut = 7;\n\n    /// <summary>\n    /// The identifier for the GenericSensorType_Output Variable.\n    /// </summary>\n    public const uint GenericSensorType_Output = 9;\n\n    /// <summary>\n    /// The identifier for the GenericSensorType_Output_EURange Variable.\n    /// </summary>\n    public const uint GenericSensorType_Output_EURange = 13;\n\n    /// <summary>\n    /// The identifier for the GenericActuatorType_Input Variable.\n    /// </summary>\n    public const uint GenericActuatorType_Input = 16;\n\n    /// <summary>\n    /// The identifier for the GenericActuatorType_Input_EURange Variable.\n    /// </summary>\n    public const uint GenericActuatorType_Input_EURange = 20;\n\n    /// <summary>\n    /// The identifier for the CustomControllerType_Input1 Variable.\n    /// </summary>\n    public const uint CustomControllerType_Input1 = 23;\n\n    /// <summary>\n    /// The identifier for the CustomControllerType_Input2 Variable.\n    /// </summary>\n    public const uint CustomControllerType_Input2 = 24;\n\n    /// <summary>\n    /// The identifier for the CustomControllerType_Input3 Variable.\n    /// </summary>\n    public const uint CustomControllerType_Input3 = 25;\n\n    /// <summary>\n    /// The identifier for the CustomControllerType_ControlOut Variable.\n    /// </summary>\n    public const uint CustomControllerType_ControlOut = 26;\n\n    /// <summary>\n    /// The identifier for the CustomControllerType_DescriptionX Variable.\n    /// </summary>\n    public const uint CustomControllerType_DescriptionX = 27;\n\n    /// <summary>\n    /// The identifier for the BoilerStateMachineType_UpdateRate Variable.\n    /// </summary>\n    public const uint BoilerStateMachineType_UpdateRate = 119;\n\n    /// <summary>\n    /// The identifier for the BoilerType_InputPipe_FlowTransmitter1_Output Variable.\n    /// </summary>\n    public const uint BoilerType_InputPipe_FlowTransmitter1_Output = 154;\n\n    /// <summary>\n    /// The identifier for the BoilerType_InputPipe_Valve_Input Variable.\n    /// </summary>\n    public const uint BoilerType_InputPipe_Valve_Input = 161;\n\n    /// <summary>\n    /// The identifier for the BoilerType_Drum_LevelIndicator_Output Variable.\n    /// </summary>\n    public const uint BoilerType_Drum_LevelIndicator_Output = 169;\n\n    /// <summary>\n    /// The identifier for the BoilerType_OutputPipe_FlowTransmitter2_Output Variable.\n    /// </summary>\n    public const uint BoilerType_OutputPipe_FlowTransmitter2_Output = 177;\n\n    /// <summary>\n    /// The identifier for the BoilerType_FlowController_Measurement Variable.\n    /// </summary>\n    public const uint BoilerType_FlowController_Measurement = 184;\n\n    /// <summary>\n    /// The identifier for the BoilerType_FlowController_SetPoint Variable.\n    /// </summary>\n    public const uint BoilerType_FlowController_SetPoint = 185;\n\n    /// <summary>\n    /// The identifier for the BoilerType_FlowController_ControlOut Variable.\n    /// </summary>\n    public const uint BoilerType_FlowController_ControlOut = 186;\n\n    /// <summary>\n    /// The identifier for the BoilerType_LevelController_Measurement Variable.\n    /// </summary>\n    public const uint BoilerType_LevelController_Measurement = 188;\n\n    /// <summary>\n    /// The identifier for the BoilerType_LevelController_SetPoint Variable.\n    /// </summary>\n    public const uint BoilerType_LevelController_SetPoint = 189;\n\n    /// <summary>\n    /// The identifier for the BoilerType_LevelController_ControlOut Variable.\n    /// </summary>\n    public const uint BoilerType_LevelController_ControlOut = 190;\n\n    /// <summary>\n    /// The identifier for the BoilerType_CustomController_Input1 Variable.\n    /// </summary>\n    public const uint BoilerType_CustomController_Input1 = 192;\n\n    /// <summary>\n    /// The identifier for the BoilerType_CustomController_Input2 Variable.\n    /// </summary>\n    public const uint BoilerType_CustomController_Input2 = 193;\n\n    /// <summary>\n    /// The identifier for the BoilerType_CustomController_Input3 Variable.\n    /// </summary>\n    public const uint BoilerType_CustomController_Input3 = 194;\n\n    /// <summary>\n    /// The identifier for the BoilerType_CustomController_ControlOut Variable.\n    /// </summary>\n    public const uint BoilerType_CustomController_ControlOut = 195;\n\n    /// <summary>\n    /// The identifier for the BoilerType_CustomController_DescriptionX Variable.\n    /// </summary>\n    public const uint BoilerType_CustomController_DescriptionX = 196;\n\n    /// <summary>\n    /// The identifier for the BoilerType_Simulation_UpdateRate Variable.\n    /// </summary>\n    public const uint BoilerType_Simulation_UpdateRate = 229;\n  }\n\n  #endregion Variable Identifiers\n\n  #region Object Node Identifiers\n\n  /// <summary>\n  /// A class that declares constants for all Objects in the Model Design.\n  /// </summary>\n  /// <exclude />\n  [System.CodeDom.Compiler.GeneratedCodeAttribute(\"Opc.Ua.ModelCompiler\", \"1.0.0.0\")]\n  public static partial class ObjectIds\n  {\n    /// <summary>\n    /// The identifier for the BoilerInputPipeType_FlowTransmitter1 Object.\n    /// </summary>\n    public static readonly ExpandedNodeId BoilerInputPipeType_FlowTransmitter1 = new ExpandedNodeId(tempuri.org.UA.Examples.BoilerType.Objects.BoilerInputPipeType_FlowTransmitter1, tempuri.org.UA.Examples.BoilerType.Namespaces.BoilerType);\n\n    /// <summary>\n    /// The identifier for the BoilerInputPipeType_Valve Object.\n    /// </summary>\n    public static readonly ExpandedNodeId BoilerInputPipeType_Valve = new ExpandedNodeId(tempuri.org.UA.Examples.BoilerType.Objects.BoilerInputPipeType_Valve, tempuri.org.UA.Examples.BoilerType.Namespaces.BoilerType);\n\n    /// <summary>\n    /// The identifier for the BoilerDrumType_LevelIndicator Object.\n    /// </summary>\n    public static readonly ExpandedNodeId BoilerDrumType_LevelIndicator = new ExpandedNodeId(tempuri.org.UA.Examples.BoilerType.Objects.BoilerDrumType_LevelIndicator, tempuri.org.UA.Examples.BoilerType.Namespaces.BoilerType);\n\n    /// <summary>\n    /// The identifier for the BoilerOutputPipeType_FlowTransmitter2 Object.\n    /// </summary>\n    public static readonly ExpandedNodeId BoilerOutputPipeType_FlowTransmitter2 = new ExpandedNodeId(tempuri.org.UA.Examples.BoilerType.Objects.BoilerOutputPipeType_FlowTransmitter2, tempuri.org.UA.Examples.BoilerType.Namespaces.BoilerType);\n\n    /// <summary>\n    /// The identifier for the BoilerType_InputPipe Object.\n    /// </summary>\n    public static readonly ExpandedNodeId BoilerType_InputPipe = new ExpandedNodeId(tempuri.org.UA.Examples.BoilerType.Objects.BoilerType_InputPipe, tempuri.org.UA.Examples.BoilerType.Namespaces.BoilerType);\n\n    /// <summary>\n    /// The identifier for the BoilerType_InputPipe_FlowTransmitter1 Object.\n    /// </summary>\n    public static readonly ExpandedNodeId BoilerType_InputPipe_FlowTransmitter1 = new ExpandedNodeId(tempuri.org.UA.Examples.BoilerType.Objects.BoilerType_InputPipe_FlowTransmitter1, tempuri.org.UA.Examples.BoilerType.Namespaces.BoilerType);\n\n    /// <summary>\n    /// The identifier for the BoilerType_InputPipe_Valve Object.\n    /// </summary>\n    public static readonly ExpandedNodeId BoilerType_InputPipe_Valve = new ExpandedNodeId(tempuri.org.UA.Examples.BoilerType.Objects.BoilerType_InputPipe_Valve, tempuri.org.UA.Examples.BoilerType.Namespaces.BoilerType);\n\n    /// <summary>\n    /// The identifier for the BoilerType_Drum Object.\n    /// </summary>\n    public static readonly ExpandedNodeId BoilerType_Drum = new ExpandedNodeId(tempuri.org.UA.Examples.BoilerType.Objects.BoilerType_Drum, tempuri.org.UA.Examples.BoilerType.Namespaces.BoilerType);\n\n    /// <summary>\n    /// The identifier for the BoilerType_Drum_LevelIndicator Object.\n    /// </summary>\n    public static readonly ExpandedNodeId BoilerType_Drum_LevelIndicator = new ExpandedNodeId(tempuri.org.UA.Examples.BoilerType.Objects.BoilerType_Drum_LevelIndicator, tempuri.org.UA.Examples.BoilerType.Namespaces.BoilerType);\n\n    /// <summary>\n    /// The identifier for the BoilerType_OutputPipe Object.\n    /// </summary>\n    public static readonly ExpandedNodeId BoilerType_OutputPipe = new ExpandedNodeId(tempuri.org.UA.Examples.BoilerType.Objects.BoilerType_OutputPipe, tempuri.org.UA.Examples.BoilerType.Namespaces.BoilerType);\n\n    /// <summary>\n    /// The identifier for the BoilerType_OutputPipe_FlowTransmitter2 Object.\n    /// </summary>\n    public static readonly ExpandedNodeId BoilerType_OutputPipe_FlowTransmitter2 = new ExpandedNodeId(tempuri.org.UA.Examples.BoilerType.Objects.BoilerType_OutputPipe_FlowTransmitter2, tempuri.org.UA.Examples.BoilerType.Namespaces.BoilerType);\n\n    /// <summary>\n    /// The identifier for the BoilerType_FlowController Object.\n    /// </summary>\n    public static readonly ExpandedNodeId BoilerType_FlowController = new ExpandedNodeId(tempuri.org.UA.Examples.BoilerType.Objects.BoilerType_FlowController, tempuri.org.UA.Examples.BoilerType.Namespaces.BoilerType);\n\n    /// <summary>\n    /// The identifier for the BoilerType_LevelController Object.\n    /// </summary>\n    public static readonly ExpandedNodeId BoilerType_LevelController = new ExpandedNodeId(tempuri.org.UA.Examples.BoilerType.Objects.BoilerType_LevelController, tempuri.org.UA.Examples.BoilerType.Namespaces.BoilerType);\n\n    /// <summary>\n    /// The identifier for the BoilerType_CustomController Object.\n    /// </summary>\n    public static readonly ExpandedNodeId BoilerType_CustomController = new ExpandedNodeId(tempuri.org.UA.Examples.BoilerType.Objects.BoilerType_CustomController, tempuri.org.UA.Examples.BoilerType.Namespaces.BoilerType);\n\n    /// <summary>\n    /// The identifier for the BoilerType_Simulation Object.\n    /// </summary>\n    public static readonly ExpandedNodeId BoilerType_Simulation = new ExpandedNodeId(tempuri.org.UA.Examples.BoilerType.Objects.BoilerType_Simulation, tempuri.org.UA.Examples.BoilerType.Namespaces.BoilerType);\n  }\n\n  #endregion Object Node Identifiers\n\n  #region ObjectType Node Identifiers\n\n  /// <summary>\n  /// A class that declares constants for all ObjectTypes in the Model Design.\n  /// </summary>\n  /// <exclude />\n  [System.CodeDom.Compiler.GeneratedCodeAttribute(\"Opc.Ua.ModelCompiler\", \"1.0.0.0\")]\n  public static partial class ObjectTypeIds\n  {\n    /// <summary>\n    /// The identifier for the GenericControllerType ObjectType.\n    /// </summary>\n    public static readonly ExpandedNodeId GenericControllerType = new ExpandedNodeId(tempuri.org.UA.Examples.BoilerType.ObjectTypes.GenericControllerType, tempuri.org.UA.Examples.BoilerType.Namespaces.BoilerType);\n\n    /// <summary>\n    /// The identifier for the GenericSensorType ObjectType.\n    /// </summary>\n    public static readonly ExpandedNodeId GenericSensorType = new ExpandedNodeId(tempuri.org.UA.Examples.BoilerType.ObjectTypes.GenericSensorType, tempuri.org.UA.Examples.BoilerType.Namespaces.BoilerType);\n\n    /// <summary>\n    /// The identifier for the GenericActuatorType ObjectType.\n    /// </summary>\n    public static readonly ExpandedNodeId GenericActuatorType = new ExpandedNodeId(tempuri.org.UA.Examples.BoilerType.ObjectTypes.GenericActuatorType, tempuri.org.UA.Examples.BoilerType.Namespaces.BoilerType);\n\n    /// <summary>\n    /// The identifier for the CustomControllerType ObjectType.\n    /// </summary>\n    public static readonly ExpandedNodeId CustomControllerType = new ExpandedNodeId(tempuri.org.UA.Examples.BoilerType.ObjectTypes.CustomControllerType, tempuri.org.UA.Examples.BoilerType.Namespaces.BoilerType);\n\n    /// <summary>\n    /// The identifier for the ValveType ObjectType.\n    /// </summary>\n    public static readonly ExpandedNodeId ValveType = new ExpandedNodeId(tempuri.org.UA.Examples.BoilerType.ObjectTypes.ValveType, tempuri.org.UA.Examples.BoilerType.Namespaces.BoilerType);\n\n    /// <summary>\n    /// The identifier for the LevelControllerType ObjectType.\n    /// </summary>\n    public static readonly ExpandedNodeId LevelControllerType = new ExpandedNodeId(tempuri.org.UA.Examples.BoilerType.ObjectTypes.LevelControllerType, tempuri.org.UA.Examples.BoilerType.Namespaces.BoilerType);\n\n    /// <summary>\n    /// The identifier for the FlowControllerType ObjectType.\n    /// </summary>\n    public static readonly ExpandedNodeId FlowControllerType = new ExpandedNodeId(tempuri.org.UA.Examples.BoilerType.ObjectTypes.FlowControllerType, tempuri.org.UA.Examples.BoilerType.Namespaces.BoilerType);\n\n    /// <summary>\n    /// The identifier for the LevelIndicatorType ObjectType.\n    /// </summary>\n    public static readonly ExpandedNodeId LevelIndicatorType = new ExpandedNodeId(tempuri.org.UA.Examples.BoilerType.ObjectTypes.LevelIndicatorType, tempuri.org.UA.Examples.BoilerType.Namespaces.BoilerType);\n\n    /// <summary>\n    /// The identifier for the FlowTransmitterType ObjectType.\n    /// </summary>\n    public static readonly ExpandedNodeId FlowTransmitterType = new ExpandedNodeId(tempuri.org.UA.Examples.BoilerType.ObjectTypes.FlowTransmitterType, tempuri.org.UA.Examples.BoilerType.Namespaces.BoilerType);\n\n    /// <summary>\n    /// The identifier for the BoilerStateMachineType ObjectType.\n    /// </summary>\n    public static readonly ExpandedNodeId BoilerStateMachineType = new ExpandedNodeId(tempuri.org.UA.Examples.BoilerType.ObjectTypes.BoilerStateMachineType, tempuri.org.UA.Examples.BoilerType.Namespaces.BoilerType);\n\n    /// <summary>\n    /// The identifier for the BoilerInputPipeType ObjectType.\n    /// </summary>\n    public static readonly ExpandedNodeId BoilerInputPipeType = new ExpandedNodeId(tempuri.org.UA.Examples.BoilerType.ObjectTypes.BoilerInputPipeType, tempuri.org.UA.Examples.BoilerType.Namespaces.BoilerType);\n\n    /// <summary>\n    /// The identifier for the BoilerDrumType ObjectType.\n    /// </summary>\n    public static readonly ExpandedNodeId BoilerDrumType = new ExpandedNodeId(tempuri.org.UA.Examples.BoilerType.ObjectTypes.BoilerDrumType, tempuri.org.UA.Examples.BoilerType.Namespaces.BoilerType);\n\n    /// <summary>\n    /// The identifier for the BoilerOutputPipeType ObjectType.\n    /// </summary>\n    public static readonly ExpandedNodeId BoilerOutputPipeType = new ExpandedNodeId(tempuri.org.UA.Examples.BoilerType.ObjectTypes.BoilerOutputPipeType, tempuri.org.UA.Examples.BoilerType.Namespaces.BoilerType);\n\n    /// <summary>\n    /// The identifier for the BoilerType ObjectType.\n    /// </summary>\n    public static readonly ExpandedNodeId BoilerType = new ExpandedNodeId(tempuri.org.UA.Examples.BoilerType.ObjectTypes.BoilerType, tempuri.org.UA.Examples.BoilerType.Namespaces.BoilerType);\n  }\n\n  #endregion ObjectType Node Identifiers\n\n  #region ReferenceType Node Identifiers\n\n  /// <summary>\n  /// A class that declares constants for all ReferenceTypes in the Model Design.\n  /// </summary>\n  /// <exclude />\n  [System.CodeDom.Compiler.GeneratedCodeAttribute(\"Opc.Ua.ModelCompiler\", \"1.0.0.0\")]\n  public static partial class ReferenceTypeIds\n  {\n    /// <summary>\n    /// The identifier for the FlowTo ReferenceType.\n    /// </summary>\n    public static readonly ExpandedNodeId FlowTo = new ExpandedNodeId(tempuri.org.UA.Examples.BoilerType.ReferenceTypes.FlowTo, tempuri.org.UA.Examples.BoilerType.Namespaces.BoilerType);\n\n    /// <summary>\n    /// The identifier for the HotFlowTo ReferenceType.\n    /// </summary>\n    public static readonly ExpandedNodeId HotFlowTo = new ExpandedNodeId(tempuri.org.UA.Examples.BoilerType.ReferenceTypes.HotFlowTo, tempuri.org.UA.Examples.BoilerType.Namespaces.BoilerType);\n\n    /// <summary>\n    /// The identifier for the SignalTo ReferenceType.\n    /// </summary>\n    public static readonly ExpandedNodeId SignalTo = new ExpandedNodeId(tempuri.org.UA.Examples.BoilerType.ReferenceTypes.SignalTo, tempuri.org.UA.Examples.BoilerType.Namespaces.BoilerType);\n  }\n\n  #endregion ReferenceType Node Identifiers\n\n  #region Variable Node Identifiers\n\n  /// <summary>\n  /// A class that declares constants for all Variables in the Model Design.\n  /// </summary>\n  /// <exclude />\n  [System.CodeDom.Compiler.GeneratedCodeAttribute(\"Opc.Ua.ModelCompiler\", \"1.0.0.0\")]\n  public static partial class VariableIds\n  {\n    /// <summary>\n    /// The identifier for the GenericControllerType_Measurement Variable.\n    /// </summary>\n    public static readonly ExpandedNodeId GenericControllerType_Measurement = new ExpandedNodeId(tempuri.org.UA.Examples.BoilerType.Variables.GenericControllerType_Measurement, tempuri.org.UA.Examples.BoilerType.Namespaces.BoilerType);\n\n    /// <summary>\n    /// The identifier for the GenericControllerType_SetPoint Variable.\n    /// </summary>\n    public static readonly ExpandedNodeId GenericControllerType_SetPoint = new ExpandedNodeId(tempuri.org.UA.Examples.BoilerType.Variables.GenericControllerType_SetPoint, tempuri.org.UA.Examples.BoilerType.Namespaces.BoilerType);\n\n    /// <summary>\n    /// The identifier for the GenericControllerType_ControlOut Variable.\n    /// </summary>\n    public static readonly ExpandedNodeId GenericControllerType_ControlOut = new ExpandedNodeId(tempuri.org.UA.Examples.BoilerType.Variables.GenericControllerType_ControlOut, tempuri.org.UA.Examples.BoilerType.Namespaces.BoilerType);\n\n    /// <summary>\n    /// The identifier for the GenericSensorType_Output Variable.\n    /// </summary>\n    public static readonly ExpandedNodeId GenericSensorType_Output = new ExpandedNodeId(tempuri.org.UA.Examples.BoilerType.Variables.GenericSensorType_Output, tempuri.org.UA.Examples.BoilerType.Namespaces.BoilerType);\n\n    /// <summary>\n    /// The identifier for the GenericSensorType_Output_EURange Variable.\n    /// </summary>\n    public static readonly ExpandedNodeId GenericSensorType_Output_EURange = new ExpandedNodeId(tempuri.org.UA.Examples.BoilerType.Variables.GenericSensorType_Output_EURange, tempuri.org.UA.Examples.BoilerType.Namespaces.BoilerType);\n\n    /// <summary>\n    /// The identifier for the GenericActuatorType_Input Variable.\n    /// </summary>\n    public static readonly ExpandedNodeId GenericActuatorType_Input = new ExpandedNodeId(tempuri.org.UA.Examples.BoilerType.Variables.GenericActuatorType_Input, tempuri.org.UA.Examples.BoilerType.Namespaces.BoilerType);\n\n    /// <summary>\n    /// The identifier for the GenericActuatorType_Input_EURange Variable.\n    /// </summary>\n    public static readonly ExpandedNodeId GenericActuatorType_Input_EURange = new ExpandedNodeId(tempuri.org.UA.Examples.BoilerType.Variables.GenericActuatorType_Input_EURange, tempuri.org.UA.Examples.BoilerType.Namespaces.BoilerType);\n\n    /// <summary>\n    /// The identifier for the CustomControllerType_Input1 Variable.\n    /// </summary>\n    public static readonly ExpandedNodeId CustomControllerType_Input1 = new ExpandedNodeId(tempuri.org.UA.Examples.BoilerType.Variables.CustomControllerType_Input1, tempuri.org.UA.Examples.BoilerType.Namespaces.BoilerType);\n\n    /// <summary>\n    /// The identifier for the CustomControllerType_Input2 Variable.\n    /// </summary>\n    public static readonly ExpandedNodeId CustomControllerType_Input2 = new ExpandedNodeId(tempuri.org.UA.Examples.BoilerType.Variables.CustomControllerType_Input2, tempuri.org.UA.Examples.BoilerType.Namespaces.BoilerType);\n\n    /// <summary>\n    /// The identifier for the CustomControllerType_Input3 Variable.\n    /// </summary>\n    public static readonly ExpandedNodeId CustomControllerType_Input3 = new ExpandedNodeId(tempuri.org.UA.Examples.BoilerType.Variables.CustomControllerType_Input3, tempuri.org.UA.Examples.BoilerType.Namespaces.BoilerType);\n\n    /// <summary>\n    /// The identifier for the CustomControllerType_ControlOut Variable.\n    /// </summary>\n    public static readonly ExpandedNodeId CustomControllerType_ControlOut = new ExpandedNodeId(tempuri.org.UA.Examples.BoilerType.Variables.CustomControllerType_ControlOut, tempuri.org.UA.Examples.BoilerType.Namespaces.BoilerType);\n\n    /// <summary>\n    /// The identifier for the CustomControllerType_DescriptionX Variable.\n    /// </summary>\n    public static readonly ExpandedNodeId CustomControllerType_DescriptionX = new ExpandedNodeId(tempuri.org.UA.Examples.BoilerType.Variables.CustomControllerType_DescriptionX, tempuri.org.UA.Examples.BoilerType.Namespaces.BoilerType);\n\n    /// <summary>\n    /// The identifier for the BoilerStateMachineType_UpdateRate Variable.\n    /// </summary>\n    public static readonly ExpandedNodeId BoilerStateMachineType_UpdateRate = new ExpandedNodeId(tempuri.org.UA.Examples.BoilerType.Variables.BoilerStateMachineType_UpdateRate, tempuri.org.UA.Examples.BoilerType.Namespaces.BoilerType);\n\n    /// <summary>\n    /// The identifier for the BoilerType_InputPipe_FlowTransmitter1_Output Variable.\n    /// </summary>\n    public static readonly ExpandedNodeId BoilerType_InputPipe_FlowTransmitter1_Output = new ExpandedNodeId(tempuri.org.UA.Examples.BoilerType.Variables.BoilerType_InputPipe_FlowTransmitter1_Output, tempuri.org.UA.Examples.BoilerType.Namespaces.BoilerType);\n\n    /// <summary>\n    /// The identifier for the BoilerType_InputPipe_Valve_Input Variable.\n    /// </summary>\n    public static readonly ExpandedNodeId BoilerType_InputPipe_Valve_Input = new ExpandedNodeId(tempuri.org.UA.Examples.BoilerType.Variables.BoilerType_InputPipe_Valve_Input, tempuri.org.UA.Examples.BoilerType.Namespaces.BoilerType);\n\n    /// <summary>\n    /// The identifier for the BoilerType_Drum_LevelIndicator_Output Variable.\n    /// </summary>\n    public static readonly ExpandedNodeId BoilerType_Drum_LevelIndicator_Output = new ExpandedNodeId(tempuri.org.UA.Examples.BoilerType.Variables.BoilerType_Drum_LevelIndicator_Output, tempuri.org.UA.Examples.BoilerType.Namespaces.BoilerType);\n\n    /// <summary>\n    /// The identifier for the BoilerType_OutputPipe_FlowTransmitter2_Output Variable.\n    /// </summary>\n    public static readonly ExpandedNodeId BoilerType_OutputPipe_FlowTransmitter2_Output = new ExpandedNodeId(tempuri.org.UA.Examples.BoilerType.Variables.BoilerType_OutputPipe_FlowTransmitter2_Output, tempuri.org.UA.Examples.BoilerType.Namespaces.BoilerType);\n\n    /// <summary>\n    /// The identifier for the BoilerType_FlowController_Measurement Variable.\n    /// </summary>\n    public static readonly ExpandedNodeId BoilerType_FlowController_Measurement = new ExpandedNodeId(tempuri.org.UA.Examples.BoilerType.Variables.BoilerType_FlowController_Measurement, tempuri.org.UA.Examples.BoilerType.Namespaces.BoilerType);\n\n    /// <summary>\n    /// The identifier for the BoilerType_FlowController_SetPoint Variable.\n    /// </summary>\n    public static readonly ExpandedNodeId BoilerType_FlowController_SetPoint = new ExpandedNodeId(tempuri.org.UA.Examples.BoilerType.Variables.BoilerType_FlowController_SetPoint, tempuri.org.UA.Examples.BoilerType.Namespaces.BoilerType);\n\n    /// <summary>\n    /// The identifier for the BoilerType_FlowController_ControlOut Variable.\n    /// </summary>\n    public static readonly ExpandedNodeId BoilerType_FlowController_ControlOut = new ExpandedNodeId(tempuri.org.UA.Examples.BoilerType.Variables.BoilerType_FlowController_ControlOut, tempuri.org.UA.Examples.BoilerType.Namespaces.BoilerType);\n\n    /// <summary>\n    /// The identifier for the BoilerType_LevelController_Measurement Variable.\n    /// </summary>\n    public static readonly ExpandedNodeId BoilerType_LevelController_Measurement = new ExpandedNodeId(tempuri.org.UA.Examples.BoilerType.Variables.BoilerType_LevelController_Measurement, tempuri.org.UA.Examples.BoilerType.Namespaces.BoilerType);\n\n    /// <summary>\n    /// The identifier for the BoilerType_LevelController_SetPoint Variable.\n    /// </summary>\n    public static readonly ExpandedNodeId BoilerType_LevelController_SetPoint = new ExpandedNodeId(tempuri.org.UA.Examples.BoilerType.Variables.BoilerType_LevelController_SetPoint, tempuri.org.UA.Examples.BoilerType.Namespaces.BoilerType);\n\n    /// <summary>\n    /// The identifier for the BoilerType_LevelController_ControlOut Variable.\n    /// </summary>\n    public static readonly ExpandedNodeId BoilerType_LevelController_ControlOut = new ExpandedNodeId(tempuri.org.UA.Examples.BoilerType.Variables.BoilerType_LevelController_ControlOut, tempuri.org.UA.Examples.BoilerType.Namespaces.BoilerType);\n\n    /// <summary>\n    /// The identifier for the BoilerType_CustomController_Input1 Variable.\n    /// </summary>\n    public static readonly ExpandedNodeId BoilerType_CustomController_Input1 = new ExpandedNodeId(tempuri.org.UA.Examples.BoilerType.Variables.BoilerType_CustomController_Input1, tempuri.org.UA.Examples.BoilerType.Namespaces.BoilerType);\n\n    /// <summary>\n    /// The identifier for the BoilerType_CustomController_Input2 Variable.\n    /// </summary>\n    public static readonly ExpandedNodeId BoilerType_CustomController_Input2 = new ExpandedNodeId(tempuri.org.UA.Examples.BoilerType.Variables.BoilerType_CustomController_Input2, tempuri.org.UA.Examples.BoilerType.Namespaces.BoilerType);\n\n    /// <summary>\n    /// The identifier for the BoilerType_CustomController_Input3 Variable.\n    /// </summary>\n    public static readonly ExpandedNodeId BoilerType_CustomController_Input3 = new ExpandedNodeId(tempuri.org.UA.Examples.BoilerType.Variables.BoilerType_CustomController_Input3, tempuri.org.UA.Examples.BoilerType.Namespaces.BoilerType);\n\n    /// <summary>\n    /// The identifier for the BoilerType_CustomController_ControlOut Variable.\n    /// </summary>\n    public static readonly ExpandedNodeId BoilerType_CustomController_ControlOut = new ExpandedNodeId(tempuri.org.UA.Examples.BoilerType.Variables.BoilerType_CustomController_ControlOut, tempuri.org.UA.Examples.BoilerType.Namespaces.BoilerType);\n\n    /// <summary>\n    /// The identifier for the BoilerType_CustomController_DescriptionX Variable.\n    /// </summary>\n    public static readonly ExpandedNodeId BoilerType_CustomController_DescriptionX = new ExpandedNodeId(tempuri.org.UA.Examples.BoilerType.Variables.BoilerType_CustomController_DescriptionX, tempuri.org.UA.Examples.BoilerType.Namespaces.BoilerType);\n\n    /// <summary>\n    /// The identifier for the BoilerType_Simulation_UpdateRate Variable.\n    /// </summary>\n    public static readonly ExpandedNodeId BoilerType_Simulation_UpdateRate = new ExpandedNodeId(tempuri.org.UA.Examples.BoilerType.Variables.BoilerType_Simulation_UpdateRate, tempuri.org.UA.Examples.BoilerType.Namespaces.BoilerType);\n  }\n\n  #endregion Variable Node Identifiers\n\n  #region BrowseName Declarations\n\n  /// <summary>\n  /// Declares all of the BrowseNames used in the Model Design.\n  /// </summary>\n  public static partial class BrowseNames\n  {\n    /// <summary>\n    /// The BrowseName for the BoilerDrumType component.\n    /// </summary>\n    public const string BoilerDrumType = \"BoilerDrumType\";\n\n    /// <summary>\n    /// The BrowseName for the BoilerInputPipeType component.\n    /// </summary>\n    public const string BoilerInputPipeType = \"BoilerInputPipeType\";\n\n    /// <summary>\n    /// The BrowseName for the BoilerOutputPipeType component.\n    /// </summary>\n    public const string BoilerOutputPipeType = \"BoilerOutputPipeType\";\n\n    /// <summary>\n    /// The BrowseName for the BoilerStateMachineType component.\n    /// </summary>\n    public const string BoilerStateMachineType = \"BoilerStateMachineType\";\n\n    /// <summary>\n    /// The BrowseName for the BoilerType component.\n    /// </summary>\n    public const string BoilerType = \"BoilerType\";\n\n    /// <summary>\n    /// The BrowseName for the ControlOut component.\n    /// </summary>\n    public const string ControlOut = \"ControlOut\";\n\n    /// <summary>\n    /// The BrowseName for the CustomController component.\n    /// </summary>\n    public const string CustomController = \"CCX001\";\n\n    /// <summary>\n    /// The BrowseName for the CustomControllerType component.\n    /// </summary>\n    public const string CustomControllerType = \"CustomControllerType\";\n\n    /// <summary>\n    /// The BrowseName for the DescriptionX component.\n    /// </summary>\n    public const string DescriptionX = \"Description\";\n\n    /// <summary>\n    /// The BrowseName for the Drum component.\n    /// </summary>\n    public const string Drum = \"DrumX001\";\n\n    /// <summary>\n    /// The BrowseName for the FlowController component.\n    /// </summary>\n    public const string FlowController = \"FCX001\";\n\n    /// <summary>\n    /// The BrowseName for the FlowControllerType component.\n    /// </summary>\n    public const string FlowControllerType = \"FlowControllerType\";\n\n    /// <summary>\n    /// The BrowseName for the FlowTo component.\n    /// </summary>\n    public const string FlowTo = \"FlowTo\";\n\n    /// <summary>\n    /// The BrowseName for the FlowTransmitter1 component.\n    /// </summary>\n    public const string FlowTransmitter1 = \"FTX001\";\n\n    /// <summary>\n    /// The BrowseName for the FlowTransmitter2 component.\n    /// </summary>\n    public const string FlowTransmitter2 = \"FTX002\";\n\n    /// <summary>\n    /// The BrowseName for the FlowTransmitterType component.\n    /// </summary>\n    public const string FlowTransmitterType = \"FlowTransmitterType\";\n\n    /// <summary>\n    /// The BrowseName for the GenericActuatorType component.\n    /// </summary>\n    public const string GenericActuatorType = \"GenericActuatorType\";\n\n    /// <summary>\n    /// The BrowseName for the GenericControllerType component.\n    /// </summary>\n    public const string GenericControllerType = \"GenericControllerType\";\n\n    /// <summary>\n    /// The BrowseName for the GenericSensorType component.\n    /// </summary>\n    public const string GenericSensorType = \"GenericSensorType\";\n\n    /// <summary>\n    /// The BrowseName for the HotFlowTo component.\n    /// </summary>\n    public const string HotFlowTo = \"HotFlowTo\";\n\n    /// <summary>\n    /// The BrowseName for the Input component.\n    /// </summary>\n    public const string Input = \"Input\";\n\n    /// <summary>\n    /// The BrowseName for the Input1 component.\n    /// </summary>\n    public const string Input1 = \"Input1\";\n\n    /// <summary>\n    /// The BrowseName for the Input2 component.\n    /// </summary>\n    public const string Input2 = \"Input2\";\n\n    /// <summary>\n    /// The BrowseName for the Input3 component.\n    /// </summary>\n    public const string Input3 = \"Input3\";\n\n    /// <summary>\n    /// The BrowseName for the InputPipe component.\n    /// </summary>\n    public const string InputPipe = \"PipeX001\";\n\n    /// <summary>\n    /// The BrowseName for the LevelController component.\n    /// </summary>\n    public const string LevelController = \"LCX001\";\n\n    /// <summary>\n    /// The BrowseName for the LevelControllerType component.\n    /// </summary>\n    public const string LevelControllerType = \"LevelControllerType\";\n\n    /// <summary>\n    /// The BrowseName for the LevelIndicator component.\n    /// </summary>\n    public const string LevelIndicator = \"LIX001\";\n\n    /// <summary>\n    /// The BrowseName for the LevelIndicatorType component.\n    /// </summary>\n    public const string LevelIndicatorType = \"LevelIndicatorType\";\n\n    /// <summary>\n    /// The BrowseName for the Measurement component.\n    /// </summary>\n    public const string Measurement = \"Measurement\";\n\n    /// <summary>\n    /// The BrowseName for the Output component.\n    /// </summary>\n    public const string Output = \"Output\";\n\n    /// <summary>\n    /// The BrowseName for the OutputPipe component.\n    /// </summary>\n    public const string OutputPipe = \"PipeX002\";\n\n    /// <summary>\n    /// The BrowseName for the SetPoint component.\n    /// </summary>\n    public const string SetPoint = \"SetPoint\";\n\n    /// <summary>\n    /// The BrowseName for the SignalTo component.\n    /// </summary>\n    public const string SignalTo = \"SignalTo\";\n\n    /// <summary>\n    /// The BrowseName for the Simulation component.\n    /// </summary>\n    public const string Simulation = \"Simulation\";\n\n    /// <summary>\n    /// The BrowseName for the UpdateRate component.\n    /// </summary>\n    public const string UpdateRate = \"UpdateRate\";\n\n    /// <summary>\n    /// The BrowseName for the Valve component.\n    /// </summary>\n    public const string Valve = \"ValveX001\";\n\n    /// <summary>\n    /// The BrowseName for the ValveType component.\n    /// </summary>\n    public const string ValveType = \"ValveType\";\n  }\n\n  #endregion BrowseName Declarations\n\n  #region Namespace Declarations\n\n  /// <summary>\n  /// Defines constants for all namespaces referenced by the model design.\n  /// </summary>\n  public static partial class Namespaces\n  {\n    /// <summary>\n    /// The URI for the OpcUa namespace (.NET code namespace is 'Opc.Ua').\n    /// </summary>\n    public const string OpcUa = \"http://opcfoundation.org/UA/\";\n\n    /// <summary>\n    /// The URI for the OpcUaXsd namespace (.NET code namespace is 'Opc.Ua').\n    /// </summary>\n    public const string OpcUaXsd = \"http://opcfoundation.org/UA/2008/02/Types.xsd\";\n\n    /// <summary>\n    /// The URI for the BoilerType namespace (.NET code namespace is 'tempuri.org.UA.Examples.BoilerType').\n    /// </summary>\n    public const string BoilerType = \"http://tempuri.org/UA/Examples/BoilerType\";\n\n    /// <summary>\n    /// The URI for the BoilerTypeXsd namespace (.NET code namespace is 'tempuri.org.UA.Examples.BoilerType').\n    /// </summary>\n    public const string BoilerTypeXsd = \"http://tempuri.org/UA/Examples/BoilerType/Types.xsd\";\n  }\n\n  #endregion Namespace Declarations\n\n  #region GenericControllerState Class\n\n#if (!OPCUA_EXCLUDE_GenericControllerState)\n\n  /// <summary>\n  /// Stores an instance of the GenericControllerType ObjectType.\n  /// </summary>\n  /// <exclude />\n  [System.CodeDom.Compiler.GeneratedCodeAttribute(\"Opc.Ua.ModelCompiler\", \"1.0.0.0\")]\n  public partial class GenericControllerState : BaseObjectState\n  {\n    #region Constructors\n\n    /// <summary>\n    /// Initializes the type with its default attribute values.\n    /// </summary>\n    public GenericControllerState(NodeState parent) : base(parent)\n    {\n    }\n\n    /// <summary>\n    /// Returns the id of the default type definition node for the instance.\n    /// </summary>\n    protected override NodeId GetDefaultTypeDefinitionId(NamespaceTable namespaceUris)\n    {\n      return NodeId.Create(tempuri.org.UA.Examples.BoilerType.ObjectTypes.GenericControllerType, tempuri.org.UA.Examples.BoilerType.Namespaces.BoilerType, namespaceUris);\n    }\n\n#if (!OPCUA_EXCLUDE_InitializationStrings)\n        /// <summary>\n        /// Initializes the instance.\n        /// </summary>\n        protected override void Initialize(ISystemContext context)\n        {\n            Initialize(context, InitializationString);\n            InitializeOptionalChildren(context);\n        }\n\n        /// <summary>\n        /// Initializes the any option children defined for the instance.\n        /// </summary>\n        protected override void InitializeOptionalChildren(ISystemContext context)\n        {\n            base.InitializeOptionalChildren(context);\n        }\n\n    #region Initialization String\n\n        private const string InitializationString =\n           \"AQAAACkAAABodHRwOi8vdGVtcHVyaS5vcmcvVUEvRXhhbXBsZXMvQm9pbGVyVHlwZf////8EYIAAAQAA\" +\n           \"AAEAHQAAAEdlbmVyaWNDb250cm9sbGVyVHlwZUluc3RhbmNlAQEEAAEBBAD/////AwAAABVgiQoCAAAA\" +\n           \"AQALAAAATWVhc3VyZW1lbnQBAQUAAC4ARAUAAAAAC/////8BAf////8AAAAAFWCJCgIAAAABAAgAAABT\" +\n           \"ZXRQb2ludAEBBgAALgBEBgAAAAAL/////wMD/////wAAAAAVYIkKAgAAAAEACgAAAENvbnRyb2xPdXQB\" +\n           \"AQcAAC4ARAcAAAAAC/////8BAf////8AAAAA\";\n\n    #endregion Initialization String\n\n#endif\n\n    #endregion Constructors\n\n    #region Public Properties\n\n    /// <summary>\n    /// A description for the Measurement Property.\n    /// </summary>\n    public PropertyState<double> Measurement\n    {\n      get => m_measurement;\n\n      set\n      {\n        if (!Object.ReferenceEquals(m_measurement, value))\n        {\n          ChangeMasks |= NodeStateChangeMasks.Children;\n        }\n\n        m_measurement = value;\n      }\n    }\n\n    /// <summary>\n    /// A description for the SetPoint Property.\n    /// </summary>\n    public PropertyState<double> SetPoint\n    {\n      get => m_setPoint;\n\n      set\n      {\n        if (!Object.ReferenceEquals(m_setPoint, value))\n        {\n          ChangeMasks |= NodeStateChangeMasks.Children;\n        }\n\n        m_setPoint = value;\n      }\n    }\n\n    /// <summary>\n    /// A description for the ControlOut Property.\n    /// </summary>\n    public PropertyState<double> ControlOut\n    {\n      get => m_controlOut;\n\n      set\n      {\n        if (!Object.ReferenceEquals(m_controlOut, value))\n        {\n          ChangeMasks |= NodeStateChangeMasks.Children;\n        }\n\n        m_controlOut = value;\n      }\n    }\n\n    #endregion Public Properties\n\n    #region Overridden Methods\n\n    /// <summary>\n    /// Populates a list with the children that belong to the node.\n    /// </summary>\n    /// <param name=\"context\">The context for the system being accessed.</param>\n    /// <param name=\"children\">The list of children to populate.</param>\n    public override void GetChildren(\n            ISystemContext context,\n            IList<BaseInstanceState> children)\n    {\n      if (m_measurement != null)\n      {\n        children.Add(m_measurement);\n      }\n\n      if (m_setPoint != null)\n      {\n        children.Add(m_setPoint);\n      }\n\n      if (m_controlOut != null)\n      {\n        children.Add(m_controlOut);\n      }\n\n      base.GetChildren(context, children);\n    }\n\n    /// <summary>\n    /// Finds the child with the specified browse name.\n    /// </summary>\n    protected override BaseInstanceState FindChild(\n        ISystemContext context,\n        QualifiedName browseName,\n        bool createOrReplace,\n        BaseInstanceState replacement)\n    {\n      if (QualifiedName.IsNull(browseName))\n      {\n        return null;\n      }\n\n      BaseInstanceState instance = null;\n\n      switch (browseName.Name)\n      {\n        case tempuri.org.UA.Examples.BoilerType.BrowseNames.Measurement:\n          {\n            if (createOrReplace)\n            {\n              if (Measurement == null)\n              {\n                if (replacement == null)\n                {\n                  Measurement = new PropertyState<double>(this);\n                }\n                else\n                {\n                  Measurement = (PropertyState<double>)replacement;\n                }\n              }\n            }\n\n            instance = Measurement;\n            break;\n          }\n\n        case tempuri.org.UA.Examples.BoilerType.BrowseNames.SetPoint:\n          {\n            if (createOrReplace)\n            {\n              if (SetPoint == null)\n              {\n                if (replacement == null)\n                {\n                  SetPoint = new PropertyState<double>(this);\n                }\n                else\n                {\n                  SetPoint = (PropertyState<double>)replacement;\n                }\n              }\n            }\n\n            instance = SetPoint;\n            break;\n          }\n\n        case tempuri.org.UA.Examples.BoilerType.BrowseNames.ControlOut:\n          {\n            if (createOrReplace)\n            {\n              if (ControlOut == null)\n              {\n                if (replacement == null)\n                {\n                  ControlOut = new PropertyState<double>(this);\n                }\n                else\n                {\n                  ControlOut = (PropertyState<double>)replacement;\n                }\n              }\n            }\n\n            instance = ControlOut;\n            break;\n          }\n      }\n\n      if (instance != null)\n      {\n        return instance;\n      }\n\n      return base.FindChild(context, browseName, createOrReplace, replacement);\n    }\n\n    #endregion Overridden Methods\n\n    #region Private Fields\n\n    private PropertyState<double> m_measurement;\n    private PropertyState<double> m_setPoint;\n    private PropertyState<double> m_controlOut;\n\n    #endregion Private Fields\n  }\n\n#endif\n\n  #endregion GenericControllerState Class\n\n  #region GenericSensorState Class\n\n#if (!OPCUA_EXCLUDE_GenericSensorState)\n\n  /// <summary>\n  /// Stores an instance of the GenericSensorType ObjectType.\n  /// </summary>\n  /// <exclude />\n  [System.CodeDom.Compiler.GeneratedCodeAttribute(\"Opc.Ua.ModelCompiler\", \"1.0.0.0\")]\n  public partial class GenericSensorState : BaseObjectState\n  {\n    #region Constructors\n\n    /// <summary>\n    /// Initializes the type with its default attribute values.\n    /// </summary>\n    public GenericSensorState(NodeState parent) : base(parent)\n    {\n    }\n\n    /// <summary>\n    /// Returns the id of the default type definition node for the instance.\n    /// </summary>\n    protected override NodeId GetDefaultTypeDefinitionId(NamespaceTable namespaceUris)\n    {\n      return NodeId.Create(tempuri.org.UA.Examples.BoilerType.ObjectTypes.GenericSensorType, tempuri.org.UA.Examples.BoilerType.Namespaces.BoilerType, namespaceUris);\n    }\n\n#if (!OPCUA_EXCLUDE_InitializationStrings)\n        /// <summary>\n        /// Initializes the instance.\n        /// </summary>\n        protected override void Initialize(ISystemContext context)\n        {\n            Initialize(context, InitializationString);\n            InitializeOptionalChildren(context);\n        }\n\n        /// <summary>\n        /// Initializes the any option children defined for the instance.\n        /// </summary>\n        protected override void InitializeOptionalChildren(ISystemContext context)\n        {\n            base.InitializeOptionalChildren(context);\n        }\n\n    #region Initialization String\n\n        private const string InitializationString =\n           \"AQAAACkAAABodHRwOi8vdGVtcHVyaS5vcmcvVUEvRXhhbXBsZXMvQm9pbGVyVHlwZf////8EYIAAAQAA\" +\n           \"AAEAGQAAAEdlbmVyaWNTZW5zb3JUeXBlSW5zdGFuY2UBAQgAAQEIAP////8BAAAAFWCJCgIAAAABAAYA\" +\n           \"AABPdXRwdXQBAQkAAC8BAEAJCQAAAAAL/////wEB/////wEAAAAVYIkKAgAAAAAABwAAAEVVUmFuZ2UB\" +\n           \"AQ0AAC4ARA0AAAABAHQD/////wEB/////wAAAAA=\";\n\n    #endregion Initialization String\n\n#endif\n\n    #endregion Constructors\n\n    #region Public Properties\n\n    /// <summary>\n    /// A description for the Output Variable.\n    /// </summary>\n    public AnalogItemState<double> Output\n    {\n      get => m_output;\n\n      set\n      {\n        if (!Object.ReferenceEquals(m_output, value))\n        {\n          ChangeMasks |= NodeStateChangeMasks.Children;\n        }\n\n        m_output = value;\n      }\n    }\n\n    #endregion Public Properties\n\n    #region Overridden Methods\n\n    /// <summary>\n    /// Populates a list with the children that belong to the node.\n    /// </summary>\n    /// <param name=\"context\">The context for the system being accessed.</param>\n    /// <param name=\"children\">The list of children to populate.</param>\n    public override void GetChildren(\n            ISystemContext context,\n            IList<BaseInstanceState> children)\n    {\n      if (m_output != null)\n      {\n        children.Add(m_output);\n      }\n\n      base.GetChildren(context, children);\n    }\n\n    /// <summary>\n    /// Finds the child with the specified browse name.\n    /// </summary>\n    protected override BaseInstanceState FindChild(\n        ISystemContext context,\n        QualifiedName browseName,\n        bool createOrReplace,\n        BaseInstanceState replacement)\n    {\n      if (QualifiedName.IsNull(browseName))\n      {\n        return null;\n      }\n\n      BaseInstanceState instance = null;\n\n      switch (browseName.Name)\n      {\n        case tempuri.org.UA.Examples.BoilerType.BrowseNames.Output:\n          {\n            if (createOrReplace)\n            {\n              if (Output == null)\n              {\n                if (replacement == null)\n                {\n                  Output = new AnalogItemState<double>(this);\n                }\n                else\n                {\n                  Output = (AnalogItemState<double>)replacement;\n                }\n              }\n            }\n\n            instance = Output;\n            break;\n          }\n      }\n\n      if (instance != null)\n      {\n        return instance;\n      }\n\n      return base.FindChild(context, browseName, createOrReplace, replacement);\n    }\n\n    #endregion Overridden Methods\n\n    #region Private Fields\n\n    private AnalogItemState<double> m_output;\n\n    #endregion Private Fields\n  }\n\n#endif\n\n  #endregion GenericSensorState Class\n\n  #region GenericActuatorState Class\n\n#if (!OPCUA_EXCLUDE_GenericActuatorState)\n\n  /// <summary>\n  /// Stores an instance of the GenericActuatorType ObjectType.\n  /// </summary>\n  /// <exclude />\n  [System.CodeDom.Compiler.GeneratedCodeAttribute(\"Opc.Ua.ModelCompiler\", \"1.0.0.0\")]\n  public partial class GenericActuatorState : BaseObjectState\n  {\n    #region Constructors\n\n    /// <summary>\n    /// Initializes the type with its default attribute values.\n    /// </summary>\n    public GenericActuatorState(NodeState parent) : base(parent)\n    {\n    }\n\n    /// <summary>\n    /// Returns the id of the default type definition node for the instance.\n    /// </summary>\n    protected override NodeId GetDefaultTypeDefinitionId(NamespaceTable namespaceUris)\n    {\n      return NodeId.Create(tempuri.org.UA.Examples.BoilerType.ObjectTypes.GenericActuatorType, tempuri.org.UA.Examples.BoilerType.Namespaces.BoilerType, namespaceUris);\n    }\n\n#if (!OPCUA_EXCLUDE_InitializationStrings)\n        /// <summary>\n        /// Initializes the instance.\n        /// </summary>\n        protected override void Initialize(ISystemContext context)\n        {\n            Initialize(context, InitializationString);\n            InitializeOptionalChildren(context);\n        }\n\n        /// <summary>\n        /// Initializes the any option children defined for the instance.\n        /// </summary>\n        protected override void InitializeOptionalChildren(ISystemContext context)\n        {\n            base.InitializeOptionalChildren(context);\n        }\n\n    #region Initialization String\n\n        private const string InitializationString =\n           \"AQAAACkAAABodHRwOi8vdGVtcHVyaS5vcmcvVUEvRXhhbXBsZXMvQm9pbGVyVHlwZf////8EYIAAAQAA\" +\n           \"AAEAGwAAAEdlbmVyaWNBY3R1YXRvclR5cGVJbnN0YW5jZQEBDwABAQ8A/////wEAAAAVYIkKAgAAAAEA\" +\n           \"BQAAAElucHV0AQEQAAAvAQBACRAAAAAAC/////8CAv////8BAAAAFWCJCgIAAAAAAAcAAABFVVJhbmdl\" +\n           \"AQEUAAAuAEQUAAAAAQB0A/////8BAf////8AAAAA\";\n\n    #endregion Initialization String\n\n#endif\n\n    #endregion Constructors\n\n    #region Public Properties\n\n    /// <summary>\n    /// A description for the Input Variable.\n    /// </summary>\n    public AnalogItemState<double> Input\n    {\n      get => m_input;\n\n      set\n      {\n        if (!Object.ReferenceEquals(m_input, value))\n        {\n          ChangeMasks |= NodeStateChangeMasks.Children;\n        }\n\n        m_input = value;\n      }\n    }\n\n    #endregion Public Properties\n\n    #region Overridden Methods\n\n    /// <summary>\n    /// Populates a list with the children that belong to the node.\n    /// </summary>\n    /// <param name=\"context\">The context for the system being accessed.</param>\n    /// <param name=\"children\">The list of children to populate.</param>\n    public override void GetChildren(\n            ISystemContext context,\n            IList<BaseInstanceState> children)\n    {\n      if (m_input != null)\n      {\n        children.Add(m_input);\n      }\n\n      base.GetChildren(context, children);\n    }\n\n    /// <summary>\n    /// Finds the child with the specified browse name.\n    /// </summary>\n    protected override BaseInstanceState FindChild(\n        ISystemContext context,\n        QualifiedName browseName,\n        bool createOrReplace,\n        BaseInstanceState replacement)\n    {\n      if (QualifiedName.IsNull(browseName))\n      {\n        return null;\n      }\n\n      BaseInstanceState instance = null;\n\n      switch (browseName.Name)\n      {\n        case tempuri.org.UA.Examples.BoilerType.BrowseNames.Input:\n          {\n            if (createOrReplace)\n            {\n              if (Input == null)\n              {\n                if (replacement == null)\n                {\n                  Input = new AnalogItemState<double>(this);\n                }\n                else\n                {\n                  Input = (AnalogItemState<double>)replacement;\n                }\n              }\n            }\n\n            instance = Input;\n            break;\n          }\n      }\n\n      if (instance != null)\n      {\n        return instance;\n      }\n\n      return base.FindChild(context, browseName, createOrReplace, replacement);\n    }\n\n    #endregion Overridden Methods\n\n    #region Private Fields\n\n    private AnalogItemState<double> m_input;\n\n    #endregion Private Fields\n  }\n\n#endif\n\n  #endregion GenericActuatorState Class\n\n  #region CustomControllerState Class\n\n#if (!OPCUA_EXCLUDE_CustomControllerState)\n\n  /// <summary>\n  /// Stores an instance of the CustomControllerType ObjectType.\n  /// </summary>\n  /// <exclude />\n  [System.CodeDom.Compiler.GeneratedCodeAttribute(\"Opc.Ua.ModelCompiler\", \"1.0.0.0\")]\n  public partial class CustomControllerState : BaseObjectState\n  {\n    #region Constructors\n\n    /// <summary>\n    /// Initializes the type with its default attribute values.\n    /// </summary>\n    public CustomControllerState(NodeState parent) : base(parent)\n    {\n    }\n\n    /// <summary>\n    /// Returns the id of the default type definition node for the instance.\n    /// </summary>\n    protected override NodeId GetDefaultTypeDefinitionId(NamespaceTable namespaceUris)\n    {\n      return NodeId.Create(tempuri.org.UA.Examples.BoilerType.ObjectTypes.CustomControllerType, tempuri.org.UA.Examples.BoilerType.Namespaces.BoilerType, namespaceUris);\n    }\n\n#if (!OPCUA_EXCLUDE_InitializationStrings)\n        /// <summary>\n        /// Initializes the instance.\n        /// </summary>\n        protected override void Initialize(ISystemContext context)\n        {\n            Initialize(context, InitializationString);\n            InitializeOptionalChildren(context);\n        }\n\n        /// <summary>\n        /// Initializes the any option children defined for the instance.\n        /// </summary>\n        protected override void InitializeOptionalChildren(ISystemContext context)\n        {\n            base.InitializeOptionalChildren(context);\n        }\n\n    #region Initialization String\n\n        private const string InitializationString =\n           \"AQAAACkAAABodHRwOi8vdGVtcHVyaS5vcmcvVUEvRXhhbXBsZXMvQm9pbGVyVHlwZf////8EYIAAAQAA\" +\n           \"AAEAHAAAAEN1c3RvbUNvbnRyb2xsZXJUeXBlSW5zdGFuY2UBARYAAQEWAP////8FAAAAFWCJCgIAAAAB\" +\n           \"AAYAAABJbnB1dDEBARcAAC4ARBcAAAAAC/////8CAv////8AAAAAFWCJCgIAAAABAAYAAABJbnB1dDIB\" +\n           \"ARgAAC4ARBgAAAAAC/////8CAv////8AAAAAFWCJCgIAAAABAAYAAABJbnB1dDMBARkAAC4ARBkAAAAA\" +\n           \"C/////8CAv////8AAAAAFWCJCgIAAAABAAoAAABDb250cm9sT3V0AQEaAAAuAEQaAAAAAAv/////AQH/\" +\n           \"////AAAAABVgyQoCAAAADAAAAERlc2NyaXB0aW9uWAEACwAAAERlc2NyaXB0aW9uAQEbAAAuAEQbAAAA\" +\n           \"ABX/////AQH/////AAAAAA==\";\n\n    #endregion Initialization String\n\n#endif\n\n    #endregion Constructors\n\n    #region Public Properties\n\n    /// <summary>\n    /// A description for the Input1 Property.\n    /// </summary>\n    public PropertyState<double> Input1\n    {\n      get => m_input1;\n\n      set\n      {\n        if (!Object.ReferenceEquals(m_input1, value))\n        {\n          ChangeMasks |= NodeStateChangeMasks.Children;\n        }\n\n        m_input1 = value;\n      }\n    }\n\n    /// <summary>\n    /// A description for the Input2 Property.\n    /// </summary>\n    public PropertyState<double> Input2\n    {\n      get => m_input2;\n\n      set\n      {\n        if (!Object.ReferenceEquals(m_input2, value))\n        {\n          ChangeMasks |= NodeStateChangeMasks.Children;\n        }\n\n        m_input2 = value;\n      }\n    }\n\n    /// <summary>\n    /// A description for the Input3 Property.\n    /// </summary>\n    public PropertyState<double> Input3\n    {\n      get => m_input3;\n\n      set\n      {\n        if (!Object.ReferenceEquals(m_input3, value))\n        {\n          ChangeMasks |= NodeStateChangeMasks.Children;\n        }\n\n        m_input3 = value;\n      }\n    }\n\n    /// <summary>\n    /// A description for the ControlOut Property.\n    /// </summary>\n    public PropertyState<double> ControlOut\n    {\n      get => m_controlOut;\n\n      set\n      {\n        if (!Object.ReferenceEquals(m_controlOut, value))\n        {\n          ChangeMasks |= NodeStateChangeMasks.Children;\n        }\n\n        m_controlOut = value;\n      }\n    }\n\n    /// <summary>\n    /// A description for the Description Property.\n    /// </summary>\n    public PropertyState<LocalizedText> DescriptionX\n    {\n      get => m_descriptionX;\n\n      set\n      {\n        if (!Object.ReferenceEquals(m_descriptionX, value))\n        {\n          ChangeMasks |= NodeStateChangeMasks.Children;\n        }\n\n        m_descriptionX = value;\n      }\n    }\n\n    #endregion Public Properties\n\n    #region Overridden Methods\n\n    /// <summary>\n    /// Populates a list with the children that belong to the node.\n    /// </summary>\n    /// <param name=\"context\">The context for the system being accessed.</param>\n    /// <param name=\"children\">The list of children to populate.</param>\n    public override void GetChildren(\n            ISystemContext context,\n            IList<BaseInstanceState> children)\n    {\n      if (m_input1 != null)\n      {\n        children.Add(m_input1);\n      }\n\n      if (m_input2 != null)\n      {\n        children.Add(m_input2);\n      }\n\n      if (m_input3 != null)\n      {\n        children.Add(m_input3);\n      }\n\n      if (m_controlOut != null)\n      {\n        children.Add(m_controlOut);\n      }\n\n      if (m_descriptionX != null)\n      {\n        children.Add(m_descriptionX);\n      }\n\n      base.GetChildren(context, children);\n    }\n\n    /// <summary>\n    /// Finds the child with the specified browse name.\n    /// </summary>\n    protected override BaseInstanceState FindChild(\n        ISystemContext context,\n        QualifiedName browseName,\n        bool createOrReplace,\n        BaseInstanceState replacement)\n    {\n      if (QualifiedName.IsNull(browseName))\n      {\n        return null;\n      }\n\n      BaseInstanceState instance = null;\n\n      switch (browseName.Name)\n      {\n        case tempuri.org.UA.Examples.BoilerType.BrowseNames.Input1:\n          {\n            if (createOrReplace)\n            {\n              if (Input1 == null)\n              {\n                if (replacement == null)\n                {\n                  Input1 = new PropertyState<double>(this);\n                }\n                else\n                {\n                  Input1 = (PropertyState<double>)replacement;\n                }\n              }\n            }\n\n            instance = Input1;\n            break;\n          }\n\n        case tempuri.org.UA.Examples.BoilerType.BrowseNames.Input2:\n          {\n            if (createOrReplace)\n            {\n              if (Input2 == null)\n              {\n                if (replacement == null)\n                {\n                  Input2 = new PropertyState<double>(this);\n                }\n                else\n                {\n                  Input2 = (PropertyState<double>)replacement;\n                }\n              }\n            }\n\n            instance = Input2;\n            break;\n          }\n\n        case tempuri.org.UA.Examples.BoilerType.BrowseNames.Input3:\n          {\n            if (createOrReplace)\n            {\n              if (Input3 == null)\n              {\n                if (replacement == null)\n                {\n                  Input3 = new PropertyState<double>(this);\n                }\n                else\n                {\n                  Input3 = (PropertyState<double>)replacement;\n                }\n              }\n            }\n\n            instance = Input3;\n            break;\n          }\n\n        case tempuri.org.UA.Examples.BoilerType.BrowseNames.ControlOut:\n          {\n            if (createOrReplace)\n            {\n              if (ControlOut == null)\n              {\n                if (replacement == null)\n                {\n                  ControlOut = new PropertyState<double>(this);\n                }\n                else\n                {\n                  ControlOut = (PropertyState<double>)replacement;\n                }\n              }\n            }\n\n            instance = ControlOut;\n            break;\n          }\n\n        case tempuri.org.UA.Examples.BoilerType.BrowseNames.DescriptionX:\n          {\n            if (createOrReplace)\n            {\n              if (DescriptionX == null)\n              {\n                if (replacement == null)\n                {\n                  DescriptionX = new PropertyState<LocalizedText>(this);\n                }\n                else\n                {\n                  DescriptionX = (PropertyState<LocalizedText>)replacement;\n                }\n              }\n            }\n\n            instance = DescriptionX;\n            break;\n          }\n      }\n\n      if (instance != null)\n      {\n        return instance;\n      }\n\n      return base.FindChild(context, browseName, createOrReplace, replacement);\n    }\n\n    #endregion Overridden Methods\n\n    #region Private Fields\n\n    private PropertyState<double> m_input1;\n    private PropertyState<double> m_input2;\n    private PropertyState<double> m_input3;\n    private PropertyState<double> m_controlOut;\n    private PropertyState<LocalizedText> m_descriptionX;\n\n    #endregion Private Fields\n  }\n\n#endif\n\n  #endregion CustomControllerState Class\n\n  #region ValveState Class\n\n#if (!OPCUA_EXCLUDE_ValveState)\n\n  /// <summary>\n  /// Stores an instance of the ValveType ObjectType.\n  /// </summary>\n  /// <exclude />\n  [System.CodeDom.Compiler.GeneratedCodeAttribute(\"Opc.Ua.ModelCompiler\", \"1.0.0.0\")]\n  public partial class ValveState : GenericActuatorState\n  {\n    #region Constructors\n\n    /// <summary>\n    /// Initializes the type with its default attribute values.\n    /// </summary>\n    public ValveState(NodeState parent) : base(parent)\n    {\n    }\n\n    /// <summary>\n    /// Returns the id of the default type definition node for the instance.\n    /// </summary>\n    protected override NodeId GetDefaultTypeDefinitionId(NamespaceTable namespaceUris)\n    {\n      return NodeId.Create(tempuri.org.UA.Examples.BoilerType.ObjectTypes.ValveType, tempuri.org.UA.Examples.BoilerType.Namespaces.BoilerType, namespaceUris);\n    }\n\n#if (!OPCUA_EXCLUDE_InitializationStrings)\n        /// <summary>\n        /// Initializes the instance.\n        /// </summary>\n        protected override void Initialize(ISystemContext context)\n        {\n            Initialize(context, InitializationString);\n            InitializeOptionalChildren(context);\n        }\n\n        /// <summary>\n        /// Initializes the any option children defined for the instance.\n        /// </summary>\n        protected override void InitializeOptionalChildren(ISystemContext context)\n        {\n            base.InitializeOptionalChildren(context);\n        }\n\n    #region Initialization String\n\n        private const string InitializationString =\n           \"AQAAACkAAABodHRwOi8vdGVtcHVyaS5vcmcvVUEvRXhhbXBsZXMvQm9pbGVyVHlwZf////8EYIAAAQAA\" +\n           \"AAEAEQAAAFZhbHZlVHlwZUluc3RhbmNlAQEcAAEBHAD/////AQAAABVgiQoCAAAAAQAFAAAASW5wdXQB\" +\n           \"AR0AAC8BAEAJHQAAAAAL/////wIC/////wEAAAAVYIkKAgAAAAAABwAAAEVVUmFuZ2UBASEAAC4ARCEA\" +\n           \"AAABAHQD/////wEB/////wAAAAA=\";\n\n    #endregion Initialization String\n\n#endif\n\n    #endregion Constructors\n  }\n\n#endif\n\n  #endregion ValveState Class\n\n  #region LevelControllerState Class\n\n#if (!OPCUA_EXCLUDE_LevelControllerState)\n\n  /// <summary>\n  /// Stores an instance of the LevelControllerType ObjectType.\n  /// </summary>\n  /// <exclude />\n  [System.CodeDom.Compiler.GeneratedCodeAttribute(\"Opc.Ua.ModelCompiler\", \"1.0.0.0\")]\n  public partial class LevelControllerState : GenericControllerState\n  {\n    #region Constructors\n\n    /// <summary>\n    /// Initializes the type with its default attribute values.\n    /// </summary>\n    public LevelControllerState(NodeState parent) : base(parent)\n    {\n    }\n\n    /// <summary>\n    /// Returns the id of the default type definition node for the instance.\n    /// </summary>\n    protected override NodeId GetDefaultTypeDefinitionId(NamespaceTable namespaceUris)\n    {\n      return NodeId.Create(tempuri.org.UA.Examples.BoilerType.ObjectTypes.LevelControllerType, tempuri.org.UA.Examples.BoilerType.Namespaces.BoilerType, namespaceUris);\n    }\n\n#if (!OPCUA_EXCLUDE_InitializationStrings)\n        /// <summary>\n        /// Initializes the instance.\n        /// </summary>\n        protected override void Initialize(ISystemContext context)\n        {\n            Initialize(context, InitializationString);\n            InitializeOptionalChildren(context);\n        }\n\n        /// <summary>\n        /// Initializes the any option children defined for the instance.\n        /// </summary>\n        protected override void InitializeOptionalChildren(ISystemContext context)\n        {\n            base.InitializeOptionalChildren(context);\n        }\n\n    #region Initialization String\n\n        private const string InitializationString =\n           \"AQAAACkAAABodHRwOi8vdGVtcHVyaS5vcmcvVUEvRXhhbXBsZXMvQm9pbGVyVHlwZf////8EYIAAAQAA\" +\n           \"AAEAGwAAAExldmVsQ29udHJvbGxlclR5cGVJbnN0YW5jZQEBIwABASMA/////wMAAAAVYIkKAgAAAAEA\" +\n           \"CwAAAE1lYXN1cmVtZW50AQEkAAAuAEQkAAAAAAv/////AQH/////AAAAABVgiQoCAAAAAQAIAAAAU2V0\" +\n           \"UG9pbnQBASUAAC4ARCUAAAAAC/////8DA/////8AAAAAFWCJCgIAAAABAAoAAABDb250cm9sT3V0AQEm\" +\n           \"AAAuAEQmAAAAAAv/////AQH/////AAAAAA==\";\n\n    #endregion Initialization String\n\n#endif\n\n    #endregion Constructors\n  }\n\n#endif\n\n  #endregion LevelControllerState Class\n\n  #region FlowControllerState Class\n\n#if (!OPCUA_EXCLUDE_FlowControllerState)\n\n  /// <summary>\n  /// Stores an instance of the FlowControllerType ObjectType.\n  /// </summary>\n  /// <exclude />\n  [System.CodeDom.Compiler.GeneratedCodeAttribute(\"Opc.Ua.ModelCompiler\", \"1.0.0.0\")]\n  public partial class FlowControllerState : GenericControllerState\n  {\n    #region Constructors\n\n    /// <summary>\n    /// Initializes the type with its default attribute values.\n    /// </summary>\n    public FlowControllerState(NodeState parent) : base(parent)\n    {\n    }\n\n    /// <summary>\n    /// Returns the id of the default type definition node for the instance.\n    /// </summary>\n    protected override NodeId GetDefaultTypeDefinitionId(NamespaceTable namespaceUris)\n    {\n      return NodeId.Create(tempuri.org.UA.Examples.BoilerType.ObjectTypes.FlowControllerType, tempuri.org.UA.Examples.BoilerType.Namespaces.BoilerType, namespaceUris);\n    }\n\n#if (!OPCUA_EXCLUDE_InitializationStrings)\n        /// <summary>\n        /// Initializes the instance.\n        /// </summary>\n        protected override void Initialize(ISystemContext context)\n        {\n            Initialize(context, InitializationString);\n            InitializeOptionalChildren(context);\n        }\n\n        /// <summary>\n        /// Initializes the any option children defined for the instance.\n        /// </summary>\n        protected override void InitializeOptionalChildren(ISystemContext context)\n        {\n            base.InitializeOptionalChildren(context);\n        }\n\n    #region Initialization String\n\n        private const string InitializationString =\n           \"AQAAACkAAABodHRwOi8vdGVtcHVyaS5vcmcvVUEvRXhhbXBsZXMvQm9pbGVyVHlwZf////8EYIAAAQAA\" +\n           \"AAEAGgAAAEZsb3dDb250cm9sbGVyVHlwZUluc3RhbmNlAQEnAAEBJwD/////AwAAABVgiQoCAAAAAQAL\" +\n           \"AAAATWVhc3VyZW1lbnQBASgAAC4ARCgAAAAAC/////8BAf////8AAAAAFWCJCgIAAAABAAgAAABTZXRQ\" +\n           \"b2ludAEBKQAALgBEKQAAAAAL/////wMD/////wAAAAAVYIkKAgAAAAEACgAAAENvbnRyb2xPdXQBASoA\" +\n           \"AC4ARCoAAAAAC/////8BAf////8AAAAA\";\n\n    #endregion Initialization String\n\n#endif\n\n    #endregion Constructors\n  }\n\n#endif\n\n  #endregion FlowControllerState Class\n\n  #region LevelIndicatorState Class\n\n#if (!OPCUA_EXCLUDE_LevelIndicatorState)\n\n  /// <summary>\n  /// Stores an instance of the LevelIndicatorType ObjectType.\n  /// </summary>\n  /// <exclude />\n  [System.CodeDom.Compiler.GeneratedCodeAttribute(\"Opc.Ua.ModelCompiler\", \"1.0.0.0\")]\n  public partial class LevelIndicatorState : GenericSensorState\n  {\n    #region Constructors\n\n    /// <summary>\n    /// Initializes the type with its default attribute values.\n    /// </summary>\n    public LevelIndicatorState(NodeState parent) : base(parent)\n    {\n    }\n\n    /// <summary>\n    /// Returns the id of the default type definition node for the instance.\n    /// </summary>\n    protected override NodeId GetDefaultTypeDefinitionId(NamespaceTable namespaceUris)\n    {\n      return NodeId.Create(tempuri.org.UA.Examples.BoilerType.ObjectTypes.LevelIndicatorType, tempuri.org.UA.Examples.BoilerType.Namespaces.BoilerType, namespaceUris);\n    }\n\n#if (!OPCUA_EXCLUDE_InitializationStrings)\n        /// <summary>\n        /// Initializes the instance.\n        /// </summary>\n        protected override void Initialize(ISystemContext context)\n        {\n            Initialize(context, InitializationString);\n            InitializeOptionalChildren(context);\n        }\n\n        /// <summary>\n        /// Initializes the any option children defined for the instance.\n        /// </summary>\n        protected override void InitializeOptionalChildren(ISystemContext context)\n        {\n            base.InitializeOptionalChildren(context);\n        }\n\n    #region Initialization String\n\n        private const string InitializationString =\n           \"AQAAACkAAABodHRwOi8vdGVtcHVyaS5vcmcvVUEvRXhhbXBsZXMvQm9pbGVyVHlwZf////8EYIAAAQAA\" +\n           \"AAEAGgAAAExldmVsSW5kaWNhdG9yVHlwZUluc3RhbmNlAQErAAEBKwD/////AQAAABVgiQoCAAAAAQAG\" +\n           \"AAAAT3V0cHV0AQEsAAAvAQBACSwAAAAAC/////8BAf////8BAAAAFWCJCgIAAAAAAAcAAABFVVJhbmdl\" +\n           \"AQEwAAAuAEQwAAAAAQB0A/////8BAf////8AAAAA\";\n\n    #endregion Initialization String\n\n#endif\n\n    #endregion Constructors\n  }\n\n#endif\n\n  #endregion LevelIndicatorState Class\n\n  #region FlowTransmitterState Class\n\n#if (!OPCUA_EXCLUDE_FlowTransmitterState)\n\n  /// <summary>\n  /// Stores an instance of the FlowTransmitterType ObjectType.\n  /// </summary>\n  /// <exclude />\n  [System.CodeDom.Compiler.GeneratedCodeAttribute(\"Opc.Ua.ModelCompiler\", \"1.0.0.0\")]\n  public partial class FlowTransmitterState : GenericSensorState\n  {\n    #region Constructors\n\n    /// <summary>\n    /// Initializes the type with its default attribute values.\n    /// </summary>\n    public FlowTransmitterState(NodeState parent) : base(parent)\n    {\n    }\n\n    /// <summary>\n    /// Returns the id of the default type definition node for the instance.\n    /// </summary>\n    protected override NodeId GetDefaultTypeDefinitionId(NamespaceTable namespaceUris)\n    {\n      return NodeId.Create(tempuri.org.UA.Examples.BoilerType.ObjectTypes.FlowTransmitterType, tempuri.org.UA.Examples.BoilerType.Namespaces.BoilerType, namespaceUris);\n    }\n\n#if (!OPCUA_EXCLUDE_InitializationStrings)\n        /// <summary>\n        /// Initializes the instance.\n        /// </summary>\n        protected override void Initialize(ISystemContext context)\n        {\n            Initialize(context, InitializationString);\n            InitializeOptionalChildren(context);\n        }\n\n        /// <summary>\n        /// Initializes the any option children defined for the instance.\n        /// </summary>\n        protected override void InitializeOptionalChildren(ISystemContext context)\n        {\n            base.InitializeOptionalChildren(context);\n        }\n\n    #region Initialization String\n\n        private const string InitializationString =\n           \"AQAAACkAAABodHRwOi8vdGVtcHVyaS5vcmcvVUEvRXhhbXBsZXMvQm9pbGVyVHlwZf////8EYIAAAQAA\" +\n           \"AAEAGwAAAEZsb3dUcmFuc21pdHRlclR5cGVJbnN0YW5jZQEBMgABATIA/////wEAAAAVYIkKAgAAAAEA\" +\n           \"BgAAAE91dHB1dAEBMwAALwEAQAkzAAAAAAv/////AQH/////AQAAABVgiQoCAAAAAAAHAAAARVVSYW5n\" +\n           \"ZQEBNwAALgBENwAAAAEAdAP/////AQH/////AAAAAA==\";\n\n    #endregion Initialization String\n\n#endif\n\n    #endregion Constructors\n  }\n\n#endif\n\n  #endregion FlowTransmitterState Class\n\n  #region BoilerStateMachineState Class\n\n#if (!OPCUA_EXCLUDE_BoilerStateMachineState)\n\n  /// <summary>\n  /// Stores an instance of the BoilerStateMachineType ObjectType.\n  /// </summary>\n  /// <exclude />\n  [System.CodeDom.Compiler.GeneratedCodeAttribute(\"Opc.Ua.ModelCompiler\", \"1.0.0.0\")]\n  public partial class BoilerStateMachineState : ProgramStateMachineState\n  {\n    #region Constructors\n\n    /// <summary>\n    /// Initializes the type with its default attribute values.\n    /// </summary>\n    public BoilerStateMachineState(NodeState parent) : base(parent)\n    {\n    }\n\n    /// <summary>\n    /// Returns the id of the default type definition node for the instance.\n    /// </summary>\n    protected override NodeId GetDefaultTypeDefinitionId(NamespaceTable namespaceUris)\n    {\n      return NodeId.Create(tempuri.org.UA.Examples.BoilerType.ObjectTypes.BoilerStateMachineType, tempuri.org.UA.Examples.BoilerType.Namespaces.BoilerType, namespaceUris);\n    }\n\n#if (!OPCUA_EXCLUDE_InitializationStrings)\n        /// <summary>\n        /// Initializes the instance.\n        /// </summary>\n        protected override void Initialize(ISystemContext context)\n        {\n            Initialize(context, InitializationString);\n            InitializeOptionalChildren(context);\n        }\n\n        /// <summary>\n        /// Initializes the any option children defined for the instance.\n        /// </summary>\n        protected override void InitializeOptionalChildren(ISystemContext context)\n        {\n            base.InitializeOptionalChildren(context);\n        }\n\n    #region Initialization String\n\n        private const string InitializationString =\n           \"AQAAACkAAABodHRwOi8vdGVtcHVyaS5vcmcvVUEvRXhhbXBsZXMvQm9pbGVyVHlwZf////8EYIAAAQAA\" +\n           \"AAEAHgAAAEJvaWxlclN0YXRlTWFjaGluZVR5cGVJbnN0YW5jZQEBOQABATkA/////woAAAAVYIkKAgAA\" +\n           \"AAAADAAAAEN1cnJlbnRTdGF0ZQEBOgAALwEAyAo6AAAAABX/////AQH/////AgAAABVgiQoCAAAAAAAC\" +\n           \"AAAASWQBATsAAC4ARDsAAAAAEf////8BAf////8AAAAAFWCJCgIAAAAAAAYAAABOdW1iZXIBAT0AAC4A\" +\n           \"RD0AAAAAB/////8BAf////8AAAAAFWCJCgIAAAAAAA4AAABMYXN0VHJhbnNpdGlvbgEBPwAALwEAzwo/\" +\n           \"AAAAABX/////AQH/////AwAAABVgiQoCAAAAAAACAAAASWQBAUAAAC4AREAAAAAAEf////8BAf////8A\" +\n           \"AAAAFWCJCgIAAAAAAAYAAABOdW1iZXIBAUIAAC4AREIAAAAAB/////8BAf////8AAAAAFWCJCgIAAAAA\" +\n           \"AA4AAABUcmFuc2l0aW9uVGltZQEBQwAALgBEQwAAAAEAJgH/////AQH/////AAAAABVgiQoCAAAAAAAJ\" +\n           \"AAAARGVsZXRhYmxlAQFGAAAuAERGAAAAAAH/////AQH/////AAAAABVgiQoCAAAAAAAMAAAAUmVjeWNs\" +\n           \"ZUNvdW50AQFIAAAuAERIAAAAAAb/////AQH/////AAAAACRhggoEAAAAAAAFAAAAU3RhcnQBAXIAAwAA\" +\n           \"AABLAAAAQ2F1c2VzIHRoZSBQcm9ncmFtIHRvIHRyYW5zaXRpb24gZnJvbSB0aGUgUmVhZHkgc3RhdGUg\" +\n           \"dG8gdGhlIFJ1bm5pbmcgc3RhdGUuAC8BAHoJcgAAAAEBAQAAAAA1AQEBYgAAAAAAJGGCCgQAAAAAAAcA\" +\n           \"AABTdXNwZW5kAQFzAAMAAAAATwAAAENhdXNlcyB0aGUgUHJvZ3JhbSB0byB0cmFuc2l0aW9uIGZyb20g\" +\n           \"dGhlIFJ1bm5pbmcgc3RhdGUgdG8gdGhlIFN1c3BlbmRlZCBzdGF0ZS4ALwEAewlzAAAAAQEBAAAAADUB\" +\n           \"AQFoAAAAAAAkYYIKBAAAAAAABgAAAFJlc3VtZQEBdAADAAAAAE8AAABDYXVzZXMgdGhlIFByb2dyYW0g\" +\n           \"dG8gdHJhbnNpdGlvbiBmcm9tIHRoZSBTdXNwZW5kZWQgc3RhdGUgdG8gdGhlIFJ1bm5pbmcgc3RhdGUu\" +\n           \"AC8BAHwJdAAAAAEBAQAAAAA1AQEBagAAAAAAJGGCCgQAAAAAAAQAAABIYWx0AQF1AAMAAAAAYAAAAENh\" +\n           \"dXNlcyB0aGUgUHJvZ3JhbSB0byB0cmFuc2l0aW9uIGZyb20gdGhlIFJlYWR5LCBSdW5uaW5nIG9yIFN1\" +\n           \"c3BlbmRlZCBzdGF0ZSB0byB0aGUgSGFsdGVkIHN0YXRlLgAvAQB9CXUAAAABAQMAAAAANQEBAWQAADUB\" +\n           \"AQFsAAA1AQEBcAAAAAAAJGGCCgQAAAAAAAUAAABSZXNldAEBdgADAAAAAEoAAABDYXVzZXMgdGhlIFBy\" +\n           \"b2dyYW0gdG8gdHJhbnNpdGlvbiBmcm9tIHRoZSBIYWx0ZWQgc3RhdGUgdG8gdGhlIFJlYWR5IHN0YXRl\" +\n           \"LgAvAQB+CXYAAAABAQEAAAAANQEBAWAAAAAAADVgiQoCAAAAAQAKAAAAVXBkYXRlUmF0ZQEBdwADAAAA\" +\n           \"ACYAAABUaGUgcmF0ZSBhdCB3aGljaCB0aGUgc2ltdWxhdGlvbiBydW5zLgAuAER3AAAAAAf/////AwP/\" +\n           \"////AAAAAA==\";\n\n    #endregion Initialization String\n\n#endif\n\n    #endregion Constructors\n\n    #region Public Properties\n\n    /// <summary>\n    /// The rate at which the simulation runs.\n    /// </summary>\n    public PropertyState<uint> UpdateRate\n    {\n      get => m_updateRate;\n\n      set\n      {\n        if (!Object.ReferenceEquals(m_updateRate, value))\n        {\n          ChangeMasks |= NodeStateChangeMasks.Children;\n        }\n\n        m_updateRate = value;\n      }\n    }\n\n    #endregion Public Properties\n\n    #region Overridden Methods\n\n    /// <summary>\n    /// Populates a list with the children that belong to the node.\n    /// </summary>\n    /// <param name=\"context\">The context for the system being accessed.</param>\n    /// <param name=\"children\">The list of children to populate.</param>\n    public override void GetChildren(\n            ISystemContext context,\n            IList<BaseInstanceState> children)\n    {\n      if (m_updateRate != null)\n      {\n        children.Add(m_updateRate);\n      }\n\n      base.GetChildren(context, children);\n    }\n\n    /// <summary>\n    /// Finds the child with the specified browse name.\n    /// </summary>\n    protected override BaseInstanceState FindChild(\n        ISystemContext context,\n        QualifiedName browseName,\n        bool createOrReplace,\n        BaseInstanceState replacement)\n    {\n      if (QualifiedName.IsNull(browseName))\n      {\n        return null;\n      }\n\n      BaseInstanceState instance = null;\n\n      switch (browseName.Name)\n      {\n        case tempuri.org.UA.Examples.BoilerType.BrowseNames.UpdateRate:\n          {\n            if (createOrReplace)\n            {\n              if (UpdateRate == null)\n              {\n                if (replacement == null)\n                {\n                  UpdateRate = new PropertyState<uint>(this);\n                }\n                else\n                {\n                  UpdateRate = (PropertyState<uint>)replacement;\n                }\n              }\n            }\n\n            instance = UpdateRate;\n            break;\n          }\n      }\n\n      if (instance != null)\n      {\n        return instance;\n      }\n\n      return base.FindChild(context, browseName, createOrReplace, replacement);\n    }\n\n    #endregion Overridden Methods\n\n    #region Private Fields\n\n    private PropertyState<uint> m_updateRate;\n\n    #endregion Private Fields\n  }\n\n#endif\n\n  #endregion BoilerStateMachineState Class\n\n  #region BoilerInputPipeState Class\n\n#if (!OPCUA_EXCLUDE_BoilerInputPipeState)\n\n  /// <summary>\n  /// Stores an instance of the BoilerInputPipeType ObjectType.\n  /// </summary>\n  /// <exclude />\n  [System.CodeDom.Compiler.GeneratedCodeAttribute(\"Opc.Ua.ModelCompiler\", \"1.0.0.0\")]\n  public partial class BoilerInputPipeState : FolderState\n  {\n    #region Constructors\n\n    /// <summary>\n    /// Initializes the type with its default attribute values.\n    /// </summary>\n    public BoilerInputPipeState(NodeState parent) : base(parent)\n    {\n    }\n\n    /// <summary>\n    /// Returns the id of the default type definition node for the instance.\n    /// </summary>\n    protected override NodeId GetDefaultTypeDefinitionId(NamespaceTable namespaceUris)\n    {\n      return NodeId.Create(tempuri.org.UA.Examples.BoilerType.ObjectTypes.BoilerInputPipeType, tempuri.org.UA.Examples.BoilerType.Namespaces.BoilerType, namespaceUris);\n    }\n\n#if (!OPCUA_EXCLUDE_InitializationStrings)\n        /// <summary>\n        /// Initializes the instance.\n        /// </summary>\n        protected override void Initialize(ISystemContext context)\n        {\n            Initialize(context, InitializationString);\n            InitializeOptionalChildren(context);\n        }\n\n        /// <summary>\n        /// Initializes the any option children defined for the instance.\n        /// </summary>\n        protected override void InitializeOptionalChildren(ISystemContext context)\n        {\n            base.InitializeOptionalChildren(context);\n        }\n\n    #region Initialization String\n\n        private const string InitializationString =\n           \"AQAAACkAAABodHRwOi8vdGVtcHVyaS5vcmcvVUEvRXhhbXBsZXMvQm9pbGVyVHlwZf////8EYIAAAQAA\" +\n           \"AAEAGwAAAEJvaWxlcklucHV0UGlwZVR5cGVJbnN0YW5jZQEBeAABAXgAAQAAAAAwAAEBeQACAAAAxGDA\" +\n           \"CgEAAAAQAAAARmxvd1RyYW5zbWl0dGVyMQEABgAAAEZUWDAwMQEBeQADAAAAABAAAABGbG93VHJhbnNt\" +\n           \"aXR0ZXIxAC8BATIAeQAAAAEBAAAAADABAQF4AAEAAAAVYIkKAgAAAAEABgAAAE91dHB1dAEBegAALwEA\" +\n           \"QAl6AAAAAAv/////AQH/////AQAAABVgiQoCAAAAAAAHAAAARVVSYW5nZQEBfgAALgBEfgAAAAEAdAP/\" +\n           \"////AQH/////AAAAAMRgwAoBAAAABQAAAFZhbHZlAQAJAAAAVmFsdmVYMDAxAQGAAAMAAAAABQAAAFZh\" +\n           \"bHZlAC8BARwAgAAAAAH/////AQAAABVgiQoCAAAAAQAFAAAASW5wdXQBAYEAAC8BAEAJgQAAAAAL////\" +\n           \"/wIC/////wEAAAAVYIkKAgAAAAAABwAAAEVVUmFuZ2UBAYUAAC4ARIUAAAABAHQD/////wEB/////wAA\" +\n           \"AAA=\";\n\n    #endregion Initialization String\n\n#endif\n\n    #endregion Constructors\n\n    #region Public Properties\n\n    /// <summary>\n    /// A description for the FTX001 Object.\n    /// </summary>\n    public FlowTransmitterState FlowTransmitter1\n    {\n      get => m_flowTransmitter1;\n\n      set\n      {\n        if (!Object.ReferenceEquals(m_flowTransmitter1, value))\n        {\n          ChangeMasks |= NodeStateChangeMasks.Children;\n        }\n\n        m_flowTransmitter1 = value;\n      }\n    }\n\n    /// <summary>\n    /// A description for the ValveX001 Object.\n    /// </summary>\n    public ValveState Valve\n    {\n      get => m_valve;\n\n      set\n      {\n        if (!Object.ReferenceEquals(m_valve, value))\n        {\n          ChangeMasks |= NodeStateChangeMasks.Children;\n        }\n\n        m_valve = value;\n      }\n    }\n\n    #endregion Public Properties\n\n    #region Overridden Methods\n\n    /// <summary>\n    /// Populates a list with the children that belong to the node.\n    /// </summary>\n    /// <param name=\"context\">The context for the system being accessed.</param>\n    /// <param name=\"children\">The list of children to populate.</param>\n    public override void GetChildren(\n            ISystemContext context,\n            IList<BaseInstanceState> children)\n    {\n      if (m_flowTransmitter1 != null)\n      {\n        children.Add(m_flowTransmitter1);\n      }\n\n      if (m_valve != null)\n      {\n        children.Add(m_valve);\n      }\n\n      base.GetChildren(context, children);\n    }\n\n    /// <summary>\n    /// Finds the child with the specified browse name.\n    /// </summary>\n    protected override BaseInstanceState FindChild(\n        ISystemContext context,\n        QualifiedName browseName,\n        bool createOrReplace,\n        BaseInstanceState replacement)\n    {\n      if (QualifiedName.IsNull(browseName))\n      {\n        return null;\n      }\n\n      BaseInstanceState instance = null;\n\n      switch (browseName.Name)\n      {\n        case tempuri.org.UA.Examples.BoilerType.BrowseNames.FlowTransmitter1:\n          {\n            if (createOrReplace)\n            {\n              if (FlowTransmitter1 == null)\n              {\n                if (replacement == null)\n                {\n                  FlowTransmitter1 = new FlowTransmitterState(this);\n                }\n                else\n                {\n                  FlowTransmitter1 = (FlowTransmitterState)replacement;\n                }\n              }\n            }\n\n            instance = FlowTransmitter1;\n            break;\n          }\n\n        case tempuri.org.UA.Examples.BoilerType.BrowseNames.Valve:\n          {\n            if (createOrReplace)\n            {\n              if (Valve == null)\n              {\n                if (replacement == null)\n                {\n                  Valve = new ValveState(this);\n                }\n                else\n                {\n                  Valve = (ValveState)replacement;\n                }\n              }\n            }\n\n            instance = Valve;\n            break;\n          }\n      }\n\n      if (instance != null)\n      {\n        return instance;\n      }\n\n      return base.FindChild(context, browseName, createOrReplace, replacement);\n    }\n\n    #endregion Overridden Methods\n\n    #region Private Fields\n\n    private FlowTransmitterState m_flowTransmitter1;\n    private ValveState m_valve;\n\n    #endregion Private Fields\n  }\n\n#endif\n\n  #endregion BoilerInputPipeState Class\n\n  #region BoilerDrumState Class\n\n#if (!OPCUA_EXCLUDE_BoilerDrumState)\n\n  /// <summary>\n  /// Stores an instance of the BoilerDrumType ObjectType.\n  /// </summary>\n  /// <exclude />\n  [System.CodeDom.Compiler.GeneratedCodeAttribute(\"Opc.Ua.ModelCompiler\", \"1.0.0.0\")]\n  public partial class BoilerDrumState : FolderState\n  {\n    #region Constructors\n\n    /// <summary>\n    /// Initializes the type with its default attribute values.\n    /// </summary>\n    public BoilerDrumState(NodeState parent) : base(parent)\n    {\n    }\n\n    /// <summary>\n    /// Returns the id of the default type definition node for the instance.\n    /// </summary>\n    protected override NodeId GetDefaultTypeDefinitionId(NamespaceTable namespaceUris)\n    {\n      return NodeId.Create(tempuri.org.UA.Examples.BoilerType.ObjectTypes.BoilerDrumType, tempuri.org.UA.Examples.BoilerType.Namespaces.BoilerType, namespaceUris);\n    }\n\n#if (!OPCUA_EXCLUDE_InitializationStrings)\n        /// <summary>\n        /// Initializes the instance.\n        /// </summary>\n        protected override void Initialize(ISystemContext context)\n        {\n            Initialize(context, InitializationString);\n            InitializeOptionalChildren(context);\n        }\n\n        /// <summary>\n        /// Initializes the any option children defined for the instance.\n        /// </summary>\n        protected override void InitializeOptionalChildren(ISystemContext context)\n        {\n            base.InitializeOptionalChildren(context);\n        }\n\n    #region Initialization String\n\n        private const string InitializationString =\n           \"AQAAACkAAABodHRwOi8vdGVtcHVyaS5vcmcvVUEvRXhhbXBsZXMvQm9pbGVyVHlwZf////8EYIAAAQAA\" +\n           \"AAEAFgAAAEJvaWxlckRydW1UeXBlSW5zdGFuY2UBAYcAAQGHAAEAAAAAMAABAYgAAQAAAIRgwAoBAAAA\" +\n           \"DgAAAExldmVsSW5kaWNhdG9yAQAGAAAATElYMDAxAQGIAAAvAQErAIgAAAABAQAAAAAwAQEBhwABAAAA\" +\n           \"FWCJCgIAAAABAAYAAABPdXRwdXQBAYkAAC8BAEAJiQAAAAAL/////wEB/////wEAAAAVYIkKAgAAAAAA\" +\n           \"BwAAAEVVUmFuZ2UBAY0AAC4ARI0AAAABAHQD/////wEB/////wAAAAA=\";\n\n    #endregion Initialization String\n\n#endif\n\n    #endregion Constructors\n\n    #region Public Properties\n\n    /// <summary>\n    /// A description for the LIX001 Object.\n    /// </summary>\n    public LevelIndicatorState LevelIndicator\n    {\n      get => m_levelIndicator;\n\n      set\n      {\n        if (!Object.ReferenceEquals(m_levelIndicator, value))\n        {\n          ChangeMasks |= NodeStateChangeMasks.Children;\n        }\n\n        m_levelIndicator = value;\n      }\n    }\n\n    #endregion Public Properties\n\n    #region Overridden Methods\n\n    /// <summary>\n    /// Populates a list with the children that belong to the node.\n    /// </summary>\n    /// <param name=\"context\">The context for the system being accessed.</param>\n    /// <param name=\"children\">The list of children to populate.</param>\n    public override void GetChildren(\n            ISystemContext context,\n            IList<BaseInstanceState> children)\n    {\n      if (m_levelIndicator != null)\n      {\n        children.Add(m_levelIndicator);\n      }\n\n      base.GetChildren(context, children);\n    }\n\n    /// <summary>\n    /// Finds the child with the specified browse name.\n    /// </summary>\n    protected override BaseInstanceState FindChild(\n        ISystemContext context,\n        QualifiedName browseName,\n        bool createOrReplace,\n        BaseInstanceState replacement)\n    {\n      if (QualifiedName.IsNull(browseName))\n      {\n        return null;\n      }\n\n      BaseInstanceState instance = null;\n\n      switch (browseName.Name)\n      {\n        case tempuri.org.UA.Examples.BoilerType.BrowseNames.LevelIndicator:\n          {\n            if (createOrReplace)\n            {\n              if (LevelIndicator == null)\n              {\n                if (replacement == null)\n                {\n                  LevelIndicator = new LevelIndicatorState(this);\n                }\n                else\n                {\n                  LevelIndicator = (LevelIndicatorState)replacement;\n                }\n              }\n            }\n\n            instance = LevelIndicator;\n            break;\n          }\n      }\n\n      if (instance != null)\n      {\n        return instance;\n      }\n\n      return base.FindChild(context, browseName, createOrReplace, replacement);\n    }\n\n    #endregion Overridden Methods\n\n    #region Private Fields\n\n    private LevelIndicatorState m_levelIndicator;\n\n    #endregion Private Fields\n  }\n\n#endif\n\n  #endregion BoilerDrumState Class\n\n  #region BoilerOutputPipeState Class\n\n#if (!OPCUA_EXCLUDE_BoilerOutputPipeState)\n\n  /// <summary>\n  /// Stores an instance of the BoilerOutputPipeType ObjectType.\n  /// </summary>\n  /// <exclude />\n  [System.CodeDom.Compiler.GeneratedCodeAttribute(\"Opc.Ua.ModelCompiler\", \"1.0.0.0\")]\n  public partial class BoilerOutputPipeState : FolderState\n  {\n    #region Constructors\n\n    /// <summary>\n    /// Initializes the type with its default attribute values.\n    /// </summary>\n    public BoilerOutputPipeState(NodeState parent) : base(parent)\n    {\n    }\n\n    /// <summary>\n    /// Returns the id of the default type definition node for the instance.\n    /// </summary>\n    protected override NodeId GetDefaultTypeDefinitionId(NamespaceTable namespaceUris)\n    {\n      return NodeId.Create(tempuri.org.UA.Examples.BoilerType.ObjectTypes.BoilerOutputPipeType, tempuri.org.UA.Examples.BoilerType.Namespaces.BoilerType, namespaceUris);\n    }\n\n#if (!OPCUA_EXCLUDE_InitializationStrings)\n        /// <summary>\n        /// Initializes the instance.\n        /// </summary>\n        protected override void Initialize(ISystemContext context)\n        {\n            Initialize(context, InitializationString);\n            InitializeOptionalChildren(context);\n        }\n\n        /// <summary>\n        /// Initializes the any option children defined for the instance.\n        /// </summary>\n        protected override void InitializeOptionalChildren(ISystemContext context)\n        {\n            base.InitializeOptionalChildren(context);\n        }\n\n    #region Initialization String\n\n        private const string InitializationString =\n           \"AQAAACkAAABodHRwOi8vdGVtcHVyaS5vcmcvVUEvRXhhbXBsZXMvQm9pbGVyVHlwZf////8EYIAAAQAA\" +\n           \"AAEAHAAAAEJvaWxlck91dHB1dFBpcGVUeXBlSW5zdGFuY2UBAY8AAQGPAAEAAAAAMAABAZAAAQAAAIRg\" +\n           \"wAoBAAAAEAAAAEZsb3dUcmFuc21pdHRlcjIBAAYAAABGVFgwMDIBAZAAAC8BATIAkAAAAAEBAAAAADAB\" +\n           \"AQGPAAEAAAAVYIkKAgAAAAEABgAAAE91dHB1dAEBkQAALwEAQAmRAAAAAAv/////AQH/////AQAAABVg\" +\n           \"iQoCAAAAAAAHAAAARVVSYW5nZQEBlQAALgBElQAAAAEAdAP/////AQH/////AAAAAA==\";\n\n    #endregion Initialization String\n\n#endif\n\n    #endregion Constructors\n\n    #region Public Properties\n\n    /// <summary>\n    /// A description for the FTX002 Object.\n    /// </summary>\n    public FlowTransmitterState FlowTransmitter2\n    {\n      get => m_flowTransmitter2;\n\n      set\n      {\n        if (!Object.ReferenceEquals(m_flowTransmitter2, value))\n        {\n          ChangeMasks |= NodeStateChangeMasks.Children;\n        }\n\n        m_flowTransmitter2 = value;\n      }\n    }\n\n    #endregion Public Properties\n\n    #region Overridden Methods\n\n    /// <summary>\n    /// Populates a list with the children that belong to the node.\n    /// </summary>\n    /// <param name=\"context\">The context for the system being accessed.</param>\n    /// <param name=\"children\">The list of children to populate.</param>\n    public override void GetChildren(\n            ISystemContext context,\n            IList<BaseInstanceState> children)\n    {\n      if (m_flowTransmitter2 != null)\n      {\n        children.Add(m_flowTransmitter2);\n      }\n\n      base.GetChildren(context, children);\n    }\n\n    /// <summary>\n    /// Finds the child with the specified browse name.\n    /// </summary>\n    protected override BaseInstanceState FindChild(\n        ISystemContext context,\n        QualifiedName browseName,\n        bool createOrReplace,\n        BaseInstanceState replacement)\n    {\n      if (QualifiedName.IsNull(browseName))\n      {\n        return null;\n      }\n\n      BaseInstanceState instance = null;\n\n      switch (browseName.Name)\n      {\n        case tempuri.org.UA.Examples.BoilerType.BrowseNames.FlowTransmitter2:\n          {\n            if (createOrReplace)\n            {\n              if (FlowTransmitter2 == null)\n              {\n                if (replacement == null)\n                {\n                  FlowTransmitter2 = new FlowTransmitterState(this);\n                }\n                else\n                {\n                  FlowTransmitter2 = (FlowTransmitterState)replacement;\n                }\n              }\n            }\n\n            instance = FlowTransmitter2;\n            break;\n          }\n      }\n\n      if (instance != null)\n      {\n        return instance;\n      }\n\n      return base.FindChild(context, browseName, createOrReplace, replacement);\n    }\n\n    #endregion Overridden Methods\n\n    #region Private Fields\n\n    private FlowTransmitterState m_flowTransmitter2;\n\n    #endregion Private Fields\n  }\n\n#endif\n\n  #endregion BoilerOutputPipeState Class\n\n  #region BoilerState Class\n\n#if (!OPCUA_EXCLUDE_BoilerState)\n\n  /// <summary>\n  /// Stores an instance of the BoilerType ObjectType.\n  /// </summary>\n  /// <exclude />\n  [System.CodeDom.Compiler.GeneratedCodeAttribute(\"Opc.Ua.ModelCompiler\", \"1.0.0.0\")]\n  public partial class BoilerState : BaseObjectState\n  {\n    #region Constructors\n\n    /// <summary>\n    /// Initializes the type with its default attribute values.\n    /// </summary>\n    public BoilerState(NodeState parent) : base(parent)\n    {\n    }\n\n    /// <summary>\n    /// Returns the id of the default type definition node for the instance.\n    /// </summary>\n    protected override NodeId GetDefaultTypeDefinitionId(NamespaceTable namespaceUris)\n    {\n      return NodeId.Create(tempuri.org.UA.Examples.BoilerType.ObjectTypes.BoilerType, tempuri.org.UA.Examples.BoilerType.Namespaces.BoilerType, namespaceUris);\n    }\n\n#if (!OPCUA_EXCLUDE_InitializationStrings)\n        /// <summary>\n        /// Initializes the instance.\n        /// </summary>\n        protected override void Initialize(ISystemContext context)\n        {\n            Initialize(context, InitializationString);\n            InitializeOptionalChildren(context);\n        }\n\n        /// <summary>\n        /// Initializes the any option children defined for the instance.\n        /// </summary>\n        protected override void InitializeOptionalChildren(ISystemContext context)\n        {\n            base.InitializeOptionalChildren(context);\n        }\n\n    #region Initialization String\n\n        private const string InitializationString =\n           \"AQAAACkAAABodHRwOi8vdGVtcHVyaS5vcmcvVUEvRXhhbXBsZXMvQm9pbGVyVHlwZf////+EYIAAAQAA\" +\n           \"AAEAEgAAAEJvaWxlclR5cGVJbnN0YW5jZQEBlwABAZcAAQQAAAAAMAABAZgAADAAAQGnAAAwAAEBrwAA\" +\n           \"JAABAcUABwAAAMRgwAoBAAAACQAAAElucHV0UGlwZQEACAAAAFBpcGVYMDAxAQGYAAMAAAAACQAAAElu\" +\n           \"cHV0UGlwZQAvAQF4AJgAAAABAwAAAAAwAQEBlwAAMAABAZkAAQEBAAABAacAAgAAAMRgwAoBAAAAEAAA\" +\n           \"AEZsb3dUcmFuc21pdHRlcjEBAAYAAABGVFgwMDEBAZkAAwAAAAAQAAAARmxvd1RyYW5zbWl0dGVyMQAv\" +\n           \"AQEyAJkAAAABAQAAAAAwAQEBmAABAAAAFWCJCgIAAAABAAYAAABPdXRwdXQBAZoAAC8BAEAJmgAAAAAL\" +\n           \"/////wEBAgAAAAEBAwAAAQG4AAEBAwAAAQHBAAEAAAAVYIkKAgAAAAAABwAAAEVVUmFuZ2UBAZ4AAC4A\" +\n           \"RJ4AAAABAHQD/////wEB/////wAAAADEYMAKAQAAAAUAAABWYWx2ZQEACQAAAFZhbHZlWDAwMQEBoAAD\" +\n           \"AAAAAAUAAABWYWx2ZQAvAQEcAKAAAAAB/////wEAAAAVYIkKAgAAAAEABQAAAElucHV0AQGhAAAvAQBA\" +\n           \"CaEAAAAAC/////8CAgEAAAABAQMAAQEBugABAAAAFWCJCgIAAAAAAAcAAABFVVJhbmdlAQGlAAAuAESl\" +\n           \"AAAAAQB0A/////8BAf////8AAAAAxGDACgEAAAAEAAAARHJ1bQEACAAAAERydW1YMDAxAQGnAAMAAAAA\" +\n           \"BAAAAERydW0ALwEBhwCnAAAAAQQAAAAAMAEBAZcAAQEBAAEBAZgAADAAAQGoAAEBAgAAAQGvAAEAAACE\" +\n           \"YMAKAQAAAA4AAABMZXZlbEluZGljYXRvcgEABgAAAExJWDAwMQEBqAAALwEBKwCoAAAAAQEAAAAAMAEB\" +\n           \"AacAAQAAABVgiQoCAAAAAQAGAAAAT3V0cHV0AQGpAAAvAQBACakAAAAAGv////8BAQEAAAABAQMAAAEB\" +\n           \"vAABAAAAFWCJCgIAAAAAAAcAAABFVVJhbmdlAQGtAAAuAEStAAAAAQB0A/////8BAf////8AAAAAxGDA\" +\n           \"CgEAAAAKAAAAT3V0cHV0UGlwZQEACAAAAFBpcGVYMDAyAQGvAAMAAAAACgAAAE91dHB1dFBpcGUALwEB\" +\n           \"jwCvAAAAAQMAAAAAMAEBAZcAAQECAAEBAacAADAAAQGwAAEAAACEYMAKAQAAABAAAABGbG93VHJhbnNt\" +\n           \"aXR0ZXIyAQAGAAAARlRYMDAyAQGwAAAvAQEyALAAAAABAQAAAAAwAQEBrwABAAAAFWCJCgIAAAABAAYA\" +\n           \"AABPdXRwdXQBAbEAAC8BAEAJsQAAAAAL/////wEBAQAAAAEBAwAAAQHCAAEAAAAVYIkKAgAAAAAABwAA\" +\n           \"AEVVUmFuZ2UBAbUAAC4ARLUAAAABAHQD/////wEB/////wAAAABEYMAKAQAAAA4AAABGbG93Q29udHJv\" +\n           \"bGxlcgEABgAAAEZDWDAwMQEBtwADAAAAAA4AAABGbG93Q29udHJvbGxlcgAvAQEnALcAAAD/////AwAA\" +\n           \"ABVgiQoCAAAAAQALAAAATWVhc3VyZW1lbnQBAbgAAC4ARLgAAAAAC/////8BAQEAAAABAQMAAQEBmgAA\" +\n           \"AAAAFWCJCgIAAAABAAgAAABTZXRQb2ludAEBuQAALgBEuQAAAAAL/////wMDAQAAAAEBAwABAQHDAAAA\" +\n           \"AAAVYIkKAgAAAAEACgAAAENvbnRyb2xPdXQBAboAAC4ARLoAAAAAC/////8BAQEAAAABAQMAAAEBoQAA\" +\n           \"AAAARGDACgEAAAAPAAAATGV2ZWxDb250cm9sbGVyAQAGAAAATENYMDAxAQG7AAMAAAAADwAAAExldmVs\" +\n           \"Q29udHJvbGxlcgAvAQEjALsAAAD/////AwAAABVgiQoCAAAAAQALAAAATWVhc3VyZW1lbnQBAbwAAC4A\" +\n           \"RLwAAAAAC/////8BAQEAAAABAQMAAQEBqQAAAAAAFWCJCgIAAAABAAgAAABTZXRQb2ludAEBvQAALgBE\" +\n           \"vQAAAAAL/////wMD/////wAAAAAVYIkKAgAAAAEACgAAAENvbnRyb2xPdXQBAb4AAC4ARL4AAAAAC///\" +\n           \"//8BAQEAAAABAQMAAAEBwAAAAAAARGDACgEAAAAQAAAAQ3VzdG9tQ29udHJvbGxlcgEABgAAAENDWDAw\" +\n           \"MQEBvwADAAAAABAAAABDdXN0b21Db250cm9sbGVyAC8BARYAvwAAAP////8FAAAAFWCJCgIAAAABAAYA\" +\n           \"AABJbnB1dDEBAcAAAC4ARMAAAAAAC/////8CAgEAAAABAQMAAQEBvgAAAAAAFWCJCgIAAAABAAYAAABJ\" +\n           \"bnB1dDIBAcEAAC4ARMEAAAAAC/////8CAgEAAAABAQMAAQEBmgAAAAAAFWCJCgIAAAABAAYAAABJbnB1\" +\n           \"dDMBAcIAAC4ARMIAAAAAC/////8CAgEAAAABAQMAAQEBsQAAAAAAFWCJCgIAAAABAAoAAABDb250cm9s\" +\n           \"T3V0AQHDAAAuAETDAAAAAAv/////AQEBAAAAAQEDAAABAbkAAAAAABVgyQoCAAAADAAAAERlc2NyaXB0\" +\n           \"aW9uWAEACwAAAERlc2NyaXB0aW9uAQHEAAAuAETEAAAAABX/////AQH/////AAAAAIRggAoBAAAAAQAK\" +\n           \"AAAAU2ltdWxhdGlvbgEBxQAALwEBOQDFAAAAAQEAAAAAJAEBAZcACgAAABVgiQoCAAAAAAAMAAAAQ3Vy\" +\n           \"cmVudFN0YXRlAQHGAAAvAQDICsYAAAAAFf////8BAf////8CAAAAFWCJCgIAAAAAAAIAAABJZAEBxwAA\" +\n           \"LgBExwAAAAAR/////wEB/////wAAAAAVYIkKAgAAAAAABgAAAE51bWJlcgEByQAALgBEyQAAAAAH////\" +\n           \"/wEB/////wAAAAAVYIkKAgAAAAAADgAAAExhc3RUcmFuc2l0aW9uAQHLAAAvAQDPCssAAAAAFf////8B\" +\n           \"Af////8DAAAAFWCJCgIAAAAAAAIAAABJZAEBzAAALgBEzAAAAAAR/////wEB/////wAAAAAVYIkKAgAA\" +\n           \"AAAABgAAAE51bWJlcgEBzgAALgBEzgAAAAAH/////wEB/////wAAAAAVYIkKAgAAAAAADgAAAFRyYW5z\" +\n           \"aXRpb25UaW1lAQHPAAAuAETPAAAAAQAmAf////8BAf////8AAAAAFWCJCgIAAAAAAAkAAABEZWxldGFi\" +\n           \"bGUBAdEAAC4ARNEAAAAAAf////8BAf////8AAAAAFWCJCgIAAAAAAAwAAABSZWN5Y2xlQ291bnQBAdMA\" +\n           \"AC4ARNMAAAAABv////8BAf////8AAAAAJGGCCgQAAAAAAAUAAABTdGFydAEB4AADAAAAAEsAAABDYXVz\" +\n           \"ZXMgdGhlIFByb2dyYW0gdG8gdHJhbnNpdGlvbiBmcm9tIHRoZSBSZWFkeSBzdGF0ZSB0byB0aGUgUnVu\" +\n           \"bmluZyBzdGF0ZS4ALwEAegngAAAAAQH/////AAAAACRhggoEAAAAAAAHAAAAU3VzcGVuZAEB4QADAAAA\" +\n           \"AE8AAABDYXVzZXMgdGhlIFByb2dyYW0gdG8gdHJhbnNpdGlvbiBmcm9tIHRoZSBSdW5uaW5nIHN0YXRl\" +\n           \"IHRvIHRoZSBTdXNwZW5kZWQgc3RhdGUuAC8BAHsJ4QAAAAEB/////wAAAAAkYYIKBAAAAAAABgAAAFJl\" +\n           \"c3VtZQEB4gADAAAAAE8AAABDYXVzZXMgdGhlIFByb2dyYW0gdG8gdHJhbnNpdGlvbiBmcm9tIHRoZSBT\" +\n           \"dXNwZW5kZWQgc3RhdGUgdG8gdGhlIFJ1bm5pbmcgc3RhdGUuAC8BAHwJ4gAAAAEB/////wAAAAAkYYIK\" +\n           \"BAAAAAAABAAAAEhhbHQBAeMAAwAAAABgAAAAQ2F1c2VzIHRoZSBQcm9ncmFtIHRvIHRyYW5zaXRpb24g\" +\n           \"ZnJvbSB0aGUgUmVhZHksIFJ1bm5pbmcgb3IgU3VzcGVuZGVkIHN0YXRlIHRvIHRoZSBIYWx0ZWQgc3Rh\" +\n           \"dGUuAC8BAH0J4wAAAAEB/////wAAAAAkYYIKBAAAAAAABQAAAFJlc2V0AQHkAAMAAAAASgAAAENhdXNl\" +\n           \"cyB0aGUgUHJvZ3JhbSB0byB0cmFuc2l0aW9uIGZyb20gdGhlIEhhbHRlZCBzdGF0ZSB0byB0aGUgUmVh\" +\n           \"ZHkgc3RhdGUuAC8BAH4J5AAAAAEB/////wAAAAA1YIkKAgAAAAEACgAAAFVwZGF0ZVJhdGUBAeUAAwAA\" +\n           \"AAAmAAAAVGhlIHJhdGUgYXQgd2hpY2ggdGhlIHNpbXVsYXRpb24gcnVucy4ALgBE5QAAAAAH/////wMD\" +\n           \"/////wAAAAA=\";\n\n    #endregion Initialization String\n\n#endif\n\n    #endregion Constructors\n\n    #region Public Properties\n\n    /// <summary>\n    /// A description for the PipeX001 Object.\n    /// </summary>\n    public BoilerInputPipeState InputPipe\n    {\n      get => m_inputPipe;\n\n      set\n      {\n        if (!Object.ReferenceEquals(m_inputPipe, value))\n        {\n          ChangeMasks |= NodeStateChangeMasks.Children;\n        }\n\n        m_inputPipe = value;\n      }\n    }\n\n    /// <summary>\n    /// A description for the DrumX001 Object.\n    /// </summary>\n    public BoilerDrumState Drum\n    {\n      get => m_drum;\n\n      set\n      {\n        if (!Object.ReferenceEquals(m_drum, value))\n        {\n          ChangeMasks |= NodeStateChangeMasks.Children;\n        }\n\n        m_drum = value;\n      }\n    }\n\n    /// <summary>\n    /// A description for the PipeX002 Object.\n    /// </summary>\n    public BoilerOutputPipeState OutputPipe\n    {\n      get => m_outputPipe;\n\n      set\n      {\n        if (!Object.ReferenceEquals(m_outputPipe, value))\n        {\n          ChangeMasks |= NodeStateChangeMasks.Children;\n        }\n\n        m_outputPipe = value;\n      }\n    }\n\n    /// <summary>\n    /// A description for the FCX001 Object.\n    /// </summary>\n    public FlowControllerState FlowController\n    {\n      get => m_flowController;\n\n      set\n      {\n        if (!Object.ReferenceEquals(m_flowController, value))\n        {\n          ChangeMasks |= NodeStateChangeMasks.Children;\n        }\n\n        m_flowController = value;\n      }\n    }\n\n    /// <summary>\n    /// A description for the LCX001 Object.\n    /// </summary>\n    public LevelControllerState LevelController\n    {\n      get => m_levelController;\n\n      set\n      {\n        if (!Object.ReferenceEquals(m_levelController, value))\n        {\n          ChangeMasks |= NodeStateChangeMasks.Children;\n        }\n\n        m_levelController = value;\n      }\n    }\n\n    /// <summary>\n    /// A description for the CCX001 Object.\n    /// </summary>\n    public CustomControllerState CustomController\n    {\n      get => m_customController;\n\n      set\n      {\n        if (!Object.ReferenceEquals(m_customController, value))\n        {\n          ChangeMasks |= NodeStateChangeMasks.Children;\n        }\n\n        m_customController = value;\n      }\n    }\n\n    /// <summary>\n    /// A description for the Simulation Object.\n    /// </summary>\n    public BoilerStateMachineState Simulation\n    {\n      get => m_simulation;\n\n      set\n      {\n        if (!Object.ReferenceEquals(m_simulation, value))\n        {\n          ChangeMasks |= NodeStateChangeMasks.Children;\n        }\n\n        m_simulation = value;\n      }\n    }\n\n    #endregion Public Properties\n\n    #region Overridden Methods\n\n    /// <summary>\n    /// Populates a list with the children that belong to the node.\n    /// </summary>\n    /// <param name=\"context\">The context for the system being accessed.</param>\n    /// <param name=\"children\">The list of children to populate.</param>\n    public override void GetChildren(\n            ISystemContext context,\n            IList<BaseInstanceState> children)\n    {\n      if (m_inputPipe != null)\n      {\n        children.Add(m_inputPipe);\n      }\n\n      if (m_drum != null)\n      {\n        children.Add(m_drum);\n      }\n\n      if (m_outputPipe != null)\n      {\n        children.Add(m_outputPipe);\n      }\n\n      if (m_flowController != null)\n      {\n        children.Add(m_flowController);\n      }\n\n      if (m_levelController != null)\n      {\n        children.Add(m_levelController);\n      }\n\n      if (m_customController != null)\n      {\n        children.Add(m_customController);\n      }\n\n      if (m_simulation != null)\n      {\n        children.Add(m_simulation);\n      }\n\n      base.GetChildren(context, children);\n    }\n\n    /// <summary>\n    /// Finds the child with the specified browse name.\n    /// </summary>\n    protected override BaseInstanceState FindChild(\n        ISystemContext context,\n        QualifiedName browseName,\n        bool createOrReplace,\n        BaseInstanceState replacement)\n    {\n      if (QualifiedName.IsNull(browseName))\n      {\n        return null;\n      }\n\n      BaseInstanceState instance = null;\n\n      switch (browseName.Name)\n      {\n        case tempuri.org.UA.Examples.BoilerType.BrowseNames.InputPipe:\n          {\n            if (createOrReplace)\n            {\n              if (InputPipe == null)\n              {\n                if (replacement == null)\n                {\n                  InputPipe = new BoilerInputPipeState(this);\n                }\n                else\n                {\n                  InputPipe = (BoilerInputPipeState)replacement;\n                }\n              }\n            }\n\n            instance = InputPipe;\n            break;\n          }\n\n        case tempuri.org.UA.Examples.BoilerType.BrowseNames.Drum:\n          {\n            if (createOrReplace)\n            {\n              if (Drum == null)\n              {\n                if (replacement == null)\n                {\n                  Drum = new BoilerDrumState(this);\n                }\n                else\n                {\n                  Drum = (BoilerDrumState)replacement;\n                }\n              }\n            }\n\n            instance = Drum;\n            break;\n          }\n\n        case tempuri.org.UA.Examples.BoilerType.BrowseNames.OutputPipe:\n          {\n            if (createOrReplace)\n            {\n              if (OutputPipe == null)\n              {\n                if (replacement == null)\n                {\n                  OutputPipe = new BoilerOutputPipeState(this);\n                }\n                else\n                {\n                  OutputPipe = (BoilerOutputPipeState)replacement;\n                }\n              }\n            }\n\n            instance = OutputPipe;\n            break;\n          }\n\n        case tempuri.org.UA.Examples.BoilerType.BrowseNames.FlowController:\n          {\n            if (createOrReplace)\n            {\n              if (FlowController == null)\n              {\n                if (replacement == null)\n                {\n                  FlowController = new FlowControllerState(this);\n                }\n                else\n                {\n                  FlowController = (FlowControllerState)replacement;\n                }\n              }\n            }\n\n            instance = FlowController;\n            break;\n          }\n\n        case tempuri.org.UA.Examples.BoilerType.BrowseNames.LevelController:\n          {\n            if (createOrReplace)\n            {\n              if (LevelController == null)\n              {\n                if (replacement == null)\n                {\n                  LevelController = new LevelControllerState(this);\n                }\n                else\n                {\n                  LevelController = (LevelControllerState)replacement;\n                }\n              }\n            }\n\n            instance = LevelController;\n            break;\n          }\n\n        case tempuri.org.UA.Examples.BoilerType.BrowseNames.CustomController:\n          {\n            if (createOrReplace)\n            {\n              if (CustomController == null)\n              {\n                if (replacement == null)\n                {\n                  CustomController = new CustomControllerState(this);\n                }\n                else\n                {\n                  CustomController = (CustomControllerState)replacement;\n                }\n              }\n            }\n\n            instance = CustomController;\n            break;\n          }\n\n        case tempuri.org.UA.Examples.BoilerType.BrowseNames.Simulation:\n          {\n            if (createOrReplace)\n            {\n              if (Simulation == null)\n              {\n                if (replacement == null)\n                {\n                  Simulation = new BoilerStateMachineState(this);\n                }\n                else\n                {\n                  Simulation = (BoilerStateMachineState)replacement;\n                }\n              }\n            }\n\n            instance = Simulation;\n            break;\n          }\n      }\n\n      if (instance != null)\n      {\n        return instance;\n      }\n\n      return base.FindChild(context, browseName, createOrReplace, replacement);\n    }\n\n    #endregion Overridden Methods\n\n    #region Private Fields\n\n    private BoilerInputPipeState m_inputPipe;\n    private BoilerDrumState m_drum;\n    private BoilerOutputPipeState m_outputPipe;\n    private FlowControllerState m_flowController;\n    private LevelControllerState m_levelController;\n    private CustomControllerState m_customController;\n    private BoilerStateMachineState m_simulation;\n\n    #endregion Private Fields\n  }\n\n#endif\n\n  #endregion BoilerState Class\n}"
  },
  {
    "path": "Networking/Simulator.Boiler/Networking.Simulator.Boiler.csproj",
    "content": "﻿<Project Sdk=\"Microsoft.NET.Sdk\">\n\n  <PropertyGroup>\n    <TargetFramework>netstandard2.0</TargetFramework>\n    <RootNamespace>UAOOI.Networking.Simulator.Boiler</RootNamespace>\n    <AssemblyName>UAOOI.Networking.Simulator.Boiler</AssemblyName>\n    <Version>4.0.1</Version>\n    <Authors>MPostol</Authors>\n    <Company>commsvr.com</Company>\n    <Description>Simulator of a set of boilers used to produce steam for a turbine.</Description>\n    <Product>Object Oriented Internet</Product>\n    <Copyright>Copyright MPostol (c) 2018</Copyright>\n    <PackageLicenseUrl>https://github.com/mpostol/OPC-UA-OOI/blob/master/license.md</PackageLicenseUrl>\n    <PackageProjectUrl>https://commsvr.gitbook.io/ooi</PackageProjectUrl>\n    <RepositoryType>GitHub</RepositoryType>\n    <PackageTags>Object Oriented Internet, OPC UA, CommServer, Reactive Networking.</PackageTags>\n    <RepositoryUrl>https://github.com/mpostol/OPC-UA-OOI</RepositoryUrl>\n    <SignAssembly>true</SignAssembly>\n    <AssemblyOriginatorKeyFile>OPCUAOOIKey.snk</AssemblyOriginatorKeyFile>\n    <AssemblyVersion>4.0.1.1</AssemblyVersion>\n  </PropertyGroup>\n\n  <PropertyGroup Condition=\"'$(Configuration)|$(Platform)'=='Debug|AnyCPU'\">\n    <DefineConstants>TRACE;DEBUG;OPCUA_EXCLUDE_InitializationStrings;NETSTANDARD2_0</DefineConstants>\n    <NoWarn>1701;1702;1705;IDE0001,IDE0002,IDE0003</NoWarn>\n  </PropertyGroup>\n\n  <PropertyGroup Condition=\"'$(Configuration)|$(Platform)'=='Release|AnyCPU'\">\n    <DefineConstants>TRACE;OPCUA_EXCLUDE_InitializationStrings</DefineConstants>\n  </PropertyGroup>\n\n  <ItemGroup>\n    <Compile Remove=\"Model\\IBoilersSet.cs\" />\n    <Compile Remove=\"Model\\tempuri.org.UA.Examples.BoilerType.Classes - Copy.cs\" />\n    <Compile Remove=\"UAInformationModel\\DemoConfiguration\\BoilersSet\\Commsvr.UA.Examples.BoilersSet.Classes.cs\" />\n    <Compile Remove=\"UAInformationModel\\DemoConfiguration\\BoilerType\\tempuri.org.UA.Examples.BoilerType.Classes.cs\" />\n  </ItemGroup>\n\n  <ItemGroup>\n    <None Include=\"UAInformationModel\\DemoConfiguration\\BoilersSet\\Commsvr.UA.Examples.BoilersSet.Classes.cs\" />\n    <None Include=\"UAInformationModel\\DemoConfiguration\\BoilerType\\tempuri.org.UA.Examples.BoilerType.Classes.cs\" />\n  </ItemGroup>\n\n  <ItemGroup>\n    <ProjectReference Include=\"..\\..\\SemanticData\\UANodeSetValidation\\SemanticData.UANodeSetValidation.csproj\" />\n    <ProjectReference Include=\"..\\Core\\Networking.Core.csproj\" />\n    <ProjectReference Include=\"..\\ReferenceApplication.Core\\Networking.ReferenceApplication.Core.csproj\" />\n    <ProjectReference Include=\"..\\SemanticData\\Networking.SemanticData.csproj\" />\n  </ItemGroup>\n\n  <ItemGroup>\n    <None Update=\"ConfigurationDataConsumer.BoilersSet.xml\">\n      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>\n    </None>\n    <None Update=\"ConfigurationDataProducer.BoilersSet.xml\">\n      <CopyToOutputDirectory>Always</CopyToOutputDirectory>\n    </None>\n    <None Update=\"ConfigurationDataProducer.xml\">\n      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>\n    </None>\n  </ItemGroup>\n\n</Project>\n"
  },
  {
    "path": "Networking/Simulator.Boiler/ProducerConfigurationFactory.cs",
    "content": "﻿//___________________________________________________________________________________\n//\n//  Copyright (C) 2018, Mariusz Postol LODZ POLAND.\n//\n//  To be in touch join the community at GITTER: https://gitter.im/mpostol/OPC-UA-OOI\n//___________________________________________________________________________________\n\nusing CommonServiceLocator;\nusing System;\nusing System.Diagnostics;\nusing UAOOI.Common.Infrastructure.Diagnostic;\nusing UAOOI.Configuration.Networking;\nusing UAOOI.Configuration.Networking.Serialization;\n\nnamespace UAOOI.Networking.Simulator.Boiler\n{\n  /// <summary>\n  /// Class ProducerConfigurationFactory - provides implementation of the <see cref=\"ConfigurationFactoryBase{T}\" /> for the producer.\n  /// Implements the <see cref=\"ConfigurationFactoryBase{T}\" />\n  /// </summary>\n  /// <seealso cref=\"ConfigurationFactoryBase{T}\" />\n  internal class ProducerConfigurationFactory : ConfigurationFactoryBase<ConfigurationData>\n  {\n    #region constructor\n\n    /// <summary>\n    /// Initializes a new instance of the <see cref=\"ProducerConfigurationFactory\" /> class.\n    /// </summary>\n    /// <param name=\"configurationFileName\">Name of the producer configuration file.</param>\n    public ProducerConfigurationFactory(string configurationFileName) : base(configurationFileName)\n    {\n      IServiceLocator _serviceLocator = ServiceLocator.Current;\n      //TODO Create and Register the EventSource #455\n      _TraceSource = _serviceLocator.GetInstance<ITraceSource>();\n      _TraceSource.TraceData(TraceEventType.Information, 36, $\"Starting {nameof(ProducerConfigurationFactory)} with the configuration file name {configurationFileName}\");\n    }\n\n    #endregion constructor\n\n    #region ConfigurationFactoryBase\n\n    /// <summary>\n    /// Occurs after the association configuration has been changed.\n    /// </summary>\n    public override event EventHandler<EventArgs> OnAssociationConfigurationChange;\n\n    /// <summary>\n    /// Occurs after the communication configuration has been changed.\n    /// </summary>\n    public override event EventHandler<EventArgs> OnMessageHandlerConfigurationChange;\n\n    protected override void TraceData(TraceEventType eventType, int id, object data)\n    {\n      _TraceSource.TraceData(eventType, id, data);\n    }\n\n    protected override void RaiseEvents()\n    {\n      OnAssociationConfigurationChange?.Invoke(this, EventArgs.Empty);\n      OnMessageHandlerConfigurationChange?.Invoke(this, EventArgs.Empty);\n    }\n\n    #endregion ConfigurationFactoryBase\n\n    #region private\n\n    private ITraceSource _TraceSource = null;\n\n    #endregion private\n  }\n}"
  },
  {
    "path": "Networking/Simulator.Boiler/Properties/AssemblyInfo.cs",
    "content": "\nusing System.Reflection;\nusing System.Runtime.CompilerServices;\n\n[assembly: AssemblyTrademark(\"Object Oriented Internet\")]\n[assembly: AssemblyCulture(\"\")]\n[assembly: InternalsVisibleTo(\n  \"UAOOI.Networking.Simulator.Boiler.UnitTest, PublicKey=\" +\n    \"00240000048000009400000006020000002400005253413100040000010001005b97a0972ff6b13a\" +\n    \"8a9ff9c09503aea0e5e2fe29cb2275a0c0942182f4c3431814b6bc9a556d9fe0d7e7823439c1ba28\" +\n    \"521f6318e4c936c4461604ef668e9686c2021571b093e1bfba071b373bc56a07a3afdc120c5313d3\" +\n    \"9a935cda64b759f857ebb3db483641444a5347e1564f8ba6d4fad2f968d3caf9991a4fa6aa019ebe\"\n)]\n"
  },
  {
    "path": "Networking/Simulator.Boiler/README.md",
    "content": "# `ReferenceApplication` Producer - Boilers Set Simulator\n\n## Introduction\n\nThe project `Networking.Simulator.Boiler` is a part of the proof of concept with the aim of verifying that the reactive communication implemented using the `Networking.SemanticData` library is well suited to deploy Internet of Things (IoT) paradigm for highly distributed applications. A set of unmanned boilers spread geographically, which have to be monitored and remotely controlled is used as an example in this proof of concept. It is assumed that they produce a lot of process data describing the state and behavior of each boiler. In case some alarms have been raised a serviceman must be called to investigate and fix the problem. So we are facing the following problems:\n\n- **Mobility** – the serviceman must be informed in any localization in the service area (say agglomeration)\n- **Navigation** – the serviceman must be routed from the place currently he is to the affected area\n- **Remote control** – the serviceman must be able to control remotely the industrial object (in this case the boiler) to avoid any catastrophic behavior\n- **Data reusability** – the data must be also available and shared by others helping him minimize danger and fix the problem in the shortest possible time\n\nThe main goal of this proof of concept is to demonstrate the feasibility of process data generation and publication using **PubSub** reactive networking concept against selected OPC UA Information Model. It also demonstrates how to design the pluggable software module dedicated to implementing the **Producer** role that is developed solely on top of the library  [Reactive Networking of Semantic-Data Library](../../Networking/SemanticData/README.MD).\n\nBy design it is composable component of the [`ReferenceApplication`](../../Networking/ReferenceApplication/README.MD). This component may be integrated with the `ReferenceApplication` as the `Producer`.\n\nThe source code of the OPC UA Information Model is added to the project and is located in the folder `UAInformationModel`. The folder also contains the solution file that can be opened using the Address Space Model Designer [\\[ 2\\]][CAS.ASMD]. A detailed description of the OPC UA Information Model deployment is covered by [\\[1\\]][CAS.OPCUAIMD].\n\n## Informal Model of Boiler\n\nThis example considers a real process in a boiler producing steam from water. The piping and instrumentation diagram (P&ID) in Figure 1 shows the piping and process equipment together with the instrumentation and control devices. It consists of an input pipe feeding water, a boiler drum producing steam that is carried away by an output pipe. To meet the process requirements, flow and level controllers use a valve on the input pipe to control water flow in the feedback loop.\n\n![Figure 1. Boiler P&ID diagram](../../CommonResources/Media/Boiler/image001.png)\n\n## OPC UA Information Model of Boiler\n\nOne purpose of this example is to illustrate modeling against OPC UA Information Model. A simplified model of the presented process is illustrated in Figure 2 showing part of an OPC UA Information Model where the `BoilerType` type is defined.\n\n![Figure 2. Boiler simplified model](../../CommonResources/Media/Boiler/image003.png)\n\nObjects of this type are complex and consist of the following components: `InputPipe`, `Drum`, `OutputPipe`, `FlowController`, `LevelController`, `CustomController`. For all of these objects corresponding types are defined.\n\nTo reflect the process behavior, a `FlowTo` reference type is used to interconnect relevant objects and provide clients short browsing paths. It is derived from `NonHierarchicalReferences` (Figure 3) what is exposed in the Address Space of the server. It is good illustration how the requirements that server should expose the OPC UA Information Model are realized in the practice, i.e. the server exposes the types as nodes using predefined layout merging all selected Information Model domains. It is also worth noting that we can find the same type definition in many places in the Address Space (e.g. Figure 2 , Figure 3 , and Figure 4 ).\n\nThe `BoilerType` can be instantiated every time a new boiler process is to be represented. As a result of instantiation of this type, all mandatory node chains referenced consecutively by the `HierarchicalReferences` in the forward direction (i.e. all components defined in Figure 2 and all their subcomponents) are instantiated as well.\n\nAnalyzing the whole process model is impractical here. To illustrate the design practice using this model, we will focus only on one selected brand of type definition inheritance hierarchy (see Figure 4). The whole model is added to the project and is located in the folder 'UAInformationModel'. The folder also contains the solution file that can be opened using the Address Space Model Designer [\\[ 2\\]][CAS.ASMD].\n\n![Figure 3. New FlowTo reference type definition](../../CommonResources/Media/Boiler/image005.png)\n\nThe model of the `BoilerInputPipeType` consists of two mandatory object components: `FlowTransmitter1`(`FTC001`) and `Valve`(`Valve001`) (Figure 5). After parent type instantiation, they are also created as components of that type and, therefore, called instance declaration. The newly created nodes have the same browse names (`FTC001`, `Valve001`) and display names (`FlowTransmitter1`, `Valve`) as in the type definition. Since browse names shall be unique in the context of the parent type definition, new nodes may be created without any fear of breaking the browse path uniqueness rules. A graphical element programmed against the `BoilerType` may need to display the value of the `Valve`. If the main graphical element is called `Boiler1` (an instance of `BoilerType`) it will need to refer to the target using the browse path: `Boiler1.Pipe001.Valve001`. This browse path is always unique, because the browse name of the created main object should be unique in the context it is located in and all instance declarations should have unique browse names in the context of types they are defined by.\n\n![Figure 4 Model of the BoilerInputPipeType inheritance hierarchy](../../CommonResources/Media/Boiler/image007.png)\n\n`FlowTransmiter1` is of `FlowTransmitterType` type, which indirectly inherits from `GenericSensorType`, based finally on the standard `BaseObjectType`. `GenericSensorType` has a component, namely an `Output` variable of the standard `AnalogItemType`, which has three properties: `EURange`, `InstrumentRange` and `EngineeringUnits`, but only `EURange` is mandatory. `InstrumentRange` and `EngineeringUnits` are optional, therefore should be created if needed. In the case of optional instance declaration, clients are responsible for examining the exposed Address Space to check if the predefined nodes are instantiated.\n\n## OPC UA Address Space of `BoilersArea`\n\nAfter instantiation of the `BoilerType` and adding reference to it in the `Objects.BoilersArea` folder, we obtain the Address Space presented in Figure 5 exposed by the server to clients. It should be noted that objects could have names other than in the definition. It is because each node in the Information Model has `DisplayName` attribute that contains the localized name of the node. Clients should use this attribute if they want to display the node name to the user. They should not use the browse name for this purpose. In this example only mandatory nodes have been instantiated.\n\n![Figure 5 `BoilersArea` Object exposed by the server](../../CommonResources/Media/Boiler/image009.png)\n\n## See also\n\n> - [ 1] Mariusz Postol. OPC UA Information Model Deployment, 2016. Version 1.2, DOI: 10.5281/zenodo.2586616 [![DOI](https://zenodo.org/badge/DOI/10.5281/zenodo.2586616.svg)](https://doi.org/10.5281/zenodo.2586616)\n> - [ 2] [OPC UA Address Space Model Designer, 2019][CAS.ASMD]\n> - [ 3] [OPC UA Information Model How to Create Instances Video][CAS.VideoInstances]\n\n[CAS.ASMD]:https://github.com/mpostol/ASMD\n[CAS.OPCUAIMD]:https://zenodo.org/record/2586616#.XdAUQFdKiUk\n[CAS.VideoInstances]:https://youtu.be/LvGHl-hRwZw\n"
  },
  {
    "path": "Networking/Simulator.Boiler/SimulatorDataManagementSetup.cs",
    "content": "﻿//___________________________________________________________________________________\n//\n//  Copyright (C) 2020, Mariusz Postol LODZ POLAND.\n//\n//  To be in touch join the community at GITTER: https://gitter.im/mpostol/OPC-UA-OOI\n//___________________________________________________________________________________\n\nusing CommonServiceLocator;\nusing System;\nusing System.ComponentModel.Composition;\nusing System.Diagnostics;\nusing UAOOI.Networking.Core;\nusing UAOOI.Networking.ReferenceApplication.Core;\nusing UAOOI.Networking.ReferenceApplication.Core.Diagnostic;\nusing UAOOI.Networking.SemanticData;\n\nnamespace UAOOI.Networking.Simulator.Boiler\n{\n  /// <summary>\n  /// Class SimulatorDataManagementSetup represents a data producer in the Reference Application. It is responsible to compose all parts making up a producer.\n  /// This class cannot be inherited.\n  /// Implements the <see cref=\"DataManagementSetup\" />\n  /// Implements the <see cref=\"IDataRepositoryStartup\" />\n  /// Implements the <see cref=\"IDataRepositoryStartup\" />\n  /// </summary>\n  /// <seealso cref=\"IDataRepositoryStartup\" />\n  /// <seealso cref=\"DataManagementSetup\" />\n  [Export(typeof(IDataRepositoryStartup))]\n  [PartCreationPolicy(CreationPolicy.Shared)]\n  public sealed class SimulatorDataManagementSetup : DataManagementSetup, IDataRepositoryStartup\n  {\n    #region Composition\n\n    /// <summary>\n    /// Initializes a new instance of the <see cref=\"SimulatorDataManagementSetup\"/> class.\n    /// </summary>\n    public SimulatorDataManagementSetup()\n    {\n      IServiceLocator _serviceLocator = ServiceLocator.Current;\n      string _configurationFileName = _serviceLocator.GetInstance<string>(CompositionSettings.ConfigurationFileNameContract);\n      m_ViewModel = _serviceLocator.GetInstance<ProducerViewModel>();\n      ConfigurationFactory = new ProducerConfigurationFactory(_configurationFileName);\n      EncodingFactory = _serviceLocator.GetInstance<IEncodingFactory>();\n      BindingFactory = m_DataGenerator = new DataGenerator();\n      MessageHandlerFactory = _serviceLocator.GetInstance<IMessageHandlerFactory>();\n    }\n\n    #endregion Composition\n\n    #region IProducerDataManagementSetup\n\n    /// <summary>\n    /// Setups this instance.\n    /// </summary>\n    public void Setup()\n    {\n      try\n      {\n        ReferenceApplicationEventSource.Log.Initialization($\"{nameof(SimulatorDataManagementSetup)}.{nameof(Setup)} starting\");\n        m_ViewModel.ChangeProducerCommand(() => { m_ViewModel.ProducerErrorMessage = \"Restarted\"; });\n        Start();\n        m_ViewModel.ProducerErrorMessage = \"Running\";\n        ReferenceApplicationEventSource.Log.Initialization($\" Setup of the producer engine has been accomplished and it starts sending data.\");\n      }\n      catch (Exception _ex)\n      {\n        ReferenceApplicationEventSource.Log.LogException(_ex);\n        m_ViewModel.ProducerErrorMessage = \"ERROR\";\n       throw;\n      }\n    }\n\n    #endregion IProducerDataManagementSetup\n\n    #region IDisposable\n\n    /// <summary>\n    /// Releases unmanaged and - optionally - managed resources.\n    /// </summary>\n    /// <param name=\"disposing\"><c>true</c> to release both managed and unmanaged resources; <c>false</c> to release only unmanaged resources.</param>\n    protected override void Dispose(bool disposing)\n    {\n      m_onDispose(disposing);\n      base.Dispose(disposing);\n      if (!disposing || m_disposed)\n        return;\n      m_disposed = true;\n      m_DataGenerator.Dispose();\n    }\n\n    #endregion IDisposable\n\n    #region private\n\n    /// <summary>\n    /// Gets or sets the view model to be used for diagnostic purpose..\n    /// </summary>\n    /// <value>The view model.</value>\n    private ProducerViewModel m_ViewModel;\n\n    private DataGenerator m_DataGenerator = null;\n\n    /// <summary>\n    /// Gets a value indicating whether this <see cref=\"LoggerManagementSetup\"/> is disposed.\n    /// </summary>\n    /// <value><c>true</c> if disposed; otherwise, <c>false</c>.</value>\n    private bool m_disposed = false;\n\n    private Action<bool> m_onDispose = disposing => { };\n\n    #endregion private\n\n    #region Unit tests instrumentation\n\n    [Conditional(\"DEBUG\")]\n    internal void DisposeCheck(Action<bool> onDispose)\n    {\n      m_onDispose = onDispose;\n    }\n\n    #endregion Unit tests instrumentation\n  }\n}"
  },
  {
    "path": "Networking/Simulator.Boiler/UAInformationModel/BoilerExampleSolution.uamdsl",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<UAModelDesignerSolution xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\" xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\">\n  <Name>Boiler Example Solution</Name>\n  <Projects>\n    <UAModelDesignerProject ProjectIdentifier=\"16e3ddd9-3e85-476c-a552-6ac1ad9094b6\">\n      <Name>BoilerType</Name>\n      <CSVFileName>$(ProjectFileName).csv</CSVFileName>\n      <BuildOutputDirectoryName>$(ProjectFileName)</BuildOutputDirectoryName>\n      <FileName>DemoConfiguration\\BoilerType.xml</FileName>\n    </UAModelDesignerProject>\n    <UAModelDesignerProject ProjectIdentifier=\"61e9f146-a415-437b-be6f-373e2c81ec55\">\n      <Name>BoilersSet</Name>\n      <CSVFileName>$(ProjectFileName).csv</CSVFileName>\n      <BuildOutputDirectoryName>$(ProjectFileName)</BuildOutputDirectoryName>\n      <FileName>DemoConfiguration\\BoilersSet.xml</FileName>\n    </UAModelDesignerProject>\n  </Projects>\n  <ServerDetails xsi:nil=\"true\" />\n</UAModelDesignerSolution>"
  },
  {
    "path": "Networking/Simulator.Boiler/UAInformationModel/DemoConfiguration/BoilerExample.oses",
    "content": "<?xml version=\"1.0\" standalone=\"yes\"?>\n<ConfigurationDataBase xmlns=\"http://commsvr.com/opc/OPCCliConfiguration.xsd\">\n  <xs:schema id=\"ConfigurationDataBase\" targetNamespace=\"http://commsvr.com/opc/OPCCliConfiguration.xsd\" xmlns:mstns=\"http://commsvr.com/opc/OPCCliConfiguration.xsd\" xmlns=\"http://commsvr.com/opc/OPCCliConfiguration.xsd\" xmlns:xs=\"http://www.w3.org/2001/XMLSchema\" xmlns:msdata=\"urn:schemas-microsoft-com:xml-msdata\" attributeFormDefault=\"qualified\" elementFormDefault=\"qualified\">\n    <xs:element name=\"ConfigurationDataBase\" msdata:IsDataSet=\"true\" msdata:CaseSensitive=\"true\" msdata:Locale=\"\">\n      <xs:complexType>\n        <xs:choice minOccurs=\"0\" maxOccurs=\"unbounded\">\n          <xs:element name=\"Servers\">\n            <xs:complexType>\n              <xs:sequence>\n                <xs:element name=\"ID\" msdata:AutoIncrement=\"true\" type=\"xs:long\" />\n                <xs:element name=\"Name\" type=\"xs:string\" minOccurs=\"0\" />\n                <xs:element name=\"URL\" type=\"xs:string\" />\n                <xs:element name=\"PreferedSpecyficationID\" type=\"xs:string\" />\n                <xs:element name=\"PreferedSpecyficationDsc\" type=\"xs:string\" />\n                <xs:element name=\"IsConnected\" type=\"xs:boolean\" default=\"true\" />\n                <xs:element name=\"Locale\" type=\"xs:string\" minOccurs=\"0\" />\n                <xs:element name=\"Filter\" type=\"xs:int\" minOccurs=\"0\" />\n              </xs:sequence>\n            </xs:complexType>\n          </xs:element>\n          <xs:element name=\"Subscriptions\">\n            <xs:complexType>\n              <xs:sequence>\n                <xs:element name=\"ID\" msdata:AutoIncrement=\"true\" type=\"xs:long\" />\n                <xs:element name=\"ID_server\" type=\"xs:long\" />\n                <xs:element name=\"Name\" type=\"xs:string\" />\n                <xs:element name=\"UpdateRate\" type=\"xs:int\" />\n                <xs:element name=\"Locale\" type=\"xs:string\" minOccurs=\"0\" />\n                <xs:element name=\"KeepAliveRate\" type=\"xs:int\" minOccurs=\"0\" />\n                <xs:element name=\"Deadband\" type=\"xs:float\" minOccurs=\"0\" />\n                <xs:element name=\"Enabled\" type=\"xs:boolean\" />\n                <xs:element name=\"Active\" type=\"xs:boolean\" />\n                <xs:element name=\"Asynchronous\" msdata:Caption=\"Async\" type=\"xs:boolean\" default=\"false\" />\n              </xs:sequence>\n            </xs:complexType>\n          </xs:element>\n          <xs:element name=\"Items\">\n            <xs:complexType>\n              <xs:sequence>\n                <xs:element name=\"ID\" msdata:AutoIncrement=\"true\" type=\"xs:long\" />\n                <xs:element name=\"ID_Subscription\" type=\"xs:long\" />\n                <xs:element name=\"Name\" type=\"xs:string\" />\n                <xs:element name=\"MaxAge\" type=\"xs:int\" minOccurs=\"0\" />\n                <xs:element name=\"Active\" type=\"xs:boolean\" minOccurs=\"0\" />\n                <xs:element name=\"Deadband\" type=\"xs:float\" minOccurs=\"0\" />\n                <xs:element name=\"EnableBuffering\" type=\"xs:boolean\" minOccurs=\"0\" />\n                <xs:element name=\"ItemPath\" type=\"xs:string\" minOccurs=\"0\" />\n                <xs:element name=\"SamplingRate\" type=\"xs:int\" minOccurs=\"0\" />\n                <xs:element name=\"RequestedTypeFullName\" type=\"xs:string\" minOccurs=\"0\" />\n              </xs:sequence>\n            </xs:complexType>\n          </xs:element>\n          <xs:element name=\"Transactions\">\n            <xs:complexType>\n              <xs:sequence>\n                <xs:element name=\"ID\" msdata:AutoIncrement=\"true\" type=\"xs:long\" />\n                <xs:element name=\"Name\" type=\"xs:string\" />\n                <xs:element name=\"ID_itemIN\" type=\"xs:long\" minOccurs=\"0\" />\n                <xs:element name=\"Deadband\" type=\"xs:int\" minOccurs=\"0\" />\n                <xs:element name=\"MinUpdateRate\" type=\"xs:int\" minOccurs=\"0\" />\n                <xs:element name=\"TransactionRate\" type=\"xs:int\" />\n                <xs:element name=\"Comment\" type=\"xs:string\" minOccurs=\"0\" />\n                <xs:element name=\"BadQualityValue\" type=\"xs:string\" minOccurs=\"0\" />\n                <xs:element name=\"StopIfBadQuality\" type=\"xs:boolean\" />\n              </xs:sequence>\n            </xs:complexType>\n          </xs:element>\n          <xs:element name=\"Operations\">\n            <xs:complexType>\n              <xs:sequence>\n                <xs:element name=\"ID\" msdata:AutoIncrement=\"true\" type=\"xs:long\" />\n                <xs:element name=\"Name\" type=\"xs:string\" />\n                <xs:element name=\"ID_Transaction\" type=\"xs:long\" />\n                <xs:element name=\"Param\" type=\"xs:string\" minOccurs=\"0\" />\n                <xs:element name=\"OperationType\" msdata:DataType=\"System.Guid, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089\" type=\"xs:string\" />\n                <xs:element name=\"ID_Item\" type=\"xs:long\" minOccurs=\"0\" />\n                <xs:element name=\"Comment\" type=\"xs:string\" minOccurs=\"0\" />\n              </xs:sequence>\n            </xs:complexType>\n          </xs:element>\n          <xs:element name=\"OperationLinks\">\n            <xs:complexType>\n              <xs:sequence>\n                <xs:element name=\"ID_Operation\" type=\"xs:long\" />\n                <xs:element name=\"Input_number\" type=\"xs:int\" />\n                <xs:element name=\"IDChild_Operation\" type=\"xs:long\" />\n                <xs:element name=\"ChildOutput_number\" type=\"xs:int\" default=\"0\" />\n              </xs:sequence>\n            </xs:complexType>\n          </xs:element>\n          <xs:element name=\"ConnectData\">\n            <xs:complexType>\n              <xs:sequence>\n                <xs:element name=\"ID_Server\" type=\"xs:long\" />\n                <xs:element name=\"Password\" type=\"xs:string\" minOccurs=\"0\" />\n                <xs:element name=\"Domain\" type=\"xs:string\" minOccurs=\"0\" />\n                <xs:element name=\"UserName\" type=\"xs:string\" minOccurs=\"0\" />\n                <xs:element name=\"LicenseKey\" type=\"xs:string\" minOccurs=\"0\" />\n              </xs:sequence>\n            </xs:complexType>\n          </xs:element>\n          <xs:element name=\"Conversions\">\n            <xs:complexType>\n              <xs:sequence>\n                <xs:element name=\"ID_Item\" type=\"xs:long\" />\n                <xs:element name=\"MeasuredValue1\" type=\"xs:float\" default=\"0\" />\n                <xs:element name=\"MeasuredValue2\" type=\"xs:float\" default=\"1\" />\n                <xs:element name=\"EngineeringValue1\" type=\"xs:float\" default=\"0\" />\n                <xs:element name=\"EngineeringValue2\" type=\"xs:float\" default=\"1\" />\n              </xs:sequence>\n            </xs:complexType>\n          </xs:element>\n        </xs:choice>\n      </xs:complexType>\n      <xs:unique name=\"OPCCliConfigurationKey1\" msdata:PrimaryKey=\"true\">\n        <xs:selector xpath=\".//mstns:Servers\" />\n        <xs:field xpath=\"mstns:ID\" />\n      </xs:unique>\n      <xs:unique name=\"OPCCliConfigurationKey2\">\n        <xs:selector xpath=\".//mstns:Subscriptions\" />\n        <xs:field xpath=\"mstns:ID\" />\n      </xs:unique>\n      <xs:unique name=\"OPCCliConfigurationKey3\">\n        <xs:selector xpath=\".//mstns:Items\" />\n        <xs:field xpath=\"mstns:ID\" />\n      </xs:unique>\n      <xs:unique name=\"TransactionMasterKey\">\n        <xs:selector xpath=\".//mstns:Transactions\" />\n        <xs:field xpath=\"mstns:ID\" />\n      </xs:unique>\n      <xs:unique name=\"Constraint1\">\n        <xs:selector xpath=\".//mstns:Transactions\" />\n        <xs:field xpath=\"mstns:Name\" />\n      </xs:unique>\n      <xs:unique name=\"Operations_Constraint1\" msdata:ConstraintName=\"Constraint1\">\n        <xs:selector xpath=\".//mstns:Operations\" />\n        <xs:field xpath=\"mstns:ID\" />\n      </xs:unique>\n      <xs:unique name=\"Constraint2\" msdata:PrimaryKey=\"true\">\n        <xs:selector xpath=\".//mstns:Operations\" />\n        <xs:field xpath=\"mstns:ID_Transaction\" />\n        <xs:field xpath=\"mstns:ID\" />\n      </xs:unique>\n      <xs:unique name=\"OperationsKey_names\">\n        <xs:selector xpath=\".//mstns:Operations\" />\n        <xs:field xpath=\"mstns:ID\" />\n        <xs:field xpath=\"mstns:Name\" />\n      </xs:unique>\n      <xs:unique name=\"OperationLinksKeyMain\" msdata:PrimaryKey=\"true\">\n        <xs:selector xpath=\".//mstns:OperationLinks\" />\n        <xs:field xpath=\"mstns:ID_Operation\" />\n        <xs:field xpath=\"mstns:Input_number\" />\n      </xs:unique>\n      <xs:unique name=\"Constraint11\">\n        <xs:selector xpath=\".//mstns:ConnectData\" />\n        <xs:field xpath=\"mstns:ID_Server\" />\n      </xs:unique>\n      <xs:unique name=\"Conversions_Constraint11\" msdata:ConstraintName=\"Constraint11\">\n        <xs:selector xpath=\".//mstns:Conversions\" />\n        <xs:field xpath=\"mstns:ID_Item\" />\n      </xs:unique>\n      <xs:keyref name=\"FK_Items_Conversions\" refer=\"OPCCliConfigurationKey3\">\n        <xs:selector xpath=\".//mstns:Conversions\" />\n        <xs:field xpath=\"mstns:ID_Item\" />\n      </xs:keyref>\n      <xs:keyref name=\"FK_Servers_ConnectData\" refer=\"OPCCliConfigurationKey1\">\n        <xs:selector xpath=\".//mstns:ConnectData\" />\n        <xs:field xpath=\"mstns:ID_Server\" />\n      </xs:keyref>\n      <xs:keyref name=\"FK_OPERATION_OperationLinks\" refer=\"Operations_Constraint1\">\n        <xs:selector xpath=\".//mstns:OperationLinks\" />\n        <xs:field xpath=\"mstns:ID_Operation\" />\n      </xs:keyref>\n      <xs:keyref name=\"FK_OPERATION_OperationLinksChild\" refer=\"Operations_Constraint1\">\n        <xs:selector xpath=\".//mstns:OperationLinks\" />\n        <xs:field xpath=\"mstns:IDChild_Operation\" />\n      </xs:keyref>\n      <xs:keyref name=\"FK_ITEM_OPERATION\" refer=\"OPCCliConfigurationKey3\">\n        <xs:selector xpath=\".//mstns:Operations\" />\n        <xs:field xpath=\"mstns:ID_Item\" />\n      </xs:keyref>\n      <xs:keyref name=\"FK_TRANSITION_OPERATION\" refer=\"TransactionMasterKey\">\n        <xs:selector xpath=\".//mstns:Operations\" />\n        <xs:field xpath=\"mstns:ID_Transaction\" />\n      </xs:keyref>\n      <xs:keyref name=\"FK_SUBSCRIPTION_ITEM\" refer=\"OPCCliConfigurationKey2\">\n        <xs:selector xpath=\".//mstns:Items\" />\n        <xs:field xpath=\"mstns:ID_Subscription\" />\n      </xs:keyref>\n      <xs:keyref name=\"FK_SERVERS_SUBSCRIPTION\" refer=\"OPCCliConfigurationKey1\">\n        <xs:selector xpath=\".//mstns:Subscriptions\" />\n        <xs:field xpath=\"mstns:ID_server\" />\n      </xs:keyref>\n    </xs:element>\n    <xs:annotation>\n      <xs:appinfo>\n        <msdata:Relationship name=\"ITEM_TRANSITION\" msdata:parent=\"Items\" msdata:child=\"Transactions\" msdata:parentkey=\"ID\" msdata:childkey=\"ID_itemIN\" />\n      </xs:appinfo>\n    </xs:annotation>\n  </xs:schema>\n  <Servers>\n    <ID>47</ID>\n    <Name>CAS.CommServer.OPC.Da.Server</Name>\n    <URL>opcda://localhost/CAS.CommServer.OPC.Da.Server/{2032fe45-c774-46d7-9aa3-b844e8658919}</URL>\n    <PreferedSpecyficationID>CC603642-66D7-48f1-B69A-B625E73652D7</PreferedSpecyficationID>\n    <PreferedSpecyficationDsc>Data Access 3.00</PreferedSpecyficationDsc>\n    <IsConnected>true</IsConnected>\n    <Filter>9</Filter>\n  </Servers>\n  <Subscriptions>\n    <ID>141</ID>\n    <ID_server>47</ID_server>\n    <Name>Registers</Name>\n    <UpdateRate>1000</UpdateRate>\n    <KeepAliveRate>0</KeepAliveRate>\n    <Deadband>0</Deadband>\n    <Enabled>true</Enabled>\n    <Active>true</Active>\n    <Asynchronous>true</Asynchronous>\n  </Subscriptions>\n  <Subscriptions>\n    <ID>142</ID>\n    <ID_server>47</ID_server>\n    <Name>Flags</Name>\n    <UpdateRate>1000</UpdateRate>\n    <KeepAliveRate>0</KeepAliveRate>\n    <Deadband>0</Deadband>\n    <Enabled>true</Enabled>\n    <Active>true</Active>\n    <Asynchronous>true</Asynchronous>\n  </Subscriptions>\n  <Subscriptions>\n    <ID>143</ID>\n    <ID_server>47</ID_server>\n    <Name>Generator</Name>\n    <UpdateRate>1000</UpdateRate>\n    <KeepAliveRate>0</KeepAliveRate>\n    <Deadband>0</Deadband>\n    <Enabled>true</Enabled>\n    <Active>true</Active>\n    <Asynchronous>true</Asynchronous>\n  </Subscriptions>\n  <Items>\n    <ID>1119</ID>\n    <ID_Subscription>141</ID_Subscription>\n    <Name>PLC/R/100</Name>\n    <Active>true</Active>\n  </Items>\n  <Items>\n    <ID>1120</ID>\n    <ID_Subscription>141</ID_Subscription>\n    <Name>PLC/R/101</Name>\n    <Active>true</Active>\n  </Items>\n  <Items>\n    <ID>1121</ID>\n    <ID_Subscription>141</ID_Subscription>\n    <Name>PLC/R/102</Name>\n    <Active>true</Active>\n  </Items>\n  <Items>\n    <ID>1122</ID>\n    <ID_Subscription>141</ID_Subscription>\n    <Name>PLC/R/103</Name>\n    <Active>true</Active>\n  </Items>\n  <Items>\n    <ID>1123</ID>\n    <ID_Subscription>141</ID_Subscription>\n    <Name>PLC/R/104</Name>\n    <Active>true</Active>\n  </Items>\n  <Items>\n    <ID>1124</ID>\n    <ID_Subscription>141</ID_Subscription>\n    <Name>PLC/R/105</Name>\n    <Active>true</Active>\n  </Items>\n  <Items>\n    <ID>1125</ID>\n    <ID_Subscription>141</ID_Subscription>\n    <Name>PLC/R/106</Name>\n    <Active>true</Active>\n  </Items>\n  <Items>\n    <ID>1126</ID>\n    <ID_Subscription>141</ID_Subscription>\n    <Name>PLC/R/107</Name>\n    <Active>true</Active>\n  </Items>\n  <Items>\n    <ID>1127</ID>\n    <ID_Subscription>141</ID_Subscription>\n    <Name>PLC/R/108</Name>\n    <Active>true</Active>\n  </Items>\n  <Items>\n    <ID>1128</ID>\n    <ID_Subscription>141</ID_Subscription>\n    <Name>PLC/R/109</Name>\n    <Active>true</Active>\n  </Items>\n  <Items>\n    <ID>1129</ID>\n    <ID_Subscription>141</ID_Subscription>\n    <Name>PLC/R/110</Name>\n    <Active>true</Active>\n  </Items>\n  <Items>\n    <ID>1130</ID>\n    <ID_Subscription>142</ID_Subscription>\n    <Name>PLC/F/100</Name>\n    <Active>true</Active>\n  </Items>\n  <Items>\n    <ID>1131</ID>\n    <ID_Subscription>142</ID_Subscription>\n    <Name>PLC/F/101</Name>\n    <Active>true</Active>\n  </Items>\n  <Items>\n    <ID>1132</ID>\n    <ID_Subscription>142</ID_Subscription>\n    <Name>PLC/F/102</Name>\n    <Active>true</Active>\n  </Items>\n  <Items>\n    <ID>1133</ID>\n    <ID_Subscription>142</ID_Subscription>\n    <Name>PLC/F/103</Name>\n    <Active>true</Active>\n  </Items>\n  <Items>\n    <ID>1134</ID>\n    <ID_Subscription>142</ID_Subscription>\n    <Name>PLC/F/104</Name>\n    <Active>true</Active>\n  </Items>\n  <Items>\n    <ID>1135</ID>\n    <ID_Subscription>142</ID_Subscription>\n    <Name>PLC/F/105</Name>\n    <Active>true</Active>\n  </Items>\n  <Items>\n    <ID>1136</ID>\n    <ID_Subscription>142</ID_Subscription>\n    <Name>PLC/F/106</Name>\n    <Active>true</Active>\n  </Items>\n  <Items>\n    <ID>1137</ID>\n    <ID_Subscription>142</ID_Subscription>\n    <Name>PLC/F/107</Name>\n    <Active>true</Active>\n  </Items>\n  <Items>\n    <ID>1138</ID>\n    <ID_Subscription>142</ID_Subscription>\n    <Name>PLC/F/108</Name>\n    <Active>true</Active>\n  </Items>\n  <Items>\n    <ID>1139</ID>\n    <ID_Subscription>142</ID_Subscription>\n    <Name>PLC/F/109</Name>\n    <Active>true</Active>\n  </Items>\n  <Items>\n    <ID>1140</ID>\n    <ID_Subscription>143</ID_Subscription>\n    <Name>PLC/G/000</Name>\n    <Active>true</Active>\n  </Items>\n  <Items>\n    <ID>1141</ID>\n    <ID_Subscription>143</ID_Subscription>\n    <Name>PLC/G/001</Name>\n    <Active>true</Active>\n  </Items>\n  <Items>\n    <ID>1142</ID>\n    <ID_Subscription>143</ID_Subscription>\n    <Name>PLC/G/002</Name>\n    <Active>true</Active>\n  </Items>\n  <Transactions>\n    <ID>323</ID>\n    <Name>Transaction0</Name>\n    <MinUpdateRate>5000</MinUpdateRate>\n    <TransactionRate>1000</TransactionRate>\n    <Comment />\n    <BadQualityValue />\n    <StopIfBadQuality>true</StopIfBadQuality>\n  </Transactions>\n  <Transactions>\n    <ID>324</ID>\n    <Name>Transaction1</Name>\n    <MinUpdateRate>1000</MinUpdateRate>\n    <TransactionRate>1000</TransactionRate>\n    <Comment />\n    <BadQualityValue />\n    <StopIfBadQuality>true</StopIfBadQuality>\n  </Transactions>\n  <Transactions>\n    <ID>325</ID>\n    <Name>Transaction2</Name>\n    <MinUpdateRate>1000</MinUpdateRate>\n    <TransactionRate>1000</TransactionRate>\n    <Comment />\n    <BadQualityValue />\n    <StopIfBadQuality>true</StopIfBadQuality>\n  </Transactions>\n  <Transactions>\n    <ID>326</ID>\n    <Name>Transaction3</Name>\n    <MinUpdateRate>1000</MinUpdateRate>\n    <TransactionRate>1000</TransactionRate>\n    <Comment />\n    <BadQualityValue />\n    <StopIfBadQuality>true</StopIfBadQuality>\n  </Transactions>\n  <Transactions>\n    <ID>327</ID>\n    <Name>Transaction4</Name>\n    <MinUpdateRate>1000</MinUpdateRate>\n    <TransactionRate>1000</TransactionRate>\n    <Comment />\n    <BadQualityValue />\n    <StopIfBadQuality>true</StopIfBadQuality>\n  </Transactions>\n  <Transactions>\n    <ID>328</ID>\n    <Name>Transaction5</Name>\n    <MinUpdateRate>1000</MinUpdateRate>\n    <TransactionRate>1000</TransactionRate>\n    <Comment />\n    <BadQualityValue />\n    <StopIfBadQuality>true</StopIfBadQuality>\n  </Transactions>\n  <Transactions>\n    <ID>329</ID>\n    <Name>Transaction6</Name>\n    <MinUpdateRate>1000</MinUpdateRate>\n    <TransactionRate>1000</TransactionRate>\n    <Comment />\n    <BadQualityValue />\n    <StopIfBadQuality>true</StopIfBadQuality>\n  </Transactions>\n  <Transactions>\n    <ID>330</ID>\n    <Name>Transaction7</Name>\n    <MinUpdateRate>1000</MinUpdateRate>\n    <TransactionRate>1000</TransactionRate>\n    <Comment />\n    <BadQualityValue />\n    <StopIfBadQuality>true</StopIfBadQuality>\n  </Transactions>\n  <Transactions>\n    <ID>331</ID>\n    <Name>Transaction8</Name>\n    <MinUpdateRate>1000</MinUpdateRate>\n    <TransactionRate>1000</TransactionRate>\n    <Comment />\n    <BadQualityValue />\n    <StopIfBadQuality>true</StopIfBadQuality>\n  </Transactions>\n  <Operations>\n    <ID>2479</ID>\n    <Name>Write R 100</Name>\n    <ID_Transaction>323</ID_Transaction>\n    <Param />\n    <OperationType>5292af0f-843e-4da4-aeed-dd923ac923f0</OperationType>\n    <ID_Item>1119</ID_Item>\n    <Comment />\n  </Operations>\n  <Operations>\n    <ID>2480</ID>\n    <Name>Random(100)</Name>\n    <ID_Transaction>323</ID_Transaction>\n    <Param>100</Param>\n    <OperationType>60898b48-0904-4873-a6cb-63f6277789b5</OperationType>\n    <Comment />\n  </Operations>\n  <Operations>\n    <ID>2481</ID>\n    <Name>Seconds</Name>\n    <ID_Transaction>323</ID_Transaction>\n    <Param>System.DateTime.Now.Minute</Param>\n    <OperationType>cd797098-538f-4862-830d-3ce5a80ffc14</OperationType>\n    <Comment />\n  </Operations>\n  <Operations>\n    <ID>2482</ID>\n    <Name>Write R 101</Name>\n    <ID_Transaction>323</ID_Transaction>\n    <Param />\n    <OperationType>5292af0f-843e-4da4-aeed-dd923ac923f0</OperationType>\n    <ID_Item>1120</ID_Item>\n    <Comment />\n  </Operations>\n  <Operations>\n    <ID>2483</ID>\n    <Name>Set constant 123</Name>\n    <ID_Transaction>323</ID_Transaction>\n    <Param>123</Param>\n    <OperationType>492a4fe5-4dc0-44cd-b3b9-d72c18d4b84e</OperationType>\n    <Comment />\n  </Operations>\n  <Operations>\n    <ID>2484</ID>\n    <Name>Write R 102</Name>\n    <ID_Transaction>323</ID_Transaction>\n    <Param />\n    <OperationType>5292af0f-843e-4da4-aeed-dd923ac923f0</OperationType>\n    <ID_Item>1121</ID_Item>\n    <Comment />\n  </Operations>\n  <Operations>\n    <ID>2485</ID>\n    <Name>Read R 100 (2)</Name>\n    <ID_Transaction>324</ID_Transaction>\n    <Param />\n    <OperationType>ffe785ac-1a89-4546-89e4-d3543d2e8fd3</OperationType>\n    <ID_Item>1119</ID_Item>\n    <Comment />\n  </Operations>\n  <Operations>\n    <ID>2486</ID>\n    <Name>splitter</Name>\n    <ID_Transaction>324</ID_Transaction>\n    <Param />\n    <OperationType>d308dbe6-0ff9-4906-b81c-fe65bf342f85</OperationType>\n    <Comment />\n  </Operations>\n  <Operations>\n    <ID>2487</ID>\n    <Name>Read R 101</Name>\n    <ID_Transaction>324</ID_Transaction>\n    <Param />\n    <OperationType>ffe785ac-1a89-4546-89e4-d3543d2e8fd3</OperationType>\n    <ID_Item>1120</ID_Item>\n    <Comment />\n  </Operations>\n  <Operations>\n    <ID>2488</ID>\n    <Name>adder</Name>\n    <ID_Transaction>324</ID_Transaction>\n    <Param />\n    <OperationType>a87ba598-fd9f-4183-b30d-e12fc5a42faa</OperationType>\n    <Comment />\n  </Operations>\n  <Operations>\n    <ID>2489</ID>\n    <Name>Write R 105</Name>\n    <ID_Transaction>324</ID_Transaction>\n    <Param />\n    <OperationType>5292af0f-843e-4da4-aeed-dd923ac923f0</OperationType>\n    <ID_Item>1124</ID_Item>\n    <Comment />\n  </Operations>\n  <Operations>\n    <ID>2490</ID>\n    <Name>Write R 106</Name>\n    <ID_Transaction>324</ID_Transaction>\n    <Param />\n    <OperationType>5292af0f-843e-4da4-aeed-dd923ac923f0</OperationType>\n    <ID_Item>1125</ID_Item>\n    <Comment />\n  </Operations>\n  <Operations>\n    <ID>2491</ID>\n    <Name>Read R 101 (2)</Name>\n    <ID_Transaction>325</ID_Transaction>\n    <Param />\n    <OperationType>ffe785ac-1a89-4546-89e4-d3543d2e8fd3</OperationType>\n    <ID_Item>1120</ID_Item>\n    <Comment />\n  </Operations>\n  <Operations>\n    <ID>2492</ID>\n    <Name>Set Const 10</Name>\n    <ID_Transaction>325</ID_Transaction>\n    <Param>10</Param>\n    <OperationType>492a4fe5-4dc0-44cd-b3b9-d72c18d4b84e</OperationType>\n    <Comment />\n  </Operations>\n  <Operations>\n    <ID>2493</ID>\n    <Name>splitter_1</Name>\n    <ID_Transaction>325</ID_Transaction>\n    <Param />\n    <OperationType>d308dbe6-0ff9-4906-b81c-fe65bf342f85</OperationType>\n    <Comment />\n  </Operations>\n  <Operations>\n    <ID>2494</ID>\n    <Name>multiplicity</Name>\n    <ID_Transaction>325</ID_Transaction>\n    <Param />\n    <OperationType>effe8adf-b4ce-4b64-9113-218d1cdfcbc2</OperationType>\n    <Comment />\n  </Operations>\n  <Operations>\n    <ID>2495</ID>\n    <Name>POW (1)</Name>\n    <ID_Transaction>325</ID_Transaction>\n    <Param>1</Param>\n    <OperationType>848e14ce-28b4-47d3-b9ba-19507d0451d3</OperationType>\n    <Comment />\n  </Operations>\n  <Operations>\n    <ID>2496</ID>\n    <Name>Write R 107</Name>\n    <ID_Transaction>325</ID_Transaction>\n    <Param />\n    <OperationType>5292af0f-843e-4da4-aeed-dd923ac923f0</OperationType>\n    <ID_Item>1126</ID_Item>\n    <Comment />\n  </Operations>\n  <Operations>\n    <ID>2497</ID>\n    <Name>Write R 108</Name>\n    <ID_Transaction>325</ID_Transaction>\n    <Param />\n    <OperationType>5292af0f-843e-4da4-aeed-dd923ac923f0</OperationType>\n    <ID_Item>1127</ID_Item>\n    <Comment />\n  </Operations>\n  <Operations>\n    <ID>2498</ID>\n    <Name>Read R 103</Name>\n    <ID_Transaction>326</ID_Transaction>\n    <Param />\n    <OperationType>ffe785ac-1a89-4546-89e4-d3543d2e8fd3</OperationType>\n    <ID_Item>1122</ID_Item>\n    <Comment />\n  </Operations>\n  <Operations>\n    <ID>2499</ID>\n    <Name>Read R 104</Name>\n    <ID_Transaction>326</ID_Transaction>\n    <Param />\n    <OperationType>ffe785ac-1a89-4546-89e4-d3543d2e8fd3</OperationType>\n    <ID_Item>1123</ID_Item>\n    <Comment />\n  </Operations>\n  <Operations>\n    <ID>2500</ID>\n    <Name>Read R 103 (2)</Name>\n    <ID_Transaction>326</ID_Transaction>\n    <Param />\n    <OperationType>ffe785ac-1a89-4546-89e4-d3543d2e8fd3</OperationType>\n    <ID_Item>1122</ID_Item>\n    <Comment />\n  </Operations>\n  <Operations>\n    <ID>2501</ID>\n    <Name>splitter_2</Name>\n    <ID_Transaction>326</ID_Transaction>\n    <Param />\n    <OperationType>d308dbe6-0ff9-4906-b81c-fe65bf342f85</OperationType>\n    <Comment />\n  </Operations>\n  <Operations>\n    <ID>2502</ID>\n    <Name>adder_1</Name>\n    <ID_Transaction>326</ID_Transaction>\n    <Param />\n    <OperationType>a87ba598-fd9f-4183-b30d-e12fc5a42faa</OperationType>\n    <Comment />\n  </Operations>\n  <Operations>\n    <ID>2503</ID>\n    <Name>multiplicity_1</Name>\n    <ID_Transaction>326</ID_Transaction>\n    <Param />\n    <OperationType>effe8adf-b4ce-4b64-9113-218d1cdfcbc2</OperationType>\n    <Comment />\n  </Operations>\n  <Operations>\n    <ID>2504</ID>\n    <Name>Write R 109</Name>\n    <ID_Transaction>326</ID_Transaction>\n    <Param />\n    <OperationType>5292af0f-843e-4da4-aeed-dd923ac923f0</OperationType>\n    <ID_Item>1128</ID_Item>\n    <Comment />\n  </Operations>\n  <Operations>\n    <ID>2505</ID>\n    <Name>Write R 110</Name>\n    <ID_Transaction>326</ID_Transaction>\n    <Param />\n    <OperationType>5292af0f-843e-4da4-aeed-dd923ac923f0</OperationType>\n    <ID_Item>1129</ID_Item>\n    <Comment />\n  </Operations>\n  <Operations>\n    <ID>2506</ID>\n    <Name>Read R 100 (3)</Name>\n    <ID_Transaction>327</ID_Transaction>\n    <Param />\n    <OperationType>ffe785ac-1a89-4546-89e4-d3543d2e8fd3</OperationType>\n    <ID_Item>1119</ID_Item>\n    <Comment />\n  </Operations>\n  <Operations>\n    <ID>2507</ID>\n    <Name>splitter_3</Name>\n    <ID_Transaction>327</ID_Transaction>\n    <Param />\n    <OperationType>d308dbe6-0ff9-4906-b81c-fe65bf342f85</OperationType>\n    <Comment />\n  </Operations>\n  <Operations>\n    <ID>2508</ID>\n    <Name>Read R 100 (4)</Name>\n    <ID_Transaction>327</ID_Transaction>\n    <Param />\n    <OperationType>ffe785ac-1a89-4546-89e4-d3543d2e8fd3</OperationType>\n    <ID_Item>1119</ID_Item>\n    <Comment />\n  </Operations>\n  <Operations>\n    <ID>2509</ID>\n    <Name>splitter_4</Name>\n    <ID_Transaction>327</ID_Transaction>\n    <Param />\n    <OperationType>d308dbe6-0ff9-4906-b81c-fe65bf342f85</OperationType>\n    <Comment />\n  </Operations>\n  <Operations>\n    <ID>2510</ID>\n    <Name>in range</Name>\n    <ID_Transaction>327</ID_Transaction>\n    <Param>&lt;?xml version=\"1.0\" encoding=\"utf-16\"?&gt;\n&lt;ValueInRangeParameter xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\"&gt;\n  &lt;LowLimit&gt;0&lt;/LowLimit&gt;\n  &lt;HiLimit&gt;100&lt;/HiLimit&gt;\n  &lt;LowLimitCanBeEqual&gt;true&lt;/LowLimitCanBeEqual&gt;\n  &lt;HiLimitCanBeEqual&gt;true&lt;/HiLimitCanBeEqual&gt;\n&lt;/ValueInRangeParameter&gt;</Param>\n    <OperationType>7c3f78b8-994d-4371-866c-63da71a6c238</OperationType>\n    <Comment />\n  </Operations>\n  <Operations>\n    <ID>2511</ID>\n    <Name>set const 2</Name>\n    <ID_Transaction>327</ID_Transaction>\n    <Param>2</Param>\n    <OperationType>492a4fe5-4dc0-44cd-b3b9-d72c18d4b84e</OperationType>\n    <Comment />\n  </Operations>\n  <Operations>\n    <ID>2512</ID>\n    <Name>add</Name>\n    <ID_Transaction>327</ID_Transaction>\n    <Param />\n    <OperationType>a87ba598-fd9f-4183-b30d-e12fc5a42faa</OperationType>\n    <Comment />\n  </Operations>\n  <Operations>\n    <ID>2513</ID>\n    <Name>multiply</Name>\n    <ID_Transaction>327</ID_Transaction>\n    <Param />\n    <OperationType>effe8adf-b4ce-4b64-9113-218d1cdfcbc2</OperationType>\n    <Comment />\n  </Operations>\n  <Operations>\n    <ID>2514</ID>\n    <Name>equal</Name>\n    <ID_Transaction>327</ID_Transaction>\n    <Param />\n    <OperationType>abf91b3c-2c09-4a16-8927-d39dad80cd51</OperationType>\n    <Comment />\n  </Operations>\n  <Operations>\n    <ID>2515</ID>\n    <Name>Write F 100</Name>\n    <ID_Transaction>327</ID_Transaction>\n    <Param />\n    <OperationType>5292af0f-843e-4da4-aeed-dd923ac923f0</OperationType>\n    <ID_Item>1130</ID_Item>\n    <Comment />\n  </Operations>\n  <Operations>\n    <ID>2516</ID>\n    <Name>Write F 101</Name>\n    <ID_Transaction>327</ID_Transaction>\n    <Param />\n    <OperationType>5292af0f-843e-4da4-aeed-dd923ac923f0</OperationType>\n    <ID_Item>1131</ID_Item>\n    <Comment />\n  </Operations>\n  <Operations>\n    <ID>2517</ID>\n    <Name>Read R 101 (3)</Name>\n    <ID_Transaction>328</ID_Transaction>\n    <Param />\n    <OperationType>ffe785ac-1a89-4546-89e4-d3543d2e8fd3</OperationType>\n    <ID_Item>1120</ID_Item>\n    <Comment />\n  </Operations>\n  <Operations>\n    <ID>2518</ID>\n    <Name>Read R 101 (4)</Name>\n    <ID_Transaction>328</ID_Transaction>\n    <Param />\n    <OperationType>ffe785ac-1a89-4546-89e4-d3543d2e8fd3</OperationType>\n    <ID_Item>1120</ID_Item>\n    <Comment />\n  </Operations>\n  <Operations>\n    <ID>2519</ID>\n    <Name>splitter_5</Name>\n    <ID_Transaction>328</ID_Transaction>\n    <Param />\n    <OperationType>d308dbe6-0ff9-4906-b81c-fe65bf342f85</OperationType>\n    <Comment />\n  </Operations>\n  <Operations>\n    <ID>2520</ID>\n    <Name>divide</Name>\n    <ID_Transaction>328</ID_Transaction>\n    <Param />\n    <OperationType>5446258c-3f07-40a2-b659-0670c4e6eb59</OperationType>\n    <Comment />\n  </Operations>\n  <Operations>\n    <ID>2521</ID>\n    <Name>subtract</Name>\n    <ID_Transaction>328</ID_Transaction>\n    <Param />\n    <OperationType>23f1ab6a-8616-4239-8f18-7a07f8badb4a</OperationType>\n    <Comment />\n  </Operations>\n  <Operations>\n    <ID>2522</ID>\n    <Name>Read R 101 (5)</Name>\n    <ID_Transaction>328</ID_Transaction>\n    <Param />\n    <OperationType>ffe785ac-1a89-4546-89e4-d3543d2e8fd3</OperationType>\n    <ID_Item>1120</ID_Item>\n    <Comment />\n  </Operations>\n  <Operations>\n    <ID>2523</ID>\n    <Name>Write F 102</Name>\n    <ID_Transaction>328</ID_Transaction>\n    <Param />\n    <OperationType>5292af0f-843e-4da4-aeed-dd923ac923f0</OperationType>\n    <ID_Item>1132</ID_Item>\n    <Comment />\n  </Operations>\n  <Operations>\n    <ID>2524</ID>\n    <Name>Write F 103</Name>\n    <ID_Transaction>328</ID_Transaction>\n    <Param />\n    <OperationType>5292af0f-843e-4da4-aeed-dd923ac923f0</OperationType>\n    <ID_Item>1133</ID_Item>\n    <Comment />\n  </Operations>\n  <Operations>\n    <ID>2525</ID>\n    <Name>set const 1</Name>\n    <ID_Transaction>328</ID_Transaction>\n    <Param>1</Param>\n    <OperationType>492a4fe5-4dc0-44cd-b3b9-d72c18d4b84e</OperationType>\n    <Comment />\n  </Operations>\n  <Operations>\n    <ID>2526</ID>\n    <Name>set const 0</Name>\n    <ID_Transaction>328</ID_Transaction>\n    <Param>0</Param>\n    <OperationType>492a4fe5-4dc0-44cd-b3b9-d72c18d4b84e</OperationType>\n    <Comment />\n  </Operations>\n  <Operations>\n    <ID>2527</ID>\n    <Name>equals_2</Name>\n    <ID_Transaction>328</ID_Transaction>\n    <Param />\n    <OperationType>abf91b3c-2c09-4a16-8927-d39dad80cd51</OperationType>\n    <Comment />\n  </Operations>\n  <Operations>\n    <ID>2528</ID>\n    <Name>equals_3</Name>\n    <ID_Transaction>328</ID_Transaction>\n    <Param />\n    <OperationType>abf91b3c-2c09-4a16-8927-d39dad80cd51</OperationType>\n    <Comment />\n  </Operations>\n  <Operations>\n    <ID>2529</ID>\n    <Name>Read R 100 (6)</Name>\n    <ID_Transaction>329</ID_Transaction>\n    <Param />\n    <OperationType>ffe785ac-1a89-4546-89e4-d3543d2e8fd3</OperationType>\n    <ID_Item>1119</ID_Item>\n    <Comment />\n  </Operations>\n  <Operations>\n    <ID>2530</ID>\n    <Name>splitter_6</Name>\n    <ID_Transaction>329</ID_Transaction>\n    <Param />\n    <OperationType>d308dbe6-0ff9-4906-b81c-fe65bf342f85</OperationType>\n    <Comment />\n  </Operations>\n  <Operations>\n    <ID>2531</ID>\n    <Name>pow 10 (2)</Name>\n    <ID_Transaction>329</ID_Transaction>\n    <Param>2</Param>\n    <OperationType>848e14ce-28b4-47d3-b9ba-19507d0451d3</OperationType>\n    <Comment />\n  </Operations>\n  <Operations>\n    <ID>2532</ID>\n    <Name>set const 100</Name>\n    <ID_Transaction>329</ID_Transaction>\n    <Param>100</Param>\n    <OperationType>492a4fe5-4dc0-44cd-b3b9-d72c18d4b84e</OperationType>\n    <Comment />\n  </Operations>\n  <Operations>\n    <ID>2533</ID>\n    <Name>multiply_1</Name>\n    <ID_Transaction>329</ID_Transaction>\n    <Param />\n    <OperationType>effe8adf-b4ce-4b64-9113-218d1cdfcbc2</OperationType>\n    <Comment />\n  </Operations>\n  <Operations>\n    <ID>2534</ID>\n    <Name>Write F 104</Name>\n    <ID_Transaction>329</ID_Transaction>\n    <Param />\n    <OperationType>5292af0f-843e-4da4-aeed-dd923ac923f0</OperationType>\n    <ID_Item>1134</ID_Item>\n    <Comment />\n  </Operations>\n  <Operations>\n    <ID>2535</ID>\n    <Name>subtract_1</Name>\n    <ID_Transaction>329</ID_Transaction>\n    <Param />\n    <OperationType>23f1ab6a-8616-4239-8f18-7a07f8badb4a</OperationType>\n    <Comment />\n  </Operations>\n  <Operations>\n    <ID>2536</ID>\n    <Name>in range (les than 1)</Name>\n    <ID_Transaction>329</ID_Transaction>\n    <Param>&lt;?xml version=\"1.0\" encoding=\"utf-16\"?&gt;\n&lt;ValueInRangeParameter xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\"&gt;\n  &lt;LowLimit&gt;0&lt;/LowLimit&gt;\n  &lt;HiLimit&gt;1&lt;/HiLimit&gt;\n  &lt;LowLimitCanBeEqual&gt;true&lt;/LowLimitCanBeEqual&gt;\n  &lt;HiLimitCanBeEqual&gt;false&lt;/HiLimitCanBeEqual&gt;\n&lt;/ValueInRangeParameter&gt;</Param>\n    <OperationType>7c3f78b8-994d-4371-866c-63da71a6c238</OperationType>\n    <Comment />\n  </Operations>\n  <Operations>\n    <ID>2537</ID>\n    <Name>Read R 105_1</Name>\n    <ID_Transaction>330</ID_Transaction>\n    <Param />\n    <OperationType>ffe785ac-1a89-4546-89e4-d3543d2e8fd3</OperationType>\n    <ID_Item>1124</ID_Item>\n    <Comment />\n  </Operations>\n  <Operations>\n    <ID>2538</ID>\n    <Name>Read R 103_1</Name>\n    <ID_Transaction>330</ID_Transaction>\n    <Param />\n    <OperationType>ffe785ac-1a89-4546-89e4-d3543d2e8fd3</OperationType>\n    <ID_Item>1122</ID_Item>\n    <Comment />\n  </Operations>\n  <Operations>\n    <ID>2539</ID>\n    <Name>Read R 104_1</Name>\n    <ID_Transaction>330</ID_Transaction>\n    <Param />\n    <OperationType>ffe785ac-1a89-4546-89e4-d3543d2e8fd3</OperationType>\n    <ID_Item>1123</ID_Item>\n    <Comment />\n  </Operations>\n  <Operations>\n    <ID>2540</ID>\n    <Name>in range (0 , 50)</Name>\n    <ID_Transaction>330</ID_Transaction>\n    <Param>&lt;?xml version=\"1.0\" encoding=\"utf-16\"?&gt;\n&lt;ValueInRangeParameter xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\"&gt;\n  &lt;LowLimit&gt;0&lt;/LowLimit&gt;\n  &lt;HiLimit&gt;50&lt;/HiLimit&gt;\n  &lt;LowLimitCanBeEqual&gt;true&lt;/LowLimitCanBeEqual&gt;\n  &lt;HiLimitCanBeEqual&gt;true&lt;/HiLimitCanBeEqual&gt;\n&lt;/ValueInRangeParameter&gt;</Param>\n    <OperationType>7c3f78b8-994d-4371-866c-63da71a6c238</OperationType>\n    <Comment />\n  </Operations>\n  <Operations>\n    <ID>2541</ID>\n    <Name>equals_1</Name>\n    <ID_Transaction>330</ID_Transaction>\n    <Param />\n    <OperationType>abf91b3c-2c09-4a16-8927-d39dad80cd51</OperationType>\n    <Comment />\n  </Operations>\n  <Operations>\n    <ID>2542</ID>\n    <Name>Write F 105</Name>\n    <ID_Transaction>330</ID_Transaction>\n    <Param />\n    <OperationType>5292af0f-843e-4da4-aeed-dd923ac923f0</OperationType>\n    <ID_Item>1135</ID_Item>\n    <Comment />\n  </Operations>\n  <Operations>\n    <ID>2543</ID>\n    <Name>Write F 106</Name>\n    <ID_Transaction>330</ID_Transaction>\n    <Param />\n    <OperationType>5292af0f-843e-4da4-aeed-dd923ac923f0</OperationType>\n    <ID_Item>1136</ID_Item>\n    <Comment />\n  </Operations>\n  <Operations>\n    <ID>2544</ID>\n    <Name>Read R 109</Name>\n    <ID_Transaction>331</ID_Transaction>\n    <Param />\n    <OperationType>ffe785ac-1a89-4546-89e4-d3543d2e8fd3</OperationType>\n    <ID_Item>1128</ID_Item>\n    <Comment />\n  </Operations>\n  <Operations>\n    <ID>2545</ID>\n    <Name>Read R 110</Name>\n    <ID_Transaction>331</ID_Transaction>\n    <Param />\n    <OperationType>ffe785ac-1a89-4546-89e4-d3543d2e8fd3</OperationType>\n    <ID_Item>1129</ID_Item>\n    <Comment />\n  </Operations>\n  <Operations>\n    <ID>2546</ID>\n    <Name>in range &lt;0,100&gt;_1</Name>\n    <ID_Transaction>331</ID_Transaction>\n    <Param>&lt;?xml version=\"1.0\" encoding=\"utf-16\"?&gt;\n&lt;ValueInRangeParameter xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\"&gt;\n  &lt;LowLimit&gt;0&lt;/LowLimit&gt;\n  &lt;HiLimit&gt;100&lt;/HiLimit&gt;\n  &lt;LowLimitCanBeEqual&gt;true&lt;/LowLimitCanBeEqual&gt;\n  &lt;HiLimitCanBeEqual&gt;true&lt;/HiLimitCanBeEqual&gt;\n&lt;/ValueInRangeParameter&gt;</Param>\n    <OperationType>7c3f78b8-994d-4371-866c-63da71a6c238</OperationType>\n    <Comment />\n  </Operations>\n  <Operations>\n    <ID>2547</ID>\n    <Name>in range &lt;0,100&gt;</Name>\n    <ID_Transaction>331</ID_Transaction>\n    <Param>&lt;?xml version=\"1.0\" encoding=\"utf-16\"?&gt;\n&lt;ValueInRangeParameter xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\"&gt;\n  &lt;LowLimit&gt;0&lt;/LowLimit&gt;\n  &lt;HiLimit&gt;100&lt;/HiLimit&gt;\n  &lt;LowLimitCanBeEqual&gt;true&lt;/LowLimitCanBeEqual&gt;\n  &lt;HiLimitCanBeEqual&gt;true&lt;/HiLimitCanBeEqual&gt;\n&lt;/ValueInRangeParameter&gt;</Param>\n    <OperationType>7c3f78b8-994d-4371-866c-63da71a6c238</OperationType>\n    <Comment />\n  </Operations>\n  <Operations>\n    <ID>2548</ID>\n    <Name>Write F 107</Name>\n    <ID_Transaction>331</ID_Transaction>\n    <Param />\n    <OperationType>5292af0f-843e-4da4-aeed-dd923ac923f0</OperationType>\n    <ID_Item>1137</ID_Item>\n    <Comment />\n  </Operations>\n  <Operations>\n    <ID>2549</ID>\n    <Name>Write F 108</Name>\n    <ID_Transaction>331</ID_Transaction>\n    <Param />\n    <OperationType>5292af0f-843e-4da4-aeed-dd923ac923f0</OperationType>\n    <ID_Item>1138</ID_Item>\n    <Comment />\n  </Operations>\n  <OperationLinks>\n    <ID_Operation>2479</ID_Operation>\n    <Input_number>0</Input_number>\n    <IDChild_Operation>2480</IDChild_Operation>\n    <ChildOutput_number>0</ChildOutput_number>\n  </OperationLinks>\n  <OperationLinks>\n    <ID_Operation>2482</ID_Operation>\n    <Input_number>0</Input_number>\n    <IDChild_Operation>2481</IDChild_Operation>\n    <ChildOutput_number>0</ChildOutput_number>\n  </OperationLinks>\n  <OperationLinks>\n    <ID_Operation>2484</ID_Operation>\n    <Input_number>0</Input_number>\n    <IDChild_Operation>2483</IDChild_Operation>\n    <ChildOutput_number>0</ChildOutput_number>\n  </OperationLinks>\n  <OperationLinks>\n    <ID_Operation>2489</ID_Operation>\n    <Input_number>0</Input_number>\n    <IDChild_Operation>2486</IDChild_Operation>\n    <ChildOutput_number>0</ChildOutput_number>\n  </OperationLinks>\n  <OperationLinks>\n    <ID_Operation>2486</ID_Operation>\n    <Input_number>0</Input_number>\n    <IDChild_Operation>2485</IDChild_Operation>\n    <ChildOutput_number>0</ChildOutput_number>\n  </OperationLinks>\n  <OperationLinks>\n    <ID_Operation>2490</ID_Operation>\n    <Input_number>0</Input_number>\n    <IDChild_Operation>2488</IDChild_Operation>\n    <ChildOutput_number>0</ChildOutput_number>\n  </OperationLinks>\n  <OperationLinks>\n    <ID_Operation>2488</ID_Operation>\n    <Input_number>0</Input_number>\n    <IDChild_Operation>2486</IDChild_Operation>\n    <ChildOutput_number>1</ChildOutput_number>\n  </OperationLinks>\n  <OperationLinks>\n    <ID_Operation>2488</ID_Operation>\n    <Input_number>1</Input_number>\n    <IDChild_Operation>2487</IDChild_Operation>\n    <ChildOutput_number>0</ChildOutput_number>\n  </OperationLinks>\n  <OperationLinks>\n    <ID_Operation>2496</ID_Operation>\n    <Input_number>0</Input_number>\n    <IDChild_Operation>2494</IDChild_Operation>\n    <ChildOutput_number>0</ChildOutput_number>\n  </OperationLinks>\n  <OperationLinks>\n    <ID_Operation>2494</ID_Operation>\n    <Input_number>0</Input_number>\n    <IDChild_Operation>2492</IDChild_Operation>\n    <ChildOutput_number>0</ChildOutput_number>\n  </OperationLinks>\n  <OperationLinks>\n    <ID_Operation>2494</ID_Operation>\n    <Input_number>1</Input_number>\n    <IDChild_Operation>2493</IDChild_Operation>\n    <ChildOutput_number>0</ChildOutput_number>\n  </OperationLinks>\n  <OperationLinks>\n    <ID_Operation>2493</ID_Operation>\n    <Input_number>0</Input_number>\n    <IDChild_Operation>2491</IDChild_Operation>\n    <ChildOutput_number>0</ChildOutput_number>\n  </OperationLinks>\n  <OperationLinks>\n    <ID_Operation>2497</ID_Operation>\n    <Input_number>0</Input_number>\n    <IDChild_Operation>2495</IDChild_Operation>\n    <ChildOutput_number>0</ChildOutput_number>\n  </OperationLinks>\n  <OperationLinks>\n    <ID_Operation>2495</ID_Operation>\n    <Input_number>0</Input_number>\n    <IDChild_Operation>2493</IDChild_Operation>\n    <ChildOutput_number>1</ChildOutput_number>\n  </OperationLinks>\n  <OperationLinks>\n    <ID_Operation>2504</ID_Operation>\n    <Input_number>0</Input_number>\n    <IDChild_Operation>2502</IDChild_Operation>\n    <ChildOutput_number>0</ChildOutput_number>\n  </OperationLinks>\n  <OperationLinks>\n    <ID_Operation>2502</ID_Operation>\n    <Input_number>0</Input_number>\n    <IDChild_Operation>2498</IDChild_Operation>\n    <ChildOutput_number>0</ChildOutput_number>\n  </OperationLinks>\n  <OperationLinks>\n    <ID_Operation>2502</ID_Operation>\n    <Input_number>1</Input_number>\n    <IDChild_Operation>2501</IDChild_Operation>\n    <ChildOutput_number>0</ChildOutput_number>\n  </OperationLinks>\n  <OperationLinks>\n    <ID_Operation>2501</ID_Operation>\n    <Input_number>0</Input_number>\n    <IDChild_Operation>2499</IDChild_Operation>\n    <ChildOutput_number>0</ChildOutput_number>\n  </OperationLinks>\n  <OperationLinks>\n    <ID_Operation>2505</ID_Operation>\n    <Input_number>0</Input_number>\n    <IDChild_Operation>2503</IDChild_Operation>\n    <ChildOutput_number>0</ChildOutput_number>\n  </OperationLinks>\n  <OperationLinks>\n    <ID_Operation>2503</ID_Operation>\n    <Input_number>0</Input_number>\n    <IDChild_Operation>2501</IDChild_Operation>\n    <ChildOutput_number>1</ChildOutput_number>\n  </OperationLinks>\n  <OperationLinks>\n    <ID_Operation>2503</ID_Operation>\n    <Input_number>1</Input_number>\n    <IDChild_Operation>2500</IDChild_Operation>\n    <ChildOutput_number>0</ChildOutput_number>\n  </OperationLinks>\n  <OperationLinks>\n    <ID_Operation>2515</ID_Operation>\n    <Input_number>0</Input_number>\n    <IDChild_Operation>2510</IDChild_Operation>\n    <ChildOutput_number>0</ChildOutput_number>\n  </OperationLinks>\n  <OperationLinks>\n    <ID_Operation>2510</ID_Operation>\n    <Input_number>0</Input_number>\n    <IDChild_Operation>2507</IDChild_Operation>\n    <ChildOutput_number>0</ChildOutput_number>\n  </OperationLinks>\n  <OperationLinks>\n    <ID_Operation>2507</ID_Operation>\n    <Input_number>0</Input_number>\n    <IDChild_Operation>2506</IDChild_Operation>\n    <ChildOutput_number>0</ChildOutput_number>\n  </OperationLinks>\n  <OperationLinks>\n    <ID_Operation>2516</ID_Operation>\n    <Input_number>0</Input_number>\n    <IDChild_Operation>2514</IDChild_Operation>\n    <ChildOutput_number>0</ChildOutput_number>\n  </OperationLinks>\n  <OperationLinks>\n    <ID_Operation>2514</ID_Operation>\n    <Input_number>0</Input_number>\n    <IDChild_Operation>2512</IDChild_Operation>\n    <ChildOutput_number>0</ChildOutput_number>\n  </OperationLinks>\n  <OperationLinks>\n    <ID_Operation>2512</ID_Operation>\n    <Input_number>0</Input_number>\n    <IDChild_Operation>2507</IDChild_Operation>\n    <ChildOutput_number>1</ChildOutput_number>\n  </OperationLinks>\n  <OperationLinks>\n    <ID_Operation>2512</ID_Operation>\n    <Input_number>1</Input_number>\n    <IDChild_Operation>2509</IDChild_Operation>\n    <ChildOutput_number>0</ChildOutput_number>\n  </OperationLinks>\n  <OperationLinks>\n    <ID_Operation>2509</ID_Operation>\n    <Input_number>0</Input_number>\n    <IDChild_Operation>2508</IDChild_Operation>\n    <ChildOutput_number>0</ChildOutput_number>\n  </OperationLinks>\n  <OperationLinks>\n    <ID_Operation>2514</ID_Operation>\n    <Input_number>1</Input_number>\n    <IDChild_Operation>2513</IDChild_Operation>\n    <ChildOutput_number>0</ChildOutput_number>\n  </OperationLinks>\n  <OperationLinks>\n    <ID_Operation>2513</ID_Operation>\n    <Input_number>0</Input_number>\n    <IDChild_Operation>2509</IDChild_Operation>\n    <ChildOutput_number>1</ChildOutput_number>\n  </OperationLinks>\n  <OperationLinks>\n    <ID_Operation>2513</ID_Operation>\n    <Input_number>1</Input_number>\n    <IDChild_Operation>2511</IDChild_Operation>\n    <ChildOutput_number>0</ChildOutput_number>\n  </OperationLinks>\n  <OperationLinks>\n    <ID_Operation>2523</ID_Operation>\n    <Input_number>0</Input_number>\n    <IDChild_Operation>2527</IDChild_Operation>\n    <ChildOutput_number>0</ChildOutput_number>\n  </OperationLinks>\n  <OperationLinks>\n    <ID_Operation>2527</ID_Operation>\n    <Input_number>0</Input_number>\n    <IDChild_Operation>2520</IDChild_Operation>\n    <ChildOutput_number>0</ChildOutput_number>\n  </OperationLinks>\n  <OperationLinks>\n    <ID_Operation>2520</ID_Operation>\n    <Input_number>0</Input_number>\n    <IDChild_Operation>2517</IDChild_Operation>\n    <ChildOutput_number>0</ChildOutput_number>\n  </OperationLinks>\n  <OperationLinks>\n    <ID_Operation>2520</ID_Operation>\n    <Input_number>1</Input_number>\n    <IDChild_Operation>2519</IDChild_Operation>\n    <ChildOutput_number>0</ChildOutput_number>\n  </OperationLinks>\n  <OperationLinks>\n    <ID_Operation>2519</ID_Operation>\n    <Input_number>0</Input_number>\n    <IDChild_Operation>2518</IDChild_Operation>\n    <ChildOutput_number>0</ChildOutput_number>\n  </OperationLinks>\n  <OperationLinks>\n    <ID_Operation>2527</ID_Operation>\n    <Input_number>1</Input_number>\n    <IDChild_Operation>2525</IDChild_Operation>\n    <ChildOutput_number>0</ChildOutput_number>\n  </OperationLinks>\n  <OperationLinks>\n    <ID_Operation>2524</ID_Operation>\n    <Input_number>0</Input_number>\n    <IDChild_Operation>2528</IDChild_Operation>\n    <ChildOutput_number>0</ChildOutput_number>\n  </OperationLinks>\n  <OperationLinks>\n    <ID_Operation>2528</ID_Operation>\n    <Input_number>0</Input_number>\n    <IDChild_Operation>2521</IDChild_Operation>\n    <ChildOutput_number>0</ChildOutput_number>\n  </OperationLinks>\n  <OperationLinks>\n    <ID_Operation>2521</ID_Operation>\n    <Input_number>0</Input_number>\n    <IDChild_Operation>2519</IDChild_Operation>\n    <ChildOutput_number>1</ChildOutput_number>\n  </OperationLinks>\n  <OperationLinks>\n    <ID_Operation>2521</ID_Operation>\n    <Input_number>1</Input_number>\n    <IDChild_Operation>2522</IDChild_Operation>\n    <ChildOutput_number>0</ChildOutput_number>\n  </OperationLinks>\n  <OperationLinks>\n    <ID_Operation>2528</ID_Operation>\n    <Input_number>1</Input_number>\n    <IDChild_Operation>2526</IDChild_Operation>\n    <ChildOutput_number>0</ChildOutput_number>\n  </OperationLinks>\n  <OperationLinks>\n    <ID_Operation>2534</ID_Operation>\n    <Input_number>0</Input_number>\n    <IDChild_Operation>2536</IDChild_Operation>\n    <ChildOutput_number>0</ChildOutput_number>\n  </OperationLinks>\n  <OperationLinks>\n    <ID_Operation>2536</ID_Operation>\n    <Input_number>0</Input_number>\n    <IDChild_Operation>2535</IDChild_Operation>\n    <ChildOutput_number>0</ChildOutput_number>\n  </OperationLinks>\n  <OperationLinks>\n    <ID_Operation>2535</ID_Operation>\n    <Input_number>0</Input_number>\n    <IDChild_Operation>2531</IDChild_Operation>\n    <ChildOutput_number>0</ChildOutput_number>\n  </OperationLinks>\n  <OperationLinks>\n    <ID_Operation>2531</ID_Operation>\n    <Input_number>0</Input_number>\n    <IDChild_Operation>2530</IDChild_Operation>\n    <ChildOutput_number>0</ChildOutput_number>\n  </OperationLinks>\n  <OperationLinks>\n    <ID_Operation>2530</ID_Operation>\n    <Input_number>0</Input_number>\n    <IDChild_Operation>2529</IDChild_Operation>\n    <ChildOutput_number>0</ChildOutput_number>\n  </OperationLinks>\n  <OperationLinks>\n    <ID_Operation>2535</ID_Operation>\n    <Input_number>1</Input_number>\n    <IDChild_Operation>2533</IDChild_Operation>\n    <ChildOutput_number>0</ChildOutput_number>\n  </OperationLinks>\n  <OperationLinks>\n    <ID_Operation>2533</ID_Operation>\n    <Input_number>0</Input_number>\n    <IDChild_Operation>2530</IDChild_Operation>\n    <ChildOutput_number>1</ChildOutput_number>\n  </OperationLinks>\n  <OperationLinks>\n    <ID_Operation>2533</ID_Operation>\n    <Input_number>1</Input_number>\n    <IDChild_Operation>2532</IDChild_Operation>\n    <ChildOutput_number>0</ChildOutput_number>\n  </OperationLinks>\n  <OperationLinks>\n    <ID_Operation>2542</ID_Operation>\n    <Input_number>0</Input_number>\n    <IDChild_Operation>2540</IDChild_Operation>\n    <ChildOutput_number>0</ChildOutput_number>\n  </OperationLinks>\n  <OperationLinks>\n    <ID_Operation>2540</ID_Operation>\n    <Input_number>0</Input_number>\n    <IDChild_Operation>2537</IDChild_Operation>\n    <ChildOutput_number>0</ChildOutput_number>\n  </OperationLinks>\n  <OperationLinks>\n    <ID_Operation>2543</ID_Operation>\n    <Input_number>0</Input_number>\n    <IDChild_Operation>2541</IDChild_Operation>\n    <ChildOutput_number>0</ChildOutput_number>\n  </OperationLinks>\n  <OperationLinks>\n    <ID_Operation>2541</ID_Operation>\n    <Input_number>0</Input_number>\n    <IDChild_Operation>2538</IDChild_Operation>\n    <ChildOutput_number>0</ChildOutput_number>\n  </OperationLinks>\n  <OperationLinks>\n    <ID_Operation>2541</ID_Operation>\n    <Input_number>1</Input_number>\n    <IDChild_Operation>2539</IDChild_Operation>\n    <ChildOutput_number>0</ChildOutput_number>\n  </OperationLinks>\n  <OperationLinks>\n    <ID_Operation>2548</ID_Operation>\n    <Input_number>0</Input_number>\n    <IDChild_Operation>2546</IDChild_Operation>\n    <ChildOutput_number>0</ChildOutput_number>\n  </OperationLinks>\n  <OperationLinks>\n    <ID_Operation>2546</ID_Operation>\n    <Input_number>0</Input_number>\n    <IDChild_Operation>2544</IDChild_Operation>\n    <ChildOutput_number>0</ChildOutput_number>\n  </OperationLinks>\n  <OperationLinks>\n    <ID_Operation>2549</ID_Operation>\n    <Input_number>0</Input_number>\n    <IDChild_Operation>2547</IDChild_Operation>\n    <ChildOutput_number>0</ChildOutput_number>\n  </OperationLinks>\n  <OperationLinks>\n    <ID_Operation>2547</ID_Operation>\n    <Input_number>0</Input_number>\n    <IDChild_Operation>2545</IDChild_Operation>\n    <ChildOutput_number>0</ChildOutput_number>\n  </OperationLinks>\n</ConfigurationDataBase>"
  },
  {
    "path": "Networking/Simulator.Boiler/UAInformationModel/DemoConfiguration/BoilerExample.uasconfig",
    "content": "﻿<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<CASConfiguration xmlns:i=\"http://www.w3.org/2001/XMLSchema-instance\" xmlns=\"http://cas.eu/UA/2009/ServerConfiguration.xsd\">\n  <ApplicationName xmlns=\"http://opcfoundation.org/UA/SDK/Configuration.xsd\">CAS.CommServer.UA.Server</ApplicationName>\n  <ApplicationUri xmlns=\"http://opcfoundation.org/UA/SDK/Configuration.xsd\">urn:localhost:UA:CAS_UA_Server</ApplicationUri>\n  <ProductUri xmlns=\"http://opcfoundation.org/UA/SDK/Configuration.xsd\">urn:cas.eu:UA:Server</ProductUri>\n  <ApplicationType xmlns=\"http://opcfoundation.org/UA/SDK/Configuration.xsd\">Server_0</ApplicationType>\n  <SecurityConfiguration xmlns=\"http://opcfoundation.org/UA/SDK/Configuration.xsd\">\n    <ApplicationCertificate>\n      <StoreType>Windows</StoreType>\n      <StorePath>LocalMachine\\My</StorePath>\n      <StoreName>My</StoreName>\n      <StoreLocation>LocalMachine</StoreLocation>\n      <SubjectName>CN=CommServer/O=CAS/C=PL</SubjectName>\n    </ApplicationCertificate>\n    <TrustedIssuerCertificates>\n      <StoreType>Windows</StoreType>\n      <StorePath>LocalMachine\\CAS UA Certificate Authorities</StorePath>\n      <StoreName>CAS UA Certificate Authorities</StoreName>\n      <StoreLocation>LocalMachine</StoreLocation>\n      <TrustedCertificates />\n    </TrustedIssuerCertificates>\n    <TrustedPeerCertificates>\n      <StoreType>Windows</StoreType>\n      <StorePath>LocalMachine\\UA Applications</StorePath>\n      <StoreName>UA Applications</StoreName>\n      <StoreLocation>LocalMachine</StoreLocation>\n      <TrustedCertificates>\n        <CertificateIdentifier>\n          <StoreType>Windows</StoreType>\n          <StorePath>LocalMachine\\My</StorePath>\n          <StoreName>My</StoreName>\n          <StoreLocation>LocalMachine</StoreLocation>\n          <SubjectName>UA Client</SubjectName>\n        </CertificateIdentifier>\n      </TrustedCertificates>\n    </TrustedPeerCertificates>\n    <NonceLength>32</NonceLength>\n    <InvalidCertificateDirectory>%CommonApplicationData%\\CAS\\CAS.CommServerUA\\RejectedCertificates</InvalidCertificateDirectory>\n    <RejectedCertificateStore>\n      <StoreType>Directory</StoreType>\n      <StorePath>%CommonApplicationData%\\CAS\\CAS.CommServerUA\\RejectedCertificates</StorePath>\n    </RejectedCertificateStore>\n    <ConfigureFirewall>false</ConfigureFirewall>\n  </SecurityConfiguration>\n  <TransportConfigurations xmlns=\"http://opcfoundation.org/UA/SDK/Configuration.xsd\" />\n  <TransportQuotas xmlns=\"http://opcfoundation.org/UA/SDK/Configuration.xsd\">\n    <OperationTimeout>600000</OperationTimeout>\n    <MaxStringLength>1048576</MaxStringLength>\n    <MaxByteStringLength>4194304</MaxByteStringLength>\n    <MaxArrayLength>65535</MaxArrayLength>\n    <MaxMessageSize>4194304</MaxMessageSize>\n    <MaxBufferSize>65535</MaxBufferSize>\n    <ChannelLifetime>300000</ChannelLifetime>\n    <SecurityTokenLifetime>3600000</SecurityTokenLifetime>\n  </TransportQuotas>\n  <ServerConfiguration xmlns=\"http://opcfoundation.org/UA/SDK/Configuration.xsd\">\n    <BaseAddresses xmlns:d3p1=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n      <d3p1:String>opc.tcp://localhost:51234/UA/CAS_UA_Server</d3p1:String>\n      <d3p1:String>http://localhost:51235/UA/CAS_UA_Server</d3p1:String>\n    </BaseAddresses>\n    <AlternateBaseAddresses xmlns:d3p1=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n      <d3p1:String>http://loclhost:51235/UA/CAS.CommServer.UA.Server</d3p1:String>\n    </AlternateBaseAddresses>\n    <SecurityPolicies>\n      <ServerSecurityPolicy>\n        <SecurityMode>SignAndEncrypt_3</SecurityMode>\n        <SecurityPolicyUri>http://opcfoundation.org/UA/SecurityPolicy#Basic128Rsa15</SecurityPolicyUri>\n        <SecurityLevel>3</SecurityLevel>\n      </ServerSecurityPolicy>\n      <ServerSecurityPolicy>\n        <SecurityMode>Sign_2</SecurityMode>\n        <SecurityPolicyUri>http://opcfoundation.org/UA/SecurityPolicy#Basic256</SecurityPolicyUri>\n        <SecurityLevel>2</SecurityLevel>\n      </ServerSecurityPolicy>\n      <ServerSecurityPolicy>\n        <SecurityMode>None_1</SecurityMode>\n        <SecurityPolicyUri>http://opcfoundation.org/UA/SecurityPolicy#None</SecurityPolicyUri>\n        <SecurityLevel>0</SecurityLevel>\n      </ServerSecurityPolicy>\n    </SecurityPolicies>\n    <MinRequestThreadCount>5</MinRequestThreadCount>\n    <MaxRequestThreadCount>100</MaxRequestThreadCount>\n    <MaxQueuedRequestCount>2000</MaxQueuedRequestCount>\n    <UserTokenPolicies xmlns:d3p1=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n      <d3p1:UserTokenPolicy>\n        <d3p1:PolicyId i:nil=\"true\" />\n        <d3p1:TokenType>Anonymous_0</d3p1:TokenType>\n        <d3p1:IssuedTokenType i:nil=\"true\" />\n        <d3p1:IssuerEndpointUrl i:nil=\"true\" />\n        <d3p1:SecurityPolicyUri i:nil=\"true\" />\n      </d3p1:UserTokenPolicy>\n      <d3p1:UserTokenPolicy>\n        <d3p1:PolicyId i:nil=\"true\" />\n        <d3p1:TokenType>UserName_1</d3p1:TokenType>\n        <d3p1:IssuedTokenType i:nil=\"true\" />\n        <d3p1:IssuerEndpointUrl i:nil=\"true\" />\n        <d3p1:SecurityPolicyUri i:nil=\"true\" />\n      </d3p1:UserTokenPolicy>\n      <d3p1:UserTokenPolicy>\n        <d3p1:PolicyId i:nil=\"true\" />\n        <d3p1:TokenType>Certificate_2</d3p1:TokenType>\n        <d3p1:IssuedTokenType i:nil=\"true\" />\n        <d3p1:IssuerEndpointUrl i:nil=\"true\" />\n        <d3p1:SecurityPolicyUri i:nil=\"true\" />\n      </d3p1:UserTokenPolicy>\n    </UserTokenPolicies>\n    <DiagnosticsEnabled>false</DiagnosticsEnabled>\n    <MaxSessionCount>100</MaxSessionCount>\n    <MinSessionTimeout>10000</MinSessionTimeout>\n    <MaxSessionTimeout>3600000</MaxSessionTimeout>\n    <MaxBrowseContinuationPoints>10</MaxBrowseContinuationPoints>\n    <MaxQueryContinuationPoints>10</MaxQueryContinuationPoints>\n    <MaxHistoryContinuationPoints>100</MaxHistoryContinuationPoints>\n    <MaxRequestAge>600000</MaxRequestAge>\n    <MinPublishingInterval>100</MinPublishingInterval>\n    <MaxPublishingInterval>3600000</MaxPublishingInterval>\n    <PublishingResolution>50</PublishingResolution>\n    <MaxSubscriptionLifetime>3600000</MaxSubscriptionLifetime>\n    <MaxMessageQueueSize>100</MaxMessageQueueSize>\n    <MaxNotificationQueueSize>100</MaxNotificationQueueSize>\n    <MaxNotificationsPerPublish>1000</MaxNotificationsPerPublish>\n    <MinMetadataSamplingInterval>1000</MinMetadataSamplingInterval>\n    <AvailableSamplingRates />\n    <RegistrationEndpoint xmlns:d3p1=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n      <d3p1:EndpointUrl>http://localhost:52601/UADiscovery/registration</d3p1:EndpointUrl>\n      <d3p1:Server>\n        <d3p1:ApplicationUri>urn:localhost:UADiscovery</d3p1:ApplicationUri>\n        <d3p1:ProductUri i:nil=\"true\" />\n        <d3p1:ApplicationName i:nil=\"true\" />\n        <d3p1:ApplicationType>DiscoveryServer_3</d3p1:ApplicationType>\n        <d3p1:GatewayServerUri i:nil=\"true\" />\n        <d3p1:DiscoveryProfileUri i:nil=\"true\" />\n        <d3p1:DiscoveryUrls>\n          <d3p1:String>http://localhost:52601/UADiscovery</d3p1:String>\n        </d3p1:DiscoveryUrls>\n      </d3p1:Server>\n      <d3p1:ServerCertificate i:nil=\"true\" />\n      <d3p1:SecurityMode>SignAndEncrypt_3</d3p1:SecurityMode>\n      <d3p1:SecurityPolicyUri></d3p1:SecurityPolicyUri>\n      <d3p1:UserIdentityTokens />\n      <d3p1:TransportProfileUri i:nil=\"true\" />\n      <d3p1:SecurityLevel>1</d3p1:SecurityLevel>\n    </RegistrationEndpoint>\n    <MaxRegistrationInterval>30000</MaxRegistrationInterval>\n    <NodeManagerSaveFile>CAS.UA.Server.nodes.xml</NodeManagerSaveFile>\n    <MinSubscriptionLifetime>10000</MinSubscriptionLifetime>\n    <MaxPublishRequestCount>20</MaxPublishRequestCount>\n    <MaxSubscriptionCount>20</MaxSubscriptionCount>\n    <MaxEventQueueSize>10000</MaxEventQueueSize>\n  </ServerConfiguration>\n  <Extensions xmlns:d2p1=\"http://opcfoundation.org/UA/2008/02/Types.xsd\" xmlns=\"http://opcfoundation.org/UA/SDK/Configuration.xsd\" />\n  <TraceConfiguration xmlns=\"http://opcfoundation.org/UA/SDK/Configuration.xsd\">\n    <OutputFilePath>%CommonApplicationData%\\CAS\\CAS.CommServerUA\\log\\CAS.UA.Server.starting.log</OutputFilePath>\n    <DeleteOnLoad>true</DeleteOnLoad>\n    <TraceMasks>5</TraceMasks>\n  </TraceConfiguration>\n  <DisableHiResClock xmlns=\"http://opcfoundation.org/UA/SDK/Configuration.xsd\">true</DisableHiResClock>\n  <CASExtension>\n    <OPCDAClientConfiguration>\n      <FileName>BoilerExample.oses</FileName>\n    </OPCDAClientConfiguration>\n    <CommServerConfiguration>\n      <FileName>DefaultConfig.xml</FileName>\n    </CommServerConfiguration>\n    <SimulatorConfiguration />\n    <NodesConfiguration>\n      <InstanceConfiguration>\n        <NodeDescriptor>\n          <NodeClass>Object</NodeClass>\n          <q:NodeIdentifier xmlns:d6p1=\"http://cas.eu/UA/CommServer/asmd/examples/boilersset\" xmlns:q=\"http://cas.eu/UA/2009/ServerConfiguration.xsd\">d6p1:Boilers</q:NodeIdentifier>\n        </NodeDescriptor>\n        <DataSources i:nil=\"true\" />\n      </InstanceConfiguration>\n      <InstanceConfiguration>\n        <NodeDescriptor>\n          <NodeClass>Object</NodeClass>\n          <q:NodeIdentifier xmlns:d6p1=\"http://cas.eu/UA/CommServer/asmd/examples/boilersset\" xmlns:q=\"http://cas.eu/UA/2009/ServerConfiguration.xsd\">d6p1:Boilers_Boiler1</q:NodeIdentifier>\n        </NodeDescriptor>\n        <DataSources i:nil=\"true\" />\n      </InstanceConfiguration>\n      <InstanceConfiguration>\n        <NodeDescriptor>\n          <NodeClass>Object</NodeClass>\n          <q:NodeIdentifier xmlns:d6p1=\"http://cas.eu/UA/CommServer/asmd/examples/boilersset\" xmlns:q=\"http://cas.eu/UA/2009/ServerConfiguration.xsd\">d6p1:Boilers_Boiler1_CustomController</q:NodeIdentifier>\n        </NodeDescriptor>\n        <DataSources i:nil=\"true\" />\n      </InstanceConfiguration>\n      <InstanceConfiguration>\n        <NodeDescriptor>\n          <NodeClass>Object</NodeClass>\n          <q:NodeIdentifier xmlns:d6p1=\"http://cas.eu/UA/CommServer/asmd/examples/boilersset\" xmlns:q=\"http://cas.eu/UA/2009/ServerConfiguration.xsd\">d6p1:Boilers_Boiler1_Drum</q:NodeIdentifier>\n        </NodeDescriptor>\n        <DataSources i:nil=\"true\" />\n      </InstanceConfiguration>\n      <InstanceConfiguration>\n        <NodeDescriptor>\n          <NodeClass>Object</NodeClass>\n          <q:NodeIdentifier xmlns:d6p1=\"http://cas.eu/UA/CommServer/asmd/examples/boilersset\" xmlns:q=\"http://cas.eu/UA/2009/ServerConfiguration.xsd\">d6p1:Boilers_Boiler1_FlowController</q:NodeIdentifier>\n        </NodeDescriptor>\n        <DataSources i:nil=\"true\" />\n      </InstanceConfiguration>\n      <InstanceConfiguration>\n        <NodeDescriptor>\n          <NodeClass>Object</NodeClass>\n          <q:NodeIdentifier xmlns:d6p1=\"http://cas.eu/UA/CommServer/asmd/examples/boilersset\" xmlns:q=\"http://cas.eu/UA/2009/ServerConfiguration.xsd\">d6p1:Boilers_Boiler1_InputPipe</q:NodeIdentifier>\n        </NodeDescriptor>\n        <DataSources i:nil=\"true\" />\n      </InstanceConfiguration>\n      <InstanceConfiguration>\n        <NodeDescriptor>\n          <NodeClass>Object</NodeClass>\n          <q:NodeIdentifier xmlns:d6p1=\"http://cas.eu/UA/CommServer/asmd/examples/boilersset\" xmlns:q=\"http://cas.eu/UA/2009/ServerConfiguration.xsd\">d6p1:Boilers_Boiler1_LevelController</q:NodeIdentifier>\n        </NodeDescriptor>\n        <DataSources i:nil=\"true\" />\n      </InstanceConfiguration>\n      <InstanceConfiguration>\n        <NodeDescriptor>\n          <NodeClass>Object</NodeClass>\n          <q:NodeIdentifier xmlns:d6p1=\"http://cas.eu/UA/CommServer/asmd/examples/boilersset\" xmlns:q=\"http://cas.eu/UA/2009/ServerConfiguration.xsd\">d6p1:Boilers_CASBoiler</q:NodeIdentifier>\n        </NodeDescriptor>\n        <DataSources i:nil=\"true\" />\n      </InstanceConfiguration>\n      <InstanceConfiguration>\n        <NodeDescriptor>\n          <NodeClass>Object</NodeClass>\n          <q:NodeIdentifier xmlns:d6p1=\"http://cas.eu/UA/CommServer/asmd/examples/boilersset\" xmlns:q=\"http://cas.eu/UA/2009/ServerConfiguration.xsd\">d6p1:Boilers_CASBoiler_Drum</q:NodeIdentifier>\n        </NodeDescriptor>\n        <DataSources i:nil=\"true\" />\n      </InstanceConfiguration>\n      <InstanceConfiguration>\n        <NodeDescriptor>\n          <NodeClass>Object</NodeClass>\n          <q:NodeIdentifier xmlns:d6p1=\"http://cas.eu/UA/CommServer/asmd/examples/boilersset\" xmlns:q=\"http://cas.eu/UA/2009/ServerConfiguration.xsd\">d6p1:Boilers_CASBoiler_InputPipe</q:NodeIdentifier>\n        </NodeDescriptor>\n        <DataSources i:nil=\"true\" />\n      </InstanceConfiguration>\n      <InstanceConfiguration>\n        <NodeDescriptor>\n          <NodeClass>Object</NodeClass>\n          <q:NodeIdentifier xmlns:d6p1=\"http://cas.eu/UA/CommServer/asmd/examples/boilersset\" xmlns:q=\"http://cas.eu/UA/2009/ServerConfiguration.xsd\">d6p1:Boilers_ObjectsFolder</q:NodeIdentifier>\n        </NodeDescriptor>\n        <DataSources i:nil=\"true\" />\n      </InstanceConfiguration>\n      <InstanceConfiguration>\n        <NodeDescriptor>\n          <NodeClass>Object</NodeClass>\n          <q:NodeIdentifier xmlns:d6p1=\"http://cas.eu/UA/CommServer/asmd/examples/boilersset\" xmlns:q=\"http://cas.eu/UA/2009/ServerConfiguration.xsd\">d6p1:BoilersArea</q:NodeIdentifier>\n        </NodeDescriptor>\n        <DataSources i:nil=\"true\" />\n      </InstanceConfiguration>\n      <InstanceConfiguration>\n        <NodeDescriptor>\n          <InstanceDeclaration>true</InstanceDeclaration>\n          <NodeClass>Object</NodeClass>\n          <q:NodeIdentifier xmlns:d6p1=\"http://cas.eu/UA/Demo/\" xmlns:q=\"http://cas.eu/UA/2009/ServerConfiguration.xsd\">d6p1:BoilerInputPipeType_FlowTransmitter1</q:NodeIdentifier>\n        </NodeDescriptor>\n        <DataSources i:nil=\"true\" />\n      </InstanceConfiguration>\n      <InstanceConfiguration>\n        <NodeDescriptor>\n          <InstanceDeclaration>true</InstanceDeclaration>\n          <NodeClass>Object</NodeClass>\n          <q:NodeIdentifier xmlns:d6p1=\"http://cas.eu/UA/Demo/\" xmlns:q=\"http://cas.eu/UA/2009/ServerConfiguration.xsd\">d6p1:BoilerInputPipeType_Valve</q:NodeIdentifier>\n        </NodeDescriptor>\n        <DataSources i:nil=\"true\" />\n      </InstanceConfiguration>\n      <InstanceConfiguration>\n        <NodeDescriptor>\n          <NodeClass>Object</NodeClass>\n          <q:NodeIdentifier xmlns:d6p1=\"http://cas.eu/UA/Demo/\" xmlns:q=\"http://cas.eu/UA/2009/ServerConfiguration.xsd\">d6p1:Boilers</q:NodeIdentifier>\n        </NodeDescriptor>\n        <DataSources i:nil=\"true\" />\n      </InstanceConfiguration>\n      <InstanceConfiguration>\n        <NodeDescriptor>\n          <NodeClass>Object</NodeClass>\n          <q:NodeIdentifier xmlns:d6p1=\"http://cas.eu/UA/Demo/\" xmlns:q=\"http://cas.eu/UA/2009/ServerConfiguration.xsd\">d6p1:Boilers_Boiler1</q:NodeIdentifier>\n        </NodeDescriptor>\n        <DataSources i:nil=\"true\" />\n      </InstanceConfiguration>\n      <InstanceConfiguration>\n        <NodeDescriptor>\n          <InstanceDeclaration>true</InstanceDeclaration>\n          <NodeClass>Object</NodeClass>\n          <q:NodeIdentifier xmlns:d6p1=\"http://cas.eu/UA/Demo/\" xmlns:q=\"http://cas.eu/UA/2009/ServerConfiguration.xsd\">d6p1:Boilers_Boiler1_CustomController</q:NodeIdentifier>\n        </NodeDescriptor>\n        <DataSources i:nil=\"true\" />\n      </InstanceConfiguration>\n      <InstanceConfiguration>\n        <NodeDescriptor>\n          <q:DataType xmlns:d6p1=\"http://opcfoundation.org/UA/\" xmlns:q=\"http://cas.eu/UA/2009/ServerConfiguration.xsd\">d6p1:Double</q:DataType>\n          <InstanceDeclaration>true</InstanceDeclaration>\n          <NodeClass>Object</NodeClass>\n          <q:NodeIdentifier xmlns:d6p1=\"http://cas.eu/UA/Demo/\" xmlns:q=\"http://cas.eu/UA/2009/ServerConfiguration.xsd\">d6p1:Boilers_Boiler1_CustomController_Input1</q:NodeIdentifier>\n        </NodeDescriptor>\n        <DataSources i:nil=\"true\" />\n      </InstanceConfiguration>\n      <InstanceConfiguration>\n        <NodeDescriptor>\n          <InstanceDeclaration>true</InstanceDeclaration>\n          <NodeClass>Object</NodeClass>\n          <q:NodeIdentifier xmlns:d6p1=\"http://cas.eu/UA/Demo/\" xmlns:q=\"http://cas.eu/UA/2009/ServerConfiguration.xsd\">d6p1:Boilers_Boiler1_Drum</q:NodeIdentifier>\n        </NodeDescriptor>\n        <DataSources i:nil=\"true\" />\n      </InstanceConfiguration>\n      <InstanceConfiguration>\n        <NodeDescriptor>\n          <InstanceDeclaration>true</InstanceDeclaration>\n          <NodeClass>Object</NodeClass>\n          <q:NodeIdentifier xmlns:d6p1=\"http://cas.eu/UA/Demo/\" xmlns:q=\"http://cas.eu/UA/2009/ServerConfiguration.xsd\">d6p1:Boilers_Boiler1_FlowController</q:NodeIdentifier>\n        </NodeDescriptor>\n        <DataSources i:nil=\"true\" />\n      </InstanceConfiguration>\n      <InstanceConfiguration>\n        <NodeDescriptor>\n          <InstanceDeclaration>true</InstanceDeclaration>\n          <NodeClass>Object</NodeClass>\n          <q:NodeIdentifier xmlns:d6p1=\"http://cas.eu/UA/Demo/\" xmlns:q=\"http://cas.eu/UA/2009/ServerConfiguration.xsd\">d6p1:Boilers_Boiler1_InputPipe</q:NodeIdentifier>\n        </NodeDescriptor>\n        <DataSources i:nil=\"true\" />\n      </InstanceConfiguration>\n      <InstanceConfiguration>\n        <NodeDescriptor>\n          <InstanceDeclaration>true</InstanceDeclaration>\n          <NodeClass>Object</NodeClass>\n          <q:NodeIdentifier xmlns:d6p1=\"http://cas.eu/UA/Demo/\" xmlns:q=\"http://cas.eu/UA/2009/ServerConfiguration.xsd\">d6p1:Boilers_Boiler1_InputPipe_FlowTransmitter1</q:NodeIdentifier>\n        </NodeDescriptor>\n        <DataSources i:nil=\"true\" />\n      </InstanceConfiguration>\n      <InstanceConfiguration>\n        <NodeDescriptor>\n          <InstanceDeclaration>true</InstanceDeclaration>\n          <NodeClass>Object</NodeClass>\n          <q:NodeIdentifier xmlns:d6p1=\"http://cas.eu/UA/Demo/\" xmlns:q=\"http://cas.eu/UA/2009/ServerConfiguration.xsd\">d6p1:Boilers_Boiler1_LevelController</q:NodeIdentifier>\n        </NodeDescriptor>\n        <DataSources i:nil=\"true\" />\n      </InstanceConfiguration>\n      <InstanceConfiguration>\n        <NodeDescriptor>\n          <InstanceDeclaration>true</InstanceDeclaration>\n          <NodeClass>Object</NodeClass>\n          <q:NodeIdentifier xmlns:d6p1=\"http://cas.eu/UA/Demo/\" xmlns:q=\"http://cas.eu/UA/2009/ServerConfiguration.xsd\">d6p1:Boilers_Boiler1_OutputPipe</q:NodeIdentifier>\n        </NodeDescriptor>\n        <DataSources i:nil=\"true\" />\n      </InstanceConfiguration>\n      <InstanceConfiguration>\n        <NodeDescriptor>\n          <InstanceDeclaration>true</InstanceDeclaration>\n          <NodeClass>Object</NodeClass>\n          <q:NodeIdentifier xmlns:d6p1=\"http://cas.eu/UA/Demo/\" xmlns:q=\"http://cas.eu/UA/2009/ServerConfiguration.xsd\">d6p1:Boilers_Boiler1_Simulation</q:NodeIdentifier>\n        </NodeDescriptor>\n        <DataSources i:nil=\"true\" />\n      </InstanceConfiguration>\n      <InstanceConfiguration>\n        <NodeDescriptor>\n          <InstanceDeclaration>true</InstanceDeclaration>\n          <NodeClass>Object</NodeClass>\n          <q:NodeIdentifier xmlns:d6p1=\"http://cas.eu/UA/Demo/\" xmlns:q=\"http://cas.eu/UA/2009/ServerConfiguration.xsd\">d6p1:BoilerType_CustomController</q:NodeIdentifier>\n        </NodeDescriptor>\n        <DataSources i:nil=\"true\" />\n      </InstanceConfiguration>\n      <InstanceConfiguration>\n        <NodeDescriptor>\n          <InstanceDeclaration>true</InstanceDeclaration>\n          <NodeClass>Object</NodeClass>\n          <q:NodeIdentifier xmlns:d6p1=\"http://cas.eu/UA/Demo/\" xmlns:q=\"http://cas.eu/UA/2009/ServerConfiguration.xsd\">d6p1:BoilerType_Drum</q:NodeIdentifier>\n        </NodeDescriptor>\n        <DataSources i:nil=\"true\" />\n      </InstanceConfiguration>\n      <InstanceConfiguration>\n        <NodeDescriptor>\n          <InstanceDeclaration>true</InstanceDeclaration>\n          <NodeClass>Object</NodeClass>\n          <q:NodeIdentifier xmlns:d6p1=\"http://cas.eu/UA/Demo/\" xmlns:q=\"http://cas.eu/UA/2009/ServerConfiguration.xsd\">d6p1:BoilerType_FlowController</q:NodeIdentifier>\n        </NodeDescriptor>\n        <DataSources i:nil=\"true\" />\n      </InstanceConfiguration>\n      <InstanceConfiguration>\n        <NodeDescriptor>\n          <InstanceDeclaration>true</InstanceDeclaration>\n          <NodeClass>Object</NodeClass>\n          <q:NodeIdentifier xmlns:d6p1=\"http://cas.eu/UA/Demo/\" xmlns:q=\"http://cas.eu/UA/2009/ServerConfiguration.xsd\">d6p1:BoilerType_InputPipe</q:NodeIdentifier>\n        </NodeDescriptor>\n        <DataSources i:nil=\"true\" />\n      </InstanceConfiguration>\n      <InstanceConfiguration>\n        <NodeDescriptor>\n          <InstanceDeclaration>true</InstanceDeclaration>\n          <NodeClass>Object</NodeClass>\n          <q:NodeIdentifier xmlns:d6p1=\"http://cas.eu/UA/Demo/\" xmlns:q=\"http://cas.eu/UA/2009/ServerConfiguration.xsd\">d6p1:BoilerType_InputPipe_FlowTransmitter1</q:NodeIdentifier>\n        </NodeDescriptor>\n        <DataSources i:nil=\"true\" />\n      </InstanceConfiguration>\n      <InstanceConfiguration>\n        <NodeDescriptor>\n          <InstanceDeclaration>true</InstanceDeclaration>\n          <NodeClass>Object</NodeClass>\n          <q:NodeIdentifier xmlns:d6p1=\"http://cas.eu/UA/Demo/\" xmlns:q=\"http://cas.eu/UA/2009/ServerConfiguration.xsd\">d6p1:BoilerType_LevelController</q:NodeIdentifier>\n        </NodeDescriptor>\n        <DataSources i:nil=\"true\" />\n      </InstanceConfiguration>\n      <InstanceConfiguration>\n        <NodeDescriptor>\n          <InstanceDeclaration>true</InstanceDeclaration>\n          <NodeClass>Object</NodeClass>\n          <q:NodeIdentifier xmlns:d6p1=\"http://cas.eu/UA/Demo/\" xmlns:q=\"http://cas.eu/UA/2009/ServerConfiguration.xsd\">d6p1:BoilerType_OutputPipe</q:NodeIdentifier>\n        </NodeDescriptor>\n        <DataSources i:nil=\"true\" />\n      </InstanceConfiguration>\n      <InstanceConfiguration>\n        <NodeDescriptor>\n          <InstanceDeclaration>true</InstanceDeclaration>\n          <NodeClass>Object</NodeClass>\n          <q:NodeIdentifier xmlns:d6p1=\"http://cas.eu/UA/Demo/\" xmlns:q=\"http://cas.eu/UA/2009/ServerConfiguration.xsd\">d6p1:BoilerType_Simulation</q:NodeIdentifier>\n        </NodeDescriptor>\n        <DataSources i:nil=\"true\" />\n      </InstanceConfiguration>\n      <InstanceConfiguration>\n        <NodeDescriptor>\n          <q:DataType xmlns:d6p1=\"http://opcfoundation.org/UA/\" xmlns:q=\"http://cas.eu/UA/2009/ServerConfiguration.xsd\">d6p1:Double</q:DataType>\n          <InstanceDeclaration>true</InstanceDeclaration>\n          <NodeClass>Object</NodeClass>\n          <q:NodeIdentifier xmlns:d6p1=\"http://cas.eu/UA/Demo/\" xmlns:q=\"http://cas.eu/UA/2009/ServerConfiguration.xsd\">d6p1:CustomControllerType_Input1</q:NodeIdentifier>\n        </NodeDescriptor>\n        <DataSources i:nil=\"true\" />\n      </InstanceConfiguration>\n      <InstanceConfiguration>\n        <NodeDescriptor>\n          <NodeClass>Object</NodeClass>\n          <q:NodeIdentifier xmlns:d6p1=\"http://commsvr.com/UA/Examples/BoilersSet\" xmlns:q=\"http://cas.eu/UA/2009/ServerConfiguration.xsd\">d6p1:BoilersArea</q:NodeIdentifier>\n        </NodeDescriptor>\n        <DataSources i:nil=\"true\" />\n      </InstanceConfiguration>\n      <InstanceConfiguration>\n        <NodeDescriptor>\n          <NodeClass>Object</NodeClass>\n          <q:NodeIdentifier xmlns:d6p1=\"http://commsvr.com/UA/Examples/BoilersSet\" xmlns:q=\"http://cas.eu/UA/2009/ServerConfiguration.xsd\">d6p1:BoilersArea_BoilerAlpha</q:NodeIdentifier>\n        </NodeDescriptor>\n        <DataSources i:nil=\"true\" />\n      </InstanceConfiguration>\n      <InstanceConfiguration>\n        <NodeDescriptor>\n          <NodeClass>Object</NodeClass>\n          <q:NodeIdentifier xmlns:d6p1=\"http://commsvr.com/UA/Examples/BoilersSet\" xmlns:q=\"http://cas.eu/UA/2009/ServerConfiguration.xsd\">d6p1:BoilersArea_BoilerAlpha_OutputPipe</q:NodeIdentifier>\n        </NodeDescriptor>\n        <DataSources i:nil=\"true\" />\n      </InstanceConfiguration>\n      <InstanceConfiguration>\n        <NodeDescriptor>\n          <NodeClass>Object</NodeClass>\n          <q:NodeIdentifier xmlns:d6p1=\"http://commsvr.com/UA/Examples/BoilersSet\" xmlns:q=\"http://cas.eu/UA/2009/ServerConfiguration.xsd\">d6p1:BoilersArea_BoilerBravo</q:NodeIdentifier>\n        </NodeDescriptor>\n        <DataSources i:nil=\"true\" />\n      </InstanceConfiguration>\n      <InstanceConfiguration>\n        <NodeDescriptor>\n          <NodeClass>Object</NodeClass>\n          <q:NodeIdentifier xmlns:d6p1=\"http://commsvr.com/UA/Examples/BoilersSet\" xmlns:q=\"http://cas.eu/UA/2009/ServerConfiguration.xsd\">d6p1:BoilersArea_BoilerBravo_InputPipe</q:NodeIdentifier>\n        </NodeDescriptor>\n        <DataSources i:nil=\"true\" />\n      </InstanceConfiguration>\n      <InstanceConfiguration>\n        <NodeDescriptor>\n          <NodeClass>Object</NodeClass>\n          <q:NodeIdentifier xmlns:d6p1=\"http://commsvr.com/UA/Examples/BoilersSet\" xmlns:q=\"http://cas.eu/UA/2009/ServerConfiguration.xsd\">d6p1:BoilersArea_BoilerCharlie</q:NodeIdentifier>\n        </NodeDescriptor>\n        <DataSources i:nil=\"true\" />\n      </InstanceConfiguration>\n      <InstanceConfiguration>\n        <NodeDescriptor>\n          <NodeClass>Object</NodeClass>\n          <q:NodeIdentifier xmlns:d6p1=\"http://commsvr.com/UA/Examples/BoilersSet\" xmlns:q=\"http://cas.eu/UA/2009/ServerConfiguration.xsd\">d6p1:BoilersArea_BoilerDelta</q:NodeIdentifier>\n        </NodeDescriptor>\n        <DataSources i:nil=\"true\" />\n      </InstanceConfiguration>\n      <InstanceConfiguration>\n        <NodeDescriptor>\n          <NodeClass>Object</NodeClass>\n          <q:NodeIdentifier xmlns:d6p1=\"http://commsvr.com/UA/Examples/BoilersSet\" xmlns:q=\"http://cas.eu/UA/2009/ServerConfiguration.xsd\">d6p1:BoilersArea_CASBoiler</q:NodeIdentifier>\n        </NodeDescriptor>\n        <DataSources i:nil=\"true\" />\n      </InstanceConfiguration>\n      <InstanceConfiguration>\n        <NodeDescriptor>\n          <NodeClass>Object</NodeClass>\n          <q:NodeIdentifier xmlns:d6p1=\"http://commsvr.com/UA/Examples/BoilersSet\" xmlns:q=\"http://cas.eu/UA/2009/ServerConfiguration.xsd\">d6p1:BoilersArea_CASBoiler_CustomController</q:NodeIdentifier>\n        </NodeDescriptor>\n        <DataSources i:nil=\"true\" />\n      </InstanceConfiguration>\n      <InstanceConfiguration>\n        <NodeDescriptor>\n          <NodeClass>Object</NodeClass>\n          <q:NodeIdentifier xmlns:d6p1=\"http://commsvr.com/UA/Examples/BoilersSet\" xmlns:q=\"http://cas.eu/UA/2009/ServerConfiguration.xsd\">d6p1:BoilersArea_CASBoiler_Drum</q:NodeIdentifier>\n        </NodeDescriptor>\n        <DataSources i:nil=\"true\" />\n      </InstanceConfiguration>\n      <InstanceConfiguration>\n        <NodeDescriptor>\n          <InstanceDeclaration>true</InstanceDeclaration>\n          <NodeClass>Object</NodeClass>\n          <q:NodeIdentifier xmlns:d6p1=\"http://commsvr.com/UA/Examples/BoilersSet\" xmlns:q=\"http://cas.eu/UA/2009/ServerConfiguration.xsd\">d6p1:BoilersArea_CASBoiler_Drum_LevelIndicator</q:NodeIdentifier>\n        </NodeDescriptor>\n        <DataSources i:nil=\"true\" />\n      </InstanceConfiguration>\n      <InstanceConfiguration>\n        <NodeDescriptor>\n          <q:DataType xmlns:d6p1=\"http://opcfoundation.org/UA/\" xmlns:q=\"http://cas.eu/UA/2009/ServerConfiguration.xsd\">d6p1:Double</q:DataType>\n          <InstanceDeclaration>true</InstanceDeclaration>\n          <NodeClass>Variable</NodeClass>\n          <q:NodeIdentifier xmlns:d6p1=\"http://commsvr.com/UA/Examples/BoilersSet\" xmlns:q=\"http://cas.eu/UA/2009/ServerConfiguration.xsd\">d6p1:BoilersArea_CASBoiler_Drum_LevelIndicator_Output</q:NodeIdentifier>\n        </NodeDescriptor>\n        <DataSources i:nil=\"true\" />\n      </InstanceConfiguration>\n      <InstanceConfiguration>\n        <NodeDescriptor>\n          <NodeClass>Object</NodeClass>\n          <q:NodeIdentifier xmlns:d6p1=\"http://commsvr.com/UA/Examples/BoilersSet\" xmlns:q=\"http://cas.eu/UA/2009/ServerConfiguration.xsd\">d6p1:BoilersArea_CASBoiler_InputPipe</q:NodeIdentifier>\n        </NodeDescriptor>\n        <DataSources i:nil=\"true\" />\n      </InstanceConfiguration>\n      <InstanceConfiguration>\n        <NodeDescriptor>\n          <NodeClass>Object</NodeClass>\n          <q:NodeIdentifier xmlns:d6p1=\"http://commsvr.com/UA/Examples/BoilersSet\" xmlns:q=\"http://cas.eu/UA/2009/ServerConfiguration.xsd\">d6p1:BoilersArea_CASBoiler_InputPipe_FlowTransmitter1</q:NodeIdentifier>\n        </NodeDescriptor>\n        <DataSources i:nil=\"true\" />\n      </InstanceConfiguration>\n      <InstanceConfiguration>\n        <NodeDescriptor>\n          <q:DataType xmlns:d6p1=\"http://opcfoundation.org/UA/\" xmlns:q=\"http://cas.eu/UA/2009/ServerConfiguration.xsd\">d6p1:Double</q:DataType>\n          <InstanceDeclaration>true</InstanceDeclaration>\n          <NodeClass>Variable</NodeClass>\n          <q:NodeIdentifier xmlns:d6p1=\"http://commsvr.com/UA/Examples/BoilersSet\" xmlns:q=\"http://cas.eu/UA/2009/ServerConfiguration.xsd\">d6p1:BoilersArea_CASBoiler_InputPipe_FlowTransmitter1_Output</q:NodeIdentifier>\n        </NodeDescriptor>\n        <DataSources i:nil=\"true\" />\n      </InstanceConfiguration>\n      <InstanceConfiguration>\n        <NodeDescriptor>\n          <q:DataType xmlns:d6p1=\"http://opcfoundation.org/UA/\" xmlns:q=\"http://cas.eu/UA/2009/ServerConfiguration.xsd\">d6p1:Range</q:DataType>\n          <InstanceDeclaration>true</InstanceDeclaration>\n          <NodeClass>Object</NodeClass>\n          <q:NodeIdentifier xmlns:d6p1=\"http://commsvr.com/UA/Examples/BoilersSet\" xmlns:q=\"http://cas.eu/UA/2009/ServerConfiguration.xsd\">d6p1:BoilersArea_CASBoiler_InputPipe_FlowTransmitter1_Output_EURange</q:NodeIdentifier>\n        </NodeDescriptor>\n        <DataSources i:nil=\"true\" />\n      </InstanceConfiguration>\n      <InstanceConfiguration>\n        <NodeDescriptor>\n          <NodeClass>Object</NodeClass>\n          <q:NodeIdentifier xmlns:d6p1=\"http://commsvr.com/UA/Examples/BoilersSet\" xmlns:q=\"http://cas.eu/UA/2009/ServerConfiguration.xsd\">d6p1:BoilersArea_CASBoiler_LevelController</q:NodeIdentifier>\n        </NodeDescriptor>\n        <DataSources i:nil=\"true\" />\n      </InstanceConfiguration>\n      <InstanceConfiguration>\n        <NodeDescriptor>\n          <NodeClass>Object</NodeClass>\n          <q:NodeIdentifier xmlns:d6p1=\"http://commsvr.com/UA/Examples/BoilersSet\" xmlns:q=\"http://cas.eu/UA/2009/ServerConfiguration.xsd\">d6p1:BoilersArea_CASBoiler_OutputPipe</q:NodeIdentifier>\n        </NodeDescriptor>\n        <DataSources i:nil=\"true\" />\n      </InstanceConfiguration>\n      <InstanceConfiguration>\n        <NodeDescriptor>\n          <NodeClass>Object</NodeClass>\n          <q:NodeIdentifier xmlns:d6p1=\"http://commsvr.com/UA/Examples/BoilersSet\" xmlns:q=\"http://cas.eu/UA/2009/ServerConfiguration.xsd\">d6p1:BoilersArea_ObjectsFolder</q:NodeIdentifier>\n        </NodeDescriptor>\n        <DataSources i:nil=\"true\" />\n      </InstanceConfiguration>\n      <InstanceConfiguration>\n        <NodeDescriptor>\n          <NodeClass>Object</NodeClass>\n          <q:NodeIdentifier xmlns:d6p1=\"http://commsvr.com/UA/Examples/BoilersSet\" xmlns:q=\"http://cas.eu/UA/2009/ServerConfiguration.xsd\">d6p1:Drums</q:NodeIdentifier>\n        </NodeDescriptor>\n        <DataSources i:nil=\"true\" />\n      </InstanceConfiguration>\n      <InstanceConfiguration>\n        <NodeDescriptor>\n          <NodeClass>Object</NodeClass>\n          <q:NodeIdentifier xmlns:d6p1=\"http://commsvr.com/UA/Examples/BoilersSet\" xmlns:q=\"http://cas.eu/UA/2009/ServerConfiguration.xsd\">d6p1:Drums_Drum</q:NodeIdentifier>\n        </NodeDescriptor>\n        <DataSources i:nil=\"true\" />\n      </InstanceConfiguration>\n      <InstanceConfiguration>\n        <NodeDescriptor>\n          <NodeClass>Object</NodeClass>\n          <q:NodeIdentifier xmlns:d6p1=\"http://commsvr.com/UA/Examples/BoilersSet\" xmlns:q=\"http://cas.eu/UA/2009/ServerConfiguration.xsd\">d6p1:Measurements</q:NodeIdentifier>\n        </NodeDescriptor>\n        <DataSources i:nil=\"true\" />\n      </InstanceConfiguration>\n      <InstanceConfiguration>\n        <NodeDescriptor>\n          <NodeClass>Object</NodeClass>\n          <q:NodeIdentifier xmlns:d6p1=\"http://commsvr.com/UA/Examples/BoilersSet\" xmlns:q=\"http://cas.eu/UA/2009/ServerConfiguration.xsd\">d6p1:Measurements_ObjectsFolder</q:NodeIdentifier>\n        </NodeDescriptor>\n        <DataSources i:nil=\"true\" />\n      </InstanceConfiguration>\n      <InstanceConfiguration>\n        <NodeDescriptor>\n          <NodeClass>Object</NodeClass>\n          <q:NodeIdentifier xmlns:d6p1=\"http://commsvr.com/UA/Examples/BoilersSet\" xmlns:q=\"http://cas.eu/UA/2009/ServerConfiguration.xsd\">d6p1:Pipes</q:NodeIdentifier>\n        </NodeDescriptor>\n        <DataSources i:nil=\"true\" />\n      </InstanceConfiguration>\n      <InstanceConfiguration>\n        <NodeDescriptor>\n          <NodeClass>Object</NodeClass>\n          <q:NodeIdentifier xmlns:d6p1=\"http://commsvr.com/UA/Examples/BoilersSet\" xmlns:q=\"http://cas.eu/UA/2009/ServerConfiguration.xsd\">d6p1:Pipes_InputPipe</q:NodeIdentifier>\n        </NodeDescriptor>\n        <DataSources i:nil=\"true\" />\n      </InstanceConfiguration>\n      <InstanceConfiguration>\n        <NodeDescriptor>\n          <NodeClass>Object</NodeClass>\n          <q:NodeIdentifier xmlns:d6p1=\"http://commsvr.com/UA/Examples/BoilersSet\" xmlns:q=\"http://cas.eu/UA/2009/ServerConfiguration.xsd\">d6p1:Pipes_OutputPipe</q:NodeIdentifier>\n        </NodeDescriptor>\n        <DataSources i:nil=\"true\" />\n      </InstanceConfiguration>\n      <InstanceConfiguration>\n        <NodeDescriptor>\n          <q:DataType xmlns:d6p1=\"http://opcfoundation.org/UA/\" xmlns:q=\"http://cas.eu/UA/2009/ServerConfiguration.xsd\">d6p1:Range</q:DataType>\n          <InstanceDeclaration>true</InstanceDeclaration>\n          <NodeClass>Object</NodeClass>\n          <q:NodeIdentifier xmlns:d6p1=\"http://opcfoundation.org/UA/\" xmlns:q=\"http://cas.eu/UA/2009/ServerConfiguration.xsd\">d6p1:AnalogItemType_EURange</q:NodeIdentifier>\n        </NodeDescriptor>\n        <DataSources i:nil=\"true\" />\n      </InstanceConfiguration>\n      <InstanceConfiguration>\n        <NodeDescriptor>\n          <NodeClass>Object</NodeClass>\n          <q:NodeIdentifier xmlns:d6p1=\"http://opcfoundation.org/UA/\" xmlns:q=\"http://cas.eu/UA/2009/ServerConfiguration.xsd\">d6p1:HistoryServerCapabilities_ServerCapabilities</q:NodeIdentifier>\n        </NodeDescriptor>\n        <DataSources i:nil=\"true\" />\n      </InstanceConfiguration>\n      <InstanceConfiguration>\n        <NodeDescriptor>\n          <NodeClass>Object</NodeClass>\n          <q:NodeIdentifier xmlns:d6p1=\"http://opcfoundation.org/UA/\" xmlns:q=\"http://cas.eu/UA/2009/ServerConfiguration.xsd\">d6p1:ModellingRule_Mandatory</q:NodeIdentifier>\n        </NodeDescriptor>\n        <DataSources i:nil=\"true\" />\n      </InstanceConfiguration>\n      <InstanceConfiguration>\n        <NodeDescriptor>\n          <NodeClass>Object</NodeClass>\n          <q:NodeIdentifier xmlns:d6p1=\"http://opcfoundation.org/UA/\" xmlns:q=\"http://cas.eu/UA/2009/ServerConfiguration.xsd\">d6p1:ModellingRule_Mandatory_NameNotSet1</q:NodeIdentifier>\n        </NodeDescriptor>\n        <DataSources i:nil=\"true\" />\n      </InstanceConfiguration>\n      <InstanceConfiguration>\n        <NodeDescriptor>\n          <NodeClass>Object</NodeClass>\n          <q:NodeIdentifier xmlns:d6p1=\"http://opcfoundation.org/UA/\" xmlns:q=\"http://cas.eu/UA/2009/ServerConfiguration.xsd\">d6p1:ModellingRule_MandatoryPlaceholder</q:NodeIdentifier>\n        </NodeDescriptor>\n        <DataSources i:nil=\"true\" />\n      </InstanceConfiguration>\n      <InstanceConfiguration>\n        <NodeDescriptor>\n          <NodeClass>Object</NodeClass>\n          <q:NodeIdentifier xmlns:d6p1=\"http://opcfoundation.org/UA/\" xmlns:q=\"http://cas.eu/UA/2009/ServerConfiguration.xsd\">d6p1:ObjectsFolder</q:NodeIdentifier>\n        </NodeDescriptor>\n        <DataSources i:nil=\"true\" />\n      </InstanceConfiguration>\n      <InstanceConfiguration>\n        <NodeDescriptor>\n          <NodeClass>Object</NodeClass>\n          <q:NodeIdentifier xmlns:d6p1=\"http://opcfoundation.org/UA/\" xmlns:q=\"http://cas.eu/UA/2009/ServerConfiguration.xsd\">d6p1:ReferenceTypesFolder</q:NodeIdentifier>\n        </NodeDescriptor>\n        <DataSources i:nil=\"true\" />\n      </InstanceConfiguration>\n      <InstanceConfiguration>\n        <NodeDescriptor>\n          <NodeClass>Object</NodeClass>\n          <q:NodeIdentifier xmlns:d6p1=\"http://opcfoundation.org/UA/\" xmlns:q=\"http://cas.eu/UA/2009/ServerConfiguration.xsd\">d6p1:RootFolder</q:NodeIdentifier>\n        </NodeDescriptor>\n        <DataSources i:nil=\"true\" />\n      </InstanceConfiguration>\n      <InstanceConfiguration>\n        <NodeDescriptor>\n          <InstanceDeclaration>true</InstanceDeclaration>\n          <NodeClass>Object</NodeClass>\n          <q:NodeIdentifier xmlns:d6p1=\"http://tempuri.org/UA/Examples/BoilerType\" xmlns:q=\"http://cas.eu/UA/2009/ServerConfiguration.xsd\">d6p1:BoilerDrumType_LevelIndicator</q:NodeIdentifier>\n        </NodeDescriptor>\n        <DataSources i:nil=\"true\" />\n      </InstanceConfiguration>\n      <InstanceConfiguration>\n        <NodeDescriptor>\n          <NodeClass>Object</NodeClass>\n          <q:NodeIdentifier xmlns:d6p1=\"http://tempuri.org/UA/Examples/BoilerType\" xmlns:q=\"http://cas.eu/UA/2009/ServerConfiguration.xsd\">d6p1:Boilers</q:NodeIdentifier>\n        </NodeDescriptor>\n        <DataSources i:nil=\"true\" />\n      </InstanceConfiguration>\n      <InstanceConfiguration>\n        <NodeDescriptor>\n          <InstanceDeclaration>true</InstanceDeclaration>\n          <NodeClass>Object</NodeClass>\n          <q:NodeIdentifier xmlns:d6p1=\"http://tempuri.org/UA/Examples/BoilerType\" xmlns:q=\"http://cas.eu/UA/2009/ServerConfiguration.xsd\">d6p1:BoilerType_Drum</q:NodeIdentifier>\n        </NodeDescriptor>\n        <DataSources i:nil=\"true\" />\n      </InstanceConfiguration>\n      <InstanceConfiguration>\n        <NodeDescriptor>\n          <InstanceDeclaration>true</InstanceDeclaration>\n          <NodeClass>Object</NodeClass>\n          <q:NodeIdentifier xmlns:d6p1=\"http://tempuri.org/UA/Examples/BoilerType\" xmlns:q=\"http://cas.eu/UA/2009/ServerConfiguration.xsd\">d6p1:BoilerType_InputPipe</q:NodeIdentifier>\n        </NodeDescriptor>\n        <DataSources i:nil=\"true\" />\n      </InstanceConfiguration>\n      <InstanceConfiguration>\n        <NodeDescriptor>\n          <InstanceDeclaration>true</InstanceDeclaration>\n          <NodeClass>Object</NodeClass>\n          <q:NodeIdentifier xmlns:d6p1=\"http://tempuri.org/UA/Examples/BoilerType\" xmlns:q=\"http://cas.eu/UA/2009/ServerConfiguration.xsd\">d6p1:BoilerType_LevelController</q:NodeIdentifier>\n        </NodeDescriptor>\n        <DataSources i:nil=\"true\" />\n      </InstanceConfiguration>\n      <InstanceConfiguration>\n        <NodeDescriptor>\n          <InstanceDeclaration>true</InstanceDeclaration>\n          <NodeClass>Object</NodeClass>\n          <q:NodeIdentifier xmlns:d6p1=\"http://tempuri.org/UA/Examples/BoilerType\" xmlns:q=\"http://cas.eu/UA/2009/ServerConfiguration.xsd\">d6p1:BoilerType_LevelController_ControlOut</q:NodeIdentifier>\n        </NodeDescriptor>\n        <DataSources i:nil=\"true\" />\n      </InstanceConfiguration>\n      <InstanceConfiguration>\n        <NodeDescriptor>\n          <q:DataType xmlns:d6p1=\"http://opcfoundation.org/UA/\" xmlns:q=\"http://cas.eu/UA/2009/ServerConfiguration.xsd\">d6p1:Double</q:DataType>\n          <InstanceDeclaration>true</InstanceDeclaration>\n          <NodeClass>Variable</NodeClass>\n          <q:NodeIdentifier xmlns:d6p1=\"http://tempuri.org/UA/Examples/BoilerType\" xmlns:q=\"http://cas.eu/UA/2009/ServerConfiguration.xsd\">d6p1:GenericSensorType_Output</q:NodeIdentifier>\n        </NodeDescriptor>\n        <DataSources i:nil=\"true\" />\n      </InstanceConfiguration>\n    </NodesConfiguration>\n    <ModelLayers>\n      <ModelLayer>\n        <FilePathCsv>BoilerExample.csv</FilePathCsv>\n        <FilePathUanodes>BoilerExample\\CAS.UA.Server.Demo.PredefinedNodes.uanodes</FilePathUanodes>\n        <NamespaceUri>http://cas.eu/UA/Demo/</NamespaceUri>\n      </ModelLayer>\n    </ModelLayers>\n  </CASExtension>\n</CASConfiguration>"
  },
  {
    "path": "Networking/Simulator.Boiler/UAInformationModel/DemoConfiguration/BoilerType/tempuri.org.UA.Examples.BoilerType.Classes.cs",
    "content": "/* ========================================================================\n * Copyright (c) 2005-2011 The OPC Foundation, Inc. All rights reserved.\n *\n * OPC Foundation MIT License 1.00\n *\n * Permission is hereby granted, free of charge, to any person\n * obtaining a copy of this software and associated documentation\n * files (the \"Software\"), to deal in the Software without\n * restriction, including without limitation the rights to use,\n * copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the\n * Software is furnished to do so, subject to the following\n * conditions:\n *\n * The above copyright notice and this permission notice shall be\n * included in all copies or substantial portions of the Software.\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND,\n * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES\n * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND\n * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT\n * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,\n * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING\n * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR\n * OTHER DEALINGS IN THE SOFTWARE.\n *\n * The complete license agreement can be found here:\n * http://opcfoundation.org/License/MIT/1.00/\n * ======================================================================*/\n\nusing System;\nusing System.Collections.Generic;\nusing System.Text;\nusing System.Reflection;\nusing System.Xml;\nusing System.Runtime.Serialization;\nusing Opc.Ua;\n\nnamespace tempuri.org.UA.Examples.BoilerType\n{\n    #region Object Identifiers\n    /// <summary>\n    /// A class that declares constants for all Objects in the Model Design.\n    /// </summary>\n    /// <exclude />\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"Opc.Ua.ModelCompiler\", \"1.0.0.0\")]\n    public static partial class Objects\n    {\n        /// <summary>\n        /// The identifier for the BoilerInputPipeType_FlowTransmitter1 Object.\n        /// </summary>\n        public const uint BoilerInputPipeType_FlowTransmitter1 = 121;\n\n        /// <summary>\n        /// The identifier for the BoilerInputPipeType_Valve Object.\n        /// </summary>\n        public const uint BoilerInputPipeType_Valve = 128;\n\n        /// <summary>\n        /// The identifier for the BoilerDrumType_LevelIndicator Object.\n        /// </summary>\n        public const uint BoilerDrumType_LevelIndicator = 136;\n\n        /// <summary>\n        /// The identifier for the BoilerOutputPipeType_FlowTransmitter2 Object.\n        /// </summary>\n        public const uint BoilerOutputPipeType_FlowTransmitter2 = 144;\n\n        /// <summary>\n        /// The identifier for the BoilerType_InputPipe Object.\n        /// </summary>\n        public const uint BoilerType_InputPipe = 152;\n\n        /// <summary>\n        /// The identifier for the BoilerType_InputPipe_FlowTransmitter1 Object.\n        /// </summary>\n        public const uint BoilerType_InputPipe_FlowTransmitter1 = 153;\n\n        /// <summary>\n        /// The identifier for the BoilerType_InputPipe_Valve Object.\n        /// </summary>\n        public const uint BoilerType_InputPipe_Valve = 160;\n\n        /// <summary>\n        /// The identifier for the BoilerType_Drum Object.\n        /// </summary>\n        public const uint BoilerType_Drum = 167;\n\n        /// <summary>\n        /// The identifier for the BoilerType_Drum_LevelIndicator Object.\n        /// </summary>\n        public const uint BoilerType_Drum_LevelIndicator = 168;\n\n        /// <summary>\n        /// The identifier for the BoilerType_OutputPipe Object.\n        /// </summary>\n        public const uint BoilerType_OutputPipe = 175;\n\n        /// <summary>\n        /// The identifier for the BoilerType_OutputPipe_FlowTransmitter2 Object.\n        /// </summary>\n        public const uint BoilerType_OutputPipe_FlowTransmitter2 = 176;\n\n        /// <summary>\n        /// The identifier for the BoilerType_FlowController Object.\n        /// </summary>\n        public const uint BoilerType_FlowController = 183;\n\n        /// <summary>\n        /// The identifier for the BoilerType_LevelController Object.\n        /// </summary>\n        public const uint BoilerType_LevelController = 187;\n\n        /// <summary>\n        /// The identifier for the BoilerType_CustomController Object.\n        /// </summary>\n        public const uint BoilerType_CustomController = 191;\n\n        /// <summary>\n        /// The identifier for the BoilerType_Simulation Object.\n        /// </summary>\n        public const uint BoilerType_Simulation = 197;\n    }\n    #endregion\n\n    #region ObjectType Identifiers\n    /// <summary>\n    /// A class that declares constants for all ObjectTypes in the Model Design.\n    /// </summary>\n    /// <exclude />\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"Opc.Ua.ModelCompiler\", \"1.0.0.0\")]\n    public static partial class ObjectTypes\n    {\n        /// <summary>\n        /// The identifier for the GenericControllerType ObjectType.\n        /// </summary>\n        public const uint GenericControllerType = 4;\n\n        /// <summary>\n        /// The identifier for the GenericSensorType ObjectType.\n        /// </summary>\n        public const uint GenericSensorType = 8;\n\n        /// <summary>\n        /// The identifier for the GenericActuatorType ObjectType.\n        /// </summary>\n        public const uint GenericActuatorType = 15;\n\n        /// <summary>\n        /// The identifier for the CustomControllerType ObjectType.\n        /// </summary>\n        public const uint CustomControllerType = 22;\n\n        /// <summary>\n        /// The identifier for the ValveType ObjectType.\n        /// </summary>\n        public const uint ValveType = 28;\n\n        /// <summary>\n        /// The identifier for the LevelControllerType ObjectType.\n        /// </summary>\n        public const uint LevelControllerType = 35;\n\n        /// <summary>\n        /// The identifier for the FlowControllerType ObjectType.\n        /// </summary>\n        public const uint FlowControllerType = 39;\n\n        /// <summary>\n        /// The identifier for the LevelIndicatorType ObjectType.\n        /// </summary>\n        public const uint LevelIndicatorType = 43;\n\n        /// <summary>\n        /// The identifier for the FlowTransmitterType ObjectType.\n        /// </summary>\n        public const uint FlowTransmitterType = 50;\n\n        /// <summary>\n        /// The identifier for the BoilerStateMachineType ObjectType.\n        /// </summary>\n        public const uint BoilerStateMachineType = 57;\n\n        /// <summary>\n        /// The identifier for the BoilerInputPipeType ObjectType.\n        /// </summary>\n        public const uint BoilerInputPipeType = 120;\n\n        /// <summary>\n        /// The identifier for the BoilerDrumType ObjectType.\n        /// </summary>\n        public const uint BoilerDrumType = 135;\n\n        /// <summary>\n        /// The identifier for the BoilerOutputPipeType ObjectType.\n        /// </summary>\n        public const uint BoilerOutputPipeType = 143;\n\n        /// <summary>\n        /// The identifier for the BoilerType ObjectType.\n        /// </summary>\n        public const uint BoilerType = 151;\n    }\n    #endregion\n\n    #region ReferenceType Identifiers\n    /// <summary>\n    /// A class that declares constants for all ReferenceTypes in the Model Design.\n    /// </summary>\n    /// <exclude />\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"Opc.Ua.ModelCompiler\", \"1.0.0.0\")]\n    public static partial class ReferenceTypes\n    {\n        /// <summary>\n        /// The identifier for the FlowTo ReferenceType.\n        /// </summary>\n        public const uint FlowTo = 1;\n\n        /// <summary>\n        /// The identifier for the HotFlowTo ReferenceType.\n        /// </summary>\n        public const uint HotFlowTo = 2;\n\n        /// <summary>\n        /// The identifier for the SignalTo ReferenceType.\n        /// </summary>\n        public const uint SignalTo = 3;\n    }\n    #endregion\n\n    #region Variable Identifiers\n    /// <summary>\n    /// A class that declares constants for all Variables in the Model Design.\n    /// </summary>\n    /// <exclude />\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"Opc.Ua.ModelCompiler\", \"1.0.0.0\")]\n    public static partial class Variables\n    {\n        /// <summary>\n        /// The identifier for the GenericControllerType_Measurement Variable.\n        /// </summary>\n        public const uint GenericControllerType_Measurement = 5;\n\n        /// <summary>\n        /// The identifier for the GenericControllerType_SetPoint Variable.\n        /// </summary>\n        public const uint GenericControllerType_SetPoint = 6;\n\n        /// <summary>\n        /// The identifier for the GenericControllerType_ControlOut Variable.\n        /// </summary>\n        public const uint GenericControllerType_ControlOut = 7;\n\n        /// <summary>\n        /// The identifier for the GenericSensorType_Output Variable.\n        /// </summary>\n        public const uint GenericSensorType_Output = 9;\n\n        /// <summary>\n        /// The identifier for the GenericSensorType_Output_EURange Variable.\n        /// </summary>\n        public const uint GenericSensorType_Output_EURange = 13;\n\n        /// <summary>\n        /// The identifier for the GenericActuatorType_Input Variable.\n        /// </summary>\n        public const uint GenericActuatorType_Input = 16;\n\n        /// <summary>\n        /// The identifier for the GenericActuatorType_Input_EURange Variable.\n        /// </summary>\n        public const uint GenericActuatorType_Input_EURange = 20;\n\n        /// <summary>\n        /// The identifier for the CustomControllerType_Input1 Variable.\n        /// </summary>\n        public const uint CustomControllerType_Input1 = 23;\n\n        /// <summary>\n        /// The identifier for the CustomControllerType_Input2 Variable.\n        /// </summary>\n        public const uint CustomControllerType_Input2 = 24;\n\n        /// <summary>\n        /// The identifier for the CustomControllerType_Input3 Variable.\n        /// </summary>\n        public const uint CustomControllerType_Input3 = 25;\n\n        /// <summary>\n        /// The identifier for the CustomControllerType_ControlOut Variable.\n        /// </summary>\n        public const uint CustomControllerType_ControlOut = 26;\n\n        /// <summary>\n        /// The identifier for the CustomControllerType_DescriptionX Variable.\n        /// </summary>\n        public const uint CustomControllerType_DescriptionX = 27;\n\n        /// <summary>\n        /// The identifier for the BoilerStateMachineType_UpdateRate Variable.\n        /// </summary>\n        public const uint BoilerStateMachineType_UpdateRate = 119;\n\n        /// <summary>\n        /// The identifier for the BoilerType_InputPipe_FlowTransmitter1_Output Variable.\n        /// </summary>\n        public const uint BoilerType_InputPipe_FlowTransmitter1_Output = 154;\n\n        /// <summary>\n        /// The identifier for the BoilerType_InputPipe_Valve_Input Variable.\n        /// </summary>\n        public const uint BoilerType_InputPipe_Valve_Input = 161;\n\n        /// <summary>\n        /// The identifier for the BoilerType_Drum_LevelIndicator_Output Variable.\n        /// </summary>\n        public const uint BoilerType_Drum_LevelIndicator_Output = 169;\n\n        /// <summary>\n        /// The identifier for the BoilerType_OutputPipe_FlowTransmitter2_Output Variable.\n        /// </summary>\n        public const uint BoilerType_OutputPipe_FlowTransmitter2_Output = 177;\n\n        /// <summary>\n        /// The identifier for the BoilerType_FlowController_Measurement Variable.\n        /// </summary>\n        public const uint BoilerType_FlowController_Measurement = 184;\n\n        /// <summary>\n        /// The identifier for the BoilerType_FlowController_SetPoint Variable.\n        /// </summary>\n        public const uint BoilerType_FlowController_SetPoint = 185;\n\n        /// <summary>\n        /// The identifier for the BoilerType_FlowController_ControlOut Variable.\n        /// </summary>\n        public const uint BoilerType_FlowController_ControlOut = 186;\n\n        /// <summary>\n        /// The identifier for the BoilerType_LevelController_Measurement Variable.\n        /// </summary>\n        public const uint BoilerType_LevelController_Measurement = 188;\n\n        /// <summary>\n        /// The identifier for the BoilerType_LevelController_SetPoint Variable.\n        /// </summary>\n        public const uint BoilerType_LevelController_SetPoint = 189;\n\n        /// <summary>\n        /// The identifier for the BoilerType_LevelController_ControlOut Variable.\n        /// </summary>\n        public const uint BoilerType_LevelController_ControlOut = 190;\n\n        /// <summary>\n        /// The identifier for the BoilerType_CustomController_Input1 Variable.\n        /// </summary>\n        public const uint BoilerType_CustomController_Input1 = 192;\n\n        /// <summary>\n        /// The identifier for the BoilerType_CustomController_Input2 Variable.\n        /// </summary>\n        public const uint BoilerType_CustomController_Input2 = 193;\n\n        /// <summary>\n        /// The identifier for the BoilerType_CustomController_Input3 Variable.\n        /// </summary>\n        public const uint BoilerType_CustomController_Input3 = 194;\n\n        /// <summary>\n        /// The identifier for the BoilerType_CustomController_ControlOut Variable.\n        /// </summary>\n        public const uint BoilerType_CustomController_ControlOut = 195;\n\n        /// <summary>\n        /// The identifier for the BoilerType_CustomController_DescriptionX Variable.\n        /// </summary>\n        public const uint BoilerType_CustomController_DescriptionX = 196;\n\n        /// <summary>\n        /// The identifier for the BoilerType_Simulation_UpdateRate Variable.\n        /// </summary>\n        public const uint BoilerType_Simulation_UpdateRate = 229;\n    }\n    #endregion\n\n    #region Object Node Identifiers\n    /// <summary>\n    /// A class that declares constants for all Objects in the Model Design.\n    /// </summary>\n    /// <exclude />\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"Opc.Ua.ModelCompiler\", \"1.0.0.0\")]\n    public static partial class ObjectIds\n    {\n        /// <summary>\n        /// The identifier for the BoilerInputPipeType_FlowTransmitter1 Object.\n        /// </summary>\n        public static readonly ExpandedNodeId BoilerInputPipeType_FlowTransmitter1 = new ExpandedNodeId(tempuri.org.UA.Examples.BoilerType.Objects.BoilerInputPipeType_FlowTransmitter1, tempuri.org.UA.Examples.BoilerType.Namespaces.BoilerType);\n\n        /// <summary>\n        /// The identifier for the BoilerInputPipeType_Valve Object.\n        /// </summary>\n        public static readonly ExpandedNodeId BoilerInputPipeType_Valve = new ExpandedNodeId(tempuri.org.UA.Examples.BoilerType.Objects.BoilerInputPipeType_Valve, tempuri.org.UA.Examples.BoilerType.Namespaces.BoilerType);\n\n        /// <summary>\n        /// The identifier for the BoilerDrumType_LevelIndicator Object.\n        /// </summary>\n        public static readonly ExpandedNodeId BoilerDrumType_LevelIndicator = new ExpandedNodeId(tempuri.org.UA.Examples.BoilerType.Objects.BoilerDrumType_LevelIndicator, tempuri.org.UA.Examples.BoilerType.Namespaces.BoilerType);\n\n        /// <summary>\n        /// The identifier for the BoilerOutputPipeType_FlowTransmitter2 Object.\n        /// </summary>\n        public static readonly ExpandedNodeId BoilerOutputPipeType_FlowTransmitter2 = new ExpandedNodeId(tempuri.org.UA.Examples.BoilerType.Objects.BoilerOutputPipeType_FlowTransmitter2, tempuri.org.UA.Examples.BoilerType.Namespaces.BoilerType);\n\n        /// <summary>\n        /// The identifier for the BoilerType_InputPipe Object.\n        /// </summary>\n        public static readonly ExpandedNodeId BoilerType_InputPipe = new ExpandedNodeId(tempuri.org.UA.Examples.BoilerType.Objects.BoilerType_InputPipe, tempuri.org.UA.Examples.BoilerType.Namespaces.BoilerType);\n\n        /// <summary>\n        /// The identifier for the BoilerType_InputPipe_FlowTransmitter1 Object.\n        /// </summary>\n        public static readonly ExpandedNodeId BoilerType_InputPipe_FlowTransmitter1 = new ExpandedNodeId(tempuri.org.UA.Examples.BoilerType.Objects.BoilerType_InputPipe_FlowTransmitter1, tempuri.org.UA.Examples.BoilerType.Namespaces.BoilerType);\n\n        /// <summary>\n        /// The identifier for the BoilerType_InputPipe_Valve Object.\n        /// </summary>\n        public static readonly ExpandedNodeId BoilerType_InputPipe_Valve = new ExpandedNodeId(tempuri.org.UA.Examples.BoilerType.Objects.BoilerType_InputPipe_Valve, tempuri.org.UA.Examples.BoilerType.Namespaces.BoilerType);\n\n        /// <summary>\n        /// The identifier for the BoilerType_Drum Object.\n        /// </summary>\n        public static readonly ExpandedNodeId BoilerType_Drum = new ExpandedNodeId(tempuri.org.UA.Examples.BoilerType.Objects.BoilerType_Drum, tempuri.org.UA.Examples.BoilerType.Namespaces.BoilerType);\n\n        /// <summary>\n        /// The identifier for the BoilerType_Drum_LevelIndicator Object.\n        /// </summary>\n        public static readonly ExpandedNodeId BoilerType_Drum_LevelIndicator = new ExpandedNodeId(tempuri.org.UA.Examples.BoilerType.Objects.BoilerType_Drum_LevelIndicator, tempuri.org.UA.Examples.BoilerType.Namespaces.BoilerType);\n\n        /// <summary>\n        /// The identifier for the BoilerType_OutputPipe Object.\n        /// </summary>\n        public static readonly ExpandedNodeId BoilerType_OutputPipe = new ExpandedNodeId(tempuri.org.UA.Examples.BoilerType.Objects.BoilerType_OutputPipe, tempuri.org.UA.Examples.BoilerType.Namespaces.BoilerType);\n\n        /// <summary>\n        /// The identifier for the BoilerType_OutputPipe_FlowTransmitter2 Object.\n        /// </summary>\n        public static readonly ExpandedNodeId BoilerType_OutputPipe_FlowTransmitter2 = new ExpandedNodeId(tempuri.org.UA.Examples.BoilerType.Objects.BoilerType_OutputPipe_FlowTransmitter2, tempuri.org.UA.Examples.BoilerType.Namespaces.BoilerType);\n\n        /// <summary>\n        /// The identifier for the BoilerType_FlowController Object.\n        /// </summary>\n        public static readonly ExpandedNodeId BoilerType_FlowController = new ExpandedNodeId(tempuri.org.UA.Examples.BoilerType.Objects.BoilerType_FlowController, tempuri.org.UA.Examples.BoilerType.Namespaces.BoilerType);\n\n        /// <summary>\n        /// The identifier for the BoilerType_LevelController Object.\n        /// </summary>\n        public static readonly ExpandedNodeId BoilerType_LevelController = new ExpandedNodeId(tempuri.org.UA.Examples.BoilerType.Objects.BoilerType_LevelController, tempuri.org.UA.Examples.BoilerType.Namespaces.BoilerType);\n\n        /// <summary>\n        /// The identifier for the BoilerType_CustomController Object.\n        /// </summary>\n        public static readonly ExpandedNodeId BoilerType_CustomController = new ExpandedNodeId(tempuri.org.UA.Examples.BoilerType.Objects.BoilerType_CustomController, tempuri.org.UA.Examples.BoilerType.Namespaces.BoilerType);\n\n        /// <summary>\n        /// The identifier for the BoilerType_Simulation Object.\n        /// </summary>\n        public static readonly ExpandedNodeId BoilerType_Simulation = new ExpandedNodeId(tempuri.org.UA.Examples.BoilerType.Objects.BoilerType_Simulation, tempuri.org.UA.Examples.BoilerType.Namespaces.BoilerType);\n    }\n    #endregion\n\n    #region ObjectType Node Identifiers\n    /// <summary>\n    /// A class that declares constants for all ObjectTypes in the Model Design.\n    /// </summary>\n    /// <exclude />\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"Opc.Ua.ModelCompiler\", \"1.0.0.0\")]\n    public static partial class ObjectTypeIds\n    {\n        /// <summary>\n        /// The identifier for the GenericControllerType ObjectType.\n        /// </summary>\n        public static readonly ExpandedNodeId GenericControllerType = new ExpandedNodeId(tempuri.org.UA.Examples.BoilerType.ObjectTypes.GenericControllerType, tempuri.org.UA.Examples.BoilerType.Namespaces.BoilerType);\n\n        /// <summary>\n        /// The identifier for the GenericSensorType ObjectType.\n        /// </summary>\n        public static readonly ExpandedNodeId GenericSensorType = new ExpandedNodeId(tempuri.org.UA.Examples.BoilerType.ObjectTypes.GenericSensorType, tempuri.org.UA.Examples.BoilerType.Namespaces.BoilerType);\n\n        /// <summary>\n        /// The identifier for the GenericActuatorType ObjectType.\n        /// </summary>\n        public static readonly ExpandedNodeId GenericActuatorType = new ExpandedNodeId(tempuri.org.UA.Examples.BoilerType.ObjectTypes.GenericActuatorType, tempuri.org.UA.Examples.BoilerType.Namespaces.BoilerType);\n\n        /// <summary>\n        /// The identifier for the CustomControllerType ObjectType.\n        /// </summary>\n        public static readonly ExpandedNodeId CustomControllerType = new ExpandedNodeId(tempuri.org.UA.Examples.BoilerType.ObjectTypes.CustomControllerType, tempuri.org.UA.Examples.BoilerType.Namespaces.BoilerType);\n\n        /// <summary>\n        /// The identifier for the ValveType ObjectType.\n        /// </summary>\n        public static readonly ExpandedNodeId ValveType = new ExpandedNodeId(tempuri.org.UA.Examples.BoilerType.ObjectTypes.ValveType, tempuri.org.UA.Examples.BoilerType.Namespaces.BoilerType);\n\n        /// <summary>\n        /// The identifier for the LevelControllerType ObjectType.\n        /// </summary>\n        public static readonly ExpandedNodeId LevelControllerType = new ExpandedNodeId(tempuri.org.UA.Examples.BoilerType.ObjectTypes.LevelControllerType, tempuri.org.UA.Examples.BoilerType.Namespaces.BoilerType);\n\n        /// <summary>\n        /// The identifier for the FlowControllerType ObjectType.\n        /// </summary>\n        public static readonly ExpandedNodeId FlowControllerType = new ExpandedNodeId(tempuri.org.UA.Examples.BoilerType.ObjectTypes.FlowControllerType, tempuri.org.UA.Examples.BoilerType.Namespaces.BoilerType);\n\n        /// <summary>\n        /// The identifier for the LevelIndicatorType ObjectType.\n        /// </summary>\n        public static readonly ExpandedNodeId LevelIndicatorType = new ExpandedNodeId(tempuri.org.UA.Examples.BoilerType.ObjectTypes.LevelIndicatorType, tempuri.org.UA.Examples.BoilerType.Namespaces.BoilerType);\n\n        /// <summary>\n        /// The identifier for the FlowTransmitterType ObjectType.\n        /// </summary>\n        public static readonly ExpandedNodeId FlowTransmitterType = new ExpandedNodeId(tempuri.org.UA.Examples.BoilerType.ObjectTypes.FlowTransmitterType, tempuri.org.UA.Examples.BoilerType.Namespaces.BoilerType);\n\n        /// <summary>\n        /// The identifier for the BoilerStateMachineType ObjectType.\n        /// </summary>\n        public static readonly ExpandedNodeId BoilerStateMachineType = new ExpandedNodeId(tempuri.org.UA.Examples.BoilerType.ObjectTypes.BoilerStateMachineType, tempuri.org.UA.Examples.BoilerType.Namespaces.BoilerType);\n\n        /// <summary>\n        /// The identifier for the BoilerInputPipeType ObjectType.\n        /// </summary>\n        public static readonly ExpandedNodeId BoilerInputPipeType = new ExpandedNodeId(tempuri.org.UA.Examples.BoilerType.ObjectTypes.BoilerInputPipeType, tempuri.org.UA.Examples.BoilerType.Namespaces.BoilerType);\n\n        /// <summary>\n        /// The identifier for the BoilerDrumType ObjectType.\n        /// </summary>\n        public static readonly ExpandedNodeId BoilerDrumType = new ExpandedNodeId(tempuri.org.UA.Examples.BoilerType.ObjectTypes.BoilerDrumType, tempuri.org.UA.Examples.BoilerType.Namespaces.BoilerType);\n\n        /// <summary>\n        /// The identifier for the BoilerOutputPipeType ObjectType.\n        /// </summary>\n        public static readonly ExpandedNodeId BoilerOutputPipeType = new ExpandedNodeId(tempuri.org.UA.Examples.BoilerType.ObjectTypes.BoilerOutputPipeType, tempuri.org.UA.Examples.BoilerType.Namespaces.BoilerType);\n\n        /// <summary>\n        /// The identifier for the BoilerType ObjectType.\n        /// </summary>\n        public static readonly ExpandedNodeId BoilerType = new ExpandedNodeId(tempuri.org.UA.Examples.BoilerType.ObjectTypes.BoilerType, tempuri.org.UA.Examples.BoilerType.Namespaces.BoilerType);\n    }\n    #endregion\n\n    #region ReferenceType Node Identifiers\n    /// <summary>\n    /// A class that declares constants for all ReferenceTypes in the Model Design.\n    /// </summary>\n    /// <exclude />\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"Opc.Ua.ModelCompiler\", \"1.0.0.0\")]\n    public static partial class ReferenceTypeIds\n    {\n        /// <summary>\n        /// The identifier for the FlowTo ReferenceType.\n        /// </summary>\n        public static readonly ExpandedNodeId FlowTo = new ExpandedNodeId(tempuri.org.UA.Examples.BoilerType.ReferenceTypes.FlowTo, tempuri.org.UA.Examples.BoilerType.Namespaces.BoilerType);\n\n        /// <summary>\n        /// The identifier for the HotFlowTo ReferenceType.\n        /// </summary>\n        public static readonly ExpandedNodeId HotFlowTo = new ExpandedNodeId(tempuri.org.UA.Examples.BoilerType.ReferenceTypes.HotFlowTo, tempuri.org.UA.Examples.BoilerType.Namespaces.BoilerType);\n\n        /// <summary>\n        /// The identifier for the SignalTo ReferenceType.\n        /// </summary>\n        public static readonly ExpandedNodeId SignalTo = new ExpandedNodeId(tempuri.org.UA.Examples.BoilerType.ReferenceTypes.SignalTo, tempuri.org.UA.Examples.BoilerType.Namespaces.BoilerType);\n    }\n    #endregion\n\n    #region Variable Node Identifiers\n    /// <summary>\n    /// A class that declares constants for all Variables in the Model Design.\n    /// </summary>\n    /// <exclude />\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"Opc.Ua.ModelCompiler\", \"1.0.0.0\")]\n    public static partial class VariableIds\n    {\n        /// <summary>\n        /// The identifier for the GenericControllerType_Measurement Variable.\n        /// </summary>\n        public static readonly ExpandedNodeId GenericControllerType_Measurement = new ExpandedNodeId(tempuri.org.UA.Examples.BoilerType.Variables.GenericControllerType_Measurement, tempuri.org.UA.Examples.BoilerType.Namespaces.BoilerType);\n\n        /// <summary>\n        /// The identifier for the GenericControllerType_SetPoint Variable.\n        /// </summary>\n        public static readonly ExpandedNodeId GenericControllerType_SetPoint = new ExpandedNodeId(tempuri.org.UA.Examples.BoilerType.Variables.GenericControllerType_SetPoint, tempuri.org.UA.Examples.BoilerType.Namespaces.BoilerType);\n\n        /// <summary>\n        /// The identifier for the GenericControllerType_ControlOut Variable.\n        /// </summary>\n        public static readonly ExpandedNodeId GenericControllerType_ControlOut = new ExpandedNodeId(tempuri.org.UA.Examples.BoilerType.Variables.GenericControllerType_ControlOut, tempuri.org.UA.Examples.BoilerType.Namespaces.BoilerType);\n\n        /// <summary>\n        /// The identifier for the GenericSensorType_Output Variable.\n        /// </summary>\n        public static readonly ExpandedNodeId GenericSensorType_Output = new ExpandedNodeId(tempuri.org.UA.Examples.BoilerType.Variables.GenericSensorType_Output, tempuri.org.UA.Examples.BoilerType.Namespaces.BoilerType);\n\n        /// <summary>\n        /// The identifier for the GenericSensorType_Output_EURange Variable.\n        /// </summary>\n        public static readonly ExpandedNodeId GenericSensorType_Output_EURange = new ExpandedNodeId(tempuri.org.UA.Examples.BoilerType.Variables.GenericSensorType_Output_EURange, tempuri.org.UA.Examples.BoilerType.Namespaces.BoilerType);\n\n        /// <summary>\n        /// The identifier for the GenericActuatorType_Input Variable.\n        /// </summary>\n        public static readonly ExpandedNodeId GenericActuatorType_Input = new ExpandedNodeId(tempuri.org.UA.Examples.BoilerType.Variables.GenericActuatorType_Input, tempuri.org.UA.Examples.BoilerType.Namespaces.BoilerType);\n\n        /// <summary>\n        /// The identifier for the GenericActuatorType_Input_EURange Variable.\n        /// </summary>\n        public static readonly ExpandedNodeId GenericActuatorType_Input_EURange = new ExpandedNodeId(tempuri.org.UA.Examples.BoilerType.Variables.GenericActuatorType_Input_EURange, tempuri.org.UA.Examples.BoilerType.Namespaces.BoilerType);\n\n        /// <summary>\n        /// The identifier for the CustomControllerType_Input1 Variable.\n        /// </summary>\n        public static readonly ExpandedNodeId CustomControllerType_Input1 = new ExpandedNodeId(tempuri.org.UA.Examples.BoilerType.Variables.CustomControllerType_Input1, tempuri.org.UA.Examples.BoilerType.Namespaces.BoilerType);\n\n        /// <summary>\n        /// The identifier for the CustomControllerType_Input2 Variable.\n        /// </summary>\n        public static readonly ExpandedNodeId CustomControllerType_Input2 = new ExpandedNodeId(tempuri.org.UA.Examples.BoilerType.Variables.CustomControllerType_Input2, tempuri.org.UA.Examples.BoilerType.Namespaces.BoilerType);\n\n        /// <summary>\n        /// The identifier for the CustomControllerType_Input3 Variable.\n        /// </summary>\n        public static readonly ExpandedNodeId CustomControllerType_Input3 = new ExpandedNodeId(tempuri.org.UA.Examples.BoilerType.Variables.CustomControllerType_Input3, tempuri.org.UA.Examples.BoilerType.Namespaces.BoilerType);\n\n        /// <summary>\n        /// The identifier for the CustomControllerType_ControlOut Variable.\n        /// </summary>\n        public static readonly ExpandedNodeId CustomControllerType_ControlOut = new ExpandedNodeId(tempuri.org.UA.Examples.BoilerType.Variables.CustomControllerType_ControlOut, tempuri.org.UA.Examples.BoilerType.Namespaces.BoilerType);\n\n        /// <summary>\n        /// The identifier for the CustomControllerType_DescriptionX Variable.\n        /// </summary>\n        public static readonly ExpandedNodeId CustomControllerType_DescriptionX = new ExpandedNodeId(tempuri.org.UA.Examples.BoilerType.Variables.CustomControllerType_DescriptionX, tempuri.org.UA.Examples.BoilerType.Namespaces.BoilerType);\n\n        /// <summary>\n        /// The identifier for the BoilerStateMachineType_UpdateRate Variable.\n        /// </summary>\n        public static readonly ExpandedNodeId BoilerStateMachineType_UpdateRate = new ExpandedNodeId(tempuri.org.UA.Examples.BoilerType.Variables.BoilerStateMachineType_UpdateRate, tempuri.org.UA.Examples.BoilerType.Namespaces.BoilerType);\n\n        /// <summary>\n        /// The identifier for the BoilerType_InputPipe_FlowTransmitter1_Output Variable.\n        /// </summary>\n        public static readonly ExpandedNodeId BoilerType_InputPipe_FlowTransmitter1_Output = new ExpandedNodeId(tempuri.org.UA.Examples.BoilerType.Variables.BoilerType_InputPipe_FlowTransmitter1_Output, tempuri.org.UA.Examples.BoilerType.Namespaces.BoilerType);\n\n        /// <summary>\n        /// The identifier for the BoilerType_InputPipe_Valve_Input Variable.\n        /// </summary>\n        public static readonly ExpandedNodeId BoilerType_InputPipe_Valve_Input = new ExpandedNodeId(tempuri.org.UA.Examples.BoilerType.Variables.BoilerType_InputPipe_Valve_Input, tempuri.org.UA.Examples.BoilerType.Namespaces.BoilerType);\n\n        /// <summary>\n        /// The identifier for the BoilerType_Drum_LevelIndicator_Output Variable.\n        /// </summary>\n        public static readonly ExpandedNodeId BoilerType_Drum_LevelIndicator_Output = new ExpandedNodeId(tempuri.org.UA.Examples.BoilerType.Variables.BoilerType_Drum_LevelIndicator_Output, tempuri.org.UA.Examples.BoilerType.Namespaces.BoilerType);\n\n        /// <summary>\n        /// The identifier for the BoilerType_OutputPipe_FlowTransmitter2_Output Variable.\n        /// </summary>\n        public static readonly ExpandedNodeId BoilerType_OutputPipe_FlowTransmitter2_Output = new ExpandedNodeId(tempuri.org.UA.Examples.BoilerType.Variables.BoilerType_OutputPipe_FlowTransmitter2_Output, tempuri.org.UA.Examples.BoilerType.Namespaces.BoilerType);\n\n        /// <summary>\n        /// The identifier for the BoilerType_FlowController_Measurement Variable.\n        /// </summary>\n        public static readonly ExpandedNodeId BoilerType_FlowController_Measurement = new ExpandedNodeId(tempuri.org.UA.Examples.BoilerType.Variables.BoilerType_FlowController_Measurement, tempuri.org.UA.Examples.BoilerType.Namespaces.BoilerType);\n\n        /// <summary>\n        /// The identifier for the BoilerType_FlowController_SetPoint Variable.\n        /// </summary>\n        public static readonly ExpandedNodeId BoilerType_FlowController_SetPoint = new ExpandedNodeId(tempuri.org.UA.Examples.BoilerType.Variables.BoilerType_FlowController_SetPoint, tempuri.org.UA.Examples.BoilerType.Namespaces.BoilerType);\n\n        /// <summary>\n        /// The identifier for the BoilerType_FlowController_ControlOut Variable.\n        /// </summary>\n        public static readonly ExpandedNodeId BoilerType_FlowController_ControlOut = new ExpandedNodeId(tempuri.org.UA.Examples.BoilerType.Variables.BoilerType_FlowController_ControlOut, tempuri.org.UA.Examples.BoilerType.Namespaces.BoilerType);\n\n        /// <summary>\n        /// The identifier for the BoilerType_LevelController_Measurement Variable.\n        /// </summary>\n        public static readonly ExpandedNodeId BoilerType_LevelController_Measurement = new ExpandedNodeId(tempuri.org.UA.Examples.BoilerType.Variables.BoilerType_LevelController_Measurement, tempuri.org.UA.Examples.BoilerType.Namespaces.BoilerType);\n\n        /// <summary>\n        /// The identifier for the BoilerType_LevelController_SetPoint Variable.\n        /// </summary>\n        public static readonly ExpandedNodeId BoilerType_LevelController_SetPoint = new ExpandedNodeId(tempuri.org.UA.Examples.BoilerType.Variables.BoilerType_LevelController_SetPoint, tempuri.org.UA.Examples.BoilerType.Namespaces.BoilerType);\n\n        /// <summary>\n        /// The identifier for the BoilerType_LevelController_ControlOut Variable.\n        /// </summary>\n        public static readonly ExpandedNodeId BoilerType_LevelController_ControlOut = new ExpandedNodeId(tempuri.org.UA.Examples.BoilerType.Variables.BoilerType_LevelController_ControlOut, tempuri.org.UA.Examples.BoilerType.Namespaces.BoilerType);\n\n        /// <summary>\n        /// The identifier for the BoilerType_CustomController_Input1 Variable.\n        /// </summary>\n        public static readonly ExpandedNodeId BoilerType_CustomController_Input1 = new ExpandedNodeId(tempuri.org.UA.Examples.BoilerType.Variables.BoilerType_CustomController_Input1, tempuri.org.UA.Examples.BoilerType.Namespaces.BoilerType);\n\n        /// <summary>\n        /// The identifier for the BoilerType_CustomController_Input2 Variable.\n        /// </summary>\n        public static readonly ExpandedNodeId BoilerType_CustomController_Input2 = new ExpandedNodeId(tempuri.org.UA.Examples.BoilerType.Variables.BoilerType_CustomController_Input2, tempuri.org.UA.Examples.BoilerType.Namespaces.BoilerType);\n\n        /// <summary>\n        /// The identifier for the BoilerType_CustomController_Input3 Variable.\n        /// </summary>\n        public static readonly ExpandedNodeId BoilerType_CustomController_Input3 = new ExpandedNodeId(tempuri.org.UA.Examples.BoilerType.Variables.BoilerType_CustomController_Input3, tempuri.org.UA.Examples.BoilerType.Namespaces.BoilerType);\n\n        /// <summary>\n        /// The identifier for the BoilerType_CustomController_ControlOut Variable.\n        /// </summary>\n        public static readonly ExpandedNodeId BoilerType_CustomController_ControlOut = new ExpandedNodeId(tempuri.org.UA.Examples.BoilerType.Variables.BoilerType_CustomController_ControlOut, tempuri.org.UA.Examples.BoilerType.Namespaces.BoilerType);\n\n        /// <summary>\n        /// The identifier for the BoilerType_CustomController_DescriptionX Variable.\n        /// </summary>\n        public static readonly ExpandedNodeId BoilerType_CustomController_DescriptionX = new ExpandedNodeId(tempuri.org.UA.Examples.BoilerType.Variables.BoilerType_CustomController_DescriptionX, tempuri.org.UA.Examples.BoilerType.Namespaces.BoilerType);\n\n        /// <summary>\n        /// The identifier for the BoilerType_Simulation_UpdateRate Variable.\n        /// </summary>\n        public static readonly ExpandedNodeId BoilerType_Simulation_UpdateRate = new ExpandedNodeId(tempuri.org.UA.Examples.BoilerType.Variables.BoilerType_Simulation_UpdateRate, tempuri.org.UA.Examples.BoilerType.Namespaces.BoilerType);\n    }\n    #endregion\n\n    #region BrowseName Declarations\n    /// <summary>\n    /// Declares all of the BrowseNames used in the Model Design.\n    /// </summary>\n    public static partial class BrowseNames\n    {\n        /// <summary>\n        /// The BrowseName for the BoilerDrumType component.\n        /// </summary>\n        public const string BoilerDrumType = \"BoilerDrumType\";\n\n        /// <summary>\n        /// The BrowseName for the BoilerInputPipeType component.\n        /// </summary>\n        public const string BoilerInputPipeType = \"BoilerInputPipeType\";\n\n        /// <summary>\n        /// The BrowseName for the BoilerOutputPipeType component.\n        /// </summary>\n        public const string BoilerOutputPipeType = \"BoilerOutputPipeType\";\n\n        /// <summary>\n        /// The BrowseName for the BoilerStateMachineType component.\n        /// </summary>\n        public const string BoilerStateMachineType = \"BoilerStateMachineType\";\n\n        /// <summary>\n        /// The BrowseName for the BoilerType component.\n        /// </summary>\n        public const string BoilerType = \"BoilerType\";\n\n        /// <summary>\n        /// The BrowseName for the ControlOut component.\n        /// </summary>\n        public const string ControlOut = \"ControlOut\";\n\n        /// <summary>\n        /// The BrowseName for the CustomController component.\n        /// </summary>\n        public const string CustomController = \"CCX001\";\n\n        /// <summary>\n        /// The BrowseName for the CustomControllerType component.\n        /// </summary>\n        public const string CustomControllerType = \"CustomControllerType\";\n\n        /// <summary>\n        /// The BrowseName for the DescriptionX component.\n        /// </summary>\n        public const string DescriptionX = \"Description\";\n\n        /// <summary>\n        /// The BrowseName for the Drum component.\n        /// </summary>\n        public const string Drum = \"DrumX001\";\n\n        /// <summary>\n        /// The BrowseName for the FlowController component.\n        /// </summary>\n        public const string FlowController = \"FCX001\";\n\n        /// <summary>\n        /// The BrowseName for the FlowControllerType component.\n        /// </summary>\n        public const string FlowControllerType = \"FlowControllerType\";\n\n        /// <summary>\n        /// The BrowseName for the FlowTo component.\n        /// </summary>\n        public const string FlowTo = \"FlowTo\";\n\n        /// <summary>\n        /// The BrowseName for the FlowTransmitter1 component.\n        /// </summary>\n        public const string FlowTransmitter1 = \"FTX001\";\n\n        /// <summary>\n        /// The BrowseName for the FlowTransmitter2 component.\n        /// </summary>\n        public const string FlowTransmitter2 = \"FTX002\";\n\n        /// <summary>\n        /// The BrowseName for the FlowTransmitterType component.\n        /// </summary>\n        public const string FlowTransmitterType = \"FlowTransmitterType\";\n\n        /// <summary>\n        /// The BrowseName for the GenericActuatorType component.\n        /// </summary>\n        public const string GenericActuatorType = \"GenericActuatorType\";\n\n        /// <summary>\n        /// The BrowseName for the GenericControllerType component.\n        /// </summary>\n        public const string GenericControllerType = \"GenericControllerType\";\n\n        /// <summary>\n        /// The BrowseName for the GenericSensorType component.\n        /// </summary>\n        public const string GenericSensorType = \"GenericSensorType\";\n\n        /// <summary>\n        /// The BrowseName for the HotFlowTo component.\n        /// </summary>\n        public const string HotFlowTo = \"HotFlowTo\";\n\n        /// <summary>\n        /// The BrowseName for the Input component.\n        /// </summary>\n        public const string Input = \"Input\";\n\n        /// <summary>\n        /// The BrowseName for the Input1 component.\n        /// </summary>\n        public const string Input1 = \"Input1\";\n\n        /// <summary>\n        /// The BrowseName for the Input2 component.\n        /// </summary>\n        public const string Input2 = \"Input2\";\n\n        /// <summary>\n        /// The BrowseName for the Input3 component.\n        /// </summary>\n        public const string Input3 = \"Input3\";\n\n        /// <summary>\n        /// The BrowseName for the InputPipe component.\n        /// </summary>\n        public const string InputPipe = \"PipeX001\";\n\n        /// <summary>\n        /// The BrowseName for the LevelController component.\n        /// </summary>\n        public const string LevelController = \"LCX001\";\n\n        /// <summary>\n        /// The BrowseName for the LevelControllerType component.\n        /// </summary>\n        public const string LevelControllerType = \"LevelControllerType\";\n\n        /// <summary>\n        /// The BrowseName for the LevelIndicator component.\n        /// </summary>\n        public const string LevelIndicator = \"LIX001\";\n\n        /// <summary>\n        /// The BrowseName for the LevelIndicatorType component.\n        /// </summary>\n        public const string LevelIndicatorType = \"LevelIndicatorType\";\n\n        /// <summary>\n        /// The BrowseName for the Measurement component.\n        /// </summary>\n        public const string Measurement = \"Measurement\";\n\n        /// <summary>\n        /// The BrowseName for the Output component.\n        /// </summary>\n        public const string Output = \"Output\";\n\n        /// <summary>\n        /// The BrowseName for the OutputPipe component.\n        /// </summary>\n        public const string OutputPipe = \"PipeX002\";\n\n        /// <summary>\n        /// The BrowseName for the SetPoint component.\n        /// </summary>\n        public const string SetPoint = \"SetPoint\";\n\n        /// <summary>\n        /// The BrowseName for the SignalTo component.\n        /// </summary>\n        public const string SignalTo = \"SignalTo\";\n\n        /// <summary>\n        /// The BrowseName for the Simulation component.\n        /// </summary>\n        public const string Simulation = \"Simulation\";\n\n        /// <summary>\n        /// The BrowseName for the UpdateRate component.\n        /// </summary>\n        public const string UpdateRate = \"UpdateRate\";\n\n        /// <summary>\n        /// The BrowseName for the Valve component.\n        /// </summary>\n        public const string Valve = \"ValveX001\";\n\n        /// <summary>\n        /// The BrowseName for the ValveType component.\n        /// </summary>\n        public const string ValveType = \"ValveType\";\n    }\n    #endregion\n\n    #region Namespace Declarations\n    /// <summary>\n    /// Defines constants for all namespaces referenced by the model design.\n    /// </summary>\n    public static partial class Namespaces\n    {\n        /// <summary>\n        /// The URI for the OpcUa namespace (.NET code namespace is 'Opc.Ua').\n        /// </summary>\n        public const string OpcUa = \"http://opcfoundation.org/UA/\";\n\n        /// <summary>\n        /// The URI for the OpcUaXsd namespace (.NET code namespace is 'Opc.Ua').\n        /// </summary>\n        public const string OpcUaXsd = \"http://opcfoundation.org/UA/2008/02/Types.xsd\";\n\n        /// <summary>\n        /// The URI for the BoilerType namespace (.NET code namespace is 'tempuri.org.UA.Examples.BoilerType').\n        /// </summary>\n        public const string BoilerType = \"http://tempuri.org/UA/Examples/BoilerType\";\n\n        /// <summary>\n        /// The URI for the BoilerTypeXsd namespace (.NET code namespace is 'tempuri.org.UA.Examples.BoilerType').\n        /// </summary>\n        public const string BoilerTypeXsd = \"http://tempuri.org/UA/Examples/BoilerType/Types.xsd\";\n    }\n    #endregion\n\n    #region GenericControllerState Class\n    #if (!OPCUA_EXCLUDE_GenericControllerState)\n    /// <summary>\n    /// Stores an instance of the GenericControllerType ObjectType.\n    /// </summary>\n    /// <exclude />\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"Opc.Ua.ModelCompiler\", \"1.0.0.0\")]\n    public partial class GenericControllerState : BaseObjectState\n    {\n        #region Constructors\n        /// <summary>\n        /// Initializes the type with its default attribute values.\n        /// </summary>\n        public GenericControllerState(NodeState parent) : base(parent)\n        {\n        }\n\n        /// <summary>\n        /// Returns the id of the default type definition node for the instance.\n        /// </summary>\n        protected override NodeId GetDefaultTypeDefinitionId(NamespaceTable namespaceUris)\n        {\n            return Opc.Ua.NodeId.Create(tempuri.org.UA.Examples.BoilerType.ObjectTypes.GenericControllerType, tempuri.org.UA.Examples.BoilerType.Namespaces.BoilerType, namespaceUris);\n        }\n\n        #if (!OPCUA_EXCLUDE_InitializationStrings)\n        /// <summary>\n        /// Initializes the instance.\n        /// </summary>\n        protected override void Initialize(ISystemContext context)\n        {\n            Initialize(context, InitializationString);\n            InitializeOptionalChildren(context);\n        }\n\n        /// <summary>\n        /// Initializes the any option children defined for the instance.\n        /// </summary>\n        protected override void InitializeOptionalChildren(ISystemContext context)\n        {\n            base.InitializeOptionalChildren(context);\n        }\n\n        #region Initialization String\n        private const string InitializationString =\n           \"AQAAACkAAABodHRwOi8vdGVtcHVyaS5vcmcvVUEvRXhhbXBsZXMvQm9pbGVyVHlwZf////8EYIAAAQAA\" +\n           \"AAEAHQAAAEdlbmVyaWNDb250cm9sbGVyVHlwZUluc3RhbmNlAQEEAAEBBAD/////AwAAABVgiQoCAAAA\" +\n           \"AQALAAAATWVhc3VyZW1lbnQBAQUAAC4ARAUAAAAAC/////8BAf////8AAAAAFWCJCgIAAAABAAgAAABT\" +\n           \"ZXRQb2ludAEBBgAALgBEBgAAAAAL/////wMD/////wAAAAAVYIkKAgAAAAEACgAAAENvbnRyb2xPdXQB\" +\n           \"AQcAAC4ARAcAAAAAC/////8BAf////8AAAAA\";\n        #endregion\n        #endif\n        #endregion\n\n        #region Public Properties\n        /// <summary>\n        /// A description for the Measurement Property.\n        /// </summary>\n        public PropertyState<double> Measurement\n        {\n            get\n            {\n                return m_measurement;\n            }\n\n            set\n            {\n                if (!Object.ReferenceEquals(m_measurement, value))\n                {\n                    ChangeMasks |= NodeStateChangeMasks.Children;\n                }\n\n                m_measurement = value;\n            }\n        }\n\n        /// <summary>\n        /// A description for the SetPoint Property.\n        /// </summary>\n        public PropertyState<double> SetPoint\n        {\n            get\n            {\n                return m_setPoint;\n            }\n\n            set\n            {\n                if (!Object.ReferenceEquals(m_setPoint, value))\n                {\n                    ChangeMasks |= NodeStateChangeMasks.Children;\n                }\n\n                m_setPoint = value;\n            }\n        }\n\n        /// <summary>\n        /// A description for the ControlOut Property.\n        /// </summary>\n        public PropertyState<double> ControlOut\n        {\n            get\n            {\n                return m_controlOut;\n            }\n\n            set\n            {\n                if (!Object.ReferenceEquals(m_controlOut, value))\n                {\n                    ChangeMasks |= NodeStateChangeMasks.Children;\n                }\n\n                m_controlOut = value;\n            }\n        }\n        #endregion\n\n        #region Overridden Methods\n        /// <summary>\n        /// Populates a list with the children that belong to the node.\n        /// </summary>\n        /// <param name=\"context\">The context for the system being accessed.</param>\n        /// <param name=\"children\">The list of children to populate.</param>\n        public override void GetChildren(\n            ISystemContext context,\n            IList<BaseInstanceState> children)\n        {\n            if (m_measurement != null)\n            {\n                children.Add(m_measurement);\n            }\n\n            if (m_setPoint != null)\n            {\n                children.Add(m_setPoint);\n            }\n\n            if (m_controlOut != null)\n            {\n                children.Add(m_controlOut);\n            }\n\n            base.GetChildren(context, children);\n        }\n\n        /// <summary>\n        /// Finds the child with the specified browse name.\n        /// </summary>\n        protected override BaseInstanceState FindChild(\n            ISystemContext context,\n            QualifiedName browseName,\n            bool createOrReplace,\n            BaseInstanceState replacement)\n        {\n            if (QualifiedName.IsNull(browseName))\n            {\n                return null;\n            }\n\n            BaseInstanceState instance = null;\n\n            switch (browseName.Name)\n            {\n                case tempuri.org.UA.Examples.BoilerType.BrowseNames.Measurement:\n                {\n                    if (createOrReplace)\n                    {\n                        if (Measurement == null)\n                        {\n                            if (replacement == null)\n                            {\n                                Measurement = new PropertyState<double>(this);\n                            }\n                            else\n                            {\n                                Measurement = (PropertyState<double>)replacement;\n                            }\n                        }\n                    }\n\n                    instance = Measurement;\n                    break;\n                }\n\n                case tempuri.org.UA.Examples.BoilerType.BrowseNames.SetPoint:\n                {\n                    if (createOrReplace)\n                    {\n                        if (SetPoint == null)\n                        {\n                            if (replacement == null)\n                            {\n                                SetPoint = new PropertyState<double>(this);\n                            }\n                            else\n                            {\n                                SetPoint = (PropertyState<double>)replacement;\n                            }\n                        }\n                    }\n\n                    instance = SetPoint;\n                    break;\n                }\n\n                case tempuri.org.UA.Examples.BoilerType.BrowseNames.ControlOut:\n                {\n                    if (createOrReplace)\n                    {\n                        if (ControlOut == null)\n                        {\n                            if (replacement == null)\n                            {\n                                ControlOut = new PropertyState<double>(this);\n                            }\n                            else\n                            {\n                                ControlOut = (PropertyState<double>)replacement;\n                            }\n                        }\n                    }\n\n                    instance = ControlOut;\n                    break;\n                }\n            }\n\n            if (instance != null)\n            {\n                return instance;\n            }\n\n            return base.FindChild(context, browseName, createOrReplace, replacement);\n        }\n        #endregion\n\n        #region Private Fields\n        private PropertyState<double> m_measurement;\n        private PropertyState<double> m_setPoint;\n        private PropertyState<double> m_controlOut;\n        #endregion\n    }\n    #endif\n    #endregion\n\n    #region GenericSensorState Class\n    #if (!OPCUA_EXCLUDE_GenericSensorState)\n    /// <summary>\n    /// Stores an instance of the GenericSensorType ObjectType.\n    /// </summary>\n    /// <exclude />\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"Opc.Ua.ModelCompiler\", \"1.0.0.0\")]\n    public partial class GenericSensorState : BaseObjectState\n    {\n        #region Constructors\n        /// <summary>\n        /// Initializes the type with its default attribute values.\n        /// </summary>\n        public GenericSensorState(NodeState parent) : base(parent)\n        {\n        }\n\n        /// <summary>\n        /// Returns the id of the default type definition node for the instance.\n        /// </summary>\n        protected override NodeId GetDefaultTypeDefinitionId(NamespaceTable namespaceUris)\n        {\n            return Opc.Ua.NodeId.Create(tempuri.org.UA.Examples.BoilerType.ObjectTypes.GenericSensorType, tempuri.org.UA.Examples.BoilerType.Namespaces.BoilerType, namespaceUris);\n        }\n\n        #if (!OPCUA_EXCLUDE_InitializationStrings)\n        /// <summary>\n        /// Initializes the instance.\n        /// </summary>\n        protected override void Initialize(ISystemContext context)\n        {\n            Initialize(context, InitializationString);\n            InitializeOptionalChildren(context);\n        }\n\n        /// <summary>\n        /// Initializes the any option children defined for the instance.\n        /// </summary>\n        protected override void InitializeOptionalChildren(ISystemContext context)\n        {\n            base.InitializeOptionalChildren(context);\n        }\n\n        #region Initialization String\n        private const string InitializationString =\n           \"AQAAACkAAABodHRwOi8vdGVtcHVyaS5vcmcvVUEvRXhhbXBsZXMvQm9pbGVyVHlwZf////8EYIAAAQAA\" +\n           \"AAEAGQAAAEdlbmVyaWNTZW5zb3JUeXBlSW5zdGFuY2UBAQgAAQEIAP////8BAAAAFWCJCgIAAAABAAYA\" +\n           \"AABPdXRwdXQBAQkAAC8BAEAJCQAAAAAL/////wEB/////wEAAAAVYIkKAgAAAAAABwAAAEVVUmFuZ2UB\" +\n           \"AQ0AAC4ARA0AAAABAHQD/////wEB/////wAAAAA=\";\n        #endregion\n        #endif\n        #endregion\n\n        #region Public Properties\n        /// <summary>\n        /// A description for the Output Variable.\n        /// </summary>\n        public AnalogItemState<double> Output\n        {\n            get\n            {\n                return m_output;\n            }\n\n            set\n            {\n                if (!Object.ReferenceEquals(m_output, value))\n                {\n                    ChangeMasks |= NodeStateChangeMasks.Children;\n                }\n\n                m_output = value;\n            }\n        }\n        #endregion\n\n        #region Overridden Methods\n        /// <summary>\n        /// Populates a list with the children that belong to the node.\n        /// </summary>\n        /// <param name=\"context\">The context for the system being accessed.</param>\n        /// <param name=\"children\">The list of children to populate.</param>\n        public override void GetChildren(\n            ISystemContext context,\n            IList<BaseInstanceState> children)\n        {\n            if (m_output != null)\n            {\n                children.Add(m_output);\n            }\n\n            base.GetChildren(context, children);\n        }\n\n        /// <summary>\n        /// Finds the child with the specified browse name.\n        /// </summary>\n        protected override BaseInstanceState FindChild(\n            ISystemContext context,\n            QualifiedName browseName,\n            bool createOrReplace,\n            BaseInstanceState replacement)\n        {\n            if (QualifiedName.IsNull(browseName))\n            {\n                return null;\n            }\n\n            BaseInstanceState instance = null;\n\n            switch (browseName.Name)\n            {\n                case tempuri.org.UA.Examples.BoilerType.BrowseNames.Output:\n                {\n                    if (createOrReplace)\n                    {\n                        if (Output == null)\n                        {\n                            if (replacement == null)\n                            {\n                                Output = new AnalogItemState<double>(this);\n                            }\n                            else\n                            {\n                                Output = (AnalogItemState<double>)replacement;\n                            }\n                        }\n                    }\n\n                    instance = Output;\n                    break;\n                }\n            }\n\n            if (instance != null)\n            {\n                return instance;\n            }\n\n            return base.FindChild(context, browseName, createOrReplace, replacement);\n        }\n        #endregion\n\n        #region Private Fields\n        private AnalogItemState<double> m_output;\n        #endregion\n    }\n    #endif\n    #endregion\n\n    #region GenericActuatorState Class\n    #if (!OPCUA_EXCLUDE_GenericActuatorState)\n    /// <summary>\n    /// Stores an instance of the GenericActuatorType ObjectType.\n    /// </summary>\n    /// <exclude />\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"Opc.Ua.ModelCompiler\", \"1.0.0.0\")]\n    public partial class GenericActuatorState : BaseObjectState\n    {\n        #region Constructors\n        /// <summary>\n        /// Initializes the type with its default attribute values.\n        /// </summary>\n        public GenericActuatorState(NodeState parent) : base(parent)\n        {\n        }\n\n        /// <summary>\n        /// Returns the id of the default type definition node for the instance.\n        /// </summary>\n        protected override NodeId GetDefaultTypeDefinitionId(NamespaceTable namespaceUris)\n        {\n            return Opc.Ua.NodeId.Create(tempuri.org.UA.Examples.BoilerType.ObjectTypes.GenericActuatorType, tempuri.org.UA.Examples.BoilerType.Namespaces.BoilerType, namespaceUris);\n        }\n\n        #if (!OPCUA_EXCLUDE_InitializationStrings)\n        /// <summary>\n        /// Initializes the instance.\n        /// </summary>\n        protected override void Initialize(ISystemContext context)\n        {\n            Initialize(context, InitializationString);\n            InitializeOptionalChildren(context);\n        }\n\n        /// <summary>\n        /// Initializes the any option children defined for the instance.\n        /// </summary>\n        protected override void InitializeOptionalChildren(ISystemContext context)\n        {\n            base.InitializeOptionalChildren(context);\n        }\n\n        #region Initialization String\n        private const string InitializationString =\n           \"AQAAACkAAABodHRwOi8vdGVtcHVyaS5vcmcvVUEvRXhhbXBsZXMvQm9pbGVyVHlwZf////8EYIAAAQAA\" +\n           \"AAEAGwAAAEdlbmVyaWNBY3R1YXRvclR5cGVJbnN0YW5jZQEBDwABAQ8A/////wEAAAAVYIkKAgAAAAEA\" +\n           \"BQAAAElucHV0AQEQAAAvAQBACRAAAAAAC/////8CAv////8BAAAAFWCJCgIAAAAAAAcAAABFVVJhbmdl\" +\n           \"AQEUAAAuAEQUAAAAAQB0A/////8BAf////8AAAAA\";\n        #endregion\n        #endif\n        #endregion\n\n        #region Public Properties\n        /// <summary>\n        /// A description for the Input Variable.\n        /// </summary>\n        public AnalogItemState<double> Input\n        {\n            get\n            {\n                return m_input;\n            }\n\n            set\n            {\n                if (!Object.ReferenceEquals(m_input, value))\n                {\n                    ChangeMasks |= NodeStateChangeMasks.Children;\n                }\n\n                m_input = value;\n            }\n        }\n        #endregion\n\n        #region Overridden Methods\n        /// <summary>\n        /// Populates a list with the children that belong to the node.\n        /// </summary>\n        /// <param name=\"context\">The context for the system being accessed.</param>\n        /// <param name=\"children\">The list of children to populate.</param>\n        public override void GetChildren(\n            ISystemContext context,\n            IList<BaseInstanceState> children)\n        {\n            if (m_input != null)\n            {\n                children.Add(m_input);\n            }\n\n            base.GetChildren(context, children);\n        }\n\n        /// <summary>\n        /// Finds the child with the specified browse name.\n        /// </summary>\n        protected override BaseInstanceState FindChild(\n            ISystemContext context,\n            QualifiedName browseName,\n            bool createOrReplace,\n            BaseInstanceState replacement)\n        {\n            if (QualifiedName.IsNull(browseName))\n            {\n                return null;\n            }\n\n            BaseInstanceState instance = null;\n\n            switch (browseName.Name)\n            {\n                case tempuri.org.UA.Examples.BoilerType.BrowseNames.Input:\n                {\n                    if (createOrReplace)\n                    {\n                        if (Input == null)\n                        {\n                            if (replacement == null)\n                            {\n                                Input = new AnalogItemState<double>(this);\n                            }\n                            else\n                            {\n                                Input = (AnalogItemState<double>)replacement;\n                            }\n                        }\n                    }\n\n                    instance = Input;\n                    break;\n                }\n            }\n\n            if (instance != null)\n            {\n                return instance;\n            }\n\n            return base.FindChild(context, browseName, createOrReplace, replacement);\n        }\n        #endregion\n\n        #region Private Fields\n        private AnalogItemState<double> m_input;\n        #endregion\n    }\n    #endif\n    #endregion\n\n    #region CustomControllerState Class\n    #if (!OPCUA_EXCLUDE_CustomControllerState)\n    /// <summary>\n    /// Stores an instance of the CustomControllerType ObjectType.\n    /// </summary>\n    /// <exclude />\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"Opc.Ua.ModelCompiler\", \"1.0.0.0\")]\n    public partial class CustomControllerState : BaseObjectState\n    {\n        #region Constructors\n        /// <summary>\n        /// Initializes the type with its default attribute values.\n        /// </summary>\n        public CustomControllerState(NodeState parent) : base(parent)\n        {\n        }\n\n        /// <summary>\n        /// Returns the id of the default type definition node for the instance.\n        /// </summary>\n        protected override NodeId GetDefaultTypeDefinitionId(NamespaceTable namespaceUris)\n        {\n            return Opc.Ua.NodeId.Create(tempuri.org.UA.Examples.BoilerType.ObjectTypes.CustomControllerType, tempuri.org.UA.Examples.BoilerType.Namespaces.BoilerType, namespaceUris);\n        }\n\n        #if (!OPCUA_EXCLUDE_InitializationStrings)\n        /// <summary>\n        /// Initializes the instance.\n        /// </summary>\n        protected override void Initialize(ISystemContext context)\n        {\n            Initialize(context, InitializationString);\n            InitializeOptionalChildren(context);\n        }\n\n        /// <summary>\n        /// Initializes the any option children defined for the instance.\n        /// </summary>\n        protected override void InitializeOptionalChildren(ISystemContext context)\n        {\n            base.InitializeOptionalChildren(context);\n        }\n\n        #region Initialization String\n        private const string InitializationString =\n           \"AQAAACkAAABodHRwOi8vdGVtcHVyaS5vcmcvVUEvRXhhbXBsZXMvQm9pbGVyVHlwZf////8EYIAAAQAA\" +\n           \"AAEAHAAAAEN1c3RvbUNvbnRyb2xsZXJUeXBlSW5zdGFuY2UBARYAAQEWAP////8FAAAAFWCJCgIAAAAB\" +\n           \"AAYAAABJbnB1dDEBARcAAC4ARBcAAAAAC/////8CAv////8AAAAAFWCJCgIAAAABAAYAAABJbnB1dDIB\" +\n           \"ARgAAC4ARBgAAAAAC/////8CAv////8AAAAAFWCJCgIAAAABAAYAAABJbnB1dDMBARkAAC4ARBkAAAAA\" +\n           \"C/////8CAv////8AAAAAFWCJCgIAAAABAAoAAABDb250cm9sT3V0AQEaAAAuAEQaAAAAAAv/////AQH/\" +\n           \"////AAAAABVgyQoCAAAADAAAAERlc2NyaXB0aW9uWAEACwAAAERlc2NyaXB0aW9uAQEbAAAuAEQbAAAA\" +\n           \"ABX/////AQH/////AAAAAA==\";\n        #endregion\n        #endif\n        #endregion\n\n        #region Public Properties\n        /// <summary>\n        /// A description for the Input1 Property.\n        /// </summary>\n        public PropertyState<double> Input1\n        {\n            get\n            {\n                return m_input1;\n            }\n\n            set\n            {\n                if (!Object.ReferenceEquals(m_input1, value))\n                {\n                    ChangeMasks |= NodeStateChangeMasks.Children;\n                }\n\n                m_input1 = value;\n            }\n        }\n\n        /// <summary>\n        /// A description for the Input2 Property.\n        /// </summary>\n        public PropertyState<double> Input2\n        {\n            get\n            {\n                return m_input2;\n            }\n\n            set\n            {\n                if (!Object.ReferenceEquals(m_input2, value))\n                {\n                    ChangeMasks |= NodeStateChangeMasks.Children;\n                }\n\n                m_input2 = value;\n            }\n        }\n\n        /// <summary>\n        /// A description for the Input3 Property.\n        /// </summary>\n        public PropertyState<double> Input3\n        {\n            get\n            {\n                return m_input3;\n            }\n\n            set\n            {\n                if (!Object.ReferenceEquals(m_input3, value))\n                {\n                    ChangeMasks |= NodeStateChangeMasks.Children;\n                }\n\n                m_input3 = value;\n            }\n        }\n\n        /// <summary>\n        /// A description for the ControlOut Property.\n        /// </summary>\n        public PropertyState<double> ControlOut\n        {\n            get\n            {\n                return m_controlOut;\n            }\n\n            set\n            {\n                if (!Object.ReferenceEquals(m_controlOut, value))\n                {\n                    ChangeMasks |= NodeStateChangeMasks.Children;\n                }\n\n                m_controlOut = value;\n            }\n        }\n\n        /// <summary>\n        /// A description for the Description Property.\n        /// </summary>\n        public PropertyState<LocalizedText> DescriptionX\n        {\n            get\n            {\n                return m_descriptionX;\n            }\n\n            set\n            {\n                if (!Object.ReferenceEquals(m_descriptionX, value))\n                {\n                    ChangeMasks |= NodeStateChangeMasks.Children;\n                }\n\n                m_descriptionX = value;\n            }\n        }\n        #endregion\n\n        #region Overridden Methods\n        /// <summary>\n        /// Populates a list with the children that belong to the node.\n        /// </summary>\n        /// <param name=\"context\">The context for the system being accessed.</param>\n        /// <param name=\"children\">The list of children to populate.</param>\n        public override void GetChildren(\n            ISystemContext context,\n            IList<BaseInstanceState> children)\n        {\n            if (m_input1 != null)\n            {\n                children.Add(m_input1);\n            }\n\n            if (m_input2 != null)\n            {\n                children.Add(m_input2);\n            }\n\n            if (m_input3 != null)\n            {\n                children.Add(m_input3);\n            }\n\n            if (m_controlOut != null)\n            {\n                children.Add(m_controlOut);\n            }\n\n            if (m_descriptionX != null)\n            {\n                children.Add(m_descriptionX);\n            }\n\n            base.GetChildren(context, children);\n        }\n\n        /// <summary>\n        /// Finds the child with the specified browse name.\n        /// </summary>\n        protected override BaseInstanceState FindChild(\n            ISystemContext context,\n            QualifiedName browseName,\n            bool createOrReplace,\n            BaseInstanceState replacement)\n        {\n            if (QualifiedName.IsNull(browseName))\n            {\n                return null;\n            }\n\n            BaseInstanceState instance = null;\n\n            switch (browseName.Name)\n            {\n                case tempuri.org.UA.Examples.BoilerType.BrowseNames.Input1:\n                {\n                    if (createOrReplace)\n                    {\n                        if (Input1 == null)\n                        {\n                            if (replacement == null)\n                            {\n                                Input1 = new PropertyState<double>(this);\n                            }\n                            else\n                            {\n                                Input1 = (PropertyState<double>)replacement;\n                            }\n                        }\n                    }\n\n                    instance = Input1;\n                    break;\n                }\n\n                case tempuri.org.UA.Examples.BoilerType.BrowseNames.Input2:\n                {\n                    if (createOrReplace)\n                    {\n                        if (Input2 == null)\n                        {\n                            if (replacement == null)\n                            {\n                                Input2 = new PropertyState<double>(this);\n                            }\n                            else\n                            {\n                                Input2 = (PropertyState<double>)replacement;\n                            }\n                        }\n                    }\n\n                    instance = Input2;\n                    break;\n                }\n\n                case tempuri.org.UA.Examples.BoilerType.BrowseNames.Input3:\n                {\n                    if (createOrReplace)\n                    {\n                        if (Input3 == null)\n                        {\n                            if (replacement == null)\n                            {\n                                Input3 = new PropertyState<double>(this);\n                            }\n                            else\n                            {\n                                Input3 = (PropertyState<double>)replacement;\n                            }\n                        }\n                    }\n\n                    instance = Input3;\n                    break;\n                }\n\n                case tempuri.org.UA.Examples.BoilerType.BrowseNames.ControlOut:\n                {\n                    if (createOrReplace)\n                    {\n                        if (ControlOut == null)\n                        {\n                            if (replacement == null)\n                            {\n                                ControlOut = new PropertyState<double>(this);\n                            }\n                            else\n                            {\n                                ControlOut = (PropertyState<double>)replacement;\n                            }\n                        }\n                    }\n\n                    instance = ControlOut;\n                    break;\n                }\n\n                case tempuri.org.UA.Examples.BoilerType.BrowseNames.DescriptionX:\n                {\n                    if (createOrReplace)\n                    {\n                        if (DescriptionX == null)\n                        {\n                            if (replacement == null)\n                            {\n                                DescriptionX = new PropertyState<LocalizedText>(this);\n                            }\n                            else\n                            {\n                                DescriptionX = (PropertyState<LocalizedText>)replacement;\n                            }\n                        }\n                    }\n\n                    instance = DescriptionX;\n                    break;\n                }\n            }\n\n            if (instance != null)\n            {\n                return instance;\n            }\n\n            return base.FindChild(context, browseName, createOrReplace, replacement);\n        }\n        #endregion\n\n        #region Private Fields\n        private PropertyState<double> m_input1;\n        private PropertyState<double> m_input2;\n        private PropertyState<double> m_input3;\n        private PropertyState<double> m_controlOut;\n        private PropertyState<LocalizedText> m_descriptionX;\n        #endregion\n    }\n    #endif\n    #endregion\n\n    #region ValveState Class\n    #if (!OPCUA_EXCLUDE_ValveState)\n    /// <summary>\n    /// Stores an instance of the ValveType ObjectType.\n    /// </summary>\n    /// <exclude />\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"Opc.Ua.ModelCompiler\", \"1.0.0.0\")]\n    public partial class ValveState : GenericActuatorState\n    {\n        #region Constructors\n        /// <summary>\n        /// Initializes the type with its default attribute values.\n        /// </summary>\n        public ValveState(NodeState parent) : base(parent)\n        {\n        }\n\n        /// <summary>\n        /// Returns the id of the default type definition node for the instance.\n        /// </summary>\n        protected override NodeId GetDefaultTypeDefinitionId(NamespaceTable namespaceUris)\n        {\n            return Opc.Ua.NodeId.Create(tempuri.org.UA.Examples.BoilerType.ObjectTypes.ValveType, tempuri.org.UA.Examples.BoilerType.Namespaces.BoilerType, namespaceUris);\n        }\n\n        #if (!OPCUA_EXCLUDE_InitializationStrings)\n        /// <summary>\n        /// Initializes the instance.\n        /// </summary>\n        protected override void Initialize(ISystemContext context)\n        {\n            Initialize(context, InitializationString);\n            InitializeOptionalChildren(context);\n        }\n\n        /// <summary>\n        /// Initializes the any option children defined for the instance.\n        /// </summary>\n        protected override void InitializeOptionalChildren(ISystemContext context)\n        {\n            base.InitializeOptionalChildren(context);\n        }\n\n        #region Initialization String\n        private const string InitializationString =\n           \"AQAAACkAAABodHRwOi8vdGVtcHVyaS5vcmcvVUEvRXhhbXBsZXMvQm9pbGVyVHlwZf////8EYIAAAQAA\" +\n           \"AAEAEQAAAFZhbHZlVHlwZUluc3RhbmNlAQEcAAEBHAD/////AQAAABVgiQoCAAAAAQAFAAAASW5wdXQB\" +\n           \"AR0AAC8BAEAJHQAAAAAL/////wIC/////wEAAAAVYIkKAgAAAAAABwAAAEVVUmFuZ2UBASEAAC4ARCEA\" +\n           \"AAABAHQD/////wEB/////wAAAAA=\";\n        #endregion\n        #endif\n        #endregion\n\n        #region Public Properties\n        #endregion\n\n        #region Overridden Methods\n        #endregion\n\n        #region Private Fields\n        #endregion\n    }\n    #endif\n    #endregion\n\n    #region LevelControllerState Class\n    #if (!OPCUA_EXCLUDE_LevelControllerState)\n    /// <summary>\n    /// Stores an instance of the LevelControllerType ObjectType.\n    /// </summary>\n    /// <exclude />\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"Opc.Ua.ModelCompiler\", \"1.0.0.0\")]\n    public partial class LevelControllerState : GenericControllerState\n    {\n        #region Constructors\n        /// <summary>\n        /// Initializes the type with its default attribute values.\n        /// </summary>\n        public LevelControllerState(NodeState parent) : base(parent)\n        {\n        }\n\n        /// <summary>\n        /// Returns the id of the default type definition node for the instance.\n        /// </summary>\n        protected override NodeId GetDefaultTypeDefinitionId(NamespaceTable namespaceUris)\n        {\n            return Opc.Ua.NodeId.Create(tempuri.org.UA.Examples.BoilerType.ObjectTypes.LevelControllerType, tempuri.org.UA.Examples.BoilerType.Namespaces.BoilerType, namespaceUris);\n        }\n\n        #if (!OPCUA_EXCLUDE_InitializationStrings)\n        /// <summary>\n        /// Initializes the instance.\n        /// </summary>\n        protected override void Initialize(ISystemContext context)\n        {\n            Initialize(context, InitializationString);\n            InitializeOptionalChildren(context);\n        }\n\n        /// <summary>\n        /// Initializes the any option children defined for the instance.\n        /// </summary>\n        protected override void InitializeOptionalChildren(ISystemContext context)\n        {\n            base.InitializeOptionalChildren(context);\n        }\n\n        #region Initialization String\n        private const string InitializationString =\n           \"AQAAACkAAABodHRwOi8vdGVtcHVyaS5vcmcvVUEvRXhhbXBsZXMvQm9pbGVyVHlwZf////8EYIAAAQAA\" +\n           \"AAEAGwAAAExldmVsQ29udHJvbGxlclR5cGVJbnN0YW5jZQEBIwABASMA/////wMAAAAVYIkKAgAAAAEA\" +\n           \"CwAAAE1lYXN1cmVtZW50AQEkAAAuAEQkAAAAAAv/////AQH/////AAAAABVgiQoCAAAAAQAIAAAAU2V0\" +\n           \"UG9pbnQBASUAAC4ARCUAAAAAC/////8DA/////8AAAAAFWCJCgIAAAABAAoAAABDb250cm9sT3V0AQEm\" +\n           \"AAAuAEQmAAAAAAv/////AQH/////AAAAAA==\";\n        #endregion\n        #endif\n        #endregion\n\n        #region Public Properties\n        #endregion\n\n        #region Overridden Methods\n        #endregion\n\n        #region Private Fields\n        #endregion\n    }\n    #endif\n    #endregion\n\n    #region FlowControllerState Class\n    #if (!OPCUA_EXCLUDE_FlowControllerState)\n    /// <summary>\n    /// Stores an instance of the FlowControllerType ObjectType.\n    /// </summary>\n    /// <exclude />\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"Opc.Ua.ModelCompiler\", \"1.0.0.0\")]\n    public partial class FlowControllerState : GenericControllerState\n    {\n        #region Constructors\n        /// <summary>\n        /// Initializes the type with its default attribute values.\n        /// </summary>\n        public FlowControllerState(NodeState parent) : base(parent)\n        {\n        }\n\n        /// <summary>\n        /// Returns the id of the default type definition node for the instance.\n        /// </summary>\n        protected override NodeId GetDefaultTypeDefinitionId(NamespaceTable namespaceUris)\n        {\n            return Opc.Ua.NodeId.Create(tempuri.org.UA.Examples.BoilerType.ObjectTypes.FlowControllerType, tempuri.org.UA.Examples.BoilerType.Namespaces.BoilerType, namespaceUris);\n        }\n\n        #if (!OPCUA_EXCLUDE_InitializationStrings)\n        /// <summary>\n        /// Initializes the instance.\n        /// </summary>\n        protected override void Initialize(ISystemContext context)\n        {\n            Initialize(context, InitializationString);\n            InitializeOptionalChildren(context);\n        }\n\n        /// <summary>\n        /// Initializes the any option children defined for the instance.\n        /// </summary>\n        protected override void InitializeOptionalChildren(ISystemContext context)\n        {\n            base.InitializeOptionalChildren(context);\n        }\n\n        #region Initialization String\n        private const string InitializationString =\n           \"AQAAACkAAABodHRwOi8vdGVtcHVyaS5vcmcvVUEvRXhhbXBsZXMvQm9pbGVyVHlwZf////8EYIAAAQAA\" +\n           \"AAEAGgAAAEZsb3dDb250cm9sbGVyVHlwZUluc3RhbmNlAQEnAAEBJwD/////AwAAABVgiQoCAAAAAQAL\" +\n           \"AAAATWVhc3VyZW1lbnQBASgAAC4ARCgAAAAAC/////8BAf////8AAAAAFWCJCgIAAAABAAgAAABTZXRQ\" +\n           \"b2ludAEBKQAALgBEKQAAAAAL/////wMD/////wAAAAAVYIkKAgAAAAEACgAAAENvbnRyb2xPdXQBASoA\" +\n           \"AC4ARCoAAAAAC/////8BAf////8AAAAA\";\n        #endregion\n        #endif\n        #endregion\n\n        #region Public Properties\n        #endregion\n\n        #region Overridden Methods\n        #endregion\n\n        #region Private Fields\n        #endregion\n    }\n    #endif\n    #endregion\n\n    #region LevelIndicatorState Class\n    #if (!OPCUA_EXCLUDE_LevelIndicatorState)\n    /// <summary>\n    /// Stores an instance of the LevelIndicatorType ObjectType.\n    /// </summary>\n    /// <exclude />\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"Opc.Ua.ModelCompiler\", \"1.0.0.0\")]\n    public partial class LevelIndicatorState : GenericSensorState\n    {\n        #region Constructors\n        /// <summary>\n        /// Initializes the type with its default attribute values.\n        /// </summary>\n        public LevelIndicatorState(NodeState parent) : base(parent)\n        {\n        }\n\n        /// <summary>\n        /// Returns the id of the default type definition node for the instance.\n        /// </summary>\n        protected override NodeId GetDefaultTypeDefinitionId(NamespaceTable namespaceUris)\n        {\n            return Opc.Ua.NodeId.Create(tempuri.org.UA.Examples.BoilerType.ObjectTypes.LevelIndicatorType, tempuri.org.UA.Examples.BoilerType.Namespaces.BoilerType, namespaceUris);\n        }\n\n        #if (!OPCUA_EXCLUDE_InitializationStrings)\n        /// <summary>\n        /// Initializes the instance.\n        /// </summary>\n        protected override void Initialize(ISystemContext context)\n        {\n            Initialize(context, InitializationString);\n            InitializeOptionalChildren(context);\n        }\n\n        /// <summary>\n        /// Initializes the any option children defined for the instance.\n        /// </summary>\n        protected override void InitializeOptionalChildren(ISystemContext context)\n        {\n            base.InitializeOptionalChildren(context);\n        }\n\n        #region Initialization String\n        private const string InitializationString =\n           \"AQAAACkAAABodHRwOi8vdGVtcHVyaS5vcmcvVUEvRXhhbXBsZXMvQm9pbGVyVHlwZf////8EYIAAAQAA\" +\n           \"AAEAGgAAAExldmVsSW5kaWNhdG9yVHlwZUluc3RhbmNlAQErAAEBKwD/////AQAAABVgiQoCAAAAAQAG\" +\n           \"AAAAT3V0cHV0AQEsAAAvAQBACSwAAAAAC/////8BAf////8BAAAAFWCJCgIAAAAAAAcAAABFVVJhbmdl\" +\n           \"AQEwAAAuAEQwAAAAAQB0A/////8BAf////8AAAAA\";\n        #endregion\n        #endif\n        #endregion\n\n        #region Public Properties\n        #endregion\n\n        #region Overridden Methods\n        #endregion\n\n        #region Private Fields\n        #endregion\n    }\n    #endif\n    #endregion\n\n    #region FlowTransmitterState Class\n    #if (!OPCUA_EXCLUDE_FlowTransmitterState)\n    /// <summary>\n    /// Stores an instance of the FlowTransmitterType ObjectType.\n    /// </summary>\n    /// <exclude />\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"Opc.Ua.ModelCompiler\", \"1.0.0.0\")]\n    public partial class FlowTransmitterState : GenericSensorState\n    {\n        #region Constructors\n        /// <summary>\n        /// Initializes the type with its default attribute values.\n        /// </summary>\n        public FlowTransmitterState(NodeState parent) : base(parent)\n        {\n        }\n\n        /// <summary>\n        /// Returns the id of the default type definition node for the instance.\n        /// </summary>\n        protected override NodeId GetDefaultTypeDefinitionId(NamespaceTable namespaceUris)\n        {\n            return Opc.Ua.NodeId.Create(tempuri.org.UA.Examples.BoilerType.ObjectTypes.FlowTransmitterType, tempuri.org.UA.Examples.BoilerType.Namespaces.BoilerType, namespaceUris);\n        }\n\n        #if (!OPCUA_EXCLUDE_InitializationStrings)\n        /// <summary>\n        /// Initializes the instance.\n        /// </summary>\n        protected override void Initialize(ISystemContext context)\n        {\n            Initialize(context, InitializationString);\n            InitializeOptionalChildren(context);\n        }\n\n        /// <summary>\n        /// Initializes the any option children defined for the instance.\n        /// </summary>\n        protected override void InitializeOptionalChildren(ISystemContext context)\n        {\n            base.InitializeOptionalChildren(context);\n        }\n\n        #region Initialization String\n        private const string InitializationString =\n           \"AQAAACkAAABodHRwOi8vdGVtcHVyaS5vcmcvVUEvRXhhbXBsZXMvQm9pbGVyVHlwZf////8EYIAAAQAA\" +\n           \"AAEAGwAAAEZsb3dUcmFuc21pdHRlclR5cGVJbnN0YW5jZQEBMgABATIA/////wEAAAAVYIkKAgAAAAEA\" +\n           \"BgAAAE91dHB1dAEBMwAALwEAQAkzAAAAAAv/////AQH/////AQAAABVgiQoCAAAAAAAHAAAARVVSYW5n\" +\n           \"ZQEBNwAALgBENwAAAAEAdAP/////AQH/////AAAAAA==\";\n        #endregion\n        #endif\n        #endregion\n\n        #region Public Properties\n        #endregion\n\n        #region Overridden Methods\n        #endregion\n\n        #region Private Fields\n        #endregion\n    }\n    #endif\n    #endregion\n\n    #region BoilerStateMachineState Class\n    #if (!OPCUA_EXCLUDE_BoilerStateMachineState)\n    /// <summary>\n    /// Stores an instance of the BoilerStateMachineType ObjectType.\n    /// </summary>\n    /// <exclude />\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"Opc.Ua.ModelCompiler\", \"1.0.0.0\")]\n    public partial class BoilerStateMachineState : ProgramStateMachineState\n    {\n        #region Constructors\n        /// <summary>\n        /// Initializes the type with its default attribute values.\n        /// </summary>\n        public BoilerStateMachineState(NodeState parent) : base(parent)\n        {\n        }\n\n        /// <summary>\n        /// Returns the id of the default type definition node for the instance.\n        /// </summary>\n        protected override NodeId GetDefaultTypeDefinitionId(NamespaceTable namespaceUris)\n        {\n            return Opc.Ua.NodeId.Create(tempuri.org.UA.Examples.BoilerType.ObjectTypes.BoilerStateMachineType, tempuri.org.UA.Examples.BoilerType.Namespaces.BoilerType, namespaceUris);\n        }\n\n        #if (!OPCUA_EXCLUDE_InitializationStrings)\n        /// <summary>\n        /// Initializes the instance.\n        /// </summary>\n        protected override void Initialize(ISystemContext context)\n        {\n            Initialize(context, InitializationString);\n            InitializeOptionalChildren(context);\n        }\n\n        /// <summary>\n        /// Initializes the any option children defined for the instance.\n        /// </summary>\n        protected override void InitializeOptionalChildren(ISystemContext context)\n        {\n            base.InitializeOptionalChildren(context);\n        }\n\n        #region Initialization String\n        private const string InitializationString =\n           \"AQAAACkAAABodHRwOi8vdGVtcHVyaS5vcmcvVUEvRXhhbXBsZXMvQm9pbGVyVHlwZf////8EYIAAAQAA\" +\n           \"AAEAHgAAAEJvaWxlclN0YXRlTWFjaGluZVR5cGVJbnN0YW5jZQEBOQABATkA/////woAAAAVYIkKAgAA\" +\n           \"AAAADAAAAEN1cnJlbnRTdGF0ZQEBOgAALwEAyAo6AAAAABX/////AQH/////AgAAABVgiQoCAAAAAAAC\" +\n           \"AAAASWQBATsAAC4ARDsAAAAAEf////8BAf////8AAAAAFWCJCgIAAAAAAAYAAABOdW1iZXIBAT0AAC4A\" +\n           \"RD0AAAAAB/////8BAf////8AAAAAFWCJCgIAAAAAAA4AAABMYXN0VHJhbnNpdGlvbgEBPwAALwEAzwo/\" +\n           \"AAAAABX/////AQH/////AwAAABVgiQoCAAAAAAACAAAASWQBAUAAAC4AREAAAAAAEf////8BAf////8A\" +\n           \"AAAAFWCJCgIAAAAAAAYAAABOdW1iZXIBAUIAAC4AREIAAAAAB/////8BAf////8AAAAAFWCJCgIAAAAA\" +\n           \"AA4AAABUcmFuc2l0aW9uVGltZQEBQwAALgBEQwAAAAEAJgH/////AQH/////AAAAABVgiQoCAAAAAAAJ\" +\n           \"AAAARGVsZXRhYmxlAQFGAAAuAERGAAAAAAH/////AQH/////AAAAABVgiQoCAAAAAAAMAAAAUmVjeWNs\" +\n           \"ZUNvdW50AQFIAAAuAERIAAAAAAb/////AQH/////AAAAACRhggoEAAAAAAAFAAAAU3RhcnQBAXIAAwAA\" +\n           \"AABLAAAAQ2F1c2VzIHRoZSBQcm9ncmFtIHRvIHRyYW5zaXRpb24gZnJvbSB0aGUgUmVhZHkgc3RhdGUg\" +\n           \"dG8gdGhlIFJ1bm5pbmcgc3RhdGUuAC8BAHoJcgAAAAEBAQAAAAA1AQEBYgAAAAAAJGGCCgQAAAAAAAcA\" +\n           \"AABTdXNwZW5kAQFzAAMAAAAATwAAAENhdXNlcyB0aGUgUHJvZ3JhbSB0byB0cmFuc2l0aW9uIGZyb20g\" +\n           \"dGhlIFJ1bm5pbmcgc3RhdGUgdG8gdGhlIFN1c3BlbmRlZCBzdGF0ZS4ALwEAewlzAAAAAQEBAAAAADUB\" +\n           \"AQFoAAAAAAAkYYIKBAAAAAAABgAAAFJlc3VtZQEBdAADAAAAAE8AAABDYXVzZXMgdGhlIFByb2dyYW0g\" +\n           \"dG8gdHJhbnNpdGlvbiBmcm9tIHRoZSBTdXNwZW5kZWQgc3RhdGUgdG8gdGhlIFJ1bm5pbmcgc3RhdGUu\" +\n           \"AC8BAHwJdAAAAAEBAQAAAAA1AQEBagAAAAAAJGGCCgQAAAAAAAQAAABIYWx0AQF1AAMAAAAAYAAAAENh\" +\n           \"dXNlcyB0aGUgUHJvZ3JhbSB0byB0cmFuc2l0aW9uIGZyb20gdGhlIFJlYWR5LCBSdW5uaW5nIG9yIFN1\" +\n           \"c3BlbmRlZCBzdGF0ZSB0byB0aGUgSGFsdGVkIHN0YXRlLgAvAQB9CXUAAAABAQMAAAAANQEBAWQAADUB\" +\n           \"AQFsAAA1AQEBcAAAAAAAJGGCCgQAAAAAAAUAAABSZXNldAEBdgADAAAAAEoAAABDYXVzZXMgdGhlIFBy\" +\n           \"b2dyYW0gdG8gdHJhbnNpdGlvbiBmcm9tIHRoZSBIYWx0ZWQgc3RhdGUgdG8gdGhlIFJlYWR5IHN0YXRl\" +\n           \"LgAvAQB+CXYAAAABAQEAAAAANQEBAWAAAAAAADVgiQoCAAAAAQAKAAAAVXBkYXRlUmF0ZQEBdwADAAAA\" +\n           \"ACYAAABUaGUgcmF0ZSBhdCB3aGljaCB0aGUgc2ltdWxhdGlvbiBydW5zLgAuAER3AAAAAAf/////AwP/\" +\n           \"////AAAAAA==\";\n        #endregion\n        #endif\n        #endregion\n\n        #region Public Properties\n        /// <summary>\n        /// The rate at which the simulation runs.\n        /// </summary>\n        public PropertyState<uint> UpdateRate\n        {\n            get\n            {\n                return m_updateRate;\n            }\n\n            set\n            {\n                if (!Object.ReferenceEquals(m_updateRate, value))\n                {\n                    ChangeMasks |= NodeStateChangeMasks.Children;\n                }\n\n                m_updateRate = value;\n            }\n        }\n        #endregion\n\n        #region Overridden Methods\n        /// <summary>\n        /// Populates a list with the children that belong to the node.\n        /// </summary>\n        /// <param name=\"context\">The context for the system being accessed.</param>\n        /// <param name=\"children\">The list of children to populate.</param>\n        public override void GetChildren(\n            ISystemContext context,\n            IList<BaseInstanceState> children)\n        {\n            if (m_updateRate != null)\n            {\n                children.Add(m_updateRate);\n            }\n\n            base.GetChildren(context, children);\n        }\n\n        /// <summary>\n        /// Finds the child with the specified browse name.\n        /// </summary>\n        protected override BaseInstanceState FindChild(\n            ISystemContext context,\n            QualifiedName browseName,\n            bool createOrReplace,\n            BaseInstanceState replacement)\n        {\n            if (QualifiedName.IsNull(browseName))\n            {\n                return null;\n            }\n\n            BaseInstanceState instance = null;\n\n            switch (browseName.Name)\n            {\n                case tempuri.org.UA.Examples.BoilerType.BrowseNames.UpdateRate:\n                {\n                    if (createOrReplace)\n                    {\n                        if (UpdateRate == null)\n                        {\n                            if (replacement == null)\n                            {\n                                UpdateRate = new PropertyState<uint>(this);\n                            }\n                            else\n                            {\n                                UpdateRate = (PropertyState<uint>)replacement;\n                            }\n                        }\n                    }\n\n                    instance = UpdateRate;\n                    break;\n                }\n            }\n\n            if (instance != null)\n            {\n                return instance;\n            }\n\n            return base.FindChild(context, browseName, createOrReplace, replacement);\n        }\n        #endregion\n\n        #region Private Fields\n        private PropertyState<uint> m_updateRate;\n        #endregion\n    }\n    #endif\n    #endregion\n\n    #region BoilerInputPipeState Class\n    #if (!OPCUA_EXCLUDE_BoilerInputPipeState)\n    /// <summary>\n    /// Stores an instance of the BoilerInputPipeType ObjectType.\n    /// </summary>\n    /// <exclude />\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"Opc.Ua.ModelCompiler\", \"1.0.0.0\")]\n    public partial class BoilerInputPipeState : FolderState\n    {\n        #region Constructors\n        /// <summary>\n        /// Initializes the type with its default attribute values.\n        /// </summary>\n        public BoilerInputPipeState(NodeState parent) : base(parent)\n        {\n        }\n\n        /// <summary>\n        /// Returns the id of the default type definition node for the instance.\n        /// </summary>\n        protected override NodeId GetDefaultTypeDefinitionId(NamespaceTable namespaceUris)\n        {\n            return Opc.Ua.NodeId.Create(tempuri.org.UA.Examples.BoilerType.ObjectTypes.BoilerInputPipeType, tempuri.org.UA.Examples.BoilerType.Namespaces.BoilerType, namespaceUris);\n        }\n\n        #if (!OPCUA_EXCLUDE_InitializationStrings)\n        /// <summary>\n        /// Initializes the instance.\n        /// </summary>\n        protected override void Initialize(ISystemContext context)\n        {\n            Initialize(context, InitializationString);\n            InitializeOptionalChildren(context);\n        }\n\n        /// <summary>\n        /// Initializes the any option children defined for the instance.\n        /// </summary>\n        protected override void InitializeOptionalChildren(ISystemContext context)\n        {\n            base.InitializeOptionalChildren(context);\n        }\n\n        #region Initialization String\n        private const string InitializationString =\n           \"AQAAACkAAABodHRwOi8vdGVtcHVyaS5vcmcvVUEvRXhhbXBsZXMvQm9pbGVyVHlwZf////8EYIAAAQAA\" +\n           \"AAEAGwAAAEJvaWxlcklucHV0UGlwZVR5cGVJbnN0YW5jZQEBeAABAXgAAQAAAAAwAAEBeQACAAAAxGDA\" +\n           \"CgEAAAAQAAAARmxvd1RyYW5zbWl0dGVyMQEABgAAAEZUWDAwMQEBeQADAAAAABAAAABGbG93VHJhbnNt\" +\n           \"aXR0ZXIxAC8BATIAeQAAAAEBAAAAADABAQF4AAEAAAAVYIkKAgAAAAEABgAAAE91dHB1dAEBegAALwEA\" +\n           \"QAl6AAAAAAv/////AQH/////AQAAABVgiQoCAAAAAAAHAAAARVVSYW5nZQEBfgAALgBEfgAAAAEAdAP/\" +\n           \"////AQH/////AAAAAMRgwAoBAAAABQAAAFZhbHZlAQAJAAAAVmFsdmVYMDAxAQGAAAMAAAAABQAAAFZh\" +\n           \"bHZlAC8BARwAgAAAAAH/////AQAAABVgiQoCAAAAAQAFAAAASW5wdXQBAYEAAC8BAEAJgQAAAAAL////\" +\n           \"/wIC/////wEAAAAVYIkKAgAAAAAABwAAAEVVUmFuZ2UBAYUAAC4ARIUAAAABAHQD/////wEB/////wAA\" +\n           \"AAA=\";\n        #endregion\n        #endif\n        #endregion\n\n        #region Public Properties\n        /// <summary>\n        /// A description for the FTX001 Object.\n        /// </summary>\n        public FlowTransmitterState FlowTransmitter1\n        {\n            get\n            {\n                return m_flowTransmitter1;\n            }\n\n            set\n            {\n                if (!Object.ReferenceEquals(m_flowTransmitter1, value))\n                {\n                    ChangeMasks |= NodeStateChangeMasks.Children;\n                }\n\n                m_flowTransmitter1 = value;\n            }\n        }\n\n        /// <summary>\n        /// A description for the ValveX001 Object.\n        /// </summary>\n        public ValveState Valve\n        {\n            get\n            {\n                return m_valve;\n            }\n\n            set\n            {\n                if (!Object.ReferenceEquals(m_valve, value))\n                {\n                    ChangeMasks |= NodeStateChangeMasks.Children;\n                }\n\n                m_valve = value;\n            }\n        }\n        #endregion\n\n        #region Overridden Methods\n        /// <summary>\n        /// Populates a list with the children that belong to the node.\n        /// </summary>\n        /// <param name=\"context\">The context for the system being accessed.</param>\n        /// <param name=\"children\">The list of children to populate.</param>\n        public override void GetChildren(\n            ISystemContext context,\n            IList<BaseInstanceState> children)\n        {\n            if (m_flowTransmitter1 != null)\n            {\n                children.Add(m_flowTransmitter1);\n            }\n\n            if (m_valve != null)\n            {\n                children.Add(m_valve);\n            }\n\n            base.GetChildren(context, children);\n        }\n\n        /// <summary>\n        /// Finds the child with the specified browse name.\n        /// </summary>\n        protected override BaseInstanceState FindChild(\n            ISystemContext context,\n            QualifiedName browseName,\n            bool createOrReplace,\n            BaseInstanceState replacement)\n        {\n            if (QualifiedName.IsNull(browseName))\n            {\n                return null;\n            }\n\n            BaseInstanceState instance = null;\n\n            switch (browseName.Name)\n            {\n                case tempuri.org.UA.Examples.BoilerType.BrowseNames.FlowTransmitter1:\n                {\n                    if (createOrReplace)\n                    {\n                        if (FlowTransmitter1 == null)\n                        {\n                            if (replacement == null)\n                            {\n                                FlowTransmitter1 = new FlowTransmitterState(this);\n                            }\n                            else\n                            {\n                                FlowTransmitter1 = (FlowTransmitterState)replacement;\n                            }\n                        }\n                    }\n\n                    instance = FlowTransmitter1;\n                    break;\n                }\n\n                case tempuri.org.UA.Examples.BoilerType.BrowseNames.Valve:\n                {\n                    if (createOrReplace)\n                    {\n                        if (Valve == null)\n                        {\n                            if (replacement == null)\n                            {\n                                Valve = new ValveState(this);\n                            }\n                            else\n                            {\n                                Valve = (ValveState)replacement;\n                            }\n                        }\n                    }\n\n                    instance = Valve;\n                    break;\n                }\n            }\n\n            if (instance != null)\n            {\n                return instance;\n            }\n\n            return base.FindChild(context, browseName, createOrReplace, replacement);\n        }\n        #endregion\n\n        #region Private Fields\n        private FlowTransmitterState m_flowTransmitter1;\n        private ValveState m_valve;\n        #endregion\n    }\n    #endif\n    #endregion\n\n    #region BoilerDrumState Class\n    #if (!OPCUA_EXCLUDE_BoilerDrumState)\n    /// <summary>\n    /// Stores an instance of the BoilerDrumType ObjectType.\n    /// </summary>\n    /// <exclude />\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"Opc.Ua.ModelCompiler\", \"1.0.0.0\")]\n    public partial class BoilerDrumState : FolderState\n    {\n        #region Constructors\n        /// <summary>\n        /// Initializes the type with its default attribute values.\n        /// </summary>\n        public BoilerDrumState(NodeState parent) : base(parent)\n        {\n        }\n\n        /// <summary>\n        /// Returns the id of the default type definition node for the instance.\n        /// </summary>\n        protected override NodeId GetDefaultTypeDefinitionId(NamespaceTable namespaceUris)\n        {\n            return Opc.Ua.NodeId.Create(tempuri.org.UA.Examples.BoilerType.ObjectTypes.BoilerDrumType, tempuri.org.UA.Examples.BoilerType.Namespaces.BoilerType, namespaceUris);\n        }\n\n        #if (!OPCUA_EXCLUDE_InitializationStrings)\n        /// <summary>\n        /// Initializes the instance.\n        /// </summary>\n        protected override void Initialize(ISystemContext context)\n        {\n            Initialize(context, InitializationString);\n            InitializeOptionalChildren(context);\n        }\n\n        /// <summary>\n        /// Initializes the any option children defined for the instance.\n        /// </summary>\n        protected override void InitializeOptionalChildren(ISystemContext context)\n        {\n            base.InitializeOptionalChildren(context);\n        }\n\n        #region Initialization String\n        private const string InitializationString =\n           \"AQAAACkAAABodHRwOi8vdGVtcHVyaS5vcmcvVUEvRXhhbXBsZXMvQm9pbGVyVHlwZf////8EYIAAAQAA\" +\n           \"AAEAFgAAAEJvaWxlckRydW1UeXBlSW5zdGFuY2UBAYcAAQGHAAEAAAAAMAABAYgAAQAAAIRgwAoBAAAA\" +\n           \"DgAAAExldmVsSW5kaWNhdG9yAQAGAAAATElYMDAxAQGIAAAvAQErAIgAAAABAQAAAAAwAQEBhwABAAAA\" +\n           \"FWCJCgIAAAABAAYAAABPdXRwdXQBAYkAAC8BAEAJiQAAAAAL/////wEB/////wEAAAAVYIkKAgAAAAAA\" +\n           \"BwAAAEVVUmFuZ2UBAY0AAC4ARI0AAAABAHQD/////wEB/////wAAAAA=\";\n        #endregion\n        #endif\n        #endregion\n\n        #region Public Properties\n        /// <summary>\n        /// A description for the LIX001 Object.\n        /// </summary>\n        public LevelIndicatorState LevelIndicator\n        {\n            get\n            {\n                return m_levelIndicator;\n            }\n\n            set\n            {\n                if (!Object.ReferenceEquals(m_levelIndicator, value))\n                {\n                    ChangeMasks |= NodeStateChangeMasks.Children;\n                }\n\n                m_levelIndicator = value;\n            }\n        }\n        #endregion\n\n        #region Overridden Methods\n        /// <summary>\n        /// Populates a list with the children that belong to the node.\n        /// </summary>\n        /// <param name=\"context\">The context for the system being accessed.</param>\n        /// <param name=\"children\">The list of children to populate.</param>\n        public override void GetChildren(\n            ISystemContext context,\n            IList<BaseInstanceState> children)\n        {\n            if (m_levelIndicator != null)\n            {\n                children.Add(m_levelIndicator);\n            }\n\n            base.GetChildren(context, children);\n        }\n\n        /// <summary>\n        /// Finds the child with the specified browse name.\n        /// </summary>\n        protected override BaseInstanceState FindChild(\n            ISystemContext context,\n            QualifiedName browseName,\n            bool createOrReplace,\n            BaseInstanceState replacement)\n        {\n            if (QualifiedName.IsNull(browseName))\n            {\n                return null;\n            }\n\n            BaseInstanceState instance = null;\n\n            switch (browseName.Name)\n            {\n                case tempuri.org.UA.Examples.BoilerType.BrowseNames.LevelIndicator:\n                {\n                    if (createOrReplace)\n                    {\n                        if (LevelIndicator == null)\n                        {\n                            if (replacement == null)\n                            {\n                                LevelIndicator = new LevelIndicatorState(this);\n                            }\n                            else\n                            {\n                                LevelIndicator = (LevelIndicatorState)replacement;\n                            }\n                        }\n                    }\n\n                    instance = LevelIndicator;\n                    break;\n                }\n            }\n\n            if (instance != null)\n            {\n                return instance;\n            }\n\n            return base.FindChild(context, browseName, createOrReplace, replacement);\n        }\n        #endregion\n\n        #region Private Fields\n        private LevelIndicatorState m_levelIndicator;\n        #endregion\n    }\n    #endif\n    #endregion\n\n    #region BoilerOutputPipeState Class\n    #if (!OPCUA_EXCLUDE_BoilerOutputPipeState)\n    /// <summary>\n    /// Stores an instance of the BoilerOutputPipeType ObjectType.\n    /// </summary>\n    /// <exclude />\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"Opc.Ua.ModelCompiler\", \"1.0.0.0\")]\n    public partial class BoilerOutputPipeState : FolderState\n    {\n        #region Constructors\n        /// <summary>\n        /// Initializes the type with its default attribute values.\n        /// </summary>\n        public BoilerOutputPipeState(NodeState parent) : base(parent)\n        {\n        }\n\n        /// <summary>\n        /// Returns the id of the default type definition node for the instance.\n        /// </summary>\n        protected override NodeId GetDefaultTypeDefinitionId(NamespaceTable namespaceUris)\n        {\n            return Opc.Ua.NodeId.Create(tempuri.org.UA.Examples.BoilerType.ObjectTypes.BoilerOutputPipeType, tempuri.org.UA.Examples.BoilerType.Namespaces.BoilerType, namespaceUris);\n        }\n\n        #if (!OPCUA_EXCLUDE_InitializationStrings)\n        /// <summary>\n        /// Initializes the instance.\n        /// </summary>\n        protected override void Initialize(ISystemContext context)\n        {\n            Initialize(context, InitializationString);\n            InitializeOptionalChildren(context);\n        }\n\n        /// <summary>\n        /// Initializes the any option children defined for the instance.\n        /// </summary>\n        protected override void InitializeOptionalChildren(ISystemContext context)\n        {\n            base.InitializeOptionalChildren(context);\n        }\n\n        #region Initialization String\n        private const string InitializationString =\n           \"AQAAACkAAABodHRwOi8vdGVtcHVyaS5vcmcvVUEvRXhhbXBsZXMvQm9pbGVyVHlwZf////8EYIAAAQAA\" +\n           \"AAEAHAAAAEJvaWxlck91dHB1dFBpcGVUeXBlSW5zdGFuY2UBAY8AAQGPAAEAAAAAMAABAZAAAQAAAIRg\" +\n           \"wAoBAAAAEAAAAEZsb3dUcmFuc21pdHRlcjIBAAYAAABGVFgwMDIBAZAAAC8BATIAkAAAAAEBAAAAADAB\" +\n           \"AQGPAAEAAAAVYIkKAgAAAAEABgAAAE91dHB1dAEBkQAALwEAQAmRAAAAAAv/////AQH/////AQAAABVg\" +\n           \"iQoCAAAAAAAHAAAARVVSYW5nZQEBlQAALgBElQAAAAEAdAP/////AQH/////AAAAAA==\";\n        #endregion\n        #endif\n        #endregion\n\n        #region Public Properties\n        /// <summary>\n        /// A description for the FTX002 Object.\n        /// </summary>\n        public FlowTransmitterState FlowTransmitter2\n        {\n            get\n            {\n                return m_flowTransmitter2;\n            }\n\n            set\n            {\n                if (!Object.ReferenceEquals(m_flowTransmitter2, value))\n                {\n                    ChangeMasks |= NodeStateChangeMasks.Children;\n                }\n\n                m_flowTransmitter2 = value;\n            }\n        }\n        #endregion\n\n        #region Overridden Methods\n        /// <summary>\n        /// Populates a list with the children that belong to the node.\n        /// </summary>\n        /// <param name=\"context\">The context for the system being accessed.</param>\n        /// <param name=\"children\">The list of children to populate.</param>\n        public override void GetChildren(\n            ISystemContext context,\n            IList<BaseInstanceState> children)\n        {\n            if (m_flowTransmitter2 != null)\n            {\n                children.Add(m_flowTransmitter2);\n            }\n\n            base.GetChildren(context, children);\n        }\n\n        /// <summary>\n        /// Finds the child with the specified browse name.\n        /// </summary>\n        protected override BaseInstanceState FindChild(\n            ISystemContext context,\n            QualifiedName browseName,\n            bool createOrReplace,\n            BaseInstanceState replacement)\n        {\n            if (QualifiedName.IsNull(browseName))\n            {\n                return null;\n            }\n\n            BaseInstanceState instance = null;\n\n            switch (browseName.Name)\n            {\n                case tempuri.org.UA.Examples.BoilerType.BrowseNames.FlowTransmitter2:\n                {\n                    if (createOrReplace)\n                    {\n                        if (FlowTransmitter2 == null)\n                        {\n                            if (replacement == null)\n                            {\n                                FlowTransmitter2 = new FlowTransmitterState(this);\n                            }\n                            else\n                            {\n                                FlowTransmitter2 = (FlowTransmitterState)replacement;\n                            }\n                        }\n                    }\n\n                    instance = FlowTransmitter2;\n                    break;\n                }\n            }\n\n            if (instance != null)\n            {\n                return instance;\n            }\n\n            return base.FindChild(context, browseName, createOrReplace, replacement);\n        }\n        #endregion\n\n        #region Private Fields\n        private FlowTransmitterState m_flowTransmitter2;\n        #endregion\n    }\n    #endif\n    #endregion\n\n    #region BoilerState Class\n    #if (!OPCUA_EXCLUDE_BoilerState)\n    /// <summary>\n    /// Stores an instance of the BoilerType ObjectType.\n    /// </summary>\n    /// <exclude />\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"Opc.Ua.ModelCompiler\", \"1.0.0.0\")]\n    public partial class BoilerState : BaseObjectState\n    {\n        #region Constructors\n        /// <summary>\n        /// Initializes the type with its default attribute values.\n        /// </summary>\n        public BoilerState(NodeState parent) : base(parent)\n        {\n        }\n\n        /// <summary>\n        /// Returns the id of the default type definition node for the instance.\n        /// </summary>\n        protected override NodeId GetDefaultTypeDefinitionId(NamespaceTable namespaceUris)\n        {\n            return Opc.Ua.NodeId.Create(tempuri.org.UA.Examples.BoilerType.ObjectTypes.BoilerType, tempuri.org.UA.Examples.BoilerType.Namespaces.BoilerType, namespaceUris);\n        }\n\n        #if (!OPCUA_EXCLUDE_InitializationStrings)\n        /// <summary>\n        /// Initializes the instance.\n        /// </summary>\n        protected override void Initialize(ISystemContext context)\n        {\n            Initialize(context, InitializationString);\n            InitializeOptionalChildren(context);\n        }\n\n        /// <summary>\n        /// Initializes the any option children defined for the instance.\n        /// </summary>\n        protected override void InitializeOptionalChildren(ISystemContext context)\n        {\n            base.InitializeOptionalChildren(context);\n        }\n\n        #region Initialization String\n        private const string InitializationString =\n           \"AQAAACkAAABodHRwOi8vdGVtcHVyaS5vcmcvVUEvRXhhbXBsZXMvQm9pbGVyVHlwZf////+EYIAAAQAA\" +\n           \"AAEAEgAAAEJvaWxlclR5cGVJbnN0YW5jZQEBlwABAZcAAQQAAAAAMAABAZgAADAAAQGnAAAwAAEBrwAA\" +\n           \"JAABAcUABwAAAMRgwAoBAAAACQAAAElucHV0UGlwZQEACAAAAFBpcGVYMDAxAQGYAAMAAAAACQAAAElu\" +\n           \"cHV0UGlwZQAvAQF4AJgAAAABAwAAAAAwAQEBlwAAMAABAZkAAQEBAAABAacAAgAAAMRgwAoBAAAAEAAA\" +\n           \"AEZsb3dUcmFuc21pdHRlcjEBAAYAAABGVFgwMDEBAZkAAwAAAAAQAAAARmxvd1RyYW5zbWl0dGVyMQAv\" +\n           \"AQEyAJkAAAABAQAAAAAwAQEBmAABAAAAFWCJCgIAAAABAAYAAABPdXRwdXQBAZoAAC8BAEAJmgAAAAAL\" +\n           \"/////wEBAgAAAAEBAwAAAQG4AAEBAwAAAQHBAAEAAAAVYIkKAgAAAAAABwAAAEVVUmFuZ2UBAZ4AAC4A\" +\n           \"RJ4AAAABAHQD/////wEB/////wAAAADEYMAKAQAAAAUAAABWYWx2ZQEACQAAAFZhbHZlWDAwMQEBoAAD\" +\n           \"AAAAAAUAAABWYWx2ZQAvAQEcAKAAAAAB/////wEAAAAVYIkKAgAAAAEABQAAAElucHV0AQGhAAAvAQBA\" +\n           \"CaEAAAAAC/////8CAgEAAAABAQMAAQEBugABAAAAFWCJCgIAAAAAAAcAAABFVVJhbmdlAQGlAAAuAESl\" +\n           \"AAAAAQB0A/////8BAf////8AAAAAxGDACgEAAAAEAAAARHJ1bQEACAAAAERydW1YMDAxAQGnAAMAAAAA\" +\n           \"BAAAAERydW0ALwEBhwCnAAAAAQQAAAAAMAEBAZcAAQEBAAEBAZgAADAAAQGoAAEBAgAAAQGvAAEAAACE\" +\n           \"YMAKAQAAAA4AAABMZXZlbEluZGljYXRvcgEABgAAAExJWDAwMQEBqAAALwEBKwCoAAAAAQEAAAAAMAEB\" +\n           \"AacAAQAAABVgiQoCAAAAAQAGAAAAT3V0cHV0AQGpAAAvAQBACakAAAAAGv////8BAQEAAAABAQMAAAEB\" +\n           \"vAABAAAAFWCJCgIAAAAAAAcAAABFVVJhbmdlAQGtAAAuAEStAAAAAQB0A/////8BAf////8AAAAAxGDA\" +\n           \"CgEAAAAKAAAAT3V0cHV0UGlwZQEACAAAAFBpcGVYMDAyAQGvAAMAAAAACgAAAE91dHB1dFBpcGUALwEB\" +\n           \"jwCvAAAAAQMAAAAAMAEBAZcAAQECAAEBAacAADAAAQGwAAEAAACEYMAKAQAAABAAAABGbG93VHJhbnNt\" +\n           \"aXR0ZXIyAQAGAAAARlRYMDAyAQGwAAAvAQEyALAAAAABAQAAAAAwAQEBrwABAAAAFWCJCgIAAAABAAYA\" +\n           \"AABPdXRwdXQBAbEAAC8BAEAJsQAAAAAL/////wEBAQAAAAEBAwAAAQHCAAEAAAAVYIkKAgAAAAAABwAA\" +\n           \"AEVVUmFuZ2UBAbUAAC4ARLUAAAABAHQD/////wEB/////wAAAABEYMAKAQAAAA4AAABGbG93Q29udHJv\" +\n           \"bGxlcgEABgAAAEZDWDAwMQEBtwADAAAAAA4AAABGbG93Q29udHJvbGxlcgAvAQEnALcAAAD/////AwAA\" +\n           \"ABVgiQoCAAAAAQALAAAATWVhc3VyZW1lbnQBAbgAAC4ARLgAAAAAC/////8BAQEAAAABAQMAAQEBmgAA\" +\n           \"AAAAFWCJCgIAAAABAAgAAABTZXRQb2ludAEBuQAALgBEuQAAAAAL/////wMDAQAAAAEBAwABAQHDAAAA\" +\n           \"AAAVYIkKAgAAAAEACgAAAENvbnRyb2xPdXQBAboAAC4ARLoAAAAAC/////8BAQEAAAABAQMAAAEBoQAA\" +\n           \"AAAARGDACgEAAAAPAAAATGV2ZWxDb250cm9sbGVyAQAGAAAATENYMDAxAQG7AAMAAAAADwAAAExldmVs\" +\n           \"Q29udHJvbGxlcgAvAQEjALsAAAD/////AwAAABVgiQoCAAAAAQALAAAATWVhc3VyZW1lbnQBAbwAAC4A\" +\n           \"RLwAAAAAC/////8BAQEAAAABAQMAAQEBqQAAAAAAFWCJCgIAAAABAAgAAABTZXRQb2ludAEBvQAALgBE\" +\n           \"vQAAAAAL/////wMD/////wAAAAAVYIkKAgAAAAEACgAAAENvbnRyb2xPdXQBAb4AAC4ARL4AAAAAC///\" +\n           \"//8BAQEAAAABAQMAAAEBwAAAAAAARGDACgEAAAAQAAAAQ3VzdG9tQ29udHJvbGxlcgEABgAAAENDWDAw\" +\n           \"MQEBvwADAAAAABAAAABDdXN0b21Db250cm9sbGVyAC8BARYAvwAAAP////8FAAAAFWCJCgIAAAABAAYA\" +\n           \"AABJbnB1dDEBAcAAAC4ARMAAAAAAC/////8CAgEAAAABAQMAAQEBvgAAAAAAFWCJCgIAAAABAAYAAABJ\" +\n           \"bnB1dDIBAcEAAC4ARMEAAAAAC/////8CAgEAAAABAQMAAQEBmgAAAAAAFWCJCgIAAAABAAYAAABJbnB1\" +\n           \"dDMBAcIAAC4ARMIAAAAAC/////8CAgEAAAABAQMAAQEBsQAAAAAAFWCJCgIAAAABAAoAAABDb250cm9s\" +\n           \"T3V0AQHDAAAuAETDAAAAAAv/////AQEBAAAAAQEDAAABAbkAAAAAABVgyQoCAAAADAAAAERlc2NyaXB0\" +\n           \"aW9uWAEACwAAAERlc2NyaXB0aW9uAQHEAAAuAETEAAAAABX/////AQH/////AAAAAIRggAoBAAAAAQAK\" +\n           \"AAAAU2ltdWxhdGlvbgEBxQAALwEBOQDFAAAAAQEAAAAAJAEBAZcACgAAABVgiQoCAAAAAAAMAAAAQ3Vy\" +\n           \"cmVudFN0YXRlAQHGAAAvAQDICsYAAAAAFf////8BAf////8CAAAAFWCJCgIAAAAAAAIAAABJZAEBxwAA\" +\n           \"LgBExwAAAAAR/////wEB/////wAAAAAVYIkKAgAAAAAABgAAAE51bWJlcgEByQAALgBEyQAAAAAH////\" +\n           \"/wEB/////wAAAAAVYIkKAgAAAAAADgAAAExhc3RUcmFuc2l0aW9uAQHLAAAvAQDPCssAAAAAFf////8B\" +\n           \"Af////8DAAAAFWCJCgIAAAAAAAIAAABJZAEBzAAALgBEzAAAAAAR/////wEB/////wAAAAAVYIkKAgAA\" +\n           \"AAAABgAAAE51bWJlcgEBzgAALgBEzgAAAAAH/////wEB/////wAAAAAVYIkKAgAAAAAADgAAAFRyYW5z\" +\n           \"aXRpb25UaW1lAQHPAAAuAETPAAAAAQAmAf////8BAf////8AAAAAFWCJCgIAAAAAAAkAAABEZWxldGFi\" +\n           \"bGUBAdEAAC4ARNEAAAAAAf////8BAf////8AAAAAFWCJCgIAAAAAAAwAAABSZWN5Y2xlQ291bnQBAdMA\" +\n           \"AC4ARNMAAAAABv////8BAf////8AAAAAJGGCCgQAAAAAAAUAAABTdGFydAEB4AADAAAAAEsAAABDYXVz\" +\n           \"ZXMgdGhlIFByb2dyYW0gdG8gdHJhbnNpdGlvbiBmcm9tIHRoZSBSZWFkeSBzdGF0ZSB0byB0aGUgUnVu\" +\n           \"bmluZyBzdGF0ZS4ALwEAegngAAAAAQH/////AAAAACRhggoEAAAAAAAHAAAAU3VzcGVuZAEB4QADAAAA\" +\n           \"AE8AAABDYXVzZXMgdGhlIFByb2dyYW0gdG8gdHJhbnNpdGlvbiBmcm9tIHRoZSBSdW5uaW5nIHN0YXRl\" +\n           \"IHRvIHRoZSBTdXNwZW5kZWQgc3RhdGUuAC8BAHsJ4QAAAAEB/////wAAAAAkYYIKBAAAAAAABgAAAFJl\" +\n           \"c3VtZQEB4gADAAAAAE8AAABDYXVzZXMgdGhlIFByb2dyYW0gdG8gdHJhbnNpdGlvbiBmcm9tIHRoZSBT\" +\n           \"dXNwZW5kZWQgc3RhdGUgdG8gdGhlIFJ1bm5pbmcgc3RhdGUuAC8BAHwJ4gAAAAEB/////wAAAAAkYYIK\" +\n           \"BAAAAAAABAAAAEhhbHQBAeMAAwAAAABgAAAAQ2F1c2VzIHRoZSBQcm9ncmFtIHRvIHRyYW5zaXRpb24g\" +\n           \"ZnJvbSB0aGUgUmVhZHksIFJ1bm5pbmcgb3IgU3VzcGVuZGVkIHN0YXRlIHRvIHRoZSBIYWx0ZWQgc3Rh\" +\n           \"dGUuAC8BAH0J4wAAAAEB/////wAAAAAkYYIKBAAAAAAABQAAAFJlc2V0AQHkAAMAAAAASgAAAENhdXNl\" +\n           \"cyB0aGUgUHJvZ3JhbSB0byB0cmFuc2l0aW9uIGZyb20gdGhlIEhhbHRlZCBzdGF0ZSB0byB0aGUgUmVh\" +\n           \"ZHkgc3RhdGUuAC8BAH4J5AAAAAEB/////wAAAAA1YIkKAgAAAAEACgAAAFVwZGF0ZVJhdGUBAeUAAwAA\" +\n           \"AAAmAAAAVGhlIHJhdGUgYXQgd2hpY2ggdGhlIHNpbXVsYXRpb24gcnVucy4ALgBE5QAAAAAH/////wMD\" +\n           \"/////wAAAAA=\";\n        #endregion\n        #endif\n        #endregion\n\n        #region Public Properties\n        /// <summary>\n        /// A description for the PipeX001 Object.\n        /// </summary>\n        public BoilerInputPipeState InputPipe\n        {\n            get\n            {\n                return m_inputPipe;\n            }\n\n            set\n            {\n                if (!Object.ReferenceEquals(m_inputPipe, value))\n                {\n                    ChangeMasks |= NodeStateChangeMasks.Children;\n                }\n\n                m_inputPipe = value;\n            }\n        }\n\n        /// <summary>\n        /// A description for the DrumX001 Object.\n        /// </summary>\n        public BoilerDrumState Drum\n        {\n            get\n            {\n                return m_drum;\n            }\n\n            set\n            {\n                if (!Object.ReferenceEquals(m_drum, value))\n                {\n                    ChangeMasks |= NodeStateChangeMasks.Children;\n                }\n\n                m_drum = value;\n            }\n        }\n\n        /// <summary>\n        /// A description for the PipeX002 Object.\n        /// </summary>\n        public BoilerOutputPipeState OutputPipe\n        {\n            get\n            {\n                return m_outputPipe;\n            }\n\n            set\n            {\n                if (!Object.ReferenceEquals(m_outputPipe, value))\n                {\n                    ChangeMasks |= NodeStateChangeMasks.Children;\n                }\n\n                m_outputPipe = value;\n            }\n        }\n\n        /// <summary>\n        /// A description for the FCX001 Object.\n        /// </summary>\n        public FlowControllerState FlowController\n        {\n            get\n            {\n                return m_flowController;\n            }\n\n            set\n            {\n                if (!Object.ReferenceEquals(m_flowController, value))\n                {\n                    ChangeMasks |= NodeStateChangeMasks.Children;\n                }\n\n                m_flowController = value;\n            }\n        }\n\n        /// <summary>\n        /// A description for the LCX001 Object.\n        /// </summary>\n        public LevelControllerState LevelController\n        {\n            get\n            {\n                return m_levelController;\n            }\n\n            set\n            {\n                if (!Object.ReferenceEquals(m_levelController, value))\n                {\n                    ChangeMasks |= NodeStateChangeMasks.Children;\n                }\n\n                m_levelController = value;\n            }\n        }\n\n        /// <summary>\n        /// A description for the CCX001 Object.\n        /// </summary>\n        public CustomControllerState CustomController\n        {\n            get\n            {\n                return m_customController;\n            }\n\n            set\n            {\n                if (!Object.ReferenceEquals(m_customController, value))\n                {\n                    ChangeMasks |= NodeStateChangeMasks.Children;\n                }\n\n                m_customController = value;\n            }\n        }\n\n        /// <summary>\n        /// A description for the Simulation Object.\n        /// </summary>\n        public BoilerStateMachineState Simulation\n        {\n            get\n            {\n                return m_simulation;\n            }\n\n            set\n            {\n                if (!Object.ReferenceEquals(m_simulation, value))\n                {\n                    ChangeMasks |= NodeStateChangeMasks.Children;\n                }\n\n                m_simulation = value;\n            }\n        }\n        #endregion\n\n        #region Overridden Methods\n        /// <summary>\n        /// Populates a list with the children that belong to the node.\n        /// </summary>\n        /// <param name=\"context\">The context for the system being accessed.</param>\n        /// <param name=\"children\">The list of children to populate.</param>\n        public override void GetChildren(\n            ISystemContext context,\n            IList<BaseInstanceState> children)\n        {\n            if (m_inputPipe != null)\n            {\n                children.Add(m_inputPipe);\n            }\n\n            if (m_drum != null)\n            {\n                children.Add(m_drum);\n            }\n\n            if (m_outputPipe != null)\n            {\n                children.Add(m_outputPipe);\n            }\n\n            if (m_flowController != null)\n            {\n                children.Add(m_flowController);\n            }\n\n            if (m_levelController != null)\n            {\n                children.Add(m_levelController);\n            }\n\n            if (m_customController != null)\n            {\n                children.Add(m_customController);\n            }\n\n            if (m_simulation != null)\n            {\n                children.Add(m_simulation);\n            }\n\n            base.GetChildren(context, children);\n        }\n\n        /// <summary>\n        /// Finds the child with the specified browse name.\n        /// </summary>\n        protected override BaseInstanceState FindChild(\n            ISystemContext context,\n            QualifiedName browseName,\n            bool createOrReplace,\n            BaseInstanceState replacement)\n        {\n            if (QualifiedName.IsNull(browseName))\n            {\n                return null;\n            }\n\n            BaseInstanceState instance = null;\n\n            switch (browseName.Name)\n            {\n                case tempuri.org.UA.Examples.BoilerType.BrowseNames.InputPipe:\n                {\n                    if (createOrReplace)\n                    {\n                        if (InputPipe == null)\n                        {\n                            if (replacement == null)\n                            {\n                                InputPipe = new BoilerInputPipeState(this);\n                            }\n                            else\n                            {\n                                InputPipe = (BoilerInputPipeState)replacement;\n                            }\n                        }\n                    }\n\n                    instance = InputPipe;\n                    break;\n                }\n\n                case tempuri.org.UA.Examples.BoilerType.BrowseNames.Drum:\n                {\n                    if (createOrReplace)\n                    {\n                        if (Drum == null)\n                        {\n                            if (replacement == null)\n                            {\n                                Drum = new BoilerDrumState(this);\n                            }\n                            else\n                            {\n                                Drum = (BoilerDrumState)replacement;\n                            }\n                        }\n                    }\n\n                    instance = Drum;\n                    break;\n                }\n\n                case tempuri.org.UA.Examples.BoilerType.BrowseNames.OutputPipe:\n                {\n                    if (createOrReplace)\n                    {\n                        if (OutputPipe == null)\n                        {\n                            if (replacement == null)\n                            {\n                                OutputPipe = new BoilerOutputPipeState(this);\n                            }\n                            else\n                            {\n                                OutputPipe = (BoilerOutputPipeState)replacement;\n                            }\n                        }\n                    }\n\n                    instance = OutputPipe;\n                    break;\n                }\n\n                case tempuri.org.UA.Examples.BoilerType.BrowseNames.FlowController:\n                {\n                    if (createOrReplace)\n                    {\n                        if (FlowController == null)\n                        {\n                            if (replacement == null)\n                            {\n                                FlowController = new FlowControllerState(this);\n                            }\n                            else\n                            {\n                                FlowController = (FlowControllerState)replacement;\n                            }\n                        }\n                    }\n\n                    instance = FlowController;\n                    break;\n                }\n\n                case tempuri.org.UA.Examples.BoilerType.BrowseNames.LevelController:\n                {\n                    if (createOrReplace)\n                    {\n                        if (LevelController == null)\n                        {\n                            if (replacement == null)\n                            {\n                                LevelController = new LevelControllerState(this);\n                            }\n                            else\n                            {\n                                LevelController = (LevelControllerState)replacement;\n                            }\n                        }\n                    }\n\n                    instance = LevelController;\n                    break;\n                }\n\n                case tempuri.org.UA.Examples.BoilerType.BrowseNames.CustomController:\n                {\n                    if (createOrReplace)\n                    {\n                        if (CustomController == null)\n                        {\n                            if (replacement == null)\n                            {\n                                CustomController = new CustomControllerState(this);\n                            }\n                            else\n                            {\n                                CustomController = (CustomControllerState)replacement;\n                            }\n                        }\n                    }\n\n                    instance = CustomController;\n                    break;\n                }\n\n                case tempuri.org.UA.Examples.BoilerType.BrowseNames.Simulation:\n                {\n                    if (createOrReplace)\n                    {\n                        if (Simulation == null)\n                        {\n                            if (replacement == null)\n                            {\n                                Simulation = new BoilerStateMachineState(this);\n                            }\n                            else\n                            {\n                                Simulation = (BoilerStateMachineState)replacement;\n                            }\n                        }\n                    }\n\n                    instance = Simulation;\n                    break;\n                }\n            }\n\n            if (instance != null)\n            {\n                return instance;\n            }\n\n            return base.FindChild(context, browseName, createOrReplace, replacement);\n        }\n        #endregion\n\n        #region Private Fields\n        private BoilerInputPipeState m_inputPipe;\n        private BoilerDrumState m_drum;\n        private BoilerOutputPipeState m_outputPipe;\n        private FlowControllerState m_flowController;\n        private LevelControllerState m_levelController;\n        private CustomControllerState m_customController;\n        private BoilerStateMachineState m_simulation;\n        #endregion\n    }\n    #endif\n    #endregion\n}"
  },
  {
    "path": "Networking/Simulator.Boiler/UAInformationModel/DemoConfiguration/BoilerType/tempuri.org.UA.Examples.BoilerType.NodeSet.xml",
    "content": "﻿<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<NodeSet xmlns:i=\"http://www.w3.org/2001/XMLSchema-instance\" xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n  <NamespaceUris>\n    <String>http://opcfoundation.org/UA/</String>\n    <String>http://tempuri.org/UA/Examples/BoilerType</String>\n  </NamespaceUris>\n  <ServerUris />\n  <Nodes>\n    <Node i:type=\"ReferenceTypeNode\">\n      <NodeId>\n        <Identifier>ns=1;i=1</Identifier>\n      </NodeId>\n      <NodeClass>ReferenceType_32</NodeClass>\n      <BrowseName>\n        <NamespaceIndex>1</NamespaceIndex>\n        <Name>FlowTo</Name>\n      </BrowseName>\n      <DisplayName>\n        <Locale></Locale>\n        <Text>FlowTo</Text>\n      </DisplayName>\n      <Description>\n        <Locale></Locale>\n        <Text>A reference that indicates a flow between two objects.</Text>\n      </Description>\n      <WriteMask>0</WriteMask>\n      <UserWriteMask>0</UserWriteMask>\n      <References>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=45</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>true</IsInverse>\n          <TargetId>\n            <Identifier>i=32</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=45</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=2</Identifier>\n          </TargetId>\n        </ReferenceNode>\n      </References>\n      <IsAbstract>false</IsAbstract>\n      <Symmetric>false</Symmetric>\n      <InverseName>\n        <Locale></Locale>\n        <Text>FlowFrom</Text>\n      </InverseName>\n    </Node>\n    <Node i:type=\"ReferenceTypeNode\">\n      <NodeId>\n        <Identifier>ns=1;i=2</Identifier>\n      </NodeId>\n      <NodeClass>ReferenceType_32</NodeClass>\n      <BrowseName>\n        <NamespaceIndex>1</NamespaceIndex>\n        <Name>HotFlowTo</Name>\n      </BrowseName>\n      <DisplayName>\n        <Locale></Locale>\n        <Text>HotFlowTo</Text>\n      </DisplayName>\n      <Description>\n        <Locale></Locale>\n        <Text>A reference that indicates a high temperature flow between two objects.</Text>\n      </Description>\n      <WriteMask>0</WriteMask>\n      <UserWriteMask>0</UserWriteMask>\n      <References>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=45</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>true</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=1</Identifier>\n          </TargetId>\n        </ReferenceNode>\n      </References>\n      <IsAbstract>false</IsAbstract>\n      <Symmetric>false</Symmetric>\n      <InverseName>\n        <Locale></Locale>\n        <Text>HotFlowFrom</Text>\n      </InverseName>\n    </Node>\n    <Node i:type=\"ReferenceTypeNode\">\n      <NodeId>\n        <Identifier>ns=1;i=3</Identifier>\n      </NodeId>\n      <NodeClass>ReferenceType_32</NodeClass>\n      <BrowseName>\n        <NamespaceIndex>1</NamespaceIndex>\n        <Name>SignalTo</Name>\n      </BrowseName>\n      <DisplayName>\n        <Locale></Locale>\n        <Text>SignalTo</Text>\n      </DisplayName>\n      <Description>\n        <Locale></Locale>\n        <Text>A reference that indicates an electrical signal between two variables.</Text>\n      </Description>\n      <WriteMask>0</WriteMask>\n      <UserWriteMask>0</UserWriteMask>\n      <References>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=45</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>true</IsInverse>\n          <TargetId>\n            <Identifier>i=32</Identifier>\n          </TargetId>\n        </ReferenceNode>\n      </References>\n      <IsAbstract>false</IsAbstract>\n      <Symmetric>false</Symmetric>\n      <InverseName>\n        <Locale></Locale>\n        <Text>SignalFrom</Text>\n      </InverseName>\n    </Node>\n    <Node i:type=\"ObjectTypeNode\">\n      <NodeId>\n        <Identifier>ns=1;i=4</Identifier>\n      </NodeId>\n      <NodeClass>ObjectType_8</NodeClass>\n      <BrowseName>\n        <NamespaceIndex>1</NamespaceIndex>\n        <Name>GenericControllerType</Name>\n      </BrowseName>\n      <DisplayName>\n        <Locale></Locale>\n        <Text>GenericControllerType</Text>\n      </DisplayName>\n      <Description>\n        <Locale></Locale>\n        <Text>A generic PID controller</Text>\n      </Description>\n      <WriteMask>0</WriteMask>\n      <UserWriteMask>0</UserWriteMask>\n      <References>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=45</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>true</IsInverse>\n          <TargetId>\n            <Identifier>i=58</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=46</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=5</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=46</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=6</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=46</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=7</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=45</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=35</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=45</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=39</Identifier>\n          </TargetId>\n        </ReferenceNode>\n      </References>\n      <IsAbstract>false</IsAbstract>\n    </Node>\n    <Node i:type=\"VariableNode\">\n      <NodeId>\n        <Identifier>ns=1;i=5</Identifier>\n      </NodeId>\n      <NodeClass>Variable_2</NodeClass>\n      <BrowseName>\n        <NamespaceIndex>1</NamespaceIndex>\n        <Name>Measurement</Name>\n      </BrowseName>\n      <DisplayName>\n        <Locale></Locale>\n        <Text>Measurement</Text>\n      </DisplayName>\n      <Description i:nil=\"true\" />\n      <WriteMask>0</WriteMask>\n      <UserWriteMask>0</UserWriteMask>\n      <References>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=46</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>true</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=4</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=40</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>i=68</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=37</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>i=78</Identifier>\n          </TargetId>\n        </ReferenceNode>\n      </References>\n      <Value>\n        <Value>\n          <Double xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">0</Double>\n        </Value>\n      </Value>\n      <DataType>\n        <Identifier>i=11</Identifier>\n      </DataType>\n      <ValueRank>-1</ValueRank>\n      <ArrayDimensions />\n      <AccessLevel>1</AccessLevel>\n      <UserAccessLevel>1</UserAccessLevel>\n      <MinimumSamplingInterval>0</MinimumSamplingInterval>\n      <Historizing>false</Historizing>\n    </Node>\n    <Node i:type=\"VariableNode\">\n      <NodeId>\n        <Identifier>ns=1;i=6</Identifier>\n      </NodeId>\n      <NodeClass>Variable_2</NodeClass>\n      <BrowseName>\n        <NamespaceIndex>1</NamespaceIndex>\n        <Name>SetPoint</Name>\n      </BrowseName>\n      <DisplayName>\n        <Locale></Locale>\n        <Text>SetPoint</Text>\n      </DisplayName>\n      <Description i:nil=\"true\" />\n      <WriteMask>0</WriteMask>\n      <UserWriteMask>0</UserWriteMask>\n      <References>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=46</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>true</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=4</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=40</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>i=68</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=37</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>i=78</Identifier>\n          </TargetId>\n        </ReferenceNode>\n      </References>\n      <Value>\n        <Value>\n          <Double xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">0</Double>\n        </Value>\n      </Value>\n      <DataType>\n        <Identifier>i=11</Identifier>\n      </DataType>\n      <ValueRank>-1</ValueRank>\n      <ArrayDimensions />\n      <AccessLevel>3</AccessLevel>\n      <UserAccessLevel>3</UserAccessLevel>\n      <MinimumSamplingInterval>0</MinimumSamplingInterval>\n      <Historizing>false</Historizing>\n    </Node>\n    <Node i:type=\"VariableNode\">\n      <NodeId>\n        <Identifier>ns=1;i=7</Identifier>\n      </NodeId>\n      <NodeClass>Variable_2</NodeClass>\n      <BrowseName>\n        <NamespaceIndex>1</NamespaceIndex>\n        <Name>ControlOut</Name>\n      </BrowseName>\n      <DisplayName>\n        <Locale></Locale>\n        <Text>ControlOut</Text>\n      </DisplayName>\n      <Description i:nil=\"true\" />\n      <WriteMask>0</WriteMask>\n      <UserWriteMask>0</UserWriteMask>\n      <References>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=46</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>true</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=4</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=40</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>i=68</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=37</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>i=78</Identifier>\n          </TargetId>\n        </ReferenceNode>\n      </References>\n      <Value>\n        <Value>\n          <Double xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">0</Double>\n        </Value>\n      </Value>\n      <DataType>\n        <Identifier>i=11</Identifier>\n      </DataType>\n      <ValueRank>-1</ValueRank>\n      <ArrayDimensions />\n      <AccessLevel>1</AccessLevel>\n      <UserAccessLevel>1</UserAccessLevel>\n      <MinimumSamplingInterval>0</MinimumSamplingInterval>\n      <Historizing>false</Historizing>\n    </Node>\n    <Node i:type=\"ObjectTypeNode\">\n      <NodeId>\n        <Identifier>ns=1;i=8</Identifier>\n      </NodeId>\n      <NodeClass>ObjectType_8</NodeClass>\n      <BrowseName>\n        <NamespaceIndex>1</NamespaceIndex>\n        <Name>GenericSensorType</Name>\n      </BrowseName>\n      <DisplayName>\n        <Locale></Locale>\n        <Text>GenericSensorType</Text>\n      </DisplayName>\n      <Description>\n        <Locale></Locale>\n        <Text>A generic sensor that read a process value.</Text>\n      </Description>\n      <WriteMask>0</WriteMask>\n      <UserWriteMask>0</UserWriteMask>\n      <References>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=45</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>true</IsInverse>\n          <TargetId>\n            <Identifier>i=58</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=47</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=9</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=45</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=43</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=45</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=50</Identifier>\n          </TargetId>\n        </ReferenceNode>\n      </References>\n      <IsAbstract>false</IsAbstract>\n    </Node>\n    <Node i:type=\"VariableNode\">\n      <NodeId>\n        <Identifier>ns=1;i=9</Identifier>\n      </NodeId>\n      <NodeClass>Variable_2</NodeClass>\n      <BrowseName>\n        <NamespaceIndex>1</NamespaceIndex>\n        <Name>Output</Name>\n      </BrowseName>\n      <DisplayName>\n        <Locale></Locale>\n        <Text>Output</Text>\n      </DisplayName>\n      <Description i:nil=\"true\" />\n      <WriteMask>0</WriteMask>\n      <UserWriteMask>0</UserWriteMask>\n      <References>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=47</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>true</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=8</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=40</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>i=2368</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=37</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>i=78</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=46</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=13</Identifier>\n          </TargetId>\n        </ReferenceNode>\n      </References>\n      <Value>\n        <Value>\n          <Double xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">0</Double>\n        </Value>\n      </Value>\n      <DataType>\n        <Identifier>i=11</Identifier>\n      </DataType>\n      <ValueRank>-1</ValueRank>\n      <ArrayDimensions />\n      <AccessLevel>1</AccessLevel>\n      <UserAccessLevel>1</UserAccessLevel>\n      <MinimumSamplingInterval>0</MinimumSamplingInterval>\n      <Historizing>false</Historizing>\n    </Node>\n    <Node i:type=\"VariableNode\">\n      <NodeId>\n        <Identifier>ns=1;i=13</Identifier>\n      </NodeId>\n      <NodeClass>Variable_2</NodeClass>\n      <BrowseName>\n        <NamespaceIndex>0</NamespaceIndex>\n        <Name>EURange</Name>\n      </BrowseName>\n      <DisplayName>\n        <Locale></Locale>\n        <Text>EURange</Text>\n      </DisplayName>\n      <Description i:nil=\"true\" />\n      <WriteMask>0</WriteMask>\n      <UserWriteMask>0</UserWriteMask>\n      <References>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=46</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>true</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=9</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=40</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>i=68</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=37</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>i=78</Identifier>\n          </TargetId>\n        </ReferenceNode>\n      </References>\n      <Value>\n        <Value>\n          <Null xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\" />\n        </Value>\n      </Value>\n      <DataType>\n        <Identifier>i=884</Identifier>\n      </DataType>\n      <ValueRank>-1</ValueRank>\n      <ArrayDimensions />\n      <AccessLevel>1</AccessLevel>\n      <UserAccessLevel>1</UserAccessLevel>\n      <MinimumSamplingInterval>0</MinimumSamplingInterval>\n      <Historizing>false</Historizing>\n    </Node>\n    <Node i:type=\"ObjectTypeNode\">\n      <NodeId>\n        <Identifier>ns=1;i=15</Identifier>\n      </NodeId>\n      <NodeClass>ObjectType_8</NodeClass>\n      <BrowseName>\n        <NamespaceIndex>1</NamespaceIndex>\n        <Name>GenericActuatorType</Name>\n      </BrowseName>\n      <DisplayName>\n        <Locale></Locale>\n        <Text>GenericActuatorType</Text>\n      </DisplayName>\n      <Description>\n        <Locale></Locale>\n        <Text>Represents a piece of equipment that causes some action to occur.</Text>\n      </Description>\n      <WriteMask>0</WriteMask>\n      <UserWriteMask>0</UserWriteMask>\n      <References>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=45</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>true</IsInverse>\n          <TargetId>\n            <Identifier>i=58</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=47</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=16</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=45</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=28</Identifier>\n          </TargetId>\n        </ReferenceNode>\n      </References>\n      <IsAbstract>false</IsAbstract>\n    </Node>\n    <Node i:type=\"VariableNode\">\n      <NodeId>\n        <Identifier>ns=1;i=16</Identifier>\n      </NodeId>\n      <NodeClass>Variable_2</NodeClass>\n      <BrowseName>\n        <NamespaceIndex>1</NamespaceIndex>\n        <Name>Input</Name>\n      </BrowseName>\n      <DisplayName>\n        <Locale></Locale>\n        <Text>Input</Text>\n      </DisplayName>\n      <Description i:nil=\"true\" />\n      <WriteMask>0</WriteMask>\n      <UserWriteMask>0</UserWriteMask>\n      <References>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=47</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>true</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=15</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=40</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>i=2368</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=37</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>i=78</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=46</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=20</Identifier>\n          </TargetId>\n        </ReferenceNode>\n      </References>\n      <Value>\n        <Value>\n          <Double xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">0</Double>\n        </Value>\n      </Value>\n      <DataType>\n        <Identifier>i=11</Identifier>\n      </DataType>\n      <ValueRank>-1</ValueRank>\n      <ArrayDimensions />\n      <AccessLevel>2</AccessLevel>\n      <UserAccessLevel>2</UserAccessLevel>\n      <MinimumSamplingInterval>0</MinimumSamplingInterval>\n      <Historizing>false</Historizing>\n    </Node>\n    <Node i:type=\"VariableNode\">\n      <NodeId>\n        <Identifier>ns=1;i=20</Identifier>\n      </NodeId>\n      <NodeClass>Variable_2</NodeClass>\n      <BrowseName>\n        <NamespaceIndex>0</NamespaceIndex>\n        <Name>EURange</Name>\n      </BrowseName>\n      <DisplayName>\n        <Locale></Locale>\n        <Text>EURange</Text>\n      </DisplayName>\n      <Description i:nil=\"true\" />\n      <WriteMask>0</WriteMask>\n      <UserWriteMask>0</UserWriteMask>\n      <References>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=46</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>true</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=16</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=40</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>i=68</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=37</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>i=78</Identifier>\n          </TargetId>\n        </ReferenceNode>\n      </References>\n      <Value>\n        <Value>\n          <Null xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\" />\n        </Value>\n      </Value>\n      <DataType>\n        <Identifier>i=884</Identifier>\n      </DataType>\n      <ValueRank>-1</ValueRank>\n      <ArrayDimensions />\n      <AccessLevel>1</AccessLevel>\n      <UserAccessLevel>1</UserAccessLevel>\n      <MinimumSamplingInterval>0</MinimumSamplingInterval>\n      <Historizing>false</Historizing>\n    </Node>\n    <Node i:type=\"ObjectTypeNode\">\n      <NodeId>\n        <Identifier>ns=1;i=22</Identifier>\n      </NodeId>\n      <NodeClass>ObjectType_8</NodeClass>\n      <BrowseName>\n        <NamespaceIndex>1</NamespaceIndex>\n        <Name>CustomControllerType</Name>\n      </BrowseName>\n      <DisplayName>\n        <Locale></Locale>\n        <Text>CustomControllerType</Text>\n      </DisplayName>\n      <Description>\n        <Locale></Locale>\n        <Text>A custom PID controller with 3 inputs</Text>\n      </Description>\n      <WriteMask>0</WriteMask>\n      <UserWriteMask>0</UserWriteMask>\n      <References>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=45</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>true</IsInverse>\n          <TargetId>\n            <Identifier>i=58</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=46</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=23</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=46</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=24</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=46</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=25</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=46</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=26</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=46</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=27</Identifier>\n          </TargetId>\n        </ReferenceNode>\n      </References>\n      <IsAbstract>false</IsAbstract>\n    </Node>\n    <Node i:type=\"VariableNode\">\n      <NodeId>\n        <Identifier>ns=1;i=23</Identifier>\n      </NodeId>\n      <NodeClass>Variable_2</NodeClass>\n      <BrowseName>\n        <NamespaceIndex>1</NamespaceIndex>\n        <Name>Input1</Name>\n      </BrowseName>\n      <DisplayName>\n        <Locale></Locale>\n        <Text>Input1</Text>\n      </DisplayName>\n      <Description i:nil=\"true\" />\n      <WriteMask>0</WriteMask>\n      <UserWriteMask>0</UserWriteMask>\n      <References>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=46</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>true</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=22</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=40</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>i=68</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=37</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>i=78</Identifier>\n          </TargetId>\n        </ReferenceNode>\n      </References>\n      <Value>\n        <Value>\n          <Double xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">0</Double>\n        </Value>\n      </Value>\n      <DataType>\n        <Identifier>i=11</Identifier>\n      </DataType>\n      <ValueRank>-1</ValueRank>\n      <ArrayDimensions />\n      <AccessLevel>2</AccessLevel>\n      <UserAccessLevel>2</UserAccessLevel>\n      <MinimumSamplingInterval>0</MinimumSamplingInterval>\n      <Historizing>false</Historizing>\n    </Node>\n    <Node i:type=\"VariableNode\">\n      <NodeId>\n        <Identifier>ns=1;i=24</Identifier>\n      </NodeId>\n      <NodeClass>Variable_2</NodeClass>\n      <BrowseName>\n        <NamespaceIndex>1</NamespaceIndex>\n        <Name>Input2</Name>\n      </BrowseName>\n      <DisplayName>\n        <Locale></Locale>\n        <Text>Input2</Text>\n      </DisplayName>\n      <Description i:nil=\"true\" />\n      <WriteMask>0</WriteMask>\n      <UserWriteMask>0</UserWriteMask>\n      <References>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=46</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>true</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=22</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=40</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>i=68</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=37</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>i=78</Identifier>\n          </TargetId>\n        </ReferenceNode>\n      </References>\n      <Value>\n        <Value>\n          <Double xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">0</Double>\n        </Value>\n      </Value>\n      <DataType>\n        <Identifier>i=11</Identifier>\n      </DataType>\n      <ValueRank>-1</ValueRank>\n      <ArrayDimensions />\n      <AccessLevel>2</AccessLevel>\n      <UserAccessLevel>2</UserAccessLevel>\n      <MinimumSamplingInterval>0</MinimumSamplingInterval>\n      <Historizing>false</Historizing>\n    </Node>\n    <Node i:type=\"VariableNode\">\n      <NodeId>\n        <Identifier>ns=1;i=25</Identifier>\n      </NodeId>\n      <NodeClass>Variable_2</NodeClass>\n      <BrowseName>\n        <NamespaceIndex>1</NamespaceIndex>\n        <Name>Input3</Name>\n      </BrowseName>\n      <DisplayName>\n        <Locale></Locale>\n        <Text>Input3</Text>\n      </DisplayName>\n      <Description i:nil=\"true\" />\n      <WriteMask>0</WriteMask>\n      <UserWriteMask>0</UserWriteMask>\n      <References>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=46</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>true</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=22</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=40</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>i=68</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=37</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>i=78</Identifier>\n          </TargetId>\n        </ReferenceNode>\n      </References>\n      <Value>\n        <Value>\n          <Double xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">0</Double>\n        </Value>\n      </Value>\n      <DataType>\n        <Identifier>i=11</Identifier>\n      </DataType>\n      <ValueRank>-1</ValueRank>\n      <ArrayDimensions />\n      <AccessLevel>2</AccessLevel>\n      <UserAccessLevel>2</UserAccessLevel>\n      <MinimumSamplingInterval>0</MinimumSamplingInterval>\n      <Historizing>false</Historizing>\n    </Node>\n    <Node i:type=\"VariableNode\">\n      <NodeId>\n        <Identifier>ns=1;i=26</Identifier>\n      </NodeId>\n      <NodeClass>Variable_2</NodeClass>\n      <BrowseName>\n        <NamespaceIndex>1</NamespaceIndex>\n        <Name>ControlOut</Name>\n      </BrowseName>\n      <DisplayName>\n        <Locale></Locale>\n        <Text>ControlOut</Text>\n      </DisplayName>\n      <Description i:nil=\"true\" />\n      <WriteMask>0</WriteMask>\n      <UserWriteMask>0</UserWriteMask>\n      <References>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=46</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>true</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=22</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=40</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>i=68</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=37</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>i=78</Identifier>\n          </TargetId>\n        </ReferenceNode>\n      </References>\n      <Value>\n        <Value>\n          <Double xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">0</Double>\n        </Value>\n      </Value>\n      <DataType>\n        <Identifier>i=11</Identifier>\n      </DataType>\n      <ValueRank>-1</ValueRank>\n      <ArrayDimensions />\n      <AccessLevel>1</AccessLevel>\n      <UserAccessLevel>1</UserAccessLevel>\n      <MinimumSamplingInterval>0</MinimumSamplingInterval>\n      <Historizing>false</Historizing>\n    </Node>\n    <Node i:type=\"VariableNode\">\n      <NodeId>\n        <Identifier>ns=1;i=27</Identifier>\n      </NodeId>\n      <NodeClass>Variable_2</NodeClass>\n      <BrowseName>\n        <NamespaceIndex>1</NamespaceIndex>\n        <Name>Description</Name>\n      </BrowseName>\n      <DisplayName>\n        <Locale></Locale>\n        <Text>Description</Text>\n      </DisplayName>\n      <Description i:nil=\"true\" />\n      <WriteMask>0</WriteMask>\n      <UserWriteMask>0</UserWriteMask>\n      <References>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=46</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>true</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=22</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=40</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>i=68</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=37</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>i=78</Identifier>\n          </TargetId>\n        </ReferenceNode>\n      </References>\n      <Value>\n        <Value>\n          <LocalizedText xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n            <Locale p2:nil=\"true\" xmlns:p2=\"http://www.w3.org/2001/XMLSchema-instance\" />\n            <Text p2:nil=\"true\" xmlns:p2=\"http://www.w3.org/2001/XMLSchema-instance\" />\n          </LocalizedText>\n        </Value>\n      </Value>\n      <DataType>\n        <Identifier>i=21</Identifier>\n      </DataType>\n      <ValueRank>-1</ValueRank>\n      <ArrayDimensions />\n      <AccessLevel>1</AccessLevel>\n      <UserAccessLevel>1</UserAccessLevel>\n      <MinimumSamplingInterval>0</MinimumSamplingInterval>\n      <Historizing>false</Historizing>\n    </Node>\n    <Node i:type=\"ObjectTypeNode\">\n      <NodeId>\n        <Identifier>ns=1;i=28</Identifier>\n      </NodeId>\n      <NodeClass>ObjectType_8</NodeClass>\n      <BrowseName>\n        <NamespaceIndex>1</NamespaceIndex>\n        <Name>ValveType</Name>\n      </BrowseName>\n      <DisplayName>\n        <Locale></Locale>\n        <Text>ValveType</Text>\n      </DisplayName>\n      <Description>\n        <Locale></Locale>\n        <Text>An actuator that controls the flow through a pipe.</Text>\n      </Description>\n      <WriteMask>0</WriteMask>\n      <UserWriteMask>0</UserWriteMask>\n      <References>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=45</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>true</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=15</Identifier>\n          </TargetId>\n        </ReferenceNode>\n      </References>\n      <IsAbstract>false</IsAbstract>\n    </Node>\n    <Node i:type=\"ObjectTypeNode\">\n      <NodeId>\n        <Identifier>ns=1;i=35</Identifier>\n      </NodeId>\n      <NodeClass>ObjectType_8</NodeClass>\n      <BrowseName>\n        <NamespaceIndex>1</NamespaceIndex>\n        <Name>LevelControllerType</Name>\n      </BrowseName>\n      <DisplayName>\n        <Locale></Locale>\n        <Text>LevelControllerType</Text>\n      </DisplayName>\n      <Description>\n        <Locale></Locale>\n        <Text>A controller for the level of a fluid in a drum.</Text>\n      </Description>\n      <WriteMask>0</WriteMask>\n      <UserWriteMask>0</UserWriteMask>\n      <References>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=45</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>true</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=4</Identifier>\n          </TargetId>\n        </ReferenceNode>\n      </References>\n      <IsAbstract>false</IsAbstract>\n    </Node>\n    <Node i:type=\"ObjectTypeNode\">\n      <NodeId>\n        <Identifier>ns=1;i=39</Identifier>\n      </NodeId>\n      <NodeClass>ObjectType_8</NodeClass>\n      <BrowseName>\n        <NamespaceIndex>1</NamespaceIndex>\n        <Name>FlowControllerType</Name>\n      </BrowseName>\n      <DisplayName>\n        <Locale></Locale>\n        <Text>FlowControllerType</Text>\n      </DisplayName>\n      <Description>\n        <Locale></Locale>\n        <Text>A controller for the flow of a fluid through a pipe.</Text>\n      </Description>\n      <WriteMask>0</WriteMask>\n      <UserWriteMask>0</UserWriteMask>\n      <References>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=45</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>true</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=4</Identifier>\n          </TargetId>\n        </ReferenceNode>\n      </References>\n      <IsAbstract>false</IsAbstract>\n    </Node>\n    <Node i:type=\"ObjectTypeNode\">\n      <NodeId>\n        <Identifier>ns=1;i=43</Identifier>\n      </NodeId>\n      <NodeClass>ObjectType_8</NodeClass>\n      <BrowseName>\n        <NamespaceIndex>1</NamespaceIndex>\n        <Name>LevelIndicatorType</Name>\n      </BrowseName>\n      <DisplayName>\n        <Locale></Locale>\n        <Text>LevelIndicatorType</Text>\n      </DisplayName>\n      <Description>\n        <Locale></Locale>\n        <Text>A sensor that reports the level of a liquid in a tank.</Text>\n      </Description>\n      <WriteMask>0</WriteMask>\n      <UserWriteMask>0</UserWriteMask>\n      <References>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=45</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>true</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=8</Identifier>\n          </TargetId>\n        </ReferenceNode>\n      </References>\n      <IsAbstract>false</IsAbstract>\n    </Node>\n    <Node i:type=\"ObjectTypeNode\">\n      <NodeId>\n        <Identifier>ns=1;i=50</Identifier>\n      </NodeId>\n      <NodeClass>ObjectType_8</NodeClass>\n      <BrowseName>\n        <NamespaceIndex>1</NamespaceIndex>\n        <Name>FlowTransmitterType</Name>\n      </BrowseName>\n      <DisplayName>\n        <Locale></Locale>\n        <Text>FlowTransmitterType</Text>\n      </DisplayName>\n      <Description>\n        <Locale></Locale>\n        <Text>A sensor that reports the flow of a liquid through a pipe.</Text>\n      </Description>\n      <WriteMask>0</WriteMask>\n      <UserWriteMask>0</UserWriteMask>\n      <References>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=45</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>true</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=8</Identifier>\n          </TargetId>\n        </ReferenceNode>\n      </References>\n      <IsAbstract>false</IsAbstract>\n    </Node>\n    <Node i:type=\"ObjectTypeNode\">\n      <NodeId>\n        <Identifier>ns=1;i=57</Identifier>\n      </NodeId>\n      <NodeClass>ObjectType_8</NodeClass>\n      <BrowseName>\n        <NamespaceIndex>1</NamespaceIndex>\n        <Name>BoilerStateMachineType</Name>\n      </BrowseName>\n      <DisplayName>\n        <Locale></Locale>\n        <Text>BoilerStateMachineType</Text>\n      </DisplayName>\n      <Description>\n        <Locale></Locale>\n        <Text>A program that produces simulated values for a running boiler.</Text>\n      </Description>\n      <WriteMask>0</WriteMask>\n      <UserWriteMask>0</UserWriteMask>\n      <References>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=45</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>true</IsInverse>\n          <TargetId>\n            <Identifier>i=2391</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=46</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=119</Identifier>\n          </TargetId>\n        </ReferenceNode>\n      </References>\n      <IsAbstract>false</IsAbstract>\n    </Node>\n    <Node i:type=\"VariableNode\">\n      <NodeId>\n        <Identifier>ns=1;i=119</Identifier>\n      </NodeId>\n      <NodeClass>Variable_2</NodeClass>\n      <BrowseName>\n        <NamespaceIndex>1</NamespaceIndex>\n        <Name>UpdateRate</Name>\n      </BrowseName>\n      <DisplayName>\n        <Locale></Locale>\n        <Text>UpdateRate</Text>\n      </DisplayName>\n      <Description>\n        <Locale></Locale>\n        <Text>The rate at which the simulation runs.</Text>\n      </Description>\n      <WriteMask>0</WriteMask>\n      <UserWriteMask>0</UserWriteMask>\n      <References>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=46</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>true</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=57</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=40</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>i=68</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=37</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>i=78</Identifier>\n          </TargetId>\n        </ReferenceNode>\n      </References>\n      <Value>\n        <Value>\n          <UInt32 xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">0</UInt32>\n        </Value>\n      </Value>\n      <DataType>\n        <Identifier>i=7</Identifier>\n      </DataType>\n      <ValueRank>-1</ValueRank>\n      <ArrayDimensions />\n      <AccessLevel>3</AccessLevel>\n      <UserAccessLevel>3</UserAccessLevel>\n      <MinimumSamplingInterval>0</MinimumSamplingInterval>\n      <Historizing>false</Historizing>\n    </Node>\n    <Node i:type=\"ObjectTypeNode\">\n      <NodeId>\n        <Identifier>ns=1;i=120</Identifier>\n      </NodeId>\n      <NodeClass>ObjectType_8</NodeClass>\n      <BrowseName>\n        <NamespaceIndex>1</NamespaceIndex>\n        <Name>BoilerInputPipeType</Name>\n      </BrowseName>\n      <DisplayName>\n        <Locale></Locale>\n        <Text>BoilerInputPipeType</Text>\n      </DisplayName>\n      <Description i:nil=\"true\" />\n      <WriteMask>0</WriteMask>\n      <UserWriteMask>0</UserWriteMask>\n      <References>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=45</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>true</IsInverse>\n          <TargetId>\n            <Identifier>i=61</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=48</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=121</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=47</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=121</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=47</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=128</Identifier>\n          </TargetId>\n        </ReferenceNode>\n      </References>\n      <IsAbstract>false</IsAbstract>\n    </Node>\n    <Node i:type=\"ObjectNode\">\n      <NodeId>\n        <Identifier>ns=1;i=121</Identifier>\n      </NodeId>\n      <NodeClass>Object_1</NodeClass>\n      <BrowseName>\n        <NamespaceIndex>1</NamespaceIndex>\n        <Name>FTX001</Name>\n      </BrowseName>\n      <DisplayName>\n        <Locale></Locale>\n        <Text>FlowTransmitter1</Text>\n      </DisplayName>\n      <Description i:nil=\"true\" />\n      <WriteMask>0</WriteMask>\n      <UserWriteMask>0</UserWriteMask>\n      <References>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=47</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>true</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=120</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=40</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=50</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=37</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>i=78</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=47</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=122</Identifier>\n          </TargetId>\n        </ReferenceNode>\n      </References>\n      <EventNotifier>1</EventNotifier>\n    </Node>\n    <Node i:type=\"VariableNode\">\n      <NodeId>\n        <Identifier>ns=1;i=122</Identifier>\n      </NodeId>\n      <NodeClass>Variable_2</NodeClass>\n      <BrowseName>\n        <NamespaceIndex>1</NamespaceIndex>\n        <Name>Output</Name>\n      </BrowseName>\n      <DisplayName>\n        <Locale></Locale>\n        <Text>Output</Text>\n      </DisplayName>\n      <Description i:nil=\"true\" />\n      <WriteMask>0</WriteMask>\n      <UserWriteMask>0</UserWriteMask>\n      <References>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=47</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>true</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=121</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=40</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>i=2368</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=37</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>i=78</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=46</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=126</Identifier>\n          </TargetId>\n        </ReferenceNode>\n      </References>\n      <Value>\n        <Value>\n          <Double xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">0</Double>\n        </Value>\n      </Value>\n      <DataType>\n        <Identifier>i=11</Identifier>\n      </DataType>\n      <ValueRank>-1</ValueRank>\n      <ArrayDimensions />\n      <AccessLevel>1</AccessLevel>\n      <UserAccessLevel>1</UserAccessLevel>\n      <MinimumSamplingInterval>0</MinimumSamplingInterval>\n      <Historizing>false</Historizing>\n    </Node>\n    <Node i:type=\"VariableNode\">\n      <NodeId>\n        <Identifier>ns=1;i=126</Identifier>\n      </NodeId>\n      <NodeClass>Variable_2</NodeClass>\n      <BrowseName>\n        <NamespaceIndex>0</NamespaceIndex>\n        <Name>EURange</Name>\n      </BrowseName>\n      <DisplayName>\n        <Locale></Locale>\n        <Text>EURange</Text>\n      </DisplayName>\n      <Description i:nil=\"true\" />\n      <WriteMask>0</WriteMask>\n      <UserWriteMask>0</UserWriteMask>\n      <References>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=46</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>true</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=122</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=40</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>i=68</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=37</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>i=78</Identifier>\n          </TargetId>\n        </ReferenceNode>\n      </References>\n      <Value>\n        <Value>\n          <Null xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\" />\n        </Value>\n      </Value>\n      <DataType>\n        <Identifier>i=884</Identifier>\n      </DataType>\n      <ValueRank>-1</ValueRank>\n      <ArrayDimensions />\n      <AccessLevel>1</AccessLevel>\n      <UserAccessLevel>1</UserAccessLevel>\n      <MinimumSamplingInterval>0</MinimumSamplingInterval>\n      <Historizing>false</Historizing>\n    </Node>\n    <Node i:type=\"ObjectNode\">\n      <NodeId>\n        <Identifier>ns=1;i=128</Identifier>\n      </NodeId>\n      <NodeClass>Object_1</NodeClass>\n      <BrowseName>\n        <NamespaceIndex>1</NamespaceIndex>\n        <Name>ValveX001</Name>\n      </BrowseName>\n      <DisplayName>\n        <Locale></Locale>\n        <Text>Valve</Text>\n      </DisplayName>\n      <Description i:nil=\"true\" />\n      <WriteMask>0</WriteMask>\n      <UserWriteMask>0</UserWriteMask>\n      <References>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=47</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>true</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=120</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=40</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=28</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=37</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>i=78</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=47</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=129</Identifier>\n          </TargetId>\n        </ReferenceNode>\n      </References>\n      <EventNotifier>1</EventNotifier>\n    </Node>\n    <Node i:type=\"VariableNode\">\n      <NodeId>\n        <Identifier>ns=1;i=129</Identifier>\n      </NodeId>\n      <NodeClass>Variable_2</NodeClass>\n      <BrowseName>\n        <NamespaceIndex>1</NamespaceIndex>\n        <Name>Input</Name>\n      </BrowseName>\n      <DisplayName>\n        <Locale></Locale>\n        <Text>Input</Text>\n      </DisplayName>\n      <Description i:nil=\"true\" />\n      <WriteMask>0</WriteMask>\n      <UserWriteMask>0</UserWriteMask>\n      <References>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=47</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>true</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=128</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=40</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>i=2368</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=37</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>i=78</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=46</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=133</Identifier>\n          </TargetId>\n        </ReferenceNode>\n      </References>\n      <Value>\n        <Value>\n          <Double xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">0</Double>\n        </Value>\n      </Value>\n      <DataType>\n        <Identifier>i=11</Identifier>\n      </DataType>\n      <ValueRank>-1</ValueRank>\n      <ArrayDimensions />\n      <AccessLevel>2</AccessLevel>\n      <UserAccessLevel>2</UserAccessLevel>\n      <MinimumSamplingInterval>0</MinimumSamplingInterval>\n      <Historizing>false</Historizing>\n    </Node>\n    <Node i:type=\"VariableNode\">\n      <NodeId>\n        <Identifier>ns=1;i=133</Identifier>\n      </NodeId>\n      <NodeClass>Variable_2</NodeClass>\n      <BrowseName>\n        <NamespaceIndex>0</NamespaceIndex>\n        <Name>EURange</Name>\n      </BrowseName>\n      <DisplayName>\n        <Locale></Locale>\n        <Text>EURange</Text>\n      </DisplayName>\n      <Description i:nil=\"true\" />\n      <WriteMask>0</WriteMask>\n      <UserWriteMask>0</UserWriteMask>\n      <References>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=46</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>true</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=129</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=40</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>i=68</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=37</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>i=78</Identifier>\n          </TargetId>\n        </ReferenceNode>\n      </References>\n      <Value>\n        <Value>\n          <Null xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\" />\n        </Value>\n      </Value>\n      <DataType>\n        <Identifier>i=884</Identifier>\n      </DataType>\n      <ValueRank>-1</ValueRank>\n      <ArrayDimensions />\n      <AccessLevel>1</AccessLevel>\n      <UserAccessLevel>1</UserAccessLevel>\n      <MinimumSamplingInterval>0</MinimumSamplingInterval>\n      <Historizing>false</Historizing>\n    </Node>\n    <Node i:type=\"ObjectTypeNode\">\n      <NodeId>\n        <Identifier>ns=1;i=135</Identifier>\n      </NodeId>\n      <NodeClass>ObjectType_8</NodeClass>\n      <BrowseName>\n        <NamespaceIndex>1</NamespaceIndex>\n        <Name>BoilerDrumType</Name>\n      </BrowseName>\n      <DisplayName>\n        <Locale></Locale>\n        <Text>BoilerDrumType</Text>\n      </DisplayName>\n      <Description i:nil=\"true\" />\n      <WriteMask>0</WriteMask>\n      <UserWriteMask>0</UserWriteMask>\n      <References>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=45</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>true</IsInverse>\n          <TargetId>\n            <Identifier>i=61</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=48</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=136</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=47</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=136</Identifier>\n          </TargetId>\n        </ReferenceNode>\n      </References>\n      <IsAbstract>false</IsAbstract>\n    </Node>\n    <Node i:type=\"ObjectNode\">\n      <NodeId>\n        <Identifier>ns=1;i=136</Identifier>\n      </NodeId>\n      <NodeClass>Object_1</NodeClass>\n      <BrowseName>\n        <NamespaceIndex>1</NamespaceIndex>\n        <Name>LIX001</Name>\n      </BrowseName>\n      <DisplayName>\n        <Locale></Locale>\n        <Text>LIX001</Text>\n      </DisplayName>\n      <Description i:nil=\"true\" />\n      <WriteMask>0</WriteMask>\n      <UserWriteMask>0</UserWriteMask>\n      <References>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=47</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>true</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=135</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=40</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=43</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=37</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>i=78</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=47</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=137</Identifier>\n          </TargetId>\n        </ReferenceNode>\n      </References>\n      <EventNotifier>1</EventNotifier>\n    </Node>\n    <Node i:type=\"VariableNode\">\n      <NodeId>\n        <Identifier>ns=1;i=137</Identifier>\n      </NodeId>\n      <NodeClass>Variable_2</NodeClass>\n      <BrowseName>\n        <NamespaceIndex>1</NamespaceIndex>\n        <Name>Output</Name>\n      </BrowseName>\n      <DisplayName>\n        <Locale></Locale>\n        <Text>Output</Text>\n      </DisplayName>\n      <Description i:nil=\"true\" />\n      <WriteMask>0</WriteMask>\n      <UserWriteMask>0</UserWriteMask>\n      <References>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=47</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>true</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=136</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=40</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>i=2368</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=37</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>i=78</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=46</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=141</Identifier>\n          </TargetId>\n        </ReferenceNode>\n      </References>\n      <Value>\n        <Value>\n          <Double xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">0</Double>\n        </Value>\n      </Value>\n      <DataType>\n        <Identifier>i=11</Identifier>\n      </DataType>\n      <ValueRank>-1</ValueRank>\n      <ArrayDimensions />\n      <AccessLevel>1</AccessLevel>\n      <UserAccessLevel>1</UserAccessLevel>\n      <MinimumSamplingInterval>0</MinimumSamplingInterval>\n      <Historizing>false</Historizing>\n    </Node>\n    <Node i:type=\"VariableNode\">\n      <NodeId>\n        <Identifier>ns=1;i=141</Identifier>\n      </NodeId>\n      <NodeClass>Variable_2</NodeClass>\n      <BrowseName>\n        <NamespaceIndex>0</NamespaceIndex>\n        <Name>EURange</Name>\n      </BrowseName>\n      <DisplayName>\n        <Locale></Locale>\n        <Text>EURange</Text>\n      </DisplayName>\n      <Description i:nil=\"true\" />\n      <WriteMask>0</WriteMask>\n      <UserWriteMask>0</UserWriteMask>\n      <References>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=46</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>true</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=137</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=40</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>i=68</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=37</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>i=78</Identifier>\n          </TargetId>\n        </ReferenceNode>\n      </References>\n      <Value>\n        <Value>\n          <Null xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\" />\n        </Value>\n      </Value>\n      <DataType>\n        <Identifier>i=884</Identifier>\n      </DataType>\n      <ValueRank>-1</ValueRank>\n      <ArrayDimensions />\n      <AccessLevel>1</AccessLevel>\n      <UserAccessLevel>1</UserAccessLevel>\n      <MinimumSamplingInterval>0</MinimumSamplingInterval>\n      <Historizing>false</Historizing>\n    </Node>\n    <Node i:type=\"ObjectTypeNode\">\n      <NodeId>\n        <Identifier>ns=1;i=143</Identifier>\n      </NodeId>\n      <NodeClass>ObjectType_8</NodeClass>\n      <BrowseName>\n        <NamespaceIndex>1</NamespaceIndex>\n        <Name>BoilerOutputPipeType</Name>\n      </BrowseName>\n      <DisplayName>\n        <Locale></Locale>\n        <Text>BoilerOutputPipeType</Text>\n      </DisplayName>\n      <Description i:nil=\"true\" />\n      <WriteMask>0</WriteMask>\n      <UserWriteMask>0</UserWriteMask>\n      <References>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=45</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>true</IsInverse>\n          <TargetId>\n            <Identifier>i=61</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=48</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=144</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=47</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=144</Identifier>\n          </TargetId>\n        </ReferenceNode>\n      </References>\n      <IsAbstract>false</IsAbstract>\n    </Node>\n    <Node i:type=\"ObjectNode\">\n      <NodeId>\n        <Identifier>ns=1;i=144</Identifier>\n      </NodeId>\n      <NodeClass>Object_1</NodeClass>\n      <BrowseName>\n        <NamespaceIndex>1</NamespaceIndex>\n        <Name>FTX002</Name>\n      </BrowseName>\n      <DisplayName>\n        <Locale></Locale>\n        <Text>FTX002</Text>\n      </DisplayName>\n      <Description i:nil=\"true\" />\n      <WriteMask>0</WriteMask>\n      <UserWriteMask>0</UserWriteMask>\n      <References>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=47</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>true</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=143</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=40</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=50</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=37</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>i=78</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=47</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=145</Identifier>\n          </TargetId>\n        </ReferenceNode>\n      </References>\n      <EventNotifier>1</EventNotifier>\n    </Node>\n    <Node i:type=\"VariableNode\">\n      <NodeId>\n        <Identifier>ns=1;i=145</Identifier>\n      </NodeId>\n      <NodeClass>Variable_2</NodeClass>\n      <BrowseName>\n        <NamespaceIndex>1</NamespaceIndex>\n        <Name>Output</Name>\n      </BrowseName>\n      <DisplayName>\n        <Locale></Locale>\n        <Text>Output</Text>\n      </DisplayName>\n      <Description i:nil=\"true\" />\n      <WriteMask>0</WriteMask>\n      <UserWriteMask>0</UserWriteMask>\n      <References>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=47</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>true</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=144</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=40</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>i=2368</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=37</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>i=78</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=46</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=149</Identifier>\n          </TargetId>\n        </ReferenceNode>\n      </References>\n      <Value>\n        <Value>\n          <Double xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">0</Double>\n        </Value>\n      </Value>\n      <DataType>\n        <Identifier>i=11</Identifier>\n      </DataType>\n      <ValueRank>-1</ValueRank>\n      <ArrayDimensions />\n      <AccessLevel>1</AccessLevel>\n      <UserAccessLevel>1</UserAccessLevel>\n      <MinimumSamplingInterval>0</MinimumSamplingInterval>\n      <Historizing>false</Historizing>\n    </Node>\n    <Node i:type=\"VariableNode\">\n      <NodeId>\n        <Identifier>ns=1;i=149</Identifier>\n      </NodeId>\n      <NodeClass>Variable_2</NodeClass>\n      <BrowseName>\n        <NamespaceIndex>0</NamespaceIndex>\n        <Name>EURange</Name>\n      </BrowseName>\n      <DisplayName>\n        <Locale></Locale>\n        <Text>EURange</Text>\n      </DisplayName>\n      <Description i:nil=\"true\" />\n      <WriteMask>0</WriteMask>\n      <UserWriteMask>0</UserWriteMask>\n      <References>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=46</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>true</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=145</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=40</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>i=68</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=37</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>i=78</Identifier>\n          </TargetId>\n        </ReferenceNode>\n      </References>\n      <Value>\n        <Value>\n          <Null xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\" />\n        </Value>\n      </Value>\n      <DataType>\n        <Identifier>i=884</Identifier>\n      </DataType>\n      <ValueRank>-1</ValueRank>\n      <ArrayDimensions />\n      <AccessLevel>1</AccessLevel>\n      <UserAccessLevel>1</UserAccessLevel>\n      <MinimumSamplingInterval>0</MinimumSamplingInterval>\n      <Historizing>false</Historizing>\n    </Node>\n    <Node i:type=\"ObjectTypeNode\">\n      <NodeId>\n        <Identifier>ns=1;i=151</Identifier>\n      </NodeId>\n      <NodeClass>ObjectType_8</NodeClass>\n      <BrowseName>\n        <NamespaceIndex>1</NamespaceIndex>\n        <Name>BoilerType</Name>\n      </BrowseName>\n      <DisplayName>\n        <Locale></Locale>\n        <Text>BoilerType</Text>\n      </DisplayName>\n      <Description>\n        <Locale></Locale>\n        <Text>A boiler used to produce steam for a turbine.</Text>\n      </Description>\n      <WriteMask>0</WriteMask>\n      <UserWriteMask>0</UserWriteMask>\n      <References>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=45</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>true</IsInverse>\n          <TargetId>\n            <Identifier>i=58</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=48</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=152</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=48</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=167</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=48</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=175</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=36</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=197</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=47</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=152</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=47</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=167</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=47</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=175</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=47</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=183</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=47</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=187</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=47</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=191</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=47</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=197</Identifier>\n          </TargetId>\n        </ReferenceNode>\n      </References>\n      <IsAbstract>false</IsAbstract>\n    </Node>\n    <Node i:type=\"ObjectNode\">\n      <NodeId>\n        <Identifier>ns=1;i=152</Identifier>\n      </NodeId>\n      <NodeClass>Object_1</NodeClass>\n      <BrowseName>\n        <NamespaceIndex>1</NamespaceIndex>\n        <Name>PipeX001</Name>\n      </BrowseName>\n      <DisplayName>\n        <Locale></Locale>\n        <Text>InputPipe</Text>\n      </DisplayName>\n      <Description i:nil=\"true\" />\n      <WriteMask>0</WriteMask>\n      <UserWriteMask>0</UserWriteMask>\n      <References>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=47</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>true</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=151</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=40</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=120</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=37</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>i=78</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=48</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=153</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>ns=1;i=1</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=167</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=47</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=153</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=47</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=160</Identifier>\n          </TargetId>\n        </ReferenceNode>\n      </References>\n      <EventNotifier>1</EventNotifier>\n    </Node>\n    <Node i:type=\"ObjectNode\">\n      <NodeId>\n        <Identifier>ns=1;i=153</Identifier>\n      </NodeId>\n      <NodeClass>Object_1</NodeClass>\n      <BrowseName>\n        <NamespaceIndex>1</NamespaceIndex>\n        <Name>FTX001</Name>\n      </BrowseName>\n      <DisplayName>\n        <Locale></Locale>\n        <Text>FlowTransmitter1</Text>\n      </DisplayName>\n      <Description i:nil=\"true\" />\n      <WriteMask>0</WriteMask>\n      <UserWriteMask>0</UserWriteMask>\n      <References>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=47</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>true</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=152</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=40</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=50</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=37</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>i=78</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=48</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>true</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=152</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=47</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=154</Identifier>\n          </TargetId>\n        </ReferenceNode>\n      </References>\n      <EventNotifier>1</EventNotifier>\n    </Node>\n    <Node i:type=\"VariableNode\">\n      <NodeId>\n        <Identifier>ns=1;i=154</Identifier>\n      </NodeId>\n      <NodeClass>Variable_2</NodeClass>\n      <BrowseName>\n        <NamespaceIndex>1</NamespaceIndex>\n        <Name>Output</Name>\n      </BrowseName>\n      <DisplayName>\n        <Locale></Locale>\n        <Text>Output</Text>\n      </DisplayName>\n      <Description i:nil=\"true\" />\n      <WriteMask>0</WriteMask>\n      <UserWriteMask>0</UserWriteMask>\n      <References>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=47</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>true</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=153</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=40</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>i=2368</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=37</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>i=78</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>ns=1;i=3</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=184</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>ns=1;i=3</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=193</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=46</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=158</Identifier>\n          </TargetId>\n        </ReferenceNode>\n      </References>\n      <Value>\n        <Value>\n          <Double xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">0</Double>\n        </Value>\n      </Value>\n      <DataType>\n        <Identifier>i=11</Identifier>\n      </DataType>\n      <ValueRank>-1</ValueRank>\n      <ArrayDimensions />\n      <AccessLevel>1</AccessLevel>\n      <UserAccessLevel>1</UserAccessLevel>\n      <MinimumSamplingInterval>0</MinimumSamplingInterval>\n      <Historizing>false</Historizing>\n    </Node>\n    <Node i:type=\"VariableNode\">\n      <NodeId>\n        <Identifier>ns=1;i=158</Identifier>\n      </NodeId>\n      <NodeClass>Variable_2</NodeClass>\n      <BrowseName>\n        <NamespaceIndex>0</NamespaceIndex>\n        <Name>EURange</Name>\n      </BrowseName>\n      <DisplayName>\n        <Locale></Locale>\n        <Text>EURange</Text>\n      </DisplayName>\n      <Description i:nil=\"true\" />\n      <WriteMask>0</WriteMask>\n      <UserWriteMask>0</UserWriteMask>\n      <References>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=46</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>true</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=154</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=40</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>i=68</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=37</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>i=78</Identifier>\n          </TargetId>\n        </ReferenceNode>\n      </References>\n      <Value>\n        <Value>\n          <Null xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\" />\n        </Value>\n      </Value>\n      <DataType>\n        <Identifier>i=884</Identifier>\n      </DataType>\n      <ValueRank>-1</ValueRank>\n      <ArrayDimensions />\n      <AccessLevel>1</AccessLevel>\n      <UserAccessLevel>1</UserAccessLevel>\n      <MinimumSamplingInterval>0</MinimumSamplingInterval>\n      <Historizing>false</Historizing>\n    </Node>\n    <Node i:type=\"ObjectNode\">\n      <NodeId>\n        <Identifier>ns=1;i=160</Identifier>\n      </NodeId>\n      <NodeClass>Object_1</NodeClass>\n      <BrowseName>\n        <NamespaceIndex>1</NamespaceIndex>\n        <Name>ValveX001</Name>\n      </BrowseName>\n      <DisplayName>\n        <Locale></Locale>\n        <Text>Valve</Text>\n      </DisplayName>\n      <Description i:nil=\"true\" />\n      <WriteMask>0</WriteMask>\n      <UserWriteMask>0</UserWriteMask>\n      <References>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=47</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>true</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=152</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=40</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=28</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=37</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>i=78</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=47</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=161</Identifier>\n          </TargetId>\n        </ReferenceNode>\n      </References>\n      <EventNotifier>1</EventNotifier>\n    </Node>\n    <Node i:type=\"VariableNode\">\n      <NodeId>\n        <Identifier>ns=1;i=161</Identifier>\n      </NodeId>\n      <NodeClass>Variable_2</NodeClass>\n      <BrowseName>\n        <NamespaceIndex>1</NamespaceIndex>\n        <Name>Input</Name>\n      </BrowseName>\n      <DisplayName>\n        <Locale></Locale>\n        <Text>Input</Text>\n      </DisplayName>\n      <Description i:nil=\"true\" />\n      <WriteMask>0</WriteMask>\n      <UserWriteMask>0</UserWriteMask>\n      <References>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=47</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>true</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=160</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=40</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>i=2368</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=37</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>i=78</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>ns=1;i=3</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>true</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=186</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=46</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=165</Identifier>\n          </TargetId>\n        </ReferenceNode>\n      </References>\n      <Value>\n        <Value>\n          <Double xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">0</Double>\n        </Value>\n      </Value>\n      <DataType>\n        <Identifier>i=11</Identifier>\n      </DataType>\n      <ValueRank>-1</ValueRank>\n      <ArrayDimensions />\n      <AccessLevel>2</AccessLevel>\n      <UserAccessLevel>2</UserAccessLevel>\n      <MinimumSamplingInterval>0</MinimumSamplingInterval>\n      <Historizing>false</Historizing>\n    </Node>\n    <Node i:type=\"VariableNode\">\n      <NodeId>\n        <Identifier>ns=1;i=165</Identifier>\n      </NodeId>\n      <NodeClass>Variable_2</NodeClass>\n      <BrowseName>\n        <NamespaceIndex>0</NamespaceIndex>\n        <Name>EURange</Name>\n      </BrowseName>\n      <DisplayName>\n        <Locale></Locale>\n        <Text>EURange</Text>\n      </DisplayName>\n      <Description i:nil=\"true\" />\n      <WriteMask>0</WriteMask>\n      <UserWriteMask>0</UserWriteMask>\n      <References>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=46</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>true</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=161</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=40</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>i=68</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=37</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>i=78</Identifier>\n          </TargetId>\n        </ReferenceNode>\n      </References>\n      <Value>\n        <Value>\n          <Null xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\" />\n        </Value>\n      </Value>\n      <DataType>\n        <Identifier>i=884</Identifier>\n      </DataType>\n      <ValueRank>-1</ValueRank>\n      <ArrayDimensions />\n      <AccessLevel>1</AccessLevel>\n      <UserAccessLevel>1</UserAccessLevel>\n      <MinimumSamplingInterval>0</MinimumSamplingInterval>\n      <Historizing>false</Historizing>\n    </Node>\n    <Node i:type=\"ObjectNode\">\n      <NodeId>\n        <Identifier>ns=1;i=167</Identifier>\n      </NodeId>\n      <NodeClass>Object_1</NodeClass>\n      <BrowseName>\n        <NamespaceIndex>1</NamespaceIndex>\n        <Name>DrumX001</Name>\n      </BrowseName>\n      <DisplayName>\n        <Locale></Locale>\n        <Text>Drum</Text>\n      </DisplayName>\n      <Description i:nil=\"true\" />\n      <WriteMask>0</WriteMask>\n      <UserWriteMask>0</UserWriteMask>\n      <References>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=47</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>true</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=151</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=40</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=135</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=37</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>i=78</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>ns=1;i=1</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>true</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=152</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=48</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=168</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>ns=1;i=2</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=175</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=47</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=168</Identifier>\n          </TargetId>\n        </ReferenceNode>\n      </References>\n      <EventNotifier>1</EventNotifier>\n    </Node>\n    <Node i:type=\"ObjectNode\">\n      <NodeId>\n        <Identifier>ns=1;i=168</Identifier>\n      </NodeId>\n      <NodeClass>Object_1</NodeClass>\n      <BrowseName>\n        <NamespaceIndex>1</NamespaceIndex>\n        <Name>LIX001</Name>\n      </BrowseName>\n      <DisplayName>\n        <Locale></Locale>\n        <Text>LIX001</Text>\n      </DisplayName>\n      <Description i:nil=\"true\" />\n      <WriteMask>0</WriteMask>\n      <UserWriteMask>0</UserWriteMask>\n      <References>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=47</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>true</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=167</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=40</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=43</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=37</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>i=78</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=48</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>true</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=167</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=47</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=169</Identifier>\n          </TargetId>\n        </ReferenceNode>\n      </References>\n      <EventNotifier>1</EventNotifier>\n    </Node>\n    <Node i:type=\"VariableNode\">\n      <NodeId>\n        <Identifier>ns=1;i=169</Identifier>\n      </NodeId>\n      <NodeClass>Variable_2</NodeClass>\n      <BrowseName>\n        <NamespaceIndex>1</NamespaceIndex>\n        <Name>Output</Name>\n      </BrowseName>\n      <DisplayName>\n        <Locale></Locale>\n        <Text>Output</Text>\n      </DisplayName>\n      <Description i:nil=\"true\" />\n      <WriteMask>0</WriteMask>\n      <UserWriteMask>0</UserWriteMask>\n      <References>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=47</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>true</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=168</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=40</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>i=2368</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=37</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>i=78</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>ns=1;i=3</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=188</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=46</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=173</Identifier>\n          </TargetId>\n        </ReferenceNode>\n      </References>\n      <Value>\n        <Value>\n          <Double xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">0</Double>\n        </Value>\n      </Value>\n      <DataType>\n        <Identifier>i=26</Identifier>\n      </DataType>\n      <ValueRank>-1</ValueRank>\n      <ArrayDimensions />\n      <AccessLevel>1</AccessLevel>\n      <UserAccessLevel>1</UserAccessLevel>\n      <MinimumSamplingInterval>0</MinimumSamplingInterval>\n      <Historizing>false</Historizing>\n    </Node>\n    <Node i:type=\"VariableNode\">\n      <NodeId>\n        <Identifier>ns=1;i=173</Identifier>\n      </NodeId>\n      <NodeClass>Variable_2</NodeClass>\n      <BrowseName>\n        <NamespaceIndex>0</NamespaceIndex>\n        <Name>EURange</Name>\n      </BrowseName>\n      <DisplayName>\n        <Locale></Locale>\n        <Text>EURange</Text>\n      </DisplayName>\n      <Description i:nil=\"true\" />\n      <WriteMask>0</WriteMask>\n      <UserWriteMask>0</UserWriteMask>\n      <References>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=46</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>true</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=169</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=40</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>i=68</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=37</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>i=78</Identifier>\n          </TargetId>\n        </ReferenceNode>\n      </References>\n      <Value>\n        <Value>\n          <Null xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\" />\n        </Value>\n      </Value>\n      <DataType>\n        <Identifier>i=884</Identifier>\n      </DataType>\n      <ValueRank>-1</ValueRank>\n      <ArrayDimensions />\n      <AccessLevel>1</AccessLevel>\n      <UserAccessLevel>1</UserAccessLevel>\n      <MinimumSamplingInterval>0</MinimumSamplingInterval>\n      <Historizing>false</Historizing>\n    </Node>\n    <Node i:type=\"ObjectNode\">\n      <NodeId>\n        <Identifier>ns=1;i=175</Identifier>\n      </NodeId>\n      <NodeClass>Object_1</NodeClass>\n      <BrowseName>\n        <NamespaceIndex>1</NamespaceIndex>\n        <Name>PipeX002</Name>\n      </BrowseName>\n      <DisplayName>\n        <Locale></Locale>\n        <Text>OutputPipe</Text>\n      </DisplayName>\n      <Description i:nil=\"true\" />\n      <WriteMask>0</WriteMask>\n      <UserWriteMask>0</UserWriteMask>\n      <References>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=47</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>true</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=151</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=40</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=143</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=37</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>i=78</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>ns=1;i=2</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>true</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=167</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=48</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=176</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=47</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=176</Identifier>\n          </TargetId>\n        </ReferenceNode>\n      </References>\n      <EventNotifier>1</EventNotifier>\n    </Node>\n    <Node i:type=\"ObjectNode\">\n      <NodeId>\n        <Identifier>ns=1;i=176</Identifier>\n      </NodeId>\n      <NodeClass>Object_1</NodeClass>\n      <BrowseName>\n        <NamespaceIndex>1</NamespaceIndex>\n        <Name>FTX002</Name>\n      </BrowseName>\n      <DisplayName>\n        <Locale></Locale>\n        <Text>FTX002</Text>\n      </DisplayName>\n      <Description i:nil=\"true\" />\n      <WriteMask>0</WriteMask>\n      <UserWriteMask>0</UserWriteMask>\n      <References>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=47</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>true</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=175</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=40</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=50</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=37</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>i=78</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=48</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>true</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=175</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=47</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=177</Identifier>\n          </TargetId>\n        </ReferenceNode>\n      </References>\n      <EventNotifier>1</EventNotifier>\n    </Node>\n    <Node i:type=\"VariableNode\">\n      <NodeId>\n        <Identifier>ns=1;i=177</Identifier>\n      </NodeId>\n      <NodeClass>Variable_2</NodeClass>\n      <BrowseName>\n        <NamespaceIndex>1</NamespaceIndex>\n        <Name>Output</Name>\n      </BrowseName>\n      <DisplayName>\n        <Locale></Locale>\n        <Text>Output</Text>\n      </DisplayName>\n      <Description i:nil=\"true\" />\n      <WriteMask>0</WriteMask>\n      <UserWriteMask>0</UserWriteMask>\n      <References>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=47</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>true</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=176</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=40</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>i=2368</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=37</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>i=78</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>ns=1;i=3</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=194</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=46</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=181</Identifier>\n          </TargetId>\n        </ReferenceNode>\n      </References>\n      <Value>\n        <Value>\n          <Double xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">0</Double>\n        </Value>\n      </Value>\n      <DataType>\n        <Identifier>i=11</Identifier>\n      </DataType>\n      <ValueRank>-1</ValueRank>\n      <ArrayDimensions />\n      <AccessLevel>1</AccessLevel>\n      <UserAccessLevel>1</UserAccessLevel>\n      <MinimumSamplingInterval>0</MinimumSamplingInterval>\n      <Historizing>false</Historizing>\n    </Node>\n    <Node i:type=\"VariableNode\">\n      <NodeId>\n        <Identifier>ns=1;i=181</Identifier>\n      </NodeId>\n      <NodeClass>Variable_2</NodeClass>\n      <BrowseName>\n        <NamespaceIndex>0</NamespaceIndex>\n        <Name>EURange</Name>\n      </BrowseName>\n      <DisplayName>\n        <Locale></Locale>\n        <Text>EURange</Text>\n      </DisplayName>\n      <Description i:nil=\"true\" />\n      <WriteMask>0</WriteMask>\n      <UserWriteMask>0</UserWriteMask>\n      <References>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=46</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>true</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=177</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=40</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>i=68</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=37</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>i=78</Identifier>\n          </TargetId>\n        </ReferenceNode>\n      </References>\n      <Value>\n        <Value>\n          <Null xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\" />\n        </Value>\n      </Value>\n      <DataType>\n        <Identifier>i=884</Identifier>\n      </DataType>\n      <ValueRank>-1</ValueRank>\n      <ArrayDimensions />\n      <AccessLevel>1</AccessLevel>\n      <UserAccessLevel>1</UserAccessLevel>\n      <MinimumSamplingInterval>0</MinimumSamplingInterval>\n      <Historizing>false</Historizing>\n    </Node>\n    <Node i:type=\"ObjectNode\">\n      <NodeId>\n        <Identifier>ns=1;i=183</Identifier>\n      </NodeId>\n      <NodeClass>Object_1</NodeClass>\n      <BrowseName>\n        <NamespaceIndex>1</NamespaceIndex>\n        <Name>FCX001</Name>\n      </BrowseName>\n      <DisplayName>\n        <Locale></Locale>\n        <Text>FlowController</Text>\n      </DisplayName>\n      <Description i:nil=\"true\" />\n      <WriteMask>0</WriteMask>\n      <UserWriteMask>0</UserWriteMask>\n      <References>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=47</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>true</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=151</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=40</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=39</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=37</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>i=78</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=46</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=184</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=46</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=185</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=46</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=186</Identifier>\n          </TargetId>\n        </ReferenceNode>\n      </References>\n      <EventNotifier>0</EventNotifier>\n    </Node>\n    <Node i:type=\"VariableNode\">\n      <NodeId>\n        <Identifier>ns=1;i=184</Identifier>\n      </NodeId>\n      <NodeClass>Variable_2</NodeClass>\n      <BrowseName>\n        <NamespaceIndex>1</NamespaceIndex>\n        <Name>Measurement</Name>\n      </BrowseName>\n      <DisplayName>\n        <Locale></Locale>\n        <Text>Measurement</Text>\n      </DisplayName>\n      <Description i:nil=\"true\" />\n      <WriteMask>0</WriteMask>\n      <UserWriteMask>0</UserWriteMask>\n      <References>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=46</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>true</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=183</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=40</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>i=68</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=37</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>i=78</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>ns=1;i=3</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>true</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=154</Identifier>\n          </TargetId>\n        </ReferenceNode>\n      </References>\n      <Value>\n        <Value>\n          <Double xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">0</Double>\n        </Value>\n      </Value>\n      <DataType>\n        <Identifier>i=11</Identifier>\n      </DataType>\n      <ValueRank>-1</ValueRank>\n      <ArrayDimensions />\n      <AccessLevel>1</AccessLevel>\n      <UserAccessLevel>1</UserAccessLevel>\n      <MinimumSamplingInterval>0</MinimumSamplingInterval>\n      <Historizing>false</Historizing>\n    </Node>\n    <Node i:type=\"VariableNode\">\n      <NodeId>\n        <Identifier>ns=1;i=185</Identifier>\n      </NodeId>\n      <NodeClass>Variable_2</NodeClass>\n      <BrowseName>\n        <NamespaceIndex>1</NamespaceIndex>\n        <Name>SetPoint</Name>\n      </BrowseName>\n      <DisplayName>\n        <Locale></Locale>\n        <Text>SetPoint</Text>\n      </DisplayName>\n      <Description i:nil=\"true\" />\n      <WriteMask>0</WriteMask>\n      <UserWriteMask>0</UserWriteMask>\n      <References>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=46</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>true</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=183</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=40</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>i=68</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=37</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>i=78</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>ns=1;i=3</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>true</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=195</Identifier>\n          </TargetId>\n        </ReferenceNode>\n      </References>\n      <Value>\n        <Value>\n          <Double xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">0</Double>\n        </Value>\n      </Value>\n      <DataType>\n        <Identifier>i=11</Identifier>\n      </DataType>\n      <ValueRank>-1</ValueRank>\n      <ArrayDimensions />\n      <AccessLevel>3</AccessLevel>\n      <UserAccessLevel>3</UserAccessLevel>\n      <MinimumSamplingInterval>0</MinimumSamplingInterval>\n      <Historizing>false</Historizing>\n    </Node>\n    <Node i:type=\"VariableNode\">\n      <NodeId>\n        <Identifier>ns=1;i=186</Identifier>\n      </NodeId>\n      <NodeClass>Variable_2</NodeClass>\n      <BrowseName>\n        <NamespaceIndex>1</NamespaceIndex>\n        <Name>ControlOut</Name>\n      </BrowseName>\n      <DisplayName>\n        <Locale></Locale>\n        <Text>ControlOut</Text>\n      </DisplayName>\n      <Description i:nil=\"true\" />\n      <WriteMask>0</WriteMask>\n      <UserWriteMask>0</UserWriteMask>\n      <References>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=46</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>true</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=183</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=40</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>i=68</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=37</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>i=78</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>ns=1;i=3</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=161</Identifier>\n          </TargetId>\n        </ReferenceNode>\n      </References>\n      <Value>\n        <Value>\n          <Double xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">0</Double>\n        </Value>\n      </Value>\n      <DataType>\n        <Identifier>i=11</Identifier>\n      </DataType>\n      <ValueRank>-1</ValueRank>\n      <ArrayDimensions />\n      <AccessLevel>1</AccessLevel>\n      <UserAccessLevel>1</UserAccessLevel>\n      <MinimumSamplingInterval>0</MinimumSamplingInterval>\n      <Historizing>false</Historizing>\n    </Node>\n    <Node i:type=\"ObjectNode\">\n      <NodeId>\n        <Identifier>ns=1;i=187</Identifier>\n      </NodeId>\n      <NodeClass>Object_1</NodeClass>\n      <BrowseName>\n        <NamespaceIndex>1</NamespaceIndex>\n        <Name>LCX001</Name>\n      </BrowseName>\n      <DisplayName>\n        <Locale></Locale>\n        <Text>LevelController</Text>\n      </DisplayName>\n      <Description i:nil=\"true\" />\n      <WriteMask>0</WriteMask>\n      <UserWriteMask>0</UserWriteMask>\n      <References>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=47</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>true</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=151</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=40</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=35</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=37</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>i=78</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=46</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=188</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=46</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=189</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=46</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=190</Identifier>\n          </TargetId>\n        </ReferenceNode>\n      </References>\n      <EventNotifier>0</EventNotifier>\n    </Node>\n    <Node i:type=\"VariableNode\">\n      <NodeId>\n        <Identifier>ns=1;i=188</Identifier>\n      </NodeId>\n      <NodeClass>Variable_2</NodeClass>\n      <BrowseName>\n        <NamespaceIndex>1</NamespaceIndex>\n        <Name>Measurement</Name>\n      </BrowseName>\n      <DisplayName>\n        <Locale></Locale>\n        <Text>Measurement</Text>\n      </DisplayName>\n      <Description i:nil=\"true\" />\n      <WriteMask>0</WriteMask>\n      <UserWriteMask>0</UserWriteMask>\n      <References>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=46</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>true</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=187</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=40</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>i=68</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=37</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>i=78</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>ns=1;i=3</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>true</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=169</Identifier>\n          </TargetId>\n        </ReferenceNode>\n      </References>\n      <Value>\n        <Value>\n          <Double xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">0</Double>\n        </Value>\n      </Value>\n      <DataType>\n        <Identifier>i=11</Identifier>\n      </DataType>\n      <ValueRank>-1</ValueRank>\n      <ArrayDimensions />\n      <AccessLevel>1</AccessLevel>\n      <UserAccessLevel>1</UserAccessLevel>\n      <MinimumSamplingInterval>0</MinimumSamplingInterval>\n      <Historizing>false</Historizing>\n    </Node>\n    <Node i:type=\"VariableNode\">\n      <NodeId>\n        <Identifier>ns=1;i=189</Identifier>\n      </NodeId>\n      <NodeClass>Variable_2</NodeClass>\n      <BrowseName>\n        <NamespaceIndex>1</NamespaceIndex>\n        <Name>SetPoint</Name>\n      </BrowseName>\n      <DisplayName>\n        <Locale></Locale>\n        <Text>SetPoint</Text>\n      </DisplayName>\n      <Description i:nil=\"true\" />\n      <WriteMask>0</WriteMask>\n      <UserWriteMask>0</UserWriteMask>\n      <References>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=46</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>true</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=187</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=40</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>i=68</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=37</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>i=78</Identifier>\n          </TargetId>\n        </ReferenceNode>\n      </References>\n      <Value>\n        <Value>\n          <Double xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">0</Double>\n        </Value>\n      </Value>\n      <DataType>\n        <Identifier>i=11</Identifier>\n      </DataType>\n      <ValueRank>-1</ValueRank>\n      <ArrayDimensions />\n      <AccessLevel>3</AccessLevel>\n      <UserAccessLevel>3</UserAccessLevel>\n      <MinimumSamplingInterval>0</MinimumSamplingInterval>\n      <Historizing>false</Historizing>\n    </Node>\n    <Node i:type=\"VariableNode\">\n      <NodeId>\n        <Identifier>ns=1;i=190</Identifier>\n      </NodeId>\n      <NodeClass>Variable_2</NodeClass>\n      <BrowseName>\n        <NamespaceIndex>1</NamespaceIndex>\n        <Name>ControlOut</Name>\n      </BrowseName>\n      <DisplayName>\n        <Locale></Locale>\n        <Text>ControlOut</Text>\n      </DisplayName>\n      <Description i:nil=\"true\" />\n      <WriteMask>0</WriteMask>\n      <UserWriteMask>0</UserWriteMask>\n      <References>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=46</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>true</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=187</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=40</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>i=68</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=37</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>i=78</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>ns=1;i=3</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=192</Identifier>\n          </TargetId>\n        </ReferenceNode>\n      </References>\n      <Value>\n        <Value>\n          <Double xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">0</Double>\n        </Value>\n      </Value>\n      <DataType>\n        <Identifier>i=11</Identifier>\n      </DataType>\n      <ValueRank>-1</ValueRank>\n      <ArrayDimensions />\n      <AccessLevel>1</AccessLevel>\n      <UserAccessLevel>1</UserAccessLevel>\n      <MinimumSamplingInterval>0</MinimumSamplingInterval>\n      <Historizing>false</Historizing>\n    </Node>\n    <Node i:type=\"ObjectNode\">\n      <NodeId>\n        <Identifier>ns=1;i=191</Identifier>\n      </NodeId>\n      <NodeClass>Object_1</NodeClass>\n      <BrowseName>\n        <NamespaceIndex>1</NamespaceIndex>\n        <Name>CCX001</Name>\n      </BrowseName>\n      <DisplayName>\n        <Locale></Locale>\n        <Text>CustomController</Text>\n      </DisplayName>\n      <Description i:nil=\"true\" />\n      <WriteMask>0</WriteMask>\n      <UserWriteMask>0</UserWriteMask>\n      <References>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=47</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>true</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=151</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=40</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=22</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=37</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>i=78</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=46</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=192</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=46</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=193</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=46</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=194</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=46</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=195</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=46</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=196</Identifier>\n          </TargetId>\n        </ReferenceNode>\n      </References>\n      <EventNotifier>0</EventNotifier>\n    </Node>\n    <Node i:type=\"VariableNode\">\n      <NodeId>\n        <Identifier>ns=1;i=192</Identifier>\n      </NodeId>\n      <NodeClass>Variable_2</NodeClass>\n      <BrowseName>\n        <NamespaceIndex>1</NamespaceIndex>\n        <Name>Input1</Name>\n      </BrowseName>\n      <DisplayName>\n        <Locale></Locale>\n        <Text>Input1</Text>\n      </DisplayName>\n      <Description i:nil=\"true\" />\n      <WriteMask>0</WriteMask>\n      <UserWriteMask>0</UserWriteMask>\n      <References>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=46</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>true</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=191</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=40</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>i=68</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=37</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>i=78</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>ns=1;i=3</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>true</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=190</Identifier>\n          </TargetId>\n        </ReferenceNode>\n      </References>\n      <Value>\n        <Value>\n          <Double xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">0</Double>\n        </Value>\n      </Value>\n      <DataType>\n        <Identifier>i=11</Identifier>\n      </DataType>\n      <ValueRank>-1</ValueRank>\n      <ArrayDimensions />\n      <AccessLevel>2</AccessLevel>\n      <UserAccessLevel>2</UserAccessLevel>\n      <MinimumSamplingInterval>0</MinimumSamplingInterval>\n      <Historizing>false</Historizing>\n    </Node>\n    <Node i:type=\"VariableNode\">\n      <NodeId>\n        <Identifier>ns=1;i=193</Identifier>\n      </NodeId>\n      <NodeClass>Variable_2</NodeClass>\n      <BrowseName>\n        <NamespaceIndex>1</NamespaceIndex>\n        <Name>Input2</Name>\n      </BrowseName>\n      <DisplayName>\n        <Locale></Locale>\n        <Text>Input2</Text>\n      </DisplayName>\n      <Description i:nil=\"true\" />\n      <WriteMask>0</WriteMask>\n      <UserWriteMask>0</UserWriteMask>\n      <References>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=46</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>true</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=191</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=40</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>i=68</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=37</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>i=78</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>ns=1;i=3</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>true</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=154</Identifier>\n          </TargetId>\n        </ReferenceNode>\n      </References>\n      <Value>\n        <Value>\n          <Double xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">0</Double>\n        </Value>\n      </Value>\n      <DataType>\n        <Identifier>i=11</Identifier>\n      </DataType>\n      <ValueRank>-1</ValueRank>\n      <ArrayDimensions />\n      <AccessLevel>2</AccessLevel>\n      <UserAccessLevel>2</UserAccessLevel>\n      <MinimumSamplingInterval>0</MinimumSamplingInterval>\n      <Historizing>false</Historizing>\n    </Node>\n    <Node i:type=\"VariableNode\">\n      <NodeId>\n        <Identifier>ns=1;i=194</Identifier>\n      </NodeId>\n      <NodeClass>Variable_2</NodeClass>\n      <BrowseName>\n        <NamespaceIndex>1</NamespaceIndex>\n        <Name>Input3</Name>\n      </BrowseName>\n      <DisplayName>\n        <Locale></Locale>\n        <Text>Input3</Text>\n      </DisplayName>\n      <Description i:nil=\"true\" />\n      <WriteMask>0</WriteMask>\n      <UserWriteMask>0</UserWriteMask>\n      <References>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=46</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>true</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=191</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=40</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>i=68</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=37</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>i=78</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>ns=1;i=3</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>true</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=177</Identifier>\n          </TargetId>\n        </ReferenceNode>\n      </References>\n      <Value>\n        <Value>\n          <Double xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">0</Double>\n        </Value>\n      </Value>\n      <DataType>\n        <Identifier>i=11</Identifier>\n      </DataType>\n      <ValueRank>-1</ValueRank>\n      <ArrayDimensions />\n      <AccessLevel>2</AccessLevel>\n      <UserAccessLevel>2</UserAccessLevel>\n      <MinimumSamplingInterval>0</MinimumSamplingInterval>\n      <Historizing>false</Historizing>\n    </Node>\n    <Node i:type=\"VariableNode\">\n      <NodeId>\n        <Identifier>ns=1;i=195</Identifier>\n      </NodeId>\n      <NodeClass>Variable_2</NodeClass>\n      <BrowseName>\n        <NamespaceIndex>1</NamespaceIndex>\n        <Name>ControlOut</Name>\n      </BrowseName>\n      <DisplayName>\n        <Locale></Locale>\n        <Text>ControlOut</Text>\n      </DisplayName>\n      <Description i:nil=\"true\" />\n      <WriteMask>0</WriteMask>\n      <UserWriteMask>0</UserWriteMask>\n      <References>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=46</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>true</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=191</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=40</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>i=68</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=37</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>i=78</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>ns=1;i=3</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=185</Identifier>\n          </TargetId>\n        </ReferenceNode>\n      </References>\n      <Value>\n        <Value>\n          <Double xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">0</Double>\n        </Value>\n      </Value>\n      <DataType>\n        <Identifier>i=11</Identifier>\n      </DataType>\n      <ValueRank>-1</ValueRank>\n      <ArrayDimensions />\n      <AccessLevel>1</AccessLevel>\n      <UserAccessLevel>1</UserAccessLevel>\n      <MinimumSamplingInterval>0</MinimumSamplingInterval>\n      <Historizing>false</Historizing>\n    </Node>\n    <Node i:type=\"VariableNode\">\n      <NodeId>\n        <Identifier>ns=1;i=196</Identifier>\n      </NodeId>\n      <NodeClass>Variable_2</NodeClass>\n      <BrowseName>\n        <NamespaceIndex>1</NamespaceIndex>\n        <Name>Description</Name>\n      </BrowseName>\n      <DisplayName>\n        <Locale></Locale>\n        <Text>Description</Text>\n      </DisplayName>\n      <Description i:nil=\"true\" />\n      <WriteMask>0</WriteMask>\n      <UserWriteMask>0</UserWriteMask>\n      <References>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=46</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>true</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=191</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=40</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>i=68</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=37</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>i=78</Identifier>\n          </TargetId>\n        </ReferenceNode>\n      </References>\n      <Value>\n        <Value>\n          <LocalizedText xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n            <Locale p2:nil=\"true\" xmlns:p2=\"http://www.w3.org/2001/XMLSchema-instance\" />\n            <Text p2:nil=\"true\" xmlns:p2=\"http://www.w3.org/2001/XMLSchema-instance\" />\n          </LocalizedText>\n        </Value>\n      </Value>\n      <DataType>\n        <Identifier>i=21</Identifier>\n      </DataType>\n      <ValueRank>-1</ValueRank>\n      <ArrayDimensions />\n      <AccessLevel>1</AccessLevel>\n      <UserAccessLevel>1</UserAccessLevel>\n      <MinimumSamplingInterval>0</MinimumSamplingInterval>\n      <Historizing>false</Historizing>\n    </Node>\n    <Node i:type=\"ObjectNode\">\n      <NodeId>\n        <Identifier>ns=1;i=197</Identifier>\n      </NodeId>\n      <NodeClass>Object_1</NodeClass>\n      <BrowseName>\n        <NamespaceIndex>1</NamespaceIndex>\n        <Name>Simulation</Name>\n      </BrowseName>\n      <DisplayName>\n        <Locale></Locale>\n        <Text>Simulation</Text>\n      </DisplayName>\n      <Description i:nil=\"true\" />\n      <WriteMask>0</WriteMask>\n      <UserWriteMask>0</UserWriteMask>\n      <References>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=47</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>true</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=151</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=40</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=57</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=37</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>i=78</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=47</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=198</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=47</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=203</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=46</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=209</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=46</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=211</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=47</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=224</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=47</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=225</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=47</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=226</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=47</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=227</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=47</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=228</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=46</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=229</Identifier>\n          </TargetId>\n        </ReferenceNode>\n      </References>\n      <EventNotifier>1</EventNotifier>\n    </Node>\n    <Node i:type=\"VariableNode\">\n      <NodeId>\n        <Identifier>ns=1;i=198</Identifier>\n      </NodeId>\n      <NodeClass>Variable_2</NodeClass>\n      <BrowseName>\n        <NamespaceIndex>0</NamespaceIndex>\n        <Name>CurrentState</Name>\n      </BrowseName>\n      <DisplayName>\n        <Locale></Locale>\n        <Text>CurrentState</Text>\n      </DisplayName>\n      <Description i:nil=\"true\" />\n      <WriteMask>0</WriteMask>\n      <UserWriteMask>0</UserWriteMask>\n      <References>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=47</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>true</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=197</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=40</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>i=2760</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=37</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>i=78</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=46</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=199</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=46</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=201</Identifier>\n          </TargetId>\n        </ReferenceNode>\n      </References>\n      <Value>\n        <Value>\n          <LocalizedText xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n            <Locale p2:nil=\"true\" xmlns:p2=\"http://www.w3.org/2001/XMLSchema-instance\" />\n            <Text p2:nil=\"true\" xmlns:p2=\"http://www.w3.org/2001/XMLSchema-instance\" />\n          </LocalizedText>\n        </Value>\n      </Value>\n      <DataType>\n        <Identifier>i=21</Identifier>\n      </DataType>\n      <ValueRank>-1</ValueRank>\n      <ArrayDimensions />\n      <AccessLevel>1</AccessLevel>\n      <UserAccessLevel>1</UserAccessLevel>\n      <MinimumSamplingInterval>0</MinimumSamplingInterval>\n      <Historizing>false</Historizing>\n    </Node>\n    <Node i:type=\"VariableNode\">\n      <NodeId>\n        <Identifier>ns=1;i=199</Identifier>\n      </NodeId>\n      <NodeClass>Variable_2</NodeClass>\n      <BrowseName>\n        <NamespaceIndex>0</NamespaceIndex>\n        <Name>Id</Name>\n      </BrowseName>\n      <DisplayName>\n        <Locale></Locale>\n        <Text>Id</Text>\n      </DisplayName>\n      <Description i:nil=\"true\" />\n      <WriteMask>0</WriteMask>\n      <UserWriteMask>0</UserWriteMask>\n      <References>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=46</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>true</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=198</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=40</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>i=68</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=37</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>i=78</Identifier>\n          </TargetId>\n        </ReferenceNode>\n      </References>\n      <Value>\n        <Value>\n          <NodeId xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n            <Identifier>i=0</Identifier>\n          </NodeId>\n        </Value>\n      </Value>\n      <DataType>\n        <Identifier>i=17</Identifier>\n      </DataType>\n      <ValueRank>-1</ValueRank>\n      <ArrayDimensions />\n      <AccessLevel>1</AccessLevel>\n      <UserAccessLevel>1</UserAccessLevel>\n      <MinimumSamplingInterval>0</MinimumSamplingInterval>\n      <Historizing>false</Historizing>\n    </Node>\n    <Node i:type=\"VariableNode\">\n      <NodeId>\n        <Identifier>ns=1;i=201</Identifier>\n      </NodeId>\n      <NodeClass>Variable_2</NodeClass>\n      <BrowseName>\n        <NamespaceIndex>0</NamespaceIndex>\n        <Name>Number</Name>\n      </BrowseName>\n      <DisplayName>\n        <Locale></Locale>\n        <Text>Number</Text>\n      </DisplayName>\n      <Description i:nil=\"true\" />\n      <WriteMask>0</WriteMask>\n      <UserWriteMask>0</UserWriteMask>\n      <References>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=46</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>true</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=198</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=40</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>i=68</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=37</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>i=78</Identifier>\n          </TargetId>\n        </ReferenceNode>\n      </References>\n      <Value>\n        <Value>\n          <UInt32 xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">0</UInt32>\n        </Value>\n      </Value>\n      <DataType>\n        <Identifier>i=7</Identifier>\n      </DataType>\n      <ValueRank>-1</ValueRank>\n      <ArrayDimensions />\n      <AccessLevel>1</AccessLevel>\n      <UserAccessLevel>1</UserAccessLevel>\n      <MinimumSamplingInterval>0</MinimumSamplingInterval>\n      <Historizing>false</Historizing>\n    </Node>\n    <Node i:type=\"VariableNode\">\n      <NodeId>\n        <Identifier>ns=1;i=203</Identifier>\n      </NodeId>\n      <NodeClass>Variable_2</NodeClass>\n      <BrowseName>\n        <NamespaceIndex>0</NamespaceIndex>\n        <Name>LastTransition</Name>\n      </BrowseName>\n      <DisplayName>\n        <Locale></Locale>\n        <Text>LastTransition</Text>\n      </DisplayName>\n      <Description i:nil=\"true\" />\n      <WriteMask>0</WriteMask>\n      <UserWriteMask>0</UserWriteMask>\n      <References>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=47</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>true</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=197</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=40</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>i=2767</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=37</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>i=78</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=46</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=204</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=46</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=206</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=46</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=207</Identifier>\n          </TargetId>\n        </ReferenceNode>\n      </References>\n      <Value>\n        <Value>\n          <LocalizedText xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n            <Locale p2:nil=\"true\" xmlns:p2=\"http://www.w3.org/2001/XMLSchema-instance\" />\n            <Text p2:nil=\"true\" xmlns:p2=\"http://www.w3.org/2001/XMLSchema-instance\" />\n          </LocalizedText>\n        </Value>\n      </Value>\n      <DataType>\n        <Identifier>i=21</Identifier>\n      </DataType>\n      <ValueRank>-1</ValueRank>\n      <ArrayDimensions />\n      <AccessLevel>1</AccessLevel>\n      <UserAccessLevel>1</UserAccessLevel>\n      <MinimumSamplingInterval>0</MinimumSamplingInterval>\n      <Historizing>false</Historizing>\n    </Node>\n    <Node i:type=\"VariableNode\">\n      <NodeId>\n        <Identifier>ns=1;i=204</Identifier>\n      </NodeId>\n      <NodeClass>Variable_2</NodeClass>\n      <BrowseName>\n        <NamespaceIndex>0</NamespaceIndex>\n        <Name>Id</Name>\n      </BrowseName>\n      <DisplayName>\n        <Locale></Locale>\n        <Text>Id</Text>\n      </DisplayName>\n      <Description i:nil=\"true\" />\n      <WriteMask>0</WriteMask>\n      <UserWriteMask>0</UserWriteMask>\n      <References>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=46</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>true</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=203</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=40</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>i=68</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=37</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>i=78</Identifier>\n          </TargetId>\n        </ReferenceNode>\n      </References>\n      <Value>\n        <Value>\n          <NodeId xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n            <Identifier>i=0</Identifier>\n          </NodeId>\n        </Value>\n      </Value>\n      <DataType>\n        <Identifier>i=17</Identifier>\n      </DataType>\n      <ValueRank>-1</ValueRank>\n      <ArrayDimensions />\n      <AccessLevel>1</AccessLevel>\n      <UserAccessLevel>1</UserAccessLevel>\n      <MinimumSamplingInterval>0</MinimumSamplingInterval>\n      <Historizing>false</Historizing>\n    </Node>\n    <Node i:type=\"VariableNode\">\n      <NodeId>\n        <Identifier>ns=1;i=206</Identifier>\n      </NodeId>\n      <NodeClass>Variable_2</NodeClass>\n      <BrowseName>\n        <NamespaceIndex>0</NamespaceIndex>\n        <Name>Number</Name>\n      </BrowseName>\n      <DisplayName>\n        <Locale></Locale>\n        <Text>Number</Text>\n      </DisplayName>\n      <Description i:nil=\"true\" />\n      <WriteMask>0</WriteMask>\n      <UserWriteMask>0</UserWriteMask>\n      <References>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=46</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>true</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=203</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=40</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>i=68</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=37</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>i=78</Identifier>\n          </TargetId>\n        </ReferenceNode>\n      </References>\n      <Value>\n        <Value>\n          <UInt32 xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">0</UInt32>\n        </Value>\n      </Value>\n      <DataType>\n        <Identifier>i=7</Identifier>\n      </DataType>\n      <ValueRank>-1</ValueRank>\n      <ArrayDimensions />\n      <AccessLevel>1</AccessLevel>\n      <UserAccessLevel>1</UserAccessLevel>\n      <MinimumSamplingInterval>0</MinimumSamplingInterval>\n      <Historizing>false</Historizing>\n    </Node>\n    <Node i:type=\"VariableNode\">\n      <NodeId>\n        <Identifier>ns=1;i=207</Identifier>\n      </NodeId>\n      <NodeClass>Variable_2</NodeClass>\n      <BrowseName>\n        <NamespaceIndex>0</NamespaceIndex>\n        <Name>TransitionTime</Name>\n      </BrowseName>\n      <DisplayName>\n        <Locale></Locale>\n        <Text>TransitionTime</Text>\n      </DisplayName>\n      <Description i:nil=\"true\" />\n      <WriteMask>0</WriteMask>\n      <UserWriteMask>0</UserWriteMask>\n      <References>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=46</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>true</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=203</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=40</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>i=68</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=37</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>i=78</Identifier>\n          </TargetId>\n        </ReferenceNode>\n      </References>\n      <Value>\n        <Value>\n          <DateTime xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">0001-01-01T00:00:00</DateTime>\n        </Value>\n      </Value>\n      <DataType>\n        <Identifier>i=294</Identifier>\n      </DataType>\n      <ValueRank>-1</ValueRank>\n      <ArrayDimensions />\n      <AccessLevel>1</AccessLevel>\n      <UserAccessLevel>1</UserAccessLevel>\n      <MinimumSamplingInterval>0</MinimumSamplingInterval>\n      <Historizing>false</Historizing>\n    </Node>\n    <Node i:type=\"VariableNode\">\n      <NodeId>\n        <Identifier>ns=1;i=209</Identifier>\n      </NodeId>\n      <NodeClass>Variable_2</NodeClass>\n      <BrowseName>\n        <NamespaceIndex>0</NamespaceIndex>\n        <Name>Deletable</Name>\n      </BrowseName>\n      <DisplayName>\n        <Locale></Locale>\n        <Text>Deletable</Text>\n      </DisplayName>\n      <Description i:nil=\"true\" />\n      <WriteMask>0</WriteMask>\n      <UserWriteMask>0</UserWriteMask>\n      <References>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=46</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>true</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=197</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=40</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>i=68</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=37</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>i=78</Identifier>\n          </TargetId>\n        </ReferenceNode>\n      </References>\n      <Value>\n        <Value>\n          <Boolean xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">false</Boolean>\n        </Value>\n      </Value>\n      <DataType>\n        <Identifier>i=1</Identifier>\n      </DataType>\n      <ValueRank>-1</ValueRank>\n      <ArrayDimensions />\n      <AccessLevel>1</AccessLevel>\n      <UserAccessLevel>1</UserAccessLevel>\n      <MinimumSamplingInterval>0</MinimumSamplingInterval>\n      <Historizing>false</Historizing>\n    </Node>\n    <Node i:type=\"VariableNode\">\n      <NodeId>\n        <Identifier>ns=1;i=211</Identifier>\n      </NodeId>\n      <NodeClass>Variable_2</NodeClass>\n      <BrowseName>\n        <NamespaceIndex>0</NamespaceIndex>\n        <Name>RecycleCount</Name>\n      </BrowseName>\n      <DisplayName>\n        <Locale></Locale>\n        <Text>RecycleCount</Text>\n      </DisplayName>\n      <Description i:nil=\"true\" />\n      <WriteMask>0</WriteMask>\n      <UserWriteMask>0</UserWriteMask>\n      <References>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=46</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>true</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=197</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=40</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>i=68</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=37</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>i=78</Identifier>\n          </TargetId>\n        </ReferenceNode>\n      </References>\n      <Value>\n        <Value>\n          <Int32 xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">0</Int32>\n        </Value>\n      </Value>\n      <DataType>\n        <Identifier>i=6</Identifier>\n      </DataType>\n      <ValueRank>-1</ValueRank>\n      <ArrayDimensions />\n      <AccessLevel>1</AccessLevel>\n      <UserAccessLevel>1</UserAccessLevel>\n      <MinimumSamplingInterval>0</MinimumSamplingInterval>\n      <Historizing>false</Historizing>\n    </Node>\n    <Node i:type=\"MethodNode\">\n      <NodeId>\n        <Identifier>ns=1;i=224</Identifier>\n      </NodeId>\n      <NodeClass>Method_4</NodeClass>\n      <BrowseName>\n        <NamespaceIndex>0</NamespaceIndex>\n        <Name>Start</Name>\n      </BrowseName>\n      <DisplayName>\n        <Locale></Locale>\n        <Text>Start</Text>\n      </DisplayName>\n      <Description>\n        <Locale></Locale>\n        <Text>Causes the Program to transition from the Ready state to the Running state.</Text>\n      </Description>\n      <WriteMask>0</WriteMask>\n      <UserWriteMask>0</UserWriteMask>\n      <References>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=47</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>true</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=197</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=40</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>i=2426</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=37</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>i=78</Identifier>\n          </TargetId>\n        </ReferenceNode>\n      </References>\n      <Executable>true</Executable>\n      <UserExecutable>true</UserExecutable>\n    </Node>\n    <Node i:type=\"MethodNode\">\n      <NodeId>\n        <Identifier>ns=1;i=225</Identifier>\n      </NodeId>\n      <NodeClass>Method_4</NodeClass>\n      <BrowseName>\n        <NamespaceIndex>0</NamespaceIndex>\n        <Name>Suspend</Name>\n      </BrowseName>\n      <DisplayName>\n        <Locale></Locale>\n        <Text>Suspend</Text>\n      </DisplayName>\n      <Description>\n        <Locale></Locale>\n        <Text>Causes the Program to transition from the Running state to the Suspended state.</Text>\n      </Description>\n      <WriteMask>0</WriteMask>\n      <UserWriteMask>0</UserWriteMask>\n      <References>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=47</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>true</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=197</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=40</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>i=2427</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=37</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>i=78</Identifier>\n          </TargetId>\n        </ReferenceNode>\n      </References>\n      <Executable>true</Executable>\n      <UserExecutable>true</UserExecutable>\n    </Node>\n    <Node i:type=\"MethodNode\">\n      <NodeId>\n        <Identifier>ns=1;i=226</Identifier>\n      </NodeId>\n      <NodeClass>Method_4</NodeClass>\n      <BrowseName>\n        <NamespaceIndex>0</NamespaceIndex>\n        <Name>Resume</Name>\n      </BrowseName>\n      <DisplayName>\n        <Locale></Locale>\n        <Text>Resume</Text>\n      </DisplayName>\n      <Description>\n        <Locale></Locale>\n        <Text>Causes the Program to transition from the Suspended state to the Running state.</Text>\n      </Description>\n      <WriteMask>0</WriteMask>\n      <UserWriteMask>0</UserWriteMask>\n      <References>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=47</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>true</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=197</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=40</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>i=2428</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=37</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>i=78</Identifier>\n          </TargetId>\n        </ReferenceNode>\n      </References>\n      <Executable>true</Executable>\n      <UserExecutable>true</UserExecutable>\n    </Node>\n    <Node i:type=\"MethodNode\">\n      <NodeId>\n        <Identifier>ns=1;i=227</Identifier>\n      </NodeId>\n      <NodeClass>Method_4</NodeClass>\n      <BrowseName>\n        <NamespaceIndex>0</NamespaceIndex>\n        <Name>Halt</Name>\n      </BrowseName>\n      <DisplayName>\n        <Locale></Locale>\n        <Text>Halt</Text>\n      </DisplayName>\n      <Description>\n        <Locale></Locale>\n        <Text>Causes the Program to transition from the Ready, Running or Suspended state to the Halted state.</Text>\n      </Description>\n      <WriteMask>0</WriteMask>\n      <UserWriteMask>0</UserWriteMask>\n      <References>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=47</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>true</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=197</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=40</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>i=2429</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=37</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>i=78</Identifier>\n          </TargetId>\n        </ReferenceNode>\n      </References>\n      <Executable>true</Executable>\n      <UserExecutable>true</UserExecutable>\n    </Node>\n    <Node i:type=\"MethodNode\">\n      <NodeId>\n        <Identifier>ns=1;i=228</Identifier>\n      </NodeId>\n      <NodeClass>Method_4</NodeClass>\n      <BrowseName>\n        <NamespaceIndex>0</NamespaceIndex>\n        <Name>Reset</Name>\n      </BrowseName>\n      <DisplayName>\n        <Locale></Locale>\n        <Text>Reset</Text>\n      </DisplayName>\n      <Description>\n        <Locale></Locale>\n        <Text>Causes the Program to transition from the Halted state to the Ready state.</Text>\n      </Description>\n      <WriteMask>0</WriteMask>\n      <UserWriteMask>0</UserWriteMask>\n      <References>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=47</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>true</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=197</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=40</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>i=2430</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=37</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>i=78</Identifier>\n          </TargetId>\n        </ReferenceNode>\n      </References>\n      <Executable>true</Executable>\n      <UserExecutable>true</UserExecutable>\n    </Node>\n    <Node i:type=\"VariableNode\">\n      <NodeId>\n        <Identifier>ns=1;i=229</Identifier>\n      </NodeId>\n      <NodeClass>Variable_2</NodeClass>\n      <BrowseName>\n        <NamespaceIndex>1</NamespaceIndex>\n        <Name>UpdateRate</Name>\n      </BrowseName>\n      <DisplayName>\n        <Locale></Locale>\n        <Text>UpdateRate</Text>\n      </DisplayName>\n      <Description>\n        <Locale></Locale>\n        <Text>The rate at which the simulation runs.</Text>\n      </Description>\n      <WriteMask>0</WriteMask>\n      <UserWriteMask>0</UserWriteMask>\n      <References>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=46</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>true</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=197</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=40</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>i=68</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=37</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>i=78</Identifier>\n          </TargetId>\n        </ReferenceNode>\n      </References>\n      <Value>\n        <Value>\n          <UInt32 xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">0</UInt32>\n        </Value>\n      </Value>\n      <DataType>\n        <Identifier>i=7</Identifier>\n      </DataType>\n      <ValueRank>-1</ValueRank>\n      <ArrayDimensions />\n      <AccessLevel>3</AccessLevel>\n      <UserAccessLevel>3</UserAccessLevel>\n      <MinimumSamplingInterval>0</MinimumSamplingInterval>\n      <Historizing>false</Historizing>\n    </Node>\n  </Nodes>\n</NodeSet>"
  },
  {
    "path": "Networking/Simulator.Boiler/UAInformationModel/DemoConfiguration/BoilerType/tempuri.org.UA.Examples.BoilerType.NodeSet2.xml",
    "content": "﻿<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<UANodeSet xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\" LastModified=\"2019-05-15T07:12:20.3516401Z\" xmlns=\"http://opcfoundation.org/UA/2011/03/UANodeSet.xsd\">\n  <NamespaceUris>\n    <Uri>http://tempuri.org/UA/Examples/BoilerType</Uri>\n  </NamespaceUris>\n  <Aliases>\n    <Alias Alias=\"Boolean\">i=1</Alias>\n    <Alias Alias=\"SByte\">i=2</Alias>\n    <Alias Alias=\"Byte\">i=3</Alias>\n    <Alias Alias=\"Int16\">i=4</Alias>\n    <Alias Alias=\"UInt16\">i=5</Alias>\n    <Alias Alias=\"Int32\">i=6</Alias>\n    <Alias Alias=\"UInt32\">i=7</Alias>\n    <Alias Alias=\"Int64\">i=8</Alias>\n    <Alias Alias=\"UInt64\">i=9</Alias>\n    <Alias Alias=\"Float\">i=10</Alias>\n    <Alias Alias=\"Double\">i=11</Alias>\n    <Alias Alias=\"DateTime\">i=13</Alias>\n    <Alias Alias=\"String\">i=12</Alias>\n    <Alias Alias=\"ByteString\">i=15</Alias>\n    <Alias Alias=\"Guid\">i=14</Alias>\n    <Alias Alias=\"XmlElement\">i=16</Alias>\n    <Alias Alias=\"NodeId\">i=17</Alias>\n    <Alias Alias=\"ExpandedNodeId\">i=18</Alias>\n    <Alias Alias=\"QualifiedName\">i=20</Alias>\n    <Alias Alias=\"LocalizedText\">i=21</Alias>\n    <Alias Alias=\"StatusCode\">i=19</Alias>\n    <Alias Alias=\"Structure\">i=22</Alias>\n    <Alias Alias=\"Number\">i=26</Alias>\n    <Alias Alias=\"Integer\">i=27</Alias>\n    <Alias Alias=\"UInteger\">i=28</Alias>\n    <Alias Alias=\"HasComponent\">i=47</Alias>\n    <Alias Alias=\"HasProperty\">i=46</Alias>\n    <Alias Alias=\"Organizes\">i=35</Alias>\n    <Alias Alias=\"HasEventSource\">i=36</Alias>\n    <Alias Alias=\"HasNotifier\">i=48</Alias>\n    <Alias Alias=\"HasSubtype\">i=45</Alias>\n    <Alias Alias=\"HasTypeDefinition\">i=40</Alias>\n    <Alias Alias=\"HasModellingRule\">i=37</Alias>\n    <Alias Alias=\"HasEncoding\">i=38</Alias>\n    <Alias Alias=\"HasDescription\">i=39</Alias>\n  </Aliases>\n  <UAReferenceType NodeId=\"ns=1;i=1\" BrowseName=\"1:FlowTo\">\n    <DisplayName>FlowTo</DisplayName>\n    <Description>A reference that indicates a flow between two objects.</Description>\n    <References>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=32</Reference>\n    </References>\n    <InverseName>FlowFrom</InverseName>\n  </UAReferenceType>\n  <UAReferenceType NodeId=\"ns=1;i=2\" BrowseName=\"1:HotFlowTo\">\n    <DisplayName>HotFlowTo</DisplayName>\n    <Description>A reference that indicates a high temperature flow between two objects.</Description>\n    <References>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">ns=1;i=1</Reference>\n    </References>\n    <InverseName>HotFlowFrom</InverseName>\n  </UAReferenceType>\n  <UAReferenceType NodeId=\"ns=1;i=3\" BrowseName=\"1:SignalTo\">\n    <DisplayName>SignalTo</DisplayName>\n    <Description>A reference that indicates an electrical signal between two variables.</Description>\n    <References>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=32</Reference>\n    </References>\n    <InverseName>SignalFrom</InverseName>\n  </UAReferenceType>\n  <UAObjectType NodeId=\"ns=1;i=4\" BrowseName=\"1:GenericControllerType\">\n    <DisplayName>GenericControllerType</DisplayName>\n    <Description>A generic PID controller</Description>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=5</Reference>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=6</Reference>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=7</Reference>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=58</Reference>\n    </References>\n  </UAObjectType>\n  <UAVariable NodeId=\"ns=1;i=5\" BrowseName=\"1:Measurement\" ParentNodeId=\"ns=1;i=4\" DataType=\"Double\">\n    <DisplayName>Measurement</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=4</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=6\" BrowseName=\"1:SetPoint\" ParentNodeId=\"ns=1;i=4\" DataType=\"Double\" AccessLevel=\"3\" UserAccessLevel=\"3\">\n    <DisplayName>SetPoint</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=4</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=7\" BrowseName=\"1:ControlOut\" ParentNodeId=\"ns=1;i=4\" DataType=\"Double\">\n    <DisplayName>ControlOut</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=4</Reference>\n    </References>\n  </UAVariable>\n  <UAObjectType NodeId=\"ns=1;i=8\" BrowseName=\"1:GenericSensorType\">\n    <DisplayName>GenericSensorType</DisplayName>\n    <Description>A generic sensor that read a process value.</Description>\n    <References>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=9</Reference>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=58</Reference>\n    </References>\n  </UAObjectType>\n  <UAVariable NodeId=\"ns=1;i=9\" BrowseName=\"1:Output\" ParentNodeId=\"ns=1;i=8\" DataType=\"Double\">\n    <DisplayName>Output</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=13</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=2368</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=8</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=13\" BrowseName=\"EURange\" ParentNodeId=\"ns=1;i=9\" DataType=\"i=884\">\n    <DisplayName>EURange</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=9</Reference>\n    </References>\n  </UAVariable>\n  <UAObjectType NodeId=\"ns=1;i=15\" BrowseName=\"1:GenericActuatorType\">\n    <DisplayName>GenericActuatorType</DisplayName>\n    <Description>Represents a piece of equipment that causes some action to occur.</Description>\n    <References>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=16</Reference>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=58</Reference>\n    </References>\n  </UAObjectType>\n  <UAVariable NodeId=\"ns=1;i=16\" BrowseName=\"1:Input\" ParentNodeId=\"ns=1;i=15\" DataType=\"Double\" AccessLevel=\"2\" UserAccessLevel=\"2\">\n    <DisplayName>Input</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=20</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=2368</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=15</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=20\" BrowseName=\"EURange\" ParentNodeId=\"ns=1;i=16\" DataType=\"i=884\">\n    <DisplayName>EURange</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=16</Reference>\n    </References>\n  </UAVariable>\n  <UAObjectType NodeId=\"ns=1;i=22\" BrowseName=\"1:CustomControllerType\">\n    <DisplayName>CustomControllerType</DisplayName>\n    <Description>A custom PID controller with 3 inputs</Description>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=23</Reference>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=24</Reference>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=25</Reference>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=26</Reference>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=27</Reference>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=58</Reference>\n    </References>\n  </UAObjectType>\n  <UAVariable NodeId=\"ns=1;i=23\" BrowseName=\"1:Input1\" ParentNodeId=\"ns=1;i=22\" DataType=\"Double\" AccessLevel=\"2\" UserAccessLevel=\"2\">\n    <DisplayName>Input1</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=22</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=24\" BrowseName=\"1:Input2\" ParentNodeId=\"ns=1;i=22\" DataType=\"Double\" AccessLevel=\"2\" UserAccessLevel=\"2\">\n    <DisplayName>Input2</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=22</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=25\" BrowseName=\"1:Input3\" ParentNodeId=\"ns=1;i=22\" DataType=\"Double\" AccessLevel=\"2\" UserAccessLevel=\"2\">\n    <DisplayName>Input3</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=22</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=26\" BrowseName=\"1:ControlOut\" ParentNodeId=\"ns=1;i=22\" DataType=\"Double\">\n    <DisplayName>ControlOut</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=22</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=27\" BrowseName=\"1:Description\" SymbolicName=\"DescriptionX\" ParentNodeId=\"ns=1;i=22\" DataType=\"LocalizedText\">\n    <DisplayName>Description</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=22</Reference>\n    </References>\n  </UAVariable>\n  <UAObjectType NodeId=\"ns=1;i=28\" BrowseName=\"1:ValveType\">\n    <DisplayName>ValveType</DisplayName>\n    <Description>An actuator that controls the flow through a pipe.</Description>\n    <References>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">ns=1;i=15</Reference>\n    </References>\n  </UAObjectType>\n  <UAObjectType NodeId=\"ns=1;i=35\" BrowseName=\"1:LevelControllerType\">\n    <DisplayName>LevelControllerType</DisplayName>\n    <Description>A controller for the level of a fluid in a drum.</Description>\n    <References>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">ns=1;i=4</Reference>\n    </References>\n  </UAObjectType>\n  <UAObjectType NodeId=\"ns=1;i=39\" BrowseName=\"1:FlowControllerType\">\n    <DisplayName>FlowControllerType</DisplayName>\n    <Description>A controller for the flow of a fluid through a pipe.</Description>\n    <References>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">ns=1;i=4</Reference>\n    </References>\n  </UAObjectType>\n  <UAObjectType NodeId=\"ns=1;i=43\" BrowseName=\"1:LevelIndicatorType\">\n    <DisplayName>LevelIndicatorType</DisplayName>\n    <Description>A sensor that reports the level of a liquid in a tank.</Description>\n    <References>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">ns=1;i=8</Reference>\n    </References>\n  </UAObjectType>\n  <UAObjectType NodeId=\"ns=1;i=50\" BrowseName=\"1:FlowTransmitterType\">\n    <DisplayName>FlowTransmitterType</DisplayName>\n    <Description>A sensor that reports the flow of a liquid through a pipe.</Description>\n    <References>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">ns=1;i=8</Reference>\n    </References>\n  </UAObjectType>\n  <UAObjectType NodeId=\"ns=1;i=57\" BrowseName=\"1:BoilerStateMachineType\">\n    <DisplayName>BoilerStateMachineType</DisplayName>\n    <Description>A program that produces simulated values for a running boiler.</Description>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=119</Reference>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=2391</Reference>\n    </References>\n  </UAObjectType>\n  <UAVariable NodeId=\"ns=1;i=119\" BrowseName=\"1:UpdateRate\" ParentNodeId=\"ns=1;i=57\" DataType=\"UInt32\" AccessLevel=\"3\" UserAccessLevel=\"3\">\n    <DisplayName>UpdateRate</DisplayName>\n    <Description>The rate at which the simulation runs.</Description>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=57</Reference>\n    </References>\n  </UAVariable>\n  <UAObjectType NodeId=\"ns=1;i=120\" BrowseName=\"1:BoilerInputPipeType\">\n    <DisplayName>BoilerInputPipeType</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=121</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=128</Reference>\n      <Reference ReferenceType=\"HasNotifier\">ns=1;i=121</Reference>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=61</Reference>\n    </References>\n  </UAObjectType>\n  <UAObject NodeId=\"ns=1;i=121\" BrowseName=\"1:FTX001\" SymbolicName=\"FlowTransmitter1\" ParentNodeId=\"ns=1;i=120\" EventNotifier=\"1\">\n    <DisplayName>FlowTransmitter1</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=122</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">ns=1;i=50</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=120</Reference>\n    </References>\n  </UAObject>\n  <UAVariable NodeId=\"ns=1;i=122\" BrowseName=\"1:Output\" ParentNodeId=\"ns=1;i=121\" DataType=\"Double\">\n    <DisplayName>Output</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=126</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=2368</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=121</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=126\" BrowseName=\"EURange\" ParentNodeId=\"ns=1;i=122\" DataType=\"i=884\">\n    <DisplayName>EURange</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=122</Reference>\n    </References>\n  </UAVariable>\n  <UAObject NodeId=\"ns=1;i=128\" BrowseName=\"1:ValveX001\" SymbolicName=\"Valve\" ParentNodeId=\"ns=1;i=120\" EventNotifier=\"1\">\n    <DisplayName>Valve</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=129</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">ns=1;i=28</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=120</Reference>\n    </References>\n  </UAObject>\n  <UAVariable NodeId=\"ns=1;i=129\" BrowseName=\"1:Input\" ParentNodeId=\"ns=1;i=128\" DataType=\"Double\" AccessLevel=\"2\" UserAccessLevel=\"2\">\n    <DisplayName>Input</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=133</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=2368</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=128</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=133\" BrowseName=\"EURange\" ParentNodeId=\"ns=1;i=129\" DataType=\"i=884\">\n    <DisplayName>EURange</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=129</Reference>\n    </References>\n  </UAVariable>\n  <UAObjectType NodeId=\"ns=1;i=135\" BrowseName=\"1:BoilerDrumType\">\n    <DisplayName>BoilerDrumType</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=136</Reference>\n      <Reference ReferenceType=\"HasNotifier\">ns=1;i=136</Reference>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=61</Reference>\n    </References>\n  </UAObjectType>\n  <UAObject NodeId=\"ns=1;i=136\" BrowseName=\"1:LIX001\" SymbolicName=\"LevelIndicator\" ParentNodeId=\"ns=1;i=135\" EventNotifier=\"1\">\n    <DisplayName>LIX001</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=137</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">ns=1;i=43</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=135</Reference>\n    </References>\n  </UAObject>\n  <UAVariable NodeId=\"ns=1;i=137\" BrowseName=\"1:Output\" ParentNodeId=\"ns=1;i=136\" DataType=\"Double\">\n    <DisplayName>Output</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=141</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=2368</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=136</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=141\" BrowseName=\"EURange\" ParentNodeId=\"ns=1;i=137\" DataType=\"i=884\">\n    <DisplayName>EURange</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=137</Reference>\n    </References>\n  </UAVariable>\n  <UAObjectType NodeId=\"ns=1;i=143\" BrowseName=\"1:BoilerOutputPipeType\">\n    <DisplayName>BoilerOutputPipeType</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=144</Reference>\n      <Reference ReferenceType=\"HasNotifier\">ns=1;i=144</Reference>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=61</Reference>\n    </References>\n  </UAObjectType>\n  <UAObject NodeId=\"ns=1;i=144\" BrowseName=\"1:FTX002\" SymbolicName=\"FlowTransmitter2\" ParentNodeId=\"ns=1;i=143\" EventNotifier=\"1\">\n    <DisplayName>FTX002</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=145</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">ns=1;i=50</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=143</Reference>\n    </References>\n  </UAObject>\n  <UAVariable NodeId=\"ns=1;i=145\" BrowseName=\"1:Output\" ParentNodeId=\"ns=1;i=144\" DataType=\"Double\">\n    <DisplayName>Output</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=149</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=2368</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=144</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=149\" BrowseName=\"EURange\" ParentNodeId=\"ns=1;i=145\" DataType=\"i=884\">\n    <DisplayName>EURange</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=145</Reference>\n    </References>\n  </UAVariable>\n  <UAObjectType NodeId=\"ns=1;i=151\" BrowseName=\"1:BoilerType\">\n    <DisplayName>BoilerType</DisplayName>\n    <Description>A boiler used to produce steam for a turbine.</Description>\n    <References>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=152</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=167</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=175</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=183</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=187</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=191</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=197</Reference>\n      <Reference ReferenceType=\"HasNotifier\">ns=1;i=152</Reference>\n      <Reference ReferenceType=\"HasNotifier\">ns=1;i=167</Reference>\n      <Reference ReferenceType=\"HasNotifier\">ns=1;i=175</Reference>\n      <Reference ReferenceType=\"HasEventSource\">ns=1;i=197</Reference>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=58</Reference>\n    </References>\n  </UAObjectType>\n  <UAObject NodeId=\"ns=1;i=152\" BrowseName=\"1:PipeX001\" SymbolicName=\"InputPipe\" ParentNodeId=\"ns=1;i=151\" EventNotifier=\"1\">\n    <DisplayName>InputPipe</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=153</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=160</Reference>\n      <Reference ReferenceType=\"HasNotifier\">ns=1;i=153</Reference>\n      <Reference ReferenceType=\"ns=1;i=1\">ns=1;i=167</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">ns=1;i=120</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=151</Reference>\n    </References>\n  </UAObject>\n  <UAObject NodeId=\"ns=1;i=153\" BrowseName=\"1:FTX001\" SymbolicName=\"FlowTransmitter1\" ParentNodeId=\"ns=1;i=152\" EventNotifier=\"1\">\n    <DisplayName>FlowTransmitter1</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=154</Reference>\n      <Reference ReferenceType=\"HasNotifier\" IsForward=\"false\">ns=1;i=152</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">ns=1;i=50</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=152</Reference>\n    </References>\n  </UAObject>\n  <UAVariable NodeId=\"ns=1;i=154\" BrowseName=\"1:Output\" ParentNodeId=\"ns=1;i=153\" DataType=\"Double\">\n    <DisplayName>Output</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=158</Reference>\n      <Reference ReferenceType=\"ns=1;i=3\">ns=1;i=184</Reference>\n      <Reference ReferenceType=\"ns=1;i=3\">ns=1;i=193</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=2368</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=153</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=158\" BrowseName=\"EURange\" ParentNodeId=\"ns=1;i=154\" DataType=\"i=884\">\n    <DisplayName>EURange</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=154</Reference>\n    </References>\n  </UAVariable>\n  <UAObject NodeId=\"ns=1;i=160\" BrowseName=\"1:ValveX001\" SymbolicName=\"Valve\" ParentNodeId=\"ns=1;i=152\" EventNotifier=\"1\">\n    <DisplayName>Valve</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=161</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">ns=1;i=28</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=152</Reference>\n    </References>\n  </UAObject>\n  <UAVariable NodeId=\"ns=1;i=161\" BrowseName=\"1:Input\" ParentNodeId=\"ns=1;i=160\" DataType=\"Double\" AccessLevel=\"2\" UserAccessLevel=\"2\">\n    <DisplayName>Input</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=165</Reference>\n      <Reference ReferenceType=\"ns=1;i=3\" IsForward=\"false\">ns=1;i=186</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=2368</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=160</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=165\" BrowseName=\"EURange\" ParentNodeId=\"ns=1;i=161\" DataType=\"i=884\">\n    <DisplayName>EURange</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=161</Reference>\n    </References>\n  </UAVariable>\n  <UAObject NodeId=\"ns=1;i=167\" BrowseName=\"1:DrumX001\" SymbolicName=\"Drum\" ParentNodeId=\"ns=1;i=151\" EventNotifier=\"1\">\n    <DisplayName>Drum</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=168</Reference>\n      <Reference ReferenceType=\"ns=1;i=1\" IsForward=\"false\">ns=1;i=152</Reference>\n      <Reference ReferenceType=\"HasNotifier\">ns=1;i=168</Reference>\n      <Reference ReferenceType=\"ns=1;i=2\">ns=1;i=175</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">ns=1;i=135</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=151</Reference>\n    </References>\n  </UAObject>\n  <UAObject NodeId=\"ns=1;i=168\" BrowseName=\"1:LIX001\" SymbolicName=\"LevelIndicator\" ParentNodeId=\"ns=1;i=167\" EventNotifier=\"1\">\n    <DisplayName>LIX001</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=169</Reference>\n      <Reference ReferenceType=\"HasNotifier\" IsForward=\"false\">ns=1;i=167</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">ns=1;i=43</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=167</Reference>\n    </References>\n  </UAObject>\n  <UAVariable NodeId=\"ns=1;i=169\" BrowseName=\"1:Output\" ParentNodeId=\"ns=1;i=168\" DataType=\"Number\">\n    <DisplayName>Output</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=173</Reference>\n      <Reference ReferenceType=\"ns=1;i=3\">ns=1;i=188</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=2368</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=168</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=173\" BrowseName=\"EURange\" ParentNodeId=\"ns=1;i=169\" DataType=\"i=884\">\n    <DisplayName>EURange</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=169</Reference>\n    </References>\n  </UAVariable>\n  <UAObject NodeId=\"ns=1;i=175\" BrowseName=\"1:PipeX002\" SymbolicName=\"OutputPipe\" ParentNodeId=\"ns=1;i=151\" EventNotifier=\"1\">\n    <DisplayName>OutputPipe</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=176</Reference>\n      <Reference ReferenceType=\"ns=1;i=2\" IsForward=\"false\">ns=1;i=167</Reference>\n      <Reference ReferenceType=\"HasNotifier\">ns=1;i=176</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">ns=1;i=143</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=151</Reference>\n    </References>\n  </UAObject>\n  <UAObject NodeId=\"ns=1;i=176\" BrowseName=\"1:FTX002\" SymbolicName=\"FlowTransmitter2\" ParentNodeId=\"ns=1;i=175\" EventNotifier=\"1\">\n    <DisplayName>FTX002</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=177</Reference>\n      <Reference ReferenceType=\"HasNotifier\" IsForward=\"false\">ns=1;i=175</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">ns=1;i=50</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=175</Reference>\n    </References>\n  </UAObject>\n  <UAVariable NodeId=\"ns=1;i=177\" BrowseName=\"1:Output\" ParentNodeId=\"ns=1;i=176\" DataType=\"Double\">\n    <DisplayName>Output</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=181</Reference>\n      <Reference ReferenceType=\"ns=1;i=3\">ns=1;i=194</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=2368</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=176</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=181\" BrowseName=\"EURange\" ParentNodeId=\"ns=1;i=177\" DataType=\"i=884\">\n    <DisplayName>EURange</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=177</Reference>\n    </References>\n  </UAVariable>\n  <UAObject NodeId=\"ns=1;i=183\" BrowseName=\"1:FCX001\" SymbolicName=\"FlowController\" ParentNodeId=\"ns=1;i=151\">\n    <DisplayName>FlowController</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=184</Reference>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=185</Reference>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=186</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">ns=1;i=39</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=151</Reference>\n    </References>\n  </UAObject>\n  <UAVariable NodeId=\"ns=1;i=184\" BrowseName=\"1:Measurement\" ParentNodeId=\"ns=1;i=183\" DataType=\"Double\">\n    <DisplayName>Measurement</DisplayName>\n    <References>\n      <Reference ReferenceType=\"ns=1;i=3\" IsForward=\"false\">ns=1;i=154</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=183</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=185\" BrowseName=\"1:SetPoint\" ParentNodeId=\"ns=1;i=183\" DataType=\"Double\" AccessLevel=\"3\" UserAccessLevel=\"3\">\n    <DisplayName>SetPoint</DisplayName>\n    <References>\n      <Reference ReferenceType=\"ns=1;i=3\" IsForward=\"false\">ns=1;i=195</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=183</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=186\" BrowseName=\"1:ControlOut\" ParentNodeId=\"ns=1;i=183\" DataType=\"Double\">\n    <DisplayName>ControlOut</DisplayName>\n    <References>\n      <Reference ReferenceType=\"ns=1;i=3\">ns=1;i=161</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=183</Reference>\n    </References>\n  </UAVariable>\n  <UAObject NodeId=\"ns=1;i=187\" BrowseName=\"1:LCX001\" SymbolicName=\"LevelController\" ParentNodeId=\"ns=1;i=151\">\n    <DisplayName>LevelController</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=188</Reference>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=189</Reference>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=190</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">ns=1;i=35</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=151</Reference>\n    </References>\n  </UAObject>\n  <UAVariable NodeId=\"ns=1;i=188\" BrowseName=\"1:Measurement\" ParentNodeId=\"ns=1;i=187\" DataType=\"Double\">\n    <DisplayName>Measurement</DisplayName>\n    <References>\n      <Reference ReferenceType=\"ns=1;i=3\" IsForward=\"false\">ns=1;i=169</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=187</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=189\" BrowseName=\"1:SetPoint\" ParentNodeId=\"ns=1;i=187\" DataType=\"Double\" AccessLevel=\"3\" UserAccessLevel=\"3\">\n    <DisplayName>SetPoint</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=187</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=190\" BrowseName=\"1:ControlOut\" ParentNodeId=\"ns=1;i=187\" DataType=\"Double\">\n    <DisplayName>ControlOut</DisplayName>\n    <References>\n      <Reference ReferenceType=\"ns=1;i=3\">ns=1;i=192</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=187</Reference>\n    </References>\n  </UAVariable>\n  <UAObject NodeId=\"ns=1;i=191\" BrowseName=\"1:CCX001\" SymbolicName=\"CustomController\" ParentNodeId=\"ns=1;i=151\">\n    <DisplayName>CustomController</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=192</Reference>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=193</Reference>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=194</Reference>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=195</Reference>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=196</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">ns=1;i=22</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=151</Reference>\n    </References>\n  </UAObject>\n  <UAVariable NodeId=\"ns=1;i=192\" BrowseName=\"1:Input1\" ParentNodeId=\"ns=1;i=191\" DataType=\"Double\" AccessLevel=\"2\" UserAccessLevel=\"2\">\n    <DisplayName>Input1</DisplayName>\n    <References>\n      <Reference ReferenceType=\"ns=1;i=3\" IsForward=\"false\">ns=1;i=190</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=191</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=193\" BrowseName=\"1:Input2\" ParentNodeId=\"ns=1;i=191\" DataType=\"Double\" AccessLevel=\"2\" UserAccessLevel=\"2\">\n    <DisplayName>Input2</DisplayName>\n    <References>\n      <Reference ReferenceType=\"ns=1;i=3\" IsForward=\"false\">ns=1;i=154</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=191</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=194\" BrowseName=\"1:Input3\" ParentNodeId=\"ns=1;i=191\" DataType=\"Double\" AccessLevel=\"2\" UserAccessLevel=\"2\">\n    <DisplayName>Input3</DisplayName>\n    <References>\n      <Reference ReferenceType=\"ns=1;i=3\" IsForward=\"false\">ns=1;i=177</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=191</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=195\" BrowseName=\"1:ControlOut\" ParentNodeId=\"ns=1;i=191\" DataType=\"Double\">\n    <DisplayName>ControlOut</DisplayName>\n    <References>\n      <Reference ReferenceType=\"ns=1;i=3\">ns=1;i=185</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=191</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=196\" BrowseName=\"1:Description\" SymbolicName=\"DescriptionX\" ParentNodeId=\"ns=1;i=191\" DataType=\"LocalizedText\">\n    <DisplayName>Description</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=191</Reference>\n    </References>\n  </UAVariable>\n  <UAObject NodeId=\"ns=1;i=197\" BrowseName=\"1:Simulation\" ParentNodeId=\"ns=1;i=151\" EventNotifier=\"1\">\n    <DisplayName>Simulation</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=198</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=203</Reference>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=209</Reference>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=211</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=224</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=225</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=226</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=227</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=228</Reference>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=229</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">ns=1;i=57</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=151</Reference>\n    </References>\n  </UAObject>\n  <UAVariable NodeId=\"ns=1;i=198\" BrowseName=\"CurrentState\" ParentNodeId=\"ns=1;i=197\" DataType=\"LocalizedText\">\n    <DisplayName>CurrentState</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=199</Reference>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=201</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=2760</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=197</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=199\" BrowseName=\"Id\" ParentNodeId=\"ns=1;i=198\" DataType=\"NodeId\">\n    <DisplayName>Id</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=198</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=201\" BrowseName=\"Number\" ParentNodeId=\"ns=1;i=198\" DataType=\"UInt32\">\n    <DisplayName>Number</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=198</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=203\" BrowseName=\"LastTransition\" ParentNodeId=\"ns=1;i=197\" DataType=\"LocalizedText\">\n    <DisplayName>LastTransition</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=204</Reference>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=206</Reference>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=207</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=2767</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=197</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=204\" BrowseName=\"Id\" ParentNodeId=\"ns=1;i=203\" DataType=\"NodeId\">\n    <DisplayName>Id</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=203</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=206\" BrowseName=\"Number\" ParentNodeId=\"ns=1;i=203\" DataType=\"UInt32\">\n    <DisplayName>Number</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=203</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=207\" BrowseName=\"TransitionTime\" ParentNodeId=\"ns=1;i=203\" DataType=\"i=294\">\n    <DisplayName>TransitionTime</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=203</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=209\" BrowseName=\"Deletable\" ParentNodeId=\"ns=1;i=197\" DataType=\"Boolean\">\n    <DisplayName>Deletable</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=197</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=211\" BrowseName=\"RecycleCount\" ParentNodeId=\"ns=1;i=197\" DataType=\"Int32\">\n    <DisplayName>RecycleCount</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=197</Reference>\n    </References>\n  </UAVariable>\n  <UAMethod NodeId=\"ns=1;i=224\" BrowseName=\"Start\" ParentNodeId=\"ns=1;i=197\" MethodDeclarationId=\"i=2426\">\n    <DisplayName>Start</DisplayName>\n    <Description>Causes the Program to transition from the Ready state to the Running state.</Description>\n    <References>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=197</Reference>\n    </References>\n  </UAMethod>\n  <UAMethod NodeId=\"ns=1;i=225\" BrowseName=\"Suspend\" ParentNodeId=\"ns=1;i=197\" MethodDeclarationId=\"i=2427\">\n    <DisplayName>Suspend</DisplayName>\n    <Description>Causes the Program to transition from the Running state to the Suspended state.</Description>\n    <References>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=197</Reference>\n    </References>\n  </UAMethod>\n  <UAMethod NodeId=\"ns=1;i=226\" BrowseName=\"Resume\" ParentNodeId=\"ns=1;i=197\" MethodDeclarationId=\"i=2428\">\n    <DisplayName>Resume</DisplayName>\n    <Description>Causes the Program to transition from the Suspended state to the Running state.</Description>\n    <References>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=197</Reference>\n    </References>\n  </UAMethod>\n  <UAMethod NodeId=\"ns=1;i=227\" BrowseName=\"Halt\" ParentNodeId=\"ns=1;i=197\" MethodDeclarationId=\"i=2429\">\n    <DisplayName>Halt</DisplayName>\n    <Description>Causes the Program to transition from the Ready, Running or Suspended state to the Halted state.</Description>\n    <References>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=197</Reference>\n    </References>\n  </UAMethod>\n  <UAMethod NodeId=\"ns=1;i=228\" BrowseName=\"Reset\" ParentNodeId=\"ns=1;i=197\" MethodDeclarationId=\"i=2430\">\n    <DisplayName>Reset</DisplayName>\n    <Description>Causes the Program to transition from the Halted state to the Ready state.</Description>\n    <References>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=197</Reference>\n    </References>\n  </UAMethod>\n  <UAVariable NodeId=\"ns=1;i=229\" BrowseName=\"1:UpdateRate\" ParentNodeId=\"ns=1;i=197\" DataType=\"UInt32\" AccessLevel=\"3\" UserAccessLevel=\"3\">\n    <DisplayName>UpdateRate</DisplayName>\n    <Description>The rate at which the simulation runs.</Description>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=197</Reference>\n    </References>\n  </UAVariable>\n</UANodeSet>"
  },
  {
    "path": "Networking/Simulator.Boiler/UAInformationModel/DemoConfiguration/BoilerType/tempuri.org.UA.Examples.BoilerType.PredefinedNodes.xml",
    "content": "﻿<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<uax:ListOfNodeState xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xmlns:uax=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n  <uax:NamespaceUris>\n    <uax:NamespaceUri>http://tempuri.org/UA/Examples/BoilerType</uax:NamespaceUri>\n  </uax:NamespaceUris>\n  <FlowTo xmlns=\"http://tempuri.org/UA/Examples/BoilerType\">\n    <uax:NodeClass>ReferenceType_32</uax:NodeClass>\n    <uax:NodeId>\n      <uax:Identifier>ns=1;i=1</uax:Identifier>\n    </uax:NodeId>\n    <uax:BrowseName>\n      <uax:NamespaceIndex>1</uax:NamespaceIndex>\n      <uax:Name>FlowTo</uax:Name>\n    </uax:BrowseName>\n    <uax:Description>\n      <uax:Locale></uax:Locale>\n      <uax:Text>A reference that indicates a flow between two objects.</uax:Text>\n    </uax:Description>\n    <uax:SuperTypeId>\n      <uax:Identifier>i=32</uax:Identifier>\n    </uax:SuperTypeId>\n    <uax:InverseName>\n      <uax:Locale></uax:Locale>\n      <uax:Text>FlowFrom</uax:Text>\n    </uax:InverseName>\n  </FlowTo>\n  <HotFlowTo xmlns=\"http://tempuri.org/UA/Examples/BoilerType\">\n    <uax:NodeClass>ReferenceType_32</uax:NodeClass>\n    <uax:NodeId>\n      <uax:Identifier>ns=1;i=2</uax:Identifier>\n    </uax:NodeId>\n    <uax:BrowseName>\n      <uax:NamespaceIndex>1</uax:NamespaceIndex>\n      <uax:Name>HotFlowTo</uax:Name>\n    </uax:BrowseName>\n    <uax:Description>\n      <uax:Locale></uax:Locale>\n      <uax:Text>A reference that indicates a high temperature flow between two objects.</uax:Text>\n    </uax:Description>\n    <uax:SuperTypeId>\n      <uax:Identifier>ns=1;i=1</uax:Identifier>\n    </uax:SuperTypeId>\n    <uax:InverseName>\n      <uax:Locale></uax:Locale>\n      <uax:Text>HotFlowFrom</uax:Text>\n    </uax:InverseName>\n  </HotFlowTo>\n  <SignalTo xmlns=\"http://tempuri.org/UA/Examples/BoilerType\">\n    <uax:NodeClass>ReferenceType_32</uax:NodeClass>\n    <uax:NodeId>\n      <uax:Identifier>ns=1;i=3</uax:Identifier>\n    </uax:NodeId>\n    <uax:BrowseName>\n      <uax:NamespaceIndex>1</uax:NamespaceIndex>\n      <uax:Name>SignalTo</uax:Name>\n    </uax:BrowseName>\n    <uax:Description>\n      <uax:Locale></uax:Locale>\n      <uax:Text>A reference that indicates an electrical signal between two variables.</uax:Text>\n    </uax:Description>\n    <uax:SuperTypeId>\n      <uax:Identifier>i=32</uax:Identifier>\n    </uax:SuperTypeId>\n    <uax:InverseName>\n      <uax:Locale></uax:Locale>\n      <uax:Text>SignalFrom</uax:Text>\n    </uax:InverseName>\n  </SignalTo>\n  <GenericControllerType xmlns=\"http://tempuri.org/UA/Examples/BoilerType\">\n    <uax:NodeClass>ObjectType_8</uax:NodeClass>\n    <uax:NodeId>\n      <uax:Identifier>ns=1;i=4</uax:Identifier>\n    </uax:NodeId>\n    <uax:BrowseName>\n      <uax:NamespaceIndex>1</uax:NamespaceIndex>\n      <uax:Name>GenericControllerType</uax:Name>\n    </uax:BrowseName>\n    <uax:Description>\n      <uax:Locale></uax:Locale>\n      <uax:Text>A generic PID controller</uax:Text>\n    </uax:Description>\n    <uax:SuperTypeId>\n      <uax:Identifier>i=58</uax:Identifier>\n    </uax:SuperTypeId>\n    <Measurement>\n      <uax:NodeClass>Variable_2</uax:NodeClass>\n      <uax:NodeId>\n        <uax:Identifier>ns=1;i=5</uax:Identifier>\n      </uax:NodeId>\n      <uax:BrowseName>\n        <uax:NamespaceIndex>1</uax:NamespaceIndex>\n        <uax:Name>Measurement</uax:Name>\n      </uax:BrowseName>\n      <uax:ReferenceTypeId>\n        <uax:Identifier>i=46</uax:Identifier>\n      </uax:ReferenceTypeId>\n      <uax:TypeDefinitionId>\n        <uax:Identifier>i=68</uax:Identifier>\n      </uax:TypeDefinitionId>\n      <uax:ModellingRuleId>\n        <uax:Identifier>i=78</uax:Identifier>\n      </uax:ModellingRuleId>\n      <uax:NumericId>5</uax:NumericId>\n      <uax:DataType>\n        <uax:Identifier>i=11</uax:Identifier>\n      </uax:DataType>\n      <uax:ValueRank>-1</uax:ValueRank>\n      <uax:AccessLevel>1</uax:AccessLevel>\n      <uax:UserAccessLevel>1</uax:UserAccessLevel>\n    </Measurement>\n    <SetPoint>\n      <uax:NodeClass>Variable_2</uax:NodeClass>\n      <uax:NodeId>\n        <uax:Identifier>ns=1;i=6</uax:Identifier>\n      </uax:NodeId>\n      <uax:BrowseName>\n        <uax:NamespaceIndex>1</uax:NamespaceIndex>\n        <uax:Name>SetPoint</uax:Name>\n      </uax:BrowseName>\n      <uax:ReferenceTypeId>\n        <uax:Identifier>i=46</uax:Identifier>\n      </uax:ReferenceTypeId>\n      <uax:TypeDefinitionId>\n        <uax:Identifier>i=68</uax:Identifier>\n      </uax:TypeDefinitionId>\n      <uax:ModellingRuleId>\n        <uax:Identifier>i=78</uax:Identifier>\n      </uax:ModellingRuleId>\n      <uax:NumericId>6</uax:NumericId>\n      <uax:DataType>\n        <uax:Identifier>i=11</uax:Identifier>\n      </uax:DataType>\n      <uax:ValueRank>-1</uax:ValueRank>\n      <uax:AccessLevel>3</uax:AccessLevel>\n      <uax:UserAccessLevel>3</uax:UserAccessLevel>\n    </SetPoint>\n    <ControlOut>\n      <uax:NodeClass>Variable_2</uax:NodeClass>\n      <uax:NodeId>\n        <uax:Identifier>ns=1;i=7</uax:Identifier>\n      </uax:NodeId>\n      <uax:BrowseName>\n        <uax:NamespaceIndex>1</uax:NamespaceIndex>\n        <uax:Name>ControlOut</uax:Name>\n      </uax:BrowseName>\n      <uax:ReferenceTypeId>\n        <uax:Identifier>i=46</uax:Identifier>\n      </uax:ReferenceTypeId>\n      <uax:TypeDefinitionId>\n        <uax:Identifier>i=68</uax:Identifier>\n      </uax:TypeDefinitionId>\n      <uax:ModellingRuleId>\n        <uax:Identifier>i=78</uax:Identifier>\n      </uax:ModellingRuleId>\n      <uax:NumericId>7</uax:NumericId>\n      <uax:DataType>\n        <uax:Identifier>i=11</uax:Identifier>\n      </uax:DataType>\n      <uax:ValueRank>-1</uax:ValueRank>\n      <uax:AccessLevel>1</uax:AccessLevel>\n      <uax:UserAccessLevel>1</uax:UserAccessLevel>\n    </ControlOut>\n  </GenericControllerType>\n  <GenericSensorType xmlns=\"http://tempuri.org/UA/Examples/BoilerType\">\n    <uax:NodeClass>ObjectType_8</uax:NodeClass>\n    <uax:NodeId>\n      <uax:Identifier>ns=1;i=8</uax:Identifier>\n    </uax:NodeId>\n    <uax:BrowseName>\n      <uax:NamespaceIndex>1</uax:NamespaceIndex>\n      <uax:Name>GenericSensorType</uax:Name>\n    </uax:BrowseName>\n    <uax:Description>\n      <uax:Locale></uax:Locale>\n      <uax:Text>A generic sensor that read a process value.</uax:Text>\n    </uax:Description>\n    <uax:SuperTypeId>\n      <uax:Identifier>i=58</uax:Identifier>\n    </uax:SuperTypeId>\n    <Output>\n      <uax:NodeClass>Variable_2</uax:NodeClass>\n      <uax:NodeId>\n        <uax:Identifier>ns=1;i=9</uax:Identifier>\n      </uax:NodeId>\n      <uax:BrowseName>\n        <uax:NamespaceIndex>1</uax:NamespaceIndex>\n        <uax:Name>Output</uax:Name>\n      </uax:BrowseName>\n      <uax:ReferenceTypeId>\n        <uax:Identifier>i=47</uax:Identifier>\n      </uax:ReferenceTypeId>\n      <uax:TypeDefinitionId>\n        <uax:Identifier>i=2368</uax:Identifier>\n      </uax:TypeDefinitionId>\n      <uax:ModellingRuleId>\n        <uax:Identifier>i=78</uax:Identifier>\n      </uax:ModellingRuleId>\n      <uax:NumericId>9</uax:NumericId>\n      <uax:DataType>\n        <uax:Identifier>i=11</uax:Identifier>\n      </uax:DataType>\n      <uax:ValueRank>-1</uax:ValueRank>\n      <uax:AccessLevel>1</uax:AccessLevel>\n      <uax:UserAccessLevel>1</uax:UserAccessLevel>\n      <EURange xmlns=\"http://opcfoundation.org/UA/\">\n        <uax:NodeClass>Variable_2</uax:NodeClass>\n        <uax:NodeId>\n          <uax:Identifier>ns=1;i=13</uax:Identifier>\n        </uax:NodeId>\n        <uax:BrowseName>\n          <uax:NamespaceIndex>0</uax:NamespaceIndex>\n          <uax:Name>EURange</uax:Name>\n        </uax:BrowseName>\n        <uax:ReferenceTypeId>\n          <uax:Identifier>i=46</uax:Identifier>\n        </uax:ReferenceTypeId>\n        <uax:TypeDefinitionId>\n          <uax:Identifier>i=68</uax:Identifier>\n        </uax:TypeDefinitionId>\n        <uax:ModellingRuleId>\n          <uax:Identifier>i=78</uax:Identifier>\n        </uax:ModellingRuleId>\n        <uax:NumericId>13</uax:NumericId>\n        <uax:DataType>\n          <uax:Identifier>i=884</uax:Identifier>\n        </uax:DataType>\n        <uax:ValueRank>-1</uax:ValueRank>\n        <uax:AccessLevel>1</uax:AccessLevel>\n        <uax:UserAccessLevel>1</uax:UserAccessLevel>\n      </EURange>\n    </Output>\n  </GenericSensorType>\n  <GenericActuatorType xmlns=\"http://tempuri.org/UA/Examples/BoilerType\">\n    <uax:NodeClass>ObjectType_8</uax:NodeClass>\n    <uax:NodeId>\n      <uax:Identifier>ns=1;i=15</uax:Identifier>\n    </uax:NodeId>\n    <uax:BrowseName>\n      <uax:NamespaceIndex>1</uax:NamespaceIndex>\n      <uax:Name>GenericActuatorType</uax:Name>\n    </uax:BrowseName>\n    <uax:Description>\n      <uax:Locale></uax:Locale>\n      <uax:Text>Represents a piece of equipment that causes some action to occur.</uax:Text>\n    </uax:Description>\n    <uax:SuperTypeId>\n      <uax:Identifier>i=58</uax:Identifier>\n    </uax:SuperTypeId>\n    <Input>\n      <uax:NodeClass>Variable_2</uax:NodeClass>\n      <uax:NodeId>\n        <uax:Identifier>ns=1;i=16</uax:Identifier>\n      </uax:NodeId>\n      <uax:BrowseName>\n        <uax:NamespaceIndex>1</uax:NamespaceIndex>\n        <uax:Name>Input</uax:Name>\n      </uax:BrowseName>\n      <uax:ReferenceTypeId>\n        <uax:Identifier>i=47</uax:Identifier>\n      </uax:ReferenceTypeId>\n      <uax:TypeDefinitionId>\n        <uax:Identifier>i=2368</uax:Identifier>\n      </uax:TypeDefinitionId>\n      <uax:ModellingRuleId>\n        <uax:Identifier>i=78</uax:Identifier>\n      </uax:ModellingRuleId>\n      <uax:NumericId>16</uax:NumericId>\n      <uax:DataType>\n        <uax:Identifier>i=11</uax:Identifier>\n      </uax:DataType>\n      <uax:ValueRank>-1</uax:ValueRank>\n      <uax:AccessLevel>2</uax:AccessLevel>\n      <uax:UserAccessLevel>2</uax:UserAccessLevel>\n      <EURange xmlns=\"http://opcfoundation.org/UA/\">\n        <uax:NodeClass>Variable_2</uax:NodeClass>\n        <uax:NodeId>\n          <uax:Identifier>ns=1;i=20</uax:Identifier>\n        </uax:NodeId>\n        <uax:BrowseName>\n          <uax:NamespaceIndex>0</uax:NamespaceIndex>\n          <uax:Name>EURange</uax:Name>\n        </uax:BrowseName>\n        <uax:ReferenceTypeId>\n          <uax:Identifier>i=46</uax:Identifier>\n        </uax:ReferenceTypeId>\n        <uax:TypeDefinitionId>\n          <uax:Identifier>i=68</uax:Identifier>\n        </uax:TypeDefinitionId>\n        <uax:ModellingRuleId>\n          <uax:Identifier>i=78</uax:Identifier>\n        </uax:ModellingRuleId>\n        <uax:NumericId>20</uax:NumericId>\n        <uax:DataType>\n          <uax:Identifier>i=884</uax:Identifier>\n        </uax:DataType>\n        <uax:ValueRank>-1</uax:ValueRank>\n        <uax:AccessLevel>1</uax:AccessLevel>\n        <uax:UserAccessLevel>1</uax:UserAccessLevel>\n      </EURange>\n    </Input>\n  </GenericActuatorType>\n  <CustomControllerType xmlns=\"http://tempuri.org/UA/Examples/BoilerType\">\n    <uax:NodeClass>ObjectType_8</uax:NodeClass>\n    <uax:NodeId>\n      <uax:Identifier>ns=1;i=22</uax:Identifier>\n    </uax:NodeId>\n    <uax:BrowseName>\n      <uax:NamespaceIndex>1</uax:NamespaceIndex>\n      <uax:Name>CustomControllerType</uax:Name>\n    </uax:BrowseName>\n    <uax:Description>\n      <uax:Locale></uax:Locale>\n      <uax:Text>A custom PID controller with 3 inputs</uax:Text>\n    </uax:Description>\n    <uax:SuperTypeId>\n      <uax:Identifier>i=58</uax:Identifier>\n    </uax:SuperTypeId>\n    <Input1>\n      <uax:NodeClass>Variable_2</uax:NodeClass>\n      <uax:NodeId>\n        <uax:Identifier>ns=1;i=23</uax:Identifier>\n      </uax:NodeId>\n      <uax:BrowseName>\n        <uax:NamespaceIndex>1</uax:NamespaceIndex>\n        <uax:Name>Input1</uax:Name>\n      </uax:BrowseName>\n      <uax:ReferenceTypeId>\n        <uax:Identifier>i=46</uax:Identifier>\n      </uax:ReferenceTypeId>\n      <uax:TypeDefinitionId>\n        <uax:Identifier>i=68</uax:Identifier>\n      </uax:TypeDefinitionId>\n      <uax:ModellingRuleId>\n        <uax:Identifier>i=78</uax:Identifier>\n      </uax:ModellingRuleId>\n      <uax:NumericId>23</uax:NumericId>\n      <uax:DataType>\n        <uax:Identifier>i=11</uax:Identifier>\n      </uax:DataType>\n      <uax:ValueRank>-1</uax:ValueRank>\n      <uax:AccessLevel>2</uax:AccessLevel>\n      <uax:UserAccessLevel>2</uax:UserAccessLevel>\n    </Input1>\n    <Input2>\n      <uax:NodeClass>Variable_2</uax:NodeClass>\n      <uax:NodeId>\n        <uax:Identifier>ns=1;i=24</uax:Identifier>\n      </uax:NodeId>\n      <uax:BrowseName>\n        <uax:NamespaceIndex>1</uax:NamespaceIndex>\n        <uax:Name>Input2</uax:Name>\n      </uax:BrowseName>\n      <uax:ReferenceTypeId>\n        <uax:Identifier>i=46</uax:Identifier>\n      </uax:ReferenceTypeId>\n      <uax:TypeDefinitionId>\n        <uax:Identifier>i=68</uax:Identifier>\n      </uax:TypeDefinitionId>\n      <uax:ModellingRuleId>\n        <uax:Identifier>i=78</uax:Identifier>\n      </uax:ModellingRuleId>\n      <uax:NumericId>24</uax:NumericId>\n      <uax:DataType>\n        <uax:Identifier>i=11</uax:Identifier>\n      </uax:DataType>\n      <uax:ValueRank>-1</uax:ValueRank>\n      <uax:AccessLevel>2</uax:AccessLevel>\n      <uax:UserAccessLevel>2</uax:UserAccessLevel>\n    </Input2>\n    <Input3>\n      <uax:NodeClass>Variable_2</uax:NodeClass>\n      <uax:NodeId>\n        <uax:Identifier>ns=1;i=25</uax:Identifier>\n      </uax:NodeId>\n      <uax:BrowseName>\n        <uax:NamespaceIndex>1</uax:NamespaceIndex>\n        <uax:Name>Input3</uax:Name>\n      </uax:BrowseName>\n      <uax:ReferenceTypeId>\n        <uax:Identifier>i=46</uax:Identifier>\n      </uax:ReferenceTypeId>\n      <uax:TypeDefinitionId>\n        <uax:Identifier>i=68</uax:Identifier>\n      </uax:TypeDefinitionId>\n      <uax:ModellingRuleId>\n        <uax:Identifier>i=78</uax:Identifier>\n      </uax:ModellingRuleId>\n      <uax:NumericId>25</uax:NumericId>\n      <uax:DataType>\n        <uax:Identifier>i=11</uax:Identifier>\n      </uax:DataType>\n      <uax:ValueRank>-1</uax:ValueRank>\n      <uax:AccessLevel>2</uax:AccessLevel>\n      <uax:UserAccessLevel>2</uax:UserAccessLevel>\n    </Input3>\n    <ControlOut>\n      <uax:NodeClass>Variable_2</uax:NodeClass>\n      <uax:NodeId>\n        <uax:Identifier>ns=1;i=26</uax:Identifier>\n      </uax:NodeId>\n      <uax:BrowseName>\n        <uax:NamespaceIndex>1</uax:NamespaceIndex>\n        <uax:Name>ControlOut</uax:Name>\n      </uax:BrowseName>\n      <uax:ReferenceTypeId>\n        <uax:Identifier>i=46</uax:Identifier>\n      </uax:ReferenceTypeId>\n      <uax:TypeDefinitionId>\n        <uax:Identifier>i=68</uax:Identifier>\n      </uax:TypeDefinitionId>\n      <uax:ModellingRuleId>\n        <uax:Identifier>i=78</uax:Identifier>\n      </uax:ModellingRuleId>\n      <uax:NumericId>26</uax:NumericId>\n      <uax:DataType>\n        <uax:Identifier>i=11</uax:Identifier>\n      </uax:DataType>\n      <uax:ValueRank>-1</uax:ValueRank>\n      <uax:AccessLevel>1</uax:AccessLevel>\n      <uax:UserAccessLevel>1</uax:UserAccessLevel>\n    </ControlOut>\n    <DescriptionX>\n      <uax:NodeClass>Variable_2</uax:NodeClass>\n      <uax:NodeId>\n        <uax:Identifier>ns=1;i=27</uax:Identifier>\n      </uax:NodeId>\n      <uax:BrowseName>\n        <uax:NamespaceIndex>1</uax:NamespaceIndex>\n        <uax:Name>Description</uax:Name>\n      </uax:BrowseName>\n      <uax:ReferenceTypeId>\n        <uax:Identifier>i=46</uax:Identifier>\n      </uax:ReferenceTypeId>\n      <uax:TypeDefinitionId>\n        <uax:Identifier>i=68</uax:Identifier>\n      </uax:TypeDefinitionId>\n      <uax:ModellingRuleId>\n        <uax:Identifier>i=78</uax:Identifier>\n      </uax:ModellingRuleId>\n      <uax:NumericId>27</uax:NumericId>\n      <uax:DataType>\n        <uax:Identifier>i=21</uax:Identifier>\n      </uax:DataType>\n      <uax:ValueRank>-1</uax:ValueRank>\n      <uax:AccessLevel>1</uax:AccessLevel>\n      <uax:UserAccessLevel>1</uax:UserAccessLevel>\n    </DescriptionX>\n  </CustomControllerType>\n  <ValveType xmlns=\"http://tempuri.org/UA/Examples/BoilerType\">\n    <uax:NodeClass>ObjectType_8</uax:NodeClass>\n    <uax:NodeId>\n      <uax:Identifier>ns=1;i=28</uax:Identifier>\n    </uax:NodeId>\n    <uax:BrowseName>\n      <uax:NamespaceIndex>1</uax:NamespaceIndex>\n      <uax:Name>ValveType</uax:Name>\n    </uax:BrowseName>\n    <uax:Description>\n      <uax:Locale></uax:Locale>\n      <uax:Text>An actuator that controls the flow through a pipe.</uax:Text>\n    </uax:Description>\n    <uax:SuperTypeId>\n      <uax:Identifier>ns=1;i=15</uax:Identifier>\n    </uax:SuperTypeId>\n  </ValveType>\n  <LevelControllerType xmlns=\"http://tempuri.org/UA/Examples/BoilerType\">\n    <uax:NodeClass>ObjectType_8</uax:NodeClass>\n    <uax:NodeId>\n      <uax:Identifier>ns=1;i=35</uax:Identifier>\n    </uax:NodeId>\n    <uax:BrowseName>\n      <uax:NamespaceIndex>1</uax:NamespaceIndex>\n      <uax:Name>LevelControllerType</uax:Name>\n    </uax:BrowseName>\n    <uax:Description>\n      <uax:Locale></uax:Locale>\n      <uax:Text>A controller for the level of a fluid in a drum.</uax:Text>\n    </uax:Description>\n    <uax:SuperTypeId>\n      <uax:Identifier>ns=1;i=4</uax:Identifier>\n    </uax:SuperTypeId>\n  </LevelControllerType>\n  <FlowControllerType xmlns=\"http://tempuri.org/UA/Examples/BoilerType\">\n    <uax:NodeClass>ObjectType_8</uax:NodeClass>\n    <uax:NodeId>\n      <uax:Identifier>ns=1;i=39</uax:Identifier>\n    </uax:NodeId>\n    <uax:BrowseName>\n      <uax:NamespaceIndex>1</uax:NamespaceIndex>\n      <uax:Name>FlowControllerType</uax:Name>\n    </uax:BrowseName>\n    <uax:Description>\n      <uax:Locale></uax:Locale>\n      <uax:Text>A controller for the flow of a fluid through a pipe.</uax:Text>\n    </uax:Description>\n    <uax:SuperTypeId>\n      <uax:Identifier>ns=1;i=4</uax:Identifier>\n    </uax:SuperTypeId>\n  </FlowControllerType>\n  <LevelIndicatorType xmlns=\"http://tempuri.org/UA/Examples/BoilerType\">\n    <uax:NodeClass>ObjectType_8</uax:NodeClass>\n    <uax:NodeId>\n      <uax:Identifier>ns=1;i=43</uax:Identifier>\n    </uax:NodeId>\n    <uax:BrowseName>\n      <uax:NamespaceIndex>1</uax:NamespaceIndex>\n      <uax:Name>LevelIndicatorType</uax:Name>\n    </uax:BrowseName>\n    <uax:Description>\n      <uax:Locale></uax:Locale>\n      <uax:Text>A sensor that reports the level of a liquid in a tank.</uax:Text>\n    </uax:Description>\n    <uax:SuperTypeId>\n      <uax:Identifier>ns=1;i=8</uax:Identifier>\n    </uax:SuperTypeId>\n  </LevelIndicatorType>\n  <FlowTransmitterType xmlns=\"http://tempuri.org/UA/Examples/BoilerType\">\n    <uax:NodeClass>ObjectType_8</uax:NodeClass>\n    <uax:NodeId>\n      <uax:Identifier>ns=1;i=50</uax:Identifier>\n    </uax:NodeId>\n    <uax:BrowseName>\n      <uax:NamespaceIndex>1</uax:NamespaceIndex>\n      <uax:Name>FlowTransmitterType</uax:Name>\n    </uax:BrowseName>\n    <uax:Description>\n      <uax:Locale></uax:Locale>\n      <uax:Text>A sensor that reports the flow of a liquid through a pipe.</uax:Text>\n    </uax:Description>\n    <uax:SuperTypeId>\n      <uax:Identifier>ns=1;i=8</uax:Identifier>\n    </uax:SuperTypeId>\n  </FlowTransmitterType>\n  <BoilerStateMachineType xmlns=\"http://tempuri.org/UA/Examples/BoilerType\">\n    <uax:NodeClass>ObjectType_8</uax:NodeClass>\n    <uax:NodeId>\n      <uax:Identifier>ns=1;i=57</uax:Identifier>\n    </uax:NodeId>\n    <uax:BrowseName>\n      <uax:NamespaceIndex>1</uax:NamespaceIndex>\n      <uax:Name>BoilerStateMachineType</uax:Name>\n    </uax:BrowseName>\n    <uax:Description>\n      <uax:Locale></uax:Locale>\n      <uax:Text>A program that produces simulated values for a running boiler.</uax:Text>\n    </uax:Description>\n    <uax:SuperTypeId>\n      <uax:Identifier>i=2391</uax:Identifier>\n    </uax:SuperTypeId>\n    <UpdateRate>\n      <uax:NodeClass>Variable_2</uax:NodeClass>\n      <uax:NodeId>\n        <uax:Identifier>ns=1;i=119</uax:Identifier>\n      </uax:NodeId>\n      <uax:BrowseName>\n        <uax:NamespaceIndex>1</uax:NamespaceIndex>\n        <uax:Name>UpdateRate</uax:Name>\n      </uax:BrowseName>\n      <uax:Description>\n        <uax:Locale></uax:Locale>\n        <uax:Text>The rate at which the simulation runs.</uax:Text>\n      </uax:Description>\n      <uax:ReferenceTypeId>\n        <uax:Identifier>i=46</uax:Identifier>\n      </uax:ReferenceTypeId>\n      <uax:TypeDefinitionId>\n        <uax:Identifier>i=68</uax:Identifier>\n      </uax:TypeDefinitionId>\n      <uax:ModellingRuleId>\n        <uax:Identifier>i=78</uax:Identifier>\n      </uax:ModellingRuleId>\n      <uax:NumericId>119</uax:NumericId>\n      <uax:DataType>\n        <uax:Identifier>i=7</uax:Identifier>\n      </uax:DataType>\n      <uax:ValueRank>-1</uax:ValueRank>\n      <uax:AccessLevel>3</uax:AccessLevel>\n      <uax:UserAccessLevel>3</uax:UserAccessLevel>\n    </UpdateRate>\n  </BoilerStateMachineType>\n  <BoilerInputPipeType xmlns=\"http://tempuri.org/UA/Examples/BoilerType\">\n    <uax:NodeClass>ObjectType_8</uax:NodeClass>\n    <uax:NodeId>\n      <uax:Identifier>ns=1;i=120</uax:Identifier>\n    </uax:NodeId>\n    <uax:BrowseName>\n      <uax:NamespaceIndex>1</uax:NamespaceIndex>\n      <uax:Name>BoilerInputPipeType</uax:Name>\n    </uax:BrowseName>\n    <uax:SuperTypeId>\n      <uax:Identifier>i=61</uax:Identifier>\n    </uax:SuperTypeId>\n    <uax:References>\n      <uax:Reference>\n        <uax:ReferenceTypeId>\n          <uax:Identifier>i=48</uax:Identifier>\n        </uax:ReferenceTypeId>\n        <uax:TargetId>\n          <uax:Identifier>ns=1;i=121</uax:Identifier>\n        </uax:TargetId>\n      </uax:Reference>\n    </uax:References>\n    <FlowTransmitter1>\n      <uax:NodeClass>Object_1</uax:NodeClass>\n      <uax:NodeId>\n        <uax:Identifier>ns=1;i=121</uax:Identifier>\n      </uax:NodeId>\n      <uax:BrowseName>\n        <uax:NamespaceIndex>1</uax:NamespaceIndex>\n        <uax:Name>FTX001</uax:Name>\n      </uax:BrowseName>\n      <uax:DisplayName>\n        <uax:Locale></uax:Locale>\n        <uax:Text>FlowTransmitter1</uax:Text>\n      </uax:DisplayName>\n      <uax:ReferenceTypeId>\n        <uax:Identifier>i=47</uax:Identifier>\n      </uax:ReferenceTypeId>\n      <uax:TypeDefinitionId>\n        <uax:Identifier>ns=1;i=50</uax:Identifier>\n      </uax:TypeDefinitionId>\n      <uax:ModellingRuleId>\n        <uax:Identifier>i=78</uax:Identifier>\n      </uax:ModellingRuleId>\n      <uax:NumericId>121</uax:NumericId>\n      <uax:EventNotifier>1</uax:EventNotifier>\n      <Output>\n        <uax:NodeClass>Variable_2</uax:NodeClass>\n        <uax:NodeId>\n          <uax:Identifier>ns=1;i=122</uax:Identifier>\n        </uax:NodeId>\n        <uax:BrowseName>\n          <uax:NamespaceIndex>1</uax:NamespaceIndex>\n          <uax:Name>Output</uax:Name>\n        </uax:BrowseName>\n        <uax:ReferenceTypeId>\n          <uax:Identifier>i=47</uax:Identifier>\n        </uax:ReferenceTypeId>\n        <uax:TypeDefinitionId>\n          <uax:Identifier>i=2368</uax:Identifier>\n        </uax:TypeDefinitionId>\n        <uax:ModellingRuleId>\n          <uax:Identifier>i=78</uax:Identifier>\n        </uax:ModellingRuleId>\n        <uax:NumericId>122</uax:NumericId>\n        <uax:DataType>\n          <uax:Identifier>i=11</uax:Identifier>\n        </uax:DataType>\n        <uax:ValueRank>-1</uax:ValueRank>\n        <uax:AccessLevel>1</uax:AccessLevel>\n        <uax:UserAccessLevel>1</uax:UserAccessLevel>\n        <EURange xmlns=\"http://opcfoundation.org/UA/\">\n          <uax:NodeClass>Variable_2</uax:NodeClass>\n          <uax:NodeId>\n            <uax:Identifier>ns=1;i=126</uax:Identifier>\n          </uax:NodeId>\n          <uax:BrowseName>\n            <uax:NamespaceIndex>0</uax:NamespaceIndex>\n            <uax:Name>EURange</uax:Name>\n          </uax:BrowseName>\n          <uax:ReferenceTypeId>\n            <uax:Identifier>i=46</uax:Identifier>\n          </uax:ReferenceTypeId>\n          <uax:TypeDefinitionId>\n            <uax:Identifier>i=68</uax:Identifier>\n          </uax:TypeDefinitionId>\n          <uax:ModellingRuleId>\n            <uax:Identifier>i=78</uax:Identifier>\n          </uax:ModellingRuleId>\n          <uax:NumericId>126</uax:NumericId>\n          <uax:DataType>\n            <uax:Identifier>i=884</uax:Identifier>\n          </uax:DataType>\n          <uax:ValueRank>-1</uax:ValueRank>\n          <uax:AccessLevel>1</uax:AccessLevel>\n          <uax:UserAccessLevel>1</uax:UserAccessLevel>\n        </EURange>\n      </Output>\n    </FlowTransmitter1>\n    <Valve>\n      <uax:NodeClass>Object_1</uax:NodeClass>\n      <uax:NodeId>\n        <uax:Identifier>ns=1;i=128</uax:Identifier>\n      </uax:NodeId>\n      <uax:BrowseName>\n        <uax:NamespaceIndex>1</uax:NamespaceIndex>\n        <uax:Name>ValveX001</uax:Name>\n      </uax:BrowseName>\n      <uax:DisplayName>\n        <uax:Locale></uax:Locale>\n        <uax:Text>Valve</uax:Text>\n      </uax:DisplayName>\n      <uax:ReferenceTypeId>\n        <uax:Identifier>i=47</uax:Identifier>\n      </uax:ReferenceTypeId>\n      <uax:TypeDefinitionId>\n        <uax:Identifier>ns=1;i=28</uax:Identifier>\n      </uax:TypeDefinitionId>\n      <uax:ModellingRuleId>\n        <uax:Identifier>i=78</uax:Identifier>\n      </uax:ModellingRuleId>\n      <uax:NumericId>128</uax:NumericId>\n      <uax:EventNotifier>1</uax:EventNotifier>\n      <Input>\n        <uax:NodeClass>Variable_2</uax:NodeClass>\n        <uax:NodeId>\n          <uax:Identifier>ns=1;i=129</uax:Identifier>\n        </uax:NodeId>\n        <uax:BrowseName>\n          <uax:NamespaceIndex>1</uax:NamespaceIndex>\n          <uax:Name>Input</uax:Name>\n        </uax:BrowseName>\n        <uax:ReferenceTypeId>\n          <uax:Identifier>i=47</uax:Identifier>\n        </uax:ReferenceTypeId>\n        <uax:TypeDefinitionId>\n          <uax:Identifier>i=2368</uax:Identifier>\n        </uax:TypeDefinitionId>\n        <uax:ModellingRuleId>\n          <uax:Identifier>i=78</uax:Identifier>\n        </uax:ModellingRuleId>\n        <uax:NumericId>129</uax:NumericId>\n        <uax:DataType>\n          <uax:Identifier>i=11</uax:Identifier>\n        </uax:DataType>\n        <uax:ValueRank>-1</uax:ValueRank>\n        <uax:AccessLevel>2</uax:AccessLevel>\n        <uax:UserAccessLevel>2</uax:UserAccessLevel>\n        <EURange xmlns=\"http://opcfoundation.org/UA/\">\n          <uax:NodeClass>Variable_2</uax:NodeClass>\n          <uax:NodeId>\n            <uax:Identifier>ns=1;i=133</uax:Identifier>\n          </uax:NodeId>\n          <uax:BrowseName>\n            <uax:NamespaceIndex>0</uax:NamespaceIndex>\n            <uax:Name>EURange</uax:Name>\n          </uax:BrowseName>\n          <uax:ReferenceTypeId>\n            <uax:Identifier>i=46</uax:Identifier>\n          </uax:ReferenceTypeId>\n          <uax:TypeDefinitionId>\n            <uax:Identifier>i=68</uax:Identifier>\n          </uax:TypeDefinitionId>\n          <uax:ModellingRuleId>\n            <uax:Identifier>i=78</uax:Identifier>\n          </uax:ModellingRuleId>\n          <uax:NumericId>133</uax:NumericId>\n          <uax:DataType>\n            <uax:Identifier>i=884</uax:Identifier>\n          </uax:DataType>\n          <uax:ValueRank>-1</uax:ValueRank>\n          <uax:AccessLevel>1</uax:AccessLevel>\n          <uax:UserAccessLevel>1</uax:UserAccessLevel>\n        </EURange>\n      </Input>\n    </Valve>\n  </BoilerInputPipeType>\n  <BoilerDrumType xmlns=\"http://tempuri.org/UA/Examples/BoilerType\">\n    <uax:NodeClass>ObjectType_8</uax:NodeClass>\n    <uax:NodeId>\n      <uax:Identifier>ns=1;i=135</uax:Identifier>\n    </uax:NodeId>\n    <uax:BrowseName>\n      <uax:NamespaceIndex>1</uax:NamespaceIndex>\n      <uax:Name>BoilerDrumType</uax:Name>\n    </uax:BrowseName>\n    <uax:SuperTypeId>\n      <uax:Identifier>i=61</uax:Identifier>\n    </uax:SuperTypeId>\n    <uax:References>\n      <uax:Reference>\n        <uax:ReferenceTypeId>\n          <uax:Identifier>i=48</uax:Identifier>\n        </uax:ReferenceTypeId>\n        <uax:TargetId>\n          <uax:Identifier>ns=1;i=136</uax:Identifier>\n        </uax:TargetId>\n      </uax:Reference>\n    </uax:References>\n    <LevelIndicator>\n      <uax:NodeClass>Object_1</uax:NodeClass>\n      <uax:NodeId>\n        <uax:Identifier>ns=1;i=136</uax:Identifier>\n      </uax:NodeId>\n      <uax:BrowseName>\n        <uax:NamespaceIndex>1</uax:NamespaceIndex>\n        <uax:Name>LIX001</uax:Name>\n      </uax:BrowseName>\n      <uax:ReferenceTypeId>\n        <uax:Identifier>i=47</uax:Identifier>\n      </uax:ReferenceTypeId>\n      <uax:TypeDefinitionId>\n        <uax:Identifier>ns=1;i=43</uax:Identifier>\n      </uax:TypeDefinitionId>\n      <uax:ModellingRuleId>\n        <uax:Identifier>i=78</uax:Identifier>\n      </uax:ModellingRuleId>\n      <uax:NumericId>136</uax:NumericId>\n      <uax:EventNotifier>1</uax:EventNotifier>\n      <Output>\n        <uax:NodeClass>Variable_2</uax:NodeClass>\n        <uax:NodeId>\n          <uax:Identifier>ns=1;i=137</uax:Identifier>\n        </uax:NodeId>\n        <uax:BrowseName>\n          <uax:NamespaceIndex>1</uax:NamespaceIndex>\n          <uax:Name>Output</uax:Name>\n        </uax:BrowseName>\n        <uax:ReferenceTypeId>\n          <uax:Identifier>i=47</uax:Identifier>\n        </uax:ReferenceTypeId>\n        <uax:TypeDefinitionId>\n          <uax:Identifier>i=2368</uax:Identifier>\n        </uax:TypeDefinitionId>\n        <uax:ModellingRuleId>\n          <uax:Identifier>i=78</uax:Identifier>\n        </uax:ModellingRuleId>\n        <uax:NumericId>137</uax:NumericId>\n        <uax:DataType>\n          <uax:Identifier>i=11</uax:Identifier>\n        </uax:DataType>\n        <uax:ValueRank>-1</uax:ValueRank>\n        <uax:AccessLevel>1</uax:AccessLevel>\n        <uax:UserAccessLevel>1</uax:UserAccessLevel>\n        <EURange xmlns=\"http://opcfoundation.org/UA/\">\n          <uax:NodeClass>Variable_2</uax:NodeClass>\n          <uax:NodeId>\n            <uax:Identifier>ns=1;i=141</uax:Identifier>\n          </uax:NodeId>\n          <uax:BrowseName>\n            <uax:NamespaceIndex>0</uax:NamespaceIndex>\n            <uax:Name>EURange</uax:Name>\n          </uax:BrowseName>\n          <uax:ReferenceTypeId>\n            <uax:Identifier>i=46</uax:Identifier>\n          </uax:ReferenceTypeId>\n          <uax:TypeDefinitionId>\n            <uax:Identifier>i=68</uax:Identifier>\n          </uax:TypeDefinitionId>\n          <uax:ModellingRuleId>\n            <uax:Identifier>i=78</uax:Identifier>\n          </uax:ModellingRuleId>\n          <uax:NumericId>141</uax:NumericId>\n          <uax:DataType>\n            <uax:Identifier>i=884</uax:Identifier>\n          </uax:DataType>\n          <uax:ValueRank>-1</uax:ValueRank>\n          <uax:AccessLevel>1</uax:AccessLevel>\n          <uax:UserAccessLevel>1</uax:UserAccessLevel>\n        </EURange>\n      </Output>\n    </LevelIndicator>\n  </BoilerDrumType>\n  <BoilerOutputPipeType xmlns=\"http://tempuri.org/UA/Examples/BoilerType\">\n    <uax:NodeClass>ObjectType_8</uax:NodeClass>\n    <uax:NodeId>\n      <uax:Identifier>ns=1;i=143</uax:Identifier>\n    </uax:NodeId>\n    <uax:BrowseName>\n      <uax:NamespaceIndex>1</uax:NamespaceIndex>\n      <uax:Name>BoilerOutputPipeType</uax:Name>\n    </uax:BrowseName>\n    <uax:SuperTypeId>\n      <uax:Identifier>i=61</uax:Identifier>\n    </uax:SuperTypeId>\n    <uax:References>\n      <uax:Reference>\n        <uax:ReferenceTypeId>\n          <uax:Identifier>i=48</uax:Identifier>\n        </uax:ReferenceTypeId>\n        <uax:TargetId>\n          <uax:Identifier>ns=1;i=144</uax:Identifier>\n        </uax:TargetId>\n      </uax:Reference>\n    </uax:References>\n    <FlowTransmitter2>\n      <uax:NodeClass>Object_1</uax:NodeClass>\n      <uax:NodeId>\n        <uax:Identifier>ns=1;i=144</uax:Identifier>\n      </uax:NodeId>\n      <uax:BrowseName>\n        <uax:NamespaceIndex>1</uax:NamespaceIndex>\n        <uax:Name>FTX002</uax:Name>\n      </uax:BrowseName>\n      <uax:ReferenceTypeId>\n        <uax:Identifier>i=47</uax:Identifier>\n      </uax:ReferenceTypeId>\n      <uax:TypeDefinitionId>\n        <uax:Identifier>ns=1;i=50</uax:Identifier>\n      </uax:TypeDefinitionId>\n      <uax:ModellingRuleId>\n        <uax:Identifier>i=78</uax:Identifier>\n      </uax:ModellingRuleId>\n      <uax:NumericId>144</uax:NumericId>\n      <uax:EventNotifier>1</uax:EventNotifier>\n      <Output>\n        <uax:NodeClass>Variable_2</uax:NodeClass>\n        <uax:NodeId>\n          <uax:Identifier>ns=1;i=145</uax:Identifier>\n        </uax:NodeId>\n        <uax:BrowseName>\n          <uax:NamespaceIndex>1</uax:NamespaceIndex>\n          <uax:Name>Output</uax:Name>\n        </uax:BrowseName>\n        <uax:ReferenceTypeId>\n          <uax:Identifier>i=47</uax:Identifier>\n        </uax:ReferenceTypeId>\n        <uax:TypeDefinitionId>\n          <uax:Identifier>i=2368</uax:Identifier>\n        </uax:TypeDefinitionId>\n        <uax:ModellingRuleId>\n          <uax:Identifier>i=78</uax:Identifier>\n        </uax:ModellingRuleId>\n        <uax:NumericId>145</uax:NumericId>\n        <uax:DataType>\n          <uax:Identifier>i=11</uax:Identifier>\n        </uax:DataType>\n        <uax:ValueRank>-1</uax:ValueRank>\n        <uax:AccessLevel>1</uax:AccessLevel>\n        <uax:UserAccessLevel>1</uax:UserAccessLevel>\n        <EURange xmlns=\"http://opcfoundation.org/UA/\">\n          <uax:NodeClass>Variable_2</uax:NodeClass>\n          <uax:NodeId>\n            <uax:Identifier>ns=1;i=149</uax:Identifier>\n          </uax:NodeId>\n          <uax:BrowseName>\n            <uax:NamespaceIndex>0</uax:NamespaceIndex>\n            <uax:Name>EURange</uax:Name>\n          </uax:BrowseName>\n          <uax:ReferenceTypeId>\n            <uax:Identifier>i=46</uax:Identifier>\n          </uax:ReferenceTypeId>\n          <uax:TypeDefinitionId>\n            <uax:Identifier>i=68</uax:Identifier>\n          </uax:TypeDefinitionId>\n          <uax:ModellingRuleId>\n            <uax:Identifier>i=78</uax:Identifier>\n          </uax:ModellingRuleId>\n          <uax:NumericId>149</uax:NumericId>\n          <uax:DataType>\n            <uax:Identifier>i=884</uax:Identifier>\n          </uax:DataType>\n          <uax:ValueRank>-1</uax:ValueRank>\n          <uax:AccessLevel>1</uax:AccessLevel>\n          <uax:UserAccessLevel>1</uax:UserAccessLevel>\n        </EURange>\n      </Output>\n    </FlowTransmitter2>\n  </BoilerOutputPipeType>\n  <BoilerType xmlns=\"http://tempuri.org/UA/Examples/BoilerType\">\n    <uax:NodeClass>ObjectType_8</uax:NodeClass>\n    <uax:NodeId>\n      <uax:Identifier>ns=1;i=151</uax:Identifier>\n    </uax:NodeId>\n    <uax:BrowseName>\n      <uax:NamespaceIndex>1</uax:NamespaceIndex>\n      <uax:Name>BoilerType</uax:Name>\n    </uax:BrowseName>\n    <uax:Description>\n      <uax:Locale></uax:Locale>\n      <uax:Text>A boiler used to produce steam for a turbine.</uax:Text>\n    </uax:Description>\n    <uax:SuperTypeId>\n      <uax:Identifier>i=58</uax:Identifier>\n    </uax:SuperTypeId>\n    <uax:References>\n      <uax:Reference>\n        <uax:ReferenceTypeId>\n          <uax:Identifier>i=48</uax:Identifier>\n        </uax:ReferenceTypeId>\n        <uax:TargetId>\n          <uax:Identifier>ns=1;i=152</uax:Identifier>\n        </uax:TargetId>\n      </uax:Reference>\n      <uax:Reference>\n        <uax:ReferenceTypeId>\n          <uax:Identifier>i=48</uax:Identifier>\n        </uax:ReferenceTypeId>\n        <uax:TargetId>\n          <uax:Identifier>ns=1;i=167</uax:Identifier>\n        </uax:TargetId>\n      </uax:Reference>\n      <uax:Reference>\n        <uax:ReferenceTypeId>\n          <uax:Identifier>i=48</uax:Identifier>\n        </uax:ReferenceTypeId>\n        <uax:TargetId>\n          <uax:Identifier>ns=1;i=175</uax:Identifier>\n        </uax:TargetId>\n      </uax:Reference>\n      <uax:Reference>\n        <uax:ReferenceTypeId>\n          <uax:Identifier>i=36</uax:Identifier>\n        </uax:ReferenceTypeId>\n        <uax:TargetId>\n          <uax:Identifier>ns=1;i=197</uax:Identifier>\n        </uax:TargetId>\n      </uax:Reference>\n    </uax:References>\n    <InputPipe>\n      <uax:NodeClass>Object_1</uax:NodeClass>\n      <uax:NodeId>\n        <uax:Identifier>ns=1;i=152</uax:Identifier>\n      </uax:NodeId>\n      <uax:BrowseName>\n        <uax:NamespaceIndex>1</uax:NamespaceIndex>\n        <uax:Name>PipeX001</uax:Name>\n      </uax:BrowseName>\n      <uax:DisplayName>\n        <uax:Locale></uax:Locale>\n        <uax:Text>InputPipe</uax:Text>\n      </uax:DisplayName>\n      <uax:ReferenceTypeId>\n        <uax:Identifier>i=47</uax:Identifier>\n      </uax:ReferenceTypeId>\n      <uax:TypeDefinitionId>\n        <uax:Identifier>ns=1;i=120</uax:Identifier>\n      </uax:TypeDefinitionId>\n      <uax:ModellingRuleId>\n        <uax:Identifier>i=78</uax:Identifier>\n      </uax:ModellingRuleId>\n      <uax:NumericId>152</uax:NumericId>\n      <uax:EventNotifier>1</uax:EventNotifier>\n      <uax:References>\n        <uax:Reference>\n          <uax:ReferenceTypeId>\n            <uax:Identifier>i=48</uax:Identifier>\n          </uax:ReferenceTypeId>\n          <uax:TargetId>\n            <uax:Identifier>ns=1;i=153</uax:Identifier>\n          </uax:TargetId>\n        </uax:Reference>\n        <uax:Reference>\n          <uax:ReferenceTypeId>\n            <uax:Identifier>ns=1;i=1</uax:Identifier>\n          </uax:ReferenceTypeId>\n          <uax:TargetId>\n            <uax:Identifier>ns=1;i=167</uax:Identifier>\n          </uax:TargetId>\n        </uax:Reference>\n      </uax:References>\n      <FlowTransmitter1>\n        <uax:NodeClass>Object_1</uax:NodeClass>\n        <uax:NodeId>\n          <uax:Identifier>ns=1;i=153</uax:Identifier>\n        </uax:NodeId>\n        <uax:BrowseName>\n          <uax:NamespaceIndex>1</uax:NamespaceIndex>\n          <uax:Name>FTX001</uax:Name>\n        </uax:BrowseName>\n        <uax:DisplayName>\n          <uax:Locale></uax:Locale>\n          <uax:Text>FlowTransmitter1</uax:Text>\n        </uax:DisplayName>\n        <uax:ReferenceTypeId>\n          <uax:Identifier>i=47</uax:Identifier>\n        </uax:ReferenceTypeId>\n        <uax:TypeDefinitionId>\n          <uax:Identifier>ns=1;i=50</uax:Identifier>\n        </uax:TypeDefinitionId>\n        <uax:ModellingRuleId>\n          <uax:Identifier>i=78</uax:Identifier>\n        </uax:ModellingRuleId>\n        <uax:NumericId>153</uax:NumericId>\n        <uax:EventNotifier>1</uax:EventNotifier>\n        <uax:References>\n          <uax:Reference>\n            <uax:ReferenceTypeId>\n              <uax:Identifier>i=48</uax:Identifier>\n            </uax:ReferenceTypeId>\n            <uax:IsInverse>true</uax:IsInverse>\n            <uax:TargetId>\n              <uax:Identifier>ns=1;i=152</uax:Identifier>\n            </uax:TargetId>\n          </uax:Reference>\n        </uax:References>\n        <Output>\n          <uax:NodeClass>Variable_2</uax:NodeClass>\n          <uax:NodeId>\n            <uax:Identifier>ns=1;i=154</uax:Identifier>\n          </uax:NodeId>\n          <uax:BrowseName>\n            <uax:NamespaceIndex>1</uax:NamespaceIndex>\n            <uax:Name>Output</uax:Name>\n          </uax:BrowseName>\n          <uax:ReferenceTypeId>\n            <uax:Identifier>i=47</uax:Identifier>\n          </uax:ReferenceTypeId>\n          <uax:TypeDefinitionId>\n            <uax:Identifier>i=2368</uax:Identifier>\n          </uax:TypeDefinitionId>\n          <uax:ModellingRuleId>\n            <uax:Identifier>i=78</uax:Identifier>\n          </uax:ModellingRuleId>\n          <uax:NumericId>154</uax:NumericId>\n          <uax:DataType>\n            <uax:Identifier>i=11</uax:Identifier>\n          </uax:DataType>\n          <uax:ValueRank>-1</uax:ValueRank>\n          <uax:AccessLevel>1</uax:AccessLevel>\n          <uax:UserAccessLevel>1</uax:UserAccessLevel>\n          <uax:References>\n            <uax:Reference>\n              <uax:ReferenceTypeId>\n                <uax:Identifier>ns=1;i=3</uax:Identifier>\n              </uax:ReferenceTypeId>\n              <uax:TargetId>\n                <uax:Identifier>ns=1;i=184</uax:Identifier>\n              </uax:TargetId>\n            </uax:Reference>\n            <uax:Reference>\n              <uax:ReferenceTypeId>\n                <uax:Identifier>ns=1;i=3</uax:Identifier>\n              </uax:ReferenceTypeId>\n              <uax:TargetId>\n                <uax:Identifier>ns=1;i=193</uax:Identifier>\n              </uax:TargetId>\n            </uax:Reference>\n          </uax:References>\n          <EURange xmlns=\"http://opcfoundation.org/UA/\">\n            <uax:NodeClass>Variable_2</uax:NodeClass>\n            <uax:NodeId>\n              <uax:Identifier>ns=1;i=158</uax:Identifier>\n            </uax:NodeId>\n            <uax:BrowseName>\n              <uax:NamespaceIndex>0</uax:NamespaceIndex>\n              <uax:Name>EURange</uax:Name>\n            </uax:BrowseName>\n            <uax:ReferenceTypeId>\n              <uax:Identifier>i=46</uax:Identifier>\n            </uax:ReferenceTypeId>\n            <uax:TypeDefinitionId>\n              <uax:Identifier>i=68</uax:Identifier>\n            </uax:TypeDefinitionId>\n            <uax:ModellingRuleId>\n              <uax:Identifier>i=78</uax:Identifier>\n            </uax:ModellingRuleId>\n            <uax:NumericId>158</uax:NumericId>\n            <uax:DataType>\n              <uax:Identifier>i=884</uax:Identifier>\n            </uax:DataType>\n            <uax:ValueRank>-1</uax:ValueRank>\n            <uax:AccessLevel>1</uax:AccessLevel>\n            <uax:UserAccessLevel>1</uax:UserAccessLevel>\n          </EURange>\n        </Output>\n      </FlowTransmitter1>\n      <Valve>\n        <uax:NodeClass>Object_1</uax:NodeClass>\n        <uax:NodeId>\n          <uax:Identifier>ns=1;i=160</uax:Identifier>\n        </uax:NodeId>\n        <uax:BrowseName>\n          <uax:NamespaceIndex>1</uax:NamespaceIndex>\n          <uax:Name>ValveX001</uax:Name>\n        </uax:BrowseName>\n        <uax:DisplayName>\n          <uax:Locale></uax:Locale>\n          <uax:Text>Valve</uax:Text>\n        </uax:DisplayName>\n        <uax:ReferenceTypeId>\n          <uax:Identifier>i=47</uax:Identifier>\n        </uax:ReferenceTypeId>\n        <uax:TypeDefinitionId>\n          <uax:Identifier>ns=1;i=28</uax:Identifier>\n        </uax:TypeDefinitionId>\n        <uax:ModellingRuleId>\n          <uax:Identifier>i=78</uax:Identifier>\n        </uax:ModellingRuleId>\n        <uax:NumericId>160</uax:NumericId>\n        <uax:EventNotifier>1</uax:EventNotifier>\n        <Input>\n          <uax:NodeClass>Variable_2</uax:NodeClass>\n          <uax:NodeId>\n            <uax:Identifier>ns=1;i=161</uax:Identifier>\n          </uax:NodeId>\n          <uax:BrowseName>\n            <uax:NamespaceIndex>1</uax:NamespaceIndex>\n            <uax:Name>Input</uax:Name>\n          </uax:BrowseName>\n          <uax:ReferenceTypeId>\n            <uax:Identifier>i=47</uax:Identifier>\n          </uax:ReferenceTypeId>\n          <uax:TypeDefinitionId>\n            <uax:Identifier>i=2368</uax:Identifier>\n          </uax:TypeDefinitionId>\n          <uax:ModellingRuleId>\n            <uax:Identifier>i=78</uax:Identifier>\n          </uax:ModellingRuleId>\n          <uax:NumericId>161</uax:NumericId>\n          <uax:DataType>\n            <uax:Identifier>i=11</uax:Identifier>\n          </uax:DataType>\n          <uax:ValueRank>-1</uax:ValueRank>\n          <uax:AccessLevel>2</uax:AccessLevel>\n          <uax:UserAccessLevel>2</uax:UserAccessLevel>\n          <uax:References>\n            <uax:Reference>\n              <uax:ReferenceTypeId>\n                <uax:Identifier>ns=1;i=3</uax:Identifier>\n              </uax:ReferenceTypeId>\n              <uax:IsInverse>true</uax:IsInverse>\n              <uax:TargetId>\n                <uax:Identifier>ns=1;i=186</uax:Identifier>\n              </uax:TargetId>\n            </uax:Reference>\n          </uax:References>\n          <EURange xmlns=\"http://opcfoundation.org/UA/\">\n            <uax:NodeClass>Variable_2</uax:NodeClass>\n            <uax:NodeId>\n              <uax:Identifier>ns=1;i=165</uax:Identifier>\n            </uax:NodeId>\n            <uax:BrowseName>\n              <uax:NamespaceIndex>0</uax:NamespaceIndex>\n              <uax:Name>EURange</uax:Name>\n            </uax:BrowseName>\n            <uax:ReferenceTypeId>\n              <uax:Identifier>i=46</uax:Identifier>\n            </uax:ReferenceTypeId>\n            <uax:TypeDefinitionId>\n              <uax:Identifier>i=68</uax:Identifier>\n            </uax:TypeDefinitionId>\n            <uax:ModellingRuleId>\n              <uax:Identifier>i=78</uax:Identifier>\n            </uax:ModellingRuleId>\n            <uax:NumericId>165</uax:NumericId>\n            <uax:DataType>\n              <uax:Identifier>i=884</uax:Identifier>\n            </uax:DataType>\n            <uax:ValueRank>-1</uax:ValueRank>\n            <uax:AccessLevel>1</uax:AccessLevel>\n            <uax:UserAccessLevel>1</uax:UserAccessLevel>\n          </EURange>\n        </Input>\n      </Valve>\n    </InputPipe>\n    <Drum>\n      <uax:NodeClass>Object_1</uax:NodeClass>\n      <uax:NodeId>\n        <uax:Identifier>ns=1;i=167</uax:Identifier>\n      </uax:NodeId>\n      <uax:BrowseName>\n        <uax:NamespaceIndex>1</uax:NamespaceIndex>\n        <uax:Name>DrumX001</uax:Name>\n      </uax:BrowseName>\n      <uax:DisplayName>\n        <uax:Locale></uax:Locale>\n        <uax:Text>Drum</uax:Text>\n      </uax:DisplayName>\n      <uax:ReferenceTypeId>\n        <uax:Identifier>i=47</uax:Identifier>\n      </uax:ReferenceTypeId>\n      <uax:TypeDefinitionId>\n        <uax:Identifier>ns=1;i=135</uax:Identifier>\n      </uax:TypeDefinitionId>\n      <uax:ModellingRuleId>\n        <uax:Identifier>i=78</uax:Identifier>\n      </uax:ModellingRuleId>\n      <uax:NumericId>167</uax:NumericId>\n      <uax:EventNotifier>1</uax:EventNotifier>\n      <uax:References>\n        <uax:Reference>\n          <uax:ReferenceTypeId>\n            <uax:Identifier>ns=1;i=1</uax:Identifier>\n          </uax:ReferenceTypeId>\n          <uax:IsInverse>true</uax:IsInverse>\n          <uax:TargetId>\n            <uax:Identifier>ns=1;i=152</uax:Identifier>\n          </uax:TargetId>\n        </uax:Reference>\n        <uax:Reference>\n          <uax:ReferenceTypeId>\n            <uax:Identifier>i=48</uax:Identifier>\n          </uax:ReferenceTypeId>\n          <uax:TargetId>\n            <uax:Identifier>ns=1;i=168</uax:Identifier>\n          </uax:TargetId>\n        </uax:Reference>\n        <uax:Reference>\n          <uax:ReferenceTypeId>\n            <uax:Identifier>ns=1;i=2</uax:Identifier>\n          </uax:ReferenceTypeId>\n          <uax:TargetId>\n            <uax:Identifier>ns=1;i=175</uax:Identifier>\n          </uax:TargetId>\n        </uax:Reference>\n      </uax:References>\n      <LevelIndicator>\n        <uax:NodeClass>Object_1</uax:NodeClass>\n        <uax:NodeId>\n          <uax:Identifier>ns=1;i=168</uax:Identifier>\n        </uax:NodeId>\n        <uax:BrowseName>\n          <uax:NamespaceIndex>1</uax:NamespaceIndex>\n          <uax:Name>LIX001</uax:Name>\n        </uax:BrowseName>\n        <uax:ReferenceTypeId>\n          <uax:Identifier>i=47</uax:Identifier>\n        </uax:ReferenceTypeId>\n        <uax:TypeDefinitionId>\n          <uax:Identifier>ns=1;i=43</uax:Identifier>\n        </uax:TypeDefinitionId>\n        <uax:ModellingRuleId>\n          <uax:Identifier>i=78</uax:Identifier>\n        </uax:ModellingRuleId>\n        <uax:NumericId>168</uax:NumericId>\n        <uax:EventNotifier>1</uax:EventNotifier>\n        <uax:References>\n          <uax:Reference>\n            <uax:ReferenceTypeId>\n              <uax:Identifier>i=48</uax:Identifier>\n            </uax:ReferenceTypeId>\n            <uax:IsInverse>true</uax:IsInverse>\n            <uax:TargetId>\n              <uax:Identifier>ns=1;i=167</uax:Identifier>\n            </uax:TargetId>\n          </uax:Reference>\n        </uax:References>\n        <Output>\n          <uax:NodeClass>Variable_2</uax:NodeClass>\n          <uax:NodeId>\n            <uax:Identifier>ns=1;i=169</uax:Identifier>\n          </uax:NodeId>\n          <uax:BrowseName>\n            <uax:NamespaceIndex>1</uax:NamespaceIndex>\n            <uax:Name>Output</uax:Name>\n          </uax:BrowseName>\n          <uax:ReferenceTypeId>\n            <uax:Identifier>i=47</uax:Identifier>\n          </uax:ReferenceTypeId>\n          <uax:TypeDefinitionId>\n            <uax:Identifier>i=2368</uax:Identifier>\n          </uax:TypeDefinitionId>\n          <uax:ModellingRuleId>\n            <uax:Identifier>i=78</uax:Identifier>\n          </uax:ModellingRuleId>\n          <uax:NumericId>169</uax:NumericId>\n          <uax:DataType>\n            <uax:Identifier>i=26</uax:Identifier>\n          </uax:DataType>\n          <uax:ValueRank>-1</uax:ValueRank>\n          <uax:AccessLevel>1</uax:AccessLevel>\n          <uax:UserAccessLevel>1</uax:UserAccessLevel>\n          <uax:References>\n            <uax:Reference>\n              <uax:ReferenceTypeId>\n                <uax:Identifier>ns=1;i=3</uax:Identifier>\n              </uax:ReferenceTypeId>\n              <uax:TargetId>\n                <uax:Identifier>ns=1;i=188</uax:Identifier>\n              </uax:TargetId>\n            </uax:Reference>\n          </uax:References>\n          <EURange xmlns=\"http://opcfoundation.org/UA/\">\n            <uax:NodeClass>Variable_2</uax:NodeClass>\n            <uax:NodeId>\n              <uax:Identifier>ns=1;i=173</uax:Identifier>\n            </uax:NodeId>\n            <uax:BrowseName>\n              <uax:NamespaceIndex>0</uax:NamespaceIndex>\n              <uax:Name>EURange</uax:Name>\n            </uax:BrowseName>\n            <uax:ReferenceTypeId>\n              <uax:Identifier>i=46</uax:Identifier>\n            </uax:ReferenceTypeId>\n            <uax:TypeDefinitionId>\n              <uax:Identifier>i=68</uax:Identifier>\n            </uax:TypeDefinitionId>\n            <uax:ModellingRuleId>\n              <uax:Identifier>i=78</uax:Identifier>\n            </uax:ModellingRuleId>\n            <uax:NumericId>173</uax:NumericId>\n            <uax:DataType>\n              <uax:Identifier>i=884</uax:Identifier>\n            </uax:DataType>\n            <uax:ValueRank>-1</uax:ValueRank>\n            <uax:AccessLevel>1</uax:AccessLevel>\n            <uax:UserAccessLevel>1</uax:UserAccessLevel>\n          </EURange>\n        </Output>\n      </LevelIndicator>\n    </Drum>\n    <OutputPipe>\n      <uax:NodeClass>Object_1</uax:NodeClass>\n      <uax:NodeId>\n        <uax:Identifier>ns=1;i=175</uax:Identifier>\n      </uax:NodeId>\n      <uax:BrowseName>\n        <uax:NamespaceIndex>1</uax:NamespaceIndex>\n        <uax:Name>PipeX002</uax:Name>\n      </uax:BrowseName>\n      <uax:DisplayName>\n        <uax:Locale></uax:Locale>\n        <uax:Text>OutputPipe</uax:Text>\n      </uax:DisplayName>\n      <uax:ReferenceTypeId>\n        <uax:Identifier>i=47</uax:Identifier>\n      </uax:ReferenceTypeId>\n      <uax:TypeDefinitionId>\n        <uax:Identifier>ns=1;i=143</uax:Identifier>\n      </uax:TypeDefinitionId>\n      <uax:ModellingRuleId>\n        <uax:Identifier>i=78</uax:Identifier>\n      </uax:ModellingRuleId>\n      <uax:NumericId>175</uax:NumericId>\n      <uax:EventNotifier>1</uax:EventNotifier>\n      <uax:References>\n        <uax:Reference>\n          <uax:ReferenceTypeId>\n            <uax:Identifier>ns=1;i=2</uax:Identifier>\n          </uax:ReferenceTypeId>\n          <uax:IsInverse>true</uax:IsInverse>\n          <uax:TargetId>\n            <uax:Identifier>ns=1;i=167</uax:Identifier>\n          </uax:TargetId>\n        </uax:Reference>\n        <uax:Reference>\n          <uax:ReferenceTypeId>\n            <uax:Identifier>i=48</uax:Identifier>\n          </uax:ReferenceTypeId>\n          <uax:TargetId>\n            <uax:Identifier>ns=1;i=176</uax:Identifier>\n          </uax:TargetId>\n        </uax:Reference>\n      </uax:References>\n      <FlowTransmitter2>\n        <uax:NodeClass>Object_1</uax:NodeClass>\n        <uax:NodeId>\n          <uax:Identifier>ns=1;i=176</uax:Identifier>\n        </uax:NodeId>\n        <uax:BrowseName>\n          <uax:NamespaceIndex>1</uax:NamespaceIndex>\n          <uax:Name>FTX002</uax:Name>\n        </uax:BrowseName>\n        <uax:ReferenceTypeId>\n          <uax:Identifier>i=47</uax:Identifier>\n        </uax:ReferenceTypeId>\n        <uax:TypeDefinitionId>\n          <uax:Identifier>ns=1;i=50</uax:Identifier>\n        </uax:TypeDefinitionId>\n        <uax:ModellingRuleId>\n          <uax:Identifier>i=78</uax:Identifier>\n        </uax:ModellingRuleId>\n        <uax:NumericId>176</uax:NumericId>\n        <uax:EventNotifier>1</uax:EventNotifier>\n        <uax:References>\n          <uax:Reference>\n            <uax:ReferenceTypeId>\n              <uax:Identifier>i=48</uax:Identifier>\n            </uax:ReferenceTypeId>\n            <uax:IsInverse>true</uax:IsInverse>\n            <uax:TargetId>\n              <uax:Identifier>ns=1;i=175</uax:Identifier>\n            </uax:TargetId>\n          </uax:Reference>\n        </uax:References>\n        <Output>\n          <uax:NodeClass>Variable_2</uax:NodeClass>\n          <uax:NodeId>\n            <uax:Identifier>ns=1;i=177</uax:Identifier>\n          </uax:NodeId>\n          <uax:BrowseName>\n            <uax:NamespaceIndex>1</uax:NamespaceIndex>\n            <uax:Name>Output</uax:Name>\n          </uax:BrowseName>\n          <uax:ReferenceTypeId>\n            <uax:Identifier>i=47</uax:Identifier>\n          </uax:ReferenceTypeId>\n          <uax:TypeDefinitionId>\n            <uax:Identifier>i=2368</uax:Identifier>\n          </uax:TypeDefinitionId>\n          <uax:ModellingRuleId>\n            <uax:Identifier>i=78</uax:Identifier>\n          </uax:ModellingRuleId>\n          <uax:NumericId>177</uax:NumericId>\n          <uax:DataType>\n            <uax:Identifier>i=11</uax:Identifier>\n          </uax:DataType>\n          <uax:ValueRank>-1</uax:ValueRank>\n          <uax:AccessLevel>1</uax:AccessLevel>\n          <uax:UserAccessLevel>1</uax:UserAccessLevel>\n          <uax:References>\n            <uax:Reference>\n              <uax:ReferenceTypeId>\n                <uax:Identifier>ns=1;i=3</uax:Identifier>\n              </uax:ReferenceTypeId>\n              <uax:TargetId>\n                <uax:Identifier>ns=1;i=194</uax:Identifier>\n              </uax:TargetId>\n            </uax:Reference>\n          </uax:References>\n          <EURange xmlns=\"http://opcfoundation.org/UA/\">\n            <uax:NodeClass>Variable_2</uax:NodeClass>\n            <uax:NodeId>\n              <uax:Identifier>ns=1;i=181</uax:Identifier>\n            </uax:NodeId>\n            <uax:BrowseName>\n              <uax:NamespaceIndex>0</uax:NamespaceIndex>\n              <uax:Name>EURange</uax:Name>\n            </uax:BrowseName>\n            <uax:ReferenceTypeId>\n              <uax:Identifier>i=46</uax:Identifier>\n            </uax:ReferenceTypeId>\n            <uax:TypeDefinitionId>\n              <uax:Identifier>i=68</uax:Identifier>\n            </uax:TypeDefinitionId>\n            <uax:ModellingRuleId>\n              <uax:Identifier>i=78</uax:Identifier>\n            </uax:ModellingRuleId>\n            <uax:NumericId>181</uax:NumericId>\n            <uax:DataType>\n              <uax:Identifier>i=884</uax:Identifier>\n            </uax:DataType>\n            <uax:ValueRank>-1</uax:ValueRank>\n            <uax:AccessLevel>1</uax:AccessLevel>\n            <uax:UserAccessLevel>1</uax:UserAccessLevel>\n          </EURange>\n        </Output>\n      </FlowTransmitter2>\n    </OutputPipe>\n    <FlowController>\n      <uax:NodeClass>Object_1</uax:NodeClass>\n      <uax:NodeId>\n        <uax:Identifier>ns=1;i=183</uax:Identifier>\n      </uax:NodeId>\n      <uax:BrowseName>\n        <uax:NamespaceIndex>1</uax:NamespaceIndex>\n        <uax:Name>FCX001</uax:Name>\n      </uax:BrowseName>\n      <uax:DisplayName>\n        <uax:Locale></uax:Locale>\n        <uax:Text>FlowController</uax:Text>\n      </uax:DisplayName>\n      <uax:ReferenceTypeId>\n        <uax:Identifier>i=47</uax:Identifier>\n      </uax:ReferenceTypeId>\n      <uax:TypeDefinitionId>\n        <uax:Identifier>ns=1;i=39</uax:Identifier>\n      </uax:TypeDefinitionId>\n      <uax:ModellingRuleId>\n        <uax:Identifier>i=78</uax:Identifier>\n      </uax:ModellingRuleId>\n      <uax:NumericId>183</uax:NumericId>\n      <Measurement>\n        <uax:NodeClass>Variable_2</uax:NodeClass>\n        <uax:NodeId>\n          <uax:Identifier>ns=1;i=184</uax:Identifier>\n        </uax:NodeId>\n        <uax:BrowseName>\n          <uax:NamespaceIndex>1</uax:NamespaceIndex>\n          <uax:Name>Measurement</uax:Name>\n        </uax:BrowseName>\n        <uax:ReferenceTypeId>\n          <uax:Identifier>i=46</uax:Identifier>\n        </uax:ReferenceTypeId>\n        <uax:TypeDefinitionId>\n          <uax:Identifier>i=68</uax:Identifier>\n        </uax:TypeDefinitionId>\n        <uax:ModellingRuleId>\n          <uax:Identifier>i=78</uax:Identifier>\n        </uax:ModellingRuleId>\n        <uax:NumericId>184</uax:NumericId>\n        <uax:DataType>\n          <uax:Identifier>i=11</uax:Identifier>\n        </uax:DataType>\n        <uax:ValueRank>-1</uax:ValueRank>\n        <uax:AccessLevel>1</uax:AccessLevel>\n        <uax:UserAccessLevel>1</uax:UserAccessLevel>\n        <uax:References>\n          <uax:Reference>\n            <uax:ReferenceTypeId>\n              <uax:Identifier>ns=1;i=3</uax:Identifier>\n            </uax:ReferenceTypeId>\n            <uax:IsInverse>true</uax:IsInverse>\n            <uax:TargetId>\n              <uax:Identifier>ns=1;i=154</uax:Identifier>\n            </uax:TargetId>\n          </uax:Reference>\n        </uax:References>\n      </Measurement>\n      <SetPoint>\n        <uax:NodeClass>Variable_2</uax:NodeClass>\n        <uax:NodeId>\n          <uax:Identifier>ns=1;i=185</uax:Identifier>\n        </uax:NodeId>\n        <uax:BrowseName>\n          <uax:NamespaceIndex>1</uax:NamespaceIndex>\n          <uax:Name>SetPoint</uax:Name>\n        </uax:BrowseName>\n        <uax:ReferenceTypeId>\n          <uax:Identifier>i=46</uax:Identifier>\n        </uax:ReferenceTypeId>\n        <uax:TypeDefinitionId>\n          <uax:Identifier>i=68</uax:Identifier>\n        </uax:TypeDefinitionId>\n        <uax:ModellingRuleId>\n          <uax:Identifier>i=78</uax:Identifier>\n        </uax:ModellingRuleId>\n        <uax:NumericId>185</uax:NumericId>\n        <uax:DataType>\n          <uax:Identifier>i=11</uax:Identifier>\n        </uax:DataType>\n        <uax:ValueRank>-1</uax:ValueRank>\n        <uax:AccessLevel>3</uax:AccessLevel>\n        <uax:UserAccessLevel>3</uax:UserAccessLevel>\n        <uax:References>\n          <uax:Reference>\n            <uax:ReferenceTypeId>\n              <uax:Identifier>ns=1;i=3</uax:Identifier>\n            </uax:ReferenceTypeId>\n            <uax:IsInverse>true</uax:IsInverse>\n            <uax:TargetId>\n              <uax:Identifier>ns=1;i=195</uax:Identifier>\n            </uax:TargetId>\n          </uax:Reference>\n        </uax:References>\n      </SetPoint>\n      <ControlOut>\n        <uax:NodeClass>Variable_2</uax:NodeClass>\n        <uax:NodeId>\n          <uax:Identifier>ns=1;i=186</uax:Identifier>\n        </uax:NodeId>\n        <uax:BrowseName>\n          <uax:NamespaceIndex>1</uax:NamespaceIndex>\n          <uax:Name>ControlOut</uax:Name>\n        </uax:BrowseName>\n        <uax:ReferenceTypeId>\n          <uax:Identifier>i=46</uax:Identifier>\n        </uax:ReferenceTypeId>\n        <uax:TypeDefinitionId>\n          <uax:Identifier>i=68</uax:Identifier>\n        </uax:TypeDefinitionId>\n        <uax:ModellingRuleId>\n          <uax:Identifier>i=78</uax:Identifier>\n        </uax:ModellingRuleId>\n        <uax:NumericId>186</uax:NumericId>\n        <uax:DataType>\n          <uax:Identifier>i=11</uax:Identifier>\n        </uax:DataType>\n        <uax:ValueRank>-1</uax:ValueRank>\n        <uax:AccessLevel>1</uax:AccessLevel>\n        <uax:UserAccessLevel>1</uax:UserAccessLevel>\n        <uax:References>\n          <uax:Reference>\n            <uax:ReferenceTypeId>\n              <uax:Identifier>ns=1;i=3</uax:Identifier>\n            </uax:ReferenceTypeId>\n            <uax:TargetId>\n              <uax:Identifier>ns=1;i=161</uax:Identifier>\n            </uax:TargetId>\n          </uax:Reference>\n        </uax:References>\n      </ControlOut>\n    </FlowController>\n    <LevelController>\n      <uax:NodeClass>Object_1</uax:NodeClass>\n      <uax:NodeId>\n        <uax:Identifier>ns=1;i=187</uax:Identifier>\n      </uax:NodeId>\n      <uax:BrowseName>\n        <uax:NamespaceIndex>1</uax:NamespaceIndex>\n        <uax:Name>LCX001</uax:Name>\n      </uax:BrowseName>\n      <uax:DisplayName>\n        <uax:Locale></uax:Locale>\n        <uax:Text>LevelController</uax:Text>\n      </uax:DisplayName>\n      <uax:ReferenceTypeId>\n        <uax:Identifier>i=47</uax:Identifier>\n      </uax:ReferenceTypeId>\n      <uax:TypeDefinitionId>\n        <uax:Identifier>ns=1;i=35</uax:Identifier>\n      </uax:TypeDefinitionId>\n      <uax:ModellingRuleId>\n        <uax:Identifier>i=78</uax:Identifier>\n      </uax:ModellingRuleId>\n      <uax:NumericId>187</uax:NumericId>\n      <Measurement>\n        <uax:NodeClass>Variable_2</uax:NodeClass>\n        <uax:NodeId>\n          <uax:Identifier>ns=1;i=188</uax:Identifier>\n        </uax:NodeId>\n        <uax:BrowseName>\n          <uax:NamespaceIndex>1</uax:NamespaceIndex>\n          <uax:Name>Measurement</uax:Name>\n        </uax:BrowseName>\n        <uax:ReferenceTypeId>\n          <uax:Identifier>i=46</uax:Identifier>\n        </uax:ReferenceTypeId>\n        <uax:TypeDefinitionId>\n          <uax:Identifier>i=68</uax:Identifier>\n        </uax:TypeDefinitionId>\n        <uax:ModellingRuleId>\n          <uax:Identifier>i=78</uax:Identifier>\n        </uax:ModellingRuleId>\n        <uax:NumericId>188</uax:NumericId>\n        <uax:DataType>\n          <uax:Identifier>i=11</uax:Identifier>\n        </uax:DataType>\n        <uax:ValueRank>-1</uax:ValueRank>\n        <uax:AccessLevel>1</uax:AccessLevel>\n        <uax:UserAccessLevel>1</uax:UserAccessLevel>\n        <uax:References>\n          <uax:Reference>\n            <uax:ReferenceTypeId>\n              <uax:Identifier>ns=1;i=3</uax:Identifier>\n            </uax:ReferenceTypeId>\n            <uax:IsInverse>true</uax:IsInverse>\n            <uax:TargetId>\n              <uax:Identifier>ns=1;i=169</uax:Identifier>\n            </uax:TargetId>\n          </uax:Reference>\n        </uax:References>\n      </Measurement>\n      <SetPoint>\n        <uax:NodeClass>Variable_2</uax:NodeClass>\n        <uax:NodeId>\n          <uax:Identifier>ns=1;i=189</uax:Identifier>\n        </uax:NodeId>\n        <uax:BrowseName>\n          <uax:NamespaceIndex>1</uax:NamespaceIndex>\n          <uax:Name>SetPoint</uax:Name>\n        </uax:BrowseName>\n        <uax:ReferenceTypeId>\n          <uax:Identifier>i=46</uax:Identifier>\n        </uax:ReferenceTypeId>\n        <uax:TypeDefinitionId>\n          <uax:Identifier>i=68</uax:Identifier>\n        </uax:TypeDefinitionId>\n        <uax:ModellingRuleId>\n          <uax:Identifier>i=78</uax:Identifier>\n        </uax:ModellingRuleId>\n        <uax:NumericId>189</uax:NumericId>\n        <uax:DataType>\n          <uax:Identifier>i=11</uax:Identifier>\n        </uax:DataType>\n        <uax:ValueRank>-1</uax:ValueRank>\n        <uax:AccessLevel>3</uax:AccessLevel>\n        <uax:UserAccessLevel>3</uax:UserAccessLevel>\n      </SetPoint>\n      <ControlOut>\n        <uax:NodeClass>Variable_2</uax:NodeClass>\n        <uax:NodeId>\n          <uax:Identifier>ns=1;i=190</uax:Identifier>\n        </uax:NodeId>\n        <uax:BrowseName>\n          <uax:NamespaceIndex>1</uax:NamespaceIndex>\n          <uax:Name>ControlOut</uax:Name>\n        </uax:BrowseName>\n        <uax:ReferenceTypeId>\n          <uax:Identifier>i=46</uax:Identifier>\n        </uax:ReferenceTypeId>\n        <uax:TypeDefinitionId>\n          <uax:Identifier>i=68</uax:Identifier>\n        </uax:TypeDefinitionId>\n        <uax:ModellingRuleId>\n          <uax:Identifier>i=78</uax:Identifier>\n        </uax:ModellingRuleId>\n        <uax:NumericId>190</uax:NumericId>\n        <uax:DataType>\n          <uax:Identifier>i=11</uax:Identifier>\n        </uax:DataType>\n        <uax:ValueRank>-1</uax:ValueRank>\n        <uax:AccessLevel>1</uax:AccessLevel>\n        <uax:UserAccessLevel>1</uax:UserAccessLevel>\n        <uax:References>\n          <uax:Reference>\n            <uax:ReferenceTypeId>\n              <uax:Identifier>ns=1;i=3</uax:Identifier>\n            </uax:ReferenceTypeId>\n            <uax:TargetId>\n              <uax:Identifier>ns=1;i=192</uax:Identifier>\n            </uax:TargetId>\n          </uax:Reference>\n        </uax:References>\n      </ControlOut>\n    </LevelController>\n    <CustomController>\n      <uax:NodeClass>Object_1</uax:NodeClass>\n      <uax:NodeId>\n        <uax:Identifier>ns=1;i=191</uax:Identifier>\n      </uax:NodeId>\n      <uax:BrowseName>\n        <uax:NamespaceIndex>1</uax:NamespaceIndex>\n        <uax:Name>CCX001</uax:Name>\n      </uax:BrowseName>\n      <uax:DisplayName>\n        <uax:Locale></uax:Locale>\n        <uax:Text>CustomController</uax:Text>\n      </uax:DisplayName>\n      <uax:ReferenceTypeId>\n        <uax:Identifier>i=47</uax:Identifier>\n      </uax:ReferenceTypeId>\n      <uax:TypeDefinitionId>\n        <uax:Identifier>ns=1;i=22</uax:Identifier>\n      </uax:TypeDefinitionId>\n      <uax:ModellingRuleId>\n        <uax:Identifier>i=78</uax:Identifier>\n      </uax:ModellingRuleId>\n      <uax:NumericId>191</uax:NumericId>\n      <Input1>\n        <uax:NodeClass>Variable_2</uax:NodeClass>\n        <uax:NodeId>\n          <uax:Identifier>ns=1;i=192</uax:Identifier>\n        </uax:NodeId>\n        <uax:BrowseName>\n          <uax:NamespaceIndex>1</uax:NamespaceIndex>\n          <uax:Name>Input1</uax:Name>\n        </uax:BrowseName>\n        <uax:ReferenceTypeId>\n          <uax:Identifier>i=46</uax:Identifier>\n        </uax:ReferenceTypeId>\n        <uax:TypeDefinitionId>\n          <uax:Identifier>i=68</uax:Identifier>\n        </uax:TypeDefinitionId>\n        <uax:ModellingRuleId>\n          <uax:Identifier>i=78</uax:Identifier>\n        </uax:ModellingRuleId>\n        <uax:NumericId>192</uax:NumericId>\n        <uax:DataType>\n          <uax:Identifier>i=11</uax:Identifier>\n        </uax:DataType>\n        <uax:ValueRank>-1</uax:ValueRank>\n        <uax:AccessLevel>2</uax:AccessLevel>\n        <uax:UserAccessLevel>2</uax:UserAccessLevel>\n        <uax:References>\n          <uax:Reference>\n            <uax:ReferenceTypeId>\n              <uax:Identifier>ns=1;i=3</uax:Identifier>\n            </uax:ReferenceTypeId>\n            <uax:IsInverse>true</uax:IsInverse>\n            <uax:TargetId>\n              <uax:Identifier>ns=1;i=190</uax:Identifier>\n            </uax:TargetId>\n          </uax:Reference>\n        </uax:References>\n      </Input1>\n      <Input2>\n        <uax:NodeClass>Variable_2</uax:NodeClass>\n        <uax:NodeId>\n          <uax:Identifier>ns=1;i=193</uax:Identifier>\n        </uax:NodeId>\n        <uax:BrowseName>\n          <uax:NamespaceIndex>1</uax:NamespaceIndex>\n          <uax:Name>Input2</uax:Name>\n        </uax:BrowseName>\n        <uax:ReferenceTypeId>\n          <uax:Identifier>i=46</uax:Identifier>\n        </uax:ReferenceTypeId>\n        <uax:TypeDefinitionId>\n          <uax:Identifier>i=68</uax:Identifier>\n        </uax:TypeDefinitionId>\n        <uax:ModellingRuleId>\n          <uax:Identifier>i=78</uax:Identifier>\n        </uax:ModellingRuleId>\n        <uax:NumericId>193</uax:NumericId>\n        <uax:DataType>\n          <uax:Identifier>i=11</uax:Identifier>\n        </uax:DataType>\n        <uax:ValueRank>-1</uax:ValueRank>\n        <uax:AccessLevel>2</uax:AccessLevel>\n        <uax:UserAccessLevel>2</uax:UserAccessLevel>\n        <uax:References>\n          <uax:Reference>\n            <uax:ReferenceTypeId>\n              <uax:Identifier>ns=1;i=3</uax:Identifier>\n            </uax:ReferenceTypeId>\n            <uax:IsInverse>true</uax:IsInverse>\n            <uax:TargetId>\n              <uax:Identifier>ns=1;i=154</uax:Identifier>\n            </uax:TargetId>\n          </uax:Reference>\n        </uax:References>\n      </Input2>\n      <Input3>\n        <uax:NodeClass>Variable_2</uax:NodeClass>\n        <uax:NodeId>\n          <uax:Identifier>ns=1;i=194</uax:Identifier>\n        </uax:NodeId>\n        <uax:BrowseName>\n          <uax:NamespaceIndex>1</uax:NamespaceIndex>\n          <uax:Name>Input3</uax:Name>\n        </uax:BrowseName>\n        <uax:ReferenceTypeId>\n          <uax:Identifier>i=46</uax:Identifier>\n        </uax:ReferenceTypeId>\n        <uax:TypeDefinitionId>\n          <uax:Identifier>i=68</uax:Identifier>\n        </uax:TypeDefinitionId>\n        <uax:ModellingRuleId>\n          <uax:Identifier>i=78</uax:Identifier>\n        </uax:ModellingRuleId>\n        <uax:NumericId>194</uax:NumericId>\n        <uax:DataType>\n          <uax:Identifier>i=11</uax:Identifier>\n        </uax:DataType>\n        <uax:ValueRank>-1</uax:ValueRank>\n        <uax:AccessLevel>2</uax:AccessLevel>\n        <uax:UserAccessLevel>2</uax:UserAccessLevel>\n        <uax:References>\n          <uax:Reference>\n            <uax:ReferenceTypeId>\n              <uax:Identifier>ns=1;i=3</uax:Identifier>\n            </uax:ReferenceTypeId>\n            <uax:IsInverse>true</uax:IsInverse>\n            <uax:TargetId>\n              <uax:Identifier>ns=1;i=177</uax:Identifier>\n            </uax:TargetId>\n          </uax:Reference>\n        </uax:References>\n      </Input3>\n      <ControlOut>\n        <uax:NodeClass>Variable_2</uax:NodeClass>\n        <uax:NodeId>\n          <uax:Identifier>ns=1;i=195</uax:Identifier>\n        </uax:NodeId>\n        <uax:BrowseName>\n          <uax:NamespaceIndex>1</uax:NamespaceIndex>\n          <uax:Name>ControlOut</uax:Name>\n        </uax:BrowseName>\n        <uax:ReferenceTypeId>\n          <uax:Identifier>i=46</uax:Identifier>\n        </uax:ReferenceTypeId>\n        <uax:TypeDefinitionId>\n          <uax:Identifier>i=68</uax:Identifier>\n        </uax:TypeDefinitionId>\n        <uax:ModellingRuleId>\n          <uax:Identifier>i=78</uax:Identifier>\n        </uax:ModellingRuleId>\n        <uax:NumericId>195</uax:NumericId>\n        <uax:DataType>\n          <uax:Identifier>i=11</uax:Identifier>\n        </uax:DataType>\n        <uax:ValueRank>-1</uax:ValueRank>\n        <uax:AccessLevel>1</uax:AccessLevel>\n        <uax:UserAccessLevel>1</uax:UserAccessLevel>\n        <uax:References>\n          <uax:Reference>\n            <uax:ReferenceTypeId>\n              <uax:Identifier>ns=1;i=3</uax:Identifier>\n            </uax:ReferenceTypeId>\n            <uax:TargetId>\n              <uax:Identifier>ns=1;i=185</uax:Identifier>\n            </uax:TargetId>\n          </uax:Reference>\n        </uax:References>\n      </ControlOut>\n      <DescriptionX>\n        <uax:NodeClass>Variable_2</uax:NodeClass>\n        <uax:NodeId>\n          <uax:Identifier>ns=1;i=196</uax:Identifier>\n        </uax:NodeId>\n        <uax:BrowseName>\n          <uax:NamespaceIndex>1</uax:NamespaceIndex>\n          <uax:Name>Description</uax:Name>\n        </uax:BrowseName>\n        <uax:ReferenceTypeId>\n          <uax:Identifier>i=46</uax:Identifier>\n        </uax:ReferenceTypeId>\n        <uax:TypeDefinitionId>\n          <uax:Identifier>i=68</uax:Identifier>\n        </uax:TypeDefinitionId>\n        <uax:ModellingRuleId>\n          <uax:Identifier>i=78</uax:Identifier>\n        </uax:ModellingRuleId>\n        <uax:NumericId>196</uax:NumericId>\n        <uax:DataType>\n          <uax:Identifier>i=21</uax:Identifier>\n        </uax:DataType>\n        <uax:ValueRank>-1</uax:ValueRank>\n        <uax:AccessLevel>1</uax:AccessLevel>\n        <uax:UserAccessLevel>1</uax:UserAccessLevel>\n      </DescriptionX>\n    </CustomController>\n    <Simulation>\n      <uax:NodeClass>Object_1</uax:NodeClass>\n      <uax:NodeId>\n        <uax:Identifier>ns=1;i=197</uax:Identifier>\n      </uax:NodeId>\n      <uax:BrowseName>\n        <uax:NamespaceIndex>1</uax:NamespaceIndex>\n        <uax:Name>Simulation</uax:Name>\n      </uax:BrowseName>\n      <uax:ReferenceTypeId>\n        <uax:Identifier>i=47</uax:Identifier>\n      </uax:ReferenceTypeId>\n      <uax:TypeDefinitionId>\n        <uax:Identifier>ns=1;i=57</uax:Identifier>\n      </uax:TypeDefinitionId>\n      <uax:ModellingRuleId>\n        <uax:Identifier>i=78</uax:Identifier>\n      </uax:ModellingRuleId>\n      <uax:NumericId>197</uax:NumericId>\n      <uax:EventNotifier>1</uax:EventNotifier>\n      <CurrentState xmlns=\"http://opcfoundation.org/UA/\">\n        <uax:NodeClass>Variable_2</uax:NodeClass>\n        <uax:NodeId>\n          <uax:Identifier>ns=1;i=198</uax:Identifier>\n        </uax:NodeId>\n        <uax:BrowseName>\n          <uax:NamespaceIndex>0</uax:NamespaceIndex>\n          <uax:Name>CurrentState</uax:Name>\n        </uax:BrowseName>\n        <uax:ReferenceTypeId>\n          <uax:Identifier>i=47</uax:Identifier>\n        </uax:ReferenceTypeId>\n        <uax:TypeDefinitionId>\n          <uax:Identifier>i=2760</uax:Identifier>\n        </uax:TypeDefinitionId>\n        <uax:ModellingRuleId>\n          <uax:Identifier>i=78</uax:Identifier>\n        </uax:ModellingRuleId>\n        <uax:NumericId>198</uax:NumericId>\n        <uax:DataType>\n          <uax:Identifier>i=21</uax:Identifier>\n        </uax:DataType>\n        <uax:ValueRank>-1</uax:ValueRank>\n        <uax:AccessLevel>1</uax:AccessLevel>\n        <uax:UserAccessLevel>1</uax:UserAccessLevel>\n        <Id>\n          <uax:NodeClass>Variable_2</uax:NodeClass>\n          <uax:NodeId>\n            <uax:Identifier>ns=1;i=199</uax:Identifier>\n          </uax:NodeId>\n          <uax:BrowseName>\n            <uax:NamespaceIndex>0</uax:NamespaceIndex>\n            <uax:Name>Id</uax:Name>\n          </uax:BrowseName>\n          <uax:ReferenceTypeId>\n            <uax:Identifier>i=46</uax:Identifier>\n          </uax:ReferenceTypeId>\n          <uax:TypeDefinitionId>\n            <uax:Identifier>i=68</uax:Identifier>\n          </uax:TypeDefinitionId>\n          <uax:ModellingRuleId>\n            <uax:Identifier>i=78</uax:Identifier>\n          </uax:ModellingRuleId>\n          <uax:NumericId>199</uax:NumericId>\n          <uax:DataType>\n            <uax:Identifier>i=17</uax:Identifier>\n          </uax:DataType>\n          <uax:ValueRank>-1</uax:ValueRank>\n          <uax:AccessLevel>1</uax:AccessLevel>\n          <uax:UserAccessLevel>1</uax:UserAccessLevel>\n        </Id>\n        <Number>\n          <uax:NodeClass>Variable_2</uax:NodeClass>\n          <uax:NodeId>\n            <uax:Identifier>ns=1;i=201</uax:Identifier>\n          </uax:NodeId>\n          <uax:BrowseName>\n            <uax:NamespaceIndex>0</uax:NamespaceIndex>\n            <uax:Name>Number</uax:Name>\n          </uax:BrowseName>\n          <uax:ReferenceTypeId>\n            <uax:Identifier>i=46</uax:Identifier>\n          </uax:ReferenceTypeId>\n          <uax:TypeDefinitionId>\n            <uax:Identifier>i=68</uax:Identifier>\n          </uax:TypeDefinitionId>\n          <uax:ModellingRuleId>\n            <uax:Identifier>i=78</uax:Identifier>\n          </uax:ModellingRuleId>\n          <uax:NumericId>201</uax:NumericId>\n          <uax:DataType>\n            <uax:Identifier>i=7</uax:Identifier>\n          </uax:DataType>\n          <uax:ValueRank>-1</uax:ValueRank>\n          <uax:AccessLevel>1</uax:AccessLevel>\n          <uax:UserAccessLevel>1</uax:UserAccessLevel>\n        </Number>\n      </CurrentState>\n      <LastTransition xmlns=\"http://opcfoundation.org/UA/\">\n        <uax:NodeClass>Variable_2</uax:NodeClass>\n        <uax:NodeId>\n          <uax:Identifier>ns=1;i=203</uax:Identifier>\n        </uax:NodeId>\n        <uax:BrowseName>\n          <uax:NamespaceIndex>0</uax:NamespaceIndex>\n          <uax:Name>LastTransition</uax:Name>\n        </uax:BrowseName>\n        <uax:ReferenceTypeId>\n          <uax:Identifier>i=47</uax:Identifier>\n        </uax:ReferenceTypeId>\n        <uax:TypeDefinitionId>\n          <uax:Identifier>i=2767</uax:Identifier>\n        </uax:TypeDefinitionId>\n        <uax:ModellingRuleId>\n          <uax:Identifier>i=78</uax:Identifier>\n        </uax:ModellingRuleId>\n        <uax:NumericId>203</uax:NumericId>\n        <uax:DataType>\n          <uax:Identifier>i=21</uax:Identifier>\n        </uax:DataType>\n        <uax:ValueRank>-1</uax:ValueRank>\n        <uax:AccessLevel>1</uax:AccessLevel>\n        <uax:UserAccessLevel>1</uax:UserAccessLevel>\n        <Id>\n          <uax:NodeClass>Variable_2</uax:NodeClass>\n          <uax:NodeId>\n            <uax:Identifier>ns=1;i=204</uax:Identifier>\n          </uax:NodeId>\n          <uax:BrowseName>\n            <uax:NamespaceIndex>0</uax:NamespaceIndex>\n            <uax:Name>Id</uax:Name>\n          </uax:BrowseName>\n          <uax:ReferenceTypeId>\n            <uax:Identifier>i=46</uax:Identifier>\n          </uax:ReferenceTypeId>\n          <uax:TypeDefinitionId>\n            <uax:Identifier>i=68</uax:Identifier>\n          </uax:TypeDefinitionId>\n          <uax:ModellingRuleId>\n            <uax:Identifier>i=78</uax:Identifier>\n          </uax:ModellingRuleId>\n          <uax:NumericId>204</uax:NumericId>\n          <uax:DataType>\n            <uax:Identifier>i=17</uax:Identifier>\n          </uax:DataType>\n          <uax:ValueRank>-1</uax:ValueRank>\n          <uax:AccessLevel>1</uax:AccessLevel>\n          <uax:UserAccessLevel>1</uax:UserAccessLevel>\n        </Id>\n        <Number>\n          <uax:NodeClass>Variable_2</uax:NodeClass>\n          <uax:NodeId>\n            <uax:Identifier>ns=1;i=206</uax:Identifier>\n          </uax:NodeId>\n          <uax:BrowseName>\n            <uax:NamespaceIndex>0</uax:NamespaceIndex>\n            <uax:Name>Number</uax:Name>\n          </uax:BrowseName>\n          <uax:ReferenceTypeId>\n            <uax:Identifier>i=46</uax:Identifier>\n          </uax:ReferenceTypeId>\n          <uax:TypeDefinitionId>\n            <uax:Identifier>i=68</uax:Identifier>\n          </uax:TypeDefinitionId>\n          <uax:ModellingRuleId>\n            <uax:Identifier>i=78</uax:Identifier>\n          </uax:ModellingRuleId>\n          <uax:NumericId>206</uax:NumericId>\n          <uax:DataType>\n            <uax:Identifier>i=7</uax:Identifier>\n          </uax:DataType>\n          <uax:ValueRank>-1</uax:ValueRank>\n          <uax:AccessLevel>1</uax:AccessLevel>\n          <uax:UserAccessLevel>1</uax:UserAccessLevel>\n        </Number>\n        <TransitionTime>\n          <uax:NodeClass>Variable_2</uax:NodeClass>\n          <uax:NodeId>\n            <uax:Identifier>ns=1;i=207</uax:Identifier>\n          </uax:NodeId>\n          <uax:BrowseName>\n            <uax:NamespaceIndex>0</uax:NamespaceIndex>\n            <uax:Name>TransitionTime</uax:Name>\n          </uax:BrowseName>\n          <uax:ReferenceTypeId>\n            <uax:Identifier>i=46</uax:Identifier>\n          </uax:ReferenceTypeId>\n          <uax:TypeDefinitionId>\n            <uax:Identifier>i=68</uax:Identifier>\n          </uax:TypeDefinitionId>\n          <uax:ModellingRuleId>\n            <uax:Identifier>i=78</uax:Identifier>\n          </uax:ModellingRuleId>\n          <uax:NumericId>207</uax:NumericId>\n          <uax:DataType>\n            <uax:Identifier>i=294</uax:Identifier>\n          </uax:DataType>\n          <uax:ValueRank>-1</uax:ValueRank>\n          <uax:AccessLevel>1</uax:AccessLevel>\n          <uax:UserAccessLevel>1</uax:UserAccessLevel>\n        </TransitionTime>\n      </LastTransition>\n      <Deletable xmlns=\"http://opcfoundation.org/UA/\">\n        <uax:NodeClass>Variable_2</uax:NodeClass>\n        <uax:NodeId>\n          <uax:Identifier>ns=1;i=209</uax:Identifier>\n        </uax:NodeId>\n        <uax:BrowseName>\n          <uax:NamespaceIndex>0</uax:NamespaceIndex>\n          <uax:Name>Deletable</uax:Name>\n        </uax:BrowseName>\n        <uax:ReferenceTypeId>\n          <uax:Identifier>i=46</uax:Identifier>\n        </uax:ReferenceTypeId>\n        <uax:TypeDefinitionId>\n          <uax:Identifier>i=68</uax:Identifier>\n        </uax:TypeDefinitionId>\n        <uax:ModellingRuleId>\n          <uax:Identifier>i=78</uax:Identifier>\n        </uax:ModellingRuleId>\n        <uax:NumericId>209</uax:NumericId>\n        <uax:DataType>\n          <uax:Identifier>i=1</uax:Identifier>\n        </uax:DataType>\n        <uax:ValueRank>-1</uax:ValueRank>\n        <uax:AccessLevel>1</uax:AccessLevel>\n        <uax:UserAccessLevel>1</uax:UserAccessLevel>\n      </Deletable>\n      <RecycleCount xmlns=\"http://opcfoundation.org/UA/\">\n        <uax:NodeClass>Variable_2</uax:NodeClass>\n        <uax:NodeId>\n          <uax:Identifier>ns=1;i=211</uax:Identifier>\n        </uax:NodeId>\n        <uax:BrowseName>\n          <uax:NamespaceIndex>0</uax:NamespaceIndex>\n          <uax:Name>RecycleCount</uax:Name>\n        </uax:BrowseName>\n        <uax:ReferenceTypeId>\n          <uax:Identifier>i=46</uax:Identifier>\n        </uax:ReferenceTypeId>\n        <uax:TypeDefinitionId>\n          <uax:Identifier>i=68</uax:Identifier>\n        </uax:TypeDefinitionId>\n        <uax:ModellingRuleId>\n          <uax:Identifier>i=78</uax:Identifier>\n        </uax:ModellingRuleId>\n        <uax:NumericId>211</uax:NumericId>\n        <uax:DataType>\n          <uax:Identifier>i=6</uax:Identifier>\n        </uax:DataType>\n        <uax:ValueRank>-1</uax:ValueRank>\n        <uax:AccessLevel>1</uax:AccessLevel>\n        <uax:UserAccessLevel>1</uax:UserAccessLevel>\n      </RecycleCount>\n      <Start xmlns=\"http://opcfoundation.org/UA/\">\n        <uax:NodeClass>Method_4</uax:NodeClass>\n        <uax:NodeId>\n          <uax:Identifier>ns=1;i=224</uax:Identifier>\n        </uax:NodeId>\n        <uax:BrowseName>\n          <uax:NamespaceIndex>0</uax:NamespaceIndex>\n          <uax:Name>Start</uax:Name>\n        </uax:BrowseName>\n        <uax:Description>\n          <uax:Locale></uax:Locale>\n          <uax:Text>Causes the Program to transition from the Ready state to the Running state.</uax:Text>\n        </uax:Description>\n        <uax:ReferenceTypeId>\n          <uax:Identifier>i=47</uax:Identifier>\n        </uax:ReferenceTypeId>\n        <uax:TypeDefinitionId>\n          <uax:Identifier>i=2426</uax:Identifier>\n        </uax:TypeDefinitionId>\n        <uax:ModellingRuleId>\n          <uax:Identifier>i=78</uax:Identifier>\n        </uax:ModellingRuleId>\n        <uax:NumericId>224</uax:NumericId>\n        <uax:Executable>true</uax:Executable>\n        <uax:UserExecutable>true</uax:UserExecutable>\n      </Start>\n      <Suspend xmlns=\"http://opcfoundation.org/UA/\">\n        <uax:NodeClass>Method_4</uax:NodeClass>\n        <uax:NodeId>\n          <uax:Identifier>ns=1;i=225</uax:Identifier>\n        </uax:NodeId>\n        <uax:BrowseName>\n          <uax:NamespaceIndex>0</uax:NamespaceIndex>\n          <uax:Name>Suspend</uax:Name>\n        </uax:BrowseName>\n        <uax:Description>\n          <uax:Locale></uax:Locale>\n          <uax:Text>Causes the Program to transition from the Running state to the Suspended state.</uax:Text>\n        </uax:Description>\n        <uax:ReferenceTypeId>\n          <uax:Identifier>i=47</uax:Identifier>\n        </uax:ReferenceTypeId>\n        <uax:TypeDefinitionId>\n          <uax:Identifier>i=2427</uax:Identifier>\n        </uax:TypeDefinitionId>\n        <uax:ModellingRuleId>\n          <uax:Identifier>i=78</uax:Identifier>\n        </uax:ModellingRuleId>\n        <uax:NumericId>225</uax:NumericId>\n        <uax:Executable>true</uax:Executable>\n        <uax:UserExecutable>true</uax:UserExecutable>\n      </Suspend>\n      <Resume xmlns=\"http://opcfoundation.org/UA/\">\n        <uax:NodeClass>Method_4</uax:NodeClass>\n        <uax:NodeId>\n          <uax:Identifier>ns=1;i=226</uax:Identifier>\n        </uax:NodeId>\n        <uax:BrowseName>\n          <uax:NamespaceIndex>0</uax:NamespaceIndex>\n          <uax:Name>Resume</uax:Name>\n        </uax:BrowseName>\n        <uax:Description>\n          <uax:Locale></uax:Locale>\n          <uax:Text>Causes the Program to transition from the Suspended state to the Running state.</uax:Text>\n        </uax:Description>\n        <uax:ReferenceTypeId>\n          <uax:Identifier>i=47</uax:Identifier>\n        </uax:ReferenceTypeId>\n        <uax:TypeDefinitionId>\n          <uax:Identifier>i=2428</uax:Identifier>\n        </uax:TypeDefinitionId>\n        <uax:ModellingRuleId>\n          <uax:Identifier>i=78</uax:Identifier>\n        </uax:ModellingRuleId>\n        <uax:NumericId>226</uax:NumericId>\n        <uax:Executable>true</uax:Executable>\n        <uax:UserExecutable>true</uax:UserExecutable>\n      </Resume>\n      <Halt xmlns=\"http://opcfoundation.org/UA/\">\n        <uax:NodeClass>Method_4</uax:NodeClass>\n        <uax:NodeId>\n          <uax:Identifier>ns=1;i=227</uax:Identifier>\n        </uax:NodeId>\n        <uax:BrowseName>\n          <uax:NamespaceIndex>0</uax:NamespaceIndex>\n          <uax:Name>Halt</uax:Name>\n        </uax:BrowseName>\n        <uax:Description>\n          <uax:Locale></uax:Locale>\n          <uax:Text>Causes the Program to transition from the Ready, Running or Suspended state to the Halted state.</uax:Text>\n        </uax:Description>\n        <uax:ReferenceTypeId>\n          <uax:Identifier>i=47</uax:Identifier>\n        </uax:ReferenceTypeId>\n        <uax:TypeDefinitionId>\n          <uax:Identifier>i=2429</uax:Identifier>\n        </uax:TypeDefinitionId>\n        <uax:ModellingRuleId>\n          <uax:Identifier>i=78</uax:Identifier>\n        </uax:ModellingRuleId>\n        <uax:NumericId>227</uax:NumericId>\n        <uax:Executable>true</uax:Executable>\n        <uax:UserExecutable>true</uax:UserExecutable>\n      </Halt>\n      <Reset xmlns=\"http://opcfoundation.org/UA/\">\n        <uax:NodeClass>Method_4</uax:NodeClass>\n        <uax:NodeId>\n          <uax:Identifier>ns=1;i=228</uax:Identifier>\n        </uax:NodeId>\n        <uax:BrowseName>\n          <uax:NamespaceIndex>0</uax:NamespaceIndex>\n          <uax:Name>Reset</uax:Name>\n        </uax:BrowseName>\n        <uax:Description>\n          <uax:Locale></uax:Locale>\n          <uax:Text>Causes the Program to transition from the Halted state to the Ready state.</uax:Text>\n        </uax:Description>\n        <uax:ReferenceTypeId>\n          <uax:Identifier>i=47</uax:Identifier>\n        </uax:ReferenceTypeId>\n        <uax:TypeDefinitionId>\n          <uax:Identifier>i=2430</uax:Identifier>\n        </uax:TypeDefinitionId>\n        <uax:ModellingRuleId>\n          <uax:Identifier>i=78</uax:Identifier>\n        </uax:ModellingRuleId>\n        <uax:NumericId>228</uax:NumericId>\n        <uax:Executable>true</uax:Executable>\n        <uax:UserExecutable>true</uax:UserExecutable>\n      </Reset>\n      <UpdateRate>\n        <uax:NodeClass>Variable_2</uax:NodeClass>\n        <uax:NodeId>\n          <uax:Identifier>ns=1;i=229</uax:Identifier>\n        </uax:NodeId>\n        <uax:BrowseName>\n          <uax:NamespaceIndex>1</uax:NamespaceIndex>\n          <uax:Name>UpdateRate</uax:Name>\n        </uax:BrowseName>\n        <uax:Description>\n          <uax:Locale></uax:Locale>\n          <uax:Text>The rate at which the simulation runs.</uax:Text>\n        </uax:Description>\n        <uax:ReferenceTypeId>\n          <uax:Identifier>i=46</uax:Identifier>\n        </uax:ReferenceTypeId>\n        <uax:TypeDefinitionId>\n          <uax:Identifier>i=68</uax:Identifier>\n        </uax:TypeDefinitionId>\n        <uax:ModellingRuleId>\n          <uax:Identifier>i=78</uax:Identifier>\n        </uax:ModellingRuleId>\n        <uax:NumericId>229</uax:NumericId>\n        <uax:DataType>\n          <uax:Identifier>i=7</uax:Identifier>\n        </uax:DataType>\n        <uax:ValueRank>-1</uax:ValueRank>\n        <uax:AccessLevel>3</uax:AccessLevel>\n        <uax:UserAccessLevel>3</uax:UserAccessLevel>\n      </UpdateRate>\n    </Simulation>\n  </BoilerType>\n</uax:ListOfNodeState>"
  },
  {
    "path": "Networking/Simulator.Boiler/UAInformationModel/DemoConfiguration/BoilerType/tempuri.org.UA.Examples.BoilerType.Types.bsd",
    "content": "<opc:TypeDictionary\n  xmlns:opc=\"http://opcfoundation.org/BinarySchema/\"\n  xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\"\n  xmlns:ua=\"http://opcfoundation.org/UA/\"\n  xmlns:tns=\"http://tempuri.org/UA/Examples/BoilerType\"\n  DefaultByteOrder=\"LittleEndian\"\n  TargetNamespace=\"http://tempuri.org/UA/Examples/BoilerType\"\n>\n  <!-- This File was generated on 2019-05-15 and supports the specifications supported by version 1.2.26.16032 of the OPC UA deliverables. -->\n  <opc:Import Namespace=\"http://opcfoundation.org/UA/\" Location=\"Opc.Ua.BinarySchema.bsd\"/>\n\n</opc:TypeDictionary>"
  },
  {
    "path": "Networking/Simulator.Boiler/UAInformationModel/DemoConfiguration/BoilerType/tempuri.org.UA.Examples.BoilerType.Types.xsd",
    "content": "<xs:schema\n  xmlns:xs=\"http://www.w3.org/2001/XMLSchema\"\n  xmlns:ua=\"http://opcfoundation.org/UA/2008/02/Types.xsd\"\n  xmlns:tns=\"http://tempuri.org/UA/Examples/BoilerType/Types.xsd\"\n  targetNamespace=\"http://tempuri.org/UA/Examples/BoilerType/Types.xsd\"\n  elementFormDefault=\"qualified\"\n>\n  <xs:import namespace=\"http://opcfoundation.org/UA/2008/02/Types.xsd\" />\n\n</xs:schema>"
  },
  {
    "path": "Networking/Simulator.Boiler/UAInformationModel/DemoConfiguration/BoilerType.csv",
    "content": "FlowTo,1,ReferenceType\nHotFlowTo,2,ReferenceType\nSignalTo,3,ReferenceType\nGenericControllerType,4,ObjectType\nGenericControllerType_Measurement,5,Variable\nGenericControllerType_SetPoint,6,Variable\nGenericControllerType_ControlOut,7,Variable\nGenericSensorType,8,ObjectType\nGenericSensorType_Output,9,Variable\nGenericSensorType_Output_Definition,10,Variable\nGenericSensorType_Output_ValuePrecision,11,Variable\nGenericSensorType_Output_InstrumentRange,12,Variable\nGenericSensorType_Output_EURange,13,Variable\nGenericSensorType_Output_EngineeringUnits,14,Variable\nGenericActuatorType,15,ObjectType\nGenericActuatorType_Input,16,Variable\nGenericActuatorType_Input_Definition,17,Variable\nGenericActuatorType_Input_ValuePrecision,18,Variable\nGenericActuatorType_Input_InstrumentRange,19,Variable\nGenericActuatorType_Input_EURange,20,Variable\nGenericActuatorType_Input_EngineeringUnits,21,Variable\nCustomControllerType,22,ObjectType\nCustomControllerType_Input1,23,Variable\nCustomControllerType_Input2,24,Variable\nCustomControllerType_Input3,25,Variable\nCustomControllerType_ControlOut,26,Variable\nCustomControllerType_DescriptionX,27,Variable\nValveType,28,ObjectType\nValveType_Input,29,Variable\nValveType_Input_Definition,30,Variable\nValveType_Input_ValuePrecision,31,Variable\nValveType_Input_InstrumentRange,32,Variable\nValveType_Input_EURange,33,Variable\nValveType_Input_EngineeringUnits,34,Variable\nLevelControllerType,35,ObjectType\nLevelControllerType_Measurement,36,Variable\nLevelControllerType_SetPoint,37,Variable\nLevelControllerType_ControlOut,38,Variable\nFlowControllerType,39,ObjectType\nFlowControllerType_Measurement,40,Variable\nFlowControllerType_SetPoint,41,Variable\nFlowControllerType_ControlOut,42,Variable\nLevelIndicatorType,43,ObjectType\nLevelIndicatorType_Output,44,Variable\nLevelIndicatorType_Output_Definition,45,Variable\nLevelIndicatorType_Output_ValuePrecision,46,Variable\nLevelIndicatorType_Output_InstrumentRange,47,Variable\nLevelIndicatorType_Output_EURange,48,Variable\nLevelIndicatorType_Output_EngineeringUnits,49,Variable\nFlowTransmitterType,50,ObjectType\nFlowTransmitterType_Output,51,Variable\nFlowTransmitterType_Output_Definition,52,Variable\nFlowTransmitterType_Output_ValuePrecision,53,Variable\nFlowTransmitterType_Output_InstrumentRange,54,Variable\nFlowTransmitterType_Output_EURange,55,Variable\nFlowTransmitterType_Output_EngineeringUnits,56,Variable\nBoilerStateMachineType,57,ObjectType\nBoilerStateMachineType_CurrentState,58,Variable\nBoilerStateMachineType_CurrentState_Id,59,Variable\nBoilerStateMachineType_CurrentState_Name,60,Variable\nBoilerStateMachineType_CurrentState_Number,61,Variable\nBoilerStateMachineType_CurrentState_EffectiveDisplayName,62,Variable\nBoilerStateMachineType_LastTransition,63,Variable\nBoilerStateMachineType_LastTransition_Id,64,Variable\nBoilerStateMachineType_LastTransition_Name,65,Variable\nBoilerStateMachineType_LastTransition_Number,66,Variable\nBoilerStateMachineType_LastTransition_TransitionTime,67,Variable\nBoilerStateMachineType_LastTransition_EffectiveTransitionTime,68,Variable\nBoilerStateMachineType_Creatable,69,Variable\nBoilerStateMachineType_Deletable,70,Variable\nBoilerStateMachineType_AutoDelete,71,Variable\nBoilerStateMachineType_RecycleCount,72,Variable\nBoilerStateMachineType_InstanceCount,73,Variable\nBoilerStateMachineType_MaxInstanceCount,74,Variable\nBoilerStateMachineType_MaxRecycleCount,75,Variable\nBoilerStateMachineType_ProgramDiagnostics,76,Variable\nBoilerStateMachineType_ProgramDiagnostics_CreateSessionId,77,Variable\nBoilerStateMachineType_ProgramDiagnostics_CreateClientName,78,Variable\nBoilerStateMachineType_ProgramDiagnostics_InvocationCreationTime,79,Variable\nBoilerStateMachineType_ProgramDiagnostics_LastTransitionTime,80,Variable\nBoilerStateMachineType_ProgramDiagnostics_LastMethodCall,81,Variable\nBoilerStateMachineType_ProgramDiagnostics_LastMethodSessionId,82,Variable\nBoilerStateMachineType_ProgramDiagnostics_LastMethodInputArguments,83,Variable\nBoilerStateMachineType_ProgramDiagnostics_LastMethodOutputArguments,84,Variable\nBoilerStateMachineType_ProgramDiagnostics_LastMethodCallTime,85,Variable\nBoilerStateMachineType_ProgramDiagnostics_LastMethodReturnStatus,86,Variable\nBoilerStateMachineType_FinalResultData,87,Object\nBoilerStateMachineType_Ready,88,Object\nBoilerStateMachineType_Ready_StateNumber,89,Variable\nBoilerStateMachineType_Running,90,Object\nBoilerStateMachineType_Running_StateNumber,91,Variable\nBoilerStateMachineType_Suspended,92,Object\nBoilerStateMachineType_Suspended_StateNumber,93,Variable\nBoilerStateMachineType_Halted,94,Object\nBoilerStateMachineType_Halted_StateNumber,95,Variable\nBoilerStateMachineType_HaltedToReady,96,Object\nBoilerStateMachineType_HaltedToReady_TransitionNumber,97,Variable\nBoilerStateMachineType_ReadyToRunning,98,Object\nBoilerStateMachineType_ReadyToRunning_TransitionNumber,99,Variable\nBoilerStateMachineType_RunningToHalted,100,Object\nBoilerStateMachineType_RunningToHalted_TransitionNumber,101,Variable\nBoilerStateMachineType_RunningToReady,102,Object\nBoilerStateMachineType_RunningToReady_TransitionNumber,103,Variable\nBoilerStateMachineType_RunningToSuspended,104,Object\nBoilerStateMachineType_RunningToSuspended_TransitionNumber,105,Variable\nBoilerStateMachineType_SuspendedToRunning,106,Object\nBoilerStateMachineType_SuspendedToRunning_TransitionNumber,107,Variable\nBoilerStateMachineType_SuspendedToHalted,108,Object\nBoilerStateMachineType_SuspendedToHalted_TransitionNumber,109,Variable\nBoilerStateMachineType_SuspendedToReady,110,Object\nBoilerStateMachineType_SuspendedToReady_TransitionNumber,111,Variable\nBoilerStateMachineType_ReadyToHalted,112,Object\nBoilerStateMachineType_ReadyToHalted_TransitionNumber,113,Variable\nBoilerStateMachineType_Start,114,Method\nBoilerStateMachineType_Suspend,115,Method\nBoilerStateMachineType_Resume,116,Method\nBoilerStateMachineType_Halt,117,Method\nBoilerStateMachineType_Reset,118,Method\nBoilerStateMachineType_UpdateRate,119,Variable\nBoilerInputPipeType,120,ObjectType\nBoilerInputPipeType_FlowTransmitter1,121,Object\nBoilerInputPipeType_FlowTransmitter1_Output,122,Variable\nBoilerInputPipeType_FlowTransmitter1_Output_Definition,123,Variable\nBoilerInputPipeType_FlowTransmitter1_Output_ValuePrecision,124,Variable\nBoilerInputPipeType_FlowTransmitter1_Output_InstrumentRange,125,Variable\nBoilerInputPipeType_FlowTransmitter1_Output_EURange,126,Variable\nBoilerInputPipeType_FlowTransmitter1_Output_EngineeringUnits,127,Variable\nBoilerInputPipeType_Valve,128,Object\nBoilerInputPipeType_Valve_Input,129,Variable\nBoilerInputPipeType_Valve_Input_Definition,130,Variable\nBoilerInputPipeType_Valve_Input_ValuePrecision,131,Variable\nBoilerInputPipeType_Valve_Input_InstrumentRange,132,Variable\nBoilerInputPipeType_Valve_Input_EURange,133,Variable\nBoilerInputPipeType_Valve_Input_EngineeringUnits,134,Variable\nBoilerDrumType,135,ObjectType\nBoilerDrumType_LevelIndicator,136,Object\nBoilerDrumType_LevelIndicator_Output,137,Variable\nBoilerDrumType_LevelIndicator_Output_Definition,138,Variable\nBoilerDrumType_LevelIndicator_Output_ValuePrecision,139,Variable\nBoilerDrumType_LevelIndicator_Output_InstrumentRange,140,Variable\nBoilerDrumType_LevelIndicator_Output_EURange,141,Variable\nBoilerDrumType_LevelIndicator_Output_EngineeringUnits,142,Variable\nBoilerOutputPipeType,143,ObjectType\nBoilerOutputPipeType_FlowTransmitter2,144,Object\nBoilerOutputPipeType_FlowTransmitter2_Output,145,Variable\nBoilerOutputPipeType_FlowTransmitter2_Output_Definition,146,Variable\nBoilerOutputPipeType_FlowTransmitter2_Output_ValuePrecision,147,Variable\nBoilerOutputPipeType_FlowTransmitter2_Output_InstrumentRange,148,Variable\nBoilerOutputPipeType_FlowTransmitter2_Output_EURange,149,Variable\nBoilerOutputPipeType_FlowTransmitter2_Output_EngineeringUnits,150,Variable\nBoilerType,151,ObjectType\nBoilerType_InputPipe,152,Object\nBoilerType_InputPipe_FlowTransmitter1,153,Object\nBoilerType_InputPipe_FlowTransmitter1_Output,154,Variable\nBoilerType_InputPipe_FlowTransmitter1_Output_Definition,155,Variable\nBoilerType_InputPipe_FlowTransmitter1_Output_ValuePrecision,156,Variable\nBoilerType_InputPipe_FlowTransmitter1_Output_InstrumentRange,157,Variable\nBoilerType_InputPipe_FlowTransmitter1_Output_EURange,158,Variable\nBoilerType_InputPipe_FlowTransmitter1_Output_EngineeringUnits,159,Variable\nBoilerType_InputPipe_Valve,160,Object\nBoilerType_InputPipe_Valve_Input,161,Variable\nBoilerType_InputPipe_Valve_Input_Definition,162,Variable\nBoilerType_InputPipe_Valve_Input_ValuePrecision,163,Variable\nBoilerType_InputPipe_Valve_Input_InstrumentRange,164,Variable\nBoilerType_InputPipe_Valve_Input_EURange,165,Variable\nBoilerType_InputPipe_Valve_Input_EngineeringUnits,166,Variable\nBoilerType_Drum,167,Object\nBoilerType_Drum_LevelIndicator,168,Object\nBoilerType_Drum_LevelIndicator_Output,169,Variable\nBoilerType_Drum_LevelIndicator_Output_Definition,170,Variable\nBoilerType_Drum_LevelIndicator_Output_ValuePrecision,171,Variable\nBoilerType_Drum_LevelIndicator_Output_InstrumentRange,172,Variable\nBoilerType_Drum_LevelIndicator_Output_EURange,173,Variable\nBoilerType_Drum_LevelIndicator_Output_EngineeringUnits,174,Variable\nBoilerType_OutputPipe,175,Object\nBoilerType_OutputPipe_FlowTransmitter2,176,Object\nBoilerType_OutputPipe_FlowTransmitter2_Output,177,Variable\nBoilerType_OutputPipe_FlowTransmitter2_Output_Definition,178,Variable\nBoilerType_OutputPipe_FlowTransmitter2_Output_ValuePrecision,179,Variable\nBoilerType_OutputPipe_FlowTransmitter2_Output_InstrumentRange,180,Variable\nBoilerType_OutputPipe_FlowTransmitter2_Output_EURange,181,Variable\nBoilerType_OutputPipe_FlowTransmitter2_Output_EngineeringUnits,182,Variable\nBoilerType_FlowController,183,Object\nBoilerType_FlowController_Measurement,184,Variable\nBoilerType_FlowController_SetPoint,185,Variable\nBoilerType_FlowController_ControlOut,186,Variable\nBoilerType_LevelController,187,Object\nBoilerType_LevelController_Measurement,188,Variable\nBoilerType_LevelController_SetPoint,189,Variable\nBoilerType_LevelController_ControlOut,190,Variable\nBoilerType_CustomController,191,Object\nBoilerType_CustomController_Input1,192,Variable\nBoilerType_CustomController_Input2,193,Variable\nBoilerType_CustomController_Input3,194,Variable\nBoilerType_CustomController_ControlOut,195,Variable\nBoilerType_CustomController_DescriptionX,196,Variable\nBoilerType_Simulation,197,Object\nBoilerType_Simulation_CurrentState,198,Variable\nBoilerType_Simulation_CurrentState_Id,199,Variable\nBoilerType_Simulation_CurrentState_Name,200,Variable\nBoilerType_Simulation_CurrentState_Number,201,Variable\nBoilerType_Simulation_CurrentState_EffectiveDisplayName,202,Variable\nBoilerType_Simulation_LastTransition,203,Variable\nBoilerType_Simulation_LastTransition_Id,204,Variable\nBoilerType_Simulation_LastTransition_Name,205,Variable\nBoilerType_Simulation_LastTransition_Number,206,Variable\nBoilerType_Simulation_LastTransition_TransitionTime,207,Variable\nBoilerType_Simulation_LastTransition_EffectiveTransitionTime,208,Variable\nBoilerType_Simulation_Deletable,209,Variable\nBoilerType_Simulation_AutoDelete,210,Variable\nBoilerType_Simulation_RecycleCount,211,Variable\nBoilerType_Simulation_ProgramDiagnostics,212,Variable\nBoilerType_Simulation_ProgramDiagnostics_CreateSessionId,213,Variable\nBoilerType_Simulation_ProgramDiagnostics_CreateClientName,214,Variable\nBoilerType_Simulation_ProgramDiagnostics_InvocationCreationTime,215,Variable\nBoilerType_Simulation_ProgramDiagnostics_LastTransitionTime,216,Variable\nBoilerType_Simulation_ProgramDiagnostics_LastMethodCall,217,Variable\nBoilerType_Simulation_ProgramDiagnostics_LastMethodSessionId,218,Variable\nBoilerType_Simulation_ProgramDiagnostics_LastMethodInputArguments,219,Variable\nBoilerType_Simulation_ProgramDiagnostics_LastMethodOutputArguments,220,Variable\nBoilerType_Simulation_ProgramDiagnostics_LastMethodCallTime,221,Variable\nBoilerType_Simulation_ProgramDiagnostics_LastMethodReturnStatus,222,Variable\nBoilerType_Simulation_FinalResultData,223,Object\nBoilerType_Simulation_Start,224,Method\nBoilerType_Simulation_Suspend,225,Method\nBoilerType_Simulation_Resume,226,Method\nBoilerType_Simulation_Halt,227,Method\nBoilerType_Simulation_Reset,228,Method\nBoilerType_Simulation_UpdateRate,229,Variable\n"
  },
  {
    "path": "Networking/Simulator.Boiler/UAInformationModel/DemoConfiguration/BoilerType.xml",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<ModelDesign xmlns:bt=\"http://tempuri.org/UA/Examples/BoilerType\" xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xmlns:OpcUa=\"http://opcfoundation.org/UA/\" xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\" xmlns:uax=\"http://opcfoundation.org/UA/2008/02/Types.xsd\" TargetNamespace=\"http://tempuri.org/UA/Examples/BoilerType\" xmlns=\"http://opcfoundation.org/UA/ModelDesign.xsd\">\n  <Namespaces>\n    <Namespace Name=\"OpcUa\" Prefix=\"Opc.Ua\" InternalPrefix=\"Opc.Ua.Server\" XmlNamespace=\"http://opcfoundation.org/UA/2008/02/Types.xsd\" XmlPrefix=\"OpcUa\">http://opcfoundation.org/UA/</Namespace>\n    <Namespace Name=\"BoilerType\" Prefix=\"tempuri.org.UA.Examples.BoilerType\" XmlNamespace=\"http://tempuri.org/UA/Examples/BoilerType/Types.xsd\" XmlPrefix=\"bt\" FilePath=\"BoilerType\">http://tempuri.org/UA/Examples/BoilerType</Namespace>\n  </Namespaces>\n  <ReferenceType SymbolicName=\"bt:FlowTo\" BaseType=\"OpcUa:NonHierarchicalReferences\">\n    <Description>A reference that indicates a flow between two objects.</Description>\n    <InverseName>FlowFrom</InverseName>\n  </ReferenceType>\n  <ReferenceType SymbolicName=\"bt:HotFlowTo\" BaseType=\"bt:FlowTo\">\n    <Description>A reference that indicates a high temperature flow between two objects.</Description>\n    <InverseName>HotFlowFrom</InverseName>\n  </ReferenceType>\n  <ReferenceType SymbolicName=\"bt:SignalTo\" BaseType=\"OpcUa:NonHierarchicalReferences\">\n    <Description>A reference that indicates an electrical signal between two variables.</Description>\n    <InverseName>SignalFrom</InverseName>\n  </ReferenceType>\n  <ObjectType SymbolicName=\"bt:GenericControllerType\" BaseType=\"OpcUa:BaseObjectType\">\n    <Description>A generic PID controller</Description>\n    <Children>\n      <Property SymbolicName=\"bt:Measurement\" DataType=\"OpcUa:Double\" ValueRank=\"Scalar\" />\n      <Property SymbolicName=\"bt:SetPoint\" DataType=\"OpcUa:Double\" ValueRank=\"Scalar\" AccessLevel=\"ReadWrite\" />\n      <Property SymbolicName=\"bt:ControlOut\" DataType=\"OpcUa:Double\" ValueRank=\"Scalar\" />\n    </Children>\n  </ObjectType>\n  <ObjectType SymbolicName=\"bt:GenericSensorType\" BaseType=\"OpcUa:BaseObjectType\">\n    <Description>A generic sensor that read a process value.</Description>\n    <Children>\n      <Variable SymbolicName=\"bt:Output\" TypeDefinition=\"OpcUa:AnalogItemType\" DataType=\"OpcUa:Double\" ValueRank=\"Scalar\" />\n    </Children>\n  </ObjectType>\n  <ObjectType SymbolicName=\"bt:GenericActuatorType\" BaseType=\"OpcUa:BaseObjectType\">\n    <Description>Represents a piece of equipment that causes some action to occur.</Description>\n    <Children>\n      <Variable SymbolicName=\"bt:Input\" TypeDefinition=\"OpcUa:AnalogItemType\" DataType=\"OpcUa:Double\" ValueRank=\"Scalar\" AccessLevel=\"Write\" />\n    </Children>\n  </ObjectType>\n  <ObjectType SymbolicName=\"bt:CustomControllerType\" BaseType=\"OpcUa:BaseObjectType\">\n    <Description>A custom PID controller with 3 inputs</Description>\n    <Children>\n      <Property SymbolicName=\"bt:Input1\" DataType=\"OpcUa:Double\" ValueRank=\"Scalar\" AccessLevel=\"Write\" />\n      <Property SymbolicName=\"bt:Input2\" DataType=\"OpcUa:Double\" ValueRank=\"Scalar\" AccessLevel=\"Write\" />\n      <Property SymbolicName=\"bt:Input3\" DataType=\"OpcUa:Double\" ValueRank=\"Scalar\" AccessLevel=\"Write\" />\n      <Property SymbolicName=\"bt:ControlOut\" DataType=\"OpcUa:Double\" />\n      <Property SymbolicName=\"bt:DescriptionX\" DataType=\"OpcUa:LocalizedText\">\n        <BrowseName>Description</BrowseName>\n      </Property>\n    </Children>\n  </ObjectType>\n  <ObjectType SymbolicName=\"bt:ValveType\" BaseType=\"bt:GenericActuatorType\">\n    <Description>An actuator that controls the flow through a pipe.</Description>\n  </ObjectType>\n  <ObjectType SymbolicName=\"bt:LevelControllerType\" BaseType=\"bt:GenericControllerType\">\n    <Description>A controller for the level of a fluid in a drum.</Description>\n  </ObjectType>\n  <ObjectType SymbolicName=\"bt:FlowControllerType\" BaseType=\"bt:GenericControllerType\">\n    <Description>A controller for the flow of a fluid through a pipe.</Description>\n  </ObjectType>\n  <ObjectType SymbolicName=\"bt:LevelIndicatorType\" BaseType=\"bt:GenericSensorType\">\n    <Description>A sensor that reports the level of a liquid in a tank.</Description>\n  </ObjectType>\n  <ObjectType SymbolicName=\"bt:FlowTransmitterType\" BaseType=\"bt:GenericSensorType\">\n    <Description>A sensor that reports the flow of a liquid through a pipe.</Description>\n  </ObjectType>\n  <ObjectType SymbolicName=\"bt:BoilerStateMachineType\" BaseType=\"OpcUa:ProgramStateMachineType\">\n    <Description>A program that produces simulated values for a running boiler.</Description>\n    <Children>\n      <Property SymbolicName=\"bt:UpdateRate\" DataType=\"OpcUa:UInt32\" ValueRank=\"Scalar\" AccessLevel=\"ReadWrite\">\n        <Description>The rate at which the simulation runs.</Description>\n      </Property>\n    </Children>\n  </ObjectType>\n  <ObjectType SymbolicName=\"bt:BoilerInputPipeType\" BaseType=\"OpcUa:FolderType\">\n    <Children>\n      <Object SymbolicName=\"bt:FlowTransmitter1\" TypeDefinition=\"bt:FlowTransmitterType\" SupportsEvents=\"true\">\n        <BrowseName>FTX001</BrowseName>\n        <DisplayName>FlowTransmitter1</DisplayName>\n      </Object>\n      <Object SymbolicName=\"bt:Valve\" TypeDefinition=\"bt:ValveType\" SupportsEvents=\"true\">\n        <BrowseName>ValveX001</BrowseName>\n        <DisplayName>Valve</DisplayName>\n      </Object>\n    </Children>\n    <References>\n      <Reference>\n        <ReferenceType>OpcUa:HasNotifier</ReferenceType>\n        <TargetId>bt:BoilerInputPipeType_FlowTransmitter1</TargetId>\n      </Reference>\n    </References>\n  </ObjectType>\n  <ObjectType SymbolicName=\"bt:BoilerDrumType\" BaseType=\"OpcUa:FolderType\">\n    <Children>\n      <Object SymbolicName=\"bt:LevelIndicator\" TypeDefinition=\"bt:LevelIndicatorType\" SupportsEvents=\"true\">\n        <BrowseName>LIX001</BrowseName>\n      </Object>\n    </Children>\n    <References>\n      <Reference>\n        <ReferenceType>OpcUa:HasNotifier</ReferenceType>\n        <TargetId>bt:BoilerDrumType_LevelIndicator</TargetId>\n      </Reference>\n    </References>\n  </ObjectType>\n  <ObjectType SymbolicName=\"bt:BoilerOutputPipeType\" BaseType=\"OpcUa:FolderType\">\n    <Children>\n      <Object SymbolicName=\"bt:FlowTransmitter2\" TypeDefinition=\"bt:FlowTransmitterType\" SupportsEvents=\"true\">\n        <BrowseName>FTX002</BrowseName>\n      </Object>\n    </Children>\n    <References>\n      <Reference>\n        <ReferenceType>OpcUa:HasNotifier</ReferenceType>\n        <TargetId>bt:BoilerOutputPipeType_FlowTransmitter2</TargetId>\n      </Reference>\n    </References>\n  </ObjectType>\n  <ObjectType SymbolicName=\"bt:BoilerType\" BaseType=\"OpcUa:BaseObjectType\" SupportsEvents=\"true\">\n    <Description>A boiler used to produce steam for a turbine.</Description>\n    <Children>\n      <Object SymbolicName=\"bt:InputPipe\" TypeDefinition=\"bt:BoilerInputPipeType\" SupportsEvents=\"true\">\n        <BrowseName>PipeX001</BrowseName>\n        <DisplayName>InputPipe</DisplayName>\n        <Children>\n          <Object SymbolicName=\"bt:FlowTransmitter1\">\n            <BrowseName>FTX001</BrowseName>\n            <Children>\n              <Variable SymbolicName=\"bt:Output\" />\n            </Children>\n          </Object>\n          <Object SymbolicName=\"bt:Valve\">\n            <BrowseName>ValveX001</BrowseName>\n            <Children>\n              <Variable SymbolicName=\"bt:Input\" />\n            </Children>\n          </Object>\n        </Children>\n        <References>\n          <Reference>\n            <ReferenceType>bt:FlowTo</ReferenceType>\n            <TargetId>bt:BoilerType_Drum</TargetId>\n          </Reference>\n        </References>\n      </Object>\n      <Object SymbolicName=\"bt:Drum\" TypeDefinition=\"bt:BoilerDrumType\" SupportsEvents=\"true\">\n        <BrowseName>DrumX001</BrowseName>\n        <DisplayName>Drum</DisplayName>\n        <Children>\n          <Object SymbolicName=\"bt:LevelIndicator\">\n            <BrowseName>LIX001</BrowseName>\n            <Children>\n              <Variable SymbolicName=\"bt:Output\" Declaration=\"bt:GenericSensorType_Output\" />\n            </Children>\n          </Object>\n        </Children>\n        <References>\n          <Reference>\n            <ReferenceType>bt:HotFlowTo</ReferenceType>\n            <TargetId>bt:BoilerType_OutputPipe</TargetId>\n          </Reference>\n        </References>\n      </Object>\n      <Object SymbolicName=\"bt:OutputPipe\" TypeDefinition=\"bt:BoilerOutputPipeType\" SupportsEvents=\"true\">\n        <BrowseName>PipeX002</BrowseName>\n        <DisplayName>OutputPipe</DisplayName>\n        <Children>\n          <Object SymbolicName=\"bt:FlowTransmitter2\">\n            <BrowseName>FTX002</BrowseName>\n            <Children>\n              <Variable SymbolicName=\"bt:Output\" />\n            </Children>\n          </Object>\n        </Children>\n      </Object>\n      <Object SymbolicName=\"bt:FlowController\" TypeDefinition=\"bt:FlowControllerType\">\n        <BrowseName>FCX001</BrowseName>\n        <DisplayName>FlowController</DisplayName>\n        <Children>\n          <Property SymbolicName=\"bt:Measurement\">\n            <References>\n              <Reference IsInverse=\"true\">\n                <ReferenceType>bt:SignalTo</ReferenceType>\n                <TargetId>bt:BoilerType_InputPipe_FlowTransmitter1_Output</TargetId>\n              </Reference>\n            </References>\n          </Property>\n          <Property SymbolicName=\"bt:SetPoint\" />\n          <Property SymbolicName=\"bt:ControlOut\">\n            <References>\n              <Reference>\n                <ReferenceType>bt:SignalTo</ReferenceType>\n                <TargetId>bt:BoilerType_InputPipe_Valve_Input</TargetId>\n              </Reference>\n            </References>\n          </Property>\n        </Children>\n      </Object>\n      <Object SymbolicName=\"bt:LevelController\" TypeDefinition=\"bt:LevelControllerType\">\n        <BrowseName>LCX001</BrowseName>\n        <DisplayName>LevelController</DisplayName>\n        <Children>\n          <Property SymbolicName=\"bt:Measurement\">\n            <References>\n              <Reference IsInverse=\"true\">\n                <ReferenceType>bt:SignalTo</ReferenceType>\n                <TargetId>bt:BoilerType_Drum_LevelIndicator_Output</TargetId>\n              </Reference>\n            </References>\n          </Property>\n          <Property SymbolicName=\"bt:SetPoint\" />\n          <Property SymbolicName=\"bt:ControlOut\">\n            <References>\n              <Reference>\n                <ReferenceType>bt:SignalTo</ReferenceType>\n                <TargetId>bt:BoilerType_CustomController_Input1</TargetId>\n              </Reference>\n            </References>\n          </Property>\n        </Children>\n      </Object>\n      <Object SymbolicName=\"bt:CustomController\" TypeDefinition=\"bt:CustomControllerType\">\n        <BrowseName>CCX001</BrowseName>\n        <DisplayName>CustomController</DisplayName>\n        <Children>\n          <Property SymbolicName=\"bt:Input1\" />\n          <Property SymbolicName=\"bt:Input2\">\n            <References>\n              <Reference IsInverse=\"true\">\n                <ReferenceType>bt:SignalTo</ReferenceType>\n                <TargetId>bt:BoilerType_InputPipe_FlowTransmitter1_Output</TargetId>\n              </Reference>\n            </References>\n          </Property>\n          <Property SymbolicName=\"bt:Input3\">\n            <References>\n              <Reference IsInverse=\"true\">\n                <ReferenceType>bt:SignalTo</ReferenceType>\n                <TargetId>bt:BoilerType_OutputPipe_FlowTransmitter2_Output</TargetId>\n              </Reference>\n            </References>\n          </Property>\n          <Property SymbolicName=\"bt:ControlOut\">\n            <References>\n              <Reference>\n                <ReferenceType>bt:SignalTo</ReferenceType>\n                <TargetId>bt:BoilerType_FlowController_SetPoint</TargetId>\n              </Reference>\n            </References>\n          </Property>\n        </Children>\n      </Object>\n      <Object SymbolicName=\"bt:Simulation\" TypeDefinition=\"bt:BoilerStateMachineType\" SupportsEvents=\"true\" />\n    </Children>\n    <References>\n      <Reference>\n        <ReferenceType>OpcUa:HasNotifier</ReferenceType>\n        <TargetId>bt:BoilerType_InputPipe</TargetId>\n      </Reference>\n      <Reference>\n        <ReferenceType>OpcUa:HasNotifier</ReferenceType>\n        <TargetId>bt:BoilerType_Drum</TargetId>\n      </Reference>\n      <Reference>\n        <ReferenceType>OpcUa:HasNotifier</ReferenceType>\n        <TargetId>bt:BoilerType_OutputPipe</TargetId>\n      </Reference>\n      <Reference>\n        <ReferenceType>OpcUa:HasEventSource</ReferenceType>\n        <TargetId>bt:BoilerType_Simulation</TargetId>\n      </Reference>\n    </References>\n  </ObjectType>\n</ModelDesign>"
  },
  {
    "path": "Networking/Simulator.Boiler/UAInformationModel/DemoConfiguration/BoilersSet/Commsvr.UA.Examples.BoilersSet.Classes.cs",
    "content": "/* ========================================================================\n * Copyright (c) 2005-2011 The OPC Foundation, Inc. All rights reserved.\n *\n * OPC Foundation MIT License 1.00\n *\n * Permission is hereby granted, free of charge, to any person\n * obtaining a copy of this software and associated documentation\n * files (the \"Software\"), to deal in the Software without\n * restriction, including without limitation the rights to use,\n * copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the\n * Software is furnished to do so, subject to the following\n * conditions:\n *\n * The above copyright notice and this permission notice shall be\n * included in all copies or substantial portions of the Software.\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND,\n * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES\n * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND\n * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT\n * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,\n * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING\n * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR\n * OTHER DEALINGS IN THE SOFTWARE.\n *\n * The complete license agreement can be found here:\n * http://opcfoundation.org/License/MIT/1.00/\n * ======================================================================*/\n\nusing System;\nusing System.Collections.Generic;\nusing System.Text;\nusing System.Reflection;\nusing System.Xml;\nusing System.Runtime.Serialization;\nusing Opc.Ua;\nusing tempuri.org.UA.Examples.BoilerType;\n\nnamespace Commsvr.UA.Examples.BoilersSet\n{\n    #region Method Identifiers\n    /// <summary>\n    /// A class that declares constants for all Methods in the Model Design.\n    /// </summary>\n    /// <exclude />\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"Opc.Ua.ModelCompiler\", \"1.0.0.0\")]\n    public static partial class Methods\n    {\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerAlpha_Simulation_Start Method.\n        /// </summary>\n        public const uint BoilersArea_BoilerAlpha_Simulation_Start = 154;\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerAlpha_Simulation_Suspend Method.\n        /// </summary>\n        public const uint BoilersArea_BoilerAlpha_Simulation_Suspend = 155;\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerAlpha_Simulation_Resume Method.\n        /// </summary>\n        public const uint BoilersArea_BoilerAlpha_Simulation_Resume = 156;\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerAlpha_Simulation_Halt Method.\n        /// </summary>\n        public const uint BoilersArea_BoilerAlpha_Simulation_Halt = 157;\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerAlpha_Simulation_Reset Method.\n        /// </summary>\n        public const uint BoilersArea_BoilerAlpha_Simulation_Reset = 158;\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerBravo_Simulation_Start Method.\n        /// </summary>\n        public const uint BoilersArea_BoilerBravo_Simulation_Start = 233;\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerBravo_Simulation_Suspend Method.\n        /// </summary>\n        public const uint BoilersArea_BoilerBravo_Simulation_Suspend = 234;\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerBravo_Simulation_Resume Method.\n        /// </summary>\n        public const uint BoilersArea_BoilerBravo_Simulation_Resume = 235;\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerBravo_Simulation_Halt Method.\n        /// </summary>\n        public const uint BoilersArea_BoilerBravo_Simulation_Halt = 236;\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerBravo_Simulation_Reset Method.\n        /// </summary>\n        public const uint BoilersArea_BoilerBravo_Simulation_Reset = 237;\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerCharlie_Simulation_Start Method.\n        /// </summary>\n        public const uint BoilersArea_BoilerCharlie_Simulation_Start = 312;\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerCharlie_Simulation_Suspend Method.\n        /// </summary>\n        public const uint BoilersArea_BoilerCharlie_Simulation_Suspend = 313;\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerCharlie_Simulation_Resume Method.\n        /// </summary>\n        public const uint BoilersArea_BoilerCharlie_Simulation_Resume = 314;\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerCharlie_Simulation_Halt Method.\n        /// </summary>\n        public const uint BoilersArea_BoilerCharlie_Simulation_Halt = 315;\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerCharlie_Simulation_Reset Method.\n        /// </summary>\n        public const uint BoilersArea_BoilerCharlie_Simulation_Reset = 316;\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerDelta_Simulation_Start Method.\n        /// </summary>\n        public const uint BoilersArea_BoilerDelta_Simulation_Start = 391;\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerDelta_Simulation_Suspend Method.\n        /// </summary>\n        public const uint BoilersArea_BoilerDelta_Simulation_Suspend = 392;\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerDelta_Simulation_Resume Method.\n        /// </summary>\n        public const uint BoilersArea_BoilerDelta_Simulation_Resume = 393;\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerDelta_Simulation_Halt Method.\n        /// </summary>\n        public const uint BoilersArea_BoilerDelta_Simulation_Halt = 394;\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerDelta_Simulation_Reset Method.\n        /// </summary>\n        public const uint BoilersArea_BoilerDelta_Simulation_Reset = 395;\n    }\n    #endregion\n\n    #region Object Identifiers\n    /// <summary>\n    /// A class that declares constants for all Objects in the Model Design.\n    /// </summary>\n    /// <exclude />\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"Opc.Ua.ModelCompiler\", \"1.0.0.0\")]\n    public static partial class Objects\n    {\n        /// <summary>\n        /// The identifier for the BoilersArea Object.\n        /// </summary>\n        public const uint BoilersArea = 1;\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerAlpha Object.\n        /// </summary>\n        public const uint BoilersArea_BoilerAlpha = 81;\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerAlpha_InputPipe Object.\n        /// </summary>\n        public const uint BoilersArea_BoilerAlpha_InputPipe = 82;\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerAlpha_InputPipe_FlowTransmitter1 Object.\n        /// </summary>\n        public const uint BoilersArea_BoilerAlpha_InputPipe_FlowTransmitter1 = 83;\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerAlpha_InputPipe_Valve Object.\n        /// </summary>\n        public const uint BoilersArea_BoilerAlpha_InputPipe_Valve = 90;\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerAlpha_Drum Object.\n        /// </summary>\n        public const uint BoilersArea_BoilerAlpha_Drum = 97;\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerAlpha_Drum_LevelIndicator Object.\n        /// </summary>\n        public const uint BoilersArea_BoilerAlpha_Drum_LevelIndicator = 98;\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerAlpha_OutputPipe Object.\n        /// </summary>\n        public const uint BoilersArea_BoilerAlpha_OutputPipe = 105;\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerAlpha_OutputPipe_FlowTransmitter2 Object.\n        /// </summary>\n        public const uint BoilersArea_BoilerAlpha_OutputPipe_FlowTransmitter2 = 106;\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerAlpha_FlowController Object.\n        /// </summary>\n        public const uint BoilersArea_BoilerAlpha_FlowController = 113;\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerAlpha_LevelController Object.\n        /// </summary>\n        public const uint BoilersArea_BoilerAlpha_LevelController = 117;\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerAlpha_CustomController Object.\n        /// </summary>\n        public const uint BoilersArea_BoilerAlpha_CustomController = 121;\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerAlpha_Simulation Object.\n        /// </summary>\n        public const uint BoilersArea_BoilerAlpha_Simulation = 127;\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerBravo Object.\n        /// </summary>\n        public const uint BoilersArea_BoilerBravo = 160;\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerBravo_InputPipe Object.\n        /// </summary>\n        public const uint BoilersArea_BoilerBravo_InputPipe = 161;\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerBravo_InputPipe_FlowTransmitter1 Object.\n        /// </summary>\n        public const uint BoilersArea_BoilerBravo_InputPipe_FlowTransmitter1 = 162;\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerBravo_InputPipe_Valve Object.\n        /// </summary>\n        public const uint BoilersArea_BoilerBravo_InputPipe_Valve = 169;\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerBravo_Drum Object.\n        /// </summary>\n        public const uint BoilersArea_BoilerBravo_Drum = 176;\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerBravo_Drum_LevelIndicator Object.\n        /// </summary>\n        public const uint BoilersArea_BoilerBravo_Drum_LevelIndicator = 177;\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerBravo_OutputPipe Object.\n        /// </summary>\n        public const uint BoilersArea_BoilerBravo_OutputPipe = 184;\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerBravo_OutputPipe_FlowTransmitter2 Object.\n        /// </summary>\n        public const uint BoilersArea_BoilerBravo_OutputPipe_FlowTransmitter2 = 185;\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerBravo_FlowController Object.\n        /// </summary>\n        public const uint BoilersArea_BoilerBravo_FlowController = 192;\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerBravo_LevelController Object.\n        /// </summary>\n        public const uint BoilersArea_BoilerBravo_LevelController = 196;\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerBravo_CustomController Object.\n        /// </summary>\n        public const uint BoilersArea_BoilerBravo_CustomController = 200;\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerBravo_Simulation Object.\n        /// </summary>\n        public const uint BoilersArea_BoilerBravo_Simulation = 206;\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerCharlie Object.\n        /// </summary>\n        public const uint BoilersArea_BoilerCharlie = 239;\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerCharlie_InputPipe Object.\n        /// </summary>\n        public const uint BoilersArea_BoilerCharlie_InputPipe = 240;\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerCharlie_InputPipe_FlowTransmitter1 Object.\n        /// </summary>\n        public const uint BoilersArea_BoilerCharlie_InputPipe_FlowTransmitter1 = 241;\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerCharlie_InputPipe_Valve Object.\n        /// </summary>\n        public const uint BoilersArea_BoilerCharlie_InputPipe_Valve = 248;\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerCharlie_Drum Object.\n        /// </summary>\n        public const uint BoilersArea_BoilerCharlie_Drum = 255;\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerCharlie_Drum_LevelIndicator Object.\n        /// </summary>\n        public const uint BoilersArea_BoilerCharlie_Drum_LevelIndicator = 256;\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerCharlie_OutputPipe Object.\n        /// </summary>\n        public const uint BoilersArea_BoilerCharlie_OutputPipe = 263;\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerCharlie_OutputPipe_FlowTransmitter2 Object.\n        /// </summary>\n        public const uint BoilersArea_BoilerCharlie_OutputPipe_FlowTransmitter2 = 264;\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerCharlie_FlowController Object.\n        /// </summary>\n        public const uint BoilersArea_BoilerCharlie_FlowController = 271;\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerCharlie_LevelController Object.\n        /// </summary>\n        public const uint BoilersArea_BoilerCharlie_LevelController = 275;\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerCharlie_CustomController Object.\n        /// </summary>\n        public const uint BoilersArea_BoilerCharlie_CustomController = 279;\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerCharlie_Simulation Object.\n        /// </summary>\n        public const uint BoilersArea_BoilerCharlie_Simulation = 285;\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerDelta Object.\n        /// </summary>\n        public const uint BoilersArea_BoilerDelta = 318;\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerDelta_InputPipe Object.\n        /// </summary>\n        public const uint BoilersArea_BoilerDelta_InputPipe = 319;\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerDelta_InputPipe_FlowTransmitter1 Object.\n        /// </summary>\n        public const uint BoilersArea_BoilerDelta_InputPipe_FlowTransmitter1 = 320;\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerDelta_InputPipe_Valve Object.\n        /// </summary>\n        public const uint BoilersArea_BoilerDelta_InputPipe_Valve = 327;\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerDelta_Drum Object.\n        /// </summary>\n        public const uint BoilersArea_BoilerDelta_Drum = 334;\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerDelta_Drum_LevelIndicator Object.\n        /// </summary>\n        public const uint BoilersArea_BoilerDelta_Drum_LevelIndicator = 335;\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerDelta_OutputPipe Object.\n        /// </summary>\n        public const uint BoilersArea_BoilerDelta_OutputPipe = 342;\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerDelta_OutputPipe_FlowTransmitter2 Object.\n        /// </summary>\n        public const uint BoilersArea_BoilerDelta_OutputPipe_FlowTransmitter2 = 343;\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerDelta_FlowController Object.\n        /// </summary>\n        public const uint BoilersArea_BoilerDelta_FlowController = 350;\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerDelta_LevelController Object.\n        /// </summary>\n        public const uint BoilersArea_BoilerDelta_LevelController = 354;\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerDelta_CustomController Object.\n        /// </summary>\n        public const uint BoilersArea_BoilerDelta_CustomController = 358;\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerDelta_Simulation Object.\n        /// </summary>\n        public const uint BoilersArea_BoilerDelta_Simulation = 364;\n\n        /// <summary>\n        /// The identifier for the Drums Object.\n        /// </summary>\n        public const uint Drums = 398;\n\n        /// <summary>\n        /// The identifier for the Pipes Object.\n        /// </summary>\n        public const uint Pipes = 399;\n    }\n    #endregion\n\n    #region Variable Identifiers\n    /// <summary>\n    /// A class that declares constants for all Variables in the Model Design.\n    /// </summary>\n    /// <exclude />\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"Opc.Ua.ModelCompiler\", \"1.0.0.0\")]\n    public static partial class Variables\n    {\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerAlpha_InputPipe_FlowTransmitter1_Output Variable.\n        /// </summary>\n        public const uint BoilersArea_BoilerAlpha_InputPipe_FlowTransmitter1_Output = 84;\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerAlpha_InputPipe_FlowTransmitter1_Output_EURange Variable.\n        /// </summary>\n        public const uint BoilersArea_BoilerAlpha_InputPipe_FlowTransmitter1_Output_EURange = 88;\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerAlpha_InputPipe_Valve_Input Variable.\n        /// </summary>\n        public const uint BoilersArea_BoilerAlpha_InputPipe_Valve_Input = 91;\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerAlpha_InputPipe_Valve_Input_EURange Variable.\n        /// </summary>\n        public const uint BoilersArea_BoilerAlpha_InputPipe_Valve_Input_EURange = 95;\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerAlpha_Drum_LevelIndicator_Output Variable.\n        /// </summary>\n        public const uint BoilersArea_BoilerAlpha_Drum_LevelIndicator_Output = 99;\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerAlpha_Drum_LevelIndicator_Output_EURange Variable.\n        /// </summary>\n        public const uint BoilersArea_BoilerAlpha_Drum_LevelIndicator_Output_EURange = 103;\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerAlpha_OutputPipe_FlowTransmitter2_Output Variable.\n        /// </summary>\n        public const uint BoilersArea_BoilerAlpha_OutputPipe_FlowTransmitter2_Output = 107;\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerAlpha_OutputPipe_FlowTransmitter2_Output_EURange Variable.\n        /// </summary>\n        public const uint BoilersArea_BoilerAlpha_OutputPipe_FlowTransmitter2_Output_EURange = 111;\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerAlpha_FlowController_Measurement Variable.\n        /// </summary>\n        public const uint BoilersArea_BoilerAlpha_FlowController_Measurement = 114;\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerAlpha_FlowController_SetPoint Variable.\n        /// </summary>\n        public const uint BoilersArea_BoilerAlpha_FlowController_SetPoint = 115;\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerAlpha_FlowController_ControlOut Variable.\n        /// </summary>\n        public const uint BoilersArea_BoilerAlpha_FlowController_ControlOut = 116;\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerAlpha_LevelController_Measurement Variable.\n        /// </summary>\n        public const uint BoilersArea_BoilerAlpha_LevelController_Measurement = 118;\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerAlpha_LevelController_SetPoint Variable.\n        /// </summary>\n        public const uint BoilersArea_BoilerAlpha_LevelController_SetPoint = 119;\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerAlpha_LevelController_ControlOut Variable.\n        /// </summary>\n        public const uint BoilersArea_BoilerAlpha_LevelController_ControlOut = 120;\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerAlpha_CustomController_Input1 Variable.\n        /// </summary>\n        public const uint BoilersArea_BoilerAlpha_CustomController_Input1 = 122;\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerAlpha_CustomController_Input2 Variable.\n        /// </summary>\n        public const uint BoilersArea_BoilerAlpha_CustomController_Input2 = 123;\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerAlpha_CustomController_Input3 Variable.\n        /// </summary>\n        public const uint BoilersArea_BoilerAlpha_CustomController_Input3 = 124;\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerAlpha_CustomController_ControlOut Variable.\n        /// </summary>\n        public const uint BoilersArea_BoilerAlpha_CustomController_ControlOut = 125;\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerAlpha_CustomController_DescriptionX Variable.\n        /// </summary>\n        public const uint BoilersArea_BoilerAlpha_CustomController_DescriptionX = 126;\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerAlpha_Simulation_CurrentState Variable.\n        /// </summary>\n        public const uint BoilersArea_BoilerAlpha_Simulation_CurrentState = 128;\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerAlpha_Simulation_CurrentState_Id Variable.\n        /// </summary>\n        public const uint BoilersArea_BoilerAlpha_Simulation_CurrentState_Id = 129;\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerAlpha_Simulation_CurrentState_Number Variable.\n        /// </summary>\n        public const uint BoilersArea_BoilerAlpha_Simulation_CurrentState_Number = 131;\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerAlpha_Simulation_LastTransition Variable.\n        /// </summary>\n        public const uint BoilersArea_BoilerAlpha_Simulation_LastTransition = 133;\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerAlpha_Simulation_LastTransition_Id Variable.\n        /// </summary>\n        public const uint BoilersArea_BoilerAlpha_Simulation_LastTransition_Id = 134;\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerAlpha_Simulation_LastTransition_Number Variable.\n        /// </summary>\n        public const uint BoilersArea_BoilerAlpha_Simulation_LastTransition_Number = 136;\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerAlpha_Simulation_LastTransition_TransitionTime Variable.\n        /// </summary>\n        public const uint BoilersArea_BoilerAlpha_Simulation_LastTransition_TransitionTime = 137;\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerAlpha_Simulation_Deletable Variable.\n        /// </summary>\n        public const uint BoilersArea_BoilerAlpha_Simulation_Deletable = 139;\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerAlpha_Simulation_RecycleCount Variable.\n        /// </summary>\n        public const uint BoilersArea_BoilerAlpha_Simulation_RecycleCount = 141;\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerAlpha_Simulation_ProgramDiagnostics_CreateSessionId Variable.\n        /// </summary>\n        public const uint BoilersArea_BoilerAlpha_Simulation_ProgramDiagnostics_CreateSessionId = 143;\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerAlpha_Simulation_ProgramDiagnostics_CreateClientName Variable.\n        /// </summary>\n        public const uint BoilersArea_BoilerAlpha_Simulation_ProgramDiagnostics_CreateClientName = 144;\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerAlpha_Simulation_ProgramDiagnostics_InvocationCreationTime Variable.\n        /// </summary>\n        public const uint BoilersArea_BoilerAlpha_Simulation_ProgramDiagnostics_InvocationCreationTime = 145;\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerAlpha_Simulation_ProgramDiagnostics_LastTransitionTime Variable.\n        /// </summary>\n        public const uint BoilersArea_BoilerAlpha_Simulation_ProgramDiagnostics_LastTransitionTime = 146;\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerAlpha_Simulation_ProgramDiagnostics_LastMethodCall Variable.\n        /// </summary>\n        public const uint BoilersArea_BoilerAlpha_Simulation_ProgramDiagnostics_LastMethodCall = 147;\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerAlpha_Simulation_ProgramDiagnostics_LastMethodSessionId Variable.\n        /// </summary>\n        public const uint BoilersArea_BoilerAlpha_Simulation_ProgramDiagnostics_LastMethodSessionId = 148;\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerAlpha_Simulation_ProgramDiagnostics_LastMethodInputArguments Variable.\n        /// </summary>\n        public const uint BoilersArea_BoilerAlpha_Simulation_ProgramDiagnostics_LastMethodInputArguments = 149;\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerAlpha_Simulation_ProgramDiagnostics_LastMethodOutputArguments Variable.\n        /// </summary>\n        public const uint BoilersArea_BoilerAlpha_Simulation_ProgramDiagnostics_LastMethodOutputArguments = 150;\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerAlpha_Simulation_ProgramDiagnostics_LastMethodCallTime Variable.\n        /// </summary>\n        public const uint BoilersArea_BoilerAlpha_Simulation_ProgramDiagnostics_LastMethodCallTime = 151;\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerAlpha_Simulation_ProgramDiagnostics_LastMethodReturnStatus Variable.\n        /// </summary>\n        public const uint BoilersArea_BoilerAlpha_Simulation_ProgramDiagnostics_LastMethodReturnStatus = 152;\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerAlpha_Simulation_UpdateRate Variable.\n        /// </summary>\n        public const uint BoilersArea_BoilerAlpha_Simulation_UpdateRate = 159;\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerBravo_InputPipe_FlowTransmitter1_Output Variable.\n        /// </summary>\n        public const uint BoilersArea_BoilerBravo_InputPipe_FlowTransmitter1_Output = 163;\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerBravo_InputPipe_FlowTransmitter1_Output_EURange Variable.\n        /// </summary>\n        public const uint BoilersArea_BoilerBravo_InputPipe_FlowTransmitter1_Output_EURange = 167;\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerBravo_InputPipe_Valve_Input Variable.\n        /// </summary>\n        public const uint BoilersArea_BoilerBravo_InputPipe_Valve_Input = 170;\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerBravo_InputPipe_Valve_Input_EURange Variable.\n        /// </summary>\n        public const uint BoilersArea_BoilerBravo_InputPipe_Valve_Input_EURange = 174;\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerBravo_Drum_LevelIndicator_Output Variable.\n        /// </summary>\n        public const uint BoilersArea_BoilerBravo_Drum_LevelIndicator_Output = 178;\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerBravo_Drum_LevelIndicator_Output_EURange Variable.\n        /// </summary>\n        public const uint BoilersArea_BoilerBravo_Drum_LevelIndicator_Output_EURange = 182;\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerBravo_OutputPipe_FlowTransmitter2_Output Variable.\n        /// </summary>\n        public const uint BoilersArea_BoilerBravo_OutputPipe_FlowTransmitter2_Output = 186;\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerBravo_OutputPipe_FlowTransmitter2_Output_EURange Variable.\n        /// </summary>\n        public const uint BoilersArea_BoilerBravo_OutputPipe_FlowTransmitter2_Output_EURange = 190;\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerBravo_FlowController_Measurement Variable.\n        /// </summary>\n        public const uint BoilersArea_BoilerBravo_FlowController_Measurement = 193;\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerBravo_FlowController_SetPoint Variable.\n        /// </summary>\n        public const uint BoilersArea_BoilerBravo_FlowController_SetPoint = 194;\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerBravo_FlowController_ControlOut Variable.\n        /// </summary>\n        public const uint BoilersArea_BoilerBravo_FlowController_ControlOut = 195;\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerBravo_LevelController_Measurement Variable.\n        /// </summary>\n        public const uint BoilersArea_BoilerBravo_LevelController_Measurement = 197;\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerBravo_LevelController_SetPoint Variable.\n        /// </summary>\n        public const uint BoilersArea_BoilerBravo_LevelController_SetPoint = 198;\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerBravo_LevelController_ControlOut Variable.\n        /// </summary>\n        public const uint BoilersArea_BoilerBravo_LevelController_ControlOut = 199;\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerBravo_CustomController_Input1 Variable.\n        /// </summary>\n        public const uint BoilersArea_BoilerBravo_CustomController_Input1 = 201;\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerBravo_CustomController_Input2 Variable.\n        /// </summary>\n        public const uint BoilersArea_BoilerBravo_CustomController_Input2 = 202;\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerBravo_CustomController_Input3 Variable.\n        /// </summary>\n        public const uint BoilersArea_BoilerBravo_CustomController_Input3 = 203;\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerBravo_CustomController_ControlOut Variable.\n        /// </summary>\n        public const uint BoilersArea_BoilerBravo_CustomController_ControlOut = 204;\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerBravo_CustomController_DescriptionX Variable.\n        /// </summary>\n        public const uint BoilersArea_BoilerBravo_CustomController_DescriptionX = 205;\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerBravo_Simulation_CurrentState Variable.\n        /// </summary>\n        public const uint BoilersArea_BoilerBravo_Simulation_CurrentState = 207;\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerBravo_Simulation_CurrentState_Id Variable.\n        /// </summary>\n        public const uint BoilersArea_BoilerBravo_Simulation_CurrentState_Id = 208;\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerBravo_Simulation_CurrentState_Number Variable.\n        /// </summary>\n        public const uint BoilersArea_BoilerBravo_Simulation_CurrentState_Number = 210;\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerBravo_Simulation_LastTransition Variable.\n        /// </summary>\n        public const uint BoilersArea_BoilerBravo_Simulation_LastTransition = 212;\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerBravo_Simulation_LastTransition_Id Variable.\n        /// </summary>\n        public const uint BoilersArea_BoilerBravo_Simulation_LastTransition_Id = 213;\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerBravo_Simulation_LastTransition_Number Variable.\n        /// </summary>\n        public const uint BoilersArea_BoilerBravo_Simulation_LastTransition_Number = 215;\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerBravo_Simulation_LastTransition_TransitionTime Variable.\n        /// </summary>\n        public const uint BoilersArea_BoilerBravo_Simulation_LastTransition_TransitionTime = 216;\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerBravo_Simulation_Deletable Variable.\n        /// </summary>\n        public const uint BoilersArea_BoilerBravo_Simulation_Deletable = 218;\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerBravo_Simulation_RecycleCount Variable.\n        /// </summary>\n        public const uint BoilersArea_BoilerBravo_Simulation_RecycleCount = 220;\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerBravo_Simulation_ProgramDiagnostics_CreateSessionId Variable.\n        /// </summary>\n        public const uint BoilersArea_BoilerBravo_Simulation_ProgramDiagnostics_CreateSessionId = 222;\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerBravo_Simulation_ProgramDiagnostics_CreateClientName Variable.\n        /// </summary>\n        public const uint BoilersArea_BoilerBravo_Simulation_ProgramDiagnostics_CreateClientName = 223;\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerBravo_Simulation_ProgramDiagnostics_InvocationCreationTime Variable.\n        /// </summary>\n        public const uint BoilersArea_BoilerBravo_Simulation_ProgramDiagnostics_InvocationCreationTime = 224;\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerBravo_Simulation_ProgramDiagnostics_LastTransitionTime Variable.\n        /// </summary>\n        public const uint BoilersArea_BoilerBravo_Simulation_ProgramDiagnostics_LastTransitionTime = 225;\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerBravo_Simulation_ProgramDiagnostics_LastMethodCall Variable.\n        /// </summary>\n        public const uint BoilersArea_BoilerBravo_Simulation_ProgramDiagnostics_LastMethodCall = 226;\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerBravo_Simulation_ProgramDiagnostics_LastMethodSessionId Variable.\n        /// </summary>\n        public const uint BoilersArea_BoilerBravo_Simulation_ProgramDiagnostics_LastMethodSessionId = 227;\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerBravo_Simulation_ProgramDiagnostics_LastMethodInputArguments Variable.\n        /// </summary>\n        public const uint BoilersArea_BoilerBravo_Simulation_ProgramDiagnostics_LastMethodInputArguments = 228;\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerBravo_Simulation_ProgramDiagnostics_LastMethodOutputArguments Variable.\n        /// </summary>\n        public const uint BoilersArea_BoilerBravo_Simulation_ProgramDiagnostics_LastMethodOutputArguments = 229;\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerBravo_Simulation_ProgramDiagnostics_LastMethodCallTime Variable.\n        /// </summary>\n        public const uint BoilersArea_BoilerBravo_Simulation_ProgramDiagnostics_LastMethodCallTime = 230;\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerBravo_Simulation_ProgramDiagnostics_LastMethodReturnStatus Variable.\n        /// </summary>\n        public const uint BoilersArea_BoilerBravo_Simulation_ProgramDiagnostics_LastMethodReturnStatus = 231;\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerBravo_Simulation_UpdateRate Variable.\n        /// </summary>\n        public const uint BoilersArea_BoilerBravo_Simulation_UpdateRate = 238;\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerCharlie_InputPipe_FlowTransmitter1_Output Variable.\n        /// </summary>\n        public const uint BoilersArea_BoilerCharlie_InputPipe_FlowTransmitter1_Output = 242;\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerCharlie_InputPipe_FlowTransmitter1_Output_EURange Variable.\n        /// </summary>\n        public const uint BoilersArea_BoilerCharlie_InputPipe_FlowTransmitter1_Output_EURange = 246;\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerCharlie_InputPipe_Valve_Input Variable.\n        /// </summary>\n        public const uint BoilersArea_BoilerCharlie_InputPipe_Valve_Input = 249;\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerCharlie_InputPipe_Valve_Input_EURange Variable.\n        /// </summary>\n        public const uint BoilersArea_BoilerCharlie_InputPipe_Valve_Input_EURange = 253;\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerCharlie_Drum_LevelIndicator_Output Variable.\n        /// </summary>\n        public const uint BoilersArea_BoilerCharlie_Drum_LevelIndicator_Output = 257;\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerCharlie_Drum_LevelIndicator_Output_EURange Variable.\n        /// </summary>\n        public const uint BoilersArea_BoilerCharlie_Drum_LevelIndicator_Output_EURange = 261;\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerCharlie_OutputPipe_FlowTransmitter2_Output Variable.\n        /// </summary>\n        public const uint BoilersArea_BoilerCharlie_OutputPipe_FlowTransmitter2_Output = 265;\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerCharlie_OutputPipe_FlowTransmitter2_Output_EURange Variable.\n        /// </summary>\n        public const uint BoilersArea_BoilerCharlie_OutputPipe_FlowTransmitter2_Output_EURange = 269;\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerCharlie_FlowController_Measurement Variable.\n        /// </summary>\n        public const uint BoilersArea_BoilerCharlie_FlowController_Measurement = 272;\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerCharlie_FlowController_SetPoint Variable.\n        /// </summary>\n        public const uint BoilersArea_BoilerCharlie_FlowController_SetPoint = 273;\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerCharlie_FlowController_ControlOut Variable.\n        /// </summary>\n        public const uint BoilersArea_BoilerCharlie_FlowController_ControlOut = 274;\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerCharlie_LevelController_Measurement Variable.\n        /// </summary>\n        public const uint BoilersArea_BoilerCharlie_LevelController_Measurement = 276;\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerCharlie_LevelController_SetPoint Variable.\n        /// </summary>\n        public const uint BoilersArea_BoilerCharlie_LevelController_SetPoint = 277;\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerCharlie_LevelController_ControlOut Variable.\n        /// </summary>\n        public const uint BoilersArea_BoilerCharlie_LevelController_ControlOut = 278;\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerCharlie_CustomController_Input1 Variable.\n        /// </summary>\n        public const uint BoilersArea_BoilerCharlie_CustomController_Input1 = 280;\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerCharlie_CustomController_Input2 Variable.\n        /// </summary>\n        public const uint BoilersArea_BoilerCharlie_CustomController_Input2 = 281;\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerCharlie_CustomController_Input3 Variable.\n        /// </summary>\n        public const uint BoilersArea_BoilerCharlie_CustomController_Input3 = 282;\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerCharlie_CustomController_ControlOut Variable.\n        /// </summary>\n        public const uint BoilersArea_BoilerCharlie_CustomController_ControlOut = 283;\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerCharlie_CustomController_DescriptionX Variable.\n        /// </summary>\n        public const uint BoilersArea_BoilerCharlie_CustomController_DescriptionX = 284;\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerCharlie_Simulation_CurrentState Variable.\n        /// </summary>\n        public const uint BoilersArea_BoilerCharlie_Simulation_CurrentState = 286;\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerCharlie_Simulation_CurrentState_Id Variable.\n        /// </summary>\n        public const uint BoilersArea_BoilerCharlie_Simulation_CurrentState_Id = 287;\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerCharlie_Simulation_CurrentState_Number Variable.\n        /// </summary>\n        public const uint BoilersArea_BoilerCharlie_Simulation_CurrentState_Number = 289;\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerCharlie_Simulation_LastTransition Variable.\n        /// </summary>\n        public const uint BoilersArea_BoilerCharlie_Simulation_LastTransition = 291;\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerCharlie_Simulation_LastTransition_Id Variable.\n        /// </summary>\n        public const uint BoilersArea_BoilerCharlie_Simulation_LastTransition_Id = 292;\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerCharlie_Simulation_LastTransition_Number Variable.\n        /// </summary>\n        public const uint BoilersArea_BoilerCharlie_Simulation_LastTransition_Number = 294;\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerCharlie_Simulation_LastTransition_TransitionTime Variable.\n        /// </summary>\n        public const uint BoilersArea_BoilerCharlie_Simulation_LastTransition_TransitionTime = 295;\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerCharlie_Simulation_Deletable Variable.\n        /// </summary>\n        public const uint BoilersArea_BoilerCharlie_Simulation_Deletable = 297;\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerCharlie_Simulation_RecycleCount Variable.\n        /// </summary>\n        public const uint BoilersArea_BoilerCharlie_Simulation_RecycleCount = 299;\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerCharlie_Simulation_ProgramDiagnostics_CreateSessionId Variable.\n        /// </summary>\n        public const uint BoilersArea_BoilerCharlie_Simulation_ProgramDiagnostics_CreateSessionId = 301;\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerCharlie_Simulation_ProgramDiagnostics_CreateClientName Variable.\n        /// </summary>\n        public const uint BoilersArea_BoilerCharlie_Simulation_ProgramDiagnostics_CreateClientName = 302;\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerCharlie_Simulation_ProgramDiagnostics_InvocationCreationTime Variable.\n        /// </summary>\n        public const uint BoilersArea_BoilerCharlie_Simulation_ProgramDiagnostics_InvocationCreationTime = 303;\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerCharlie_Simulation_ProgramDiagnostics_LastTransitionTime Variable.\n        /// </summary>\n        public const uint BoilersArea_BoilerCharlie_Simulation_ProgramDiagnostics_LastTransitionTime = 304;\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerCharlie_Simulation_ProgramDiagnostics_LastMethodCall Variable.\n        /// </summary>\n        public const uint BoilersArea_BoilerCharlie_Simulation_ProgramDiagnostics_LastMethodCall = 305;\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerCharlie_Simulation_ProgramDiagnostics_LastMethodSessionId Variable.\n        /// </summary>\n        public const uint BoilersArea_BoilerCharlie_Simulation_ProgramDiagnostics_LastMethodSessionId = 306;\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerCharlie_Simulation_ProgramDiagnostics_LastMethodInputArguments Variable.\n        /// </summary>\n        public const uint BoilersArea_BoilerCharlie_Simulation_ProgramDiagnostics_LastMethodInputArguments = 307;\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerCharlie_Simulation_ProgramDiagnostics_LastMethodOutputArguments Variable.\n        /// </summary>\n        public const uint BoilersArea_BoilerCharlie_Simulation_ProgramDiagnostics_LastMethodOutputArguments = 308;\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerCharlie_Simulation_ProgramDiagnostics_LastMethodCallTime Variable.\n        /// </summary>\n        public const uint BoilersArea_BoilerCharlie_Simulation_ProgramDiagnostics_LastMethodCallTime = 309;\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerCharlie_Simulation_ProgramDiagnostics_LastMethodReturnStatus Variable.\n        /// </summary>\n        public const uint BoilersArea_BoilerCharlie_Simulation_ProgramDiagnostics_LastMethodReturnStatus = 310;\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerCharlie_Simulation_UpdateRate Variable.\n        /// </summary>\n        public const uint BoilersArea_BoilerCharlie_Simulation_UpdateRate = 317;\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerDelta_InputPipe_FlowTransmitter1_Output Variable.\n        /// </summary>\n        public const uint BoilersArea_BoilerDelta_InputPipe_FlowTransmitter1_Output = 321;\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerDelta_InputPipe_FlowTransmitter1_Output_EURange Variable.\n        /// </summary>\n        public const uint BoilersArea_BoilerDelta_InputPipe_FlowTransmitter1_Output_EURange = 325;\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerDelta_InputPipe_Valve_Input Variable.\n        /// </summary>\n        public const uint BoilersArea_BoilerDelta_InputPipe_Valve_Input = 328;\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerDelta_InputPipe_Valve_Input_EURange Variable.\n        /// </summary>\n        public const uint BoilersArea_BoilerDelta_InputPipe_Valve_Input_EURange = 332;\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerDelta_Drum_LevelIndicator_Output Variable.\n        /// </summary>\n        public const uint BoilersArea_BoilerDelta_Drum_LevelIndicator_Output = 336;\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerDelta_Drum_LevelIndicator_Output_EURange Variable.\n        /// </summary>\n        public const uint BoilersArea_BoilerDelta_Drum_LevelIndicator_Output_EURange = 340;\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerDelta_OutputPipe_FlowTransmitter2_Output Variable.\n        /// </summary>\n        public const uint BoilersArea_BoilerDelta_OutputPipe_FlowTransmitter2_Output = 344;\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerDelta_OutputPipe_FlowTransmitter2_Output_EURange Variable.\n        /// </summary>\n        public const uint BoilersArea_BoilerDelta_OutputPipe_FlowTransmitter2_Output_EURange = 348;\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerDelta_FlowController_Measurement Variable.\n        /// </summary>\n        public const uint BoilersArea_BoilerDelta_FlowController_Measurement = 351;\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerDelta_FlowController_SetPoint Variable.\n        /// </summary>\n        public const uint BoilersArea_BoilerDelta_FlowController_SetPoint = 352;\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerDelta_FlowController_ControlOut Variable.\n        /// </summary>\n        public const uint BoilersArea_BoilerDelta_FlowController_ControlOut = 353;\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerDelta_LevelController_Measurement Variable.\n        /// </summary>\n        public const uint BoilersArea_BoilerDelta_LevelController_Measurement = 355;\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerDelta_LevelController_SetPoint Variable.\n        /// </summary>\n        public const uint BoilersArea_BoilerDelta_LevelController_SetPoint = 356;\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerDelta_LevelController_ControlOut Variable.\n        /// </summary>\n        public const uint BoilersArea_BoilerDelta_LevelController_ControlOut = 357;\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerDelta_CustomController_Input1 Variable.\n        /// </summary>\n        public const uint BoilersArea_BoilerDelta_CustomController_Input1 = 359;\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerDelta_CustomController_Input2 Variable.\n        /// </summary>\n        public const uint BoilersArea_BoilerDelta_CustomController_Input2 = 360;\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerDelta_CustomController_Input3 Variable.\n        /// </summary>\n        public const uint BoilersArea_BoilerDelta_CustomController_Input3 = 361;\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerDelta_CustomController_ControlOut Variable.\n        /// </summary>\n        public const uint BoilersArea_BoilerDelta_CustomController_ControlOut = 362;\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerDelta_CustomController_DescriptionX Variable.\n        /// </summary>\n        public const uint BoilersArea_BoilerDelta_CustomController_DescriptionX = 363;\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerDelta_Simulation_CurrentState Variable.\n        /// </summary>\n        public const uint BoilersArea_BoilerDelta_Simulation_CurrentState = 365;\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerDelta_Simulation_CurrentState_Id Variable.\n        /// </summary>\n        public const uint BoilersArea_BoilerDelta_Simulation_CurrentState_Id = 366;\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerDelta_Simulation_CurrentState_Number Variable.\n        /// </summary>\n        public const uint BoilersArea_BoilerDelta_Simulation_CurrentState_Number = 368;\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerDelta_Simulation_LastTransition Variable.\n        /// </summary>\n        public const uint BoilersArea_BoilerDelta_Simulation_LastTransition = 370;\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerDelta_Simulation_LastTransition_Id Variable.\n        /// </summary>\n        public const uint BoilersArea_BoilerDelta_Simulation_LastTransition_Id = 371;\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerDelta_Simulation_LastTransition_Number Variable.\n        /// </summary>\n        public const uint BoilersArea_BoilerDelta_Simulation_LastTransition_Number = 373;\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerDelta_Simulation_LastTransition_TransitionTime Variable.\n        /// </summary>\n        public const uint BoilersArea_BoilerDelta_Simulation_LastTransition_TransitionTime = 374;\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerDelta_Simulation_Deletable Variable.\n        /// </summary>\n        public const uint BoilersArea_BoilerDelta_Simulation_Deletable = 376;\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerDelta_Simulation_RecycleCount Variable.\n        /// </summary>\n        public const uint BoilersArea_BoilerDelta_Simulation_RecycleCount = 378;\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerDelta_Simulation_ProgramDiagnostics_CreateSessionId Variable.\n        /// </summary>\n        public const uint BoilersArea_BoilerDelta_Simulation_ProgramDiagnostics_CreateSessionId = 380;\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerDelta_Simulation_ProgramDiagnostics_CreateClientName Variable.\n        /// </summary>\n        public const uint BoilersArea_BoilerDelta_Simulation_ProgramDiagnostics_CreateClientName = 381;\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerDelta_Simulation_ProgramDiagnostics_InvocationCreationTime Variable.\n        /// </summary>\n        public const uint BoilersArea_BoilerDelta_Simulation_ProgramDiagnostics_InvocationCreationTime = 382;\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerDelta_Simulation_ProgramDiagnostics_LastTransitionTime Variable.\n        /// </summary>\n        public const uint BoilersArea_BoilerDelta_Simulation_ProgramDiagnostics_LastTransitionTime = 383;\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerDelta_Simulation_ProgramDiagnostics_LastMethodCall Variable.\n        /// </summary>\n        public const uint BoilersArea_BoilerDelta_Simulation_ProgramDiagnostics_LastMethodCall = 384;\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerDelta_Simulation_ProgramDiagnostics_LastMethodSessionId Variable.\n        /// </summary>\n        public const uint BoilersArea_BoilerDelta_Simulation_ProgramDiagnostics_LastMethodSessionId = 385;\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerDelta_Simulation_ProgramDiagnostics_LastMethodInputArguments Variable.\n        /// </summary>\n        public const uint BoilersArea_BoilerDelta_Simulation_ProgramDiagnostics_LastMethodInputArguments = 386;\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerDelta_Simulation_ProgramDiagnostics_LastMethodOutputArguments Variable.\n        /// </summary>\n        public const uint BoilersArea_BoilerDelta_Simulation_ProgramDiagnostics_LastMethodOutputArguments = 387;\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerDelta_Simulation_ProgramDiagnostics_LastMethodCallTime Variable.\n        /// </summary>\n        public const uint BoilersArea_BoilerDelta_Simulation_ProgramDiagnostics_LastMethodCallTime = 388;\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerDelta_Simulation_ProgramDiagnostics_LastMethodReturnStatus Variable.\n        /// </summary>\n        public const uint BoilersArea_BoilerDelta_Simulation_ProgramDiagnostics_LastMethodReturnStatus = 389;\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerDelta_Simulation_UpdateRate Variable.\n        /// </summary>\n        public const uint BoilersArea_BoilerDelta_Simulation_UpdateRate = 396;\n    }\n    #endregion\n\n    #region Method Node Identifiers\n    /// <summary>\n    /// A class that declares constants for all Methods in the Model Design.\n    /// </summary>\n    /// <exclude />\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"Opc.Ua.ModelCompiler\", \"1.0.0.0\")]\n    public static partial class MethodIds\n    {\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerAlpha_Simulation_Start Method.\n        /// </summary>\n        public static readonly ExpandedNodeId BoilersArea_BoilerAlpha_Simulation_Start = new ExpandedNodeId(Commsvr.UA.Examples.BoilersSet.Methods.BoilersArea_BoilerAlpha_Simulation_Start, Commsvr.UA.Examples.BoilersSet.Namespaces.BoilersSet);\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerAlpha_Simulation_Suspend Method.\n        /// </summary>\n        public static readonly ExpandedNodeId BoilersArea_BoilerAlpha_Simulation_Suspend = new ExpandedNodeId(Commsvr.UA.Examples.BoilersSet.Methods.BoilersArea_BoilerAlpha_Simulation_Suspend, Commsvr.UA.Examples.BoilersSet.Namespaces.BoilersSet);\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerAlpha_Simulation_Resume Method.\n        /// </summary>\n        public static readonly ExpandedNodeId BoilersArea_BoilerAlpha_Simulation_Resume = new ExpandedNodeId(Commsvr.UA.Examples.BoilersSet.Methods.BoilersArea_BoilerAlpha_Simulation_Resume, Commsvr.UA.Examples.BoilersSet.Namespaces.BoilersSet);\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerAlpha_Simulation_Halt Method.\n        /// </summary>\n        public static readonly ExpandedNodeId BoilersArea_BoilerAlpha_Simulation_Halt = new ExpandedNodeId(Commsvr.UA.Examples.BoilersSet.Methods.BoilersArea_BoilerAlpha_Simulation_Halt, Commsvr.UA.Examples.BoilersSet.Namespaces.BoilersSet);\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerAlpha_Simulation_Reset Method.\n        /// </summary>\n        public static readonly ExpandedNodeId BoilersArea_BoilerAlpha_Simulation_Reset = new ExpandedNodeId(Commsvr.UA.Examples.BoilersSet.Methods.BoilersArea_BoilerAlpha_Simulation_Reset, Commsvr.UA.Examples.BoilersSet.Namespaces.BoilersSet);\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerBravo_Simulation_Start Method.\n        /// </summary>\n        public static readonly ExpandedNodeId BoilersArea_BoilerBravo_Simulation_Start = new ExpandedNodeId(Commsvr.UA.Examples.BoilersSet.Methods.BoilersArea_BoilerBravo_Simulation_Start, Commsvr.UA.Examples.BoilersSet.Namespaces.BoilersSet);\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerBravo_Simulation_Suspend Method.\n        /// </summary>\n        public static readonly ExpandedNodeId BoilersArea_BoilerBravo_Simulation_Suspend = new ExpandedNodeId(Commsvr.UA.Examples.BoilersSet.Methods.BoilersArea_BoilerBravo_Simulation_Suspend, Commsvr.UA.Examples.BoilersSet.Namespaces.BoilersSet);\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerBravo_Simulation_Resume Method.\n        /// </summary>\n        public static readonly ExpandedNodeId BoilersArea_BoilerBravo_Simulation_Resume = new ExpandedNodeId(Commsvr.UA.Examples.BoilersSet.Methods.BoilersArea_BoilerBravo_Simulation_Resume, Commsvr.UA.Examples.BoilersSet.Namespaces.BoilersSet);\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerBravo_Simulation_Halt Method.\n        /// </summary>\n        public static readonly ExpandedNodeId BoilersArea_BoilerBravo_Simulation_Halt = new ExpandedNodeId(Commsvr.UA.Examples.BoilersSet.Methods.BoilersArea_BoilerBravo_Simulation_Halt, Commsvr.UA.Examples.BoilersSet.Namespaces.BoilersSet);\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerBravo_Simulation_Reset Method.\n        /// </summary>\n        public static readonly ExpandedNodeId BoilersArea_BoilerBravo_Simulation_Reset = new ExpandedNodeId(Commsvr.UA.Examples.BoilersSet.Methods.BoilersArea_BoilerBravo_Simulation_Reset, Commsvr.UA.Examples.BoilersSet.Namespaces.BoilersSet);\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerCharlie_Simulation_Start Method.\n        /// </summary>\n        public static readonly ExpandedNodeId BoilersArea_BoilerCharlie_Simulation_Start = new ExpandedNodeId(Commsvr.UA.Examples.BoilersSet.Methods.BoilersArea_BoilerCharlie_Simulation_Start, Commsvr.UA.Examples.BoilersSet.Namespaces.BoilersSet);\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerCharlie_Simulation_Suspend Method.\n        /// </summary>\n        public static readonly ExpandedNodeId BoilersArea_BoilerCharlie_Simulation_Suspend = new ExpandedNodeId(Commsvr.UA.Examples.BoilersSet.Methods.BoilersArea_BoilerCharlie_Simulation_Suspend, Commsvr.UA.Examples.BoilersSet.Namespaces.BoilersSet);\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerCharlie_Simulation_Resume Method.\n        /// </summary>\n        public static readonly ExpandedNodeId BoilersArea_BoilerCharlie_Simulation_Resume = new ExpandedNodeId(Commsvr.UA.Examples.BoilersSet.Methods.BoilersArea_BoilerCharlie_Simulation_Resume, Commsvr.UA.Examples.BoilersSet.Namespaces.BoilersSet);\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerCharlie_Simulation_Halt Method.\n        /// </summary>\n        public static readonly ExpandedNodeId BoilersArea_BoilerCharlie_Simulation_Halt = new ExpandedNodeId(Commsvr.UA.Examples.BoilersSet.Methods.BoilersArea_BoilerCharlie_Simulation_Halt, Commsvr.UA.Examples.BoilersSet.Namespaces.BoilersSet);\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerCharlie_Simulation_Reset Method.\n        /// </summary>\n        public static readonly ExpandedNodeId BoilersArea_BoilerCharlie_Simulation_Reset = new ExpandedNodeId(Commsvr.UA.Examples.BoilersSet.Methods.BoilersArea_BoilerCharlie_Simulation_Reset, Commsvr.UA.Examples.BoilersSet.Namespaces.BoilersSet);\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerDelta_Simulation_Start Method.\n        /// </summary>\n        public static readonly ExpandedNodeId BoilersArea_BoilerDelta_Simulation_Start = new ExpandedNodeId(Commsvr.UA.Examples.BoilersSet.Methods.BoilersArea_BoilerDelta_Simulation_Start, Commsvr.UA.Examples.BoilersSet.Namespaces.BoilersSet);\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerDelta_Simulation_Suspend Method.\n        /// </summary>\n        public static readonly ExpandedNodeId BoilersArea_BoilerDelta_Simulation_Suspend = new ExpandedNodeId(Commsvr.UA.Examples.BoilersSet.Methods.BoilersArea_BoilerDelta_Simulation_Suspend, Commsvr.UA.Examples.BoilersSet.Namespaces.BoilersSet);\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerDelta_Simulation_Resume Method.\n        /// </summary>\n        public static readonly ExpandedNodeId BoilersArea_BoilerDelta_Simulation_Resume = new ExpandedNodeId(Commsvr.UA.Examples.BoilersSet.Methods.BoilersArea_BoilerDelta_Simulation_Resume, Commsvr.UA.Examples.BoilersSet.Namespaces.BoilersSet);\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerDelta_Simulation_Halt Method.\n        /// </summary>\n        public static readonly ExpandedNodeId BoilersArea_BoilerDelta_Simulation_Halt = new ExpandedNodeId(Commsvr.UA.Examples.BoilersSet.Methods.BoilersArea_BoilerDelta_Simulation_Halt, Commsvr.UA.Examples.BoilersSet.Namespaces.BoilersSet);\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerDelta_Simulation_Reset Method.\n        /// </summary>\n        public static readonly ExpandedNodeId BoilersArea_BoilerDelta_Simulation_Reset = new ExpandedNodeId(Commsvr.UA.Examples.BoilersSet.Methods.BoilersArea_BoilerDelta_Simulation_Reset, Commsvr.UA.Examples.BoilersSet.Namespaces.BoilersSet);\n    }\n    #endregion\n\n    #region Object Node Identifiers\n    /// <summary>\n    /// A class that declares constants for all Objects in the Model Design.\n    /// </summary>\n    /// <exclude />\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"Opc.Ua.ModelCompiler\", \"1.0.0.0\")]\n    public static partial class ObjectIds\n    {\n        /// <summary>\n        /// The identifier for the BoilersArea Object.\n        /// </summary>\n        public static readonly ExpandedNodeId BoilersArea = new ExpandedNodeId(Commsvr.UA.Examples.BoilersSet.Objects.BoilersArea, Commsvr.UA.Examples.BoilersSet.Namespaces.BoilersSet);\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerAlpha Object.\n        /// </summary>\n        public static readonly ExpandedNodeId BoilersArea_BoilerAlpha = new ExpandedNodeId(Commsvr.UA.Examples.BoilersSet.Objects.BoilersArea_BoilerAlpha, Commsvr.UA.Examples.BoilersSet.Namespaces.BoilersSet);\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerAlpha_InputPipe Object.\n        /// </summary>\n        public static readonly ExpandedNodeId BoilersArea_BoilerAlpha_InputPipe = new ExpandedNodeId(Commsvr.UA.Examples.BoilersSet.Objects.BoilersArea_BoilerAlpha_InputPipe, Commsvr.UA.Examples.BoilersSet.Namespaces.BoilersSet);\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerAlpha_InputPipe_FlowTransmitter1 Object.\n        /// </summary>\n        public static readonly ExpandedNodeId BoilersArea_BoilerAlpha_InputPipe_FlowTransmitter1 = new ExpandedNodeId(Commsvr.UA.Examples.BoilersSet.Objects.BoilersArea_BoilerAlpha_InputPipe_FlowTransmitter1, Commsvr.UA.Examples.BoilersSet.Namespaces.BoilersSet);\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerAlpha_InputPipe_Valve Object.\n        /// </summary>\n        public static readonly ExpandedNodeId BoilersArea_BoilerAlpha_InputPipe_Valve = new ExpandedNodeId(Commsvr.UA.Examples.BoilersSet.Objects.BoilersArea_BoilerAlpha_InputPipe_Valve, Commsvr.UA.Examples.BoilersSet.Namespaces.BoilersSet);\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerAlpha_Drum Object.\n        /// </summary>\n        public static readonly ExpandedNodeId BoilersArea_BoilerAlpha_Drum = new ExpandedNodeId(Commsvr.UA.Examples.BoilersSet.Objects.BoilersArea_BoilerAlpha_Drum, Commsvr.UA.Examples.BoilersSet.Namespaces.BoilersSet);\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerAlpha_Drum_LevelIndicator Object.\n        /// </summary>\n        public static readonly ExpandedNodeId BoilersArea_BoilerAlpha_Drum_LevelIndicator = new ExpandedNodeId(Commsvr.UA.Examples.BoilersSet.Objects.BoilersArea_BoilerAlpha_Drum_LevelIndicator, Commsvr.UA.Examples.BoilersSet.Namespaces.BoilersSet);\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerAlpha_OutputPipe Object.\n        /// </summary>\n        public static readonly ExpandedNodeId BoilersArea_BoilerAlpha_OutputPipe = new ExpandedNodeId(Commsvr.UA.Examples.BoilersSet.Objects.BoilersArea_BoilerAlpha_OutputPipe, Commsvr.UA.Examples.BoilersSet.Namespaces.BoilersSet);\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerAlpha_OutputPipe_FlowTransmitter2 Object.\n        /// </summary>\n        public static readonly ExpandedNodeId BoilersArea_BoilerAlpha_OutputPipe_FlowTransmitter2 = new ExpandedNodeId(Commsvr.UA.Examples.BoilersSet.Objects.BoilersArea_BoilerAlpha_OutputPipe_FlowTransmitter2, Commsvr.UA.Examples.BoilersSet.Namespaces.BoilersSet);\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerAlpha_FlowController Object.\n        /// </summary>\n        public static readonly ExpandedNodeId BoilersArea_BoilerAlpha_FlowController = new ExpandedNodeId(Commsvr.UA.Examples.BoilersSet.Objects.BoilersArea_BoilerAlpha_FlowController, Commsvr.UA.Examples.BoilersSet.Namespaces.BoilersSet);\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerAlpha_LevelController Object.\n        /// </summary>\n        public static readonly ExpandedNodeId BoilersArea_BoilerAlpha_LevelController = new ExpandedNodeId(Commsvr.UA.Examples.BoilersSet.Objects.BoilersArea_BoilerAlpha_LevelController, Commsvr.UA.Examples.BoilersSet.Namespaces.BoilersSet);\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerAlpha_CustomController Object.\n        /// </summary>\n        public static readonly ExpandedNodeId BoilersArea_BoilerAlpha_CustomController = new ExpandedNodeId(Commsvr.UA.Examples.BoilersSet.Objects.BoilersArea_BoilerAlpha_CustomController, Commsvr.UA.Examples.BoilersSet.Namespaces.BoilersSet);\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerAlpha_Simulation Object.\n        /// </summary>\n        public static readonly ExpandedNodeId BoilersArea_BoilerAlpha_Simulation = new ExpandedNodeId(Commsvr.UA.Examples.BoilersSet.Objects.BoilersArea_BoilerAlpha_Simulation, Commsvr.UA.Examples.BoilersSet.Namespaces.BoilersSet);\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerBravo Object.\n        /// </summary>\n        public static readonly ExpandedNodeId BoilersArea_BoilerBravo = new ExpandedNodeId(Commsvr.UA.Examples.BoilersSet.Objects.BoilersArea_BoilerBravo, Commsvr.UA.Examples.BoilersSet.Namespaces.BoilersSet);\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerBravo_InputPipe Object.\n        /// </summary>\n        public static readonly ExpandedNodeId BoilersArea_BoilerBravo_InputPipe = new ExpandedNodeId(Commsvr.UA.Examples.BoilersSet.Objects.BoilersArea_BoilerBravo_InputPipe, Commsvr.UA.Examples.BoilersSet.Namespaces.BoilersSet);\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerBravo_InputPipe_FlowTransmitter1 Object.\n        /// </summary>\n        public static readonly ExpandedNodeId BoilersArea_BoilerBravo_InputPipe_FlowTransmitter1 = new ExpandedNodeId(Commsvr.UA.Examples.BoilersSet.Objects.BoilersArea_BoilerBravo_InputPipe_FlowTransmitter1, Commsvr.UA.Examples.BoilersSet.Namespaces.BoilersSet);\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerBravo_InputPipe_Valve Object.\n        /// </summary>\n        public static readonly ExpandedNodeId BoilersArea_BoilerBravo_InputPipe_Valve = new ExpandedNodeId(Commsvr.UA.Examples.BoilersSet.Objects.BoilersArea_BoilerBravo_InputPipe_Valve, Commsvr.UA.Examples.BoilersSet.Namespaces.BoilersSet);\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerBravo_Drum Object.\n        /// </summary>\n        public static readonly ExpandedNodeId BoilersArea_BoilerBravo_Drum = new ExpandedNodeId(Commsvr.UA.Examples.BoilersSet.Objects.BoilersArea_BoilerBravo_Drum, Commsvr.UA.Examples.BoilersSet.Namespaces.BoilersSet);\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerBravo_Drum_LevelIndicator Object.\n        /// </summary>\n        public static readonly ExpandedNodeId BoilersArea_BoilerBravo_Drum_LevelIndicator = new ExpandedNodeId(Commsvr.UA.Examples.BoilersSet.Objects.BoilersArea_BoilerBravo_Drum_LevelIndicator, Commsvr.UA.Examples.BoilersSet.Namespaces.BoilersSet);\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerBravo_OutputPipe Object.\n        /// </summary>\n        public static readonly ExpandedNodeId BoilersArea_BoilerBravo_OutputPipe = new ExpandedNodeId(Commsvr.UA.Examples.BoilersSet.Objects.BoilersArea_BoilerBravo_OutputPipe, Commsvr.UA.Examples.BoilersSet.Namespaces.BoilersSet);\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerBravo_OutputPipe_FlowTransmitter2 Object.\n        /// </summary>\n        public static readonly ExpandedNodeId BoilersArea_BoilerBravo_OutputPipe_FlowTransmitter2 = new ExpandedNodeId(Commsvr.UA.Examples.BoilersSet.Objects.BoilersArea_BoilerBravo_OutputPipe_FlowTransmitter2, Commsvr.UA.Examples.BoilersSet.Namespaces.BoilersSet);\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerBravo_FlowController Object.\n        /// </summary>\n        public static readonly ExpandedNodeId BoilersArea_BoilerBravo_FlowController = new ExpandedNodeId(Commsvr.UA.Examples.BoilersSet.Objects.BoilersArea_BoilerBravo_FlowController, Commsvr.UA.Examples.BoilersSet.Namespaces.BoilersSet);\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerBravo_LevelController Object.\n        /// </summary>\n        public static readonly ExpandedNodeId BoilersArea_BoilerBravo_LevelController = new ExpandedNodeId(Commsvr.UA.Examples.BoilersSet.Objects.BoilersArea_BoilerBravo_LevelController, Commsvr.UA.Examples.BoilersSet.Namespaces.BoilersSet);\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerBravo_CustomController Object.\n        /// </summary>\n        public static readonly ExpandedNodeId BoilersArea_BoilerBravo_CustomController = new ExpandedNodeId(Commsvr.UA.Examples.BoilersSet.Objects.BoilersArea_BoilerBravo_CustomController, Commsvr.UA.Examples.BoilersSet.Namespaces.BoilersSet);\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerBravo_Simulation Object.\n        /// </summary>\n        public static readonly ExpandedNodeId BoilersArea_BoilerBravo_Simulation = new ExpandedNodeId(Commsvr.UA.Examples.BoilersSet.Objects.BoilersArea_BoilerBravo_Simulation, Commsvr.UA.Examples.BoilersSet.Namespaces.BoilersSet);\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerCharlie Object.\n        /// </summary>\n        public static readonly ExpandedNodeId BoilersArea_BoilerCharlie = new ExpandedNodeId(Commsvr.UA.Examples.BoilersSet.Objects.BoilersArea_BoilerCharlie, Commsvr.UA.Examples.BoilersSet.Namespaces.BoilersSet);\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerCharlie_InputPipe Object.\n        /// </summary>\n        public static readonly ExpandedNodeId BoilersArea_BoilerCharlie_InputPipe = new ExpandedNodeId(Commsvr.UA.Examples.BoilersSet.Objects.BoilersArea_BoilerCharlie_InputPipe, Commsvr.UA.Examples.BoilersSet.Namespaces.BoilersSet);\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerCharlie_InputPipe_FlowTransmitter1 Object.\n        /// </summary>\n        public static readonly ExpandedNodeId BoilersArea_BoilerCharlie_InputPipe_FlowTransmitter1 = new ExpandedNodeId(Commsvr.UA.Examples.BoilersSet.Objects.BoilersArea_BoilerCharlie_InputPipe_FlowTransmitter1, Commsvr.UA.Examples.BoilersSet.Namespaces.BoilersSet);\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerCharlie_InputPipe_Valve Object.\n        /// </summary>\n        public static readonly ExpandedNodeId BoilersArea_BoilerCharlie_InputPipe_Valve = new ExpandedNodeId(Commsvr.UA.Examples.BoilersSet.Objects.BoilersArea_BoilerCharlie_InputPipe_Valve, Commsvr.UA.Examples.BoilersSet.Namespaces.BoilersSet);\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerCharlie_Drum Object.\n        /// </summary>\n        public static readonly ExpandedNodeId BoilersArea_BoilerCharlie_Drum = new ExpandedNodeId(Commsvr.UA.Examples.BoilersSet.Objects.BoilersArea_BoilerCharlie_Drum, Commsvr.UA.Examples.BoilersSet.Namespaces.BoilersSet);\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerCharlie_Drum_LevelIndicator Object.\n        /// </summary>\n        public static readonly ExpandedNodeId BoilersArea_BoilerCharlie_Drum_LevelIndicator = new ExpandedNodeId(Commsvr.UA.Examples.BoilersSet.Objects.BoilersArea_BoilerCharlie_Drum_LevelIndicator, Commsvr.UA.Examples.BoilersSet.Namespaces.BoilersSet);\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerCharlie_OutputPipe Object.\n        /// </summary>\n        public static readonly ExpandedNodeId BoilersArea_BoilerCharlie_OutputPipe = new ExpandedNodeId(Commsvr.UA.Examples.BoilersSet.Objects.BoilersArea_BoilerCharlie_OutputPipe, Commsvr.UA.Examples.BoilersSet.Namespaces.BoilersSet);\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerCharlie_OutputPipe_FlowTransmitter2 Object.\n        /// </summary>\n        public static readonly ExpandedNodeId BoilersArea_BoilerCharlie_OutputPipe_FlowTransmitter2 = new ExpandedNodeId(Commsvr.UA.Examples.BoilersSet.Objects.BoilersArea_BoilerCharlie_OutputPipe_FlowTransmitter2, Commsvr.UA.Examples.BoilersSet.Namespaces.BoilersSet);\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerCharlie_FlowController Object.\n        /// </summary>\n        public static readonly ExpandedNodeId BoilersArea_BoilerCharlie_FlowController = new ExpandedNodeId(Commsvr.UA.Examples.BoilersSet.Objects.BoilersArea_BoilerCharlie_FlowController, Commsvr.UA.Examples.BoilersSet.Namespaces.BoilersSet);\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerCharlie_LevelController Object.\n        /// </summary>\n        public static readonly ExpandedNodeId BoilersArea_BoilerCharlie_LevelController = new ExpandedNodeId(Commsvr.UA.Examples.BoilersSet.Objects.BoilersArea_BoilerCharlie_LevelController, Commsvr.UA.Examples.BoilersSet.Namespaces.BoilersSet);\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerCharlie_CustomController Object.\n        /// </summary>\n        public static readonly ExpandedNodeId BoilersArea_BoilerCharlie_CustomController = new ExpandedNodeId(Commsvr.UA.Examples.BoilersSet.Objects.BoilersArea_BoilerCharlie_CustomController, Commsvr.UA.Examples.BoilersSet.Namespaces.BoilersSet);\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerCharlie_Simulation Object.\n        /// </summary>\n        public static readonly ExpandedNodeId BoilersArea_BoilerCharlie_Simulation = new ExpandedNodeId(Commsvr.UA.Examples.BoilersSet.Objects.BoilersArea_BoilerCharlie_Simulation, Commsvr.UA.Examples.BoilersSet.Namespaces.BoilersSet);\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerDelta Object.\n        /// </summary>\n        public static readonly ExpandedNodeId BoilersArea_BoilerDelta = new ExpandedNodeId(Commsvr.UA.Examples.BoilersSet.Objects.BoilersArea_BoilerDelta, Commsvr.UA.Examples.BoilersSet.Namespaces.BoilersSet);\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerDelta_InputPipe Object.\n        /// </summary>\n        public static readonly ExpandedNodeId BoilersArea_BoilerDelta_InputPipe = new ExpandedNodeId(Commsvr.UA.Examples.BoilersSet.Objects.BoilersArea_BoilerDelta_InputPipe, Commsvr.UA.Examples.BoilersSet.Namespaces.BoilersSet);\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerDelta_InputPipe_FlowTransmitter1 Object.\n        /// </summary>\n        public static readonly ExpandedNodeId BoilersArea_BoilerDelta_InputPipe_FlowTransmitter1 = new ExpandedNodeId(Commsvr.UA.Examples.BoilersSet.Objects.BoilersArea_BoilerDelta_InputPipe_FlowTransmitter1, Commsvr.UA.Examples.BoilersSet.Namespaces.BoilersSet);\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerDelta_InputPipe_Valve Object.\n        /// </summary>\n        public static readonly ExpandedNodeId BoilersArea_BoilerDelta_InputPipe_Valve = new ExpandedNodeId(Commsvr.UA.Examples.BoilersSet.Objects.BoilersArea_BoilerDelta_InputPipe_Valve, Commsvr.UA.Examples.BoilersSet.Namespaces.BoilersSet);\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerDelta_Drum Object.\n        /// </summary>\n        public static readonly ExpandedNodeId BoilersArea_BoilerDelta_Drum = new ExpandedNodeId(Commsvr.UA.Examples.BoilersSet.Objects.BoilersArea_BoilerDelta_Drum, Commsvr.UA.Examples.BoilersSet.Namespaces.BoilersSet);\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerDelta_Drum_LevelIndicator Object.\n        /// </summary>\n        public static readonly ExpandedNodeId BoilersArea_BoilerDelta_Drum_LevelIndicator = new ExpandedNodeId(Commsvr.UA.Examples.BoilersSet.Objects.BoilersArea_BoilerDelta_Drum_LevelIndicator, Commsvr.UA.Examples.BoilersSet.Namespaces.BoilersSet);\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerDelta_OutputPipe Object.\n        /// </summary>\n        public static readonly ExpandedNodeId BoilersArea_BoilerDelta_OutputPipe = new ExpandedNodeId(Commsvr.UA.Examples.BoilersSet.Objects.BoilersArea_BoilerDelta_OutputPipe, Commsvr.UA.Examples.BoilersSet.Namespaces.BoilersSet);\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerDelta_OutputPipe_FlowTransmitter2 Object.\n        /// </summary>\n        public static readonly ExpandedNodeId BoilersArea_BoilerDelta_OutputPipe_FlowTransmitter2 = new ExpandedNodeId(Commsvr.UA.Examples.BoilersSet.Objects.BoilersArea_BoilerDelta_OutputPipe_FlowTransmitter2, Commsvr.UA.Examples.BoilersSet.Namespaces.BoilersSet);\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerDelta_FlowController Object.\n        /// </summary>\n        public static readonly ExpandedNodeId BoilersArea_BoilerDelta_FlowController = new ExpandedNodeId(Commsvr.UA.Examples.BoilersSet.Objects.BoilersArea_BoilerDelta_FlowController, Commsvr.UA.Examples.BoilersSet.Namespaces.BoilersSet);\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerDelta_LevelController Object.\n        /// </summary>\n        public static readonly ExpandedNodeId BoilersArea_BoilerDelta_LevelController = new ExpandedNodeId(Commsvr.UA.Examples.BoilersSet.Objects.BoilersArea_BoilerDelta_LevelController, Commsvr.UA.Examples.BoilersSet.Namespaces.BoilersSet);\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerDelta_CustomController Object.\n        /// </summary>\n        public static readonly ExpandedNodeId BoilersArea_BoilerDelta_CustomController = new ExpandedNodeId(Commsvr.UA.Examples.BoilersSet.Objects.BoilersArea_BoilerDelta_CustomController, Commsvr.UA.Examples.BoilersSet.Namespaces.BoilersSet);\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerDelta_Simulation Object.\n        /// </summary>\n        public static readonly ExpandedNodeId BoilersArea_BoilerDelta_Simulation = new ExpandedNodeId(Commsvr.UA.Examples.BoilersSet.Objects.BoilersArea_BoilerDelta_Simulation, Commsvr.UA.Examples.BoilersSet.Namespaces.BoilersSet);\n\n        /// <summary>\n        /// The identifier for the Drums Object.\n        /// </summary>\n        public static readonly ExpandedNodeId Drums = new ExpandedNodeId(Commsvr.UA.Examples.BoilersSet.Objects.Drums, Commsvr.UA.Examples.BoilersSet.Namespaces.BoilersSet);\n\n        /// <summary>\n        /// The identifier for the Pipes Object.\n        /// </summary>\n        public static readonly ExpandedNodeId Pipes = new ExpandedNodeId(Commsvr.UA.Examples.BoilersSet.Objects.Pipes, Commsvr.UA.Examples.BoilersSet.Namespaces.BoilersSet);\n    }\n    #endregion\n\n    #region Variable Node Identifiers\n    /// <summary>\n    /// A class that declares constants for all Variables in the Model Design.\n    /// </summary>\n    /// <exclude />\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"Opc.Ua.ModelCompiler\", \"1.0.0.0\")]\n    public static partial class VariableIds\n    {\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerAlpha_InputPipe_FlowTransmitter1_Output Variable.\n        /// </summary>\n        public static readonly ExpandedNodeId BoilersArea_BoilerAlpha_InputPipe_FlowTransmitter1_Output = new ExpandedNodeId(Commsvr.UA.Examples.BoilersSet.Variables.BoilersArea_BoilerAlpha_InputPipe_FlowTransmitter1_Output, Commsvr.UA.Examples.BoilersSet.Namespaces.BoilersSet);\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerAlpha_InputPipe_FlowTransmitter1_Output_EURange Variable.\n        /// </summary>\n        public static readonly ExpandedNodeId BoilersArea_BoilerAlpha_InputPipe_FlowTransmitter1_Output_EURange = new ExpandedNodeId(Commsvr.UA.Examples.BoilersSet.Variables.BoilersArea_BoilerAlpha_InputPipe_FlowTransmitter1_Output_EURange, Commsvr.UA.Examples.BoilersSet.Namespaces.BoilersSet);\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerAlpha_InputPipe_Valve_Input Variable.\n        /// </summary>\n        public static readonly ExpandedNodeId BoilersArea_BoilerAlpha_InputPipe_Valve_Input = new ExpandedNodeId(Commsvr.UA.Examples.BoilersSet.Variables.BoilersArea_BoilerAlpha_InputPipe_Valve_Input, Commsvr.UA.Examples.BoilersSet.Namespaces.BoilersSet);\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerAlpha_InputPipe_Valve_Input_EURange Variable.\n        /// </summary>\n        public static readonly ExpandedNodeId BoilersArea_BoilerAlpha_InputPipe_Valve_Input_EURange = new ExpandedNodeId(Commsvr.UA.Examples.BoilersSet.Variables.BoilersArea_BoilerAlpha_InputPipe_Valve_Input_EURange, Commsvr.UA.Examples.BoilersSet.Namespaces.BoilersSet);\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerAlpha_Drum_LevelIndicator_Output Variable.\n        /// </summary>\n        public static readonly ExpandedNodeId BoilersArea_BoilerAlpha_Drum_LevelIndicator_Output = new ExpandedNodeId(Commsvr.UA.Examples.BoilersSet.Variables.BoilersArea_BoilerAlpha_Drum_LevelIndicator_Output, Commsvr.UA.Examples.BoilersSet.Namespaces.BoilersSet);\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerAlpha_Drum_LevelIndicator_Output_EURange Variable.\n        /// </summary>\n        public static readonly ExpandedNodeId BoilersArea_BoilerAlpha_Drum_LevelIndicator_Output_EURange = new ExpandedNodeId(Commsvr.UA.Examples.BoilersSet.Variables.BoilersArea_BoilerAlpha_Drum_LevelIndicator_Output_EURange, Commsvr.UA.Examples.BoilersSet.Namespaces.BoilersSet);\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerAlpha_OutputPipe_FlowTransmitter2_Output Variable.\n        /// </summary>\n        public static readonly ExpandedNodeId BoilersArea_BoilerAlpha_OutputPipe_FlowTransmitter2_Output = new ExpandedNodeId(Commsvr.UA.Examples.BoilersSet.Variables.BoilersArea_BoilerAlpha_OutputPipe_FlowTransmitter2_Output, Commsvr.UA.Examples.BoilersSet.Namespaces.BoilersSet);\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerAlpha_OutputPipe_FlowTransmitter2_Output_EURange Variable.\n        /// </summary>\n        public static readonly ExpandedNodeId BoilersArea_BoilerAlpha_OutputPipe_FlowTransmitter2_Output_EURange = new ExpandedNodeId(Commsvr.UA.Examples.BoilersSet.Variables.BoilersArea_BoilerAlpha_OutputPipe_FlowTransmitter2_Output_EURange, Commsvr.UA.Examples.BoilersSet.Namespaces.BoilersSet);\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerAlpha_FlowController_Measurement Variable.\n        /// </summary>\n        public static readonly ExpandedNodeId BoilersArea_BoilerAlpha_FlowController_Measurement = new ExpandedNodeId(Commsvr.UA.Examples.BoilersSet.Variables.BoilersArea_BoilerAlpha_FlowController_Measurement, Commsvr.UA.Examples.BoilersSet.Namespaces.BoilersSet);\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerAlpha_FlowController_SetPoint Variable.\n        /// </summary>\n        public static readonly ExpandedNodeId BoilersArea_BoilerAlpha_FlowController_SetPoint = new ExpandedNodeId(Commsvr.UA.Examples.BoilersSet.Variables.BoilersArea_BoilerAlpha_FlowController_SetPoint, Commsvr.UA.Examples.BoilersSet.Namespaces.BoilersSet);\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerAlpha_FlowController_ControlOut Variable.\n        /// </summary>\n        public static readonly ExpandedNodeId BoilersArea_BoilerAlpha_FlowController_ControlOut = new ExpandedNodeId(Commsvr.UA.Examples.BoilersSet.Variables.BoilersArea_BoilerAlpha_FlowController_ControlOut, Commsvr.UA.Examples.BoilersSet.Namespaces.BoilersSet);\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerAlpha_LevelController_Measurement Variable.\n        /// </summary>\n        public static readonly ExpandedNodeId BoilersArea_BoilerAlpha_LevelController_Measurement = new ExpandedNodeId(Commsvr.UA.Examples.BoilersSet.Variables.BoilersArea_BoilerAlpha_LevelController_Measurement, Commsvr.UA.Examples.BoilersSet.Namespaces.BoilersSet);\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerAlpha_LevelController_SetPoint Variable.\n        /// </summary>\n        public static readonly ExpandedNodeId BoilersArea_BoilerAlpha_LevelController_SetPoint = new ExpandedNodeId(Commsvr.UA.Examples.BoilersSet.Variables.BoilersArea_BoilerAlpha_LevelController_SetPoint, Commsvr.UA.Examples.BoilersSet.Namespaces.BoilersSet);\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerAlpha_LevelController_ControlOut Variable.\n        /// </summary>\n        public static readonly ExpandedNodeId BoilersArea_BoilerAlpha_LevelController_ControlOut = new ExpandedNodeId(Commsvr.UA.Examples.BoilersSet.Variables.BoilersArea_BoilerAlpha_LevelController_ControlOut, Commsvr.UA.Examples.BoilersSet.Namespaces.BoilersSet);\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerAlpha_CustomController_Input1 Variable.\n        /// </summary>\n        public static readonly ExpandedNodeId BoilersArea_BoilerAlpha_CustomController_Input1 = new ExpandedNodeId(Commsvr.UA.Examples.BoilersSet.Variables.BoilersArea_BoilerAlpha_CustomController_Input1, Commsvr.UA.Examples.BoilersSet.Namespaces.BoilersSet);\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerAlpha_CustomController_Input2 Variable.\n        /// </summary>\n        public static readonly ExpandedNodeId BoilersArea_BoilerAlpha_CustomController_Input2 = new ExpandedNodeId(Commsvr.UA.Examples.BoilersSet.Variables.BoilersArea_BoilerAlpha_CustomController_Input2, Commsvr.UA.Examples.BoilersSet.Namespaces.BoilersSet);\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerAlpha_CustomController_Input3 Variable.\n        /// </summary>\n        public static readonly ExpandedNodeId BoilersArea_BoilerAlpha_CustomController_Input3 = new ExpandedNodeId(Commsvr.UA.Examples.BoilersSet.Variables.BoilersArea_BoilerAlpha_CustomController_Input3, Commsvr.UA.Examples.BoilersSet.Namespaces.BoilersSet);\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerAlpha_CustomController_ControlOut Variable.\n        /// </summary>\n        public static readonly ExpandedNodeId BoilersArea_BoilerAlpha_CustomController_ControlOut = new ExpandedNodeId(Commsvr.UA.Examples.BoilersSet.Variables.BoilersArea_BoilerAlpha_CustomController_ControlOut, Commsvr.UA.Examples.BoilersSet.Namespaces.BoilersSet);\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerAlpha_CustomController_DescriptionX Variable.\n        /// </summary>\n        public static readonly ExpandedNodeId BoilersArea_BoilerAlpha_CustomController_DescriptionX = new ExpandedNodeId(Commsvr.UA.Examples.BoilersSet.Variables.BoilersArea_BoilerAlpha_CustomController_DescriptionX, Commsvr.UA.Examples.BoilersSet.Namespaces.BoilersSet);\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerAlpha_Simulation_CurrentState Variable.\n        /// </summary>\n        public static readonly ExpandedNodeId BoilersArea_BoilerAlpha_Simulation_CurrentState = new ExpandedNodeId(Commsvr.UA.Examples.BoilersSet.Variables.BoilersArea_BoilerAlpha_Simulation_CurrentState, Commsvr.UA.Examples.BoilersSet.Namespaces.BoilersSet);\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerAlpha_Simulation_CurrentState_Id Variable.\n        /// </summary>\n        public static readonly ExpandedNodeId BoilersArea_BoilerAlpha_Simulation_CurrentState_Id = new ExpandedNodeId(Commsvr.UA.Examples.BoilersSet.Variables.BoilersArea_BoilerAlpha_Simulation_CurrentState_Id, Commsvr.UA.Examples.BoilersSet.Namespaces.BoilersSet);\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerAlpha_Simulation_CurrentState_Number Variable.\n        /// </summary>\n        public static readonly ExpandedNodeId BoilersArea_BoilerAlpha_Simulation_CurrentState_Number = new ExpandedNodeId(Commsvr.UA.Examples.BoilersSet.Variables.BoilersArea_BoilerAlpha_Simulation_CurrentState_Number, Commsvr.UA.Examples.BoilersSet.Namespaces.BoilersSet);\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerAlpha_Simulation_LastTransition Variable.\n        /// </summary>\n        public static readonly ExpandedNodeId BoilersArea_BoilerAlpha_Simulation_LastTransition = new ExpandedNodeId(Commsvr.UA.Examples.BoilersSet.Variables.BoilersArea_BoilerAlpha_Simulation_LastTransition, Commsvr.UA.Examples.BoilersSet.Namespaces.BoilersSet);\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerAlpha_Simulation_LastTransition_Id Variable.\n        /// </summary>\n        public static readonly ExpandedNodeId BoilersArea_BoilerAlpha_Simulation_LastTransition_Id = new ExpandedNodeId(Commsvr.UA.Examples.BoilersSet.Variables.BoilersArea_BoilerAlpha_Simulation_LastTransition_Id, Commsvr.UA.Examples.BoilersSet.Namespaces.BoilersSet);\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerAlpha_Simulation_LastTransition_Number Variable.\n        /// </summary>\n        public static readonly ExpandedNodeId BoilersArea_BoilerAlpha_Simulation_LastTransition_Number = new ExpandedNodeId(Commsvr.UA.Examples.BoilersSet.Variables.BoilersArea_BoilerAlpha_Simulation_LastTransition_Number, Commsvr.UA.Examples.BoilersSet.Namespaces.BoilersSet);\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerAlpha_Simulation_LastTransition_TransitionTime Variable.\n        /// </summary>\n        public static readonly ExpandedNodeId BoilersArea_BoilerAlpha_Simulation_LastTransition_TransitionTime = new ExpandedNodeId(Commsvr.UA.Examples.BoilersSet.Variables.BoilersArea_BoilerAlpha_Simulation_LastTransition_TransitionTime, Commsvr.UA.Examples.BoilersSet.Namespaces.BoilersSet);\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerAlpha_Simulation_Deletable Variable.\n        /// </summary>\n        public static readonly ExpandedNodeId BoilersArea_BoilerAlpha_Simulation_Deletable = new ExpandedNodeId(Commsvr.UA.Examples.BoilersSet.Variables.BoilersArea_BoilerAlpha_Simulation_Deletable, Commsvr.UA.Examples.BoilersSet.Namespaces.BoilersSet);\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerAlpha_Simulation_RecycleCount Variable.\n        /// </summary>\n        public static readonly ExpandedNodeId BoilersArea_BoilerAlpha_Simulation_RecycleCount = new ExpandedNodeId(Commsvr.UA.Examples.BoilersSet.Variables.BoilersArea_BoilerAlpha_Simulation_RecycleCount, Commsvr.UA.Examples.BoilersSet.Namespaces.BoilersSet);\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerAlpha_Simulation_ProgramDiagnostics_CreateSessionId Variable.\n        /// </summary>\n        public static readonly ExpandedNodeId BoilersArea_BoilerAlpha_Simulation_ProgramDiagnostics_CreateSessionId = new ExpandedNodeId(Commsvr.UA.Examples.BoilersSet.Variables.BoilersArea_BoilerAlpha_Simulation_ProgramDiagnostics_CreateSessionId, Commsvr.UA.Examples.BoilersSet.Namespaces.BoilersSet);\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerAlpha_Simulation_ProgramDiagnostics_CreateClientName Variable.\n        /// </summary>\n        public static readonly ExpandedNodeId BoilersArea_BoilerAlpha_Simulation_ProgramDiagnostics_CreateClientName = new ExpandedNodeId(Commsvr.UA.Examples.BoilersSet.Variables.BoilersArea_BoilerAlpha_Simulation_ProgramDiagnostics_CreateClientName, Commsvr.UA.Examples.BoilersSet.Namespaces.BoilersSet);\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerAlpha_Simulation_ProgramDiagnostics_InvocationCreationTime Variable.\n        /// </summary>\n        public static readonly ExpandedNodeId BoilersArea_BoilerAlpha_Simulation_ProgramDiagnostics_InvocationCreationTime = new ExpandedNodeId(Commsvr.UA.Examples.BoilersSet.Variables.BoilersArea_BoilerAlpha_Simulation_ProgramDiagnostics_InvocationCreationTime, Commsvr.UA.Examples.BoilersSet.Namespaces.BoilersSet);\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerAlpha_Simulation_ProgramDiagnostics_LastTransitionTime Variable.\n        /// </summary>\n        public static readonly ExpandedNodeId BoilersArea_BoilerAlpha_Simulation_ProgramDiagnostics_LastTransitionTime = new ExpandedNodeId(Commsvr.UA.Examples.BoilersSet.Variables.BoilersArea_BoilerAlpha_Simulation_ProgramDiagnostics_LastTransitionTime, Commsvr.UA.Examples.BoilersSet.Namespaces.BoilersSet);\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerAlpha_Simulation_ProgramDiagnostics_LastMethodCall Variable.\n        /// </summary>\n        public static readonly ExpandedNodeId BoilersArea_BoilerAlpha_Simulation_ProgramDiagnostics_LastMethodCall = new ExpandedNodeId(Commsvr.UA.Examples.BoilersSet.Variables.BoilersArea_BoilerAlpha_Simulation_ProgramDiagnostics_LastMethodCall, Commsvr.UA.Examples.BoilersSet.Namespaces.BoilersSet);\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerAlpha_Simulation_ProgramDiagnostics_LastMethodSessionId Variable.\n        /// </summary>\n        public static readonly ExpandedNodeId BoilersArea_BoilerAlpha_Simulation_ProgramDiagnostics_LastMethodSessionId = new ExpandedNodeId(Commsvr.UA.Examples.BoilersSet.Variables.BoilersArea_BoilerAlpha_Simulation_ProgramDiagnostics_LastMethodSessionId, Commsvr.UA.Examples.BoilersSet.Namespaces.BoilersSet);\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerAlpha_Simulation_ProgramDiagnostics_LastMethodInputArguments Variable.\n        /// </summary>\n        public static readonly ExpandedNodeId BoilersArea_BoilerAlpha_Simulation_ProgramDiagnostics_LastMethodInputArguments = new ExpandedNodeId(Commsvr.UA.Examples.BoilersSet.Variables.BoilersArea_BoilerAlpha_Simulation_ProgramDiagnostics_LastMethodInputArguments, Commsvr.UA.Examples.BoilersSet.Namespaces.BoilersSet);\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerAlpha_Simulation_ProgramDiagnostics_LastMethodOutputArguments Variable.\n        /// </summary>\n        public static readonly ExpandedNodeId BoilersArea_BoilerAlpha_Simulation_ProgramDiagnostics_LastMethodOutputArguments = new ExpandedNodeId(Commsvr.UA.Examples.BoilersSet.Variables.BoilersArea_BoilerAlpha_Simulation_ProgramDiagnostics_LastMethodOutputArguments, Commsvr.UA.Examples.BoilersSet.Namespaces.BoilersSet);\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerAlpha_Simulation_ProgramDiagnostics_LastMethodCallTime Variable.\n        /// </summary>\n        public static readonly ExpandedNodeId BoilersArea_BoilerAlpha_Simulation_ProgramDiagnostics_LastMethodCallTime = new ExpandedNodeId(Commsvr.UA.Examples.BoilersSet.Variables.BoilersArea_BoilerAlpha_Simulation_ProgramDiagnostics_LastMethodCallTime, Commsvr.UA.Examples.BoilersSet.Namespaces.BoilersSet);\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerAlpha_Simulation_ProgramDiagnostics_LastMethodReturnStatus Variable.\n        /// </summary>\n        public static readonly ExpandedNodeId BoilersArea_BoilerAlpha_Simulation_ProgramDiagnostics_LastMethodReturnStatus = new ExpandedNodeId(Commsvr.UA.Examples.BoilersSet.Variables.BoilersArea_BoilerAlpha_Simulation_ProgramDiagnostics_LastMethodReturnStatus, Commsvr.UA.Examples.BoilersSet.Namespaces.BoilersSet);\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerAlpha_Simulation_UpdateRate Variable.\n        /// </summary>\n        public static readonly ExpandedNodeId BoilersArea_BoilerAlpha_Simulation_UpdateRate = new ExpandedNodeId(Commsvr.UA.Examples.BoilersSet.Variables.BoilersArea_BoilerAlpha_Simulation_UpdateRate, Commsvr.UA.Examples.BoilersSet.Namespaces.BoilersSet);\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerBravo_InputPipe_FlowTransmitter1_Output Variable.\n        /// </summary>\n        public static readonly ExpandedNodeId BoilersArea_BoilerBravo_InputPipe_FlowTransmitter1_Output = new ExpandedNodeId(Commsvr.UA.Examples.BoilersSet.Variables.BoilersArea_BoilerBravo_InputPipe_FlowTransmitter1_Output, Commsvr.UA.Examples.BoilersSet.Namespaces.BoilersSet);\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerBravo_InputPipe_FlowTransmitter1_Output_EURange Variable.\n        /// </summary>\n        public static readonly ExpandedNodeId BoilersArea_BoilerBravo_InputPipe_FlowTransmitter1_Output_EURange = new ExpandedNodeId(Commsvr.UA.Examples.BoilersSet.Variables.BoilersArea_BoilerBravo_InputPipe_FlowTransmitter1_Output_EURange, Commsvr.UA.Examples.BoilersSet.Namespaces.BoilersSet);\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerBravo_InputPipe_Valve_Input Variable.\n        /// </summary>\n        public static readonly ExpandedNodeId BoilersArea_BoilerBravo_InputPipe_Valve_Input = new ExpandedNodeId(Commsvr.UA.Examples.BoilersSet.Variables.BoilersArea_BoilerBravo_InputPipe_Valve_Input, Commsvr.UA.Examples.BoilersSet.Namespaces.BoilersSet);\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerBravo_InputPipe_Valve_Input_EURange Variable.\n        /// </summary>\n        public static readonly ExpandedNodeId BoilersArea_BoilerBravo_InputPipe_Valve_Input_EURange = new ExpandedNodeId(Commsvr.UA.Examples.BoilersSet.Variables.BoilersArea_BoilerBravo_InputPipe_Valve_Input_EURange, Commsvr.UA.Examples.BoilersSet.Namespaces.BoilersSet);\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerBravo_Drum_LevelIndicator_Output Variable.\n        /// </summary>\n        public static readonly ExpandedNodeId BoilersArea_BoilerBravo_Drum_LevelIndicator_Output = new ExpandedNodeId(Commsvr.UA.Examples.BoilersSet.Variables.BoilersArea_BoilerBravo_Drum_LevelIndicator_Output, Commsvr.UA.Examples.BoilersSet.Namespaces.BoilersSet);\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerBravo_Drum_LevelIndicator_Output_EURange Variable.\n        /// </summary>\n        public static readonly ExpandedNodeId BoilersArea_BoilerBravo_Drum_LevelIndicator_Output_EURange = new ExpandedNodeId(Commsvr.UA.Examples.BoilersSet.Variables.BoilersArea_BoilerBravo_Drum_LevelIndicator_Output_EURange, Commsvr.UA.Examples.BoilersSet.Namespaces.BoilersSet);\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerBravo_OutputPipe_FlowTransmitter2_Output Variable.\n        /// </summary>\n        public static readonly ExpandedNodeId BoilersArea_BoilerBravo_OutputPipe_FlowTransmitter2_Output = new ExpandedNodeId(Commsvr.UA.Examples.BoilersSet.Variables.BoilersArea_BoilerBravo_OutputPipe_FlowTransmitter2_Output, Commsvr.UA.Examples.BoilersSet.Namespaces.BoilersSet);\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerBravo_OutputPipe_FlowTransmitter2_Output_EURange Variable.\n        /// </summary>\n        public static readonly ExpandedNodeId BoilersArea_BoilerBravo_OutputPipe_FlowTransmitter2_Output_EURange = new ExpandedNodeId(Commsvr.UA.Examples.BoilersSet.Variables.BoilersArea_BoilerBravo_OutputPipe_FlowTransmitter2_Output_EURange, Commsvr.UA.Examples.BoilersSet.Namespaces.BoilersSet);\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerBravo_FlowController_Measurement Variable.\n        /// </summary>\n        public static readonly ExpandedNodeId BoilersArea_BoilerBravo_FlowController_Measurement = new ExpandedNodeId(Commsvr.UA.Examples.BoilersSet.Variables.BoilersArea_BoilerBravo_FlowController_Measurement, Commsvr.UA.Examples.BoilersSet.Namespaces.BoilersSet);\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerBravo_FlowController_SetPoint Variable.\n        /// </summary>\n        public static readonly ExpandedNodeId BoilersArea_BoilerBravo_FlowController_SetPoint = new ExpandedNodeId(Commsvr.UA.Examples.BoilersSet.Variables.BoilersArea_BoilerBravo_FlowController_SetPoint, Commsvr.UA.Examples.BoilersSet.Namespaces.BoilersSet);\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerBravo_FlowController_ControlOut Variable.\n        /// </summary>\n        public static readonly ExpandedNodeId BoilersArea_BoilerBravo_FlowController_ControlOut = new ExpandedNodeId(Commsvr.UA.Examples.BoilersSet.Variables.BoilersArea_BoilerBravo_FlowController_ControlOut, Commsvr.UA.Examples.BoilersSet.Namespaces.BoilersSet);\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerBravo_LevelController_Measurement Variable.\n        /// </summary>\n        public static readonly ExpandedNodeId BoilersArea_BoilerBravo_LevelController_Measurement = new ExpandedNodeId(Commsvr.UA.Examples.BoilersSet.Variables.BoilersArea_BoilerBravo_LevelController_Measurement, Commsvr.UA.Examples.BoilersSet.Namespaces.BoilersSet);\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerBravo_LevelController_SetPoint Variable.\n        /// </summary>\n        public static readonly ExpandedNodeId BoilersArea_BoilerBravo_LevelController_SetPoint = new ExpandedNodeId(Commsvr.UA.Examples.BoilersSet.Variables.BoilersArea_BoilerBravo_LevelController_SetPoint, Commsvr.UA.Examples.BoilersSet.Namespaces.BoilersSet);\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerBravo_LevelController_ControlOut Variable.\n        /// </summary>\n        public static readonly ExpandedNodeId BoilersArea_BoilerBravo_LevelController_ControlOut = new ExpandedNodeId(Commsvr.UA.Examples.BoilersSet.Variables.BoilersArea_BoilerBravo_LevelController_ControlOut, Commsvr.UA.Examples.BoilersSet.Namespaces.BoilersSet);\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerBravo_CustomController_Input1 Variable.\n        /// </summary>\n        public static readonly ExpandedNodeId BoilersArea_BoilerBravo_CustomController_Input1 = new ExpandedNodeId(Commsvr.UA.Examples.BoilersSet.Variables.BoilersArea_BoilerBravo_CustomController_Input1, Commsvr.UA.Examples.BoilersSet.Namespaces.BoilersSet);\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerBravo_CustomController_Input2 Variable.\n        /// </summary>\n        public static readonly ExpandedNodeId BoilersArea_BoilerBravo_CustomController_Input2 = new ExpandedNodeId(Commsvr.UA.Examples.BoilersSet.Variables.BoilersArea_BoilerBravo_CustomController_Input2, Commsvr.UA.Examples.BoilersSet.Namespaces.BoilersSet);\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerBravo_CustomController_Input3 Variable.\n        /// </summary>\n        public static readonly ExpandedNodeId BoilersArea_BoilerBravo_CustomController_Input3 = new ExpandedNodeId(Commsvr.UA.Examples.BoilersSet.Variables.BoilersArea_BoilerBravo_CustomController_Input3, Commsvr.UA.Examples.BoilersSet.Namespaces.BoilersSet);\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerBravo_CustomController_ControlOut Variable.\n        /// </summary>\n        public static readonly ExpandedNodeId BoilersArea_BoilerBravo_CustomController_ControlOut = new ExpandedNodeId(Commsvr.UA.Examples.BoilersSet.Variables.BoilersArea_BoilerBravo_CustomController_ControlOut, Commsvr.UA.Examples.BoilersSet.Namespaces.BoilersSet);\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerBravo_CustomController_DescriptionX Variable.\n        /// </summary>\n        public static readonly ExpandedNodeId BoilersArea_BoilerBravo_CustomController_DescriptionX = new ExpandedNodeId(Commsvr.UA.Examples.BoilersSet.Variables.BoilersArea_BoilerBravo_CustomController_DescriptionX, Commsvr.UA.Examples.BoilersSet.Namespaces.BoilersSet);\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerBravo_Simulation_CurrentState Variable.\n        /// </summary>\n        public static readonly ExpandedNodeId BoilersArea_BoilerBravo_Simulation_CurrentState = new ExpandedNodeId(Commsvr.UA.Examples.BoilersSet.Variables.BoilersArea_BoilerBravo_Simulation_CurrentState, Commsvr.UA.Examples.BoilersSet.Namespaces.BoilersSet);\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerBravo_Simulation_CurrentState_Id Variable.\n        /// </summary>\n        public static readonly ExpandedNodeId BoilersArea_BoilerBravo_Simulation_CurrentState_Id = new ExpandedNodeId(Commsvr.UA.Examples.BoilersSet.Variables.BoilersArea_BoilerBravo_Simulation_CurrentState_Id, Commsvr.UA.Examples.BoilersSet.Namespaces.BoilersSet);\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerBravo_Simulation_CurrentState_Number Variable.\n        /// </summary>\n        public static readonly ExpandedNodeId BoilersArea_BoilerBravo_Simulation_CurrentState_Number = new ExpandedNodeId(Commsvr.UA.Examples.BoilersSet.Variables.BoilersArea_BoilerBravo_Simulation_CurrentState_Number, Commsvr.UA.Examples.BoilersSet.Namespaces.BoilersSet);\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerBravo_Simulation_LastTransition Variable.\n        /// </summary>\n        public static readonly ExpandedNodeId BoilersArea_BoilerBravo_Simulation_LastTransition = new ExpandedNodeId(Commsvr.UA.Examples.BoilersSet.Variables.BoilersArea_BoilerBravo_Simulation_LastTransition, Commsvr.UA.Examples.BoilersSet.Namespaces.BoilersSet);\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerBravo_Simulation_LastTransition_Id Variable.\n        /// </summary>\n        public static readonly ExpandedNodeId BoilersArea_BoilerBravo_Simulation_LastTransition_Id = new ExpandedNodeId(Commsvr.UA.Examples.BoilersSet.Variables.BoilersArea_BoilerBravo_Simulation_LastTransition_Id, Commsvr.UA.Examples.BoilersSet.Namespaces.BoilersSet);\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerBravo_Simulation_LastTransition_Number Variable.\n        /// </summary>\n        public static readonly ExpandedNodeId BoilersArea_BoilerBravo_Simulation_LastTransition_Number = new ExpandedNodeId(Commsvr.UA.Examples.BoilersSet.Variables.BoilersArea_BoilerBravo_Simulation_LastTransition_Number, Commsvr.UA.Examples.BoilersSet.Namespaces.BoilersSet);\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerBravo_Simulation_LastTransition_TransitionTime Variable.\n        /// </summary>\n        public static readonly ExpandedNodeId BoilersArea_BoilerBravo_Simulation_LastTransition_TransitionTime = new ExpandedNodeId(Commsvr.UA.Examples.BoilersSet.Variables.BoilersArea_BoilerBravo_Simulation_LastTransition_TransitionTime, Commsvr.UA.Examples.BoilersSet.Namespaces.BoilersSet);\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerBravo_Simulation_Deletable Variable.\n        /// </summary>\n        public static readonly ExpandedNodeId BoilersArea_BoilerBravo_Simulation_Deletable = new ExpandedNodeId(Commsvr.UA.Examples.BoilersSet.Variables.BoilersArea_BoilerBravo_Simulation_Deletable, Commsvr.UA.Examples.BoilersSet.Namespaces.BoilersSet);\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerBravo_Simulation_RecycleCount Variable.\n        /// </summary>\n        public static readonly ExpandedNodeId BoilersArea_BoilerBravo_Simulation_RecycleCount = new ExpandedNodeId(Commsvr.UA.Examples.BoilersSet.Variables.BoilersArea_BoilerBravo_Simulation_RecycleCount, Commsvr.UA.Examples.BoilersSet.Namespaces.BoilersSet);\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerBravo_Simulation_ProgramDiagnostics_CreateSessionId Variable.\n        /// </summary>\n        public static readonly ExpandedNodeId BoilersArea_BoilerBravo_Simulation_ProgramDiagnostics_CreateSessionId = new ExpandedNodeId(Commsvr.UA.Examples.BoilersSet.Variables.BoilersArea_BoilerBravo_Simulation_ProgramDiagnostics_CreateSessionId, Commsvr.UA.Examples.BoilersSet.Namespaces.BoilersSet);\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerBravo_Simulation_ProgramDiagnostics_CreateClientName Variable.\n        /// </summary>\n        public static readonly ExpandedNodeId BoilersArea_BoilerBravo_Simulation_ProgramDiagnostics_CreateClientName = new ExpandedNodeId(Commsvr.UA.Examples.BoilersSet.Variables.BoilersArea_BoilerBravo_Simulation_ProgramDiagnostics_CreateClientName, Commsvr.UA.Examples.BoilersSet.Namespaces.BoilersSet);\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerBravo_Simulation_ProgramDiagnostics_InvocationCreationTime Variable.\n        /// </summary>\n        public static readonly ExpandedNodeId BoilersArea_BoilerBravo_Simulation_ProgramDiagnostics_InvocationCreationTime = new ExpandedNodeId(Commsvr.UA.Examples.BoilersSet.Variables.BoilersArea_BoilerBravo_Simulation_ProgramDiagnostics_InvocationCreationTime, Commsvr.UA.Examples.BoilersSet.Namespaces.BoilersSet);\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerBravo_Simulation_ProgramDiagnostics_LastTransitionTime Variable.\n        /// </summary>\n        public static readonly ExpandedNodeId BoilersArea_BoilerBravo_Simulation_ProgramDiagnostics_LastTransitionTime = new ExpandedNodeId(Commsvr.UA.Examples.BoilersSet.Variables.BoilersArea_BoilerBravo_Simulation_ProgramDiagnostics_LastTransitionTime, Commsvr.UA.Examples.BoilersSet.Namespaces.BoilersSet);\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerBravo_Simulation_ProgramDiagnostics_LastMethodCall Variable.\n        /// </summary>\n        public static readonly ExpandedNodeId BoilersArea_BoilerBravo_Simulation_ProgramDiagnostics_LastMethodCall = new ExpandedNodeId(Commsvr.UA.Examples.BoilersSet.Variables.BoilersArea_BoilerBravo_Simulation_ProgramDiagnostics_LastMethodCall, Commsvr.UA.Examples.BoilersSet.Namespaces.BoilersSet);\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerBravo_Simulation_ProgramDiagnostics_LastMethodSessionId Variable.\n        /// </summary>\n        public static readonly ExpandedNodeId BoilersArea_BoilerBravo_Simulation_ProgramDiagnostics_LastMethodSessionId = new ExpandedNodeId(Commsvr.UA.Examples.BoilersSet.Variables.BoilersArea_BoilerBravo_Simulation_ProgramDiagnostics_LastMethodSessionId, Commsvr.UA.Examples.BoilersSet.Namespaces.BoilersSet);\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerBravo_Simulation_ProgramDiagnostics_LastMethodInputArguments Variable.\n        /// </summary>\n        public static readonly ExpandedNodeId BoilersArea_BoilerBravo_Simulation_ProgramDiagnostics_LastMethodInputArguments = new ExpandedNodeId(Commsvr.UA.Examples.BoilersSet.Variables.BoilersArea_BoilerBravo_Simulation_ProgramDiagnostics_LastMethodInputArguments, Commsvr.UA.Examples.BoilersSet.Namespaces.BoilersSet);\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerBravo_Simulation_ProgramDiagnostics_LastMethodOutputArguments Variable.\n        /// </summary>\n        public static readonly ExpandedNodeId BoilersArea_BoilerBravo_Simulation_ProgramDiagnostics_LastMethodOutputArguments = new ExpandedNodeId(Commsvr.UA.Examples.BoilersSet.Variables.BoilersArea_BoilerBravo_Simulation_ProgramDiagnostics_LastMethodOutputArguments, Commsvr.UA.Examples.BoilersSet.Namespaces.BoilersSet);\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerBravo_Simulation_ProgramDiagnostics_LastMethodCallTime Variable.\n        /// </summary>\n        public static readonly ExpandedNodeId BoilersArea_BoilerBravo_Simulation_ProgramDiagnostics_LastMethodCallTime = new ExpandedNodeId(Commsvr.UA.Examples.BoilersSet.Variables.BoilersArea_BoilerBravo_Simulation_ProgramDiagnostics_LastMethodCallTime, Commsvr.UA.Examples.BoilersSet.Namespaces.BoilersSet);\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerBravo_Simulation_ProgramDiagnostics_LastMethodReturnStatus Variable.\n        /// </summary>\n        public static readonly ExpandedNodeId BoilersArea_BoilerBravo_Simulation_ProgramDiagnostics_LastMethodReturnStatus = new ExpandedNodeId(Commsvr.UA.Examples.BoilersSet.Variables.BoilersArea_BoilerBravo_Simulation_ProgramDiagnostics_LastMethodReturnStatus, Commsvr.UA.Examples.BoilersSet.Namespaces.BoilersSet);\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerBravo_Simulation_UpdateRate Variable.\n        /// </summary>\n        public static readonly ExpandedNodeId BoilersArea_BoilerBravo_Simulation_UpdateRate = new ExpandedNodeId(Commsvr.UA.Examples.BoilersSet.Variables.BoilersArea_BoilerBravo_Simulation_UpdateRate, Commsvr.UA.Examples.BoilersSet.Namespaces.BoilersSet);\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerCharlie_InputPipe_FlowTransmitter1_Output Variable.\n        /// </summary>\n        public static readonly ExpandedNodeId BoilersArea_BoilerCharlie_InputPipe_FlowTransmitter1_Output = new ExpandedNodeId(Commsvr.UA.Examples.BoilersSet.Variables.BoilersArea_BoilerCharlie_InputPipe_FlowTransmitter1_Output, Commsvr.UA.Examples.BoilersSet.Namespaces.BoilersSet);\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerCharlie_InputPipe_FlowTransmitter1_Output_EURange Variable.\n        /// </summary>\n        public static readonly ExpandedNodeId BoilersArea_BoilerCharlie_InputPipe_FlowTransmitter1_Output_EURange = new ExpandedNodeId(Commsvr.UA.Examples.BoilersSet.Variables.BoilersArea_BoilerCharlie_InputPipe_FlowTransmitter1_Output_EURange, Commsvr.UA.Examples.BoilersSet.Namespaces.BoilersSet);\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerCharlie_InputPipe_Valve_Input Variable.\n        /// </summary>\n        public static readonly ExpandedNodeId BoilersArea_BoilerCharlie_InputPipe_Valve_Input = new ExpandedNodeId(Commsvr.UA.Examples.BoilersSet.Variables.BoilersArea_BoilerCharlie_InputPipe_Valve_Input, Commsvr.UA.Examples.BoilersSet.Namespaces.BoilersSet);\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerCharlie_InputPipe_Valve_Input_EURange Variable.\n        /// </summary>\n        public static readonly ExpandedNodeId BoilersArea_BoilerCharlie_InputPipe_Valve_Input_EURange = new ExpandedNodeId(Commsvr.UA.Examples.BoilersSet.Variables.BoilersArea_BoilerCharlie_InputPipe_Valve_Input_EURange, Commsvr.UA.Examples.BoilersSet.Namespaces.BoilersSet);\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerCharlie_Drum_LevelIndicator_Output Variable.\n        /// </summary>\n        public static readonly ExpandedNodeId BoilersArea_BoilerCharlie_Drum_LevelIndicator_Output = new ExpandedNodeId(Commsvr.UA.Examples.BoilersSet.Variables.BoilersArea_BoilerCharlie_Drum_LevelIndicator_Output, Commsvr.UA.Examples.BoilersSet.Namespaces.BoilersSet);\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerCharlie_Drum_LevelIndicator_Output_EURange Variable.\n        /// </summary>\n        public static readonly ExpandedNodeId BoilersArea_BoilerCharlie_Drum_LevelIndicator_Output_EURange = new ExpandedNodeId(Commsvr.UA.Examples.BoilersSet.Variables.BoilersArea_BoilerCharlie_Drum_LevelIndicator_Output_EURange, Commsvr.UA.Examples.BoilersSet.Namespaces.BoilersSet);\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerCharlie_OutputPipe_FlowTransmitter2_Output Variable.\n        /// </summary>\n        public static readonly ExpandedNodeId BoilersArea_BoilerCharlie_OutputPipe_FlowTransmitter2_Output = new ExpandedNodeId(Commsvr.UA.Examples.BoilersSet.Variables.BoilersArea_BoilerCharlie_OutputPipe_FlowTransmitter2_Output, Commsvr.UA.Examples.BoilersSet.Namespaces.BoilersSet);\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerCharlie_OutputPipe_FlowTransmitter2_Output_EURange Variable.\n        /// </summary>\n        public static readonly ExpandedNodeId BoilersArea_BoilerCharlie_OutputPipe_FlowTransmitter2_Output_EURange = new ExpandedNodeId(Commsvr.UA.Examples.BoilersSet.Variables.BoilersArea_BoilerCharlie_OutputPipe_FlowTransmitter2_Output_EURange, Commsvr.UA.Examples.BoilersSet.Namespaces.BoilersSet);\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerCharlie_FlowController_Measurement Variable.\n        /// </summary>\n        public static readonly ExpandedNodeId BoilersArea_BoilerCharlie_FlowController_Measurement = new ExpandedNodeId(Commsvr.UA.Examples.BoilersSet.Variables.BoilersArea_BoilerCharlie_FlowController_Measurement, Commsvr.UA.Examples.BoilersSet.Namespaces.BoilersSet);\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerCharlie_FlowController_SetPoint Variable.\n        /// </summary>\n        public static readonly ExpandedNodeId BoilersArea_BoilerCharlie_FlowController_SetPoint = new ExpandedNodeId(Commsvr.UA.Examples.BoilersSet.Variables.BoilersArea_BoilerCharlie_FlowController_SetPoint, Commsvr.UA.Examples.BoilersSet.Namespaces.BoilersSet);\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerCharlie_FlowController_ControlOut Variable.\n        /// </summary>\n        public static readonly ExpandedNodeId BoilersArea_BoilerCharlie_FlowController_ControlOut = new ExpandedNodeId(Commsvr.UA.Examples.BoilersSet.Variables.BoilersArea_BoilerCharlie_FlowController_ControlOut, Commsvr.UA.Examples.BoilersSet.Namespaces.BoilersSet);\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerCharlie_LevelController_Measurement Variable.\n        /// </summary>\n        public static readonly ExpandedNodeId BoilersArea_BoilerCharlie_LevelController_Measurement = new ExpandedNodeId(Commsvr.UA.Examples.BoilersSet.Variables.BoilersArea_BoilerCharlie_LevelController_Measurement, Commsvr.UA.Examples.BoilersSet.Namespaces.BoilersSet);\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerCharlie_LevelController_SetPoint Variable.\n        /// </summary>\n        public static readonly ExpandedNodeId BoilersArea_BoilerCharlie_LevelController_SetPoint = new ExpandedNodeId(Commsvr.UA.Examples.BoilersSet.Variables.BoilersArea_BoilerCharlie_LevelController_SetPoint, Commsvr.UA.Examples.BoilersSet.Namespaces.BoilersSet);\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerCharlie_LevelController_ControlOut Variable.\n        /// </summary>\n        public static readonly ExpandedNodeId BoilersArea_BoilerCharlie_LevelController_ControlOut = new ExpandedNodeId(Commsvr.UA.Examples.BoilersSet.Variables.BoilersArea_BoilerCharlie_LevelController_ControlOut, Commsvr.UA.Examples.BoilersSet.Namespaces.BoilersSet);\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerCharlie_CustomController_Input1 Variable.\n        /// </summary>\n        public static readonly ExpandedNodeId BoilersArea_BoilerCharlie_CustomController_Input1 = new ExpandedNodeId(Commsvr.UA.Examples.BoilersSet.Variables.BoilersArea_BoilerCharlie_CustomController_Input1, Commsvr.UA.Examples.BoilersSet.Namespaces.BoilersSet);\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerCharlie_CustomController_Input2 Variable.\n        /// </summary>\n        public static readonly ExpandedNodeId BoilersArea_BoilerCharlie_CustomController_Input2 = new ExpandedNodeId(Commsvr.UA.Examples.BoilersSet.Variables.BoilersArea_BoilerCharlie_CustomController_Input2, Commsvr.UA.Examples.BoilersSet.Namespaces.BoilersSet);\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerCharlie_CustomController_Input3 Variable.\n        /// </summary>\n        public static readonly ExpandedNodeId BoilersArea_BoilerCharlie_CustomController_Input3 = new ExpandedNodeId(Commsvr.UA.Examples.BoilersSet.Variables.BoilersArea_BoilerCharlie_CustomController_Input3, Commsvr.UA.Examples.BoilersSet.Namespaces.BoilersSet);\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerCharlie_CustomController_ControlOut Variable.\n        /// </summary>\n        public static readonly ExpandedNodeId BoilersArea_BoilerCharlie_CustomController_ControlOut = new ExpandedNodeId(Commsvr.UA.Examples.BoilersSet.Variables.BoilersArea_BoilerCharlie_CustomController_ControlOut, Commsvr.UA.Examples.BoilersSet.Namespaces.BoilersSet);\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerCharlie_CustomController_DescriptionX Variable.\n        /// </summary>\n        public static readonly ExpandedNodeId BoilersArea_BoilerCharlie_CustomController_DescriptionX = new ExpandedNodeId(Commsvr.UA.Examples.BoilersSet.Variables.BoilersArea_BoilerCharlie_CustomController_DescriptionX, Commsvr.UA.Examples.BoilersSet.Namespaces.BoilersSet);\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerCharlie_Simulation_CurrentState Variable.\n        /// </summary>\n        public static readonly ExpandedNodeId BoilersArea_BoilerCharlie_Simulation_CurrentState = new ExpandedNodeId(Commsvr.UA.Examples.BoilersSet.Variables.BoilersArea_BoilerCharlie_Simulation_CurrentState, Commsvr.UA.Examples.BoilersSet.Namespaces.BoilersSet);\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerCharlie_Simulation_CurrentState_Id Variable.\n        /// </summary>\n        public static readonly ExpandedNodeId BoilersArea_BoilerCharlie_Simulation_CurrentState_Id = new ExpandedNodeId(Commsvr.UA.Examples.BoilersSet.Variables.BoilersArea_BoilerCharlie_Simulation_CurrentState_Id, Commsvr.UA.Examples.BoilersSet.Namespaces.BoilersSet);\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerCharlie_Simulation_CurrentState_Number Variable.\n        /// </summary>\n        public static readonly ExpandedNodeId BoilersArea_BoilerCharlie_Simulation_CurrentState_Number = new ExpandedNodeId(Commsvr.UA.Examples.BoilersSet.Variables.BoilersArea_BoilerCharlie_Simulation_CurrentState_Number, Commsvr.UA.Examples.BoilersSet.Namespaces.BoilersSet);\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerCharlie_Simulation_LastTransition Variable.\n        /// </summary>\n        public static readonly ExpandedNodeId BoilersArea_BoilerCharlie_Simulation_LastTransition = new ExpandedNodeId(Commsvr.UA.Examples.BoilersSet.Variables.BoilersArea_BoilerCharlie_Simulation_LastTransition, Commsvr.UA.Examples.BoilersSet.Namespaces.BoilersSet);\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerCharlie_Simulation_LastTransition_Id Variable.\n        /// </summary>\n        public static readonly ExpandedNodeId BoilersArea_BoilerCharlie_Simulation_LastTransition_Id = new ExpandedNodeId(Commsvr.UA.Examples.BoilersSet.Variables.BoilersArea_BoilerCharlie_Simulation_LastTransition_Id, Commsvr.UA.Examples.BoilersSet.Namespaces.BoilersSet);\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerCharlie_Simulation_LastTransition_Number Variable.\n        /// </summary>\n        public static readonly ExpandedNodeId BoilersArea_BoilerCharlie_Simulation_LastTransition_Number = new ExpandedNodeId(Commsvr.UA.Examples.BoilersSet.Variables.BoilersArea_BoilerCharlie_Simulation_LastTransition_Number, Commsvr.UA.Examples.BoilersSet.Namespaces.BoilersSet);\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerCharlie_Simulation_LastTransition_TransitionTime Variable.\n        /// </summary>\n        public static readonly ExpandedNodeId BoilersArea_BoilerCharlie_Simulation_LastTransition_TransitionTime = new ExpandedNodeId(Commsvr.UA.Examples.BoilersSet.Variables.BoilersArea_BoilerCharlie_Simulation_LastTransition_TransitionTime, Commsvr.UA.Examples.BoilersSet.Namespaces.BoilersSet);\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerCharlie_Simulation_Deletable Variable.\n        /// </summary>\n        public static readonly ExpandedNodeId BoilersArea_BoilerCharlie_Simulation_Deletable = new ExpandedNodeId(Commsvr.UA.Examples.BoilersSet.Variables.BoilersArea_BoilerCharlie_Simulation_Deletable, Commsvr.UA.Examples.BoilersSet.Namespaces.BoilersSet);\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerCharlie_Simulation_RecycleCount Variable.\n        /// </summary>\n        public static readonly ExpandedNodeId BoilersArea_BoilerCharlie_Simulation_RecycleCount = new ExpandedNodeId(Commsvr.UA.Examples.BoilersSet.Variables.BoilersArea_BoilerCharlie_Simulation_RecycleCount, Commsvr.UA.Examples.BoilersSet.Namespaces.BoilersSet);\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerCharlie_Simulation_ProgramDiagnostics_CreateSessionId Variable.\n        /// </summary>\n        public static readonly ExpandedNodeId BoilersArea_BoilerCharlie_Simulation_ProgramDiagnostics_CreateSessionId = new ExpandedNodeId(Commsvr.UA.Examples.BoilersSet.Variables.BoilersArea_BoilerCharlie_Simulation_ProgramDiagnostics_CreateSessionId, Commsvr.UA.Examples.BoilersSet.Namespaces.BoilersSet);\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerCharlie_Simulation_ProgramDiagnostics_CreateClientName Variable.\n        /// </summary>\n        public static readonly ExpandedNodeId BoilersArea_BoilerCharlie_Simulation_ProgramDiagnostics_CreateClientName = new ExpandedNodeId(Commsvr.UA.Examples.BoilersSet.Variables.BoilersArea_BoilerCharlie_Simulation_ProgramDiagnostics_CreateClientName, Commsvr.UA.Examples.BoilersSet.Namespaces.BoilersSet);\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerCharlie_Simulation_ProgramDiagnostics_InvocationCreationTime Variable.\n        /// </summary>\n        public static readonly ExpandedNodeId BoilersArea_BoilerCharlie_Simulation_ProgramDiagnostics_InvocationCreationTime = new ExpandedNodeId(Commsvr.UA.Examples.BoilersSet.Variables.BoilersArea_BoilerCharlie_Simulation_ProgramDiagnostics_InvocationCreationTime, Commsvr.UA.Examples.BoilersSet.Namespaces.BoilersSet);\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerCharlie_Simulation_ProgramDiagnostics_LastTransitionTime Variable.\n        /// </summary>\n        public static readonly ExpandedNodeId BoilersArea_BoilerCharlie_Simulation_ProgramDiagnostics_LastTransitionTime = new ExpandedNodeId(Commsvr.UA.Examples.BoilersSet.Variables.BoilersArea_BoilerCharlie_Simulation_ProgramDiagnostics_LastTransitionTime, Commsvr.UA.Examples.BoilersSet.Namespaces.BoilersSet);\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerCharlie_Simulation_ProgramDiagnostics_LastMethodCall Variable.\n        /// </summary>\n        public static readonly ExpandedNodeId BoilersArea_BoilerCharlie_Simulation_ProgramDiagnostics_LastMethodCall = new ExpandedNodeId(Commsvr.UA.Examples.BoilersSet.Variables.BoilersArea_BoilerCharlie_Simulation_ProgramDiagnostics_LastMethodCall, Commsvr.UA.Examples.BoilersSet.Namespaces.BoilersSet);\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerCharlie_Simulation_ProgramDiagnostics_LastMethodSessionId Variable.\n        /// </summary>\n        public static readonly ExpandedNodeId BoilersArea_BoilerCharlie_Simulation_ProgramDiagnostics_LastMethodSessionId = new ExpandedNodeId(Commsvr.UA.Examples.BoilersSet.Variables.BoilersArea_BoilerCharlie_Simulation_ProgramDiagnostics_LastMethodSessionId, Commsvr.UA.Examples.BoilersSet.Namespaces.BoilersSet);\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerCharlie_Simulation_ProgramDiagnostics_LastMethodInputArguments Variable.\n        /// </summary>\n        public static readonly ExpandedNodeId BoilersArea_BoilerCharlie_Simulation_ProgramDiagnostics_LastMethodInputArguments = new ExpandedNodeId(Commsvr.UA.Examples.BoilersSet.Variables.BoilersArea_BoilerCharlie_Simulation_ProgramDiagnostics_LastMethodInputArguments, Commsvr.UA.Examples.BoilersSet.Namespaces.BoilersSet);\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerCharlie_Simulation_ProgramDiagnostics_LastMethodOutputArguments Variable.\n        /// </summary>\n        public static readonly ExpandedNodeId BoilersArea_BoilerCharlie_Simulation_ProgramDiagnostics_LastMethodOutputArguments = new ExpandedNodeId(Commsvr.UA.Examples.BoilersSet.Variables.BoilersArea_BoilerCharlie_Simulation_ProgramDiagnostics_LastMethodOutputArguments, Commsvr.UA.Examples.BoilersSet.Namespaces.BoilersSet);\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerCharlie_Simulation_ProgramDiagnostics_LastMethodCallTime Variable.\n        /// </summary>\n        public static readonly ExpandedNodeId BoilersArea_BoilerCharlie_Simulation_ProgramDiagnostics_LastMethodCallTime = new ExpandedNodeId(Commsvr.UA.Examples.BoilersSet.Variables.BoilersArea_BoilerCharlie_Simulation_ProgramDiagnostics_LastMethodCallTime, Commsvr.UA.Examples.BoilersSet.Namespaces.BoilersSet);\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerCharlie_Simulation_ProgramDiagnostics_LastMethodReturnStatus Variable.\n        /// </summary>\n        public static readonly ExpandedNodeId BoilersArea_BoilerCharlie_Simulation_ProgramDiagnostics_LastMethodReturnStatus = new ExpandedNodeId(Commsvr.UA.Examples.BoilersSet.Variables.BoilersArea_BoilerCharlie_Simulation_ProgramDiagnostics_LastMethodReturnStatus, Commsvr.UA.Examples.BoilersSet.Namespaces.BoilersSet);\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerCharlie_Simulation_UpdateRate Variable.\n        /// </summary>\n        public static readonly ExpandedNodeId BoilersArea_BoilerCharlie_Simulation_UpdateRate = new ExpandedNodeId(Commsvr.UA.Examples.BoilersSet.Variables.BoilersArea_BoilerCharlie_Simulation_UpdateRate, Commsvr.UA.Examples.BoilersSet.Namespaces.BoilersSet);\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerDelta_InputPipe_FlowTransmitter1_Output Variable.\n        /// </summary>\n        public static readonly ExpandedNodeId BoilersArea_BoilerDelta_InputPipe_FlowTransmitter1_Output = new ExpandedNodeId(Commsvr.UA.Examples.BoilersSet.Variables.BoilersArea_BoilerDelta_InputPipe_FlowTransmitter1_Output, Commsvr.UA.Examples.BoilersSet.Namespaces.BoilersSet);\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerDelta_InputPipe_FlowTransmitter1_Output_EURange Variable.\n        /// </summary>\n        public static readonly ExpandedNodeId BoilersArea_BoilerDelta_InputPipe_FlowTransmitter1_Output_EURange = new ExpandedNodeId(Commsvr.UA.Examples.BoilersSet.Variables.BoilersArea_BoilerDelta_InputPipe_FlowTransmitter1_Output_EURange, Commsvr.UA.Examples.BoilersSet.Namespaces.BoilersSet);\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerDelta_InputPipe_Valve_Input Variable.\n        /// </summary>\n        public static readonly ExpandedNodeId BoilersArea_BoilerDelta_InputPipe_Valve_Input = new ExpandedNodeId(Commsvr.UA.Examples.BoilersSet.Variables.BoilersArea_BoilerDelta_InputPipe_Valve_Input, Commsvr.UA.Examples.BoilersSet.Namespaces.BoilersSet);\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerDelta_InputPipe_Valve_Input_EURange Variable.\n        /// </summary>\n        public static readonly ExpandedNodeId BoilersArea_BoilerDelta_InputPipe_Valve_Input_EURange = new ExpandedNodeId(Commsvr.UA.Examples.BoilersSet.Variables.BoilersArea_BoilerDelta_InputPipe_Valve_Input_EURange, Commsvr.UA.Examples.BoilersSet.Namespaces.BoilersSet);\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerDelta_Drum_LevelIndicator_Output Variable.\n        /// </summary>\n        public static readonly ExpandedNodeId BoilersArea_BoilerDelta_Drum_LevelIndicator_Output = new ExpandedNodeId(Commsvr.UA.Examples.BoilersSet.Variables.BoilersArea_BoilerDelta_Drum_LevelIndicator_Output, Commsvr.UA.Examples.BoilersSet.Namespaces.BoilersSet);\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerDelta_Drum_LevelIndicator_Output_EURange Variable.\n        /// </summary>\n        public static readonly ExpandedNodeId BoilersArea_BoilerDelta_Drum_LevelIndicator_Output_EURange = new ExpandedNodeId(Commsvr.UA.Examples.BoilersSet.Variables.BoilersArea_BoilerDelta_Drum_LevelIndicator_Output_EURange, Commsvr.UA.Examples.BoilersSet.Namespaces.BoilersSet);\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerDelta_OutputPipe_FlowTransmitter2_Output Variable.\n        /// </summary>\n        public static readonly ExpandedNodeId BoilersArea_BoilerDelta_OutputPipe_FlowTransmitter2_Output = new ExpandedNodeId(Commsvr.UA.Examples.BoilersSet.Variables.BoilersArea_BoilerDelta_OutputPipe_FlowTransmitter2_Output, Commsvr.UA.Examples.BoilersSet.Namespaces.BoilersSet);\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerDelta_OutputPipe_FlowTransmitter2_Output_EURange Variable.\n        /// </summary>\n        public static readonly ExpandedNodeId BoilersArea_BoilerDelta_OutputPipe_FlowTransmitter2_Output_EURange = new ExpandedNodeId(Commsvr.UA.Examples.BoilersSet.Variables.BoilersArea_BoilerDelta_OutputPipe_FlowTransmitter2_Output_EURange, Commsvr.UA.Examples.BoilersSet.Namespaces.BoilersSet);\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerDelta_FlowController_Measurement Variable.\n        /// </summary>\n        public static readonly ExpandedNodeId BoilersArea_BoilerDelta_FlowController_Measurement = new ExpandedNodeId(Commsvr.UA.Examples.BoilersSet.Variables.BoilersArea_BoilerDelta_FlowController_Measurement, Commsvr.UA.Examples.BoilersSet.Namespaces.BoilersSet);\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerDelta_FlowController_SetPoint Variable.\n        /// </summary>\n        public static readonly ExpandedNodeId BoilersArea_BoilerDelta_FlowController_SetPoint = new ExpandedNodeId(Commsvr.UA.Examples.BoilersSet.Variables.BoilersArea_BoilerDelta_FlowController_SetPoint, Commsvr.UA.Examples.BoilersSet.Namespaces.BoilersSet);\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerDelta_FlowController_ControlOut Variable.\n        /// </summary>\n        public static readonly ExpandedNodeId BoilersArea_BoilerDelta_FlowController_ControlOut = new ExpandedNodeId(Commsvr.UA.Examples.BoilersSet.Variables.BoilersArea_BoilerDelta_FlowController_ControlOut, Commsvr.UA.Examples.BoilersSet.Namespaces.BoilersSet);\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerDelta_LevelController_Measurement Variable.\n        /// </summary>\n        public static readonly ExpandedNodeId BoilersArea_BoilerDelta_LevelController_Measurement = new ExpandedNodeId(Commsvr.UA.Examples.BoilersSet.Variables.BoilersArea_BoilerDelta_LevelController_Measurement, Commsvr.UA.Examples.BoilersSet.Namespaces.BoilersSet);\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerDelta_LevelController_SetPoint Variable.\n        /// </summary>\n        public static readonly ExpandedNodeId BoilersArea_BoilerDelta_LevelController_SetPoint = new ExpandedNodeId(Commsvr.UA.Examples.BoilersSet.Variables.BoilersArea_BoilerDelta_LevelController_SetPoint, Commsvr.UA.Examples.BoilersSet.Namespaces.BoilersSet);\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerDelta_LevelController_ControlOut Variable.\n        /// </summary>\n        public static readonly ExpandedNodeId BoilersArea_BoilerDelta_LevelController_ControlOut = new ExpandedNodeId(Commsvr.UA.Examples.BoilersSet.Variables.BoilersArea_BoilerDelta_LevelController_ControlOut, Commsvr.UA.Examples.BoilersSet.Namespaces.BoilersSet);\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerDelta_CustomController_Input1 Variable.\n        /// </summary>\n        public static readonly ExpandedNodeId BoilersArea_BoilerDelta_CustomController_Input1 = new ExpandedNodeId(Commsvr.UA.Examples.BoilersSet.Variables.BoilersArea_BoilerDelta_CustomController_Input1, Commsvr.UA.Examples.BoilersSet.Namespaces.BoilersSet);\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerDelta_CustomController_Input2 Variable.\n        /// </summary>\n        public static readonly ExpandedNodeId BoilersArea_BoilerDelta_CustomController_Input2 = new ExpandedNodeId(Commsvr.UA.Examples.BoilersSet.Variables.BoilersArea_BoilerDelta_CustomController_Input2, Commsvr.UA.Examples.BoilersSet.Namespaces.BoilersSet);\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerDelta_CustomController_Input3 Variable.\n        /// </summary>\n        public static readonly ExpandedNodeId BoilersArea_BoilerDelta_CustomController_Input3 = new ExpandedNodeId(Commsvr.UA.Examples.BoilersSet.Variables.BoilersArea_BoilerDelta_CustomController_Input3, Commsvr.UA.Examples.BoilersSet.Namespaces.BoilersSet);\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerDelta_CustomController_ControlOut Variable.\n        /// </summary>\n        public static readonly ExpandedNodeId BoilersArea_BoilerDelta_CustomController_ControlOut = new ExpandedNodeId(Commsvr.UA.Examples.BoilersSet.Variables.BoilersArea_BoilerDelta_CustomController_ControlOut, Commsvr.UA.Examples.BoilersSet.Namespaces.BoilersSet);\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerDelta_CustomController_DescriptionX Variable.\n        /// </summary>\n        public static readonly ExpandedNodeId BoilersArea_BoilerDelta_CustomController_DescriptionX = new ExpandedNodeId(Commsvr.UA.Examples.BoilersSet.Variables.BoilersArea_BoilerDelta_CustomController_DescriptionX, Commsvr.UA.Examples.BoilersSet.Namespaces.BoilersSet);\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerDelta_Simulation_CurrentState Variable.\n        /// </summary>\n        public static readonly ExpandedNodeId BoilersArea_BoilerDelta_Simulation_CurrentState = new ExpandedNodeId(Commsvr.UA.Examples.BoilersSet.Variables.BoilersArea_BoilerDelta_Simulation_CurrentState, Commsvr.UA.Examples.BoilersSet.Namespaces.BoilersSet);\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerDelta_Simulation_CurrentState_Id Variable.\n        /// </summary>\n        public static readonly ExpandedNodeId BoilersArea_BoilerDelta_Simulation_CurrentState_Id = new ExpandedNodeId(Commsvr.UA.Examples.BoilersSet.Variables.BoilersArea_BoilerDelta_Simulation_CurrentState_Id, Commsvr.UA.Examples.BoilersSet.Namespaces.BoilersSet);\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerDelta_Simulation_CurrentState_Number Variable.\n        /// </summary>\n        public static readonly ExpandedNodeId BoilersArea_BoilerDelta_Simulation_CurrentState_Number = new ExpandedNodeId(Commsvr.UA.Examples.BoilersSet.Variables.BoilersArea_BoilerDelta_Simulation_CurrentState_Number, Commsvr.UA.Examples.BoilersSet.Namespaces.BoilersSet);\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerDelta_Simulation_LastTransition Variable.\n        /// </summary>\n        public static readonly ExpandedNodeId BoilersArea_BoilerDelta_Simulation_LastTransition = new ExpandedNodeId(Commsvr.UA.Examples.BoilersSet.Variables.BoilersArea_BoilerDelta_Simulation_LastTransition, Commsvr.UA.Examples.BoilersSet.Namespaces.BoilersSet);\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerDelta_Simulation_LastTransition_Id Variable.\n        /// </summary>\n        public static readonly ExpandedNodeId BoilersArea_BoilerDelta_Simulation_LastTransition_Id = new ExpandedNodeId(Commsvr.UA.Examples.BoilersSet.Variables.BoilersArea_BoilerDelta_Simulation_LastTransition_Id, Commsvr.UA.Examples.BoilersSet.Namespaces.BoilersSet);\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerDelta_Simulation_LastTransition_Number Variable.\n        /// </summary>\n        public static readonly ExpandedNodeId BoilersArea_BoilerDelta_Simulation_LastTransition_Number = new ExpandedNodeId(Commsvr.UA.Examples.BoilersSet.Variables.BoilersArea_BoilerDelta_Simulation_LastTransition_Number, Commsvr.UA.Examples.BoilersSet.Namespaces.BoilersSet);\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerDelta_Simulation_LastTransition_TransitionTime Variable.\n        /// </summary>\n        public static readonly ExpandedNodeId BoilersArea_BoilerDelta_Simulation_LastTransition_TransitionTime = new ExpandedNodeId(Commsvr.UA.Examples.BoilersSet.Variables.BoilersArea_BoilerDelta_Simulation_LastTransition_TransitionTime, Commsvr.UA.Examples.BoilersSet.Namespaces.BoilersSet);\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerDelta_Simulation_Deletable Variable.\n        /// </summary>\n        public static readonly ExpandedNodeId BoilersArea_BoilerDelta_Simulation_Deletable = new ExpandedNodeId(Commsvr.UA.Examples.BoilersSet.Variables.BoilersArea_BoilerDelta_Simulation_Deletable, Commsvr.UA.Examples.BoilersSet.Namespaces.BoilersSet);\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerDelta_Simulation_RecycleCount Variable.\n        /// </summary>\n        public static readonly ExpandedNodeId BoilersArea_BoilerDelta_Simulation_RecycleCount = new ExpandedNodeId(Commsvr.UA.Examples.BoilersSet.Variables.BoilersArea_BoilerDelta_Simulation_RecycleCount, Commsvr.UA.Examples.BoilersSet.Namespaces.BoilersSet);\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerDelta_Simulation_ProgramDiagnostics_CreateSessionId Variable.\n        /// </summary>\n        public static readonly ExpandedNodeId BoilersArea_BoilerDelta_Simulation_ProgramDiagnostics_CreateSessionId = new ExpandedNodeId(Commsvr.UA.Examples.BoilersSet.Variables.BoilersArea_BoilerDelta_Simulation_ProgramDiagnostics_CreateSessionId, Commsvr.UA.Examples.BoilersSet.Namespaces.BoilersSet);\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerDelta_Simulation_ProgramDiagnostics_CreateClientName Variable.\n        /// </summary>\n        public static readonly ExpandedNodeId BoilersArea_BoilerDelta_Simulation_ProgramDiagnostics_CreateClientName = new ExpandedNodeId(Commsvr.UA.Examples.BoilersSet.Variables.BoilersArea_BoilerDelta_Simulation_ProgramDiagnostics_CreateClientName, Commsvr.UA.Examples.BoilersSet.Namespaces.BoilersSet);\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerDelta_Simulation_ProgramDiagnostics_InvocationCreationTime Variable.\n        /// </summary>\n        public static readonly ExpandedNodeId BoilersArea_BoilerDelta_Simulation_ProgramDiagnostics_InvocationCreationTime = new ExpandedNodeId(Commsvr.UA.Examples.BoilersSet.Variables.BoilersArea_BoilerDelta_Simulation_ProgramDiagnostics_InvocationCreationTime, Commsvr.UA.Examples.BoilersSet.Namespaces.BoilersSet);\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerDelta_Simulation_ProgramDiagnostics_LastTransitionTime Variable.\n        /// </summary>\n        public static readonly ExpandedNodeId BoilersArea_BoilerDelta_Simulation_ProgramDiagnostics_LastTransitionTime = new ExpandedNodeId(Commsvr.UA.Examples.BoilersSet.Variables.BoilersArea_BoilerDelta_Simulation_ProgramDiagnostics_LastTransitionTime, Commsvr.UA.Examples.BoilersSet.Namespaces.BoilersSet);\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerDelta_Simulation_ProgramDiagnostics_LastMethodCall Variable.\n        /// </summary>\n        public static readonly ExpandedNodeId BoilersArea_BoilerDelta_Simulation_ProgramDiagnostics_LastMethodCall = new ExpandedNodeId(Commsvr.UA.Examples.BoilersSet.Variables.BoilersArea_BoilerDelta_Simulation_ProgramDiagnostics_LastMethodCall, Commsvr.UA.Examples.BoilersSet.Namespaces.BoilersSet);\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerDelta_Simulation_ProgramDiagnostics_LastMethodSessionId Variable.\n        /// </summary>\n        public static readonly ExpandedNodeId BoilersArea_BoilerDelta_Simulation_ProgramDiagnostics_LastMethodSessionId = new ExpandedNodeId(Commsvr.UA.Examples.BoilersSet.Variables.BoilersArea_BoilerDelta_Simulation_ProgramDiagnostics_LastMethodSessionId, Commsvr.UA.Examples.BoilersSet.Namespaces.BoilersSet);\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerDelta_Simulation_ProgramDiagnostics_LastMethodInputArguments Variable.\n        /// </summary>\n        public static readonly ExpandedNodeId BoilersArea_BoilerDelta_Simulation_ProgramDiagnostics_LastMethodInputArguments = new ExpandedNodeId(Commsvr.UA.Examples.BoilersSet.Variables.BoilersArea_BoilerDelta_Simulation_ProgramDiagnostics_LastMethodInputArguments, Commsvr.UA.Examples.BoilersSet.Namespaces.BoilersSet);\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerDelta_Simulation_ProgramDiagnostics_LastMethodOutputArguments Variable.\n        /// </summary>\n        public static readonly ExpandedNodeId BoilersArea_BoilerDelta_Simulation_ProgramDiagnostics_LastMethodOutputArguments = new ExpandedNodeId(Commsvr.UA.Examples.BoilersSet.Variables.BoilersArea_BoilerDelta_Simulation_ProgramDiagnostics_LastMethodOutputArguments, Commsvr.UA.Examples.BoilersSet.Namespaces.BoilersSet);\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerDelta_Simulation_ProgramDiagnostics_LastMethodCallTime Variable.\n        /// </summary>\n        public static readonly ExpandedNodeId BoilersArea_BoilerDelta_Simulation_ProgramDiagnostics_LastMethodCallTime = new ExpandedNodeId(Commsvr.UA.Examples.BoilersSet.Variables.BoilersArea_BoilerDelta_Simulation_ProgramDiagnostics_LastMethodCallTime, Commsvr.UA.Examples.BoilersSet.Namespaces.BoilersSet);\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerDelta_Simulation_ProgramDiagnostics_LastMethodReturnStatus Variable.\n        /// </summary>\n        public static readonly ExpandedNodeId BoilersArea_BoilerDelta_Simulation_ProgramDiagnostics_LastMethodReturnStatus = new ExpandedNodeId(Commsvr.UA.Examples.BoilersSet.Variables.BoilersArea_BoilerDelta_Simulation_ProgramDiagnostics_LastMethodReturnStatus, Commsvr.UA.Examples.BoilersSet.Namespaces.BoilersSet);\n\n        /// <summary>\n        /// The identifier for the BoilersArea_BoilerDelta_Simulation_UpdateRate Variable.\n        /// </summary>\n        public static readonly ExpandedNodeId BoilersArea_BoilerDelta_Simulation_UpdateRate = new ExpandedNodeId(Commsvr.UA.Examples.BoilersSet.Variables.BoilersArea_BoilerDelta_Simulation_UpdateRate, Commsvr.UA.Examples.BoilersSet.Namespaces.BoilersSet);\n    }\n    #endregion\n\n    #region BrowseName Declarations\n    /// <summary>\n    /// Declares all of the BrowseNames used in the Model Design.\n    /// </summary>\n    public static partial class BrowseNames\n    {\n        /// <summary>\n        /// The BrowseName for the BoilerAlpha component.\n        /// </summary>\n        public const string BoilerAlpha = \"Boiler #1\";\n\n        /// <summary>\n        /// The BrowseName for the BoilerBravo component.\n        /// </summary>\n        public const string BoilerBravo = \"Boiler #2\";\n\n        /// <summary>\n        /// The BrowseName for the BoilerCharlie component.\n        /// </summary>\n        public const string BoilerCharlie = \"Boiler #3\";\n\n        /// <summary>\n        /// The BrowseName for the BoilerDelta component.\n        /// </summary>\n        public const string BoilerDelta = \"Boiler #4\";\n\n        /// <summary>\n        /// The BrowseName for the BoilersArea component.\n        /// </summary>\n        public const string BoilersArea = \"BoilersArea\";\n\n        /// <summary>\n        /// The BrowseName for the Drums component.\n        /// </summary>\n        public const string Drums = \"Drums\";\n\n        /// <summary>\n        /// The BrowseName for the Pipes component.\n        /// </summary>\n        public const string Pipes = \"Pipes\";\n    }\n    #endregion\n\n    #region Namespace Declarations\n    /// <summary>\n    /// Defines constants for all namespaces referenced by the model design.\n    /// </summary>\n    public static partial class Namespaces\n    {\n        /// <summary>\n        /// The URI for the OpcUa namespace (.NET code namespace is 'Opc.Ua').\n        /// </summary>\n        public const string OpcUa = \"http://opcfoundation.org/UA/\";\n\n        /// <summary>\n        /// The URI for the OpcUaXsd namespace (.NET code namespace is 'Opc.Ua').\n        /// </summary>\n        public const string OpcUaXsd = \"http://opcfoundation.org/UA/2008/02/Types.xsd\";\n\n        /// <summary>\n        /// The URI for the BoilerType namespace (.NET code namespace is 'tempuri.org.UA.Examples.BoilerType').\n        /// </summary>\n        public const string BoilerType = \"http://tempuri.org/UA/Examples/BoilerType\";\n\n        /// <summary>\n        /// The URI for the BoilerTypeXsd namespace (.NET code namespace is 'tempuri.org.UA.Examples.BoilerType').\n        /// </summary>\n        public const string BoilerTypeXsd = \"http://tempuri.org/UA/Examples/BoilerType/Types.xsd\";\n\n        /// <summary>\n        /// The URI for the BoilersSet namespace (.NET code namespace is 'Commsvr.UA.Examples.BoilersSet').\n        /// </summary>\n        public const string BoilersSet = \"http://commsvr.com/UA/Examples/BoilersSet\";\n\n        /// <summary>\n        /// The URI for the BoilersSetXsd namespace (.NET code namespace is 'Commsvr.UA.Examples.BoilersSet').\n        /// </summary>\n        public const string BoilersSetXsd = \"http://commsvr.com/UA/Examples/BoilersSet/Types.xsd\";\n    }\n    #endregion\n\n}"
  },
  {
    "path": "Networking/Simulator.Boiler/UAInformationModel/DemoConfiguration/BoilersSet/Commsvr.UA.Examples.BoilersSet.NodeSet.xml",
    "content": "﻿<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<NodeSet xmlns:i=\"http://www.w3.org/2001/XMLSchema-instance\" xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n  <NamespaceUris>\n    <String>http://opcfoundation.org/UA/</String>\n    <String>http://commsvr.com/UA/Examples/BoilersSet</String>\n    <String>http://tempuri.org/UA/Examples/BoilerType</String>\n  </NamespaceUris>\n  <ServerUris />\n  <Nodes>\n    <Node i:type=\"ObjectNode\">\n      <NodeId>\n        <Identifier>ns=1;i=1</Identifier>\n      </NodeId>\n      <NodeClass>Object_1</NodeClass>\n      <BrowseName>\n        <NamespaceIndex>1</NamespaceIndex>\n        <Name>BoilersArea</Name>\n      </BrowseName>\n      <DisplayName>\n        <Locale></Locale>\n        <Text>BoilersArea</Text>\n      </DisplayName>\n      <Description i:nil=\"true\" />\n      <WriteMask>0</WriteMask>\n      <UserWriteMask>0</UserWriteMask>\n      <References>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=40</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>i=61</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=35</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>true</IsInverse>\n          <TargetId>\n            <Identifier>i=85</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=48</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>true</IsInverse>\n          <TargetId>\n            <Identifier>i=2253</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=48</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=81</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=47</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=81</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=47</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=160</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=47</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=239</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=47</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=318</Identifier>\n          </TargetId>\n        </ReferenceNode>\n      </References>\n      <EventNotifier>0</EventNotifier>\n    </Node>\n    <Node i:type=\"ObjectNode\">\n      <NodeId>\n        <Identifier>ns=1;i=81</Identifier>\n      </NodeId>\n      <NodeClass>Object_1</NodeClass>\n      <BrowseName>\n        <NamespaceIndex>1</NamespaceIndex>\n        <Name>Boiler #1</Name>\n      </BrowseName>\n      <DisplayName>\n        <Locale></Locale>\n        <Text>Boiler #1</Text>\n      </DisplayName>\n      <Description i:nil=\"true\" />\n      <WriteMask>0</WriteMask>\n      <UserWriteMask>0</UserWriteMask>\n      <References>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=47</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>true</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=1</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=40</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>ns=2;i=151</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=48</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>true</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=1</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=48</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=82</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=48</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=97</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=48</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=105</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=36</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=127</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=47</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=82</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=47</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=97</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=47</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=105</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=47</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=113</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=47</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=117</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=47</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=121</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=47</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=127</Identifier>\n          </TargetId>\n        </ReferenceNode>\n      </References>\n      <EventNotifier>0</EventNotifier>\n    </Node>\n    <Node i:type=\"ObjectNode\">\n      <NodeId>\n        <Identifier>ns=1;i=82</Identifier>\n      </NodeId>\n      <NodeClass>Object_1</NodeClass>\n      <BrowseName>\n        <NamespaceIndex>1</NamespaceIndex>\n        <Name>InputPipe</Name>\n      </BrowseName>\n      <DisplayName>\n        <Locale></Locale>\n        <Text>Boiler #1: Pipe1001</Text>\n      </DisplayName>\n      <Description i:nil=\"true\" />\n      <WriteMask>0</WriteMask>\n      <UserWriteMask>0</UserWriteMask>\n      <References>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=47</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>true</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=81</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=40</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>ns=2;i=120</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=48</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>true</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=81</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=48</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=83</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>ns=2;i=1</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=97</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=47</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=83</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=47</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=90</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=47</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>true</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=399</Identifier>\n          </TargetId>\n        </ReferenceNode>\n      </References>\n      <EventNotifier>1</EventNotifier>\n    </Node>\n    <Node i:type=\"ObjectNode\">\n      <NodeId>\n        <Identifier>ns=1;i=83</Identifier>\n      </NodeId>\n      <NodeClass>Object_1</NodeClass>\n      <BrowseName>\n        <NamespaceIndex>2</NamespaceIndex>\n        <Name>FTX001</Name>\n      </BrowseName>\n      <DisplayName>\n        <Locale></Locale>\n        <Text>FlowTransmitter1</Text>\n      </DisplayName>\n      <Description i:nil=\"true\" />\n      <WriteMask>0</WriteMask>\n      <UserWriteMask>0</UserWriteMask>\n      <References>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=47</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>true</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=82</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=40</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>ns=2;i=50</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=48</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>true</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=82</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=47</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=84</Identifier>\n          </TargetId>\n        </ReferenceNode>\n      </References>\n      <EventNotifier>1</EventNotifier>\n    </Node>\n    <Node i:type=\"VariableNode\">\n      <NodeId>\n        <Identifier>ns=1;i=84</Identifier>\n      </NodeId>\n      <NodeClass>Variable_2</NodeClass>\n      <BrowseName>\n        <NamespaceIndex>2</NamespaceIndex>\n        <Name>Output</Name>\n      </BrowseName>\n      <DisplayName>\n        <Locale></Locale>\n        <Text>Output</Text>\n      </DisplayName>\n      <Description i:nil=\"true\" />\n      <WriteMask>0</WriteMask>\n      <UserWriteMask>0</UserWriteMask>\n      <References>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=47</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>true</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=83</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=40</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>i=2368</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>ns=2;i=3</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=114</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>ns=2;i=3</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=123</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=46</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=88</Identifier>\n          </TargetId>\n        </ReferenceNode>\n      </References>\n      <Value>\n        <Value>\n          <Double xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">0</Double>\n        </Value>\n      </Value>\n      <DataType>\n        <Identifier>i=11</Identifier>\n      </DataType>\n      <ValueRank>-1</ValueRank>\n      <ArrayDimensions />\n      <AccessLevel>1</AccessLevel>\n      <UserAccessLevel>1</UserAccessLevel>\n      <MinimumSamplingInterval>0</MinimumSamplingInterval>\n      <Historizing>false</Historizing>\n    </Node>\n    <Node i:type=\"VariableNode\">\n      <NodeId>\n        <Identifier>ns=1;i=88</Identifier>\n      </NodeId>\n      <NodeClass>Variable_2</NodeClass>\n      <BrowseName>\n        <NamespaceIndex>0</NamespaceIndex>\n        <Name>EURange</Name>\n      </BrowseName>\n      <DisplayName>\n        <Locale></Locale>\n        <Text>EURange</Text>\n      </DisplayName>\n      <Description i:nil=\"true\" />\n      <WriteMask>0</WriteMask>\n      <UserWriteMask>0</UserWriteMask>\n      <References>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=46</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>true</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=84</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=40</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>i=68</Identifier>\n          </TargetId>\n        </ReferenceNode>\n      </References>\n      <Value>\n        <Value>\n          <Null xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\" />\n        </Value>\n      </Value>\n      <DataType>\n        <Identifier>i=884</Identifier>\n      </DataType>\n      <ValueRank>-1</ValueRank>\n      <ArrayDimensions />\n      <AccessLevel>1</AccessLevel>\n      <UserAccessLevel>1</UserAccessLevel>\n      <MinimumSamplingInterval>0</MinimumSamplingInterval>\n      <Historizing>false</Historizing>\n    </Node>\n    <Node i:type=\"ObjectNode\">\n      <NodeId>\n        <Identifier>ns=1;i=90</Identifier>\n      </NodeId>\n      <NodeClass>Object_1</NodeClass>\n      <BrowseName>\n        <NamespaceIndex>2</NamespaceIndex>\n        <Name>ValveX001</Name>\n      </BrowseName>\n      <DisplayName>\n        <Locale></Locale>\n        <Text>Valve</Text>\n      </DisplayName>\n      <Description i:nil=\"true\" />\n      <WriteMask>0</WriteMask>\n      <UserWriteMask>0</UserWriteMask>\n      <References>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=47</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>true</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=82</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=40</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>ns=2;i=28</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=47</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=91</Identifier>\n          </TargetId>\n        </ReferenceNode>\n      </References>\n      <EventNotifier>1</EventNotifier>\n    </Node>\n    <Node i:type=\"VariableNode\">\n      <NodeId>\n        <Identifier>ns=1;i=91</Identifier>\n      </NodeId>\n      <NodeClass>Variable_2</NodeClass>\n      <BrowseName>\n        <NamespaceIndex>2</NamespaceIndex>\n        <Name>Input</Name>\n      </BrowseName>\n      <DisplayName>\n        <Locale></Locale>\n        <Text>Input</Text>\n      </DisplayName>\n      <Description i:nil=\"true\" />\n      <WriteMask>0</WriteMask>\n      <UserWriteMask>0</UserWriteMask>\n      <References>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=47</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>true</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=90</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=40</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>i=2368</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>ns=2;i=3</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>true</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=116</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=46</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=95</Identifier>\n          </TargetId>\n        </ReferenceNode>\n      </References>\n      <Value>\n        <Value>\n          <Double xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">0</Double>\n        </Value>\n      </Value>\n      <DataType>\n        <Identifier>i=11</Identifier>\n      </DataType>\n      <ValueRank>-1</ValueRank>\n      <ArrayDimensions />\n      <AccessLevel>2</AccessLevel>\n      <UserAccessLevel>2</UserAccessLevel>\n      <MinimumSamplingInterval>0</MinimumSamplingInterval>\n      <Historizing>false</Historizing>\n    </Node>\n    <Node i:type=\"VariableNode\">\n      <NodeId>\n        <Identifier>ns=1;i=95</Identifier>\n      </NodeId>\n      <NodeClass>Variable_2</NodeClass>\n      <BrowseName>\n        <NamespaceIndex>0</NamespaceIndex>\n        <Name>EURange</Name>\n      </BrowseName>\n      <DisplayName>\n        <Locale></Locale>\n        <Text>EURange</Text>\n      </DisplayName>\n      <Description i:nil=\"true\" />\n      <WriteMask>0</WriteMask>\n      <UserWriteMask>0</UserWriteMask>\n      <References>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=46</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>true</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=91</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=40</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>i=68</Identifier>\n          </TargetId>\n        </ReferenceNode>\n      </References>\n      <Value>\n        <Value>\n          <Null xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\" />\n        </Value>\n      </Value>\n      <DataType>\n        <Identifier>i=884</Identifier>\n      </DataType>\n      <ValueRank>-1</ValueRank>\n      <ArrayDimensions />\n      <AccessLevel>1</AccessLevel>\n      <UserAccessLevel>1</UserAccessLevel>\n      <MinimumSamplingInterval>0</MinimumSamplingInterval>\n      <Historizing>false</Historizing>\n    </Node>\n    <Node i:type=\"ObjectNode\">\n      <NodeId>\n        <Identifier>ns=1;i=97</Identifier>\n      </NodeId>\n      <NodeClass>Object_1</NodeClass>\n      <BrowseName>\n        <NamespaceIndex>1</NamespaceIndex>\n        <Name>Drum</Name>\n      </BrowseName>\n      <DisplayName>\n        <Locale></Locale>\n        <Text>Boiler #1: Drum1001</Text>\n      </DisplayName>\n      <Description i:nil=\"true\" />\n      <WriteMask>0</WriteMask>\n      <UserWriteMask>0</UserWriteMask>\n      <References>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=47</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>true</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=81</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=40</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>ns=2;i=135</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=48</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>true</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=81</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>ns=2;i=1</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>true</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=82</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=48</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=98</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>ns=2;i=2</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=105</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=47</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=98</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=47</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>true</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=398</Identifier>\n          </TargetId>\n        </ReferenceNode>\n      </References>\n      <EventNotifier>1</EventNotifier>\n    </Node>\n    <Node i:type=\"ObjectNode\">\n      <NodeId>\n        <Identifier>ns=1;i=98</Identifier>\n      </NodeId>\n      <NodeClass>Object_1</NodeClass>\n      <BrowseName>\n        <NamespaceIndex>2</NamespaceIndex>\n        <Name>LIX001</Name>\n      </BrowseName>\n      <DisplayName>\n        <Locale></Locale>\n        <Text>LIX001</Text>\n      </DisplayName>\n      <Description i:nil=\"true\" />\n      <WriteMask>0</WriteMask>\n      <UserWriteMask>0</UserWriteMask>\n      <References>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=47</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>true</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=97</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=40</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>ns=2;i=43</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=48</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>true</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=97</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=47</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=99</Identifier>\n          </TargetId>\n        </ReferenceNode>\n      </References>\n      <EventNotifier>1</EventNotifier>\n    </Node>\n    <Node i:type=\"VariableNode\">\n      <NodeId>\n        <Identifier>ns=1;i=99</Identifier>\n      </NodeId>\n      <NodeClass>Variable_2</NodeClass>\n      <BrowseName>\n        <NamespaceIndex>2</NamespaceIndex>\n        <Name>Output</Name>\n      </BrowseName>\n      <DisplayName>\n        <Locale></Locale>\n        <Text>Output</Text>\n      </DisplayName>\n      <Description i:nil=\"true\" />\n      <WriteMask>0</WriteMask>\n      <UserWriteMask>0</UserWriteMask>\n      <References>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=47</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>true</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=98</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=40</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>i=2368</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>ns=2;i=3</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=118</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=46</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=103</Identifier>\n          </TargetId>\n        </ReferenceNode>\n      </References>\n      <Value>\n        <Value>\n          <Double xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">0</Double>\n        </Value>\n      </Value>\n      <DataType>\n        <Identifier>i=26</Identifier>\n      </DataType>\n      <ValueRank>-1</ValueRank>\n      <ArrayDimensions />\n      <AccessLevel>1</AccessLevel>\n      <UserAccessLevel>1</UserAccessLevel>\n      <MinimumSamplingInterval>0</MinimumSamplingInterval>\n      <Historizing>false</Historizing>\n    </Node>\n    <Node i:type=\"VariableNode\">\n      <NodeId>\n        <Identifier>ns=1;i=103</Identifier>\n      </NodeId>\n      <NodeClass>Variable_2</NodeClass>\n      <BrowseName>\n        <NamespaceIndex>0</NamespaceIndex>\n        <Name>EURange</Name>\n      </BrowseName>\n      <DisplayName>\n        <Locale></Locale>\n        <Text>EURange</Text>\n      </DisplayName>\n      <Description i:nil=\"true\" />\n      <WriteMask>0</WriteMask>\n      <UserWriteMask>0</UserWriteMask>\n      <References>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=46</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>true</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=99</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=40</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>i=68</Identifier>\n          </TargetId>\n        </ReferenceNode>\n      </References>\n      <Value>\n        <Value>\n          <Null xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\" />\n        </Value>\n      </Value>\n      <DataType>\n        <Identifier>i=884</Identifier>\n      </DataType>\n      <ValueRank>-1</ValueRank>\n      <ArrayDimensions />\n      <AccessLevel>1</AccessLevel>\n      <UserAccessLevel>1</UserAccessLevel>\n      <MinimumSamplingInterval>0</MinimumSamplingInterval>\n      <Historizing>false</Historizing>\n    </Node>\n    <Node i:type=\"ObjectNode\">\n      <NodeId>\n        <Identifier>ns=1;i=105</Identifier>\n      </NodeId>\n      <NodeClass>Object_1</NodeClass>\n      <BrowseName>\n        <NamespaceIndex>1</NamespaceIndex>\n        <Name>OutputPipe</Name>\n      </BrowseName>\n      <DisplayName>\n        <Locale></Locale>\n        <Text>Boiler #1: Pipe1002</Text>\n      </DisplayName>\n      <Description i:nil=\"true\" />\n      <WriteMask>0</WriteMask>\n      <UserWriteMask>0</UserWriteMask>\n      <References>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=47</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>true</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=81</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=40</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>ns=2;i=143</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=48</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>true</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=81</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>ns=2;i=2</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>true</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=97</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=48</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=106</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=47</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=106</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=47</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>true</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=399</Identifier>\n          </TargetId>\n        </ReferenceNode>\n      </References>\n      <EventNotifier>1</EventNotifier>\n    </Node>\n    <Node i:type=\"ObjectNode\">\n      <NodeId>\n        <Identifier>ns=1;i=106</Identifier>\n      </NodeId>\n      <NodeClass>Object_1</NodeClass>\n      <BrowseName>\n        <NamespaceIndex>2</NamespaceIndex>\n        <Name>FTX002</Name>\n      </BrowseName>\n      <DisplayName>\n        <Locale></Locale>\n        <Text>FTX002</Text>\n      </DisplayName>\n      <Description i:nil=\"true\" />\n      <WriteMask>0</WriteMask>\n      <UserWriteMask>0</UserWriteMask>\n      <References>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=47</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>true</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=105</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=40</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>ns=2;i=50</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=48</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>true</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=105</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=47</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=107</Identifier>\n          </TargetId>\n        </ReferenceNode>\n      </References>\n      <EventNotifier>1</EventNotifier>\n    </Node>\n    <Node i:type=\"VariableNode\">\n      <NodeId>\n        <Identifier>ns=1;i=107</Identifier>\n      </NodeId>\n      <NodeClass>Variable_2</NodeClass>\n      <BrowseName>\n        <NamespaceIndex>2</NamespaceIndex>\n        <Name>Output</Name>\n      </BrowseName>\n      <DisplayName>\n        <Locale></Locale>\n        <Text>Output</Text>\n      </DisplayName>\n      <Description i:nil=\"true\" />\n      <WriteMask>0</WriteMask>\n      <UserWriteMask>0</UserWriteMask>\n      <References>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=47</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>true</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=106</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=40</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>i=2368</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>ns=2;i=3</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=124</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=46</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=111</Identifier>\n          </TargetId>\n        </ReferenceNode>\n      </References>\n      <Value>\n        <Value>\n          <Double xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">0</Double>\n        </Value>\n      </Value>\n      <DataType>\n        <Identifier>i=11</Identifier>\n      </DataType>\n      <ValueRank>-1</ValueRank>\n      <ArrayDimensions />\n      <AccessLevel>1</AccessLevel>\n      <UserAccessLevel>1</UserAccessLevel>\n      <MinimumSamplingInterval>0</MinimumSamplingInterval>\n      <Historizing>false</Historizing>\n    </Node>\n    <Node i:type=\"VariableNode\">\n      <NodeId>\n        <Identifier>ns=1;i=111</Identifier>\n      </NodeId>\n      <NodeClass>Variable_2</NodeClass>\n      <BrowseName>\n        <NamespaceIndex>0</NamespaceIndex>\n        <Name>EURange</Name>\n      </BrowseName>\n      <DisplayName>\n        <Locale></Locale>\n        <Text>EURange</Text>\n      </DisplayName>\n      <Description i:nil=\"true\" />\n      <WriteMask>0</WriteMask>\n      <UserWriteMask>0</UserWriteMask>\n      <References>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=46</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>true</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=107</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=40</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>i=68</Identifier>\n          </TargetId>\n        </ReferenceNode>\n      </References>\n      <Value>\n        <Value>\n          <Null xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\" />\n        </Value>\n      </Value>\n      <DataType>\n        <Identifier>i=884</Identifier>\n      </DataType>\n      <ValueRank>-1</ValueRank>\n      <ArrayDimensions />\n      <AccessLevel>1</AccessLevel>\n      <UserAccessLevel>1</UserAccessLevel>\n      <MinimumSamplingInterval>0</MinimumSamplingInterval>\n      <Historizing>false</Historizing>\n    </Node>\n    <Node i:type=\"ObjectNode\">\n      <NodeId>\n        <Identifier>ns=1;i=113</Identifier>\n      </NodeId>\n      <NodeClass>Object_1</NodeClass>\n      <BrowseName>\n        <NamespaceIndex>1</NamespaceIndex>\n        <Name>FlowController</Name>\n      </BrowseName>\n      <DisplayName>\n        <Locale></Locale>\n        <Text>Boiler #1: FC1001</Text>\n      </DisplayName>\n      <Description i:nil=\"true\" />\n      <WriteMask>0</WriteMask>\n      <UserWriteMask>0</UserWriteMask>\n      <References>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=47</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>true</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=81</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=40</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>ns=2;i=39</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=46</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=114</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=46</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=115</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=46</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=116</Identifier>\n          </TargetId>\n        </ReferenceNode>\n      </References>\n      <EventNotifier>0</EventNotifier>\n    </Node>\n    <Node i:type=\"VariableNode\">\n      <NodeId>\n        <Identifier>ns=1;i=114</Identifier>\n      </NodeId>\n      <NodeClass>Variable_2</NodeClass>\n      <BrowseName>\n        <NamespaceIndex>2</NamespaceIndex>\n        <Name>Measurement</Name>\n      </BrowseName>\n      <DisplayName>\n        <Locale></Locale>\n        <Text>Measurement</Text>\n      </DisplayName>\n      <Description i:nil=\"true\" />\n      <WriteMask>0</WriteMask>\n      <UserWriteMask>0</UserWriteMask>\n      <References>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=46</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>true</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=113</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=40</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>i=68</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>ns=2;i=3</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>true</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=84</Identifier>\n          </TargetId>\n        </ReferenceNode>\n      </References>\n      <Value>\n        <Value>\n          <Double xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">0</Double>\n        </Value>\n      </Value>\n      <DataType>\n        <Identifier>i=11</Identifier>\n      </DataType>\n      <ValueRank>-1</ValueRank>\n      <ArrayDimensions />\n      <AccessLevel>1</AccessLevel>\n      <UserAccessLevel>1</UserAccessLevel>\n      <MinimumSamplingInterval>0</MinimumSamplingInterval>\n      <Historizing>false</Historizing>\n    </Node>\n    <Node i:type=\"VariableNode\">\n      <NodeId>\n        <Identifier>ns=1;i=115</Identifier>\n      </NodeId>\n      <NodeClass>Variable_2</NodeClass>\n      <BrowseName>\n        <NamespaceIndex>2</NamespaceIndex>\n        <Name>SetPoint</Name>\n      </BrowseName>\n      <DisplayName>\n        <Locale></Locale>\n        <Text>SetPoint</Text>\n      </DisplayName>\n      <Description i:nil=\"true\" />\n      <WriteMask>0</WriteMask>\n      <UserWriteMask>0</UserWriteMask>\n      <References>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=46</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>true</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=113</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=40</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>i=68</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>ns=2;i=3</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>true</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=125</Identifier>\n          </TargetId>\n        </ReferenceNode>\n      </References>\n      <Value>\n        <Value>\n          <Double xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">0</Double>\n        </Value>\n      </Value>\n      <DataType>\n        <Identifier>i=11</Identifier>\n      </DataType>\n      <ValueRank>-1</ValueRank>\n      <ArrayDimensions />\n      <AccessLevel>3</AccessLevel>\n      <UserAccessLevel>3</UserAccessLevel>\n      <MinimumSamplingInterval>0</MinimumSamplingInterval>\n      <Historizing>false</Historizing>\n    </Node>\n    <Node i:type=\"VariableNode\">\n      <NodeId>\n        <Identifier>ns=1;i=116</Identifier>\n      </NodeId>\n      <NodeClass>Variable_2</NodeClass>\n      <BrowseName>\n        <NamespaceIndex>2</NamespaceIndex>\n        <Name>ControlOut</Name>\n      </BrowseName>\n      <DisplayName>\n        <Locale></Locale>\n        <Text>ControlOut</Text>\n      </DisplayName>\n      <Description i:nil=\"true\" />\n      <WriteMask>0</WriteMask>\n      <UserWriteMask>0</UserWriteMask>\n      <References>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=46</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>true</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=113</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=40</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>i=68</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>ns=2;i=3</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=91</Identifier>\n          </TargetId>\n        </ReferenceNode>\n      </References>\n      <Value>\n        <Value>\n          <Double xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">0</Double>\n        </Value>\n      </Value>\n      <DataType>\n        <Identifier>i=11</Identifier>\n      </DataType>\n      <ValueRank>-1</ValueRank>\n      <ArrayDimensions />\n      <AccessLevel>1</AccessLevel>\n      <UserAccessLevel>1</UserAccessLevel>\n      <MinimumSamplingInterval>0</MinimumSamplingInterval>\n      <Historizing>false</Historizing>\n    </Node>\n    <Node i:type=\"ObjectNode\">\n      <NodeId>\n        <Identifier>ns=1;i=117</Identifier>\n      </NodeId>\n      <NodeClass>Object_1</NodeClass>\n      <BrowseName>\n        <NamespaceIndex>1</NamespaceIndex>\n        <Name>LevelController</Name>\n      </BrowseName>\n      <DisplayName>\n        <Locale></Locale>\n        <Text>Boiler #1: LC1001</Text>\n      </DisplayName>\n      <Description i:nil=\"true\" />\n      <WriteMask>0</WriteMask>\n      <UserWriteMask>0</UserWriteMask>\n      <References>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=47</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>true</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=81</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=40</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>ns=2;i=35</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=46</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=118</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=46</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=119</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=46</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=120</Identifier>\n          </TargetId>\n        </ReferenceNode>\n      </References>\n      <EventNotifier>0</EventNotifier>\n    </Node>\n    <Node i:type=\"VariableNode\">\n      <NodeId>\n        <Identifier>ns=1;i=118</Identifier>\n      </NodeId>\n      <NodeClass>Variable_2</NodeClass>\n      <BrowseName>\n        <NamespaceIndex>2</NamespaceIndex>\n        <Name>Measurement</Name>\n      </BrowseName>\n      <DisplayName>\n        <Locale></Locale>\n        <Text>Measurement</Text>\n      </DisplayName>\n      <Description i:nil=\"true\" />\n      <WriteMask>0</WriteMask>\n      <UserWriteMask>0</UserWriteMask>\n      <References>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=46</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>true</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=117</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=40</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>i=68</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>ns=2;i=3</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>true</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=99</Identifier>\n          </TargetId>\n        </ReferenceNode>\n      </References>\n      <Value>\n        <Value>\n          <Double xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">0</Double>\n        </Value>\n      </Value>\n      <DataType>\n        <Identifier>i=11</Identifier>\n      </DataType>\n      <ValueRank>-1</ValueRank>\n      <ArrayDimensions />\n      <AccessLevel>1</AccessLevel>\n      <UserAccessLevel>1</UserAccessLevel>\n      <MinimumSamplingInterval>0</MinimumSamplingInterval>\n      <Historizing>false</Historizing>\n    </Node>\n    <Node i:type=\"VariableNode\">\n      <NodeId>\n        <Identifier>ns=1;i=119</Identifier>\n      </NodeId>\n      <NodeClass>Variable_2</NodeClass>\n      <BrowseName>\n        <NamespaceIndex>2</NamespaceIndex>\n        <Name>SetPoint</Name>\n      </BrowseName>\n      <DisplayName>\n        <Locale></Locale>\n        <Text>SetPoint</Text>\n      </DisplayName>\n      <Description i:nil=\"true\" />\n      <WriteMask>0</WriteMask>\n      <UserWriteMask>0</UserWriteMask>\n      <References>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=46</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>true</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=117</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=40</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>i=68</Identifier>\n          </TargetId>\n        </ReferenceNode>\n      </References>\n      <Value>\n        <Value>\n          <Double xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">0</Double>\n        </Value>\n      </Value>\n      <DataType>\n        <Identifier>i=11</Identifier>\n      </DataType>\n      <ValueRank>-1</ValueRank>\n      <ArrayDimensions />\n      <AccessLevel>3</AccessLevel>\n      <UserAccessLevel>3</UserAccessLevel>\n      <MinimumSamplingInterval>0</MinimumSamplingInterval>\n      <Historizing>false</Historizing>\n    </Node>\n    <Node i:type=\"VariableNode\">\n      <NodeId>\n        <Identifier>ns=1;i=120</Identifier>\n      </NodeId>\n      <NodeClass>Variable_2</NodeClass>\n      <BrowseName>\n        <NamespaceIndex>2</NamespaceIndex>\n        <Name>ControlOut</Name>\n      </BrowseName>\n      <DisplayName>\n        <Locale></Locale>\n        <Text>ControlOut</Text>\n      </DisplayName>\n      <Description i:nil=\"true\" />\n      <WriteMask>0</WriteMask>\n      <UserWriteMask>0</UserWriteMask>\n      <References>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=46</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>true</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=117</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=40</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>i=68</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>ns=2;i=3</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=122</Identifier>\n          </TargetId>\n        </ReferenceNode>\n      </References>\n      <Value>\n        <Value>\n          <Double xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">0</Double>\n        </Value>\n      </Value>\n      <DataType>\n        <Identifier>i=11</Identifier>\n      </DataType>\n      <ValueRank>-1</ValueRank>\n      <ArrayDimensions />\n      <AccessLevel>1</AccessLevel>\n      <UserAccessLevel>1</UserAccessLevel>\n      <MinimumSamplingInterval>0</MinimumSamplingInterval>\n      <Historizing>false</Historizing>\n    </Node>\n    <Node i:type=\"ObjectNode\">\n      <NodeId>\n        <Identifier>ns=1;i=121</Identifier>\n      </NodeId>\n      <NodeClass>Object_1</NodeClass>\n      <BrowseName>\n        <NamespaceIndex>1</NamespaceIndex>\n        <Name>CustomController</Name>\n      </BrowseName>\n      <DisplayName>\n        <Locale></Locale>\n        <Text>Boiler #1: CC1001</Text>\n      </DisplayName>\n      <Description i:nil=\"true\" />\n      <WriteMask>0</WriteMask>\n      <UserWriteMask>0</UserWriteMask>\n      <References>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=47</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>true</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=81</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=40</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>ns=2;i=22</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=46</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=122</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=46</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=123</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=46</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=124</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=46</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=125</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=46</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=126</Identifier>\n          </TargetId>\n        </ReferenceNode>\n      </References>\n      <EventNotifier>0</EventNotifier>\n    </Node>\n    <Node i:type=\"VariableNode\">\n      <NodeId>\n        <Identifier>ns=1;i=122</Identifier>\n      </NodeId>\n      <NodeClass>Variable_2</NodeClass>\n      <BrowseName>\n        <NamespaceIndex>2</NamespaceIndex>\n        <Name>Input1</Name>\n      </BrowseName>\n      <DisplayName>\n        <Locale></Locale>\n        <Text>Input1</Text>\n      </DisplayName>\n      <Description i:nil=\"true\" />\n      <WriteMask>0</WriteMask>\n      <UserWriteMask>0</UserWriteMask>\n      <References>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=46</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>true</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=121</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=40</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>i=68</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>ns=2;i=3</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>true</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=120</Identifier>\n          </TargetId>\n        </ReferenceNode>\n      </References>\n      <Value>\n        <Value>\n          <Double xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">0</Double>\n        </Value>\n      </Value>\n      <DataType>\n        <Identifier>i=11</Identifier>\n      </DataType>\n      <ValueRank>-1</ValueRank>\n      <ArrayDimensions />\n      <AccessLevel>2</AccessLevel>\n      <UserAccessLevel>2</UserAccessLevel>\n      <MinimumSamplingInterval>0</MinimumSamplingInterval>\n      <Historizing>false</Historizing>\n    </Node>\n    <Node i:type=\"VariableNode\">\n      <NodeId>\n        <Identifier>ns=1;i=123</Identifier>\n      </NodeId>\n      <NodeClass>Variable_2</NodeClass>\n      <BrowseName>\n        <NamespaceIndex>2</NamespaceIndex>\n        <Name>Input2</Name>\n      </BrowseName>\n      <DisplayName>\n        <Locale></Locale>\n        <Text>Input2</Text>\n      </DisplayName>\n      <Description i:nil=\"true\" />\n      <WriteMask>0</WriteMask>\n      <UserWriteMask>0</UserWriteMask>\n      <References>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=46</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>true</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=121</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=40</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>i=68</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>ns=2;i=3</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>true</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=84</Identifier>\n          </TargetId>\n        </ReferenceNode>\n      </References>\n      <Value>\n        <Value>\n          <Double xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">0</Double>\n        </Value>\n      </Value>\n      <DataType>\n        <Identifier>i=11</Identifier>\n      </DataType>\n      <ValueRank>-1</ValueRank>\n      <ArrayDimensions />\n      <AccessLevel>2</AccessLevel>\n      <UserAccessLevel>2</UserAccessLevel>\n      <MinimumSamplingInterval>0</MinimumSamplingInterval>\n      <Historizing>false</Historizing>\n    </Node>\n    <Node i:type=\"VariableNode\">\n      <NodeId>\n        <Identifier>ns=1;i=124</Identifier>\n      </NodeId>\n      <NodeClass>Variable_2</NodeClass>\n      <BrowseName>\n        <NamespaceIndex>2</NamespaceIndex>\n        <Name>Input3</Name>\n      </BrowseName>\n      <DisplayName>\n        <Locale></Locale>\n        <Text>Input3</Text>\n      </DisplayName>\n      <Description i:nil=\"true\" />\n      <WriteMask>0</WriteMask>\n      <UserWriteMask>0</UserWriteMask>\n      <References>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=46</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>true</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=121</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=40</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>i=68</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>ns=2;i=3</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>true</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=107</Identifier>\n          </TargetId>\n        </ReferenceNode>\n      </References>\n      <Value>\n        <Value>\n          <Double xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">0</Double>\n        </Value>\n      </Value>\n      <DataType>\n        <Identifier>i=11</Identifier>\n      </DataType>\n      <ValueRank>-1</ValueRank>\n      <ArrayDimensions />\n      <AccessLevel>2</AccessLevel>\n      <UserAccessLevel>2</UserAccessLevel>\n      <MinimumSamplingInterval>0</MinimumSamplingInterval>\n      <Historizing>false</Historizing>\n    </Node>\n    <Node i:type=\"VariableNode\">\n      <NodeId>\n        <Identifier>ns=1;i=125</Identifier>\n      </NodeId>\n      <NodeClass>Variable_2</NodeClass>\n      <BrowseName>\n        <NamespaceIndex>2</NamespaceIndex>\n        <Name>ControlOut</Name>\n      </BrowseName>\n      <DisplayName>\n        <Locale></Locale>\n        <Text>ControlOut</Text>\n      </DisplayName>\n      <Description i:nil=\"true\" />\n      <WriteMask>0</WriteMask>\n      <UserWriteMask>0</UserWriteMask>\n      <References>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=46</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>true</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=121</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=40</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>i=68</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>ns=2;i=3</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=115</Identifier>\n          </TargetId>\n        </ReferenceNode>\n      </References>\n      <Value>\n        <Value>\n          <Double xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">0</Double>\n        </Value>\n      </Value>\n      <DataType>\n        <Identifier>i=11</Identifier>\n      </DataType>\n      <ValueRank>-1</ValueRank>\n      <ArrayDimensions />\n      <AccessLevel>1</AccessLevel>\n      <UserAccessLevel>1</UserAccessLevel>\n      <MinimumSamplingInterval>0</MinimumSamplingInterval>\n      <Historizing>false</Historizing>\n    </Node>\n    <Node i:type=\"VariableNode\">\n      <NodeId>\n        <Identifier>ns=1;i=126</Identifier>\n      </NodeId>\n      <NodeClass>Variable_2</NodeClass>\n      <BrowseName>\n        <NamespaceIndex>2</NamespaceIndex>\n        <Name>Description</Name>\n      </BrowseName>\n      <DisplayName>\n        <Locale></Locale>\n        <Text>Description</Text>\n      </DisplayName>\n      <Description i:nil=\"true\" />\n      <WriteMask>0</WriteMask>\n      <UserWriteMask>0</UserWriteMask>\n      <References>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=46</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>true</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=121</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=40</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>i=68</Identifier>\n          </TargetId>\n        </ReferenceNode>\n      </References>\n      <Value>\n        <Value>\n          <LocalizedText xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n            <Locale p2:nil=\"true\" xmlns:p2=\"http://www.w3.org/2001/XMLSchema-instance\" />\n            <Text p2:nil=\"true\" xmlns:p2=\"http://www.w3.org/2001/XMLSchema-instance\" />\n          </LocalizedText>\n        </Value>\n      </Value>\n      <DataType>\n        <Identifier>i=21</Identifier>\n      </DataType>\n      <ValueRank>-1</ValueRank>\n      <ArrayDimensions />\n      <AccessLevel>1</AccessLevel>\n      <UserAccessLevel>1</UserAccessLevel>\n      <MinimumSamplingInterval>0</MinimumSamplingInterval>\n      <Historizing>false</Historizing>\n    </Node>\n    <Node i:type=\"ObjectNode\">\n      <NodeId>\n        <Identifier>ns=1;i=127</Identifier>\n      </NodeId>\n      <NodeClass>Object_1</NodeClass>\n      <BrowseName>\n        <NamespaceIndex>2</NamespaceIndex>\n        <Name>Simulation</Name>\n      </BrowseName>\n      <DisplayName>\n        <Locale></Locale>\n        <Text>Simulation</Text>\n      </DisplayName>\n      <Description i:nil=\"true\" />\n      <WriteMask>0</WriteMask>\n      <UserWriteMask>0</UserWriteMask>\n      <References>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=47</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>true</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=81</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=40</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>ns=2;i=57</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=36</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>true</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=81</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=47</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=128</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=47</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=133</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=46</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=139</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=46</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=141</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=47</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=154</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=47</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=155</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=47</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=156</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=47</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=157</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=47</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=158</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=46</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=159</Identifier>\n          </TargetId>\n        </ReferenceNode>\n      </References>\n      <EventNotifier>1</EventNotifier>\n    </Node>\n    <Node i:type=\"VariableNode\">\n      <NodeId>\n        <Identifier>ns=1;i=128</Identifier>\n      </NodeId>\n      <NodeClass>Variable_2</NodeClass>\n      <BrowseName>\n        <NamespaceIndex>0</NamespaceIndex>\n        <Name>CurrentState</Name>\n      </BrowseName>\n      <DisplayName>\n        <Locale></Locale>\n        <Text>CurrentState</Text>\n      </DisplayName>\n      <Description i:nil=\"true\" />\n      <WriteMask>0</WriteMask>\n      <UserWriteMask>0</UserWriteMask>\n      <References>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=47</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>true</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=127</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=40</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>i=2760</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=46</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=129</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=46</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=131</Identifier>\n          </TargetId>\n        </ReferenceNode>\n      </References>\n      <Value>\n        <Value>\n          <LocalizedText xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n            <Locale p2:nil=\"true\" xmlns:p2=\"http://www.w3.org/2001/XMLSchema-instance\" />\n            <Text p2:nil=\"true\" xmlns:p2=\"http://www.w3.org/2001/XMLSchema-instance\" />\n          </LocalizedText>\n        </Value>\n      </Value>\n      <DataType>\n        <Identifier>i=21</Identifier>\n      </DataType>\n      <ValueRank>-1</ValueRank>\n      <ArrayDimensions />\n      <AccessLevel>1</AccessLevel>\n      <UserAccessLevel>1</UserAccessLevel>\n      <MinimumSamplingInterval>0</MinimumSamplingInterval>\n      <Historizing>false</Historizing>\n    </Node>\n    <Node i:type=\"VariableNode\">\n      <NodeId>\n        <Identifier>ns=1;i=129</Identifier>\n      </NodeId>\n      <NodeClass>Variable_2</NodeClass>\n      <BrowseName>\n        <NamespaceIndex>0</NamespaceIndex>\n        <Name>Id</Name>\n      </BrowseName>\n      <DisplayName>\n        <Locale></Locale>\n        <Text>Id</Text>\n      </DisplayName>\n      <Description i:nil=\"true\" />\n      <WriteMask>0</WriteMask>\n      <UserWriteMask>0</UserWriteMask>\n      <References>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=46</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>true</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=128</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=40</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>i=68</Identifier>\n          </TargetId>\n        </ReferenceNode>\n      </References>\n      <Value>\n        <Value>\n          <NodeId xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n            <Identifier>i=0</Identifier>\n          </NodeId>\n        </Value>\n      </Value>\n      <DataType>\n        <Identifier>i=17</Identifier>\n      </DataType>\n      <ValueRank>-1</ValueRank>\n      <ArrayDimensions />\n      <AccessLevel>1</AccessLevel>\n      <UserAccessLevel>1</UserAccessLevel>\n      <MinimumSamplingInterval>0</MinimumSamplingInterval>\n      <Historizing>false</Historizing>\n    </Node>\n    <Node i:type=\"VariableNode\">\n      <NodeId>\n        <Identifier>ns=1;i=131</Identifier>\n      </NodeId>\n      <NodeClass>Variable_2</NodeClass>\n      <BrowseName>\n        <NamespaceIndex>0</NamespaceIndex>\n        <Name>Number</Name>\n      </BrowseName>\n      <DisplayName>\n        <Locale></Locale>\n        <Text>Number</Text>\n      </DisplayName>\n      <Description i:nil=\"true\" />\n      <WriteMask>0</WriteMask>\n      <UserWriteMask>0</UserWriteMask>\n      <References>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=46</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>true</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=128</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=40</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>i=68</Identifier>\n          </TargetId>\n        </ReferenceNode>\n      </References>\n      <Value>\n        <Value>\n          <UInt32 xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">0</UInt32>\n        </Value>\n      </Value>\n      <DataType>\n        <Identifier>i=7</Identifier>\n      </DataType>\n      <ValueRank>-1</ValueRank>\n      <ArrayDimensions />\n      <AccessLevel>1</AccessLevel>\n      <UserAccessLevel>1</UserAccessLevel>\n      <MinimumSamplingInterval>0</MinimumSamplingInterval>\n      <Historizing>false</Historizing>\n    </Node>\n    <Node i:type=\"VariableNode\">\n      <NodeId>\n        <Identifier>ns=1;i=133</Identifier>\n      </NodeId>\n      <NodeClass>Variable_2</NodeClass>\n      <BrowseName>\n        <NamespaceIndex>0</NamespaceIndex>\n        <Name>LastTransition</Name>\n      </BrowseName>\n      <DisplayName>\n        <Locale></Locale>\n        <Text>LastTransition</Text>\n      </DisplayName>\n      <Description i:nil=\"true\" />\n      <WriteMask>0</WriteMask>\n      <UserWriteMask>0</UserWriteMask>\n      <References>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=47</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>true</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=127</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=40</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>i=2767</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=46</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=134</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=46</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=136</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=46</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=137</Identifier>\n          </TargetId>\n        </ReferenceNode>\n      </References>\n      <Value>\n        <Value>\n          <LocalizedText xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n            <Locale p2:nil=\"true\" xmlns:p2=\"http://www.w3.org/2001/XMLSchema-instance\" />\n            <Text p2:nil=\"true\" xmlns:p2=\"http://www.w3.org/2001/XMLSchema-instance\" />\n          </LocalizedText>\n        </Value>\n      </Value>\n      <DataType>\n        <Identifier>i=21</Identifier>\n      </DataType>\n      <ValueRank>-1</ValueRank>\n      <ArrayDimensions />\n      <AccessLevel>1</AccessLevel>\n      <UserAccessLevel>1</UserAccessLevel>\n      <MinimumSamplingInterval>0</MinimumSamplingInterval>\n      <Historizing>false</Historizing>\n    </Node>\n    <Node i:type=\"VariableNode\">\n      <NodeId>\n        <Identifier>ns=1;i=134</Identifier>\n      </NodeId>\n      <NodeClass>Variable_2</NodeClass>\n      <BrowseName>\n        <NamespaceIndex>0</NamespaceIndex>\n        <Name>Id</Name>\n      </BrowseName>\n      <DisplayName>\n        <Locale></Locale>\n        <Text>Id</Text>\n      </DisplayName>\n      <Description i:nil=\"true\" />\n      <WriteMask>0</WriteMask>\n      <UserWriteMask>0</UserWriteMask>\n      <References>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=46</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>true</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=133</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=40</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>i=68</Identifier>\n          </TargetId>\n        </ReferenceNode>\n      </References>\n      <Value>\n        <Value>\n          <NodeId xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n            <Identifier>i=0</Identifier>\n          </NodeId>\n        </Value>\n      </Value>\n      <DataType>\n        <Identifier>i=17</Identifier>\n      </DataType>\n      <ValueRank>-1</ValueRank>\n      <ArrayDimensions />\n      <AccessLevel>1</AccessLevel>\n      <UserAccessLevel>1</UserAccessLevel>\n      <MinimumSamplingInterval>0</MinimumSamplingInterval>\n      <Historizing>false</Historizing>\n    </Node>\n    <Node i:type=\"VariableNode\">\n      <NodeId>\n        <Identifier>ns=1;i=136</Identifier>\n      </NodeId>\n      <NodeClass>Variable_2</NodeClass>\n      <BrowseName>\n        <NamespaceIndex>0</NamespaceIndex>\n        <Name>Number</Name>\n      </BrowseName>\n      <DisplayName>\n        <Locale></Locale>\n        <Text>Number</Text>\n      </DisplayName>\n      <Description i:nil=\"true\" />\n      <WriteMask>0</WriteMask>\n      <UserWriteMask>0</UserWriteMask>\n      <References>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=46</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>true</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=133</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=40</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>i=68</Identifier>\n          </TargetId>\n        </ReferenceNode>\n      </References>\n      <Value>\n        <Value>\n          <UInt32 xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">0</UInt32>\n        </Value>\n      </Value>\n      <DataType>\n        <Identifier>i=7</Identifier>\n      </DataType>\n      <ValueRank>-1</ValueRank>\n      <ArrayDimensions />\n      <AccessLevel>1</AccessLevel>\n      <UserAccessLevel>1</UserAccessLevel>\n      <MinimumSamplingInterval>0</MinimumSamplingInterval>\n      <Historizing>false</Historizing>\n    </Node>\n    <Node i:type=\"VariableNode\">\n      <NodeId>\n        <Identifier>ns=1;i=137</Identifier>\n      </NodeId>\n      <NodeClass>Variable_2</NodeClass>\n      <BrowseName>\n        <NamespaceIndex>0</NamespaceIndex>\n        <Name>TransitionTime</Name>\n      </BrowseName>\n      <DisplayName>\n        <Locale></Locale>\n        <Text>TransitionTime</Text>\n      </DisplayName>\n      <Description i:nil=\"true\" />\n      <WriteMask>0</WriteMask>\n      <UserWriteMask>0</UserWriteMask>\n      <References>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=46</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>true</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=133</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=40</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>i=68</Identifier>\n          </TargetId>\n        </ReferenceNode>\n      </References>\n      <Value>\n        <Value>\n          <DateTime xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">0001-01-01T00:00:00</DateTime>\n        </Value>\n      </Value>\n      <DataType>\n        <Identifier>i=294</Identifier>\n      </DataType>\n      <ValueRank>-1</ValueRank>\n      <ArrayDimensions />\n      <AccessLevel>1</AccessLevel>\n      <UserAccessLevel>1</UserAccessLevel>\n      <MinimumSamplingInterval>0</MinimumSamplingInterval>\n      <Historizing>false</Historizing>\n    </Node>\n    <Node i:type=\"VariableNode\">\n      <NodeId>\n        <Identifier>ns=1;i=139</Identifier>\n      </NodeId>\n      <NodeClass>Variable_2</NodeClass>\n      <BrowseName>\n        <NamespaceIndex>0</NamespaceIndex>\n        <Name>Deletable</Name>\n      </BrowseName>\n      <DisplayName>\n        <Locale></Locale>\n        <Text>Deletable</Text>\n      </DisplayName>\n      <Description i:nil=\"true\" />\n      <WriteMask>0</WriteMask>\n      <UserWriteMask>0</UserWriteMask>\n      <References>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=46</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>true</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=127</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=40</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>i=68</Identifier>\n          </TargetId>\n        </ReferenceNode>\n      </References>\n      <Value>\n        <Value>\n          <Boolean xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">false</Boolean>\n        </Value>\n      </Value>\n      <DataType>\n        <Identifier>i=1</Identifier>\n      </DataType>\n      <ValueRank>-1</ValueRank>\n      <ArrayDimensions />\n      <AccessLevel>1</AccessLevel>\n      <UserAccessLevel>1</UserAccessLevel>\n      <MinimumSamplingInterval>0</MinimumSamplingInterval>\n      <Historizing>false</Historizing>\n    </Node>\n    <Node i:type=\"VariableNode\">\n      <NodeId>\n        <Identifier>ns=1;i=141</Identifier>\n      </NodeId>\n      <NodeClass>Variable_2</NodeClass>\n      <BrowseName>\n        <NamespaceIndex>0</NamespaceIndex>\n        <Name>RecycleCount</Name>\n      </BrowseName>\n      <DisplayName>\n        <Locale></Locale>\n        <Text>RecycleCount</Text>\n      </DisplayName>\n      <Description i:nil=\"true\" />\n      <WriteMask>0</WriteMask>\n      <UserWriteMask>0</UserWriteMask>\n      <References>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=46</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>true</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=127</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=40</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>i=68</Identifier>\n          </TargetId>\n        </ReferenceNode>\n      </References>\n      <Value>\n        <Value>\n          <Int32 xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">0</Int32>\n        </Value>\n      </Value>\n      <DataType>\n        <Identifier>i=6</Identifier>\n      </DataType>\n      <ValueRank>-1</ValueRank>\n      <ArrayDimensions />\n      <AccessLevel>1</AccessLevel>\n      <UserAccessLevel>1</UserAccessLevel>\n      <MinimumSamplingInterval>0</MinimumSamplingInterval>\n      <Historizing>false</Historizing>\n    </Node>\n    <Node i:type=\"MethodNode\">\n      <NodeId>\n        <Identifier>ns=1;i=154</Identifier>\n      </NodeId>\n      <NodeClass>Method_4</NodeClass>\n      <BrowseName>\n        <NamespaceIndex>0</NamespaceIndex>\n        <Name>Start</Name>\n      </BrowseName>\n      <DisplayName>\n        <Locale></Locale>\n        <Text>Start</Text>\n      </DisplayName>\n      <Description>\n        <Locale></Locale>\n        <Text>Causes the Program to transition from the Ready state to the Running state.</Text>\n      </Description>\n      <WriteMask>0</WriteMask>\n      <UserWriteMask>0</UserWriteMask>\n      <References>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=47</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>true</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=127</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=40</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>i=2426</Identifier>\n          </TargetId>\n        </ReferenceNode>\n      </References>\n      <Executable>true</Executable>\n      <UserExecutable>true</UserExecutable>\n    </Node>\n    <Node i:type=\"MethodNode\">\n      <NodeId>\n        <Identifier>ns=1;i=155</Identifier>\n      </NodeId>\n      <NodeClass>Method_4</NodeClass>\n      <BrowseName>\n        <NamespaceIndex>0</NamespaceIndex>\n        <Name>Suspend</Name>\n      </BrowseName>\n      <DisplayName>\n        <Locale></Locale>\n        <Text>Suspend</Text>\n      </DisplayName>\n      <Description>\n        <Locale></Locale>\n        <Text>Causes the Program to transition from the Running state to the Suspended state.</Text>\n      </Description>\n      <WriteMask>0</WriteMask>\n      <UserWriteMask>0</UserWriteMask>\n      <References>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=47</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>true</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=127</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=40</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>i=2427</Identifier>\n          </TargetId>\n        </ReferenceNode>\n      </References>\n      <Executable>true</Executable>\n      <UserExecutable>true</UserExecutable>\n    </Node>\n    <Node i:type=\"MethodNode\">\n      <NodeId>\n        <Identifier>ns=1;i=156</Identifier>\n      </NodeId>\n      <NodeClass>Method_4</NodeClass>\n      <BrowseName>\n        <NamespaceIndex>0</NamespaceIndex>\n        <Name>Resume</Name>\n      </BrowseName>\n      <DisplayName>\n        <Locale></Locale>\n        <Text>Resume</Text>\n      </DisplayName>\n      <Description>\n        <Locale></Locale>\n        <Text>Causes the Program to transition from the Suspended state to the Running state.</Text>\n      </Description>\n      <WriteMask>0</WriteMask>\n      <UserWriteMask>0</UserWriteMask>\n      <References>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=47</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>true</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=127</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=40</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>i=2428</Identifier>\n          </TargetId>\n        </ReferenceNode>\n      </References>\n      <Executable>true</Executable>\n      <UserExecutable>true</UserExecutable>\n    </Node>\n    <Node i:type=\"MethodNode\">\n      <NodeId>\n        <Identifier>ns=1;i=157</Identifier>\n      </NodeId>\n      <NodeClass>Method_4</NodeClass>\n      <BrowseName>\n        <NamespaceIndex>0</NamespaceIndex>\n        <Name>Halt</Name>\n      </BrowseName>\n      <DisplayName>\n        <Locale></Locale>\n        <Text>Halt</Text>\n      </DisplayName>\n      <Description>\n        <Locale></Locale>\n        <Text>Causes the Program to transition from the Ready, Running or Suspended state to the Halted state.</Text>\n      </Description>\n      <WriteMask>0</WriteMask>\n      <UserWriteMask>0</UserWriteMask>\n      <References>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=47</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>true</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=127</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=40</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>i=2429</Identifier>\n          </TargetId>\n        </ReferenceNode>\n      </References>\n      <Executable>true</Executable>\n      <UserExecutable>true</UserExecutable>\n    </Node>\n    <Node i:type=\"MethodNode\">\n      <NodeId>\n        <Identifier>ns=1;i=158</Identifier>\n      </NodeId>\n      <NodeClass>Method_4</NodeClass>\n      <BrowseName>\n        <NamespaceIndex>0</NamespaceIndex>\n        <Name>Reset</Name>\n      </BrowseName>\n      <DisplayName>\n        <Locale></Locale>\n        <Text>Reset</Text>\n      </DisplayName>\n      <Description>\n        <Locale></Locale>\n        <Text>Causes the Program to transition from the Halted state to the Ready state.</Text>\n      </Description>\n      <WriteMask>0</WriteMask>\n      <UserWriteMask>0</UserWriteMask>\n      <References>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=47</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>true</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=127</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=40</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>i=2430</Identifier>\n          </TargetId>\n        </ReferenceNode>\n      </References>\n      <Executable>true</Executable>\n      <UserExecutable>true</UserExecutable>\n    </Node>\n    <Node i:type=\"VariableNode\">\n      <NodeId>\n        <Identifier>ns=1;i=159</Identifier>\n      </NodeId>\n      <NodeClass>Variable_2</NodeClass>\n      <BrowseName>\n        <NamespaceIndex>2</NamespaceIndex>\n        <Name>UpdateRate</Name>\n      </BrowseName>\n      <DisplayName>\n        <Locale></Locale>\n        <Text>UpdateRate</Text>\n      </DisplayName>\n      <Description>\n        <Locale></Locale>\n        <Text>The rate at which the simulation runs.</Text>\n      </Description>\n      <WriteMask>0</WriteMask>\n      <UserWriteMask>0</UserWriteMask>\n      <References>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=46</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>true</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=127</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=40</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>i=68</Identifier>\n          </TargetId>\n        </ReferenceNode>\n      </References>\n      <Value>\n        <Value>\n          <UInt32 xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">0</UInt32>\n        </Value>\n      </Value>\n      <DataType>\n        <Identifier>i=7</Identifier>\n      </DataType>\n      <ValueRank>-1</ValueRank>\n      <ArrayDimensions />\n      <AccessLevel>3</AccessLevel>\n      <UserAccessLevel>3</UserAccessLevel>\n      <MinimumSamplingInterval>0</MinimumSamplingInterval>\n      <Historizing>false</Historizing>\n    </Node>\n    <Node i:type=\"ObjectNode\">\n      <NodeId>\n        <Identifier>ns=1;i=160</Identifier>\n      </NodeId>\n      <NodeClass>Object_1</NodeClass>\n      <BrowseName>\n        <NamespaceIndex>1</NamespaceIndex>\n        <Name>Boiler #2</Name>\n      </BrowseName>\n      <DisplayName>\n        <Locale></Locale>\n        <Text>Boilers Second</Text>\n      </DisplayName>\n      <Description i:nil=\"true\" />\n      <WriteMask>0</WriteMask>\n      <UserWriteMask>0</UserWriteMask>\n      <References>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=47</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>true</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=1</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=40</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>ns=2;i=151</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=48</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=161</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=48</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=176</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=48</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=184</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=36</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=206</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=47</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=161</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=47</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=176</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=47</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=184</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=47</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=192</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=47</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=196</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=47</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=200</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=47</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=206</Identifier>\n          </TargetId>\n        </ReferenceNode>\n      </References>\n      <EventNotifier>0</EventNotifier>\n    </Node>\n    <Node i:type=\"ObjectNode\">\n      <NodeId>\n        <Identifier>ns=1;i=161</Identifier>\n      </NodeId>\n      <NodeClass>Object_1</NodeClass>\n      <BrowseName>\n        <NamespaceIndex>1</NamespaceIndex>\n        <Name>InputPipe</Name>\n      </BrowseName>\n      <DisplayName>\n        <Locale></Locale>\n        <Text>Boiler #2: Pipe1001</Text>\n      </DisplayName>\n      <Description i:nil=\"true\" />\n      <WriteMask>0</WriteMask>\n      <UserWriteMask>0</UserWriteMask>\n      <References>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=47</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>true</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=160</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=40</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>ns=2;i=120</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=48</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>true</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=160</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=48</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=162</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>ns=2;i=1</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=176</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=47</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=162</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=47</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=169</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=47</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>true</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=399</Identifier>\n          </TargetId>\n        </ReferenceNode>\n      </References>\n      <EventNotifier>1</EventNotifier>\n    </Node>\n    <Node i:type=\"ObjectNode\">\n      <NodeId>\n        <Identifier>ns=1;i=162</Identifier>\n      </NodeId>\n      <NodeClass>Object_1</NodeClass>\n      <BrowseName>\n        <NamespaceIndex>2</NamespaceIndex>\n        <Name>FTX001</Name>\n      </BrowseName>\n      <DisplayName>\n        <Locale></Locale>\n        <Text>FlowTransmitter1</Text>\n      </DisplayName>\n      <Description i:nil=\"true\" />\n      <WriteMask>0</WriteMask>\n      <UserWriteMask>0</UserWriteMask>\n      <References>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=47</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>true</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=161</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=40</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>ns=2;i=50</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=48</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>true</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=161</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=47</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=163</Identifier>\n          </TargetId>\n        </ReferenceNode>\n      </References>\n      <EventNotifier>1</EventNotifier>\n    </Node>\n    <Node i:type=\"VariableNode\">\n      <NodeId>\n        <Identifier>ns=1;i=163</Identifier>\n      </NodeId>\n      <NodeClass>Variable_2</NodeClass>\n      <BrowseName>\n        <NamespaceIndex>2</NamespaceIndex>\n        <Name>Output</Name>\n      </BrowseName>\n      <DisplayName>\n        <Locale></Locale>\n        <Text>Output</Text>\n      </DisplayName>\n      <Description i:nil=\"true\" />\n      <WriteMask>0</WriteMask>\n      <UserWriteMask>0</UserWriteMask>\n      <References>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=47</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>true</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=162</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=40</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>i=2368</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>ns=2;i=3</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=193</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>ns=2;i=3</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=202</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=46</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=167</Identifier>\n          </TargetId>\n        </ReferenceNode>\n      </References>\n      <Value>\n        <Value>\n          <Double xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">0</Double>\n        </Value>\n      </Value>\n      <DataType>\n        <Identifier>i=11</Identifier>\n      </DataType>\n      <ValueRank>-1</ValueRank>\n      <ArrayDimensions />\n      <AccessLevel>1</AccessLevel>\n      <UserAccessLevel>1</UserAccessLevel>\n      <MinimumSamplingInterval>0</MinimumSamplingInterval>\n      <Historizing>false</Historizing>\n    </Node>\n    <Node i:type=\"VariableNode\">\n      <NodeId>\n        <Identifier>ns=1;i=167</Identifier>\n      </NodeId>\n      <NodeClass>Variable_2</NodeClass>\n      <BrowseName>\n        <NamespaceIndex>0</NamespaceIndex>\n        <Name>EURange</Name>\n      </BrowseName>\n      <DisplayName>\n        <Locale></Locale>\n        <Text>EURange</Text>\n      </DisplayName>\n      <Description i:nil=\"true\" />\n      <WriteMask>0</WriteMask>\n      <UserWriteMask>0</UserWriteMask>\n      <References>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=46</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>true</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=163</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=40</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>i=68</Identifier>\n          </TargetId>\n        </ReferenceNode>\n      </References>\n      <Value>\n        <Value>\n          <Null xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\" />\n        </Value>\n      </Value>\n      <DataType>\n        <Identifier>i=884</Identifier>\n      </DataType>\n      <ValueRank>-1</ValueRank>\n      <ArrayDimensions />\n      <AccessLevel>1</AccessLevel>\n      <UserAccessLevel>1</UserAccessLevel>\n      <MinimumSamplingInterval>0</MinimumSamplingInterval>\n      <Historizing>false</Historizing>\n    </Node>\n    <Node i:type=\"ObjectNode\">\n      <NodeId>\n        <Identifier>ns=1;i=169</Identifier>\n      </NodeId>\n      <NodeClass>Object_1</NodeClass>\n      <BrowseName>\n        <NamespaceIndex>2</NamespaceIndex>\n        <Name>ValveX001</Name>\n      </BrowseName>\n      <DisplayName>\n        <Locale></Locale>\n        <Text>Valve</Text>\n      </DisplayName>\n      <Description i:nil=\"true\" />\n      <WriteMask>0</WriteMask>\n      <UserWriteMask>0</UserWriteMask>\n      <References>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=47</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>true</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=161</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=40</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>ns=2;i=28</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=47</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=170</Identifier>\n          </TargetId>\n        </ReferenceNode>\n      </References>\n      <EventNotifier>1</EventNotifier>\n    </Node>\n    <Node i:type=\"VariableNode\">\n      <NodeId>\n        <Identifier>ns=1;i=170</Identifier>\n      </NodeId>\n      <NodeClass>Variable_2</NodeClass>\n      <BrowseName>\n        <NamespaceIndex>2</NamespaceIndex>\n        <Name>Input</Name>\n      </BrowseName>\n      <DisplayName>\n        <Locale></Locale>\n        <Text>Input</Text>\n      </DisplayName>\n      <Description i:nil=\"true\" />\n      <WriteMask>0</WriteMask>\n      <UserWriteMask>0</UserWriteMask>\n      <References>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=47</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>true</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=169</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=40</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>i=2368</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>ns=2;i=3</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>true</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=195</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=46</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=174</Identifier>\n          </TargetId>\n        </ReferenceNode>\n      </References>\n      <Value>\n        <Value>\n          <Double xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">0</Double>\n        </Value>\n      </Value>\n      <DataType>\n        <Identifier>i=11</Identifier>\n      </DataType>\n      <ValueRank>-1</ValueRank>\n      <ArrayDimensions />\n      <AccessLevel>2</AccessLevel>\n      <UserAccessLevel>2</UserAccessLevel>\n      <MinimumSamplingInterval>0</MinimumSamplingInterval>\n      <Historizing>false</Historizing>\n    </Node>\n    <Node i:type=\"VariableNode\">\n      <NodeId>\n        <Identifier>ns=1;i=174</Identifier>\n      </NodeId>\n      <NodeClass>Variable_2</NodeClass>\n      <BrowseName>\n        <NamespaceIndex>0</NamespaceIndex>\n        <Name>EURange</Name>\n      </BrowseName>\n      <DisplayName>\n        <Locale></Locale>\n        <Text>EURange</Text>\n      </DisplayName>\n      <Description i:nil=\"true\" />\n      <WriteMask>0</WriteMask>\n      <UserWriteMask>0</UserWriteMask>\n      <References>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=46</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>true</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=170</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=40</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>i=68</Identifier>\n          </TargetId>\n        </ReferenceNode>\n      </References>\n      <Value>\n        <Value>\n          <Null xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\" />\n        </Value>\n      </Value>\n      <DataType>\n        <Identifier>i=884</Identifier>\n      </DataType>\n      <ValueRank>-1</ValueRank>\n      <ArrayDimensions />\n      <AccessLevel>1</AccessLevel>\n      <UserAccessLevel>1</UserAccessLevel>\n      <MinimumSamplingInterval>0</MinimumSamplingInterval>\n      <Historizing>false</Historizing>\n    </Node>\n    <Node i:type=\"ObjectNode\">\n      <NodeId>\n        <Identifier>ns=1;i=176</Identifier>\n      </NodeId>\n      <NodeClass>Object_1</NodeClass>\n      <BrowseName>\n        <NamespaceIndex>1</NamespaceIndex>\n        <Name>Drum</Name>\n      </BrowseName>\n      <DisplayName>\n        <Locale></Locale>\n        <Text>Boiler #2: Drum1001</Text>\n      </DisplayName>\n      <Description i:nil=\"true\" />\n      <WriteMask>0</WriteMask>\n      <UserWriteMask>0</UserWriteMask>\n      <References>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=47</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>true</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=160</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=40</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>ns=2;i=135</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=48</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>true</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=160</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>ns=2;i=1</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>true</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=161</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=48</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=177</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>ns=2;i=2</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=184</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=47</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=177</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=47</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>true</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=398</Identifier>\n          </TargetId>\n        </ReferenceNode>\n      </References>\n      <EventNotifier>1</EventNotifier>\n    </Node>\n    <Node i:type=\"ObjectNode\">\n      <NodeId>\n        <Identifier>ns=1;i=177</Identifier>\n      </NodeId>\n      <NodeClass>Object_1</NodeClass>\n      <BrowseName>\n        <NamespaceIndex>2</NamespaceIndex>\n        <Name>LIX001</Name>\n      </BrowseName>\n      <DisplayName>\n        <Locale></Locale>\n        <Text>LIX001</Text>\n      </DisplayName>\n      <Description i:nil=\"true\" />\n      <WriteMask>0</WriteMask>\n      <UserWriteMask>0</UserWriteMask>\n      <References>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=47</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>true</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=176</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=40</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>ns=2;i=43</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=48</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>true</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=176</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=47</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=178</Identifier>\n          </TargetId>\n        </ReferenceNode>\n      </References>\n      <EventNotifier>1</EventNotifier>\n    </Node>\n    <Node i:type=\"VariableNode\">\n      <NodeId>\n        <Identifier>ns=1;i=178</Identifier>\n      </NodeId>\n      <NodeClass>Variable_2</NodeClass>\n      <BrowseName>\n        <NamespaceIndex>2</NamespaceIndex>\n        <Name>Output</Name>\n      </BrowseName>\n      <DisplayName>\n        <Locale></Locale>\n        <Text>Output</Text>\n      </DisplayName>\n      <Description i:nil=\"true\" />\n      <WriteMask>0</WriteMask>\n      <UserWriteMask>0</UserWriteMask>\n      <References>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=47</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>true</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=177</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=40</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>i=2368</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>ns=2;i=3</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=197</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=46</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=182</Identifier>\n          </TargetId>\n        </ReferenceNode>\n      </References>\n      <Value>\n        <Value>\n          <Double xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">0</Double>\n        </Value>\n      </Value>\n      <DataType>\n        <Identifier>i=26</Identifier>\n      </DataType>\n      <ValueRank>-1</ValueRank>\n      <ArrayDimensions />\n      <AccessLevel>1</AccessLevel>\n      <UserAccessLevel>1</UserAccessLevel>\n      <MinimumSamplingInterval>0</MinimumSamplingInterval>\n      <Historizing>false</Historizing>\n    </Node>\n    <Node i:type=\"VariableNode\">\n      <NodeId>\n        <Identifier>ns=1;i=182</Identifier>\n      </NodeId>\n      <NodeClass>Variable_2</NodeClass>\n      <BrowseName>\n        <NamespaceIndex>0</NamespaceIndex>\n        <Name>EURange</Name>\n      </BrowseName>\n      <DisplayName>\n        <Locale></Locale>\n        <Text>EURange</Text>\n      </DisplayName>\n      <Description i:nil=\"true\" />\n      <WriteMask>0</WriteMask>\n      <UserWriteMask>0</UserWriteMask>\n      <References>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=46</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>true</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=178</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=40</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>i=68</Identifier>\n          </TargetId>\n        </ReferenceNode>\n      </References>\n      <Value>\n        <Value>\n          <Null xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\" />\n        </Value>\n      </Value>\n      <DataType>\n        <Identifier>i=884</Identifier>\n      </DataType>\n      <ValueRank>-1</ValueRank>\n      <ArrayDimensions />\n      <AccessLevel>1</AccessLevel>\n      <UserAccessLevel>1</UserAccessLevel>\n      <MinimumSamplingInterval>0</MinimumSamplingInterval>\n      <Historizing>false</Historizing>\n    </Node>\n    <Node i:type=\"ObjectNode\">\n      <NodeId>\n        <Identifier>ns=1;i=184</Identifier>\n      </NodeId>\n      <NodeClass>Object_1</NodeClass>\n      <BrowseName>\n        <NamespaceIndex>1</NamespaceIndex>\n        <Name>OutputPipe</Name>\n      </BrowseName>\n      <DisplayName>\n        <Locale></Locale>\n        <Text>Boiler #2: Pipe1002</Text>\n      </DisplayName>\n      <Description i:nil=\"true\" />\n      <WriteMask>0</WriteMask>\n      <UserWriteMask>0</UserWriteMask>\n      <References>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=47</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>true</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=160</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=40</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>ns=2;i=143</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=48</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>true</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=160</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>ns=2;i=2</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>true</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=176</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=48</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=185</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=47</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=185</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=47</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>true</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=399</Identifier>\n          </TargetId>\n        </ReferenceNode>\n      </References>\n      <EventNotifier>1</EventNotifier>\n    </Node>\n    <Node i:type=\"ObjectNode\">\n      <NodeId>\n        <Identifier>ns=1;i=185</Identifier>\n      </NodeId>\n      <NodeClass>Object_1</NodeClass>\n      <BrowseName>\n        <NamespaceIndex>2</NamespaceIndex>\n        <Name>FTX002</Name>\n      </BrowseName>\n      <DisplayName>\n        <Locale></Locale>\n        <Text>FTX002</Text>\n      </DisplayName>\n      <Description i:nil=\"true\" />\n      <WriteMask>0</WriteMask>\n      <UserWriteMask>0</UserWriteMask>\n      <References>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=47</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>true</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=184</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=40</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>ns=2;i=50</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=48</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>true</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=184</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=47</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=186</Identifier>\n          </TargetId>\n        </ReferenceNode>\n      </References>\n      <EventNotifier>1</EventNotifier>\n    </Node>\n    <Node i:type=\"VariableNode\">\n      <NodeId>\n        <Identifier>ns=1;i=186</Identifier>\n      </NodeId>\n      <NodeClass>Variable_2</NodeClass>\n      <BrowseName>\n        <NamespaceIndex>2</NamespaceIndex>\n        <Name>Output</Name>\n      </BrowseName>\n      <DisplayName>\n        <Locale></Locale>\n        <Text>Output</Text>\n      </DisplayName>\n      <Description i:nil=\"true\" />\n      <WriteMask>0</WriteMask>\n      <UserWriteMask>0</UserWriteMask>\n      <References>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=47</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>true</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=185</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=40</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>i=2368</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>ns=2;i=3</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=203</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=46</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=190</Identifier>\n          </TargetId>\n        </ReferenceNode>\n      </References>\n      <Value>\n        <Value>\n          <Double xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">0</Double>\n        </Value>\n      </Value>\n      <DataType>\n        <Identifier>i=11</Identifier>\n      </DataType>\n      <ValueRank>-1</ValueRank>\n      <ArrayDimensions />\n      <AccessLevel>1</AccessLevel>\n      <UserAccessLevel>1</UserAccessLevel>\n      <MinimumSamplingInterval>0</MinimumSamplingInterval>\n      <Historizing>false</Historizing>\n    </Node>\n    <Node i:type=\"VariableNode\">\n      <NodeId>\n        <Identifier>ns=1;i=190</Identifier>\n      </NodeId>\n      <NodeClass>Variable_2</NodeClass>\n      <BrowseName>\n        <NamespaceIndex>0</NamespaceIndex>\n        <Name>EURange</Name>\n      </BrowseName>\n      <DisplayName>\n        <Locale></Locale>\n        <Text>EURange</Text>\n      </DisplayName>\n      <Description i:nil=\"true\" />\n      <WriteMask>0</WriteMask>\n      <UserWriteMask>0</UserWriteMask>\n      <References>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=46</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>true</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=186</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=40</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>i=68</Identifier>\n          </TargetId>\n        </ReferenceNode>\n      </References>\n      <Value>\n        <Value>\n          <Null xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\" />\n        </Value>\n      </Value>\n      <DataType>\n        <Identifier>i=884</Identifier>\n      </DataType>\n      <ValueRank>-1</ValueRank>\n      <ArrayDimensions />\n      <AccessLevel>1</AccessLevel>\n      <UserAccessLevel>1</UserAccessLevel>\n      <MinimumSamplingInterval>0</MinimumSamplingInterval>\n      <Historizing>false</Historizing>\n    </Node>\n    <Node i:type=\"ObjectNode\">\n      <NodeId>\n        <Identifier>ns=1;i=192</Identifier>\n      </NodeId>\n      <NodeClass>Object_1</NodeClass>\n      <BrowseName>\n        <NamespaceIndex>1</NamespaceIndex>\n        <Name>FlowController</Name>\n      </BrowseName>\n      <DisplayName>\n        <Locale></Locale>\n        <Text>Boiler #2: FC1001</Text>\n      </DisplayName>\n      <Description i:nil=\"true\" />\n      <WriteMask>0</WriteMask>\n      <UserWriteMask>0</UserWriteMask>\n      <References>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=47</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>true</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=160</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=40</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>ns=2;i=39</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=46</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=193</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=46</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=194</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=46</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=195</Identifier>\n          </TargetId>\n        </ReferenceNode>\n      </References>\n      <EventNotifier>0</EventNotifier>\n    </Node>\n    <Node i:type=\"VariableNode\">\n      <NodeId>\n        <Identifier>ns=1;i=193</Identifier>\n      </NodeId>\n      <NodeClass>Variable_2</NodeClass>\n      <BrowseName>\n        <NamespaceIndex>2</NamespaceIndex>\n        <Name>Measurement</Name>\n      </BrowseName>\n      <DisplayName>\n        <Locale></Locale>\n        <Text>Measurement</Text>\n      </DisplayName>\n      <Description i:nil=\"true\" />\n      <WriteMask>0</WriteMask>\n      <UserWriteMask>0</UserWriteMask>\n      <References>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=46</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>true</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=192</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=40</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>i=68</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>ns=2;i=3</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>true</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=163</Identifier>\n          </TargetId>\n        </ReferenceNode>\n      </References>\n      <Value>\n        <Value>\n          <Double xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">0</Double>\n        </Value>\n      </Value>\n      <DataType>\n        <Identifier>i=11</Identifier>\n      </DataType>\n      <ValueRank>-1</ValueRank>\n      <ArrayDimensions />\n      <AccessLevel>1</AccessLevel>\n      <UserAccessLevel>1</UserAccessLevel>\n      <MinimumSamplingInterval>0</MinimumSamplingInterval>\n      <Historizing>false</Historizing>\n    </Node>\n    <Node i:type=\"VariableNode\">\n      <NodeId>\n        <Identifier>ns=1;i=194</Identifier>\n      </NodeId>\n      <NodeClass>Variable_2</NodeClass>\n      <BrowseName>\n        <NamespaceIndex>2</NamespaceIndex>\n        <Name>SetPoint</Name>\n      </BrowseName>\n      <DisplayName>\n        <Locale></Locale>\n        <Text>SetPoint</Text>\n      </DisplayName>\n      <Description i:nil=\"true\" />\n      <WriteMask>0</WriteMask>\n      <UserWriteMask>0</UserWriteMask>\n      <References>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=46</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>true</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=192</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=40</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>i=68</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>ns=2;i=3</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>true</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=204</Identifier>\n          </TargetId>\n        </ReferenceNode>\n      </References>\n      <Value>\n        <Value>\n          <Double xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">0</Double>\n        </Value>\n      </Value>\n      <DataType>\n        <Identifier>i=11</Identifier>\n      </DataType>\n      <ValueRank>-1</ValueRank>\n      <ArrayDimensions />\n      <AccessLevel>3</AccessLevel>\n      <UserAccessLevel>3</UserAccessLevel>\n      <MinimumSamplingInterval>0</MinimumSamplingInterval>\n      <Historizing>false</Historizing>\n    </Node>\n    <Node i:type=\"VariableNode\">\n      <NodeId>\n        <Identifier>ns=1;i=195</Identifier>\n      </NodeId>\n      <NodeClass>Variable_2</NodeClass>\n      <BrowseName>\n        <NamespaceIndex>2</NamespaceIndex>\n        <Name>ControlOut</Name>\n      </BrowseName>\n      <DisplayName>\n        <Locale></Locale>\n        <Text>ControlOut</Text>\n      </DisplayName>\n      <Description i:nil=\"true\" />\n      <WriteMask>0</WriteMask>\n      <UserWriteMask>0</UserWriteMask>\n      <References>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=46</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>true</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=192</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=40</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>i=68</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>ns=2;i=3</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=170</Identifier>\n          </TargetId>\n        </ReferenceNode>\n      </References>\n      <Value>\n        <Value>\n          <Double xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">0</Double>\n        </Value>\n      </Value>\n      <DataType>\n        <Identifier>i=11</Identifier>\n      </DataType>\n      <ValueRank>-1</ValueRank>\n      <ArrayDimensions />\n      <AccessLevel>1</AccessLevel>\n      <UserAccessLevel>1</UserAccessLevel>\n      <MinimumSamplingInterval>0</MinimumSamplingInterval>\n      <Historizing>false</Historizing>\n    </Node>\n    <Node i:type=\"ObjectNode\">\n      <NodeId>\n        <Identifier>ns=1;i=196</Identifier>\n      </NodeId>\n      <NodeClass>Object_1</NodeClass>\n      <BrowseName>\n        <NamespaceIndex>1</NamespaceIndex>\n        <Name>LevelController</Name>\n      </BrowseName>\n      <DisplayName>\n        <Locale></Locale>\n        <Text>Boiler #2: LC1001</Text>\n      </DisplayName>\n      <Description i:nil=\"true\" />\n      <WriteMask>0</WriteMask>\n      <UserWriteMask>0</UserWriteMask>\n      <References>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=47</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>true</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=160</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=40</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>ns=2;i=35</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=46</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=197</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=46</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=198</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=46</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=199</Identifier>\n          </TargetId>\n        </ReferenceNode>\n      </References>\n      <EventNotifier>0</EventNotifier>\n    </Node>\n    <Node i:type=\"VariableNode\">\n      <NodeId>\n        <Identifier>ns=1;i=197</Identifier>\n      </NodeId>\n      <NodeClass>Variable_2</NodeClass>\n      <BrowseName>\n        <NamespaceIndex>2</NamespaceIndex>\n        <Name>Measurement</Name>\n      </BrowseName>\n      <DisplayName>\n        <Locale></Locale>\n        <Text>Measurement</Text>\n      </DisplayName>\n      <Description i:nil=\"true\" />\n      <WriteMask>0</WriteMask>\n      <UserWriteMask>0</UserWriteMask>\n      <References>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=46</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>true</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=196</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=40</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>i=68</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>ns=2;i=3</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>true</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=178</Identifier>\n          </TargetId>\n        </ReferenceNode>\n      </References>\n      <Value>\n        <Value>\n          <Double xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">0</Double>\n        </Value>\n      </Value>\n      <DataType>\n        <Identifier>i=11</Identifier>\n      </DataType>\n      <ValueRank>-1</ValueRank>\n      <ArrayDimensions />\n      <AccessLevel>1</AccessLevel>\n      <UserAccessLevel>1</UserAccessLevel>\n      <MinimumSamplingInterval>0</MinimumSamplingInterval>\n      <Historizing>false</Historizing>\n    </Node>\n    <Node i:type=\"VariableNode\">\n      <NodeId>\n        <Identifier>ns=1;i=198</Identifier>\n      </NodeId>\n      <NodeClass>Variable_2</NodeClass>\n      <BrowseName>\n        <NamespaceIndex>2</NamespaceIndex>\n        <Name>SetPoint</Name>\n      </BrowseName>\n      <DisplayName>\n        <Locale></Locale>\n        <Text>SetPoint</Text>\n      </DisplayName>\n      <Description i:nil=\"true\" />\n      <WriteMask>0</WriteMask>\n      <UserWriteMask>0</UserWriteMask>\n      <References>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=46</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>true</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=196</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=40</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>i=68</Identifier>\n          </TargetId>\n        </ReferenceNode>\n      </References>\n      <Value>\n        <Value>\n          <Double xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">0</Double>\n        </Value>\n      </Value>\n      <DataType>\n        <Identifier>i=11</Identifier>\n      </DataType>\n      <ValueRank>-1</ValueRank>\n      <ArrayDimensions />\n      <AccessLevel>3</AccessLevel>\n      <UserAccessLevel>3</UserAccessLevel>\n      <MinimumSamplingInterval>0</MinimumSamplingInterval>\n      <Historizing>false</Historizing>\n    </Node>\n    <Node i:type=\"VariableNode\">\n      <NodeId>\n        <Identifier>ns=1;i=199</Identifier>\n      </NodeId>\n      <NodeClass>Variable_2</NodeClass>\n      <BrowseName>\n        <NamespaceIndex>2</NamespaceIndex>\n        <Name>ControlOut</Name>\n      </BrowseName>\n      <DisplayName>\n        <Locale></Locale>\n        <Text>ControlOut</Text>\n      </DisplayName>\n      <Description i:nil=\"true\" />\n      <WriteMask>0</WriteMask>\n      <UserWriteMask>0</UserWriteMask>\n      <References>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=46</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>true</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=196</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=40</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>i=68</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>ns=2;i=3</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=201</Identifier>\n          </TargetId>\n        </ReferenceNode>\n      </References>\n      <Value>\n        <Value>\n          <Double xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">0</Double>\n        </Value>\n      </Value>\n      <DataType>\n        <Identifier>i=11</Identifier>\n      </DataType>\n      <ValueRank>-1</ValueRank>\n      <ArrayDimensions />\n      <AccessLevel>1</AccessLevel>\n      <UserAccessLevel>1</UserAccessLevel>\n      <MinimumSamplingInterval>0</MinimumSamplingInterval>\n      <Historizing>false</Historizing>\n    </Node>\n    <Node i:type=\"ObjectNode\">\n      <NodeId>\n        <Identifier>ns=1;i=200</Identifier>\n      </NodeId>\n      <NodeClass>Object_1</NodeClass>\n      <BrowseName>\n        <NamespaceIndex>1</NamespaceIndex>\n        <Name>CustomController</Name>\n      </BrowseName>\n      <DisplayName>\n        <Locale></Locale>\n        <Text>Boiler #2: CC1001</Text>\n      </DisplayName>\n      <Description i:nil=\"true\" />\n      <WriteMask>0</WriteMask>\n      <UserWriteMask>0</UserWriteMask>\n      <References>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=47</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>true</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=160</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=40</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>ns=2;i=22</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=46</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=201</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=46</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=202</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=46</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=203</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=46</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=204</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=46</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=205</Identifier>\n          </TargetId>\n        </ReferenceNode>\n      </References>\n      <EventNotifier>0</EventNotifier>\n    </Node>\n    <Node i:type=\"VariableNode\">\n      <NodeId>\n        <Identifier>ns=1;i=201</Identifier>\n      </NodeId>\n      <NodeClass>Variable_2</NodeClass>\n      <BrowseName>\n        <NamespaceIndex>2</NamespaceIndex>\n        <Name>Input1</Name>\n      </BrowseName>\n      <DisplayName>\n        <Locale></Locale>\n        <Text>Input1</Text>\n      </DisplayName>\n      <Description i:nil=\"true\" />\n      <WriteMask>0</WriteMask>\n      <UserWriteMask>0</UserWriteMask>\n      <References>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=46</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>true</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=200</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=40</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>i=68</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>ns=2;i=3</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>true</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=199</Identifier>\n          </TargetId>\n        </ReferenceNode>\n      </References>\n      <Value>\n        <Value>\n          <Double xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">0</Double>\n        </Value>\n      </Value>\n      <DataType>\n        <Identifier>i=11</Identifier>\n      </DataType>\n      <ValueRank>-1</ValueRank>\n      <ArrayDimensions />\n      <AccessLevel>2</AccessLevel>\n      <UserAccessLevel>2</UserAccessLevel>\n      <MinimumSamplingInterval>0</MinimumSamplingInterval>\n      <Historizing>false</Historizing>\n    </Node>\n    <Node i:type=\"VariableNode\">\n      <NodeId>\n        <Identifier>ns=1;i=202</Identifier>\n      </NodeId>\n      <NodeClass>Variable_2</NodeClass>\n      <BrowseName>\n        <NamespaceIndex>2</NamespaceIndex>\n        <Name>Input2</Name>\n      </BrowseName>\n      <DisplayName>\n        <Locale></Locale>\n        <Text>Input2</Text>\n      </DisplayName>\n      <Description i:nil=\"true\" />\n      <WriteMask>0</WriteMask>\n      <UserWriteMask>0</UserWriteMask>\n      <References>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=46</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>true</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=200</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=40</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>i=68</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>ns=2;i=3</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>true</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=163</Identifier>\n          </TargetId>\n        </ReferenceNode>\n      </References>\n      <Value>\n        <Value>\n          <Double xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">0</Double>\n        </Value>\n      </Value>\n      <DataType>\n        <Identifier>i=11</Identifier>\n      </DataType>\n      <ValueRank>-1</ValueRank>\n      <ArrayDimensions />\n      <AccessLevel>2</AccessLevel>\n      <UserAccessLevel>2</UserAccessLevel>\n      <MinimumSamplingInterval>0</MinimumSamplingInterval>\n      <Historizing>false</Historizing>\n    </Node>\n    <Node i:type=\"VariableNode\">\n      <NodeId>\n        <Identifier>ns=1;i=203</Identifier>\n      </NodeId>\n      <NodeClass>Variable_2</NodeClass>\n      <BrowseName>\n        <NamespaceIndex>2</NamespaceIndex>\n        <Name>Input3</Name>\n      </BrowseName>\n      <DisplayName>\n        <Locale></Locale>\n        <Text>Input3</Text>\n      </DisplayName>\n      <Description i:nil=\"true\" />\n      <WriteMask>0</WriteMask>\n      <UserWriteMask>0</UserWriteMask>\n      <References>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=46</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>true</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=200</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=40</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>i=68</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>ns=2;i=3</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>true</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=186</Identifier>\n          </TargetId>\n        </ReferenceNode>\n      </References>\n      <Value>\n        <Value>\n          <Double xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">0</Double>\n        </Value>\n      </Value>\n      <DataType>\n        <Identifier>i=11</Identifier>\n      </DataType>\n      <ValueRank>-1</ValueRank>\n      <ArrayDimensions />\n      <AccessLevel>2</AccessLevel>\n      <UserAccessLevel>2</UserAccessLevel>\n      <MinimumSamplingInterval>0</MinimumSamplingInterval>\n      <Historizing>false</Historizing>\n    </Node>\n    <Node i:type=\"VariableNode\">\n      <NodeId>\n        <Identifier>ns=1;i=204</Identifier>\n      </NodeId>\n      <NodeClass>Variable_2</NodeClass>\n      <BrowseName>\n        <NamespaceIndex>2</NamespaceIndex>\n        <Name>ControlOut</Name>\n      </BrowseName>\n      <DisplayName>\n        <Locale></Locale>\n        <Text>ControlOut</Text>\n      </DisplayName>\n      <Description i:nil=\"true\" />\n      <WriteMask>0</WriteMask>\n      <UserWriteMask>0</UserWriteMask>\n      <References>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=46</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>true</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=200</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=40</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>i=68</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>ns=2;i=3</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=194</Identifier>\n          </TargetId>\n        </ReferenceNode>\n      </References>\n      <Value>\n        <Value>\n          <Double xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">0</Double>\n        </Value>\n      </Value>\n      <DataType>\n        <Identifier>i=11</Identifier>\n      </DataType>\n      <ValueRank>-1</ValueRank>\n      <ArrayDimensions />\n      <AccessLevel>1</AccessLevel>\n      <UserAccessLevel>1</UserAccessLevel>\n      <MinimumSamplingInterval>0</MinimumSamplingInterval>\n      <Historizing>false</Historizing>\n    </Node>\n    <Node i:type=\"VariableNode\">\n      <NodeId>\n        <Identifier>ns=1;i=205</Identifier>\n      </NodeId>\n      <NodeClass>Variable_2</NodeClass>\n      <BrowseName>\n        <NamespaceIndex>2</NamespaceIndex>\n        <Name>Description</Name>\n      </BrowseName>\n      <DisplayName>\n        <Locale></Locale>\n        <Text>Description</Text>\n      </DisplayName>\n      <Description i:nil=\"true\" />\n      <WriteMask>0</WriteMask>\n      <UserWriteMask>0</UserWriteMask>\n      <References>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=46</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>true</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=200</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=40</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>i=68</Identifier>\n          </TargetId>\n        </ReferenceNode>\n      </References>\n      <Value>\n        <Value>\n          <LocalizedText xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n            <Locale p2:nil=\"true\" xmlns:p2=\"http://www.w3.org/2001/XMLSchema-instance\" />\n            <Text p2:nil=\"true\" xmlns:p2=\"http://www.w3.org/2001/XMLSchema-instance\" />\n          </LocalizedText>\n        </Value>\n      </Value>\n      <DataType>\n        <Identifier>i=21</Identifier>\n      </DataType>\n      <ValueRank>-1</ValueRank>\n      <ArrayDimensions />\n      <AccessLevel>1</AccessLevel>\n      <UserAccessLevel>1</UserAccessLevel>\n      <MinimumSamplingInterval>0</MinimumSamplingInterval>\n      <Historizing>false</Historizing>\n    </Node>\n    <Node i:type=\"ObjectNode\">\n      <NodeId>\n        <Identifier>ns=1;i=206</Identifier>\n      </NodeId>\n      <NodeClass>Object_1</NodeClass>\n      <BrowseName>\n        <NamespaceIndex>2</NamespaceIndex>\n        <Name>Simulation</Name>\n      </BrowseName>\n      <DisplayName>\n        <Locale></Locale>\n        <Text>Simulation</Text>\n      </DisplayName>\n      <Description i:nil=\"true\" />\n      <WriteMask>0</WriteMask>\n      <UserWriteMask>0</UserWriteMask>\n      <References>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=47</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>true</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=160</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=40</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>ns=2;i=57</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=36</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>true</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=160</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=47</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=207</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=47</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=212</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=46</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=218</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=46</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=220</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=47</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=233</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=47</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=234</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=47</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=235</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=47</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=236</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=47</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=237</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=46</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=238</Identifier>\n          </TargetId>\n        </ReferenceNode>\n      </References>\n      <EventNotifier>1</EventNotifier>\n    </Node>\n    <Node i:type=\"VariableNode\">\n      <NodeId>\n        <Identifier>ns=1;i=207</Identifier>\n      </NodeId>\n      <NodeClass>Variable_2</NodeClass>\n      <BrowseName>\n        <NamespaceIndex>0</NamespaceIndex>\n        <Name>CurrentState</Name>\n      </BrowseName>\n      <DisplayName>\n        <Locale></Locale>\n        <Text>CurrentState</Text>\n      </DisplayName>\n      <Description i:nil=\"true\" />\n      <WriteMask>0</WriteMask>\n      <UserWriteMask>0</UserWriteMask>\n      <References>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=47</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>true</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=206</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=40</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>i=2760</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=46</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=208</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=46</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=210</Identifier>\n          </TargetId>\n        </ReferenceNode>\n      </References>\n      <Value>\n        <Value>\n          <LocalizedText xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n            <Locale p2:nil=\"true\" xmlns:p2=\"http://www.w3.org/2001/XMLSchema-instance\" />\n            <Text p2:nil=\"true\" xmlns:p2=\"http://www.w3.org/2001/XMLSchema-instance\" />\n          </LocalizedText>\n        </Value>\n      </Value>\n      <DataType>\n        <Identifier>i=21</Identifier>\n      </DataType>\n      <ValueRank>-1</ValueRank>\n      <ArrayDimensions />\n      <AccessLevel>1</AccessLevel>\n      <UserAccessLevel>1</UserAccessLevel>\n      <MinimumSamplingInterval>0</MinimumSamplingInterval>\n      <Historizing>false</Historizing>\n    </Node>\n    <Node i:type=\"VariableNode\">\n      <NodeId>\n        <Identifier>ns=1;i=208</Identifier>\n      </NodeId>\n      <NodeClass>Variable_2</NodeClass>\n      <BrowseName>\n        <NamespaceIndex>0</NamespaceIndex>\n        <Name>Id</Name>\n      </BrowseName>\n      <DisplayName>\n        <Locale></Locale>\n        <Text>Id</Text>\n      </DisplayName>\n      <Description i:nil=\"true\" />\n      <WriteMask>0</WriteMask>\n      <UserWriteMask>0</UserWriteMask>\n      <References>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=46</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>true</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=207</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=40</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>i=68</Identifier>\n          </TargetId>\n        </ReferenceNode>\n      </References>\n      <Value>\n        <Value>\n          <NodeId xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n            <Identifier>i=0</Identifier>\n          </NodeId>\n        </Value>\n      </Value>\n      <DataType>\n        <Identifier>i=17</Identifier>\n      </DataType>\n      <ValueRank>-1</ValueRank>\n      <ArrayDimensions />\n      <AccessLevel>1</AccessLevel>\n      <UserAccessLevel>1</UserAccessLevel>\n      <MinimumSamplingInterval>0</MinimumSamplingInterval>\n      <Historizing>false</Historizing>\n    </Node>\n    <Node i:type=\"VariableNode\">\n      <NodeId>\n        <Identifier>ns=1;i=210</Identifier>\n      </NodeId>\n      <NodeClass>Variable_2</NodeClass>\n      <BrowseName>\n        <NamespaceIndex>0</NamespaceIndex>\n        <Name>Number</Name>\n      </BrowseName>\n      <DisplayName>\n        <Locale></Locale>\n        <Text>Number</Text>\n      </DisplayName>\n      <Description i:nil=\"true\" />\n      <WriteMask>0</WriteMask>\n      <UserWriteMask>0</UserWriteMask>\n      <References>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=46</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>true</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=207</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=40</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>i=68</Identifier>\n          </TargetId>\n        </ReferenceNode>\n      </References>\n      <Value>\n        <Value>\n          <UInt32 xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">0</UInt32>\n        </Value>\n      </Value>\n      <DataType>\n        <Identifier>i=7</Identifier>\n      </DataType>\n      <ValueRank>-1</ValueRank>\n      <ArrayDimensions />\n      <AccessLevel>1</AccessLevel>\n      <UserAccessLevel>1</UserAccessLevel>\n      <MinimumSamplingInterval>0</MinimumSamplingInterval>\n      <Historizing>false</Historizing>\n    </Node>\n    <Node i:type=\"VariableNode\">\n      <NodeId>\n        <Identifier>ns=1;i=212</Identifier>\n      </NodeId>\n      <NodeClass>Variable_2</NodeClass>\n      <BrowseName>\n        <NamespaceIndex>0</NamespaceIndex>\n        <Name>LastTransition</Name>\n      </BrowseName>\n      <DisplayName>\n        <Locale></Locale>\n        <Text>LastTransition</Text>\n      </DisplayName>\n      <Description i:nil=\"true\" />\n      <WriteMask>0</WriteMask>\n      <UserWriteMask>0</UserWriteMask>\n      <References>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=47</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>true</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=206</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=40</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>i=2767</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=46</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=213</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=46</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=215</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=46</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=216</Identifier>\n          </TargetId>\n        </ReferenceNode>\n      </References>\n      <Value>\n        <Value>\n          <LocalizedText xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n            <Locale p2:nil=\"true\" xmlns:p2=\"http://www.w3.org/2001/XMLSchema-instance\" />\n            <Text p2:nil=\"true\" xmlns:p2=\"http://www.w3.org/2001/XMLSchema-instance\" />\n          </LocalizedText>\n        </Value>\n      </Value>\n      <DataType>\n        <Identifier>i=21</Identifier>\n      </DataType>\n      <ValueRank>-1</ValueRank>\n      <ArrayDimensions />\n      <AccessLevel>1</AccessLevel>\n      <UserAccessLevel>1</UserAccessLevel>\n      <MinimumSamplingInterval>0</MinimumSamplingInterval>\n      <Historizing>false</Historizing>\n    </Node>\n    <Node i:type=\"VariableNode\">\n      <NodeId>\n        <Identifier>ns=1;i=213</Identifier>\n      </NodeId>\n      <NodeClass>Variable_2</NodeClass>\n      <BrowseName>\n        <NamespaceIndex>0</NamespaceIndex>\n        <Name>Id</Name>\n      </BrowseName>\n      <DisplayName>\n        <Locale></Locale>\n        <Text>Id</Text>\n      </DisplayName>\n      <Description i:nil=\"true\" />\n      <WriteMask>0</WriteMask>\n      <UserWriteMask>0</UserWriteMask>\n      <References>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=46</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>true</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=212</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=40</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>i=68</Identifier>\n          </TargetId>\n        </ReferenceNode>\n      </References>\n      <Value>\n        <Value>\n          <NodeId xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n            <Identifier>i=0</Identifier>\n          </NodeId>\n        </Value>\n      </Value>\n      <DataType>\n        <Identifier>i=17</Identifier>\n      </DataType>\n      <ValueRank>-1</ValueRank>\n      <ArrayDimensions />\n      <AccessLevel>1</AccessLevel>\n      <UserAccessLevel>1</UserAccessLevel>\n      <MinimumSamplingInterval>0</MinimumSamplingInterval>\n      <Historizing>false</Historizing>\n    </Node>\n    <Node i:type=\"VariableNode\">\n      <NodeId>\n        <Identifier>ns=1;i=215</Identifier>\n      </NodeId>\n      <NodeClass>Variable_2</NodeClass>\n      <BrowseName>\n        <NamespaceIndex>0</NamespaceIndex>\n        <Name>Number</Name>\n      </BrowseName>\n      <DisplayName>\n        <Locale></Locale>\n        <Text>Number</Text>\n      </DisplayName>\n      <Description i:nil=\"true\" />\n      <WriteMask>0</WriteMask>\n      <UserWriteMask>0</UserWriteMask>\n      <References>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=46</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>true</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=212</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=40</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>i=68</Identifier>\n          </TargetId>\n        </ReferenceNode>\n      </References>\n      <Value>\n        <Value>\n          <UInt32 xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">0</UInt32>\n        </Value>\n      </Value>\n      <DataType>\n        <Identifier>i=7</Identifier>\n      </DataType>\n      <ValueRank>-1</ValueRank>\n      <ArrayDimensions />\n      <AccessLevel>1</AccessLevel>\n      <UserAccessLevel>1</UserAccessLevel>\n      <MinimumSamplingInterval>0</MinimumSamplingInterval>\n      <Historizing>false</Historizing>\n    </Node>\n    <Node i:type=\"VariableNode\">\n      <NodeId>\n        <Identifier>ns=1;i=216</Identifier>\n      </NodeId>\n      <NodeClass>Variable_2</NodeClass>\n      <BrowseName>\n        <NamespaceIndex>0</NamespaceIndex>\n        <Name>TransitionTime</Name>\n      </BrowseName>\n      <DisplayName>\n        <Locale></Locale>\n        <Text>TransitionTime</Text>\n      </DisplayName>\n      <Description i:nil=\"true\" />\n      <WriteMask>0</WriteMask>\n      <UserWriteMask>0</UserWriteMask>\n      <References>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=46</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>true</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=212</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=40</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>i=68</Identifier>\n          </TargetId>\n        </ReferenceNode>\n      </References>\n      <Value>\n        <Value>\n          <DateTime xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">0001-01-01T00:00:00</DateTime>\n        </Value>\n      </Value>\n      <DataType>\n        <Identifier>i=294</Identifier>\n      </DataType>\n      <ValueRank>-1</ValueRank>\n      <ArrayDimensions />\n      <AccessLevel>1</AccessLevel>\n      <UserAccessLevel>1</UserAccessLevel>\n      <MinimumSamplingInterval>0</MinimumSamplingInterval>\n      <Historizing>false</Historizing>\n    </Node>\n    <Node i:type=\"VariableNode\">\n      <NodeId>\n        <Identifier>ns=1;i=218</Identifier>\n      </NodeId>\n      <NodeClass>Variable_2</NodeClass>\n      <BrowseName>\n        <NamespaceIndex>0</NamespaceIndex>\n        <Name>Deletable</Name>\n      </BrowseName>\n      <DisplayName>\n        <Locale></Locale>\n        <Text>Deletable</Text>\n      </DisplayName>\n      <Description i:nil=\"true\" />\n      <WriteMask>0</WriteMask>\n      <UserWriteMask>0</UserWriteMask>\n      <References>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=46</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>true</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=206</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=40</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>i=68</Identifier>\n          </TargetId>\n        </ReferenceNode>\n      </References>\n      <Value>\n        <Value>\n          <Boolean xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">false</Boolean>\n        </Value>\n      </Value>\n      <DataType>\n        <Identifier>i=1</Identifier>\n      </DataType>\n      <ValueRank>-1</ValueRank>\n      <ArrayDimensions />\n      <AccessLevel>1</AccessLevel>\n      <UserAccessLevel>1</UserAccessLevel>\n      <MinimumSamplingInterval>0</MinimumSamplingInterval>\n      <Historizing>false</Historizing>\n    </Node>\n    <Node i:type=\"VariableNode\">\n      <NodeId>\n        <Identifier>ns=1;i=220</Identifier>\n      </NodeId>\n      <NodeClass>Variable_2</NodeClass>\n      <BrowseName>\n        <NamespaceIndex>0</NamespaceIndex>\n        <Name>RecycleCount</Name>\n      </BrowseName>\n      <DisplayName>\n        <Locale></Locale>\n        <Text>RecycleCount</Text>\n      </DisplayName>\n      <Description i:nil=\"true\" />\n      <WriteMask>0</WriteMask>\n      <UserWriteMask>0</UserWriteMask>\n      <References>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=46</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>true</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=206</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=40</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>i=68</Identifier>\n          </TargetId>\n        </ReferenceNode>\n      </References>\n      <Value>\n        <Value>\n          <Int32 xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">0</Int32>\n        </Value>\n      </Value>\n      <DataType>\n        <Identifier>i=6</Identifier>\n      </DataType>\n      <ValueRank>-1</ValueRank>\n      <ArrayDimensions />\n      <AccessLevel>1</AccessLevel>\n      <UserAccessLevel>1</UserAccessLevel>\n      <MinimumSamplingInterval>0</MinimumSamplingInterval>\n      <Historizing>false</Historizing>\n    </Node>\n    <Node i:type=\"MethodNode\">\n      <NodeId>\n        <Identifier>ns=1;i=233</Identifier>\n      </NodeId>\n      <NodeClass>Method_4</NodeClass>\n      <BrowseName>\n        <NamespaceIndex>0</NamespaceIndex>\n        <Name>Start</Name>\n      </BrowseName>\n      <DisplayName>\n        <Locale></Locale>\n        <Text>Start</Text>\n      </DisplayName>\n      <Description>\n        <Locale></Locale>\n        <Text>Causes the Program to transition from the Ready state to the Running state.</Text>\n      </Description>\n      <WriteMask>0</WriteMask>\n      <UserWriteMask>0</UserWriteMask>\n      <References>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=47</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>true</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=206</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=40</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>i=2426</Identifier>\n          </TargetId>\n        </ReferenceNode>\n      </References>\n      <Executable>true</Executable>\n      <UserExecutable>true</UserExecutable>\n    </Node>\n    <Node i:type=\"MethodNode\">\n      <NodeId>\n        <Identifier>ns=1;i=234</Identifier>\n      </NodeId>\n      <NodeClass>Method_4</NodeClass>\n      <BrowseName>\n        <NamespaceIndex>0</NamespaceIndex>\n        <Name>Suspend</Name>\n      </BrowseName>\n      <DisplayName>\n        <Locale></Locale>\n        <Text>Suspend</Text>\n      </DisplayName>\n      <Description>\n        <Locale></Locale>\n        <Text>Causes the Program to transition from the Running state to the Suspended state.</Text>\n      </Description>\n      <WriteMask>0</WriteMask>\n      <UserWriteMask>0</UserWriteMask>\n      <References>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=47</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>true</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=206</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=40</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>i=2427</Identifier>\n          </TargetId>\n        </ReferenceNode>\n      </References>\n      <Executable>true</Executable>\n      <UserExecutable>true</UserExecutable>\n    </Node>\n    <Node i:type=\"MethodNode\">\n      <NodeId>\n        <Identifier>ns=1;i=235</Identifier>\n      </NodeId>\n      <NodeClass>Method_4</NodeClass>\n      <BrowseName>\n        <NamespaceIndex>0</NamespaceIndex>\n        <Name>Resume</Name>\n      </BrowseName>\n      <DisplayName>\n        <Locale></Locale>\n        <Text>Resume</Text>\n      </DisplayName>\n      <Description>\n        <Locale></Locale>\n        <Text>Causes the Program to transition from the Suspended state to the Running state.</Text>\n      </Description>\n      <WriteMask>0</WriteMask>\n      <UserWriteMask>0</UserWriteMask>\n      <References>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=47</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>true</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=206</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=40</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>i=2428</Identifier>\n          </TargetId>\n        </ReferenceNode>\n      </References>\n      <Executable>true</Executable>\n      <UserExecutable>true</UserExecutable>\n    </Node>\n    <Node i:type=\"MethodNode\">\n      <NodeId>\n        <Identifier>ns=1;i=236</Identifier>\n      </NodeId>\n      <NodeClass>Method_4</NodeClass>\n      <BrowseName>\n        <NamespaceIndex>0</NamespaceIndex>\n        <Name>Halt</Name>\n      </BrowseName>\n      <DisplayName>\n        <Locale></Locale>\n        <Text>Halt</Text>\n      </DisplayName>\n      <Description>\n        <Locale></Locale>\n        <Text>Causes the Program to transition from the Ready, Running or Suspended state to the Halted state.</Text>\n      </Description>\n      <WriteMask>0</WriteMask>\n      <UserWriteMask>0</UserWriteMask>\n      <References>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=47</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>true</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=206</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=40</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>i=2429</Identifier>\n          </TargetId>\n        </ReferenceNode>\n      </References>\n      <Executable>true</Executable>\n      <UserExecutable>true</UserExecutable>\n    </Node>\n    <Node i:type=\"MethodNode\">\n      <NodeId>\n        <Identifier>ns=1;i=237</Identifier>\n      </NodeId>\n      <NodeClass>Method_4</NodeClass>\n      <BrowseName>\n        <NamespaceIndex>0</NamespaceIndex>\n        <Name>Reset</Name>\n      </BrowseName>\n      <DisplayName>\n        <Locale></Locale>\n        <Text>Reset</Text>\n      </DisplayName>\n      <Description>\n        <Locale></Locale>\n        <Text>Causes the Program to transition from the Halted state to the Ready state.</Text>\n      </Description>\n      <WriteMask>0</WriteMask>\n      <UserWriteMask>0</UserWriteMask>\n      <References>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=47</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>true</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=206</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=40</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>i=2430</Identifier>\n          </TargetId>\n        </ReferenceNode>\n      </References>\n      <Executable>true</Executable>\n      <UserExecutable>true</UserExecutable>\n    </Node>\n    <Node i:type=\"VariableNode\">\n      <NodeId>\n        <Identifier>ns=1;i=238</Identifier>\n      </NodeId>\n      <NodeClass>Variable_2</NodeClass>\n      <BrowseName>\n        <NamespaceIndex>2</NamespaceIndex>\n        <Name>UpdateRate</Name>\n      </BrowseName>\n      <DisplayName>\n        <Locale></Locale>\n        <Text>UpdateRate</Text>\n      </DisplayName>\n      <Description>\n        <Locale></Locale>\n        <Text>The rate at which the simulation runs.</Text>\n      </Description>\n      <WriteMask>0</WriteMask>\n      <UserWriteMask>0</UserWriteMask>\n      <References>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=46</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>true</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=206</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=40</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>i=68</Identifier>\n          </TargetId>\n        </ReferenceNode>\n      </References>\n      <Value>\n        <Value>\n          <UInt32 xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">0</UInt32>\n        </Value>\n      </Value>\n      <DataType>\n        <Identifier>i=7</Identifier>\n      </DataType>\n      <ValueRank>-1</ValueRank>\n      <ArrayDimensions />\n      <AccessLevel>3</AccessLevel>\n      <UserAccessLevel>3</UserAccessLevel>\n      <MinimumSamplingInterval>0</MinimumSamplingInterval>\n      <Historizing>false</Historizing>\n    </Node>\n    <Node i:type=\"ObjectNode\">\n      <NodeId>\n        <Identifier>ns=1;i=239</Identifier>\n      </NodeId>\n      <NodeClass>Object_1</NodeClass>\n      <BrowseName>\n        <NamespaceIndex>1</NamespaceIndex>\n        <Name>Boiler #3</Name>\n      </BrowseName>\n      <DisplayName>\n        <Locale></Locale>\n        <Text>Boiler #3</Text>\n      </DisplayName>\n      <Description i:nil=\"true\" />\n      <WriteMask>0</WriteMask>\n      <UserWriteMask>0</UserWriteMask>\n      <References>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=47</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>true</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=1</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=40</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>ns=2;i=151</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=48</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=240</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=48</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=255</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=48</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=263</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=36</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=285</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=47</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=240</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=47</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=255</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=47</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=263</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=47</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=271</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=47</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=275</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=47</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=279</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=47</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=285</Identifier>\n          </TargetId>\n        </ReferenceNode>\n      </References>\n      <EventNotifier>0</EventNotifier>\n    </Node>\n    <Node i:type=\"ObjectNode\">\n      <NodeId>\n        <Identifier>ns=1;i=240</Identifier>\n      </NodeId>\n      <NodeClass>Object_1</NodeClass>\n      <BrowseName>\n        <NamespaceIndex>1</NamespaceIndex>\n        <Name>InputPipe</Name>\n      </BrowseName>\n      <DisplayName>\n        <Locale></Locale>\n        <Text>Boiler #3: Pipe1001</Text>\n      </DisplayName>\n      <Description i:nil=\"true\" />\n      <WriteMask>0</WriteMask>\n      <UserWriteMask>0</UserWriteMask>\n      <References>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=47</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>true</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=239</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=40</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>ns=2;i=120</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=48</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>true</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=239</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=48</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=241</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>ns=2;i=1</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=255</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=47</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=241</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=47</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=248</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=47</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>true</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=399</Identifier>\n          </TargetId>\n        </ReferenceNode>\n      </References>\n      <EventNotifier>1</EventNotifier>\n    </Node>\n    <Node i:type=\"ObjectNode\">\n      <NodeId>\n        <Identifier>ns=1;i=241</Identifier>\n      </NodeId>\n      <NodeClass>Object_1</NodeClass>\n      <BrowseName>\n        <NamespaceIndex>2</NamespaceIndex>\n        <Name>FTX001</Name>\n      </BrowseName>\n      <DisplayName>\n        <Locale></Locale>\n        <Text>FlowTransmitter1</Text>\n      </DisplayName>\n      <Description i:nil=\"true\" />\n      <WriteMask>0</WriteMask>\n      <UserWriteMask>0</UserWriteMask>\n      <References>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=47</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>true</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=240</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=40</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>ns=2;i=50</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=48</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>true</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=240</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=47</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=242</Identifier>\n          </TargetId>\n        </ReferenceNode>\n      </References>\n      <EventNotifier>1</EventNotifier>\n    </Node>\n    <Node i:type=\"VariableNode\">\n      <NodeId>\n        <Identifier>ns=1;i=242</Identifier>\n      </NodeId>\n      <NodeClass>Variable_2</NodeClass>\n      <BrowseName>\n        <NamespaceIndex>2</NamespaceIndex>\n        <Name>Output</Name>\n      </BrowseName>\n      <DisplayName>\n        <Locale></Locale>\n        <Text>Output</Text>\n      </DisplayName>\n      <Description i:nil=\"true\" />\n      <WriteMask>0</WriteMask>\n      <UserWriteMask>0</UserWriteMask>\n      <References>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=47</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>true</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=241</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=40</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>i=2368</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>ns=2;i=3</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=272</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>ns=2;i=3</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=281</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=46</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=246</Identifier>\n          </TargetId>\n        </ReferenceNode>\n      </References>\n      <Value>\n        <Value>\n          <Double xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">0</Double>\n        </Value>\n      </Value>\n      <DataType>\n        <Identifier>i=11</Identifier>\n      </DataType>\n      <ValueRank>-1</ValueRank>\n      <ArrayDimensions />\n      <AccessLevel>1</AccessLevel>\n      <UserAccessLevel>1</UserAccessLevel>\n      <MinimumSamplingInterval>0</MinimumSamplingInterval>\n      <Historizing>false</Historizing>\n    </Node>\n    <Node i:type=\"VariableNode\">\n      <NodeId>\n        <Identifier>ns=1;i=246</Identifier>\n      </NodeId>\n      <NodeClass>Variable_2</NodeClass>\n      <BrowseName>\n        <NamespaceIndex>0</NamespaceIndex>\n        <Name>EURange</Name>\n      </BrowseName>\n      <DisplayName>\n        <Locale></Locale>\n        <Text>EURange</Text>\n      </DisplayName>\n      <Description i:nil=\"true\" />\n      <WriteMask>0</WriteMask>\n      <UserWriteMask>0</UserWriteMask>\n      <References>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=46</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>true</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=242</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=40</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>i=68</Identifier>\n          </TargetId>\n        </ReferenceNode>\n      </References>\n      <Value>\n        <Value>\n          <Null xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\" />\n        </Value>\n      </Value>\n      <DataType>\n        <Identifier>i=884</Identifier>\n      </DataType>\n      <ValueRank>-1</ValueRank>\n      <ArrayDimensions />\n      <AccessLevel>1</AccessLevel>\n      <UserAccessLevel>1</UserAccessLevel>\n      <MinimumSamplingInterval>0</MinimumSamplingInterval>\n      <Historizing>false</Historizing>\n    </Node>\n    <Node i:type=\"ObjectNode\">\n      <NodeId>\n        <Identifier>ns=1;i=248</Identifier>\n      </NodeId>\n      <NodeClass>Object_1</NodeClass>\n      <BrowseName>\n        <NamespaceIndex>2</NamespaceIndex>\n        <Name>ValveX001</Name>\n      </BrowseName>\n      <DisplayName>\n        <Locale></Locale>\n        <Text>Valve</Text>\n      </DisplayName>\n      <Description i:nil=\"true\" />\n      <WriteMask>0</WriteMask>\n      <UserWriteMask>0</UserWriteMask>\n      <References>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=47</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>true</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=240</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=40</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>ns=2;i=28</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=47</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=249</Identifier>\n          </TargetId>\n        </ReferenceNode>\n      </References>\n      <EventNotifier>1</EventNotifier>\n    </Node>\n    <Node i:type=\"VariableNode\">\n      <NodeId>\n        <Identifier>ns=1;i=249</Identifier>\n      </NodeId>\n      <NodeClass>Variable_2</NodeClass>\n      <BrowseName>\n        <NamespaceIndex>2</NamespaceIndex>\n        <Name>Input</Name>\n      </BrowseName>\n      <DisplayName>\n        <Locale></Locale>\n        <Text>Input</Text>\n      </DisplayName>\n      <Description i:nil=\"true\" />\n      <WriteMask>0</WriteMask>\n      <UserWriteMask>0</UserWriteMask>\n      <References>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=47</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>true</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=248</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=40</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>i=2368</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>ns=2;i=3</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>true</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=274</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=46</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=253</Identifier>\n          </TargetId>\n        </ReferenceNode>\n      </References>\n      <Value>\n        <Value>\n          <Double xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">0</Double>\n        </Value>\n      </Value>\n      <DataType>\n        <Identifier>i=11</Identifier>\n      </DataType>\n      <ValueRank>-1</ValueRank>\n      <ArrayDimensions />\n      <AccessLevel>2</AccessLevel>\n      <UserAccessLevel>2</UserAccessLevel>\n      <MinimumSamplingInterval>0</MinimumSamplingInterval>\n      <Historizing>false</Historizing>\n    </Node>\n    <Node i:type=\"VariableNode\">\n      <NodeId>\n        <Identifier>ns=1;i=253</Identifier>\n      </NodeId>\n      <NodeClass>Variable_2</NodeClass>\n      <BrowseName>\n        <NamespaceIndex>0</NamespaceIndex>\n        <Name>EURange</Name>\n      </BrowseName>\n      <DisplayName>\n        <Locale></Locale>\n        <Text>EURange</Text>\n      </DisplayName>\n      <Description i:nil=\"true\" />\n      <WriteMask>0</WriteMask>\n      <UserWriteMask>0</UserWriteMask>\n      <References>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=46</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>true</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=249</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=40</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>i=68</Identifier>\n          </TargetId>\n        </ReferenceNode>\n      </References>\n      <Value>\n        <Value>\n          <Null xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\" />\n        </Value>\n      </Value>\n      <DataType>\n        <Identifier>i=884</Identifier>\n      </DataType>\n      <ValueRank>-1</ValueRank>\n      <ArrayDimensions />\n      <AccessLevel>1</AccessLevel>\n      <UserAccessLevel>1</UserAccessLevel>\n      <MinimumSamplingInterval>0</MinimumSamplingInterval>\n      <Historizing>false</Historizing>\n    </Node>\n    <Node i:type=\"ObjectNode\">\n      <NodeId>\n        <Identifier>ns=1;i=255</Identifier>\n      </NodeId>\n      <NodeClass>Object_1</NodeClass>\n      <BrowseName>\n        <NamespaceIndex>1</NamespaceIndex>\n        <Name>Drum</Name>\n      </BrowseName>\n      <DisplayName>\n        <Locale></Locale>\n        <Text>Boiler #3: Drum1001</Text>\n      </DisplayName>\n      <Description i:nil=\"true\" />\n      <WriteMask>0</WriteMask>\n      <UserWriteMask>0</UserWriteMask>\n      <References>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=47</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>true</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=239</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=40</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>ns=2;i=135</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=48</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>true</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=239</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>ns=2;i=1</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>true</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=240</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=48</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=256</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>ns=2;i=2</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=263</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=47</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=256</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=47</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>true</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=398</Identifier>\n          </TargetId>\n        </ReferenceNode>\n      </References>\n      <EventNotifier>1</EventNotifier>\n    </Node>\n    <Node i:type=\"ObjectNode\">\n      <NodeId>\n        <Identifier>ns=1;i=256</Identifier>\n      </NodeId>\n      <NodeClass>Object_1</NodeClass>\n      <BrowseName>\n        <NamespaceIndex>2</NamespaceIndex>\n        <Name>LIX001</Name>\n      </BrowseName>\n      <DisplayName>\n        <Locale></Locale>\n        <Text>LIX001</Text>\n      </DisplayName>\n      <Description i:nil=\"true\" />\n      <WriteMask>0</WriteMask>\n      <UserWriteMask>0</UserWriteMask>\n      <References>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=47</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>true</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=255</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=40</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>ns=2;i=43</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=48</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>true</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=255</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=47</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=257</Identifier>\n          </TargetId>\n        </ReferenceNode>\n      </References>\n      <EventNotifier>1</EventNotifier>\n    </Node>\n    <Node i:type=\"VariableNode\">\n      <NodeId>\n        <Identifier>ns=1;i=257</Identifier>\n      </NodeId>\n      <NodeClass>Variable_2</NodeClass>\n      <BrowseName>\n        <NamespaceIndex>2</NamespaceIndex>\n        <Name>Output</Name>\n      </BrowseName>\n      <DisplayName>\n        <Locale></Locale>\n        <Text>Output</Text>\n      </DisplayName>\n      <Description i:nil=\"true\" />\n      <WriteMask>0</WriteMask>\n      <UserWriteMask>0</UserWriteMask>\n      <References>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=47</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>true</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=256</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=40</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>i=2368</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>ns=2;i=3</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=276</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=46</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=261</Identifier>\n          </TargetId>\n        </ReferenceNode>\n      </References>\n      <Value>\n        <Value>\n          <Double xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">0</Double>\n        </Value>\n      </Value>\n      <DataType>\n        <Identifier>i=26</Identifier>\n      </DataType>\n      <ValueRank>-1</ValueRank>\n      <ArrayDimensions />\n      <AccessLevel>1</AccessLevel>\n      <UserAccessLevel>1</UserAccessLevel>\n      <MinimumSamplingInterval>0</MinimumSamplingInterval>\n      <Historizing>false</Historizing>\n    </Node>\n    <Node i:type=\"VariableNode\">\n      <NodeId>\n        <Identifier>ns=1;i=261</Identifier>\n      </NodeId>\n      <NodeClass>Variable_2</NodeClass>\n      <BrowseName>\n        <NamespaceIndex>0</NamespaceIndex>\n        <Name>EURange</Name>\n      </BrowseName>\n      <DisplayName>\n        <Locale></Locale>\n        <Text>EURange</Text>\n      </DisplayName>\n      <Description i:nil=\"true\" />\n      <WriteMask>0</WriteMask>\n      <UserWriteMask>0</UserWriteMask>\n      <References>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=46</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>true</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=257</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=40</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>i=68</Identifier>\n          </TargetId>\n        </ReferenceNode>\n      </References>\n      <Value>\n        <Value>\n          <Null xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\" />\n        </Value>\n      </Value>\n      <DataType>\n        <Identifier>i=884</Identifier>\n      </DataType>\n      <ValueRank>-1</ValueRank>\n      <ArrayDimensions />\n      <AccessLevel>1</AccessLevel>\n      <UserAccessLevel>1</UserAccessLevel>\n      <MinimumSamplingInterval>0</MinimumSamplingInterval>\n      <Historizing>false</Historizing>\n    </Node>\n    <Node i:type=\"ObjectNode\">\n      <NodeId>\n        <Identifier>ns=1;i=263</Identifier>\n      </NodeId>\n      <NodeClass>Object_1</NodeClass>\n      <BrowseName>\n        <NamespaceIndex>1</NamespaceIndex>\n        <Name>OutputPipe</Name>\n      </BrowseName>\n      <DisplayName>\n        <Locale></Locale>\n        <Text>Boiler #3: Pipe1002</Text>\n      </DisplayName>\n      <Description i:nil=\"true\" />\n      <WriteMask>0</WriteMask>\n      <UserWriteMask>0</UserWriteMask>\n      <References>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=47</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>true</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=239</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=40</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>ns=2;i=143</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=48</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>true</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=239</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>ns=2;i=2</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>true</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=255</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=48</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=264</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=47</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=264</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=47</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>true</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=399</Identifier>\n          </TargetId>\n        </ReferenceNode>\n      </References>\n      <EventNotifier>1</EventNotifier>\n    </Node>\n    <Node i:type=\"ObjectNode\">\n      <NodeId>\n        <Identifier>ns=1;i=264</Identifier>\n      </NodeId>\n      <NodeClass>Object_1</NodeClass>\n      <BrowseName>\n        <NamespaceIndex>2</NamespaceIndex>\n        <Name>FTX002</Name>\n      </BrowseName>\n      <DisplayName>\n        <Locale></Locale>\n        <Text>FTX002</Text>\n      </DisplayName>\n      <Description i:nil=\"true\" />\n      <WriteMask>0</WriteMask>\n      <UserWriteMask>0</UserWriteMask>\n      <References>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=47</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>true</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=263</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=40</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>ns=2;i=50</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=48</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>true</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=263</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=47</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=265</Identifier>\n          </TargetId>\n        </ReferenceNode>\n      </References>\n      <EventNotifier>1</EventNotifier>\n    </Node>\n    <Node i:type=\"VariableNode\">\n      <NodeId>\n        <Identifier>ns=1;i=265</Identifier>\n      </NodeId>\n      <NodeClass>Variable_2</NodeClass>\n      <BrowseName>\n        <NamespaceIndex>2</NamespaceIndex>\n        <Name>Output</Name>\n      </BrowseName>\n      <DisplayName>\n        <Locale></Locale>\n        <Text>Output</Text>\n      </DisplayName>\n      <Description i:nil=\"true\" />\n      <WriteMask>0</WriteMask>\n      <UserWriteMask>0</UserWriteMask>\n      <References>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=47</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>true</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=264</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=40</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>i=2368</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>ns=2;i=3</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=282</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=46</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=269</Identifier>\n          </TargetId>\n        </ReferenceNode>\n      </References>\n      <Value>\n        <Value>\n          <Double xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">0</Double>\n        </Value>\n      </Value>\n      <DataType>\n        <Identifier>i=11</Identifier>\n      </DataType>\n      <ValueRank>-1</ValueRank>\n      <ArrayDimensions />\n      <AccessLevel>1</AccessLevel>\n      <UserAccessLevel>1</UserAccessLevel>\n      <MinimumSamplingInterval>0</MinimumSamplingInterval>\n      <Historizing>false</Historizing>\n    </Node>\n    <Node i:type=\"VariableNode\">\n      <NodeId>\n        <Identifier>ns=1;i=269</Identifier>\n      </NodeId>\n      <NodeClass>Variable_2</NodeClass>\n      <BrowseName>\n        <NamespaceIndex>0</NamespaceIndex>\n        <Name>EURange</Name>\n      </BrowseName>\n      <DisplayName>\n        <Locale></Locale>\n        <Text>EURange</Text>\n      </DisplayName>\n      <Description i:nil=\"true\" />\n      <WriteMask>0</WriteMask>\n      <UserWriteMask>0</UserWriteMask>\n      <References>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=46</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>true</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=265</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=40</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>i=68</Identifier>\n          </TargetId>\n        </ReferenceNode>\n      </References>\n      <Value>\n        <Value>\n          <Null xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\" />\n        </Value>\n      </Value>\n      <DataType>\n        <Identifier>i=884</Identifier>\n      </DataType>\n      <ValueRank>-1</ValueRank>\n      <ArrayDimensions />\n      <AccessLevel>1</AccessLevel>\n      <UserAccessLevel>1</UserAccessLevel>\n      <MinimumSamplingInterval>0</MinimumSamplingInterval>\n      <Historizing>false</Historizing>\n    </Node>\n    <Node i:type=\"ObjectNode\">\n      <NodeId>\n        <Identifier>ns=1;i=271</Identifier>\n      </NodeId>\n      <NodeClass>Object_1</NodeClass>\n      <BrowseName>\n        <NamespaceIndex>1</NamespaceIndex>\n        <Name>FlowController</Name>\n      </BrowseName>\n      <DisplayName>\n        <Locale></Locale>\n        <Text>Boiler #3: FC1001</Text>\n      </DisplayName>\n      <Description i:nil=\"true\" />\n      <WriteMask>0</WriteMask>\n      <UserWriteMask>0</UserWriteMask>\n      <References>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=47</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>true</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=239</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=40</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>ns=2;i=39</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=46</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=272</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=46</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=273</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=46</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=274</Identifier>\n          </TargetId>\n        </ReferenceNode>\n      </References>\n      <EventNotifier>0</EventNotifier>\n    </Node>\n    <Node i:type=\"VariableNode\">\n      <NodeId>\n        <Identifier>ns=1;i=272</Identifier>\n      </NodeId>\n      <NodeClass>Variable_2</NodeClass>\n      <BrowseName>\n        <NamespaceIndex>2</NamespaceIndex>\n        <Name>Measurement</Name>\n      </BrowseName>\n      <DisplayName>\n        <Locale></Locale>\n        <Text>Measurement</Text>\n      </DisplayName>\n      <Description i:nil=\"true\" />\n      <WriteMask>0</WriteMask>\n      <UserWriteMask>0</UserWriteMask>\n      <References>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=46</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>true</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=271</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=40</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>i=68</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>ns=2;i=3</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>true</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=242</Identifier>\n          </TargetId>\n        </ReferenceNode>\n      </References>\n      <Value>\n        <Value>\n          <Double xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">0</Double>\n        </Value>\n      </Value>\n      <DataType>\n        <Identifier>i=11</Identifier>\n      </DataType>\n      <ValueRank>-1</ValueRank>\n      <ArrayDimensions />\n      <AccessLevel>1</AccessLevel>\n      <UserAccessLevel>1</UserAccessLevel>\n      <MinimumSamplingInterval>0</MinimumSamplingInterval>\n      <Historizing>false</Historizing>\n    </Node>\n    <Node i:type=\"VariableNode\">\n      <NodeId>\n        <Identifier>ns=1;i=273</Identifier>\n      </NodeId>\n      <NodeClass>Variable_2</NodeClass>\n      <BrowseName>\n        <NamespaceIndex>2</NamespaceIndex>\n        <Name>SetPoint</Name>\n      </BrowseName>\n      <DisplayName>\n        <Locale></Locale>\n        <Text>SetPoint</Text>\n      </DisplayName>\n      <Description i:nil=\"true\" />\n      <WriteMask>0</WriteMask>\n      <UserWriteMask>0</UserWriteMask>\n      <References>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=46</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>true</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=271</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=40</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>i=68</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>ns=2;i=3</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>true</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=283</Identifier>\n          </TargetId>\n        </ReferenceNode>\n      </References>\n      <Value>\n        <Value>\n          <Double xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">0</Double>\n        </Value>\n      </Value>\n      <DataType>\n        <Identifier>i=11</Identifier>\n      </DataType>\n      <ValueRank>-1</ValueRank>\n      <ArrayDimensions />\n      <AccessLevel>3</AccessLevel>\n      <UserAccessLevel>3</UserAccessLevel>\n      <MinimumSamplingInterval>0</MinimumSamplingInterval>\n      <Historizing>false</Historizing>\n    </Node>\n    <Node i:type=\"VariableNode\">\n      <NodeId>\n        <Identifier>ns=1;i=274</Identifier>\n      </NodeId>\n      <NodeClass>Variable_2</NodeClass>\n      <BrowseName>\n        <NamespaceIndex>2</NamespaceIndex>\n        <Name>ControlOut</Name>\n      </BrowseName>\n      <DisplayName>\n        <Locale></Locale>\n        <Text>ControlOut</Text>\n      </DisplayName>\n      <Description i:nil=\"true\" />\n      <WriteMask>0</WriteMask>\n      <UserWriteMask>0</UserWriteMask>\n      <References>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=46</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>true</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=271</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=40</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>i=68</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>ns=2;i=3</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=249</Identifier>\n          </TargetId>\n        </ReferenceNode>\n      </References>\n      <Value>\n        <Value>\n          <Double xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">0</Double>\n        </Value>\n      </Value>\n      <DataType>\n        <Identifier>i=11</Identifier>\n      </DataType>\n      <ValueRank>-1</ValueRank>\n      <ArrayDimensions />\n      <AccessLevel>1</AccessLevel>\n      <UserAccessLevel>1</UserAccessLevel>\n      <MinimumSamplingInterval>0</MinimumSamplingInterval>\n      <Historizing>false</Historizing>\n    </Node>\n    <Node i:type=\"ObjectNode\">\n      <NodeId>\n        <Identifier>ns=1;i=275</Identifier>\n      </NodeId>\n      <NodeClass>Object_1</NodeClass>\n      <BrowseName>\n        <NamespaceIndex>1</NamespaceIndex>\n        <Name>LevelController</Name>\n      </BrowseName>\n      <DisplayName>\n        <Locale></Locale>\n        <Text>Boiler #3: LC1001</Text>\n      </DisplayName>\n      <Description i:nil=\"true\" />\n      <WriteMask>0</WriteMask>\n      <UserWriteMask>0</UserWriteMask>\n      <References>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=47</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>true</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=239</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=40</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>ns=2;i=35</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=46</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=276</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=46</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=277</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=46</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=278</Identifier>\n          </TargetId>\n        </ReferenceNode>\n      </References>\n      <EventNotifier>0</EventNotifier>\n    </Node>\n    <Node i:type=\"VariableNode\">\n      <NodeId>\n        <Identifier>ns=1;i=276</Identifier>\n      </NodeId>\n      <NodeClass>Variable_2</NodeClass>\n      <BrowseName>\n        <NamespaceIndex>2</NamespaceIndex>\n        <Name>Measurement</Name>\n      </BrowseName>\n      <DisplayName>\n        <Locale></Locale>\n        <Text>Measurement</Text>\n      </DisplayName>\n      <Description i:nil=\"true\" />\n      <WriteMask>0</WriteMask>\n      <UserWriteMask>0</UserWriteMask>\n      <References>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=46</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>true</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=275</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=40</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>i=68</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>ns=2;i=3</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>true</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=257</Identifier>\n          </TargetId>\n        </ReferenceNode>\n      </References>\n      <Value>\n        <Value>\n          <Double xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">0</Double>\n        </Value>\n      </Value>\n      <DataType>\n        <Identifier>i=11</Identifier>\n      </DataType>\n      <ValueRank>-1</ValueRank>\n      <ArrayDimensions />\n      <AccessLevel>1</AccessLevel>\n      <UserAccessLevel>1</UserAccessLevel>\n      <MinimumSamplingInterval>0</MinimumSamplingInterval>\n      <Historizing>false</Historizing>\n    </Node>\n    <Node i:type=\"VariableNode\">\n      <NodeId>\n        <Identifier>ns=1;i=277</Identifier>\n      </NodeId>\n      <NodeClass>Variable_2</NodeClass>\n      <BrowseName>\n        <NamespaceIndex>2</NamespaceIndex>\n        <Name>SetPoint</Name>\n      </BrowseName>\n      <DisplayName>\n        <Locale></Locale>\n        <Text>SetPoint</Text>\n      </DisplayName>\n      <Description i:nil=\"true\" />\n      <WriteMask>0</WriteMask>\n      <UserWriteMask>0</UserWriteMask>\n      <References>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=46</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>true</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=275</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=40</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>i=68</Identifier>\n          </TargetId>\n        </ReferenceNode>\n      </References>\n      <Value>\n        <Value>\n          <Double xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">0</Double>\n        </Value>\n      </Value>\n      <DataType>\n        <Identifier>i=11</Identifier>\n      </DataType>\n      <ValueRank>-1</ValueRank>\n      <ArrayDimensions />\n      <AccessLevel>3</AccessLevel>\n      <UserAccessLevel>3</UserAccessLevel>\n      <MinimumSamplingInterval>0</MinimumSamplingInterval>\n      <Historizing>false</Historizing>\n    </Node>\n    <Node i:type=\"VariableNode\">\n      <NodeId>\n        <Identifier>ns=1;i=278</Identifier>\n      </NodeId>\n      <NodeClass>Variable_2</NodeClass>\n      <BrowseName>\n        <NamespaceIndex>2</NamespaceIndex>\n        <Name>ControlOut</Name>\n      </BrowseName>\n      <DisplayName>\n        <Locale></Locale>\n        <Text>ControlOut</Text>\n      </DisplayName>\n      <Description i:nil=\"true\" />\n      <WriteMask>0</WriteMask>\n      <UserWriteMask>0</UserWriteMask>\n      <References>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=46</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>true</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=275</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=40</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>i=68</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>ns=2;i=3</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=280</Identifier>\n          </TargetId>\n        </ReferenceNode>\n      </References>\n      <Value>\n        <Value>\n          <Double xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">0</Double>\n        </Value>\n      </Value>\n      <DataType>\n        <Identifier>i=11</Identifier>\n      </DataType>\n      <ValueRank>-1</ValueRank>\n      <ArrayDimensions />\n      <AccessLevel>1</AccessLevel>\n      <UserAccessLevel>1</UserAccessLevel>\n      <MinimumSamplingInterval>0</MinimumSamplingInterval>\n      <Historizing>false</Historizing>\n    </Node>\n    <Node i:type=\"ObjectNode\">\n      <NodeId>\n        <Identifier>ns=1;i=279</Identifier>\n      </NodeId>\n      <NodeClass>Object_1</NodeClass>\n      <BrowseName>\n        <NamespaceIndex>1</NamespaceIndex>\n        <Name>CustomController</Name>\n      </BrowseName>\n      <DisplayName>\n        <Locale></Locale>\n        <Text>Boiler #3: CC1001</Text>\n      </DisplayName>\n      <Description i:nil=\"true\" />\n      <WriteMask>0</WriteMask>\n      <UserWriteMask>0</UserWriteMask>\n      <References>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=47</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>true</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=239</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=40</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>ns=2;i=22</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=46</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=280</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=46</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=281</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=46</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=282</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=46</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=283</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=46</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=284</Identifier>\n          </TargetId>\n        </ReferenceNode>\n      </References>\n      <EventNotifier>0</EventNotifier>\n    </Node>\n    <Node i:type=\"VariableNode\">\n      <NodeId>\n        <Identifier>ns=1;i=280</Identifier>\n      </NodeId>\n      <NodeClass>Variable_2</NodeClass>\n      <BrowseName>\n        <NamespaceIndex>2</NamespaceIndex>\n        <Name>Input1</Name>\n      </BrowseName>\n      <DisplayName>\n        <Locale></Locale>\n        <Text>Input1</Text>\n      </DisplayName>\n      <Description i:nil=\"true\" />\n      <WriteMask>0</WriteMask>\n      <UserWriteMask>0</UserWriteMask>\n      <References>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=46</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>true</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=279</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=40</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>i=68</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>ns=2;i=3</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>true</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=278</Identifier>\n          </TargetId>\n        </ReferenceNode>\n      </References>\n      <Value>\n        <Value>\n          <Double xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">0</Double>\n        </Value>\n      </Value>\n      <DataType>\n        <Identifier>i=11</Identifier>\n      </DataType>\n      <ValueRank>-1</ValueRank>\n      <ArrayDimensions />\n      <AccessLevel>2</AccessLevel>\n      <UserAccessLevel>2</UserAccessLevel>\n      <MinimumSamplingInterval>0</MinimumSamplingInterval>\n      <Historizing>false</Historizing>\n    </Node>\n    <Node i:type=\"VariableNode\">\n      <NodeId>\n        <Identifier>ns=1;i=281</Identifier>\n      </NodeId>\n      <NodeClass>Variable_2</NodeClass>\n      <BrowseName>\n        <NamespaceIndex>2</NamespaceIndex>\n        <Name>Input2</Name>\n      </BrowseName>\n      <DisplayName>\n        <Locale></Locale>\n        <Text>Input2</Text>\n      </DisplayName>\n      <Description i:nil=\"true\" />\n      <WriteMask>0</WriteMask>\n      <UserWriteMask>0</UserWriteMask>\n      <References>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=46</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>true</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=279</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=40</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>i=68</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>ns=2;i=3</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>true</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=242</Identifier>\n          </TargetId>\n        </ReferenceNode>\n      </References>\n      <Value>\n        <Value>\n          <Double xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">0</Double>\n        </Value>\n      </Value>\n      <DataType>\n        <Identifier>i=11</Identifier>\n      </DataType>\n      <ValueRank>-1</ValueRank>\n      <ArrayDimensions />\n      <AccessLevel>2</AccessLevel>\n      <UserAccessLevel>2</UserAccessLevel>\n      <MinimumSamplingInterval>0</MinimumSamplingInterval>\n      <Historizing>false</Historizing>\n    </Node>\n    <Node i:type=\"VariableNode\">\n      <NodeId>\n        <Identifier>ns=1;i=282</Identifier>\n      </NodeId>\n      <NodeClass>Variable_2</NodeClass>\n      <BrowseName>\n        <NamespaceIndex>2</NamespaceIndex>\n        <Name>Input3</Name>\n      </BrowseName>\n      <DisplayName>\n        <Locale></Locale>\n        <Text>Input3</Text>\n      </DisplayName>\n      <Description i:nil=\"true\" />\n      <WriteMask>0</WriteMask>\n      <UserWriteMask>0</UserWriteMask>\n      <References>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=46</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>true</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=279</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=40</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>i=68</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>ns=2;i=3</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>true</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=265</Identifier>\n          </TargetId>\n        </ReferenceNode>\n      </References>\n      <Value>\n        <Value>\n          <Double xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">0</Double>\n        </Value>\n      </Value>\n      <DataType>\n        <Identifier>i=11</Identifier>\n      </DataType>\n      <ValueRank>-1</ValueRank>\n      <ArrayDimensions />\n      <AccessLevel>2</AccessLevel>\n      <UserAccessLevel>2</UserAccessLevel>\n      <MinimumSamplingInterval>0</MinimumSamplingInterval>\n      <Historizing>false</Historizing>\n    </Node>\n    <Node i:type=\"VariableNode\">\n      <NodeId>\n        <Identifier>ns=1;i=283</Identifier>\n      </NodeId>\n      <NodeClass>Variable_2</NodeClass>\n      <BrowseName>\n        <NamespaceIndex>2</NamespaceIndex>\n        <Name>ControlOut</Name>\n      </BrowseName>\n      <DisplayName>\n        <Locale></Locale>\n        <Text>ControlOut</Text>\n      </DisplayName>\n      <Description i:nil=\"true\" />\n      <WriteMask>0</WriteMask>\n      <UserWriteMask>0</UserWriteMask>\n      <References>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=46</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>true</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=279</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=40</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>i=68</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>ns=2;i=3</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=273</Identifier>\n          </TargetId>\n        </ReferenceNode>\n      </References>\n      <Value>\n        <Value>\n          <Double xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">0</Double>\n        </Value>\n      </Value>\n      <DataType>\n        <Identifier>i=11</Identifier>\n      </DataType>\n      <ValueRank>-1</ValueRank>\n      <ArrayDimensions />\n      <AccessLevel>1</AccessLevel>\n      <UserAccessLevel>1</UserAccessLevel>\n      <MinimumSamplingInterval>0</MinimumSamplingInterval>\n      <Historizing>false</Historizing>\n    </Node>\n    <Node i:type=\"VariableNode\">\n      <NodeId>\n        <Identifier>ns=1;i=284</Identifier>\n      </NodeId>\n      <NodeClass>Variable_2</NodeClass>\n      <BrowseName>\n        <NamespaceIndex>2</NamespaceIndex>\n        <Name>Description</Name>\n      </BrowseName>\n      <DisplayName>\n        <Locale></Locale>\n        <Text>Description</Text>\n      </DisplayName>\n      <Description i:nil=\"true\" />\n      <WriteMask>0</WriteMask>\n      <UserWriteMask>0</UserWriteMask>\n      <References>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=46</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>true</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=279</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=40</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>i=68</Identifier>\n          </TargetId>\n        </ReferenceNode>\n      </References>\n      <Value>\n        <Value>\n          <LocalizedText xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n            <Locale p2:nil=\"true\" xmlns:p2=\"http://www.w3.org/2001/XMLSchema-instance\" />\n            <Text p2:nil=\"true\" xmlns:p2=\"http://www.w3.org/2001/XMLSchema-instance\" />\n          </LocalizedText>\n        </Value>\n      </Value>\n      <DataType>\n        <Identifier>i=21</Identifier>\n      </DataType>\n      <ValueRank>-1</ValueRank>\n      <ArrayDimensions />\n      <AccessLevel>1</AccessLevel>\n      <UserAccessLevel>1</UserAccessLevel>\n      <MinimumSamplingInterval>0</MinimumSamplingInterval>\n      <Historizing>false</Historizing>\n    </Node>\n    <Node i:type=\"ObjectNode\">\n      <NodeId>\n        <Identifier>ns=1;i=285</Identifier>\n      </NodeId>\n      <NodeClass>Object_1</NodeClass>\n      <BrowseName>\n        <NamespaceIndex>2</NamespaceIndex>\n        <Name>Simulation</Name>\n      </BrowseName>\n      <DisplayName>\n        <Locale></Locale>\n        <Text>Simulation</Text>\n      </DisplayName>\n      <Description i:nil=\"true\" />\n      <WriteMask>0</WriteMask>\n      <UserWriteMask>0</UserWriteMask>\n      <References>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=47</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>true</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=239</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=40</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>ns=2;i=57</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=36</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>true</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=239</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=47</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=286</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=47</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=291</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=46</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=297</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=46</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=299</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=47</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=312</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=47</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=313</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=47</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=314</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=47</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=315</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=47</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=316</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=46</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=317</Identifier>\n          </TargetId>\n        </ReferenceNode>\n      </References>\n      <EventNotifier>1</EventNotifier>\n    </Node>\n    <Node i:type=\"VariableNode\">\n      <NodeId>\n        <Identifier>ns=1;i=286</Identifier>\n      </NodeId>\n      <NodeClass>Variable_2</NodeClass>\n      <BrowseName>\n        <NamespaceIndex>0</NamespaceIndex>\n        <Name>CurrentState</Name>\n      </BrowseName>\n      <DisplayName>\n        <Locale></Locale>\n        <Text>CurrentState</Text>\n      </DisplayName>\n      <Description i:nil=\"true\" />\n      <WriteMask>0</WriteMask>\n      <UserWriteMask>0</UserWriteMask>\n      <References>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=47</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>true</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=285</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=40</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>i=2760</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=46</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=287</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=46</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=289</Identifier>\n          </TargetId>\n        </ReferenceNode>\n      </References>\n      <Value>\n        <Value>\n          <LocalizedText xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n            <Locale p2:nil=\"true\" xmlns:p2=\"http://www.w3.org/2001/XMLSchema-instance\" />\n            <Text p2:nil=\"true\" xmlns:p2=\"http://www.w3.org/2001/XMLSchema-instance\" />\n          </LocalizedText>\n        </Value>\n      </Value>\n      <DataType>\n        <Identifier>i=21</Identifier>\n      </DataType>\n      <ValueRank>-1</ValueRank>\n      <ArrayDimensions />\n      <AccessLevel>1</AccessLevel>\n      <UserAccessLevel>1</UserAccessLevel>\n      <MinimumSamplingInterval>0</MinimumSamplingInterval>\n      <Historizing>false</Historizing>\n    </Node>\n    <Node i:type=\"VariableNode\">\n      <NodeId>\n        <Identifier>ns=1;i=287</Identifier>\n      </NodeId>\n      <NodeClass>Variable_2</NodeClass>\n      <BrowseName>\n        <NamespaceIndex>0</NamespaceIndex>\n        <Name>Id</Name>\n      </BrowseName>\n      <DisplayName>\n        <Locale></Locale>\n        <Text>Id</Text>\n      </DisplayName>\n      <Description i:nil=\"true\" />\n      <WriteMask>0</WriteMask>\n      <UserWriteMask>0</UserWriteMask>\n      <References>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=46</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>true</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=286</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=40</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>i=68</Identifier>\n          </TargetId>\n        </ReferenceNode>\n      </References>\n      <Value>\n        <Value>\n          <NodeId xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n            <Identifier>i=0</Identifier>\n          </NodeId>\n        </Value>\n      </Value>\n      <DataType>\n        <Identifier>i=17</Identifier>\n      </DataType>\n      <ValueRank>-1</ValueRank>\n      <ArrayDimensions />\n      <AccessLevel>1</AccessLevel>\n      <UserAccessLevel>1</UserAccessLevel>\n      <MinimumSamplingInterval>0</MinimumSamplingInterval>\n      <Historizing>false</Historizing>\n    </Node>\n    <Node i:type=\"VariableNode\">\n      <NodeId>\n        <Identifier>ns=1;i=289</Identifier>\n      </NodeId>\n      <NodeClass>Variable_2</NodeClass>\n      <BrowseName>\n        <NamespaceIndex>0</NamespaceIndex>\n        <Name>Number</Name>\n      </BrowseName>\n      <DisplayName>\n        <Locale></Locale>\n        <Text>Number</Text>\n      </DisplayName>\n      <Description i:nil=\"true\" />\n      <WriteMask>0</WriteMask>\n      <UserWriteMask>0</UserWriteMask>\n      <References>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=46</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>true</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=286</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=40</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>i=68</Identifier>\n          </TargetId>\n        </ReferenceNode>\n      </References>\n      <Value>\n        <Value>\n          <UInt32 xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">0</UInt32>\n        </Value>\n      </Value>\n      <DataType>\n        <Identifier>i=7</Identifier>\n      </DataType>\n      <ValueRank>-1</ValueRank>\n      <ArrayDimensions />\n      <AccessLevel>1</AccessLevel>\n      <UserAccessLevel>1</UserAccessLevel>\n      <MinimumSamplingInterval>0</MinimumSamplingInterval>\n      <Historizing>false</Historizing>\n    </Node>\n    <Node i:type=\"VariableNode\">\n      <NodeId>\n        <Identifier>ns=1;i=291</Identifier>\n      </NodeId>\n      <NodeClass>Variable_2</NodeClass>\n      <BrowseName>\n        <NamespaceIndex>0</NamespaceIndex>\n        <Name>LastTransition</Name>\n      </BrowseName>\n      <DisplayName>\n        <Locale></Locale>\n        <Text>LastTransition</Text>\n      </DisplayName>\n      <Description i:nil=\"true\" />\n      <WriteMask>0</WriteMask>\n      <UserWriteMask>0</UserWriteMask>\n      <References>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=47</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>true</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=285</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=40</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>i=2767</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=46</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=292</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=46</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=294</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=46</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=295</Identifier>\n          </TargetId>\n        </ReferenceNode>\n      </References>\n      <Value>\n        <Value>\n          <LocalizedText xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n            <Locale p2:nil=\"true\" xmlns:p2=\"http://www.w3.org/2001/XMLSchema-instance\" />\n            <Text p2:nil=\"true\" xmlns:p2=\"http://www.w3.org/2001/XMLSchema-instance\" />\n          </LocalizedText>\n        </Value>\n      </Value>\n      <DataType>\n        <Identifier>i=21</Identifier>\n      </DataType>\n      <ValueRank>-1</ValueRank>\n      <ArrayDimensions />\n      <AccessLevel>1</AccessLevel>\n      <UserAccessLevel>1</UserAccessLevel>\n      <MinimumSamplingInterval>0</MinimumSamplingInterval>\n      <Historizing>false</Historizing>\n    </Node>\n    <Node i:type=\"VariableNode\">\n      <NodeId>\n        <Identifier>ns=1;i=292</Identifier>\n      </NodeId>\n      <NodeClass>Variable_2</NodeClass>\n      <BrowseName>\n        <NamespaceIndex>0</NamespaceIndex>\n        <Name>Id</Name>\n      </BrowseName>\n      <DisplayName>\n        <Locale></Locale>\n        <Text>Id</Text>\n      </DisplayName>\n      <Description i:nil=\"true\" />\n      <WriteMask>0</WriteMask>\n      <UserWriteMask>0</UserWriteMask>\n      <References>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=46</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>true</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=291</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=40</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>i=68</Identifier>\n          </TargetId>\n        </ReferenceNode>\n      </References>\n      <Value>\n        <Value>\n          <NodeId xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n            <Identifier>i=0</Identifier>\n          </NodeId>\n        </Value>\n      </Value>\n      <DataType>\n        <Identifier>i=17</Identifier>\n      </DataType>\n      <ValueRank>-1</ValueRank>\n      <ArrayDimensions />\n      <AccessLevel>1</AccessLevel>\n      <UserAccessLevel>1</UserAccessLevel>\n      <MinimumSamplingInterval>0</MinimumSamplingInterval>\n      <Historizing>false</Historizing>\n    </Node>\n    <Node i:type=\"VariableNode\">\n      <NodeId>\n        <Identifier>ns=1;i=294</Identifier>\n      </NodeId>\n      <NodeClass>Variable_2</NodeClass>\n      <BrowseName>\n        <NamespaceIndex>0</NamespaceIndex>\n        <Name>Number</Name>\n      </BrowseName>\n      <DisplayName>\n        <Locale></Locale>\n        <Text>Number</Text>\n      </DisplayName>\n      <Description i:nil=\"true\" />\n      <WriteMask>0</WriteMask>\n      <UserWriteMask>0</UserWriteMask>\n      <References>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=46</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>true</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=291</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=40</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>i=68</Identifier>\n          </TargetId>\n        </ReferenceNode>\n      </References>\n      <Value>\n        <Value>\n          <UInt32 xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">0</UInt32>\n        </Value>\n      </Value>\n      <DataType>\n        <Identifier>i=7</Identifier>\n      </DataType>\n      <ValueRank>-1</ValueRank>\n      <ArrayDimensions />\n      <AccessLevel>1</AccessLevel>\n      <UserAccessLevel>1</UserAccessLevel>\n      <MinimumSamplingInterval>0</MinimumSamplingInterval>\n      <Historizing>false</Historizing>\n    </Node>\n    <Node i:type=\"VariableNode\">\n      <NodeId>\n        <Identifier>ns=1;i=295</Identifier>\n      </NodeId>\n      <NodeClass>Variable_2</NodeClass>\n      <BrowseName>\n        <NamespaceIndex>0</NamespaceIndex>\n        <Name>TransitionTime</Name>\n      </BrowseName>\n      <DisplayName>\n        <Locale></Locale>\n        <Text>TransitionTime</Text>\n      </DisplayName>\n      <Description i:nil=\"true\" />\n      <WriteMask>0</WriteMask>\n      <UserWriteMask>0</UserWriteMask>\n      <References>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=46</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>true</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=291</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=40</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>i=68</Identifier>\n          </TargetId>\n        </ReferenceNode>\n      </References>\n      <Value>\n        <Value>\n          <DateTime xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">0001-01-01T00:00:00</DateTime>\n        </Value>\n      </Value>\n      <DataType>\n        <Identifier>i=294</Identifier>\n      </DataType>\n      <ValueRank>-1</ValueRank>\n      <ArrayDimensions />\n      <AccessLevel>1</AccessLevel>\n      <UserAccessLevel>1</UserAccessLevel>\n      <MinimumSamplingInterval>0</MinimumSamplingInterval>\n      <Historizing>false</Historizing>\n    </Node>\n    <Node i:type=\"VariableNode\">\n      <NodeId>\n        <Identifier>ns=1;i=297</Identifier>\n      </NodeId>\n      <NodeClass>Variable_2</NodeClass>\n      <BrowseName>\n        <NamespaceIndex>0</NamespaceIndex>\n        <Name>Deletable</Name>\n      </BrowseName>\n      <DisplayName>\n        <Locale></Locale>\n        <Text>Deletable</Text>\n      </DisplayName>\n      <Description i:nil=\"true\" />\n      <WriteMask>0</WriteMask>\n      <UserWriteMask>0</UserWriteMask>\n      <References>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=46</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>true</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=285</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=40</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>i=68</Identifier>\n          </TargetId>\n        </ReferenceNode>\n      </References>\n      <Value>\n        <Value>\n          <Boolean xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">false</Boolean>\n        </Value>\n      </Value>\n      <DataType>\n        <Identifier>i=1</Identifier>\n      </DataType>\n      <ValueRank>-1</ValueRank>\n      <ArrayDimensions />\n      <AccessLevel>1</AccessLevel>\n      <UserAccessLevel>1</UserAccessLevel>\n      <MinimumSamplingInterval>0</MinimumSamplingInterval>\n      <Historizing>false</Historizing>\n    </Node>\n    <Node i:type=\"VariableNode\">\n      <NodeId>\n        <Identifier>ns=1;i=299</Identifier>\n      </NodeId>\n      <NodeClass>Variable_2</NodeClass>\n      <BrowseName>\n        <NamespaceIndex>0</NamespaceIndex>\n        <Name>RecycleCount</Name>\n      </BrowseName>\n      <DisplayName>\n        <Locale></Locale>\n        <Text>RecycleCount</Text>\n      </DisplayName>\n      <Description i:nil=\"true\" />\n      <WriteMask>0</WriteMask>\n      <UserWriteMask>0</UserWriteMask>\n      <References>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=46</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>true</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=285</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=40</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>i=68</Identifier>\n          </TargetId>\n        </ReferenceNode>\n      </References>\n      <Value>\n        <Value>\n          <Int32 xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">0</Int32>\n        </Value>\n      </Value>\n      <DataType>\n        <Identifier>i=6</Identifier>\n      </DataType>\n      <ValueRank>-1</ValueRank>\n      <ArrayDimensions />\n      <AccessLevel>1</AccessLevel>\n      <UserAccessLevel>1</UserAccessLevel>\n      <MinimumSamplingInterval>0</MinimumSamplingInterval>\n      <Historizing>false</Historizing>\n    </Node>\n    <Node i:type=\"MethodNode\">\n      <NodeId>\n        <Identifier>ns=1;i=312</Identifier>\n      </NodeId>\n      <NodeClass>Method_4</NodeClass>\n      <BrowseName>\n        <NamespaceIndex>0</NamespaceIndex>\n        <Name>Start</Name>\n      </BrowseName>\n      <DisplayName>\n        <Locale></Locale>\n        <Text>Start</Text>\n      </DisplayName>\n      <Description>\n        <Locale></Locale>\n        <Text>Causes the Program to transition from the Ready state to the Running state.</Text>\n      </Description>\n      <WriteMask>0</WriteMask>\n      <UserWriteMask>0</UserWriteMask>\n      <References>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=47</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>true</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=285</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=40</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>i=2426</Identifier>\n          </TargetId>\n        </ReferenceNode>\n      </References>\n      <Executable>true</Executable>\n      <UserExecutable>true</UserExecutable>\n    </Node>\n    <Node i:type=\"MethodNode\">\n      <NodeId>\n        <Identifier>ns=1;i=313</Identifier>\n      </NodeId>\n      <NodeClass>Method_4</NodeClass>\n      <BrowseName>\n        <NamespaceIndex>0</NamespaceIndex>\n        <Name>Suspend</Name>\n      </BrowseName>\n      <DisplayName>\n        <Locale></Locale>\n        <Text>Suspend</Text>\n      </DisplayName>\n      <Description>\n        <Locale></Locale>\n        <Text>Causes the Program to transition from the Running state to the Suspended state.</Text>\n      </Description>\n      <WriteMask>0</WriteMask>\n      <UserWriteMask>0</UserWriteMask>\n      <References>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=47</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>true</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=285</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=40</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>i=2427</Identifier>\n          </TargetId>\n        </ReferenceNode>\n      </References>\n      <Executable>true</Executable>\n      <UserExecutable>true</UserExecutable>\n    </Node>\n    <Node i:type=\"MethodNode\">\n      <NodeId>\n        <Identifier>ns=1;i=314</Identifier>\n      </NodeId>\n      <NodeClass>Method_4</NodeClass>\n      <BrowseName>\n        <NamespaceIndex>0</NamespaceIndex>\n        <Name>Resume</Name>\n      </BrowseName>\n      <DisplayName>\n        <Locale></Locale>\n        <Text>Resume</Text>\n      </DisplayName>\n      <Description>\n        <Locale></Locale>\n        <Text>Causes the Program to transition from the Suspended state to the Running state.</Text>\n      </Description>\n      <WriteMask>0</WriteMask>\n      <UserWriteMask>0</UserWriteMask>\n      <References>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=47</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>true</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=285</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=40</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>i=2428</Identifier>\n          </TargetId>\n        </ReferenceNode>\n      </References>\n      <Executable>true</Executable>\n      <UserExecutable>true</UserExecutable>\n    </Node>\n    <Node i:type=\"MethodNode\">\n      <NodeId>\n        <Identifier>ns=1;i=315</Identifier>\n      </NodeId>\n      <NodeClass>Method_4</NodeClass>\n      <BrowseName>\n        <NamespaceIndex>0</NamespaceIndex>\n        <Name>Halt</Name>\n      </BrowseName>\n      <DisplayName>\n        <Locale></Locale>\n        <Text>Halt</Text>\n      </DisplayName>\n      <Description>\n        <Locale></Locale>\n        <Text>Causes the Program to transition from the Ready, Running or Suspended state to the Halted state.</Text>\n      </Description>\n      <WriteMask>0</WriteMask>\n      <UserWriteMask>0</UserWriteMask>\n      <References>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=47</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>true</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=285</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=40</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>i=2429</Identifier>\n          </TargetId>\n        </ReferenceNode>\n      </References>\n      <Executable>true</Executable>\n      <UserExecutable>true</UserExecutable>\n    </Node>\n    <Node i:type=\"MethodNode\">\n      <NodeId>\n        <Identifier>ns=1;i=316</Identifier>\n      </NodeId>\n      <NodeClass>Method_4</NodeClass>\n      <BrowseName>\n        <NamespaceIndex>0</NamespaceIndex>\n        <Name>Reset</Name>\n      </BrowseName>\n      <DisplayName>\n        <Locale></Locale>\n        <Text>Reset</Text>\n      </DisplayName>\n      <Description>\n        <Locale></Locale>\n        <Text>Causes the Program to transition from the Halted state to the Ready state.</Text>\n      </Description>\n      <WriteMask>0</WriteMask>\n      <UserWriteMask>0</UserWriteMask>\n      <References>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=47</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>true</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=285</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=40</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>i=2430</Identifier>\n          </TargetId>\n        </ReferenceNode>\n      </References>\n      <Executable>true</Executable>\n      <UserExecutable>true</UserExecutable>\n    </Node>\n    <Node i:type=\"VariableNode\">\n      <NodeId>\n        <Identifier>ns=1;i=317</Identifier>\n      </NodeId>\n      <NodeClass>Variable_2</NodeClass>\n      <BrowseName>\n        <NamespaceIndex>2</NamespaceIndex>\n        <Name>UpdateRate</Name>\n      </BrowseName>\n      <DisplayName>\n        <Locale></Locale>\n        <Text>UpdateRate</Text>\n      </DisplayName>\n      <Description>\n        <Locale></Locale>\n        <Text>The rate at which the simulation runs.</Text>\n      </Description>\n      <WriteMask>0</WriteMask>\n      <UserWriteMask>0</UserWriteMask>\n      <References>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=46</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>true</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=285</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=40</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>i=68</Identifier>\n          </TargetId>\n        </ReferenceNode>\n      </References>\n      <Value>\n        <Value>\n          <UInt32 xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">0</UInt32>\n        </Value>\n      </Value>\n      <DataType>\n        <Identifier>i=7</Identifier>\n      </DataType>\n      <ValueRank>-1</ValueRank>\n      <ArrayDimensions />\n      <AccessLevel>3</AccessLevel>\n      <UserAccessLevel>3</UserAccessLevel>\n      <MinimumSamplingInterval>0</MinimumSamplingInterval>\n      <Historizing>false</Historizing>\n    </Node>\n    <Node i:type=\"ObjectNode\">\n      <NodeId>\n        <Identifier>ns=1;i=318</Identifier>\n      </NodeId>\n      <NodeClass>Object_1</NodeClass>\n      <BrowseName>\n        <NamespaceIndex>1</NamespaceIndex>\n        <Name>Boiler #4</Name>\n      </BrowseName>\n      <DisplayName>\n        <Locale></Locale>\n        <Text>Boiler #4</Text>\n      </DisplayName>\n      <Description i:nil=\"true\" />\n      <WriteMask>0</WriteMask>\n      <UserWriteMask>0</UserWriteMask>\n      <References>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=47</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>true</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=1</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=40</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>ns=2;i=151</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=48</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=319</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=48</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=334</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=48</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=342</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=36</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=364</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=47</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=319</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=47</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=334</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=47</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=342</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=47</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=350</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=47</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=354</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=47</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=358</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=47</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=364</Identifier>\n          </TargetId>\n        </ReferenceNode>\n      </References>\n      <EventNotifier>0</EventNotifier>\n    </Node>\n    <Node i:type=\"ObjectNode\">\n      <NodeId>\n        <Identifier>ns=1;i=319</Identifier>\n      </NodeId>\n      <NodeClass>Object_1</NodeClass>\n      <BrowseName>\n        <NamespaceIndex>1</NamespaceIndex>\n        <Name>InputPipe</Name>\n      </BrowseName>\n      <DisplayName>\n        <Locale></Locale>\n        <Text>Boiler #4: Pipe1001</Text>\n      </DisplayName>\n      <Description i:nil=\"true\" />\n      <WriteMask>0</WriteMask>\n      <UserWriteMask>0</UserWriteMask>\n      <References>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=47</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>true</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=318</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=40</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>ns=2;i=120</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=48</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>true</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=318</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=48</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=320</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>ns=2;i=1</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=334</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=47</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=320</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=47</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=327</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=47</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>true</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=399</Identifier>\n          </TargetId>\n        </ReferenceNode>\n      </References>\n      <EventNotifier>1</EventNotifier>\n    </Node>\n    <Node i:type=\"ObjectNode\">\n      <NodeId>\n        <Identifier>ns=1;i=320</Identifier>\n      </NodeId>\n      <NodeClass>Object_1</NodeClass>\n      <BrowseName>\n        <NamespaceIndex>2</NamespaceIndex>\n        <Name>FTX001</Name>\n      </BrowseName>\n      <DisplayName>\n        <Locale></Locale>\n        <Text>FlowTransmitter1</Text>\n      </DisplayName>\n      <Description i:nil=\"true\" />\n      <WriteMask>0</WriteMask>\n      <UserWriteMask>0</UserWriteMask>\n      <References>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=47</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>true</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=319</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=40</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>ns=2;i=50</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=48</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>true</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=319</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=47</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=321</Identifier>\n          </TargetId>\n        </ReferenceNode>\n      </References>\n      <EventNotifier>1</EventNotifier>\n    </Node>\n    <Node i:type=\"VariableNode\">\n      <NodeId>\n        <Identifier>ns=1;i=321</Identifier>\n      </NodeId>\n      <NodeClass>Variable_2</NodeClass>\n      <BrowseName>\n        <NamespaceIndex>2</NamespaceIndex>\n        <Name>Output</Name>\n      </BrowseName>\n      <DisplayName>\n        <Locale></Locale>\n        <Text>Output</Text>\n      </DisplayName>\n      <Description i:nil=\"true\" />\n      <WriteMask>0</WriteMask>\n      <UserWriteMask>0</UserWriteMask>\n      <References>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=47</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>true</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=320</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=40</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>i=2368</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>ns=2;i=3</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=351</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>ns=2;i=3</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=360</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=46</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=325</Identifier>\n          </TargetId>\n        </ReferenceNode>\n      </References>\n      <Value>\n        <Value>\n          <Double xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">0</Double>\n        </Value>\n      </Value>\n      <DataType>\n        <Identifier>i=11</Identifier>\n      </DataType>\n      <ValueRank>-1</ValueRank>\n      <ArrayDimensions />\n      <AccessLevel>1</AccessLevel>\n      <UserAccessLevel>1</UserAccessLevel>\n      <MinimumSamplingInterval>0</MinimumSamplingInterval>\n      <Historizing>false</Historizing>\n    </Node>\n    <Node i:type=\"VariableNode\">\n      <NodeId>\n        <Identifier>ns=1;i=325</Identifier>\n      </NodeId>\n      <NodeClass>Variable_2</NodeClass>\n      <BrowseName>\n        <NamespaceIndex>0</NamespaceIndex>\n        <Name>EURange</Name>\n      </BrowseName>\n      <DisplayName>\n        <Locale></Locale>\n        <Text>EURange</Text>\n      </DisplayName>\n      <Description i:nil=\"true\" />\n      <WriteMask>0</WriteMask>\n      <UserWriteMask>0</UserWriteMask>\n      <References>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=46</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>true</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=321</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=40</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>i=68</Identifier>\n          </TargetId>\n        </ReferenceNode>\n      </References>\n      <Value>\n        <Value>\n          <Null xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\" />\n        </Value>\n      </Value>\n      <DataType>\n        <Identifier>i=884</Identifier>\n      </DataType>\n      <ValueRank>-1</ValueRank>\n      <ArrayDimensions />\n      <AccessLevel>1</AccessLevel>\n      <UserAccessLevel>1</UserAccessLevel>\n      <MinimumSamplingInterval>0</MinimumSamplingInterval>\n      <Historizing>false</Historizing>\n    </Node>\n    <Node i:type=\"ObjectNode\">\n      <NodeId>\n        <Identifier>ns=1;i=327</Identifier>\n      </NodeId>\n      <NodeClass>Object_1</NodeClass>\n      <BrowseName>\n        <NamespaceIndex>2</NamespaceIndex>\n        <Name>ValveX001</Name>\n      </BrowseName>\n      <DisplayName>\n        <Locale></Locale>\n        <Text>Valve</Text>\n      </DisplayName>\n      <Description i:nil=\"true\" />\n      <WriteMask>0</WriteMask>\n      <UserWriteMask>0</UserWriteMask>\n      <References>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=47</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>true</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=319</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=40</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>ns=2;i=28</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=47</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=328</Identifier>\n          </TargetId>\n        </ReferenceNode>\n      </References>\n      <EventNotifier>1</EventNotifier>\n    </Node>\n    <Node i:type=\"VariableNode\">\n      <NodeId>\n        <Identifier>ns=1;i=328</Identifier>\n      </NodeId>\n      <NodeClass>Variable_2</NodeClass>\n      <BrowseName>\n        <NamespaceIndex>2</NamespaceIndex>\n        <Name>Input</Name>\n      </BrowseName>\n      <DisplayName>\n        <Locale></Locale>\n        <Text>Input</Text>\n      </DisplayName>\n      <Description i:nil=\"true\" />\n      <WriteMask>0</WriteMask>\n      <UserWriteMask>0</UserWriteMask>\n      <References>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=47</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>true</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=327</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=40</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>i=2368</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>ns=2;i=3</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>true</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=353</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=46</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=332</Identifier>\n          </TargetId>\n        </ReferenceNode>\n      </References>\n      <Value>\n        <Value>\n          <Double xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">0</Double>\n        </Value>\n      </Value>\n      <DataType>\n        <Identifier>i=11</Identifier>\n      </DataType>\n      <ValueRank>-1</ValueRank>\n      <ArrayDimensions />\n      <AccessLevel>2</AccessLevel>\n      <UserAccessLevel>2</UserAccessLevel>\n      <MinimumSamplingInterval>0</MinimumSamplingInterval>\n      <Historizing>false</Historizing>\n    </Node>\n    <Node i:type=\"VariableNode\">\n      <NodeId>\n        <Identifier>ns=1;i=332</Identifier>\n      </NodeId>\n      <NodeClass>Variable_2</NodeClass>\n      <BrowseName>\n        <NamespaceIndex>0</NamespaceIndex>\n        <Name>EURange</Name>\n      </BrowseName>\n      <DisplayName>\n        <Locale></Locale>\n        <Text>EURange</Text>\n      </DisplayName>\n      <Description i:nil=\"true\" />\n      <WriteMask>0</WriteMask>\n      <UserWriteMask>0</UserWriteMask>\n      <References>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=46</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>true</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=328</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=40</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>i=68</Identifier>\n          </TargetId>\n        </ReferenceNode>\n      </References>\n      <Value>\n        <Value>\n          <Null xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\" />\n        </Value>\n      </Value>\n      <DataType>\n        <Identifier>i=884</Identifier>\n      </DataType>\n      <ValueRank>-1</ValueRank>\n      <ArrayDimensions />\n      <AccessLevel>1</AccessLevel>\n      <UserAccessLevel>1</UserAccessLevel>\n      <MinimumSamplingInterval>0</MinimumSamplingInterval>\n      <Historizing>false</Historizing>\n    </Node>\n    <Node i:type=\"ObjectNode\">\n      <NodeId>\n        <Identifier>ns=1;i=334</Identifier>\n      </NodeId>\n      <NodeClass>Object_1</NodeClass>\n      <BrowseName>\n        <NamespaceIndex>1</NamespaceIndex>\n        <Name>Drum</Name>\n      </BrowseName>\n      <DisplayName>\n        <Locale></Locale>\n        <Text>Boiler #4: Drum1001</Text>\n      </DisplayName>\n      <Description i:nil=\"true\" />\n      <WriteMask>0</WriteMask>\n      <UserWriteMask>0</UserWriteMask>\n      <References>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=47</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>true</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=318</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=40</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>ns=2;i=135</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=48</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>true</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=318</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>ns=2;i=1</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>true</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=319</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=48</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=335</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>ns=2;i=2</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=342</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=47</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=335</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=47</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>true</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=398</Identifier>\n          </TargetId>\n        </ReferenceNode>\n      </References>\n      <EventNotifier>1</EventNotifier>\n    </Node>\n    <Node i:type=\"ObjectNode\">\n      <NodeId>\n        <Identifier>ns=1;i=335</Identifier>\n      </NodeId>\n      <NodeClass>Object_1</NodeClass>\n      <BrowseName>\n        <NamespaceIndex>2</NamespaceIndex>\n        <Name>LIX001</Name>\n      </BrowseName>\n      <DisplayName>\n        <Locale></Locale>\n        <Text>LIX001</Text>\n      </DisplayName>\n      <Description i:nil=\"true\" />\n      <WriteMask>0</WriteMask>\n      <UserWriteMask>0</UserWriteMask>\n      <References>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=47</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>true</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=334</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=40</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>ns=2;i=43</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=48</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>true</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=334</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=47</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=336</Identifier>\n          </TargetId>\n        </ReferenceNode>\n      </References>\n      <EventNotifier>1</EventNotifier>\n    </Node>\n    <Node i:type=\"VariableNode\">\n      <NodeId>\n        <Identifier>ns=1;i=336</Identifier>\n      </NodeId>\n      <NodeClass>Variable_2</NodeClass>\n      <BrowseName>\n        <NamespaceIndex>2</NamespaceIndex>\n        <Name>Output</Name>\n      </BrowseName>\n      <DisplayName>\n        <Locale></Locale>\n        <Text>Output</Text>\n      </DisplayName>\n      <Description i:nil=\"true\" />\n      <WriteMask>0</WriteMask>\n      <UserWriteMask>0</UserWriteMask>\n      <References>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=47</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>true</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=335</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=40</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>i=2368</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>ns=2;i=3</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=355</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=46</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=340</Identifier>\n          </TargetId>\n        </ReferenceNode>\n      </References>\n      <Value>\n        <Value>\n          <Double xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">0</Double>\n        </Value>\n      </Value>\n      <DataType>\n        <Identifier>i=26</Identifier>\n      </DataType>\n      <ValueRank>-1</ValueRank>\n      <ArrayDimensions />\n      <AccessLevel>1</AccessLevel>\n      <UserAccessLevel>1</UserAccessLevel>\n      <MinimumSamplingInterval>0</MinimumSamplingInterval>\n      <Historizing>false</Historizing>\n    </Node>\n    <Node i:type=\"VariableNode\">\n      <NodeId>\n        <Identifier>ns=1;i=340</Identifier>\n      </NodeId>\n      <NodeClass>Variable_2</NodeClass>\n      <BrowseName>\n        <NamespaceIndex>0</NamespaceIndex>\n        <Name>EURange</Name>\n      </BrowseName>\n      <DisplayName>\n        <Locale></Locale>\n        <Text>EURange</Text>\n      </DisplayName>\n      <Description i:nil=\"true\" />\n      <WriteMask>0</WriteMask>\n      <UserWriteMask>0</UserWriteMask>\n      <References>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=46</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>true</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=336</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=40</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>i=68</Identifier>\n          </TargetId>\n        </ReferenceNode>\n      </References>\n      <Value>\n        <Value>\n          <Null xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\" />\n        </Value>\n      </Value>\n      <DataType>\n        <Identifier>i=884</Identifier>\n      </DataType>\n      <ValueRank>-1</ValueRank>\n      <ArrayDimensions />\n      <AccessLevel>1</AccessLevel>\n      <UserAccessLevel>1</UserAccessLevel>\n      <MinimumSamplingInterval>0</MinimumSamplingInterval>\n      <Historizing>false</Historizing>\n    </Node>\n    <Node i:type=\"ObjectNode\">\n      <NodeId>\n        <Identifier>ns=1;i=342</Identifier>\n      </NodeId>\n      <NodeClass>Object_1</NodeClass>\n      <BrowseName>\n        <NamespaceIndex>1</NamespaceIndex>\n        <Name>OutputPipe</Name>\n      </BrowseName>\n      <DisplayName>\n        <Locale></Locale>\n        <Text>Boiler #4: Pipe1002</Text>\n      </DisplayName>\n      <Description i:nil=\"true\" />\n      <WriteMask>0</WriteMask>\n      <UserWriteMask>0</UserWriteMask>\n      <References>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=47</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>true</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=318</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=40</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>ns=2;i=143</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=48</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>true</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=318</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>ns=2;i=2</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>true</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=334</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=48</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=343</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=47</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=343</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=47</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>true</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=399</Identifier>\n          </TargetId>\n        </ReferenceNode>\n      </References>\n      <EventNotifier>1</EventNotifier>\n    </Node>\n    <Node i:type=\"ObjectNode\">\n      <NodeId>\n        <Identifier>ns=1;i=343</Identifier>\n      </NodeId>\n      <NodeClass>Object_1</NodeClass>\n      <BrowseName>\n        <NamespaceIndex>2</NamespaceIndex>\n        <Name>FTX002</Name>\n      </BrowseName>\n      <DisplayName>\n        <Locale></Locale>\n        <Text>FTX002</Text>\n      </DisplayName>\n      <Description i:nil=\"true\" />\n      <WriteMask>0</WriteMask>\n      <UserWriteMask>0</UserWriteMask>\n      <References>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=47</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>true</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=342</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=40</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>ns=2;i=50</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=48</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>true</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=342</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=47</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=344</Identifier>\n          </TargetId>\n        </ReferenceNode>\n      </References>\n      <EventNotifier>1</EventNotifier>\n    </Node>\n    <Node i:type=\"VariableNode\">\n      <NodeId>\n        <Identifier>ns=1;i=344</Identifier>\n      </NodeId>\n      <NodeClass>Variable_2</NodeClass>\n      <BrowseName>\n        <NamespaceIndex>2</NamespaceIndex>\n        <Name>Output</Name>\n      </BrowseName>\n      <DisplayName>\n        <Locale></Locale>\n        <Text>Output</Text>\n      </DisplayName>\n      <Description i:nil=\"true\" />\n      <WriteMask>0</WriteMask>\n      <UserWriteMask>0</UserWriteMask>\n      <References>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=47</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>true</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=343</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=40</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>i=2368</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>ns=2;i=3</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=361</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=46</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=348</Identifier>\n          </TargetId>\n        </ReferenceNode>\n      </References>\n      <Value>\n        <Value>\n          <Double xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">0</Double>\n        </Value>\n      </Value>\n      <DataType>\n        <Identifier>i=11</Identifier>\n      </DataType>\n      <ValueRank>-1</ValueRank>\n      <ArrayDimensions />\n      <AccessLevel>1</AccessLevel>\n      <UserAccessLevel>1</UserAccessLevel>\n      <MinimumSamplingInterval>0</MinimumSamplingInterval>\n      <Historizing>false</Historizing>\n    </Node>\n    <Node i:type=\"VariableNode\">\n      <NodeId>\n        <Identifier>ns=1;i=348</Identifier>\n      </NodeId>\n      <NodeClass>Variable_2</NodeClass>\n      <BrowseName>\n        <NamespaceIndex>0</NamespaceIndex>\n        <Name>EURange</Name>\n      </BrowseName>\n      <DisplayName>\n        <Locale></Locale>\n        <Text>EURange</Text>\n      </DisplayName>\n      <Description i:nil=\"true\" />\n      <WriteMask>0</WriteMask>\n      <UserWriteMask>0</UserWriteMask>\n      <References>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=46</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>true</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=344</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=40</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>i=68</Identifier>\n          </TargetId>\n        </ReferenceNode>\n      </References>\n      <Value>\n        <Value>\n          <Null xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\" />\n        </Value>\n      </Value>\n      <DataType>\n        <Identifier>i=884</Identifier>\n      </DataType>\n      <ValueRank>-1</ValueRank>\n      <ArrayDimensions />\n      <AccessLevel>1</AccessLevel>\n      <UserAccessLevel>1</UserAccessLevel>\n      <MinimumSamplingInterval>0</MinimumSamplingInterval>\n      <Historizing>false</Historizing>\n    </Node>\n    <Node i:type=\"ObjectNode\">\n      <NodeId>\n        <Identifier>ns=1;i=350</Identifier>\n      </NodeId>\n      <NodeClass>Object_1</NodeClass>\n      <BrowseName>\n        <NamespaceIndex>1</NamespaceIndex>\n        <Name>FlowController</Name>\n      </BrowseName>\n      <DisplayName>\n        <Locale></Locale>\n        <Text>Boiler #4: FC1001</Text>\n      </DisplayName>\n      <Description i:nil=\"true\" />\n      <WriteMask>0</WriteMask>\n      <UserWriteMask>0</UserWriteMask>\n      <References>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=47</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>true</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=318</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=40</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>ns=2;i=39</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=46</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=351</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=46</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=352</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=46</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=353</Identifier>\n          </TargetId>\n        </ReferenceNode>\n      </References>\n      <EventNotifier>0</EventNotifier>\n    </Node>\n    <Node i:type=\"VariableNode\">\n      <NodeId>\n        <Identifier>ns=1;i=351</Identifier>\n      </NodeId>\n      <NodeClass>Variable_2</NodeClass>\n      <BrowseName>\n        <NamespaceIndex>2</NamespaceIndex>\n        <Name>Measurement</Name>\n      </BrowseName>\n      <DisplayName>\n        <Locale></Locale>\n        <Text>Measurement</Text>\n      </DisplayName>\n      <Description i:nil=\"true\" />\n      <WriteMask>0</WriteMask>\n      <UserWriteMask>0</UserWriteMask>\n      <References>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=46</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>true</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=350</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=40</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>i=68</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>ns=2;i=3</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>true</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=321</Identifier>\n          </TargetId>\n        </ReferenceNode>\n      </References>\n      <Value>\n        <Value>\n          <Double xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">0</Double>\n        </Value>\n      </Value>\n      <DataType>\n        <Identifier>i=11</Identifier>\n      </DataType>\n      <ValueRank>-1</ValueRank>\n      <ArrayDimensions />\n      <AccessLevel>1</AccessLevel>\n      <UserAccessLevel>1</UserAccessLevel>\n      <MinimumSamplingInterval>0</MinimumSamplingInterval>\n      <Historizing>false</Historizing>\n    </Node>\n    <Node i:type=\"VariableNode\">\n      <NodeId>\n        <Identifier>ns=1;i=352</Identifier>\n      </NodeId>\n      <NodeClass>Variable_2</NodeClass>\n      <BrowseName>\n        <NamespaceIndex>2</NamespaceIndex>\n        <Name>SetPoint</Name>\n      </BrowseName>\n      <DisplayName>\n        <Locale></Locale>\n        <Text>SetPoint</Text>\n      </DisplayName>\n      <Description i:nil=\"true\" />\n      <WriteMask>0</WriteMask>\n      <UserWriteMask>0</UserWriteMask>\n      <References>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=46</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>true</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=350</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=40</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>i=68</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>ns=2;i=3</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>true</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=362</Identifier>\n          </TargetId>\n        </ReferenceNode>\n      </References>\n      <Value>\n        <Value>\n          <Double xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">0</Double>\n        </Value>\n      </Value>\n      <DataType>\n        <Identifier>i=11</Identifier>\n      </DataType>\n      <ValueRank>-1</ValueRank>\n      <ArrayDimensions />\n      <AccessLevel>3</AccessLevel>\n      <UserAccessLevel>3</UserAccessLevel>\n      <MinimumSamplingInterval>0</MinimumSamplingInterval>\n      <Historizing>false</Historizing>\n    </Node>\n    <Node i:type=\"VariableNode\">\n      <NodeId>\n        <Identifier>ns=1;i=353</Identifier>\n      </NodeId>\n      <NodeClass>Variable_2</NodeClass>\n      <BrowseName>\n        <NamespaceIndex>2</NamespaceIndex>\n        <Name>ControlOut</Name>\n      </BrowseName>\n      <DisplayName>\n        <Locale></Locale>\n        <Text>ControlOut</Text>\n      </DisplayName>\n      <Description i:nil=\"true\" />\n      <WriteMask>0</WriteMask>\n      <UserWriteMask>0</UserWriteMask>\n      <References>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=46</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>true</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=350</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=40</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>i=68</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>ns=2;i=3</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=328</Identifier>\n          </TargetId>\n        </ReferenceNode>\n      </References>\n      <Value>\n        <Value>\n          <Double xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">0</Double>\n        </Value>\n      </Value>\n      <DataType>\n        <Identifier>i=11</Identifier>\n      </DataType>\n      <ValueRank>-1</ValueRank>\n      <ArrayDimensions />\n      <AccessLevel>1</AccessLevel>\n      <UserAccessLevel>1</UserAccessLevel>\n      <MinimumSamplingInterval>0</MinimumSamplingInterval>\n      <Historizing>false</Historizing>\n    </Node>\n    <Node i:type=\"ObjectNode\">\n      <NodeId>\n        <Identifier>ns=1;i=354</Identifier>\n      </NodeId>\n      <NodeClass>Object_1</NodeClass>\n      <BrowseName>\n        <NamespaceIndex>1</NamespaceIndex>\n        <Name>LevelController</Name>\n      </BrowseName>\n      <DisplayName>\n        <Locale></Locale>\n        <Text>Boiler #4: LC1001</Text>\n      </DisplayName>\n      <Description i:nil=\"true\" />\n      <WriteMask>0</WriteMask>\n      <UserWriteMask>0</UserWriteMask>\n      <References>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=47</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>true</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=318</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=40</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>ns=2;i=35</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=46</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=355</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=46</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=356</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=46</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=357</Identifier>\n          </TargetId>\n        </ReferenceNode>\n      </References>\n      <EventNotifier>0</EventNotifier>\n    </Node>\n    <Node i:type=\"VariableNode\">\n      <NodeId>\n        <Identifier>ns=1;i=355</Identifier>\n      </NodeId>\n      <NodeClass>Variable_2</NodeClass>\n      <BrowseName>\n        <NamespaceIndex>2</NamespaceIndex>\n        <Name>Measurement</Name>\n      </BrowseName>\n      <DisplayName>\n        <Locale></Locale>\n        <Text>Measurement</Text>\n      </DisplayName>\n      <Description i:nil=\"true\" />\n      <WriteMask>0</WriteMask>\n      <UserWriteMask>0</UserWriteMask>\n      <References>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=46</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>true</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=354</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=40</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>i=68</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>ns=2;i=3</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>true</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=336</Identifier>\n          </TargetId>\n        </ReferenceNode>\n      </References>\n      <Value>\n        <Value>\n          <Double xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">0</Double>\n        </Value>\n      </Value>\n      <DataType>\n        <Identifier>i=11</Identifier>\n      </DataType>\n      <ValueRank>-1</ValueRank>\n      <ArrayDimensions />\n      <AccessLevel>1</AccessLevel>\n      <UserAccessLevel>1</UserAccessLevel>\n      <MinimumSamplingInterval>0</MinimumSamplingInterval>\n      <Historizing>false</Historizing>\n    </Node>\n    <Node i:type=\"VariableNode\">\n      <NodeId>\n        <Identifier>ns=1;i=356</Identifier>\n      </NodeId>\n      <NodeClass>Variable_2</NodeClass>\n      <BrowseName>\n        <NamespaceIndex>2</NamespaceIndex>\n        <Name>SetPoint</Name>\n      </BrowseName>\n      <DisplayName>\n        <Locale></Locale>\n        <Text>SetPoint</Text>\n      </DisplayName>\n      <Description i:nil=\"true\" />\n      <WriteMask>0</WriteMask>\n      <UserWriteMask>0</UserWriteMask>\n      <References>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=46</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>true</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=354</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=40</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>i=68</Identifier>\n          </TargetId>\n        </ReferenceNode>\n      </References>\n      <Value>\n        <Value>\n          <Double xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">0</Double>\n        </Value>\n      </Value>\n      <DataType>\n        <Identifier>i=11</Identifier>\n      </DataType>\n      <ValueRank>-1</ValueRank>\n      <ArrayDimensions />\n      <AccessLevel>3</AccessLevel>\n      <UserAccessLevel>3</UserAccessLevel>\n      <MinimumSamplingInterval>0</MinimumSamplingInterval>\n      <Historizing>false</Historizing>\n    </Node>\n    <Node i:type=\"VariableNode\">\n      <NodeId>\n        <Identifier>ns=1;i=357</Identifier>\n      </NodeId>\n      <NodeClass>Variable_2</NodeClass>\n      <BrowseName>\n        <NamespaceIndex>2</NamespaceIndex>\n        <Name>ControlOut</Name>\n      </BrowseName>\n      <DisplayName>\n        <Locale></Locale>\n        <Text>ControlOut</Text>\n      </DisplayName>\n      <Description i:nil=\"true\" />\n      <WriteMask>0</WriteMask>\n      <UserWriteMask>0</UserWriteMask>\n      <References>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=46</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>true</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=354</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=40</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>i=68</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>ns=2;i=3</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=359</Identifier>\n          </TargetId>\n        </ReferenceNode>\n      </References>\n      <Value>\n        <Value>\n          <Double xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">0</Double>\n        </Value>\n      </Value>\n      <DataType>\n        <Identifier>i=11</Identifier>\n      </DataType>\n      <ValueRank>-1</ValueRank>\n      <ArrayDimensions />\n      <AccessLevel>1</AccessLevel>\n      <UserAccessLevel>1</UserAccessLevel>\n      <MinimumSamplingInterval>0</MinimumSamplingInterval>\n      <Historizing>false</Historizing>\n    </Node>\n    <Node i:type=\"ObjectNode\">\n      <NodeId>\n        <Identifier>ns=1;i=358</Identifier>\n      </NodeId>\n      <NodeClass>Object_1</NodeClass>\n      <BrowseName>\n        <NamespaceIndex>1</NamespaceIndex>\n        <Name>CustomController</Name>\n      </BrowseName>\n      <DisplayName>\n        <Locale></Locale>\n        <Text>Boiler #4: CC1001</Text>\n      </DisplayName>\n      <Description i:nil=\"true\" />\n      <WriteMask>0</WriteMask>\n      <UserWriteMask>0</UserWriteMask>\n      <References>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=47</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>true</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=318</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=40</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>ns=2;i=22</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=46</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=359</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=46</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=360</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=46</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=361</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=46</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=362</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=46</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=363</Identifier>\n          </TargetId>\n        </ReferenceNode>\n      </References>\n      <EventNotifier>0</EventNotifier>\n    </Node>\n    <Node i:type=\"VariableNode\">\n      <NodeId>\n        <Identifier>ns=1;i=359</Identifier>\n      </NodeId>\n      <NodeClass>Variable_2</NodeClass>\n      <BrowseName>\n        <NamespaceIndex>2</NamespaceIndex>\n        <Name>Input1</Name>\n      </BrowseName>\n      <DisplayName>\n        <Locale></Locale>\n        <Text>Input1</Text>\n      </DisplayName>\n      <Description i:nil=\"true\" />\n      <WriteMask>0</WriteMask>\n      <UserWriteMask>0</UserWriteMask>\n      <References>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=46</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>true</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=358</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=40</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>i=68</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>ns=2;i=3</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>true</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=357</Identifier>\n          </TargetId>\n        </ReferenceNode>\n      </References>\n      <Value>\n        <Value>\n          <Double xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">0</Double>\n        </Value>\n      </Value>\n      <DataType>\n        <Identifier>i=11</Identifier>\n      </DataType>\n      <ValueRank>-1</ValueRank>\n      <ArrayDimensions />\n      <AccessLevel>2</AccessLevel>\n      <UserAccessLevel>2</UserAccessLevel>\n      <MinimumSamplingInterval>0</MinimumSamplingInterval>\n      <Historizing>false</Historizing>\n    </Node>\n    <Node i:type=\"VariableNode\">\n      <NodeId>\n        <Identifier>ns=1;i=360</Identifier>\n      </NodeId>\n      <NodeClass>Variable_2</NodeClass>\n      <BrowseName>\n        <NamespaceIndex>2</NamespaceIndex>\n        <Name>Input2</Name>\n      </BrowseName>\n      <DisplayName>\n        <Locale></Locale>\n        <Text>Input2</Text>\n      </DisplayName>\n      <Description i:nil=\"true\" />\n      <WriteMask>0</WriteMask>\n      <UserWriteMask>0</UserWriteMask>\n      <References>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=46</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>true</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=358</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=40</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>i=68</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>ns=2;i=3</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>true</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=321</Identifier>\n          </TargetId>\n        </ReferenceNode>\n      </References>\n      <Value>\n        <Value>\n          <Double xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">0</Double>\n        </Value>\n      </Value>\n      <DataType>\n        <Identifier>i=11</Identifier>\n      </DataType>\n      <ValueRank>-1</ValueRank>\n      <ArrayDimensions />\n      <AccessLevel>2</AccessLevel>\n      <UserAccessLevel>2</UserAccessLevel>\n      <MinimumSamplingInterval>0</MinimumSamplingInterval>\n      <Historizing>false</Historizing>\n    </Node>\n    <Node i:type=\"VariableNode\">\n      <NodeId>\n        <Identifier>ns=1;i=361</Identifier>\n      </NodeId>\n      <NodeClass>Variable_2</NodeClass>\n      <BrowseName>\n        <NamespaceIndex>2</NamespaceIndex>\n        <Name>Input3</Name>\n      </BrowseName>\n      <DisplayName>\n        <Locale></Locale>\n        <Text>Input3</Text>\n      </DisplayName>\n      <Description i:nil=\"true\" />\n      <WriteMask>0</WriteMask>\n      <UserWriteMask>0</UserWriteMask>\n      <References>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=46</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>true</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=358</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=40</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>i=68</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>ns=2;i=3</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>true</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=344</Identifier>\n          </TargetId>\n        </ReferenceNode>\n      </References>\n      <Value>\n        <Value>\n          <Double xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">0</Double>\n        </Value>\n      </Value>\n      <DataType>\n        <Identifier>i=11</Identifier>\n      </DataType>\n      <ValueRank>-1</ValueRank>\n      <ArrayDimensions />\n      <AccessLevel>2</AccessLevel>\n      <UserAccessLevel>2</UserAccessLevel>\n      <MinimumSamplingInterval>0</MinimumSamplingInterval>\n      <Historizing>false</Historizing>\n    </Node>\n    <Node i:type=\"VariableNode\">\n      <NodeId>\n        <Identifier>ns=1;i=362</Identifier>\n      </NodeId>\n      <NodeClass>Variable_2</NodeClass>\n      <BrowseName>\n        <NamespaceIndex>2</NamespaceIndex>\n        <Name>ControlOut</Name>\n      </BrowseName>\n      <DisplayName>\n        <Locale></Locale>\n        <Text>ControlOut</Text>\n      </DisplayName>\n      <Description i:nil=\"true\" />\n      <WriteMask>0</WriteMask>\n      <UserWriteMask>0</UserWriteMask>\n      <References>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=46</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>true</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=358</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=40</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>i=68</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>ns=2;i=3</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=352</Identifier>\n          </TargetId>\n        </ReferenceNode>\n      </References>\n      <Value>\n        <Value>\n          <Double xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">0</Double>\n        </Value>\n      </Value>\n      <DataType>\n        <Identifier>i=11</Identifier>\n      </DataType>\n      <ValueRank>-1</ValueRank>\n      <ArrayDimensions />\n      <AccessLevel>1</AccessLevel>\n      <UserAccessLevel>1</UserAccessLevel>\n      <MinimumSamplingInterval>0</MinimumSamplingInterval>\n      <Historizing>false</Historizing>\n    </Node>\n    <Node i:type=\"VariableNode\">\n      <NodeId>\n        <Identifier>ns=1;i=363</Identifier>\n      </NodeId>\n      <NodeClass>Variable_2</NodeClass>\n      <BrowseName>\n        <NamespaceIndex>2</NamespaceIndex>\n        <Name>Description</Name>\n      </BrowseName>\n      <DisplayName>\n        <Locale></Locale>\n        <Text>Description</Text>\n      </DisplayName>\n      <Description i:nil=\"true\" />\n      <WriteMask>0</WriteMask>\n      <UserWriteMask>0</UserWriteMask>\n      <References>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=46</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>true</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=358</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=40</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>i=68</Identifier>\n          </TargetId>\n        </ReferenceNode>\n      </References>\n      <Value>\n        <Value>\n          <LocalizedText xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n            <Locale p2:nil=\"true\" xmlns:p2=\"http://www.w3.org/2001/XMLSchema-instance\" />\n            <Text p2:nil=\"true\" xmlns:p2=\"http://www.w3.org/2001/XMLSchema-instance\" />\n          </LocalizedText>\n        </Value>\n      </Value>\n      <DataType>\n        <Identifier>i=21</Identifier>\n      </DataType>\n      <ValueRank>-1</ValueRank>\n      <ArrayDimensions />\n      <AccessLevel>1</AccessLevel>\n      <UserAccessLevel>1</UserAccessLevel>\n      <MinimumSamplingInterval>0</MinimumSamplingInterval>\n      <Historizing>false</Historizing>\n    </Node>\n    <Node i:type=\"ObjectNode\">\n      <NodeId>\n        <Identifier>ns=1;i=364</Identifier>\n      </NodeId>\n      <NodeClass>Object_1</NodeClass>\n      <BrowseName>\n        <NamespaceIndex>2</NamespaceIndex>\n        <Name>Simulation</Name>\n      </BrowseName>\n      <DisplayName>\n        <Locale></Locale>\n        <Text>Simulation</Text>\n      </DisplayName>\n      <Description i:nil=\"true\" />\n      <WriteMask>0</WriteMask>\n      <UserWriteMask>0</UserWriteMask>\n      <References>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=47</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>true</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=318</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=40</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>ns=2;i=57</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=36</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>true</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=318</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=47</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=365</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=47</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=370</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=46</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=376</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=46</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=378</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=47</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=391</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=47</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=392</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=47</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=393</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=47</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=394</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=47</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=395</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=46</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=396</Identifier>\n          </TargetId>\n        </ReferenceNode>\n      </References>\n      <EventNotifier>1</EventNotifier>\n    </Node>\n    <Node i:type=\"VariableNode\">\n      <NodeId>\n        <Identifier>ns=1;i=365</Identifier>\n      </NodeId>\n      <NodeClass>Variable_2</NodeClass>\n      <BrowseName>\n        <NamespaceIndex>0</NamespaceIndex>\n        <Name>CurrentState</Name>\n      </BrowseName>\n      <DisplayName>\n        <Locale></Locale>\n        <Text>CurrentState</Text>\n      </DisplayName>\n      <Description i:nil=\"true\" />\n      <WriteMask>0</WriteMask>\n      <UserWriteMask>0</UserWriteMask>\n      <References>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=47</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>true</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=364</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=40</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>i=2760</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=46</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=366</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=46</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=368</Identifier>\n          </TargetId>\n        </ReferenceNode>\n      </References>\n      <Value>\n        <Value>\n          <LocalizedText xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n            <Locale p2:nil=\"true\" xmlns:p2=\"http://www.w3.org/2001/XMLSchema-instance\" />\n            <Text p2:nil=\"true\" xmlns:p2=\"http://www.w3.org/2001/XMLSchema-instance\" />\n          </LocalizedText>\n        </Value>\n      </Value>\n      <DataType>\n        <Identifier>i=21</Identifier>\n      </DataType>\n      <ValueRank>-1</ValueRank>\n      <ArrayDimensions />\n      <AccessLevel>1</AccessLevel>\n      <UserAccessLevel>1</UserAccessLevel>\n      <MinimumSamplingInterval>0</MinimumSamplingInterval>\n      <Historizing>false</Historizing>\n    </Node>\n    <Node i:type=\"VariableNode\">\n      <NodeId>\n        <Identifier>ns=1;i=366</Identifier>\n      </NodeId>\n      <NodeClass>Variable_2</NodeClass>\n      <BrowseName>\n        <NamespaceIndex>0</NamespaceIndex>\n        <Name>Id</Name>\n      </BrowseName>\n      <DisplayName>\n        <Locale></Locale>\n        <Text>Id</Text>\n      </DisplayName>\n      <Description i:nil=\"true\" />\n      <WriteMask>0</WriteMask>\n      <UserWriteMask>0</UserWriteMask>\n      <References>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=46</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>true</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=365</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=40</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>i=68</Identifier>\n          </TargetId>\n        </ReferenceNode>\n      </References>\n      <Value>\n        <Value>\n          <NodeId xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n            <Identifier>i=0</Identifier>\n          </NodeId>\n        </Value>\n      </Value>\n      <DataType>\n        <Identifier>i=17</Identifier>\n      </DataType>\n      <ValueRank>-1</ValueRank>\n      <ArrayDimensions />\n      <AccessLevel>1</AccessLevel>\n      <UserAccessLevel>1</UserAccessLevel>\n      <MinimumSamplingInterval>0</MinimumSamplingInterval>\n      <Historizing>false</Historizing>\n    </Node>\n    <Node i:type=\"VariableNode\">\n      <NodeId>\n        <Identifier>ns=1;i=368</Identifier>\n      </NodeId>\n      <NodeClass>Variable_2</NodeClass>\n      <BrowseName>\n        <NamespaceIndex>0</NamespaceIndex>\n        <Name>Number</Name>\n      </BrowseName>\n      <DisplayName>\n        <Locale></Locale>\n        <Text>Number</Text>\n      </DisplayName>\n      <Description i:nil=\"true\" />\n      <WriteMask>0</WriteMask>\n      <UserWriteMask>0</UserWriteMask>\n      <References>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=46</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>true</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=365</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=40</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>i=68</Identifier>\n          </TargetId>\n        </ReferenceNode>\n      </References>\n      <Value>\n        <Value>\n          <UInt32 xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">0</UInt32>\n        </Value>\n      </Value>\n      <DataType>\n        <Identifier>i=7</Identifier>\n      </DataType>\n      <ValueRank>-1</ValueRank>\n      <ArrayDimensions />\n      <AccessLevel>1</AccessLevel>\n      <UserAccessLevel>1</UserAccessLevel>\n      <MinimumSamplingInterval>0</MinimumSamplingInterval>\n      <Historizing>false</Historizing>\n    </Node>\n    <Node i:type=\"VariableNode\">\n      <NodeId>\n        <Identifier>ns=1;i=370</Identifier>\n      </NodeId>\n      <NodeClass>Variable_2</NodeClass>\n      <BrowseName>\n        <NamespaceIndex>0</NamespaceIndex>\n        <Name>LastTransition</Name>\n      </BrowseName>\n      <DisplayName>\n        <Locale></Locale>\n        <Text>LastTransition</Text>\n      </DisplayName>\n      <Description i:nil=\"true\" />\n      <WriteMask>0</WriteMask>\n      <UserWriteMask>0</UserWriteMask>\n      <References>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=47</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>true</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=364</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=40</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>i=2767</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=46</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=371</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=46</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=373</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=46</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=374</Identifier>\n          </TargetId>\n        </ReferenceNode>\n      </References>\n      <Value>\n        <Value>\n          <LocalizedText xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n            <Locale p2:nil=\"true\" xmlns:p2=\"http://www.w3.org/2001/XMLSchema-instance\" />\n            <Text p2:nil=\"true\" xmlns:p2=\"http://www.w3.org/2001/XMLSchema-instance\" />\n          </LocalizedText>\n        </Value>\n      </Value>\n      <DataType>\n        <Identifier>i=21</Identifier>\n      </DataType>\n      <ValueRank>-1</ValueRank>\n      <ArrayDimensions />\n      <AccessLevel>1</AccessLevel>\n      <UserAccessLevel>1</UserAccessLevel>\n      <MinimumSamplingInterval>0</MinimumSamplingInterval>\n      <Historizing>false</Historizing>\n    </Node>\n    <Node i:type=\"VariableNode\">\n      <NodeId>\n        <Identifier>ns=1;i=371</Identifier>\n      </NodeId>\n      <NodeClass>Variable_2</NodeClass>\n      <BrowseName>\n        <NamespaceIndex>0</NamespaceIndex>\n        <Name>Id</Name>\n      </BrowseName>\n      <DisplayName>\n        <Locale></Locale>\n        <Text>Id</Text>\n      </DisplayName>\n      <Description i:nil=\"true\" />\n      <WriteMask>0</WriteMask>\n      <UserWriteMask>0</UserWriteMask>\n      <References>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=46</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>true</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=370</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=40</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>i=68</Identifier>\n          </TargetId>\n        </ReferenceNode>\n      </References>\n      <Value>\n        <Value>\n          <NodeId xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n            <Identifier>i=0</Identifier>\n          </NodeId>\n        </Value>\n      </Value>\n      <DataType>\n        <Identifier>i=17</Identifier>\n      </DataType>\n      <ValueRank>-1</ValueRank>\n      <ArrayDimensions />\n      <AccessLevel>1</AccessLevel>\n      <UserAccessLevel>1</UserAccessLevel>\n      <MinimumSamplingInterval>0</MinimumSamplingInterval>\n      <Historizing>false</Historizing>\n    </Node>\n    <Node i:type=\"VariableNode\">\n      <NodeId>\n        <Identifier>ns=1;i=373</Identifier>\n      </NodeId>\n      <NodeClass>Variable_2</NodeClass>\n      <BrowseName>\n        <NamespaceIndex>0</NamespaceIndex>\n        <Name>Number</Name>\n      </BrowseName>\n      <DisplayName>\n        <Locale></Locale>\n        <Text>Number</Text>\n      </DisplayName>\n      <Description i:nil=\"true\" />\n      <WriteMask>0</WriteMask>\n      <UserWriteMask>0</UserWriteMask>\n      <References>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=46</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>true</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=370</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=40</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>i=68</Identifier>\n          </TargetId>\n        </ReferenceNode>\n      </References>\n      <Value>\n        <Value>\n          <UInt32 xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">0</UInt32>\n        </Value>\n      </Value>\n      <DataType>\n        <Identifier>i=7</Identifier>\n      </DataType>\n      <ValueRank>-1</ValueRank>\n      <ArrayDimensions />\n      <AccessLevel>1</AccessLevel>\n      <UserAccessLevel>1</UserAccessLevel>\n      <MinimumSamplingInterval>0</MinimumSamplingInterval>\n      <Historizing>false</Historizing>\n    </Node>\n    <Node i:type=\"VariableNode\">\n      <NodeId>\n        <Identifier>ns=1;i=374</Identifier>\n      </NodeId>\n      <NodeClass>Variable_2</NodeClass>\n      <BrowseName>\n        <NamespaceIndex>0</NamespaceIndex>\n        <Name>TransitionTime</Name>\n      </BrowseName>\n      <DisplayName>\n        <Locale></Locale>\n        <Text>TransitionTime</Text>\n      </DisplayName>\n      <Description i:nil=\"true\" />\n      <WriteMask>0</WriteMask>\n      <UserWriteMask>0</UserWriteMask>\n      <References>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=46</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>true</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=370</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=40</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>i=68</Identifier>\n          </TargetId>\n        </ReferenceNode>\n      </References>\n      <Value>\n        <Value>\n          <DateTime xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">0001-01-01T00:00:00</DateTime>\n        </Value>\n      </Value>\n      <DataType>\n        <Identifier>i=294</Identifier>\n      </DataType>\n      <ValueRank>-1</ValueRank>\n      <ArrayDimensions />\n      <AccessLevel>1</AccessLevel>\n      <UserAccessLevel>1</UserAccessLevel>\n      <MinimumSamplingInterval>0</MinimumSamplingInterval>\n      <Historizing>false</Historizing>\n    </Node>\n    <Node i:type=\"VariableNode\">\n      <NodeId>\n        <Identifier>ns=1;i=376</Identifier>\n      </NodeId>\n      <NodeClass>Variable_2</NodeClass>\n      <BrowseName>\n        <NamespaceIndex>0</NamespaceIndex>\n        <Name>Deletable</Name>\n      </BrowseName>\n      <DisplayName>\n        <Locale></Locale>\n        <Text>Deletable</Text>\n      </DisplayName>\n      <Description i:nil=\"true\" />\n      <WriteMask>0</WriteMask>\n      <UserWriteMask>0</UserWriteMask>\n      <References>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=46</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>true</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=364</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=40</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>i=68</Identifier>\n          </TargetId>\n        </ReferenceNode>\n      </References>\n      <Value>\n        <Value>\n          <Boolean xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">false</Boolean>\n        </Value>\n      </Value>\n      <DataType>\n        <Identifier>i=1</Identifier>\n      </DataType>\n      <ValueRank>-1</ValueRank>\n      <ArrayDimensions />\n      <AccessLevel>1</AccessLevel>\n      <UserAccessLevel>1</UserAccessLevel>\n      <MinimumSamplingInterval>0</MinimumSamplingInterval>\n      <Historizing>false</Historizing>\n    </Node>\n    <Node i:type=\"VariableNode\">\n      <NodeId>\n        <Identifier>ns=1;i=378</Identifier>\n      </NodeId>\n      <NodeClass>Variable_2</NodeClass>\n      <BrowseName>\n        <NamespaceIndex>0</NamespaceIndex>\n        <Name>RecycleCount</Name>\n      </BrowseName>\n      <DisplayName>\n        <Locale></Locale>\n        <Text>RecycleCount</Text>\n      </DisplayName>\n      <Description i:nil=\"true\" />\n      <WriteMask>0</WriteMask>\n      <UserWriteMask>0</UserWriteMask>\n      <References>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=46</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>true</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=364</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=40</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>i=68</Identifier>\n          </TargetId>\n        </ReferenceNode>\n      </References>\n      <Value>\n        <Value>\n          <Int32 xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">0</Int32>\n        </Value>\n      </Value>\n      <DataType>\n        <Identifier>i=6</Identifier>\n      </DataType>\n      <ValueRank>-1</ValueRank>\n      <ArrayDimensions />\n      <AccessLevel>1</AccessLevel>\n      <UserAccessLevel>1</UserAccessLevel>\n      <MinimumSamplingInterval>0</MinimumSamplingInterval>\n      <Historizing>false</Historizing>\n    </Node>\n    <Node i:type=\"MethodNode\">\n      <NodeId>\n        <Identifier>ns=1;i=391</Identifier>\n      </NodeId>\n      <NodeClass>Method_4</NodeClass>\n      <BrowseName>\n        <NamespaceIndex>0</NamespaceIndex>\n        <Name>Start</Name>\n      </BrowseName>\n      <DisplayName>\n        <Locale></Locale>\n        <Text>Start</Text>\n      </DisplayName>\n      <Description>\n        <Locale></Locale>\n        <Text>Causes the Program to transition from the Ready state to the Running state.</Text>\n      </Description>\n      <WriteMask>0</WriteMask>\n      <UserWriteMask>0</UserWriteMask>\n      <References>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=47</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>true</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=364</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=40</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>i=2426</Identifier>\n          </TargetId>\n        </ReferenceNode>\n      </References>\n      <Executable>true</Executable>\n      <UserExecutable>true</UserExecutable>\n    </Node>\n    <Node i:type=\"MethodNode\">\n      <NodeId>\n        <Identifier>ns=1;i=392</Identifier>\n      </NodeId>\n      <NodeClass>Method_4</NodeClass>\n      <BrowseName>\n        <NamespaceIndex>0</NamespaceIndex>\n        <Name>Suspend</Name>\n      </BrowseName>\n      <DisplayName>\n        <Locale></Locale>\n        <Text>Suspend</Text>\n      </DisplayName>\n      <Description>\n        <Locale></Locale>\n        <Text>Causes the Program to transition from the Running state to the Suspended state.</Text>\n      </Description>\n      <WriteMask>0</WriteMask>\n      <UserWriteMask>0</UserWriteMask>\n      <References>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=47</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>true</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=364</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=40</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>i=2427</Identifier>\n          </TargetId>\n        </ReferenceNode>\n      </References>\n      <Executable>true</Executable>\n      <UserExecutable>true</UserExecutable>\n    </Node>\n    <Node i:type=\"MethodNode\">\n      <NodeId>\n        <Identifier>ns=1;i=393</Identifier>\n      </NodeId>\n      <NodeClass>Method_4</NodeClass>\n      <BrowseName>\n        <NamespaceIndex>0</NamespaceIndex>\n        <Name>Resume</Name>\n      </BrowseName>\n      <DisplayName>\n        <Locale></Locale>\n        <Text>Resume</Text>\n      </DisplayName>\n      <Description>\n        <Locale></Locale>\n        <Text>Causes the Program to transition from the Suspended state to the Running state.</Text>\n      </Description>\n      <WriteMask>0</WriteMask>\n      <UserWriteMask>0</UserWriteMask>\n      <References>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=47</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>true</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=364</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=40</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>i=2428</Identifier>\n          </TargetId>\n        </ReferenceNode>\n      </References>\n      <Executable>true</Executable>\n      <UserExecutable>true</UserExecutable>\n    </Node>\n    <Node i:type=\"MethodNode\">\n      <NodeId>\n        <Identifier>ns=1;i=394</Identifier>\n      </NodeId>\n      <NodeClass>Method_4</NodeClass>\n      <BrowseName>\n        <NamespaceIndex>0</NamespaceIndex>\n        <Name>Halt</Name>\n      </BrowseName>\n      <DisplayName>\n        <Locale></Locale>\n        <Text>Halt</Text>\n      </DisplayName>\n      <Description>\n        <Locale></Locale>\n        <Text>Causes the Program to transition from the Ready, Running or Suspended state to the Halted state.</Text>\n      </Description>\n      <WriteMask>0</WriteMask>\n      <UserWriteMask>0</UserWriteMask>\n      <References>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=47</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>true</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=364</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=40</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>i=2429</Identifier>\n          </TargetId>\n        </ReferenceNode>\n      </References>\n      <Executable>true</Executable>\n      <UserExecutable>true</UserExecutable>\n    </Node>\n    <Node i:type=\"MethodNode\">\n      <NodeId>\n        <Identifier>ns=1;i=395</Identifier>\n      </NodeId>\n      <NodeClass>Method_4</NodeClass>\n      <BrowseName>\n        <NamespaceIndex>0</NamespaceIndex>\n        <Name>Reset</Name>\n      </BrowseName>\n      <DisplayName>\n        <Locale></Locale>\n        <Text>Reset</Text>\n      </DisplayName>\n      <Description>\n        <Locale></Locale>\n        <Text>Causes the Program to transition from the Halted state to the Ready state.</Text>\n      </Description>\n      <WriteMask>0</WriteMask>\n      <UserWriteMask>0</UserWriteMask>\n      <References>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=47</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>true</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=364</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=40</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>i=2430</Identifier>\n          </TargetId>\n        </ReferenceNode>\n      </References>\n      <Executable>true</Executable>\n      <UserExecutable>true</UserExecutable>\n    </Node>\n    <Node i:type=\"VariableNode\">\n      <NodeId>\n        <Identifier>ns=1;i=396</Identifier>\n      </NodeId>\n      <NodeClass>Variable_2</NodeClass>\n      <BrowseName>\n        <NamespaceIndex>2</NamespaceIndex>\n        <Name>UpdateRate</Name>\n      </BrowseName>\n      <DisplayName>\n        <Locale></Locale>\n        <Text>UpdateRate</Text>\n      </DisplayName>\n      <Description>\n        <Locale></Locale>\n        <Text>The rate at which the simulation runs.</Text>\n      </Description>\n      <WriteMask>0</WriteMask>\n      <UserWriteMask>0</UserWriteMask>\n      <References>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=46</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>true</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=364</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=40</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>i=68</Identifier>\n          </TargetId>\n        </ReferenceNode>\n      </References>\n      <Value>\n        <Value>\n          <UInt32 xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">0</UInt32>\n        </Value>\n      </Value>\n      <DataType>\n        <Identifier>i=7</Identifier>\n      </DataType>\n      <ValueRank>-1</ValueRank>\n      <ArrayDimensions />\n      <AccessLevel>3</AccessLevel>\n      <UserAccessLevel>3</UserAccessLevel>\n      <MinimumSamplingInterval>0</MinimumSamplingInterval>\n      <Historizing>false</Historizing>\n    </Node>\n    <Node i:type=\"ObjectNode\">\n      <NodeId>\n        <Identifier>ns=1;i=398</Identifier>\n      </NodeId>\n      <NodeClass>Object_1</NodeClass>\n      <BrowseName>\n        <NamespaceIndex>1</NamespaceIndex>\n        <Name>Drums</Name>\n      </BrowseName>\n      <DisplayName>\n        <Locale></Locale>\n        <Text>Drums</Text>\n      </DisplayName>\n      <Description i:nil=\"true\" />\n      <WriteMask>0</WriteMask>\n      <UserWriteMask>0</UserWriteMask>\n      <References>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=40</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>i=58</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=35</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>true</IsInverse>\n          <TargetId>\n            <Identifier>i=85</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=47</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=97</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=47</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=176</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=47</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=255</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=47</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=334</Identifier>\n          </TargetId>\n        </ReferenceNode>\n      </References>\n      <EventNotifier>0</EventNotifier>\n    </Node>\n    <Node i:type=\"ObjectNode\">\n      <NodeId>\n        <Identifier>ns=1;i=399</Identifier>\n      </NodeId>\n      <NodeClass>Object_1</NodeClass>\n      <BrowseName>\n        <NamespaceIndex>1</NamespaceIndex>\n        <Name>Pipes</Name>\n      </BrowseName>\n      <DisplayName>\n        <Locale></Locale>\n        <Text>Pipes</Text>\n      </DisplayName>\n      <Description i:nil=\"true\" />\n      <WriteMask>0</WriteMask>\n      <UserWriteMask>0</UserWriteMask>\n      <References>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=40</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>i=58</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=35</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>true</IsInverse>\n          <TargetId>\n            <Identifier>i=85</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=47</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=82</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=47</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=105</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=47</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=161</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=47</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=184</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=47</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=240</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=47</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=263</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=47</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=319</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=47</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=342</Identifier>\n          </TargetId>\n        </ReferenceNode>\n      </References>\n      <EventNotifier>0</EventNotifier>\n    </Node>\n  </Nodes>\n</NodeSet>"
  },
  {
    "path": "Networking/Simulator.Boiler/UAInformationModel/DemoConfiguration/BoilersSet/Commsvr.UA.Examples.BoilersSet.NodeSet2.xml",
    "content": "﻿<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<UANodeSet xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\" LastModified=\"2019-05-15T07:12:23.884644Z\" xmlns=\"http://opcfoundation.org/UA/2011/03/UANodeSet.xsd\">\n  <NamespaceUris>\n    <Uri>http://commsvr.com/UA/Examples/BoilersSet</Uri>\n    <Uri>http://tempuri.org/UA/Examples/BoilerType</Uri>\n  </NamespaceUris>\n  <Aliases>\n    <Alias Alias=\"Boolean\">i=1</Alias>\n    <Alias Alias=\"SByte\">i=2</Alias>\n    <Alias Alias=\"Byte\">i=3</Alias>\n    <Alias Alias=\"Int16\">i=4</Alias>\n    <Alias Alias=\"UInt16\">i=5</Alias>\n    <Alias Alias=\"Int32\">i=6</Alias>\n    <Alias Alias=\"UInt32\">i=7</Alias>\n    <Alias Alias=\"Int64\">i=8</Alias>\n    <Alias Alias=\"UInt64\">i=9</Alias>\n    <Alias Alias=\"Float\">i=10</Alias>\n    <Alias Alias=\"Double\">i=11</Alias>\n    <Alias Alias=\"DateTime\">i=13</Alias>\n    <Alias Alias=\"String\">i=12</Alias>\n    <Alias Alias=\"ByteString\">i=15</Alias>\n    <Alias Alias=\"Guid\">i=14</Alias>\n    <Alias Alias=\"XmlElement\">i=16</Alias>\n    <Alias Alias=\"NodeId\">i=17</Alias>\n    <Alias Alias=\"ExpandedNodeId\">i=18</Alias>\n    <Alias Alias=\"QualifiedName\">i=20</Alias>\n    <Alias Alias=\"LocalizedText\">i=21</Alias>\n    <Alias Alias=\"StatusCode\">i=19</Alias>\n    <Alias Alias=\"Structure\">i=22</Alias>\n    <Alias Alias=\"Number\">i=26</Alias>\n    <Alias Alias=\"Integer\">i=27</Alias>\n    <Alias Alias=\"UInteger\">i=28</Alias>\n    <Alias Alias=\"HasComponent\">i=47</Alias>\n    <Alias Alias=\"HasProperty\">i=46</Alias>\n    <Alias Alias=\"Organizes\">i=35</Alias>\n    <Alias Alias=\"HasEventSource\">i=36</Alias>\n    <Alias Alias=\"HasNotifier\">i=48</Alias>\n    <Alias Alias=\"HasSubtype\">i=45</Alias>\n    <Alias Alias=\"HasTypeDefinition\">i=40</Alias>\n    <Alias Alias=\"HasModellingRule\">i=37</Alias>\n    <Alias Alias=\"HasEncoding\">i=38</Alias>\n    <Alias Alias=\"HasDescription\">i=39</Alias>\n  </Aliases>\n  <UAObject NodeId=\"ns=1;i=1\" BrowseName=\"1:BoilersArea\">\n    <DisplayName>BoilersArea</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=81</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=160</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=239</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=318</Reference>\n      <Reference ReferenceType=\"Organizes\" IsForward=\"false\">i=85</Reference>\n      <Reference ReferenceType=\"HasNotifier\" IsForward=\"false\">i=2253</Reference>\n      <Reference ReferenceType=\"HasNotifier\">ns=1;i=81</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=61</Reference>\n    </References>\n  </UAObject>\n  <UAObject NodeId=\"ns=1;i=81\" BrowseName=\"1:Boiler #1\" SymbolicName=\"BoilerAlpha\" ParentNodeId=\"ns=1;i=1\">\n    <DisplayName>Boiler #1</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=82</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=97</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=105</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=113</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=117</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=121</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=127</Reference>\n      <Reference ReferenceType=\"HasNotifier\" IsForward=\"false\">ns=1;i=1</Reference>\n      <Reference ReferenceType=\"HasNotifier\">ns=1;i=82</Reference>\n      <Reference ReferenceType=\"HasNotifier\">ns=1;i=97</Reference>\n      <Reference ReferenceType=\"HasNotifier\">ns=1;i=105</Reference>\n      <Reference ReferenceType=\"HasEventSource\">ns=1;i=127</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">ns=2;i=151</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=1</Reference>\n    </References>\n  </UAObject>\n  <UAObject NodeId=\"ns=1;i=82\" BrowseName=\"1:InputPipe\" ParentNodeId=\"ns=1;i=81\" EventNotifier=\"1\">\n    <DisplayName>Boiler #1: Pipe1001</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=83</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=90</Reference>\n      <Reference ReferenceType=\"HasNotifier\" IsForward=\"false\">ns=1;i=81</Reference>\n      <Reference ReferenceType=\"HasNotifier\">ns=1;i=83</Reference>\n      <Reference ReferenceType=\"ns=2;i=1\">ns=1;i=97</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">ns=2;i=120</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=81</Reference>\n    </References>\n  </UAObject>\n  <UAObject NodeId=\"ns=1;i=83\" BrowseName=\"2:FTX001\" SymbolicName=\"FlowTransmitter1\" ParentNodeId=\"ns=1;i=82\" EventNotifier=\"1\">\n    <DisplayName>FlowTransmitter1</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=84</Reference>\n      <Reference ReferenceType=\"HasNotifier\" IsForward=\"false\">ns=1;i=82</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">ns=2;i=50</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=82</Reference>\n    </References>\n  </UAObject>\n  <UAVariable NodeId=\"ns=1;i=84\" BrowseName=\"2:Output\" ParentNodeId=\"ns=1;i=83\" DataType=\"Double\">\n    <DisplayName>Output</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=88</Reference>\n      <Reference ReferenceType=\"ns=2;i=3\">ns=1;i=114</Reference>\n      <Reference ReferenceType=\"ns=2;i=3\">ns=1;i=123</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=2368</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=83</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=88\" BrowseName=\"EURange\" ParentNodeId=\"ns=1;i=84\" DataType=\"i=884\">\n    <DisplayName>EURange</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=84</Reference>\n    </References>\n  </UAVariable>\n  <UAObject NodeId=\"ns=1;i=90\" BrowseName=\"2:ValveX001\" SymbolicName=\"Valve\" ParentNodeId=\"ns=1;i=82\" EventNotifier=\"1\">\n    <DisplayName>Valve</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=91</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">ns=2;i=28</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=82</Reference>\n    </References>\n  </UAObject>\n  <UAVariable NodeId=\"ns=1;i=91\" BrowseName=\"2:Input\" ParentNodeId=\"ns=1;i=90\" DataType=\"Double\" AccessLevel=\"2\" UserAccessLevel=\"2\">\n    <DisplayName>Input</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=95</Reference>\n      <Reference ReferenceType=\"ns=2;i=3\" IsForward=\"false\">ns=1;i=116</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=2368</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=90</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=95\" BrowseName=\"EURange\" ParentNodeId=\"ns=1;i=91\" DataType=\"i=884\">\n    <DisplayName>EURange</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=91</Reference>\n    </References>\n  </UAVariable>\n  <UAObject NodeId=\"ns=1;i=97\" BrowseName=\"1:Drum\" ParentNodeId=\"ns=1;i=81\" EventNotifier=\"1\">\n    <DisplayName>Boiler #1: Drum1001</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=98</Reference>\n      <Reference ReferenceType=\"HasNotifier\" IsForward=\"false\">ns=1;i=81</Reference>\n      <Reference ReferenceType=\"ns=2;i=1\" IsForward=\"false\">ns=1;i=82</Reference>\n      <Reference ReferenceType=\"HasNotifier\">ns=1;i=98</Reference>\n      <Reference ReferenceType=\"ns=2;i=2\">ns=1;i=105</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">ns=2;i=135</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=81</Reference>\n    </References>\n  </UAObject>\n  <UAObject NodeId=\"ns=1;i=98\" BrowseName=\"2:LIX001\" SymbolicName=\"LevelIndicator\" ParentNodeId=\"ns=1;i=97\" EventNotifier=\"1\">\n    <DisplayName>LIX001</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=99</Reference>\n      <Reference ReferenceType=\"HasNotifier\" IsForward=\"false\">ns=1;i=97</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">ns=2;i=43</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=97</Reference>\n    </References>\n  </UAObject>\n  <UAVariable NodeId=\"ns=1;i=99\" BrowseName=\"2:Output\" ParentNodeId=\"ns=1;i=98\" DataType=\"Number\">\n    <DisplayName>Output</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=103</Reference>\n      <Reference ReferenceType=\"ns=2;i=3\">ns=1;i=118</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=2368</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=98</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=103\" BrowseName=\"EURange\" ParentNodeId=\"ns=1;i=99\" DataType=\"i=884\">\n    <DisplayName>EURange</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=99</Reference>\n    </References>\n  </UAVariable>\n  <UAObject NodeId=\"ns=1;i=105\" BrowseName=\"1:OutputPipe\" ParentNodeId=\"ns=1;i=81\" EventNotifier=\"1\">\n    <DisplayName>Boiler #1: Pipe1002</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=106</Reference>\n      <Reference ReferenceType=\"HasNotifier\" IsForward=\"false\">ns=1;i=81</Reference>\n      <Reference ReferenceType=\"ns=2;i=2\" IsForward=\"false\">ns=1;i=97</Reference>\n      <Reference ReferenceType=\"HasNotifier\">ns=1;i=106</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">ns=2;i=143</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=81</Reference>\n    </References>\n  </UAObject>\n  <UAObject NodeId=\"ns=1;i=106\" BrowseName=\"2:FTX002\" SymbolicName=\"FlowTransmitter2\" ParentNodeId=\"ns=1;i=105\" EventNotifier=\"1\">\n    <DisplayName>FTX002</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=107</Reference>\n      <Reference ReferenceType=\"HasNotifier\" IsForward=\"false\">ns=1;i=105</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">ns=2;i=50</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=105</Reference>\n    </References>\n  </UAObject>\n  <UAVariable NodeId=\"ns=1;i=107\" BrowseName=\"2:Output\" ParentNodeId=\"ns=1;i=106\" DataType=\"Double\">\n    <DisplayName>Output</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=111</Reference>\n      <Reference ReferenceType=\"ns=2;i=3\">ns=1;i=124</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=2368</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=106</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=111\" BrowseName=\"EURange\" ParentNodeId=\"ns=1;i=107\" DataType=\"i=884\">\n    <DisplayName>EURange</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=107</Reference>\n    </References>\n  </UAVariable>\n  <UAObject NodeId=\"ns=1;i=113\" BrowseName=\"1:FlowController\" ParentNodeId=\"ns=1;i=81\">\n    <DisplayName>Boiler #1: FC1001</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=114</Reference>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=115</Reference>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=116</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">ns=2;i=39</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=81</Reference>\n    </References>\n  </UAObject>\n  <UAVariable NodeId=\"ns=1;i=114\" BrowseName=\"2:Measurement\" ParentNodeId=\"ns=1;i=113\" DataType=\"Double\">\n    <DisplayName>Measurement</DisplayName>\n    <References>\n      <Reference ReferenceType=\"ns=2;i=3\" IsForward=\"false\">ns=1;i=84</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=113</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=115\" BrowseName=\"2:SetPoint\" ParentNodeId=\"ns=1;i=113\" DataType=\"Double\" AccessLevel=\"3\" UserAccessLevel=\"3\">\n    <DisplayName>SetPoint</DisplayName>\n    <References>\n      <Reference ReferenceType=\"ns=2;i=3\" IsForward=\"false\">ns=1;i=125</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=113</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=116\" BrowseName=\"2:ControlOut\" ParentNodeId=\"ns=1;i=113\" DataType=\"Double\">\n    <DisplayName>ControlOut</DisplayName>\n    <References>\n      <Reference ReferenceType=\"ns=2;i=3\">ns=1;i=91</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=113</Reference>\n    </References>\n  </UAVariable>\n  <UAObject NodeId=\"ns=1;i=117\" BrowseName=\"1:LevelController\" ParentNodeId=\"ns=1;i=81\">\n    <DisplayName>Boiler #1: LC1001</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=118</Reference>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=119</Reference>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=120</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">ns=2;i=35</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=81</Reference>\n    </References>\n  </UAObject>\n  <UAVariable NodeId=\"ns=1;i=118\" BrowseName=\"2:Measurement\" ParentNodeId=\"ns=1;i=117\" DataType=\"Double\">\n    <DisplayName>Measurement</DisplayName>\n    <References>\n      <Reference ReferenceType=\"ns=2;i=3\" IsForward=\"false\">ns=1;i=99</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=117</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=119\" BrowseName=\"2:SetPoint\" ParentNodeId=\"ns=1;i=117\" DataType=\"Double\" AccessLevel=\"3\" UserAccessLevel=\"3\">\n    <DisplayName>SetPoint</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=117</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=120\" BrowseName=\"2:ControlOut\" ParentNodeId=\"ns=1;i=117\" DataType=\"Double\">\n    <DisplayName>ControlOut</DisplayName>\n    <References>\n      <Reference ReferenceType=\"ns=2;i=3\">ns=1;i=122</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=117</Reference>\n    </References>\n  </UAVariable>\n  <UAObject NodeId=\"ns=1;i=121\" BrowseName=\"1:CustomController\" ParentNodeId=\"ns=1;i=81\">\n    <DisplayName>Boiler #1: CC1001</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=122</Reference>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=123</Reference>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=124</Reference>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=125</Reference>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=126</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">ns=2;i=22</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=81</Reference>\n    </References>\n  </UAObject>\n  <UAVariable NodeId=\"ns=1;i=122\" BrowseName=\"2:Input1\" ParentNodeId=\"ns=1;i=121\" DataType=\"Double\" AccessLevel=\"2\" UserAccessLevel=\"2\">\n    <DisplayName>Input1</DisplayName>\n    <References>\n      <Reference ReferenceType=\"ns=2;i=3\" IsForward=\"false\">ns=1;i=120</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=121</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=123\" BrowseName=\"2:Input2\" ParentNodeId=\"ns=1;i=121\" DataType=\"Double\" AccessLevel=\"2\" UserAccessLevel=\"2\">\n    <DisplayName>Input2</DisplayName>\n    <References>\n      <Reference ReferenceType=\"ns=2;i=3\" IsForward=\"false\">ns=1;i=84</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=121</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=124\" BrowseName=\"2:Input3\" ParentNodeId=\"ns=1;i=121\" DataType=\"Double\" AccessLevel=\"2\" UserAccessLevel=\"2\">\n    <DisplayName>Input3</DisplayName>\n    <References>\n      <Reference ReferenceType=\"ns=2;i=3\" IsForward=\"false\">ns=1;i=107</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=121</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=125\" BrowseName=\"2:ControlOut\" ParentNodeId=\"ns=1;i=121\" DataType=\"Double\">\n    <DisplayName>ControlOut</DisplayName>\n    <References>\n      <Reference ReferenceType=\"ns=2;i=3\">ns=1;i=115</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=121</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=126\" BrowseName=\"2:Description\" SymbolicName=\"DescriptionX\" ParentNodeId=\"ns=1;i=121\" DataType=\"LocalizedText\">\n    <DisplayName>Description</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=121</Reference>\n    </References>\n  </UAVariable>\n  <UAObject NodeId=\"ns=1;i=127\" BrowseName=\"2:Simulation\" ParentNodeId=\"ns=1;i=81\" EventNotifier=\"1\">\n    <DisplayName>Simulation</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=128</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=133</Reference>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=139</Reference>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=141</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=154</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=155</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=156</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=157</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=158</Reference>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=159</Reference>\n      <Reference ReferenceType=\"HasEventSource\" IsForward=\"false\">ns=1;i=81</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">ns=2;i=57</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=81</Reference>\n    </References>\n  </UAObject>\n  <UAVariable NodeId=\"ns=1;i=128\" BrowseName=\"CurrentState\" ParentNodeId=\"ns=1;i=127\" DataType=\"LocalizedText\">\n    <DisplayName>CurrentState</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=129</Reference>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=131</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=2760</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=127</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=129\" BrowseName=\"Id\" ParentNodeId=\"ns=1;i=128\" DataType=\"NodeId\">\n    <DisplayName>Id</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=128</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=131\" BrowseName=\"Number\" ParentNodeId=\"ns=1;i=128\" DataType=\"UInt32\">\n    <DisplayName>Number</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=128</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=133\" BrowseName=\"LastTransition\" ParentNodeId=\"ns=1;i=127\" DataType=\"LocalizedText\">\n    <DisplayName>LastTransition</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=134</Reference>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=136</Reference>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=137</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=2767</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=127</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=134\" BrowseName=\"Id\" ParentNodeId=\"ns=1;i=133\" DataType=\"NodeId\">\n    <DisplayName>Id</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=133</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=136\" BrowseName=\"Number\" ParentNodeId=\"ns=1;i=133\" DataType=\"UInt32\">\n    <DisplayName>Number</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=133</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=137\" BrowseName=\"TransitionTime\" ParentNodeId=\"ns=1;i=133\" DataType=\"i=294\">\n    <DisplayName>TransitionTime</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=133</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=139\" BrowseName=\"Deletable\" ParentNodeId=\"ns=1;i=127\" DataType=\"Boolean\">\n    <DisplayName>Deletable</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=127</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=141\" BrowseName=\"RecycleCount\" ParentNodeId=\"ns=1;i=127\" DataType=\"Int32\">\n    <DisplayName>RecycleCount</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=127</Reference>\n    </References>\n  </UAVariable>\n  <UAMethod NodeId=\"ns=1;i=154\" BrowseName=\"Start\" ParentNodeId=\"ns=1;i=127\" MethodDeclarationId=\"i=2426\">\n    <DisplayName>Start</DisplayName>\n    <Description>Causes the Program to transition from the Ready state to the Running state.</Description>\n    <References>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=127</Reference>\n    </References>\n  </UAMethod>\n  <UAMethod NodeId=\"ns=1;i=155\" BrowseName=\"Suspend\" ParentNodeId=\"ns=1;i=127\" MethodDeclarationId=\"i=2427\">\n    <DisplayName>Suspend</DisplayName>\n    <Description>Causes the Program to transition from the Running state to the Suspended state.</Description>\n    <References>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=127</Reference>\n    </References>\n  </UAMethod>\n  <UAMethod NodeId=\"ns=1;i=156\" BrowseName=\"Resume\" ParentNodeId=\"ns=1;i=127\" MethodDeclarationId=\"i=2428\">\n    <DisplayName>Resume</DisplayName>\n    <Description>Causes the Program to transition from the Suspended state to the Running state.</Description>\n    <References>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=127</Reference>\n    </References>\n  </UAMethod>\n  <UAMethod NodeId=\"ns=1;i=157\" BrowseName=\"Halt\" ParentNodeId=\"ns=1;i=127\" MethodDeclarationId=\"i=2429\">\n    <DisplayName>Halt</DisplayName>\n    <Description>Causes the Program to transition from the Ready, Running or Suspended state to the Halted state.</Description>\n    <References>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=127</Reference>\n    </References>\n  </UAMethod>\n  <UAMethod NodeId=\"ns=1;i=158\" BrowseName=\"Reset\" ParentNodeId=\"ns=1;i=127\" MethodDeclarationId=\"i=2430\">\n    <DisplayName>Reset</DisplayName>\n    <Description>Causes the Program to transition from the Halted state to the Ready state.</Description>\n    <References>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=127</Reference>\n    </References>\n  </UAMethod>\n  <UAVariable NodeId=\"ns=1;i=159\" BrowseName=\"2:UpdateRate\" ParentNodeId=\"ns=1;i=127\" DataType=\"UInt32\" AccessLevel=\"3\" UserAccessLevel=\"3\">\n    <DisplayName>UpdateRate</DisplayName>\n    <Description>The rate at which the simulation runs.</Description>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=127</Reference>\n    </References>\n  </UAVariable>\n  <UAObject NodeId=\"ns=1;i=160\" BrowseName=\"1:Boiler #2\" SymbolicName=\"BoilerBravo\" ParentNodeId=\"ns=1;i=1\">\n    <DisplayName>Boilers Second</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=161</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=176</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=184</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=192</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=196</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=200</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=206</Reference>\n      <Reference ReferenceType=\"HasNotifier\">ns=1;i=161</Reference>\n      <Reference ReferenceType=\"HasNotifier\">ns=1;i=176</Reference>\n      <Reference ReferenceType=\"HasNotifier\">ns=1;i=184</Reference>\n      <Reference ReferenceType=\"HasEventSource\">ns=1;i=206</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">ns=2;i=151</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=1</Reference>\n    </References>\n  </UAObject>\n  <UAObject NodeId=\"ns=1;i=161\" BrowseName=\"1:InputPipe\" ParentNodeId=\"ns=1;i=160\" EventNotifier=\"1\">\n    <DisplayName>Boiler #2: Pipe1001</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=162</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=169</Reference>\n      <Reference ReferenceType=\"HasNotifier\" IsForward=\"false\">ns=1;i=160</Reference>\n      <Reference ReferenceType=\"HasNotifier\">ns=1;i=162</Reference>\n      <Reference ReferenceType=\"ns=2;i=1\">ns=1;i=176</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">ns=2;i=120</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=160</Reference>\n    </References>\n  </UAObject>\n  <UAObject NodeId=\"ns=1;i=162\" BrowseName=\"2:FTX001\" SymbolicName=\"FlowTransmitter1\" ParentNodeId=\"ns=1;i=161\" EventNotifier=\"1\">\n    <DisplayName>FlowTransmitter1</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=163</Reference>\n      <Reference ReferenceType=\"HasNotifier\" IsForward=\"false\">ns=1;i=161</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">ns=2;i=50</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=161</Reference>\n    </References>\n  </UAObject>\n  <UAVariable NodeId=\"ns=1;i=163\" BrowseName=\"2:Output\" ParentNodeId=\"ns=1;i=162\" DataType=\"Double\">\n    <DisplayName>Output</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=167</Reference>\n      <Reference ReferenceType=\"ns=2;i=3\">ns=1;i=193</Reference>\n      <Reference ReferenceType=\"ns=2;i=3\">ns=1;i=202</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=2368</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=162</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=167\" BrowseName=\"EURange\" ParentNodeId=\"ns=1;i=163\" DataType=\"i=884\">\n    <DisplayName>EURange</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=163</Reference>\n    </References>\n  </UAVariable>\n  <UAObject NodeId=\"ns=1;i=169\" BrowseName=\"2:ValveX001\" SymbolicName=\"Valve\" ParentNodeId=\"ns=1;i=161\" EventNotifier=\"1\">\n    <DisplayName>Valve</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=170</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">ns=2;i=28</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=161</Reference>\n    </References>\n  </UAObject>\n  <UAVariable NodeId=\"ns=1;i=170\" BrowseName=\"2:Input\" ParentNodeId=\"ns=1;i=169\" DataType=\"Double\" AccessLevel=\"2\" UserAccessLevel=\"2\">\n    <DisplayName>Input</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=174</Reference>\n      <Reference ReferenceType=\"ns=2;i=3\" IsForward=\"false\">ns=1;i=195</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=2368</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=169</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=174\" BrowseName=\"EURange\" ParentNodeId=\"ns=1;i=170\" DataType=\"i=884\">\n    <DisplayName>EURange</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=170</Reference>\n    </References>\n  </UAVariable>\n  <UAObject NodeId=\"ns=1;i=176\" BrowseName=\"1:Drum\" ParentNodeId=\"ns=1;i=160\" EventNotifier=\"1\">\n    <DisplayName>Boiler #2: Drum1001</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=177</Reference>\n      <Reference ReferenceType=\"HasNotifier\" IsForward=\"false\">ns=1;i=160</Reference>\n      <Reference ReferenceType=\"ns=2;i=1\" IsForward=\"false\">ns=1;i=161</Reference>\n      <Reference ReferenceType=\"HasNotifier\">ns=1;i=177</Reference>\n      <Reference ReferenceType=\"ns=2;i=2\">ns=1;i=184</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">ns=2;i=135</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=160</Reference>\n    </References>\n  </UAObject>\n  <UAObject NodeId=\"ns=1;i=177\" BrowseName=\"2:LIX001\" SymbolicName=\"LevelIndicator\" ParentNodeId=\"ns=1;i=176\" EventNotifier=\"1\">\n    <DisplayName>LIX001</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=178</Reference>\n      <Reference ReferenceType=\"HasNotifier\" IsForward=\"false\">ns=1;i=176</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">ns=2;i=43</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=176</Reference>\n    </References>\n  </UAObject>\n  <UAVariable NodeId=\"ns=1;i=178\" BrowseName=\"2:Output\" ParentNodeId=\"ns=1;i=177\" DataType=\"Number\">\n    <DisplayName>Output</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=182</Reference>\n      <Reference ReferenceType=\"ns=2;i=3\">ns=1;i=197</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=2368</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=177</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=182\" BrowseName=\"EURange\" ParentNodeId=\"ns=1;i=178\" DataType=\"i=884\">\n    <DisplayName>EURange</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=178</Reference>\n    </References>\n  </UAVariable>\n  <UAObject NodeId=\"ns=1;i=184\" BrowseName=\"1:OutputPipe\" ParentNodeId=\"ns=1;i=160\" EventNotifier=\"1\">\n    <DisplayName>Boiler #2: Pipe1002</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=185</Reference>\n      <Reference ReferenceType=\"HasNotifier\" IsForward=\"false\">ns=1;i=160</Reference>\n      <Reference ReferenceType=\"ns=2;i=2\" IsForward=\"false\">ns=1;i=176</Reference>\n      <Reference ReferenceType=\"HasNotifier\">ns=1;i=185</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">ns=2;i=143</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=160</Reference>\n    </References>\n  </UAObject>\n  <UAObject NodeId=\"ns=1;i=185\" BrowseName=\"2:FTX002\" SymbolicName=\"FlowTransmitter2\" ParentNodeId=\"ns=1;i=184\" EventNotifier=\"1\">\n    <DisplayName>FTX002</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=186</Reference>\n      <Reference ReferenceType=\"HasNotifier\" IsForward=\"false\">ns=1;i=184</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">ns=2;i=50</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=184</Reference>\n    </References>\n  </UAObject>\n  <UAVariable NodeId=\"ns=1;i=186\" BrowseName=\"2:Output\" ParentNodeId=\"ns=1;i=185\" DataType=\"Double\">\n    <DisplayName>Output</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=190</Reference>\n      <Reference ReferenceType=\"ns=2;i=3\">ns=1;i=203</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=2368</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=185</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=190\" BrowseName=\"EURange\" ParentNodeId=\"ns=1;i=186\" DataType=\"i=884\">\n    <DisplayName>EURange</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=186</Reference>\n    </References>\n  </UAVariable>\n  <UAObject NodeId=\"ns=1;i=192\" BrowseName=\"1:FlowController\" ParentNodeId=\"ns=1;i=160\">\n    <DisplayName>Boiler #2: FC1001</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=193</Reference>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=194</Reference>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=195</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">ns=2;i=39</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=160</Reference>\n    </References>\n  </UAObject>\n  <UAVariable NodeId=\"ns=1;i=193\" BrowseName=\"2:Measurement\" ParentNodeId=\"ns=1;i=192\" DataType=\"Double\">\n    <DisplayName>Measurement</DisplayName>\n    <References>\n      <Reference ReferenceType=\"ns=2;i=3\" IsForward=\"false\">ns=1;i=163</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=192</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=194\" BrowseName=\"2:SetPoint\" ParentNodeId=\"ns=1;i=192\" DataType=\"Double\" AccessLevel=\"3\" UserAccessLevel=\"3\">\n    <DisplayName>SetPoint</DisplayName>\n    <References>\n      <Reference ReferenceType=\"ns=2;i=3\" IsForward=\"false\">ns=1;i=204</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=192</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=195\" BrowseName=\"2:ControlOut\" ParentNodeId=\"ns=1;i=192\" DataType=\"Double\">\n    <DisplayName>ControlOut</DisplayName>\n    <References>\n      <Reference ReferenceType=\"ns=2;i=3\">ns=1;i=170</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=192</Reference>\n    </References>\n  </UAVariable>\n  <UAObject NodeId=\"ns=1;i=196\" BrowseName=\"1:LevelController\" ParentNodeId=\"ns=1;i=160\">\n    <DisplayName>Boiler #2: LC1001</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=197</Reference>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=198</Reference>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=199</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">ns=2;i=35</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=160</Reference>\n    </References>\n  </UAObject>\n  <UAVariable NodeId=\"ns=1;i=197\" BrowseName=\"2:Measurement\" ParentNodeId=\"ns=1;i=196\" DataType=\"Double\">\n    <DisplayName>Measurement</DisplayName>\n    <References>\n      <Reference ReferenceType=\"ns=2;i=3\" IsForward=\"false\">ns=1;i=178</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=196</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=198\" BrowseName=\"2:SetPoint\" ParentNodeId=\"ns=1;i=196\" DataType=\"Double\" AccessLevel=\"3\" UserAccessLevel=\"3\">\n    <DisplayName>SetPoint</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=196</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=199\" BrowseName=\"2:ControlOut\" ParentNodeId=\"ns=1;i=196\" DataType=\"Double\">\n    <DisplayName>ControlOut</DisplayName>\n    <References>\n      <Reference ReferenceType=\"ns=2;i=3\">ns=1;i=201</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=196</Reference>\n    </References>\n  </UAVariable>\n  <UAObject NodeId=\"ns=1;i=200\" BrowseName=\"1:CustomController\" ParentNodeId=\"ns=1;i=160\">\n    <DisplayName>Boiler #2: CC1001</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=201</Reference>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=202</Reference>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=203</Reference>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=204</Reference>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=205</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">ns=2;i=22</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=160</Reference>\n    </References>\n  </UAObject>\n  <UAVariable NodeId=\"ns=1;i=201\" BrowseName=\"2:Input1\" ParentNodeId=\"ns=1;i=200\" DataType=\"Double\" AccessLevel=\"2\" UserAccessLevel=\"2\">\n    <DisplayName>Input1</DisplayName>\n    <References>\n      <Reference ReferenceType=\"ns=2;i=3\" IsForward=\"false\">ns=1;i=199</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=200</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=202\" BrowseName=\"2:Input2\" ParentNodeId=\"ns=1;i=200\" DataType=\"Double\" AccessLevel=\"2\" UserAccessLevel=\"2\">\n    <DisplayName>Input2</DisplayName>\n    <References>\n      <Reference ReferenceType=\"ns=2;i=3\" IsForward=\"false\">ns=1;i=163</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=200</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=203\" BrowseName=\"2:Input3\" ParentNodeId=\"ns=1;i=200\" DataType=\"Double\" AccessLevel=\"2\" UserAccessLevel=\"2\">\n    <DisplayName>Input3</DisplayName>\n    <References>\n      <Reference ReferenceType=\"ns=2;i=3\" IsForward=\"false\">ns=1;i=186</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=200</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=204\" BrowseName=\"2:ControlOut\" ParentNodeId=\"ns=1;i=200\" DataType=\"Double\">\n    <DisplayName>ControlOut</DisplayName>\n    <References>\n      <Reference ReferenceType=\"ns=2;i=3\">ns=1;i=194</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=200</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=205\" BrowseName=\"2:Description\" SymbolicName=\"DescriptionX\" ParentNodeId=\"ns=1;i=200\" DataType=\"LocalizedText\">\n    <DisplayName>Description</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=200</Reference>\n    </References>\n  </UAVariable>\n  <UAObject NodeId=\"ns=1;i=206\" BrowseName=\"2:Simulation\" ParentNodeId=\"ns=1;i=160\" EventNotifier=\"1\">\n    <DisplayName>Simulation</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=207</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=212</Reference>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=218</Reference>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=220</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=233</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=234</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=235</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=236</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=237</Reference>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=238</Reference>\n      <Reference ReferenceType=\"HasEventSource\" IsForward=\"false\">ns=1;i=160</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">ns=2;i=57</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=160</Reference>\n    </References>\n  </UAObject>\n  <UAVariable NodeId=\"ns=1;i=207\" BrowseName=\"CurrentState\" ParentNodeId=\"ns=1;i=206\" DataType=\"LocalizedText\">\n    <DisplayName>CurrentState</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=208</Reference>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=210</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=2760</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=206</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=208\" BrowseName=\"Id\" ParentNodeId=\"ns=1;i=207\" DataType=\"NodeId\">\n    <DisplayName>Id</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=207</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=210\" BrowseName=\"Number\" ParentNodeId=\"ns=1;i=207\" DataType=\"UInt32\">\n    <DisplayName>Number</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=207</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=212\" BrowseName=\"LastTransition\" ParentNodeId=\"ns=1;i=206\" DataType=\"LocalizedText\">\n    <DisplayName>LastTransition</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=213</Reference>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=215</Reference>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=216</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=2767</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=206</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=213\" BrowseName=\"Id\" ParentNodeId=\"ns=1;i=212\" DataType=\"NodeId\">\n    <DisplayName>Id</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=212</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=215\" BrowseName=\"Number\" ParentNodeId=\"ns=1;i=212\" DataType=\"UInt32\">\n    <DisplayName>Number</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=212</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=216\" BrowseName=\"TransitionTime\" ParentNodeId=\"ns=1;i=212\" DataType=\"i=294\">\n    <DisplayName>TransitionTime</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=212</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=218\" BrowseName=\"Deletable\" ParentNodeId=\"ns=1;i=206\" DataType=\"Boolean\">\n    <DisplayName>Deletable</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=206</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=220\" BrowseName=\"RecycleCount\" ParentNodeId=\"ns=1;i=206\" DataType=\"Int32\">\n    <DisplayName>RecycleCount</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=206</Reference>\n    </References>\n  </UAVariable>\n  <UAMethod NodeId=\"ns=1;i=233\" BrowseName=\"Start\" ParentNodeId=\"ns=1;i=206\" MethodDeclarationId=\"i=2426\">\n    <DisplayName>Start</DisplayName>\n    <Description>Causes the Program to transition from the Ready state to the Running state.</Description>\n    <References>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=206</Reference>\n    </References>\n  </UAMethod>\n  <UAMethod NodeId=\"ns=1;i=234\" BrowseName=\"Suspend\" ParentNodeId=\"ns=1;i=206\" MethodDeclarationId=\"i=2427\">\n    <DisplayName>Suspend</DisplayName>\n    <Description>Causes the Program to transition from the Running state to the Suspended state.</Description>\n    <References>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=206</Reference>\n    </References>\n  </UAMethod>\n  <UAMethod NodeId=\"ns=1;i=235\" BrowseName=\"Resume\" ParentNodeId=\"ns=1;i=206\" MethodDeclarationId=\"i=2428\">\n    <DisplayName>Resume</DisplayName>\n    <Description>Causes the Program to transition from the Suspended state to the Running state.</Description>\n    <References>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=206</Reference>\n    </References>\n  </UAMethod>\n  <UAMethod NodeId=\"ns=1;i=236\" BrowseName=\"Halt\" ParentNodeId=\"ns=1;i=206\" MethodDeclarationId=\"i=2429\">\n    <DisplayName>Halt</DisplayName>\n    <Description>Causes the Program to transition from the Ready, Running or Suspended state to the Halted state.</Description>\n    <References>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=206</Reference>\n    </References>\n  </UAMethod>\n  <UAMethod NodeId=\"ns=1;i=237\" BrowseName=\"Reset\" ParentNodeId=\"ns=1;i=206\" MethodDeclarationId=\"i=2430\">\n    <DisplayName>Reset</DisplayName>\n    <Description>Causes the Program to transition from the Halted state to the Ready state.</Description>\n    <References>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=206</Reference>\n    </References>\n  </UAMethod>\n  <UAVariable NodeId=\"ns=1;i=238\" BrowseName=\"2:UpdateRate\" ParentNodeId=\"ns=1;i=206\" DataType=\"UInt32\" AccessLevel=\"3\" UserAccessLevel=\"3\">\n    <DisplayName>UpdateRate</DisplayName>\n    <Description>The rate at which the simulation runs.</Description>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=206</Reference>\n    </References>\n  </UAVariable>\n  <UAObject NodeId=\"ns=1;i=239\" BrowseName=\"1:Boiler #3\" SymbolicName=\"BoilerCharlie\" ParentNodeId=\"ns=1;i=1\">\n    <DisplayName>Boiler #3</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=240</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=255</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=263</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=271</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=275</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=279</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=285</Reference>\n      <Reference ReferenceType=\"HasNotifier\">ns=1;i=240</Reference>\n      <Reference ReferenceType=\"HasNotifier\">ns=1;i=255</Reference>\n      <Reference ReferenceType=\"HasNotifier\">ns=1;i=263</Reference>\n      <Reference ReferenceType=\"HasEventSource\">ns=1;i=285</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">ns=2;i=151</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=1</Reference>\n    </References>\n  </UAObject>\n  <UAObject NodeId=\"ns=1;i=240\" BrowseName=\"1:InputPipe\" ParentNodeId=\"ns=1;i=239\" EventNotifier=\"1\">\n    <DisplayName>Boiler #3: Pipe1001</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=241</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=248</Reference>\n      <Reference ReferenceType=\"HasNotifier\" IsForward=\"false\">ns=1;i=239</Reference>\n      <Reference ReferenceType=\"HasNotifier\">ns=1;i=241</Reference>\n      <Reference ReferenceType=\"ns=2;i=1\">ns=1;i=255</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">ns=2;i=120</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=239</Reference>\n    </References>\n  </UAObject>\n  <UAObject NodeId=\"ns=1;i=241\" BrowseName=\"2:FTX001\" SymbolicName=\"FlowTransmitter1\" ParentNodeId=\"ns=1;i=240\" EventNotifier=\"1\">\n    <DisplayName>FlowTransmitter1</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=242</Reference>\n      <Reference ReferenceType=\"HasNotifier\" IsForward=\"false\">ns=1;i=240</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">ns=2;i=50</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=240</Reference>\n    </References>\n  </UAObject>\n  <UAVariable NodeId=\"ns=1;i=242\" BrowseName=\"2:Output\" ParentNodeId=\"ns=1;i=241\" DataType=\"Double\">\n    <DisplayName>Output</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=246</Reference>\n      <Reference ReferenceType=\"ns=2;i=3\">ns=1;i=272</Reference>\n      <Reference ReferenceType=\"ns=2;i=3\">ns=1;i=281</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=2368</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=241</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=246\" BrowseName=\"EURange\" ParentNodeId=\"ns=1;i=242\" DataType=\"i=884\">\n    <DisplayName>EURange</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=242</Reference>\n    </References>\n  </UAVariable>\n  <UAObject NodeId=\"ns=1;i=248\" BrowseName=\"2:ValveX001\" SymbolicName=\"Valve\" ParentNodeId=\"ns=1;i=240\" EventNotifier=\"1\">\n    <DisplayName>Valve</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=249</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">ns=2;i=28</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=240</Reference>\n    </References>\n  </UAObject>\n  <UAVariable NodeId=\"ns=1;i=249\" BrowseName=\"2:Input\" ParentNodeId=\"ns=1;i=248\" DataType=\"Double\" AccessLevel=\"2\" UserAccessLevel=\"2\">\n    <DisplayName>Input</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=253</Reference>\n      <Reference ReferenceType=\"ns=2;i=3\" IsForward=\"false\">ns=1;i=274</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=2368</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=248</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=253\" BrowseName=\"EURange\" ParentNodeId=\"ns=1;i=249\" DataType=\"i=884\">\n    <DisplayName>EURange</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=249</Reference>\n    </References>\n  </UAVariable>\n  <UAObject NodeId=\"ns=1;i=255\" BrowseName=\"1:Drum\" ParentNodeId=\"ns=1;i=239\" EventNotifier=\"1\">\n    <DisplayName>Boiler #3: Drum1001</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=256</Reference>\n      <Reference ReferenceType=\"HasNotifier\" IsForward=\"false\">ns=1;i=239</Reference>\n      <Reference ReferenceType=\"ns=2;i=1\" IsForward=\"false\">ns=1;i=240</Reference>\n      <Reference ReferenceType=\"HasNotifier\">ns=1;i=256</Reference>\n      <Reference ReferenceType=\"ns=2;i=2\">ns=1;i=263</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">ns=2;i=135</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=239</Reference>\n    </References>\n  </UAObject>\n  <UAObject NodeId=\"ns=1;i=256\" BrowseName=\"2:LIX001\" SymbolicName=\"LevelIndicator\" ParentNodeId=\"ns=1;i=255\" EventNotifier=\"1\">\n    <DisplayName>LIX001</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=257</Reference>\n      <Reference ReferenceType=\"HasNotifier\" IsForward=\"false\">ns=1;i=255</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">ns=2;i=43</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=255</Reference>\n    </References>\n  </UAObject>\n  <UAVariable NodeId=\"ns=1;i=257\" BrowseName=\"2:Output\" ParentNodeId=\"ns=1;i=256\" DataType=\"Number\">\n    <DisplayName>Output</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=261</Reference>\n      <Reference ReferenceType=\"ns=2;i=3\">ns=1;i=276</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=2368</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=256</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=261\" BrowseName=\"EURange\" ParentNodeId=\"ns=1;i=257\" DataType=\"i=884\">\n    <DisplayName>EURange</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=257</Reference>\n    </References>\n  </UAVariable>\n  <UAObject NodeId=\"ns=1;i=263\" BrowseName=\"1:OutputPipe\" ParentNodeId=\"ns=1;i=239\" EventNotifier=\"1\">\n    <DisplayName>Boiler #3: Pipe1002</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=264</Reference>\n      <Reference ReferenceType=\"HasNotifier\" IsForward=\"false\">ns=1;i=239</Reference>\n      <Reference ReferenceType=\"ns=2;i=2\" IsForward=\"false\">ns=1;i=255</Reference>\n      <Reference ReferenceType=\"HasNotifier\">ns=1;i=264</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">ns=2;i=143</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=239</Reference>\n    </References>\n  </UAObject>\n  <UAObject NodeId=\"ns=1;i=264\" BrowseName=\"2:FTX002\" SymbolicName=\"FlowTransmitter2\" ParentNodeId=\"ns=1;i=263\" EventNotifier=\"1\">\n    <DisplayName>FTX002</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=265</Reference>\n      <Reference ReferenceType=\"HasNotifier\" IsForward=\"false\">ns=1;i=263</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">ns=2;i=50</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=263</Reference>\n    </References>\n  </UAObject>\n  <UAVariable NodeId=\"ns=1;i=265\" BrowseName=\"2:Output\" ParentNodeId=\"ns=1;i=264\" DataType=\"Double\">\n    <DisplayName>Output</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=269</Reference>\n      <Reference ReferenceType=\"ns=2;i=3\">ns=1;i=282</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=2368</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=264</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=269\" BrowseName=\"EURange\" ParentNodeId=\"ns=1;i=265\" DataType=\"i=884\">\n    <DisplayName>EURange</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=265</Reference>\n    </References>\n  </UAVariable>\n  <UAObject NodeId=\"ns=1;i=271\" BrowseName=\"1:FlowController\" ParentNodeId=\"ns=1;i=239\">\n    <DisplayName>Boiler #3: FC1001</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=272</Reference>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=273</Reference>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=274</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">ns=2;i=39</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=239</Reference>\n    </References>\n  </UAObject>\n  <UAVariable NodeId=\"ns=1;i=272\" BrowseName=\"2:Measurement\" ParentNodeId=\"ns=1;i=271\" DataType=\"Double\">\n    <DisplayName>Measurement</DisplayName>\n    <References>\n      <Reference ReferenceType=\"ns=2;i=3\" IsForward=\"false\">ns=1;i=242</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=271</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=273\" BrowseName=\"2:SetPoint\" ParentNodeId=\"ns=1;i=271\" DataType=\"Double\" AccessLevel=\"3\" UserAccessLevel=\"3\">\n    <DisplayName>SetPoint</DisplayName>\n    <References>\n      <Reference ReferenceType=\"ns=2;i=3\" IsForward=\"false\">ns=1;i=283</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=271</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=274\" BrowseName=\"2:ControlOut\" ParentNodeId=\"ns=1;i=271\" DataType=\"Double\">\n    <DisplayName>ControlOut</DisplayName>\n    <References>\n      <Reference ReferenceType=\"ns=2;i=3\">ns=1;i=249</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=271</Reference>\n    </References>\n  </UAVariable>\n  <UAObject NodeId=\"ns=1;i=275\" BrowseName=\"1:LevelController\" ParentNodeId=\"ns=1;i=239\">\n    <DisplayName>Boiler #3: LC1001</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=276</Reference>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=277</Reference>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=278</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">ns=2;i=35</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=239</Reference>\n    </References>\n  </UAObject>\n  <UAVariable NodeId=\"ns=1;i=276\" BrowseName=\"2:Measurement\" ParentNodeId=\"ns=1;i=275\" DataType=\"Double\">\n    <DisplayName>Measurement</DisplayName>\n    <References>\n      <Reference ReferenceType=\"ns=2;i=3\" IsForward=\"false\">ns=1;i=257</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=275</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=277\" BrowseName=\"2:SetPoint\" ParentNodeId=\"ns=1;i=275\" DataType=\"Double\" AccessLevel=\"3\" UserAccessLevel=\"3\">\n    <DisplayName>SetPoint</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=275</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=278\" BrowseName=\"2:ControlOut\" ParentNodeId=\"ns=1;i=275\" DataType=\"Double\">\n    <DisplayName>ControlOut</DisplayName>\n    <References>\n      <Reference ReferenceType=\"ns=2;i=3\">ns=1;i=280</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=275</Reference>\n    </References>\n  </UAVariable>\n  <UAObject NodeId=\"ns=1;i=279\" BrowseName=\"1:CustomController\" ParentNodeId=\"ns=1;i=239\">\n    <DisplayName>Boiler #3: CC1001</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=280</Reference>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=281</Reference>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=282</Reference>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=283</Reference>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=284</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">ns=2;i=22</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=239</Reference>\n    </References>\n  </UAObject>\n  <UAVariable NodeId=\"ns=1;i=280\" BrowseName=\"2:Input1\" ParentNodeId=\"ns=1;i=279\" DataType=\"Double\" AccessLevel=\"2\" UserAccessLevel=\"2\">\n    <DisplayName>Input1</DisplayName>\n    <References>\n      <Reference ReferenceType=\"ns=2;i=3\" IsForward=\"false\">ns=1;i=278</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=279</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=281\" BrowseName=\"2:Input2\" ParentNodeId=\"ns=1;i=279\" DataType=\"Double\" AccessLevel=\"2\" UserAccessLevel=\"2\">\n    <DisplayName>Input2</DisplayName>\n    <References>\n      <Reference ReferenceType=\"ns=2;i=3\" IsForward=\"false\">ns=1;i=242</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=279</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=282\" BrowseName=\"2:Input3\" ParentNodeId=\"ns=1;i=279\" DataType=\"Double\" AccessLevel=\"2\" UserAccessLevel=\"2\">\n    <DisplayName>Input3</DisplayName>\n    <References>\n      <Reference ReferenceType=\"ns=2;i=3\" IsForward=\"false\">ns=1;i=265</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=279</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=283\" BrowseName=\"2:ControlOut\" ParentNodeId=\"ns=1;i=279\" DataType=\"Double\">\n    <DisplayName>ControlOut</DisplayName>\n    <References>\n      <Reference ReferenceType=\"ns=2;i=3\">ns=1;i=273</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=279</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=284\" BrowseName=\"2:Description\" SymbolicName=\"DescriptionX\" ParentNodeId=\"ns=1;i=279\" DataType=\"LocalizedText\">\n    <DisplayName>Description</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=279</Reference>\n    </References>\n  </UAVariable>\n  <UAObject NodeId=\"ns=1;i=285\" BrowseName=\"2:Simulation\" ParentNodeId=\"ns=1;i=239\" EventNotifier=\"1\">\n    <DisplayName>Simulation</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=286</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=291</Reference>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=297</Reference>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=299</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=312</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=313</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=314</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=315</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=316</Reference>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=317</Reference>\n      <Reference ReferenceType=\"HasEventSource\" IsForward=\"false\">ns=1;i=239</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">ns=2;i=57</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=239</Reference>\n    </References>\n  </UAObject>\n  <UAVariable NodeId=\"ns=1;i=286\" BrowseName=\"CurrentState\" ParentNodeId=\"ns=1;i=285\" DataType=\"LocalizedText\">\n    <DisplayName>CurrentState</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=287</Reference>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=289</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=2760</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=285</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=287\" BrowseName=\"Id\" ParentNodeId=\"ns=1;i=286\" DataType=\"NodeId\">\n    <DisplayName>Id</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=286</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=289\" BrowseName=\"Number\" ParentNodeId=\"ns=1;i=286\" DataType=\"UInt32\">\n    <DisplayName>Number</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=286</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=291\" BrowseName=\"LastTransition\" ParentNodeId=\"ns=1;i=285\" DataType=\"LocalizedText\">\n    <DisplayName>LastTransition</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=292</Reference>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=294</Reference>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=295</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=2767</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=285</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=292\" BrowseName=\"Id\" ParentNodeId=\"ns=1;i=291\" DataType=\"NodeId\">\n    <DisplayName>Id</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=291</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=294\" BrowseName=\"Number\" ParentNodeId=\"ns=1;i=291\" DataType=\"UInt32\">\n    <DisplayName>Number</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=291</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=295\" BrowseName=\"TransitionTime\" ParentNodeId=\"ns=1;i=291\" DataType=\"i=294\">\n    <DisplayName>TransitionTime</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=291</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=297\" BrowseName=\"Deletable\" ParentNodeId=\"ns=1;i=285\" DataType=\"Boolean\">\n    <DisplayName>Deletable</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=285</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=299\" BrowseName=\"RecycleCount\" ParentNodeId=\"ns=1;i=285\" DataType=\"Int32\">\n    <DisplayName>RecycleCount</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=285</Reference>\n    </References>\n  </UAVariable>\n  <UAMethod NodeId=\"ns=1;i=312\" BrowseName=\"Start\" ParentNodeId=\"ns=1;i=285\" MethodDeclarationId=\"i=2426\">\n    <DisplayName>Start</DisplayName>\n    <Description>Causes the Program to transition from the Ready state to the Running state.</Description>\n    <References>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=285</Reference>\n    </References>\n  </UAMethod>\n  <UAMethod NodeId=\"ns=1;i=313\" BrowseName=\"Suspend\" ParentNodeId=\"ns=1;i=285\" MethodDeclarationId=\"i=2427\">\n    <DisplayName>Suspend</DisplayName>\n    <Description>Causes the Program to transition from the Running state to the Suspended state.</Description>\n    <References>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=285</Reference>\n    </References>\n  </UAMethod>\n  <UAMethod NodeId=\"ns=1;i=314\" BrowseName=\"Resume\" ParentNodeId=\"ns=1;i=285\" MethodDeclarationId=\"i=2428\">\n    <DisplayName>Resume</DisplayName>\n    <Description>Causes the Program to transition from the Suspended state to the Running state.</Description>\n    <References>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=285</Reference>\n    </References>\n  </UAMethod>\n  <UAMethod NodeId=\"ns=1;i=315\" BrowseName=\"Halt\" ParentNodeId=\"ns=1;i=285\" MethodDeclarationId=\"i=2429\">\n    <DisplayName>Halt</DisplayName>\n    <Description>Causes the Program to transition from the Ready, Running or Suspended state to the Halted state.</Description>\n    <References>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=285</Reference>\n    </References>\n  </UAMethod>\n  <UAMethod NodeId=\"ns=1;i=316\" BrowseName=\"Reset\" ParentNodeId=\"ns=1;i=285\" MethodDeclarationId=\"i=2430\">\n    <DisplayName>Reset</DisplayName>\n    <Description>Causes the Program to transition from the Halted state to the Ready state.</Description>\n    <References>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=285</Reference>\n    </References>\n  </UAMethod>\n  <UAVariable NodeId=\"ns=1;i=317\" BrowseName=\"2:UpdateRate\" ParentNodeId=\"ns=1;i=285\" DataType=\"UInt32\" AccessLevel=\"3\" UserAccessLevel=\"3\">\n    <DisplayName>UpdateRate</DisplayName>\n    <Description>The rate at which the simulation runs.</Description>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=285</Reference>\n    </References>\n  </UAVariable>\n  <UAObject NodeId=\"ns=1;i=318\" BrowseName=\"1:Boiler #4\" SymbolicName=\"BoilerDelta\" ParentNodeId=\"ns=1;i=1\">\n    <DisplayName>Boiler #4</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=319</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=334</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=342</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=350</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=354</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=358</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=364</Reference>\n      <Reference ReferenceType=\"HasNotifier\">ns=1;i=319</Reference>\n      <Reference ReferenceType=\"HasNotifier\">ns=1;i=334</Reference>\n      <Reference ReferenceType=\"HasNotifier\">ns=1;i=342</Reference>\n      <Reference ReferenceType=\"HasEventSource\">ns=1;i=364</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">ns=2;i=151</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=1</Reference>\n    </References>\n  </UAObject>\n  <UAObject NodeId=\"ns=1;i=319\" BrowseName=\"1:InputPipe\" ParentNodeId=\"ns=1;i=318\" EventNotifier=\"1\">\n    <DisplayName>Boiler #4: Pipe1001</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=320</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=327</Reference>\n      <Reference ReferenceType=\"HasNotifier\" IsForward=\"false\">ns=1;i=318</Reference>\n      <Reference ReferenceType=\"HasNotifier\">ns=1;i=320</Reference>\n      <Reference ReferenceType=\"ns=2;i=1\">ns=1;i=334</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">ns=2;i=120</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=318</Reference>\n    </References>\n  </UAObject>\n  <UAObject NodeId=\"ns=1;i=320\" BrowseName=\"2:FTX001\" SymbolicName=\"FlowTransmitter1\" ParentNodeId=\"ns=1;i=319\" EventNotifier=\"1\">\n    <DisplayName>FlowTransmitter1</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=321</Reference>\n      <Reference ReferenceType=\"HasNotifier\" IsForward=\"false\">ns=1;i=319</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">ns=2;i=50</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=319</Reference>\n    </References>\n  </UAObject>\n  <UAVariable NodeId=\"ns=1;i=321\" BrowseName=\"2:Output\" ParentNodeId=\"ns=1;i=320\" DataType=\"Double\">\n    <DisplayName>Output</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=325</Reference>\n      <Reference ReferenceType=\"ns=2;i=3\">ns=1;i=351</Reference>\n      <Reference ReferenceType=\"ns=2;i=3\">ns=1;i=360</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=2368</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=320</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=325\" BrowseName=\"EURange\" ParentNodeId=\"ns=1;i=321\" DataType=\"i=884\">\n    <DisplayName>EURange</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=321</Reference>\n    </References>\n  </UAVariable>\n  <UAObject NodeId=\"ns=1;i=327\" BrowseName=\"2:ValveX001\" SymbolicName=\"Valve\" ParentNodeId=\"ns=1;i=319\" EventNotifier=\"1\">\n    <DisplayName>Valve</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=328</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">ns=2;i=28</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=319</Reference>\n    </References>\n  </UAObject>\n  <UAVariable NodeId=\"ns=1;i=328\" BrowseName=\"2:Input\" ParentNodeId=\"ns=1;i=327\" DataType=\"Double\" AccessLevel=\"2\" UserAccessLevel=\"2\">\n    <DisplayName>Input</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=332</Reference>\n      <Reference ReferenceType=\"ns=2;i=3\" IsForward=\"false\">ns=1;i=353</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=2368</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=327</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=332\" BrowseName=\"EURange\" ParentNodeId=\"ns=1;i=328\" DataType=\"i=884\">\n    <DisplayName>EURange</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=328</Reference>\n    </References>\n  </UAVariable>\n  <UAObject NodeId=\"ns=1;i=334\" BrowseName=\"1:Drum\" ParentNodeId=\"ns=1;i=318\" EventNotifier=\"1\">\n    <DisplayName>Boiler #4: Drum1001</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=335</Reference>\n      <Reference ReferenceType=\"HasNotifier\" IsForward=\"false\">ns=1;i=318</Reference>\n      <Reference ReferenceType=\"ns=2;i=1\" IsForward=\"false\">ns=1;i=319</Reference>\n      <Reference ReferenceType=\"HasNotifier\">ns=1;i=335</Reference>\n      <Reference ReferenceType=\"ns=2;i=2\">ns=1;i=342</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">ns=2;i=135</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=318</Reference>\n    </References>\n  </UAObject>\n  <UAObject NodeId=\"ns=1;i=335\" BrowseName=\"2:LIX001\" SymbolicName=\"LevelIndicator\" ParentNodeId=\"ns=1;i=334\" EventNotifier=\"1\">\n    <DisplayName>LIX001</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=336</Reference>\n      <Reference ReferenceType=\"HasNotifier\" IsForward=\"false\">ns=1;i=334</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">ns=2;i=43</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=334</Reference>\n    </References>\n  </UAObject>\n  <UAVariable NodeId=\"ns=1;i=336\" BrowseName=\"2:Output\" ParentNodeId=\"ns=1;i=335\" DataType=\"Number\">\n    <DisplayName>Output</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=340</Reference>\n      <Reference ReferenceType=\"ns=2;i=3\">ns=1;i=355</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=2368</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=335</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=340\" BrowseName=\"EURange\" ParentNodeId=\"ns=1;i=336\" DataType=\"i=884\">\n    <DisplayName>EURange</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=336</Reference>\n    </References>\n  </UAVariable>\n  <UAObject NodeId=\"ns=1;i=342\" BrowseName=\"1:OutputPipe\" ParentNodeId=\"ns=1;i=318\" EventNotifier=\"1\">\n    <DisplayName>Boiler #4: Pipe1002</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=343</Reference>\n      <Reference ReferenceType=\"HasNotifier\" IsForward=\"false\">ns=1;i=318</Reference>\n      <Reference ReferenceType=\"ns=2;i=2\" IsForward=\"false\">ns=1;i=334</Reference>\n      <Reference ReferenceType=\"HasNotifier\">ns=1;i=343</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">ns=2;i=143</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=318</Reference>\n    </References>\n  </UAObject>\n  <UAObject NodeId=\"ns=1;i=343\" BrowseName=\"2:FTX002\" SymbolicName=\"FlowTransmitter2\" ParentNodeId=\"ns=1;i=342\" EventNotifier=\"1\">\n    <DisplayName>FTX002</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=344</Reference>\n      <Reference ReferenceType=\"HasNotifier\" IsForward=\"false\">ns=1;i=342</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">ns=2;i=50</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=342</Reference>\n    </References>\n  </UAObject>\n  <UAVariable NodeId=\"ns=1;i=344\" BrowseName=\"2:Output\" ParentNodeId=\"ns=1;i=343\" DataType=\"Double\">\n    <DisplayName>Output</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=348</Reference>\n      <Reference ReferenceType=\"ns=2;i=3\">ns=1;i=361</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=2368</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=343</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=348\" BrowseName=\"EURange\" ParentNodeId=\"ns=1;i=344\" DataType=\"i=884\">\n    <DisplayName>EURange</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=344</Reference>\n    </References>\n  </UAVariable>\n  <UAObject NodeId=\"ns=1;i=350\" BrowseName=\"1:FlowController\" ParentNodeId=\"ns=1;i=318\">\n    <DisplayName>Boiler #4: FC1001</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=351</Reference>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=352</Reference>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=353</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">ns=2;i=39</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=318</Reference>\n    </References>\n  </UAObject>\n  <UAVariable NodeId=\"ns=1;i=351\" BrowseName=\"2:Measurement\" ParentNodeId=\"ns=1;i=350\" DataType=\"Double\">\n    <DisplayName>Measurement</DisplayName>\n    <References>\n      <Reference ReferenceType=\"ns=2;i=3\" IsForward=\"false\">ns=1;i=321</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=350</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=352\" BrowseName=\"2:SetPoint\" ParentNodeId=\"ns=1;i=350\" DataType=\"Double\" AccessLevel=\"3\" UserAccessLevel=\"3\">\n    <DisplayName>SetPoint</DisplayName>\n    <References>\n      <Reference ReferenceType=\"ns=2;i=3\" IsForward=\"false\">ns=1;i=362</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=350</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=353\" BrowseName=\"2:ControlOut\" ParentNodeId=\"ns=1;i=350\" DataType=\"Double\">\n    <DisplayName>ControlOut</DisplayName>\n    <References>\n      <Reference ReferenceType=\"ns=2;i=3\">ns=1;i=328</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=350</Reference>\n    </References>\n  </UAVariable>\n  <UAObject NodeId=\"ns=1;i=354\" BrowseName=\"1:LevelController\" ParentNodeId=\"ns=1;i=318\">\n    <DisplayName>Boiler #4: LC1001</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=355</Reference>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=356</Reference>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=357</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">ns=2;i=35</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=318</Reference>\n    </References>\n  </UAObject>\n  <UAVariable NodeId=\"ns=1;i=355\" BrowseName=\"2:Measurement\" ParentNodeId=\"ns=1;i=354\" DataType=\"Double\">\n    <DisplayName>Measurement</DisplayName>\n    <References>\n      <Reference ReferenceType=\"ns=2;i=3\" IsForward=\"false\">ns=1;i=336</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=354</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=356\" BrowseName=\"2:SetPoint\" ParentNodeId=\"ns=1;i=354\" DataType=\"Double\" AccessLevel=\"3\" UserAccessLevel=\"3\">\n    <DisplayName>SetPoint</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=354</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=357\" BrowseName=\"2:ControlOut\" ParentNodeId=\"ns=1;i=354\" DataType=\"Double\">\n    <DisplayName>ControlOut</DisplayName>\n    <References>\n      <Reference ReferenceType=\"ns=2;i=3\">ns=1;i=359</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=354</Reference>\n    </References>\n  </UAVariable>\n  <UAObject NodeId=\"ns=1;i=358\" BrowseName=\"1:CustomController\" ParentNodeId=\"ns=1;i=318\">\n    <DisplayName>Boiler #4: CC1001</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=359</Reference>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=360</Reference>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=361</Reference>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=362</Reference>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=363</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">ns=2;i=22</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=318</Reference>\n    </References>\n  </UAObject>\n  <UAVariable NodeId=\"ns=1;i=359\" BrowseName=\"2:Input1\" ParentNodeId=\"ns=1;i=358\" DataType=\"Double\" AccessLevel=\"2\" UserAccessLevel=\"2\">\n    <DisplayName>Input1</DisplayName>\n    <References>\n      <Reference ReferenceType=\"ns=2;i=3\" IsForward=\"false\">ns=1;i=357</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=358</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=360\" BrowseName=\"2:Input2\" ParentNodeId=\"ns=1;i=358\" DataType=\"Double\" AccessLevel=\"2\" UserAccessLevel=\"2\">\n    <DisplayName>Input2</DisplayName>\n    <References>\n      <Reference ReferenceType=\"ns=2;i=3\" IsForward=\"false\">ns=1;i=321</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=358</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=361\" BrowseName=\"2:Input3\" ParentNodeId=\"ns=1;i=358\" DataType=\"Double\" AccessLevel=\"2\" UserAccessLevel=\"2\">\n    <DisplayName>Input3</DisplayName>\n    <References>\n      <Reference ReferenceType=\"ns=2;i=3\" IsForward=\"false\">ns=1;i=344</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=358</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=362\" BrowseName=\"2:ControlOut\" ParentNodeId=\"ns=1;i=358\" DataType=\"Double\">\n    <DisplayName>ControlOut</DisplayName>\n    <References>\n      <Reference ReferenceType=\"ns=2;i=3\">ns=1;i=352</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=358</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=363\" BrowseName=\"2:Description\" SymbolicName=\"DescriptionX\" ParentNodeId=\"ns=1;i=358\" DataType=\"LocalizedText\">\n    <DisplayName>Description</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=358</Reference>\n    </References>\n  </UAVariable>\n  <UAObject NodeId=\"ns=1;i=364\" BrowseName=\"2:Simulation\" ParentNodeId=\"ns=1;i=318\" EventNotifier=\"1\">\n    <DisplayName>Simulation</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=365</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=370</Reference>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=376</Reference>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=378</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=391</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=392</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=393</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=394</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=395</Reference>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=396</Reference>\n      <Reference ReferenceType=\"HasEventSource\" IsForward=\"false\">ns=1;i=318</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">ns=2;i=57</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=318</Reference>\n    </References>\n  </UAObject>\n  <UAVariable NodeId=\"ns=1;i=365\" BrowseName=\"CurrentState\" ParentNodeId=\"ns=1;i=364\" DataType=\"LocalizedText\">\n    <DisplayName>CurrentState</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=366</Reference>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=368</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=2760</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=364</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=366\" BrowseName=\"Id\" ParentNodeId=\"ns=1;i=365\" DataType=\"NodeId\">\n    <DisplayName>Id</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=365</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=368\" BrowseName=\"Number\" ParentNodeId=\"ns=1;i=365\" DataType=\"UInt32\">\n    <DisplayName>Number</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=365</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=370\" BrowseName=\"LastTransition\" ParentNodeId=\"ns=1;i=364\" DataType=\"LocalizedText\">\n    <DisplayName>LastTransition</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=371</Reference>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=373</Reference>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=374</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=2767</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=364</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=371\" BrowseName=\"Id\" ParentNodeId=\"ns=1;i=370\" DataType=\"NodeId\">\n    <DisplayName>Id</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=370</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=373\" BrowseName=\"Number\" ParentNodeId=\"ns=1;i=370\" DataType=\"UInt32\">\n    <DisplayName>Number</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=370</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=374\" BrowseName=\"TransitionTime\" ParentNodeId=\"ns=1;i=370\" DataType=\"i=294\">\n    <DisplayName>TransitionTime</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=370</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=376\" BrowseName=\"Deletable\" ParentNodeId=\"ns=1;i=364\" DataType=\"Boolean\">\n    <DisplayName>Deletable</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=364</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=378\" BrowseName=\"RecycleCount\" ParentNodeId=\"ns=1;i=364\" DataType=\"Int32\">\n    <DisplayName>RecycleCount</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=364</Reference>\n    </References>\n  </UAVariable>\n  <UAMethod NodeId=\"ns=1;i=391\" BrowseName=\"Start\" ParentNodeId=\"ns=1;i=364\" MethodDeclarationId=\"i=2426\">\n    <DisplayName>Start</DisplayName>\n    <Description>Causes the Program to transition from the Ready state to the Running state.</Description>\n    <References>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=364</Reference>\n    </References>\n  </UAMethod>\n  <UAMethod NodeId=\"ns=1;i=392\" BrowseName=\"Suspend\" ParentNodeId=\"ns=1;i=364\" MethodDeclarationId=\"i=2427\">\n    <DisplayName>Suspend</DisplayName>\n    <Description>Causes the Program to transition from the Running state to the Suspended state.</Description>\n    <References>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=364</Reference>\n    </References>\n  </UAMethod>\n  <UAMethod NodeId=\"ns=1;i=393\" BrowseName=\"Resume\" ParentNodeId=\"ns=1;i=364\" MethodDeclarationId=\"i=2428\">\n    <DisplayName>Resume</DisplayName>\n    <Description>Causes the Program to transition from the Suspended state to the Running state.</Description>\n    <References>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=364</Reference>\n    </References>\n  </UAMethod>\n  <UAMethod NodeId=\"ns=1;i=394\" BrowseName=\"Halt\" ParentNodeId=\"ns=1;i=364\" MethodDeclarationId=\"i=2429\">\n    <DisplayName>Halt</DisplayName>\n    <Description>Causes the Program to transition from the Ready, Running or Suspended state to the Halted state.</Description>\n    <References>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=364</Reference>\n    </References>\n  </UAMethod>\n  <UAMethod NodeId=\"ns=1;i=395\" BrowseName=\"Reset\" ParentNodeId=\"ns=1;i=364\" MethodDeclarationId=\"i=2430\">\n    <DisplayName>Reset</DisplayName>\n    <Description>Causes the Program to transition from the Halted state to the Ready state.</Description>\n    <References>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=364</Reference>\n    </References>\n  </UAMethod>\n  <UAVariable NodeId=\"ns=1;i=396\" BrowseName=\"2:UpdateRate\" ParentNodeId=\"ns=1;i=364\" DataType=\"UInt32\" AccessLevel=\"3\" UserAccessLevel=\"3\">\n    <DisplayName>UpdateRate</DisplayName>\n    <Description>The rate at which the simulation runs.</Description>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=364</Reference>\n    </References>\n  </UAVariable>\n  <UAObject NodeId=\"ns=1;i=398\" BrowseName=\"1:Drums\">\n    <DisplayName>Drums</DisplayName>\n    <References>\n      <Reference ReferenceType=\"Organizes\" IsForward=\"false\">i=85</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=97</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=176</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=255</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=334</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=58</Reference>\n    </References>\n  </UAObject>\n  <UAObject NodeId=\"ns=1;i=399\" BrowseName=\"1:Pipes\">\n    <DisplayName>Pipes</DisplayName>\n    <References>\n      <Reference ReferenceType=\"Organizes\" IsForward=\"false\">i=85</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=82</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=105</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=161</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=184</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=240</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=263</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=319</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=342</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=58</Reference>\n    </References>\n  </UAObject>\n</UANodeSet>"
  },
  {
    "path": "Networking/Simulator.Boiler/UAInformationModel/DemoConfiguration/BoilersSet/Commsvr.UA.Examples.BoilersSet.PredefinedNodes.xml",
    "content": "﻿<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<uax:ListOfNodeState xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xmlns:uax=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n  <uax:NamespaceUris>\n    <uax:NamespaceUri>http://tempuri.org/UA/Examples/BoilerType</uax:NamespaceUri>\n    <uax:NamespaceUri>http://commsvr.com/UA/Examples/BoilersSet</uax:NamespaceUri>\n  </uax:NamespaceUris>\n  <BoilersArea xmlns=\"http://commsvr.com/UA/Examples/BoilersSet\">\n    <uax:NodeClass>Object_1</uax:NodeClass>\n    <uax:NodeId>\n      <uax:Identifier>ns=2;i=1</uax:Identifier>\n    </uax:NodeId>\n    <uax:BrowseName>\n      <uax:NamespaceIndex>2</uax:NamespaceIndex>\n      <uax:Name>BoilersArea</uax:Name>\n    </uax:BrowseName>\n    <uax:ReferenceTypeId>\n      <uax:Identifier>i=47</uax:Identifier>\n    </uax:ReferenceTypeId>\n    <uax:TypeDefinitionId>\n      <uax:Identifier>i=61</uax:Identifier>\n    </uax:TypeDefinitionId>\n    <uax:NumericId>1</uax:NumericId>\n    <uax:References>\n      <uax:Reference>\n        <uax:ReferenceTypeId>\n          <uax:Identifier>i=35</uax:Identifier>\n        </uax:ReferenceTypeId>\n        <uax:IsInverse>true</uax:IsInverse>\n        <uax:TargetId>\n          <uax:Identifier>i=85</uax:Identifier>\n        </uax:TargetId>\n      </uax:Reference>\n      <uax:Reference>\n        <uax:ReferenceTypeId>\n          <uax:Identifier>i=48</uax:Identifier>\n        </uax:ReferenceTypeId>\n        <uax:IsInverse>true</uax:IsInverse>\n        <uax:TargetId>\n          <uax:Identifier>i=2253</uax:Identifier>\n        </uax:TargetId>\n      </uax:Reference>\n      <uax:Reference>\n        <uax:ReferenceTypeId>\n          <uax:Identifier>i=48</uax:Identifier>\n        </uax:ReferenceTypeId>\n        <uax:TargetId>\n          <uax:Identifier>ns=2;i=81</uax:Identifier>\n        </uax:TargetId>\n      </uax:Reference>\n    </uax:References>\n    <BoilerAlpha>\n      <uax:NodeClass>Object_1</uax:NodeClass>\n      <uax:NodeId>\n        <uax:Identifier>ns=2;i=81</uax:Identifier>\n      </uax:NodeId>\n      <uax:BrowseName>\n        <uax:NamespaceIndex>2</uax:NamespaceIndex>\n        <uax:Name>Boiler #1</uax:Name>\n      </uax:BrowseName>\n      <uax:ReferenceTypeId>\n        <uax:Identifier>i=47</uax:Identifier>\n      </uax:ReferenceTypeId>\n      <uax:TypeDefinitionId>\n        <uax:Identifier>ns=1;i=151</uax:Identifier>\n      </uax:TypeDefinitionId>\n      <uax:NumericId>81</uax:NumericId>\n      <uax:References>\n        <uax:Reference>\n          <uax:ReferenceTypeId>\n            <uax:Identifier>i=48</uax:Identifier>\n          </uax:ReferenceTypeId>\n          <uax:IsInverse>true</uax:IsInverse>\n          <uax:TargetId>\n            <uax:Identifier>ns=2;i=1</uax:Identifier>\n          </uax:TargetId>\n        </uax:Reference>\n        <uax:Reference>\n          <uax:ReferenceTypeId>\n            <uax:Identifier>i=48</uax:Identifier>\n          </uax:ReferenceTypeId>\n          <uax:TargetId>\n            <uax:Identifier>ns=2;i=82</uax:Identifier>\n          </uax:TargetId>\n        </uax:Reference>\n        <uax:Reference>\n          <uax:ReferenceTypeId>\n            <uax:Identifier>i=48</uax:Identifier>\n          </uax:ReferenceTypeId>\n          <uax:TargetId>\n            <uax:Identifier>ns=2;i=97</uax:Identifier>\n          </uax:TargetId>\n        </uax:Reference>\n        <uax:Reference>\n          <uax:ReferenceTypeId>\n            <uax:Identifier>i=48</uax:Identifier>\n          </uax:ReferenceTypeId>\n          <uax:TargetId>\n            <uax:Identifier>ns=2;i=105</uax:Identifier>\n          </uax:TargetId>\n        </uax:Reference>\n        <uax:Reference>\n          <uax:ReferenceTypeId>\n            <uax:Identifier>i=36</uax:Identifier>\n          </uax:ReferenceTypeId>\n          <uax:TargetId>\n            <uax:Identifier>ns=2;i=127</uax:Identifier>\n          </uax:TargetId>\n        </uax:Reference>\n      </uax:References>\n      <InputPipe>\n        <uax:NodeClass>Object_1</uax:NodeClass>\n        <uax:NodeId>\n          <uax:Identifier>ns=2;i=82</uax:Identifier>\n        </uax:NodeId>\n        <uax:BrowseName>\n          <uax:NamespaceIndex>2</uax:NamespaceIndex>\n          <uax:Name>InputPipe</uax:Name>\n        </uax:BrowseName>\n        <uax:DisplayName>\n          <uax:Locale></uax:Locale>\n          <uax:Text>Boiler #1: Pipe1001</uax:Text>\n        </uax:DisplayName>\n        <uax:ReferenceTypeId>\n          <uax:Identifier>i=47</uax:Identifier>\n        </uax:ReferenceTypeId>\n        <uax:TypeDefinitionId>\n          <uax:Identifier>ns=1;i=120</uax:Identifier>\n        </uax:TypeDefinitionId>\n        <uax:NumericId>82</uax:NumericId>\n        <uax:EventNotifier>1</uax:EventNotifier>\n        <uax:References>\n          <uax:Reference>\n            <uax:ReferenceTypeId>\n              <uax:Identifier>i=48</uax:Identifier>\n            </uax:ReferenceTypeId>\n            <uax:IsInverse>true</uax:IsInverse>\n            <uax:TargetId>\n              <uax:Identifier>ns=2;i=81</uax:Identifier>\n            </uax:TargetId>\n          </uax:Reference>\n          <uax:Reference>\n            <uax:ReferenceTypeId>\n              <uax:Identifier>i=48</uax:Identifier>\n            </uax:ReferenceTypeId>\n            <uax:TargetId>\n              <uax:Identifier>ns=2;i=83</uax:Identifier>\n            </uax:TargetId>\n          </uax:Reference>\n          <uax:Reference>\n            <uax:ReferenceTypeId>\n              <uax:Identifier>ns=1;i=1</uax:Identifier>\n            </uax:ReferenceTypeId>\n            <uax:TargetId>\n              <uax:Identifier>ns=2;i=97</uax:Identifier>\n            </uax:TargetId>\n          </uax:Reference>\n        </uax:References>\n        <FlowTransmitter1 xmlns=\"http://tempuri.org/UA/Examples/BoilerType\">\n          <uax:NodeClass>Object_1</uax:NodeClass>\n          <uax:NodeId>\n            <uax:Identifier>ns=2;i=83</uax:Identifier>\n          </uax:NodeId>\n          <uax:BrowseName>\n            <uax:NamespaceIndex>1</uax:NamespaceIndex>\n            <uax:Name>FTX001</uax:Name>\n          </uax:BrowseName>\n          <uax:DisplayName>\n            <uax:Locale></uax:Locale>\n            <uax:Text>FlowTransmitter1</uax:Text>\n          </uax:DisplayName>\n          <uax:ReferenceTypeId>\n            <uax:Identifier>i=47</uax:Identifier>\n          </uax:ReferenceTypeId>\n          <uax:TypeDefinitionId>\n            <uax:Identifier>ns=1;i=50</uax:Identifier>\n          </uax:TypeDefinitionId>\n          <uax:NumericId>83</uax:NumericId>\n          <uax:EventNotifier>1</uax:EventNotifier>\n          <uax:References>\n            <uax:Reference>\n              <uax:ReferenceTypeId>\n                <uax:Identifier>i=48</uax:Identifier>\n              </uax:ReferenceTypeId>\n              <uax:IsInverse>true</uax:IsInverse>\n              <uax:TargetId>\n                <uax:Identifier>ns=2;i=82</uax:Identifier>\n              </uax:TargetId>\n            </uax:Reference>\n          </uax:References>\n          <Output>\n            <uax:NodeClass>Variable_2</uax:NodeClass>\n            <uax:NodeId>\n              <uax:Identifier>ns=2;i=84</uax:Identifier>\n            </uax:NodeId>\n            <uax:BrowseName>\n              <uax:NamespaceIndex>1</uax:NamespaceIndex>\n              <uax:Name>Output</uax:Name>\n            </uax:BrowseName>\n            <uax:ReferenceTypeId>\n              <uax:Identifier>i=47</uax:Identifier>\n            </uax:ReferenceTypeId>\n            <uax:TypeDefinitionId>\n              <uax:Identifier>i=2368</uax:Identifier>\n            </uax:TypeDefinitionId>\n            <uax:NumericId>84</uax:NumericId>\n            <uax:DataType>\n              <uax:Identifier>i=11</uax:Identifier>\n            </uax:DataType>\n            <uax:ValueRank>-1</uax:ValueRank>\n            <uax:AccessLevel>1</uax:AccessLevel>\n            <uax:UserAccessLevel>1</uax:UserAccessLevel>\n            <uax:References>\n              <uax:Reference>\n                <uax:ReferenceTypeId>\n                  <uax:Identifier>ns=1;i=3</uax:Identifier>\n                </uax:ReferenceTypeId>\n                <uax:TargetId>\n                  <uax:Identifier>ns=2;i=114</uax:Identifier>\n                </uax:TargetId>\n              </uax:Reference>\n              <uax:Reference>\n                <uax:ReferenceTypeId>\n                  <uax:Identifier>ns=1;i=3</uax:Identifier>\n                </uax:ReferenceTypeId>\n                <uax:TargetId>\n                  <uax:Identifier>ns=2;i=123</uax:Identifier>\n                </uax:TargetId>\n              </uax:Reference>\n            </uax:References>\n            <EURange xmlns=\"http://opcfoundation.org/UA/\">\n              <uax:NodeClass>Variable_2</uax:NodeClass>\n              <uax:NodeId>\n                <uax:Identifier>ns=2;i=88</uax:Identifier>\n              </uax:NodeId>\n              <uax:BrowseName>\n                <uax:NamespaceIndex>0</uax:NamespaceIndex>\n                <uax:Name>EURange</uax:Name>\n              </uax:BrowseName>\n              <uax:ReferenceTypeId>\n                <uax:Identifier>i=46</uax:Identifier>\n              </uax:ReferenceTypeId>\n              <uax:TypeDefinitionId>\n                <uax:Identifier>i=68</uax:Identifier>\n              </uax:TypeDefinitionId>\n              <uax:NumericId>88</uax:NumericId>\n              <uax:DataType>\n                <uax:Identifier>i=884</uax:Identifier>\n              </uax:DataType>\n              <uax:ValueRank>-1</uax:ValueRank>\n              <uax:AccessLevel>1</uax:AccessLevel>\n              <uax:UserAccessLevel>1</uax:UserAccessLevel>\n            </EURange>\n          </Output>\n        </FlowTransmitter1>\n        <Valve xmlns=\"http://tempuri.org/UA/Examples/BoilerType\">\n          <uax:NodeClass>Object_1</uax:NodeClass>\n          <uax:NodeId>\n            <uax:Identifier>ns=2;i=90</uax:Identifier>\n          </uax:NodeId>\n          <uax:BrowseName>\n            <uax:NamespaceIndex>1</uax:NamespaceIndex>\n            <uax:Name>ValveX001</uax:Name>\n          </uax:BrowseName>\n          <uax:DisplayName>\n            <uax:Locale></uax:Locale>\n            <uax:Text>Valve</uax:Text>\n          </uax:DisplayName>\n          <uax:ReferenceTypeId>\n            <uax:Identifier>i=47</uax:Identifier>\n          </uax:ReferenceTypeId>\n          <uax:TypeDefinitionId>\n            <uax:Identifier>ns=1;i=28</uax:Identifier>\n          </uax:TypeDefinitionId>\n          <uax:NumericId>90</uax:NumericId>\n          <uax:EventNotifier>1</uax:EventNotifier>\n          <Input>\n            <uax:NodeClass>Variable_2</uax:NodeClass>\n            <uax:NodeId>\n              <uax:Identifier>ns=2;i=91</uax:Identifier>\n            </uax:NodeId>\n            <uax:BrowseName>\n              <uax:NamespaceIndex>1</uax:NamespaceIndex>\n              <uax:Name>Input</uax:Name>\n            </uax:BrowseName>\n            <uax:ReferenceTypeId>\n              <uax:Identifier>i=47</uax:Identifier>\n            </uax:ReferenceTypeId>\n            <uax:TypeDefinitionId>\n              <uax:Identifier>i=2368</uax:Identifier>\n            </uax:TypeDefinitionId>\n            <uax:NumericId>91</uax:NumericId>\n            <uax:DataType>\n              <uax:Identifier>i=11</uax:Identifier>\n            </uax:DataType>\n            <uax:ValueRank>-1</uax:ValueRank>\n            <uax:AccessLevel>2</uax:AccessLevel>\n            <uax:UserAccessLevel>2</uax:UserAccessLevel>\n            <uax:References>\n              <uax:Reference>\n                <uax:ReferenceTypeId>\n                  <uax:Identifier>ns=1;i=3</uax:Identifier>\n                </uax:ReferenceTypeId>\n                <uax:IsInverse>true</uax:IsInverse>\n                <uax:TargetId>\n                  <uax:Identifier>ns=2;i=116</uax:Identifier>\n                </uax:TargetId>\n              </uax:Reference>\n            </uax:References>\n            <EURange xmlns=\"http://opcfoundation.org/UA/\">\n              <uax:NodeClass>Variable_2</uax:NodeClass>\n              <uax:NodeId>\n                <uax:Identifier>ns=2;i=95</uax:Identifier>\n              </uax:NodeId>\n              <uax:BrowseName>\n                <uax:NamespaceIndex>0</uax:NamespaceIndex>\n                <uax:Name>EURange</uax:Name>\n              </uax:BrowseName>\n              <uax:ReferenceTypeId>\n                <uax:Identifier>i=46</uax:Identifier>\n              </uax:ReferenceTypeId>\n              <uax:TypeDefinitionId>\n                <uax:Identifier>i=68</uax:Identifier>\n              </uax:TypeDefinitionId>\n              <uax:NumericId>95</uax:NumericId>\n              <uax:DataType>\n                <uax:Identifier>i=884</uax:Identifier>\n              </uax:DataType>\n              <uax:ValueRank>-1</uax:ValueRank>\n              <uax:AccessLevel>1</uax:AccessLevel>\n              <uax:UserAccessLevel>1</uax:UserAccessLevel>\n            </EURange>\n          </Input>\n        </Valve>\n      </InputPipe>\n      <Drum>\n        <uax:NodeClass>Object_1</uax:NodeClass>\n        <uax:NodeId>\n          <uax:Identifier>ns=2;i=97</uax:Identifier>\n        </uax:NodeId>\n        <uax:BrowseName>\n          <uax:NamespaceIndex>2</uax:NamespaceIndex>\n          <uax:Name>Drum</uax:Name>\n        </uax:BrowseName>\n        <uax:DisplayName>\n          <uax:Locale></uax:Locale>\n          <uax:Text>Boiler #1: Drum1001</uax:Text>\n        </uax:DisplayName>\n        <uax:ReferenceTypeId>\n          <uax:Identifier>i=47</uax:Identifier>\n        </uax:ReferenceTypeId>\n        <uax:TypeDefinitionId>\n          <uax:Identifier>ns=1;i=135</uax:Identifier>\n        </uax:TypeDefinitionId>\n        <uax:NumericId>97</uax:NumericId>\n        <uax:EventNotifier>1</uax:EventNotifier>\n        <uax:References>\n          <uax:Reference>\n            <uax:ReferenceTypeId>\n              <uax:Identifier>i=48</uax:Identifier>\n            </uax:ReferenceTypeId>\n            <uax:IsInverse>true</uax:IsInverse>\n            <uax:TargetId>\n              <uax:Identifier>ns=2;i=81</uax:Identifier>\n            </uax:TargetId>\n          </uax:Reference>\n          <uax:Reference>\n            <uax:ReferenceTypeId>\n              <uax:Identifier>ns=1;i=1</uax:Identifier>\n            </uax:ReferenceTypeId>\n            <uax:IsInverse>true</uax:IsInverse>\n            <uax:TargetId>\n              <uax:Identifier>ns=2;i=82</uax:Identifier>\n            </uax:TargetId>\n          </uax:Reference>\n          <uax:Reference>\n            <uax:ReferenceTypeId>\n              <uax:Identifier>i=48</uax:Identifier>\n            </uax:ReferenceTypeId>\n            <uax:TargetId>\n              <uax:Identifier>ns=2;i=98</uax:Identifier>\n            </uax:TargetId>\n          </uax:Reference>\n          <uax:Reference>\n            <uax:ReferenceTypeId>\n              <uax:Identifier>ns=1;i=2</uax:Identifier>\n            </uax:ReferenceTypeId>\n            <uax:TargetId>\n              <uax:Identifier>ns=2;i=105</uax:Identifier>\n            </uax:TargetId>\n          </uax:Reference>\n        </uax:References>\n        <LevelIndicator xmlns=\"http://tempuri.org/UA/Examples/BoilerType\">\n          <uax:NodeClass>Object_1</uax:NodeClass>\n          <uax:NodeId>\n            <uax:Identifier>ns=2;i=98</uax:Identifier>\n          </uax:NodeId>\n          <uax:BrowseName>\n            <uax:NamespaceIndex>1</uax:NamespaceIndex>\n            <uax:Name>LIX001</uax:Name>\n          </uax:BrowseName>\n          <uax:ReferenceTypeId>\n            <uax:Identifier>i=47</uax:Identifier>\n          </uax:ReferenceTypeId>\n          <uax:TypeDefinitionId>\n            <uax:Identifier>ns=1;i=43</uax:Identifier>\n          </uax:TypeDefinitionId>\n          <uax:NumericId>98</uax:NumericId>\n          <uax:EventNotifier>1</uax:EventNotifier>\n          <uax:References>\n            <uax:Reference>\n              <uax:ReferenceTypeId>\n                <uax:Identifier>i=48</uax:Identifier>\n              </uax:ReferenceTypeId>\n              <uax:IsInverse>true</uax:IsInverse>\n              <uax:TargetId>\n                <uax:Identifier>ns=2;i=97</uax:Identifier>\n              </uax:TargetId>\n            </uax:Reference>\n          </uax:References>\n          <Output>\n            <uax:NodeClass>Variable_2</uax:NodeClass>\n            <uax:NodeId>\n              <uax:Identifier>ns=2;i=99</uax:Identifier>\n            </uax:NodeId>\n            <uax:BrowseName>\n              <uax:NamespaceIndex>1</uax:NamespaceIndex>\n              <uax:Name>Output</uax:Name>\n            </uax:BrowseName>\n            <uax:ReferenceTypeId>\n              <uax:Identifier>i=47</uax:Identifier>\n            </uax:ReferenceTypeId>\n            <uax:TypeDefinitionId>\n              <uax:Identifier>i=2368</uax:Identifier>\n            </uax:TypeDefinitionId>\n            <uax:NumericId>99</uax:NumericId>\n            <uax:DataType>\n              <uax:Identifier>i=26</uax:Identifier>\n            </uax:DataType>\n            <uax:ValueRank>-1</uax:ValueRank>\n            <uax:AccessLevel>1</uax:AccessLevel>\n            <uax:UserAccessLevel>1</uax:UserAccessLevel>\n            <uax:References>\n              <uax:Reference>\n                <uax:ReferenceTypeId>\n                  <uax:Identifier>ns=1;i=3</uax:Identifier>\n                </uax:ReferenceTypeId>\n                <uax:TargetId>\n                  <uax:Identifier>ns=2;i=118</uax:Identifier>\n                </uax:TargetId>\n              </uax:Reference>\n            </uax:References>\n            <EURange xmlns=\"http://opcfoundation.org/UA/\">\n              <uax:NodeClass>Variable_2</uax:NodeClass>\n              <uax:NodeId>\n                <uax:Identifier>ns=2;i=103</uax:Identifier>\n              </uax:NodeId>\n              <uax:BrowseName>\n                <uax:NamespaceIndex>0</uax:NamespaceIndex>\n                <uax:Name>EURange</uax:Name>\n              </uax:BrowseName>\n              <uax:ReferenceTypeId>\n                <uax:Identifier>i=46</uax:Identifier>\n              </uax:ReferenceTypeId>\n              <uax:TypeDefinitionId>\n                <uax:Identifier>i=68</uax:Identifier>\n              </uax:TypeDefinitionId>\n              <uax:NumericId>103</uax:NumericId>\n              <uax:DataType>\n                <uax:Identifier>i=884</uax:Identifier>\n              </uax:DataType>\n              <uax:ValueRank>-1</uax:ValueRank>\n              <uax:AccessLevel>1</uax:AccessLevel>\n              <uax:UserAccessLevel>1</uax:UserAccessLevel>\n            </EURange>\n          </Output>\n        </LevelIndicator>\n      </Drum>\n      <OutputPipe>\n        <uax:NodeClass>Object_1</uax:NodeClass>\n        <uax:NodeId>\n          <uax:Identifier>ns=2;i=105</uax:Identifier>\n        </uax:NodeId>\n        <uax:BrowseName>\n          <uax:NamespaceIndex>2</uax:NamespaceIndex>\n          <uax:Name>OutputPipe</uax:Name>\n        </uax:BrowseName>\n        <uax:DisplayName>\n          <uax:Locale></uax:Locale>\n          <uax:Text>Boiler #1: Pipe1002</uax:Text>\n        </uax:DisplayName>\n        <uax:ReferenceTypeId>\n          <uax:Identifier>i=47</uax:Identifier>\n        </uax:ReferenceTypeId>\n        <uax:TypeDefinitionId>\n          <uax:Identifier>ns=1;i=143</uax:Identifier>\n        </uax:TypeDefinitionId>\n        <uax:NumericId>105</uax:NumericId>\n        <uax:EventNotifier>1</uax:EventNotifier>\n        <uax:References>\n          <uax:Reference>\n            <uax:ReferenceTypeId>\n              <uax:Identifier>i=48</uax:Identifier>\n            </uax:ReferenceTypeId>\n            <uax:IsInverse>true</uax:IsInverse>\n            <uax:TargetId>\n              <uax:Identifier>ns=2;i=81</uax:Identifier>\n            </uax:TargetId>\n          </uax:Reference>\n          <uax:Reference>\n            <uax:ReferenceTypeId>\n              <uax:Identifier>ns=1;i=2</uax:Identifier>\n            </uax:ReferenceTypeId>\n            <uax:IsInverse>true</uax:IsInverse>\n            <uax:TargetId>\n              <uax:Identifier>ns=2;i=97</uax:Identifier>\n            </uax:TargetId>\n          </uax:Reference>\n          <uax:Reference>\n            <uax:ReferenceTypeId>\n              <uax:Identifier>i=48</uax:Identifier>\n            </uax:ReferenceTypeId>\n            <uax:TargetId>\n              <uax:Identifier>ns=2;i=106</uax:Identifier>\n            </uax:TargetId>\n          </uax:Reference>\n        </uax:References>\n        <FlowTransmitter2 xmlns=\"http://tempuri.org/UA/Examples/BoilerType\">\n          <uax:NodeClass>Object_1</uax:NodeClass>\n          <uax:NodeId>\n            <uax:Identifier>ns=2;i=106</uax:Identifier>\n          </uax:NodeId>\n          <uax:BrowseName>\n            <uax:NamespaceIndex>1</uax:NamespaceIndex>\n            <uax:Name>FTX002</uax:Name>\n          </uax:BrowseName>\n          <uax:ReferenceTypeId>\n            <uax:Identifier>i=47</uax:Identifier>\n          </uax:ReferenceTypeId>\n          <uax:TypeDefinitionId>\n            <uax:Identifier>ns=1;i=50</uax:Identifier>\n          </uax:TypeDefinitionId>\n          <uax:NumericId>106</uax:NumericId>\n          <uax:EventNotifier>1</uax:EventNotifier>\n          <uax:References>\n            <uax:Reference>\n              <uax:ReferenceTypeId>\n                <uax:Identifier>i=48</uax:Identifier>\n              </uax:ReferenceTypeId>\n              <uax:IsInverse>true</uax:IsInverse>\n              <uax:TargetId>\n                <uax:Identifier>ns=2;i=105</uax:Identifier>\n              </uax:TargetId>\n            </uax:Reference>\n          </uax:References>\n          <Output>\n            <uax:NodeClass>Variable_2</uax:NodeClass>\n            <uax:NodeId>\n              <uax:Identifier>ns=2;i=107</uax:Identifier>\n            </uax:NodeId>\n            <uax:BrowseName>\n              <uax:NamespaceIndex>1</uax:NamespaceIndex>\n              <uax:Name>Output</uax:Name>\n            </uax:BrowseName>\n            <uax:ReferenceTypeId>\n              <uax:Identifier>i=47</uax:Identifier>\n            </uax:ReferenceTypeId>\n            <uax:TypeDefinitionId>\n              <uax:Identifier>i=2368</uax:Identifier>\n            </uax:TypeDefinitionId>\n            <uax:NumericId>107</uax:NumericId>\n            <uax:DataType>\n              <uax:Identifier>i=11</uax:Identifier>\n            </uax:DataType>\n            <uax:ValueRank>-1</uax:ValueRank>\n            <uax:AccessLevel>1</uax:AccessLevel>\n            <uax:UserAccessLevel>1</uax:UserAccessLevel>\n            <uax:References>\n              <uax:Reference>\n                <uax:ReferenceTypeId>\n                  <uax:Identifier>ns=1;i=3</uax:Identifier>\n                </uax:ReferenceTypeId>\n                <uax:TargetId>\n                  <uax:Identifier>ns=2;i=124</uax:Identifier>\n                </uax:TargetId>\n              </uax:Reference>\n            </uax:References>\n            <EURange xmlns=\"http://opcfoundation.org/UA/\">\n              <uax:NodeClass>Variable_2</uax:NodeClass>\n              <uax:NodeId>\n                <uax:Identifier>ns=2;i=111</uax:Identifier>\n              </uax:NodeId>\n              <uax:BrowseName>\n                <uax:NamespaceIndex>0</uax:NamespaceIndex>\n                <uax:Name>EURange</uax:Name>\n              </uax:BrowseName>\n              <uax:ReferenceTypeId>\n                <uax:Identifier>i=46</uax:Identifier>\n              </uax:ReferenceTypeId>\n              <uax:TypeDefinitionId>\n                <uax:Identifier>i=68</uax:Identifier>\n              </uax:TypeDefinitionId>\n              <uax:NumericId>111</uax:NumericId>\n              <uax:DataType>\n                <uax:Identifier>i=884</uax:Identifier>\n              </uax:DataType>\n              <uax:ValueRank>-1</uax:ValueRank>\n              <uax:AccessLevel>1</uax:AccessLevel>\n              <uax:UserAccessLevel>1</uax:UserAccessLevel>\n            </EURange>\n          </Output>\n        </FlowTransmitter2>\n      </OutputPipe>\n      <FlowController>\n        <uax:NodeClass>Object_1</uax:NodeClass>\n        <uax:NodeId>\n          <uax:Identifier>ns=2;i=113</uax:Identifier>\n        </uax:NodeId>\n        <uax:BrowseName>\n          <uax:NamespaceIndex>2</uax:NamespaceIndex>\n          <uax:Name>FlowController</uax:Name>\n        </uax:BrowseName>\n        <uax:DisplayName>\n          <uax:Locale></uax:Locale>\n          <uax:Text>Boiler #1: FC1001</uax:Text>\n        </uax:DisplayName>\n        <uax:ReferenceTypeId>\n          <uax:Identifier>i=47</uax:Identifier>\n        </uax:ReferenceTypeId>\n        <uax:TypeDefinitionId>\n          <uax:Identifier>ns=1;i=39</uax:Identifier>\n        </uax:TypeDefinitionId>\n        <uax:NumericId>113</uax:NumericId>\n        <Measurement xmlns=\"http://tempuri.org/UA/Examples/BoilerType\">\n          <uax:NodeClass>Variable_2</uax:NodeClass>\n          <uax:NodeId>\n            <uax:Identifier>ns=2;i=114</uax:Identifier>\n          </uax:NodeId>\n          <uax:BrowseName>\n            <uax:NamespaceIndex>1</uax:NamespaceIndex>\n            <uax:Name>Measurement</uax:Name>\n          </uax:BrowseName>\n          <uax:ReferenceTypeId>\n            <uax:Identifier>i=46</uax:Identifier>\n          </uax:ReferenceTypeId>\n          <uax:TypeDefinitionId>\n            <uax:Identifier>i=68</uax:Identifier>\n          </uax:TypeDefinitionId>\n          <uax:NumericId>114</uax:NumericId>\n          <uax:DataType>\n            <uax:Identifier>i=11</uax:Identifier>\n          </uax:DataType>\n          <uax:ValueRank>-1</uax:ValueRank>\n          <uax:AccessLevel>1</uax:AccessLevel>\n          <uax:UserAccessLevel>1</uax:UserAccessLevel>\n          <uax:References>\n            <uax:Reference>\n              <uax:ReferenceTypeId>\n                <uax:Identifier>ns=1;i=3</uax:Identifier>\n              </uax:ReferenceTypeId>\n              <uax:IsInverse>true</uax:IsInverse>\n              <uax:TargetId>\n                <uax:Identifier>ns=2;i=84</uax:Identifier>\n              </uax:TargetId>\n            </uax:Reference>\n          </uax:References>\n        </Measurement>\n        <SetPoint xmlns=\"http://tempuri.org/UA/Examples/BoilerType\">\n          <uax:NodeClass>Variable_2</uax:NodeClass>\n          <uax:NodeId>\n            <uax:Identifier>ns=2;i=115</uax:Identifier>\n          </uax:NodeId>\n          <uax:BrowseName>\n            <uax:NamespaceIndex>1</uax:NamespaceIndex>\n            <uax:Name>SetPoint</uax:Name>\n          </uax:BrowseName>\n          <uax:ReferenceTypeId>\n            <uax:Identifier>i=46</uax:Identifier>\n          </uax:ReferenceTypeId>\n          <uax:TypeDefinitionId>\n            <uax:Identifier>i=68</uax:Identifier>\n          </uax:TypeDefinitionId>\n          <uax:NumericId>115</uax:NumericId>\n          <uax:DataType>\n            <uax:Identifier>i=11</uax:Identifier>\n          </uax:DataType>\n          <uax:ValueRank>-1</uax:ValueRank>\n          <uax:AccessLevel>3</uax:AccessLevel>\n          <uax:UserAccessLevel>3</uax:UserAccessLevel>\n          <uax:References>\n            <uax:Reference>\n              <uax:ReferenceTypeId>\n                <uax:Identifier>ns=1;i=3</uax:Identifier>\n              </uax:ReferenceTypeId>\n              <uax:IsInverse>true</uax:IsInverse>\n              <uax:TargetId>\n                <uax:Identifier>ns=2;i=125</uax:Identifier>\n              </uax:TargetId>\n            </uax:Reference>\n          </uax:References>\n        </SetPoint>\n        <ControlOut xmlns=\"http://tempuri.org/UA/Examples/BoilerType\">\n          <uax:NodeClass>Variable_2</uax:NodeClass>\n          <uax:NodeId>\n            <uax:Identifier>ns=2;i=116</uax:Identifier>\n          </uax:NodeId>\n          <uax:BrowseName>\n            <uax:NamespaceIndex>1</uax:NamespaceIndex>\n            <uax:Name>ControlOut</uax:Name>\n          </uax:BrowseName>\n          <uax:ReferenceTypeId>\n            <uax:Identifier>i=46</uax:Identifier>\n          </uax:ReferenceTypeId>\n          <uax:TypeDefinitionId>\n            <uax:Identifier>i=68</uax:Identifier>\n          </uax:TypeDefinitionId>\n          <uax:NumericId>116</uax:NumericId>\n          <uax:DataType>\n            <uax:Identifier>i=11</uax:Identifier>\n          </uax:DataType>\n          <uax:ValueRank>-1</uax:ValueRank>\n          <uax:AccessLevel>1</uax:AccessLevel>\n          <uax:UserAccessLevel>1</uax:UserAccessLevel>\n          <uax:References>\n            <uax:Reference>\n              <uax:ReferenceTypeId>\n                <uax:Identifier>ns=1;i=3</uax:Identifier>\n              </uax:ReferenceTypeId>\n              <uax:TargetId>\n                <uax:Identifier>ns=2;i=91</uax:Identifier>\n              </uax:TargetId>\n            </uax:Reference>\n          </uax:References>\n        </ControlOut>\n      </FlowController>\n      <LevelController>\n        <uax:NodeClass>Object_1</uax:NodeClass>\n        <uax:NodeId>\n          <uax:Identifier>ns=2;i=117</uax:Identifier>\n        </uax:NodeId>\n        <uax:BrowseName>\n          <uax:NamespaceIndex>2</uax:NamespaceIndex>\n          <uax:Name>LevelController</uax:Name>\n        </uax:BrowseName>\n        <uax:DisplayName>\n          <uax:Locale></uax:Locale>\n          <uax:Text>Boiler #1: LC1001</uax:Text>\n        </uax:DisplayName>\n        <uax:ReferenceTypeId>\n          <uax:Identifier>i=47</uax:Identifier>\n        </uax:ReferenceTypeId>\n        <uax:TypeDefinitionId>\n          <uax:Identifier>ns=1;i=35</uax:Identifier>\n        </uax:TypeDefinitionId>\n        <uax:NumericId>117</uax:NumericId>\n        <Measurement xmlns=\"http://tempuri.org/UA/Examples/BoilerType\">\n          <uax:NodeClass>Variable_2</uax:NodeClass>\n          <uax:NodeId>\n            <uax:Identifier>ns=2;i=118</uax:Identifier>\n          </uax:NodeId>\n          <uax:BrowseName>\n            <uax:NamespaceIndex>1</uax:NamespaceIndex>\n            <uax:Name>Measurement</uax:Name>\n          </uax:BrowseName>\n          <uax:ReferenceTypeId>\n            <uax:Identifier>i=46</uax:Identifier>\n          </uax:ReferenceTypeId>\n          <uax:TypeDefinitionId>\n            <uax:Identifier>i=68</uax:Identifier>\n          </uax:TypeDefinitionId>\n          <uax:NumericId>118</uax:NumericId>\n          <uax:DataType>\n            <uax:Identifier>i=11</uax:Identifier>\n          </uax:DataType>\n          <uax:ValueRank>-1</uax:ValueRank>\n          <uax:AccessLevel>1</uax:AccessLevel>\n          <uax:UserAccessLevel>1</uax:UserAccessLevel>\n          <uax:References>\n            <uax:Reference>\n              <uax:ReferenceTypeId>\n                <uax:Identifier>ns=1;i=3</uax:Identifier>\n              </uax:ReferenceTypeId>\n              <uax:IsInverse>true</uax:IsInverse>\n              <uax:TargetId>\n                <uax:Identifier>ns=2;i=99</uax:Identifier>\n              </uax:TargetId>\n            </uax:Reference>\n          </uax:References>\n        </Measurement>\n        <SetPoint xmlns=\"http://tempuri.org/UA/Examples/BoilerType\">\n          <uax:NodeClass>Variable_2</uax:NodeClass>\n          <uax:NodeId>\n            <uax:Identifier>ns=2;i=119</uax:Identifier>\n          </uax:NodeId>\n          <uax:BrowseName>\n            <uax:NamespaceIndex>1</uax:NamespaceIndex>\n            <uax:Name>SetPoint</uax:Name>\n          </uax:BrowseName>\n          <uax:ReferenceTypeId>\n            <uax:Identifier>i=46</uax:Identifier>\n          </uax:ReferenceTypeId>\n          <uax:TypeDefinitionId>\n            <uax:Identifier>i=68</uax:Identifier>\n          </uax:TypeDefinitionId>\n          <uax:NumericId>119</uax:NumericId>\n          <uax:DataType>\n            <uax:Identifier>i=11</uax:Identifier>\n          </uax:DataType>\n          <uax:ValueRank>-1</uax:ValueRank>\n          <uax:AccessLevel>3</uax:AccessLevel>\n          <uax:UserAccessLevel>3</uax:UserAccessLevel>\n        </SetPoint>\n        <ControlOut xmlns=\"http://tempuri.org/UA/Examples/BoilerType\">\n          <uax:NodeClass>Variable_2</uax:NodeClass>\n          <uax:NodeId>\n            <uax:Identifier>ns=2;i=120</uax:Identifier>\n          </uax:NodeId>\n          <uax:BrowseName>\n            <uax:NamespaceIndex>1</uax:NamespaceIndex>\n            <uax:Name>ControlOut</uax:Name>\n          </uax:BrowseName>\n          <uax:ReferenceTypeId>\n            <uax:Identifier>i=46</uax:Identifier>\n          </uax:ReferenceTypeId>\n          <uax:TypeDefinitionId>\n            <uax:Identifier>i=68</uax:Identifier>\n          </uax:TypeDefinitionId>\n          <uax:NumericId>120</uax:NumericId>\n          <uax:DataType>\n            <uax:Identifier>i=11</uax:Identifier>\n          </uax:DataType>\n          <uax:ValueRank>-1</uax:ValueRank>\n          <uax:AccessLevel>1</uax:AccessLevel>\n          <uax:UserAccessLevel>1</uax:UserAccessLevel>\n          <uax:References>\n            <uax:Reference>\n              <uax:ReferenceTypeId>\n                <uax:Identifier>ns=1;i=3</uax:Identifier>\n              </uax:ReferenceTypeId>\n              <uax:TargetId>\n                <uax:Identifier>ns=2;i=122</uax:Identifier>\n              </uax:TargetId>\n            </uax:Reference>\n          </uax:References>\n        </ControlOut>\n      </LevelController>\n      <CustomController>\n        <uax:NodeClass>Object_1</uax:NodeClass>\n        <uax:NodeId>\n          <uax:Identifier>ns=2;i=121</uax:Identifier>\n        </uax:NodeId>\n        <uax:BrowseName>\n          <uax:NamespaceIndex>2</uax:NamespaceIndex>\n          <uax:Name>CustomController</uax:Name>\n        </uax:BrowseName>\n        <uax:DisplayName>\n          <uax:Locale></uax:Locale>\n          <uax:Text>Boiler #1: CC1001</uax:Text>\n        </uax:DisplayName>\n        <uax:ReferenceTypeId>\n          <uax:Identifier>i=47</uax:Identifier>\n        </uax:ReferenceTypeId>\n        <uax:TypeDefinitionId>\n          <uax:Identifier>ns=1;i=22</uax:Identifier>\n        </uax:TypeDefinitionId>\n        <uax:NumericId>121</uax:NumericId>\n        <Input1 xmlns=\"http://tempuri.org/UA/Examples/BoilerType\">\n          <uax:NodeClass>Variable_2</uax:NodeClass>\n          <uax:NodeId>\n            <uax:Identifier>ns=2;i=122</uax:Identifier>\n          </uax:NodeId>\n          <uax:BrowseName>\n            <uax:NamespaceIndex>1</uax:NamespaceIndex>\n            <uax:Name>Input1</uax:Name>\n          </uax:BrowseName>\n          <uax:ReferenceTypeId>\n            <uax:Identifier>i=46</uax:Identifier>\n          </uax:ReferenceTypeId>\n          <uax:TypeDefinitionId>\n            <uax:Identifier>i=68</uax:Identifier>\n          </uax:TypeDefinitionId>\n          <uax:NumericId>122</uax:NumericId>\n          <uax:DataType>\n            <uax:Identifier>i=11</uax:Identifier>\n          </uax:DataType>\n          <uax:ValueRank>-1</uax:ValueRank>\n          <uax:AccessLevel>2</uax:AccessLevel>\n          <uax:UserAccessLevel>2</uax:UserAccessLevel>\n          <uax:References>\n            <uax:Reference>\n              <uax:ReferenceTypeId>\n                <uax:Identifier>ns=1;i=3</uax:Identifier>\n              </uax:ReferenceTypeId>\n              <uax:IsInverse>true</uax:IsInverse>\n              <uax:TargetId>\n                <uax:Identifier>ns=2;i=120</uax:Identifier>\n              </uax:TargetId>\n            </uax:Reference>\n          </uax:References>\n        </Input1>\n        <Input2 xmlns=\"http://tempuri.org/UA/Examples/BoilerType\">\n          <uax:NodeClass>Variable_2</uax:NodeClass>\n          <uax:NodeId>\n            <uax:Identifier>ns=2;i=123</uax:Identifier>\n          </uax:NodeId>\n          <uax:BrowseName>\n            <uax:NamespaceIndex>1</uax:NamespaceIndex>\n            <uax:Name>Input2</uax:Name>\n          </uax:BrowseName>\n          <uax:ReferenceTypeId>\n            <uax:Identifier>i=46</uax:Identifier>\n          </uax:ReferenceTypeId>\n          <uax:TypeDefinitionId>\n            <uax:Identifier>i=68</uax:Identifier>\n          </uax:TypeDefinitionId>\n          <uax:NumericId>123</uax:NumericId>\n          <uax:DataType>\n            <uax:Identifier>i=11</uax:Identifier>\n          </uax:DataType>\n          <uax:ValueRank>-1</uax:ValueRank>\n          <uax:AccessLevel>2</uax:AccessLevel>\n          <uax:UserAccessLevel>2</uax:UserAccessLevel>\n          <uax:References>\n            <uax:Reference>\n              <uax:ReferenceTypeId>\n                <uax:Identifier>ns=1;i=3</uax:Identifier>\n              </uax:ReferenceTypeId>\n              <uax:IsInverse>true</uax:IsInverse>\n              <uax:TargetId>\n                <uax:Identifier>ns=2;i=84</uax:Identifier>\n              </uax:TargetId>\n            </uax:Reference>\n          </uax:References>\n        </Input2>\n        <Input3 xmlns=\"http://tempuri.org/UA/Examples/BoilerType\">\n          <uax:NodeClass>Variable_2</uax:NodeClass>\n          <uax:NodeId>\n            <uax:Identifier>ns=2;i=124</uax:Identifier>\n          </uax:NodeId>\n          <uax:BrowseName>\n            <uax:NamespaceIndex>1</uax:NamespaceIndex>\n            <uax:Name>Input3</uax:Name>\n          </uax:BrowseName>\n          <uax:ReferenceTypeId>\n            <uax:Identifier>i=46</uax:Identifier>\n          </uax:ReferenceTypeId>\n          <uax:TypeDefinitionId>\n            <uax:Identifier>i=68</uax:Identifier>\n          </uax:TypeDefinitionId>\n          <uax:NumericId>124</uax:NumericId>\n          <uax:DataType>\n            <uax:Identifier>i=11</uax:Identifier>\n          </uax:DataType>\n          <uax:ValueRank>-1</uax:ValueRank>\n          <uax:AccessLevel>2</uax:AccessLevel>\n          <uax:UserAccessLevel>2</uax:UserAccessLevel>\n          <uax:References>\n            <uax:Reference>\n              <uax:ReferenceTypeId>\n                <uax:Identifier>ns=1;i=3</uax:Identifier>\n              </uax:ReferenceTypeId>\n              <uax:IsInverse>true</uax:IsInverse>\n              <uax:TargetId>\n                <uax:Identifier>ns=2;i=107</uax:Identifier>\n              </uax:TargetId>\n            </uax:Reference>\n          </uax:References>\n        </Input3>\n        <ControlOut xmlns=\"http://tempuri.org/UA/Examples/BoilerType\">\n          <uax:NodeClass>Variable_2</uax:NodeClass>\n          <uax:NodeId>\n            <uax:Identifier>ns=2;i=125</uax:Identifier>\n          </uax:NodeId>\n          <uax:BrowseName>\n            <uax:NamespaceIndex>1</uax:NamespaceIndex>\n            <uax:Name>ControlOut</uax:Name>\n          </uax:BrowseName>\n          <uax:ReferenceTypeId>\n            <uax:Identifier>i=46</uax:Identifier>\n          </uax:ReferenceTypeId>\n          <uax:TypeDefinitionId>\n            <uax:Identifier>i=68</uax:Identifier>\n          </uax:TypeDefinitionId>\n          <uax:NumericId>125</uax:NumericId>\n          <uax:DataType>\n            <uax:Identifier>i=11</uax:Identifier>\n          </uax:DataType>\n          <uax:ValueRank>-1</uax:ValueRank>\n          <uax:AccessLevel>1</uax:AccessLevel>\n          <uax:UserAccessLevel>1</uax:UserAccessLevel>\n          <uax:References>\n            <uax:Reference>\n              <uax:ReferenceTypeId>\n                <uax:Identifier>ns=1;i=3</uax:Identifier>\n              </uax:ReferenceTypeId>\n              <uax:TargetId>\n                <uax:Identifier>ns=2;i=115</uax:Identifier>\n              </uax:TargetId>\n            </uax:Reference>\n          </uax:References>\n        </ControlOut>\n        <DescriptionX xmlns=\"http://tempuri.org/UA/Examples/BoilerType\">\n          <uax:NodeClass>Variable_2</uax:NodeClass>\n          <uax:NodeId>\n            <uax:Identifier>ns=2;i=126</uax:Identifier>\n          </uax:NodeId>\n          <uax:BrowseName>\n            <uax:NamespaceIndex>1</uax:NamespaceIndex>\n            <uax:Name>Description</uax:Name>\n          </uax:BrowseName>\n          <uax:ReferenceTypeId>\n            <uax:Identifier>i=46</uax:Identifier>\n          </uax:ReferenceTypeId>\n          <uax:TypeDefinitionId>\n            <uax:Identifier>i=68</uax:Identifier>\n          </uax:TypeDefinitionId>\n          <uax:NumericId>126</uax:NumericId>\n          <uax:DataType>\n            <uax:Identifier>i=21</uax:Identifier>\n          </uax:DataType>\n          <uax:ValueRank>-1</uax:ValueRank>\n          <uax:AccessLevel>1</uax:AccessLevel>\n          <uax:UserAccessLevel>1</uax:UserAccessLevel>\n        </DescriptionX>\n      </CustomController>\n      <Simulation xmlns=\"http://tempuri.org/UA/Examples/BoilerType\">\n        <uax:NodeClass>Object_1</uax:NodeClass>\n        <uax:NodeId>\n          <uax:Identifier>ns=2;i=127</uax:Identifier>\n        </uax:NodeId>\n        <uax:BrowseName>\n          <uax:NamespaceIndex>1</uax:NamespaceIndex>\n          <uax:Name>Simulation</uax:Name>\n        </uax:BrowseName>\n        <uax:ReferenceTypeId>\n          <uax:Identifier>i=47</uax:Identifier>\n        </uax:ReferenceTypeId>\n        <uax:TypeDefinitionId>\n          <uax:Identifier>ns=1;i=57</uax:Identifier>\n        </uax:TypeDefinitionId>\n        <uax:NumericId>127</uax:NumericId>\n        <uax:EventNotifier>1</uax:EventNotifier>\n        <uax:References>\n          <uax:Reference>\n            <uax:ReferenceTypeId>\n              <uax:Identifier>i=36</uax:Identifier>\n            </uax:ReferenceTypeId>\n            <uax:IsInverse>true</uax:IsInverse>\n            <uax:TargetId>\n              <uax:Identifier>ns=2;i=81</uax:Identifier>\n            </uax:TargetId>\n          </uax:Reference>\n        </uax:References>\n        <CurrentState xmlns=\"http://opcfoundation.org/UA/\">\n          <uax:NodeClass>Variable_2</uax:NodeClass>\n          <uax:NodeId>\n            <uax:Identifier>ns=2;i=128</uax:Identifier>\n          </uax:NodeId>\n          <uax:BrowseName>\n            <uax:NamespaceIndex>0</uax:NamespaceIndex>\n            <uax:Name>CurrentState</uax:Name>\n          </uax:BrowseName>\n          <uax:ReferenceTypeId>\n            <uax:Identifier>i=47</uax:Identifier>\n          </uax:ReferenceTypeId>\n          <uax:TypeDefinitionId>\n            <uax:Identifier>i=2760</uax:Identifier>\n          </uax:TypeDefinitionId>\n          <uax:NumericId>128</uax:NumericId>\n          <uax:DataType>\n            <uax:Identifier>i=21</uax:Identifier>\n          </uax:DataType>\n          <uax:ValueRank>-1</uax:ValueRank>\n          <uax:AccessLevel>1</uax:AccessLevel>\n          <uax:UserAccessLevel>1</uax:UserAccessLevel>\n          <Id>\n            <uax:NodeClass>Variable_2</uax:NodeClass>\n            <uax:NodeId>\n              <uax:Identifier>ns=2;i=129</uax:Identifier>\n            </uax:NodeId>\n            <uax:BrowseName>\n              <uax:NamespaceIndex>0</uax:NamespaceIndex>\n              <uax:Name>Id</uax:Name>\n            </uax:BrowseName>\n            <uax:ReferenceTypeId>\n              <uax:Identifier>i=46</uax:Identifier>\n            </uax:ReferenceTypeId>\n            <uax:TypeDefinitionId>\n              <uax:Identifier>i=68</uax:Identifier>\n            </uax:TypeDefinitionId>\n            <uax:NumericId>129</uax:NumericId>\n            <uax:DataType>\n              <uax:Identifier>i=17</uax:Identifier>\n            </uax:DataType>\n            <uax:ValueRank>-1</uax:ValueRank>\n            <uax:AccessLevel>1</uax:AccessLevel>\n            <uax:UserAccessLevel>1</uax:UserAccessLevel>\n          </Id>\n          <Number>\n            <uax:NodeClass>Variable_2</uax:NodeClass>\n            <uax:NodeId>\n              <uax:Identifier>ns=2;i=131</uax:Identifier>\n            </uax:NodeId>\n            <uax:BrowseName>\n              <uax:NamespaceIndex>0</uax:NamespaceIndex>\n              <uax:Name>Number</uax:Name>\n            </uax:BrowseName>\n            <uax:ReferenceTypeId>\n              <uax:Identifier>i=46</uax:Identifier>\n            </uax:ReferenceTypeId>\n            <uax:TypeDefinitionId>\n              <uax:Identifier>i=68</uax:Identifier>\n            </uax:TypeDefinitionId>\n            <uax:NumericId>131</uax:NumericId>\n            <uax:DataType>\n              <uax:Identifier>i=7</uax:Identifier>\n            </uax:DataType>\n            <uax:ValueRank>-1</uax:ValueRank>\n            <uax:AccessLevel>1</uax:AccessLevel>\n            <uax:UserAccessLevel>1</uax:UserAccessLevel>\n          </Number>\n        </CurrentState>\n        <LastTransition xmlns=\"http://opcfoundation.org/UA/\">\n          <uax:NodeClass>Variable_2</uax:NodeClass>\n          <uax:NodeId>\n            <uax:Identifier>ns=2;i=133</uax:Identifier>\n          </uax:NodeId>\n          <uax:BrowseName>\n            <uax:NamespaceIndex>0</uax:NamespaceIndex>\n            <uax:Name>LastTransition</uax:Name>\n          </uax:BrowseName>\n          <uax:ReferenceTypeId>\n            <uax:Identifier>i=47</uax:Identifier>\n          </uax:ReferenceTypeId>\n          <uax:TypeDefinitionId>\n            <uax:Identifier>i=2767</uax:Identifier>\n          </uax:TypeDefinitionId>\n          <uax:NumericId>133</uax:NumericId>\n          <uax:DataType>\n            <uax:Identifier>i=21</uax:Identifier>\n          </uax:DataType>\n          <uax:ValueRank>-1</uax:ValueRank>\n          <uax:AccessLevel>1</uax:AccessLevel>\n          <uax:UserAccessLevel>1</uax:UserAccessLevel>\n          <Id>\n            <uax:NodeClass>Variable_2</uax:NodeClass>\n            <uax:NodeId>\n              <uax:Identifier>ns=2;i=134</uax:Identifier>\n            </uax:NodeId>\n            <uax:BrowseName>\n              <uax:NamespaceIndex>0</uax:NamespaceIndex>\n              <uax:Name>Id</uax:Name>\n            </uax:BrowseName>\n            <uax:ReferenceTypeId>\n              <uax:Identifier>i=46</uax:Identifier>\n            </uax:ReferenceTypeId>\n            <uax:TypeDefinitionId>\n              <uax:Identifier>i=68</uax:Identifier>\n            </uax:TypeDefinitionId>\n            <uax:NumericId>134</uax:NumericId>\n            <uax:DataType>\n              <uax:Identifier>i=17</uax:Identifier>\n            </uax:DataType>\n            <uax:ValueRank>-1</uax:ValueRank>\n            <uax:AccessLevel>1</uax:AccessLevel>\n            <uax:UserAccessLevel>1</uax:UserAccessLevel>\n          </Id>\n          <Number>\n            <uax:NodeClass>Variable_2</uax:NodeClass>\n            <uax:NodeId>\n              <uax:Identifier>ns=2;i=136</uax:Identifier>\n            </uax:NodeId>\n            <uax:BrowseName>\n              <uax:NamespaceIndex>0</uax:NamespaceIndex>\n              <uax:Name>Number</uax:Name>\n            </uax:BrowseName>\n            <uax:ReferenceTypeId>\n              <uax:Identifier>i=46</uax:Identifier>\n            </uax:ReferenceTypeId>\n            <uax:TypeDefinitionId>\n              <uax:Identifier>i=68</uax:Identifier>\n            </uax:TypeDefinitionId>\n            <uax:NumericId>136</uax:NumericId>\n            <uax:DataType>\n              <uax:Identifier>i=7</uax:Identifier>\n            </uax:DataType>\n            <uax:ValueRank>-1</uax:ValueRank>\n            <uax:AccessLevel>1</uax:AccessLevel>\n            <uax:UserAccessLevel>1</uax:UserAccessLevel>\n          </Number>\n          <TransitionTime>\n            <uax:NodeClass>Variable_2</uax:NodeClass>\n            <uax:NodeId>\n              <uax:Identifier>ns=2;i=137</uax:Identifier>\n            </uax:NodeId>\n            <uax:BrowseName>\n              <uax:NamespaceIndex>0</uax:NamespaceIndex>\n              <uax:Name>TransitionTime</uax:Name>\n            </uax:BrowseName>\n            <uax:ReferenceTypeId>\n              <uax:Identifier>i=46</uax:Identifier>\n            </uax:ReferenceTypeId>\n            <uax:TypeDefinitionId>\n              <uax:Identifier>i=68</uax:Identifier>\n            </uax:TypeDefinitionId>\n            <uax:NumericId>137</uax:NumericId>\n            <uax:DataType>\n              <uax:Identifier>i=294</uax:Identifier>\n            </uax:DataType>\n            <uax:ValueRank>-1</uax:ValueRank>\n            <uax:AccessLevel>1</uax:AccessLevel>\n            <uax:UserAccessLevel>1</uax:UserAccessLevel>\n          </TransitionTime>\n        </LastTransition>\n        <Deletable xmlns=\"http://opcfoundation.org/UA/\">\n          <uax:NodeClass>Variable_2</uax:NodeClass>\n          <uax:NodeId>\n            <uax:Identifier>ns=2;i=139</uax:Identifier>\n          </uax:NodeId>\n          <uax:BrowseName>\n            <uax:NamespaceIndex>0</uax:NamespaceIndex>\n            <uax:Name>Deletable</uax:Name>\n          </uax:BrowseName>\n          <uax:ReferenceTypeId>\n            <uax:Identifier>i=46</uax:Identifier>\n          </uax:ReferenceTypeId>\n          <uax:TypeDefinitionId>\n            <uax:Identifier>i=68</uax:Identifier>\n          </uax:TypeDefinitionId>\n          <uax:NumericId>139</uax:NumericId>\n          <uax:DataType>\n            <uax:Identifier>i=1</uax:Identifier>\n          </uax:DataType>\n          <uax:ValueRank>-1</uax:ValueRank>\n          <uax:AccessLevel>1</uax:AccessLevel>\n          <uax:UserAccessLevel>1</uax:UserAccessLevel>\n        </Deletable>\n        <RecycleCount xmlns=\"http://opcfoundation.org/UA/\">\n          <uax:NodeClass>Variable_2</uax:NodeClass>\n          <uax:NodeId>\n            <uax:Identifier>ns=2;i=141</uax:Identifier>\n          </uax:NodeId>\n          <uax:BrowseName>\n            <uax:NamespaceIndex>0</uax:NamespaceIndex>\n            <uax:Name>RecycleCount</uax:Name>\n          </uax:BrowseName>\n          <uax:ReferenceTypeId>\n            <uax:Identifier>i=46</uax:Identifier>\n          </uax:ReferenceTypeId>\n          <uax:TypeDefinitionId>\n            <uax:Identifier>i=68</uax:Identifier>\n          </uax:TypeDefinitionId>\n          <uax:NumericId>141</uax:NumericId>\n          <uax:DataType>\n            <uax:Identifier>i=6</uax:Identifier>\n          </uax:DataType>\n          <uax:ValueRank>-1</uax:ValueRank>\n          <uax:AccessLevel>1</uax:AccessLevel>\n          <uax:UserAccessLevel>1</uax:UserAccessLevel>\n        </RecycleCount>\n        <Start xmlns=\"http://opcfoundation.org/UA/\">\n          <uax:NodeClass>Method_4</uax:NodeClass>\n          <uax:NodeId>\n            <uax:Identifier>ns=2;i=154</uax:Identifier>\n          </uax:NodeId>\n          <uax:BrowseName>\n            <uax:NamespaceIndex>0</uax:NamespaceIndex>\n            <uax:Name>Start</uax:Name>\n          </uax:BrowseName>\n          <uax:Description>\n            <uax:Locale></uax:Locale>\n            <uax:Text>Causes the Program to transition from the Ready state to the Running state.</uax:Text>\n          </uax:Description>\n          <uax:ReferenceTypeId>\n            <uax:Identifier>i=47</uax:Identifier>\n          </uax:ReferenceTypeId>\n          <uax:TypeDefinitionId>\n            <uax:Identifier>i=2426</uax:Identifier>\n          </uax:TypeDefinitionId>\n          <uax:NumericId>154</uax:NumericId>\n          <uax:Executable>true</uax:Executable>\n          <uax:UserExecutable>true</uax:UserExecutable>\n        </Start>\n        <Suspend xmlns=\"http://opcfoundation.org/UA/\">\n          <uax:NodeClass>Method_4</uax:NodeClass>\n          <uax:NodeId>\n            <uax:Identifier>ns=2;i=155</uax:Identifier>\n          </uax:NodeId>\n          <uax:BrowseName>\n            <uax:NamespaceIndex>0</uax:NamespaceIndex>\n            <uax:Name>Suspend</uax:Name>\n          </uax:BrowseName>\n          <uax:Description>\n            <uax:Locale></uax:Locale>\n            <uax:Text>Causes the Program to transition from the Running state to the Suspended state.</uax:Text>\n          </uax:Description>\n          <uax:ReferenceTypeId>\n            <uax:Identifier>i=47</uax:Identifier>\n          </uax:ReferenceTypeId>\n          <uax:TypeDefinitionId>\n            <uax:Identifier>i=2427</uax:Identifier>\n          </uax:TypeDefinitionId>\n          <uax:NumericId>155</uax:NumericId>\n          <uax:Executable>true</uax:Executable>\n          <uax:UserExecutable>true</uax:UserExecutable>\n        </Suspend>\n        <Resume xmlns=\"http://opcfoundation.org/UA/\">\n          <uax:NodeClass>Method_4</uax:NodeClass>\n          <uax:NodeId>\n            <uax:Identifier>ns=2;i=156</uax:Identifier>\n          </uax:NodeId>\n          <uax:BrowseName>\n            <uax:NamespaceIndex>0</uax:NamespaceIndex>\n            <uax:Name>Resume</uax:Name>\n          </uax:BrowseName>\n          <uax:Description>\n            <uax:Locale></uax:Locale>\n            <uax:Text>Causes the Program to transition from the Suspended state to the Running state.</uax:Text>\n          </uax:Description>\n          <uax:ReferenceTypeId>\n            <uax:Identifier>i=47</uax:Identifier>\n          </uax:ReferenceTypeId>\n          <uax:TypeDefinitionId>\n            <uax:Identifier>i=2428</uax:Identifier>\n          </uax:TypeDefinitionId>\n          <uax:NumericId>156</uax:NumericId>\n          <uax:Executable>true</uax:Executable>\n          <uax:UserExecutable>true</uax:UserExecutable>\n        </Resume>\n        <Halt xmlns=\"http://opcfoundation.org/UA/\">\n          <uax:NodeClass>Method_4</uax:NodeClass>\n          <uax:NodeId>\n            <uax:Identifier>ns=2;i=157</uax:Identifier>\n          </uax:NodeId>\n          <uax:BrowseName>\n            <uax:NamespaceIndex>0</uax:NamespaceIndex>\n            <uax:Name>Halt</uax:Name>\n          </uax:BrowseName>\n          <uax:Description>\n            <uax:Locale></uax:Locale>\n            <uax:Text>Causes the Program to transition from the Ready, Running or Suspended state to the Halted state.</uax:Text>\n          </uax:Description>\n          <uax:ReferenceTypeId>\n            <uax:Identifier>i=47</uax:Identifier>\n          </uax:ReferenceTypeId>\n          <uax:TypeDefinitionId>\n            <uax:Identifier>i=2429</uax:Identifier>\n          </uax:TypeDefinitionId>\n          <uax:NumericId>157</uax:NumericId>\n          <uax:Executable>true</uax:Executable>\n          <uax:UserExecutable>true</uax:UserExecutable>\n        </Halt>\n        <Reset xmlns=\"http://opcfoundation.org/UA/\">\n          <uax:NodeClass>Method_4</uax:NodeClass>\n          <uax:NodeId>\n            <uax:Identifier>ns=2;i=158</uax:Identifier>\n          </uax:NodeId>\n          <uax:BrowseName>\n            <uax:NamespaceIndex>0</uax:NamespaceIndex>\n            <uax:Name>Reset</uax:Name>\n          </uax:BrowseName>\n          <uax:Description>\n            <uax:Locale></uax:Locale>\n            <uax:Text>Causes the Program to transition from the Halted state to the Ready state.</uax:Text>\n          </uax:Description>\n          <uax:ReferenceTypeId>\n            <uax:Identifier>i=47</uax:Identifier>\n          </uax:ReferenceTypeId>\n          <uax:TypeDefinitionId>\n            <uax:Identifier>i=2430</uax:Identifier>\n          </uax:TypeDefinitionId>\n          <uax:NumericId>158</uax:NumericId>\n          <uax:Executable>true</uax:Executable>\n          <uax:UserExecutable>true</uax:UserExecutable>\n        </Reset>\n        <UpdateRate>\n          <uax:NodeClass>Variable_2</uax:NodeClass>\n          <uax:NodeId>\n            <uax:Identifier>ns=2;i=159</uax:Identifier>\n          </uax:NodeId>\n          <uax:BrowseName>\n            <uax:NamespaceIndex>1</uax:NamespaceIndex>\n            <uax:Name>UpdateRate</uax:Name>\n          </uax:BrowseName>\n          <uax:Description>\n            <uax:Locale></uax:Locale>\n            <uax:Text>The rate at which the simulation runs.</uax:Text>\n          </uax:Description>\n          <uax:ReferenceTypeId>\n            <uax:Identifier>i=46</uax:Identifier>\n          </uax:ReferenceTypeId>\n          <uax:TypeDefinitionId>\n            <uax:Identifier>i=68</uax:Identifier>\n          </uax:TypeDefinitionId>\n          <uax:NumericId>159</uax:NumericId>\n          <uax:DataType>\n            <uax:Identifier>i=7</uax:Identifier>\n          </uax:DataType>\n          <uax:ValueRank>-1</uax:ValueRank>\n          <uax:AccessLevel>3</uax:AccessLevel>\n          <uax:UserAccessLevel>3</uax:UserAccessLevel>\n        </UpdateRate>\n      </Simulation>\n    </BoilerAlpha>\n    <BoilerBravo>\n      <uax:NodeClass>Object_1</uax:NodeClass>\n      <uax:NodeId>\n        <uax:Identifier>ns=2;i=160</uax:Identifier>\n      </uax:NodeId>\n      <uax:BrowseName>\n        <uax:NamespaceIndex>2</uax:NamespaceIndex>\n        <uax:Name>Boiler #2</uax:Name>\n      </uax:BrowseName>\n      <uax:DisplayName>\n        <uax:Locale></uax:Locale>\n        <uax:Text>Boilers Second</uax:Text>\n      </uax:DisplayName>\n      <uax:ReferenceTypeId>\n        <uax:Identifier>i=47</uax:Identifier>\n      </uax:ReferenceTypeId>\n      <uax:TypeDefinitionId>\n        <uax:Identifier>ns=1;i=151</uax:Identifier>\n      </uax:TypeDefinitionId>\n      <uax:NumericId>160</uax:NumericId>\n      <uax:References>\n        <uax:Reference>\n          <uax:ReferenceTypeId>\n            <uax:Identifier>i=48</uax:Identifier>\n          </uax:ReferenceTypeId>\n          <uax:TargetId>\n            <uax:Identifier>ns=2;i=161</uax:Identifier>\n          </uax:TargetId>\n        </uax:Reference>\n        <uax:Reference>\n          <uax:ReferenceTypeId>\n            <uax:Identifier>i=48</uax:Identifier>\n          </uax:ReferenceTypeId>\n          <uax:TargetId>\n            <uax:Identifier>ns=2;i=176</uax:Identifier>\n          </uax:TargetId>\n        </uax:Reference>\n        <uax:Reference>\n          <uax:ReferenceTypeId>\n            <uax:Identifier>i=48</uax:Identifier>\n          </uax:ReferenceTypeId>\n          <uax:TargetId>\n            <uax:Identifier>ns=2;i=184</uax:Identifier>\n          </uax:TargetId>\n        </uax:Reference>\n        <uax:Reference>\n          <uax:ReferenceTypeId>\n            <uax:Identifier>i=36</uax:Identifier>\n          </uax:ReferenceTypeId>\n          <uax:TargetId>\n            <uax:Identifier>ns=2;i=206</uax:Identifier>\n          </uax:TargetId>\n        </uax:Reference>\n      </uax:References>\n      <InputPipe>\n        <uax:NodeClass>Object_1</uax:NodeClass>\n        <uax:NodeId>\n          <uax:Identifier>ns=2;i=161</uax:Identifier>\n        </uax:NodeId>\n        <uax:BrowseName>\n          <uax:NamespaceIndex>2</uax:NamespaceIndex>\n          <uax:Name>InputPipe</uax:Name>\n        </uax:BrowseName>\n        <uax:DisplayName>\n          <uax:Locale></uax:Locale>\n          <uax:Text>Boiler #2: Pipe1001</uax:Text>\n        </uax:DisplayName>\n        <uax:ReferenceTypeId>\n          <uax:Identifier>i=47</uax:Identifier>\n        </uax:ReferenceTypeId>\n        <uax:TypeDefinitionId>\n          <uax:Identifier>ns=1;i=120</uax:Identifier>\n        </uax:TypeDefinitionId>\n        <uax:NumericId>161</uax:NumericId>\n        <uax:EventNotifier>1</uax:EventNotifier>\n        <uax:References>\n          <uax:Reference>\n            <uax:ReferenceTypeId>\n              <uax:Identifier>i=48</uax:Identifier>\n            </uax:ReferenceTypeId>\n            <uax:IsInverse>true</uax:IsInverse>\n            <uax:TargetId>\n              <uax:Identifier>ns=2;i=160</uax:Identifier>\n            </uax:TargetId>\n          </uax:Reference>\n          <uax:Reference>\n            <uax:ReferenceTypeId>\n              <uax:Identifier>i=48</uax:Identifier>\n            </uax:ReferenceTypeId>\n            <uax:TargetId>\n              <uax:Identifier>ns=2;i=162</uax:Identifier>\n            </uax:TargetId>\n          </uax:Reference>\n          <uax:Reference>\n            <uax:ReferenceTypeId>\n              <uax:Identifier>ns=1;i=1</uax:Identifier>\n            </uax:ReferenceTypeId>\n            <uax:TargetId>\n              <uax:Identifier>ns=2;i=176</uax:Identifier>\n            </uax:TargetId>\n          </uax:Reference>\n        </uax:References>\n        <FlowTransmitter1 xmlns=\"http://tempuri.org/UA/Examples/BoilerType\">\n          <uax:NodeClass>Object_1</uax:NodeClass>\n          <uax:NodeId>\n            <uax:Identifier>ns=2;i=162</uax:Identifier>\n          </uax:NodeId>\n          <uax:BrowseName>\n            <uax:NamespaceIndex>1</uax:NamespaceIndex>\n            <uax:Name>FTX001</uax:Name>\n          </uax:BrowseName>\n          <uax:DisplayName>\n            <uax:Locale></uax:Locale>\n            <uax:Text>FlowTransmitter1</uax:Text>\n          </uax:DisplayName>\n          <uax:ReferenceTypeId>\n            <uax:Identifier>i=47</uax:Identifier>\n          </uax:ReferenceTypeId>\n          <uax:TypeDefinitionId>\n            <uax:Identifier>ns=1;i=50</uax:Identifier>\n          </uax:TypeDefinitionId>\n          <uax:NumericId>162</uax:NumericId>\n          <uax:EventNotifier>1</uax:EventNotifier>\n          <uax:References>\n            <uax:Reference>\n              <uax:ReferenceTypeId>\n                <uax:Identifier>i=48</uax:Identifier>\n              </uax:ReferenceTypeId>\n              <uax:IsInverse>true</uax:IsInverse>\n              <uax:TargetId>\n                <uax:Identifier>ns=2;i=161</uax:Identifier>\n              </uax:TargetId>\n            </uax:Reference>\n          </uax:References>\n          <Output>\n            <uax:NodeClass>Variable_2</uax:NodeClass>\n            <uax:NodeId>\n              <uax:Identifier>ns=2;i=163</uax:Identifier>\n            </uax:NodeId>\n            <uax:BrowseName>\n              <uax:NamespaceIndex>1</uax:NamespaceIndex>\n              <uax:Name>Output</uax:Name>\n            </uax:BrowseName>\n            <uax:ReferenceTypeId>\n              <uax:Identifier>i=47</uax:Identifier>\n            </uax:ReferenceTypeId>\n            <uax:TypeDefinitionId>\n              <uax:Identifier>i=2368</uax:Identifier>\n            </uax:TypeDefinitionId>\n            <uax:NumericId>163</uax:NumericId>\n            <uax:DataType>\n              <uax:Identifier>i=11</uax:Identifier>\n            </uax:DataType>\n            <uax:ValueRank>-1</uax:ValueRank>\n            <uax:AccessLevel>1</uax:AccessLevel>\n            <uax:UserAccessLevel>1</uax:UserAccessLevel>\n            <uax:References>\n              <uax:Reference>\n                <uax:ReferenceTypeId>\n                  <uax:Identifier>ns=1;i=3</uax:Identifier>\n                </uax:ReferenceTypeId>\n                <uax:TargetId>\n                  <uax:Identifier>ns=2;i=193</uax:Identifier>\n                </uax:TargetId>\n              </uax:Reference>\n              <uax:Reference>\n                <uax:ReferenceTypeId>\n                  <uax:Identifier>ns=1;i=3</uax:Identifier>\n                </uax:ReferenceTypeId>\n                <uax:TargetId>\n                  <uax:Identifier>ns=2;i=202</uax:Identifier>\n                </uax:TargetId>\n              </uax:Reference>\n            </uax:References>\n            <EURange xmlns=\"http://opcfoundation.org/UA/\">\n              <uax:NodeClass>Variable_2</uax:NodeClass>\n              <uax:NodeId>\n                <uax:Identifier>ns=2;i=167</uax:Identifier>\n              </uax:NodeId>\n              <uax:BrowseName>\n                <uax:NamespaceIndex>0</uax:NamespaceIndex>\n                <uax:Name>EURange</uax:Name>\n              </uax:BrowseName>\n              <uax:ReferenceTypeId>\n                <uax:Identifier>i=46</uax:Identifier>\n              </uax:ReferenceTypeId>\n              <uax:TypeDefinitionId>\n                <uax:Identifier>i=68</uax:Identifier>\n              </uax:TypeDefinitionId>\n              <uax:NumericId>167</uax:NumericId>\n              <uax:DataType>\n                <uax:Identifier>i=884</uax:Identifier>\n              </uax:DataType>\n              <uax:ValueRank>-1</uax:ValueRank>\n              <uax:AccessLevel>1</uax:AccessLevel>\n              <uax:UserAccessLevel>1</uax:UserAccessLevel>\n            </EURange>\n          </Output>\n        </FlowTransmitter1>\n        <Valve xmlns=\"http://tempuri.org/UA/Examples/BoilerType\">\n          <uax:NodeClass>Object_1</uax:NodeClass>\n          <uax:NodeId>\n            <uax:Identifier>ns=2;i=169</uax:Identifier>\n          </uax:NodeId>\n          <uax:BrowseName>\n            <uax:NamespaceIndex>1</uax:NamespaceIndex>\n            <uax:Name>ValveX001</uax:Name>\n          </uax:BrowseName>\n          <uax:DisplayName>\n            <uax:Locale></uax:Locale>\n            <uax:Text>Valve</uax:Text>\n          </uax:DisplayName>\n          <uax:ReferenceTypeId>\n            <uax:Identifier>i=47</uax:Identifier>\n          </uax:ReferenceTypeId>\n          <uax:TypeDefinitionId>\n            <uax:Identifier>ns=1;i=28</uax:Identifier>\n          </uax:TypeDefinitionId>\n          <uax:NumericId>169</uax:NumericId>\n          <uax:EventNotifier>1</uax:EventNotifier>\n          <Input>\n            <uax:NodeClass>Variable_2</uax:NodeClass>\n            <uax:NodeId>\n              <uax:Identifier>ns=2;i=170</uax:Identifier>\n            </uax:NodeId>\n            <uax:BrowseName>\n              <uax:NamespaceIndex>1</uax:NamespaceIndex>\n              <uax:Name>Input</uax:Name>\n            </uax:BrowseName>\n            <uax:ReferenceTypeId>\n              <uax:Identifier>i=47</uax:Identifier>\n            </uax:ReferenceTypeId>\n            <uax:TypeDefinitionId>\n              <uax:Identifier>i=2368</uax:Identifier>\n            </uax:TypeDefinitionId>\n            <uax:NumericId>170</uax:NumericId>\n            <uax:DataType>\n              <uax:Identifier>i=11</uax:Identifier>\n            </uax:DataType>\n            <uax:ValueRank>-1</uax:ValueRank>\n            <uax:AccessLevel>2</uax:AccessLevel>\n            <uax:UserAccessLevel>2</uax:UserAccessLevel>\n            <uax:References>\n              <uax:Reference>\n                <uax:ReferenceTypeId>\n                  <uax:Identifier>ns=1;i=3</uax:Identifier>\n                </uax:ReferenceTypeId>\n                <uax:IsInverse>true</uax:IsInverse>\n                <uax:TargetId>\n                  <uax:Identifier>ns=2;i=195</uax:Identifier>\n                </uax:TargetId>\n              </uax:Reference>\n            </uax:References>\n            <EURange xmlns=\"http://opcfoundation.org/UA/\">\n              <uax:NodeClass>Variable_2</uax:NodeClass>\n              <uax:NodeId>\n                <uax:Identifier>ns=2;i=174</uax:Identifier>\n              </uax:NodeId>\n              <uax:BrowseName>\n                <uax:NamespaceIndex>0</uax:NamespaceIndex>\n                <uax:Name>EURange</uax:Name>\n              </uax:BrowseName>\n              <uax:ReferenceTypeId>\n                <uax:Identifier>i=46</uax:Identifier>\n              </uax:ReferenceTypeId>\n              <uax:TypeDefinitionId>\n                <uax:Identifier>i=68</uax:Identifier>\n              </uax:TypeDefinitionId>\n              <uax:NumericId>174</uax:NumericId>\n              <uax:DataType>\n                <uax:Identifier>i=884</uax:Identifier>\n              </uax:DataType>\n              <uax:ValueRank>-1</uax:ValueRank>\n              <uax:AccessLevel>1</uax:AccessLevel>\n              <uax:UserAccessLevel>1</uax:UserAccessLevel>\n            </EURange>\n          </Input>\n        </Valve>\n      </InputPipe>\n      <Drum>\n        <uax:NodeClass>Object_1</uax:NodeClass>\n        <uax:NodeId>\n          <uax:Identifier>ns=2;i=176</uax:Identifier>\n        </uax:NodeId>\n        <uax:BrowseName>\n          <uax:NamespaceIndex>2</uax:NamespaceIndex>\n          <uax:Name>Drum</uax:Name>\n        </uax:BrowseName>\n        <uax:DisplayName>\n          <uax:Locale></uax:Locale>\n          <uax:Text>Boiler #2: Drum1001</uax:Text>\n        </uax:DisplayName>\n        <uax:ReferenceTypeId>\n          <uax:Identifier>i=47</uax:Identifier>\n        </uax:ReferenceTypeId>\n        <uax:TypeDefinitionId>\n          <uax:Identifier>ns=1;i=135</uax:Identifier>\n        </uax:TypeDefinitionId>\n        <uax:NumericId>176</uax:NumericId>\n        <uax:EventNotifier>1</uax:EventNotifier>\n        <uax:References>\n          <uax:Reference>\n            <uax:ReferenceTypeId>\n              <uax:Identifier>i=48</uax:Identifier>\n            </uax:ReferenceTypeId>\n            <uax:IsInverse>true</uax:IsInverse>\n            <uax:TargetId>\n              <uax:Identifier>ns=2;i=160</uax:Identifier>\n            </uax:TargetId>\n          </uax:Reference>\n          <uax:Reference>\n            <uax:ReferenceTypeId>\n              <uax:Identifier>ns=1;i=1</uax:Identifier>\n            </uax:ReferenceTypeId>\n            <uax:IsInverse>true</uax:IsInverse>\n            <uax:TargetId>\n              <uax:Identifier>ns=2;i=161</uax:Identifier>\n            </uax:TargetId>\n          </uax:Reference>\n          <uax:Reference>\n            <uax:ReferenceTypeId>\n              <uax:Identifier>i=48</uax:Identifier>\n            </uax:ReferenceTypeId>\n            <uax:TargetId>\n              <uax:Identifier>ns=2;i=177</uax:Identifier>\n            </uax:TargetId>\n          </uax:Reference>\n          <uax:Reference>\n            <uax:ReferenceTypeId>\n              <uax:Identifier>ns=1;i=2</uax:Identifier>\n            </uax:ReferenceTypeId>\n            <uax:TargetId>\n              <uax:Identifier>ns=2;i=184</uax:Identifier>\n            </uax:TargetId>\n          </uax:Reference>\n        </uax:References>\n        <LevelIndicator xmlns=\"http://tempuri.org/UA/Examples/BoilerType\">\n          <uax:NodeClass>Object_1</uax:NodeClass>\n          <uax:NodeId>\n            <uax:Identifier>ns=2;i=177</uax:Identifier>\n          </uax:NodeId>\n          <uax:BrowseName>\n            <uax:NamespaceIndex>1</uax:NamespaceIndex>\n            <uax:Name>LIX001</uax:Name>\n          </uax:BrowseName>\n          <uax:ReferenceTypeId>\n            <uax:Identifier>i=47</uax:Identifier>\n          </uax:ReferenceTypeId>\n          <uax:TypeDefinitionId>\n            <uax:Identifier>ns=1;i=43</uax:Identifier>\n          </uax:TypeDefinitionId>\n          <uax:NumericId>177</uax:NumericId>\n          <uax:EventNotifier>1</uax:EventNotifier>\n          <uax:References>\n            <uax:Reference>\n              <uax:ReferenceTypeId>\n                <uax:Identifier>i=48</uax:Identifier>\n              </uax:ReferenceTypeId>\n              <uax:IsInverse>true</uax:IsInverse>\n              <uax:TargetId>\n                <uax:Identifier>ns=2;i=176</uax:Identifier>\n              </uax:TargetId>\n            </uax:Reference>\n          </uax:References>\n          <Output>\n            <uax:NodeClass>Variable_2</uax:NodeClass>\n            <uax:NodeId>\n              <uax:Identifier>ns=2;i=178</uax:Identifier>\n            </uax:NodeId>\n            <uax:BrowseName>\n              <uax:NamespaceIndex>1</uax:NamespaceIndex>\n              <uax:Name>Output</uax:Name>\n            </uax:BrowseName>\n            <uax:ReferenceTypeId>\n              <uax:Identifier>i=47</uax:Identifier>\n            </uax:ReferenceTypeId>\n            <uax:TypeDefinitionId>\n              <uax:Identifier>i=2368</uax:Identifier>\n            </uax:TypeDefinitionId>\n            <uax:NumericId>178</uax:NumericId>\n            <uax:DataType>\n              <uax:Identifier>i=26</uax:Identifier>\n            </uax:DataType>\n            <uax:ValueRank>-1</uax:ValueRank>\n            <uax:AccessLevel>1</uax:AccessLevel>\n            <uax:UserAccessLevel>1</uax:UserAccessLevel>\n            <uax:References>\n              <uax:Reference>\n                <uax:ReferenceTypeId>\n                  <uax:Identifier>ns=1;i=3</uax:Identifier>\n                </uax:ReferenceTypeId>\n                <uax:TargetId>\n                  <uax:Identifier>ns=2;i=197</uax:Identifier>\n                </uax:TargetId>\n              </uax:Reference>\n            </uax:References>\n            <EURange xmlns=\"http://opcfoundation.org/UA/\">\n              <uax:NodeClass>Variable_2</uax:NodeClass>\n              <uax:NodeId>\n                <uax:Identifier>ns=2;i=182</uax:Identifier>\n              </uax:NodeId>\n              <uax:BrowseName>\n                <uax:NamespaceIndex>0</uax:NamespaceIndex>\n                <uax:Name>EURange</uax:Name>\n              </uax:BrowseName>\n              <uax:ReferenceTypeId>\n                <uax:Identifier>i=46</uax:Identifier>\n              </uax:ReferenceTypeId>\n              <uax:TypeDefinitionId>\n                <uax:Identifier>i=68</uax:Identifier>\n              </uax:TypeDefinitionId>\n              <uax:NumericId>182</uax:NumericId>\n              <uax:DataType>\n                <uax:Identifier>i=884</uax:Identifier>\n              </uax:DataType>\n              <uax:ValueRank>-1</uax:ValueRank>\n              <uax:AccessLevel>1</uax:AccessLevel>\n              <uax:UserAccessLevel>1</uax:UserAccessLevel>\n            </EURange>\n          </Output>\n        </LevelIndicator>\n      </Drum>\n      <OutputPipe>\n        <uax:NodeClass>Object_1</uax:NodeClass>\n        <uax:NodeId>\n          <uax:Identifier>ns=2;i=184</uax:Identifier>\n        </uax:NodeId>\n        <uax:BrowseName>\n          <uax:NamespaceIndex>2</uax:NamespaceIndex>\n          <uax:Name>OutputPipe</uax:Name>\n        </uax:BrowseName>\n        <uax:DisplayName>\n          <uax:Locale></uax:Locale>\n          <uax:Text>Boiler #2: Pipe1002</uax:Text>\n        </uax:DisplayName>\n        <uax:ReferenceTypeId>\n          <uax:Identifier>i=47</uax:Identifier>\n        </uax:ReferenceTypeId>\n        <uax:TypeDefinitionId>\n          <uax:Identifier>ns=1;i=143</uax:Identifier>\n        </uax:TypeDefinitionId>\n        <uax:NumericId>184</uax:NumericId>\n        <uax:EventNotifier>1</uax:EventNotifier>\n        <uax:References>\n          <uax:Reference>\n            <uax:ReferenceTypeId>\n              <uax:Identifier>i=48</uax:Identifier>\n            </uax:ReferenceTypeId>\n            <uax:IsInverse>true</uax:IsInverse>\n            <uax:TargetId>\n              <uax:Identifier>ns=2;i=160</uax:Identifier>\n            </uax:TargetId>\n          </uax:Reference>\n          <uax:Reference>\n            <uax:ReferenceTypeId>\n              <uax:Identifier>ns=1;i=2</uax:Identifier>\n            </uax:ReferenceTypeId>\n            <uax:IsInverse>true</uax:IsInverse>\n            <uax:TargetId>\n              <uax:Identifier>ns=2;i=176</uax:Identifier>\n            </uax:TargetId>\n          </uax:Reference>\n          <uax:Reference>\n            <uax:ReferenceTypeId>\n              <uax:Identifier>i=48</uax:Identifier>\n            </uax:ReferenceTypeId>\n            <uax:TargetId>\n              <uax:Identifier>ns=2;i=185</uax:Identifier>\n            </uax:TargetId>\n          </uax:Reference>\n        </uax:References>\n        <FlowTransmitter2 xmlns=\"http://tempuri.org/UA/Examples/BoilerType\">\n          <uax:NodeClass>Object_1</uax:NodeClass>\n          <uax:NodeId>\n            <uax:Identifier>ns=2;i=185</uax:Identifier>\n          </uax:NodeId>\n          <uax:BrowseName>\n            <uax:NamespaceIndex>1</uax:NamespaceIndex>\n            <uax:Name>FTX002</uax:Name>\n          </uax:BrowseName>\n          <uax:ReferenceTypeId>\n            <uax:Identifier>i=47</uax:Identifier>\n          </uax:ReferenceTypeId>\n          <uax:TypeDefinitionId>\n            <uax:Identifier>ns=1;i=50</uax:Identifier>\n          </uax:TypeDefinitionId>\n          <uax:NumericId>185</uax:NumericId>\n          <uax:EventNotifier>1</uax:EventNotifier>\n          <uax:References>\n            <uax:Reference>\n              <uax:ReferenceTypeId>\n                <uax:Identifier>i=48</uax:Identifier>\n              </uax:ReferenceTypeId>\n              <uax:IsInverse>true</uax:IsInverse>\n              <uax:TargetId>\n                <uax:Identifier>ns=2;i=184</uax:Identifier>\n              </uax:TargetId>\n            </uax:Reference>\n          </uax:References>\n          <Output>\n            <uax:NodeClass>Variable_2</uax:NodeClass>\n            <uax:NodeId>\n              <uax:Identifier>ns=2;i=186</uax:Identifier>\n            </uax:NodeId>\n            <uax:BrowseName>\n              <uax:NamespaceIndex>1</uax:NamespaceIndex>\n              <uax:Name>Output</uax:Name>\n            </uax:BrowseName>\n            <uax:ReferenceTypeId>\n              <uax:Identifier>i=47</uax:Identifier>\n            </uax:ReferenceTypeId>\n            <uax:TypeDefinitionId>\n              <uax:Identifier>i=2368</uax:Identifier>\n            </uax:TypeDefinitionId>\n            <uax:NumericId>186</uax:NumericId>\n            <uax:DataType>\n              <uax:Identifier>i=11</uax:Identifier>\n            </uax:DataType>\n            <uax:ValueRank>-1</uax:ValueRank>\n            <uax:AccessLevel>1</uax:AccessLevel>\n            <uax:UserAccessLevel>1</uax:UserAccessLevel>\n            <uax:References>\n              <uax:Reference>\n                <uax:ReferenceTypeId>\n                  <uax:Identifier>ns=1;i=3</uax:Identifier>\n                </uax:ReferenceTypeId>\n                <uax:TargetId>\n                  <uax:Identifier>ns=2;i=203</uax:Identifier>\n                </uax:TargetId>\n              </uax:Reference>\n            </uax:References>\n            <EURange xmlns=\"http://opcfoundation.org/UA/\">\n              <uax:NodeClass>Variable_2</uax:NodeClass>\n              <uax:NodeId>\n                <uax:Identifier>ns=2;i=190</uax:Identifier>\n              </uax:NodeId>\n              <uax:BrowseName>\n                <uax:NamespaceIndex>0</uax:NamespaceIndex>\n                <uax:Name>EURange</uax:Name>\n              </uax:BrowseName>\n              <uax:ReferenceTypeId>\n                <uax:Identifier>i=46</uax:Identifier>\n              </uax:ReferenceTypeId>\n              <uax:TypeDefinitionId>\n                <uax:Identifier>i=68</uax:Identifier>\n              </uax:TypeDefinitionId>\n              <uax:NumericId>190</uax:NumericId>\n              <uax:DataType>\n                <uax:Identifier>i=884</uax:Identifier>\n              </uax:DataType>\n              <uax:ValueRank>-1</uax:ValueRank>\n              <uax:AccessLevel>1</uax:AccessLevel>\n              <uax:UserAccessLevel>1</uax:UserAccessLevel>\n            </EURange>\n          </Output>\n        </FlowTransmitter2>\n      </OutputPipe>\n      <FlowController>\n        <uax:NodeClass>Object_1</uax:NodeClass>\n        <uax:NodeId>\n          <uax:Identifier>ns=2;i=192</uax:Identifier>\n        </uax:NodeId>\n        <uax:BrowseName>\n          <uax:NamespaceIndex>2</uax:NamespaceIndex>\n          <uax:Name>FlowController</uax:Name>\n        </uax:BrowseName>\n        <uax:DisplayName>\n          <uax:Locale></uax:Locale>\n          <uax:Text>Boiler #2: FC1001</uax:Text>\n        </uax:DisplayName>\n        <uax:ReferenceTypeId>\n          <uax:Identifier>i=47</uax:Identifier>\n        </uax:ReferenceTypeId>\n        <uax:TypeDefinitionId>\n          <uax:Identifier>ns=1;i=39</uax:Identifier>\n        </uax:TypeDefinitionId>\n        <uax:NumericId>192</uax:NumericId>\n        <Measurement xmlns=\"http://tempuri.org/UA/Examples/BoilerType\">\n          <uax:NodeClass>Variable_2</uax:NodeClass>\n          <uax:NodeId>\n            <uax:Identifier>ns=2;i=193</uax:Identifier>\n          </uax:NodeId>\n          <uax:BrowseName>\n            <uax:NamespaceIndex>1</uax:NamespaceIndex>\n            <uax:Name>Measurement</uax:Name>\n          </uax:BrowseName>\n          <uax:ReferenceTypeId>\n            <uax:Identifier>i=46</uax:Identifier>\n          </uax:ReferenceTypeId>\n          <uax:TypeDefinitionId>\n            <uax:Identifier>i=68</uax:Identifier>\n          </uax:TypeDefinitionId>\n          <uax:NumericId>193</uax:NumericId>\n          <uax:DataType>\n            <uax:Identifier>i=11</uax:Identifier>\n          </uax:DataType>\n          <uax:ValueRank>-1</uax:ValueRank>\n          <uax:AccessLevel>1</uax:AccessLevel>\n          <uax:UserAccessLevel>1</uax:UserAccessLevel>\n          <uax:References>\n            <uax:Reference>\n              <uax:ReferenceTypeId>\n                <uax:Identifier>ns=1;i=3</uax:Identifier>\n              </uax:ReferenceTypeId>\n              <uax:IsInverse>true</uax:IsInverse>\n              <uax:TargetId>\n                <uax:Identifier>ns=2;i=163</uax:Identifier>\n              </uax:TargetId>\n            </uax:Reference>\n          </uax:References>\n        </Measurement>\n        <SetPoint xmlns=\"http://tempuri.org/UA/Examples/BoilerType\">\n          <uax:NodeClass>Variable_2</uax:NodeClass>\n          <uax:NodeId>\n            <uax:Identifier>ns=2;i=194</uax:Identifier>\n          </uax:NodeId>\n          <uax:BrowseName>\n            <uax:NamespaceIndex>1</uax:NamespaceIndex>\n            <uax:Name>SetPoint</uax:Name>\n          </uax:BrowseName>\n          <uax:ReferenceTypeId>\n            <uax:Identifier>i=46</uax:Identifier>\n          </uax:ReferenceTypeId>\n          <uax:TypeDefinitionId>\n            <uax:Identifier>i=68</uax:Identifier>\n          </uax:TypeDefinitionId>\n          <uax:NumericId>194</uax:NumericId>\n          <uax:DataType>\n            <uax:Identifier>i=11</uax:Identifier>\n          </uax:DataType>\n          <uax:ValueRank>-1</uax:ValueRank>\n          <uax:AccessLevel>3</uax:AccessLevel>\n          <uax:UserAccessLevel>3</uax:UserAccessLevel>\n          <uax:References>\n            <uax:Reference>\n              <uax:ReferenceTypeId>\n                <uax:Identifier>ns=1;i=3</uax:Identifier>\n              </uax:ReferenceTypeId>\n              <uax:IsInverse>true</uax:IsInverse>\n              <uax:TargetId>\n                <uax:Identifier>ns=2;i=204</uax:Identifier>\n              </uax:TargetId>\n            </uax:Reference>\n          </uax:References>\n        </SetPoint>\n        <ControlOut xmlns=\"http://tempuri.org/UA/Examples/BoilerType\">\n          <uax:NodeClass>Variable_2</uax:NodeClass>\n          <uax:NodeId>\n            <uax:Identifier>ns=2;i=195</uax:Identifier>\n          </uax:NodeId>\n          <uax:BrowseName>\n            <uax:NamespaceIndex>1</uax:NamespaceIndex>\n            <uax:Name>ControlOut</uax:Name>\n          </uax:BrowseName>\n          <uax:ReferenceTypeId>\n            <uax:Identifier>i=46</uax:Identifier>\n          </uax:ReferenceTypeId>\n          <uax:TypeDefinitionId>\n            <uax:Identifier>i=68</uax:Identifier>\n          </uax:TypeDefinitionId>\n          <uax:NumericId>195</uax:NumericId>\n          <uax:DataType>\n            <uax:Identifier>i=11</uax:Identifier>\n          </uax:DataType>\n          <uax:ValueRank>-1</uax:ValueRank>\n          <uax:AccessLevel>1</uax:AccessLevel>\n          <uax:UserAccessLevel>1</uax:UserAccessLevel>\n          <uax:References>\n            <uax:Reference>\n              <uax:ReferenceTypeId>\n                <uax:Identifier>ns=1;i=3</uax:Identifier>\n              </uax:ReferenceTypeId>\n              <uax:TargetId>\n                <uax:Identifier>ns=2;i=170</uax:Identifier>\n              </uax:TargetId>\n            </uax:Reference>\n          </uax:References>\n        </ControlOut>\n      </FlowController>\n      <LevelController>\n        <uax:NodeClass>Object_1</uax:NodeClass>\n        <uax:NodeId>\n          <uax:Identifier>ns=2;i=196</uax:Identifier>\n        </uax:NodeId>\n        <uax:BrowseName>\n          <uax:NamespaceIndex>2</uax:NamespaceIndex>\n          <uax:Name>LevelController</uax:Name>\n        </uax:BrowseName>\n        <uax:DisplayName>\n          <uax:Locale></uax:Locale>\n          <uax:Text>Boiler #2: LC1001</uax:Text>\n        </uax:DisplayName>\n        <uax:ReferenceTypeId>\n          <uax:Identifier>i=47</uax:Identifier>\n        </uax:ReferenceTypeId>\n        <uax:TypeDefinitionId>\n          <uax:Identifier>ns=1;i=35</uax:Identifier>\n        </uax:TypeDefinitionId>\n        <uax:NumericId>196</uax:NumericId>\n        <Measurement xmlns=\"http://tempuri.org/UA/Examples/BoilerType\">\n          <uax:NodeClass>Variable_2</uax:NodeClass>\n          <uax:NodeId>\n            <uax:Identifier>ns=2;i=197</uax:Identifier>\n          </uax:NodeId>\n          <uax:BrowseName>\n            <uax:NamespaceIndex>1</uax:NamespaceIndex>\n            <uax:Name>Measurement</uax:Name>\n          </uax:BrowseName>\n          <uax:ReferenceTypeId>\n            <uax:Identifier>i=46</uax:Identifier>\n          </uax:ReferenceTypeId>\n          <uax:TypeDefinitionId>\n            <uax:Identifier>i=68</uax:Identifier>\n          </uax:TypeDefinitionId>\n          <uax:NumericId>197</uax:NumericId>\n          <uax:DataType>\n            <uax:Identifier>i=11</uax:Identifier>\n          </uax:DataType>\n          <uax:ValueRank>-1</uax:ValueRank>\n          <uax:AccessLevel>1</uax:AccessLevel>\n          <uax:UserAccessLevel>1</uax:UserAccessLevel>\n          <uax:References>\n            <uax:Reference>\n              <uax:ReferenceTypeId>\n                <uax:Identifier>ns=1;i=3</uax:Identifier>\n              </uax:ReferenceTypeId>\n              <uax:IsInverse>true</uax:IsInverse>\n              <uax:TargetId>\n                <uax:Identifier>ns=2;i=178</uax:Identifier>\n              </uax:TargetId>\n            </uax:Reference>\n          </uax:References>\n        </Measurement>\n        <SetPoint xmlns=\"http://tempuri.org/UA/Examples/BoilerType\">\n          <uax:NodeClass>Variable_2</uax:NodeClass>\n          <uax:NodeId>\n            <uax:Identifier>ns=2;i=198</uax:Identifier>\n          </uax:NodeId>\n          <uax:BrowseName>\n            <uax:NamespaceIndex>1</uax:NamespaceIndex>\n            <uax:Name>SetPoint</uax:Name>\n          </uax:BrowseName>\n          <uax:ReferenceTypeId>\n            <uax:Identifier>i=46</uax:Identifier>\n          </uax:ReferenceTypeId>\n          <uax:TypeDefinitionId>\n            <uax:Identifier>i=68</uax:Identifier>\n          </uax:TypeDefinitionId>\n          <uax:NumericId>198</uax:NumericId>\n          <uax:DataType>\n            <uax:Identifier>i=11</uax:Identifier>\n          </uax:DataType>\n          <uax:ValueRank>-1</uax:ValueRank>\n          <uax:AccessLevel>3</uax:AccessLevel>\n          <uax:UserAccessLevel>3</uax:UserAccessLevel>\n        </SetPoint>\n        <ControlOut xmlns=\"http://tempuri.org/UA/Examples/BoilerType\">\n          <uax:NodeClass>Variable_2</uax:NodeClass>\n          <uax:NodeId>\n            <uax:Identifier>ns=2;i=199</uax:Identifier>\n          </uax:NodeId>\n          <uax:BrowseName>\n            <uax:NamespaceIndex>1</uax:NamespaceIndex>\n            <uax:Name>ControlOut</uax:Name>\n          </uax:BrowseName>\n          <uax:ReferenceTypeId>\n            <uax:Identifier>i=46</uax:Identifier>\n          </uax:ReferenceTypeId>\n          <uax:TypeDefinitionId>\n            <uax:Identifier>i=68</uax:Identifier>\n          </uax:TypeDefinitionId>\n          <uax:NumericId>199</uax:NumericId>\n          <uax:DataType>\n            <uax:Identifier>i=11</uax:Identifier>\n          </uax:DataType>\n          <uax:ValueRank>-1</uax:ValueRank>\n          <uax:AccessLevel>1</uax:AccessLevel>\n          <uax:UserAccessLevel>1</uax:UserAccessLevel>\n          <uax:References>\n            <uax:Reference>\n              <uax:ReferenceTypeId>\n                <uax:Identifier>ns=1;i=3</uax:Identifier>\n              </uax:ReferenceTypeId>\n              <uax:TargetId>\n                <uax:Identifier>ns=2;i=201</uax:Identifier>\n              </uax:TargetId>\n            </uax:Reference>\n          </uax:References>\n        </ControlOut>\n      </LevelController>\n      <CustomController>\n        <uax:NodeClass>Object_1</uax:NodeClass>\n        <uax:NodeId>\n          <uax:Identifier>ns=2;i=200</uax:Identifier>\n        </uax:NodeId>\n        <uax:BrowseName>\n          <uax:NamespaceIndex>2</uax:NamespaceIndex>\n          <uax:Name>CustomController</uax:Name>\n        </uax:BrowseName>\n        <uax:DisplayName>\n          <uax:Locale></uax:Locale>\n          <uax:Text>Boiler #2: CC1001</uax:Text>\n        </uax:DisplayName>\n        <uax:ReferenceTypeId>\n          <uax:Identifier>i=47</uax:Identifier>\n        </uax:ReferenceTypeId>\n        <uax:TypeDefinitionId>\n          <uax:Identifier>ns=1;i=22</uax:Identifier>\n        </uax:TypeDefinitionId>\n        <uax:NumericId>200</uax:NumericId>\n        <Input1 xmlns=\"http://tempuri.org/UA/Examples/BoilerType\">\n          <uax:NodeClass>Variable_2</uax:NodeClass>\n          <uax:NodeId>\n            <uax:Identifier>ns=2;i=201</uax:Identifier>\n          </uax:NodeId>\n          <uax:BrowseName>\n            <uax:NamespaceIndex>1</uax:NamespaceIndex>\n            <uax:Name>Input1</uax:Name>\n          </uax:BrowseName>\n          <uax:ReferenceTypeId>\n            <uax:Identifier>i=46</uax:Identifier>\n          </uax:ReferenceTypeId>\n          <uax:TypeDefinitionId>\n            <uax:Identifier>i=68</uax:Identifier>\n          </uax:TypeDefinitionId>\n          <uax:NumericId>201</uax:NumericId>\n          <uax:DataType>\n            <uax:Identifier>i=11</uax:Identifier>\n          </uax:DataType>\n          <uax:ValueRank>-1</uax:ValueRank>\n          <uax:AccessLevel>2</uax:AccessLevel>\n          <uax:UserAccessLevel>2</uax:UserAccessLevel>\n          <uax:References>\n            <uax:Reference>\n              <uax:ReferenceTypeId>\n                <uax:Identifier>ns=1;i=3</uax:Identifier>\n              </uax:ReferenceTypeId>\n              <uax:IsInverse>true</uax:IsInverse>\n              <uax:TargetId>\n                <uax:Identifier>ns=2;i=199</uax:Identifier>\n              </uax:TargetId>\n            </uax:Reference>\n          </uax:References>\n        </Input1>\n        <Input2 xmlns=\"http://tempuri.org/UA/Examples/BoilerType\">\n          <uax:NodeClass>Variable_2</uax:NodeClass>\n          <uax:NodeId>\n            <uax:Identifier>ns=2;i=202</uax:Identifier>\n          </uax:NodeId>\n          <uax:BrowseName>\n            <uax:NamespaceIndex>1</uax:NamespaceIndex>\n            <uax:Name>Input2</uax:Name>\n          </uax:BrowseName>\n          <uax:ReferenceTypeId>\n            <uax:Identifier>i=46</uax:Identifier>\n          </uax:ReferenceTypeId>\n          <uax:TypeDefinitionId>\n            <uax:Identifier>i=68</uax:Identifier>\n          </uax:TypeDefinitionId>\n          <uax:NumericId>202</uax:NumericId>\n          <uax:DataType>\n            <uax:Identifier>i=11</uax:Identifier>\n          </uax:DataType>\n          <uax:ValueRank>-1</uax:ValueRank>\n          <uax:AccessLevel>2</uax:AccessLevel>\n          <uax:UserAccessLevel>2</uax:UserAccessLevel>\n          <uax:References>\n            <uax:Reference>\n              <uax:ReferenceTypeId>\n                <uax:Identifier>ns=1;i=3</uax:Identifier>\n              </uax:ReferenceTypeId>\n              <uax:IsInverse>true</uax:IsInverse>\n              <uax:TargetId>\n                <uax:Identifier>ns=2;i=163</uax:Identifier>\n              </uax:TargetId>\n            </uax:Reference>\n          </uax:References>\n        </Input2>\n        <Input3 xmlns=\"http://tempuri.org/UA/Examples/BoilerType\">\n          <uax:NodeClass>Variable_2</uax:NodeClass>\n          <uax:NodeId>\n            <uax:Identifier>ns=2;i=203</uax:Identifier>\n          </uax:NodeId>\n          <uax:BrowseName>\n            <uax:NamespaceIndex>1</uax:NamespaceIndex>\n            <uax:Name>Input3</uax:Name>\n          </uax:BrowseName>\n          <uax:ReferenceTypeId>\n            <uax:Identifier>i=46</uax:Identifier>\n          </uax:ReferenceTypeId>\n          <uax:TypeDefinitionId>\n            <uax:Identifier>i=68</uax:Identifier>\n          </uax:TypeDefinitionId>\n          <uax:NumericId>203</uax:NumericId>\n          <uax:DataType>\n            <uax:Identifier>i=11</uax:Identifier>\n          </uax:DataType>\n          <uax:ValueRank>-1</uax:ValueRank>\n          <uax:AccessLevel>2</uax:AccessLevel>\n          <uax:UserAccessLevel>2</uax:UserAccessLevel>\n          <uax:References>\n            <uax:Reference>\n              <uax:ReferenceTypeId>\n                <uax:Identifier>ns=1;i=3</uax:Identifier>\n              </uax:ReferenceTypeId>\n              <uax:IsInverse>true</uax:IsInverse>\n              <uax:TargetId>\n                <uax:Identifier>ns=2;i=186</uax:Identifier>\n              </uax:TargetId>\n            </uax:Reference>\n          </uax:References>\n        </Input3>\n        <ControlOut xmlns=\"http://tempuri.org/UA/Examples/BoilerType\">\n          <uax:NodeClass>Variable_2</uax:NodeClass>\n          <uax:NodeId>\n            <uax:Identifier>ns=2;i=204</uax:Identifier>\n          </uax:NodeId>\n          <uax:BrowseName>\n            <uax:NamespaceIndex>1</uax:NamespaceIndex>\n            <uax:Name>ControlOut</uax:Name>\n          </uax:BrowseName>\n          <uax:ReferenceTypeId>\n            <uax:Identifier>i=46</uax:Identifier>\n          </uax:ReferenceTypeId>\n          <uax:TypeDefinitionId>\n            <uax:Identifier>i=68</uax:Identifier>\n          </uax:TypeDefinitionId>\n          <uax:NumericId>204</uax:NumericId>\n          <uax:DataType>\n            <uax:Identifier>i=11</uax:Identifier>\n          </uax:DataType>\n          <uax:ValueRank>-1</uax:ValueRank>\n          <uax:AccessLevel>1</uax:AccessLevel>\n          <uax:UserAccessLevel>1</uax:UserAccessLevel>\n          <uax:References>\n            <uax:Reference>\n              <uax:ReferenceTypeId>\n                <uax:Identifier>ns=1;i=3</uax:Identifier>\n              </uax:ReferenceTypeId>\n              <uax:TargetId>\n                <uax:Identifier>ns=2;i=194</uax:Identifier>\n              </uax:TargetId>\n            </uax:Reference>\n          </uax:References>\n        </ControlOut>\n        <DescriptionX xmlns=\"http://tempuri.org/UA/Examples/BoilerType\">\n          <uax:NodeClass>Variable_2</uax:NodeClass>\n          <uax:NodeId>\n            <uax:Identifier>ns=2;i=205</uax:Identifier>\n          </uax:NodeId>\n          <uax:BrowseName>\n            <uax:NamespaceIndex>1</uax:NamespaceIndex>\n            <uax:Name>Description</uax:Name>\n          </uax:BrowseName>\n          <uax:ReferenceTypeId>\n            <uax:Identifier>i=46</uax:Identifier>\n          </uax:ReferenceTypeId>\n          <uax:TypeDefinitionId>\n            <uax:Identifier>i=68</uax:Identifier>\n          </uax:TypeDefinitionId>\n          <uax:NumericId>205</uax:NumericId>\n          <uax:DataType>\n            <uax:Identifier>i=21</uax:Identifier>\n          </uax:DataType>\n          <uax:ValueRank>-1</uax:ValueRank>\n          <uax:AccessLevel>1</uax:AccessLevel>\n          <uax:UserAccessLevel>1</uax:UserAccessLevel>\n        </DescriptionX>\n      </CustomController>\n      <Simulation xmlns=\"http://tempuri.org/UA/Examples/BoilerType\">\n        <uax:NodeClass>Object_1</uax:NodeClass>\n        <uax:NodeId>\n          <uax:Identifier>ns=2;i=206</uax:Identifier>\n        </uax:NodeId>\n        <uax:BrowseName>\n          <uax:NamespaceIndex>1</uax:NamespaceIndex>\n          <uax:Name>Simulation</uax:Name>\n        </uax:BrowseName>\n        <uax:ReferenceTypeId>\n          <uax:Identifier>i=47</uax:Identifier>\n        </uax:ReferenceTypeId>\n        <uax:TypeDefinitionId>\n          <uax:Identifier>ns=1;i=57</uax:Identifier>\n        </uax:TypeDefinitionId>\n        <uax:NumericId>206</uax:NumericId>\n        <uax:EventNotifier>1</uax:EventNotifier>\n        <uax:References>\n          <uax:Reference>\n            <uax:ReferenceTypeId>\n              <uax:Identifier>i=36</uax:Identifier>\n            </uax:ReferenceTypeId>\n            <uax:IsInverse>true</uax:IsInverse>\n            <uax:TargetId>\n              <uax:Identifier>ns=2;i=160</uax:Identifier>\n            </uax:TargetId>\n          </uax:Reference>\n        </uax:References>\n        <CurrentState xmlns=\"http://opcfoundation.org/UA/\">\n          <uax:NodeClass>Variable_2</uax:NodeClass>\n          <uax:NodeId>\n            <uax:Identifier>ns=2;i=207</uax:Identifier>\n          </uax:NodeId>\n          <uax:BrowseName>\n            <uax:NamespaceIndex>0</uax:NamespaceIndex>\n            <uax:Name>CurrentState</uax:Name>\n          </uax:BrowseName>\n          <uax:ReferenceTypeId>\n            <uax:Identifier>i=47</uax:Identifier>\n          </uax:ReferenceTypeId>\n          <uax:TypeDefinitionId>\n            <uax:Identifier>i=2760</uax:Identifier>\n          </uax:TypeDefinitionId>\n          <uax:NumericId>207</uax:NumericId>\n          <uax:DataType>\n            <uax:Identifier>i=21</uax:Identifier>\n          </uax:DataType>\n          <uax:ValueRank>-1</uax:ValueRank>\n          <uax:AccessLevel>1</uax:AccessLevel>\n          <uax:UserAccessLevel>1</uax:UserAccessLevel>\n          <Id>\n            <uax:NodeClass>Variable_2</uax:NodeClass>\n            <uax:NodeId>\n              <uax:Identifier>ns=2;i=208</uax:Identifier>\n            </uax:NodeId>\n            <uax:BrowseName>\n              <uax:NamespaceIndex>0</uax:NamespaceIndex>\n              <uax:Name>Id</uax:Name>\n            </uax:BrowseName>\n            <uax:ReferenceTypeId>\n              <uax:Identifier>i=46</uax:Identifier>\n            </uax:ReferenceTypeId>\n            <uax:TypeDefinitionId>\n              <uax:Identifier>i=68</uax:Identifier>\n            </uax:TypeDefinitionId>\n            <uax:NumericId>208</uax:NumericId>\n            <uax:DataType>\n              <uax:Identifier>i=17</uax:Identifier>\n            </uax:DataType>\n            <uax:ValueRank>-1</uax:ValueRank>\n            <uax:AccessLevel>1</uax:AccessLevel>\n            <uax:UserAccessLevel>1</uax:UserAccessLevel>\n          </Id>\n          <Number>\n            <uax:NodeClass>Variable_2</uax:NodeClass>\n            <uax:NodeId>\n              <uax:Identifier>ns=2;i=210</uax:Identifier>\n            </uax:NodeId>\n            <uax:BrowseName>\n              <uax:NamespaceIndex>0</uax:NamespaceIndex>\n              <uax:Name>Number</uax:Name>\n            </uax:BrowseName>\n            <uax:ReferenceTypeId>\n              <uax:Identifier>i=46</uax:Identifier>\n            </uax:ReferenceTypeId>\n            <uax:TypeDefinitionId>\n              <uax:Identifier>i=68</uax:Identifier>\n            </uax:TypeDefinitionId>\n            <uax:NumericId>210</uax:NumericId>\n            <uax:DataType>\n              <uax:Identifier>i=7</uax:Identifier>\n            </uax:DataType>\n            <uax:ValueRank>-1</uax:ValueRank>\n            <uax:AccessLevel>1</uax:AccessLevel>\n            <uax:UserAccessLevel>1</uax:UserAccessLevel>\n          </Number>\n        </CurrentState>\n        <LastTransition xmlns=\"http://opcfoundation.org/UA/\">\n          <uax:NodeClass>Variable_2</uax:NodeClass>\n          <uax:NodeId>\n            <uax:Identifier>ns=2;i=212</uax:Identifier>\n          </uax:NodeId>\n          <uax:BrowseName>\n            <uax:NamespaceIndex>0</uax:NamespaceIndex>\n            <uax:Name>LastTransition</uax:Name>\n          </uax:BrowseName>\n          <uax:ReferenceTypeId>\n            <uax:Identifier>i=47</uax:Identifier>\n          </uax:ReferenceTypeId>\n          <uax:TypeDefinitionId>\n            <uax:Identifier>i=2767</uax:Identifier>\n          </uax:TypeDefinitionId>\n          <uax:NumericId>212</uax:NumericId>\n          <uax:DataType>\n            <uax:Identifier>i=21</uax:Identifier>\n          </uax:DataType>\n          <uax:ValueRank>-1</uax:ValueRank>\n          <uax:AccessLevel>1</uax:AccessLevel>\n          <uax:UserAccessLevel>1</uax:UserAccessLevel>\n          <Id>\n            <uax:NodeClass>Variable_2</uax:NodeClass>\n            <uax:NodeId>\n              <uax:Identifier>ns=2;i=213</uax:Identifier>\n            </uax:NodeId>\n            <uax:BrowseName>\n              <uax:NamespaceIndex>0</uax:NamespaceIndex>\n              <uax:Name>Id</uax:Name>\n            </uax:BrowseName>\n            <uax:ReferenceTypeId>\n              <uax:Identifier>i=46</uax:Identifier>\n            </uax:ReferenceTypeId>\n            <uax:TypeDefinitionId>\n              <uax:Identifier>i=68</uax:Identifier>\n            </uax:TypeDefinitionId>\n            <uax:NumericId>213</uax:NumericId>\n            <uax:DataType>\n              <uax:Identifier>i=17</uax:Identifier>\n            </uax:DataType>\n            <uax:ValueRank>-1</uax:ValueRank>\n            <uax:AccessLevel>1</uax:AccessLevel>\n            <uax:UserAccessLevel>1</uax:UserAccessLevel>\n          </Id>\n          <Number>\n            <uax:NodeClass>Variable_2</uax:NodeClass>\n            <uax:NodeId>\n              <uax:Identifier>ns=2;i=215</uax:Identifier>\n            </uax:NodeId>\n            <uax:BrowseName>\n              <uax:NamespaceIndex>0</uax:NamespaceIndex>\n              <uax:Name>Number</uax:Name>\n            </uax:BrowseName>\n            <uax:ReferenceTypeId>\n              <uax:Identifier>i=46</uax:Identifier>\n            </uax:ReferenceTypeId>\n            <uax:TypeDefinitionId>\n              <uax:Identifier>i=68</uax:Identifier>\n            </uax:TypeDefinitionId>\n            <uax:NumericId>215</uax:NumericId>\n            <uax:DataType>\n              <uax:Identifier>i=7</uax:Identifier>\n            </uax:DataType>\n            <uax:ValueRank>-1</uax:ValueRank>\n            <uax:AccessLevel>1</uax:AccessLevel>\n            <uax:UserAccessLevel>1</uax:UserAccessLevel>\n          </Number>\n          <TransitionTime>\n            <uax:NodeClass>Variable_2</uax:NodeClass>\n            <uax:NodeId>\n              <uax:Identifier>ns=2;i=216</uax:Identifier>\n            </uax:NodeId>\n            <uax:BrowseName>\n              <uax:NamespaceIndex>0</uax:NamespaceIndex>\n              <uax:Name>TransitionTime</uax:Name>\n            </uax:BrowseName>\n            <uax:ReferenceTypeId>\n              <uax:Identifier>i=46</uax:Identifier>\n            </uax:ReferenceTypeId>\n            <uax:TypeDefinitionId>\n              <uax:Identifier>i=68</uax:Identifier>\n            </uax:TypeDefinitionId>\n            <uax:NumericId>216</uax:NumericId>\n            <uax:DataType>\n              <uax:Identifier>i=294</uax:Identifier>\n            </uax:DataType>\n            <uax:ValueRank>-1</uax:ValueRank>\n            <uax:AccessLevel>1</uax:AccessLevel>\n            <uax:UserAccessLevel>1</uax:UserAccessLevel>\n          </TransitionTime>\n        </LastTransition>\n        <Deletable xmlns=\"http://opcfoundation.org/UA/\">\n          <uax:NodeClass>Variable_2</uax:NodeClass>\n          <uax:NodeId>\n            <uax:Identifier>ns=2;i=218</uax:Identifier>\n          </uax:NodeId>\n          <uax:BrowseName>\n            <uax:NamespaceIndex>0</uax:NamespaceIndex>\n            <uax:Name>Deletable</uax:Name>\n          </uax:BrowseName>\n          <uax:ReferenceTypeId>\n            <uax:Identifier>i=46</uax:Identifier>\n          </uax:ReferenceTypeId>\n          <uax:TypeDefinitionId>\n            <uax:Identifier>i=68</uax:Identifier>\n          </uax:TypeDefinitionId>\n          <uax:NumericId>218</uax:NumericId>\n          <uax:DataType>\n            <uax:Identifier>i=1</uax:Identifier>\n          </uax:DataType>\n          <uax:ValueRank>-1</uax:ValueRank>\n          <uax:AccessLevel>1</uax:AccessLevel>\n          <uax:UserAccessLevel>1</uax:UserAccessLevel>\n        </Deletable>\n        <RecycleCount xmlns=\"http://opcfoundation.org/UA/\">\n          <uax:NodeClass>Variable_2</uax:NodeClass>\n          <uax:NodeId>\n            <uax:Identifier>ns=2;i=220</uax:Identifier>\n          </uax:NodeId>\n          <uax:BrowseName>\n            <uax:NamespaceIndex>0</uax:NamespaceIndex>\n            <uax:Name>RecycleCount</uax:Name>\n          </uax:BrowseName>\n          <uax:ReferenceTypeId>\n            <uax:Identifier>i=46</uax:Identifier>\n          </uax:ReferenceTypeId>\n          <uax:TypeDefinitionId>\n            <uax:Identifier>i=68</uax:Identifier>\n          </uax:TypeDefinitionId>\n          <uax:NumericId>220</uax:NumericId>\n          <uax:DataType>\n            <uax:Identifier>i=6</uax:Identifier>\n          </uax:DataType>\n          <uax:ValueRank>-1</uax:ValueRank>\n          <uax:AccessLevel>1</uax:AccessLevel>\n          <uax:UserAccessLevel>1</uax:UserAccessLevel>\n        </RecycleCount>\n        <Start xmlns=\"http://opcfoundation.org/UA/\">\n          <uax:NodeClass>Method_4</uax:NodeClass>\n          <uax:NodeId>\n            <uax:Identifier>ns=2;i=233</uax:Identifier>\n          </uax:NodeId>\n          <uax:BrowseName>\n            <uax:NamespaceIndex>0</uax:NamespaceIndex>\n            <uax:Name>Start</uax:Name>\n          </uax:BrowseName>\n          <uax:Description>\n            <uax:Locale></uax:Locale>\n            <uax:Text>Causes the Program to transition from the Ready state to the Running state.</uax:Text>\n          </uax:Description>\n          <uax:ReferenceTypeId>\n            <uax:Identifier>i=47</uax:Identifier>\n          </uax:ReferenceTypeId>\n          <uax:TypeDefinitionId>\n            <uax:Identifier>i=2426</uax:Identifier>\n          </uax:TypeDefinitionId>\n          <uax:NumericId>233</uax:NumericId>\n          <uax:Executable>true</uax:Executable>\n          <uax:UserExecutable>true</uax:UserExecutable>\n        </Start>\n        <Suspend xmlns=\"http://opcfoundation.org/UA/\">\n          <uax:NodeClass>Method_4</uax:NodeClass>\n          <uax:NodeId>\n            <uax:Identifier>ns=2;i=234</uax:Identifier>\n          </uax:NodeId>\n          <uax:BrowseName>\n            <uax:NamespaceIndex>0</uax:NamespaceIndex>\n            <uax:Name>Suspend</uax:Name>\n          </uax:BrowseName>\n          <uax:Description>\n            <uax:Locale></uax:Locale>\n            <uax:Text>Causes the Program to transition from the Running state to the Suspended state.</uax:Text>\n          </uax:Description>\n          <uax:ReferenceTypeId>\n            <uax:Identifier>i=47</uax:Identifier>\n          </uax:ReferenceTypeId>\n          <uax:TypeDefinitionId>\n            <uax:Identifier>i=2427</uax:Identifier>\n          </uax:TypeDefinitionId>\n          <uax:NumericId>234</uax:NumericId>\n          <uax:Executable>true</uax:Executable>\n          <uax:UserExecutable>true</uax:UserExecutable>\n        </Suspend>\n        <Resume xmlns=\"http://opcfoundation.org/UA/\">\n          <uax:NodeClass>Method_4</uax:NodeClass>\n          <uax:NodeId>\n            <uax:Identifier>ns=2;i=235</uax:Identifier>\n          </uax:NodeId>\n          <uax:BrowseName>\n            <uax:NamespaceIndex>0</uax:NamespaceIndex>\n            <uax:Name>Resume</uax:Name>\n          </uax:BrowseName>\n          <uax:Description>\n            <uax:Locale></uax:Locale>\n            <uax:Text>Causes the Program to transition from the Suspended state to the Running state.</uax:Text>\n          </uax:Description>\n          <uax:ReferenceTypeId>\n            <uax:Identifier>i=47</uax:Identifier>\n          </uax:ReferenceTypeId>\n          <uax:TypeDefinitionId>\n            <uax:Identifier>i=2428</uax:Identifier>\n          </uax:TypeDefinitionId>\n          <uax:NumericId>235</uax:NumericId>\n          <uax:Executable>true</uax:Executable>\n          <uax:UserExecutable>true</uax:UserExecutable>\n        </Resume>\n        <Halt xmlns=\"http://opcfoundation.org/UA/\">\n          <uax:NodeClass>Method_4</uax:NodeClass>\n          <uax:NodeId>\n            <uax:Identifier>ns=2;i=236</uax:Identifier>\n          </uax:NodeId>\n          <uax:BrowseName>\n            <uax:NamespaceIndex>0</uax:NamespaceIndex>\n            <uax:Name>Halt</uax:Name>\n          </uax:BrowseName>\n          <uax:Description>\n            <uax:Locale></uax:Locale>\n            <uax:Text>Causes the Program to transition from the Ready, Running or Suspended state to the Halted state.</uax:Text>\n          </uax:Description>\n          <uax:ReferenceTypeId>\n            <uax:Identifier>i=47</uax:Identifier>\n          </uax:ReferenceTypeId>\n          <uax:TypeDefinitionId>\n            <uax:Identifier>i=2429</uax:Identifier>\n          </uax:TypeDefinitionId>\n          <uax:NumericId>236</uax:NumericId>\n          <uax:Executable>true</uax:Executable>\n          <uax:UserExecutable>true</uax:UserExecutable>\n        </Halt>\n        <Reset xmlns=\"http://opcfoundation.org/UA/\">\n          <uax:NodeClass>Method_4</uax:NodeClass>\n          <uax:NodeId>\n            <uax:Identifier>ns=2;i=237</uax:Identifier>\n          </uax:NodeId>\n          <uax:BrowseName>\n            <uax:NamespaceIndex>0</uax:NamespaceIndex>\n            <uax:Name>Reset</uax:Name>\n          </uax:BrowseName>\n          <uax:Description>\n            <uax:Locale></uax:Locale>\n            <uax:Text>Causes the Program to transition from the Halted state to the Ready state.</uax:Text>\n          </uax:Description>\n          <uax:ReferenceTypeId>\n            <uax:Identifier>i=47</uax:Identifier>\n          </uax:ReferenceTypeId>\n          <uax:TypeDefinitionId>\n            <uax:Identifier>i=2430</uax:Identifier>\n          </uax:TypeDefinitionId>\n          <uax:NumericId>237</uax:NumericId>\n          <uax:Executable>true</uax:Executable>\n          <uax:UserExecutable>true</uax:UserExecutable>\n        </Reset>\n        <UpdateRate>\n          <uax:NodeClass>Variable_2</uax:NodeClass>\n          <uax:NodeId>\n            <uax:Identifier>ns=2;i=238</uax:Identifier>\n          </uax:NodeId>\n          <uax:BrowseName>\n            <uax:NamespaceIndex>1</uax:NamespaceIndex>\n            <uax:Name>UpdateRate</uax:Name>\n          </uax:BrowseName>\n          <uax:Description>\n            <uax:Locale></uax:Locale>\n            <uax:Text>The rate at which the simulation runs.</uax:Text>\n          </uax:Description>\n          <uax:ReferenceTypeId>\n            <uax:Identifier>i=46</uax:Identifier>\n          </uax:ReferenceTypeId>\n          <uax:TypeDefinitionId>\n            <uax:Identifier>i=68</uax:Identifier>\n          </uax:TypeDefinitionId>\n          <uax:NumericId>238</uax:NumericId>\n          <uax:DataType>\n            <uax:Identifier>i=7</uax:Identifier>\n          </uax:DataType>\n          <uax:ValueRank>-1</uax:ValueRank>\n          <uax:AccessLevel>3</uax:AccessLevel>\n          <uax:UserAccessLevel>3</uax:UserAccessLevel>\n        </UpdateRate>\n      </Simulation>\n    </BoilerBravo>\n    <BoilerCharlie>\n      <uax:NodeClass>Object_1</uax:NodeClass>\n      <uax:NodeId>\n        <uax:Identifier>ns=2;i=239</uax:Identifier>\n      </uax:NodeId>\n      <uax:BrowseName>\n        <uax:NamespaceIndex>2</uax:NamespaceIndex>\n        <uax:Name>Boiler #3</uax:Name>\n      </uax:BrowseName>\n      <uax:ReferenceTypeId>\n        <uax:Identifier>i=47</uax:Identifier>\n      </uax:ReferenceTypeId>\n      <uax:TypeDefinitionId>\n        <uax:Identifier>ns=1;i=151</uax:Identifier>\n      </uax:TypeDefinitionId>\n      <uax:NumericId>239</uax:NumericId>\n      <uax:References>\n        <uax:Reference>\n          <uax:ReferenceTypeId>\n            <uax:Identifier>i=48</uax:Identifier>\n          </uax:ReferenceTypeId>\n          <uax:TargetId>\n            <uax:Identifier>ns=2;i=240</uax:Identifier>\n          </uax:TargetId>\n        </uax:Reference>\n        <uax:Reference>\n          <uax:ReferenceTypeId>\n            <uax:Identifier>i=48</uax:Identifier>\n          </uax:ReferenceTypeId>\n          <uax:TargetId>\n            <uax:Identifier>ns=2;i=255</uax:Identifier>\n          </uax:TargetId>\n        </uax:Reference>\n        <uax:Reference>\n          <uax:ReferenceTypeId>\n            <uax:Identifier>i=48</uax:Identifier>\n          </uax:ReferenceTypeId>\n          <uax:TargetId>\n            <uax:Identifier>ns=2;i=263</uax:Identifier>\n          </uax:TargetId>\n        </uax:Reference>\n        <uax:Reference>\n          <uax:ReferenceTypeId>\n            <uax:Identifier>i=36</uax:Identifier>\n          </uax:ReferenceTypeId>\n          <uax:TargetId>\n            <uax:Identifier>ns=2;i=285</uax:Identifier>\n          </uax:TargetId>\n        </uax:Reference>\n      </uax:References>\n      <InputPipe>\n        <uax:NodeClass>Object_1</uax:NodeClass>\n        <uax:NodeId>\n          <uax:Identifier>ns=2;i=240</uax:Identifier>\n        </uax:NodeId>\n        <uax:BrowseName>\n          <uax:NamespaceIndex>2</uax:NamespaceIndex>\n          <uax:Name>InputPipe</uax:Name>\n        </uax:BrowseName>\n        <uax:DisplayName>\n          <uax:Locale></uax:Locale>\n          <uax:Text>Boiler #3: Pipe1001</uax:Text>\n        </uax:DisplayName>\n        <uax:ReferenceTypeId>\n          <uax:Identifier>i=47</uax:Identifier>\n        </uax:ReferenceTypeId>\n        <uax:TypeDefinitionId>\n          <uax:Identifier>ns=1;i=120</uax:Identifier>\n        </uax:TypeDefinitionId>\n        <uax:NumericId>240</uax:NumericId>\n        <uax:EventNotifier>1</uax:EventNotifier>\n        <uax:References>\n          <uax:Reference>\n            <uax:ReferenceTypeId>\n              <uax:Identifier>i=48</uax:Identifier>\n            </uax:ReferenceTypeId>\n            <uax:IsInverse>true</uax:IsInverse>\n            <uax:TargetId>\n              <uax:Identifier>ns=2;i=239</uax:Identifier>\n            </uax:TargetId>\n          </uax:Reference>\n          <uax:Reference>\n            <uax:ReferenceTypeId>\n              <uax:Identifier>i=48</uax:Identifier>\n            </uax:ReferenceTypeId>\n            <uax:TargetId>\n              <uax:Identifier>ns=2;i=241</uax:Identifier>\n            </uax:TargetId>\n          </uax:Reference>\n          <uax:Reference>\n            <uax:ReferenceTypeId>\n              <uax:Identifier>ns=1;i=1</uax:Identifier>\n            </uax:ReferenceTypeId>\n            <uax:TargetId>\n              <uax:Identifier>ns=2;i=255</uax:Identifier>\n            </uax:TargetId>\n          </uax:Reference>\n        </uax:References>\n        <FlowTransmitter1 xmlns=\"http://tempuri.org/UA/Examples/BoilerType\">\n          <uax:NodeClass>Object_1</uax:NodeClass>\n          <uax:NodeId>\n            <uax:Identifier>ns=2;i=241</uax:Identifier>\n          </uax:NodeId>\n          <uax:BrowseName>\n            <uax:NamespaceIndex>1</uax:NamespaceIndex>\n            <uax:Name>FTX001</uax:Name>\n          </uax:BrowseName>\n          <uax:DisplayName>\n            <uax:Locale></uax:Locale>\n            <uax:Text>FlowTransmitter1</uax:Text>\n          </uax:DisplayName>\n          <uax:ReferenceTypeId>\n            <uax:Identifier>i=47</uax:Identifier>\n          </uax:ReferenceTypeId>\n          <uax:TypeDefinitionId>\n            <uax:Identifier>ns=1;i=50</uax:Identifier>\n          </uax:TypeDefinitionId>\n          <uax:NumericId>241</uax:NumericId>\n          <uax:EventNotifier>1</uax:EventNotifier>\n          <uax:References>\n            <uax:Reference>\n              <uax:ReferenceTypeId>\n                <uax:Identifier>i=48</uax:Identifier>\n              </uax:ReferenceTypeId>\n              <uax:IsInverse>true</uax:IsInverse>\n              <uax:TargetId>\n                <uax:Identifier>ns=2;i=240</uax:Identifier>\n              </uax:TargetId>\n            </uax:Reference>\n          </uax:References>\n          <Output>\n            <uax:NodeClass>Variable_2</uax:NodeClass>\n            <uax:NodeId>\n              <uax:Identifier>ns=2;i=242</uax:Identifier>\n            </uax:NodeId>\n            <uax:BrowseName>\n              <uax:NamespaceIndex>1</uax:NamespaceIndex>\n              <uax:Name>Output</uax:Name>\n            </uax:BrowseName>\n            <uax:ReferenceTypeId>\n              <uax:Identifier>i=47</uax:Identifier>\n            </uax:ReferenceTypeId>\n            <uax:TypeDefinitionId>\n              <uax:Identifier>i=2368</uax:Identifier>\n            </uax:TypeDefinitionId>\n            <uax:NumericId>242</uax:NumericId>\n            <uax:DataType>\n              <uax:Identifier>i=11</uax:Identifier>\n            </uax:DataType>\n            <uax:ValueRank>-1</uax:ValueRank>\n            <uax:AccessLevel>1</uax:AccessLevel>\n            <uax:UserAccessLevel>1</uax:UserAccessLevel>\n            <uax:References>\n              <uax:Reference>\n                <uax:ReferenceTypeId>\n                  <uax:Identifier>ns=1;i=3</uax:Identifier>\n                </uax:ReferenceTypeId>\n                <uax:TargetId>\n                  <uax:Identifier>ns=2;i=272</uax:Identifier>\n                </uax:TargetId>\n              </uax:Reference>\n              <uax:Reference>\n                <uax:ReferenceTypeId>\n                  <uax:Identifier>ns=1;i=3</uax:Identifier>\n                </uax:ReferenceTypeId>\n                <uax:TargetId>\n                  <uax:Identifier>ns=2;i=281</uax:Identifier>\n                </uax:TargetId>\n              </uax:Reference>\n            </uax:References>\n            <EURange xmlns=\"http://opcfoundation.org/UA/\">\n              <uax:NodeClass>Variable_2</uax:NodeClass>\n              <uax:NodeId>\n                <uax:Identifier>ns=2;i=246</uax:Identifier>\n              </uax:NodeId>\n              <uax:BrowseName>\n                <uax:NamespaceIndex>0</uax:NamespaceIndex>\n                <uax:Name>EURange</uax:Name>\n              </uax:BrowseName>\n              <uax:ReferenceTypeId>\n                <uax:Identifier>i=46</uax:Identifier>\n              </uax:ReferenceTypeId>\n              <uax:TypeDefinitionId>\n                <uax:Identifier>i=68</uax:Identifier>\n              </uax:TypeDefinitionId>\n              <uax:NumericId>246</uax:NumericId>\n              <uax:DataType>\n                <uax:Identifier>i=884</uax:Identifier>\n              </uax:DataType>\n              <uax:ValueRank>-1</uax:ValueRank>\n              <uax:AccessLevel>1</uax:AccessLevel>\n              <uax:UserAccessLevel>1</uax:UserAccessLevel>\n            </EURange>\n          </Output>\n        </FlowTransmitter1>\n        <Valve xmlns=\"http://tempuri.org/UA/Examples/BoilerType\">\n          <uax:NodeClass>Object_1</uax:NodeClass>\n          <uax:NodeId>\n            <uax:Identifier>ns=2;i=248</uax:Identifier>\n          </uax:NodeId>\n          <uax:BrowseName>\n            <uax:NamespaceIndex>1</uax:NamespaceIndex>\n            <uax:Name>ValveX001</uax:Name>\n          </uax:BrowseName>\n          <uax:DisplayName>\n            <uax:Locale></uax:Locale>\n            <uax:Text>Valve</uax:Text>\n          </uax:DisplayName>\n          <uax:ReferenceTypeId>\n            <uax:Identifier>i=47</uax:Identifier>\n          </uax:ReferenceTypeId>\n          <uax:TypeDefinitionId>\n            <uax:Identifier>ns=1;i=28</uax:Identifier>\n          </uax:TypeDefinitionId>\n          <uax:NumericId>248</uax:NumericId>\n          <uax:EventNotifier>1</uax:EventNotifier>\n          <Input>\n            <uax:NodeClass>Variable_2</uax:NodeClass>\n            <uax:NodeId>\n              <uax:Identifier>ns=2;i=249</uax:Identifier>\n            </uax:NodeId>\n            <uax:BrowseName>\n              <uax:NamespaceIndex>1</uax:NamespaceIndex>\n              <uax:Name>Input</uax:Name>\n            </uax:BrowseName>\n            <uax:ReferenceTypeId>\n              <uax:Identifier>i=47</uax:Identifier>\n            </uax:ReferenceTypeId>\n            <uax:TypeDefinitionId>\n              <uax:Identifier>i=2368</uax:Identifier>\n            </uax:TypeDefinitionId>\n            <uax:NumericId>249</uax:NumericId>\n            <uax:DataType>\n              <uax:Identifier>i=11</uax:Identifier>\n            </uax:DataType>\n            <uax:ValueRank>-1</uax:ValueRank>\n            <uax:AccessLevel>2</uax:AccessLevel>\n            <uax:UserAccessLevel>2</uax:UserAccessLevel>\n            <uax:References>\n              <uax:Reference>\n                <uax:ReferenceTypeId>\n                  <uax:Identifier>ns=1;i=3</uax:Identifier>\n                </uax:ReferenceTypeId>\n                <uax:IsInverse>true</uax:IsInverse>\n                <uax:TargetId>\n                  <uax:Identifier>ns=2;i=274</uax:Identifier>\n                </uax:TargetId>\n              </uax:Reference>\n            </uax:References>\n            <EURange xmlns=\"http://opcfoundation.org/UA/\">\n              <uax:NodeClass>Variable_2</uax:NodeClass>\n              <uax:NodeId>\n                <uax:Identifier>ns=2;i=253</uax:Identifier>\n              </uax:NodeId>\n              <uax:BrowseName>\n                <uax:NamespaceIndex>0</uax:NamespaceIndex>\n                <uax:Name>EURange</uax:Name>\n              </uax:BrowseName>\n              <uax:ReferenceTypeId>\n                <uax:Identifier>i=46</uax:Identifier>\n              </uax:ReferenceTypeId>\n              <uax:TypeDefinitionId>\n                <uax:Identifier>i=68</uax:Identifier>\n              </uax:TypeDefinitionId>\n              <uax:NumericId>253</uax:NumericId>\n              <uax:DataType>\n                <uax:Identifier>i=884</uax:Identifier>\n              </uax:DataType>\n              <uax:ValueRank>-1</uax:ValueRank>\n              <uax:AccessLevel>1</uax:AccessLevel>\n              <uax:UserAccessLevel>1</uax:UserAccessLevel>\n            </EURange>\n          </Input>\n        </Valve>\n      </InputPipe>\n      <Drum>\n        <uax:NodeClass>Object_1</uax:NodeClass>\n        <uax:NodeId>\n          <uax:Identifier>ns=2;i=255</uax:Identifier>\n        </uax:NodeId>\n        <uax:BrowseName>\n          <uax:NamespaceIndex>2</uax:NamespaceIndex>\n          <uax:Name>Drum</uax:Name>\n        </uax:BrowseName>\n        <uax:DisplayName>\n          <uax:Locale></uax:Locale>\n          <uax:Text>Boiler #3: Drum1001</uax:Text>\n        </uax:DisplayName>\n        <uax:ReferenceTypeId>\n          <uax:Identifier>i=47</uax:Identifier>\n        </uax:ReferenceTypeId>\n        <uax:TypeDefinitionId>\n          <uax:Identifier>ns=1;i=135</uax:Identifier>\n        </uax:TypeDefinitionId>\n        <uax:NumericId>255</uax:NumericId>\n        <uax:EventNotifier>1</uax:EventNotifier>\n        <uax:References>\n          <uax:Reference>\n            <uax:ReferenceTypeId>\n              <uax:Identifier>i=48</uax:Identifier>\n            </uax:ReferenceTypeId>\n            <uax:IsInverse>true</uax:IsInverse>\n            <uax:TargetId>\n              <uax:Identifier>ns=2;i=239</uax:Identifier>\n            </uax:TargetId>\n          </uax:Reference>\n          <uax:Reference>\n            <uax:ReferenceTypeId>\n              <uax:Identifier>ns=1;i=1</uax:Identifier>\n            </uax:ReferenceTypeId>\n            <uax:IsInverse>true</uax:IsInverse>\n            <uax:TargetId>\n              <uax:Identifier>ns=2;i=240</uax:Identifier>\n            </uax:TargetId>\n          </uax:Reference>\n          <uax:Reference>\n            <uax:ReferenceTypeId>\n              <uax:Identifier>i=48</uax:Identifier>\n            </uax:ReferenceTypeId>\n            <uax:TargetId>\n              <uax:Identifier>ns=2;i=256</uax:Identifier>\n            </uax:TargetId>\n          </uax:Reference>\n          <uax:Reference>\n            <uax:ReferenceTypeId>\n              <uax:Identifier>ns=1;i=2</uax:Identifier>\n            </uax:ReferenceTypeId>\n            <uax:TargetId>\n              <uax:Identifier>ns=2;i=263</uax:Identifier>\n            </uax:TargetId>\n          </uax:Reference>\n        </uax:References>\n        <LevelIndicator xmlns=\"http://tempuri.org/UA/Examples/BoilerType\">\n          <uax:NodeClass>Object_1</uax:NodeClass>\n          <uax:NodeId>\n            <uax:Identifier>ns=2;i=256</uax:Identifier>\n          </uax:NodeId>\n          <uax:BrowseName>\n            <uax:NamespaceIndex>1</uax:NamespaceIndex>\n            <uax:Name>LIX001</uax:Name>\n          </uax:BrowseName>\n          <uax:ReferenceTypeId>\n            <uax:Identifier>i=47</uax:Identifier>\n          </uax:ReferenceTypeId>\n          <uax:TypeDefinitionId>\n            <uax:Identifier>ns=1;i=43</uax:Identifier>\n          </uax:TypeDefinitionId>\n          <uax:NumericId>256</uax:NumericId>\n          <uax:EventNotifier>1</uax:EventNotifier>\n          <uax:References>\n            <uax:Reference>\n              <uax:ReferenceTypeId>\n                <uax:Identifier>i=48</uax:Identifier>\n              </uax:ReferenceTypeId>\n              <uax:IsInverse>true</uax:IsInverse>\n              <uax:TargetId>\n                <uax:Identifier>ns=2;i=255</uax:Identifier>\n              </uax:TargetId>\n            </uax:Reference>\n          </uax:References>\n          <Output>\n            <uax:NodeClass>Variable_2</uax:NodeClass>\n            <uax:NodeId>\n              <uax:Identifier>ns=2;i=257</uax:Identifier>\n            </uax:NodeId>\n            <uax:BrowseName>\n              <uax:NamespaceIndex>1</uax:NamespaceIndex>\n              <uax:Name>Output</uax:Name>\n            </uax:BrowseName>\n            <uax:ReferenceTypeId>\n              <uax:Identifier>i=47</uax:Identifier>\n            </uax:ReferenceTypeId>\n            <uax:TypeDefinitionId>\n              <uax:Identifier>i=2368</uax:Identifier>\n            </uax:TypeDefinitionId>\n            <uax:NumericId>257</uax:NumericId>\n            <uax:DataType>\n              <uax:Identifier>i=26</uax:Identifier>\n            </uax:DataType>\n            <uax:ValueRank>-1</uax:ValueRank>\n            <uax:AccessLevel>1</uax:AccessLevel>\n            <uax:UserAccessLevel>1</uax:UserAccessLevel>\n            <uax:References>\n              <uax:Reference>\n                <uax:ReferenceTypeId>\n                  <uax:Identifier>ns=1;i=3</uax:Identifier>\n                </uax:ReferenceTypeId>\n                <uax:TargetId>\n                  <uax:Identifier>ns=2;i=276</uax:Identifier>\n                </uax:TargetId>\n              </uax:Reference>\n            </uax:References>\n            <EURange xmlns=\"http://opcfoundation.org/UA/\">\n              <uax:NodeClass>Variable_2</uax:NodeClass>\n              <uax:NodeId>\n                <uax:Identifier>ns=2;i=261</uax:Identifier>\n              </uax:NodeId>\n              <uax:BrowseName>\n                <uax:NamespaceIndex>0</uax:NamespaceIndex>\n                <uax:Name>EURange</uax:Name>\n              </uax:BrowseName>\n              <uax:ReferenceTypeId>\n                <uax:Identifier>i=46</uax:Identifier>\n              </uax:ReferenceTypeId>\n              <uax:TypeDefinitionId>\n                <uax:Identifier>i=68</uax:Identifier>\n              </uax:TypeDefinitionId>\n              <uax:NumericId>261</uax:NumericId>\n              <uax:DataType>\n                <uax:Identifier>i=884</uax:Identifier>\n              </uax:DataType>\n              <uax:ValueRank>-1</uax:ValueRank>\n              <uax:AccessLevel>1</uax:AccessLevel>\n              <uax:UserAccessLevel>1</uax:UserAccessLevel>\n            </EURange>\n          </Output>\n        </LevelIndicator>\n      </Drum>\n      <OutputPipe>\n        <uax:NodeClass>Object_1</uax:NodeClass>\n        <uax:NodeId>\n          <uax:Identifier>ns=2;i=263</uax:Identifier>\n        </uax:NodeId>\n        <uax:BrowseName>\n          <uax:NamespaceIndex>2</uax:NamespaceIndex>\n          <uax:Name>OutputPipe</uax:Name>\n        </uax:BrowseName>\n        <uax:DisplayName>\n          <uax:Locale></uax:Locale>\n          <uax:Text>Boiler #3: Pipe1002</uax:Text>\n        </uax:DisplayName>\n        <uax:ReferenceTypeId>\n          <uax:Identifier>i=47</uax:Identifier>\n        </uax:ReferenceTypeId>\n        <uax:TypeDefinitionId>\n          <uax:Identifier>ns=1;i=143</uax:Identifier>\n        </uax:TypeDefinitionId>\n        <uax:NumericId>263</uax:NumericId>\n        <uax:EventNotifier>1</uax:EventNotifier>\n        <uax:References>\n          <uax:Reference>\n            <uax:ReferenceTypeId>\n              <uax:Identifier>i=48</uax:Identifier>\n            </uax:ReferenceTypeId>\n            <uax:IsInverse>true</uax:IsInverse>\n            <uax:TargetId>\n              <uax:Identifier>ns=2;i=239</uax:Identifier>\n            </uax:TargetId>\n          </uax:Reference>\n          <uax:Reference>\n            <uax:ReferenceTypeId>\n              <uax:Identifier>ns=1;i=2</uax:Identifier>\n            </uax:ReferenceTypeId>\n            <uax:IsInverse>true</uax:IsInverse>\n            <uax:TargetId>\n              <uax:Identifier>ns=2;i=255</uax:Identifier>\n            </uax:TargetId>\n          </uax:Reference>\n          <uax:Reference>\n            <uax:ReferenceTypeId>\n              <uax:Identifier>i=48</uax:Identifier>\n            </uax:ReferenceTypeId>\n            <uax:TargetId>\n              <uax:Identifier>ns=2;i=264</uax:Identifier>\n            </uax:TargetId>\n          </uax:Reference>\n        </uax:References>\n        <FlowTransmitter2 xmlns=\"http://tempuri.org/UA/Examples/BoilerType\">\n          <uax:NodeClass>Object_1</uax:NodeClass>\n          <uax:NodeId>\n            <uax:Identifier>ns=2;i=264</uax:Identifier>\n          </uax:NodeId>\n          <uax:BrowseName>\n            <uax:NamespaceIndex>1</uax:NamespaceIndex>\n            <uax:Name>FTX002</uax:Name>\n          </uax:BrowseName>\n          <uax:ReferenceTypeId>\n            <uax:Identifier>i=47</uax:Identifier>\n          </uax:ReferenceTypeId>\n          <uax:TypeDefinitionId>\n            <uax:Identifier>ns=1;i=50</uax:Identifier>\n          </uax:TypeDefinitionId>\n          <uax:NumericId>264</uax:NumericId>\n          <uax:EventNotifier>1</uax:EventNotifier>\n          <uax:References>\n            <uax:Reference>\n              <uax:ReferenceTypeId>\n                <uax:Identifier>i=48</uax:Identifier>\n              </uax:ReferenceTypeId>\n              <uax:IsInverse>true</uax:IsInverse>\n              <uax:TargetId>\n                <uax:Identifier>ns=2;i=263</uax:Identifier>\n              </uax:TargetId>\n            </uax:Reference>\n          </uax:References>\n          <Output>\n            <uax:NodeClass>Variable_2</uax:NodeClass>\n            <uax:NodeId>\n              <uax:Identifier>ns=2;i=265</uax:Identifier>\n            </uax:NodeId>\n            <uax:BrowseName>\n              <uax:NamespaceIndex>1</uax:NamespaceIndex>\n              <uax:Name>Output</uax:Name>\n            </uax:BrowseName>\n            <uax:ReferenceTypeId>\n              <uax:Identifier>i=47</uax:Identifier>\n            </uax:ReferenceTypeId>\n            <uax:TypeDefinitionId>\n              <uax:Identifier>i=2368</uax:Identifier>\n            </uax:TypeDefinitionId>\n            <uax:NumericId>265</uax:NumericId>\n            <uax:DataType>\n              <uax:Identifier>i=11</uax:Identifier>\n            </uax:DataType>\n            <uax:ValueRank>-1</uax:ValueRank>\n            <uax:AccessLevel>1</uax:AccessLevel>\n            <uax:UserAccessLevel>1</uax:UserAccessLevel>\n            <uax:References>\n              <uax:Reference>\n                <uax:ReferenceTypeId>\n                  <uax:Identifier>ns=1;i=3</uax:Identifier>\n                </uax:ReferenceTypeId>\n                <uax:TargetId>\n                  <uax:Identifier>ns=2;i=282</uax:Identifier>\n                </uax:TargetId>\n              </uax:Reference>\n            </uax:References>\n            <EURange xmlns=\"http://opcfoundation.org/UA/\">\n              <uax:NodeClass>Variable_2</uax:NodeClass>\n              <uax:NodeId>\n                <uax:Identifier>ns=2;i=269</uax:Identifier>\n              </uax:NodeId>\n              <uax:BrowseName>\n                <uax:NamespaceIndex>0</uax:NamespaceIndex>\n                <uax:Name>EURange</uax:Name>\n              </uax:BrowseName>\n              <uax:ReferenceTypeId>\n                <uax:Identifier>i=46</uax:Identifier>\n              </uax:ReferenceTypeId>\n              <uax:TypeDefinitionId>\n                <uax:Identifier>i=68</uax:Identifier>\n              </uax:TypeDefinitionId>\n              <uax:NumericId>269</uax:NumericId>\n              <uax:DataType>\n                <uax:Identifier>i=884</uax:Identifier>\n              </uax:DataType>\n              <uax:ValueRank>-1</uax:ValueRank>\n              <uax:AccessLevel>1</uax:AccessLevel>\n              <uax:UserAccessLevel>1</uax:UserAccessLevel>\n            </EURange>\n          </Output>\n        </FlowTransmitter2>\n      </OutputPipe>\n      <FlowController>\n        <uax:NodeClass>Object_1</uax:NodeClass>\n        <uax:NodeId>\n          <uax:Identifier>ns=2;i=271</uax:Identifier>\n        </uax:NodeId>\n        <uax:BrowseName>\n          <uax:NamespaceIndex>2</uax:NamespaceIndex>\n          <uax:Name>FlowController</uax:Name>\n        </uax:BrowseName>\n        <uax:DisplayName>\n          <uax:Locale></uax:Locale>\n          <uax:Text>Boiler #3: FC1001</uax:Text>\n        </uax:DisplayName>\n        <uax:ReferenceTypeId>\n          <uax:Identifier>i=47</uax:Identifier>\n        </uax:ReferenceTypeId>\n        <uax:TypeDefinitionId>\n          <uax:Identifier>ns=1;i=39</uax:Identifier>\n        </uax:TypeDefinitionId>\n        <uax:NumericId>271</uax:NumericId>\n        <Measurement xmlns=\"http://tempuri.org/UA/Examples/BoilerType\">\n          <uax:NodeClass>Variable_2</uax:NodeClass>\n          <uax:NodeId>\n            <uax:Identifier>ns=2;i=272</uax:Identifier>\n          </uax:NodeId>\n          <uax:BrowseName>\n            <uax:NamespaceIndex>1</uax:NamespaceIndex>\n            <uax:Name>Measurement</uax:Name>\n          </uax:BrowseName>\n          <uax:ReferenceTypeId>\n            <uax:Identifier>i=46</uax:Identifier>\n          </uax:ReferenceTypeId>\n          <uax:TypeDefinitionId>\n            <uax:Identifier>i=68</uax:Identifier>\n          </uax:TypeDefinitionId>\n          <uax:NumericId>272</uax:NumericId>\n          <uax:DataType>\n            <uax:Identifier>i=11</uax:Identifier>\n          </uax:DataType>\n          <uax:ValueRank>-1</uax:ValueRank>\n          <uax:AccessLevel>1</uax:AccessLevel>\n          <uax:UserAccessLevel>1</uax:UserAccessLevel>\n          <uax:References>\n            <uax:Reference>\n              <uax:ReferenceTypeId>\n                <uax:Identifier>ns=1;i=3</uax:Identifier>\n              </uax:ReferenceTypeId>\n              <uax:IsInverse>true</uax:IsInverse>\n              <uax:TargetId>\n                <uax:Identifier>ns=2;i=242</uax:Identifier>\n              </uax:TargetId>\n            </uax:Reference>\n          </uax:References>\n        </Measurement>\n        <SetPoint xmlns=\"http://tempuri.org/UA/Examples/BoilerType\">\n          <uax:NodeClass>Variable_2</uax:NodeClass>\n          <uax:NodeId>\n            <uax:Identifier>ns=2;i=273</uax:Identifier>\n          </uax:NodeId>\n          <uax:BrowseName>\n            <uax:NamespaceIndex>1</uax:NamespaceIndex>\n            <uax:Name>SetPoint</uax:Name>\n          </uax:BrowseName>\n          <uax:ReferenceTypeId>\n            <uax:Identifier>i=46</uax:Identifier>\n          </uax:ReferenceTypeId>\n          <uax:TypeDefinitionId>\n            <uax:Identifier>i=68</uax:Identifier>\n          </uax:TypeDefinitionId>\n          <uax:NumericId>273</uax:NumericId>\n          <uax:DataType>\n            <uax:Identifier>i=11</uax:Identifier>\n          </uax:DataType>\n          <uax:ValueRank>-1</uax:ValueRank>\n          <uax:AccessLevel>3</uax:AccessLevel>\n          <uax:UserAccessLevel>3</uax:UserAccessLevel>\n          <uax:References>\n            <uax:Reference>\n              <uax:ReferenceTypeId>\n                <uax:Identifier>ns=1;i=3</uax:Identifier>\n              </uax:ReferenceTypeId>\n              <uax:IsInverse>true</uax:IsInverse>\n              <uax:TargetId>\n                <uax:Identifier>ns=2;i=283</uax:Identifier>\n              </uax:TargetId>\n            </uax:Reference>\n          </uax:References>\n        </SetPoint>\n        <ControlOut xmlns=\"http://tempuri.org/UA/Examples/BoilerType\">\n          <uax:NodeClass>Variable_2</uax:NodeClass>\n          <uax:NodeId>\n            <uax:Identifier>ns=2;i=274</uax:Identifier>\n          </uax:NodeId>\n          <uax:BrowseName>\n            <uax:NamespaceIndex>1</uax:NamespaceIndex>\n            <uax:Name>ControlOut</uax:Name>\n          </uax:BrowseName>\n          <uax:ReferenceTypeId>\n            <uax:Identifier>i=46</uax:Identifier>\n          </uax:ReferenceTypeId>\n          <uax:TypeDefinitionId>\n            <uax:Identifier>i=68</uax:Identifier>\n          </uax:TypeDefinitionId>\n          <uax:NumericId>274</uax:NumericId>\n          <uax:DataType>\n            <uax:Identifier>i=11</uax:Identifier>\n          </uax:DataType>\n          <uax:ValueRank>-1</uax:ValueRank>\n          <uax:AccessLevel>1</uax:AccessLevel>\n          <uax:UserAccessLevel>1</uax:UserAccessLevel>\n          <uax:References>\n            <uax:Reference>\n              <uax:ReferenceTypeId>\n                <uax:Identifier>ns=1;i=3</uax:Identifier>\n              </uax:ReferenceTypeId>\n              <uax:TargetId>\n                <uax:Identifier>ns=2;i=249</uax:Identifier>\n              </uax:TargetId>\n            </uax:Reference>\n          </uax:References>\n        </ControlOut>\n      </FlowController>\n      <LevelController>\n        <uax:NodeClass>Object_1</uax:NodeClass>\n        <uax:NodeId>\n          <uax:Identifier>ns=2;i=275</uax:Identifier>\n        </uax:NodeId>\n        <uax:BrowseName>\n          <uax:NamespaceIndex>2</uax:NamespaceIndex>\n          <uax:Name>LevelController</uax:Name>\n        </uax:BrowseName>\n        <uax:DisplayName>\n          <uax:Locale></uax:Locale>\n          <uax:Text>Boiler #3: LC1001</uax:Text>\n        </uax:DisplayName>\n        <uax:ReferenceTypeId>\n          <uax:Identifier>i=47</uax:Identifier>\n        </uax:ReferenceTypeId>\n        <uax:TypeDefinitionId>\n          <uax:Identifier>ns=1;i=35</uax:Identifier>\n        </uax:TypeDefinitionId>\n        <uax:NumericId>275</uax:NumericId>\n        <Measurement xmlns=\"http://tempuri.org/UA/Examples/BoilerType\">\n          <uax:NodeClass>Variable_2</uax:NodeClass>\n          <uax:NodeId>\n            <uax:Identifier>ns=2;i=276</uax:Identifier>\n          </uax:NodeId>\n          <uax:BrowseName>\n            <uax:NamespaceIndex>1</uax:NamespaceIndex>\n            <uax:Name>Measurement</uax:Name>\n          </uax:BrowseName>\n          <uax:ReferenceTypeId>\n            <uax:Identifier>i=46</uax:Identifier>\n          </uax:ReferenceTypeId>\n          <uax:TypeDefinitionId>\n            <uax:Identifier>i=68</uax:Identifier>\n          </uax:TypeDefinitionId>\n          <uax:NumericId>276</uax:NumericId>\n          <uax:DataType>\n            <uax:Identifier>i=11</uax:Identifier>\n          </uax:DataType>\n          <uax:ValueRank>-1</uax:ValueRank>\n          <uax:AccessLevel>1</uax:AccessLevel>\n          <uax:UserAccessLevel>1</uax:UserAccessLevel>\n          <uax:References>\n            <uax:Reference>\n              <uax:ReferenceTypeId>\n                <uax:Identifier>ns=1;i=3</uax:Identifier>\n              </uax:ReferenceTypeId>\n              <uax:IsInverse>true</uax:IsInverse>\n              <uax:TargetId>\n                <uax:Identifier>ns=2;i=257</uax:Identifier>\n              </uax:TargetId>\n            </uax:Reference>\n          </uax:References>\n        </Measurement>\n        <SetPoint xmlns=\"http://tempuri.org/UA/Examples/BoilerType\">\n          <uax:NodeClass>Variable_2</uax:NodeClass>\n          <uax:NodeId>\n            <uax:Identifier>ns=2;i=277</uax:Identifier>\n          </uax:NodeId>\n          <uax:BrowseName>\n            <uax:NamespaceIndex>1</uax:NamespaceIndex>\n            <uax:Name>SetPoint</uax:Name>\n          </uax:BrowseName>\n          <uax:ReferenceTypeId>\n            <uax:Identifier>i=46</uax:Identifier>\n          </uax:ReferenceTypeId>\n          <uax:TypeDefinitionId>\n            <uax:Identifier>i=68</uax:Identifier>\n          </uax:TypeDefinitionId>\n          <uax:NumericId>277</uax:NumericId>\n          <uax:DataType>\n            <uax:Identifier>i=11</uax:Identifier>\n          </uax:DataType>\n          <uax:ValueRank>-1</uax:ValueRank>\n          <uax:AccessLevel>3</uax:AccessLevel>\n          <uax:UserAccessLevel>3</uax:UserAccessLevel>\n        </SetPoint>\n        <ControlOut xmlns=\"http://tempuri.org/UA/Examples/BoilerType\">\n          <uax:NodeClass>Variable_2</uax:NodeClass>\n          <uax:NodeId>\n            <uax:Identifier>ns=2;i=278</uax:Identifier>\n          </uax:NodeId>\n          <uax:BrowseName>\n            <uax:NamespaceIndex>1</uax:NamespaceIndex>\n            <uax:Name>ControlOut</uax:Name>\n          </uax:BrowseName>\n          <uax:ReferenceTypeId>\n            <uax:Identifier>i=46</uax:Identifier>\n          </uax:ReferenceTypeId>\n          <uax:TypeDefinitionId>\n            <uax:Identifier>i=68</uax:Identifier>\n          </uax:TypeDefinitionId>\n          <uax:NumericId>278</uax:NumericId>\n          <uax:DataType>\n            <uax:Identifier>i=11</uax:Identifier>\n          </uax:DataType>\n          <uax:ValueRank>-1</uax:ValueRank>\n          <uax:AccessLevel>1</uax:AccessLevel>\n          <uax:UserAccessLevel>1</uax:UserAccessLevel>\n          <uax:References>\n            <uax:Reference>\n              <uax:ReferenceTypeId>\n                <uax:Identifier>ns=1;i=3</uax:Identifier>\n              </uax:ReferenceTypeId>\n              <uax:TargetId>\n                <uax:Identifier>ns=2;i=280</uax:Identifier>\n              </uax:TargetId>\n            </uax:Reference>\n          </uax:References>\n        </ControlOut>\n      </LevelController>\n      <CustomController>\n        <uax:NodeClass>Object_1</uax:NodeClass>\n        <uax:NodeId>\n          <uax:Identifier>ns=2;i=279</uax:Identifier>\n        </uax:NodeId>\n        <uax:BrowseName>\n          <uax:NamespaceIndex>2</uax:NamespaceIndex>\n          <uax:Name>CustomController</uax:Name>\n        </uax:BrowseName>\n        <uax:DisplayName>\n          <uax:Locale></uax:Locale>\n          <uax:Text>Boiler #3: CC1001</uax:Text>\n        </uax:DisplayName>\n        <uax:ReferenceTypeId>\n          <uax:Identifier>i=47</uax:Identifier>\n        </uax:ReferenceTypeId>\n        <uax:TypeDefinitionId>\n          <uax:Identifier>ns=1;i=22</uax:Identifier>\n        </uax:TypeDefinitionId>\n        <uax:NumericId>279</uax:NumericId>\n        <Input1 xmlns=\"http://tempuri.org/UA/Examples/BoilerType\">\n          <uax:NodeClass>Variable_2</uax:NodeClass>\n          <uax:NodeId>\n            <uax:Identifier>ns=2;i=280</uax:Identifier>\n          </uax:NodeId>\n          <uax:BrowseName>\n            <uax:NamespaceIndex>1</uax:NamespaceIndex>\n            <uax:Name>Input1</uax:Name>\n          </uax:BrowseName>\n          <uax:ReferenceTypeId>\n            <uax:Identifier>i=46</uax:Identifier>\n          </uax:ReferenceTypeId>\n          <uax:TypeDefinitionId>\n            <uax:Identifier>i=68</uax:Identifier>\n          </uax:TypeDefinitionId>\n          <uax:NumericId>280</uax:NumericId>\n          <uax:DataType>\n            <uax:Identifier>i=11</uax:Identifier>\n          </uax:DataType>\n          <uax:ValueRank>-1</uax:ValueRank>\n          <uax:AccessLevel>2</uax:AccessLevel>\n          <uax:UserAccessLevel>2</uax:UserAccessLevel>\n          <uax:References>\n            <uax:Reference>\n              <uax:ReferenceTypeId>\n                <uax:Identifier>ns=1;i=3</uax:Identifier>\n              </uax:ReferenceTypeId>\n              <uax:IsInverse>true</uax:IsInverse>\n              <uax:TargetId>\n                <uax:Identifier>ns=2;i=278</uax:Identifier>\n              </uax:TargetId>\n            </uax:Reference>\n          </uax:References>\n        </Input1>\n        <Input2 xmlns=\"http://tempuri.org/UA/Examples/BoilerType\">\n          <uax:NodeClass>Variable_2</uax:NodeClass>\n          <uax:NodeId>\n            <uax:Identifier>ns=2;i=281</uax:Identifier>\n          </uax:NodeId>\n          <uax:BrowseName>\n            <uax:NamespaceIndex>1</uax:NamespaceIndex>\n            <uax:Name>Input2</uax:Name>\n          </uax:BrowseName>\n          <uax:ReferenceTypeId>\n            <uax:Identifier>i=46</uax:Identifier>\n          </uax:ReferenceTypeId>\n          <uax:TypeDefinitionId>\n            <uax:Identifier>i=68</uax:Identifier>\n          </uax:TypeDefinitionId>\n          <uax:NumericId>281</uax:NumericId>\n          <uax:DataType>\n            <uax:Identifier>i=11</uax:Identifier>\n          </uax:DataType>\n          <uax:ValueRank>-1</uax:ValueRank>\n          <uax:AccessLevel>2</uax:AccessLevel>\n          <uax:UserAccessLevel>2</uax:UserAccessLevel>\n          <uax:References>\n            <uax:Reference>\n              <uax:ReferenceTypeId>\n                <uax:Identifier>ns=1;i=3</uax:Identifier>\n              </uax:ReferenceTypeId>\n              <uax:IsInverse>true</uax:IsInverse>\n              <uax:TargetId>\n                <uax:Identifier>ns=2;i=242</uax:Identifier>\n              </uax:TargetId>\n            </uax:Reference>\n          </uax:References>\n        </Input2>\n        <Input3 xmlns=\"http://tempuri.org/UA/Examples/BoilerType\">\n          <uax:NodeClass>Variable_2</uax:NodeClass>\n          <uax:NodeId>\n            <uax:Identifier>ns=2;i=282</uax:Identifier>\n          </uax:NodeId>\n          <uax:BrowseName>\n            <uax:NamespaceIndex>1</uax:NamespaceIndex>\n            <uax:Name>Input3</uax:Name>\n          </uax:BrowseName>\n          <uax:ReferenceTypeId>\n            <uax:Identifier>i=46</uax:Identifier>\n          </uax:ReferenceTypeId>\n          <uax:TypeDefinitionId>\n            <uax:Identifier>i=68</uax:Identifier>\n          </uax:TypeDefinitionId>\n          <uax:NumericId>282</uax:NumericId>\n          <uax:DataType>\n            <uax:Identifier>i=11</uax:Identifier>\n          </uax:DataType>\n          <uax:ValueRank>-1</uax:ValueRank>\n          <uax:AccessLevel>2</uax:AccessLevel>\n          <uax:UserAccessLevel>2</uax:UserAccessLevel>\n          <uax:References>\n            <uax:Reference>\n              <uax:ReferenceTypeId>\n                <uax:Identifier>ns=1;i=3</uax:Identifier>\n              </uax:ReferenceTypeId>\n              <uax:IsInverse>true</uax:IsInverse>\n              <uax:TargetId>\n                <uax:Identifier>ns=2;i=265</uax:Identifier>\n              </uax:TargetId>\n            </uax:Reference>\n          </uax:References>\n        </Input3>\n        <ControlOut xmlns=\"http://tempuri.org/UA/Examples/BoilerType\">\n          <uax:NodeClass>Variable_2</uax:NodeClass>\n          <uax:NodeId>\n            <uax:Identifier>ns=2;i=283</uax:Identifier>\n          </uax:NodeId>\n          <uax:BrowseName>\n            <uax:NamespaceIndex>1</uax:NamespaceIndex>\n            <uax:Name>ControlOut</uax:Name>\n          </uax:BrowseName>\n          <uax:ReferenceTypeId>\n            <uax:Identifier>i=46</uax:Identifier>\n          </uax:ReferenceTypeId>\n          <uax:TypeDefinitionId>\n            <uax:Identifier>i=68</uax:Identifier>\n          </uax:TypeDefinitionId>\n          <uax:NumericId>283</uax:NumericId>\n          <uax:DataType>\n            <uax:Identifier>i=11</uax:Identifier>\n          </uax:DataType>\n          <uax:ValueRank>-1</uax:ValueRank>\n          <uax:AccessLevel>1</uax:AccessLevel>\n          <uax:UserAccessLevel>1</uax:UserAccessLevel>\n          <uax:References>\n            <uax:Reference>\n              <uax:ReferenceTypeId>\n                <uax:Identifier>ns=1;i=3</uax:Identifier>\n              </uax:ReferenceTypeId>\n              <uax:TargetId>\n                <uax:Identifier>ns=2;i=273</uax:Identifier>\n              </uax:TargetId>\n            </uax:Reference>\n          </uax:References>\n        </ControlOut>\n        <DescriptionX xmlns=\"http://tempuri.org/UA/Examples/BoilerType\">\n          <uax:NodeClass>Variable_2</uax:NodeClass>\n          <uax:NodeId>\n            <uax:Identifier>ns=2;i=284</uax:Identifier>\n          </uax:NodeId>\n          <uax:BrowseName>\n            <uax:NamespaceIndex>1</uax:NamespaceIndex>\n            <uax:Name>Description</uax:Name>\n          </uax:BrowseName>\n          <uax:ReferenceTypeId>\n            <uax:Identifier>i=46</uax:Identifier>\n          </uax:ReferenceTypeId>\n          <uax:TypeDefinitionId>\n            <uax:Identifier>i=68</uax:Identifier>\n          </uax:TypeDefinitionId>\n          <uax:NumericId>284</uax:NumericId>\n          <uax:DataType>\n            <uax:Identifier>i=21</uax:Identifier>\n          </uax:DataType>\n          <uax:ValueRank>-1</uax:ValueRank>\n          <uax:AccessLevel>1</uax:AccessLevel>\n          <uax:UserAccessLevel>1</uax:UserAccessLevel>\n        </DescriptionX>\n      </CustomController>\n      <Simulation xmlns=\"http://tempuri.org/UA/Examples/BoilerType\">\n        <uax:NodeClass>Object_1</uax:NodeClass>\n        <uax:NodeId>\n          <uax:Identifier>ns=2;i=285</uax:Identifier>\n        </uax:NodeId>\n        <uax:BrowseName>\n          <uax:NamespaceIndex>1</uax:NamespaceIndex>\n          <uax:Name>Simulation</uax:Name>\n        </uax:BrowseName>\n        <uax:ReferenceTypeId>\n          <uax:Identifier>i=47</uax:Identifier>\n        </uax:ReferenceTypeId>\n        <uax:TypeDefinitionId>\n          <uax:Identifier>ns=1;i=57</uax:Identifier>\n        </uax:TypeDefinitionId>\n        <uax:NumericId>285</uax:NumericId>\n        <uax:EventNotifier>1</uax:EventNotifier>\n        <uax:References>\n          <uax:Reference>\n            <uax:ReferenceTypeId>\n              <uax:Identifier>i=36</uax:Identifier>\n            </uax:ReferenceTypeId>\n            <uax:IsInverse>true</uax:IsInverse>\n            <uax:TargetId>\n              <uax:Identifier>ns=2;i=239</uax:Identifier>\n            </uax:TargetId>\n          </uax:Reference>\n        </uax:References>\n        <CurrentState xmlns=\"http://opcfoundation.org/UA/\">\n          <uax:NodeClass>Variable_2</uax:NodeClass>\n          <uax:NodeId>\n            <uax:Identifier>ns=2;i=286</uax:Identifier>\n          </uax:NodeId>\n          <uax:BrowseName>\n            <uax:NamespaceIndex>0</uax:NamespaceIndex>\n            <uax:Name>CurrentState</uax:Name>\n          </uax:BrowseName>\n          <uax:ReferenceTypeId>\n            <uax:Identifier>i=47</uax:Identifier>\n          </uax:ReferenceTypeId>\n          <uax:TypeDefinitionId>\n            <uax:Identifier>i=2760</uax:Identifier>\n          </uax:TypeDefinitionId>\n          <uax:NumericId>286</uax:NumericId>\n          <uax:DataType>\n            <uax:Identifier>i=21</uax:Identifier>\n          </uax:DataType>\n          <uax:ValueRank>-1</uax:ValueRank>\n          <uax:AccessLevel>1</uax:AccessLevel>\n          <uax:UserAccessLevel>1</uax:UserAccessLevel>\n          <Id>\n            <uax:NodeClass>Variable_2</uax:NodeClass>\n            <uax:NodeId>\n              <uax:Identifier>ns=2;i=287</uax:Identifier>\n            </uax:NodeId>\n            <uax:BrowseName>\n              <uax:NamespaceIndex>0</uax:NamespaceIndex>\n              <uax:Name>Id</uax:Name>\n            </uax:BrowseName>\n            <uax:ReferenceTypeId>\n              <uax:Identifier>i=46</uax:Identifier>\n            </uax:ReferenceTypeId>\n            <uax:TypeDefinitionId>\n              <uax:Identifier>i=68</uax:Identifier>\n            </uax:TypeDefinitionId>\n            <uax:NumericId>287</uax:NumericId>\n            <uax:DataType>\n              <uax:Identifier>i=17</uax:Identifier>\n            </uax:DataType>\n            <uax:ValueRank>-1</uax:ValueRank>\n            <uax:AccessLevel>1</uax:AccessLevel>\n            <uax:UserAccessLevel>1</uax:UserAccessLevel>\n          </Id>\n          <Number>\n            <uax:NodeClass>Variable_2</uax:NodeClass>\n            <uax:NodeId>\n              <uax:Identifier>ns=2;i=289</uax:Identifier>\n            </uax:NodeId>\n            <uax:BrowseName>\n              <uax:NamespaceIndex>0</uax:NamespaceIndex>\n              <uax:Name>Number</uax:Name>\n            </uax:BrowseName>\n            <uax:ReferenceTypeId>\n              <uax:Identifier>i=46</uax:Identifier>\n            </uax:ReferenceTypeId>\n            <uax:TypeDefinitionId>\n              <uax:Identifier>i=68</uax:Identifier>\n            </uax:TypeDefinitionId>\n            <uax:NumericId>289</uax:NumericId>\n            <uax:DataType>\n              <uax:Identifier>i=7</uax:Identifier>\n            </uax:DataType>\n            <uax:ValueRank>-1</uax:ValueRank>\n            <uax:AccessLevel>1</uax:AccessLevel>\n            <uax:UserAccessLevel>1</uax:UserAccessLevel>\n          </Number>\n        </CurrentState>\n        <LastTransition xmlns=\"http://opcfoundation.org/UA/\">\n          <uax:NodeClass>Variable_2</uax:NodeClass>\n          <uax:NodeId>\n            <uax:Identifier>ns=2;i=291</uax:Identifier>\n          </uax:NodeId>\n          <uax:BrowseName>\n            <uax:NamespaceIndex>0</uax:NamespaceIndex>\n            <uax:Name>LastTransition</uax:Name>\n          </uax:BrowseName>\n          <uax:ReferenceTypeId>\n            <uax:Identifier>i=47</uax:Identifier>\n          </uax:ReferenceTypeId>\n          <uax:TypeDefinitionId>\n            <uax:Identifier>i=2767</uax:Identifier>\n          </uax:TypeDefinitionId>\n          <uax:NumericId>291</uax:NumericId>\n          <uax:DataType>\n            <uax:Identifier>i=21</uax:Identifier>\n          </uax:DataType>\n          <uax:ValueRank>-1</uax:ValueRank>\n          <uax:AccessLevel>1</uax:AccessLevel>\n          <uax:UserAccessLevel>1</uax:UserAccessLevel>\n          <Id>\n            <uax:NodeClass>Variable_2</uax:NodeClass>\n            <uax:NodeId>\n              <uax:Identifier>ns=2;i=292</uax:Identifier>\n            </uax:NodeId>\n            <uax:BrowseName>\n              <uax:NamespaceIndex>0</uax:NamespaceIndex>\n              <uax:Name>Id</uax:Name>\n            </uax:BrowseName>\n            <uax:ReferenceTypeId>\n              <uax:Identifier>i=46</uax:Identifier>\n            </uax:ReferenceTypeId>\n            <uax:TypeDefinitionId>\n              <uax:Identifier>i=68</uax:Identifier>\n            </uax:TypeDefinitionId>\n            <uax:NumericId>292</uax:NumericId>\n            <uax:DataType>\n              <uax:Identifier>i=17</uax:Identifier>\n            </uax:DataType>\n            <uax:ValueRank>-1</uax:ValueRank>\n            <uax:AccessLevel>1</uax:AccessLevel>\n            <uax:UserAccessLevel>1</uax:UserAccessLevel>\n          </Id>\n          <Number>\n            <uax:NodeClass>Variable_2</uax:NodeClass>\n            <uax:NodeId>\n              <uax:Identifier>ns=2;i=294</uax:Identifier>\n            </uax:NodeId>\n            <uax:BrowseName>\n              <uax:NamespaceIndex>0</uax:NamespaceIndex>\n              <uax:Name>Number</uax:Name>\n            </uax:BrowseName>\n            <uax:ReferenceTypeId>\n              <uax:Identifier>i=46</uax:Identifier>\n            </uax:ReferenceTypeId>\n            <uax:TypeDefinitionId>\n              <uax:Identifier>i=68</uax:Identifier>\n            </uax:TypeDefinitionId>\n            <uax:NumericId>294</uax:NumericId>\n            <uax:DataType>\n              <uax:Identifier>i=7</uax:Identifier>\n            </uax:DataType>\n            <uax:ValueRank>-1</uax:ValueRank>\n            <uax:AccessLevel>1</uax:AccessLevel>\n            <uax:UserAccessLevel>1</uax:UserAccessLevel>\n          </Number>\n          <TransitionTime>\n            <uax:NodeClass>Variable_2</uax:NodeClass>\n            <uax:NodeId>\n              <uax:Identifier>ns=2;i=295</uax:Identifier>\n            </uax:NodeId>\n            <uax:BrowseName>\n              <uax:NamespaceIndex>0</uax:NamespaceIndex>\n              <uax:Name>TransitionTime</uax:Name>\n            </uax:BrowseName>\n            <uax:ReferenceTypeId>\n              <uax:Identifier>i=46</uax:Identifier>\n            </uax:ReferenceTypeId>\n            <uax:TypeDefinitionId>\n              <uax:Identifier>i=68</uax:Identifier>\n            </uax:TypeDefinitionId>\n            <uax:NumericId>295</uax:NumericId>\n            <uax:DataType>\n              <uax:Identifier>i=294</uax:Identifier>\n            </uax:DataType>\n            <uax:ValueRank>-1</uax:ValueRank>\n            <uax:AccessLevel>1</uax:AccessLevel>\n            <uax:UserAccessLevel>1</uax:UserAccessLevel>\n          </TransitionTime>\n        </LastTransition>\n        <Deletable xmlns=\"http://opcfoundation.org/UA/\">\n          <uax:NodeClass>Variable_2</uax:NodeClass>\n          <uax:NodeId>\n            <uax:Identifier>ns=2;i=297</uax:Identifier>\n          </uax:NodeId>\n          <uax:BrowseName>\n            <uax:NamespaceIndex>0</uax:NamespaceIndex>\n            <uax:Name>Deletable</uax:Name>\n          </uax:BrowseName>\n          <uax:ReferenceTypeId>\n            <uax:Identifier>i=46</uax:Identifier>\n          </uax:ReferenceTypeId>\n          <uax:TypeDefinitionId>\n            <uax:Identifier>i=68</uax:Identifier>\n          </uax:TypeDefinitionId>\n          <uax:NumericId>297</uax:NumericId>\n          <uax:DataType>\n            <uax:Identifier>i=1</uax:Identifier>\n          </uax:DataType>\n          <uax:ValueRank>-1</uax:ValueRank>\n          <uax:AccessLevel>1</uax:AccessLevel>\n          <uax:UserAccessLevel>1</uax:UserAccessLevel>\n        </Deletable>\n        <RecycleCount xmlns=\"http://opcfoundation.org/UA/\">\n          <uax:NodeClass>Variable_2</uax:NodeClass>\n          <uax:NodeId>\n            <uax:Identifier>ns=2;i=299</uax:Identifier>\n          </uax:NodeId>\n          <uax:BrowseName>\n            <uax:NamespaceIndex>0</uax:NamespaceIndex>\n            <uax:Name>RecycleCount</uax:Name>\n          </uax:BrowseName>\n          <uax:ReferenceTypeId>\n            <uax:Identifier>i=46</uax:Identifier>\n          </uax:ReferenceTypeId>\n          <uax:TypeDefinitionId>\n            <uax:Identifier>i=68</uax:Identifier>\n          </uax:TypeDefinitionId>\n          <uax:NumericId>299</uax:NumericId>\n          <uax:DataType>\n            <uax:Identifier>i=6</uax:Identifier>\n          </uax:DataType>\n          <uax:ValueRank>-1</uax:ValueRank>\n          <uax:AccessLevel>1</uax:AccessLevel>\n          <uax:UserAccessLevel>1</uax:UserAccessLevel>\n        </RecycleCount>\n        <Start xmlns=\"http://opcfoundation.org/UA/\">\n          <uax:NodeClass>Method_4</uax:NodeClass>\n          <uax:NodeId>\n            <uax:Identifier>ns=2;i=312</uax:Identifier>\n          </uax:NodeId>\n          <uax:BrowseName>\n            <uax:NamespaceIndex>0</uax:NamespaceIndex>\n            <uax:Name>Start</uax:Name>\n          </uax:BrowseName>\n          <uax:Description>\n            <uax:Locale></uax:Locale>\n            <uax:Text>Causes the Program to transition from the Ready state to the Running state.</uax:Text>\n          </uax:Description>\n          <uax:ReferenceTypeId>\n            <uax:Identifier>i=47</uax:Identifier>\n          </uax:ReferenceTypeId>\n          <uax:TypeDefinitionId>\n            <uax:Identifier>i=2426</uax:Identifier>\n          </uax:TypeDefinitionId>\n          <uax:NumericId>312</uax:NumericId>\n          <uax:Executable>true</uax:Executable>\n          <uax:UserExecutable>true</uax:UserExecutable>\n        </Start>\n        <Suspend xmlns=\"http://opcfoundation.org/UA/\">\n          <uax:NodeClass>Method_4</uax:NodeClass>\n          <uax:NodeId>\n            <uax:Identifier>ns=2;i=313</uax:Identifier>\n          </uax:NodeId>\n          <uax:BrowseName>\n            <uax:NamespaceIndex>0</uax:NamespaceIndex>\n            <uax:Name>Suspend</uax:Name>\n          </uax:BrowseName>\n          <uax:Description>\n            <uax:Locale></uax:Locale>\n            <uax:Text>Causes the Program to transition from the Running state to the Suspended state.</uax:Text>\n          </uax:Description>\n          <uax:ReferenceTypeId>\n            <uax:Identifier>i=47</uax:Identifier>\n          </uax:ReferenceTypeId>\n          <uax:TypeDefinitionId>\n            <uax:Identifier>i=2427</uax:Identifier>\n          </uax:TypeDefinitionId>\n          <uax:NumericId>313</uax:NumericId>\n          <uax:Executable>true</uax:Executable>\n          <uax:UserExecutable>true</uax:UserExecutable>\n        </Suspend>\n        <Resume xmlns=\"http://opcfoundation.org/UA/\">\n          <uax:NodeClass>Method_4</uax:NodeClass>\n          <uax:NodeId>\n            <uax:Identifier>ns=2;i=314</uax:Identifier>\n          </uax:NodeId>\n          <uax:BrowseName>\n            <uax:NamespaceIndex>0</uax:NamespaceIndex>\n            <uax:Name>Resume</uax:Name>\n          </uax:BrowseName>\n          <uax:Description>\n            <uax:Locale></uax:Locale>\n            <uax:Text>Causes the Program to transition from the Suspended state to the Running state.</uax:Text>\n          </uax:Description>\n          <uax:ReferenceTypeId>\n            <uax:Identifier>i=47</uax:Identifier>\n          </uax:ReferenceTypeId>\n          <uax:TypeDefinitionId>\n            <uax:Identifier>i=2428</uax:Identifier>\n          </uax:TypeDefinitionId>\n          <uax:NumericId>314</uax:NumericId>\n          <uax:Executable>true</uax:Executable>\n          <uax:UserExecutable>true</uax:UserExecutable>\n        </Resume>\n        <Halt xmlns=\"http://opcfoundation.org/UA/\">\n          <uax:NodeClass>Method_4</uax:NodeClass>\n          <uax:NodeId>\n            <uax:Identifier>ns=2;i=315</uax:Identifier>\n          </uax:NodeId>\n          <uax:BrowseName>\n            <uax:NamespaceIndex>0</uax:NamespaceIndex>\n            <uax:Name>Halt</uax:Name>\n          </uax:BrowseName>\n          <uax:Description>\n            <uax:Locale></uax:Locale>\n            <uax:Text>Causes the Program to transition from the Ready, Running or Suspended state to the Halted state.</uax:Text>\n          </uax:Description>\n          <uax:ReferenceTypeId>\n            <uax:Identifier>i=47</uax:Identifier>\n          </uax:ReferenceTypeId>\n          <uax:TypeDefinitionId>\n            <uax:Identifier>i=2429</uax:Identifier>\n          </uax:TypeDefinitionId>\n          <uax:NumericId>315</uax:NumericId>\n          <uax:Executable>true</uax:Executable>\n          <uax:UserExecutable>true</uax:UserExecutable>\n        </Halt>\n        <Reset xmlns=\"http://opcfoundation.org/UA/\">\n          <uax:NodeClass>Method_4</uax:NodeClass>\n          <uax:NodeId>\n            <uax:Identifier>ns=2;i=316</uax:Identifier>\n          </uax:NodeId>\n          <uax:BrowseName>\n            <uax:NamespaceIndex>0</uax:NamespaceIndex>\n            <uax:Name>Reset</uax:Name>\n          </uax:BrowseName>\n          <uax:Description>\n            <uax:Locale></uax:Locale>\n            <uax:Text>Causes the Program to transition from the Halted state to the Ready state.</uax:Text>\n          </uax:Description>\n          <uax:ReferenceTypeId>\n            <uax:Identifier>i=47</uax:Identifier>\n          </uax:ReferenceTypeId>\n          <uax:TypeDefinitionId>\n            <uax:Identifier>i=2430</uax:Identifier>\n          </uax:TypeDefinitionId>\n          <uax:NumericId>316</uax:NumericId>\n          <uax:Executable>true</uax:Executable>\n          <uax:UserExecutable>true</uax:UserExecutable>\n        </Reset>\n        <UpdateRate>\n          <uax:NodeClass>Variable_2</uax:NodeClass>\n          <uax:NodeId>\n            <uax:Identifier>ns=2;i=317</uax:Identifier>\n          </uax:NodeId>\n          <uax:BrowseName>\n            <uax:NamespaceIndex>1</uax:NamespaceIndex>\n            <uax:Name>UpdateRate</uax:Name>\n          </uax:BrowseName>\n          <uax:Description>\n            <uax:Locale></uax:Locale>\n            <uax:Text>The rate at which the simulation runs.</uax:Text>\n          </uax:Description>\n          <uax:ReferenceTypeId>\n            <uax:Identifier>i=46</uax:Identifier>\n          </uax:ReferenceTypeId>\n          <uax:TypeDefinitionId>\n            <uax:Identifier>i=68</uax:Identifier>\n          </uax:TypeDefinitionId>\n          <uax:NumericId>317</uax:NumericId>\n          <uax:DataType>\n            <uax:Identifier>i=7</uax:Identifier>\n          </uax:DataType>\n          <uax:ValueRank>-1</uax:ValueRank>\n          <uax:AccessLevel>3</uax:AccessLevel>\n          <uax:UserAccessLevel>3</uax:UserAccessLevel>\n        </UpdateRate>\n      </Simulation>\n    </BoilerCharlie>\n    <BoilerDelta>\n      <uax:NodeClass>Object_1</uax:NodeClass>\n      <uax:NodeId>\n        <uax:Identifier>ns=2;i=318</uax:Identifier>\n      </uax:NodeId>\n      <uax:BrowseName>\n        <uax:NamespaceIndex>2</uax:NamespaceIndex>\n        <uax:Name>Boiler #4</uax:Name>\n      </uax:BrowseName>\n      <uax:ReferenceTypeId>\n        <uax:Identifier>i=47</uax:Identifier>\n      </uax:ReferenceTypeId>\n      <uax:TypeDefinitionId>\n        <uax:Identifier>ns=1;i=151</uax:Identifier>\n      </uax:TypeDefinitionId>\n      <uax:NumericId>318</uax:NumericId>\n      <uax:References>\n        <uax:Reference>\n          <uax:ReferenceTypeId>\n            <uax:Identifier>i=48</uax:Identifier>\n          </uax:ReferenceTypeId>\n          <uax:TargetId>\n            <uax:Identifier>ns=2;i=319</uax:Identifier>\n          </uax:TargetId>\n        </uax:Reference>\n        <uax:Reference>\n          <uax:ReferenceTypeId>\n            <uax:Identifier>i=48</uax:Identifier>\n          </uax:ReferenceTypeId>\n          <uax:TargetId>\n            <uax:Identifier>ns=2;i=334</uax:Identifier>\n          </uax:TargetId>\n        </uax:Reference>\n        <uax:Reference>\n          <uax:ReferenceTypeId>\n            <uax:Identifier>i=48</uax:Identifier>\n          </uax:ReferenceTypeId>\n          <uax:TargetId>\n            <uax:Identifier>ns=2;i=342</uax:Identifier>\n          </uax:TargetId>\n        </uax:Reference>\n        <uax:Reference>\n          <uax:ReferenceTypeId>\n            <uax:Identifier>i=36</uax:Identifier>\n          </uax:ReferenceTypeId>\n          <uax:TargetId>\n            <uax:Identifier>ns=2;i=364</uax:Identifier>\n          </uax:TargetId>\n        </uax:Reference>\n      </uax:References>\n      <InputPipe>\n        <uax:NodeClass>Object_1</uax:NodeClass>\n        <uax:NodeId>\n          <uax:Identifier>ns=2;i=319</uax:Identifier>\n        </uax:NodeId>\n        <uax:BrowseName>\n          <uax:NamespaceIndex>2</uax:NamespaceIndex>\n          <uax:Name>InputPipe</uax:Name>\n        </uax:BrowseName>\n        <uax:DisplayName>\n          <uax:Locale></uax:Locale>\n          <uax:Text>Boiler #4: Pipe1001</uax:Text>\n        </uax:DisplayName>\n        <uax:ReferenceTypeId>\n          <uax:Identifier>i=47</uax:Identifier>\n        </uax:ReferenceTypeId>\n        <uax:TypeDefinitionId>\n          <uax:Identifier>ns=1;i=120</uax:Identifier>\n        </uax:TypeDefinitionId>\n        <uax:NumericId>319</uax:NumericId>\n        <uax:EventNotifier>1</uax:EventNotifier>\n        <uax:References>\n          <uax:Reference>\n            <uax:ReferenceTypeId>\n              <uax:Identifier>i=48</uax:Identifier>\n            </uax:ReferenceTypeId>\n            <uax:IsInverse>true</uax:IsInverse>\n            <uax:TargetId>\n              <uax:Identifier>ns=2;i=318</uax:Identifier>\n            </uax:TargetId>\n          </uax:Reference>\n          <uax:Reference>\n            <uax:ReferenceTypeId>\n              <uax:Identifier>i=48</uax:Identifier>\n            </uax:ReferenceTypeId>\n            <uax:TargetId>\n              <uax:Identifier>ns=2;i=320</uax:Identifier>\n            </uax:TargetId>\n          </uax:Reference>\n          <uax:Reference>\n            <uax:ReferenceTypeId>\n              <uax:Identifier>ns=1;i=1</uax:Identifier>\n            </uax:ReferenceTypeId>\n            <uax:TargetId>\n              <uax:Identifier>ns=2;i=334</uax:Identifier>\n            </uax:TargetId>\n          </uax:Reference>\n        </uax:References>\n        <FlowTransmitter1 xmlns=\"http://tempuri.org/UA/Examples/BoilerType\">\n          <uax:NodeClass>Object_1</uax:NodeClass>\n          <uax:NodeId>\n            <uax:Identifier>ns=2;i=320</uax:Identifier>\n          </uax:NodeId>\n          <uax:BrowseName>\n            <uax:NamespaceIndex>1</uax:NamespaceIndex>\n            <uax:Name>FTX001</uax:Name>\n          </uax:BrowseName>\n          <uax:DisplayName>\n            <uax:Locale></uax:Locale>\n            <uax:Text>FlowTransmitter1</uax:Text>\n          </uax:DisplayName>\n          <uax:ReferenceTypeId>\n            <uax:Identifier>i=47</uax:Identifier>\n          </uax:ReferenceTypeId>\n          <uax:TypeDefinitionId>\n            <uax:Identifier>ns=1;i=50</uax:Identifier>\n          </uax:TypeDefinitionId>\n          <uax:NumericId>320</uax:NumericId>\n          <uax:EventNotifier>1</uax:EventNotifier>\n          <uax:References>\n            <uax:Reference>\n              <uax:ReferenceTypeId>\n                <uax:Identifier>i=48</uax:Identifier>\n              </uax:ReferenceTypeId>\n              <uax:IsInverse>true</uax:IsInverse>\n              <uax:TargetId>\n                <uax:Identifier>ns=2;i=319</uax:Identifier>\n              </uax:TargetId>\n            </uax:Reference>\n          </uax:References>\n          <Output>\n            <uax:NodeClass>Variable_2</uax:NodeClass>\n            <uax:NodeId>\n              <uax:Identifier>ns=2;i=321</uax:Identifier>\n            </uax:NodeId>\n            <uax:BrowseName>\n              <uax:NamespaceIndex>1</uax:NamespaceIndex>\n              <uax:Name>Output</uax:Name>\n            </uax:BrowseName>\n            <uax:ReferenceTypeId>\n              <uax:Identifier>i=47</uax:Identifier>\n            </uax:ReferenceTypeId>\n            <uax:TypeDefinitionId>\n              <uax:Identifier>i=2368</uax:Identifier>\n            </uax:TypeDefinitionId>\n            <uax:NumericId>321</uax:NumericId>\n            <uax:DataType>\n              <uax:Identifier>i=11</uax:Identifier>\n            </uax:DataType>\n            <uax:ValueRank>-1</uax:ValueRank>\n            <uax:AccessLevel>1</uax:AccessLevel>\n            <uax:UserAccessLevel>1</uax:UserAccessLevel>\n            <uax:References>\n              <uax:Reference>\n                <uax:ReferenceTypeId>\n                  <uax:Identifier>ns=1;i=3</uax:Identifier>\n                </uax:ReferenceTypeId>\n                <uax:TargetId>\n                  <uax:Identifier>ns=2;i=351</uax:Identifier>\n                </uax:TargetId>\n              </uax:Reference>\n              <uax:Reference>\n                <uax:ReferenceTypeId>\n                  <uax:Identifier>ns=1;i=3</uax:Identifier>\n                </uax:ReferenceTypeId>\n                <uax:TargetId>\n                  <uax:Identifier>ns=2;i=360</uax:Identifier>\n                </uax:TargetId>\n              </uax:Reference>\n            </uax:References>\n            <EURange xmlns=\"http://opcfoundation.org/UA/\">\n              <uax:NodeClass>Variable_2</uax:NodeClass>\n              <uax:NodeId>\n                <uax:Identifier>ns=2;i=325</uax:Identifier>\n              </uax:NodeId>\n              <uax:BrowseName>\n                <uax:NamespaceIndex>0</uax:NamespaceIndex>\n                <uax:Name>EURange</uax:Name>\n              </uax:BrowseName>\n              <uax:ReferenceTypeId>\n                <uax:Identifier>i=46</uax:Identifier>\n              </uax:ReferenceTypeId>\n              <uax:TypeDefinitionId>\n                <uax:Identifier>i=68</uax:Identifier>\n              </uax:TypeDefinitionId>\n              <uax:NumericId>325</uax:NumericId>\n              <uax:DataType>\n                <uax:Identifier>i=884</uax:Identifier>\n              </uax:DataType>\n              <uax:ValueRank>-1</uax:ValueRank>\n              <uax:AccessLevel>1</uax:AccessLevel>\n              <uax:UserAccessLevel>1</uax:UserAccessLevel>\n            </EURange>\n          </Output>\n        </FlowTransmitter1>\n        <Valve xmlns=\"http://tempuri.org/UA/Examples/BoilerType\">\n          <uax:NodeClass>Object_1</uax:NodeClass>\n          <uax:NodeId>\n            <uax:Identifier>ns=2;i=327</uax:Identifier>\n          </uax:NodeId>\n          <uax:BrowseName>\n            <uax:NamespaceIndex>1</uax:NamespaceIndex>\n            <uax:Name>ValveX001</uax:Name>\n          </uax:BrowseName>\n          <uax:DisplayName>\n            <uax:Locale></uax:Locale>\n            <uax:Text>Valve</uax:Text>\n          </uax:DisplayName>\n          <uax:ReferenceTypeId>\n            <uax:Identifier>i=47</uax:Identifier>\n          </uax:ReferenceTypeId>\n          <uax:TypeDefinitionId>\n            <uax:Identifier>ns=1;i=28</uax:Identifier>\n          </uax:TypeDefinitionId>\n          <uax:NumericId>327</uax:NumericId>\n          <uax:EventNotifier>1</uax:EventNotifier>\n          <Input>\n            <uax:NodeClass>Variable_2</uax:NodeClass>\n            <uax:NodeId>\n              <uax:Identifier>ns=2;i=328</uax:Identifier>\n            </uax:NodeId>\n            <uax:BrowseName>\n              <uax:NamespaceIndex>1</uax:NamespaceIndex>\n              <uax:Name>Input</uax:Name>\n            </uax:BrowseName>\n            <uax:ReferenceTypeId>\n              <uax:Identifier>i=47</uax:Identifier>\n            </uax:ReferenceTypeId>\n            <uax:TypeDefinitionId>\n              <uax:Identifier>i=2368</uax:Identifier>\n            </uax:TypeDefinitionId>\n            <uax:NumericId>328</uax:NumericId>\n            <uax:DataType>\n              <uax:Identifier>i=11</uax:Identifier>\n            </uax:DataType>\n            <uax:ValueRank>-1</uax:ValueRank>\n            <uax:AccessLevel>2</uax:AccessLevel>\n            <uax:UserAccessLevel>2</uax:UserAccessLevel>\n            <uax:References>\n              <uax:Reference>\n                <uax:ReferenceTypeId>\n                  <uax:Identifier>ns=1;i=3</uax:Identifier>\n                </uax:ReferenceTypeId>\n                <uax:IsInverse>true</uax:IsInverse>\n                <uax:TargetId>\n                  <uax:Identifier>ns=2;i=353</uax:Identifier>\n                </uax:TargetId>\n              </uax:Reference>\n            </uax:References>\n            <EURange xmlns=\"http://opcfoundation.org/UA/\">\n              <uax:NodeClass>Variable_2</uax:NodeClass>\n              <uax:NodeId>\n                <uax:Identifier>ns=2;i=332</uax:Identifier>\n              </uax:NodeId>\n              <uax:BrowseName>\n                <uax:NamespaceIndex>0</uax:NamespaceIndex>\n                <uax:Name>EURange</uax:Name>\n              </uax:BrowseName>\n              <uax:ReferenceTypeId>\n                <uax:Identifier>i=46</uax:Identifier>\n              </uax:ReferenceTypeId>\n              <uax:TypeDefinitionId>\n                <uax:Identifier>i=68</uax:Identifier>\n              </uax:TypeDefinitionId>\n              <uax:NumericId>332</uax:NumericId>\n              <uax:DataType>\n                <uax:Identifier>i=884</uax:Identifier>\n              </uax:DataType>\n              <uax:ValueRank>-1</uax:ValueRank>\n              <uax:AccessLevel>1</uax:AccessLevel>\n              <uax:UserAccessLevel>1</uax:UserAccessLevel>\n            </EURange>\n          </Input>\n        </Valve>\n      </InputPipe>\n      <Drum>\n        <uax:NodeClass>Object_1</uax:NodeClass>\n        <uax:NodeId>\n          <uax:Identifier>ns=2;i=334</uax:Identifier>\n        </uax:NodeId>\n        <uax:BrowseName>\n          <uax:NamespaceIndex>2</uax:NamespaceIndex>\n          <uax:Name>Drum</uax:Name>\n        </uax:BrowseName>\n        <uax:DisplayName>\n          <uax:Locale></uax:Locale>\n          <uax:Text>Boiler #4: Drum1001</uax:Text>\n        </uax:DisplayName>\n        <uax:ReferenceTypeId>\n          <uax:Identifier>i=47</uax:Identifier>\n        </uax:ReferenceTypeId>\n        <uax:TypeDefinitionId>\n          <uax:Identifier>ns=1;i=135</uax:Identifier>\n        </uax:TypeDefinitionId>\n        <uax:NumericId>334</uax:NumericId>\n        <uax:EventNotifier>1</uax:EventNotifier>\n        <uax:References>\n          <uax:Reference>\n            <uax:ReferenceTypeId>\n              <uax:Identifier>i=48</uax:Identifier>\n            </uax:ReferenceTypeId>\n            <uax:IsInverse>true</uax:IsInverse>\n            <uax:TargetId>\n              <uax:Identifier>ns=2;i=318</uax:Identifier>\n            </uax:TargetId>\n          </uax:Reference>\n          <uax:Reference>\n            <uax:ReferenceTypeId>\n              <uax:Identifier>ns=1;i=1</uax:Identifier>\n            </uax:ReferenceTypeId>\n            <uax:IsInverse>true</uax:IsInverse>\n            <uax:TargetId>\n              <uax:Identifier>ns=2;i=319</uax:Identifier>\n            </uax:TargetId>\n          </uax:Reference>\n          <uax:Reference>\n            <uax:ReferenceTypeId>\n              <uax:Identifier>i=48</uax:Identifier>\n            </uax:ReferenceTypeId>\n            <uax:TargetId>\n              <uax:Identifier>ns=2;i=335</uax:Identifier>\n            </uax:TargetId>\n          </uax:Reference>\n          <uax:Reference>\n            <uax:ReferenceTypeId>\n              <uax:Identifier>ns=1;i=2</uax:Identifier>\n            </uax:ReferenceTypeId>\n            <uax:TargetId>\n              <uax:Identifier>ns=2;i=342</uax:Identifier>\n            </uax:TargetId>\n          </uax:Reference>\n        </uax:References>\n        <LevelIndicator xmlns=\"http://tempuri.org/UA/Examples/BoilerType\">\n          <uax:NodeClass>Object_1</uax:NodeClass>\n          <uax:NodeId>\n            <uax:Identifier>ns=2;i=335</uax:Identifier>\n          </uax:NodeId>\n          <uax:BrowseName>\n            <uax:NamespaceIndex>1</uax:NamespaceIndex>\n            <uax:Name>LIX001</uax:Name>\n          </uax:BrowseName>\n          <uax:ReferenceTypeId>\n            <uax:Identifier>i=47</uax:Identifier>\n          </uax:ReferenceTypeId>\n          <uax:TypeDefinitionId>\n            <uax:Identifier>ns=1;i=43</uax:Identifier>\n          </uax:TypeDefinitionId>\n          <uax:NumericId>335</uax:NumericId>\n          <uax:EventNotifier>1</uax:EventNotifier>\n          <uax:References>\n            <uax:Reference>\n              <uax:ReferenceTypeId>\n                <uax:Identifier>i=48</uax:Identifier>\n              </uax:ReferenceTypeId>\n              <uax:IsInverse>true</uax:IsInverse>\n              <uax:TargetId>\n                <uax:Identifier>ns=2;i=334</uax:Identifier>\n              </uax:TargetId>\n            </uax:Reference>\n          </uax:References>\n          <Output>\n            <uax:NodeClass>Variable_2</uax:NodeClass>\n            <uax:NodeId>\n              <uax:Identifier>ns=2;i=336</uax:Identifier>\n            </uax:NodeId>\n            <uax:BrowseName>\n              <uax:NamespaceIndex>1</uax:NamespaceIndex>\n              <uax:Name>Output</uax:Name>\n            </uax:BrowseName>\n            <uax:ReferenceTypeId>\n              <uax:Identifier>i=47</uax:Identifier>\n            </uax:ReferenceTypeId>\n            <uax:TypeDefinitionId>\n              <uax:Identifier>i=2368</uax:Identifier>\n            </uax:TypeDefinitionId>\n            <uax:NumericId>336</uax:NumericId>\n            <uax:DataType>\n              <uax:Identifier>i=26</uax:Identifier>\n            </uax:DataType>\n            <uax:ValueRank>-1</uax:ValueRank>\n            <uax:AccessLevel>1</uax:AccessLevel>\n            <uax:UserAccessLevel>1</uax:UserAccessLevel>\n            <uax:References>\n              <uax:Reference>\n                <uax:ReferenceTypeId>\n                  <uax:Identifier>ns=1;i=3</uax:Identifier>\n                </uax:ReferenceTypeId>\n                <uax:TargetId>\n                  <uax:Identifier>ns=2;i=355</uax:Identifier>\n                </uax:TargetId>\n              </uax:Reference>\n            </uax:References>\n            <EURange xmlns=\"http://opcfoundation.org/UA/\">\n              <uax:NodeClass>Variable_2</uax:NodeClass>\n              <uax:NodeId>\n                <uax:Identifier>ns=2;i=340</uax:Identifier>\n              </uax:NodeId>\n              <uax:BrowseName>\n                <uax:NamespaceIndex>0</uax:NamespaceIndex>\n                <uax:Name>EURange</uax:Name>\n              </uax:BrowseName>\n              <uax:ReferenceTypeId>\n                <uax:Identifier>i=46</uax:Identifier>\n              </uax:ReferenceTypeId>\n              <uax:TypeDefinitionId>\n                <uax:Identifier>i=68</uax:Identifier>\n              </uax:TypeDefinitionId>\n              <uax:NumericId>340</uax:NumericId>\n              <uax:DataType>\n                <uax:Identifier>i=884</uax:Identifier>\n              </uax:DataType>\n              <uax:ValueRank>-1</uax:ValueRank>\n              <uax:AccessLevel>1</uax:AccessLevel>\n              <uax:UserAccessLevel>1</uax:UserAccessLevel>\n            </EURange>\n          </Output>\n        </LevelIndicator>\n      </Drum>\n      <OutputPipe>\n        <uax:NodeClass>Object_1</uax:NodeClass>\n        <uax:NodeId>\n          <uax:Identifier>ns=2;i=342</uax:Identifier>\n        </uax:NodeId>\n        <uax:BrowseName>\n          <uax:NamespaceIndex>2</uax:NamespaceIndex>\n          <uax:Name>OutputPipe</uax:Name>\n        </uax:BrowseName>\n        <uax:DisplayName>\n          <uax:Locale></uax:Locale>\n          <uax:Text>Boiler #4: Pipe1002</uax:Text>\n        </uax:DisplayName>\n        <uax:ReferenceTypeId>\n          <uax:Identifier>i=47</uax:Identifier>\n        </uax:ReferenceTypeId>\n        <uax:TypeDefinitionId>\n          <uax:Identifier>ns=1;i=143</uax:Identifier>\n        </uax:TypeDefinitionId>\n        <uax:NumericId>342</uax:NumericId>\n        <uax:EventNotifier>1</uax:EventNotifier>\n        <uax:References>\n          <uax:Reference>\n            <uax:ReferenceTypeId>\n              <uax:Identifier>i=48</uax:Identifier>\n            </uax:ReferenceTypeId>\n            <uax:IsInverse>true</uax:IsInverse>\n            <uax:TargetId>\n              <uax:Identifier>ns=2;i=318</uax:Identifier>\n            </uax:TargetId>\n          </uax:Reference>\n          <uax:Reference>\n            <uax:ReferenceTypeId>\n              <uax:Identifier>ns=1;i=2</uax:Identifier>\n            </uax:ReferenceTypeId>\n            <uax:IsInverse>true</uax:IsInverse>\n            <uax:TargetId>\n              <uax:Identifier>ns=2;i=334</uax:Identifier>\n            </uax:TargetId>\n          </uax:Reference>\n          <uax:Reference>\n            <uax:ReferenceTypeId>\n              <uax:Identifier>i=48</uax:Identifier>\n            </uax:ReferenceTypeId>\n            <uax:TargetId>\n              <uax:Identifier>ns=2;i=343</uax:Identifier>\n            </uax:TargetId>\n          </uax:Reference>\n        </uax:References>\n        <FlowTransmitter2 xmlns=\"http://tempuri.org/UA/Examples/BoilerType\">\n          <uax:NodeClass>Object_1</uax:NodeClass>\n          <uax:NodeId>\n            <uax:Identifier>ns=2;i=343</uax:Identifier>\n          </uax:NodeId>\n          <uax:BrowseName>\n            <uax:NamespaceIndex>1</uax:NamespaceIndex>\n            <uax:Name>FTX002</uax:Name>\n          </uax:BrowseName>\n          <uax:ReferenceTypeId>\n            <uax:Identifier>i=47</uax:Identifier>\n          </uax:ReferenceTypeId>\n          <uax:TypeDefinitionId>\n            <uax:Identifier>ns=1;i=50</uax:Identifier>\n          </uax:TypeDefinitionId>\n          <uax:NumericId>343</uax:NumericId>\n          <uax:EventNotifier>1</uax:EventNotifier>\n          <uax:References>\n            <uax:Reference>\n              <uax:ReferenceTypeId>\n                <uax:Identifier>i=48</uax:Identifier>\n              </uax:ReferenceTypeId>\n              <uax:IsInverse>true</uax:IsInverse>\n              <uax:TargetId>\n                <uax:Identifier>ns=2;i=342</uax:Identifier>\n              </uax:TargetId>\n            </uax:Reference>\n          </uax:References>\n          <Output>\n            <uax:NodeClass>Variable_2</uax:NodeClass>\n            <uax:NodeId>\n              <uax:Identifier>ns=2;i=344</uax:Identifier>\n            </uax:NodeId>\n            <uax:BrowseName>\n              <uax:NamespaceIndex>1</uax:NamespaceIndex>\n              <uax:Name>Output</uax:Name>\n            </uax:BrowseName>\n            <uax:ReferenceTypeId>\n              <uax:Identifier>i=47</uax:Identifier>\n            </uax:ReferenceTypeId>\n            <uax:TypeDefinitionId>\n              <uax:Identifier>i=2368</uax:Identifier>\n            </uax:TypeDefinitionId>\n            <uax:NumericId>344</uax:NumericId>\n            <uax:DataType>\n              <uax:Identifier>i=11</uax:Identifier>\n            </uax:DataType>\n            <uax:ValueRank>-1</uax:ValueRank>\n            <uax:AccessLevel>1</uax:AccessLevel>\n            <uax:UserAccessLevel>1</uax:UserAccessLevel>\n            <uax:References>\n              <uax:Reference>\n                <uax:ReferenceTypeId>\n                  <uax:Identifier>ns=1;i=3</uax:Identifier>\n                </uax:ReferenceTypeId>\n                <uax:TargetId>\n                  <uax:Identifier>ns=2;i=361</uax:Identifier>\n                </uax:TargetId>\n              </uax:Reference>\n            </uax:References>\n            <EURange xmlns=\"http://opcfoundation.org/UA/\">\n              <uax:NodeClass>Variable_2</uax:NodeClass>\n              <uax:NodeId>\n                <uax:Identifier>ns=2;i=348</uax:Identifier>\n              </uax:NodeId>\n              <uax:BrowseName>\n                <uax:NamespaceIndex>0</uax:NamespaceIndex>\n                <uax:Name>EURange</uax:Name>\n              </uax:BrowseName>\n              <uax:ReferenceTypeId>\n                <uax:Identifier>i=46</uax:Identifier>\n              </uax:ReferenceTypeId>\n              <uax:TypeDefinitionId>\n                <uax:Identifier>i=68</uax:Identifier>\n              </uax:TypeDefinitionId>\n              <uax:NumericId>348</uax:NumericId>\n              <uax:DataType>\n                <uax:Identifier>i=884</uax:Identifier>\n              </uax:DataType>\n              <uax:ValueRank>-1</uax:ValueRank>\n              <uax:AccessLevel>1</uax:AccessLevel>\n              <uax:UserAccessLevel>1</uax:UserAccessLevel>\n            </EURange>\n          </Output>\n        </FlowTransmitter2>\n      </OutputPipe>\n      <FlowController>\n        <uax:NodeClass>Object_1</uax:NodeClass>\n        <uax:NodeId>\n          <uax:Identifier>ns=2;i=350</uax:Identifier>\n        </uax:NodeId>\n        <uax:BrowseName>\n          <uax:NamespaceIndex>2</uax:NamespaceIndex>\n          <uax:Name>FlowController</uax:Name>\n        </uax:BrowseName>\n        <uax:DisplayName>\n          <uax:Locale></uax:Locale>\n          <uax:Text>Boiler #4: FC1001</uax:Text>\n        </uax:DisplayName>\n        <uax:ReferenceTypeId>\n          <uax:Identifier>i=47</uax:Identifier>\n        </uax:ReferenceTypeId>\n        <uax:TypeDefinitionId>\n          <uax:Identifier>ns=1;i=39</uax:Identifier>\n        </uax:TypeDefinitionId>\n        <uax:NumericId>350</uax:NumericId>\n        <Measurement xmlns=\"http://tempuri.org/UA/Examples/BoilerType\">\n          <uax:NodeClass>Variable_2</uax:NodeClass>\n          <uax:NodeId>\n            <uax:Identifier>ns=2;i=351</uax:Identifier>\n          </uax:NodeId>\n          <uax:BrowseName>\n            <uax:NamespaceIndex>1</uax:NamespaceIndex>\n            <uax:Name>Measurement</uax:Name>\n          </uax:BrowseName>\n          <uax:ReferenceTypeId>\n            <uax:Identifier>i=46</uax:Identifier>\n          </uax:ReferenceTypeId>\n          <uax:TypeDefinitionId>\n            <uax:Identifier>i=68</uax:Identifier>\n          </uax:TypeDefinitionId>\n          <uax:NumericId>351</uax:NumericId>\n          <uax:DataType>\n            <uax:Identifier>i=11</uax:Identifier>\n          </uax:DataType>\n          <uax:ValueRank>-1</uax:ValueRank>\n          <uax:AccessLevel>1</uax:AccessLevel>\n          <uax:UserAccessLevel>1</uax:UserAccessLevel>\n          <uax:References>\n            <uax:Reference>\n              <uax:ReferenceTypeId>\n                <uax:Identifier>ns=1;i=3</uax:Identifier>\n              </uax:ReferenceTypeId>\n              <uax:IsInverse>true</uax:IsInverse>\n              <uax:TargetId>\n                <uax:Identifier>ns=2;i=321</uax:Identifier>\n              </uax:TargetId>\n            </uax:Reference>\n          </uax:References>\n        </Measurement>\n        <SetPoint xmlns=\"http://tempuri.org/UA/Examples/BoilerType\">\n          <uax:NodeClass>Variable_2</uax:NodeClass>\n          <uax:NodeId>\n            <uax:Identifier>ns=2;i=352</uax:Identifier>\n          </uax:NodeId>\n          <uax:BrowseName>\n            <uax:NamespaceIndex>1</uax:NamespaceIndex>\n            <uax:Name>SetPoint</uax:Name>\n          </uax:BrowseName>\n          <uax:ReferenceTypeId>\n            <uax:Identifier>i=46</uax:Identifier>\n          </uax:ReferenceTypeId>\n          <uax:TypeDefinitionId>\n            <uax:Identifier>i=68</uax:Identifier>\n          </uax:TypeDefinitionId>\n          <uax:NumericId>352</uax:NumericId>\n          <uax:DataType>\n            <uax:Identifier>i=11</uax:Identifier>\n          </uax:DataType>\n          <uax:ValueRank>-1</uax:ValueRank>\n          <uax:AccessLevel>3</uax:AccessLevel>\n          <uax:UserAccessLevel>3</uax:UserAccessLevel>\n          <uax:References>\n            <uax:Reference>\n              <uax:ReferenceTypeId>\n                <uax:Identifier>ns=1;i=3</uax:Identifier>\n              </uax:ReferenceTypeId>\n              <uax:IsInverse>true</uax:IsInverse>\n              <uax:TargetId>\n                <uax:Identifier>ns=2;i=362</uax:Identifier>\n              </uax:TargetId>\n            </uax:Reference>\n          </uax:References>\n        </SetPoint>\n        <ControlOut xmlns=\"http://tempuri.org/UA/Examples/BoilerType\">\n          <uax:NodeClass>Variable_2</uax:NodeClass>\n          <uax:NodeId>\n            <uax:Identifier>ns=2;i=353</uax:Identifier>\n          </uax:NodeId>\n          <uax:BrowseName>\n            <uax:NamespaceIndex>1</uax:NamespaceIndex>\n            <uax:Name>ControlOut</uax:Name>\n          </uax:BrowseName>\n          <uax:ReferenceTypeId>\n            <uax:Identifier>i=46</uax:Identifier>\n          </uax:ReferenceTypeId>\n          <uax:TypeDefinitionId>\n            <uax:Identifier>i=68</uax:Identifier>\n          </uax:TypeDefinitionId>\n          <uax:NumericId>353</uax:NumericId>\n          <uax:DataType>\n            <uax:Identifier>i=11</uax:Identifier>\n          </uax:DataType>\n          <uax:ValueRank>-1</uax:ValueRank>\n          <uax:AccessLevel>1</uax:AccessLevel>\n          <uax:UserAccessLevel>1</uax:UserAccessLevel>\n          <uax:References>\n            <uax:Reference>\n              <uax:ReferenceTypeId>\n                <uax:Identifier>ns=1;i=3</uax:Identifier>\n              </uax:ReferenceTypeId>\n              <uax:TargetId>\n                <uax:Identifier>ns=2;i=328</uax:Identifier>\n              </uax:TargetId>\n            </uax:Reference>\n          </uax:References>\n        </ControlOut>\n      </FlowController>\n      <LevelController>\n        <uax:NodeClass>Object_1</uax:NodeClass>\n        <uax:NodeId>\n          <uax:Identifier>ns=2;i=354</uax:Identifier>\n        </uax:NodeId>\n        <uax:BrowseName>\n          <uax:NamespaceIndex>2</uax:NamespaceIndex>\n          <uax:Name>LevelController</uax:Name>\n        </uax:BrowseName>\n        <uax:DisplayName>\n          <uax:Locale></uax:Locale>\n          <uax:Text>Boiler #4: LC1001</uax:Text>\n        </uax:DisplayName>\n        <uax:ReferenceTypeId>\n          <uax:Identifier>i=47</uax:Identifier>\n        </uax:ReferenceTypeId>\n        <uax:TypeDefinitionId>\n          <uax:Identifier>ns=1;i=35</uax:Identifier>\n        </uax:TypeDefinitionId>\n        <uax:NumericId>354</uax:NumericId>\n        <Measurement xmlns=\"http://tempuri.org/UA/Examples/BoilerType\">\n          <uax:NodeClass>Variable_2</uax:NodeClass>\n          <uax:NodeId>\n            <uax:Identifier>ns=2;i=355</uax:Identifier>\n          </uax:NodeId>\n          <uax:BrowseName>\n            <uax:NamespaceIndex>1</uax:NamespaceIndex>\n            <uax:Name>Measurement</uax:Name>\n          </uax:BrowseName>\n          <uax:ReferenceTypeId>\n            <uax:Identifier>i=46</uax:Identifier>\n          </uax:ReferenceTypeId>\n          <uax:TypeDefinitionId>\n            <uax:Identifier>i=68</uax:Identifier>\n          </uax:TypeDefinitionId>\n          <uax:NumericId>355</uax:NumericId>\n          <uax:DataType>\n            <uax:Identifier>i=11</uax:Identifier>\n          </uax:DataType>\n          <uax:ValueRank>-1</uax:ValueRank>\n          <uax:AccessLevel>1</uax:AccessLevel>\n          <uax:UserAccessLevel>1</uax:UserAccessLevel>\n          <uax:References>\n            <uax:Reference>\n              <uax:ReferenceTypeId>\n                <uax:Identifier>ns=1;i=3</uax:Identifier>\n              </uax:ReferenceTypeId>\n              <uax:IsInverse>true</uax:IsInverse>\n              <uax:TargetId>\n                <uax:Identifier>ns=2;i=336</uax:Identifier>\n              </uax:TargetId>\n            </uax:Reference>\n          </uax:References>\n        </Measurement>\n        <SetPoint xmlns=\"http://tempuri.org/UA/Examples/BoilerType\">\n          <uax:NodeClass>Variable_2</uax:NodeClass>\n          <uax:NodeId>\n            <uax:Identifier>ns=2;i=356</uax:Identifier>\n          </uax:NodeId>\n          <uax:BrowseName>\n            <uax:NamespaceIndex>1</uax:NamespaceIndex>\n            <uax:Name>SetPoint</uax:Name>\n          </uax:BrowseName>\n          <uax:ReferenceTypeId>\n            <uax:Identifier>i=46</uax:Identifier>\n          </uax:ReferenceTypeId>\n          <uax:TypeDefinitionId>\n            <uax:Identifier>i=68</uax:Identifier>\n          </uax:TypeDefinitionId>\n          <uax:NumericId>356</uax:NumericId>\n          <uax:DataType>\n            <uax:Identifier>i=11</uax:Identifier>\n          </uax:DataType>\n          <uax:ValueRank>-1</uax:ValueRank>\n          <uax:AccessLevel>3</uax:AccessLevel>\n          <uax:UserAccessLevel>3</uax:UserAccessLevel>\n        </SetPoint>\n        <ControlOut xmlns=\"http://tempuri.org/UA/Examples/BoilerType\">\n          <uax:NodeClass>Variable_2</uax:NodeClass>\n          <uax:NodeId>\n            <uax:Identifier>ns=2;i=357</uax:Identifier>\n          </uax:NodeId>\n          <uax:BrowseName>\n            <uax:NamespaceIndex>1</uax:NamespaceIndex>\n            <uax:Name>ControlOut</uax:Name>\n          </uax:BrowseName>\n          <uax:ReferenceTypeId>\n            <uax:Identifier>i=46</uax:Identifier>\n          </uax:ReferenceTypeId>\n          <uax:TypeDefinitionId>\n            <uax:Identifier>i=68</uax:Identifier>\n          </uax:TypeDefinitionId>\n          <uax:NumericId>357</uax:NumericId>\n          <uax:DataType>\n            <uax:Identifier>i=11</uax:Identifier>\n          </uax:DataType>\n          <uax:ValueRank>-1</uax:ValueRank>\n          <uax:AccessLevel>1</uax:AccessLevel>\n          <uax:UserAccessLevel>1</uax:UserAccessLevel>\n          <uax:References>\n            <uax:Reference>\n              <uax:ReferenceTypeId>\n                <uax:Identifier>ns=1;i=3</uax:Identifier>\n              </uax:ReferenceTypeId>\n              <uax:TargetId>\n                <uax:Identifier>ns=2;i=359</uax:Identifier>\n              </uax:TargetId>\n            </uax:Reference>\n          </uax:References>\n        </ControlOut>\n      </LevelController>\n      <CustomController>\n        <uax:NodeClass>Object_1</uax:NodeClass>\n        <uax:NodeId>\n          <uax:Identifier>ns=2;i=358</uax:Identifier>\n        </uax:NodeId>\n        <uax:BrowseName>\n          <uax:NamespaceIndex>2</uax:NamespaceIndex>\n          <uax:Name>CustomController</uax:Name>\n        </uax:BrowseName>\n        <uax:DisplayName>\n          <uax:Locale></uax:Locale>\n          <uax:Text>Boiler #4: CC1001</uax:Text>\n        </uax:DisplayName>\n        <uax:ReferenceTypeId>\n          <uax:Identifier>i=47</uax:Identifier>\n        </uax:ReferenceTypeId>\n        <uax:TypeDefinitionId>\n          <uax:Identifier>ns=1;i=22</uax:Identifier>\n        </uax:TypeDefinitionId>\n        <uax:NumericId>358</uax:NumericId>\n        <Input1 xmlns=\"http://tempuri.org/UA/Examples/BoilerType\">\n          <uax:NodeClass>Variable_2</uax:NodeClass>\n          <uax:NodeId>\n            <uax:Identifier>ns=2;i=359</uax:Identifier>\n          </uax:NodeId>\n          <uax:BrowseName>\n            <uax:NamespaceIndex>1</uax:NamespaceIndex>\n            <uax:Name>Input1</uax:Name>\n          </uax:BrowseName>\n          <uax:ReferenceTypeId>\n            <uax:Identifier>i=46</uax:Identifier>\n          </uax:ReferenceTypeId>\n          <uax:TypeDefinitionId>\n            <uax:Identifier>i=68</uax:Identifier>\n          </uax:TypeDefinitionId>\n          <uax:NumericId>359</uax:NumericId>\n          <uax:DataType>\n            <uax:Identifier>i=11</uax:Identifier>\n          </uax:DataType>\n          <uax:ValueRank>-1</uax:ValueRank>\n          <uax:AccessLevel>2</uax:AccessLevel>\n          <uax:UserAccessLevel>2</uax:UserAccessLevel>\n          <uax:References>\n            <uax:Reference>\n              <uax:ReferenceTypeId>\n                <uax:Identifier>ns=1;i=3</uax:Identifier>\n              </uax:ReferenceTypeId>\n              <uax:IsInverse>true</uax:IsInverse>\n              <uax:TargetId>\n                <uax:Identifier>ns=2;i=357</uax:Identifier>\n              </uax:TargetId>\n            </uax:Reference>\n          </uax:References>\n        </Input1>\n        <Input2 xmlns=\"http://tempuri.org/UA/Examples/BoilerType\">\n          <uax:NodeClass>Variable_2</uax:NodeClass>\n          <uax:NodeId>\n            <uax:Identifier>ns=2;i=360</uax:Identifier>\n          </uax:NodeId>\n          <uax:BrowseName>\n            <uax:NamespaceIndex>1</uax:NamespaceIndex>\n            <uax:Name>Input2</uax:Name>\n          </uax:BrowseName>\n          <uax:ReferenceTypeId>\n            <uax:Identifier>i=46</uax:Identifier>\n          </uax:ReferenceTypeId>\n          <uax:TypeDefinitionId>\n            <uax:Identifier>i=68</uax:Identifier>\n          </uax:TypeDefinitionId>\n          <uax:NumericId>360</uax:NumericId>\n          <uax:DataType>\n            <uax:Identifier>i=11</uax:Identifier>\n          </uax:DataType>\n          <uax:ValueRank>-1</uax:ValueRank>\n          <uax:AccessLevel>2</uax:AccessLevel>\n          <uax:UserAccessLevel>2</uax:UserAccessLevel>\n          <uax:References>\n            <uax:Reference>\n              <uax:ReferenceTypeId>\n                <uax:Identifier>ns=1;i=3</uax:Identifier>\n              </uax:ReferenceTypeId>\n              <uax:IsInverse>true</uax:IsInverse>\n              <uax:TargetId>\n                <uax:Identifier>ns=2;i=321</uax:Identifier>\n              </uax:TargetId>\n            </uax:Reference>\n          </uax:References>\n        </Input2>\n        <Input3 xmlns=\"http://tempuri.org/UA/Examples/BoilerType\">\n          <uax:NodeClass>Variable_2</uax:NodeClass>\n          <uax:NodeId>\n            <uax:Identifier>ns=2;i=361</uax:Identifier>\n          </uax:NodeId>\n          <uax:BrowseName>\n            <uax:NamespaceIndex>1</uax:NamespaceIndex>\n            <uax:Name>Input3</uax:Name>\n          </uax:BrowseName>\n          <uax:ReferenceTypeId>\n            <uax:Identifier>i=46</uax:Identifier>\n          </uax:ReferenceTypeId>\n          <uax:TypeDefinitionId>\n            <uax:Identifier>i=68</uax:Identifier>\n          </uax:TypeDefinitionId>\n          <uax:NumericId>361</uax:NumericId>\n          <uax:DataType>\n            <uax:Identifier>i=11</uax:Identifier>\n          </uax:DataType>\n          <uax:ValueRank>-1</uax:ValueRank>\n          <uax:AccessLevel>2</uax:AccessLevel>\n          <uax:UserAccessLevel>2</uax:UserAccessLevel>\n          <uax:References>\n            <uax:Reference>\n              <uax:ReferenceTypeId>\n                <uax:Identifier>ns=1;i=3</uax:Identifier>\n              </uax:ReferenceTypeId>\n              <uax:IsInverse>true</uax:IsInverse>\n              <uax:TargetId>\n                <uax:Identifier>ns=2;i=344</uax:Identifier>\n              </uax:TargetId>\n            </uax:Reference>\n          </uax:References>\n        </Input3>\n        <ControlOut xmlns=\"http://tempuri.org/UA/Examples/BoilerType\">\n          <uax:NodeClass>Variable_2</uax:NodeClass>\n          <uax:NodeId>\n            <uax:Identifier>ns=2;i=362</uax:Identifier>\n          </uax:NodeId>\n          <uax:BrowseName>\n            <uax:NamespaceIndex>1</uax:NamespaceIndex>\n            <uax:Name>ControlOut</uax:Name>\n          </uax:BrowseName>\n          <uax:ReferenceTypeId>\n            <uax:Identifier>i=46</uax:Identifier>\n          </uax:ReferenceTypeId>\n          <uax:TypeDefinitionId>\n            <uax:Identifier>i=68</uax:Identifier>\n          </uax:TypeDefinitionId>\n          <uax:NumericId>362</uax:NumericId>\n          <uax:DataType>\n            <uax:Identifier>i=11</uax:Identifier>\n          </uax:DataType>\n          <uax:ValueRank>-1</uax:ValueRank>\n          <uax:AccessLevel>1</uax:AccessLevel>\n          <uax:UserAccessLevel>1</uax:UserAccessLevel>\n          <uax:References>\n            <uax:Reference>\n              <uax:ReferenceTypeId>\n                <uax:Identifier>ns=1;i=3</uax:Identifier>\n              </uax:ReferenceTypeId>\n              <uax:TargetId>\n                <uax:Identifier>ns=2;i=352</uax:Identifier>\n              </uax:TargetId>\n            </uax:Reference>\n          </uax:References>\n        </ControlOut>\n        <DescriptionX xmlns=\"http://tempuri.org/UA/Examples/BoilerType\">\n          <uax:NodeClass>Variable_2</uax:NodeClass>\n          <uax:NodeId>\n            <uax:Identifier>ns=2;i=363</uax:Identifier>\n          </uax:NodeId>\n          <uax:BrowseName>\n            <uax:NamespaceIndex>1</uax:NamespaceIndex>\n            <uax:Name>Description</uax:Name>\n          </uax:BrowseName>\n          <uax:ReferenceTypeId>\n            <uax:Identifier>i=46</uax:Identifier>\n          </uax:ReferenceTypeId>\n          <uax:TypeDefinitionId>\n            <uax:Identifier>i=68</uax:Identifier>\n          </uax:TypeDefinitionId>\n          <uax:NumericId>363</uax:NumericId>\n          <uax:DataType>\n            <uax:Identifier>i=21</uax:Identifier>\n          </uax:DataType>\n          <uax:ValueRank>-1</uax:ValueRank>\n          <uax:AccessLevel>1</uax:AccessLevel>\n          <uax:UserAccessLevel>1</uax:UserAccessLevel>\n        </DescriptionX>\n      </CustomController>\n      <Simulation xmlns=\"http://tempuri.org/UA/Examples/BoilerType\">\n        <uax:NodeClass>Object_1</uax:NodeClass>\n        <uax:NodeId>\n          <uax:Identifier>ns=2;i=364</uax:Identifier>\n        </uax:NodeId>\n        <uax:BrowseName>\n          <uax:NamespaceIndex>1</uax:NamespaceIndex>\n          <uax:Name>Simulation</uax:Name>\n        </uax:BrowseName>\n        <uax:ReferenceTypeId>\n          <uax:Identifier>i=47</uax:Identifier>\n        </uax:ReferenceTypeId>\n        <uax:TypeDefinitionId>\n          <uax:Identifier>ns=1;i=57</uax:Identifier>\n        </uax:TypeDefinitionId>\n        <uax:NumericId>364</uax:NumericId>\n        <uax:EventNotifier>1</uax:EventNotifier>\n        <uax:References>\n          <uax:Reference>\n            <uax:ReferenceTypeId>\n              <uax:Identifier>i=36</uax:Identifier>\n            </uax:ReferenceTypeId>\n            <uax:IsInverse>true</uax:IsInverse>\n            <uax:TargetId>\n              <uax:Identifier>ns=2;i=318</uax:Identifier>\n            </uax:TargetId>\n          </uax:Reference>\n        </uax:References>\n        <CurrentState xmlns=\"http://opcfoundation.org/UA/\">\n          <uax:NodeClass>Variable_2</uax:NodeClass>\n          <uax:NodeId>\n            <uax:Identifier>ns=2;i=365</uax:Identifier>\n          </uax:NodeId>\n          <uax:BrowseName>\n            <uax:NamespaceIndex>0</uax:NamespaceIndex>\n            <uax:Name>CurrentState</uax:Name>\n          </uax:BrowseName>\n          <uax:ReferenceTypeId>\n            <uax:Identifier>i=47</uax:Identifier>\n          </uax:ReferenceTypeId>\n          <uax:TypeDefinitionId>\n            <uax:Identifier>i=2760</uax:Identifier>\n          </uax:TypeDefinitionId>\n          <uax:NumericId>365</uax:NumericId>\n          <uax:DataType>\n            <uax:Identifier>i=21</uax:Identifier>\n          </uax:DataType>\n          <uax:ValueRank>-1</uax:ValueRank>\n          <uax:AccessLevel>1</uax:AccessLevel>\n          <uax:UserAccessLevel>1</uax:UserAccessLevel>\n          <Id>\n            <uax:NodeClass>Variable_2</uax:NodeClass>\n            <uax:NodeId>\n              <uax:Identifier>ns=2;i=366</uax:Identifier>\n            </uax:NodeId>\n            <uax:BrowseName>\n              <uax:NamespaceIndex>0</uax:NamespaceIndex>\n              <uax:Name>Id</uax:Name>\n            </uax:BrowseName>\n            <uax:ReferenceTypeId>\n              <uax:Identifier>i=46</uax:Identifier>\n            </uax:ReferenceTypeId>\n            <uax:TypeDefinitionId>\n              <uax:Identifier>i=68</uax:Identifier>\n            </uax:TypeDefinitionId>\n            <uax:NumericId>366</uax:NumericId>\n            <uax:DataType>\n              <uax:Identifier>i=17</uax:Identifier>\n            </uax:DataType>\n            <uax:ValueRank>-1</uax:ValueRank>\n            <uax:AccessLevel>1</uax:AccessLevel>\n            <uax:UserAccessLevel>1</uax:UserAccessLevel>\n          </Id>\n          <Number>\n            <uax:NodeClass>Variable_2</uax:NodeClass>\n            <uax:NodeId>\n              <uax:Identifier>ns=2;i=368</uax:Identifier>\n            </uax:NodeId>\n            <uax:BrowseName>\n              <uax:NamespaceIndex>0</uax:NamespaceIndex>\n              <uax:Name>Number</uax:Name>\n            </uax:BrowseName>\n            <uax:ReferenceTypeId>\n              <uax:Identifier>i=46</uax:Identifier>\n            </uax:ReferenceTypeId>\n            <uax:TypeDefinitionId>\n              <uax:Identifier>i=68</uax:Identifier>\n            </uax:TypeDefinitionId>\n            <uax:NumericId>368</uax:NumericId>\n            <uax:DataType>\n              <uax:Identifier>i=7</uax:Identifier>\n            </uax:DataType>\n            <uax:ValueRank>-1</uax:ValueRank>\n            <uax:AccessLevel>1</uax:AccessLevel>\n            <uax:UserAccessLevel>1</uax:UserAccessLevel>\n          </Number>\n        </CurrentState>\n        <LastTransition xmlns=\"http://opcfoundation.org/UA/\">\n          <uax:NodeClass>Variable_2</uax:NodeClass>\n          <uax:NodeId>\n            <uax:Identifier>ns=2;i=370</uax:Identifier>\n          </uax:NodeId>\n          <uax:BrowseName>\n            <uax:NamespaceIndex>0</uax:NamespaceIndex>\n            <uax:Name>LastTransition</uax:Name>\n          </uax:BrowseName>\n          <uax:ReferenceTypeId>\n            <uax:Identifier>i=47</uax:Identifier>\n          </uax:ReferenceTypeId>\n          <uax:TypeDefinitionId>\n            <uax:Identifier>i=2767</uax:Identifier>\n          </uax:TypeDefinitionId>\n          <uax:NumericId>370</uax:NumericId>\n          <uax:DataType>\n            <uax:Identifier>i=21</uax:Identifier>\n          </uax:DataType>\n          <uax:ValueRank>-1</uax:ValueRank>\n          <uax:AccessLevel>1</uax:AccessLevel>\n          <uax:UserAccessLevel>1</uax:UserAccessLevel>\n          <Id>\n            <uax:NodeClass>Variable_2</uax:NodeClass>\n            <uax:NodeId>\n              <uax:Identifier>ns=2;i=371</uax:Identifier>\n            </uax:NodeId>\n            <uax:BrowseName>\n              <uax:NamespaceIndex>0</uax:NamespaceIndex>\n              <uax:Name>Id</uax:Name>\n            </uax:BrowseName>\n            <uax:ReferenceTypeId>\n              <uax:Identifier>i=46</uax:Identifier>\n            </uax:ReferenceTypeId>\n            <uax:TypeDefinitionId>\n              <uax:Identifier>i=68</uax:Identifier>\n            </uax:TypeDefinitionId>\n            <uax:NumericId>371</uax:NumericId>\n            <uax:DataType>\n              <uax:Identifier>i=17</uax:Identifier>\n            </uax:DataType>\n            <uax:ValueRank>-1</uax:ValueRank>\n            <uax:AccessLevel>1</uax:AccessLevel>\n            <uax:UserAccessLevel>1</uax:UserAccessLevel>\n          </Id>\n          <Number>\n            <uax:NodeClass>Variable_2</uax:NodeClass>\n            <uax:NodeId>\n              <uax:Identifier>ns=2;i=373</uax:Identifier>\n            </uax:NodeId>\n            <uax:BrowseName>\n              <uax:NamespaceIndex>0</uax:NamespaceIndex>\n              <uax:Name>Number</uax:Name>\n            </uax:BrowseName>\n            <uax:ReferenceTypeId>\n              <uax:Identifier>i=46</uax:Identifier>\n            </uax:ReferenceTypeId>\n            <uax:TypeDefinitionId>\n              <uax:Identifier>i=68</uax:Identifier>\n            </uax:TypeDefinitionId>\n            <uax:NumericId>373</uax:NumericId>\n            <uax:DataType>\n              <uax:Identifier>i=7</uax:Identifier>\n            </uax:DataType>\n            <uax:ValueRank>-1</uax:ValueRank>\n            <uax:AccessLevel>1</uax:AccessLevel>\n            <uax:UserAccessLevel>1</uax:UserAccessLevel>\n          </Number>\n          <TransitionTime>\n            <uax:NodeClass>Variable_2</uax:NodeClass>\n            <uax:NodeId>\n              <uax:Identifier>ns=2;i=374</uax:Identifier>\n            </uax:NodeId>\n            <uax:BrowseName>\n              <uax:NamespaceIndex>0</uax:NamespaceIndex>\n              <uax:Name>TransitionTime</uax:Name>\n            </uax:BrowseName>\n            <uax:ReferenceTypeId>\n              <uax:Identifier>i=46</uax:Identifier>\n            </uax:ReferenceTypeId>\n            <uax:TypeDefinitionId>\n              <uax:Identifier>i=68</uax:Identifier>\n            </uax:TypeDefinitionId>\n            <uax:NumericId>374</uax:NumericId>\n            <uax:DataType>\n              <uax:Identifier>i=294</uax:Identifier>\n            </uax:DataType>\n            <uax:ValueRank>-1</uax:ValueRank>\n            <uax:AccessLevel>1</uax:AccessLevel>\n            <uax:UserAccessLevel>1</uax:UserAccessLevel>\n          </TransitionTime>\n        </LastTransition>\n        <Deletable xmlns=\"http://opcfoundation.org/UA/\">\n          <uax:NodeClass>Variable_2</uax:NodeClass>\n          <uax:NodeId>\n            <uax:Identifier>ns=2;i=376</uax:Identifier>\n          </uax:NodeId>\n          <uax:BrowseName>\n            <uax:NamespaceIndex>0</uax:NamespaceIndex>\n            <uax:Name>Deletable</uax:Name>\n          </uax:BrowseName>\n          <uax:ReferenceTypeId>\n            <uax:Identifier>i=46</uax:Identifier>\n          </uax:ReferenceTypeId>\n          <uax:TypeDefinitionId>\n            <uax:Identifier>i=68</uax:Identifier>\n          </uax:TypeDefinitionId>\n          <uax:NumericId>376</uax:NumericId>\n          <uax:DataType>\n            <uax:Identifier>i=1</uax:Identifier>\n          </uax:DataType>\n          <uax:ValueRank>-1</uax:ValueRank>\n          <uax:AccessLevel>1</uax:AccessLevel>\n          <uax:UserAccessLevel>1</uax:UserAccessLevel>\n        </Deletable>\n        <RecycleCount xmlns=\"http://opcfoundation.org/UA/\">\n          <uax:NodeClass>Variable_2</uax:NodeClass>\n          <uax:NodeId>\n            <uax:Identifier>ns=2;i=378</uax:Identifier>\n          </uax:NodeId>\n          <uax:BrowseName>\n            <uax:NamespaceIndex>0</uax:NamespaceIndex>\n            <uax:Name>RecycleCount</uax:Name>\n          </uax:BrowseName>\n          <uax:ReferenceTypeId>\n            <uax:Identifier>i=46</uax:Identifier>\n          </uax:ReferenceTypeId>\n          <uax:TypeDefinitionId>\n            <uax:Identifier>i=68</uax:Identifier>\n          </uax:TypeDefinitionId>\n          <uax:NumericId>378</uax:NumericId>\n          <uax:DataType>\n            <uax:Identifier>i=6</uax:Identifier>\n          </uax:DataType>\n          <uax:ValueRank>-1</uax:ValueRank>\n          <uax:AccessLevel>1</uax:AccessLevel>\n          <uax:UserAccessLevel>1</uax:UserAccessLevel>\n        </RecycleCount>\n        <Start xmlns=\"http://opcfoundation.org/UA/\">\n          <uax:NodeClass>Method_4</uax:NodeClass>\n          <uax:NodeId>\n            <uax:Identifier>ns=2;i=391</uax:Identifier>\n          </uax:NodeId>\n          <uax:BrowseName>\n            <uax:NamespaceIndex>0</uax:NamespaceIndex>\n            <uax:Name>Start</uax:Name>\n          </uax:BrowseName>\n          <uax:Description>\n            <uax:Locale></uax:Locale>\n            <uax:Text>Causes the Program to transition from the Ready state to the Running state.</uax:Text>\n          </uax:Description>\n          <uax:ReferenceTypeId>\n            <uax:Identifier>i=47</uax:Identifier>\n          </uax:ReferenceTypeId>\n          <uax:TypeDefinitionId>\n            <uax:Identifier>i=2426</uax:Identifier>\n          </uax:TypeDefinitionId>\n          <uax:NumericId>391</uax:NumericId>\n          <uax:Executable>true</uax:Executable>\n          <uax:UserExecutable>true</uax:UserExecutable>\n        </Start>\n        <Suspend xmlns=\"http://opcfoundation.org/UA/\">\n          <uax:NodeClass>Method_4</uax:NodeClass>\n          <uax:NodeId>\n            <uax:Identifier>ns=2;i=392</uax:Identifier>\n          </uax:NodeId>\n          <uax:BrowseName>\n            <uax:NamespaceIndex>0</uax:NamespaceIndex>\n            <uax:Name>Suspend</uax:Name>\n          </uax:BrowseName>\n          <uax:Description>\n            <uax:Locale></uax:Locale>\n            <uax:Text>Causes the Program to transition from the Running state to the Suspended state.</uax:Text>\n          </uax:Description>\n          <uax:ReferenceTypeId>\n            <uax:Identifier>i=47</uax:Identifier>\n          </uax:ReferenceTypeId>\n          <uax:TypeDefinitionId>\n            <uax:Identifier>i=2427</uax:Identifier>\n          </uax:TypeDefinitionId>\n          <uax:NumericId>392</uax:NumericId>\n          <uax:Executable>true</uax:Executable>\n          <uax:UserExecutable>true</uax:UserExecutable>\n        </Suspend>\n        <Resume xmlns=\"http://opcfoundation.org/UA/\">\n          <uax:NodeClass>Method_4</uax:NodeClass>\n          <uax:NodeId>\n            <uax:Identifier>ns=2;i=393</uax:Identifier>\n          </uax:NodeId>\n          <uax:BrowseName>\n            <uax:NamespaceIndex>0</uax:NamespaceIndex>\n            <uax:Name>Resume</uax:Name>\n          </uax:BrowseName>\n          <uax:Description>\n            <uax:Locale></uax:Locale>\n            <uax:Text>Causes the Program to transition from the Suspended state to the Running state.</uax:Text>\n          </uax:Description>\n          <uax:ReferenceTypeId>\n            <uax:Identifier>i=47</uax:Identifier>\n          </uax:ReferenceTypeId>\n          <uax:TypeDefinitionId>\n            <uax:Identifier>i=2428</uax:Identifier>\n          </uax:TypeDefinitionId>\n          <uax:NumericId>393</uax:NumericId>\n          <uax:Executable>true</uax:Executable>\n          <uax:UserExecutable>true</uax:UserExecutable>\n        </Resume>\n        <Halt xmlns=\"http://opcfoundation.org/UA/\">\n          <uax:NodeClass>Method_4</uax:NodeClass>\n          <uax:NodeId>\n            <uax:Identifier>ns=2;i=394</uax:Identifier>\n          </uax:NodeId>\n          <uax:BrowseName>\n            <uax:NamespaceIndex>0</uax:NamespaceIndex>\n            <uax:Name>Halt</uax:Name>\n          </uax:BrowseName>\n          <uax:Description>\n            <uax:Locale></uax:Locale>\n            <uax:Text>Causes the Program to transition from the Ready, Running or Suspended state to the Halted state.</uax:Text>\n          </uax:Description>\n          <uax:ReferenceTypeId>\n            <uax:Identifier>i=47</uax:Identifier>\n          </uax:ReferenceTypeId>\n          <uax:TypeDefinitionId>\n            <uax:Identifier>i=2429</uax:Identifier>\n          </uax:TypeDefinitionId>\n          <uax:NumericId>394</uax:NumericId>\n          <uax:Executable>true</uax:Executable>\n          <uax:UserExecutable>true</uax:UserExecutable>\n        </Halt>\n        <Reset xmlns=\"http://opcfoundation.org/UA/\">\n          <uax:NodeClass>Method_4</uax:NodeClass>\n          <uax:NodeId>\n            <uax:Identifier>ns=2;i=395</uax:Identifier>\n          </uax:NodeId>\n          <uax:BrowseName>\n            <uax:NamespaceIndex>0</uax:NamespaceIndex>\n            <uax:Name>Reset</uax:Name>\n          </uax:BrowseName>\n          <uax:Description>\n            <uax:Locale></uax:Locale>\n            <uax:Text>Causes the Program to transition from the Halted state to the Ready state.</uax:Text>\n          </uax:Description>\n          <uax:ReferenceTypeId>\n            <uax:Identifier>i=47</uax:Identifier>\n          </uax:ReferenceTypeId>\n          <uax:TypeDefinitionId>\n            <uax:Identifier>i=2430</uax:Identifier>\n          </uax:TypeDefinitionId>\n          <uax:NumericId>395</uax:NumericId>\n          <uax:Executable>true</uax:Executable>\n          <uax:UserExecutable>true</uax:UserExecutable>\n        </Reset>\n        <UpdateRate>\n          <uax:NodeClass>Variable_2</uax:NodeClass>\n          <uax:NodeId>\n            <uax:Identifier>ns=2;i=396</uax:Identifier>\n          </uax:NodeId>\n          <uax:BrowseName>\n            <uax:NamespaceIndex>1</uax:NamespaceIndex>\n            <uax:Name>UpdateRate</uax:Name>\n          </uax:BrowseName>\n          <uax:Description>\n            <uax:Locale></uax:Locale>\n            <uax:Text>The rate at which the simulation runs.</uax:Text>\n          </uax:Description>\n          <uax:ReferenceTypeId>\n            <uax:Identifier>i=46</uax:Identifier>\n          </uax:ReferenceTypeId>\n          <uax:TypeDefinitionId>\n            <uax:Identifier>i=68</uax:Identifier>\n          </uax:TypeDefinitionId>\n          <uax:NumericId>396</uax:NumericId>\n          <uax:DataType>\n            <uax:Identifier>i=7</uax:Identifier>\n          </uax:DataType>\n          <uax:ValueRank>-1</uax:ValueRank>\n          <uax:AccessLevel>3</uax:AccessLevel>\n          <uax:UserAccessLevel>3</uax:UserAccessLevel>\n        </UpdateRate>\n      </Simulation>\n    </BoilerDelta>\n  </BoilersArea>\n  <Drums xmlns=\"http://commsvr.com/UA/Examples/BoilersSet\">\n    <uax:NodeClass>Object_1</uax:NodeClass>\n    <uax:NodeId>\n      <uax:Identifier>ns=2;i=398</uax:Identifier>\n    </uax:NodeId>\n    <uax:BrowseName>\n      <uax:NamespaceIndex>2</uax:NamespaceIndex>\n      <uax:Name>Drums</uax:Name>\n    </uax:BrowseName>\n    <uax:ReferenceTypeId>\n      <uax:Identifier>i=47</uax:Identifier>\n    </uax:ReferenceTypeId>\n    <uax:TypeDefinitionId>\n      <uax:Identifier>i=58</uax:Identifier>\n    </uax:TypeDefinitionId>\n    <uax:NumericId>398</uax:NumericId>\n    <uax:References>\n      <uax:Reference>\n        <uax:ReferenceTypeId>\n          <uax:Identifier>i=35</uax:Identifier>\n        </uax:ReferenceTypeId>\n        <uax:IsInverse>true</uax:IsInverse>\n        <uax:TargetId>\n          <uax:Identifier>i=85</uax:Identifier>\n        </uax:TargetId>\n      </uax:Reference>\n      <uax:Reference>\n        <uax:ReferenceTypeId>\n          <uax:Identifier>i=47</uax:Identifier>\n        </uax:ReferenceTypeId>\n        <uax:TargetId>\n          <uax:Identifier>ns=2;i=97</uax:Identifier>\n        </uax:TargetId>\n      </uax:Reference>\n      <uax:Reference>\n        <uax:ReferenceTypeId>\n          <uax:Identifier>i=47</uax:Identifier>\n        </uax:ReferenceTypeId>\n        <uax:TargetId>\n          <uax:Identifier>ns=2;i=176</uax:Identifier>\n        </uax:TargetId>\n      </uax:Reference>\n      <uax:Reference>\n        <uax:ReferenceTypeId>\n          <uax:Identifier>i=47</uax:Identifier>\n        </uax:ReferenceTypeId>\n        <uax:TargetId>\n          <uax:Identifier>ns=2;i=255</uax:Identifier>\n        </uax:TargetId>\n      </uax:Reference>\n      <uax:Reference>\n        <uax:ReferenceTypeId>\n          <uax:Identifier>i=47</uax:Identifier>\n        </uax:ReferenceTypeId>\n        <uax:TargetId>\n          <uax:Identifier>ns=2;i=334</uax:Identifier>\n        </uax:TargetId>\n      </uax:Reference>\n    </uax:References>\n  </Drums>\n  <Pipes xmlns=\"http://commsvr.com/UA/Examples/BoilersSet\">\n    <uax:NodeClass>Object_1</uax:NodeClass>\n    <uax:NodeId>\n      <uax:Identifier>ns=2;i=399</uax:Identifier>\n    </uax:NodeId>\n    <uax:BrowseName>\n      <uax:NamespaceIndex>2</uax:NamespaceIndex>\n      <uax:Name>Pipes</uax:Name>\n    </uax:BrowseName>\n    <uax:ReferenceTypeId>\n      <uax:Identifier>i=47</uax:Identifier>\n    </uax:ReferenceTypeId>\n    <uax:TypeDefinitionId>\n      <uax:Identifier>i=58</uax:Identifier>\n    </uax:TypeDefinitionId>\n    <uax:NumericId>399</uax:NumericId>\n    <uax:References>\n      <uax:Reference>\n        <uax:ReferenceTypeId>\n          <uax:Identifier>i=35</uax:Identifier>\n        </uax:ReferenceTypeId>\n        <uax:IsInverse>true</uax:IsInverse>\n        <uax:TargetId>\n          <uax:Identifier>i=85</uax:Identifier>\n        </uax:TargetId>\n      </uax:Reference>\n      <uax:Reference>\n        <uax:ReferenceTypeId>\n          <uax:Identifier>i=47</uax:Identifier>\n        </uax:ReferenceTypeId>\n        <uax:TargetId>\n          <uax:Identifier>ns=2;i=82</uax:Identifier>\n        </uax:TargetId>\n      </uax:Reference>\n      <uax:Reference>\n        <uax:ReferenceTypeId>\n          <uax:Identifier>i=47</uax:Identifier>\n        </uax:ReferenceTypeId>\n        <uax:TargetId>\n          <uax:Identifier>ns=2;i=105</uax:Identifier>\n        </uax:TargetId>\n      </uax:Reference>\n      <uax:Reference>\n        <uax:ReferenceTypeId>\n          <uax:Identifier>i=47</uax:Identifier>\n        </uax:ReferenceTypeId>\n        <uax:TargetId>\n          <uax:Identifier>ns=2;i=161</uax:Identifier>\n        </uax:TargetId>\n      </uax:Reference>\n      <uax:Reference>\n        <uax:ReferenceTypeId>\n          <uax:Identifier>i=47</uax:Identifier>\n        </uax:ReferenceTypeId>\n        <uax:TargetId>\n          <uax:Identifier>ns=2;i=184</uax:Identifier>\n        </uax:TargetId>\n      </uax:Reference>\n      <uax:Reference>\n        <uax:ReferenceTypeId>\n          <uax:Identifier>i=47</uax:Identifier>\n        </uax:ReferenceTypeId>\n        <uax:TargetId>\n          <uax:Identifier>ns=2;i=240</uax:Identifier>\n        </uax:TargetId>\n      </uax:Reference>\n      <uax:Reference>\n        <uax:ReferenceTypeId>\n          <uax:Identifier>i=47</uax:Identifier>\n        </uax:ReferenceTypeId>\n        <uax:TargetId>\n          <uax:Identifier>ns=2;i=263</uax:Identifier>\n        </uax:TargetId>\n      </uax:Reference>\n      <uax:Reference>\n        <uax:ReferenceTypeId>\n          <uax:Identifier>i=47</uax:Identifier>\n        </uax:ReferenceTypeId>\n        <uax:TargetId>\n          <uax:Identifier>ns=2;i=319</uax:Identifier>\n        </uax:TargetId>\n      </uax:Reference>\n      <uax:Reference>\n        <uax:ReferenceTypeId>\n          <uax:Identifier>i=47</uax:Identifier>\n        </uax:ReferenceTypeId>\n        <uax:TargetId>\n          <uax:Identifier>ns=2;i=342</uax:Identifier>\n        </uax:TargetId>\n      </uax:Reference>\n    </uax:References>\n  </Pipes>\n</uax:ListOfNodeState>"
  },
  {
    "path": "Networking/Simulator.Boiler/UAInformationModel/DemoConfiguration/BoilersSet/Commsvr.UA.Examples.BoilersSet.Types.bsd",
    "content": "<opc:TypeDictionary\n  xmlns:bt=\"http://tempuri.org/UA/Examples/BoilerType\"\n  xmlns:opc=\"http://opcfoundation.org/BinarySchema/\"\n  xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\"\n  xmlns:ua=\"http://opcfoundation.org/UA/\"\n  xmlns:tns=\"http://commsvr.com/UA/Examples/BoilersSet\"\n  DefaultByteOrder=\"LittleEndian\"\n  TargetNamespace=\"http://commsvr.com/UA/Examples/BoilersSet\"\n>\n  <!-- This File was generated on 2019-05-15 and supports the specifications supported by version 1.2.26.16032 of the OPC UA deliverables. -->\n  <opc:Import Namespace=\"http://opcfoundation.org/UA/\" Location=\"Opc.Ua.BinarySchema.bsd\"/>\n  <opc:Import Namespace=\"http://tempuri.org/UA/Examples/BoilerType\" Location=\"tempuri.org.UA.Examples.BoilerType.BinarySchema.bsd\"/>\n\n</opc:TypeDictionary>"
  },
  {
    "path": "Networking/Simulator.Boiler/UAInformationModel/DemoConfiguration/BoilersSet/Commsvr.UA.Examples.BoilersSet.Types.xsd",
    "content": "<xs:schema\n  xmlns:bt=\"http://tempuri.org/UA/Examples/BoilerType/Types.xsd\"\n  xmlns:xs=\"http://www.w3.org/2001/XMLSchema\"\n  xmlns:ua=\"http://opcfoundation.org/UA/2008/02/Types.xsd\"\n  xmlns:tns=\"http://commsvr.com/UA/Examples/BoilersSet/Types.xsd\"\n  targetNamespace=\"http://commsvr.com/UA/Examples/BoilersSet/Types.xsd\"\n  elementFormDefault=\"qualified\"\n>\n  <xs:import namespace=\"http://opcfoundation.org/UA/2008/02/Types.xsd\" />\n  <xs:import namespace=\"http://tempuri.org/UA/Examples/BoilerType/Types.xsd\" />\n\n</xs:schema>"
  },
  {
    "path": "Networking/Simulator.Boiler/UAInformationModel/DemoConfiguration/BoilersSet.csv",
    "content": "BoilersArea,1,Object\nBoilersArea_BoilerAlpha,81,Object\nBoilersArea_BoilerAlpha_InputPipe,82,Object\nBoilersArea_BoilerAlpha_InputPipe_FlowTransmitter1,83,Object\nBoilersArea_BoilerAlpha_InputPipe_FlowTransmitter1_Output,84,Variable\nBoilersArea_BoilerAlpha_InputPipe_FlowTransmitter1_Output_Definition,85,Variable\nBoilersArea_BoilerAlpha_InputPipe_FlowTransmitter1_Output_ValuePrecision,86,Variable\nBoilersArea_BoilerAlpha_InputPipe_FlowTransmitter1_Output_InstrumentRange,87,Variable\nBoilersArea_BoilerAlpha_InputPipe_FlowTransmitter1_Output_EURange,88,Variable\nBoilersArea_BoilerAlpha_InputPipe_FlowTransmitter1_Output_EngineeringUnits,89,Variable\nBoilersArea_BoilerAlpha_InputPipe_Valve,90,Object\nBoilersArea_BoilerAlpha_InputPipe_Valve_Input,91,Variable\nBoilersArea_BoilerAlpha_InputPipe_Valve_Input_Definition,92,Variable\nBoilersArea_BoilerAlpha_InputPipe_Valve_Input_ValuePrecision,93,Variable\nBoilersArea_BoilerAlpha_InputPipe_Valve_Input_InstrumentRange,94,Variable\nBoilersArea_BoilerAlpha_InputPipe_Valve_Input_EURange,95,Variable\nBoilersArea_BoilerAlpha_InputPipe_Valve_Input_EngineeringUnits,96,Variable\nBoilersArea_BoilerAlpha_Drum,97,Object\nBoilersArea_BoilerAlpha_Drum_LevelIndicator,98,Object\nBoilersArea_BoilerAlpha_Drum_LevelIndicator_Output,99,Variable\nBoilersArea_BoilerAlpha_Drum_LevelIndicator_Output_Definition,100,Variable\nBoilersArea_BoilerAlpha_Drum_LevelIndicator_Output_ValuePrecision,101,Variable\nBoilersArea_BoilerAlpha_Drum_LevelIndicator_Output_InstrumentRange,102,Variable\nBoilersArea_BoilerAlpha_Drum_LevelIndicator_Output_EURange,103,Variable\nBoilersArea_BoilerAlpha_Drum_LevelIndicator_Output_EngineeringUnits,104,Variable\nBoilersArea_BoilerAlpha_OutputPipe,105,Object\nBoilersArea_BoilerAlpha_OutputPipe_FlowTransmitter2,106,Object\nBoilersArea_BoilerAlpha_OutputPipe_FlowTransmitter2_Output,107,Variable\nBoilersArea_BoilerAlpha_OutputPipe_FlowTransmitter2_Output_Definition,108,Variable\nBoilersArea_BoilerAlpha_OutputPipe_FlowTransmitter2_Output_ValuePrecision,109,Variable\nBoilersArea_BoilerAlpha_OutputPipe_FlowTransmitter2_Output_InstrumentRange,110,Variable\nBoilersArea_BoilerAlpha_OutputPipe_FlowTransmitter2_Output_EURange,111,Variable\nBoilersArea_BoilerAlpha_OutputPipe_FlowTransmitter2_Output_EngineeringUnits,112,Variable\nBoilersArea_BoilerAlpha_FlowController,113,Object\nBoilersArea_BoilerAlpha_FlowController_Measurement,114,Variable\nBoilersArea_BoilerAlpha_FlowController_SetPoint,115,Variable\nBoilersArea_BoilerAlpha_FlowController_ControlOut,116,Variable\nBoilersArea_BoilerAlpha_LevelController,117,Object\nBoilersArea_BoilerAlpha_LevelController_Measurement,118,Variable\nBoilersArea_BoilerAlpha_LevelController_SetPoint,119,Variable\nBoilersArea_BoilerAlpha_LevelController_ControlOut,120,Variable\nBoilersArea_BoilerAlpha_CustomController,121,Object\nBoilersArea_BoilerAlpha_CustomController_Input1,122,Variable\nBoilersArea_BoilerAlpha_CustomController_Input2,123,Variable\nBoilersArea_BoilerAlpha_CustomController_Input3,124,Variable\nBoilersArea_BoilerAlpha_CustomController_ControlOut,125,Variable\nBoilersArea_BoilerAlpha_CustomController_DescriptionX,126,Variable\nBoilersArea_BoilerAlpha_Simulation,127,Object\nBoilersArea_BoilerAlpha_Simulation_CurrentState,128,Variable\nBoilersArea_BoilerAlpha_Simulation_CurrentState_Id,129,Variable\nBoilersArea_BoilerAlpha_Simulation_CurrentState_Name,130,Variable\nBoilersArea_BoilerAlpha_Simulation_CurrentState_Number,131,Variable\nBoilersArea_BoilerAlpha_Simulation_CurrentState_EffectiveDisplayName,132,Variable\nBoilersArea_BoilerAlpha_Simulation_LastTransition,133,Variable\nBoilersArea_BoilerAlpha_Simulation_LastTransition_Id,134,Variable\nBoilersArea_BoilerAlpha_Simulation_LastTransition_Name,135,Variable\nBoilersArea_BoilerAlpha_Simulation_LastTransition_Number,136,Variable\nBoilersArea_BoilerAlpha_Simulation_LastTransition_TransitionTime,137,Variable\nBoilersArea_BoilerAlpha_Simulation_LastTransition_EffectiveTransitionTime,138,Variable\nBoilersArea_BoilerAlpha_Simulation_Deletable,139,Variable\nBoilersArea_BoilerAlpha_Simulation_AutoDelete,140,Variable\nBoilersArea_BoilerAlpha_Simulation_RecycleCount,141,Variable\nBoilersArea_BoilerAlpha_Simulation_ProgramDiagnostics,142,Variable\nBoilersArea_BoilerAlpha_Simulation_ProgramDiagnostics_CreateSessionId,143,Variable\nBoilersArea_BoilerAlpha_Simulation_ProgramDiagnostics_CreateClientName,144,Variable\nBoilersArea_BoilerAlpha_Simulation_ProgramDiagnostics_InvocationCreationTime,145,Variable\nBoilersArea_BoilerAlpha_Simulation_ProgramDiagnostics_LastTransitionTime,146,Variable\nBoilersArea_BoilerAlpha_Simulation_ProgramDiagnostics_LastMethodCall,147,Variable\nBoilersArea_BoilerAlpha_Simulation_ProgramDiagnostics_LastMethodSessionId,148,Variable\nBoilersArea_BoilerAlpha_Simulation_ProgramDiagnostics_LastMethodInputArguments,149,Variable\nBoilersArea_BoilerAlpha_Simulation_ProgramDiagnostics_LastMethodOutputArguments,150,Variable\nBoilersArea_BoilerAlpha_Simulation_ProgramDiagnostics_LastMethodCallTime,151,Variable\nBoilersArea_BoilerAlpha_Simulation_ProgramDiagnostics_LastMethodReturnStatus,152,Variable\nBoilersArea_BoilerAlpha_Simulation_FinalResultData,153,Object\nBoilersArea_BoilerAlpha_Simulation_Start,154,Method\nBoilersArea_BoilerAlpha_Simulation_Suspend,155,Method\nBoilersArea_BoilerAlpha_Simulation_Resume,156,Method\nBoilersArea_BoilerAlpha_Simulation_Halt,157,Method\nBoilersArea_BoilerAlpha_Simulation_Reset,158,Method\nBoilersArea_BoilerAlpha_Simulation_UpdateRate,159,Variable\nBoilersArea_BoilerBravo,160,Object\nBoilersArea_BoilerBravo_InputPipe,161,Object\nBoilersArea_BoilerBravo_InputPipe_FlowTransmitter1,162,Object\nBoilersArea_BoilerBravo_InputPipe_FlowTransmitter1_Output,163,Variable\nBoilersArea_BoilerBravo_InputPipe_FlowTransmitter1_Output_Definition,164,Variable\nBoilersArea_BoilerBravo_InputPipe_FlowTransmitter1_Output_ValuePrecision,165,Variable\nBoilersArea_BoilerBravo_InputPipe_FlowTransmitter1_Output_InstrumentRange,166,Variable\nBoilersArea_BoilerBravo_InputPipe_FlowTransmitter1_Output_EURange,167,Variable\nBoilersArea_BoilerBravo_InputPipe_FlowTransmitter1_Output_EngineeringUnits,168,Variable\nBoilersArea_BoilerBravo_InputPipe_Valve,169,Object\nBoilersArea_BoilerBravo_InputPipe_Valve_Input,170,Variable\nBoilersArea_BoilerBravo_InputPipe_Valve_Input_Definition,171,Variable\nBoilersArea_BoilerBravo_InputPipe_Valve_Input_ValuePrecision,172,Variable\nBoilersArea_BoilerBravo_InputPipe_Valve_Input_InstrumentRange,173,Variable\nBoilersArea_BoilerBravo_InputPipe_Valve_Input_EURange,174,Variable\nBoilersArea_BoilerBravo_InputPipe_Valve_Input_EngineeringUnits,175,Variable\nBoilersArea_BoilerBravo_Drum,176,Object\nBoilersArea_BoilerBravo_Drum_LevelIndicator,177,Object\nBoilersArea_BoilerBravo_Drum_LevelIndicator_Output,178,Variable\nBoilersArea_BoilerBravo_Drum_LevelIndicator_Output_Definition,179,Variable\nBoilersArea_BoilerBravo_Drum_LevelIndicator_Output_ValuePrecision,180,Variable\nBoilersArea_BoilerBravo_Drum_LevelIndicator_Output_InstrumentRange,181,Variable\nBoilersArea_BoilerBravo_Drum_LevelIndicator_Output_EURange,182,Variable\nBoilersArea_BoilerBravo_Drum_LevelIndicator_Output_EngineeringUnits,183,Variable\nBoilersArea_BoilerBravo_OutputPipe,184,Object\nBoilersArea_BoilerBravo_OutputPipe_FlowTransmitter2,185,Object\nBoilersArea_BoilerBravo_OutputPipe_FlowTransmitter2_Output,186,Variable\nBoilersArea_BoilerBravo_OutputPipe_FlowTransmitter2_Output_Definition,187,Variable\nBoilersArea_BoilerBravo_OutputPipe_FlowTransmitter2_Output_ValuePrecision,188,Variable\nBoilersArea_BoilerBravo_OutputPipe_FlowTransmitter2_Output_InstrumentRange,189,Variable\nBoilersArea_BoilerBravo_OutputPipe_FlowTransmitter2_Output_EURange,190,Variable\nBoilersArea_BoilerBravo_OutputPipe_FlowTransmitter2_Output_EngineeringUnits,191,Variable\nBoilersArea_BoilerBravo_FlowController,192,Object\nBoilersArea_BoilerBravo_FlowController_Measurement,193,Variable\nBoilersArea_BoilerBravo_FlowController_SetPoint,194,Variable\nBoilersArea_BoilerBravo_FlowController_ControlOut,195,Variable\nBoilersArea_BoilerBravo_LevelController,196,Object\nBoilersArea_BoilerBravo_LevelController_Measurement,197,Variable\nBoilersArea_BoilerBravo_LevelController_SetPoint,198,Variable\nBoilersArea_BoilerBravo_LevelController_ControlOut,199,Variable\nBoilersArea_BoilerBravo_CustomController,200,Object\nBoilersArea_BoilerBravo_CustomController_Input1,201,Variable\nBoilersArea_BoilerBravo_CustomController_Input2,202,Variable\nBoilersArea_BoilerBravo_CustomController_Input3,203,Variable\nBoilersArea_BoilerBravo_CustomController_ControlOut,204,Variable\nBoilersArea_BoilerBravo_CustomController_DescriptionX,205,Variable\nBoilersArea_BoilerBravo_Simulation,206,Object\nBoilersArea_BoilerBravo_Simulation_CurrentState,207,Variable\nBoilersArea_BoilerBravo_Simulation_CurrentState_Id,208,Variable\nBoilersArea_BoilerBravo_Simulation_CurrentState_Name,209,Variable\nBoilersArea_BoilerBravo_Simulation_CurrentState_Number,210,Variable\nBoilersArea_BoilerBravo_Simulation_CurrentState_EffectiveDisplayName,211,Variable\nBoilersArea_BoilerBravo_Simulation_LastTransition,212,Variable\nBoilersArea_BoilerBravo_Simulation_LastTransition_Id,213,Variable\nBoilersArea_BoilerBravo_Simulation_LastTransition_Name,214,Variable\nBoilersArea_BoilerBravo_Simulation_LastTransition_Number,215,Variable\nBoilersArea_BoilerBravo_Simulation_LastTransition_TransitionTime,216,Variable\nBoilersArea_BoilerBravo_Simulation_LastTransition_EffectiveTransitionTime,217,Variable\nBoilersArea_BoilerBravo_Simulation_Deletable,218,Variable\nBoilersArea_BoilerBravo_Simulation_AutoDelete,219,Variable\nBoilersArea_BoilerBravo_Simulation_RecycleCount,220,Variable\nBoilersArea_BoilerBravo_Simulation_ProgramDiagnostics,221,Variable\nBoilersArea_BoilerBravo_Simulation_ProgramDiagnostics_CreateSessionId,222,Variable\nBoilersArea_BoilerBravo_Simulation_ProgramDiagnostics_CreateClientName,223,Variable\nBoilersArea_BoilerBravo_Simulation_ProgramDiagnostics_InvocationCreationTime,224,Variable\nBoilersArea_BoilerBravo_Simulation_ProgramDiagnostics_LastTransitionTime,225,Variable\nBoilersArea_BoilerBravo_Simulation_ProgramDiagnostics_LastMethodCall,226,Variable\nBoilersArea_BoilerBravo_Simulation_ProgramDiagnostics_LastMethodSessionId,227,Variable\nBoilersArea_BoilerBravo_Simulation_ProgramDiagnostics_LastMethodInputArguments,228,Variable\nBoilersArea_BoilerBravo_Simulation_ProgramDiagnostics_LastMethodOutputArguments,229,Variable\nBoilersArea_BoilerBravo_Simulation_ProgramDiagnostics_LastMethodCallTime,230,Variable\nBoilersArea_BoilerBravo_Simulation_ProgramDiagnostics_LastMethodReturnStatus,231,Variable\nBoilersArea_BoilerBravo_Simulation_FinalResultData,232,Object\nBoilersArea_BoilerBravo_Simulation_Start,233,Method\nBoilersArea_BoilerBravo_Simulation_Suspend,234,Method\nBoilersArea_BoilerBravo_Simulation_Resume,235,Method\nBoilersArea_BoilerBravo_Simulation_Halt,236,Method\nBoilersArea_BoilerBravo_Simulation_Reset,237,Method\nBoilersArea_BoilerBravo_Simulation_UpdateRate,238,Variable\nBoilersArea_BoilerCharlie,239,Object\nBoilersArea_BoilerCharlie_InputPipe,240,Object\nBoilersArea_BoilerCharlie_InputPipe_FlowTransmitter1,241,Object\nBoilersArea_BoilerCharlie_InputPipe_FlowTransmitter1_Output,242,Variable\nBoilersArea_BoilerCharlie_InputPipe_FlowTransmitter1_Output_Definition,243,Variable\nBoilersArea_BoilerCharlie_InputPipe_FlowTransmitter1_Output_ValuePrecision,244,Variable\nBoilersArea_BoilerCharlie_InputPipe_FlowTransmitter1_Output_InstrumentRange,245,Variable\nBoilersArea_BoilerCharlie_InputPipe_FlowTransmitter1_Output_EURange,246,Variable\nBoilersArea_BoilerCharlie_InputPipe_FlowTransmitter1_Output_EngineeringUnits,247,Variable\nBoilersArea_BoilerCharlie_InputPipe_Valve,248,Object\nBoilersArea_BoilerCharlie_InputPipe_Valve_Input,249,Variable\nBoilersArea_BoilerCharlie_InputPipe_Valve_Input_Definition,250,Variable\nBoilersArea_BoilerCharlie_InputPipe_Valve_Input_ValuePrecision,251,Variable\nBoilersArea_BoilerCharlie_InputPipe_Valve_Input_InstrumentRange,252,Variable\nBoilersArea_BoilerCharlie_InputPipe_Valve_Input_EURange,253,Variable\nBoilersArea_BoilerCharlie_InputPipe_Valve_Input_EngineeringUnits,254,Variable\nBoilersArea_BoilerCharlie_Drum,255,Object\nBoilersArea_BoilerCharlie_Drum_LevelIndicator,256,Object\nBoilersArea_BoilerCharlie_Drum_LevelIndicator_Output,257,Variable\nBoilersArea_BoilerCharlie_Drum_LevelIndicator_Output_Definition,258,Variable\nBoilersArea_BoilerCharlie_Drum_LevelIndicator_Output_ValuePrecision,259,Variable\nBoilersArea_BoilerCharlie_Drum_LevelIndicator_Output_InstrumentRange,260,Variable\nBoilersArea_BoilerCharlie_Drum_LevelIndicator_Output_EURange,261,Variable\nBoilersArea_BoilerCharlie_Drum_LevelIndicator_Output_EngineeringUnits,262,Variable\nBoilersArea_BoilerCharlie_OutputPipe,263,Object\nBoilersArea_BoilerCharlie_OutputPipe_FlowTransmitter2,264,Object\nBoilersArea_BoilerCharlie_OutputPipe_FlowTransmitter2_Output,265,Variable\nBoilersArea_BoilerCharlie_OutputPipe_FlowTransmitter2_Output_Definition,266,Variable\nBoilersArea_BoilerCharlie_OutputPipe_FlowTransmitter2_Output_ValuePrecision,267,Variable\nBoilersArea_BoilerCharlie_OutputPipe_FlowTransmitter2_Output_InstrumentRange,268,Variable\nBoilersArea_BoilerCharlie_OutputPipe_FlowTransmitter2_Output_EURange,269,Variable\nBoilersArea_BoilerCharlie_OutputPipe_FlowTransmitter2_Output_EngineeringUnits,270,Variable\nBoilersArea_BoilerCharlie_FlowController,271,Object\nBoilersArea_BoilerCharlie_FlowController_Measurement,272,Variable\nBoilersArea_BoilerCharlie_FlowController_SetPoint,273,Variable\nBoilersArea_BoilerCharlie_FlowController_ControlOut,274,Variable\nBoilersArea_BoilerCharlie_LevelController,275,Object\nBoilersArea_BoilerCharlie_LevelController_Measurement,276,Variable\nBoilersArea_BoilerCharlie_LevelController_SetPoint,277,Variable\nBoilersArea_BoilerCharlie_LevelController_ControlOut,278,Variable\nBoilersArea_BoilerCharlie_CustomController,279,Object\nBoilersArea_BoilerCharlie_CustomController_Input1,280,Variable\nBoilersArea_BoilerCharlie_CustomController_Input2,281,Variable\nBoilersArea_BoilerCharlie_CustomController_Input3,282,Variable\nBoilersArea_BoilerCharlie_CustomController_ControlOut,283,Variable\nBoilersArea_BoilerCharlie_CustomController_DescriptionX,284,Variable\nBoilersArea_BoilerCharlie_Simulation,285,Object\nBoilersArea_BoilerCharlie_Simulation_CurrentState,286,Variable\nBoilersArea_BoilerCharlie_Simulation_CurrentState_Id,287,Variable\nBoilersArea_BoilerCharlie_Simulation_CurrentState_Name,288,Variable\nBoilersArea_BoilerCharlie_Simulation_CurrentState_Number,289,Variable\nBoilersArea_BoilerCharlie_Simulation_CurrentState_EffectiveDisplayName,290,Variable\nBoilersArea_BoilerCharlie_Simulation_LastTransition,291,Variable\nBoilersArea_BoilerCharlie_Simulation_LastTransition_Id,292,Variable\nBoilersArea_BoilerCharlie_Simulation_LastTransition_Name,293,Variable\nBoilersArea_BoilerCharlie_Simulation_LastTransition_Number,294,Variable\nBoilersArea_BoilerCharlie_Simulation_LastTransition_TransitionTime,295,Variable\nBoilersArea_BoilerCharlie_Simulation_LastTransition_EffectiveTransitionTime,296,Variable\nBoilersArea_BoilerCharlie_Simulation_Deletable,297,Variable\nBoilersArea_BoilerCharlie_Simulation_AutoDelete,298,Variable\nBoilersArea_BoilerCharlie_Simulation_RecycleCount,299,Variable\nBoilersArea_BoilerCharlie_Simulation_ProgramDiagnostics,300,Variable\nBoilersArea_BoilerCharlie_Simulation_ProgramDiagnostics_CreateSessionId,301,Variable\nBoilersArea_BoilerCharlie_Simulation_ProgramDiagnostics_CreateClientName,302,Variable\nBoilersArea_BoilerCharlie_Simulation_ProgramDiagnostics_InvocationCreationTime,303,Variable\nBoilersArea_BoilerCharlie_Simulation_ProgramDiagnostics_LastTransitionTime,304,Variable\nBoilersArea_BoilerCharlie_Simulation_ProgramDiagnostics_LastMethodCall,305,Variable\nBoilersArea_BoilerCharlie_Simulation_ProgramDiagnostics_LastMethodSessionId,306,Variable\nBoilersArea_BoilerCharlie_Simulation_ProgramDiagnostics_LastMethodInputArguments,307,Variable\nBoilersArea_BoilerCharlie_Simulation_ProgramDiagnostics_LastMethodOutputArguments,308,Variable\nBoilersArea_BoilerCharlie_Simulation_ProgramDiagnostics_LastMethodCallTime,309,Variable\nBoilersArea_BoilerCharlie_Simulation_ProgramDiagnostics_LastMethodReturnStatus,310,Variable\nBoilersArea_BoilerCharlie_Simulation_FinalResultData,311,Object\nBoilersArea_BoilerCharlie_Simulation_Start,312,Method\nBoilersArea_BoilerCharlie_Simulation_Suspend,313,Method\nBoilersArea_BoilerCharlie_Simulation_Resume,314,Method\nBoilersArea_BoilerCharlie_Simulation_Halt,315,Method\nBoilersArea_BoilerCharlie_Simulation_Reset,316,Method\nBoilersArea_BoilerCharlie_Simulation_UpdateRate,317,Variable\nBoilersArea_BoilerDelta,318,Object\nBoilersArea_BoilerDelta_InputPipe,319,Object\nBoilersArea_BoilerDelta_InputPipe_FlowTransmitter1,320,Object\nBoilersArea_BoilerDelta_InputPipe_FlowTransmitter1_Output,321,Variable\nBoilersArea_BoilerDelta_InputPipe_FlowTransmitter1_Output_Definition,322,Variable\nBoilersArea_BoilerDelta_InputPipe_FlowTransmitter1_Output_ValuePrecision,323,Variable\nBoilersArea_BoilerDelta_InputPipe_FlowTransmitter1_Output_InstrumentRange,324,Variable\nBoilersArea_BoilerDelta_InputPipe_FlowTransmitter1_Output_EURange,325,Variable\nBoilersArea_BoilerDelta_InputPipe_FlowTransmitter1_Output_EngineeringUnits,326,Variable\nBoilersArea_BoilerDelta_InputPipe_Valve,327,Object\nBoilersArea_BoilerDelta_InputPipe_Valve_Input,328,Variable\nBoilersArea_BoilerDelta_InputPipe_Valve_Input_Definition,329,Variable\nBoilersArea_BoilerDelta_InputPipe_Valve_Input_ValuePrecision,330,Variable\nBoilersArea_BoilerDelta_InputPipe_Valve_Input_InstrumentRange,331,Variable\nBoilersArea_BoilerDelta_InputPipe_Valve_Input_EURange,332,Variable\nBoilersArea_BoilerDelta_InputPipe_Valve_Input_EngineeringUnits,333,Variable\nBoilersArea_BoilerDelta_Drum,334,Object\nBoilersArea_BoilerDelta_Drum_LevelIndicator,335,Object\nBoilersArea_BoilerDelta_Drum_LevelIndicator_Output,336,Variable\nBoilersArea_BoilerDelta_Drum_LevelIndicator_Output_Definition,337,Variable\nBoilersArea_BoilerDelta_Drum_LevelIndicator_Output_ValuePrecision,338,Variable\nBoilersArea_BoilerDelta_Drum_LevelIndicator_Output_InstrumentRange,339,Variable\nBoilersArea_BoilerDelta_Drum_LevelIndicator_Output_EURange,340,Variable\nBoilersArea_BoilerDelta_Drum_LevelIndicator_Output_EngineeringUnits,341,Variable\nBoilersArea_BoilerDelta_OutputPipe,342,Object\nBoilersArea_BoilerDelta_OutputPipe_FlowTransmitter2,343,Object\nBoilersArea_BoilerDelta_OutputPipe_FlowTransmitter2_Output,344,Variable\nBoilersArea_BoilerDelta_OutputPipe_FlowTransmitter2_Output_Definition,345,Variable\nBoilersArea_BoilerDelta_OutputPipe_FlowTransmitter2_Output_ValuePrecision,346,Variable\nBoilersArea_BoilerDelta_OutputPipe_FlowTransmitter2_Output_InstrumentRange,347,Variable\nBoilersArea_BoilerDelta_OutputPipe_FlowTransmitter2_Output_EURange,348,Variable\nBoilersArea_BoilerDelta_OutputPipe_FlowTransmitter2_Output_EngineeringUnits,349,Variable\nBoilersArea_BoilerDelta_FlowController,350,Object\nBoilersArea_BoilerDelta_FlowController_Measurement,351,Variable\nBoilersArea_BoilerDelta_FlowController_SetPoint,352,Variable\nBoilersArea_BoilerDelta_FlowController_ControlOut,353,Variable\nBoilersArea_BoilerDelta_LevelController,354,Object\nBoilersArea_BoilerDelta_LevelController_Measurement,355,Variable\nBoilersArea_BoilerDelta_LevelController_SetPoint,356,Variable\nBoilersArea_BoilerDelta_LevelController_ControlOut,357,Variable\nBoilersArea_BoilerDelta_CustomController,358,Object\nBoilersArea_BoilerDelta_CustomController_Input1,359,Variable\nBoilersArea_BoilerDelta_CustomController_Input2,360,Variable\nBoilersArea_BoilerDelta_CustomController_Input3,361,Variable\nBoilersArea_BoilerDelta_CustomController_ControlOut,362,Variable\nBoilersArea_BoilerDelta_CustomController_DescriptionX,363,Variable\nBoilersArea_BoilerDelta_Simulation,364,Object\nBoilersArea_BoilerDelta_Simulation_CurrentState,365,Variable\nBoilersArea_BoilerDelta_Simulation_CurrentState_Id,366,Variable\nBoilersArea_BoilerDelta_Simulation_CurrentState_Name,367,Variable\nBoilersArea_BoilerDelta_Simulation_CurrentState_Number,368,Variable\nBoilersArea_BoilerDelta_Simulation_CurrentState_EffectiveDisplayName,369,Variable\nBoilersArea_BoilerDelta_Simulation_LastTransition,370,Variable\nBoilersArea_BoilerDelta_Simulation_LastTransition_Id,371,Variable\nBoilersArea_BoilerDelta_Simulation_LastTransition_Name,372,Variable\nBoilersArea_BoilerDelta_Simulation_LastTransition_Number,373,Variable\nBoilersArea_BoilerDelta_Simulation_LastTransition_TransitionTime,374,Variable\nBoilersArea_BoilerDelta_Simulation_LastTransition_EffectiveTransitionTime,375,Variable\nBoilersArea_BoilerDelta_Simulation_Deletable,376,Variable\nBoilersArea_BoilerDelta_Simulation_AutoDelete,377,Variable\nBoilersArea_BoilerDelta_Simulation_RecycleCount,378,Variable\nBoilersArea_BoilerDelta_Simulation_ProgramDiagnostics,379,Variable\nBoilersArea_BoilerDelta_Simulation_ProgramDiagnostics_CreateSessionId,380,Variable\nBoilersArea_BoilerDelta_Simulation_ProgramDiagnostics_CreateClientName,381,Variable\nBoilersArea_BoilerDelta_Simulation_ProgramDiagnostics_InvocationCreationTime,382,Variable\nBoilersArea_BoilerDelta_Simulation_ProgramDiagnostics_LastTransitionTime,383,Variable\nBoilersArea_BoilerDelta_Simulation_ProgramDiagnostics_LastMethodCall,384,Variable\nBoilersArea_BoilerDelta_Simulation_ProgramDiagnostics_LastMethodSessionId,385,Variable\nBoilersArea_BoilerDelta_Simulation_ProgramDiagnostics_LastMethodInputArguments,386,Variable\nBoilersArea_BoilerDelta_Simulation_ProgramDiagnostics_LastMethodOutputArguments,387,Variable\nBoilersArea_BoilerDelta_Simulation_ProgramDiagnostics_LastMethodCallTime,388,Variable\nBoilersArea_BoilerDelta_Simulation_ProgramDiagnostics_LastMethodReturnStatus,389,Variable\nBoilersArea_BoilerDelta_Simulation_FinalResultData,390,Object\nBoilersArea_BoilerDelta_Simulation_Start,391,Method\nBoilersArea_BoilerDelta_Simulation_Suspend,392,Method\nBoilersArea_BoilerDelta_Simulation_Resume,393,Method\nBoilersArea_BoilerDelta_Simulation_Halt,394,Method\nBoilersArea_BoilerDelta_Simulation_Reset,395,Method\nBoilersArea_BoilerDelta_Simulation_UpdateRate,396,Variable\nDrums,398,Object\nPipes,399,Object\n"
  },
  {
    "path": "Networking/Simulator.Boiler/UAInformationModel/DemoConfiguration/BoilersSet.xml",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<ModelDesign xmlns:bt=\"http://tempuri.org/UA/Examples/BoilerType\" xmlns:bs=\"http://commsvr.com/UA/Examples/BoilersSet\" xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\" xmlns:OpcUa=\"http://opcfoundation.org/UA/\" xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xmlns:uax=\"http://opcfoundation.org/UA/2008/02/Types.xsd\" TargetNamespace=\"http://commsvr.com/UA/Examples/BoilersSet\" TargetXmlNamespace=\"http://commsvr.com/UA/Examples/BoilersSet\" xmlns=\"http://opcfoundation.org/UA/ModelDesign.xsd\">\n  <Namespaces>\n    <Namespace Name=\"OpcUa\" Prefix=\"Opc.Ua\" InternalPrefix=\"Opc.Ua.Server\" XmlNamespace=\"http://opcfoundation.org/UA/2008/02/Types.xsd\" XmlPrefix=\"OpcUa\">http://opcfoundation.org/UA/</Namespace>\n    <Namespace Name=\"BoilerType\" Prefix=\"tempuri.org.UA.Examples.BoilerType\" XmlNamespace=\"http://tempuri.org/UA/Examples/BoilerType/Types.xsd\" XmlPrefix=\"bt\" FilePath=\"BoilerType\">http://tempuri.org/UA/Examples/BoilerType</Namespace>\n    <Namespace Name=\"BoilersSet\" Prefix=\"Commsvr.UA.Examples.BoilersSet\" XmlNamespace=\"http://commsvr.com/UA/Examples/BoilersSet/Types.xsd\" XmlPrefix=\"bs\" FilePath=\"BoilersSet\">http://commsvr.com/UA/Examples/BoilersSet</Namespace>\n  </Namespaces>\n  <Object SymbolicName=\"bs:BoilersArea\" TypeDefinition=\"OpcUa:FolderType\">\n    <Children>\n      <Object SymbolicName=\"bs:BoilerAlpha\" TypeDefinition=\"bt:BoilerType\">\n        <BrowseName>Boiler #1</BrowseName>\n        <Children>\n          <Object SymbolicName=\"bs:InputPipe\">\n            <DisplayName>Boiler #1: Pipe1001</DisplayName>\n          </Object>\n          <Object SymbolicName=\"bs:Drum\">\n            <DisplayName>Boiler #1: Drum1001</DisplayName>\n          </Object>\n          <Object SymbolicName=\"bs:OutputPipe\">\n            <DisplayName>Boiler #1: Pipe1002</DisplayName>\n          </Object>\n          <Object SymbolicName=\"bs:FlowController\">\n            <DisplayName>Boiler #1: FC1001</DisplayName>\n          </Object>\n          <Object SymbolicName=\"bs:LevelController\">\n            <DisplayName>Boiler #1: LC1001</DisplayName>\n          </Object>\n          <Object SymbolicName=\"bs:CustomController\">\n            <DisplayName>Boiler #1: CC1001</DisplayName>\n          </Object>\n        </Children>\n      </Object>\n      <Object SymbolicName=\"bs:BoilerBravo\" TypeDefinition=\"bt:BoilerType\">\n        <BrowseName>Boiler #2</BrowseName>\n        <DisplayName>Boilers Second</DisplayName>\n        <Children>\n          <Object SymbolicName=\"bs:InputPipe\">\n            <DisplayName>Boiler #2: Pipe1001</DisplayName>\n          </Object>\n          <Object SymbolicName=\"bs:Drum\">\n            <DisplayName>Boiler #2: Drum1001</DisplayName>\n          </Object>\n          <Object SymbolicName=\"bs:OutputPipe\">\n            <DisplayName>Boiler #2: Pipe1002</DisplayName>\n          </Object>\n          <Object SymbolicName=\"bs:FlowController\">\n            <DisplayName>Boiler #2: FC1001</DisplayName>\n          </Object>\n          <Object SymbolicName=\"bs:LevelController\">\n            <DisplayName>Boiler #2: LC1001</DisplayName>\n          </Object>\n          <Object SymbolicName=\"bs:CustomController\">\n            <DisplayName>Boiler #2: CC1001</DisplayName>\n          </Object>\n        </Children>\n      </Object>\n      <Object SymbolicName=\"bs:BoilerCharlie\" TypeDefinition=\"bt:BoilerType\">\n        <BrowseName>Boiler #3</BrowseName>\n        <Children>\n          <Object SymbolicName=\"bs:InputPipe\">\n            <DisplayName>Boiler #3: Pipe1001</DisplayName>\n          </Object>\n          <Object SymbolicName=\"bs:Drum\">\n            <DisplayName>Boiler #3: Drum1001</DisplayName>\n          </Object>\n          <Object SymbolicName=\"bs:OutputPipe\">\n            <DisplayName>Boiler #3: Pipe1002</DisplayName>\n          </Object>\n          <Object SymbolicName=\"bs:FlowController\">\n            <DisplayName>Boiler #3: FC1001</DisplayName>\n          </Object>\n          <Object SymbolicName=\"bs:LevelController\">\n            <DisplayName>Boiler #3: LC1001</DisplayName>\n          </Object>\n          <Object SymbolicName=\"bs:CustomController\">\n            <DisplayName>Boiler #3: CC1001</DisplayName>\n          </Object>\n        </Children>\n      </Object>\n      <Object SymbolicName=\"bs:BoilerDelta\" TypeDefinition=\"bt:BoilerType\">\n        <BrowseName>Boiler #4</BrowseName>\n        <Children>\n          <Object SymbolicName=\"bs:InputPipe\">\n            <DisplayName>Boiler #4: Pipe1001</DisplayName>\n          </Object>\n          <Object SymbolicName=\"bs:Drum\">\n            <DisplayName>Boiler #4: Drum1001</DisplayName>\n          </Object>\n          <Object SymbolicName=\"bs:OutputPipe\">\n            <DisplayName>Boiler #4: Pipe1002</DisplayName>\n          </Object>\n          <Object SymbolicName=\"bs:FlowController\">\n            <DisplayName>Boiler #4: FC1001</DisplayName>\n          </Object>\n          <Object SymbolicName=\"bs:LevelController\">\n            <DisplayName>Boiler #4: LC1001</DisplayName>\n          </Object>\n          <Object SymbolicName=\"bs:CustomController\">\n            <DisplayName>Boiler #4: CC1001</DisplayName>\n          </Object>\n        </Children>\n      </Object>\n    </Children>\n    <References>\n      <Reference IsInverse=\"true\">\n        <ReferenceType>OpcUa:Organizes</ReferenceType>\n        <TargetId>OpcUa:ObjectsFolder</TargetId>\n      </Reference>\n      <Reference IsInverse=\"true\">\n        <ReferenceType>OpcUa:HasNotifier</ReferenceType>\n        <TargetId>OpcUa:Server</TargetId>\n      </Reference>\n      <Reference>\n        <ReferenceType>OpcUa:HasNotifier</ReferenceType>\n        <TargetId>bs:BoilersArea_BoilerAlpha</TargetId>\n      </Reference>\n    </References>\n  </Object>\n  <Object SymbolicName=\"bs:Drums\">\n    <References>\n      <Reference IsInverse=\"true\">\n        <ReferenceType>OpcUa:Organizes</ReferenceType>\n        <TargetId>OpcUa:ObjectsFolder</TargetId>\n      </Reference>\n      <Reference>\n        <ReferenceType>OpcUa:HasComponent</ReferenceType>\n        <TargetId>bs:BoilersArea_BoilerAlpha_Drum</TargetId>\n      </Reference>\n      <Reference>\n        <ReferenceType>OpcUa:HasComponent</ReferenceType>\n        <TargetId>bs:BoilersArea_BoilerBravo_Drum</TargetId>\n      </Reference>\n      <Reference>\n        <ReferenceType>OpcUa:HasComponent</ReferenceType>\n        <TargetId>bs:BoilersArea_BoilerCharlie_Drum</TargetId>\n      </Reference>\n      <Reference>\n        <ReferenceType>OpcUa:HasComponent</ReferenceType>\n        <TargetId>bs:BoilersArea_BoilerDelta_Drum</TargetId>\n      </Reference>\n    </References>\n  </Object>\n  <Object SymbolicName=\"bs:Pipes\">\n    <References>\n      <Reference IsInverse=\"true\">\n        <ReferenceType>OpcUa:Organizes</ReferenceType>\n        <TargetId>OpcUa:ObjectsFolder</TargetId>\n      </Reference>\n      <Reference>\n        <ReferenceType>OpcUa:HasComponent</ReferenceType>\n        <TargetId>bs:BoilersArea_BoilerAlpha_InputPipe</TargetId>\n      </Reference>\n      <Reference>\n        <ReferenceType>OpcUa:HasComponent</ReferenceType>\n        <TargetId>bs:BoilersArea_BoilerAlpha_OutputPipe</TargetId>\n      </Reference>\n      <Reference>\n        <ReferenceType>OpcUa:HasComponent</ReferenceType>\n        <TargetId>bs:BoilersArea_BoilerBravo_InputPipe</TargetId>\n      </Reference>\n      <Reference>\n        <ReferenceType>OpcUa:HasComponent</ReferenceType>\n        <TargetId>bs:BoilersArea_BoilerBravo_OutputPipe</TargetId>\n      </Reference>\n      <Reference>\n        <ReferenceType>OpcUa:HasComponent</ReferenceType>\n        <TargetId>bs:BoilersArea_BoilerCharlie_InputPipe</TargetId>\n      </Reference>\n      <Reference>\n        <ReferenceType>OpcUa:HasComponent</ReferenceType>\n        <TargetId>bs:BoilersArea_BoilerCharlie_OutputPipe</TargetId>\n      </Reference>\n      <Reference>\n        <ReferenceType>OpcUa:HasComponent</ReferenceType>\n        <TargetId>bs:BoilersArea_BoilerDelta_InputPipe</TargetId>\n      </Reference>\n      <Reference>\n        <ReferenceType>OpcUa:HasComponent</ReferenceType>\n        <TargetId>bs:BoilersArea_BoilerDelta_OutputPipe</TargetId>\n      </Reference>\n    </References>\n  </Object>\n</ModelDesign>"
  },
  {
    "path": "Networking/SimulatorInteroperabilityTest/AssemblyInfo.cs",
    "content": "﻿\nusing System.Reflection;\nusing System.Runtime.CompilerServices;\nusing System.Runtime.InteropServices;\n\n[assembly: AssemblyTrademark(\"\")]\n[assembly: AssemblyCulture(\"\")]\n[assembly: Guid(\"89e195e5-208f-4a6a-8dd9-9416801ae038\")]\n[assembly: InternalsVisibleTo(\n  \"UAOOI.Networking.ReferenceApplication.UnitTest, PublicKey=\" +\n    \"00240000048000009400000006020000002400005253413100040000010001005b97a0972ff6b13a\" +\n    \"8a9ff9c09503aea0e5e2fe29cb2275a0c0942182f4c3431814b6bc9a556d9fe0d7e7823439c1ba28\" +\n    \"521f6318e4c936c4461604ef668e9686c2021571b093e1bfba071b373bc56a07a3afdc120c5313d3\" +\n    \"9a935cda64b759f857ebb3db483641444a5347e1564f8ba6d4fad2f968d3caf9991a4fa6aa019ebe\"\n)]\n[assembly: InternalsVisibleTo(\n  \"UAOOI.Networking.SimulatorInteroperabilityTest.UnitTest, PublicKey=\" +\n    \"00240000048000009400000006020000002400005253413100040000010001005b97a0972ff6b13a\" +\n    \"8a9ff9c09503aea0e5e2fe29cb2275a0c0942182f4c3431814b6bc9a556d9fe0d7e7823439c1ba28\" +\n    \"521f6318e4c936c4461604ef668e9686c2021571b093e1bfba071b373bc56a07a3afdc120c5313d3\" +\n    \"9a935cda64b759f857ebb3db483641444a5347e1564f8ba6d4fad2f968d3caf9991a4fa6aa019ebe\"\n)]\n"
  },
  {
    "path": "Networking/SimulatorInteroperabilityTest/ConfigurationDataProducer.xml",
    "content": "﻿<ConfigurationData xmlns:i=\"http://www.w3.org/2001/XMLSchema-instance\" xmlns=\"http://commsvr.com/UAOOI/SemanticData/UANetworking/Configuration/Serialization.xsd\">\n  <DataSets>\n    <DataSetConfiguration>\n      <AssociationRole>Producer</AssociationRole>\n      <AssociationName>Simple</AssociationName>\n      <RepositoryGroup>repositoryGroup</RepositoryGroup>\n      <InformationModelURI>https://github.com/mpostol/OPC-UA-OOI</InformationModelURI>\n      <DataSymbolicName>DataSymbolicName</DataSymbolicName>\n      <DataSet>\n        <DataMemberConfiguration>\n          <SymbolicName>BoolToggle</SymbolicName>\n          <ProcessValueName>BoolToggle</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>Boolean</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>Int32Normal</SymbolicName>\n          <ProcessValueName>Int32Normal</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>Int32</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>Int32Fast</SymbolicName>\n          <ProcessValueName>Int32Fast</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>Int32</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>SimpleValueDateTime</SymbolicName>\n          <ProcessValueName>SimpleValueDateTime</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>DateTime</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n      </DataSet>\n      <Guid>c1f53ffb-6552-4ccc-84c9-f847147cdc85</Guid>\n      <Root>\n        <q:NodeIdentifier xmlns:d5p1=\"NodeDescriptorNS\" xmlns:q=\"http://commsvr.com/UAOOI/SemanticData/UANetworking/Configuration/Serialization.xsd\">d5p1:NodeDescriptor</q:NodeIdentifier>\n      </Root>\n      <PublishingInterval>1000</PublishingInterval>\n      <MaxBufferTime>100</MaxBufferTime>\n      <ConfigurationGuid>1893991b-517c-4a5f-b8a4-1633d2a101c8</ConfigurationGuid>\n      <ConfigurationVersion>\n        <MajorVersion>1</MajorVersion>\n        <MinorVersion>0</MinorVersion>\n      </ConfigurationVersion>\n    </DataSetConfiguration>\n    <DataSetConfiguration>\n      <AssociationRole>Producer</AssociationRole>\n      <AssociationName>AllTypes</AssociationName>\n      <RepositoryGroup>repositoryGroup</RepositoryGroup>\n      <InformationModelURI>https://github.com/mpostol/OPC-UA-OOI</InformationModelURI>\n      <DataSymbolicName>DataSymbolicName</DataSymbolicName>\n      <DataSet>\n        <DataMemberConfiguration>\n          <SymbolicName>ValueBoolean</SymbolicName>\n          <ProcessValueName>ValueBoolean</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>Boolean</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>ValueByte</SymbolicName>\n          <ProcessValueName>ValueByte</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>Byte</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>ValueInt16</SymbolicName>\n          <ProcessValueName>ValueInt16</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>Int16</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>ValueInt32</SymbolicName>\n          <ProcessValueName>ValueInt32</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>Int32</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>ValueInt64</SymbolicName>\n          <ProcessValueName>ValueInt64</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>Int64</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>ValueSByte</SymbolicName>\n          <ProcessValueName>ValueSByte</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>SByte</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>ValueUInt16</SymbolicName>\n          <ProcessValueName>ValueUInt16</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>UInt16</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>ValueUInt32</SymbolicName>\n          <ProcessValueName>ValueUInt32</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>UInt32</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>ValueUInt64</SymbolicName>\n          <ProcessValueName>ValueUInt64</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>UInt64</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>ValueFloat</SymbolicName>\n          <ProcessValueName>ValueFloat</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>Float</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>ValueDouble</SymbolicName>\n          <ProcessValueName>ValueDouble</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>Double</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>ValueString</SymbolicName>\n          <ProcessValueName>ValueString</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>String</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>ValueByteString</SymbolicName>\n          <ProcessValueName>ValueByteString</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>ByteString</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>ValueGuid</SymbolicName>\n          <ProcessValueName>ValueGuid</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>Guid</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>ValueDateTime</SymbolicName>\n          <ProcessValueName>ValueDateTime</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>DateTime</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>UInt32Array</SymbolicName>\n          <ProcessValueName>UInt32Array</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>UInt32</BuiltInType>\n            <ValueRank>1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n\n        <!--arrays all types out of scope -->\n        <!-- uncomment aas needed - all have been self tested\n        \n        <DataMemberConfiguration>\n          <SymbolicName>ArrayBoolean</SymbolicName>\n          <ProcessValueName>ArrayBoolean</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>Boolean</BuiltInType>\n            <ValueRank>1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>ArrayByte</SymbolicName>\n          <ProcessValueName>ArrayByte</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>Byte</BuiltInType>\n            <ValueRank>1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>ArrayInt16</SymbolicName>\n          <ProcessValueName>ArrayInt16</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>Int16</BuiltInType>\n            <ValueRank>1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>ArrayInt32</SymbolicName>\n          <ProcessValueName>ArrayInt32</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>Int32</BuiltInType>\n            <ValueRank>1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>ArrayInt64</SymbolicName>\n          <ProcessValueName>ArrayInt64</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>Int64</BuiltInType>\n            <ValueRank>1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>ArraySByte</SymbolicName>\n          <ProcessValueName>ArraySByte</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>SByte</BuiltInType>\n            <ValueRank>1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>ArrayUInt16</SymbolicName>\n          <ProcessValueName>ArrayUInt16</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>UInt16</BuiltInType>\n            <ValueRank>1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>ArrayUInt32</SymbolicName>\n          <ProcessValueName>ArrayUInt32</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>UInt32</BuiltInType>\n            <ValueRank>1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>ArrayUInt64</SymbolicName>\n          <ProcessValueName>ArrayUInt64</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>UInt64</BuiltInType>\n            <ValueRank>1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>ArrayFloat</SymbolicName>\n          <ProcessValueName>ArrayFloat</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>Float</BuiltInType>\n            <ValueRank>1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>ArrayDouble</SymbolicName>\n          <ProcessValueName>ArrayDouble</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>Double</BuiltInType>\n            <ValueRank>1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>ArrayString</SymbolicName>\n          <ProcessValueName>ArrayString</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>String</BuiltInType>\n            <ValueRank>1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>ArrayByteString</SymbolicName>\n          <ProcessValueName>ArrayByteString</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>ByteString</BuiltInType>\n            <ValueRank>1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>ArrayGuid</SymbolicName>\n          <ProcessValueName>ArrayGuid</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>Guid</BuiltInType>\n            <ValueRank>1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>ArrayDateTime</SymbolicName>\n          <ProcessValueName>ArrayDateTime</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>DateTime</BuiltInType>\n            <ValueRank>1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n\n        -->\n        <!--out of scope-->\n\n      </DataSet>\n      <Guid>c1f53ffb-6552-4ccc-84c9-f847147cdc85</Guid>\n      <Root>\n        <q:NodeIdentifier xmlns:d5p1=\"NodeDescriptorNS\" xmlns:q=\"http://commsvr.com/UAOOI/SemanticData/UANetworking/Configuration/Serialization.xsd\">d5p1:NodeDescriptor</q:NodeIdentifier>\n      </Root>\n      <PublishingInterval>1000</PublishingInterval>\n      <MaxBufferTime>100</MaxBufferTime>\n      <ConfigurationGuid>D79E3F84-48AB-48A2-9055-DF589D19E824</ConfigurationGuid>\n      <ConfigurationVersion>\n        <MajorVersion>1</MajorVersion>\n        <MinorVersion>0</MinorVersion>\n      </ConfigurationVersion>\n    </DataSetConfiguration>\n    <DataSetConfiguration>\n      <AssociationRole>Producer</AssociationRole>\n      <AssociationName>MassTest</AssociationName>\n      <RepositoryGroup>repositoryGroup</RepositoryGroup>\n      <InformationModelURI>https://github.com/mpostol/OPC-UA-OOI</InformationModelURI>\n      <DataSymbolicName>DataSymbolicName</DataSymbolicName>\n      <DataSet>\n        <DataMemberConfiguration>\n          <SymbolicName>MassTest_00</SymbolicName>\n          <ProcessValueName>MassTest_00</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>UInt32</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>MassTest_01</SymbolicName>\n          <ProcessValueName>MassTest_01</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>UInt32</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>MassTest_02</SymbolicName>\n          <ProcessValueName>MassTest_02</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>UInt32</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>MassTest_03</SymbolicName>\n          <ProcessValueName>MassTest_03</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>UInt32</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>MassTest_04</SymbolicName>\n          <ProcessValueName>MassTest_04</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>UInt32</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>MassTest_05</SymbolicName>\n          <ProcessValueName>MassTest_05</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>UInt32</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>MassTest_06</SymbolicName>\n          <ProcessValueName>MassTest_06</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>UInt32</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>MassTest_07</SymbolicName>\n          <ProcessValueName>MassTest_07</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>UInt32</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>MassTest_08</SymbolicName>\n          <ProcessValueName>MassTest_08</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>UInt32</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>MassTest_09</SymbolicName>\n          <ProcessValueName>MassTest_09</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>UInt32</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n\n        <DataMemberConfiguration>\n          <SymbolicName>MassTest_10</SymbolicName>\n          <ProcessValueName>MassTest_10</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>UInt32</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>MassTest_11</SymbolicName>\n          <ProcessValueName>MassTest_11</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>UInt32</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>MassTest_12</SymbolicName>\n          <ProcessValueName>MassTest_12</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>UInt32</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>MassTest_13</SymbolicName>\n          <ProcessValueName>MassTest_13</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>UInt32</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>MassTest_14</SymbolicName>\n          <ProcessValueName>MassTest_14</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>UInt32</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>MassTest_15</SymbolicName>\n          <ProcessValueName>MassTest_15</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>UInt32</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>MassTest_16</SymbolicName>\n          <ProcessValueName>MassTest_16</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>UInt32</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>MassTest_17</SymbolicName>\n          <ProcessValueName>MassTest_17</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>UInt32</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>MassTest_18</SymbolicName>\n          <ProcessValueName>MassTest_18</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>UInt32</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>MassTest_19</SymbolicName>\n          <ProcessValueName>MassTest_19</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>UInt32</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n\n        <DataMemberConfiguration>\n          <SymbolicName>MassTest_20</SymbolicName>\n          <ProcessValueName>MassTest_20</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>UInt32</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>MassTest_21</SymbolicName>\n          <ProcessValueName>MassTest_21</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>UInt32</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>MassTest_22</SymbolicName>\n          <ProcessValueName>MassTest_22</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>UInt32</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>MassTest_23</SymbolicName>\n          <ProcessValueName>MassTest_23</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>UInt32</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>MassTest_24</SymbolicName>\n          <ProcessValueName>MassTest_24</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>UInt32</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>MassTest_25</SymbolicName>\n          <ProcessValueName>MassTest_25</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>UInt32</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>MassTest_26</SymbolicName>\n          <ProcessValueName>MassTest_26</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>UInt32</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>MassTest_27</SymbolicName>\n          <ProcessValueName>MassTest_27</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>UInt32</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>MassTest_28</SymbolicName>\n          <ProcessValueName>MassTest_28</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>UInt32</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>MassTest_29</SymbolicName>\n          <ProcessValueName>MassTest_29</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>UInt32</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n\n        <DataMemberConfiguration>\n          <SymbolicName>MassTest_30</SymbolicName>\n          <ProcessValueName>MassTest_30</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>UInt32</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>MassTest_31</SymbolicName>\n          <ProcessValueName>MassTest_31</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>UInt32</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>MassTest_32</SymbolicName>\n          <ProcessValueName>MassTest_32</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>UInt32</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>MassTest_33</SymbolicName>\n          <ProcessValueName>MassTest_33</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>UInt32</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>MassTest_34</SymbolicName>\n          <ProcessValueName>MassTest_34</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>UInt32</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>MassTest_35</SymbolicName>\n          <ProcessValueName>MassTest_35</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>UInt32</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>MassTest_36</SymbolicName>\n          <ProcessValueName>MassTest_36</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>UInt32</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>MassTest_37</SymbolicName>\n          <ProcessValueName>MassTest_37</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>UInt32</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>MassTest_38</SymbolicName>\n          <ProcessValueName>MassTest_38</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>UInt32</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>MassTest_39</SymbolicName>\n          <ProcessValueName>MassTest_39</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>UInt32</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n\n        <DataMemberConfiguration>\n          <SymbolicName>MassTest_40</SymbolicName>\n          <ProcessValueName>MassTest_40</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>UInt32</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>MassTest_41</SymbolicName>\n          <ProcessValueName>MassTest_41</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>UInt32</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>MassTest_42</SymbolicName>\n          <ProcessValueName>MassTest_42</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>UInt32</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>MassTest_43</SymbolicName>\n          <ProcessValueName>MassTest_43</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>UInt32</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>MassTest_44</SymbolicName>\n          <ProcessValueName>MassTest_44</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>UInt32</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>MassTest_45</SymbolicName>\n          <ProcessValueName>MassTest_45</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>UInt32</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>MassTest_46</SymbolicName>\n          <ProcessValueName>MassTest_46</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>UInt32</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>MassTest_47</SymbolicName>\n          <ProcessValueName>MassTest_47</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>UInt32</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>MassTest_48</SymbolicName>\n          <ProcessValueName>MassTest_48</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>UInt32</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>MassTest_49</SymbolicName>\n          <ProcessValueName>MassTest_49</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>UInt32</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n\n        <DataMemberConfiguration>\n          <SymbolicName>MassTest_50</SymbolicName>\n          <ProcessValueName>MassTest_50</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>UInt32</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>MassTest_51</SymbolicName>\n          <ProcessValueName>MassTest_51</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>UInt32</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>MassTest_52</SymbolicName>\n          <ProcessValueName>MassTest_52</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>UInt32</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>MassTest_53</SymbolicName>\n          <ProcessValueName>MassTest_53</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>UInt32</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>MassTest_54</SymbolicName>\n          <ProcessValueName>MassTest_54</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>UInt32</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>MassTest_55</SymbolicName>\n          <ProcessValueName>MassTest_55</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>UInt32</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>MassTest_56</SymbolicName>\n          <ProcessValueName>MassTest_56</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>UInt32</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>MassTest_57</SymbolicName>\n          <ProcessValueName>MassTest_57</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>UInt32</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>MassTest_58</SymbolicName>\n          <ProcessValueName>MassTest_58</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>UInt32</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>MassTest_59</SymbolicName>\n          <ProcessValueName>MassTest_59</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>UInt32</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n\n        <DataMemberConfiguration>\n          <SymbolicName>MassTest_60</SymbolicName>\n          <ProcessValueName>MassTest_60</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>UInt32</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>MassTest_61</SymbolicName>\n          <ProcessValueName>MassTest_61</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>UInt32</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>MassTest_62</SymbolicName>\n          <ProcessValueName>MassTest_62</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>UInt32</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>MassTest_63</SymbolicName>\n          <ProcessValueName>MassTest_63</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>UInt32</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>MassTest_64</SymbolicName>\n          <ProcessValueName>MassTest_64</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>UInt32</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>MassTest_65</SymbolicName>\n          <ProcessValueName>MassTest_65</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>UInt32</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>MassTest_66</SymbolicName>\n          <ProcessValueName>MassTest_66</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>UInt32</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>MassTest_67</SymbolicName>\n          <ProcessValueName>MassTest_67</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>UInt32</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>MassTest_68</SymbolicName>\n          <ProcessValueName>MassTest_68</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>UInt32</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>MassTest_69</SymbolicName>\n          <ProcessValueName>MassTest_69</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>UInt32</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n\n        <DataMemberConfiguration>\n          <SymbolicName>MassTest_70</SymbolicName>\n          <ProcessValueName>MassTest_70</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>UInt32</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>MassTest_71</SymbolicName>\n          <ProcessValueName>MassTest_71</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>UInt32</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>MassTest_72</SymbolicName>\n          <ProcessValueName>MassTest_72</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>UInt32</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>MassTest_73</SymbolicName>\n          <ProcessValueName>MassTest_73</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>UInt32</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>MassTest_74</SymbolicName>\n          <ProcessValueName>MassTest_74</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>UInt32</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>MassTest_75</SymbolicName>\n          <ProcessValueName>MassTest_75</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>UInt32</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>MassTest_76</SymbolicName>\n          <ProcessValueName>MassTest_76</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>UInt32</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>MassTest_77</SymbolicName>\n          <ProcessValueName>MassTest_77</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>UInt32</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>MassTest_78</SymbolicName>\n          <ProcessValueName>MassTest_78</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>UInt32</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>MassTest_79</SymbolicName>\n          <ProcessValueName>MassTest_79</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>UInt32</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n\n        <DataMemberConfiguration>\n          <SymbolicName>MassTest_80</SymbolicName>\n          <ProcessValueName>MassTest_80</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>UInt32</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>MassTest_81</SymbolicName>\n          <ProcessValueName>MassTest_81</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>UInt32</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>MassTest_82</SymbolicName>\n          <ProcessValueName>MassTest_82</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>UInt32</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>MassTest_83</SymbolicName>\n          <ProcessValueName>MassTest_83</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>UInt32</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>MassTest_84</SymbolicName>\n          <ProcessValueName>MassTest_84</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>UInt32</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>MassTest_85</SymbolicName>\n          <ProcessValueName>MassTest_85</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>UInt32</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>MassTest_86</SymbolicName>\n          <ProcessValueName>MassTest_86</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>UInt32</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>MassTest_87</SymbolicName>\n          <ProcessValueName>MassTest_87</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>UInt32</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>MassTest_88</SymbolicName>\n          <ProcessValueName>MassTest_88</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>UInt32</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>MassTest_89</SymbolicName>\n          <ProcessValueName>MassTest_89</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>UInt32</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n\n        <DataMemberConfiguration>\n          <SymbolicName>MassTest_90</SymbolicName>\n          <ProcessValueName>MassTest_90</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>UInt32</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>MassTest_91</SymbolicName>\n          <ProcessValueName>MassTest_91</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>UInt32</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>MassTest_92</SymbolicName>\n          <ProcessValueName>MassTest_92</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>UInt32</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>MassTest_93</SymbolicName>\n          <ProcessValueName>MassTest_93</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>UInt32</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>MassTest_94</SymbolicName>\n          <ProcessValueName>MassTest_94</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>UInt32</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>MassTest_95</SymbolicName>\n          <ProcessValueName>MassTest_95</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>UInt32</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>MassTest_96</SymbolicName>\n          <ProcessValueName>MassTest_96</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>UInt32</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>MassTest_97</SymbolicName>\n          <ProcessValueName>MassTest_97</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>UInt32</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>MassTest_98</SymbolicName>\n          <ProcessValueName>MassTest_98</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>UInt32</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>MassTest_99</SymbolicName>\n          <ProcessValueName>MassTest_99</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>UInt32</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n\n      </DataSet>\n      <Guid>c1f53ffb-6552-4ccc-84c9-f847147cdc85</Guid>\n      <Root>\n        <q:NodeIdentifier xmlns:d5p1=\"NodeDescriptorNS\" xmlns:q=\"http://commsvr.com/UAOOI/SemanticData/UANetworking/Configuration/Serialization.xsd\">d5p1:NodeDescriptor</q:NodeIdentifier>\n      </Root>\n      <PublishingInterval>1000</PublishingInterval>\n      <MaxBufferTime>100</MaxBufferTime>\n      <ConfigurationGuid>C67E4D73-F46E-499C-991F-F86D0E1BEB00</ConfigurationGuid>\n      <ConfigurationVersion>\n        <MajorVersion>1</MajorVersion>\n        <MinorVersion>0</MinorVersion>\n      </ConfigurationVersion>\n    </DataSetConfiguration>\n  </DataSets>\n  <MessageHandlers>\n    <MessageHandlerConfiguration i:type=\"MessageWriterConfiguration\">\n      <Name>UDP</Name>\n      <Configuration>\n        <ChannelConfiguration>4840,localhost</ChannelConfiguration>\n      </Configuration>\n      <TransportRole>Producer</TransportRole>\n      <ProducerAssociationConfigurations>\n        <ProducerAssociationConfiguration>\n          <AssociationName>Simple</AssociationName>\n          <DataSetWriterId>1</DataSetWriterId>\n          <PublisherId>d80d81dd-96e6-4560-850e-154f9181307c</PublisherId>\n          <FieldEncoding>VariantFieldEncoding</FieldEncoding>\n        </ProducerAssociationConfiguration>\n        <ProducerAssociationConfiguration>\n          <AssociationName>AllTypes</AssociationName>\n          <DataSetWriterId>2</DataSetWriterId>\n          <PublisherId>d80d81dd-96e6-4560-850e-154f9181307c</PublisherId>\n          <FieldEncoding>VariantFieldEncoding</FieldEncoding>\n        </ProducerAssociationConfiguration>\n        <ProducerAssociationConfiguration>\n          <AssociationName>MassTest</AssociationName>\n          <DataSetWriterId>3</DataSetWriterId>\n          <PublisherId>d80d81dd-96e6-4560-850e-154f9181307c</PublisherId>\n          <FieldEncoding>VariantFieldEncoding</FieldEncoding>\n        </ProducerAssociationConfiguration>\n      </ProducerAssociationConfigurations>\n    </MessageHandlerConfiguration>\n  </MessageHandlers>\n</ConfigurationData>"
  },
  {
    "path": "Networking/SimulatorInteroperabilityTest/DataGenerator.cs",
    "content": "﻿\nusing System;\nusing System.Collections.Generic;\nusing System.Threading;\nusing UAOOI.Configuration.Networking.Serialization;\nusing UAOOI.Networking.SemanticData;\nusing UAOOI.Networking.SemanticData.DataRepository;\n\nnamespace UAOOI.Networking.SimulatorInteroperabilityTest\n{\n\n  /// <summary>\n  /// Class DataGenerator - it is simulator producing data to be sent over the wire using message centric communication provided \n  /// by the UAOOI.Networking.SemanticData framework.\n  /// \n  /// The data is generated according to the principles defined by the OPCF to proceed interoperability testing.\n  /// </summary>\n  internal class DataGenerator : IBindingFactory, IDisposable\n  {\n\n    #region Constructor\n    /// <summary>\n    /// Initializes a new instance of the <see cref=\"DataGenerator\" /> class that generates the data to be used for interoperability testing.\n    /// </summary>\n    public DataGenerator()\n    {\n      m_Timer = new Timer(TimerCallback, null, 1000, 1000);\n    }\n    #endregion\n\n    #region IDisposable\n    /// <summary>\n    /// Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources.\n    /// </summary>\n    /// <remarks>It is called by the <see cref=\"System.ComponentModel.Composition.Hosting.CompositionContainer\"/>.</remarks>\n    public void Dispose()\n    {\n      if (m_Timer == null)\n        return;\n      m_Timer.Change(Timeout.Infinite, Timeout.Infinite);\n      m_Timer.Dispose();\n    }\n    #endregion\n\n    #region IBindingFactory\n    /// <summary>\n    /// Gets the binding captured by an instance of the <see cref=\"IConsumerBinding\" /> type used by the consumer to save the data in the data repository.\n    /// </summary>\n    /// <param name=\"repositoryGroup\">It is the name of a repository group profiling the configuration behavior, e.g. encoders selection.\n    /// The configuration of the repositories belong to the same group are handled according to the same profile.</param>\n    /// <param name=\"processValueName\">The name of a variable that is the ultimate destination of the values recovered from messages.\n    /// Must be unique in the context of the group named by <paramref name=\"repositoryGroup\" />.</param>\n    /// <param name=\"fieldTypeInfo\">The field metadata definition represented as an object of <see cref=\"T:UAOOI.Configuration.Networking.Serialization.UATypeInfo\" />.</param>\n    /// <returns>Returns an object implementing the <see cref=\"IBinding\" /> interface that can be used to update selected variable on the factory side.</returns>\n    /// <exception cref=\"System.NotImplementedException\"></exception>\n    IConsumerBinding IBindingFactory.GetConsumerBinding(string repositoryGroup, string processValueName, UATypeInfo fieldTypeInfo)\n    {\n      throw new NotImplementedException();\n    }\n    /// <summary>\n    /// Gets the producer binding.\n    /// </summary>\n    /// <param name=\"repositoryGroup\">The repository group.</param>\n    /// <param name=\"processValueName\">The name of a variable that is the source of the values forwarded by a message over the network.\n    /// Must be unique in the context of the group named by <paramref name=\"repositoryGroup\" /></param>\n    /// <param name=\"fieldTypeInfo\">The <see cref=\"T:UAOOI.Configuration.Networking.Serialization.BuiltInType\" />of the message field encoding.</param>\n    /// <returns>IProducerBinding.</returns>\n    /// <exception cref=\"System.ArgumentNullException\">repositoryGroup</exception>\n    /// <exception cref=\"System.ArgumentOutOfRangeException\">encoding</exception>\n    IProducerBinding IBindingFactory.GetProducerBinding(string repositoryGroup, string processValueName, UATypeInfo fieldTypeInfo)\n    {\n      string _name = $\"{repositoryGroup}.{ processValueName}\";\n      IProducerBinding _return = null;\n      if (m_NodesDictionary.ContainsKey(processValueName))\n        _return = m_NodesDictionary[processValueName];\n      else\n        switch (fieldTypeInfo.BuiltInType)\n        {\n          case BuiltInType.Boolean:\n            _return = fieldTypeInfo.ValueRank < 0 ? AddBinding<Boolean>(_name, Inc, false, fieldTypeInfo) : AddBinding<Boolean[]>(_name, x => Inc(y => (y & 1) == 0, x.Length), new bool[] { false }, fieldTypeInfo);\n            break;\n          case BuiltInType.SByte:\n            _return = fieldTypeInfo.ValueRank < 0 ? AddBinding<SByte>(_name, Inc, sbyte.MinValue, fieldTypeInfo) : AddBinding<sbyte[]>(_name, x => Inc(y => (sbyte)y, x.Length), new sbyte[] { sbyte.MinValue }, fieldTypeInfo);\n            break;\n          case BuiltInType.Byte:\n            _return = fieldTypeInfo.ValueRank < 0 ? AddBinding<Byte>(_name, Inc, Byte.MinValue, fieldTypeInfo) : AddBinding<Byte[]>(_name, x => Inc(y => (Byte)y, x.Length), new Byte[] { Byte.MinValue }, fieldTypeInfo);\n            break;\n          case BuiltInType.Int16:\n            _return = fieldTypeInfo.ValueRank < 0 ? AddBinding<Int16>(_name, Inc, Int16.MinValue, fieldTypeInfo) : AddBinding<Int16[]>(_name, x => Inc(y => (Int16)y, x.Length), new Int16[] { Int16.MinValue }, fieldTypeInfo);\n            break;\n          case BuiltInType.UInt16:\n            _return = fieldTypeInfo.ValueRank < 0 ? AddBinding<UInt16>(_name, Inc, UInt16.MinValue, fieldTypeInfo) : AddBinding<UInt16[]>(_name, x => Inc(y => (UInt16)y, x.Length), new UInt16[] { UInt16.MinValue }, fieldTypeInfo);\n            break;\n          case BuiltInType.Int32:\n            _return = fieldTypeInfo.ValueRank < 0 ? AddBinding<Int32>(_name, Inc, Int32.MinValue, fieldTypeInfo) : AddBinding<Int32[]>(_name, x => Inc(y => (Int32)y, x.Length), new Int32[] { Int32.MinValue }, fieldTypeInfo);\n            break;\n          case BuiltInType.UInt32:\n            _return = fieldTypeInfo.ValueRank < 0 ? AddBinding<UInt32>(_name, Inc, UInt32.MinValue, fieldTypeInfo) : AddBinding<UInt32[]>(_name, x => Inc(y => (UInt32)y, x.Length), new UInt32[] { UInt32.MinValue }, fieldTypeInfo);\n            break;\n          case BuiltInType.Int64:\n            _return = fieldTypeInfo.ValueRank < 0 ? AddBinding<Int64>(_name, Inc, Int64.MinValue, fieldTypeInfo) : AddBinding<Int64[]>(_name, x => Inc(y => (Int64)y, x.Length), new Int64[] { 0 }, fieldTypeInfo);\n            break;\n          case BuiltInType.UInt64:\n            _return = fieldTypeInfo.ValueRank < 0 ? AddBinding<UInt64>(_name, Inc, UInt64.MinValue, fieldTypeInfo) : AddBinding<UInt64[]>(_name, x => Inc(y => (UInt64)y, x.Length), new UInt64[] { 0 }, fieldTypeInfo);\n            break;\n          case BuiltInType.Float:\n            _return = fieldTypeInfo.ValueRank < 0 ? AddBinding<float>(_name, Inc, -10.12345678f, fieldTypeInfo) : AddBinding<float[]>(_name, x => Inc(y => (float)y, x.Length), new float[] { -10.12345678f }, fieldTypeInfo);\n            break;\n          case BuiltInType.Double:\n            _return = fieldTypeInfo.ValueRank < 0 ? AddBinding<Double>(_name, Inc, -10.12345678, fieldTypeInfo) : AddBinding<Double[]>(_name, x => Inc(y => (Double)y, x.Length), new Double[] { 0 }, fieldTypeInfo);\n            break;\n          case BuiltInType.String:\n            _return = fieldTypeInfo.ValueRank < 0 ? AddBinding<String>(_name, Inc, String.Empty, fieldTypeInfo) : AddBinding<String[]>(_name, x => Inc(y => $\"#{y}\", x.Length), new String[] { }, fieldTypeInfo);\n            break;\n          case BuiltInType.DateTime:\n            _return = fieldTypeInfo.ValueRank < 0 ? AddBinding<DateTime>(_name, Inc, DateTime.Now, fieldTypeInfo) : AddBinding<DateTime[]>(_name, x => Inc(y => DateTime.Now, x.Length), new DateTime[] { }, fieldTypeInfo);\n            break;\n          case BuiltInType.Guid:\n            _return = fieldTypeInfo.ValueRank < 0 ? AddBinding<Guid>(_name, Inc, Guid.NewGuid(), fieldTypeInfo) : AddBinding<Guid[]>(_name, x => Inc(y => Guid.NewGuid(), x.Length), new Guid[] { }, fieldTypeInfo);\n            break;\n          case BuiltInType.ByteString:\n            _return = fieldTypeInfo.ValueRank < 0 ? AddBinding<byte[]>(_name, Inc, new byte[] { 0 }, fieldTypeInfo) : AddBinding<byte[][]>(_name, x => Inc(y => new byte[] { 0, 1, 2, 3, 4 }, x.Length), new byte[][] { new byte[] { } }, fieldTypeInfo);\n            break;\n          case BuiltInType.Null:\n          case BuiltInType.XmlElement:\n          case BuiltInType.NodeId:\n          case BuiltInType.ExpandedNodeId:\n          case BuiltInType.StatusCode:\n          case BuiltInType.QualifiedName:\n          case BuiltInType.LocalizedText:\n          case BuiltInType.ExtensionObject:\n          case BuiltInType.DataValue:\n          case BuiltInType.Variant:\n          case BuiltInType.DiagnosticInfo:\n          case BuiltInType.Enumeration:\n          default:\n            throw new ArgumentOutOfRangeException(\"encoding\");\n        }\n      return _return;\n    }\n    #endregion\n\n    #region private\n    //vars\n    private Timer m_Timer;\n    private event EventHandler m_TimeEvent;\n    private Dictionary<string, IProducerBinding> m_NodesDictionary = new Dictionary<string, IProducerBinding>();\n    //methods\n    #region Inc methods\n    private static string Inc(string monitoredValue)\n    {\n      return $\"Hello World; Now is: {DateTime.Now.ToLongTimeString()}\";\n    }\n    private static Guid Inc(Guid monitoredValue)\n    {\n      return Guid.NewGuid();\n    }\n    private static SByte Inc(SByte monitoredValue)\n    {\n      return monitoredValue == SByte.MaxValue ? SByte.MinValue : (SByte)(monitoredValue + 1);\n    }\n    private static UInt16 Inc(UInt16 monitoredValue)\n    {\n      return monitoredValue == UInt16.MaxValue ? UInt16.MinValue : (UInt16)(monitoredValue + 1);\n    }\n    private static UInt32 Inc(UInt32 monitoredValue)\n    {\n      return monitoredValue == UInt32.MaxValue ? UInt32.MinValue : (UInt32)(monitoredValue + 1);\n    }\n    private static UInt64 Inc(UInt64 monitoredValue)\n    {\n      return monitoredValue == UInt64.MaxValue ? UInt64.MinValue : (UInt64)(monitoredValue + 1);\n    }\n    private static Int64 Inc(Int64 monitoredValue)\n    {\n      return monitoredValue == Int64.MaxValue ? Int64.MinValue : (Int64)(monitoredValue + 1);\n    }\n    private static Int32 Inc(Int32 monitoredValue)\n    {\n      return monitoredValue == Int32.MaxValue ? Int32.MinValue : (Int32)(monitoredValue + 1);\n    }\n    private static Int16 Inc(Int16 monitoredValue)\n    {\n      return monitoredValue == Int16.MaxValue ? Int16.MinValue : (Int16)(monitoredValue + 1);\n    }\n    private static float Inc(float monitoredValue)\n    {\n      return monitoredValue + 1;\n    }\n    private static double Inc(double monitoredValue)\n    {\n      return monitoredValue + 1;\n    }\n    private static DateTime Inc(DateTime monitoredValue)\n    {\n      return DateTime.UtcNow;\n    }\n    private static byte Inc(byte monitoredValue)\n    {\n      return monitoredValue == byte.MaxValue ? byte.MinValue : (byte)(monitoredValue + 1);\n    }\n    private static byte[] Inc(byte[] monitoredValue)\n    {\n      byte[] _ret = new byte[Math.Min(monitoredValue.Length + 1, 254)];\n      for (byte i = 0; i < _ret.Length; i++)\n        _ret[i] = i;\n      return _ret;\n    }\n    private static bool Inc(bool monitoredValue)\n    {\n      return !monitoredValue;\n    }\n    private static type[] Inc<type>(Func<byte, type> incrementItem, int previousLength)\n    {\n      type[] _ret = new type[Math.Min(previousLength + 1, 254)];\n      for (byte i = 0; i < _ret.Length; i++)\n        _ret[i] = incrementItem(i);\n      return _ret;\n    }\n    #endregion\n    private IProducerBinding AddBinding<type>(string key, Func<type, type> increment, type defaultValue, UATypeInfo typeInfo)\n    {\n      ProducerBindingMonitoredValue<type> binding = new ProducerBindingMonitoredValue<type>(key, typeInfo) { MonitoredValue = defaultValue };\n      m_NodesDictionary.Add(key, binding);\n      m_TimeEvent += (x, y) => binding.MonitoredValue = increment(binding.MonitoredValue);\n      return binding;\n    }\n    private void TimerCallback(object state)\n    {\n      try\n      {\n        m_TimeEvent?.Invoke(this, EventArgs.Empty);\n      }\n      catch (Exception) { }\n    }\n    #endregion\n\n  }\n\n}\n"
  },
  {
    "path": "Networking/SimulatorInteroperabilityTest/Networking.SimulatorInteroperabilityTest.csproj",
    "content": "<Project Sdk=\"Microsoft.NET.Sdk\">\n\n  <PropertyGroup>\n    <TargetFramework>netstandard2.0</TargetFramework>\n    <RootNamespace>UAOOI.Networking.SimulatorInteroperabilityTest</RootNamespace>\n    <AssemblyName>UAOOI.Networking.SimulatorInteroperabilityTest</AssemblyName>\n    <SignAssembly>true</SignAssembly>\n    <AssemblyOriginatorKeyFile>OPCUAOOIKey.snk</AssemblyOriginatorKeyFile>\n    <Version>4.0.1</Version>\n    <Company>commsvr.com</Company>\n    <Authors>MPostol</Authors>\n    <Product>UAOOI</Product>\n    <Description>Semantic Data Reactive Networking based on OPC UA Part 14 Pub/Sub library.</Description>\n    <Copyright>Copyright MPostol (c) 2018</Copyright>\n    <PackageLicenseUrl>https://github.com/mpostol/OPC-UA-OOI/blob/master/license.md</PackageLicenseUrl>\n    <PackageProjectUrl>https://commsvr.gitbook.io/ooi</PackageProjectUrl>\n    <RepositoryUrl>https://github.com/mpostol/OPC-UA-OOI</RepositoryUrl>\n    <RepositoryType>GitHub</RepositoryType>\n    <PackageTags>Object Oriented Internet, OPC UA, CommServer, Reactive Networking.</PackageTags>\n    <AssemblyVersion>4.0.1.1</AssemblyVersion>\n  </PropertyGroup>\n\n  <PropertyGroup Condition=\"'$(Configuration)|$(Platform)'=='Debug|AnyCPU'\">\n    <DocumentationFile>bin\\Debug\\netstandard2.0\\UAOOI.Networking.SimulatorInteroperabilityTest.xml</DocumentationFile>\n  </PropertyGroup>\n\n  <ItemGroup>\n    <Compile Remove=\"SimulatorCompositionSettings.cs\" />\n  </ItemGroup>\n\n  <ItemGroup>\n    <ProjectReference Include=\"..\\Encoding\\Networking.Encoding.csproj\" />\n    <ProjectReference Include=\"..\\ReferenceApplication.Core\\Networking.ReferenceApplication.Core.csproj\" />\n    <ProjectReference Include=\"..\\SemanticData\\Networking.SemanticData.csproj\" />\n  </ItemGroup>\n\n  <ItemGroup>\n    <None Update=\"ConfigurationDataProducer.xml\">\n      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>\n    </None>\n  </ItemGroup>\n\n</Project>\n"
  },
  {
    "path": "Networking/SimulatorInteroperabilityTest/ProducerConfigurationFactory.cs",
    "content": "﻿//___________________________________________________________________________________\n//\n//  Copyright (C) 2018, Mariusz Postol LODZ POLAND.\n//\n//  To be in touch join the community at GITTER: https://gitter.im/mpostol/OPC-UA-OOI\n//___________________________________________________________________________________\n\nusing System;\nusing System.IO;\nusing UAOOI.Configuration.Networking;\nusing UAOOI.Configuration.Networking.Serialization;\nusing UAOOI.Configuration.Networking.Serializers;\n\nnamespace UAOOI.Networking.SimulatorInteroperabilityTest\n{\n  /// <summary>\n  /// Class ProducerConfigurationFactory - provides implementation of the <see cref=\"ConfigurationFactoryBase{T}\" /> for the producer.\n  /// Implements the <see cref=\"ConfigurationFactoryBase{T}\" />\n  /// </summary>\n  /// <seealso cref=\"ConfigurationFactoryBase{T}\" />\n  internal class ProducerConfigurationFactory : ConfigurationFactoryBase<ConfigurationData>\n  {\n    #region constructor\n\n    /// <summary>\n    /// Initializes a new instance of the <see cref=\"ProducerConfigurationFactory\" /> class.\n    /// </summary>\n    /// <param name=\"configurationFileName\">Name of the producer configuration file.</param>\n    public ProducerConfigurationFactory(string configurationFileName)\n    {\n      //Simulator.Boiler.ProducerConfigurationFactory - review the configuration loading sequence #461\n      //here a default loader instead of a local one shall be used - don't use the parameterless constructor of the base class\n      m_ProducerConfigurationFileName = configurationFileName;\n      Loader = LoadConfig;\n      //TODO Create and Register the EventSource #455\n    }\n\n    #endregion constructor\n\n    #region ConfigurationFactoryBase\n\n    /// <summary>\n    /// Occurs after the association configuration has been changed.\n    /// </summary>\n    public override event EventHandler<EventArgs> OnAssociationConfigurationChange;\n\n    /// <summary>\n    /// Occurs after the communication configuration has been changed.\n    /// </summary>\n    public override event EventHandler<EventArgs> OnMessageHandlerConfigurationChange;\n\n    protected override void RaiseEvents()\n    {\n      OnAssociationConfigurationChange?.Invoke(this, EventArgs.Empty);\n      OnMessageHandlerConfigurationChange?.Invoke(this, EventArgs.Empty);\n    }\n\n    #endregion ConfigurationFactoryBase\n\n    #region private\n\n    private readonly string m_ProducerConfigurationFileName;\n\n    private ConfigurationData LoadConfig()\n    {\n      FileInfo _configurationFile = new FileInfo(m_ProducerConfigurationFileName);\n      return ConfigurationDataFactoryIO.Load<ConfigurationData>(() => XmlDataContractSerializers.Load<ConfigurationData>(_configurationFile, (x, y, z) => { }), () => RaiseEvents());\n    }\n\n    #endregion private\n  }\n}"
  },
  {
    "path": "Networking/SimulatorInteroperabilityTest/README.md",
    "content": "# `ReferenceApplication` Producer - Interoperability Test Data Generator\n\n## Common Tasks\n\nWorking through this tutorial gives you an introductory understanding of the steps required to implement `Producer` role of `OOI Reactive Application`. `SimulatorInteroperabilityTest` is a sample of the `Producer` part of the `ReferenceApplication`, which is an example of `Semantic-Data` reactive networking based on  [OPC UA Part 14 Pub/Sub](../../Networking/SemanticData/README.PubSubMTF.md) specification.\nThe `Producer` role serves as a data generator to be used for testing purpose aimed at supporting the interoperability tests planned by the OPC Foundation. In the production environment, you may replace this library by a custom one supporting more realistic process data acquisition scenario.\n\nHere are steps undertook to implement the `Producer` role in the application:\n\n1. `DataManagementSetup`: this class has been inherited by the `SimulatorDataManagementSetup` class. It initializes the communication and binds the fields used to populate the messages and local resources.\n1. `IEncodingFactory` and `IMessageHandlerFactory`: both has been implemented in the external common libraries and `Producer` doesn't depend on the implementation - the instance of this interfaces are localized as services using the `IServiceLocator` interface implementation.\n1. `IBindingFactory`: has been implemented in the class `DataGenerator` responsible to synchronize the values of the local data repository properties and messages sent over the wire.\n1. `IConfigurationFactory`: the class `ProducerConfigurationFactory` implements this interface to be used for configuration opening.\n\n## How to: Implement `DataManagementSetup`\n\nThe `SimulatorDataManagementSetup` constructor initializes all properties, which are injection points of all parts composing this role.\n\n```C#\n  public sealed class SimulatorDataManagementSetup : DataManagementSetup\n  {\n\n    public SimulatorDataManagementSetup()\n    {\n      IServiceLocator _serviceLocator = ServiceLocator.Current;\n      string _configurationFileName = _serviceLocator.GetInstance<string>(SimulatorCompositionSettings.ConfigurationFileNameContract);\n      m_ViewModel = _serviceLocator.GetInstance<SimulatorViewModel>();\n      ConfigurationFactory = new ProducerConfigurationFactory(_configurationFileName);\n      EncodingFactory = _serviceLocator.GetInstance<IEncodingFactory>();\n      BindingFactory = m_DataGenerator = new DataGenerator();\n      MessageHandlerFactory = _serviceLocator.GetInstance<IMessageHandlerFactory>();\n    }\n\n    `....`\n\n  }\n```\n\nIn this example, it is assumed that [`ServiceLocator`](https://www.nuget.org/packages/CommonServiceLocator) is implemented to resolve references to any external services.\n\nFinally the `DataManagementSetup.Start()` method is called to initialize the infrastructure, enable all associations and start pumping the data.\n\n## How to: Implement IBindingFactory\n\nImplementation of this interface is a basic step to implement `Producer` functionality. An instance of the `IBindingFactory` is responsible to create objects implementing `IBinding` that can be used to read or generate (simulator case) from the local data repository.\n\nThis section provides hints on how to implement the `Producer` role responsible for:\n\n- generating stream of process data\n- packing the data into the messages\n- and sending the data over the network to all interested parties\n\nThe class `DataGenerator` captures implementation of a generator of testing data aimed at accomplishing interoperability tests defined by the OPC Foundation for PubSub applications. The example contains properties implemented as an instance of class `ProducerBindingMonitoredValue`. Modification of the `ProducerBindingMonitoredValue<type>.MonitoredValue` provides notification to the message handling state machine that a new value is available.\n\n## How to Guide\n\n### How to: Implement `IConfigurationFactory`\n\n#### Implementation\n\nImplementation of this interface is straightforward and based entirely on the library [`UAOOI.Configuration.Networking`](../../Configuration/Networking/README.MD). In a typical scenario, this implementation should not be considered for further modification.  The only open question is how to provide a path to the file containing the configuration of this role. In proposed solution the file path is provided by a service defined by the application entry point and localized using `IServiceLocator` in the class `SimulatorDataManagementSetup`:\n\n```C#\n  string _configurationFileName = _serviceLocator.GetInstance<string>(SimulatorCompositionSettings.ConfigurationFileNameContract);\n```\n\nThis role uses independent configuration file `ConfigurationDataProducer.xml` attached to the project.\n\n#### Generated Data\n\nThis `Producer` sends out the following `Datasets`:\n\n##### DataSet 1 (Simple)\n\nParameter Name |Type|Behavior\n-|-|-\nBoolToggle    | Boolean| Toggles every 3 seconds\nInt32          | Int32        | Counts (1 per second) from 0 to 10.000 and then resets\nInt32Fast     | Int32        | Counts (100 per second) from 0 to 10.000 and then resets\nDateTime      | DateTime    | Current time refreshed with every packet sent\n\n##### DataSet 2 (AllTypes)\n\nParameterName    |Type    |Behavior\n-|-|-\nBoolToggle |Boolean |toggle every second and send one per second\nByte    |Byte   |Counts (1 per second) from 0 to type-max and then resets\nInt16 |Int16| Counts (1 per second) from 0 to type-max and then resets\nInt32 |Int32| Counts (1 per second) from 0 to type-max and then resets\nInt64 |Int64| Counts (1 per second) from 0 to type-max and then resets\nSByte |SByte| Counts (1 per second) from 0 to type-max and then resets\nUInt16|UInt16| Counts (1 per second) from 0 to type-max and then resets\nUInt32|UInt32| Counts (1 per second) from 0 to type-max and then resets\nUInt64|UInt64| Counts (1 per second) from 0 to type-max and then resets\nFloat  |Float| Counts (1 per second) from 0 to type-max and then resets\nDouble|Double| Counts (1 per second) from 0 to type-max and then resets\nString|String| Spells the aviation alphabet (Alpha, Bravo �) (1 per second)\nByteString    |ByteString| 1 new random ByteString per second\nGuid|Guid |1 new random Guid per second\nDateTime |DateTime | Current time refreshed with every packet sent\nUInt32Array |UInt32[10] | Length=10 Counts (1 per second on every element) from 0 to type-max and then resets. The count starting point for each value should differ\n\n##### DataSet 3 (MassTest)\n\nParameter    |Type    |Behavior\n-|-|-\nMass_[n0]    | UInt32    | 100 single parameters, each counting from 0 to type-max and then resets back (each with an offset of 100).\nMass_1       | UInt32\n`...`        | UInt32\nMass_99      | UInt32\n\n##### UPD Settings\n\nDataSet |DataSetWriterId |Message Length |Message Encoding\n-|-|-|-\nDataSet 1 |1 |2 byte  |Variant\nDataSet 1 |11 |1 byte |Compressed\nDataSet 1 |12 |2 byte |DataValue\nDataSet 2 |2 |2 byte  |Variant\nDataSet 2 |21 |2 byte |Compressed\nDataSet 2 |22 |2 byte |DataValue\nDataSet 3 |3 |2 byte  |Variant\nDataSet 3 |31 |2 byte |Compressed\nDataSet 3 |32 |2 byte |DataValue\n\n## Current release\n\n> Notes:\n>\n> - This library is not considered to be published as the NuGet package.\n> - Current configuration may not support all test cases described above.\n\n## See also\n\n- [API Browser is available for sponsors- consider joining](https://github.commsvr.com/AboutPartnershipProgram.md.html)\n- [OPC UA Makes Complex Data Processing Possible][wordpress.OPCUACD]\n\n[wordpress.OPCUACD]:https://mpostol.wordpress.com/2014/05/08/opc-ua-makes-complex-data-access-possible\n"
  },
  {
    "path": "Networking/SimulatorInteroperabilityTest/SimulatorDataManagementSetup.cs",
    "content": "﻿//___________________________________________________________________________________\n//\n//  Copyright (C) 2020, Mariusz Postol LODZ POLAND.\n//\n//  To be in touch join the community at GITTER: https://gitter.im/mpostol/OPC-UA-OOI\n//___________________________________________________________________________________\n\nusing CommonServiceLocator;\nusing System;\nusing System.ComponentModel.Composition;\nusing System.Diagnostics;\nusing UAOOI.Networking.Core;\nusing UAOOI.Networking.ReferenceApplication.Core;\nusing UAOOI.Networking.ReferenceApplication.Core.Diagnostic;\nusing UAOOI.Networking.SemanticData;\n\nnamespace UAOOI.Networking.SimulatorInteroperabilityTest\n{\n  /// <summary>\n  /// Class SimulatorDataManagementSetup represents a data producer in the Reference Application. It is responsible to compose all parts making up a producer.\n  /// This class cannot be inherited.\n  /// Implements the <see cref=\"UAOOI.Networking.SemanticData.DataManagementSetup\" />\n  /// Implements the <see cref=\"IDataRepositoryStartup\" />\n  /// </summary>\n  /// <seealso cref=\"DataManagementSetup\" />\n  /// <seealso cref=\"IDataRepositoryStartup\" />\n  [Export(typeof(IDataRepositoryStartup))]\n  [PartCreationPolicy(CreationPolicy.Shared)]\n  public sealed class SimulatorDataManagementSetup : DataManagementSetup, IDataRepositoryStartup\n  {\n    #region Composition\n\n    /// <summary>\n    /// Initializes a new instance of the <see cref=\"SimulatorDataManagementSetup\" /> class.\n    /// </summary>\n    public SimulatorDataManagementSetup()\n    {\n      IServiceLocator _serviceLocator = ServiceLocator.Current;\n      string _configurationFileName = _serviceLocator.GetInstance<string>(CompositionSettings.ConfigurationFileNameContract);\n      m_ViewModel = _serviceLocator.GetInstance<ProducerViewModel>();\n      ConfigurationFactory = new ProducerConfigurationFactory(_configurationFileName);\n      EncodingFactory = _serviceLocator.GetInstance<IEncodingFactory>();\n      BindingFactory = m_DataGenerator = new DataGenerator();\n      MessageHandlerFactory = _serviceLocator.GetInstance<IMessageHandlerFactory>();\n    }\n\n    #endregion Composition\n\n    #region IProducerDataManagementSetup\n\n    /// <summary>\n    /// Setups this instance.\n    /// </summary>\n    public void Setup()\n    {\n      try\n      {\n        ReferenceApplicationEventSource.Log.Initialization($\"{nameof(SimulatorDataManagementSetup)}.{nameof(Setup)} starting\");\n        m_ViewModel.ChangeProducerCommand(() => { m_ViewModel.ProducerErrorMessage = \"Restarted\"; });\n        Start();\n        m_ViewModel.ProducerErrorMessage = \"Running\";\n        ReferenceApplicationEventSource.Log.Initialization($\" Setup of the producer engine has been accomplished and it starts sending data.\");\n      }\n      catch (Exception _ex)\n      {\n        ReferenceApplicationEventSource.Log.LogException(_ex);\n        m_ViewModel.ProducerErrorMessage = \"ERROR\";\n        throw;\n      }\n    }\n\n    #endregion IProducerDataManagementSetup\n\n    #region IDisposable\n\n    /// <summary>\n    /// Releases unmanaged and - optionally - managed resources.\n    /// </summary>\n    /// <param name=\"disposing\"><c>true</c> to release both managed and unmanaged resources; <c>false</c> to release only unmanaged resources.</param>\n    protected override void Dispose(bool disposing)\n    {\n      m_onDispose(disposing);\n      base.Dispose(disposing);\n      if (!disposing || m_disposed)\n        return;\n      m_disposed = true;\n      m_DataGenerator.Dispose();\n    }\n\n    #endregion IDisposable\n\n    #region private\n\n    /// <summary>\n    /// Gets or sets the view model to be used for diagnostic purpose..\n    /// </summary>\n    /// <value>The view model.</value>\n    private ProducerViewModel m_ViewModel;\n\n    /// <summary>\n    /// Gets a value indicating whether this <see cref=\"LoggerManagementSetup\"/> is disposed.\n    /// </summary>\n    /// <value><c>true</c> if disposed; otherwise, <c>false</c>.</value>\n    private bool m_disposed = false;\n\n    private DataGenerator m_DataGenerator = null;\n    private Action<bool> m_onDispose = disposing => { };\n\n    #endregion private\n\n    #region Unit tests instrumentation\n\n    [Conditional(\"DEBUG\")]\n    internal void DisposeCheck(Action<bool> onDispose)\n    {\n      m_onDispose = onDispose;\n    }\n\n    #endregion Unit tests instrumentation\n  }\n}"
  },
  {
    "path": "Networking/Tests/Networking.Simulator.Boiler.Unit/AddressSpace/BaseInstanceStateUnitTest.cs",
    "content": "﻿//___________________________________________________________________________________\n//\n//  Copyright (C) 2018, Mariusz Postol LODZ POLAND.\n//\n//  To be in touch join the community at GITTER: https://gitter.im/mpostol/OPC-UA-OOI\n//___________________________________________________________________________________\n\nusing Microsoft.VisualStudio.TestTools.UnitTesting;\nusing System.Collections.Generic;\nusing UAOOI.Networking.Simulator.Boiler.AddressSpace;\nusing UAOOI.SemanticData.UANodeSetValidation.DataSerialization;\n\nnamespace UAOOI.Networking.Simulator.Boiler.UnitTest.AddressSpace\n{\n  [TestClass]\n  public class BaseInstanceStateUnitTest\n  {\n\n    [TestMethod]\n    public void AddChildTest()\n    {\n      using (BaseInstanceState _parentState = new TestBaseInstanceState(null, nameof(_parentState)))\n      using (BaseInstanceState _childState = new TestBaseInstanceState(_parentState, nameof(_childState)))\n      {\n        _parentState.AddChild(_childState);\n        Assert.IsNotNull(_parentState.FindChild(null, new List<QualifiedName>() { _childState.BrowseName }, 0));\n      }\n\n    }\n    [TestMethod]\n    public void GetChildrenTest()\n    {\n      using (BaseInstanceState _parentState = new TestBaseInstanceState(null, nameof(_parentState)))\n      using (BaseInstanceState _childState = new TestBaseInstanceState(null, nameof(_childState)))\n      {\n        _parentState.AddChild(_childState);\n        List<BaseInstanceState> _children = new List<BaseInstanceState>();\n        _parentState.GetChildren(_children);\n        Assert.AreEqual<int>(1, _children.Count);\n      }\n    }\n    [TestMethod]\n    public void FindChildTest()\n    {\n      using (TestBaseInstanceState _nodeState = new TestBaseInstanceState(null, nameof(_nodeState)))\n      {\n        BaseInstanceState _child = _nodeState.FindChildTest(new TestSystemContext(), null, true, null);\n        Assert.IsNull(_child);\n      }\n    }\n\n    #region test instrumentation\n    private class TestSystemContext : ISystemContext { }\n    private class TestBaseInstanceState : BaseInstanceState\n    {\n      public TestBaseInstanceState(NodeState parent, string browseName) : base(parent, NodeClass.Unspecified_0, browseName) { }\n      public BaseInstanceState FindChildTest(ISystemContext context, QualifiedName browseName, bool createOrReplace, BaseInstanceState replacement)\n      {\n        return base.FindChild(context, browseName, createOrReplace, replacement);\n      }\n    }\n    #endregion\n\n  }\n}\n"
  },
  {
    "path": "Networking/Tests/Networking.Simulator.Boiler.Unit/AddressSpace/NodeStateUnitTest.cs",
    "content": "﻿\nusing Microsoft.VisualStudio.TestTools.UnitTesting;\nusing UAOOI.Networking.Simulator.Boiler.AddressSpace;\nusing UAOOI.SemanticData.UANodeSetValidation.DataSerialization;\n\nnamespace UAOOI.Networking.Simulator.Boiler.UnitTest.AddressSpace\n{\n  [TestClass]\n  public class NodeStateUnitTest\n  {\n    [TestMethod]\n    public void ConstructorTest()\n    {\n      NodeState _nodeState = new TestNodeState();\n      Assert.IsNotNull(_nodeState.BrowseName);\n      Assert.AreEqual<string>(\"browseName\", _nodeState.BrowseName.Name);\n      Assert.IsFalse(_nodeState.BrowseName.NamespaceIndexSpecified);\n      Assert.AreEqual<NodeStateChangeMasks>(NodeStateChangeMasks.None, _nodeState.ChangeMasks);\n    }\n\n    #region test instrumentation\n    private class TestNodeState : NodeState\n    {\n      public TestNodeState() : base(NodeClass.Unspecified_0, \"browseName\") { }\n    }\n    #endregion\n\n  }\n}\n"
  },
  {
    "path": "Networking/Tests/Networking.Simulator.Boiler.Unit/AddressSpace/PropertyStateUnitTest.cs",
    "content": "﻿//___________________________________________________________________________________\n//\n//  Copyright (C) 2018, Mariusz Postol LODZ POLAND.\n//\n//  To be in touch join the community at GITTER: https://gitter.im/mpostol/OPC-UA-OOI\n//___________________________________________________________________________________\n\nusing Microsoft.VisualStudio.TestTools.UnitTesting;\nusing UAOOI.Networking.Simulator.Boiler.AddressSpace;\nusing UAOOI.SemanticData.UANodeSetValidation.DataSerialization;\n\nnamespace UAOOI.Networking.Simulator.Boiler.UnitTest.AddressSpace\n{\n  [TestClass]\n  public class PropertyStateUnitTest\n  {\n    [TestMethod]\n    public void ConstructorTest()\n    {\n\n      PropertyState<double> _property = new PropertyState<double>(null, \"PropertyState\");\n      Assert.IsNotNull(_property.BrowseName);\n      Assert.AreEqual<NodeStateChangeMasks>(NodeStateChangeMasks.Value, _property.ChangeMasks);\n      Assert.AreEqual<NodeClass>(NodeClass.Variable_2, _property.NodeClass);\n      Assert.IsNull(_property.Parent);\n      Assert.AreEqual<double>(default(double), _property.Value);\n      _property.ClearChangeMasks(new SystemContextFixture(), true);\n      Assert.AreEqual<NodeStateChangeMasks>(NodeStateChangeMasks.None, _property.ChangeMasks);\n    }\n    [TestMethod]\n    public void ValueTest()\n    {\n\n      PropertyState<double> _property = new PropertyState<double>(null, \"PropertyState\");\n      Assert.AreEqual<NodeStateChangeMasks>(NodeStateChangeMasks.Value, _property.ChangeMasks);\n      Assert.AreEqual<double>(default(double), _property.Value);\n      _property.ClearChangeMasks(new SystemContextFixture(), true);\n      Assert.AreEqual<NodeStateChangeMasks>(NodeStateChangeMasks.None, _property.ChangeMasks);\n      ISystemContext _returnedContext = null;\n      NodeStateChangeMasks _returnedMask = NodeStateChangeMasks.None;\n      NodeState _returnedNodeState = null;\n      int _handlerCalled = 0;\n      _property.OnStateChanged += (x, y, z) => { _returnedContext = x; _returnedNodeState = y; _returnedMask = z; _handlerCalled++; };\n      _property.Value = 999.99;\n      Assert.AreEqual<NodeStateChangeMasks>(NodeStateChangeMasks.Value, _property.ChangeMasks);\n      Assert.AreEqual<double>(999.99, _property.Value);\n      _property.ClearChangeMasks(new SystemContextFixture(), true);\n      Assert.AreEqual<int>(1, _handlerCalled);\n      Assert.IsNotNull(_returnedContext);\n      Assert.AreSame(_property, _returnedNodeState);\n      Assert.AreEqual<NodeStateChangeMasks>(NodeStateChangeMasks.Value, _returnedMask);\n      Assert.AreEqual<NodeStateChangeMasks>(NodeStateChangeMasks.None, _property.ChangeMasks);\n\n    }\n    private class SystemContextFixture : ISystemContext { }\n  }\n}\n"
  },
  {
    "path": "Networking/Tests/Networking.Simulator.Boiler.Unit/AddressSpace/SemanticDataSetSourceUnitTest.cs",
    "content": "﻿//___________________________________________________________________________________\n//\n//  Copyright (C) 2018, Mariusz Postol LODZ POLAND.\n//\n//  To be in touch join the community at GITTER: https://gitter.im/mpostol/OPC-UA-OOI\n//___________________________________________________________________________________\n\nusing Microsoft.VisualStudio.TestTools.UnitTesting;\nusing System;\nusing System.Collections.Generic;\nusing System.Diagnostics;\nusing System.IO;\nusing System.Xml;\nusing UAOOI.Common.Infrastructure.Diagnostic;\nusing UAOOI.Configuration.Networking.Serialization;\nusing UAOOI.Configuration.Networking.Upgrade;\nusing UAOOI.Networking.Simulator.Boiler.AddressSpace;\nusing UAOOI.SemanticData.UANodeSetValidation.DataSerialization;\nusing BoilersSet = Commsvr.UA.Examples.BoilersSet;\nusing BoilerType = tempuri.org.UA.Examples.BoilerType;\n\nnamespace UAOOI.Networking.Simulator.Boiler.UnitTest.AddressSpace\n{\n  [TestClass]\n  public class SemanticDataSetSourceUnitTest\n  {\n\n    [TestMethod]\n    public void ConstructorTest()\n    {\n      using (StateFixture _object = new StateFixture())\n      {\n        SemanticDataSetSource _register1 = new SemanticDataSetSource(_object);\n        Assert.AreEqual<int>(3, _register1.Count);\n        Assert.IsTrue(_register1.ContainsKey(\"Property0\"));\n        Assert.IsTrue(_register1.ContainsKey(\"Property1\"));\n        Assert.IsTrue(_register1.ContainsKey(\"Property2\"));\n        Assert.AreEqual<string>(_object.BrowseName.ToString(), _register1.SemanticDataSetRootBrowseName);\n      }\n    }\n    [TestMethod]\n    [DeploymentItem(@\"CommonServiceLocatorInstrumentation\\ConfigurationDataProducer.xml\", \"CommonServiceLocatorInstrumentation\")]\n    public void ReplaceDataSetFieldsTest()\n    {\n      TraceSourceFixture _log = new TraceSourceFixture();\n      using (BoilerType.BoilerState _boilerState = new BoilerType.BoilerState(null, \"browseName\"))\n      {\n        const string _inFileName = @\"CommonServiceLocatorInstrumentation\\ConfigurationDataProducer.xml\";\n        FileInfo _inFile = new FileInfo(_inFileName);\n        Assert.IsTrue(_inFile.Exists, $\"File not exist {_inFile.FullName}\");\n        string _outFileName = @\"CommonServiceLocatorInstrumentation\\new.ConfigurationDataProducer.xml\";\n        _boilerState.Logger = _log;\n        ISemanticDataSetSource _dataSource = new SemanticDataSetSource(_boilerState);\n        ReplaceDataSetFields(_dataSource, \"Simple\", _inFileName, _outFileName);\n      }\n    }\n    //TODO Compilation error in the `SemanticDataSetSourceUnitTest.cs` #504\n    //[TestMethod]\n    //[DeploymentItem(@\"Deploy\\\", @\"Deploy\")]\n    //public void CreateConfigurationTest()\n    //{\n    //  TraceSourceFixture _log = new TraceSourceFixture();\n    //  string _inFileName = $@\"Deploy\\Producer.tml.xml\";\n    //  FileInfo _inFile = new FileInfo(_inFileName);\n    //  Assert.IsTrue(_inFile.Exists, $\"File not exist {_inFile.FullName}\");\n    //  CreateConfiguration(_log, 1, \"BoilersArea_Boiler #1\", \"BoilersArea_BoilerAlpha\", _inFileName);\n    //  CreateConfiguration(_log, 2, \"BoilersArea_Boiler #2\", \"BoilersArea_BoilerBravo\", _inFileName);\n    //  CreateConfiguration(_log, 3, \"BoilersArea_Boiler #3\", \"BoilersArea_BoilerBravo\", _inFileName);\n    //  CreateConfiguration(_log, 4, \"BoilersArea_Boiler #4\", \"BoilersArea_BoilerBravo\", _inFileName);\n    //  //Assert.Fail($\"{Environment.CurrentDirectory}\");\n    //}\n\n    //private void CreateConfiguration(TraceSourceFixture _log, ushort writerId, string _associationName, string symbolicName, string _inFileName)\n    //{\n    //  using (BoilerType.BoilerState _boilerState = new BoilerType.BoilerState(null, _associationName))\n    //  {\n    //    _boilerState.Logger = _log;\n    //    SemanticDataSetSource _dataSource = new SemanticDataSetSource(_boilerState);\n    //    XmlQualifiedName _type = new XmlQualifiedName(BoilerType.BrowseNames.BoilerType, BoilerType.Namespaces.BoilerType);\n    //    XmlQualifiedName _instanceSymbolicName = new XmlQualifiedName(symbolicName, BoilersSet.Namespaces.BoilersSet);\n    //    _dataSource.CreateConfiguration(_type, _associationName, _instanceSymbolicName, _inFileName, Tuple.Create(\"UDP\", writerId, ProducerId), _log);\n    //  }\n    //}\n\n    #region instrumentation\n    private readonly System.Guid ProducerId = new System.Guid(\"d80d81dd-96e6-4560-850e-154f9181307c\");\n    private class StateFixture : BaseInstanceState\n    {\n      public StateFixture() : base(null, NodeClass.Object_1, \"BaseObjectStateFixture\")\n      {\n        new PropertyState<int>(this, \"Property0\");\n        new PropertyState<int>(this, \"Property1\");\n        new PropertyState<int>(this, \"Property2\");\n      }\n    }\n    private class TraceSourceFixture : ITraceSource\n    {\n      public void TraceData(TraceEventType eventType, int id, object data)\n      {\n        string _message = $\"{eventType} at {id}: {data}\";\n        switch (eventType)\n        {\n          case TraceEventType.Critical:\n          case TraceEventType.Error:\n          case TraceEventType.Warning:\n            ErrorTraceLog.Add(_message);\n            break;\n          case TraceEventType.Information:\n          case TraceEventType.Verbose:\n          case TraceEventType.Start:\n          case TraceEventType.Stop:\n          case TraceEventType.Suspend:\n          case TraceEventType.Resume:\n          case TraceEventType.Transfer:\n            TraceLog.Add(_message);\n            break;\n        }\n        Debug.WriteLine(_message);\n      }\n      internal List<string> TraceLog { get; private set; } = new List<string>();\n      internal List<string> ErrorTraceLog { get; private set; } = new List<string>();\n    }\n    private void ReplaceDataSetFields(ISemanticDataSetSource dataSource, string associationName, string inFileName, string outFileName)\n    {\n      ITraceSource _traceSource = new TraceSourceFixture();\n      List<FieldMetaData> _lf = new List<FieldMetaData>();\n      foreach (KeyValuePair<string, IVariable> _item in dataSource)\n      {\n        if (_item.Value.ValueType.BuiltInType == BuiltInType.Null)\n          continue;\n        FieldMetaData _field = new FieldMetaData()\n        {\n          ProcessValueName = _item.Key,\n          SymbolicName = _item.Key,\n          TypeInformation = _item.Value.ValueType\n        };\n        _lf.Add(_field);\n      }\n      ConfigurationManagement.ReplaceDataSetFields(_lf.ToArray(), associationName, inFileName, outFileName, _traceSource);\n    }\n    #endregion\n\n  }\n\n}\n"
  },
  {
    "path": "Networking/Tests/Networking.Simulator.Boiler.Unit/AssemblyCleanupFixture.cs",
    "content": "﻿//___________________________________________________________________________________\n//\n//  Copyright (C) 2018, Mariusz Postol LODZ POLAND.\n//\n//  To be in touch join the community at GITTER: https://gitter.im/mpostol/OPC-UA-OOI\n//___________________________________________________________________________________\n\nusing Microsoft.VisualStudio.TestTools.UnitTesting;\nusing UAOOI.Networking.Simulator.Boiler.UnitTest.CommonServiceLocatorInstrumentation;\n\nnamespace UAOOI.Networking.Simulator.Boiler.UnitTest\n{\n  [TestClass]\n  public static class AssemblyCleanupFixture\n  {\n    [TestMethod]\n    [AssemblyCleanup]\n    public static void AssemblyCleanupTest()\n    {\n      Assert.IsFalse(Logger.Singleton.CheckForErrors());\n    }\n  }\n}\n"
  },
  {
    "path": "Networking/Tests/Networking.Simulator.Boiler.Unit/AssemblyInitializeFixture.cs",
    "content": "﻿//___________________________________________________________________________________\n//\n//  Copyright (C) 2018 Copyright, Mariusz Postol LODZ POLAND.\n//\n//  To be in touch join the community at GITTER: https://gitter.im/mpostol/OPC-UA-OOI\n//___________________________________________________________________________________\n\nusing CommonServiceLocator;\nusing Microsoft.VisualStudio.TestTools.UnitTesting;\nusing System;\nusing UAOOI.Networking.Simulator.Boiler.UnitTest.CommonServiceLocatorInstrumentation;\n\nnamespace UAOOI.Networking.Simulator.Boiler.UnitTest\n{\n  [TestClass]\n  public static class AssemblyInitializeFixture\n  {\n    [TestMethod]\n    [AssemblyInitialize]\n    public static void AssemblyInitializeTest(TestContext context)\n    {\n      Container _container = new Container(new Object[] { Logger.Singleton });\n      ServiceLocator.SetLocatorProvider(() => _container);\n      Assert.IsTrue(ServiceLocator.IsLocationProviderSet);\n    }\n  }\n}\n"
  },
  {
    "path": "Networking/Tests/Networking.Simulator.Boiler.Unit/CommonServiceLocatorInstrumentation/ConfigurationDataProducer.xml",
    "content": "﻿<ConfigurationData xmlns:i=\"http://www.w3.org/2001/XMLSchema-instance\" xmlns=\"http://commsvr.com/UAOOI/SemanticData/UANetworking/Configuration/Serialization.xsd\">\n  <DataSets>\n    <DataSetConfiguration>\n      <AssociationRole>Producer</AssociationRole>\n      <AssociationName>Simple</AssociationName>\n      <RepositoryGroup>repositoryGroup</RepositoryGroup>\n      <InformationModelURI>https://github.com/mpostol/OPC-UA-OOI</InformationModelURI>\n      <DataSymbolicName>DataSymbolicName</DataSymbolicName>\n      <DataSet>\n        <DataMemberConfiguration>\n          <SymbolicName>BoolToggle</SymbolicName>\n          <ProcessValueName>BoolToggle</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>Boolean</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>Int32Normal</SymbolicName>\n          <ProcessValueName>Int32Normal</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>Int32</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>Int32Fast</SymbolicName>\n          <ProcessValueName>Int32Fast</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>Int32</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>SimpleValueDateTime</SymbolicName>\n          <ProcessValueName>SimpleValueDateTime</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>DateTime</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n      </DataSet>\n      <Guid>c1f53ffb-6552-4ccc-84c9-f847147cdc85</Guid>\n      <Root>\n        <q:NodeIdentifier xmlns:d5p1=\"NodeDescriptorNS\" xmlns:q=\"http://commsvr.com/UAOOI/SemanticData/UANetworking/Configuration/Serialization.xsd\">d5p1:NodeDescriptor</q:NodeIdentifier>\n      </Root>\n      <PublishingInterval>1000</PublishingInterval>\n      <MaxBufferTime>100</MaxBufferTime>\n      <ConfigurationGuid>1893991b-517c-4a5f-b8a4-1633d2a101c8</ConfigurationGuid>\n      <ConfigurationVersion>\n        <MajorVersion>1</MajorVersion>\n        <MinorVersion>0</MinorVersion>\n      </ConfigurationVersion>\n    </DataSetConfiguration>\n    <DataSetConfiguration>\n      <AssociationRole>Producer</AssociationRole>\n      <AssociationName>AllTypes</AssociationName>\n      <RepositoryGroup>repositoryGroup</RepositoryGroup>\n      <InformationModelURI>https://github.com/mpostol/OPC-UA-OOI</InformationModelURI>\n      <DataSymbolicName>DataSymbolicName</DataSymbolicName>\n      <DataSet>\n        <DataMemberConfiguration>\n          <SymbolicName>ValueBoolean</SymbolicName>\n          <ProcessValueName>ValueBoolean</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>Boolean</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>ValueByte</SymbolicName>\n          <ProcessValueName>ValueByte</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>Byte</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>ValueInt16</SymbolicName>\n          <ProcessValueName>ValueInt16</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>Int16</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>ValueInt32</SymbolicName>\n          <ProcessValueName>ValueInt32</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>Int32</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>ValueInt64</SymbolicName>\n          <ProcessValueName>ValueInt64</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>Int64</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>ValueSByte</SymbolicName>\n          <ProcessValueName>ValueSByte</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>SByte</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>ValueUInt16</SymbolicName>\n          <ProcessValueName>ValueUInt16</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>UInt16</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>ValueUInt32</SymbolicName>\n          <ProcessValueName>ValueUInt32</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>UInt32</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>ValueUInt64</SymbolicName>\n          <ProcessValueName>ValueUInt64</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>UInt64</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>ValueFloat</SymbolicName>\n          <ProcessValueName>ValueFloat</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>Float</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>ValueDouble</SymbolicName>\n          <ProcessValueName>ValueDouble</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>Double</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>ValueString</SymbolicName>\n          <ProcessValueName>ValueString</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>String</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>ValueByteString</SymbolicName>\n          <ProcessValueName>ValueByteString</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>ByteString</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>ValueGuid</SymbolicName>\n          <ProcessValueName>ValueGuid</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>Guid</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>ValueDateTime</SymbolicName>\n          <ProcessValueName>ValueDateTime</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>DateTime</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>UInt32Array</SymbolicName>\n          <ProcessValueName>UInt32Array</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>UInt32</BuiltInType>\n            <ValueRank>1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n\n        <!--arrays all types out of scope -->\n        <!-- uncomment aas needed - all have been self tested\n        \n        <DataMemberConfiguration>\n          <SymbolicName>ArrayBoolean</SymbolicName>\n          <ProcessValueName>ArrayBoolean</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>Boolean</BuiltInType>\n            <ValueRank>1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>ArrayByte</SymbolicName>\n          <ProcessValueName>ArrayByte</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>Byte</BuiltInType>\n            <ValueRank>1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>ArrayInt16</SymbolicName>\n          <ProcessValueName>ArrayInt16</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>Int16</BuiltInType>\n            <ValueRank>1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>ArrayInt32</SymbolicName>\n          <ProcessValueName>ArrayInt32</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>Int32</BuiltInType>\n            <ValueRank>1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>ArrayInt64</SymbolicName>\n          <ProcessValueName>ArrayInt64</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>Int64</BuiltInType>\n            <ValueRank>1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>ArraySByte</SymbolicName>\n          <ProcessValueName>ArraySByte</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>SByte</BuiltInType>\n            <ValueRank>1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>ArrayUInt16</SymbolicName>\n          <ProcessValueName>ArrayUInt16</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>UInt16</BuiltInType>\n            <ValueRank>1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>ArrayUInt32</SymbolicName>\n          <ProcessValueName>ArrayUInt32</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>UInt32</BuiltInType>\n            <ValueRank>1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>ArrayUInt64</SymbolicName>\n          <ProcessValueName>ArrayUInt64</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>UInt64</BuiltInType>\n            <ValueRank>1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>ArrayFloat</SymbolicName>\n          <ProcessValueName>ArrayFloat</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>Float</BuiltInType>\n            <ValueRank>1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>ArrayDouble</SymbolicName>\n          <ProcessValueName>ArrayDouble</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>Double</BuiltInType>\n            <ValueRank>1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>ArrayString</SymbolicName>\n          <ProcessValueName>ArrayString</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>String</BuiltInType>\n            <ValueRank>1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>ArrayByteString</SymbolicName>\n          <ProcessValueName>ArrayByteString</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>ByteString</BuiltInType>\n            <ValueRank>1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>ArrayGuid</SymbolicName>\n          <ProcessValueName>ArrayGuid</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>Guid</BuiltInType>\n            <ValueRank>1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>ArrayDateTime</SymbolicName>\n          <ProcessValueName>ArrayDateTime</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>DateTime</BuiltInType>\n            <ValueRank>1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n\n        -->\n        <!--out of scope-->\n\n      </DataSet>\n      <Guid>c1f53ffb-6552-4ccc-84c9-f847147cdc85</Guid>\n      <Root>\n        <q:NodeIdentifier xmlns:d5p1=\"NodeDescriptorNS\" xmlns:q=\"http://commsvr.com/UAOOI/SemanticData/UANetworking/Configuration/Serialization.xsd\">d5p1:NodeDescriptor</q:NodeIdentifier>\n      </Root>\n      <PublishingInterval>1000</PublishingInterval>\n      <MaxBufferTime>100</MaxBufferTime>\n      <ConfigurationGuid>D79E3F84-48AB-48A2-9055-DF589D19E824</ConfigurationGuid>\n      <ConfigurationVersion>\n        <MajorVersion>1</MajorVersion>\n        <MinorVersion>0</MinorVersion>\n      </ConfigurationVersion>\n    </DataSetConfiguration>\n    <DataSetConfiguration>\n      <AssociationRole>Producer</AssociationRole>\n      <AssociationName>MassTest</AssociationName>\n      <RepositoryGroup>repositoryGroup</RepositoryGroup>\n      <InformationModelURI>https://github.com/mpostol/OPC-UA-OOI</InformationModelURI>\n      <DataSymbolicName>DataSymbolicName</DataSymbolicName>\n      <DataSet>\n        <DataMemberConfiguration>\n          <SymbolicName>MassTest_00</SymbolicName>\n          <ProcessValueName>MassTest_00</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>UInt32</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>MassTest_01</SymbolicName>\n          <ProcessValueName>MassTest_01</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>UInt32</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>MassTest_02</SymbolicName>\n          <ProcessValueName>MassTest_02</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>UInt32</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>MassTest_03</SymbolicName>\n          <ProcessValueName>MassTest_03</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>UInt32</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>MassTest_04</SymbolicName>\n          <ProcessValueName>MassTest_04</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>UInt32</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>MassTest_05</SymbolicName>\n          <ProcessValueName>MassTest_05</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>UInt32</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>MassTest_06</SymbolicName>\n          <ProcessValueName>MassTest_06</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>UInt32</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>MassTest_07</SymbolicName>\n          <ProcessValueName>MassTest_07</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>UInt32</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>MassTest_08</SymbolicName>\n          <ProcessValueName>MassTest_08</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>UInt32</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>MassTest_09</SymbolicName>\n          <ProcessValueName>MassTest_09</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>UInt32</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n\n        <DataMemberConfiguration>\n          <SymbolicName>MassTest_10</SymbolicName>\n          <ProcessValueName>MassTest_10</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>UInt32</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>MassTest_11</SymbolicName>\n          <ProcessValueName>MassTest_11</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>UInt32</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>MassTest_12</SymbolicName>\n          <ProcessValueName>MassTest_12</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>UInt32</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>MassTest_13</SymbolicName>\n          <ProcessValueName>MassTest_13</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>UInt32</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>MassTest_14</SymbolicName>\n          <ProcessValueName>MassTest_14</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>UInt32</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>MassTest_15</SymbolicName>\n          <ProcessValueName>MassTest_15</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>UInt32</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>MassTest_16</SymbolicName>\n          <ProcessValueName>MassTest_16</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>UInt32</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>MassTest_17</SymbolicName>\n          <ProcessValueName>MassTest_17</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>UInt32</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>MassTest_18</SymbolicName>\n          <ProcessValueName>MassTest_18</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>UInt32</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>MassTest_19</SymbolicName>\n          <ProcessValueName>MassTest_19</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>UInt32</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n\n        <DataMemberConfiguration>\n          <SymbolicName>MassTest_20</SymbolicName>\n          <ProcessValueName>MassTest_20</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>UInt32</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>MassTest_21</SymbolicName>\n          <ProcessValueName>MassTest_21</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>UInt32</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>MassTest_22</SymbolicName>\n          <ProcessValueName>MassTest_22</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>UInt32</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>MassTest_23</SymbolicName>\n          <ProcessValueName>MassTest_23</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>UInt32</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>MassTest_24</SymbolicName>\n          <ProcessValueName>MassTest_24</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>UInt32</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>MassTest_25</SymbolicName>\n          <ProcessValueName>MassTest_25</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>UInt32</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>MassTest_26</SymbolicName>\n          <ProcessValueName>MassTest_26</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>UInt32</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>MassTest_27</SymbolicName>\n          <ProcessValueName>MassTest_27</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>UInt32</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>MassTest_28</SymbolicName>\n          <ProcessValueName>MassTest_28</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>UInt32</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>MassTest_29</SymbolicName>\n          <ProcessValueName>MassTest_29</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>UInt32</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n\n        <DataMemberConfiguration>\n          <SymbolicName>MassTest_30</SymbolicName>\n          <ProcessValueName>MassTest_30</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>UInt32</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>MassTest_31</SymbolicName>\n          <ProcessValueName>MassTest_31</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>UInt32</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>MassTest_32</SymbolicName>\n          <ProcessValueName>MassTest_32</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>UInt32</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>MassTest_33</SymbolicName>\n          <ProcessValueName>MassTest_33</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>UInt32</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>MassTest_34</SymbolicName>\n          <ProcessValueName>MassTest_34</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>UInt32</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>MassTest_35</SymbolicName>\n          <ProcessValueName>MassTest_35</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>UInt32</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>MassTest_36</SymbolicName>\n          <ProcessValueName>MassTest_36</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>UInt32</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>MassTest_37</SymbolicName>\n          <ProcessValueName>MassTest_37</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>UInt32</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>MassTest_38</SymbolicName>\n          <ProcessValueName>MassTest_38</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>UInt32</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>MassTest_39</SymbolicName>\n          <ProcessValueName>MassTest_39</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>UInt32</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n\n        <DataMemberConfiguration>\n          <SymbolicName>MassTest_40</SymbolicName>\n          <ProcessValueName>MassTest_40</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>UInt32</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>MassTest_41</SymbolicName>\n          <ProcessValueName>MassTest_41</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>UInt32</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>MassTest_42</SymbolicName>\n          <ProcessValueName>MassTest_42</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>UInt32</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>MassTest_43</SymbolicName>\n          <ProcessValueName>MassTest_43</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>UInt32</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>MassTest_44</SymbolicName>\n          <ProcessValueName>MassTest_44</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>UInt32</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>MassTest_45</SymbolicName>\n          <ProcessValueName>MassTest_45</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>UInt32</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>MassTest_46</SymbolicName>\n          <ProcessValueName>MassTest_46</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>UInt32</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>MassTest_47</SymbolicName>\n          <ProcessValueName>MassTest_47</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>UInt32</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>MassTest_48</SymbolicName>\n          <ProcessValueName>MassTest_48</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>UInt32</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>MassTest_49</SymbolicName>\n          <ProcessValueName>MassTest_49</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>UInt32</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n\n        <DataMemberConfiguration>\n          <SymbolicName>MassTest_50</SymbolicName>\n          <ProcessValueName>MassTest_50</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>UInt32</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>MassTest_51</SymbolicName>\n          <ProcessValueName>MassTest_51</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>UInt32</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>MassTest_52</SymbolicName>\n          <ProcessValueName>MassTest_52</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>UInt32</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>MassTest_53</SymbolicName>\n          <ProcessValueName>MassTest_53</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>UInt32</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>MassTest_54</SymbolicName>\n          <ProcessValueName>MassTest_54</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>UInt32</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>MassTest_55</SymbolicName>\n          <ProcessValueName>MassTest_55</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>UInt32</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>MassTest_56</SymbolicName>\n          <ProcessValueName>MassTest_56</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>UInt32</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>MassTest_57</SymbolicName>\n          <ProcessValueName>MassTest_57</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>UInt32</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>MassTest_58</SymbolicName>\n          <ProcessValueName>MassTest_58</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>UInt32</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>MassTest_59</SymbolicName>\n          <ProcessValueName>MassTest_59</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>UInt32</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n\n        <DataMemberConfiguration>\n          <SymbolicName>MassTest_60</SymbolicName>\n          <ProcessValueName>MassTest_60</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>UInt32</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>MassTest_61</SymbolicName>\n          <ProcessValueName>MassTest_61</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>UInt32</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>MassTest_62</SymbolicName>\n          <ProcessValueName>MassTest_62</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>UInt32</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>MassTest_63</SymbolicName>\n          <ProcessValueName>MassTest_63</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>UInt32</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>MassTest_64</SymbolicName>\n          <ProcessValueName>MassTest_64</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>UInt32</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>MassTest_65</SymbolicName>\n          <ProcessValueName>MassTest_65</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>UInt32</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>MassTest_66</SymbolicName>\n          <ProcessValueName>MassTest_66</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>UInt32</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>MassTest_67</SymbolicName>\n          <ProcessValueName>MassTest_67</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>UInt32</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>MassTest_68</SymbolicName>\n          <ProcessValueName>MassTest_68</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>UInt32</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>MassTest_69</SymbolicName>\n          <ProcessValueName>MassTest_69</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>UInt32</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n\n        <DataMemberConfiguration>\n          <SymbolicName>MassTest_70</SymbolicName>\n          <ProcessValueName>MassTest_70</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>UInt32</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>MassTest_71</SymbolicName>\n          <ProcessValueName>MassTest_71</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>UInt32</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>MassTest_72</SymbolicName>\n          <ProcessValueName>MassTest_72</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>UInt32</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>MassTest_73</SymbolicName>\n          <ProcessValueName>MassTest_73</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>UInt32</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>MassTest_74</SymbolicName>\n          <ProcessValueName>MassTest_74</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>UInt32</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>MassTest_75</SymbolicName>\n          <ProcessValueName>MassTest_75</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>UInt32</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>MassTest_76</SymbolicName>\n          <ProcessValueName>MassTest_76</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>UInt32</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>MassTest_77</SymbolicName>\n          <ProcessValueName>MassTest_77</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>UInt32</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>MassTest_78</SymbolicName>\n          <ProcessValueName>MassTest_78</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>UInt32</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>MassTest_79</SymbolicName>\n          <ProcessValueName>MassTest_79</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>UInt32</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n\n        <DataMemberConfiguration>\n          <SymbolicName>MassTest_80</SymbolicName>\n          <ProcessValueName>MassTest_80</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>UInt32</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>MassTest_81</SymbolicName>\n          <ProcessValueName>MassTest_81</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>UInt32</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>MassTest_82</SymbolicName>\n          <ProcessValueName>MassTest_82</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>UInt32</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>MassTest_83</SymbolicName>\n          <ProcessValueName>MassTest_83</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>UInt32</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>MassTest_84</SymbolicName>\n          <ProcessValueName>MassTest_84</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>UInt32</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>MassTest_85</SymbolicName>\n          <ProcessValueName>MassTest_85</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>UInt32</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>MassTest_86</SymbolicName>\n          <ProcessValueName>MassTest_86</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>UInt32</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>MassTest_87</SymbolicName>\n          <ProcessValueName>MassTest_87</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>UInt32</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>MassTest_88</SymbolicName>\n          <ProcessValueName>MassTest_88</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>UInt32</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>MassTest_89</SymbolicName>\n          <ProcessValueName>MassTest_89</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>UInt32</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n\n        <DataMemberConfiguration>\n          <SymbolicName>MassTest_90</SymbolicName>\n          <ProcessValueName>MassTest_90</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>UInt32</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>MassTest_91</SymbolicName>\n          <ProcessValueName>MassTest_91</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>UInt32</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>MassTest_92</SymbolicName>\n          <ProcessValueName>MassTest_92</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>UInt32</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>MassTest_93</SymbolicName>\n          <ProcessValueName>MassTest_93</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>UInt32</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>MassTest_94</SymbolicName>\n          <ProcessValueName>MassTest_94</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>UInt32</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>MassTest_95</SymbolicName>\n          <ProcessValueName>MassTest_95</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>UInt32</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>MassTest_96</SymbolicName>\n          <ProcessValueName>MassTest_96</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>UInt32</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>MassTest_97</SymbolicName>\n          <ProcessValueName>MassTest_97</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>UInt32</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>MassTest_98</SymbolicName>\n          <ProcessValueName>MassTest_98</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>UInt32</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n        <DataMemberConfiguration>\n          <SymbolicName>MassTest_99</SymbolicName>\n          <ProcessValueName>MassTest_99</ProcessValueName>\n          <TypeInformation>\n            <BuiltInType>UInt32</BuiltInType>\n            <ValueRank>-1</ValueRank>\n          </TypeInformation>\n        </DataMemberConfiguration>\n\n      </DataSet>\n      <Guid>c1f53ffb-6552-4ccc-84c9-f847147cdc85</Guid>\n      <Root>\n        <q:NodeIdentifier xmlns:d5p1=\"NodeDescriptorNS\" xmlns:q=\"http://commsvr.com/UAOOI/SemanticData/UANetworking/Configuration/Serialization.xsd\">d5p1:NodeDescriptor</q:NodeIdentifier>\n      </Root>\n      <PublishingInterval>1000</PublishingInterval>\n      <MaxBufferTime>100</MaxBufferTime>\n      <ConfigurationGuid>C67E4D73-F46E-499C-991F-F86D0E1BEB00</ConfigurationGuid>\n      <ConfigurationVersion>\n        <MajorVersion>1</MajorVersion>\n        <MinorVersion>0</MinorVersion>\n      </ConfigurationVersion>\n    </DataSetConfiguration>\n  </DataSets>\n  <MessageHandlers>\n    <MessageHandlerConfiguration i:type=\"MessageWriterConfiguration\">\n      <Name>UDP</Name>\n      <Configuration>\n        <ChannelConfiguration>4840,localhost</ChannelConfiguration>\n      </Configuration>\n      <TransportRole>Producer</TransportRole>\n      <ProducerAssociationConfigurations>\n        <ProducerAssociationConfiguration>\n          <AssociationName>Simple</AssociationName>\n          <DataSetWriterId>1</DataSetWriterId>\n          <PublisherId>d80d81dd-96e6-4560-850e-154f9181307c</PublisherId>\n          <FieldEncoding>VariantFieldEncoding</FieldEncoding>\n        </ProducerAssociationConfiguration>\n        <ProducerAssociationConfiguration>\n          <AssociationName>AllTypes</AssociationName>\n          <DataSetWriterId>2</DataSetWriterId>\n          <PublisherId>d80d81dd-96e6-4560-850e-154f9181307c</PublisherId>\n          <FieldEncoding>VariantFieldEncoding</FieldEncoding>\n        </ProducerAssociationConfiguration>\n        <ProducerAssociationConfiguration>\n          <AssociationName>MassTest</AssociationName>\n          <DataSetWriterId>3</DataSetWriterId>\n          <PublisherId>d80d81dd-96e6-4560-850e-154f9181307c</PublisherId>\n          <FieldEncoding>VariantFieldEncoding</FieldEncoding>\n        </ProducerAssociationConfiguration>\n      </ProducerAssociationConfigurations>\n    </MessageHandlerConfiguration>\n  </MessageHandlers>\n</ConfigurationData>"
  },
  {
    "path": "Networking/Tests/Networking.Simulator.Boiler.Unit/CommonServiceLocatorInstrumentation/Container.cs",
    "content": "﻿//___________________________________________________________________________________\n//\n//  Copyright (C) 2018, Mariusz Postol LODZ POLAND.\n//\n//  To be in touch join the community at GITTER: https://gitter.im/mpostol/OPC-UA-OOI\n//___________________________________________________________________________________\n\nusing CommonServiceLocator;\nusing System;\nusing System.Collections.Generic;\nusing System.Linq;\n\nnamespace UAOOI.Networking.Simulator.Boiler.UnitTest.CommonServiceLocatorInstrumentation\n{\n  internal class Container : ServiceLocatorImplBase\n  {\n\n    public Container(IEnumerable<object> list)\n    {\n      m_ObjectsContainer = list;\n    }\n\n    private readonly IEnumerable<object> m_ObjectsContainer;\n    protected override object DoGetInstance(Type requestedType, string key)\n    {\n      return String.IsNullOrEmpty(key) ? m_ObjectsContainer.First(o => requestedType.IsAssignableFrom(o.GetType()))\n                                       : m_ObjectsContainer.First(o => requestedType.IsAssignableFrom(o.GetType()) && Equals(key, o.GetType().FullName));\n    }\n    protected override IEnumerable<object> DoGetAllInstances(Type requestedType)\n    {\n      return m_ObjectsContainer.Where(o => requestedType.IsAssignableFrom(o.GetType()));\n    }\n  }\n}\n"
  },
  {
    "path": "Networking/Tests/Networking.Simulator.Boiler.Unit/CommonServiceLocatorInstrumentation/Logger.cs",
    "content": "﻿//___________________________________________________________________________________\n//\n//  Copyright (C) 2018, Mariusz Postol LODZ POLAND.\n//\n//  To be in touch join the community at GITTER: https://gitter.im/mpostol/OPC-UA-OOI\n//___________________________________________________________________________________\n\nusing System;\nusing System.Collections.Generic;\nusing System.Diagnostics;\nusing UAOOI.Common.Infrastructure.Diagnostic;\n\nnamespace UAOOI.Networking.Simulator.Boiler.UnitTest.CommonServiceLocatorInstrumentation\n{\n\n  public class Logger : ITraceSource\n  {\n\n    internal static Logger Singleton { get { return m_Singleton.Value; } }\n\n    public class TraceLogEntity\n    {\n      public TraceEventType EventType { get; private set; }\n      public int Id { get; private set; }\n      public object Data { get; private set; }\n      public TraceLogEntity(TraceEventType eventType, int id, object data)\n      {\n        this.EventType = eventType;\n        this.Id = id;\n        this.Data = data;\n      }\n    }\n    public List<TraceLogEntity> TraceLogList { get; } = new List<TraceLogEntity>();\n    internal bool CheckForErrors()\n    {\n      foreach (TraceLogEntity _item in TraceLogList)\n        if (_item.EventType > TraceEventType.Information)\n          return true;\n      return false;\n    }\n    #region ITraceSource\n    void ITraceSource.TraceData(TraceEventType eventType, int id, object data)\n    {\n      TraceLogList.Add(new TraceLogEntity(eventType, id, data));\n    }\n    #endregion\n\n    private Logger() { }\n    private static Lazy<Logger> m_Singleton = new Lazy<Logger>(() => new Logger());\n\n  }\n}\n"
  },
  {
    "path": "Networking/Tests/Networking.Simulator.Boiler.Unit/DataGeneratorUnitTest.cs",
    "content": "﻿//___________________________________________________________________________________\n//\n//  Copyright (C) 2018, Mariusz Postol LODZ POLAND.\n//\n//  To be in touch join the community at GITTER: https://gitter.im/mpostol/OPC-UA-OOI\n//___________________________________________________________________________________\n\nusing Microsoft.VisualStudio.TestTools.UnitTesting;\nusing System;\nusing System.Diagnostics;\nusing UAOOI.Configuration.Networking.Serialization;\nusing UAOOI.Networking.SemanticData;\nusing UAOOI.Networking.SemanticData.DataRepository;\nusing UAOOI.Networking.Simulator.Boiler.AddressSpace;\nusing UAOOI.Networking.Simulator.Boiler.UnitTest.CommonServiceLocatorInstrumentation;\n\nnamespace UAOOI.Networking.Simulator.Boiler.UnitTest\n{\n  [TestClass]\n  public class DataGeneratorUnitTest\n  {\n    [TestMethod]\n    public void GetProducerBindingTest()\n    {\n      BoilersSetFixture _boiler = new BoilersSetFixture();\n      using (DataGenerator _generator = new DataGenerator(_boiler))\n      {\n        IBindingFactory _bindingFactory = _generator;\n        IProducerBinding _binding = _bindingFactory.GetProducerBinding(\"repositoryGroup\", \"processValueName\", new UATypeInfo(BuiltInType.Boolean));\n        Assert.IsNotNull(_binding);\n        _binding.Encoding.IsEqual(new UATypeInfo(BuiltInType.Boolean));\n        Assert.IsFalse(_binding.NewValue);\n        Assert.IsNull(_binding.Parameter);\n        int _newValueInvocationCount = 0;\n        _binding.PropertyChanged += (x, evetArgs) => _newValueInvocationCount++;\n        _boiler.Variable.Change();\n        Assert.AreEqual<int>(1, _newValueInvocationCount);\n        Assert.IsTrue(_binding.NewValue);\n        Assert.IsTrue((bool)_binding.GetFromRepository());\n        Assert.IsFalse(_binding.NewValue);\n        Assert.AreEqual<int>(1, _newValueInvocationCount);\n      }\n      Assert.AreEqual<int>(1, _boiler.DisposeCount);\n    }\n    [TestMethod]\n    [ExpectedException(typeof(ArgumentOutOfRangeException))]\n    public void GetProducerBindingTypesMismatchTest()\n    {\n      BoilersSetFixture _boiler = new BoilersSetFixture();\n      using (DataGenerator _generator = new DataGenerator(_boiler))\n      {\n        IBindingFactory _bindingFactory = _generator;\n        IProducerBinding _binding = _bindingFactory.GetProducerBinding(\"repositoryGroup\", \"processValueName\", new UATypeInfo(BuiltInType.Int16));\n      }\n    }\n    [TestMethod]\n    public void DefaultConstructorTest()\n    {\n      int _startLoggerPosition = Logger.Singleton.TraceLogList.Count;\n      using (DataGenerator _generator = new DataGenerator()) { }\n      int _endLoggerPosition = Logger.Singleton.TraceLogList.Count;\n      int _length = _endLoggerPosition - _startLoggerPosition;\n      Assert.AreEqual<int>(81, _length);\n      for (int i = _startLoggerPosition; i < _length; i++)\n      {\n        Assert.AreNotEqual<TraceEventType>(TraceEventType.Error, Logger.Singleton.TraceLogList[i].EventType, $\"Error in registartion procedure {Logger.Singleton.TraceLogList[i].Data}\");\n        Debug.WriteLine($\"Trace type {Logger.Singleton.TraceLogList[i].EventType}, message {Logger.Singleton.TraceLogList[i].Data}\");\n      }\n    }\n\n    #region tests instrumentation\n    private class BoilersSetFixture : ISemanticDataSource\n    {\n\n      internal int DisposeCount = 0;\n      internal VariableFixture Variable = new VariableFixture();\n\n      #region ISemanticDataSource\n      public void Dispose()\n      {\n        DisposeCount++;\n      }\n      public void GetSemanticDataSources(RegisterSemanticData registerSemanticData)\n      {\n        registerSemanticData(\"repositoryGroup\", \"processValueName\", Variable);\n      }\n      #endregion\n\n    }\n    private class VariableFixture : IVariable\n    {\n\n      #region IVariable\n      public object Value { get; private set; } = false;\n      public UATypeInfo ValueType => new UATypeInfo(BuiltInType.Boolean);\n      public event NodeStateChangedHandler OnStateChanged;\n      #endregion\n\n      internal void Change()\n      {\n        Value = !(bool)Value;\n        OnStateChanged?.Invoke(null, null, NodeStateChangeMasks.Value);\n      }\n\n    }\n    #endregion\n\n  }\n}\n"
  },
  {
    "path": "Networking/Tests/Networking.Simulator.Boiler.Unit/Deploy/Producer.tml.xml",
    "content": "﻿<ConfigurationData xmlns:i=\"http://www.w3.org/2001/XMLSchema-instance\" xmlns=\"http://commsvr.com/UAOOI/SemanticData/UANetworking/Configuration/Serialization.xsd\">\n  <DataSets>\n  </DataSets>\n  <MessageHandlers>\n    <MessageHandlerConfiguration i:type=\"MessageWriterConfiguration\">\n      <Name>UDP</Name>\n      <Configuration>\n        <ChannelConfiguration>4840,localhost</ChannelConfiguration>\n      </Configuration>\n      <TransportRole>Producer</TransportRole>\n      <ProducerAssociationConfigurations>\n      </ProducerAssociationConfigurations>\n    </MessageHandlerConfiguration>\n  </MessageHandlers>\n  <TypeDictionaries i:nil=\"true\" />\n</ConfigurationData>"
  },
  {
    "path": "Networking/Tests/Networking.Simulator.Boiler.Unit/Model/AnalogItemStateUnitTest.cs",
    "content": "﻿\nusing Microsoft.VisualStudio.TestTools.UnitTesting;\nusing UAOOI.Networking.Simulator.Boiler.AddressSpace;\nusing UAOOI.Networking.Simulator.Boiler.Model;\nusing UAOOI.SemanticData.UANodeSetValidation.DataSerialization;\n\nnamespace UAOOI.Networking.Simulator.Boiler.UnitTest.Model\n{\n  [TestClass]\n  public class AnalogItemStateUnitTest\n  {\n    [TestMethod]\n    public void ConstructorTest()\n    {\n      AnalogItemState<double> _item = new AnalogItemState<double>(null, \"browseName\", ModelExtensions.CreateRange(0, 1), 0.5);\n      Assert.AreEqual<string>(\"browseName\", _item.BrowseName.Name);\n      Assert.IsFalse(_item.BrowseName.NamespaceIndexSpecified);\n      //EURange\n      Assert.IsNotNull(_item.EURange);\n      Assert.AreEqual<string>(nameof(_item.EURange), _item.EURange.BrowseName.Name);\n      Assert.AreEqual<double>(1, _item.EURange.Value.High);\n      Assert.AreEqual<double>(0, _item.EURange.Value.Low);\n      //Value\n      Assert.IsNotNull(_item.Value);\n      Assert.AreEqual<double>(0.5, _item.Value);\n      Assert.AreEqual<NodeClass>(NodeClass.Variable_2, _item.NodeClass);\n      Assert.IsNull(_item.Parent);\n      Assert.AreEqual<double>(0.5, _item.Value);\n    }\n  }\n}\n"
  },
  {
    "path": "Networking/Tests/Networking.Simulator.Boiler.Unit/Model/BoilerDrumStateUnitTest.cs",
    "content": "﻿\nusing Microsoft.VisualStudio.TestTools.UnitTesting;\nusing System;\nusing tempuri.org.UA.Examples.BoilerType;\nusing UAOOI.Networking.Simulator.Boiler.AddressSpace;\nusing UAOOI.Networking.Simulator.Boiler.Model;\nusing UAOOI.SemanticData.UANodeSetValidation.DataSerialization;\n\nnamespace UAOOI.Networking.Simulator.Boiler.UnitTest.Model\n{\n  [TestClass]\n  public class BoilerDrumStateUnitTest\n  {\n    [TestMethod]\n    [ExpectedException(typeof(NotImplementedException))]\n    public void ConstructorTestMethod()\n    {\n      BoilerDrumState _drum = new BoilerDrumState(null);\n    }\n    [TestMethod]\n    public void Constructor2TestMethod()\n    {\n      BoilerDrumState _drum = new BoilerDrumState(null, BrowseNames.Drum, ModelExtensions.CreateRange(1000, 0));\n      Assert.IsNotNull(_drum.BrowseName);\n      Assert.IsNotNull(_drum.LevelIndicator);\n      Assert.IsNotNull(_drum.LevelIndicator.Output);\n      Assert.AreEqual<NodeClass>(NodeClass.Variable_2, _drum.LevelIndicator.Output.NodeClass);\n      Assert.IsNotNull(_drum.LevelIndicator.Output.Parent);\n      Assert.IsNotNull(_drum.LevelIndicator.Output.Value);\n      Assert.IsNotNull(_drum.LevelIndicator.Output.EURange);\n      Assert.IsNotNull(_drum.LevelIndicator.Parent);\n      Assert.IsNull(_drum.Parent);\n      Assert.AreEqual<NodeClass>(NodeClass.Object_1, _drum.NodeClass);\n      Assert.AreEqual<NodeStateChangeMasks>(NodeStateChangeMasks.Children, _drum.ChangeMasks);\n      Assert.AreEqual<double>(0, _drum.LevelIndicator.Output.Value);\n      Assert.AreEqual<double>(0, _drum.LevelIndicator.Output.EURange.Value.Low);\n      Assert.AreEqual<double>(1000, _drum.LevelIndicator.Output.EURange.Value.High);\n    }\n  }\n\n}\n"
  },
  {
    "path": "Networking/Tests/Networking.Simulator.Boiler.Unit/Model/BoilerStateUnitTest.cs",
    "content": "﻿//___________________________________________________________________________________\n//\n//  Copyright (C) Year of Copyright, Mariusz Postol LODZ POLAND.\n//\n//  To be in touch join the community at GITTER: https://gitter.im/mpostol/OPC-UA-OOI\n//___________________________________________________________________________________\n\nusing Microsoft.VisualStudio.TestTools.UnitTesting;\nusing System;\nusing System.Collections.Generic;\nusing System.Diagnostics;\nusing tempuri.org.UA.Examples.BoilerType;\nusing UAOOI.Common.Infrastructure.Diagnostic;\nusing UAOOI.Configuration.Networking.Serialization;\nusing UAOOI.Configuration.Networking.Upgrade;\nusing UAOOI.Networking.Simulator.Boiler.AddressSpace;\nusing UAOOI.SemanticData.UANodeSetValidation.DataSerialization;\n\nnamespace UAOOI.Networking.Simulator.Boiler.UnitTest.Model\n{\n  [TestClass]\n  public class BoilerStateUnitTest\n  {\n\n    [TestMethod]\n    [ExpectedException(typeof(System.NotImplementedException))]\n    public void ConstructorTest()\n    {\n      using (BoilerState _boilerState = new BoilerState(null)) { }\n    }\n    [TestMethod]\n    public void Constructor2Test()\n    {\n      using (BoilerState _boilerState = new BoilerState(null, \"browseName\"))\n      {\n        Assert.IsNotNull(_boilerState.BrowseName);\n        Assert.AreEqual<string>(\"browseName\", _boilerState.BrowseName.Name);\n        Assert.IsFalse(_boilerState.BrowseName.NamespaceIndexSpecified);\n        Assert.IsNotNull(_boilerState.CustomController);\n        Assert.IsNotNull(_boilerState.Drum);\n        Assert.IsNotNull(_boilerState.FlowController);\n        Assert.IsNotNull(_boilerState.InputPipe);\n        Assert.IsNotNull(_boilerState.LevelController);\n        Assert.IsNotNull(_boilerState.OutputPipe);\n        Assert.IsNull(_boilerState.Parent);\n        Assert.IsNotNull(_boilerState.Simulation);\n        Assert.AreEqual<NodeClass>(NodeClass.Object_1, _boilerState.NodeClass);\n        Assert.AreEqual<NodeStateChangeMasks>(NodeStateChangeMasks.Children, _boilerState.ChangeMasks);\n        Assert.IsNotNull(_boilerState.FindChild(null, new List<QualifiedName>() { _boilerState.CustomController.BrowseName }, 0));\n      }\n    }\n    [TestMethod]\n    public void FindChildTest()\n    {\n      using (BoilerState _boilerState = new BoilerState(null, \"browseName\"))\n      {\n        Assert.IsNotNull(_boilerState.FindChild(null, new List<QualifiedName>() { _boilerState.CustomController.BrowseName }, 0));\n        Assert.IsNotNull(_boilerState.FindChild(null, new List<QualifiedName>() { _boilerState.FlowController.BrowseName }, 0));\n        Assert.IsNotNull(_boilerState.FindChild(null, new List<QualifiedName>() { _boilerState.Drum.BrowseName }, 0));\n        Assert.IsNotNull(_boilerState.FindChild(null, new List<QualifiedName>() { _boilerState.InputPipe.BrowseName }, 0));\n        Assert.IsNotNull(_boilerState.FindChild(null, new List<QualifiedName>() { _boilerState.LevelController.BrowseName }, 0));\n        Assert.IsNotNull(_boilerState.FindChild(null, new List<QualifiedName>() { _boilerState.OutputPipe.BrowseName }, 0));\n        Assert.IsNotNull(_boilerState.FindChild(null, new List<QualifiedName>() { _boilerState.Simulation.BrowseName }, 0));\n      }\n    }\n    [TestMethod]\n    public void GetChildrenTest()\n    {\n      using (BoilerState _boilerState = new BoilerState(null, \"browseName\"))\n      {\n        List<BaseInstanceState> _children = new List<BaseInstanceState>();\n        _boilerState.GetChildren(_children);\n        Assert.AreEqual<int>(7, _children.Count);\n      }\n    }\n    [TestMethod]\n    public void RegisterVariableTest()\n    {\n      TraceSourceFixture _log = new TraceSourceFixture();\n      using (BoilerState _boilerState = new BoilerState(null, \"browseName\"))\n      {\n        _boilerState.Logger = _log;\n        Dictionary<string, BaseInstanceState> _vars = new Dictionary<string, BaseInstanceState>();\n        _boilerState.RegisterVariable(new List<BaseInstanceState>(), (x, y) => _vars.Add(String.Join(\"_\", y), x));\n        foreach (KeyValuePair<string, BaseInstanceState> _item in _vars)\n        {\n          BaseVariableState _var = _item.Value as BaseVariableState;\n          Assert.IsNotNull(_var);\n          string _type = _var.Value == null ? \"not set\" : _var.Value.GetType().Name;\n          Debug.WriteLine($\"{_item} {_type}\");\n        }\n        Assert.AreEqual<int>(20, _vars.Count);\n      }\n      Assert.IsTrue(_log.TraceLog.Count == 0);\n      Assert.IsTrue(_log.ErrorTraceLog.Count == 0);\n    }\n    [TestMethod]\n    public void StartSimulationTest()\n    {\n      ISystemContext _context = new SystemContextFixture();\n      TraceSourceFixture _log = new TraceSourceFixture();\n      List<Tuple<string, object>> _callBackCount = new List<Tuple<string, object>>();\n      Range _startRange = null;\n      int _valueChangeCount = 0;\n      using (BoilerState _boilerState = new BoilerState(null, \"browseName\"))\n      {\n        _boilerState.RegisterVariable(new List<BaseInstanceState>(), (x, y) => { _callBackCount.Add(Tuple.Create<string, object>(String.Join(\"_\", y), ((BaseVariableState)x).Value)); x.OnStateChanged += (q, w, e) => _valueChangeCount++; });\n        Range _level = _boilerState.Drum.LevelIndicator.Output.EURange.Value;\n        _startRange = ModelExtensions.CreateRange(_level.High, _level.Low);\n        double _startSetPoint = _boilerState.LevelController.SetPoint.Value;\n        _boilerState.Logger = _log;\n        _boilerState.ClearChangeMasks(_context, true);\n        _boilerState.StartSimulation();\n        _boilerState.OnStateChanged += (x, y, z) => Assert.Fail();\n        System.Threading.Thread.Sleep(10000);\n        Assert.AreEqual<int>(20, _callBackCount.Count);\n        _boilerState.ClearChangeMasks(_context, true);\n        Assert.AreEqual<Range>(_level, _boilerState.Drum.LevelIndicator.Output.EURange.Value);\n        Assert.AreEqual<double>(_startSetPoint, _boilerState.LevelController.SetPoint.Value);\n      }\n      Assert.IsTrue(_log.TraceLog.Count > 10);\n      Assert.IsTrue(_log.ErrorTraceLog.Count == 0);\n      Assert.AreEqual<int>(20, _callBackCount.Count);\n      Assert.IsTrue(600 < _valueChangeCount, $\"_valueChangeCount = {_valueChangeCount}\");\n    }\n\n    #region test instrumentation\n    private class SystemContextFixture : ISystemContext { }\n    private class TraceSourceFixture : ITraceSource\n    {\n      public void TraceData(TraceEventType eventType, int id, object data)\n      {\n        string _message = $\"{eventType} at {id}: {data}\";\n        switch (eventType)\n        {\n          case TraceEventType.Critical:\n          case TraceEventType.Error:\n          case TraceEventType.Warning:\n            ErrorTraceLog.Add(_message);\n            break;\n          case TraceEventType.Information:\n          case TraceEventType.Verbose:\n          case TraceEventType.Start:\n          case TraceEventType.Stop:\n          case TraceEventType.Suspend:\n          case TraceEventType.Resume:\n          case TraceEventType.Transfer:\n            TraceLog.Add(_message);\n            break;\n        }\n        Debug.WriteLine(_message);\n      }\n      internal List<string> TraceLog { get; private set; } = new List<string>();\n      internal List<string> ErrorTraceLog { get; private set; } = new List<string>();\n    }\n    #endregion\n\n  }\n}\n\n"
  },
  {
    "path": "Networking/Tests/Networking.Simulator.Boiler.Unit/Model/BoilersSetUnitTest.cs",
    "content": "﻿//___________________________________________________________________________________\n//\n//  Copyright (C) 2018, Mariusz Postol LODZ POLAND.\n//\n//  To be in touch join the community at GITTER: https://gitter.im/mpostol/OPC-UA-OOI\n//___________________________________________________________________________________\n\nusing Microsoft.VisualStudio.TestTools.UnitTesting;\nusing System.Collections.Generic;\nusing System.Diagnostics;\nusing UAOOI.Networking.Simulator.Boiler.AddressSpace;\nusing UAOOI.Networking.Simulator.Boiler.Model;\nusing UAOOI.SemanticData.UANodeSetValidation.DataSerialization;\nusing Boilers = Commsvr.UA.Examples.BoilersSet;\n\nnamespace UAOOI.Networking.Simulator.Boiler.UnitTest.Model\n{\n  [TestClass]\n  public class BoilersSetUnitTest\n  {\n    [TestMethod]\n    public void ConstructorTest()\n    {\n      using (BoilersSet _set = BoilersSet.Factory)\n      {\n        Assert.IsNotNull(_set);\n        Assert.AreEqual<string>(Boilers.BrowseNames.BoilersArea, _set.BrowseName.Name);\n        Assert.AreEqual<NodeClass>(NodeClass.Object_1, _set.NodeClass);\n        Assert.IsNull(_set.Parent);\n      }\n    }\n    [TestMethod]\n    public void GetSemanticDataSourcesTest()\n    {\n      using (ISemanticDataSource _set = BoilersSet.Factory)\n      {\n        Assert.IsNotNull(_set);\n        _set.GetSemanticDataSources((semanticDataSetRootBrowsePath, variableRelativeBrowsePath, variable) => AddressSpace.Add($\"{semanticDataSetRootBrowsePath}:{variableRelativeBrowsePath}\", variable));\n        Assert.AreEqual<int>(80, AddressSpace.Count);\n        foreach (KeyValuePair<string, IVariable> _var in AddressSpace)\n          Debug.WriteLine($\"{_var.Key}:{_var.Value.ValueType}\");\n\n      }\n      Assert.IsTrue(AddressSpace.ContainsKey(\"BoilersArea_Boiler #1:CCX001_ControlOut\"));\n      Assert.IsTrue(AddressSpace.ContainsKey(\"BoilersArea_Boiler #2:CCX001_ControlOut\"));\n      Assert.IsTrue(AddressSpace.ContainsKey(\"BoilersArea_Boiler #3:CCX001_ControlOut\"));\n      Assert.IsTrue(AddressSpace.ContainsKey(\"BoilersArea_Boiler #4:CCX001_ControlOut\"));\n    }\n    private Dictionary<string, IVariable> AddressSpace = new Dictionary<string, IVariable>();\n\n  }\n}\n"
  },
  {
    "path": "Networking/Tests/Networking.Simulator.Boiler.Unit/Model/CustomControllerStateUnitTest.cs",
    "content": "﻿\nusing Microsoft.VisualStudio.TestTools.UnitTesting;\nusing tempuri.org.UA.Examples.BoilerType;\n\nnamespace UAOOI.Networking.Simulator.Boiler.UnitTest.Model\n{\n\n  [TestClass]\n  public class CustomControllerStateUnitTest\n  {\n\n    [TestMethod]\n    public void ConstructorTest()\n    {\n      CustomControllerState _controller = new CustomControllerState(null, BrowseNames.CustomController);\n      Assert.IsNotNull(_controller.BrowseName);\n      Assert.IsNotNull(_controller.ControlOut);\n      Assert.IsNotNull(_controller.DescriptionX);\n      Assert.IsNotNull(_controller.Input1);\n      Assert.IsNotNull(_controller.Input2);\n      Assert.IsNotNull(_controller.Input3);\n      Assert.IsNull(_controller.Parent);\n    }\n\n  }\n}\n"
  },
  {
    "path": "Networking/Tests/Networking.Simulator.Boiler.Unit/Model/GenericControllerStateUnitTest.cs",
    "content": "﻿\nusing Microsoft.VisualStudio.TestTools.UnitTesting;\nusing tempuri.org.UA.Examples.BoilerType;\nusing UAOOI.Networking.Simulator.Boiler.AddressSpace;\n\nnamespace UAOOI.Networking.Simulator.Boiler.UnitTest.Model\n{\n  [TestClass]\n  public class GenericControllerStateUnitTest\n  {\n    [TestMethod]\n    [ExpectedExceptionAttribute(typeof(System.NotImplementedException))]\n    public void ConstructorTest()\n    {\n      GenericControllerState _controller = new GenericControllerState(null);\n      Assert.IsNull(_controller.BrowseName);\n      Assert.AreEqual<NodeStateChangeMasks>(NodeStateChangeMasks.None, _controller.ChangeMasks);\n      Assert.IsNull(_controller.ControlOut);\n      Assert.IsNull(_controller.Measurement);\n      Assert.IsNull(_controller.Parent);\n      Assert.IsNull(_controller.SetPoint);\n    }\n    [TestMethod]\n    public void Constructor2Test()\n    {\n      GenericControllerState _controller = new GenericControllerState(null, nameof(GenericControllerState));\n      Assert.IsNotNull(_controller.BrowseName);\n      Assert.AreEqual<NodeStateChangeMasks>(NodeStateChangeMasks.Children, _controller.ChangeMasks);\n      Assert.IsNotNull(_controller.ControlOut);\n      Assert.IsNotNull(_controller.Measurement);\n      Assert.IsNull(_controller.Parent);\n      Assert.IsNotNull(_controller.SetPoint);\n    }\n    [TestMethod]\n    public void ParentsTest()\n    {\n      GenericControllerState _controller = new GenericControllerState(null, \"browse name\");\n      Assert.IsNotNull(_controller.BrowseName);\n      Assert.AreEqual<NodeStateChangeMasks>(NodeStateChangeMasks.Children, _controller.ChangeMasks);\n      Assert.IsNull(_controller.Parent);\n      _controller.ControlOut = new PropertyState<double>(_controller, \"ControlOut\") { Value = 0.0 };\n      Assert.AreSame(_controller, _controller.ControlOut.Parent);\n      _controller.Measurement = new PropertyState<double>(_controller, \"Measurement\") { Value = 0.0 };\n      Assert.AreSame(_controller, _controller.Measurement.Parent);\n      _controller.SetPoint = new PropertyState<double>(_controller, \"SetPoint\") { Value = 0.0 };\n      Assert.AreSame(_controller, _controller.SetPoint.Parent);\n    }\n  }\n}\n"
  },
  {
    "path": "Networking/Tests/Networking.Simulator.Boiler.Unit/Networking.Simulator.Boiler.UnitTest.csproj",
    "content": "﻿<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<Project ToolsVersion=\"15.0\" DefaultTargets=\"Build\" xmlns=\"http://schemas.microsoft.com/developer/msbuild/2003\">\n  <Import Project=\"..\\..\\..\\packages\\MSTest.TestAdapter.2.2.10\\build\\net46\\MSTest.TestAdapter.props\" Condition=\"Exists('..\\..\\..\\packages\\MSTest.TestAdapter.2.2.10\\build\\net46\\MSTest.TestAdapter.props')\" />\n  <PropertyGroup>\n    <Configuration Condition=\" '$(Configuration)' == '' \">Debug</Configuration>\n    <Platform Condition=\" '$(Platform)' == '' \">AnyCPU</Platform>\n    <ProjectGuid>{F0B59A0A-90DA-41D3-8BAD-96B1F266DB6F}</ProjectGuid>\n    <OutputType>Library</OutputType>\n    <AppDesignerFolder>Properties</AppDesignerFolder>\n    <RootNamespace>UAOOI.Networking.Simulator.Boiler.UnitTest</RootNamespace>\n    <AssemblyName>UAOOI.Networking.Simulator.Boiler.UnitTest</AssemblyName>\n    <TargetFrameworkVersion>v4.7.2</TargetFrameworkVersion>\n    <FileAlignment>512</FileAlignment>\n    <ProjectTypeGuids>{3AC096D0-A1C2-E12C-1390-A8335801FDAB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>\n    <VisualStudioVersion Condition=\"'$(VisualStudioVersion)' == ''\">15.0</VisualStudioVersion>\n    <VSToolsPath Condition=\"'$(VSToolsPath)' == ''\">$(MSBuildExtensionsPath32)\\Microsoft\\VisualStudio\\v$(VisualStudioVersion)</VSToolsPath>\n    <ReferencePath>$(ProgramFiles)\\Common Files\\microsoft shared\\VSTT\\$(VisualStudioVersion)\\UITestExtensionPackages</ReferencePath>\n    <IsCodedUITest>False</IsCodedUITest>\n    <TestProjectType>UnitTest</TestProjectType>\n    <NuGetPackageImportStamp>\n    </NuGetPackageImportStamp>\n    <TargetFrameworkProfile />\n  </PropertyGroup>\n  <PropertyGroup Condition=\" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' \">\n    <DebugSymbols>true</DebugSymbols>\n    <DebugType>full</DebugType>\n    <Optimize>false</Optimize>\n    <OutputPath>bin\\Debug\\</OutputPath>\n    <DefineConstants>DEBUG;TRACE</DefineConstants>\n    <ErrorReport>prompt</ErrorReport>\n    <WarningLevel>4</WarningLevel>\n    <NoWarn>IDE0001,IDE0002,IDE0003</NoWarn>\n  </PropertyGroup>\n  <PropertyGroup Condition=\" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' \">\n    <DebugType>pdbonly</DebugType>\n    <Optimize>true</Optimize>\n    <OutputPath>bin\\Release\\</OutputPath>\n    <DefineConstants>TRACE</DefineConstants>\n    <ErrorReport>prompt</ErrorReport>\n    <WarningLevel>4</WarningLevel>\n  </PropertyGroup>\n  <PropertyGroup>\n    <SignAssembly>true</SignAssembly>\n  </PropertyGroup>\n  <PropertyGroup>\n    <AssemblyOriginatorKeyFile>OPCUAOOIKey.snk</AssemblyOriginatorKeyFile>\n  </PropertyGroup>\n  <ItemGroup>\n    <Reference Include=\"CommonServiceLocator, Version=2.0.6.0, Culture=neutral, PublicKeyToken=489b6accfaf20ef0, processorArchitecture=MSIL\">\n      <HintPath>..\\..\\..\\packages\\CommonServiceLocator.2.0.6\\lib\\net47\\CommonServiceLocator.dll</HintPath>\n    </Reference>\n    <Reference Include=\"Microsoft.VisualStudio.TestPlatform.TestFramework, Version=14.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL\">\n      <HintPath>..\\..\\..\\packages\\MSTest.TestFramework.2.2.10\\lib\\net45\\Microsoft.VisualStudio.TestPlatform.TestFramework.dll</HintPath>\n    </Reference>\n    <Reference Include=\"Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions, Version=14.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL\">\n      <HintPath>..\\..\\..\\packages\\MSTest.TestFramework.2.2.10\\lib\\net45\\Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.dll</HintPath>\n    </Reference>\n    <Reference Include=\"System\" />\n    <Reference Include=\"System.CodeDom, Version=6.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL\">\n      <HintPath>..\\..\\..\\packages\\System.CodeDom.6.0.0\\lib\\net461\\System.CodeDom.dll</HintPath>\n    </Reference>\n    <Reference Include=\"System.Core\" />\n    <Reference Include=\"System.Diagnostics.TraceSource, Version=4.0.1.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL\">\n      <HintPath>..\\..\\..\\packages\\System.Diagnostics.TraceSource.4.3.0\\lib\\net46\\System.Diagnostics.TraceSource.dll</HintPath>\n      <Private>True</Private>\n      <Private>True</Private>\n    </Reference>\n    <Reference Include=\"System.Runtime.Serialization\" />\n    <Reference Include=\"System.Xml\" />\n    <Reference Include=\"UAOOI.Common.Infrastructure, Version=6.4.6.0, Culture=neutral, PublicKeyToken=deede3c2df331bb0, processorArchitecture=MSIL\">\n      <HintPath>..\\..\\..\\packages\\UAOOI.Common.Infrastructure.6.4.7\\lib\\netstandard2.0\\UAOOI.Common.Infrastructure.dll</HintPath>\n    </Reference>\n  </ItemGroup>\n  <ItemGroup>\n    <Compile Include=\"AddressSpace\\BaseInstanceStateUnitTest.cs\" />\n    <Compile Include=\"AddressSpace\\NodeStateUnitTest.cs\" />\n    <Compile Include=\"AddressSpace\\PropertyStateUnitTest.cs\" />\n    <Compile Include=\"AddressSpace\\SemanticDataSetSourceUnitTest.cs\" />\n    <Compile Include=\"CommonServiceLocatorInstrumentation\\Container.cs\" />\n    <Compile Include=\"CommonServiceLocatorInstrumentation\\Logger.cs\" />\n    <Compile Include=\"DataGeneratorUnitTest.cs\" />\n    <Compile Include=\"Model\\BoilerStateUnitTest.cs\" />\n    <Compile Include=\"Model\\GenericControllerStateUnitTest.cs\" />\n    <Compile Include=\"Model\\CustomControllerStateUnitTest.cs\" />\n    <Compile Include=\"Model\\BoilerDrumStateUnitTest.cs\" />\n    <Compile Include=\"Model\\AnalogItemStateUnitTest.cs\" />\n    <Compile Include=\"Model\\BoilersSetUnitTest.cs\" />\n    <Compile Include=\"ProducerConfigurationFactoryUnitTest.cs\" />\n    <Compile Include=\"Properties\\AssemblyInfo.cs\" />\n    <Compile Include=\"AssemblyInitializeFixture.cs\" />\n    <Compile Include=\"AssemblyCleanupFixture.cs\" />\n  </ItemGroup>\n  <ItemGroup>\n    <None Include=\"app.config\" />\n    <None Include=\"OPCUAOOIKey.snk\" />\n    <None Include=\"packages.config\" />\n  </ItemGroup>\n  <ItemGroup>\n    <ProjectReference Include=\"..\\..\\..\\Configuration\\NetworkingUpgrade\\Configuration.Networking.Upgrade.csproj\">\n      <Project>{BEBE131A-C931-4C2C-9F9E-ED0D0B75DF26}</Project>\n      <Name>Configuration.Networking.Upgrade</Name>\n    </ProjectReference>\n    <ProjectReference Include=\"..\\..\\..\\Configuration\\Networking\\Configuration.Networking.csproj\">\n      <Project>{E28E0880-03AA-4D1B-A820-41B04E766019}</Project>\n      <Name>Configuration.Networking</Name>\n    </ProjectReference>\n    <ProjectReference Include=\"..\\..\\..\\SemanticData\\UANodeSetValidation\\SemanticData.UANodeSetValidation.csproj\">\n      <Project>{352378A0-8B2E-4679-BB44-FD0BCC8467D9}</Project>\n      <Name>SemanticData.UANodeSetValidation</Name>\n    </ProjectReference>\n    <ProjectReference Include=\"..\\..\\SemanticData\\Networking.SemanticData.csproj\">\n      <Project>{7F4DED4E-5933-4229-B9CC-51DA49678904}</Project>\n      <Name>Networking.SemanticData</Name>\n    </ProjectReference>\n    <ProjectReference Include=\"..\\..\\Simulator.Boiler\\Networking.Simulator.Boiler.csproj\">\n      <Project>{3ce5cca6-0ead-49ef-ab69-d1f17a9c6d43}</Project>\n      <Name>Networking.Simulator.Boiler</Name>\n    </ProjectReference>\n  </ItemGroup>\n  <ItemGroup>\n    <Content Include=\"CommonServiceLocatorInstrumentation\\ConfigurationDataProducer.xml\">\n      <CopyToOutputDirectory>Always</CopyToOutputDirectory>\n    </Content>\n    <None Include=\"Deploy\\Producer.tml.xml\">\n      <CopyToOutputDirectory>Always</CopyToOutputDirectory>\n    </None>\n  </ItemGroup>\n  <Import Project=\"$(VSToolsPath)\\TeamTest\\Microsoft.TestTools.targets\" Condition=\"Exists('$(VSToolsPath)\\TeamTest\\Microsoft.TestTools.targets')\" />\n  <Import Project=\"$(MSBuildToolsPath)\\Microsoft.CSharp.targets\" />\n  <Target Name=\"EnsureNuGetPackageBuildImports\" BeforeTargets=\"PrepareForBuild\">\n    <PropertyGroup>\n      <ErrorText>This project references NuGet package(s) that are missing on this computer. Use NuGet Package Restore to download them.  For more information, see http://go.microsoft.com/fwlink/?LinkID=322105. The missing file is {0}.</ErrorText>\n    </PropertyGroup>\n    <Error Condition=\"!Exists('..\\..\\..\\packages\\MSTest.TestAdapter.2.2.10\\build\\net46\\MSTest.TestAdapter.props')\" Text=\"$([System.String]::Format('$(ErrorText)', '..\\..\\..\\packages\\MSTest.TestAdapter.2.2.10\\build\\net46\\MSTest.TestAdapter.props'))\" />\n    <Error Condition=\"!Exists('..\\..\\..\\packages\\MSTest.TestAdapter.2.2.10\\build\\net46\\MSTest.TestAdapter.targets')\" Text=\"$([System.String]::Format('$(ErrorText)', '..\\..\\..\\packages\\MSTest.TestAdapter.2.2.10\\build\\net46\\MSTest.TestAdapter.targets'))\" />\n  </Target>\n  <Import Project=\"..\\..\\..\\packages\\MSTest.TestAdapter.2.2.10\\build\\net46\\MSTest.TestAdapter.targets\" Condition=\"Exists('..\\..\\..\\packages\\MSTest.TestAdapter.2.2.10\\build\\net46\\MSTest.TestAdapter.targets')\" />\n</Project>"
  },
  {
    "path": "Networking/Tests/Networking.Simulator.Boiler.Unit/ProducerConfigurationFactoryUnitTest.cs",
    "content": "﻿//___________________________________________________________________________________\n//\n//  Copyright (C) 2018, Mariusz Postol LODZ POLAND.\n//\n//  To be in touch join the community at GITTER: https://gitter.im/mpostol/OPC-UA-OOI\n//___________________________________________________________________________________\n\nusing Microsoft.VisualStudio.TestTools.UnitTesting;\nusing System;\nusing System.IO;\nusing UAOOI.Configuration.Networking.Serialization;\nusing UAOOI.Networking.Simulator.Boiler.UnitTest.CommonServiceLocatorInstrumentation;\n\nnamespace UAOOI.Networking.Simulator.Boiler.UnitTest\n{\n  [DeploymentItem(@\"ConfigurationDataProducer.BoilersSet.xml\")]\n  [TestClass]\n  public class ProducerConfigurationFactoryUnitTest\n  {\n    [TestMethod]\n    public void ConstructorTestMethod1()\n    {\n      int LogStartPosition = Logger.Singleton.TraceLogList.Count;\n      FileInfo _configurationFile = new FileInfo(m_configurationFileName);\n      Assert.IsTrue(_configurationFile.Exists, $\"There is no file in path {_configurationFile.FullName}\");\n      TestProducerConfigurationFactory _configurationFactory = new TestProducerConfigurationFactory(_configurationFile.FullName);\n      Assert.IsNotNull(_configurationFactory.Loader);\n      ConfigurationData _configuration = _configurationFactory.Loader();\n      Assert.AreEqual<int>(4, _configuration.DataSets.Length);\n      Assert.AreEqual<int>(1, _configuration.MessageHandlers.Length);\n      Assert.AreEqual<AssociationRole>(AssociationRole.Producer, _configuration.MessageHandlers[0].TransportRole);\n      Assert.IsTrue(_configuration.MessageHandlers[0] is MessageWriterConfiguration);\n      Assert.IsNull(_configuration.TypeDictionaries);\n      int LogEndPosition = Logger.Singleton.TraceLogList.Count;\n      Assert.AreEqual<int>(2, LogEndPosition - LogStartPosition, $\"Current number of log entries is {LogEndPosition - LogStartPosition}\");\n    }\n\n    #region instrumentation\n\n    private const string m_configurationFileName = \"ConfigurationDataProducer.BoilersSet.xml\";\n\n    private class TestProducerConfigurationFactory : ProducerConfigurationFactory\n    {\n      public TestProducerConfigurationFactory(string configurationFileName) : base(configurationFileName)\n      {\n      }\n\n      internal new Func<ConfigurationData> Loader { get => base.Loader; set => base.Loader = value; }\n    }\n\n    #endregion instrumentation\n  }\n}"
  },
  {
    "path": "Networking/Tests/Networking.Simulator.Boiler.Unit/Properties/AssemblyInfo.cs",
    "content": "//___________________________________________________________________________________\n//\n//  Copyright (C) 2019, Mariusz Postol LODZ POLAND.\n//\n//  To be in touch join the community at GITTER: https://gitter.im/mpostol/OPC-UA-OOI\n//___________________________________________________________________________________\n\nusing System.Reflection;\nusing System.Runtime.InteropServices;\n\n[assembly: AssemblyTitle(\"UAOOI.Networking.Simulator.Boiler.UnitTest\")]\n[assembly: AssemblyDescription(\"Simulator of a set of boilers used to produce steam for a turbine - unit tests.\")]\n[assembly: AssemblyConfiguration(\"\")]\n[assembly: AssemblyCompany(\"commsvr.com\")]\n[assembly: AssemblyProduct(\"Object Oriented Internet\")]\n[assembly: AssemblyCopyright(\"Copyright MPostol (c) 2018\")]\n[assembly: AssemblyTrademark(\"\")]\n[assembly: AssemblyCulture(\"\")]\n[assembly: ComVisible(false)]\n[assembly: Guid(\"f0b59a0a-90da-41d3-8bad-96b1f266db6f\")]\n[assembly: AssemblyVersion(\"4.0.1.*\")]\n[assembly: AssemblyFileVersion(\"4.0.1.0\")]\n"
  },
  {
    "path": "Networking/Tests/Networking.Simulator.Boiler.Unit/app.config",
    "content": "﻿<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<configuration>\n  <startup>\n    <supportedRuntime version=\"v4.0\" sku=\".NETFramework,Version=v4.7.2\" />\n  </startup>\n  <runtime>\n    <assemblyBinding xmlns=\"urn:schemas-microsoft-com:asm.v1\">\n      <dependentAssembly>\n        <assemblyIdentity name=\"CommonServiceLocator\" publicKeyToken=\"489b6accfaf20ef0\" culture=\"neutral\" />\n        <bindingRedirect oldVersion=\"0.0.0.0-2.0.5.0\" newVersion=\"2.0.5.0\" />\n      </dependentAssembly>\n    </assemblyBinding>\n  </runtime>\n</configuration>"
  },
  {
    "path": "Networking/Tests/Networking.Simulator.Boiler.Unit/packages.config",
    "content": "﻿<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<packages>\n  <package id=\"CommonServiceLocator\" version=\"2.0.6\" targetFramework=\"net472\" />\n  <package id=\"MSTest.TestAdapter\" version=\"2.2.10\" targetFramework=\"net472\" />\n  <package id=\"MSTest.TestFramework\" version=\"2.2.10\" targetFramework=\"net472\" />\n  <package id=\"System.CodeDom\" version=\"6.0.0\" targetFramework=\"net472\" />\n  <package id=\"System.Diagnostics.TraceSource\" version=\"4.3.0\" targetFramework=\"net471\" />\n  <package id=\"UAOOI.Common.Infrastructure\" version=\"6.4.7\" targetFramework=\"net472\" />\n</packages>"
  },
  {
    "path": "Networking/Tests/Networking.SimulatorInteroperabilityTest.UnitTest/DataGeneratorUnitTest.cs",
    "content": "﻿\nusing Microsoft.VisualStudio.TestTools.UnitTesting;\n\nnamespace UAOOI.Networking.SimulatorInteroperabilityTest.UnitTest\n{\n  [TestClass]\n  public class DataGeneratorUnitTest\n  {\n    [TestMethod]\n    public void TestMethod1()\n    {\n      DataGenerator _dataGenerator = new DataGenerator();\n      _dataGenerator.Dispose();\n    }\n  }\n}\n"
  },
  {
    "path": "Networking/Tests/Networking.SimulatorInteroperabilityTest.UnitTest/Networking.SimulatorInteroperabilityTest.UnitTest.csproj",
    "content": "﻿<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<Project ToolsVersion=\"15.0\" DefaultTargets=\"Build\" xmlns=\"http://schemas.microsoft.com/developer/msbuild/2003\">\n  <Import Project=\"..\\..\\..\\packages\\MSTest.TestAdapter.2.2.10\\build\\net46\\MSTest.TestAdapter.props\" Condition=\"Exists('..\\..\\..\\packages\\MSTest.TestAdapter.2.2.10\\build\\net46\\MSTest.TestAdapter.props')\" />\n  <PropertyGroup>\n    <Configuration Condition=\" '$(Configuration)' == '' \">Debug</Configuration>\n    <Platform Condition=\" '$(Platform)' == '' \">AnyCPU</Platform>\n    <ProjectGuid>{3BF22621-2E78-4F60-B7C9-7C61D1F440BA}</ProjectGuid>\n    <OutputType>Library</OutputType>\n    <AppDesignerFolder>Properties</AppDesignerFolder>\n    <RootNamespace>UAOOI.Networking.SimulatorInteroperabilityTest.UnitTest</RootNamespace>\n    <AssemblyName>UAOOI.Networking.SimulatorInteroperabilityTest.UnitTest</AssemblyName>\n    <TargetFrameworkVersion>v4.7.2</TargetFrameworkVersion>\n    <FileAlignment>512</FileAlignment>\n    <ProjectTypeGuids>{3AC096D0-A1C2-E12C-1390-A8335801FDAB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>\n    <VisualStudioVersion Condition=\"'$(VisualStudioVersion)' == ''\">15.0</VisualStudioVersion>\n    <VSToolsPath Condition=\"'$(VSToolsPath)' == ''\">$(MSBuildExtensionsPath32)\\Microsoft\\VisualStudio\\v$(VisualStudioVersion)</VSToolsPath>\n    <ReferencePath>$(ProgramFiles)\\Common Files\\microsoft shared\\VSTT\\$(VisualStudioVersion)\\UITestExtensionPackages</ReferencePath>\n    <IsCodedUITest>False</IsCodedUITest>\n    <TestProjectType>UnitTest</TestProjectType>\n    <NuGetPackageImportStamp>\n    </NuGetPackageImportStamp>\n    <TargetFrameworkProfile />\n  </PropertyGroup>\n  <PropertyGroup Condition=\" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' \">\n    <DebugSymbols>true</DebugSymbols>\n    <DebugType>full</DebugType>\n    <Optimize>false</Optimize>\n    <OutputPath>bin\\Debug\\</OutputPath>\n    <DefineConstants>DEBUG;TRACE</DefineConstants>\n    <ErrorReport>prompt</ErrorReport>\n    <WarningLevel>4</WarningLevel>\n  </PropertyGroup>\n  <PropertyGroup Condition=\" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' \">\n    <DebugType>pdbonly</DebugType>\n    <Optimize>true</Optimize>\n    <OutputPath>bin\\Release\\</OutputPath>\n    <DefineConstants>TRACE</DefineConstants>\n    <ErrorReport>prompt</ErrorReport>\n    <WarningLevel>4</WarningLevel>\n  </PropertyGroup>\n  <PropertyGroup>\n    <SignAssembly>true</SignAssembly>\n  </PropertyGroup>\n  <PropertyGroup>\n    <AssemblyOriginatorKeyFile>OPCUAOOIKey.snk</AssemblyOriginatorKeyFile>\n  </PropertyGroup>\n  <ItemGroup>\n    <Reference Include=\"CommonServiceLocator, Version=2.0.6.0, Culture=neutral, PublicKeyToken=489b6accfaf20ef0, processorArchitecture=MSIL\">\n      <HintPath>..\\..\\..\\packages\\CommonServiceLocator.2.0.6\\lib\\net47\\CommonServiceLocator.dll</HintPath>\n    </Reference>\n    <Reference Include=\"Microsoft.VisualStudio.TestPlatform.TestFramework, Version=14.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL\">\n      <HintPath>..\\..\\..\\packages\\MSTest.TestFramework.2.2.10\\lib\\net45\\Microsoft.VisualStudio.TestPlatform.TestFramework.dll</HintPath>\n    </Reference>\n    <Reference Include=\"Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions, Version=14.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL\">\n      <HintPath>..\\..\\..\\packages\\MSTest.TestFramework.2.2.10\\lib\\net45\\Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.dll</HintPath>\n    </Reference>\n    <Reference Include=\"System\" />\n    <Reference Include=\"System.Core\" />\n    <Reference Include=\"System.Diagnostics.TraceSource, Version=4.0.1.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL\">\n      <HintPath>..\\..\\..\\packages\\System.Diagnostics.TraceSource.4.3.0\\lib\\net46\\System.Diagnostics.TraceSource.dll</HintPath>\n      <Private>True</Private>\n      <Private>True</Private>\n    </Reference>\n  </ItemGroup>\n  <ItemGroup>\n    <Compile Include=\"Properties\\AssemblyInfo.cs\" />\n    <Compile Include=\"ProducerConfigurationFactoryUnitTest.cs\" />\n    <Compile Include=\"DataGeneratorUnitTest.cs\" />\n  </ItemGroup>\n  <ItemGroup>\n    <None Include=\"OPCUAOOIKey.snk\" />\n    <None Include=\"packages.config\" />\n  </ItemGroup>\n  <ItemGroup>\n    <ProjectReference Include=\"..\\..\\..\\Configuration\\Networking\\Configuration.Networking.csproj\">\n      <Project>{E28E0880-03AA-4D1B-A820-41B04E766019}</Project>\n      <Name>Configuration.Networking</Name>\n    </ProjectReference>\n    <ProjectReference Include=\"..\\..\\SemanticData\\Networking.SemanticData.csproj\">\n      <Project>{7f4ded4e-5933-4229-b9cc-51da49678904}</Project>\n      <Name>Networking.SemanticData</Name>\n    </ProjectReference>\n    <ProjectReference Include=\"..\\..\\SimulatorInteroperabilityTest\\Networking.SimulatorInteroperabilityTest.csproj\">\n      <Project>{5d2a0688-95e3-400a-b789-49052389d2b1}</Project>\n      <Name>Networking.SimulatorInteroperabilityTest</Name>\n    </ProjectReference>\n  </ItemGroup>\n  <Import Project=\"$(VSToolsPath)\\TeamTest\\Microsoft.TestTools.targets\" Condition=\"Exists('$(VSToolsPath)\\TeamTest\\Microsoft.TestTools.targets')\" />\n  <Import Project=\"$(MSBuildToolsPath)\\Microsoft.CSharp.targets\" />\n  <Target Name=\"EnsureNuGetPackageBuildImports\" BeforeTargets=\"PrepareForBuild\">\n    <PropertyGroup>\n      <ErrorText>This project references NuGet package(s) that are missing on this computer. Use NuGet Package Restore to download them.  For more information, see http://go.microsoft.com/fwlink/?LinkID=322105. The missing file is {0}.</ErrorText>\n    </PropertyGroup>\n    <Error Condition=\"!Exists('..\\..\\..\\packages\\MSTest.TestAdapter.2.2.10\\build\\net46\\MSTest.TestAdapter.props')\" Text=\"$([System.String]::Format('$(ErrorText)', '..\\..\\..\\packages\\MSTest.TestAdapter.2.2.10\\build\\net46\\MSTest.TestAdapter.props'))\" />\n    <Error Condition=\"!Exists('..\\..\\..\\packages\\MSTest.TestAdapter.2.2.10\\build\\net46\\MSTest.TestAdapter.targets')\" Text=\"$([System.String]::Format('$(ErrorText)', '..\\..\\..\\packages\\MSTest.TestAdapter.2.2.10\\build\\net46\\MSTest.TestAdapter.targets'))\" />\n  </Target>\n  <Import Project=\"..\\..\\..\\packages\\MSTest.TestAdapter.2.2.10\\build\\net46\\MSTest.TestAdapter.targets\" Condition=\"Exists('..\\..\\..\\packages\\MSTest.TestAdapter.2.2.10\\build\\net46\\MSTest.TestAdapter.targets')\" />\n</Project>"
  },
  {
    "path": "Networking/Tests/Networking.SimulatorInteroperabilityTest.UnitTest/ProducerConfigurationFactoryUnitTest.cs",
    "content": "﻿//___________________________________________________________________________________\n//\n//  Copyright (C) 2018, Mariusz Postol LODZ POLAND.\n//\n//  To be in touch join the community at GITTER: https://gitter.im/mpostol/OPC-UA-OOI\n//___________________________________________________________________________________\n\nusing System;\nusing System.IO;\nusing Microsoft.VisualStudio.TestTools.UnitTesting;\nusing UAOOI.Configuration.Networking.Serialization;\n\nnamespace UAOOI.Networking.SimulatorInteroperabilityTest.UnitTest\n{\n\n  [DeploymentItem(@\".\\ConfigurationDataProducer.xml\", @\".\\\")]\n  [TestClass]\n  public class ProducerConfigurationFactoryUnitTest\n  {\n    [TestMethod]\n    public void ConstructorTestMethod1()\n    {\n      FileInfo _configurationFile = new FileInfo(m_configurationFileName);\n      Assert.IsTrue(_configurationFile.Exists, $\"There is no file in path {_configurationFile.FullName}\");\n      TestProducerConfigurationFactory _configuration = new TestProducerConfigurationFactory(\"Configuration file path\");\n      Assert.IsNotNull(_configuration.Loader);\n    }\n\n    private const string m_configurationFileName = \"ConfigurationDataProducer.xml\";\n    private class TestProducerConfigurationFactory : ProducerConfigurationFactory\n    {\n      public TestProducerConfigurationFactory(string configurationFileName) : base(configurationFileName) { }\n      internal new Func<ConfigurationData> Loader { get { return base.Loader; } set { base.Loader = value; } }\n    }\n\n  }\n}\n"
  },
  {
    "path": "Networking/Tests/Networking.SimulatorInteroperabilityTest.UnitTest/Properties/AssemblyInfo.cs",
    "content": "//___________________________________________________________________________________\n//\n//  Copyright (C) 2019, Mariusz Postol LODZ POLAND.\n//\n//  To be in touch join the community at GITTER: https://gitter.im/mpostol/OPC-UA-OOI\n//___________________________________________________________________________________\n\nusing System.Reflection;\nusing System.Runtime.InteropServices;\n\n[assembly: AssemblyTitle(\"Networking.SimulatorInteroperabilityTest.UnitTest\")]\n[assembly: AssemblyDescription(\"OPC UA Networking SimulatorInteroperabilityTest UnitTest\")]\n[assembly: AssemblyConfiguration(\"\")]\n[assembly: AssemblyCompany(\"commsvr.com\")]\n[assembly: AssemblyProduct(\"Object Oriented Internet\")]\n[assembly: AssemblyCopyright(\"Copyright © MPostol 2018\")]\n[assembly: AssemblyTrademark(\"\")]\n[assembly: AssemblyCulture(\"\")]\n[assembly: Guid(\"3bf22621-2e78-4f60-b7c9-7c61d1f440ba\")]\n[assembly: AssemblyVersion(\"4.0.1.*\")]\n[assembly: AssemblyFileVersion(\"4.0.1.0\")]\n"
  },
  {
    "path": "Networking/Tests/Networking.SimulatorInteroperabilityTest.UnitTest/packages.config",
    "content": "﻿<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<packages>\n  <package id=\"CommonServiceLocator\" version=\"2.0.6\" targetFramework=\"net472\" />\n  <package id=\"MSTest.TestAdapter\" version=\"2.2.10\" targetFramework=\"net472\" />\n  <package id=\"MSTest.TestFramework\" version=\"2.2.10\" targetFramework=\"net472\" />\n  <package id=\"System.Diagnostics.TraceSource\" version=\"4.3.0\" targetFramework=\"net471\" />\n</packages>"
  },
  {
    "path": "Networking/Tests/ReferenceApplicationUnitTest/ApplicationSettingsUnitTest1.cs",
    "content": "﻿//___________________________________________________________________________________\n//\n//  Copyright (C) 2018, Mariusz Postol LODZ POLAND.\n//\n//  To be in touch join the community at GITTER: https://gitter.im/mpostol/OPC-UA-OOI\n//___________________________________________________________________________________\n\nusing CommonServiceLocator;\nusing Microsoft.VisualStudio.TestTools.UnitTesting;\nusing System.ComponentModel.Composition.Hosting;\nusing UAOOI.Networking.DataRepository.DataLogger;\nusing UAOOI.Networking.ReferenceApplication.Core;\nusing UAOOI.Networking.ReferenceApplication.MEF;\n\nnamespace UAOOI.Networking.ReferenceApplication.UnitTest\n{\n  [TestClass]\n  public class ApplicationSettingsUnitTest1\n  {\n    [TestMethod]\n    public void ApplicationSettingsMEFCompositionMethod()\n    {\n      using (AggregateCatalog newCatalog = DefaultServiceRegistrar.RegisterServices(null))\n      {\n        using (CompositionContainer _container = new CompositionContainer(newCatalog))\n        {\n          string _ProducerConfigurationFileName = _container.GetExportedValue<string>(CompositionSettings.ConfigurationFileNameContract);\n          Assert.AreEqual<string>(\"ConfigurationDataProducer.xml\", _ProducerConfigurationFileName, $\"_ProducerConfigurationFileName = {_ProducerConfigurationFileName}\");\n          string _ConsumerConfigurationFileName = _container.GetExportedValue<string>(ConsumerCompositionSettings.ConfigurationFileNameContract);\n          Assert.AreEqual<string>(\"ConfigurationDataConsumer.xml\", _ConsumerConfigurationFileName, $\"_ConsumerConfigurationFileName = {_ConsumerConfigurationFileName}\");\n          ApplicationSettings _ApplicationSettings = _container.GetExportedValue<ApplicationSettings>();\n          Assert.IsNotNull(_ApplicationSettings);\n          ApplicationSettings _ApplicationSettings2 = _container.GetExportedValue<ApplicationSettings>();\n          Assert.AreSame(_ApplicationSettings, _ApplicationSettings2);\n        }\n      }\n    }\n    [TestMethod]\n    public void ApplicationSettingsISLCompositionMethod()\n    {\n      using (AggregateCatalog newCatalog = DefaultServiceRegistrar.RegisterServices(null))\n      {\n        using (CompositionContainer _container = new CompositionContainer(newCatalog))\n        {\n          IServiceLocator _serviceLocator = new ServiceLocatorAdapter(_container);\n          ServiceLocator.SetLocatorProvider(() => _serviceLocator);\n          string _ProducerConfigurationFileName = _serviceLocator.GetInstance<string>(CompositionSettings.ConfigurationFileNameContract);\n          Assert.AreEqual<string>(\"ConfigurationDataProducer.xml\", _ProducerConfigurationFileName, $\"_ProducerConfigurationFileName = {_ProducerConfigurationFileName}\");\n          string _ConsumerConfigurationFileName = _serviceLocator.GetInstance<string>(ConsumerCompositionSettings.ConfigurationFileNameContract);\n          Assert.AreEqual<string>(\"ConfigurationDataConsumer.xml\", _ConsumerConfigurationFileName, $\"_ConsumerConfigurationFileName = {_ConsumerConfigurationFileName}\");\n          ApplicationSettings _ApplicationSettings = _serviceLocator.GetInstance<ApplicationSettings>();\n          Assert.IsNotNull(_ApplicationSettings);\n          ApplicationSettings _ApplicationSettings2 = _serviceLocator.GetInstance<ApplicationSettings>();\n          Assert.AreSame(_ApplicationSettings, _ApplicationSettings2);\n        }\n      }\n    }\n\n  }\n}\n\n"
  },
  {
    "path": "Networking/Tests/ReferenceApplicationUnitTest/Diagnostic/ReferenceApplicationEventSourceUnitTest.cs",
    "content": "﻿//___________________________________________________________________________________\n//\n//  Copyright (C) 2020, Mariusz Postol LODZ POLAND.\n//\n//  To be in touch join the community at GITTER: https://gitter.im/mpostol/OPC-UA-OOI\n//___________________________________________________________________________________\n\nusing System;\nusing System.Collections.Generic;\nusing System.Diagnostics.Tracing;\nusing Microsoft.Practices.EnterpriseLibrary.SemanticLogging;\nusing Microsoft.Practices.EnterpriseLibrary.SemanticLogging.Schema;\nusing Microsoft.VisualStudio.TestTools.UnitTesting;\nusing UAOOI.Networking.ReferenceApplication.Core.Diagnostic;\nusing static UAOOI.Networking.ReferenceApplication.Core.Diagnostic.ReferenceApplicationEventSource;\n\nnamespace UAOOI.Networking.ReferenceApplication.UnitTest.Diagnostic\n{\n  [TestClass]\n  public class ReferenceApplicationEventSourceUnitTest\n  {\n    [TestMethod]\n    public void StartingApplicationTest()\n    {\n      EventEntry _lastEvent = null;\n      int _calls = 0;\n      ObservableEventListener _listener = new ObservableEventListener();\n      IDisposable subscription = _listener.Subscribe(x => { _calls++; _lastEvent = x; });\n      using (SinkSubscription<ObservableEventListener> _sinkSubscription = new SinkSubscription<ObservableEventListener>(subscription, _listener))\n      {\n        Assert.IsNotNull(_sinkSubscription.Sink);\n\n        ReferenceApplicationEventSource _log = ReferenceApplicationEventSource.Log;\n        _sinkSubscription.Sink.EnableEvents(_log, EventLevel.LogAlways, EventKeywords.All);\n\n        Assert.IsNull(_lastEvent);\n        _log.StartingApplication(\"Message handler name\");\n        Assert.IsNotNull(_lastEvent);\n        Assert.AreEqual<int>(1, _calls);\n\n        //_lastEvent content\n        Assert.AreEqual<int>(2, _lastEvent.EventId);\n        Assert.AreEqual<Guid>(Guid.Empty, _lastEvent.ActivityId);\n        string _message = \"The application has been started using the message handling provider Message handler name.\";\n        Assert.AreEqual<string>(_message, _lastEvent.FormattedMessage, _lastEvent.FormattedMessage);\n        //schema\n        EventSchema _Schema = _lastEvent.Schema;\n        Assert.AreEqual<string>(\"InfrastructureStart\", _Schema.EventName);\n        Assert.AreEqual<int>(2, _Schema.Id);\n        //Assert.IsTrue((_Schema.Keywords & SemanticEventSource.Keywords.Diagnostic2) > 0);\n        //Assert.AreEqual<string>(\"PackageContent\", _Schema.KeywordsDescription);\n        Assert.AreEqual<EventLevel>(EventLevel.Informational, _Schema.Level);\n        Assert.AreEqual<string>(\"Start\", _Schema.OpcodeName);\n        Assert.AreEqual<EventOpcode>(EventOpcode.Start, _Schema.Opcode);\n        Assert.AreEqual<Guid>(new Guid(\"D8637D00-5EAD-4538-9286-8C6DE346D8C8\"), _Schema.ProviderId);\n        Assert.AreEqual<string>(\"UAOOI-Networking-ReferenceApplication-Diagnostic\", _Schema.ProviderName);\n        Assert.AreEqual<string>(\"Infrastructure\", _Schema.TaskName);\n        Assert.AreEqual<EventTask>(Tasks.Infrastructure, _Schema.Task);\n        Assert.AreEqual<int>(0, _Schema.Version);\n\n        //Payload\n        Assert.AreEqual<string>(\"System.Collections.ObjectModel.ReadOnlyCollection`1[System.Object]\", _lastEvent.Payload.ToString(), _lastEvent.Payload.ToString());\n        Assert.AreEqual<int>(1, _lastEvent.Payload.Count);\n      }\n    }\n    [TestMethod]\n    public void ReferenceApplicationEventSourceExtensionsTest()\n    {\n      List<EventEntry> _lastEvents = new List<EventEntry>();\n      ObservableEventListener _listener = new ObservableEventListener();\n      IDisposable subscription = _listener.Subscribe(x => {_lastEvents.Add(x); });\n      using (SinkSubscription<ObservableEventListener> _sinkSubscription = new SinkSubscription<ObservableEventListener>(subscription, _listener))\n      {\n        Assert.IsNotNull(_sinkSubscription.Sink);\n\n        ReferenceApplicationEventSource _log = ReferenceApplicationEventSource.Log;\n        _sinkSubscription.Sink.EnableEvents(_log, EventLevel.LogAlways, EventKeywords.All);\n\n        Assert.AreEqual<int>(0, _lastEvents.Count);\n        NotImplementedException _ex = new NotImplementedException(\"testing exception\", new NotImplementedException());\n        _log.LogException(_ex);\n        Assert.AreEqual<int>(2, _lastEvents.Count);\n\n        //_lastEvent content\n        Assert.AreEqual<int>(1, _lastEvents[0].EventId);\n        Assert.AreEqual<Guid>(Guid.Empty, _lastEvents[0].ActivityId);\n        string _message = \"Application Failure: An exception has benn caught: of type NotImplementedException capturing the message: testing exception\";\n        Assert.AreEqual<string>(_message, _lastEvents[0].FormattedMessage);\n        //schema\n        EventSchema _Schema = _lastEvents[0].Schema;\n        Assert.AreEqual<string>(\"InfrastructureInfo\", _Schema.EventName);\n        Assert.AreEqual<int>(1, _Schema.Id);\n        //Assert.IsTrue((_Schema.Keywords & SemanticEventSource.Keywords.Diagnostic2) > 0);\n        //Assert.AreEqual<string>(\"PackageContent\", _Schema.KeywordsDescription);\n        Assert.AreEqual<EventLevel>(EventLevel.Error, _Schema.Level);\n        Assert.AreEqual<string>(\"Info\", _Schema.OpcodeName);\n        Assert.AreEqual<EventOpcode>(EventOpcode.Info, _Schema.Opcode);\n        Assert.AreEqual<Guid>(new Guid(\"D8637D00-5EAD-4538-9286-8C6DE346D8C8\"), _Schema.ProviderId);\n        Assert.AreEqual<string>(\"UAOOI-Networking-ReferenceApplication-Diagnostic\", _Schema.ProviderName);\n        Assert.AreEqual<string>(\"Infrastructure\", _Schema.TaskName);\n        Assert.AreEqual<EventTask>(Tasks.Infrastructure, _Schema.Task);\n        Assert.AreEqual<int>(0, _Schema.Version);\n\n        //Payload\n        Assert.AreEqual<string>(\"System.Collections.ObjectModel.ReadOnlyCollection`1[System.Object]\", _lastEvents[0].Payload.ToString(), _lastEvents[0].Payload.ToString());\n        Assert.AreEqual<int>(1, _lastEvents[0].Payload.Count);\n      }\n    }\n  }\n}\n"
  },
  {
    "path": "Networking/Tests/ReferenceApplicationUnitTest/MEF/BootstrapperBaseUnitTest.cs",
    "content": "﻿\nusing System;\nusing System.Windows;\nusing CommonServiceLocator;\nusing Microsoft.VisualStudio.TestTools.UnitTesting;\nusing UAOOI.Common.Infrastructure.Diagnostic;\nusing UAOOI.Networking.ReferenceApplication.MEF;\n\nnamespace UAOOI.Networking.ReferenceApplication.UnitTest.MEF\n{\n  [TestClass]\n  public class BootstrapperBaseUnitTest\n  {\n    [TestMethod]\n    public void LoggerDefaultsToNull()\n    {\n      TestBootstrapperBase _bootstrapper = new TestBootstrapperBase();\n      Assert.IsNull(_bootstrapper.BaseLogger);\n      Assert.IsNull(_bootstrapper.BaseShell);\n      Assert.IsNull(_bootstrapper.CallCreateShell());\n    }\n\n    [TestMethod]\n    public void CreateLoggerInitializesLogger()\n    {\n      TestBootstrapperBase _bootstrapper = new TestBootstrapperBase();\n      _bootstrapper.CallCreateLogger();\n      Assert.IsNotNull(_bootstrapper.BaseLogger);\n      Assert.IsInstanceOfType(_bootstrapper.BaseLogger, typeof(TraceSourceBase));\n    }\n    [TestMethod]\n    public void RegisterFrameworkExceptionTypesShouldRegisterActivationException()\n    {\n      TestBootstrapperBase _bootstrapper = new TestBootstrapperBase();\n      _bootstrapper.CallRegisterFrameworkExceptionTypes();\n      Assert.IsTrue(ExceptionExtensions.IsFrameworkExceptionRegistered(typeof(ActivationException)));\n    }\n    [TestMethod]\n    public void OnInitializedShouldRunLast()\n    {\n      TestBootstrapperBase _bootstrapper = new TestBootstrapperBase();\n      _bootstrapper.Run();\n      Assert.IsTrue(_bootstrapper.ExtraInitialization);\n    }\n    private class TestBootstrapperBase : BootstrapperBase\n    {\n\n      #region BootstrapperBase\n      protected override DependencyObject CreateShell()\n      {\n        throw new NotImplementedException();\n      }\n      protected override void InitializeShell()\n      {\n        throw new NotImplementedException();\n      }\n      protected override void OnInitialized()\n      {\n        ExtraInitialization = true;\n      }\n      public override void Run(bool runWithDefaultConfiguration)\n      {\n        Assert.IsTrue(runWithDefaultConfiguration);\n        Assert.IsFalse(this.ExtraInitialization);\n      }\n      #endregion\n\n      internal void CallCreateLogger()\n      {\n        this.Logger = base.CreateLogger();\n      }\n      internal void CallRegisterFrameworkExceptionTypes()\n      {\n        base.RegisterFrameworkExceptionTypes();\n      }\n      internal bool ExtraInitialization = false;\n      internal DependencyObject CallCreateShell()\n      {\n        return base.CreateShell();\n      }\n      internal ITraceSource BaseLogger { get { return base.Logger; } }\n      internal DependencyObject BaseShell { get { return base.Shell; } }\n\n    }\n\n  }\n}\n"
  },
  {
    "path": "Networking/Tests/ReferenceApplicationUnitTest/MEF/DefaultServiceRegistrarUnitTest.cs",
    "content": "﻿//___________________________________________________________________________________\n//\n//  Copyright (C) 2019, Mariusz Postol LODZ POLAND.\n//\n//  To be in touch join the community at GITTER: https://gitter.im/mpostol/OPC-UA-OOI\n//___________________________________________________________________________________\n\nusing CommonServiceLocator;\nusing Microsoft.VisualStudio.TestTools.UnitTesting;\nusing System.Collections.Generic;\nusing System.ComponentModel.Composition.Hosting;\nusing System.ComponentModel.Composition.Primitives;\nusing System.Diagnostics;\nusing System.Linq;\nusing UAOOI.Networking.Core;\nusing UAOOI.Networking.DataRepository.DataLogger;\nusing UAOOI.Networking.ReferenceApplication.Core;\nusing UAOOI.Networking.ReferenceApplication.MEF;\nusing UAOOI.Networking.SimulatorInteroperabilityTest;\n\nnamespace UAOOI.Networking.ReferenceApplication.UnitTest.MEF\n{\n  [TestClass]\n  public class DefaultServiceRegistrarUnitTest\n  {\n    [TestMethod]\n    public void RegisterRequiredServicesIfMissingNullArgumentTestM()\n    {\n      using (AggregateCatalog newCatalog = DefaultServiceRegistrar.RegisterServices(null)) { }\n    }\n\n    [TestMethod]\n    public void RegisterRequiredServicesIfMissingTest()\n    {\n      using (AggregateCatalog newCatalog = DefaultServiceRegistrar.RegisterServices(null))\n      {\n        using (CompositionContainer _container = new CompositionContainer(newCatalog))\n        {\n          foreach (ComposablePartDefinition _part in _container.Catalog.Parts)\n            foreach (ExportDefinition export in _part.ExportDefinitions)\n              Debug.WriteLine(string.Format(\"Part contract name => '{0}'\", export.ContractName));\n          Assert.AreEqual<int>(11, _container.Catalog.Parts.Count());\n          MainWindow _MainWindowExportedValue = _container.GetExportedValue<MainWindow>();\n          Assert.IsNotNull(_MainWindowExportedValue);\n          Assert.IsNotNull(_MainWindowExportedValue.MainWindowViewModel);\n          IEnumerable<INetworkingEventSourceProvider> _diagnosticProviders = _container.GetExportedValues<INetworkingEventSourceProvider>();\n          Assert.AreEqual<int>(3, _diagnosticProviders.Count<INetworkingEventSourceProvider>());\n        }\n      }\n    }\n\n    [TestMethod]\n    [DeploymentItem(@\".\\ConfigurationDataConsumer.xml\", @\".\\\")]\n    public void RegisterRequiredServicesIfMissingAndUDPMessageHandler()\n    {\n      AggregateCatalog _catalog = new AggregateCatalog(new AssemblyCatalog(\"UAOOI.Networking.UDPMessageHandler.dll\"), new AssemblyCatalog(\"UAOOI.Networking.SimulatorInteroperabilityTest.dll\"));\n      AggregateCatalog _newCatalog = DefaultServiceRegistrar.RegisterServices(_catalog);\n      int _disposingCount = 0;\n      using (CompositionContainer _container = new CompositionContainer(_newCatalog))\n      {\n        IServiceLocator _serviceLocator = new ServiceLocatorAdapter(_container);\n        ServiceLocator.SetLocatorProvider(() => _serviceLocator);\n        Assert.AreEqual<int>(14, _container.Catalog.Parts.Count<ComposablePartDefinition>());\n        foreach (ComposablePartDefinition _part in _container.Catalog.Parts)\n        {\n          Debug.WriteLine($\"New Part: {string.Join(\", \", _part.Metadata.Keys.ToArray<string>())}\");\n          foreach (ImportDefinition _import in _part.ImportDefinitions)\n            Debug.WriteLine(string.Format(\"Imported contracts name => '{0}'\", _import.ContractName));\n          foreach (ExportDefinition _export in _part.ExportDefinitions)\n            Debug.WriteLine(string.Format(\"Exported contracts name => '{0}'\", _export.ContractName));\n        }\n        //UDPMessageHandler\n        IMessageHandlerFactory _messageHandlerFactory = _container.GetExportedValue<IMessageHandlerFactory>();\n        Assert.IsNotNull(_messageHandlerFactory);\n        INetworkingEventSourceProvider _baseEventSource = _messageHandlerFactory as INetworkingEventSourceProvider;\n        Assert.IsNull(_baseEventSource);\n        IEnumerable<INetworkingEventSourceProvider> _diagnosticProviders = _container.GetExportedValues<INetworkingEventSourceProvider>();\n        Assert.AreEqual<int>(4, _diagnosticProviders.Count<INetworkingEventSourceProvider>());\n        // DataLogger\n        EventSourceBootstrapper _eventSourceBootstrapper = _container.GetExportedValue<EventSourceBootstrapper>();\n        LoggerManagementSetup _logger = _container.GetExportedValue<LoggerManagementSetup>();\n        _logger.DisposeCheck(x => _disposingCount++);\n        Assert.IsNotNull(_logger.BindingFactory);\n        Assert.IsNotNull(_logger.ConfigurationFactory);\n        Assert.IsNotNull(_logger.EncodingFactory);\n        Assert.IsNotNull(_logger.MessageHandlerFactory);\n        SimulatorDataManagementSetup _simulator = _container.GetExportedValue<IDataRepositoryStartup>() as SimulatorDataManagementSetup;\n        Assert.IsNotNull(_simulator);\n        Assert.IsNotNull(_simulator.BindingFactory);\n        Assert.IsNotNull(_simulator.ConfigurationFactory);\n        Assert.IsNotNull(_simulator.EncodingFactory);\n        Assert.IsNotNull(_simulator.MessageHandlerFactory);\n        _simulator.DisposeCheck(x => _disposingCount++);\n        Assert.AreEqual<int>(0, _disposingCount);\n      }\n      Assert.AreEqual<int>(2, _disposingCount);\n    }\n  }\n}"
  },
  {
    "path": "Networking/Tests/ReferenceApplicationUnitTest/MEF/MefBootstrapperUnitTest.cs",
    "content": "﻿using System.Collections.Generic;\nusing System.ComponentModel.Composition.Hosting;\nusing System.Windows;\nusing CommonServiceLocator;\nusing Microsoft.VisualStudio.TestTools.UnitTesting;\nusing UAOOI.Common.Infrastructure.Diagnostic;\nusing UAOOI.Networking.ReferenceApplication.MEF;\n\nnamespace UAOOI.Networking.ReferenceApplication.UnitTest.MEF\n{\n  [TestClass]\n  [DeploymentItem(\"UAOOI.Networking.UDPMessageHandler.dll\")]\n  public class MefBootstrapperUnitTest\n  {\n\n    [TestMethod]\n    public void TestMefBootstrapperConstructor()\n    {\n\n      TestMefBootstrapper _newMefBootstrapper = new TestMefBootstrapper();\n      _newMefBootstrapper.TestStartupState();\n      _newMefBootstrapper.Run();\n      _newMefBootstrapper.TestAfterRunState();\n    }\n    private class TestMefBootstrapper : MefBootstrapper\n    {\n\n      protected override void ConfigureAggregateCatalog()\n      {\n        m_CallSequence.Add(nameof(ConfigureAggregateCatalog));\n        base.ConfigureAggregateCatalog();\n      }\n      protected override void ConfigureContainer()\n      {\n        m_CallSequence.Add(nameof(ConfigureContainer));\n        base.ConfigureContainer();\n      }\n      protected override AggregateCatalog CreateAggregateCatalog()\n      {\n        m_CallSequence.Add(nameof(CreateAggregateCatalog));\n        return base.CreateAggregateCatalog();\n      }\n      protected override CompositionContainer CreateContainer()\n      {\n        m_CallSequence.Add(nameof(CreateContainer));\n        return base.CreateContainer();\n      }\n      protected override ITraceSource CreateLogger()\n      {\n        m_CallSequence.Add(nameof(CreateLogger));\n        return base.CreateLogger();\n      }\n      protected override DependencyObject CreateShell()\n      {\n        m_CallSequence.Add(nameof(CreateShell));\n        return base.CreateShell();\n      }\n      protected override void InitializeShell()\n      {\n        m_CallSequence.Add(nameof(InitializeShell));\n        base.InitializeShell();\n      }\n      protected override void OnInitialized()\n      {\n        m_CallSequence.Add(nameof(OnInitialized));\n        m_ExternalInitialization = true;\n      }\n      protected override void RegisterBootstrapperProvidedTypes()\n      {\n        m_CallSequence.Add(nameof(RegisterBootstrapperProvidedTypes));\n        base.RegisterBootstrapperProvidedTypes();\n      }\n      public override void RegisterDefaultTypesIfMissing()\n      {\n        m_CallSequence.Add(nameof(RegisterDefaultTypesIfMissing));\n        base.RegisterDefaultTypesIfMissing();\n      }\n      protected override void RegisterFrameworkExceptionTypes()\n      {\n        m_CallSequence.Add(nameof(RegisterFrameworkExceptionTypes));\n        base.RegisterFrameworkExceptionTypes();\n      }\n      public override void Run(bool runWithDefaultConfiguration)\n      {\n        m_CallSequence.Add(nameof(Run));\n        base.Run(runWithDefaultConfiguration);\n      }\n\n      #region UT instrumentation\n      internal void TestStartupState()\n      {\n        Assert.IsNull(this.AggregateCatalog);\n        Assert.IsNull(this.Container);\n        Assert.IsNull(this.Logger);\n        Assert.IsNull(this.Shell);\n        Assert.IsFalse(m_ExternalInitialization);\n        Assert.AreEqual<int>(0, m_CallSequence.Count);\n      }\n      internal void TestAfterRunState()\n      {\n        Assert.IsTrue(m_ExternalInitialization);\n        Assert.IsNotNull(this.AggregateCatalog);\n        Assert.IsNotNull(this.Container);\n        Assert.IsNotNull(this.Logger);\n        Assert.IsNull(this.Shell);\n        Assert.AreEqual<int>(12, m_CallSequence.Count);\n        int i = 0;\n        Assert.AreEqual<string>(nameof(Run), m_CallSequence[i++]);\n        Assert.AreEqual<string>(nameof(CreateLogger), m_CallSequence[i++]);\n        Assert.AreEqual<string>(nameof(CreateAggregateCatalog), m_CallSequence[i++]);\n        Assert.AreEqual<string>(nameof(ConfigureAggregateCatalog), m_CallSequence[i++]);\n        Assert.AreEqual<string>(nameof(RegisterDefaultTypesIfMissing), m_CallSequence[i++]);\n        Assert.AreEqual<string>(nameof(CreateContainer), m_CallSequence[i++]);\n        Assert.AreEqual<string>(nameof(ConfigureContainer), m_CallSequence[i++]);\n        Assert.AreEqual<string>(nameof(RegisterBootstrapperProvidedTypes), m_CallSequence[i++]);\n        Assert.AreEqual<string>(nameof(RegisterFrameworkExceptionTypes), m_CallSequence[i++]);\n        Assert.AreEqual<string>(nameof(CreateShell), m_CallSequence[i++]);\n        Assert.AreEqual<string>(nameof(InitializeShell), m_CallSequence[i++]);\n        Assert.AreEqual<string>(nameof(OnInitialized), m_CallSequence[i++]);\n        Assert.IsTrue(ServiceLocator.IsLocationProviderSet);\n        MainWindow _MainWindow = ServiceLocator.Current.GetInstance<MainWindow>();\n        Assert.IsNotNull(_MainWindow);\n        MainWindowViewModel _MainWindowViewModel = ServiceLocator.Current.GetInstance<MainWindowViewModel>();\n        Assert.IsNotNull(_MainWindowViewModel);\n      }\n      private bool m_ExternalInitialization = false;\n      private List<string> m_CallSequence = new List<string>();\n      #endregion\n\n    }\n\n  }\n}\n"
  },
  {
    "path": "Networking/Tests/ReferenceApplicationUnitTest/MainWindowViewModelUnitTest.cs",
    "content": "﻿\nusing Microsoft.VisualStudio.TestTools.UnitTesting;\n\nnamespace UAOOI.Networking.ReferenceApplication.UnitTest\n{\n  [TestClass]\n  public class MainWindowViewModelUnitTest\n  {\n    [Microsoft.VisualStudio.TestTools.UnitTesting.TestInitialize]\n    public void Initialize()\n    {\n      //GalaSoft.MvvmLight.Threading.DispatcherHelper.Initialize();\n    }\n\n  }\n}\n"
  },
  {
    "path": "Networking/Tests/ReferenceApplicationUnitTest/Networking.ReferenceApplication.UnitTest.csproj",
    "content": "﻿<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<Project ToolsVersion=\"14.0\" DefaultTargets=\"Build\" xmlns=\"http://schemas.microsoft.com/developer/msbuild/2003\">\n  <PropertyGroup>\n    <Configuration Condition=\" '$(Configuration)' == '' \">Debug</Configuration>\n    <Platform Condition=\" '$(Platform)' == '' \">AnyCPU</Platform>\n    <ProjectGuid>{ED278519-D497-47AE-8EB1-5826904AF6B1}</ProjectGuid>\n    <OutputType>Library</OutputType>\n    <AppDesignerFolder>Properties</AppDesignerFolder>\n    <RootNamespace>UAOOI.Networking.ReferenceApplication.UnitTest</RootNamespace>\n    <AssemblyName>UAOOI.Networking.ReferenceApplication.UnitTest</AssemblyName>\n    <TargetFrameworkVersion>v4.7.2</TargetFrameworkVersion>\n    <FileAlignment>512</FileAlignment>\n    <ProjectTypeGuids>{3AC096D0-A1C2-E12C-1390-A8335801FDAB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>\n    <VisualStudioVersion Condition=\"'$(VisualStudioVersion)' == ''\">10.0</VisualStudioVersion>\n    <VSToolsPath Condition=\"'$(VSToolsPath)' == ''\">$(MSBuildExtensionsPath32)\\Microsoft\\VisualStudio\\v$(VisualStudioVersion)</VSToolsPath>\n    <ReferencePath>$(ProgramFiles)\\Common Files\\microsoft shared\\VSTT\\$(VisualStudioVersion)\\UITestExtensionPackages</ReferencePath>\n    <IsCodedUITest>False</IsCodedUITest>\n    <TestProjectType>UnitTest</TestProjectType>\n    <TargetFrameworkProfile />\n  </PropertyGroup>\n  <PropertyGroup Condition=\" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' \">\n    <DebugSymbols>true</DebugSymbols>\n    <DebugType>full</DebugType>\n    <Optimize>false</Optimize>\n    <OutputPath>bin\\Debug\\</OutputPath>\n    <DefineConstants>DEBUG;TRACE</DefineConstants>\n    <ErrorReport>prompt</ErrorReport>\n    <WarningLevel>4</WarningLevel>\n    <NoWarn>IDE0001,IDE0003</NoWarn>\n    <UseVSHostingProcess>false</UseVSHostingProcess>\n  </PropertyGroup>\n  <PropertyGroup Condition=\" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' \">\n    <DebugType>pdbonly</DebugType>\n    <Optimize>true</Optimize>\n    <OutputPath>bin\\Release\\</OutputPath>\n    <DefineConstants>TRACE</DefineConstants>\n    <ErrorReport>prompt</ErrorReport>\n    <WarningLevel>4</WarningLevel>\n  </PropertyGroup>\n  <PropertyGroup>\n    <SignAssembly>true</SignAssembly>\n  </PropertyGroup>\n  <PropertyGroup>\n    <AssemblyOriginatorKeyFile>OPCUAOOIKey.snk</AssemblyOriginatorKeyFile>\n  </PropertyGroup>\n  <ItemGroup>\n    <Reference Include=\"CommonServiceLocator, Version=2.0.6.0, Culture=neutral, PublicKeyToken=489b6accfaf20ef0, processorArchitecture=MSIL\">\n      <HintPath>..\\..\\..\\packages\\CommonServiceLocator.2.0.6\\lib\\net47\\CommonServiceLocator.dll</HintPath>\n    </Reference>\n    <Reference Include=\"Microsoft.Practices.EnterpriseLibrary.SemanticLogging, Version=2.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL\">\n      <HintPath>..\\..\\..\\packages\\EnterpriseLibrary.SemanticLogging.2.0.1406.1\\lib\\net45\\Microsoft.Practices.EnterpriseLibrary.SemanticLogging.dll</HintPath>\n    </Reference>\n    <Reference Include=\"Newtonsoft.Json, Version=13.0.0.0, Culture=neutral, PublicKeyToken=30ad4fe6b2a6aeed, processorArchitecture=MSIL\">\n      <HintPath>..\\..\\..\\packages\\Newtonsoft.Json.13.0.1\\lib\\net45\\Newtonsoft.Json.dll</HintPath>\n    </Reference>\n    <Reference Include=\"System\" />\n    <Reference Include=\"System.ComponentModel.Composition\" />\n    <Reference Include=\"System.Diagnostics.TraceSource, Version=4.0.1.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL\">\n      <HintPath>..\\..\\..\\packages\\System.Diagnostics.TraceSource.4.3.0\\lib\\net46\\System.Diagnostics.TraceSource.dll</HintPath>\n      <Private>True</Private>\n      <Private>True</Private>\n    </Reference>\n    <Reference Include=\"System.Reactive, Version=5.0.0.0, Culture=neutral, PublicKeyToken=94bc3704cddfc263, processorArchitecture=MSIL\">\n      <HintPath>..\\..\\..\\packages\\System.Reactive.5.0.0\\lib\\net472\\System.Reactive.dll</HintPath>\n    </Reference>\n    <Reference Include=\"System.Reactive.Core, Version=3.0.6000.0, Culture=neutral, PublicKeyToken=94bc3704cddfc263, processorArchitecture=MSIL\">\n      <HintPath>..\\..\\..\\packages\\System.Reactive.Core.5.0.0\\lib\\net472\\System.Reactive.Core.dll</HintPath>\n    </Reference>\n    <Reference Include=\"System.Reactive.Interfaces, Version=3.0.6000.0, Culture=neutral, PublicKeyToken=94bc3704cddfc263, processorArchitecture=MSIL\">\n      <HintPath>..\\..\\..\\packages\\System.Reactive.Interfaces.5.0.0\\lib\\net472\\System.Reactive.Interfaces.dll</HintPath>\n    </Reference>\n    <Reference Include=\"System.Runtime.CompilerServices.Unsafe, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL\">\n      <HintPath>..\\..\\..\\packages\\System.Runtime.CompilerServices.Unsafe.6.0.0\\lib\\net461\\System.Runtime.CompilerServices.Unsafe.dll</HintPath>\n    </Reference>\n    <Reference Include=\"System.Threading.Tasks.Extensions, Version=4.2.0.1, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL\">\n      <HintPath>..\\..\\..\\packages\\System.Threading.Tasks.Extensions.4.5.4\\lib\\net461\\System.Threading.Tasks.Extensions.dll</HintPath>\n    </Reference>\n    <Reference Include=\"System.ValueTuple, Version=4.0.3.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL\">\n      <HintPath>..\\..\\..\\packages\\System.ValueTuple.4.5.0\\lib\\net47\\System.ValueTuple.dll</HintPath>\n    </Reference>\n    <Reference Include=\"System.Windows\" />\n    <Reference Include=\"System.Windows.Forms\" />\n    <Reference Include=\"System.Xml\" />\n    <Reference Include=\"UAOOI.Common.Infrastructure, Version=6.4.6.0, Culture=neutral, PublicKeyToken=deede3c2df331bb0, processorArchitecture=MSIL\">\n      <HintPath>..\\..\\..\\packages\\UAOOI.Common.Infrastructure.6.4.7\\lib\\netstandard2.0\\UAOOI.Common.Infrastructure.dll</HintPath>\n    </Reference>\n    <Reference Include=\"UAOOI.Networking.Core, Version=4.0.2.0, Culture=neutral, PublicKeyToken=deede3c2df331bb0, processorArchitecture=MSIL\">\n      <HintPath>..\\..\\..\\packages\\UAOOI.Networking.Core.4.0.2\\lib\\netstandard2.0\\UAOOI.Networking.Core.dll</HintPath>\n    </Reference>\n    <Reference Include=\"WindowsBase\" />\n  </ItemGroup>\n  <Choose>\n    <When Condition=\"('$(VisualStudioVersion)' == '10.0' or '$(VisualStudioVersion)' == '') and '$(TargetFrameworkVersion)' == 'v3.5'\">\n      <ItemGroup>\n        <Reference Include=\"Microsoft.VisualStudio.QualityTools.UnitTestFramework, Version=10.1.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL\" />\n      </ItemGroup>\n    </When>\n    <Otherwise>\n      <ItemGroup>\n        <Reference Include=\"Microsoft.VisualStudio.QualityTools.UnitTestFramework\">\n          <Private>False</Private>\n        </Reference>\n      </ItemGroup>\n    </Otherwise>\n  </Choose>\n  <ItemGroup>\n    <Compile Include=\"Diagnostic\\ReferenceApplicationEventSourceUnitTest.cs\" />\n    <Compile Include=\"MEF\\MefBootstrapperUnitTest.cs\" />\n    <Compile Include=\"MEF\\BootstrapperBaseUnitTest.cs\" />\n    <Compile Include=\"MEF\\DefaultServiceRegistrarUnitTest.cs\" />\n    <Compile Include=\"Properties\\AssemblyInfo.cs\" />\n    <Compile Include=\"MainWindowViewModelUnitTest.cs\" />\n    <Compile Include=\"ApplicationSettingsUnitTest1.cs\" />\n  </ItemGroup>\n  <ItemGroup>\n    <ProjectReference Include=\"..\\..\\..\\Configuration\\Networking\\Configuration.Networking.csproj\">\n      <Project>{e28e0880-03aa-4d1b-a820-41b04e766019}</Project>\n      <Name>Configuration.Networking</Name>\n    </ProjectReference>\n    <ProjectReference Include=\"..\\..\\Core\\Networking.Core.csproj\">\n      <Project>{afcca7c9-47fe-4fb6-935e-12d686eec58f}</Project>\n      <Name>Networking.Core</Name>\n    </ProjectReference>\n    <ProjectReference Include=\"..\\..\\DataRepository\\DataLogger\\Networking.DataLogger.csproj\">\n      <Project>{3781B8CA-3128-45DC-89C9-981740357630}</Project>\n      <Name>Networking.DataLogger</Name>\n    </ProjectReference>\n    <ProjectReference Include=\"..\\..\\ReferenceApplication.Core\\Networking.ReferenceApplication.Core.csproj\">\n      <Project>{2238851E-4DB8-46B0-B38D-0E2315FE153E}</Project>\n      <Name>Networking.ReferenceApplication.Core</Name>\n    </ProjectReference>\n    <ProjectReference Include=\"..\\..\\ReferenceApplication\\Networking.ReferenceApplication.csproj\">\n      <Project>{f0accb28-ae0d-4e19-94fa-7be3044f1eeb}</Project>\n      <Name>Networking.ReferenceApplication</Name>\n    </ProjectReference>\n    <ProjectReference Include=\"..\\..\\SemanticData\\Networking.SemanticData.csproj\">\n      <Project>{7f4ded4e-5933-4229-b9cc-51da49678904}</Project>\n      <Name>Networking.SemanticData</Name>\n    </ProjectReference>\n    <ProjectReference Include=\"..\\..\\SimulatorInteroperabilityTest\\Networking.SimulatorInteroperabilityTest.csproj\">\n      <Project>{5D2A0688-95E3-400A-B789-49052389D2B1}</Project>\n      <Name>Networking.SimulatorInteroperabilityTest</Name>\n    </ProjectReference>\n    <ProjectReference Include=\"..\\..\\UDPMessageHandler\\Networking.UDPMessageHandler.csproj\">\n      <Project>{D2EB89F9-321E-46E4-BA79-679138B82B23}</Project>\n      <Name>Networking.UDPMessageHandler</Name>\n    </ProjectReference>\n  </ItemGroup>\n  <ItemGroup>\n    <None Include=\"app.config\">\n      <SubType>Designer</SubType>\n    </None>\n    <None Include=\"OPCUAOOIKey.snk\" />\n    <None Include=\"packages.config\" />\n  </ItemGroup>\n  <Choose>\n    <When Condition=\"'$(VisualStudioVersion)' == '10.0' And '$(IsCodedUITest)' == 'True'\">\n      <ItemGroup>\n        <Reference Include=\"Microsoft.VisualStudio.QualityTools.CodedUITestFramework, Version=10.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL\">\n          <Private>False</Private>\n        </Reference>\n        <Reference Include=\"Microsoft.VisualStudio.TestTools.UITest.Common, Version=10.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL\">\n          <Private>False</Private>\n        </Reference>\n        <Reference Include=\"Microsoft.VisualStudio.TestTools.UITest.Extension, Version=10.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL\">\n          <Private>False</Private>\n        </Reference>\n        <Reference Include=\"Microsoft.VisualStudio.TestTools.UITesting, Version=10.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL\">\n          <Private>False</Private>\n        </Reference>\n      </ItemGroup>\n    </When>\n  </Choose>\n  <Import Project=\"$(VSToolsPath)\\TeamTest\\Microsoft.TestTools.targets\" Condition=\"Exists('$(VSToolsPath)\\TeamTest\\Microsoft.TestTools.targets')\" />\n  <Import Project=\"$(MSBuildToolsPath)\\Microsoft.CSharp.targets\" />\n  <!-- To modify your build process, add your task inside one of the targets below and uncomment it. \n       Other similar extension points exist, see Microsoft.Common.targets.\n  <Target Name=\"BeforeBuild\">\n  </Target>\n  <Target Name=\"AfterBuild\">\n  </Target>\n  -->\n</Project>"
  },
  {
    "path": "Networking/Tests/ReferenceApplicationUnitTest/Properties/AssemblyInfo.cs",
    "content": "﻿//___________________________________________________________________________________\n//\n//  Copyright (C) 2019, Mariusz Postol LODZ POLAND.\n//\n//  To be in touch join the community at GITTER: https://gitter.im/mpostol/OPC-UA-OOI\n//___________________________________________________________________________________\n\nusing System.Reflection;\nusing System.Runtime.InteropServices;\n\n[assembly: AssemblyTitle(\"UANetworkingReferenceApplicationUnitTest\")]\n[assembly: AssemblyDescription(\"OPC UA Networking Reference Application Unit Test\")]\n[assembly: AssemblyConfiguration(\"\")]\n[assembly: AssemblyCompany(\"commsvr.com\")]\n[assembly: AssemblyProduct(\"Object Oriented Internet\")]\n[assembly: AssemblyCopyright(\"Copyright © MPostol 2018\")]\n[assembly: AssemblyTrademark(\"\")]\n[assembly: AssemblyCulture(\"\")]\n[assembly: Guid(\"ed278519-d497-47ae-8eb1-5826904af6b1\")]\n[assembly: AssemblyVersion(\"4.0.1.*\")]\n[assembly: AssemblyFileVersion(\"4.0.1.0\")]\n"
  },
  {
    "path": "Networking/Tests/ReferenceApplicationUnitTest/app.config",
    "content": "﻿<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<configuration>\n  <startup>\n    <supportedRuntime version=\"v4.0\" sku=\".NETFramework,Version=v4.7.2\" />\n  </startup>\n  <runtime>\n    <assemblyBinding xmlns=\"urn:schemas-microsoft-com:asm.v1\">\n      <dependentAssembly>\n        <assemblyIdentity name=\"Newtonsoft.Json\" publicKeyToken=\"30ad4fe6b2a6aeed\" culture=\"neutral\" />\n        <bindingRedirect oldVersion=\"0.0.0.0-13.0.0.0\" newVersion=\"13.0.0.0\" />\n      </dependentAssembly>\n      <dependentAssembly>\n        <assemblyIdentity name=\"System.Threading.Tasks.Extensions\" publicKeyToken=\"cc7b13ffcd2ddd51\" culture=\"neutral\" />\n        <bindingRedirect oldVersion=\"0.0.0.0-4.2.0.1\" newVersion=\"4.2.0.1\" />\n      </dependentAssembly>\n      <dependentAssembly>\n        <assemblyIdentity name=\"System.Runtime.CompilerServices.Unsafe\" publicKeyToken=\"b03f5f7f11d50a3a\" culture=\"neutral\" />\n        <bindingRedirect oldVersion=\"0.0.0.0-6.0.0.0\" newVersion=\"6.0.0.0\" />\n      </dependentAssembly>\n      <dependentAssembly>\n        <assemblyIdentity name=\"CommonServiceLocator\" publicKeyToken=\"489b6accfaf20ef0\" culture=\"neutral\" />\n        <bindingRedirect oldVersion=\"0.0.0.0-2.0.6.0\" newVersion=\"2.0.6.0\" />\n      </dependentAssembly>\n      <dependentAssembly>\n        <assemblyIdentity name=\"System.ValueTuple\" publicKeyToken=\"cc7b13ffcd2ddd51\" culture=\"neutral\" />\n        <bindingRedirect oldVersion=\"0.0.0.0-4.0.3.0\" newVersion=\"4.0.3.0\" />\n      </dependentAssembly>\n      <dependentAssembly>\n        <assemblyIdentity name=\"System.Reactive\" publicKeyToken=\"94bc3704cddfc263\" culture=\"neutral\" />\n        <bindingRedirect oldVersion=\"0.0.0.0-4.4.0.0\" newVersion=\"4.4.0.0\" />\n      </dependentAssembly>\n      <dependentAssembly>\n        <assemblyIdentity name=\"UAOOI.Common.Infrastructure\" publicKeyToken=\"deede3c2df331bb0\" culture=\"neutral\" />\n        <bindingRedirect oldVersion=\"0.0.0.0-4.0.2.0\" newVersion=\"4.0.2.0\" />\n      </dependentAssembly>\n    </assemblyBinding>\n  </runtime>\n</configuration>"
  },
  {
    "path": "Networking/Tests/ReferenceApplicationUnitTest/packages.config",
    "content": "﻿<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<packages>\n  <package id=\"CommonServiceLocator\" version=\"2.0.6\" targetFramework=\"net472\" />\n  <package id=\"EnterpriseLibrary.SemanticLogging\" version=\"2.0.1406.1\" targetFramework=\"net461\" />\n  <package id=\"Newtonsoft.Json\" version=\"13.0.1\" targetFramework=\"net472\" />\n  <package id=\"System.Diagnostics.TraceSource\" version=\"4.3.0\" targetFramework=\"net461\" />\n  <package id=\"System.Reactive\" version=\"5.0.0\" targetFramework=\"net472\" />\n  <package id=\"System.Reactive.Core\" version=\"5.0.0\" targetFramework=\"net472\" />\n  <package id=\"System.Reactive.Interfaces\" version=\"5.0.0\" targetFramework=\"net472\" />\n  <package id=\"System.Runtime.CompilerServices.Unsafe\" version=\"6.0.0\" targetFramework=\"net472\" />\n  <package id=\"System.Threading.Tasks.Extensions\" version=\"4.5.4\" targetFramework=\"net472\" />\n  <package id=\"System.ValueTuple\" version=\"4.5.0\" targetFramework=\"net472\" />\n  <package id=\"UAOOI.Common.Infrastructure\" version=\"6.4.7\" targetFramework=\"net472\" />\n</packages>"
  },
  {
    "path": "Networking/Tests/SemanticDatalUnitTest/AssociationUnitTest.cs",
    "content": "﻿//___________________________________________________________________________________\n//\n//  Copyright (C) 2019, Mariusz Postol LODZ POLAND.\n//\n//  To be in touch join the community at GITTER: https://gitter.im/mpostol/OPC-UA-OOI\n//___________________________________________________________________________________\n\nusing Microsoft.VisualStudio.TestTools.UnitTesting;\nusing System;\nusing System.Collections.Generic;\nusing UAOOI.Configuration.Networking.Serialization;\nusing UAOOI.Networking.Core;\nusing UAOOI.Networking.SemanticData.Common;\nusing UAOOI.Networking.SemanticData.DataRepository;\nusing UAOOI.Networking.SemanticData.Encoding;\nusing UAOOI.Networking.SemanticData.MessageHandling;\nusing UAOOI.Networking.SemanticData.UnitTest.Simulator;\n\nnamespace UAOOI.Networking.SemanticData.UnitTest\n{\n\n  [TestClass]\n  public class AssociationUnitTest\n  {\n    #region test\n\n    #region Association\n    [TestMethod]\n    [ExpectedException(typeof(NullReferenceException))]\n    [TestCategory(\"DataManagement_Association\")]\n    public void AssociationCreatorTestMethod1()\n    {\n      TestAssociation _nt = new TestAssociation(null, null);\n    }\n    [TestMethod]\n    [ExpectedException(typeof(NullReferenceException))]\n    [TestCategory(\"DataManagement_Association\")]\n    public void AssociationCreatorTestMethod2()\n    {\n      ISemanticData _testISemanticData = new TestISemanticData();\n      Assert.IsNotNull(_testISemanticData);\n      TestAssociation _nt = new TestAssociation(_testISemanticData, null);\n    }\n    [TestMethod]\n    [TestCategory(\"DataManagement_Association\")]\n    public void AssociationCreatorTestMethod4()\n    {\n      string _alias = \"AssociationCreatorTestMethod4\";\n      ISemanticData _testISemanticData = new TestISemanticData();\n      Assert.IsNotNull(_testISemanticData);\n      TestAssociation _nt = new TestAssociation(_testISemanticData, _alias);\n      Assert.IsNotNull(_nt);\n      Assert.IsNotNull(_nt.DataDescriptor);\n      Assert.IsNotNull(_nt.DataDescriptor.Identifier);\n      Assert.IsNotNull(_nt.State);\n      Assert.AreNotEqual<Guid>(Guid.Empty, _nt.Id);\n      Assert.AreEqual<HandlerState>(HandlerState.NoConfiguration, _nt.State.State);\n      Assert.AreEqual<string>(_alias, _nt.ToString());\n    }\n    [TestMethod]\n    [TestCategory(\"DataManagement_Association\")]\n    public void AssociationCompareToTestMethod()\n    {\n      ISemanticData _testISemanticData0 = new TestISemanticData(\"TestISemanticData1\", 0, Guid.Parse(@\"{9912B722-304D-438F-8538-3C6F98068E66}\"));\n      Assert.IsNotNull(_testISemanticData0);\n      TestAssociation _nt0 = new TestAssociation(_testISemanticData0, \"AssociationCompareToTestMethod0\");\n      Assert.IsNotNull(_nt0);\n      Assert.AreEqual<int>(0, _nt0.CompareTo(_nt0));\n      ISemanticData _testISemanticData1 = new TestISemanticData(\"TestISemanticData0\", 0, Guid.Parse(@\"{9912B722-304D-438F-8538-3C6F98068E65}\"));\n      Assert.IsNotNull(_testISemanticData1);\n      TestAssociation _nt1 = new TestAssociation(_testISemanticData1, \"AssociationCompareToTestMethod1\");\n      Assert.IsNotNull(_nt1);\n      Assert.AreEqual<int>(-1, _nt1.CompareTo(_nt0));\n      Assert.AreEqual<int>(1, _nt0.CompareTo(_nt1));\n    }\n    [TestMethod]\n    [TestCategory(\"DataManagement_Association\")]\n    [ExpectedException(typeof(InvalidOperationException))]\n    public void AssociationStateDisableTestMethod()\n    {\n      ISemanticData _testISemanticData = new TestISemanticData();\n      Assert.IsNotNull(_testISemanticData);\n      TestAssociation _nt = new TestAssociation(_testISemanticData, \"AssociationStateDisableTestMethod\");\n      Assert.IsNotNull(_nt);\n      _nt.State.Disable();\n    }\n    [TestMethod]\n    [TestCategory(\"DataManagement_Association\")]\n    [ExpectedException(typeof(InvalidOperationException))]\n    public void AssociationStateEnableTestMethod()\n    {\n      ISemanticData _testISemanticData = new TestISemanticData();\n      Assert.IsNotNull(_testISemanticData);\n      TestAssociation _nt = new TestAssociation(_testISemanticData, \"AssociationStateEnableTestMethod\");\n      Assert.IsNotNull(_nt);\n      _nt.State.Enable();\n    }\n    [TestMethod]\n    [TestCategory(\"DataManagement_Association\")]\n    public void AssociationInitializeMethod()\n    {\n      ISemanticData _testISemanticData = new TestISemanticData();\n      Assert.IsNotNull(_testISemanticData);\n      TestAssociation _nt = new TestAssociation(_testISemanticData, \"AssociationInitializeMethod\");\n      Assert.IsNotNull(_nt);\n      int _eventsCount = 0;\n      HandlerState _lastState = default(HandlerState);\n      _nt.StateChangedEventHandler += (x, y) => { _eventsCount++; _lastState = y.State; };\n      Assert.AreEqual<HandlerState>(HandlerState.NoConfiguration, _nt.State.State);\n      Assert.AreEqual<int>(0, _eventsCount);\n      _nt.Initialize();\n      Assert.AreEqual<int>(1, _eventsCount);\n      Assert.IsNotNull(_lastState);\n      Assert.AreEqual<HandlerState>(HandlerState.Disabled, _lastState);\n      Assert.AreEqual<HandlerState>(HandlerState.Disabled, _nt.State.State);\n      _nt.State.Enable();\n      Assert.AreEqual<int>(2, _eventsCount);\n      Assert.IsNotNull(_lastState);\n      Assert.AreEqual<HandlerState>(HandlerState.Operational, _lastState);\n      Assert.AreEqual<HandlerState>(HandlerState.Operational, _nt.State.State);\n      _nt.State.Disable();\n      Assert.AreEqual<int>(3, _eventsCount);\n      Assert.IsNotNull(_lastState);\n      Assert.AreEqual<HandlerState>(HandlerState.Disabled, _lastState);\n      Assert.AreEqual<HandlerState>(HandlerState.Disabled, _nt.State.State);\n    }\n    [TestMethod]\n    [TestCategory(\"DataManagement_Association\")]\n    [ExpectedException(typeof(InvalidOperationException))]\n    public void AssociationInitializeMethod2()\n    {\n      ISemanticData _testISemanticData = new TestISemanticData();\n      Assert.IsNotNull(_testISemanticData);\n      TestAssociation _nt = new TestAssociation(_testISemanticData, \"AssociationInitializeMethod2\", false);\n      Assert.IsNotNull(_nt);\n      int _eventsCount = 0;\n      HandlerState _lastState = default(HandlerState);\n      _nt.StateChangedEventHandler += (x, y) => { _eventsCount++; _lastState = y.State; };\n      Assert.AreEqual<HandlerState>(HandlerState.NoConfiguration, _nt.State.State);\n      _nt.Initialize();\n      Assert.AreEqual<int>(1, _eventsCount);\n      Assert.IsNotNull(_lastState);\n      Assert.AreEqual<HandlerState>(HandlerState.Error, _lastState);\n      Assert.AreEqual<HandlerState>(HandlerState.Error, _nt.State.State);\n      _nt.State.Enable();\n    }\n    #endregion\n\n    #region ConsumerAssociation\n    [TestMethod]\n    [TestCategory(\"DataManagement_Association\")]\n    public void ConsumerAssociationCreatorTestMethod()\n    {\n      ConsumerAssociation _ca = new ConsumerAssociation(new SemanticData(), PersistentConfiguration.GetAssociationConfiguration(), new BindingFactory(Repository), new IEF());\n      Assert.IsNotNull(_ca);\n    }\n    #endregion\n\n    #endregion\n\n    #region private\n    private class TestAssociation : Association\n    {\n      public TestAssociation(ISemanticData data, string aliasName, bool success)\n        : base(data, aliasName)\n      {\n        m_Success = success;\n      }\n      public TestAssociation(ISemanticData data, string aliasName)\n        : this(data, aliasName, true)\n      { }\n      protected override void InitializeCommunication()\n      {\n        if (!m_Success)\n          throw new InvalidOperationException(\"Wrong configuration\");\n      }\n      public Guid Id { get { return DataDescriptor.Guid; } }\n      protected override void OnEnabling() { }\n      protected override void OnDisabling() { }\n      private bool m_Success = false;\n      protected internal override void AddMessageHandler(IMessageHandler messageHandler, AssociationConfiguration configuration)\n      {\n        throw new NotImplementedException();\n      }\n    }\n    private class DataBrokerFactory : IBindingFactory\n    {\n      public IConsumerBinding GetConsumerBinding(string repositoryGroup, string processValueName, UATypeInfo field)\n      {\n        return new ConsumerBinding<int>(x => { }, new UATypeInfo(field.BuiltInType));\n      }\n      public IProducerBinding GetProducerBinding(string repositoryGroup, string variableName, UATypeInfo encoding)\n      {\n        throw new NotImplementedException();\n      }\n\n      public IProducerBinding GetProducerBinding(string repositoryGroup, string variableName, BuiltInType encoding)\n      {\n        throw new NotImplementedException();\n      }\n    }\n    private class TestISemanticData : ISemanticData\n    {\n      public TestISemanticData()\n        : this(\"SymbolicName\".AddId(_count), _count)\n      {\n        _count++;\n      }\n      public TestISemanticData(string symbolicName, IComparable nodeId)\n        : this(symbolicName, nodeId, Guid.NewGuid())\n      {\n        Identifier = new Uri(@\"Http://commsvr.com\");\n        SymbolicName = symbolicName;\n        NodeId = nodeId;\n      }\n      public TestISemanticData(string symbolicName, IComparable nodeId, Guid newGuid)\n      {\n        Guid = newGuid;\n      }\n      public Uri Identifier\n      {\n        get;\n        private set;\n      }\n      public string SymbolicName\n      {\n        get;\n        private set;\n      }\n      public IComparable NodeId\n      {\n        get;\n        private set;\n      }\n      private static int _count = 0;\n      public Guid Guid\n      {\n        get;\n        private set;\n      }\n    }\n    /// <summary>\n    /// Class SemanticData.\n    /// </summary>\n    private class SemanticData : ISemanticData\n    {\n      public Uri Identifier\n      {\n        get { throw new NotImplementedException(); }\n      }\n      public string SymbolicName\n      {\n        get { throw new NotImplementedException(); }\n      }\n      public IComparable NodeId\n      {\n        get { throw new NotImplementedException(); }\n      }\n      public Guid Guid\n      {\n        get { return Guid.NewGuid(); }\n      }\n    }\n    private class BindingFactory : IBindingFactory\n    {\n      public BindingFactory(Dictionary<string, IBinding> repository)\n      {\n        m_Repository = repository;\n      }\n\n      public IConsumerBinding GetConsumerBinding(string repositoryGroup, string processValueName, UATypeInfo field)\n      {\n        IConsumerBinding _ncb = new ConsumerBindingMonitoredValue<object>(new UATypeInfo(field.BuiltInType));\n        string _key = String.Format(\"{0}.{1}\", repositoryGroup, processValueName);\n        m_Repository.Add(_key, _ncb);\n        return _ncb;\n      }\n      public IProducerBinding GetProducerBinding(string repositoryGroup, string variableName, BuiltInType encoding)\n      {\n        string _key = String.Format(\"{0}.{1}\", repositoryGroup, variableName);\n        IProducerBinding _npb = new ProducerBindingMonitoredValue<object>(_key, new UATypeInfo(encoding));\n        m_Repository.Add(_key, _npb);\n        return _npb;\n      }\n      public IProducerBinding GetProducerBinding(string repositoryGroup, string variableName, UATypeInfo encoding)\n      {\n        throw new NotImplementedException();\n      }\n\n      private Dictionary<string, IBinding> m_Repository = new Dictionary<string, IBinding>();\n    }\n    private Dictionary<string, IBinding> Repository = new Dictionary<string, IBinding>();\n    private class IEF : IEncodingFactory\n    {\n      public IUADecoder UADecoder\n      {\n        get { return m_UADecoder; }\n      }\n      public IUAEncoder UAEncoder\n      {\n        get\n        {\n          throw new NotImplementedException();\n        }\n      }\n      public void UpdateValueConverter(IBinding binding, string repositoryGroup, UATypeInfo sourceEncoding)\n      {\n        Assert.IsNotNull(binding);\n        binding.Culture = null;\n        binding.Converter = null;\n        binding.Parameter = null;\n      }\n      private readonly IUADecoder m_UADecoder = new Helpers.UABinaryDecoderImplementation();\n\n    }\n    #endregion\n\n  }\n\n}\n"
  },
  {
    "path": "Networking/Tests/SemanticDatalUnitTest/BinaryDecoderUnitTest.cs",
    "content": "﻿//___________________________________________________________________________________\n//\n//  Copyright (C) 2018, Mariusz Postol LODZ POLAND.\n//\n//  To be in touch join the community at GITTER: https://gitter.im/mpostol/OPC-UA-OOI\n//___________________________________________________________________________________\n\nusing Microsoft.VisualStudio.TestTools.UnitTesting;\nusing System;\nusing System.Globalization;\nusing UAOOI.Configuration.Networking.Serialization;\nusing UAOOI.Networking.Core;\nusing UAOOI.Networking.SemanticData.DataRepository;\nusing UAOOI.Networking.SemanticData.MessageHandling;\nusing UAOOI.Networking.SemanticData.UnitTest.MessageHandlerFactory;\n\nnamespace UAOOI.Networking.SemanticData.UnitTest\n{\n\n  [TestClass]\n  public class BinaryDecoderUnitTest\n  {\n\n    [TestMethod]\n    public void DisposeTest()\n    {\n      BinaryDataTransferGraphReceiverFixture _BinaryDataTransferGraphReceiverFixture = new DTGFixture();\n      using (BinaryDecoder _reader = new BinaryDecoder(_BinaryDataTransferGraphReceiverFixture, new Helpers.UABinaryDecoderImplementation())) { }\n      Assert.AreEqual<int>(1, _BinaryDataTransferGraphReceiverFixture.DisposeCount);\n    }\n    [TestMethod]\n    [TestCategory(\"UAOOI.Networking.SemanticData\")]\n    public void DataTransferTest()\n    {\n      uint _dataId = CommonDefinitions.DataSetId;\n      BinaryDataTransferGraphReceiverFixture _BinaryDataTransferGraphReceiverFixture = new DTGFixture();\n      using (BinaryDecoder _reader = new BinaryDecoder(_BinaryDataTransferGraphReceiverFixture, new Helpers.UABinaryDecoderImplementation()))\n      {\n        Assert.IsNotNull(_reader);\n        Assert.AreEqual<int>(0, _BinaryDataTransferGraphReceiverFixture.m_NumberOfSentBytes);\n        Assert.AreEqual<int>(0, _BinaryDataTransferGraphReceiverFixture.NumberOfAttachToNetwork);\n        Assert.AreEqual<int>(0, _BinaryDataTransferGraphReceiverFixture.m_NumberOfSentMessages);\n        Assert.AreEqual<HandlerState>(HandlerState.Disabled, _BinaryDataTransferGraphReceiverFixture.State.State);\n        _reader.AttachToNetwork();\n        _reader.State.Enable();\n        Assert.AreEqual<HandlerState>(HandlerState.Operational, _BinaryDataTransferGraphReceiverFixture.State.State);\n        Assert.AreEqual<int>(1, _BinaryDataTransferGraphReceiverFixture.NumberOfAttachToNetwork);\n        Assert.AreEqual<int>(0, _BinaryDataTransferGraphReceiverFixture.m_NumberOfSentBytes);\n        Assert.AreEqual<int>(0, _BinaryDataTransferGraphReceiverFixture.m_NumberOfSentMessages);\n        object[] _buffer = new object[CommonDefinitions.TestValues.Length];\n        IConsumerBinding[] _bindings = new IConsumerBinding[_buffer.Length];\n        Action<object, int> _assign = (x, y) => _buffer[y] = x;\n        for (int i = 0; i < _buffer.Length; i++)\n          _bindings[i] = new ConsumerBinding(i, _assign, Type.GetTypeCode(CommonDefinitions.TestValues[i].GetType()));\n        int _redItems = 0;\n        _reader.ReadMessageCompleted += (x, y) => _reader_ReadMessageCompleted(x, y, _dataId, (z) => { _redItems++; return _bindings[z]; }, _buffer.Length);\n        _BinaryDataTransferGraphReceiverFixture.SendUDPMessage(CommonDefinitions.GetTestBinaryArrayVariant(), _dataId);\n        Assert.AreEqual<int>(1, _BinaryDataTransferGraphReceiverFixture.NumberOfAttachToNetwork);\n        Assert.AreEqual<int>(116, _BinaryDataTransferGraphReceiverFixture.m_NumberOfSentBytes);\n        Assert.AreEqual<int>(1, _BinaryDataTransferGraphReceiverFixture.m_NumberOfSentMessages);\n        //test packet content\n        PacketHeader _readerHeader = _reader.Header;\n        Assert.AreEqual<Guid>(CommonDefinitions.TestGuid, _readerHeader.PublisherId);\n        Assert.AreEqual<byte>(MessageHandling.CommonDefinitions.ProtocolVersion, _readerHeader.ProtocolVersion);\n        Assert.AreEqual<byte>(0, _readerHeader.NetworkMessageFlags);\n        Assert.AreEqual<uint>(0, _readerHeader.SecurityTokenId);\n        Assert.AreEqual<ushort>(1, _readerHeader.NonceLength);\n        Assert.AreEqual<int>(1, _readerHeader.Nonce.Length);\n        Assert.AreEqual<byte>(0xcc, _readerHeader.Nonce[0]);\n        Assert.AreEqual<ushort>(1, _readerHeader.MessageCount);\n        Assert.AreEqual<int>(1, _readerHeader.DataSetWriterIds.Count);\n        Assert.AreEqual<uint>(CommonDefinitions.DataSetId, _readerHeader.DataSetWriterIds[0]);\n        Assert.AreEqual<int>(_buffer.Length, _redItems);\n        object[] _shouldBeInBuffer = CommonDefinitions.TestValues;\n        Assert.AreEqual<int>(_shouldBeInBuffer.Length, _buffer.Length);\n        Assert.AreEqual<string>(string.Join(\",\", _shouldBeInBuffer), string.Join(\",\", _buffer));\n        Assert.AreEqual<byte>(1, _readerHeader.MessageCount);\n      }\n    }\n\n    #region private test instrumentation\n    private class ConsumerBinding : IConsumerBinding\n    {\n\n      public ConsumerBinding(int index, Action<object, int> assignAction, TypeCode targetType)\n      {\n        m_AssignAction = assignAction;\n        m_Index = index;\n        Encoding = new UATypeInfo(GetTargetType(targetType));\n      }\n      private BuiltInType GetTargetType(TypeCode targetType)\n      {\n        BuiltInType _ret = default(BuiltInType);\n        switch (targetType)\n        {\n          case TypeCode.Boolean:\n            _ret = BuiltInType.Boolean;\n            break;\n          case TypeCode.SByte:\n            _ret = BuiltInType.SByte;\n            break;\n          case TypeCode.Byte:\n            _ret = BuiltInType.Byte;\n            break;\n          case TypeCode.Int16:\n            _ret = BuiltInType.Int16;\n            break;\n          case TypeCode.UInt16:\n            _ret = BuiltInType.UInt16;\n            break;\n          case TypeCode.Int32:\n            _ret = BuiltInType.Int32;\n            break;\n          case TypeCode.UInt32:\n            _ret = BuiltInType.UInt32;\n            break;\n          case TypeCode.Int64:\n            _ret = BuiltInType.Int64;\n            break;\n          case TypeCode.UInt64:\n            _ret = BuiltInType.UInt64;\n            break;\n          case TypeCode.Single:\n            _ret = BuiltInType.Float;\n            break;\n          case TypeCode.Double:\n            _ret = BuiltInType.Double;\n            break;\n          case TypeCode.DateTime:\n            _ret = BuiltInType.DateTime;\n            break;\n          case TypeCode.String:\n            _ret = BuiltInType.String;\n            break;\n          default:\n            throw new ArgumentOutOfRangeException(nameof(targetType));\n        }\n        return _ret;\n      }\n      public void Assign2Repository(object value)\n      {\n        m_AssignAction(value, m_Index);\n      }\n      public IValueConverter Converter\n      {\n        set => throw new NotImplementedException();\n      }\n      public UATypeInfo Encoding\n      {\n        get;\n        private set;\n      }\n      public object Parameter\n      {\n        get => throw new NotImplementedException();\n        set => throw new NotImplementedException();\n      }\n      public CultureInfo Culture\n      {\n        set => throw new NotImplementedException();\n      }\n\n      DataRepository.IValueConverter IBinding.Converter { set => throw new NotImplementedException(); }\n      public object FallbackValue { set => throw new NotImplementedException(); }\n\n      public void OnEnabling()\n      {\n        throw new NotImplementedException();\n      }\n      public void OnDisabling()\n      {\n        throw new NotImplementedException();\n      }\n      private readonly Action<object, int> m_AssignAction;\n      private readonly int m_Index;\n\n    }\n    private void _reader_ReadMessageCompleted(object sender, MessageEventArg e, uint dataId, Func<int, IConsumerBinding> update, int length)\n    {\n      Assert.AreEqual<uint>(dataId, e.DataSetId);\n      e.MessageContent.UpdateMyValues(update, length);\n    }\n    private class DTGFixture : BinaryDataTransferGraphReceiverFixture { }\n    #endregion\n\n  }\n\n}\n"
  },
  {
    "path": "Networking/Tests/SemanticDatalUnitTest/BinaryEncoderTest.cs",
    "content": "﻿//___________________________________________________________________________________\n//\n//  Copyright (C) 2018, Mariusz Postol LODZ POLAND.\n//\n//  To be in touch join the community at GITTER: https://gitter.im/mpostol/OPC-UA-OOI\n//___________________________________________________________________________________\n\nusing Microsoft.VisualStudio.TestTools.UnitTesting;\nusing System;\nusing UAOOI.Configuration.Networking.Serialization;\nusing UAOOI.Networking.Core;\nusing UAOOI.Networking.SemanticData.DataRepository;\nusing UAOOI.Networking.SemanticData.MessageHandling;\nusing UAOOI.Networking.SemanticData.UnitTest.MessageHandlerFactory;\n\nnamespace UAOOI.Networking.SemanticData.UnitTest\n{\n\n  [TestClass]\n  public class BinaryEncoderTest\n  {\n\n    #region TestMethods\n    [TestMethod]\n    [TestCategory(\"DataManagement_MessageWriter\")]\n    public void BinaryUDPPackageWriterTestMethod()\n    {\n      BinaryDataTransferGraphSenderFixture _binaryStreamObservable = new BinaryDataTransferGraphSenderTest();\n      using (BinaryEncoder _writer = new BinaryEncoder(_binaryStreamObservable, new Helpers.UABinaryEncoderImplementation(), MessageLengthFieldTypeEnum.TwoBytes))\n      {\n        Assert.AreEqual<int>(0, _binaryStreamObservable.m_NumberOfSentBytes);\n        Assert.AreEqual<int>(0, _binaryStreamObservable.NumberOfAttachToNetwork);\n        Assert.AreEqual<int>(0, _binaryStreamObservable.m_NumberOfSentMessages);\n        Assert.AreEqual<HandlerState>(HandlerState.Disabled, _binaryStreamObservable.State.State);\n        _writer.AttachToNetwork();\n        _writer.State.Enable();\n        Assert.AreEqual<HandlerState>(HandlerState.Operational, _binaryStreamObservable.State.State);\n        Assert.AreEqual<int>(1, _binaryStreamObservable.NumberOfAttachToNetwork);\n        Assert.AreEqual<int>(0, _binaryStreamObservable.m_NumberOfSentBytes);\n        Assert.AreEqual<int>(0, _binaryStreamObservable.m_NumberOfSentMessages);\n        ProducerBindingFixture _binding = new ProducerBindingFixture() { Value = string.Empty };\n        int _sentItems = 0;\n        Guid m_Guid = CommonDefinitions.TestGuid;\n        DataSelector _testDataSelector = new DataSelector() { DataSetWriterId = CommonDefinitions.DataSetId, PublisherId = CommonDefinitions.TestGuid };\n        ((IMessageWriter)_writer).Send((x) => { _binding.Value = CommonDefinitions.TestValues[x]; _sentItems++; return _binding; },\n                                        Convert.ToUInt16(CommonDefinitions.TestValues.Length),\n                                        ulong.MaxValue,\n                                        FieldEncodingEnum.VariantFieldEncoding,\n                                        _testDataSelector,\n                                        0,\n                                        CommonDefinitions.TestMinimalDateTime, new ConfigurationVersionDataType() { MajorVersion = 0, MinorVersion = 0 }\n                                        );\n        Assert.AreEqual(CommonDefinitions.TestValues.Length, _sentItems);\n        Assert.AreEqual<int>(1, _binaryStreamObservable.NumberOfAttachToNetwork);\n        Assert.AreEqual<int>(115, _binaryStreamObservable.m_NumberOfSentBytes);\n        Assert.AreEqual<int>(1, _binaryStreamObservable.m_NumberOfSentMessages);\n        byte[] _shouldBeInBuffer = CommonDefinitions.GetTestBinaryArrayVariant4Consumer();\n        CollectionAssert.AreEqual(_binaryStreamObservable.Buffer, _shouldBeInBuffer);\n      }\n    }\n    #endregion\n\n    #region private\n    private class ProducerBindingFixture : IProducerBinding\n    {\n\n      internal object Value;\n      private readonly BuiltInType _builtInType;\n\n      public ProducerBindingFixture(BuiltInType builtInType)\n      {\n        _builtInType = builtInType;\n      }\n      public ProducerBindingFixture() { }\n\n      #region IProducerBinding\n      public bool NewValue => true;\n      public object GetFromRepository()\n      {\n        return Value;\n      }\n      public IValueConverter Converter\n      {\n        set => throw new NotImplementedException();\n      }\n      public UATypeInfo Encoding\n      {\n        get\n        {\n          if (Value == null)\n            return new UATypeInfo(_builtInType);\n          switch (Type.GetTypeCode(Value.GetType()))\n          {\n            case TypeCode.Boolean:\n              return new UATypeInfo(BuiltInType.Boolean);\n            case TypeCode.SByte:\n              return new UATypeInfo(BuiltInType.SByte);\n            case TypeCode.Byte:\n              return new UATypeInfo(BuiltInType.Byte);\n            case TypeCode.Int16:\n              return new UATypeInfo(BuiltInType.Int16);\n            case TypeCode.UInt16:\n              return new UATypeInfo(BuiltInType.UInt16);\n            case TypeCode.Int32:\n              return new UATypeInfo(BuiltInType.Int32);\n            case TypeCode.UInt32:\n              return new UATypeInfo(BuiltInType.UInt32);\n            case TypeCode.Int64:\n              return new UATypeInfo(BuiltInType.Int64);\n            case TypeCode.UInt64:\n              return new UATypeInfo(BuiltInType.UInt64);\n            case TypeCode.Single:\n              return new UATypeInfo(BuiltInType.Float);\n            case TypeCode.Double:\n              return new UATypeInfo(BuiltInType.Double);\n            case TypeCode.DateTime:\n              return new UATypeInfo(BuiltInType.DateTime);\n            case TypeCode.String:\n              return new UATypeInfo(BuiltInType.String);\n            default:\n              throw new ArgumentOutOfRangeException(nameof(Value));\n          }\n          throw new ArgumentOutOfRangeException(nameof(Value));\n        }\n      }\n      public object Parameter\n      {\n        get => null;\n        set { }\n      }\n      public System.Globalization.CultureInfo Culture\n      {\n        set => throw new NotImplementedException();\n      }\n\n      public object FallbackValue { set => throw new NotImplementedException(); }\n\n      public void OnEnabling()\n      {\n        throw new NotImplementedException();\n      }\n      public void OnDisabling()\n      {\n        throw new NotImplementedException();\n      }\n      public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged;\n      #endregion\n\n    }\n    private class BinaryDataTransferGraphSenderTest : BinaryDataTransferGraphSenderFixture { }\n    #endregion\n\n  }\n\n}\n\n"
  },
  {
    "path": "Networking/Tests/SemanticDatalUnitTest/CommonDefinitions.cs",
    "content": "﻿\nusing System;\nusing UAOOI.Configuration.Networking.Serialization;\n\nnamespace UAOOI.Networking.SemanticData.UnitTest\n{\n\n  internal static class CommonDefinitions\n  {\n\n    internal static byte[] GetTestBinaryArrayVariant()\n    {\n      return new byte[]\n      {\n          //Package header 0-25\n          110,                                                //byte ProtocolVersion\n          0x00,                                               //byte MessageFlags\n          0xf3, 0x5d, 0x19, 0xa6, 0x30, 0x0b, 0x25, 0x4c, 0x8b, 0xf8, 0x45, 0xb0, 0x76, 0x40, 0x21, 0x16, //guid - PublisherId\n          0x00,                                               //byte SecurityTokenId #0\n          0x00,                                               //byte SecurityTokenId #1\n          0x00,                                               //byte SecurityTokenId #2\n          0x00,                                               //byte SecurityTokenId #3\n          1,                                                  //byte NonceLength\n          0xCC,                                               //Byte[NonceLength] Nonce \n          0x01,                                               //UInt16 MessageCount\n          0x7F, 0x4B,                                         //UInt32[MessageCount] DataSetWriterIds\n          //Message header 26-43\n          0x1,                                                //MessageType \n          0x1,                                                //EncodingFlags\n          71, 00,                                             // MessageLength\n          0, 0,                                               //MessageSequenceNumber \n          0, 0,                                               //ConfigurationVersion\n          0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,     //TimeStamp\n          13, 0,                                              // FieldCount\n          //Message content 60 - 126\n          (byte)BuiltInType.UInt64, 0x7b, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,    //UInt64\n          (byte)BuiltInType.UInt32, 0x7b, 0x00, 0x00, 0x00,                            //UInt32\n          (byte)BuiltInType.UInt16, 0x7b, 0x00,                                        //UInt16\n          (byte)BuiltInType.String, 0x03,  0x00, 0x00, 0x00, 0x31, 0x32, 0x33,         //string\n          (byte)BuiltInType.Float, 0x00, 0x00, 0xf6, 0x42,                             //Float\n          (byte)BuiltInType.SByte, 0x7b,                                               //sbyte\n          (byte)BuiltInType.Int64, 0x7b, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,     //Int64\n          (byte)BuiltInType.Int32, 0x7b, 0x00, 0x00, 0x00,                             //Int32\n          (byte)BuiltInType.Int16, 0x7b, 0x00,                                         //Int16\n          (byte)BuiltInType.Double, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0x5e, 0x40,    //Double\n          (byte)BuiltInType.DateTime, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  //DateTime\n          (byte)BuiltInType.Byte, 0x7b,                                                //Byte\n          (byte)BuiltInType.Boolean, 0x01,                                             //boolean\n      };\n    }\n    internal static byte[] GetTestBinaryArrayVariant4Consumer()\n    {\n      return new byte[]\n      {\n          //Package header 0-22\n          110,                                                //byte ProtocolVersion\n          0x00,                                               //byte MessageFlags\n          0xf3, 0x5d, 0x19, 0xa6, 0x30, 0x0b, 0x25, 0x4c, 0x8b, 0xf8, 0x45, 0xb0, 0x76, 0x40, 0x21, 0x16, //guid - PublisherId\n          0x00,                                               //byte SecurityTokenId #0\n          0x00,                                               //byte SecurityTokenId #1\n          0x00,                                               //byte SecurityTokenId #2\n          0x00,                                               //byte SecurityTokenId #3\n          0,                                                  //byte NonceLength\n          //0xCC,                                             //Byte[NonceLength] Nonce \n          0x01,                                               //byte MessageCount\n          0x7F, 0x4B,                                         //UInt16[MessageCount] DataSetWriterIds\n          //Message header\n          0x1,                                                //MessageType \n          0x1,                                                //EncodingFlags\n          0x59, 00,                                           //MessageLength\n          0, 0,                                               //MessageSequenceNumber \n          0, 0,                                               //ConfigurationVersion\n          0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,     //TimeStamp\n          13, 0,                                              // FieldCount\n          //Message content 43 - 110\n          (byte)BuiltInType.UInt64, 0x7b, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,    //UInt64\n          (byte)BuiltInType.UInt32, 0x7b, 0x00, 0x00, 0x00,                            //UInt32\n          (byte)BuiltInType.UInt16, 0x7b, 0x00,                                        //UInt16\n          (byte)BuiltInType.String, 0x03, 0x00, 0x00, 0x00, 0x31, 0x32, 0x33,          //string\n          (byte)BuiltInType.Float, 0x00, 0x00, 0xf6, 0x42,                             //Float\n          (byte)BuiltInType.SByte, 0x7b,                                               //sbyte\n          (byte)BuiltInType.Int64, 0x7b, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,     //Int64\n          (byte)BuiltInType.Int32, 0x7b, 0x00, 0x00, 0x00,                             //Int32\n          (byte)BuiltInType.Int16, 0x7b, 0x00,                                         //Int16\n          (byte)BuiltInType.Double, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0x5e, 0x40,    //Double\n          (byte)BuiltInType.DateTime, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  //DateTime\n          (byte)BuiltInType.Byte, 0x7b,                                                //Byte\n          (byte)BuiltInType.Boolean, 0x01,                                             //boolean\n      };\n    }\n\n    internal const UInt16 DataSetId = 19327;\n    internal struct DateTimeVariantEncoding\n    {\n      internal DateTime dateTime;\n      internal byte[] encoding;\n    }\n    internal static readonly DateTime TestMinimalDateTime = new DateTime(1601, 1, 1);\n    internal static readonly DateTime TestMaximumDateTime = new DateTime(9999, 12, 31, 23, 59, 59);\n    internal static readonly Guid TestGuid = new Guid(\"A6195DF3-0B30-4C25-8BF8-45B076402116\");\n    internal static readonly byte[] TestGuidVariant = new byte[] { (byte)BuiltInType.Guid, 0xf3, 0x5d, 0x19, 0xa6, 0x30, 0x0b, 0x25, 0x4c, 0x8b, 0xf8, 0x45, 0xb0, 0x76, 0x40, 0x21, 0x16 };\n    internal static DateTimeVariantEncoding[] DateTimeTestingValues = new DateTimeVariantEncoding[]\n    {\n      new DateTimeVariantEncoding() {  dateTime = TestMinimalDateTime, encoding = new byte[] { (byte)BuiltInType.DateTime, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 } },\n      new DateTimeVariantEncoding() {  dateTime = TestMaximumDateTime, encoding = new byte[] { (byte)BuiltInType.DateTime, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x7f } },\n      new DateTimeVariantEncoding() {  dateTime = new DateTime(9999, 12, 31, 23, 59, 58), encoding = new byte[] { (byte)BuiltInType.DateTime, 0x00, 0x13, 0x8f,0xd0, 0x5e, 0x5a, 0xc8, 0x24 } }\n    };\n    /// <summary>\n    /// The producer identifier - should be moved to the configuration - see spec for current definition.\n    /// </summary>\n    internal static object[] TestValues = new object[]\n      {\n        (ulong)123, (uint)123, (ushort)123, \"123\",\n        (float)123, (sbyte)123, (long)123, (int)123,\n        (short)123, (double)123, /*(decimal)123,*/ TestMinimalDateTime,\n        (byte)123, true/*, 'A'*/}; //, new byte[] { 1, 2, 3 } };\n  }\n}\n"
  },
  {
    "path": "Networking/Tests/SemanticDatalUnitTest/ConfigurationUnitTest.cs",
    "content": "﻿\nusing System;\nusing Microsoft.VisualStudio.TestTools.UnitTesting;\nusing UAOOI.Networking.SemanticData.UnitTest.Simulator;\nusing UAOOI.Configuration.Networking.Serialization;\nusing UAOOI.Configuration.Networking;\n\nnamespace UAOOI.Networking.SemanticData.UnitTest\n{\n  [TestClass]\n  public class ConfigurationUnitTest\n  {\n    [TestMethod]\n    [TestCategory(\"DataManagement_Configuration\")]\n    public void ConfigurationDataCreateTestMethod()\n    {\n      ConfigurationData _cnf = ConfigurationDataFactoryIO.Load<ConfigurationData>(Create, () => { });\n      Assert.IsNotNull(_cnf);\n      Assert.IsNotNull(_cnf.DataSets);\n      TestAssociations(_cnf.DataSets);\n    }\n    private void TestAssociations(DataSetConfiguration[] associationConfiguration)\n    {\n      foreach (DataSetConfiguration _ac in associationConfiguration)\n      {\n        Assert.IsNotNull(_ac.DataSet);\n        Assert.IsFalse(String.IsNullOrEmpty(_ac.AssociationName));\n        Assert.IsFalse(String.IsNullOrEmpty(_ac.DataSymbolicName));\n        Assert.IsFalse(String.IsNullOrEmpty(_ac.InformationModelURI));\n        TestDataSets(_ac);\n      }\n    }\n    private void TestDataSets(DataSetConfiguration dataSetConfiguration)\n    {\n      Assert.IsNotNull(dataSetConfiguration.DataSet);\n      TestMembers(dataSetConfiguration.DataSet);\n    }\n    private void TestMembers(FieldMetaData[] dataMemberConfiguration)\n    {\n      foreach (FieldMetaData _dmc in dataMemberConfiguration)\n      {\n        Assert.IsFalse(String.IsNullOrEmpty(_dmc.ProcessValueName));\n        Assert.IsFalse(String.IsNullOrEmpty(_dmc.SymbolicName));\n      }\n    }\n    private static ConfigurationData Create()\n    {\n      return PersistentConfiguration.GetLocalConfiguration();\n    }\n\n  }\n}\n"
  },
  {
    "path": "Networking/Tests/SemanticDatalUnitTest/ConsumerBindingMonitoredValueUnitTest.cs",
    "content": "﻿\nusing Microsoft.VisualStudio.TestTools.UnitTesting;\nusing UAOOI.Networking.SemanticData.DataRepository;\nusing System;\nusing UAOOI.Configuration.Networking.Serialization;\n\nnamespace UAOOI.Networking.SemanticData.UnitTest\n{\n  [TestClass]\n  public class ConsumerBindingMonitoredValueUnitTest\n  {\n    [TestMethod]\n    [TestCategory(\"ConsumerBindingMonitoredValueUnitTest_ConstructorTest\")]\n    public void ConstructorTest()\n    {\n      ConsumerBindingMonitoredValue<Int32> _binding = new ConsumerBindingMonitoredValue<int>(new UATypeInfo(BuiltInType.Int32));\n      Assert.IsNotNull(_binding);\n    }\n    [TestMethod]\n    [TestCategory(\"ConsumerBindingMonitoredValueUnitTest_ConstructorTest\")]\n    public void ToStringScalarTestMethod()\n    {\n      ConsumerBindingMonitoredValue<Int32> _binding = new ConsumerBindingMonitoredValue<int>(new UATypeInfo(BuiltInType.Int32));\n      string _name = String.Empty;\n      _binding.PropertyChanged += (sender, e) => _name = e.PropertyName;\n      Assert.IsNotNull(_binding);\n      IConsumerBinding _bindingInterface = _binding;\n      const int _newValue = 1234567;\n      _bindingInterface.Assign2Repository(_newValue);\n      Assert.AreEqual<int>(_newValue, _binding.Value);\n      Assert.AreEqual<string>(_newValue.ToString(), _binding.ToString());\n      Assert.AreEqual<string>(\"Value\", _name);\n    }\n    [TestMethod]\n    [TestCategory(\"ConsumerBindingMonitoredValueUnitTest_ConstructorTest\")]\n    public void ToStringArrayTestMethod()\n    {\n      ConsumerBindingMonitoredValue<Int32[]> _binding = new ConsumerBindingMonitoredValue<int[]>(new UATypeInfo(BuiltInType.Int32, 1));\n      string _name = String.Empty;\n      _binding.PropertyChanged += (sender, e) => _name = e.PropertyName;\n      Assert.IsNotNull(_binding);\n      IConsumerBinding _bindingInterface = _binding;\n      int[] _newValue = new int[] { 1234567, 7654321 };\n      _bindingInterface.Assign2Repository(_newValue);\n      Assert.AreEqual<int[]>(_newValue, _binding.Value);\n      Assert.AreEqual<string>(@\"Array Rank=1 Values [1234567, 7654321]\", _binding.ToString());\n      Assert.AreEqual<string>(\"Value\", _name);\n    }\n    [TestMethod]\n    [TestCategory(\"ConsumerBindingMonitoredValueUnitTest_ConstructorTest\")]\n    public void ToStringCLRArrayTestMethod()\n    {\n      ConsumerBindingMonitoredValue<Int32[]> _binding = new ConsumerBindingMonitoredValue<int[]>(new UATypeInfo(BuiltInType.Int32, 1));\n      string _name = String.Empty;\n      _binding.PropertyChanged += (sender, e) => _name = e.PropertyName;\n      Assert.IsNotNull(_binding);\n      IConsumerBinding _bindingInterface = _binding;\n      Array _newValue = new int[] { 1234567, 7654321 };\n      _bindingInterface.Assign2Repository(_newValue);\n      CollectionAssert.AreEqual(_newValue, _binding.Value);\n      Assert.AreEqual<string>(@\"Array Rank=1 Values [1234567, 7654321]\", _binding.ToString());\n      Assert.AreEqual<string>(\"Value\", _name);\n    }\n    [TestMethod]\n    [TestCategory(\"ConsumerBindingMonitoredValueUnitTest_ConstructorTest\")]\n    public void ToStringArrayRank3TestMethod()\n    {\n      ConsumerBindingMonitoredValue<Int32[,,]> _binding = new ConsumerBindingMonitoredValue<int[,,]>(new UATypeInfo(BuiltInType.Int32, 0, new int[] { int.MaxValue, int.MaxValue, int.MaxValue }));\n      string _name = String.Empty;\n      _binding.PropertyChanged += (sender, e) => _name = e.PropertyName;\n      Assert.IsNotNull(_binding);\n      IConsumerBinding _bindingInterface = _binding;\n      int[,,] _newValue = new int[,,] { { { 1, 2 }, { 3, 4 } }, { { 5, 6 }, { 7, 8 } } };\n      _bindingInterface.Assign2Repository(_newValue);\n      Assert.AreEqual<int[,,]>(_newValue, _binding.Value);\n      Assert.AreEqual<string>(@\"Array Rank=3 Values [1, 2, 3, 4, 5, 6, 7, 8]\", _binding.ToString());\n      Assert.AreEqual<string>(\"Value\", _name);\n    }\n    [TestMethod]\n    [TestCategory(\"ConsumerBindingMonitoredValueUnitTest_ConstructorTest\")]\n    public void ToStringCLRArrayRank3TestMethod()\n    {\n      ConsumerBindingMonitoredValue<Int32[,,]> _binding = new ConsumerBindingMonitoredValue<int[,,]>(new UATypeInfo(BuiltInType.Int32, 0, new int[] { int.MaxValue, int.MaxValue, int.MaxValue }));\n      string _name = String.Empty;\n      _binding.PropertyChanged += (sender, e) => _name = e.PropertyName;\n      Assert.IsNotNull(_binding);\n      IConsumerBinding _bindingInterface = _binding;\n      Array _newValue = new int[,,] { { { 1, 2 }, { 3, 4 } }, { { 5, 6 }, { 7, 8 } } };\n      _bindingInterface.Assign2Repository(_newValue);\n      CollectionAssert.AreEqual(_newValue, _binding.Value);\n      Assert.AreEqual<string>(@\"Array Rank=3 Values [1, 2, 3, 4, 5, 6, 7, 8]\", _binding.ToString());\n      Assert.AreEqual<string>(\"Value\", _name);\n    }\n    [TestMethod]\n    [TestCategory(\"ConsumerBindingMonitoredValueUnitTest_ConstructorTest\")]\n    [ExpectedException(typeof(InvalidCastException))]\n    public void ToStringCLRArrayRankErrorTestMethod()\n    {\n      ConsumerBindingMonitoredValue<Int32[,,]> _binding = new ConsumerBindingMonitoredValue<int[,,]>(new UATypeInfo(BuiltInType.Int32, 0, new int[] { int.MaxValue, int.MaxValue, int.MaxValue }));\n      string _name = String.Empty;\n      _binding.PropertyChanged += (sender, e) => _name = e.PropertyName;\n      Assert.IsNotNull(_binding);\n      IConsumerBinding _bindingInterface = _binding;\n      Array _newValue = new int[,] { { 1, 2 }, { 3, 4 } };\n      _bindingInterface.Assign2Repository(_newValue);\n    }\n\n  }\n}\n"
  },
  {
    "path": "Networking/Tests/SemanticDatalUnitTest/ConsumerBindingUnitTest.cs",
    "content": "﻿\nusing Microsoft.VisualStudio.TestTools.UnitTesting;\nusing System;\nusing System.Globalization;\nusing System.Windows.Data;\nusing UAOOI.Networking.SemanticData.DataRepository;\nusing UAOOI.Configuration.Networking.Serialization;\n\nnamespace UAOOI.Networking.SemanticData.UnitTest\n{\n  [TestClass]\n  public class ConsumerBindingUnitTest\n  {\n\n    #region TestMethods\n    [TestMethod]\n    [TestCategory(\"DataManagement_Binding\")]\n    public void TestMethod1()\n    {\n      ConsumerBinding<int> _nb = new ConsumerBinding<int>(x => { }, new UATypeInfo(BuiltInType.Null));\n      Assert.IsNotNull(_nb);\n    }\n    [TestMethod]\n    [TestCategory(\"DataManagement_Binding\")]\n    public void DataRepositoryTestMethod()\n    {\n      DataRepository _rpo = new DataRepository();\n      IConsumerBinding _nb = _rpo.GetConsumerBinding(String.Empty, DataRepository.name, new UATypeInfo(BuiltInType.String));\n      Assert.IsNotNull(_nb);\n      Assert.IsNotNull(_nb.Encoding);\n      _nb.Converter = null;\n      Assert.AreEqual<BuiltInType>(BuiltInType.String, _nb.Encoding.BuiltInType);\n      string _testValue = \"123wjkqjwkqjwjqjwqwjwqkwqjw\";\n      _nb.Assign2Repository(_testValue);\n      Assert.AreEqual<string>(_testValue, _rpo.Buffer);\n    }\n    [TestMethod]\n    [TestCategory(\"DataManagement_Binding\")]\n    public void RecordingRepositoryTestMethod()\n    {\n      RecordingRepository _rpo = new RecordingRepository();\n      IConsumerBinding _nb = _rpo.GetConsumerBinding(String.Empty, DataRepository.name, new UATypeInfo(BuiltInType.String));\n      Assert.IsNotNull(_nb);\n      Assert.IsNotNull(_nb.Encoding);\n      _nb.Converter = new DateFormatter();\n      Assert.AreEqual<BuiltInType>(BuiltInType.String, _nb.Encoding.BuiltInType);\n      DateTime _dt = new DateTime(2008, 2, 5);\n      Recording _testValue = new Recording(\"Chris Sells\", \"Chris Sells Live\", _dt);\n      _nb.Assign2Repository(_testValue);\n      Assert.AreEqual<string>(_dt.ToString(CultureInfo.InvariantCulture), _rpo.Buffer);\n    }\n    #endregion\n\n    #region private\n    //private part \n    private class DataRepository : IBindingFactory\n    {\n      public const string name = \"variableName\";\n      public string Buffer = null;\n\n      public IConsumerBinding GetConsumerBinding(string repositoryGroup, string processValueName, UATypeInfo fieldTypeInfo)\n      {\n        if (processValueName != name)\n          throw new ArgumentOutOfRangeException();\n        return new ConsumerBinding<string>(x => Buffer = x, fieldTypeInfo);\n      }\n      public IProducerBinding GetProducerBinding(string repositoryGroup, string processValueName, UATypeInfo fieldTypeInfo)\n      {\n        throw new NotImplementedException();\n      }\n    }\n    private class RecordingRepository : IBindingFactory\n    {\n\n      public const string name = \"variableName\";\n      public string Buffer = null;\n\n      public IConsumerBinding GetConsumerBinding(string repositoryGroup, string processValueName, UATypeInfo field)\n      {\n        if (processValueName != name)\n          throw new ArgumentOutOfRangeException();\n        return new ConsumerBinding<string>(x => Buffer = x, new UATypeInfo(field.BuiltInType));\n      }\n      public IProducerBinding GetProducerBinding(string repositoryGroup, string processValueName, UATypeInfo encoding)\n      {\n        throw new NotImplementedException();\n      }\n      public IProducerBinding GetProducerBinding(string repositoryGroup, string variableName, BuiltInType encoding)\n      {\n        throw new NotImplementedException();\n      }\n    }\n    // Simple business object.\n    private class Recording\n    {\n      public Recording() { }\n      public Recording(string artistName, string cdName, DateTime release)\n      {\n        Artist = artistName;\n        Name = cdName;\n        ReleaseDate = release;\n      }\n      public string Artist { get; set; }\n      public string Name { get; set; }\n      public DateTime ReleaseDate { get; set; }\n    }\n    private class DateFormatter : IValueConverter\n    {\n      public object Convert(object value, Type targetType, object fallBack, object parameter, CultureInfo culture)\n      {\n        Assert.IsInstanceOfType(value, typeof(Recording));\n        Assert.IsNull(parameter);\n        DateTime date = ((Recording)value).ReleaseDate;\n        Assert.IsNull(fallBack);\n        return date.ToString(CultureInfo.InvariantCulture);\n      }\n\n    }\n    #endregion\n\n  } //BindingUnitTest\n}\n"
  },
  {
    "path": "Networking/Tests/SemanticDatalUnitTest/ConsumerDeviceSimulatorUnitTest.cs",
    "content": "﻿//___________________________________________________________________________________\n//\n//  Copyright (C) 2019, Mariusz Postol LODZ POLAND.\n//\n//  To be in touch join the community at GITTER: https://gitter.im/mpostol/OPC-UA-OOI\n//___________________________________________________________________________________\n\nusing Microsoft.VisualStudio.TestTools.UnitTesting;\nusing System;\nusing UAOOI.Networking.SemanticData.UnitTest.MessageHandlerFactory;\nusing UAOOI.Networking.SemanticData.UnitTest.Simulator;\n\nnamespace UAOOI.Networking.SemanticData.UnitTest\n{\n\n  [TestClass]\n  public class ConsumerDeviceSimulatorUnitTest\n  {\n\n    [TestMethod]\n    [TestCategory(\"DataManagement_ConsumerDeviceSimulator\")]\n    public void ConsumerDeviceSimulatorTestMethod()\n    {\n      uint DataSetGuid = uint.MaxValue;\n      MessageHandlerFactoryTest _mhf = new MessageHandlerFactoryTest();\n      using (ConsumerDeviceSimulator _consumer = ConsumerDeviceSimulator.CreateDevice(_mhf, DataSetGuid))\n      {\n        Assert.IsNull(_consumer.AssociationsCollection);\n        Assert.IsNotNull(_consumer.BindingFactory);\n        Assert.IsNotNull(_consumer.ConfigurationFactory);\n        Assert.IsNotNull(_consumer.EncodingFactory);\n        Assert.IsNotNull(_consumer.MessageHandlerFactory);\n        Assert.IsNull(_consumer.MessageHandlersCollection);\n        _consumer.InitializeAndRun();\n        Assert.AreEqual<int>(1, _consumer.AssociationsCollection.Count);\n        Assert.AreEqual<int>(1, _consumer.MessageHandlersCollection.Count);\n        _consumer.CheckConsistency();\n      }\n      _mhf.AssertConsistency();\n    }\n\n    private class MessageHandlerFactoryTest : MessageHandlerFactoryFixture\n    {\n\n      #region testing environment\n      protected override BinaryDataTransferGraphReceiverFixture NewBinaryDataTransferGraphReceiverFixture()\n      {\n        return new BinaryDataTransferGraphReceiverTest();\n      }\n      protected override BinaryDataTransferGraphSenderFixture NewBinaryDataTransferGraphSenderFixture()\n      {\n        throw new NotImplementedException();\n      }\n      #endregion\n\n      private class BinaryDataTransferGraphReceiverTest : BinaryDataTransferGraphReceiverFixture { }\n    }\n  }\n}\n\n\n"
  },
  {
    "path": "Networking/Tests/SemanticDatalUnitTest/DataManagementSetupUnitTest.cs",
    "content": "﻿//___________________________________________________________________________________\n//\n//  Copyright (C) 2019, Mariusz Postol LODZ POLAND.\n//\n//  To be in touch join the community at GITTER: https://gitter.im/mpostol/OPC-UA-OOI\n//___________________________________________________________________________________\n\nusing Microsoft.VisualStudio.TestTools.UnitTesting;\nusing System;\nusing System.Linq;\nusing UAOOI.Configuration.Networking;\nusing UAOOI.Configuration.Networking.Serialization;\nusing UAOOI.Networking.Core;\nusing UAOOI.Networking.SemanticData.DataRepository;\nusing UAOOI.Networking.SemanticData.Encoding;\nusing UAOOI.Networking.SemanticData.UnitTest.MessageHandlerFactory;\nusing UAOOI.Networking.SemanticData.UnitTest.Simulator;\n\nnamespace UAOOI.Networking.SemanticData.UnitTest\n{\n\n  [TestClass]\n  public class DataManagementSetupUnitTest\n  {\n    [TestMethod]\n    [TestCategory(\"DataManagement_DataManagementSetup\")]\n    public void DataManagementSetupCreatorTestMethod()\n    {\n      using (DataManagementSetupTest _ndm = new DataManagementSetupTest())\n      {\n        Assert.IsNull(_ndm.BindingFactory);\n        Assert.IsNull(_ndm.ConfigurationFactory);\n        Assert.IsNull(_ndm.EncodingFactory);\n        Assert.IsNull(_ndm.MessageHandlerFactory);\n      }\n    }\n    [TestMethod]\n    [TestCategory(\"DataManagement_DataManagementSetup\")]\n    public void InitializeTestMethod()\n    {\n      using (DataManagementSetupTest _ndm = new DataManagementSetupTest\n      {\n        BindingFactory = new BindingFactory(),\n        ConfigurationFactory = new ConfigurationFactory(),\n        EncodingFactory = new EncodingFactory(),\n        MessageHandlerFactory = new MessageHandlerFactoryTest()\n      }\n              )\n      {\n        Assert.IsNull(_ndm.MessageHandlersCollection);\n        _ndm.TestStart();\n        Assert.AreEqual<int>(3, _ndm.MessageHandlersCollection.Count());\n        _ndm.Dispose();\n        ((MessageHandlerFactoryTest)_ndm.MessageHandlerFactory).AssertConsistency();\n      }\n    }\n    [TestMethod]\n    [TestCategory(\"DataManagement_DataManagementSetup\")]\n    [ExpectedException(typeof(ArgumentNullException))]\n    public void RunTestMethod()\n    {\n      using (DataManagementSetupTest _ndm = new DataManagementSetupTest())\n        _ndm.TestStart();\n    }\n\n    #region instrumentation\n    private class DataManagementSetupTest : DataManagementSetup\n    {\n      internal void TestStart()\n      {\n        base.Start();\n      }\n    }\n    private class MessageHandlerFactoryTest : MessageHandlerFactoryFixture\n    {\n      protected override BinaryDataTransferGraphReceiverFixture NewBinaryDataTransferGraphReceiverFixture()\n      {\n        return new DTGReceiverTest(); ;\n      }\n      protected override BinaryDataTransferGraphSenderFixture NewBinaryDataTransferGraphSenderFixture()\n      {\n        throw new NotImplementedException();\n      }\n      internal override void AssertConsistency()\n      {\n        Assert.AreEqual<int>(3, MessageHandlerFactoryFixture.BinaryDataTransferGraphReceiverFixtureList.Count);\n        Assert.AreEqual<int>(3, MessageHandlerFactoryFixture.BinaryDataTransferGraphReceiverFixtureList.\n          Cast<BinaryDataTransferGraphReceiverFixture>().\n          Where<BinaryDataTransferGraphReceiverFixture>((x) => { x.AssertConsistency(); return true; }).Count());\n      }\n    }\n    private class DTGReceiverTest : BinaryDataTransferGraphReceiverFixture\n    {\n      internal override void AssertConsistency()\n      {\n        Assert.AreEqual<int>(1, base.NumberOfAttachToNetwork);\n        Assert.AreEqual<int>(1, base.DisposeCount);\n        Assert.AreEqual<HandlerState>(HandlerState.Operational, base.State.State);\n      }\n    }\n    private class EncodingFactory : IEncodingFactory\n    {\n      public IUADecoder UADecoder { get; } = new Helpers.UABinaryDecoderImplementation();\n      public IUAEncoder UAEncoder => throw new NotImplementedException();\n      public void UpdateValueConverter(IBinding binding, string repositoryGroup, UATypeInfo sourceEncoding)\n      {\n        binding.Converter = null;\n        binding.Culture = null;\n        binding.Parameter = null;\n        Assert.IsNotNull(binding);\n      }\n    }\n    private class ConfigurationFactory : IConfigurationFactory\n    {\n      public ConfigurationData GetConfiguration()\n      {\n        return PersistentConfiguration.GetLocalConfiguration();\n      }\n      public event EventHandler<EventArgs> OnAssociationConfigurationChange;\n      public event EventHandler<EventArgs> OnMessageHandlerConfigurationChange;\n    }\n    private class BindingFactory : IBindingFactory\n    {\n      #region IBindingFactory\n      public IConsumerBinding GetConsumerBinding(string repositoryGroup, string processValueName, UATypeInfo field)\n      {\n        return new Binding();\n      }\n      public IProducerBinding GetProducerBinding(string repositoryGroup, string processValueName, UATypeInfo encoding)\n      {\n        throw new NotImplementedException();\n      }\n      public IProducerBinding GetProducerBinding(string repositoryGroup, string variableName, BuiltInType encoding)\n      {\n        throw new NotImplementedException();\n      }\n      #endregion\n\n      private class Binding : IConsumerBinding\n      {\n        public IValueConverter Converter\n        {\n          set { }\n        }\n        public UATypeInfo Encoding => null;\n        public object Parameter\n        {\n          set { }\n          get => null;\n        }\n        public System.Globalization.CultureInfo Culture\n        {\n          set { }\n        }\n        public object FallbackValue { set => throw new NotImplementedException(); }\n        public void Assign2Repository(object value)\n        {\n          throw new NotImplementedException();\n        }\n        public void OnEnabling() { }\n        public void OnDisabling()\n        {\n          throw new NotImplementedException();\n        }\n      }\n\n    }\n    #endregion\n\n  }\n\n}\n"
  },
  {
    "path": "Networking/Tests/SemanticDatalUnitTest/Diagnostics/ReactiveNetworkingEventSourceUnitTest.cs",
    "content": "﻿\nusing System;\nusing System.Diagnostics.Tracing;\nusing Microsoft.Practices.EnterpriseLibrary.SemanticLogging;\nusing Microsoft.Practices.EnterpriseLibrary.SemanticLogging.Schema;\nusing Microsoft.VisualStudio.TestTools.UnitTesting;\nusing UAOOI.Networking.SemanticData.Diagnostics;\nusing static UAOOI.Networking.SemanticData.Diagnostics.ReactiveNetworkingEventSource;\n\nnamespace UAOOI.Networking.SemanticData.UnitTest.Diagnostics\n{\n  [TestClass]\n  public class ReactiveNetworkingEventSourceUnitTest\n  {\n    [TestMethod]\n    public void MessageInconsistencyTest()\n    {\n      EventEntry _lastEvent = null;\n      int _calls = 0;\n      ObservableEventListener _listener = new ObservableEventListener();\n      IDisposable subscription = _listener.Subscribe<EventEntry>(x => { _calls++; _lastEvent = x; });\n      using (SinkSubscription<ObservableEventListener> _sinkSubscription = new SinkSubscription<ObservableEventListener>(subscription, _listener))\n      {\n        Assert.IsNotNull(_sinkSubscription.Sink);\n\n        ReactiveNetworkingEventSource _log = Log;\n        _sinkSubscription.Sink.EnableEvents(_log, EventLevel.LogAlways, EventKeywords.All);\n\n        Assert.IsNull(_lastEvent);\n        const int _position = 12345;\n        _log.MessageInconsistency(_position);\n        Assert.IsNotNull(_lastEvent);\n        Assert.AreEqual<int>(1, _calls);\n\n        //_lastEvent content\n        Assert.AreEqual<int>(4, _lastEvent.EventId);\n        Assert.AreEqual<Guid>(Guid.Empty, _lastEvent.ActivityId);\n        string _message = \"Unexpected end of message while reading 12345 element.\";\n        Assert.AreEqual<string>(_message, _lastEvent.FormattedMessage, _lastEvent.FormattedMessage);\n        //schema\n        EventSchema _Schema = _lastEvent.Schema;\n        Assert.AreEqual<string>(\"ConsumerInfo\", _Schema.EventName);\n        Assert.AreEqual<int>(4, _Schema.Id);\n        //Assert.IsTrue((_Schema.Keywords & SemanticEventSource.Keywords.Diagnostic2) > 0);\n        //Assert.AreEqual<string>(\"PackageContent\", _Schema.KeywordsDescription);\n        Assert.AreEqual<EventLevel>(EventLevel.Warning, _Schema.Level);\n        Assert.AreEqual<string>(\"Info\", _Schema.OpcodeName);\n        Assert.AreEqual<EventOpcode>(EventOpcode.Info, _Schema.Opcode);\n        Assert.AreEqual<Guid>(new Guid(\"C8666C20-6FEF-4DD0-BB66-5807BA629DA8\"), _Schema.ProviderId);\n        Assert.AreEqual<string>(\"UAOOI-Networking-SemanticData-Diagnostics\", _Schema.ProviderName);\n        Assert.AreEqual<string>(\"Consumer\", _Schema.TaskName);\n        Assert.AreEqual<EventTask>(Tasks.Consumer, _Schema.Task);\n        Assert.AreEqual<int>(0, _Schema.Version);\n\n        //Payload\n        Assert.AreEqual<string>(\"System.Collections.ObjectModel.ReadOnlyCollection`1[System.Object]\", _lastEvent.Payload.ToString(), _lastEvent.Payload.ToString());\n        Assert.AreEqual<int>(1, _lastEvent.Payload.Count);\n        Assert.IsInstanceOfType(_lastEvent.Payload[0], typeof(Int32));\n        Assert.AreEqual<Int32>(_position, (Int32)_lastEvent.Payload[0]);\n        Assert.AreEqual<string>(\"position\", _lastEvent.Schema.Payload[0]);\n      }\n\n    }\n  }\n}\n"
  },
  {
    "path": "Networking/Tests/SemanticDatalUnitTest/EncodingFactoryUnitTest.cs",
    "content": "﻿\nusing Microsoft.VisualStudio.TestTools.UnitTesting;\nusing System;\nusing System.Globalization;\nusing System.Windows.Data;\nusing UAOOI.Networking.SemanticData.DataRepository;\nusing UAOOI.Networking.SemanticData.Encoding;\nusing UAOOI.Configuration.Networking.Serialization;\n\nnamespace UAOOI.Networking.SemanticData.UnitTest\n{\n  [TestClass]\n  public class EncodingFactoryUnitTest\n  {\n    [TestMethod]\n    [TestCategory(\"DataManagement_IEncodingFactory\")]\n    public void UpdateValueConverterTestMethod2()\n    {\n      EncodingFactory _ief = new EncodingFactory();\n      Assert.IsNotNull(_ief);\n      MyBinding _ibf = new MyBinding();\n      _ief.UpdateValueConverter(_ibf, String.Empty, new UATypeInfo(BuiltInType.Null));\n      _ibf.Assign2Repository(null);\n    }\n    //private\n    private class EncodingFactory : IEncodingFactory\n    {\n      public void UpdateValueConverter(IBinding binding, string repositoryGroup, UATypeInfo sourceEncoding)\n      {\n        Assert.IsNotNull(binding);\n        binding.Parameter = \"Conversion parameter\";\n        binding.Converter = new IVC();\n        binding.Culture = CultureInfo.InvariantCulture;\n        binding.FallbackValue = null;\n      }\n      public IUADecoder UADecoder\n      {\n        get\n        {\n          return m_UADecoder;\n        }\n      }\n      public IUAEncoder UAEncoder\n      {\n        get\n        {\n          throw new NotImplementedException();\n        }\n      }\n      private readonly IUADecoder m_UADecoder = new Helpers.UABinaryDecoderImplementation();\n    }\n    private class IVC : IValueConverter\n    {\n\n      /// <summary>\n      /// Converts the specified value.\n      /// </summary>\n      /// <param name=\"value\">The value.</param>\n      /// <param name=\"targetType\">Type of the target.</param>\n      /// <param name=\"parameter\">The parameter.</param>\n      /// <param name=\"culture\">The culture.</param>\n      /// <returns>System.Object.</returns>\n      /// <exception cref=\"System.NotImplementedException\"></exception>\n      public object Convert(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)\n      {\n        throw new NotImplementedException();\n      }\n\n      public object Convert(object value, Type targetType, object fallBack, object parameter, CultureInfo culture)\n      {\n        throw new NotImplementedException();\n      }\n\n      public object ConvertBack(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)\n      {\n        throw new NotImplementedException();\n      }\n    }\n    private class MyBinding : IBinding\n    {\n      public IValueConverter Converter\n      {\n        set;\n        private get;\n      }\n      public UATypeInfo Encoding\n      {\n        get { throw new NotImplementedException(); }\n      }\n      public object Parameter\n      {\n        set;\n        get;\n      }\n      public System.Globalization.CultureInfo Culture\n      {\n        set;\n        private get;\n      }\n      public object FallbackValue { get; set; }\n\n      public void Assign2Repository(object value)\n      {\n        Assert.IsNotNull(Converter);\n        Assert.IsNotNull(Parameter);\n        Assert.IsNotNull(Culture);\n        Assert.IsNull(FallbackValue);\n      }\n      public void OnEnabling()\n      {\n        throw new NotImplementedException();\n      }\n      public void OnDisabling()\n      {\n        throw new NotImplementedException();\n      }\n    }\n\n  }\n}\n"
  },
  {
    "path": "Networking/Tests/SemanticDatalUnitTest/ExtensionsUnitTest.cs",
    "content": "﻿\nusing Microsoft.VisualStudio.TestTools.UnitTesting;\nusing UAOOI.Networking.SemanticData.DataRepository;\n\nnamespace UAOOI.Networking.SemanticData.UnitTest\n{\n  [TestClass]\n  public class ExtensionsUnitTest\n  {\n    [TestMethod]\n    [TestCategory(\"DataManagement_ExtensionsUnitTest\")]\n    public void IncRollOverTestMethod()\n    {\n      Assert.AreEqual<ushort>(0, ushort.MaxValue.IncRollOver());\n      Assert.AreEqual<ushort>(1, ((ushort)0).IncRollOver());\n      Assert.AreEqual<ushort>(ushort.MaxValue / 2 + 1, ((ushort)(ushort.MaxValue / 2)).IncRollOver());\n    }\n  }\n}\n"
  },
  {
    "path": "Networking/Tests/SemanticDatalUnitTest/HeaderTestHelpers.cs",
    "content": "﻿\nusing System;\nusing System.IO;\nusing UAOOI.Networking.SemanticData.Encoding;\nusing UAOOI.Networking.SemanticData.MessageHandling;\n\nnamespace UAOOI.Networking.SemanticData.UnitTest\n{\n\n  internal class HeaderWriterTest : IBinaryHeaderEncoder\n  {\n\n    #region constructor\n    public HeaderWriterTest(Action<Int64> callback, long startPosition)\n    {\n      b_Position = startPosition;\n      m_callBack = callback;\n    }\n    public HeaderWriterTest(Action<Int64> callback) : this(callback, 0) { }\n    #endregion\n\n    #region IBinaryHeaderWriter\n    public long Seek(int offset, SeekOrigin origin)\n    {\n      switch (origin)\n      {\n        case SeekOrigin.Begin:\n          Position = offset;\n          break;\n        case SeekOrigin.Current:\n          Position += offset;\n          if (Position < 0)\n            throw new ArgumentOutOfRangeException(\"Position\");\n          break;\n        case SeekOrigin.End:\n          Position = End + offset;\n          if (Position < 0)\n            throw new ArgumentOutOfRangeException(\"Position\");\n          break;\n      };\n      return Position;\n    }\n    public void Write(Guid value)\n    {\n      m_callBack(Position);\n      Position += 16;\n    }\n    public void Write(byte value)\n    {\n      m_callBack(Position);\n      Position++;\n    }\n    public void Write(int value)\n    {\n      m_callBack(Position);\n      Position += 4;\n    }\n    public void Write(bool value)\n    {\n      m_callBack(Position);\n      throw new NotImplementedException();\n    }\n    public void Write(sbyte value)\n    {\n      m_callBack(Position);\n      throw new NotImplementedException();\n    }\n    public void Write(short value)\n    {\n      throw new NotImplementedException();\n    }\n    public void Write(ushort value)\n    {\n      m_callBack(Position);\n      Position += 2;\n    }\n    public void Write(uint value)\n    {\n      m_callBack(Position);\n      Position += 4;\n    }\n    public void Write(long value)\n    {\n      throw new NotImplementedException();\n    }\n    public void Write(ulong value)\n    {\n      throw new NotImplementedException();\n    }\n    public void Write(float value)\n    {\n      throw new NotImplementedException();\n    }\n    public void Write(double value)\n    {\n      throw new NotImplementedException();\n    }\n    public void Write(string value)\n    {\n      throw new NotImplementedException();\n    }\n    public void Write(byte[] value)\n    {\n      throw new NotImplementedException();\n    }\n    public void Write(DateTime value)\n    {\n      m_callBack(Position);\n      Position += 8;\n    }\n    #endregion\n\n    internal long End = 0;\n    internal long Position\n    {\n      get { return b_Position; }\n      set\n      {\n        b_Position = value;\n        if (b_Position > End)\n          End = Position;\n      }\n    }\n    private long b_Position = 0;\n    private Action<Int64> m_callBack = null;\n\n  }\n  internal class HeaderReaderTest : IBinaryDecoder\n  {\n\n    public HeaderReaderTest(long startPosition)\n    {\n      m_Position = startPosition;\n    }\n    public HeaderReaderTest() : this(0) { }\n    public byte ReadByte()\n    {\n      byte _pos = Convert.ToByte(m_Position);\n      m_Position++;\n      return _pos;\n    }\n    public Guid ReadGuid()\n    {\n      m_Position += 16;\n      return CommonDefinitions.TestGuid;\n    }\n    int IBinaryDecoder.ReadInt32()\n    {\n      int _pos = Convert.ToInt32(m_Position);\n      m_Position += 4;\n      return _pos;\n    }\n    bool IBinaryDecoder.ReadBoolean()\n    {\n      throw new NotImplementedException();\n    }\n    sbyte IBinaryDecoder.ReadSByte()\n    {\n      throw new NotImplementedException();\n    }\n    short IBinaryDecoder.ReadInt16()\n    {\n      throw new NotImplementedException();\n    }\n    ushort IBinaryDecoder.ReadUInt16()\n    {\n      ushort _pos = Convert.ToUInt16(m_Position);\n      m_Position += 2;\n      return _pos;\n    }\n    uint IBinaryDecoder.ReadUInt32()\n    {\n      uint _pos = Convert.ToUInt32(m_Position);\n      m_Position += 4;\n      return _pos;\n    }\n    long IBinaryDecoder.ReadInt64()\n    {\n      throw new NotImplementedException();\n    }\n    ulong IBinaryDecoder.ReadUInt64()\n    {\n      throw new NotImplementedException();\n    }\n    float IBinaryDecoder.ReadSingle()\n    {\n      throw new NotImplementedException();\n    }\n    double IBinaryDecoder.ReadDouble()\n    {\n      throw new NotImplementedException();\n    }\n    public byte[] ReadBytes(int count)\n    {\n      throw new NotImplementedException();\n    }\n    public DateTime ReadDateTime()\n    {\n      m_Position += 8;\n      return CommonDefinitions.TestMinimalDateTime;\n    }\n\n    internal long m_Position = 0;\n\n  }\n\n}\n"
  },
  {
    "path": "Networking/Tests/SemanticDatalUnitTest/HeaderWriterUnitTest.cs",
    "content": "﻿\nusing Microsoft.VisualStudio.TestTools.UnitTesting;\nusing UAOOI.Networking.SemanticData.MessageHandling;\n\nnamespace UAOOI.Networking.SemanticData.UnitTest\n{\n  [TestClass]\n  public class HeaderWriterUnitTest\n  {\n    [TestMethod]\n    [TestCategory(\"DataManagement_HeaderWriterUnitTest\")]\n    public void CreatorTestMethod()\n    {\n      HeaderWriterTest _htw = new HeaderWriterTest(x => { });\n      HeaderWriter _hw = new HeaderWriter(_htw, 16);\n      Assert.AreEqual(16, _htw.Position);\n    }\n    [TestMethod]\n    [TestCategory(\"DataManagement_HeaderWriterUnitTest\")]\n    public void EndPositionTestMethod()\n    {\n      ushort _length = 16;\n      HeaderWriterTest _htw = new HeaderWriterTest(x => { });\n      HeaderWriter _hw = new HeaderWriter(_htw, _length);\n      _htw.Write((byte)0x1);\n      _htw.Write((byte)0x1);\n      _htw.Write((byte)0x1);\n      _htw.Write((byte)0x1);\n      Assert.AreEqual<long>(_length + 4, _htw.Position);\n    }\n    [TestMethod]\n    [TestCategory(\"DataManagement_HeaderWriterUnitTest\")]\n    public void WriteTestMethod()\n    {\n      ushort _length = 16;\n      HeaderWriterTest _htw = new HeaderWriterTest(x => { });\n      HeaderWriter _hw = new HeaderWriter(_htw, _length);\n      _htw.Write((byte)0x1);\n      _htw.Write((byte)0x1);\n      _htw.Write((byte)0x1);\n      _htw.Write((byte)0x1);\n      _hw.WriteHeader((x, y) => { });\n      Assert.AreEqual<long>(_length + 4, _htw.Position);\n      _htw.Write((byte)0x1);\n      _htw.Write((byte)0x1);\n      _htw.Write((byte)0x1);\n      _htw.Write((byte)0x1);\n      Assert.AreEqual<long>(_length + 8, _htw.Position);\n      _hw.WriteHeader((x, y) => { });\n      Assert.AreEqual<long>(_length + 8, _htw.Position);\n    }\n  }\n}\n"
  },
  {
    "path": "Networking/Tests/SemanticDatalUnitTest/Helpers/MyState.cs",
    "content": "﻿//___________________________________________________________________________________\n//\n//  Copyright (C) 2019, Mariusz Postol LODZ POLAND.\n//\n//  To be in touch join the community at GITTER: https://gitter.im/mpostol/OPC-UA-OOI\n//___________________________________________________________________________________\n\nusing System;\nusing UAOOI.Networking.Core;\n\nnamespace UAOOI.Networking.SemanticData.UnitTest.Helpers\n{\n  internal class MyState : IAssociationState\n  {\n\n    /// <summary>\n    /// Initializes a new instance of the <see cref=\"MyState\"/> class.\n    /// </summary>\n    public MyState()\n    {\n      State = HandlerState.Disabled;\n    }\n    /// <summary>\n    /// Gets the current state <see cref=\"HandlerState\" /> of the <see cref=\"Association\" /> instance.\n    /// </summary>\n    /// <value>The state of <see cref=\"HandlerState\" /> type.</value>\n    public HandlerState State\n    {\n      get;\n      private set;\n    }\n    /// <summary>\n    /// This method is used to enable a configured <see cref=\"Association\" /> object. If a normal operation is possible, the state changes into <see cref=\"HandlerState.Operational\" /> state.\n    /// In the case of an error situation, the state changes into <see cref=\"HandlerState.Error\" />. The operation is rejected if the current <see cref=\"State\" />  is not <see cref=\"HandlerState.Disabled\" />.\n    /// </summary>\n    /// <exception cref=\"System.ArgumentException\">Wrong state</exception>\n    public void Enable()\n    {\n      if (State != HandlerState.Disabled)\n        throw new ArgumentException(\"Wrong state\");\n      State = HandlerState.Operational;\n    }\n    /// <summary>\n    /// This method is used to disable an already enabled <see cref=\"Association\" /> object.\n    /// This method call shall be rejected if the current State is <see cref=\"HandlerState.Disabled\" /> or <see cref=\"HandlerState.NoConfiguration\" />.\n    /// </summary>\n    /// <exception cref=\"System.ArgumentException\">Wrong state</exception>\n    public void Disable()\n    {\n      if (State != HandlerState.Operational)\n        throw new ArgumentException(\"Wrong state\");\n      State = HandlerState.Disabled;\n    }\n\n  }\n}\n"
  },
  {
    "path": "Networking/Tests/SemanticDatalUnitTest/Helpers/UABinaryDecoderImplementation.cs",
    "content": "﻿\nusing System;\nusing System.Xml;\nusing UAOOI.Networking.SemanticData.Encoding;\n\nnamespace UAOOI.Networking.SemanticData.UnitTest.Helpers\n{\n\n  /// <summary>\n  /// Class UABinaryDecoderImplementation - limited implementation of the <see cref=\"UABinaryDecoder\"/> for the testing purpose only.\n  /// </summary>\n  internal class UABinaryDecoderImplementation : UABinaryDecoder\n  {\n\n    #region Encoding.UABinaryDecoder\n    public override IDataValue ReadDataValue(IBinaryDecoder decoder)\n    {\n      throw new NotImplementedException();\n    }\n    public override IDiagnosticInfo ReadDiagnosticInfo(IBinaryDecoder decoder)\n    {\n      throw new NotImplementedException();\n    }\n    public override IExpandedNodeId ReadExpandedNodeId(IBinaryDecoder decoder)\n    {\n      throw new NotImplementedException();\n    }\n    public override IExtensionObject ReadExtensionObject(IBinaryDecoder decoder)\n    {\n      throw new NotImplementedException();\n    }\n    public override ILocalizedText ReadLocalizedText(IBinaryDecoder decoder)\n    {\n      throw new NotImplementedException();\n    }\n    public override INodeId ReadNodeId(IBinaryDecoder decoder)\n    {\n      throw new NotImplementedException();\n    }\n    public override IQualifiedName ReadQualifiedName(IBinaryDecoder decoder)\n    {\n      throw new NotImplementedException();\n    }\n    public override IStatusCode ReadStatusCode(IBinaryDecoder decoder)\n    {\n      throw new NotImplementedException();\n    }\n    public override XmlElement ReadXmlElement(IBinaryDecoder decoder)\n    {\n      throw new NotImplementedException();\n    }\n    #endregion\n\n  }\n\n}\n"
  },
  {
    "path": "Networking/Tests/SemanticDatalUnitTest/Helpers/UABinaryEncoderImplementation.cs",
    "content": "﻿\nusing System;\nusing System.Xml;\nusing UAOOI.Networking.SemanticData.Encoding;\n\nnamespace UAOOI.Networking.SemanticData.UnitTest.Helpers\n{\n  /// <summary>\n  /// Class UABinaryEncoderImplementation - limited implementation of the <see cref=\"UABinaryEncoder\"/> for the testing purpose only.\n  /// </summary>\n  internal class UABinaryEncoderImplementation : UABinaryEncoder\n  {\n    public override void Write(IBinaryEncoder encoder, IDataValue value)\n    {\n      throw new NotImplementedException();\n    }\n    public override void Write(IBinaryEncoder encoder, IDiagnosticInfo value)\n    {\n      throw new NotImplementedException();\n    }\n    public override void Write(IBinaryEncoder encoder, IExpandedNodeId value)\n    {\n      throw new NotImplementedException();\n    }\n    public override void Write(IBinaryEncoder encoder, IExtensionObject value)\n    {\n      throw new NotImplementedException();\n    }\n    public override void Write(IBinaryEncoder encoder, ILocalizedText value)\n    {\n      throw new NotImplementedException();\n    }\n    public override void Write(IBinaryEncoder encoder, INodeId value)\n    {\n      throw new NotImplementedException();\n    }\n    public override void Write(IBinaryEncoder encoder, IQualifiedName value)\n    {\n      throw new NotImplementedException();\n    }\n    public override void Write(IBinaryEncoder encoder, IStatusCode value)\n    {\n      throw new NotImplementedException();\n    }\n    public override void Write(IBinaryEncoder encoder, IVariant value)\n    {\n      base.Write(encoder, value);\n    }\n    public override void Write(IBinaryEncoder encoder, XmlElement value)\n    {\n      throw new NotImplementedException();\n    }\n\n  }\n}\n"
  },
  {
    "path": "Networking/Tests/SemanticDatalUnitTest/MessageHandlerFactory/BinaryDataTransferGraphBaseFixture.cs",
    "content": "﻿//___________________________________________________________________________________\n//\n//  Copyright (C) 2019, Mariusz Postol LODZ POLAND.\n//\n//  To be in touch join the community at GITTER: https://gitter.im/mpostol/OPC-UA-OOI\n//___________________________________________________________________________________\n\nusing Microsoft.VisualStudio.TestTools.UnitTesting;\nusing UAOOI.Networking.Core;\nusing UAOOI.Networking.SemanticData.UnitTest.Helpers;\n\nnamespace UAOOI.Networking.SemanticData.UnitTest.MessageHandlerFactory\n{\n  internal abstract class BinaryDataTransferGraphBaseFixture\n  {\n    #region IBinaryStreamObservable\n    public IAssociationState State { get; set; } = new MyState();\n    public void AttachToNetwork()\n    {\n      NumberOfAttachToNetwork++;\n    }\n    #endregion\n\n    #region IDisposable\n    public void Dispose()\n    {\n      DisposeCount++;\n    }\n    #endregion\n\n    internal virtual void AssertConsistency()\n    {\n      Assert.AreEqual<int>(1, DisposeCount);\n    }\n\n    #region private\n    internal int NumberOfAttachToNetwork = 0;\n    internal int DisposeCount = 0;\n    #endregion\n\n  }\n}\n"
  },
  {
    "path": "Networking/Tests/SemanticDatalUnitTest/MessageHandlerFactory/BinaryDataTransferGraphReceiverFixture.cs",
    "content": "﻿//___________________________________________________________________________________\n//\n//  Copyright (C) 2019, Mariusz Postol LODZ POLAND.\n//\n//  To be in touch join the community at GITTER: https://gitter.im/mpostol/OPC-UA-OOI\n//___________________________________________________________________________________\n\nusing System;\nusing UAOOI.Networking.Core;\n\nnamespace UAOOI.Networking.SemanticData.UnitTest.MessageHandlerFactory\n{\n  internal abstract class BinaryDataTransferGraphReceiverFixture : BinaryDataTransferGraphBaseFixture, IBinaryDataTransferGraphReceiver\n  {\n\n\n    #region IBinaryDataTransferGraphReceiver\n    public event EventHandler<byte[]> OnNewFrameArrived;\n    #endregion\n\n    internal void SendUDPMessage(byte[] buffer, uint semanticData)\n    {\n      OnNewFrameArrived.Invoke(this, buffer);\n      m_NumberOfSentMessages++;\n      m_NumberOfSentBytes += buffer.Length;\n      m_SemanticData = semanticData;\n    }\n\n    #region tetst instrumentation\n    internal uint m_SemanticData;\n    internal int m_NumberOfSentBytes = 0;\n    internal int m_NumberOfSentMessages = 0;\n    #endregion\n\n  }\n}\n"
  },
  {
    "path": "Networking/Tests/SemanticDatalUnitTest/MessageHandlerFactory/BinaryDataTransferGraphSenderFixture.cs",
    "content": "﻿//___________________________________________________________________________________\n//\n//  Copyright (C) 2019, Mariusz Postol LODZ POLAND.\n//\n//  To be in touch join the community at GITTER: https://gitter.im/mpostol/OPC-UA-OOI\n//___________________________________________________________________________________\n\nusing UAOOI.Networking.Core;\n\nnamespace UAOOI.Networking.SemanticData.UnitTest.MessageHandlerFactory\n{\n\n  internal abstract class BinaryDataTransferGraphSenderFixture : BinaryDataTransferGraphBaseFixture,  IBinaryDataTransferGraphSender\n  {\n\n    #region IBinaryStreamObservable\n    public void SendFrame(byte[] buffer)\n    {\n      m_NumberOfSentBytes += buffer.Length;\n      m_NumberOfSentMessages++;\n      Buffer = buffer;\n    }\n    #endregion\n\n    #region instrumentation\n    internal byte[] Buffer { get; private set; }\n    internal int m_NumberOfSentMessages = 0;\n    internal int m_NumberOfSentBytes = 0;\n    #endregion\n\n  }\n\n}\n"
  },
  {
    "path": "Networking/Tests/SemanticDatalUnitTest/MessageHandlerFactory/MessageHandlerFactoryFixture.cs",
    "content": "﻿//___________________________________________________________________________________\n//\n//  Copyright (C) 2019, Mariusz Postol LODZ POLAND.\n//\n//  To be in touch join the community at GITTER: https://gitter.im/mpostol/OPC-UA-OOI\n//___________________________________________________________________________________\n\nusing System.Collections.Generic;\nusing UAOOI.Networking.Core;\n\nnamespace UAOOI.Networking.SemanticData.UnitTest.MessageHandlerFactory\n{\n  internal abstract class MessageHandlerFactoryFixture : IMessageHandlerFactory\n  {\n\n    public MessageHandlerFactoryFixture()\n    {\n      BinaryDataTransferGraphReceiverFixtureList = new List<BinaryDataTransferGraphReceiverFixture>();\n      BinaryDataTransferGraphSenderFixtureList = new List<BinaryDataTransferGraphSenderFixture>();\n    }\n\n    #region IMessageHandlerFactory\n    public IBinaryDataTransferGraphReceiver GetBinaryDTGReceiver(string name, string configuration)\n    {\n      BinaryDataTransferGraphReceiverFixture _newFixture = NewBinaryDataTransferGraphReceiverFixture();\n      BinaryDataTransferGraphReceiverFixtureList.Add(_newFixture);\n      return _newFixture;\n    }\n    public IBinaryDataTransferGraphSender GetBinaryDTGSender(string name, string configuration)\n    {\n      BinaryDataTransferGraphSenderFixture _newFixture = NewBinaryDataTransferGraphSenderFixture();\n      BinaryDataTransferGraphSenderFixtureList.Add(_newFixture);\n      return _newFixture;\n    }\n    #endregion\n\n    internal virtual void AssertConsistency()\n    {\n      foreach (BinaryDataTransferGraphReceiverFixture item in BinaryDataTransferGraphReceiverFixtureList)\n        item.AssertConsistency();\n      foreach (BinaryDataTransferGraphSenderFixture item in BinaryDataTransferGraphSenderFixtureList)\n        item.AssertConsistency();\n    }\n\n    protected abstract BinaryDataTransferGraphReceiverFixture NewBinaryDataTransferGraphReceiverFixture();\n    protected abstract BinaryDataTransferGraphSenderFixture NewBinaryDataTransferGraphSenderFixture();\n    protected static List<BinaryDataTransferGraphReceiverFixture> BinaryDataTransferGraphReceiverFixtureList = new List<BinaryDataTransferGraphReceiverFixture>();\n    protected static List<BinaryDataTransferGraphSenderFixture> BinaryDataTransferGraphSenderFixtureList = new List<BinaryDataTransferGraphSenderFixture>();\n\n  }\n\n}\n"
  },
  {
    "path": "Networking/Tests/SemanticDatalUnitTest/MessageHeaderUnitTest.cs",
    "content": "﻿\nusing System;\nusing Microsoft.VisualStudio.TestTools.UnitTesting;\nusing UAOOI.Networking.SemanticData.MessageHandling;\nusing System.IO;\nusing System.Linq;\nusing UAOOI.Configuration.Networking.Serialization;\n\nnamespace UAOOI.Networking.SemanticData.UnitTest\n{\n  [TestClass]\n  public class MessageHeaderUnitTest\n  {\n    [TestMethod]\n    [TestCategory(\"DataManagement_MessageHeaderUnitTest\")]\n    public void ProducerMessageHeaderTestMethod1()\n    {\n      byte[] _output = null;\n      using (MemoryStream _outputStream = new MemoryStream())\n      using (HeaderBinaryWriter _writer = new HeaderBinaryWriter(_outputStream))\n      {\n        MessageHeader _header = MessageHeader.GetProducerMessageHeader\n          (_writer, FieldEncodingEnum.VariantFieldEncoding, MessageLengthFieldTypeEnum.TwoBytes, MessageTypeEnum.DataDeltaFrame, new ConfigurationVersionDataType() { MajorVersion = 7, MinorVersion = 8 });\n        Assert.IsNotNull(_header);\n        //Default values\n        Assert.AreEqual<ushort>(1, _header.EncodingFlags);\n        Assert.AreEqual<MessageTypeEnum>(MessageTypeEnum.DataDeltaFrame, _header.MessageType);\n        Assert.AreEqual<ushort>(0, _header.MessageSequenceNumber);\n        Assert.AreEqual<ushort>(7, _header.ConfigurationVersion.MajorVersion);\n        Assert.AreEqual<ushort>(8, _header.ConfigurationVersion.MinorVersion);\n        SetupProducerHeaderFields(_header);\n        _header.Synchronize();\n        _writer.Flush();\n        _output = _outputStream.ToArray();\n      }\n      Assert.AreEqual<int>(18, _output.Length);\n      byte[] _expected = new byte[] {\n        0x02, //MessageType \n        0x01, //EncodingFlags\n        0x12, 0x00, // MessageLength\n        0x08, 0x00, //MessageSequenceNumber\n        0x06, 0x07, //ConfigurationVersion\n        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //TimeStamp\n        0x10, 0x00 // FieldCount\n      };\n      CollectionAssert.AreEqual(_expected, _output);\n    }\n    [TestMethod]\n    [TestCategory(\"DataManagement_MessageHeaderUnitTest\")]\n    public void ProducerMessageLengthTestMethod1()\n    {\n      string m_Date = System.DateTime.Today.ToShortDateString();\n      byte[] _output = null;\n      using (MemoryStream _outputStream = new MemoryStream())\n      using (HeaderBinaryWriter _writer = new HeaderBinaryWriter(_outputStream))\n      {\n        MessageHeader _header = MessageHeader.GetProducerMessageHeader\n          (_writer, FieldEncodingEnum.VariantFieldEncoding, MessageLengthFieldTypeEnum.TwoBytes, MessageTypeEnum.DataDeltaFrame, new ConfigurationVersionDataType() { MajorVersion = 7, MinorVersion = 8 });\n        Assert.IsNotNull(_header);\n        SetupProducerHeaderFields(_header);\n        _writer.Write(UInt32.MaxValue);\n        _writer.Write(UInt32.MaxValue);\n        _writer.Write(UInt32.MaxValue);\n        _writer.Write(UInt32.MaxValue);\n        _writer.Write(UInt32.MaxValue);\n        _writer.Write(UInt32.MaxValue);\n        _writer.Write(UInt32.MaxValue);\n        _writer.Write(UInt32.MaxValue);\n        _writer.Write(UInt32.MaxValue);\n        _writer.Write(UInt32.MaxValue);\n        _header.Synchronize();\n        _writer.Flush();\n        _output = _outputStream.ToArray();\n      }\n      Assert.AreEqual<int>(58, _output.Length);\n      byte[] _expected = new byte[] {\n        0x02, //MessageType \n        0x01, //EncodingFlags\n        0x3A, 0x00, // MessageLength\n        0x08, 0x00, // MessageSequenceNumber\n        0x06, 0x07, // ConfigurationVersion\n        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //TimeStamp\n        0x10, 0x00, // FieldCount\n        0xFF, 0xFF, 0xFF, 0xFF,\n        0xFF, 0xFF, 0xFF, 0xFF,\n        0xFF, 0xFF, 0xFF, 0xFF,\n        0xFF, 0xFF, 0xFF, 0xFF,\n        0xFF, 0xFF, 0xFF, 0xFF,\n        0xFF, 0xFF, 0xFF, 0xFF,\n        0xFF, 0xFF, 0xFF, 0xFF,\n        0xFF, 0xFF, 0xFF, 0xFF,\n        0xFF, 0xFF, 0xFF, 0xFF,\n        0xFF, 0xFF, 0xFF, 0xFF\n      };\n      CollectionAssert.AreEqual(_expected, _output);\n    }\n    [TestMethod]\n    [TestCategory(\"DataManagement_MessageHeaderUnitTest\")]\n    public void ConsumerMessageHeaderTestMethod()\n    {\n      HeaderReaderTest _reader = new HeaderReaderTest();\n      MessageHeader _header = MessageHeader.GetConsumerMessageHeader(_reader);\n      Assert.IsNotNull(_header);\n      _header.Synchronize();\n      Assert.AreEqual<ushort>(0, (byte)_header.MessageType);\n      Assert.AreEqual<ushort>(1, _header.EncodingFlags);\n      Assert.AreEqual<UInt32>(2, _header.MessageLength);\n      Assert.AreEqual<ushort>(4, _header.MessageSequenceNumber);\n      Assert.AreEqual<ushort>(6, _header.ConfigurationVersion.MajorVersion);\n      Assert.AreEqual<ushort>(7, _header.ConfigurationVersion.MinorVersion);\n      //Assert.AreEqual<ushort>(16, _header.FieldCount);\n      //Assert.AreEqual<DateTime>(CommonDefinitions.TestMinimalDateTime, _header.TimeStamp);\n      Assert.AreEqual<long>(8, _reader.m_Position);\n      Assert.AreEqual<FieldEncodingEnum>(FieldEncodingEnum.VariantFieldEncoding, _header.FieldsEncoding);\n    }\n\n    #region instrumentation\n    private class HeaderBinaryWriter : BinaryWriter, IBinaryHeaderEncoder\n    {\n      public HeaderBinaryWriter(Stream output) : base(output) { }\n      public void Write(DateTime value)\n      {\n        Write(Encoding.CommonDefinitions.GetUADataTimeTicks(value));\n      }\n      public void Write(Guid value)\n      {\n        Write(value.ToByteArray());\n      }\n    }\n    private static void SetupProducerHeaderFields(MessageHeader _header)\n    {\n      _header.MessageSequenceNumber = 8;\n      _header.ConfigurationVersion = new ConfigurationVersionDataType() { MajorVersion = 6, MinorVersion = 7 };\n      _header.TimeStamp = CommonDefinitions.TestMinimalDateTime;\n      _header.FieldCount = 16;\n    }\n    #endregion\n  }\n}\n"
  },
  {
    "path": "Networking/Tests/SemanticDatalUnitTest/MessageWriterBaseTest.cs",
    "content": "﻿//___________________________________________________________________________________\n//\n//  Copyright (C) 2019, Mariusz Postol LODZ POLAND.\n//\n//  To be in touch join the community at GITTER: https://gitter.im/mpostol/OPC-UA-OOI\n//___________________________________________________________________________________\n\nusing System;\nusing Microsoft.VisualStudio.TestTools.UnitTesting;\nusing UAOOI.Configuration.Networking.Serialization;\nusing UAOOI.Networking.Core;\nusing UAOOI.Networking.SemanticData.DataRepository;\nusing UAOOI.Networking.SemanticData.MessageHandling;\nusing UAOOI.Networking.SemanticData.UnitTest.Helpers;\n\nnamespace UAOOI.Networking.SemanticData.UnitTest\n{\n\n  [TestClass]\n  public class MessageWriterBaseTest\n  {\n\n    [TestMethod]\n    [TestCategory(\"DataManagement_MessageWriter\")]\n    public void CreatorTestMethod1()\n    {\n      TypesMessageWriter _bmw = new TypesMessageWriter();\n      Assert.IsNotNull(_bmw);\n      _bmw.AttachToNetwork();\n      Assert.IsTrue(_bmw.State.State == HandlerState.Operational);\n    }\n    [TestMethod]\n    [TestCategory(\"DataManagement_MessageWriter\")]\n    [ExpectedException(typeof(ArgumentOutOfRangeException))]\n    public void ObjectTestMethod()\n    {\n      TypesMessageWriter _bmw = new TypesMessageWriter();\n      _bmw.AttachToNetwork();\n      ProducerBinding _binding = new ProducerBinding\n      {\n        Value = new TestClass()\n      };\n      ((IMessageWriter)_bmw).Send(x => _binding, 1, ulong.MaxValue, FieldEncodingEnum.VariantFieldEncoding, TestDataSelector, 0, DateTime.UtcNow,\n        new ConfigurationVersionDataType() { MajorVersion = 0, MinorVersion = 0 });\n    }\n    [TestMethod]\n    [TestCategory(\"DataManagement_MessageWriter\")]\n    [ExpectedException(typeof(NullReferenceException))]\n    public void NullableTestMethod()\n    {\n      TypesMessageWriter _bmw = new TypesMessageWriter();\n      _bmw.AttachToNetwork();\n      Assert.IsTrue(_bmw.State.State == HandlerState.Operational);\n      ProducerBinding _binding = new ProducerBinding(BuiltInType.Float)\n      {\n        Value = new Nullable<float>()\n      };\n      ((IMessageWriter)_bmw).Send(x => _binding, 1, ulong.MaxValue, FieldEncodingEnum.VariantFieldEncoding, TestDataSelector, 0, DateTime.UtcNow, new ConfigurationVersionDataType() { MajorVersion = 0, MinorVersion = 0 });\n    }\n    [TestMethod]\n    [TestCategory(\"DataManagement_MessageWriter\")]\n    public void SendTestMethod()\n    {\n      TypesMessageWriter _bmw = new TypesMessageWriter();\n      _bmw.AttachToNetwork();\n      Assert.IsTrue(_bmw.State.State == HandlerState.Operational);\n      ProducerBinding _binding = new ProducerBinding\n      {\n        Value = string.Empty\n      };\n      int _sentItems = 0;\n      ((IMessageWriter)_bmw).Send((x) => { _binding.Value = CommonDefinitions.TestValues[x]; _sentItems++; return _binding; },\n                                   Convert.ToUInt16(CommonDefinitions.TestValues.Length),\n                                   ulong.MaxValue,\n                                   FieldEncodingEnum.VariantFieldEncoding,\n                                   TestDataSelector,\n                                   0,\n                                   DateTime.UtcNow,\n                                   new ConfigurationVersionDataType() { MajorVersion = 0, MinorVersion = 0 }\n                                   );\n      Assert.AreEqual(CommonDefinitions.TestValues.Length, _sentItems);\n    }\n\n    private class TestClass { }\n    private readonly DataSelector TestDataSelector = new DataSelector() { PublisherId = Guid.NewGuid(), DataSetWriterId = ushort.MaxValue };\n    private class ProducerBinding : IProducerBinding\n    {\n\n      internal object Value;\n      private readonly BuiltInType _builtInType;\n\n      public ProducerBinding(BuiltInType builtInType)\n      {\n        _builtInType = builtInType;\n      }\n      public ProducerBinding() { }\n\n      #region IProducerBinding\n      public bool NewValue => true;\n      public object GetFromRepository()\n      {\n        return Value;\n      }\n      public IValueConverter Converter\n      {\n        set => throw new NotImplementedException();\n      }\n      public UATypeInfo Encoding\n      {\n        get\n        {\n          if (Value == null)\n            return new UATypeInfo(_builtInType);\n          switch (Type.GetTypeCode(Value.GetType()))\n          {\n            case TypeCode.Boolean:\n              return new UATypeInfo(BuiltInType.Boolean);\n            case TypeCode.SByte:\n              return new UATypeInfo(BuiltInType.SByte);\n            case TypeCode.Byte:\n              return new UATypeInfo(BuiltInType.Byte);\n            case TypeCode.Int16:\n              return new UATypeInfo(BuiltInType.Int16);\n            case TypeCode.UInt16:\n              return new UATypeInfo(BuiltInType.UInt16);\n            case TypeCode.Int32:\n              return new UATypeInfo(BuiltInType.Int32);\n            case TypeCode.UInt32:\n              return new UATypeInfo(BuiltInType.UInt32);\n            case TypeCode.Int64:\n              return new UATypeInfo(BuiltInType.Int64);\n            case TypeCode.UInt64:\n              return new UATypeInfo(BuiltInType.UInt64);\n            case TypeCode.Single:\n              return new UATypeInfo(BuiltInType.Float);\n            case TypeCode.Double:\n              return new UATypeInfo(BuiltInType.Double);\n            case TypeCode.DateTime:\n              return new UATypeInfo(BuiltInType.DateTime);\n            case TypeCode.String:\n              return new UATypeInfo(BuiltInType.String);\n            default:\n              throw new ArgumentOutOfRangeException(nameof(Value));\n          }\n          throw new ArgumentOutOfRangeException(nameof(Value));\n        }\n      }\n      public object Parameter\n      {\n        get => null;\n        set { }\n      }\n      public System.Globalization.CultureInfo Culture\n      {\n        set => throw new NotImplementedException();\n      }\n\n      public object FallbackValue { set => throw new NotImplementedException(); }\n\n      public void OnEnabling()\n      {\n        throw new NotImplementedException();\n      }\n      public void OnDisabling()\n      {\n        throw new NotImplementedException();\n      }\n      public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged;\n      #endregion\n\n    }\n    private class TypesMessageWriter : MessageWriterBase\n    {\n\n      #region creator\n      public TypesMessageWriter() : base(new Helpers.UABinaryEncoderImplementation())\n      {\n        State = new MyState();\n      }\n      #endregion\n\n      #region BinaryMessageWriter\n      public override IAssociationState State\n      {\n        get;\n        set;\n      }\n      public override void AttachToNetwork()\n      {\n        Assert.AreNotEqual<HandlerState>(HandlerState.Operational, State.State);\n        State.Enable();\n      }\n      public override void Write(ulong value)\n      {\n        Assert.IsInstanceOfType(value, typeof(ulong));\n      }\n      public override void Write(uint value)\n      {\n        Assert.IsInstanceOfType(value, typeof(uint));\n      }\n      public override void Write(ushort value)\n      {\n        Assert.IsInstanceOfType(value, typeof(ushort));\n      }\n      public override void Write(float value)\n      {\n        Assert.IsInstanceOfType(value, typeof(float));\n      }\n      public override void Write(sbyte value)\n      {\n        Assert.IsInstanceOfType(value, typeof(sbyte));\n      }\n      public override void Write(long value)\n      {\n        Assert.IsInstanceOfType(value, typeof(long));\n      }\n      public override void Write(int value)\n      {\n        Assert.IsInstanceOfType(value, typeof(int));\n      }\n      public override void Write(short value)\n      {\n        Assert.IsInstanceOfType(value, typeof(short));\n      }\n      public override void Write(double value)\n      {\n        Assert.IsInstanceOfType(value, typeof(double));\n      }\n      public override void Write(byte value)\n      {\n        Assert.IsInstanceOfType(value, typeof(byte));\n      }\n      public override void Write(bool value)\n      {\n        Assert.IsInstanceOfType(value, typeof(bool));\n      }\n      public override void Write(byte[] value)\n      {\n        Assert.IsInstanceOfType(value, typeof(byte[]));\n      }\n      protected internal override void CreateMessage\n        (FieldEncodingEnum encoding, Guid producerId, ushort dataSetWriterId, ushort fieldCount, ushort sequenceNumber, DateTime timeStamp, ConfigurationVersionDataType configurationVersion)\n      {\n        MassageCreated = true;\n      }\n      protected override void SendMessage() { }\n      #endregion\n\n      #region test infrastructure\n      internal bool MassageCreated = false;\n      #endregion\n\n    }\n\n  }\n}\n"
  },
  {
    "path": "Networking/Tests/SemanticDatalUnitTest/Networking.SemanticData.UnitTest.csproj",
    "content": "﻿<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<Project ToolsVersion=\"12.0\" DefaultTargets=\"Build\" xmlns=\"http://schemas.microsoft.com/developer/msbuild/2003\">\n  <PropertyGroup>\n    <Configuration Condition=\" '$(Configuration)' == '' \">Debug</Configuration>\n    <Platform Condition=\" '$(Platform)' == '' \">AnyCPU</Platform>\n    <ProjectGuid>{F7C29437-0923-449C-B4E9-36653A55C3E5}</ProjectGuid>\n    <OutputType>Library</OutputType>\n    <AppDesignerFolder>Properties</AppDesignerFolder>\n    <RootNamespace>UAOOI.Networking.SemanticData.UnitTest</RootNamespace>\n    <AssemblyName>UAOOI.Networking.SemanticData.UnitTest</AssemblyName>\n    <TargetFrameworkVersion>v4.7.2</TargetFrameworkVersion>\n    <FileAlignment>512</FileAlignment>\n    <ProjectTypeGuids>{3AC096D0-A1C2-E12C-1390-A8335801FDAB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>\n    <VisualStudioVersion Condition=\"'$(VisualStudioVersion)' == ''\">10.0</VisualStudioVersion>\n    <VSToolsPath Condition=\"'$(VSToolsPath)' == ''\">$(MSBuildExtensionsPath32)\\Microsoft\\VisualStudio\\v$(VisualStudioVersion)</VSToolsPath>\n    <ReferencePath>$(ProgramFiles)\\Common Files\\microsoft shared\\VSTT\\$(VisualStudioVersion)\\UITestExtensionPackages</ReferencePath>\n    <IsCodedUITest>True</IsCodedUITest>\n    <TestProjectType>UnitTest</TestProjectType>\n    <TargetFrameworkProfile />\n  </PropertyGroup>\n  <PropertyGroup Condition=\" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' \">\n    <DebugSymbols>true</DebugSymbols>\n    <DebugType>full</DebugType>\n    <Optimize>false</Optimize>\n    <OutputPath>bin\\Debug\\</OutputPath>\n    <DefineConstants>DEBUG;TRACE</DefineConstants>\n    <ErrorReport>prompt</ErrorReport>\n    <WarningLevel>4</WarningLevel>\n    <NoWarn>IDE0001,IDE0002,IDE0003,,CS0067. IDE0049</NoWarn>\n    <UseVSHostingProcess>false</UseVSHostingProcess>\n  </PropertyGroup>\n  <PropertyGroup Condition=\" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' \">\n    <DebugType>pdbonly</DebugType>\n    <Optimize>true</Optimize>\n    <OutputPath>bin\\Release\\</OutputPath>\n    <DefineConstants>TRACE</DefineConstants>\n    <ErrorReport>prompt</ErrorReport>\n    <WarningLevel>4</WarningLevel>\n    <NoWarn>IDE0001,IDE0003</NoWarn>\n  </PropertyGroup>\n  <PropertyGroup>\n    <SignAssembly>true</SignAssembly>\n  </PropertyGroup>\n  <PropertyGroup>\n    <AssemblyOriginatorKeyFile>OPCUAOOIKey.snk</AssemblyOriginatorKeyFile>\n  </PropertyGroup>\n  <ItemGroup>\n    <Reference Include=\"CommonServiceLocator, Version=2.0.6.0, Culture=neutral, PublicKeyToken=489b6accfaf20ef0, processorArchitecture=MSIL\">\n      <HintPath>..\\..\\..\\packages\\CommonServiceLocator.2.0.6\\lib\\net47\\CommonServiceLocator.dll</HintPath>\n    </Reference>\n    <Reference Include=\"Microsoft.Practices.EnterpriseLibrary.SemanticLogging, Version=2.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL\">\n      <HintPath>..\\..\\..\\packages\\EnterpriseLibrary.SemanticLogging.2.0.1406.1\\lib\\net45\\Microsoft.Practices.EnterpriseLibrary.SemanticLogging.dll</HintPath>\n    </Reference>\n    <Reference Include=\"Microsoft.VisualStudio.QualityTools.UnitTestFramework, Version=10.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL\">\n      <Private>False</Private>\n    </Reference>\n    <Reference Include=\"Newtonsoft.Json, Version=13.0.0.0, Culture=neutral, PublicKeyToken=30ad4fe6b2a6aeed, processorArchitecture=MSIL\">\n      <HintPath>..\\..\\..\\packages\\Newtonsoft.Json.13.0.1\\lib\\net45\\Newtonsoft.Json.dll</HintPath>\n    </Reference>\n    <Reference Include=\"System\" />\n    <Reference Include=\"System.Data\" />\n    <Reference Include=\"System.Diagnostics.TraceSource, Version=4.0.1.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL\">\n      <HintPath>..\\..\\..\\packages\\System.Diagnostics.TraceSource.4.3.0\\lib\\net46\\System.Diagnostics.TraceSource.dll</HintPath>\n      <Private>True</Private>\n      <Private>True</Private>\n    </Reference>\n    <Reference Include=\"System.Drawing\" />\n    <Reference Include=\"System.Reactive, Version=5.0.0.0, Culture=neutral, PublicKeyToken=94bc3704cddfc263, processorArchitecture=MSIL\">\n      <HintPath>..\\..\\..\\packages\\System.Reactive.5.0.0\\lib\\net472\\System.Reactive.dll</HintPath>\n    </Reference>\n    <Reference Include=\"System.Reactive.Core, Version=3.0.6000.0, Culture=neutral, PublicKeyToken=94bc3704cddfc263, processorArchitecture=MSIL\">\n      <HintPath>..\\..\\..\\packages\\System.Reactive.Core.5.0.0\\lib\\net472\\System.Reactive.Core.dll</HintPath>\n    </Reference>\n    <Reference Include=\"System.Reactive.Interfaces, Version=3.0.6000.0, Culture=neutral, PublicKeyToken=94bc3704cddfc263, processorArchitecture=MSIL\">\n      <HintPath>..\\..\\..\\packages\\System.Reactive.Interfaces.5.0.0\\lib\\net472\\System.Reactive.Interfaces.dll</HintPath>\n    </Reference>\n    <Reference Include=\"System.Runtime.CompilerServices.Unsafe, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL\">\n      <HintPath>..\\..\\..\\packages\\System.Runtime.CompilerServices.Unsafe.6.0.0\\lib\\net461\\System.Runtime.CompilerServices.Unsafe.dll</HintPath>\n    </Reference>\n    <Reference Include=\"System.Runtime.Serialization\" />\n    <Reference Include=\"System.ServiceModel\" />\n    <Reference Include=\"System.ServiceModel.Channels\" />\n    <Reference Include=\"System.Threading.Tasks.Extensions, Version=4.2.0.1, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL\">\n      <HintPath>..\\..\\..\\packages\\System.Threading.Tasks.Extensions.4.5.4\\lib\\net461\\System.Threading.Tasks.Extensions.dll</HintPath>\n    </Reference>\n    <Reference Include=\"System.ValueTuple, Version=4.0.3.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL\">\n      <HintPath>..\\..\\..\\packages\\System.ValueTuple.4.5.0\\lib\\net47\\System.ValueTuple.dll</HintPath>\n    </Reference>\n    <Reference Include=\"System.Windows\" />\n    <Reference Include=\"System.Windows.Forms\" />\n    <Reference Include=\"System.XML\" />\n    <Reference Include=\"WindowsBase\" />\n  </ItemGroup>\n  <ItemGroup>\n    <Compile Include=\"BinaryEncoderTest.cs\" />\n    <Compile Include=\"CommonDefinitions.cs\" />\n    <Compile Include=\"Diagnostics\\ReactiveNetworkingEventSourceUnitTest.cs\" />\n    <Compile Include=\"HeaderTestHelpers.cs\" />\n    <Compile Include=\"Helpers\\MyState.cs\" />\n    <Compile Include=\"Helpers\\UABinaryDecoderImplementation.cs\" />\n    <Compile Include=\"Helpers\\UABinaryEncoderImplementation.cs\" />\n    <Compile Include=\"MessageHandlerFactory\\BinaryDataTransferGraphBaseFixture.cs\" />\n    <Compile Include=\"MessageHandlerFactory\\BinaryDataTransferGraphReceiverFixture.cs\" />\n    <Compile Include=\"MessageHandlerFactory\\BinaryDataTransferGraphSenderFixture.cs\" />\n    <Compile Include=\"MessageHandlerFactory\\MessageHandlerFactoryFixture.cs\" />\n    <Compile Include=\"Simulator\\ConsumerDeviceSimulator.cs\" />\n    <Compile Include=\"Simulator\\CustomNodeManager.cs\" />\n    <Compile Include=\"Simulator\\OPCUAServerSimulator.cs\" />\n    <Compile Include=\"Simulator\\PersistenConfiguration.cs\" />\n    <Compile Include=\"Properties\\AssemblyInfo.cs\" />\n    <Compile Include=\"ConsumerDeviceSimulatorUnitTest.cs\" />\n    <Compile Include=\"Simulator\\ScreeViewModel.cs\" />\n    <Compile Include=\"AssociationUnitTest.cs\" />\n    <Compile Include=\"ConfigurationUnitTest.cs\" />\n    <Compile Include=\"ConsumerBindingUnitTest.cs\" />\n    <Compile Include=\"EncodingFactoryUnitTest.cs\" />\n    <Compile Include=\"DataManagementSetupUnitTest.cs\" />\n    <Compile Include=\"ProducerBindingUnitTest.cs\" />\n    <Compile Include=\"PersistentConfigurationUnitTest.cs\" />\n    <Compile Include=\"OPCUAServerProducerSimulatorUnitTest.cs\" />\n    <Compile Include=\"PacketHeaderUnitTest.cs\" />\n    <Compile Include=\"MessageHeaderUnitTest.cs\" />\n    <Compile Include=\"UABinaryEncoderImplementationUnitTest.cs\" />\n    <Compile Include=\"UABinaryDecoderImplementationUnitTest.cs\" />\n    <Compile Include=\"HeaderWriterUnitTest.cs\" />\n    <Compile Include=\"ExtensionsUnitTest.cs\" />\n    <Compile Include=\"ProducerBindingMonitoredValueUnitTest.cs\" />\n    <Compile Include=\"ProducerAssociationUnitTest.cs\" />\n    <Compile Include=\"BinaryDecoderUnitTest.cs\" />\n    <Compile Include=\"ConsumerBindingMonitoredValueUnitTest.cs\" />\n    <Compile Include=\"MessageWriterBaseTest.cs\" />\n  </ItemGroup>\n  <ItemGroup>\n    <None Include=\"app.config\" />\n    <None Include=\"OPCUAOOIKey.snk\" />\n    <None Include=\"packages.config\" />\n    <None Include=\"Writers.cd\" />\n  </ItemGroup>\n  <ItemGroup>\n    <ProjectReference Include=\"..\\..\\..\\Configuration\\Networking\\Configuration.Networking.csproj\">\n      <Project>{e28e0880-03aa-4d1b-a820-41b04e766019}</Project>\n      <Name>Configuration.Networking</Name>\n    </ProjectReference>\n    <ProjectReference Include=\"..\\..\\Core\\Networking.Core.csproj\">\n      <Project>{afcca7c9-47fe-4fb6-935e-12d686eec58f}</Project>\n      <Name>Networking.Core</Name>\n    </ProjectReference>\n    <ProjectReference Include=\"..\\..\\SemanticData\\Networking.SemanticData.csproj\">\n      <Project>{7f4ded4e-5933-4229-b9cc-51da49678904}</Project>\n      <Name>Networking.SemanticData</Name>\n    </ProjectReference>\n  </ItemGroup>\n  <Import Project=\"$(VSToolsPath)\\TeamTest\\Microsoft.TestTools.targets\" Condition=\"Exists('$(VSToolsPath)\\TeamTest\\Microsoft.TestTools.targets')\" />\n  <Import Project=\"$(MSBuildToolsPath)\\Microsoft.CSharp.targets\" />\n  <!-- To modify your build process, add your task inside one of the targets below and uncomment it. \n       Other similar extension points exist, see Microsoft.Common.targets.\n  <Target Name=\"BeforeBuild\">\n  </Target>\n  <Target Name=\"AfterBuild\">\n  </Target>\n  -->\n</Project>"
  },
  {
    "path": "Networking/Tests/SemanticDatalUnitTest/OPCUAServerProducerSimulatorUnitTest.cs",
    "content": "﻿//___________________________________________________________________________________\n//\n//  Copyright (C) 2019, Mariusz Postol LODZ POLAND.\n//\n//  To be in touch join the community at GITTER: https://gitter.im/mpostol/OPC-UA-OOI\n//___________________________________________________________________________________\n\nusing Microsoft.VisualStudio.TestTools.UnitTesting;\nusing System;\nusing UAOOI.Networking.SemanticData.UnitTest.MessageHandlerFactory;\nusing UAOOI.Networking.SemanticData.UnitTest.Simulator;\n\nnamespace UAOOI.Networking.SemanticData.UnitTest\n{\n\n  [TestClass]\n  public class OPCUAServerProducerSimulatorUnitTest\n  {\n\n    #region test part\n    [TestMethod]\n    [TestCategory(\"DataManagement_OPCUAServerProducerSimulator\")]\n    public void CreatorTestMethod()\n    {\n      Guid _dataSetGuid = Guid.NewGuid();\n      MessageHandlerFactoryTest _mhf = new MessageHandlerFactoryTest();\n      using (OPCUAServerProducerSimulator _producer = OPCUAServerProducerSimulator.CreateDevice(_mhf, _dataSetGuid))\n      {\n        Assert.IsNull(_producer.AssociationsCollection);\n        Assert.IsNotNull(_producer.BindingFactory);\n        Assert.IsNotNull(_producer.ConfigurationFactory);\n        Assert.IsNotNull(_producer.EncodingFactory);\n        Assert.IsNotNull(_producer.MessageHandlerFactory);\n        Assert.IsNull(_producer.MessageHandlersCollection);\n        _producer.TestStart();\n        Assert.AreEqual<int>(1, _producer.AssociationsCollection.Count);\n        Assert.AreEqual<int>(1, _producer.MessageHandlersCollection.Count);\n        _producer.CheckConsistency();\n        _mhf.AssertConsistency();\n        _producer.Update(\"Value1\", \"Value1\");\n      }\n    }\n    #endregion\n\n    #region private\n    private class MessageHandlerFactoryTest : MessageHandlerFactoryFixture\n    {\n\n      #region MessageHandlerFactoryFixture\n      protected override BinaryDataTransferGraphReceiverFixture NewBinaryDataTransferGraphReceiverFixture()\n      {\n        throw new NotImplementedException();\n      }\n      protected override BinaryDataTransferGraphSenderFixture NewBinaryDataTransferGraphSenderFixture()\n      {\n        return new BinaryDataTransferGraphSenderTest();\n      }\n      internal override void AssertConsistency()\n      {\n        Assert.AreEqual<int>(0, BinaryDataTransferGraphReceiverFixtureList.Count);\n        Assert.AreEqual<int>(1, BinaryDataTransferGraphSenderFixtureList.Count);\n      }\n      #endregion\n\n      private class BinaryDataTransferGraphSenderTest : BinaryDataTransferGraphSenderFixture { }\n\n    }\n    #endregion\n\n  }\n\n}\n"
  },
  {
    "path": "Networking/Tests/SemanticDatalUnitTest/PacketHeaderUnitTest.cs",
    "content": "﻿\nusing Microsoft.VisualStudio.TestTools.UnitTesting;\nusing System;\nusing System.IO;\nusing System.Linq;\nusing UAOOI.Networking.SemanticData.Encoding;\nusing UAOOI.Networking.SemanticData.MessageHandling;\n\nnamespace UAOOI.Networking.SemanticData.UnitTest\n{\n  [TestClass]\n  public class PacketHeaderUnitTest\n  {\n\n    [TestMethod]\n    [TestCategory(\"DataManagement_PacketHeaderUnitTest\")]\n    public void ProtocolVersionTestMethod()\n    {\n      byte[] _result = null;\n      using (MemoryStream _stream = new MemoryStream())\n      using (PacketWriter _writer = new PacketWriter(_stream))\n      {\n        PacketHeader _header = PacketHeader.GetProducerPacketHeader(_writer, CommonDefinitions.TestGuid, new UInt16[] { CommonDefinitions.DataSetId });\n        Assert.IsNotNull(_header);\n        Assert.AreEqual<Byte>(110, _header.ProtocolVersion);\n        Assert.AreEqual<Guid>(CommonDefinitions.TestGuid, _header.PublisherId);\n        _header.NetworkMessageFlags = 0;\n        _header.SecurityTokenId = 0;\n        _header.NonceLength = 1;\n        _header.Nonce = new byte[] { 0xcc };\n        _header.WritePacketHeader();\n        _writer.Flush();\n        _result = _stream.ToArray();\n      }\n      byte[] _expected = new ArraySegment<byte>(CommonDefinitions.GetTestBinaryArrayVariant(), 0, 27).ToArray<byte>();\n      CollectionAssert.AreEqual(_expected, _result);\n    }\n    [TestMethod]\n    [TestCategory(\"DataManagement_PacketHeaderUnitTest\")]\n    public void GetConsumerPacketHeaderTestMethod()\n    {\n      using (MemoryStream _stream = new MemoryStream(new ArraySegment<byte>(CommonDefinitions.GetTestBinaryArrayVariant(), 0, 27).ToArray<byte>()))\n      using (PacketReader _reader = new PacketReader(_stream))\n      {\n        PacketHeader _header = PacketHeader.GetConsumerPacketHeader(_reader);\n        Assert.IsNotNull(_header);\n        Assert.AreEqual<Guid>(CommonDefinitions.TestGuid, _header.PublisherId);\n        Assert.AreEqual<Byte>(110, _header.ProtocolVersion);\n        Assert.AreEqual<Byte>(0, _header.NetworkMessageFlags);\n        Assert.AreEqual<UInt32>(0, _header.SecurityTokenId);\n        Assert.AreEqual<Byte>(1, _header.NonceLength);\n        CollectionAssert.AreEqual(new byte[] { 0xcc }, _header.Nonce);\n        Assert.AreEqual<Byte>(1, _header.MessageCount);\n        CollectionAssert.AreEqual(new UInt16[] { CommonDefinitions.DataSetId }, _header.DataSetWriterIds);\n      }\n    }\n    [TestCategory(\"DataManagement_PacketHeaderUnitTest\")]\n    public void ProducerPacketHeaderTestMethod()\n    {\n      HeaderWriterTest _writer = new HeaderWriterTest(x => { }, m_StartPosition);\n      PacketHeader _header = PacketHeader.GetProducerPacketHeader(_writer, CommonDefinitions.TestGuid, new UInt16[] { 0xFFFF });\n      Assert.IsNotNull(_header);\n      Assert.AreEqual<System.UInt32>(0xFFFF, _header.DataSetWriterIds[0]);\n      Assert.AreEqual<byte>(1, _header.MessageCount);\n      Assert.AreEqual<long>(m_StartPosition + 24, _writer.Position);\n      _writer.Write(0xCCCC);\n      _writer.Write(0xCCCC);\n      _writer.Write(0xCCCC);\n      _writer.Write(0xCCCC);\n      _header.WritePacketHeader();\n      Assert.AreEqual<byte>(1, _header.MessageCount);\n      Assert.AreEqual<long>(m_StartPosition + 24 + 16, _writer.Position);\n      _header.WritePacketHeader();\n      Assert.AreEqual<long>(m_StartPosition + 24 + 16, _writer.Position);\n      _writer.Write(0xCCCC);\n      Assert.AreEqual<long>(m_StartPosition + 24 + 20, _writer.Position);\n    }\n    [TestMethod]\n    [TestCategory(\"DataManagement_PacketHeaderUnitTest\")]\n    [ExpectedException(typeof(ApplicationException))]\n    public void ConsumerWritePacketHeaderTestMethod()\n    {\n      HeaderReaderTest _reader = new HeaderReaderTest(m_StartPosition);\n      PacketHeader _header = PacketHeader.GetConsumerPacketHeader(_reader);\n      Assert.IsNotNull(_header);\n      _header.WritePacketHeader();\n    }\n    /// <summary>\n    /// Consumers the packet header test method.\n    /// </summary>\n    [TestMethod]\n    [TestCategory(\"DataManagement_PacketHeaderUnitTest\")]\n    public void ConsumerPacketHeaderTestMethod()\n    {\n      HeaderReaderTest _reader = new HeaderReaderTest(m_StartPosition);\n      PacketHeader _header = PacketHeader.GetConsumerPacketHeader(_reader);\n      Assert.IsNotNull(_header);\n      Assert.AreEqual<byte>((byte)((byte)m_StartPosition + 0), _header.ProtocolVersion);\n      Assert.AreEqual<byte>((byte)((byte)m_StartPosition + 1), _header.NetworkMessageFlags);\n      Assert.AreEqual<UInt32>((UInt32)m_StartPosition + 18, _header.SecurityTokenId);\n      Assert.AreEqual<byte>((byte)((byte)m_StartPosition + 22), _header.NonceLength);\n      Assert.AreEqual<Guid>(CommonDefinitions.TestGuid, _header.PublisherId);\n    }\n\n    private class PacketReader : BinaryReader, IBinaryDecoder\n    {\n      public PacketReader(Stream input) : base(input) { }\n      public DateTime ReadDateTime()\n      {\n        return Encoding.CommonDefinitions.GetUADateTime(ReadInt64());\n      }\n      public Guid ReadGuid()\n      {\n        return Encoding.CommonDefinitions.ReadGuid(this);\n      }\n    }\n    private class PacketWriter : BinaryWriter, IBinaryHeaderEncoder\n    {\n      public PacketWriter(Stream output) : base(output) { }\n      public void Write(DateTime value)\n      {\n        throw new NotImplementedException();\n      }\n      public void Write(Guid value)\n      {\n        Write(value.ToByteArray());\n      }\n    }\n    private long m_StartPosition = 10;\n  }\n\n}\n"
  },
  {
    "path": "Networking/Tests/SemanticDatalUnitTest/PersistentConfigurationUnitTest.cs",
    "content": "﻿\nusing System;\nusing Microsoft.VisualStudio.TestTools.UnitTesting;\nusing System.Collections.Generic;\nusing UAOOI.Networking.SemanticData.UnitTest.Simulator;\nusing UAOOI.Configuration.Networking.Serialization;\n\nnamespace UAOOI.Networking.SemanticData.UnitTest\n{\n  [TestClass]\n  public class PersistentConfigurationUnitTest\n  {\n\n    #region TestMethod\n    [TestMethod]\n    [TestCategory(\"DataManagement_PersistentConfiguration\")]\n    public void GetLocalConfigurationTestMethod()\n    {\n      ConfigurationData _cnf = PersistentConfiguration.GetLocalConfiguration();\n      TestConfiguration(_cnf.DataSets);\n      TestConfiguration(_cnf.MessageHandlers);\n    }\n    #endregion\n\n    #region private\n    private void TestConfiguration(MessageHandlerConfiguration[] messageTransportConfiguration)\n    {\n      foreach (MessageHandlerConfiguration _item in messageTransportConfiguration)\n        TestConfiguration((MessageReaderConfiguration)_item);\n    }\n    private void TestConfiguration(MessageReaderConfiguration _item)\n    {\n      foreach (ConsumerAssociationConfiguration _ax in _item.ConsumerAssociationConfigurations)\n        AssociationsDictionary.Add(_ax.AssociationName, _ax);\n      MessageTransportConfigurationDictionary.Add(_item.Name, _item);\n      Assert.IsNotNull(_item.Configuration);\n    }\n    private void TestConfiguration(DataSetConfiguration[] associationConfiguration)\n    {\n      foreach (DataSetConfiguration _acx in associationConfiguration)\n      {\n        AssociationConfigurationDictionary.Add(_acx.AssociationName, _acx);\n        Uri _nu = new Uri(_acx.InformationModelURI);\n        Assert.IsFalse(String.IsNullOrEmpty(_acx.DataSymbolicName));\n        TestDataSet(_acx);\n        AssociationConfigurationGuidDictionary.Add(_acx.Id, _acx);\n      }\n    }\n    private void TestDataSet(DataSetConfiguration dataSetConfiguration)\n    {\n      RepositoryGroupDictionary.Add(dataSetConfiguration.RepositoryGroup, dataSetConfiguration);\n      TestConfiguration(dataSetConfiguration.DataSet);\n    }\n    private void TestConfiguration(FieldMetaData[] dataMemberConfiguration)\n    {\n      foreach (FieldMetaData _dmx in dataMemberConfiguration)\n      {\n        Assert.IsFalse(String.IsNullOrEmpty(_dmx.ProcessValueName));\n        Assert.AreNotEqual<BuiltInType>(BuiltInType.Null, _dmx.TypeInformation.BuiltInType);\n        Assert.IsFalse(String.IsNullOrEmpty(_dmx.SymbolicName));\n      }\n    }\n    private static Dictionary<string, MessageHandlerConfiguration> MessageTransportConfigurationDictionary = new Dictionary<string, MessageHandlerConfiguration>();\n    private static Dictionary<string, AssociationConfiguration> AssociationsDictionary = new Dictionary<string, AssociationConfiguration>();\n    private static Dictionary<string, DataSetConfiguration> AssociationConfigurationDictionary = new Dictionary<string, DataSetConfiguration>();\n    private static Dictionary<Guid, DataSetConfiguration> AssociationConfigurationGuidDictionary = new Dictionary<Guid, DataSetConfiguration>();\n    private static Dictionary<string, DataSetConfiguration> RepositoryGroupDictionary = new Dictionary<string, DataSetConfiguration>();\n    #endregion\n\n  }\n}\n"
  },
  {
    "path": "Networking/Tests/SemanticDatalUnitTest/ProducerAssociationUnitTest.cs",
    "content": "﻿\nusing Microsoft.VisualStudio.TestTools.UnitTesting;\nusing System;\nusing System.Collections.Generic;\nusing System.Linq;\nusing UAOOI.Configuration.Networking.Serialization;\nusing UAOOI.Networking.Core;\nusing UAOOI.Networking.SemanticData.Common;\nusing UAOOI.Networking.SemanticData.DataRepository;\nusing UAOOI.Networking.SemanticData.Encoding;\nusing UAOOI.Networking.SemanticData.MessageHandling;\nusing UAOOI.Networking.SemanticData.UnitTest.Simulator;\n\nnamespace UAOOI.Networking.SemanticData.UnitTest\n{\n  [TestClass]\n  public class ProducerAssociationUnitTest\n  {\n    #region ProducerAssociation\n    [TestMethod]\n    [TestCategory(\"DataManagement_ProducerAssociationUnitTest\")]\n    [ExpectedException(typeof(ArgumentNullException))]\n    public void AddMessageWriterTestMethod()\n    {\n      ProducerAssociation _npa = new ProducerAssociation\n        (new SemanticData(), \"DataManagement_ProducerAssociation\", PersistentConfiguration.GetAssociationConfiguration(), new BindingFactory(Repository), new EncodingFactory());\n      Assert.IsNotNull(_npa);\n      Assert.IsTrue(Repository.Count > 0);\n      _npa.AddMessageWriter(null);\n    }\n    [TestMethod]\n    [TestCategory(\"DataManagement_ProducerAssociationUnitTest\")]\n    public void ProducerAssociationCreatorTestMethod()\n    {\n      using (ProducerAssociation _npa = new ProducerAssociation(\n                                                                new SemanticData(),\n                                                                \"DataManagement_ProducerAssociation\",\n                                                                PersistentConfiguration.GetAssociationConfiguration(),\n                                                                new BindingFactory(Repository),\n                                                                new EncodingFactory())\n                                                                )\n      {\n        Assert.IsNotNull(_npa);\n        Assert.IsTrue(Repository.Count > 0);\n        ProducerBindingMonitoredValue<object>[] _values = Repository.Values.Cast<ProducerBindingMonitoredValue<object>>().ToArray<ProducerBindingMonitoredValue<object>>();\n        Assert.IsTrue(_values.Length > 0);\n        _values[0].MonitoredValue = \"1234567\";\n        MessageWriter _mw = new MessageWriter();\n        _npa.AddMessageWriter(_mw);\n        System.Threading.Thread.Sleep(1200);\n        Assert.AreEqual<int>(1, _mw.IsOk);\n        System.Threading.Thread.Sleep(1200);\n        Assert.AreEqual<int>(1, _mw.IsOk);\n      }\n    }\n    #endregion\n    private class BindingFactory : IBindingFactory\n    {\n      public BindingFactory(Dictionary<string, IBinding> repository)\n      {\n        m_Repository = repository;\n      }\n      public IConsumerBinding GetConsumerBinding(string repositoryGroup, string processValueName, UATypeInfo field)\n      {\n        IConsumerBinding _ncb = new ConsumerBindingMonitoredValue<object>(field);\n        string _key = String.Format(\"{0}.{1}\", repositoryGroup, processValueName);\n        m_Repository.Add(_key, _ncb);\n        return _ncb;\n      }\n      public IProducerBinding GetProducerBinding(string repositoryGroup, string processValueName, UATypeInfo encoding)\n      {\n        string _key = String.Format(\"{0}.{1}\", repositoryGroup, processValueName);\n        ProducerBindingMonitoredValue<object> _npb = new ProducerBindingMonitoredValue<object>(_key, new UATypeInfo(encoding.BuiltInType));\n        _npb.MonitoredValue = Guid.NewGuid();\n        m_Repository.Add(_key, _npb);\n        return _npb;\n      }\n\n      private Dictionary<string, IBinding> m_Repository = new Dictionary<string, IBinding>();\n    }\n    private class EncodingFactory : IEncodingFactory\n    {\n      public IUADecoder UADecoder\n      {\n        get { return m_UADecoder; }\n      }\n      public IUAEncoder UAEncoder\n      {\n        get\n        {\n          throw new NotImplementedException();\n        }\n      }\n      public void UpdateValueConverter(IBinding binding, string repositoryGroup, UATypeInfo sourceEncoding)\n      {\n        binding.Culture = null;\n        binding.Converter = null;\n        binding.Parameter = null;\n      }\n      private readonly IUADecoder m_UADecoder = new Helpers.UABinaryDecoderImplementation();\n\n    }\n    private class SemanticData : ISemanticData\n    {\n      public Uri Identifier\n      {\n        get { throw new NotImplementedException(); }\n      }\n      public string SymbolicName\n      {\n        get { throw new NotImplementedException(); }\n      }\n      public IComparable NodeId\n      {\n        get { throw new NotImplementedException(); }\n      }\n      public Guid Guid\n      {\n        get { return Guid.NewGuid(); }\n      }\n    }\n    private class MessageWriter : IMessageWriter\n    {\n      internal int IsOk = 0;\n      public void Send\n        (Func<int, IProducerBinding> producerBinding, ushort length, ulong contentMask, FieldEncodingEnum encoding, DataSelector dataSelector, \n         ushort messageSequenceNumber, DateTime timeStamp, ConfigurationVersionDataType configurationVersion)\n      {\n        IsOk++;\n        Assert.AreEqual<int>(3, length);\n      }\n      public IAssociationState State\n      {\n        get { throw new NotImplementedException(); }\n      }\n      public void AttachToNetwork()\n      {\n        throw new NotImplementedException();\n      }\n\n      public void Dispose()\n      {\n        throw new NotImplementedException();\n      }\n\n      public ulong ContentMask\n      {\n        get { throw new NotImplementedException(); }\n      }\n    }\n    private Dictionary<string, IBinding> Repository = new Dictionary<string, IBinding>();\n\n  }\n}\n"
  },
  {
    "path": "Networking/Tests/SemanticDatalUnitTest/ProducerBindingMonitoredValueUnitTest.cs",
    "content": "﻿using System;\nusing Microsoft.VisualStudio.TestTools.UnitTesting;\nusing UAOOI.Networking.SemanticData.DataRepository;\nusing UAOOI.Configuration.Networking.Serialization;\nusing System.ComponentModel;\n\nnamespace UAOOI.Networking.SemanticData.UnitTest\n{\n  [TestClass]\n  public class ProducerBindingMonitoredValueUnitTest\n  {\n    [TestMethod]\n    [TestCategory(\"DataManagement_ProducerBindingMonitoredValueUnitTest\")]\n    public void CreatorTestMethod2()\n    {\n      ProducerBindingFactory _pr = new ProducerBindingFactory();\n      Assert.IsNotNull(_pr);\n      IProducerBinding _bn = _pr.GetProducerBinding(\"ProducerBindingMonitoredValue\", \"variableName\", new UATypeInfo(BuiltInType.String));\n      Assert.IsNotNull(_bn);\n    }\n    [TestMethod]\n    [TestCategory(\"DataManagement_ProducerBindingMonitoredValueUnitTest\")]\n    public void GetNewValueTestMethod2()\n    {\n      ProducerBindingFactory _pr = new ProducerBindingFactory();\n      Assert.IsNotNull(_pr);\n      IProducerBinding _bn = _pr.GetProducerBinding(\"ProducerBindingMonitoredValue\", \"variableName\", new UATypeInfo(BuiltInType.String));\n      Assert.IsNotNull(_bn);\n      string _testValue = \"1231221431423421\";\n      _pr.Modify(_testValue);\n      Assert.IsTrue(_bn.NewValue);\n      Assert.AreEqual<string>(_testValue, (string)_bn.GetFromRepository());\n      Assert.IsFalse(_bn.NewValue);\n    }\n    [TestMethod]\n    [TestCategory(\"DataManagement_ProducerBindingMonitoredValueUnitTest\")]\n    public void NewValueTestMethod()\n    {\n      ProducerBindingFactory _pr = new ProducerBindingFactory();\n      Assert.IsNotNull(_pr);\n      IProducerBinding _bn = _pr.GetProducerBinding(\"ProducerBindingMonitoredValue\", \"variableName\", new UATypeInfo(BuiltInType.String));\n      Assert.IsNotNull(_bn);\n      int _changeCounter = 0;\n      _bn.PropertyChanged += (x, y) => _changeCounter++;\n      Assert.IsFalse(_bn.NewValue);\n      Assert.AreEqual<int>(0, _changeCounter);\n      _pr.Modify(\"654321\");\n      Assert.IsTrue(_bn.NewValue);\n      Assert.AreEqual<int>(1, _changeCounter);\n      string _testValue = \"1231221431423421\";\n      _pr.Modify(_testValue);\n      Assert.IsTrue(_bn.NewValue);\n      Assert.AreEqual<int>(1, _changeCounter);\n      Assert.AreEqual<string>(_testValue, (string)_bn.GetFromRepository());\n      Assert.IsFalse(_bn.NewValue);\n      Assert.AreEqual<int>(1, _changeCounter);\n      Assert.AreEqual<string>(_testValue, (string)_bn.GetFromRepository());\n      Assert.IsFalse(_bn.NewValue);\n      _pr.Modify(_testValue);\n      Assert.IsFalse(_bn.NewValue);\n      Assert.AreEqual<int>(1, _changeCounter);\n      _testValue = \"987654321\";\n      _pr.Modify(_testValue);\n      Assert.IsTrue(_bn.NewValue);\n      Assert.AreEqual<int>(2, _changeCounter);\n      Assert.AreEqual<string>(_testValue, (string)_bn.GetFromRepository());\n    }\n    [TestMethod]\n    [TestCategory(\"DataManagement_ProducerBindingMonitoredValueUnitTest\")]\n    public void WrongInitializationTestMethod()\n    {\n      ProducerBindingFactory _pr = new ProducerBindingFactory();\n      Assert.IsNotNull(_pr);\n      IProducerBinding _bn = _pr.GetProducerBinding(\"ProducerBindingMonitoredValue\", \"variableName\", new UATypeInfo(BuiltInType.String));\n      Assert.IsNotNull(_bn);\n      Assert.IsFalse(_bn.NewValue);\n      _pr.Modify(\"654321\");\n      Assert.IsTrue(_bn.NewValue);\n      int _changeCounter = 0;\n      _bn.PropertyChanged += (x, y) => _changeCounter++;\n      Assert.AreEqual<int>(0, _changeCounter);\n      _pr.Modify(\"1234567\");\n      Assert.IsTrue(_bn.NewValue);\n      Assert.AreEqual<int>(0, _changeCounter);\n      _pr.Modify(\"654321\");\n      _pr.Modify(\"1234567\");\n      Assert.AreEqual<int>(0, _changeCounter);\n    }\n    [TestMethod]\n    [TestCategory(\"DataManagement_ProducerBindingMonitoredValueUnitTest\")]\n    public void CorrectInitializationTestMethod()\n    {\n      ProducerBindingFactory _pr = new ProducerBindingFactory();\n      Assert.IsNotNull(_pr);\n      IProducerBinding _bn = _pr.GetProducerBinding(\"ProducerBindingMonitoredValue\", \"variableName\", new UATypeInfo(BuiltInType.String));\n      Assert.IsNotNull(_bn);\n      Assert.IsFalse(_bn.NewValue);\n      _pr.Modify(\"654321\");\n      Assert.IsTrue(_bn.NewValue);\n      _bn.GetFromRepository();\n      Assert.IsFalse(_bn.NewValue);\n      int _changeCounter = 0;\n      _bn.PropertyChanged += (x, y) => _changeCounter++;\n      Assert.AreEqual<int>(0, _changeCounter);\n      _pr.Modify(\"1234567\");\n      Assert.IsTrue(_bn.NewValue);\n      Assert.AreEqual<int>(1, _changeCounter);\n      _bn.GetFromRepository();\n      _pr.Modify(\"654321\");\n      _pr.Modify(\"1234567\");\n      Assert.AreEqual<int>(2, _changeCounter);\n    }\n    private class ProducerBindingFactory : IBindingFactory\n    {\n      public IConsumerBinding GetConsumerBinding(string repositoryGroup, string processValueName, UATypeInfo fieldTypeInfo)\n      {\n        throw new NotImplementedException();\n      }\n      public IProducerBinding GetProducerBinding(string repositoryGroup, string processValueName, UATypeInfo fieldTypeInfo)\n      {\n        if (repositoryGroup == \"ProducerBindingMonitoredValue\")\n          return _monitoredValue;\n        throw new ArgumentOutOfRangeException(\"repositoryGroup\");\n      }\n      private ProducerBindingMonitoredValue<string> _monitoredValue = new ProducerBindingMonitoredValue<string>(\"ProducerBindingMonitoredValue._monitoredValue\", new UATypeInfo(BuiltInType.String));\n      internal void Modify(string value)\n      {\n        _monitoredValue.MonitoredValue = value;\n      }\n    }\n  }\n}\n"
  },
  {
    "path": "Networking/Tests/SemanticDatalUnitTest/ProducerBindingUnitTest.cs",
    "content": "﻿\nusing Microsoft.VisualStudio.TestTools.UnitTesting;\nusing System;\nusing System.ComponentModel;\nusing UAOOI.Networking.SemanticData.DataRepository;\nusing UAOOI.Configuration.Networking.Serialization;\n\nnamespace UAOOI.Networking.SemanticData.UnitTest\n{\n  [TestClass]\n  public class ProducerBindingUnitTest\n  {\n\n    #region tests\n    [TestMethod]\n    [TestCategory(\"DataManagement_ProducerBindingUnitTest\")]\n    public void CreatorTestMethod1()\n    {\n      ProducerBindingFactory _pr = new ProducerBindingFactory();\n      Assert.IsNotNull(_pr);\n      IProducerBinding _bn = _pr.GetProducerBinding(\"ProducerBinding\", \"variableName\", new UATypeInfo(BuiltInType.String));\n      Assert.IsNotNull(_bn);\n    }\n    [TestMethod]\n    [TestCategory(\"DataManagement_ProducerBindingUnitTest\")]\n    public void GetNewValueTestMethod()\n    {\n      ProducerBindingFactory _pr = new ProducerBindingFactory();\n      Assert.IsNotNull(_pr);\n      IProducerBinding _bn = _pr.GetProducerBinding(\"ProducerBinding\", \"variableName\", new UATypeInfo(BuiltInType.String));\n      Assert.IsNotNull(_bn);\n      string _testValue = \"1231221431423421\";\n      _pr.Modify(_testValue);\n      Assert.IsTrue(_bn.NewValue);\n      Assert.AreEqual<string>(_testValue, (string)_bn.GetFromRepository());\n      Assert.IsFalse(_bn.NewValue);\n    }\n    [TestMethod]\n    [TestCategory(\"DataManagement_ProducerBindingUnitTest\")]\n    public void NewValueTestMethod()\n    {\n      ProducerBindingFactory _pr = new ProducerBindingFactory();\n      Assert.IsNotNull(_pr);\n      IProducerBinding _bn = _pr.GetProducerBinding(\"ProducerBinding\", \"variableName\", new UATypeInfo(BuiltInType.String));\n      Assert.IsNotNull(_bn);\n      int _changeCounter = 0;\n      _bn.PropertyChanged += (x, y) => _changeCounter++;\n      Assert.IsFalse(_bn.NewValue);\n      Assert.AreEqual<int>(0, _changeCounter);\n      _pr.Modify(\"654321\");\n      Assert.IsTrue(_bn.NewValue);\n      Assert.AreEqual<int>(1, _changeCounter);\n      string _testValue = \"1231221431423421\";\n      _pr.Modify(_testValue);\n      Assert.IsTrue(_bn.NewValue);\n      Assert.AreEqual<int>(1, _changeCounter);\n      Assert.AreEqual<string>(_testValue, (string)_bn.GetFromRepository());\n      Assert.IsFalse(_bn.NewValue);\n      Assert.AreEqual<int>(1, _changeCounter);\n      Assert.AreEqual<string>(_testValue, (string)_bn.GetFromRepository());\n      Assert.IsFalse(_bn.NewValue);\n      _pr.Modify(_testValue);\n      Assert.IsFalse(_bn.NewValue);\n      Assert.AreEqual<int>(1, _changeCounter);\n      _testValue = \"987654321\";\n      _pr.Modify(_testValue);\n      Assert.IsTrue(_bn.NewValue);\n      Assert.AreEqual<int>(2, _changeCounter);\n      Assert.AreEqual<string>(_testValue, (string)_bn.GetFromRepository());\n    }\n    #endregion\n\n    #region private\n    private class ProducerBindingFactory : IBindingFactory\n    {\n      #region IBindingFactory\n      public IConsumerBinding GetConsumerBinding(string repositoryGroup, string processValueName, UATypeInfo fieldTypeInfo)\n      {\n        throw new NotImplementedException();\n      }\n      public IProducerBinding GetProducerBinding(string repositoryGroup, string processValueName, UATypeInfo fieldTypeInfo)\n      {\n        if (repositoryGroup == \"ProducerBinding\")\n        {\n          Assert.AreEqual<BuiltInType>(BuiltInType.String, fieldTypeInfo.BuiltInType);\n          ProducerBinding<string> _ret = new ProducerBinding<string>(\"ProducerBinding._value\", () => _value.Value, new UATypeInfo(fieldTypeInfo.BuiltInType));\n          _value.PropertyChanged += (x, y) => _ret.OnNewValue();\n          return _ret;\n        }\n        throw new ArgumentOutOfRangeException(\"repositoryGroup\");\n      }\n      private ValueClass<string> _value = new ValueClass<string>();\n      #endregion\n\n      #region test instrumentation\n      internal class ValueClass<type> : INotifyPropertyChanged\n      {\n        public type Value\n        {\n          get\n          {\n            return b_Value;\n          }\n          set\n          {\n            PropertyChanged.RaiseHandler<type>(value, ref b_Value, \"Value\", this);\n          }\n        }\n        private type b_Value;\n        public event PropertyChangedEventHandler PropertyChanged;\n\n      }\n      internal void Modify(string value)\n      {\n        _value.Value = value;\n      }\n\n      #endregion\n    }\n    #endregion\n\n  }\n\n}\n"
  },
  {
    "path": "Networking/Tests/SemanticDatalUnitTest/Properties/AssemblyInfo.cs",
    "content": "﻿//___________________________________________________________________________________\n//\n//  Copyright (C) 2019, Mariusz Postol LODZ POLAND.\n//\n//  To be in touch join the community at GITTER: https://gitter.im/mpostol/OPC-UA-OOI\n//___________________________________________________________________________________\n\nusing System.Reflection;\nusing System.Runtime.InteropServices;\n\n[assembly: AssemblyTitle(\"DataManagementUnitTest\")]\n[assembly: AssemblyDescription(\"Unit tests for the DataManagement\")]\n[assembly: AssemblyConfiguration(\"\")]\n[assembly: AssemblyCompany(\"\")]\n[assembly: AssemblyProduct(\"DataManagementUnitTest\")]\n[assembly: AssemblyCopyright(\"Copyright ©  2015\")]\n[assembly: AssemblyTrademark(\"\")]\n[assembly: AssemblyCulture(\"\")]\n[assembly: ComVisible(false)]\n[assembly: Guid(\"a1f0fb5c-7c17-4e1f-8ed0-cbbfb94f71ee\")]\n[assembly: AssemblyVersion(\"4.0.1.*\")]\n[assembly: AssemblyFileVersion(\"4.0.1.0\")]\n"
  },
  {
    "path": "Networking/Tests/SemanticDatalUnitTest/Simulator/ConsumerDeviceSimulator.cs",
    "content": "﻿//___________________________________________________________________________________\n//\n//  Copyright (C) 2018, Mariusz Postol LODZ POLAND.\n//\n//  To be in touch join the community at GITTER: https://gitter.im/mpostol/OPC-UA-OOI\n//___________________________________________________________________________________\n\nusing Microsoft.VisualStudio.TestTools.UnitTesting;\nusing System;\nusing UAOOI.Configuration.Networking;\nusing UAOOI.Configuration.Networking.Serialization;\nusing UAOOI.Networking.Core;\nusing UAOOI.Networking.SemanticData.DataRepository;\nusing UAOOI.Networking.SemanticData.Encoding;\n\nnamespace UAOOI.Networking.SemanticData.UnitTest.Simulator\n{\n\n  /// <summary>\n  /// Class ConsumerDeviceSimulator - simulates a device that consumes data provided using the integration services.\n  /// It could be for example HMI or PLC.\n  /// </summary>\n  internal class ConsumerDeviceSimulator : DataManagementSetup\n  {\n\n    #region creator of the ConsumerDeviceSimulator\n    internal static ConsumerDeviceSimulator CreateDevice(IMessageHandlerFactory messageHandlerFactory, UInt32 dataSetGuid)\n    {\n      AssociationConfigurationId = dataSetGuid;\n      ConsumerDeviceSimulator _ret = new ConsumerDeviceSimulator();\n      _ret.ConfigurationFactory = new ConsumerConfigurationFactory();\n      _ret.BindingFactory = new MVVMSimulatorFactory();\n      _ret.EncodingFactory = new MyEncodingFactory();\n      _ret.MessageHandlerFactory = messageHandlerFactory;\n      return _ret;\n    }\n    #endregion\n\n    #region tests instrumentation\n    /// <summary>\n    /// Checks the consistency of the all items in the <see cref=\"AssociationsCollection\"/> collection.\n    /// </summary>\n    internal void CheckConsistency()\n    {\n      foreach (ConsumerAssociation _item in AssociationsCollection.Values)\n        CheckConsistency(_item);\n    }\n    private void CheckConsistency(ConsumerAssociation item)\n    {\n\n      Assert.AreEqual(HandlerState.Operational, item.State.State);\n      //Assert.AreEqual<UInt32>(AssociationConfigurationId, _item.DataDescriptor.Guid);\n      Assert.AreEqual<string>(AssociationConfigurationInformationModelURI, item.DataDescriptor.Identifier.ToString());\n      Assert.AreEqual<string>(AssociationConfigurationDataSymbolicName, item.DataDescriptor.SymbolicName);\n\n    }\n    internal void InitializeAndRun()\n    {\n      Start();\n    }\n    #endregion\n\n    #region Factories set\n    /// <summary>\n    /// Class ConfigurationFactory.\n    /// </summary>\n    private class ConsumerConfigurationFactory : ConfigurationFactoryBase<ConfigurationData>\n    {\n\n      public ConsumerConfigurationFactory()\n      {\n        this.Loader = m_GetConfiguration;\n      }\n\n      #region ConfigurationFactoryBase\n      ///// <summary>\n      ///// Occurs after the association configuration has been changed.\n      ///// </summary>\n      public override event EventHandler<EventArgs> OnAssociationConfigurationChange;\n      ///// <summary>\n      ///// Occurs after the communication configuration has been changed.\n      ///// </summary>\n      public override event EventHandler<EventArgs> OnMessageHandlerConfigurationChange;\n      #endregion\n\n      #region configuration\n      /// <summary>\n      /// Gets the configuration.\n      /// </summary>\n      /// <returns>Am object of <see cref=\"ConfigurationData\" /> type capturing the communication configuration.</returns>\n      /// <exception cref=\"System.NotImplementedException\"></exception>\n      private ConfigurationData m_GetConfiguration()\n      {\n        return new ConfigurationData() { DataSets = GetAssociations(), MessageHandlers = GetMessageTransport() };\n      }\n      private MessageHandlerConfiguration[] GetMessageTransport()\n      {\n        return new MessageHandlerConfiguration[] { new MessageReaderConfiguration() { ConsumerAssociationConfigurations = GetTransportAssociations(),\n                                                                                       Configuration = new MessageChannelConfiguration(),\n                                                                                       Name = \"UDP\",\n                                                                                       TransportRole = AssociationRole.Consumer } };\n      }\n      private ConsumerAssociationConfiguration[] GetTransportAssociations()\n      {\n        return new ConsumerAssociationConfiguration[] { new ConsumerAssociationConfiguration() { AssociationName = AssociationConfigurationAlias, DataSetWriterId = UInt16.MaxValue, PublisherId = Guid.NewGuid() } };\n      }\n      private DataSetConfiguration[] GetAssociations()\n      {\n        return new DataSetConfiguration[] {\n          new DataSetConfiguration()\n          { AssociationName = AssociationConfigurationAlias,\n            AssociationRole = AssociationRole.Consumer,\n            DataSet = GetMembers(),\n            DataSymbolicName = \"DataSymbolicName\",\n            Id = Guid.NewGuid(),\n            InformationModelURI= AssociationConfigurationInformationModelURI,\n            RepositoryGroup = m_RepositoryGroup\n        } };\n      }\n      private FieldMetaData[] GetMembers()\n      {\n        return new FieldMetaData[]\n        {\n          new FieldMetaData() { ProcessValueName = \"Value1\",   TypeInformation = new UATypeInfo(BuiltInType.String), SymbolicName = \"Value1\" },\n          new FieldMetaData() { ProcessValueName = \"Value2\", TypeInformation = new UATypeInfo(BuiltInType.Double), SymbolicName = \"Value2\" },\n        };\n      }\n      protected override void RaiseEvents()\n      {\n        OnAssociationConfigurationChange?.Invoke(this, EventArgs.Empty);\n        OnMessageHandlerConfigurationChange?.Invoke(this, EventArgs.Empty);\n      }\n      #endregion\n\n    }\n    /// <summary>\n    /// Class MVVMSimulator it is simulator of a component providing user interface constructed according to the Model View ViewModel pattern\n    /// </summary>\n    private class MVVMSimulatorFactory : IBindingFactory\n    {\n\n      #region IBindingFactory\n      public IConsumerBinding GetConsumerBinding(string repositoryGroup, string processValueName, UATypeInfo fieldTypeInfo)\n      {\n        if (repositoryGroup != m_RepositoryGroup)\n          throw new ArgumentNullException(\"repositoryGroup\");\n        return m_ViewModel.GetConsumerBinding(processValueName, fieldTypeInfo.BuiltInType);\n      }\n      public IProducerBinding GetProducerBinding(string repositoryGroup, string processValueName, UATypeInfo fieldTypeInfo)\n      {\n        throw new NotImplementedException();\n      }\n      #endregion\n\n      private ScreeViewModel m_ViewModel = new ScreeViewModel();\n\n    }\n    private class MyEncodingFactory : IEncodingFactory\n    {\n      public void UpdateValueConverter(IBinding binding, string repositoryGroup, UATypeInfo sourceEncoding)\n      {\n        if (repositoryGroup != m_RepositoryGroup)\n          throw new ArgumentOutOfRangeException(\"repositoryGroup\");\n        Assert.AreEqual<BuiltInType>(sourceEncoding.BuiltInType, binding.Encoding.BuiltInType);\n      }\n      public IUADecoder UADecoder { get; } = new Helpers.UABinaryDecoderImplementation();\n      public IUAEncoder UAEncoder\n      {\n        get\n        {\n          throw new NotImplementedException();\n        }\n      }\n    }\n    #endregion\n\n    #region preconfigured settings\n    private static UInt32 AssociationConfigurationId = UInt32.MaxValue;\n    private const string AssociationConfigurationAlias = \"Association1\";\n    private const string m_RepositoryGroup = \"repositoryGroup\";\n    private const string AssociationConfigurationDataSymbolicName = \"DataSymbolicName\";\n    private const string AssociationConfigurationInformationModelURI = \"https://github.com/mpostol/OPC-UA-OOI\";\n    #endregion\n\n\n  }\n\n\n}\n"
  },
  {
    "path": "Networking/Tests/SemanticDatalUnitTest/Simulator/CustomNodeManager.cs",
    "content": "﻿\nusing System;\nusing UAOOI.Networking.SemanticData.DataRepository;\nusing UAOOI.Configuration.Networking.Serialization;\n\nnamespace UAOOI.Networking.SemanticData.UnitTest.Simulator\n{\n\n  internal class CustomNodeManager\n  {\n\n    internal IProducerBinding GetProducerBinding(string variableName, BuiltInType encoding)\n    {\n      UATypeInfo _uaTypeInfo = new UATypeInfo(encoding);\n      if (variableName == \"Value1\")\n      {\n        Value1 = new ProducerBindingMonitoredValue<string>(variableName, _uaTypeInfo);\n        return Value1;\n      }\n      else if (variableName == \"Value2\")\n      {\n        Value2 = new ProducerBindingMonitoredValue<double>(variableName, _uaTypeInfo);\n        return Value2;\n      }\n      else\n        throw new ArgumentOutOfRangeException(\"variableName\");\n    }\n\n    private ProducerBindingMonitoredValue<string> Value1 { get; set; }\n    private ProducerBindingMonitoredValue<double> Value2 { get; set; }\n\n    #region test environment\n    internal void Update(object value, string name)\n    {\n      if (name == \"Value1\")\n      {\n        if (Value1.Encoding.BuiltInType != BuiltInType.String)\n          throw new ArgumentOutOfRangeException(\"Wrong type\");\n        if (\"Value1\" != name)\n          throw new ArgumentOutOfRangeException(\"Wrong name\");\n        Value1.MonitoredValue = (string)value;\n      }\n      else if (name == \"Value2\")\n      {\n        if (Value2.Encoding.BuiltInType != BuiltInType.Double)\n          throw new ArgumentOutOfRangeException(\"Wrong type\");\n        if (\"Value2\" != name)\n          throw new ArgumentOutOfRangeException(\"Wrong name\");\n        Value2.MonitoredValue = (double)value;\n      }\n    }\n\n    #endregion\n\n  }\n\n}\n"
  },
  {
    "path": "Networking/Tests/SemanticDatalUnitTest/Simulator/OPCUAServerSimulator.cs",
    "content": "﻿//___________________________________________________________________________________\n//\n//  Copyright (C) 2019, Mariusz Postol LODZ POLAND.\n//\n//  To be in touch join the community at GITTER: https://gitter.im/mpostol/OPC-UA-OOI\n//___________________________________________________________________________________\n\nusing Microsoft.VisualStudio.TestTools.UnitTesting;\nusing System;\nusing UAOOI.Configuration.Networking;\nusing UAOOI.Configuration.Networking.Serialization;\nusing UAOOI.Networking.Core;\nusing UAOOI.Networking.SemanticData.DataRepository;\nusing UAOOI.Networking.SemanticData.Encoding;\nusing UAOOI.Networking.SemanticData.MessageHandling;\nusing UAOOI.Networking.SemanticData.UnitTest.MessageHandlerFactory;\n\nnamespace UAOOI.Networking.SemanticData.UnitTest.Simulator\n{\n  /// <summary>\n  /// Class OPCUAServerSimulator - the class is to be used as a simulator of Address Space component.\n  /// It is used to simulate producer role on the server side.\n  /// </summary>\n  internal class OPCUAServerProducerSimulator : DataManagementSetup\n  {\n\n    #region creator\n    internal static OPCUAServerProducerSimulator CreateDevice(MessageHandlerFactoryFixture messageHandlerFactory, Guid dataSetGuid)\n    {\n      AssociationConfigurationId = dataSetGuid;\n      OPCUAServerProducerSimulator _ret = new OPCUAServerProducerSimulator\n      {\n        ConfigurationFactory = new MyConfigurationFactory(),\n        BindingFactory = new MyBindingFFactory(),\n        EncodingFactory = new MyEncodingFactory(),\n        MessageHandlerFactory = messageHandlerFactory\n      };\n      return _ret;\n    }\n    #endregion\n\n    #region testing environment\n    internal void TestStart()\n    {\n      base.Start();\n    }\n    /// <summary>\n    /// Checks the consistency of the all items in the <see cref=\"AssociationsCollection\"/> collection.\n    /// </summary>\n    internal void CheckConsistency()\n    {\n      foreach (ProducerAssociation _item in AssociationsCollection.Values)\n        CheckConsistency(_item);\n      ((MessageHandlerFactoryFixture)MessageHandlerFactory).AssertConsistency();\n    }\n    private void CheckConsistency(ProducerAssociation _item)\n    {\n\n      Assert.AreEqual(HandlerState.Operational, _item.State.State);\n      Assert.AreEqual<Guid>(AssociationConfigurationId, _item.DataDescriptor.Guid);\n      Assert.AreEqual<string>(AssociationConfigurationInformationModelURI, _item.DataDescriptor.Identifier.ToString());\n      Assert.AreEqual<string>(AssociationConfigurationDataSymbolicName, _item.DataDescriptor.SymbolicName);\n\n    }\n    internal void Update(object value, string name)\n    {\n      ((MyBindingFFactory)this.BindingFactory).Update(value, name);\n    }\n    #endregion\n\n    #region Factories set\n    /// <summary>\n    /// Class MyConfigurationFactory.\n    /// </summary>\n    private class MyConfigurationFactory : IConfigurationFactory\n    {\n\n      #region IConfigurationFactory\n      /// <summary>\n      /// Gets the configuration.\n      /// </summary>\n      /// <returns>Am object of <see cref=\"ConfigurationData\" /> type capturing the communication configuration.</returns>\n      /// <exception cref=\"System.NotImplementedException\"></exception>\n      public ConfigurationData GetConfiguration()\n      {\n        return new ConfigurationData() { DataSets = GetAssociations(), MessageHandlers = GetMessageTransport() };\n      }\n      /// <summary>\n      /// Occurs after the association configuration has been changed.\n      /// </summary>\n      public event EventHandler<EventArgs> OnAssociationConfigurationChange;\n      /// <summary>\n      /// Occurs after the communication configuration has been changed.\n      /// </summary>\n      public event EventHandler<EventArgs> OnMessageHandlerConfigurationChange;\n      #endregion\n\n      #region configuration\n      private MessageHandlerConfiguration[] GetMessageTransport()\n      {\n        return new MessageWriterConfiguration[] { new MessageWriterConfiguration() { ProducerAssociationConfigurations = GetTransportAssociations(),\n                                                                                     Configuration = new MessageChannelConfiguration() { ChannelConfiguration = \"4840,localhost\" },\n                                                                                     Name = \"UDP\",\n                                                                                     TransportRole = AssociationRole.Producer } };\n      }\n      private ProducerAssociationConfiguration[] GetTransportAssociations()\n      {\n        return new ProducerAssociationConfiguration[] { new ProducerAssociationConfiguration() { AssociationName = AssociationConfigurationAlias, DataSetWriterId = ushort.MaxValue } };\n      }\n      private DataSetConfiguration[] GetAssociations()\n      {\n        return new DataSetConfiguration[] { new DataSetConfiguration() { AssociationName = AssociationConfigurationAlias,\n                                                                         AssociationRole = AssociationRole.Producer,\n                                                                         DataSet = GetMembers(),\n                                                                         DataSymbolicName = \"DataSymbolicName\",\n                                                                         Id = AssociationConfigurationId,\n                                                                         RepositoryGroup = m_RepositoryGroup,\n                                                                         InformationModelURI= AssociationConfigurationInformationModelURI\n                                                                       }\n        };\n      }\n      private FieldMetaData[] GetMembers()\n      {\n        return new FieldMetaData[]\n        {\n          new FieldMetaData() { ProcessValueName = \"Value1\", TypeInformation = new UATypeInfo( BuiltInType.String), SymbolicName = \"Value1\" },\n          new FieldMetaData() { ProcessValueName = \"Value2\", TypeInformation = new UATypeInfo( BuiltInType.Double), SymbolicName = \"Value2\" },\n        };\n      }\n      #endregion\n    }\n    private class MyBindingFFactory : IBindingFactory\n    {\n\n      #region IBindingFactory\n      public IConsumerBinding GetConsumerBinding(string repositoryGroup, string processValueName, UATypeInfo fieldTypeInfo)\n      {\n        throw new NotImplementedException();\n      }\n      public IProducerBinding GetProducerBinding(string repositoryGroup, string processValueName, UATypeInfo fieldTypeInfo)\n      {\n        if (repositoryGroup != m_RepositoryGroup)\n          throw new ArgumentNullException(\"repositoryGroup\");\n        return m_CustomNodesManager.GetProducerBinding(processValueName, fieldTypeInfo.BuiltInType);\n      }\n      #endregion\n\n      #region private\n      private CustomNodeManager m_CustomNodesManager = new CustomNodeManager();\n      #endregion\n\n      #region testing environment\n      internal void Update(object value, string name)\n      {\n        m_CustomNodesManager.Update(value, name);\n      }\n\n      #endregion\n\n    }\n    private class MyEncodingFactory : IEncodingFactory\n    {\n\n      public void UpdateValueConverter(IBinding binding, string repositoryGroup, UATypeInfo sourceEncoding)\n      {\n        if (repositoryGroup != m_RepositoryGroup)\n          throw new ArgumentOutOfRangeException(\"repositoryGroup\");\n        Assert.AreEqual<BuiltInType>(sourceEncoding.BuiltInType, binding.Encoding.BuiltInType);\n      }\n\n      public IUADecoder UADecoder { get; } = new Helpers.UABinaryDecoderImplementation();\n\n      public IUAEncoder UAEncoder { get; } = new Helpers.UABinaryEncoderImplementation();\n    }\n    #endregion\n\n    #region preconfigured settings\n    private static Guid AssociationConfigurationId;\n    private const string AssociationConfigurationAlias = \"Association1\";\n    private const string m_RepositoryGroup = \"repositoryGroup\";\n    private const string AssociationConfigurationDataSymbolicName = \"DataSymbolicName\";\n    private const string AssociationConfigurationInformationModelURI = \"https://github.com/mpostol/OPC-UA-OOI\";\n    #endregion\n\n  }\n  internal class MyMessageWriter : IMessageWriter\n  {\n\n    public MyMessageWriter(Guid dataSetGuid)\n    {\n      this.dataSetGuid = dataSetGuid;\n      State = new MyState();\n    }\n\n    #region IMessageWriter\n    /// <summary>\n    /// Gets the content mask. The content mast read from the message or provided by the writer.\n    /// The order of the bits starting from the least significant bit matches the order of the data items\n    /// within the data set.\n    /// </summary>\n    /// <value>The content mask represented as unsigned number <see cref=\"T:System.UInt64\" />. The order of the bits starting from the least significant\n    /// bit matches the order of the data items within the data set.</value>\n    /// <exception cref=\"System.NotImplementedException\"></exception>\n    public ulong ContentMask => throw new NotImplementedException();\n    /// <summary>\n    /// Sends the data described by a data set collection to remote destination.\n    /// </summary>\n    /// <param name=\"producerBinding\">Encapsulates functionality used by the <see cref=\"T:UAOOI.Networking.SemanticData.MessageHandling.IMessageWriter\" /> to collect all the data (data set items) required to prepare new message and send it over the network.</param>\n    /// <param name=\"length\">Number of items to be send used to calculate the length of the message.</param>\n    /// <param name=\"contentMask\">The content mask represented as unsigned number <see cref=\"T:System.UInt64\" />. The order of the bits starting from the least significant\n    /// bit matches the order of the data items within the data set.</param>\n    /// <param name=\"encoding\">The encoding.</param>\n    /// <param name=\"dataSelector\">The data selector.</param>\n    /// <param name=\"messageSequenceNumber\">The message sequence number. A monotonically increasing sequence number assigned by the publisher to each message sent.</param>\n    /// <param name=\"timeStamp\">The time stamp - the time the Data was collected.</param>\n    /// <param name=\"configurationVersion\">The configuration version.</param>\n    /// <exception cref=\"ArgumentOutOfRangeException\">length</exception>\n    public void Send\n      (Func<int, IProducerBinding> producerBinding, ushort length, ulong contentMask, FieldEncodingEnum encoding, DataSelector\n       dataSelector, ushort messageSequenceNumber, DateTime timeStamp, ConfigurationVersionDataType configurationVersion)\n    {\n      if (length > 2)\n        throw new ArgumentOutOfRangeException(\"length\");\n      m_Buffer = new object[length];\n      for (int i = 0; i < 2; i++)\n        m_Buffer[i] = producerBinding(i);\n      m_HaveSendData = true;\n    }\n    public IAssociationState State\n    {\n      get;\n      private set;\n    }\n    public void AttachToNetwork()\n    {\n      m_HaveBeenActivated = true;\n    }\n    #endregion\n\n    public void Dispose()\n    {\n      throw new NotImplementedException();\n    }\n\n    #region testing environment\n    internal void ReadData()\n    {\n      throw new NotFiniteNumberException();\n    }\n    internal void CheckConsistency()\n    {\n      Assert.IsNotNull(State);\n      Assert.AreEqual<HandlerState>(HandlerState.Operational, State.State);\n      Assert.IsNotNull(m_HaveSendData);\n      Assert.IsTrue(m_HaveBeenActivated);\n    }\n\n\n    private bool m_HaveBeenActivated = false;\n    private bool m_HaveSendData;\n    private object[] m_Buffer = null;\n    #endregion\n\n    #region private\n    /// <summary>\n    /// Class MyState.\n    /// </summary>\n    private class MyState : IAssociationState\n    {\n      /// <summary>\n      /// Initializes a new instance of the <see cref=\"MyState\"/> class.\n      /// </summary>\n      public MyState()\n      {\n        State = HandlerState.Disabled;\n      }\n      /// <summary>\n      /// Gets the current state <see cref=\"HandlerState\" /> of the <see cref=\"Association\" /> instance.\n      /// </summary>\n      /// <value>The state of <see cref=\"HandlerState\" /> type.</value>\n      public HandlerState State\n      {\n        get;\n        private set;\n      }\n      /// <summary>\n      /// This method is used to enable a configured <see cref=\"Association\" /> object. If a normal operation is possible, the state changes into <see cref=\"HandlerState.Operational\" /> state.\n      /// In the case of an error situation, the state changes into <see cref=\"HandlerState.Error\" />. The operation is rejected if the current <see cref=\"State\" />  is not <see cref=\"HandlerState.Disabled\" />.\n      /// </summary>\n      /// <exception cref=\"System.ArgumentException\">Wrong state</exception>\n      public void Enable()\n      {\n        if (State != HandlerState.Disabled)\n          throw new ArgumentException(\"Wrong state\");\n        State = HandlerState.Operational;\n      }\n      /// <summary>\n      /// This method is used to disable an already enabled <see cref=\"Association\" /> object.\n      /// This method call shall be rejected if the current State is <see cref=\"HandlerState.Disabled\" /> or <see cref=\"HandlerState.NoConfiguration\" />.\n      /// </summary>\n      /// <exception cref=\"System.ArgumentException\">Wrong state</exception>\n      public void Disable()\n      {\n        if (State != HandlerState.Operational)\n          throw new ArgumentException(\"Wrong state\");\n        State = HandlerState.Disabled;\n      }\n    }\n    private Guid dataSetGuid;\n    #endregion\n\n  }\n\n}\n"
  },
  {
    "path": "Networking/Tests/SemanticDatalUnitTest/Simulator/PersistenConfiguration.cs",
    "content": "﻿\nusing System;\nusing UAOOI.Configuration.Networking.Serialization;\n\nnamespace UAOOI.Networking.SemanticData.UnitTest.Simulator\n{\n  /// <summary>\n  /// Class PersistentConfiguration - simulates a persistent configuration, like EEPROM, file, etc.\n  /// </summary>\n  internal static class PersistentConfiguration\n  {\n\n    internal static ConfigurationData GetLocalConfiguration()\n    {\n      return new ConfigurationData()\n      {\n        DataSets = new DataSetConfiguration[] { GetAssociationConfiguration(), GetAssociationConfiguration(), GetAssociationConfiguration() },\n        MessageHandlers = new MessageHandlerConfiguration[] { GetMessageReaderConfiguration(), GetMessageReaderConfiguration(), GetMessageReaderConfiguration() }\n\n      };\n    }\n    private static MessageHandlerConfiguration GetMessageReaderConfiguration()\n    {\n      return new MessageReaderConfiguration()\n      {\n        ConsumerAssociationConfigurations = new ConsumerAssociationConfiguration[] { new ConsumerAssociationConfiguration() { AssociationName = \"Associations\".AddId(AssociationId), DataSetWriterId = UInt16.MaxValue, PublisherId = Guid.NewGuid() } },\n        Configuration = new MessageChannelConfiguration() { ChannelConfiguration = \"4840,True,239.255.255.1,True\" },\n        Name = \"Name\".AddId(MessageTransportId),\n        TransportRole = AssociationRole.Consumer\n      };\n    }\n    internal static DataSetConfiguration GetAssociationConfiguration()\n    {\n      return new DataSetConfiguration()\n      {\n        AssociationName = \"Alias\".AddId(AssociationId),\n        AssociationRole = AssociationRole.Consumer,\n        DataSet = GetMembers(),\n        DataSymbolicName = \"DataSymbolicName\".AddId(AssociationId),\n        Id = Guid.NewGuid(),\n        RepositoryGroup = \"RepositoryGroup\".AddId(DataMemberId),\n        InformationModelURI = \"http://www.commsvr.com\".AddId(AssociationId)\n      };\n    }\n    internal static FieldMetaData[] GetMembers()\n    {\n      return new FieldMetaData[] { GetDataMember(), GetDataMember(), GetDataMember() };\n    }\n    private static FieldMetaData GetDataMember()\n    {\n      return new FieldMetaData() { ProcessValueName = \"ProcessValueName\".AddId(DataMemberId), SymbolicName = \"SymbolicName\".AddId(DataMemberId), TypeInformation = new UATypeInfo(BuiltInType.String) };\n    }\n    private static int MessageTransportId { get { return p_MessageTransportId++; } }\n    private static int p_MessageTransportId;\n    internal static int AssociationId { get { return p_AssociationId++; } }\n    private static int DataSetId { get { return p_DataSet++; } }\n    public static int DataMemberId { get { return p_DataMemberId++; } }\n    private static int p_AssociationId = 0;\n    private static int p_DataSet = 0;\n    private static int p_DataMemberId = 0;\n\n  }\n  internal static class StringExtensions\n  {\n    public static string AddId(this string name, int id)\n    {\n      return String.Format(\"{0}{1}\", name, id);\n    }\n  }\n}\n"
  },
  {
    "path": "Networking/Tests/SemanticDatalUnitTest/Simulator/ScreeViewModel.cs",
    "content": "﻿\nusing System;\nusing System.ComponentModel;\nusing UAOOI.Networking.SemanticData.DataRepository;\nusing UAOOI.Configuration.Networking.Serialization;\n\nnamespace UAOOI.Networking.SemanticData.UnitTest.Simulator\n{\n\n  /// <summary>\n  /// Class ScreeViewModel - this class demonstrates how to create bindings to the properties that are holders of values in the Model View ViewModel pattern.\n  /// </summary>\n  internal class ScreeViewModel : INotifyPropertyChanged\n  {\n\n    #region API\n    /// <summary>\n    /// Helper method that creates the consumer binding. \n    /// </summary>\n    /// <param name=\"variableName\">Name of the variable.</param>\n    /// <returns>IConsumerBinding.</returns>\n    /// <exception cref=\"System.ArgumentOutOfRangeException\">variableName</exception>\n    public IConsumerBinding GetConsumerBinding(string variableName, BuiltInType encoding)\n    {\n      UATypeInfo _uaTypeInfo = new UATypeInfo(encoding);\n      if (variableName == \"Value1\")\n      {\n        Value1 = new ConsumerBindingMonitoredValue<string>(_uaTypeInfo);\n        return Value1;\n      }\n      else if (variableName == \"Value2\")\n      {\n        Value2 = new ConsumerBindingMonitoredValue<double>(_uaTypeInfo);\n        return Value2;\n      }\n      throw new ArgumentOutOfRangeException(\"variableName\");\n    }\n    #endregion\n\n    #region INotifyPropertyChanged\n    public event PropertyChangedEventHandler PropertyChanged;\n    #endregion\n\n    #region ModelView implementation\n    public ConsumerBindingMonitoredValue<string> Value1\n    {\n      get\n      {\n        return b_Value1;\n      }\n      set\n      {\n        PropertyChanged.RaiseHandler<ConsumerBindingMonitoredValue<string>>(value, ref b_Value1, \"Value1\", this);\n      }\n    }\n    public ConsumerBindingMonitoredValue<double> Value2\n    {\n      get\n      {\n        return b_Value2;\n      }\n      set\n      {\n        PropertyChanged.RaiseHandler<ConsumerBindingMonitoredValue<double>>(value, ref b_Value2, \"Value2\", this);\n      }\n    }\n    private ConsumerBindingMonitoredValue<string> b_Value1;\n    private ConsumerBindingMonitoredValue<double> b_Value2;\n\n    #endregion\n\n  }\n}\n"
  },
  {
    "path": "Networking/Tests/SemanticDatalUnitTest/UABinaryDecoderImplementationUnitTest.cs",
    "content": "﻿\nusing System;\nusing Microsoft.VisualStudio.TestTools.UnitTesting;\nusing System.IO;\nusing UAOOI.Networking.SemanticData.Encoding;\nusing System.Xml;\nusing UAOOI.Configuration.Networking.Serialization;\n\nnamespace UAOOI.Networking.SemanticData.UnitTest\n{\n  [TestClass]\n  public class UABinaryDecoderImplementationUnitTest\n  {\n\n    #region TestMethod\n    [TestMethod]\n    [TestCategory(\"DataManagement_UABinaryDecoderImplementationUnitTest\")]\n    [ExpectedException(typeof(NotImplementedException))]\n    public void WriteDataValueTestMethod()\n    {\n      IDataValue _ReadDataValue;\n      using (MemoryStream _stream = new MemoryStream())\n      using (TestBinaryReader _buffer = new TestBinaryReader(_stream))\n        _ReadDataValue = _buffer.ReadDataValue(_buffer);\n    }\n    [TestMethod]\n    [TestCategory(\"DataManagement_UABinaryDecoderImplementationUnitTest\")]\n    public void GuidTestMethod()\n    {\n      Guid _Guid = Guid.NewGuid();\n      MemoryStream _stream = new MemoryStream(_Guid.ToByteArray());\n      TestBinaryReader _buffer = new TestBinaryReader(_stream);\n      Assert.IsNotNull(_buffer);\n      Guid _EncodedGuid = _buffer.ReadGuid();\n      _buffer.Close();\n      Assert.AreEqual<Guid>(_Guid, _EncodedGuid);\n    }\n    [TestMethod]\n    [TestCategory(\"DataManagement_UABinaryDecoderImplementationUnitTest\")]\n    public void VariantGuidTestMethod()\n    {\n      using (MemoryStream _stream = new MemoryStream(CommonDefinitions.TestGuidVariant))\n      using (TestBinaryReader _buffer = new TestBinaryReader(_stream))\n      {\n        Assert.IsNotNull(_buffer);\n        IVariant _EncodedVGuid = _buffer.ReadVariant(_buffer);\n        _buffer.Close();\n        Assert.IsNotNull(_EncodedVGuid);\n        Assert.AreEqual<BuiltInType>(BuiltInType.Guid, _EncodedVGuid.UATypeInfo.BuiltInType);\n        Assert.AreEqual<int>(-1, _EncodedVGuid.UATypeInfo.ValueRank);\n        Assert.AreEqual<Guid>(CommonDefinitions.TestGuid, (Guid)_EncodedVGuid.Value);\n      }\n    }\n    [TestMethod]\n    [TestCategory(\"DataManagement_UABinaryDecoderImplementationUnitTest\")]\n    public void ArrayOneDimensionCompressedTest()\n    {\n      byte[] _testArray = new byte[] { 5, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 2, 0, 0, 0, 3, 0, 0, 0, 4, 0, 0, 0 };\n      Array _EncodedArray = null;\n      using (MemoryStream _stream = new MemoryStream(_testArray))\n      using (TestBinaryReader _buffer = new TestBinaryReader(_stream))\n      {\n        Assert.IsNotNull(_buffer);\n        _EncodedArray = _buffer.ReadArray<Int32>(_buffer, _buffer.ReadInt32, false);\n        _buffer.Close();\n      }\n      Assert.IsNotNull(_EncodedArray);\n      Assert.AreEqual<int>(1, _EncodedArray.Rank);\n      Assert.IsInstanceOfType(_EncodedArray, typeof(Array));\n      Assert.AreEqual<int>(5, _EncodedArray.GetLength(0));\n      CollectionAssert.AreEqual(new Int32[] { 0, 1, 2, 3, 4 }, _EncodedArray);\n    }\n    [TestMethod]\n    [TestCategory(\"DataManagement_UABinaryDecoderImplementationUnitTest\")]\n    [ExpectedException(typeof(NotImplementedException))]\n    public void ArrayMultiDimensionTest()\n    {\n      byte[] _testArray = new byte[] { 198, 4, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 2, 0, 0, 0, 3, 0, 0, 0, 2, 0, 0, 0, 2, 0, 0, 0, 2, 0, 0, 0 };\n      Array _EncodedArray = null;\n      using (MemoryStream _stream = new MemoryStream(_testArray))\n      using (TestBinaryReader _buffer = new TestBinaryReader(_stream))\n      {\n        Assert.IsNotNull(_buffer);\n        _EncodedArray = _buffer.ReadArray<Int32>(_buffer, _buffer.ReadInt32, true);\n        Assert.Fail();\n        _buffer.Close();\n      }\n      Assert.IsNotNull(_EncodedArray);\n      Assert.AreEqual<int>(2, _EncodedArray.Rank);\n      Assert.IsInstanceOfType(_EncodedArray, typeof(Array));\n      Assert.AreEqual<int>(4, _EncodedArray.Length);\n      CollectionAssert.AreEqual(new Int32[] { 0, 1, 2, 3 }, _EncodedArray);\n    }\n    [TestMethod]\n    [TestCategory(\"DataManagement_UABinaryDecoderImplementationUnitTest\")]\n    public void ArrayOneDimensionVariantTest()\n    {\n      byte[] _testArray = new byte[] { 134, 5, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 2, 0, 0, 0, 3, 0, 0, 0, 4, 0, 0, 0 };\n      IVariant _EncodedArray = null;\n      using (MemoryStream _stream = new MemoryStream(_testArray))\n      using (TestBinaryReader _buffer = new TestBinaryReader(_stream))\n      {\n        Assert.IsNotNull(_buffer);\n        _EncodedArray = _buffer.ReadVariant(_buffer);\n        _buffer.Close();\n      }\n      Assert.IsNotNull(_EncodedArray);\n      Assert.AreEqual<BuiltInType>(BuiltInType.Int32, _EncodedArray.UATypeInfo.BuiltInType);\n      Assert.AreEqual<int>(1, _EncodedArray.UATypeInfo.ValueRank);\n      Assert.IsInstanceOfType(_EncodedArray.Value, typeof(Array));\n      Array _value = _EncodedArray.Value as Array;\n      Assert.IsNotNull(_value);\n      Assert.AreEqual<int>(1, _value.Rank);\n      Assert.AreEqual<int>(5, _value.GetLength(0));\n      CollectionAssert.AreEqual(new Int32[] { 0, 1, 2, 3, 4 }, _value);\n    }\n    [TestMethod]\n    [TestCategory(\"DataManagement_UABinaryDecoderImplementationUnitTest\")]\n    public void ArrayOneDimensionByteStringVariantTest()\n    {\n      byte[] _testArray = new byte[] { 143, 2, 0, 0, 0, 5, 0, 0, 0, 0, 1, 2, 3, 4, 5, 0, 0, 0, 5, 6, 7, 8, 9 };\n      IVariant _EncodedArray = null;\n      using (MemoryStream _stream = new MemoryStream(_testArray))\n      using (TestBinaryReader _buffer = new TestBinaryReader(_stream))\n      {\n        Assert.IsNotNull(_buffer);\n        _EncodedArray = _buffer.ReadVariant(_buffer);\n        _buffer.Close();\n      }\n      Assert.IsNotNull(_EncodedArray);\n      Assert.AreEqual<BuiltInType>(BuiltInType.ByteString, _EncodedArray.UATypeInfo.BuiltInType);\n      Assert.AreEqual<int>(1, _EncodedArray.UATypeInfo.ValueRank);\n      Assert.IsInstanceOfType(_EncodedArray.Value, typeof(Array));\n      Array _value = _EncodedArray.Value as Array;\n      Assert.IsNotNull(_value);\n      Assert.AreEqual<int>(1, _value.Rank);\n      Assert.AreEqual<int>(2, _value.GetLength(0));\n      byte[][] _recovered = (byte[][])_value;\n      byte[][] _expected = new byte[][] { new byte[] { 0, 1, 2, 3, 4 }, new byte[] { 5, 6, 7, 8, 9 } };\n      for (int i = 0; i < _value.Rank; i++)\n        CollectionAssert.AreEqual(_expected[i], _recovered[i]);\n    }\n    [TestMethod]\n    [TestCategory(\"DataManagement_UABinaryDecoderImplementationUnitTest\")]\n    public void VariantDateTimeTestMethod()\n    {\n      foreach (CommonDefinitions.DateTimeVariantEncoding _dtx in CommonDefinitions.DateTimeTestingValues)\n      {\n        using (MemoryStream _stream = new MemoryStream(_dtx.encoding))\n        using (TestBinaryReader _buffer = new TestBinaryReader(_stream))\n        {\n          Assert.IsNotNull(_buffer);\n          IVariant _variant = _buffer.ReadVariant(_buffer);\n          _buffer.Close();\n          Assert.AreEqual<BuiltInType>(BuiltInType.DateTime, _variant.UATypeInfo.BuiltInType);\n          Assert.AreEqual<DateTime>(_dtx.dateTime, (DateTime)_variant.Value);\n        }\n      }\n    }\n    #endregion\n\n    #region private\n    private class TestBinaryReader : BinaryReader, IBinaryDecoder, IUADecoder\n    {\n      public TestBinaryReader(Stream input) : base(input) { }\n\n      #region IUADecoder - not supported\n      public byte[] ReadByteString(IBinaryDecoder decoder)\n      {\n        Assert.AreSame(this, decoder);\n        return m_UABinaryDecoder.ReadByteString(decoder);\n      }\n      public IDataValue ReadDataValue(IBinaryDecoder decoder)\n      {\n        Assert.AreSame(this, decoder);\n        return m_UABinaryDecoder.ReadDataValue(decoder);\n      }\n      public DateTime ReadDateTime(IBinaryDecoder decoder)\n      {\n        Assert.AreSame(this, decoder);\n        return m_UABinaryDecoder.ReadDateTime(decoder);\n      }\n      public IDiagnosticInfo ReadDiagnosticInfo(IBinaryDecoder decoder)\n      {\n        Assert.AreSame(this, decoder);\n        return m_UABinaryDecoder.ReadDiagnosticInfo(decoder);\n      }\n      public IExpandedNodeId ReadExpandedNodeId(IBinaryDecoder decoder)\n      {\n        Assert.AreSame(this, decoder);\n        return m_UABinaryDecoder.ReadExpandedNodeId(decoder);\n      }\n      public IExtensionObject ReadExtensionObject(IBinaryDecoder decoder)\n      {\n        Assert.AreSame(this, decoder);\n        return m_UABinaryDecoder.ReadExtensionObject(decoder);\n      }\n      public Guid ReadGuid(IBinaryDecoder decoder)\n      {\n        Assert.AreSame(this, decoder);\n        return m_UABinaryDecoder.ReadGuid(decoder);\n      }\n      public ILocalizedText ReadLocalizedText(IBinaryDecoder decoder)\n      {\n        Assert.AreSame(this, decoder);\n        return m_UABinaryDecoder.ReadLocalizedText(decoder);\n      }\n      public INodeId ReadNodeId(IBinaryDecoder decoder)\n      {\n        Assert.AreSame(this, decoder);\n        return m_UABinaryDecoder.ReadNodeId(decoder);\n      }\n      public IQualifiedName ReadQualifiedName(IBinaryDecoder decoder)\n      {\n        Assert.AreSame(this, decoder);\n        return m_UABinaryDecoder.ReadQualifiedName(decoder);\n      }\n      public IStatusCode ReadStatusCode(IBinaryDecoder decoder)\n      {\n        Assert.AreSame(this, decoder);\n        return m_UABinaryDecoder.ReadStatusCode(decoder);\n      }\n      public IVariant ReadVariant(IBinaryDecoder decoder)\n      {\n        Assert.AreSame(this, decoder);\n        return m_UABinaryDecoder.ReadVariant(decoder);\n      }\n      public XmlElement ReadXmlElement(IBinaryDecoder decoder)\n      {\n        Assert.AreSame(this, decoder);\n        return m_UABinaryDecoder.ReadXmlElement(decoder);\n      }\n      public string ReadString(IBinaryDecoder decoder)\n      {\n        Assert.AreSame(this, decoder);\n        return m_UABinaryDecoder.ReadString(decoder);\n      }\n      public Array ReadArray<type>(IBinaryDecoder decoder, Func<type> readValue, bool arrayDimensionsPresents)\n      {\n        return m_UABinaryDecoder.ReadArray<type>(decoder, readValue, arrayDimensionsPresents);\n      }\n      #endregion\n\n      #region IBinaryDecoder\n      public Guid ReadGuid()\n      {\n        return ReadGuid(this);\n      }\n      public DateTime ReadDateTime()\n      {\n        return ReadDateTime(this);\n      }\n      #endregion\n\n      #region private\n      private Helpers.UABinaryDecoderImplementation m_UABinaryDecoder = new Helpers.UABinaryDecoderImplementation();\n      #endregion\n\n    }\n\n    #endregion\n\n  }\n}\n"
  },
  {
    "path": "Networking/Tests/SemanticDatalUnitTest/UABinaryEncoderImplementationUnitTest.cs",
    "content": "﻿using System;\nusing Microsoft.VisualStudio.TestTools.UnitTesting;\nusing System.IO;\nusing UAOOI.Networking.SemanticData.Encoding;\nusing System.Xml;\nusing UAOOI.Configuration.Networking.Serialization;\nusing System.Linq;\n\nnamespace UAOOI.Networking.SemanticData.UnitTest\n{\n  [TestClass]\n  public class UABinaryEncoderImplementationUnitTest\n  {\n\n    #region TestMethod\n    [TestMethod]\n    [TestCategory(\"DataManagement_UABinaryEncoderImplementationUnitTest\")]\n    public void WriteByteStringTest()\n    {\n      using (var _stream = new MemoryStream())\n      using (TestBinaryWriter _buffer = new TestBinaryWriter(_stream))\n      {\n        _buffer.Write(_buffer, new byte[10]);\n        _buffer.Close();\n        byte[] _Encoded = _stream.ToArray();\n        Assert.AreEqual<int>(14, _Encoded.Length);\n      }\n    }\n    [TestMethod]\n    [TestCategory(\"DataManagement_UABinaryEncoderImplementationUnitTest\")]\n    [ExpectedException(typeof(ArgumentOutOfRangeException))]\n    public void ArrayLengthOutOfRangeTest()\n    {\n      using (MemoryStream _stream = new MemoryStream())\n      using (TestBinaryWriter _buffer = new TestBinaryWriter(_stream))\n      {\n        Assert.IsNotNull(_buffer);\n        Int32[] _value = new Int32[byte.MaxValue + 1];\n        Variant _variant = new Variant { UATypeInfo = new UATypeInfo(BuiltInType.Int32, 1), Value = _value };\n        _buffer.Write(_buffer, _variant);\n      }\n    }\n    [TestMethod]\n    [TestCategory(\"DataManagement_UABinaryEncoderImplementationUnitTest\")]\n    public void ArrayOneDimensionTest()\n    {\n      WriteArrayOneDimension(0);\n      WriteArrayOneDimension(1);\n    }\n    [TestMethod]\n    [TestCategory(\"DataManagement_UABinaryEncoderImplementationUnitTest\")]\n    public void ArrayMultiDimensionTest()\n    {\n      byte[] _EncodedValue = null;\n      using (MemoryStream _stream = new MemoryStream())\n      using (TestBinaryWriter _buffer = new TestBinaryWriter(_stream))\n      {\n        Assert.IsNotNull(_buffer);\n        Int32[] _dimensions = new Int32[] { 2, 2 };\n        Int32[,] _array = new Int32[,] { { 0, 1 }, { 2, 3 } };\n        Assert.AreEqual<int>(2, _array.Rank);\n        Assert.AreEqual<int>(4, _array.Length);\n        Assert.AreEqual<int>(_dimensions.Length, _array.Rank);\n        UATypeInfo _uaTypeInfo = new UATypeInfo(BuiltInType.Int32, _dimensions.Length, _dimensions);\n        Variant _variant = new Variant { UATypeInfo = _uaTypeInfo, Value = _array };\n        _buffer.Write(_buffer, _variant);\n        _buffer.Close();\n        _EncodedValue = _stream.ToArray();\n      }\n      Assert.IsNotNull(_EncodedValue);\n      Assert.AreEqual<int>(33, _EncodedValue.Length);\n      string _content = String.Join(\", \", _EncodedValue);\n      Assert.AreEqual<string>(\"198, 4, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 2, 0, 0, 0, 3, 0, 0, 0, 2, 0, 0, 0, 2, 0, 0, 0, 2, 0, 0, 0\", _content);\n    }\n    [TestMethod]\n    [TestCategory(\"DataManagement_UABinaryEncoderImplementationUnitTest\")]\n    [ExpectedException(typeof(NotImplementedException))]\n    public void WriteDataValueTestMethod()\n    {\n      using (MemoryStream _stream = new MemoryStream())\n      using (TestBinaryWriter _buffer = new TestBinaryWriter(_stream))\n        _buffer.Write(_buffer, (IDataValue)null);\n    }\n    [TestMethod]\n    [TestCategory(\"DataManagement_UABinaryEncoderImplementationUnitTest\")]\n    public void GuidTestMethod()\n    {\n      byte[] _EncodedGuid = null;\n      Guid _Guid = Guid.NewGuid();\n      using (MemoryStream _stream = new MemoryStream())\n      using (TestBinaryWriter _buffer = new TestBinaryWriter(_stream))\n      {\n        Assert.IsNotNull(_buffer);\n        _buffer.Write(_Guid);\n        _buffer.Close();\n        _EncodedGuid = _stream.ToArray();\n      }\n      Assert.IsNotNull(_EncodedGuid);\n      Assert.AreEqual<int>(16, _EncodedGuid.Length);\n      Guid _recoveredGuid = new Guid(_EncodedGuid);\n      Assert.AreEqual<Guid>(_Guid, _recoveredGuid);\n    }\n    [TestMethod]\n    [TestCategory(\"DataManagement_UABinaryEncoderImplementationUnitTest\")]\n    public void VariantGuidTestMethod()\n    {\n      byte[] _EncodedVGuid = null;\n      using (MemoryStream _stream = new MemoryStream())\n      using (TestBinaryWriter _buffer = new TestBinaryWriter(_stream))\n      {\n        Assert.IsNotNull(_buffer);\n        Variant _variant = new Variant { UATypeInfo = new UATypeInfo(BuiltInType.Guid), Value = CommonDefinitions.TestGuid };\n        _buffer.Write(_buffer, _variant);\n        _buffer.Close();\n        _EncodedVGuid = _stream.ToArray();\n      }\n      Assert.IsNotNull(_EncodedVGuid);\n      Assert.AreEqual<int>(17, _EncodedVGuid.Length);\n      ArraySegment<byte> _segment = new ArraySegment<byte>(_EncodedVGuid, 1, 16);\n      Assert.AreEqual<byte>((byte)BuiltInType.Guid, _EncodedVGuid[0]);\n      CollectionAssert.AreEqual(CommonDefinitions.TestGuid.ToByteArray(), _segment.ToList<byte>());\n    }\n    [TestMethod]\n    [TestCategory(\"DataManagement_UABinaryEncoderImplementationUnitTest\")]\n    public void VariantByteStringTestMethod()\n    {\n      byte[] _EncodedValue = null;\n      using (MemoryStream _stream = new MemoryStream())\n      using (TestBinaryWriter _buffer = new TestBinaryWriter(_stream))\n      {\n        Assert.IsNotNull(_buffer);\n        Variant _variant = new Variant { UATypeInfo = new UATypeInfo(BuiltInType.ByteString), Value = new byte[] { 0, 1, 2, 3, 4 } };\n        _buffer.Write(_buffer, _variant);\n        _buffer.Close();\n        _EncodedValue = _stream.ToArray();\n      }\n      Assert.IsNotNull(_EncodedValue);\n      Assert.AreEqual<int>(10, _EncodedValue.Length);\n      Assert.AreEqual<byte>((byte)BuiltInType.ByteString, _EncodedValue[0]);\n      string _content = String.Join(\", \", _EncodedValue);\n      Assert.AreEqual<string>(\"15, 5, 0, 0, 0, 0, 1, 2, 3, 4\", _content);\n    }\n    [TestMethod]\n    [TestCategory(\"DataManagement_UABinaryEncoderImplementationUnitTest\")]\n    public void VariantArrayOfByteStringsTestMethod()\n    {\n      byte[] _EncodedValue = null;\n      using (MemoryStream _stream = new MemoryStream())\n      using (TestBinaryWriter _buffer = new TestBinaryWriter(_stream))\n      {\n        Assert.IsNotNull(_buffer);\n        Variant _variant = new Variant { UATypeInfo = new UATypeInfo(BuiltInType.ByteString, 1), Value = new byte[][] { new byte[] { 0, 1, 2, 3, 4 }, new byte[] { 5, 6, 7, 8, 9 } } };\n        _buffer.Write(_buffer, _variant);\n        _buffer.Close();\n        _EncodedValue = _stream.ToArray();\n      }\n      Assert.IsNotNull(_EncodedValue);\n      Assert.AreEqual<int>(23, _EncodedValue.Length);\n      Assert.AreEqual<byte>((byte)((byte)BuiltInType.ByteString | (byte)VariantEncodingMask.IsArray), _EncodedValue[0]);\n      string _content = String.Join(\", \", _EncodedValue);\n      Assert.AreEqual<string>(\"143, 2, 0, 0, 0, 5, 0, 0, 0, 0, 1, 2, 3, 4, 5, 0, 0, 0, 5, 6, 7, 8, 9\", _content);\n    }\n\n    [TestMethod]\n    [TestCategory(\"DataManagement_UABinaryEncoderImplementationUnitTest\")]\n    public void VariantDateTimeTestMethod()\n    {\n      foreach (CommonDefinitions.DateTimeVariantEncoding _dtx in CommonDefinitions.DateTimeTestingValues)\n      {\n        MemoryStream _stream = new MemoryStream();\n        TestBinaryWriter _buffer = new TestBinaryWriter(_stream);\n        Assert.IsNotNull(_buffer);\n        Variant _variant = new Variant { UATypeInfo = new UATypeInfo(BuiltInType.DateTime), Value = _dtx.dateTime };\n        _buffer.Write(_buffer, _variant);\n        _buffer.Close();\n        byte[] _EncodedVariant = _stream.ToArray();\n        Assert.IsNotNull(_EncodedVariant);\n        Assert.AreEqual<int>(9, _EncodedVariant.Length);\n        Assert.AreEqual<byte>((byte)BuiltInType.DateTime, _EncodedVariant[0]);\n        CollectionAssert.AreEqual(_dtx.encoding, _EncodedVariant.ToList<byte>());\n      }\n    }\n    #endregion\n\n    #region testing instrumentation\n    private class TestBinaryWriter : BinaryWriter, IBinaryEncoder, IUAEncoder\n    {\n\n      #region creator\n      public TestBinaryWriter(Stream output) : base(output) { }\n      #endregion\n\n      #region IBinaryEncoder\n      public void Write(Guid value)\n      {\n        _encoder.Write(this, value);\n      }\n      public void Write(DateTime value)\n      {\n        throw new NotImplementedException();\n      }\n      #endregion\n\n      #region IUAEncoder\n      public void Write(IBinaryEncoder encoder, DateTime value)\n      {\n        _encoder.Write(this, value);\n      }\n      public void Write(IBinaryEncoder encoder, byte[] value)\n      {\n        _encoder.Write(this, value);\n      }\n      public void Write(IBinaryEncoder encoder, IDataValue value)\n      {\n        _encoder.Write(this, value);\n      }\n      public void Write(IBinaryEncoder encoder, IDiagnosticInfo value)\n      {\n        _encoder.Write(this, value);\n      }\n      public void Write(IBinaryEncoder encoder, IExpandedNodeId value)\n      {\n        _encoder.Write(this, value);\n      }\n      public void Write(IBinaryEncoder encoder, IExtensionObject value)\n      {\n        _encoder.Write(this, value);\n      }\n      public void Write(IBinaryEncoder encoder, ILocalizedText value)\n      {\n        Assert.AreSame(this, encoder);\n        _encoder.Write(this, value);\n      }\n      public void Write(IBinaryEncoder encoder, INodeId value)\n      {\n        Assert.AreSame(this, encoder);\n        _encoder.Write(this, value);\n      }\n      public void Write(IBinaryEncoder encoder, IQualifiedName value)\n      {\n        Assert.AreSame(this, encoder);\n        _encoder.Write(this, value);\n      }\n      public void Write(IBinaryEncoder encoder, XmlElement value)\n      {\n        Assert.AreSame(this, encoder);\n        _encoder.Write(this, value);\n      }\n      public void Write(IBinaryEncoder encoder, IStatusCode value)\n      {\n        Assert.AreSame(this, encoder);\n        _encoder.Write(this, value);\n      }\n      public void Write(IBinaryEncoder encoder, IVariant value)\n      {\n        Assert.AreSame(this, encoder);\n        _encoder.Write(this, value);\n      }\n      public void Write(IBinaryEncoder encoder, Guid value)\n      {\n        Assert.AreSame(this, encoder);\n        _encoder.Write(this, value);\n      }\n      public void Write(IBinaryEncoder encoder, string value)\n      {\n        Assert.AreSame(this, encoder);\n        _encoder.Write(this, value);\n      }\n      public void WriteArray<type>(IBinaryEncoder encoder, Array value, Action<type> writeValue, BuiltInType builtInType)\n      {\n        throw new NotImplementedException();\n      }\n      #endregion\n\n      #region private \n      IUAEncoder _encoder = new Helpers.UABinaryEncoderImplementation();\n      #endregion\n\n    }\n    private class Variant : IVariant\n    {\n      public UATypeInfo UATypeInfo\n      {\n        get; set;\n      }\n      public object Value\n      {\n        get; set;\n      }\n\n    }\n    private static void WriteArrayOneDimension(int rank)\n    {\n      byte[] _EncodedValue = null;\n      using (MemoryStream _stream = new MemoryStream())\n      using (TestBinaryWriter _buffer = new TestBinaryWriter(_stream))\n      {\n        Assert.IsNotNull(_buffer);\n        Int32[] _value = new Int32[] { 0, 1, 2, 3, 4 };\n        Variant _variant = new Variant { UATypeInfo = new UATypeInfo(BuiltInType.Int32, rank, new int[] { _value.Length }), Value = _value };\n        _buffer.Write(_buffer, _variant);\n        _buffer.Close();\n        _EncodedValue = _stream.ToArray();\n      }\n      Assert.IsNotNull(_EncodedValue);\n      string _EncodedValueString = String.Join(\", \", _EncodedValue);\n      string _expectedString = \"134, 5, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 2, 0, 0, 0, 3, 0, 0, 0, 4, 0, 0, 0\";\n      Assert.AreEqual<string>(_expectedString, _EncodedValueString);\n      Assert.AreEqual<int>(25, _EncodedValue.Length);\n      Assert.AreEqual<int>(0, _EncodedValue[5]);\n      Assert.AreEqual<int>(1, _EncodedValue[9]);\n      Assert.AreEqual<int>(2, _EncodedValue[13]);\n      Assert.AreEqual<int>(3, _EncodedValue[17]);\n      Assert.AreEqual<int>(4, _EncodedValue[21]);\n    }\n    #endregion\n\n  }\n\n}\n"
  },
  {
    "path": "Networking/Tests/SemanticDatalUnitTest/Writers.cd",
    "content": "﻿<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<ClassDiagram MajorVersion=\"1\" MinorVersion=\"1\">\n  <Class Name=\"UAOOI.Networking.SemanticData.UnitTest.BinaryUDPPackageWriter\" Collapsed=\"true\">\n    <Position X=\"0.75\" Y=\"6.75\" Width=\"2.25\" />\n    <TypeIdentifier>\n      <HashCode>AIAAgAAAACAIAAARAAAgAgAAQAAAAgAAAAAABAQAAEA=</HashCode>\n      <FileName>MessageWriterTestClass.cs</FileName>\n    </TypeIdentifier>\n  </Class>\n  <Class Name=\"UAOOI.Networking.SemanticData.MessageHandling.BinaryMessageEncoder\" Collapsed=\"true\">\n    <Position X=\"0.75\" Y=\"3\" Width=\"2.25\" />\n    <TypeIdentifier />\n    <Lollipop Position=\"0.2\" />\n  </Class>\n  <Class Name=\"UAOOI.Networking.SemanticData.MessageHandling.MessageWriterBase\" Collapsed=\"true\">\n    <Position X=\"0.75\" Y=\"1.75\" Width=\"2.25\" />\n    <TypeIdentifier />\n    <Lollipop Position=\"0.2\" />\n  </Class>\n  <Class Name=\"UAOOI.Networking.SemanticData.MessageHandling.BinaryPackageEncoder\" Collapsed=\"true\">\n    <Position X=\"0.75\" Y=\"4.25\" Width=\"2.25\" />\n    <TypeIdentifier />\n  </Class>\n  <Class Name=\"UAOOI.Networking.SemanticData.MessageHandling.BinaryEncoder\" Collapsed=\"true\">\n    <Position X=\"0.75\" Y=\"5.5\" Width=\"2.25\" />\n    <TypeIdentifier />\n    <Lollipop Position=\"0.2\" />\n  </Class>\n  <Font Name=\"Segoe UI\" Size=\"9\" />\n</ClassDiagram>"
  },
  {
    "path": "Networking/Tests/SemanticDatalUnitTest/app.config",
    "content": "﻿<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<configuration>\n  <startup>\n    <supportedRuntime version=\"v4.0\" sku=\".NETFramework,Version=v4.7.2\" />\n  </startup>\n  <runtime>\n    <assemblyBinding xmlns=\"urn:schemas-microsoft-com:asm.v1\">\n      <dependentAssembly>\n        <assemblyIdentity name=\"Newtonsoft.Json\" publicKeyToken=\"30ad4fe6b2a6aeed\" culture=\"neutral\" />\n        <bindingRedirect oldVersion=\"0.0.0.0-13.0.0.0\" newVersion=\"13.0.0.0\" />\n      </dependentAssembly>\n      <dependentAssembly>\n        <assemblyIdentity name=\"System.ValueTuple\" publicKeyToken=\"cc7b13ffcd2ddd51\" culture=\"neutral\" />\n        <bindingRedirect oldVersion=\"0.0.0.0-4.0.3.0\" newVersion=\"4.0.3.0\" />\n      </dependentAssembly>\n      <dependentAssembly>\n        <assemblyIdentity name=\"System.Threading.Tasks.Extensions\" publicKeyToken=\"cc7b13ffcd2ddd51\" culture=\"neutral\" />\n        <bindingRedirect oldVersion=\"0.0.0.0-4.2.0.1\" newVersion=\"4.2.0.1\" />\n      </dependentAssembly>\n      <dependentAssembly>\n        <assemblyIdentity name=\"System.Runtime.CompilerServices.Unsafe\" publicKeyToken=\"b03f5f7f11d50a3a\" culture=\"neutral\" />\n        <bindingRedirect oldVersion=\"0.0.0.0-6.0.0.0\" newVersion=\"6.0.0.0\" />\n      </dependentAssembly>\n      <dependentAssembly>\n        <assemblyIdentity name=\"CommonServiceLocator\" publicKeyToken=\"489b6accfaf20ef0\" culture=\"neutral\" />\n        <bindingRedirect oldVersion=\"0.0.0.0-2.0.5.0\" newVersion=\"2.0.5.0\" />\n      </dependentAssembly>\n    </assemblyBinding>\n  </runtime>\n</configuration>"
  },
  {
    "path": "Networking/Tests/SemanticDatalUnitTest/packages.config",
    "content": "﻿<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<packages>\n  <package id=\"CommonServiceLocator\" version=\"2.0.6\" targetFramework=\"net472\" />\n  <package id=\"EnterpriseLibrary.SemanticLogging\" version=\"2.0.1406.1\" targetFramework=\"net461\" />\n  <package id=\"Newtonsoft.Json\" version=\"13.0.1\" targetFramework=\"net472\" />\n  <package id=\"System.Diagnostics.TraceSource\" version=\"4.3.0\" targetFramework=\"net461\" />\n  <package id=\"System.Reactive\" version=\"5.0.0\" targetFramework=\"net472\" />\n  <package id=\"System.Reactive.Core\" version=\"5.0.0\" targetFramework=\"net472\" />\n  <package id=\"System.Reactive.Interfaces\" version=\"5.0.0\" targetFramework=\"net472\" />\n  <package id=\"System.Runtime.CompilerServices.Unsafe\" version=\"6.0.0\" targetFramework=\"net472\" />\n  <package id=\"System.Threading.Tasks.Extensions\" version=\"4.5.4\" targetFramework=\"net472\" />\n  <package id=\"System.ValueTuple\" version=\"4.5.0\" targetFramework=\"net472\" />\n</packages>"
  },
  {
    "path": "Networking/Tests/UDPMessageHandler.UnitTest/BinaryUDPPackageReaderTestClass.cs",
    "content": "﻿//___________________________________________________________________________________\n//\n//  Copyright (C) 2019, Mariusz Postol LODZ POLAND.\n//\n//  To be in touch join the community at GITTER: https://gitter.im/mpostol/OPC-UA-OOI\n//___________________________________________________________________________________\n\nusing Microsoft.VisualStudio.TestTools.UnitTesting;\nusing System;\nusing System.Net;\nusing System.Net.Sockets;\nusing System.Threading;\nusing UAOOI.Networking.UDPMessageHandler.Configuration;\n\nnamespace UAOOI.Networking.UDPMessageHandler.UnitTest\n{\n\n  [TestClass]\n  public class BinaryUDPPackageReaderTestClass\n  {\n\n    #region TestMethod\n    [TestMethod]\n    [TestCategory(\"ReferenceApplication_BinaryUDPPackageReaderTestClass\")]\n    public void CreatorTestMethod()\n    {\n      using (BinaryUDPPackageReader _reader1 = new BinaryUDPPackageReader(LocalUDPConfiguration.GetReaderConfiguration()))\n      {\n        Assert.IsNotNull(_reader1);\n        _reader1.State.Enable();\n        Assert.IsNotNull(_reader1.MulticastGroup);\n      }\n      using (BinaryUDPPackageReader _reader1 = new BinaryUDPPackageReader(LocalUDPConfiguration.GetReaderConfiguration()))\n      {\n        Assert.IsNotNull(_reader1);\n        _reader1.State.Enable();\n      }\n    }\n    [TestMethod]\n    [TestCategory(\"ReferenceApplication_BinaryUDPPackageReaderTestClass\")]\n    public void ExclusiveAddressUseTrueTestMethod()\n    {\n      bool _ExclusiveAddressUse = true;\n      using (BinaryUDPPackageReader _reader1 = new BinaryUDPPackageReader(LocalUDPConfiguration.GetReaderConfiguration()))\n      {\n        Assert.IsNotNull(_reader1);\n        _reader1.ReuseAddress = _ExclusiveAddressUse;\n        _reader1.State.Enable();\n        using (BinaryUDPPackageReader _reader2 = new BinaryUDPPackageReader(LocalUDPConfiguration.GetReaderConfiguration()))\n        {\n          Assert.IsNotNull(_reader2);\n          _reader2.ReuseAddress = _ExclusiveAddressUse;\n          _reader2.State.Enable();\n        }\n      }\n    }\n    [TestMethod]\n    [TestCategory(\"ReferenceApplication_BinaryUDPPackageReaderTestClass\")]\n    [ExpectedException(typeof(SocketException))]\n    public void ExclusiveAddressUseFalseTestMethod()\n    {\n      bool _ExclusiveAddressUse = false;\n      using (BinaryUDPPackageReader _reader1 = new BinaryUDPPackageReader(LocalUDPConfiguration.GetReaderConfiguration()))\n      {\n        _reader1.ReuseAddress = _ExclusiveAddressUse;\n        _reader1.State.Enable();\n        using (BinaryUDPPackageReader _reader2 = new BinaryUDPPackageReader(LocalUDPConfiguration.GetReaderConfiguration()))\n        {\n          _reader2.ReuseAddress = _ExclusiveAddressUse;\n          _reader2.State.Enable();\n        }\n      }\n    }\n    [TestMethod]\n    [TestCategory(\"ReferenceApplication_BinaryUDPPackageReaderTestClass\")]\n    [ExpectedException(typeof(InvalidOperationException))]\n    public void ExclusiveAddressOperationalTestMethod()\n    {\n      bool _ExclusiveAddressUse = true;\n      using (BinaryUDPPackageReader _reader1 = new BinaryUDPPackageReader(LocalUDPConfiguration.GetReaderConfiguration()))\n      {\n        _reader1.ReuseAddress = _ExclusiveAddressUse;\n        _reader1.State.Enable();\n        _reader1.ReuseAddress = _ExclusiveAddressUse;\n      }\n    }\n    [TestMethod]\n    [TestCategory(\"ReferenceApplication_BinaryUDPPackageReaderTestClass\")]\n    [ExpectedException(typeof(InvalidOperationException))]\n    public void ExclusiveMulticastGroupTestMethod()\n    {\n      using (BinaryUDPPackageReader _reader1 = new BinaryUDPPackageReader(LocalUDPConfiguration.GetReaderConfiguration()))\n      {\n        try\n        {\n          _reader1.State.Enable();\n          Thread.Sleep(200);\n        }\n        catch (Exception _ex)\n        {\n          Assert.IsNotNull(_ex);\n          Assert.Fail();\n        }\n        _reader1.MulticastGroup = IPAddress.Parse(\"239.0.0.1\");\n      }\n    }\n    #endregion\n\n    #region test instrumentation\n    private static class LocalUDPConfiguration\n    {\n      internal static UDPReaderConfiguration GetReaderConfiguration()\n      {\n        bool _ExclusiveAddressUse = true;\n        int UDPPortNumber = 4840;\n        bool JoinMulticastGroup = true;\n        string DefaultMulticastGroup = \"239.255.255.1\";\n        return UDPReaderConfiguration.Parse($\"{UDPPortNumber},{JoinMulticastGroup},{DefaultMulticastGroup},{_ExclusiveAddressUse}\");\n      }\n    }\n    #endregion\n\n  }\n\n}\n"
  },
  {
    "path": "Networking/Tests/UDPMessageHandler.UnitTest/Configuration/IPAddressValidationRuleUnitTest.cs",
    "content": "﻿\nusing System;\nusing System.Net;\nusing System.Net.Sockets;\nusing Microsoft.VisualStudio.TestTools.UnitTesting;\nusing UAOOI.Networking.UDPMessageHandler.Configuration;\n\nnamespace UAOOI.Networking.UDPMessageHandler.UnitTest.Configuration\n{\n  [TestClass]\n  public class IPAddressValidationRuleUnitTest\n  {\n\n    [TestMethod]\n    [TestCategory(\"ReferenceApplication_IPAddressValidationRuleUnitTest\")]\n    [ExpectedException(typeof(ArgumentNullException))]\n    public void NullStringTestMethod()\n    {\n      IPAddress _res = IPAddressValidationRule.ValidateIP(null);\n    }\n    [TestMethod]\n    [TestCategory(\"ReferenceApplication_IPAddressValidationRuleUnitTest\")]\n    public void WrongStringTestMethod()\n    {\n      IPAddress _res = IPAddressValidationRule.ValidateIP(\"123\");\n      Assert.IsNotNull(_res);\n      Assert.AreEqual<AddressFamily>(AddressFamily.InterNetwork, _res.AddressFamily);\n      Assert.AreEqual<string>(\"0.0.0.123\", _res.ToString());\n    }\n    [TestMethod]\n    [TestCategory(\"ReferenceApplication_IPAddressValidationRuleUnitTest\")]\n    [ExpectedException(typeof(ArgumentOutOfRangeException))]\n    public void WrongAddressTestMethod()\n    {\n      IPAddress _res = IPAddressValidationRule.ValidateIP(\"139.255.255.999\");\n    }\n    [TestMethod]\n    [TestCategory(\"ReferenceApplication_IPAddressValidationRuleUnitTest\")]\n    public void ValidateMulticastTest()\n    {\n      IPAddress _res = IPAddressValidationRule.ValidateIP(\"239.255.255.1\");\n      Assert.IsNotNull(_res);\n      Assert.AreEqual<AddressFamily>(AddressFamily.InterNetwork, _res.AddressFamily);\n      IPAddressValidationRule.ValidateMulticast(_res);\n\n      _res = IPAddressValidationRule.ValidateIP(\"239.255.255.255\");\n      Assert.IsNotNull(_res);\n      Assert.AreEqual<AddressFamily>(AddressFamily.InterNetwork, _res.AddressFamily);\n      IPAddressValidationRule.ValidateMulticast(_res);\n\n      _res = IPAddressValidationRule.ValidateIP(\"224.0.0.0\");\n      Assert.IsNotNull(_res);\n      Assert.AreEqual<AddressFamily>(AddressFamily.InterNetwork, _res.AddressFamily);\n      IPAddressValidationRule.ValidateMulticast(_res);\n    }\n    [TestMethod]\n    [ExpectedException(typeof(ArgumentOutOfRangeException))]\n    public void WrongMulticast240_0_0_0_TestMethod()\n    {\n      IPAddress _res = IPAddressValidationRule.ValidateIP(\"240.0.0.0\");\n      Assert.IsNotNull(_res);\n      Assert.AreEqual<AddressFamily>(AddressFamily.InterNetwork, _res.AddressFamily);\n      IPAddressValidationRule.ValidateMulticast(_res);\n    }\n    [TestMethod]\n    [ExpectedException(typeof(ArgumentOutOfRangeException))]\n    public void WrongMulticast240_255_255_255_TestMethod()\n    {\n      IPAddress _res = IPAddressValidationRule.ValidateIP(\"240.255.255.255\");\n      Assert.IsNotNull(_res);\n      Assert.AreEqual<AddressFamily>(AddressFamily.InterNetwork, _res.AddressFamily);\n      IPAddressValidationRule.ValidateMulticast(_res);\n    }\n    [TestMethod]\n    [ExpectedException(typeof(ArgumentOutOfRangeException))]\n    public void WrongMulticast223_0_0_0_TestMethod()\n    {\n      IPAddress _res = IPAddressValidationRule.ValidateIP(\"223.0.0.0\");\n      Assert.IsNotNull(_res);\n      Assert.AreEqual<AddressFamily>(AddressFamily.InterNetwork, _res.AddressFamily);\n      IPAddressValidationRule.ValidateMulticast(_res);\n    }\n\n  }\n}\n"
  },
  {
    "path": "Networking/Tests/UDPMessageHandler.UnitTest/Configuration/UDPReaderConfigurationUnitTest.cs",
    "content": "﻿\nusing Microsoft.VisualStudio.TestTools.UnitTesting;\nusing UAOOI.Networking.UDPMessageHandler.Configuration;\n\nnamespace UAOOI.Networking.UDPMessageHandler.UnitTest.Configuration\n{\n  [TestClass]\n  public class UDPReaderConfigurationUnitTest\n  {\n    [TestMethod]\n    public void UDPMulticastReaderConfigurationTest()\n    {\n      int UDPPortNumber = 4840;\n      bool JoinMulticastGroup = true;\n      string DefaultMulticastGroup = \"239.255.255.1\";\n      bool ReuseAddress = true;\n      UDPReaderConfiguration _configuration = UDPReaderConfiguration.Parse($\"{UDPPortNumber},{JoinMulticastGroup},{DefaultMulticastGroup},{ReuseAddress}\");\n      Assert.IsNotNull(_configuration);\n      Assert.AreEqual<string>(\"4840,True,239.255.255.1,True\", _configuration.ToString());\n      Assert.AreEqual<int>(UDPPortNumber, _configuration.UDPPortNumber);\n      Assert.AreEqual<string>(DefaultMulticastGroup, _configuration.DefaultMulticastGroup.ToString());\n      Assert.AreEqual<bool>(ReuseAddress, _configuration.ReuseAddress);\n    }\n    [TestMethod]\n    public void UDPReaderConfigurationTest()\n    {\n      int UDPPortNumber = 4840;\n      bool JoinMulticastGroup = false;\n      string DefaultMulticastGroup = \"239.255.255.1\";\n      bool ReuseAddress = true;\n      UDPReaderConfiguration _configuration = UDPReaderConfiguration.Parse($\"{UDPPortNumber},{JoinMulticastGroup},{DefaultMulticastGroup},{ReuseAddress}\");\n      Assert.IsNotNull(_configuration);\n      Assert.AreEqual<string>(\"4840,False,,True\", _configuration.ToString());\n      Assert.AreEqual<int>(UDPPortNumber, _configuration.UDPPortNumber);\n      Assert.IsNull(_configuration.DefaultMulticastGroup);\n      Assert.AreEqual<bool>(ReuseAddress, _configuration.ReuseAddress);\n\n    }\n  }\n}\n"
  },
  {
    "path": "Networking/Tests/UDPMessageHandler.UnitTest/Configuration/UDPWriterConfigurationUnitTest.cs",
    "content": "﻿\nusing Microsoft.VisualStudio.TestTools.UnitTesting;\nusing UAOOI.Networking.UDPMessageHandler.Configuration;\n\nnamespace UAOOI.Networking.UDPMessageHandler.UnitTest.Configuration\n{\n  [TestClass]\n  public class UDPWriterConfigurationUnitTest\n  {\n    [TestMethod]\n    public void UDPWriterConfigurationTest()\n    {\n      int UDPPortNumber = 4840;\n      string RemoteHostName = \"localhost\";\n      UDPWriterConfiguration _configuration = UDPWriterConfiguration.Parse($\"{UDPPortNumber},{RemoteHostName}\");\n      Assert.IsNotNull(_configuration);\n      Assert.AreEqual<string>(\"4840,localhost\", _configuration.ToString());\n      Assert.AreEqual<int>(UDPPortNumber, _configuration.UDPPortNumber);\n      Assert.AreEqual<string>(RemoteHostName, _configuration.RemoteHostName);\n    }\n  }\n}\n"
  },
  {
    "path": "Networking/Tests/UDPMessageHandler.UnitTest/Diagnostic/UDPMessageHandlerSemanticEventSourceUnitTest.cs",
    "content": "﻿//___________________________________________________________________________________\n//\n//  Copyright (C) 2019, Mariusz Postol LODZ POLAND.\n//\n//  To be in touch join the community at GITTER: https://gitter.im/mpostol/OPC-UA-OOI\n//___________________________________________________________________________________\n\nusing Microsoft.Practices.EnterpriseLibrary.SemanticLogging;\nusing Microsoft.Practices.EnterpriseLibrary.SemanticLogging.Schema;\nusing Microsoft.Practices.EnterpriseLibrary.SemanticLogging.Sinks;\nusing Microsoft.VisualStudio.TestTools.UnitTesting;\nusing System;\nusing System.Diagnostics.Tracing;\nusing System.IO;\nusing System.Net;\nusing UAOOI.Networking.UDPMessageHandler.Diagnostic;\n\nnamespace UAOOI.Networking.UDPMessageHandler.UnitTest.Diagnostic\n{\n  [TestClass]\n  public class UDPMessageHandlerSemanticEventSourceUnitTest\n  {\n\n    [TestMethod]\n    public void UDPMessageHandlerSemanticEventSourceTest()\n    {\n      UDPMessageHandlerSemanticEventSource _instance = UDPMessageHandlerSemanticEventSource.Log;\n      Assert.IsNull(_instance.ConstructionException);\n      Assert.AreEqual<string>(\"UAOOI-Networking-UDPMessageHandler-Diagnostic\", _instance.Name);\n      Assert.AreEqual<EventSourceSettings>(EventSourceSettings.EtwManifestEventFormat, _instance.Settings);\n    }\n    [TestMethod]\n    public void ReactiveSubscribeTest()\n    {\n      EventEntry _lastEvent = null;\n      int _calls = 0;\n      ObservableEventListener _listener = new ObservableEventListener();\n      IDisposable subscription = _listener.Subscribe(x => { _calls++; _lastEvent = x; });\n      using (SinkSubscription<ObservableEventListener> _sinkSubscription = new SinkSubscription<ObservableEventListener>(subscription, _listener))\n      {\n        Assert.IsNotNull(_sinkSubscription.Sink);\n\n        UDPMessageHandlerSemanticEventSource _log = UDPMessageHandlerSemanticEventSource.Log;\n        _sinkSubscription.Sink.EnableEvents(_log, EventLevel.LogAlways, Keywords.All);\n\n        Assert.IsNull(_lastEvent);\n        _log.ReceivedMessageContent(new IPEndPoint(new IPAddress(new byte[] { 192, 168, 0, 0 }), 25), 100, new byte[] { 1, 2, 3, 4 });\n        Assert.AreEqual<int>(1, _calls);\n        Assert.IsNotNull(_lastEvent);\n\n        //_lastEvent content\n        Assert.AreEqual<int>(5, _lastEvent.EventId);\n        Assert.AreEqual<Guid>(Guid.Empty, _lastEvent.ActivityId);\n        string _message = \"Received message: 192.168.0.0:25 [100]: 1,2,3,4\";\n        Assert.AreEqual<string>(_message, _lastEvent.FormattedMessage, _lastEvent.FormattedMessage);\n\n        Assert.AreEqual<string>(\"System.Collections.ObjectModel.ReadOnlyCollection`1[System.Object]\", _lastEvent.Payload.ToString(), _lastEvent.Payload.ToString());\n        Assert.AreEqual<int>(1, _lastEvent.Payload.Count);\n        Assert.IsInstanceOfType(_lastEvent.Payload[0], typeof(String));\n        Assert.AreEqual<string>(\"192.168.0.0:25 [100]: 1,2,3,4\", _lastEvent.Payload[0].ToString());\n        Assert.AreEqual<string>(\"payload0\", _lastEvent.Schema.Payload[0]);\n\n        Assert.AreEqual<string>(\"Info\", _lastEvent.Schema.OpcodeName);\n        Assert.AreEqual<EventOpcode>(EventOpcode.Info, _lastEvent.Schema.Opcode);\n        Assert.AreEqual<string>(\"Consumer\", _lastEvent.Schema.TaskName);\n        Assert.AreEqual<EventTask>(UDPMessageHandlerSemanticEventSource.Tasks.Consumer, _lastEvent.Schema.Task);\n      }\n    }\n    [TestMethod]\n    public void GetIMessageHandlerTest()\n    {\n      EventEntry _lastEvent = null;\n      int _calls = 0;\n      ObservableEventListener _listener = new ObservableEventListener();\n      IDisposable subscription = _listener.Subscribe(x => { _calls++; _lastEvent = x; });\n      using (SinkSubscription<ObservableEventListener> _sinkSubscription = new SinkSubscription<ObservableEventListener>(subscription, _listener))\n      {\n        Assert.IsNotNull(_sinkSubscription.Sink);\n\n        UDPMessageHandlerSemanticEventSource _log = UDPMessageHandlerSemanticEventSource.Log;\n        _sinkSubscription.Sink.EnableEvents(_log, EventLevel.LogAlways, Keywords.All);\n\n        Assert.IsNull(_lastEvent);\n        _log.GetIMessageHandler(\"NameOfIMessageHandlerMethod\");\n        Assert.AreEqual<int>(1, _calls);\n        Assert.IsNotNull(_lastEvent);\n\n        //_lastEvent content\n        Assert.AreEqual<int>(2, _lastEvent.EventId);\n        Assert.AreEqual<Guid>(Guid.Empty, _lastEvent.ActivityId);\n        string _message = \"The IMessageHandlerFactory.NameOfIMessageHandlerMethod method has been called.\";\n        Assert.AreEqual<string>(_message, _lastEvent.FormattedMessage, _lastEvent.FormattedMessage);\n        //schema\n        EventSchema _Schema = _lastEvent.Schema;\n        Assert.AreEqual<string>(\"CodeBehaviorStart\", _Schema.EventName);\n        Assert.AreEqual<int>(2, _Schema.Id);\n        ////Assert.IsTrue((_Schema.Keywords & UDPMessageHandlerSemanticEventSource.Keywords.Diagnostic) > 0);\n        //Assert.AreEqual<string>(\"PackageContent\", _Schema.KeywordsDescription);\n        Assert.AreEqual<EventLevel>(EventLevel.Informational, _Schema.Level);\n        Assert.AreEqual<string>(\"Start\", _Schema.OpcodeName);\n        Assert.AreEqual<EventOpcode>(EventOpcode.Start, _Schema.Opcode);\n        Assert.AreEqual<Guid>(new Guid(\"84C6B563-8282-47CB-9111-7B29D8B43E23\"), _Schema.ProviderId);\n        Assert.AreEqual<string>(\"UAOOI-Networking-UDPMessageHandler-Diagnostic\", _Schema.ProviderName);\n        Assert.AreEqual<string>(\"CodeBehavior\", _Schema.TaskName);\n        Assert.AreEqual<EventTask>(UDPMessageHandlerSemanticEventSource.Tasks.CodeBehavior, _Schema.Task);\n        Assert.AreEqual<int>(0, _Schema.Version);\n\n        //Payload\n        Assert.AreEqual<string>(\"System.Collections.ObjectModel.ReadOnlyCollection`1[System.Object]\", _lastEvent.Payload.ToString(), _lastEvent.Payload.ToString());\n        Assert.AreEqual<int>(1, _lastEvent.Payload.Count);\n        Assert.IsInstanceOfType(_lastEvent.Payload[0], typeof(String));\n        Assert.AreEqual<string>(\"NameOfIMessageHandlerMethod\", (string)_lastEvent.Payload[0]);\n        Assert.AreEqual<string>(\"iMessageHandlerName\", _lastEvent.Schema.Payload[0]);\n      }\n    }\n    [TestMethod]\n    public void JoiningMulticastGroupTest()\n    {\n      EventEntry _lastEvent = null;\n      int _calls = 0;\n      ObservableEventListener _listener = new ObservableEventListener();\n      IDisposable subscription = _listener.Subscribe(x => { _calls++; _lastEvent = x; });\n      using (SinkSubscription<ObservableEventListener> _sinkSubscription = new SinkSubscription<ObservableEventListener>(subscription, _listener))\n      {\n        Assert.IsNotNull(_sinkSubscription.Sink);\n\n        UDPMessageHandlerSemanticEventSource _log = UDPMessageHandlerSemanticEventSource.Log;\n        _sinkSubscription.Sink.EnableEvents(_log, EventLevel.LogAlways, Keywords.All);\n\n        Assert.IsNull(_lastEvent);\n        _log.JoiningMulticastGroup(new IPAddress(new byte[] { 192, 168, 0, 0 }));\n        Assert.AreEqual<int>(1, _calls);\n        Assert.IsNotNull(_lastEvent);\n\n        //_lastEvent content\n        Assert.AreEqual<int>(7, _lastEvent.EventId);\n        Assert.AreEqual<Guid>(Guid.Empty, _lastEvent.ActivityId);\n        string _message = \"Joining the multicast group: 192.168.0.0\";\n        Assert.AreEqual<string>(_message, _lastEvent.FormattedMessage, _lastEvent.FormattedMessage);\n        //schema\n        EventSchema _Schema = _lastEvent.Schema;\n        Assert.AreEqual<string>(\"StackStart\", _Schema.EventName);\n        Assert.AreEqual<int>(7, _Schema.Id);\n        ////Assert.IsTrue((_Schema.Keywords & UDPMessageHandlerSemanticEventSource.Keywords.Diagnostic) > 0);\n        //Assert.AreEqual<string>(\"PackageContent\", _Schema.KeywordsDescription);\n        Assert.AreEqual<EventLevel>(EventLevel.Informational, _Schema.Level);\n        Assert.AreEqual<string>(\"Start\", _Schema.OpcodeName);\n        Assert.AreEqual<EventOpcode>(EventOpcode.Start, _Schema.Opcode);\n        Assert.AreEqual<Guid>(new Guid(\"84C6B563-8282-47CB-9111-7B29D8B43E23\"), _Schema.ProviderId);\n        Assert.AreEqual<string>(\"UAOOI-Networking-UDPMessageHandler-Diagnostic\", _Schema.ProviderName);\n        Assert.AreEqual<string>(\"Stack\", _Schema.TaskName);\n        Assert.AreEqual<EventTask>(UDPMessageHandlerSemanticEventSource.Tasks.Stack, _Schema.Task);\n        Assert.AreEqual<int>(0, _Schema.Version);\n\n        //Payload\n        Assert.AreEqual<string>(\"System.Collections.ObjectModel.ReadOnlyCollection`1[System.Object]\", _lastEvent.Payload.ToString(), _lastEvent.Payload.ToString());\n        Assert.AreEqual<int>(1, _lastEvent.Payload.Count);\n        Assert.IsInstanceOfType(_lastEvent.Payload[0], typeof(String));\n        Assert.AreEqual<string>(\"192.168.0.0\", (string)_lastEvent.Payload[0]);\n        Assert.AreEqual<string>(\"multicastGroup\", _lastEvent.Schema.Payload[0]);\n      }\n    }\n    [TestMethod]\n    public void LogFailure2LogToFlatFileTest()\n    {\n      string _filePath = $\"{nameof(LogFailure2LogToFlatFileTest)}.log\";\n      FileInfo _logFile = new FileInfo(_filePath);\n      if (_logFile.Exists)\n        _logFile.Delete();\n      MessageHandlerFactory _factory = new MessageHandlerFactory();\n      ObservableEventListener _listener = new ObservableEventListener();\n      UDPMessageHandlerSemanticEventSource _log = UDPMessageHandlerSemanticEventSource.Log;\n      _listener.EnableEvents(_log, EventLevel.LogAlways, Keywords.All);\n      SinkSubscription<FlatFileSink> _FlatFileSink = _listener.LogToFlatFile(_filePath);\n      _logFile.Refresh();\n      Assert.IsTrue(_logFile.Exists);\n      Assert.AreEqual<long>(0, _logFile.Length);\n\n      _log.Failure(nameof(UDPMessageHandlerSemanticEventSourceUnitTest), nameof(LogFailure2LogToFlatFileTest), \"LogFailure\");\n\n      _FlatFileSink.Sink.FlushAsync();\n      _logFile.Refresh();\n      Assert.IsTrue(_logFile.Length > 100);\n      _FlatFileSink.Dispose();\n    }\n\n  }\n}\n"
  },
  {
    "path": "Networking/Tests/UDPMessageHandler.UnitTest/Networking.UDPMessageHandler.UnitTest.csproj",
    "content": "﻿<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<Project ToolsVersion=\"15.0\" DefaultTargets=\"Build\" xmlns=\"http://schemas.microsoft.com/developer/msbuild/2003\">\n  <Import Project=\"..\\..\\..\\packages\\MSTest.TestAdapter.2.2.10\\build\\net46\\MSTest.TestAdapter.props\" Condition=\"Exists('..\\..\\..\\packages\\MSTest.TestAdapter.2.2.10\\build\\net46\\MSTest.TestAdapter.props')\" />\n  <PropertyGroup>\n    <Configuration Condition=\" '$(Configuration)' == '' \">Debug</Configuration>\n    <Platform Condition=\" '$(Platform)' == '' \">AnyCPU</Platform>\n    <ProjectGuid>{ECF931DE-F5F3-4752-AA1B-847F7ED414D1}</ProjectGuid>\n    <OutputType>Library</OutputType>\n    <AppDesignerFolder>Properties</AppDesignerFolder>\n    <RootNamespace>UAOOI.Networking.UDPMessageHandler.UnitTest</RootNamespace>\n    <AssemblyName>UAOOI.Networking.UDPMessageHandler.UnitTest</AssemblyName>\n    <TargetFrameworkVersion>v4.7.2</TargetFrameworkVersion>\n    <FileAlignment>512</FileAlignment>\n    <ProjectTypeGuids>{3AC096D0-A1C2-E12C-1390-A8335801FDAB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>\n    <VisualStudioVersion Condition=\"'$(VisualStudioVersion)' == ''\">15.0</VisualStudioVersion>\n    <VSToolsPath Condition=\"'$(VSToolsPath)' == ''\">$(MSBuildExtensionsPath32)\\Microsoft\\VisualStudio\\v$(VisualStudioVersion)</VSToolsPath>\n    <ReferencePath>$(ProgramFiles)\\Common Files\\microsoft shared\\VSTT\\$(VisualStudioVersion)\\UITestExtensionPackages</ReferencePath>\n    <IsCodedUITest>False</IsCodedUITest>\n    <TestProjectType>UnitTest</TestProjectType>\n    <NuGetPackageImportStamp>\n    </NuGetPackageImportStamp>\n    <TargetFrameworkProfile />\n  </PropertyGroup>\n  <PropertyGroup Condition=\" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' \">\n    <DebugSymbols>true</DebugSymbols>\n    <DebugType>full</DebugType>\n    <Optimize>false</Optimize>\n    <OutputPath>bin\\Debug\\</OutputPath>\n    <DefineConstants>DEBUG;TRACE</DefineConstants>\n    <ErrorReport>prompt</ErrorReport>\n    <WarningLevel>4</WarningLevel>\n    <NoWarn>IDE0001,IDE0002,IDE0003</NoWarn>\n  </PropertyGroup>\n  <PropertyGroup Condition=\" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' \">\n    <DebugType>pdbonly</DebugType>\n    <Optimize>true</Optimize>\n    <OutputPath>bin\\Release\\</OutputPath>\n    <DefineConstants>TRACE</DefineConstants>\n    <ErrorReport>prompt</ErrorReport>\n    <WarningLevel>4</WarningLevel>\n  </PropertyGroup>\n  <PropertyGroup>\n    <SignAssembly>true</SignAssembly>\n  </PropertyGroup>\n  <PropertyGroup>\n    <AssemblyOriginatorKeyFile>OPCUAOOIKey.snk</AssemblyOriginatorKeyFile>\n  </PropertyGroup>\n  <ItemGroup>\n    <Reference Include=\"CommonServiceLocator, Version=2.0.6.0, Culture=neutral, PublicKeyToken=489b6accfaf20ef0, processorArchitecture=MSIL\">\n      <HintPath>..\\..\\..\\packages\\CommonServiceLocator.2.0.6\\lib\\net47\\CommonServiceLocator.dll</HintPath>\n    </Reference>\n    <Reference Include=\"Microsoft.Practices.EnterpriseLibrary.SemanticLogging, Version=2.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL\">\n      <HintPath>..\\..\\..\\packages\\EnterpriseLibrary.SemanticLogging.2.0.1406.1\\lib\\net45\\Microsoft.Practices.EnterpriseLibrary.SemanticLogging.dll</HintPath>\n    </Reference>\n    <Reference Include=\"Microsoft.Practices.EnterpriseLibrary.SemanticLogging.TextFile, Version=2.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL\">\n      <HintPath>..\\..\\..\\packages\\EnterpriseLibrary.SemanticLogging.TextFile.2.0.1406.1\\lib\\net45\\Microsoft.Practices.EnterpriseLibrary.SemanticLogging.TextFile.dll</HintPath>\n    </Reference>\n    <Reference Include=\"Microsoft.VisualStudio.TestPlatform.TestFramework, Version=14.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL\">\n      <HintPath>..\\..\\..\\packages\\MSTest.TestFramework.2.2.10\\lib\\net45\\Microsoft.VisualStudio.TestPlatform.TestFramework.dll</HintPath>\n    </Reference>\n    <Reference Include=\"Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions, Version=14.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL\">\n      <HintPath>..\\..\\..\\packages\\MSTest.TestFramework.2.2.10\\lib\\net45\\Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.dll</HintPath>\n    </Reference>\n    <Reference Include=\"Newtonsoft.Json, Version=13.0.0.0, Culture=neutral, PublicKeyToken=30ad4fe6b2a6aeed, processorArchitecture=MSIL\">\n      <HintPath>..\\..\\..\\packages\\Newtonsoft.Json.13.0.1\\lib\\net45\\Newtonsoft.Json.dll</HintPath>\n    </Reference>\n    <Reference Include=\"System\" />\n    <Reference Include=\"System.Core\" />\n    <Reference Include=\"System.Diagnostics.TraceSource, Version=4.0.1.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL\">\n      <HintPath>..\\..\\..\\packages\\System.Diagnostics.TraceSource.4.3.0\\lib\\net46\\System.Diagnostics.TraceSource.dll</HintPath>\n      <Private>True</Private>\n      <Private>True</Private>\n    </Reference>\n    <Reference Include=\"System.Reactive, Version=5.0.0.0, Culture=neutral, PublicKeyToken=94bc3704cddfc263, processorArchitecture=MSIL\">\n      <HintPath>..\\..\\..\\packages\\System.Reactive.5.0.0\\lib\\net472\\System.Reactive.dll</HintPath>\n    </Reference>\n    <Reference Include=\"System.Reactive.Core, Version=3.0.6000.0, Culture=neutral, PublicKeyToken=94bc3704cddfc263, processorArchitecture=MSIL\">\n      <HintPath>..\\..\\..\\packages\\System.Reactive.Core.5.0.0\\lib\\net472\\System.Reactive.Core.dll</HintPath>\n    </Reference>\n    <Reference Include=\"System.Reactive.Interfaces, Version=3.0.6000.0, Culture=neutral, PublicKeyToken=94bc3704cddfc263, processorArchitecture=MSIL\">\n      <HintPath>..\\..\\..\\packages\\System.Reactive.Interfaces.5.0.0\\lib\\net472\\System.Reactive.Interfaces.dll</HintPath>\n    </Reference>\n    <Reference Include=\"System.Runtime.CompilerServices.Unsafe, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL\">\n      <HintPath>..\\..\\..\\packages\\System.Runtime.CompilerServices.Unsafe.6.0.0\\lib\\net461\\System.Runtime.CompilerServices.Unsafe.dll</HintPath>\n    </Reference>\n    <Reference Include=\"System.Threading.Tasks.Extensions, Version=4.2.0.1, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL\">\n      <HintPath>..\\..\\..\\packages\\System.Threading.Tasks.Extensions.4.5.4\\lib\\net461\\System.Threading.Tasks.Extensions.dll</HintPath>\n    </Reference>\n    <Reference Include=\"System.ValueTuple, Version=4.0.3.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL\">\n      <HintPath>..\\..\\..\\packages\\System.ValueTuple.4.5.0\\lib\\net47\\System.ValueTuple.dll</HintPath>\n    </Reference>\n    <Reference Include=\"System.Windows\" />\n    <Reference Include=\"System.Windows.Forms\" />\n    <Reference Include=\"System.Xml\" />\n    <Reference Include=\"WindowsBase\" />\n  </ItemGroup>\n  <ItemGroup>\n    <Compile Include=\"BinaryUDPPackageReaderTestClass.cs\" />\n    <Compile Include=\"Configuration\\UDPReaderConfigurationUnitTest.cs\" />\n    <Compile Include=\"Configuration\\UDPWriterConfigurationUnitTest.cs\" />\n    <Compile Include=\"Diagnostic\\UDPMessageHandlerSemanticEventSourceUnitTest.cs\" />\n    <Compile Include=\"Configuration\\IPAddressValidationRuleUnitTest.cs\" />\n    <Compile Include=\"Properties\\AssemblyInfo.cs\">\n      <AutoGen>True</AutoGen>\n      <DesignTime>True</DesignTime>\n      <DependentUpon>AssemblyInfo.tt</DependentUpon>\n    </Compile>\n  </ItemGroup>\n  <ItemGroup>\n    <None Include=\"app.config\" />\n    <None Include=\"OPCUAOOIKey.snk\" />\n    <None Include=\"packages.config\" />\n  </ItemGroup>\n  <ItemGroup>\n    <ProjectReference Include=\"..\\..\\Core\\Networking.Core.csproj\">\n      <Project>{afcca7c9-47fe-4fb6-935e-12d686eec58f}</Project>\n      <Name>Networking.Core</Name>\n    </ProjectReference>\n    <ProjectReference Include=\"..\\..\\UDPMessageHandler\\Networking.UDPMessageHandler.csproj\">\n      <Project>{d2eb89f9-321e-46e4-ba79-679138b82b23}</Project>\n      <Name>Networking.UDPMessageHandler</Name>\n    </ProjectReference>\n  </ItemGroup>\n  <ItemGroup>\n    <Content Include=\"Properties\\AssemblyInfo.tt\">\n      <Generator>TextTemplatingFileGenerator</Generator>\n      <LastGenOutput>AssemblyInfo.cs</LastGenOutput>\n    </Content>\n  </ItemGroup>\n  <ItemGroup>\n    <Service Include=\"{508349B6-6B84-4DF5-91F0-309BEEBAD82D}\" />\n  </ItemGroup>\n  <Import Project=\"$(VSToolsPath)\\TeamTest\\Microsoft.TestTools.targets\" Condition=\"Exists('$(VSToolsPath)\\TeamTest\\Microsoft.TestTools.targets')\" />\n  <Import Project=\"$(MSBuildToolsPath)\\Microsoft.CSharp.targets\" />\n  <Target Name=\"EnsureNuGetPackageBuildImports\" BeforeTargets=\"PrepareForBuild\">\n    <PropertyGroup>\n      <ErrorText>This project references NuGet package(s) that are missing on this computer. Use NuGet Package Restore to download them.  For more information, see http://go.microsoft.com/fwlink/?LinkID=322105. The missing file is {0}.</ErrorText>\n    </PropertyGroup>\n    <Error Condition=\"!Exists('..\\..\\..\\packages\\MSTest.TestAdapter.2.2.10\\build\\net46\\MSTest.TestAdapter.props')\" Text=\"$([System.String]::Format('$(ErrorText)', '..\\..\\..\\packages\\MSTest.TestAdapter.2.2.10\\build\\net46\\MSTest.TestAdapter.props'))\" />\n    <Error Condition=\"!Exists('..\\..\\..\\packages\\MSTest.TestAdapter.2.2.10\\build\\net46\\MSTest.TestAdapter.targets')\" Text=\"$([System.String]::Format('$(ErrorText)', '..\\..\\..\\packages\\MSTest.TestAdapter.2.2.10\\build\\net46\\MSTest.TestAdapter.targets'))\" />\n  </Target>\n  <Import Project=\"..\\..\\..\\packages\\MSTest.TestAdapter.2.2.10\\build\\net46\\MSTest.TestAdapter.targets\" Condition=\"Exists('..\\..\\..\\packages\\MSTest.TestAdapter.2.2.10\\build\\net46\\MSTest.TestAdapter.targets')\" />\n</Project>"
  },
  {
    "path": "Networking/Tests/UDPMessageHandler.UnitTest/Properties/AssemblyInfo.cs",
    "content": "﻿//_______________________________________________________________\n//  Title   : Assembly info for: UAOOI.Networking.UDPMessageHandler.UnitTest\n//  System  : Microsoft VisualStudio 2017 / C#\n//\n//  Copyright (C) 2022 Mariusz Postol LODZ POLAND\n//  +48 608 619 899\n//  mpostol@cas.eu\n//  https://github.com/mpostol/OPC-UA-OOI\n//_______________________________________________________________\n\nusing System.Reflection;\nusing System.Runtime.CompilerServices;\nusing System.Runtime.InteropServices;\n\n[assembly: AssemblyTitle(\"UAOOI.Networking.UDPMessageHandler.UnitTest\")]\n[assembly: AssemblyDescription(\"Object Oriented Internet: UDP IMessageHandlerFactory Implementation Unit Test\")]\n[assembly: AssemblyConfiguration(\"\")]\n[assembly: AssemblyCompany(\"Mariusz Postol\")]\n[assembly: AssemblyProduct(\"Object Oriented Internet\")]\n[assembly: AssemblyCopyright(\"Copyright (C) 2022 Mariusz Postol LODZ POLAND\")]\n[assembly: AssemblyTrademark(\"Object Oriented Internet\")]\n[assembly: AssemblyCulture(\"\")]\n[assembly: ComVisible(false)]\n[assembly: Guid(\"ecf931de-f5f3-4752-aa1b-847f7ed414d1\")]\n[assembly: AssemblyVersion(\"4.0.2.*\")]\n[assembly: AssemblyFileVersion(\"4.0.2\")]\n"
  },
  {
    "path": "Networking/Tests/UDPMessageHandler.UnitTest/Properties/AssemblyInfo.tt",
    "content": "﻿<#@ template debug=\"false\" hostspecific=\"false\" language=\"C#\" #>\n<#@ output extension=\".cs\" #>\n//_______________________________________________________________\n//  Title   : Assembly info for: <#=m_AssemblyTitle#>\n//  System  : Microsoft VisualStudio 2017 / C#\n//\n//  <#=AssemblyCopyright#>\n//  <#=Phone#>\n//  <#=Email#>\n//  <#=Url#>\n//_______________________________________________________________\n\nusing System.Reflection;\nusing System.Runtime.CompilerServices;\nusing System.Runtime.InteropServices;\n\n[assembly: AssemblyTitle(\"<#=m_AssemblyTitle#>\")]\n[assembly: AssemblyDescription(\"<#=NetworkingDataProduct#>: UDP IMessageHandlerFactory Implementation Unit Test\")]\n[assembly: AssemblyConfiguration(\"\")]\n[assembly: AssemblyCompany(\"<#=AssemblyCompany#>\")]\n[assembly: AssemblyProduct(\"<#=NetworkingDataProduct#>\")]\n[assembly: AssemblyCopyright(\"<#=AssemblyCopyright#>\")]\n[assembly: AssemblyTrademark(\"<#=ProductTrademark#>\")]\n[assembly: AssemblyCulture(\"\")]\n[assembly: ComVisible(false)]\n[assembly: Guid(\"ecf931de-f5f3-4752-aa1b-847f7ed414d1\")]\n[assembly: AssemblyVersion(\"<#= NetworkingDataVersion #>.*\")]\n[assembly: AssemblyFileVersion(\"<#= NetworkingDataVersion #>\")]\n<#@ include file = \"..\\..\\..\\..\\CommonResources\\T4Definitions\\Model.t4\" #>\n<#+\nstring m_AssemblyTitle = \"UAOOI.Networking.UDPMessageHandler.UnitTest\";\n#>\n"
  },
  {
    "path": "Networking/Tests/UDPMessageHandler.UnitTest/app.config",
    "content": "﻿<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<configuration>\n  <startup>\n    <supportedRuntime version=\"v4.0\" sku=\".NETFramework,Version=v4.7.2\" />\n  </startup>\n  <runtime>\n    <assemblyBinding xmlns=\"urn:schemas-microsoft-com:asm.v1\">\n      <dependentAssembly>\n        <assemblyIdentity name=\"Newtonsoft.Json\" publicKeyToken=\"30ad4fe6b2a6aeed\" culture=\"neutral\" />\n        <bindingRedirect oldVersion=\"0.0.0.0-13.0.0.0\" newVersion=\"13.0.0.0\" />\n      </dependentAssembly>\n      <dependentAssembly>\n        <assemblyIdentity name=\"System.ValueTuple\" publicKeyToken=\"cc7b13ffcd2ddd51\" culture=\"neutral\" />\n        <bindingRedirect oldVersion=\"0.0.0.0-4.0.3.0\" newVersion=\"4.0.3.0\" />\n      </dependentAssembly>\n      <dependentAssembly>\n        <assemblyIdentity name=\"System.Threading.Tasks.Extensions\" publicKeyToken=\"cc7b13ffcd2ddd51\" culture=\"neutral\" />\n        <bindingRedirect oldVersion=\"0.0.0.0-4.2.0.1\" newVersion=\"4.2.0.1\" />\n      </dependentAssembly>\n      <dependentAssembly>\n        <assemblyIdentity name=\"System.Runtime.CompilerServices.Unsafe\" publicKeyToken=\"b03f5f7f11d50a3a\" culture=\"neutral\" />\n        <bindingRedirect oldVersion=\"0.0.0.0-6.0.0.0\" newVersion=\"6.0.0.0\" />\n      </dependentAssembly>\n      <dependentAssembly>\n        <assemblyIdentity name=\"CommonServiceLocator\" publicKeyToken=\"489b6accfaf20ef0\" culture=\"neutral\" />\n        <bindingRedirect oldVersion=\"0.0.0.0-2.0.5.0\" newVersion=\"2.0.5.0\" />\n      </dependentAssembly>\n    </assemblyBinding>\n  </runtime>\n</configuration>"
  },
  {
    "path": "Networking/Tests/UDPMessageHandler.UnitTest/packages.config",
    "content": "﻿<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<packages>\n  <package id=\"CommonServiceLocator\" version=\"2.0.6\" targetFramework=\"net472\" />\n  <package id=\"EnterpriseLibrary.SemanticLogging\" version=\"2.0.1406.1\" targetFramework=\"net461\" />\n  <package id=\"EnterpriseLibrary.SemanticLogging.TextFile\" version=\"2.0.1406.1\" targetFramework=\"net461\" />\n  <package id=\"MSTest.TestAdapter\" version=\"2.2.10\" targetFramework=\"net472\" />\n  <package id=\"MSTest.TestFramework\" version=\"2.2.10\" targetFramework=\"net472\" />\n  <package id=\"Newtonsoft.Json\" version=\"13.0.1\" targetFramework=\"net472\" />\n  <package id=\"System.Diagnostics.TraceSource\" version=\"4.3.0\" targetFramework=\"net461\" />\n  <package id=\"System.Reactive\" version=\"5.0.0\" targetFramework=\"net472\" />\n  <package id=\"System.Reactive.Core\" version=\"5.0.0\" targetFramework=\"net472\" />\n  <package id=\"System.Reactive.Interfaces\" version=\"5.0.0\" targetFramework=\"net472\" />\n  <package id=\"System.Runtime.CompilerServices.Unsafe\" version=\"6.0.0\" targetFramework=\"net472\" />\n  <package id=\"System.Threading.Tasks.Extensions\" version=\"4.5.4\" targetFramework=\"net472\" />\n  <package id=\"System.ValueTuple\" version=\"4.5.0\" targetFramework=\"net472\" />\n</packages>"
  },
  {
    "path": "Networking/UDPMessageHandler/BinaryUDPPackageReader.cs",
    "content": "﻿//____________________________________________________________________________\n//\n//  Copyright (C) 2019, Mariusz Postol LODZ POLAND.\n//\n//  To be in touch join the community at GITTER: https://gitter.im/mpostol/OPC-UA-OOI\n//____________________________________________________________________________\n\nusing System;\nusing System.Diagnostics;\nusing System.Net;\nusing System.Net.NetworkInformation;\nusing System.Net.Sockets;\nusing UAOOI.Networking.Core;\nusing UAOOI.Networking.UDPMessageHandler.Configuration;\nusing UAOOI.Networking.UDPMessageHandler.Diagnostic;\n\nnamespace UAOOI.Networking.UDPMessageHandler\n{\n  /// <summary>\n  /// Class BinaryUDPPackageReader - custom implementation of the <see cref=\"BinaryDecoder\"/> using UDP protocol.. \n  /// This class cannot be inherited.\n  /// </summary>\n  internal sealed class BinaryUDPPackageReader : IBinaryDataTransferGraphReceiver\n  {\n\n    #region creator\n    /// <summary>\n    /// Initializes a new instance of the <see cref=\"BinaryUDPPackageReader\" /> class.\n    /// </summary>\n    /// <param name=\"configuration\">The configuration of the reader.</param>\n    internal BinaryUDPPackageReader(UDPReaderConfiguration configuration)\n    {\n      UDPMessageHandlerSemanticEventSource.Log.EnteringMethod(nameof(BinaryUDPPackageReader), $\"{nameof(BinaryUDPPackageReader)}({configuration.ToString()})\");\n      State = new MyState(this);\n      m_UDPPort = configuration.UDPPortNumber;\n      MulticastGroup = configuration.DefaultMulticastGroup;\n      ReuseAddress = configuration.ReuseAddress;\n    }\n    #endregion\n\n    #region IBinaryDataTransferObjectReceiver\n    /// <summary>\n    /// Gets or sets the state.\n    /// </summary>\n    /// <value>The state.</value>\n    public IAssociationState State { get; set; }\n    public void AttachToNetwork()\n    {\n      UDPMessageHandlerSemanticEventSource.Log.EnteringMethod(nameof(BinaryUDPPackageReader), nameof(AttachToNetwork));\n      Debug.Assert(HandlerState.Operational != State.State);\n    }\n    public event EventHandler<byte[]> OnNewFrameArrived;\n    #endregion\n\n    #region API\n    internal bool ReuseAddress\n    {\n      get => m_ReuseAddress;\n      set\n      {\n        if (State.State == HandlerState.Operational)\n        {\n          string _msg = $\"{nameof(ReuseAddress)} cannot be set in the Operational state\";\n          UDPMessageHandlerSemanticEventSource.Log.Failure(nameof(BinaryUDPPackageReader), nameof(ReuseAddress), _msg);\n          throw new InvalidOperationException(_msg);\n        }\n        m_ReuseAddress = value;\n      }\n    }\n    internal IPAddress MulticastGroup\n    {\n      get => m_MulticastGroup;\n      set\n      {\n        if (State.State == HandlerState.Operational)\n        {\n          string _msg = $\"{nameof(MulticastGroup)} cannot be set in the Operational state\";\n          UDPMessageHandlerSemanticEventSource.Log.Failure(nameof(BinaryUDPPackageReader), nameof(ReuseAddress), _msg);\n          throw new InvalidOperationException(_msg);\n        }\n        m_MulticastGroup = value;\n      }\n    }\n    #endregion\n\n    #region override\n    public override string ToString()\n    {\n      string _multicastGroupMessage = m_MulticastGroup == null ? $\"multicast off\" : $\"joined multicast: {m_MulticastGroup}\";\n      string _reuseAddressMessage = m_ReuseAddress ? \"Address is reused\" : \"Address is not reused.\";\n      return $\"BinaryUDPPackageReader UPD Port: {m_UDPPort} {_multicastGroupMessage} {_reuseAddressMessage}\";\n    }\n    #endregion\n\n    #region IDispose\n    /// <summary>\n    /// Releases unmanaged and - optionally - managed resources.\n    /// </summary>\n    public void Dispose()\n    {\n      UDPMessageHandlerSemanticEventSource.Log.EnteringMethod(nameof(BinaryUDPPackageReader), nameof(Dispose));\n      if (Client == null)\n        return;\n      UDPMessageHandlerSemanticEventSource.Log.EnteringMethod(nameof(BinaryUDPPackageReader), nameof(Client.Close));\n      Client.Close();\n      Client = null;\n      m_MulticastGroup = null;\n    }\n    #endregion\n\n    #region private\n    //types\n    private class MyState : IAssociationState\n    {\n\n      #region IAssociationState\n      /// <summary>\n      /// Initializes a new instance of the <see cref=\"MyState\"/> class.\n      /// </summary>\n      public MyState(BinaryUDPPackageReader parent)\n      {\n        State = HandlerState.Disabled;\n        m_Parent = parent;\n      }\n      /// <summary>\n      /// Gets the current state <see cref=\"HandlerState\" /> of the <see cref=\"Association\" /> instance.\n      /// </summary>\n      /// <value>The state of <see cref=\"HandlerState\" /> type.</value>\n      public HandlerState State\n      {\n        get;\n        private set;\n      }\n      /// <summary>\n      /// This method is used to enable a configured <see cref=\"Association\" /> object. If a normal operation is possible, the state changes into <see cref=\"HandlerState.Operational\" /> state.\n      /// In the case of an error situation, the state changes into <see cref=\"HandlerState.Error\" />. The operation is rejected if the current <see cref=\"State\" />  is not <see cref=\"HandlerState.Disabled\" />.\n      /// </summary>\n      /// <exception cref=\"System.ArgumentException\">Wrong state</exception>\n      public void Enable()\n      {\n        if (State != HandlerState.Disabled)\n          throw new ArgumentException(\"Wrong state\");\n        State = HandlerState.Operational;\n        m_Parent.OnEnable();\n      }\n      /// <summary>\n      /// This method is used to disable an already enabled <see cref=\"Association\" /> object.\n      /// This method call shall be rejected if the current State is <see cref=\"HandlerState.Disabled\" /> or <see cref=\"HandlerState.NoConfiguration\" />.\n      /// </summary>\n      /// <exception cref=\"System.ArgumentException\">Wrong state</exception>\n      public void Disable()\n      {\n        if (State != HandlerState.Operational)\n          throw new ArgumentException(\"Wrong state\");\n        State = HandlerState.Disabled;\n        m_Parent.Dispose();\n      }\n      #endregion\n\n      private BinaryUDPPackageReader m_Parent;\n\n    }\n    //vars\n    private UdpClient Client { get; set; }\n    private readonly int m_UDPPort;\n    private bool m_ReuseAddress = true;\n    private IPAddress m_MulticastGroup = null;\n    private readonly IPGlobalProperties m_Properties = IPGlobalProperties.GetIPGlobalProperties();\n    //methods\n    /// <summary>\n    /// Implements <see cref=\"AsyncCallback\"/> for UDP begin receive.\n    /// </summary>\n    /// <param name=\"asyncResult\">The asynchronous result.</param>\n    private void ReceiveAsyncCallback(IAsyncResult asyncResult)\n    {\n      UDPMessageHandlerSemanticEventSource.Log.EnteringMethod(nameof(BinaryUDPPackageReader), nameof(ReceiveAsyncCallback));\n      //if (!asyncResult.IsCompleted)\n      //  return;\n      try\n      {\n        UdpClient _client = (UdpClient)asyncResult.AsyncState;\n        IPEndPoint _UEndPoint = null;\n        byte[] _receiveBytes = _client.EndReceive(asyncResult, ref _UEndPoint);\n        int _length = _receiveBytes == null ? -1 : _receiveBytes.Length;\n        UDPMessageHandlerSemanticEventSource.Log.ReceivedMessageContent(_UEndPoint, _length, _receiveBytes);\n        OnNewFrameArrived?.Invoke(this, _receiveBytes);\n        Client.BeginReceive(new AsyncCallback(ReceiveAsyncCallback), Client);\n      }\n      catch (Exception _ex)\n      {\n        UDPMessageHandlerSemanticEventSource.Log.LogException(nameof(BinaryUDPPackageReader), nameof(ReceiveAsyncCallback), _ex);\n      }\n    }\n    private void OnEnable()\n    {\n      UDPMessageHandlerSemanticEventSource.Log.EnteringMethod(nameof(BinaryUDPPackageReader), nameof(OnEnable));\n      Client = new UdpClient();\n      Client.Client.SetSocketOption(SocketOptionLevel.Socket, SocketOptionName.ReuseAddress, ReuseAddress);\n      Client.ExclusiveAddressUse = !ReuseAddress;\n      IPEndPoint _ep = new IPEndPoint(IPAddress.Any, m_UDPPort);\n      Client.Client.Bind(_ep);\n      if (m_MulticastGroup != null)\n      {\n        UDPMessageHandlerSemanticEventSource.Log.JoiningMulticastGroup(m_MulticastGroup);\n        Client.JoinMulticastGroup(m_MulticastGroup);\n      }\n      UDPMessageHandlerSemanticEventSource.Log.EnteringMethod(nameof(BinaryUDPPackageReader), nameof(Client.BeginReceive));\n      Client.BeginReceive(new AsyncCallback(ReceiveAsyncCallback), Client);\n    }\n    #endregion\n\n  }\n}\n"
  },
  {
    "path": "Networking/UDPMessageHandler/BinaryUDPPackageWriter.cs",
    "content": "﻿//___________________________________________________________________________________\n//\n//  Copyright (C) 2019, Mariusz Postol LODZ POLAND.\n//\n//  To be in touch join the community at GITTER: https://gitter.im/mpostol/OPC-UA-OOI\n//___________________________________________________________________________________\n\nusing System;\nusing System.Diagnostics;\nusing System.Linq;\nusing System.Net;\nusing System.Net.Sockets;\nusing UAOOI.Networking.Core;\nusing UAOOI.Networking.UDPMessageHandler.Diagnostic;\n\nnamespace UAOOI.Networking.UDPMessageHandler\n{\n  /// <summary>\n  /// Class BinaryUDPPackageWriter - custom implementation of the <see cref=\"BinaryEncoder\"/> using UDP protocol.\n  /// </summary>\n  internal sealed class BinaryUDPPackageWriter : IBinaryDataTransferGraphSender\n  {\n\n    #region constructor\n    internal BinaryUDPPackageWriter(string remoteHostName, int remotePort)\n    {\n      UDPMessageHandlerSemanticEventSource.Log.EnteringMethod(nameof(BinaryUDPPackageWriter), $\"{nameof(BinaryUDPPackageWriter)}(RemoteHostName={remoteHostName},RemotePort={remotePort})\");\n      State = new MyState(this);\n      m_RemoteHostName = remoteHostName;\n      m_remotePort = remotePort;\n    }\n    #endregion\n\n    #region BinaryMessageEncoder\n    public IAssociationState State\n    {\n      get;\n      set;\n    }\n    public void AttachToNetwork()\n    {\n      UDPMessageHandlerSemanticEventSource.Log.EnteringMethod(nameof(BinaryUDPPackageWriter), nameof(AttachToNetwork));\n    }\n    public void SendFrame(byte[] buffer)\n    {\n      lock (this)\n      {\n        UDPMessageHandlerSemanticEventSource.Log.EnteringMethod(nameof(BinaryUDPPackageWriter), $\"{nameof(SendFrame)} buffer.Length = {buffer.Length}\");\n        UdpClient _UdpClient = m_UdpClient;\n        if (_UdpClient == null)\n          return;\n        try\n        {\n          IPEndPoint _IPEndPoint = new IPEndPoint(m_IPAddresses, m_remotePort);\n          UDPMessageHandlerSemanticEventSource.Log.SentMessageContent(_IPEndPoint, buffer.Length, buffer);\n          _UdpClient.Send(buffer, buffer.Length, _IPEndPoint);\n        }\n        catch (Exception _e)\n        {\n          UDPMessageHandlerSemanticEventSource.Log.LogException(nameof(BinaryUDPPackageWriter), nameof(SendFrame), _e);\n        }\n      }\n    }\n    /// <summary>\n    /// Releases unmanaged and - optionally - managed resources.\n    /// </summary>\n    /// <param name=\"disposing\"><c>true</c> to release both managed and unmanaged resources; <c>false</c> to release only unmanaged resources.</param>\n    public void Dispose()\n    {\n      lock (this)\n      {\n        UDPMessageHandlerSemanticEventSource.Log.EnteringMethod(nameof(BinaryUDPPackageWriter), $\"Entering {nameof(BinaryUDPPackageWriter)}.{nameof(Dispose)} method\");\n        if (m_UdpClient == null)\n          return;\n        UDPMessageHandlerSemanticEventSource.Log.EnteringMethod(nameof(BinaryUDPPackageWriter), nameof(m_UdpClient.Close));\n        m_UdpClient.Close();\n        m_UdpClient = null;\n      }\n    }\n    #endregion\n\n    #region private\n    //types\n    private class MyState : IAssociationState\n    {\n\n      #region IAssociationState\n      /// <summary>\n      /// Initializes a new instance of the <see cref=\"MyState\"/> class.\n      /// </summary>\n      public MyState(BinaryUDPPackageWriter parent)\n      {\n        State = HandlerState.Disabled;\n        m_Parent = parent;\n      }\n      /// <summary>\n      /// Gets the current state <see cref=\"HandlerState\" /> of the <see cref=\"Association\" /> instance.\n      /// </summary>\n      /// <value>The state of <see cref=\"HandlerState\" /> type.</value>\n      public HandlerState State\n      {\n        get;\n        private set;\n      }\n      /// <summary>\n      /// This method is used to enable a configured <see cref=\"Association\" /> object. If a normal operation is possible, the state changes into <see cref=\"HandlerState.Operational\" /> state.\n      /// In the case of an error situation, the state changes into <see cref=\"HandlerState.Error\" />. The operation is rejected if the current <see cref=\"State\" />  is not <see cref=\"HandlerState.Disabled\" />.\n      /// </summary>\n      /// <exception cref=\"System.ArgumentException\">Wrong state</exception>\n      public void Enable()\n      {\n        if (State != HandlerState.Disabled)\n          throw new ArgumentException(\"Wrong state\");\n        State = HandlerState.Operational;\n        m_Parent.OnEnable();\n      }\n      /// <summary>\n      /// This method is used to disable an already enabled <see cref=\"Association\" /> object.\n      /// This method call shall be rejected if the current State is <see cref=\"HandlerState.Disabled\" /> or <see cref=\"HandlerState.NoConfiguration\" />.\n      /// </summary>\n      /// <exception cref=\"System.ArgumentException\">Wrong state</exception>\n      public void Disable()\n      {\n        if (State != HandlerState.Operational)\n          throw new ArgumentException(\"Wrong state\");\n        State = HandlerState.Disabled;\n        m_Parent.Dispose();\n      }\n      #endregion\n\n      private BinaryUDPPackageWriter m_Parent;\n\n    }\n    //vars\n    private UdpClient m_UdpClient;\n    private IPAddress m_IPAddresses;\n    private readonly int m_remotePort = 4800;\n    private readonly string m_RemoteHostName;\n    //Methods\n    private void OnEnable()\n    {\n      UDPMessageHandlerSemanticEventSource.Log.EnteringMethod(nameof(BinaryUDPPackageWriter), nameof(OnEnable));\n      Debug.Assert(m_UdpClient == null);\n      // Get DNS host information.\n      IPAddress[] _remoteHostAddresses = Dns.GetHostAddresses(m_RemoteHostName);\n      // Get the DNS IP addresses associated with the host.\n      // Get first IPAddress in list returned by the DNS.\n      m_IPAddresses = _remoteHostAddresses.Where<IPAddress>(x => x.AddressFamily == AddressFamily.InterNetwork).First<IPAddress>();\n      Debug.Assert(m_IPAddresses != null);\n      UDPMessageHandlerSemanticEventSource.Log.EnteringMethod(nameof(BinaryUDPPackageWriter), $\"{nameof(UdpClient)} m_RemoteHostName: {m_RemoteHostName} Ip : {m_IPAddresses.ToString()}\");\n      m_UdpClient = new UdpClient();\n    }\n\n    #endregion\n\n  }\n}\n"
  },
  {
    "path": "Networking/UDPMessageHandler/Configuration/IPAddressValidationRule.cs",
    "content": "﻿\nusing System;\nusing System.Net;\n\nnamespace UAOOI.Networking.UDPMessageHandler.Configuration\n{\n  internal static class IPAddressValidationRule\n  {\n\n    internal static IPAddress ValidateIP (string value)\n    {\n      if (String.IsNullOrEmpty(value))\n        throw new ArgumentNullException($\"The string representing IP Address cannot be empty\");\n      IPAddress _address;\n      if (!IPAddress.TryParse(value, out _address))\n        throw new ArgumentOutOfRangeException($\"The string <{value}> doesn't represent IP Address\");\n      if (_address.AddressFamily != System.Net.Sockets.AddressFamily.InterNetwork)\n        throw new ArgumentOutOfRangeException($\"The address family {_address.AddressFamily} is not supported\");\n      return _address;\n    }\n    internal static void ValidateMulticast(IPAddress address)\n    {\n      try\n      {\n        byte[] _bytesArray = address.GetAddressBytes();\n        if (_bytesArray.Length != 4)\n          throw new ArgumentOutOfRangeException($\"The address length {_bytesArray.Length} is not expected\");\n        if (_bytesArray[0] > 239 || _bytesArray[0] < 224)\n          throw new ArgumentOutOfRangeException($\"The address {address} is outside the IP V4 multicast range 224.0.0.0 - 239.255.255.255\");\n      }\n      catch (Exception _ex)\n      {\n        throw new ArgumentOutOfRangeException($\"Validation error: {_ex.GetType().Name}: {_ex.Message}\");\n      }\n    }\n\n  }\n}\n"
  },
  {
    "path": "Networking/UDPMessageHandler/Configuration/UDPReaderConfiguration.cs",
    "content": "﻿//___________________________________________________________________________________\n//\n//  Copyright (C) 2020, Mariusz Postol LODZ POLAND.\n//\n//  To be in touch join the community at GITTER: https://gitter.im/mpostol/OPC-UA-OOI\n//___________________________________________________________________________________\n\nusing System;\nusing System.Net;\nusing UAOOI.Networking.UDPMessageHandler.Diagnostic;\n\nnamespace UAOOI.Networking.UDPMessageHandler.Configuration\n{\n  /// <summary>\n  /// Class UDPReaderConfiguration encapsulates configuration for <see cref=\"IMessageHandlerFactory.GetIMessageReader\"/>.\n  /// </summary>\n  internal class UDPReaderConfiguration\n  {\n    #region API\n\n    internal static UDPReaderConfiguration Parse(string configuration)\n    {\n      try\n      {\n        string[] _parameters = configuration.Split(',');\n        if (_parameters.Length != 4)\n          throw new ArgumentException($\"Wrong number of parameter {_parameters.Length} but expected 4\");\n        UDPReaderConfiguration _ret = new UDPReaderConfiguration\n        {\n          UDPPortNumber = int.Parse(_parameters[0]),\n          JoinMulticastGroup = bool.Parse(_parameters[1])\n        };\n        if (_ret.JoinMulticastGroup)\n          _ret.DefaultMulticastGroup = IPAddressValidationRule.ValidateIP(_parameters[2]);\n        _ret.ReuseAddress = bool.Parse(_parameters[3]);\n        return _ret;\n      }\n      catch (Exception _ex)\n      {\n        UDPMessageHandlerSemanticEventSource.Log.LogException(nameof(UDPReaderConfiguration), nameof(Parse), _ex);\n        throw;\n      }\n    }\n\n    internal int UDPPortNumber { get; set; }\n    internal IPAddress DefaultMulticastGroup { get; set; } = null;\n    internal bool ReuseAddress { get; set; }\n\n    #endregion API\n\n    #region Object\n\n    public override string ToString()\n    {\n      return $\"{UDPPortNumber},{JoinMulticastGroup},{DefaultMulticastGroup},{ReuseAddress}\";\n    }\n\n    #endregion Object\n\n    #region private\n\n    private bool JoinMulticastGroup;\n\n    private UDPReaderConfiguration()\n    {\n    }\n\n    #endregion private\n  }\n}"
  },
  {
    "path": "Networking/UDPMessageHandler/Configuration/UDPWriterConfiguration.cs",
    "content": "﻿//___________________________________________________________________________________\n//\n//  Copyright (C) 2020, Mariusz Postol LODZ POLAND.\n//\n//  To be in touch join the community at GITTER: https://gitter.im/mpostol/OPC-UA-OOI\n//___________________________________________________________________________________\n\nusing System;\nusing UAOOI.Networking.UDPMessageHandler.Diagnostic;\n\nnamespace UAOOI.Networking.UDPMessageHandler.Configuration\n{\n  /// <summary>\n  /// Class UDPWriterConfiguration encapsulates configuration for <see cref=\"IMessageHandlerFactory.GetIMessageWriter\"/>.\n  /// </summary>\n  internal class UDPWriterConfiguration\n  {\n    #region API\n\n    internal static UDPWriterConfiguration Parse(string configuration)\n    {\n      try\n      {\n        string[] _parameters = configuration.Split(',');\n        if (_parameters.Length != 2)\n          throw new ArgumentException($\"Wrong number of parameter {_parameters.Length} but expected 2\");\n        UDPWriterConfiguration _ret = new UDPWriterConfiguration\n        {\n          UDPPortNumber = int.Parse(_parameters[0]),\n          RemoteHostName = _parameters[1]\n        };\n        return _ret;\n      }\n      catch (Exception _ex)\n      {\n        UDPMessageHandlerSemanticEventSource.Log.LogException(nameof(UDPWriterConfiguration), nameof(Parse), _ex);\n        throw;\n      }\n    }\n\n    internal int UDPPortNumber { get; set; }\n    internal string RemoteHostName { get; set; }\n\n    #endregion API\n\n    #region Object\n\n    public override string ToString()\n    {\n      return $\"{UDPPortNumber},{RemoteHostName}\";\n    }\n\n    #endregion Object\n\n    #region private\n\n    private UDPWriterConfiguration()\n    {\n    }\n\n    #endregion private\n  }\n}"
  },
  {
    "path": "Networking/UDPMessageHandler/Diagnostic/NetworkingEventSourceProvider.cs",
    "content": "﻿//___________________________________________________________________________________\n//\n//  Copyright (C) 2020, Mariusz Postol LODZ POLAND.\n//\n//  To be in touch join the community at GITTER: https://gitter.im/mpostol/OPC-UA-OOI\n//___________________________________________________________________________________\n\nusing System.ComponentModel.Composition;\nusing System.Diagnostics.Tracing;\nusing UAOOI.Networking.Core;\n\nnamespace UAOOI.Networking.UDPMessageHandler.Diagnostic\n{\n  /// <summary>\n  /// Class NetworkingEventSourceProvider - gets access to an instance of <see cref=\"EventSource\"/> to be registered by the logging infrastructure.\n  /// </summary>\n  /// <seealso cref=\"INetworkingEventSourceProvider\" />\n  [Export(typeof(INetworkingEventSourceProvider))]\n  public class NetworkingEventSourceProvider : INetworkingEventSourceProvider\n  {\n    /// <summary>\n    /// Gets the part event source.\n    /// </summary>\n    /// <returns>Returns an instance of <see cref=\"T:System.Diagnostics.Tracing.EventSource\" />.</returns>\n    public EventSource GetPartEventSource()\n    {\n      return UDPMessageHandlerSemanticEventSource.Log;\n    }\n  }\n}"
  },
  {
    "path": "Networking/UDPMessageHandler/Diagnostic/UDPMessageHandlerDiagnosticExtension.cs",
    "content": "﻿\nusing System;\nusing System.Linq;\nusing System.Net;\n\nnamespace UAOOI.Networking.UDPMessageHandler.Diagnostic\n{\n  internal static class UDPMessageHandlerDiagnosticExtension\n  {\n\n    internal static void ReceivedMessageContent(this UDPMessageHandlerSemanticEventSource eventSource, IPEndPoint endPoint, int length, byte[] message)\n    {\n      eventSource.ReceivedMessageContent(MessageContentFormat(endPoint, length, message));\n    }\n    internal static void SentMessageContent(this UDPMessageHandlerSemanticEventSource eventSource, IPEndPoint endPoint, int length, byte[] message)\n    {\n      eventSource.SentMessageContent(MessageContentFormat(endPoint, length, message));\n    }\n    internal static void JoiningMulticastGroup(this UDPMessageHandlerSemanticEventSource eventSource, IPAddress multicastGroup)\n    {\n      eventSource.JoiningMulticastGroup(multicastGroup.ToString());\n    }\n    /// <summary>\n    /// Logs the exception using <see cref=\"ReferenceApplicationEventSource\" />.\n    /// </summary>\n    /// <param name=\"eventSource\">The event source source to be used for problem reporting.</param>\n    /// <param name=\"className\">Name of the class.</param>\n    /// <param name=\"methodName\">Name of the method.</param>\n    /// <param name=\"e\">The exception to be reported.</param>\n    internal static void LogException(this UDPMessageHandlerSemanticEventSource eventSource, string className, string methodName, Exception e)\n    {\n      Exception _exception = e;\n      string _innerText = \"An exception has benn caught:\";\n      while (e != null)\n      {\n        eventSource.Failure(className, methodName, $\"{_innerText} of type {_exception.GetType().Name} capturing the message: {e.Message}\");\n        e = e.InnerException;\n        _innerText = \"It contains inner exception:\";\n      }\n    }\n    private static string MessageContentFormat(IPEndPoint endPoint, int length, byte[] message)\n    {\n      return ($\"{endPoint.Address.ToString()}:{endPoint.Port} [{length}]: {String.Join(\",\", new ArraySegment<byte>(message, 0, Math.Min(message.Length, 80)).Select<byte, string>(x => x.ToString(\"X\")).ToArray<string>())}\");\n    }\n\n  }\n}\n"
  },
  {
    "path": "Networking/UDPMessageHandler/Diagnostic/UDPMessageHandlerSemanticEventSource.cs",
    "content": "﻿\nusing System.Diagnostics.Tracing;\n\nnamespace UAOOI.Networking.UDPMessageHandler.Diagnostic\n{\n  [EventSource(Name = \"UAOOI-Networking-UDPMessageHandler-Diagnostic\", Guid = \"84C6B563-8282-47CB-9111-7B29D8B43E23\")]\n  public class UDPMessageHandlerSemanticEventSource : EventSource\n  {\n\n    /// <summary>\n    /// Class Tasks.\n    /// </summary>\n    public class Tasks\n    {\n      public const EventTask Consumer = (EventTask)1;\n      public const EventTask Producer = (EventTask)2;\n      public const EventTask Stack = (EventTask)3;\n      public const EventTask CodeBehavior = (EventTask)4;\n    }\n    /// <summary>\n    /// Class Keywords - defines the local keywords (flags) that apply to events.\n    /// </summary>\n    public class Keywords\n    {\n      public const EventKeywords PackageContent = (EventKeywords)(1 << 1);\n      public const EventKeywords Diagnostic = (EventKeywords)(1 << 2);\n      public const EventKeywords Performance = (EventKeywords)(1 << 3);\n      public const EventKeywords Settings = (EventKeywords)(1 << 4);\n    }\n\n    /// <summary>\n    /// Gets the log - implements singleton of the <see cref=\"UDPMessageHandlerSemanticEventSource\"/>.\n    /// </summary>\n    /// <value>The log.</value>\n    internal static UDPMessageHandlerSemanticEventSource Log { get; } = new UDPMessageHandlerSemanticEventSource();\n    [Event(1, Message = \"At {0}.{1} encountered application failure: {2}\", Opcode = EventOpcode.Info, Task = Tasks.CodeBehavior, Level = EventLevel.Error, Keywords = Keywords.Diagnostic)]\n    public void Failure(string className, string methodName, string problem)\n    {\n      WriteEvent(1, className, methodName, problem);\n    }\n    [Event(2, Message = \"The IMessageHandlerFactory.{0} method has been called.\", Opcode = EventOpcode.Start, Task = Tasks.CodeBehavior, Level = EventLevel.Informational)]\n    internal void GetIMessageHandler(string iMessageHandlerName)\n    {\n      WriteEvent(2, iMessageHandlerName);\n    }\n    [Event(3, Message = \"Entering method {0}.{1}\", Opcode = EventOpcode.Info, Task = EventTask.None, Level = EventLevel.Verbose)]\n    internal void EnteringMethod(string className, string methodName)\n    {\n      if (IsEnabled())\n        WriteEvent(3, className, methodName);\n    }\n    [Event(5, Message = \"Received message: {0}\", Opcode = EventOpcode.Info, Task = Tasks.Consumer, Level = EventLevel.Verbose)]\n    internal void ReceivedMessageContent(string payload0)\n    {\n      WriteEvent(5, payload0);\n    }\n    [Event(6, Message = \"Sent message: {0}\", Opcode = EventOpcode.Info, Task = Tasks.Producer, Level = EventLevel.Verbose)]\n    internal void SentMessageContent(string payload0)\n    {\n      WriteEvent(6, payload0);\n    }\n    [Event(7, Message = \"Joining the multicast group: {0}\", Opcode = EventOpcode.Start, Task = Tasks.Stack, Level = EventLevel.Informational)]\n    internal void JoiningMulticastGroup(string multicastGroup)\n    {\n      WriteEvent(7, multicastGroup);\n    }\n    private UDPMessageHandlerSemanticEventSource() { }\n\n  }\n\n}\n\n"
  },
  {
    "path": "Networking/UDPMessageHandler/MessageHandlerFactory.cs",
    "content": "﻿//___________________________________________________________________________________\n//\n//  Copyright (C) 2019, Mariusz Postol LODZ POLAND.\n//\n//  To be in touch join the community at GITTER: https://gitter.im/mpostol/OPC-UA-OOI\n//___________________________________________________________________________________\n\nusing System.ComponentModel.Composition;\nusing UAOOI.Networking.Core;\nusing UAOOI.Networking.UDPMessageHandler.Configuration;\nusing UAOOI.Networking.UDPMessageHandler.Diagnostic;\n\nnamespace UAOOI.Networking.UDPMessageHandler\n{\n\n  /// <summary>\n  /// Class <see cref=\"MessageHandlerFactory\"/> - implements <see cref=\"IMessageHandlerFactory\"/> \n  /// </summary>\n  [Export(typeof(IMessageHandlerFactory))]\n  [PartCreationPolicy(CreationPolicy.Shared)]\n  public class MessageHandlerFactory : IMessageHandlerFactory\n  {\n\n    #region IMessageHandlerFactory\n    /// <summary>\n    /// Gets an instance implementing <see cref=\"IBinaryDataTransferGraphReceiver\" /> interface.\n    /// </summary>\n    /// <param name=\"name\">The name to be used for identification of the underlying TDG transport channel.</param>\n    /// <param name=\"configuration\">The configuration of the object implementing the <see cref=\"T:UAOOI.Networking.Core.IBinaryDataTransferGraphReceiver\" />.</param>\n    /// <returns>An object implementing <see cref=\"IBinaryDataTransferGraphReceiver\" /> that provides functionality supporting reading the messages from the wire.</returns>\n    IBinaryDataTransferGraphReceiver IMessageHandlerFactory.GetBinaryDTGReceiver(string name, string configuration)\n    {\n      UDPMessageHandlerSemanticEventSource.Log.GetIMessageHandler($\"{nameof(IMessageHandlerFactory.GetBinaryDTGReceiver)}{{ name = {name}, configuration= {configuration} }}\");\n      UDPReaderConfiguration _configuration = UDPReaderConfiguration.Parse(configuration);\n      BinaryUDPPackageReader _ret = new BinaryUDPPackageReader(_configuration);\n      return _ret;\n    }\n    /// <summary>\n    /// Gets an instance implementing <see cref=\"IBinaryDataTransferGraphSender\" /> interface.\n    /// </summary>\n    /// <param name=\"name\">The name to be used for identification of the underlying TDG transport channel.</param>\n    /// <param name=\"configuration\">The configuration of the object implementing the <see cref=\"T:UAOOI.Networking.Core.IBinaryDataTransferGraphSender\" />.</param>\n    /// <returns>An object implementing <see cref=\"IBinaryDataTransferGraphSender\" /> that provides functionality supporting sending the messages over the wire.</returns>\n    IBinaryDataTransferGraphSender IMessageHandlerFactory.GetBinaryDTGSender(string name, string configuration )\n    {\n      UDPMessageHandlerSemanticEventSource.Log.GetIMessageHandler($\"{nameof(IMessageHandlerFactory.GetBinaryDTGSender)}{{ name = {name}, configuration= {configuration} }}\");\n      UDPWriterConfiguration _configuration = UDPWriterConfiguration.Parse(configuration);\n      BinaryUDPPackageWriter _ret = new BinaryUDPPackageWriter(_configuration.RemoteHostName, _configuration.UDPPortNumber);\n      return _ret;\n    }\n    #endregion\n\n  }\n\n}"
  },
  {
    "path": "Networking/UDPMessageHandler/Networking.UDPMessageHandler.csproj",
    "content": "﻿<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<Project Sdk=\"Microsoft.NET.Sdk\">\n\n  <PropertyGroup>\n    <TargetFramework>netstandard2.0</TargetFramework>\n    <SignAssembly>true</SignAssembly>\n    <AssemblyOriginatorKeyFile>OPCUAOOIKey.snk</AssemblyOriginatorKeyFile>\n    <Version>4.0.2</Version>\n    <AssemblyName>UAOOI.Networking.UDPMessageHandler</AssemblyName>\n    <Description>OOI Reactive Networking: UDP IMessageHandlerFactory Implementation</Description>\n    <Copyright>Copyright MPostol (c) 2018</Copyright>\n    <PackageTags>Object Oriented Internet, OPC UA, CommServer, Reactive Networking.</PackageTags>\n    <RepositoryType>GitHub</RepositoryType>\n    <PackageProjectUrl>https://commsvr.gitbook.io/ooi</PackageProjectUrl>\n    <RepositoryUrl>https://github.com/mpostol/OPC-UA-OOI</RepositoryUrl>\n    <PackageLicenseUrl>https://github.com/mpostol/OPC-UA-OOI/blob/master/license.md</PackageLicenseUrl>\n    <Product>Object Oriented Internet</Product>\n    <Company>commsvr.com</Company>\n    <Authors>MPostol</Authors>\n    <AssemblyVersion>4.0.2.0</AssemblyVersion>\n    <GeneratePackageOnBuild>false</GeneratePackageOnBuild>\n  </PropertyGroup>\n\n  <PropertyGroup Condition=\"'$(Configuration)|$(Platform)'=='Release|AnyCPU'\">\n    <DocumentationFile>C:\\VS.git\\UAOOI\\OPC-UA-OOI\\Networking\\UDPMessageHandler\\UAOOI.Networking.UDPMessageHandler.xml</DocumentationFile>\n  </PropertyGroup>\n\n  <ItemGroup>\n    <PackageReference Include=\"System.ComponentModel.Composition\" Version=\"6.0.0\" />\n  </ItemGroup>\n\n  <ItemGroup>\n    <ProjectReference Include=\"..\\Core\\Networking.Core.csproj\" />\n  </ItemGroup>\n\n  <ItemGroup>\n    <None Update=\"Networking.UDPMessageHandler.nuspec.nuspec\">\n      <DesignTime>True</DesignTime>\n      <AutoGen>True</AutoGen>\n      <DependentUpon>Networking.UDPMessageHandler.nuspec.tt</DependentUpon>\n    </None>\n    <None Update=\"Networking.UDPMessageHandler.nuspec.tt\">\n      <Generator>TextTemplatingFileGenerator</Generator>\n      <LastGenOutput>Networking.UDPMessageHandler.nuspec.nuspec</LastGenOutput>\n    </None>\n    <None Update=\"Properties\\AssemblyInfo.tt\">\n      <Generator>TextTemplatingFileGenerator</Generator>\n    </None>\n  </ItemGroup>\n\n  <ItemGroup>\n    <Service Include=\"{508349b6-6b84-4df5-91f0-309beebad82d}\" />\n  </ItemGroup>\n\n</Project>"
  },
  {
    "path": "Networking/UDPMessageHandler/Networking.UDPMessageHandler.nuspec.nuspec",
    "content": "﻿<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<package xmlns=\"http://schemas.microsoft.com/packaging/2012/06/nuspec.xsd\">\n  <metadata>\n    <id>UAOOI.Networking.UDPMessageHandler</id>\n    <version>4.0.2</version>\n    <title>Object Oriented Internet UDPMessageHandler</title>\n    <authors>Mariusz Postol</authors>\n    <owners>Mariusz Postol</owners>\n    <requireLicenseAcceptance>false</requireLicenseAcceptance>\n    <license type=\"expression\">MIT</license>\n    <projectUrl>https://github.com/mpostol/OPC-UA-OOI</projectUrl>\n    <icon>Logo64.PNG</icon>\n    <description>OOI Reactive Networking: UDP IMessageHandlerFactory Implementation</description>\n    <summary>UDP IMessageHandlerFactory Implementation.</summary>    \n    <copyright>Copyright (C) 2022 Mariusz Postol LODZ POLAND</copyright>\n    <tags>Object Oriented Internet, OPC UA, Information Model, IoT, M2M, DOA,</tags>\n    <repository type=\"GitHub\" url=\"https://github.com/mpostol/OPC-UA-OOI\" />\n    <dependencies>\n      <group targetFramework=\".NETStandard2.0\">\n        <dependency id=\"System.ComponentModel.Composition\" version=\"4.7.0\" exclude=\"Build,Analyzers\" />\n        <dependency id=\"UAOOI.Networking.Core\" version=\"4.0.2\" exclude=\"Build,Analyzers\" />\n      </group>\n    </dependencies>\n    <releaseNotes>Maintenance release - unimportant changes.</releaseNotes>\n    <copyright>Copyright (C) 2022 Mariusz Postol LODZ POLAND</copyright>\n  </metadata>\n  <files>\n    <file src=\"Logo64.PNG\" target=\"\"/>\n    <file src=\"bin\\Release\\netstandard2.0\\UAOOI.Networking.UDPMessageHandler.dll\" target=\"lib\\netstandard2.0\\UAOOI.Networking.UDPMessageHandler.dll\" />\n    <file src=\"bin\\Release\\netstandard2.0\\UAOOI.Networking.UDPMessageHandler.xml\" target=\"lib\\netstandard2.0\\UAOOI.Networking.UDPMessageHandler.xml\" />\n  </files>\n</package>\n\n"
  },
  {
    "path": "Networking/UDPMessageHandler/Networking.UDPMessageHandler.nuspec.tt",
    "content": "﻿<#@ template debug=\"false\" hostspecific=\"false\" language=\"C#\" #>\n<#@ output extension=\".nuspec\" #>\n<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<package xmlns=\"http://schemas.microsoft.com/packaging/2012/06/nuspec.xsd\">\n  <metadata>\n    <id>UAOOI.Networking.UDPMessageHandler</id>\n    <version>4.0.2</version>\n    <title><#=NetworkingDataProduct#> UDPMessageHandler</title>\n    <authors><#=AssemblyCompany#></authors>\n    <owners><#=Owner#></owners>\n    <requireLicenseAcceptance>false</requireLicenseAcceptance>\n    <license type=\"expression\">MIT</license>\n    <projectUrl><#=Url#></projectUrl>\n    <icon>Logo64.PNG</icon>\n    <description>OOI Reactive Networking: UDP IMessageHandlerFactory Implementation</description>\n    <summary>UDP IMessageHandlerFactory Implementation.</summary>    \n    <copyright><#=AssemblyCopyright#></copyright>\n    <tags>Object Oriented Internet, OPC UA, Information Model, IoT, M2M, DOA,</tags>\n    <repository type=\"GitHub\" url=\"https://github.com/mpostol/OPC-UA-OOI\" />\n    <dependencies>\n      <group targetFramework=\".NETStandard2.0\">\n        <dependency id=\"System.ComponentModel.Composition\" version=\"4.7.0\" exclude=\"Build,Analyzers\" />\n        <dependency id=\"UAOOI.Networking.Core\" version=\"4.0.2\" exclude=\"Build,Analyzers\" />\n      </group>\n    </dependencies>\n    <releaseNotes>Maintenance release - unimportant changes.</releaseNotes>\n    <copyright><#=AssemblyCopyright#></copyright>\n  </metadata>\n  <files>\n    <file src=\"Logo64.PNG\" target=\"\"/>\n    <file src=\"bin\\Release\\netstandard2.0\\UAOOI.Networking.UDPMessageHandler.dll\" target=\"lib\\netstandard2.0\\UAOOI.Networking.UDPMessageHandler.dll\" />\n    <file src=\"bin\\Release\\netstandard2.0\\UAOOI.Networking.UDPMessageHandler.xml\" target=\"lib\\netstandard2.0\\UAOOI.Networking.UDPMessageHandler.xml\" />\n  </files>\n</package>\n\n<#@ include file = \"..\\..\\CommonResources\\T4Definitions\\Model.t4\" #>\n"
  },
  {
    "path": "Networking/UDPMessageHandler/Properties/AssemblyInfo.cs",
    "content": "﻿//_______________________________________________________________\n//  Title   : Assembly info for: UAOOI.Networking.UDPMessageHandler\n//  System  : Microsoft VisualStudio 2017 / C#\n//\n//  Copyright MPostol (c) 2018\n//  +48 608 619 899\n//  commserver@cas.eu\n//  https://github.com/mpostol/OPC-UA-OOI\n//_______________________________________________________________\n\nusing System.Reflection;\nusing System.Runtime.CompilerServices;\nusing System.Runtime.InteropServices;\n\n[assembly: AssemblyTrademark(\"Object Oriented Internet\")]\n[assembly: AssemblyCulture(\"\")]\n[assembly: ComVisible(false)]\n[assembly: Guid(\"d2eb89f9-321e-46e4-ba79-679138b82b23\")]\n[assembly: InternalsVisibleTo(\n  \"UAOOI.Networking.UDPMessageHandler.UnitTest, PublicKey=\" +\n    \"00240000048000009400000006020000002400005253413100040000010001005b97a0972ff6b13a\" +\n    \"8a9ff9c09503aea0e5e2fe29cb2275a0c0942182f4c3431814b6bc9a556d9fe0d7e7823439c1ba28\" +\n    \"521f6318e4c936c4461604ef668e9686c2021571b093e1bfba071b373bc56a07a3afdc120c5313d3\" +\n    \"9a935cda64b759f857ebb3db483641444a5347e1564f8ba6d4fad2f968d3caf9991a4fa6aa019ebe\"\n)]\n"
  },
  {
    "path": "Networking/UDPMessageHandler/README.md",
    "content": "# Underlying Transport over UDP\n\n## Motivation\n\nThe main goal of this document is to provide instruction on how to expand the transport layer for OOI Networking of the `Semantic-Data` over the User Datagram Protocol (UDP) to be compliant with the specifications mentioned in the section *Normative references*.\n\nA reference implementation of the `Transport` over UDP is provided by the project [Networking.UDPMessageHandler][OOI.Networking.UDPMessageHandler]. Because intentionally the SDK is designed to use any transport protocol, a custom external component implementing UDP connectivity can be seamlessly integrated with this SDK using dependency injection concept illustrated by the following domain model:\n\n![Figure 1. Domain Model](../../CommonResources/Media/DataManagementExternalLibraries.png)\n\nInstruction for implementers has been covered in the section *Notices for Implementer*.\n\n## Normative References\n\nThe following documents, in whole or in part, are normatively referenced in this document and are indispensable for its application.\n\n- [Internet Standard RFC 768: User Datagram Protocol (UDP)l][RFC.UDP]\n- [Internet Standard RFC: 791 Internet Protocol (IP)][RFC.UDP.IP]\n- [Internet Standard RFC 1112 Host Extensions for IP Multicasting][RFC.IPMulticasting]\n- [OPC Unified Architecture Specification Part 14: PubSub Release 1.04 February 06, 2018][OPC.UA.PubSub]\n\n## Introduction\n\n### User Datagram Protocol\n\nThe User Datagram Protocol (UDP) is defined to make available a datagram mode of packet-switched computer communication in the environment of an interconnected set of computer networks. This protocol assumes that the [IP][RFC.UDP.IP] protocol is used as the underlying protocol.\n\nThis protocol provides a procedure for application programs to send `Message` datagrams to other programs with a minimum of protocol mechanism. Using this protocol the messages delivery and duplicate protection are not guaranteed.\n\nThe protocol is transparent for the user payload sent as the `data octets` (stream of bytes). The `Length` field in the protocol header contains the length in octets of the user datagram including the header and the `data octets`.\n\nTo identify the communication parties (processes) the following information is used:\n\n- `Source Port`: - indicates the port of the sending process;\n- `Destination Port`: indicates the port of the ultimate destination process;\n\n`Source Port` and  `Destination Port` have a meaning only within the context of a particular internet address.\n\n### OPC UA PubSub\n\nThe [OPC.UA.PubSub][OPC.UA.PubSub] offers the publish-subscribe communication pattern as an option to client-server pattern and is a consistent part of the OPC UA specifications suit. The detailed description of the [OPC.UA.PubSub][OPC.UA.PubSub] has been covered by the document [OPC Unified Architecture Part 14: PubSub Main Technology Features][README.PubSubMTF].\n\nThe specification defines the following actors:\n\n- `Publisher`: pushes messages to an underlying transport` layer.\n- `Subscriber`:  polls messages from the underlying transport layer.\n\nThe `Publisher` is the actor that pushes `NetworkMessage` structures to an underlying transport layer. It represents a certain data source, for example, a control device, a manufacturing process, a weather station, or a stock exchange. It may be also OPC UA Clients, OPC UA Servers or in general any applications that understand the syntax and semantics of the `NetworkMessage` structure.\n\nThe `Subscriber` actors are the consumers of `NetworkMessage` structure, which are polled from the underlying transport layer. They may be OPC UA Clients, OPC UA Servers or in general any applications that understand the syntax and semantics of the `NetworkMessage` structure.\n\nAccording to the specification the `Publisher` and `Subscriber` don't have any subscriptions management functionality, namely, they follow a communication paradigm called unsolicited notification. When unsolicited notification occurs, a client receives a message that it has never requested. The `Subscriber` must use a filtering mechanism to process only messages it is interested in.\n\nLack of subscriptions management functionality defined by the PubSub could be mitigated by applying the IP Multicast option defined by the [RFC 1112][RFC.IPMulticasting]. IP multicasting is the transmission of an IP datagram to a \"host group\", a set of zero or more hosts identified by a single IP destination address. A multicast datagram is delivered to all members of its destination host group with the same \"best-efforts\" reliability as regular unicast IP datagrams. Internetwork forwarding of IP multicast datagrams is handled by \"multicast routers\". It means that the router must be multicast enabled. Further discussion related to this topic is outside of the scope of this document.\n\n## UDP Mapping\n\n### General Requirements\n\nThere must be mapping defined for:\n\n- Messages Transport: the PubSub `NetworkMessage` structure serialized as the UDP `Message` payload.\n- Addressing: `Source Port`/`Destination Port` and appropriate Internet address must be provided by the PubSub upper communication layer.\n\nA `Publisher` shall support all variations it allows through configuration. The required set of features is defined through profiles defined in [OPC UA Part 7: Profiles][OPC.UA.Profiles]. A `Subscriber` shall be able to process all possible `NetworkMessage` types and shall be able to skip information the `Subscriber` is not interested in. The `Subscriber` may not support all security policies.\n\n### Messages Transport\n\nThe UADP `NetworkMessage` is sent as the UDP `data octets`. It is expected that the `Subscriber` process receiving the `NetworkMessage` can process it without needing to know that it was transported via UDP.\n\n### Addressing\n\nThe syntax of the UDP transporting protocol URL has the following form:\n\n> `opc.udp://<host>[:<port>]`\n\nThe host is either an IP address or a registered name like a host name or domain name. IP addresses can be unicast, multicast or broadcast addresses. It is the destination of the UDP datagram.\n\nThe IANA registered OPC UA port for UDP communication is `4840`. This is the default and recommended port for broadcast, multicast, and unicast communication. Alternative ports may be defined.\n\nIt is assumed that the IP multicasting is supported by the UDP protocol stock stack and the network infrastructure.\n\n## Notices for Implementer\n\nThe article [Reactive Networking of Semantic-Data Library](../SemanticData/README.MD) contains description covering instruction for the external UDP handling components. An example how to implement the `Transport` layer for the UDP protocol is illustrated by the project [UA Data Example Application][OOI.Networking.ReferenceApplication]. This library implements the `IMessageHandlerFactory` in the class `MessageHandlerFactory` used to create communication infrastructure for the `Consumer` and `Producer` role as well.\n\nThe `JoinMulticastGroup` method subscribes the `UdpClient` to a multicast group using the specified `IPAddress`. After calling the `JoinMulticastGroup` method, the underlying `Socket` sends an Internet Group Management Protocol (IGMP) packet to the router requesting membership to the multicast group. The multicast address range is `224.0.0.0` to `239.255.255.255`. If you specify an address outside this range or if the router to which the request is made is not multicast enabled, `UdpClient` will throw a `SocketException`. Once the `UdpClient` is listed with the router as a member of the multicast group, it will be able to receive multicasted datagrams sent to the specified `IPAddress`.  `Publisher` do not need to belong to a multicast group to send datagrams to a multicast IP address. To get more details visit the MSDN online documentation.\n\n[RFC.UDP]:https://tools.ietf.org/html/rfc768\n[RFC.UDP.IP]:https://tools.ietf.org/html/rfc791\n[RFC.IPMulticasting]:https://tools.ietf.org/html/rfc1112\n[OPC.UA.PubSub]:https://opcfoundation.org/developer-tools/specifications-unified-architecture/part-14-pubsub/\n[OPC.UA.Profiles]:https://opcfoundation.org/developer-tools/specifications-unified-architecture/part-7-profiles/\n[README.PubSubMTF]:../SemanticData/README.PubSubMTF.md\n[OOI.Networking.UDPMessageHandler]:https://github.com/mpostol/OPC-UA-OOI/tree/master/Networking/UDPMessageHandler\n[OOI.Networking.ReferenceApplication]:https://github.com/mpostol/OPC-UA-OOI/tree/master/Networking/ReferenceApplication\n"
  },
  {
    "path": "Networking/UDPMessageHandler/README.nupkg.md",
    "content": "# Reactive Networking of Semantic-Data Underlying Transport over UDP\n\n## Motivation\n\nThe main goal of this document is to provide instruction on how to expand the transport layer for OOI Networking of the `Semantic-Data` over the User Datagram Protocol (UDP) to be compliant with the specifications mentioned in the section *Normative references*. Detailed description of this concept is covered by the document: [Reactive Networking of Semantic-Data Library][RxNetworkingSemantic-Data]\n\nA reference implementation of the `Transport` over UDP is provided by the project [Networking.UDPMessageHandler][OOI.Networking.UDPMessageHandler]. Because intentionally the SDK is designed to use any transport protocol, a custom external component implementing UDP connectivity can be seamlessly integrated with this SDK using dependency injection concept.\n\n## Normative References\n\nThe following documents, in whole or in part, are normatively referenced in this document and are indispensable for its application.\n\n- [Internet Standard RFC 768: User Datagram Protocol (UDP)l][RFC.UDP]\n- [Internet Standard RFC: 791 Internet Protocol (IP)][RFC.UDP.IP]\n- [Internet Standard RFC 1112 Host Extensions for IP Multicasting][RFC.IPMulticasting]\n- [OPC Unified Architecture Specification Part 14: PubSub Release 1.04 February 06, 2018][OPC.UA.PubSub]\n\n## Notices for Implementer\n\nThe article [Reactive Networking of Semantic-Data Library][RxNetworkingSemantic-Data] contains a description covering instruction for the external UDP handling components. An example of how to implement the `Transport` layer for the UDP protocol is illustrated by the project [UA Data Example Application][OOI.Networking.ReferenceApplication]. This library implements the `IMessageHandlerFactory` in the class `MessageHandlerFactory` used to create communication infrastructure for the `Consumer` and `Producer` role as well.\n\nThe `JoinMulticastGroup` method subscribes the `UdpClient` to a multicast group using the specified `IPAddress`. After calling the `JoinMulticastGroup` method, the underlying `Socket` sends an Internet Group Management Protocol (IGMP) packet to the router requesting membership to the multicast group. The multicast address range is `224.0.0.0` to `239.255.255.255`. If you specify an address outside this range or if the router to which the request is made is not multicast enabled, `UdpClient` will throw a `SocketException`. Once the `UdpClient` is listed with the router as a member of the multicast group, it will be able to receive multicasted datagrams sent to the specified `IPAddress`.  `Publisher` do not need to belong to a multicast group to send datagrams to a multicast IP address. To get more details visit the MSDN online documentation.\n\n[RxNetworkingSemantic-Data]:https://commsvr.gitbook.io/ooi/reactive-communication/semanticdata\n[RFC.UDP]:https://tools.ietf.org/html/rfc768\n[RFC.UDP.IP]:https://tools.ietf.org/html/rfc791\n[RFC.IPMulticasting]:https://tools.ietf.org/html/rfc1112\n[OPC.UA.PubSub]:https://opcfoundation.org/developer-tools/specifications-unified-architecture/part-14-pubsub/\n[OOI.Networking.UDPMessageHandler]:https://github.com/mpostol/OPC-UA-OOI/tree/master/Networking/UDPMessageHandler\n[OOI.Networking.ReferenceApplication]:https://github.com/mpostol/OPC-UA-OOI/tree/master/Networking/ReferenceApplication\n"
  },
  {
    "path": "Networking/UDPMessageHandler/UAOOI.Networking.UDPMessageHandler.xml",
    "content": "<?xml version=\"1.0\"?>\n<doc>\n    <assembly>\n        <name>UAOOI.Networking.UDPMessageHandler</name>\n    </assembly>\n    <members>\n        <member name=\"T:UAOOI.Networking.UDPMessageHandler.BinaryUDPPackageReader\">\n            <summary>\n            Class BinaryUDPPackageReader - custom implementation of the <see cref=\"!:BinaryDecoder\"/> using UDP protocol.. \n            This class cannot be inherited.\n            </summary>\n        </member>\n        <member name=\"M:UAOOI.Networking.UDPMessageHandler.BinaryUDPPackageReader.#ctor(UAOOI.Networking.UDPMessageHandler.Configuration.UDPReaderConfiguration)\">\n            <summary>\n            Initializes a new instance of the <see cref=\"T:UAOOI.Networking.UDPMessageHandler.BinaryUDPPackageReader\" /> class.\n            </summary>\n            <param name=\"configuration\">The configuration of the reader.</param>\n        </member>\n        <member name=\"P:UAOOI.Networking.UDPMessageHandler.BinaryUDPPackageReader.State\">\n            <summary>\n            Gets or sets the state.\n            </summary>\n            <value>The state.</value>\n        </member>\n        <member name=\"M:UAOOI.Networking.UDPMessageHandler.BinaryUDPPackageReader.Dispose\">\n            <summary>\n            Releases unmanaged and - optionally - managed resources.\n            </summary>\n        </member>\n        <member name=\"M:UAOOI.Networking.UDPMessageHandler.BinaryUDPPackageReader.MyState.#ctor(UAOOI.Networking.UDPMessageHandler.BinaryUDPPackageReader)\">\n            <summary>\n            Initializes a new instance of the <see cref=\"T:UAOOI.Networking.UDPMessageHandler.BinaryUDPPackageReader.MyState\"/> class.\n            </summary>\n        </member>\n        <member name=\"P:UAOOI.Networking.UDPMessageHandler.BinaryUDPPackageReader.MyState.State\">\n            <summary>\n            Gets the current state <see cref=\"T:UAOOI.Networking.Core.HandlerState\" /> of the <see cref=\"!:Association\" /> instance.\n            </summary>\n            <value>The state of <see cref=\"T:UAOOI.Networking.Core.HandlerState\" /> type.</value>\n        </member>\n        <member name=\"M:UAOOI.Networking.UDPMessageHandler.BinaryUDPPackageReader.MyState.Enable\">\n            <summary>\n            This method is used to enable a configured <see cref=\"!:Association\" /> object. If a normal operation is possible, the state changes into <see cref=\"F:UAOOI.Networking.Core.HandlerState.Operational\" /> state.\n            In the case of an error situation, the state changes into <see cref=\"F:UAOOI.Networking.Core.HandlerState.Error\" />. The operation is rejected if the current <see cref=\"P:UAOOI.Networking.UDPMessageHandler.BinaryUDPPackageReader.MyState.State\" />  is not <see cref=\"F:UAOOI.Networking.Core.HandlerState.Disabled\" />.\n            </summary>\n            <exception cref=\"T:System.ArgumentException\">Wrong state</exception>\n        </member>\n        <member name=\"M:UAOOI.Networking.UDPMessageHandler.BinaryUDPPackageReader.MyState.Disable\">\n            <summary>\n            This method is used to disable an already enabled <see cref=\"!:Association\" /> object.\n            This method call shall be rejected if the current State is <see cref=\"F:UAOOI.Networking.Core.HandlerState.Disabled\" /> or <see cref=\"F:UAOOI.Networking.Core.HandlerState.NoConfiguration\" />.\n            </summary>\n            <exception cref=\"T:System.ArgumentException\">Wrong state</exception>\n        </member>\n        <member name=\"M:UAOOI.Networking.UDPMessageHandler.BinaryUDPPackageReader.ReceiveAsyncCallback(System.IAsyncResult)\">\n            <summary>\n            Implements <see cref=\"T:System.AsyncCallback\"/> for UDP begin receive.\n            </summary>\n            <param name=\"asyncResult\">The asynchronous result.</param>\n        </member>\n        <member name=\"T:UAOOI.Networking.UDPMessageHandler.BinaryUDPPackageWriter\">\n            <summary>\n            Class BinaryUDPPackageWriter - custom implementation of the <see cref=\"!:BinaryEncoder\"/> using UDP protocol.\n            </summary>\n        </member>\n        <member name=\"M:UAOOI.Networking.UDPMessageHandler.BinaryUDPPackageWriter.Dispose\">\n            <summary>\n            Releases unmanaged and - optionally - managed resources.\n            </summary>\n            <param name=\"disposing\"><c>true</c> to release both managed and unmanaged resources; <c>false</c> to release only unmanaged resources.</param>\n        </member>\n        <member name=\"M:UAOOI.Networking.UDPMessageHandler.BinaryUDPPackageWriter.MyState.#ctor(UAOOI.Networking.UDPMessageHandler.BinaryUDPPackageWriter)\">\n            <summary>\n            Initializes a new instance of the <see cref=\"T:UAOOI.Networking.UDPMessageHandler.BinaryUDPPackageWriter.MyState\"/> class.\n            </summary>\n        </member>\n        <member name=\"P:UAOOI.Networking.UDPMessageHandler.BinaryUDPPackageWriter.MyState.State\">\n            <summary>\n            Gets the current state <see cref=\"T:UAOOI.Networking.Core.HandlerState\" /> of the <see cref=\"!:Association\" /> instance.\n            </summary>\n            <value>The state of <see cref=\"T:UAOOI.Networking.Core.HandlerState\" /> type.</value>\n        </member>\n        <member name=\"M:UAOOI.Networking.UDPMessageHandler.BinaryUDPPackageWriter.MyState.Enable\">\n            <summary>\n            This method is used to enable a configured <see cref=\"!:Association\" /> object. If a normal operation is possible, the state changes into <see cref=\"F:UAOOI.Networking.Core.HandlerState.Operational\" /> state.\n            In the case of an error situation, the state changes into <see cref=\"F:UAOOI.Networking.Core.HandlerState.Error\" />. The operation is rejected if the current <see cref=\"P:UAOOI.Networking.UDPMessageHandler.BinaryUDPPackageWriter.MyState.State\" />  is not <see cref=\"F:UAOOI.Networking.Core.HandlerState.Disabled\" />.\n            </summary>\n            <exception cref=\"T:System.ArgumentException\">Wrong state</exception>\n        </member>\n        <member name=\"M:UAOOI.Networking.UDPMessageHandler.BinaryUDPPackageWriter.MyState.Disable\">\n            <summary>\n            This method is used to disable an already enabled <see cref=\"!:Association\" /> object.\n            This method call shall be rejected if the current State is <see cref=\"F:UAOOI.Networking.Core.HandlerState.Disabled\" /> or <see cref=\"F:UAOOI.Networking.Core.HandlerState.NoConfiguration\" />.\n            </summary>\n            <exception cref=\"T:System.ArgumentException\">Wrong state</exception>\n        </member>\n        <member name=\"T:UAOOI.Networking.UDPMessageHandler.Configuration.UDPReaderConfiguration\">\n            <summary>\n            Class UDPReaderConfiguration encapsulates configuration for <see cref=\"!:IMessageHandlerFactory.GetIMessageReader\"/>.\n            </summary>\n        </member>\n        <member name=\"T:UAOOI.Networking.UDPMessageHandler.Configuration.UDPWriterConfiguration\">\n            <summary>\n            Class UDPWriterConfiguration encapsulates configuration for <see cref=\"!:IMessageHandlerFactory.GetIMessageWriter\"/>.\n            </summary>\n        </member>\n        <member name=\"T:UAOOI.Networking.UDPMessageHandler.Diagnostic.NetworkingEventSourceProvider\">\n            <summary>\n            Class NetworkingEventSourceProvider - gets access to an instance of <see cref=\"T:System.Diagnostics.Tracing.EventSource\"/> to be registered by the logging infrastructure.\n            </summary>\n            <seealso cref=\"T:UAOOI.Networking.Core.INetworkingEventSourceProvider\" />\n        </member>\n        <member name=\"M:UAOOI.Networking.UDPMessageHandler.Diagnostic.NetworkingEventSourceProvider.GetPartEventSource\">\n            <summary>\n            Gets the part event source.\n            </summary>\n            <returns>Returns an instance of <see cref=\"T:System.Diagnostics.Tracing.EventSource\" />.</returns>\n        </member>\n        <member name=\"M:UAOOI.Networking.UDPMessageHandler.Diagnostic.UDPMessageHandlerDiagnosticExtension.LogException(UAOOI.Networking.UDPMessageHandler.Diagnostic.UDPMessageHandlerSemanticEventSource,System.String,System.String,System.Exception)\">\n            <summary>\n            Logs the exception using <see cref=\"!:ReferenceApplicationEventSource\" />.\n            </summary>\n            <param name=\"eventSource\">The event source source to be used for problem reporting.</param>\n            <param name=\"className\">Name of the class.</param>\n            <param name=\"methodName\">Name of the method.</param>\n            <param name=\"e\">The exception to be reported.</param>\n        </member>\n        <member name=\"T:UAOOI.Networking.UDPMessageHandler.Diagnostic.UDPMessageHandlerSemanticEventSource.Tasks\">\n            <summary>\n            Class Tasks.\n            </summary>\n        </member>\n        <member name=\"T:UAOOI.Networking.UDPMessageHandler.Diagnostic.UDPMessageHandlerSemanticEventSource.Keywords\">\n            <summary>\n            Class Keywords - defines the local keywords (flags) that apply to events.\n            </summary>\n        </member>\n        <member name=\"P:UAOOI.Networking.UDPMessageHandler.Diagnostic.UDPMessageHandlerSemanticEventSource.Log\">\n            <summary>\n            Gets the log - implements singleton of the <see cref=\"T:UAOOI.Networking.UDPMessageHandler.Diagnostic.UDPMessageHandlerSemanticEventSource\"/>.\n            </summary>\n            <value>The log.</value>\n        </member>\n        <member name=\"T:UAOOI.Networking.UDPMessageHandler.MessageHandlerFactory\">\n            <summary>\n            Class <see cref=\"T:UAOOI.Networking.UDPMessageHandler.MessageHandlerFactory\"/> - implements <see cref=\"T:UAOOI.Networking.Core.IMessageHandlerFactory\"/> \n            </summary>\n        </member>\n        <member name=\"M:UAOOI.Networking.UDPMessageHandler.MessageHandlerFactory.UAOOI#Networking#Core#IMessageHandlerFactory#GetBinaryDTGReceiver(System.String,System.String)\">\n            <summary>\n            Gets an instance implementing <see cref=\"T:UAOOI.Networking.Core.IBinaryDataTransferGraphReceiver\" /> interface.\n            </summary>\n            <param name=\"name\">The name to be used for identification of the underlying TDG transport channel.</param>\n            <param name=\"configuration\">The configuration of the object implementing the <see cref=\"T:UAOOI.Networking.Core.IBinaryDataTransferGraphReceiver\" />.</param>\n            <returns>An object implementing <see cref=\"T:UAOOI.Networking.Core.IBinaryDataTransferGraphReceiver\" /> that provides functionality supporting reading the messages from the wire.</returns>\n        </member>\n        <member name=\"M:UAOOI.Networking.UDPMessageHandler.MessageHandlerFactory.UAOOI#Networking#Core#IMessageHandlerFactory#GetBinaryDTGSender(System.String,System.String)\">\n            <summary>\n            Gets an instance implementing <see cref=\"T:UAOOI.Networking.Core.IBinaryDataTransferGraphSender\" /> interface.\n            </summary>\n            <param name=\"name\">The name to be used for identification of the underlying TDG transport channel.</param>\n            <param name=\"configuration\">The configuration of the object implementing the <see cref=\"T:UAOOI.Networking.Core.IBinaryDataTransferGraphSender\" />.</param>\n            <returns>An object implementing <see cref=\"T:UAOOI.Networking.Core.IBinaryDataTransferGraphSender\" /> that provides functionality supporting sending the messages over the wire.</returns>\n        </member>\n    </members>\n</doc>\n"
  },
  {
    "path": "Networking/UDPMessageHandler/app.config",
    "content": "﻿<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<configuration>\n</configuration>"
  },
  {
    "path": "Networking.playlist",
    "content": "<Playlist Version=\"1.0\"><Add Test=\"UAOOI.Networking.SemanticData.UnitTest.HeaderWriterUnitTest.WriteTestMethod\" /><Add Test=\"UAOOI.Networking.DataRepository.AzureGateway.Test.AzureInterconnection.CommunicationContextUnitTest.ConstructorTest\" /><Add Test=\"UAOOI.Networking.SemanticData.UnitTest.DataManagementSetupUnitTest.DataManagementSetupCreatorTestMethod\" /><Add Test=\"UAOOI.Networking.Simulator.Boiler.UnitTest.Model.BoilerStateUnitTest.FindChildTest\" /><Add Test=\"UAOOI.Networking.DataRepository.DataLogger.ConsumerConfigurationFactoryUnitTest.ConstructorTestMethod\" /><Add Test=\"UAOOI.Networking.Simulator.Boiler.UnitTest.Model.AnalogItemStateUnitTest.ConstructorTest\" /><Add Test=\"UAOOI.Networking.UDPMessageHandler.UnitTest.Configuration.IPAddressValidationRuleUnitTest.WrongStringTestMethod\" /><Add Test=\"UAOOI.Networking.DataRepository.AzureGateway.Test.AzureInterconnection.AzureDeviceParametersUnitTest.ParseMissingRequiredTest\" /><Add Test=\"UAOOI.Networking.Simulator.Boiler.UnitTest.AddressSpace.BaseInstanceStateUnitTest.FindChildTest\" /><Add Test=\"UAOOI.Networking.SemanticData.UnitTest.UABinaryDecoderImplementationUnitTest.VariantDateTimeTestMethod\" /><Add Test=\"UAOOI.Networking.SemanticData.UnitTest.AssociationUnitTest.AssociationStateDisableTestMethod\" /><Add Test=\"UAOOI.Networking.SemanticData.UnitTest.MessageWriterBaseTest.ObjectTestMethod\" /><Add Test=\"UAOOI.Networking.ReferenceApplication.UnitTest.Diagnostic.ReferenceApplicationEventSourceUnitTest.StartingApplicationTest\" /><Add Test=\"UAOOI.Networking.SemanticData.UnitTest.ExtensionsUnitTest.IncRollOverTestMethod\" /><Add Test=\"UAOOI.Networking.ReferenceApplication.UnitTest.MEF.BootstrapperBaseUnitTest.CreateLoggerInitializesLogger\" /><Add Test=\"UAOOI.Networking.DataRepository.DataLogger.ConsumerViewModelUnit.ConstructorTest\" /><Add Test=\"UAOOI.Networking.ReferenceApplication.UnitTest.ApplicationSettingsUnitTest1.ApplicationSettingsMEFCompositionMethod\" /><Add Test=\"UAOOI.Networking.SemanticData.UnitTest.AssociationUnitTest.AssociationCompareToTestMethod\" /><Add Test=\"UAOOI.Networking.UDPMessageHandler.UnitTest.BinaryUDPPackageReaderTestClass.ExclusiveAddressUseFalseTestMethod\" /><Add Test=\"UAOOI.Networking.Simulator.Boiler.UnitTest.Model.BoilerStateUnitTest.StartSimulationTest\" /><Add Test=\"UAOOI.Networking.UDPMessageHandler.UnitTest.Configuration.IPAddressValidationRuleUnitTest.WrongMulticast240_0_0_0_TestMethod\" /><Add Test=\"UAOOI.Networking.Simulator.Boiler.UnitTest.DataGeneratorUnitTest.GetProducerBindingTest\" /><Add Test=\"UAOOI.Networking.UDPMessageHandler.UnitTest.Diagnostic.UDPMessageHandlerSemanticEventSourceUnitTest.ReactiveSubscribeTest\" /><Add Test=\"UAOOI.Networking.DataRepository.AzureGateway.Test.PartBindingFactoryUnit.ConstructorTest\" /><Add Test=\"UAOOI.Networking.UDPMessageHandler.UnitTest.BinaryUDPPackageReaderTestClass.ExclusiveAddressOperationalTestMethod\" /><Add Test=\"UAOOI.Networking.SimulatorInteroperabilityTest.UnitTest.ProducerConfigurationFactoryUnitTest.ConstructorTestMethod1\" /><Add Test=\"UAOOI.Networking.UDPMessageHandler.UnitTest.Configuration.UDPReaderConfigurationUnitTest.UDPMulticastReaderConfigurationTest\" /><Add Test=\"UAOOI.Networking.SemanticData.UnitTest.ProducerBindingMonitoredValueUnitTest.CorrectInitializationTestMethod\" /><Add Test=\"UAOOI.Networking.Simulator.Boiler.UnitTest.Model.BoilerStateUnitTest.GetChildrenTest\" /><Add Test=\"UAOOI.Networking.SemanticData.UnitTest.MessageWriterBaseTest.SendTestMethod\" /><Add Test=\"UAOOI.Networking.UDPMessageHandler.UnitTest.Diagnostic.UDPMessageHandlerSemanticEventSourceUnitTest.JoiningMulticastGroupTest\" /><Add Test=\"UAOOI.Networking.SimulatorInteroperabilityTest.UnitTest.DataGeneratorUnitTest.TestMethod1\" /><Add Test=\"UAOOI.Networking.UDPMessageHandler.UnitTest.Configuration.IPAddressValidationRuleUnitTest.ValidateMulticastTest\" /><Add Test=\"UAOOI.Networking.SemanticData.UnitTest.ProducerBindingMonitoredValueUnitTest.CreatorTestMethod2\" /><Add Test=\"UAOOI.Networking.ReferenceApplication.UnitTest.ApplicationSettingsUnitTest1.ApplicationSettingsISLCompositionMethod\" /><Add Test=\"UAOOI.Networking.DataRepository.AzureGateway.Test.Diagnostic.AzureGatewaySemanticEventSourceUnitTest.DisposeTestMethod\" /><Add Test=\"UAOOI.Networking.Simulator.Boiler.UnitTest.Model.BoilerStateUnitTest.Constructor2Test\" /><Add Test=\"UAOOI.Networking.SemanticData.UnitTest.MessageWriterBaseTest.NullableTestMethod\" /><Add Test=\"UAOOI.Networking.SemanticData.UnitTest.ProducerBindingUnitTest.NewValueTestMethod\" /><Add Test=\"UAOOI.Networking.ReferenceApplication.UnitTest.MEF.DefaultServiceRegistrarUnitTest.RegisterRequiredServicesIfMissingAndUDPMessageHandler\" /><Add Test=\"UAOOI.Networking.Simulator.Boiler.UnitTest.Model.GenericControllerStateUnitTest.Constructor2Test\" /><Add Test=\"UAOOI.Networking.Simulator.Boiler.UnitTest.Model.BoilerStateUnitTest.ConstructorTest\" /><Add Test=\"UAOOI.Networking.SemanticData.UnitTest.ConsumerBindingMonitoredValueUnitTest.ToStringArrayTestMethod\" /><Add Test=\"UAOOI.Networking.DataRepository.DataLogger.ConsumerViewModelUnit.TraceTest\" /><Add Test=\"UAOOI.Networking.Simulator.Boiler.UnitTest.AddressSpace.NodeStateUnitTest.ConstructorTest\" /><Add Test=\"UAOOI.Networking.SemanticData.UnitTest.UABinaryEncoderImplementationUnitTest.VariantDateTimeTestMethod\" /><Add Test=\"UAOOI.Networking.UDPMessageHandler.UnitTest.BinaryUDPPackageReaderTestClass.CreatorTestMethod\" /><Add Test=\"UAOOI.Networking.ReferenceApplication.UnitTest.MEF.MefBootstrapperUnitTest.TestMefBootstrapperConstructor\" /><Add Test=\"UAOOI.Networking.DataRepository.DataLogger.DataConsumerUnitTest.ConstructorTest\" /><Add Test=\"UAOOI.Networking.SemanticData.UnitTest.ConsumerBindingMonitoredValueUnitTest.ToStringCLRArrayRank3TestMethod\" /><Add Test=\"UAOOI.Networking.Simulator.Boiler.UnitTest.AddressSpace.SemanticDataSetSourceUnitTest.ConstructorTest\" /><Add Test=\"UAOOI.Networking.UDPMessageHandler.UnitTest.Diagnostic.UDPMessageHandlerSemanticEventSourceUnitTest.LogFailure2LogToFlatFileTest\" /><Add Test=\"UAOOI.Networking.SemanticData.UnitTest.ProducerAssociationUnitTest.ProducerAssociationCreatorTestMethod\" /><Add Test=\"UAOOI.Networking.SemanticData.UnitTest.MessageHeaderUnitTest.ProducerMessageLengthTestMethod1\" /><Add Test=\"UAOOI.Networking.UDPMessageHandler.UnitTest.BinaryUDPPackageReaderTestClass.ExclusiveMulticastGroupTestMethod\" /><Add Test=\"UAOOI.Networking.Simulator.Boiler.UnitTest.AddressSpace.PropertyStateUnitTest.ConstructorTest\" /><Add Test=\"UAOOI.Networking.SemanticData.UnitTest.HeaderWriterUnitTest.EndPositionTestMethod\" /><Add Test=\"UAOOI.Networking.SemanticData.UnitTest.PersistentConfigurationUnitTest.GetLocalConfigurationTestMethod\" /><Add Test=\"UAOOI.Networking.DataRepository.AzureGateway.Test.PartConfigurationFactoryUnitTest.RepositoryGroupTest\" /><Add Test=\"UAOOI.Networking.UDPMessageHandler.UnitTest.Configuration.UDPWriterConfigurationUnitTest.UDPWriterConfigurationTest\" /><Add Test=\"UAOOI.Networking.SemanticData.UnitTest.AssociationUnitTest.AssociationInitializeMethod2\" /><Add Test=\"UAOOI.Networking.SemanticData.UnitTest.EncodingFactoryUnitTest.UpdateValueConverterTestMethod2\" /><Add Test=\"UAOOI.Networking.DataRepository.AzureGateway.Test.PartBindingFactoryUnit.GetProducerBindingTest\" /><Add Test=\"UAOOI.Networking.Simulator.Boiler.UnitTest.AddressSpace.BaseInstanceStateUnitTest.AddChildTest\" /><Add Test=\"UAOOI.Networking.SemanticData.UnitTest.MessageHeaderUnitTest.ProducerMessageHeaderTestMethod1\" /><Add Test=\"UAOOI.Networking.DataRepository.AzureGateway.Test.Diagnostic.AzureGatewaySemanticEventSourceUnitTest.EventListenerTest\" /><Add Test=\"UAOOI.Networking.SemanticData.UnitTest.BinaryEncoderTest.BinaryUDPPackageWriterTestMethod\" /><Add Test=\"UAOOI.Networking.DataRepository.AzureGateway.Test.AzureInterconnection.AzureDeviceParametersUnitTest.ParseMissingOptionalTestMethod\" /><Add Test=\"UAOOI.Networking.SemanticData.UnitTest.UABinaryEncoderImplementationUnitTest.ArrayLengthOutOfRangeTest\" /><Add Test=\"UAOOI.Networking.SemanticData.UnitTest.DataManagementSetupUnitTest.InitializeTestMethod\" /><Add Test=\"UAOOI.Networking.SemanticData.UnitTest.UABinaryEncoderImplementationUnitTest.VariantGuidTestMethod\" /><Add Test=\"UAOOI.Networking.SemanticData.UnitTest.UABinaryEncoderImplementationUnitTest.ArrayOneDimensionTest\" /><Add Test=\"UAOOI.Networking.Simulator.Boiler.UnitTest.Model.GenericControllerStateUnitTest.ParentsTest\" /><Add Test=\"UAOOI.Networking.ReferenceApplication.UnitTest.MEF.BootstrapperBaseUnitTest.OnInitializedShouldRunLast\" /><Add Test=\"UAOOI.Networking.SemanticData.UnitTest.ConfigurationUnitTest.ConfigurationDataCreateTestMethod\" /><Add Test=\"UAOOI.Networking.DataRepository.AzureGateway.Test.AzureInterconnection.AzureDeviceParametersUnitTest.ConstructorTest\" /><Add Test=\"UAOOI.Networking.SemanticData.UnitTest.AssociationUnitTest.AssociationCreatorTestMethod4\" /><Add Test=\"UAOOI.Networking.SemanticData.UnitTest.ProducerBindingMonitoredValueUnitTest.NewValueTestMethod\" /><Add Test=\"UAOOI.Networking.SemanticData.UnitTest.UABinaryDecoderImplementationUnitTest.ArrayOneDimensionCompressedTest\" /><Add Test=\"UAOOI.Networking.Simulator.Boiler.UnitTest.AddressSpace.BaseInstanceStateUnitTest.GetChildrenTest\" /><Add Test=\"UAOOI.Networking.SemanticData.UnitTest.ConsumerBindingMonitoredValueUnitTest.ToStringArrayRank3TestMethod\" /><Add Test=\"UAOOI.Networking.Simulator.Boiler.UnitTest.ProducerConfigurationFactoryUnitTest.ConstructorTestMethod1\" /><Add Test=\"UAOOI.Networking.UDPMessageHandler.UnitTest.Configuration.IPAddressValidationRuleUnitTest.NullStringTestMethod\" /><Add Test=\"UAOOI.Networking.SemanticData.UnitTest.AssociationUnitTest.AssociationCreatorTestMethod1\" /><Add Test=\"UAOOI.Networking.SemanticData.UnitTest.UABinaryEncoderImplementationUnitTest.WriteDataValueTestMethod\" /><Add Test=\"UAOOI.Networking.Simulator.Boiler.UnitTest.Model.GenericControllerStateUnitTest.ConstructorTest\" /><Add Test=\"UAOOI.Networking.SemanticData.UnitTest.UABinaryEncoderImplementationUnitTest.WriteByteStringTest\" /><Add Test=\"UAOOI.Networking.SemanticData.UnitTest.ConsumerBindingUnitTest.TestMethod1\" /><Add Test=\"UAOOI.Networking.SemanticData.UnitTest.UABinaryDecoderImplementationUnitTest.WriteDataValueTestMethod\" /><Add Test=\"UAOOI.Networking.Simulator.Boiler.UnitTest.AddressSpace.SemanticDataSetSourceUnitTest.ReplaceDataSetFieldsTest\" /><Add Test=\"UAOOI.Networking.Simulator.Boiler.UnitTest.AddressSpace.SemanticDataSetSourceUnitTest.CreateConfigurationTest\" /><Add Test=\"UAOOI.Networking.Simulator.Boiler.UnitTest.DataGeneratorUnitTest.GetProducerBindingTypesMismatchTest\" /><Add Test=\"UAOOI.Networking.Simulator.Boiler.UnitTest.Model.BoilersSetUnitTest.GetSemanticDataSourcesTest\" /><Add Test=\"UAOOI.Networking.SemanticData.UnitTest.UABinaryDecoderImplementationUnitTest.ArrayMultiDimensionTest\" /><Add Test=\"UAOOI.Networking.DataRepository.AzureGateway.Test.AzureInterconnection.AzureDeviceParametersUnitTest.ParseMissingRepositoryGroupTestMethod\" /><Add Test=\"UAOOI.Networking.DataRepository.AzureGateway.Test.AzureInterconnection.AzureDeviceParametersUnitTest.ParseFullTestMethod\" /><Add Test=\"UAOOI.Networking.DataRepository.DataLogger.Diagnostic.DataLoggerEventSourceUnitTest.EventListenerTest\" /><Add Test=\"UAOOI.Networking.ReferenceApplication.UnitTest.MEF.BootstrapperBaseUnitTest.RegisterFrameworkExceptionTypesShouldRegisterActivationException\" /><Add Test=\"UAOOI.Networking.SemanticData.UnitTest.UABinaryEncoderImplementationUnitTest.VariantByteStringTestMethod\" /><Add Test=\"UAOOI.Networking.SemanticData.UnitTest.AssociationUnitTest.AssociationStateEnableTestMethod\" /><Add Test=\"UAOOI.Networking.DataRepository.AzureGateway.Test.PartBindingFactoryUnit.GetConsumerBindingSerializationTest\" /><Add Test=\"UAOOI.Networking.DataRepository.AzureGateway.Test.Diagnostic.AzureGatewaySemanticEventSourceUnitTest.ConstructorTest\" /><Add Test=\"UAOOI.Networking.SemanticData.UnitTest.ConsumerBindingMonitoredValueUnitTest.ToStringCLRArrayRankErrorTestMethod\" /><Add Test=\"UAOOI.Networking.SemanticData.UnitTest.UABinaryDecoderImplementationUnitTest.VariantGuidTestMethod\" /><Add Test=\"UAOOI.Networking.SemanticData.UnitTest.AssociationUnitTest.AssociationInitializeMethod\" /><Add Test=\"UAOOI.Networking.SemanticData.UnitTest.ConsumerDeviceSimulatorUnitTest.ConsumerDeviceSimulatorTestMethod\" /><Add Test=\"UAOOI.Networking.SemanticData.UnitTest.AssociationUnitTest.AssociationCreatorTestMethod2\" /><Add Test=\"UAOOI.Networking.SemanticData.UnitTest.ProducerBindingMonitoredValueUnitTest.WrongInitializationTestMethod\" /><Add Test=\"UAOOI.Networking.UDPMessageHandler.UnitTest.Diagnostic.UDPMessageHandlerSemanticEventSourceUnitTest.GetIMessageHandlerTest\" /><Add Test=\"UAOOI.Networking.SemanticData.UnitTest.UABinaryDecoderImplementationUnitTest.GuidTestMethod\" /><Add Test=\"UAOOI.Networking.DataRepository.DataLogger.Diagnostic.DataLoggerEventSourceUnitTest.ProgramFailureTest\" /><Add Test=\"UAOOI.Networking.DataRepository.DataLogger.Diagnostic.DataLoggerEventSourceUnitTest.ConstructorTest\" /><Add Test=\"UAOOI.Networking.SemanticData.UnitTest.ConsumerBindingMonitoredValueUnitTest.ToStringCLRArrayTestMethod\" /><Add Test=\"UAOOI.Networking.Simulator.Boiler.UnitTest.AddressSpace.PropertyStateUnitTest.ValueTest\" /><Add Test=\"UAOOI.Networking.SemanticData.UnitTest.PacketHeaderUnitTest.ProtocolVersionTestMethod\" /><Add Test=\"UAOOI.Networking.SemanticData.UnitTest.UABinaryDecoderImplementationUnitTest.ArrayOneDimensionByteStringVariantTest\" /><Add Test=\"UAOOI.Networking.SemanticData.UnitTest.DataManagementSetupUnitTest.RunTestMethod\" /><Add Test=\"UAOOI.Networking.SemanticData.UnitTest.Diagnostics.ReactiveNetworkingEventSourceUnitTest.MessageInconsistencyTest\" /><Add Test=\"UAOOI.Networking.DataRepository.AzureGateway.Test.PartConfigurationFactoryUnitTest.Constructor\" /><Add Test=\"UAOOI.Networking.Simulator.Boiler.UnitTest.Model.BoilersSetUnitTest.ConstructorTest\" /><Add Test=\"UAOOI.Networking.DataRepository.AzureGateway.Test.RepositoryGroupUnitTest.ConstructorTest\" /><Add Test=\"UAOOI.Networking.SemanticData.UnitTest.HeaderWriterUnitTest.CreatorTestMethod\" /><Add Test=\"UAOOI.Networking.ReferenceApplication.UnitTest.MEF.DefaultServiceRegistrarUnitTest.RegisterRequiredServicesIfMissingTest\" /><Add Test=\"UAOOI.Networking.ReferenceApplication.UnitTest.Diagnostic.ReferenceApplicationEventSourceUnitTest.ReferenceApplicationEventSourceExtensionsTest\" /><Add Test=\"UAOOI.Networking.ReferenceApplication.UnitTest.MEF.DefaultServiceRegistrarUnitTest.RegisterRequiredServicesIfMissingNullArgumentTestM\" /><Add Test=\"UAOOI.Networking.DataRepository.DataLogger.Diagnostic.DataLoggerEventSourceUnitTest.DisposeTestMethod\" /><Add Test=\"UAOOI.Networking.SemanticData.UnitTest.PacketHeaderUnitTest.ConsumerWritePacketHeaderTestMethod\" /><Add Test=\"UAOOI.Networking.SemanticData.UnitTest.MessageWriterBaseTest.CreatorTestMethod1\" /><Add Test=\"UAOOI.Networking.SemanticData.UnitTest.ConsumerBindingUnitTest.DataRepositoryTestMethod\" /><Add Test=\"UAOOI.Networking.SemanticData.UnitTest.ProducerBindingMonitoredValueUnitTest.GetNewValueTestMethod2\" /><Add Test=\"UAOOI.Networking.Simulator.Boiler.UnitTest.Model.BoilerDrumStateUnitTest.Constructor2TestMethod\" /><Add Test=\"UAOOI.Networking.SemanticData.UnitTest.OPCUAServerProducerSimulatorUnitTest.CreatorTestMethod\" /><Add Test=\"UAOOI.Networking.UDPMessageHandler.UnitTest.Configuration.UDPReaderConfigurationUnitTest.UDPReaderConfigurationTest\" /><Add Test=\"UAOOI.Networking.UDPMessageHandler.UnitTest.Configuration.IPAddressValidationRuleUnitTest.WrongMulticast240_255_255_255_TestMethod\" /><Add Test=\"UAOOI.Networking.DataRepository.AzureGateway.Test.Diagnostic.AzureGatewaySemanticEventSourceUnitTest.ProgramFailureTest\" /><Add Test=\"UAOOI.Networking.UDPMessageHandler.UnitTest.Diagnostic.UDPMessageHandlerSemanticEventSourceUnitTest.UDPMessageHandlerSemanticEventSourceTest\" /><Add Test=\"UAOOI.Networking.SemanticData.UnitTest.UABinaryDecoderImplementationUnitTest.ArrayOneDimensionVariantTest\" /><Add Test=\"UAOOI.Networking.DataRepository.DataLogger.ConsumerConfigurationFactoryUnitTest.ConfigurationFileExistsTest\" /><Add Test=\"UAOOI.Networking.UDPMessageHandler.UnitTest.BinaryUDPPackageReaderTestClass.ExclusiveAddressUseTrueTestMethod\" /><Add Test=\"UAOOI.Networking.SemanticData.UnitTest.ProducerBindingUnitTest.CreatorTestMethod1\" /><Add Test=\"UAOOI.Networking.SemanticData.UnitTest.BinaryDecoderUnitTest.DisposeTest\" /><Add Test=\"UAOOI.Networking.UDPMessageHandler.UnitTest.Configuration.IPAddressValidationRuleUnitTest.WrongAddressTestMethod\" /><Add Test=\"UAOOI.Networking.SemanticData.UnitTest.ConsumerBindingUnitTest.RecordingRepositoryTestMethod\" /><Add Test=\"UAOOI.Networking.SemanticData.UnitTest.UABinaryEncoderImplementationUnitTest.VariantArrayOfByteStringsTestMethod\" /><Add Test=\"UAOOI.Networking.SemanticData.UnitTest.AssociationUnitTest.ConsumerAssociationCreatorTestMethod\" /><Add Test=\"UAOOI.Networking.SemanticData.UnitTest.BinaryDecoderUnitTest.DataTransferTest\" /><Add Test=\"UAOOI.Networking.SemanticData.UnitTest.UABinaryEncoderImplementationUnitTest.ArrayMultiDimensionTest\" /><Add Test=\"UAOOI.Networking.ReferenceApplication.UnitTest.MEF.BootstrapperBaseUnitTest.LoggerDefaultsToNull\" /><Add Test=\"UAOOI.Networking.DataRepository.AzureGateway.Test.RepositoryGroupUnitTest.GetConsumerBindingJsonSerializationTest\" /><Add Test=\"UAOOI.Networking.Simulator.Boiler.UnitTest.DataGeneratorUnitTest.DefaultConstructorTest\" /><Add Test=\"UAOOI.Networking.Simulator.Boiler.UnitTest.Model.CustomControllerStateUnitTest.ConstructorTest\" /><Add Test=\"UAOOI.Networking.SemanticData.UnitTest.ProducerAssociationUnitTest.AddMessageWriterTestMethod\" /><Add Test=\"UAOOI.Networking.Simulator.Boiler.UnitTest.Model.BoilerStateUnitTest.RegisterVariableTest\" /><Add Test=\"UAOOI.Networking.SemanticData.UnitTest.ProducerBindingUnitTest.GetNewValueTestMethod\" /><Add Test=\"UAOOI.Networking.Simulator.Boiler.UnitTest.Model.BoilerDrumStateUnitTest.ConstructorTestMethod\" /><Add Test=\"UAOOI.Networking.SemanticData.UnitTest.MessageHeaderUnitTest.ConsumerMessageHeaderTestMethod\" /><Add Test=\"UAOOI.Networking.SemanticData.UnitTest.UABinaryEncoderImplementationUnitTest.GuidTestMethod\" /><Add Test=\"UAOOI.Networking.SemanticData.UnitTest.ConsumerBindingMonitoredValueUnitTest.ToStringScalarTestMethod\" /><Add Test=\"UAOOI.Networking.DataRepository.AzureGateway.Test.PartDataManagementSetupUnitTest.ConstructorTest\" /><Add Test=\"UAOOI.Networking.UDPMessageHandler.UnitTest.Configuration.IPAddressValidationRuleUnitTest.WrongMulticast223_0_0_0_TestMethod\" /><Add Test=\"UAOOI.Networking.SemanticData.UnitTest.PacketHeaderUnitTest.ConsumerPacketHeaderTestMethod\" /><Add Test=\"UAOOI.Networking.SemanticData.UnitTest.ConsumerBindingMonitoredValueUnitTest.ConstructorTest\" /><Add Test=\"UAOOI.Networking.SemanticData.UnitTest.PacketHeaderUnitTest.GetConsumerPacketHeaderTestMethod\" /></Playlist>"
  },
  {
    "path": "OPCUAMainTechnologyFeatures.md",
    "content": "# OPC UA Main Technology Features\n\n## Introduction\n\nOne of the main goals of the [OPC Unified Architecture](OPCUnifiedArchitecture.md) is to provide a consistent mechanism for the integration of process control and management systems. It is assumed that it should be robust and the implementation should be platform independent. In this section, I will examine technologies and paradigms used as a foundation for the development of the OPC UA standard and discuss their impact on the final result.\n\n## Object Oriented Information Model\n\nTo make systems interoperable, the data transfer mechanism must be associated with a consistent information representation model. OPC UA uses an object as a fundamental notion to represent data and activity of an underlying system. The objects are placeholders of variables, events, and methods and are interconnected by references. This concept is similar to well-known object-oriented programming (OOP) that is a programming paradigm using \"objects\" – data structures consisting of fields, events and methods – and their interactions to design applications and computer programs. The OPC UA Information Model provides features such as data abstraction, encapsulation, polymorphism, and inheritance.\n\nThe OPC UA object model allows servers to provide type definitions for objects and their components. Type definition may be abstract and may be inherited by new type to reflect polymorphism. They may also be common or they may be system-specific. Object types may be defined by standardization organizations, vendors or end-users.\n\nThe Information Model is a very powerful concept, but it is abstract and hence, in a real environment, it must be implemented in terms of bit streams (to make information transferable) and addresses (to make information selectively available). To meet this requirement, OPC UA introduces a Node notion as an atomic addressable entity that consists of attributes (value-holders) and references (address-holders of coupled nodes). The set of Nodes that an OPC UA Server makes available to clients is referred to as its Address Space, which enables the representation of both real process environment and real-time process behavior. The Address Space is described in depth in the [OPC UA eBook][CAS.EBOOK].\n\nEach of the previous OPC Classic specifications defined their own address space model and their own set of services. OPC UA unifies the previous models into a single integrated Address Space with a single set of services.\n\nA detailed description of this topic is covered by the section [*Semantic-Data Processing Architecture*][SDPA]. This section is an executive summary targeting the new concept called `Semantic-data` derived from the OPC Unified Architecture address space model.\n\n## Service Oriented Architecture\n\nAt the very beginning of new solution development, we must address a question about its fundamental paradigms and architecture. OPC Classic is based on the functionality provided by an operating system and is actually an instruction on how to use the functionality to interconnect participants of the data exchange. This was recognized as one of the drawbacks making the lifetime of the OPC Classic standard dependent on the lifetime of the technology it is based on.\n\nObserving continuous evolution of the IT domain, it seems that finding a solution that will guarantee an unlimited lifetime is a real challenge. However, decoupling the solution from any base technology increases the chance of it surviving the disappearance of the base technology from the market. Developing services and deploying them using a [Service Oriented Architecture](https://en.wikipedia.org/wiki/Service-oriented_architecture) (SOA) is the best way to invent IT systems to meet this challenge. A service differs from an object or a procedure because it is defined by messages that it exchanges with other services. SOA defines the way in which services are deployed and managed. Using an SOA approach leverages the solution re-usage, lowers overall cost, and improves the ability to rapidly change and evolve systems, whether old or new.\n\nTo make systems interoperable, any even brilliant idea is not enough. We need a data transfer technology, however – when defining data exchange in the context of messages – we do not need to bother with the different technologies used by the participants as long as they can absorb the messages.\n\nToday, an ideal platform for the SOA concept implementation is Web Service technologies. They represent the most widely adopted distributed computing standards in industry history. Web Services are a set of specifications based on XML ([eXtensible Markup Language](https://en.wikipedia.org/wiki/XML)) and developed by W3C \\( [World Wide Web Consortium](https://www.w3.org/) \\). Those standards are generally marked with a WS-\\* symbol. Because the WS-\\* standards are developed without any initial assumption concerning the underlying system platform they are implemented on, they, therefore, must precisely define what must be on the \"wire\".\n\nThe WS-\\* standards are the basic foundation for OPC UA but, using them alone, would not be enough to reach the expected data throughput performance in industrial applications. The OPC UA suite of protocols, therefore, expands the WS-\\* standards by defining a few proprietary ones that can be used alternatively. OPC UA messages may be encoded as an XML text or in binary format for efficiency purposes. They may be transferred using multiple underlying kinds of transport, for example, TCP or SOAP over HTTP. Clients and servers that support multiple kinds of transport and encodings will allow end users to make decisions about tradeoffs between performance and XML Web Services compatibility at the time of deployment, rather than having these tradeoffs determined by the OPC vendor at the time of product selection.\n\n## Abstraction and Mapping\n\nTo make systems interoperable, the data transfer mechanism must be associated with a consistent information representation model. OPC UA uses an object as a fundamental notion to represent data and activity of an underlying system. The objects are placeholders of variables, events, and methods and are interconnected by references. This concept is similar to well-known object-oriented programming (OOP) that is a programming paradigm using \"objects\" – data structures consisting of fields, events and methods – and their interactions to design applications and computer programs. The OPC UA Information Model provides features such as data abstraction, encapsulation, polymorphism, and inheritance.\n\nThe OPC UA object model allows servers to provide type definitions for objects and their components. Type definition may be abstract and may be inherited by new type to reflect polymorphism. They may also be common or they may be system-specific. Object types may be defined by standardization organizations, vendors or end-users.\n\nThe Information Model is a very powerful concept, but it is abstract and hence, in a real environment, it must be implemented in terms of bit streams (to make information transferable) and addresses (to make information selectively available). To meet this requirement, OPC UA introduces a Node notion as an atomic addressable entity that consists of attributes (value-holders) and references (address-holders of coupled nodes). The set of Nodes that an OPC UA Server makes available to clients is referred to as its Address Space, which enables the representation of both real process environment and real-time process behavior. The Address Space is described in depth in the [OPC UA eBook][CAS.EBOOK].\n\nEach of the previous OPC Classic specifications defined their own address space model and their own set of services. OPC UA unifies the previous models into a single integrated Address Space with a single set of services.\n\n## Security\n\nSecurity is a fundamental aspect of computer systems, in particular, those dedicated to enterprise and process management. Especially in this kind of application, security must be robust and effective. Security infrastructure should also be flexible enough to support a variety of security policies required by different organizations. OPC UA may be deployed in diverse environments; from clients and servers residing on the same hosts, throughout hosts located on the same operation network protected by the security boundary protections that separate the operation network from external connections, up to applications running in global environments using public network infrastructure. Depending on the environment and application requirements, the communication services must provide different protections to make the solution secure, therefore OPC UA specification must offer scalability.\n\nOPC UA Security is concerned with the authentication of clients and servers, the authorization of users, the integrity and confidentiality of their communications and the auditing of client-server interactions. To meet this goal, security is integrated into all aspects of the design and implementation of OPC UA Servers and Clients. The OPC Foundation has also addressed the security issues that arise from implementation. This includes independent reviews of all aspects of security starting from the design of in-depth security provided by the specification (which is built and model on the WS* specifications); to the actual implementation provided by the OPC Foundation. The OPC Foundation has chosen to use industry-standard security algorithms and industry standard security libraries to implement OPC UA Security.\n\nSecurity mechanisms can be provided by diverse communication layers. Transport-level security is a solution limited to point-to-point messaging. In this case, messages can be protected by establishing a secure connection (association) between two hosts using for example Transport Layer Security (TLS) or IPSec protocols. But, if intermediaries are present when using secure transport, the initial sender and the ultimate receiver need to trust those intermediaries to help provide end-to-end security, because each hop is secured separately. In addition to explicit trust of all intermediaries, other risks such as local storage of messages and the potential for an intermediary to be compromised must be considered. Thus, using only transport security limits the robustness of the security solution to transport-specific features. For OPC UA over the session communication, the security association must survive beyond a single transport connection.\n\nTo meet the above requirements, the OPC UA security architecture is defined as a generic solution that allows the implementation of the required security features at various places in the application architecture. The OPC UA security architecture is structured in an application layer and a communication layer atop the transport layer.\n\nThe routine work of a client application and a server application to transmit plant information, settings, and commands is done in a session in the application layer. The application layer also manages user authentication and user authorization. OPC UA Client and Server applications identify and authenticate themselves with X.509 Certificates. Clients pass a user identity token to the OPC UA Server. The OPC UA Server authenticates the user token. Applications accept tokens in any of the following three forms: user-name/password, an X.509v3 certificate or a WS-SecurityToken\n\nA session in the application layer communicates over a secure channel that is created in the communication layer and relies upon it for secure communication. All of the session data is passed to the communication layer for further processing. The secure channel is responsible for messages integrity, confidentiality, and applications authentication.\n\nOPC UA uses symmetric and asymmetric encryption to protect confidentiality as a security objective. OPC UA relies upon the site cyber security management system to protect confidentiality on the network and system infrastructure and utilizes the Public Key Infrastructure to manage keys used for symmetric and asymmetric encryption. OPC UA uses symmetric and asymmetric signatures to address integrity as a security objective.\n\n## Profiles\n\nOPC UA is designed to support a variety of applications, from plant-floor PLCs to enterprise servers. Those applications require a variety of execution platforms and functional capabilities. Therefore, OPC UA defines a comprehensive set of capabilities, of which applications may implement a subset of. These subsets are referred to as Profiles, and applications may claim conformance to them. Clients can then discover the Profiles for a Server, and tailor their interactions with that server based on the Profiles. The client also contains Profiles which allow the end user the ability to match up server profiles to client profiles, making it easier to ensure that diverse clients and servers will interoperate. Servers can also discover these client profiles and could tailor their response to the client based on the client profile.\n\n## Robustness\n\nOPC UA is designed to provide robustness of published data. The major feature of all OPC UA Servers is the ability to publish data and event notifications. OPC UA provides mechanisms for clients to quickly detect and recover from communication failures associated with transfers without having to wait for long timeouts provided by the underlying protocols.\n\nThe design of OPC UA ensures that vendors can create redundant clients and redundant servers in a consistent manner. Redundancy may be used for high availability, fault tolerance, and load balancing. Generally, we can distinguish redundancy of servers/clients, communication paths and signals. Although the specification provides support only for client/server redundancy, product vendors can incorporate all kinds of redundancy into the framework proposed by the specification. For example, a server can establish a wireless connection as the means of recovery from cable connection failure or a server can use many data sources bound to a variable to provide continuous updating of the variable value even if one of the sensors has been damaged.\n\nOPC UA requires a stateful model as the next feature that increases the solution robustness. State information is maintained inside an application session. Examples of state information are subscriptions, user credentials and continuation points for operations that span multiple requests.\n\nSessions are defined as logical connections between clients and servers. What is worth stressing, each session is independent of the underlying communications protocols. Failures of these protocols do not automatically cause the session to terminate. Sessions terminate based on:\n\n- a client or server request\n- the inactivity of the client\n\n## See also\n\n- [1] [OPC UA Address Space Model Designer][CAS.ASMD]\n- [2] [OPC Unified Architecture e-book, 2010][CAS.EBOOK]\n- [3] [Part 5: Information Model, OPC Foundation, Rel. 1.04, 2017-11-22][OPC.UA.Part5]\n- [4] [Semantic-Data Processing Architecture][SDPA]\n\n[SDPA]:SemanticData/README.MD\n[OPC.UA.Part5]:https://opcfoundation.org/developer-tools/specifications-unified-architecture/part-5-information-model/\n[CAS.ASMD]: https://github.com/mpostol/ASMD\n[CAS.EBOOK]:https://commsvr-com.github.io/Documentation/ModelDesigner/html/a2d55988-b59a-4a87-95b9-933f6bbdf5bd.htm\n"
  },
  {
    "path": "OPCUnifiedArchitecture.md",
    "content": "# OPC Unified Architecture\n\n## Introduction\n\nOPC Unified Architecture (OPC UA) is described in a layered set of specifications broken into parts. It is purposely described in abstract terms and only in selected parts coupled to existing technology on which software can be built. This layering is intentional and helps isolate changes in OPC UA from changes in the technology used to implement it.\n\nThe OPC UA specifications are organized as a multipart document comprising the following sets:\n\n- Core specification\n- Access type specification\n- Utility specification\n\nThe first set specifies the core capabilities of OPC UA. Those core capabilities define the concept and structure of the Address Space and the services that operate on it. The access type set applies those core capabilities to specific models of data access. Like in OPC Classic, there are distinguished: Data Access (DA), Alarms and Conditions (A&C) and Historical Access (HA). A new access mode is provided as a result of introducing the programs concept and aggregation mechanisms. This set also specifies the UA server discovery process. Those mechanisms are not directly dedicated to support data exchange, but play a very important role in the whole interoperability process.\n\nThe core set contains the following specifications ([References]):\n\n- Part 1 – Overview and Concepts: presents the concepts and overview of OPC Unified Architecture.\n- Part 2 – Security Model: describes the model for securing interactions between OPC UA clients and servers.\n- Part 3 – Address Space Model: describes an object model that servers use to expose underlying real-time processes to create an OPC UA connectivity space.\n- Part 4 – Services: specifies the services provided by OPC UA servers.\n- Part 5 – Information Model: specifies information representations - types that OPC UA servers use to expose underlying real-time processes.\n- Part 6 – Mappings: specifies transport mappings and data encoding supported by OPC UA.\n- Part 7 – Profiles: introduces the concept of profiles and defines available profiles that are groups of services or functionality.\n\nThe access type set contains the following specifications:\n\n- Part 8 – Data Access: specifies the use of OPC UA for data access.\n- Part 9 – Alarms and Conditions: specifies the use of OPC UA support for accessing alarms and conditions.\n- Part 10 – Programs: specifies OPC UA support for accessing programs.\n- Part 11 – Historical Access: specifies the use of OPC UA for historical access. This access includes both historical data and historical events.\n\nThe utility specification parts contain the following specifications:\n\n- Part 12 – Discovery: introduces the concept of the Discovery Server and specifies how OPC UA clients and servers should interact to recognize OPC UA connectivity.\n- Part 13 – Aggregates: describes ways of aggregating data.\n- Part 14 - PubSub This specification defines the OPC Unified Architecture (OPC UA) PubSub communication model. The PubSub communication model defines an OPC UA publish-subscribe pattern instead of the client-server pattern defined by the Services in Part 4.\nPart 100: Device Information Model.  Companion Specification featuring an Information Model for Devices.\n\n## Overview and Concepts\n\nThis part describes the goal of OPC UA and introduces the following models to achieve it:\n\n- Address Space (Section [Address Space and Address Space Model]) and Information Model (Section [UA Information Model - Concept]) to represent structure, behavior, semantics, and infrastructure of the underlying real-time system.\n- Message model to interact between applications.\n- Communication models to transfer data over the network.\n- Conformance model to guarantee interoperability between systems.\n- Security model to guarantee cyber security addressing client/server authorization, data integrity and encryption.\n\n## Security Model\n\nThis part describes the OPC UA security model. OPC UA provides countermeasures to resist threats that can be made against the environments in which OPC UA will be deployed. It describes how OPC UA relies upon other standards for security. The proposed architecture is structured in an application layer and a communication layer. Introduced security policies specify which security mechanisms are to be used. The server uses security policies to announce what mechanisms it supports and the client - to select one of those available policies to be used when establishing the connection.\n\n## Address Space\n\nThere is no doubt that information technology and process control engineering have to be integrated to benefit from macro optimization and synergy effect. To integrate them, we must make systems interoperable. It causes the necessity of exchanging information, but to exchange information, it has to be represented as computer centric (saveable in a binary memory) and transferable (a stream of bits) data. According to the specification, a set of objects that an OPC UA server makes available to clients as data representing an underlying real-time system is referred to as its Address Space ((Section [Address Space and Address Space Model])). The breaking feature of the Address Space concept allows representing both real process environment and real-time process behavior - by a unique means, mutually understandable by diverse systems.\n\n## Services\n\nThe OPC UA services described in this part are a collection of abstract remote procedure calls that is to be implemented by the servers and called by the clients. The services are considered abstract because no particular implementation is defined in this part. The part Mappings describes more specific mappings supported for implementation. Separation of the service definition and implementation allows for harmonization with new emerging technologies by making new mappings.\n\n## Information Model\n\nTo make the data exposed by the Address Space mutually understandable by diverse systems, the information model (Section [UA Information Model - Concept]) part standardizes the information representation as computer centric data. To promote interoperability, the standard information model (Section [Standard Information Model]) defines the content of the Address Space of the OPC UA server. This content can be used as a starting browse point to discover all information relevant to any client. Definitions provided in this part are considered abstract because they do not define any particular representation on the wire. To make the solution open for new technologies, the representation mappings are postponed to the part Mappings. The solution proposed in this model is also open to defining vendor specific representations.\n\n## Mappings\n\nThis part defines mappings between abstract definitions contained in the specification (e.g. in the parts: Information Model, Services, Security Model) and technologies that can be used to implement them. Mappings are organized into three groups: data encoding, security protocols and transport protocols. Different mappings are combined together to create stack profiles.\n\n## Profiles\n\nThis part describes the OPC UA profiles as groups of services or functionality that can be used for conformance level certification. Individual features are grouped into conformance units, which are further grouped into profiles. All OPC UA applications shall implement at least one stack profile and can only communicate with other OPC UA applications that implement the same stack profile. Servers and clients will be tested against the profiles. Servers and clients must be able to describe which of the features they support.\n\n## Data Access\n\nThis part describes the information model associated with the Data Access (DA) mode. It particularly includes an additional definition of variable types and a complementary description of Address Space objects. This part also includes additional descriptions of node classes and attributes needed for DA, as well as DA specific usage of services to access process data.\n\n## Alarms and Conditions\n\nThis part describes the representation of events and alarms in the OPC UA Address Space and introduces the concepts of condition, dialog, acknowledge-able condition, configure-able condition and alarm. To expose above information, it extends the information model defined in other parts and describes alarm specific uses of services.\n\n## Programs\n\nThis part extends the notion of methods and introduces the concept of programs as a complex, stateful functionality in a server or underlying system that can be invoked and managed by a OPC UA client. The provided definitions describe the standard representation of programs as part of the OPC Unified Architecture information model. The specific use of services is also discussed.\nHistorical Access\n\nThis part describes an extension of the information model associated with Historical Access (HA). It particularly includes additional and complementary definitions of the representation of historical time series data and historical event data. Additionally, this part covers HA specific usage of services to detect and access historical data and events.\n\n## Discovery\n\nThe main aim of this part is to address the discovery process that allows the clients to first find servers on the network and then find out how to connect to them. This part describes how UA clients and servers interact to exchange information on resources available on the network in different scenarios. To achieve this goal, there are introduced the concepts of a discovery server that is a placeholder of global scope information and a local discovery server, whose main task is to manage information vital to local resources. Finally, this part describes how to discover UA applications when using common directory service protocols such as UDDI and LDAP.\n\n## Aggregates\n\nThis part specifies the information model associated with aggregates and describes how to compute and return aggregates like minimum, maximum, average etc. Aggregates can be used with base (live) data as well as historical (HA) data. This part also addresses the aggregate specific usage of services.\n\n## Conclusion\n\nAll of the features presented in this section are very important for assessing the specification against particular requirements vital for industrial IT application domain. For the rest of this paper they can be recognized as **must have option** to be surrounded by tools and deployment methodology to finally produce a widely accepted powerful technology. To meet the goal of this paper we will focus on the information representation rules proposed by this standard and methodology of practical deployment thereof. In this context there are two fundamental concepts introduced by the OPC UA specification:\n\n- Address Space Model – all about exposing information in a standard way\n- Information Model – all about unambiguous, computer centric definition of information\n\n## See also\n\n- [Address Space and Address Space Model]\n- [UA Information Model - Concept]\n- [Standard Information Model]\n- [OPC UA Main Technology Features]\n- [OPC Unified Architecture - Main Technological Features](http://wp.me/p3MGZj-i)\n- [OPC UA Makes Smart Factory Possible](http://mpostol.wordpress.com)\n- [References]\n\n[Standard Information Model]:SemanticData/StandardInformationModel.md\n[Address Space and Address Space Model]:SemanticData/AddressSpaceAddressSpaceModel.md\n[UA Information Model - Concept]:SemanticData/InformationModelConcept.md\n[OPC UA Main Technology Features]:OPCUAMainTechnologyFeatures.md\n[References]:REFERENCES.md\n"
  },
  {
    "path": "Preface.md",
    "content": "# Introduction to Object-Oriented Internet\n\n## Preface\n\nThe industrial IT applications domain is an integrated set of ICT (Information and Communication Technologies) systems. System integration means the necessity of the information exchange between them (the nodes of a common domain). \n\nThe main aim of this project is to present a new emerging engineering discipline as a synergy between systematic design methodology and available tools. Bothering about information processing is usually a subject recognized as research and development activity. Engaging R&D activity to provide information processing solutions has many drawbacks. It requires distinct skills and, in consequence, solving a problem and deploying the solution must be carried out as two independent phases. It is not efficient and, therefore, very expensive and risky. The Object-Oriented Internet concept addresses this problem, namely it proposes an architecture, services, tools, and information modeling consistent concepts with the goal to allow vendors to release out-of-the-box products ready to be used by engineers. The above-mentioned issues could be overcome by reusability and unification.\n\nThe main challenge of this project is to converge the methodology and tools development to eliminate research and programming needs.\n\nThis project is dedicated to process architects and software developers to help them deploy the real-time process state and behavior description as a ready to use solution in a real production environment and use this description to integrate the process as a consistent part of a selected Industrial IT application domain.\n\nTo comply with the Industry 4.0 communication criterion, even the lowest category requires the product to integrate at least the OPC Unified Architecture Information Model. As a result, any product being advertised as Industry 4.0-enabled must be OPC UA-capable somehow. The OPC Unified Architecture (UA) technology (Section [OPC UA Main Technology Features]) is selected because:\n\n- it is Internet-based technology\n- it supports the client-server and publisher-subscriber communications relationship\n- it is a platform neutral standard allowing easy implementation on any system including embedded systems\n- it is designed to support complex data types and object models (structural data)\n- it is designed to achieve high-speed data transfers using efficient binary data encoding/decoding\n- it is scalable from embedded applications up to the process control and enterprise management/operation systems\n- it has broad industry support and is being used in support of other industry standards such as ISA S95, ISA S88, EDDL, MIMOSA, OAGiS, etc.\n\nConsidering the above-defined requirements and OPC UA main technology features (Section [OPC UA Main Technology Features]) as a starting point for further discussion a generic architecture is proposed (Section [Semantic-Data Processing Architecture]) that allows designing robust real-time globally scoped distributed systems against the cyber-physical systems paradigm called Industry 4.0.\n\nTo deploy the Industry 4.0 paradigm additionally the data holder mobility behavior must be incorporated. This way we have entered the domain of Internet applications coined as the Internet of Things (IoT) (Section [Internet of Things (IoT) Communication]). One of the arguments for an Internet of Things is allowing distributed yet interlinked devices, machines, and objects (data holders) to interact with each other without relying on human intervention to set-up and commission the embedded intelligence. In this context, the IoT is all about:\n\n- mobile data fetching - how to gather data from mobile things (data holders)\n- mobile data distribution - how to transfer the data over the Internet to a place where it could be processed\n- mobile data processing - how to integrate consistently the partial data into a selected application as one whole to improve process behavioral performance\n\nOn the foundation of this model, selected interoperability deployment issues and available solutions are being researched in the project. The discussion is focused on the issues related to:\n\n- meaningful data transfer based on reactive and interactive parties relationship\n- data oriented architecture\n- underlying process data binding\n- data discovery\n- data security\n\n> OPC Unified Architecture is a suit of standardization documents so more research is required to achieve a synergy between systematic design methodology and available tools compliant with this specification.\n\n## See also\n\n- [OPC UA Main Technology Features]\n- [Semantic-Data Processing Architecture]\n- [Internet of Things (IoT) Communication]\n\n[Internet of Things (IoT) Communication]:Networking/README.MD\n[Semantic-Data Processing Architecture]:SemanticData/README.MD \n[Address Space and Address Space Model]:SemanticData/AddressSpaceAddressSpaceModel.md\n[UA Information Model - Concept]:SemanticData/InformationModelConcept.md\n[OPC UA Main Technology Features]:OPCUAMainTechnologyFeatures.md\n[References]:REFERENCES.md\n\n\n\n\n"
  },
  {
    "path": "README.MD",
    "content": "# Object-Oriented Internet\r\n\r\n## Preface\r\n\r\n### Object-Oriented Internet - Machines to Machine Meaningful Interoperability\r\n\r\nIt is said that we are or soon will be citizens of a global village - a world considered as a single community linked by telecommunications. All applications designed atop of network communication can be grouped as follows:\r\n\r\n- **human-centric** - applications where the information origin or information destination is an operator\r\n- **machine-centric** - applications where information creation, consumption, networking, and processing are achieved entirely without human interaction\r\n\r\nA typical **human-centric** approach is web-service supporting, for example, online bank account management. In this case, it is essential that any uncertainty and necessity to make a decision can be relaxed by human interaction. Coordination of multi-robot behavior in a work-cell or autonomous cars entering a service area fulfills the **machine-centric** scenario. It is crucial that, in this case, any human interaction is impractical or even impossible. **This interoperability scenario requires a machine to machine communication (M2M) demanding multi-vendor devices integration**.\r\n\r\nThe human-centric global village is almost done. However, the machine-centric global village still needs design and development effort. Information and Communication Technology (ICT) has provided society with a vast variety of distributed machine-oriented applications including the meaningful Machine to Machine (M2M) communication targeting distributed mobile applications in the context of new emerging disciplines, i.e. Industry 4.0 (I40) and Internet of Things (IoT). However, it is a real challenge if the mentioned machines are provided by a vast variety of vendors. The real challenge we are facing is how to produce independently smart things (i.e. machines, devices, appliances, assets, etc.) to guarantee that they are plug and produce ready. There are no doubts, it requires standardization. I believe that while producing the machines in compliance with the OPC Unified Architecture this issue is relaxed by applying the following OPC UA standardized concepts:\r\n\r\n- **Information Model** - all about how to design a formal but mutually meaningful and shareable description of the considered process\r\n- **Address Space** - all about how to instantiate and expose to the network a life replica of the process providing real-time data according to the above-mentioned formal description\r\n\r\nThe standardization process may be \"paper-driven\" or \"community-driven\". In both cases, standardization is indispensable but not sufficient. Let me recall that the foundation for the human-centric global village is just the Internet Protocol defined in 1981 and derived from the academic abstract knowledge and practitioners' concrete experience. It is worth stressing that it was published as an open-access document (RFC 791) and it has not been deprecated yet.\r\n\r\nThis umbrella project targets multi-vendor plug-and-produce machines interoperability scenarios targeting all aspects of the machine-centric global village concept aimed at providing reusable deliverables, training, best practice rules, prototyping, compliance testing and dissemination of valuable results.\r\n\r\nI am a researcher who is passionate about applying knowledge and experience in building a machine-centric global village. Let's build it with you and for you. To join our effort and create an organization context I have launched the [**Object-Oriented Internet Partnership Program**](https://github.commsvr.com/AboutPartnershipProgram.md.html).\r\n\r\n> Consider joining as a sponsor, contributor or end-user. Details are covered by the section [**How to be involved**](https://github.commsvr.com/AboutPartnershipProgram.md.html#how-to-be-involved)\r\n>\r\n> Your participation is needed to make sure the work will continue as expected.\r\n\r\n### What is Object Oriented Internet\r\n\r\nIn this project, C\\# deliverables supporting a new Machine To Machine \\(M2M\\) communication approach based on the **Data-Oriented Architecture** (DOA) paradigm is to be researched. The goal is to provide a generic solution for publishing and updating information in a context that can be used to describe and discover it by software applications. It is implemented based on the [OPC Unified Architecture][wordpress.OPCUAMTF] (OPC UA)- an industrial integration standard that fulfills the proposed architecture requirements.\r\n\r\nThe [Object Oriented Internet](https://fedcsis.org/proceedings/2015/pliks/160.pdf) article published in **Proceedings of the Federated Conference on Computer Science and Information Systems** captures description of this idea.\r\n\r\n|                                                                  Go To                                                                  | Description                                                                                                                                               |\r\n| :-------------------------------------------------------------------------------------------------------------------------------------: | --------------------------------------------------------------------------------------------------------------------------------------------------------- |\r\n| [![Release](https://img.shields.io/github/release/mpostol/OPC-UA-OOI.svg?style=popout)](https://github.com/mpostol/OPC-UA-OOI/releases) | latest release                                                                                                                                            |\r\n|              [![ebook](https://img.shields.io/badge/OOI-read_on_Gitbook-brightgreen.svg)](https://commsvr.gitbook.io/ooi)               | the ebook **Object Oriented Internet** contains description of this project - it is auto-generated content gathered from *.md files from this repository. |\r\n|                [![DOI](https://zenodo.org/badge/DOI/10.5281/zenodo.1198852.svg)](https://doi.org/10.5281/zenodo.1198852)                | you can cite all versions by using the DOI 10.5281/zenodo.1198852. This DOI represents all versions, and will always resolve to the latest one.           |\r\n\r\n> Note: the DOI number is a unique identifying number associated with the repository version. Visit the section `How to cite the software and associated documentation files` to learn how to create derived works and cite the origin.\r\n\r\n### Keywords\r\n\r\n> *OPC, OPC UA, M2M communication, Client-Server, Publisher-Subscriber, Data Oriented Architecture, DOA, AMQP, MQTT, PubSub, OPC UA PubSub, Semantic-Data, Industry 4.0, I4.0, Internet Of Things, IoT, IIoT, Global Data Discovery, Security*\r\n\r\n### Releases\r\n\r\nWe use [Semantic Versioning](http://semver.org/) for versioning. For the versions available, see the [releases on this repository](https://github.com/mpostol/OPC-UA-OOI/releases). For your convenience, the versions of the repository, tools and NuGet packages has been listed in the next subsections.\r\n\r\n#### Repository\r\n\r\n|   Version   | Milestone                                                                                                                                                                                                             |                                                    DOI                                                    |     Date     |\r\n| :---------: | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :-------------------------------------------------------------------------------------------------------: | :----------: |\r\n|    6.1.2    | Azure Gateway Implementation 1.0                                                                                                                                                                                      | [![DOI](https://zenodo.org/badge/DOI/10.5281/zenodo.4361640.svg)](https://doi.org/10.5281/zenodo.4361640) | Dec 18, 2020 |\r\n|    5.1.0    | Semantic-Data ModelDesign Export 5.1.0                                                                                                                                                                                |                                          10.5281/zenodo.3345043                                           | Jul 21, 2019 |\r\n| 5.0.2-Alpha | Updated the UA Address Space build against OPC UA Specification 1.04; updated UANodeSet schema; added export to ModelDesign [OPC UA Address Space Prototyping](SemanticData/AddressSpaceComplianceTestTool/README.md) |                                          10.5281/zenodo.2636426                                           | Apr 11, 2019 |\r\n|    4.0.1    | .NET Standard implementation, documentation improved, new code help documentation available, tested against Xamarin.Android                                                                                           |                                          10.5281/zenodo.2555407                                           | Feb 1, 2019  |\r\n|    3.1.0    | New version of the UAOOI.Networking.ReferenceApplication, documentation has been improved.                                                                                                                            |                                          10.5281/zenodo.1291549                                           | Jun 17, 2018 |\r\n|    3.0.0    | DOI creation for the publication purpose.                                                                                                                                                                             |                                          10.5281/zenodo.1198853                                           | Mar 14, 2018 |\r\n\r\n#### Tools\r\n\r\nThe table below lists the latest versions of the published Tools.\r\n\r\n| Description                                                                                | Version |\r\n| ------------------------------------------------------------------------------------------ | :-----: |\r\n| [OPC UA Address Space Prototyping](SemanticData/AddressSpaceComplianceTestTool/README.md)  |  5.1.0  |\r\n| [Semantic-Data Processing ReferenceApplication](Networking/ReferenceApplication/README.MD) | 4.00.01 |\r\n\r\n#### NuGet packages\r\n\r\nThe table below lists the latest versions of the published NuGet packages.\r\n\r\n| Id                                                                                                                       | Version | Description                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      |\r\n| ------------------------------------------------------------------------------------------------------------------------ | :-----: | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |\r\n| [UAOOI.Common.Infrastructure](https://www.nuget.org/packages/UAOOI.Common.Infrastructure)                                |  4.0.1  | This library provides API for common infrastructure management functionality aimed at Object Oriented Internet application deployment.)                                                                                                                                                                                                                                                                                                                                                                                          |\r\n| [UAOOI.Configuration.Core](https://www.nuget.org/packages/UAOOI.Configuration.Core)                                      |  4.0.1  | The library contains a shared interfaces for server configuration which OPC UA applications can reference. The library provides an abstraction over any OPC UA Server configuration plug-in. Using the library allows an application to indirectly access the server configuration attributes without relying on hard references. The hope is that using this library, third-party applications and frameworks can begin to leverage server configuration management without tying themselves down to a specific implementation. |\r\n| [UAOOI.Configuration.DataBindings](https://www.nuget.org/packages/UAOOI.Configuration.DataBindings)                      |  4.0.1  | OPC UA Object Oriented Internet (UAOOI) DataBindings library is dedicated to create a plug-in aimed at editing of the configuration of any application based on OPC UA Information Model. It allows also to add data binding to the configuration.                                                                                                                                                                                                                                                                               |\r\n| [UAOOI.Configuration.Networking](https://www.nuget.org/packages/UAOOI.Configuration.Networking)                          |  4.0.1  | OPC UA Object Oriented Internet (UAOOI) UAOOI.Configuration.Networking library is dedicated to create a plug-in aimed at provisioning configuration of any application based on OPC UA Information Model.                                                                                                                                                                                                                                                                                                                        |\r\n| [UAOOI.Networking.Core](https://www.nuget.org/packages/UAOOI.Networking.Core)                                            |  4.0.2  | The core functionality of `Semantic-Data` reactive networking library based on OPC UA Part 14 Pub/Sub.                                                                                                                                                                                                                                                                                                                                                                                                                           |\r\n| [UAOOI.Networking.Encoding](https://www.nuget.org/packages/UAOOI.Networking.Encoding)                                    |  4.0.2  | This package provides functionality to lookup a dictionary containing value converters. The interface is used for late binding to inject dependency on the external library.  This library provides IEncodingFactory functionality limited to encoding simple data types only for the testing purpose only.                                                                                                                                                                                                                      |\r\n| [UAOOI.Networking.SemanticData](https://www.nuget.org/packages/UAOOI.Networking.SemanticData)                            |  4.0.2  | SemanticData Reactive Networking library based on OPC UA Part 14 Pub/Sub.                                                                                                                                                                                                                                                                                                                                                                                                                                                        |\r\n| [UAOOI.Networking.UDPMessageHandler](https://www.nuget.org/packages/UAOOI.Networking.UDPMessageHandler)                  |  4.0.2  | OOI Reactive Networking: UDP IMessageHandlerFactory Implementation                                                                                                                                                                                                                                                                                                                                                                                                                                                               |\r\n| [UAOOI.SemanticData.InformationModelFactory](https://www.nuget.org/packages/UAOOI.SemanticData.InformationModelFactory/) |  5.1.0  | OPC UA Information Model Factory Library                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         |\r\n| [UAOOI.SemanticData.UANodeSetValidation](https://www.nuget.org/packages/UAOOI.SemanticData.UANodeSetValidation/)         |  5.1.0  | This project supports validation of the OPC UA Address Space captured in the XML file against the OPC UA Specification. It is assumed that the Address Space is represented as an XML file compliant with the NodeSet schema. This library is dedicated to creating a plug-in aimed at importing models based on the OPC UA Information Model. It is part of the project supporting OPC UA Object Oriented Internet paradigm.                                                                                                    |\r\n| [UAOOI.SemanticData.UAModelDesignExport](https://www.nuget.org/packages/UAOOI.SemanticData.UAModelDesignExport/)         |  5.1.0  | This library provides an implementation of the export functionality of an XML file compliant with the UAModelDeign schema. By design, the UAModelDeign schema describes the syntax of an XML document representing the OPC UA Information Model.                                                                                                                                                                                                                                                                                 |\r\n| [UAOOI.SemanticData.BuildingErrorsHandling](https://www.nuget.org/packages/UAOOI.SemanticData.BuildingErrorsHandling/)   |  5.1.0  | It provides descriptions of building errors to be used for OPC UA Address Space consistency validation purpose.                                                                                                                                                                                                                                                                                                                                                                                                                  |\r\n\r\n## Content\r\n\r\n### Architecture\r\n\r\nThe repository workspace are organized as it is illustrated in the Figure below.\r\n\r\n![Figure 1. Packages relationship](CommonResources/Media/Packages.png)\r\n\r\nNext sections describe the content of the packages in the repository. The packages are loosely coupled. Each package contains applications (tools), libraries, and unit tests. All common resources are collected in the `CommonResources`.\r\n\r\n### Common\r\n\r\nThis workspace provides API for common infrastructure management functionality aimed at Object Oriented Internet application deployment.\r\n\r\n### Configuration\r\n\r\nThis workspace is aimed at implementing an editor of the `OOI Reactive Application` configuration file. It contains types that supports the configuration management of application implementing the paradigm described in [Semantic-Data Processing Architecture](SemanticData/README.MD). The configuration may be read to or write from the xml or json files. By design this library may be used to support variety kinds of applications at design and run time. It supports also the data binding mechanism to define how the process data relate to the real world.\r\n\r\n### DataDiscovery\r\n\r\nThis workspace contains libraries and tools to find the data over the network. In the proposed approach the URI of the OPC UA **Information Model** is to be used as a unique key to browse the **Global Data Discovery System** \\(GDDS ֠an expanded version of GDS\\) to find recursively the destination `OPC UA Server`  or  `UA Data Application` exposing the requested data.\r\n\r\nTo get more details visit the section [Global Data Discovery](./DataDiscovery/README.MD)\r\n\r\n### Networking\r\n\r\nThis workspace contains library empowering the Industrial Internet of Things \\(IIoT\\) and Industry 4.0. as the result of using reactive networking paradigm. Intentionally it is designed on top of OPC UA Part 14 Pub/Sub protocol supporting interoperability with any product compliant with this specification. Seamless integration with AMQP, MQTT, etc. allows meaningful data transfer in the context of semantics defined using **OPC UA Information Model**.\r\n\r\nTo get more details visit the section [Internet of Things (IoT) Communication](./Networking/README.MD)\r\n\r\n### SemanticData\r\n\r\n#### Introduction\r\n\r\nThe `SemanticData` folder contains projects related to support the [OOI Semantic-Data Processing Architecture](./SemanticData/README.MD). Processing of the OPC UA Data Outside of the Server context is based on the **Semantic-Data** concept. This project is aimed to workout deliverables supporting Process Data handling over Internet including but not limiting to:\r\n\r\n- Data edition ֠UI allowing display and edition of any custom data\r\n- Data serialization and deserialization - see white-paper [Address Space Interchange XML][InterchangeXML]\r\n- Data prototyping - methods and tools to design custom data types\r\n- Exposition of the process data in the context of metadata [OPC UA Address Space Model Designer](https://github.com/mpostol/ASMD)\r\n- Browsing of the Metadata to selectively access requested Process Data\r\n- Modeling and representation of the metadata - detailed description is covered by the section [OPC UA Information Model Deployment](SemanticData/InformationModelsDevelopment.md)\r\n- Validation of the semantics and consistency of the metadata - see project [USNodeSetValidationUnitTestProject](./SemanticData/UANodeSetValidation/README.MD)\r\n- Data Oriented Architecture (DOA)\r\n\r\n#### Project `AddressSpaceComplianceTestTool`\r\n\r\nIt is a command-line application aimed at the validation of the XML files compliant with the [UANodeSet schema](https://opcfoundation.org/UA/2011/03/UANodeSet.xsd) defined in Part 6 of the OPC UA Specification. The description of this schema is captured by the document [Address Space Interchange XML][InterchangeXML]\r\n\r\n#### Project `UANodeSetValidation`\r\n\r\nThe [UANodeSetValidation](./SemanticData/UANodeSetValidation/README.MD) project is a library aimed at validate `UANodeSet` xml files.\r\n\r\nTo validate a new model add the code to the [USNodeSetValidationUnitTestProject](./SemanticData/Tests/USNodeSetValidationUnitTestProject/README.md) and XML file to the XMLModels in this project. If the validation test does not recognize an error the code in the UANodeSetValidation must be improved.\r\n\r\nIn this case add issue or modify the code on your fork and add pull request after finishing.\r\n\r\n**Public API**:\r\n The public API for this project is defined by the interface:\r\n\r\n- `IAddressSpaceContext`\r\n\r\nThis interface may be used for dependency injection where validation of the input data conforming to the `UANodeSet` schema is processed.\r\n\r\n#### Project `InformationModelFactory`\r\n\r\nThe project is dedicated to develop the OPC UA Information Model Factory Library. It is a library used as the dependency injection to produce OPC UA **Information Model** by a selected importer. The abstract API must be implemented by a classes providing functionality of **Information Model** creation.\r\n\r\nDetailed description is covered by the document [InformationModelFactory Library](./SemanticData/InformationModelFactory/README.md)\r\n\r\n## Related work\r\n\r\n### OPC UA Address Space Model Designer (`ASMD`)\r\n\r\nThe main challenge of the project [OPC UA Address Space Model Designer (ASMD)][ASMD] is to offer the designers a user-friendly tool supporting all aspects of the OPC UA Address Space model designing process. It brings together: designing, learning, and deploying. Description of the main features of the tool is covered by the section [Design and Deployment Support][DDSupport].\r\n\r\nThe OPC UA Address Space Model Designer ([`ASMD`][ASMD]) implements conceptual containers called solutions and projects to apply their settings. Any solution contains one or more projects and it manages the way the designer configures, builds, and deploys sets of related projects. Any project includes source files containing the model representation and related metadata such as properties and references to other projects. The designer Integrated Development Environment (IDE) provides tools that help you edit and manipulate models, namespaces, and add references to external resources.\r\n\r\n### Process-Observer (`PO`)\r\n\r\nProcess-Observer (`PO`) is an archetype that allows creation consistent, homogeneous real-time representation of the underlying process. This representation is a kind of a process state and behavior replica, which exposes real-time process data to the network using standardized interfaces like OPC Classic, OPC Unified Architecture, OPC PubSub, AMQP, MQTT, etc. In other words, it supports **Machine to Sensors Connectivity (M2S)**, i.e. it allows an open, uniform, secure and standards-based communication solution between sensors, actuators, controllers and the upper layer applications.\r\n\r\nA detailed description of this concept is covered by the article [Object Oriented Internet][OOI.ieeexplore]. By design this concept supports\r\n\r\n- **Process Devices Interconnection** - synchronization of the process replica with the process state\r\n- **Process Simulation** - simulation of the process behavior to recover unavailable data and ensure a safe testing environment\r\n- **Resource Monitoring** - allowing to add information processing and networking infrastructure to be exposed consistently aggregated with the process replica\r\n- **Server to Server Interactions** - supports a scenario in which `PO` is the Client of a Server\r\n\r\nThe `PO` concept has been implemented as a generic communication engine used by the CAS CommServer Classic and Unified Architecture servers. This implementation is optimized for highly distributed applications. This implementation is maintained in the [mpostol/ProcessObserver][OOI.PO] repository.\r\n\r\n### CommServer\r\n\r\n[CommServer][commserver] is a package of software to manage data transfer using OPC standards. Built-in technologies and algorithms support Machine to Machine (M2M) meaningful interoperability. The [CommServer][commserver] was written by CAS Lodz Poland.\r\n\r\nThe GitHub repository [commsvr-com/migration2os][migration2os] is aimed at the `CommServer` software migration from on-premise subversion repository to GitHub and publishing it as the Open-Source Software (OSS). The members of the `CommServer` family are to be converged with the Object-Oriented Internet paradigms and integrated with the solutions maintained in this repository.\r\n\r\n### Object Oriented Internet Reactive Networking Configuration Editor\r\n\r\nOPC-UA-OOI.ConfigEditor is a package of software to manage the configuration of the [Reactive Communication][OOIBookToC].  The `OPC-UA-OOI.ConfigEditor` was written by CAS Lodz Poland. The [mpostol/OPC-UA-OOI.ConfigEditor][ConfigEditor] repository is aimed at the software migration from on-premise subversion repository to GitHub and publishing it as the Open-Source Software (OSS).  After migration, this repository will be used to manage all activities addressing the software maintenance process as a plug-in of the [ASMD][ASMD].\r\n\r\n## How to cite the software and associated documentation files\r\n\r\nTo be compliant with the license of the repository the below copyright notice shall be included in all copies or substantial portions of the software and associated documentation files (the \"Software\").\r\n\r\nCopyright (c) 2020 Mariusz Postol\r\n\r\nIn this section, you will learn how to cite the \"Software\" using the DOI number. A DOI number is a unique identifying number for the Software version. Because this repository has a DOI, use the DOI in your citation for the article or any derived work, like this:\r\n\r\n> Mariusz Postol, Object Oriented Internet: [Target Part Name], `https://github.com/mpostol/OPC-UA-OOI`, [year]\r\nDOI: [10.5281/zenodo.1198852](http://doi.org/10.5281/zenodo.1198852).\r\n\r\nor\r\n\r\n> Mariusz Postol, Object Oriented Internet: [Target Part Name], `https://github.com/mpostol/OPC-UA-OOI`, [year]\r\nDOI: [http://doi.org/10.5281/zenodo.1198852](http://doi.org/10.5281/zenodo.1198852).\r\n\r\nReplace [year] with the current year and [Target Part Name] with the name (or names) of the files you are referring to.\r\n\r\n## How to follow up?\r\n\r\nGitHub offers `Discussions` as a space to connect with other members of the community. I hope that using the `Discussion` space you:\r\n\r\n- ask questions you’re wondering about\r\n- share ideas\r\n- engage with other community members\r\n- welcome others and are open-minded; remember that this is a community we build together\r\n\r\nI have activated the [Discussion][Discussion] space for this repository. Follow the  [Discussion][Discussion] to be in touch.\r\n\r\nTo follow any activity in the repository, switch on the `Watch` functionality. If you find the project interesting, please star the repository. Starring a repository also shows appreciation to the repository maintainer for their work. You can star repositories and topics to keep track of projects you find interesting and discover related content in your news feed. Check out [Saving repositories with stars](https://docs.github.com/en/get-started/exploring-projects-on-github/saving-repositories-with-stars) to get more.\r\n\r\n## Conclusion\r\n\r\nI hope it is a good place to prototype and converge the OPC UA communication technology with `Semantic-Data`, Industry 4.0, Internet Of Things, Data Oriented Architecture, Plug and Play, Global Data Discovery, Selective Availability, etc. concepts. My goal is to bridge a gap between OPC UA technology and Industrial IT Application Domains.\r\n\r\nThe presented approach is a real proposal for a new technology wave based on the existing Internet infrastructure because it allows vendors to provide generic off-the-shelf products tested independently for interoperability.\r\n\r\n## Partnership Program\r\n\r\nI am a researcher and University associate who is passionate about applying knowledge and experience in building a Machine to Machine (M2M) meaningful interoperability based on OPC UA. Let's build it with you and for you. To join our effort and create an organizational context I have launched an open-access **Object-Oriented Internet Partnership Program**. Hence, maintenance of this repository and further development of the OPC UA Information Model Domain-Specific Language will be carried out under a broader concept described in the following article\r\n\r\n[Object-Oriented Internet Partnership Program][Sponsorship]\r\n\r\n**Consider joining**. Visit the section [How to be involved][SponsorshipToBeInvolved] to get more. I hope that thanks to this partnership program we will establish long-term mutually beneficial cooperation. Your participation is needed to make sure that the work will continue as expected. As a rule of thumb, the work priority is derived from community feedback.\r\n\r\nI strongly encourage community participation and contribution to this project. First, please fork the repository and commit your changes there. Once happy with your changes you can generate a 'pull request'.\r\n\r\nWhen contributing to this repository, please first discuss the change you wish to make via issue, email, or any other method with the owners of this repository before making a change.\r\n\r\nPlease note we have a code of conduct, please follow it in all your interactions with the project.\r\n\r\n## See Also\r\n\r\n### Publications\r\n\r\n- [Object-Oriented Internet](https://youtube.com/playlist?list=PLC7zPvgw-YbyWss-0j_waddacgroLFTzi) This playlist on YouTube addresses research results on the systematic approach to the design of the meaningful Machine to Machine (M2M) communication targeting distributed mobile applications in the context of new emerging disciplines, i.e. Industry 4.0 and Internet of Things.\r\n- Postół M., Szymczak P. (2021) Object-Oriented Internet Cloud Interoperability. In: Paszynski M., Kranzlmüller D., Krzhizhanovskaya V.V., Dongarra J.J., Sloot P.M. (eds) Computational Science – ICCS 2021. ICCS 2021. Lecture Notes in Computer Science, vol 12745. Springer, Cham. <https://doi.org/10.1007/978-3-030-77970-2_43>\r\n  - Available on [ResearchGate](https://www.researchgate.net/publication/352289895_Object-Oriented_Internet_Cloud_Interoperability)\r\n  - ICCS 2021: INTERNATIONAL CONFERENCE ON COMPUTATIONAL Presentation is available on [YouTube](https://youtu.be/yXH09wuWEcA)\r\n- Postół M. (2020) Object-Oriented Internet Reactive Interoperability. In: Krzhizhanovskaya V. et al. (eds) Computational Science – ICCS 2020. ICCS 2020. Lecture Notes in Computer Science, vol 12141. Springer, Cham; [DOI: https://doi.org/10.1007/978-3-030-50426-7_31](https://doi.org/10.1007/978-3-030-50426-7_31)\r\n  - Postół M. (2020) [Object-Oriented Internet Reactive Interoperability](https://www.researchgate.net/publication/341882427_Object-Oriented_Internet_Reactive_Interoperability), presentation, DOI: 10.13140/RG.2.2.33984.56323\r\n- Mariusz Postol, [Machine to Machine Semantic-Data Based Communication: Comprehensive Survey](https://www.researchgate.net/publication/341165347_Machine_to_Machine_Semantic-Data_Based_Communication_Comprehensive_Survey) chapter in book [Computer Game Innovations 2018](https://www.researchgate.net/publication/335524620_Computer_Game_Innovations_2018), Publisher: Lodz University of Technology Press; ISBN: 978-83-7283-999-2\r\n- ebook **Object Oriented Internet** contains description of this project - it is auto-generated content gathered from *.md files [![ebook](https://img.shields.io/badge/Gitbook-Release-brightgreen.svg)](https://commsvr.gitbook.io/ooi/tableofcontent)\r\n- Mariusz Postol, [Object Oriented Internet][OOI.ieeexplore], [3rd International Conference on Innovative Network Systems and Applications](https://fedcsis.org/2015/inetsapp), 2015, [IEEE Xplore Digital Library][OOI.ieeexplore] [![DOI](https://img.shields.io/badge/DOI-10.15439%2F015F160-blue)](https://fedcsis.org/proceedings/2015/pliks/160.pdf)\r\n\r\n### Related documents\r\n\r\n- [Object-Oriented Internet Partnership Program][Sponsorship]\r\n- [How to be involved][SponsorshipToBeInvolved]\r\n- [WIKI of this project](https://github.com/mpostol/OPC-UA-OOI/wiki)\r\n- [API Browser (is available for sponsors - consider joining)](https://github.commsvr.com/AboutPartnershipProgram.md.html)\r\n- [OPC UA Address Space Model Designer (ASMD)][ASMD]\r\n- [My Blog: About enablers of future solutions](http://wwww.mpostol.wordpress.com/)\r\n- [OPC Unified Architecture – Main Technological Features][wordpress.OPCUAMTF]\r\n- [About me on LinkedIn](https://pl.linkedin.com/in/mpostol)\r\n- [References](REFERENCES.md) - this section contains links to selected internal and external resources.\r\n\r\n### Related websites\r\n\r\n- [OPC Foundation](https://opcfoundation.org/)\r\n- [Sponsored by commsvr.com](http://www.commsvr.com/)\r\n\r\n[Sponsorship]: https://github.commsvr.com/AboutPartnershipProgram.md.html\r\n[SponsorshipToBeInvolved]: https://github.commsvr.com/AboutPartnershipProgram.md.html#how-to-be-involved\r\n[wordpress.OPCUAMTF]: https://mpostol.wordpress.com/2013/08/04/opc-unified-architecture-main-technological-features/\r\n[ASMD]:https://github.com/mpostol/ASMD\r\n[DDSupport]:SemanticData/DesignDeploymentSupport.md\r\n[InterchangeXML]: https://www.researchgate.net/publication/334259707_OPC_UA_Address_Space_Interchange_XML\r\n[commserver]: http://www.commsvr.com/\r\n[migration2os]: https://github.com/commsvr-com/migration2os\r\n[migration2osProj]: https://github.com/orgs/commsvr-com/projects\r\n[ConfigEditor]: https://github.com/mpostol/OPC-UA-OOI.ConfigEditor\r\n[OOIBookToC]: TableOfContent.md#reactive-communication\r\n[OOI.ieeexplore]:https://ieeexplore.ieee.org/abstract/document/7321562\r\n[OOI.PO]:https://github.com/mpostol/ProcessObserver#process-observer\r\n[Discussion]: https://github.com/mpostol/OPC-UA-OOI/discussions\r\n"
  },
  {
    "path": "REFERENCES.md",
    "content": "# References\n\n## Mariusz Postol\n\n<!-- Publications -->\n\n- [Object-Oriented Internet](https://youtube.com/playlist?list=PLC7zPvgw-YbyWss-0j_waddacgroLFTzi) This playlist on YouTube addresses research results on the systematic approach to the design of the meaningful Machine to Machine (M2M) communication targeting distributed mobile applications in the context of new emerging disciplines, i.e. Industry 4.0 and Internet of Things.\n- Postół M., Szymczak P. (2021) Object-Oriented Internet Cloud Interoperability. In: Paszynski M., Kranzlmüller D., Krzhizhanovskaya V.V., Dongarra J.J., Sloot P.M. (eds) Computational Science – ICCS 2021. ICCS 2021. Lecture Notes in Computer Science, vol 12745. Springer, Cham. <https://doi.org/10.1007/978-3-030-77970-2_43>\n  - Available on [ResearchGate](https://www.researchgate.net/publication/352289895_Object-Oriented_Internet_Cloud_Interoperability)\n  - ICCS 2021: INTERNATIONAL CONFERENCE ON COMPUTATIONAL Presentation is available on [YouTube](https://youtu.be/yXH09wuWEcA)\n\n- Postół M. (2020) Object-Oriented Internet Reactive Interoperability. In: Krzhizhanovskaya V. et al. (eds) Computational Science – ICCS 2020. ICCS 2020. Lecture Notes in Computer Science, vol 12141. Springer, Cham; [DOI: https://doi.org/10.1007/978-3-030-50426-7_31](https://doi.org/10.1007/978-3-030-50426-7_31)\n  - Postół M. (2020) [Object-Oriented Internet Reactive Interoperability](https://www.researchgate.net/publication/341882427_Object-Oriented_Internet_Reactive_Interoperability), presentation, DOI: 10.13140/RG.2.2.33984.56323\n\n- Mariusz Postol, [Machine to Machine Semantic-Data Based Communication: Comprehensive Survey](https://www.researchgate.net/publication/341165347_Machine_to_Machine_Semantic-Data_Based_Communication_Comprehensive_Survey) chapter in book [Computer Game Innovations 2018](https://www.researchgate.net/publication/335524620_Computer_Game_Innovations_2018), Publisher: Lodz University of Technology Press; ISBN: 978-83-7283-999-2\n\n- Mariusz Postol, [Object Oriented Internet](https://ieeexplore.ieee.org/abstract/document/7321562), [3rd International Conference on Innovative Network Systems and Applications](https://fedcsis.org/2015/inetsapp), 2015, [IEEE Xplore Digital Library](https://ieeexplore.ieee.org/abstract/document/7321562) [![DOI](https://img.shields.io/badge/DOI-10.15439%2F2015F160-blue)](https://fedcsis.org/proceedings/2015/pliks/160.pdf)\n\n<!--OOI on GitHub-->\n\n- [Object Oriented Internet - C# deliverables supporting a new Machine To Machine (M2M) communication architecture; GitHub Open Source Software][OOI]\n  - [GitHub UAOOI.Networking.UDPMessageHandler][OOI.Networking.UDPMessageHandler]\n  - [GitHub UAOOI.Networking.ReferenceApplication][OOI.Networking.ReferenceApplication]\n  - [GitHub UAOOI Releases Page][OOI.Releases]\n  - [API Browser is available for sponsors- consider joining](https://github.commsvr.com/AboutPartnershipProgram.md.html)\n\n[OOI]:https://github.com/mpostol/OPC-UA-OOI\n[OOI.Networking.UDPMessageHandler]:https://github.com/mpostol/OPC-UA-OOI/tree/master/Networking/UDPMessageHandler\n[OOI.Networking.ReferenceApplication]:https://github.com/mpostol/OPC-UA-OOI/tree/master/Networking/ReferenceApplication\n[OOI.Releases]:https://github.com/mpostol/OPC-UA-OOI/releases\n\n- [Object Oriented Internet - online ebook][OOIBook]\n\n[OOIBook]:https://commsvr.gitbook.io/ooi/readme\n\n- [OPC UA Address Space Model Designer (ASMD); GitHub Open Source Software][ASMD]\n\n[ASMD]:https://github.com/mpostol/ASMD\n\n- [CommServer software family - management of the migration to open source.][migration2os]\n\n[migration2os]:https://github.com/commsvr-com/migration2os\n\n- [Postół M. (2016) OPC UA Address Space Interchange XML; Technical Report; DOI: 10.13140/RG.2.2.12228.37768][InterchangeXML]\n\n[InterchangeXML]: https://www.researchgate.net/publication/334259707_OPC_UA_Address_Space_Interchange_XML\n\n<!--wordpress-->\n\n- [OPC Unified Architecture][wordpress.opc-ua]\n\n[wordpress.opc-ua]: https://mpostol.wordpress.com/opc-ua/\n\n- [OPC UA Makes Reactive Object Oriented Internet Possible][wordpress.ReactiveOOI]\n\n[wordpress.ReactiveOOI]:https://mpostol.wordpress.com/2019/01/14/opc-ua-makes-reactive-object-oriented-internet-possible/\n\n- [IoT versus SCADA/DCS Data Acquisition Patterns][wordpress.IoTVersus]\n\n[wordpress.IoTVersus]: https://mpostol.wordpress.com/2017/09/19/iot-versus-scadadcs/\n\n- [OPC UA Makes Complex Data Processing Possible][wordpress.OPCUACD]\n\n[wordpress.OPCUACD]: https://mpostol.wordpress.com/2014/05/08/opc-ua-makes-complex-data-access-possible/\n\n- [OPC UA Makes Smart User Interface Possible][wordpress.HMI]\n\n[wordpress.HMI]:https://mpostol.wordpress.com/2013/08/11/opc-ua-makes-smart-user-interface-possible/\n\n- [OPC Unified Architecture – Main Technological Features][wordpress.OPCUAMTF]\n\n[wordpress.OPCUAMTF]: https://mpostol.wordpress.com/2013/08/04/opc-unified-architecture-main-technological-features/\n\n<!--commsvr-->\n\n- [Mariusz Postol. OPC UA Information Model Deployment. 2016. Version 1.2][CAS.OPCUAIMD] [![DOI](https://zenodo.org/badge/DOI/10.5281/zenodo.2586616.svg)](https://doi.org/10.5281/zenodo.2586616)\n\n[CAS.OPCUAIMD]: https://www.researchgate.net/publication/331565040_OPC_UA_INFORMATION_MODEL_DEPLOYMENT\n\n- [CAS OPC UA Address Space Model Designer][CAS.ASMD]\n\n[CAS.ASMD]: https://github.com/mpostol/ASMD\n\n- [OPC Unified Architecture e-book, 2010][CAS.EBOOK]\n\n[CAS.EBOOK]:https://commsvr-com.github.io/Documentation/OPCUAebook/html/e34055b2-23e0-4f1a-9e00-52d75becaeec.htm\n\n## ietf.org\n\n- [RFC 768: User Datagram ProtocolJ, August 1980][RFC.UDP]\n\n[RFC.UDP]:https://tools.ietf.org/html/rfc768\n\n- [RFC 791: INTERNET PROTOCOL, September 1981][RFC.UDP.IP]\n\n[RFC.UDP.IP]:https://tools.ietf.org/html/rfc791\n\n- [RFC 2616: Hypertext Transfer Protocol -- HTTP/1.1][RFC.HTTP]\n\n[RFC.HTTP]:https://tools.ietf.org/html/rfc2616\n\n- [RFC 8259: The JavaScript Object Notation (JSON) Data Interchange Format][RFC.JSON]\n\n[RFC.JSON]:https://tools.ietf.org/html/rfc8259\n\n- [IANA (Internet Assigned Numbers Authority), Hypertext Transfer Protocol (HTTP) Parameters.][IANAHTTPPARAMS]\n\n[IANAHTTPPARAMS]: http://www.iana.org/assignments/http-parameters/http-parameters.xml\n\n## OPCFoundation\n\n- [OPC Unified Architecture Specification Part 3: Address Space Model, OPC Foundation, Rel. 1.04, 2017-11-22][Opc.UA.Part3]\n\n[Opc.UA.Part3]:https://opcfoundation.org/developer-tools/specifications-unified-architecture/part-3-address-space-model/\n\n- [OPC Unified Architecture Specification Part 4: Services, OPC Foundation, Rel. 1.04, 2017-11-22][Opc.UA.Part4]\n\n[Opc.UA.Part4]:https://opcfoundation.org/developer-tools/specifications-unified-architecture/part-4-services/\n\n- [OPC Unified Architecture Specification Part 5: Information Model, OPC Foundation, Rel. 1.04, 2017-11-22][OPC.UA.Part5]\n\n[OPC.UA.Part5]:https://opcfoundation.org/developer-tools/specifications-unified-architecture/part-5-information-model/\n\n- [OPC Unified Architecture Specification Part 6: Mappings, OPC Foundation, Rel. 1.04, 2017-11-22][OPC.UA.Part6]\n\n[Opc.UA.Part6]:https://opcfoundation.org/developer-tools/specifications-unified-architecture/part-6-mappings/\n\n- [OPC Unified Architecture Specification  Part 7: Profiles Release 1.04][OPC.UA.Profiles]\n\n[OPC.UA.Profiles]:https://opcfoundation.org/developer-tools/specifications-unified-architecture/part-7-profiles/\n\n- [OPC Unified Architecture Specification Part 14: PubSub Release 1.04 February 06, 2018][OPC.UA.PubSub]\n\n[OPC.UA.PubSub]: https://opcfoundation.org/developer-tools/specifications-unified-architecture/part-14-pubsub/\n\n- [OPC Unified Architecture Specification Part 100: Device Information Model, OPC Foundation, 1.02, 2019-04-19][OPC.UA.DI]\n\n[OPC.UA.DI]:https://opcfoundation.org/developer-tools/specifications-unified-architecture/part-100-device-information-model/\n\n- [OPC Unified Architecture for Analyzer, OPC Foundation, Rel. 1.1a, 2015-01-09][OPC.UA.ADI]\n\n[OPC.UA.ADI]:https://opcfoundation.org/developer-tools/specifications-opc-ua-information-models/opc-unified-architecture-for-analyzer-devices-adi/\n\n- [mpostol/UA-ModelCompiler][OPC.UA.ModelCompiler]\n\n[OPC.UA.ModelCompiler]:https://github.com/mpostol/UA-ModelCompiler\n\n## OASIS\n\n- [OASIS MQTT Version 3.1.1 specification][MQTT]\n  \n[MQTT]:http://docs.oasis-open.org/mqtt/mqtt/v3.1.1/mqtt-v3.1.1.html\n\n- [amqp-core-overview-v1.0 OASIS Advanced Message Queuing Protocol (AMQP) Version 1.0][AMQP]\n\n[AMQP]:http://docs.oasis-open.org/amqp/core/v1.0/os/amqp-core-overview-v1.0-os.html\n\n## ISO\n\n- [ISO/IEC 19464:2014: Advanced Message Queuing Protocol (AMQP) v1.0][ISO.AMQP]\n\n[ISO.AMQP]: https://www.iso.org/standard/64955.html\n\n- [ISO/IEC 20922:2016: Message Queuing Telemetry Transport (MQTT) v3.1.1][ISO.MQTT]\n\n[ISO.MQTT]: https://www.iso.org/standard/69466.html\n\n## IEEE\n\n- [IEEE 802.3 ETHERNET WORKING GROUP][IEEE]\n\n[IEEE]:http://www.ieee802.org/3/\n"
  },
  {
    "path": "SUMMARY.md",
    "content": "# Object Oriented Internet\n\n* [Executive Summary](README.MD)\n* [Table of Content](TableOfContent.md)\n\n## Introduction\n\n* [Introduction to Object-Oriented Internet](Preface.md)\n* [Introduction to Complex Data Processing](Introduction2ComplexDataProcessing.md)\n* [OPC Unified Architecture](OPCUnifiedArchitecture.md)\n* [OPC UA Main Technology Features](OPCUAMainTechnologyFeatures.md)\n\n## Semantic-Data Processing\n\n* [Semantic-Data Processing Architecture](SemanticData/README.MD)\n* [Address Space and Address Space Model](SemanticData/AddressSpaceAddressSpaceModel.md)\n* [UA Information Model - Concept](SemanticData/InformationModelConcept.md)\n  * [Standard Information Model](SemanticData/StandardInformationModel.md)\n* [Information Models Development](SemanticData/InformationModelsDevelopment.md)\n  * [Adopting Companion Standard Models - Analyzer Devices Integration](SemanticData/AdoptingCompanionStandardADI.md)\n  * [Companion Specification - Information Model for Analyzers](SemanticData/CompanionSpecificationInformationModelFforAnalyzers.md)\n  * [ADI Information Model Adoption](SemanticData/ADIInformationModelAdoption.md)\n  * [ADI Model Deployment](SemanticData/ADIModelDeployment.md)\n  * [Address Space Model Life-cycle](SemanticData/InformationModelLifecycle.md)\n  * [Design and Deployment Support](SemanticData/DesignDeploymentSupport.md)\n* [`Address Space Management` Implementation](SemanticData/UANodeSetValidation/README.MD)\n* [Address Space Prototyping Tool (asp.exe)](SemanticData/AddressSpaceComplianceTestTool/README.md)\n  * [`UAModelDesignExport` Library](SemanticData/UAModelDesignExport/README.md)\n\n## Internet of Things (IoT) Archetype\n\n* [Semantic-Data Message Centric Communication](Networking/README.MessageCentricCommunication.md)\n* [Internet of Things (IoT) Communication](Networking/README.MD)\n\n## Reactive Communication\n\n* [UA Part 14: PubSub Main Technology Features](Networking/SemanticData/README.PubSubMTF.md)\n* [Reactive Networking of Semantic-Data Library](Networking/SemanticData/README.MD)\n  * [Underlying Transport over UDP](Networking/UDPMessageHandler/README.md)\n  * [Underlying Transport over MQTT](Networking/SemanticData/README_MQTTMapping.md)\n  * [Underlying Transport over AMQP](Networking/SemanticData/README_AMQPMapping.md)\n  * [Underlying Transport over Ethernet](Networking/SemanticData/README_EthernetMapping.md)\n  * [DataSet and Communication Channel Association](Networking/SemanticData/READMEDataDiscoveryAndBinding.md)\n  * [Encoding Library](Networking/Encoding/README.md)\n* [Getting Started Tutorial](Networking/SemanticData/READMEGettingStartedTutorial.md)\n* [Walk-through `ReferenceApplication`](Networking/ReferenceApplication/README.MD)\n  * [`ReferenceApplication` Utilities](Networking/ReferenceApplication.Core/README.md)\n  * [Azure Gateway DataRepository](Networking/DataRepository/AzureGateway/README.md)\n  * [`ReferenceApplication` Consumer - Data Logger](Networking/DataRepository/DataLogger/README.md)\n  * [`ReferenceApplication` Producer - Interoperability Test Data Generator](Networking/SimulatorInteroperabilityTest/README.md)\n  * [`ReferenceApplication` Producer - Boilers Set Simulator](Networking/Simulator.Boiler/README.md)\n\n## Configuration\n\n* [Configuration - Executive Summary](Configuration/README.md)\n  * [Reactive Networking (RxNetworking) Configuration](Configuration/Networking/README.MD)\n  * [DataBinding library](Configuration/DataBindings/README.MD)\n\n## Global Data Discovery\n\n* [Concept](DataDiscovery/README.MD)\n* [Domain Model](DataDiscovery/DomainModel.md)\n\n## References\n\n* [See also](REFERENCES.md)\n"
  },
  {
    "path": "SemanticData/ADIInformationModelAdoption.md",
    "content": "# ADI Information Model Adoption\n\nThe main tasks of the ADI Information Model adoption are as follows:\n\n- Model extension by definition of vendor specific types.\n- Model customization by overriding components of the existing types.\n- Instantiation of all objects making up the ADI compliant Address Space.\n\nThe Information Model defined in the ADI specification [[1]][OPC.UA.ADI] is generic, and to expose representative information for a selected analyzer device it must be extended further by defining parameters and/or subtypes derived from the base types provided in this specification. These types can be used to create all objects representing the analyzer device in the Address Space exposed by the UA Server. This process is described in more details in the section Design and Deployment Support). Each analyzer device must be represented in the Address Space by an object of a type indirectly derived from an abstract `AnalyserDeviceType`. Additionally, this object must be interconnected to the standard infrastructure of the Address Space. Many instance declarations in the ADI Information Model are optional or have only meta-definition (e.g. components representing channels); therefore they are not created by default as a result of instantiation of their parent and must be subject of further definition refining.\n\nExtending the ADI Information Model and refining the definitions provided in the specification should allow designers to adjust the Address Space exposed by the UA Server so as to represent truthfully the underlying process.\n\n![Figure 1 New types definition](../CommonResources/Media/SemanticData/StandardInformationModel.ADINewTypesDefinition.PNG)\n\nTo create a vendor specific Information Model, usually additional types must be defined. Figure 1 illustrates a set of new types derived indirectly form the AccessoryType. More examples on how to expand the model are described in the specification [[1]][OPC.UA.ADI] and in the [2].\n\n![Figure 2 Solution concept](../CommonResources/Media/SemanticData/StandardInformationModel.ADI.SolutionConcept.PNG)\n\nThe Information Model representing a device is layered (Figure 2) and, therefore, the question how to distribute definitions among layers must be addressed. According to the best practice rules, the vendor specific part of the Information Model shall be layered as follows:\n\n- Base product type definitions.\n- Product models type definitions.\n- Instance declaration modifications.\n\nIn this simple example no product models are recognized and, therefore, we have no definition on layer 2. According to the above rule the `FTNIR_Simulator` object has been located in the `FTNIRModelInstance` project and all types presented in Figure 1 are provided by the `FTNIRModel` project (Figure 2).\n\n## See also\n\n- [[1] OPC Unified Architecture for Analyzer, OPC Foundation, Rel. 1.1a, 2015-01-09][OPC.UA.ADI]\n- [2] Wolfgang Mahnke, Stefan Helmut Leitner, Matthias Damm. OPC Unified Architecture. Berlin: Springer, 2009.\n\n[OPC.UA.ADI]:https://opcfoundation.org/developer-tools/specifications-opc-ua-information-models/opc-unified-architecture-for-analyzer-devices-adi/\n"
  },
  {
    "path": "SemanticData/ADIModelDeployment.md",
    "content": "# ADI Model Deployment\n\nTaking into consideration that the browse mechanism is based on the incremental and relative passage along a nodes path, we can easily find out that each path must have a defined entry point, so we must address a question where to start. To meet this requirement, the OPC UA Specifications provide a predefined structure [[2]][OPC.UA.Part5] containing well defined nodes that can be used as anchors to start discovering the Address Space by clients.\n\nInformation Model|Address Space\n -|-\n ![Figure 1 Object locations](../CommonResources/Media/SemanticData/StandardInformationModel.ADIObjectLocations.PNG)|![Figure 2 OPC UA Client topmost view](../CommonResources/Media/SemanticData/StandardInformationModel.ADI.ASOPCUAClientTopmostView.PNG)\n\nFor the above example, a typical organization of the UA Server Address Space seen by a client is presented in Figure 2. Two objects can be distinguished in this hierarchy: Objects and `DeviceSet`. The purpose of the Objects is that all objects and variables that are not used for type definitions or other organizational purposes (e.g. organizing the Views) are accessible through hierarchical references starting from this node. `DeviceSet` is an object containing all the devices according to the DI Information Model specification [[1]][OPC.UA.DI].\n\nTo locate an object in the nodes layout presented in Figure 2, a `HasComponent` reference must be added to the object FT-IR spectrometer simulator (Figure 1). The `HasComponent` references are used to browse the Address Space from the top toward the bottom, but it is worth noting that in the model this reference is added to the destination node instead (Figure 1). The main reason is to keep the DI model representation invariant. The reference must be added at some point in time during the design phase, i.e. before the Address Space is instantiated. It is one of the main reasons why we need an independent view of the Information Model (planet) and Address Space (created).\n\nThe Address Space content exposed by the UA Server can change in time reflecting any change of the underlying process. A good example, where the dynamic content of the Address Space is very useful, is hot-swappable device modules, like accessories. In this case the server must be able to discover the current configuration and instantiate/delete nodes and/or references according to this configuration.\n\nAs it was stated above, to create the Address Space, the UA Server needs to instantiate nodes and interconnect them by References. According to the specification requirements, to create the Address Space, any UA Server must instantiate all mandatory objects that organize the Address Space and can be used as entry points to start browsing and discovering it. One of them is Objects (Figure 2) that is the server browse entry point for objects.\n\n![Figure 3 Solution concept](../CommonResources/Media/SemanticData/StandardInformationModel.ADI.SolutionConcept.PNG)\n\nHaving all objects organizing the Address Space, the UA Server creates instance of objects declared by the custom information model. In the above sample model, the server instantiates FT-IR spectrometer simulator as a component of the `DeviceSet` defined in the `OpcUaDiModel` (Figure 3).\n\n![Figure 4 SpectrometerDeviceType inheritance hierarchy](../CommonResources/Media/SemanticData/ADI.SpectrometerDeviceTypeInheritanceHierarchy.PNG)\n\n\nAfter parent type instantiation, the server creates also all components of that type and all its base type components called instance declaration. This operation is applied recursively. In other words, in order to get full information about a subtype, the inherited instance declarations shall be collected from all types that can be found by recursively following the inverse `HasSubtype` references from the subtype. For the above example, the nodes under the FT-IR spectrometer simulator are a collection of all components (coupled by `HasComponent` reference to the type) traversing the inheritance chain Figure 4:\n\n- `SpectrometerDeviceType` \n- `AnalyserDeviceType`\n- `DeviceType`\n- `TopologyElementType`\n- `BaseObjectType`\n\nThe newly created nodes have the same value of the `BrowseName` attribute as in the type definition. Since `BrowseName` values shall be unique in the context of the parent type definition, the new nodes may be created without any fear of breaking the browse path uniqueness rules. This browse path is always unique, because the `BrowseName` of the created main object must be unique in the context it is located in and all instance declarations shall have unique `BrowseName` values in the context of types they are defined by. More detailed discussion on the instance declaration concept can be found in the section Custom Models - Boiler.\n\n![Figure 5 FTNIR Address Space](../CommonResources/Media/SemanticData/ADI.FTNIRAddressSpace.PNG)\n\nThe inheritance mechanism and automatic creation of instance declaration cause that the objects in the Address Space exposed by the UA Server may have more components then their type definition. An example is the `FTNIR_Simulator` object (labeled FT-IR spectrometer simulator in Figure 5) with the `DisplayName` from the attribute of type `SpectrometerDeviceType`. The type has only two components: `ParameterSet` and `FactorySettings`, but in the exposed Address Space fragment (Figure 5), the other nodes (except `IRSourceSlot`, `Channel1` and `Channel2`) are created because they are defined as components in one of the basic types making up the inheritance hierarchy (Figure 4).\n\nThe instantiation process may be modified by overriding the already defined components in the derived types and by adding new components manually.\n\n`IRSourceSlot`, `Channel1` and `Channel2` are added to the definition of the `FTNIR_Simulator` object (Figure 5).  `IRSourceSlot` is of `AccessorySlotType`, and `Channel1` and `Channel2` are of `AnalyserChannelType`.  All are defined as components of the `AnalyserDeviceType`. The definition of the `AnalyserDeviceType` allows designers to add as many components of the `AccessorySlotType` and `AnalyserChannelType` to the created object as it is necessary to represent the structure of an existing analyzer. `AnalyserDeviceType` defines cardinality 1..* for the channel meta-definition and, therefore, it imposes a limitation that at least one channel must be created. Components of the `AnalyserChannelType` are an example where the basic ADI Information Model must be customized to converge the Address Space with the represented underlying environment.\n\nThe properties `SerialNumber`, `RevisionCounter`, `Manufacturer`, `Model`, `DeviceManual`, `DeviceRevision`, `SoftwareRevision` and `HardwareRevision` (Figure 5) are inherited from the `DeviceType` defined by the DI Information Model. Values of these properties can be defined as default values in the model or provided by the equipment at run-time.\n\nA very important `AnalyserStateMachine` component of the FT-IR spectrometer simulator is inherited from `AnalyserDeviceType`. `AnalyserStateMachine` is an object that represents behavior of the analyzer device using the state machine concept. This construct can be used to model discrete object behavior in terms of the states an object can reside in and transitions that can happen between those states.  State machines are built as complex objects using dedicated `ObjectTypes`, `VariableTypes` and `ReferenceTypes`, whose semantics is governed by the rules that must be strictly observed. A state is a condition in which an object can be at some point during its lifetime, for some finite amount of time. A transition is a change of an object from one state (the source state) to another (the target state).  The transition is triggered (\"fires\") when an event of interest - cause - to a given object occurs. According to the Information Model concept, causes are represented in the form of Methods that shall be called, but a vendor can define other items or have them be internal (i.e. nothing is listed causing the transition). There may also be an action associated with a triggered transition. This action is executed unconditionally before the object enters the target state and effects in the form of Events that are generated.\n\nThe `AnalyserDeviceType` is also a source of definition of the Methods exposed by the UA Server (Figure 5). All the methods are collected as components of the `MethodSet` object.\n\n## See also\n\n- [[1 ] Part 100: Device Information Model, OPC Foundation, 1.02, 2019-04-19][OPC.UA.DI]\n- [[2] Part 5: Information Model, OPC Foundation, Rel. 1.04, 2017-11-22][OPC.UA.Part5]\n\n[OPC.UA.DI]:https://opcfoundation.org/developer-tools/specifications-unified-architecture/part-100-device-information-model/\n[OPC.UA.Part5]:https://opcfoundation.org/developer-tools/specifications-unified-architecture/part-5-information-model/\n\n"
  },
  {
    "path": "SemanticData/AddressSpaceAddressSpaceModel.md",
    "content": "# Address Space and Address Space Model\n\n## Address Space\n\nThe primary objective of the OPC UA server is to expose information that can be used by clients to manage an underlying real-time process and the entire enterprise as a large whole with the main challenge of integrating systems and management resources into one homogeneous environment. Information describes the state and behavior of the process and the server must be able to transfer it in both directions. The main challenge of the OPC UA Address Space is to support this transfer in a unique and transparent way in spite of the process complexity and roles of clients in the enterprise management hierarchy.\n\nTo make the data available for further processing by computer systems it must be assured that the data is:\n\n- **transferable** – there must exist mechanisms to transfer the data over the network,\n- **addressable** – there must exist services to selectively access the data,\n- **meaningful** – there must exist rules (unambiguous for all interoperating parties) how to apply the semantics to bit patterns.\n\nOPC UA Address Space concept is all about exposing the data in a standard way, so it must address the above mentioned issues, but the description of mechanisms involved in the data transfer is outside this section scope.\n\nGenerally speaking, to select a particular target piece of complex data we have two options: random access or browsing. Random access requires that the target item must have been assigned a globally unique address and the clients must know it in advance. We call them well-known addresses. The browsing approach means that the clients walk down available paths from entity to entity that build up the structure of data - a data graph - using references interconnecting entities. This process is costly because instead of jumping to a target, we need to discover the graph step by step using references. The main advantage of this approach is that the clients do not need any prior knowledge of the data structure – the clients of this type are called generic clients. To minimize the cost, after having found the target, every operation targeting it can use direct access. Random access is possible since the browsing path is convertible to a globally unique direct address.\n\nIt seems that, in spite of the access method, we have to assign an address to all of the accessible items in the representation of the data structure. We therefore call the collection of these items the Address Space [\\[1\\]][CAS.ASMD], [2], [\\[3\\]][Opc.UA.Part3].\n\n> In this concept this atomic addressable item is called a node.  Each node is a collection of attributes (value-holders) that have values accessible locally in context of the node. To enable browsing, i.e. to represent information about the internal structure of the nodes graph, nodes are interconnected by references (address-holders of coupled nodes).\n\n## Address Space Meta-Model\n\nThe main goal of exposing a graph of nodes to clients is to create a meaningful context for the underlying process data. To create the Address Space, we need to instantiate nodes and interconnect them by references. Instantiating nodes requires assigning appropriate values to attributes. To make information internally consistent as a large whole, we need rules governing the creation and modification processes, i.e. Address Space Meta-Model. According to the model, the roles of nodes in the graph are well defined as a result of the definition of a set of types called  `NodeClass`. In other words, the node is an instance of the selected `NodeClass`. Available `NodeClass` types are predefined, i.e. the Address Space Meta-Model provides a strictly defined and non-extensible set of `NodeClass` types.  Each one is assigned a dedicated function to represent well-defined information at run-time. `NodeClass` is a formal description of the node defining the allowed attributes and references. Each node must be an instance of the selected `NodeClass`.\n\n![Figure 1. Address Space Model](../CommonResources/Media/InformationModelClassDisgram.png)\n\nThe Address Space Model defines the following set of `NodeClass` types (Figure 1):\n\n- `View`: defines a subset of nodes in the Address Space.\n- `ObjectType`: provides definition for objects.\n- `Object`:  is used to represent systems, system components, real-world objects and software objects.\n- `ReferenceType`: is used to define the meaning of the nodes relationship.\n- `DataType`: is used to define simple and complex data types of the Variable values.\n- `VariableType`: is used to provide type definition for variables.\n- `Variable`: is used as real-time process data holders, i.e. it provides a value.\n- `Method`: is a lightweight function, whose scope is bounded by an owning object.\n\nAll the presented in above figure types derive from common Root `NodeClass`.\n\nEach View `NodeClass` represents a subset of the nodes in the Address Space. The entire Address Space is the default view. Each node in a view may contain only a subset of its references, as defined by the creator of the view. The View instance acts as the root for the nodes in the represented view.\n\n`ObjectType` provides definition for objects. `Object` instance are used to represent systems, system components, real-world objects and software objects.\n\nIt is worth noting that the `ReferenceType` are visible in the Address Space. In contrast, a reference instance of this type is an inherent part of a node and no `NodeClass` is used to represent reference instances. In other words, any node is a collection of references, so there is no need to instantiate an additional object as reference with the role of a nodes couple.\n\nThe `Variable` node is used to be a holder of the process data – it has a `Value` attribute. To be used as the real-time process state representation, the value of the `Value` attribute must be bound to a real data source, e.g. a sensor or actuator. The `Method` node represents functions that can be called by the clients connected to the server. In this case the real-time process bindings are responsible for conveying the parameters current values, invoking the represented function and returning the execution result. Both classes are the main building blocks that allow the server to couple the exposed address space` with the current state and behavior of the underlying process.\n\nThe `DataType` is used to define simple and structured data types. Data types are used to describe the bits pattern of the `Value` attribute of `Variable` and their `VariableType` nodes. Therefore each `Variable` and `VariableType` refers to an instance of the `DataType` `NodeClass`.\n\nAddress Space Meta-Model is an intermediate language used by the Information Model to formally describe the content of the Address Space instance. Detailed description is covered in the section [UA Information Model - Concept][UAInformationModelConcept]. \n\nAccessing information by clients is the first aspect of controlling the information stream between the clients and underling process. Another one is creating and maintaining the Address Space in real-time. This activity includes also creation of data bindings with the underlying real-time process. This topic is described in more details in the section [*Address Space Model Life-cycle*][ASMLC].\n\n## See also\n\n- [1] [Address Space Model Designer (ASMD)][CAS.ASMD]\n- [2] Wolfgang Mahnke, Stefan Helmut Leitner, Matthias Damm. OPC Unified Architecture. Berlin: Springer, 2009.\n- [3] [OPC Unified Architecture Specification Part 3: Address Space Model, OPC Foundation, Rel. 1.04, 2017-11-22][Opc.UA.Part3]\n- [4] [Address Space Model Life-cycle][ASMLC]\n- [5] [UA Information Model - Concept][UAInformationModelConcept]\n\n[Opc.UA.Part3]:https://opcfoundation.org/developer-tools/specifications-unified-architecture/part-3-address-space-model/\n[CAS.ASMD]:https://github.com/mpostol/ASMD\n[UAInformationModelConcept]:InformationModelConcept.md\n[ASMLC]:InformationModelLifecycle.md\n\n"
  },
  {
    "path": "SemanticData/AddressSpaceComplianceTestTool/App.config",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<configuration>\n  <system.diagnostics>\n    <sources>\n      <source name=\"AddressSpacePrototyping\" switchValue=\"All\" switchType=\"System.Diagnostics.SourceSwitch\">\n        <listeners>\n          <add name=\"LogFile\" />\n          <add name=\"WarningFile\" />\n          <add name=\"configConsoleListener\" />\n          <remove name=\"Default\" />\n        </listeners>\n      </source>\n      <source name=\"UAModelDesignExport\" switchValue=\"All\" switchType=\"System.Diagnostics.SourceSwitch\">\n        <listeners>\n          <add name=\"LogFile\" />\n          <add name=\"WarningFile\" />\n          <add name=\"configConsoleListener\" />\n          <remove name=\"Default\" />\n        </listeners>\n      </source>\n      <source name=\"UANodeSetValidation\" switchValue=\"All\" switchType=\"System.Diagnostics.SourceSwitch\">\n        <listeners>\n          <add name=\"LogFile\" />\n          <add name=\"WarningFile\" />\n          <add name=\"configConsoleListener\" />\n          <remove name=\"Default\" />\n        </listeners>\n      </source>\n    </sources>\n    <sharedListeners>\n      <add name=\"WarningFile\" type=\"System.Diagnostics.DelimitedListTraceListener\" initializeData=\"asp.warnings.log\" traceOutputOptions=\"DateTime\">\n        <filter type=\"System.Diagnostics.EventTypeFilter\" initializeData=\"Information\" />\n      </add>\n      <add name=\"LogFile\" type=\"System.Diagnostics.DelimitedListTraceListener\" initializeData=\"asp.log\" traceOutputOptions=\"DateTime\">\n        <filter type=\"System.Diagnostics.EventTypeFilter\" initializeData=\"All\" />\n      </add>\n      <add name=\"configConsoleListener\" type=\"System.Diagnostics.ConsoleTraceListener\" >\n        <filter type=\"System.Diagnostics.EventTypeFilter\" initializeData=\"Warning\" />\n        <!--All, Critical, Error, Information, Off,  Verbose, Warning-->\n      </add>\n    </sharedListeners>\n    <trace autoflush=\"true\" />\n  </system.diagnostics>\n  <startup>\n    <supportedRuntime version=\"v4.0\" sku=\".NETFramework,Version=v4.7.2\" />\n  </startup>\n</configuration>"
  },
  {
    "path": "SemanticData/AddressSpaceComplianceTestTool/CommandLineSyntax/Extensions.cs",
    "content": "﻿//___________________________________________________________________________________\n//\n//  Copyright (C) 2019, Mariusz Postol LODZ POLAND.\n//\n//  To be in touch join the community at GITTER: https://gitter.im/mpostol/OPC-UA-OOI\n//___________________________________________________________________________________\n\nusing CommandLine;\nusing System;\nusing System.Collections.Generic;\n\nnamespace UAOOI.SemanticData.AddressSpacePrototyping.CommandLineSyntax\n{\n  internal static class Extensions\n  {\n    internal static void Parse<T>(this string[] args, Action<T> RunCommand, Action<IEnumerable<Error>> dump)\n    {\n      using (Parser parser = Parser.Default)\n      {\n        ParserResult<T> parserResult = parser.ParseArguments<T>(args).WithParsed<T>((T opts) => { RunCommand(opts); }).WithNotParsed<T>(dump);\n      }\n    }\n  }\n}"
  },
  {
    "path": "SemanticData/AddressSpaceComplianceTestTool/CommandLineSyntax/Options.cs",
    "content": "﻿//__________________________________________________________________________________________________\n//\n//  Copyright (C) 2021, Mariusz Postol LODZ POLAND.\n//\n//  To be in touch join the community at GitHub: https://github.com/mpostol/OPC-UA-OOI/discussions\n//__________________________________________________________________________________________________\n\nusing CommandLine;\nusing CommandLine.Text;\nusing System.Collections.Generic;\n\nnamespace UAOOI.SemanticData.AddressSpacePrototyping.CommandLineSyntax\n{\n  /// <summary>\n  /// Class Options - defines command line switches used to control behavior of the application.\n  /// </summary>\n  internal class Options\n  {\n    [Value(0, Required = true, HelpText = \"Specifies the input file to convert. At least one file containing Address Space definition compliant with UANodeSet schema must be specified. Many files may be entered at once.\", MetaValue = \"filePath\")]\n    public IEnumerable<string> Filenames { get; set; }\n\n    [Option('e', \"export\", HelpText = \"Specifies the output file path containing the ModelDesign XML document.\", MetaValue = \"filePath\")]\n    public string ModelDesignFileName { get; set; }\n\n    [Option('s', \"stylesheet\", HelpText = \"Name of the stylesheet document (XSLT - eXtensible Stylesheet Language Transformations). With XSLT you can transform an XML document into any text document.\", MetaValue = \"stylesheetName\")]\n    public string Stylesheet { get; set; }\n\n    [Option('n', \"namespace\", Required = true, HelpText = \"Specifies the namespace for the generated types. If not specified last imported model is used for export.\", MetaValue = \"ns\")]\n    public string IMNamespace { get; set; }\n\n    [Option(\"nologo\", HelpText = \"If present suppresses the banner.\")]\n    public bool NoLogo { get; set; }\n\n    [Usage(ApplicationAlias = \"asp\")]\n    public static IEnumerable<Example> Examples => new List<Example>() {\n          new Example(\"Validate UANodeSet\", new Options() { Filenames = new List<string>(){ @\"XMLModels\\DataTypeTest.NodeSet2.xml\", @\"XMLModels\\ReferenceTest.NodeSet2.xml\", @\"XMLModels\\ObjectTypeTest.NodeSet2.xml\", @\"XMLModels\\VariableTypeTest.NodeSet2.xml\" } }),\n          new Example(\"Recover ModelDesign\", new Options(){ Filenames = new List<string>(){ @\"XMLModels\\DataTypeTest.NodeSet2.xml\" },\n                                                            ModelDesignFileName = @\"XMLModels\\DataTypeTest.ModelDesign.xml\",\n                                                            IMNamespace = \"http://cas.eu/UA/CommServer/UnitTests/DataTypeTest\"})\n        };\n  };\n}"
  },
  {
    "path": "SemanticData/AddressSpaceComplianceTestTool/DoDisplayHelp.cmd",
    "content": "asp --help --version\n"
  },
  {
    "path": "SemanticData/AddressSpaceComplianceTestTool/DoExport.cmd",
    "content": "asp \"XMLModels\\DataTypeTest.NodeSet2.xml\" \"XMLModels\\ReferenceTest.NodeSet2.xml\" \"XMLModels\\ObjectTypeTest.NodeSet2.xml\" \"XMLModels\\VariableTypeTest.NodeSet2.xml\" -e \"XMLModels\\DataTypeTest.ModelDesign.xml\" -s XMLstylesheet -n \"http://cas.eu/UA/CommServer/UnitTests/DataTypeTest\"\n"
  },
  {
    "path": "SemanticData/AddressSpaceComplianceTestTool/DoExportXMLModels.cmd",
    "content": "asp \"XMLModels\\DataTypeTest.NodeSet2.xml\" -e \"XMLModels\\DataTypeTest.asp.xml\" -s XMLstylesheet -n \"http://cas.eu/UA/CommServer/UnitTests/DataTypeTest\"\nasp \"XMLModels\\ObjectTypeTest.NodeSet2.xml\" -e \"XMLModels\\ObjectTypeTest.asp.xml\" -s XMLstylesheet -n \"http://cas.eu/UA/CommServer/UnitTests/ObjectTypeTest\"\nasp \"XMLModels\\ReferenceTest.NodeSet2.xml\" -e \"XMLModels\\ReferenceTest.asp.xml\" -s XMLstylesheet -n \"http://cas.eu/UA/CommServer/UnitTests/ReferenceTest\"\nasp \"XMLModels\\VariableTypeTest.NodeSet2.xml\" -e \"XMLModels\\VariableTypeTest.asp.xml\" -s XMLstylesheet -n \"http://cas.eu/UA/CommServer/UnitTests/VariableTypeTest\""
  },
  {
    "path": "SemanticData/AddressSpaceComplianceTestTool/DoValidate.cmd",
    "content": "asp \"XMLModels\\DataTypeTest.NodeSet2.xml\" \"XMLModels\\ReferenceTest.NodeSet2.xml\" \"XMLModels\\ObjectTypeTest.NodeSet2.xml\" \"XMLModels\\VariableTypeTest.NodeSet2.xml\"\n"
  },
  {
    "path": "SemanticData/AddressSpaceComplianceTestTool/Program.cs",
    "content": "﻿//__________________________________________________________________________________________________\n//\n//  Copyright (C) 2022, Mariusz Postol LODZ POLAND.\n//\n//  To be in touch join the community at GitHub: https://github.com/mpostol/OPC-UA-OOI/discussions\n//__________________________________________________________________________________________________\n\nusing CommandLine;\nusing System;\nusing System.Collections.Generic;\nusing System.Diagnostics;\nusing System.IO;\nusing System.Reflection;\nusing System.Threading.Tasks;\nusing UAOOI.Common.Infrastructure.Diagnostic;\nusing UAOOI.SemanticData.AddressSpace.Abstractions;\nusing UAOOI.SemanticData.AddressSpacePrototyping.CommandLineSyntax;\nusing UAOOI.SemanticData.InformationModelFactory;\nusing UAOOI.SemanticData.UAModelDesignExport;\nusing UAOOI.SemanticData.UANodeSetValidation;\n\nnamespace UAOOI.SemanticData.AddressSpacePrototyping\n{\n  /// <summary>\n  /// Class Program - main entry point to the OPC UA Address Space Prototyping tool (asp.exe)\n  /// </summary>\n  public class Program\n  {\n    #region public API\n\n    public static void Main(string[] args)\n    {\n      Program program = new Program();\n      try\n      {\n        AssemblyName myAssembly = Assembly.GetExecutingAssembly().GetName();\n        program.AssemblyHeader = $\"Address Space Prototyping (asp.exe) Version {myAssembly.Version}\";\n        program.TraceSource.TraceData(TraceEventType.Information, 1637887218, program.AssemblyHeader);\n        program.TraceSource.TraceData(TraceEventType.Information, 1637887219, Copyright);\n        program.Execute(args);\n      }\n      catch (Exception ex)\n      {\n        string errorMessage = $\"Program stopped by the exception: {ex.Message}\";\n        Console.WriteLine(errorMessage);\n        program.TraceSource.TraceData(TraceEventType.Critical, 828896092, errorMessage);\n        Environment.Exit(1);\n      }\n    }\n\n    internal async Task Run(string[] args)\n    {\n      try\n      {\n        //TODO Integrate with the UA-ModelCompiler #648 https://github.com/commandlineparser/commandline/wiki/Verbs\n        await Task.Run(() => args.Parse<Options>(Do, HandleErrors));\n      }\n      catch (Exception ex)\n      {\n        Console.WriteLine(string.Format(\"Program stopped by the exception: {0}\", ex.Message));\n        throw;\n      }\n    }\n\n    private void DoValidateAndExportModel(Options options)\n    {\n      IAddressSpaceContext addressSpace = AddressSpaceFactory.AddressSpace();\n      DoValidateAndExportModel(options, addressSpace);\n    }\n\n    internal void DoValidateAndExportModel(Options options, IAddressSpaceContext addressSpace)\n    {\n      IModelDesignExport exporter = ModelDesignExportAPI.GetModelDesignExport(); //creates new instance of the ModelDesignExport class that captures functionality supporting export of the OPC UA Information Model represented\n                                                                                 //by an XML file compliant with UAModelDesign schema.\n      bool _exportModel = false;\n      IModelFactory modelFactory = null;\n      if (!string.IsNullOrEmpty(options.ModelDesignFileName))\n      {\n        modelFactory = exporter.GetFactory();  //Sets the information model factory, which can be used to export a part of the OPC UA Address Space.\n        _exportModel = true;\n      }\n      if (options.Filenames == null)\n        throw new ArgumentOutOfRangeException($\"{nameof(options.Filenames)}\", \"List of input files to convert is incorrect. At least one file UANodeSet must be entered.\");\n      if (string.IsNullOrEmpty(options.IMNamespace))\n        throw new ArgumentOutOfRangeException(\"namespace\", \"A namespace must be provided to validate associated model\");\n      Uri uri = new Uri(options.IMNamespace);\n      //m_TraceEvent.WriteTraceMessage(TraceMessage.DiagnosticTraceMessage(\"Entering AddressSpaceContext creator - starting creation the OPC UA Address Space.\"));\n      IUANodeSet _standard = UANodeSetValidation.XML.UANodeSet.ReadUADefinedTypes();\n      //m_TraceEvent.WriteTraceMessage(TraceMessage.DiagnosticTraceMessage(\"Address Space - the OPC UA defined has been uploaded.\"));\n      addressSpace.ImportUANodeSet(_standard);\n      foreach (string _path in options.Filenames)\n      {\n        FileInfo _fileToRead = new FileInfo(_path);\n        if (!_fileToRead.Exists)\n        {\n          string message = $\"The file {_fileToRead.FullName} doesn't exist.\";\n          TraceSource.TraceData(TraceEventType.Critical, 1637887215, message);\n          throw new FileNotFoundException(message, _path);\n        }\n        TraceSource.TraceData(TraceEventType.Verbose, 1637887216, $\"Importing UANodeSet document from file {_fileToRead.FullName}\");\n        IUANodeSet nodeSet = UANodeSetValidation.XML.UANodeSet.ReadModelFile(_fileToRead);\n        addressSpace.ImportUANodeSet(nodeSet);\n      }\n      TraceSource.TraceData(TraceEventType.Verbose, 1637887217, $\"Validating and exporting a model from namespace {uri}\");\n      addressSpace.ValidateAndExportModel(uri, modelFactory); //Validates and exports the selected model.\n      if (_exportModel)\n      {\n        TraceSource.TraceData(TraceEventType.Verbose, 1637887217, $\"Writing model to XML file {options.ModelDesignFileName}\");\n        exporter.ExportToXMLFile(options.ModelDesignFileName, options.Stylesheet); //Serializes the already generated model and writes the XML document to a file.\n      }\n    }\n\n    internal ITraceSource DebugITraceSource { set => TraceSource = value; }\n\n    #endregion public API\n\n    #region private\n\n    private string AssemblyHeader = String.Empty;\n    private ITraceSource TraceSource = new TraceSourceBase(\"AddressSpacePrototyping\");\n    private const string Copyright = \"Copyright(c) 2022 Mariusz Postol\";\n    private bool Running = true;\n\n    private void Execute(string[] args)\n    {\n      Task heartbeatTask = Heartbeat();\n      Run(args).Wait();\n      Running = false;\n      heartbeatTask.Wait();\n    }\n\n    private async Task Heartbeat()\n    {\n      await Task.Run(async () =>\n      {\n        int counter = 0;\n        while (Running)\n        {\n          await Task.Delay(1000);\n          Console.Write(\"\\r\");\n          if (counter % 2 == 0)\n            Console.Write(@\"\\\");\n          else\n            Console.Write(\"/\");\n          counter++;\n        }\n        TraceSource.TraceData(TraceEventType.Verbose, 918215642, $\"Execution time = {counter}s\");\n        Console.WriteLine();\n        Console.WriteLine($\"Execution time = {counter}s\");\n      });\n    }\n\n    private void HandleErrors(IEnumerable<Error> errors)\n    {\n      foreach (Error _item in errors)\n      {\n        string _processing = _item.StopsProcessing ? \"and it stops processing\" : \"but the processing continues\";\n        string errorMessage = $\"The list of command line parameters has the error: {_item.ToString()} {_processing}.\";\n        TraceSource.TraceData(TraceEventType.Error, 1230327407, errorMessage);\n        Console.WriteLine(errorMessage);\n      }\n    }\n\n    //TODO\n    private void Do(Options options)\n    {\n      PrintLogo(options.NoLogo);\n      TraceSource.TraceData(TraceEventType.Verbose, 6710129, \"Creating Address Space populated using Standard Model. It will take a while ...\");\n      //TODO Integrate with the UA-ModelCompiler #648\n      if (true)\n      {\n        //TODO Define independent Address Space API #645\n        ////m_TraceEvent.WriteTraceMessage(TraceMessage.DiagnosticTraceMessage(\"Entering AddressSpaceContext creator - starting creation the OPC UA Address Space.\"));\n        //IUANodeSet _standard = UANodeSetValidation.XML.UANodeSet.ReadUADefinedTypes();\n        ////m_TraceEvent.WriteTraceMessage(TraceMessage.DiagnosticTraceMessage(\"Address Space - the OPC UA defined has been uploaded.\"));\n        //IAddressSpaceContext addressSpace = AddressSpaceFactory.AddressSpace();\n        //addressSpace.ImportUANodeSet(_standard);\n        DoValidateAndExportModel(options); //, addressSpace);\n      }\n      else\n        ;\n    }\n\n    private void PrintLogo(bool nologo)\n    {\n      if (nologo)\n        return;\n      Console.WriteLine(AssemblyHeader);\n      Console.WriteLine(Copyright);\n      Console.WriteLine();\n    }\n\n    #endregion private\n\n    #region DEBUG\n\n    [Conditional(\"DEBUG\")]\n    internal void GetTraceSource(Action<ITraceSource> geter)\n    {\n      geter(TraceSource);\n    }\n\n    #endregion DEBUG\n  }\n}"
  },
  {
    "path": "SemanticData/AddressSpaceComplianceTestTool/Properties/AssemblyInfo.cs",
    "content": "﻿//_______________________________________________________________\n//  Title   : Assembly info for: Address Space Prototyping\n//  System  : Microsoft VisualStudio 2015 / C#\n//\n//  Copyright (C) 2022 Mariusz Postol LODZ POLAND\n//  +48 608 619 899\n//  mpostol@cas.eu\n//  https://github.com/mpostol/OPC-UA-OOI\n//_______________________________________________________________\n\nusing System.Reflection;\nusing System.Runtime.CompilerServices;\nusing System.Runtime.InteropServices;\n\n[assembly: AssemblyTitle(\"Address Space Prototyping\")]\n[assembly: AssemblyDescription(\"Command Line OPC UA Address Space Prototyping Tool\")]\n[assembly: AssemblyConfiguration(\"\")]\n[assembly: AssemblyCompany(\"Mariusz Postol\")]\n[assembly: AssemblyProduct(\"Object Oriented Internet\")]\n[assembly: AssemblyCopyright(\"Copyright (C) 2022 Mariusz Postol LODZ POLAND\")]\n[assembly: AssemblyTrademark(\"Object Oriented Internet\")]\n[assembly: AssemblyCulture(\"\")]\n[assembly: Guid(\"157926b5-f6a5-4496-84c2-f5f9dae937ae\")]\n[assembly: AssemblyVersion(\"6.5.6.*\")]\n[assembly: AssemblyFileVersion(\"6.5.6\")]\n[assembly: InternalsVisibleToAttribute(\"AddressSpaceComplianceTestToolUnitTests, PublicKey=00240000048000009400000006020000002400005253413100040000010001005b97a0972ff6b1\" +\n                                                                                          \"3a8a9ff9c09503aea0e5e2fe29cb2275a0c0942182f4c3431814b6bc9a556d9fe0d7e7823439c1\" +\n                                                                                          \"ba28521f6318e4c936c4461604ef668e9686c2021571b093e1bfba071b373bc56a07a3afdc120c\" +\n                                                                                          \"5313d39a935cda64b759f857ebb3db483641444a5347e1564f8ba6d4fad2f968d3caf9991a4fa6\" +\n                                                                                          \"aa019ebe\")]\n\n"
  },
  {
    "path": "SemanticData/AddressSpaceComplianceTestTool/Properties/AssemblyInfo.tt",
    "content": "﻿<#@ template debug=\"false\" hostspecific=\"false\" language=\"C#\" #>\n<#@ output extension=\".cs\" #>\n//_______________________________________________________________\n//  Title   : Assembly info for: <#=m_AssemblyTitle#>\n//  System  : Microsoft VisualStudio 2015 / C#\n//\n//  <#=AssemblyCopyright#>\n//  <#=Phone#>\n//  <#=Email#>\n//  <#=Url#>\n//_______________________________________________________________\n\nusing System.Reflection;\nusing System.Runtime.CompilerServices;\nusing System.Runtime.InteropServices;\n\n[assembly: AssemblyTitle(\"<#=m_AssemblyTitle#>\")]\n[assembly: AssemblyDescription(\"Command Line OPC UA Address Space Prototyping Tool\")]\n[assembly: AssemblyConfiguration(\"\")]\n[assembly: AssemblyCompany(\"<#=AssemblyCompany#>\")]\n[assembly: AssemblyProduct(\"<#=SemanticDataProduct#>\")]\n[assembly: AssemblyCopyright(\"<#=AssemblyCopyright#>\")]\n[assembly: AssemblyTrademark(\"<#=ProductTrademark#>\")]\n[assembly: AssemblyCulture(\"\")]\n[assembly: Guid(\"157926b5-f6a5-4496-84c2-f5f9dae937ae\")]\n[assembly: AssemblyVersion(\"<#= SemanticDataVersion #>.*\")]\n[assembly: AssemblyFileVersion(\"<#= SemanticDataVersion #>\")]\n[assembly: InternalsVisibleToAttribute(\"AddressSpaceComplianceTestToolUnitTests, PublicKey=00240000048000009400000006020000002400005253413100040000010001005b97a0972ff6b1\" +\n                                                                                          \"3a8a9ff9c09503aea0e5e2fe29cb2275a0c0942182f4c3431814b6bc9a556d9fe0d7e7823439c1\" +\n                                                                                          \"ba28521f6318e4c936c4461604ef668e9686c2021571b093e1bfba071b373bc56a07a3afdc120c\" +\n                                                                                          \"5313d39a935cda64b759f857ebb3db483641444a5347e1564f8ba6d4fad2f968d3caf9991a4fa6\" +\n                                                                                          \"aa019ebe\")]\n\n<#@ include file = \"..\\..\\..\\CommonResources\\T4Definitions\\Model.t4\" #>\n<#+\nstring m_AssemblyTitle = \"Address Space Prototyping\";\n#>\n"
  },
  {
    "path": "SemanticData/AddressSpaceComplianceTestTool/README.md",
    "content": "# Address Space Prototyping Tool (asp.exe)\n\n## Getting Started\n\nThe **OPC UA Address Space Prototyping** (asp.exe) is an engineering tool and can be utilized in several ways:\n\n- creates `UA Address Space` populated using input XML files compliant with the `UANodeSet` schema defined in Part 6 Annex F.\n- validates an instance of the `UA Address Space` against the OPC UA specification 1.04.\n- exports XML file compliant with the `ModelDesign` schema that may be used as the input for the [OPC UA Information Model Compiler][OPC.UA.ModelCompiler].\n\nThese instructions will get you a copy of the software up and running on your local machine for development and testing purposes. See deployment for notes on how to deploy the project on a live system.\n\n## Syntax\n\n```txt\nasp { filePath } [(-e | --export=) filePath] [ (-s | --stylesheet=)*stylesheetName* ] (-n | --namespace=) ns [--nologo]\n\nasp [--help] [--version]\n\nasp [help] [version]\n\n```\n\n### Argument\n\n| Argument   | Description                                                                                                                                                                                                         |\n| ---------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |\n| *filePath* | Specifies the input file to populate the internal `UA Address Space`. At least one file containing `UA Address Space` model compliant with `UANodeSet` schema must be specified. Many files can be entered at once. |\n\n### General Options\n\n| Option    | Description                                                                                                                                                                                                                                                                                         |\n| --------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |\n| `help`    | Displays command syntax and options for the tool. It halts processing and displays the help screen. The help screen is also displayed when the parsing process fails, along with the clear and explicit description of every error encountered. The switch or the built-in `help` verb can be used. |\n| `version` | Prints version information. The switch or the built-in `version` verb can be used.                                                                                                                                                                                                                  |\n| `nologo`  | Suppresses the banner.                                                                                                                                                                                                                                                                              |\n\n### ModelDesign Options\n\n| Option                              | Description                                                                                                                                                  |\n| ----------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------ |\n| `e`[ `xport` ] *path*               | Specifies the output file containing the ModelDesign XML document.                                                                                           |\n| `s`[ `tylesheet` ] *stylesheetName* | Name of the stylesheet document (XSLT - eXtensible Stylesheet Language Transformations). With XSLT you can transform an XML document into any text document. |\n| `n`[ `amespace` ] *ns*              | Specifies the namespace of the model to be processed.                                                                                                        |\n\n### Command-line Syntax\n\nThe following table describes the notation used to indicate command-line syntax.\n\n| Notation                        | Description                                        |\n| ------------------------------- | -------------------------------------------------- |\n| Text without brackets or braces | Items you must type as shown                       |\n| Text Italic                     | Placeholder for which you must supply a value      |\n| [Text inside square brackets]   | Optional items                                     |\n| {Text inside braces}            | Items that can be repeated                         |\n| \\| Vertical bar                 | Separator for mutually exclusive items; choose one |\n\n## Deployment\n\nThe current binary release containing ready to use application is available on the repository [Releases][OOI.Releases] page. Download and run the file to unzip the content to the selected folder. Now you may run the application file `asp.exe`. The section `Examples` cover details on how to get started using attached examples.\n\nThe application is located on the GitHub at [OPC-UA-OOI][OPC-UA-OOI] and maintained as the project\n\n- [`OPC-UA-OOI/SemanticData/AddressSpaceComplianceTestTool/`](https://github.com/mpostol/OPC-UA-OOI/tree/master/SemanticData/AddressSpaceComplianceTestTool).\n\n## Examples\n\n### Common Task Scrips\n\nThere are the following Windows Command shell scripts attached to the software and located in the main folder where the downloaded file has been unzipped:\n\n- `DoDisplayHelp.cmd` -  displays a help screen and version information\n- `DoValidate.cmd` - validates the `UA Address Space` content populated using the `XMLModels\\DataTypeTest.NodeSet2.xml` XML document\n- `DoExport.cmd` - validates the `UA Address Space` populated as above and exports the model to the `XMLModels\\DataTypeTest.ModelDesign.xml`\n\n> NOTE: The folder `XMLModels` also contains an example `DataTypeTest.NodeSet2.xml` XML document compliant with `UANodeSet` used by above-mentioned scripts. For your convenience, the folder also contains relevant schema files.\n\n### How to Display Help\n\nRun the script `DoDisplayHelp.cmd` or enter the following command\n\n``` C#\nasp --help --version\n```\n\nIt allows you to display a help screen and version information. A similar screen is used to report syntax errors to the end user.\n\n### How to validate `UA Address Space` consistency\n\nRun the script `DoValidate.cmd` or enter the following command\n\n``` txt\nasp \"XMLModels\\DataTypeTest.NodeSet2.xml\"\n```\n\nThe screen will contain a verbose listing of diagnostic messages related to the processing of the input file `DataTypeTest.NodeSet2.xml` The messages can be examined to improve the files used to populate the `UA Address Space` and remove any inconsistency against the OPC UA Specification 1.04.\n\n### How to Export Selected Model to ModelDesign\n\nRun the script `DoExport.cmd` or enter a similar command to the following one\n\n``` txt\nasp \"XMLModels\\DataTypeTest.NodeSet2.xml\" -e \"XMLModels\\DataTypeTest.ModelDesign.xml\" -s XMLstylesheet\n```\n\nThe screen will contain a verbose listing of diagnostic messages related to the processing of the input file - `DataTypeTest.NodeSet2.xml` in this example. All inconsistency problems will be fixed on a best-effort attempt basis. Finally, the model will be exported to the file `XMLModels\\DataTypeTest.ModelDesign.xml`.  \n\nThe model contains the XSLT instruction\n\n```XML\n<?xml-stylesheet type=\"text/xsl\" href=\"XMLstylesheet\"?>\n```\n\nto transform XML documents into other formats (like transforming XML into HTML, PDF, mark-down, etc).\n\n- XSL (eXtensible Stylesheet Language) is a styling language for XML.\n- XSLT stands for XSL Transformations.\n\nHave a look at W3C documentation [XSLT Introduction][XSLT Introduction] to get more about XML transformation\n\n### Remarks\n\n- **Versioning**\n\nWe use [Semantic Versioning 2.0.0](http://semver.org/) for versioning. For the versions available, see the [releases][OOI.Releases] page of the project.\n\n- **Related work**\n\nThe `ModelDesign` exporter has been derived from the [CAS Address Space Model Designer][CAS.ASMD] component.\n\n- **Contributing**\n\nPlease read [CONTRIBUTING.md][CONTRIBUTING.md] for details, and the process for submitting pull requests to us. Let me know in case any problems related to documentation, application asp.exe or the libraries is encountered.\n\n- **License**\n\nThis software is licensed under the MIT License - see the [LICENSE.md][LICENSE.md] file for details.\n\n- **Version limitations**\n\n## See also\n\n- [Mariusz Postol. OPC UA Information Model Deployment. 2016. Version 1.2][CAS.OPCUAIMD] [![DOI](https://zenodo.org/badge/DOI/10.5281/zenodo.2586616.svg)](https://doi.org/10.5281/zenodo.2586616)\n- [![ebook](https://img.shields.io/badge/OOI-read_on_Gitbook-brightgreen.svg)](https://commsvr.gitbook.io/ooi) - the ebook **Object Oriented Internet** contains description of this project.\n- [OPC-UA-OOI Home Page][OPC-UA-OOI]\n- [OPC Unified Architecture][wordpress.opc-ua]\n- [OPC Unified Architecture - Main Technological Features][wordpress.OPCUAMTF]\n- [OPC UA Makes Complex Data Processing Possible][wordpress.OPCUACD]\n- [OPC UA Address Space Model Designer][CAS.ASMD]\n- [XSLT Introduction][XSLT Introduction]\n- [OPC UA Information Model Compiler][OPC.UA.ModelCompiler]\n- [How to contribute][CONTRIBUTING.md]\n\n[CAS.OPCUAIMD]: https://zenodo.org/record/2586616#.XdAT5FdKiUk\n[wordpress.opc-ua]: https://mpostol.wordpress.com/opc-ua/\n[wordpress.OPCUAMTF]: https://mpostol.wordpress.com/2013/08/04/opc-unified-architecture-main-technological-features/\n[wordpress.OPCUACD]: https://mpostol.wordpress.com/2014/05/08/opc-ua-makes-complex-data-access-possible/\n[LICENSE.md]: https://github.com/mpostol/OPC-UA-OOI/blob/master/license.md\n[CONTRIBUTING.md]: https://github.com/mpostol/OPC-UA-OOI/blob/master/CONTRIBUTING.md\n[OPC-UA-OOI]: https://github.com/mpostol/OPC-UA-OOI\n[OOI.Releases]: https://github.com/mpostol/OPC-UA-OOI/releases\n[CAS.ASMD]: https://github.com/mpostol/ASMD\n[OPC.UA.ModelCompiler]: https://github.com/mpostol/UA-ModelCompiler#opc-ua-information-model-compiler-\n[XSLT Introduction]: https://www.w3schools.com/xml/xsl_intro.asp\n"
  },
  {
    "path": "SemanticData/AddressSpaceComplianceTestTool/SemanticData.AddressSpaceComplianceTestTool.csproj",
    "content": "﻿<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<Project ToolsVersion=\"12.0\" DefaultTargets=\"Build\" xmlns=\"http://schemas.microsoft.com/developer/msbuild/2003\">\n  <Import Project=\"$(MSBuildExtensionsPath)\\$(MSBuildToolsVersion)\\Microsoft.Common.props\" Condition=\"Exists('$(MSBuildExtensionsPath)\\$(MSBuildToolsVersion)\\Microsoft.Common.props')\" />\n  <PropertyGroup>\n    <Configuration Condition=\" '$(Configuration)' == '' \">Debug</Configuration>\n    <Platform Condition=\" '$(Platform)' == '' \">AnyCPU</Platform>\n    <ProjectGuid>{05DB9E60-B12B-4AA3-8A7C-514F87CFF464}</ProjectGuid>\n    <OutputType>Exe</OutputType>\n    <AppDesignerFolder>Properties</AppDesignerFolder>\n    <RootNamespace>UAOOI.SemanticData.AddressSpacePrototyping</RootNamespace>\n    <AssemblyName>asp</AssemblyName>\n    <TargetFrameworkVersion>v4.7.2</TargetFrameworkVersion>\n    <FileAlignment>512</FileAlignment>\n    <AutoGenerateBindingRedirects>true</AutoGenerateBindingRedirects>\n    <TargetFrameworkProfile />\n  </PropertyGroup>\n  <PropertyGroup Condition=\" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' \">\n    <PlatformTarget>AnyCPU</PlatformTarget>\n    <DebugSymbols>true</DebugSymbols>\n    <DebugType>full</DebugType>\n    <Optimize>false</Optimize>\n    <OutputPath>bin\\Debug\\</OutputPath>\n    <DefineConstants>TRACE;DEBUG</DefineConstants>\n    <ErrorReport>prompt</ErrorReport>\n    <WarningLevel>4</WarningLevel>\n    <UseVSHostingProcess>false</UseVSHostingProcess>\n    <NoWarn>IDE0001,IDE0002,IDE0003;IDE0049</NoWarn>\n  </PropertyGroup>\n  <PropertyGroup Condition=\" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' \">\n    <PlatformTarget>AnyCPU</PlatformTarget>\n    <DebugType>pdbonly</DebugType>\n    <Optimize>true</Optimize>\n    <OutputPath>bin\\Release\\</OutputPath>\n    <DefineConstants>TRACE</DefineConstants>\n    <ErrorReport>prompt</ErrorReport>\n    <WarningLevel>4</WarningLevel>\n  </PropertyGroup>\n  <PropertyGroup>\n    <SignAssembly>true</SignAssembly>\n  </PropertyGroup>\n  <PropertyGroup>\n    <AssemblyOriginatorKeyFile>OPCUAOOIKey.snk</AssemblyOriginatorKeyFile>\n  </PropertyGroup>\n  <PropertyGroup>\n    <StartupObject>UAOOI.SemanticData.AddressSpacePrototyping.Program</StartupObject>\n  </PropertyGroup>\n  <ItemGroup>\n    <Reference Include=\"CommandLine, Version=2.9.1.0, Culture=neutral, PublicKeyToken=5a870481e358d379, processorArchitecture=MSIL\">\n      <HintPath>..\\..\\packages\\CommandLineParser.2.9.1\\lib\\net461\\CommandLine.dll</HintPath>\n    </Reference>\n    <Reference Include=\"CommonServiceLocator, Version=2.0.6.0, Culture=neutral, PublicKeyToken=489b6accfaf20ef0, processorArchitecture=MSIL\">\n      <HintPath>..\\..\\packages\\CommonServiceLocator.2.0.6\\lib\\net47\\CommonServiceLocator.dll</HintPath>\n    </Reference>\n    <Reference Include=\"System\" />\n    <Reference Include=\"System.Core\" />\n    <Reference Include=\"System.Xml.Linq\" />\n    <Reference Include=\"System.Data.DataSetExtensions\" />\n    <Reference Include=\"Microsoft.CSharp\" />\n    <Reference Include=\"System.Data\" />\n    <Reference Include=\"System.Xml\" />\n    <Reference Include=\"UAOOI.Common.Infrastructure, Version=6.4.6.0, Culture=neutral, PublicKeyToken=deede3c2df331bb0, processorArchitecture=MSIL\">\n      <HintPath>..\\..\\packages\\UAOOI.Common.Infrastructure.6.4.7\\lib\\netstandard2.0\\UAOOI.Common.Infrastructure.dll</HintPath>\n    </Reference>\n  </ItemGroup>\n  <ItemGroup>\n    <Compile Include=\"CommandLineSyntax\\Options.cs\" />\n    <Compile Include=\"CommandLineSyntax\\Extensions.cs\" />\n    <Compile Include=\"Program.cs\" />\n    <Compile Include=\"Properties\\AssemblyInfo.cs\">\n      <AutoGen>True</AutoGen>\n      <DesignTime>True</DesignTime>\n      <DependentUpon>AssemblyInfo.tt</DependentUpon>\n    </Compile>\n  </ItemGroup>\n  <ItemGroup>\n    <None Include=\"App.config\" />\n    <None Include=\"DoDisplayHelp.cmd\">\n      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>\n    </None>\n    <None Include=\"DoExport.cmd\">\n      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>\n    </None>\n    <None Include=\"DoExportXMLModels.cmd\">\n      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>\n    </None>\n    <None Include=\"OPCUAOOIKey.snk\" />\n    <None Include=\"packages.config\" />\n    <None Include=\"Properties\\AssemblyInfo.tt\">\n      <Generator>TextTemplatingFileGenerator</Generator>\n      <LastGenOutput>AssemblyInfo.cs</LastGenOutput>\n    </None>\n    <None Include=\"README.md\" />\n  </ItemGroup>\n  <ItemGroup>\n    <Service Include=\"{508349B6-6B84-4DF5-91F0-309BEEBAD82D}\" />\n  </ItemGroup>\n  <ItemGroup>\n    <None Include=\"DoValidate.cmd\">\n      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>\n    </None>\n  </ItemGroup>\n  <ItemGroup>\n    <None Include=\"XMLModels\\DataTypeTest.NodeSet2.xml\">\n      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>\n    </None>\n    <None Include=\"XMLModels\\ObjectTypeTest.NodeSet2.xml\">\n      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>\n    </None>\n    <None Include=\"XMLModels\\ReferenceTest.NodeSet2.xml\">\n      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>\n    </None>\n    <None Include=\"XMLModels\\VariableTypeTest.NodeSet2.xml\">\n      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>\n    </None>\n  </ItemGroup>\n  <ItemGroup>\n    <ProjectReference Include=\"..\\InformationModelFactory\\SemanticData.InformationModelFactory.csproj\">\n      <Project>{6d20785d-0451-46a9-9ac2-ec66b7c0d18a}</Project>\n      <Name>SemanticData.InformationModelFactory</Name>\n    </ProjectReference>\n    <ProjectReference Include=\"..\\UAModelDesignExport\\SemanticData.UAModelDesignExport.csproj\">\n      <Project>{c970c14c-98aa-48a9-9f6f-d00c92fa6cef}</Project>\n      <Name>SemanticData.UAModelDesignExport</Name>\n    </ProjectReference>\n    <ProjectReference Include=\"..\\UANodeSetValidation\\SemanticData.UANodeSetValidation.csproj\">\n      <Project>{352378a0-8b2e-4679-bb44-fd0bcc8467d9}</Project>\n      <Name>SemanticData.UANodeSetValidation</Name>\n    </ProjectReference>\n  </ItemGroup>\n  <Import Project=\"$(MSBuildToolsPath)\\Microsoft.CSharp.targets\" />\n  <!-- To modify your build process, add your task inside one of the targets below and uncomment it. \n       Other similar extension points exist, see Microsoft.Common.targets.\n  <Target Name=\"BeforeBuild\">\n  </Target>\n  <Target Name=\"AfterBuild\">\n  </Target>\n  -->\n</Project>"
  },
  {
    "path": "SemanticData/AddressSpaceComplianceTestTool/XMLModels/DataTypeTest.NodeSet2.xml",
    "content": "﻿<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<UANodeSet xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\" xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xmlns=\"http://opcfoundation.org/UA/2011/03/UANodeSet.xsd\">\n  <NamespaceUris>\n    <Uri>http://cas.eu/UA/CommServer/UnitTests/DataTypeTest</Uri>\n  </NamespaceUris>\n  <Models>\n    <Model ModelUri=\"http://cas.eu/UA/CommServer/UnitTests/DataTypeTest\">\n      <RequiredModel ModelUri=\"http://opcfoundation.org/UA/\" Version=\"1.04\" PublicationDate=\"2016-12-31T00:00:00Z\" />\n    </Model>\n  </Models>\n  <Aliases>\n    <Alias Alias=\"Boolean\">i=1</Alias>\n    <Alias Alias=\"SByte\">i=2</Alias>\n    <Alias Alias=\"Byte\">i=3</Alias>\n    <Alias Alias=\"Int16\">i=4</Alias>\n    <Alias Alias=\"UInt16\">i=5</Alias>\n    <Alias Alias=\"Int32\">i=6</Alias>\n    <Alias Alias=\"UInt32\">i=7</Alias>\n    <Alias Alias=\"Int64\">i=8</Alias>\n    <Alias Alias=\"UInt64\">i=9</Alias>\n    <Alias Alias=\"Float\">i=10</Alias>\n    <Alias Alias=\"Double\">i=11</Alias>\n    <Alias Alias=\"DateTime\">i=13</Alias>\n    <Alias Alias=\"String\">i=12</Alias>\n    <Alias Alias=\"ByteString\">i=15</Alias>\n    <Alias Alias=\"Guid\">i=14</Alias>\n    <Alias Alias=\"XmlElement\">i=16</Alias>\n    <Alias Alias=\"NodeId\">i=17</Alias>\n    <Alias Alias=\"ExpandedNodeId\">i=18</Alias>\n    <Alias Alias=\"QualifiedName\">i=20</Alias>\n    <Alias Alias=\"LocalizedText\">i=21</Alias>\n    <Alias Alias=\"StatusCode\">i=19</Alias>\n    <Alias Alias=\"Structure\">i=22</Alias>\n    <Alias Alias=\"Number\">i=26</Alias>\n    <Alias Alias=\"Integer\">i=27</Alias>\n    <Alias Alias=\"UInteger\">i=28</Alias>\n    <Alias Alias=\"HasComponent\">i=47</Alias>\n    <Alias Alias=\"HasProperty\">i=46</Alias>\n    <Alias Alias=\"Organizes\">i=35</Alias>\n    <Alias Alias=\"HasEventSource\">i=36</Alias>\n    <Alias Alias=\"HasNotifier\">i=48</Alias>\n    <Alias Alias=\"HasSubtype\">i=45</Alias>\n    <Alias Alias=\"HasTypeDefinition\">i=40</Alias>\n    <Alias Alias=\"HasModellingRule\">i=37</Alias>\n    <Alias Alias=\"HasEncoding\">i=38</Alias>\n    <Alias Alias=\"HasDescription\">i=39</Alias>\n  </Aliases>\n  <UADataType NodeId=\"ns=1;i=9\" BrowseName=\"1:AbstractEnumerationDataType\" IsAbstract=\"true\">\n    <DisplayName>AbstractEnumerationDataType</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=10</Reference>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=29</Reference>\n    </References>\n    <Definition Name=\"AbstractEnumerationDataType\">\n      <Field Name=\"Field1\" Value=\"0\" />\n      <Field Name=\"Field2\" Value=\"1\" />\n    </Definition>\n  </UADataType>\n  <UAVariable NodeId=\"ns=1;i=10\" BrowseName=\"EnumStrings\" ParentNodeId=\"ns=1;i=9\" DataType=\"LocalizedText\" ValueRank=\"1\">\n    <DisplayName>EnumStrings</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=9</Reference>\n    </References>\n    <Value>\n      <ListOfLocalizedText xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <LocalizedText>\n          <Locale>\n          </Locale>\n          <Text>Field1</Text>\n        </LocalizedText>\n        <LocalizedText>\n          <Locale>\n          </Locale>\n          <Text>Field2</Text>\n        </LocalizedText>\n      </ListOfLocalizedText>\n    </Value>\n  </UAVariable>\n  <UADataType NodeId=\"ns=1;i=11\" BrowseName=\"1:EnumerationDataType\">\n    <DisplayName>EnumerationDataType</DisplayName>\n    <Description>Enumeration DataType derived from abstract type</Description>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=12</Reference>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">ns=1;i=9</Reference>\n    </References>\n    <Definition Name=\"EnumerationDataType\">\n      <Field Name=\"Field3\" Value=\"1\" />\n    </Definition>\n  </UADataType>\n  <UAVariable NodeId=\"ns=1;i=12\" BrowseName=\"EnumValues\" ParentNodeId=\"ns=1;i=11\" DataType=\"i=7594\" ValueRank=\"1\">\n    <DisplayName>EnumValues</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=11</Reference>\n    </References>\n    <Value>\n      <ListOfExtensionObject xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=7616</Identifier>\n          </TypeId>\n          <Body>\n            <EnumValueType>\n              <Value>1</Value>\n              <DisplayName>\n                <Locale>\n                </Locale>\n                <Text>Field3</Text>\n              </DisplayName>\n              <Description p5:nil=\"true\" xmlns:p5=\"http://www.w3.org/2001/XMLSchema-instance\" />\n            </EnumValueType>\n          </Body>\n        </ExtensionObject>\n      </ListOfExtensionObject>\n    </Value>\n  </UAVariable>\n  <UADataType NodeId=\"ns=1;i=13\" BrowseName=\"1:AbstractStructure\" IsAbstract=\"true\">\n    <DisplayName>AbstractStructure</DisplayName>\n    <Description>Abstract structure</Description>\n    <References>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=22</Reference>\n    </References>\n    <Definition Name=\"AbstractStructure\">\n      <Field Name=\"Number\" DataType=\"i=26\" />\n    </Definition>\n  </UADataType>\n  <UADataType NodeId=\"ns=1;i=22\" BrowseName=\"1:DerivedStructure\">\n    <DisplayName>DerivedStructure</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">ns=1;i=13</Reference>\n    </References>\n    <Definition Name=\"DerivedStructure\">\n      <Field Name=\"Number\" DataType=\"i=6\">\n        <Description>Derived from Number</Description>\n      </Field>\n    </Definition>\n  </UADataType>\n  <UAObject NodeId=\"ns=1;i=14\" BrowseName=\"Default XML\" SymbolicName=\"DefaultXml\">\n    <DisplayName>Default XML</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasEncoding\" IsForward=\"false\">ns=1;i=13</Reference>\n      <Reference ReferenceType=\"HasDescription\">ns=1;i=15</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=76</Reference>\n    </References>\n  </UAObject>\n  <UAObject NodeId=\"ns=1;i=23\" BrowseName=\"Default XML\" SymbolicName=\"DefaultXml\">\n    <DisplayName>Default XML</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasEncoding\" IsForward=\"false\">ns=1;i=22</Reference>\n      <Reference ReferenceType=\"HasDescription\">ns=1;i=24</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=76</Reference>\n    </References>\n  </UAObject>\n  <UAVariable NodeId=\"ns=1;i=2\" BrowseName=\"1:DataTypeTest\" SymbolicName=\"cas_XmlSchema\" DataType=\"ByteString\">\n    <DisplayName>DataTypeTest</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=4</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=15</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=24</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=92</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=72</Reference>\n    </References>\n    <Value>\n      <ByteString xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">PHhzOnNjaGVtYQ0KICB4bWxuczp4cz0iaHR0cDovL3d3dy53My5vcmcvMjAwMS9YTUxTY2hlbWEi\nDQogIHhtbG5zOnVhPSJodHRwOi8vb3BjZm91bmRhdGlvbi5vcmcvVUEvMjAwOC8wMi9UeXBlcy54\nc2QiDQogIHhtbG5zOnRucz0iaHR0cDovL2Nhcy5ldS9VQS9Db21tU2VydmVyL1VuaXRUZXN0cy9E\nYXRhVHlwZVRlc3QiDQogIHRhcmdldE5hbWVzcGFjZT0iaHR0cDovL2Nhcy5ldS9VQS9Db21tU2Vy\ndmVyL1VuaXRUZXN0cy9EYXRhVHlwZVRlc3QiDQogIGVsZW1lbnRGb3JtRGVmYXVsdD0icXVhbGlm\naWVkIg0KPg0KICA8eHM6aW1wb3J0IG5hbWVzcGFjZT0iaHR0cDovL29wY2ZvdW5kYXRpb24ub3Jn\nL1VBLyIgLz4NCg0KICA8eHM6c2ltcGxlVHlwZSAgbmFtZT0iQWJzdHJhY3RFbnVtZXJhdGlvbkRh\ndGFUeXBlIj4NCiAgICA8eHM6cmVzdHJpY3Rpb24gYmFzZT0ieHM6c3RyaW5nIj4NCiAgICAgIDx4\nczplbnVtZXJhdGlvbiB2YWx1ZT0iRmllbGQxXzAiIC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24g\ndmFsdWU9IkZpZWxkMl8xIiAvPg0KICAgIDwveHM6cmVzdHJpY3Rpb24+DQogIDwveHM6c2ltcGxl\nVHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iQWJzdHJhY3RFbnVtZXJhdGlvbkRhdGFUeXBlIiB0\neXBlPSJ0bnM6QWJzdHJhY3RFbnVtZXJhdGlvbkRhdGFUeXBlIiAvPg0KDQogIDx4czpjb21wbGV4\nVHlwZSBuYW1lPSJMaXN0T2ZBYnN0cmFjdEVudW1lcmF0aW9uRGF0YVR5cGUiPg0KICAgIDx4czpz\nZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkFic3RyYWN0RW51bWVyYXRpb25EYXRh\nVHlwZSIgdHlwZT0idG5zOkFic3RyYWN0RW51bWVyYXRpb25EYXRhVHlwZSIgbWluT2NjdXJzPSIw\nIiBtYXhPY2N1cnM9InVuYm91bmRlZCIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNv\nbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJMaXN0T2ZBYnN0cmFjdEVudW1lcmF0aW9u\nRGF0YVR5cGUiIHR5cGU9InRuczpMaXN0T2ZBYnN0cmFjdEVudW1lcmF0aW9uRGF0YVR5cGUiIG5p\nbGxhYmxlPSJ0cnVlIj48L3hzOmVsZW1lbnQ+DQoNCiAgPHhzOnNpbXBsZVR5cGUgIG5hbWU9IkVu\ndW1lcmF0aW9uRGF0YVR5cGUiPg0KICAgIDx4czphbm5vdGF0aW9uPg0KICAgICAgPHhzOmRvY3Vt\nZW50YXRpb24+RW51bWVyYXRpb24gRGF0YVR5cGUgZGVyaXZlZCBmcm9tIGFic3RyYWN0IHR5cGU8\nL3hzOmRvY3VtZW50YXRpb24+DQogICAgPC94czphbm5vdGF0aW9uPg0KICAgIDx4czpyZXN0cmlj\ndGlvbiBiYXNlPSJ4czpzdHJpbmciPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJGaWVs\nZDNfMSIgLz4NCiAgICA8L3hzOnJlc3RyaWN0aW9uPg0KICA8L3hzOnNpbXBsZVR5cGU+DQogIDx4\nczplbGVtZW50IG5hbWU9IkVudW1lcmF0aW9uRGF0YVR5cGUiIHR5cGU9InRuczpFbnVtZXJhdGlv\nbkRhdGFUeXBlIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJMaXN0T2ZFbnVtZXJhdGlv\nbkRhdGFUeXBlIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJF\nbnVtZXJhdGlvbkRhdGFUeXBlIiB0eXBlPSJ0bnM6RW51bWVyYXRpb25EYXRhVHlwZSIgbWluT2Nj\ndXJzPSIwIiBtYXhPY2N1cnM9InVuYm91bmRlZCIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8\nL3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJMaXN0T2ZFbnVtZXJhdGlvbkRh\ndGFUeXBlIiB0eXBlPSJ0bnM6TGlzdE9mRW51bWVyYXRpb25EYXRhVHlwZSIgbmlsbGFibGU9InRy\ndWUiPjwveHM6ZWxlbWVudD4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iQWJzdHJhY3RTdHJ1\nY3R1cmUiPg0KICAgIDx4czphbm5vdGF0aW9uPg0KICAgICAgPHhzOmRvY3VtZW50YXRpb24+QWJz\ndHJhY3Qgc3RydWN0dXJlPC94czpkb2N1bWVudGF0aW9uPg0KICAgIDwveHM6YW5ub3RhdGlvbj4N\nCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJOdW1iZXIiIHR5cGU9\nInVhOlZhcmlhbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hz\nOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJBYnN0cmFjdFN0cnVjdHVyZSIgdHlw\nZT0idG5zOkFic3RyYWN0U3RydWN0dXJlIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJM\naXN0T2ZBYnN0cmFjdFN0cnVjdHVyZSI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVs\nZW1lbnQgbmFtZT0iQWJzdHJhY3RTdHJ1Y3R1cmUiIHR5cGU9InRuczpBYnN0cmFjdFN0cnVjdHVy\nZSIgbWluT2NjdXJzPSIwIiBtYXhPY2N1cnM9InVuYm91bmRlZCIgbmlsbGFibGU9InRydWUiIC8+\nDQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQg\nbmFtZT0iTGlzdE9mQWJzdHJhY3RTdHJ1Y3R1cmUiIHR5cGU9InRuczpMaXN0T2ZBYnN0cmFjdFN0\ncnVjdHVyZSIgbmlsbGFibGU9InRydWUiPjwveHM6ZWxlbWVudD4NCg0KICA8eHM6Y29tcGxleFR5\ncGUgbmFtZT0iRGVyaXZlZFN0cnVjdHVyZSI+DQogICAgPHhzOmNvbXBsZXhDb250ZW50IG1peGVk\nPSJmYWxzZSI+DQogICAgICA8eHM6ZXh0ZW5zaW9uIGJhc2U9InRuczpBYnN0cmFjdFN0cnVjdHVy\nZSI+DQogICAgICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJO\ndW1iZXIiIHR5cGU9InhzOmludCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgICA8L3hzOnNlcXVl\nbmNlPg0KICAgICAgPC94czpleHRlbnNpb24+DQogICAgPC94czpjb21wbGV4Q29udGVudD4NCiAg\nPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iRGVyaXZlZFN0cnVjdHVyZSIg\ndHlwZT0idG5zOkRlcml2ZWRTdHJ1Y3R1cmUiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9\nIkxpc3RPZkRlcml2ZWRTdHJ1Y3R1cmUiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czpl\nbGVtZW50IG5hbWU9IkRlcml2ZWRTdHJ1Y3R1cmUiIHR5cGU9InRuczpEZXJpdmVkU3RydWN0dXJl\nIiBtaW5PY2N1cnM9IjAiIG1heE9jY3Vycz0idW5ib3VuZGVkIiBuaWxsYWJsZT0idHJ1ZSIgLz4N\nCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBu\nYW1lPSJMaXN0T2ZEZXJpdmVkU3RydWN0dXJlIiB0eXBlPSJ0bnM6TGlzdE9mRGVyaXZlZFN0cnVj\ndHVyZSIgbmlsbGFibGU9InRydWUiPjwveHM6ZWxlbWVudD4NCg0KPC94czpzY2hlbWE+</ByteString>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=4\" BrowseName=\"NamespaceUri\" ParentNodeId=\"ns=1;i=2\" DataType=\"String\">\n    <DisplayName>NamespaceUri</DisplayName>\n    <Description>A URI that uniquely identifies the dictionary.</Description>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=2</Reference>\n    </References>\n    <Value>\n      <String xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">http://cas.eu/UA/CommServer/UnitTests/DataTypeTest</String>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=15\" BrowseName=\"1:AbstractStructure\" ParentNodeId=\"ns=1;i=2\" DataType=\"String\">\n    <DisplayName>AbstractStructure</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=69</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=2</Reference>\n    </References>\n    <Value>\n      <String xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">//xs:element[@name='AbstractStructure']</String>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=24\" BrowseName=\"1:DerivedStructure\" ParentNodeId=\"ns=1;i=2\" DataType=\"String\">\n    <DisplayName>DerivedStructure</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=69</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=2</Reference>\n    </References>\n    <Value>\n      <String xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">//xs:element[@name='DerivedStructure']</String>\n    </Value>\n  </UAVariable>\n  <UAObject NodeId=\"ns=1;i=18\" BrowseName=\"Default Binary\" SymbolicName=\"DefaultBinary\">\n    <DisplayName>Default Binary</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasEncoding\" IsForward=\"false\">ns=1;i=13</Reference>\n      <Reference ReferenceType=\"HasDescription\">ns=1;i=19</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=76</Reference>\n    </References>\n  </UAObject>\n  <UAObject NodeId=\"ns=1;i=27\" BrowseName=\"Default Binary\" SymbolicName=\"DefaultBinary\">\n    <DisplayName>Default Binary</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasEncoding\" IsForward=\"false\">ns=1;i=22</Reference>\n      <Reference ReferenceType=\"HasDescription\">ns=1;i=28</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=76</Reference>\n    </References>\n  </UAObject>\n  <UAVariable NodeId=\"ns=1;i=5\" BrowseName=\"1:DataTypeTest\" SymbolicName=\"cas_BinarySchema\" DataType=\"ByteString\">\n    <DisplayName>DataTypeTest</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=7</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=19</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=28</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=93</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=72</Reference>\n    </References>\n    <Value>\n      <ByteString xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">PG9wYzpUeXBlRGljdGlvbmFyeQ0KICB4bWxuczpvcGM9Imh0dHA6Ly9vcGNmb3VuZGF0aW9uLm9y\nZy9CaW5hcnlTY2hlbWEvIg0KICB4bWxuczp4c2k9Imh0dHA6Ly93d3cudzMub3JnLzIwMDEvWE1M\nU2NoZW1hLWluc3RhbmNlIg0KICB4bWxuczp1YT0iaHR0cDovL29wY2ZvdW5kYXRpb24ub3JnL1VB\nLyINCiAgeG1sbnM6dG5zPSJodHRwOi8vY2FzLmV1L1VBL0NvbW1TZXJ2ZXIvVW5pdFRlc3RzL0Rh\ndGFUeXBlVGVzdCINCiAgRGVmYXVsdEJ5dGVPcmRlcj0iTGl0dGxlRW5kaWFuIg0KICBUYXJnZXRO\nYW1lc3BhY2U9Imh0dHA6Ly9jYXMuZXUvVUEvQ29tbVNlcnZlci9Vbml0VGVzdHMvRGF0YVR5cGVU\nZXN0Ig0KPg0KICA8IS0tIFRoaXMgRmlsZSB3YXMgZ2VuZXJhdGVkIG9uIDIwMTktMDUtMTEgYW5k\nIHN1cHBvcnRzIHRoZSBzcGVjaWZpY2F0aW9ucyBzdXBwb3J0ZWQgYnkgdmVyc2lvbiAxLjIuMjYu\nMTYwMzIgb2YgdGhlIE9QQyBVQSBkZWxpdmVyYWJsZXMuIC0tPg0KICA8b3BjOkltcG9ydCBOYW1l\nc3BhY2U9Imh0dHA6Ly9vcGNmb3VuZGF0aW9uLm9yZy9VQS8iIExvY2F0aW9uPSIuQmluYXJ5U2No\nZW1hLmJzZCIvPg0KDQogIDxvcGM6RW51bWVyYXRlZFR5cGUgTmFtZT0iQWJzdHJhY3RFbnVtZXJh\ndGlvbkRhdGFUeXBlIiBMZW5ndGhJbkJpdHM9IjMyIj4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1\nZSBOYW1lPSJGaWVsZDEiIFZhbHVlPSIwIiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5h\nbWU9IkZpZWxkMiIgVmFsdWU9IjEiIC8+DQogIDwvb3BjOkVudW1lcmF0ZWRUeXBlPg0KDQogIDxv\ncGM6RW51bWVyYXRlZFR5cGUgTmFtZT0iRW51bWVyYXRpb25EYXRhVHlwZSIgTGVuZ3RoSW5CaXRz\nPSIzMiI+DQogICAgPG9wYzpEb2N1bWVudGF0aW9uPkVudW1lcmF0aW9uIERhdGFUeXBlIGRlcml2\nZWQgZnJvbSBhYnN0cmFjdCB0eXBlPC9vcGM6RG9jdW1lbnRhdGlvbj4NCiAgICA8b3BjOkVudW1l\ncmF0ZWRWYWx1ZSBOYW1lPSJGaWVsZDEiIFZhbHVlPSIwIiAvPg0KICAgIDxvcGM6RW51bWVyYXRl\nZFZhbHVlIE5hbWU9IkZpZWxkMiIgVmFsdWU9IjEiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFs\ndWUgTmFtZT0iRmllbGQzIiBWYWx1ZT0iMSIgLz4NCiAgPC9vcGM6RW51bWVyYXRlZFR5cGU+DQoN\nCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJBYnN0cmFjdFN0cnVjdHVyZSIgQmFzZVR5cGU9\nInVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpEb2N1bWVudGF0aW9uPkFic3RyYWN0IHN0\ncnVjdHVyZTwvb3BjOkRvY3VtZW50YXRpb24+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOdW1iZXIi\nIFR5cGVOYW1lPSJ1YTpWYXJpYW50IiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8\nb3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IkRlcml2ZWRTdHJ1Y3R1cmUiIEJhc2VUeXBlPSJ0bnM6\nQWJzdHJhY3RTdHJ1Y3R1cmUiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTnVtYmVyIiBUeXBlTmFt\nZT0idWE6VmFyaWFudCIgU291cmNlVHlwZT0idG5zOkFic3RyYWN0U3RydWN0dXJlIiAvPg0KICAg\nIDxvcGM6RmllbGQgTmFtZT0iTnVtYmVyIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICA8L29w\nYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KPC9vcGM6VHlwZURpY3Rpb25hcnk+</ByteString>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=7\" BrowseName=\"NamespaceUri\" ParentNodeId=\"ns=1;i=5\" DataType=\"String\">\n    <DisplayName>NamespaceUri</DisplayName>\n    <Description>A URI that uniquely identifies the dictionary.</Description>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=5</Reference>\n    </References>\n    <Value>\n      <String xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">http://cas.eu/UA/CommServer/UnitTests/DataTypeTest</String>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=19\" BrowseName=\"1:AbstractStructure\" ParentNodeId=\"ns=1;i=5\" DataType=\"String\">\n    <DisplayName>AbstractStructure</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=69</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=5</Reference>\n    </References>\n    <Value>\n      <String xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">AbstractStructure</String>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=28\" BrowseName=\"1:DerivedStructure\" ParentNodeId=\"ns=1;i=5\" DataType=\"String\">\n    <DisplayName>DerivedStructure</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=69</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=5</Reference>\n    </References>\n    <Value>\n      <String xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">DerivedStructure</String>\n    </Value>\n  </UAVariable>\n</UANodeSet>"
  },
  {
    "path": "SemanticData/AddressSpaceComplianceTestTool/XMLModels/ObjectTypeTest.NodeSet2.xml",
    "content": "﻿<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<UANodeSet xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\" xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xmlns=\"http://opcfoundation.org/UA/2011/03/UANodeSet.xsd\">\n  <NamespaceUris>\n    <Uri>http://cas.eu/UA/CommServer/UnitTests/ObjectTypeTest</Uri>\n  </NamespaceUris>\n  <Models>\n    <Model ModelUri=\"http://cas.eu/UA/CommServer/UnitTests/ObjectTypeTest\">\n      <RequiredModel ModelUri=\"http://opcfoundation.org/UA/\" Version=\"1.04\" PublicationDate=\"2016-12-31T00:00:00Z\" />\n    </Model>\n  </Models>\n  <Aliases>\n    <Alias Alias=\"Boolean\">i=1</Alias>\n    <Alias Alias=\"SByte\">i=2</Alias>\n    <Alias Alias=\"Byte\">i=3</Alias>\n    <Alias Alias=\"Int16\">i=4</Alias>\n    <Alias Alias=\"UInt16\">i=5</Alias>\n    <Alias Alias=\"Int32\">i=6</Alias>\n    <Alias Alias=\"UInt32\">i=7</Alias>\n    <Alias Alias=\"Int64\">i=8</Alias>\n    <Alias Alias=\"UInt64\">i=9</Alias>\n    <Alias Alias=\"Float\">i=10</Alias>\n    <Alias Alias=\"Double\">i=11</Alias>\n    <Alias Alias=\"DateTime\">i=13</Alias>\n    <Alias Alias=\"String\">i=12</Alias>\n    <Alias Alias=\"ByteString\">i=15</Alias>\n    <Alias Alias=\"Guid\">i=14</Alias>\n    <Alias Alias=\"XmlElement\">i=16</Alias>\n    <Alias Alias=\"NodeId\">i=17</Alias>\n    <Alias Alias=\"ExpandedNodeId\">i=18</Alias>\n    <Alias Alias=\"QualifiedName\">i=20</Alias>\n    <Alias Alias=\"LocalizedText\">i=21</Alias>\n    <Alias Alias=\"StatusCode\">i=19</Alias>\n    <Alias Alias=\"Structure\">i=22</Alias>\n    <Alias Alias=\"Number\">i=26</Alias>\n    <Alias Alias=\"Integer\">i=27</Alias>\n    <Alias Alias=\"UInteger\">i=28</Alias>\n    <Alias Alias=\"HasComponent\">i=47</Alias>\n    <Alias Alias=\"HasProperty\">i=46</Alias>\n    <Alias Alias=\"Organizes\">i=35</Alias>\n    <Alias Alias=\"HasEventSource\">i=36</Alias>\n    <Alias Alias=\"HasNotifier\">i=48</Alias>\n    <Alias Alias=\"HasSubtype\">i=45</Alias>\n    <Alias Alias=\"HasTypeDefinition\">i=40</Alias>\n    <Alias Alias=\"HasModellingRule\">i=37</Alias>\n    <Alias Alias=\"HasEncoding\">i=38</Alias>\n    <Alias Alias=\"HasDescription\">i=39</Alias>\n  </Aliases>\n  <UAObjectType NodeId=\"ns=1;i=1\" BrowseName=\"1:ComplexObjectType\">\n    <DisplayName>ComplexObjectType</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=2</Reference>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=3</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=43</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=10</Reference>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=58</Reference>\n    </References>\n  </UAObjectType>\n  <UAObject NodeId=\"ns=1;i=2\" BrowseName=\"1:ChildObject\" ParentNodeId=\"ns=1;i=1\" EventNotifier=\"1\">\n    <DisplayName>ChildObject</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=58</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=11510</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=1</Reference>\n    </References>\n  </UAObject>\n  <UAVariable NodeId=\"ns=1;i=3\" BrowseName=\"1:ChildProperty\" SymbolicName=\"BrowseName4node66\" ParentNodeId=\"ns=1;i=1\" DataType=\"LocalizedText\">\n    <DisplayName>ChildProperty</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=1</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=43\" BrowseName=\"1:ChildVariable\" ParentNodeId=\"ns=1;i=1\" DataType=\"Number\">\n    <DisplayName>ChildVariable</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=47</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=2368</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=1</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=47\" BrowseName=\"EURange\" ParentNodeId=\"ns=1;i=43\" DataType=\"i=884\">\n    <DisplayName>EURange</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=43</Reference>\n    </References>\n  </UAVariable>\n  <UAMethod NodeId=\"ns=1;i=10\" BrowseName=\"1:ChildMethod\" ParentNodeId=\"ns=1;i=1\">\n    <DisplayName>ChildMethod</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=1</Reference>\n    </References>\n  </UAMethod>\n  <UAObjectType NodeId=\"ns=1;i=16\" BrowseName=\"1:DerivedFromComplexObjectType\">\n    <DisplayName>DerivedFromComplexObjectType</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=25</Reference>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">ns=1;i=1</Reference>\n    </References>\n  </UAObjectType>\n  <UAMethod NodeId=\"ns=1;i=25\" BrowseName=\"1:ChildMethod\" ParentNodeId=\"ns=1;i=16\" MethodDeclarationId=\"ns=1;i=10\">\n    <DisplayName>ChildMethodNewName</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=16</Reference>\n    </References>\n  </UAMethod>\n  <UAObject NodeId=\"ns=1;i=30\" BrowseName=\"1:InstanceOfDerivedFromComplexObjectType\">\n    <DisplayName>InstanceOfDerivedFromComplexObjectType</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=32</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=55</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=39</Reference>\n      <Reference ReferenceType=\"Organizes\" IsForward=\"false\">i=85</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">ns=1;i=16</Reference>\n    </References>\n  </UAObject>\n  <UAVariable NodeId=\"ns=1;i=32\" BrowseName=\"1:ChildProperty\" SymbolicName=\"BrowseName4node66\" ParentNodeId=\"ns=1;i=30\" DataType=\"LocalizedText\">\n    <DisplayName>ChildProperty</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=30</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=55\" BrowseName=\"1:ChildVariable\" ParentNodeId=\"ns=1;i=30\" DataType=\"Number\">\n    <DisplayName>ChildVariable</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=59</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=2368</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=30</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=59\" BrowseName=\"EURange\" ParentNodeId=\"ns=1;i=55\" DataType=\"i=884\">\n    <DisplayName>EURange</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=55</Reference>\n    </References>\n  </UAVariable>\n  <UAMethod NodeId=\"ns=1;i=39\" BrowseName=\"1:ChildMethod\" ParentNodeId=\"ns=1;i=30\" MethodDeclarationId=\"ns=1;i=10\">\n    <DisplayName>ChildMethodNewName</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=30</Reference>\n    </References>\n  </UAMethod>\n</UANodeSet>"
  },
  {
    "path": "SemanticData/AddressSpaceComplianceTestTool/XMLModels/ReferenceTest.NodeSet2.xml",
    "content": "﻿<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<UANodeSet xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\" xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xmlns=\"http://opcfoundation.org/UA/2011/03/UANodeSet.xsd\">\n  <NamespaceUris>\n    <Uri>http://cas.eu/UA/CommServer/UnitTests/ReferenceTest</Uri>\n  </NamespaceUris>\n  <Models>\n    <Model ModelUri=\"http://cas.eu/UA/CommServer/UnitTests/ReferenceTest\">\n      <RequiredModel ModelUri=\"http://opcfoundation.org/UA/\" Version=\"1.04\" PublicationDate=\"2016-12-31T00:00:00Z\" />\n    </Model>\n  </Models>\n  <Aliases>\n    <Alias Alias=\"Boolean\">i=1</Alias>\n    <Alias Alias=\"SByte\">i=2</Alias>\n    <Alias Alias=\"Byte\">i=3</Alias>\n    <Alias Alias=\"Int16\">i=4</Alias>\n    <Alias Alias=\"UInt16\">i=5</Alias>\n    <Alias Alias=\"Int32\">i=6</Alias>\n    <Alias Alias=\"UInt32\">i=7</Alias>\n    <Alias Alias=\"Int64\">i=8</Alias>\n    <Alias Alias=\"UInt64\">i=9</Alias>\n    <Alias Alias=\"Float\">i=10</Alias>\n    <Alias Alias=\"Double\">i=11</Alias>\n    <Alias Alias=\"DateTime\">i=13</Alias>\n    <Alias Alias=\"String\">i=12</Alias>\n    <Alias Alias=\"ByteString\">i=15</Alias>\n    <Alias Alias=\"Guid\">i=14</Alias>\n    <Alias Alias=\"XmlElement\">i=16</Alias>\n    <Alias Alias=\"NodeId\">i=17</Alias>\n    <Alias Alias=\"ExpandedNodeId\">i=18</Alias>\n    <Alias Alias=\"QualifiedName\">i=20</Alias>\n    <Alias Alias=\"LocalizedText\">i=21</Alias>\n    <Alias Alias=\"StatusCode\">i=19</Alias>\n    <Alias Alias=\"Structure\">i=22</Alias>\n    <Alias Alias=\"Number\">i=26</Alias>\n    <Alias Alias=\"Integer\">i=27</Alias>\n    <Alias Alias=\"UInteger\">i=28</Alias>\n    <Alias Alias=\"HasComponent\">i=47</Alias>\n    <Alias Alias=\"HasProperty\">i=46</Alias>\n    <Alias Alias=\"Organizes\">i=35</Alias>\n    <Alias Alias=\"HasEventSource\">i=36</Alias>\n    <Alias Alias=\"HasNotifier\">i=48</Alias>\n    <Alias Alias=\"HasSubtype\">i=45</Alias>\n    <Alias Alias=\"HasTypeDefinition\">i=40</Alias>\n    <Alias Alias=\"HasModellingRule\">i=37</Alias>\n    <Alias Alias=\"HasEncoding\">i=38</Alias>\n    <Alias Alias=\"HasDescription\">i=39</Alias>\n  </Aliases>\n  <UAReferenceType NodeId=\"ns=1;i=1\" BrowseName=\"1:ReferenceTypeTest\">\n    <DisplayName>ReferenceTypeTest</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=46</Reference>\n    </References>\n    <InverseName>FromSomwhere</InverseName>\n  </UAReferenceType>\n</UANodeSet>"
  },
  {
    "path": "SemanticData/AddressSpaceComplianceTestTool/XMLModels/VariableTypeTest.NodeSet2.xml",
    "content": "﻿<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<UANodeSet xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\" xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xmlns=\"http://opcfoundation.org/UA/2011/03/UANodeSet.xsd\">\n  <NamespaceUris>\n    <Uri>http://cas.eu/UA/CommServer/UnitTests/VariableTypeTest</Uri>\n  </NamespaceUris>\n  <Models>\n    <Model ModelUri=\"http://cas.eu/UA/CommServer/UnitTests/VariableTypeTest\">\n      <RequiredModel ModelUri=\"http://opcfoundation.org/UA/\" Version=\"1.04\" PublicationDate=\"2016-12-31T00:00:00Z\" />\n    </Model>\n  </Models>\n  <Aliases>\n    <Alias Alias=\"Boolean\">i=1</Alias>\n    <Alias Alias=\"SByte\">i=2</Alias>\n    <Alias Alias=\"Byte\">i=3</Alias>\n    <Alias Alias=\"Int16\">i=4</Alias>\n    <Alias Alias=\"UInt16\">i=5</Alias>\n    <Alias Alias=\"Int32\">i=6</Alias>\n    <Alias Alias=\"UInt32\">i=7</Alias>\n    <Alias Alias=\"Int64\">i=8</Alias>\n    <Alias Alias=\"UInt64\">i=9</Alias>\n    <Alias Alias=\"Float\">i=10</Alias>\n    <Alias Alias=\"Double\">i=11</Alias>\n    <Alias Alias=\"DateTime\">i=13</Alias>\n    <Alias Alias=\"String\">i=12</Alias>\n    <Alias Alias=\"ByteString\">i=15</Alias>\n    <Alias Alias=\"Guid\">i=14</Alias>\n    <Alias Alias=\"XmlElement\">i=16</Alias>\n    <Alias Alias=\"NodeId\">i=17</Alias>\n    <Alias Alias=\"ExpandedNodeId\">i=18</Alias>\n    <Alias Alias=\"QualifiedName\">i=20</Alias>\n    <Alias Alias=\"LocalizedText\">i=21</Alias>\n    <Alias Alias=\"StatusCode\">i=19</Alias>\n    <Alias Alias=\"Structure\">i=22</Alias>\n    <Alias Alias=\"Number\">i=26</Alias>\n    <Alias Alias=\"Integer\">i=27</Alias>\n    <Alias Alias=\"UInteger\">i=28</Alias>\n    <Alias Alias=\"HasComponent\">i=47</Alias>\n    <Alias Alias=\"HasProperty\">i=46</Alias>\n    <Alias Alias=\"Organizes\">i=35</Alias>\n    <Alias Alias=\"HasEventSource\">i=36</Alias>\n    <Alias Alias=\"HasNotifier\">i=48</Alias>\n    <Alias Alias=\"HasSubtype\">i=45</Alias>\n    <Alias Alias=\"HasTypeDefinition\">i=40</Alias>\n    <Alias Alias=\"HasModellingRule\">i=37</Alias>\n    <Alias Alias=\"HasEncoding\">i=38</Alias>\n    <Alias Alias=\"HasDescription\">i=39</Alias>\n  </Aliases>\n  <UAVariableType NodeId=\"ns=1;i=8\" BrowseName=\"1:ComplexVariableType\" DataType=\"Number\">\n    <DisplayName>ComplexVariableType</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=12</Reference>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=14</Reference>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=2368</Reference>\n    </References>\n  </UAVariableType>\n  <UAVariable NodeId=\"ns=1;i=12\" BrowseName=\"EURange\" ParentNodeId=\"ns=1;i=8\" DataType=\"i=884\">\n    <DisplayName>NewDisplayName</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=8</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=14\" BrowseName=\"1:VariableChild\" ParentNodeId=\"ns=1;i=8\" DataType=\"Int32\" AccessLevel=\"2\">\n    <DisplayName>VariableChild</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=8</Reference>\n    </References>\n  </UAVariable>\n  <UAVariableType NodeId=\"ns=1;i=15\" BrowseName=\"1:ArrayVariableType\" DataType=\"Int32\" ValueRank=\"3\" ArrayDimensions=\"0,0,0\">\n    <DisplayName>ArrayVariableType</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=63</Reference>\n    </References>\n  </UAVariableType>\n  <UAVariableType NodeId=\"ns=1;i=16\" BrowseName=\"1:SimpleVariableWithValueType\" DataType=\"Int32\">\n    <DisplayName>SimpleVariableWithValueType</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=63</Reference>\n    </References>\n    <Value>\n      <Int32 xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">1</Int32>\n    </Value>\n  </UAVariableType>\n</UANodeSet>"
  },
  {
    "path": "SemanticData/AddressSpaceComplianceTestTool/packages.config",
    "content": "﻿<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<packages>\n  <package id=\"CommandLineParser\" version=\"2.9.1\" targetFramework=\"net472\" />\n  <package id=\"CommonServiceLocator\" version=\"2.0.6\" targetFramework=\"net472\" />\n  <package id=\"UAOOI.Common.Infrastructure\" version=\"6.4.7\" targetFramework=\"net472\" />\n</packages>"
  },
  {
    "path": "SemanticData/AdoptingCompanionStandardADI.md",
    "content": "# Adopting Companion Standard Models - Analyzer Devices Integration\n\n## Introduction\n\nAn analyzer is a device comprised of one or more measurement channels, which has its own configuration, status and control. There is a variety of analyzer groups such as light spectrometers, particle size monitoring systems, imaging particle size monitoring systems, acoustic spectrometers, mass spectrometers, chromatographs, imaging systems and nuclear magnetic resonance spectrometers. These groups can be extended and each group can also be further divided.\n\nThe main goal of the analyzer device is to provide process data that is generated from scaled data by applying a chemometric model.\n\nProcess data is typically represented as a scalar value or a set of scalar values and it is often used for process control. Examples of process data are: concentration, moisture and hardness.\n\nScaled data is generated from raw data and represents an actual measurement expressed in meaningful units. Scaled data is typically an array of numbers. Examples of scaled data are: absorbance, scatter intensity. To obtain scaled data a mathematical description - analyzer model - of the process and associated information to convert raw data into scaled data is used. Raw Data is generated by an analyzer representing an actual measurement. Raw data is typically represented as an array of numbers. Examples of raw data are: raw spectrum, chromatogram and particle size bin count.\n\nThe analyzer configuration is a set of values of all parameters that when set, put the analyzer in a well-defined state.\n\nAnalyzers contain measurement channels. A channel is a subset of an analyzer that represents a specific sensing port and associated data, which includes raw and scaled data (e.g. spectrum), configuration, status and control.\n\nTo enhance the analyzer behavior or operation replaceable accessories are used. An accessory is a physical device that can be mounted directly on the analyzer or analyzer channel. Examples of accessories are: vial holder, filter wheel, auger, and heater. The accessories are attached using accessory slots.\n\nA sampling point is a physical interface point on the process where the process is monitored. To provide mapping between a channel and a process sampling points the concept of stream is used.\n\nBecause there is a large variety of analyzer types from various vendors with many different types of data, including complex arrays and structures, the integration of the analyzers and control and monitoring systems is a real challenge. Initiatives such as Process Analytical Technology are driving analyzer integration and the best way to accomplish this is via open standards. To address the problem two questions can be asked:\n\n- How to get access to (transport) the process data?\n- How to represent (model) the process data?\n\nTo answer the first question we need a universally accepted, platform-neutral communication standard that allows also addressing the second question, i.e. designing an appropriate information model. OPC Unified Architecture technology meets all the requirements, because:\n\n- It is a platform neutral standard allowing for easy embedded implementation.\n- It is designed to support complex data types and object models.\n- It is designed to achieve high speed data transfers using efficient binary protocols.\n- It has broad industry support beyond just process automation and is being used in support of other industry\nstandards such as S95, S88, EDDL, MIMOSA, OAGiS.\n"
  },
  {
    "path": "SemanticData/BuildingErrorsHandling/BuildErrors.cs",
    "content": "﻿\n//__________________________________________________________________________________________________\n//\n//  Copyright (C) 2021, Mariusz Postol LODZ POLAND.\n//\n//  To be in touch join the community at GitHub: https://github.com/mpostol/OPC-UA-OOI/discussions\n//__________________________________________________________________________________________________\n\nnamespace UAOOI.SemanticData.BuildingErrorsHandling\n{\n  /// <summary>\n  /// Class BuildError - provides building descriptions of building errors. \n  /// </summary>\n  public partial class BuildError\n  {\n    /// <summary>\n    /// Error: P3-0305000000; Focus: Reference; It is not allowed that References are used to create a looping hierarchy.\n    /// </summary>\n    /// <value>An instance of <see cref=\"BuildError\"/> describing the error P3-0305000000.</value>\n    public static BuildError NotValidLoopingHierarchy { get { return new BuildError() \n                  { Focus = Focus.Reference, \n                    Identifier = \"P3-0305000000\", \n                    Descriptor = \"It is not allowed that References are used to create a looping hierarchy.\" }; } }\n    /// <summary>\n    /// Error: P0-0001010000; Focus: Diagnostic; The XML attribute or element is not supported and neglected.\n    /// </summary>\n    /// <value>An instance of <see cref=\"BuildError\"/> describing the error P0-0001010000.</value>\n    public static BuildError NotSupportedFeature { get { return new BuildError() \n                  { Focus = Focus.Diagnostic, \n                    Identifier = \"P0-0001010000\", \n                    Descriptor = \"The XML attribute or element is not supported and neglected.\" }; } }\n    /// <summary>\n    /// Error: P0-0001020000; Focus: XML; Node cannot be null\n    /// </summary>\n    /// <value>An instance of <see cref=\"BuildError\"/> describing the error P0-0001020000.</value>\n    public static BuildError NodeCannotBeNull { get { return new BuildError() \n                  { Focus = Focus.XML, \n                    Identifier = \"P0-0001020000\", \n                    Descriptor = \"Node cannot be null\" }; } }\n    /// <summary>\n    /// Error: P0-0001030000; Focus: XML; Models element cannot be null or empty\n    /// </summary>\n    /// <value>An instance of <see cref=\"BuildError\"/> describing the error P0-0001030000.</value>\n    public static BuildError ModelsCannotBeNull { get { return new BuildError() \n                  { Focus = Focus.XML, \n                    Identifier = \"P0-0001030000\", \n                    Descriptor = \"Models element cannot be null or empty\" }; } }\n    /// <summary>\n    /// Error: P0-0001040000; Focus: XML; NamespaceUris element cannot be null or empty\n    /// </summary>\n    /// <value>An instance of <see cref=\"BuildError\"/> describing the error P0-0001040000.</value>\n    public static BuildError NamespaceUrisCannotBeNull { get { return new BuildError() \n                  { Focus = Focus.XML, \n                    Identifier = \"P0-0001040000\", \n                    Descriptor = \"NamespaceUris element cannot be null or empty\" }; } }\n    /// <summary>\n    /// Error: P0-0001050000; Focus: XML; Selected model contains errors.\n    /// </summary>\n    /// <value>An instance of <see cref=\"BuildError\"/> describing the error P0-0001050000.</value>\n    public static BuildError ModelContainsErrors { get { return new BuildError() \n                  { Focus = Focus.XML, \n                    Identifier = \"P0-0001050000\", \n                    Descriptor = \"Selected model contains errors.\" }; } }\n    /// <summary>\n    /// Error: P0-0002010000; Focus: NonCategorized; General processing error see trace for details.\n    /// </summary>\n    /// <value>An instance of <see cref=\"BuildError\"/> describing the error P0-0002010000.</value>\n    public static BuildError NonCategorized { get { return new BuildError() \n                  { Focus = Focus.NonCategorized, \n                    Identifier = \"P0-0002010000\", \n                    Descriptor = \"General processing error see trace for details.\" }; } }\n    /// <summary>\n    /// Error: P0-0003010000; Focus: Diagnostic; It is diagnostic information\n    /// </summary>\n    /// <value>An instance of <see cref=\"BuildError\"/> describing the error P0-0003010000.</value>\n    public static BuildError DiagnosticInformation { get { return new BuildError() \n                  { Focus = Focus.Diagnostic, \n                    Identifier = \"P0-0003010000\", \n                    Descriptor = \"It is diagnostic information\" }; } }\n    /// <summary>\n    /// Error: P0-0605020209; Focus: NodeClass; The syntax of the NodeId is not valid.\n    /// </summary>\n    /// <value>An instance of <see cref=\"BuildError\"/> describing the error P0-0605020209.</value>\n    public static BuildError NodeIdInvalidSyntax { get { return new BuildError() \n                  { Focus = Focus.NodeClass, \n                    Identifier = \"P0-0605020209\", \n                    Descriptor = \"The syntax of the NodeId is not valid.\" }; } }\n    /// <summary>\n    /// Error: P0-0605020210; Focus: NodeClass; The syntax of the ExpandedNodeId is not valid.\n    /// </summary>\n    /// <value>An instance of <see cref=\"BuildError\"/> describing the error P0-0605020210.</value>\n    public static BuildError ExpandedNodeIdInvalidSyntax { get { return new BuildError() \n                  { Focus = Focus.NodeClass, \n                    Identifier = \"P0-0605020210\", \n                    Descriptor = \"The syntax of the ExpandedNodeId is not valid.\" }; } }\n    /// <summary>\n    /// Error: P6-0503021400; Focus: DataEncoding; The syntax of the QualifiedName is not valid.\n    /// </summary>\n    /// <value>An instance of <see cref=\"BuildError\"/> describing the error P6-0503021400.</value>\n    public static BuildError QualifiedNameInvalidSyntax { get { return new BuildError() \n                  { Focus = Focus.DataEncoding, \n                    Identifier = \"P6-0503021400\", \n                    Descriptor = \"The syntax of the QualifiedName is not valid.\" }; } }\n    /// <summary>\n    /// Error: P3-0403040000; Focus: NodeClass; The reference target doesn't exist. OPC UA does not require that the TargetNode exists, thus References may point to a Node that does not exist.\n    /// </summary>\n    /// <value>An instance of <see cref=\"BuildError\"/> describing the error P3-0403040000.</value>\n    public static BuildError DanglingReferenceTarget { get { return new BuildError() \n                  { Focus = Focus.NodeClass, \n                    Identifier = \"P3-0403040000\", \n                    Descriptor = \"The reference target doesn't exist. OPC UA does not require that the TargetNode exists, thus References may point to a Node that does not exist.\" }; } }\n    /// <summary>\n    /// Error: P3-0502020000; Focus: NodeClass; Nodes shall be unambiguously identified using NodeId\n    /// </summary>\n    /// <value>An instance of <see cref=\"BuildError\"/> describing the error P3-0502020000.</value>\n    public static BuildError NodeIdDuplicated { get { return new BuildError() \n                  { Focus = Focus.NodeClass, \n                    Identifier = \"P3-0502020000\", \n                    Descriptor = \"Nodes shall be unambiguously identified using NodeId\" }; } }\n    /// <summary>\n    /// Error: P3-0502020001; Focus: NodeClass; NodeId is not defined.\n    /// </summary>\n    /// <value>An instance of <see cref=\"BuildError\"/> describing the error P3-0502020001.</value>\n    public static BuildError NodeIdNotDefined { get { return new BuildError() \n                  { Focus = Focus.NodeClass, \n                    Identifier = \"P3-0502020001\", \n                    Descriptor = \"NodeId is not defined.\" }; } }\n    /// <summary>\n    /// Error: P3-0502050000; Focus: NodeClass; The string part of the DisplayName is restricted to 512 characters.\n    /// </summary>\n    /// <value>An instance of <see cref=\"BuildError\"/> describing the error P3-0502050000.</value>\n    public static BuildError WrongDisplayNameLength { get { return new BuildError() \n                  { Focus = Focus.NodeClass, \n                    Identifier = \"P3-0502050000\", \n                    Descriptor = \"The string part of the DisplayName is restricted to 512 characters.\" }; } }\n    /// <summary>\n    /// Error: P3-0502070000; Focus: NodeClass; The value must be less than 0x200000 for the UAVariable and less than 0x400000 for other node types.\n    /// </summary>\n    /// <value>An instance of <see cref=\"BuildError\"/> describing the error P3-0502070000.</value>\n    public static BuildError WrongWriteMaskValue { get { return new BuildError() \n                  { Focus = Focus.NodeClass, \n                    Identifier = \"P3-0502070000\", \n                    Descriptor = \"The value must be less than 0x200000 for the UAVariable and less than 0x400000 for other node types.\" }; } }\n    /// <summary>\n    /// Error: P3-0856000000; Focus: NodeClass; The value must be less than 0x7.\n    /// </summary>\n    /// <value>An instance of <see cref=\"BuildError\"/> describing the error P3-0856000000.</value>\n    public static BuildError WrongAccessRestriction { get { return new BuildError() \n                  { Focus = Focus.NodeClass, \n                    Identifier = \"P3-0856000000\", \n                    Descriptor = \"The value must be less than 0x7.\" }; } }\n    /// <summary>\n    /// Error: P3-0503020000; Focus: NodeClass; Unexpected value of the InverseName.\n    /// </summary>\n    /// <value>An instance of <see cref=\"BuildError\"/> describing the error P3-0503020000.</value>\n    public static BuildError WrongInverseName { get { return new BuildError() \n                  { Focus = Focus.NodeClass, \n                    Identifier = \"P3-0503020000\", \n                    Descriptor = \"Unexpected value of the InverseName.\" }; } }\n    /// <summary>\n    /// Error: P3-0503020001; Focus: NodeClass; The BrowseName of a ReferenceType shall be unique.\n    /// </summary>\n    /// <value>An instance of <see cref=\"BuildError\"/> describing the error P3-0503020001.</value>\n    public static BuildError DuplicatedReferenceType { get { return new BuildError() \n                  { Focus = Focus.NodeClass, \n                    Identifier = \"P3-0503020001\", \n                    Descriptor = \"The BrowseName of a ReferenceType shall be unique.\" }; } }\n    /// <summary>\n    /// Error: P3-0503020002; Focus: NodeClass; The BrowseName of a ReferenceType is defined outside of the model.\n    /// </summary>\n    /// <value>An instance of <see cref=\"BuildError\"/> describing the error P3-0503020002.</value>\n    public static BuildError BrowseNameReferenceTypeScope { get { return new BuildError() \n                  { Focus = Focus.NodeClass, \n                    Identifier = \"P3-0503020002\", \n                    Descriptor = \"The BrowseName of a ReferenceType is defined outside of the model.\" }; } }\n    /// <summary>\n    /// Error: P3-0503030201; Focus: Reference; Wrong Reference type targeting the Property component.\n    /// </summary>\n    /// <value>An instance of <see cref=\"BuildError\"/> describing the error P3-0503030201.</value>\n    public static BuildError WrongReference2Property { get { return new BuildError() \n                  { Focus = Focus.Reference, \n                    Identifier = \"P3-0503030201\", \n                    Descriptor = \"Wrong Reference type targeting the Property component.\" }; } }\n    /// <summary>\n    /// Error: P3-0505010000; Focus: NodeClass; Object NodeClass: EventNotifier is out of range.\n    /// </summary>\n    /// <value>An instance of <see cref=\"BuildError\"/> describing the error P3-0505010000.</value>\n    public static BuildError WrongEventNotifier { get { return new BuildError() \n                  { Focus = Focus.NodeClass, \n                    Identifier = \"P3-0505010000\", \n                    Descriptor = \"Object NodeClass: EventNotifier is out of range.\" }; } }\n    /// <summary>\n    /// Error: P3-0505010001; Focus: NodeClass; Object NodeClass: Value of the EventNotifier attribute is not supported.\n    /// </summary>\n    /// <value>An instance of <see cref=\"BuildError\"/> describing the error P3-0505010001.</value>\n    public static BuildError EventNotifierValueNotSupported { get { return new BuildError() \n                  { Focus = Focus.NodeClass, \n                    Identifier = \"P3-0505010001\", \n                    Descriptor = \"Object NodeClass: Value of the EventNotifier attribute is not supported.\" }; } }\n    /// <summary>\n    /// Error: P3-0506020000; Focus: NodeClass; ValueRank value is out of range.\n    /// </summary>\n    /// <value>An instance of <see cref=\"BuildError\"/> describing the error P3-0506020000.</value>\n    public static BuildError WrongValueRank { get { return new BuildError() \n                  { Focus = Focus.NodeClass, \n                    Identifier = \"P3-0506020000\", \n                    Descriptor = \"ValueRank value is out of range.\" }; } }\n    /// <summary>\n    /// Error: P3-0506040000; Focus: NodeClass; AccessLevel value is out of range.\n    /// </summary>\n    /// <value>An instance of <see cref=\"BuildError\"/> describing the error P3-0506040000.</value>\n    public static BuildError WrongAccessLevel { get { return new BuildError() \n                  { Focus = Focus.NodeClass, \n                    Identifier = \"P3-0506040000\", \n                    Descriptor = \"AccessLevel value is out of range.\" }; } }\n    /// <summary>\n    /// Error: P3-0707000000; Focus: Reference; Wrong Reference type targeting the DataVariable component.\n    /// </summary>\n    /// <value>An instance of <see cref=\"BuildError\"/> describing the error P3-0707000000.</value>\n    public static BuildError WrongReference2Variable { get { return new BuildError() \n                  { Focus = Focus.Reference, \n                    Identifier = \"P3-0707000000\", \n                    Descriptor = \"Wrong Reference type targeting the DataVariable component.\" }; } }\n    /// <summary>\n    /// Error: P3-0707000001; Focus: Reference; Wrong Reference type targeting the Method component.\n    /// </summary>\n    /// <value>An instance of <see cref=\"BuildError\"/> describing the error P3-0707000001.</value>\n    public static BuildError WrongReference2Method { get { return new BuildError() \n                  { Focus = Focus.Reference, \n                    Identifier = \"P3-0707000001\", \n                    Descriptor = \"Wrong Reference type targeting the Method component.\" }; } }\n    /// <summary>\n    /// Error: P3-0707000002; Focus: Reference; Dangling reference - undefined target of the HasComponent reference.\n    /// </summary>\n    /// <value>An instance of <see cref=\"BuildError\"/> describing the error P3-0707000002.</value>\n    public static BuildError UndefinedHasComponentTarget { get { return new BuildError() \n                  { Focus = Focus.Reference, \n                    Identifier = \"P3-0707000002\", \n                    Descriptor = \"Dangling reference - undefined target of the HasComponent reference.\" }; } }\n    /// <summary>\n    /// Error: P3-0708000000; Focus: Reference; Dangling reference - undefined target of the HasProperty reference.\n    /// </summary>\n    /// <value>An instance of <see cref=\"BuildError\"/> describing the error P3-0708000000.</value>\n    public static BuildError UndefinedHasPropertyTarget { get { return new BuildError() \n                  { Focus = Focus.Reference, \n                    Identifier = \"P3-0708000000\", \n                    Descriptor = \"Dangling reference - undefined target of the HasProperty reference.\" }; } }\n    /// <summary>\n    /// Error: P3-0710000000; Focus: Reference; Each Node shall be the TargetNode of at most one Reference of type HasSubtype.\n    /// </summary>\n    /// <value>An instance of <see cref=\"BuildError\"/> describing the error P3-0710000000.</value>\n    public static BuildError HasSubtypeMulitarget { get { return new BuildError() \n                  { Focus = Focus.Reference, \n                    Identifier = \"P3-0710000000\", \n                    Descriptor = \"Each Node shall be the TargetNode of at most one Reference of type HasSubtype.\" }; } }\n    /// <summary>\n    /// Error: P3-0710000001; Focus: Reference; Dangling reference - undefined target of the HasSubtype reference.\n    /// </summary>\n    /// <value>An instance of <see cref=\"BuildError\"/> describing the error P3-0710000001.</value>\n    public static BuildError UndefinedHasSubtypeTarget { get { return new BuildError() \n                  { Focus = Focus.Reference, \n                    Identifier = \"P3-0710000001\", \n                    Descriptor = \"Dangling reference - undefined target of the HasSubtype reference.\" }; } }\n    /// <summary>\n    /// Error: P3-0713000000; Focus: Reference; Undefined HasTypeDefinition - each Variable and each Object shall be the SourceNode of exactly one HasTypeDefinition Reference.\n    /// </summary>\n    /// <value>An instance of <see cref=\"BuildError\"/> describing the error P3-0713000000.</value>\n    public static BuildError UndefinedHasTypeDefinition { get { return new BuildError() \n                  { Focus = Focus.Reference, \n                    Identifier = \"P3-0713000000\", \n                    Descriptor = \"Undefined HasTypeDefinition - each Variable and each Object shall be the SourceNode of exactly one HasTypeDefinition Reference.\" }; } }\n    /// <summary>\n    /// Error: P3-0802020000; Focus: Naming; Undefined namespace index - The numeric values used to identify namespaces correspond to the index into the NamespaceArray.\n    /// </summary>\n    /// <value>An instance of <see cref=\"BuildError\"/> describing the error P3-0802020000.</value>\n    public static BuildError UndefinedNamespaceIndex { get { return new BuildError() \n                  { Focus = Focus.Naming, \n                    Identifier = \"P3-0802020000\", \n                    Descriptor = \"Undefined namespace index - The numeric values used to identify namespaces correspond to the index into the NamespaceArray.\" }; } }\n    /// <summary>\n    /// Error: P6-0503011400; Focus: NodeClass; BrowseName cannot be null string.\n    /// </summary>\n    /// <value>An instance of <see cref=\"BuildError\"/> describing the error P6-0503011400.</value>\n    public static BuildError EmptyBrowseName { get { return new BuildError() \n                  { Focus = Focus.NodeClass, \n                    Identifier = \"P6-0503011400\", \n                    Descriptor = \"BrowseName cannot be null string.\" }; } }\n    /// <summary>\n    /// Error: P6-0F03000000; Focus: NodeClass; SymbolicName contains characters that are not allowed. Only letters, digits or the underscore (‘_’) are permitted.\n    /// </summary>\n    /// <value>An instance of <see cref=\"BuildError\"/> describing the error P6-0F03000000.</value>\n    public static BuildError WrongSymbolicName { get { return new BuildError() \n                  { Focus = Focus.NodeClass, \n                    Identifier = \"P6-0F03000000\", \n                    Descriptor = \"SymbolicName contains characters that are not allowed. Only letters, digits or the underscore (‘_’) are permitted.\" }; } }\n    /// <summary>\n    /// Error: P6-0F02000000; Focus: XML; The required model is missing.\n    /// </summary>\n    /// <value>An instance of <see cref=\"BuildError\"/> describing the error P6-0F02000000.</value>\n    public static BuildError LackOfRequiredModel { get { return new BuildError() \n                  { Focus = Focus.XML, \n                    Identifier = \"P6-0F02000000\", \n                    Descriptor = \"The required model is missing.\" }; } }\n    /// <summary>\n    /// Error: P3-XXXXX00000; Focus: DataType; Abstract DataType of the field of a concrete structure is not permitted.\n    /// </summary>\n    /// <value>An instance of <see cref=\"BuildError\"/> describing the error P3-XXXXX00000.</value>\n    public static BuildError FieldAbstractDataType { get { return new BuildError() \n                  { Focus = Focus.DataType, \n                    Identifier = \"P3-XXXXX00000\", \n                    Descriptor = \"Abstract DataType of the field of a concrete structure is not permitted.\" }; } }\n    /// <summary>\n    /// Error: P3-XXXXX00000; Focus: DataType; All fields must be present in derived Structure DataType.\n    /// </summary>\n    /// <value>An instance of <see cref=\"BuildError\"/> describing the error P3-XXXXX00000.</value>\n    public static BuildError MissingFieldInDerivedStructure { get { return new BuildError() \n                  { Focus = Focus.DataType, \n                    Identifier = \"P3-XXXXX00000\", \n                    Descriptor = \"All fields must be present in derived Structure DataType.\" }; } }\n    /// <summary>\n    /// Error: P3-XXXXX00000; Focus: DataType; Wrong DataType of field derived from Structure.\n    /// </summary>\n    /// <value>An instance of <see cref=\"BuildError\"/> describing the error P3-XXXXX00000.</value>\n    public static BuildError WrongDerivedFieldData { get { return new BuildError() \n                  { Focus = Focus.DataType, \n                    Identifier = \"P3-XXXXX00000\", \n                    Descriptor = \"Wrong DataType of field derived from Structure.\" }; } }\n    /// <summary>\n    /// Error: P3-0508010000; Focus: DataType; It is not permitted for two DataTypes to point to the same DataTypeEncoding.\n    /// </summary>\n    /// <value>An instance of <see cref=\"BuildError\"/> describing the error P3-0508010000.</value>\n    public static BuildError WrongDataType2DataTypeEncodingReference { get { return new BuildError() \n                  { Focus = Focus.DataType, \n                    Identifier = \"P3-0508010000\", \n                    Descriptor = \"It is not permitted for two DataTypes to point to the same DataTypeEncoding.\" }; } }\n    /// <summary>\n    /// Error: P3-0508010000; Focus: DataType; The DataTypeEncoding Object shall point to exactly one Variable of type DataTypeDescriptionType\n    /// </summary>\n    /// <value>An instance of <see cref=\"BuildError\"/> describing the error P3-0508010000.</value>\n    public static BuildError WrongDataTypeEncoding2DataTypeDescriptionReference { get { return new BuildError() \n                  { Focus = Focus.DataType, \n                    Identifier = \"P3-0508010000\", \n                    Descriptor = \"The DataTypeEncoding Object shall point to exactly one Variable of type DataTypeDescriptionType\" }; } }\n    /// <summary>\n    /// Error: P3-0508010000; Focus: DataType; The DataTypeDescription Variable shall belong to a DataTypeDictionary Variable.\n    /// </summary>\n    /// <value>An instance of <see cref=\"BuildError\"/> describing the error P3-0508010000.</value>\n    public static BuildError WrongDataTypeDescription2DataTypeDictionaryReference { get { return new BuildError() \n                  { Focus = Focus.DataType, \n                    Identifier = \"P3-0508010000\", \n                    Descriptor = \"The DataTypeDescription Variable shall belong to a DataTypeDictionary Variable.\" }; } }\n    /// <summary>\n    /// Error: P3-0508030000; Focus: DataType; Only concrete Structured DataTypes may use HasEncoding References. Abstract, Built-in, Enumeration, and Simple DataTypes are not allowed to be the SourceNode of a HasEncoding Reference.\n    /// </summary>\n    /// <value>An instance of <see cref=\"BuildError\"/> describing the error P3-0508030000.</value>\n    public static BuildError AbstractDataType2HasEncodingReference { get { return new BuildError() \n                  { Focus = Focus.DataType, \n                    Identifier = \"P3-0508030000\", \n                    Descriptor = \"Only concrete Structured DataTypes may use HasEncoding References. Abstract, Built-in, Enumeration, and Simple DataTypes are not allowed to be the SourceNode of a HasEncoding Reference.\" }; } }\n    /// <summary>\n    /// Error: P3-0508030000; Focus: DataType; Each concrete Structured DataType shall point to at least one DataTypeEncoding Object with the BrowseName “Default Binary” or “Default XML” having the NamespaceIndex 0.\n    /// </summary>\n    /// <value>An instance of <see cref=\"BuildError\"/> describing the error P3-0508030000.</value>\n    public static BuildError ConcreteDataType2HasEncodingReference { get { return new BuildError() \n                  { Focus = Focus.DataType, \n                    Identifier = \"P3-0508030000\", \n                    Descriptor = \"Each concrete Structured DataType shall point to at least one DataTypeEncoding Object with the BrowseName “Default Binary” or “Default XML” having the NamespaceIndex 0.\" }; } }\n\n\n  }\n}"
  },
  {
    "path": "SemanticData/BuildingErrorsHandling/BuildErrors.partial.cs",
    "content": "﻿//___________________________________________________________________________________\n//\n//  Copyright (C) 2021, Mariusz Postol LODZ POLAND.\n//\n//  To be in touch join the community at GITTER: https://gitter.im/mpostol/OPC-UA-OOI\n//___________________________________________________________________________________\n\nnamespace UAOOI.SemanticData.BuildingErrorsHandling\n{\n  /// <summary>\n  /// Enum Focus\n  /// </summary>\n  public enum Focus\n  {\n    /// <summary>\n    /// The reference\n    /// </summary>\n    Reference,\n\n    /// <summary>\n    /// The diagnostic\n    /// </summary>\n    Diagnostic,\n\n    /// <summary>\n    /// The NodeClass\n    /// </summary>\n    NodeClass,\n\n    /// <summary>\n    /// The XML error\n    /// </summary>\n    XML,\n\n    /// <summary>\n    /// The non categorized error, e.g. exception during execution.\n    /// </summary>\n    NonCategorized,\n\n    /// <summary>\n    /// The data encoding errors - the syntax is validated against OPC UA XML encoding.\n    /// </summary>\n    DataEncoding,\n\n    /// <summary>\n    /// The data type definition error - eny error that relates to custom DataType definion.\n    /// </summary>\n    DataType,\n\n    /// <summary>\n    /// The naming\n    /// </summary>\n    Naming\n  }\n\n  /// <summary>\n  /// Class BuildError - provides building descriptions of building errors.\n  /// </summary>\n  public partial class BuildError\n  {\n    /// <summary>\n    /// Gets the focus.\n    /// </summary>\n    /// <value>The focus.</value>\n    public Focus Focus { get; set; }\n\n    /// <summary>\n    /// Gets or sets the unique identifier of the error.\n    /// </summary>\n    /// <value>The identifier.</value>\n    public string Identifier { get; set; }\n\n    /// <summary>\n    /// Gets or sets the descriptor of the error.\n    /// </summary>\n    /// <value>The descriptor.</value>\n    public string Descriptor { get; set; }\n\n    /// <summary>\n    /// Returns a <see cref=\"System.String\" /> that represents this instance.\n    /// </summary>\n    /// <returns>A <see cref=\"System.String\" /> that represents this instance.</returns>\n    public override string ToString()\n    {\n      return string.Format(\"Focus: {0}, Identifier: {1} Description: {2}\", Focus, Identifier, Descriptor);\n    }\n  }\n}"
  },
  {
    "path": "SemanticData/BuildingErrorsHandling/BuildErrors.tt",
    "content": "﻿<#@ template debug=\"true\" hostspecific=\"true\" language=\"C#\" #>\n<#@ assembly name=\"System.Core\" #>\n<#@ assembly name=\"System.Xml.dll\" #>\n<#@ assembly name=\"EnvDTE\" #>\n<#@ import namespace=\"System.Linq\" #>\n<#@ import namespace=\"System.Text\" #>\n<#@ import namespace=\"System.Collections.Generic\" #>\n<#@ import namespace=\"System.Xml\" #>\n<#@ output extension=\".cs\" #>\n\n//__________________________________________________________________________________________________\n//\n//  Copyright (C) 2021, Mariusz Postol LODZ POLAND.\n//\n//  To be in touch join the community at GitHub: https://github.com/mpostol/OPC-UA-OOI/discussions\n//__________________________________________________________________________________________________\n\nnamespace UAOOI.SemanticData.BuildingErrorsHandling\n{\n  /// <summary>\n  /// Class BuildError - provides building descriptions of building errors. \n  /// </summary>\n  public partial class BuildError\n  {\n<#\n      EnvDTE.DTE dte = (EnvDTE.DTE) ((IServiceProvider) this.Host).GetService(typeof(EnvDTE.DTE));\n      // Open the prototype document.\n\t  string _xsdPath = System.IO.Path.Combine(System.IO.Path.GetDirectoryName(dte.ActiveDocument.FullName), @\"XML\\BuildErrorsCollection.xsd\");\n\t  XmlReaderSettings _settings = new XmlReaderSettings();\n\t  string _ns = \"http://commsvr.com/UAOOI/SemanticData/UANodeSetValidation/BuildErrorsCollection.xsd\";\n      _settings.Schemas.Add(_ns, _xsdPath);\n      _settings.ValidationType = ValidationType.Schema;\n\t  string _path = System.IO.Path.Combine(System.IO.Path.GetDirectoryName(dte.ActiveDocument.FullName), @\"XML\\BuildErrorsCollection.xml\");\n\t  XmlReader _errorsReader = XmlReader.Create(_path, _settings);\n      XmlDocument _doc = new XmlDocument();\n      _doc.Load(_errorsReader);\n\t  XmlNamespaceManager _nsmgr = new XmlNamespaceManager(_errorsReader.NameTable);\n      _nsmgr.AddNamespace(\"ns\", _ns);\n      XmlNode _list = _doc.SelectSingleNode(\"//ns:BuildErrorsCollection/ns:ListOfBuildErrors\", _nsmgr);\n      foreach (XmlNode _node in _list.SelectNodes(\"ns:NamedBuildError\", _nsmgr))\n      {\n        string Name = _node.SelectSingleNode(\"ns:Name\", _nsmgr).InnerText; \n        string Focus = _node.SelectSingleNode(\"ns:Focus\", _nsmgr).InnerText;\n        string Identifier = _node.SelectSingleNode(\"ns:Identifier\", _nsmgr).InnerText;\n        string Descriptor =  _node.SelectSingleNode(\"ns:Descriptor\", _nsmgr).InnerText;\n#>\n    /// <summary>\n    /// Error: <#=Identifier#>; Focus: <#= Focus #>; <#= Descriptor #>\n    /// </summary>\n    /// <value>An instance of <see cref=\"BuildError\"/> describing the error <#=Identifier#>.</value>\n    public static BuildError <#=Name#> { get { return new BuildError() \n                  { Focus = Focus.<#=Focus#>, \n                    Identifier = \"<#=Identifier#>\", \n                    Descriptor = \"<#=Descriptor #>\" }; } }\n<#\n      }\n#>\n\n\n  }\n}"
  },
  {
    "path": "SemanticData/BuildingErrorsHandling/IIdentifierSyntax.md",
    "content": "# BuildError.Identifier syntax\n\n## ABNF\n\n``` TXT\n\nIdentyfier = Part - Section Number\nPart = Prefix 2DIGIT\nPrefix = \"P\"\nSection = 8DIGIT\nNumber = 2DIGIT\n\n```\n\nwhere:\n\n| Rule    | Meaning            | Syntax                                               |\n| ------- | ------------------ | ---------------------------------------------------- |\n| Prefix  |                    | matches the character `P` literally (case sensitive) |\n| Part    | OPC UA part number | matches a digit (equal to [0-9]) exactly 2 times     |\n| Section | section number     | matches a digit (equal to [0-9]) exactly 8 times     |\n| Number  | sequential number  | matches a digit (equal to [0-9]) exactly 2 times     |\n\n## Reqular expresion\n\n`(P\\d{2,2})-(\\d{8,8})(\\d{2,2})`\n\nwhere:\n\n- `Part`: OPC UA part number; 1st Capturing Group (P\\d{2,2})\n  - `P` matches the character `P` literally (case sensitive)\n  - `\\d{2,2}` matches a digit (equal to [0-9])\n    - {2,2} Quantifier — Matches exactly 2 times\n- `-` matches the character `-` literally (case sensitive)\n- `Section`: section number; 2nd Capturing Group (\\d{8,8})\n  - `\\d{8,8}` matches a digit (equal to [0-9])\n    - {8,8} Quantifier — Matches exactly 8 times\n- `Number`: sequential number; 3rd Capturing Group (\\d{2,2})\n  - \\d{2,2} matches a digit (equal to [0-9])\n    - {2,2} Quantifier — Matches exactly 2 times\n\n## Example\n\n- [P3-0503030201](https://reference.opcfoundation.org/v104/Core/docs/Part3/5.3.3/#5.3.3.2)\n\n## See also\n\n- [Augmented BNF for Syntax Specifications: ABNF; RFC5234; 2008](https://tools.ietf.org/html/rfc5234)\n- [Regular expression; From Wikipedia, the free encyclopedia](https://en.wikipedia.org/wiki/Regular_expression)"
  },
  {
    "path": "SemanticData/BuildingErrorsHandling/Properties/SemanticData.BuildingErrorsHandling.nuspec",
    "content": "﻿<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<package xmlns=\"http://schemas.microsoft.com/packaging/2012/06/nuspec.xsd\">\n  <metadata>\n    <id>UAOOI.SemanticData.BuildingErrorsHandling</id>\n    <version>6.5.6-Oscar\n    </version>\n    <title>Object Oriented Internet Common Infrastructure</title>\n    <authors>Mariusz Postol</authors>\n    <owners>Mariusz Postol</owners>\n    <requireLicenseAcceptance>false</requireLicenseAcceptance>\n    <license type=\"expression\">MIT</license>\n    <projectUrl>https://commsvr.gitbook.io/ooi/readme</projectUrl>\n    <icon>Logo64.PNG</icon>\n    <description>\n      It provides descriptions of building errors to be used for OPC UA Address Space consistency validation purpose.\n    </description>\n    <summary>\n      It provides descriptions of building errors to be used for OPC UA Address Space consistency validation purpose.\n    </summary>\n    <copyright>Copyright (C) 2022 Mariusz Postol LODZ POLAND</copyright>\n    <tags>Object Oriented Internet, OPC UA, Information Model, IoT, M2M, DOA</tags>\n    <repository type=\"GitHub\" url=\"https://github.com/mpostol/OPC-UA-OOI\" />\n    <dependencies>\n      <group targetFramework=\".NETStandard2.0\" />\n    </dependencies>\n    <releaseNotes>ModelDesign Export Release Candidate.</releaseNotes>\n    <copyright>Copyright (C) 2022 Mariusz Postol LODZ POLAND</copyright>\n  </metadata>\n  <files>\n    <file src=\"..\\..\\..\\CommonResources\\Media\\Logo64.PNG\" target=\"\"/>\n    <file src=\"..\\bin\\Release\\netstandard2.0\\UAOOI.SemanticData.BuildingErrorsHandling.dll\" target=\"lib\\netstandard2.0\\UAOOI.SemanticData.BuildingErrorsHandling.dll\" />\n  </files>\n</package>\n\n"
  },
  {
    "path": "SemanticData/BuildingErrorsHandling/Properties/SemanticData.BuildingErrorsHandling.tt",
    "content": "﻿<#@ template debug=\"false\" hostspecific=\"false\" language=\"C#\" #>\n<#@ output extension=\".nuspec\" #>\n<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<package xmlns=\"http://schemas.microsoft.com/packaging/2012/06/nuspec.xsd\">\n  <metadata>\n    <id>UAOOI.SemanticData.BuildingErrorsHandling</id>\n    <version><#=SemanticDataVersion#><#= SemanticDataPrerelease#>\n    </version>\n    <title><#=SemanticDataProduct#> Common Infrastructure</title>\n    <authors><#=AssemblyCompany#></authors>\n    <owners><#=Owner#></owners>\n    <requireLicenseAcceptance>false</requireLicenseAcceptance>\n    <license type=\"expression\">MIT</license>\n    <projectUrl>https://commsvr.gitbook.io/ooi/readme</projectUrl>\n    <icon>Logo64.PNG</icon>\n    <description>\n      It provides descriptions of building errors to be used for OPC UA Address Space consistency validation purpose.\n    </description>\n    <summary>\n      It provides descriptions of building errors to be used for OPC UA Address Space consistency validation purpose.\n    </summary>\n    <copyright><#=AssemblyCopyright#></copyright>\n    <tags>Object Oriented Internet, OPC UA, Information Model, IoT, M2M, DOA</tags>\n    <repository type=\"GitHub\" url=\"https://github.com/mpostol/OPC-UA-OOI\" />\n    <dependencies>\n      <group targetFramework=\".NETStandard2.0\" />\n    </dependencies>\n    <releaseNotes>ModelDesign Export Release Candidate.</releaseNotes>\n    <copyright><#=AssemblyCopyright#></copyright>\n  </metadata>\n  <files>\n    <file src=\"..\\..\\..\\CommonResources\\Media\\Logo64.PNG\" target=\"\"/>\n    <file src=\"..\\bin\\Release\\netstandard2.0\\UAOOI.SemanticData.BuildingErrorsHandling.dll\" target=\"lib\\netstandard2.0\\UAOOI.SemanticData.BuildingErrorsHandling.dll\" />\n  </files>\n</package>\n\n<#@ include file = \"..\\..\\..\\CommonResources\\T4Definitions\\Model.t4\" #>\n"
  },
  {
    "path": "SemanticData/BuildingErrorsHandling/SemanticData.BuildingErrorsHandling.csproj",
    "content": "<Project Sdk=\"Microsoft.NET.Sdk\">\n\n  <PropertyGroup>\n    <TargetFramework>netstandard2.0</TargetFramework>\n    <AssemblyName>UAOOI.SemanticData.BuildingErrorsHandling</AssemblyName>\n    <RootNamespace>UAOOI.SemanticData.BuildingErrorsHandling</RootNamespace>\n    <Authors>Mariusz Postol</Authors>\n    <Company>commsvr.com</Company>\n    <Product>Object Oriented Internet</Product>\n    <Description>It provides descriptions of building errors to be used for OPC UA Address Space consistency validation purpose.\n</Description>\n    <Copyright>Copyright (C) 2019 Mariusz Postol LODZ POLAND</Copyright>\n    <PackageLicenseExpression>MIT</PackageLicenseExpression>\n    <PackageProjectUrl>https://commsvr.gitbook.io/ooi/readme</PackageProjectUrl>\n    <RepositoryUrl>https://github.com/mpostol/OPC-UA-OOI</RepositoryUrl>\n    <RepositoryType>GitHub</RepositoryType>\n    <PackageTags>Object Oriented Internet, OPC UA, Information Model, IoT, M2M, DOA,</PackageTags>\n    <SignAssembly>true</SignAssembly>\n    <AssemblyOriginatorKeyFile>OPCUAOOIKey.snk</AssemblyOriginatorKeyFile>\n    <AssemblyVersion>6.4.6</AssemblyVersion>\n    <FileVersion>6.4.6</FileVersion>\n    <Version>6.4.6</Version>\n    <PackageIconUrl>https://github.com/mpostol/OPC-UA-OOI/blob/master/CommonResources/Media/Logo64.PNG?raw=true</PackageIconUrl>\n    <GeneratePackageOnBuild>false</GeneratePackageOnBuild>\n    <ApplicationIcon>Logo.ico</ApplicationIcon>\n    <Title>Object-Oriented Internet Semantic-Data Building Errors Handling</Title>\n  </PropertyGroup>\n\n  <PropertyGroup Condition=\"'$(Configuration)|$(Platform)'=='Debug|AnyCPU'\">\n    <DocumentationFile>bin\\Debug\\netstandard2.0\\UAOOI.SemanticData.BuildingErrorsHandling.xml</DocumentationFile>\n    <OutputPath>bin\\Debug\\netstandard2.0\\</OutputPath>\n  </PropertyGroup>\n\n  <ItemGroup>\n    <None Update=\"BuildErrors.tt\">\n      <Generator>TextTemplatingFileGenerator</Generator>\n      <LastGenOutput>BuildErrors.cs</LastGenOutput>\n    </None>\n    <None Update=\"Properties\\Common.Infrastructure.nuspec.tt\">\n      <Generator>TextTemplatingFileGenerator</Generator>\n      <LastGenOutput>Common.Infrastructure.nuspec.nuspec</LastGenOutput>\n    </None>\n    <None Update=\"Properties\\Common.Infrastructure.tt\">\n      <Generator>TextTemplatingFileGenerator</Generator>\n      <LastGenOutput>Common.Infrastructure.nuspec</LastGenOutput>\n    </None>\n    <None Update=\"Properties\\SemanticData.BuildingErrorsHandling.nuspec\">\n      <DesignTime>True</DesignTime>\n      <AutoGen>True</AutoGen>\n      <DependentUpon>SemanticData.BuildingErrorsHandling.tt</DependentUpon>\n    </None>\n    <None Update=\"Properties\\SemanticData.BuildingErrorsHandling.tt\">\n      <Generator>TextTemplatingFileGenerator</Generator>\n      <LastGenOutput>SemanticData.BuildingErrorsHandling.nuspec</LastGenOutput>\n    </None>\n  </ItemGroup>\n\n  <ItemGroup>\n    <Service Include=\"{508349b6-6b84-4df5-91f0-309beebad82d}\" />\n  </ItemGroup>\n\n  <ItemGroup>\n    <Compile Update=\"BuildErrors.cs\">\n      <DesignTime>True</DesignTime>\n      <AutoGen>True</AutoGen>\n      <DependentUpon>BuildErrors.tt</DependentUpon>\n    </Compile>\n  </ItemGroup>\n\n</Project>\n"
  },
  {
    "path": "SemanticData/BuildingErrorsHandling/TraceMessage.cs",
    "content": "﻿//__________________________________________________________________________________________________\n//\n//  Copyright (C) 2021, Mariusz Postol LODZ POLAND.\n//\n//  To be in touch join the community at GitHub: https://github.com/mpostol/OPC-UA-OOI/discussions\n//__________________________________________________________________________________________________\n\nusing System;\nusing System.Diagnostics;\n\nnamespace UAOOI.SemanticData.BuildingErrorsHandling\n{\n  /// <summary>\n  /// Class TraceMessage - supports formatting of the warnings for the tracing purpose\n  /// </summary>\n  public class TraceMessage : IFormattable\n  {\n    #region public API\n\n    /// <summary>\n    /// Creates new instance of the <see cref=\"TraceMessage\"/> to be used for diagnostic purpose\n    /// </summary>\n    /// <param name=\"message\">The new <see cref=\"TraceMessage\"/> containing the <paramref name=\"message\"/>.</param>\n    /// <returns>The new <see cref=\"TraceMessage\"/> diagnostic message.</returns>\n    public static TraceMessage DiagnosticTraceMessage(string message)\n    {\n      return new TraceMessage(BuildError.DiagnosticInformation, TraceEventType.Verbose, message);\n    }\n\n    /// <summary>\n    /// creates new <see cref=\"TraceMessage\" /> to be used for diagnostic purpose\n    /// </summary>\n    /// <param name=\"error\">The <see cref=\"BuildError\"/> to be added to the <see cref=\"TraceMessage\"/>.</param>\n    /// <param name=\"message\">The new <see cref=\"TraceMessage\" /> containing the <paramref name=\"message\" />.</param>\n    /// <returns>The new <see cref=\"TraceMessage\" /> diagnostic message.</returns>\n    public static TraceMessage BuildErrorTraceMessage(BuildError error, string message)\n    {\n      return new TraceMessage(error, TraceEventType.Warning, message);\n    }\n\n    /// <summary>\n    /// Gets the build error.\n    /// </summary>\n    /// <value>The build error.</value>\n    public BuildError BuildError\n    {\n      get => b_BuildError;\n      private set => b_BuildError = value;\n    }\n\n    /// <summary>\n    /// Gets the trace level.\n    /// </summary>\n    /// <value>The trace level.</value>\n    public TraceEventType TraceLevel\n    {\n      get => b_TraceLevel;\n      private set => b_TraceLevel = value;\n    }\n\n    /// <summary>\n    /// Gets the message.\n    /// </summary>\n    /// <value>The message.</value>\n    public string Message\n    {\n      get => b_Location;\n      private set => b_Location = value;\n    }\n\n    #endregion public API\n\n    #region IFormattable\n\n    /// <summary>\n    /// Returns a <see cref=\"System.String\" /> that represents this instance.\n    /// </summary>\n    /// <param name=\"format\">The format to use.-or- A null reference (Nothing in Visual Basic) to use the default format defined for the type of the <see cref=\"T:System.IFormattable\" /> implementation.</param>\n    /// <param name=\"formatProvider\">The provider to use to format the value.-or- A null reference (Nothing in Visual Basic) to obtain the numeric format information from the current locale setting of the operating system.</param>\n    /// <returns>A <see cref=\"System.String\" /> that represents this instance.</returns>\n    public string ToString(string format, IFormatProvider formatProvider)\n    {\n      //TODO implement IFormattable\n      return ToString();\n    }\n\n    #endregion IFormattable\n\n    #region object\n\n    /// <summary>\n    /// Returns a <see cref=\"System.String\" /> that represents this instance.\n    /// </summary>\n    /// <returns>A <see cref=\"System.String\" /> that represents this instance.</returns>\n    public override string ToString()\n    {\n      return string.Format(\"Trace: {0}, Error {1} {2}\", TraceLevel, BuildError.ToString(), Message);\n    }\n\n    #endregion object\n\n    #region private\n\n    private TraceMessage(BuildError buildError, TraceEventType traceLevel, string message)\n    {\n      BuildError = buildError;\n      TraceLevel = traceLevel;\n      Message = message;\n    }\n\n    private TraceEventType b_TraceLevel;\n    private BuildError b_BuildError;\n    private string b_Location;\n\n    #endregion private\n  }\n}"
  },
  {
    "path": "SemanticData/BuildingErrorsHandling/XML/BuildErrorsCollection.xml",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"yes\"?>\n<ns1:BuildErrorsCollection xmlns:ns1=\"http://commsvr.com/UAOOI/SemanticData/UANodeSetValidation/BuildErrorsCollection.xsd\">\n\t<ns1:ListOfBuildErrors>\n\t\t<ns1:NamedBuildError>\n\t\t\t<ns1:Focus>Reference</ns1:Focus>\n\t\t\t<ns1:Identifier>P3-0305000000</ns1:Identifier>\n\t\t\t<ns1:Descriptor>It is not allowed that References are used to create a looping hierarchy.</ns1:Descriptor>\n\t\t\t<ns1:Name>NotValidLoopingHierarchy</ns1:Name>\n\t\t</ns1:NamedBuildError>\n\t\t<ns1:NamedBuildError>\n\t\t\t<ns1:Focus>Diagnostic</ns1:Focus>\n\t\t\t<ns1:Identifier>P0-0001010000</ns1:Identifier>\n\t\t\t<ns1:Descriptor>The XML attribute or element is not supported and neglected.</ns1:Descriptor>\n\t\t\t<ns1:Name>NotSupportedFeature</ns1:Name>\n\t\t</ns1:NamedBuildError>\n\t\t<ns1:NamedBuildError>\n\t\t\t<ns1:Focus>XML</ns1:Focus>\n\t\t\t<ns1:Identifier>P0-0001020000</ns1:Identifier>\n\t\t\t<ns1:Descriptor>Node cannot be null</ns1:Descriptor>\n\t\t\t<ns1:Name>NodeCannotBeNull</ns1:Name>\n\t\t</ns1:NamedBuildError>\n\t\t<ns1:NamedBuildError>\n\t\t\t<ns1:Focus>XML</ns1:Focus>\n\t\t\t<ns1:Identifier>P0-0001030000</ns1:Identifier>\n\t\t\t<ns1:Descriptor>Models element cannot be null or empty</ns1:Descriptor>\n\t\t\t<ns1:Name>ModelsCannotBeNull</ns1:Name>\n\t\t</ns1:NamedBuildError>\n\t\t<ns1:NamedBuildError>\n\t\t\t<ns1:Focus>XML</ns1:Focus>\n\t\t\t<ns1:Identifier>P0-0001040000</ns1:Identifier>\n\t\t\t<ns1:Descriptor>NamespaceUris element cannot be null or empty</ns1:Descriptor>\n\t\t\t<ns1:Name>NamespaceUrisCannotBeNull</ns1:Name>\n\t\t</ns1:NamedBuildError>\n\t\t<ns1:NamedBuildError>\n\t\t\t<ns1:Focus>XML</ns1:Focus>\n\t\t\t<ns1:Identifier>P0-0001050000</ns1:Identifier>\n\t\t\t<ns1:Descriptor>Selected model contains errors.</ns1:Descriptor>\n\t\t\t<ns1:Name>ModelContainsErrors</ns1:Name>\n\t\t</ns1:NamedBuildError>\n\t\t<ns1:NamedBuildError>\n\t\t\t<ns1:Focus>NonCategorized</ns1:Focus>\n\t\t\t<ns1:Identifier>P0-0002010000</ns1:Identifier>\n\t\t\t<ns1:Descriptor>General processing error see trace for details.</ns1:Descriptor>\n\t\t\t<ns1:Name>NonCategorized</ns1:Name>\n\t\t</ns1:NamedBuildError>\n\t\t<ns1:NamedBuildError>\n\t\t\t<ns1:Focus>Diagnostic</ns1:Focus>\n\t\t\t<ns1:Identifier>P0-0003010000</ns1:Identifier>\n\t\t\t<ns1:Descriptor>It is diagnostic information</ns1:Descriptor>\n\t\t\t<ns1:Name>DiagnosticInformation</ns1:Name>\n\t\t</ns1:NamedBuildError>\n\t\t<ns1:NamedBuildError>\n\t\t\t<ns1:Focus>NodeClass</ns1:Focus>\n\t\t\t<ns1:Identifier>P0-0605020209</ns1:Identifier>\n\t\t\t<ns1:Descriptor>The syntax of the NodeId is not valid.</ns1:Descriptor>\n\t\t\t<ns1:Name>NodeIdInvalidSyntax</ns1:Name>\n\t\t</ns1:NamedBuildError>\n\t\t<ns1:NamedBuildError>\n\t\t\t<ns1:Focus>NodeClass</ns1:Focus>\n\t\t\t<ns1:Identifier>P0-0605020210</ns1:Identifier>\n\t\t\t<ns1:Descriptor>The syntax of the ExpandedNodeId is not valid.</ns1:Descriptor>\n\t\t\t<ns1:Name>ExpandedNodeIdInvalidSyntax</ns1:Name>\n\t\t</ns1:NamedBuildError>\n\t\t<ns1:NamedBuildError>\n\t\t\t<ns1:Focus>DataEncoding</ns1:Focus>\n\t\t\t<ns1:Identifier>P6-0503021400</ns1:Identifier>\n\t\t\t<ns1:Descriptor>The syntax of the QualifiedName is not valid.</ns1:Descriptor>\n\t\t\t<ns1:Name>QualifiedNameInvalidSyntax</ns1:Name>\n\t\t</ns1:NamedBuildError>\n\t\t<ns1:NamedBuildError>\n\t\t\t<ns1:Focus>NodeClass</ns1:Focus>\n\t\t\t<ns1:Identifier>P3-0403040000</ns1:Identifier>\n\t\t\t<ns1:Descriptor>The reference target doesn't exist. OPC UA does not require that the TargetNode exists, thus References may point to a Node that does not exist.</ns1:Descriptor>\n\t\t\t<ns1:Name>DanglingReferenceTarget</ns1:Name>\n\t\t</ns1:NamedBuildError>\n\t\t<ns1:NamedBuildError>\n\t\t\t<ns1:Focus>NodeClass</ns1:Focus>\n\t\t\t<ns1:Identifier>P3-0502020000</ns1:Identifier>\n\t\t\t<ns1:Descriptor>Nodes shall be unambiguously identified using NodeId</ns1:Descriptor>\n\t\t\t<ns1:Name>NodeIdDuplicated</ns1:Name>\n\t\t</ns1:NamedBuildError>\n\t\t<ns1:NamedBuildError>\n\t\t\t<ns1:Focus>NodeClass</ns1:Focus>\n\t\t\t<ns1:Identifier>P3-0502020001</ns1:Identifier>\n\t\t\t<ns1:Descriptor>NodeId is not defined.</ns1:Descriptor>\n\t\t\t<ns1:Name>NodeIdNotDefined</ns1:Name>\n\t\t</ns1:NamedBuildError>\n\t\t<ns1:NamedBuildError>\n\t\t\t<ns1:Focus>NodeClass</ns1:Focus>\n\t\t\t<ns1:Identifier>P3-0502050000</ns1:Identifier>\n\t\t\t<ns1:Descriptor>The string part of the DisplayName is restricted to 512 characters.</ns1:Descriptor>\n\t\t\t<ns1:Name>WrongDisplayNameLength</ns1:Name>\n\t\t</ns1:NamedBuildError>\n\t\t<ns1:NamedBuildError>\n\t\t\t<ns1:Focus>NodeClass</ns1:Focus>\n\t\t\t<ns1:Identifier>P3-0502070000</ns1:Identifier>\n\t\t\t<ns1:Descriptor>The value must be less than 0x200000 for the UAVariable and less than 0x400000 for other node types.</ns1:Descriptor>\n\t\t\t<ns1:Name>WrongWriteMaskValue</ns1:Name>\n\t\t</ns1:NamedBuildError>\n\t\t<ns1:NamedBuildError>\n\t\t\t<ns1:Focus>NodeClass</ns1:Focus>\n\t\t\t<ns1:Identifier>P3-0856000000</ns1:Identifier>\n\t\t\t<ns1:Descriptor>The value must be less than 0x7.</ns1:Descriptor>\n\t\t\t<ns1:Name>WrongAccessRestriction</ns1:Name>\n\t\t</ns1:NamedBuildError>\n\t\t<ns1:NamedBuildError>\n\t\t\t<ns1:Focus>NodeClass</ns1:Focus>\n\t\t\t<ns1:Identifier>P3-0503020000</ns1:Identifier>\n\t\t\t<ns1:Descriptor>Unexpected value of the InverseName.</ns1:Descriptor>\n\t\t\t<ns1:Name>WrongInverseName</ns1:Name>\n\t\t</ns1:NamedBuildError>\n\t\t<ns1:NamedBuildError>\n\t\t\t<ns1:Focus>NodeClass</ns1:Focus>\n\t\t\t<ns1:Identifier>P3-0503020001</ns1:Identifier>\n\t\t\t<ns1:Descriptor>The BrowseName of a ReferenceType shall be unique.</ns1:Descriptor>\n\t\t\t<ns1:Name>DuplicatedReferenceType</ns1:Name>\n\t\t</ns1:NamedBuildError>\n\t\t<ns1:NamedBuildError>\n\t\t\t<ns1:Focus>NodeClass</ns1:Focus>\n\t\t\t<ns1:Identifier>P3-0503020002</ns1:Identifier>\n\t\t\t<ns1:Descriptor>The BrowseName of a ReferenceType is defined outside of the model.</ns1:Descriptor>\n\t\t\t<ns1:Name>BrowseNameReferenceTypeScope</ns1:Name>\n\t\t</ns1:NamedBuildError>\n\t\t<ns1:NamedBuildError>\n\t\t\t<ns1:Focus>Reference</ns1:Focus>\n\t\t\t<ns1:Identifier>P3-0503030201</ns1:Identifier>\n\t\t\t<ns1:Descriptor>Wrong Reference type targeting the Property component.</ns1:Descriptor>\n\t\t\t<ns1:Name>WrongReference2Property</ns1:Name>\n\t\t</ns1:NamedBuildError>\n\t\t<ns1:NamedBuildError>\n\t\t\t<ns1:Focus>NodeClass</ns1:Focus>\n\t\t\t<ns1:Identifier>P3-0505010000</ns1:Identifier>\n\t\t\t<ns1:Descriptor>Object NodeClass: EventNotifier is out of range.</ns1:Descriptor>\n\t\t\t<ns1:Name>WrongEventNotifier</ns1:Name>\n\t\t</ns1:NamedBuildError>\n\t\t<ns1:NamedBuildError>\n\t\t\t<ns1:Focus>NodeClass</ns1:Focus>\n\t\t\t<ns1:Identifier>P3-0505010001</ns1:Identifier>\n\t\t\t<ns1:Descriptor>Object NodeClass: Value of the EventNotifier attribute is not supported.</ns1:Descriptor>\n\t\t\t<ns1:Name>EventNotifierValueNotSupported</ns1:Name>\n\t\t</ns1:NamedBuildError>\n\t\t<ns1:NamedBuildError>\n\t\t\t<ns1:Focus>NodeClass</ns1:Focus>\n\t\t\t<ns1:Identifier>P3-0506020000</ns1:Identifier>\n\t\t\t<ns1:Descriptor>ValueRank value is out of range.</ns1:Descriptor>\n\t\t\t<ns1:Name>WrongValueRank</ns1:Name>\n\t\t</ns1:NamedBuildError>\n\t\t<ns1:NamedBuildError>\n\t\t\t<ns1:Focus>NodeClass</ns1:Focus>\n\t\t\t<ns1:Identifier>P3-0506040000</ns1:Identifier>\n\t\t\t<ns1:Descriptor>AccessLevel value is out of range.</ns1:Descriptor>\n\t\t\t<ns1:Name>WrongAccessLevel</ns1:Name>\n\t\t</ns1:NamedBuildError>\n\t\t<ns1:NamedBuildError>\n\t\t\t<ns1:Focus>Reference</ns1:Focus>\n\t\t\t<ns1:Identifier>P3-0707000000</ns1:Identifier>\n\t\t\t<ns1:Descriptor>Wrong Reference type targeting the DataVariable component.</ns1:Descriptor>\n\t\t\t<ns1:Name>WrongReference2Variable</ns1:Name>\n\t\t</ns1:NamedBuildError>\n\t\t<ns1:NamedBuildError>\n\t\t\t<ns1:Focus>Reference</ns1:Focus>\n\t\t\t<ns1:Identifier>P3-0707000001</ns1:Identifier>\n\t\t\t<ns1:Descriptor>Wrong Reference type targeting the Method component.</ns1:Descriptor>\n\t\t\t<ns1:Name>WrongReference2Method</ns1:Name>\n\t\t</ns1:NamedBuildError>\n\t\t<ns1:NamedBuildError>\n\t\t\t<ns1:Focus>Reference</ns1:Focus>\n\t\t\t<ns1:Identifier>P3-0707000002</ns1:Identifier>\n\t\t\t<ns1:Descriptor>Dangling reference - undefined target of the HasComponent reference.</ns1:Descriptor>\n\t\t\t<ns1:Name>UndefinedHasComponentTarget</ns1:Name>\n\t\t</ns1:NamedBuildError>\n\t\t<ns1:NamedBuildError>\n\t\t\t<ns1:Focus>Reference</ns1:Focus>\n\t\t\t<ns1:Identifier>P3-0708000000</ns1:Identifier>\n\t\t\t<ns1:Descriptor>Dangling reference - undefined target of the HasProperty reference.</ns1:Descriptor>\n\t\t\t<ns1:Name>UndefinedHasPropertyTarget</ns1:Name>\n\t\t</ns1:NamedBuildError>\n\t\t<ns1:NamedBuildError>\n\t\t\t<ns1:Focus>Reference</ns1:Focus>\n\t\t\t<ns1:Identifier>P3-0710000000</ns1:Identifier>\n\t\t\t<ns1:Descriptor>Each Node shall be the TargetNode of at most one Reference of type HasSubtype.</ns1:Descriptor>\n\t\t\t<ns1:Name>HasSubtypeMulitarget</ns1:Name>\n\t\t</ns1:NamedBuildError>\n\t\t<ns1:NamedBuildError>\n\t\t\t<ns1:Focus>Reference</ns1:Focus>\n\t\t\t<ns1:Identifier>P3-0710000001</ns1:Identifier>\n\t\t\t<ns1:Descriptor>Dangling reference - undefined target of the HasSubtype reference.</ns1:Descriptor>\n\t\t\t<ns1:Name>UndefinedHasSubtypeTarget</ns1:Name>\n\t\t</ns1:NamedBuildError>\n\t\t<ns1:NamedBuildError>\n\t\t\t<ns1:Focus>Reference</ns1:Focus>\n\t\t\t<ns1:Identifier>P3-0713000000</ns1:Identifier>\n\t\t\t<ns1:Descriptor>Undefined HasTypeDefinition - each Variable and each Object shall be the SourceNode of exactly one HasTypeDefinition Reference.</ns1:Descriptor>\n\t\t\t<ns1:Name>UndefinedHasTypeDefinition</ns1:Name>\n\t\t</ns1:NamedBuildError>\n\t\t<ns1:NamedBuildError>\n\t\t\t<ns1:Focus>Naming</ns1:Focus>\n\t\t\t<ns1:Identifier>P3-0802020000</ns1:Identifier>\n\t\t\t<ns1:Descriptor>Undefined namespace index - The numeric values used to identify namespaces correspond to the index into the NamespaceArray.</ns1:Descriptor>\n\t\t\t<ns1:Name>UndefinedNamespaceIndex</ns1:Name>\n\t\t</ns1:NamedBuildError>\n\t\t<ns1:NamedBuildError>\n\t\t\t<ns1:Focus>NodeClass</ns1:Focus>\n\t\t\t<ns1:Identifier>P6-0503011400</ns1:Identifier>\n\t\t\t<ns1:Descriptor>BrowseName cannot be null string.</ns1:Descriptor>\n\t\t\t<ns1:Name>EmptyBrowseName</ns1:Name>\n\t\t</ns1:NamedBuildError>\n\t\t<ns1:NamedBuildError>\n\t\t\t<ns1:Focus>NodeClass</ns1:Focus>\n\t\t\t<ns1:Identifier>P6-0F03000000</ns1:Identifier>\n\t\t\t<ns1:Descriptor>SymbolicName contains characters that are not allowed. Only letters, digits or the underscore (‘_’) are permitted.</ns1:Descriptor>\n\t\t\t<ns1:Name>WrongSymbolicName</ns1:Name>\n\t\t</ns1:NamedBuildError>\n\t\t<ns1:NamedBuildError>\n\t\t\t<ns1:Focus>XML</ns1:Focus>\n\t\t\t<ns1:Identifier>P6-0F02000000</ns1:Identifier>\n\t\t\t<ns1:Descriptor>The required model is missing.</ns1:Descriptor>\n\t\t\t<ns1:Name>LackOfRequiredModel</ns1:Name>\n\t\t</ns1:NamedBuildError>\n\t\t<ns1:NamedBuildError>\n\t\t\t<ns1:Focus>DataType</ns1:Focus>\n\t\t\t<ns1:Identifier>P3-XXXXX00000</ns1:Identifier>\n\t\t\t<ns1:Descriptor>Abstract DataType of the field of a concrete structure is not permitted.</ns1:Descriptor>\n\t\t\t<ns1:Name>FieldAbstractDataType</ns1:Name>\n\t\t</ns1:NamedBuildError>\n\t\t<ns1:NamedBuildError>\n\t\t\t<ns1:Focus>DataType</ns1:Focus>\n\t\t\t<ns1:Identifier>P3-XXXXX00000</ns1:Identifier>\n\t\t\t<ns1:Descriptor>All fields must be present in derived Structure DataType.</ns1:Descriptor>\n\t\t\t<ns1:Name>MissingFieldInDerivedStructure</ns1:Name>\n\t\t</ns1:NamedBuildError>\n\t\t<ns1:NamedBuildError>\n\t\t\t<ns1:Focus>DataType</ns1:Focus>\n\t\t\t<ns1:Identifier>P3-XXXXX00000</ns1:Identifier>\n\t\t\t<ns1:Descriptor>Wrong DataType of field derived from Structure.</ns1:Descriptor>\n\t\t\t<ns1:Name>WrongDerivedFieldData</ns1:Name>\n\t\t</ns1:NamedBuildError>\n\t\t<ns1:NamedBuildError>\n\t\t\t<ns1:Focus>DataType</ns1:Focus>\n\t\t\t<ns1:Identifier>P3-0508010000</ns1:Identifier>\n\t\t\t<ns1:Descriptor>It is not permitted for two DataTypes to point to the same DataTypeEncoding.</ns1:Descriptor>\n\t\t\t<ns1:Name>WrongDataType2DataTypeEncodingReference</ns1:Name>\n\t\t</ns1:NamedBuildError>\n\t\t<ns1:NamedBuildError>\n\t\t\t<ns1:Focus>DataType</ns1:Focus>\n\t\t\t<ns1:Identifier>P3-0508010000</ns1:Identifier>\n\t\t\t<ns1:Descriptor>The DataTypeEncoding Object shall point to exactly one Variable of type DataTypeDescriptionType</ns1:Descriptor>\n\t\t\t<ns1:Name>WrongDataTypeEncoding2DataTypeDescriptionReference</ns1:Name>\n\t\t</ns1:NamedBuildError>\n\t\t<ns1:NamedBuildError>\n\t\t\t<ns1:Focus>DataType</ns1:Focus>\n\t\t\t<ns1:Identifier>P3-0508010000</ns1:Identifier>\n\t\t\t<ns1:Descriptor>The DataTypeDescription Variable shall belong to a DataTypeDictionary Variable.</ns1:Descriptor>\n\t\t\t<ns1:Name>WrongDataTypeDescription2DataTypeDictionaryReference</ns1:Name>\n\t\t</ns1:NamedBuildError>\n\t\t<ns1:NamedBuildError>\n\t\t\t<ns1:Focus>DataType</ns1:Focus>\n\t\t\t<ns1:Identifier>P3-0508030000</ns1:Identifier>\n\t\t\t<ns1:Descriptor>Only concrete Structured DataTypes may use HasEncoding References. Abstract, Built-in, Enumeration, and Simple DataTypes are not allowed to be the SourceNode of a HasEncoding Reference.</ns1:Descriptor>\n\t\t\t<ns1:Name>AbstractDataType2HasEncodingReference</ns1:Name>\n\t\t</ns1:NamedBuildError>\n\t\t<ns1:NamedBuildError>\n\t\t\t<ns1:Focus>DataType</ns1:Focus>\n\t\t\t<ns1:Identifier>P3-0508030000</ns1:Identifier>\n\t\t\t<ns1:Descriptor>Each concrete Structured DataType shall point to at least one DataTypeEncoding Object with the BrowseName “Default Binary” or “Default XML” having the NamespaceIndex 0.</ns1:Descriptor>\n\t\t\t<ns1:Name>ConcreteDataType2HasEncodingReference</ns1:Name>\n\t\t</ns1:NamedBuildError>\n\t</ns1:ListOfBuildErrors>\n</ns1:BuildErrorsCollection>"
  },
  {
    "path": "SemanticData/BuildingErrorsHandling/XML/BuildErrorsCollection.xsd",
    "content": "﻿<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<xsd:schema xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\"\n           xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\"\n           attributeFormDefault=\"unqualified\"\n           elementFormDefault=\"qualified\"\n           targetNamespace=\"http://commsvr.com/UAOOI/SemanticData/UANodeSetValidation/BuildErrorsCollection.xsd\"\n           xmlns=\"http://commsvr.com/UAOOI/SemanticData/UANodeSetValidation/BuildErrorsCollection.xsd\">\n  <xsd:element name=\"BuildErrorsCollection\">\n    <xsd:complexType>\n      <xsd:sequence>\n        <xsd:element name=\"ListOfBuildErrors\">\n          <xsd:complexType>\n            <xsd:sequence>\n              <xsd:element maxOccurs=\"unbounded\" name=\"NamedBuildError\">\n                <xsd:complexType>\n                  <xsd:sequence>\n                    <xsd:element name=\"Focus\">\n                      <xsd:simpleType>\n                        <xsd:restriction base=\"xsd:string\">\n                          <xsd:enumeration value=\"Reference\"/>\n                          <xsd:enumeration value=\"Diagnostic\"/>\n                          <xsd:enumeration value=\"NodeClass\"/>\n                          <xsd:enumeration value=\"XML\"/>\n                          <xsd:enumeration value=\"NonCategorized\"/>\n                          <xsd:enumeration value=\"DataEncoding\"/>\n                          <xsd:enumeration value=\"DataType\"/>\n                          <xsd:enumeration value=\"Naming\"/>\n                        </xsd:restriction>\n                      </xsd:simpleType>\n                    </xsd:element>\n                    <xsd:element name=\"Identifier\" type=\"xsd:string\" />\n                    <xsd:element name=\"Descriptor\" type=\"xsd:string\" />\n                    <xsd:element name=\"Name\" type=\"xsd:string\" />\n                  </xsd:sequence>\n                </xsd:complexType>\n              </xsd:element>\n            </xsd:sequence>\n          </xsd:complexType>\n        </xsd:element>\n      </xsd:sequence>\n    </xsd:complexType>\n  </xsd:element>\n</xsd:schema>"
  },
  {
    "path": "SemanticData/CompanionSpecificationInformationModelFforAnalyzers.md",
    "content": "# Companion Specification - Information Model for Analyzers\n\nIn 2008 the OPC Foundation announced support for Analyzer Devices Integration into the OPC Unified Architecture and created a working group composed of end-users and vendors with the main goal of developing a common method for data exchange and an analyzer data model for process and laboratory analyzers. In 2009 the OPC Unified Architecture Companion Specification for Analyzer Devices was released [[1]][OPC.UA.ADI]. To prove the concept a reference implementation was developed containing an ADI compliant server and simple client using the Software Development Kid released by the OPC Foundation.\n\nThe model described in the specification [[1]][OPC.UA.ADI] is intended to provide a unified view of analyzers irrespective of the underlying device. This Information Model is also referred to as the ADI Information Model. As it was mentioned, analyzers can be further refined into various groups, but the specification defines an Information Model that can be applied to all the groups of analyzers.\n\nThe ADI Information Model is located above the DI Information Model [[2]][OPC.UA.DI]. It means that the ADI model refers to definitions provided by the DI model, but the reverse is not true. To expand the ADI Information Model, the next layers shall be provided.\n\nAnalyzing in detail the whole ADI Information Model is impractical here. Hence, the discussion below will be focused only on selected types defined in this specification to illustrate the design practice of the model adoption.\n\nThe object model that describes analyzers is separated into definitions of the types representing the main parts of the device, namely: `AnalyserDeviceType`, `AnalyserChannelType`, `StreamType`, `AccessoryType` and `AccessorySlotType`.\n\nIn general terms `AnalyserDeviceType` represents the instrument as a whole. Each object of the `AnalyserDeviceType` has at least one component of the `AnalyserChannelType` and may have components of the `AccessorySlotType`. Similarly, each object of `AnalyserChannelType` may have `AccessorySlotType` components.\n\n`AnalyserDeviceType` is an abstract type which shall be subtyped for different types of analyzer devices. In the specification [[1]][OPC.UA.ADI] there are defined the following subtypes of the `AnalyserDeviceType`: `SpectrometerDeviceType`, `AcousticSpectrometerDeviceType`, `MassSpectrometerDeviceType`, `ParticleSizeMonitorDeviceType`, `ChromatographDeviceType`, `NMRDeviceType`. Each of these types may be further subtyped by device vendors to converge the Information Model and the underlying process.\n\n## See also\n\n- [[1] OPC Unified Architecture for Analyzer, OPC Foundation, Rel. 1.1a, 2015-01-09][OPC.UA.ADI]\n- [[2] Part 100: Device Information Model, OPC Foundation, 1.02, 2019-04-19][OPC.UA.DI]\n\n[OPC.UA.DI]:https://opcfoundation.org/developer-tools/specifications-unified-architecture/part-100-device-information-model/\n[OPC.UA.ADI]:https://opcfoundation.org/developer-tools/specifications-opc-ua-information-models/opc-unified-architecture-for-analyzer-devices-adi/\n"
  },
  {
    "path": "SemanticData/DesignDeploymentSupport.md",
    "content": "# Design and Deployment Support\n\n## Introduction\n\nPublication of process real-time data and metadata in the Address Space requires a prior model design. From the section *[Address Space Model Life-cycle]*, we can learn that design, development, deployment, and maintenance is a multi-phase engineering process. Moreover, the model deployment varies depending on the server implementation. All of that causes that configuration and process data binding of the server is a complex task and that is why a development environment is required to help architects, engineers, and developers accomplish this task following the best practice rules. This tool should support all aspects of the model deployment process including edition, validation, visualization, data binding definition, and generation of all files allowing the server to expose real-time process data in the context of metadata.\n\nThe tool supports all aspects of the model designing process, e.g. easy addition and deletion of nodes from the model structure, definition of nodes relationship and types, nodes filtering, helpful search and find utility, type declaration, etc.\n\n![Figure 1 Solution concept](../CommonResources/Media/SemanticData/StandardInformationModel.ADI.SolutionConcept.PNG)\n\nIt should implement conceptual containers called solutions and projects (Figure 1 above) to apply its settings. Any solution contains one or more projects and it manages the way the designer configures, builds, and deploys sets of related projects. Any project includes source files containing the model representation and related metadata such as namespace, properties, and references to other projects. While projects are built, output files are produced to be used by the UA Server to expose the designed Address Space (Section *[Address Space and Address Space Model]*).\n\nThe OPC UA information modeling (Section *[UA Information Model - Concept]*) concept is based on layers, which step by step expand the basic model provided by the specification [\\[2\\]][Opc.UA.Part3], [\\[3\\]][OPC.UA.Part5]. To follow this concept, the design tool uses projects to implement model layers. Projects are related to each other making up a layered hierarchy. Referring to the example of the ADI model and according to this concept, this model domain is one of the layers and is captured by the project OpcUaAdiModel illustrated in Figure 1 above.\n\nThe ADI model is located above the DI Information Model (`OpcUaDiModel` in Figure 1 above). It means that the ADI model refers to definitions provided by the DI model, but the reverse is not true. To meet the vendor specific device requirements and further expand the ADI model, the next layers shall be provided. In Figure 1 above project FTNIRModel contains all the type definitions required in this particular example and the project FTNIRModelInstance has an object declaration representing the device.\n\nThe model representation contained by the projects is a collection of definitions of types called `NodeClass` and their references, which make up a domain that defines a collection of unique names called namespace. This namespace is identified by a globally unique identifier URI (Uniform Resource Identifier) that has two roles:\n\n- to avoid ambiguity\n- to associate a responsible organization for designing and maintenance of that model\n\n![Figure 2 Example of a user device object](../CommonResources/Media/SemanticData/StandardInformationModel.ExampleUserDeviceObject.PNG)\n\nThe Address Space is a collection of nodes that are instances of predefined types (`NodeClass`). Each `NodeClass` is defined as an invariable set of named attributes and a collection of references that shall be assigned (given) values when the node is instantiated at run-time. The tool must allow designers to add freely definitions of any class defined by the specification to the model tree view (Figure 2 above), i.e. View, Object, Variable, Method, ObjectType, DataType, ReferenceType, and VariableType. Initial values of the attributes can be provided using the property grid pane.\n\nAn object of a type derived from the `AnalyserDeviceType` representing the device as a whole is the topmost one in the ADI object model. `AnalyserDeviceType` is an abstract type and, therefore, to create an object of this type it must be subtyped to represent different kinds of analyzer devices. A tree view in Figure 2 above illustrates an example of the FT-IR spectrometer simulator object of the type SpectrometerDeviceType that is to represent an example spectrometer in the Address Space. The definition of this object causes that the UA Server instantiates it and all the mandatory instance declarations (components) while creating the Address Space instance.\n\nFigure 2 above is an example of a graphical representation where the snippet of the model definition is presented as nodes on a tree view. To facilitate organization and definition of relationship some tree items have a special role. The top-level `Domain` node is a container of all the definitions belonging to the namespace represented by the project. Namespaces collect all namespace definitions that the projects refer to.\n\nEach node added to the tree view has also a few dedicated branches being placeholders of special treatment. The main aim of the `Children` tree item is to create “part of” relationship. It is an entry to a branch that collects components, i.e. in the Address Space established by a server all nodes in this branch will have been referenced by the parent using a reference of a type derived from `HasComponent` or `HasProperty`. For example, `Channel1` (Figure 2 above) is a component of the FT-IR spectrometer simulator object and adding it to this container causes that in the established Address Space it will be referenced by the FT-IR spectrometer simulator using `HasComponent` reference. References tree item creates a branch that contains all references of the parent node except the above-mentioned ones. The automatically created `CoupledNodes` tree item is a container of all nodes coupled with the parent, e.g. type definition of the parent node (`HasTypeDefinition`), the target of a reference, etc. This node is used to improve the readability of the model and enhance navigation.\n\nFinally, having designed the model, it must be compiled to provide an `Address Space Model` (Section [Address Space Model Life-cycle]) expected by the UA Server. This operation is partially semi-automatic, but it must be accompanied by the definition of bindings between instantiated nodes in the Address Space and real-time data sources.\n\nIn the case of the reference application, the underlying process data bindings are added manually by modification of the auto-generated program source code, and adding behavior necessary for getting access to the data.\n\nFor generic solutions, the tool can be provided with an external dedicated component supporting the selected server configuration in the context of the model. The configuration in the context of the model means that the tool offers the possibility of selecting a real-time data source for each instantiated node independently, e.g. selecting a register of the controller or a tag from an OPC DA client subscription.\n\n## Visualization\n\nThe tool should offer diverse views, flexible filtering and simulation functionalities to create a customized image of the model most appropriate for the current task to view items and perform item management tasks. These features not only increase the designing process efficiency but also improve the robustness of the process by avoiding unexpected structural errors at the very early development stage.\n\nThe model can be visualized using the following modes: Information Model (model) view (2D/3D), Address Space (browse) view (2D). In 2D - OPC UA graphical notation is used, in 3D views - the designer can use scaling, rotating and change the viewpoint to tailor the display to individual needs. A selected node, its properties, and references can be edited using the property pane or custom editors.\n\n## Build support\n\nThe building, debugging, and testing activities are the most important for developing and delivering robust UA applications. The tools enable you to identify and resolve errors efficiently and test your model in a variety of ways without the necessity of postponing it up to the UA server development. It, therefore, makes the model designing process completely independent of software development and to be successfully accomplished by real-time process information architects. This tool can be used independently of any UA application development environment, but - to utilize the model - it must be used for instantiating the content of the Address Space by a UA server. The main aim of the tool is to achieve this goal without any programming skills.\n\n## Interoperability without programming\n\nThe architecture of the tool allows vendors of the UA servers to develop plug-ins providing a configuration editor. The editor is used to modify the general settings and define model nodes data-bindings with the real-time process. Advantages of this solution are as follows:\n\n- Simple configuration\n- No programming skills are required\n- An easier way to move your old OPC server to the Unified Architecture world.\n\n## OPC UA E-book\n\nThe development environment should also be an intelligent eBook. It contains much useful information about UA specifications, Address Space concept, information model and development of the OPC UA models. What is more, a smart content positioning system of the help window can follow object selections in the GUI. The content of the book is available online so it is continuously improved to follow the specification development progress. This software takes advantage of automatic update functionality. Both those features guarantee that your development environment is always up to date.\n\nThanks to the intelligent book idea, this tool is very useful not only for OPC UA professionals but also for the beginners who want to learn about the OPC UA address space concept.\n\n## OPC Foundation OPC UA SDK support\n\nOPC Foundation has already released the UA Software Development Kit that is a collection of libraries, applications and source code that allow developers to build OPC UA applications. Any developer who wants to create an OPC UA server of his own has to accomplish many tasks, but one of the most important is preparing of a model. This could be a hard task; OPC Foundation UA SDK does not include any tool, which helps prepare such a model. The model must be made from scratch by editing the XML file. Therefore , the tool must be compliant with this SDK to make the preparation of the XML file much easier task.\n\n## Conclusion\n\nConcluding the above the most important requirements of the development environment may be specified:\n\n- Allows creating, displaying and editing OPC UA models that are compatible with the OPC Unified Architecture address space concept.\n- All nodes are presented on a tree and can be edited in the property window.\n- Provides the comprehensive intelligent book, the content of which is available online so it is continuously improved and always up to date.\n- The whole configuration can be prepared using a user-friendly Windows-based graphical user interface.\n- The content smart positioning system allows for providing context-sensitive help.\n- No XML file editing is required.\n- No programming skills are required.\n\nAn example of the tool meeting all this requirements is [OPC UA Address Space Model Designer][CAS.ASMD] the open source available on GitHub.\n\n## See also\n\n- [1] [OPC UA Address Space Model Designer][CAS.ASMD]\n- [2] [OPC Unified Architecture Specification Part 3: Address Space Model, OPC Foundation, Rel. 1.04, 2017-11-22][Opc.UA.Part3]\n- [3] [OPC Unified Architecture Specification Part 5: Information Model, OPC Foundation, Rel. 1.04, 2017-11-22][OPC.UA.Part5]\n- [4] [Address Space Model Life-cycle][Address Space Model Life-cycle]\n- [5] [Address Space and Address Space Model][Address Space and Address Space Model]\n- [6] [UA Information Model - Concept][UA Information Model - Concept]\n\n[CAS.ASMD]: https://github.com/mpostol/ASMD\n[Opc.UA.Part3]:https://opcfoundation.org/developer-tools/specifications-unified-architecture/part-3-address-space-model/\n[Opc.UA.Part4]:https://opcfoundation.org/developer-tools/specifications-unified-architecture/part-4-services/\n[OPC.UA.Part5]:https://opcfoundation.org/developer-tools/specifications-unified-architecture/part-5-information-model/\n[UA Information Model - Concept]:InformationModelConcept.md\n[Address Space and Address Space Model]:AddressSpaceAddressSpaceModel.md\n[Address Space Model Life-cycle]:InformationModelLifecycle.md\n"
  },
  {
    "path": "SemanticData/InformationModelConcept.md",
    "content": "# UA Information Model - Concept\n\nTo make systems interoperable, i.e. empower common processing of information by variety of computer systems, the data transfer mechanism must be associated with a consistent information representation model. OPC UA uses an object as a fundamental notion to represent data and behavior of an underlying system. The objects are placeholders of variables, events and methods and are interconnected by references. This concept is similar to well-known object-oriented programming (OOP) that is a programming paradigm using \"objects\" – data structures consisting of fields, events and methods – and their interactions to design computer programs. The OPC UA Information Model [\\[1\\]][CAS.EBOOK], [2], [\\[3\\]][OPC.UA.Part5] provides features such as data abstraction, encapsulation, polymorphism, and inheritance.\n\nFor the purpose of unification of the information representation the producers (servers) and consumers (clients) use the type notion. The OPC UA object model allows servers to provide type definitions for objects and their components. Type definitions may be abstract, and may be inherited by new types to reflect polymorphism. They may also be common or they may be system-specific. Object types may be defined by standardization organizations, vendors or end-users. Each type must have a globally unique identifier that can be used to provide description of the data semantics from the defining body or organization. Using the type definitions to describe the information exposed by the server allows for:\n\n- Development against type definition\n- Unambiguous assignment of the semantics to the data expected by the client\n\nHaving defined types in advance, clients may provide dedicated functionality, for example: displaying the information in the context of specific graphics. It greatly improves reusability as a result of the possibility of designing a unique context for typical real-time processes. As an example, the section [Adopting Companion Standard Models - Analyzer Devices Integration][3] presents a case of unification of the model for chemical analyzers.\n\nThe OPC UA information modeling concept is based on domains. A domain is a named self-contained collection of definitions. Any domain name must be globally unique - it is an identification string that defines a realm of administrative autonomy and authority of responsibility. Type definition from one domain may be inherited from type definitions located in other domains. To avoid circular references domains should be organized in layers, which expand step by step the basic model provided by the OPC UA Specification.\n\nType definitions are exposed in the OPC UA Address Space using the specialized `NodeClass` i.e.: `ObjectType`, `DataType`, `ReferenceType`, `VariableType` (Section [Address Space and Address Space Model][ASASM]). The main role of the types represented by the above `NodeClass`es is to provide a description of the Address Space structure and to allow clients to use this knowledge to navigate to the desired information in the Address Space exposed by the server. In other words, this way the clients obtain the definition of the data (meta-data) using the following two concepts:\n\n1. `NodeClass` – as a formal description of the node defining the allowed attributes and references.\n2. Type – as a formal description of the node defining values of the allowed attributes and references.\n\nThe OPC UA Information Model concept provides a set of predefined types and rules that must be applied to expand it. Even though the OPC UA specification contains a rich set of predefined types, the type concept allows designers to freely define types according to the application needs. New types are derived from the existing ones. The derived types inherit all features from the base types but can include modifications to make the new types more appropriate for information the designers are representing. To expand the standard model, independent domains must be defined. This new information model covered by the domain may be the subject of a companion specification or proprietary release. In any case the definitions must be uniquely named and self-contained except for external type references. All not predefined types (not belonging to the standard domain) must be exposed in the Address Space.\n\nTypes are called meta-data since they describe the data structure and not the actual data values. Simplifying, we can say that a `NodeClass` plays a role similar to the shape of a puzzle piece and the represented information is similar to the picture on the piece.  Both are needed to enable us to see the final picture. In the above simplification we have lost that the OPC UA Address Space is capable of displaying movies, and not just static pictures.\n\nFrom the above discussion we learn that before nodes making up the Address Space can be instantiated by the server, that Address Space must be designed first. Model designing is a process aimed at defining a set of types and their associations and, next, creating an Address Space representation in a format appropriate for implementation. More detailed description of this topic is captured in the section [*Address Space Model Life-cycle*][ASMLC].\n\nThe Address Space concept based on types can be a foundation for exposing any information that is required. Clients understand the Address Space concept and have a browse service to navigate the Address Space. Since browsing is based on the incremental and relative passage among nodes it is apparent that each path must have an entry point defined, so we must address the question as to “where to start\". To meet this requirement, the Information Model includes definition to create a predefined structure containing well defined nodes that can be used as anchors from which a client can discover the Address Space. Thus to design an Address Space instance using predefined new types, we must derive them from the existing ones. At the very beginning the only existing types are the standard ones defined by the OPC Foundation [\\[1\\]][CAS.EBOOK], [\\[3\\]][OPC.UA.Part5]. The available standard types are briefly described in the sections [*Standard Information Model*][SIM].\n\n## See also\n\n- \\[1\\] [OPC Unified Architecture e-book, 2010][CAS.EBOOK]\n- \\[2\\] Jürgen Lange, Frank Iwanitz, Thomas J. Burke. Von Data Access bis Unified Architecture. Hüthig Fachverlag, 2009.\n- \\[3\\] [OPC Unified Architecture Specification Part 5: Information Model, OPC Foundation, Rel. 1.04, 2017-11-22][OPC.UA.Part5]\n- \\[4\\] [Address Space Model Life-cycle][ASMLC]\n- \\[5\\] [Address Space and Address Space Model][ASASM]\n- \\[6\\] [Standard Information Model][SIM]\n\n[SIM]:StandardInformationModel.md\n[ASASM]:AddressSpaceAddressSpaceModel.md\n[OPC.UA.Part5]:https://opcfoundation.org/developer-tools/specifications-unified-architecture/part-5-information-model/\n[ASMLC]:InformationModelLifecycle.md\n[CAS.EBOOK]:https://commsvr-com.github.io/Documentation/ModelDesigner/html/a2d55988-b59a-4a87-95b9-933f6bbdf5bd.htm\n[3]:AdoptingCompanionStandardADI.md"
  },
  {
    "path": "SemanticData/InformationModelFactory/DataTypePurpose.cs",
    "content": "﻿//___________________________________________________________________________________\n//\n//  Copyright (C) 2019, Mariusz Postol LODZ POLAND.\n//\n//  To be in touch join the community at GITTER: https://gitter.im/mpostol/OPC-UA-OOI\n//___________________________________________________________________________________\n\nnamespace UAOOI.SemanticData.InformationModelFactory\n{\n\n  //TODO Mantis - report error \n  /// <summary>\n  /// Enum DataTypePurpose\n  /// </summary>\n  /// <remarks>\n  /// Not defined in the specification Part 2, 5, 6 and Errata Release 1.04.2 September 25, 2018\n  /// </remarks>\n  public enum DataTypePurpose\n  {\n\n    /// <summary>\n    /// The normal release purpose\n    /// </summary>\n    Normal,\n    /// <summary>\n    /// The services only release purpose\n    /// </summary>\n    ServicesOnly,\n    /// <summary>\n    /// The code generator only release purpose\n    /// </summary>\n    CodeGenerator,\n\n  }\n\n}\n"
  },
  {
    "path": "SemanticData/InformationModelFactory/IDataDescriptor.cs",
    "content": "﻿//___________________________________________________________________________________\n//\n//  Copyright (C) 2019, Mariusz Postol LODZ POLAND.\n//\n//  To be in touch join the community at GITTER: https://gitter.im/mpostol/OPC-UA-OOI\n//___________________________________________________________________________________\n\nusing System.Xml;\n\nnamespace UAOOI.SemanticData.InformationModelFactory\n{\n  /// <summary>\n  /// Interface IDataDescriptor - encapsulates the description of the value.\n  /// </summary>\n  public interface IDataDescriptor\n  {\n    \n    /// <summary>\n    /// Sets the type of the data. <see cref=\"XmlQualifiedName\"/> of the DataType definition for the Value. It is not required that the pointed out element is defined in the same document. \n    /// If that is the case many documents must be combined to resolve and validate this reference.\n    /// </summary>\n    /// <value>The type of the data.</value>\n    XmlQualifiedName DataType { set; }\n    /// <summary>\n    /// Sets the array dimensions. This property specifies the length of each dimension for an array value. It is intended to describe the capability of the Variable, not the current size.\n    /// The number of elements shall be equal to the value defined by the ValueRank. It shall be null if ValueRank ≤ 0. The value of 0 for an individual dimension indicates that the dimension has \n    /// a variable length. For example, if a Variable is defined by the following C array:\n    /// Int32 myArray[346];\n    /// then the DataType would point to an Int32, the ValueRank has the value 1 and the ArrayDimensions is an array with one entry having the value 346.\n    /// Note that the maximum length of an array transferred on the wire is 2147483647 (max Int32) and a multidimensional array is encoded as a one dimensional array.\n    /// </summary>\n    /// <remarks>\n    /// ArrayDimensions is ignored if ValueRank is not equal to the OneOrMoreDimensions.\n    /// </remarks>\n    /// <value>The array dimensions.</value>\n    string ArrayDimensions { set; }\n    /// <summary>\n    /// Sets the value rank. This property indicates whether the value is an array and how many dimensions the array has.\n    /// It may have the following values:\n    ///  - n > 1: the Value is an array with the specified number of dimensions.\n    ///  - <b>>OneDimension (1)</b>: The value is an array with one dimension. \n    ///  - OneOrMoreDimensions (0): The value is an array with one or more dimensions.\n    ///  - Scalar (−1): The value is not an array.\n    ///  - Any (−2): The value can be a scalar or an array with any number of dimensions.\n    ///  - ScalarOrOneDimension (−3): The value can be a scalar or a one dimensional array.\n    ///  NOTE: All build in DataTypes are considered to be scalar, even if they have array-like semantics like ByteString and String.\n    /// </summary>\n    /// <value>The value rank.</value>\n    int? ValueRank { set; }\n\n  }\n}\n"
  },
  {
    "path": "SemanticData/InformationModelFactory/IDataTypeDefinitionFactory.cs",
    "content": "﻿//___________________________________________________________________________________\n//\n//  Copyright (C) 2019, Mariusz Postol LODZ POLAND.\n//\n//  To be in touch join the community at GITTER: https://gitter.im/mpostol/OPC-UA-OOI\n//___________________________________________________________________________________\n\nusing System.Xml;\n\nnamespace UAOOI.SemanticData.InformationModelFactory\n{\n\n  //TODO report  Mantis issues.\n  /// <summary>\n  /// Interface <c>IDataTypeDefinitionFactory</c> - This interface is used to define subtypes of the Structure or Enumeration standard DataTypes.\n  /// It defines an abstract representation of a <see cref=\"IDataTypeFactory\"/> that can be used by design tools to automatically create \n  /// serialization code.\n  /// </summary>\n  /// <remarks>\n  /// See detailed description in the Part 6 F.12.\n  /// \n  /// Note:\n  /// \n  /// <c>IsUnion</c> is not defined in the .xsd. This flag indicates if the data type represents a union.  Only one of the Fields defined for the data type is encoded into a value.\n  /// This field is optional.The default value is false. If this value is true, the first field is the switch value.\n  /// </remarks>\n  public interface IDataTypeDefinitionFactory\n  {\n\n    /// <summary>\n    /// Creates new field and provides an object of <see cref=\"IDataTypeFieldFactory\"/> type encapsulating information about the field data type.\n    /// It is assumed that the structure has a sequential layout.For enumerations, the fields are simply a list of values.\n    /// </summary>\n    /// <returns>Returns new instance of the <see cref=\"IDataTypeFieldFactory\"/>.</returns>\n    IDataTypeFieldFactory NewField();\n    /// <summary>\n    /// Sets a unique name of the DataType. This field is only specified for nested DataTypeDefinitions. \n    /// The BrowseName of the DataType Node is used otherwise.\n    /// This field is only specified for nested DataTypeDefinitions. The SymbolicName of the DataType Node is used otherwise.\n    /// </summary>\n    /// <value>The name represented as <see cref=\"XmlQualifiedName\"/>.</value>\n    XmlQualifiedName Name { set; }\n    /// <summary>\n    /// A symbolic name for the data type. It should only be specified if the Name cannot be used for this purpose. \n    /// Only letters, digits or the underscore (‘_’) are permitted.\n    /// </summary>\n    /// <value>The symbolic name of thi entity.</value>\n    string SymbolicName { set; }\n    /// <summary>\n    /// Sets a value indicating whether this instance is option set. This flag indicates that the data type defines the OptionSetValues Property.\n    /// This field is optional.The default value is false.\n    /// </summary>\n    /// <value><c>true</c> if this instance is option set; otherwise, <c>false</c>.</value>\n    bool IsOptionSet { set; }\n    /// <summary>\n    /// Sets a value indicating whether this instance is union. \n    /// Only one of the Fields defined for the data type is encoded into a value.\n    /// This field is optional.The default value is false. If this value is true, the first field is the switch value.\n    /// </summary>\n    /// <value><c>true</c> if this instance is union; otherwise, <c>false</c>.</value>\n    bool IsUnion { set; }\n\n  }\n}\n"
  },
  {
    "path": "SemanticData/InformationModelFactory/IDataTypeFactory.cs",
    "content": "﻿//___________________________________________________________________________________\n//\n//  Copyright (C) 2019, Mariusz Postol LODZ POLAND.\n//\n//  To be in touch join the community at GITTER: https://gitter.im/mpostol/OPC-UA-OOI\n//___________________________________________________________________________________\n\nnamespace UAOOI.SemanticData.InformationModelFactory\n{\n\n  /// <summary>\n  /// Interface <c>IDataTypeFactory</c> - it provides functionality to factory objects implementing the <see cref=\"IDataTypeDefinitionFactory\"/> interface. \n  /// </summary>\n  public interface IDataTypeFactory : ITypeFactory\n  {\n\n    /// <summary>\n    /// Creates new implementation dependent object implementing the <see cref=\"IDataTypeDefinitionFactory\"/> interface.\n    /// The data type model is used to define simple and complex data types. Types are used to describe the structure of the Value attribute of variables and their types. \n    /// Therefore each Variable and VariableType node is pointing with its DataType attribute to a node of the DataType node class.\n    /// </summary>\n    /// <value>Returns new object of <see cref=\"IDataTypeDefinitionFactory\"/> type encapsulating DataType definition factory.</value>\n    IDataTypeDefinitionFactory NewDefinition();\n\n  }\n}\n"
  },
  {
    "path": "SemanticData/InformationModelFactory/IDataTypeFieldFactory.cs",
    "content": "﻿//___________________________________________________________________________________\n//\n//  Copyright (C) 2019, Mariusz Postol LODZ POLAND.\n//\n//  To be in touch join the community at GITTER: https://gitter.im/mpostol/OPC-UA-OOI\n//___________________________________________________________________________________\n\nusing System.Xml;\n\nnamespace UAOOI.SemanticData.InformationModelFactory\n{\n  /// <summary>\n  /// Interface <c>IDataTypeFieldFactory</c> - This interface defines a representation of a field within a structural DataType.\n  /// </summary>\n  public interface IDataTypeFieldFactory\n  {\n    /// <summary>\n    /// Sets the DataType name. \n    /// </summary>\n    /// <remarks>\n    /// This field is not specified for subtypes of Enumeration.\n    /// </remarks>\n    /// <value>The type of the data.</value>\n    XmlQualifiedName DataType\n    {\n      set;\n    }\n    /// <summary>\n    /// Adds the description for the field in multiple locales\n    /// </summary>\n    /// <param name=\"localeField\">The locale field specified as a string that is composed of a language component and a country/region component as specified by RFC 3066.</param>\n    /// <param name=\"valueField\">The localized text.</param>\n    void AddDescription(string localeField, string valueField);\n    /// <summary>\n    /// Adds the display name.\n    /// </summary>\n    /// <param name=\"localeField\">The locale field specified as a string that is composed of a language component and a country/region component as specified by RFC 3066.</param>\n    /// <param name=\"valueField\">The localized text.</param>\n    void AddDisplayName(string localeField, string valueField);\n    /// <summary>\n    /// Sets the name for the field that is unique within the <see cref=\"IDataTypeDefinitionFactory\"/>.\n    /// </summary>\n    /// <value>The name for the field.</value>\n    string Name\n    {\n      set;\n    }\n    /// <summary>\n    /// Sets the value rank. It shall be Scalar (-1) or a fixed rank Array (>=1). This field is not specified for subtypes of Enumeration.\n    /// </summary>\n    /// <value>The value rank.</value>\n    int? ValueRank\n    {\n      set;\n    }\n    /// <summary>\n    /// The value associated with the field. This field is only specified for subtypes of Enumeration. \n    /// For OptionSets the value is the number of the bit associated with the field.\n    /// </summary>\n    /// <value>The value.</value>\n    int Value\n    {\n      set;\n    }\n    /// <summary>\n    /// Sets the symbolic name of the field. A symbolic name for the field that can be used in auto-generated code. It should only be \n    /// specified if the Name cannot be used for this purpose. Only letters, digits or the underscore (‘_’) are permitted.\n    /// This value is not exposed in the OPC UA Address Space\n    /// </summary>\n    /// <value>The symbolic name to be used by the tool.</value>\n    string SymbolicName\n    {\n      set;\n    }\n    /// <summary>\n    /// Gets the array dimensions.\n    /// </summary>\n    /// <remarks>\n    /// The maximum length of an array. This field is a comma separated list of unsigned integer values.The list has a number of elements equal to the ValueRank.\n    /// The value is 0 if the maximum is not known for a dimension. This field is not specified if the ValueRank less or equal 0.\n    /// This field is not specified for subtypes of Enumeration or for DataTypes\n    /// </remarks>\n    /// <value>The array dimensions.</value>\n    string ArrayDimensions { set; }\n    /// <summary>\n    /// Sets the maximum length of the string.\n    /// </summary>\n    /// <remarks>The maximum length of a String or ByteString value. If not known the value is 0. The value is 0 if the DataType is not String or ByteString.\n    /// If the ValueRank > 0 the maximum applies to each element in the array. This field is not specified for subtypes of Enumeration or for DataTypes with \n    /// the OptionSetValues Property.\n    /// </remarks>\n    /// <value>The maximum length of the string.</value>\n    uint MaxStringLength { set; }\n\n    /// <summary>\n    /// Sets a value indicating whether this instance is optional.\n    /// </summary>\n    /// <remarks>\n    /// The field indicates if a data type field in a structure is optional. This field is optional.The default value is false. This field is not specified for subtypes of Enumeration and Union.\n    /// </remarks>\n    /// <value><c>true</c> if this instance is optional; otherwise, <c>false</c>.</value>\n    bool IsOptional { set; }\n\n  }\n}\n"
  },
  {
    "path": "SemanticData/InformationModelFactory/IInstanceFactory.cs",
    "content": "﻿//___________________________________________________________________________________\n//\n//  Copyright (C) 2019, Mariusz Postol LODZ POLAND.\n//\n//  To be in touch join the community at GITTER: https://gitter.im/mpostol/OPC-UA-OOI\n//___________________________________________________________________________________\n\nusing System.Xml;\n\nnamespace UAOOI.SemanticData.InformationModelFactory\n{\n  \n  /// <summary>\n  /// Interface IInstanceFactory - It encapsulates definition of an instance.\n  /// </summary>\n  public interface IInstanceFactory : INodeFactory\n  {\n\n    /// <summary>\n    /// Sets the modeling rule, which defines whether the component of a complex type are instantiated. \n    /// This value is defined by processing the object pointed by the HasModelingRule reference.\n    /// </summary>\n    /// <value>The modeling rule.</value>\n    ModelingRules? ModelingRule\n    {\n      set;\n    }\n    /// <summary>\n    /// Sets the type definition.\n    /// </summary>\n    /// <value>The type definition.</value>\n    XmlQualifiedName TypeDefinition\n    {\n      set;\n    }\n    /// <summary>\n    /// Sets the type of the reference if it is component of a complex definition.\n    /// </summary>\n    /// <value>The type of the reference used for parent child relationship.</value>\n    XmlQualifiedName ReferenceType { set; }\n\n  }\n}\n"
  },
  {
    "path": "SemanticData/InformationModelFactory/IMethodInstanceFactory.cs",
    "content": "﻿//___________________________________________________________________________________\n//\n//  Copyright (C) 2019, Mariusz Postol LODZ POLAND.\n//\n//  To be in touch join the community at GITTER: https://gitter.im/mpostol/OPC-UA-OOI\n//___________________________________________________________________________________\n\nusing System;\nusing System.Xml;\n\nnamespace UAOOI.SemanticData.InformationModelFactory\n{\n\n  /// <summary>\n  /// Interface IMethodInstanceFactory representing a Method in the Information Model. Methods are lightweight functions, whose scope is bounded by an owning object, \n  /// similar to the methods of a class in object-oriented programming or an owning object type, similar to static methods of a class.\n  /// </summary>\n  /// <remarks>\n  /// This interface may be specified for a Method node that is a target of a HasComponent reference from a single TypeObject or Object node.\n  /// </remarks>\n  public interface IMethodInstanceFactory : IInstanceFactory\n  {\n\n    /// <summary>\n    /// Sets a value indicating whether the Method node is executable (“False” means not executable, “True” means executable), not taking user access rights into account. \n    /// If the server cannot get the executable information from the underlying system, it should state that it is executable. If a Method is called, the server should transfer \n    /// this request and return the corresponding StatusCode if such a request is rejected.\n    /// </summary>\n    /// <value><c>true</c> if executable; otherwise, <c>false</c>. Default value is <c>true</c></value>\n    bool? Executable { set; }\n    /// <summary>\n    /// Sets a value indicating whether the Method is currently executable taking user access rights into account (“False” means not executable, “True” means executable).\n    /// </summary>\n    /// <value><c>true</c> if executable by current user; otherwise, <c>false</c>. Default value is <c>true</c></value>\n    bool? UserExecutable { set; }\n    /// <summary>\n    /// Gets or sets the method declaration identifier defined in Part 6  F.9. May be specified for Method Nodes that are a target of a HasComponent reference from a single Object Node. \n    /// It is the NodeId of the UAMethod with the same BrowseName contained in the TypeDefinition associated with the Object Node.\n    /// If the TypeDefinition overrides a Method inherited from a base ObjectType then this attribute shall reference the Method Node in the subtype.\n    /// </summary>\n    /// <value>The method declaration identifier.</value>\n    string MethodDeclarationId { set; }\n    /// <summary>\n    /// Adds the input arguments. The InputArgument specify the input argument of the Method. The Method contains an array of the Argument data type. \n    /// An empty array indicates that there are no input arguments for the Method.\n    /// </summary>\n    /// <param name=\"argument\">Encapsulates a method used to convert Argument represented as <see cref=\"XmlElement\"/>.</param>\n    void AddInputArguments(Func<XmlElement, Parameter[]> argument);\n    /// <summary>\n    /// Adds the output argument. The OutputArgument specifies the output argument of the Method. The Method contains an array of the Argument data type. \n    /// An empty array indicates that there are no output arguments for the Method.\n    /// </summary>\n    /// <param name=\"argument\">Encapsulates a method used to convert Argument represented as <see cref=\"XmlElement\"/>.</param>\n    void AddOutputArguments(Func<XmlElement, Parameter[]> argument);\n    /// <summary>\n    /// Adds the argument description.\n    /// </summary>\n    /// <param name=\"name\">The name.</param>\n    /// <param name=\"locale\">The locale.</param>\n    /// <param name=\"value\">The value.</param>\n    void AddArgumentDescription(string name, string locale, string value);\n  }\n}\n"
  },
  {
    "path": "SemanticData/InformationModelFactory/IModelFactory.cs",
    "content": "﻿//__________________________________________________________________________________________________\n//\n//  Copyright (C) 2022, Mariusz Postol LODZ POLAND.\n//\n//  To be in touch join the community at GitHub: https://github.com/mpostol/OPC-UA-OOI/discussions\n//__________________________________________________________________________________________________\n\nusing System;\n\nnamespace UAOOI.SemanticData.InformationModelFactory\n{\n  /// <summary>\n  /// Interface IModelFactory defines an abstract definition of the specific representation of th OPC UA Information Model.\n  /// </summary>\n  public interface IModelFactory : INodeContainer\n  {\n    /// <summary>\n    /// Creates the namespace description for the provided <see cref=\"Uri\"/>.\n    /// </summary>\n    /// <param name=\"uri\">The <see cref=\"Uri\"/>.</param>\n    /// <param name=\"publicationDate\">The publication <seealso cref=\"DateTime\"/>- when the model was published. This value is used for comparisons if the Model is defined in multiple files.</param>\n    /// <param name=\"version\">The <seealso cref=\"Version\"/> of the model. This is a human readable string and not intended for programmatic comparisons.</param>\n    /// <remarks>The set of objects that the OPC Unified Architecture server makes available to clients is referred to as its Address Space. The namespace is provided to make the BrowseName unique in the Address Space.</remarks>\n    void CreateNamespace(Uri uri, DateTime? publicationDate, Version version);\n  }\n}"
  },
  {
    "path": "SemanticData/InformationModelFactory/INodeContainer.cs",
    "content": "﻿//___________________________________________________________________________________\n//\n//  Copyright (C) 2019, Mariusz Postol LODZ POLAND.\n//\n//  To be in touch join the community at GITTER: https://gitter.im/mpostol/OPC-UA-OOI\n//___________________________________________________________________________________\n\nnamespace UAOOI.SemanticData.InformationModelFactory\n{\n  /// <summary>\n  /// Interface INodeContainer - it represent container of Nodes.\n  /// </summary>\n  public interface INodeContainer\n  {\n    /// <summary>\n    /// Creates and adds a new node instance of the <see cref=\"INodeFactory\"/>.\n    /// </summary>\n    /// <typeparam name=\"NodeFactory\">The type of the node factory must inherit from <see cref=\"INodeFactory\"/>.</typeparam>\n    /// <returns>Returns new object implementing <see cref=\"INodeFactory\"/>.</returns>\n    NodeFactory AddNodeFactory<NodeFactory>()\n      where NodeFactory : INodeFactory;\n  }\n}\n"
  },
  {
    "path": "SemanticData/InformationModelFactory/INodeFactory.cs",
    "content": "﻿//___________________________________________________________________________________\n//\n//  Copyright (C) 2019, Mariusz Postol LODZ POLAND.\n//\n//  To be in touch join the community at GITTER: https://gitter.im/mpostol/OPC-UA-OOI\n//___________________________________________________________________________________\n\nusing System.Xml;\nusing UAOOI.SemanticData.InformationModelFactory.UAConstants;\n\nnamespace UAOOI.SemanticData.InformationModelFactory\n{\n  /// <summary>\n  /// Interface INodeFactory -  a base type that defines a set of fields representing attributes and references of any node in the Address Space.\n  /// </summary>\n  public interface INodeFactory : INodeContainer\n  {\n\n    /// <summary>\n    /// It holds the value of the BrowseName attribute of modes in the Address Space. The BrowseName is the name used in the information model. \n    /// The BrowseName is qualified by the namespace used for the SymbolicName\n    /// </summary>\n    /// <value>The BrowseName of the node.</value>\n  string BrowseName { set; }\n    /// <summary>\n    /// Adds new value for the Description. The optional Description element shall explain the meaning of the node in a localized text using the same mechanisms \n    /// for localization as described for the DisplayName.\n    /// </summary>\n    /// <param name=\"localeField\">The locale field.</param>\n    /// <param name=\"valueField\">The value field.</param>\n    void AddDescription(string localeField, string valueField);\n    /// <summary>\n    /// Adds new value for the DisplayName. The DisplayName attribute contains the localized name of the node. \n    /// Clients should use this attribute if they want to display the name of the node to the user. They should not use \n    /// the BrowseName for this purpose. The server may maintain one or more localized representations for each DisplayName. \n    /// Clients negotiate the locale to be returned when they open a session with the server. The section DisplayName defines the structure of the DisplayName. \n    /// The string part of the DisplayName is restricted to 512 characters.\n    /// </summary>\n    /// <param name=\"localeField\">The locale field.</param>\n    /// <param name=\"valueField\">The value field.</param>\n    void AddDisplayName(string localeField, string valueField);\n    /// <summary>\n    /// Add new reference to the references collection of the node. This collection represents all the references defined by the selected Information Model including \n    /// references to the instance declarations nodes. The References list specifies references that must be created for the node during Address Space instantiation. \n    /// The reference can be forward or inverse.\n    /// </summary>\n    /// <returns>IReferenceFactory.</returns>\n    IReferenceFactory NewReference();\n    /// <summary>\n    /// Sets the a symbolic name for the node that can be used as a class/field name by a design tools to enhance auto-generated code. \n    /// It should only be specified if the BrowseName cannot be used for this purpose. This field is not used directly to instantiate \n    /// Address Space and is intended for use by design tools. Only letters, digits or the underscore (‘_’) are permitted. \n    /// This attribute is not exposed in the Address Space.\n    /// </summary>\n    /// <value>The symbolic name for the node.</value>\n    XmlQualifiedName SymbolicName { set; }\n    /// <summary>\n    /// Sets the write mask. The optional WriteMask attribute represents the WriteMask attribute of the Basic NodeClass, which exposes the possibilities of a client \n    /// to write the attributes of the node. The WriteMask attribute does not take any user access rights into account, that is, although an attribute is writable \n    /// this may be restricted to a certain user/user group.\n    /// </summary>\n    /// <remarks>Default Value \"0\"</remarks>\n    /// <value>The write access.</value>\n    uint WriteAccess { set; }\n    /// <summary>\n    /// Sets the access restrictions.\n    /// </summary>\n    /// <remarks>\n    /// Part 6 Table F.1 – UANodeSet The default AccessRestrictions that apply to all Nodes in the model.\n    /// </remarks>\n    /// <value>The access restrictions.</value>\n    AccessRestrictions AccessRestrictions { set; }\n    /// <summary>\n    /// Sets the release status of the node.\n    /// </summary>\n    /// <remarks>\n    /// It is not exposed in the address space.\n    /// Added in the Rel 1.04 to the specification.\n    /// </remarks>\n    /// <value>The release status.</value>\n    ReleaseStatus ReleaseStatus { set; }\n    //TODO Mantis - report error \n    /// <summary>\n    /// Sets the data type purpose.\n    /// </summary>\n    /// <remarks>\n    /// Not defined in the specification Part 2, 5, 6 and Errata Release 1.04.2 September 25, 2018\n    /// This field is defined in the UADataType in the <c>UADataType</c> but in UA Model Design in the <c>NodeDesign</c>\n    /// </remarks>\n    /// <value>The data type purpose.</value>\n    DataTypePurpose DataTypePurpose { set; }\n    /// <summary>\n    /// Sets the category. A list of identifiers used to group related UANodes together for use by tools that create/edit UANodeSet files.\n    /// </summary>\n    /// <value>The category.</value>\n    string[] Category { set; }\n\n  }\n}\n"
  },
  {
    "path": "SemanticData/InformationModelFactory/IObjectInstanceFactory.cs",
    "content": "﻿//___________________________________________________________________________________\n//\n//  Copyright (C) 2019, Mariusz Postol LODZ POLAND.\n//\n//  To be in touch join the community at GITTER: https://gitter.im/mpostol/OPC-UA-OOI\n//___________________________________________________________________________________\n\nnamespace UAOOI.SemanticData.InformationModelFactory\n{\n  /// <summary>\n  /// Interface IObjectInstanceFactory - encapsulates definition of the Object NodeClass.\n  /// </summary>\n  public interface IObjectInstanceFactory : IInstanceFactory\n  {\n\n    /// <summary>\n    /// Sets a value indicating whether the node supports events.\n    /// </summary>\n    /// <value><c>null</c> if supports events contains no value, <c>true</c> if [supports events]; otherwise, <c>false</c>.</value>\n    bool? SupportsEvents { set; }\n\n\n  }\n}\n"
  },
  {
    "path": "SemanticData/InformationModelFactory/IObjectTypeFactory.cs",
    "content": "﻿//___________________________________________________________________________________\n//\n//  Copyright (C) 2019, Mariusz Postol LODZ POLAND.\n//\n//  To be in touch join the community at GITTER: https://gitter.im/mpostol/OPC-UA-OOI\n//___________________________________________________________________________________\n\nnamespace UAOOI.SemanticData.InformationModelFactory\n{\n  /// <summary>\n  /// Interface IObjectTypeFactory - encapsulates definition of the ObjectType NodeClass.\n  /// </summary>\n  /// <remarks>\n  /// The ObjectType nodes class provide definitions for objects.\n  /// </remarks>\n  public interface IObjectTypeFactory : ITypeFactory { }\n\n}\n"
  },
  {
    "path": "SemanticData/InformationModelFactory/IPropertyInstanceFactory.cs",
    "content": "﻿//___________________________________________________________________________________\n//\n//  Copyright (C) 2019, Mariusz Postol LODZ POLAND.\n//\n//  To be in touch join the community at GITTER: https://gitter.im/mpostol/OPC-UA-OOI\n//___________________________________________________________________________________\n\nnamespace UAOOI.SemanticData.InformationModelFactory\n{\n  /// <summary>\n  /// Interface IPropertyInstanceFactory\n  /// </summary>\n  public interface IPropertyInstanceFactory : IVariableInstanceFactory { }\n\n}\n"
  },
  {
    "path": "SemanticData/InformationModelFactory/IReferenceFactory.cs",
    "content": "﻿//___________________________________________________________________________________\n//\n//  Copyright (C) 2019, Mariusz Postol LODZ POLAND.\n//\n//  To be in touch join the community at GITTER: https://gitter.im/mpostol/OPC-UA-OOI\n//___________________________________________________________________________________\n\nusing System.Xml;\n\nnamespace UAOOI.SemanticData.InformationModelFactory\n{\n  /// <summary>\n  /// Interface IReferenceFactory - represents nodes reference instance.\n  /// </summary>\n  public interface IReferenceFactory\n  {\n\n    /// <summary>\n    /// Sets the type of the reference.\n    /// </summary>\n    /// <value>The type of the reference.</value>\n    XmlQualifiedName ReferenceType\n    {\n      set;\n    }\n    /// <summary>\n    /// Sets the target identifier.\n    /// </summary>\n    /// <value>The target identifier.</value>\n    XmlQualifiedName TargetId\n    {\n      set;\n    }\n\n    /// <summary>\n    /// Sets a value indicating whether this instance is inverse.\n    /// </summary>\n    /// <value><c>true</c> if this instance is inverse; otherwise, <c>false</c>.</value>\n    [System.ComponentModel.DefaultValue(false)]\n    bool IsInverse\n    {\n      set;\n    }\n\n  }\n}\n"
  },
  {
    "path": "SemanticData/InformationModelFactory/IReferenceTypeFactory.cs",
    "content": "﻿//___________________________________________________________________________________\n//\n//  Copyright (C) 2019, Mariusz Postol LODZ POLAND.\n//\n//  To be in touch join the community at GITTER: https://gitter.im/mpostol/OPC-UA-OOI\n//___________________________________________________________________________________\n\nnamespace UAOOI.SemanticData.InformationModelFactory\n{\n\n  /// <summary>\n  /// Interface IReferenceTypeFactory - encapsulates a reference type definition.\n  /// </summary>\n  /// <remarks>\n  /// References are defined as instances of ReferenceType nodes. ReferenceType nodes are visible in the Address Space and are defined using the ReferenceType node class. \n  /// In contrast, a reference instance is an inherent part of a node and no node class is used to represent references.\n  /// </remarks>\n  public interface IReferenceTypeFactory : ITypeFactory\n  {\n\n    /// <summary>\n    /// Adds a new inverse name.\n    /// </summary>\n    /// <param name=\"localeField\">The locale field.</param>\n    /// <param name=\"valueField\">The value field.</param>\n    void AddInverseName(string localeField, string valueField);\n    /// <summary>\n    /// Sets a value indicating whether this <see cref=\"IReferenceTypeFactory\"/> is symmetric. The Symmetric attribute is used to indicate whether or not the meaning of the reference type is the same for both the source and target nodes.\n    /// If a reference type is symmetric, the InverseName attribute shall be omitted.Examples of symmetric reference types are “Connects To” and “Communicates With”. Both imply the same semantic coming from the source node or the target node.\n    /// If the ReferenceType is non-symmetric and not abstract, the InverseName attribute shall be set. The optional InverseName attribute of LocalizedText ia a inverse name of the reference, \n    /// i.e.the meaning of the type as seen from the target node. Examples of non-symmetric reference types include “Contains” and “Contained In”, and “Receives From” and “Sends To”.\n    /// </summary>\n    /// <remarks>Default Value is <b>false</b></remarks>\n    /// <value><c>true</c> if symmetric; otherwise, <c>false</c>.</value>\n    bool Symmetric\n    {\n      set;\n    }\n\n  }\n}\n"
  },
  {
    "path": "SemanticData/InformationModelFactory/ITypeFactory.cs",
    "content": "﻿//___________________________________________________________________________________\n//\n//  Copyright (C) 2019, Mariusz Postol LODZ POLAND.\n//\n//  To be in touch join the community at GITTER: https://gitter.im/mpostol/OPC-UA-OOI\n//___________________________________________________________________________________\n\nusing System.Xml;\n\nnamespace UAOOI.SemanticData.InformationModelFactory\n{\n  /// <summary>\n  /// Interface ITypeFactory - instances implementing this interface supports type definition factoring. \n  /// </summary>\n  public interface ITypeFactory : INodeFactory\n  {\n\n    /// <summary>\n    /// Sets the base type of the node.\n    /// </summary>\n    /// <value>The base type represented by the <see cref=\"XmlQualifiedName\"/>.</value>\n    XmlQualifiedName BaseType { set; }\n    /// <summary>\n    /// Sets a value indicating whether this instance is abstract.\n    /// </summary>\n    /// <remarks>Default Value is false</remarks>\n    /// <value><c>true</c> if this instance is abstract; otherwise, <c>false</c>.</value>\n    bool IsAbstract{ set; }\n\n  }\n}\n"
  },
  {
    "path": "SemanticData/InformationModelFactory/IVariableInstanceFactory.cs",
    "content": "﻿//___________________________________________________________________________________\n//\n//  Copyright (C) 2019, Mariusz Postol LODZ POLAND.\n//\n//  To be in touch join the community at GITTER: https://gitter.im/mpostol/OPC-UA-OOI\n//___________________________________________________________________________________\n\nusing System.Xml;\n\nnamespace UAOOI.SemanticData.InformationModelFactory\n{\n\n  /// <summary>\n  /// Interface IVariableInstanceFactory - In the OPC UA Address Space the Variable NodeClass is used to provide a value, which may be simple or complex. This NodeClass is represented by IVariableInstanceFactory type. \n  /// A UAVariable is a subtype of the <see cref=\"IInstanceFactory\"/> and <see cref=\"IDataDescriptor\"/>. The type of the Variable is defined by <see cref=\"IInstanceFactory.TypeDefinition\"/>.\n  /// </summary>\n  public interface IVariableInstanceFactory : IInstanceFactory, IDataDescriptor\n  {\n    /// <summary>\n    /// Sets the access level. The AccessLevel attribute indicates the accessibility of the Value of a Variable node not taking user access rights into account and \n    /// applies only to a UAVariable element. The AccessLevel attribute is used to indicate how the Value of a Variable node can be accessed (read/write) and \n    /// if it contains current and/or historic data. The AccessLevel does not take any user access rights into account, i.e. although the Variable is writable this \n    /// may be restricted to a certain user / user group.\n    /// </summary>\n    /// <value>The access level.</value>\n    uint? AccessLevel\n    {\n      set;\n    }\n    /// <summary>\n    /// Sets the default value. The value of the Variable node that the server assigns while instantiating the node. Its data type is defined by the DataType field.\n    /// </summary>\n    /// <value>The default value.</value>\n    XmlElement DefaultValue\n    {\n      set;\n    }\n    /// <summary>\n    /// Sets a value indicating whether this <see cref=\"IVariableInstanceFactory\"/> is historizing. The Historizing attribute indicates whether the server is actively \n    /// collecting data for the history of the Variable node. This differs from the AccessLevel which identifies if the Variable has any historical data. A value of <c>true</c> \n    /// indicates that the server is actively collecting data. A value of <c>false</c> indicates that  the server is not actively collecting data. Default value is <c>false</c>.\n    /// </summary>\n    /// <value><c>true</c> if historizing; otherwise, <c>false</c>.</value>\n    bool? Historizing\n    {\n      set;\n    }\n    /// <summary>\n    /// Sets the minimum sampling interval. The MinimumSamplingInterval attribute indicates how “current” the Value of the Variable NodeClass will be kept. \n    /// It specifies (in milliseconds) how fast the server can reasonably sample the value for changes. The accuracy of this value (the ability of the server to attain \n    /// “best case” performance) can be greatly affected by the system load and other factors. A MinimumSamplingInterval of 0 indicates that the server is to monitor the \n    /// item continuously. A MinimumSamplingInterval of -1 means indeterminate value.\n    /// </summary>\n    /// <value>The minimum sampling interval.</value>\n    int? MinimumSamplingInterval\n    {\n      set;\n    }\n    /// <summary>\n    /// Sets the user access level. The UserAccessLevel attribute is used to indicate how the Value attribute of a Variable NodeClass can be accessed (read/write) \n    /// and if it contains current or historic data taking user access rights into account. It applies only to a UAVariable element. If the OPC UA Server does not \n    /// have the ability to get any user access rights related information from the underlying system it should use the same bit mask as used in the AccessLevel attribute. \n    /// The UserAccessLevel attribute can restrict the accessibility indicated by the AccessLevel, but not exceed it.\n    /// </summary>\n    /// <value>The user access level.</value>\n    byte? UserAccessLevel\n    {\n      set;\n    }\n  }\n}\n"
  },
  {
    "path": "SemanticData/InformationModelFactory/IVariableTypeFactory.cs",
    "content": "﻿//___________________________________________________________________________________\n//\n//  Copyright (C) 2019, Mariusz Postol LODZ POLAND.\n//\n//  To be in touch join the community at GITTER: https://gitter.im/mpostol/OPC-UA-OOI\n//___________________________________________________________________________________\n\nusing System.Xml;\n\nnamespace UAOOI.SemanticData.InformationModelFactory\n{\n\n  /// <summary>\n  /// Interface IVariableTypeFactory\n  /// </summary>\n  public interface IVariableTypeFactory : ITypeFactory, IDataDescriptor\n  {\n\n    /// <summary>\n    /// Sets the default value. The value of the Variable node that the server assigns while instantiating the node. Its data type is defined by the <see cref=\"IDataDescriptor.DataType\"/>.\n    /// </summary>\n    /// <value>The default value.</value>\n    XmlElement DefaultValue\n    {\n      set;\n    }\n\n  }\n}\n"
  },
  {
    "path": "SemanticData/InformationModelFactory/IViewInstanceFactory.cs",
    "content": "﻿//___________________________________________________________________________________\n//\n//  Copyright (C) 2019, Mariusz Postol LODZ POLAND.\n//\n//  To be in touch join the community at GITTER: https://gitter.im/mpostol/OPC-UA-OOI\n//___________________________________________________________________________________\n\nnamespace UAOOI.SemanticData.InformationModelFactory\n{\n\n  /// <summary>\n  /// Interface IViewInstanceFactory - encapsulates definition of a View NodeClass\n  /// </summary>\n  public interface IViewInstanceFactory : IInstanceFactory\n  {\n\n    /// <summary>\n    /// Sets a value indicating whether the events are supported.\n    /// </summary>\n    /// <value><c>null</c> if it contains no value, <c>true</c> if events are supported; otherwise, <c>false</c>.</value>\n    bool? SupportsEvents\n    {\n      set;\n    }\n    /// <summary>\n    /// Sets a value indicating whether the part of the Address Space represented by View contains no loops. \n    /// The mandatory ContainsNoLoops attribute is set to false if the server is not able to identify if the view contains loops or not.\n    /// </summary>\n    /// <value><c>true</c> if the part of the Address Space represented by View contains no loops; otherwise, <c>false</c>.</value>\n    bool ContainsNoLoops\n    {\n      set;\n    }\n\n  }\n}\n"
  },
  {
    "path": "SemanticData/InformationModelFactory/ModelingRules.cs",
    "content": "﻿//___________________________________________________________________________________\n//\n//  Copyright (C) 2019, Mariusz Postol LODZ POLAND.\n//\n//  To be in touch join the community at GITTER: https://gitter.im/mpostol/OPC-UA-OOI\n//___________________________________________________________________________________\n\nnamespace UAOOI.SemanticData.InformationModelFactory\n{\n  /// <summary>\n  /// Enum ModelingRules - represents modeling rules described in Part 3 6.4.4 ModelingRules.\n  /// </summary>\n  public enum ModelingRules\n  {\n\n    /// <summary>\n    /// The mandatory - 6.4.4.5.2 Mandatory\n    /// </summary>\n    Mandatory,\n    /// <summary>\n    /// The optional - 6.4.4.5.3 Optional\n    /// </summary>\n    Optional,\n    /// <summary>\n    /// The mandatory placeholder - 6.4.4.5.6 MandatoryPlaceholder\n    /// </summary>\n    MandatoryPlaceholder,\n    /// <summary>\n    /// The optional placeholder: 6.4.4.5.5\tOptionalPlaceholder\n    /// </summary>\n    OptionalPlaceholder,\n    /// <summary>\n    /// The exposes its array - 6.4.4.5.4\tExposesItsArray\n    /// </summary>\n    ExposesItsArray,\n\n  }\n}\n"
  },
  {
    "path": "SemanticData/InformationModelFactory/Parameter.cs",
    "content": "﻿//___________________________________________________________________________________\n//\n//  Copyright (C) 2019, Mariusz Postol LODZ POLAND.\n//\n//  To be in touch join the community at GITTER: https://gitter.im/mpostol/OPC-UA-OOI\n//___________________________________________________________________________________\n\nusing System.Collections.Generic;\nusing System.Xml;\n\nnamespace UAOOI.SemanticData.InformationModelFactory\n{\n\n  /// <summary>\n  /// Class Parameter - contains information representing a method arguments.\n  /// </summary>\n  public class Parameter : IDataDescriptor\n  {\n    /// <summary>\n    /// Struct Description - localized description.\n    /// </summary>\n    public struct Description\n    {\n      /// <summary>\n      /// The locale\n      /// </summary>\n      public string Locale;\n      /// <summary>\n      /// The text of Description\n      /// </summary>\n      public string Text;\n    }\n    /// <summary>\n    /// Initializes a new instance of the <see cref=\"Parameter\"/> class.\n    /// </summary>\n    public Parameter()\n    {\n      Descriptions = new List<Description>();\n    }\n    /// <summary>\n    /// Sets the name of the parameter.\n    /// </summary>\n    /// <value>The name.</value>\n    public string Name { set; get; }\n    /// <summary>\n    /// Sets the identifier.\n    /// </summary>\n    /// <value>The identifier.</value>\n    public int? Identifier { set; get; }\n    /// <summary>\n    /// Sets the type of the data. <see cref=\"XmlQualifiedName\" /> of the DataType definition for the Value. It is not required that the pointed out element is defined in the same document.\n    /// If that is the case many documents must be combined to resolve and validate this reference.\n    /// </summary>\n    /// <value>The type of the data.</value>\n    public XmlQualifiedName DataType { set; get; }\n    /// <summary>\n    /// Sets the array dimensions. This PROPERTY specifies the length of each dimension for an array value. It is intended to describe the capability of the Variable, not the current size.\n    /// The number of elements shall be equal to the value defined by the ValueRank. It shall be null if ValueRank ≤ 0. The value of 0 for an individual dimension indicates that the dimension has\n    /// a variable length. For example, if a Variable is defined by the following C array:\n    /// Int32 myArray[346];\n    /// then the DataType would point to an Int32, the ValueRank has the value 1 and the ArrayDimensions is an array with one entry having the value 346.\n    /// Note that the maximum length of an array transferred on the wire is 2147483647 (max Int32) and a multidimensional array is encoded as a one dimensional array.\n    /// </summary>\n    /// <value>The array dimensions.</value>\n    /// <remarks>ArrayDimensions is ignored if ValueRank is not equal to the OneOrMoreDimensions.</remarks>\n    public string ArrayDimensions  { set; get; }\n    /// <summary>\n    /// Sets the value rank. This property indicates whether the value is an array and how many dimensions the array has.\n    /// It may have the following values:\n    /// - n &gt; 1: the Value is an array with the specified number of dimensions.\n    /// - <b>&gt;OneDimension (1)</b>: The value is an array with one dimension.\n    /// - OneOrMoreDimensions (0): The value is an array with one or more dimensions.\n    /// - Scalar (−1): The value is not an array.\n    /// - Any (−2): The value can be a scalar or an array with any number of dimensions.\n    /// - ScalarOrOneDimension (−3): The value can be a scalar or a one dimensional array.\n    /// NOTE: All build in DataTypes are considered to be scalar, even if they have array-like semantics like ByteString and String.\n    /// </summary>\n    /// <value>The value rank.</value>\n    public int? ValueRank  { set; get; }\n    /// <summary>\n    /// Gets or sets the descriptions - human readable text with an optional locale identifier.\n    /// </summary>\n    /// <value>The list of descriptions.</value>\n    public List<Description> Descriptions { get; protected set; }\n    /// <summary>\n    /// Adds the localized description of the argument\n    /// </summary>\n    /// <param name=\"localeField\">The locale field.</param>\n    /// <param name=\"valueField\">The value field.</param>\n    public void AddDescription(string localeField, string valueField)\n    {\n      Descriptions.Add(new Description() { Locale = localeField, Text = valueField });\n    }\n\n  }\n}\n"
  },
  {
    "path": "SemanticData/InformationModelFactory/Properties/AssemblyInfo.cs",
    "content": "﻿//___________________________________________________________________________________\n//\n//  Copyright (C) 2019, Mariusz Postol LODZ POLAND.\n//\n//  To be in touch join the community at GITTER: https://gitter.im/mpostol/OPC-UA-OOI\n//___________________________________________________________________________________\n\nusing System.Reflection;\nusing System.Runtime.InteropServices;\n\n[assembly: AssemblyTrademark(\"Object Oriented Internet\")]\n[assembly: AssemblyCulture(\"\")]\n[assembly: Guid(\"b364bbfb-0608-4ed6-936c-7dca0b386305\")]\n"
  },
  {
    "path": "SemanticData/InformationModelFactory/Properties/UAOOI.SemanticData.InformationModelFactory.5.1.0.nuspec",
    "content": "﻿<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<package xmlns=\"http://schemas.microsoft.com/packaging/2012/06/nuspec.xsd\">\n  <metadata>\n    <id>UAOOI.SemanticData.InformationModelFactory</id>\n    <version>5.1.0</version>\n    <title>Object-oriented Internet Semantic-data Information Model Factory</title>\n    <authors>Mariuisz Postol</authors>\n    <owners>Mariuisz Postol</owners>\n    <requireLicenseAcceptance>false</requireLicenseAcceptance>\n    <license type=\"expression\">MIT</license>\n    <licenseUrl>https://licenses.nuget.org/MIT</licenseUrl>\n    <projectUrl>https://commsvr.gitbook.io/ooi/readme</projectUrl>\n    <iconUrl>https://github.com/mpostol/OPC-UA-OOI/blob/master/CommonResources/Media/Logo64.PNG?raw=true</iconUrl>\n    <description>OPC UA Information Model Factory library used as the dependency injection to produce **OPC UA Information Model** by an external importer. The abstract API must be implemented by a classes providing functionality of OPC UA  Information Model creation.\nThe root of the definitions is the `IModelFactory` interface.</description>\n    <summary>OPC UA Information Model Factory library used as the dependency injection to produce **OPC UA Information Model** by an external importer.</summary>\n    <copyright>Copyright (C) 2019 Mariusz Postol LODZ POLAND</copyright>\n    <tags>Object Oriented Internet, OPC UA, Information Model, IoT, M2M, DOA,</tags>\n    <repository type=\"GitHub\" url=\"https://github.com/mpostol/OPC-UA-OOI\" />\n    <dependencies>\n      <group targetFramework=\".NETStandard2.0\" />\n    </dependencies>\n  </metadata>\n  <files>\n    <file src=\"C:\\git\\OPC-UA-OOI\\SemanticData\\InformationModelFactory\\bin\\Release\\netstandard2.0\\UAOOI.SemanticData.InformationModelFactory.dll\" target=\"lib\\netstandard2.0\\UAOOI.SemanticData.InformationModelFactory.dll\" />\n  </files>\n</package>"
  },
  {
    "path": "SemanticData/InformationModelFactory/README.md",
    "content": "# `InformationModelFactory` Library\n\nIt is a library used as the dependency injection to produce OPC UA Information Model by a selected importer. The abstract API must be implemented by classes providing the functionality of Information Model creation.\n\nThe root of the definitions is the `IModelFactory` interface.\n\n## How to implement the `InformationModelFactory`\n\n## How to install NuGet package\n\n## See also\n"
  },
  {
    "path": "SemanticData/InformationModelFactory/ReleaseStatus.cs",
    "content": "﻿//___________________________________________________________________________________\n//\n//  Copyright (C) 2019, Mariusz Postol LODZ POLAND.\n//\n//  To be in touch join the community at GITTER: https://gitter.im/mpostol/OPC-UA-OOI\n//___________________________________________________________________________________\n\nnamespace UAOOI.SemanticData.InformationModelFactory\n{\n\n  //TODO Mantis - report error \n  /// <summary>\n  /// Enum ReleaseStatus\n  /// </summary>\n  /// <remarks>\n  /// Not defined in the specification Part 2, 5, 6 and  Errata Release 1.04.2 September 25, 2018\n  /// </remarks>\n    public enum ReleaseStatus\n  {\n\n    /// <summary>\n    /// The model has been released.\n    /// </summary>\n    Released,\n    /// <summary>\n    /// It is draft model\n    /// </summary>\n    Draft,\n    /// <summary>\n    /// Consider the model as deprecated\n    /// </summary>\n    Deprecated,\n\n  }\n\n}\n"
  },
  {
    "path": "SemanticData/InformationModelFactory/SemanticData.InformationModelFactory.csproj",
    "content": "﻿<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<Project Sdk=\"Microsoft.NET.Sdk\">\n\n  <PropertyGroup>\n    <TargetFramework>netstandard2.0</TargetFramework>\n    <AssemblyName>UAOOI.SemanticData.InformationModelFactory</AssemblyName>\n    <PackageId>UAOOI.SemanticData.InformationModelFactory</PackageId>\n    <Version>5.1.0</Version>\n    <Authors>Mariuisz Postol</Authors>\n    <Company>commsvr.com</Company>\n    <Product>Object Oriented Internet</Product>\n    <Description>OPC UA Information Model Factory library used as the dependency injection to produce **OPC UA Information Model** by an external importer. The abstract API must be implemented by classes providing the functionality of OPC UA  Information Model creation.\nThe root of the definitions is the `IModelFactory` interface.</Description>\n    <Copyright>Copyright (C) 2019 Mariusz Postol LODZ POLAND</Copyright>\n    <PackageLicenseExpression>MIT</PackageLicenseExpression>\n    <PackageProjectUrl>https://commsvr.gitbook.io/ooi/readme</PackageProjectUrl>\n    <PackageTags>Object Oriented Internet, OPC UA, Information Model, IoT, M2M, DOA,</PackageTags>\n    <RepositoryUrl>https://github.com/mpostol/OPC-UA-OOI</RepositoryUrl>\n    <RepositoryType>GitHub</RepositoryType>\n    <RootNamespace>UAOOI.SemanticData.InformationModelFactory</RootNamespace>\n    <SignAssembly>true</SignAssembly>\n    <AssemblyOriginatorKeyFile>OPCUAOOIKey.snk</AssemblyOriginatorKeyFile>\n    <AssemblyVersion>5.1.0</AssemblyVersion>\n    <GeneratePackageOnBuild>false</GeneratePackageOnBuild>\n    <FileVersion>5.1.0</FileVersion>\n    <ApplicationIcon>Logo.ico</ApplicationIcon>\n    <PackageIconUrl>https://github.com/mpostol/OPC-UA-OOI/blob/master/CommonResources/Media/Logo64.PNG?raw=true</PackageIconUrl>\n  </PropertyGroup>\n\n  <PropertyGroup Condition=\"'$(Configuration)|$(Platform)'=='Debug|AnyCPU'\">\n    <DocumentationFile>bin\\Debug\\netstandard2.0\\UAOOI.SemanticData.InformationModelFactory.xml</DocumentationFile>\n    <OutputPath>bin\\Debug\\netstandard2.0\\</OutputPath>\n  </PropertyGroup>\n\n</Project>"
  },
  {
    "path": "SemanticData/InformationModelFactory/UAConstants/AccessLevels.cs",
    "content": "﻿//___________________________________________________________________________________\n//\n//  Copyright (C) 2019, Mariusz Postol LODZ POLAND.\n//\n//  To be in touch join the community at GITTER: https://gitter.im/mpostol/OPC-UA-OOI\n//___________________________________________________________________________________\n\nnamespace UAOOI.SemanticData.InformationModelFactory.UAConstants\n{\n  /// <summary>\n  /// Flags that can be set for the AccessLevel attribute.\n  /// </summary>\n  /// <remarks>\n  /// Flags that can be set for the AccessLevel attribute.\n  /// </remarks>\n  public static class AccessLevels\n  {\n    /// <summary>\n    /// The Variable value cannot be accessed and has no event history.\n    /// </summary>\n    public const byte None = 0x0;\n    /// <summary>\n    /// The current value of the Variable may be read.\n    /// </summary>\n    public const byte CurrentRead = 0x1;\n    /// <summary>\n    /// The current value of the Variable may be written.\n    /// </summary>\n    public const byte CurrentWrite = 0x2;\n    /// <summary>\n    /// The current value of the Variable may be read or written.\n    /// </summary>\n    public const byte CurrentReadOrWrite = 0x3;\n    /// <summary>\n    /// The history for the Variable may be read.\n    /// </summary>\n    public const byte HistoryRead = 0x4;\n    /// <summary>\n    /// The history for the Variable may be updated.\n    /// </summary>\n    public const byte HistoryWrite = 0x8;\n    /// <summary>\n    /// The history value of the Variable may be read or updated.\n    /// </summary>\n    public const byte HistoryReadOrWrite = 0xC;\n    /// <summary>\n    /// Indicates if the Variable generates SemanticChangeEvents when its value changes.\n    /// </summary>\n    public const byte SemanticChange = 0x10;\n  }\n\n}\n"
  },
  {
    "path": "SemanticData/InformationModelFactory/UAConstants/AccessRestrictions.cs",
    "content": "﻿//___________________________________________________________________________________\n//\n//  Copyright (C) 2019, Mariusz Postol LODZ POLAND.\n//\n//  To be in touch join the community at GITTER: https://gitter.im/mpostol/OPC-UA-OOI\n//___________________________________________________________________________________\n\nusing System;\n\nnamespace UAOOI.SemanticData.InformationModelFactory.UAConstants\n{\n  /// <summary>\n  /// Enum AccessRestrictions - this is a subtype of the UInt16 with the OptionSetValues Property defined. It is used to define the access restrictions of a <see cref=\"INodeFactory\"/>.\n  /// Defined in Part3-8.56\n  /// </summary>\n  [Flags]\n  public enum AccessRestrictions : ushort\n  {\n    /// <summary>\n    /// The client can only access the Node when using a SecureChannel which digitally signs all messages.\n    /// </summary>\n    SigningRequired = 0x0,\n    /// <summary>\n    /// The client can only access the Node when using a SecureChannel which encrypts all messages.\n    /// </summary>\n    EncryptionRequired = 0x1,\n    /// <summary>\n    /// The client cannot access the Node when using SessionlessInvoke Service invocation.\n    /// </summary>\n    SessionRequired = 0x2\n  }\n}\n"
  },
  {
    "path": "SemanticData/InformationModelFactory/UAConstants/BrowseNames.cs",
    "content": "﻿//___________________________________________________________________________________\n//\n//  Copyright (C) 2019, Mariusz Postol LODZ POLAND.\n//\n//  To be in touch join the community at GITTER: https://gitter.im/mpostol/OPC-UA-OOI\n//___________________________________________________________________________________\n\nnamespace UAOOI.SemanticData.InformationModelFactory.UAConstants\n{\n  /// <summary>\n  /// Declares all of the BrowseNames used in the Model Design.\n  /// </summary>\n  public static partial class BrowseNames\n  {\n    /// <summary>\n    /// The BrowseName for the AccessHistoryDataCapability component.\n    /// </summary>\n    public const string AccessHistoryDataCapability = \"AccessHistoryDataCapability\";\n\n    /// <summary>\n    /// The BrowseName for the AccessHistoryEventsCapability component.\n    /// </summary>\n    public const string AccessHistoryEventsCapability = \"AccessHistoryEventsCapability\";\n\n    /// <summary>\n    /// The BrowseName for the AckedState component.\n    /// </summary>\n    public const string AckedState = \"AckedState\";\n\n    /// <summary>\n    /// The BrowseName for the Acknowledge component.\n    /// </summary>\n    public const string Acknowledge = \"Acknowledge\";\n\n    /// <summary>\n    /// The BrowseName for the AcknowledgeableConditionType component.\n    /// </summary>\n    public const string AcknowledgeableConditionType = \"AcknowledgeableConditionType\";\n\n    /// <summary>\n    /// The BrowseName for the ActionTimeStamp component.\n    /// </summary>\n    public const string ActionTimeStamp = \"ActionTimeStamp\";\n\n    /// <summary>\n    /// The BrowseName for the ActivateSessionRequest component.\n    /// </summary>\n    public const string ActivateSessionRequest = \"ActivateSessionRequest\";\n\n    /// <summary>\n    /// The BrowseName for the ActivateSessionResponse component.\n    /// </summary>\n    public const string ActivateSessionResponse = \"ActivateSessionResponse\";\n\n    /// <summary>\n    /// The BrowseName for the ActiveState component.\n    /// </summary>\n    public const string ActiveState = \"ActiveState\";\n\n    /// <summary>\n    /// The BrowseName for the ActualSessionTimeout component.\n    /// </summary>\n    public const string ActualSessionTimeout = \"ActualSessionTimeout\";\n\n    /// <summary>\n    /// The BrowseName for the AddComment component.\n    /// </summary>\n    public const string AddComment = \"AddComment\";\n\n    /// <summary>\n    /// The BrowseName for the AddCommentMethodType component.\n    /// </summary>\n    public const string AddCommentMethodType = \"AddCommentMethodType\";\n\n    /// <summary>\n    /// The BrowseName for the AddNodesCount component.\n    /// </summary>\n    public const string AddNodesCount = \"AddNodesCount\";\n\n    /// <summary>\n    /// The BrowseName for the AddNodesItem component.\n    /// </summary>\n    public const string AddNodesItem = \"AddNodesItem\";\n\n    /// <summary>\n    /// The BrowseName for the AddNodesRequest component.\n    /// </summary>\n    public const string AddNodesRequest = \"AddNodesRequest\";\n\n    /// <summary>\n    /// The BrowseName for the AddNodesResponse component.\n    /// </summary>\n    public const string AddNodesResponse = \"AddNodesResponse\";\n\n    /// <summary>\n    /// The BrowseName for the AddNodesResult component.\n    /// </summary>\n    public const string AddNodesResult = \"AddNodesResult\";\n\n    /// <summary>\n    /// The BrowseName for the AddReferencesCount component.\n    /// </summary>\n    public const string AddReferencesCount = \"AddReferencesCount\";\n\n    /// <summary>\n    /// The BrowseName for the AddReferencesItem component.\n    /// </summary>\n    public const string AddReferencesItem = \"AddReferencesItem\";\n\n    /// <summary>\n    /// The BrowseName for the AddReferencesRequest component.\n    /// </summary>\n    public const string AddReferencesRequest = \"AddReferencesRequest\";\n\n    /// <summary>\n    /// The BrowseName for the AddReferencesResponse component.\n    /// </summary>\n    public const string AddReferencesResponse = \"AddReferencesResponse\";\n\n    /// <summary>\n    /// The BrowseName for the AddressSpaceFile component.\n    /// </summary>\n    public const string AddressSpaceFile = \"AddressSpaceFile\";\n\n    /// <summary>\n    /// The BrowseName for the AddressSpaceFileType component.\n    /// </summary>\n    public const string AddressSpaceFileType = \"AddressSpaceFileType\";\n\n    /// <summary>\n    /// The BrowseName for the AggregateConfiguration component.\n    /// </summary>\n    public const string AggregateConfiguration = \"AggregateConfiguration\";\n\n    /// <summary>\n    /// The BrowseName for the AggregateConfigurationType component.\n    /// </summary>\n    public const string AggregateConfigurationType = \"AggregateConfigurationType\";\n\n    /// <summary>\n    /// The BrowseName for the AggregateFilter component.\n    /// </summary>\n    public const string AggregateFilter = \"AggregateFilter\";\n\n    /// <summary>\n    /// The BrowseName for the AggregateFilterResult component.\n    /// </summary>\n    public const string AggregateFilterResult = \"AggregateFilterResult\";\n\n    /// <summary>\n    /// The BrowseName for the AggregateFunction_AnnotationCount component.\n    /// </summary>\n    public const string AggregateFunction_AnnotationCount = \"AnnotationCount\";\n\n    /// <summary>\n    /// The BrowseName for the AggregateFunction_Average component.\n    /// </summary>\n    public const string AggregateFunction_Average = \"Average\";\n\n    /// <summary>\n    /// The BrowseName for the AggregateFunction_Count component.\n    /// </summary>\n    public const string AggregateFunction_Count = \"Count\";\n\n    /// <summary>\n    /// The BrowseName for the AggregateFunction_Delta component.\n    /// </summary>\n    public const string AggregateFunction_Delta = \"Delta\";\n\n    /// <summary>\n    /// The BrowseName for the AggregateFunction_DeltaBounds component.\n    /// </summary>\n    public const string AggregateFunction_DeltaBounds = \"DeltaBounds\";\n\n    /// <summary>\n    /// The BrowseName for the AggregateFunction_DurationBad component.\n    /// </summary>\n    public const string AggregateFunction_DurationBad = \"DurationBad\";\n\n    /// <summary>\n    /// The BrowseName for the AggregateFunction_DurationGood component.\n    /// </summary>\n    public const string AggregateFunction_DurationGood = \"DurationGood\";\n\n    /// <summary>\n    /// The BrowseName for the AggregateFunction_DurationInStateNonZero component.\n    /// </summary>\n    public const string AggregateFunction_DurationInStateNonZero = \"DurationInStateNonZero\";\n\n    /// <summary>\n    /// The BrowseName for the AggregateFunction_DurationInStateZero component.\n    /// </summary>\n    public const string AggregateFunction_DurationInStateZero = \"DurationInStateZero\";\n\n    /// <summary>\n    /// The BrowseName for the AggregateFunction_End component.\n    /// </summary>\n    public const string AggregateFunction_End = \"End\";\n\n    /// <summary>\n    /// The BrowseName for the AggregateFunction_EndBound component.\n    /// </summary>\n    public const string AggregateFunction_EndBound = \"EndBound\";\n\n    /// <summary>\n    /// The BrowseName for the AggregateFunction_Interpolative component.\n    /// </summary>\n    public const string AggregateFunction_Interpolative = \"Interpolative\";\n\n    /// <summary>\n    /// The BrowseName for the AggregateFunction_Maximum component.\n    /// </summary>\n    public const string AggregateFunction_Maximum = \"Maximum\";\n\n    /// <summary>\n    /// The BrowseName for the AggregateFunction_Maximum2 component.\n    /// </summary>\n    public const string AggregateFunction_Maximum2 = \"Maximum2\";\n\n    /// <summary>\n    /// The BrowseName for the AggregateFunction_MaximumActualTime component.\n    /// </summary>\n    public const string AggregateFunction_MaximumActualTime = \"MaximumActualTime\";\n\n    /// <summary>\n    /// The BrowseName for the AggregateFunction_MaximumActualTime2 component.\n    /// </summary>\n    public const string AggregateFunction_MaximumActualTime2 = \"MaximumActualTime2\";\n\n    /// <summary>\n    /// The BrowseName for the AggregateFunction_Minimum component.\n    /// </summary>\n    public const string AggregateFunction_Minimum = \"Minimum\";\n\n    /// <summary>\n    /// The BrowseName for the AggregateFunction_Minimum2 component.\n    /// </summary>\n    public const string AggregateFunction_Minimum2 = \"Minimum2\";\n\n    /// <summary>\n    /// The BrowseName for the AggregateFunction_MinimumActualTime component.\n    /// </summary>\n    public const string AggregateFunction_MinimumActualTime = \"MinimumActualTime\";\n\n    /// <summary>\n    /// The BrowseName for the AggregateFunction_MinimumActualTime2 component.\n    /// </summary>\n    public const string AggregateFunction_MinimumActualTime2 = \"MinimumActualTime2\";\n\n    /// <summary>\n    /// The BrowseName for the AggregateFunction_NumberOfTransitions component.\n    /// </summary>\n    public const string AggregateFunction_NumberOfTransitions = \"NumberOfTransitions\";\n\n    /// <summary>\n    /// The BrowseName for the AggregateFunction_PercentBad component.\n    /// </summary>\n    public const string AggregateFunction_PercentBad = \"PercentBad\";\n\n    /// <summary>\n    /// The BrowseName for the AggregateFunction_PercentGood component.\n    /// </summary>\n    public const string AggregateFunction_PercentGood = \"PercentGood\";\n\n    /// <summary>\n    /// The BrowseName for the AggregateFunction_Range component.\n    /// </summary>\n    public const string AggregateFunction_Range = \"Range\";\n\n    /// <summary>\n    /// The BrowseName for the AggregateFunction_Range2 component.\n    /// </summary>\n    public const string AggregateFunction_Range2 = \"Range2\";\n\n    /// <summary>\n    /// The BrowseName for the AggregateFunction_StandardDeviationPopulation component.\n    /// </summary>\n    public const string AggregateFunction_StandardDeviationPopulation = \"StandardDeviationPopulation\";\n\n    /// <summary>\n    /// The BrowseName for the AggregateFunction_StandardDeviationSample component.\n    /// </summary>\n    public const string AggregateFunction_StandardDeviationSample = \"StandardDeviationSample\";\n\n    /// <summary>\n    /// The BrowseName for the AggregateFunction_Start component.\n    /// </summary>\n    public const string AggregateFunction_Start = \"Start\";\n\n    /// <summary>\n    /// The BrowseName for the AggregateFunction_StartBound component.\n    /// </summary>\n    public const string AggregateFunction_StartBound = \"StartBound\";\n\n    /// <summary>\n    /// The BrowseName for the AggregateFunction_TimeAverage component.\n    /// </summary>\n    public const string AggregateFunction_TimeAverage = \"TimeAverage\";\n\n    /// <summary>\n    /// The BrowseName for the AggregateFunction_TimeAverage2 component.\n    /// </summary>\n    public const string AggregateFunction_TimeAverage2 = \"TimeAverage2\";\n\n    /// <summary>\n    /// The BrowseName for the AggregateFunction_Total component.\n    /// </summary>\n    public const string AggregateFunction_Total = \"Total\";\n\n    /// <summary>\n    /// The BrowseName for the AggregateFunction_Total2 component.\n    /// </summary>\n    public const string AggregateFunction_Total2 = \"Total2\";\n\n    /// <summary>\n    /// The BrowseName for the AggregateFunction_VariancePopulation component.\n    /// </summary>\n    public const string AggregateFunction_VariancePopulation = \"VariancePopulation\";\n\n    /// <summary>\n    /// The BrowseName for the AggregateFunction_VarianceSample component.\n    /// </summary>\n    public const string AggregateFunction_VarianceSample = \"VarianceSample\";\n\n    /// <summary>\n    /// The BrowseName for the AggregateFunction_WorstQuality component.\n    /// </summary>\n    public const string AggregateFunction_WorstQuality = \"WorstQuality\";\n\n    /// <summary>\n    /// The BrowseName for the AggregateFunction_WorstQuality2 component.\n    /// </summary>\n    public const string AggregateFunction_WorstQuality2 = \"WorstQuality2\";\n\n    /// <summary>\n    /// The BrowseName for the AggregateFunctions component.\n    /// </summary>\n    public const string AggregateFunctions = \"AggregateFunctions\";\n\n    /// <summary>\n    /// The BrowseName for the AggregateFunctionType component.\n    /// </summary>\n    public const string AggregateFunctionType = \"AggregateFunctionType\";\n\n    /// <summary>\n    /// The BrowseName for the Aggregates component.\n    /// </summary>\n    public const string Aggregates = \"Aggregates\";\n\n    /// <summary>\n    /// The BrowseName for the AlarmConditionType component.\n    /// </summary>\n    public const string AlarmConditionType = \"AlarmConditionType\";\n\n    /// <summary>\n    /// The BrowseName for the AllowNulls component.\n    /// </summary>\n    public const string AllowNulls = \"AllowNulls\";\n\n    /// <summary>\n    /// The BrowseName for the AlwaysGeneratesEvent component.\n    /// </summary>\n    public const string AlwaysGeneratesEvent = \"AlwaysGeneratesEvent\";\n\n    /// <summary>\n    /// The BrowseName for the AnalogItemType component.\n    /// </summary>\n    public const string AnalogItemType = \"AnalogItemType\";\n\n    /// <summary>\n    /// The BrowseName for the Annotation component.\n    /// </summary>\n    public const string Annotation = \"Annotation\";\n\n    /// <summary>\n    /// The BrowseName for the Annotations component.\n    /// </summary>\n    public const string Annotations = \"Annotations\";\n\n    /// <summary>\n    /// The BrowseName for the AnonymousIdentityToken component.\n    /// </summary>\n    public const string AnonymousIdentityToken = \"AnonymousIdentityToken\";\n\n    /// <summary>\n    /// The BrowseName for the ApplicationDescription component.\n    /// </summary>\n    public const string ApplicationDescription = \"ApplicationDescription\";\n\n    /// <summary>\n    /// The BrowseName for the ApplicationInstanceCertificate component.\n    /// </summary>\n    public const string ApplicationInstanceCertificate = \"ApplicationInstanceCertificate\";\n\n    /// <summary>\n    /// The BrowseName for the ApplicationType component.\n    /// </summary>\n    public const string ApplicationType = \"ApplicationType\";\n\n    /// <summary>\n    /// The BrowseName for the Argument component.\n    /// </summary>\n    public const string Argument = \"Argument\";\n\n    /// <summary>\n    /// The BrowseName for the ArrayItemType component.\n    /// </summary>\n    public const string ArrayItemType = \"ArrayItemType\";\n\n    /// <summary>\n    /// The BrowseName for the ArrayTestType component.\n    /// </summary>\n    public const string ArrayTestType = \"ArrayTestType\";\n\n    /// <summary>\n    /// The BrowseName for the AttributeId component.\n    /// </summary>\n    public const string AttributeId = \"AttributeId\";\n\n    /// <summary>\n    /// The BrowseName for the AttributeOperand component.\n    /// </summary>\n    public const string AttributeOperand = \"AttributeOperand\";\n\n    /// <summary>\n    /// The BrowseName for the AttributeWriteMask component.\n    /// </summary>\n    public const string AttributeWriteMask = \"AttributeWriteMask\";\n\n    /// <summary>\n    /// The BrowseName for the AuditActivateSessionEventType component.\n    /// </summary>\n    public const string AuditActivateSessionEventType = \"AuditActivateSessionEventType\";\n\n    /// <summary>\n    /// The BrowseName for the AuditAddNodesEventType component.\n    /// </summary>\n    public const string AuditAddNodesEventType = \"AuditAddNodesEventType\";\n\n    /// <summary>\n    /// The BrowseName for the AuditAddReferencesEventType component.\n    /// </summary>\n    public const string AuditAddReferencesEventType = \"AuditAddReferencesEventType\";\n\n    /// <summary>\n    /// The BrowseName for the AuditCancelEventType component.\n    /// </summary>\n    public const string AuditCancelEventType = \"AuditCancelEventType\";\n\n    /// <summary>\n    /// The BrowseName for the AuditCertificateDataMismatchEventType component.\n    /// </summary>\n    public const string AuditCertificateDataMismatchEventType = \"AuditCertificateDataMismatchEventType\";\n\n    /// <summary>\n    /// The BrowseName for the AuditCertificateEventType component.\n    /// </summary>\n    public const string AuditCertificateEventType = \"AuditCertificateEventType\";\n\n    /// <summary>\n    /// The BrowseName for the AuditCertificateExpiredEventType component.\n    /// </summary>\n    public const string AuditCertificateExpiredEventType = \"AuditCertificateExpiredEventType\";\n\n    /// <summary>\n    /// The BrowseName for the AuditCertificateInvalidEventType component.\n    /// </summary>\n    public const string AuditCertificateInvalidEventType = \"AuditCertificateInvalidEventType\";\n\n    /// <summary>\n    /// The BrowseName for the AuditCertificateMismatchEventType component.\n    /// </summary>\n    public const string AuditCertificateMismatchEventType = \"AuditCertificateMismatchEventType\";\n\n    /// <summary>\n    /// The BrowseName for the AuditCertificateRevokedEventType component.\n    /// </summary>\n    public const string AuditCertificateRevokedEventType = \"AuditCertificateRevokedEventType\";\n\n    /// <summary>\n    /// The BrowseName for the AuditCertificateUntrustedEventType component.\n    /// </summary>\n    public const string AuditCertificateUntrustedEventType = \"AuditCertificateUntrustedEventType\";\n\n    /// <summary>\n    /// The BrowseName for the AuditChannelEventType component.\n    /// </summary>\n    public const string AuditChannelEventType = \"AuditChannelEventType\";\n\n    /// <summary>\n    /// The BrowseName for the AuditConditionAcknowledgeEventType component.\n    /// </summary>\n    public const string AuditConditionAcknowledgeEventType = \"AuditConditionAcknowledgeEventType\";\n\n    /// <summary>\n    /// The BrowseName for the AuditConditionCommentEventType component.\n    /// </summary>\n    public const string AuditConditionCommentEventType = \"AuditConditionCommentEventType\";\n\n    /// <summary>\n    /// The BrowseName for the AuditConditionConfirmEventType component.\n    /// </summary>\n    public const string AuditConditionConfirmEventType = \"AuditConditionConfirmEventType\";\n\n    /// <summary>\n    /// The BrowseName for the AuditConditionEnableEventType component.\n    /// </summary>\n    public const string AuditConditionEnableEventType = \"AuditConditionEnableEventType\";\n\n    /// <summary>\n    /// The BrowseName for the AuditConditionEventType component.\n    /// </summary>\n    public const string AuditConditionEventType = \"AuditConditionEventType\";\n\n    /// <summary>\n    /// The BrowseName for the AuditConditionRespondEventType component.\n    /// </summary>\n    public const string AuditConditionRespondEventType = \"AuditConditionRespondEventType\";\n\n    /// <summary>\n    /// The BrowseName for the AuditConditionShelvingEventType component.\n    /// </summary>\n    public const string AuditConditionShelvingEventType = \"AuditConditionShelvingEventType\";\n\n    /// <summary>\n    /// The BrowseName for the AuditCreateSessionEventType component.\n    /// </summary>\n    public const string AuditCreateSessionEventType = \"AuditCreateSessionEventType\";\n\n    /// <summary>\n    /// The BrowseName for the AuditDeleteNodesEventType component.\n    /// </summary>\n    public const string AuditDeleteNodesEventType = \"AuditDeleteNodesEventType\";\n\n    /// <summary>\n    /// The BrowseName for the AuditDeleteReferencesEventType component.\n    /// </summary>\n    public const string AuditDeleteReferencesEventType = \"AuditDeleteReferencesEventType\";\n\n    /// <summary>\n    /// The BrowseName for the AuditEventType component.\n    /// </summary>\n    public const string AuditEventType = \"AuditEventType\";\n\n    /// <summary>\n    /// The BrowseName for the AuditHistoryAtTimeDeleteEventType component.\n    /// </summary>\n    public const string AuditHistoryAtTimeDeleteEventType = \"AuditHistoryAtTimeDeleteEventType\";\n\n    /// <summary>\n    /// The BrowseName for the AuditHistoryDeleteEventType component.\n    /// </summary>\n    public const string AuditHistoryDeleteEventType = \"AuditHistoryDeleteEventType\";\n\n    /// <summary>\n    /// The BrowseName for the AuditHistoryEventDeleteEventType component.\n    /// </summary>\n    public const string AuditHistoryEventDeleteEventType = \"AuditHistoryEventDeleteEventType\";\n\n    /// <summary>\n    /// The BrowseName for the AuditHistoryEventUpdateEventType component.\n    /// </summary>\n    public const string AuditHistoryEventUpdateEventType = \"AuditHistoryEventUpdateEventType\";\n\n    /// <summary>\n    /// The BrowseName for the AuditHistoryRawModifyDeleteEventType component.\n    /// </summary>\n    public const string AuditHistoryRawModifyDeleteEventType = \"AuditHistoryRawModifyDeleteEventType\";\n\n    /// <summary>\n    /// The BrowseName for the AuditHistoryUpdateEventType component.\n    /// </summary>\n    public const string AuditHistoryUpdateEventType = \"AuditHistoryUpdateEventType\";\n\n    /// <summary>\n    /// The BrowseName for the AuditHistoryValueUpdateEventType component.\n    /// </summary>\n    public const string AuditHistoryValueUpdateEventType = \"AuditHistoryValueUpdateEventType\";\n\n    /// <summary>\n    /// The BrowseName for the Auditing component.\n    /// </summary>\n    public const string Auditing = \"Auditing\";\n\n    /// <summary>\n    /// The BrowseName for the AuditNodeManagementEventType component.\n    /// </summary>\n    public const string AuditNodeManagementEventType = \"AuditNodeManagementEventType\";\n\n    /// <summary>\n    /// The BrowseName for the AuditOpenSecureChannelEventType component.\n    /// </summary>\n    public const string AuditOpenSecureChannelEventType = \"AuditOpenSecureChannelEventType\";\n\n    /// <summary>\n    /// The BrowseName for the AuditProgramTransitionEventType component.\n    /// </summary>\n    public const string AuditProgramTransitionEventType = \"AuditProgramTransitionEventType\";\n\n    /// <summary>\n    /// The BrowseName for the AuditSecurityEventType component.\n    /// </summary>\n    public const string AuditSecurityEventType = \"AuditSecurityEventType\";\n\n    /// <summary>\n    /// The BrowseName for the AuditSessionEventType component.\n    /// </summary>\n    public const string AuditSessionEventType = \"AuditSessionEventType\";\n\n    /// <summary>\n    /// The BrowseName for the AuditUpdateEventType component.\n    /// </summary>\n    public const string AuditUpdateEventType = \"AuditUpdateEventType\";\n\n    /// <summary>\n    /// The BrowseName for the AuditUpdateMethodEventType component.\n    /// </summary>\n    public const string AuditUpdateMethodEventType = \"AuditUpdateMethodEventType\";\n\n    /// <summary>\n    /// The BrowseName for the AuditUpdateStateEventType component.\n    /// </summary>\n    public const string AuditUpdateStateEventType = \"AuditUpdateStateEventType\";\n\n    /// <summary>\n    /// The BrowseName for the AuditUrlMismatchEventType component.\n    /// </summary>\n    public const string AuditUrlMismatchEventType = \"AuditUrlMismatchEventType\";\n\n    /// <summary>\n    /// The BrowseName for the AuditWriteUpdateEventType component.\n    /// </summary>\n    public const string AuditWriteUpdateEventType = \"AuditWriteUpdateEventType\";\n\n    /// <summary>\n    /// The BrowseName for the AuthenticationMechanism component.\n    /// </summary>\n    public const string AuthenticationMechanism = \"AuthenticationMechanism\";\n\n    /// <summary>\n    /// The BrowseName for the AutoDelete component.\n    /// </summary>\n    public const string AutoDelete = \"AutoDelete\";\n\n    /// <summary>\n    /// The BrowseName for the AxisDefinition component.\n    /// </summary>\n    public const string AxisDefinition = \"AxisDefinition\";\n\n    /// <summary>\n    /// The BrowseName for the AxisInformation component.\n    /// </summary>\n    public const string AxisInformation = \"AxisInformation\";\n\n    /// <summary>\n    /// The BrowseName for the AxisScaleEnumeration component.\n    /// </summary>\n    public const string AxisScaleEnumeration = \"AxisScaleEnumeration\";\n\n    /// <summary>\n    /// The BrowseName for the AxisScaleType component.\n    /// </summary>\n    public const string AxisScaleType = \"AxisScaleType\";\n\n    /// <summary>\n    /// The BrowseName for the BaseConditionClassType component.\n    /// </summary>\n    public const string BaseConditionClassType = \"BaseConditionClassType\";\n\n    /// <summary>\n    /// The BrowseName for the BaseDataType component.\n    /// </summary>\n    public const string BaseDataType = \"BaseDataType\";\n\n    /// <summary>\n    /// The BrowseName for the BaseDataVariableType component.\n    /// </summary>\n    public const string BaseDataVariableType = \"BaseDataVariableType\";\n\n    /// <summary>\n    /// The BrowseName for the BaseEventType component.\n    /// </summary>\n    public const string BaseEventType = \"BaseEventType\";\n\n    /// <summary>\n    /// The BrowseName for the BaseModelChangeEventType component.\n    /// </summary>\n    public const string BaseModelChangeEventType = \"BaseModelChangeEventType\";\n\n    /// <summary>\n    /// The BrowseName for the BaseObjectType component.\n    /// </summary>\n    public const string BaseObjectType = \"BaseObjectType\";\n\n    /// <summary>\n    /// The BrowseName for the BaseVariableType component.\n    /// </summary>\n    public const string BaseVariableType = \"BaseVariableType\";\n\n    /// <summary>\n    /// The BrowseName for the BitFieldMaskDataType component.\n    /// </summary>\n    public const string BitFieldMaskDataType = \"BitFieldMaskDataType\";\n\n    /// <summary>\n    /// The BrowseName for the BitMask component.\n    /// </summary>\n    public const string BitMask = \"BitMask\";\n\n    /// <summary>\n    /// The BrowseName for the Boolean component.\n    /// </summary>\n    public const string Boolean = \"Boolean\";\n\n    /// <summary>\n    /// The BrowseName for the BranchId component.\n    /// </summary>\n    public const string BranchId = \"BranchId\";\n\n    /// <summary>\n    /// The BrowseName for the BrowseCount component.\n    /// </summary>\n    public const string BrowseCount = \"BrowseCount\";\n\n    /// <summary>\n    /// The BrowseName for the BrowseDescription component.\n    /// </summary>\n    public const string BrowseDescription = \"BrowseDescription\";\n\n    /// <summary>\n    /// The BrowseName for the BrowseDirection component.\n    /// </summary>\n    public const string BrowseDirection = \"BrowseDirection\";\n\n    /// <summary>\n    /// The BrowseName for the BrowseNextCount component.\n    /// </summary>\n    public const string BrowseNextCount = \"BrowseNextCount\";\n\n    /// <summary>\n    /// The BrowseName for the BrowseNextRequest component.\n    /// </summary>\n    public const string BrowseNextRequest = \"BrowseNextRequest\";\n\n    /// <summary>\n    /// The BrowseName for the BrowseNextResponse component.\n    /// </summary>\n    public const string BrowseNextResponse = \"BrowseNextResponse\";\n\n    /// <summary>\n    /// The BrowseName for the BrowsePath component.\n    /// </summary>\n    public const string BrowsePath = \"BrowsePath\";\n\n    /// <summary>\n    /// The BrowseName for the BrowsePathResult component.\n    /// </summary>\n    public const string BrowsePathResult = \"BrowsePathResult\";\n\n    /// <summary>\n    /// The BrowseName for the BrowsePathTarget component.\n    /// </summary>\n    public const string BrowsePathTarget = \"BrowsePathTarget\";\n\n    /// <summary>\n    /// The BrowseName for the BrowseRequest component.\n    /// </summary>\n    public const string BrowseRequest = \"BrowseRequest\";\n\n    /// <summary>\n    /// The BrowseName for the BrowseResponse component.\n    /// </summary>\n    public const string BrowseResponse = \"BrowseResponse\";\n\n    /// <summary>\n    /// The BrowseName for the BrowseResult component.\n    /// </summary>\n    public const string BrowseResult = \"BrowseResult\";\n\n    /// <summary>\n    /// The BrowseName for the BrowseResultMask component.\n    /// </summary>\n    public const string BrowseResultMask = \"BrowseResultMask\";\n\n    /// <summary>\n    /// The BrowseName for the BuildDate component.\n    /// </summary>\n    public const string BuildDate = \"BuildDate\";\n\n    /// <summary>\n    /// The BrowseName for the BuildInfo component.\n    /// </summary>\n    public const string BuildInfo = \"BuildInfo\";\n\n    /// <summary>\n    /// The BrowseName for the BuildInfoType component.\n    /// </summary>\n    public const string BuildInfoType = \"BuildInfoType\";\n\n    /// <summary>\n    /// The BrowseName for the BuildNumber component.\n    /// </summary>\n    public const string BuildNumber = \"BuildNumber\";\n\n    /// <summary>\n    /// The BrowseName for the Byte component.\n    /// </summary>\n    public const string Byte = \"Byte\";\n\n    /// <summary>\n    /// The BrowseName for the ByteString component.\n    /// </summary>\n    public const string ByteString = \"ByteString\";\n\n    /// <summary>\n    /// The BrowseName for the CallCount component.\n    /// </summary>\n    public const string CallCount = \"CallCount\";\n\n    /// <summary>\n    /// The BrowseName for the CallMethodRequest component.\n    /// </summary>\n    public const string CallMethodRequest = \"CallMethodRequest\";\n\n    /// <summary>\n    /// The BrowseName for the CallMethodResult component.\n    /// </summary>\n    public const string CallMethodResult = \"CallMethodResult\";\n\n    /// <summary>\n    /// The BrowseName for the CallRequest component.\n    /// </summary>\n    public const string CallRequest = \"CallRequest\";\n\n    /// <summary>\n    /// The BrowseName for the CallResponse component.\n    /// </summary>\n    public const string CallResponse = \"CallResponse\";\n\n    /// <summary>\n    /// The BrowseName for the CancelRequest component.\n    /// </summary>\n    public const string CancelRequest = \"CancelRequest\";\n\n    /// <summary>\n    /// The BrowseName for the CancelResponse component.\n    /// </summary>\n    public const string CancelResponse = \"CancelResponse\";\n\n    /// <summary>\n    /// The BrowseName for the Certificate component.\n    /// </summary>\n    public const string Certificate = \"Certificate\";\n\n    /// <summary>\n    /// The BrowseName for the Changes component.\n    /// </summary>\n    public const string Changes = \"Changes\";\n\n    /// <summary>\n    /// The BrowseName for the ChannelSecurityToken component.\n    /// </summary>\n    public const string ChannelSecurityToken = \"ChannelSecurityToken\";\n\n    /// <summary>\n    /// The BrowseName for the ClientAuditEntryId component.\n    /// </summary>\n    public const string ClientAuditEntryId = \"ClientAuditEntryId\";\n\n    /// <summary>\n    /// The BrowseName for the ClientCertificate component.\n    /// </summary>\n    public const string ClientCertificate = \"ClientCertificate\";\n\n    /// <summary>\n    /// The BrowseName for the ClientCertificateThumbprint component.\n    /// </summary>\n    public const string ClientCertificateThumbprint = \"ClientCertificateThumbprint\";\n\n    /// <summary>\n    /// The BrowseName for the ClientConnectionTime component.\n    /// </summary>\n    public const string ClientConnectionTime = \"ClientConnectionTime\";\n\n    /// <summary>\n    /// The BrowseName for the ClientDescription component.\n    /// </summary>\n    public const string ClientDescription = \"ClientDescription\";\n\n    /// <summary>\n    /// The BrowseName for the ClientLastContactTime component.\n    /// </summary>\n    public const string ClientLastContactTime = \"ClientLastContactTime\";\n\n    /// <summary>\n    /// The BrowseName for the ClientSoftwareCertificates component.\n    /// </summary>\n    public const string ClientSoftwareCertificates = \"ClientSoftwareCertificates\";\n\n    /// <summary>\n    /// The BrowseName for the ClientUserId component.\n    /// </summary>\n    public const string ClientUserId = \"ClientUserId\";\n\n    /// <summary>\n    /// The BrowseName for the ClientUserIdHistory component.\n    /// </summary>\n    public const string ClientUserIdHistory = \"ClientUserIdHistory\";\n\n    /// <summary>\n    /// The BrowseName for the ClientUserIdOfSession component.\n    /// </summary>\n    public const string ClientUserIdOfSession = \"ClientUserIdOfSession\";\n\n    /// <summary>\n    /// The BrowseName for the Close component.\n    /// </summary>\n    public const string Close = \"Close\";\n\n    /// <summary>\n    /// The BrowseName for the CloseMethodType component.\n    /// </summary>\n    public const string CloseMethodType = \"CloseMethodType\";\n\n    /// <summary>\n    /// The BrowseName for the CloseSecureChannelRequest component.\n    /// </summary>\n    public const string CloseSecureChannelRequest = \"CloseSecureChannelRequest\";\n\n    /// <summary>\n    /// The BrowseName for the CloseSecureChannelResponse component.\n    /// </summary>\n    public const string CloseSecureChannelResponse = \"CloseSecureChannelResponse\";\n\n    /// <summary>\n    /// The BrowseName for the CloseSessionRequest component.\n    /// </summary>\n    public const string CloseSessionRequest = \"CloseSessionRequest\";\n\n    /// <summary>\n    /// The BrowseName for the CloseSessionResponse component.\n    /// </summary>\n    public const string CloseSessionResponse = \"CloseSessionResponse\";\n\n    /// <summary>\n    /// The BrowseName for the Comment component.\n    /// </summary>\n    public const string Comment = \"Comment\";\n\n    /// <summary>\n    /// The BrowseName for the ComplexNumberType component.\n    /// </summary>\n    public const string ComplexNumberType = \"ComplexNumberType\";\n\n    /// <summary>\n    /// The BrowseName for the ComplianceLevel component.\n    /// </summary>\n    public const string ComplianceLevel = \"ComplianceLevel\";\n\n    /// <summary>\n    /// The BrowseName for the CompositeTestType component.\n    /// </summary>\n    public const string CompositeTestType = \"CompositeTestType\";\n\n    /// <summary>\n    /// The BrowseName for the ConditionClassId component.\n    /// </summary>\n    public const string ConditionClassId = \"ConditionClassId\";\n\n    /// <summary>\n    /// The BrowseName for the ConditionClassName component.\n    /// </summary>\n    public const string ConditionClassName = \"ConditionClassName\";\n\n    /// <summary>\n    /// The BrowseName for the ConditionName component.\n    /// </summary>\n    public const string ConditionName = \"ConditionName\";\n\n    /// <summary>\n    /// The BrowseName for the ConditionRefresh component.\n    /// </summary>\n    public const string ConditionRefresh = \"ConditionRefresh\";\n\n    /// <summary>\n    /// The BrowseName for the ConditionRefreshMethodType component.\n    /// </summary>\n    public const string ConditionRefreshMethodType = \"ConditionRefreshMethodType\";\n\n    /// <summary>\n    /// The BrowseName for the ConditionType component.\n    /// </summary>\n    public const string ConditionType = \"ConditionType\";\n\n    /// <summary>\n    /// The BrowseName for the ConditionVariableType component.\n    /// </summary>\n    public const string ConditionVariableType = \"ConditionVariableType\";\n\n    /// <summary>\n    /// The BrowseName for the Confirm component.\n    /// </summary>\n    public const string Confirm = \"Confirm\";\n\n    /// <summary>\n    /// The BrowseName for the ConfirmedState component.\n    /// </summary>\n    public const string ConfirmedState = \"ConfirmedState\";\n\n    /// <summary>\n    /// The BrowseName for the ContentFilter component.\n    /// </summary>\n    public const string ContentFilter = \"ContentFilter\";\n\n    /// <summary>\n    /// The BrowseName for the ContentFilterElement component.\n    /// </summary>\n    public const string ContentFilterElement = \"ContentFilterElement\";\n\n    /// <summary>\n    /// The BrowseName for the ContentFilterElementResult component.\n    /// </summary>\n    public const string ContentFilterElementResult = \"ContentFilterElementResult\";\n\n    /// <summary>\n    /// The BrowseName for the ContentFilterResult component.\n    /// </summary>\n    public const string ContentFilterResult = \"ContentFilterResult\";\n\n    /// <summary>\n    /// The BrowseName for the ContinuationPoint component.\n    /// </summary>\n    public const string ContinuationPoint = \"ContinuationPoint\";\n\n    /// <summary>\n    /// The BrowseName for the Counter component.\n    /// </summary>\n    public const string Counter = \"Counter\";\n\n    /// <summary>\n    /// The BrowseName for the Creatable component.\n    /// </summary>\n    public const string Creatable = \"Creatable\";\n\n    /// <summary>\n    /// The BrowseName for the CreateClientName component.\n    /// </summary>\n    public const string CreateClientName = \"CreateClientName\";\n\n    /// <summary>\n    /// The BrowseName for the CreateMonitoredItemsCount component.\n    /// </summary>\n    public const string CreateMonitoredItemsCount = \"CreateMonitoredItemsCount\";\n\n    /// <summary>\n    /// The BrowseName for the CreateMonitoredItemsRequest component.\n    /// </summary>\n    public const string CreateMonitoredItemsRequest = \"CreateMonitoredItemsRequest\";\n\n    /// <summary>\n    /// The BrowseName for the CreateMonitoredItemsResponse component.\n    /// </summary>\n    public const string CreateMonitoredItemsResponse = \"CreateMonitoredItemsResponse\";\n\n    /// <summary>\n    /// The BrowseName for the CreateSessionId component.\n    /// </summary>\n    public const string CreateSessionId = \"CreateSessionId\";\n\n    /// <summary>\n    /// The BrowseName for the CreateSessionRequest component.\n    /// </summary>\n    public const string CreateSessionRequest = \"CreateSessionRequest\";\n\n    /// <summary>\n    /// The BrowseName for the CreateSessionResponse component.\n    /// </summary>\n    public const string CreateSessionResponse = \"CreateSessionResponse\";\n\n    /// <summary>\n    /// The BrowseName for the CreateSubscriptionCount component.\n    /// </summary>\n    public const string CreateSubscriptionCount = \"CreateSubscriptionCount\";\n\n    /// <summary>\n    /// The BrowseName for the CreateSubscriptionRequest component.\n    /// </summary>\n    public const string CreateSubscriptionRequest = \"CreateSubscriptionRequest\";\n\n    /// <summary>\n    /// The BrowseName for the CreateSubscriptionResponse component.\n    /// </summary>\n    public const string CreateSubscriptionResponse = \"CreateSubscriptionResponse\";\n\n    /// <summary>\n    /// The BrowseName for the CubeItemType component.\n    /// </summary>\n    public const string CubeItemType = \"CubeItemType\";\n\n    /// <summary>\n    /// The BrowseName for the CumulatedSessionCount component.\n    /// </summary>\n    public const string CumulatedSessionCount = \"CumulatedSessionCount\";\n\n    /// <summary>\n    /// The BrowseName for the CumulatedSubscriptionCount component.\n    /// </summary>\n    public const string CumulatedSubscriptionCount = \"CumulatedSubscriptionCount\";\n\n    /// <summary>\n    /// The BrowseName for the CurrentKeepAliveCount component.\n    /// </summary>\n    public const string CurrentKeepAliveCount = \"CurrentKeepAliveCount\";\n\n    /// <summary>\n    /// The BrowseName for the CurrentLifetimeCount component.\n    /// </summary>\n    public const string CurrentLifetimeCount = \"CurrentLifetimeCount\";\n\n    /// <summary>\n    /// The BrowseName for the CurrentMonitoredItemsCount component.\n    /// </summary>\n    public const string CurrentMonitoredItemsCount = \"CurrentMonitoredItemsCount\";\n\n    /// <summary>\n    /// The BrowseName for the CurrentPublishRequestsInQueue component.\n    /// </summary>\n    public const string CurrentPublishRequestsInQueue = \"CurrentPublishRequestsInQueue\";\n\n    /// <summary>\n    /// The BrowseName for the CurrentServerId component.\n    /// </summary>\n    public const string CurrentServerId = \"CurrentServerId\";\n\n    /// <summary>\n    /// The BrowseName for the CurrentSessionCount component.\n    /// </summary>\n    public const string CurrentSessionCount = \"CurrentSessionCount\";\n\n    /// <summary>\n    /// The BrowseName for the CurrentState component.\n    /// </summary>\n    public const string CurrentState = \"CurrentState\";\n\n    /// <summary>\n    /// The BrowseName for the CurrentSubscriptionCount component.\n    /// </summary>\n    public const string CurrentSubscriptionCount = \"CurrentSubscriptionCount\";\n\n    /// <summary>\n    /// The BrowseName for the CurrentSubscriptionsCount component.\n    /// </summary>\n    public const string CurrentSubscriptionsCount = \"CurrentSubscriptionsCount\";\n\n    /// <summary>\n    /// The BrowseName for the CurrentTime component.\n    /// </summary>\n    public const string CurrentTime = \"CurrentTime\";\n\n    /// <summary>\n    /// The BrowseName for the DataChangeFilter component.\n    /// </summary>\n    public const string DataChangeFilter = \"DataChangeFilter\";\n\n    /// <summary>\n    /// The BrowseName for the DataChangeNotification component.\n    /// </summary>\n    public const string DataChangeNotification = \"DataChangeNotification\";\n\n    /// <summary>\n    /// The BrowseName for the DataChangeNotificationsCount component.\n    /// </summary>\n    public const string DataChangeNotificationsCount = \"DataChangeNotificationsCount\";\n\n    /// <summary>\n    /// The BrowseName for the DataChangeTrigger component.\n    /// </summary>\n    public const string DataChangeTrigger = \"DataChangeTrigger\";\n\n    /// <summary>\n    /// The BrowseName for the DataItemType component.\n    /// </summary>\n    public const string DataItemType = \"DataItemType\";\n\n    /// <summary>\n    /// The BrowseName for the DataTypeAttributes component.\n    /// </summary>\n    public const string DataTypeAttributes = \"DataTypeAttributes\";\n\n    /// <summary>\n    /// The BrowseName for the DataTypeDescriptionType component.\n    /// </summary>\n    public const string DataTypeDescriptionType = \"DataTypeDescriptionType\";\n\n    /// <summary>\n    /// The BrowseName for the DataTypeDictionaryType component.\n    /// </summary>\n    public const string DataTypeDictionaryType = \"DataTypeDictionaryType\";\n\n    /// <summary>\n    /// The BrowseName for the DataTypeEncodingType component.\n    /// </summary>\n    public const string DataTypeEncodingType = \"DataTypeEncodingType\";\n\n    /// <summary>\n    /// The BrowseName for the DataTypeNode component.\n    /// </summary>\n    public const string DataTypeNode = \"DataTypeNode\";\n\n    /// <summary>\n    /// The BrowseName for the DataTypesFolder component.\n    /// </summary>\n    public const string DataTypesFolder = \"DataTypes\";\n\n    /// <summary>\n    /// The BrowseName for the DataTypeSystemType component.\n    /// </summary>\n    public const string DataTypeSystemType = \"DataTypeSystemType\";\n\n    /// <summary>\n    /// The BrowseName for the DataTypeVersion component.\n    /// </summary>\n    public const string DataTypeVersion = \"DataTypeVersion\";\n\n    /// <summary>\n    /// The BrowseName for the DataValue component.\n    /// </summary>\n    public const string DataValue = \"DataValue\";\n\n    /// <summary>\n    /// The BrowseName for the Date component.\n    /// </summary>\n    public const string Date = \"Date\";\n\n    /// <summary>\n    /// The BrowseName for the DateTime component.\n    /// </summary>\n    public const string DateTime = \"DateTime\";\n\n    /// <summary>\n    /// The BrowseName for the DeadbandType component.\n    /// </summary>\n    public const string DeadbandType = \"DeadbandType\";\n\n    /// <summary>\n    /// The BrowseName for the DefaultBinary component.\n    /// </summary>\n    public const string DefaultBinary = \"Default Binary\";\n\n    /// <summary>\n    /// The BrowseName for the DefaultResponse component.\n    /// </summary>\n    public const string DefaultResponse = \"DefaultResponse\";\n\n    /// <summary>\n    /// The BrowseName for the DefaultXml component.\n    /// </summary>\n    public const string DefaultXml = \"Default XML\";\n\n    /// <summary>\n    /// The BrowseName for the Definition component.\n    /// </summary>\n    public const string Definition = \"Definition\";\n\n    /// <summary>\n    /// The BrowseName for the Deletable component.\n    /// </summary>\n    public const string Deletable = \"Deletable\";\n\n    /// <summary>\n    /// The BrowseName for the DeleteAtTimeCapability component.\n    /// </summary>\n    public const string DeleteAtTimeCapability = \"DeleteAtTimeCapability\";\n\n    /// <summary>\n    /// The BrowseName for the DeleteAtTimeDetails component.\n    /// </summary>\n    public const string DeleteAtTimeDetails = \"DeleteAtTimeDetails\";\n\n    /// <summary>\n    /// The BrowseName for the DeleteEventCapability component.\n    /// </summary>\n    public const string DeleteEventCapability = \"DeleteEventCapability\";\n\n    /// <summary>\n    /// The BrowseName for the DeleteEventDetails component.\n    /// </summary>\n    public const string DeleteEventDetails = \"DeleteEventDetails\";\n\n    /// <summary>\n    /// The BrowseName for the DeleteMonitoredItemsCount component.\n    /// </summary>\n    public const string DeleteMonitoredItemsCount = \"DeleteMonitoredItemsCount\";\n\n    /// <summary>\n    /// The BrowseName for the DeleteMonitoredItemsRequest component.\n    /// </summary>\n    public const string DeleteMonitoredItemsRequest = \"DeleteMonitoredItemsRequest\";\n\n    /// <summary>\n    /// The BrowseName for the DeleteMonitoredItemsResponse component.\n    /// </summary>\n    public const string DeleteMonitoredItemsResponse = \"DeleteMonitoredItemsResponse\";\n\n    /// <summary>\n    /// The BrowseName for the DeleteNodesCount component.\n    /// </summary>\n    public const string DeleteNodesCount = \"DeleteNodesCount\";\n\n    /// <summary>\n    /// The BrowseName for the DeleteNodesItem component.\n    /// </summary>\n    public const string DeleteNodesItem = \"DeleteNodesItem\";\n\n    /// <summary>\n    /// The BrowseName for the DeleteNodesRequest component.\n    /// </summary>\n    public const string DeleteNodesRequest = \"DeleteNodesRequest\";\n\n    /// <summary>\n    /// The BrowseName for the DeleteNodesResponse component.\n    /// </summary>\n    public const string DeleteNodesResponse = \"DeleteNodesResponse\";\n\n    /// <summary>\n    /// The BrowseName for the DeleteRawCapability component.\n    /// </summary>\n    public const string DeleteRawCapability = \"DeleteRawCapability\";\n\n    /// <summary>\n    /// The BrowseName for the DeleteRawModifiedDetails component.\n    /// </summary>\n    public const string DeleteRawModifiedDetails = \"DeleteRawModifiedDetails\";\n\n    /// <summary>\n    /// The BrowseName for the DeleteReferencesCount component.\n    /// </summary>\n    public const string DeleteReferencesCount = \"DeleteReferencesCount\";\n\n    /// <summary>\n    /// The BrowseName for the DeleteReferencesItem component.\n    /// </summary>\n    public const string DeleteReferencesItem = \"DeleteReferencesItem\";\n\n    /// <summary>\n    /// The BrowseName for the DeleteReferencesRequest component.\n    /// </summary>\n    public const string DeleteReferencesRequest = \"DeleteReferencesRequest\";\n\n    /// <summary>\n    /// The BrowseName for the DeleteReferencesResponse component.\n    /// </summary>\n    public const string DeleteReferencesResponse = \"DeleteReferencesResponse\";\n\n    /// <summary>\n    /// The BrowseName for the DeleteSubscriptionsCount component.\n    /// </summary>\n    public const string DeleteSubscriptionsCount = \"DeleteSubscriptionsCount\";\n\n    /// <summary>\n    /// The BrowseName for the DeleteSubscriptionsRequest component.\n    /// </summary>\n    public const string DeleteSubscriptionsRequest = \"DeleteSubscriptionsRequest\";\n\n    /// <summary>\n    /// The BrowseName for the DeleteSubscriptionsResponse component.\n    /// </summary>\n    public const string DeleteSubscriptionsResponse = \"DeleteSubscriptionsResponse\";\n\n    /// <summary>\n    /// The BrowseName for the DeviceFailureEventType component.\n    /// </summary>\n    public const string DeviceFailureEventType = \"DeviceFailureEventType\";\n\n    /// <summary>\n    /// The BrowseName for the DiagnosticInfo component.\n    /// </summary>\n    public const string DiagnosticInfo = \"DiagnosticInfo\";\n\n    /// <summary>\n    /// The BrowseName for the DialogConditionType component.\n    /// </summary>\n    public const string DialogConditionType = \"DialogConditionType\";\n\n    /// <summary>\n    /// The BrowseName for the DialogResponseMethodType component.\n    /// </summary>\n    public const string DialogResponseMethodType = \"DialogResponseMethodType\";\n\n    /// <summary>\n    /// The BrowseName for the DialogState component.\n    /// </summary>\n    public const string DialogState = \"DialogState\";\n\n    /// <summary>\n    /// The BrowseName for the DictionaryFragment component.\n    /// </summary>\n    public const string DictionaryFragment = \"DictionaryFragment\";\n\n    /// <summary>\n    /// The BrowseName for the Disable component.\n    /// </summary>\n    public const string Disable = \"Disable\";\n\n    /// <summary>\n    /// The BrowseName for the DisableCount component.\n    /// </summary>\n    public const string DisableCount = \"DisableCount\";\n\n    /// <summary>\n    /// The BrowseName for the DisabledMonitoredItemCount component.\n    /// </summary>\n    public const string DisabledMonitoredItemCount = \"DisabledMonitoredItemCount\";\n\n    /// <summary>\n    /// The BrowseName for the DisabledMonitoredItemsSamplingCount component.\n    /// </summary>\n    public const string DisabledMonitoredItemsSamplingCount = \"DisabledMonitoredItemsSamplingCount\";\n\n    /// <summary>\n    /// The BrowseName for the DiscardedMessageCount component.\n    /// </summary>\n    public const string DiscardedMessageCount = \"DiscardedMessageCount\";\n\n    /// <summary>\n    /// The BrowseName for the DiscreteAlarmType component.\n    /// </summary>\n    public const string DiscreteAlarmType = \"DiscreteAlarmType\";\n\n    /// <summary>\n    /// The BrowseName for the DiscreteItemType component.\n    /// </summary>\n    public const string DiscreteItemType = \"DiscreteItemType\";\n\n    /// <summary>\n    /// The BrowseName for the DnsServiceRecord component.\n    /// </summary>\n    public const string DnsServiceRecord = \"DnsServiceRecord\";\n\n    /// <summary>\n    /// The BrowseName for the Double component.\n    /// </summary>\n    public const string Double = \"Double\";\n\n    /// <summary>\n    /// The BrowseName for the DoubleComplexNumberType component.\n    /// </summary>\n    public const string DoubleComplexNumberType = \"DoubleComplexNumberType\";\n\n    /// <summary>\n    /// The BrowseName for the Duration component.\n    /// </summary>\n    public const string Duration = \"Duration\";\n\n    /// <summary>\n    /// The BrowseName for the EffectiveDisplayName component.\n    /// </summary>\n    public const string EffectiveDisplayName = \"EffectiveDisplayName\";\n\n    /// <summary>\n    /// The BrowseName for the EffectiveTransitionTime component.\n    /// </summary>\n    public const string EffectiveTransitionTime = \"EffectiveTransitionTime\";\n\n    /// <summary>\n    /// The BrowseName for the ElementOperand component.\n    /// </summary>\n    public const string ElementOperand = \"ElementOperand\";\n\n    /// <summary>\n    /// The BrowseName for the Enable component.\n    /// </summary>\n    public const string Enable = \"Enable\";\n\n    /// <summary>\n    /// The BrowseName for the EnableCount component.\n    /// </summary>\n    public const string EnableCount = \"EnableCount\";\n\n    /// <summary>\n    /// The BrowseName for the EnabledFlag component.\n    /// </summary>\n    public const string EnabledFlag = \"EnabledFlag\";\n\n    /// <summary>\n    /// The BrowseName for the EnabledState component.\n    /// </summary>\n    public const string EnabledState = \"EnabledState\";\n\n    /// <summary>\n    /// The BrowseName for the Encoding component.\n    /// </summary>\n    public const string Encoding = \"Encoding\";\n\n    /// <summary>\n    /// The BrowseName for the EndpointConfiguration component.\n    /// </summary>\n    public const string EndpointConfiguration = \"EndpointConfiguration\";\n\n    /// <summary>\n    /// The BrowseName for the EndpointDescription component.\n    /// </summary>\n    public const string EndpointDescription = \"EndpointDescription\";\n\n    /// <summary>\n    /// The BrowseName for the EndpointUrl component.\n    /// </summary>\n    public const string EndpointUrl = \"EndpointUrl\";\n\n    /// <summary>\n    /// The BrowseName for the EndpointUrlListDataType component.\n    /// </summary>\n    public const string EndpointUrlListDataType = \"EndpointUrlListDataType\";\n\n    /// <summary>\n    /// The BrowseName for the EndTime component.\n    /// </summary>\n    public const string EndTime = \"EndTime\";\n\n    /// <summary>\n    /// The BrowseName for the EngineeringUnits component.\n    /// </summary>\n    public const string EngineeringUnits = \"EngineeringUnits\";\n\n    /// <summary>\n    /// The BrowseName for the EnumeratedTestType component.\n    /// </summary>\n    public const string EnumeratedTestType = \"EnumeratedTestType\";\n\n    /// <summary>\n    /// The BrowseName for the Enumeration component.\n    /// </summary>\n    public const string Enumeration = \"Enumeration\";\n\n    /// <summary>\n    /// The BrowseName for the EnumStrings component.\n    /// </summary>\n    public const string EnumStrings = \"EnumStrings\";\n\n    /// <summary>\n    /// The BrowseName for the EnumValues component.\n    /// </summary>\n    public const string EnumValues = \"EnumValues\";\n\n    /// <summary>\n    /// The BrowseName for the EnumValueType component.\n    /// </summary>\n    public const string EnumValueType = \"EnumValueType\";\n\n    /// <summary>\n    /// The BrowseName for the EUInformation component.\n    /// </summary>\n    public const string EUInformation = \"EUInformation\";\n\n    /// <summary>\n    /// The BrowseName for the EURange component.\n    /// </summary>\n    public const string EURange = \"EURange\";\n\n    /// <summary>\n    /// The BrowseName for the EventFieldList component.\n    /// </summary>\n    public const string EventFieldList = \"EventFieldList\";\n\n    /// <summary>\n    /// The BrowseName for the EventFilter component.\n    /// </summary>\n    public const string EventFilter = \"EventFilter\";\n\n    /// <summary>\n    /// The BrowseName for the EventFilterResult component.\n    /// </summary>\n    public const string EventFilterResult = \"EventFilterResult\";\n\n    /// <summary>\n    /// The BrowseName for the EventId component.\n    /// </summary>\n    public const string EventId = \"EventId\";\n\n    /// <summary>\n    /// The BrowseName for the EventIds component.\n    /// </summary>\n    public const string EventIds = \"EventIds\";\n\n    /// <summary>\n    /// The BrowseName for the EventNotificationList component.\n    /// </summary>\n    public const string EventNotificationList = \"EventNotificationList\";\n\n    /// <summary>\n    /// The BrowseName for the EventNotificationsCount component.\n    /// </summary>\n    public const string EventNotificationsCount = \"EventNotificationsCount\";\n\n    /// <summary>\n    /// The BrowseName for the EventQueueOverFlowCount component.\n    /// </summary>\n    public const string EventQueueOverFlowCount = \"EventQueueOverFlowCount\";\n\n    /// <summary>\n    /// The BrowseName for the EventQueueOverflowEventType component.\n    /// </summary>\n    public const string EventQueueOverflowEventType = \"EventQueueOverflowEventType\";\n\n    /// <summary>\n    /// The BrowseName for the EventType component.\n    /// </summary>\n    public const string EventType = \"EventType\";\n\n    /// <summary>\n    /// The BrowseName for the EventTypesFolder component.\n    /// </summary>\n    public const string EventTypesFolder = \"EventTypes\";\n\n    /// <summary>\n    /// The BrowseName for the ExceptionDeviation component.\n    /// </summary>\n    public const string ExceptionDeviation = \"ExceptionDeviation\";\n\n    /// <summary>\n    /// The BrowseName for the ExceptionDeviationFormat component.\n    /// </summary>\n    public const string ExceptionDeviationFormat = \"ExceptionDeviationFormat\";\n\n    /// <summary>\n    /// The BrowseName for the ExclusiveDeviationAlarmType component.\n    /// </summary>\n    public const string ExclusiveDeviationAlarmType = \"ExclusiveDeviationAlarmType\";\n\n    /// <summary>\n    /// The BrowseName for the ExclusiveLevelAlarmType component.\n    /// </summary>\n    public const string ExclusiveLevelAlarmType = \"ExclusiveLevelAlarmType\";\n\n    /// <summary>\n    /// The BrowseName for the ExclusiveLimitAlarmType component.\n    /// </summary>\n    public const string ExclusiveLimitAlarmType = \"ExclusiveLimitAlarmType\";\n\n    /// <summary>\n    /// The BrowseName for the ExclusiveLimitStateMachineType component.\n    /// </summary>\n    public const string ExclusiveLimitStateMachineType = \"ExclusiveLimitStateMachineType\";\n\n    /// <summary>\n    /// The BrowseName for the ExclusiveRateOfChangeAlarmType component.\n    /// </summary>\n    public const string ExclusiveRateOfChangeAlarmType = \"ExclusiveRateOfChangeAlarmType\";\n\n    /// <summary>\n    /// The BrowseName for the ExpandedNodeId component.\n    /// </summary>\n    public const string ExpandedNodeId = \"ExpandedNodeId\";\n\n    /// <summary>\n    /// The BrowseName for the ExportNamespace component.\n    /// </summary>\n    public const string ExportNamespace = \"ExportNamespace\";\n\n    /// <summary>\n    /// The BrowseName for the FalseState component.\n    /// </summary>\n    public const string FalseState = \"FalseState\";\n\n    /// <summary>\n    /// The BrowseName for the FileType component.\n    /// </summary>\n    public const string FileType = \"FileType\";\n\n    /// <summary>\n    /// The BrowseName for the Filter component.\n    /// </summary>\n    public const string Filter = \"Filter\";\n\n    /// <summary>\n    /// The BrowseName for the FilterOperand component.\n    /// </summary>\n    public const string FilterOperand = \"FilterOperand\";\n\n    /// <summary>\n    /// The BrowseName for the FilterOperator component.\n    /// </summary>\n    public const string FilterOperator = \"FilterOperator\";\n\n    /// <summary>\n    /// The BrowseName for the FinalResultData component.\n    /// </summary>\n    public const string FinalResultData = \"FinalResultData\";\n\n    /// <summary>\n    /// The BrowseName for the FindDnsServicesRequest component.\n    /// </summary>\n    public const string FindDnsServicesRequest = \"FindDnsServicesRequest\";\n\n    /// <summary>\n    /// The BrowseName for the FindDnsServicesResponse component.\n    /// </summary>\n    public const string FindDnsServicesResponse = \"FindDnsServicesResponse\";\n\n    /// <summary>\n    /// The BrowseName for the FindServersRequest component.\n    /// </summary>\n    public const string FindServersRequest = \"FindServersRequest\";\n\n    /// <summary>\n    /// The BrowseName for the FindServersResponse component.\n    /// </summary>\n    public const string FindServersResponse = \"FindServersResponse\";\n\n    /// <summary>\n    /// The BrowseName for the FiniteStateMachineType component.\n    /// </summary>\n    public const string FiniteStateMachineType = \"FiniteStateMachineType\";\n\n    /// <summary>\n    /// The BrowseName for the FiniteStateVariableType component.\n    /// </summary>\n    public const string FiniteStateVariableType = \"FiniteStateVariableType\";\n\n    /// <summary>\n    /// The BrowseName for the FiniteTransitionVariableType component.\n    /// </summary>\n    public const string FiniteTransitionVariableType = \"FiniteTransitionVariableType\";\n\n    /// <summary>\n    /// The BrowseName for the Float component.\n    /// </summary>\n    public const string Float = \"Float\";\n\n    /// <summary>\n    /// The BrowseName for the FolderType component.\n    /// </summary>\n    public const string FolderType = \"FolderType\";\n\n    /// <summary>\n    /// The BrowseName for the FromState component.\n    /// </summary>\n    public const string FromState = \"FromState\";\n\n    /// <summary>\n    /// The BrowseName for the GeneralModelChangeEventType component.\n    /// </summary>\n    public const string GeneralModelChangeEventType = \"GeneralModelChangeEventType\";\n\n    /// <summary>\n    /// The BrowseName for the GeneratesEvent component.\n    /// </summary>\n    public const string GeneratesEvent = \"GeneratesEvent\";\n\n    /// <summary>\n    /// The BrowseName for the GetEndpointsRequest component.\n    /// </summary>\n    public const string GetEndpointsRequest = \"GetEndpointsRequest\";\n\n    /// <summary>\n    /// The BrowseName for the GetEndpointsResponse component.\n    /// </summary>\n    public const string GetEndpointsResponse = \"GetEndpointsResponse\";\n\n    /// <summary>\n    /// The BrowseName for the GetMonitoredItems component.\n    /// </summary>\n    public const string GetMonitoredItems = \"GetMonitoredItems\";\n\n    /// <summary>\n    /// The BrowseName for the GetMonitoredItemsMethodType component.\n    /// </summary>\n    public const string GetMonitoredItemsMethodType = \"GetMonitoredItemsMethodType\";\n\n    /// <summary>\n    /// The BrowseName for the GetPosition component.\n    /// </summary>\n    public const string GetPosition = \"GetPosition\";\n\n    /// <summary>\n    /// The BrowseName for the GetPositionMethodType component.\n    /// </summary>\n    public const string GetPositionMethodType = \"GetPositionMethodType\";\n\n    /// <summary>\n    /// The BrowseName for the Guid component.\n    /// </summary>\n    public const string Guid = \"Guid\";\n\n    /// <summary>\n    /// The BrowseName for the HAConfiguration component.\n    /// </summary>\n    public const string HAConfiguration = \"HA Configuration\";\n\n    /// <summary>\n    /// The BrowseName for the Halt component.\n    /// </summary>\n    public const string Halt = \"Halt\";\n\n    /// <summary>\n    /// The BrowseName for the Halted component.\n    /// </summary>\n    public const string Halted = \"Halted\";\n\n    /// <summary>\n    /// The BrowseName for the HaltedToReady component.\n    /// </summary>\n    public const string HaltedToReady = \"HaltedToReady\";\n\n    /// <summary>\n    /// The BrowseName for the HasCause component.\n    /// </summary>\n    public const string HasCause = \"HasCause\";\n\n    /// <summary>\n    /// The BrowseName for the HasChild component.\n    /// </summary>\n    public const string HasChild = \"HasChild\";\n\n    /// <summary>\n    /// The BrowseName for the HasComponent component.\n    /// </summary>\n    public const string HasComponent = \"HasComponent\";\n\n    /// <summary>\n    /// The BrowseName for the HasCondition component.\n    /// </summary>\n    public const string HasCondition = \"HasCondition\";\n\n    /// <summary>\n    /// The BrowseName for the HasDescription component.\n    /// </summary>\n    public const string HasDescription = \"HasDescription\";\n\n    /// <summary>\n    /// The BrowseName for the HasEffect component.\n    /// </summary>\n    public const string HasEffect = \"HasEffect\";\n\n    /// <summary>\n    /// The BrowseName for the HasEncoding component.\n    /// </summary>\n    public const string HasEncoding = \"HasEncoding\";\n\n    /// <summary>\n    /// The BrowseName for the HasEventSource component.\n    /// </summary>\n    public const string HasEventSource = \"HasEventSource\";\n\n    /// <summary>\n    /// The BrowseName for the HasFalseSubState component.\n    /// </summary>\n    public const string HasFalseSubState = \"HasFalseSubState\";\n\n    /// <summary>\n    /// The BrowseName for the HasHistoricalConfiguration component.\n    /// </summary>\n    public const string HasHistoricalConfiguration = \"HasHistoricalConfiguration\";\n\n    /// <summary>\n    /// The BrowseName for the HasModellingRule component.\n    /// </summary>\n    public const string HasModellingRule = \"HasModellingRule\";\n\n    /// <summary>\n    /// The BrowseName for the HasNotifier component.\n    /// </summary>\n    public const string HasNotifier = \"HasNotifier\";\n\n    /// <summary>\n    /// The BrowseName for the HasOrderedComponent component.\n    /// </summary>\n    public const string HasOrderedComponent = \"HasOrderedComponent\";\n\n    /// <summary>\n    /// The BrowseName for the HasProperty component.\n    /// </summary>\n    public const string HasProperty = \"HasProperty\";\n\n    /// <summary>\n    /// The BrowseName for the HasSubStateMachine component.\n    /// </summary>\n    public const string HasSubStateMachine = \"HasSubStateMachine\";\n\n    /// <summary>\n    /// The BrowseName for the HasSubtype component.\n    /// </summary>\n    public const string HasSubtype = \"HasSubtype\";\n\n    /// <summary>\n    /// The BrowseName for the HasTrueSubState component.\n    /// </summary>\n    public const string HasTrueSubState = \"HasTrueSubState\";\n\n    /// <summary>\n    /// The BrowseName for the HasTypeDefinition component.\n    /// </summary>\n    public const string HasTypeDefinition = \"HasTypeDefinition\";\n\n    /// <summary>\n    /// The BrowseName for the HierarchicalReferences component.\n    /// </summary>\n    public const string HierarchicalReferences = \"HierarchicalReferences\";\n\n    /// <summary>\n    /// The BrowseName for the High component.\n    /// </summary>\n    public const string High = \"High\";\n\n    /// <summary>\n    /// The BrowseName for the HighHigh component.\n    /// </summary>\n    public const string HighHigh = \"HighHigh\";\n\n    /// <summary>\n    /// The BrowseName for the HighHighLimit component.\n    /// </summary>\n    public const string HighHighLimit = \"HighHighLimit\";\n\n    /// <summary>\n    /// The BrowseName for the HighHighState component.\n    /// </summary>\n    public const string HighHighState = \"HighHighState\";\n\n    /// <summary>\n    /// The BrowseName for the HighHighToHigh component.\n    /// </summary>\n    public const string HighHighToHigh = \"HighHighToHigh\";\n\n    /// <summary>\n    /// The BrowseName for the HighLimit component.\n    /// </summary>\n    public const string HighLimit = \"HighLimit\";\n\n    /// <summary>\n    /// The BrowseName for the HighState component.\n    /// </summary>\n    public const string HighState = \"HighState\";\n\n    /// <summary>\n    /// The BrowseName for the HighToHighHigh component.\n    /// </summary>\n    public const string HighToHighHigh = \"HighToHighHigh\";\n\n    /// <summary>\n    /// The BrowseName for the HistoricalDataConfigurationType component.\n    /// </summary>\n    public const string HistoricalDataConfigurationType = \"HistoricalDataConfigurationType\";\n\n    /// <summary>\n    /// The BrowseName for the HistoricalEventFilter component.\n    /// </summary>\n    public const string HistoricalEventFilter = \"HistoricalEventFilter\";\n\n    /// <summary>\n    /// The BrowseName for the HistoryData component.\n    /// </summary>\n    public const string HistoryData = \"HistoryData\";\n\n    /// <summary>\n    /// The BrowseName for the HistoryEvent component.\n    /// </summary>\n    public const string HistoryEvent = \"HistoryEvent\";\n\n    /// <summary>\n    /// The BrowseName for the HistoryEventFieldList component.\n    /// </summary>\n    public const string HistoryEventFieldList = \"HistoryEventFieldList\";\n\n    /// <summary>\n    /// The BrowseName for the HistoryModifiedData component.\n    /// </summary>\n    public const string HistoryModifiedData = \"HistoryModifiedData\";\n\n    /// <summary>\n    /// The BrowseName for the HistoryReadCount component.\n    /// </summary>\n    public const string HistoryReadCount = \"HistoryReadCount\";\n\n    /// <summary>\n    /// The BrowseName for the HistoryReadDetails component.\n    /// </summary>\n    public const string HistoryReadDetails = \"HistoryReadDetails\";\n\n    /// <summary>\n    /// The BrowseName for the HistoryReadRequest component.\n    /// </summary>\n    public const string HistoryReadRequest = \"HistoryReadRequest\";\n\n    /// <summary>\n    /// The BrowseName for the HistoryReadResponse component.\n    /// </summary>\n    public const string HistoryReadResponse = \"HistoryReadResponse\";\n\n    /// <summary>\n    /// The BrowseName for the HistoryReadResult component.\n    /// </summary>\n    public const string HistoryReadResult = \"HistoryReadResult\";\n\n    /// <summary>\n    /// The BrowseName for the HistoryReadValueId component.\n    /// </summary>\n    public const string HistoryReadValueId = \"HistoryReadValueId\";\n\n    /// <summary>\n    /// The BrowseName for the HistoryServerCapabilities component.\n    /// </summary>\n    public const string HistoryServerCapabilities = \"HistoryServerCapabilities\";\n\n    /// <summary>\n    /// The BrowseName for the HistoryServerCapabilitiesType component.\n    /// </summary>\n    public const string HistoryServerCapabilitiesType = \"HistoryServerCapabilitiesType\";\n\n    /// <summary>\n    /// The BrowseName for the HistoryUpdateCount component.\n    /// </summary>\n    public const string HistoryUpdateCount = \"HistoryUpdateCount\";\n\n    /// <summary>\n    /// The BrowseName for the HistoryUpdateDetails component.\n    /// </summary>\n    public const string HistoryUpdateDetails = \"HistoryUpdateDetails\";\n\n    /// <summary>\n    /// The BrowseName for the HistoryUpdateEventResult component.\n    /// </summary>\n    public const string HistoryUpdateEventResult = \"HistoryUpdateEventResult\";\n\n    /// <summary>\n    /// The BrowseName for the HistoryUpdateRequest component.\n    /// </summary>\n    public const string HistoryUpdateRequest = \"HistoryUpdateRequest\";\n\n    /// <summary>\n    /// The BrowseName for the HistoryUpdateResponse component.\n    /// </summary>\n    public const string HistoryUpdateResponse = \"HistoryUpdateResponse\";\n\n    /// <summary>\n    /// The BrowseName for the HistoryUpdateResult component.\n    /// </summary>\n    public const string HistoryUpdateResult = \"HistoryUpdateResult\";\n\n    /// <summary>\n    /// The BrowseName for the HistoryUpdateType component.\n    /// </summary>\n    public const string HistoryUpdateType = \"HistoryUpdateType\";\n\n    /// <summary>\n    /// The BrowseName for the Icon component.\n    /// </summary>\n    public const string Icon = \"Icon\";\n\n    /// <summary>\n    /// The BrowseName for the Id component.\n    /// </summary>\n    public const string Id = \"Id\";\n\n    /// <summary>\n    /// The BrowseName for the IdType component.\n    /// </summary>\n    public const string IdType = \"IdType\";\n\n    /// <summary>\n    /// The BrowseName for the Image component.\n    /// </summary>\n    public const string Image = \"Image\";\n\n    /// <summary>\n    /// The BrowseName for the ImageBMP component.\n    /// </summary>\n    public const string ImageBMP = \"ImageBMP\";\n\n    /// <summary>\n    /// The BrowseName for the ImageGIF component.\n    /// </summary>\n    public const string ImageGIF = \"ImageGIF\";\n\n    /// <summary>\n    /// The BrowseName for the ImageItemType component.\n    /// </summary>\n    public const string ImageItemType = \"ImageItemType\";\n\n    /// <summary>\n    /// The BrowseName for the ImageJPG component.\n    /// </summary>\n    public const string ImageJPG = \"ImageJPG\";\n\n    /// <summary>\n    /// The BrowseName for the ImagePNG component.\n    /// </summary>\n    public const string ImagePNG = \"ImagePNG\";\n\n    /// <summary>\n    /// The BrowseName for the IndexRange component.\n    /// </summary>\n    public const string IndexRange = \"IndexRange\";\n\n    /// <summary>\n    /// The BrowseName for the InitialStateType component.\n    /// </summary>\n    public const string InitialStateType = \"InitialStateType\";\n\n    /// <summary>\n    /// The BrowseName for the InputArguments component.\n    /// </summary>\n    public const string InputArguments = \"InputArguments\";\n\n    /// <summary>\n    /// The BrowseName for the InputNode component.\n    /// </summary>\n    public const string InputNode = \"InputNode\";\n\n    /// <summary>\n    /// The BrowseName for the InsertAnnotationCapability component.\n    /// </summary>\n    public const string InsertAnnotationCapability = \"InsertAnnotationCapability\";\n\n    /// <summary>\n    /// The BrowseName for the InsertDataCapability component.\n    /// </summary>\n    public const string InsertDataCapability = \"InsertDataCapability\";\n\n    /// <summary>\n    /// The BrowseName for the InsertEventCapability component.\n    /// </summary>\n    public const string InsertEventCapability = \"InsertEventCapability\";\n\n    /// <summary>\n    /// The BrowseName for the InstanceCount component.\n    /// </summary>\n    public const string InstanceCount = \"InstanceCount\";\n\n    /// <summary>\n    /// The BrowseName for the InstanceNode component.\n    /// </summary>\n    public const string InstanceNode = \"InstanceNode\";\n\n    /// <summary>\n    /// The BrowseName for the InstrumentRange component.\n    /// </summary>\n    public const string InstrumentRange = \"InstrumentRange\";\n\n    /// <summary>\n    /// The BrowseName for the Int16 component.\n    /// </summary>\n    public const string Int16 = \"Int16\";\n\n    /// <summary>\n    /// The BrowseName for the Int32 component.\n    /// </summary>\n    public const string Int32 = \"Int32\";\n\n    /// <summary>\n    /// The BrowseName for the Int64 component.\n    /// </summary>\n    public const string Int64 = \"Int64\";\n\n    /// <summary>\n    /// The BrowseName for the Integer component.\n    /// </summary>\n    public const string Integer = \"Integer\";\n\n    /// <summary>\n    /// The BrowseName for the IntegerId component.\n    /// </summary>\n    public const string IntegerId = \"IntegerId\";\n\n    /// <summary>\n    /// The BrowseName for the IntermediateResult component.\n    /// </summary>\n    public const string IntermediateResult = \"IntermediateResult\";\n\n    /// <summary>\n    /// The BrowseName for the InvalidHostname component.\n    /// </summary>\n    public const string InvalidHostname = \"InvalidHostname\";\n\n    /// <summary>\n    /// The BrowseName for the InvalidUri component.\n    /// </summary>\n    public const string InvalidUri = \"InvalidUri\";\n\n    /// <summary>\n    /// The BrowseName for the InvocationCreationTime component.\n    /// </summary>\n    public const string InvocationCreationTime = \"InvocationCreationTime\";\n\n    /// <summary>\n    /// The BrowseName for the IsDeleteModified component.\n    /// </summary>\n    public const string IsDeleteModified = \"IsDeleteModified\";\n\n    /// <summary>\n    /// The BrowseName for the IsNamespaceSubset component.\n    /// </summary>\n    public const string IsNamespaceSubset = \"IsNamespaceSubset\";\n\n    /// <summary>\n    /// The BrowseName for the IssuedIdentityToken component.\n    /// </summary>\n    public const string IssuedIdentityToken = \"IssuedIdentityToken\";\n\n    /// <summary>\n    /// The BrowseName for the LastMethodCall component.\n    /// </summary>\n    public const string LastMethodCall = \"LastMethodCall\";\n\n    /// <summary>\n    /// The BrowseName for the LastMethodCallTime component.\n    /// </summary>\n    public const string LastMethodCallTime = \"LastMethodCallTime\";\n\n    /// <summary>\n    /// The BrowseName for the LastMethodInputArguments component.\n    /// </summary>\n    public const string LastMethodInputArguments = \"LastMethodInputArguments\";\n\n    /// <summary>\n    /// The BrowseName for the LastMethodOutputArguments component.\n    /// </summary>\n    public const string LastMethodOutputArguments = \"LastMethodOutputArguments\";\n\n    /// <summary>\n    /// The BrowseName for the LastMethodReturnStatus component.\n    /// </summary>\n    public const string LastMethodReturnStatus = \"LastMethodReturnStatus\";\n\n    /// <summary>\n    /// The BrowseName for the LastMethodSessionId component.\n    /// </summary>\n    public const string LastMethodSessionId = \"LastMethodSessionId\";\n\n    /// <summary>\n    /// The BrowseName for the LastResponse component.\n    /// </summary>\n    public const string LastResponse = \"LastResponse\";\n\n    /// <summary>\n    /// The BrowseName for the LastSeverity component.\n    /// </summary>\n    public const string LastSeverity = \"LastSeverity\";\n\n    /// <summary>\n    /// The BrowseName for the LastTransition component.\n    /// </summary>\n    public const string LastTransition = \"LastTransition\";\n\n    /// <summary>\n    /// The BrowseName for the LastTransitionTime component.\n    /// </summary>\n    public const string LastTransitionTime = \"LastTransitionTime\";\n\n    /// <summary>\n    /// The BrowseName for the LatePublishRequestCount component.\n    /// </summary>\n    public const string LatePublishRequestCount = \"LatePublishRequestCount\";\n\n    /// <summary>\n    /// The BrowseName for the LimitAlarmType component.\n    /// </summary>\n    public const string LimitAlarmType = \"LimitAlarmType\";\n\n    /// <summary>\n    /// The BrowseName for the LimitState component.\n    /// </summary>\n    public const string LimitState = \"LimitState\";\n\n    /// <summary>\n    /// The BrowseName for the LiteralOperand component.\n    /// </summary>\n    public const string LiteralOperand = \"LiteralOperand\";\n\n    /// <summary>\n    /// The BrowseName for the LocaleId component.\n    /// </summary>\n    public const string LocaleId = \"LocaleId\";\n\n    /// <summary>\n    /// The BrowseName for the LocaleIdArray component.\n    /// </summary>\n    public const string LocaleIdArray = \"LocaleIdArray\";\n\n    /// <summary>\n    /// The BrowseName for the LocaleIds component.\n    /// </summary>\n    public const string LocaleIds = \"LocaleIds\";\n\n    /// <summary>\n    /// The BrowseName for the LocalizedText component.\n    /// </summary>\n    public const string LocalizedText = \"LocalizedText\";\n\n    /// <summary>\n    /// The BrowseName for the LocalTime component.\n    /// </summary>\n    public const string LocalTime = \"LocalTime\";\n\n    /// <summary>\n    /// The BrowseName for the Lock component.\n    /// </summary>\n    public const string Lock = \"Lock\";\n\n    /// <summary>\n    /// The BrowseName for the LockType component.\n    /// </summary>\n    public const string LockType = \"LockType\";\n\n    /// <summary>\n    /// The BrowseName for the Low component.\n    /// </summary>\n    public const string Low = \"Low\";\n\n    /// <summary>\n    /// The BrowseName for the LowLimit component.\n    /// </summary>\n    public const string LowLimit = \"LowLimit\";\n\n    /// <summary>\n    /// The BrowseName for the LowLow component.\n    /// </summary>\n    public const string LowLow = \"LowLow\";\n\n    /// <summary>\n    /// The BrowseName for the LowLowLimit component.\n    /// </summary>\n    public const string LowLowLimit = \"LowLowLimit\";\n\n    /// <summary>\n    /// The BrowseName for the LowLowState component.\n    /// </summary>\n    public const string LowLowState = \"LowLowState\";\n\n    /// <summary>\n    /// The BrowseName for the LowLowToLow component.\n    /// </summary>\n    public const string LowLowToLow = \"LowLowToLow\";\n\n    /// <summary>\n    /// The BrowseName for the LowState component.\n    /// </summary>\n    public const string LowState = \"LowState\";\n\n    /// <summary>\n    /// The BrowseName for the LowToLowLow component.\n    /// </summary>\n    public const string LowToLowLow = \"LowToLowLow\";\n\n    /// <summary>\n    /// The BrowseName for the MaintenanceConditionClassType component.\n    /// </summary>\n    public const string MaintenanceConditionClassType = \"MaintenanceConditionClassType\";\n\n    /// <summary>\n    /// The BrowseName for the ManufacturerName component.\n    /// </summary>\n    public const string ManufacturerName = \"ManufacturerName\";\n\n    /// <summary>\n    /// The BrowseName for the MaxArrayLength component.\n    /// </summary>\n    public const string MaxArrayLength = \"MaxArrayLength\";\n\n    /// <summary>\n    /// The BrowseName for the MaxBrowseContinuationPoints component.\n    /// </summary>\n    public const string MaxBrowseContinuationPoints = \"MaxBrowseContinuationPoints\";\n\n    /// <summary>\n    /// The BrowseName for the MaxHistoryContinuationPoints component.\n    /// </summary>\n    public const string MaxHistoryContinuationPoints = \"MaxHistoryContinuationPoints\";\n\n    /// <summary>\n    /// The BrowseName for the MaxInstanceCount component.\n    /// </summary>\n    public const string MaxInstanceCount = \"MaxInstanceCount\";\n\n    /// <summary>\n    /// The BrowseName for the MaxKeepAliveCount component.\n    /// </summary>\n    public const string MaxKeepAliveCount = \"MaxKeepAliveCount\";\n\n    /// <summary>\n    /// The BrowseName for the MaxLifetimeCount component.\n    /// </summary>\n    public const string MaxLifetimeCount = \"MaxLifetimeCount\";\n\n    /// <summary>\n    /// The BrowseName for the MaxMonitoredItemsPerCall component.\n    /// </summary>\n    public const string MaxMonitoredItemsPerCall = \"MaxMonitoredItemsPerCall\";\n\n    /// <summary>\n    /// The BrowseName for the MaxNodesPerBrowse component.\n    /// </summary>\n    public const string MaxNodesPerBrowse = \"MaxNodesPerBrowse\";\n\n    /// <summary>\n    /// The BrowseName for the MaxNodesPerHistoryReadData component.\n    /// </summary>\n    public const string MaxNodesPerHistoryReadData = \"MaxNodesPerHistoryReadData\";\n\n    /// <summary>\n    /// The BrowseName for the MaxNodesPerHistoryReadEvents component.\n    /// </summary>\n    public const string MaxNodesPerHistoryReadEvents = \"MaxNodesPerHistoryReadEvents\";\n\n    /// <summary>\n    /// The BrowseName for the MaxNodesPerHistoryUpdateData component.\n    /// </summary>\n    public const string MaxNodesPerHistoryUpdateData = \"MaxNodesPerHistoryUpdateData\";\n\n    /// <summary>\n    /// The BrowseName for the MaxNodesPerHistoryUpdateEvents component.\n    /// </summary>\n    public const string MaxNodesPerHistoryUpdateEvents = \"MaxNodesPerHistoryUpdateEvents\";\n\n    /// <summary>\n    /// The BrowseName for the MaxNodesPerMethodCall component.\n    /// </summary>\n    public const string MaxNodesPerMethodCall = \"MaxNodesPerMethodCall\";\n\n    /// <summary>\n    /// The BrowseName for the MaxNodesPerNodeManagement component.\n    /// </summary>\n    public const string MaxNodesPerNodeManagement = \"MaxNodesPerNodeManagement\";\n\n    /// <summary>\n    /// The BrowseName for the MaxNodesPerRead component.\n    /// </summary>\n    public const string MaxNodesPerRead = \"MaxNodesPerRead\";\n\n    /// <summary>\n    /// The BrowseName for the MaxNodesPerRegisterNodes component.\n    /// </summary>\n    public const string MaxNodesPerRegisterNodes = \"MaxNodesPerRegisterNodes\";\n\n    /// <summary>\n    /// The BrowseName for the MaxNodesPerTranslateBrowsePathsToNodeIds component.\n    /// </summary>\n    public const string MaxNodesPerTranslateBrowsePathsToNodeIds = \"MaxNodesPerTranslateBrowsePathsToNodeIds\";\n\n    /// <summary>\n    /// The BrowseName for the MaxNodesPerWrite component.\n    /// </summary>\n    public const string MaxNodesPerWrite = \"MaxNodesPerWrite\";\n\n    /// <summary>\n    /// The BrowseName for the MaxNotificationsPerPublish component.\n    /// </summary>\n    public const string MaxNotificationsPerPublish = \"MaxNotificationsPerPublish\";\n\n    /// <summary>\n    /// The BrowseName for the MaxQueryContinuationPoints component.\n    /// </summary>\n    public const string MaxQueryContinuationPoints = \"MaxQueryContinuationPoints\";\n\n    /// <summary>\n    /// The BrowseName for the MaxRecycleCount component.\n    /// </summary>\n    public const string MaxRecycleCount = \"MaxRecycleCount\";\n\n    /// <summary>\n    /// The BrowseName for the MaxResponseMessageSize component.\n    /// </summary>\n    public const string MaxResponseMessageSize = \"MaxResponseMessageSize\";\n\n    /// <summary>\n    /// The BrowseName for the MaxReturnDataValues component.\n    /// </summary>\n    public const string MaxReturnDataValues = \"MaxReturnDataValues\";\n\n    /// <summary>\n    /// The BrowseName for the MaxReturnEventValues component.\n    /// </summary>\n    public const string MaxReturnEventValues = \"MaxReturnEventValues\";\n\n    /// <summary>\n    /// The BrowseName for the MaxSampledMonitoredItemsCount component.\n    /// </summary>\n    public const string MaxSampledMonitoredItemsCount = \"MaxSampledMonitoredItemsCount\";\n\n    /// <summary>\n    /// The BrowseName for the MaxStringLength component.\n    /// </summary>\n    public const string MaxStringLength = \"MaxStringLength\";\n\n    /// <summary>\n    /// The BrowseName for the MaxTimeInterval component.\n    /// </summary>\n    public const string MaxTimeInterval = \"MaxTimeInterval\";\n\n    /// <summary>\n    /// The BrowseName for the MaxTimeShelved component.\n    /// </summary>\n    public const string MaxTimeShelved = \"MaxTimeShelved\";\n\n    /// <summary>\n    /// The BrowseName for the Message component.\n    /// </summary>\n    public const string Message = \"Message\";\n\n    /// <summary>\n    /// The BrowseName for the MessageSecurityMode component.\n    /// </summary>\n    public const string MessageSecurityMode = \"MessageSecurityMode\";\n\n    /// <summary>\n    /// The BrowseName for the MethodAttributes component.\n    /// </summary>\n    public const string MethodAttributes = \"MethodAttributes\";\n\n    /// <summary>\n    /// The BrowseName for the MethodId component.\n    /// </summary>\n    public const string MethodId = \"MethodId\";\n\n    /// <summary>\n    /// The BrowseName for the MethodNode component.\n    /// </summary>\n    public const string MethodNode = \"MethodNode\";\n\n    /// <summary>\n    /// The BrowseName for the MinSupportedSampleRate component.\n    /// </summary>\n    public const string MinSupportedSampleRate = \"MinSupportedSampleRate\";\n\n    /// <summary>\n    /// The BrowseName for the MinTimeInterval component.\n    /// </summary>\n    public const string MinTimeInterval = \"MinTimeInterval\";\n\n    /// <summary>\n    /// The BrowseName for the ModelChangeStructureDataType component.\n    /// </summary>\n    public const string ModelChangeStructureDataType = \"ModelChangeStructureDataType\";\n\n    /// <summary>\n    /// The BrowseName for the ModelChangeStructureVerbMask component.\n    /// </summary>\n    public const string ModelChangeStructureVerbMask = \"ModelChangeStructureVerbMask\";\n\n    /// <summary>\n    /// The BrowseName for the ModellingRule_ExposesItsArray component.\n    /// </summary>\n    public const string ModellingRule_ExposesItsArray = \"ExposesItsArray\";\n\n    /// <summary>\n    /// The BrowseName for the ModellingRule_Mandatory component.\n    /// </summary>\n    public const string ModellingRule_Mandatory = \"Mandatory\";\n\n    /// <summary>\n    /// The BrowseName for the ModellingRule_MandatoryPlaceholder component.\n    /// </summary>\n    public const string ModellingRule_MandatoryPlaceholder = \"MandatoryPlaceholder\";\n\n    /// <summary>\n    /// The BrowseName for the ModellingRule_MandatoryShared component.\n    /// </summary>\n    public const string ModellingRule_MandatoryShared = \"MandatoryShared\";\n\n    /// <summary>\n    /// The BrowseName for the ModellingRule_Optional component.\n    /// </summary>\n    public const string ModellingRule_Optional = \"Optional\";\n\n    /// <summary>\n    /// The BrowseName for the ModellingRule_OptionalPlaceholder component.\n    /// </summary>\n    public const string ModellingRule_OptionalPlaceholder = \"OptionalPlaceholder\";\n\n    /// <summary>\n    /// The BrowseName for the ModellingRules component.\n    /// </summary>\n    public const string ModellingRules = \"ModellingRules\";\n\n    /// <summary>\n    /// The BrowseName for the ModellingRuleType component.\n    /// </summary>\n    public const string ModellingRuleType = \"ModellingRuleType\";\n\n    /// <summary>\n    /// The BrowseName for the ModificationInfo component.\n    /// </summary>\n    public const string ModificationInfo = \"ModificationInfo\";\n\n    /// <summary>\n    /// The BrowseName for the ModifyCount component.\n    /// </summary>\n    public const string ModifyCount = \"ModifyCount\";\n\n    /// <summary>\n    /// The BrowseName for the ModifyMonitoredItemsCount component.\n    /// </summary>\n    public const string ModifyMonitoredItemsCount = \"ModifyMonitoredItemsCount\";\n\n    /// <summary>\n    /// The BrowseName for the ModifyMonitoredItemsRequest component.\n    /// </summary>\n    public const string ModifyMonitoredItemsRequest = \"ModifyMonitoredItemsRequest\";\n\n    /// <summary>\n    /// The BrowseName for the ModifyMonitoredItemsResponse component.\n    /// </summary>\n    public const string ModifyMonitoredItemsResponse = \"ModifyMonitoredItemsResponse\";\n\n    /// <summary>\n    /// The BrowseName for the ModifySubscriptionCount component.\n    /// </summary>\n    public const string ModifySubscriptionCount = \"ModifySubscriptionCount\";\n\n    /// <summary>\n    /// The BrowseName for the ModifySubscriptionRequest component.\n    /// </summary>\n    public const string ModifySubscriptionRequest = \"ModifySubscriptionRequest\";\n\n    /// <summary>\n    /// The BrowseName for the ModifySubscriptionResponse component.\n    /// </summary>\n    public const string ModifySubscriptionResponse = \"ModifySubscriptionResponse\";\n\n    /// <summary>\n    /// The BrowseName for the MonitoredItemCount component.\n    /// </summary>\n    public const string MonitoredItemCount = \"MonitoredItemCount\";\n\n    /// <summary>\n    /// The BrowseName for the MonitoredItemCreateRequest component.\n    /// </summary>\n    public const string MonitoredItemCreateRequest = \"MonitoredItemCreateRequest\";\n\n    /// <summary>\n    /// The BrowseName for the MonitoredItemCreateResult component.\n    /// </summary>\n    public const string MonitoredItemCreateResult = \"MonitoredItemCreateResult\";\n\n    /// <summary>\n    /// The BrowseName for the MonitoredItemModifyRequest component.\n    /// </summary>\n    public const string MonitoredItemModifyRequest = \"MonitoredItemModifyRequest\";\n\n    /// <summary>\n    /// The BrowseName for the MonitoredItemModifyResult component.\n    /// </summary>\n    public const string MonitoredItemModifyResult = \"MonitoredItemModifyResult\";\n\n    /// <summary>\n    /// The BrowseName for the MonitoredItemNotification component.\n    /// </summary>\n    public const string MonitoredItemNotification = \"MonitoredItemNotification\";\n\n    /// <summary>\n    /// The BrowseName for the MonitoringFilter component.\n    /// </summary>\n    public const string MonitoringFilter = \"MonitoringFilter\";\n\n    /// <summary>\n    /// The BrowseName for the MonitoringFilterResult component.\n    /// </summary>\n    public const string MonitoringFilterResult = \"MonitoringFilterResult\";\n\n    /// <summary>\n    /// The BrowseName for the MonitoringMode component.\n    /// </summary>\n    public const string MonitoringMode = \"MonitoringMode\";\n\n    /// <summary>\n    /// The BrowseName for the MonitoringParameters component.\n    /// </summary>\n    public const string MonitoringParameters = \"MonitoringParameters\";\n\n    /// <summary>\n    /// The BrowseName for the MonitoringQueueOverflowCount component.\n    /// </summary>\n    public const string MonitoringQueueOverflowCount = \"MonitoringQueueOverflowCount\";\n\n    /// <summary>\n    /// The BrowseName for the MultiStateDiscreteType component.\n    /// </summary>\n    public const string MultiStateDiscreteType = \"MultiStateDiscreteType\";\n\n    /// <summary>\n    /// The BrowseName for the MultiStateValueDiscreteType component.\n    /// </summary>\n    public const string MultiStateValueDiscreteType = \"MultiStateValueDiscreteType\";\n\n    /// <summary>\n    /// The BrowseName for the Name component.\n    /// </summary>\n    public const string Name = \"Name\";\n\n    /// <summary>\n    /// The BrowseName for the NamespaceArray component.\n    /// </summary>\n    public const string NamespaceArray = \"NamespaceArray\";\n\n    /// <summary>\n    /// The BrowseName for the NamespaceFile component.\n    /// </summary>\n    public const string NamespaceFile = \"NamespaceFile\";\n\n    /// <summary>\n    /// The BrowseName for the NamespaceIdentifier component.\n    /// </summary>\n    public const string NamespaceIdentifier = \"<NamespaceIdentifier>\";\n\n    /// <summary>\n    /// The BrowseName for the NamespaceMetadataType component.\n    /// </summary>\n    public const string NamespaceMetadataType = \"NamespaceMetadataType\";\n\n    /// <summary>\n    /// The BrowseName for the NamespacePublicationDate component.\n    /// </summary>\n    public const string NamespacePublicationDate = \"NamespacePublicationDate\";\n\n    /// <summary>\n    /// The BrowseName for the Namespaces component.\n    /// </summary>\n    public const string Namespaces = \"Namespaces\";\n\n    /// <summary>\n    /// The BrowseName for the NamespacesType component.\n    /// </summary>\n    public const string NamespacesType = \"NamespacesType\";\n\n    /// <summary>\n    /// The BrowseName for the NamespaceUri component.\n    /// </summary>\n    public const string NamespaceUri = \"NamespaceUri\";\n\n    /// <summary>\n    /// The BrowseName for the NamespaceVersion component.\n    /// </summary>\n    public const string NamespaceVersion = \"NamespaceVersion\";\n\n    /// <summary>\n    /// The BrowseName for the NamingRule component.\n    /// </summary>\n    public const string NamingRule = \"NamingRule\";\n\n    /// <summary>\n    /// The BrowseName for the NamingRuleType component.\n    /// </summary>\n    public const string NamingRuleType = \"NamingRuleType\";\n\n    /// <summary>\n    /// The BrowseName for the NDimensionArrayItemType component.\n    /// </summary>\n    public const string NDimensionArrayItemType = \"NDimensionArrayItemType\";\n\n    /// <summary>\n    /// The BrowseName for the NetworkGroupDataType component.\n    /// </summary>\n    public const string NetworkGroupDataType = \"NetworkGroupDataType\";\n\n    /// <summary>\n    /// The BrowseName for the NewStateId component.\n    /// </summary>\n    public const string NewStateId = \"NewStateId\";\n\n    /// <summary>\n    /// The BrowseName for the NewValue component.\n    /// </summary>\n    public const string NewValue = \"NewValue\";\n\n    /// <summary>\n    /// The BrowseName for the NewValues component.\n    /// </summary>\n    public const string NewValues = \"NewValues\";\n\n    /// <summary>\n    /// The BrowseName for the NextSequenceNumber component.\n    /// </summary>\n    public const string NextSequenceNumber = \"NextSequenceNumber\";\n\n    /// <summary>\n    /// The BrowseName for the Node component.\n    /// </summary>\n    public const string Node = \"Node\";\n\n    /// <summary>\n    /// The BrowseName for the NodeAttributes component.\n    /// </summary>\n    public const string NodeAttributes = \"NodeAttributes\";\n\n    /// <summary>\n    /// The BrowseName for the NodeAttributesMask component.\n    /// </summary>\n    public const string NodeAttributesMask = \"NodeAttributesMask\";\n\n    /// <summary>\n    /// The BrowseName for the NodeClass component.\n    /// </summary>\n    public const string NodeClass = \"NodeClass\";\n\n    /// <summary>\n    /// The BrowseName for the NodeId component.\n    /// </summary>\n    public const string NodeId = \"NodeId\";\n\n    /// <summary>\n    /// The BrowseName for the NodeReference component.\n    /// </summary>\n    public const string NodeReference = \"NodeReference\";\n\n    /// <summary>\n    /// The BrowseName for the NodesToAdd component.\n    /// </summary>\n    public const string NodesToAdd = \"NodesToAdd\";\n\n    /// <summary>\n    /// The BrowseName for the NodesToDelete component.\n    /// </summary>\n    public const string NodesToDelete = \"NodesToDelete\";\n\n    /// <summary>\n    /// The BrowseName for the NodeTypeDescription component.\n    /// </summary>\n    public const string NodeTypeDescription = \"NodeTypeDescription\";\n\n    /// <summary>\n    /// The BrowseName for the NodeVersion component.\n    /// </summary>\n    public const string NodeVersion = \"NodeVersion\";\n\n    /// <summary>\n    /// The BrowseName for the NonExclusiveDeviationAlarmType component.\n    /// </summary>\n    public const string NonExclusiveDeviationAlarmType = \"NonExclusiveDeviationAlarmType\";\n\n    /// <summary>\n    /// The BrowseName for the NonExclusiveLevelAlarmType component.\n    /// </summary>\n    public const string NonExclusiveLevelAlarmType = \"NonExclusiveLevelAlarmType\";\n\n    /// <summary>\n    /// The BrowseName for the NonExclusiveLimitAlarmType component.\n    /// </summary>\n    public const string NonExclusiveLimitAlarmType = \"NonExclusiveLimitAlarmType\";\n\n    /// <summary>\n    /// The BrowseName for the NonExclusiveRateOfChangeAlarmType component.\n    /// </summary>\n    public const string NonExclusiveRateOfChangeAlarmType = \"NonExclusiveRateOfChangeAlarmType\";\n\n    /// <summary>\n    /// The BrowseName for the NonHierarchicalReferences component.\n    /// </summary>\n    public const string NonHierarchicalReferences = \"NonHierarchicalReferences\";\n\n    /// <summary>\n    /// The BrowseName for the NonTransparentNetworkRedundancyType component.\n    /// </summary>\n    public const string NonTransparentNetworkRedundancyType = \"NonTransparentNetworkRedundancyType\";\n\n    /// <summary>\n    /// The BrowseName for the NonTransparentRedundancyType component.\n    /// </summary>\n    public const string NonTransparentRedundancyType = \"NonTransparentRedundancyType\";\n\n    /// <summary>\n    /// The BrowseName for the NormalState component.\n    /// </summary>\n    public const string NormalState = \"NormalState\";\n\n    /// <summary>\n    /// The BrowseName for the NotificationData component.\n    /// </summary>\n    public const string NotificationData = \"NotificationData\";\n\n    /// <summary>\n    /// The BrowseName for the NotificationMessage component.\n    /// </summary>\n    public const string NotificationMessage = \"NotificationMessage\";\n\n    /// <summary>\n    /// The BrowseName for the NotificationsCount component.\n    /// </summary>\n    public const string NotificationsCount = \"NotificationsCount\";\n\n    /// <summary>\n    /// The BrowseName for the Number component.\n    /// </summary>\n    public const string Number = \"Number\";\n\n    /// <summary>\n    /// The BrowseName for the NumericRange component.\n    /// </summary>\n    public const string NumericRange = \"NumericRange\";\n\n    /// <summary>\n    /// The BrowseName for the ObjectAttributes component.\n    /// </summary>\n    public const string ObjectAttributes = \"ObjectAttributes\";\n\n    /// <summary>\n    /// The BrowseName for the ObjectNode component.\n    /// </summary>\n    public const string ObjectNode = \"ObjectNode\";\n\n    /// <summary>\n    /// The BrowseName for the ObjectsFolder component.\n    /// </summary>\n    public const string ObjectsFolder = \"Objects\";\n\n    /// <summary>\n    /// The BrowseName for the ObjectTypeAttributes component.\n    /// </summary>\n    public const string ObjectTypeAttributes = \"ObjectTypeAttributes\";\n\n    /// <summary>\n    /// The BrowseName for the ObjectTypeNode component.\n    /// </summary>\n    public const string ObjectTypeNode = \"ObjectTypeNode\";\n\n    /// <summary>\n    /// The BrowseName for the ObjectTypesFolder component.\n    /// </summary>\n    public const string ObjectTypesFolder = \"ObjectTypes\";\n\n    /// <summary>\n    /// The BrowseName for the OffNormalAlarmType component.\n    /// </summary>\n    public const string OffNormalAlarmType = \"OffNormalAlarmType\";\n\n    /// <summary>\n    /// The BrowseName for the OkResponse component.\n    /// </summary>\n    public const string OkResponse = \"OkResponse\";\n\n    /// <summary>\n    /// The BrowseName for the OldStateId component.\n    /// </summary>\n    public const string OldStateId = \"OldStateId\";\n\n    /// <summary>\n    /// The BrowseName for the OldValue component.\n    /// </summary>\n    public const string OldValue = \"OldValue\";\n\n    /// <summary>\n    /// The BrowseName for the OldValues component.\n    /// </summary>\n    public const string OldValues = \"OldValues\";\n\n    /// <summary>\n    /// The BrowseName for the OneShotShelve component.\n    /// </summary>\n    public const string OneShotShelve = \"OneShotShelve\";\n\n    /// <summary>\n    /// The BrowseName for the OneShotShelved component.\n    /// </summary>\n    public const string OneShotShelved = \"OneShotShelved\";\n\n    /// <summary>\n    /// The BrowseName for the OneShotShelvedToTimedShelved component.\n    /// </summary>\n    public const string OneShotShelvedToTimedShelved = \"OneShotShelvedToTimedShelved\";\n\n    /// <summary>\n    /// The BrowseName for the OneShotShelvedToUnshelved component.\n    /// </summary>\n    public const string OneShotShelvedToUnshelved = \"OneShotShelvedToUnshelved\";\n\n    /// <summary>\n    /// The BrowseName for the OPCBinarySchema_TypeSystem component.\n    /// </summary>\n    public const string OPCBinarySchema_TypeSystem = \"OPC Binary\";\n\n    /// <summary>\n    /// The BrowseName for the OpcUa_BinarySchema component.\n    /// </summary>\n    public const string OpcUa_BinarySchema = \"Opc.Ua\";\n\n    /// <summary>\n    /// The BrowseName for the OpcUa_XmlSchema component.\n    /// </summary>\n    public const string OpcUa_XmlSchema = \"Opc.Ua\";\n\n    /// <summary>\n    /// The BrowseName for the Open component.\n    /// </summary>\n    public const string Open = \"Open\";\n\n    /// <summary>\n    /// The BrowseName for the OpenCount component.\n    /// </summary>\n    public const string OpenCount = \"OpenCount\";\n\n    /// <summary>\n    /// The BrowseName for the OpenFileMode component.\n    /// </summary>\n    public const string OpenFileMode = \"OpenFileMode\";\n\n    /// <summary>\n    /// The BrowseName for the OpenMethodType component.\n    /// </summary>\n    public const string OpenMethodType = \"OpenMethodType\";\n\n    /// <summary>\n    /// The BrowseName for the OpenSecureChannelRequest component.\n    /// </summary>\n    public const string OpenSecureChannelRequest = \"OpenSecureChannelRequest\";\n\n    /// <summary>\n    /// The BrowseName for the OpenSecureChannelResponse component.\n    /// </summary>\n    public const string OpenSecureChannelResponse = \"OpenSecureChannelResponse\";\n\n    /// <summary>\n    /// The BrowseName for the OperationLimits component.\n    /// </summary>\n    public const string OperationLimits = \"OperationLimits\";\n\n    /// <summary>\n    /// The BrowseName for the OperationLimitsType component.\n    /// </summary>\n    public const string OperationLimitsType = \"OperationLimitsType\";\n\n    /// <summary>\n    /// The BrowseName for the OptionSetType component.\n    /// </summary>\n    public const string OptionSetType = \"OptionSetType\";\n\n    /// <summary>\n    /// The BrowseName for the OptionSetValues component.\n    /// </summary>\n    public const string OptionSetValues = \"OptionSetValues\";\n\n    /// <summary>\n    /// The BrowseName for the Organizes component.\n    /// </summary>\n    public const string Organizes = \"Organizes\";\n\n    /// <summary>\n    /// The BrowseName for the OutputArguments component.\n    /// </summary>\n    public const string OutputArguments = \"OutputArguments\";\n\n    /// <summary>\n    /// The BrowseName for the ParameterDataTypeId component.\n    /// </summary>\n    public const string ParameterDataTypeId = \"ParameterDataTypeId\";\n\n    /// <summary>\n    /// The BrowseName for the ParsingResult component.\n    /// </summary>\n    public const string ParsingResult = \"ParsingResult\";\n\n    /// <summary>\n    /// The BrowseName for the PercentDataBad component.\n    /// </summary>\n    public const string PercentDataBad = \"PercentDataBad\";\n\n    /// <summary>\n    /// The BrowseName for the PercentDataGood component.\n    /// </summary>\n    public const string PercentDataGood = \"PercentDataGood\";\n\n    /// <summary>\n    /// The BrowseName for the PerformInsertReplace component.\n    /// </summary>\n    public const string PerformInsertReplace = \"PerformInsertReplace\";\n\n    /// <summary>\n    /// The BrowseName for the PerformUpdateType component.\n    /// </summary>\n    public const string PerformUpdateType = \"PerformUpdateType\";\n\n    /// <summary>\n    /// The BrowseName for the Priority component.\n    /// </summary>\n    public const string Priority = \"Priority\";\n\n    /// <summary>\n    /// The BrowseName for the ProcessConditionClassType component.\n    /// </summary>\n    public const string ProcessConditionClassType = \"ProcessConditionClassType\";\n\n    /// <summary>\n    /// The BrowseName for the ProductName component.\n    /// </summary>\n    public const string ProductName = \"ProductName\";\n\n    /// <summary>\n    /// The BrowseName for the ProductUri component.\n    /// </summary>\n    public const string ProductUri = \"ProductUri\";\n\n    /// <summary>\n    /// The BrowseName for the ProgramDiagnosticDataType component.\n    /// </summary>\n    public const string ProgramDiagnosticDataType = \"ProgramDiagnosticDataType\";\n\n    /// <summary>\n    /// The BrowseName for the ProgramDiagnostics component.\n    /// </summary>\n    public const string ProgramDiagnostics = \"ProgramDiagnostics\";\n\n    /// <summary>\n    /// The BrowseName for the ProgramDiagnosticType component.\n    /// </summary>\n    public const string ProgramDiagnosticType = \"ProgramDiagnosticType\";\n\n    /// <summary>\n    /// The BrowseName for the ProgramStateMachineType component.\n    /// </summary>\n    public const string ProgramStateMachineType = \"ProgramStateMachineType\";\n\n    /// <summary>\n    /// The BrowseName for the ProgramTransitionAuditEventType component.\n    /// </summary>\n    public const string ProgramTransitionAuditEventType = \"ProgramTransitionAuditEventType\";\n\n    /// <summary>\n    /// The BrowseName for the ProgramTransitionEventType component.\n    /// </summary>\n    public const string ProgramTransitionEventType = \"ProgramTransitionEventType\";\n\n    /// <summary>\n    /// The BrowseName for the ProgressEventType component.\n    /// </summary>\n    public const string ProgressEventType = \"ProgressEventType\";\n\n    /// <summary>\n    /// The BrowseName for the Prompt component.\n    /// </summary>\n    public const string Prompt = \"Prompt\";\n\n    /// <summary>\n    /// The BrowseName for the PropertyType component.\n    /// </summary>\n    public const string PropertyType = \"PropertyType\";\n\n    /// <summary>\n    /// The BrowseName for the PublishCount component.\n    /// </summary>\n    public const string PublishCount = \"PublishCount\";\n\n    /// <summary>\n    /// The BrowseName for the PublishingEnabled component.\n    /// </summary>\n    public const string PublishingEnabled = \"PublishingEnabled\";\n\n    /// <summary>\n    /// The BrowseName for the PublishingInterval component.\n    /// </summary>\n    public const string PublishingInterval = \"PublishingInterval\";\n\n    /// <summary>\n    /// The BrowseName for the PublishingIntervalCount component.\n    /// </summary>\n    public const string PublishingIntervalCount = \"PublishingIntervalCount\";\n\n    /// <summary>\n    /// The BrowseName for the PublishRequest component.\n    /// </summary>\n    public const string PublishRequest = \"PublishRequest\";\n\n    /// <summary>\n    /// The BrowseName for the PublishRequestCount component.\n    /// </summary>\n    public const string PublishRequestCount = \"PublishRequestCount\";\n\n    /// <summary>\n    /// The BrowseName for the PublishResponse component.\n    /// </summary>\n    public const string PublishResponse = \"PublishResponse\";\n\n    /// <summary>\n    /// The BrowseName for the QualifiedName component.\n    /// </summary>\n    public const string QualifiedName = \"QualifiedName\";\n\n    /// <summary>\n    /// The BrowseName for the Quality component.\n    /// </summary>\n    public const string Quality = \"Quality\";\n\n    /// <summary>\n    /// The BrowseName for the QueryDataDescription component.\n    /// </summary>\n    public const string QueryDataDescription = \"QueryDataDescription\";\n\n    /// <summary>\n    /// The BrowseName for the QueryDataSet component.\n    /// </summary>\n    public const string QueryDataSet = \"QueryDataSet\";\n\n    /// <summary>\n    /// The BrowseName for the QueryFirstCount component.\n    /// </summary>\n    public const string QueryFirstCount = \"QueryFirstCount\";\n\n    /// <summary>\n    /// The BrowseName for the QueryFirstRequest component.\n    /// </summary>\n    public const string QueryFirstRequest = \"QueryFirstRequest\";\n\n    /// <summary>\n    /// The BrowseName for the QueryFirstResponse component.\n    /// </summary>\n    public const string QueryFirstResponse = \"QueryFirstResponse\";\n\n    /// <summary>\n    /// The BrowseName for the QueryNextCount component.\n    /// </summary>\n    public const string QueryNextCount = \"QueryNextCount\";\n\n    /// <summary>\n    /// The BrowseName for the QueryNextRequest component.\n    /// </summary>\n    public const string QueryNextRequest = \"QueryNextRequest\";\n\n    /// <summary>\n    /// The BrowseName for the QueryNextResponse component.\n    /// </summary>\n    public const string QueryNextResponse = \"QueryNextResponse\";\n\n    /// <summary>\n    /// The BrowseName for the Range component.\n    /// </summary>\n    public const string Range = \"Range\";\n\n    /// <summary>\n    /// The BrowseName for the Read component.\n    /// </summary>\n    public const string Read = \"Read\";\n\n    /// <summary>\n    /// The BrowseName for the ReadAtTimeDetails component.\n    /// </summary>\n    public const string ReadAtTimeDetails = \"ReadAtTimeDetails\";\n\n    /// <summary>\n    /// The BrowseName for the ReadCount component.\n    /// </summary>\n    public const string ReadCount = \"ReadCount\";\n\n    /// <summary>\n    /// The BrowseName for the ReadEventDetails component.\n    /// </summary>\n    public const string ReadEventDetails = \"ReadEventDetails\";\n\n    /// <summary>\n    /// The BrowseName for the ReadMethodType component.\n    /// </summary>\n    public const string ReadMethodType = \"ReadMethodType\";\n\n    /// <summary>\n    /// The BrowseName for the ReadProcessedDetails component.\n    /// </summary>\n    public const string ReadProcessedDetails = \"ReadProcessedDetails\";\n\n    /// <summary>\n    /// The BrowseName for the ReadRawModifiedDetails component.\n    /// </summary>\n    public const string ReadRawModifiedDetails = \"ReadRawModifiedDetails\";\n\n    /// <summary>\n    /// The BrowseName for the ReadRequest component.\n    /// </summary>\n    public const string ReadRequest = \"ReadRequest\";\n\n    /// <summary>\n    /// The BrowseName for the ReadResponse component.\n    /// </summary>\n    public const string ReadResponse = \"ReadResponse\";\n\n    /// <summary>\n    /// The BrowseName for the ReadValueId component.\n    /// </summary>\n    public const string ReadValueId = \"ReadValueId\";\n\n    /// <summary>\n    /// The BrowseName for the Ready component.\n    /// </summary>\n    public const string Ready = \"Ready\";\n\n    /// <summary>\n    /// The BrowseName for the ReadyToHalted component.\n    /// </summary>\n    public const string ReadyToHalted = \"ReadyToHalted\";\n\n    /// <summary>\n    /// The BrowseName for the ReadyToRunning component.\n    /// </summary>\n    public const string ReadyToRunning = \"ReadyToRunning\";\n\n    /// <summary>\n    /// The BrowseName for the ReceiveTime component.\n    /// </summary>\n    public const string ReceiveTime = \"ReceiveTime\";\n\n    /// <summary>\n    /// The BrowseName for the RecycleCount component.\n    /// </summary>\n    public const string RecycleCount = \"RecycleCount\";\n\n    /// <summary>\n    /// The BrowseName for the RedundancySupport component.\n    /// </summary>\n    public const string RedundancySupport = \"RedundancySupport\";\n\n    /// <summary>\n    /// The BrowseName for the RedundantServerArray component.\n    /// </summary>\n    public const string RedundantServerArray = \"RedundantServerArray\";\n\n    /// <summary>\n    /// The BrowseName for the RedundantServerDataType component.\n    /// </summary>\n    public const string RedundantServerDataType = \"RedundantServerDataType\";\n\n    /// <summary>\n    /// The BrowseName for the ReferenceDescription component.\n    /// </summary>\n    public const string ReferenceDescription = \"ReferenceDescription\";\n\n    /// <summary>\n    /// The BrowseName for the ReferenceNode component.\n    /// </summary>\n    public const string ReferenceNode = \"ReferenceNode\";\n\n    /// <summary>\n    /// The BrowseName for the References component.\n    /// </summary>\n    public const string References = \"References\";\n\n    /// <summary>\n    /// The BrowseName for the ReferencesToAdd component.\n    /// </summary>\n    public const string ReferencesToAdd = \"ReferencesToAdd\";\n\n    /// <summary>\n    /// The BrowseName for the ReferencesToDelete component.\n    /// </summary>\n    public const string ReferencesToDelete = \"ReferencesToDelete\";\n\n    /// <summary>\n    /// The BrowseName for the ReferenceTypeAttributes component.\n    /// </summary>\n    public const string ReferenceTypeAttributes = \"ReferenceTypeAttributes\";\n\n    /// <summary>\n    /// The BrowseName for the ReferenceTypeNode component.\n    /// </summary>\n    public const string ReferenceTypeNode = \"ReferenceTypeNode\";\n\n    /// <summary>\n    /// The BrowseName for the ReferenceTypesFolder component.\n    /// </summary>\n    public const string ReferenceTypesFolder = \"ReferenceTypes\";\n\n    /// <summary>\n    /// The BrowseName for the RefreshEndEventType component.\n    /// </summary>\n    public const string RefreshEndEventType = \"RefreshEndEventType\";\n\n    /// <summary>\n    /// The BrowseName for the RefreshRequiredEventType component.\n    /// </summary>\n    public const string RefreshRequiredEventType = \"RefreshRequiredEventType\";\n\n    /// <summary>\n    /// The BrowseName for the RefreshStartEventType component.\n    /// </summary>\n    public const string RefreshStartEventType = \"RefreshStartEventType\";\n\n    /// <summary>\n    /// The BrowseName for the RegisteredServer component.\n    /// </summary>\n    public const string RegisteredServer = \"RegisteredServer\";\n\n    /// <summary>\n    /// The BrowseName for the RegisterNodesCount component.\n    /// </summary>\n    public const string RegisterNodesCount = \"RegisterNodesCount\";\n\n    /// <summary>\n    /// The BrowseName for the RegisterNodesRequest component.\n    /// </summary>\n    public const string RegisterNodesRequest = \"RegisterNodesRequest\";\n\n    /// <summary>\n    /// The BrowseName for the RegisterNodesResponse component.\n    /// </summary>\n    public const string RegisterNodesResponse = \"RegisterNodesResponse\";\n\n    /// <summary>\n    /// The BrowseName for the RegisterServerRequest component.\n    /// </summary>\n    public const string RegisterServerRequest = \"RegisterServerRequest\";\n\n    /// <summary>\n    /// The BrowseName for the RegisterServerResponse component.\n    /// </summary>\n    public const string RegisterServerResponse = \"RegisterServerResponse\";\n\n    /// <summary>\n    /// The BrowseName for the RejectedRequestsCount component.\n    /// </summary>\n    public const string RejectedRequestsCount = \"RejectedRequestsCount\";\n\n    /// <summary>\n    /// The BrowseName for the RejectedSessionCount component.\n    /// </summary>\n    public const string RejectedSessionCount = \"RejectedSessionCount\";\n\n    /// <summary>\n    /// The BrowseName for the RelativePath component.\n    /// </summary>\n    public const string RelativePath = \"RelativePath\";\n\n    /// <summary>\n    /// The BrowseName for the RelativePathElement component.\n    /// </summary>\n    public const string RelativePathElement = \"RelativePathElement\";\n\n    /// <summary>\n    /// The BrowseName for the ReplaceDataCapability component.\n    /// </summary>\n    public const string ReplaceDataCapability = \"ReplaceDataCapability\";\n\n    /// <summary>\n    /// The BrowseName for the ReplaceEventCapability component.\n    /// </summary>\n    public const string ReplaceEventCapability = \"ReplaceEventCapability\";\n\n    /// <summary>\n    /// The BrowseName for the RepublishCount component.\n    /// </summary>\n    public const string RepublishCount = \"RepublishCount\";\n\n    /// <summary>\n    /// The BrowseName for the RepublishMessageCount component.\n    /// </summary>\n    public const string RepublishMessageCount = \"RepublishMessageCount\";\n\n    /// <summary>\n    /// The BrowseName for the RepublishMessageRequestCount component.\n    /// </summary>\n    public const string RepublishMessageRequestCount = \"RepublishMessageRequestCount\";\n\n    /// <summary>\n    /// The BrowseName for the RepublishRequest component.\n    /// </summary>\n    public const string RepublishRequest = \"RepublishRequest\";\n\n    /// <summary>\n    /// The BrowseName for the RepublishRequestCount component.\n    /// </summary>\n    public const string RepublishRequestCount = \"RepublishRequestCount\";\n\n    /// <summary>\n    /// The BrowseName for the RepublishResponse component.\n    /// </summary>\n    public const string RepublishResponse = \"RepublishResponse\";\n\n    /// <summary>\n    /// The BrowseName for the ReqTimes component.\n    /// </summary>\n    public const string ReqTimes = \"ReqTimes\";\n\n    /// <summary>\n    /// The BrowseName for the RequestedLifetime component.\n    /// </summary>\n    public const string RequestedLifetime = \"RequestedLifetime\";\n\n    /// <summary>\n    /// The BrowseName for the RequestHandle component.\n    /// </summary>\n    public const string RequestHandle = \"RequestHandle\";\n\n    /// <summary>\n    /// The BrowseName for the RequestHeader component.\n    /// </summary>\n    public const string RequestHeader = \"RequestHeader\";\n\n    /// <summary>\n    /// The BrowseName for the RequestType component.\n    /// </summary>\n    public const string RequestType = \"RequestType\";\n\n    /// <summary>\n    /// The BrowseName for the Reset component.\n    /// </summary>\n    public const string Reset = \"Reset\";\n\n    /// <summary>\n    /// The BrowseName for the Respond component.\n    /// </summary>\n    public const string Respond = \"Respond\";\n\n    /// <summary>\n    /// The BrowseName for the ResponseHeader component.\n    /// </summary>\n    public const string ResponseHeader = \"ResponseHeader\";\n\n    /// <summary>\n    /// The BrowseName for the ResponseOptionSet component.\n    /// </summary>\n    public const string ResponseOptionSet = \"ResponseOptionSet\";\n\n    /// <summary>\n    /// The BrowseName for the Resume component.\n    /// </summary>\n    public const string Resume = \"Resume\";\n\n    /// <summary>\n    /// The BrowseName for the Retain component.\n    /// </summary>\n    public const string Retain = \"Retain\";\n\n    /// <summary>\n    /// The BrowseName for the RevisedSessionTimeout component.\n    /// </summary>\n    public const string RevisedSessionTimeout = \"RevisedSessionTimeout\";\n\n    /// <summary>\n    /// The BrowseName for the RootFolder component.\n    /// </summary>\n    public const string RootFolder = \"Root\";\n\n    /// <summary>\n    /// The BrowseName for the Running component.\n    /// </summary>\n    public const string Running = \"Running\";\n\n    /// <summary>\n    /// The BrowseName for the RunningToHalted component.\n    /// </summary>\n    public const string RunningToHalted = \"RunningToHalted\";\n\n    /// <summary>\n    /// The BrowseName for the RunningToReady component.\n    /// </summary>\n    public const string RunningToReady = \"RunningToReady\";\n\n    /// <summary>\n    /// The BrowseName for the RunningToSuspended component.\n    /// </summary>\n    public const string RunningToSuspended = \"RunningToSuspended\";\n\n    /// <summary>\n    /// The BrowseName for the SampledMonitoredItemsCount component.\n    /// </summary>\n    public const string SampledMonitoredItemsCount = \"SampledMonitoredItemsCount\";\n\n    /// <summary>\n    /// The BrowseName for the SamplingInterval component.\n    /// </summary>\n    public const string SamplingInterval = \"SamplingInterval\";\n\n    /// <summary>\n    /// The BrowseName for the SamplingIntervalDiagnosticsArray component.\n    /// </summary>\n    public const string SamplingIntervalDiagnosticsArray = \"SamplingIntervalDiagnosticsArray\";\n\n    /// <summary>\n    /// The BrowseName for the SamplingIntervalDiagnosticsArrayType component.\n    /// </summary>\n    public const string SamplingIntervalDiagnosticsArrayType = \"SamplingIntervalDiagnosticsArrayType\";\n\n    /// <summary>\n    /// The BrowseName for the SamplingIntervalDiagnosticsDataType component.\n    /// </summary>\n    public const string SamplingIntervalDiagnosticsDataType = \"SamplingIntervalDiagnosticsDataType\";\n\n    /// <summary>\n    /// The BrowseName for the SamplingIntervalDiagnosticsType component.\n    /// </summary>\n    public const string SamplingIntervalDiagnosticsType = \"SamplingIntervalDiagnosticsType\";\n\n    /// <summary>\n    /// The BrowseName for the SByte component.\n    /// </summary>\n    public const string SByte = \"SByte\";\n\n    /// <summary>\n    /// The BrowseName for the ScalarTestType component.\n    /// </summary>\n    public const string ScalarTestType = \"ScalarTestType\";\n\n    /// <summary>\n    /// The BrowseName for the SecondsTillShutdown component.\n    /// </summary>\n    public const string SecondsTillShutdown = \"SecondsTillShutdown\";\n\n    /// <summary>\n    /// The BrowseName for the SecureChannelId component.\n    /// </summary>\n    public const string SecureChannelId = \"SecureChannelId\";\n\n    /// <summary>\n    /// The BrowseName for the SecurityMode component.\n    /// </summary>\n    public const string SecurityMode = \"SecurityMode\";\n\n    /// <summary>\n    /// The BrowseName for the SecurityPolicyUri component.\n    /// </summary>\n    public const string SecurityPolicyUri = \"SecurityPolicyUri\";\n\n    /// <summary>\n    /// The BrowseName for the SecurityRejectedRequestsCount component.\n    /// </summary>\n    public const string SecurityRejectedRequestsCount = \"SecurityRejectedRequestsCount\";\n\n    /// <summary>\n    /// The BrowseName for the SecurityRejectedSessionCount component.\n    /// </summary>\n    public const string SecurityRejectedSessionCount = \"SecurityRejectedSessionCount\";\n\n    /// <summary>\n    /// The BrowseName for the SecurityTokenRequestType component.\n    /// </summary>\n    public const string SecurityTokenRequestType = \"SecurityTokenRequestType\";\n\n    /// <summary>\n    /// The BrowseName for the SelectedResponse component.\n    /// </summary>\n    public const string SelectedResponse = \"SelectedResponse\";\n\n    /// <summary>\n    /// The BrowseName for the SemanticChangeEventType component.\n    /// </summary>\n    public const string SemanticChangeEventType = \"SemanticChangeEventType\";\n\n    /// <summary>\n    /// The BrowseName for the SemanticChangeStructureDataType component.\n    /// </summary>\n    public const string SemanticChangeStructureDataType = \"SemanticChangeStructureDataType\";\n\n    /// <summary>\n    /// The BrowseName for the Server component.\n    /// </summary>\n    public const string Server = \"Server\";\n\n    /// <summary>\n    /// The BrowseName for the ServerArray component.\n    /// </summary>\n    public const string ServerArray = \"ServerArray\";\n\n    /// <summary>\n    /// The BrowseName for the ServerCapabilities component.\n    /// </summary>\n    public const string ServerCapabilities = \"ServerCapabilities\";\n\n    /// <summary>\n    /// The BrowseName for the ServerCapabilitiesType component.\n    /// </summary>\n    public const string ServerCapabilitiesType = \"ServerCapabilitiesType\";\n\n    /// <summary>\n    /// The BrowseName for the ServerDiagnostics component.\n    /// </summary>\n    public const string ServerDiagnostics = \"ServerDiagnostics\";\n\n    /// <summary>\n    /// The BrowseName for the ServerDiagnosticsSummary component.\n    /// </summary>\n    public const string ServerDiagnosticsSummary = \"ServerDiagnosticsSummary\";\n\n    /// <summary>\n    /// The BrowseName for the ServerDiagnosticsSummaryDataType component.\n    /// </summary>\n    public const string ServerDiagnosticsSummaryDataType = \"ServerDiagnosticsSummaryDataType\";\n\n    /// <summary>\n    /// The BrowseName for the ServerDiagnosticsSummaryType component.\n    /// </summary>\n    public const string ServerDiagnosticsSummaryType = \"ServerDiagnosticsSummaryType\";\n\n    /// <summary>\n    /// The BrowseName for the ServerDiagnosticsType component.\n    /// </summary>\n    public const string ServerDiagnosticsType = \"ServerDiagnosticsType\";\n\n    /// <summary>\n    /// The BrowseName for the ServerId component.\n    /// </summary>\n    public const string ServerId = \"ServerId\";\n\n    /// <summary>\n    /// The BrowseName for the ServerLock component.\n    /// </summary>\n    public const string ServerLock = \"ServerLock\";\n\n    /// <summary>\n    /// The BrowseName for the ServerNetworkGroups component.\n    /// </summary>\n    public const string ServerNetworkGroups = \"ServerNetworkGroups\";\n\n    /// <summary>\n    /// The BrowseName for the ServerProfileArray component.\n    /// </summary>\n    public const string ServerProfileArray = \"ServerProfileArray\";\n\n    /// <summary>\n    /// The BrowseName for the ServerRedundancy component.\n    /// </summary>\n    public const string ServerRedundancy = \"ServerRedundancy\";\n\n    /// <summary>\n    /// The BrowseName for the ServerRedundancyType component.\n    /// </summary>\n    public const string ServerRedundancyType = \"ServerRedundancyType\";\n\n    /// <summary>\n    /// The BrowseName for the ServerState component.\n    /// </summary>\n    public const string ServerState = \"ServerState\";\n\n    /// <summary>\n    /// The BrowseName for the ServerStatus component.\n    /// </summary>\n    public const string ServerStatus = \"ServerStatus\";\n\n    /// <summary>\n    /// The BrowseName for the ServerStatusDataType component.\n    /// </summary>\n    public const string ServerStatusDataType = \"ServerStatusDataType\";\n\n    /// <summary>\n    /// The BrowseName for the ServerStatusType component.\n    /// </summary>\n    public const string ServerStatusType = \"ServerStatusType\";\n\n    /// <summary>\n    /// The BrowseName for the ServerType component.\n    /// </summary>\n    public const string ServerType = \"ServerType\";\n\n    /// <summary>\n    /// The BrowseName for the ServerUri component.\n    /// </summary>\n    public const string ServerUri = \"ServerUri\";\n\n    /// <summary>\n    /// The BrowseName for the ServerUriArray component.\n    /// </summary>\n    public const string ServerUriArray = \"ServerUriArray\";\n\n    /// <summary>\n    /// The BrowseName for the ServerVendorCapabilityType component.\n    /// </summary>\n    public const string ServerVendorCapabilityType = \"ServerVendorCapabilityType\";\n\n    /// <summary>\n    /// The BrowseName for the ServerViewCount component.\n    /// </summary>\n    public const string ServerViewCount = \"ServerViewCount\";\n\n    /// <summary>\n    /// The BrowseName for the ServiceCounterDataType component.\n    /// </summary>\n    public const string ServiceCounterDataType = \"ServiceCounterDataType\";\n\n    /// <summary>\n    /// The BrowseName for the ServiceFault component.\n    /// </summary>\n    public const string ServiceFault = \"ServiceFault\";\n\n    /// <summary>\n    /// The BrowseName for the ServiceLevel component.\n    /// </summary>\n    public const string ServiceLevel = \"ServiceLevel\";\n\n    /// <summary>\n    /// The BrowseName for the SessionAbortCount component.\n    /// </summary>\n    public const string SessionAbortCount = \"SessionAbortCount\";\n\n    /// <summary>\n    /// The BrowseName for the SessionAuthenticationToken component.\n    /// </summary>\n    public const string SessionAuthenticationToken = \"SessionAuthenticationToken\";\n\n    /// <summary>\n    /// The BrowseName for the SessionDiagnostics component.\n    /// </summary>\n    public const string SessionDiagnostics = \"SessionDiagnostics\";\n\n    /// <summary>\n    /// The BrowseName for the SessionDiagnosticsArray component.\n    /// </summary>\n    public const string SessionDiagnosticsArray = \"SessionDiagnosticsArray\";\n\n    /// <summary>\n    /// The BrowseName for the SessionDiagnosticsArrayType component.\n    /// </summary>\n    public const string SessionDiagnosticsArrayType = \"SessionDiagnosticsArrayType\";\n\n    /// <summary>\n    /// The BrowseName for the SessionDiagnosticsDataType component.\n    /// </summary>\n    public const string SessionDiagnosticsDataType = \"SessionDiagnosticsDataType\";\n\n    /// <summary>\n    /// The BrowseName for the SessionDiagnosticsObjectType component.\n    /// </summary>\n    public const string SessionDiagnosticsObjectType = \"SessionDiagnosticsObjectType\";\n\n    /// <summary>\n    /// The BrowseName for the SessionDiagnosticsVariableType component.\n    /// </summary>\n    public const string SessionDiagnosticsVariableType = \"SessionDiagnosticsVariableType\";\n\n    /// <summary>\n    /// The BrowseName for the SessionId component.\n    /// </summary>\n    public const string SessionId = \"SessionId\";\n\n    /// <summary>\n    /// The BrowseName for the SessionName component.\n    /// </summary>\n    public const string SessionName = \"SessionName\";\n\n    /// <summary>\n    /// The BrowseName for the SessionPlaceholder component.\n    /// </summary>\n    public const string SessionPlaceholder = \"<SessionPlaceholder>\";\n\n    /// <summary>\n    /// The BrowseName for the SessionsDiagnosticsSummary component.\n    /// </summary>\n    public const string SessionsDiagnosticsSummary = \"SessionsDiagnosticsSummary\";\n\n    /// <summary>\n    /// The BrowseName for the SessionsDiagnosticsSummaryType component.\n    /// </summary>\n    public const string SessionsDiagnosticsSummaryType = \"SessionsDiagnosticsSummaryType\";\n\n    /// <summary>\n    /// The BrowseName for the SessionSecurityDiagnostics component.\n    /// </summary>\n    public const string SessionSecurityDiagnostics = \"SessionSecurityDiagnostics\";\n\n    /// <summary>\n    /// The BrowseName for the SessionSecurityDiagnosticsArray component.\n    /// </summary>\n    public const string SessionSecurityDiagnosticsArray = \"SessionSecurityDiagnosticsArray\";\n\n    /// <summary>\n    /// The BrowseName for the SessionSecurityDiagnosticsArrayType component.\n    /// </summary>\n    public const string SessionSecurityDiagnosticsArrayType = \"SessionSecurityDiagnosticsArrayType\";\n\n    /// <summary>\n    /// The BrowseName for the SessionSecurityDiagnosticsDataType component.\n    /// </summary>\n    public const string SessionSecurityDiagnosticsDataType = \"SessionSecurityDiagnosticsDataType\";\n\n    /// <summary>\n    /// The BrowseName for the SessionSecurityDiagnosticsType component.\n    /// </summary>\n    public const string SessionSecurityDiagnosticsType = \"SessionSecurityDiagnosticsType\";\n\n    /// <summary>\n    /// The BrowseName for the SessionTimeoutCount component.\n    /// </summary>\n    public const string SessionTimeoutCount = \"SessionTimeoutCount\";\n\n    /// <summary>\n    /// The BrowseName for the SetMonitoringModeCount component.\n    /// </summary>\n    public const string SetMonitoringModeCount = \"SetMonitoringModeCount\";\n\n    /// <summary>\n    /// The BrowseName for the SetMonitoringModeRequest component.\n    /// </summary>\n    public const string SetMonitoringModeRequest = \"SetMonitoringModeRequest\";\n\n    /// <summary>\n    /// The BrowseName for the SetMonitoringModeResponse component.\n    /// </summary>\n    public const string SetMonitoringModeResponse = \"SetMonitoringModeResponse\";\n\n    /// <summary>\n    /// The BrowseName for the SetpointNode component.\n    /// </summary>\n    public const string SetpointNode = \"SetpointNode\";\n\n    /// <summary>\n    /// The BrowseName for the SetPosition component.\n    /// </summary>\n    public const string SetPosition = \"SetPosition\";\n\n    /// <summary>\n    /// The BrowseName for the SetPositionMethodType component.\n    /// </summary>\n    public const string SetPositionMethodType = \"SetPositionMethodType\";\n\n    /// <summary>\n    /// The BrowseName for the SetPublishingModeCount component.\n    /// </summary>\n    public const string SetPublishingModeCount = \"SetPublishingModeCount\";\n\n    /// <summary>\n    /// The BrowseName for the SetPublishingModeRequest component.\n    /// </summary>\n    public const string SetPublishingModeRequest = \"SetPublishingModeRequest\";\n\n    /// <summary>\n    /// The BrowseName for the SetPublishingModeResponse component.\n    /// </summary>\n    public const string SetPublishingModeResponse = \"SetPublishingModeResponse\";\n\n    /// <summary>\n    /// The BrowseName for the SetTriggeringCount component.\n    /// </summary>\n    public const string SetTriggeringCount = \"SetTriggeringCount\";\n\n    /// <summary>\n    /// The BrowseName for the SetTriggeringRequest component.\n    /// </summary>\n    public const string SetTriggeringRequest = \"SetTriggeringRequest\";\n\n    /// <summary>\n    /// The BrowseName for the SetTriggeringResponse component.\n    /// </summary>\n    public const string SetTriggeringResponse = \"SetTriggeringResponse\";\n\n    /// <summary>\n    /// The BrowseName for the Severity component.\n    /// </summary>\n    public const string Severity = \"Severity\";\n\n    /// <summary>\n    /// The BrowseName for the ShelvedStateMachineType component.\n    /// </summary>\n    public const string ShelvedStateMachineType = \"ShelvedStateMachineType\";\n\n    /// <summary>\n    /// The BrowseName for the ShelvingState component.\n    /// </summary>\n    public const string ShelvingState = \"ShelvingState\";\n\n    /// <summary>\n    /// The BrowseName for the ShelvingTime component.\n    /// </summary>\n    public const string ShelvingTime = \"ShelvingTime\";\n\n    /// <summary>\n    /// The BrowseName for the ShutdownReason component.\n    /// </summary>\n    public const string ShutdownReason = \"ShutdownReason\";\n\n    /// <summary>\n    /// The BrowseName for the SignatureData component.\n    /// </summary>\n    public const string SignatureData = \"SignatureData\";\n\n    /// <summary>\n    /// The BrowseName for the SignedSoftwareCertificate component.\n    /// </summary>\n    public const string SignedSoftwareCertificate = \"SignedSoftwareCertificate\";\n\n    /// <summary>\n    /// The BrowseName for the SimpleAttributeOperand component.\n    /// </summary>\n    public const string SimpleAttributeOperand = \"SimpleAttributeOperand\";\n\n    /// <summary>\n    /// The BrowseName for the Size component.\n    /// </summary>\n    public const string Size = \"Size\";\n\n    /// <summary>\n    /// The BrowseName for the SoftwareCertificate component.\n    /// </summary>\n    public const string SoftwareCertificate = \"SoftwareCertificate\";\n\n    /// <summary>\n    /// The BrowseName for the SoftwareCertificates component.\n    /// </summary>\n    public const string SoftwareCertificates = \"SoftwareCertificates\";\n\n    /// <summary>\n    /// The BrowseName for the SoftwareVersion component.\n    /// </summary>\n    public const string SoftwareVersion = \"SoftwareVersion\";\n\n    /// <summary>\n    /// The BrowseName for the SourceName component.\n    /// </summary>\n    public const string SourceName = \"SourceName\";\n\n    /// <summary>\n    /// The BrowseName for the SourceNode component.\n    /// </summary>\n    public const string SourceNode = \"SourceNode\";\n\n    /// <summary>\n    /// The BrowseName for the SourceTimestamp component.\n    /// </summary>\n    public const string SourceTimestamp = \"SourceTimestamp\";\n\n    /// <summary>\n    /// The BrowseName for the Start component.\n    /// </summary>\n    public const string Start = \"Start\";\n\n    /// <summary>\n    /// The BrowseName for the StartOfArchive component.\n    /// </summary>\n    public const string StartOfArchive = \"StartOfArchive\";\n\n    /// <summary>\n    /// The BrowseName for the StartOfOnlineArchive component.\n    /// </summary>\n    public const string StartOfOnlineArchive = \"StartOfOnlineArchive\";\n\n    /// <summary>\n    /// The BrowseName for the StartTime component.\n    /// </summary>\n    public const string StartTime = \"StartTime\";\n\n    /// <summary>\n    /// The BrowseName for the State component.\n    /// </summary>\n    public const string State = \"State\";\n\n    /// <summary>\n    /// The BrowseName for the StateMachineType component.\n    /// </summary>\n    public const string StateMachineType = \"StateMachineType\";\n\n    /// <summary>\n    /// The BrowseName for the StateNumber component.\n    /// </summary>\n    public const string StateNumber = \"StateNumber\";\n\n    /// <summary>\n    /// The BrowseName for the StateType component.\n    /// </summary>\n    public const string StateType = \"StateType\";\n\n    /// <summary>\n    /// The BrowseName for the StateVariableType component.\n    /// </summary>\n    public const string StateVariableType = \"StateVariableType\";\n\n    /// <summary>\n    /// The BrowseName for the StaticNodeIdIndentifierTypes component.\n    /// </summary>\n    public const string StaticNodeIdIndentifierTypes = \"StaticNodeIdIndentifierTypes\";\n\n    /// <summary>\n    /// The BrowseName for the StaticNumericNodeIdRange component.\n    /// </summary>\n    public const string StaticNumericNodeIdRange = \"StaticNumericNodeIdRange\";\n\n    /// <summary>\n    /// The BrowseName for the StaticStringNodeIdPattern component.\n    /// </summary>\n    public const string StaticStringNodeIdPattern = \"StaticStringNodeIdPattern\";\n\n    /// <summary>\n    /// The BrowseName for the Status component.\n    /// </summary>\n    public const string Status = \"Status\";\n\n    /// <summary>\n    /// The BrowseName for the StatusChangeNotification component.\n    /// </summary>\n    public const string StatusChangeNotification = \"StatusChangeNotification\";\n\n    /// <summary>\n    /// The BrowseName for the StatusCode component.\n    /// </summary>\n    public const string StatusCode = \"StatusCode\";\n\n    /// <summary>\n    /// The BrowseName for the StatusResult component.\n    /// </summary>\n    public const string StatusResult = \"StatusResult\";\n\n    /// <summary>\n    /// The BrowseName for the Stepped component.\n    /// </summary>\n    public const string Stepped = \"Stepped\";\n\n    /// <summary>\n    /// The BrowseName for the String component.\n    /// </summary>\n    public const string String = \"String\";\n\n    /// <summary>\n    /// The BrowseName for the Structure component.\n    /// </summary>\n    public const string Structure = \"Structure\";\n\n    /// <summary>\n    /// The BrowseName for the SubscriptionAcknowledgement component.\n    /// </summary>\n    public const string SubscriptionAcknowledgement = \"SubscriptionAcknowledgement\";\n\n    /// <summary>\n    /// The BrowseName for the SubscriptionDiagnosticsArray component.\n    /// </summary>\n    public const string SubscriptionDiagnosticsArray = \"SubscriptionDiagnosticsArray\";\n\n    /// <summary>\n    /// The BrowseName for the SubscriptionDiagnosticsArrayType component.\n    /// </summary>\n    public const string SubscriptionDiagnosticsArrayType = \"SubscriptionDiagnosticsArrayType\";\n\n    /// <summary>\n    /// The BrowseName for the SubscriptionDiagnosticsDataType component.\n    /// </summary>\n    public const string SubscriptionDiagnosticsDataType = \"SubscriptionDiagnosticsDataType\";\n\n    /// <summary>\n    /// The BrowseName for the SubscriptionDiagnosticsType component.\n    /// </summary>\n    public const string SubscriptionDiagnosticsType = \"SubscriptionDiagnosticsType\";\n\n    /// <summary>\n    /// The BrowseName for the SubscriptionId component.\n    /// </summary>\n    public const string SubscriptionId = \"SubscriptionId\";\n\n    /// <summary>\n    /// The BrowseName for the SupportedProfile component.\n    /// </summary>\n    public const string SupportedProfile = \"SupportedProfile\";\n\n    /// <summary>\n    /// The BrowseName for the SuppressedOrShelved component.\n    /// </summary>\n    public const string SuppressedOrShelved = \"SuppressedOrShelved\";\n\n    /// <summary>\n    /// The BrowseName for the SuppressedState component.\n    /// </summary>\n    public const string SuppressedState = \"SuppressedState\";\n\n    /// <summary>\n    /// The BrowseName for the Suspend component.\n    /// </summary>\n    public const string Suspend = \"Suspend\";\n\n    /// <summary>\n    /// The BrowseName for the Suspended component.\n    /// </summary>\n    public const string Suspended = \"Suspended\";\n\n    /// <summary>\n    /// The BrowseName for the SuspendedToHalted component.\n    /// </summary>\n    public const string SuspendedToHalted = \"SuspendedToHalted\";\n\n    /// <summary>\n    /// The BrowseName for the SuspendedToReady component.\n    /// </summary>\n    public const string SuspendedToReady = \"SuspendedToReady\";\n\n    /// <summary>\n    /// The BrowseName for the SuspendedToRunning component.\n    /// </summary>\n    public const string SuspendedToRunning = \"SuspendedToRunning\";\n\n    /// <summary>\n    /// The BrowseName for the SystemConditionClassType component.\n    /// </summary>\n    public const string SystemConditionClassType = \"SystemConditionClassType\";\n\n    /// <summary>\n    /// The BrowseName for the SystemEventType component.\n    /// </summary>\n    public const string SystemEventType = \"SystemEventType\";\n\n    /// <summary>\n    /// The BrowseName for the SystemOffNormalAlarmType component.\n    /// </summary>\n    public const string SystemOffNormalAlarmType = \"SystemOffNormalAlarmType\";\n\n    /// <summary>\n    /// The BrowseName for the SystemState component.\n    /// </summary>\n    public const string SystemState = \"SystemState\";\n\n    /// <summary>\n    /// The BrowseName for the SystemStatusChangeEventType component.\n    /// </summary>\n    public const string SystemStatusChangeEventType = \"SystemStatusChangeEventType\";\n\n    /// <summary>\n    /// The BrowseName for the TestStackExRequest component.\n    /// </summary>\n    public const string TestStackExRequest = \"TestStackExRequest\";\n\n    /// <summary>\n    /// The BrowseName for the TestStackExResponse component.\n    /// </summary>\n    public const string TestStackExResponse = \"TestStackExResponse\";\n\n    /// <summary>\n    /// The BrowseName for the TestStackRequest component.\n    /// </summary>\n    public const string TestStackRequest = \"TestStackRequest\";\n\n    /// <summary>\n    /// The BrowseName for the TestStackResponse component.\n    /// </summary>\n    public const string TestStackResponse = \"TestStackResponse\";\n\n    /// <summary>\n    /// The BrowseName for the Time component.\n    /// </summary>\n    public const string Time = \"Time\";\n\n    /// <summary>\n    /// The BrowseName for the TimedShelve component.\n    /// </summary>\n    public const string TimedShelve = \"TimedShelve\";\n\n    /// <summary>\n    /// The BrowseName for the TimedShelved component.\n    /// </summary>\n    public const string TimedShelved = \"TimedShelved\";\n\n    /// <summary>\n    /// The BrowseName for the TimedShelvedToOneShotShelved component.\n    /// </summary>\n    public const string TimedShelvedToOneShotShelved = \"TimedShelvedToOneShotShelved\";\n\n    /// <summary>\n    /// The BrowseName for the TimedShelvedToUnshelved component.\n    /// </summary>\n    public const string TimedShelvedToUnshelved = \"TimedShelvedToUnshelved\";\n\n    /// <summary>\n    /// The BrowseName for the TimedShelveMethodType component.\n    /// </summary>\n    public const string TimedShelveMethodType = \"TimedShelveMethodType\";\n\n    /// <summary>\n    /// The BrowseName for the TimestampsToReturn component.\n    /// </summary>\n    public const string TimestampsToReturn = \"TimestampsToReturn\";\n\n    /// <summary>\n    /// The BrowseName for the TimeZoneDataType component.\n    /// </summary>\n    public const string TimeZoneDataType = \"TimeZoneDataType\";\n\n    /// <summary>\n    /// The BrowseName for the Title component.\n    /// </summary>\n    public const string Title = \"Title\";\n\n    /// <summary>\n    /// The BrowseName for the ToState component.\n    /// </summary>\n    public const string ToState = \"ToState\";\n\n    /// <summary>\n    /// The BrowseName for the TotalRequestCount component.\n    /// </summary>\n    public const string TotalRequestCount = \"TotalRequestCount\";\n\n    /// <summary>\n    /// The BrowseName for the TransferredToAltClientCount component.\n    /// </summary>\n    public const string TransferredToAltClientCount = \"TransferredToAltClientCount\";\n\n    /// <summary>\n    /// The BrowseName for the TransferredToSameClientCount component.\n    /// </summary>\n    public const string TransferredToSameClientCount = \"TransferredToSameClientCount\";\n\n    /// <summary>\n    /// The BrowseName for the TransferRequestCount component.\n    /// </summary>\n    public const string TransferRequestCount = \"TransferRequestCount\";\n\n    /// <summary>\n    /// The BrowseName for the TransferResult component.\n    /// </summary>\n    public const string TransferResult = \"TransferResult\";\n\n    /// <summary>\n    /// The BrowseName for the TransferSubscriptionsCount component.\n    /// </summary>\n    public const string TransferSubscriptionsCount = \"TransferSubscriptionsCount\";\n\n    /// <summary>\n    /// The BrowseName for the TransferSubscriptionsRequest component.\n    /// </summary>\n    public const string TransferSubscriptionsRequest = \"TransferSubscriptionsRequest\";\n\n    /// <summary>\n    /// The BrowseName for the TransferSubscriptionsResponse component.\n    /// </summary>\n    public const string TransferSubscriptionsResponse = \"TransferSubscriptionsResponse\";\n\n    /// <summary>\n    /// The BrowseName for the Transition component.\n    /// </summary>\n    public const string Transition = \"Transition\";\n\n    /// <summary>\n    /// The BrowseName for the TransitionEventType component.\n    /// </summary>\n    public const string TransitionEventType = \"TransitionEventType\";\n\n    /// <summary>\n    /// The BrowseName for the TransitionNumber component.\n    /// </summary>\n    public const string TransitionNumber = \"TransitionNumber\";\n\n    /// <summary>\n    /// The BrowseName for the TransitionTime component.\n    /// </summary>\n    public const string TransitionTime = \"TransitionTime\";\n\n    /// <summary>\n    /// The BrowseName for the TransitionType component.\n    /// </summary>\n    public const string TransitionType = \"TransitionType\";\n\n    /// <summary>\n    /// The BrowseName for the TransitionVariableType component.\n    /// </summary>\n    public const string TransitionVariableType = \"TransitionVariableType\";\n\n    /// <summary>\n    /// The BrowseName for the TranslateBrowsePathsToNodeIdsCount component.\n    /// </summary>\n    public const string TranslateBrowsePathsToNodeIdsCount = \"TranslateBrowsePathsToNodeIdsCount\";\n\n    /// <summary>\n    /// The BrowseName for the TranslateBrowsePathsToNodeIdsRequest component.\n    /// </summary>\n    public const string TranslateBrowsePathsToNodeIdsRequest = \"TranslateBrowsePathsToNodeIdsRequest\";\n\n    /// <summary>\n    /// The BrowseName for the TranslateBrowsePathsToNodeIdsResponse component.\n    /// </summary>\n    public const string TranslateBrowsePathsToNodeIdsResponse = \"TranslateBrowsePathsToNodeIdsResponse\";\n\n    /// <summary>\n    /// The BrowseName for the TransparentRedundancyType component.\n    /// </summary>\n    public const string TransparentRedundancyType = \"TransparentRedundancyType\";\n\n    /// <summary>\n    /// The BrowseName for the TransportProtocol component.\n    /// </summary>\n    public const string TransportProtocol = \"TransportProtocol\";\n\n    /// <summary>\n    /// The BrowseName for the TreatUncertainAsBad component.\n    /// </summary>\n    public const string TreatUncertainAsBad = \"TreatUncertainAsBad\";\n\n    /// <summary>\n    /// The BrowseName for the TripAlarmType component.\n    /// </summary>\n    public const string TripAlarmType = \"TripAlarmType\";\n\n    /// <summary>\n    /// The BrowseName for the TrueState component.\n    /// </summary>\n    public const string TrueState = \"TrueState\";\n\n    /// <summary>\n    /// The BrowseName for the TwoStateDiscreteType component.\n    /// </summary>\n    public const string TwoStateDiscreteType = \"TwoStateDiscreteType\";\n\n    /// <summary>\n    /// The BrowseName for the TwoStateVariableType component.\n    /// </summary>\n    public const string TwoStateVariableType = \"TwoStateVariableType\";\n\n    /// <summary>\n    /// The BrowseName for the TypeNode component.\n    /// </summary>\n    public const string TypeNode = \"TypeNode\";\n\n    /// <summary>\n    /// The BrowseName for the TypesFolder component.\n    /// </summary>\n    public const string TypesFolder = \"Types\";\n\n    /// <summary>\n    /// The BrowseName for the UInt16 component.\n    /// </summary>\n    public const string UInt16 = \"UInt16\";\n\n    /// <summary>\n    /// The BrowseName for the UInt32 component.\n    /// </summary>\n    public const string UInt32 = \"UInt32\";\n\n    /// <summary>\n    /// The BrowseName for the UInt64 component.\n    /// </summary>\n    public const string UInt64 = \"UInt64\";\n\n    /// <summary>\n    /// The BrowseName for the UInteger component.\n    /// </summary>\n    public const string UInteger = \"UInteger\";\n\n    /// <summary>\n    /// The BrowseName for the UnacknowledgedMessageCount component.\n    /// </summary>\n    public const string UnacknowledgedMessageCount = \"UnacknowledgedMessageCount\";\n\n    /// <summary>\n    /// The BrowseName for the UnauthorizedRequestCount component.\n    /// </summary>\n    public const string UnauthorizedRequestCount = \"UnauthorizedRequestCount\";\n\n    /// <summary>\n    /// The BrowseName for the Unlock component.\n    /// </summary>\n    public const string Unlock = \"Unlock\";\n\n    /// <summary>\n    /// The BrowseName for the UnregisterNodesCount component.\n    /// </summary>\n    public const string UnregisterNodesCount = \"UnregisterNodesCount\";\n\n    /// <summary>\n    /// The BrowseName for the UnregisterNodesRequest component.\n    /// </summary>\n    public const string UnregisterNodesRequest = \"UnregisterNodesRequest\";\n\n    /// <summary>\n    /// The BrowseName for the UnregisterNodesResponse component.\n    /// </summary>\n    public const string UnregisterNodesResponse = \"UnregisterNodesResponse\";\n\n    /// <summary>\n    /// The BrowseName for the Unshelve component.\n    /// </summary>\n    public const string Unshelve = \"Unshelve\";\n\n    /// <summary>\n    /// The BrowseName for the Unshelved component.\n    /// </summary>\n    public const string Unshelved = \"Unshelved\";\n\n    /// <summary>\n    /// The BrowseName for the UnshelvedToOneShotShelved component.\n    /// </summary>\n    public const string UnshelvedToOneShotShelved = \"UnshelvedToOneShotShelved\";\n\n    /// <summary>\n    /// The BrowseName for the UnshelvedToTimedShelved component.\n    /// </summary>\n    public const string UnshelvedToTimedShelved = \"UnshelvedToTimedShelved\";\n\n    /// <summary>\n    /// The BrowseName for the UnshelveTime component.\n    /// </summary>\n    public const string UnshelveTime = \"UnshelveTime\";\n\n    /// <summary>\n    /// The BrowseName for the UpdateDataCapability component.\n    /// </summary>\n    public const string UpdateDataCapability = \"UpdateDataCapability\";\n\n    /// <summary>\n    /// The BrowseName for the UpdateDataDetails component.\n    /// </summary>\n    public const string UpdateDataDetails = \"UpdateDataDetails\";\n\n    /// <summary>\n    /// The BrowseName for the UpdatedNode component.\n    /// </summary>\n    public const string UpdatedNode = \"UpdatedNode\";\n\n    /// <summary>\n    /// The BrowseName for the UpdateEventCapability component.\n    /// </summary>\n    public const string UpdateEventCapability = \"UpdateEventCapability\";\n\n    /// <summary>\n    /// The BrowseName for the UpdateEventDetails component.\n    /// </summary>\n    public const string UpdateEventDetails = \"UpdateEventDetails\";\n\n    /// <summary>\n    /// The BrowseName for the UpdateStructureDataDetails component.\n    /// </summary>\n    public const string UpdateStructureDataDetails = \"UpdateStructureDataDetails\";\n\n    /// <summary>\n    /// The BrowseName for the UserIdentityToken component.\n    /// </summary>\n    public const string UserIdentityToken = \"UserIdentityToken\";\n\n    /// <summary>\n    /// The BrowseName for the UserNameIdentityToken component.\n    /// </summary>\n    public const string UserNameIdentityToken = \"UserNameIdentityToken\";\n\n    /// <summary>\n    /// The BrowseName for the UserTokenPolicy component.\n    /// </summary>\n    public const string UserTokenPolicy = \"UserTokenPolicy\";\n\n    /// <summary>\n    /// The BrowseName for the UserTokenType component.\n    /// </summary>\n    public const string UserTokenType = \"UserTokenType\";\n\n    /// <summary>\n    /// The BrowseName for the UserWriteable component.\n    /// </summary>\n    public const string UserWriteable = \"UserWriteable\";\n\n    /// <summary>\n    /// The BrowseName for the UseSlopedExtrapolation component.\n    /// </summary>\n    public const string UseSlopedExtrapolation = \"UseSlopedExtrapolation\";\n\n    /// <summary>\n    /// The BrowseName for the UtcTime component.\n    /// </summary>\n    public const string UtcTime = \"UtcTime\";\n\n    /// <summary>\n    /// The BrowseName for the ValueAsText component.\n    /// </summary>\n    public const string ValueAsText = \"ValueAsText\";\n\n    /// <summary>\n    /// The BrowseName for the ValuePrecision component.\n    /// </summary>\n    public const string ValuePrecision = \"ValuePrecision\";\n\n    /// <summary>\n    /// The BrowseName for the VariableAttributes component.\n    /// </summary>\n    public const string VariableAttributes = \"VariableAttributes\";\n\n    /// <summary>\n    /// The BrowseName for the VariableNode component.\n    /// </summary>\n    public const string VariableNode = \"VariableNode\";\n\n    /// <summary>\n    /// The BrowseName for the VariableTypeAttributes component.\n    /// </summary>\n    public const string VariableTypeAttributes = \"VariableTypeAttributes\";\n\n    /// <summary>\n    /// The BrowseName for the VariableTypeNode component.\n    /// </summary>\n    public const string VariableTypeNode = \"VariableTypeNode\";\n\n    /// <summary>\n    /// The BrowseName for the VariableTypesFolder component.\n    /// </summary>\n    public const string VariableTypesFolder = \"VariableTypes\";\n\n    /// <summary>\n    /// The BrowseName for the VendorCapability component.\n    /// </summary>\n    public const string VendorCapability = \"<VendorCapability>\";\n\n    /// <summary>\n    /// The BrowseName for the VendorServerInfo component.\n    /// </summary>\n    public const string VendorServerInfo = \"VendorServerInfo\";\n\n    /// <summary>\n    /// The BrowseName for the VendorServerInfoType component.\n    /// </summary>\n    public const string VendorServerInfoType = \"VendorServerInfoType\";\n\n    /// <summary>\n    /// The BrowseName for the ViewAttributes component.\n    /// </summary>\n    public const string ViewAttributes = \"ViewAttributes\";\n\n    /// <summary>\n    /// The BrowseName for the ViewDescription component.\n    /// </summary>\n    public const string ViewDescription = \"ViewDescription\";\n\n    /// <summary>\n    /// The BrowseName for the ViewNode component.\n    /// </summary>\n    public const string ViewNode = \"ViewNode\";\n\n    /// <summary>\n    /// The BrowseName for the ViewsFolder component.\n    /// </summary>\n    public const string ViewsFolder = \"Views\";\n\n    /// <summary>\n    /// The BrowseName for the ViewVersion component.\n    /// </summary>\n    public const string ViewVersion = \"ViewVersion\";\n\n    /// <summary>\n    /// The BrowseName for the Write component.\n    /// </summary>\n    public const string Write = \"Write\";\n\n    /// <summary>\n    /// The BrowseName for the Writeable component.\n    /// </summary>\n    public const string Writeable = \"Writeable\";\n\n    /// <summary>\n    /// The BrowseName for the WriteCount component.\n    /// </summary>\n    public const string WriteCount = \"WriteCount\";\n\n    /// <summary>\n    /// The BrowseName for the WriteMethodType component.\n    /// </summary>\n    public const string WriteMethodType = \"WriteMethodType\";\n\n    /// <summary>\n    /// The BrowseName for the WriteRequest component.\n    /// </summary>\n    public const string WriteRequest = \"WriteRequest\";\n\n    /// <summary>\n    /// The BrowseName for the WriteResponse component.\n    /// </summary>\n    public const string WriteResponse = \"WriteResponse\";\n\n    /// <summary>\n    /// The BrowseName for the WriteValue component.\n    /// </summary>\n    public const string WriteValue = \"WriteValue\";\n\n    /// <summary>\n    /// The BrowseName for the X509IdentityToken component.\n    /// </summary>\n    public const string X509IdentityToken = \"X509IdentityToken\";\n\n    /// <summary>\n    /// The BrowseName for the XAxisDefinition component.\n    /// </summary>\n    public const string XAxisDefinition = \"XAxisDefinition\";\n\n    /// <summary>\n    /// The BrowseName for the XmlElement component.\n    /// </summary>\n    public const string XmlElement = \"XmlElement\";\n\n    /// <summary>\n    /// The BrowseName for the XmlSchema_TypeSystem component.\n    /// </summary>\n    public const string XmlSchema_TypeSystem = \"XML Schema\";\n\n    /// <summary>\n    /// The BrowseName for the XVType component.\n    /// </summary>\n    public const string XVType = \"XVType\";\n\n    /// <summary>\n    /// The BrowseName for the XYArrayItemType component.\n    /// </summary>\n    public const string XYArrayItemType = \"XYArrayItemType\";\n\n    /// <summary>\n    /// The BrowseName for the YArrayItemType component.\n    /// </summary>\n    public const string YArrayItemType = \"YArrayItemType\";\n\n    /// <summary>\n    /// The BrowseName for the YAxisDefinition component.\n    /// </summary>\n    public const string YAxisDefinition = \"YAxisDefinition\";\n\n    /// <summary>\n    /// The BrowseName for the ZAxisDefinition component.\n    /// </summary>\n    public const string ZAxisDefinition = \"ZAxisDefinition\";\n  }\n\n}\n"
  },
  {
    "path": "SemanticData/InformationModelFactory/UAConstants/Namespaces.cs",
    "content": "﻿//___________________________________________________________________________________\n//\n//  Copyright (C) 2019, Mariusz Postol LODZ POLAND.\n//\n//  To be in touch join the community at GITTER: https://gitter.im/mpostol/OPC-UA-OOI\n//___________________________________________________________________________________\n\nnamespace UAOOI.SemanticData.InformationModelFactory.UAConstants\n{\n\n  /// <summary>\n  /// Defines constants for all namespaces referenced by the model design.\n  /// </summary>\n  public static partial class Namespaces\n  {\n    /// <summary>\n    /// The URI for the OpcUa namespace (.NET code namespace is 'Opc.Ua').\n    /// </summary>\n    public const string OpcUa = \"http://opcfoundation.org/UA/\";\n\n    /// <summary>\n    /// The URI for the OpcUaXsd namespace (.NET code namespace is 'Opc.Ua').\n    /// </summary>\n    public const string OpcUaXsd = \"http://opcfoundation.org/UA/2008/02/Types.xsd\";\n  }\n\n}\n"
  },
  {
    "path": "SemanticData/InformationModelLifecycle.md",
    "content": "# Address Space Model Life-cycle\n\nThe OPC Unified Architecture (UA) is a standard that allows servers to provide process data and environment metadata to clients in a unique and platform-independent way. To meet this objective, at run-time each server instantiates and maintains the address space that is a collection of data to be exposed to clients. The OPC Unified Architecture `Address Space Management` (Figure 1) embeds the address space instance that consists of nodes and references. The main role of the nodes and references is to expose the state and behavior of an underlying process as a graph of nodes.\n\n![Figure 1 Development Architecture](../CommonResources/Media/SemanticData/DevelopmentArchitecture.png)\n\nAt run-time typical implementation architecture consists of OPC UA Clients, which are connected to an OPC UA Server. The server exposes process data in the context of the address space instantiated in compliance with the selected `Address Space Model`.\n\nIn a typical architecture (Figure 1), exposing the process data in the context of metadata means that information produced by the `Real-time Process` is gathered by the `Process Link` as process data and assigned to `Variable` nodes residing in the address space and maintained by the `Address Space Management`. Next, process data can be accessed and processed by a generic client using `Services`. In a production environment, the `Address Space Model` may be also used offline in clients development or configuration process to offer additional features, namely preconfigured customized control panels, dedicated data visualization panes or predefined structure of the database tables. The model knowledge also simplifies the configuration of clients, because all of the items composing the complex process information can be accessed directly without the necessity to browse the address space graph of nodes.\n\nTo implement the `Address Space Management` concept, two questions must be addressed:\n\n- How to create and maintain address space?\n- How to bind the `Variable` nodes with the real-time process data sources?\n\nTo create the address space instance the `Address Space Management` must instantiate all nodes and interconnect them by means of references. A detailed description of this process is covered by the section: [*Address Space and Address Space Model*][ASASM]. Using the nodes by means of a well-defined set of services [[6]][Opc.UA.Part4], clients get access to data representing the state and behavior of a selected part of the underlying process. In this architecture, the address space plays the role of **process replica**. In this scenario, the server must couple the exposed address space nodes with the current state and behavior of the underlying process. Therefore, to maintain this coupling, there must be established an out-of-band connection to physical devices used to transfer real-time process data in both directions.\n\nThe binding technique of nodes and real-time process data are vendor specific. Nodes management functionality on the client part is standardized by the Part 4 – Services of the specification [[6]][Opc.UA.Part4]. Access to the values representing the current process state is provided by the read/write functions. The client can also be informed about changes of the process state using \"data change\" notifications. Invoke and event notification functionality allow clients to use the methods.\n\nUsing the address space concept and using provided `Services` clients can also get access to special kind of process data, i.e. events, alarms, and historical data.\n\nTo implement the functionality presented above, we need to use three coupled function classes (Figure 1):\n\n- `Services` - in-band connectivity and data transfer over the network\n- `Address Space Management` - address space nodes management and process data cache\n- `Process Link` - out-of-band process data transfer, conversion, and binding\n\nThe diagram in Figure 1 shows the dependencies and associations between the function classes mentioned above. In this domain model, the `Process Link` is responsible for transferring real-time process data up and down. The embedded address space maintained by `Address Space Management` is a collection of `NodeClass` instances (nodes) (see section [*Address Space and Address Space Model*][ASASM]). Each node is a carrier of values (attributes) and collection of references used to create a nodes graph. `Variable` nodes expose the real-time process data using dedicated `Value` attribute. Other nodes are used to create meaningful context for the process data exposed to all connected clients by the `Services` (Section [*Address Space and Address Space Model*][ASASM]).\n\nReal-time process data is obtained from the underling process devices.  The `Process Link` gets access to it using the out-of-band underlying communication infrastructure and vendor specific protocols. For embedded applications it may use directly internal controller registers of the device instead of transferring the data over a wire.\n\nTo create the address space instance - i.e. to instantiate all nodes and interconnect them by means of references - the `Address Space Management` uses a static `Address Space Model` (Figure 1) created in advance and providing a detailed description of all the nodes, including their attributes value and interconnections by means of references. Static means that the model is predefined for the selected environment, but it does not mean that the exposed address space is static at all. In this approach, nodes can be instantiated and linked dynamically, however the process must conform to the meta model definition `Implementation Language`. Dynamic behavior of the address space can be controlled by the connected clients using services or by the current state of the process.\n\nIt is worth noting that the `Address Space Model` may be implemented as a set of files created with a variety of purposes. Serialization, data binding, and server configuration are most important. Serialization is a conversion of structured complex data into a stream of bits with the goal of transferring it over the network or storing it using the file system. Data binding is responsible for coupling `Real-time Process` sources with the appropriate nodes in the address space with the result that the content depends on a deployment instance. Usually, the files necessary for the server are created as a result of the compilation process. The main goal of compilation is to apply all of the type definitions to created nodes and bind them to the `Real-time Process` data. Consequently, it is a product of a compiler and because it is intended to be consumed by the server the `Implementation Language` must have a machine-readable syntax.\n\nAs it was described in the section [*UA Information Model - Concept*][IMConcept], any model is designed with the goal of formally determining the information that is to be used to describe the `Real-time Process` state and its behavior. It is human-centric process and is accomplished by the definition of types. This way we can create autonomous, deployment independent, reusable definitions. The main challenge is to obtain an appropriate level of model simplicity. At the same time, it is worth noting that simplicity is not born by simplification but is rather a result of abstraction, i.e. while designing a model the `Real-time Process` details should not be neglected but hidden if necessary. The independence and reusability means that the model must not depend on the production environment.\n  \nConcluding the above discussion, the second step in the address space information model life-cycle is the `Address Space Model` generated in a format to be used as a foundation for nodes instantiation and interconnection them by references. The `Address Space Model` representation is usually generated by a compiler (`Code Generator` on Figure 1) that processes the selected `Information Model` and creates a set of documents containing all information necessary to instantiate and interconnect nodes at run-time by the `Address Space Management` of the `UA Server`. The compiler could be an independent product or it can be embedded into the `UA Server` or `Model Designer`.\n\nThe main functions of the compiler are:\n\n- replace the Universal Resource Identifiers (URI) (fully qualified names) by more efficient local identifiers relative to an implementation dependent namespace table used to preserve their aliases\n- crate and maintain the namespace table\n- process the inheritance chain applying instance declarations\n- construct type instances by processing instance declarations and inheritance chains\n- validate the model against `Address Space Meta Model` rules (section [*Address Space and Address Space Model*][ASASM])\n- validate the model against `Model Language` rules and [*Standard Information Model*][SIM]\n\nFrom the model developer point of view, the compilation process may be recognized as an obfuscation process making the result hard to read and modify.\n\nAvailable in the open source domain [OPC UA Information Model Compiler][OPC.UA.ModelCompiler] tool is an example of this kind of tools. As the `Information Model` - an input for compilation process - it uses a set of XML files compliant with the `ModelDesign` schema.  In this case, the `Address Space Model` represents a variety of generated files including XML file compliant with the UANodeSet schema defined in [Part 6][OPC.UA.Part6] of the OPC UA specification. The main purpose of this specification is to provide a standard syntax that designers can use to formally represent their models in a form that can be read by a computer program. Unfortunately, this format is not well suited to be used directly by designers at the very beginning of the information model development and adoption stage. It is also worth stressing that `ModelDesign` schema - a foundation of the `Model Language` - is not formally defined by the OPC UA specification, so must be recognized as a proprietary solution.\n\nBecause UANodeSet is standardized it must be considered as the out-of-band interchange format of the models to leverage reusability. In any case that `Informal Model` and `Information Model` must be harmonized, the design process must return to a point where it is human-centric and based on the selected `Model Language`. In case an existing model expressed using standard description compliant with UANodeSet is to be reused a recovery process must be applied. It can be accomplished using `asp.exe` tool described in the document [*Address Space Prototyping Tool (ase.exe)*][ASEEXE].\n\nWe learn from the above discussion that before nodes making up the address space can be instantiated by the server, we need an `Address Space Model`, which must be compliant with the selected `Information Model`. Additionally, from the section [*Information Models Development*][IMD] we know that the `Information Model` may be designed from scratch or adopted on the ground of companion specifications. An example of the existing model is the Analyzer Devices Integration (ADI) information model presented in the section [*Adopting Companion Standard Models - Analyzer Devices Integration*][CSMADI]. The section - [*ReferenceApplication Producer - Boilers Set Simulator*][Boiler] covers detailed description of a custom model designed from scratch for selected process.\n\nIn any case, we cannot avoid the `Information Model` design phase. It is the first step in the address space information model life-cycle. This phase is illustrated in Figure 1 where `Informal Model` represents all knowledge, experience, and documents that can be collected and used to design an appropriate model according to the specification. This process is similar to writing the code of a program, and predefined `Information Model` can be recognized as libraries to promote reusability. Predefined models not only improve the performance of the design process but what is more important they make a foundation for interoperability even if it is only out-of-band interoperability.\n\n> The architecture presented in this section and the model life-cycle is simplified. In a real scenario additional processing of the results of `Model Compiler` is usually necessary to deploy the model in production environment.\n\n## See also\n\n- [OPC Unified Architecture Specification Part 4 – Services, OPC Foundation, Rel. 1.04, 2017-11-22][Opc.UA.Part4]\n- [OPC Unified Architecture Specification Part 6: Mappings, OPC Foundation, Rel. 1.04, 2017-11-22][OPC.UA.Part6]\n- [Address Space and Address Space Model][ASASM]\n- [UA Information Model - Concept][IMConcept]\n- [Standard Information Model][SIM]\n- [Information Models Development][IMD]\n- [Adopting Companion Standard Models - Analyzer Devices Integration][CSMADI]\n- [ReferenceApplication` Producer - Boilers Set Simulator][Boiler]\n- [OPC UA Information Model Compiler][OPC.UA.ModelCompiler]\n- [Address Space Prototyping Tool (ase.exe)][ASEEXE]\n\n[Opc.UA.Part6]:https://opcfoundation.org/developer-tools/specifications-unified-architecture/part-6-mappings/\n[OPC.UA.ModelCompiler]:https://github.com/mpostol/UA-ModelCompiler#opc-ua-information-model-compiler-\n[Opc.UA.Part4]:https://opcfoundation.org/developer-tools/specifications-unified-architecture/part-4-services/\n[ASASM]:AddressSpaceAddressSpaceModel.md\n[IMConcept]:InformationModelConcept.md\n[IMD]:InformationModelsDevelopment.md\n[Boiler]:../Networking/Simulator.Boiler/README.md\n[CSMADI]:AdoptingCompanionStandardADI.md\n[SIM]:StandardInformationModel.md\n[ASEEXE]:AddressSpaceComplianceTestTool/README.md\n"
  },
  {
    "path": "SemanticData/InformationModelsDevelopment.md",
    "content": "# Information Models Development\n\n## Methodology\n\nOPC UA specification provides a standard Information Model domain, which contains a set of predefined types and instances. This domain may be extended by designing a new one. Even though the standard Information Model contains a rich set of predefined types, the type concept allows designers to freely define types according to the application needs. New types are derived from the existing ones. The derived types inherit all features of the base types but can include modifications to make the new types more appropriate for information to be represented. This new information model covered by the domain may be the subject of a companion specification or proprietary solution. In any case new definitions must be uniquely named and self-contained except for external type references. All not predefined types (not belonging to the standard domain) must be exposed in the Address Space by the server.\n\nThe model design engineering is an emerging discipline in which engineers develop new models with a primary emphasis on convergence between information describing the state and behavior of a selected real-time process and simplified representation of the process by process data. The data is formally described in terms of types. Generally speaking there are two approaches possible:\n\n- Design a custom model that meets requirements of a proprietary process (Section [*`ReferenceApplication` Producer - Boilers Set Simulator*][BlrsStSmultr])\n- Adopt an existing model released as a companion specification to meet the requirements of a proprietary process.\n\nTo improve performance of independent model developments as a result of reusability and, what is more important, to promote unification of results there are many activities aimed at designing models for selected processes. The unification enables vendors to commence independent developments of selected application aware products. In this section a case studies illustrating both approaches is presented.\n\n## See also\n\n- [`ReferenceApplication` Producer - Boilers Set Simulator][BlrsStSmultr]\n\n[BlrsStSmultr]:../Networking/Simulator.Boiler/README.md\n"
  },
  {
    "path": "SemanticData/README.MD",
    "content": "# Semantic-Data Processing Architecture\n\n## Domain Model\n\n### Introduction\n\nThe main challenge that must be faced up by engineering of data processing is the preservation of the data semantics at all the stages of this process to manipulate the data meaningfully. This diagram is a domain model, which presents a conceptual framework of the `Semantic-Data` supporting contextual data processing outside the *OPC UA Server* session. It presents all the major contributors processing the data in the context of `UA Information Model`.\n\n`Semantic-Data` may be directly used by the following classes of actors:\n\n* `Address Space Management` -  part of the **OPC UA Server** application optionally supporting integration services.\n* `UA Client` -  custom OPC `UA Client` supporting integration services.\n* `OOI Reactive Application` - an application program processing the data in the context of the OPC UA metadata without the **OPC UA Server** session.\n\n![Domain Model](../CommonResources/Media/UADataIntegrationServices.Domain.png)\n\n### UA Information Model\n\nThe description of the *OPC UA Information Model* is captured in details in in the:\n\n* [OPC Unified Architecture e-book 2010](https://commsvr-com.github.io/Documentation/ModelDesigner/html/a2d55988-b59a-4a87-95b9-933f6bbdf5bd.htm)\n* [OPC UA Information Model Deployment](../SemanticData/InformationModelsDevelopment.md)\n\n### OPC UA Sever\n\nThe `Address Space Management` is a typical part of any *OPC UA Server*. It is responsible for:\n\n* *OPC UA Address Space* instantiation – the creation and management of the server address space\n* `Data Binding` - managing of the links to the underlying process `Raw Data`\n\nThe OPC UA specification introduces a node notion as an atomic addressable entity that consists of attributes (value-holders) and references (address-holders of coupled nodes). The set of nodes that an *OPC UA Server* makes available to clients is referred to as its address space, which enables representation of both underlying processes environment description (metadata) and the process state/behavior (data). The address space exposed by the server makes up a context the `Raw Data` is made available to the clients in. Instantiation of this context depends on an application domain unique *OPC UA Information Model* and is governed by the *OPC UA Address Space Model* rules.\n\nThe `UA Server Services` accesses data and metadata and makes them available to the `UA Client` using a set of non-expandable services compliant with the specification.\n\nThe `Address Space Management` activity includes also the creation of data bindings with the underlying real-time process (`Raw Data`).  `Data binding` is responsible for coupling  raw data representing the current state/behavior of the underlying real-time process with the appropriate nodes in the address space. `Data Binding` is, therefore, the process that establishes a connection between the *Variable* node and selected data source. The *Value* attribute of the *Variable* node reflects changes when made. It can also mean that when the *Value* attribute of the *Variable* is changed, the underlying data will reflect that change.\n\nOptionally the `Address Space Management` activity may also provide systems integration services supporting the process of bringing together the component external applications (not OPC `UA Server Services` aware) into one system and ensuring that the applications function together as a whole. It includes but is not limited to linking together different software applications physically or functionally on the basis of common data and metadata compliant with the applied *OPC UA Information Models*. These services should provide the following functions:\n\n* Selection of the *Variable* nodes (integration data) that are to be made available to the external applications.\n* Selection of the data exchange channels, i.e. network links, databases, etc.\n* Data security protection services.\n* Data discovery support services.\n\nOptionally the `Address Space Management` could expose supplementary `UA Information Model` aimed to control remotely the data exchange channels by an `OPC UA Client` customized to be compliant with this model.\n\nThe underlying process `Raw Data` may also be processed by any `Application` simultaneously. This kind of activity is outside the presented concept scope.\n\n### OPC UA Client\n\nIt is an embedded part of the *OPC UA Client* application. `OPC UA Client` shall be compliant with Part 4. It consumes all not optional services required by Part 4 of the specification and must be compliant with the selected existing profile. To maintain data on the *OPC UA Server* side it must establish the session. In this case, the applications must follow the interactive behavioral model, because the client actively selects and pulls the data source (*OPC UA Server*) for more information. The session enables the *OPC UA Server* cyclically updating the selected data on the *OPC UA Client* side.\n\nOptionally, the `OPC UA Client` activity may also provide systems integration services supporting the process of bringing together the component external applications (not OPC UA Server Services aware) into one system and ensuring that the applications function together as a whole. It includes but is not limited to linking together different software applications physically or functionally on the basis of common data and metadata compliant with the applied OPC UA Information Models. These services should provide the following functions:\n\n* Selection of the Variables (integration data) that are to be made available to the external applications.\n* Selection of the data exchange channels, i.e. network links, databases, etc.\n* Data security protection services.\n* Data discovery support services.\n\nOptionally the `OPC UA Client` may also support importing and exporting services of the data to external semantics (**Raw Data**).\n\n> Note: because the *OPC UA Client* selects the data for further processing over a session and in context of metadata the data semantics is preserved and can be processes meaningfully.\n\n### OOI Reactive Application\n\n`OOI Reactive Application` is an application transferring the `Semantic-Data` over the network using message centric transport of the strong typed data standardized by the OPC UA Specification [Part 14 Pub/Sub](../Networking/SemanticData/README.PubSubMTF.md). The description of its architecture is captured in [UA SemanticData Message Centric Communication](../Networking/README.MessageCentricCommunication.md).\n\nThis concept has been implemented in the project [Reactive Networking of Semantic-Data Library](../Networking/SemanticData/README.MD). This project provides an SDK library that can be used as a foundation of the communication infrastructure deployment. The [Walk-through `ReferenceApplication`](../Networking/ReferenceApplication/README.MD) contains the description of a reference WPF application.\n\nThe diagram below shows how the `OOI Reactive Application` may be expanded to implement integration services in context of selected Industrial IT technologies.\n\n![OOI Reactive Application](../CommonResources/Media/UADataIntegrationServices.UADataApplication.png)\n\n`OOI Reactive Application` is any software program designed to perform a specific function directly for the user or for other application programs. Application programs process consumes (`Consumer` role) and/or produces (`Producer` role) the `Semantic-Data` according to selected algorithm to meet the user requirements according to selected information model. The roles expands the `DataRepository` class representing ultimate source or destination of the *raw data*. Description of how to implement this roles is covered in the document [Reactive Networking of SemanticData Library](../Networking/SemanticData/README.MD)\n\nThe `OOI Reactive Application` class in the domain model represents varieties of possible applications including but not limited to:\n\n* `XML Gateway` - it factories objects using the `Semantic-Data` and serializes them into XML text representation for further processing.\n* `JSON Gateway` - it factories objects using the `Semantic-Data` and serializes them into the JSON text representation for further processing\n* `Data Archival` - collects the `Semantic-Data` received over the wire and archives it in a database.\n* `Cloud Gateway` - it simplifies creation of a bridge to the cloud that enables data to stream from industrial equipment to a cloud messaging endpoint such as [Azure IoT](https://docs.microsoft.com/en-us/azure/iot-fundamentals/).\n* `HMI` - reactive visualization of the `Semantic-Data`- [OPC UA Makes Smart User Interface Possible][wordpress.HMI]\n* `SCADA` - supervisory control and data acquisition is a control system architecture that uses computers, networked data communications and graphical user interfaces for high-level process supervisory management.\n* `Fieldbus  gateway` - a gateway to family of industrial computer network protocols.\n* `UA Server Integration` - a gateway to data exposed by the `Address Space Management` - a typical part of any *OPC UA Server*.\n\nThe `Data Archival` can also be used to transfer data from the OPC UA environment to any Database Management System for further processing by Enterprise Management BI systems.\n\nThe `JSON Gateway` and `XML Gateway` supports strong typed objects serialization and deserialization using JSON and XML industrial standards. Converting the OPC UA objects into text based representation is required to publish and subscribe using Enterprise Service Base concept.\n\nBy design in all the cases above the destination representation, i.e. message content, object types and database schema can be prepared in advance at design time using the OPC UA Information Model.\n\n## Semantic-Data\n\n### Concept\n\nThe OPC `Semantic-Data` represents the following triple:\n\n* *Uniform Resource Identifier* (URI).\n* Type as an entity of the *OPC UA Information Model*.\n* A set of related nodes in the context of *OPC UA Address Space*\n\nUsing the URI as a standard for global identifiers allows for a worldwide reference for any data. This means that we can tell when any two applications anywhere in the world are referring to the same thing. It could answer the question when a thing in one location is the same thing as thing in another location? Using URI, we can, therefore, introduce the notion of global data identity. The data identity allows for the creation of variety of dictionaries collecting supplementary information independently and outside the server *OPC UA Address Space* context.\n\nAny data instance (value) is always just a stream of bits. To understand the binary data we must have defined a data type a description how to understand a bits pattern. Simplifying, the data type determines a set of valid values and rules needed to assign information (understand the data) to a selected bits pattern. The OPC UA specification provides an additional possibility of defining the meaning of the data, i.e. exposing the data in the context of metadata. In this case the data is made available as the *Value* attribute of the *Variable* node and is surrounded by other nodes creating a part of relationship. A well defined set of interconnected nodes can be recognized as complex data ([to learn more visit: OPC UA Makes Complex Data Processing Possible](https://mpostol.wordpress.com/2014/05/08/opc-ua-makes-complex-data-access-possible/)). Complex in this context means that the type must additionally define a relationship between the components of the binary data, i.e. how to selectively get a component of the complex data. To associate the type and the data, the URI must be defined unambiguously in the context of the selected *OPC UA Information Model* that provides type definitions.\n\nTo promote data processing against type definitions we shall assume that types are stable and therefore may not be preserved in the data instance, provided that precise nodes selection rules are defined and observed. To meet this requirement, any `Semantic-Data` represents a set of nodes organized as a tree structure defined recursively as a collection of nodes (starting at a root node), where each node called parent is the root of a subtree, i.e. all nodes that have \"part of\" relationship called children. The collection of children may be empty and in this case the node is called a leaf. In this definition “part of” means that the parent has a `HasProperty` or `HasComponent` reference to its children. This type of references prevents loops.\n\nFor any *OPC Information Model* the selection rule proposed above unambiguously yields a set of nodes that can make up the `Semantic-Data** instance. The URI of this instance is the following couple:\n\n* Selected URI for a root element that qualifies the symbolic name part.\n* Symbolic name of a root element.\n\nThe OPC UA information modeling concept is based on domains [to learn more visit the section Information Models Development](../SemanticData/InformationModelsDevelopment.md). A domain is a named self-contained collection of definitions. Any domain name is URI and  must be globally unique - it is an identification string that defines a realm of administrative autonomy and authority of responsibility. The type definition from one domain may inherit from type definitions located in other domains. To avoid circular references, domains should be organized in layers, which expand step by step the basic model provided by the *OPC UA Specification*. The URI for the information model defined by the standard is `http://opcfoundation.org/UA/`. To make URI for the nodes defined by the standard unique, the server URL shall be used instead.\n\nThe symbolic name of each node is its `BrowseName`, or, when it is a part of another node, the `BrowseName` of the other node, a `\"_\"`, and the `BrowseName` of itself. It applies recursively. “Part of” means that the whole has a `HasProperty` or `HasComponent` reference to its part. Since all nodes not being the part of another node have a unique name, the symbolic name is unique. Any root element must not be an instance declaration. An instance declaration is an Object, Variable or Method that is the target node of a hierarchical reference from a type definition mode or another instance declaration.\n\nFor example, the `ServerType` defined in the specification has the symbolic name `ServerType`. One of its instance declarations would be identified as ‘ServerType_ServerCapabilities’. Since this Object is complex, another instance declaration of the `ServerType` is `ServerType_ServerCapabilities_MinSupportedSampleRate`. The `Server` `Object` node is based on the `ServerType` and has the symbolic name `Server`. Therefore, the instance based on the instance declaration described above has the symbolic name `Server_ServerCapabilities_MinSupportedSampleRate`.\n\nThe unique identifier and both methods of data meaning definition make up a concept of the `Semantic-Data**. Again, this concept can be implemented using the *OPC UA Information Model* to define types and *OPC UA Address Space Model* to expose the data in the context of metadata.\n\n> Note: The `Semantic-Data` may be implemented using any other consistent type system.\n\nThe `Semantic-Data` may be used to implement the *Data Security* and *Discoverable Data* concepts described below.\n\n### Encoding\n\nAs it was defined above any `Semantic-Data` represents a well defined set of nodes organized as a tree structure. Type is responsible to define a meaning for this tree, e.g. from *BoilerType* we can learn how for this kind of objects their state is described - what values must be present in the data instance. This meaning is provided by the semantics rules of the type. To define valid bits pattern encoding must be defined by the type as well. Encoding rules depends on where the data is to be processed and it could change during the data life-cycle. Definition of the encoding is, therefore, outside of scope of `SemanticData` definition and to promote interoperability must be defined be an international standard. For this purpose [OPC Unified Architecture][wordpress.opc-ua] has been selected.\n\nValue of the data can change in time. It is worth noting that, in the presented concept, if two instances of the data have the same URI it does not mean that both have the same value, i.e. the same bits pattern. For example, if we are measuring the temperature in an output pipe of a selected boiler at 1 second intervals, we are getting a new value (creating new data instance) every second. The URI cannot be used to distinguish data instances, but still it could be used to apply a common key and sign each value and, finally, send it over the wire to a destination application. The destination application can use a recognizable key (indexed by the URI) retrieved from a dictionary and check the data against a not-repudiation security scenario.\n\n**Challenge 1**: An *OPC UA Server* exposed 123456 values representing the crude oil refinery process. To make the server maintainable its configuration has to be self-adoptable (zero-configuration, zero-device drivers required)\n\nFor this scenario we can apply the following work-flow:\n\n1. The server instantiates the OPC UA Information Model for the crude oil refinery process and starts listening for UDP messages containing the `Semantic-Data` instances.\n2. The `Flow meter #A-4321` device supporting Modbus RTU is equipped with a Modbus => `Semantic-Data` gateway (lightweight plug converter - actually converting Modbus responses into the UDP/IP frame according to the [Pub/Sub specification](../Networking/SemanticData/README.PubSubMTF.md) - price is relevant!)\n3. Using the *OPC UA Information Model* of the process the meter creates partial data instance containing value of the *InputFlow* *Variable*` defined somewhere in the model\n4. Using local private key of the device the payload is signed and sent to the server.\n5. Embedded UDP receiver of the `Address Space Management` on the server side reads the message from the network and, using the URI of the `Flow meter #A-4321`, browses a global directory to find the sender certificate and get the public key to implement payload integrity check.\n6. Finally, *OPC UA Server* exposes the data (updates *Value* attributes of the relevant *Variable* nodes) related to a virtual meter for `Flow meter #A-4321` in his `Address Space Management` component (i.e. in the *UA Address Space* instantiated according to the Information Model used to configure the device)\n7. *OPC UA Clients* connected to this server are updated over the sessions using the standard subscription mechanism\n8. In case the `Flow meter #A-4321` device is replaced for some reasons the new one also has to update relevant properties and *OPC UA Clients* can adopt the behavior using new values (e.g. engineering units) and expose also the device identification data, e.g serial number, model, etc. The device must be equipped with a gateway supporting its field level protocol or directly supporting the `Semantic-Data` implementation.\n\n### Data Security\n\nSome scenarios where the OPC `Semantic-Data` is used requires that the data is protected against:\n\n* Unauthorized Access.\n* Non-repudiation.\n* Integrity.\n\nBecause any `Semantic-Data` instance is a uniquely named standalone object, the security can be provided in the context of the data but not in the context of the server the data is exposed by.\n\nEach node in the `Semantic-Data` is a root of a tree structure created by nodes recursively pointed out by *HierarchicalReferences* in forward direction. Because each node in this hierarchy is globally recognizable it may be protected as a resource by any independent protection system (for example any Kerberos protocol implementation) supporting authentication and authorization operation and responsible for the distribution of security tokens used to protect the data as above. A hierarchical relationship supports permissions inheritance, i.e. permissions propagation to the children nodes.\n\n**Challenge 2**: A server wants to send information out to a large number of thin `HMI` devices in a local network – the creation of simultaneous OPC UA sessions is impractical or impossible for some reasons.\n\nFor this scenario we can apply the following work-flow:\n\n1. *OPC UA Server* prepares an UDP message representing the current state of the `Boiler #1` and if needed it gets a protection security token using the URI of the data from an external dictionary.\n2. *OPC UA Server* multicasts (one-to-many distribution) using UDP/IP protocol to remote consumers (e.g. thin `HMI` devices).\n3. Using the *BoilerType* a `HMI` device can be prepared in advance to display the state of the boiler and configured against the URI to display information about the `Boiler #1` - no *OPC UA Server* session is required but *BoilerType* must be known (no communication) in advance from the appropriate *OPC UA Information Model*\n4. Using preconfigured URI, `HMI` learns from the message that it contains information about Boiler `#1`, otherwise it neglects the message (local filtering approach)\n5. `HMI` browses local dictionaries (e.g. configuration files) to get an appropriate security token to follow the selected protection scenario. Synchronization of the dictionaries is a user dependent mechanism and does not require *OPC UA Server* engagement.\n6. `HMI` updates the screen using the message content and it is done.\n\n**Challenge 3**: A smart power meter - *AMQP Client* `(~123 USD)` shall expose current values related to `Consumer #1` in an *OPC UA Address Space* (also supporting embedded *AMQP Client*). Because there are ~123456 meters that must be handled, establishing so many simultaneous OPC UA session over the Internet is impractical or even impossible.\n\nFor this scenario we can apply the following work-flow:\n\n1. The meter (*AMQP client*) reads the information (related only to the AMQP connectivity) about the destination *AMQP client* (embedded part of the *OPC UA Server*) from its configuration file.\n2. The meter device prepared in advance using the *SmartPowerMeterType* creates a new AMQP message adding the URI of the `Consumer #1` and signs it using a private key - no *OPC UA Server* session is required but *SmartPowerMeterType* must be known (no communication) in advance from appropriate *OPC UA Information Model* (OPC UA interoperability is required).\n3. Finally, the meter sends the message using an *AMQP broker* - cloud approach.\n4. Embedded *AMQP client* of the *OPC UA Server* reads the message from the *AMQP Queue* and, using the URI of the `Consumer #1`, browses a global customers directory to find the sender certificate and get the public key to implement non-repudiation security algorithm (we are talking not only about power, but also about money!).\n5. Finally, *OPC UA Server* exposes the data (updates *Value* attributes of relevant *Variable* nodes) related to a virtual meter for `Consumer #1` in his **Address Space Management** component.\n6. *OPC UA Clients* connected to this server are updated over the sessions using the standard subscription mechanism.\n\n### Discoverable Data\n\nIn distributed systems the `OOI Reactive Application` and `UA Client` (see the diagram above) are interested in getting access to or update the data and they may not care about which particular server provides the data. In this case the data must be discoverable over the network. The `Semantic-Data` can be used to meet this requirement. In this approach, the data URI can be used as a key to browse the *Global Data Discovery System* (GDDS – an expanded version of GDS) to find recursively the destination *OPC UA Server* exposing the requested data. In this scenario we can use a well-known two-step process:\n\n1. discover the server using the resource (`Semantic-Data`) unique domain based identifier - URI;\n2. browse or update the data.\n\n**Challenge 4**: A `HMI` prepared in advance to display the state of boilers formally described by the *BoilerType* shall display the *Boiler #1* state but the server exposing the data is unknown and may change occasionally (e.g. non transparent redundancy).\n\nFor this scenario we can apply the following work-flow:\n\n1. `HMI` (*OPC UA Client*) using URI of the `Boiler #1` browses recursively *Global Data Discovery System* starting form a local server to find a discovery server having all needed information about the *OPC UA Server* exposing `Boiler #1` `Object` node representing a physical object named `Boiler #1`.\n2. `HMI` establishes *OPC UA Session* with the discovery server and gets all needed information.\n3. `HMI` establishes *OPC UA Session* with the destination *OPC UA Server* to subscribe for requested data and events.\n4. In case the current server has been shut down `HMI` repeats the procedure starting from 1 and connects to another server if any.\n\nThe data discovery mechanism is a part of the broader concept captured in the document [Global Data Discovery](../DataDiscovery/README.MD).\n\n## Semantic-Data Deployment\n\nMeaningful processing of the *OPC UA Data* by variety of applications is an important part of a broader concept described in the document [Object Oriented Internet](../README.md).\n\n<!--\nA detailed description of this solution is captured in the document [Content Description](./Readme.SemanticDataDeplyment.MD). The solution contains projects supporting deployment of the concept presented in this document.\n-->\n\nThe code illustrating networking of the `Semantic-Data` paradigm implementation can be found in the project [Reactive Networking of SemanticData Library](../Networking/SemanticData/README.MD).\n\nDescription of the `OOI Reactive Application` architecture is captured in the section [Semantic-Data Message Centric Communication](../Networking/README.MessageCentricCommunication.md).\n\n## How the code fits together\n\nFigure 1 visualizes dependencies across the code available in the `SemanticData` solution folder on the code map. This code map helps you see how the code fits together without reading through files and lines of code.\n\n![Figure 1 Architecture](../CommonResources/Media/SemanticData/UAOOI.SemanticData.Architecture.png)\n\n> For the sake of simplicity the unit tests have been removed from the diagram.\n\n[wordpress.HMI]:https://mpostol.wordpress.com/2013/08/11/opc-ua-makes-smart-user-interface-possible/\n[wordpress.opc-ua]: https://mpostol.wordpress.com/opc-ua/\n"
  },
  {
    "path": "SemanticData/SemanticData.playlist",
    "content": "<Playlist Version=\"1.0\"><Add Test=\"UAOOI.SemanticData.UANodeSetValidation.UANodeContextUnitTest.EqualsTest\" /><Add Test=\"UAOOI.SemanticData.UANodeSetValidation.UANodeContextUnitTest.GetDerivedInstances4ObjectTest\" /><Add Test=\"UAOOI.SemanticData.UANodeSetValidation.UnitTest.Helpers.HelpersUnitTest.TraceDiagnosticTestMethod1\" /><Add Test=\"UAOOI.SemanticData.UANodeSetValidation.UANodeContextUnitTest.CalculateNodeReferencesNullUANodeTest\" /><Add Test=\"UAOOI.SemanticData.UANodeSetValidation.UnitTest.ResourcesUnitTest.OpcUaNodeSet2TestMethod\" /><Add Test=\"UAOOI.SemanticData.UANodeSetValidation.UnitTest.Helpers.HelpersUnitTest.TraceDiagnosticTestMethod3\" /><Add Test=\"UAOOI.SemanticData.UANodeSetValidation.UnitTest.AddressSpaceContextUnitTest.AddressSpaceContextImportUANodeSetNullTestMethod1\" /><Add Test=\"UAOOI.SemanticData.UANodeSetValidation.UnitTest.AddressSpaceContextUnitTest.AddressSpaceContextImportUANodeSetNullTestMethod2\" /><Add Test=\"UAOOI.SemanticData.UANodeSetValidation.UnitTest.UANodeSetWithErrorsUnitTest.WrongAccessLevelTestMethod\" /><Add Test=\"UAOOI.SemanticData.UANodeSetValidation.NamespaceTableUnitTest.GetIndexOrAppend\" /><Add Test=\"UAOOI.SemanticData.UANodeSetValidation.UnitTest.UANodeSetWithErrorsUnitTest.WrongDisplayNameLength\" /><Add Test=\"UAOOI.SemanticData.UANodeSetValidation.UnitTest.UANodeSetWithErrorsUnitTest.WrongReference2PropertyTestMethod\" /><Add Test=\"UAOOI.SemanticData.UANodeSetValidation.NamespaceTableUnitTest.ConstructorTest\" /><Add Test=\"UAOOI.SemanticData.UANodeSetValidation.QualifiedNameUnitTest.NotEqualOperatorTest\" /><Add Test=\"UAOOI.SemanticData.UANodeSetValidation.UANodeContextUnitTest.ConstructorNodeIdTest\" /><Add Test=\"UAOOI.SemanticData.UANodeSetValidation.UnitTest.NodeSetUnitTest.UAVariableTypeTestMethod\" /><Add Test=\"UAOOI.SemanticData.UANodeSetValidation.UnitTest.AddressSpaceContextUnitTest.AddressSpaceReferencesContentCheck\" /><Add Test=\"UAOOI.SemanticData.UANodeSetValidation.UnitTest.UAModelContextUnitTest.AliasesConversionTest\" /><Add Test=\"UAOOI.SemanticData.UANodeSetValidation.NamespaceTableUnitTest.GetStringTest\" /><Add Test=\"UAOOI.SemanticData.UANodeSetValidation.UnitTest.UANodeSetWithErrorsUnitTest.WrongWriteMaskValue\" /><Add Test=\"UAOOI.SemanticData.UANodeSetValidation.ExtensionsUnitTest.LocalizedTextArraysEqualTest\" /><Add Test=\"UAOOI.SemanticData.UANodeSetValidation.UnitTest.NodeSetUnitTest.UADataTypeTestMethod\" /><Add Test=\"UAOOI.SemanticData.UANodeSetValidation.UANodeContextUnitTest.RemoveInheritedValuesTest\" /><Add Test=\"UAOOI.SemanticData.UANodeSetValidation.UnitTest.UANodeSetWithErrorsUnitTest.UndefinedHasSubtypeTestMethod\" /><Add Test=\"UAOOI.SemanticData.UANodeSetValidation.UnitTest.ServiceResultExceptionUnitTest.ServiceResultExceptionCreateTestMethod\" /><Add Test=\"UAOOI.SemanticData.UANodeSetValidation.UnitTest.UANodeSetWithErrorsUnitTest.NotSupportedFeature\" /><Add Test=\"UAOOI.SemanticData.UANodeSetValidation.UnitTest.AddressSpaceContextUnitTest.AddressSpaceContextNotExistingFileNameTestMethod\" /><Add Test=\"UAOOI.SemanticData.UANodeSetValidation.UnitTest.UANodeSetWithErrorsUnitTest.DuplicatedNodeIdTestMethod\" /><Add Test=\"UAOOI.SemanticData.UANodeSetValidation.NamespaceTableUnitTest.GetIndexTest\" /><Add Test=\"UAOOI.SemanticData.UANodeSetValidation.UANodeContextUnitTest.UpdateWithDifferentNodeIdTest\" /><Add Test=\"UAOOI.SemanticData.UANodeSetValidation.XML.UANodeSetUnitTest.NotEqualsInstancesTest\" /><Add Test=\"UAOOI.SemanticData.UANodeSetValidation.ExtensionsUnitTest.ArrayDimensionsToStringTestMethod\" /><Add Test=\"UAOOI.SemanticData.UANodeSetValidation.UnitTest.InformationModelFactoryUnitTest.InformationModelFactoryIExportVariableTypeFactoryTestMethod2\" /><Add Test=\"UAOOI.SemanticData.UANodeSetValidation.UnitTest.InformationModelFactoryUnitTest.InformationModelFactoryIExportObjectInstanceFactoryTestMethod2\" /><Add Test=\"UAOOI.SemanticData.UANodeSetValidation.UnitTest.AddressSpaceContextUnitTest.AddressSpaceContextValidateAndExportModelTestMethod4\" /><Add Test=\"UAOOI.SemanticData.UANodeSetValidation.UANodeContextUnitTest.UpdateNodeIdTest\" /><Add Test=\"UAOOI.SemanticData.UANodeSetValidation.UnitTest.ServiceResultExceptionUnitTest.ServiceResultExceptionCreateWithMessageTestMethod\" /><Add Test=\"UAOOI.SemanticData.UANodeSetValidation.XMLUANodeUnitTest.UANodeEquals\" /><Add Test=\"UAOOI.SemanticData.UANodeSetValidation.UnitTest.UANodeSetWithErrorsUnitTest.WrongBrowseName\" /><Add Test=\"UAOOI.SemanticData.UANodeSetValidation.UnitTest.AddressSpaceContextUnitTest.ImportObjectTestMethod\" /><Add Test=\"UAOOI.SemanticData.UANodeSetValidation.ExtensionsUnitTest.RolePermissionsEqualsTest\" /><Add Test=\"UAOOI.SemanticData.UANodeSetValidation.QualifiedNameUnitTest.EqualOperatorTest\" /><Add Test=\"UAOOI.SemanticData.UANodeSetValidation.XML.UANodeSetUnitTest.EqualsTypesTest\" /><Add Test=\"UAOOI.SemanticData.UANodeSetValidation.NamespaceTableUnitTest.GetStringArgumentOutOfRangeExceptionTest\" /><Add Test=\"UAOOI.SemanticData.UANodeSetValidation.NodeIdUnitTest.NodeIdGetHashCodeTestMethod\" /><Add Test=\"UAOOI.SemanticData.UANodeSetValidation.XML.UANodeSetUnitTest.EqualsInstancesTest\" /><Add Test=\"UAOOI.SemanticData.UANodeSetValidation.ExtensionsUnitTest.ReferencesEqualsTestMethod\" /><Add Test=\"UAOOI.SemanticData.UANodeSetValidation.UnitTest.Helpers.HelpersUnitTest.TraceDiagnosticTestMethod2\" /><Add Test=\"UAOOI.SemanticData.UANodeSetValidation.XML.UANodeSetUnitTest.RecalculateNodeIdsUANodeSetTest\" /><Add Test=\"UAOOI.SemanticData.UANodeSetValidation.XMLUANodeUnitTest.UAObjectEqualsTest\" /><Add Test=\"UAOOI.SemanticData.UANodeSetValidation.UnitTest.NodeSetUnitTest.WrongFileNFormatTestMethod\" /><Add Test=\"UAOOI.SemanticData.UANodeSetValidation.UnitTest.NodeSetUnitTest.UAObjectTypeTestMethod\" /><Add Test=\"UAOOI.SemanticData.UANodeSetValidation.UnitTest.UANodeSetWithErrorsUnitTest.WrongNodeId\" /><Add Test=\"UAOOI.SemanticData.UANodeSetValidation.UnitTest.InformationModelFactoryUnitTest.InformationModelFactoryIExportMethodInstanceFactoryTestMethod2\" /><Add Test=\"UAOOI.SemanticData.UANodeSetValidation.UnitTest.InformationModelFactoryUnitTest.InformationModelIExportDataTypeFactoryFactoryTestMethod2\" /><Add Test=\"UAOOI.SemanticData.UANodeSetValidation.UnitTest.NodeSetUnitTest.UAReferenceTestMethod\" /><Add Test=\"UAOOI.SemanticData.UANodeSetValidation.QualifiedNameUnitTest.EqualsTest\" /><Add Test=\"UAOOI.SemanticData.UANodeSetValidation.UnitTest.UAModelContextUnitTest.ConstructorTest\" /><Add Test=\"UAOOI.SemanticData.UANodeSetValidation.UnitTest.UANodeSetWithErrorsUnitTest.WrongInverseNameTestMethod\" /><Add Test=\"UAOOI.SemanticData.UANodeSetValidation.UANodeContextUnitTest.EqualsUAVariableTestMethod\" /><Add Test=\"UAOOI.SemanticData.UANodeSetValidation.UnitTest.UANodeSetWithErrorsUnitTest.ObjectEventNotifierOutOfRangeTestMethod\" /><Add Test=\"UAOOI.SemanticData.UANodeSetValidation.UnitTest.UANodeSetWithErrorsUnitTest.WrongValueRankTestMethod\" /><Add Test=\"UAOOI.SemanticData.UANodeSetValidation.UnitTest.UAModelContextUnitTest.ImportQualifiedNameTest\" /><Add Test=\"UAOOI.SemanticData.UANodeSetValidation.UnitTest.UANodeSetWithErrorsUnitTest.UndefinedHasComponentTargetTestMethod\" /><Add Test=\"UAOOI.SemanticData.UANodeSetValidation.UANodeContextUnitTest.BuildSymbolicIdTest\" /><Add Test=\"UAOOI.SemanticData.UANodeSetValidation.UnitTest.ResourcesUnitTest.ReadUADefinedTypesTestMethod\" /><Add Test=\"UAOOI.SemanticData.UANodeSetValidation.UnitTest.UAModelContextUnitTest.CreateUAModelContextAddressSpaceContextNull\" /><Add Test=\"UAOOI.SemanticData.UANodeSetValidation.UnitTest.InformationModelFactoryUnitTest.InformationModelFactoryIExportReferenceTypeFactoryTestMethod\" /><Add Test=\"UAOOI.SemanticData.UANodeSetValidation.UnitTest.UAModelContextUnitTest.CreateUAModelContextNodeAliasNull\" /><Add Test=\"UAOOI.SemanticData.UANodeSetValidation.XML.UANodeSetUnitTest.RemoveInheritedRemoveSameValuesTest\" /><Add Test=\"UAOOI.SemanticData.UANodeSetValidation.UnitTest.InformationModelFactoryUnitTest.InformationModelFactoryIExportObjectTypeFactoryTestMethod2\" /><Add Test=\"UAOOI.SemanticData.UANodeSetValidation.XMLUANodeUnitTest.UAInstanceEqualsTest\" /><Add Test=\"UAOOI.SemanticData.UANodeSetValidation.XMLUANodeUnitTest.UANodeEqualsTest\" /><Add Test=\"UAOOI.SemanticData.UANodeSetValidation.UnitTest.AddressSpaceContextUnitTest.AddressSpaceContextValidateAndExportModelTestMethod3\" /><Add Test=\"UAOOI.SemanticData.UANodeSetValidation.UANodeContextUnitTest.UpdateDuplicatedNodeIdTest\" /><Add Test=\"UAOOI.SemanticData.UANodeSetValidation.UANodeContextUnitTest.ExportBrowseNameTest\" /><Add Test=\"UAOOI.SemanticData.UANodeSetValidation.UnitTest.AddressSpaceContextUnitTest.AddressSpaceContextConstructorTest\" /><Add Test=\"UAOOI.SemanticData.UANodeSetValidation.UnitTest.AddressSpaceContextUnitTest.AddressSpaceContextValidateAndExportModel\" /><Add Test=\"UAOOI.SemanticData.UANodeSetValidation.XML.UANodeSetUnitTest.RemoveInheritedKeepDifferentValuesTest\" /><Add Test=\"UAOOI.SemanticData.UANodeSetValidation.XML.UANodeSetUnitTest.RecalculateNodeIdsUADataTypeTest\" /><Add Test=\"UAOOI.SemanticData.UANodeSetValidation.UnitTest.AddressSpaceContextUnitTest.AddressSpaceContextContentCheck\" /><Add Test=\"UAOOI.SemanticData.UANodeSetValidation.UnitTest.UANodeSetWithErrorsUnitTest.UndefinedHasTypeDefinitionTestMethod\" /><Add Test=\"UAOOI.SemanticData.UANodeSetValidation.UnitTest.InformationModelFactoryUnitTest.InformationModelFactoryIExportViewInstanceFactoryTestMethod2\" /><Add Test=\"UAOOI.SemanticData.UANodeSetValidation.XML.UANodeSetUnitTest.NodeClassEnumTest\" /><Add Test=\"UAOOI.SemanticData.UANodeSetValidation.UnitTest.UANodeSetWithErrorsUnitTest.DeploymentTestMethod\" /><Add Test=\"UAOOI.SemanticData.UANodeSetValidation.UANodeContextUnitTest.GetDerivedInstances4TypeDefinition\" /><Add Test=\"UAOOI.SemanticData.UANodeSetValidation.UnitTest.AddressSpaceContextUnitTest.ReferencesCheckConsistencyTest\" /><Add Test=\"UAOOI.SemanticData.UANodeSetValidation.UnitTest.InformationModelFactoryUnitTest.InformationModelFactoryIExportVariableInstanceFactoryTestMethod2\" /><Add Test=\"UAOOI.SemanticData.UANodeSetValidation.UANodeContextUnitTest.CalculateNodeReferencesNullFactoryTest\" /><Add Test=\"UAOOI.SemanticData.AddressSpacePrototyping.ProgramUnitTest.RunTheApplicationTestMethod\" /><Add Test=\"UAOOI.SemanticData.AddressSpaceTestTool.UnitTests.CommandLineSyntaxUnitTest.AllShortSwitchesTest\" /><Add Test=\"UAOOI.SemanticData.AddressSpaceTestTool.UnitTests.CommandLineSyntaxUnitTest.FilenamesTest\" /><Add Test=\"UAOOI.SemanticData.AddressSpaceTestTool.UnitTests.CommandLineSyntaxUnitTest.EmptyLineTest\" /><Add Test=\"UAOOI.SemanticData.AddressSpacePrototyping.ProgramUnitTest.DeploymentItemTestMethod\" /><Add Test=\"UAOOI.SemanticData.AddressSpaceTestTool.UnitTests.CommandLineSyntaxUnitTest.AllLongSwitchesTest\" /><Add Test=\"CAS.UA.Model.Designer.ImportExport.UT.NodeSetUnitTest.UAReferenceTestMethod\" /><Add Test=\"UAOOI.SemanticData.UAModelDesignExport.NodeFactoryBaseUnitTest.NodeFactoryExportTest\" /><Add Test=\"CAS.UA.Model.Designer.ImportExport.UT.NodeSetUnitTest.WrongFileNFormatTestMethod\" /><Add Test=\"CAS.UA.Model.Designer.ImportExport.UT.NodeSetUnitTest.UADataTypeTestMethod\" /><Add Test=\"UAOOI.SemanticData.UAModelDesignExport.ModelDesignExportUnitTest.ConstructorTestMethod\" /><Add Test=\"CAS.UA.Model.Designer.ImportExport.UT.NodeSetUnitTest.UAVariableTypeTestMethod\" /><Add Test=\"UAOOI.SemanticData.UAModelDesignExport.ModelFactoryUnitTest.NamespaceTest\" /><Add Test=\"UAOOI.SemanticData.UAModelDesignExport.DataTypeDefinitionFactoryBaseUnitTest.ConstructorTest\" /><Add Test=\"CAS.UA.Model.Designer.ImportExport.UT.NodeSetUnitTest.FileNotFoundTestMethod\" /><Add Test=\"UAOOI.SemanticData.UAModelDesignExport.DataTypeDefinitionFactoryBaseUnitTest.NewFieldTest\" /><Add Test=\"UAOOI.SemanticData.UAModelDesignExport.NodeFactoryBaseUnitTest.DescriptionTestMethod\" /><Add Test=\"UAOOI.SemanticData.UAModelDesignExport.ModelFactoryUnitTest.EEmptyModelTest\" /><Add Test=\"UAOOI.SemanticData.UAModelDesignExport.NodeFactoryBaseUnitTest.CreatorTestMethod\" /><Add Test=\"UAOOI.SemanticData.UAModelDesignExport.NodeFactoryBaseUnitTest.DisplayNameTestMethod\" /><Add Test=\"UAOOI.SemanticData.UAModelDesignExport.ModelDesignUnitTest.ConstructorTest\" /><Add Test=\"UAOOI.SemanticData.UAModelDesignExport.ExtensionsUnitTest.AddLocalizedTextTestMethod\" /><Add Test=\"CAS.UA.Model.Designer.ImportExport.UT.NodeSetUnitTest.UAObjectTypeTestMethod\" /><Add Test=\"UAOOI.SemanticData.UANodeSetValidation.UnitTest.InformationModelFactoryUnitTest.InformationModelFactoryIExportPropertyInstanceFactoryTestMethod2\" /><Add Test=\"UAOOI.SemanticData.UANodeSetValidation.UANodeContextUnitTest.CalculateNodeReferencesValidatorIsNullTest\" /><Add Test=\"UAOOI.SemanticData.UANodeSetValidation.XML.UANodeSetUnitTest.EqualsUAVariableTest\" /><Add Test=\"UAOOI.SemanticData.UANodeSetValidation.QualifiedNameUnitTest.ToStringTest\" /></Playlist>"
  },
  {
    "path": "SemanticData/SolutionConfiguration/SemanticData..SolutionConfiguration.csproj",
    "content": "<Project Sdk=\"Microsoft.NET.Sdk\">\n\n  <PropertyGroup>\n    <TargetFramework>netstandard2.0</TargetFramework>\n    <AssemblyName>UAOOI.SemanticData.SolutionConfiguration</AssemblyName>\n    <RootNamespace>UAOOI.SemanticData.SolutionConfiguration</RootNamespace>\n  </PropertyGroup>\n\n</Project>\n"
  },
  {
    "path": "SemanticData/SolutionConfiguration/Serialization/UAModelDesignerSolution.GoCS.cmd",
    "content": "﻿:: convert the scheme DomainDescriptor.xsd to cs code\nxsd.exe UAModelDesignerSolution.xsd /N:UAOOI.SemanticData.SolutionConfiguration.Serialization /c\n"
  },
  {
    "path": "SemanticData/SolutionConfiguration/Serialization/UAModelDesignerSolution.GoXSD.cmd",
    "content": "xsd.exe ..\\bin\\Debug\\UAOOI.SemanticData.SolutionConfiguration.dll /t:UAOOI.SemanticData.SolutionConfiguration.Serialization.UAModelDesignerSolution\n"
  },
  {
    "path": "SemanticData/SolutionConfiguration/Serialization/UAModelDesignerSolution.cs",
    "content": "﻿//__________________________________________________________________________________________________\n//\n//  Copyright (C) 2021, Mariusz Postol LODZ POLAND.\n//\n//  To be in touch join the community at GitHub: https://github.com/mpostol/OPC-UA-OOI/discussions\n//__________________________________________________________________________________________________\n\nusing System;\nusing System.IO;\nusing System.Runtime.Serialization;\n\nnamespace UAOOI.SemanticData.SolutionConfiguration.Serialization\n{\n  /// <summary>\n  /// Class UAModelDesignerSolution.\n  /// </summary>\n  public partial class UAModelDesignerSolution\n  {\n    /// <summary>\n    /// Creates an empty solution model.\n    /// </summary>\n    /// <returns>UAModelDesignerSolution.</returns>\n    internal static UAModelDesignerSolution CreateEmptyModel(string solutionName)\n    {\n      return new UAModelDesignerSolution()\n      {\n        Name = solutionName,\n        Projects = new UAModelDesignerProject[] { },\n        ServerDetails = UAModelDesignerSolutionServerDetails.CreateEmptyInstance()\n      };\n    }\n\n    [OnDeserialized()]\n    public void OnDeserialized(StreamingContext context)\n    {\n      ServerDetails = ServerDetails ?? UAModelDesignerSolutionServerDetails.CreateEmptyInstance();\n    }\n  }\n\n  /// <summary>\n  /// Class UAModelDesignerSolutionServerDetails - encapsulates details about the associated server configuration\n  /// </summary>\n  public partial class UAModelDesignerSolutionServerDetails\n  {\n    internal static UAModelDesignerSolutionServerDetails CreateEmptyInstance()\n    {\n      return new UAModelDesignerSolutionServerDetails() { codebase = string.Empty, configuration = string.Empty };\n    }\n  }\n\n  internal enum ResourceEntries { Token_ProjectFileName, DefaultCSVFileName, Project_FileDialogDefaultExt };\n\n  public partial class UAModelDesignerProject\n  {\n    internal static UAModelDesignerProject CreateEmpty(string name, Func<ResourceEntries, string> resource)\n    {\n      return new UAModelDesignerProject()\n      {\n        buildOutputDirectoryNameField = resource(ResourceEntries.Token_ProjectFileName),\n        cSVFileNameField = resource(ResourceEntries.DefaultCSVFileName),\n        fileNameField = Path.ChangeExtension(resource(ResourceEntries.Token_ProjectFileName), resource(ResourceEntries.Project_FileDialogDefaultExt)),\n        nameField = name,\n        ProjectIdentifier = Guid.NewGuid().ToString(),\n      };\n    }\n  }\n}"
  },
  {
    "path": "SemanticData/SolutionConfiguration/Serialization/UAModelDesignerSolution.design.cs",
    "content": "﻿//------------------------------------------------------------------------------\n// <auto-generated>\n//     This code was generated by a tool.\n//     Runtime Version:4.0.30319.42000\n//\n//     Changes to this file may cause incorrect behavior and will be lost if\n//     the code is regenerated.\n// </auto-generated>\n//------------------------------------------------------------------------------\n\n// \n// This source code was auto-generated by xsd, Version=4.6.1055.0.\n// \nnamespace UAOOI.SemanticData.SolutionConfiguration.Serialization\n{\n    using System.Xml.Serialization;\n    \n    \n    /// <remarks/>\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"xsd\", \"4.6.1055.0\")]\n    [System.SerializableAttribute()]\n    [System.Diagnostics.DebuggerStepThroughAttribute()]\n    [System.ComponentModel.DesignerCategoryAttribute(\"code\")]\n    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true)]\n    [System.Xml.Serialization.XmlRootAttribute(Namespace=\"\", IsNullable=false)]\n    public partial class UAModelDesignerSolution {\n        \n        private string nameField;\n        \n        private UAModelDesignerProject[] projectsField;\n        \n        private UAModelDesignerSolutionServerDetails serverDetailsField;\n        \n        /// <remarks/>\n        public string Name {\n            get {\n                return this.nameField;\n            }\n            set {\n                this.nameField = value;\n            }\n        }\n        \n        /// <remarks/>\n        [System.Xml.Serialization.XmlArrayItemAttribute(\"UAModelDesignerProject\", IsNullable=false)]\n        public UAModelDesignerProject[] Projects {\n            get {\n                return this.projectsField;\n            }\n            set {\n                this.projectsField = value;\n            }\n        }\n        \n        /// <remarks/>\n        public UAModelDesignerSolutionServerDetails ServerDetails {\n            get {\n                return this.serverDetailsField;\n            }\n            set {\n                this.serverDetailsField = value;\n            }\n        }\n    }\n    \n    /// <remarks/>\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"xsd\", \"4.6.1055.0\")]\n    [System.SerializableAttribute()]\n    [System.Diagnostics.DebuggerStepThroughAttribute()]\n    [System.ComponentModel.DesignerCategoryAttribute(\"code\")]\n    [System.Xml.Serialization.XmlTypeAttribute(TypeName = \"UAModelDesignerProject\", AnonymousType=false)]\n    public partial class UAModelDesignerProject {\n        \n        private string nameField;\n        \n        private string cSVFileNameField;\n        \n        private string buildOutputDirectoryNameField;\n        \n        private string fileNameField;\n        \n        private string projectIdentifierField;\n        \n        /// <remarks/>\n        public string Name {\n            get {\n                return this.nameField;\n            }\n            set {\n                this.nameField = value;\n            }\n        }\n        \n        /// <remarks/>\n        public string CSVFileName {\n            get {\n                return this.cSVFileNameField;\n            }\n            set {\n                this.cSVFileNameField = value;\n            }\n        }\n        \n        /// <remarks/>\n        public string BuildOutputDirectoryName {\n            get {\n                return this.buildOutputDirectoryNameField;\n            }\n            set {\n                this.buildOutputDirectoryNameField = value;\n            }\n        }\n        \n        /// <remarks/>\n        public string FileName {\n            get {\n                return this.fileNameField;\n            }\n            set {\n                this.fileNameField = value;\n            }\n        }\n        \n        /// <remarks/>\n        [System.Xml.Serialization.XmlAttributeAttribute()]\n        public string ProjectIdentifier {\n            get {\n                return this.projectIdentifierField;\n            }\n            set {\n                this.projectIdentifierField = value;\n            }\n        }\n    }\n    \n    /// <remarks/>\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"xsd\", \"4.6.1055.0\")]\n    [System.SerializableAttribute()]\n    [System.Diagnostics.DebuggerStepThroughAttribute()]\n    [System.ComponentModel.DesignerCategoryAttribute(\"code\")]\n    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true)]\n    public partial class UAModelDesignerSolutionServerDetails {\n        \n        private string codebaseField;\n        \n        private string configurationField;\n        \n        /// <remarks/>\n        [System.Xml.Serialization.XmlAttributeAttribute()]\n        public string codebase {\n            get {\n                return this.codebaseField;\n            }\n            set {\n                this.codebaseField = value;\n            }\n        }\n        \n        /// <remarks/>\n        [System.Xml.Serialization.XmlAttributeAttribute()]\n        public string configuration {\n            get {\n                return this.configurationField;\n            }\n            set {\n                this.configurationField = value;\n            }\n        }\n    }\n}\n"
  },
  {
    "path": "SemanticData/SolutionConfiguration/Serialization/UAModelDesignerSolution.xsd",
    "content": "﻿<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<xs:schema elementFormDefault=\"qualified\" xmlns:xs=\"http://www.w3.org/2001/XMLSchema\">\n  <xs:element name=\"UAModelDesignerSolution\">\n    <xs:complexType>\n      <xs:sequence>\n        <xs:element minOccurs=\"0\" maxOccurs=\"1\" name=\"Name\" type=\"xs:string\" />\n        <xs:element minOccurs=\"0\" maxOccurs=\"1\" name=\"Projects\" type=\"ArrayOfUAModelDesignerProject\" />\n        <xs:element minOccurs=\"0\" maxOccurs=\"1\" name=\"ServerDetails\">\n          <xs:complexType>\n            <xs:attribute name=\"codebase\" type=\"xs:string\" />\n            <xs:attribute name=\"configuration\" type=\"xs:string\" />\n          </xs:complexType>\n        </xs:element>\n      </xs:sequence>\n    </xs:complexType>\n  </xs:element>\n  <xs:complexType name=\"ArrayOfUAModelDesignerProject\">\n    <xs:sequence>\n      <xs:element minOccurs=\"0\" maxOccurs=\"unbounded\" name=\"UAModelDesignerProject\">\n        <xs:complexType>\n          <xs:sequence>\n            <xs:element minOccurs=\"0\" maxOccurs=\"1\" name=\"Name\" type=\"xs:string\" />\n            <xs:element minOccurs=\"0\" maxOccurs=\"1\" name=\"CSVFileName\" type=\"xs:string\" />\n            <xs:element minOccurs=\"0\" maxOccurs=\"1\" name=\"BuildOutputDirectoryName\" type=\"xs:string\" />\n            <xs:element minOccurs=\"0\" maxOccurs=\"1\" name=\"FileName\" type=\"xs:string\" />\n          </xs:sequence>\n          <xs:attribute name=\"ProjectIdentifier\" type=\"xs:string\" />\n        </xs:complexType>\n      </xs:element>\n    </xs:sequence>\n  </xs:complexType>\n</xs:schema>"
  },
  {
    "path": "SemanticData/StandardInformationModel.md",
    "content": "# Standard Information Model\n\n## Object Type\n\nThe `Object` `NodeClass` is used to define objects as parts involved in the underling real-time process. Each `Object` in the Address Space has an assigned object type. The OPC UA specification has defined a `BaseObjectType` from which all other `ObjectType`s shall either inherit, directly or indirectly.\n\nThe standard types derived from the `BaseObjectType` are listed in Table 1.\n\nTable 1 Standard Object Types\n\nName | Description\n:-|-\n`ServerType` |Instances of this type provide information about the server to the clients.\n`ServerCapabilitiesType`| Instances of this type define the capabilities supported by the OPC UA server.\n`ServerDiagnosticsType`| Instances of this type define diagnostic information about the OPC UA server.\n`SessionsDiagnosticsSummaryType` | Instances of this type define summary diagnostic information about the client sessions to the OPC UA server.\n`SessionDiagnosticsObjectType` | Instances of this type define diagnostic information about the client sessions to the OPC UA server.\n`VendorServerInfoType` | Instances of this type are placeholders Object for vendor-specific information about the server. This `ObjectType` defines an empty `ObjectType` that has no components and vendors should derive from this type to expose application specific information.\n`ServerRedundancyType` | Instances of this type define the redundancy capabilities supported by the OPC UA server.\n`BaseEventType` | Instances of this type define all general characteristics of an Event. All other `EventTypes` derive from it.\n`ModellingRuleType` |Instances of this type provide information that identifies what happens when an object of a given type is instantiated.  The instance of this type contains a property `NamingRule` which has the following values i.e. Optional, Mandatory, or Constraint.\n`FolderType`| Instances of this type are used to organize the Address Space into a hierarchy of nodes. They represent the root node of a subtree, and have no other semantics associated with them, except the `DisplayName` Attribute should imply the semantics associated with the use of it.\n`DataTypeEncodingType` | Objects of this type are used to define `DataType`s of `Variable`s `NodeClass`, e.g. “Default”, “UA Binary” or “XML”.\n`DataTypeSystemType` | Objects of this type are used to describe the serialization and deserialization process of the `Value` attributes.\n\nMany of these standard types are used for describing OPC UA Server functionality and to provide diagnostic information. The `BaseEventType` has many specialized subtypes to allow handling most common transient Events. System configuration changes, operator interaction and system errors are examples of Events. OPC UA Part 9 – Alarm and Conditions expands on this object type to define alarm and condition events.\n\n## Variable Type\n\nVariable is dedicated to provide a value to the clients. To define a variable two types must be provided (Figure 1):\n\n- VariableType:  which describes the type of a variable.  A Variable node has a `HasTypeDefinition` reference to its type definition (depicted as double closed and filled arrows).\n- DataType: which describes the type of the variable value. It is assigned to the `DataType` attribute.\n\n![Figure 1 Variable types relationship](../CommonResources/Media/SemanticData/StandardInformationModel.VariableType.png)\n\nIn this section we focus on the available standard variable types, but in the next one we will review standard data types.\n\nThe root for all `VariableType`s is `BaseVariableType` (Figure 2). This means that all other types must inherit from it. The `PropertyType` and the `BaseDataVariableType` are most important for information representation. Consequently, there are two independent inheritance sub-trees.\n\n![Figure 2 `VariableType`s inheritance hierarchy exposed by the server](../CommonResources/Media/SemanticData/StandardInformationModel.VariableTypesInheritanceHierarchy.PNG)\n\nBoth of the above-mentioned types have the same `BaseDataType`, which is abstract and defines a value that can have any valid type (Figure 3).  The double closed arrows point to the source of the `HasSubtype` reference. An interesting feature of these types is that even though they have an abstract `BaseDataType` both are concrete and therefore can be instantiated. Abstract `DataType`s do not have any encoding and cannot be exchanged on the wire; therefore the instantiated variables with an abstract `DataType` must redefine it. The `DataType` attribute can only be changed to a new one if it is a subtype of the original `DataType`.\n\n![Figure 3 BaseDataType association](../CommonResources/Media/SemanticData/StandardInformationModel.BaseDataTypeAssociation.png)\n\nDividing the variables into properties and data variables has its source in two different information categories: data and metadata. For example, data can represent a signal, say pressure, and metadata describes the data and can be engineering units in this example. Of course we are not limited to the process control domain; it can be also a file content as the data, and last modification time as the metadata. Both may change in time, but properties are recognized as more stable. Whereas talking about stability is useful only to better understand the semantics difference, this difference has a major impact on the data source access.\n\nUsually data is obtained from smart plant-floor digital devices responsible for converting analog signals to a digital representation. Therefore, to emphasize their origin, we call them real-time process data.\n\nThere are many sources of metadata including a human interface, memory of smart plug and play devices, etc. Usually any change of the metadata value exposed as a property is a result of an environment modification, e.g. a new sensor, new accessory, but also a file modification.\n\nIn spite of their role, both properties and variables must have a defined type of the provided value to allow clients to interpret a stream of bits sent on the wire and obtained by a client from the server.\n\nIt is worth stressing that, according to the specification, the inheritance chain is broken for the properties it means that the `PropertyType` must not have subtypes. Additionally, it is not permitted to have a Property as source of the `HierarchicalReference`s type or any type inherited from it. In other words properties cannot be complex. To prevent recursion, properties are also not allowed to have properties defined for them. Additionally, a node and all its properties shall always reside in the same server.\n\nFrom the inheritance tree of the standard variable types exposed by the server (Figure 2) we can discover that the `BaseDataVariableType` is a parent of two sets of types dedicated to:\n\n- describe data types, i.e. `DataTypeDictionaryType` and `DataTypeDescriptionType`,\n- provide diagnostic information. i.e. `ServerVendorCapabilityType`, `ServerStatusType`, etc.\n\n![Figure 4 VariableTypes to represent items of data](../CommonResources/Media/SemanticData/StandardInformationModel.VariableTypesRepresentingDataItems.PNG)\n\nUsers and other parts of OPC UA specification can expand the set of types presented above. For example, Part 8 of the specification defines `DataItemType` that derives from the `BaseDataVariableType` to represent any item of data (see Figure 4). Users can create new types from the already defined ones to meet specific requirements of the application (see example case below). A detailed description of the types derived from the `BaseDataVariableType` is beyond the scope of this chapter, but some features of this inheritance branch are worth noting. As opposed to the properties, the variables may be complex. One example of a complex `VariableType` is the `ServerStatusType` shown in Figure 5. Components of the complex variable can be accessed independently. The next very important future of the variables is that new user specific types can be freely defined by deriving them from those already defined.\n\n## Data Types\n\nThe type of data provided by the `Variable` `Value` attribute is defined by the associated `DataType`. `DataType` is pointed out by the `DataType` attribute of the `Variable` and `VariableType` nodes. The `DataType` attribute is of the `NodeId` type (Table 2). In many cases, the value of the `DataType` attribute – called `DataTypeId` – will be well-known to clients and servers. Well-known values of `DataTypeId` allow clients to use random addressing and interpret values without having to read the type description from the server. Therefore, servers may use well-known `DataTypeId` values without representing the corresponding `DataType` nodes in their Address Space.\n\n![Figure 5 ServerStatusType structure](../CommonResources/Media/SemanticData/StandardInformationModel.ServerStatusTypeStructure.PNG)\n\n`DataType` `NodeClass` is dedicated to describe types. In this case, the represented types have a special mission, because they describe data provided by the UA Server to clients. For example, a node of the DataType can provide information to clients that the data has a numeric value and the clients reading it can use this knowledge to interpret and process the obtained value – stream of bits.\n\nThe `BaseDataType` is the root of the inheritance tree. The simplified inheritance hierarchy of the standard data types is shown in Figure 6, where the whole sub-tree of built-in types are represented commonly by a single symbol.\n\nTable 2 Built-in Data Types\n\n|Name  |Description |\n:-|-\nBoolean | A two-state logical value (true or false).\nByte | An integer value between 0 and 256.\nByteString | A sequence of octets.\nDataValue | A data value with an associated status code and timestamps.\nDateTime | An instance in time.\nDiagnosticInfo | A structure that contains detailed error and diagnostic information associated with a StatusCode.\nDouble | An IEEE double precision (64 bit) floating point value.\nExpandedNodeId | A NodeId that allows the namespace URI to be specified instead of an index.\nExtensionObject | A structure that contains an application specific data type that may not be recognized by the receiver.\nFloat | An IEEE single precision (32 bit) floating point value.\nGUID | A 16 byte value that can be used as a globally unique identifier.\nInt16 | An integer value between -32768 and 32767.\nInt32 | An integer value between – 2147483648 and 2147483647.\nInt64 | An integer value between – 9223372036854775808 and 9223372036854775807\nLocalizedText | Human readable text with an optional locale identifier.\nNodeId | An identifier for a node in the Address Space of an OPC UA server.\nQualifiedName | A name qualified by a namespace.\nSByte | An integer value between -128 and 127.\nStatusCode | A numeric identifier for an error or condition that is associated with a value or an operation.\nString | A sequence of Unicode characters.\nUInt16 | An integer value between 0 and 65535.\nUInt32 | An integer value between 0 and 4294967295.\nUInt64 | An integer value between 0 and 18446744073709551615.\nVariant | A union of all of the types specified above.\nXmlElement | An XML element.\n\nTo some standard data types – called built-in types - special rules apply. Built-in data types have no encoding visible in the UA Address Space since the encoding should be known to all OPC UA products. Examples of built-in data types are `Int32` and `Double`. The built-in data types with a short description are listed in the Table 2\n\n![Figure 6 Standard DataTypes inheritance hierarchy](../CommonResources/Media/SemanticData/StandardInformationModel.StandardDataTypesInheritanceHierarchy.png)\n\nMost of the built-in types are similar to those known in other IT systems, except the `NodeId` type. This type needs some comments, because it is intended to be used by the random addressing mechanism to represent information allowing clients to uniquely identify and access the nodes. This built-in data type is a structure composed of:\n\n- `namespaceIndex` : numeric values used to identify namespace\n- `identifierType`: identifies the type of the `NodeId`, its format and its scope\n- `identifier`:  a unique identifier within the context of the namespace\n\nThe namespace is a URI (Unique Resource Identifier) that identifies the naming authority responsible for assigning the identifier element of the `NodeId`. Namespace URIs are identified by numeric values in OPC UA Services to permit a more efficient transfer and processing (e.g. table lookups).\n\nDepending on the application requirements, the `identifierType` field may have the following values:\n\n- NUMERIC: numeric\n- STRING: text string\n- GUID: Globally Unique Identifier\n- OPAQUE:  namespace specific format\n\nEnumeration (Figure 6) is the next standard data type derived directly from `BaseDataType`, that needs some comments. It is to be used to represent a limited set of simple information entities. Therefore it is a simple and abstract type. All enumerations, like `NodeClass`, have to inherit from it. All types inheriting from the `Enumeration` have a special processing for the encoding.\n\nProcess data could be complex. `Structure` (Figure 6) is an abstract data type defined as the base for all structured types. All data types inheriting from it have a special processing for the encoding. All complex data, if not defined explicitly as primitive in the specification, are created by defining of new types derived from the `Structure`.\n\nWhen complex data structures should be made available to the client there are basically three different approaches:\n\n- Create several simple variables using simple data types reflecting parts of the structure and map the data structure using these variables as object or variable components\n- Create a complex data type and a simple variable using data type derived from `Structure`\n- Create a complex data type and a complex variable using this data type and also exposing the complex data structure as variables of the complex variable using simple data types\n\nAn example of the first scenario is shown in Figure 5 where a variable of the `ServerStatusType` has components of a simple data type. Advantages of this approach:\n\n- the complex structure of data is visible in the Address Space\n- a generic client can easily access the data without any knowledge of user-defined data types\n- the client can access individual parts of complex data\n\nDisadvantages of the first approach are that accessing individual data does not provide any transactional context; and for a specific client the server first has to convert data and the client has to convert data, again, to get the data structure the underlying system provides.\n\n![Figure 7 ServerStatusDataType Structure](../CommonResources/Media/SemanticData/StandardInformationModel.ServerStatusDataTypeStructure.png)\n\nAn example of the second scenario is shown in Figure 7. Here, the same information as previously is available as a complex data type of the `ServerStatusDataType` that inherits from the Structure. The `ServerStatusDataType` arranges the server status data as a collection of fields. Advantages of this approach:\n\n- data is accessed in a transaction context,\n- the complex data type can be constructed in a way that the server does not have to convert data and can pass it directly to the specific client that can directly use it.\n\nDisadvantages are that the generic client might not be able to access and interpret the data or it has the burden to read the `DataTypeDescription` to interpret the data. The data structure is not visible in the Address Space; additional Properties describing the data structure cannot be added to the data type. Individual parts of data cannot be read without accessing the whole data structure.\n\nThe third approach combines both other approaches. The specific client can, therefore, access data in its native format in a transactional context, whereas the generic client can access the simple data types of the components of the complex variable. The disadvantage is that the server has to be able to provide the native format and also interpret it to be able to provide information in simple data types. In some SDK’s support for this mapping is provided automatically; for example the OPC .NET SDK will provide this mapping as part of its code generator for user defined types.\n\nWhen a transactional context is needed or the client should be able to get a large amount of data instead of subscribing to several individual values, the third approach is suitable. However, the server might not always have the knowledge how to interpret complex data or be able to have predefined structures for the complex data of the underlying system and it, therefore, has to use the second approach just passing data to the specific client who is able to interpret the data.\n\n## Reference Types\n\nReference types are used to create interconnections between nodes. They are not instantiated, i.e. a NodeClass representing a reference is not defined. Instead of instantiating the references, they are added to a collection associated with each node. NodeClass of the node and its type decide what references are allowed to be added to this collection.\nThe base of all references is an abstract References type (Figure 8). There is no semantics associated with it.\nThere are two disjoint sets of standard references:\n\n- `HierarchicalReferences`\n- `NonHierarchicalReferences`\n\n![Figure 8 Standard reference type hierarchy exposed by the server](../CommonResources/Media/SemanticData/StandardInformationModel.StandardReferenceTypehierarchy.PNG)\n\nThis distinction reflects two fundamental relationship categories that can be generally distinguished: the association and the dependency. Associations are used to build information architecture – nodes hierarchy - that can be discovered by the clients using the browsing mechanism. An example of the association is the parent/child relationship. In this case we can say that the target belongs to the source. A dependency from a source element (called the client) to a target element (called the supplier) indicates that the source element uses or depends on the target element. An example of dependency is the variable and variable type relationship. In this case we can state that the target describes the source.\n\n`HierarchicalReferences` do not forbid loops. For example, starting from node “A” and following `HierarchicalReferences` may lead to browse to node “A” again.\n\n`HasChild` is an abstract type derived from `HierarchicalReferences` that creates a branch of types, which forbids loops. In this case, starting from node “A” and only following references, which are subtypes of `HasChild`, we shall never be able to return to “A”. But it is allowed that there may be more than one path leading to another node “B”.\n\nThe `HasChild` branch contains `HasComponent` and `HasProperty`. Both are derived from the Aggregates type and used to reflect the parent – child relationship. There is also `HasSubtype` on this branch, but in this case it is used to expose the inheritance hierarchy.\n\nTable 3 `HasComponent` usage scope\n\nSource | Target\n-|-\nObject, ObjectType| Object, Variable, Method\nDataVariable, VariableType | Variable\n\nThe `HasComponent` is derived from the `Aggregates` (Figure 8) is defined to build the part of relationship, i.e. the target node of `HasComponent` is a part of the source node. This type is used to relate objects, object types, variables and methods. Table 3 contains the allowed composite nodes (source) and allowed components as the target of this type of reference. By using this reference, the variable is defined as a `DataVariable`.\n\nThe semantics of `HasProperty` derived from `Aggregates` (Figure 8) is to identify the properties of a node. The source node of this type can be of any `NodeClass`. The target node shall be a variable. By using the `HasProperty`, the variable is defined as `Property`. Since properties shall not have properties, a property shall never be the source node of a `HasProperty` reference.\n\n![Figure 9 `ServerType` definition exposed by the server](../CommonResources/Media/SemanticData/StandardInformationModel.ServerTypeDefinition.PNG)\n\nAn example of a complex object using the references described above is shown in Figure 9. The `ServerType` has `HasProperty` references pointing to the `ServerArray`, `NamespaceArray`, `ServiceLevel` and Auditing properties. The `ServerStatus` is a child variable pointed by a reference of the `HasComponent` type. Objects of this type have also components: `ServerCapabilities`, `ServerDiagnostics`, `VendorServerInfo`, `ServerRedundancy` objects pointed also by a reference of the `HasComponent` type.\n\nThe `HasSubtype` is a subtype of the `HasChild` type. It is worth noting, that inheritance using HasSubtype is represented using the one-to-many (parent/child) relationship. Because new types can be freely derived from the existing ones we cannot enumerate all children in advance - the tree must be built and maintained dynamically during the life-cycle of the Address Space. This means that when a new type is created it is created with a reference to its base (parent), which results in a new subtype being added to the parent.\n\nThe `Organizes` is the next subtype of `HierarchicalReferences`. The semantics of it is to organize nodes in the Address Space. It can be used to span multiple hierarchies independent of any hierarchy created with the non-looping `Aggregates` references. The source node of references of this type shall be an object or a view. If it is an object it should be an object of the `FolderType` or one of its subtypes. The target node of this type can be of any `NodeClass`.\n\n## State machines\n\nThe information model provides constructs that can be used to model discrete object behavior in terms of the states an object can reside in and the transitions that can happen between those states. State machines (see example in Figure 10) are built as objects graph using dedicated object types, variable types and reference types, whose behavior is governed by the rules that must be strictly observed.\n\n![Figure 10 Example of a simple state machine](../CommonResources/Media/SemanticData/StandardInformationModel.ExampleOfSimpleStateMachine.png)\n\nA state is a condition in which an object can be at some point during its lifetime, for some finite amount of time. A transition is a change of an object from one state (the source state) to another (the target state).  The transition is triggered (\"fires\") when an event of interest – cause - to a given object occurs. According to the information model concept, causes are represented in the form of methods that have to be called, but a vendor can define other items or have them be internal (i.e. nothing is listed causing the transition). There may also be an action associated with a triggered transition. This action called an effect is executed unconditionally before the object enters the target state. Effects are events that are generated.\n\n![Figure 11 Representation of the example state machine.](../CommonResources/Media/SemanticData/StandardInformationModel.StateMachineExample.png)\n\nThe simplified state machine model described above can be freely expanded to provide more complex functionality like sub-machines, parallel states, forks and joins, history states, choices and junctions, etc.\n\nState machines are represented in the Address Space as an object of a type derived from the `StateMachineType` that defines a single variable of the `StateVariableType`, which represents the current state of the machine. An instance of the `StateMachineType` shall generate an event whenever a state change occurs. Transitions are represented as objects of the `TransitionType`. Each valid transition shall have exactly one `FromState` reference and exactly one `ToState` reference, each pointing to an object of the `StateType`.\n\nUsing the above terminology we can represent any state machine from Figure 10 as a diagram shown in Figure 11. For this diagram it is assumed that `MyStateMachineType` is derived directly or indirectly from the `StateMachineType`. All states, transitions and methods are components of this type.\n\n## See also\n\n- [OPC Unified Architecture Specification Part 5: Information Model, OPC Foundation, Rel. 1.04, 2017-11-22][OPC.UA.Part5]\n- [UA Information Model - Concept]\n\n[UA Information Model - Concept]:InformationModelConcept.md\n[OPC.UA.Part5]:https://opcfoundation.org/developer-tools/specifications-unified-architecture/part-5-information-model/\n"
  },
  {
    "path": "SemanticData/Tests/AddressSpaceComplianceTestToolUnitTests/App.config",
    "content": "﻿<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<configuration>\n  <system.diagnostics>\n    <sources>\n      <source name=\"AddressSpacePrototyping\" switchValue=\"All\" switchType=\"System.Diagnostics.SourceSwitch\">\n        <listeners>\n          <add name=\"LogFile\" />\n          <remove name=\"Default\" />\n        </listeners>\n      </source>\n    </sources>\n    <sharedListeners>\n      <add name=\"LogFile\" type=\"System.Diagnostics.DelimitedListTraceListener\" initializeData=\"asp.log\" traceOutputOptions=\"DateTime\">\n        <filter type=\"System.Diagnostics.EventTypeFilter\" initializeData=\"All\" />\n      </add>\n    </sharedListeners>\n    <trace autoflush=\"true\" />\n  </system.diagnostics>\n  <runtime>\n    <assemblyBinding xmlns=\"urn:schemas-microsoft-com:asm.v1\">\n      <dependentAssembly>\n        <assemblyIdentity name=\"System.Runtime.CompilerServices.Unsafe\" publicKeyToken=\"b03f5f7f11d50a3a\" culture=\"neutral\" />\n        <bindingRedirect oldVersion=\"0.0.0.0-6.0.0.0\" newVersion=\"6.0.0.0\" />\n      </dependentAssembly>\n      <dependentAssembly>\n        <assemblyIdentity name=\"Castle.Core\" publicKeyToken=\"407dd0808d44fbdc\" culture=\"neutral\" />\n        <bindingRedirect oldVersion=\"0.0.0.0-5.0.0.0\" newVersion=\"5.0.0.0\" />\n      </dependentAssembly>\n    </assemblyBinding>\n  </runtime>\n</configuration>"
  },
  {
    "path": "SemanticData/Tests/AddressSpaceComplianceTestToolUnitTests/CommandLineSyntaxUnitTest.cs",
    "content": "﻿//___________________________________________________________________________________\n//\n//  Copyright (C) 2019, Mariusz Postol LODZ POLAND.\n//\n//  To be in touch join the community at GITTER: https://gitter.im/mpostol/OPC-UA-OOI\n//___________________________________________________________________________________\n\nusing CommandLine;\nusing Microsoft.VisualStudio.TestTools.UnitTesting;\nusing System.Collections.Generic;\nusing System.Linq;\nusing UAOOI.SemanticData.AddressSpacePrototyping.CommandLineSyntax;\n\nnamespace UAOOI.SemanticData.AddressSpaceTestTool.UnitTests\n{\n\n  [TestClass]\n  public class CommandLineSyntaxUnitTest\n  {\n    [TestMethod]\n    public void EmptyLineTest()\n    {\n      string[] emptyLine = new string[] {\"\" };\n      Options options = null;\n      List<Error> errors = null;\n      int doCount = 0;\n      emptyLine.Parse<Options>(x => { options = x; doCount++; }, y => errors = y.ToList<Error>());\n      Assert.IsNull(options);\n      Assert.IsNotNull(errors);\n      Assert.AreEqual<int>(1, errors.Count<Error>());\n      Assert.AreEqual<string>(\"CommandLine.MissingRequiredOptionError\", errors[0].ToString());\n      Assert.AreEqual<ErrorType>(ErrorType.MissingRequiredOptionError, errors[0].Tag);\n      Assert.AreEqual<int>(0, doCount);\n    }\n    [TestMethod]\n    public void FilenamesTest()\n    {\n      string[] _emptyLine = new string[] { \"AssemblyInfo.cs\", \"myproject.csproj\", \"-n\", \"http://a.b.c\" };\n      Options _return = null;\n      IEnumerable<Error> _errors = null;\n      _emptyLine.Parse<Options>(x => _return = x, y => _errors = y);\n      Assert.IsNotNull(_return);\n      Assert.IsNull(_errors);\n      Assert.IsNotNull(_return.Filenames);\n      Assert.AreEqual<int>(2, _return.Filenames.Count());\n      string[] _files = _return.Filenames.ToArray<string>();\n      Assert.AreEqual<string>(\"AssemblyInfo.cs\", _files[0]);\n      Assert.AreEqual<string>(\"myproject.csproj\", _files[1]);\n    }\n    [TestMethod]\n    public void AllLongSwitchesTest()\n    {\n      string[] _emptyLine = new string[] { \"App_Data/cachefile.json\", \"App_Data/cachefile2.json\", \"--namespace=XSLTName\", \"--export=ModelDesign.xml\", \"--stylesheet=XMLstylesheet\", \"--nologo\" };\n      Options _return = null;\n      IEnumerable<Error> _errors = null;\n      _emptyLine.Parse<Options>(x => _return = x, y => _errors = y);\n      Assert.IsNotNull(_return);\n      Assert.IsNull(_errors);\n      Assert.IsNotNull(_return.Filenames);\n      Assert.AreEqual<int>(2, _return.Filenames.Count());\n      string[] _files = _return.Filenames.ToArray<string>();\n      Assert.AreEqual<string>(\"App_Data/cachefile.json\", _files[0]);\n      Assert.AreEqual<string>(\"App_Data/cachefile2.json\", _files[1]);\n      Assert.AreEqual<string>(\"XSLTName\", _return.IMNamespace);\n      Assert.AreEqual<string>(\"ModelDesign.xml\", _return.ModelDesignFileName);\n      Assert.IsTrue(_return.NoLogo);\n      Assert.AreEqual<string>(\"XMLstylesheet\", _return.Stylesheet);  \n    }\n    [TestMethod]\n    public void AllShortSwitchesTest()\n    {\n      string[] _emptyLine = new string[] { \"App_Data/cachefile.json\", \"App_Data/cachefile2.json\", \"-n\", \"http://a.b.c\", \"-e\", \"ModelDesign.xml\", \"-s\", \"XMLstylesheet\", \"--nologo\" };\n      Options _return = null;\n      IEnumerable<Error> _errors = null;\n      _emptyLine.Parse<Options>(x => _return = x, y => _errors = y);\n      Assert.IsNotNull(_return);\n      Assert.IsNull(_errors);\n      Assert.IsNotNull(_return.Filenames);\n      Assert.AreEqual<int>(2, _return.Filenames.Count());\n      string[] _files = _return.Filenames.ToArray<string>();\n      Assert.AreEqual<string>(\"App_Data/cachefile.json\", _files[0]);\n      Assert.AreEqual<string>(\"App_Data/cachefile2.json\", _files[1]);\n      Assert.AreEqual<string>(\"http://a.b.c\", _return.IMNamespace);\n      Assert.AreEqual<string>(\"ModelDesign.xml\", _return.ModelDesignFileName);\n      Assert.IsTrue(_return.NoLogo);\n      Assert.AreEqual<string>(\"XMLstylesheet\", _return.Stylesheet);\n    }\n  }\n}\n"
  },
  {
    "path": "SemanticData/Tests/AddressSpaceComplianceTestToolUnitTests/DoDisplayHelp.cmd",
    "content": "asp --help --version\n"
  },
  {
    "path": "SemanticData/Tests/AddressSpaceComplianceTestToolUnitTests/DoExport Boiler.cmd",
    "content": "asp \"XMLModels\\tempuri.org.UA.Examples.BoilerType.NodeSet2.xml\" \"XMLModels\\Commsvr.UA.Examples.BoilersSet.NodeSet2.xml\" -e \"XMLModels\\BoilerType.ModelDesign.xml\" -s XMLstylesheet -n \"http://tempuri.org/UA/Examples/BoilerType\"\n"
  },
  {
    "path": "SemanticData/Tests/AddressSpaceComplianceTestToolUnitTests/DoExport.cmd",
    "content": "asp \"XMLModels\\DataTypeTest.NodeSet2.xml\" \"XMLModels\\ReferenceTest.NodeSet2.xml\" \"XMLModels\\ObjectTypeTest.NodeSet2.xml\" \"XMLModels\\VariableTypeTest.NodeSet2.xml\" -e \"XMLModels\\DataTypeTest.ModelDesign.xml\" -s XMLstylesheet -n \"http://cas.eu/UA/CommServer/UnitTests/DataTypeTest\"\n"
  },
  {
    "path": "SemanticData/Tests/AddressSpaceComplianceTestToolUnitTests/DoValidate.cmd",
    "content": "asp \"XMLModels\\DataTypeTest.NodeSet2.xml\" \"XMLModels\\ReferenceTest.NodeSet2.xml\" \"XMLModels\\ObjectTypeTest.NodeSet2.xml\" \"XMLModels\\VariableTypeTest.NodeSet2.xml\"\n"
  },
  {
    "path": "SemanticData/Tests/AddressSpaceComplianceTestToolUnitTests/DoValidateBoiler.cmd",
    "content": "asp \"XMLModels\\tempuri.org.UA.Examples.BoilerType.NodeSet2.xml\" \"XMLModels\\Commsvr.UA.Examples.BoilersSet.NodeSet2.xml\"\n"
  },
  {
    "path": "SemanticData/Tests/AddressSpaceComplianceTestToolUnitTests/Instrumentation/Extensions.cs",
    "content": "﻿//__________________________________________________________________________________________________\n//\n//  Copyright (C) 2021, Mariusz Postol LODZ POLAND.\n//\n//  To be in touch join the community at GitHub: https://github.com/mpostol/OPC-UA-OOI/discussions\n//__________________________________________________________________________________________________\n\nusing Microsoft.VisualStudio.TestTools.UnitTesting;\nusing System.Diagnostics;\nusing System.Reflection;\n\nnamespace UAOOI.SemanticData.AddressSpacePrototyping.Instrumentation\n{\n  /// <summary>\n  /// Class Extensions to get access to non public field of the <see cref=\"DelimitedListTraceListener\"/>\n  /// </summary>\n  internal static class Extensions\n  {\n\n    internal static string GetFileName(this DelimitedListTraceListener _listener)\n    {\n      FieldInfo fi = typeof(TextWriterTraceListener).GetField(\"fileName\", BindingFlags.NonPublic | BindingFlags.Instance);\n      Assert.IsNotNull(fi);\n      return (string)fi.GetValue(_listener);\n    }\n\n  }\n}\n"
  },
  {
    "path": "SemanticData/Tests/AddressSpaceComplianceTestToolUnitTests/ProgramUnitTest.cs",
    "content": "﻿//__________________________________________________________________________________________________\n//\n//  Copyright (C) 2022, Mariusz Postol LODZ POLAND.\n//\n//  To be in touch join the community at GitHub: https://github.com/mpostol/OPC-UA-OOI/discussions\n//__________________________________________________________________________________________________\n\nusing Microsoft.VisualStudio.TestTools.UnitTesting;\nusing Moq;\nusing System;\nusing System.Collections.Generic;\nusing System.Diagnostics;\nusing System.IO;\nusing System.Threading.Tasks;\nusing UAOOI.Common.Infrastructure.Diagnostic;\nusing UAOOI.SemanticData.AddressSpace.Abstractions;\nusing UAOOI.SemanticData.AddressSpacePrototyping.CommandLineSyntax;\nusing UAOOI.SemanticData.UANodeSetValidation.XML;\n\nnamespace UAOOI.SemanticData.AddressSpacePrototyping\n{\n  [TestClass]\n  [DeploymentItem(@\"XMLModels\\\", @\"XMLModels\\\")]\n  public class ProgramUnitTest\n  {\n    [TestMethod]\n    public void DeploymentItemTestMethod()\n    {\n      FileInfo _testDataFileInfo = new FileInfo(@\"XMLModels\\DataTypeTest.NodeSet2.xml\");\n      Assert.IsTrue(_testDataFileInfo.Exists);\n    }\n\n    [TestMethod]\n    public void ConstructorTest()\n    {\n      Program programInstance = new Program();\n      ITraceSource currentLogger = null;\n      programInstance.GetTraceSource(x => currentLogger = x);\n      Assert.IsNotNull(currentLogger);\n    }\n\n    [TestMethod]\n    public async Task EmptyArgsTest()\n    {\n      Program programInstance = new Program();\n      Mock<ITraceSource> mockLogerr = new Mock<ITraceSource>();\n      mockLogerr.Setup(x => x.TraceData(It.IsAny<TraceEventType>(), It.IsAny<int>(), It.IsAny<string>()));\n      programInstance.DebugITraceSource = mockLogerr.Object;\n      await programInstance.Run(new string[] { });\n      mockLogerr.Verify(x => x.TraceData(It.IsAny<TraceEventType>(), It.IsAny<int>(), It.IsAny<string>()), Times.Exactly(2));\n    }\n\n    [TestMethod]\n    public async Task RunTheApplicationTestMethod()\n    {\n      Program program = new Program();\n      await program.Run(new string[] { @\"XMLModels\\DataTypeTest.NodeSet2.xml\" });\n    }\n\n    [TestMethod]\n    public void OptionsTestMethod()\n    {\n      Mock<IAddressSpaceContext> asMock = new Mock<IAddressSpaceContext>();\n      asMock.Setup(x => x.ImportUANodeSet(It.IsAny<UANodeSet>()));\n      Program program = new Program();\n\n      Options options = new Options() { Filenames = null, IMNamespace = \"bleble\", ModelDesignFileName = string.Empty, NoLogo = true, Stylesheet = string.Empty };\n      Assert.ThrowsException<ArgumentOutOfRangeException>(() => program.DoValidateAndExportModel(options, asMock.Object));\n      asMock.Verify(x => x.ImportUANodeSet(It.IsAny<UANodeSet>()), Times.Never);\n\n      options = new Options() { Filenames = new List<string>() { \"\" }, IMNamespace = \"bleble\", ModelDesignFileName = string.Empty, NoLogo = true, Stylesheet = string.Empty };\n      Assert.ThrowsException<UriFormatException>(() => program.DoValidateAndExportModel(options, asMock.Object));\n      asMock.Verify(x => x.ImportUANodeSet(It.IsAny<UANodeSet>()), Times.Never);\n\n      options = new Options() { Filenames = new List<string>() { @\"XMLModels\\DataTypeTest.NodeSet2.xml\" }, IMNamespace = String.Empty, ModelDesignFileName = string.Empty, NoLogo = true, Stylesheet = string.Empty };\n      Assert.ThrowsException<ArgumentOutOfRangeException>(() => program.DoValidateAndExportModel(options, asMock.Object));\n      asMock.Verify(x => x.ImportUANodeSet(It.IsAny<UANodeSet>()), Times.Never);\n    }\n\n    [TestMethod]\n    public void FileNotFounTest()\n    {\n      Mock<IAddressSpaceContext> asMock = new Mock<IAddressSpaceContext>();\n      asMock.Setup(x => x.ImportUANodeSet(It.IsAny<UANodeSet>()));\n      Program program = new Program();\n      Options options = new Options() { Filenames = new List<string>() { \"bleble\" }, IMNamespace = \"http://cas.eu/UA/CommServer/UnitTests/DataTypeTest\", ModelDesignFileName = string.Empty, NoLogo = true, Stylesheet = string.Empty };\n      Assert.ThrowsException<FileNotFoundException>(() => program.DoValidateAndExportModel(options, asMock.Object));\n      asMock.Verify(x => x.ImportUANodeSet(It.IsAny<UANodeSet>()), Times.Once);\n    }\n\n    [TestMethod]\n    public void ValidateExistingModelTest()\n    {\n      Mock<IAddressSpaceContext> asMock = new Mock<IAddressSpaceContext>();\n      asMock.Setup(x => x.ImportUANodeSet(It.IsAny<UANodeSet>()));\n      Program program = new Program();\n      Options options = new Options() { Filenames = new List<string>() { @\"XMLModels\\DataTypeTest.NodeSet2.xml\" }, IMNamespace = \"http://cas.eu/UA/CommServer/UnitTests/DataTypeTest\", ModelDesignFileName = string.Empty, NoLogo = true, Stylesheet = string.Empty };\n      program.DoValidateAndExportModel(options, asMock.Object);\n      asMock.Verify(x => x.ImportUANodeSet(It.IsAny<UANodeSet>()), Times.Exactly(2));\n    }\n  }\n}"
  },
  {
    "path": "SemanticData/Tests/AddressSpaceComplianceTestToolUnitTests/Properties/AssemblyInfo.cs",
    "content": "﻿//_______________________________________________________________\n//  Title   : Assembly info for: AddressSpaceComplianceTestToolUnitTests\n//  System  : Microsoft VisualStudio 2015 / C#\n//\n//  Copyright (C) 2022 Mariusz Postol LODZ POLAND\n//  +48 608 619 899\n//  mpostol@cas.eu\n//  https://github.com/mpostol/OPC-UA-OOI\n//_______________________________________________________________\n\nusing System.Reflection;\nusing System.Runtime.CompilerServices;\nusing System.Runtime.InteropServices;\n\n[assembly: AssemblyTitle(\"AddressSpaceComplianceTestToolUnitTests\")]\n[assembly: AssemblyDescription(\"Command Line OPC UA Address Space Compliance Test Tool UnitTests\")]\n[assembly: AssemblyConfiguration(\"\")]\n[assembly: AssemblyCompany(\"Mariusz Postol\")]\n[assembly: AssemblyProduct(\"Object Oriented Internet\")]\n[assembly: AssemblyCopyright(\"Copyright (C) 2022 Mariusz Postol LODZ POLAND\")]\n[assembly: AssemblyTrademark(\"Object Oriented Internet\")]\n[assembly: AssemblyCulture(\"\")]\n[assembly: ComVisible(false)]\n[assembly: Guid(\"f0e97198-9cea-4cb8-a0b2-61eeca42eeca\")]\n[assembly: AssemblyVersion(\"6.5.6.*\")]\n[assembly: AssemblyFileVersion(\"6.5.6\")]\n\n"
  },
  {
    "path": "SemanticData/Tests/AddressSpaceComplianceTestToolUnitTests/Properties/AssemblyInfo.tt",
    "content": "﻿<#@ template debug=\"false\" hostspecific=\"false\" language=\"C#\" #>\n<#@ output extension=\".cs\" #>\n//_______________________________________________________________\n//  Title   : Assembly info for: <#=m_AssemblyTitle#>\n//  System  : Microsoft VisualStudio 2015 / C#\n//\n//  <#=AssemblyCopyright#>\n//  <#=Phone#>\n//  <#=Email#>\n//  <#=Url#>\n//_______________________________________________________________\n\nusing System.Reflection;\nusing System.Runtime.CompilerServices;\nusing System.Runtime.InteropServices;\n\n[assembly: AssemblyTitle(\"<#=m_AssemblyTitle#>\")]\n[assembly: AssemblyDescription(\"Command Line OPC UA Address Space Compliance Test Tool UnitTests\")]\n[assembly: AssemblyConfiguration(\"\")]\n[assembly: AssemblyCompany(\"<#=AssemblyCompany#>\")]\n[assembly: AssemblyProduct(\"<#=SemanticDataProduct#>\")]\n[assembly: AssemblyCopyright(\"<#=AssemblyCopyright#>\")]\n[assembly: AssemblyTrademark(\"<#=ProductTrademark#>\")]\n[assembly: AssemblyCulture(\"\")]\n[assembly: ComVisible(false)]\n[assembly: Guid(\"f0e97198-9cea-4cb8-a0b2-61eeca42eeca\")]\n[assembly: AssemblyVersion(\"<#= SemanticDataVersion #>.*\")]\n[assembly: AssemblyFileVersion(\"<#= SemanticDataVersion #>\")]\n\n<#@ include file = \"..\\..\\..\\..\\CommonResources\\T4Definitions\\Model.t4\" #>\n<#+\nstring m_AssemblyTitle = \"AddressSpaceComplianceTestToolUnitTests\";\n#>\n"
  },
  {
    "path": "SemanticData/Tests/AddressSpaceComplianceTestToolUnitTests/SemanticData.AddressSpaceComplianceTestTool.UnitTests.csproj",
    "content": "﻿<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<Project ToolsVersion=\"12.0\" DefaultTargets=\"Build\" xmlns=\"http://schemas.microsoft.com/developer/msbuild/2003\">\n  <Import Project=\"..\\..\\..\\packages\\MSTest.TestAdapter.2.2.10\\build\\net46\\MSTest.TestAdapter.props\" Condition=\"Exists('..\\..\\..\\packages\\MSTest.TestAdapter.2.2.10\\build\\net46\\MSTest.TestAdapter.props')\" />\n  <PropertyGroup>\n    <Configuration Condition=\" '$(Configuration)' == '' \">Debug</Configuration>\n    <Platform Condition=\" '$(Platform)' == '' \">AnyCPU</Platform>\n    <ProjectGuid>{37D26B63-74FE-45C6-9F61-251BDF69EDF7}</ProjectGuid>\n    <OutputType>Library</OutputType>\n    <AppDesignerFolder>Properties</AppDesignerFolder>\n    <RootNamespace>UAOOI.SemanticData.AddressSpaceTestTool.UnitTests</RootNamespace>\n    <AssemblyName>AddressSpaceComplianceTestToolUnitTests</AssemblyName>\n    <TargetFrameworkVersion>v4.7.2</TargetFrameworkVersion>\n    <FileAlignment>512</FileAlignment>\n    <ProjectTypeGuids>{3AC096D0-A1C2-E12C-1390-A8335801FDAB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>\n    <VisualStudioVersion Condition=\"'$(VisualStudioVersion)' == ''\">10.0</VisualStudioVersion>\n    <VSToolsPath Condition=\"'$(VSToolsPath)' == ''\">$(MSBuildExtensionsPath32)\\Microsoft\\VisualStudio\\v$(VisualStudioVersion)</VSToolsPath>\n    <ReferencePath>$(ProgramFiles)\\Common Files\\microsoft shared\\VSTT\\$(VisualStudioVersion)\\UITestExtensionPackages</ReferencePath>\n    <IsCodedUITest>False</IsCodedUITest>\n    <TestProjectType>UnitTest</TestProjectType>\n    <TargetFrameworkProfile />\n    <NuGetPackageImportStamp>\n    </NuGetPackageImportStamp>\n  </PropertyGroup>\n  <PropertyGroup Condition=\" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' \">\n    <DebugSymbols>true</DebugSymbols>\n    <DebugType>full</DebugType>\n    <Optimize>false</Optimize>\n    <OutputPath>bin\\Debug\\</OutputPath>\n    <DefineConstants>DEBUG;TRACE</DefineConstants>\n    <ErrorReport>prompt</ErrorReport>\n    <WarningLevel>4</WarningLevel>\n    <UseVSHostingProcess>false</UseVSHostingProcess>\n    <NoWarn>IDE0001,IDE0002,IDE0003;IDE0049</NoWarn>\n  </PropertyGroup>\n  <PropertyGroup Condition=\" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' \">\n    <DebugType>pdbonly</DebugType>\n    <Optimize>true</Optimize>\n    <OutputPath>bin\\Release\\</OutputPath>\n    <DefineConstants>TRACE</DefineConstants>\n    <ErrorReport>prompt</ErrorReport>\n    <WarningLevel>4</WarningLevel>\n  </PropertyGroup>\n  <PropertyGroup>\n    <SignAssembly>true</SignAssembly>\n  </PropertyGroup>\n  <PropertyGroup>\n    <AssemblyOriginatorKeyFile>OPCUAOOIKey.snk</AssemblyOriginatorKeyFile>\n  </PropertyGroup>\n  <ItemGroup>\n    <Reference Include=\"Castle.Core, Version=5.0.0.0, Culture=neutral, PublicKeyToken=407dd0808d44fbdc, processorArchitecture=MSIL\">\n      <HintPath>..\\..\\..\\packages\\Castle.Core.5.0.0\\lib\\net462\\Castle.Core.dll</HintPath>\n    </Reference>\n    <Reference Include=\"CommandLine, Version=2.9.1.0, Culture=neutral, PublicKeyToken=5a870481e358d379, processorArchitecture=MSIL\">\n      <HintPath>..\\..\\..\\packages\\CommandLineParser.2.9.1\\lib\\net461\\CommandLine.dll</HintPath>\n    </Reference>\n    <Reference Include=\"CommonServiceLocator, Version=2.0.6.0, Culture=neutral, PublicKeyToken=489b6accfaf20ef0, processorArchitecture=MSIL\">\n      <HintPath>..\\..\\..\\packages\\CommonServiceLocator.2.0.6\\lib\\net47\\CommonServiceLocator.dll</HintPath>\n    </Reference>\n    <Reference Include=\"Microsoft.VisualStudio.TestPlatform.TestFramework, Version=14.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL\">\n      <HintPath>..\\..\\..\\packages\\MSTest.TestFramework.2.2.10\\lib\\net45\\Microsoft.VisualStudio.TestPlatform.TestFramework.dll</HintPath>\n    </Reference>\n    <Reference Include=\"Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions, Version=14.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL\">\n      <HintPath>..\\..\\..\\packages\\MSTest.TestFramework.2.2.10\\lib\\net45\\Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.dll</HintPath>\n    </Reference>\n    <Reference Include=\"Moq, Version=4.18.0.0, Culture=neutral, PublicKeyToken=69f491c39445e920, processorArchitecture=MSIL\">\n      <HintPath>..\\..\\..\\packages\\Moq.4.18.1\\lib\\net462\\Moq.dll</HintPath>\n    </Reference>\n    <Reference Include=\"System\" />\n    <Reference Include=\"System.Configuration\" />\n    <Reference Include=\"System.Runtime.CompilerServices.Unsafe, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL\">\n      <HintPath>..\\..\\..\\packages\\System.Runtime.CompilerServices.Unsafe.6.0.0\\lib\\net461\\System.Runtime.CompilerServices.Unsafe.dll</HintPath>\n    </Reference>\n    <Reference Include=\"System.Threading.Tasks.Extensions, Version=4.2.0.1, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL\">\n      <HintPath>..\\..\\..\\packages\\System.Threading.Tasks.Extensions.4.5.4\\lib\\net461\\System.Threading.Tasks.Extensions.dll</HintPath>\n    </Reference>\n    <Reference Include=\"UAOOI.Common.Infrastructure, Version=6.4.6.0, Culture=neutral, PublicKeyToken=deede3c2df331bb0, processorArchitecture=MSIL\">\n      <HintPath>..\\..\\..\\packages\\UAOOI.Common.Infrastructure.6.4.7\\lib\\netstandard2.0\\UAOOI.Common.Infrastructure.dll</HintPath>\n    </Reference>\n  </ItemGroup>\n  <Choose>\n    <When Condition=\"('$(VisualStudioVersion)' == '10.0' or '$(VisualStudioVersion)' == '') and '$(TargetFrameworkVersion)' == 'v3.5'\">\n      <ItemGroup>\n        <Reference Include=\"Microsoft.VisualStudio.QualityTools.UnitTestFramework, Version=10.1.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL\" />\n      </ItemGroup>\n    </When>\n    <Otherwise />\n  </Choose>\n  <ItemGroup>\n    <Compile Include=\"Instrumentation\\Extensions.cs\" />\n    <Compile Include=\"ProgramUnitTest.cs\" />\n    <Compile Include=\"Properties\\AssemblyInfo.cs\">\n      <AutoGen>True</AutoGen>\n      <DesignTime>True</DesignTime>\n      <DependentUpon>AssemblyInfo.tt</DependentUpon>\n    </Compile>\n    <Compile Include=\"CommandLineSyntaxUnitTest.cs\" />\n    <Compile Include=\"TraceSourceBaseUnitTest.cs\" />\n  </ItemGroup>\n  <ItemGroup>\n    <ProjectReference Include=\"..\\..\\AddressSpaceComplianceTestTool\\SemanticData.AddressSpaceComplianceTestTool.csproj\">\n      <Project>{05db9e60-b12b-4aa3-8a7c-514f87cff464}</Project>\n      <Name>SemanticData.AddressSpaceComplianceTestTool</Name>\n    </ProjectReference>\n    <ProjectReference Include=\"..\\..\\InformationModelFactory\\SemanticData.InformationModelFactory.csproj\">\n      <Project>{6D20785D-0451-46A9-9AC2-EC66B7C0D18A}</Project>\n      <Name>SemanticData.InformationModelFactory</Name>\n    </ProjectReference>\n    <ProjectReference Include=\"..\\..\\UANodeSetValidation\\SemanticData.UANodeSetValidation.csproj\">\n      <Project>{352378A0-8B2E-4679-BB44-FD0BCC8467D9}</Project>\n      <Name>SemanticData.UANodeSetValidation</Name>\n    </ProjectReference>\n  </ItemGroup>\n  <ItemGroup>\n    <None Include=\"App.config\" />\n    <None Include=\"DoDisplayHelp.cmd\">\n      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>\n    </None>\n    <None Include=\"DoExport Boiler.cmd\">\n      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>\n    </None>\n    <None Include=\"DoExport.cmd\">\n      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>\n    </None>\n    <None Include=\"DoValidate.cmd\">\n      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>\n    </None>\n    <None Include=\"DoValidateBoiler.cmd\">\n      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>\n    </None>\n    <None Include=\"OPCUAOOIKey.snk\" />\n    <None Include=\"packages.config\" />\n    <None Include=\"Properties\\AssemblyInfo.tt\">\n      <Generator>TextTemplatingFileGenerator</Generator>\n      <LastGenOutput>AssemblyInfo.cs</LastGenOutput>\n    </None>\n  </ItemGroup>\n  <ItemGroup>\n    <None Include=\"XMLModels\\DataTypeTest.NodeSet2.xml\">\n      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>\n    </None>\n  </ItemGroup>\n  <ItemGroup>\n    <Service Include=\"{508349B6-6B84-4DF5-91F0-309BEEBAD82D}\" />\n  </ItemGroup>\n  <ItemGroup>\n    <None Include=\"XMLModels\\Commsvr.UA.Examples.BoilersSet.NodeSet2.xml\">\n      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>\n    </None>\n    <None Include=\"XMLModels\\DataTypeTest.ModelDesign.xml\">\n      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>\n    </None>\n    <None Include=\"XMLModels\\ObjectTypeTest.NodeSet2.xml\">\n      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>\n    </None>\n    <None Include=\"XMLModels\\ReferenceTest.NodeSet2.xml\">\n      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>\n    </None>\n    <None Include=\"XMLModels\\tempuri.org.UA.Examples.BoilerType.NodeSet2.xml\">\n      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>\n    </None>\n    <None Include=\"XMLModels\\VariableTypeTest.NodeSet2.xml\">\n      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>\n    </None>\n  </ItemGroup>\n  <Choose>\n    <When Condition=\"'$(VisualStudioVersion)' == '10.0' And '$(IsCodedUITest)' == 'True'\">\n      <ItemGroup>\n        <Reference Include=\"Microsoft.VisualStudio.QualityTools.CodedUITestFramework, Version=10.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL\">\n          <Private>False</Private>\n        </Reference>\n        <Reference Include=\"Microsoft.VisualStudio.TestTools.UITest.Common, Version=10.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL\">\n          <Private>False</Private>\n        </Reference>\n        <Reference Include=\"Microsoft.VisualStudio.TestTools.UITest.Extension, Version=10.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL\">\n          <Private>False</Private>\n        </Reference>\n        <Reference Include=\"Microsoft.VisualStudio.TestTools.UITesting, Version=10.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL\">\n          <Private>False</Private>\n        </Reference>\n      </ItemGroup>\n    </When>\n  </Choose>\n  <Import Project=\"$(VSToolsPath)\\TeamTest\\Microsoft.TestTools.targets\" Condition=\"Exists('$(VSToolsPath)\\TeamTest\\Microsoft.TestTools.targets')\" />\n  <Import Project=\"$(MSBuildToolsPath)\\Microsoft.CSharp.targets\" />\n  <Target Name=\"EnsureNuGetPackageBuildImports\" BeforeTargets=\"PrepareForBuild\">\n    <PropertyGroup>\n      <ErrorText>This project references NuGet package(s) that are missing on this computer. Use NuGet Package Restore to download them.  For more information, see http://go.microsoft.com/fwlink/?LinkID=322105. The missing file is {0}.</ErrorText>\n    </PropertyGroup>\n    <Error Condition=\"!Exists('..\\..\\..\\packages\\MSTest.TestAdapter.2.2.10\\build\\net46\\MSTest.TestAdapter.props')\" Text=\"$([System.String]::Format('$(ErrorText)', '..\\..\\..\\packages\\MSTest.TestAdapter.2.2.10\\build\\net46\\MSTest.TestAdapter.props'))\" />\n    <Error Condition=\"!Exists('..\\..\\..\\packages\\MSTest.TestAdapter.2.2.10\\build\\net46\\MSTest.TestAdapter.targets')\" Text=\"$([System.String]::Format('$(ErrorText)', '..\\..\\..\\packages\\MSTest.TestAdapter.2.2.10\\build\\net46\\MSTest.TestAdapter.targets'))\" />\n  </Target>\n  <Import Project=\"..\\..\\..\\packages\\MSTest.TestAdapter.2.2.10\\build\\net46\\MSTest.TestAdapter.targets\" Condition=\"Exists('..\\..\\..\\packages\\MSTest.TestAdapter.2.2.10\\build\\net46\\MSTest.TestAdapter.targets')\" />\n  <!-- To modify your build process, add your task inside one of the targets below and uncomment it. \n       Other similar extension points exist, see Microsoft.Common.targets.\n  <Target Name=\"BeforeBuild\">\n  </Target>\n  <Target Name=\"AfterBuild\">\n  </Target>\n  -->\n</Project>"
  },
  {
    "path": "SemanticData/Tests/AddressSpaceComplianceTestToolUnitTests/TraceSourceBaseUnitTest.cs",
    "content": "﻿//__________________________________________________________________________________________________\n//\n//  Copyright (C) 2021, Mariusz Postol LODZ POLAND.\n//\n//  To be in touch join the community at GitHub: https://github.com/mpostol/OPC-UA-OOI/discussions\n//__________________________________________________________________________________________________\n\nusing Microsoft.VisualStudio.TestTools.UnitTesting;\nusing System.Collections.Generic;\nusing System.Diagnostics;\nusing System.IO;\nusing System.Linq;\nusing System.Reflection;\nusing UAOOI.SemanticData.AddressSpacePrototyping.Instrumentation;\n\nnamespace UAOOI.SemanticData.AddressSpacePrototyping\n{\n  [TestClass]\n  public class TraceSourceBaseUnitTest\n  {\n    [TestMethod]\n    public void AssemblyTraceEventTestMethod()\n    {\n      TraceSource tracer = new TraceSource(\"AddressSpacePrototyping\");\n      Assert.AreEqual<string>(\"AddressSpacePrototyping\", tracer.Name, $\"Actual tracer name: {tracer.Name}\");\n      //Assert.AreEqual(1, Trace.Listeners.Count);\n      Dictionary<string, TraceListener> _listeners = tracer.Listeners.Cast<TraceListener>().ToDictionary<TraceListener, string>(x => x.Name);\n      Assert.IsNotNull(_listeners);\n      Assert.IsTrue(_listeners.ContainsKey(\"LogFile\"));\n      TraceListener _listener = _listeners[\"LogFile\"];\n      Assert.IsNotNull(_listener);\n      Assert.IsInstanceOfType(_listener, typeof(DelimitedListTraceListener));\n      DelimitedListTraceListener _advancedListener = _listener as DelimitedListTraceListener;\n      Assert.IsNotNull(_advancedListener.Filter);\n      Assert.IsInstanceOfType(_advancedListener.Filter, typeof(EventTypeFilter));\n      EventTypeFilter _eventTypeFilter = _advancedListener.Filter as EventTypeFilter;\n      Assert.AreEqual(SourceLevels.All, _eventTypeFilter.EventType);\n      string _testPath = Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location);\n      Assert.AreEqual<string>(Path.Combine(_testPath, @\"asp.log\"), _advancedListener.GetFileName());\n    }\n\n    [TestMethod]\n    public void LogFileExistsTest()\n    {\n      TraceSource tracer = new TraceSource(\"AddressSpacePrototyping\");\n      TraceListener _listener = tracer.Listeners.Cast<TraceListener>().Where<TraceListener>(x => x.Name == \"LogFile\").First<TraceListener>();\n      DelimitedListTraceListener _advancedListener = _listener as DelimitedListTraceListener;\n      Assert.IsNotNull(_advancedListener);\n      Assert.IsFalse(string.IsNullOrEmpty(_advancedListener.GetFileName()));\n      FileInfo _logFileInfo = new FileInfo(_advancedListener.GetFileName());\n      long _startLength = _logFileInfo.Exists ? _logFileInfo.Length : 0;\n      tracer.TraceEvent(TraceEventType.Information, 0, \"LogFileExistsTest is executed\");\n      Assert.IsFalse(string.IsNullOrEmpty(_advancedListener.GetFileName()));\n      _logFileInfo.Refresh();\n      Assert.IsTrue(_logFileInfo.Exists);\n      Assert.IsTrue(_logFileInfo.Length > _startLength);\n    }\n  }\n}"
  },
  {
    "path": "SemanticData/Tests/AddressSpaceComplianceTestToolUnitTests/XMLModels/Commsvr.UA.Examples.BoilersSet.NodeSet2.xml",
    "content": "﻿<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<UANodeSet xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\" LastModified=\"2016-07-02T09:52:51.2839578Z\" xmlns=\"http://opcfoundation.org/UA/2011/03/UANodeSet.xsd\">\n  <NamespaceUris>\n    <Uri>http://commsvr.com/UA/Examples/BoilersSet</Uri>\n    <Uri>http://tempuri.org/UA/Examples/BoilerType</Uri>\n  </NamespaceUris>\n  <Aliases>\n    <Alias Alias=\"Boolean\">i=1</Alias>\n    <Alias Alias=\"SByte\">i=2</Alias>\n    <Alias Alias=\"Byte\">i=3</Alias>\n    <Alias Alias=\"Int16\">i=4</Alias>\n    <Alias Alias=\"UInt16\">i=5</Alias>\n    <Alias Alias=\"Int32\">i=6</Alias>\n    <Alias Alias=\"UInt32\">i=7</Alias>\n    <Alias Alias=\"Int64\">i=8</Alias>\n    <Alias Alias=\"UInt64\">i=9</Alias>\n    <Alias Alias=\"Float\">i=10</Alias>\n    <Alias Alias=\"Double\">i=11</Alias>\n    <Alias Alias=\"DateTime\">i=13</Alias>\n    <Alias Alias=\"String\">i=12</Alias>\n    <Alias Alias=\"ByteString\">i=15</Alias>\n    <Alias Alias=\"Guid\">i=14</Alias>\n    <Alias Alias=\"XmlElement\">i=16</Alias>\n    <Alias Alias=\"NodeId\">i=17</Alias>\n    <Alias Alias=\"ExpandedNodeId\">i=18</Alias>\n    <Alias Alias=\"QualifiedName\">i=20</Alias>\n    <Alias Alias=\"LocalizedText\">i=21</Alias>\n    <Alias Alias=\"StatusCode\">i=19</Alias>\n    <Alias Alias=\"Structure\">i=22</Alias>\n    <Alias Alias=\"Number\">i=26</Alias>\n    <Alias Alias=\"Integer\">i=27</Alias>\n    <Alias Alias=\"UInteger\">i=28</Alias>\n    <Alias Alias=\"HasComponent\">i=47</Alias>\n    <Alias Alias=\"HasProperty\">i=46</Alias>\n    <Alias Alias=\"Organizes\">i=35</Alias>\n    <Alias Alias=\"HasEventSource\">i=36</Alias>\n    <Alias Alias=\"HasNotifier\">i=48</Alias>\n    <Alias Alias=\"HasSubtype\">i=45</Alias>\n    <Alias Alias=\"HasTypeDefinition\">i=40</Alias>\n    <Alias Alias=\"HasModellingRule\">i=37</Alias>\n    <Alias Alias=\"HasEncoding\">i=38</Alias>\n    <Alias Alias=\"HasDescription\">i=39</Alias>\n  </Aliases>\n  <UAObject NodeId=\"ns=1;i=1\" BrowseName=\"1:BoilersArea\">\n    <DisplayName>BoilersArea</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=81</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=160</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=239</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=318</Reference>\n      <Reference ReferenceType=\"Organizes\" IsForward=\"false\">i=85</Reference>\n      <Reference ReferenceType=\"HasNotifier\" IsForward=\"false\">i=2253</Reference>\n      <Reference ReferenceType=\"HasNotifier\">ns=1;i=81</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=61</Reference>\n    </References>\n  </UAObject>\n  <UAObject NodeId=\"ns=1;i=81\" BrowseName=\"1:Boiler #1\" SymbolicName=\"BoilerAlpha\" ParentNodeId=\"ns=1;i=1\">\n    <DisplayName>Boiler #1</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=82</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=97</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=105</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=113</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=117</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=121</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=127</Reference>\n      <Reference ReferenceType=\"HasNotifier\" IsForward=\"false\">ns=1;i=1</Reference>\n      <Reference ReferenceType=\"HasNotifier\">ns=1;i=82</Reference>\n      <Reference ReferenceType=\"HasNotifier\">ns=1;i=97</Reference>\n      <Reference ReferenceType=\"HasNotifier\">ns=1;i=105</Reference>\n      <Reference ReferenceType=\"HasEventSource\">ns=1;i=127</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">ns=2;i=151</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=1</Reference>\n    </References>\n  </UAObject>\n  <UAObject NodeId=\"ns=1;i=82\" BrowseName=\"1:InputPipe\" ParentNodeId=\"ns=1;i=81\" EventNotifier=\"1\">\n    <DisplayName>Boiler #1: Pipe1001</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=83</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=90</Reference>\n      <Reference ReferenceType=\"HasNotifier\" IsForward=\"false\">ns=1;i=81</Reference>\n      <Reference ReferenceType=\"HasNotifier\">ns=1;i=83</Reference>\n      <Reference ReferenceType=\"ns=2;i=1\">ns=1;i=97</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">ns=2;i=120</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=81</Reference>\n    </References>\n  </UAObject>\n  <UAObject NodeId=\"ns=1;i=83\" BrowseName=\"2:FTX001\" SymbolicName=\"FlowTransmitter1\" ParentNodeId=\"ns=1;i=82\" EventNotifier=\"1\">\n    <DisplayName>FlowTransmitter1</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=84</Reference>\n      <Reference ReferenceType=\"HasNotifier\" IsForward=\"false\">ns=1;i=82</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">ns=2;i=50</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=82</Reference>\n    </References>\n  </UAObject>\n  <UAVariable NodeId=\"ns=1;i=84\" BrowseName=\"2:Output\" ParentNodeId=\"ns=1;i=83\" DataType=\"Double\">\n    <DisplayName>Output</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=88</Reference>\n      <Reference ReferenceType=\"ns=2;i=3\">ns=1;i=114</Reference>\n      <Reference ReferenceType=\"ns=2;i=3\">ns=1;i=123</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=2368</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=83</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=88\" BrowseName=\"EURange\" ParentNodeId=\"ns=1;i=84\" DataType=\"i=884\">\n    <DisplayName>EURange</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=84</Reference>\n    </References>\n  </UAVariable>\n  <UAObject NodeId=\"ns=1;i=90\" BrowseName=\"2:ValveX001\" SymbolicName=\"Valve\" ParentNodeId=\"ns=1;i=82\" EventNotifier=\"1\">\n    <DisplayName>Valve</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=91</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">ns=2;i=28</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=82</Reference>\n    </References>\n  </UAObject>\n  <UAVariable NodeId=\"ns=1;i=91\" BrowseName=\"2:Input\" ParentNodeId=\"ns=1;i=90\" DataType=\"Double\" AccessLevel=\"2\" UserAccessLevel=\"2\">\n    <DisplayName>Input</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=95</Reference>\n      <Reference ReferenceType=\"ns=2;i=3\" IsForward=\"false\">ns=1;i=116</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=2368</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=90</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=95\" BrowseName=\"EURange\" ParentNodeId=\"ns=1;i=91\" DataType=\"i=884\">\n    <DisplayName>EURange</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=91</Reference>\n    </References>\n  </UAVariable>\n  <UAObject NodeId=\"ns=1;i=97\" BrowseName=\"1:Drum\" ParentNodeId=\"ns=1;i=81\" EventNotifier=\"1\">\n    <DisplayName>Boiler #1: Drum1001</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=98</Reference>\n      <Reference ReferenceType=\"HasNotifier\" IsForward=\"false\">ns=1;i=81</Reference>\n      <Reference ReferenceType=\"ns=2;i=1\" IsForward=\"false\">ns=1;i=82</Reference>\n      <Reference ReferenceType=\"HasNotifier\">ns=1;i=98</Reference>\n      <Reference ReferenceType=\"ns=2;i=2\">ns=1;i=105</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">ns=2;i=135</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=81</Reference>\n    </References>\n  </UAObject>\n  <UAObject NodeId=\"ns=1;i=98\" BrowseName=\"2:LIX001\" SymbolicName=\"LevelIndicator\" ParentNodeId=\"ns=1;i=97\" EventNotifier=\"1\">\n    <DisplayName>LIX001</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=99</Reference>\n      <Reference ReferenceType=\"HasNotifier\" IsForward=\"false\">ns=1;i=97</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">ns=2;i=43</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=97</Reference>\n    </References>\n  </UAObject>\n  <UAVariable NodeId=\"ns=1;i=99\" BrowseName=\"2:Output\" ParentNodeId=\"ns=1;i=98\" DataType=\"Number\">\n    <DisplayName>Output</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=103</Reference>\n      <Reference ReferenceType=\"ns=2;i=3\">ns=1;i=118</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=2368</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=98</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=103\" BrowseName=\"EURange\" ParentNodeId=\"ns=1;i=99\" DataType=\"i=884\">\n    <DisplayName>EURange</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=99</Reference>\n    </References>\n  </UAVariable>\n  <UAObject NodeId=\"ns=1;i=105\" BrowseName=\"1:OutputPipe\" ParentNodeId=\"ns=1;i=81\" EventNotifier=\"1\">\n    <DisplayName>Boiler #1: Pipe1002</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=106</Reference>\n      <Reference ReferenceType=\"HasNotifier\" IsForward=\"false\">ns=1;i=81</Reference>\n      <Reference ReferenceType=\"ns=2;i=2\" IsForward=\"false\">ns=1;i=97</Reference>\n      <Reference ReferenceType=\"HasNotifier\">ns=1;i=106</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">ns=2;i=143</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=81</Reference>\n    </References>\n  </UAObject>\n  <UAObject NodeId=\"ns=1;i=106\" BrowseName=\"2:FTX002\" SymbolicName=\"FlowTransmitter2\" ParentNodeId=\"ns=1;i=105\" EventNotifier=\"1\">\n    <DisplayName>FTX002</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=107</Reference>\n      <Reference ReferenceType=\"HasNotifier\" IsForward=\"false\">ns=1;i=105</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">ns=2;i=50</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=105</Reference>\n    </References>\n  </UAObject>\n  <UAVariable NodeId=\"ns=1;i=107\" BrowseName=\"2:Output\" ParentNodeId=\"ns=1;i=106\" DataType=\"Double\">\n    <DisplayName>Output</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=111</Reference>\n      <Reference ReferenceType=\"ns=2;i=3\">ns=1;i=124</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=2368</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=106</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=111\" BrowseName=\"EURange\" ParentNodeId=\"ns=1;i=107\" DataType=\"i=884\">\n    <DisplayName>EURange</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=107</Reference>\n    </References>\n  </UAVariable>\n  <UAObject NodeId=\"ns=1;i=113\" BrowseName=\"1:FlowController\" ParentNodeId=\"ns=1;i=81\">\n    <DisplayName>Boiler #1: FC1001</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=114</Reference>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=115</Reference>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=116</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">ns=2;i=39</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=81</Reference>\n    </References>\n  </UAObject>\n  <UAVariable NodeId=\"ns=1;i=114\" BrowseName=\"2:Measurement\" ParentNodeId=\"ns=1;i=113\" DataType=\"Double\">\n    <DisplayName>Measurement</DisplayName>\n    <References>\n      <Reference ReferenceType=\"ns=2;i=3\" IsForward=\"false\">ns=1;i=84</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=113</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=115\" BrowseName=\"2:SetPoint\" ParentNodeId=\"ns=1;i=113\" DataType=\"Double\" AccessLevel=\"3\" UserAccessLevel=\"3\">\n    <DisplayName>SetPoint</DisplayName>\n    <References>\n      <Reference ReferenceType=\"ns=2;i=3\" IsForward=\"false\">ns=1;i=125</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=113</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=116\" BrowseName=\"2:ControlOut\" ParentNodeId=\"ns=1;i=113\" DataType=\"Double\">\n    <DisplayName>ControlOut</DisplayName>\n    <References>\n      <Reference ReferenceType=\"ns=2;i=3\">ns=1;i=91</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=113</Reference>\n    </References>\n  </UAVariable>\n  <UAObject NodeId=\"ns=1;i=117\" BrowseName=\"1:LevelController\" ParentNodeId=\"ns=1;i=81\">\n    <DisplayName>Boiler #1: LC1001</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=118</Reference>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=119</Reference>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=120</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">ns=2;i=35</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=81</Reference>\n    </References>\n  </UAObject>\n  <UAVariable NodeId=\"ns=1;i=118\" BrowseName=\"2:Measurement\" ParentNodeId=\"ns=1;i=117\" DataType=\"Double\">\n    <DisplayName>Measurement</DisplayName>\n    <References>\n      <Reference ReferenceType=\"ns=2;i=3\" IsForward=\"false\">ns=1;i=99</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=117</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=119\" BrowseName=\"2:SetPoint\" ParentNodeId=\"ns=1;i=117\" DataType=\"Double\" AccessLevel=\"3\" UserAccessLevel=\"3\">\n    <DisplayName>SetPoint</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=117</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=120\" BrowseName=\"2:ControlOut\" ParentNodeId=\"ns=1;i=117\" DataType=\"Double\">\n    <DisplayName>ControlOut</DisplayName>\n    <References>\n      <Reference ReferenceType=\"ns=2;i=3\">ns=1;i=122</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=117</Reference>\n    </References>\n  </UAVariable>\n  <UAObject NodeId=\"ns=1;i=121\" BrowseName=\"1:CustomController\" ParentNodeId=\"ns=1;i=81\">\n    <DisplayName>Boiler #1: CC1001</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=122</Reference>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=123</Reference>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=124</Reference>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=125</Reference>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=126</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">ns=2;i=22</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=81</Reference>\n    </References>\n  </UAObject>\n  <UAVariable NodeId=\"ns=1;i=122\" BrowseName=\"2:Input1\" ParentNodeId=\"ns=1;i=121\" DataType=\"Double\" AccessLevel=\"2\" UserAccessLevel=\"2\">\n    <DisplayName>Input1</DisplayName>\n    <References>\n      <Reference ReferenceType=\"ns=2;i=3\" IsForward=\"false\">ns=1;i=120</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=121</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=123\" BrowseName=\"2:Input2\" ParentNodeId=\"ns=1;i=121\" DataType=\"Double\" AccessLevel=\"2\" UserAccessLevel=\"2\">\n    <DisplayName>Input2</DisplayName>\n    <References>\n      <Reference ReferenceType=\"ns=2;i=3\" IsForward=\"false\">ns=1;i=84</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=121</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=124\" BrowseName=\"2:Input3\" ParentNodeId=\"ns=1;i=121\" DataType=\"Double\" AccessLevel=\"2\" UserAccessLevel=\"2\">\n    <DisplayName>Input3</DisplayName>\n    <References>\n      <Reference ReferenceType=\"ns=2;i=3\" IsForward=\"false\">ns=1;i=107</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=121</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=125\" BrowseName=\"2:ControlOut\" ParentNodeId=\"ns=1;i=121\" DataType=\"Double\">\n    <DisplayName>ControlOut</DisplayName>\n    <References>\n      <Reference ReferenceType=\"ns=2;i=3\">ns=1;i=115</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=121</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=126\" BrowseName=\"2:Description\" SymbolicName=\"DescriptionX\" ParentNodeId=\"ns=1;i=121\" DataType=\"LocalizedText\">\n    <DisplayName>Description</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=121</Reference>\n    </References>\n  </UAVariable>\n  <UAObject NodeId=\"ns=1;i=127\" BrowseName=\"2:Simulation\" ParentNodeId=\"ns=1;i=81\" EventNotifier=\"1\">\n    <DisplayName>Simulation</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=128</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=133</Reference>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=139</Reference>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=141</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=154</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=155</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=156</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=157</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=158</Reference>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=159</Reference>\n      <Reference ReferenceType=\"HasEventSource\" IsForward=\"false\">ns=1;i=81</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">ns=2;i=57</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=81</Reference>\n    </References>\n  </UAObject>\n  <UAVariable NodeId=\"ns=1;i=128\" BrowseName=\"CurrentState\" ParentNodeId=\"ns=1;i=127\" DataType=\"LocalizedText\">\n    <DisplayName>CurrentState</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=129</Reference>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=131</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=2760</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=127</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=129\" BrowseName=\"Id\" ParentNodeId=\"ns=1;i=128\" DataType=\"NodeId\">\n    <DisplayName>Id</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=128</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=131\" BrowseName=\"Number\" ParentNodeId=\"ns=1;i=128\" DataType=\"UInt32\">\n    <DisplayName>Number</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=128</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=133\" BrowseName=\"LastTransition\" ParentNodeId=\"ns=1;i=127\" DataType=\"LocalizedText\">\n    <DisplayName>LastTransition</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=134</Reference>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=136</Reference>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=137</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=2767</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=127</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=134\" BrowseName=\"Id\" ParentNodeId=\"ns=1;i=133\" DataType=\"NodeId\">\n    <DisplayName>Id</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=133</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=136\" BrowseName=\"Number\" ParentNodeId=\"ns=1;i=133\" DataType=\"UInt32\">\n    <DisplayName>Number</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=133</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=137\" BrowseName=\"TransitionTime\" ParentNodeId=\"ns=1;i=133\" DataType=\"i=294\">\n    <DisplayName>TransitionTime</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=133</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=139\" BrowseName=\"Deletable\" ParentNodeId=\"ns=1;i=127\" DataType=\"Boolean\">\n    <DisplayName>Deletable</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=127</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=141\" BrowseName=\"RecycleCount\" ParentNodeId=\"ns=1;i=127\" DataType=\"Int32\">\n    <DisplayName>RecycleCount</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=127</Reference>\n    </References>\n  </UAVariable>\n  <UAMethod NodeId=\"ns=1;i=154\" BrowseName=\"Start\" ParentNodeId=\"ns=1;i=127\" MethodDeclarationId=\"i=2426\">\n    <DisplayName>Start</DisplayName>\n    <Description>Causes the Program to transition from the Ready state to the Running state.</Description>\n    <References>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=127</Reference>\n    </References>\n  </UAMethod>\n  <UAMethod NodeId=\"ns=1;i=155\" BrowseName=\"Suspend\" ParentNodeId=\"ns=1;i=127\" MethodDeclarationId=\"i=2427\">\n    <DisplayName>Suspend</DisplayName>\n    <Description>Causes the Program to transition from the Running state to the Suspended state.</Description>\n    <References>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=127</Reference>\n    </References>\n  </UAMethod>\n  <UAMethod NodeId=\"ns=1;i=156\" BrowseName=\"Resume\" ParentNodeId=\"ns=1;i=127\" MethodDeclarationId=\"i=2428\">\n    <DisplayName>Resume</DisplayName>\n    <Description>Causes the Program to transition from the Suspended state to the Running state.</Description>\n    <References>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=127</Reference>\n    </References>\n  </UAMethod>\n  <UAMethod NodeId=\"ns=1;i=157\" BrowseName=\"Halt\" ParentNodeId=\"ns=1;i=127\" MethodDeclarationId=\"i=2429\">\n    <DisplayName>Halt</DisplayName>\n    <Description>Causes the Program to transition from the Ready, Running or Suspended state to the Halted state.</Description>\n    <References>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=127</Reference>\n    </References>\n  </UAMethod>\n  <UAMethod NodeId=\"ns=1;i=158\" BrowseName=\"Reset\" ParentNodeId=\"ns=1;i=127\" MethodDeclarationId=\"i=2430\">\n    <DisplayName>Reset</DisplayName>\n    <Description>Causes the Program to transition from the Halted state to the Ready state.</Description>\n    <References>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=127</Reference>\n    </References>\n  </UAMethod>\n  <UAVariable NodeId=\"ns=1;i=159\" BrowseName=\"2:UpdateRate\" ParentNodeId=\"ns=1;i=127\" DataType=\"UInt32\" AccessLevel=\"3\" UserAccessLevel=\"3\">\n    <DisplayName>UpdateRate</DisplayName>\n    <Description>The rate at which the simulation runs.</Description>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=127</Reference>\n    </References>\n  </UAVariable>\n  <UAObject NodeId=\"ns=1;i=160\" BrowseName=\"1:Boiler #2\" SymbolicName=\"BoilerBravo\" ParentNodeId=\"ns=1;i=1\">\n    <DisplayName>Boilers Second</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=161</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=176</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=184</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=192</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=196</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=200</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=206</Reference>\n      <Reference ReferenceType=\"HasNotifier\">ns=1;i=161</Reference>\n      <Reference ReferenceType=\"HasNotifier\">ns=1;i=176</Reference>\n      <Reference ReferenceType=\"HasNotifier\">ns=1;i=184</Reference>\n      <Reference ReferenceType=\"HasEventSource\">ns=1;i=206</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">ns=2;i=151</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=1</Reference>\n    </References>\n  </UAObject>\n  <UAObject NodeId=\"ns=1;i=161\" BrowseName=\"1:InputPipe\" ParentNodeId=\"ns=1;i=160\" EventNotifier=\"1\">\n    <DisplayName>Boiler #2: Pipe1001</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=162</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=169</Reference>\n      <Reference ReferenceType=\"HasNotifier\" IsForward=\"false\">ns=1;i=160</Reference>\n      <Reference ReferenceType=\"HasNotifier\">ns=1;i=162</Reference>\n      <Reference ReferenceType=\"ns=2;i=1\">ns=1;i=176</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">ns=2;i=120</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=160</Reference>\n    </References>\n  </UAObject>\n  <UAObject NodeId=\"ns=1;i=162\" BrowseName=\"2:FTX001\" SymbolicName=\"FlowTransmitter1\" ParentNodeId=\"ns=1;i=161\" EventNotifier=\"1\">\n    <DisplayName>FlowTransmitter1</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=163</Reference>\n      <Reference ReferenceType=\"HasNotifier\" IsForward=\"false\">ns=1;i=161</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">ns=2;i=50</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=161</Reference>\n    </References>\n  </UAObject>\n  <UAVariable NodeId=\"ns=1;i=163\" BrowseName=\"2:Output\" ParentNodeId=\"ns=1;i=162\" DataType=\"Double\">\n    <DisplayName>Output</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=167</Reference>\n      <Reference ReferenceType=\"ns=2;i=3\">ns=1;i=193</Reference>\n      <Reference ReferenceType=\"ns=2;i=3\">ns=1;i=202</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=2368</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=162</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=167\" BrowseName=\"EURange\" ParentNodeId=\"ns=1;i=163\" DataType=\"i=884\">\n    <DisplayName>EURange</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=163</Reference>\n    </References>\n  </UAVariable>\n  <UAObject NodeId=\"ns=1;i=169\" BrowseName=\"2:ValveX001\" SymbolicName=\"Valve\" ParentNodeId=\"ns=1;i=161\" EventNotifier=\"1\">\n    <DisplayName>Valve</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=170</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">ns=2;i=28</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=161</Reference>\n    </References>\n  </UAObject>\n  <UAVariable NodeId=\"ns=1;i=170\" BrowseName=\"2:Input\" ParentNodeId=\"ns=1;i=169\" DataType=\"Double\" AccessLevel=\"2\" UserAccessLevel=\"2\">\n    <DisplayName>Input</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=174</Reference>\n      <Reference ReferenceType=\"ns=2;i=3\" IsForward=\"false\">ns=1;i=195</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=2368</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=169</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=174\" BrowseName=\"EURange\" ParentNodeId=\"ns=1;i=170\" DataType=\"i=884\">\n    <DisplayName>EURange</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=170</Reference>\n    </References>\n  </UAVariable>\n  <UAObject NodeId=\"ns=1;i=176\" BrowseName=\"1:Drum\" ParentNodeId=\"ns=1;i=160\" EventNotifier=\"1\">\n    <DisplayName>Boiler #2: Drum1001</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=177</Reference>\n      <Reference ReferenceType=\"HasNotifier\" IsForward=\"false\">ns=1;i=160</Reference>\n      <Reference ReferenceType=\"ns=2;i=1\" IsForward=\"false\">ns=1;i=161</Reference>\n      <Reference ReferenceType=\"HasNotifier\">ns=1;i=177</Reference>\n      <Reference ReferenceType=\"ns=2;i=2\">ns=1;i=184</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">ns=2;i=135</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=160</Reference>\n    </References>\n  </UAObject>\n  <UAObject NodeId=\"ns=1;i=177\" BrowseName=\"2:LIX001\" SymbolicName=\"LevelIndicator\" ParentNodeId=\"ns=1;i=176\" EventNotifier=\"1\">\n    <DisplayName>LIX001</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=178</Reference>\n      <Reference ReferenceType=\"HasNotifier\" IsForward=\"false\">ns=1;i=176</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">ns=2;i=43</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=176</Reference>\n    </References>\n  </UAObject>\n  <UAVariable NodeId=\"ns=1;i=178\" BrowseName=\"2:Output\" ParentNodeId=\"ns=1;i=177\" DataType=\"Number\">\n    <DisplayName>Output</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=182</Reference>\n      <Reference ReferenceType=\"ns=2;i=3\">ns=1;i=197</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=2368</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=177</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=182\" BrowseName=\"EURange\" ParentNodeId=\"ns=1;i=178\" DataType=\"i=884\">\n    <DisplayName>EURange</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=178</Reference>\n    </References>\n  </UAVariable>\n  <UAObject NodeId=\"ns=1;i=184\" BrowseName=\"1:OutputPipe\" ParentNodeId=\"ns=1;i=160\" EventNotifier=\"1\">\n    <DisplayName>Boiler #2: Pipe1002</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=185</Reference>\n      <Reference ReferenceType=\"HasNotifier\" IsForward=\"false\">ns=1;i=160</Reference>\n      <Reference ReferenceType=\"ns=2;i=2\" IsForward=\"false\">ns=1;i=176</Reference>\n      <Reference ReferenceType=\"HasNotifier\">ns=1;i=185</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">ns=2;i=143</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=160</Reference>\n    </References>\n  </UAObject>\n  <UAObject NodeId=\"ns=1;i=185\" BrowseName=\"2:FTX002\" SymbolicName=\"FlowTransmitter2\" ParentNodeId=\"ns=1;i=184\" EventNotifier=\"1\">\n    <DisplayName>FTX002</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=186</Reference>\n      <Reference ReferenceType=\"HasNotifier\" IsForward=\"false\">ns=1;i=184</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">ns=2;i=50</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=184</Reference>\n    </References>\n  </UAObject>\n  <UAVariable NodeId=\"ns=1;i=186\" BrowseName=\"2:Output\" ParentNodeId=\"ns=1;i=185\" DataType=\"Double\">\n    <DisplayName>Output</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=190</Reference>\n      <Reference ReferenceType=\"ns=2;i=3\">ns=1;i=203</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=2368</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=185</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=190\" BrowseName=\"EURange\" ParentNodeId=\"ns=1;i=186\" DataType=\"i=884\">\n    <DisplayName>EURange</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=186</Reference>\n    </References>\n  </UAVariable>\n  <UAObject NodeId=\"ns=1;i=192\" BrowseName=\"1:FlowController\" ParentNodeId=\"ns=1;i=160\">\n    <DisplayName>Boiler #2: FC1001</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=193</Reference>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=194</Reference>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=195</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">ns=2;i=39</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=160</Reference>\n    </References>\n  </UAObject>\n  <UAVariable NodeId=\"ns=1;i=193\" BrowseName=\"2:Measurement\" ParentNodeId=\"ns=1;i=192\" DataType=\"Double\">\n    <DisplayName>Measurement</DisplayName>\n    <References>\n      <Reference ReferenceType=\"ns=2;i=3\" IsForward=\"false\">ns=1;i=163</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=192</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=194\" BrowseName=\"2:SetPoint\" ParentNodeId=\"ns=1;i=192\" DataType=\"Double\" AccessLevel=\"3\" UserAccessLevel=\"3\">\n    <DisplayName>SetPoint</DisplayName>\n    <References>\n      <Reference ReferenceType=\"ns=2;i=3\" IsForward=\"false\">ns=1;i=204</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=192</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=195\" BrowseName=\"2:ControlOut\" ParentNodeId=\"ns=1;i=192\" DataType=\"Double\">\n    <DisplayName>ControlOut</DisplayName>\n    <References>\n      <Reference ReferenceType=\"ns=2;i=3\">ns=1;i=170</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=192</Reference>\n    </References>\n  </UAVariable>\n  <UAObject NodeId=\"ns=1;i=196\" BrowseName=\"1:LevelController\" ParentNodeId=\"ns=1;i=160\">\n    <DisplayName>Boiler #2: LC1001</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=197</Reference>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=198</Reference>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=199</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">ns=2;i=35</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=160</Reference>\n    </References>\n  </UAObject>\n  <UAVariable NodeId=\"ns=1;i=197\" BrowseName=\"2:Measurement\" ParentNodeId=\"ns=1;i=196\" DataType=\"Double\">\n    <DisplayName>Measurement</DisplayName>\n    <References>\n      <Reference ReferenceType=\"ns=2;i=3\" IsForward=\"false\">ns=1;i=178</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=196</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=198\" BrowseName=\"2:SetPoint\" ParentNodeId=\"ns=1;i=196\" DataType=\"Double\" AccessLevel=\"3\" UserAccessLevel=\"3\">\n    <DisplayName>SetPoint</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=196</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=199\" BrowseName=\"2:ControlOut\" ParentNodeId=\"ns=1;i=196\" DataType=\"Double\">\n    <DisplayName>ControlOut</DisplayName>\n    <References>\n      <Reference ReferenceType=\"ns=2;i=3\">ns=1;i=201</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=196</Reference>\n    </References>\n  </UAVariable>\n  <UAObject NodeId=\"ns=1;i=200\" BrowseName=\"1:CustomController\" ParentNodeId=\"ns=1;i=160\">\n    <DisplayName>Boiler #2: CC1001</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=201</Reference>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=202</Reference>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=203</Reference>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=204</Reference>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=205</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">ns=2;i=22</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=160</Reference>\n    </References>\n  </UAObject>\n  <UAVariable NodeId=\"ns=1;i=201\" BrowseName=\"2:Input1\" ParentNodeId=\"ns=1;i=200\" DataType=\"Double\" AccessLevel=\"2\" UserAccessLevel=\"2\">\n    <DisplayName>Input1</DisplayName>\n    <References>\n      <Reference ReferenceType=\"ns=2;i=3\" IsForward=\"false\">ns=1;i=199</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=200</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=202\" BrowseName=\"2:Input2\" ParentNodeId=\"ns=1;i=200\" DataType=\"Double\" AccessLevel=\"2\" UserAccessLevel=\"2\">\n    <DisplayName>Input2</DisplayName>\n    <References>\n      <Reference ReferenceType=\"ns=2;i=3\" IsForward=\"false\">ns=1;i=163</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=200</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=203\" BrowseName=\"2:Input3\" ParentNodeId=\"ns=1;i=200\" DataType=\"Double\" AccessLevel=\"2\" UserAccessLevel=\"2\">\n    <DisplayName>Input3</DisplayName>\n    <References>\n      <Reference ReferenceType=\"ns=2;i=3\" IsForward=\"false\">ns=1;i=186</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=200</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=204\" BrowseName=\"2:ControlOut\" ParentNodeId=\"ns=1;i=200\" DataType=\"Double\">\n    <DisplayName>ControlOut</DisplayName>\n    <References>\n      <Reference ReferenceType=\"ns=2;i=3\">ns=1;i=194</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=200</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=205\" BrowseName=\"2:Description\" SymbolicName=\"DescriptionX\" ParentNodeId=\"ns=1;i=200\" DataType=\"LocalizedText\">\n    <DisplayName>Description</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=200</Reference>\n    </References>\n  </UAVariable>\n  <UAObject NodeId=\"ns=1;i=206\" BrowseName=\"2:Simulation\" ParentNodeId=\"ns=1;i=160\" EventNotifier=\"1\">\n    <DisplayName>Simulation</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=207</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=212</Reference>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=218</Reference>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=220</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=233</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=234</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=235</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=236</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=237</Reference>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=238</Reference>\n      <Reference ReferenceType=\"HasEventSource\" IsForward=\"false\">ns=1;i=160</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">ns=2;i=57</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=160</Reference>\n    </References>\n  </UAObject>\n  <UAVariable NodeId=\"ns=1;i=207\" BrowseName=\"CurrentState\" ParentNodeId=\"ns=1;i=206\" DataType=\"LocalizedText\">\n    <DisplayName>CurrentState</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=208</Reference>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=210</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=2760</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=206</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=208\" BrowseName=\"Id\" ParentNodeId=\"ns=1;i=207\" DataType=\"NodeId\">\n    <DisplayName>Id</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=207</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=210\" BrowseName=\"Number\" ParentNodeId=\"ns=1;i=207\" DataType=\"UInt32\">\n    <DisplayName>Number</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=207</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=212\" BrowseName=\"LastTransition\" ParentNodeId=\"ns=1;i=206\" DataType=\"LocalizedText\">\n    <DisplayName>LastTransition</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=213</Reference>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=215</Reference>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=216</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=2767</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=206</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=213\" BrowseName=\"Id\" ParentNodeId=\"ns=1;i=212\" DataType=\"NodeId\">\n    <DisplayName>Id</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=212</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=215\" BrowseName=\"Number\" ParentNodeId=\"ns=1;i=212\" DataType=\"UInt32\">\n    <DisplayName>Number</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=212</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=216\" BrowseName=\"TransitionTime\" ParentNodeId=\"ns=1;i=212\" DataType=\"i=294\">\n    <DisplayName>TransitionTime</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=212</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=218\" BrowseName=\"Deletable\" ParentNodeId=\"ns=1;i=206\" DataType=\"Boolean\">\n    <DisplayName>Deletable</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=206</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=220\" BrowseName=\"RecycleCount\" ParentNodeId=\"ns=1;i=206\" DataType=\"Int32\">\n    <DisplayName>RecycleCount</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=206</Reference>\n    </References>\n  </UAVariable>\n  <UAMethod NodeId=\"ns=1;i=233\" BrowseName=\"Start\" ParentNodeId=\"ns=1;i=206\" MethodDeclarationId=\"i=2426\">\n    <DisplayName>Start</DisplayName>\n    <Description>Causes the Program to transition from the Ready state to the Running state.</Description>\n    <References>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=206</Reference>\n    </References>\n  </UAMethod>\n  <UAMethod NodeId=\"ns=1;i=234\" BrowseName=\"Suspend\" ParentNodeId=\"ns=1;i=206\" MethodDeclarationId=\"i=2427\">\n    <DisplayName>Suspend</DisplayName>\n    <Description>Causes the Program to transition from the Running state to the Suspended state.</Description>\n    <References>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=206</Reference>\n    </References>\n  </UAMethod>\n  <UAMethod NodeId=\"ns=1;i=235\" BrowseName=\"Resume\" ParentNodeId=\"ns=1;i=206\" MethodDeclarationId=\"i=2428\">\n    <DisplayName>Resume</DisplayName>\n    <Description>Causes the Program to transition from the Suspended state to the Running state.</Description>\n    <References>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=206</Reference>\n    </References>\n  </UAMethod>\n  <UAMethod NodeId=\"ns=1;i=236\" BrowseName=\"Halt\" ParentNodeId=\"ns=1;i=206\" MethodDeclarationId=\"i=2429\">\n    <DisplayName>Halt</DisplayName>\n    <Description>Causes the Program to transition from the Ready, Running or Suspended state to the Halted state.</Description>\n    <References>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=206</Reference>\n    </References>\n  </UAMethod>\n  <UAMethod NodeId=\"ns=1;i=237\" BrowseName=\"Reset\" ParentNodeId=\"ns=1;i=206\" MethodDeclarationId=\"i=2430\">\n    <DisplayName>Reset</DisplayName>\n    <Description>Causes the Program to transition from the Halted state to the Ready state.</Description>\n    <References>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=206</Reference>\n    </References>\n  </UAMethod>\n  <UAVariable NodeId=\"ns=1;i=238\" BrowseName=\"2:UpdateRate\" ParentNodeId=\"ns=1;i=206\" DataType=\"UInt32\" AccessLevel=\"3\" UserAccessLevel=\"3\">\n    <DisplayName>UpdateRate</DisplayName>\n    <Description>The rate at which the simulation runs.</Description>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=206</Reference>\n    </References>\n  </UAVariable>\n  <UAObject NodeId=\"ns=1;i=239\" BrowseName=\"1:Boiler #3\" SymbolicName=\"BoilerCharlie\" ParentNodeId=\"ns=1;i=1\">\n    <DisplayName>Boiler #3</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=240</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=255</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=263</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=271</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=275</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=279</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=285</Reference>\n      <Reference ReferenceType=\"HasNotifier\">ns=1;i=240</Reference>\n      <Reference ReferenceType=\"HasNotifier\">ns=1;i=255</Reference>\n      <Reference ReferenceType=\"HasNotifier\">ns=1;i=263</Reference>\n      <Reference ReferenceType=\"HasEventSource\">ns=1;i=285</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">ns=2;i=151</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=1</Reference>\n    </References>\n  </UAObject>\n  <UAObject NodeId=\"ns=1;i=240\" BrowseName=\"1:InputPipe\" ParentNodeId=\"ns=1;i=239\" EventNotifier=\"1\">\n    <DisplayName>Boiler #3: Pipe1001</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=241</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=248</Reference>\n      <Reference ReferenceType=\"HasNotifier\" IsForward=\"false\">ns=1;i=239</Reference>\n      <Reference ReferenceType=\"HasNotifier\">ns=1;i=241</Reference>\n      <Reference ReferenceType=\"ns=2;i=1\">ns=1;i=255</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">ns=2;i=120</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=239</Reference>\n    </References>\n  </UAObject>\n  <UAObject NodeId=\"ns=1;i=241\" BrowseName=\"2:FTX001\" SymbolicName=\"FlowTransmitter1\" ParentNodeId=\"ns=1;i=240\" EventNotifier=\"1\">\n    <DisplayName>FlowTransmitter1</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=242</Reference>\n      <Reference ReferenceType=\"HasNotifier\" IsForward=\"false\">ns=1;i=240</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">ns=2;i=50</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=240</Reference>\n    </References>\n  </UAObject>\n  <UAVariable NodeId=\"ns=1;i=242\" BrowseName=\"2:Output\" ParentNodeId=\"ns=1;i=241\" DataType=\"Double\">\n    <DisplayName>Output</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=246</Reference>\n      <Reference ReferenceType=\"ns=2;i=3\">ns=1;i=272</Reference>\n      <Reference ReferenceType=\"ns=2;i=3\">ns=1;i=281</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=2368</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=241</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=246\" BrowseName=\"EURange\" ParentNodeId=\"ns=1;i=242\" DataType=\"i=884\">\n    <DisplayName>EURange</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=242</Reference>\n    </References>\n  </UAVariable>\n  <UAObject NodeId=\"ns=1;i=248\" BrowseName=\"2:ValveX001\" SymbolicName=\"Valve\" ParentNodeId=\"ns=1;i=240\" EventNotifier=\"1\">\n    <DisplayName>Valve</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=249</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">ns=2;i=28</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=240</Reference>\n    </References>\n  </UAObject>\n  <UAVariable NodeId=\"ns=1;i=249\" BrowseName=\"2:Input\" ParentNodeId=\"ns=1;i=248\" DataType=\"Double\" AccessLevel=\"2\" UserAccessLevel=\"2\">\n    <DisplayName>Input</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=253</Reference>\n      <Reference ReferenceType=\"ns=2;i=3\" IsForward=\"false\">ns=1;i=274</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=2368</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=248</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=253\" BrowseName=\"EURange\" ParentNodeId=\"ns=1;i=249\" DataType=\"i=884\">\n    <DisplayName>EURange</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=249</Reference>\n    </References>\n  </UAVariable>\n  <UAObject NodeId=\"ns=1;i=255\" BrowseName=\"1:Drum\" ParentNodeId=\"ns=1;i=239\" EventNotifier=\"1\">\n    <DisplayName>Boiler #3: Drum1001</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=256</Reference>\n      <Reference ReferenceType=\"HasNotifier\" IsForward=\"false\">ns=1;i=239</Reference>\n      <Reference ReferenceType=\"ns=2;i=1\" IsForward=\"false\">ns=1;i=240</Reference>\n      <Reference ReferenceType=\"HasNotifier\">ns=1;i=256</Reference>\n      <Reference ReferenceType=\"ns=2;i=2\">ns=1;i=263</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">ns=2;i=135</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=239</Reference>\n    </References>\n  </UAObject>\n  <UAObject NodeId=\"ns=1;i=256\" BrowseName=\"2:LIX001\" SymbolicName=\"LevelIndicator\" ParentNodeId=\"ns=1;i=255\" EventNotifier=\"1\">\n    <DisplayName>LIX001</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=257</Reference>\n      <Reference ReferenceType=\"HasNotifier\" IsForward=\"false\">ns=1;i=255</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">ns=2;i=43</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=255</Reference>\n    </References>\n  </UAObject>\n  <UAVariable NodeId=\"ns=1;i=257\" BrowseName=\"2:Output\" ParentNodeId=\"ns=1;i=256\" DataType=\"Number\">\n    <DisplayName>Output</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=261</Reference>\n      <Reference ReferenceType=\"ns=2;i=3\">ns=1;i=276</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=2368</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=256</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=261\" BrowseName=\"EURange\" ParentNodeId=\"ns=1;i=257\" DataType=\"i=884\">\n    <DisplayName>EURange</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=257</Reference>\n    </References>\n  </UAVariable>\n  <UAObject NodeId=\"ns=1;i=263\" BrowseName=\"1:OutputPipe\" ParentNodeId=\"ns=1;i=239\" EventNotifier=\"1\">\n    <DisplayName>Boiler #3: Pipe1002</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=264</Reference>\n      <Reference ReferenceType=\"HasNotifier\" IsForward=\"false\">ns=1;i=239</Reference>\n      <Reference ReferenceType=\"ns=2;i=2\" IsForward=\"false\">ns=1;i=255</Reference>\n      <Reference ReferenceType=\"HasNotifier\">ns=1;i=264</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">ns=2;i=143</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=239</Reference>\n    </References>\n  </UAObject>\n  <UAObject NodeId=\"ns=1;i=264\" BrowseName=\"2:FTX002\" SymbolicName=\"FlowTransmitter2\" ParentNodeId=\"ns=1;i=263\" EventNotifier=\"1\">\n    <DisplayName>FTX002</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=265</Reference>\n      <Reference ReferenceType=\"HasNotifier\" IsForward=\"false\">ns=1;i=263</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">ns=2;i=50</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=263</Reference>\n    </References>\n  </UAObject>\n  <UAVariable NodeId=\"ns=1;i=265\" BrowseName=\"2:Output\" ParentNodeId=\"ns=1;i=264\" DataType=\"Double\">\n    <DisplayName>Output</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=269</Reference>\n      <Reference ReferenceType=\"ns=2;i=3\">ns=1;i=282</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=2368</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=264</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=269\" BrowseName=\"EURange\" ParentNodeId=\"ns=1;i=265\" DataType=\"i=884\">\n    <DisplayName>EURange</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=265</Reference>\n    </References>\n  </UAVariable>\n  <UAObject NodeId=\"ns=1;i=271\" BrowseName=\"1:FlowController\" ParentNodeId=\"ns=1;i=239\">\n    <DisplayName>Boiler #3: FC1001</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=272</Reference>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=273</Reference>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=274</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">ns=2;i=39</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=239</Reference>\n    </References>\n  </UAObject>\n  <UAVariable NodeId=\"ns=1;i=272\" BrowseName=\"2:Measurement\" ParentNodeId=\"ns=1;i=271\" DataType=\"Double\">\n    <DisplayName>Measurement</DisplayName>\n    <References>\n      <Reference ReferenceType=\"ns=2;i=3\" IsForward=\"false\">ns=1;i=242</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=271</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=273\" BrowseName=\"2:SetPoint\" ParentNodeId=\"ns=1;i=271\" DataType=\"Double\" AccessLevel=\"3\" UserAccessLevel=\"3\">\n    <DisplayName>SetPoint</DisplayName>\n    <References>\n      <Reference ReferenceType=\"ns=2;i=3\" IsForward=\"false\">ns=1;i=283</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=271</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=274\" BrowseName=\"2:ControlOut\" ParentNodeId=\"ns=1;i=271\" DataType=\"Double\">\n    <DisplayName>ControlOut</DisplayName>\n    <References>\n      <Reference ReferenceType=\"ns=2;i=3\">ns=1;i=249</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=271</Reference>\n    </References>\n  </UAVariable>\n  <UAObject NodeId=\"ns=1;i=275\" BrowseName=\"1:LevelController\" ParentNodeId=\"ns=1;i=239\">\n    <DisplayName>Boiler #3: LC1001</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=276</Reference>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=277</Reference>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=278</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">ns=2;i=35</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=239</Reference>\n    </References>\n  </UAObject>\n  <UAVariable NodeId=\"ns=1;i=276\" BrowseName=\"2:Measurement\" ParentNodeId=\"ns=1;i=275\" DataType=\"Double\">\n    <DisplayName>Measurement</DisplayName>\n    <References>\n      <Reference ReferenceType=\"ns=2;i=3\" IsForward=\"false\">ns=1;i=257</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=275</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=277\" BrowseName=\"2:SetPoint\" ParentNodeId=\"ns=1;i=275\" DataType=\"Double\" AccessLevel=\"3\" UserAccessLevel=\"3\">\n    <DisplayName>SetPoint</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=275</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=278\" BrowseName=\"2:ControlOut\" ParentNodeId=\"ns=1;i=275\" DataType=\"Double\">\n    <DisplayName>ControlOut</DisplayName>\n    <References>\n      <Reference ReferenceType=\"ns=2;i=3\">ns=1;i=280</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=275</Reference>\n    </References>\n  </UAVariable>\n  <UAObject NodeId=\"ns=1;i=279\" BrowseName=\"1:CustomController\" ParentNodeId=\"ns=1;i=239\">\n    <DisplayName>Boiler #3: CC1001</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=280</Reference>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=281</Reference>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=282</Reference>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=283</Reference>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=284</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">ns=2;i=22</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=239</Reference>\n    </References>\n  </UAObject>\n  <UAVariable NodeId=\"ns=1;i=280\" BrowseName=\"2:Input1\" ParentNodeId=\"ns=1;i=279\" DataType=\"Double\" AccessLevel=\"2\" UserAccessLevel=\"2\">\n    <DisplayName>Input1</DisplayName>\n    <References>\n      <Reference ReferenceType=\"ns=2;i=3\" IsForward=\"false\">ns=1;i=278</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=279</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=281\" BrowseName=\"2:Input2\" ParentNodeId=\"ns=1;i=279\" DataType=\"Double\" AccessLevel=\"2\" UserAccessLevel=\"2\">\n    <DisplayName>Input2</DisplayName>\n    <References>\n      <Reference ReferenceType=\"ns=2;i=3\" IsForward=\"false\">ns=1;i=242</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=279</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=282\" BrowseName=\"2:Input3\" ParentNodeId=\"ns=1;i=279\" DataType=\"Double\" AccessLevel=\"2\" UserAccessLevel=\"2\">\n    <DisplayName>Input3</DisplayName>\n    <References>\n      <Reference ReferenceType=\"ns=2;i=3\" IsForward=\"false\">ns=1;i=265</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=279</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=283\" BrowseName=\"2:ControlOut\" ParentNodeId=\"ns=1;i=279\" DataType=\"Double\">\n    <DisplayName>ControlOut</DisplayName>\n    <References>\n      <Reference ReferenceType=\"ns=2;i=3\">ns=1;i=273</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=279</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=284\" BrowseName=\"2:Description\" SymbolicName=\"DescriptionX\" ParentNodeId=\"ns=1;i=279\" DataType=\"LocalizedText\">\n    <DisplayName>Description</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=279</Reference>\n    </References>\n  </UAVariable>\n  <UAObject NodeId=\"ns=1;i=285\" BrowseName=\"2:Simulation\" ParentNodeId=\"ns=1;i=239\" EventNotifier=\"1\">\n    <DisplayName>Simulation</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=286</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=291</Reference>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=297</Reference>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=299</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=312</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=313</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=314</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=315</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=316</Reference>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=317</Reference>\n      <Reference ReferenceType=\"HasEventSource\" IsForward=\"false\">ns=1;i=239</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">ns=2;i=57</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=239</Reference>\n    </References>\n  </UAObject>\n  <UAVariable NodeId=\"ns=1;i=286\" BrowseName=\"CurrentState\" ParentNodeId=\"ns=1;i=285\" DataType=\"LocalizedText\">\n    <DisplayName>CurrentState</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=287</Reference>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=289</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=2760</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=285</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=287\" BrowseName=\"Id\" ParentNodeId=\"ns=1;i=286\" DataType=\"NodeId\">\n    <DisplayName>Id</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=286</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=289\" BrowseName=\"Number\" ParentNodeId=\"ns=1;i=286\" DataType=\"UInt32\">\n    <DisplayName>Number</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=286</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=291\" BrowseName=\"LastTransition\" ParentNodeId=\"ns=1;i=285\" DataType=\"LocalizedText\">\n    <DisplayName>LastTransition</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=292</Reference>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=294</Reference>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=295</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=2767</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=285</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=292\" BrowseName=\"Id\" ParentNodeId=\"ns=1;i=291\" DataType=\"NodeId\">\n    <DisplayName>Id</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=291</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=294\" BrowseName=\"Number\" ParentNodeId=\"ns=1;i=291\" DataType=\"UInt32\">\n    <DisplayName>Number</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=291</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=295\" BrowseName=\"TransitionTime\" ParentNodeId=\"ns=1;i=291\" DataType=\"i=294\">\n    <DisplayName>TransitionTime</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=291</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=297\" BrowseName=\"Deletable\" ParentNodeId=\"ns=1;i=285\" DataType=\"Boolean\">\n    <DisplayName>Deletable</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=285</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=299\" BrowseName=\"RecycleCount\" ParentNodeId=\"ns=1;i=285\" DataType=\"Int32\">\n    <DisplayName>RecycleCount</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=285</Reference>\n    </References>\n  </UAVariable>\n  <UAMethod NodeId=\"ns=1;i=312\" BrowseName=\"Start\" ParentNodeId=\"ns=1;i=285\" MethodDeclarationId=\"i=2426\">\n    <DisplayName>Start</DisplayName>\n    <Description>Causes the Program to transition from the Ready state to the Running state.</Description>\n    <References>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=285</Reference>\n    </References>\n  </UAMethod>\n  <UAMethod NodeId=\"ns=1;i=313\" BrowseName=\"Suspend\" ParentNodeId=\"ns=1;i=285\" MethodDeclarationId=\"i=2427\">\n    <DisplayName>Suspend</DisplayName>\n    <Description>Causes the Program to transition from the Running state to the Suspended state.</Description>\n    <References>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=285</Reference>\n    </References>\n  </UAMethod>\n  <UAMethod NodeId=\"ns=1;i=314\" BrowseName=\"Resume\" ParentNodeId=\"ns=1;i=285\" MethodDeclarationId=\"i=2428\">\n    <DisplayName>Resume</DisplayName>\n    <Description>Causes the Program to transition from the Suspended state to the Running state.</Description>\n    <References>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=285</Reference>\n    </References>\n  </UAMethod>\n  <UAMethod NodeId=\"ns=1;i=315\" BrowseName=\"Halt\" ParentNodeId=\"ns=1;i=285\" MethodDeclarationId=\"i=2429\">\n    <DisplayName>Halt</DisplayName>\n    <Description>Causes the Program to transition from the Ready, Running or Suspended state to the Halted state.</Description>\n    <References>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=285</Reference>\n    </References>\n  </UAMethod>\n  <UAMethod NodeId=\"ns=1;i=316\" BrowseName=\"Reset\" ParentNodeId=\"ns=1;i=285\" MethodDeclarationId=\"i=2430\">\n    <DisplayName>Reset</DisplayName>\n    <Description>Causes the Program to transition from the Halted state to the Ready state.</Description>\n    <References>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=285</Reference>\n    </References>\n  </UAMethod>\n  <UAVariable NodeId=\"ns=1;i=317\" BrowseName=\"2:UpdateRate\" ParentNodeId=\"ns=1;i=285\" DataType=\"UInt32\" AccessLevel=\"3\" UserAccessLevel=\"3\">\n    <DisplayName>UpdateRate</DisplayName>\n    <Description>The rate at which the simulation runs.</Description>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=285</Reference>\n    </References>\n  </UAVariable>\n  <UAObject NodeId=\"ns=1;i=318\" BrowseName=\"1:Boiler #4\" SymbolicName=\"BoilerDelta\" ParentNodeId=\"ns=1;i=1\">\n    <DisplayName>Boiler #4</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=319</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=334</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=342</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=350</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=354</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=358</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=364</Reference>\n      <Reference ReferenceType=\"HasNotifier\">ns=1;i=319</Reference>\n      <Reference ReferenceType=\"HasNotifier\">ns=1;i=334</Reference>\n      <Reference ReferenceType=\"HasNotifier\">ns=1;i=342</Reference>\n      <Reference ReferenceType=\"HasEventSource\">ns=1;i=364</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">ns=2;i=151</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=1</Reference>\n    </References>\n  </UAObject>\n  <UAObject NodeId=\"ns=1;i=319\" BrowseName=\"1:InputPipe\" ParentNodeId=\"ns=1;i=318\" EventNotifier=\"1\">\n    <DisplayName>Boiler #4: Pipe1001</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=320</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=327</Reference>\n      <Reference ReferenceType=\"HasNotifier\" IsForward=\"false\">ns=1;i=318</Reference>\n      <Reference ReferenceType=\"HasNotifier\">ns=1;i=320</Reference>\n      <Reference ReferenceType=\"ns=2;i=1\">ns=1;i=334</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">ns=2;i=120</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=318</Reference>\n    </References>\n  </UAObject>\n  <UAObject NodeId=\"ns=1;i=320\" BrowseName=\"2:FTX001\" SymbolicName=\"FlowTransmitter1\" ParentNodeId=\"ns=1;i=319\" EventNotifier=\"1\">\n    <DisplayName>FlowTransmitter1</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=321</Reference>\n      <Reference ReferenceType=\"HasNotifier\" IsForward=\"false\">ns=1;i=319</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">ns=2;i=50</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=319</Reference>\n    </References>\n  </UAObject>\n  <UAVariable NodeId=\"ns=1;i=321\" BrowseName=\"2:Output\" ParentNodeId=\"ns=1;i=320\" DataType=\"Double\">\n    <DisplayName>Output</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=325</Reference>\n      <Reference ReferenceType=\"ns=2;i=3\">ns=1;i=351</Reference>\n      <Reference ReferenceType=\"ns=2;i=3\">ns=1;i=360</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=2368</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=320</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=325\" BrowseName=\"EURange\" ParentNodeId=\"ns=1;i=321\" DataType=\"i=884\">\n    <DisplayName>EURange</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=321</Reference>\n    </References>\n  </UAVariable>\n  <UAObject NodeId=\"ns=1;i=327\" BrowseName=\"2:ValveX001\" SymbolicName=\"Valve\" ParentNodeId=\"ns=1;i=319\" EventNotifier=\"1\">\n    <DisplayName>Valve</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=328</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">ns=2;i=28</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=319</Reference>\n    </References>\n  </UAObject>\n  <UAVariable NodeId=\"ns=1;i=328\" BrowseName=\"2:Input\" ParentNodeId=\"ns=1;i=327\" DataType=\"Double\" AccessLevel=\"2\" UserAccessLevel=\"2\">\n    <DisplayName>Input</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=332</Reference>\n      <Reference ReferenceType=\"ns=2;i=3\" IsForward=\"false\">ns=1;i=353</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=2368</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=327</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=332\" BrowseName=\"EURange\" ParentNodeId=\"ns=1;i=328\" DataType=\"i=884\">\n    <DisplayName>EURange</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=328</Reference>\n    </References>\n  </UAVariable>\n  <UAObject NodeId=\"ns=1;i=334\" BrowseName=\"1:Drum\" ParentNodeId=\"ns=1;i=318\" EventNotifier=\"1\">\n    <DisplayName>Boiler #4: Drum1001</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=335</Reference>\n      <Reference ReferenceType=\"HasNotifier\" IsForward=\"false\">ns=1;i=318</Reference>\n      <Reference ReferenceType=\"ns=2;i=1\" IsForward=\"false\">ns=1;i=319</Reference>\n      <Reference ReferenceType=\"HasNotifier\">ns=1;i=335</Reference>\n      <Reference ReferenceType=\"ns=2;i=2\">ns=1;i=342</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">ns=2;i=135</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=318</Reference>\n    </References>\n  </UAObject>\n  <UAObject NodeId=\"ns=1;i=335\" BrowseName=\"2:LIX001\" SymbolicName=\"LevelIndicator\" ParentNodeId=\"ns=1;i=334\" EventNotifier=\"1\">\n    <DisplayName>LIX001</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=336</Reference>\n      <Reference ReferenceType=\"HasNotifier\" IsForward=\"false\">ns=1;i=334</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">ns=2;i=43</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=334</Reference>\n    </References>\n  </UAObject>\n  <UAVariable NodeId=\"ns=1;i=336\" BrowseName=\"2:Output\" ParentNodeId=\"ns=1;i=335\" DataType=\"Number\">\n    <DisplayName>Output</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=340</Reference>\n      <Reference ReferenceType=\"ns=2;i=3\">ns=1;i=355</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=2368</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=335</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=340\" BrowseName=\"EURange\" ParentNodeId=\"ns=1;i=336\" DataType=\"i=884\">\n    <DisplayName>EURange</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=336</Reference>\n    </References>\n  </UAVariable>\n  <UAObject NodeId=\"ns=1;i=342\" BrowseName=\"1:OutputPipe\" ParentNodeId=\"ns=1;i=318\" EventNotifier=\"1\">\n    <DisplayName>Boiler #4: Pipe1002</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=343</Reference>\n      <Reference ReferenceType=\"HasNotifier\" IsForward=\"false\">ns=1;i=318</Reference>\n      <Reference ReferenceType=\"ns=2;i=2\" IsForward=\"false\">ns=1;i=334</Reference>\n      <Reference ReferenceType=\"HasNotifier\">ns=1;i=343</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">ns=2;i=143</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=318</Reference>\n    </References>\n  </UAObject>\n  <UAObject NodeId=\"ns=1;i=343\" BrowseName=\"2:FTX002\" SymbolicName=\"FlowTransmitter2\" ParentNodeId=\"ns=1;i=342\" EventNotifier=\"1\">\n    <DisplayName>FTX002</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=344</Reference>\n      <Reference ReferenceType=\"HasNotifier\" IsForward=\"false\">ns=1;i=342</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">ns=2;i=50</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=342</Reference>\n    </References>\n  </UAObject>\n  <UAVariable NodeId=\"ns=1;i=344\" BrowseName=\"2:Output\" ParentNodeId=\"ns=1;i=343\" DataType=\"Double\">\n    <DisplayName>Output</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=348</Reference>\n      <Reference ReferenceType=\"ns=2;i=3\">ns=1;i=361</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=2368</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=343</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=348\" BrowseName=\"EURange\" ParentNodeId=\"ns=1;i=344\" DataType=\"i=884\">\n    <DisplayName>EURange</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=344</Reference>\n    </References>\n  </UAVariable>\n  <UAObject NodeId=\"ns=1;i=350\" BrowseName=\"1:FlowController\" ParentNodeId=\"ns=1;i=318\">\n    <DisplayName>Boiler #4: FC1001</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=351</Reference>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=352</Reference>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=353</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">ns=2;i=39</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=318</Reference>\n    </References>\n  </UAObject>\n  <UAVariable NodeId=\"ns=1;i=351\" BrowseName=\"2:Measurement\" ParentNodeId=\"ns=1;i=350\" DataType=\"Double\">\n    <DisplayName>Measurement</DisplayName>\n    <References>\n      <Reference ReferenceType=\"ns=2;i=3\" IsForward=\"false\">ns=1;i=321</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=350</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=352\" BrowseName=\"2:SetPoint\" ParentNodeId=\"ns=1;i=350\" DataType=\"Double\" AccessLevel=\"3\" UserAccessLevel=\"3\">\n    <DisplayName>SetPoint</DisplayName>\n    <References>\n      <Reference ReferenceType=\"ns=2;i=3\" IsForward=\"false\">ns=1;i=362</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=350</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=353\" BrowseName=\"2:ControlOut\" ParentNodeId=\"ns=1;i=350\" DataType=\"Double\">\n    <DisplayName>ControlOut</DisplayName>\n    <References>\n      <Reference ReferenceType=\"ns=2;i=3\">ns=1;i=328</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=350</Reference>\n    </References>\n  </UAVariable>\n  <UAObject NodeId=\"ns=1;i=354\" BrowseName=\"1:LevelController\" ParentNodeId=\"ns=1;i=318\">\n    <DisplayName>Boiler #4: LC1001</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=355</Reference>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=356</Reference>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=357</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">ns=2;i=35</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=318</Reference>\n    </References>\n  </UAObject>\n  <UAVariable NodeId=\"ns=1;i=355\" BrowseName=\"2:Measurement\" ParentNodeId=\"ns=1;i=354\" DataType=\"Double\">\n    <DisplayName>Measurement</DisplayName>\n    <References>\n      <Reference ReferenceType=\"ns=2;i=3\" IsForward=\"false\">ns=1;i=336</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=354</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=356\" BrowseName=\"2:SetPoint\" ParentNodeId=\"ns=1;i=354\" DataType=\"Double\" AccessLevel=\"3\" UserAccessLevel=\"3\">\n    <DisplayName>SetPoint</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=354</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=357\" BrowseName=\"2:ControlOut\" ParentNodeId=\"ns=1;i=354\" DataType=\"Double\">\n    <DisplayName>ControlOut</DisplayName>\n    <References>\n      <Reference ReferenceType=\"ns=2;i=3\">ns=1;i=359</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=354</Reference>\n    </References>\n  </UAVariable>\n  <UAObject NodeId=\"ns=1;i=358\" BrowseName=\"1:CustomController\" ParentNodeId=\"ns=1;i=318\">\n    <DisplayName>Boiler #4: CC1001</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=359</Reference>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=360</Reference>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=361</Reference>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=362</Reference>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=363</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">ns=2;i=22</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=318</Reference>\n    </References>\n  </UAObject>\n  <UAVariable NodeId=\"ns=1;i=359\" BrowseName=\"2:Input1\" ParentNodeId=\"ns=1;i=358\" DataType=\"Double\" AccessLevel=\"2\" UserAccessLevel=\"2\">\n    <DisplayName>Input1</DisplayName>\n    <References>\n      <Reference ReferenceType=\"ns=2;i=3\" IsForward=\"false\">ns=1;i=357</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=358</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=360\" BrowseName=\"2:Input2\" ParentNodeId=\"ns=1;i=358\" DataType=\"Double\" AccessLevel=\"2\" UserAccessLevel=\"2\">\n    <DisplayName>Input2</DisplayName>\n    <References>\n      <Reference ReferenceType=\"ns=2;i=3\" IsForward=\"false\">ns=1;i=321</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=358</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=361\" BrowseName=\"2:Input3\" ParentNodeId=\"ns=1;i=358\" DataType=\"Double\" AccessLevel=\"2\" UserAccessLevel=\"2\">\n    <DisplayName>Input3</DisplayName>\n    <References>\n      <Reference ReferenceType=\"ns=2;i=3\" IsForward=\"false\">ns=1;i=344</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=358</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=362\" BrowseName=\"2:ControlOut\" ParentNodeId=\"ns=1;i=358\" DataType=\"Double\">\n    <DisplayName>ControlOut</DisplayName>\n    <References>\n      <Reference ReferenceType=\"ns=2;i=3\">ns=1;i=352</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=358</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=363\" BrowseName=\"2:Description\" SymbolicName=\"DescriptionX\" ParentNodeId=\"ns=1;i=358\" DataType=\"LocalizedText\">\n    <DisplayName>Description</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=358</Reference>\n    </References>\n  </UAVariable>\n  <UAObject NodeId=\"ns=1;i=364\" BrowseName=\"2:Simulation\" ParentNodeId=\"ns=1;i=318\" EventNotifier=\"1\">\n    <DisplayName>Simulation</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=365</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=370</Reference>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=376</Reference>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=378</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=391</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=392</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=393</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=394</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=395</Reference>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=396</Reference>\n      <Reference ReferenceType=\"HasEventSource\" IsForward=\"false\">ns=1;i=318</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">ns=2;i=57</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=318</Reference>\n    </References>\n  </UAObject>\n  <UAVariable NodeId=\"ns=1;i=365\" BrowseName=\"CurrentState\" ParentNodeId=\"ns=1;i=364\" DataType=\"LocalizedText\">\n    <DisplayName>CurrentState</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=366</Reference>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=368</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=2760</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=364</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=366\" BrowseName=\"Id\" ParentNodeId=\"ns=1;i=365\" DataType=\"NodeId\">\n    <DisplayName>Id</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=365</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=368\" BrowseName=\"Number\" ParentNodeId=\"ns=1;i=365\" DataType=\"UInt32\">\n    <DisplayName>Number</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=365</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=370\" BrowseName=\"LastTransition\" ParentNodeId=\"ns=1;i=364\" DataType=\"LocalizedText\">\n    <DisplayName>LastTransition</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=371</Reference>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=373</Reference>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=374</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=2767</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=364</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=371\" BrowseName=\"Id\" ParentNodeId=\"ns=1;i=370\" DataType=\"NodeId\">\n    <DisplayName>Id</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=370</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=373\" BrowseName=\"Number\" ParentNodeId=\"ns=1;i=370\" DataType=\"UInt32\">\n    <DisplayName>Number</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=370</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=374\" BrowseName=\"TransitionTime\" ParentNodeId=\"ns=1;i=370\" DataType=\"i=294\">\n    <DisplayName>TransitionTime</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=370</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=376\" BrowseName=\"Deletable\" ParentNodeId=\"ns=1;i=364\" DataType=\"Boolean\">\n    <DisplayName>Deletable</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=364</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=378\" BrowseName=\"RecycleCount\" ParentNodeId=\"ns=1;i=364\" DataType=\"Int32\">\n    <DisplayName>RecycleCount</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=364</Reference>\n    </References>\n  </UAVariable>\n  <UAMethod NodeId=\"ns=1;i=391\" BrowseName=\"Start\" ParentNodeId=\"ns=1;i=364\" MethodDeclarationId=\"i=2426\">\n    <DisplayName>Start</DisplayName>\n    <Description>Causes the Program to transition from the Ready state to the Running state.</Description>\n    <References>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=364</Reference>\n    </References>\n  </UAMethod>\n  <UAMethod NodeId=\"ns=1;i=392\" BrowseName=\"Suspend\" ParentNodeId=\"ns=1;i=364\" MethodDeclarationId=\"i=2427\">\n    <DisplayName>Suspend</DisplayName>\n    <Description>Causes the Program to transition from the Running state to the Suspended state.</Description>\n    <References>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=364</Reference>\n    </References>\n  </UAMethod>\n  <UAMethod NodeId=\"ns=1;i=393\" BrowseName=\"Resume\" ParentNodeId=\"ns=1;i=364\" MethodDeclarationId=\"i=2428\">\n    <DisplayName>Resume</DisplayName>\n    <Description>Causes the Program to transition from the Suspended state to the Running state.</Description>\n    <References>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=364</Reference>\n    </References>\n  </UAMethod>\n  <UAMethod NodeId=\"ns=1;i=394\" BrowseName=\"Halt\" ParentNodeId=\"ns=1;i=364\" MethodDeclarationId=\"i=2429\">\n    <DisplayName>Halt</DisplayName>\n    <Description>Causes the Program to transition from the Ready, Running or Suspended state to the Halted state.</Description>\n    <References>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=364</Reference>\n    </References>\n  </UAMethod>\n  <UAMethod NodeId=\"ns=1;i=395\" BrowseName=\"Reset\" ParentNodeId=\"ns=1;i=364\" MethodDeclarationId=\"i=2430\">\n    <DisplayName>Reset</DisplayName>\n    <Description>Causes the Program to transition from the Halted state to the Ready state.</Description>\n    <References>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=364</Reference>\n    </References>\n  </UAMethod>\n  <UAVariable NodeId=\"ns=1;i=396\" BrowseName=\"2:UpdateRate\" ParentNodeId=\"ns=1;i=364\" DataType=\"UInt32\" AccessLevel=\"3\" UserAccessLevel=\"3\">\n    <DisplayName>UpdateRate</DisplayName>\n    <Description>The rate at which the simulation runs.</Description>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=364</Reference>\n    </References>\n  </UAVariable>\n  <UAObject NodeId=\"ns=1;i=398\" BrowseName=\"1:Drums\">\n    <DisplayName>Drums</DisplayName>\n    <References>\n      <Reference ReferenceType=\"Organizes\" IsForward=\"false\">i=85</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=97</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=58</Reference>\n    </References>\n  </UAObject>\n  <UAObject NodeId=\"ns=1;i=399\" BrowseName=\"1:Pipes\">\n    <DisplayName>Pipes</DisplayName>\n    <References>\n      <Reference ReferenceType=\"Organizes\" IsForward=\"false\">i=85</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=82</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=105</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=161</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=184</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=240</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=263</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=319</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=342</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=58</Reference>\n    </References>\n  </UAObject>\n</UANodeSet>"
  },
  {
    "path": "SemanticData/Tests/AddressSpaceComplianceTestToolUnitTests/XMLModels/DataTypeTest.ModelDesign.xml",
    "content": "﻿<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<?xml-stylesheet type=\"text/xsl\" href=\"XMLstylesheet\"?>\n<ModelDesign xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\" TargetNamespace=\"http://cas.eu/UA/CommServer/UnitTests/DataTypeTest\" TargetVersion=\"\" TargetPublicationDate=\"2019-04-14T00:00:00+02:00\" xmlns=\"http://opcfoundation.org/UA/ModelDesign.xsd\">\n  <Namespaces>\n    <Namespace Name=\"Name0\" Prefix=\"Prefix0\" InternalPrefix=\"http://opcfoundation.org/UA/\" XmlNamespace=\"http://opcfoundation.org/UA/\" XmlPrefix=\"Prefix1\" FilePath=\"\" Version=\"1.0\" PublicationDate=\"14.04.2019\">http://opcfoundation.org/UA/</Namespace>\n    <Namespace Name=\"Name2\" Prefix=\"Prefix2\" InternalPrefix=\"http://cas.eu/UA/CommServer/UnitTests/DataTypeTest\" XmlNamespace=\"http://cas.eu/UA/CommServer/UnitTests/DataTypeTest\" XmlPrefix=\"Prefix3\" FilePath=\"\" Version=\"1.0\" PublicationDate=\"14.04.2019\">http://cas.eu/UA/CommServer/UnitTests/DataTypeTest</Namespace>\n    <Namespace Name=\"Name4\" Prefix=\"Prefix4\" InternalPrefix=\"http://cas.eu/UA/CommServer/UnitTests/ReferenceTest\" XmlNamespace=\"http://cas.eu/UA/CommServer/UnitTests/ReferenceTest\" XmlPrefix=\"Prefix5\" FilePath=\"\" Version=\"1.0\" PublicationDate=\"14.04.2019\">http://cas.eu/UA/CommServer/UnitTests/ReferenceTest</Namespace>\n  </Namespaces>\n  <DataType xmlns:q1=\"http://cas.eu/UA/CommServer/UnitTests/DataTypeTest\" SymbolicName=\"q1:AbstractEnumerationDataType\" xmlns:q2=\"http://opcfoundation.org/UA/\" BaseType=\"q2:Enumeration\" IsAbstract=\"true\">\n    <ClassName />\n    <Fields>\n      <Field Name=\"Field1\" Identifier=\"0\" BitMask=\"\" ArrayDimensions=\"\" />\n      <Field Name=\"Field2\" Identifier=\"1\" BitMask=\"\" ArrayDimensions=\"\" />\n    </Fields>\n  </DataType>\n  <DataType xmlns:q3=\"http://cas.eu/UA/CommServer/UnitTests/DataTypeTest\" SymbolicName=\"q3:EnumerationDataType\" BaseType=\"q3:AbstractEnumerationDataType\">\n    <Description>Enumeration DataType derived from abstract type</Description>\n    <Children>\n      <Property xmlns:q4=\"http://opcfoundation.org/UA/\" SymbolicName=\"q4:EnumValues\" ModellingRule=\"Mandatory\" DataType=\"q4:EnumValueType\" ValueRank=\"Array\">\n        <DefaultValue>\n          <ListOfExtensionObject xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n            <ExtensionObject>\n              <TypeId>\n                <Identifier>i=7616</Identifier>\n              </TypeId>\n              <Body>\n                <EnumValueType>\n                  <Value>1</Value>\n                  <DisplayName>\n                    <Locale></Locale>\n                    <Text>Field3</Text>\n                  </DisplayName>\n                  <Description p5:nil=\"true\" xmlns:p5=\"http://www.w3.org/2001/XMLSchema-instance\" />\n                </EnumValueType>\n              </Body>\n            </ExtensionObject>\n          </ListOfExtensionObject>\n        </DefaultValue>\n      </Property>\n    </Children>\n    <ClassName />\n    <Fields>\n      <Field Name=\"Field3\" Identifier=\"1\" BitMask=\"\" ArrayDimensions=\"\" />\n    </Fields>\n  </DataType>\n  <DataType xmlns:q5=\"http://cas.eu/UA/CommServer/UnitTests/DataTypeTest\" SymbolicName=\"q5:AbstractStructure\" xmlns:q6=\"http://opcfoundation.org/UA/\" BaseType=\"q6:Structure\" IsAbstract=\"true\">\n    <Description>Abstract structure</Description>\n    <ClassName />\n    <Fields>\n      <Field Name=\"Number\" Identifier=\"-1\" BitMask=\"\" DataType=\"q6:Number\" ArrayDimensions=\"\" />\n    </Fields>\n  </DataType>\n  <DataType xmlns:q7=\"http://cas.eu/UA/CommServer/UnitTests/DataTypeTest\" SymbolicName=\"q7:DerivedStructure\" BaseType=\"q7:AbstractStructure\">\n    <ClassName />\n    <Fields>\n      <Field Name=\"Number\" Identifier=\"-1\" BitMask=\"\" xmlns:q8=\"http://opcfoundation.org/UA/\" DataType=\"q8:Int32\" ArrayDimensions=\"\">\n        <Description>Derived from Number</Description>\n      </Field>\n    </Fields>\n  </DataType>\n</ModelDesign>"
  },
  {
    "path": "SemanticData/Tests/AddressSpaceComplianceTestToolUnitTests/XMLModels/DataTypeTest.NodeSet2.xml",
    "content": "﻿<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<UANodeSet xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\" LastModified=\"2015-04-03T15:25:33.2948054Z\" xmlns=\"http://opcfoundation.org/UA/2011/03/UANodeSet.xsd\">\n  <NamespaceUris>\n    <Uri>http://cas.eu/UA/CommServer/UnitTests/DataTypeTest</Uri>\n  </NamespaceUris>\n  <Aliases>\n    <Alias Alias=\"Boolean\">i=1</Alias>\n    <Alias Alias=\"SByte\">i=2</Alias>\n    <Alias Alias=\"Byte\">i=3</Alias>\n    <Alias Alias=\"Int16\">i=4</Alias>\n    <Alias Alias=\"UInt16\">i=5</Alias>\n    <Alias Alias=\"Int32\">i=6</Alias>\n    <Alias Alias=\"UInt32\">i=7</Alias>\n    <Alias Alias=\"Int64\">i=8</Alias>\n    <Alias Alias=\"UInt64\">i=9</Alias>\n    <Alias Alias=\"Float\">i=10</Alias>\n    <Alias Alias=\"Double\">i=11</Alias>\n    <Alias Alias=\"DateTime\">i=13</Alias>\n    <Alias Alias=\"String\">i=12</Alias>\n    <Alias Alias=\"ByteString\">i=15</Alias>\n    <Alias Alias=\"Guid\">i=14</Alias>\n    <Alias Alias=\"XmlElement\">i=16</Alias>\n    <Alias Alias=\"NodeId\">i=17</Alias>\n    <Alias Alias=\"ExpandedNodeId\">i=18</Alias>\n    <Alias Alias=\"QualifiedName\">i=20</Alias>\n    <Alias Alias=\"LocalizedText\">i=21</Alias>\n    <Alias Alias=\"StatusCode\">i=19</Alias>\n    <Alias Alias=\"Structure\">i=22</Alias>\n    <Alias Alias=\"Number\">i=26</Alias>\n    <Alias Alias=\"Integer\">i=27</Alias>\n    <Alias Alias=\"UInteger\">i=28</Alias>\n    <Alias Alias=\"HasComponent\">i=47</Alias>\n    <Alias Alias=\"HasProperty\">i=46</Alias>\n    <Alias Alias=\"Organizes\">i=35</Alias>\n    <Alias Alias=\"HasEventSource\">i=36</Alias>\n    <Alias Alias=\"HasNotifier\">i=48</Alias>\n    <Alias Alias=\"HasSubtype\">i=45</Alias>\n    <Alias Alias=\"HasTypeDefinition\">i=40</Alias>\n    <Alias Alias=\"HasModellingRule\">i=37</Alias>\n    <Alias Alias=\"HasEncoding\">i=38</Alias>\n    <Alias Alias=\"HasDescription\">i=39</Alias>\n  </Aliases>\n  <UADataType NodeId=\"ns=1;i=9\" BrowseName=\"1:AbstractEnumerationDataType\" IsAbstract=\"true\">\n    <DisplayName>AbstractEnumerationDataType</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=10</Reference>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=29</Reference>\n    </References>\n    <Definition Name=\"AbstractEnumerationDataType\">\n      <Field Name=\"Field1\" Value=\"0\" />\n      <Field Name=\"Field2\" Value=\"1\" />\n    </Definition>\n  </UADataType>\n  <UAVariable NodeId=\"ns=1;i=10\" BrowseName=\"EnumStrings\" ParentNodeId=\"ns=1;i=9\" DataType=\"LocalizedText\" ValueRank=\"1\">\n    <DisplayName>EnumStrings</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=9</Reference>\n    </References>\n    <Value>\n      <ListOfLocalizedText xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <LocalizedText>\n          <Locale>\n          </Locale>\n          <Text>Field1</Text>\n        </LocalizedText>\n        <LocalizedText>\n          <Locale>\n          </Locale>\n          <Text>Field2</Text>\n        </LocalizedText>\n      </ListOfLocalizedText>\n    </Value>\n  </UAVariable>\n  <UADataType NodeId=\"ns=1;i=11\" BrowseName=\"1:EnumerationDataType\">\n    <DisplayName>EnumerationDataType</DisplayName>\n    <Description>Enumeration DataType derived from abstract type</Description>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=12</Reference>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">ns=1;i=9</Reference>\n    </References>\n    <Definition Name=\"EnumerationDataType\">\n      <Field Name=\"Field3\" Value=\"1\" />\n    </Definition>\n  </UADataType>\n  <UAVariable NodeId=\"ns=1;i=12\" BrowseName=\"EnumValues\" ParentNodeId=\"ns=1;i=11\" DataType=\"i=7594\" ValueRank=\"1\">\n    <DisplayName>EnumValues</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=11</Reference>\n    </References>\n    <Value>\n      <ListOfExtensionObject xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=7616</Identifier>\n          </TypeId>\n          <Body>\n            <EnumValueType>\n              <Value>1</Value>\n              <DisplayName>\n                <Locale>\n                </Locale>\n                <Text>Field3</Text>\n              </DisplayName>\n              <Description p5:nil=\"true\" xmlns:p5=\"http://www.w3.org/2001/XMLSchema-instance\" />\n            </EnumValueType>\n          </Body>\n        </ExtensionObject>\n      </ListOfExtensionObject>\n    </Value>\n  </UAVariable>\n  <UADataType NodeId=\"ns=1;i=13\" BrowseName=\"1:AbstractStructure\" IsAbstract=\"true\">\n    <DisplayName>AbstractStructure</DisplayName>\n    <Description>Abstract structure</Description>\n    <References>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=22</Reference>\n    </References>\n    <Definition Name=\"AbstractStructure\">\n      <Field Name=\"Number\" DataType=\"i=26\" />\n    </Definition>\n  </UADataType>\n  <UADataType NodeId=\"ns=1;i=22\" BrowseName=\"1:DerivedStructure\">\n    <DisplayName>DerivedStructure</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">ns=1;i=13</Reference>\n    </References>\n    <Definition Name=\"DerivedStructure\" BaseType=\"0:1:DerivedStructure\">\n      <Field Name=\"Number\" DataType=\"i=6\">\n        <Description>Derived from Number</Description>\n      </Field>\n    </Definition>\n  </UADataType>\n  <UAObject NodeId=\"ns=1;i=14\" BrowseName=\"Default XML\" SymbolicName=\"DefaultXml\">\n    <DisplayName>Default XML</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasEncoding\" IsForward=\"false\">ns=1;i=13</Reference>\n      <Reference ReferenceType=\"HasDescription\">ns=1;i=15</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=76</Reference>\n    </References>\n  </UAObject>\n  <UAObject NodeId=\"ns=1;i=23\" BrowseName=\"Default XML\" SymbolicName=\"DefaultXml\">\n    <DisplayName>Default XML</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasEncoding\" IsForward=\"false\">ns=1;i=22</Reference>\n      <Reference ReferenceType=\"HasDescription\">ns=1;i=24</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=76</Reference>\n    </References>\n  </UAObject>\n  <UAVariable NodeId=\"ns=1;i=2\" BrowseName=\"1:DataTypeTest\" SymbolicName=\"cas_XmlSchema\" DataType=\"ByteString\">\n    <DisplayName>DataTypeTest</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=4</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=15</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=24</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=92</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=72</Reference>\n    </References>\n    <Value>\n      <ByteString xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">PHhzOnNjaGVtYQ0KICB4bWxuczp4cz0iaHR0cDovL3d3dy53My5vcmcvMjAwMS9YTUxTY2hlbWEi\nDQogIHhtbG5zOnVhPSJodHRwOi8vb3BjZm91bmRhdGlvbi5vcmcvVUEvMjAwOC8wMi9UeXBlcy54\nc2QiDQogIHhtbG5zOnRucz0iaHR0cDovL2Nhcy5ldS9VQS9Db21tU2VydmVyL1VuaXRUZXN0cy9E\nYXRhVHlwZVRlc3QiDQogIHRhcmdldE5hbWVzcGFjZT0iaHR0cDovL2Nhcy5ldS9VQS9Db21tU2Vy\ndmVyL1VuaXRUZXN0cy9EYXRhVHlwZVRlc3QiDQogIGVsZW1lbnRGb3JtRGVmYXVsdD0icXVhbGlm\naWVkIg0KPg0KICA8eHM6aW1wb3J0IG5hbWVzcGFjZT0iaHR0cDovL29wY2ZvdW5kYXRpb24ub3Jn\nL1VBLyIgLz4NCg0KICA8eHM6c2ltcGxlVHlwZSAgbmFtZT0iQWJzdHJhY3RFbnVtZXJhdGlvbkRh\ndGFUeXBlIj4NCiAgICA8eHM6cmVzdHJpY3Rpb24gYmFzZT0ieHM6c3RyaW5nIj4NCiAgICAgIDx4\nczplbnVtZXJhdGlvbiB2YWx1ZT0iRmllbGQxXzAiIC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24g\ndmFsdWU9IkZpZWxkMl8xIiAvPg0KICAgIDwveHM6cmVzdHJpY3Rpb24+DQogIDwveHM6c2ltcGxl\nVHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iQWJzdHJhY3RFbnVtZXJhdGlvbkRhdGFUeXBlIiB0\neXBlPSJ0bnM6QWJzdHJhY3RFbnVtZXJhdGlvbkRhdGFUeXBlIiAvPg0KDQogIDx4czpjb21wbGV4\nVHlwZSBuYW1lPSJMaXN0T2ZBYnN0cmFjdEVudW1lcmF0aW9uRGF0YVR5cGUiPg0KICAgIDx4czpz\nZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkFic3RyYWN0RW51bWVyYXRpb25EYXRh\nVHlwZSIgdHlwZT0idG5zOkFic3RyYWN0RW51bWVyYXRpb25EYXRhVHlwZSIgbWluT2NjdXJzPSIw\nIiBtYXhPY2N1cnM9InVuYm91bmRlZCIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNv\nbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJMaXN0T2ZBYnN0cmFjdEVudW1lcmF0aW9u\nRGF0YVR5cGUiIHR5cGU9InRuczpMaXN0T2ZBYnN0cmFjdEVudW1lcmF0aW9uRGF0YVR5cGUiIG5p\nbGxhYmxlPSJ0cnVlIj48L3hzOmVsZW1lbnQ+DQoNCiAgPHhzOnNpbXBsZVR5cGUgIG5hbWU9IkVu\ndW1lcmF0aW9uRGF0YVR5cGUiPg0KICAgIDx4czphbm5vdGF0aW9uPg0KICAgICAgPHhzOmRvY3Vt\nZW50YXRpb24+RW51bWVyYXRpb24gRGF0YVR5cGUgZGVyaXZlZCBmcm9tIGFic3RyYWN0IHR5cGU8\nL3hzOmRvY3VtZW50YXRpb24+DQogICAgPC94czphbm5vdGF0aW9uPg0KICAgIDx4czpyZXN0cmlj\ndGlvbiBiYXNlPSJ4czpzdHJpbmciPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJGaWVs\nZDNfMSIgLz4NCiAgICA8L3hzOnJlc3RyaWN0aW9uPg0KICA8L3hzOnNpbXBsZVR5cGU+DQogIDx4\nczplbGVtZW50IG5hbWU9IkVudW1lcmF0aW9uRGF0YVR5cGUiIHR5cGU9InRuczpFbnVtZXJhdGlv\nbkRhdGFUeXBlIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJMaXN0T2ZFbnVtZXJhdGlv\nbkRhdGFUeXBlIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJF\nbnVtZXJhdGlvbkRhdGFUeXBlIiB0eXBlPSJ0bnM6RW51bWVyYXRpb25EYXRhVHlwZSIgbWluT2Nj\ndXJzPSIwIiBtYXhPY2N1cnM9InVuYm91bmRlZCIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8\nL3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJMaXN0T2ZFbnVtZXJhdGlvbkRh\ndGFUeXBlIiB0eXBlPSJ0bnM6TGlzdE9mRW51bWVyYXRpb25EYXRhVHlwZSIgbmlsbGFibGU9InRy\ndWUiPjwveHM6ZWxlbWVudD4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iQWJzdHJhY3RTdHJ1\nY3R1cmUiPg0KICAgIDx4czphbm5vdGF0aW9uPg0KICAgICAgPHhzOmRvY3VtZW50YXRpb24+QWJz\ndHJhY3Qgc3RydWN0dXJlPC94czpkb2N1bWVudGF0aW9uPg0KICAgIDwveHM6YW5ub3RhdGlvbj4N\nCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJOdW1iZXIiIHR5cGU9\nInVhOlZhcmlhbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hz\nOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJBYnN0cmFjdFN0cnVjdHVyZSIgdHlw\nZT0idG5zOkFic3RyYWN0U3RydWN0dXJlIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJM\naXN0T2ZBYnN0cmFjdFN0cnVjdHVyZSI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVs\nZW1lbnQgbmFtZT0iQWJzdHJhY3RTdHJ1Y3R1cmUiIHR5cGU9InRuczpBYnN0cmFjdFN0cnVjdHVy\nZSIgbWluT2NjdXJzPSIwIiBtYXhPY2N1cnM9InVuYm91bmRlZCIgbmlsbGFibGU9InRydWUiIC8+\nDQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQg\nbmFtZT0iTGlzdE9mQWJzdHJhY3RTdHJ1Y3R1cmUiIHR5cGU9InRuczpMaXN0T2ZBYnN0cmFjdFN0\ncnVjdHVyZSIgbmlsbGFibGU9InRydWUiPjwveHM6ZWxlbWVudD4NCg0KICA8eHM6Y29tcGxleFR5\ncGUgbmFtZT0iRGVyaXZlZFN0cnVjdHVyZSI+DQogICAgPHhzOmNvbXBsZXhDb250ZW50IG1peGVk\nPSJmYWxzZSI+DQogICAgICA8eHM6ZXh0ZW5zaW9uIGJhc2U9InRuczpBYnN0cmFjdFN0cnVjdHVy\nZSI+DQogICAgICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJO\ndW1iZXIiIHR5cGU9InhzOmludCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgICA8L3hzOnNlcXVl\nbmNlPg0KICAgICAgPC94czpleHRlbnNpb24+DQogICAgPC94czpjb21wbGV4Q29udGVudD4NCiAg\nPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iRGVyaXZlZFN0cnVjdHVyZSIg\ndHlwZT0idG5zOkRlcml2ZWRTdHJ1Y3R1cmUiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9\nIkxpc3RPZkRlcml2ZWRTdHJ1Y3R1cmUiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czpl\nbGVtZW50IG5hbWU9IkRlcml2ZWRTdHJ1Y3R1cmUiIHR5cGU9InRuczpEZXJpdmVkU3RydWN0dXJl\nIiBtaW5PY2N1cnM9IjAiIG1heE9jY3Vycz0idW5ib3VuZGVkIiBuaWxsYWJsZT0idHJ1ZSIgLz4N\nCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBu\nYW1lPSJMaXN0T2ZEZXJpdmVkU3RydWN0dXJlIiB0eXBlPSJ0bnM6TGlzdE9mRGVyaXZlZFN0cnVj\ndHVyZSIgbmlsbGFibGU9InRydWUiPjwveHM6ZWxlbWVudD4NCg0KPC94czpzY2hlbWE+</ByteString>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=4\" BrowseName=\"NamespaceUri\" ParentNodeId=\"ns=1;i=2\" DataType=\"String\">\n    <DisplayName>NamespaceUri</DisplayName>\n    <Description>A URI that uniquely identifies the dictionary.</Description>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=2</Reference>\n    </References>\n    <Value>\n      <String xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">http://cas.eu/UA/CommServer/UnitTests/DataTypeTest</String>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=15\" BrowseName=\"1:AbstractStructure\" ParentNodeId=\"ns=1;i=2\" DataType=\"String\">\n    <DisplayName>AbstractStructure</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=69</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=2</Reference>\n    </References>\n    <Value>\n      <String xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">//xs:element[@name='AbstractStructure']</String>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=24\" BrowseName=\"1:DerivedStructure\" ParentNodeId=\"ns=1;i=2\" DataType=\"String\">\n    <DisplayName>DerivedStructure</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=69</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=2</Reference>\n    </References>\n    <Value>\n      <String xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">//xs:element[@name='DerivedStructure']</String>\n    </Value>\n  </UAVariable>\n  <UAObject NodeId=\"ns=1;i=18\" BrowseName=\"Default Binary\" SymbolicName=\"DefaultBinary\">\n    <DisplayName>Default Binary</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasEncoding\" IsForward=\"false\">ns=1;i=13</Reference>\n      <Reference ReferenceType=\"HasDescription\">ns=1;i=19</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=76</Reference>\n    </References>\n  </UAObject>\n  <UAObject NodeId=\"ns=1;i=27\" BrowseName=\"Default Binary\" SymbolicName=\"DefaultBinary\">\n    <DisplayName>Default Binary</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasEncoding\" IsForward=\"false\">ns=1;i=22</Reference>\n      <Reference ReferenceType=\"HasDescription\">ns=1;i=28</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=76</Reference>\n    </References>\n  </UAObject>\n  <UAVariable NodeId=\"ns=1;i=5\" BrowseName=\"1:DataTypeTest\" SymbolicName=\"cas_BinarySchema\" DataType=\"ByteString\">\n    <DisplayName>DataTypeTest</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=7</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=19</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=28</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=93</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=72</Reference>\n    </References>\n    <Value>\n      <ByteString xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">PG9wYzpUeXBlRGljdGlvbmFyeQ0KICB4bWxuczpvcGM9Imh0dHA6Ly9vcGNmb3VuZGF0aW9uLm9y\nZy9CaW5hcnlTY2hlbWEvIg0KICB4bWxuczp4c2k9Imh0dHA6Ly93d3cudzMub3JnLzIwMDEvWE1M\nU2NoZW1hLWluc3RhbmNlIg0KICB4bWxuczp1YT0iaHR0cDovL29wY2ZvdW5kYXRpb24ub3JnL1VB\nLyINCiAgeG1sbnM6dG5zPSJodHRwOi8vY2FzLmV1L1VBL0NvbW1TZXJ2ZXIvVW5pdFRlc3RzL0Rh\ndGFUeXBlVGVzdCINCiAgRGVmYXVsdEJ5dGVPcmRlcj0iTGl0dGxlRW5kaWFuIg0KICBUYXJnZXRO\nYW1lc3BhY2U9Imh0dHA6Ly9jYXMuZXUvVUEvQ29tbVNlcnZlci9Vbml0VGVzdHMvRGF0YVR5cGVU\nZXN0Ig0KPg0KICA8IS0tIFRoaXMgRmlsZSB3YXMgZ2VuZXJhdGVkIG9uIDIwMTUtMDQtMDMgYW5k\nIHN1cHBvcnRzIHRoZSBzcGVjaWZpY2F0aW9ucyBzdXBwb3J0ZWQgYnkgdmVyc2lvbiAxLjIuMjYu\nMjgxNDYgb2YgdGhlIE9QQyBVQSBkZWxpdmVyYWJsZXMuIC0tPg0KICA8b3BjOkltcG9ydCBOYW1l\nc3BhY2U9Imh0dHA6Ly9vcGNmb3VuZGF0aW9uLm9yZy9VQS8iIExvY2F0aW9uPSIuQmluYXJ5U2No\nZW1hLmJzZCIvPg0KDQogIDxvcGM6RW51bWVyYXRlZFR5cGUgTmFtZT0iQWJzdHJhY3RFbnVtZXJh\ndGlvbkRhdGFUeXBlIiBMZW5ndGhJbkJpdHM9IjMyIj4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1\nZSBOYW1lPSJGaWVsZDEiIFZhbHVlPSIwIiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5h\nbWU9IkZpZWxkMiIgVmFsdWU9IjEiIC8+DQogIDwvb3BjOkVudW1lcmF0ZWRUeXBlPg0KDQogIDxv\ncGM6RW51bWVyYXRlZFR5cGUgTmFtZT0iRW51bWVyYXRpb25EYXRhVHlwZSIgTGVuZ3RoSW5CaXRz\nPSIzMiI+DQogICAgPG9wYzpEb2N1bWVudGF0aW9uPkVudW1lcmF0aW9uIERhdGFUeXBlIGRlcml2\nZWQgZnJvbSBhYnN0cmFjdCB0eXBlPC9vcGM6RG9jdW1lbnRhdGlvbj4NCiAgICA8b3BjOkVudW1l\ncmF0ZWRWYWx1ZSBOYW1lPSJGaWVsZDEiIFZhbHVlPSIwIiAvPg0KICAgIDxvcGM6RW51bWVyYXRl\nZFZhbHVlIE5hbWU9IkZpZWxkMiIgVmFsdWU9IjEiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFs\ndWUgTmFtZT0iRmllbGQzIiBWYWx1ZT0iMSIgLz4NCiAgPC9vcGM6RW51bWVyYXRlZFR5cGU+DQoN\nCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJBYnN0cmFjdFN0cnVjdHVyZSIgQmFzZVR5cGU9\nInVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpEb2N1bWVudGF0aW9uPkFic3RyYWN0IHN0\ncnVjdHVyZTwvb3BjOkRvY3VtZW50YXRpb24+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOdW1iZXIi\nIFR5cGVOYW1lPSJ1YTpWYXJpYW50IiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8\nb3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IkRlcml2ZWRTdHJ1Y3R1cmUiIEJhc2VUeXBlPSJ0bnM6\nQWJzdHJhY3RTdHJ1Y3R1cmUiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTnVtYmVyIiBUeXBlTmFt\nZT0idWE6VmFyaWFudCIgU291cmNlVHlwZT0idG5zOkFic3RyYWN0U3RydWN0dXJlIiAvPg0KICAg\nIDxvcGM6RmllbGQgTmFtZT0iTnVtYmVyIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICA8L29w\nYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KPC9vcGM6VHlwZURpY3Rpb25hcnk+</ByteString>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=7\" BrowseName=\"NamespaceUri\" ParentNodeId=\"ns=1;i=5\" DataType=\"String\">\n    <DisplayName>NamespaceUri</DisplayName>\n    <Description>A URI that uniquely identifies the dictionary.</Description>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=5</Reference>\n    </References>\n    <Value>\n      <String xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">http://cas.eu/UA/CommServer/UnitTests/DataTypeTest</String>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=19\" BrowseName=\"1:AbstractStructure\" ParentNodeId=\"ns=1;i=5\" DataType=\"String\">\n    <DisplayName>AbstractStructure</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=69</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=5</Reference>\n    </References>\n    <Value>\n      <String xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">AbstractStructure</String>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=28\" BrowseName=\"1:DerivedStructure\" ParentNodeId=\"ns=1;i=5\" DataType=\"String\">\n    <DisplayName>DerivedStructure</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=69</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=5</Reference>\n    </References>\n    <Value>\n      <String xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">DerivedStructure</String>\n    </Value>\n  </UAVariable>\n</UANodeSet>"
  },
  {
    "path": "SemanticData/Tests/AddressSpaceComplianceTestToolUnitTests/XMLModels/ObjectTypeTest.NodeSet2.xml",
    "content": "﻿<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<UANodeSet xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\" LastModified=\"2015-04-03T15:25:20.5736134Z\" xmlns=\"http://opcfoundation.org/UA/2011/03/UANodeSet.xsd\">\n  <NamespaceUris>\n    <Uri>http://cas.eu/UA/CommServer/UnitTests/ObjectTypeTest</Uri>\n  </NamespaceUris>\n  <Aliases>\n    <Alias Alias=\"Boolean\">i=1</Alias>\n    <Alias Alias=\"SByte\">i=2</Alias>\n    <Alias Alias=\"Byte\">i=3</Alias>\n    <Alias Alias=\"Int16\">i=4</Alias>\n    <Alias Alias=\"UInt16\">i=5</Alias>\n    <Alias Alias=\"Int32\">i=6</Alias>\n    <Alias Alias=\"UInt32\">i=7</Alias>\n    <Alias Alias=\"Int64\">i=8</Alias>\n    <Alias Alias=\"UInt64\">i=9</Alias>\n    <Alias Alias=\"Float\">i=10</Alias>\n    <Alias Alias=\"Double\">i=11</Alias>\n    <Alias Alias=\"DateTime\">i=13</Alias>\n    <Alias Alias=\"String\">i=12</Alias>\n    <Alias Alias=\"ByteString\">i=15</Alias>\n    <Alias Alias=\"Guid\">i=14</Alias>\n    <Alias Alias=\"XmlElement\">i=16</Alias>\n    <Alias Alias=\"NodeId\">i=17</Alias>\n    <Alias Alias=\"ExpandedNodeId\">i=18</Alias>\n    <Alias Alias=\"QualifiedName\">i=20</Alias>\n    <Alias Alias=\"LocalizedText\">i=21</Alias>\n    <Alias Alias=\"StatusCode\">i=19</Alias>\n    <Alias Alias=\"Structure\">i=22</Alias>\n    <Alias Alias=\"Number\">i=26</Alias>\n    <Alias Alias=\"Integer\">i=27</Alias>\n    <Alias Alias=\"UInteger\">i=28</Alias>\n    <Alias Alias=\"HasComponent\">i=47</Alias>\n    <Alias Alias=\"HasProperty\">i=46</Alias>\n    <Alias Alias=\"Organizes\">i=35</Alias>\n    <Alias Alias=\"HasEventSource\">i=36</Alias>\n    <Alias Alias=\"HasNotifier\">i=48</Alias>\n    <Alias Alias=\"HasSubtype\">i=45</Alias>\n    <Alias Alias=\"HasTypeDefinition\">i=40</Alias>\n    <Alias Alias=\"HasModellingRule\">i=37</Alias>\n    <Alias Alias=\"HasEncoding\">i=38</Alias>\n    <Alias Alias=\"HasDescription\">i=39</Alias>\n  </Aliases>\n  <UAObjectType NodeId=\"ns=1;i=196\" BrowseName=\"1:ComplexObjectType\">\n    <DisplayName>ComplexObjectType</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=308</Reference>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=309</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=289</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=295</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=306</Reference>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=2004</Reference>\n    </References>\n  </UAObjectType>\n  <UAObject NodeId=\"ns=1;i=308\" BrowseName=\"1:ChildObject\" ParentNodeId=\"ns=1;i=196\" EventNotifier=\"1\">\n    <DisplayName>ChildObject</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=58</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=11510</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=196</Reference>\n    </References>\n  </UAObject>\n  <UAVariable NodeId=\"ns=1;i=309\" BrowseName=\"1:ChildProperty\" SymbolicName=\"BrowseName4node66\" ParentNodeId=\"ns=1;i=196\" DataType=\"LocalizedText\">\n    <DisplayName>ChildProperty</DisplayName>\n    <References>\n      <Reference ReferenceType=\"ns=1;i=195\" IsForward=\"false\">ns=1;i=289</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=196</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=289\" BrowseName=\"1:BrowseName4node1109\" SymbolicName=\"NameNotSet1109\" ParentNodeId=\"ns=1;i=196\" DataType=\"Number\">\n    <DisplayName>BrowseName4node1109</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=293</Reference>\n      <Reference ReferenceType=\"ns=1;i=195\">ns=1;i=309</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=2368</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=196</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=293\" BrowseName=\"EURange\" ParentNodeId=\"ns=1;i=289\" DataType=\"i=884\">\n    <DisplayName>EURange</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=289</Reference>\n    </References>\n  </UAVariable>\n  <UAMethod NodeId=\"ns=1;i=295\" BrowseName=\"1:ChildMethod\" ParentNodeId=\"ns=1;i=196\">\n    <DisplayName>ChildMethod</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=299</Reference>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=300</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=196</Reference>\n    </References>\n  </UAMethod>\n  <UAVariable NodeId=\"ns=1;i=299\" BrowseName=\"InputArguments\" ParentNodeId=\"ns=1;i=295\" DataType=\"i=296\" ValueRank=\"1\">\n    <DisplayName>InputArguments</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=295</Reference>\n    </References>\n    <Value>\n      <ListOfExtensionObject xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=297</Identifier>\n          </TypeId>\n          <Body>\n            <Argument>\n              <Name>Input1</Name>\n              <DataType>\n                <Identifier>i=6</Identifier>\n              </DataType>\n              <ValueRank>-1</ValueRank>\n              <ArrayDimensions />\n              <Description p5:nil=\"true\" xmlns:p5=\"http://www.w3.org/2001/XMLSchema-instance\" />\n            </Argument>\n          </Body>\n        </ExtensionObject>\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=297</Identifier>\n          </TypeId>\n          <Body>\n            <Argument>\n              <Name>Input2</Name>\n              <DataType>\n                <Identifier>i=6</Identifier>\n              </DataType>\n              <ValueRank>-1</ValueRank>\n              <ArrayDimensions />\n              <Description p5:nil=\"true\" xmlns:p5=\"http://www.w3.org/2001/XMLSchema-instance\" />\n            </Argument>\n          </Body>\n        </ExtensionObject>\n      </ListOfExtensionObject>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=300\" BrowseName=\"OutputArguments\" ParentNodeId=\"ns=1;i=295\" DataType=\"i=296\" ValueRank=\"1\">\n    <DisplayName>OutputArguments</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=295</Reference>\n    </References>\n    <Value>\n      <ListOfExtensionObject xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=297</Identifier>\n          </TypeId>\n          <Body>\n            <Argument>\n              <Name>Output1</Name>\n              <DataType>\n                <Identifier>i=6</Identifier>\n              </DataType>\n              <ValueRank>-1</ValueRank>\n              <ArrayDimensions />\n              <Description p5:nil=\"true\" xmlns:p5=\"http://www.w3.org/2001/XMLSchema-instance\" />\n            </Argument>\n          </Body>\n        </ExtensionObject>\n      </ListOfExtensionObject>\n    </Value>\n  </UAVariable>\n  <UAMethod NodeId=\"ns=1;i=306\" BrowseName=\"1:NonExecutableMethod\" ParentNodeId=\"ns=1;i=196\">\n    <DisplayName>NonExecutableMethod</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=196</Reference>\n    </References>\n  </UAMethod>\n  <UAReferenceType NodeId=\"ns=1;i=195\" BrowseName=\"1:FlowTo\">\n    <DisplayName>Flow to type</DisplayName>\n    <Description>It is test ReferenceType</Description>\n    <References>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=32</Reference>\n    </References>\n    <InverseName>FlowFrom</InverseName>\n  </UAReferenceType>\n  <UAMethod NodeId=\"ns=1;i=303\" BrowseName=\"1:ChildMethodComplexObjectType\">\n    <DisplayName>ChildMethodComplexObjectType</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=304</Reference>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=305</Reference>\n    </References>\n  </UAMethod>\n  <UAVariable NodeId=\"ns=1;i=304\" BrowseName=\"InputArguments\" ParentNodeId=\"ns=1;i=303\" DataType=\"i=296\" ValueRank=\"1\">\n    <DisplayName>InputArguments</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=303</Reference>\n    </References>\n    <Value>\n      <ListOfExtensionObject xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=297</Identifier>\n          </TypeId>\n          <Body>\n            <Argument>\n              <Name>Input1</Name>\n              <DataType>\n                <Identifier>i=6</Identifier>\n              </DataType>\n              <ValueRank>-1</ValueRank>\n              <ArrayDimensions />\n              <Description p5:nil=\"true\" xmlns:p5=\"http://www.w3.org/2001/XMLSchema-instance\" />\n            </Argument>\n          </Body>\n        </ExtensionObject>\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=297</Identifier>\n          </TypeId>\n          <Body>\n            <Argument>\n              <Name>Input2</Name>\n              <DataType>\n                <Identifier>i=6</Identifier>\n              </DataType>\n              <ValueRank>-1</ValueRank>\n              <ArrayDimensions />\n              <Description p5:nil=\"true\" xmlns:p5=\"http://www.w3.org/2001/XMLSchema-instance\" />\n            </Argument>\n          </Body>\n        </ExtensionObject>\n      </ListOfExtensionObject>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=305\" BrowseName=\"OutputArguments\" ParentNodeId=\"ns=1;i=303\" DataType=\"i=296\" ValueRank=\"1\">\n    <DisplayName>OutputArguments</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=303</Reference>\n    </References>\n    <Value>\n      <ListOfExtensionObject xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=297</Identifier>\n          </TypeId>\n          <Body>\n            <Argument>\n              <Name>Output1</Name>\n              <DataType>\n                <Identifier>i=6</Identifier>\n              </DataType>\n              <ValueRank>-1</ValueRank>\n              <ArrayDimensions />\n              <Description p5:nil=\"true\" xmlns:p5=\"http://www.w3.org/2001/XMLSchema-instance\" />\n            </Argument>\n          </Body>\n        </ExtensionObject>\n      </ListOfExtensionObject>\n    </Value>\n  </UAVariable>\n  <UAMethod NodeId=\"ns=1;i=307\" BrowseName=\"1:NonExecutableMethodComplexObjectType\" Executable=\"false\" UserExecutable=\"false\">\n    <DisplayName>NonExecutableMethodComplexObjectType</DisplayName>\n    <References />\n  </UAMethod>\n</UANodeSet>"
  },
  {
    "path": "SemanticData/Tests/AddressSpaceComplianceTestToolUnitTests/XMLModels/ReferenceTest.NodeSet2.xml",
    "content": "﻿<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<UANodeSet xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\" LastModified=\"2015-04-03T15:25:14.0254814Z\" xmlns=\"http://opcfoundation.org/UA/2011/03/UANodeSet.xsd\">\n  <NamespaceUris>\n    <Uri>http://cas.eu/UA/CommServer/UnitTests/ReferenceTest</Uri>\n  </NamespaceUris>\n  <Aliases>\n    <Alias Alias=\"Boolean\">i=1</Alias>\n    <Alias Alias=\"SByte\">i=2</Alias>\n    <Alias Alias=\"Byte\">i=3</Alias>\n    <Alias Alias=\"Int16\">i=4</Alias>\n    <Alias Alias=\"UInt16\">i=5</Alias>\n    <Alias Alias=\"Int32\">i=6</Alias>\n    <Alias Alias=\"UInt32\">i=7</Alias>\n    <Alias Alias=\"Int64\">i=8</Alias>\n    <Alias Alias=\"UInt64\">i=9</Alias>\n    <Alias Alias=\"Float\">i=10</Alias>\n    <Alias Alias=\"Double\">i=11</Alias>\n    <Alias Alias=\"DateTime\">i=13</Alias>\n    <Alias Alias=\"String\">i=12</Alias>\n    <Alias Alias=\"ByteString\">i=15</Alias>\n    <Alias Alias=\"Guid\">i=14</Alias>\n    <Alias Alias=\"XmlElement\">i=16</Alias>\n    <Alias Alias=\"NodeId\">i=17</Alias>\n    <Alias Alias=\"ExpandedNodeId\">i=18</Alias>\n    <Alias Alias=\"QualifiedName\">i=20</Alias>\n    <Alias Alias=\"LocalizedText\">i=21</Alias>\n    <Alias Alias=\"StatusCode\">i=19</Alias>\n    <Alias Alias=\"Structure\">i=22</Alias>\n    <Alias Alias=\"Number\">i=26</Alias>\n    <Alias Alias=\"Integer\">i=27</Alias>\n    <Alias Alias=\"UInteger\">i=28</Alias>\n    <Alias Alias=\"HasComponent\">i=47</Alias>\n    <Alias Alias=\"HasProperty\">i=46</Alias>\n    <Alias Alias=\"Organizes\">i=35</Alias>\n    <Alias Alias=\"HasEventSource\">i=36</Alias>\n    <Alias Alias=\"HasNotifier\">i=48</Alias>\n    <Alias Alias=\"HasSubtype\">i=45</Alias>\n    <Alias Alias=\"HasTypeDefinition\">i=40</Alias>\n    <Alias Alias=\"HasModellingRule\">i=37</Alias>\n    <Alias Alias=\"HasEncoding\">i=38</Alias>\n    <Alias Alias=\"HasDescription\">i=39</Alias>\n  </Aliases>\n  <UAReferenceType NodeId=\"ns=1;i=1\" BrowseName=\"1:ReferenceTypeTest\">\n    <DisplayName>ReferenceTypeTest</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=46</Reference>\n    </References>\n    <InverseName>FromSomwhere</InverseName>\n  </UAReferenceType>\n</UANodeSet>"
  },
  {
    "path": "SemanticData/Tests/AddressSpaceComplianceTestToolUnitTests/XMLModels/VariableTypeTest.NodeSet2.xml",
    "content": "﻿<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<UANodeSet xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\" LastModified=\"2015-04-03T15:25:27.3092814Z\" xmlns=\"http://opcfoundation.org/UA/2011/03/UANodeSet.xsd\">\n  <NamespaceUris>\n    <Uri>http://cas.eu/UA/CommServer/UnitTests/VariableTypeTest</Uri>\n  </NamespaceUris>\n  <Aliases>\n    <Alias Alias=\"Boolean\">i=1</Alias>\n    <Alias Alias=\"SByte\">i=2</Alias>\n    <Alias Alias=\"Byte\">i=3</Alias>\n    <Alias Alias=\"Int16\">i=4</Alias>\n    <Alias Alias=\"UInt16\">i=5</Alias>\n    <Alias Alias=\"Int32\">i=6</Alias>\n    <Alias Alias=\"UInt32\">i=7</Alias>\n    <Alias Alias=\"Int64\">i=8</Alias>\n    <Alias Alias=\"UInt64\">i=9</Alias>\n    <Alias Alias=\"Float\">i=10</Alias>\n    <Alias Alias=\"Double\">i=11</Alias>\n    <Alias Alias=\"DateTime\">i=13</Alias>\n    <Alias Alias=\"String\">i=12</Alias>\n    <Alias Alias=\"ByteString\">i=15</Alias>\n    <Alias Alias=\"Guid\">i=14</Alias>\n    <Alias Alias=\"XmlElement\">i=16</Alias>\n    <Alias Alias=\"NodeId\">i=17</Alias>\n    <Alias Alias=\"ExpandedNodeId\">i=18</Alias>\n    <Alias Alias=\"QualifiedName\">i=20</Alias>\n    <Alias Alias=\"LocalizedText\">i=21</Alias>\n    <Alias Alias=\"StatusCode\">i=19</Alias>\n    <Alias Alias=\"Structure\">i=22</Alias>\n    <Alias Alias=\"Number\">i=26</Alias>\n    <Alias Alias=\"Integer\">i=27</Alias>\n    <Alias Alias=\"UInteger\">i=28</Alias>\n    <Alias Alias=\"HasComponent\">i=47</Alias>\n    <Alias Alias=\"HasProperty\">i=46</Alias>\n    <Alias Alias=\"Organizes\">i=35</Alias>\n    <Alias Alias=\"HasEventSource\">i=36</Alias>\n    <Alias Alias=\"HasNotifier\">i=48</Alias>\n    <Alias Alias=\"HasSubtype\">i=45</Alias>\n    <Alias Alias=\"HasTypeDefinition\">i=40</Alias>\n    <Alias Alias=\"HasModellingRule\">i=37</Alias>\n    <Alias Alias=\"HasEncoding\">i=38</Alias>\n    <Alias Alias=\"HasDescription\">i=39</Alias>\n  </Aliases>\n  <UAVariableType NodeId=\"ns=1;i=8\" BrowseName=\"1:ComplexVariableType\" DataType=\"Number\">\n    <DisplayName>ComplexVariableType</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=14</Reference>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=2368</Reference>\n    </References>\n  </UAVariableType>\n  <UAVariable NodeId=\"ns=1;i=14\" BrowseName=\"1:VariableChild\" ParentNodeId=\"ns=1;i=8\" DataType=\"Int32\" AccessLevel=\"2\" UserAccessLevel=\"2\">\n    <DisplayName>VariableChild</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=8</Reference>\n    </References>\n  </UAVariable>\n  <UAVariableType NodeId=\"ns=1;i=15\" BrowseName=\"1:ArrayVariableType\" DataType=\"Int32\" ValueRank=\"3\" ArrayDimensions=\"0,0,0\">\n    <DisplayName>ArrayVariableType</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=63</Reference>\n    </References>\n  </UAVariableType>\n  <UAVariableType NodeId=\"ns=1;i=16\" BrowseName=\"1:SimpleVariableWithValueType\" DataType=\"Int32\">\n    <DisplayName>SimpleVariableWithValueType</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=63</Reference>\n    </References>\n    <Value>\n      <Int32 xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">1</Int32>\n    </Value>\n  </UAVariableType>\n</UANodeSet>"
  },
  {
    "path": "SemanticData/Tests/AddressSpaceComplianceTestToolUnitTests/XMLModels/tempuri.org.UA.Examples.BoilerType.NodeSet2.xml",
    "content": "﻿<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<UANodeSet xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\" LastModified=\"2016-07-02T09:52:43.8179578Z\" xmlns=\"http://opcfoundation.org/UA/2011/03/UANodeSet.xsd\">\n  <NamespaceUris>\n    <Uri>http://tempuri.org/UA/Examples/BoilerType</Uri>\n  </NamespaceUris>\n  <Aliases>\n    <Alias Alias=\"Boolean\">i=1</Alias>\n    <Alias Alias=\"SByte\">i=2</Alias>\n    <Alias Alias=\"Byte\">i=3</Alias>\n    <Alias Alias=\"Int16\">i=4</Alias>\n    <Alias Alias=\"UInt16\">i=5</Alias>\n    <Alias Alias=\"Int32\">i=6</Alias>\n    <Alias Alias=\"UInt32\">i=7</Alias>\n    <Alias Alias=\"Int64\">i=8</Alias>\n    <Alias Alias=\"UInt64\">i=9</Alias>\n    <Alias Alias=\"Float\">i=10</Alias>\n    <Alias Alias=\"Double\">i=11</Alias>\n    <Alias Alias=\"DateTime\">i=13</Alias>\n    <Alias Alias=\"String\">i=12</Alias>\n    <Alias Alias=\"ByteString\">i=15</Alias>\n    <Alias Alias=\"Guid\">i=14</Alias>\n    <Alias Alias=\"XmlElement\">i=16</Alias>\n    <Alias Alias=\"NodeId\">i=17</Alias>\n    <Alias Alias=\"ExpandedNodeId\">i=18</Alias>\n    <Alias Alias=\"QualifiedName\">i=20</Alias>\n    <Alias Alias=\"LocalizedText\">i=21</Alias>\n    <Alias Alias=\"StatusCode\">i=19</Alias>\n    <Alias Alias=\"Structure\">i=22</Alias>\n    <Alias Alias=\"Number\">i=26</Alias>\n    <Alias Alias=\"Integer\">i=27</Alias>\n    <Alias Alias=\"UInteger\">i=28</Alias>\n    <Alias Alias=\"HasComponent\">i=47</Alias>\n    <Alias Alias=\"HasProperty\">i=46</Alias>\n    <Alias Alias=\"Organizes\">i=35</Alias>\n    <Alias Alias=\"HasEventSource\">i=36</Alias>\n    <Alias Alias=\"HasNotifier\">i=48</Alias>\n    <Alias Alias=\"HasSubtype\">i=45</Alias>\n    <Alias Alias=\"HasTypeDefinition\">i=40</Alias>\n    <Alias Alias=\"HasModellingRule\">i=37</Alias>\n    <Alias Alias=\"HasEncoding\">i=38</Alias>\n    <Alias Alias=\"HasDescription\">i=39</Alias>\n  </Aliases>\n  <UAReferenceType NodeId=\"ns=1;i=1\" BrowseName=\"1:FlowTo\">\n    <DisplayName>FlowTo</DisplayName>\n    <Description>A reference that indicates a flow between two objects.</Description>\n    <References>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=32</Reference>\n    </References>\n    <InverseName>FlowFrom</InverseName>\n  </UAReferenceType>\n  <UAReferenceType NodeId=\"ns=1;i=2\" BrowseName=\"1:HotFlowTo\">\n    <DisplayName>HotFlowTo</DisplayName>\n    <Description>A reference that indicates a high temperature flow between two objects.</Description>\n    <References>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">ns=1;i=1</Reference>\n    </References>\n    <InverseName>HotFlowFrom</InverseName>\n  </UAReferenceType>\n  <UAReferenceType NodeId=\"ns=1;i=3\" BrowseName=\"1:SignalTo\">\n    <DisplayName>SignalTo</DisplayName>\n    <Description>A reference that indicates an electrical signal between two variables.</Description>\n    <References>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=32</Reference>\n    </References>\n    <InverseName>SignalFrom</InverseName>\n  </UAReferenceType>\n  <UAObjectType NodeId=\"ns=1;i=4\" BrowseName=\"1:GenericControllerType\">\n    <DisplayName>GenericControllerType</DisplayName>\n    <Description>A generic PID controller</Description>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=5</Reference>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=6</Reference>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=7</Reference>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=58</Reference>\n    </References>\n  </UAObjectType>\n  <UAVariable NodeId=\"ns=1;i=5\" BrowseName=\"1:Measurement\" ParentNodeId=\"ns=1;i=4\" DataType=\"Double\">\n    <DisplayName>Measurement</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=4</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=6\" BrowseName=\"1:SetPoint\" ParentNodeId=\"ns=1;i=4\" DataType=\"Double\" AccessLevel=\"3\" UserAccessLevel=\"3\">\n    <DisplayName>SetPoint</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=4</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=7\" BrowseName=\"1:ControlOut\" ParentNodeId=\"ns=1;i=4\" DataType=\"Double\">\n    <DisplayName>ControlOut</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=4</Reference>\n    </References>\n  </UAVariable>\n  <UAObjectType NodeId=\"ns=1;i=8\" BrowseName=\"1:GenericSensorType\">\n    <DisplayName>GenericSensorType</DisplayName>\n    <Description>A generic sensor that read a process value.</Description>\n    <References>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=9</Reference>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=58</Reference>\n    </References>\n  </UAObjectType>\n  <UAVariable NodeId=\"ns=1;i=9\" BrowseName=\"1:Output\" ParentNodeId=\"ns=1;i=8\" DataType=\"Double\">\n    <DisplayName>Output</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=13</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=2368</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=8</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=13\" BrowseName=\"EURange\" ParentNodeId=\"ns=1;i=9\" DataType=\"i=884\">\n    <DisplayName>EURange</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=9</Reference>\n    </References>\n  </UAVariable>\n  <UAObjectType NodeId=\"ns=1;i=15\" BrowseName=\"1:GenericActuatorType\">\n    <DisplayName>GenericActuatorType</DisplayName>\n    <Description>Represents a piece of equipment that causes some action to occur.</Description>\n    <References>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=16</Reference>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=58</Reference>\n    </References>\n  </UAObjectType>\n  <UAVariable NodeId=\"ns=1;i=16\" BrowseName=\"1:Input\" ParentNodeId=\"ns=1;i=15\" DataType=\"Double\" AccessLevel=\"2\" UserAccessLevel=\"2\">\n    <DisplayName>Input</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=20</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=2368</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=15</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=20\" BrowseName=\"EURange\" ParentNodeId=\"ns=1;i=16\" DataType=\"i=884\">\n    <DisplayName>EURange</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=16</Reference>\n    </References>\n  </UAVariable>\n  <UAObjectType NodeId=\"ns=1;i=22\" BrowseName=\"1:CustomControllerType\">\n    <DisplayName>CustomControllerType</DisplayName>\n    <Description>A custom PID controller with 3 inputs</Description>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=23</Reference>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=24</Reference>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=25</Reference>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=26</Reference>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=27</Reference>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=58</Reference>\n    </References>\n  </UAObjectType>\n  <UAVariable NodeId=\"ns=1;i=23\" BrowseName=\"1:Input1\" ParentNodeId=\"ns=1;i=22\" DataType=\"Double\" AccessLevel=\"2\" UserAccessLevel=\"2\">\n    <DisplayName>Input1</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=22</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=24\" BrowseName=\"1:Input2\" ParentNodeId=\"ns=1;i=22\" DataType=\"Double\" AccessLevel=\"2\" UserAccessLevel=\"2\">\n    <DisplayName>Input2</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=22</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=25\" BrowseName=\"1:Input3\" ParentNodeId=\"ns=1;i=22\" DataType=\"Double\" AccessLevel=\"2\" UserAccessLevel=\"2\">\n    <DisplayName>Input3</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=22</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=26\" BrowseName=\"1:ControlOut\" ParentNodeId=\"ns=1;i=22\" DataType=\"Double\">\n    <DisplayName>ControlOut</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=22</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=27\" BrowseName=\"1:Description\" SymbolicName=\"DescriptionX\" ParentNodeId=\"ns=1;i=22\" DataType=\"LocalizedText\">\n    <DisplayName>Description</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=22</Reference>\n    </References>\n  </UAVariable>\n  <UAObjectType NodeId=\"ns=1;i=28\" BrowseName=\"1:ValveType\">\n    <DisplayName>ValveType</DisplayName>\n    <Description>An actuator that controls the flow through a pipe.</Description>\n    <References>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">ns=1;i=15</Reference>\n    </References>\n  </UAObjectType>\n  <UAObjectType NodeId=\"ns=1;i=35\" BrowseName=\"1:LevelControllerType\">\n    <DisplayName>LevelControllerType</DisplayName>\n    <Description>A controller for the level of a fluid in a drum.</Description>\n    <References>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">ns=1;i=4</Reference>\n    </References>\n  </UAObjectType>\n  <UAObjectType NodeId=\"ns=1;i=39\" BrowseName=\"1:FlowControllerType\">\n    <DisplayName>FlowControllerType</DisplayName>\n    <Description>A controller for the flow of a fluid through a pipe.</Description>\n    <References>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">ns=1;i=4</Reference>\n    </References>\n  </UAObjectType>\n  <UAObjectType NodeId=\"ns=1;i=43\" BrowseName=\"1:LevelIndicatorType\">\n    <DisplayName>LevelIndicatorType</DisplayName>\n    <Description>A sensor that reports the level of a liquid in a tank.</Description>\n    <References>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">ns=1;i=8</Reference>\n    </References>\n  </UAObjectType>\n  <UAObjectType NodeId=\"ns=1;i=50\" BrowseName=\"1:FlowTransmitterType\">\n    <DisplayName>FlowTransmitterType</DisplayName>\n    <Description>A sensor that reports the flow of a liquid through a pipe.</Description>\n    <References>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">ns=1;i=8</Reference>\n    </References>\n  </UAObjectType>\n  <UAObjectType NodeId=\"ns=1;i=57\" BrowseName=\"1:BoilerStateMachineType\">\n    <DisplayName>BoilerStateMachineType</DisplayName>\n    <Description>A program that produces simulated values for a running boiler.</Description>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=119</Reference>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=2391</Reference>\n    </References>\n  </UAObjectType>\n  <UAVariable NodeId=\"ns=1;i=119\" BrowseName=\"1:UpdateRate\" ParentNodeId=\"ns=1;i=57\" DataType=\"UInt32\" AccessLevel=\"3\" UserAccessLevel=\"3\">\n    <DisplayName>UpdateRate</DisplayName>\n    <Description>The rate at which the simulation runs.</Description>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=57</Reference>\n    </References>\n  </UAVariable>\n  <UAObjectType NodeId=\"ns=1;i=120\" BrowseName=\"1:BoilerInputPipeType\">\n    <DisplayName>BoilerInputPipeType</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=121</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=128</Reference>\n      <Reference ReferenceType=\"HasNotifier\">ns=1;i=121</Reference>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=61</Reference>\n    </References>\n  </UAObjectType>\n  <UAObject NodeId=\"ns=1;i=121\" BrowseName=\"1:FTX001\" SymbolicName=\"FlowTransmitter1\" ParentNodeId=\"ns=1;i=120\" EventNotifier=\"1\">\n    <DisplayName>FlowTransmitter1</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=122</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">ns=1;i=50</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=120</Reference>\n    </References>\n  </UAObject>\n  <UAVariable NodeId=\"ns=1;i=122\" BrowseName=\"1:Output\" ParentNodeId=\"ns=1;i=121\" DataType=\"Double\">\n    <DisplayName>Output</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=126</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=2368</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=121</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=126\" BrowseName=\"EURange\" ParentNodeId=\"ns=1;i=122\" DataType=\"i=884\">\n    <DisplayName>EURange</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=122</Reference>\n    </References>\n  </UAVariable>\n  <UAObject NodeId=\"ns=1;i=128\" BrowseName=\"1:ValveX001\" SymbolicName=\"Valve\" ParentNodeId=\"ns=1;i=120\" EventNotifier=\"1\">\n    <DisplayName>Valve</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=129</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">ns=1;i=28</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=120</Reference>\n    </References>\n  </UAObject>\n  <UAVariable NodeId=\"ns=1;i=129\" BrowseName=\"1:Input\" ParentNodeId=\"ns=1;i=128\" DataType=\"Double\" AccessLevel=\"2\" UserAccessLevel=\"2\">\n    <DisplayName>Input</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=133</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=2368</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=128</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=133\" BrowseName=\"EURange\" ParentNodeId=\"ns=1;i=129\" DataType=\"i=884\">\n    <DisplayName>EURange</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=129</Reference>\n    </References>\n  </UAVariable>\n  <UAObjectType NodeId=\"ns=1;i=135\" BrowseName=\"1:BoilerDrumType\">\n    <DisplayName>BoilerDrumType</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=136</Reference>\n      <Reference ReferenceType=\"HasNotifier\">ns=1;i=136</Reference>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=61</Reference>\n    </References>\n  </UAObjectType>\n  <UAObject NodeId=\"ns=1;i=136\" BrowseName=\"1:LIX001\" SymbolicName=\"LevelIndicator\" ParentNodeId=\"ns=1;i=135\" EventNotifier=\"1\">\n    <DisplayName>LIX001</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=137</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">ns=1;i=43</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=135</Reference>\n    </References>\n  </UAObject>\n  <UAVariable NodeId=\"ns=1;i=137\" BrowseName=\"1:Output\" ParentNodeId=\"ns=1;i=136\" DataType=\"Double\">\n    <DisplayName>Output</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=141</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=2368</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=136</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=141\" BrowseName=\"EURange\" ParentNodeId=\"ns=1;i=137\" DataType=\"i=884\">\n    <DisplayName>EURange</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=137</Reference>\n    </References>\n  </UAVariable>\n  <UAObjectType NodeId=\"ns=1;i=143\" BrowseName=\"1:BoilerOutputPipeType\">\n    <DisplayName>BoilerOutputPipeType</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=144</Reference>\n      <Reference ReferenceType=\"HasNotifier\">ns=1;i=144</Reference>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=61</Reference>\n    </References>\n  </UAObjectType>\n  <UAObject NodeId=\"ns=1;i=144\" BrowseName=\"1:FTX002\" SymbolicName=\"FlowTransmitter2\" ParentNodeId=\"ns=1;i=143\" EventNotifier=\"1\">\n    <DisplayName>FTX002</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=145</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">ns=1;i=50</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=143</Reference>\n    </References>\n  </UAObject>\n  <UAVariable NodeId=\"ns=1;i=145\" BrowseName=\"1:Output\" ParentNodeId=\"ns=1;i=144\" DataType=\"Double\">\n    <DisplayName>Output</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=149</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=2368</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=144</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=149\" BrowseName=\"EURange\" ParentNodeId=\"ns=1;i=145\" DataType=\"i=884\">\n    <DisplayName>EURange</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=145</Reference>\n    </References>\n  </UAVariable>\n  <UAObjectType NodeId=\"ns=1;i=151\" BrowseName=\"1:BoilerType\">\n    <DisplayName>BoilerType</DisplayName>\n    <Description>A boiler used to produce steam for a turbine.</Description>\n    <References>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=152</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=167</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=175</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=183</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=187</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=191</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=197</Reference>\n      <Reference ReferenceType=\"HasNotifier\">ns=1;i=152</Reference>\n      <Reference ReferenceType=\"HasNotifier\">ns=1;i=167</Reference>\n      <Reference ReferenceType=\"HasNotifier\">ns=1;i=175</Reference>\n      <Reference ReferenceType=\"HasEventSource\">ns=1;i=197</Reference>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=58</Reference>\n    </References>\n  </UAObjectType>\n  <UAObject NodeId=\"ns=1;i=152\" BrowseName=\"1:PipeX001\" SymbolicName=\"InputPipe\" ParentNodeId=\"ns=1;i=151\" EventNotifier=\"1\">\n    <DisplayName>InputPipe</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=153</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=160</Reference>\n      <Reference ReferenceType=\"HasNotifier\">ns=1;i=153</Reference>\n      <Reference ReferenceType=\"ns=1;i=1\">ns=1;i=167</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">ns=1;i=120</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=151</Reference>\n    </References>\n  </UAObject>\n  <UAObject NodeId=\"ns=1;i=153\" BrowseName=\"1:FTX001\" SymbolicName=\"FlowTransmitter1\" ParentNodeId=\"ns=1;i=152\" EventNotifier=\"1\">\n    <DisplayName>FlowTransmitter1</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=154</Reference>\n      <Reference ReferenceType=\"HasNotifier\" IsForward=\"false\">ns=1;i=152</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">ns=1;i=50</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=152</Reference>\n    </References>\n  </UAObject>\n  <UAVariable NodeId=\"ns=1;i=154\" BrowseName=\"1:Output\" ParentNodeId=\"ns=1;i=153\" DataType=\"Double\">\n    <DisplayName>Output</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=158</Reference>\n      <Reference ReferenceType=\"ns=1;i=3\">ns=1;i=184</Reference>\n      <Reference ReferenceType=\"ns=1;i=3\">ns=1;i=193</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=2368</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=153</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=158\" BrowseName=\"EURange\" ParentNodeId=\"ns=1;i=154\" DataType=\"i=884\">\n    <DisplayName>EURange</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=154</Reference>\n    </References>\n  </UAVariable>\n  <UAObject NodeId=\"ns=1;i=160\" BrowseName=\"1:ValveX001\" SymbolicName=\"Valve\" ParentNodeId=\"ns=1;i=152\" EventNotifier=\"1\">\n    <DisplayName>Valve</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=161</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">ns=1;i=28</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=152</Reference>\n    </References>\n  </UAObject>\n  <UAVariable NodeId=\"ns=1;i=161\" BrowseName=\"1:Input\" ParentNodeId=\"ns=1;i=160\" DataType=\"Double\" AccessLevel=\"2\" UserAccessLevel=\"2\">\n    <DisplayName>Input</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=165</Reference>\n      <Reference ReferenceType=\"ns=1;i=3\" IsForward=\"false\">ns=1;i=186</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=2368</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=160</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=165\" BrowseName=\"EURange\" ParentNodeId=\"ns=1;i=161\" DataType=\"i=884\">\n    <DisplayName>EURange</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=161</Reference>\n    </References>\n  </UAVariable>\n  <UAObject NodeId=\"ns=1;i=167\" BrowseName=\"1:DrumX001\" SymbolicName=\"Drum\" ParentNodeId=\"ns=1;i=151\" EventNotifier=\"1\">\n    <DisplayName>Drum</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=168</Reference>\n      <Reference ReferenceType=\"ns=1;i=1\" IsForward=\"false\">ns=1;i=152</Reference>\n      <Reference ReferenceType=\"HasNotifier\">ns=1;i=168</Reference>\n      <Reference ReferenceType=\"ns=1;i=2\">ns=1;i=175</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">ns=1;i=135</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=151</Reference>\n    </References>\n  </UAObject>\n  <UAObject NodeId=\"ns=1;i=168\" BrowseName=\"1:LIX001\" SymbolicName=\"LevelIndicator\" ParentNodeId=\"ns=1;i=167\" EventNotifier=\"1\">\n    <DisplayName>LIX001</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=169</Reference>\n      <Reference ReferenceType=\"HasNotifier\" IsForward=\"false\">ns=1;i=167</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">ns=1;i=43</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=167</Reference>\n    </References>\n  </UAObject>\n  <UAVariable NodeId=\"ns=1;i=169\" BrowseName=\"1:Output\" ParentNodeId=\"ns=1;i=168\" DataType=\"Number\">\n    <DisplayName>Output</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=173</Reference>\n      <Reference ReferenceType=\"ns=1;i=3\">ns=1;i=188</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=2368</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=168</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=173\" BrowseName=\"EURange\" ParentNodeId=\"ns=1;i=169\" DataType=\"i=884\">\n    <DisplayName>EURange</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=169</Reference>\n    </References>\n  </UAVariable>\n  <UAObject NodeId=\"ns=1;i=175\" BrowseName=\"1:PipeX002\" SymbolicName=\"OutputPipe\" ParentNodeId=\"ns=1;i=151\" EventNotifier=\"1\">\n    <DisplayName>OutputPipe</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=176</Reference>\n      <Reference ReferenceType=\"ns=1;i=2\" IsForward=\"false\">ns=1;i=167</Reference>\n      <Reference ReferenceType=\"HasNotifier\">ns=1;i=176</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">ns=1;i=143</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=151</Reference>\n    </References>\n  </UAObject>\n  <UAObject NodeId=\"ns=1;i=176\" BrowseName=\"1:FTX002\" SymbolicName=\"FlowTransmitter2\" ParentNodeId=\"ns=1;i=175\" EventNotifier=\"1\">\n    <DisplayName>FTX002</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=177</Reference>\n      <Reference ReferenceType=\"HasNotifier\" IsForward=\"false\">ns=1;i=175</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">ns=1;i=50</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=175</Reference>\n    </References>\n  </UAObject>\n  <UAVariable NodeId=\"ns=1;i=177\" BrowseName=\"1:Output\" ParentNodeId=\"ns=1;i=176\" DataType=\"Double\">\n    <DisplayName>Output</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=181</Reference>\n      <Reference ReferenceType=\"ns=1;i=3\">ns=1;i=194</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=2368</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=176</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=181\" BrowseName=\"EURange\" ParentNodeId=\"ns=1;i=177\" DataType=\"i=884\">\n    <DisplayName>EURange</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=177</Reference>\n    </References>\n  </UAVariable>\n  <UAObject NodeId=\"ns=1;i=183\" BrowseName=\"1:FCX001\" SymbolicName=\"FlowController\" ParentNodeId=\"ns=1;i=151\">\n    <DisplayName>FlowController</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=184</Reference>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=185</Reference>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=186</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">ns=1;i=39</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=151</Reference>\n    </References>\n  </UAObject>\n  <UAVariable NodeId=\"ns=1;i=184\" BrowseName=\"1:Measurement\" ParentNodeId=\"ns=1;i=183\" DataType=\"Double\">\n    <DisplayName>Measurement</DisplayName>\n    <References>\n      <Reference ReferenceType=\"ns=1;i=3\" IsForward=\"false\">ns=1;i=154</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=183</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=185\" BrowseName=\"1:SetPoint\" ParentNodeId=\"ns=1;i=183\" DataType=\"Double\" AccessLevel=\"3\" UserAccessLevel=\"3\">\n    <DisplayName>SetPoint</DisplayName>\n    <References>\n      <Reference ReferenceType=\"ns=1;i=3\" IsForward=\"false\">ns=1;i=195</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=183</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=186\" BrowseName=\"1:ControlOut\" ParentNodeId=\"ns=1;i=183\" DataType=\"Double\">\n    <DisplayName>ControlOut</DisplayName>\n    <References>\n      <Reference ReferenceType=\"ns=1;i=3\">ns=1;i=161</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=183</Reference>\n    </References>\n  </UAVariable>\n  <UAObject NodeId=\"ns=1;i=187\" BrowseName=\"1:LCX001\" SymbolicName=\"LevelController\" ParentNodeId=\"ns=1;i=151\">\n    <DisplayName>LevelController</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=188</Reference>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=189</Reference>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=190</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">ns=1;i=35</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=151</Reference>\n    </References>\n  </UAObject>\n  <UAVariable NodeId=\"ns=1;i=188\" BrowseName=\"1:Measurement\" ParentNodeId=\"ns=1;i=187\" DataType=\"Double\">\n    <DisplayName>Measurement</DisplayName>\n    <References>\n      <Reference ReferenceType=\"ns=1;i=3\" IsForward=\"false\">ns=1;i=169</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=187</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=189\" BrowseName=\"1:SetPoint\" ParentNodeId=\"ns=1;i=187\" DataType=\"Double\" AccessLevel=\"3\" UserAccessLevel=\"3\">\n    <DisplayName>SetPoint</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=187</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=190\" BrowseName=\"1:ControlOut\" ParentNodeId=\"ns=1;i=187\" DataType=\"Double\">\n    <DisplayName>ControlOut</DisplayName>\n    <References>\n      <Reference ReferenceType=\"ns=1;i=3\">ns=1;i=192</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=187</Reference>\n    </References>\n  </UAVariable>\n  <UAObject NodeId=\"ns=1;i=191\" BrowseName=\"1:CCX001\" SymbolicName=\"CustomController\" ParentNodeId=\"ns=1;i=151\">\n    <DisplayName>CustomController</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=192</Reference>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=193</Reference>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=194</Reference>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=195</Reference>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=196</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">ns=1;i=22</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=151</Reference>\n    </References>\n  </UAObject>\n  <UAVariable NodeId=\"ns=1;i=192\" BrowseName=\"1:Input1\" ParentNodeId=\"ns=1;i=191\" DataType=\"Double\" AccessLevel=\"2\" UserAccessLevel=\"2\">\n    <DisplayName>Input1</DisplayName>\n    <References>\n      <Reference ReferenceType=\"ns=1;i=3\" IsForward=\"false\">ns=1;i=190</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=191</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=193\" BrowseName=\"1:Input2\" ParentNodeId=\"ns=1;i=191\" DataType=\"Double\" AccessLevel=\"2\" UserAccessLevel=\"2\">\n    <DisplayName>Input2</DisplayName>\n    <References>\n      <Reference ReferenceType=\"ns=1;i=3\" IsForward=\"false\">ns=1;i=154</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=191</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=194\" BrowseName=\"1:Input3\" ParentNodeId=\"ns=1;i=191\" DataType=\"Double\" AccessLevel=\"2\" UserAccessLevel=\"2\">\n    <DisplayName>Input3</DisplayName>\n    <References>\n      <Reference ReferenceType=\"ns=1;i=3\" IsForward=\"false\">ns=1;i=177</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=191</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=195\" BrowseName=\"1:ControlOut\" ParentNodeId=\"ns=1;i=191\" DataType=\"Double\">\n    <DisplayName>ControlOut</DisplayName>\n    <References>\n      <Reference ReferenceType=\"ns=1;i=3\">ns=1;i=185</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=191</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=196\" BrowseName=\"1:Description\" SymbolicName=\"DescriptionX\" ParentNodeId=\"ns=1;i=191\" DataType=\"LocalizedText\">\n    <DisplayName>Description</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=191</Reference>\n    </References>\n  </UAVariable>\n  <UAObject NodeId=\"ns=1;i=197\" BrowseName=\"1:Simulation\" ParentNodeId=\"ns=1;i=151\" EventNotifier=\"1\">\n    <DisplayName>Simulation</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=198</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=203</Reference>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=209</Reference>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=211</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=224</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=225</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=226</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=227</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=228</Reference>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=229</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">ns=1;i=57</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=151</Reference>\n    </References>\n  </UAObject>\n  <UAVariable NodeId=\"ns=1;i=198\" BrowseName=\"CurrentState\" ParentNodeId=\"ns=1;i=197\" DataType=\"LocalizedText\">\n    <DisplayName>CurrentState</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=199</Reference>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=201</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=2760</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=197</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=199\" BrowseName=\"Id\" ParentNodeId=\"ns=1;i=198\" DataType=\"NodeId\">\n    <DisplayName>Id</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=198</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=201\" BrowseName=\"Number\" ParentNodeId=\"ns=1;i=198\" DataType=\"UInt32\">\n    <DisplayName>Number</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=198</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=203\" BrowseName=\"LastTransition\" ParentNodeId=\"ns=1;i=197\" DataType=\"LocalizedText\">\n    <DisplayName>LastTransition</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=204</Reference>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=206</Reference>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=207</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=2767</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=197</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=204\" BrowseName=\"Id\" ParentNodeId=\"ns=1;i=203\" DataType=\"NodeId\">\n    <DisplayName>Id</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=203</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=206\" BrowseName=\"Number\" ParentNodeId=\"ns=1;i=203\" DataType=\"UInt32\">\n    <DisplayName>Number</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=203</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=207\" BrowseName=\"TransitionTime\" ParentNodeId=\"ns=1;i=203\" DataType=\"i=294\">\n    <DisplayName>TransitionTime</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=203</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=209\" BrowseName=\"Deletable\" ParentNodeId=\"ns=1;i=197\" DataType=\"Boolean\">\n    <DisplayName>Deletable</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=197</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=211\" BrowseName=\"RecycleCount\" ParentNodeId=\"ns=1;i=197\" DataType=\"Int32\">\n    <DisplayName>RecycleCount</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=197</Reference>\n    </References>\n  </UAVariable>\n  <UAMethod NodeId=\"ns=1;i=224\" BrowseName=\"Start\" ParentNodeId=\"ns=1;i=197\" MethodDeclarationId=\"i=2426\">\n    <DisplayName>Start</DisplayName>\n    <Description>Causes the Program to transition from the Ready state to the Running state.</Description>\n    <References>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=197</Reference>\n    </References>\n  </UAMethod>\n  <UAMethod NodeId=\"ns=1;i=225\" BrowseName=\"Suspend\" ParentNodeId=\"ns=1;i=197\" MethodDeclarationId=\"i=2427\">\n    <DisplayName>Suspend</DisplayName>\n    <Description>Causes the Program to transition from the Running state to the Suspended state.</Description>\n    <References>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=197</Reference>\n    </References>\n  </UAMethod>\n  <UAMethod NodeId=\"ns=1;i=226\" BrowseName=\"Resume\" ParentNodeId=\"ns=1;i=197\" MethodDeclarationId=\"i=2428\">\n    <DisplayName>Resume</DisplayName>\n    <Description>Causes the Program to transition from the Suspended state to the Running state.</Description>\n    <References>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=197</Reference>\n    </References>\n  </UAMethod>\n  <UAMethod NodeId=\"ns=1;i=227\" BrowseName=\"Halt\" ParentNodeId=\"ns=1;i=197\" MethodDeclarationId=\"i=2429\">\n    <DisplayName>Halt</DisplayName>\n    <Description>Causes the Program to transition from the Ready, Running or Suspended state to the Halted state.</Description>\n    <References>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=197</Reference>\n    </References>\n  </UAMethod>\n  <UAMethod NodeId=\"ns=1;i=228\" BrowseName=\"Reset\" ParentNodeId=\"ns=1;i=197\" MethodDeclarationId=\"i=2430\">\n    <DisplayName>Reset</DisplayName>\n    <Description>Causes the Program to transition from the Halted state to the Ready state.</Description>\n    <References>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=197</Reference>\n    </References>\n  </UAMethod>\n  <UAVariable NodeId=\"ns=1;i=229\" BrowseName=\"1:UpdateRate\" ParentNodeId=\"ns=1;i=197\" DataType=\"UInt32\" AccessLevel=\"3\" UserAccessLevel=\"3\">\n    <DisplayName>UpdateRate</DisplayName>\n    <Description>The rate at which the simulation runs.</Description>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=197</Reference>\n    </References>\n  </UAVariable>\n</UANodeSet>"
  },
  {
    "path": "SemanticData/Tests/AddressSpaceComplianceTestToolUnitTests/packages.config",
    "content": "﻿<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<packages>\n  <package id=\"Castle.Core\" version=\"5.0.0\" targetFramework=\"net472\" />\n  <package id=\"CommandLineParser\" version=\"2.9.1\" targetFramework=\"net472\" />\n  <package id=\"CommonServiceLocator\" version=\"2.0.6\" targetFramework=\"net472\" />\n  <package id=\"Moq\" version=\"4.18.1\" targetFramework=\"net472\" />\n  <package id=\"MSTest.TestAdapter\" version=\"2.2.10\" targetFramework=\"net472\" />\n  <package id=\"MSTest.TestFramework\" version=\"2.2.10\" targetFramework=\"net472\" />\n  <package id=\"System.Runtime.CompilerServices.Unsafe\" version=\"6.0.0\" targetFramework=\"net472\" />\n  <package id=\"System.Threading.Tasks.Extensions\" version=\"4.5.4\" targetFramework=\"net472\" />\n  <package id=\"UAOOI.Common.Infrastructure\" version=\"6.4.7\" targetFramework=\"net472\" />\n</packages>"
  },
  {
    "path": "SemanticData/Tests/DataMangement.playlist",
    "content": "<Playlist Version=\"1.0\"><Add Test=\"UAOOI.SemanticData.DataManagement.UnitTest.AssociationUnitTest.AssociationCreatorTestMethod4\" /><Add Test=\"UAOOI.SemanticData.DataManagement.UnitTest.AssociationUnitTest.AssociationDefaultConfigurationTestMethod3\" /><Add Test=\"UAOOI.SemanticData.DataManagement.UnitTest.AssociationUnitTest.AssociationCreatorTestMethod1\" /><Add Test=\"UAOOI.SemanticData.DataManagement.UnitTest.AssociationUnitTest.AssociationCreatorTestMethod2\" /><Add Test=\"UAOOI.SemanticData.DataManagement.UnitTest.AssociationUnitTest.AssociationCreatorTestMethod3\" /><Add Test=\"UAOOI.SemanticData.DataManagement.UnitTest.AssociationUnitTest.AssociationStateDisableTestMethod\" /><Add Test=\"UAOOI.SemanticData.DataManagement.UnitTest.AssociationUnitTest.AssociationStateEnableTestMethod\" /><Add Test=\"UAOOI.SemanticData.DataManagement.UnitTest.AssociationUnitTest.AssociationStateEnableTestMethod2\" /><Add Test=\"UAOOI.SemanticData.DataManagement.UnitTest.AssociationUnitTest.AssociationInitializeMethod\" /><Add Test=\"UAOOI.SemanticData.DataManagement.UnitTest.AssociationUnitTest.AssociationInitializeMethod2\" /><Add Test=\"UAOOI.SemanticData.DataManagement.UnitTest.AssociationUnitTest.AssociationCompareToTestMethod\" /></Playlist>"
  },
  {
    "path": "SemanticData/Tests/README.MD",
    "content": "# Tests folder description\n\nThis folder contains unit tests used to validate the code and the validation engine.\n"
  },
  {
    "path": "SemanticData/Tests/USNodeSetValidationUnitTestProject/AddressSpaceContextUnitTest.cs",
    "content": "﻿//__________________________________________________________________________________________________\n//\n//  Copyright (C) 2022, Mariusz Postol LODZ POLAND.\n//\n//  To be in touch join the community at GitHub: https://github.com/mpostol/OPC-UA-OOI/discussions\n//__________________________________________________________________________________________________\n\nusing Microsoft.VisualStudio.TestTools.UnitTesting;\nusing Moq;\nusing System;\nusing System.Collections.Generic;\nusing System.IO;\nusing System.Linq;\nusing UAOOI.SemanticData.AddressSpace.Abstractions;\nusing UAOOI.SemanticData.UANodeSetValidation.DataSerialization;\nusing UAOOI.SemanticData.UANodeSetValidation.Diagnostic;\nusing UAOOI.SemanticData.UANodeSetValidation.Helpers;\nusing UAOOI.SemanticData.UANodeSetValidation.UAInformationModel;\nusing UAOOI.SemanticData.UANodeSetValidation.UnitTest.Helpers;\nusing UAOOI.SemanticData.UANodeSetValidation.XML;\n\nnamespace UAOOI.SemanticData.UANodeSetValidation\n{\n  [TestClass]\n  public class AddressSpaceContextUnitTest\n  {\n    [TestMethod]\n    [TestCategory(\"AddressSpaceContext\")]\n    public void AddressSpaceContextConstructorTest()\n    {\n      List<IUANodeBase> _invalidNodes = new List<IUANodeBase>();\n      TracedAddressSpaceContext _asp = new TracedAddressSpaceContext();\n      _asp.UTAddressSpaceCheckConsistency(x => _invalidNodes.Add(x));\n      _asp.TestConsistency(0);\n      _asp.UTReferencesCheckConsistency((x, y, z, v) => Assert.Fail());\n      _asp.TestConsistency(0);\n    }\n\n    [TestMethod]\n    [TestCategory(\"AddressSpaceContext\")]\n    public void AddressSpaceContextContentCheck()\n    {\n      TracedAddressSpaceContext _asp = new TracedAddressSpaceContext();\n      List<IUANodeContext> _content = new List<IUANodeContext>();\n      _asp.UTTryGetUANodeContext(VariableTypes.PropertyType, x => _content.Add(x));\n      Assert.AreEqual<int>(1, _content.Count);\n      _content.Clear();\n      _asp.UTTryGetUANodeContext(Objects.RootFolder, x => _content.Add(x));\n      Assert.AreEqual<int>(1, _content.Count);\n      Assert.IsTrue(new NodeId(Objects.RootFolder) == _content[0].NodeIdContext);\n      _content.Clear();\n      _asp.UTTryGetUANodeContext(Objects.ObjectsFolder, x => _content.Add(x));\n      Assert.AreEqual<int>(1, _content.Count);\n      Assert.IsTrue(new NodeId(Objects.ObjectsFolder) == _content[0].NodeIdContext);\n      _content.Clear();\n      _asp.UTTryGetUANodeContext(ObjectTypes.FolderType, x => _content.Add(x));\n      Assert.AreEqual<int>(1, _content.Count);\n      Assert.IsTrue(new NodeId(ObjectTypes.FolderType) == _content[0].NodeIdContext);\n      _asp.TestConsistency(0);\n    }\n\n    [TestMethod]\n    [TestCategory(\"AddressSpaceContext\")]\n    public void AddressSpaceReferencesContentCheck()\n    {\n      TracedAddressSpaceContext _asp = new TracedAddressSpaceContext();\n      List<UAReferenceContext> _content = new List<UAReferenceContext>();\n      _content.Clear();\n      _asp.UTGetReferences(ObjectIds.RootFolder, x => _content.Add(x));\n      Assert.AreEqual<int>(4, _content.Count);\n      //RootFolder\n      _content.Clear();\n      _asp.UTGetReferences(ObjectIds.ObjectsFolder, x => _content.Add(x));\n      Assert.AreEqual<int>(3, _content.Count);\n      _asp.TestConsistency(0);\n    }\n\n    [TestMethod]\n    [TestCategory(\"AddressSpaceContext\")]\n    public void AddressSpaceContextImportUANodeSetNull()\n    {\n      Mock<IBuildErrorsHandling> mock = new Mock<IBuildErrorsHandling>();\n      IAddressSpaceContext _as = new AddressSpaceContext(mock.Object);\n      UANodeSet _ns = null;\n      Assert.ThrowsException<ArgumentNullException>(() => _as.ImportUANodeSet(_ns));\n      FileInfo _fi = null;\n      Assert.ThrowsException<ArgumentNullException>(() => UANodeSet.ReadModelFile(_fi));\n      _fi = new FileInfo(\"NotExistingFileName.xml\");\n      Assert.IsFalse(_fi.Exists);\n      Assert.ThrowsException<FileNotFoundException>(() => UANodeSet.ReadModelFile(_fi));\n    }\n\n    [TestMethod]\n    public void ImportUANodeSetTest()\n    {\n      UANodeSet newNodeSet = TestData.CreateNodeSetModel();\n      newNodeSet.Items = new UANode[]\n      {\n        new UAObjectType()\n        {\n          NodeId = \"ns=1;i=12\",\n          BrowseName = \"1:VehicleType\",\n          References = new Reference[]\n          {\n            new Reference() { ReferenceType = ReferenceTypeIds.HasSubtype.ToString(), IsForward = false,  Value = \"i=58\" }\n          },\n        },\n        new UAVariable()\n        {\n          NodeId = \"ns=1;i=13\",\n          BrowseName = \"buildDate\",\n          ParentNodeId=\"ns=1;i=12\",\n          DataType=\"DateTime\",\n          References = new Reference[]\n          {\n            new Reference() { ReferenceType=ReferenceTypeIds.HasProperty.ToString(),  IsForward=false, Value = \"ns=1;i=12\" },\n            new Reference() { ReferenceType =ReferenceTypeIds.HasTypeDefinition.ToString(), Value = \"i=63\" },\n            new Reference() { ReferenceType = ReferenceTypeIds.HasModellingRule.ToString(),  Value = \"i=78\" }\n          }\n         }\n      };\n      TracedAddressSpaceContext tracedAddressSpace = new TracedAddressSpaceContext(newNodeSet);\n      List<UAReferenceContext> references = new List<UAReferenceContext>();\n      tracedAddressSpace.UTGetReferences(NodeId.Parse(newNodeSet.Items[0].NodeId), x => references.Add(x));\n      Assert.AreEqual<int>(1, references.Count);\n      Assert.AreEqual<ReferenceKindEnum>(ReferenceKindEnum.HasProperty, references[0].ReferenceKind);\n      references.Clear();\n      tracedAddressSpace.UTGetReferences(NodeId.Parse(newNodeSet.Items[1].NodeId), x => references.Add(x));\n      Assert.AreEqual<int>(2, references.Count);\n      Assert.AreEqual<ReferenceKindEnum>(ReferenceKindEnum.HasTypeDefinition, references[0].ReferenceKind);\n      Assert.AreEqual<ReferenceKindEnum>(ReferenceKindEnum.HasModellingRule, references[1].ReferenceKind);\n    }\n\n    [TestMethod]\n    [TestCategory(\"AddressSpaceContext\")]\n    public void AddressSpaceContextValidateAndExportModelOpcUa()\n    {\n      TracedAddressSpaceContext _asp = new TracedAddressSpaceContext();\n      _asp.ValidateAndExportModel(new Uri(UAInformationModel.Namespaces.OpcUa));\n      _asp.TestConsistency(0);\n    }\n\n    [TestMethod]\n    [TestCategory(\"AddressSpaceContext\")]\n    [ExpectedException(typeof(ArgumentOutOfRangeException))]\n    public void AddressSpaceContextValidateAndExportModelWrongNamespace()\n    {\n      TracedAddressSpaceContext _asp = new TracedAddressSpaceContext();\n      _asp.ValidateAndExportModel(new Uri(\"http://www.example.com/afterthought/box\"));\n    }\n\n    [TestMethod]\n    [TestCategory(\"AddressSpaceContext\")]\n    public void AddressSpaceContextValidateAndExportIndex0()\n    {\n      TracedAddressSpaceContext _asp = new TracedAddressSpaceContext();\n      IEnumerable<IUANodeContext> _returnValue = null;\n      _asp.UTValidateAndExportModel(0, x => _returnValue = x);\n      Assert.AreEqual<int>(4071, (_returnValue.Count<IUANodeContext>()));\n      _asp.TestConsistency(0);\n      _asp.UTValidateAndExportModel(1, x => _returnValue = x);\n      Assert.AreEqual<int>(0, _returnValue.Count<IUANodeContext>());\n      _asp.TestConsistency(0);\n    }\n\n    [TestMethod]\n    [TestCategory(\"AddressSpaceContext\")]\n    public void ImportObjectTest()\n    {\n      UANodeSet _newNodeSet = TestData.CreateNodeSetModel();\n      TracedAddressSpaceContext _asp = new TracedAddressSpaceContext(_newNodeSet);\n      _asp.UTAddressSpaceCheckConsistency(x => { Assert.Fail(); });\n      _asp.TestConsistency(1);\n      List<UAReferenceContext> _content = new List<UAReferenceContext>();\n      _asp.UTGetReferences(ObjectIds.RootFolder, x => _content.Add(x));\n      Assert.AreEqual<int>(4, _content.Count);\n      //RootFolder\n      _content.Clear();\n      _asp.UTGetReferences(ObjectIds.ObjectsFolder, x => _content.Add(x));\n      Assert.AreEqual<int>(4, _content.Count);\n      IEnumerable<IUANodeContext> _toExport = _content.Where<UAReferenceContext>(x => x.TargetNode.NodeIdContext.NamespaceIndex == 1).Select<UAReferenceContext, IUANodeContext>(x => x.TargetNode);\n      Assert.AreEqual<int>(1, _toExport.Count<IUANodeContext>());\n      _asp.TestConsistency(1);\n    }\n\n    [TestMethod]\n    public void GetMyReferencesTest()\n    {\n      UANodeSet newNodeSet = TestData.CreateNodeSetModel();\n      newNodeSet.Items = new UANode[]\n      {\n        new UAObjectType()\n        {\n          NodeId = \"ns=1;i=12\",\n          BrowseName = \"1:VehicleType\",\n          References = new Reference[]\n          {\n            new Reference() { ReferenceType = ReferenceTypeIds.HasSubtype.ToString(), IsForward = false,  Value = \"i=58\" }\n          },\n        },\n        new UAVariable()\n        {\n          NodeId = \"ns=1;i=13\",\n          BrowseName = \"buildDate\",\n          ParentNodeId=\"ns=1;i=12\",\n          DataType=\"DateTime\",\n          References = new Reference[]\n          {\n            new Reference() { ReferenceType=ReferenceTypeIds.HasProperty.ToString(),  IsForward=false, Value = \"ns=1;i=12\" },\n            new Reference() { ReferenceType =ReferenceTypeIds.HasTypeDefinition.ToString(), Value = \"i=63\" },\n            new Reference() { ReferenceType = ReferenceTypeIds.HasModellingRule.ToString(),  Value = \"i=78\" }\n          }\n         }\n      };\n      TracedAddressSpaceContext asp = new TracedAddressSpaceContext(newNodeSet);\n      IUANodeContext uaObjectType = asp.GetOrCreateNodeContext(NodeId.Parse(newNodeSet.Items[0].NodeId), x => { Assert.Fail(); return null; });\n      Assert.IsNotNull(uaObjectType);\n      IEnumerable<UAReferenceContext> myReferences = ((IAddressSpaceBuildContext)asp.AddressSpace).GetMyReferences(uaObjectType);\n      Assert.AreEqual<int>(1, myReferences.Count<UAReferenceContext>());\n      List<UAReferenceContext> _listOfMyReferences = myReferences.ToList<UAReferenceContext>();\n      Assert.AreEqual<string>(\"buildDate\", _listOfMyReferences[0].TargetNode.UANode.BrowseName.Name);\n      Assert.AreEqual<string>(\"buildDate\", _listOfMyReferences[0].ParentNode.UANode.BrowseName.Name);\n      Assert.AreEqual<string>(\"VehicleType\", _listOfMyReferences[0].SourceNode.UANode.BrowseName.Name);\n      Assert.AreEqual<ReferenceKindEnum>(ReferenceKindEnum.HasProperty, _listOfMyReferences[0].ReferenceKind);\n    }\n\n    [TestMethod]\n    public void GetBaseTypesTest()\n    {\n      TracedAddressSpaceContext tasp = new TracedAddressSpaceContext();\n      List<IUANodeContext> inheritanceChain = new List<IUANodeContext>();\n      IUANodeContext hasPropertyNode = tasp.GetOrCreateNodeContext(ReferenceTypeIds.HasProperty, x => { Assert.Fail(); return null; });\n      tasp.GetBaseTypes(hasPropertyNode, inheritanceChain);\n      Assert.AreEqual<int>(5, inheritanceChain.Count);\n      Assert.AreEqual<string>(ReferenceTypeIds.HasProperty.ToString(), inheritanceChain[0].NodeIdContext.ToString());\n      Assert.AreEqual<string>(ReferenceTypeIds.References.ToString(), inheritanceChain[4].NodeIdContext.ToString());\n    }\n  }\n}"
  },
  {
    "path": "SemanticData/Tests/USNodeSetValidationUnitTestProject/DataSerialization/ExtensionsUnitTest.cs",
    "content": "﻿//___________________________________________________________________________________\n//\n//  Copyright (C) 2021, Mariusz Postol LODZ POLAND.\n//\n//  To be in touch join the community at GITTER: https://gitter.im/mpostol/OPC-UA-OOI\n//___________________________________________________________________________________\n\nusing Microsoft.VisualStudio.TestTools.UnitTesting;\nusing System;\nusing System.Collections.Generic;\nusing System.Diagnostics;\nusing UAOOI.SemanticData.BuildingErrorsHandling;\nusing UAOOI.SemanticData.UANodeSetValidation.Helpers;\n\nnamespace UAOOI.SemanticData.UANodeSetValidation.DataSerialization\n{\n  [TestClass]\n  public class ExtensionsUnitTest\n  {\n    [TestMethod]\n    public void ParseBrowseNameNodeIdNullTest()\n    {\n      Assert.ThrowsException<ArgumentNullException>(() => \"\".ParseBrowseName(null, x => Assert.Fail()));\n      Assert.ThrowsException<ArgumentNullException>(() => \"\".ParseBrowseName(NodeId.Null, x => Assert.Fail()));\n    }\n\n    [TestMethod]\n    public void ParseBrowseNameBrowseNameEmptyTest()\n    {\n      List<TraceMessage> traceLog = new List<TraceMessage>();\n      QualifiedName name = \"\".ParseBrowseName(new NodeId(\"i=105\"), x => traceLog.Add(x));\n      Assert.IsNotNull(name);\n      Assert.IsFalse(String.IsNullOrEmpty(name.Name));\n      Assert.IsTrue(name.Name.StartsWith(\"EmptyBrowseName_\"));\n      Assert.IsTrue(name.NamespaceIndexSpecified);\n      Assert.AreEqual<int>(1, traceLog.Count);\n      Debug.WriteLine(traceLog[0].ToString());\n      Assert.AreEqual<Focus>(Focus.NodeClass, traceLog[0].BuildError.Focus);\n      Assert.AreEqual<String>(BuildError.EmptyBrowseName.Identifier, traceLog[0].BuildError.Identifier);\n    }\n\n    [TestMethod]\n    public void ParseBrowseNameBrowseNameSyntaxErrorTest()\n    {\n      List<TraceMessage> traceLog = new List<TraceMessage>();\n      QualifiedName name = \"@^#^#^\".ParseBrowseName(new NodeId(\"i=105\"), x => traceLog.Add(x));\n      Assert.IsNotNull(name);\n      Assert.IsFalse(String.IsNullOrEmpty(name.Name));\n      Assert.IsTrue(name.Name.StartsWith(\"EmptyBrowseName_\"));\n      Assert.IsTrue(name.NamespaceIndexSpecified);\n      Assert.AreEqual<int>(1, traceLog.Count);\n      Debug.WriteLine(traceLog[0].ToString());\n      Assert.AreEqual<Focus>(Focus.DataEncoding, traceLog[0].BuildError.Focus);\n      Assert.AreEqual<String>(BuildError.QualifiedNameInvalidSyntax.Identifier, traceLog[0].BuildError.Identifier);\n    }\n\n    [TestMethod]\n    public void ParseBrowseNameMyNamespaceIndex0TestMethod()\n    {\n      List<TraceMessage> traceLog = new List<TraceMessage>();\n      QualifiedName name = \"Id\".ParseBrowseName(new NodeId(\"ns=1;i=28\"), x => traceLog.Add(x));\n      Assert.IsNotNull(name);\n      Assert.IsFalse(String.IsNullOrEmpty(name.Name));\n      Assert.AreEqual<string>(\"Id\", name.Name);\n      Assert.IsTrue(name.NamespaceIndexSpecified);\n      Assert.AreEqual<ushort>(0, name.NamespaceIndex);\n      Assert.AreEqual<int>(0, traceLog.Count);\n    }\n\n    [TestMethod]\n    public void ParseBrowseNameTest()\n    {\n      List<TraceMessage> traceLog = new List<TraceMessage>();\n      QualifiedName name = \"   123:Id\".ParseBrowseName(new NodeId(\"ns=1;i=28\"), x => traceLog.Add(x));\n      Assert.IsNotNull(name);\n      Assert.IsFalse(String.IsNullOrEmpty(name.Name));\n      Assert.AreEqual<string>(\"Id\", name.Name);\n      Assert.IsTrue(name.NamespaceIndexSpecified);\n      Assert.AreEqual<ushort>(123, name.NamespaceIndex);\n      Assert.AreEqual<int>(0, traceLog.Count);\n    }\n\n    [TestMethod]\n    public void ParseNodeIdValidTest()\n    {\n      //Numeric\n      NodeId _ni = \"i=13\".ParseNodeId(x => Assert.Fail());\n      Assert.IsNotNull(_ni);\n      _ni = \"i=0\".ParseNodeId(x => Assert.Fail());\n      Assert.IsNotNull(_ni);\n      //STRING\n      _ni = \"ns=10;s=Hello:World\".ParseNodeId(x => Assert.Fail());\n      Assert.IsNotNull(_ni);\n      //GUID\n      _ni = \"g=09087e75-8e5e-499b-954f-f2a9603db28a\".ParseNodeId(x => Assert.Fail());\n      Assert.IsNotNull(_ni);\n      //OPAQUE\n      _ni = \"ns=1;b=M/RbKBsRVkePCePcx24oRA==\".ParseNodeId(x => Assert.Fail());\n      Assert.IsNotNull(_ni);\n      //?? Default string - should be not valid ?\n      _ni = \"M/RbKBsRVkePCePcx24oRA==\".ParseNodeId(x => Assert.Fail());\n      Assert.IsNotNull(_ni);\n    }\n\n    [TestMethod]\n    public void NodeIdNonValidNumericTest1()\n    {\n      TraceDiagnosticFixture inMemoryTrace = new Helpers.TraceDiagnosticFixture();\n      NodeId _ni = \"ns=10;i=-1\".ParseNodeId(inMemoryTrace.TraceDiagnostic); //this example is in the specification as valid\n      Assert.AreEqual<int>(1, inMemoryTrace.DiagnosticCounter);\n      Assert.AreEqual<int>(1, inMemoryTrace.TraceList.Count);\n      Assert.AreEqual<string>(BuildError.NodeIdInvalidSyntax.Identifier, inMemoryTrace.TraceList[0].BuildError.Identifier);\n    }\n\n    [TestMethod]\n    public void NodeIdNonValidNumericTest2()\n    {\n      TraceDiagnosticFixture inMemoryTrace = new Helpers.TraceDiagnosticFixture();\n      NodeId _ni = \"ns=-10;i=01\".ParseNodeId(inMemoryTrace.TraceDiagnostic); //this example is in the specification as valid\n      Assert.AreEqual<int>(1, inMemoryTrace.DiagnosticCounter);\n      Assert.AreEqual<int>(1, inMemoryTrace.TraceList.Count);\n      Assert.AreEqual<string>(BuildError.NodeIdInvalidSyntax.Identifier, inMemoryTrace.TraceList[0].BuildError.Identifier);\n    }\n  }\n}"
  },
  {
    "path": "SemanticData/Tests/USNodeSetValidationUnitTestProject/DataSerialization/NodeIdUnitTest.cs",
    "content": "﻿//___________________________________________________________________________________\n//\n//  Copyright (C) 2019, Mariusz Postol LODZ POLAND.\n//\n//  To be in touch join the community at GITTER: https://gitter.im/mpostol/OPC-UA-OOI\n//___________________________________________________________________________________\n\nusing Microsoft.VisualStudio.TestTools.UnitTesting;\nusing System;\nusing System.Collections.Generic;\nusing System.Linq;\nusing UAOOI.SemanticData.UANodeSetValidation.UAInformationModel;\n\nnamespace UAOOI.SemanticData.UANodeSetValidation.DataSerialization\n{\n  [TestClass]\n  public class NodeIdUnitTest\n  {\n\n    [TestMethod]\n    [TestCategory(\"Serialization\")]\n    public void NodeIdValidTestMethod1()\n    {\n      //Numeric\n      NodeId _ni = NodeId.Parse(\"i=13\");\n      Assert.IsNotNull(_ni);\n      _ni = NodeId.Parse(\"i=0\");\n      Assert.IsNotNull(_ni);\n      //STRING\n      _ni = NodeId.Parse(\"ns=10;s=Hello:World\");\n      Assert.IsNotNull(_ni);\n      //GUID\n      _ni = NodeId.Parse(\"g=09087e75-8e5e-499b-954f-f2a9603db28a\");\n      Assert.IsNotNull(_ni);\n      //OPAQUE\n      _ni = NodeId.Parse(\"ns=1;b=M/RbKBsRVkePCePcx24oRA==\");\n      Assert.IsNotNull(_ni);\n      //?? Default string - should be not valid ?\n      _ni = NodeId.Parse(\"M/RbKBsRVkePCePcx24oRA==\");\n      Assert.IsNotNull(_ni);\n    }\n    [TestMethod]\n    [TestCategory(\"Serialization\")]\n    [ExpectedException(typeof(ServiceResultException))]\n    public void NodeIdNonValidNumericTestMethod1()\n    {\n      NodeId _ni;\n      _ni = NodeId.Parse(\"ns=10;i=-1\"); //this example is in the specification as valid \n    }\n    [TestMethod]\n    [TestCategory(\"Serialization\")]\n    [ExpectedException(typeof(ServiceResultException))]\n    public void NodeIdNonValidNumericTestMethod2()\n    {\n      NodeId _ni;\n      _ni = NodeId.Parse(\"ns=-10;i=01\");\n    }\n    [TestMethod]\n    [TestCategory(\"Serialization\")]\n    public void NodeIdOperatorTestMethod1()\n    {\n      NodeId _property = new NodeId(VariableTypes.PropertyType);\n      Assert.AreNotSame(_property, VariableTypeIds.PropertyType);\n      Assert.IsTrue(_property == VariableTypeIds.PropertyType);\n      Assert.IsTrue(_property.Equals(VariableTypeIds.PropertyType));\n    }\n    [TestMethod]\n    [TestCategory(\"Serialization\")]\n    public void NodeIdCompareToTestMethod()\n    {\n      NodeId _property = new NodeId(VariableTypes.PropertyType);\n      Assert.AreNotSame(_property, VariableTypeIds.PropertyType);\n      int _res = _property.CompareTo(VariableTypeIds.PropertyType);\n      Assert.AreEqual<int>(0, _res);\n    }\n    [TestMethod]\n    [TestCategory(\"Serialization\")]\n    public void NodeIdToStringTestMethod()\n    {\n      NodeId _property = new NodeId(VariableTypes.PropertyType);\n      Assert.AreNotSame(_property, VariableTypeIds.PropertyType);\n      string _res = _property.ToString();\n      Assert.AreEqual<string>(\"i=68\", _res);\n    }\n    [TestMethod]\n    [TestCategory(\"Serialization\")]\n    public void NodeIdToStringTestMethod2()\n    {\n      NodeId _property = new NodeId(68, 1);\n      Assert.AreNotSame(_property, VariableTypeIds.PropertyType);\n      string _res = _property.ToString();\n      Assert.AreEqual<string>(\"ns=1;i=68\", _res);\n    }\n    [TestMethod]\n    [TestCategory(\"Serialization\")]\n    public void NodeIdToStringTestMethod3()\n    {\n      System.Guid _gd = new System.Guid(\"e08edc80-e771-43ff-b8f6-1fbb62ae5cda\");\n      NodeId _property = new NodeId(_gd, 1);\n      string _res = _property.ToString();\n      Assert.AreEqual<string>(\"ns=1;g=e08edc80-e771-43ff-b8f6-1fbb62ae5cda\", _res);\n    }\n    [TestMethod]\n    [TestCategory(\"Serialization\")]\n    public void NodeIdDictionaryTestMethod()\n    {\n      Dictionary<NodeId, string> _dc = new Dictionary<NodeId, string>();\n      _dc.Add(VariableTypeIds.PropertyType, VariableTypeIds.PropertyType.ToString());\n      Assert.IsTrue(_dc.ContainsKey(VariableTypeIds.PropertyType));\n    }\n    [TestMethod]\n    [TestCategory(\"Serialization\")]\n    public void NodeIdDictionaryTestMethod2()\n    {\n      Dictionary<string, NodeId> _dc = new Dictionary<string, NodeId>();\n      _dc.Add(VariableTypeIds.PropertyType.ToString(), VariableTypeIds.PropertyType);\n      _dc.Add(VariableTypeIds.AnalogItemType.ToString(), VariableTypeIds.AnalogItemType);\n      _dc.Add(VariableTypeIds.ArrayItemType.ToString(), VariableTypeIds.ArrayItemType);\n      _dc.Add(VariableTypeIds.BaseDataVariableType.ToString(), VariableTypeIds.BaseDataVariableType);\n      _dc.Add(VariableTypeIds.BaseVariableType.ToString(), VariableTypeIds.BaseVariableType);\n      NodeId _id = NodeId.Null;\n      string _ni = \"g=09087e75-8e5e-499b-954f-f2a9603db28a\";\n      Assert.IsTrue(_dc.TryGetValue(VariableTypeIds.PropertyType.ToString(), out _id));\n      Assert.IsFalse(_dc.TryGetValue(NodeId.Parse(_ni).ToString(), out _id));\n      _id = NodeId.Parse(_ni);\n      Assert.IsNotNull(_id);\n      _dc.Add(_id.ToString(), _id);\n      Assert.IsTrue(_dc.TryGetValue(VariableTypeIds.PropertyType.ToString(), out _id));\n      NodeId _nid = NodeId.Parse(_ni);\n      Assert.IsNotNull(_nid);\n      Assert.AreEqual<int>(1, _dc.Where<KeyValuePair<string, NodeId>>(x => x.Key == _nid.ToString()).Count<KeyValuePair<string, NodeId>>());\n      Assert.IsTrue(_dc.TryGetValue(_nid.ToString(), out _id));\n      Assert.IsTrue(_dc.ContainsKey(_nid.ToString()));\n    }\n    [TestMethod]\n    [TestCategory(\"Serialization\")]\n    [ExpectedException(typeof(ArgumentException))]\n    public void NodeIdDictionaryTestMethod3()\n    {\n      Dictionary<NodeId, string> _dc = new Dictionary<NodeId, string>();\n      _dc.Add(VariableTypeIds.PropertyType, VariableTypeIds.PropertyType.ToString());\n      _dc.Add(VariableTypeIds.AnalogItemType, VariableTypeIds.AnalogItemType.ToString());\n      _dc.Add(VariableTypeIds.ArrayItemType, VariableTypeIds.ArrayItemType.ToString());\n      _dc.Add(VariableTypeIds.BaseDataVariableType, VariableTypeIds.BaseDataVariableType.ToString());\n      _dc.Add(VariableTypeIds.BaseVariableType, VariableTypeIds.BaseVariableType.ToString());\n      _dc.Add(VariableTypeIds.PropertyType, VariableTypeIds.PropertyType.ToString());\n    }\n\n  }\n\n}\n"
  },
  {
    "path": "SemanticData/Tests/USNodeSetValidationUnitTestProject/DataSerialization/QualifiedNameUnitTest.cs",
    "content": "﻿//___________________________________________________________________________________\n//\n//  Copyright (C) 2019, Mariusz Postol LODZ POLAND.\n//\n//  To be in touch join the community at GITTER: https://gitter.im/mpostol/OPC-UA-OOI\n//___________________________________________________________________________________\n\nusing Microsoft.VisualStudio.TestTools.UnitTesting;\n\nnamespace UAOOI.SemanticData.UANodeSetValidation.DataSerialization\n{\n  [TestClass]\n  public class QualifiedNameUnitTest\n  {\n    [TestMethod]\n    public void NotEqualOperatorTest()\n    {\n      QualifiedName _qualifiedName = null;\n      Assert.IsFalse(_qualifiedName != null);\n      _qualifiedName = new QualifiedName(\"name\", 1);\n      Assert.IsTrue(_qualifiedName != null);\n    }\n\n    [TestMethod]\n    public void EqualOperatorTest()\n    {\n      QualifiedName _qualifiedName = null;\n      Assert.IsTrue(_qualifiedName == null);\n      _qualifiedName = new QualifiedName(\"name\", 1);\n      Assert.IsFalse(_qualifiedName == null);\n    }\n\n    [TestMethod]\n    public void EqualsTest()\n    {\n      QualifiedName _qualifiedName = new QualifiedName(\"name\", 1);\n      Assert.IsTrue(_qualifiedName.NamespaceIndexSpecified);\n      Assert.IsFalse(_qualifiedName.Equals(null));\n      Assert.IsTrue(_qualifiedName.Equals(_qualifiedName));\n      QualifiedName _qualifiedNameSecond = new QualifiedName(\"name\", 1);\n      Assert.IsTrue(_qualifiedName.Equals(_qualifiedNameSecond));\n      _qualifiedNameSecond = new QualifiedName(\"NAME\", 1);\n      Assert.IsFalse(_qualifiedName.Equals(_qualifiedNameSecond));\n      _qualifiedNameSecond = new QualifiedName(\"name\", 0);\n      Assert.IsFalse(_qualifiedName.Equals(_qualifiedNameSecond));\n    }\n\n    [TestMethod]\n    public void ToStringTest()\n    {\n      QualifiedName _qualifiedName = new QualifiedName(\"name\", 1);\n      Assert.AreEqual<string>($\"1:name\", _qualifiedName.ToString());\n      _qualifiedName = new QualifiedName(\"name\");\n      Assert.AreEqual<string>(\"name\", _qualifiedName.ToString());\n      _qualifiedName = new QualifiedName();\n      Assert.AreEqual<string>(\"\", _qualifiedName.ToString());\n    }\n\n    [TestMethod]\n    public void QualifiedNameConstructorTest()\n    {\n      string name = \"Default Binary\";\n      QualifiedName _qn = new QualifiedName(\"Default Binary\");\n      Assert.IsNotNull(_qn);\n      //Assert.AreEqual<int>(_qn.NamespaceIndex, 0);\n      Assert.IsFalse(_qn.NamespaceIndexSpecified);\n      Assert.AreEqual<string>(_qn.Name, name);\n    }\n\n    [TestMethod]\n    public void OperatorsTest()\n    {\n      QualifiedName _qn1 = new QualifiedName(\"Default Binary\");\n      QualifiedName _qn2 = new QualifiedName(\"Default Binary\");\n      Assert.IsTrue(_qn1 != null);\n      Assert.IsTrue(null != _qn1);\n      Assert.IsTrue(_qn1 == _qn2);\n      Assert.IsTrue(_qn2 == _qn1);\n      _qn2 = new QualifiedName(\"Something else\");\n      Assert.IsTrue(_qn1 != _qn2);\n      _qn2 = new QualifiedName(\"1:Default Binary\");\n      Assert.IsTrue(_qn1 != _qn2);\n    }\n\n    [TestMethod]\n    public void QualifiedNameParseTest()\n    {\n      QualifiedName _qn = QualifiedName.Parse(\"Name\");\n      Assert.IsNotNull(_qn);\n      Assert.AreEqual<int>(_qn.NamespaceIndex, 0);\n      Assert.IsTrue(_qn.NamespaceIndexSpecified);\n      Assert.AreEqual<string>(_qn.Name, \"Name\");\n    }\n\n    [TestMethod]\n    public void QualifiedNameParse0NamespaceIndexTest()\n    {\n      QualifiedName _qn = QualifiedName.Parse(\"0:Name\");\n      Assert.IsNotNull(_qn);\n      Assert.IsTrue(_qn.NamespaceIndexSpecified);\n      Assert.AreEqual<int>(_qn.NamespaceIndex, 0);\n      Assert.AreEqual<string>(_qn.Name, \"Name\");\n    }\n\n    [TestMethod]\n    public void QualifiedNameParseDefaultNamespaceTestMethod()\n    {\n      AssertQualifiedNameParse(\"0:http://opcfoundation.org/UA/\", @\"http://opcfoundation.org/UA/\", 0);\n      AssertQualifiedNameParse(\"Byte\", \"Byte\", 0);\n      AssertQualifiedNameParse(\"1:Default Binary\", \"Default Binary\", 1);\n      AssertQualifiedNameParse(\":Default Binary\", \"Default Binary\", 0);\n      AssertQualifiedNameParse(\"1:Default Binary\", \"Default Binary\", 1);\n      AssertQualifiedNameParse(\"Default Binary\", \"Default Binary\", 0);\n      AssertQualifiedNameParse(\"   1:Default Binary   \", \"Default Binary   \", 1);\n      AssertQualifiedNameParse(\"   Default Binary   \", \"Default Binary   \", 0);\n      AssertQualifiedNameParse(\"   Default Binary   \", \"Default Binary   \", 0);\n      AssertQualifiedNameParse(\"   1:<Default Binary>\", \"<Default Binary>\", 1);\n      AssertQualifiedNameParse(\"   1:[Default Binary]\", \"[Default Binary]\", 1);\n      AssertQualifiedNameParse(\"   1:{Default Binary}\", \"{Default Binary}\", 1);\n      AssertQualifiedNameParse(\"   1:Default Binary {n}\", \"Default Binary {n}\", 1);\n    }\n\n    private void AssertQualifiedNameParse(string text, string expectedName, ushort expectedNamespaceIndex)\n    {\n      QualifiedName newQualifiedName = QualifiedName.Parse(text);\n      Assert.IsNotNull(newQualifiedName);\n      Assert.IsTrue(newQualifiedName.NamespaceIndexSpecified);\n      Assert.AreEqual<int>(expectedNamespaceIndex, newQualifiedName.NamespaceIndex);\n      Assert.AreEqual<string>(expectedName, newQualifiedName.Name);\n    }\n  }\n}"
  },
  {
    "path": "SemanticData/Tests/USNodeSetValidationUnitTestProject/ExtensionsUnitTest.cs",
    "content": "﻿//___________________________________________________________________________________\n//\n//  Copyright (C) 2019, Mariusz Postol LODZ POLAND.\n//\n//  To be in touch join the community at GITTER: https://gitter.im/mpostol/OPC-UA-OOI\n//___________________________________________________________________________________\n\nusing Microsoft.VisualStudio.TestTools.UnitTesting;\nusing UAOOI.SemanticData.UANodeSetValidation.DataSerialization;\n\nnamespace UAOOI.SemanticData.UANodeSetValidation\n{\n  [TestClass]\n  public class ExtensionsUnitTest\n  {\n    [TestMethod]\n    public void ArrayDimensionsToStringTestMethod()\n    {\n      uint[] _testingData = new uint[] { 1, 2, 3, 4, 5 };\n      string _result = _testingData.ArrayDimensionsToString();\n      Assert.AreEqual<string>(\"1, 2, 3, 4, 5\", _result);\n    }\n    [TestMethod]\n    public void LocalizedTextArraysEqualTest()\n    {\n      LocalizedText[] _first = null;\n      Assert.IsTrue(_first.LocalizedTextArraysEqual(_first));\n      Assert.IsFalse(_first.LocalizedTextArraysEqual(new LocalizedText[] { }));\n      Assert.IsFalse((new LocalizedText[] { }).LocalizedTextArraysEqual(null));\n      _first = new LocalizedText[] { };\n      Assert.IsTrue(_first.LocalizedTextArraysEqual(new LocalizedText[] { }));\n      _first = new LocalizedText[] { new LocalizedText() { Locale = \"Locale1\", Text = \"Value1\" }, new LocalizedText() { Locale = \"Locale2\", Text = \"Value2\" } };\n      Assert.IsTrue(_first.LocalizedTextArraysEqual(new LocalizedText[] { new LocalizedText() { Locale = \"Locale2\", Text = \"Value2\" }, new LocalizedText() { Locale = \"Locale1\", Text = \"Value1\" } }));\n    }\n    [TestMethod]\n    public void RolePermissionsEqualsTest()\n    {\n      XML.RolePermission[] _first = null;\n      Assert.IsTrue(_first.RolePermissionsEquals(_first));\n      Assert.IsFalse(_first.RolePermissionsEquals(new XML.RolePermission[] { }));\n      _first = new XML.RolePermission[] { };\n      Assert.IsTrue(_first.RolePermissionsEquals(new XML.RolePermission[] { }));\n      _first = new XML.RolePermission[] { new XML.RolePermission() { Permissions = 1234, Value = \"Value1\" }, new XML.RolePermission() { Permissions = 4321, Value = \"Value2\" } };\n      Assert.IsTrue(_first.RolePermissionsEquals(new XML.RolePermission[] { new XML.RolePermission() { Permissions = 4321, Value = \"Value2\" }, new XML.RolePermission() { Permissions = 1234, Value = \"Value1\" } }));\n    }\n  }\n}\n"
  },
  {
    "path": "SemanticData/Tests/USNodeSetValidationUnitTestProject/Helpers/TestData.cs",
    "content": "﻿//___________________________________________________________________________________\n//\n//  Copyright (C) 2021, Mariusz Postol LODZ POLAND.\n//\n//  To be in touch join the community at GITTER: https://gitter.im/mpostol/OPC-UA-OOI\n//___________________________________________________________________________________\n\nusing Microsoft.VisualStudio.TestTools.UnitTesting;\nusing Moq;\nusing System;\nusing UAOOI.SemanticData.BuildingErrorsHandling;\nusing UAOOI.SemanticData.UANodeSetValidation.DataSerialization;\nusing UAOOI.SemanticData.UANodeSetValidation.UAInformationModel;\nusing UAOOI.SemanticData.UANodeSetValidation.XML;\n\nnamespace UAOOI.SemanticData.UANodeSetValidation.UnitTest.Helpers\n{\n  internal static class TestData\n  {\n    public static UANodeSet CreateNodeSetModel()\n    {\n      UANodeSet _ns = new UANodeSet()\n      {\n        NamespaceUris = new string[] { @\"http://cas.eu/UA/Demo/\" },\n        Aliases = new NodeIdAlias[] {\n                                      new NodeIdAlias() { Alias = \"Boolean\", Value = \"i=1\" },\n                                      new NodeIdAlias() { Alias = \"HasSubtype\", Value = \"i=45\" }\n                                    },\n        Items = new UANode[] { CreateUAObject() }\n      };\n      return _ns;\n    }\n\n    public static UAObject CreateUAObject()\n    {\n      return new UAObject()\n      {\n        NodeId = \"ns=1;i=1\",\n        BrowseName = \"1:NewUAObject\",\n        DisplayName = new XML.LocalizedText[] { new XML.LocalizedText() { Value = \"New UA Object\" } },\n        References = new Reference[]\n        {\n          new Reference() { ReferenceType = ReferenceTypeIds.HasTypeDefinition.ToString(), IsForward = true, Value = ObjectTypeIds.BaseObjectType.ToString() },\n          new Reference() { ReferenceType = ReferenceTypeIds.Organizes.ToString(), IsForward= false, Value = \"i=85\" }\n        },\n        // UAInstance\n        ParentNodeId = string.Empty,\n        // UAObject\n        EventNotifier = 0x01,\n      };\n    }\n\n    public static UAReferenceType CreateUAReferenceType()\n    {\n      return new UAReferenceType()\n      {\n        NodeId = \"ns=1;i=985\",\n        BrowseName = \"1:FlowTo\",\n        DisplayName = new XML.LocalizedText[] { new XML.LocalizedText() { Value = \"FlowTo\" } },\n        Symmetric = true,\n        References = new Reference[] { new Reference() { ReferenceType = \"HasSubtype\", IsForward = false, Value = \"i=32\" } }\n      };\n    }\n\n    internal static UANodeType Recalculate<UANodeType>(this UANodeType node)\n      where UANodeType : UANode\n    {\n      Mock<IUAModelContext> modelMock = new Mock<IUAModelContext>();\n      modelMock.Setup(x => x.ImportNodeId(It.IsAny<string>(), It.IsAny<Action<TraceMessage>>())).Returns<string, Action<TraceMessage>>((q, w) => NodeId.Parse(q));\n      modelMock.Setup(x => x.ImportBrowseName(It.IsAny<string>(), It.IsAny<string>(), It.IsAny<Action<TraceMessage>>())).Returns<string, string, Action<TraceMessage>>((a, b, c) => (QualifiedName.Parse(a), NodeId.Parse(b)));\n      node.RecalculateNodeIds(modelMock.Object, message => Assert.Fail());\n      return node;\n    }\n  }\n}"
  },
  {
    "path": "SemanticData/Tests/USNodeSetValidationUnitTestProject/Helpers/TraceDiagnosticFixture.cs",
    "content": "﻿//___________________________________________________________________________________\n//\n//  Copyright (C) 2021, Mariusz Postol LODZ POLAND.\n//\n//  To be in touch join the community at GITTER: https://gitter.im/mpostol/OPC-UA-OOI\n//___________________________________________________________________________________\n\nusing System.Collections.Generic;\nusing System.Diagnostics;\nusing UAOOI.SemanticData.BuildingErrorsHandling;\n\nnamespace UAOOI.SemanticData.UANodeSetValidation.Helpers\n{\n  internal class TraceDiagnosticFixture\n  {\n    internal readonly List<TraceMessage> TraceList = new List<TraceMessage>();\n    internal int DiagnosticCounter = 0;\n\n    internal void Clear()\n    {\n      DiagnosticCounter = 0;\n      TraceList.Clear();\n    }\n\n    internal void TraceDiagnostic(TraceMessage msg)\n    {\n      Debug.WriteLine(msg.ToString());\n      if (msg.BuildError.Focus == Focus.Diagnostic)\n        DiagnosticCounter++;\n      else\n        TraceList.Add(msg);\n    }\n  }\n}"
  },
  {
    "path": "SemanticData/Tests/USNodeSetValidationUnitTestProject/Helpers/TracedAddressSpaceContext.cs",
    "content": "﻿//__________________________________________________________________________________________________\n//\n//  Copyright (C) 2022, Mariusz Postol LODZ POLAND.\n//\n//  To be in touch join the community at GitHub: https://github.com/mpostol/OPC-UA-OOI/discussions\n//__________________________________________________________________________________________________\n\nusing Microsoft.VisualStudio.TestTools.UnitTesting;\nusing System;\nusing System.Collections.Generic;\nusing System.Diagnostics;\nusing System.IO;\nusing System.Linq;\nusing UAOOI.SemanticData.AddressSpace.Abstractions;\nusing UAOOI.SemanticData.BuildingErrorsHandling;\nusing UAOOI.SemanticData.InformationModelFactory;\nusing UAOOI.SemanticData.UANodeSetValidation.DataSerialization;\nusing UAOOI.SemanticData.UANodeSetValidation.Diagnostic;\nusing UAOOI.SemanticData.UANodeSetValidation.XML;\n\nnamespace UAOOI.SemanticData.UANodeSetValidation.Helpers\n{\n  /// <summary>\n  /// Traced Address Space\n  /// Implements the <seealso cref=\"IBuildErrorsHandling\"/> interface\n  /// </summary>\n  ///\n  internal class TracedAddressSpaceContext\n  {\n    /// <summary>\n    /// Setup new instance\n    /// - creates <see cref=\"IAddressSpaceContext\"/>\n    /// - reads standard model\n    /// - reads custom model\n    /// </summary>\n    /// <param name=\"iUANodeSet\">Custom model for testing purpose</param>\n    internal TracedAddressSpaceContext(IUANodeSet iUANodeSet) : this()\n    {\n      Assert.IsNotNull(iUANodeSet);\n      AddressSpace.ImportUANodeSet(iUANodeSet);\n    }\n\n    /// <summary>\n    /// Setup new instance\n    /// - creates <see cref=\"IAddressSpaceContext\"/>\n    /// - reads standard model\n    /// - reads custom model\n    /// </summary>\n    /// <param name=\"path\">Custom model for testing purpose</param>\n    internal TracedAddressSpaceContext(string path) : this()\n    {\n      FileInfo testDataFileInfo = new FileInfo(path);\n      Assert.IsTrue(testDataFileInfo.Exists);\n      IUANodeSet iUANodeSet = UANodeSet.ReadModelFile(testDataFileInfo);\n      Assert.IsNotNull(iUANodeSet);\n      AddressSpace.ImportUANodeSet(iUANodeSet);\n    }\n\n    /// <summary>\n    /// Setup new instance\n    /// - creates <see cref=\"IAddressSpaceContext\"/>\n    /// - reads standard model\n    /// </summary>\n    internal TracedAddressSpaceContext()\n    {\n      AddressSpace = AddressSpaceFactory.AddressSpace(Log);\n      AddressSpace.ImportUANodeSet(UANodeSet.ReadUADefinedTypes());\n    }\n\n    internal TraceMessage this[int i] => Log.TraceList[i];\n    internal IAddressSpaceContext AddressSpace { get; private set; }\n\n    internal void UTAddressSpaceCheckConsistency(Action<IUANodeContext> action)\n    {\n      ((AddressSpaceContext)AddressSpace).UTAddressSpaceCheckConsistency(action);\n    }\n\n    internal void UTTryGetUANodeContext(DataSerialization.NodeId nodeId, Action<IUANodeContext> returnValue)\n    {\n      ((AddressSpaceContext)AddressSpace).UTTryGetUANodeContext(nodeId, returnValue);\n    }\n\n    internal void ValidateAndExportModel(Uri targetNamespace, IModelFactory factory = null)\n    {\n      AddressSpace.ValidateAndExportModel(targetNamespace, factory);\n    }\n\n    internal void UTReferencesCheckConsistency(Action<IUANodeContext, IUANodeContext, IUANodeContext, IUANodeContext> action)\n    {\n      ((AddressSpaceContext)AddressSpace).UTReferencesCheckConsistency(action);\n    }\n\n    internal void UTGetReferences(NodeId rootFolder, Action<UAReferenceContext> value)\n    {\n      ((AddressSpaceContext)AddressSpace).UTGetReferences(rootFolder, value);\n    }\n\n    internal void UTValidateAndExportModel(int nameSpaceIndex, Action<IEnumerable<IUANodeContext>> value)\n    {\n      ((AddressSpaceContext)AddressSpace).UTValidateAndExportModel(nameSpaceIndex, value);\n    }\n\n    internal IUANodeContext GetOrCreateNodeContext(NodeId nodeId, Func<NodeId, IUANodeContext> createUAModelContext)\n    {\n      return ((AddressSpaceContext)AddressSpace).GetOrCreateNodeContext(nodeId, createUAModelContext);\n    }\n\n    internal void GetBaseTypes(IUANodeContext hasPropertyNode, List<IUANodeContext> inheritanceChain)\n    {\n      ((AddressSpaceContext)AddressSpace).GetBaseTypes(hasPropertyNode, inheritanceChain);\n    }\n\n    internal int Where(Func<TraceMessage, bool> predicate)\n    {\n      return Log.TraceList.Where<TraceMessage>(predicate).Count<TraceMessage>();\n    }\n\n    internal void TestConsistency(int errorsCounter)\n    {\n      Assert.AreEqual<int>(errorsCounter, Log.TraceList.Count);\n    }\n\n    internal void Clear()\n    {\n      Log.Clear();\n    }\n\n    #region private instrumentation\n\n    private class BuildErrorsHandling : IBuildErrorsHandling\n    {\n      internal void Clear()\n      {\n        Errors = 0;\n        TraceList.Clear();\n      }\n\n      internal List<TraceMessage> TraceList = new List<TraceMessage>();\n\n      #region IBuildErrorsHandling\n\n      public int Errors { get; set; } = 0;\n\n      public void TraceData(TraceEventType eventType, int id, object data)\n      {\n        throw new NotImplementedException($\"{nameof(TraceData)} must not be used\");\n      }\n\n      public void WriteTraceMessage(TraceMessage traceMessage)\n      {\n        Console.WriteLine(traceMessage.ToString());\n        if (traceMessage.BuildError.Focus == Focus.Diagnostic)\n          return;\n        Errors++;\n        TraceList.Add(traceMessage);\n      }\n\n      #endregion IBuildErrorsHandling\n    }\n\n    private BuildErrorsHandling Log = new BuildErrorsHandling();\n\n    #endregion private instrumentation\n  }\n}"
  },
  {
    "path": "SemanticData/Tests/USNodeSetValidationUnitTestProject/InformationModelFactoryUnitTest.cs",
    "content": "﻿\nusing Microsoft.VisualStudio.TestTools.UnitTesting;\nusing UAOOI.SemanticData.InformationModelFactory;\nusing UAOOI.SemanticData.UANodeSetValidation.InformationModelFactory;\n\nnamespace UAOOI.SemanticData.UANodeSetValidation\n{\n\n  [TestClass]\n  public class InformationModelFactoryUnitTest\n  {\n\n    [ClassInitialize]\n    public static void InformationModelFactoryClassInitialize(TestContext context)\n    {\n      m_FactoryBase = new InformationModelFactoryBase();\n      Assert.IsNotNull(m_FactoryBase);\n    }\n    [TestMethod]\n    [TestCategory(\"Code\")]\n    public void InformationModelFactoryIExportReferenceTypeFactoryTestMethod()\n    {\n      IReferenceTypeFactory _new = m_FactoryBase.AddNodeFactory<IReferenceTypeFactory>();\n      Assert.IsNotNull(_new);\n    }\n    [TestMethod]\n    [TestCategory(\"Code\")]\n    public void InformationModelFactoryIExportObjectTypeFactoryTestMethod2()\n    {\n      IObjectTypeFactory _new = m_FactoryBase.AddNodeFactory<IObjectTypeFactory>();\n      Assert.IsNotNull(_new);\n    }\n    [TestMethod]\n    [TestCategory(\"Code\")]\n    public void InformationModelFactoryIExportVariableTypeFactoryTestMethod2()\n    {\n      IVariableTypeFactory _new = m_FactoryBase.AddNodeFactory<IVariableTypeFactory>();\n      Assert.IsNotNull(_new);\n    }\n    [TestMethod]\n    [TestCategory(\"Code\")]\n    public void InformationModelIExportDataTypeFactoryFactoryTestMethod2()\n    {\n      IDataTypeFactory _new = m_FactoryBase.AddNodeFactory<IDataTypeFactory>();\n      Assert.IsNotNull(_new);\n    }\n    [TestMethod]\n    [TestCategory(\"Code\")]\n    public void InformationModelFactoryIExportObjectInstanceFactoryTestMethod2()\n    {\n      IObjectInstanceFactory _new = m_FactoryBase.AddNodeFactory<IObjectInstanceFactory>();\n      Assert.IsNotNull(_new);\n    }\n    [TestMethod]\n    [TestCategory(\"Code\")]\n    public void InformationModelFactoryIExportPropertyInstanceFactoryTestMethod2()\n    {\n      IPropertyInstanceFactory _new = m_FactoryBase.AddNodeFactory<IPropertyInstanceFactory>();\n      Assert.IsNotNull(_new);\n    }\n    [TestMethod]\n    [TestCategory(\"Code\")]\n    public void InformationModelFactoryIExportVariableInstanceFactoryTestMethod2()\n    {\n      IVariableInstanceFactory _new = m_FactoryBase.AddNodeFactory<IVariableInstanceFactory>();\n      Assert.IsNotNull(_new);\n    }\n    [TestMethod]\n    [TestCategory(\"Code\")]\n    public void InformationModelFactoryIExportMethodInstanceFactoryTestMethod2()\n    {\n      IMethodInstanceFactory _new = m_FactoryBase.AddNodeFactory<IMethodInstanceFactory>();\n      Assert.IsNotNull(_new);\n    }\n    [TestMethod]\n    [TestCategory(\"Code\")]\n    public void InformationModelFactoryIExportViewInstanceFactoryTestMethod2()\n    {\n      IViewInstanceFactory _new = m_FactoryBase.AddNodeFactory<IViewInstanceFactory>();\n      Assert.IsNotNull(_new);\n    }\n\n    private static InformationModelFactoryBase m_FactoryBase = null;\n\n  }\n\n}\n"
  },
  {
    "path": "SemanticData/Tests/USNodeSetValidationUnitTestProject/ModelFactoryTestingFixture/DataTypeDefinitionFactoryBase.cs",
    "content": "﻿//___________________________________________________________________________________\n//\n//  Copyright (C) 2021, Mariusz Postol LODZ POLAND.\n//\n//  To be in touch join the community at GITTER: https://gitter.im/mpostol/OPC-UA-OOI\n//___________________________________________________________________________________\n\nusing System.Xml;\nusing UAOOI.SemanticData.InformationModelFactory;\n\nnamespace UAOOI.SemanticData.UANodeSetValidation.ModelFactoryTestingFixture\n{\n  /// <summary>\n  /// Class DataTypeDefinitionFactoryBase.\n  /// Implements the <see cref=\"UAOOI.SemanticData.InformationModelFactory.IDataTypeDefinitionFactory\" />\n  /// </summary>\n  /// <seealso cref=\"UAOOI.SemanticData.InformationModelFactory.IDataTypeDefinitionFactory\" />\n  internal class DataTypeDefinitionFactoryBase : IDataTypeDefinitionFactory\n  {\n    /// <summary>\n    /// Creates new field and provides an object of <see cref=\"T:UAOOI.SemanticData.InformationModelFactory.IDataTypeFieldFactory\" /> type encapsulating information about the field data type.\n    /// </summary>\n    /// <returns>Returns <see cref=\"T:UAOOI.SemanticData.InformationModelFactory.IDataTypeFieldFactory\" /> .</returns>\n    public IDataTypeFieldFactory NewField()\n    {\n      return new DataTypeFieldFactoryBase();\n    }\n\n    /// <summary>\n    /// Sets the name of the DataType.\n    /// </summary>\n    /// <value>The name represented as <see cref=\"T:System.Xml.XmlQualifiedName\" />.</value>\n    public XmlQualifiedName Name { set { } }\n\n    /// <summary>\n    /// A symbolic name for the data type. It should only be specified if the Name cannot be used for this purpose.\n    /// Only letters, digits or the underscore (‘_’) are permitted.\n    /// </summary>\n    /// <value>The symbolic name of ti entity.</value>\n    public string SymbolicName { set { } }\n\n    /// <summary>\n    /// Sets a value indicating whether this instance is option set. This flag indicates that the data type defines the OptionSetValues Property.\n    /// This field is optional.The default value is false.\n    /// </summary>\n    /// <value><c>true</c> if this instance is option set; otherwise, <c>false</c>.</value>\n    public bool IsOptionSet { set { } }\n\n    /// <summary>\n    /// Sets a value indicating whether this instance is union.\n    /// Only one of the Fields defined for the data type is encoded into a value.\n    /// This field is optional.The default value is false. If this value is true, the first field is the switch value.\n    /// </summary>\n    /// <value><c>true</c> if this instance is union; otherwise, <c>false</c>.</value>\n    public bool IsUnion { set { } }\n  }\n}"
  },
  {
    "path": "SemanticData/Tests/USNodeSetValidationUnitTestProject/ModelFactoryTestingFixture/DataTypeFactoryBase.cs",
    "content": "﻿//___________________________________________________________________________________\n//\n//  Copyright (C) 2021, Mariusz Postol LODZ POLAND.\n//\n//  To be in touch join the community at GITTER: https://gitter.im/mpostol/OPC-UA-OOI\n//___________________________________________________________________________________\n\nusing UAOOI.SemanticData.InformationModelFactory;\n\nnamespace UAOOI.SemanticData.UANodeSetValidation.ModelFactoryTestingFixture\n{\n  /// <summary>\n  /// Class DataTypeFactoryBase.\n  /// Implements the <see cref=\"UAOOI.SemanticData.UANodeSetValidation.InformationModelFactory.TypeFactoryBase\" />\n  /// Implements the <see cref=\"UAOOI.SemanticData.InformationModelFactory.IDataTypeFactory\" />\n  /// </summary>\n  /// <seealso cref=\"UAOOI.SemanticData.UANodeSetValidation.InformationModelFactory.TypeFactoryBase\" />\n  /// <seealso cref=\"UAOOI.SemanticData.InformationModelFactory.IDataTypeFactory\" />\n  internal class DataTypeFactoryBase : TypeFactoryBase, IDataTypeFactory\n  {\n    /// <summary>\n    /// Sets a value indicating whether this instance is option set. This flag indicates that the data type defines the OptionSetValues Property.\n    /// This field is optional.The default value is false.\n    /// </summary>\n    /// <value><c>true</c> if this instance is option set; otherwise, <c>false</c>.</value>\n    public bool IsOptionSet { set; private get; }\n\n    /// <summary>\n    /// Creates new implementation dependent object implementing the <see cref=\"T:UAOOI.SemanticData.InformationModelFactory.IDataTypeDefinitionFactory\" /> interface.\n    /// The data type model is used to define simple and complex data types. Types are used to describe the structure of the Value attribute of variables and their types.\n    /// Therefore each Variable and VariableType node is pointing with its DataType attribute to a node of the DataType node class.\n    /// </summary>\n    /// <returns>IDataTypeDefinitionFactory.</returns>\n    /// <value>Returns new object of <see cref=\"T:UAOOI.SemanticData.InformationModelFactory.IDataTypeDefinitionFactory\" /> type encapsulating DataType definition factory.</value>\n    public IDataTypeDefinitionFactory NewDefinition()\n    {\n      return new DataTypeDefinitionFactoryBase();\n    }\n  }\n}"
  },
  {
    "path": "SemanticData/Tests/USNodeSetValidationUnitTestProject/ModelFactoryTestingFixture/DataTypeFieldFactoryBase.cs",
    "content": "﻿//___________________________________________________________________________________\n//\n//  Copyright (C) 2021, Mariusz Postol LODZ POLAND.\n//\n//  To be in touch join the community at GITTER: https://gitter.im/mpostol/OPC-UA-OOI\n//___________________________________________________________________________________\n\nusing System.Xml;\nusing UAOOI.SemanticData.InformationModelFactory;\n\nnamespace UAOOI.SemanticData.UANodeSetValidation.ModelFactoryTestingFixture\n{\n  /// <summary>\n  /// Class DataTypeFieldFactoryBase.\n  /// Implements the <see cref=\"UAOOI.SemanticData.InformationModelFactory.IDataTypeFieldFactory\" />\n  /// </summary>\n  /// <seealso cref=\"UAOOI.SemanticData.InformationModelFactory.IDataTypeFieldFactory\" />\n  internal class DataTypeFieldFactoryBase : IDataTypeFieldFactory\n  {\n    /// <summary>\n    /// Sets the DataType name.\n    /// </summary>\n    /// <value>The type of the data.</value>\n    public XmlQualifiedName DataType { set { } }\n\n    /// <summary>\n    /// Sets the identifier the value associated with the field.\n    /// </summary>\n    /// <value>The identifier.</value>\n    public int? Identifier { set { } }\n\n    /// <summary>\n    /// Sets the name for the field that is unique within the <see cref=\"T:UAOOI.SemanticData.InformationModelFactory.IDataTypeDefinitionFactory\" />.\n    /// </summary>\n    /// <value>The name for the field.</value>\n    public string Name { set { } }\n\n    /// <summary>\n    /// Sets the value rank. It shall be Scalar (-1) or a fixed rank Array (&gt;=1). This field is not specified for subtypes of Enumeration.\n    /// </summary>\n    /// <value>The value rank.</value>\n    public int? ValueRank { set { } }\n\n    /// <summary>\n    /// Creates new object of <see cref=\"T:UAOOI.SemanticData.InformationModelFactory.IDataTypeDefinitionFactory\" /> for anonymous definition of the DatType.\n    /// The field is a structure with a layout specified by the <see cref=\"T:UAOOI.SemanticData.InformationModelFactory.IDataTypeDefinitionFactory\" />.\n    /// This field is optional.\n    /// This field allows designers to create nested structures without defining a new DataType Node for each structure.\n    /// This field is not specified for subtypes of Enumeration.\n    /// </summary>\n    /// <returns>IDataTypeDefinitionFactory.</returns>\n    /// <value>A new instance of <see cref=\"T:UAOOI.SemanticData.InformationModelFactory.IDataTypeDefinitionFactory\" /> encapsulating the DatType definition.</value>\n    public IDataTypeDefinitionFactory NewDefinition()\n    {\n      return new DataTypeDefinitionFactoryBase();\n    }\n\n    /// <summary>\n    /// The value associated with the field. This field is only specified for subtypes of Enumeration.\n    /// For OptionSets the value is the number of the bit associated with the field.\n    /// </summary>\n    /// <value>The value.</value>\n    public int Value\n    {\n      set { }\n    }\n\n    /// <summary>\n    /// Sets the symbolic name of the field. A symbolic name for the field that can be used in auto-generated code. It should only be\n    /// specified if the Name cannot be used for this purpose. Only letters, digits or the underscore (‘_’) are permitted.\n    /// This value is not exposed in the OPC UA Address Space\n    /// </summary>\n    /// <value>The symbolic name to be used by the tool.</value>\n    public string SymbolicName { set { } }\n\n    /// <summary>\n    /// Adds the description for the field in multiple locales\n    /// </summary>\n    /// <param name=\"localeField\">The locale field specified as a string that is composed of a language component and a country/region component as specified by RFC 3066.</param>\n    /// <param name=\"valueField\">The localized text.</param>\n    public void AddDescription(string localeField, string valueField) { }\n\n    /// <summary>\n    /// Adds the display name.\n    /// </summary>\n    /// <param name=\"localeField\">The locale field specified as a string that is composed of a language component and a country/region component as specified by RFC 3066.</param>\n    /// <param name=\"valueField\">The localized text.</param>\n    public void AddDisplayName(string localeField, string valueField) { }\n\n    /// <summary>\n    /// Creates new instance of <see cref=\"IDataTypeDefinitionFactory\"/>.\n    /// </summary>\n    /// <returns>IDataTypeDefinitionFactory.</returns>\n    public IDataTypeDefinitionFactory NewDataTypeDefinitionFactory() { return new DataTypeDefinitionFactoryBase(); }\n\n    /// <summary>\n    /// Gets the array dimensions.\n    /// </summary>\n    /// <value>The array dimensions.</value>\n    /// <remarks>The maximum length of an array. This field is a comma separated list of unsigned integer values.The list has a number of elements equal to the ValueRank.\n    /// The value is 0 if the maximum is not known for a dimension. This field is not specified if the ValueRank less or equal 0.\n    /// This field is not specified for subtypes of Enumeration or for DataTypes</remarks>\n    public string ArrayDimensions { set { } }\n\n    /// <summary>\n    /// Sets the maximum length of the string.\n    /// </summary>\n    /// <value>The maximum length of the string.</value>\n    /// <remarks>The maximum length of a String or ByteString value. If not known the value is 0. The value is 0 if the DataType is not String or ByteString.\n    /// If the ValueRank &gt; 0 the maximum applies to each element in the array. This field is not specified for subtypes of Enumeration or for DataTypes with\n    /// the OptionSetValues Property.</remarks>\n    public uint MaxStringLength { set { } }\n\n    /// <summary>\n    /// Sets a value indicating whether this instance is optional.\n    /// </summary>\n    /// <value><c>true</c> if this instance is optional; otherwise, <c>false</c>.</value>\n    /// <remarks>The field indicates if a data type field in a structure is optional. This field is optional.The default value is false. This field is not specified for subtypes of Enumeration and Union.</remarks>\n    public bool IsOptional { set { } }\n  }\n}"
  },
  {
    "path": "SemanticData/Tests/USNodeSetValidationUnitTestProject/ModelFactoryTestingFixture/InformationModelFactoryBase.cs",
    "content": "﻿//__________________________________________________________________________________________________\n//\n//  Copyright (C) 2022, Mariusz Postol LODZ POLAND.\n//\n//  To be in touch join the community at GitHub: https://github.com/mpostol/OPC-UA-OOI/discussions\n//__________________________________________________________________________________________________\n\nusing System;\nusing System.Collections.Generic;\nusing UAOOI.SemanticData.InformationModelFactory;\n\nnamespace UAOOI.SemanticData.UANodeSetValidation.ModelFactoryTestingFixture\n{\n  /// <summary>\n  /// Class InformationModelFactoryBase.\n  /// Implements the <see cref=\"UAOOI.SemanticData.UANodeSetValidation.InformationModelFactory.NodesContainer\" />\n  /// Implements the <see cref=\"UAOOI.SemanticData.InformationModelFactory.IModelFactory\" />\n  /// </summary>\n  /// <seealso cref=\"UAOOI.SemanticData.UANodeSetValidation.InformationModelFactory.NodesContainer\" />\n  /// <seealso cref=\"UAOOI.SemanticData.InformationModelFactory.IModelFactory\" />\n  internal class InformationModelFactoryBase : NodesContainer, IModelFactory\n  {\n    /// <summary>\n    /// Creates the namespace description for the provided <see cref=\"Uri\"/>.\n    /// </summary>\n    /// <param name=\"uri\">The <see cref=\"Uri\"/>.</param>\n    /// <param name=\"publicationDate\">The publication <seealso cref=\"DateTime\"/>- when the model was published. This value is used for comparisons if the Model is defined in multiple files.</param>\n    /// <param name=\"version\">The <seealso cref=\"Version\"/> of the model. This is a human readable string and not intended for programmatic comparisons.</param>\n    /// <remarks>The set of objects that the OPC Unified Architecture server makes available to clients is referred to as its Address Space. The namespace is provided to make the BrowseName unique in the Address Space.</remarks>\n    public void CreateNamespace(Uri uri, DateTime? publicationDate, Version version)\n    { }\n\n    internal IEnumerable<NodeFactoryBase> Export()\n    {\n      List<NodeFactoryBase> nodes = new List<NodeFactoryBase>();\n      base.Export(x => nodes.Add(x));\n      return nodes;\n    }\n  }\n}"
  },
  {
    "path": "SemanticData/Tests/USNodeSetValidationUnitTestProject/ModelFactoryTestingFixture/InstanceFactoryBase.cs",
    "content": "﻿//___________________________________________________________________________________\n//\n//  Copyright (C) 2021, Mariusz Postol LODZ POLAND.\n//\n//  To be in touch join the community at GITTER: https://gitter.im/mpostol/OPC-UA-OOI\n//___________________________________________________________________________________\n\nusing UAOOI.SemanticData.InformationModelFactory;\n\nnamespace UAOOI.SemanticData.UANodeSetValidation.ModelFactoryTestingFixture\n{\n  /// <summary>\n  /// Class InstanceFactoryBase.\n  /// Implements the <see cref=\"UAOOI.SemanticData.UANodeSetValidation.InformationModelFactory.NodeFactoryBase\" />\n  /// Implements the <see cref=\"UAOOI.SemanticData.InformationModelFactory.IInstanceFactory\" />\n  /// </summary>\n  /// <seealso cref=\"UAOOI.SemanticData.UANodeSetValidation.InformationModelFactory.NodeFactoryBase\" />\n  /// <seealso cref=\"UAOOI.SemanticData.InformationModelFactory.IInstanceFactory\" />\n  internal class InstanceFactoryBase : NodeFactoryBase, IInstanceFactory\n  {\n    /// <summary>\n    /// Sets the modeling rule, which defines whether the component of a complex type are instantiated.\n    /// This value is defined by processing the object pointed by the HasModelingRule reference.\n    /// </summary>\n    /// <value>The modeling rule.</value>\n    public ModelingRules? ModelingRule\n    {\n      set { }\n    }\n\n    /// <summary>\n    /// Sets the type definition.\n    /// </summary>\n    /// <value>The type definition.</value>\n    public System.Xml.XmlQualifiedName TypeDefinition\n    {\n      set { }\n    }\n\n    /// <summary>\n    /// Sets the type of the reference if it is component of a complex definition.\n    /// </summary>\n    /// <value>The type of the reference used for parent child relationship.</value>\n    public System.Xml.XmlQualifiedName ReferenceType\n    {\n      set { }\n    }\n  }\n}"
  },
  {
    "path": "SemanticData/Tests/USNodeSetValidationUnitTestProject/ModelFactoryTestingFixture/MethodInstanceFactoryBase.cs",
    "content": "﻿//___________________________________________________________________________________\n//\n//  Copyright (C) 2021, Mariusz Postol LODZ POLAND.\n//\n//  To be in touch join the community at GITTER: https://gitter.im/mpostol/OPC-UA-OOI\n//___________________________________________________________________________________\n\nusing System;\nusing System.Collections.Generic;\nusing System.Xml;\nusing UAOOI.SemanticData.InformationModelFactory;\nusing UAOOI.SemanticData.UANodeSetValidation.UAInformationModel;\n\nnamespace UAOOI.SemanticData.UANodeSetValidation.ModelFactoryTestingFixture\n{\n  /// <summary>\n  /// Class MethodInstanceFactoryBase - basic implementation of the <see cref=\"IMethodInstanceFactory\"/>.\n  /// </summary>\n  internal class MethodInstanceFactoryBase : InstanceFactoryBase, IMethodInstanceFactory\n  {\n    #region IMethodInstanceFactory\n\n    /// <summary>\n    /// Sets a value indicating whether the Method node is executable (“False” means not executable, “True” means executable), not taking user access rights into account.\n    /// If the server cannot get the executable information from the underlying system, it should state that it is executable. If a Method is called, the server should transfer\n    /// this request and return the corresponding StatusCode if such a request is rejected.\n    /// </summary>\n    /// <value><c>true</c> if executable; otherwise, <c>false</c>. Default value is <c>true</c></value>\n    public bool? Executable\n    {\n      set { }\n    }\n\n    /// <summary>\n    /// Sets a value indicating whether the Method is currently executable taking user access rights into account (“False” means not executable, “True” means executable).\n    /// </summary>\n    /// <value><c>true</c> if executable by current user; otherwise, <c>false</c>. Default value is <c>true</c></value>\n    public bool? UserExecutable { set { } }\n\n    /// <summary>\n    /// Gets or sets the method declaration identifier defined in Part 6  F.9. May be specified for Method Nodes that are a target of a HasComponent reference from a single Object Node.\n    /// It is the NodeId of the UAMethod with the same BrowseName contained in the TypeDefinition associated with the Object Node.\n    /// If the TypeDefinition overrides a Method inherited from a base ObjectType then this attribute shall reference the Method Node in the subtype.\n    /// </summary>\n    /// <value>The method declaration identifier.</value>\n    public string MethodDeclarationId { set { } }\n\n    /// <summary>\n    /// Adds the input arguments. The InputArgument specify the input argument of the Method. The Method contains an array of the Argument data type.\n    /// An empty array indicates that there are no input arguments for the Method.\n    /// </summary>\n    /// <param name=\"argument\">Encapsulates a method used to convert Argument represented as <see cref=\"XmlElement\" />.</param>\n    public void AddInputArguments(System.Func<XmlElement, Parameter[]> argument)\n    {\n      RemoveArguments(BrowseNames.InputArguments, argument);\n    }\n\n    /// <summary>\n    /// Adds the output argument. The OutputArgument specifies the output argument of the Method. The Method contains an array of the Argument data type.\n    /// An empty array indicates that there are no output arguments for the Method.\n    /// </summary>\n    /// <param name=\"argument\">Encapsulates a method used to convert Argument represented as <see cref=\"XmlElement\" />.</param>\n    public void AddOutputArguments(System.Func<XmlElement, Parameter[]> argument)\n    {\n      RemoveArguments(BrowseNames.OutputArguments, argument);\n    }\n\n    /// <summary>\n    /// Adds the argument description.\n    /// </summary>\n    /// <param name=\"name\">The name.</param>\n    /// <param name=\"locale\">The locale.</param>\n    /// <param name=\"value\">The value.</param>\n    public void AddArgumentDescription(string name, string locale, string value) { }\n\n    #endregion IMethodInstanceFactory\n\n    private Parameter[] RemoveArguments(string parameterKind, Func<XmlElement, Parameter[]> getParameters)\n    {\n      Parameter[] _parameters = null;\n      List<NodeFactoryBase> _newChildrenCollection = new List<NodeFactoryBase>();\n      foreach (NodeFactoryBase _item in m_Nodes)\n      {\n        if (_item.SymbolicName.Equals(new XmlQualifiedName(parameterKind, Namespaces.OpcUa)))\n        {\n          PropertyInstanceFactoryBase _arg = (PropertyInstanceFactoryBase)_item;\n          _parameters = getParameters(_arg.DefaultValue);\n        }\n        else\n          _newChildrenCollection.Add(_item);\n      }\n      m_Nodes = _newChildrenCollection;\n      return _parameters;\n    }\n  }\n}"
  },
  {
    "path": "SemanticData/Tests/USNodeSetValidationUnitTestProject/ModelFactoryTestingFixture/NodeFactoryBase.cs",
    "content": "﻿//___________________________________________________________________________________\n//\n//  Copyright (C) 2021, Mariusz Postol LODZ POLAND.\n//\n//  To be in touch join the community at GITTER: https://gitter.im/mpostol/OPC-UA-OOI\n//___________________________________________________________________________________\n\nusing System.Collections.Generic;\nusing System.Xml;\nusing UAOOI.SemanticData.InformationModelFactory;\nusing UAOOI.SemanticData.InformationModelFactory.UAConstants;\n\nnamespace UAOOI.SemanticData.UANodeSetValidation.ModelFactoryTestingFixture\n{\n  /// <summary>\n  /// Class NodeFactoryBase.\n  /// Implements the <see cref=\"UAOOI.SemanticData.UANodeSetValidation.InformationModelFactory.NodesContainer\" />\n  /// Implements the <see cref=\"UAOOI.SemanticData.InformationModelFactory.INodeFactory\" />\n  /// </summary>\n  /// <seealso cref=\"UAOOI.SemanticData.UANodeSetValidation.InformationModelFactory.NodesContainer\" />\n  /// <seealso cref=\"UAOOI.SemanticData.InformationModelFactory.INodeFactory\" />\n  internal class NodeFactoryBase : NodesContainer, INodeFactory\n  {\n    /// <summary>\n    /// It holds the value of the BrowseName attribute of modes in the Address Space.\n    /// </summary>\n    /// <value>The BrowseName of the node.</value>\n    public string BrowseName\n    {\n      set; get;\n    }\n\n    /// <summary>\n    /// Add new reference to the references collection of the node. This collection represents all the references defined by the selected Information Model including\n    /// references to the instance declarations nodes. The References list specifies references that must be created for the node during Address Space instantiation.\n    /// The reference can be forward or inverse.\n    /// </summary>\n    /// <returns>IReferenceFactory.</returns>\n    public IReferenceFactory NewReference()\n    {\n      ReferenceFactoryBase _ret = new ReferenceFactoryBase();\n      m_References.Add(_ret);\n      return _ret;\n    }\n\n    /// <summary>\n    /// Sets the a symbolic name for the node that can be used as a class/field name by a design tools to enhance auto-generated code.\n    /// It should only be specified if the BrowseName cannot be used for this purpose. This field is not used directly to instantiate\n    /// Address Space and is intended for use by design tools. Only letters, digits or the underscore (‘_’) are permitted.\n    /// This attribute is not exposed in the Address Space.\n    /// </summary>\n    /// <value>The symbolic name for the node.</value>\n    public XmlQualifiedName SymbolicName\n    {\n      set;\n      internal get;\n    }\n\n    /// <summary>\n    /// Sets the write mask. The optional WriteMask attribute represents the WriteMask attribute of the Basic NodeClass, which exposes the possibilities of a client\n    /// to write the attributes of the node. The WriteMask attribute does not take any user access rights into account, that is, although an attribute is writable\n    /// this may be restricted to a certain user/user group.\n    /// </summary>\n    /// <value>The write access.</value>\n    /// <remarks>Default Value \"0\"</remarks>\n    public uint WriteAccess { set { } }\n\n    /// <summary>\n    /// Sets the access restrictions.\n    /// </summary>\n    /// <value>The access restrictions.</value>\n    /// <remarks>The AccessRestrictions that apply to the Node.</remarks>\n    public AccessRestrictions AccessRestrictions { set { } }\n\n    /// <summary>\n    /// Sets the release status of the node.\n    /// </summary>\n    /// <value>The release status.</value>\n    /// <remarks>It is not exposed in the address space.\n    /// Added in the Rel 1.04 to the specification.</remarks>\n    public ReleaseStatus ReleaseStatus { set { } }\n\n    /// <summary>\n    /// Sets the data type purpose.\n    /// </summary>\n    /// <value>The data type purpose.</value>\n    /// <remarks>Not defined in the specification Part 2, 5, 6 and Errata Release 1.04.2 September 25, 2018</remarks>\n    public DataTypePurpose DataTypePurpose { set { } }\n\n    /// <summary>\n    /// Sets the category. A list of identifiers used to group related UANodes together for use by tools that create/edit UANodeSet files.\n    /// </summary>\n    /// <value>The category.</value>\n    /// <exception cref=\"System.NotImplementedException\"></exception>\n    public string[] Category { set { } }\n\n    /// <summary>\n    /// Adds new value for the Description. The optional Description element shall explain the meaning of the node in a localized text using the same mechanisms\n    /// for localization as described for the DisplayName.\n    /// </summary>\n    /// <param name=\"localeField\">The locale field.</param>\n    /// <param name=\"valueField\">The value field.</param>\n    public void AddDescription(string localeField, string valueField) { }\n\n    /// <summary>\n    /// Adds new value for the DisplayName. The DisplayName attribute contains the localized name of the node.\n    /// Clients should use this attribute if they want to display the name of the node to the user. They should not use\n    /// the BrowseName for this purpose. The server may maintain one or more localized representations for each DisplayName.\n    /// Clients negotiate the locale to be returned when they open a session with the server. The section DisplayName defines the structure of the DisplayName.\n    /// The string part of the DisplayName is restricted to 512 characters.\n    /// </summary>\n    /// <param name=\"localeField\">The locale field.</param>\n    /// <param name=\"valueField\">The value field.</param>\n    public void AddDisplayName(string localeField, string valueField) { }\n\n    protected List<ReferenceFactoryBase> m_References = new List<ReferenceFactoryBase>();\n  }\n}"
  },
  {
    "path": "SemanticData/Tests/USNodeSetValidationUnitTestProject/ModelFactoryTestingFixture/NodesContainer.cs",
    "content": "﻿//___________________________________________________________________________________\n//\n//  Copyright (C) 2021, Mariusz Postol LODZ POLAND.\n//\n//  To be in touch join the community at GITTER: https://gitter.im/mpostol/OPC-UA-OOI\n//___________________________________________________________________________________\n\nusing System;\nusing System.Collections.Generic;\nusing UAOOI.SemanticData.InformationModelFactory;\n\nnamespace UAOOI.SemanticData.UANodeSetValidation.ModelFactoryTestingFixture\n{\n  /// <summary>\n  /// Class NodesContainer.\n  /// Implements the <see cref=\"UAOOI.SemanticData.InformationModelFactory.INodeContainer\" />\n  /// </summary>\n  /// <seealso cref=\"UAOOI.SemanticData.InformationModelFactory.INodeContainer\" />\n  internal abstract class NodesContainer : INodeContainer\n  {\n    /// <summary>\n    /// Creates and adds a new node instance of the <see cref=\"T:UAOOI.SemanticData.InformationModelFactory.INodeFactory\" />.\n    /// </summary>\n    /// <typeparam name=\"TNodeFactory\">The type of the node factory must inherit from <see cref=\"T:UAOOI.SemanticData.InformationModelFactory.INodeFactory\" />.</typeparam>\n    /// <returns>Returns new object implementing <see cref=\"T:UAOOI.SemanticData.InformationModelFactory.INodeFactory\" />.</returns>\n    /// <exception cref=\"NotImplementedException\"></exception>\n    public TNodeFactory AddNodeFactory<TNodeFactory>() where TNodeFactory : INodeFactory\n    {\n      NodeFactoryBase _df = null;\n      if (typeof(TNodeFactory) == typeof(IReferenceTypeFactory))\n        _df = new ReferenceTypeFactoryBase();\n      else if (typeof(TNodeFactory) == typeof(IObjectTypeFactory))\n        _df = new ObjectTypeFactoryBase();\n      else if (typeof(TNodeFactory) == typeof(IVariableTypeFactory))\n        _df = new VariableTypeFactoryBase();\n      else if (typeof(TNodeFactory) == typeof(IDataTypeFactory))\n        _df = new DataTypeFactoryBase();\n      else if (typeof(TNodeFactory) == typeof(IObjectInstanceFactory))\n        _df = new ObjectInstanceFactoryBase();\n      else if (typeof(TNodeFactory) == typeof(IPropertyInstanceFactory))\n        _df = new PropertyInstanceFactoryBase();\n      else if (typeof(TNodeFactory) == typeof(IVariableInstanceFactory))\n        _df = new VariableInstanceFactoryBase();\n      else if (typeof(TNodeFactory) == typeof(IMethodInstanceFactory))\n        _df = new MethodInstanceFactoryBase();\n      else if (typeof(TNodeFactory) == typeof(IViewInstanceFactory))\n        _df = new ViewInstanceFactoryBase();\n      else\n        throw new NotImplementedException();\n      m_Nodes.Add(_df);\n      return (TNodeFactory)(INodeFactory)_df;\n    }\n    protected void Export (Action<NodeFactoryBase> callBack)\n    {\n      foreach (NodeFactoryBase item in m_Nodes)\n      {\n        callBack(item);\n        item.Export(callBack);\n      }\n    }\n    protected List<NodeFactoryBase> m_Nodes = new List<NodeFactoryBase>();\n  }\n}"
  },
  {
    "path": "SemanticData/Tests/USNodeSetValidationUnitTestProject/ModelFactoryTestingFixture/ObjectInstanceFactoryBase.cs",
    "content": "﻿//___________________________________________________________________________________\n//\n//  Copyright (C) 2021, Mariusz Postol LODZ POLAND.\n//\n//  To be in touch join the community at GITTER: https://gitter.im/mpostol/OPC-UA-OOI\n//___________________________________________________________________________________\n\nusing UAOOI.SemanticData.InformationModelFactory;\n\nnamespace UAOOI.SemanticData.UANodeSetValidation.ModelFactoryTestingFixture\n{\n  /// <summary>\n  /// Class ObjectInstanceFactoryBase.\n  /// Implements the <see cref=\"UAOOI.SemanticData.UANodeSetValidation.InformationModelFactory.InstanceFactoryBase\" />\n  /// Implements the <see cref=\"UAOOI.SemanticData.InformationModelFactory.IObjectInstanceFactory\" />\n  /// </summary>\n  /// <seealso cref=\"UAOOI.SemanticData.UANodeSetValidation.InformationModelFactory.InstanceFactoryBase\" />\n  /// <seealso cref=\"UAOOI.SemanticData.InformationModelFactory.IObjectInstanceFactory\" />\n  internal class ObjectInstanceFactoryBase : InstanceFactoryBase, IObjectInstanceFactory\n  {\n    /// <summary>\n    /// Sets a value indicating whether the node supports events.\n    /// </summary>\n    /// <value><c>null</c> if supports events contains no value, <c>true</c> if [supports events]; otherwise, <c>false</c>.</value>\n    public bool? SupportsEvents\n    {\n      set { }\n    }\n  }\n}"
  },
  {
    "path": "SemanticData/Tests/USNodeSetValidationUnitTestProject/ModelFactoryTestingFixture/ObjectTypeFactoryBase.cs",
    "content": "﻿//___________________________________________________________________________________\n//\n//  Copyright (C) 2021, Mariusz Postol LODZ POLAND.\n//\n//  To be in touch join the community at GITTER: https://gitter.im/mpostol/OPC-UA-OOI\n//___________________________________________________________________________________\n\nusing UAOOI.SemanticData.InformationModelFactory;\n\nnamespace UAOOI.SemanticData.UANodeSetValidation.ModelFactoryTestingFixture\n{\n  /// <summary>\n  /// Class ObjectTypeFactoryBase.\n  /// Implements the <see cref=\"UAOOI.SemanticData.UANodeSetValidation.InformationModelFactory.TypeFactoryBase\" />\n  /// Implements the <see cref=\"UAOOI.SemanticData.InformationModelFactory.IObjectTypeFactory\" />\n  /// </summary>\n  /// <seealso cref=\"UAOOI.SemanticData.UANodeSetValidation.InformationModelFactory.TypeFactoryBase\" />\n  /// <seealso cref=\"UAOOI.SemanticData.InformationModelFactory.IObjectTypeFactory\" />\n  internal class ObjectTypeFactoryBase : TypeFactoryBase, IObjectTypeFactory { }\n}"
  },
  {
    "path": "SemanticData/Tests/USNodeSetValidationUnitTestProject/ModelFactoryTestingFixture/PropertyInstanceFactoryBase.cs",
    "content": "﻿//___________________________________________________________________________________\n//\n//  Copyright (C) 2021, Mariusz Postol LODZ POLAND.\n//\n//  To be in touch join the community at GITTER: https://gitter.im/mpostol/OPC-UA-OOI\n//___________________________________________________________________________________\n\nusing UAOOI.SemanticData.InformationModelFactory;\n\nnamespace UAOOI.SemanticData.UANodeSetValidation.ModelFactoryTestingFixture\n{\n\n  /// <summary>\n  /// Class PropertyInstanceFactoryBase.\n  /// Implements the <see cref=\"UAOOI.SemanticData.UANodeSetValidation.InformationModelFactory.VariableInstanceFactoryBase\" />\n  /// Implements the <see cref=\"UAOOI.SemanticData.InformationModelFactory.IPropertyInstanceFactory\" />\n  /// </summary>\n  /// <seealso cref=\"UAOOI.SemanticData.UANodeSetValidation.InformationModelFactory.VariableInstanceFactoryBase\" />\n  /// <seealso cref=\"UAOOI.SemanticData.InformationModelFactory.IPropertyInstanceFactory\" />\n  internal class PropertyInstanceFactoryBase : VariableInstanceFactoryBase, IPropertyInstanceFactory { }\n\n}\n"
  },
  {
    "path": "SemanticData/Tests/USNodeSetValidationUnitTestProject/ModelFactoryTestingFixture/ReferenceFactoryBase.cs",
    "content": "﻿//___________________________________________________________________________________\n//\n//  Copyright (C) 2021, Mariusz Postol LODZ POLAND.\n//\n//  To be in touch join the community at GITTER: https://gitter.im/mpostol/OPC-UA-OOI\n//___________________________________________________________________________________\n\nusing System.Xml;\nusing UAOOI.SemanticData.InformationModelFactory;\n\nnamespace UAOOI.SemanticData.UANodeSetValidation.ModelFactoryTestingFixture\n{\n  /// <summary>\n  /// Class ReferenceFactoryBase.\n  /// Implements the <see cref=\"UAOOI.SemanticData.InformationModelFactory.IReferenceFactory\" />\n  /// </summary>\n  /// <seealso cref=\"UAOOI.SemanticData.InformationModelFactory.IReferenceFactory\" />\n  internal class ReferenceFactoryBase : IReferenceFactory\n  {\n    /// <summary>\n    /// Sets the type of the reference.\n    /// </summary>\n    /// <value>The type of the reference.</value>\n    public XmlQualifiedName ReferenceType\n    {\n      set { }\n    }\n\n    /// <summary>\n    /// Sets the target identifier.\n    /// </summary>\n    /// <value>The target identifier.</value>\n    public XmlQualifiedName TargetId\n    {\n      set { }\n    }\n\n    /// <summary>\n    /// Sets a value indicating whether this instance is inverse.\n    /// </summary>\n    /// <value><c>true</c> if this instance is inverse; otherwise, <c>false</c>.</value>\n    public bool IsInverse\n    {\n      set { }\n    }\n  }\n}"
  },
  {
    "path": "SemanticData/Tests/USNodeSetValidationUnitTestProject/ModelFactoryTestingFixture/ReferenceTypeFactoryBase.cs",
    "content": "﻿//___________________________________________________________________________________\n//\n//  Copyright (C) 2021, Mariusz Postol LODZ POLAND.\n//\n//  To be in touch join the community at GITTER: https://gitter.im/mpostol/OPC-UA-OOI\n//___________________________________________________________________________________\n\nusing UAOOI.SemanticData.InformationModelFactory;\n\nnamespace UAOOI.SemanticData.UANodeSetValidation.ModelFactoryTestingFixture\n{\n  /// <summary>\n  /// Class ReferenceTypeFactoryBase.\n  /// Implements the <see cref=\"UAOOI.SemanticData.UANodeSetValidation.InformationModelFactory.TypeFactoryBase\" />\n  /// Implements the <see cref=\"UAOOI.SemanticData.InformationModelFactory.IReferenceTypeFactory\" />\n  /// </summary>\n  /// <seealso cref=\"UAOOI.SemanticData.UANodeSetValidation.InformationModelFactory.TypeFactoryBase\" />\n  /// <seealso cref=\"UAOOI.SemanticData.InformationModelFactory.IReferenceTypeFactory\" />\n  internal class ReferenceTypeFactoryBase : TypeFactoryBase, IReferenceTypeFactory\n  {\n    /// <summary>\n    /// Sets a value indicating whether this <see cref=\"T:UAOOI.SemanticData.InformationModelFactory.IReferenceTypeFactory\" /> is symmetric. The Symmetric attribute is used to indicate whether or not the meaning of the reference type is the same for both the source and target nodes.\n    /// If a reference type is symmetric, the InverseName attribute shall be omitted.Examples of symmetric reference types are “Connects To” and “Communicates With”. Both imply the same semantic coming from the source node or the target node.\n    /// If the ReferenceType is non-symmetric and not abstract, the InverseName attribute shall be set. The optional InverseName attribute of LocalizedText ia a inverse name of the reference,\n    /// i.e.the meaning of the type as seen from the target node. Examples of non-symmetric reference types include “Contains” and “Contained In”, and “Receives From” and “Sends To”.\n    /// </summary>\n    /// <value><c>true</c> if symmetric; otherwise, <c>false</c>.</value>\n    /// <remarks>Default Value is <b>false</b></remarks>\n    public bool Symmetric\n    {\n      set { }\n    }\n\n    /// <summary>\n    /// Adds a new inverse name.\n    /// </summary>\n    /// <param name=\"localeField\">The locale field.</param>\n    /// <param name=\"valueField\">The value field.</param>\n    public void AddInverseName(string localeField, string valueField) { }\n  }\n}"
  },
  {
    "path": "SemanticData/Tests/USNodeSetValidationUnitTestProject/ModelFactoryTestingFixture/TypeFactoryBase.cs",
    "content": "﻿//___________________________________________________________________________________\n//\n//  Copyright (C) 2021, Mariusz Postol LODZ POLAND.\n//\n//  To be in touch join the community at GITTER: https://gitter.im/mpostol/OPC-UA-OOI\n//___________________________________________________________________________________\n\nusing System.Xml;\nusing UAOOI.SemanticData.InformationModelFactory;\n\nnamespace UAOOI.SemanticData.UANodeSetValidation.ModelFactoryTestingFixture\n{\n  /// <summary>\n  /// Class TypeFactoryBase.\n  /// Implements the <see cref=\"UAOOI.SemanticData.UANodeSetValidation.InformationModelFactory.NodeFactoryBase\" />\n  /// Implements the <see cref=\"UAOOI.SemanticData.InformationModelFactory.ITypeFactory\" />\n  /// </summary>\n  /// <seealso cref=\"UAOOI.SemanticData.UANodeSetValidation.InformationModelFactory.NodeFactoryBase\" />\n  /// <seealso cref=\"UAOOI.SemanticData.InformationModelFactory.ITypeFactory\" />\n  internal class TypeFactoryBase : NodeFactoryBase, ITypeFactory\n  {\n    /// <summary>\n    /// Sets the base type of the node.\n    /// </summary>\n    /// <value>The base type represented by the <see cref=\"T:System.Xml.XmlQualifiedName\" />.</value>\n    public XmlQualifiedName BaseType\n    {\n      set { }\n    }\n\n    /// <summary>\n    /// Sets a value indicating whether this instance is abstract.\n    /// </summary>\n    /// <value><c>true</c> if this instance is abstract; otherwise, <c>false</c>.</value>\n    /// <remarks>Default Value is false</remarks>\n    public bool IsAbstract\n    {\n      set { }\n    }\n  }\n}"
  },
  {
    "path": "SemanticData/Tests/USNodeSetValidationUnitTestProject/ModelFactoryTestingFixture/VariableInstanceFactoryBase.cs",
    "content": "﻿//___________________________________________________________________________________\n//\n//  Copyright (C) 2021, Mariusz Postol LODZ POLAND.\n//\n//  To be in touch join the community at GITTER: https://gitter.im/mpostol/OPC-UA-OOI\n//___________________________________________________________________________________\n\nusing System.Xml;\nusing UAOOI.SemanticData.InformationModelFactory;\n\nnamespace UAOOI.SemanticData.UANodeSetValidation.ModelFactoryTestingFixture\n{\n  /// <summary>\n  /// Class VariableInstanceFactoryBase.\n  /// Implements the <see cref=\"UAOOI.SemanticData.UANodeSetValidation.InformationModelFactory.InstanceFactoryBase\" />\n  /// Implements the <see cref=\"UAOOI.SemanticData.InformationModelFactory.IVariableInstanceFactory\" />\n  /// </summary>\n  /// <seealso cref=\"UAOOI.SemanticData.UANodeSetValidation.InformationModelFactory.InstanceFactoryBase\" />\n  /// <seealso cref=\"UAOOI.SemanticData.InformationModelFactory.IVariableInstanceFactory\" />\n  internal class VariableInstanceFactoryBase : InstanceFactoryBase, IVariableInstanceFactory\n  {\n    /// <summary>\n    /// Sets the access level. The AccessLevel attribute indicates the accessibility of the Value of a Variable node not taking user access rights into account and\n    /// applies only to a UAVariable element. The AccessLevel attribute is used to indicate how the Value of a Variable node can be accessed (read/write) and\n    /// if it contains current and/or historic data. The AccessLevel does not take any user access rights into account, i.e. although the Variable is writable this\n    /// may be restricted to a certain user / user group.\n    /// </summary>\n    /// <value>The access level.</value>\n    public uint? AccessLevel\n    {\n      set { }\n    }\n\n    /// <summary>\n    /// Sets the array dimensions. This property specifies the length of each dimension for an array value. It is intended to describe the capability of the Variable, not the current size.\n    /// The number of elements shall be equal to the value defined by the ValueRank. It shall be null if ValueRank ≤ 0. The value of 0 for an individual dimension indicates that the dimension has\n    /// a variable length. For example, if a Variable is defined by the following C array:\n    /// Int32 myArray[346];\n    /// then the DataType would point to an Int32, the ValueRank has the value 1 and the ArrayDimensions is an array with one entry having the value 346.\n    /// Note that the maximum length of an array transferred on the wire is 2147483647 (max Int32) and a multidimensional array is encoded as a one dimensional array.\n    /// </summary>\n    /// <value>The array dimensions.</value>\n    /// <remarks>ArrayDimensions is ignored if ValueRank is not equal to the OneOrMoreDimensions.</remarks>\n    public string ArrayDimensions\n    {\n      set { }\n    }\n\n    /// <summary>\n    /// Sets the type of the data. <see cref=\"T:System.Xml.XmlQualifiedName\" /> of the DataType definition for the Value. It is not required that the pointed out element is defined in the same document.\n    /// If that is the case many documents must be combined to resolve and validate this reference.\n    /// </summary>\n    /// <value>The type of the data.</value>\n    public XmlQualifiedName DataType\n    {\n      set { }\n    }\n\n    /// <summary>\n    /// Sets the default value. The value of the Variable node that the server assigns while instantiating the node. Its data type is defined by the DataType field.\n    /// </summary>\n    /// <value>The default value.</value>\n    public XmlElement DefaultValue\n    {\n      set;\n      internal get;\n    }\n\n    /// <summary>\n    /// Sets a value indicating whether this <see cref=\"T:UAOOI.SemanticData.InformationModelFactory.IVariableInstanceFactory\" /> is historizing. The Historizing attribute indicates whether the server is actively\n    /// collecting data for the history of the Variable node. This differs from the AccessLevel which identifies if the Variable has any historical data. A value of <c>true</c>\n    /// indicates that the server is actively collecting data. A value of <c>false</c> indicates that  the server is not actively collecting data. Default value is <c>false</c>.\n    /// </summary>\n    /// <value><c>true</c> if historizing; otherwise, <c>false</c>.</value>\n    public bool? Historizing\n    {\n      set { }\n    }\n\n    /// <summary>\n    /// Sets the minimum sampling interval. The MinimumSamplingInterval attribute indicates how “current” the Value of the Variable NodeClass will be kept.\n    /// It specifies (in milliseconds) how fast the server can reasonably sample the value for changes. The accuracy of this value (the ability of the server to attain\n    /// “best case” performance) can be greatly affected by the system load and other factors. A MinimumSamplingInterval of 0 indicates that the server is to monitor the\n    /// item continuously. A MinimumSamplingInterval of -1 means indeterminate value.\n    /// </summary>\n    /// <value>The minimum sampling interval.</value>\n    public int? MinimumSamplingInterval\n    {\n      set { }\n    }\n\n    /// <summary>\n    /// Sets the user access level. The UserAccessLevel attribute is used to indicate how the Value attribute of a Variable NodeClass can be accessed (read/write)\n    /// and if it contains current or historic data taking user access rights into account. It applies only to a UAVariable element. If the OPC UA Server does not\n    /// have the ability to get any user access rights related information from the underlying system it should use the same bit mask as used in the AccessLevel attribute.\n    /// The UserAccessLevel attribute can restrict the accessibility indicated by the AccessLevel, but not exceed it.\n    /// </summary>\n    /// <value>The user access level.</value>\n    public byte? UserAccessLevel\n    {\n      set { }\n    }\n\n    /// <summary>\n    /// Sets the value rank. This property indicates whether the value is an array and how many dimensions the array has.\n    /// It may have the following values:\n    /// - n &gt; 1: the Value is an array with the specified number of dimensions.\n    /// - <b>&gt;OneDimension (1)</b>: The value is an array with one dimension.\n    /// - OneOrMoreDimensions (0): The value is an array with one or more dimensions.\n    /// - Scalar (−1): The value is not an array.\n    /// - Any (−2): The value can be a scalar or an array with any number of dimensions.\n    /// - ScalarOrOneDimension (−3): The value can be a scalar or a one dimensional array.\n    /// NOTE: All build in DataTypes are considered to be scalar, even if they have array-like semantics like ByteString and String.\n    /// </summary>\n    /// <value>The value rank.</value>\n    public int? ValueRank\n    {\n      set { }\n    }\n  }\n}"
  },
  {
    "path": "SemanticData/Tests/USNodeSetValidationUnitTestProject/ModelFactoryTestingFixture/VariableTypeFactoryBase.cs",
    "content": "﻿//___________________________________________________________________________________\n//\n//  Copyright (C) 2021, Mariusz Postol LODZ POLAND.\n//\n//  To be in touch join the community at GITTER: https://gitter.im/mpostol/OPC-UA-OOI\n//___________________________________________________________________________________\n\nusing UAOOI.SemanticData.InformationModelFactory;\n\nnamespace UAOOI.SemanticData.UANodeSetValidation.ModelFactoryTestingFixture\n{\n  /// <summary>\n  /// Class VariableTypeFactoryBase.\n  /// Implements the <see cref=\"UAOOI.SemanticData.UANodeSetValidation.InformationModelFactory.TypeFactoryBase\" />\n  /// Implements the <see cref=\"UAOOI.SemanticData.InformationModelFactory.IVariableTypeFactory\" />\n  /// </summary>\n  /// <seealso cref=\"UAOOI.SemanticData.UANodeSetValidation.InformationModelFactory.TypeFactoryBase\" />\n  /// <seealso cref=\"UAOOI.SemanticData.InformationModelFactory.IVariableTypeFactory\" />\n  internal class VariableTypeFactoryBase : TypeFactoryBase, IVariableTypeFactory\n  {\n    /// <summary>\n    /// Sets the default value. The value of the Variable node that the server assigns while instantiating the node. Its data type is defined by the <see cref=\"P:UAOOI.SemanticData.InformationModelFactory.IDataDescriptor.DataType\" />.\n    /// </summary>\n    /// <value>The default value.</value>\n    public System.Xml.XmlElement DefaultValue\n    {\n      set { }\n    }\n\n    /// <summary>\n    /// Sets the type of the data. <see cref=\"T:System.Xml.XmlQualifiedName\" /> of the DataType definition for the Value. It is not required that the pointed out element is defined in the same document.\n    /// If that is the case many documents must be combined to resolve and validate this reference.\n    /// </summary>\n    /// <value>The type of the data.</value>\n    public System.Xml.XmlQualifiedName DataType\n    {\n      set { }\n    }\n\n    /// <summary>\n    /// Sets the value rank. This property indicates whether the value is an array and how many dimensions the array has.\n    /// It may have the following values:\n    /// - n &gt; 1: the Value is an array with the specified number of dimensions.\n    /// - <b>&gt;OneDimension (1)</b>: The value is an array with one dimension.\n    /// - OneOrMoreDimensions (0): The value is an array with one or more dimensions.\n    /// - Scalar (−1): The value is not an array.\n    /// - Any (−2): The value can be a scalar or an array with any number of dimensions.\n    /// - ScalarOrOneDimension (−3): The value can be a scalar or a one dimensional array.\n    /// NOTE: All build in DataTypes are considered to be scalar, even if they have array-like semantics like ByteString and String.\n    /// </summary>\n    /// <value>The value rank.</value>\n    public int? ValueRank\n    {\n      set { }\n    }\n\n    /// <summary>\n    /// Sets the array dimensions. This property specifies the length of each dimension for an array value. It is intended to describe the capability of the Variable, not the current size.\n    /// The number of elements shall be equal to the value defined by the ValueRank. It shall be null if ValueRank ≤ 0. The value of 0 for an individual dimension indicates that the dimension has\n    /// a variable length. For example, if a Variable is defined by the following C array:\n    /// Int32 myArray[346];\n    /// then the DataType would point to an Int32, the ValueRank has the value 1 and the ArrayDimensions is an array with one entry having the value 346.\n    /// Note that the maximum length of an array transferred on the wire is 2147483647 (max Int32) and a multidimensional array is encoded as a one dimensional array.\n    /// </summary>\n    /// <value>The array dimensions.</value>\n    /// <remarks>ArrayDimensions is ignored if ValueRank is not equal to the OneOrMoreDimensions.</remarks>\n    public string ArrayDimensions\n    {\n      set { }\n    }\n  }\n}"
  },
  {
    "path": "SemanticData/Tests/USNodeSetValidationUnitTestProject/ModelFactoryTestingFixture/ViewInstanceFactoryBase.cs",
    "content": "﻿//___________________________________________________________________________________\n//\n//  Copyright (C) 2021, Mariusz Postol LODZ POLAND.\n//\n//  To be in touch join the community at GITTER: https://gitter.im/mpostol/OPC-UA-OOI\n//___________________________________________________________________________________\n\nusing UAOOI.SemanticData.InformationModelFactory;\n\nnamespace UAOOI.SemanticData.UANodeSetValidation.ModelFactoryTestingFixture\n{\n  /// <summary>\n  /// TODO Class ViewInstanceFactoryBase.\n  /// </summary>\n  internal class ViewInstanceFactoryBase : InstanceFactoryBase, IViewInstanceFactory\n  {\n    /// <summary>\n    /// Sets a value indicating whether the View NodeClass supports events.\n    /// </summary>\n    /// <value><c>null</c> if supports events contains no value, <c>true</c> if the view supports events; otherwise, <c>false</c>. Default value is <c>false</c></value>\n    public bool? SupportsEvents\n    {\n      set { }\n    }\n\n    /// <summary>\n    /// Sets a value indicating whether the Address Space represented by the View NodeClass contains no loops.\n    /// </summary>\n    /// <value><c>true</c> if the partial Address Space contains no loops; otherwise, <c>false</c>. Default value is <c>false</c></value>\n    public bool ContainsNoLoops\n    {\n      set { }\n    }\n  }\n}"
  },
  {
    "path": "SemanticData/Tests/USNodeSetValidationUnitTestProject/NamespaceTableUnitTest.cs",
    "content": "﻿//__________________________________________________________________________________________________\n//\n//  Copyright (C) 2021, Mariusz Postol LODZ POLAND.\n//\n//  To be in touch join the community at GitHub: https://github.com/mpostol/OPC-UA-OOI/discussions\n//__________________________________________________________________________________________________\n\nusing Microsoft.VisualStudio.TestTools.UnitTesting;\nusing System;\nusing System.Collections.Generic;\nusing System.Linq;\nusing UAOOI.SemanticData.AddressSpace.Abstractions;\nusing UAOOI.SemanticData.InformationModelFactory.UAConstants;\nusing UAOOI.SemanticData.UANodeSetValidation.XML;\n\nnamespace UAOOI.SemanticData.UANodeSetValidation\n{\n  [TestClass]\n  public class NamespaceTableUnitTest\n  {\n    [TestMethod]\n    public void ConstructorTest()\n    {\n      NamespaceTable _instance = new NamespaceTable();\n      IEnumerable<IModelTableEntry> models = _instance.Models;\n      Assert.IsNotNull(models);\n      List<IModelTableEntry> listOfExportedNamespaceTable = models.ToList<IModelTableEntry>();\n      Assert.AreEqual<byte>(0xC, listOfExportedNamespaceTable[0].AccessRestrictions);\n      Assert.AreEqual<int>(1, listOfExportedNamespaceTable.Count);\n      Assert.AreEqual<Uri>(new Uri(\"http://opcfoundation.org/UA/\"), listOfExportedNamespaceTable[0].ModelUri);\n      Assert.IsTrue(listOfExportedNamespaceTable[0].PublicationDate.HasValue);\n      Assert.IsNotNull(listOfExportedNamespaceTable[0].RolePermissions);\n      Assert.AreEqual<int>(1, listOfExportedNamespaceTable[0].RolePermissions.Length);\n      Assert.AreEqual<int>(0, listOfExportedNamespaceTable[0].Version.CompareTo(new Version()));\n    }\n\n    [TestMethod]\n    public void GetURIatIndexTest()\n    {\n      NamespaceTable instance = new NamespaceTable();\n      Assert.AreEqual<Uri>(new Uri(Namespaces.OpcUa), instance.GetModelTableEntry(0));\n      Assert.IsNull(instance.GetModelTableEntry(1));\n      Assert.AreEqual(1, ((INamespaceTable)instance).GetURIIndexOrAppend(new Uri(\"http://opcfoundation.org/UA/GetURIatIndexTest1\")));\n      Assert.AreEqual(2, ((INamespaceTable)instance).GetURIIndexOrAppend(new Uri(\"http://opcfoundation.org/UA/GetURIatIndexTest2\")));\n      Assert.AreEqual<Uri>(new Uri(\"http://opcfoundation.org/UA/GetURIatIndexTest2\"), instance.GetModelTableEntry(2));\n      Assert.AreEqual<Uri>(new Uri(\"http://opcfoundation.org/UA/GetURIatIndexTest1\"), instance.GetModelTableEntry(1));\n    }\n\n    [TestMethod]\n    public void GetURIIndexIndexTest()\n    {\n      NamespaceTable instance = new NamespaceTable();\n      Assert.AreEqual<int>(0, instance.GetURIIndex(new Uri(Namespaces.OpcUa)));\n      Assert.AreEqual<int>(-1, instance.GetURIIndex(new Uri(\"http://opcfoundation.org/UA/GetURIatIndexTest1/NonExistingNamespace\")));\n      Assert.AreEqual(1, ((INamespaceTable)instance).GetURIIndexOrAppend(new Uri(\"http://opcfoundation.org/UA/GetURIatIndexTest1\")));\n      Assert.AreEqual(2, ((INamespaceTable)instance).GetURIIndexOrAppend(new Uri(\"http://opcfoundation.org/UA/GetURIatIndexTest2\")));\n      Assert.AreEqual(1, ((INamespaceTable)instance).GetURIIndexOrAppend(new Uri(\"http://opcfoundation.org/UA/GetURIatIndexTest1\")));\n      Assert.AreEqual(2, ((INamespaceTable)instance).GetURIIndexOrAppend(new Uri(\"http://opcfoundation.org/UA/GetURIatIndexTest2\")));\n      Assert.AreEqual(2, ((INamespaceTable)instance).GetURIIndexOrAppend(new Uri(\"http://opcfoundation.org/UA/GetURIatIndexTest2\")));\n      Assert.AreEqual<int>(2, instance.GetURIIndex(new Uri(\"http://opcfoundation.org/UA/GetURIatIndexTest2\")));\n      Assert.AreEqual<int>(1, instance.GetURIIndex(new Uri(\"http://opcfoundation.org/UA/GetURIatIndexTest1\")));\n    }\n\n    [TestMethod]\n    public void UpadateModelOrAppendTest()\n    {\n      NamespaceTable instance = new NamespaceTable();\n      IModelTableEntry model1 = GetDefaultModelTableEntry(\"http://opcfoundation.org/UA/GetURIatIndexTest1\");\n      ((INamespaceTable)instance).RegisterModel(model1);\n      IModelTableEntry model2 = GetDefaultModelTableEntry(\"http://opcfoundation.org/UA/GetURIatIndexTest1\");\n      ((INamespaceTable)instance).RegisterModel(model2);\n      Assert.IsNotNull(instance.GetModelTableEntry(1));\n      Assert.IsNull(instance.GetModelTableEntry(2));\n      Assert.IsNull(instance.GetModelTableEntry(3));\n    }\n\n    [TestMethod]\n    public void ModelsTest()\n    {\n      NamespaceTable instance = new NamespaceTable();\n      ((INamespaceTable)instance).RegisterModel(GetDefaultModelTableEntry(\"http://opcfoundation.org/UA/GetURIatIndexTest1\"));\n      ((INamespaceTable)instance).RegisterModel(GetDefaultModelTableEntry(\"http://opcfoundation.org/UA/GetURIatIndexTest3\"));\n      ((INamespaceTable)instance).RegisterModel(GetDefaultModelTableEntry(\"http://opcfoundation.org/UA/GetURIatIndexTest2\"));\n      ((INamespaceTable)instance).RegisterModel(GetDefaultModelTableEntry(\"http://opcfoundation.org/UA/GetURIatIndexTest1\"));\n      Assert.AreEqual<int>(4, instance.Models.Count<IModelTableEntry>());\n    }\n\n    [TestMethod]\n    public void ValidateNamesapceTableTestMethod()\n    {\n      NamespaceTable instance = new NamespaceTable();\n      Assert.IsFalse(instance.ValidateNamesapceTable(y => Assert.AreEqual<Uri>(new Uri(\"http://opcfoundation.org/UA/\"), y)));\n      instance.RegisterModel(GetDefaultModelTableEntry(\"http://opcfoundation.org/UA/\"));\n      Assert.IsTrue(instance.ValidateNamesapceTable(y => Assert.Fail()));\n      instance.RegisterDependency(GetDefaultModelTableEntry(\"http://opcfoundation.org/UA/RandomName\"));\n      Assert.IsFalse(instance.ValidateNamesapceTable(y => Assert.AreEqual<Uri>(new Uri(\"http://opcfoundation.org/UA/RandomName\"), y)));\n    }\n\n    #region fixtures\n\n    /// <summary>\n    /// Gets a default model table entry.\n    /// </summary>\n    /// <param name=\"modelUri\">The model URI.</param>\n    /// <returns>IModelTableEntry.</returns>\n    private static IModelTableEntry GetDefaultModelTableEntry(string modelUri)\n    {\n      return new ModelTableEntry\n      {\n        AccessRestrictions = 0xC,\n        ModelUri = modelUri,\n        PublicationDate = DateTime.UtcNow.Date,\n        PublicationDateSpecified = true,\n        RequiredModel = null,\n        RolePermissions = new XML.RolePermission[] { new XML.RolePermission() },\n        Version = new Version(1, 0).ToString()\n      };\n    }\n\n    #endregion fixtures\n  }\n}"
  },
  {
    "path": "SemanticData/Tests/USNodeSetValidationUnitTestProject/Properties/AssemblyInfo.cs",
    "content": "﻿//_______________________________________________________________\n//  Title   : Assembly info for: UAOOI.SemanticData.UANodeSetValidation\n//  System  : Microsoft VisualStudio 2017 / C#\n//\n//  Copyright (C) 2022 Mariusz Postol LODZ POLAND\n//  +48 608 619 899\n//  mpostol@cas.eu\n//  https://github.com/mpostol/OPC-UA-OOI\n//_______________________________________________________________\n\nusing System.Reflection;\nusing System.Runtime.CompilerServices;\nusing System.Runtime.InteropServices;\n\n[assembly: AssemblyTitle(\"UAOOI.SemanticData.UANodeSetValidation\")]\n[assembly: AssemblyDescription(\"OPC UA NodeSet Validation UnitTests\")]\n[assembly: AssemblyConfiguration(\"\")]\n[assembly: AssemblyCompany(\"Mariusz Postol\")]\n[assembly: AssemblyProduct(\"Object Oriented Internet\")]\n[assembly: AssemblyCopyright(\"Copyright (C) 2022 Mariusz Postol LODZ POLAND\")]\n[assembly: AssemblyTrademark(\"Object Oriented Internet\")]\n[assembly: AssemblyCulture(\"\")]\n[assembly: ComVisible(false)]\n[assembly: Guid(\"deea592b-285a-47db-afbc-b1e2efac8ab3\")]\n[assembly: AssemblyVersion(\"6.5.6.*\")]\n[assembly: AssemblyFileVersion(\"6.5.6\")]\n[assembly: InternalsVisibleTo(\"DynamicProxyGenAssembly2, PublicKey=0024000004800000940000000602000000240000525341310004000001000100c547cac37abd99c8db225ef2f6c8a3602f3b3606cc9891605d02baa56104f4cfc0734aa39b93bf7852f7d9266654753cc297e7d2edfe0bac1cdcf9f717241550e0a7b191195b7667bb4f64bcb8e2121380fd1d9d46ad2d92d2d15605093924cceaf74c4861eff62abf69b9291ed0a340e113be11e6a7d3113e92484cf7045cc7\")]\n\n"
  },
  {
    "path": "SemanticData/Tests/USNodeSetValidationUnitTestProject/Properties/AssemblyInfo.tt",
    "content": "﻿<#@ template debug=\"false\" hostspecific=\"false\" language=\"C#\" #>\n<#@ output extension=\".cs\" #>\n//_______________________________________________________________\n//  Title   : Assembly info for: <#=m_AssemblyTitle#>\n//  System  : Microsoft VisualStudio 2017 / C#\n//\n//  <#=AssemblyCopyright#>\n//  <#=Phone#>\n//  <#=Email#>\n//  <#=Url#>\n//_______________________________________________________________\n\nusing System.Reflection;\nusing System.Runtime.CompilerServices;\nusing System.Runtime.InteropServices;\n\n[assembly: AssemblyTitle(\"<#=m_AssemblyTitle#>\")]\n[assembly: AssemblyDescription(\"OPC UA NodeSet Validation UnitTests\")]\n[assembly: AssemblyConfiguration(\"\")]\n[assembly: AssemblyCompany(\"<#=AssemblyCompany#>\")]\n[assembly: AssemblyProduct(\"<#=SemanticDataProduct#>\")]\n[assembly: AssemblyCopyright(\"<#=AssemblyCopyright#>\")]\n[assembly: AssemblyTrademark(\"<#=ProductTrademark#>\")]\n[assembly: AssemblyCulture(\"\")]\n[assembly: ComVisible(false)]\n[assembly: Guid(\"deea592b-285a-47db-afbc-b1e2efac8ab3\")]\n[assembly: AssemblyVersion(\"<#= SemanticDataVersion #>.*\")]\n[assembly: AssemblyFileVersion(\"<#= SemanticDataVersion #>\")]\n[assembly: InternalsVisibleTo(\"DynamicProxyGenAssembly2, PublicKey=0024000004800000940000000602000000240000525341310004000001000100c547cac37abd99c8db225ef2f6c8a3602f3b3606cc9891605d02baa56104f4cfc0734aa39b93bf7852f7d9266654753cc297e7d2edfe0bac1cdcf9f717241550e0a7b191195b7667bb4f64bcb8e2121380fd1d9d46ad2d92d2d15605093924cceaf74c4861eff62abf69b9291ed0a340e113be11e6a7d3113e92484cf7045cc7\")]\n\n<#@ include file = \"..\\..\\..\\..\\CommonResources\\T4Definitions\\Model.t4\" #>\n<#+\nstring m_AssemblyTitle = \"UAOOI.SemanticData.UANodeSetValidation\";\n#>\n"
  },
  {
    "path": "SemanticData/Tests/USNodeSetValidationUnitTestProject/README.md",
    "content": "﻿# UANodeSet Validation Unit Test\n\nTo validate a new model add the code to the project and XML file to the XMLModels in this project. If the validation test does not recognize an error the code in the UANodeSetValidation must be improved. In this case add issue or modify the code on your fork and add purge request after finishing.\n"
  },
  {
    "path": "SemanticData/Tests/USNodeSetValidationUnitTestProject/SemanticData.UANodeSetValidation.UnitTest.csproj",
    "content": "﻿<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<Project ToolsVersion=\"12.0\" DefaultTargets=\"Build\" xmlns=\"http://schemas.microsoft.com/developer/msbuild/2003\">\n  <Import Project=\"..\\..\\..\\packages\\MSTest.TestAdapter.2.2.10\\build\\net46\\MSTest.TestAdapter.props\" Condition=\"Exists('..\\..\\..\\packages\\MSTest.TestAdapter.2.2.10\\build\\net46\\MSTest.TestAdapter.props')\" />\n  <PropertyGroup>\n    <Configuration Condition=\" '$(Configuration)' == '' \">Debug</Configuration>\n    <Platform Condition=\" '$(Platform)' == '' \">AnyCPU</Platform>\n    <ProjectGuid>{2DC898B5-AFD9-47B2-A962-C4002C1AE8FF}</ProjectGuid>\n    <OutputType>Library</OutputType>\n    <AppDesignerFolder>Properties</AppDesignerFolder>\n    <RootNamespace>UAOOI.SemanticData.UANodeSetValidation</RootNamespace>\n    <AssemblyName>UAOOI.SemanticData.UANodeSetValidation.UnitTests</AssemblyName>\n    <TargetFrameworkVersion>v4.7.2</TargetFrameworkVersion>\n    <FileAlignment>512</FileAlignment>\n    <ProjectTypeGuids>{3AC096D0-A1C2-E12C-1390-A8335801FDAB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>\n    <VisualStudioVersion Condition=\"'$(VisualStudioVersion)' == ''\">10.0</VisualStudioVersion>\n    <VSToolsPath Condition=\"'$(VSToolsPath)' == ''\">$(MSBuildExtensionsPath32)\\Microsoft\\VisualStudio\\v$(VisualStudioVersion)</VSToolsPath>\n    <ReferencePath>$(ProgramFiles)\\Common Files\\microsoft shared\\VSTT\\$(VisualStudioVersion)\\UITestExtensionPackages</ReferencePath>\n    <IsCodedUITest>False</IsCodedUITest>\n    <TestProjectType>UnitTest</TestProjectType>\n    <TargetFrameworkProfile />\n    <NuGetPackageImportStamp>\n    </NuGetPackageImportStamp>\n  </PropertyGroup>\n  <PropertyGroup Condition=\" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' \">\n    <DebugSymbols>true</DebugSymbols>\n    <DebugType>full</DebugType>\n    <Optimize>false</Optimize>\n    <OutputPath>bin\\Debug\\</OutputPath>\n    <DefineConstants>DEBUG;TRACE</DefineConstants>\n    <ErrorReport>prompt</ErrorReport>\n    <WarningLevel>4</WarningLevel>\n    <UseVSHostingProcess>false</UseVSHostingProcess>\n    <NoWarn>IDE0001,IDE0002,IDE0003,IDE0049</NoWarn>\n  </PropertyGroup>\n  <PropertyGroup Condition=\" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' \">\n    <DebugType>pdbonly</DebugType>\n    <Optimize>true</Optimize>\n    <OutputPath>bin\\Release\\</OutputPath>\n    <DefineConstants>TRACE</DefineConstants>\n    <ErrorReport>prompt</ErrorReport>\n    <WarningLevel>4</WarningLevel>\n  </PropertyGroup>\n  <PropertyGroup>\n    <SignAssembly>true</SignAssembly>\n  </PropertyGroup>\n  <PropertyGroup>\n    <AssemblyOriginatorKeyFile>OPCUAOOIKey.snk</AssemblyOriginatorKeyFile>\n  </PropertyGroup>\n  <ItemGroup>\n    <Reference Include=\"Castle.Core, Version=5.0.0.0, Culture=neutral, PublicKeyToken=407dd0808d44fbdc, processorArchitecture=MSIL\">\n      <HintPath>..\\..\\..\\packages\\Castle.Core.5.0.0\\lib\\net462\\Castle.Core.dll</HintPath>\n    </Reference>\n    <Reference Include=\"Microsoft.VisualStudio.TestPlatform.TestFramework, Version=14.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL\">\n      <HintPath>..\\..\\..\\packages\\MSTest.TestFramework.2.2.10\\lib\\net45\\Microsoft.VisualStudio.TestPlatform.TestFramework.dll</HintPath>\n    </Reference>\n    <Reference Include=\"Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions, Version=14.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL\">\n      <HintPath>..\\..\\..\\packages\\MSTest.TestFramework.2.2.10\\lib\\net45\\Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.dll</HintPath>\n    </Reference>\n    <Reference Include=\"Moq, Version=4.18.0.0, Culture=neutral, PublicKeyToken=69f491c39445e920, processorArchitecture=MSIL\">\n      <HintPath>..\\..\\..\\packages\\Moq.4.18.1\\lib\\net462\\Moq.dll</HintPath>\n    </Reference>\n    <Reference Include=\"System\" />\n    <Reference Include=\"System.Configuration\" />\n    <Reference Include=\"System.Runtime.CompilerServices.Unsafe, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL\">\n      <HintPath>..\\..\\..\\packages\\System.Runtime.CompilerServices.Unsafe.6.0.0\\lib\\net461\\System.Runtime.CompilerServices.Unsafe.dll</HintPath>\n    </Reference>\n    <Reference Include=\"System.Threading.Tasks.Extensions, Version=4.2.0.1, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL\">\n      <HintPath>..\\..\\..\\packages\\System.Threading.Tasks.Extensions.4.5.4\\lib\\net461\\System.Threading.Tasks.Extensions.dll</HintPath>\n    </Reference>\n    <Reference Include=\"System.XML\" />\n    <Reference Include=\"UAOOI.Common.Infrastructure, Version=6.4.6.0, Culture=neutral, PublicKeyToken=deede3c2df331bb0, processorArchitecture=MSIL\">\n      <HintPath>..\\..\\..\\packages\\UAOOI.Common.Infrastructure.6.4.7\\lib\\netstandard2.0\\UAOOI.Common.Infrastructure.dll</HintPath>\n    </Reference>\n  </ItemGroup>\n  <Choose>\n    <When Condition=\"('$(VisualStudioVersion)' == '10.0' or '$(VisualStudioVersion)' == '') and '$(TargetFrameworkVersion)' == 'v3.5'\">\n      <ItemGroup>\n        <Reference Include=\"Microsoft.VisualStudio.QualityTools.UnitTestFramework, Version=10.1.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL\" />\n      </ItemGroup>\n    </When>\n    <Otherwise />\n  </Choose>\n  <ItemGroup>\n    <Compile Include=\"DataSerialization\\NodeIdUnitTest.cs\" />\n    <Compile Include=\"DataSerialization\\QualifiedNameUnitTest.cs\" />\n    <Compile Include=\"DataSerialization\\ExtensionsUnitTest.cs\" />\n    <Compile Include=\"Helpers\\TracedAddressSpaceContext.cs\" />\n    <Compile Include=\"Helpers\\TraceDiagnosticFixture.cs\" />\n    <Compile Include=\"ModelFactoryTestingFixture\\DataTypeDefinitionFactoryBase.cs\" />\n    <Compile Include=\"ModelFactoryTestingFixture\\DataTypeFactoryBase.cs\" />\n    <Compile Include=\"ModelFactoryTestingFixture\\DataTypeFieldFactoryBase.cs\" />\n    <Compile Include=\"ModelFactoryTestingFixture\\InformationModelFactoryBase.cs\" />\n    <Compile Include=\"ModelFactoryTestingFixture\\InstanceFactoryBase.cs\" />\n    <Compile Include=\"ModelFactoryTestingFixture\\MethodInstanceFactoryBase.cs\" />\n    <Compile Include=\"ModelFactoryTestingFixture\\NodeFactoryBase.cs\" />\n    <Compile Include=\"ModelFactoryTestingFixture\\NodesContainer.cs\" />\n    <Compile Include=\"ModelFactoryTestingFixture\\ObjectInstanceFactoryBase.cs\" />\n    <Compile Include=\"ModelFactoryTestingFixture\\ObjectTypeFactoryBase.cs\" />\n    <Compile Include=\"ModelFactoryTestingFixture\\PropertyInstanceFactoryBase.cs\" />\n    <Compile Include=\"ModelFactoryTestingFixture\\ReferenceFactoryBase.cs\" />\n    <Compile Include=\"ModelFactoryTestingFixture\\ReferenceTypeFactoryBase.cs\" />\n    <Compile Include=\"ModelFactoryTestingFixture\\TypeFactoryBase.cs\" />\n    <Compile Include=\"ModelFactoryTestingFixture\\VariableInstanceFactoryBase.cs\" />\n    <Compile Include=\"ModelFactoryTestingFixture\\VariableTypeFactoryBase.cs\" />\n    <Compile Include=\"ModelFactoryTestingFixture\\ViewInstanceFactoryBase.cs\" />\n    <Compile Include=\"Properties\\AssemblyInfo.cs\">\n      <AutoGen>True</AutoGen>\n      <DesignTime>True</DesignTime>\n      <DependentUpon>AssemblyInfo.tt</DependentUpon>\n    </Compile>\n    <Compile Include=\"AddressSpaceContextUnitTest.cs\" />\n    <Compile Include=\"Helpers\\TestData.cs\" />\n    <Compile Include=\"ServiceResultExceptionUnitTest.cs\" />\n    <Compile Include=\"InformationModelFactoryUnitTest.cs\" />\n    <Compile Include=\"NamespaceTableUnitTest.cs\" />\n    <Compile Include=\"ExtensionsUnitTest.cs\" />\n    <Compile Include=\"UANodeContextUnitTest.cs\" />\n    <Compile Include=\"UAReferenceContextTestClass.cs\" />\n    <Compile Include=\"ValidatorUnitTest.cs\" />\n    <Compile Include=\"XMLModelsProblemsToReportUnitTest.cs\" />\n    <Compile Include=\"XMLModelsCorrectModelsUnitTest.cs\" />\n    <Compile Include=\"XMLModelsModelsWithErrorsUnitTest.cs\" />\n    <Compile Include=\"XML\\UAModelContextUnitTest.cs\" />\n    <Compile Include=\"XML\\UANodeSetUnitTest.cs\" />\n    <Compile Include=\"XML\\UANodeUnitTest.cs\" />\n    <None Include=\"app.config\" />\n    <None Include=\"OPCUAOOIKey.snk\" />\n    <None Include=\"packages.config\" />\n    <None Include=\"Properties\\AssemblyInfo.tt\">\n      <Generator>TextTemplatingFileGenerator</Generator>\n      <LastGenOutput>AssemblyInfo.cs</LastGenOutput>\n    </None>\n    <None Include=\"README.md\" />\n    <None Include=\"XMLModels\\CorrectModels\\DataTypeTest\\DataTypeTest.Classes.cs\" />\n    <None Include=\"XMLModels\\CorrectModels\\GoNodeSet.cmd\" />\n    <None Include=\"XMLModels\\CorrectModels\\ObjectTypeTest\\ObjectTypeTest.Classes.cs\" />\n    <None Include=\"XMLModels\\CorrectModels\\ReferenceTest\\ReferenceTest.Classes.cs\" />\n    <None Include=\"XMLModels\\CorrectModels\\VariableTypeTest\\VariableTypeTest.Classes.cs\" />\n  </ItemGroup>\n  <ItemGroup>\n    <Content Include=\"XMLModels\\CorrectModels\\DataTypeTest.xml\" />\n    <Content Include=\"XMLModels\\CorrectModels\\DataTypeTest\\DataTypeTest.NodeSet.xml\" />\n    <Content Include=\"XMLModels\\CorrectModels\\DataTypeTest\\DataTypeTest.NodeSet2.xml\">\n      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>\n    </Content>\n    <Content Include=\"XMLModels\\CorrectModels\\DataTypeTest\\DataTypeTest.PredefinedNodes.xml\" />\n    <Content Include=\"XMLModels\\CorrectModels\\ObjectTypeTest.xml\" />\n    <Content Include=\"XMLModels\\CorrectModels\\ObjectTypeTest\\ObjectTypeTest.NodeSet.xml\" />\n    <Content Include=\"XMLModels\\CorrectModels\\ObjectTypeTest\\ObjectTypeTest.NodeSet2.xml\">\n      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>\n    </Content>\n    <Content Include=\"XMLModels\\CorrectModels\\ObjectTypeTest\\ObjectTypeTest.PredefinedNodes.xml\" />\n    <Content Include=\"XMLModels\\CorrectModels\\ReferenceTest.xml\" />\n    <Content Include=\"XMLModels\\ModelsWithErrors\\UndefinedHasChildren.xml\">\n      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>\n    </Content>\n    <Content Include=\"XMLModels\\ModelsWithErrors\\UndefinedHasSubtype.xml\">\n      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>\n    </Content>\n    <Content Include=\"XMLModels\\ModelsWithErrors\\UndefinedHasTypeDefinition.xml\">\n      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>\n    </Content>\n    <None Include=\"XMLModels\\ProblemsToReport\\MachineVision\\Opc.Ua.MachineVision.NodeSet2.xml\">\n      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>\n    </None>\n    <None Include=\"XMLModels\\ProblemsToReport\\ADI#509\\Opc.Ua.Adi.NodeSet2.xml\">\n      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>\n    </None>\n    <None Include=\"XMLModels\\ProblemsToReport\\eoursel510\\Opc.Ua.NodeSet2.TriCycleType_V1.1.xml\">\n      <CopyToOutputDirectory>Always</CopyToOutputDirectory>\n    </None>\n    <None Include=\"XMLModels\\ProblemsToReport\\fgolra177\\Opc.Ua.Semi.NodeSet2.xml\">\n      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>\n    </None>\n    <None Include=\"XMLModels\\ProblemsToReport\\BrowseNameInheritedFrom0\\BrowseNameInheritedFrom0.xml\">\n      <SubType>Designer</SubType>\n      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>\n    </None>\n    <Content Include=\"XMLModels\\ProblemsToReport\\fgolra177\\OpcUaGemModel.xml\" />\n    <None Include=\"XMLModels\\ProblemsToReport\\HasOrderedComponent\\Opc.Ua.NodeSet2.TriCycleType_V1.1.xml\">\n      <CopyToOutputDirectory>Always</CopyToOutputDirectory>\n      <SubType>Designer</SubType>\n    </None>\n    <Content Include=\"XMLModels\\ProblemsToReport\\MachineVision\\Opc.Ua.MachineVision.ModelDesign.xml\" />\n    <None Include=\"XMLModels\\CorrectModels\\ReferenceTest\\ReferenceTest.NodeSet.xml\">\n      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>\n    </None>\n    <None Include=\"XMLModels\\CorrectModels\\ReferenceTest\\ReferenceTest.NodeSet2.xml\">\n      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>\n    </None>\n    <Content Include=\"XMLModels\\CorrectModels\\ReferenceTest\\ReferenceTest.PredefinedNodes.xml\" />\n    <Content Include=\"XMLModels\\CorrectModels\\VariableTypeTest.xml\" />\n    <Content Include=\"XMLModels\\CorrectModels\\VariableTypeTest\\VariableTypeTest.NodeSet.xml\" />\n    <None Include=\"XMLModels\\CorrectModels\\VariableTypeTest\\VariableTypeTest.NodeSet2.xml\">\n      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>\n    </None>\n    <Content Include=\"XMLModels\\CorrectModels\\VariableTypeTest\\VariableTypeTest.PredefinedNodes.xml\" />\n    <None Include=\"XMLModels\\ModelsWithErrors\\DuplicatedNodeId.xml\">\n      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>\n    </None>\n    <None Include=\"XMLModels\\ModelsWithErrors\\NotSupportedFeature.xml\">\n      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>\n    </None>\n    <None Include=\"XMLModels\\ModelsWithErrors\\WrongAccessLevel.xml\">\n      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>\n    </None>\n    <None Include=\"XMLModels\\ModelsWithErrors\\WrongBrowseName.xml\">\n      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>\n    </None>\n    <None Include=\"XMLModels\\ModelsWithErrors\\WrongDisplayNameLength.xml\">\n      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>\n    </None>\n    <None Include=\"XMLModels\\ModelsWithErrors\\WrongEventNotifier.xml\">\n      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>\n    </None>\n    <None Include=\"XMLModels\\ModelsWithErrors\\WrongInverseName.xml\">\n      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>\n    </None>\n    <None Include=\"XMLModels\\ModelsWithErrors\\WrongNodeId.xml\">\n      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>\n    </None>\n    <None Include=\"XMLModels\\ModelsWithErrors\\WrongReference2Property.xml\">\n      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>\n    </None>\n    <None Include=\"XMLModels\\ModelsWithErrors\\WrongValueRank.xml\">\n      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>\n    </None>\n    <None Include=\"XMLModels\\ModelsWithErrors\\WrongWriteMask.xml\">\n      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>\n    </None>\n  </ItemGroup>\n  <ItemGroup>\n    <None Include=\"XMLModels\\CorrectModels\\DataTypeTest.csv\" />\n    <None Include=\"XMLModels\\CorrectModels\\DataTypeTest\\DataTypeTest.PredefinedNodes.uanodes\" />\n    <None Include=\"XMLModels\\CorrectModels\\DataTypeTest\\DataTypeTest.Types.bsd\" />\n    <None Include=\"XMLModels\\CorrectModels\\DataTypeTest\\DataTypeTest.Types.xsd\">\n      <SubType>Designer</SubType>\n    </None>\n    <None Include=\"XMLModels\\CorrectModels\\ObjectTypeTest.csv\" />\n    <None Include=\"XMLModels\\CorrectModels\\ObjectTypeTest\\ObjectTypeTest.PredefinedNodes.uanodes\" />\n    <None Include=\"XMLModels\\CorrectModels\\ObjectTypeTest\\ObjectTypeTest.Types.bsd\" />\n    <None Include=\"XMLModels\\CorrectModels\\ObjectTypeTest\\ObjectTypeTest.Types.xsd\">\n      <SubType>Designer</SubType>\n    </None>\n    <None Include=\"XMLModels\\CorrectModels\\ReferenceTest.csv\" />\n    <None Include=\"XMLModels\\CorrectModels\\ReferenceTest\\ReferenceTest.PredefinedNodes.uanodes\" />\n    <None Include=\"XMLModels\\CorrectModels\\ReferenceTest\\ReferenceTest.Types.bsd\" />\n    <None Include=\"XMLModels\\CorrectModels\\ReferenceTest\\ReferenceTest.Types.xsd\">\n      <SubType>Designer</SubType>\n    </None>\n    <None Include=\"XMLModels\\CorrectModels\\TestModels.uamdsl\" />\n    <None Include=\"XMLModels\\CorrectModels\\VariableTypeTest.csv\" />\n    <None Include=\"XMLModels\\CorrectModels\\VariableTypeTest\\VariableTypeTest.PredefinedNodes.uanodes\" />\n    <None Include=\"XMLModels\\CorrectModels\\VariableTypeTest\\VariableTypeTest.Types.bsd\" />\n    <None Include=\"XMLModels\\CorrectModels\\VariableTypeTest\\VariableTypeTest.Types.xsd\">\n      <SubType>Designer</SubType>\n    </None>\n  </ItemGroup>\n  <ItemGroup>\n    <Service Include=\"{508349B6-6B84-4DF5-91F0-309BEEBAD82D}\" />\n  </ItemGroup>\n  <ItemGroup>\n    <ProjectReference Include=\"..\\..\\BuildingErrorsHandling\\SemanticData.BuildingErrorsHandling.csproj\">\n      <Project>{9ca2f05b-fb18-49ad-8520-1bcc838f748c}</Project>\n      <Name>SemanticData.BuildingErrorsHandling</Name>\n    </ProjectReference>\n    <ProjectReference Include=\"..\\..\\InformationModelFactory\\SemanticData.InformationModelFactory.csproj\">\n      <Project>{6d20785d-0451-46a9-9ac2-ec66b7c0d18a}</Project>\n      <Name>SemanticData.InformationModelFactory</Name>\n    </ProjectReference>\n    <ProjectReference Include=\"..\\..\\UANodeSetValidation\\SemanticData.UANodeSetValidation.csproj\">\n      <Project>{352378a0-8b2e-4679-bb44-fd0bcc8467d9}</Project>\n      <Name>SemanticData.UANodeSetValidation</Name>\n    </ProjectReference>\n  </ItemGroup>\n  <ItemGroup />\n  <Choose>\n    <When Condition=\"'$(VisualStudioVersion)' == '10.0' And '$(IsCodedUITest)' == 'True'\">\n      <ItemGroup>\n        <Reference Include=\"Microsoft.VisualStudio.QualityTools.CodedUITestFramework, Version=10.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL\">\n          <Private>False</Private>\n        </Reference>\n        <Reference Include=\"Microsoft.VisualStudio.TestTools.UITest.Common, Version=10.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL\">\n          <Private>False</Private>\n        </Reference>\n        <Reference Include=\"Microsoft.VisualStudio.TestTools.UITest.Extension, Version=10.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL\">\n          <Private>False</Private>\n        </Reference>\n        <Reference Include=\"Microsoft.VisualStudio.TestTools.UITesting, Version=10.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL\">\n          <Private>False</Private>\n        </Reference>\n      </ItemGroup>\n    </When>\n  </Choose>\n  <Import Project=\"$(VSToolsPath)\\TeamTest\\Microsoft.TestTools.targets\" Condition=\"Exists('$(VSToolsPath)\\TeamTest\\Microsoft.TestTools.targets')\" />\n  <Import Project=\"$(MSBuildToolsPath)\\Microsoft.CSharp.targets\" />\n  <Target Name=\"EnsureNuGetPackageBuildImports\" BeforeTargets=\"PrepareForBuild\">\n    <PropertyGroup>\n      <ErrorText>This project references NuGet package(s) that are missing on this computer. Use NuGet Package Restore to download them.  For more information, see http://go.microsoft.com/fwlink/?LinkID=322105. The missing file is {0}.</ErrorText>\n    </PropertyGroup>\n    <Error Condition=\"!Exists('..\\..\\..\\packages\\MSTest.TestAdapter.2.2.10\\build\\net46\\MSTest.TestAdapter.props')\" Text=\"$([System.String]::Format('$(ErrorText)', '..\\..\\..\\packages\\MSTest.TestAdapter.2.2.10\\build\\net46\\MSTest.TestAdapter.props'))\" />\n    <Error Condition=\"!Exists('..\\..\\..\\packages\\MSTest.TestAdapter.2.2.10\\build\\net46\\MSTest.TestAdapter.targets')\" Text=\"$([System.String]::Format('$(ErrorText)', '..\\..\\..\\packages\\MSTest.TestAdapter.2.2.10\\build\\net46\\MSTest.TestAdapter.targets'))\" />\n  </Target>\n  <Import Project=\"..\\..\\..\\packages\\MSTest.TestAdapter.2.2.10\\build\\net46\\MSTest.TestAdapter.targets\" Condition=\"Exists('..\\..\\..\\packages\\MSTest.TestAdapter.2.2.10\\build\\net46\\MSTest.TestAdapter.targets')\" />\n  <!-- To modify your build process, add your task inside one of the targets below and uncomment it. \n       Other similar extension points exist, see Microsoft.Common.targets.\n  <Target Name=\"BeforeBuild\">\n  </Target>\n  <Target Name=\"AfterBuild\">\n  </Target>\n  -->\n</Project>"
  },
  {
    "path": "SemanticData/Tests/USNodeSetValidationUnitTestProject/ServiceResultExceptionUnitTest.cs",
    "content": "﻿//___________________________________________________________________________________\n//\n//  Copyright (C) 2021, Mariusz Postol LODZ POLAND.\n//\n//  To be in touch join the community at GITTER: https://gitter.im/mpostol/OPC-UA-OOI\n//___________________________________________________________________________________\n\nusing Microsoft.VisualStudio.TestTools.UnitTesting;\nusing System;\nusing System.Diagnostics;\nusing UAOOI.SemanticData.BuildingErrorsHandling;\n\nnamespace UAOOI.SemanticData.UANodeSetValidation.DataSerialization\n{\n\n  [TestClass]\n  public class ServiceResultExceptionUnitTest\n  {\n    [TestMethod]\n    public void ServiceResultExceptionCreateTestMethod()\n    {\n      ServiceResultException _ex = new ServiceResultException();\n      Assert.IsNotNull(_ex);\n      Assert.IsNull(_ex.InnerException);\n      Assert.IsNull(_ex.TraceMessage);\n      Assert.IsFalse(String.IsNullOrEmpty(_ex.Message), _ex.Message);\n      Assert.IsTrue(_ex.Message.Contains(\"UAOOI.SemanticData.UANodeSetValidation.DataSerialization\"));\n    }\n    [TestMethod]\n    public void ServiceResultExceptionCreateWithMessageTestMethod()\n    {\n      TraceMessage traceMessage = TraceMessage.BuildErrorTraceMessage(BuildError.NodeIdInvalidSyntax, \"BuildError_BadNodeIdInvalid\");\n      ServiceResultException _ex = new ServiceResultException(traceMessage, \"test message\");\n      Assert.IsNotNull(_ex);\n      Assert.IsNotNull(_ex.TraceMessage);\n      Assert.IsNull(_ex.InnerException);\n      Assert.AreEqual<string>(\"test message\", _ex.Message);\n      Assert.IsNotNull(_ex.TraceMessage);\n      Assert.AreEqual<Focus>(BuildError.NodeIdInvalidSyntax.Focus, _ex.TraceMessage.BuildError.Focus);\n      Assert.AreEqual<TraceEventType>(TraceEventType.Warning, _ex.TraceMessage.TraceLevel);\n    }\n\n  }\n}\n"
  },
  {
    "path": "SemanticData/Tests/USNodeSetValidationUnitTestProject/UANodeContextUnitTest.cs",
    "content": "﻿//__________________________________________________________________________________________________\n//\n//  Copyright (C) 2022, Mariusz Postol LODZ POLAND.\n//\n//  To be in touch join the community at GitHub: https://github.com/mpostol/OPC-UA-OOI/discussions\n//__________________________________________________________________________________________________\n\nusing Microsoft.VisualStudio.TestTools.UnitTesting;\nusing Moq;\nusing System;\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Xml;\nusing UAOOI.SemanticData.AddressSpace.Abstractions;\nusing UAOOI.SemanticData.BuildingErrorsHandling;\nusing UAOOI.SemanticData.InformationModelFactory;\nusing UAOOI.SemanticData.UANodeSetValidation.DataSerialization;\nusing UAOOI.SemanticData.UANodeSetValidation.UAInformationModel;\nusing UAOOI.SemanticData.UANodeSetValidation.XML;\n\nnamespace UAOOI.SemanticData.UANodeSetValidation\n{\n  //TODO Remove UT bugs of UANodeContextUnitTest #675\n  [TestClass]\n  public class UANodeContextUnitTest\n  {\n    [TestMethod]\n    public void ConstructorTest()\n    {\n      Mock<IAddressSpaceBuildContext> _addressSpaceMock = new Mock<IAddressSpaceBuildContext>();\n      UANodeContext _toTest = new UANodeContext(NodeId.Parse(\"ns=1;i=11\"), _addressSpaceMock.Object, x => { });\n      Assert.IsFalse(_toTest.InRecursionChain);\n      Assert.IsFalse(_toTest.IsProperty);\n      Assert.IsFalse(((IUANodeBase)_toTest).IsPropertyVariableType);\n      Assert.IsFalse(_toTest.ModelingRule.HasValue);\n      Assert.IsNotNull(_toTest.NodeIdContext);\n      Assert.AreEqual<string>(\"ns=1;i=11\", _toTest.NodeIdContext.ToString());\n      Assert.IsNull(_toTest.UANode);\n      Assert.AreEqual<string>(\"NodeId=\\\"ns=1;i=11\\\", BrowseName=\\\" ???? \\\", ModellingRule=\\\"\\\"\", _toTest.ToString());\n    }\n\n    [TestMethod]\n    public void UpdateTest()\n    {\n      Mock<IAddressSpaceBuildContext> _addressSpaceMock = new Mock<IAddressSpaceBuildContext>();\n      UANodeContext _toTest = new UANodeContext(NodeId.Parse(\"ns=1;i=11\"), _addressSpaceMock.Object, x => { });\n      Assert.IsFalse(_toTest.InRecursionChain);\n      Assert.IsFalse(_toTest.IsProperty);\n      Assert.IsFalse(((IUANodeBase)_toTest).IsPropertyVariableType);\n      Assert.IsFalse(_toTest.ModelingRule.HasValue);\n      Assert.IsNotNull(_toTest.NodeIdContext);\n      Assert.AreEqual<string>(\"ns=1;i=11\", _toTest.NodeIdContext.ToString());\n      Assert.IsNull(_toTest.UANode);\n      XML.UANode _node = UnitTest.Helpers.TestData.CreateUAObject();\n      _node.Deserialize();\n      QualifiedName browseName = QualifiedName.Parse(_node.BrowseName);\n      NodeId nodeId = NodeId.Parse(_node.NodeId);\n      int _registerReferenceCounter = 0;\n      _toTest.Update(_node, x => _registerReferenceCounter++);\n      Assert.AreEqual<int>(2, _registerReferenceCounter);\n      Assert.IsNotNull(_toTest.UANode);\n      Assert.AreEqual<QualifiedName>(browseName, _toTest.UANode.BrowseName);\n      Assert.IsFalse(_toTest.InRecursionChain);\n      Assert.IsFalse(_toTest.IsProperty);\n      Assert.IsFalse(((IUANodeBase)_toTest).IsPropertyVariableType);\n      Assert.IsFalse(_toTest.ModelingRule.HasValue);\n      Assert.IsNotNull(_toTest.NodeIdContext);\n      Assert.AreEqual<string>(_toTest.NodeIdContext.ToString(), \"ns=1;i=11\");\n    }\n\n    [TestMethod]\n    public void UpdateDuplicatedNodeIdTest()\n    {\n      Mock<IAddressSpaceBuildContext> _asMock = new Mock<IAddressSpaceBuildContext>();\n      List<TraceMessage> _traceBuffer = new List<TraceMessage>();\n      UANodeContext _newNode = new UANodeContext(NodeId.Parse(\"ns=1;i=11\"), _asMock.Object, x => _traceBuffer.Add(x));\n      UAVariable _nodeFactory = new UAVariable()\n      {\n        NodeId = \"ns=1;i=47\",\n        BrowseName = \"EURange\",\n        ParentNodeId = \"ns=1;i=43\",\n        DataType = \"i=884\",\n        DisplayName = new XML.LocalizedText[] { new XML.LocalizedText() { Value = \"EURange\" } }\n      };\n      _nodeFactory.Deserialize();\n      _newNode.Update(_nodeFactory, x => Assert.Fail());\n      _newNode.Update(_nodeFactory, x => Assert.Fail());\n      Assert.AreEqual<int>(1, _traceBuffer.Count);\n      Assert.AreEqual<string>(_traceBuffer[0].BuildError.Identifier, BuildError.NodeIdDuplicated.Identifier);\n    }\n\n    //[TestMethod]\n    //public void UpdateBrowseNameIndex0Test()\n    //{\n    //  Mock<IAddressSpaceBuildContext> _asMock = new Mock<IAddressSpaceBuildContext>();\n    //  List<TraceMessage> _traceBuffer = new List<TraceMessage>();\n    //  UANodeContext _newNode = new UANodeContext(NodeId.Parse(\"ns=1;i=11\"), _asMock.Object, x => _traceBuffer.Add(x));\n    //  UAVariable _nodeFactory = new UAVariable()\n    //  {\n    //    NodeId = \"ns=1;i=47\",\n    //    BrowseName = \"0:BrowseName\",\n    //    ParentNodeId = \"ns=1;i=43\",\n    //    DataType = \"i=884\",\n    //    DisplayName = new XML.LocalizedText[] { new XML.LocalizedText() { Value = \"EURange\" } },\n    //  };\n    //  _newNode.Update(_nodeFactory, x => Assert.Fail());\n    //  Assert.AreEqual<int>(0, _traceBuffer.Count);\n    //  Assert.AreEqual<string>(\"0:BrowseName\", _newNode.UANode.BrowseName.ToString());\n    //}\n\n    [TestMethod]\n    public void UpdateBrowseNameIndex1Test()\n    {\n      Mock<IAddressSpaceBuildContext> _asMock = new Mock<IAddressSpaceBuildContext>();\n      List<TraceMessage> _traceBuffer = new List<TraceMessage>();\n      UANodeContext _newNode = new UANodeContext(NodeId.Parse(\"ns=1;i=11\"), _asMock.Object, x => _traceBuffer.Add(x));\n      UAVariable _nodeFactory = new UAVariable()\n      {\n        NodeId = \"ns=1;i=47\",\n        BrowseName = \"1:BrowseName\",\n        ParentNodeId = \"ns=1;i=43\",\n        DataType = \"i=884\",\n        DisplayName = new XML.LocalizedText[] { new XML.LocalizedText() { Value = \"EURange\" } }\n      };\n      _newNode.Update(_nodeFactory, x => Assert.Fail());\n      Assert.AreEqual<int>(0, _traceBuffer.Count);\n      Assert.IsNull(_newNode.UANode.BrowseName);\n    }\n\n    [TestMethod]\n    public void UpdateReferencesTest()\n    {\n      Mock<IAddressSpaceBuildContext> addressSpaceMock = new Mock<IAddressSpaceBuildContext>();\n      addressSpaceMock.Setup(x => x.GetOrCreateNodeContext(It.IsAny<NodeId>(), It.IsAny<Func<NodeId, UANodeContext>>()));\n      List<TraceMessage> traceBuffer = new List<TraceMessage>();\n      UANodeContext toTest = new UANodeContext(NodeId.Parse(\"ns=1;i=11\"), addressSpaceMock.Object, x => traceBuffer.Add(x));\n      XML.UANode _node = new UAObject()\n      {\n        NodeId = \"ns=1;i=1\",\n        BrowseName = \"1:NewUAObject\",\n        DisplayName = new XML.LocalizedText[] { new XML.LocalizedText() { Value = \"New UA Object\" } },\n        References = new Reference[]\n        {\n          new Reference() { ReferenceType = ReferenceTypeIds.HasTypeDefinition.ToString(), IsForward= true, Value = ObjectTypeIds.BaseObjectType.ToString() },\n          new Reference() { ReferenceType = ReferenceTypeIds.Organizes.ToString(), IsForward= false, Value = \"i=85\" }\n        },\n        // UAInstance\n        ParentNodeId = string.Empty,\n        // UAObject\n        EventNotifier = 0x01,\n      };\n      _node.Deserialize();\n      List<UAReferenceContext> _registerReference = new List<UAReferenceContext>();\n      toTest.Update(_node, x => _registerReference.Add(x));\n      addressSpaceMock.Verify(x => x.GetOrCreateNodeContext(It.IsAny<NodeId>(), It.IsAny<Func<NodeId, UANodeContext>>()), Times.Never);\n      Assert.AreEqual<int>(2, _registerReference.Count);\n      Assert.AreSame(toTest, _registerReference[0].ParentNode);\n      Assert.AreSame(toTest, _registerReference[0].SourceNode);\n      Assert.IsNull(_registerReference[0].TargetNode);\n      Assert.IsNull(_registerReference[1].SourceNode);\n      Assert.AreSame(toTest, _registerReference[1].ParentNode);\n      Assert.AreSame(toTest, _registerReference[1].TargetNode);\n\n      Assert.IsFalse(toTest.InRecursionChain);\n      Assert.IsFalse(toTest.IsProperty);\n      Assert.IsFalse(((IUANodeBase)toTest).IsPropertyVariableType);\n      Assert.IsFalse(toTest.ModelingRule.HasValue);\n      Assert.IsNotNull(toTest.NodeIdContext);\n      Assert.AreEqual<string>(toTest.NodeIdContext.ToString(), \"ns=1;i=11\");\n      Assert.IsNotNull(toTest.UANode);\n    }\n\n    [TestMethod]\n    public void UpdateWithDifferentNodeIdTest()\n    {\n      Mock<IAddressSpaceBuildContext> _asMock = new Mock<IAddressSpaceBuildContext>();\n      List<TraceMessage> _traceBuffer = new List<TraceMessage>();\n      IUANodeContext _newNode = new UANodeContext(NodeId.Parse(\"ns=1;i=11\"), _asMock.Object, x => _traceBuffer.Add(x));\n      Assert.AreEqual<string>(\"ns=1;i=11\", _newNode.NodeIdContext.ToString());\n      UANode _nodeFactory = new UAVariable()\n      {\n        NodeId = \"ns=1;i=47\",\n        BrowseName = \"EURange\",\n        ParentNodeId = \"ns=1;i=43\",\n        DataType = \"i=884\",\n        DisplayName = new XML.LocalizedText[] { new XML.LocalizedText() { Value = \"EURange\" } }\n      };\n      _nodeFactory.Deserialize();\n      _newNode.Update(_nodeFactory, x => Assert.Fail()); // Update has different NodeId - no change is expected.\n      Assert.AreEqual<string>(\"ns=1;i=11\", _newNode.NodeIdContext.ToString());\n      Assert.AreEqual<string>(\"ns=1;i=47\", _newNode.UANode.NodeId.ToString());\n      Assert.AreEqual<int>(0, _traceBuffer.Count);\n    }\n\n    [TestMethod]\n    public void CalculateNodeReferencesNullArguments()\n    {\n      Mock<IAddressSpaceBuildContext> _addressSpaceMock = new Mock<IAddressSpaceBuildContext>();\n      Mock<INodeFactory> _mockNodeFactory = new Mock<INodeFactory>();\n      Mock<IValidator> _validatorMoc = new Mock<IValidator>();\n      List<TraceMessage> _traceBuffer = new List<TraceMessage>();\n      IUANodeBase _first = new UANodeContext(NodeId.Parse(\"ns=1;i=11\"), _addressSpaceMock.Object, x => _traceBuffer.Add(x));\n      Assert.ThrowsException<ArgumentNullException>(() => _first.CalculateNodeReferences(null, null, _validatorMoc.Object, y => { }));\n      Assert.ThrowsException<ArgumentNullException>(() => _first.CalculateNodeReferences(_mockNodeFactory.Object, null, null, y => { }));\n      Assert.ThrowsException<ArgumentNullException>(() => _first.CalculateNodeReferences(_mockNodeFactory.Object, null, _validatorMoc.Object, null));\n    }\n\n    [TestMethod]\n    public void CalculateNodeReferencesNullUANodeTest()\n    {\n      //TODO The exported model doesn't contain all nodes #653\n      //Assert.Inconclusive(\"The exported model doesn't contain all nodes #653\");\n      Reference reference = new Reference() { IsForward = true, ReferenceType = ReferenceTypeIds.Organizes.ToString(), Value = ObjectTypeIds.BaseObjectType.ToString() };\n      reference.RecalculateNodeIds(x => NodeId.Parse(x));\n\n      Mock<IUANodeContext> typeMock = new Mock<IUANodeContext>();\n      typeMock.Setup(x => x.NodeIdContext).Returns(ReferenceTypeIds.Organizes);\n      Mock<IUANodeContext> targetMock = new Mock<IUANodeContext>();\n      targetMock.Setup(x => x.NodeIdContext).Returns(new NodeId(\"ns=1;i=12\"));\n      targetMock.Setup(x => x.UANode).Returns(\n        new UAObject()\n        {\n          NodeId = \"ns=1;i=6599\",\n          BrowseName = \"1:<NetworkIdentifier>\",\n          SymbolicName = \"NetworkIdentifier\",\n          ParentNodeId = \"ns=1;i=6308\",\n          DisplayName = new XML.LocalizedText[] { new XML.LocalizedText() { Value = \"<NetworkIdentifier>\" } }\n        });\n\n      Mock<IAddressSpaceBuildContext> addressSpaceMock = new Mock<IAddressSpaceBuildContext>();\n      addressSpaceMock.Setup(x => x.GetOrCreateNodeContext(It.IsAny<NodeId>(), It.IsAny<Func<NodeId, IUANodeContext>>())).Returns(typeMock.Object);\n      addressSpaceMock.Setup(x => x.GetOrCreateNodeContext(It.Is<NodeId>(z => z == reference.ValueNodeId), It.IsAny<Func<NodeId, IUANodeContext>>())).Returns(targetMock.Object);\n\n      List<TraceMessage> _traceBuffer = new List<TraceMessage>();\n      UANodeContext node2Test = new UANodeContext(NodeId.Parse(\"ns=1;i=11\"), addressSpaceMock.Object, x => _traceBuffer.Add(x));\n      List<UAReferenceContext> listOfReferences = new List<UAReferenceContext>() { new UAReferenceContext(reference, addressSpaceMock.Object, node2Test) };\n      addressSpaceMock.Setup(x => x.GetMyReferences(It.IsAny<IUANodeBase>())).Returns(listOfReferences);\n      addressSpaceMock.Setup(x => x.ExportBrowseName(It.IsAny<NodeId>(), It.IsAny<NodeId>())).Returns(new XmlQualifiedName(\"name\", \"ns\"));\n\n      Mock<IReferenceFactory> referenceFactoryMock = new Mock<IReferenceFactory>();\n      Mock<INodeFactory> _mockNodeFactory = new Mock<INodeFactory>();\n      _mockNodeFactory.Setup(x => x.NewReference()).Returns(referenceFactoryMock.Object);\n      Mock<IValidator> _validatorMoc = new Mock<IValidator>();\n      _validatorMoc.Setup(x => x.ValidateExportNode(It.IsAny<IUANodeBase>(), null, _mockNodeFactory.Object, It.IsAny<Action<IUANodeContext>>(), It.IsAny<UAReferenceContext>()));\n\n      //testing\n      int counter = 0;\n      ((IUANodeBase)node2Test).CalculateNodeReferences(_mockNodeFactory.Object, null, _validatorMoc.Object, y => counter++);\n\n      //validation\n      Assert.AreEqual<int>(1, counter);\n      addressSpaceMock.Verify(x => x.GetMyReferences(It.IsAny<IUANodeBase>()), Times.Once);\n      addressSpaceMock.Verify(x => x.ExportBrowseName(It.IsAny<NodeId>(), It.IsAny<NodeId>()), Times.Once);\n      _validatorMoc.Verify(x => x.ValidateExportNode(It.Is<IUANodeBase>(z => z == targetMock.Object), null, _mockNodeFactory.Object, It.IsAny<Action<IUANodeContext>>(), It.Is<UAReferenceContext>(y => y == listOfReferences[0])), Times.Never);\n      Assert.AreEqual<int>(0, _traceBuffer.Count, _traceBuffer.Count == 0 ? \"\" : _traceBuffer[0].Message);\n    }\n\n    [TestMethod]\n    public void EqualsTest()\n    {\n      AddressSpaceBuildContext _as = new AddressSpaceBuildContext(x => { });\n      UANodeContext _first = _as.InstanceToTest;\n      UANodeContext _second = _as.InstanceToTest;\n      Assert.IsTrue(_first.Equals(_second));\n    }\n\n    [TestMethod]\n    public void GetDerivedInstances4ObjectTest()\n    {\n      AddressSpaceBuildContext _as = new AddressSpaceBuildContext(x => { });\n      UANodeContext _testInstance = _as.InstanceToTest;\n      Assert.IsTrue(_testInstance.UANode.GetType() == typeof(UAObject));\n      Assert.AreEqual<string>(\"1:InstanceOfDerivedFromComplexObjectType\", _testInstance.UANode.BrowseName.ToString());\n      Dictionary<string, IUANodeBase> _result = _testInstance.GetDerivedInstances();\n      Assert.IsNotNull(_result);\n      Assert.AreEqual<int>(4, _result.Count);\n    }\n\n    [TestMethod]\n    public void GetDerivedInstances4TypeDefinition()\n    {\n      AddressSpaceBuildContext _as = new AddressSpaceBuildContext(x => { });\n      UANodeContext _testType = _as.TypeToTest;\n      Assert.IsNotNull(_testType);\n      Assert.IsInstanceOfType(_testType.UANode, typeof(UAObjectType));\n      Assert.AreEqual<string>(\"1:DerivedFromComplexObjectType\", _testType.UANode.BrowseName.ToString());\n      Dictionary<string, IUANodeBase> _result = _testType.GetDerivedInstances();\n      Assert.IsNotNull(_result);\n      Assert.AreEqual<int>(4, _result.Count);\n    }\n\n    [TestMethod]\n    public void BuildSymbolicIdTest()\n    {\n      NodeId _nodeId = NodeId.Parse(\"ns=1;i=11\");\n      Mock<IAddressSpaceBuildContext> _asMock = new Mock<IAddressSpaceBuildContext>();\n      List<TraceMessage> _traceBuffer = new List<TraceMessage>();\n      UANodeContext _toTest = new UANodeContext(NodeId.Parse(\"ns=1;i=11\"), _asMock.Object, x => _traceBuffer.Add(x));\n      List<string> path = new List<string>();\n      _toTest.BuildSymbolicId(path);\n      Assert.AreEqual<int>(1, _traceBuffer.Count);\n      Assert.AreEqual<string>(\"P3-0403040000\", _traceBuffer[0].BuildError.Identifier);\n      Assert.AreEqual<string>(\"The target node NodeId=ns=1;i=11, current path \", _traceBuffer[0].Message);\n      Assert.AreEqual<int>(0, path.Count);\n    }\n\n    [TestMethod]\n    public void ExportBrowseNameTest()\n    {\n      Mock<IAddressSpaceBuildContext> _asMock = new Mock<IAddressSpaceBuildContext>();\n      _asMock.Setup(x => x.GetNamespace(0)).Returns<ushort>(x => Namespaces.OpcUa);\n      _asMock.Setup(x => x.GetNamespace(1)).Returns<ushort>(x => \"tempuri.org\");\n      UANode _nodeFactory = new UAVariable()\n      {\n        NodeId = \"ns=1;i=47\",\n        BrowseName = \"EURange\",\n        ParentNodeId = \"ns=1;i=43\",\n        DataType = \"i=884\",\n        DisplayName = new XML.LocalizedText[] { new XML.LocalizedText() { Value = \"EURange\" } }\n      };\n      _nodeFactory.Deserialize();\n      List<TraceMessage> _traceBuffer = new List<TraceMessage>();\n      UANodeContext _node = new UANodeContext(NodeId.Parse(\"ns=1;i=47\"), _asMock.Object, x => _traceBuffer.Add(x));\n      _node.Update(_nodeFactory, x => Assert.Fail());\n      XmlQualifiedName _resolvedName = _node.ExportNodeBrowseName();\n      _asMock.Verify(x => x.GetNamespace(0), Times.Once);\n      _asMock.Verify(x => x.GetNamespace(1), Times.Never);\n      Assert.IsNotNull(_resolvedName);\n      Assert.AreEqual<string>(\"http://opcfoundation.org/UA/:EURange\", _resolvedName.ToString());\n      Assert.AreEqual<int>(0, _traceBuffer.Count);\n    }\n\n    [TestMethod]\n    public void EqualsUAVariableTestMethod()\n    {\n      UAVariable _derivedNode = new UAVariable()\n      {\n        NodeId = \"ns=1;i=47\",\n        BrowseName = \"0:BrowseName\",\n        ParentNodeId = \"ns=1;i=43\",\n        DataType = \"i=884\",\n        DisplayName = new XML.LocalizedText[] { new XML.LocalizedText() { Value = \"EURange\" } }\n      };\n      _derivedNode.Deserialize();\n      //_derivedNode.RecalculateNodeIds(modelMock, x => Assert.Fail());\n      Assert.IsNotNull(_derivedNode.BrowseName);\n      UANode _baseNode = new UAVariable()\n      {\n        NodeId = \"i=17568\",\n        BrowseName = \"BrowseName\",\n        ParentNodeId = \"i=15318\",\n        DataType = \"i=884\",\n        DisplayName = new XML.LocalizedText[] { new XML.LocalizedText() { Value = \"EURange\" } }\n      };\n      _baseNode.Deserialize();\n      //_baseNode.RecalculateNodeIds(modelMock, x => Assert.Fail());\n      Assert.IsNotNull(_baseNode.BrowseName);\n      Mock<IAddressSpaceBuildContext> _asMock = new Mock<IAddressSpaceBuildContext>();\n      IUANodeContext _derivedNodeContext = new UANodeContext(NodeId.Parse(\"ns=1;i=47\"), _asMock.Object, x => { });\n      _derivedNodeContext.Update(_derivedNode, x => Assert.Fail());\n      UANodeContext _baseNodeContext = new UANodeContext(NodeId.Parse(\"i=17568\"), _asMock.Object, x => { });\n      _baseNodeContext.Update(_baseNode, x => Assert.Fail());\n\n      Assert.IsTrue(_derivedNode.Equals(_baseNode));\n      Assert.IsTrue(_derivedNodeContext.Equals(_baseNodeContext));\n    }\n\n    [TestMethod]\n    public void RemoveInheritedValuesTest()\n    {\n      UAVariable _derivedNode = new UAVariable()\n      {\n        NodeId = \"ns=1;i=47\",\n        BrowseName = \"EURange\",\n        ParentNodeId = \"ns=1;i=43\",\n        DataType = \"i=884\",  //Range\n        DisplayName = new XML.LocalizedText[] { new XML.LocalizedText() { Value = \"EURange\" } }\n      };\n      UANode _baseNode = new UAVariable()\n      {\n        NodeId = \"i=17568\",\n        BrowseName = \"EURange\",\n        ParentNodeId = \"i=15318\",\n        DataType = \"i=884\", //Range\n        DisplayName = new XML.LocalizedText[] { new XML.LocalizedText() { Value = \"EURange\" } }\n      };\n      Mock<IAddressSpaceBuildContext> _asMock = new Mock<IAddressSpaceBuildContext>();\n      IUANodeContext _derivedNodeContext = new UANodeContext(NodeId.Parse(\"ns=1;i=47\"), _asMock.Object, x => { });\n      _derivedNodeContext.Update(_derivedNode, x => Assert.Fail());\n      UANodeContext _baseNodeContext = new UANodeContext(NodeId.Parse(\"i=17568\"), _asMock.Object, x => { });\n      _baseNodeContext.Update(_baseNode, x => Assert.Fail());\n      _derivedNodeContext.RemoveInheritedValues(_baseNodeContext);\n      Assert.AreEqual<string>(\"EURange\", _derivedNode.BrowseName);\n      Assert.IsNull(_derivedNode.DataType);\n      Assert.IsNull(_derivedNode.Description);\n    }\n\n    #region instrumentation\n\n    private class ModelContextFixture : IUAModelContext\n    {\n      public Uri ModelUri => throw new NotImplementedException();\n\n      public (QualifiedName browseName, NodeId nodeId) ImportBrowseName(string browseNameText, string nodeIdText, Action<TraceMessage> trace)\n      {\n        return (QualifiedName.Parse(browseNameText), NodeId.Parse(nodeIdText));\n      }\n\n      public NodeId ImportNodeId(string nodeId, Action<TraceMessage> trace)\n      {\n        return NodeId.Parse(nodeId);\n      }\n\n      public void RegisterUAReferenceType(QualifiedName browseName)\n      {\n      }\n    }\n\n    private class AddressSpaceBuildContext : IAddressSpaceBuildContext\n    {\n      #region constructor\n\n      public AddressSpaceBuildContext(Action<TraceMessage> traceMessageCallback)\n      {\n        CreateAddressSpace(traceMessageCallback);\n      }\n\n      #endregion constructor\n\n      #region IAddressSpaceBuildContext\n\n      public Parameter ExportArgument(Argument argument, XmlQualifiedName dataType)\n      {\n        throw new NotImplementedException();\n      }\n\n      public XmlQualifiedName ExportBrowseName(NodeId id, NodeId defaultValue)\n      {\n        throw new NotImplementedException();\n      }\n\n      public IUANodeBase GetBaseTypeNode(NodeClassEnum nodeClass)\n      {\n        return null;\n      }\n\n      public IEnumerable<IUANodeBase> GetChildren(IUANodeBase node)\n      {\n        return m_References.Values.Where<UAReferenceContext>(x => Object.ReferenceEquals(x.SourceNode, node)).\n                                                             Where<UAReferenceContext>(x => x.ChildConnector).\n                                                             Select<UAReferenceContext, IUANodeContext>(x => x.TargetNode);\n      }\n\n      public ushort GetIndexOrAppend(string identifier)\n      {\n        throw new NotImplementedException();\n      }\n\n      public IEnumerable<UAReferenceContext> GetMyReferences(IUANodeBase index)\n      {\n        List<UAReferenceContext> contexts = new List<UAReferenceContext>();\n        return contexts;\n      }\n\n      public string GetNamespace(ushort namespaceIndex)\n      {\n        throw new NotImplementedException();\n      }\n\n      public IUANodeContext GetOrCreateNodeContext(NodeId nodeId, Func<NodeId, IUANodeContext> createUAModelContext)\n      {\n        return m_NodesDictionary[nodeId.ToString()];\n      }\n\n      public IEnumerable<UAReferenceContext> GetReferences2Me(IUANodeBase node)\n      {\n        throw new NotImplementedException();\n      }\n\n      public Parameter ExportArgument(Argument argument)\n      {\n        throw new NotImplementedException();\n      }\n\n      public void GetBaseTypes(IUANodeContext rootNode, List<IUANodeContext> inheritanceChain)\n      {\n        if (rootNode == null)\n          throw new ArgumentNullException(\"rootNode\");\n        inheritanceChain.Add(rootNode);\n        if (rootNode.InRecursionChain)\n          throw new ArgumentOutOfRangeException(\"Circular reference\");\n        rootNode.InRecursionChain = true;\n        IEnumerable<IUANodeContext> _derived = m_References.Values.Where<UAReferenceContext>(x => (x.TypeNode.NodeIdContext == ReferenceTypeIds.HasSubtype) && (x.TargetNode == rootNode)).\n                                                                   Select<UAReferenceContext, IUANodeContext>(x => x.SourceNode);\n        if (_derived.Count<IUANodeContext>() > 1)\n          throw new ArgumentOutOfRangeException(\"To many subtypes\");\n        else if (_derived.Count<IUANodeContext>() == 1)\n          GetBaseTypes(_derived.First<IUANodeContext>(), inheritanceChain);\n        rootNode.InRecursionChain = false;\n      }\n\n      #endregion IAddressSpaceBuildContext\n\n      #region private instrumentation\n\n      internal UANodeContext InstanceToTest { get; private set; }\n      internal UANodeContext TypeToTest { get; private set; }\n      private readonly Dictionary<string, UAReferenceContext> m_References = new Dictionary<string, UAReferenceContext>();\n      private readonly Dictionary<string, IUANodeContext> m_NodesDictionary = new Dictionary<string, IUANodeContext>();\n\n      private void Add2mNodesDictionary(UANodeContext node)\n      {\n        m_NodesDictionary.Add(node.NodeIdContext.ToString(), node);\n      }\n\n      private UANodeContext NewNode(UANode newNode, Action<TraceMessage> traceMessageCallback)\n      {\n        //newNode.Deserialize();\n        newNode.RecalculateNodeIds(new ModelContextFixture(), traceMessageCallback);\n        UANodeContext _newNode = new UANodeContext(NodeId.Parse(newNode.NodeId), this, traceMessageCallback);\n        _newNode.Update(newNode, x => { m_References.Add(x.Key, x); });\n        Add2mNodesDictionary(_newNode);\n        return _newNode;\n      }\n\n      private void CreateAddressSpace(Action<TraceMessage> traceMessageCallback)\n      {\n        NewNode(new UAReferenceType() { NodeId = ReferenceTypeIds.HasProperty.ToString(), BrowseName = \"HasProperty\" }, traceMessageCallback);\n        NewNode(new UAReferenceType() { NodeId = ReferenceTypeIds.HasTypeDefinition.ToString(), BrowseName = \"HasTypeDefinition\" }, traceMessageCallback);\n        NewNode(new UAVariable()\n        {\n          NodeId = \"i=112\",\n          BrowseName = \"NamingRule\",\n          ParentNodeId = \"i=78\",\n          DataType = \"i=120\",\n          DisplayName = new XML.LocalizedText[] { new XML.LocalizedText() { Value = \"NamingRule\" } }\n        }, traceMessageCallback);\n        NewNode(new UAObjectType()\n        {\n          NodeId = \"i=77\",\n          BrowseName = \"ModellingRuleType\",\n          DisplayName = new XML.LocalizedText[] { new XML.LocalizedText() { Value = \"ModellingRuleType\" } }\n        }, traceMessageCallback);\n        NewNode(new UAObject()\n        {\n          NodeId = \"i=78\",\n          BrowseName = \"Mandatory\",\n          SymbolicName = \"ModellingRule_Mandatory\",\n          DisplayName = new XML.LocalizedText[] { new XML.LocalizedText() { Value = \"Mandatory\" } },\n          References = new Reference[]\n          {\n            new Reference(){ IsForward = true, ReferenceType = ReferenceTypeIds.HasProperty.ToString(), Value=\"i=112\" },\n            new Reference(){ IsForward = true, ReferenceType = ReferenceTypeIds.HasTypeDefinition.ToString(), Value=\"i=77\" }\n          }\n        }, traceMessageCallback);\n        NewNode(new UAReferenceType()\n        {\n          NodeId = \"i=37\",\n          BrowseName = \"HasModellingRule\",\n          DisplayName = new XML.LocalizedText[] { new XML.LocalizedText() { Value = \"HasModellingRule\" } }\n        }, traceMessageCallback);\n        NewNode(new UAMethod()\n        {\n          NodeId = \"ns=1;i=25\",\n          BrowseName = \"1:ChildMethod\",\n          ParentNodeId = \"ns=1;i=16\",\n          MethodDeclarationId = \"ns=1;i=10\",\n          DisplayName = new XML.LocalizedText[] { new XML.LocalizedText() { Value = \"ChildMethodNewName\" } },\n          References = new Reference[] { new Reference() { ReferenceType = ReferenceTypeIds.HasModellingRule.ToString(), IsForward = true, Value = \"i=78\" } }\n        }, traceMessageCallback);\n        NewNode(new UAReferenceType()\n        {\n          NodeId = \"i=47\",\n          BrowseName = \"HasComponent\",\n          DisplayName = new XML.LocalizedText[] { new XML.LocalizedText() { Value = \"ChildVariable\" } }\n        }, traceMessageCallback);\n        NewNode(new UAVariable()\n        {\n          NodeId = \"ns=1;i=47\",\n          BrowseName = \"EURange\",\n          ParentNodeId = \"ns=1;i=43\",\n          DataType = \"i=884\",\n          DisplayName = new XML.LocalizedText[] { new XML.LocalizedText() { Value = \"EURange\" } }\n        }, traceMessageCallback);\n        NewNode(new UAVariable()\n        {\n          NodeId = \"i=2369\",\n          BrowseName = \"EURange\",\n          ParentNodeId = \"i=2368\",\n          DataType = \"i=884\",\n          DisplayName = new XML.LocalizedText[] { new XML.LocalizedText() { Value = \"EURange\" } }\n        }, traceMessageCallback);\n        NewNode(new UAVariableType()\n        {\n          NodeId = \"i=2368\",\n          BrowseName = \"AnalogItemType\",\n          DataType = \"Number\",\n          ValueRank = -2,\n          DisplayName = new XML.LocalizedText[] { new XML.LocalizedText() { Value = \"AnalogItemType\" } },\n          References = new Reference[] { new Reference() { IsForward = true, ReferenceType = ReferenceTypeIds.HasProperty.ToString(), Value = \"i=2369\" } }\n        }, traceMessageCallback);\n        NewNode(new UAVariable()\n        {\n          NodeId = \"ns=1;i=43\",\n          BrowseName = \"1:ChildVariable\",\n          ParentNodeId = \"ns=1;i=1\",\n          DataType = \"Number\",\n          DisplayName = new XML.LocalizedText[] { new XML.LocalizedText() { Value = \"ChildVariable\" } },\n          References = new Reference[]\n            {\n                new Reference() { IsForward=true, ReferenceType = ReferenceTypeIds.HasProperty.ToString(), Value=\"ns=1;i=47\"},\n                new Reference(){ IsForward=true, ReferenceType = ReferenceTypeIds.HasTypeDefinition.ToString(), Value=\"i=2368\"},\n                new Reference() {IsForward=true, ReferenceType = ReferenceTypeIds.HasModellingRule.ToString(), Value=\"i=78\" }\n            }\n        }, traceMessageCallback);\n        NewNode(new UAObjectType()\n        {\n          NodeId = \"i=58\",\n          BrowseName = \"BaseObjectType\",\n          DisplayName = new XML.LocalizedText[] { new XML.LocalizedText() { Value = \"BaseObjectType\" } }\n        }, traceMessageCallback);\n        NewNode(new UAVariableType()\n        {\n          NodeId = \"i=68\",\n          BrowseName = \"PropertyType\",\n          ValueRank = -2,\n          DisplayName = new XML.LocalizedText[] { new XML.LocalizedText() { Value = \"PropertyType\" } }\n        }, traceMessageCallback);\n        NewNode(new UAVariable()\n        {\n          NodeId = \"i=11511\",\n          BrowseName = \"NamingRule\",\n          ParentNodeId = \"i=11510\",\n          DataType = \"i=120\",\n          DisplayName = new XML.LocalizedText[] { new XML.LocalizedText() { Value = \"NamingRule\" } },\n          References = new Reference[] { new Reference() { ReferenceType = ReferenceTypeIds.HasTypeDefinition.ToString(), Value = \"i=68\", IsForward = true } }\n        }, traceMessageCallback);\n        NewNode(new UAObject()\n        {\n          NodeId = \"i=11510\",\n          BrowseName = \"MandatoryPlaceholder\",\n          SymbolicName = \"ModellingRule_MandatoryPlaceholder\",\n          DisplayName = new XML.LocalizedText[] { new XML.LocalizedText() { Value = \"MandatoryPlaceholder\" } },\n          References = new Reference[]\n            {\n             new Reference(){ ReferenceType = ReferenceTypeIds.HasProperty.ToString(), Value=\"i=11511\", IsForward= true },\n             new Reference() { ReferenceType = ReferenceTypeIds.HasTypeDefinition.ToString(), Value = \"i=77\", IsForward= true }\n            }\n        }, traceMessageCallback);\n        NewNode(new UAObject()\n        {\n          NodeId = \"ns=1;i=2\",\n          BrowseName = \"1:ChildObject\",\n          ParentNodeId = \"ns=1;i=1\",\n          EventNotifier = 1,\n          DisplayName = new XML.LocalizedText[] { new XML.LocalizedText() { Value = \"ChildObject\" } },\n          References = new Reference[]\n            {\n              new  Reference() { IsForward= true, ReferenceType = ReferenceTypeIds.HasTypeDefinition.ToString(), Value=\"i=58\" },\n              new Reference() { IsForward= true, ReferenceType = ReferenceTypeIds.HasModellingRule.ToString(), Value=\"i=11510\" }\n            }\n        }, traceMessageCallback);\n        NewNode(new UAVariable()\n        {\n          NodeId = \"ns=1;i=3\",\n          BrowseName = \"1:ChildProperty\",\n          SymbolicName = \"BrowseName4node66\",\n          ParentNodeId = \"ns=1;i=1\",\n          DataType = \"LocalizedText\",\n          DisplayName = new XML.LocalizedText[] { new XML.LocalizedText() { Value = \"ChildProperty\" } },\n          References = new Reference[]\n            {\n              new Reference() { ReferenceType = ReferenceTypeIds.HasTypeDefinition.ToString(), Value=\"i=68\", IsForward=true },\n              new Reference() { ReferenceType = ReferenceTypeIds.HasModellingRule.ToString(), Value=\"i=78\", IsForward=true }\n            }\n        }, traceMessageCallback);\n        NewNode(new UAMethod()\n        {\n          NodeId = \"ns=1;i=10\",\n          BrowseName = \"1:ChildMethod\",\n          ParentNodeId = \"ns=1;i=1\",\n          DisplayName = new XML.LocalizedText[] { new XML.LocalizedText() { Value = \"ChildMethod\" } },\n          References = new Reference[] { new Reference() { ReferenceType = ReferenceTypeIds.HasModellingRule.ToString(), Value = \"i=78\", IsForward = true } }\n        }, traceMessageCallback);\n        NewNode(new UAObjectType()\n        {\n          NodeId = \"ns=1;i=1\",\n          BrowseName = \"1:ComplexObjectType\",\n          DisplayName = new XML.LocalizedText[] { new XML.LocalizedText() { Value = \"ComplexObjectType\" } },\n          References = new Reference[]\n            {\n              new Reference() { IsForward = true, ReferenceType = ReferenceTypeIds.HasComponent.ToString(), Value=\"ns=1;i=2\" },\n              new Reference() { IsForward = true, ReferenceType = ReferenceTypeIds.HasProperty.ToString(),  Value=\"ns=1;i=3\" },\n              new Reference() { IsForward = true, ReferenceType = ReferenceTypeIds.HasComponent.ToString(), Value=\"ns=1;i=43\" },\n              new Reference() { IsForward = true, ReferenceType = ReferenceTypeIds.HasComponent.ToString(), Value=\"ns=1;i=10\" }\n            }\n        }, traceMessageCallback);\n        NewNode(new UAReferenceType()\n        {\n          NodeId = \"i=45\",\n          BrowseName = \"HasSubtype\",\n          DisplayName = new XML.LocalizedText[] { new XML.LocalizedText() { Value = \"HasSubtype\" } },\n        }, traceMessageCallback);\n        TypeToTest = NewNode(new UAObjectType()\n        {\n          NodeId = \"ns=1;i=16\",\n          BrowseName = \"1:DerivedFromComplexObjectType\",\n          DisplayName = new XML.LocalizedText[] { new XML.LocalizedText() { Value = \"DerivedFromComplexObjectType\" } },\n          References = new Reference[]\n            {\n              new Reference(){  ReferenceType = ReferenceTypeIds.HasComponent.ToString(), IsForward=true, Value= \"ns=1;i=25\" },\n              new Reference() { ReferenceType = ReferenceTypeIds.HasSubtype.ToString(), IsForward = false, Value= \"ns=1;i=1\" }\n            }\n        }, traceMessageCallback);\n        NewNode(new UAVariable()\n        {\n          NodeId = \"ns=1;i=32\",\n          BrowseName = \"1:ChildProperty\",\n          SymbolicName = \"BrowseName4node66\",\n          ParentNodeId = \"ns=1;i=30\",\n          DataType = \"LocalizedText\",\n          DisplayName = new XML.LocalizedText[] { new XML.LocalizedText() { Value = \"ChildProperty\" } }\n        }, traceMessageCallback);\n        NewNode(new UAVariable()\n        {\n          NodeId = \"ns=1;i=59\",\n          BrowseName = \"EURange\",\n          ParentNodeId = \"ns=1;i=55\",\n          DataType = \"i=884\",\n          DisplayName = new XML.LocalizedText[] { new XML.LocalizedText() { Value = \"EURange\" } },\n        }, traceMessageCallback);\n        NewNode(new UAVariable()\n        {\n          NodeId = \"ns=1;i=55\",\n          BrowseName = \"1:ChildVariable\",\n          ParentNodeId = \"ns=1;i=30\",\n          DataType = \"Number\",\n          DisplayName = new XML.LocalizedText[] { new XML.LocalizedText() { Value = \"ChildVariable\" } },\n          References = new Reference[]\n            {\n              new Reference(){ IsForward=true, ReferenceType = ReferenceTypeIds.HasProperty.ToString(), Value=\"ns=1;i=59\"},\n              new Reference(){ IsForward=true, ReferenceType = ReferenceTypeIds.HasTypeDefinition.ToString(), Value = \"i=2368\" },\n            }\n        }, traceMessageCallback);\n        NewNode(new UAMethod()\n        {\n          NodeId = \"ns=1;i=39\",\n          BrowseName = \"1:ChildMethod\",\n          ParentNodeId = \"ns=1;i=30\",\n          MethodDeclarationId = \"ns=1;i=10\",\n          DisplayName = new XML.LocalizedText[] { new XML.LocalizedText() { Value = \"ChildMethodNewName\" } }\n        }, traceMessageCallback);\n        InstanceToTest = NewNode(new UAObject()\n        {\n          BrowseName = \"1:InstanceOfDerivedFromComplexObjectType\",\n          NodeId = \"ns=1;i=30\",\n          DisplayName = new XML.LocalizedText[] { new XML.LocalizedText() { Value = \"InstanceOfDerivedFromComplexObjectType\" } },\n          References = new Reference[]\n          {\n            new Reference() { IsForward = true, ReferenceType = ReferenceTypeIds.HasProperty.ToString(), Value = \"ns=1;i=32\" },\n            new Reference() { IsForward = true, ReferenceType = ReferenceTypeIds.HasComponent.ToString(), Value = \"ns=1;i=55\" },\n            new Reference() { IsForward = true, ReferenceType = ReferenceTypeIds.HasComponent.ToString(), Value = \"ns=1;i=39\" },\n            new Reference() { IsForward = true, ReferenceType = ReferenceTypeIds.HasTypeDefinition.ToString(), Value = \"ns=1;i=16\" }\n          }\n        }, traceMessageCallback);\n      }\n\n      #endregion private instrumentation\n    }\n\n    #endregion instrumentation\n  }\n}"
  },
  {
    "path": "SemanticData/Tests/USNodeSetValidationUnitTestProject/UAReferenceContextTestClass.cs",
    "content": "﻿//___________________________________________________________________________________\n//\n//  Copyright (C) 2021, Mariusz Postol LODZ POLAND.\n//\n//  To be in touch join the community at GITTER: https://gitter.im/mpostol/OPC-UA-OOI\n//___________________________________________________________________________________\n\nusing Microsoft.VisualStudio.TestTools.UnitTesting;\nusing Moq;\nusing System;\nusing System.Collections.Generic;\nusing System.Xml;\nusing UAOOI.SemanticData.UANodeSetValidation.DataSerialization;\nusing UAOOI.SemanticData.UANodeSetValidation.UAInformationModel;\n\nnamespace UAOOI.SemanticData.UANodeSetValidation\n{\n  [TestClass]\n  public class UAReferenceContextTestClass\n  {\n    [TestMethod]\n    public void NullArgumentConstructorTest()\n    {\n      Mock<IAddressSpaceBuildContext> asMock = new Mock<IAddressSpaceBuildContext>();\n      Mock<IUANodeContext> nodeMock = new Mock<IUANodeContext>();\n      Assert.ThrowsException<ArgumentNullException>(() => new UAReferenceContext(null, asMock.Object, nodeMock.Object));\n      Assert.ThrowsException<ArgumentNullException>(() => new UAReferenceContext(new XML.Reference(), null, nodeMock.Object));\n      Assert.ThrowsException<ArgumentNullException>(() => new UAReferenceContext(new XML.Reference(), asMock.Object, null));\n    }\n\n    [TestMethod]\n    public void ConstructorTest()\n    {\n      XML.Reference reference = new XML.Reference() { IsForward = true, ReferenceType = ReferenceTypeIds.HasOrderedComponent.ToString(), Value = \"ns=1;i=11\" };\n      reference.RecalculateNodeIds(x => NodeId.Parse(x));\n\n      Mock<IUANodeContext> typeMock = new Mock<IUANodeContext>();\n      typeMock.Setup(x => x.NodeIdContext).Returns(new NodeId(\"i=10\"));\n\n      Mock<IUANodeContext> targetMock = new Mock<IUANodeContext>();\n      targetMock.Setup(x => x.NodeIdContext).Returns(new NodeId(\"ns=1;i=12\"));\n\n      Mock<IAddressSpaceBuildContext> asMock = new Mock<IAddressSpaceBuildContext>();\n      asMock.Setup(x => x.GetOrCreateNodeContext(It.IsAny<NodeId>(), It.IsAny<Func<NodeId, IUANodeContext>>())).Returns(typeMock.Object);\n      asMock.Setup(x => x.GetOrCreateNodeContext(It.Is<NodeId>(z => z == reference.ValueNodeId), It.IsAny<Func<NodeId, IUANodeContext>>())).Returns(targetMock.Object);\n\n      Mock<IUANodeContext> sourceMock = new Mock<IUANodeContext>();\n      sourceMock.Setup(x => x.NodeIdContext).Returns(NodeId.Parse(\"ns=1;i=1\"));\n\n      UAReferenceContext instance2Test = new UAReferenceContext(reference, asMock.Object, sourceMock.Object);\n      Assert.IsTrue(instance2Test.IsForward);\n      Assert.AreEqual<string>(\"ns=1;i=1:i=10:ns=1;i=12\", instance2Test.Key);\n      Assert.AreSame(typeMock.Object, instance2Test.TypeNode);\n      Assert.AreSame(sourceMock.Object, instance2Test.ParentNode);\n      Assert.AreSame(sourceMock.Object, instance2Test.SourceNode);\n      Assert.AreSame(targetMock.Object, instance2Test.TargetNode);\n      asMock.Verify(z => z.GetOrCreateNodeContext(It.IsAny<NodeId>(), It.IsAny<Func<NodeId, IUANodeContext>>()), Times.Exactly(2));\n\n      reference.IsForward = false;\n      instance2Test = new UAReferenceContext(reference, asMock.Object, sourceMock.Object);\n      Assert.IsFalse(instance2Test.IsForward);\n      Assert.AreEqual<string>(\"ns=1;i=12:i=10:ns=1;i=1\", instance2Test.Key);\n      Assert.AreSame(typeMock.Object, instance2Test.TypeNode);\n      Assert.AreSame(sourceMock.Object, instance2Test.ParentNode);\n      Assert.AreSame(sourceMock.Object, instance2Test.TargetNode);\n      Assert.AreSame(targetMock.Object, instance2Test.SourceNode);\n    }\n\n    [TestMethod]\n    public void GetReferenceTypeNameTest()\n    {\n      XML.Reference reference = new XML.Reference() { IsForward = true, ReferenceType = ReferenceTypeIds.HasOrderedComponent.ToString(), Value = \"ns=1;i=11\" };\n      reference.RecalculateNodeIds(x => NodeId.Parse(x));\n\n      Mock<IUANodeContext> typeMock = new Mock<IUANodeContext>();\n      typeMock.Setup(x => x.NodeIdContext).Returns(new NodeId(\"i=10\"));\n\n      Mock<IUANodeContext> targetMock = new Mock<IUANodeContext>();\n      targetMock.Setup(x => x.NodeIdContext).Returns(new NodeId(\"ns=1;i=12\"));\n\n      Mock<IAddressSpaceBuildContext> asMock = new Mock<IAddressSpaceBuildContext>();\n      asMock.Setup(x => x.GetOrCreateNodeContext(It.IsAny<NodeId>(), It.IsAny<Func<NodeId, IUANodeContext>>())).Returns(typeMock.Object);\n      asMock.Setup(x => x.GetOrCreateNodeContext(It.Is<NodeId>(z => z == reference.ValueNodeId), It.IsAny<Func<NodeId, IUANodeContext>>())).Returns(targetMock.Object);\n\n      Mock<IUANodeContext> sourceMock = new Mock<IUANodeContext>();\n      sourceMock.Setup(x => x.NodeIdContext).Returns(NodeId.Parse(\"ns=1;i=1\"));\n\n      UAReferenceContext instance2Test = new UAReferenceContext(reference, asMock.Object, sourceMock.Object);\n\n      asMock.Setup(x => x.ExportBrowseName(It.Is<NodeId>(z => z == new NodeId(\"i=10\")), It.IsAny<NodeId>())).Returns(new XmlQualifiedName(\"2P8ZkTA2Ccahvs\", \"943IbIVI6ivpBj\"));\n      XmlQualifiedName typeName = instance2Test.GetReferenceTypeName();\n      asMock.Verify(x => x.ExportBrowseName(It.Is<NodeId>(z => z == new NodeId(\"i=10\")), It.IsAny<NodeId>()), Times.Once);\n      Assert.IsNotNull(typeName);\n      Assert.AreEqual<string>(\"943IbIVI6ivpBj\", typeName.Namespace);\n      Assert.AreEqual<string>(\"2P8ZkTA2Ccahvs\", typeName.Name);\n    }\n\n    [TestMethod]\n    public void BrowsePathNameIsForwardTest()\n    {\n      XML.Reference reference = new XML.Reference() { IsForward = true, ReferenceType = ReferenceTypeIds.HasOrderedComponent.ToString(), Value = \"ns=1;i=11\" };\n      reference.RecalculateNodeIds(x => NodeId.Parse(x));\n\n      Mock<IUANodeContext> typeMock = new Mock<IUANodeContext>();\n      typeMock.Setup(x => x.NodeIdContext).Returns(new NodeId(\"i=10\"));\n\n      Mock<IUANodeContext> targetMock = new Mock<IUANodeContext>();\n      targetMock.Setup(x => x.NodeIdContext).Returns(new NodeId(\"ns=1;i=12\"));\n\n      Mock<IAddressSpaceBuildContext> asMock = new Mock<IAddressSpaceBuildContext>();\n      asMock.Setup(x => x.GetOrCreateNodeContext(It.IsAny<NodeId>(), It.IsAny<Func<NodeId, IUANodeContext>>())).Returns(typeMock.Object);\n      asMock.Setup(x => x.GetOrCreateNodeContext(It.Is<NodeId>(z => z == reference.ValueNodeId), It.IsAny<Func<NodeId, IUANodeContext>>())).Returns(targetMock.Object);\n\n      Mock<IUANodeContext> sourceMock = new Mock<IUANodeContext>();\n      sourceMock.Setup(x => x.NodeIdContext).Returns(NodeId.Parse(\"ns=1;i=1\"));\n\n      UAReferenceContext instance2Test = new UAReferenceContext(reference, asMock.Object, sourceMock.Object);\n\n      targetMock.Setup(z => z.BuildSymbolicId(It.Is<List<string>>(x => CreatePathFixture(x))));\n      XmlQualifiedName typeName = instance2Test.BrowsePath();\n      targetMock.Verify(z => z.BuildSymbolicId(It.IsAny<List<string>>()), Times.Once);\n      sourceMock.Verify(z => z.BuildSymbolicId(It.IsAny<List<string>>()), Times.Never);\n      typeMock.Verify(z => z.BuildSymbolicId(It.IsAny<List<string>>()), Times.Never);\n      Assert.IsNotNull(typeName);\n      Assert.AreEqual<string>(\"\", typeName.Namespace);\n      Assert.AreEqual<string>(\"2P8ZkTA2Ccahvs_bLAsL6DSp1Ow5d\", typeName.Name);\n    }\n\n    [TestMethod]\n    public void BrowsePathNameTest()\n    {\n      XML.Reference reference = new XML.Reference() { IsForward = false, ReferenceType = ReferenceTypeIds.HasOrderedComponent.ToString(), Value = \"ns=1;i=11\" };\n      reference.RecalculateNodeIds(x => NodeId.Parse(x));\n\n      Mock<IUANodeContext> typeMock = new Mock<IUANodeContext>();\n      typeMock.Setup(x => x.NodeIdContext).Returns(new NodeId(\"i=10\"));\n\n      Mock<IUANodeContext> targetMock = new Mock<IUANodeContext>();\n      targetMock.Setup(x => x.NodeIdContext).Returns(new NodeId(\"ns=1;i=12\"));\n\n      Mock<IAddressSpaceBuildContext> asMock = new Mock<IAddressSpaceBuildContext>();\n      asMock.Setup(x => x.GetOrCreateNodeContext(It.IsAny<NodeId>(), It.IsAny<Func<NodeId, IUANodeContext>>())).Returns(typeMock.Object);\n      asMock.Setup(x => x.GetOrCreateNodeContext(It.Is<NodeId>(z => z == reference.ValueNodeId), It.IsAny<Func<NodeId, IUANodeContext>>())).Returns(targetMock.Object);\n\n      Mock<IUANodeContext> sourceMock = new Mock<IUANodeContext>();\n      sourceMock.Setup(x => x.NodeIdContext).Returns(NodeId.Parse(\"ns=1;i=1\"));\n\n      UAReferenceContext instance2Test = new UAReferenceContext(reference, asMock.Object, sourceMock.Object);\n\n      Assert.IsFalse(instance2Test.IsForward);\n      targetMock.Setup(z => z.BuildSymbolicId(It.Is<List<string>>(x => CreatePathFixture(x))));\n      XmlQualifiedName typeName = instance2Test.BrowsePath();\n      targetMock.Verify(z => z.BuildSymbolicId(It.IsAny<List<string>>()), Times.Once);\n      sourceMock.Verify(z => z.BuildSymbolicId(It.IsAny<List<string>>()), Times.Never);\n      typeMock.Verify(z => z.BuildSymbolicId(It.IsAny<List<string>>()), Times.Never);\n      Assert.IsNotNull(typeName);\n      Assert.AreEqual<string>(\"\", typeName.Namespace);\n      Assert.AreEqual<string>(\"2P8ZkTA2Ccahvs_bLAsL6DSp1Ow5d\", typeName.Name);\n    }\n\n    [TestMethod]\n    public void BuildSymbolicIdTest()\n    {\n      XML.Reference reference = new XML.Reference() { IsForward = false, ReferenceType = ReferenceTypeIds.HasOrderedComponent.ToString(), Value = \"ns=1;i=11\" };\n      reference.RecalculateNodeIds(x => NodeId.Parse(x));\n\n      Mock<IUANodeContext> typeMock = new Mock<IUANodeContext>();\n\n      Mock<IUANodeContext> targetMock = new Mock<IUANodeContext>();\n      targetMock.Setup(x => x.NodeIdContext).Returns(new NodeId(\"ns=1;i=12\"));\n\n      Mock<IAddressSpaceBuildContext> asMock = new Mock<IAddressSpaceBuildContext>();\n      asMock.Setup(x => x.GetOrCreateNodeContext(It.IsAny<NodeId>(), It.IsAny<Func<NodeId, IUANodeContext>>())).Returns(typeMock.Object);\n      asMock.Setup(x => x.GetOrCreateNodeContext(It.Is<NodeId>(z => z == reference.ValueNodeId), It.IsAny<Func<NodeId, IUANodeContext>>())).Returns(targetMock.Object);\n\n      Mock<IUANodeContext> sourceMock = new Mock<IUANodeContext>();\n      sourceMock.Setup(x => x.NodeIdContext).Returns(NodeId.Parse(\"ns=1;i=1\"));\n\n      UAReferenceContext instance2Test = new UAReferenceContext(reference, asMock.Object, sourceMock.Object);\n\n      Assert.IsFalse(instance2Test.IsForward);\n      targetMock.Setup(z => z.BuildSymbolicId(It.Is<List<string>>(x => CreatePathFixture(x))));\n      List<string> path = new List<string>();\n      instance2Test.BuildSymbolicId(path);\n      targetMock.Verify(z => z.BuildSymbolicId(It.IsAny<List<string>>()), Times.Once);\n      sourceMock.Verify(z => z.BuildSymbolicId(It.IsAny<List<string>>()), Times.Never);\n      typeMock.Verify(z => z.BuildSymbolicId(It.IsAny<List<string>>()), Times.Never);\n      Assert.AreEqual<int>(2, path.Count);\n    }\n\n    [TestMethod]\n    public void ChildConnector()\n    {\n      XML.Reference reference = new XML.Reference() { IsForward = false, ReferenceType = ReferenceTypeIds.HasOrderedComponent.ToString(), Value = \"ns=1;i=11\" };\n      reference.RecalculateNodeIds(x => NodeId.Parse(x));\n      Mock<IUANodeContext> typeMock = new Mock<IUANodeContext>();\n      typeMock.Setup(x => x.NodeIdContext).Returns(ReferenceTypeIds.HasOrderedComponent);\n\n      Mock<IUANodeContext> sourceMock = new Mock<IUANodeContext>();\n\n      Mock<IAddressSpaceBuildContext> asMock = new Mock<IAddressSpaceBuildContext>();\n      asMock.Setup(x => x.GetBaseTypes(It.IsAny<IUANodeContext>(), It.Is<List<IUANodeContext>>(z => ListContainingAggregatesTypesFixture(z))));\n      asMock.Setup(x => x.GetOrCreateNodeContext(It.Is<NodeId>(v => v == reference.ReferenceTypeNodeid), It.IsAny<Func<NodeId, IUANodeContext>>())).Returns(typeMock.Object);\n\n      UAReferenceContext instance2Test = new UAReferenceContext(reference, asMock.Object, sourceMock.Object);\n      Assert.IsTrue(instance2Test.ChildConnector);\n      //asMock.Verify(x => x.GetBaseTypes(It.IsAny<IUANodeContext>(), It.Is<List<IUANodeContext>>(z => ListContainingAggregatesTypesFixture(z))), Times.Once);\n    }\n\n    private bool ListContainingAggregatesTypesFixture(List<IUANodeContext> references)\n    {\n      Assert.AreEqual<int>(0, references.Count);\n      Mock<IUANodeContext> node1 = new Mock<IUANodeContext>();\n      references.Add(node1.Object);\n      references.Add(node1.Object);\n      references.Add(node1.Object);\n      Mock<IUANodeContext> node2 = new Mock<IUANodeContext>();\n      node2.Setup(x => x.NodeIdContext).Returns(ReferenceTypeIds.HasComponent);\n      references.Add(node2.Object);\n      Mock<IUANodeContext> node3 = new Mock<IUANodeContext>();\n      references.Add(node3.Object);\n      references.Add(node3.Object);\n      references.Add(node3.Object);\n      references.Add(node1.Object);\n      references.Add(node1.Object);\n      return true;\n    }\n\n    private bool CreatePathFixture(List<string> z)\n    {\n      z.Add(\"2P8ZkTA2Ccahvs\");\n      z.Add(\"bLAsL6DSp1Ow5d\");\n      return true;\n    }\n  }\n}"
  },
  {
    "path": "SemanticData/Tests/USNodeSetValidationUnitTestProject/ValidatorUnitTest.cs",
    "content": "﻿//__________________________________________________________________________________________________\n//\n//  Copyright (C) 2022, Mariusz Postol LODZ POLAND.\n//\n//  To be in touch join the community at GitHub: https://github.com/mpostol/OPC-UA-OOI/discussions\n//__________________________________________________________________________________________________\n\nusing Microsoft.VisualStudio.TestTools.UnitTesting;\nusing Moq;\nusing System.Collections.Generic;\nusing UAOOI.SemanticData.BuildingErrorsHandling;\nusing UAOOI.SemanticData.InformationModelFactory;\nusing UAOOI.SemanticData.UANodeSetValidation.Diagnostic;\nusing UAOOI.SemanticData.UANodeSetValidation.XML;\n\nnamespace UAOOI.SemanticData.UANodeSetValidation\n{\n  [TestClass]\n  public class ValidatorUnitTest\n  {\n    [TestMethod]\n    public void ConstructorTest()\n    {\n      Mock<IAddressSpaceBuildContext> addressSpaceBuildContextMock = new Mock<IAddressSpaceBuildContext>();\n      Mock<IBuildErrorsHandling> buildErrorsHandlingNock = new Mock<IBuildErrorsHandling>();\n      Validator _i2t = new Validator(addressSpaceBuildContextMock.Object, buildErrorsHandlingNock.Object);\n    }\n\n    [TestMethod]\n    public void UAMethodTest()\n    {\n      //TODO The exported model doesn't contain all nodes #653\n      //Assert.Inconclusive(\"The exported model doesn't contain all nodes #653\");\n\n      Mock<IAddressSpaceBuildContext> addressSpaceBuildContextMock = new Mock<IAddressSpaceBuildContext>();\n      Mock<IBuildErrorsHandling> buildErrorsHandlingNock = new Mock<IBuildErrorsHandling>();\n      Validator _i2t = new Validator(addressSpaceBuildContextMock.Object, buildErrorsHandlingNock.Object);\n      UAVariable inputParameter = new UAVariable()\n      {\n        NodeId = \"ns=2;i=1031\",\n        BrowseName = \"InputArguments\",\n        ParentNodeId = \"ns=2;i=7001\",\n        DataType = \"i=296\",\n        ValueRank = 1,\n        ArrayDimensions = \"0\",\n        DisplayName = new LocalizedText[] { new LocalizedText() { Value = \"InputArguments\" } },\n        Description = new LocalizedText[] { new LocalizedText() { Value = \"the definition of the input argument of method 1:MethodSet.2:Start\" } },\n\n        References = new Reference[]\n        {\n          new Reference() { ReferenceType= \"i=46\", IsForward=false, Value = \"ns=2;i=7001\" }\n        }\n      };\n      UAMethod method = new UAMethod()\n      {\n        NodeId = \"ns=2;i=7001\",\n        BrowseName = \"2:Start\",\n        ParentNodeId = \"ns=2;i=5002\",\n        DisplayName = new LocalizedText[] { new LocalizedText() { Value = \"Start\" } },\n        References = new Reference[] { }\n      };\n      List<TraceMessage> traceBuffer = new List<TraceMessage>();\n      UANodeContext nodeContext = new UANodeContext(DataSerialization.NodeId.Parse(method.NodeId), addressSpaceBuildContextMock.Object, x => traceBuffer.Add(x));\n      nodeContext.Update(method, x => { });\n      Mock<INodeContainer> nodeContainerMock = new Mock<INodeContainer>();\n      Mock<IMethodInstanceFactory> methodInstanceFactory = new Mock<IMethodInstanceFactory>();\n      nodeContainerMock.Setup(x => x.AddNodeFactory<IMethodInstanceFactory>()).Returns(methodInstanceFactory.Object);\n      //TODO UANodeSetValidation.Extensions.GetObject - object reference not set #624\n      Assert.Inconclusive(\"UANodeSetValidation.Extensions.GetObject - object reference not set #624\");\n      _i2t.ValidateExportNode(nodeContext, null, nodeContainerMock.Object,  z => { });\n      Assert.AreEqual<int>(0, traceBuffer.Count);\n    }\n  }\n}"
  },
  {
    "path": "SemanticData/Tests/USNodeSetValidationUnitTestProject/XML/UAModelContextUnitTest.cs",
    "content": "﻿//__________________________________________________________________________________________________\n//\n//  Copyright (C) 2022, Mariusz Postol LODZ POLAND.\n//\n//  To be in touch join the community at GitHub: https://github.com/mpostol/OPC-UA-OOI/discussions\n//__________________________________________________________________________________________________\n\nusing Microsoft.VisualStudio.TestTools.UnitTesting;\nusing Moq;\nusing System;\nusing System.Collections.Generic;\nusing System.Diagnostics;\nusing UAOOI.SemanticData.AddressSpace.Abstractions;\nusing UAOOI.SemanticData.BuildingErrorsHandling;\nusing UAOOI.SemanticData.UANodeSetValidation.DataSerialization;\nusing UAOOI.SemanticData.UANodeSetValidation.UAInformationModel;\nusing UAOOI.SemanticData.UANodeSetValidation.UnitTest.Helpers;\n\nnamespace UAOOI.SemanticData.UANodeSetValidation.XML\n{\n  [TestClass]\n  public class UAModelContextUnitTest\n  {\n    [TestMethod]\n    public void ParseUANodeSetModelHeaderTest()\n    {\n      UANodeSet nodeSet = TestData.CreateNodeSetModel();\n      Assert.IsNotNull(nodeSet);\n      Mock<INamespaceTable> nsMock = new Mock<INamespaceTable>();\n      List<TraceMessage> trace = new List<TraceMessage>();\n      Action<TraceMessage> logMock = z => trace.Add(z);\n      Assert.ThrowsException<ArgumentNullException>(() => UAModelContext.ParseUANodeSetModelHeader(null, nsMock.Object, logMock));\n      Assert.AreEqual<int>(0, trace.Count);\n      Assert.ThrowsException<ArgumentNullException>(() => UAModelContext.ParseUANodeSetModelHeader(nodeSet, null, logMock));\n      Assert.AreEqual<int>(0, trace.Count);\n      Assert.ThrowsException<ArgumentNullException>(() => UAModelContext.ParseUANodeSetModelHeader(nodeSet, nsMock.Object, null));\n      Assert.AreEqual<int>(0, trace.Count);\n      UAModelContext modelContext = UAModelContext.ParseUANodeSetModelHeader(nodeSet, nsMock.Object, logMock);\n      Assert.IsNotNull(modelContext);\n      Assert.AreEqual<int>(1, trace.Count);\n      Assert.AreEqual<string>(\"P0-0001030000\", trace[0].BuildError.Identifier);\n    }\n\n    [TestMethod]\n    public void ImportNodeIdTest()\n    {\n      IUANodeSetModelHeader nodeSet = new UANodeSet\n      {\n        Aliases = new NodeIdAlias[] {\n          new NodeIdAlias() { Alias = \"HasSubtype\", Value = \"i=45\" },\n          new NodeIdAlias() { Alias = \"Boolean\", Value = \"ns=1;i=1\" } },\n        NamespaceUris = new string[] { \"http://cas.eu/UA/CommServer/UnitTests/ObjectTypeTest\" },\n      };\n      Mock<INamespaceTable> asMock = new Mock<INamespaceTable>();\n      asMock.Setup(x => x.GetURIIndexOrAppend(new Uri(\"http://cas.eu/UA/CommServer/UnitTests/ObjectTypeTest\"))).Returns(10);\n      Uri randomURI = null;\n      asMock.Setup(x => x.GetURIIndexOrAppend(It.Is<Uri>(z => z.ToString().Contains(\"github.com/mpostol/OPC-UA-OOI/NameUnknown\")))).Returns<Uri>(x => { randomURI = x; return 20; });\n      asMock.Setup(x => x.RegisterModel(It.IsAny<IModelTableEntry>()));\n      List<TraceMessage> trace = new List<TraceMessage>();\n      Action<TraceMessage> logMock = z => trace.Add(z);\n      UAModelContext _modelContext = UAModelContext.ParseUANodeSetModelHeader(nodeSet, asMock.Object, logMock);\n      //start testing\n      asMock.Verify(x => x.RegisterModel(It.IsAny<IModelTableEntry>()), Times.Once);\n      Assert.AreEqual<string>(\"ns=10;i=1\", _modelContext.ImportNodeId(\"Boolean\", x => Assert.Fail()).ToString());\n      Assert.AreEqual<string>(\"i=45\", _modelContext.ImportNodeId(\"HasSubtype\", x => Assert.Fail()).ToString());\n      Assert.AreEqual<string>(\"ns=20;i=2\", _modelContext.ImportNodeId(\"ns=2;i=2\", x => Assert.Fail()).ToString());\n      asMock.Verify(x => x.GetURIIndexOrAppend(new Uri(\"http://cas.eu/UA/CommServer/UnitTests/ObjectTypeTest\")), Times.Once);\n      asMock.Verify(x => x.GetURIIndexOrAppend(randomURI), Times.Once);\n      asMock.Verify(x => x.RegisterModel(It.IsAny<IModelTableEntry>()), Times.Once);\n      Assert.AreEqual<string>(\"ns=20;i=3\", _modelContext.ImportNodeId(\"ns=2;i=3\", x => Assert.Fail()).ToString());\n      asMock.Verify(x => x.GetURIIndexOrAppend(randomURI), Times.Exactly(2));\n      Assert.AreEqual<string>(\"ns=20;i=4\", _modelContext.ImportNodeId(\"ns=2;i=4\", x => Assert.Fail()).ToString());\n      asMock.Verify(x => x.GetURIIndexOrAppend(randomURI), Times.Exactly(3));\n      asMock.Verify(x => x.GetURIIndexOrAppend(new Uri(\"http://cas.eu/UA/CommServer/UnitTests/ObjectTypeTest\")), Times.Once);\n      Assert.AreEqual<int>(2, trace.Count);\n      Assert.IsTrue(trace[0].Message.Contains(\"http://cas.eu/UA/CommServer/UnitTests/ObjectTypeTest\"));\n      Assert.AreEqual<string>(\"P0-0001030000\", trace[0].BuildError.Identifier);\n      Assert.AreEqual<TraceEventType>(TraceEventType.Warning, trace[0].TraceLevel);\n      Assert.IsTrue(trace[1].Message.Contains(randomURI.ToString()));\n      Assert.AreEqual<string>(\"P3-0802020000\", trace[1].BuildError.Identifier);\n      Assert.AreEqual<TraceEventType>(TraceEventType.Warning, trace[1].TraceLevel);\n    }\n\n    [TestMethod]\n    public void ImportQualifiedNameTest()\n    {\n      IUANodeSetModelHeader nodeSet = new UANodeSet\n      {\n        Aliases = new NodeIdAlias[] { new NodeIdAlias() { Alias = \"HasSubtype\", Value = \"i=45\" }, new NodeIdAlias() { Alias = \"Boolean\", Value = \"ns=1;i=1\" } },\n        NamespaceUris = new string[] { \"http://cas.eu/UA/CommServer/UnitTests/ObjectTypeTest\" },\n        Models = new ModelTableEntry[] { new ModelTableEntry() { ModelUri = \"http://cas.eu/UA/CommServer/UnitTests/ObjectTypeTest\" } }\n      };\n      Mock<INamespaceTable> asMock = new Mock<INamespaceTable>();\n      asMock.Setup(x => x.GetURIIndexOrAppend(new Uri(\"http://cas.eu/UA/CommServer/UnitTests/ObjectTypeTest\"))).Returns(10);\n      asMock.Setup(x => x.RegisterModel(It.IsAny<IModelTableEntry>()));\n      Action<TraceMessage> logMock = z => Assert.Fail();\n      UAModelContext modelContext = UAModelContext.ParseUANodeSetModelHeader(nodeSet, asMock.Object, logMock);\n      Assert.AreEqual<string>(\"(10:Boolean, ns=10;i=1)\", modelContext.ImportBrowseName(\"1:Boolean\", \"ns=1;i=1\", x => Assert.Fail()).ToString());\n      Assert.AreEqual<string>(\"(10:AnyText, ns=10;i=1)\", modelContext.ImportBrowseName(\"1:AnyText\", \"ns=1;i=1\", x => Assert.Fail()).ToString());\n      Assert.AreEqual<string>(\"(10:HasSubtype, ns=10;i=1)\", modelContext.ImportBrowseName(\"1:HasSubtype\", \"ns=1;i=1\", x => Assert.Fail()).ToString());\n      Assert.AreEqual<string>(\"ns=10;i=232323\", modelContext.ImportNodeId(\"ns=1;i=232323\", x => Assert.Fail()).ToString());\n      asMock.Verify(x => x.GetURIIndexOrAppend(new Uri(\"http://cas.eu/UA/CommServer/UnitTests/ObjectTypeTest\")), Times.Exactly(7));\n      asMock.Verify(x => x.RegisterModel(It.IsAny<IModelTableEntry>()), Times.Once);\n    }\n\n    [TestMethod]\n    public void ImportQualifiedNameWrongNamespaceIndexTest()\n    {\n      IUANodeSetModelHeader nodeSet = new UANodeSet\n      {\n        Aliases = new NodeIdAlias[] { new NodeIdAlias() { Alias = \"HasSubtype\", Value = \"i=45\" }, new NodeIdAlias() { Alias = \"Boolean\", Value = \"ns=1;i=1\" } },\n        NamespaceUris = new string[] { \"http://cas.eu/UA/CommServer/UnitTests/ObjectTypeTest\" },\n        Models = new ModelTableEntry[] { new ModelTableEntry() { ModelUri = \"http://cas.eu/UA/CommServer/UnitTests/ObjectTypeTest\" } }\n      };\n      Mock<INamespaceTable> asMock = new Mock<INamespaceTable>();\n      asMock.Setup(x => x.GetURIIndexOrAppend(new Uri(\"http://cas.eu/UA/CommServer/UnitTests/ObjectTypeTest\"))).Returns(10);\n      Uri randomURI = null;\n      asMock.Setup(x => x.GetURIIndexOrAppend(It.Is<Uri>(z => z.ToString().Contains(\"github.com/mpostol/OPC-UA-OOI/NameUnknown\")))).Returns<Uri>(x => { randomURI = x; return 20; });\n      List<TraceMessage> trace = new List<TraceMessage>();\n      Action<TraceMessage> logMock = z => trace.Add(z);\n      UAModelContext _modelContext = UAModelContext.ParseUANodeSetModelHeader(nodeSet, asMock.Object, logMock);\n      Assert.AreEqual<string>(\"ns=20;i=232323\", _modelContext.ImportNodeId(\"ns=2;i=232323\", y => Assert.Fail()).ToString());\n      asMock.Verify(x => x.GetURIIndexOrAppend(new Uri(\"http://cas.eu/UA/CommServer/UnitTests/ObjectTypeTest\")), Times.Never);\n      asMock.Verify(x => x.GetURIIndexOrAppend(randomURI), Times.Once);\n      Assert.AreEqual<int>(1, trace.Count);\n      Assert.IsTrue(trace[0].Message.Contains(randomURI.ToString()));\n      Assert.AreEqual<string>(\"P3-0802020000\", trace[0].BuildError.Identifier);\n      Assert.AreEqual<TraceEventType>(TraceEventType.Warning, trace[0].TraceLevel);\n    }\n\n    [TestMethod]\n    public void DefaultUriUriTest()\n    {\n      IUANodeSetModelHeader nodeSet = new UANodeSet\n      {\n        Aliases = new NodeIdAlias[] { new NodeIdAlias() { Alias = \"HasSubtype\", Value = \"i=45\" }, new NodeIdAlias() { Alias = \"Boolean\", Value = \"ns=1;i=1\" } },\n        NamespaceUris = new string[] { \"http://cas.eu/UA/CommServer/UnitTests/ObjectTypeTest\" },\n        Models = new ModelTableEntry[] { new ModelTableEntry() { ModelUri = \"http://cas.eu/UA/CommServer/UnitTests/ObjectTypeTest\" } }\n      };\n      Mock<INamespaceTable> asMock = new Mock<INamespaceTable>();\n      asMock.Setup<ushort>(x => x.GetURIIndexOrAppend(It.IsAny<Uri>())).Returns(10);\n      Action<TraceMessage> logMock = z => Assert.Fail();\n      UAModelContext _modelContext = UAModelContext.ParseUANodeSetModelHeader(nodeSet, asMock.Object, logMock);\n      Assert.AreEqual<string>(nodeSet.NamespaceUris[0], _modelContext.DefaultUri.ToString());\n    }\n\n    [TestMethod]\n    public void ModelUriModelsIsEmptyTest()\n    {\n      IUANodeSetModelHeader nodeSet = new UANodeSet\n      {\n        Aliases = new NodeIdAlias[] { new NodeIdAlias() { Alias = \"HasSubtype\", Value = \"i=45\" }, new NodeIdAlias() { Alias = \"Boolean\", Value = \"ns=1;i=1\" } },\n        NamespaceUris = new string[] { \"http://opcfoundation.org/UA/ADI/\", \"http://opcfoundation.org/UA/DI/\" },\n      };\n      Mock<INamespaceTable> asMock = new Mock<INamespaceTable>();\n      asMock.Setup(x => x.GetURIIndexOrAppend(It.IsAny<Uri>())).Returns(10);\n      asMock.Setup(x => x.RegisterModel(It.IsAny<IModelTableEntry>()));\n      List<TraceMessage> trace = new List<TraceMessage>();\n      Action<TraceMessage> logMock = z => trace.Add(z);\n      UAModelContext _modelContext = UAModelContext.ParseUANodeSetModelHeader(nodeSet, asMock.Object, logMock);\n      Assert.IsNull(nodeSet.Models);\n      //Assert.AreEqual<string>(\"http://opcfoundation.org/UA/ADI/\", _modelContext.ModelUri.ToString());\n      Assert.AreEqual<int>(1, trace.Count);\n      Assert.AreEqual<string>(\"P0-0001030000\", trace[0].BuildError.Identifier);\n      Assert.AreEqual<TraceEventType>(TraceEventType.Warning, trace[0].TraceLevel);\n      asMock.Verify(x => x.RegisterModel(It.IsAny<IModelTableEntry>()), Times.Once);\n    }\n\n    [TestMethod]\n    public void RecalculateNodeIdsUANodeSetTest()\n    {\n      UANodeSet nodeSet = new UANodeSet()\n      {\n        NamespaceUris = new string[] { @\"http://cas.eu/UA/Demo/\" },\n        Aliases = new NodeIdAlias[] { new NodeIdAlias() { Alias = \"Alias name\", Value = \"ns=1;i=24\" } },\n        Items = new UANode[] { new UAObject()\n              {\n                NodeId = \"Alias name\",\n                BrowseName = \"1:NewUAObject\",\n                DisplayName = new XML.LocalizedText[] { new XML.LocalizedText() { Value = \"New UA Object\" } },\n                References = new Reference[]\n                {\n                  new Reference() { ReferenceType = ReferenceTypeIds.HasTypeDefinition.ToString(), Value = ObjectTypeIds.BaseObjectType.ToString() },\n                  new Reference() { ReferenceType = ReferenceTypeIds.Organizes.ToString(), IsForward= false, Value = \"i=85\" }\n                },\n                // UAInstance\n                ParentNodeId = string.Empty,\n                // UAObject\n                EventNotifier = 0x01,\n              },\n              new UAVariableType()\n              {\n                NodeId = \"ns=1;i=1\",\n                BrowseName = \"1:NewUAObject\",\n                DisplayName = new XML.LocalizedText[] { new XML.LocalizedText() { Value = \"New UA Object\" } },\n                References = new Reference[]{},\n                // UAObject\n                DataType = \"ns=1;i=2\",\n              }\n        }\n      };\n      Mock<INamespaceTable> addressSpaceMock = new Mock<INamespaceTable>();\n      addressSpaceMock.Setup(x => x.GetURIIndexOrAppend(new Uri(@\"http://cas.eu/UA/Demo/\"))).Returns<Uri>(x => 2);\n      List<TraceMessage> _logsCache = new List<TraceMessage>();\n      Action<TraceMessage> _logMock = z => _logsCache.Add(z);\n      Uri model = nodeSet.ParseUAModelContext(addressSpaceMock.Object, _logMock);\n      Assert.IsNotNull(model);\n      Assert.AreEqual<string>(nodeSet.NamespaceUris[0], model.ToString());\n      addressSpaceMock.Verify(x => x.GetURIIndexOrAppend(new Uri(@\"http://cas.eu/UA/Demo/\")), Times.AtLeastOnce());\n      Assert.AreEqual<string>(\"ns=2;i=24\", nodeSet.Aliases[0].ValueNodeId.ToString());\n      Assert.AreEqual<string>(\"Alias name\", nodeSet.Aliases[0].Alias);\n      Assert.AreEqual<string>(\"ns=2;i=24\", nodeSet.Items[0].GetIUANode().NodeId.ToString());\n      Assert.AreEqual<string>(\"2:NewUAObject\", nodeSet.Items[0].GetIUANode().BrowseName.ToString());\n      Assert.AreEqual<string>(\"ns=2;i=2\", ((IUAVariableType)nodeSet.Items[1]).DataType.ToString());\n      Assert.AreEqual<string>(\"2:NewUAObject\", ((IUAVariableType)nodeSet.Items[1]).BrowseName.ToString());\n    }\n\n    [TestMethod]\n    public void RecalculateNodeIdsTest()\n    {\n      IUANodeSetModelHeader nodeSet = new UANodeSet\n      {\n        Aliases = new NodeIdAlias[] {\n          new NodeIdAlias() { Alias = \"HasSubtype\", Value = \"i=45\" },\n          new NodeIdAlias() { Alias = \"Boolean\", Value = \"ns=1;i=1\" } },\n        NamespaceUris = new string[] { \"http://cas.eu/UA/CommServer/UnitTests/ObjectTypeTest\" },\n        Models = new ModelTableEntry[] { new ModelTableEntry() { ModelUri = \"http://cas.eu/UA/CommServer/UnitTests/ObjectTypeTest\", RequiredModel = null } }\n      };\n      Mock<INamespaceTable> asMock = new Mock<INamespaceTable>();\n      asMock.Setup(x => x.GetURIIndexOrAppend(new Uri(\"http://cas.eu/UA/CommServer/UnitTests/ObjectTypeTest\"))).Returns(10);\n      Uri randomURI = null;\n      asMock.Setup(x => x.GetURIIndexOrAppend(It.Is<Uri>(z => z.ToString().Contains(\"github.com/mpostol/OPC-UA-OOI/NameUnknown\")))).Returns<Uri>(x => { randomURI = x; return 20; });\n      asMock.Setup(x => x.RegisterModel(It.IsAny<IModelTableEntry>()));\n      List<TraceMessage> trace = new List<TraceMessage>();\n      Action<TraceMessage> logMock = z => trace.Add(z);\n      UAModelContext _modelContext = UAModelContext.ParseUANodeSetModelHeader(nodeSet, asMock.Object, logMock);\n      _modelContext.RegisterUAReferenceType(new QualifiedName(\"QualifiedName\", 10));\n      Assert.AreEqual<int>(0, trace.Count);\n      asMock.Verify(x => x.RegisterModel(It.IsAny<IModelTableEntry>()), Times.Once);\n      asMock.Verify(x => x.GetURIIndexOrAppend(new Uri(\"http://cas.eu/UA/CommServer/UnitTests/ObjectTypeTest\")), Times.Never);\n      asMock.Verify(x => x.GetURIIndexOrAppend(It.Is<Uri>(z => z.ToString().Contains(\"github.com/mpostol/OPC-UA-OOI/NameUnknown\"))), Times.Never);\n      _modelContext.RegisterUAReferenceType(new QualifiedName(\"QualifiedName\", 10));\n      Assert.AreEqual<int>(1, trace.Count);\n      Assert.AreEqual<string>(BuildError.DuplicatedReferenceType.Identifier, trace[0].BuildError.Identifier);\n      Assert.AreEqual<string>(\"The BrowseName of a ReferenceType shall be unique.\", trace[0].BuildError.Descriptor);\n      Assert.AreEqual<string>(\"The UAReferenceType duplicated BrowseName=10:QualifiedName. It is not allowed that two different ReferenceTypes have the same BrowseName\", trace[0].Message);\n      Debug.WriteLine(trace[0].ToString());\n    }\n\n    [TestMethod]\n    public void ParseUANodeSetModelHeaderCallBack()\n    {\n      IUANodeSetModelHeader nodeSet = new UANodeSet\n      {\n        Aliases = new NodeIdAlias[] {\n          new NodeIdAlias() { Alias = \"HasSubtype\", Value = \"i=45\" },\n          new NodeIdAlias() { Alias = \"Boolean\", Value = \"ns=1;i=1\" } },\n        NamespaceUris = new string[] { \"http://cas.eu/UA/CommServer/UnitTests/ObjectTypeTest\" },\n        Models = new ModelTableEntry[] { new ModelTableEntry() { ModelUri = \"http://cas.eu/UA/CommServer/UnitTests/ObjectTypeTest\",\n                                                                 RequiredModel = new ModelTableEntry[]{ new ModelTableEntry(){ ModelUri = \"http://a.b.c.com\" } } }\n                                                                }\n      };\n      Mock<INamespaceTable> asMock = new Mock<INamespaceTable>();\n      asMock.Setup(x => x.RegisterModel(It.IsAny<IModelTableEntry>()));\n      List<TraceMessage> trace = new List<TraceMessage>();\n      Action<TraceMessage> logMock = z => trace.Add(z);\n      UAModelContext _modelContext = UAModelContext.ParseUANodeSetModelHeader(nodeSet, asMock.Object, logMock);\n      asMock.Verify(x => x.RegisterModel(It.IsAny<IModelTableEntry>()), Times.Once);\n      Assert.AreEqual<int>(0, trace.Count);\n    }\n\n    /// <summary>\n    /// Gets the default model table entry.\n    /// </summary>\n    /// <param name=\"modelUri\">The model URI.</param>\n    /// <returns>IModelTableEntry.</returns>\n    private static IModelTableEntry GetDefaultModelTableEntry(string modelUri)\n    {\n      return new ModelTableEntry\n      {\n        AccessRestrictions = 0xC,\n        ModelUri = modelUri,\n        PublicationDate = DateTime.UtcNow.Date,\n        PublicationDateSpecified = true,\n        RequiredModel = null,\n        RolePermissions = new XML.RolePermission[] { new XML.RolePermission() },\n        Version = new Version(1, 0).ToString()\n      };\n    }\n  }\n\n  internal static class Conversions\n  {\n    internal static IUANode GetIUANode(this UANode node)\n    {\n      return node;\n    }\n  }\n}"
  },
  {
    "path": "SemanticData/Tests/USNodeSetValidationUnitTestProject/XML/UANodeSetUnitTest.cs",
    "content": "﻿//__________________________________________________________________________________________________\n//\n//  Copyright (C) 2022, Mariusz Postol LODZ POLAND.\n//\n//  To be in touch join the community at GitHub: https://github.com/mpostol/OPC-UA-OOI/discussions\n//__________________________________________________________________________________________________\n\nusing Microsoft.VisualStudio.TestTools.UnitTesting;\nusing Moq;\nusing System;\nusing System.Collections.Generic;\nusing System.IO;\nusing UAOOI.SemanticData.AddressSpace.Abstractions;\nusing UAOOI.SemanticData.BuildingErrorsHandling;\nusing UAOOI.SemanticData.UANodeSetValidation.DataSerialization;\nusing UAOOI.SemanticData.UANodeSetValidation.UAInformationModel;\n\nnamespace UAOOI.SemanticData.UANodeSetValidation.XML\n{\n  [TestClass]\n  [DeploymentItem(@\"XMLModels\\\", @\"XMLModels\\\")]\n  public class UANodeSetUnitTest\n  {\n    #region tests\n\n    [TestMethod]\n    public void OpcUaNodeSet2TestMethod()\n    {\n      FileInfo _testDataFileInfo = new FileInfo(@\"XMLModels\\CorrectModels\\ReferenceTest\\ReferenceTest.NodeSet2.xml\");\n      Assert.IsTrue(_testDataFileInfo.Exists);\n      UANodeSet instance = UANodeSet.ReadModelFile(_testDataFileInfo);\n      Assert.IsNotNull(instance);\n      Assert.IsNotNull(instance.NamespaceUris);\n      Assert.IsNotNull(instance.Models);\n      Mock<INamespaceTable> asbcMock = new Mock<INamespaceTable>();\n      asbcMock.Setup(x => x.GetURIIndexOrAppend(new Uri(@\"http://cas.eu/UA/CommServer/UnitTests/ReferenceTest\"))).Returns(1);\n      List<TraceMessage> trace = new List<TraceMessage>();\n      Uri model = instance.ParseUAModelContext(asbcMock.Object, x => trace.Add(x));\n      Assert.IsNotNull(model);\n      Assert.AreEqual<string>(\"http://cas.eu/UA/CommServer/UnitTests/ReferenceTest\", model.ToString());\n      Assert.AreEqual<int>(0, trace.Count);\n      asbcMock.Verify(x => x.GetURIIndexOrAppend(It.IsAny<Uri>()), Times.Exactly(2));\n    }\n\n    [TestMethod]\n    public void ReadUADefinedTypesTest()\n    {\n      UANodeSet instance = UANodeSet.ReadUADefinedTypes();\n      Assert.IsNotNull(instance);\n      Assert.IsNotNull(instance.NamespaceUris);\n      Assert.IsNotNull(instance.Models);\n      Mock<INamespaceTable> asbcMock = new Mock<INamespaceTable>();\n      asbcMock.Setup(x => x.GetURIIndexOrAppend(It.IsAny<Uri>()));\n      List<TraceMessage> trace = new List<TraceMessage>();\n      Uri model = instance.ParseUAModelContext(asbcMock.Object, x => trace.Add(x));\n      Assert.IsNotNull(model);\n      Assert.AreEqual<string>(\"http://opcfoundation.org/UA/\", model.ToString());\n      Assert.AreEqual<int>(0, trace.Count);\n      asbcMock.Verify(x => x.GetURIIndexOrAppend(It.IsAny<Uri>()), Times.Never);\n    }\n\n    [TestMethod]\n    public void NodeClassEnumTest()\n    {\n      UANode _toTest = new UADataType();\n      Assert.AreEqual<NodeClassEnum>(NodeClassEnum.UADataType, _toTest.NodeClass);\n      _toTest = new UAObject();\n      Assert.AreEqual<NodeClassEnum>(NodeClassEnum.UAObject, _toTest.NodeClass);\n      _toTest = new UAObjectType();\n      Assert.AreEqual<NodeClassEnum>(NodeClassEnum.UAObjectType, _toTest.NodeClass);\n      _toTest = new UAReferenceType();\n      Assert.AreEqual<NodeClassEnum>(NodeClassEnum.UAReferenceType, _toTest.NodeClass);\n      _toTest = new UAVariable();\n      Assert.AreEqual<NodeClassEnum>(NodeClassEnum.UAVariable, _toTest.NodeClass);\n      _toTest = new UAVariableType();\n      Assert.AreEqual<NodeClassEnum>(NodeClassEnum.UAVariableType, _toTest.NodeClass);\n      _toTest = new UAView();\n      Assert.AreEqual<NodeClassEnum>(NodeClassEnum.UAView, _toTest.NodeClass);\n      _toTest = new UAMethod();\n      Assert.AreEqual<NodeClassEnum>(NodeClassEnum.UAMethod, _toTest.NodeClass);\n    }\n\n    [TestMethod]\n    public void RemoveInheritedKeepDifferentValuesTest()\n    {\n      UAObjectType _derived = GetDerivedFromComplexObjectType();\n      UAObjectType _base = GetComplexObjectType();\n      _derived.RemoveInheritedValues(_base);\n      Assert.AreEqual<int>(1, _derived.DisplayName.Length);\n      Assert.AreEqual<string>(\"DerivedFromComplexObjectType\", _derived.DisplayName[0].Value);\n    }\n\n    [TestMethod]\n    public void RemoveInheritedRemoveSameValuesTest()\n    {\n      UAObjectType _derived = GetDerivedFromComplexObjectType();\n      UAObjectType _base = GetDerivedFromComplexObjectType();\n      _derived.RemoveInheritedValues(_base);\n      Assert.IsNull(_derived.DisplayName);\n    }\n\n    [TestMethod]\n    [ExpectedException(typeof(NotImplementedException))]\n    public void EqualsTypesTest()\n    {\n      UANode _derived = GetDerivedFromComplexObjectType();\n      UANode _base = GetDerivedFromComplexObjectType();\n      Assert.IsTrue(_derived.Equals(_base));\n    }\n\n    [TestMethod]\n    public void EqualsInstancesTest()\n    {\n      UAObject _derived = GetInstanceOfDerivedFromComplexObjectType();\n      UAObject _base = GetInstanceOfDerivedFromComplexObjectType();\n      _derived.RecalculateNodeIds(new ModelContextMock(), x => Assert.Fail());\n      _base.RecalculateNodeIds(new ModelContextMock(), x => Assert.Fail());\n      Assert.IsTrue(_derived.Equals(_base));\n    }\n\n    [TestMethod]\n    public void EqualsUAVariableTest()\n    {\n      UAVariable firsNode = new UAVariable()\n      {\n        NodeId = \"ns=1;i=47\",\n        BrowseName = \"EURange\",\n        ParentNodeId = \"ns=1;i=43\",\n        DataType = \"i=884\",\n        DisplayName = new XML.LocalizedText[] { new XML.LocalizedText() { Value = \"EURange\" } }\n      };\n      UAVariable secondNode = new UAVariable()\n      {\n        NodeId = \"i=17568\",\n        BrowseName = \"EURange\",\n        ParentNodeId = \"i=15318\",\n        DataType = \"i=884\",\n        DisplayName = new XML.LocalizedText[] { new XML.LocalizedText() { Value = \"EURange\" } }\n      };\n      firsNode.RecalculateNodeIds(new ModelContextMock(), x => Assert.Fail());\n      secondNode.RecalculateNodeIds(new ModelContextMock(), x => Assert.Fail());\n      Assert.IsTrue(firsNode.Equals(secondNode));\n    }\n\n    [TestMethod]\n    public void NotEqualsInstancesTest()\n    {\n      UAObject firsNode = GetInstanceOfDerivedFromComplexObjectType();\n      UAObject secondNode = GetInstanceOfDerivedFromComplexObjectType2();\n      firsNode.RecalculateNodeIds(new ModelContextMock(), x => Assert.Fail());\n      secondNode.RecalculateNodeIds(new ModelContextMock(), x => Assert.Fail());\n      Assert.IsFalse(firsNode.Equals(secondNode));\n    }\n\n    [TestMethod]\n    public void RecalculateNodeIdsUADataTypeTest()\n    {\n      UADataType _enumeration = new UADataType()\n      {\n        NodeId = \"ns=1;i=11\",\n        BrowseName = \"1:EnumerationDataType\",\n        DisplayName = new LocalizedText[] { new LocalizedText() { Value = \"EnumerationDataType\" } },\n        References = new Reference[]\n          {\n            new Reference() {ReferenceType = ReferenceTypeIds.HasProperty.ToString(), Value=\"ns=1;i=12\", IsForward = true },\n            new Reference() {ReferenceType = ReferenceTypeIds.HasSubtype.ToString(), Value=\"ns=1;i=9\", IsForward = false }\n          },\n        Definition = new DataTypeDefinition()\n        {\n          Name = \"EnumerationDataType\",\n          Field = new DataTypeField[]\n          {\n            new DataTypeField() { Name = \"Field3\", Value = 1 } ,\n            new DataTypeField() { Name = \"Field4\", DataType = \"ns=1;i=24\" }\n          }\n        }\n      };\n      _enumeration.RecalculateNodeIds(new ModelContextMock(), x => Assert.Fail());\n      Assert.AreEqual<string>(\"1:EnumerationDataType\", _enumeration.BrowseName);\n      Assert.AreEqual<string>(\"ns=1;i=11\", _enumeration.NodeId);\n      Assert.IsNotNull(_enumeration.BrowseName);\n      Assert.IsNotNull(_enumeration.GetIUANode().NodeId);\n      Assert.AreEqual<int>(1, _enumeration.GetIUANode().NodeId.NamespaceIndex);\n      Assert.IsTrue(((IUANode)_enumeration).BrowseName.NamespaceIndexSpecified);\n\n      Assert.AreEqual<int>(1, _enumeration.References[0].ValueNodeId.NamespaceIndex);\n      Assert.AreEqual<int>(0, _enumeration.References[0].ReferenceTypeNodeid.NamespaceIndex);\n\n      Assert.AreEqual<int>(1, _enumeration.References[1].ValueNodeId.NamespaceIndex);\n      Assert.AreEqual<int>(0, _enumeration.References[1].ReferenceTypeNodeid.NamespaceIndex);\n\n      Assert.AreEqual<string>(\"i=24\", ((IUADataType)_enumeration).Definition.Field[0].DataTypeNodeId.ToString());\n      Assert.AreEqual<string>(\"ns=1;i=24\", ((IUADataType)_enumeration).Definition.Field[1].DataTypeNodeId.ToString());\n    }\n\n    #endregion tests\n\n    #region test instrumentation\n\n    private class ModelContextMock : IUAModelContext\n    {\n      public Uri ModelUri => throw new NotImplementedException();\n\n      public (QualifiedName browseName, NodeId nodeId) ImportBrowseName(string browseNameText, string nodeIdText, Action<TraceMessage> trace)\n      {\n        return (QualifiedName.Parse(browseNameText), NodeId.Parse(nodeIdText));\n      }\n\n      public NodeId ImportNodeId(string nodeId, Action<TraceMessage> trace)\n      {\n        return NodeId.Parse(nodeId);\n      }\n\n      public void RegisterUAReferenceType(QualifiedName browseName)\n      {\n        throw new NotImplementedException();\n      }\n    }\n\n    private static UAObject GetInstanceOfDerivedFromComplexObjectType()\n    {\n      return new UAObject()\n      {\n        BrowseName = \"1:InstanceOfDerivedFromComplexObjectType\",\n        NodeId = \"ns=1;i=30\",\n        DisplayName = new XML.LocalizedText[] { new XML.LocalizedText() { Value = \"InstanceOfDerivedFromComplexObjectType\" } },\n        References = new XML.Reference[]\n        {\n            new XML.Reference(){ IsForward = true, ReferenceType = \"HasProperty\", Value = \"ns=1;i=32\" }\n        }\n      };\n    }\n\n    private static UAObject GetInstanceOfDerivedFromComplexObjectType2()\n    {\n      return new UAObject()\n      {\n        BrowseName = \"1:InstanceOfDerivedFromComplexObjectType\",\n        NodeId = \"ns=1;i=30\",\n        DisplayName = new XML.LocalizedText[] { new XML.LocalizedText() { Value = \"NewDisplayName\" } },\n        References = new XML.Reference[]\n        {\n            new XML.Reference(){ IsForward = true, ReferenceType = \"HasProperty\", Value = \"ns=1;i=32\" }\n        }\n      };\n    }\n\n    private static UAObjectType GetDerivedFromComplexObjectType()\n    {\n      return new UAObjectType()\n      {\n        NodeId = \"ns=1;i=16\",\n        BrowseName = \"1:DerivedFromComplexObjectType\",\n        DisplayName = new XML.LocalizedText[] { new XML.LocalizedText() { Value = \"DerivedFromComplexObjectType\" } },\n        References = new XML.Reference[]\n        {\n            new XML.Reference(){ IsForward = true, ReferenceType = \"HasSubtype\", Value = \"ns=1;i=25\" }\n        }\n      };\n    }\n\n    private static UAObjectType GetComplexObjectType()\n    {\n      return new UAObjectType()\n      {\n        NodeId = \"ns=1;i=1\",\n        BrowseName = \"1:ComplexObjectType\",\n        DisplayName = new XML.LocalizedText[] { new XML.LocalizedText() { Value = \"ComplexObjectType\" } },\n      };\n    }\n\n    #endregion test instrumentation\n  }\n}"
  },
  {
    "path": "SemanticData/Tests/USNodeSetValidationUnitTestProject/XML/UANodeUnitTest.cs",
    "content": "﻿//__________________________________________________________________________________________________\n//\n//  Copyright (C) 2022, Mariusz Postol LODZ POLAND.\n//\n//  To be in touch join the community at GitHub: https://github.com/mpostol/OPC-UA-OOI/discussions\n//__________________________________________________________________________________________________\n\nusing Microsoft.VisualStudio.TestTools.UnitTesting;\nusing Moq;\nusing System;\nusing UAOOI.SemanticData.AddressSpace.Abstractions;\nusing UAOOI.SemanticData.BuildingErrorsHandling;\nusing UAOOI.SemanticData.UANodeSetValidation.DataSerialization;\nusing UAOOI.SemanticData.UANodeSetValidation.UnitTest.Helpers;\n\nnamespace UAOOI.SemanticData.UANodeSetValidation.XML\n{\n  [TestClass]\n  public class UANodeUnitTest\n  {\n    [TestMethod]\n    public void ModelTableEntryTest()\n    {\n      ModelTableEntry item2Test = new ModelTableEntry()\n      {\n        AccessRestrictions = 0xC,\n        ModelUri = \"http://www.commsvr.com/\",\n        PublicationDate = DateTime.UtcNow.Date,\n        PublicationDateSpecified = false,\n        RequiredModel = null,\n        RolePermissions = null,\n        Version = \"1.04\"\n      };\n      IModelTableEntry itemToCheck = item2Test;\n      Assert.AreEqual<byte>(0xC, itemToCheck.AccessRestrictions);\n      Assert.IsTrue(itemToCheck.ModelUri == new Uri(\"http://www.commsvr.com/\"));\n      Assert.IsFalse(itemToCheck.PublicationDate.HasValue);\n      Assert.ThrowsException<InvalidOperationException>(() => itemToCheck.PublicationDate.Value);\n      Assert.IsNull(itemToCheck.RequiredModel);\n      itemToCheck.Version.CompareTo(new Version(1, 4));\n    }\n\n    [TestMethod]\n    [ExpectedException(typeof(NotImplementedException))]\n    public void UAReferenceTypeEqualsTest()\n    {\n      UAReferenceType _first = TestData.CreateUAReferenceType();\n      UAReferenceType _second = TestData.CreateUAReferenceType();\n      Assert.IsTrue(_first == _second);\n    }\n\n    [TestMethod]\n    public void RecalculateNodeIdsTest()\n    {\n      Mock<IUAModelContext> modelMock = new Mock<IUAModelContext>();\n      modelMock.Setup(x => x.ImportNodeId(It.IsAny<string>(), It.IsAny<Action<TraceMessage>>())).Returns<string, Action<TraceMessage>>((q, w) => NodeId.Parse(q));\n      modelMock.Setup(x => x.ImportBrowseName(It.IsAny<string>(), It.IsAny<string>(), It.IsAny<Action<TraceMessage>>())).Returns<string, string, Action<TraceMessage>>((a, b, c) => (QualifiedName.Parse(a), NodeId.Parse(b)));\n      //modelMock.Setup(x => x.ModelUri);\n      UAObject toTest = TestData.CreateUAObject();\n      toTest.RecalculateNodeIds(modelMock.Object, XML => Assert.Fail());\n      Assert.IsNotNull(toTest.GetIUANode().NodeId);\n      Assert.AreEqual<string>(\"ns=1;i=1\", toTest.GetIUANode().NodeId.ToString());\n      Assert.IsNotNull(((IUANode)toTest).BrowseName);\n      Assert.AreEqual<string>(\"1:NewUAObject\", ((IUANode)toTest).BrowseName.ToString());\n      modelMock.Verify(x => x.ImportBrowseName(It.IsAny<string>(), It.IsAny<string>(), It.IsAny<Action<TraceMessage>>()), Times.Once);\n      modelMock.Verify(x => x.ImportNodeId(It.IsAny<string>(), It.IsAny<Action<TraceMessage>>()), Times.Exactly(5));\n      //modelMock.Verify(x => x.ModelUri, Times.Never);\n\n      Assert.IsNotNull(toTest.References[0].ReferenceTypeNodeid);\n      Assert.IsNotNull(toTest.References[1].ReferenceTypeNodeid);\n      Assert.IsNotNull(toTest.References[0].ValueNodeId);\n      Assert.IsNotNull(toTest.References[1].ValueNodeId);\n      Assert.IsNotNull(toTest.ParentNodeIdNodeId);\n    }\n\n    [TestMethod]\n    public void UANodeEquals()\n    {\n      UANode _first = TestData.CreateUAObject().Recalculate();\n      UANode _second = TestData.CreateUAObject().Recalculate();\n      Assert.AreNotSame(_first, _second); //to make sure we have two objects\n      Assert.IsTrue(_first != null);\n      Assert.IsTrue(null != _first);\n      Assert.IsTrue(_first == _second);\n      Assert.IsTrue(_second == _first);\n    }\n\n    [TestMethod]\n    public void UAInstanceEqualsTest()\n    {\n      UAInstance _first = TestData.CreateUAObject().Recalculate<UAObject>();\n      UAInstance _second = TestData.CreateUAObject().Recalculate<UAObject>();\n      _second.ParentNodeId = System.Guid.NewGuid().ToString();\n      _second.NodeId = System.Guid.NewGuid().ToString();\n      _second.BrowseName = System.Guid.NewGuid().ToString();\n      Assert.IsTrue(_first == _second);\n    }\n\n    [TestMethod]\n    public void UAObjectEqualsTest()\n    {\n      UAObject _first = TestData.CreateUAObject().Recalculate<UAObject>();\n      UAObject _second = TestData.CreateUAObject().Recalculate<UAObject>();\n      _second.EventNotifier ^= _second.EventNotifier;\n      Assert.IsTrue(_first != _second);\n    }\n  }\n}"
  },
  {
    "path": "SemanticData/Tests/USNodeSetValidationUnitTestProject/XMLModels/CorrectModels/DataTypeTest/DataTypeTest.Classes.cs",
    "content": "/* ========================================================================\n * Copyright (c) 2005-2021 The OPC Foundation, Inc. All rights reserved.\n *\n * OPC Foundation MIT License 1.00\n *\n * Permission is hereby granted, free of charge, to any person\n * obtaining a copy of this software and associated documentation\n * files (the \"Software\"), to deal in the Software without\n * restriction, including without limitation the rights to use,\n * copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the\n * Software is furnished to do so, subject to the following\n * conditions:\n *\n * The above copyright notice and this permission notice shall be\n * included in all copies or substantial portions of the Software.\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND,\n * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES\n * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND\n * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT\n * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,\n * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING\n * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR\n * OTHER DEALINGS IN THE SOFTWARE.\n *\n * The complete license agreement can be found here:\n * http://opcfoundation.org/License/MIT/1.00/\n * ======================================================================*/\n\nusing System;\nusing System.Collections.Generic;\nusing System.Text;\nusing System.Xml;\nusing System.Runtime.Serialization;\nusing ;\n\nnamespace DataTypeTest\n{\n}"
  },
  {
    "path": "SemanticData/Tests/USNodeSetValidationUnitTestProject/XMLModels/CorrectModels/DataTypeTest/DataTypeTest.Constants.cs",
    "content": "/* ========================================================================\n * Copyright (c) 2005-2021 The OPC Foundation, Inc. All rights reserved.\n *\n * OPC Foundation MIT License 1.00\n *\n * Permission is hereby granted, free of charge, to any person\n * obtaining a copy of this software and associated documentation\n * files (the \"Software\"), to deal in the Software without\n * restriction, including without limitation the rights to use,\n * copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the\n * Software is furnished to do so, subject to the following\n * conditions:\n *\n * The above copyright notice and this permission notice shall be\n * included in all copies or substantial portions of the Software.\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND,\n * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES\n * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND\n * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT\n * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,\n * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING\n * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR\n * OTHER DEALINGS IN THE SOFTWARE.\n *\n * The complete license agreement can be found here:\n * http://opcfoundation.org/License/MIT/1.00/\n * ======================================================================*/\n\nusing System;\nusing System.Collections.Generic;\nusing System.Text;\nusing System.Reflection;\nusing System.Xml;\nusing System.Runtime.Serialization;\nusing ;\n\nnamespace DataTypeTest\n{\n    #region DataType Identifiers\n    /// <summary>\n    /// A class that declares constants for all DataTypes in the Model Design.\n    /// </summary>\n    /// <exclude />\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"Opc.Ua.ModelCompiler\", \"1.0.0.0\")]\n    public static partial class DataTypes\n    {\n        /// <summary>\n        /// The identifier for the AbstractEnumerationDataType DataType.\n        /// </summary>\n        public const uint AbstractEnumerationDataType = 9;\n\n        /// <summary>\n        /// The identifier for the EnumerationDataType DataType.\n        /// </summary>\n        public const uint EnumerationDataType = 11;\n\n        /// <summary>\n        /// The identifier for the AbstractStructure DataType.\n        /// </summary>\n        public const uint AbstractStructure = 13;\n\n        /// <summary>\n        /// The identifier for the DerivedStructure DataType.\n        /// </summary>\n        public const uint DerivedStructure = 22;\n    }\n    #endregion\n\n    #region Object Identifiers\n    /// <summary>\n    /// A class that declares constants for all Objects in the Model Design.\n    /// </summary>\n    /// <exclude />\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"Opc.Ua.ModelCompiler\", \"1.0.0.0\")]\n    public static partial class Objects\n    {\n        /// <summary>\n        /// The identifier for the AbstractStructure_Encoding_DefaultBinary Object.\n        /// </summary>\n        public const uint AbstractStructure_Encoding_DefaultBinary = 18;\n\n        /// <summary>\n        /// The identifier for the DerivedStructure_Encoding_DefaultBinary Object.\n        /// </summary>\n        public const uint DerivedStructure_Encoding_DefaultBinary = 27;\n\n        /// <summary>\n        /// The identifier for the AbstractStructure_Encoding_DefaultXml Object.\n        /// </summary>\n        public const uint AbstractStructure_Encoding_DefaultXml = 14;\n\n        /// <summary>\n        /// The identifier for the DerivedStructure_Encoding_DefaultXml Object.\n        /// </summary>\n        public const uint DerivedStructure_Encoding_DefaultXml = 23;\n\n        /// <summary>\n        /// The identifier for the AbstractStructure_Encoding_DefaultJson Object.\n        /// </summary>\n        public const uint AbstractStructure_Encoding_DefaultJson = 31;\n\n        /// <summary>\n        /// The identifier for the DerivedStructure_Encoding_DefaultJson Object.\n        /// </summary>\n        public const uint DerivedStructure_Encoding_DefaultJson = 32;\n    }\n    #endregion\n\n    #region Variable Identifiers\n    /// <summary>\n    /// A class that declares constants for all Variables in the Model Design.\n    /// </summary>\n    /// <exclude />\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"Opc.Ua.ModelCompiler\", \"1.0.0.0\")]\n    public static partial class Variables\n    {\n        /// <summary>\n        /// The identifier for the AbstractEnumerationDataType_EnumStrings Variable.\n        /// </summary>\n        public const uint AbstractEnumerationDataType_EnumStrings = 10;\n\n        /// <summary>\n        /// The identifier for the EnumerationDataType_EnumValues Variable.\n        /// </summary>\n        public const uint EnumerationDataType_EnumValues = 12;\n\n        /// <summary>\n        /// The identifier for the cas_BinarySchema Variable.\n        /// </summary>\n        public const uint cas_BinarySchema = 5;\n\n        /// <summary>\n        /// The identifier for the cas_BinarySchema_NamespaceUri Variable.\n        /// </summary>\n        public const uint cas_BinarySchema_NamespaceUri = 7;\n\n        /// <summary>\n        /// The identifier for the cas_BinarySchema_Deprecated Variable.\n        /// </summary>\n        public const uint cas_BinarySchema_Deprecated = 1;\n\n        /// <summary>\n        /// The identifier for the cas_BinarySchema_AbstractStructure Variable.\n        /// </summary>\n        public const uint cas_BinarySchema_AbstractStructure = 19;\n\n        /// <summary>\n        /// The identifier for the cas_BinarySchema_DerivedStructure Variable.\n        /// </summary>\n        public const uint cas_BinarySchema_DerivedStructure = 28;\n\n        /// <summary>\n        /// The identifier for the cas_XmlSchema Variable.\n        /// </summary>\n        public const uint cas_XmlSchema = 2;\n\n        /// <summary>\n        /// The identifier for the cas_XmlSchema_NamespaceUri Variable.\n        /// </summary>\n        public const uint cas_XmlSchema_NamespaceUri = 4;\n\n        /// <summary>\n        /// The identifier for the cas_XmlSchema_Deprecated Variable.\n        /// </summary>\n        public const uint cas_XmlSchema_Deprecated = 8;\n\n        /// <summary>\n        /// The identifier for the cas_XmlSchema_AbstractStructure Variable.\n        /// </summary>\n        public const uint cas_XmlSchema_AbstractStructure = 15;\n\n        /// <summary>\n        /// The identifier for the cas_XmlSchema_DerivedStructure Variable.\n        /// </summary>\n        public const uint cas_XmlSchema_DerivedStructure = 24;\n    }\n    #endregion\n\n    #region DataType Node Identifiers\n    /// <summary>\n    /// A class that declares constants for all DataTypes in the Model Design.\n    /// </summary>\n    /// <exclude />\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"Opc.Ua.ModelCompiler\", \"1.0.0.0\")]\n    public static partial class DataTypeIds\n    {\n        /// <summary>\n        /// The identifier for the AbstractEnumerationDataType DataType.\n        /// </summary>\n        public static readonly ExpandedNodeId AbstractEnumerationDataType = new ExpandedNodeId(DataTypeTest.DataTypes.AbstractEnumerationDataType, DataTypeTest.Namespaces.cas);\n\n        /// <summary>\n        /// The identifier for the EnumerationDataType DataType.\n        /// </summary>\n        public static readonly ExpandedNodeId EnumerationDataType = new ExpandedNodeId(DataTypeTest.DataTypes.EnumerationDataType, DataTypeTest.Namespaces.cas);\n\n        /// <summary>\n        /// The identifier for the AbstractStructure DataType.\n        /// </summary>\n        public static readonly ExpandedNodeId AbstractStructure = new ExpandedNodeId(DataTypeTest.DataTypes.AbstractStructure, DataTypeTest.Namespaces.cas);\n\n        /// <summary>\n        /// The identifier for the DerivedStructure DataType.\n        /// </summary>\n        public static readonly ExpandedNodeId DerivedStructure = new ExpandedNodeId(DataTypeTest.DataTypes.DerivedStructure, DataTypeTest.Namespaces.cas);\n    }\n    #endregion\n\n    #region Object Node Identifiers\n    /// <summary>\n    /// A class that declares constants for all Objects in the Model Design.\n    /// </summary>\n    /// <exclude />\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"Opc.Ua.ModelCompiler\", \"1.0.0.0\")]\n    public static partial class ObjectIds\n    {\n        /// <summary>\n        /// The identifier for the AbstractStructure_Encoding_DefaultBinary Object.\n        /// </summary>\n        public static readonly ExpandedNodeId AbstractStructure_Encoding_DefaultBinary = new ExpandedNodeId(DataTypeTest.Objects.AbstractStructure_Encoding_DefaultBinary, DataTypeTest.Namespaces.cas);\n\n        /// <summary>\n        /// The identifier for the DerivedStructure_Encoding_DefaultBinary Object.\n        /// </summary>\n        public static readonly ExpandedNodeId DerivedStructure_Encoding_DefaultBinary = new ExpandedNodeId(DataTypeTest.Objects.DerivedStructure_Encoding_DefaultBinary, DataTypeTest.Namespaces.cas);\n\n        /// <summary>\n        /// The identifier for the AbstractStructure_Encoding_DefaultXml Object.\n        /// </summary>\n        public static readonly ExpandedNodeId AbstractStructure_Encoding_DefaultXml = new ExpandedNodeId(DataTypeTest.Objects.AbstractStructure_Encoding_DefaultXml, DataTypeTest.Namespaces.cas);\n\n        /// <summary>\n        /// The identifier for the DerivedStructure_Encoding_DefaultXml Object.\n        /// </summary>\n        public static readonly ExpandedNodeId DerivedStructure_Encoding_DefaultXml = new ExpandedNodeId(DataTypeTest.Objects.DerivedStructure_Encoding_DefaultXml, DataTypeTest.Namespaces.cas);\n\n        /// <summary>\n        /// The identifier for the AbstractStructure_Encoding_DefaultJson Object.\n        /// </summary>\n        public static readonly ExpandedNodeId AbstractStructure_Encoding_DefaultJson = new ExpandedNodeId(DataTypeTest.Objects.AbstractStructure_Encoding_DefaultJson, DataTypeTest.Namespaces.cas);\n\n        /// <summary>\n        /// The identifier for the DerivedStructure_Encoding_DefaultJson Object.\n        /// </summary>\n        public static readonly ExpandedNodeId DerivedStructure_Encoding_DefaultJson = new ExpandedNodeId(DataTypeTest.Objects.DerivedStructure_Encoding_DefaultJson, DataTypeTest.Namespaces.cas);\n    }\n    #endregion\n\n    #region Variable Node Identifiers\n    /// <summary>\n    /// A class that declares constants for all Variables in the Model Design.\n    /// </summary>\n    /// <exclude />\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"Opc.Ua.ModelCompiler\", \"1.0.0.0\")]\n    public static partial class VariableIds\n    {\n        /// <summary>\n        /// The identifier for the AbstractEnumerationDataType_EnumStrings Variable.\n        /// </summary>\n        public static readonly ExpandedNodeId AbstractEnumerationDataType_EnumStrings = new ExpandedNodeId(DataTypeTest.Variables.AbstractEnumerationDataType_EnumStrings, DataTypeTest.Namespaces.cas);\n\n        /// <summary>\n        /// The identifier for the EnumerationDataType_EnumValues Variable.\n        /// </summary>\n        public static readonly ExpandedNodeId EnumerationDataType_EnumValues = new ExpandedNodeId(DataTypeTest.Variables.EnumerationDataType_EnumValues, DataTypeTest.Namespaces.cas);\n\n        /// <summary>\n        /// The identifier for the cas_BinarySchema Variable.\n        /// </summary>\n        public static readonly ExpandedNodeId cas_BinarySchema = new ExpandedNodeId(DataTypeTest.Variables.cas_BinarySchema, DataTypeTest.Namespaces.cas);\n\n        /// <summary>\n        /// The identifier for the cas_BinarySchema_NamespaceUri Variable.\n        /// </summary>\n        public static readonly ExpandedNodeId cas_BinarySchema_NamespaceUri = new ExpandedNodeId(DataTypeTest.Variables.cas_BinarySchema_NamespaceUri, DataTypeTest.Namespaces.cas);\n\n        /// <summary>\n        /// The identifier for the cas_BinarySchema_Deprecated Variable.\n        /// </summary>\n        public static readonly ExpandedNodeId cas_BinarySchema_Deprecated = new ExpandedNodeId(DataTypeTest.Variables.cas_BinarySchema_Deprecated, DataTypeTest.Namespaces.cas);\n\n        /// <summary>\n        /// The identifier for the cas_BinarySchema_AbstractStructure Variable.\n        /// </summary>\n        public static readonly ExpandedNodeId cas_BinarySchema_AbstractStructure = new ExpandedNodeId(DataTypeTest.Variables.cas_BinarySchema_AbstractStructure, DataTypeTest.Namespaces.cas);\n\n        /// <summary>\n        /// The identifier for the cas_BinarySchema_DerivedStructure Variable.\n        /// </summary>\n        public static readonly ExpandedNodeId cas_BinarySchema_DerivedStructure = new ExpandedNodeId(DataTypeTest.Variables.cas_BinarySchema_DerivedStructure, DataTypeTest.Namespaces.cas);\n\n        /// <summary>\n        /// The identifier for the cas_XmlSchema Variable.\n        /// </summary>\n        public static readonly ExpandedNodeId cas_XmlSchema = new ExpandedNodeId(DataTypeTest.Variables.cas_XmlSchema, DataTypeTest.Namespaces.cas);\n\n        /// <summary>\n        /// The identifier for the cas_XmlSchema_NamespaceUri Variable.\n        /// </summary>\n        public static readonly ExpandedNodeId cas_XmlSchema_NamespaceUri = new ExpandedNodeId(DataTypeTest.Variables.cas_XmlSchema_NamespaceUri, DataTypeTest.Namespaces.cas);\n\n        /// <summary>\n        /// The identifier for the cas_XmlSchema_Deprecated Variable.\n        /// </summary>\n        public static readonly ExpandedNodeId cas_XmlSchema_Deprecated = new ExpandedNodeId(DataTypeTest.Variables.cas_XmlSchema_Deprecated, DataTypeTest.Namespaces.cas);\n\n        /// <summary>\n        /// The identifier for the cas_XmlSchema_AbstractStructure Variable.\n        /// </summary>\n        public static readonly ExpandedNodeId cas_XmlSchema_AbstractStructure = new ExpandedNodeId(DataTypeTest.Variables.cas_XmlSchema_AbstractStructure, DataTypeTest.Namespaces.cas);\n\n        /// <summary>\n        /// The identifier for the cas_XmlSchema_DerivedStructure Variable.\n        /// </summary>\n        public static readonly ExpandedNodeId cas_XmlSchema_DerivedStructure = new ExpandedNodeId(DataTypeTest.Variables.cas_XmlSchema_DerivedStructure, DataTypeTest.Namespaces.cas);\n    }\n    #endregion\n\n    #region BrowseName Declarations\n    /// <summary>\n    /// Declares all of the BrowseNames used in the Model Design.\n    /// </summary>\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"Opc.Ua.ModelCompiler\", \"1.0.0.0\")]\n    public static partial class BrowseNames\n    {\n        /// <summary>\n        /// The BrowseName for the AbstractEnumerationDataType component.\n        /// </summary>\n        public const string AbstractEnumerationDataType = \"AbstractEnumerationDataType\";\n\n        /// <summary>\n        /// The BrowseName for the AbstractStructure component.\n        /// </summary>\n        public const string AbstractStructure = \"AbstractStructure\";\n\n        /// <summary>\n        /// The BrowseName for the cas_BinarySchema component.\n        /// </summary>\n        public const string cas_BinarySchema = \"DataTypeTest\";\n\n        /// <summary>\n        /// The BrowseName for the cas_XmlSchema component.\n        /// </summary>\n        public const string cas_XmlSchema = \"DataTypeTest\";\n\n        /// <summary>\n        /// The BrowseName for the DerivedStructure component.\n        /// </summary>\n        public const string DerivedStructure = \"DerivedStructure\";\n\n        /// <summary>\n        /// The BrowseName for the EnumerationDataType component.\n        /// </summary>\n        public const string EnumerationDataType = \"EnumerationDataType\";\n    }\n    #endregion\n\n    #region Namespace Declarations\n    /// <summary>\n    /// Defines constants for all namespaces referenced by the model design.\n    /// </summary>\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"Opc.Ua.ModelCompiler\", \"1.0.0.0\")]\n    public static partial class Namespaces\n    {\n        /// <summary>\n        /// The URI for the cas namespace (.NET code namespace is 'DataTypeTest').\n        /// </summary>\n        public const string cas = \"http://cas.eu/UA/CommServer/UnitTests/DataTypeTest\";\n\n        /// <summary>\n        /// The URI for the ua namespace (.NET code namespace is '').\n        /// </summary>\n        public const string ua = \"http://opcfoundation.org/UA/\";\n    }\n    #endregion\n}"
  },
  {
    "path": "SemanticData/Tests/USNodeSetValidationUnitTestProject/XMLModels/CorrectModels/DataTypeTest/DataTypeTest.DataTypes.cs",
    "content": "/* ========================================================================\n * Copyright (c) 2005-2021 The OPC Foundation, Inc. All rights reserved.\n *\n * OPC Foundation MIT License 1.00\n *\n * Permission is hereby granted, free of charge, to any person\n * obtaining a copy of this software and associated documentation\n * files (the \"Software\"), to deal in the Software without\n * restriction, including without limitation the rights to use,\n * copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the\n * Software is furnished to do so, subject to the following\n * conditions:\n *\n * The above copyright notice and this permission notice shall be\n * included in all copies or substantial portions of the Software.\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND,\n * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES\n * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND\n * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT\n * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,\n * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING\n * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR\n * OTHER DEALINGS IN THE SOFTWARE.\n *\n * The complete license agreement can be found here:\n * http://opcfoundation.org/License/MIT/1.00/\n * ======================================================================*/\n\nusing System;\nusing System.Collections.Generic;\nusing System.Text;\nusing System.Xml;\nusing System.Runtime.Serialization;\nusing ;\n\nnamespace DataTypeTest\n{\n    #region AbstractEnumerationDataType Enumeration\n    #if (!OPCUA_EXCLUDE_AbstractEnumerationDataType)\n    /// <summary>\n    /// \n    /// </summary>\n    /// <exclude />\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"Opc.Ua.ModelCompiler\", \"1.0.0.0\")]\n    [DataContract(Namespace = DataTypeTest.Namespaces.cas)]\n    public enum AbstractEnumerationDataType\n    {\n        /// <remarks />\n        [EnumMember(Value = \"Field1_0\")]\n        Field1 = 0,\n\n        /// <remarks />\n        [EnumMember(Value = \"Field2_1\")]\n        Field2 = 1,\n    }\n\n    #region AbstractEnumerationDataTypeCollection Class\n    /// <summary>\n    /// A collection of AbstractEnumerationDataType objects.\n    /// </summary>\n    /// <exclude />\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"Opc.Ua.ModelCompiler\", \"1.0.0.0\")]\n    [CollectionDataContract(Name = \"ListOfAbstractEnumerationDataType\", Namespace = DataTypeTest.Namespaces.cas, ItemName = \"AbstractEnumerationDataType\")]\n    #if !NET_STANDARD\n    public partial class AbstractEnumerationDataTypeCollection : List<AbstractEnumerationDataType>, ICloneable\n    #else\n    public partial class AbstractEnumerationDataTypeCollection : List<AbstractEnumerationDataType>\n    #endif\n    {\n        #region Constructors\n        /// <summary>\n        /// Initializes the collection with default values.\n        /// </summary>\n        public AbstractEnumerationDataTypeCollection() {}\n\n        /// <summary>\n        /// Initializes the collection with an initial capacity.\n        /// </summary>\n        public AbstractEnumerationDataTypeCollection(int capacity) : base(capacity) {}\n\n        /// <summary>\n        /// Initializes the collection with another collection.\n        /// </summary>\n        public AbstractEnumerationDataTypeCollection(IEnumerable<AbstractEnumerationDataType> collection) : base(collection) {}\n        #endregion\n\n        #region Static Operators\n        /// <summary>\n        /// Converts an array to a collection.\n        /// </summary>\n        public static implicit operator AbstractEnumerationDataTypeCollection(AbstractEnumerationDataType[] values)\n        {\n            if (values != null)\n            {\n                return new AbstractEnumerationDataTypeCollection(values);\n            }\n\n            return new AbstractEnumerationDataTypeCollection();\n        }\n\n        /// <summary>\n        /// Converts a collection to an array.\n        /// </summary>\n        public static explicit operator AbstractEnumerationDataType[](AbstractEnumerationDataTypeCollection values)\n        {\n            if (values != null)\n            {\n                return values.ToArray();\n            }\n\n            return null;\n        }\n        #endregion\n\n        #if !NET_STANDARD\n        #region ICloneable Methods\n        /// <summary>\n        /// Creates a deep copy of the collection.\n        /// </summary>\n        public object Clone()\n        {\n            return (AbstractEnumerationDataTypeCollection)this.MemberwiseClone();\n        }\n        #endregion\n        #endif\n\n        /// <summary cref=\"Object.MemberwiseClone\" />\n        public new object MemberwiseClone()\n        {\n            AbstractEnumerationDataTypeCollection clone = new AbstractEnumerationDataTypeCollection(this.Count);\n\n            for (int ii = 0; ii < this.Count; ii++)\n            {\n                clone.Add((AbstractEnumerationDataType)Utils.Clone(this[ii]));\n            }\n\n            return clone;\n        }\n    }\n    #endregion\n    #endif\n    #endregion\n\n    #region EnumerationDataType Enumeration\n    #if (!OPCUA_EXCLUDE_EnumerationDataType)\n    /// <summary>\n    /// Enumeration DataType derived from abstract type\n    /// </summary>\n    /// <exclude />\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"Opc.Ua.ModelCompiler\", \"1.0.0.0\")]\n    [DataContract(Namespace = DataTypeTest.Namespaces.cas)]\n    public enum EnumerationDataType\n    {\n        /// <remarks />\n        [EnumMember(Value = \"Field3_1\")]\n        Field3 = 1,\n    }\n\n    #region EnumerationDataTypeCollection Class\n    /// <summary>\n    /// A collection of EnumerationDataType objects.\n    /// </summary>\n    /// <exclude />\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"Opc.Ua.ModelCompiler\", \"1.0.0.0\")]\n    [CollectionDataContract(Name = \"ListOfEnumerationDataType\", Namespace = DataTypeTest.Namespaces.cas, ItemName = \"EnumerationDataType\")]\n    #if !NET_STANDARD\n    public partial class EnumerationDataTypeCollection : List<EnumerationDataType>, ICloneable\n    #else\n    public partial class EnumerationDataTypeCollection : List<EnumerationDataType>\n    #endif\n    {\n        #region Constructors\n        /// <summary>\n        /// Initializes the collection with default values.\n        /// </summary>\n        public EnumerationDataTypeCollection() {}\n\n        /// <summary>\n        /// Initializes the collection with an initial capacity.\n        /// </summary>\n        public EnumerationDataTypeCollection(int capacity) : base(capacity) {}\n\n        /// <summary>\n        /// Initializes the collection with another collection.\n        /// </summary>\n        public EnumerationDataTypeCollection(IEnumerable<EnumerationDataType> collection) : base(collection) {}\n        #endregion\n\n        #region Static Operators\n        /// <summary>\n        /// Converts an array to a collection.\n        /// </summary>\n        public static implicit operator EnumerationDataTypeCollection(EnumerationDataType[] values)\n        {\n            if (values != null)\n            {\n                return new EnumerationDataTypeCollection(values);\n            }\n\n            return new EnumerationDataTypeCollection();\n        }\n\n        /// <summary>\n        /// Converts a collection to an array.\n        /// </summary>\n        public static explicit operator EnumerationDataType[](EnumerationDataTypeCollection values)\n        {\n            if (values != null)\n            {\n                return values.ToArray();\n            }\n\n            return null;\n        }\n        #endregion\n\n        #if !NET_STANDARD\n        #region ICloneable Methods\n        /// <summary>\n        /// Creates a deep copy of the collection.\n        /// </summary>\n        public object Clone()\n        {\n            return (EnumerationDataTypeCollection)this.MemberwiseClone();\n        }\n        #endregion\n        #endif\n\n        /// <summary cref=\"Object.MemberwiseClone\" />\n        public new object MemberwiseClone()\n        {\n            EnumerationDataTypeCollection clone = new EnumerationDataTypeCollection(this.Count);\n\n            for (int ii = 0; ii < this.Count; ii++)\n            {\n                clone.Add((EnumerationDataType)Utils.Clone(this[ii]));\n            }\n\n            return clone;\n        }\n    }\n    #endregion\n    #endif\n    #endregion\n\n    #region AbstractStructure Class\n    #if (!OPCUA_EXCLUDE_AbstractStructure)\n    /// <summary>\n    /// Abstract structure\n    /// </summary>\n    /// <exclude />\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"Opc.Ua.ModelCompiler\", \"1.0.0.0\")]\n    [DataContract(Namespace = DataTypeTest.Namespaces.cas)]\n    public partial class AbstractStructure : IEncodeable\n    {\n        #region Constructors\n        /// <summary>\n        /// The default constructor.\n        /// </summary>\n        public AbstractStructure()\n        {\n            Initialize();\n        }\n\n        /// <summary>\n        /// Called by the .NET framework during deserialization.\n        /// </summary>\n        [OnDeserializing]\n        private void Initialize(StreamingContext context)\n        {\n            Initialize();\n        }\n\n        /// <summary>\n        /// Sets private members to default values.\n        /// </summary>\n        private void Initialize()\n        {\n            m_number = (double)0;\n        }\n        #endregion\n\n        #region Public Properties\n        /// <remarks />\n        [DataMember(Name = \"Number\", IsRequired = false, Order = 1)]\n        public Variant Number\n        {\n            get { return m_number;  }\n            set { m_number = value; }\n        }\n        #endregion\n\n        #region IEncodeable Members\n        /// <summary cref=\"IEncodeable.TypeId\" />\n        public virtual ExpandedNodeId TypeId\n        {\n            get { return DataTypeIds.AbstractStructure; }\n        }\n\n        /// <summary cref=\"IEncodeable.BinaryEncodingId\" />\n        public virtual ExpandedNodeId BinaryEncodingId\n        {\n            get { return ObjectIds.AbstractStructure_Encoding_DefaultBinary; }\n        }\n\n        /// <summary cref=\"IEncodeable.XmlEncodingId\" />\n        public virtual ExpandedNodeId XmlEncodingId\n        {\n            get { return ObjectIds.AbstractStructure_Encoding_DefaultXml; }\n        }\n\n        /// <summary cref=\"IEncodeable.Encode(IEncoder)\" />\n        public virtual void Encode(IEncoder encoder)\n        {\n            encoder.PushNamespace(DataTypeTest.Namespaces.cas);\n\n            encoder.WriteVariant(\"Number\", Number);\n\n            encoder.PopNamespace();\n        }\n\n        /// <summary cref=\"IEncodeable.Decode(IDecoder)\" />\n        public virtual void Decode(IDecoder decoder)\n        {\n            decoder.PushNamespace(DataTypeTest.Namespaces.cas);\n\n            Number = decoder.ReadVariant(\"Number\");\n\n            decoder.PopNamespace();\n        }\n\n        /// <summary cref=\"IEncodeable.IsEqual(IEncodeable)\" />\n        public virtual bool IsEqual(IEncodeable encodeable)\n        {\n            if (Object.ReferenceEquals(this, encodeable))\n            {\n                return true;\n            }\n\n            AbstractStructure value = encodeable as AbstractStructure;\n\n            if (value == null)\n            {\n                return false;\n            }\n\n            if (!Utils.IsEqual(m_number, value.m_number)) return false;\n\n            return true;\n        }\n\n        #if !NET_STANDARD\n        /// <summary cref=\"ICloneable.Clone\" />\n        public virtual object Clone()\n        {\n            return (AbstractStructure)this.MemberwiseClone();\n        }\n        #endif\n\n        /// <summary cref=\"Object.MemberwiseClone\" />\n        public new object MemberwiseClone()\n        {\n            AbstractStructure clone = (AbstractStructure)base.MemberwiseClone();\n\n            clone.m_number = (Variant)Utils.Clone(this.m_number);\n\n            return clone;\n        }\n        #endregion\n\n        #region Private Fields\n        private Variant m_number;\n        #endregion\n    }\n\n    #region AbstractStructureCollection Class\n    /// <summary>\n    /// A collection of AbstractStructure objects.\n    /// </summary>\n    /// <exclude />\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"Opc.Ua.ModelCompiler\", \"1.0.0.0\")]\n    [CollectionDataContract(Name = \"ListOfAbstractStructure\", Namespace = DataTypeTest.Namespaces.cas, ItemName = \"AbstractStructure\")]\n    #if !NET_STANDARD\n    public partial class AbstractStructureCollection : List<AbstractStructure>, ICloneable\n    #else\n    public partial class AbstractStructureCollection : List<AbstractStructure>\n    #endif\n    {\n        #region Constructors\n        /// <summary>\n        /// Initializes the collection with default values.\n        /// </summary>\n        public AbstractStructureCollection() {}\n\n        /// <summary>\n        /// Initializes the collection with an initial capacity.\n        /// </summary>\n        public AbstractStructureCollection(int capacity) : base(capacity) {}\n\n        /// <summary>\n        /// Initializes the collection with another collection.\n        /// </summary>\n        public AbstractStructureCollection(IEnumerable<AbstractStructure> collection) : base(collection) {}\n        #endregion\n\n        #region Static Operators\n        /// <summary>\n        /// Converts an array to a collection.\n        /// </summary>\n        public static implicit operator AbstractStructureCollection(AbstractStructure[] values)\n        {\n            if (values != null)\n            {\n                return new AbstractStructureCollection(values);\n            }\n\n            return new AbstractStructureCollection();\n        }\n\n        /// <summary>\n        /// Converts a collection to an array.\n        /// </summary>\n        public static explicit operator AbstractStructure[](AbstractStructureCollection values)\n        {\n            if (values != null)\n            {\n                return values.ToArray();\n            }\n\n            return null;\n        }\n        #endregion\n\n        #if !NET_STANDARD\n        #region ICloneable Methods\n        /// <summary>\n        /// Creates a deep copy of the collection.\n        /// </summary>\n        public object Clone()\n        {\n            return (AbstractStructureCollection)this.MemberwiseClone();\n        }\n        #endregion\n        #endif\n\n        /// <summary cref=\"Object.MemberwiseClone\" />\n        public new object MemberwiseClone()\n        {\n            AbstractStructureCollection clone = new AbstractStructureCollection(this.Count);\n\n            for (int ii = 0; ii < this.Count; ii++)\n            {\n                clone.Add((AbstractStructure)Utils.Clone(this[ii]));\n            }\n\n            return clone;\n        }\n    }\n    #endregion\n    #endif\n    #endregion\n\n    #region DerivedStructure Class\n    #if (!OPCUA_EXCLUDE_DerivedStructure)\n    /// <summary>\n    /// \n    /// </summary>\n    /// <exclude />\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"Opc.Ua.ModelCompiler\", \"1.0.0.0\")]\n    [DataContract(Namespace = DataTypeTest.Namespaces.cas)]\n    public partial class DerivedStructure : AbstractStructure\n    {\n        #region Constructors\n        /// <summary>\n        /// The default constructor.\n        /// </summary>\n        public DerivedStructure()\n        {\n            Initialize();\n        }\n\n        /// <summary>\n        /// Called by the .NET framework during deserialization.\n        /// </summary>\n        [OnDeserializing]\n        private void Initialize(StreamingContext context)\n        {\n            Initialize();\n        }\n\n        /// <summary>\n        /// Sets private members to default values.\n        /// </summary>\n        private void Initialize()\n        {\n            m_number = (int)0;\n        }\n        #endregion\n\n        #region Public Properties\n        /// <remarks />\n        [DataMember(Name = \"Number\", IsRequired = false, Order = 1)]\n        public int Number\n        {\n            get { return m_number;  }\n            set { m_number = value; }\n        }\n        #endregion\n\n        #region IEncodeable Members\n        /// <summary cref=\"IEncodeable.TypeId\" />\n        public override ExpandedNodeId TypeId\n        {\n            get { return DataTypeIds.DerivedStructure; }\n        }\n\n        /// <summary cref=\"IEncodeable.BinaryEncodingId\" />\n        public override ExpandedNodeId BinaryEncodingId\n        {\n            get { return ObjectIds.DerivedStructure_Encoding_DefaultBinary; }\n        }\n\n        /// <summary cref=\"IEncodeable.XmlEncodingId\" />\n        public override ExpandedNodeId XmlEncodingId\n        {\n            get { return ObjectIds.DerivedStructure_Encoding_DefaultXml; }\n        }\n\n        /// <summary cref=\"IEncodeable.Encode(IEncoder)\" />\n        public override void Encode(IEncoder encoder)\n        {\n            base.Encode(encoder);\n\n            encoder.PushNamespace(DataTypeTest.Namespaces.cas);\n\n            encoder.WriteInt32(\"Number\", Number);\n\n            encoder.PopNamespace();\n        }\n\n        /// <summary cref=\"IEncodeable.Decode(IDecoder)\" />\n        public override void Decode(IDecoder decoder)\n        {\n            base.Decode(decoder);\n\n            decoder.PushNamespace(DataTypeTest.Namespaces.cas);\n\n            Number = decoder.ReadInt32(\"Number\");\n\n            decoder.PopNamespace();\n        }\n\n        /// <summary cref=\"IEncodeable.IsEqual(IEncodeable)\" />\n        public override bool IsEqual(IEncodeable encodeable)\n        {\n            if (Object.ReferenceEquals(this, encodeable))\n            {\n                return true;\n            }\n\n            DerivedStructure value = encodeable as DerivedStructure;\n\n            if (value == null)\n            {\n                return false;\n            }\n\n            if (!base.IsEqual(encodeable)) return false;\n            if (!Utils.IsEqual(m_number, value.m_number)) return false;\n\n            return true;\n        }    \n\n        #if !NET_STANDARD\n        /// <summary cref=\"ICloneable.Clone\" />\n        public override object Clone()\n        {\n            return (DerivedStructure)this.MemberwiseClone();\n        }\n        #endif\n\n        /// <summary cref=\"Object.MemberwiseClone\" />\n        public new object MemberwiseClone()\n        {\n            DerivedStructure clone = (DerivedStructure)base.MemberwiseClone();\n\n            clone.m_number = (int)Utils.Clone(this.m_number);\n\n            return clone;\n        }\n        #endregion\n\n        #region Private Fields\n        private int m_number;\n        #endregion\n    }\n\n    #region DerivedStructureCollection Class\n    /// <summary>\n    /// A collection of DerivedStructure objects.\n    /// </summary>\n    /// <exclude />\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"Opc.Ua.ModelCompiler\", \"1.0.0.0\")]\n    [CollectionDataContract(Name = \"ListOfDerivedStructure\", Namespace = DataTypeTest.Namespaces.cas, ItemName = \"DerivedStructure\")]\n    #if !NET_STANDARD\n    public partial class DerivedStructureCollection : List<DerivedStructure>, ICloneable\n    #else\n    public partial class DerivedStructureCollection : List<DerivedStructure>\n    #endif\n    {\n        #region Constructors\n        /// <summary>\n        /// Initializes the collection with default values.\n        /// </summary>\n        public DerivedStructureCollection() {}\n\n        /// <summary>\n        /// Initializes the collection with an initial capacity.\n        /// </summary>\n        public DerivedStructureCollection(int capacity) : base(capacity) {}\n\n        /// <summary>\n        /// Initializes the collection with another collection.\n        /// </summary>\n        public DerivedStructureCollection(IEnumerable<DerivedStructure> collection) : base(collection) {}\n        #endregion\n\n        #region Static Operators\n        /// <summary>\n        /// Converts an array to a collection.\n        /// </summary>\n        public static implicit operator DerivedStructureCollection(DerivedStructure[] values)\n        {\n            if (values != null)\n            {\n                return new DerivedStructureCollection(values);\n            }\n\n            return new DerivedStructureCollection();\n        }\n\n        /// <summary>\n        /// Converts a collection to an array.\n        /// </summary>\n        public static explicit operator DerivedStructure[](DerivedStructureCollection values)\n        {\n            if (values != null)\n            {\n                return values.ToArray();\n            }\n\n            return null;\n        }\n        #endregion\n\n        #if !NET_STANDARD\n        #region ICloneable Methods\n        /// <summary>\n        /// Creates a deep copy of the collection.\n        /// </summary>\n        public object Clone()\n        {\n            return (DerivedStructureCollection)this.MemberwiseClone();\n        }\n        #endregion\n        #endif\n\n        /// <summary cref=\"Object.MemberwiseClone\" />\n        public new object MemberwiseClone()\n        {\n            DerivedStructureCollection clone = new DerivedStructureCollection(this.Count);\n\n            for (int ii = 0; ii < this.Count; ii++)\n            {\n                clone.Add((DerivedStructure)Utils.Clone(this[ii]));\n            }\n\n            return clone;\n        }\n    }\n    #endregion\n    #endif\n    #endregion\n}"
  },
  {
    "path": "SemanticData/Tests/USNodeSetValidationUnitTestProject/XMLModels/CorrectModels/DataTypeTest/DataTypeTest.NodeIds.csv",
    "content": "AbstractEnumerationDataType,9,DataType\nAbstractStructure,13,DataType\nAbstractStructure_Encoding_DefaultBinary,18,Object\nAbstractStructure_Encoding_DefaultJson,31,Object\nAbstractStructure_Encoding_DefaultXml,14,Object\ncas_BinarySchema,5,Variable\ncas_XmlSchema,2,Variable\nDerivedStructure,22,DataType\nDerivedStructure_Encoding_DefaultBinary,27,Object\nDerivedStructure_Encoding_DefaultJson,32,Object\nDerivedStructure_Encoding_DefaultXml,23,Object\nEnumerationDataType,11,DataType\n"
  },
  {
    "path": "SemanticData/Tests/USNodeSetValidationUnitTestProject/XMLModels/CorrectModels/DataTypeTest/DataTypeTest.NodeSet.xml",
    "content": "﻿<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<NodeSet xmlns:i=\"http://www.w3.org/2001/XMLSchema-instance\" xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n  <NamespaceUris>\n    <String>http://opcfoundation.org/UA/</String>\n    <String>http://cas.eu/UA/CommServer/UnitTests/DataTypeTest</String>\n  </NamespaceUris>\n  <ServerUris />\n  <Nodes>\n    <Node i:type=\"VariableNode\">\n      <NodeId>\n        <Identifier>ns=1;i=1</Identifier>\n      </NodeId>\n      <NodeClass>Variable_2</NodeClass>\n      <BrowseName>\n        <NamespaceIndex>0</NamespaceIndex>\n        <Name>Deprecated</Name>\n      </BrowseName>\n      <DisplayName>\n        <Locale></Locale>\n        <Text>Deprecated</Text>\n      </DisplayName>\n      <Description i:nil=\"true\" />\n      <WriteMask>0</WriteMask>\n      <UserWriteMask>0</UserWriteMask>\n      <RolePermissions />\n      <UserRolePermissions />\n      <AccessRestrictions>0</AccessRestrictions>\n      <References>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=46</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>true</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=5</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=40</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>i=68</Identifier>\n          </TargetId>\n        </ReferenceNode>\n      </References>\n      <Value>\n        <Value>\n          <Boolean xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">true</Boolean>\n        </Value>\n      </Value>\n      <DataType>\n        <Identifier>i=1</Identifier>\n      </DataType>\n      <ValueRank>-1</ValueRank>\n      <ArrayDimensions />\n      <AccessLevel>1</AccessLevel>\n      <UserAccessLevel>1</UserAccessLevel>\n      <MinimumSamplingInterval>0</MinimumSamplingInterval>\n      <Historizing>false</Historizing>\n      <AccessLevelEx>0</AccessLevelEx>\n    </Node>\n    <Node i:type=\"VariableNode\">\n      <NodeId>\n        <Identifier>ns=1;i=2</Identifier>\n      </NodeId>\n      <NodeClass>Variable_2</NodeClass>\n      <BrowseName>\n        <NamespaceIndex>1</NamespaceIndex>\n        <Name>DataTypeTest</Name>\n      </BrowseName>\n      <DisplayName>\n        <Locale></Locale>\n        <Text>DataTypeTest</Text>\n      </DisplayName>\n      <Description i:nil=\"true\" />\n      <WriteMask>0</WriteMask>\n      <UserWriteMask>0</UserWriteMask>\n      <RolePermissions />\n      <UserRolePermissions />\n      <AccessRestrictions>0</AccessRestrictions>\n      <References>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=40</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>i=72</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=47</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>true</IsInverse>\n          <TargetId>\n            <Identifier>i=92</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=46</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=4</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=46</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=8</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=47</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=15</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=47</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=24</Identifier>\n          </TargetId>\n        </ReferenceNode>\n      </References>\n      <Value>\n        <Value>\n          <ByteString xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">PHhzOnNjaGVtYQ0KICB4bWxuczp4cz0iaHR0cDovL3d3dy53My5vcmcvMjAwMS9YTUxTY2hlbWEi\nDQogIHhtbG5zOnVhPSJodHRwOi8vb3BjZm91bmRhdGlvbi5vcmcvVUEvMjAwOC8wMi9UeXBlcy54\nc2QiDQogIHhtbG5zOnRucz0iaHR0cDovL2Nhcy5ldS9VQS9Db21tU2VydmVyL1VuaXRUZXN0cy9E\nYXRhVHlwZVRlc3QiDQogIHRhcmdldE5hbWVzcGFjZT0iaHR0cDovL2Nhcy5ldS9VQS9Db21tU2Vy\ndmVyL1VuaXRUZXN0cy9EYXRhVHlwZVRlc3QiDQogIGVsZW1lbnRGb3JtRGVmYXVsdD0icXVhbGlm\naWVkIg0KPg0KICA8eHM6aW1wb3J0IG5hbWVzcGFjZT0iaHR0cDovL29wY2ZvdW5kYXRpb24ub3Jn\nL1VBLyIgLz4NCg0KICA8eHM6c2ltcGxlVHlwZSAgbmFtZT0iQWJzdHJhY3RFbnVtZXJhdGlvbkRh\ndGFUeXBlIj4NCiAgICA8eHM6cmVzdHJpY3Rpb24gYmFzZT0ieHM6c3RyaW5nIj4NCiAgICAgIDx4\nczplbnVtZXJhdGlvbiB2YWx1ZT0iRmllbGQxXzAiIC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24g\ndmFsdWU9IkZpZWxkMl8xIiAvPg0KICAgIDwveHM6cmVzdHJpY3Rpb24+DQogIDwveHM6c2ltcGxl\nVHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iQWJzdHJhY3RFbnVtZXJhdGlvbkRhdGFUeXBlIiB0\neXBlPSJ0bnM6QWJzdHJhY3RFbnVtZXJhdGlvbkRhdGFUeXBlIiAvPg0KDQogIDx4czpjb21wbGV4\nVHlwZSBuYW1lPSJMaXN0T2ZBYnN0cmFjdEVudW1lcmF0aW9uRGF0YVR5cGUiPg0KICAgIDx4czpz\nZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkFic3RyYWN0RW51bWVyYXRpb25EYXRh\nVHlwZSIgdHlwZT0idG5zOkFic3RyYWN0RW51bWVyYXRpb25EYXRhVHlwZSIgbWluT2NjdXJzPSIw\nIiBtYXhPY2N1cnM9InVuYm91bmRlZCIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNv\nbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJMaXN0T2ZBYnN0cmFjdEVudW1lcmF0aW9u\nRGF0YVR5cGUiIHR5cGU9InRuczpMaXN0T2ZBYnN0cmFjdEVudW1lcmF0aW9uRGF0YVR5cGUiIG5p\nbGxhYmxlPSJ0cnVlIj48L3hzOmVsZW1lbnQ+DQoNCiAgPHhzOnNpbXBsZVR5cGUgIG5hbWU9IkVu\ndW1lcmF0aW9uRGF0YVR5cGUiPg0KICAgIDx4czphbm5vdGF0aW9uPg0KICAgICAgPHhzOmRvY3Vt\nZW50YXRpb24+RW51bWVyYXRpb24gRGF0YVR5cGUgZGVyaXZlZCBmcm9tIGFic3RyYWN0IHR5cGU8\nL3hzOmRvY3VtZW50YXRpb24+DQogICAgPC94czphbm5vdGF0aW9uPg0KICAgIDx4czpyZXN0cmlj\ndGlvbiBiYXNlPSJ4czpzdHJpbmciPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJGaWVs\nZDNfMSIgLz4NCiAgICA8L3hzOnJlc3RyaWN0aW9uPg0KICA8L3hzOnNpbXBsZVR5cGU+DQogIDx4\nczplbGVtZW50IG5hbWU9IkVudW1lcmF0aW9uRGF0YVR5cGUiIHR5cGU9InRuczpFbnVtZXJhdGlv\nbkRhdGFUeXBlIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJMaXN0T2ZFbnVtZXJhdGlv\nbkRhdGFUeXBlIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJF\nbnVtZXJhdGlvbkRhdGFUeXBlIiB0eXBlPSJ0bnM6RW51bWVyYXRpb25EYXRhVHlwZSIgbWluT2Nj\ndXJzPSIwIiBtYXhPY2N1cnM9InVuYm91bmRlZCIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8\nL3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJMaXN0T2ZFbnVtZXJhdGlvbkRh\ndGFUeXBlIiB0eXBlPSJ0bnM6TGlzdE9mRW51bWVyYXRpb25EYXRhVHlwZSIgbmlsbGFibGU9InRy\ndWUiPjwveHM6ZWxlbWVudD4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iQWJzdHJhY3RTdHJ1\nY3R1cmUiPg0KICAgIDx4czphbm5vdGF0aW9uPg0KICAgICAgPHhzOmRvY3VtZW50YXRpb24+QWJz\ndHJhY3Qgc3RydWN0dXJlPC94czpkb2N1bWVudGF0aW9uPg0KICAgIDwveHM6YW5ub3RhdGlvbj4N\nCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJOdW1iZXIiIHR5cGU9\nInVhOlZhcmlhbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hz\nOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJBYnN0cmFjdFN0cnVjdHVyZSIgdHlw\nZT0idG5zOkFic3RyYWN0U3RydWN0dXJlIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJM\naXN0T2ZBYnN0cmFjdFN0cnVjdHVyZSI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVs\nZW1lbnQgbmFtZT0iQWJzdHJhY3RTdHJ1Y3R1cmUiIHR5cGU9InRuczpBYnN0cmFjdFN0cnVjdHVy\nZSIgbWluT2NjdXJzPSIwIiBtYXhPY2N1cnM9InVuYm91bmRlZCIgbmlsbGFibGU9InRydWUiIC8+\nDQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQg\nbmFtZT0iTGlzdE9mQWJzdHJhY3RTdHJ1Y3R1cmUiIHR5cGU9InRuczpMaXN0T2ZBYnN0cmFjdFN0\ncnVjdHVyZSIgbmlsbGFibGU9InRydWUiPjwveHM6ZWxlbWVudD4NCg0KICA8eHM6Y29tcGxleFR5\ncGUgbmFtZT0iRGVyaXZlZFN0cnVjdHVyZSI+DQogICAgPHhzOmNvbXBsZXhDb250ZW50IG1peGVk\nPSJmYWxzZSI+DQogICAgICA8eHM6ZXh0ZW5zaW9uIGJhc2U9InRuczpBYnN0cmFjdFN0cnVjdHVy\nZSI+DQogICAgICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJO\ndW1iZXIiIHR5cGU9InhzOmludCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgICA8L3hzOnNlcXVl\nbmNlPg0KICAgICAgPC94czpleHRlbnNpb24+DQogICAgPC94czpjb21wbGV4Q29udGVudD4NCiAg\nPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iRGVyaXZlZFN0cnVjdHVyZSIg\ndHlwZT0idG5zOkRlcml2ZWRTdHJ1Y3R1cmUiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9\nIkxpc3RPZkRlcml2ZWRTdHJ1Y3R1cmUiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czpl\nbGVtZW50IG5hbWU9IkRlcml2ZWRTdHJ1Y3R1cmUiIHR5cGU9InRuczpEZXJpdmVkU3RydWN0dXJl\nIiBtaW5PY2N1cnM9IjAiIG1heE9jY3Vycz0idW5ib3VuZGVkIiBuaWxsYWJsZT0idHJ1ZSIgLz4N\nCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBu\nYW1lPSJMaXN0T2ZEZXJpdmVkU3RydWN0dXJlIiB0eXBlPSJ0bnM6TGlzdE9mRGVyaXZlZFN0cnVj\ndHVyZSIgbmlsbGFibGU9InRydWUiPjwveHM6ZWxlbWVudD4NCg0KPC94czpzY2hlbWE+</ByteString>\n        </Value>\n      </Value>\n      <DataType>\n        <Identifier>i=15</Identifier>\n      </DataType>\n      <ValueRank>-1</ValueRank>\n      <ArrayDimensions />\n      <AccessLevel>1</AccessLevel>\n      <UserAccessLevel>1</UserAccessLevel>\n      <MinimumSamplingInterval>0</MinimumSamplingInterval>\n      <Historizing>false</Historizing>\n      <AccessLevelEx>0</AccessLevelEx>\n    </Node>\n    <Node i:type=\"VariableNode\">\n      <NodeId>\n        <Identifier>ns=1;i=4</Identifier>\n      </NodeId>\n      <NodeClass>Variable_2</NodeClass>\n      <BrowseName>\n        <NamespaceIndex>0</NamespaceIndex>\n        <Name>NamespaceUri</Name>\n      </BrowseName>\n      <DisplayName>\n        <Locale></Locale>\n        <Text>NamespaceUri</Text>\n      </DisplayName>\n      <Description i:nil=\"true\" />\n      <WriteMask>0</WriteMask>\n      <UserWriteMask>0</UserWriteMask>\n      <RolePermissions />\n      <UserRolePermissions />\n      <AccessRestrictions>0</AccessRestrictions>\n      <References>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=46</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>true</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=2</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=40</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>i=68</Identifier>\n          </TargetId>\n        </ReferenceNode>\n      </References>\n      <Value>\n        <Value>\n          <String xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">http://cas.eu/UA/CommServer/UnitTests/DataTypeTest</String>\n        </Value>\n      </Value>\n      <DataType>\n        <Identifier>i=12</Identifier>\n      </DataType>\n      <ValueRank>-1</ValueRank>\n      <ArrayDimensions />\n      <AccessLevel>1</AccessLevel>\n      <UserAccessLevel>1</UserAccessLevel>\n      <MinimumSamplingInterval>0</MinimumSamplingInterval>\n      <Historizing>false</Historizing>\n      <AccessLevelEx>0</AccessLevelEx>\n    </Node>\n    <Node i:type=\"VariableNode\">\n      <NodeId>\n        <Identifier>ns=1;i=5</Identifier>\n      </NodeId>\n      <NodeClass>Variable_2</NodeClass>\n      <BrowseName>\n        <NamespaceIndex>1</NamespaceIndex>\n        <Name>DataTypeTest</Name>\n      </BrowseName>\n      <DisplayName>\n        <Locale></Locale>\n        <Text>DataTypeTest</Text>\n      </DisplayName>\n      <Description i:nil=\"true\" />\n      <WriteMask>0</WriteMask>\n      <UserWriteMask>0</UserWriteMask>\n      <RolePermissions />\n      <UserRolePermissions />\n      <AccessRestrictions>0</AccessRestrictions>\n      <References>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=40</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>i=72</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=47</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>true</IsInverse>\n          <TargetId>\n            <Identifier>i=93</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=46</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=7</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=46</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=1</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=47</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=19</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=47</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=28</Identifier>\n          </TargetId>\n        </ReferenceNode>\n      </References>\n      <Value>\n        <Value>\n          <ByteString xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">PG9wYzpUeXBlRGljdGlvbmFyeQ0KICB4bWxuczpvcGM9Imh0dHA6Ly9vcGNmb3VuZGF0aW9uLm9y\nZy9CaW5hcnlTY2hlbWEvIg0KICB4bWxuczp4c2k9Imh0dHA6Ly93d3cudzMub3JnLzIwMDEvWE1M\nU2NoZW1hLWluc3RhbmNlIg0KICB4bWxuczp1YT0iaHR0cDovL29wY2ZvdW5kYXRpb24ub3JnL1VB\nLyINCiAgeG1sbnM6dG5zPSJodHRwOi8vY2FzLmV1L1VBL0NvbW1TZXJ2ZXIvVW5pdFRlc3RzL0Rh\ndGFUeXBlVGVzdCINCiAgRGVmYXVsdEJ5dGVPcmRlcj0iTGl0dGxlRW5kaWFuIg0KICBUYXJnZXRO\nYW1lc3BhY2U9Imh0dHA6Ly9jYXMuZXUvVUEvQ29tbVNlcnZlci9Vbml0VGVzdHMvRGF0YVR5cGVU\nZXN0Ig0KPg0KICA8b3BjOkltcG9ydCBOYW1lc3BhY2U9Imh0dHA6Ly9vcGNmb3VuZGF0aW9uLm9y\nZy9VQS8iIExvY2F0aW9uPSIuQmluYXJ5U2NoZW1hLmJzZCIvPg0KDQogIDxvcGM6RW51bWVyYXRl\nZFR5cGUgTmFtZT0iQWJzdHJhY3RFbnVtZXJhdGlvbkRhdGFUeXBlIiBMZW5ndGhJbkJpdHM9IjMy\nIj4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJGaWVsZDEiIFZhbHVlPSIwIiAvPg0K\nICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IkZpZWxkMiIgVmFsdWU9IjEiIC8+DQogIDwv\nb3BjOkVudW1lcmF0ZWRUeXBlPg0KDQogIDxvcGM6RW51bWVyYXRlZFR5cGUgTmFtZT0iRW51bWVy\nYXRpb25EYXRhVHlwZSIgTGVuZ3RoSW5CaXRzPSIzMiI+DQogICAgPG9wYzpEb2N1bWVudGF0aW9u\nPkVudW1lcmF0aW9uIERhdGFUeXBlIGRlcml2ZWQgZnJvbSBhYnN0cmFjdCB0eXBlPC9vcGM6RG9j\ndW1lbnRhdGlvbj4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJGaWVsZDEiIFZhbHVl\nPSIwIiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IkZpZWxkMiIgVmFsdWU9IjEi\nIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iRmllbGQzIiBWYWx1ZT0iMSIgLz4N\nCiAgPC9vcGM6RW51bWVyYXRlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJB\nYnN0cmFjdFN0cnVjdHVyZSIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9w\nYzpEb2N1bWVudGF0aW9uPkFic3RyYWN0IHN0cnVjdHVyZTwvb3BjOkRvY3VtZW50YXRpb24+DQog\nICAgPG9wYzpGaWVsZCBOYW1lPSJOdW1iZXIiIFR5cGVOYW1lPSJ1YTpWYXJpYW50IiAvPg0KICA8\nL29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IkRlcml2\nZWRTdHJ1Y3R1cmUiIEJhc2VUeXBlPSJ0bnM6QWJzdHJhY3RTdHJ1Y3R1cmUiPg0KICAgIDxvcGM6\nRmllbGQgTmFtZT0iTnVtYmVyIiBUeXBlTmFtZT0idWE6VmFyaWFudCIgU291cmNlVHlwZT0idG5z\nOkFic3RyYWN0U3RydWN0dXJlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTnVtYmVyIiBUeXBl\nTmFtZT0ib3BjOkludDMyIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KPC9vcGM6VHlw\nZURpY3Rpb25hcnk+</ByteString>\n        </Value>\n      </Value>\n      <DataType>\n        <Identifier>i=15</Identifier>\n      </DataType>\n      <ValueRank>-1</ValueRank>\n      <ArrayDimensions />\n      <AccessLevel>1</AccessLevel>\n      <UserAccessLevel>1</UserAccessLevel>\n      <MinimumSamplingInterval>0</MinimumSamplingInterval>\n      <Historizing>false</Historizing>\n      <AccessLevelEx>0</AccessLevelEx>\n    </Node>\n    <Node i:type=\"VariableNode\">\n      <NodeId>\n        <Identifier>ns=1;i=7</Identifier>\n      </NodeId>\n      <NodeClass>Variable_2</NodeClass>\n      <BrowseName>\n        <NamespaceIndex>0</NamespaceIndex>\n        <Name>NamespaceUri</Name>\n      </BrowseName>\n      <DisplayName>\n        <Locale></Locale>\n        <Text>NamespaceUri</Text>\n      </DisplayName>\n      <Description i:nil=\"true\" />\n      <WriteMask>0</WriteMask>\n      <UserWriteMask>0</UserWriteMask>\n      <RolePermissions />\n      <UserRolePermissions />\n      <AccessRestrictions>0</AccessRestrictions>\n      <References>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=46</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>true</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=5</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=40</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>i=68</Identifier>\n          </TargetId>\n        </ReferenceNode>\n      </References>\n      <Value>\n        <Value>\n          <String xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">http://cas.eu/UA/CommServer/UnitTests/DataTypeTest</String>\n        </Value>\n      </Value>\n      <DataType>\n        <Identifier>i=12</Identifier>\n      </DataType>\n      <ValueRank>-1</ValueRank>\n      <ArrayDimensions />\n      <AccessLevel>1</AccessLevel>\n      <UserAccessLevel>1</UserAccessLevel>\n      <MinimumSamplingInterval>0</MinimumSamplingInterval>\n      <Historizing>false</Historizing>\n      <AccessLevelEx>0</AccessLevelEx>\n    </Node>\n    <Node i:type=\"VariableNode\">\n      <NodeId>\n        <Identifier>ns=1;i=8</Identifier>\n      </NodeId>\n      <NodeClass>Variable_2</NodeClass>\n      <BrowseName>\n        <NamespaceIndex>0</NamespaceIndex>\n        <Name>Deprecated</Name>\n      </BrowseName>\n      <DisplayName>\n        <Locale></Locale>\n        <Text>Deprecated</Text>\n      </DisplayName>\n      <Description i:nil=\"true\" />\n      <WriteMask>0</WriteMask>\n      <UserWriteMask>0</UserWriteMask>\n      <RolePermissions />\n      <UserRolePermissions />\n      <AccessRestrictions>0</AccessRestrictions>\n      <References>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=46</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>true</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=2</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=40</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>i=68</Identifier>\n          </TargetId>\n        </ReferenceNode>\n      </References>\n      <Value>\n        <Value>\n          <Boolean xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">true</Boolean>\n        </Value>\n      </Value>\n      <DataType>\n        <Identifier>i=1</Identifier>\n      </DataType>\n      <ValueRank>-1</ValueRank>\n      <ArrayDimensions />\n      <AccessLevel>1</AccessLevel>\n      <UserAccessLevel>1</UserAccessLevel>\n      <MinimumSamplingInterval>0</MinimumSamplingInterval>\n      <Historizing>false</Historizing>\n      <AccessLevelEx>0</AccessLevelEx>\n    </Node>\n    <Node i:type=\"DataTypeNode\">\n      <NodeId>\n        <Identifier>ns=1;i=9</Identifier>\n      </NodeId>\n      <NodeClass>DataType_64</NodeClass>\n      <BrowseName>\n        <NamespaceIndex>1</NamespaceIndex>\n        <Name>AbstractEnumerationDataType</Name>\n      </BrowseName>\n      <DisplayName>\n        <Locale></Locale>\n        <Text>AbstractEnumerationDataType</Text>\n      </DisplayName>\n      <Description i:nil=\"true\" />\n      <WriteMask>0</WriteMask>\n      <UserWriteMask>0</UserWriteMask>\n      <RolePermissions />\n      <UserRolePermissions />\n      <AccessRestrictions>0</AccessRestrictions>\n      <References>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=45</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>true</IsInverse>\n          <TargetId>\n            <Identifier>i=29</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=46</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=10</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=45</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=11</Identifier>\n          </TargetId>\n        </ReferenceNode>\n      </References>\n      <IsAbstract>true</IsAbstract>\n      <DataTypeDefinition i:nil=\"true\" />\n    </Node>\n    <Node i:type=\"VariableNode\">\n      <NodeId>\n        <Identifier>ns=1;i=10</Identifier>\n      </NodeId>\n      <NodeClass>Variable_2</NodeClass>\n      <BrowseName>\n        <NamespaceIndex>0</NamespaceIndex>\n        <Name>EnumStrings</Name>\n      </BrowseName>\n      <DisplayName>\n        <Locale></Locale>\n        <Text>EnumStrings</Text>\n      </DisplayName>\n      <Description i:nil=\"true\" />\n      <WriteMask>0</WriteMask>\n      <UserWriteMask>0</UserWriteMask>\n      <RolePermissions />\n      <UserRolePermissions />\n      <AccessRestrictions>0</AccessRestrictions>\n      <References>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=46</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>true</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=9</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=40</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>i=68</Identifier>\n          </TargetId>\n        </ReferenceNode>\n      </References>\n      <Value>\n        <Value>\n          <ListOfLocalizedText xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n            <LocalizedText>\n              <Text>Field1</Text>\n            </LocalizedText>\n            <LocalizedText>\n              <Text>Field2</Text>\n            </LocalizedText>\n          </ListOfLocalizedText>\n        </Value>\n      </Value>\n      <DataType>\n        <Identifier>i=21</Identifier>\n      </DataType>\n      <ValueRank>1</ValueRank>\n      <ArrayDimensions>\n        <UInt32>0</UInt32>\n      </ArrayDimensions>\n      <AccessLevel>1</AccessLevel>\n      <UserAccessLevel>1</UserAccessLevel>\n      <MinimumSamplingInterval>0</MinimumSamplingInterval>\n      <Historizing>false</Historizing>\n      <AccessLevelEx>0</AccessLevelEx>\n    </Node>\n    <Node i:type=\"DataTypeNode\">\n      <NodeId>\n        <Identifier>ns=1;i=11</Identifier>\n      </NodeId>\n      <NodeClass>DataType_64</NodeClass>\n      <BrowseName>\n        <NamespaceIndex>1</NamespaceIndex>\n        <Name>EnumerationDataType</Name>\n      </BrowseName>\n      <DisplayName>\n        <Locale></Locale>\n        <Text>EnumerationDataType</Text>\n      </DisplayName>\n      <Description>\n        <Locale></Locale>\n        <Text>Enumeration DataType derived from abstract type</Text>\n      </Description>\n      <WriteMask>0</WriteMask>\n      <UserWriteMask>0</UserWriteMask>\n      <RolePermissions />\n      <UserRolePermissions />\n      <AccessRestrictions>0</AccessRestrictions>\n      <References>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=45</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>true</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=9</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=46</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=12</Identifier>\n          </TargetId>\n        </ReferenceNode>\n      </References>\n      <IsAbstract>false</IsAbstract>\n      <DataTypeDefinition i:nil=\"true\" />\n    </Node>\n    <Node i:type=\"VariableNode\">\n      <NodeId>\n        <Identifier>ns=1;i=12</Identifier>\n      </NodeId>\n      <NodeClass>Variable_2</NodeClass>\n      <BrowseName>\n        <NamespaceIndex>0</NamespaceIndex>\n        <Name>EnumValues</Name>\n      </BrowseName>\n      <DisplayName>\n        <Locale></Locale>\n        <Text>EnumValues</Text>\n      </DisplayName>\n      <Description i:nil=\"true\" />\n      <WriteMask>0</WriteMask>\n      <UserWriteMask>0</UserWriteMask>\n      <RolePermissions />\n      <UserRolePermissions />\n      <AccessRestrictions>0</AccessRestrictions>\n      <References>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=46</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>true</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=11</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=40</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>i=68</Identifier>\n          </TargetId>\n        </ReferenceNode>\n      </References>\n      <Value>\n        <Value>\n          <ListOfExtensionObject xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n            <ExtensionObject>\n              <TypeId>\n                <Identifier>i=7616</Identifier>\n              </TypeId>\n              <Body>\n                <EnumValueType>\n                  <Value>1</Value>\n                  <DisplayName>\n                    <Text>Field3</Text>\n                  </DisplayName>\n                </EnumValueType>\n              </Body>\n            </ExtensionObject>\n          </ListOfExtensionObject>\n        </Value>\n      </Value>\n      <DataType>\n        <Identifier>i=7594</Identifier>\n      </DataType>\n      <ValueRank>1</ValueRank>\n      <ArrayDimensions>\n        <UInt32>0</UInt32>\n      </ArrayDimensions>\n      <AccessLevel>1</AccessLevel>\n      <UserAccessLevel>1</UserAccessLevel>\n      <MinimumSamplingInterval>0</MinimumSamplingInterval>\n      <Historizing>false</Historizing>\n      <AccessLevelEx>0</AccessLevelEx>\n    </Node>\n    <Node i:type=\"DataTypeNode\">\n      <NodeId>\n        <Identifier>ns=1;i=13</Identifier>\n      </NodeId>\n      <NodeClass>DataType_64</NodeClass>\n      <BrowseName>\n        <NamespaceIndex>1</NamespaceIndex>\n        <Name>AbstractStructure</Name>\n      </BrowseName>\n      <DisplayName>\n        <Locale></Locale>\n        <Text>AbstractStructure</Text>\n      </DisplayName>\n      <Description>\n        <Locale></Locale>\n        <Text>Abstract structure</Text>\n      </Description>\n      <WriteMask>0</WriteMask>\n      <UserWriteMask>0</UserWriteMask>\n      <RolePermissions />\n      <UserRolePermissions />\n      <AccessRestrictions>0</AccessRestrictions>\n      <References>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=45</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>true</IsInverse>\n          <TargetId>\n            <Identifier>i=22</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=45</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=22</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=38</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=18</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=38</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=14</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=38</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=31</Identifier>\n          </TargetId>\n        </ReferenceNode>\n      </References>\n      <IsAbstract>true</IsAbstract>\n      <DataTypeDefinition i:nil=\"true\" />\n    </Node>\n    <Node i:type=\"ObjectNode\">\n      <NodeId>\n        <Identifier>ns=1;i=14</Identifier>\n      </NodeId>\n      <NodeClass>Object_1</NodeClass>\n      <BrowseName>\n        <NamespaceIndex>0</NamespaceIndex>\n        <Name>Default XML</Name>\n      </BrowseName>\n      <DisplayName>\n        <Locale></Locale>\n        <Text>Default XML</Text>\n      </DisplayName>\n      <Description i:nil=\"true\" />\n      <WriteMask>0</WriteMask>\n      <UserWriteMask>0</UserWriteMask>\n      <RolePermissions />\n      <UserRolePermissions />\n      <AccessRestrictions>0</AccessRestrictions>\n      <References>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=40</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>i=76</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=38</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>true</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=13</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=39</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=15</Identifier>\n          </TargetId>\n        </ReferenceNode>\n      </References>\n      <EventNotifier>0</EventNotifier>\n    </Node>\n    <Node i:type=\"VariableNode\">\n      <NodeId>\n        <Identifier>ns=1;i=15</Identifier>\n      </NodeId>\n      <NodeClass>Variable_2</NodeClass>\n      <BrowseName>\n        <NamespaceIndex>1</NamespaceIndex>\n        <Name>AbstractStructure</Name>\n      </BrowseName>\n      <DisplayName>\n        <Locale></Locale>\n        <Text>AbstractStructure</Text>\n      </DisplayName>\n      <Description i:nil=\"true\" />\n      <WriteMask>0</WriteMask>\n      <UserWriteMask>0</UserWriteMask>\n      <RolePermissions />\n      <UserRolePermissions />\n      <AccessRestrictions>0</AccessRestrictions>\n      <References>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=47</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>true</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=2</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=40</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>i=69</Identifier>\n          </TargetId>\n        </ReferenceNode>\n      </References>\n      <Value>\n        <Value>\n          <String xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">//xs:element[@name='AbstractStructure']</String>\n        </Value>\n      </Value>\n      <DataType>\n        <Identifier>i=12</Identifier>\n      </DataType>\n      <ValueRank>-1</ValueRank>\n      <ArrayDimensions />\n      <AccessLevel>1</AccessLevel>\n      <UserAccessLevel>1</UserAccessLevel>\n      <MinimumSamplingInterval>0</MinimumSamplingInterval>\n      <Historizing>false</Historizing>\n      <AccessLevelEx>0</AccessLevelEx>\n    </Node>\n    <Node i:type=\"ObjectNode\">\n      <NodeId>\n        <Identifier>ns=1;i=18</Identifier>\n      </NodeId>\n      <NodeClass>Object_1</NodeClass>\n      <BrowseName>\n        <NamespaceIndex>0</NamespaceIndex>\n        <Name>Default Binary</Name>\n      </BrowseName>\n      <DisplayName>\n        <Locale></Locale>\n        <Text>Default Binary</Text>\n      </DisplayName>\n      <Description i:nil=\"true\" />\n      <WriteMask>0</WriteMask>\n      <UserWriteMask>0</UserWriteMask>\n      <RolePermissions />\n      <UserRolePermissions />\n      <AccessRestrictions>0</AccessRestrictions>\n      <References>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=40</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>i=76</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=38</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>true</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=13</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=39</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=19</Identifier>\n          </TargetId>\n        </ReferenceNode>\n      </References>\n      <EventNotifier>0</EventNotifier>\n    </Node>\n    <Node i:type=\"VariableNode\">\n      <NodeId>\n        <Identifier>ns=1;i=19</Identifier>\n      </NodeId>\n      <NodeClass>Variable_2</NodeClass>\n      <BrowseName>\n        <NamespaceIndex>1</NamespaceIndex>\n        <Name>AbstractStructure</Name>\n      </BrowseName>\n      <DisplayName>\n        <Locale></Locale>\n        <Text>AbstractStructure</Text>\n      </DisplayName>\n      <Description i:nil=\"true\" />\n      <WriteMask>0</WriteMask>\n      <UserWriteMask>0</UserWriteMask>\n      <RolePermissions />\n      <UserRolePermissions />\n      <AccessRestrictions>0</AccessRestrictions>\n      <References>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=47</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>true</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=5</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=40</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>i=69</Identifier>\n          </TargetId>\n        </ReferenceNode>\n      </References>\n      <Value>\n        <Value>\n          <String xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">AbstractStructure</String>\n        </Value>\n      </Value>\n      <DataType>\n        <Identifier>i=12</Identifier>\n      </DataType>\n      <ValueRank>-1</ValueRank>\n      <ArrayDimensions />\n      <AccessLevel>1</AccessLevel>\n      <UserAccessLevel>1</UserAccessLevel>\n      <MinimumSamplingInterval>0</MinimumSamplingInterval>\n      <Historizing>false</Historizing>\n      <AccessLevelEx>0</AccessLevelEx>\n    </Node>\n    <Node i:type=\"DataTypeNode\">\n      <NodeId>\n        <Identifier>ns=1;i=22</Identifier>\n      </NodeId>\n      <NodeClass>DataType_64</NodeClass>\n      <BrowseName>\n        <NamespaceIndex>1</NamespaceIndex>\n        <Name>DerivedStructure</Name>\n      </BrowseName>\n      <DisplayName>\n        <Locale></Locale>\n        <Text>DerivedStructure</Text>\n      </DisplayName>\n      <Description i:nil=\"true\" />\n      <WriteMask>0</WriteMask>\n      <UserWriteMask>0</UserWriteMask>\n      <RolePermissions />\n      <UserRolePermissions />\n      <AccessRestrictions>0</AccessRestrictions>\n      <References>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=45</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>true</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=13</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=38</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=27</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=38</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=23</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=38</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=32</Identifier>\n          </TargetId>\n        </ReferenceNode>\n      </References>\n      <IsAbstract>false</IsAbstract>\n      <DataTypeDefinition i:nil=\"true\" />\n    </Node>\n    <Node i:type=\"ObjectNode\">\n      <NodeId>\n        <Identifier>ns=1;i=23</Identifier>\n      </NodeId>\n      <NodeClass>Object_1</NodeClass>\n      <BrowseName>\n        <NamespaceIndex>0</NamespaceIndex>\n        <Name>Default XML</Name>\n      </BrowseName>\n      <DisplayName>\n        <Locale></Locale>\n        <Text>Default XML</Text>\n      </DisplayName>\n      <Description i:nil=\"true\" />\n      <WriteMask>0</WriteMask>\n      <UserWriteMask>0</UserWriteMask>\n      <RolePermissions />\n      <UserRolePermissions />\n      <AccessRestrictions>0</AccessRestrictions>\n      <References>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=40</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>i=76</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=38</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>true</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=22</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=39</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=24</Identifier>\n          </TargetId>\n        </ReferenceNode>\n      </References>\n      <EventNotifier>0</EventNotifier>\n    </Node>\n    <Node i:type=\"VariableNode\">\n      <NodeId>\n        <Identifier>ns=1;i=24</Identifier>\n      </NodeId>\n      <NodeClass>Variable_2</NodeClass>\n      <BrowseName>\n        <NamespaceIndex>1</NamespaceIndex>\n        <Name>DerivedStructure</Name>\n      </BrowseName>\n      <DisplayName>\n        <Locale></Locale>\n        <Text>DerivedStructure</Text>\n      </DisplayName>\n      <Description i:nil=\"true\" />\n      <WriteMask>0</WriteMask>\n      <UserWriteMask>0</UserWriteMask>\n      <RolePermissions />\n      <UserRolePermissions />\n      <AccessRestrictions>0</AccessRestrictions>\n      <References>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=47</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>true</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=2</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=40</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>i=69</Identifier>\n          </TargetId>\n        </ReferenceNode>\n      </References>\n      <Value>\n        <Value>\n          <String xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">//xs:element[@name='DerivedStructure']</String>\n        </Value>\n      </Value>\n      <DataType>\n        <Identifier>i=12</Identifier>\n      </DataType>\n      <ValueRank>-1</ValueRank>\n      <ArrayDimensions />\n      <AccessLevel>1</AccessLevel>\n      <UserAccessLevel>1</UserAccessLevel>\n      <MinimumSamplingInterval>0</MinimumSamplingInterval>\n      <Historizing>false</Historizing>\n      <AccessLevelEx>0</AccessLevelEx>\n    </Node>\n    <Node i:type=\"ObjectNode\">\n      <NodeId>\n        <Identifier>ns=1;i=27</Identifier>\n      </NodeId>\n      <NodeClass>Object_1</NodeClass>\n      <BrowseName>\n        <NamespaceIndex>0</NamespaceIndex>\n        <Name>Default Binary</Name>\n      </BrowseName>\n      <DisplayName>\n        <Locale></Locale>\n        <Text>Default Binary</Text>\n      </DisplayName>\n      <Description i:nil=\"true\" />\n      <WriteMask>0</WriteMask>\n      <UserWriteMask>0</UserWriteMask>\n      <RolePermissions />\n      <UserRolePermissions />\n      <AccessRestrictions>0</AccessRestrictions>\n      <References>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=40</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>i=76</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=38</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>true</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=22</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=39</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=28</Identifier>\n          </TargetId>\n        </ReferenceNode>\n      </References>\n      <EventNotifier>0</EventNotifier>\n    </Node>\n    <Node i:type=\"VariableNode\">\n      <NodeId>\n        <Identifier>ns=1;i=28</Identifier>\n      </NodeId>\n      <NodeClass>Variable_2</NodeClass>\n      <BrowseName>\n        <NamespaceIndex>1</NamespaceIndex>\n        <Name>DerivedStructure</Name>\n      </BrowseName>\n      <DisplayName>\n        <Locale></Locale>\n        <Text>DerivedStructure</Text>\n      </DisplayName>\n      <Description i:nil=\"true\" />\n      <WriteMask>0</WriteMask>\n      <UserWriteMask>0</UserWriteMask>\n      <RolePermissions />\n      <UserRolePermissions />\n      <AccessRestrictions>0</AccessRestrictions>\n      <References>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=47</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>true</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=5</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=40</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>i=69</Identifier>\n          </TargetId>\n        </ReferenceNode>\n      </References>\n      <Value>\n        <Value>\n          <String xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">DerivedStructure</String>\n        </Value>\n      </Value>\n      <DataType>\n        <Identifier>i=12</Identifier>\n      </DataType>\n      <ValueRank>-1</ValueRank>\n      <ArrayDimensions />\n      <AccessLevel>1</AccessLevel>\n      <UserAccessLevel>1</UserAccessLevel>\n      <MinimumSamplingInterval>0</MinimumSamplingInterval>\n      <Historizing>false</Historizing>\n      <AccessLevelEx>0</AccessLevelEx>\n    </Node>\n    <Node i:type=\"ObjectNode\">\n      <NodeId>\n        <Identifier>ns=1;i=31</Identifier>\n      </NodeId>\n      <NodeClass>Object_1</NodeClass>\n      <BrowseName>\n        <NamespaceIndex>0</NamespaceIndex>\n        <Name>Default JSON</Name>\n      </BrowseName>\n      <DisplayName>\n        <Locale></Locale>\n        <Text>Default JSON</Text>\n      </DisplayName>\n      <Description i:nil=\"true\" />\n      <WriteMask>0</WriteMask>\n      <UserWriteMask>0</UserWriteMask>\n      <RolePermissions />\n      <UserRolePermissions />\n      <AccessRestrictions>0</AccessRestrictions>\n      <References>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=40</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>i=76</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=38</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>true</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=13</Identifier>\n          </TargetId>\n        </ReferenceNode>\n      </References>\n      <EventNotifier>0</EventNotifier>\n    </Node>\n    <Node i:type=\"ObjectNode\">\n      <NodeId>\n        <Identifier>ns=1;i=32</Identifier>\n      </NodeId>\n      <NodeClass>Object_1</NodeClass>\n      <BrowseName>\n        <NamespaceIndex>0</NamespaceIndex>\n        <Name>Default JSON</Name>\n      </BrowseName>\n      <DisplayName>\n        <Locale></Locale>\n        <Text>Default JSON</Text>\n      </DisplayName>\n      <Description i:nil=\"true\" />\n      <WriteMask>0</WriteMask>\n      <UserWriteMask>0</UserWriteMask>\n      <RolePermissions />\n      <UserRolePermissions />\n      <AccessRestrictions>0</AccessRestrictions>\n      <References>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=40</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>i=76</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=38</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>true</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=22</Identifier>\n          </TargetId>\n        </ReferenceNode>\n      </References>\n      <EventNotifier>0</EventNotifier>\n    </Node>\n  </Nodes>\n</NodeSet>"
  },
  {
    "path": "SemanticData/Tests/USNodeSetValidationUnitTestProject/XMLModels/CorrectModels/DataTypeTest/DataTypeTest.NodeSet2.xml",
    "content": "﻿<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<UANodeSet xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\" xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xmlns=\"http://opcfoundation.org/UA/2011/03/UANodeSet.xsd\">\n  <NamespaceUris>\n    <Uri>http://cas.eu/UA/CommServer/UnitTests/DataTypeTest</Uri>\n  </NamespaceUris>\n  <Models>\n    <Model ModelUri=\"http://cas.eu/UA/CommServer/UnitTests/DataTypeTest\">\n      <RequiredModel ModelUri=\"http://opcfoundation.org/UA/\" XmlSchemaUri=\"http://opcfoundation.org/UA/2008/02/Types.xsd\" Version=\"1.04.10\" PublicationDate=\"2021-09-15T00:00:00Z\" />\n    </Model>\n  </Models>\n  <Aliases>\n    <Alias Alias=\"Boolean\">i=1</Alias>\n    <Alias Alias=\"SByte\">i=2</Alias>\n    <Alias Alias=\"Byte\">i=3</Alias>\n    <Alias Alias=\"Int16\">i=4</Alias>\n    <Alias Alias=\"UInt16\">i=5</Alias>\n    <Alias Alias=\"Int32\">i=6</Alias>\n    <Alias Alias=\"UInt32\">i=7</Alias>\n    <Alias Alias=\"Int64\">i=8</Alias>\n    <Alias Alias=\"UInt64\">i=9</Alias>\n    <Alias Alias=\"Float\">i=10</Alias>\n    <Alias Alias=\"Double\">i=11</Alias>\n    <Alias Alias=\"DateTime\">i=13</Alias>\n    <Alias Alias=\"String\">i=12</Alias>\n    <Alias Alias=\"ByteString\">i=15</Alias>\n    <Alias Alias=\"Guid\">i=14</Alias>\n    <Alias Alias=\"XmlElement\">i=16</Alias>\n    <Alias Alias=\"NodeId\">i=17</Alias>\n    <Alias Alias=\"ExpandedNodeId\">i=18</Alias>\n    <Alias Alias=\"QualifiedName\">i=20</Alias>\n    <Alias Alias=\"LocalizedText\">i=21</Alias>\n    <Alias Alias=\"StatusCode\">i=19</Alias>\n    <Alias Alias=\"Structure\">i=22</Alias>\n    <Alias Alias=\"Number\">i=26</Alias>\n    <Alias Alias=\"Integer\">i=27</Alias>\n    <Alias Alias=\"UInteger\">i=28</Alias>\n    <Alias Alias=\"HasComponent\">i=47</Alias>\n    <Alias Alias=\"HasProperty\">i=46</Alias>\n    <Alias Alias=\"Organizes\">i=35</Alias>\n    <Alias Alias=\"HasEventSource\">i=36</Alias>\n    <Alias Alias=\"HasNotifier\">i=48</Alias>\n    <Alias Alias=\"HasSubtype\">i=45</Alias>\n    <Alias Alias=\"HasTypeDefinition\">i=40</Alias>\n    <Alias Alias=\"HasModellingRule\">i=37</Alias>\n    <Alias Alias=\"HasEncoding\">i=38</Alias>\n    <Alias Alias=\"HasDescription\">i=39</Alias>\n    <Alias Alias=\"HasCause\">i=53</Alias>\n    <Alias Alias=\"ToState\">i=52</Alias>\n    <Alias Alias=\"FromState\">i=51</Alias>\n    <Alias Alias=\"HasEffect\">i=54</Alias>\n    <Alias Alias=\"HasTrueSubState\">i=9004</Alias>\n    <Alias Alias=\"HasFalseSubState\">i=9005</Alias>\n    <Alias Alias=\"HasDictionaryEntry\">i=17597</Alias>\n    <Alias Alias=\"HasCondition\">i=9006</Alias>\n    <Alias Alias=\"HasGuard\">i=15112</Alias>\n    <Alias Alias=\"HasAddIn\">i=17604</Alias>\n    <Alias Alias=\"HasInterface\">i=17603</Alias>\n  </Aliases>\n  <UADataType NodeId=\"ns=1;i=9\" BrowseName=\"1:AbstractEnumerationDataType\" IsAbstract=\"true\">\n    <DisplayName>AbstractEnumerationDataType</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=10</Reference>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=29</Reference>\n    </References>\n    <Definition Name=\"1:AbstractEnumerationDataType\">\n      <Field Name=\"Field1\" Value=\"0\" />\n      <Field Name=\"Field2\" Value=\"1\" />\n    </Definition>\n  </UADataType>\n  <UAVariable NodeId=\"ns=1;i=10\" BrowseName=\"EnumStrings\" ParentNodeId=\"ns=1;i=9\" DataType=\"LocalizedText\" ValueRank=\"1\" ArrayDimensions=\"0\">\n    <DisplayName>EnumStrings</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=9</Reference>\n    </References>\n    <Value>\n      <ListOfLocalizedText xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <LocalizedText>\n          <Text>Field1</Text>\n        </LocalizedText>\n        <LocalizedText>\n          <Text>Field2</Text>\n        </LocalizedText>\n      </ListOfLocalizedText>\n    </Value>\n  </UAVariable>\n  <UADataType NodeId=\"ns=1;i=11\" BrowseName=\"1:EnumerationDataType\">\n    <DisplayName>EnumerationDataType</DisplayName>\n    <Description>Enumeration DataType derived from abstract type</Description>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=12</Reference>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">ns=1;i=9</Reference>\n    </References>\n    <Definition Name=\"1:EnumerationDataType\">\n      <Field Name=\"Field3\" Value=\"1\" />\n    </Definition>\n  </UADataType>\n  <UAVariable NodeId=\"ns=1;i=12\" BrowseName=\"EnumValues\" ParentNodeId=\"ns=1;i=11\" DataType=\"i=7594\" ValueRank=\"1\" ArrayDimensions=\"0\">\n    <DisplayName>EnumValues</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=11</Reference>\n    </References>\n    <Value>\n      <ListOfExtensionObject xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=7616</Identifier>\n          </TypeId>\n          <Body>\n            <EnumValueType>\n              <Value>1</Value>\n              <DisplayName>\n                <Text>Field3</Text>\n              </DisplayName>\n            </EnumValueType>\n          </Body>\n        </ExtensionObject>\n      </ListOfExtensionObject>\n    </Value>\n  </UAVariable>\n  <UADataType NodeId=\"ns=1;i=13\" BrowseName=\"1:AbstractStructure\" IsAbstract=\"true\">\n    <DisplayName>AbstractStructure</DisplayName>\n    <Description>Abstract structure</Description>\n    <References>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=22</Reference>\n    </References>\n    <Definition Name=\"1:AbstractStructure\">\n      <Field Name=\"Number\" DataType=\"i=26\" />\n    </Definition>\n  </UADataType>\n  <UADataType NodeId=\"ns=1;i=22\" BrowseName=\"1:DerivedStructure\">\n    <DisplayName>DerivedStructure</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">ns=1;i=13</Reference>\n    </References>\n    <Definition Name=\"1:DerivedStructure\">\n      <Field Name=\"Number\" DataType=\"i=6\">\n        <Description>Derived from Number</Description>\n      </Field>\n    </Definition>\n  </UADataType>\n  <UAObject NodeId=\"ns=1;i=18\" BrowseName=\"Default Binary\" SymbolicName=\"DefaultBinary\">\n    <DisplayName>Default Binary</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasEncoding\" IsForward=\"false\">ns=1;i=13</Reference>\n      <Reference ReferenceType=\"HasDescription\">ns=1;i=19</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=76</Reference>\n    </References>\n  </UAObject>\n  <UAObject NodeId=\"ns=1;i=27\" BrowseName=\"Default Binary\" SymbolicName=\"DefaultBinary\">\n    <DisplayName>Default Binary</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasEncoding\" IsForward=\"false\">ns=1;i=22</Reference>\n      <Reference ReferenceType=\"HasDescription\">ns=1;i=28</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=76</Reference>\n    </References>\n  </UAObject>\n  <UAVariable NodeId=\"ns=1;i=5\" BrowseName=\"1:DataTypeTest\" SymbolicName=\"cas_BinarySchema\" ReleaseStatus=\"Deprecated\" DataType=\"ByteString\">\n    <DisplayName>DataTypeTest</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=7</Reference>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=1</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=19</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=28</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=93</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=72</Reference>\n    </References>\n    <Value>\n      <ByteString xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">PG9wYzpUeXBlRGljdGlvbmFyeQ0KICB4bWxuczpvcGM9Imh0dHA6Ly9vcGNmb3VuZGF0aW9uLm9y\nZy9CaW5hcnlTY2hlbWEvIg0KICB4bWxuczp4c2k9Imh0dHA6Ly93d3cudzMub3JnLzIwMDEvWE1M\nU2NoZW1hLWluc3RhbmNlIg0KICB4bWxuczp1YT0iaHR0cDovL29wY2ZvdW5kYXRpb24ub3JnL1VB\nLyINCiAgeG1sbnM6dG5zPSJodHRwOi8vY2FzLmV1L1VBL0NvbW1TZXJ2ZXIvVW5pdFRlc3RzL0Rh\ndGFUeXBlVGVzdCINCiAgRGVmYXVsdEJ5dGVPcmRlcj0iTGl0dGxlRW5kaWFuIg0KICBUYXJnZXRO\nYW1lc3BhY2U9Imh0dHA6Ly9jYXMuZXUvVUEvQ29tbVNlcnZlci9Vbml0VGVzdHMvRGF0YVR5cGVU\nZXN0Ig0KPg0KICA8b3BjOkltcG9ydCBOYW1lc3BhY2U9Imh0dHA6Ly9vcGNmb3VuZGF0aW9uLm9y\nZy9VQS8iIExvY2F0aW9uPSIuQmluYXJ5U2NoZW1hLmJzZCIvPg0KDQogIDxvcGM6RW51bWVyYXRl\nZFR5cGUgTmFtZT0iQWJzdHJhY3RFbnVtZXJhdGlvbkRhdGFUeXBlIiBMZW5ndGhJbkJpdHM9IjMy\nIj4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJGaWVsZDEiIFZhbHVlPSIwIiAvPg0K\nICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IkZpZWxkMiIgVmFsdWU9IjEiIC8+DQogIDwv\nb3BjOkVudW1lcmF0ZWRUeXBlPg0KDQogIDxvcGM6RW51bWVyYXRlZFR5cGUgTmFtZT0iRW51bWVy\nYXRpb25EYXRhVHlwZSIgTGVuZ3RoSW5CaXRzPSIzMiI+DQogICAgPG9wYzpEb2N1bWVudGF0aW9u\nPkVudW1lcmF0aW9uIERhdGFUeXBlIGRlcml2ZWQgZnJvbSBhYnN0cmFjdCB0eXBlPC9vcGM6RG9j\ndW1lbnRhdGlvbj4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJGaWVsZDEiIFZhbHVl\nPSIwIiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IkZpZWxkMiIgVmFsdWU9IjEi\nIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iRmllbGQzIiBWYWx1ZT0iMSIgLz4N\nCiAgPC9vcGM6RW51bWVyYXRlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJB\nYnN0cmFjdFN0cnVjdHVyZSIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9w\nYzpEb2N1bWVudGF0aW9uPkFic3RyYWN0IHN0cnVjdHVyZTwvb3BjOkRvY3VtZW50YXRpb24+DQog\nICAgPG9wYzpGaWVsZCBOYW1lPSJOdW1iZXIiIFR5cGVOYW1lPSJ1YTpWYXJpYW50IiAvPg0KICA8\nL29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IkRlcml2\nZWRTdHJ1Y3R1cmUiIEJhc2VUeXBlPSJ0bnM6QWJzdHJhY3RTdHJ1Y3R1cmUiPg0KICAgIDxvcGM6\nRmllbGQgTmFtZT0iTnVtYmVyIiBUeXBlTmFtZT0idWE6VmFyaWFudCIgU291cmNlVHlwZT0idG5z\nOkFic3RyYWN0U3RydWN0dXJlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTnVtYmVyIiBUeXBl\nTmFtZT0ib3BjOkludDMyIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KPC9vcGM6VHlw\nZURpY3Rpb25hcnk+</ByteString>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=7\" BrowseName=\"NamespaceUri\" ReleaseStatus=\"Deprecated\" ParentNodeId=\"ns=1;i=5\" DataType=\"String\">\n    <DisplayName>NamespaceUri</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=5</Reference>\n    </References>\n    <Value>\n      <String xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">http://cas.eu/UA/CommServer/UnitTests/DataTypeTest</String>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=1\" BrowseName=\"Deprecated\" ReleaseStatus=\"Deprecated\" ParentNodeId=\"ns=1;i=5\" DataType=\"Boolean\">\n    <DisplayName>Deprecated</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=5</Reference>\n    </References>\n    <Value>\n      <Boolean xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">true</Boolean>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=19\" BrowseName=\"1:AbstractStructure\" ReleaseStatus=\"Deprecated\" ParentNodeId=\"ns=1;i=5\" DataType=\"String\">\n    <DisplayName>AbstractStructure</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=69</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=5</Reference>\n    </References>\n    <Value>\n      <String xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">AbstractStructure</String>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=28\" BrowseName=\"1:DerivedStructure\" ReleaseStatus=\"Deprecated\" ParentNodeId=\"ns=1;i=5\" DataType=\"String\">\n    <DisplayName>DerivedStructure</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=69</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=5</Reference>\n    </References>\n    <Value>\n      <String xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">DerivedStructure</String>\n    </Value>\n  </UAVariable>\n  <UAObject NodeId=\"ns=1;i=14\" BrowseName=\"Default XML\" SymbolicName=\"DefaultXml\">\n    <DisplayName>Default XML</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasEncoding\" IsForward=\"false\">ns=1;i=13</Reference>\n      <Reference ReferenceType=\"HasDescription\">ns=1;i=15</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=76</Reference>\n    </References>\n  </UAObject>\n  <UAObject NodeId=\"ns=1;i=23\" BrowseName=\"Default XML\" SymbolicName=\"DefaultXml\">\n    <DisplayName>Default XML</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasEncoding\" IsForward=\"false\">ns=1;i=22</Reference>\n      <Reference ReferenceType=\"HasDescription\">ns=1;i=24</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=76</Reference>\n    </References>\n  </UAObject>\n  <UAVariable NodeId=\"ns=1;i=2\" BrowseName=\"1:DataTypeTest\" SymbolicName=\"cas_XmlSchema\" ReleaseStatus=\"Deprecated\" DataType=\"ByteString\">\n    <DisplayName>DataTypeTest</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=4</Reference>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=8</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=15</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=24</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=92</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=72</Reference>\n    </References>\n    <Value>\n      <ByteString xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">PHhzOnNjaGVtYQ0KICB4bWxuczp4cz0iaHR0cDovL3d3dy53My5vcmcvMjAwMS9YTUxTY2hlbWEi\nDQogIHhtbG5zOnVhPSJodHRwOi8vb3BjZm91bmRhdGlvbi5vcmcvVUEvMjAwOC8wMi9UeXBlcy54\nc2QiDQogIHhtbG5zOnRucz0iaHR0cDovL2Nhcy5ldS9VQS9Db21tU2VydmVyL1VuaXRUZXN0cy9E\nYXRhVHlwZVRlc3QiDQogIHRhcmdldE5hbWVzcGFjZT0iaHR0cDovL2Nhcy5ldS9VQS9Db21tU2Vy\ndmVyL1VuaXRUZXN0cy9EYXRhVHlwZVRlc3QiDQogIGVsZW1lbnRGb3JtRGVmYXVsdD0icXVhbGlm\naWVkIg0KPg0KICA8eHM6aW1wb3J0IG5hbWVzcGFjZT0iaHR0cDovL29wY2ZvdW5kYXRpb24ub3Jn\nL1VBLyIgLz4NCg0KICA8eHM6c2ltcGxlVHlwZSAgbmFtZT0iQWJzdHJhY3RFbnVtZXJhdGlvbkRh\ndGFUeXBlIj4NCiAgICA8eHM6cmVzdHJpY3Rpb24gYmFzZT0ieHM6c3RyaW5nIj4NCiAgICAgIDx4\nczplbnVtZXJhdGlvbiB2YWx1ZT0iRmllbGQxXzAiIC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24g\ndmFsdWU9IkZpZWxkMl8xIiAvPg0KICAgIDwveHM6cmVzdHJpY3Rpb24+DQogIDwveHM6c2ltcGxl\nVHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iQWJzdHJhY3RFbnVtZXJhdGlvbkRhdGFUeXBlIiB0\neXBlPSJ0bnM6QWJzdHJhY3RFbnVtZXJhdGlvbkRhdGFUeXBlIiAvPg0KDQogIDx4czpjb21wbGV4\nVHlwZSBuYW1lPSJMaXN0T2ZBYnN0cmFjdEVudW1lcmF0aW9uRGF0YVR5cGUiPg0KICAgIDx4czpz\nZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkFic3RyYWN0RW51bWVyYXRpb25EYXRh\nVHlwZSIgdHlwZT0idG5zOkFic3RyYWN0RW51bWVyYXRpb25EYXRhVHlwZSIgbWluT2NjdXJzPSIw\nIiBtYXhPY2N1cnM9InVuYm91bmRlZCIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNv\nbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJMaXN0T2ZBYnN0cmFjdEVudW1lcmF0aW9u\nRGF0YVR5cGUiIHR5cGU9InRuczpMaXN0T2ZBYnN0cmFjdEVudW1lcmF0aW9uRGF0YVR5cGUiIG5p\nbGxhYmxlPSJ0cnVlIj48L3hzOmVsZW1lbnQ+DQoNCiAgPHhzOnNpbXBsZVR5cGUgIG5hbWU9IkVu\ndW1lcmF0aW9uRGF0YVR5cGUiPg0KICAgIDx4czphbm5vdGF0aW9uPg0KICAgICAgPHhzOmRvY3Vt\nZW50YXRpb24+RW51bWVyYXRpb24gRGF0YVR5cGUgZGVyaXZlZCBmcm9tIGFic3RyYWN0IHR5cGU8\nL3hzOmRvY3VtZW50YXRpb24+DQogICAgPC94czphbm5vdGF0aW9uPg0KICAgIDx4czpyZXN0cmlj\ndGlvbiBiYXNlPSJ4czpzdHJpbmciPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJGaWVs\nZDNfMSIgLz4NCiAgICA8L3hzOnJlc3RyaWN0aW9uPg0KICA8L3hzOnNpbXBsZVR5cGU+DQogIDx4\nczplbGVtZW50IG5hbWU9IkVudW1lcmF0aW9uRGF0YVR5cGUiIHR5cGU9InRuczpFbnVtZXJhdGlv\nbkRhdGFUeXBlIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJMaXN0T2ZFbnVtZXJhdGlv\nbkRhdGFUeXBlIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJF\nbnVtZXJhdGlvbkRhdGFUeXBlIiB0eXBlPSJ0bnM6RW51bWVyYXRpb25EYXRhVHlwZSIgbWluT2Nj\ndXJzPSIwIiBtYXhPY2N1cnM9InVuYm91bmRlZCIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8\nL3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJMaXN0T2ZFbnVtZXJhdGlvbkRh\ndGFUeXBlIiB0eXBlPSJ0bnM6TGlzdE9mRW51bWVyYXRpb25EYXRhVHlwZSIgbmlsbGFibGU9InRy\ndWUiPjwveHM6ZWxlbWVudD4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iQWJzdHJhY3RTdHJ1\nY3R1cmUiPg0KICAgIDx4czphbm5vdGF0aW9uPg0KICAgICAgPHhzOmRvY3VtZW50YXRpb24+QWJz\ndHJhY3Qgc3RydWN0dXJlPC94czpkb2N1bWVudGF0aW9uPg0KICAgIDwveHM6YW5ub3RhdGlvbj4N\nCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJOdW1iZXIiIHR5cGU9\nInVhOlZhcmlhbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hz\nOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJBYnN0cmFjdFN0cnVjdHVyZSIgdHlw\nZT0idG5zOkFic3RyYWN0U3RydWN0dXJlIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJM\naXN0T2ZBYnN0cmFjdFN0cnVjdHVyZSI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVs\nZW1lbnQgbmFtZT0iQWJzdHJhY3RTdHJ1Y3R1cmUiIHR5cGU9InRuczpBYnN0cmFjdFN0cnVjdHVy\nZSIgbWluT2NjdXJzPSIwIiBtYXhPY2N1cnM9InVuYm91bmRlZCIgbmlsbGFibGU9InRydWUiIC8+\nDQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQg\nbmFtZT0iTGlzdE9mQWJzdHJhY3RTdHJ1Y3R1cmUiIHR5cGU9InRuczpMaXN0T2ZBYnN0cmFjdFN0\ncnVjdHVyZSIgbmlsbGFibGU9InRydWUiPjwveHM6ZWxlbWVudD4NCg0KICA8eHM6Y29tcGxleFR5\ncGUgbmFtZT0iRGVyaXZlZFN0cnVjdHVyZSI+DQogICAgPHhzOmNvbXBsZXhDb250ZW50IG1peGVk\nPSJmYWxzZSI+DQogICAgICA8eHM6ZXh0ZW5zaW9uIGJhc2U9InRuczpBYnN0cmFjdFN0cnVjdHVy\nZSI+DQogICAgICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJO\ndW1iZXIiIHR5cGU9InhzOmludCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgICA8L3hzOnNlcXVl\nbmNlPg0KICAgICAgPC94czpleHRlbnNpb24+DQogICAgPC94czpjb21wbGV4Q29udGVudD4NCiAg\nPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iRGVyaXZlZFN0cnVjdHVyZSIg\ndHlwZT0idG5zOkRlcml2ZWRTdHJ1Y3R1cmUiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9\nIkxpc3RPZkRlcml2ZWRTdHJ1Y3R1cmUiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czpl\nbGVtZW50IG5hbWU9IkRlcml2ZWRTdHJ1Y3R1cmUiIHR5cGU9InRuczpEZXJpdmVkU3RydWN0dXJl\nIiBtaW5PY2N1cnM9IjAiIG1heE9jY3Vycz0idW5ib3VuZGVkIiBuaWxsYWJsZT0idHJ1ZSIgLz4N\nCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBu\nYW1lPSJMaXN0T2ZEZXJpdmVkU3RydWN0dXJlIiB0eXBlPSJ0bnM6TGlzdE9mRGVyaXZlZFN0cnVj\ndHVyZSIgbmlsbGFibGU9InRydWUiPjwveHM6ZWxlbWVudD4NCg0KPC94czpzY2hlbWE+</ByteString>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=4\" BrowseName=\"NamespaceUri\" ReleaseStatus=\"Deprecated\" ParentNodeId=\"ns=1;i=2\" DataType=\"String\">\n    <DisplayName>NamespaceUri</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=2</Reference>\n    </References>\n    <Value>\n      <String xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">http://cas.eu/UA/CommServer/UnitTests/DataTypeTest</String>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=8\" BrowseName=\"Deprecated\" ReleaseStatus=\"Deprecated\" ParentNodeId=\"ns=1;i=2\" DataType=\"Boolean\">\n    <DisplayName>Deprecated</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=2</Reference>\n    </References>\n    <Value>\n      <Boolean xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">true</Boolean>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=15\" BrowseName=\"1:AbstractStructure\" ReleaseStatus=\"Deprecated\" ParentNodeId=\"ns=1;i=2\" DataType=\"String\">\n    <DisplayName>AbstractStructure</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=69</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=2</Reference>\n    </References>\n    <Value>\n      <String xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">//xs:element[@name='AbstractStructure']</String>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=24\" BrowseName=\"1:DerivedStructure\" ReleaseStatus=\"Deprecated\" ParentNodeId=\"ns=1;i=2\" DataType=\"String\">\n    <DisplayName>DerivedStructure</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=69</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=2</Reference>\n    </References>\n    <Value>\n      <String xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">//xs:element[@name='DerivedStructure']</String>\n    </Value>\n  </UAVariable>\n  <UAObject NodeId=\"ns=1;i=31\" BrowseName=\"Default JSON\" SymbolicName=\"DefaultJson\">\n    <DisplayName>Default JSON</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasEncoding\" IsForward=\"false\">ns=1;i=13</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=76</Reference>\n    </References>\n  </UAObject>\n  <UAObject NodeId=\"ns=1;i=32\" BrowseName=\"Default JSON\" SymbolicName=\"DefaultJson\">\n    <DisplayName>Default JSON</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasEncoding\" IsForward=\"false\">ns=1;i=22</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=76</Reference>\n    </References>\n  </UAObject>\n</UANodeSet>"
  },
  {
    "path": "SemanticData/Tests/USNodeSetValidationUnitTestProject/XMLModels/CorrectModels/DataTypeTest/DataTypeTest.PredefinedNodes.xml",
    "content": "﻿<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<uax:ListOfNodeState xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xmlns:uax=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n  <uax:NamespaceUris>\n    <uax:NamespaceUri>http://cas.eu/UA/CommServer/UnitTests/DataTypeTest</uax:NamespaceUri>\n  </uax:NamespaceUris>\n  <AbstractEnumerationDataType xmlns=\"http://cas.eu/UA/CommServer/UnitTests/DataTypeTest\">\n    <uax:NodeClass>DataType_64</uax:NodeClass>\n    <uax:NodeId>\n      <uax:Identifier>ns=1;i=9</uax:Identifier>\n    </uax:NodeId>\n    <uax:BrowseName>\n      <uax:NamespaceIndex>1</uax:NamespaceIndex>\n      <uax:Name>AbstractEnumerationDataType</uax:Name>\n    </uax:BrowseName>\n    <uax:SuperTypeId>\n      <uax:Identifier>i=29</uax:Identifier>\n    </uax:SuperTypeId>\n    <uax:IsAbstract>true</uax:IsAbstract>\n    <uax:DataTypeDefinition>\n      <uax:TypeId>\n        <uax:Identifier>i=14799</uax:Identifier>\n      </uax:TypeId>\n      <uax:Body>\n        <uax:EnumDefinition>\n          <uax:Fields>\n            <uax:EnumField>\n              <uax:Value>0</uax:Value>\n              <uax:DisplayName>\n                <uax:Text>Field1</uax:Text>\n              </uax:DisplayName>\n              <uax:Name>Field1</uax:Name>\n            </uax:EnumField>\n            <uax:EnumField>\n              <uax:Value>1</uax:Value>\n              <uax:DisplayName>\n                <uax:Text>Field2</uax:Text>\n              </uax:DisplayName>\n              <uax:Name>Field2</uax:Name>\n            </uax:EnumField>\n          </uax:Fields>\n        </uax:EnumDefinition>\n      </uax:Body>\n    </uax:DataTypeDefinition>\n    <EnumStrings xmlns=\"http://opcfoundation.org/UA/\">\n      <uax:NodeClass>Variable_2</uax:NodeClass>\n      <uax:NodeId>\n        <uax:Identifier>ns=1;i=10</uax:Identifier>\n      </uax:NodeId>\n      <uax:BrowseName>\n        <uax:NamespaceIndex>0</uax:NamespaceIndex>\n        <uax:Name>EnumStrings</uax:Name>\n      </uax:BrowseName>\n      <uax:ReferenceTypeId>\n        <uax:Identifier>i=46</uax:Identifier>\n      </uax:ReferenceTypeId>\n      <uax:TypeDefinitionId>\n        <uax:Identifier>i=68</uax:Identifier>\n      </uax:TypeDefinitionId>\n      <uax:NumericId>10</uax:NumericId>\n      <uax:Value>\n        <uax:Value>\n          <uax:ListOfLocalizedText>\n            <uax:LocalizedText>\n              <uax:Text>Field1</uax:Text>\n            </uax:LocalizedText>\n            <uax:LocalizedText>\n              <uax:Text>Field2</uax:Text>\n            </uax:LocalizedText>\n          </uax:ListOfLocalizedText>\n        </uax:Value>\n      </uax:Value>\n      <uax:DataType>\n        <uax:Identifier>i=21</uax:Identifier>\n      </uax:DataType>\n      <uax:ValueRank>1</uax:ValueRank>\n      <uax:ArrayDimensions>0</uax:ArrayDimensions>\n      <uax:AccessLevel>1</uax:AccessLevel>\n      <uax:UserAccessLevel>1</uax:UserAccessLevel>\n    </EnumStrings>\n  </AbstractEnumerationDataType>\n  <EnumerationDataType xmlns=\"http://cas.eu/UA/CommServer/UnitTests/DataTypeTest\">\n    <uax:NodeClass>DataType_64</uax:NodeClass>\n    <uax:NodeId>\n      <uax:Identifier>ns=1;i=11</uax:Identifier>\n    </uax:NodeId>\n    <uax:BrowseName>\n      <uax:NamespaceIndex>1</uax:NamespaceIndex>\n      <uax:Name>EnumerationDataType</uax:Name>\n    </uax:BrowseName>\n    <uax:Description>\n      <uax:Text>Enumeration DataType derived from abstract type</uax:Text>\n    </uax:Description>\n    <uax:SuperTypeId>\n      <uax:Identifier>ns=1;i=9</uax:Identifier>\n    </uax:SuperTypeId>\n    <uax:DataTypeDefinition>\n      <uax:TypeId>\n        <uax:Identifier>i=14799</uax:Identifier>\n      </uax:TypeId>\n      <uax:Body>\n        <uax:EnumDefinition>\n          <uax:Fields>\n            <uax:EnumField>\n              <uax:Value>1</uax:Value>\n              <uax:DisplayName>\n                <uax:Text>Field3</uax:Text>\n              </uax:DisplayName>\n              <uax:Name>Field3</uax:Name>\n            </uax:EnumField>\n          </uax:Fields>\n        </uax:EnumDefinition>\n      </uax:Body>\n    </uax:DataTypeDefinition>\n    <EnumValues xmlns=\"http://opcfoundation.org/UA/\">\n      <uax:NodeClass>Variable_2</uax:NodeClass>\n      <uax:NodeId>\n        <uax:Identifier>ns=1;i=12</uax:Identifier>\n      </uax:NodeId>\n      <uax:BrowseName>\n        <uax:NamespaceIndex>0</uax:NamespaceIndex>\n        <uax:Name>EnumValues</uax:Name>\n      </uax:BrowseName>\n      <uax:ReferenceTypeId>\n        <uax:Identifier>i=46</uax:Identifier>\n      </uax:ReferenceTypeId>\n      <uax:TypeDefinitionId>\n        <uax:Identifier>i=68</uax:Identifier>\n      </uax:TypeDefinitionId>\n      <uax:NumericId>12</uax:NumericId>\n      <uax:Value>\n        <uax:Value>\n          <uax:ListOfExtensionObject>\n            <uax:ExtensionObject>\n              <uax:TypeId>\n                <uax:Identifier>i=7616</uax:Identifier>\n              </uax:TypeId>\n              <uax:Body>\n                <uax:EnumValueType>\n                  <uax:Value>1</uax:Value>\n                  <uax:DisplayName>\n                    <uax:Text>Field3</uax:Text>\n                  </uax:DisplayName>\n                </uax:EnumValueType>\n              </uax:Body>\n            </uax:ExtensionObject>\n          </uax:ListOfExtensionObject>\n        </uax:Value>\n      </uax:Value>\n      <uax:DataType>\n        <uax:Identifier>i=7594</uax:Identifier>\n      </uax:DataType>\n      <uax:ValueRank>1</uax:ValueRank>\n      <uax:ArrayDimensions>0</uax:ArrayDimensions>\n      <uax:AccessLevel>1</uax:AccessLevel>\n      <uax:UserAccessLevel>1</uax:UserAccessLevel>\n    </EnumValues>\n  </EnumerationDataType>\n  <AbstractStructure xmlns=\"http://cas.eu/UA/CommServer/UnitTests/DataTypeTest\">\n    <uax:NodeClass>DataType_64</uax:NodeClass>\n    <uax:NodeId>\n      <uax:Identifier>ns=1;i=13</uax:Identifier>\n    </uax:NodeId>\n    <uax:BrowseName>\n      <uax:NamespaceIndex>1</uax:NamespaceIndex>\n      <uax:Name>AbstractStructure</uax:Name>\n    </uax:BrowseName>\n    <uax:Description>\n      <uax:Text>Abstract structure</uax:Text>\n    </uax:Description>\n    <uax:SuperTypeId>\n      <uax:Identifier>i=22</uax:Identifier>\n    </uax:SuperTypeId>\n    <uax:IsAbstract>true</uax:IsAbstract>\n    <uax:DataTypeDefinition>\n      <uax:TypeId>\n        <uax:Identifier>i=14798</uax:Identifier>\n      </uax:TypeId>\n      <uax:Body>\n        <uax:StructureDefinition>\n          <uax:BaseDataType>\n            <uax:Identifier>i=22</uax:Identifier>\n          </uax:BaseDataType>\n          <uax:StructureType>Structure_0</uax:StructureType>\n          <uax:Fields>\n            <uax:StructureField>\n              <uax:Name>Number</uax:Name>\n              <uax:DataType>\n                <uax:Identifier>i=26</uax:Identifier>\n              </uax:DataType>\n              <uax:ValueRank>-1</uax:ValueRank>\n              <uax:ArrayDimensions />\n              <uax:MaxStringLength>0</uax:MaxStringLength>\n              <uax:IsOptional>false</uax:IsOptional>\n            </uax:StructureField>\n          </uax:Fields>\n        </uax:StructureDefinition>\n      </uax:Body>\n    </uax:DataTypeDefinition>\n  </AbstractStructure>\n  <DerivedStructure xmlns=\"http://cas.eu/UA/CommServer/UnitTests/DataTypeTest\">\n    <uax:NodeClass>DataType_64</uax:NodeClass>\n    <uax:NodeId>\n      <uax:Identifier>ns=1;i=22</uax:Identifier>\n    </uax:NodeId>\n    <uax:BrowseName>\n      <uax:NamespaceIndex>1</uax:NamespaceIndex>\n      <uax:Name>DerivedStructure</uax:Name>\n    </uax:BrowseName>\n    <uax:SuperTypeId>\n      <uax:Identifier>ns=1;i=13</uax:Identifier>\n    </uax:SuperTypeId>\n    <uax:DataTypeDefinition>\n      <uax:TypeId>\n        <uax:Identifier>i=14798</uax:Identifier>\n      </uax:TypeId>\n      <uax:Body>\n        <uax:StructureDefinition>\n          <uax:BaseDataType>\n            <uax:Identifier>ns=1;i=13</uax:Identifier>\n          </uax:BaseDataType>\n          <uax:StructureType>Structure_0</uax:StructureType>\n          <uax:Fields>\n            <uax:StructureField>\n              <uax:Name>Number</uax:Name>\n              <uax:DataType>\n                <uax:Identifier>i=26</uax:Identifier>\n              </uax:DataType>\n              <uax:ValueRank>-1</uax:ValueRank>\n              <uax:ArrayDimensions />\n              <uax:MaxStringLength>0</uax:MaxStringLength>\n              <uax:IsOptional>false</uax:IsOptional>\n            </uax:StructureField>\n            <uax:StructureField>\n              <uax:Name>Number</uax:Name>\n              <uax:Description>\n                <uax:Text>Derived from Number</uax:Text>\n              </uax:Description>\n              <uax:DataType>\n                <uax:Identifier>i=6</uax:Identifier>\n              </uax:DataType>\n              <uax:ValueRank>-1</uax:ValueRank>\n              <uax:ArrayDimensions />\n              <uax:MaxStringLength>0</uax:MaxStringLength>\n              <uax:IsOptional>false</uax:IsOptional>\n            </uax:StructureField>\n          </uax:Fields>\n        </uax:StructureDefinition>\n      </uax:Body>\n    </uax:DataTypeDefinition>\n  </DerivedStructure>\n  <DefaultBinary xmlns=\"http://opcfoundation.org/UA/\">\n    <uax:NodeClass>Object_1</uax:NodeClass>\n    <uax:NodeId>\n      <uax:Identifier>ns=1;i=18</uax:Identifier>\n    </uax:NodeId>\n    <uax:BrowseName>\n      <uax:NamespaceIndex>0</uax:NamespaceIndex>\n      <uax:Name>Default Binary</uax:Name>\n    </uax:BrowseName>\n    <uax:TypeDefinitionId>\n      <uax:Identifier>i=76</uax:Identifier>\n    </uax:TypeDefinitionId>\n    <uax:NumericId>18</uax:NumericId>\n    <uax:References>\n      <uax:Reference>\n        <uax:ReferenceTypeId>\n          <uax:Identifier>i=38</uax:Identifier>\n        </uax:ReferenceTypeId>\n        <uax:IsInverse>true</uax:IsInverse>\n        <uax:TargetId>\n          <uax:Identifier>ns=1;i=13</uax:Identifier>\n        </uax:TargetId>\n      </uax:Reference>\n      <uax:Reference>\n        <uax:ReferenceTypeId>\n          <uax:Identifier>i=39</uax:Identifier>\n        </uax:ReferenceTypeId>\n        <uax:TargetId>\n          <uax:Identifier>ns=1;i=19</uax:Identifier>\n        </uax:TargetId>\n      </uax:Reference>\n    </uax:References>\n  </DefaultBinary>\n  <DefaultBinary xmlns=\"http://opcfoundation.org/UA/\">\n    <uax:NodeClass>Object_1</uax:NodeClass>\n    <uax:NodeId>\n      <uax:Identifier>ns=1;i=27</uax:Identifier>\n    </uax:NodeId>\n    <uax:BrowseName>\n      <uax:NamespaceIndex>0</uax:NamespaceIndex>\n      <uax:Name>Default Binary</uax:Name>\n    </uax:BrowseName>\n    <uax:TypeDefinitionId>\n      <uax:Identifier>i=76</uax:Identifier>\n    </uax:TypeDefinitionId>\n    <uax:NumericId>27</uax:NumericId>\n    <uax:References>\n      <uax:Reference>\n        <uax:ReferenceTypeId>\n          <uax:Identifier>i=38</uax:Identifier>\n        </uax:ReferenceTypeId>\n        <uax:IsInverse>true</uax:IsInverse>\n        <uax:TargetId>\n          <uax:Identifier>ns=1;i=22</uax:Identifier>\n        </uax:TargetId>\n      </uax:Reference>\n      <uax:Reference>\n        <uax:ReferenceTypeId>\n          <uax:Identifier>i=39</uax:Identifier>\n        </uax:ReferenceTypeId>\n        <uax:TargetId>\n          <uax:Identifier>ns=1;i=28</uax:Identifier>\n        </uax:TargetId>\n      </uax:Reference>\n    </uax:References>\n  </DefaultBinary>\n  <cas_BinarySchema xmlns=\"http://cas.eu/UA/CommServer/UnitTests/DataTypeTest\">\n    <uax:NodeClass>Variable_2</uax:NodeClass>\n    <uax:NodeId>\n      <uax:Identifier>ns=1;i=5</uax:Identifier>\n    </uax:NodeId>\n    <uax:BrowseName>\n      <uax:NamespaceIndex>1</uax:NamespaceIndex>\n      <uax:Name>DataTypeTest</uax:Name>\n    </uax:BrowseName>\n    <uax:TypeDefinitionId>\n      <uax:Identifier>i=72</uax:Identifier>\n    </uax:TypeDefinitionId>\n    <uax:NumericId>5</uax:NumericId>\n    <uax:Value>\n      <uax:Value>\n        <uax:ByteString>PG9wYzpUeXBlRGljdGlvbmFyeQ0KICB4bWxuczpvcGM9Imh0dHA6Ly9vcGNmb3VuZGF0aW9uLm9y\nZy9CaW5hcnlTY2hlbWEvIg0KICB4bWxuczp4c2k9Imh0dHA6Ly93d3cudzMub3JnLzIwMDEvWE1M\nU2NoZW1hLWluc3RhbmNlIg0KICB4bWxuczp1YT0iaHR0cDovL29wY2ZvdW5kYXRpb24ub3JnL1VB\nLyINCiAgeG1sbnM6dG5zPSJodHRwOi8vY2FzLmV1L1VBL0NvbW1TZXJ2ZXIvVW5pdFRlc3RzL0Rh\ndGFUeXBlVGVzdCINCiAgRGVmYXVsdEJ5dGVPcmRlcj0iTGl0dGxlRW5kaWFuIg0KICBUYXJnZXRO\nYW1lc3BhY2U9Imh0dHA6Ly9jYXMuZXUvVUEvQ29tbVNlcnZlci9Vbml0VGVzdHMvRGF0YVR5cGVU\nZXN0Ig0KPg0KICA8b3BjOkltcG9ydCBOYW1lc3BhY2U9Imh0dHA6Ly9vcGNmb3VuZGF0aW9uLm9y\nZy9VQS8iIExvY2F0aW9uPSIuQmluYXJ5U2NoZW1hLmJzZCIvPg0KDQogIDxvcGM6RW51bWVyYXRl\nZFR5cGUgTmFtZT0iQWJzdHJhY3RFbnVtZXJhdGlvbkRhdGFUeXBlIiBMZW5ndGhJbkJpdHM9IjMy\nIj4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJGaWVsZDEiIFZhbHVlPSIwIiAvPg0K\nICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IkZpZWxkMiIgVmFsdWU9IjEiIC8+DQogIDwv\nb3BjOkVudW1lcmF0ZWRUeXBlPg0KDQogIDxvcGM6RW51bWVyYXRlZFR5cGUgTmFtZT0iRW51bWVy\nYXRpb25EYXRhVHlwZSIgTGVuZ3RoSW5CaXRzPSIzMiI+DQogICAgPG9wYzpEb2N1bWVudGF0aW9u\nPkVudW1lcmF0aW9uIERhdGFUeXBlIGRlcml2ZWQgZnJvbSBhYnN0cmFjdCB0eXBlPC9vcGM6RG9j\ndW1lbnRhdGlvbj4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJGaWVsZDEiIFZhbHVl\nPSIwIiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IkZpZWxkMiIgVmFsdWU9IjEi\nIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iRmllbGQzIiBWYWx1ZT0iMSIgLz4N\nCiAgPC9vcGM6RW51bWVyYXRlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJB\nYnN0cmFjdFN0cnVjdHVyZSIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9w\nYzpEb2N1bWVudGF0aW9uPkFic3RyYWN0IHN0cnVjdHVyZTwvb3BjOkRvY3VtZW50YXRpb24+DQog\nICAgPG9wYzpGaWVsZCBOYW1lPSJOdW1iZXIiIFR5cGVOYW1lPSJ1YTpWYXJpYW50IiAvPg0KICA8\nL29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IkRlcml2\nZWRTdHJ1Y3R1cmUiIEJhc2VUeXBlPSJ0bnM6QWJzdHJhY3RTdHJ1Y3R1cmUiPg0KICAgIDxvcGM6\nRmllbGQgTmFtZT0iTnVtYmVyIiBUeXBlTmFtZT0idWE6VmFyaWFudCIgU291cmNlVHlwZT0idG5z\nOkFic3RyYWN0U3RydWN0dXJlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTnVtYmVyIiBUeXBl\nTmFtZT0ib3BjOkludDMyIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KPC9vcGM6VHlw\nZURpY3Rpb25hcnk+</uax:ByteString>\n      </uax:Value>\n    </uax:Value>\n    <uax:DataType>\n      <uax:Identifier>i=15</uax:Identifier>\n    </uax:DataType>\n    <uax:ValueRank>-1</uax:ValueRank>\n    <uax:AccessLevel>1</uax:AccessLevel>\n    <uax:UserAccessLevel>1</uax:UserAccessLevel>\n    <uax:References>\n      <uax:Reference>\n        <uax:ReferenceTypeId>\n          <uax:Identifier>i=47</uax:Identifier>\n        </uax:ReferenceTypeId>\n        <uax:IsInverse>true</uax:IsInverse>\n        <uax:TargetId>\n          <uax:Identifier>i=93</uax:Identifier>\n        </uax:TargetId>\n      </uax:Reference>\n    </uax:References>\n    <NamespaceUri xmlns=\"http://opcfoundation.org/UA/\">\n      <uax:NodeClass>Variable_2</uax:NodeClass>\n      <uax:NodeId>\n        <uax:Identifier>ns=1;i=7</uax:Identifier>\n      </uax:NodeId>\n      <uax:BrowseName>\n        <uax:NamespaceIndex>0</uax:NamespaceIndex>\n        <uax:Name>NamespaceUri</uax:Name>\n      </uax:BrowseName>\n      <uax:ReferenceTypeId>\n        <uax:Identifier>i=46</uax:Identifier>\n      </uax:ReferenceTypeId>\n      <uax:TypeDefinitionId>\n        <uax:Identifier>i=68</uax:Identifier>\n      </uax:TypeDefinitionId>\n      <uax:NumericId>7</uax:NumericId>\n      <uax:Value>\n        <uax:Value>\n          <uax:String>http://cas.eu/UA/CommServer/UnitTests/DataTypeTest</uax:String>\n        </uax:Value>\n      </uax:Value>\n      <uax:DataType>\n        <uax:Identifier>i=12</uax:Identifier>\n      </uax:DataType>\n      <uax:ValueRank>-1</uax:ValueRank>\n      <uax:AccessLevel>1</uax:AccessLevel>\n      <uax:UserAccessLevel>1</uax:UserAccessLevel>\n    </NamespaceUri>\n    <Deprecated xmlns=\"http://opcfoundation.org/UA/\">\n      <uax:NodeClass>Variable_2</uax:NodeClass>\n      <uax:NodeId>\n        <uax:Identifier>ns=1;i=1</uax:Identifier>\n      </uax:NodeId>\n      <uax:BrowseName>\n        <uax:NamespaceIndex>0</uax:NamespaceIndex>\n        <uax:Name>Deprecated</uax:Name>\n      </uax:BrowseName>\n      <uax:ReferenceTypeId>\n        <uax:Identifier>i=46</uax:Identifier>\n      </uax:ReferenceTypeId>\n      <uax:TypeDefinitionId>\n        <uax:Identifier>i=68</uax:Identifier>\n      </uax:TypeDefinitionId>\n      <uax:NumericId>1</uax:NumericId>\n      <uax:Value>\n        <uax:Value>\n          <uax:Boolean>true</uax:Boolean>\n        </uax:Value>\n      </uax:Value>\n      <uax:DataType>\n        <uax:Identifier>i=1</uax:Identifier>\n      </uax:DataType>\n      <uax:ValueRank>-1</uax:ValueRank>\n      <uax:AccessLevel>1</uax:AccessLevel>\n      <uax:UserAccessLevel>1</uax:UserAccessLevel>\n    </Deprecated>\n    <AbstractStructure>\n      <uax:NodeClass>Variable_2</uax:NodeClass>\n      <uax:NodeId>\n        <uax:Identifier>ns=1;i=19</uax:Identifier>\n      </uax:NodeId>\n      <uax:BrowseName>\n        <uax:NamespaceIndex>1</uax:NamespaceIndex>\n        <uax:Name>AbstractStructure</uax:Name>\n      </uax:BrowseName>\n      <uax:ReferenceTypeId>\n        <uax:Identifier>i=47</uax:Identifier>\n      </uax:ReferenceTypeId>\n      <uax:TypeDefinitionId>\n        <uax:Identifier>i=69</uax:Identifier>\n      </uax:TypeDefinitionId>\n      <uax:NumericId>19</uax:NumericId>\n      <uax:Value>\n        <uax:Value>\n          <uax:String>AbstractStructure</uax:String>\n        </uax:Value>\n      </uax:Value>\n      <uax:DataType>\n        <uax:Identifier>i=12</uax:Identifier>\n      </uax:DataType>\n      <uax:ValueRank>-1</uax:ValueRank>\n      <uax:AccessLevel>1</uax:AccessLevel>\n      <uax:UserAccessLevel>1</uax:UserAccessLevel>\n    </AbstractStructure>\n    <DerivedStructure>\n      <uax:NodeClass>Variable_2</uax:NodeClass>\n      <uax:NodeId>\n        <uax:Identifier>ns=1;i=28</uax:Identifier>\n      </uax:NodeId>\n      <uax:BrowseName>\n        <uax:NamespaceIndex>1</uax:NamespaceIndex>\n        <uax:Name>DerivedStructure</uax:Name>\n      </uax:BrowseName>\n      <uax:ReferenceTypeId>\n        <uax:Identifier>i=47</uax:Identifier>\n      </uax:ReferenceTypeId>\n      <uax:TypeDefinitionId>\n        <uax:Identifier>i=69</uax:Identifier>\n      </uax:TypeDefinitionId>\n      <uax:NumericId>28</uax:NumericId>\n      <uax:Value>\n        <uax:Value>\n          <uax:String>DerivedStructure</uax:String>\n        </uax:Value>\n      </uax:Value>\n      <uax:DataType>\n        <uax:Identifier>i=12</uax:Identifier>\n      </uax:DataType>\n      <uax:ValueRank>-1</uax:ValueRank>\n      <uax:AccessLevel>1</uax:AccessLevel>\n      <uax:UserAccessLevel>1</uax:UserAccessLevel>\n    </DerivedStructure>\n  </cas_BinarySchema>\n  <DefaultXml xmlns=\"http://opcfoundation.org/UA/\">\n    <uax:NodeClass>Object_1</uax:NodeClass>\n    <uax:NodeId>\n      <uax:Identifier>ns=1;i=14</uax:Identifier>\n    </uax:NodeId>\n    <uax:BrowseName>\n      <uax:NamespaceIndex>0</uax:NamespaceIndex>\n      <uax:Name>Default XML</uax:Name>\n    </uax:BrowseName>\n    <uax:TypeDefinitionId>\n      <uax:Identifier>i=76</uax:Identifier>\n    </uax:TypeDefinitionId>\n    <uax:NumericId>14</uax:NumericId>\n    <uax:References>\n      <uax:Reference>\n        <uax:ReferenceTypeId>\n          <uax:Identifier>i=38</uax:Identifier>\n        </uax:ReferenceTypeId>\n        <uax:IsInverse>true</uax:IsInverse>\n        <uax:TargetId>\n          <uax:Identifier>ns=1;i=13</uax:Identifier>\n        </uax:TargetId>\n      </uax:Reference>\n      <uax:Reference>\n        <uax:ReferenceTypeId>\n          <uax:Identifier>i=39</uax:Identifier>\n        </uax:ReferenceTypeId>\n        <uax:TargetId>\n          <uax:Identifier>ns=1;i=15</uax:Identifier>\n        </uax:TargetId>\n      </uax:Reference>\n    </uax:References>\n  </DefaultXml>\n  <DefaultXml xmlns=\"http://opcfoundation.org/UA/\">\n    <uax:NodeClass>Object_1</uax:NodeClass>\n    <uax:NodeId>\n      <uax:Identifier>ns=1;i=23</uax:Identifier>\n    </uax:NodeId>\n    <uax:BrowseName>\n      <uax:NamespaceIndex>0</uax:NamespaceIndex>\n      <uax:Name>Default XML</uax:Name>\n    </uax:BrowseName>\n    <uax:TypeDefinitionId>\n      <uax:Identifier>i=76</uax:Identifier>\n    </uax:TypeDefinitionId>\n    <uax:NumericId>23</uax:NumericId>\n    <uax:References>\n      <uax:Reference>\n        <uax:ReferenceTypeId>\n          <uax:Identifier>i=38</uax:Identifier>\n        </uax:ReferenceTypeId>\n        <uax:IsInverse>true</uax:IsInverse>\n        <uax:TargetId>\n          <uax:Identifier>ns=1;i=22</uax:Identifier>\n        </uax:TargetId>\n      </uax:Reference>\n      <uax:Reference>\n        <uax:ReferenceTypeId>\n          <uax:Identifier>i=39</uax:Identifier>\n        </uax:ReferenceTypeId>\n        <uax:TargetId>\n          <uax:Identifier>ns=1;i=24</uax:Identifier>\n        </uax:TargetId>\n      </uax:Reference>\n    </uax:References>\n  </DefaultXml>\n  <cas_XmlSchema xmlns=\"http://cas.eu/UA/CommServer/UnitTests/DataTypeTest\">\n    <uax:NodeClass>Variable_2</uax:NodeClass>\n    <uax:NodeId>\n      <uax:Identifier>ns=1;i=2</uax:Identifier>\n    </uax:NodeId>\n    <uax:BrowseName>\n      <uax:NamespaceIndex>1</uax:NamespaceIndex>\n      <uax:Name>DataTypeTest</uax:Name>\n    </uax:BrowseName>\n    <uax:TypeDefinitionId>\n      <uax:Identifier>i=72</uax:Identifier>\n    </uax:TypeDefinitionId>\n    <uax:NumericId>2</uax:NumericId>\n    <uax:Value>\n      <uax:Value>\n        <uax:ByteString>PHhzOnNjaGVtYQ0KICB4bWxuczp4cz0iaHR0cDovL3d3dy53My5vcmcvMjAwMS9YTUxTY2hlbWEi\nDQogIHhtbG5zOnVhPSJodHRwOi8vb3BjZm91bmRhdGlvbi5vcmcvVUEvMjAwOC8wMi9UeXBlcy54\nc2QiDQogIHhtbG5zOnRucz0iaHR0cDovL2Nhcy5ldS9VQS9Db21tU2VydmVyL1VuaXRUZXN0cy9E\nYXRhVHlwZVRlc3QiDQogIHRhcmdldE5hbWVzcGFjZT0iaHR0cDovL2Nhcy5ldS9VQS9Db21tU2Vy\ndmVyL1VuaXRUZXN0cy9EYXRhVHlwZVRlc3QiDQogIGVsZW1lbnRGb3JtRGVmYXVsdD0icXVhbGlm\naWVkIg0KPg0KICA8eHM6aW1wb3J0IG5hbWVzcGFjZT0iaHR0cDovL29wY2ZvdW5kYXRpb24ub3Jn\nL1VBLyIgLz4NCg0KICA8eHM6c2ltcGxlVHlwZSAgbmFtZT0iQWJzdHJhY3RFbnVtZXJhdGlvbkRh\ndGFUeXBlIj4NCiAgICA8eHM6cmVzdHJpY3Rpb24gYmFzZT0ieHM6c3RyaW5nIj4NCiAgICAgIDx4\nczplbnVtZXJhdGlvbiB2YWx1ZT0iRmllbGQxXzAiIC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24g\ndmFsdWU9IkZpZWxkMl8xIiAvPg0KICAgIDwveHM6cmVzdHJpY3Rpb24+DQogIDwveHM6c2ltcGxl\nVHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iQWJzdHJhY3RFbnVtZXJhdGlvbkRhdGFUeXBlIiB0\neXBlPSJ0bnM6QWJzdHJhY3RFbnVtZXJhdGlvbkRhdGFUeXBlIiAvPg0KDQogIDx4czpjb21wbGV4\nVHlwZSBuYW1lPSJMaXN0T2ZBYnN0cmFjdEVudW1lcmF0aW9uRGF0YVR5cGUiPg0KICAgIDx4czpz\nZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkFic3RyYWN0RW51bWVyYXRpb25EYXRh\nVHlwZSIgdHlwZT0idG5zOkFic3RyYWN0RW51bWVyYXRpb25EYXRhVHlwZSIgbWluT2NjdXJzPSIw\nIiBtYXhPY2N1cnM9InVuYm91bmRlZCIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNv\nbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJMaXN0T2ZBYnN0cmFjdEVudW1lcmF0aW9u\nRGF0YVR5cGUiIHR5cGU9InRuczpMaXN0T2ZBYnN0cmFjdEVudW1lcmF0aW9uRGF0YVR5cGUiIG5p\nbGxhYmxlPSJ0cnVlIj48L3hzOmVsZW1lbnQ+DQoNCiAgPHhzOnNpbXBsZVR5cGUgIG5hbWU9IkVu\ndW1lcmF0aW9uRGF0YVR5cGUiPg0KICAgIDx4czphbm5vdGF0aW9uPg0KICAgICAgPHhzOmRvY3Vt\nZW50YXRpb24+RW51bWVyYXRpb24gRGF0YVR5cGUgZGVyaXZlZCBmcm9tIGFic3RyYWN0IHR5cGU8\nL3hzOmRvY3VtZW50YXRpb24+DQogICAgPC94czphbm5vdGF0aW9uPg0KICAgIDx4czpyZXN0cmlj\ndGlvbiBiYXNlPSJ4czpzdHJpbmciPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJGaWVs\nZDNfMSIgLz4NCiAgICA8L3hzOnJlc3RyaWN0aW9uPg0KICA8L3hzOnNpbXBsZVR5cGU+DQogIDx4\nczplbGVtZW50IG5hbWU9IkVudW1lcmF0aW9uRGF0YVR5cGUiIHR5cGU9InRuczpFbnVtZXJhdGlv\nbkRhdGFUeXBlIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJMaXN0T2ZFbnVtZXJhdGlv\nbkRhdGFUeXBlIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJF\nbnVtZXJhdGlvbkRhdGFUeXBlIiB0eXBlPSJ0bnM6RW51bWVyYXRpb25EYXRhVHlwZSIgbWluT2Nj\ndXJzPSIwIiBtYXhPY2N1cnM9InVuYm91bmRlZCIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8\nL3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJMaXN0T2ZFbnVtZXJhdGlvbkRh\ndGFUeXBlIiB0eXBlPSJ0bnM6TGlzdE9mRW51bWVyYXRpb25EYXRhVHlwZSIgbmlsbGFibGU9InRy\ndWUiPjwveHM6ZWxlbWVudD4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iQWJzdHJhY3RTdHJ1\nY3R1cmUiPg0KICAgIDx4czphbm5vdGF0aW9uPg0KICAgICAgPHhzOmRvY3VtZW50YXRpb24+QWJz\ndHJhY3Qgc3RydWN0dXJlPC94czpkb2N1bWVudGF0aW9uPg0KICAgIDwveHM6YW5ub3RhdGlvbj4N\nCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJOdW1iZXIiIHR5cGU9\nInVhOlZhcmlhbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hz\nOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJBYnN0cmFjdFN0cnVjdHVyZSIgdHlw\nZT0idG5zOkFic3RyYWN0U3RydWN0dXJlIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJM\naXN0T2ZBYnN0cmFjdFN0cnVjdHVyZSI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVs\nZW1lbnQgbmFtZT0iQWJzdHJhY3RTdHJ1Y3R1cmUiIHR5cGU9InRuczpBYnN0cmFjdFN0cnVjdHVy\nZSIgbWluT2NjdXJzPSIwIiBtYXhPY2N1cnM9InVuYm91bmRlZCIgbmlsbGFibGU9InRydWUiIC8+\nDQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQg\nbmFtZT0iTGlzdE9mQWJzdHJhY3RTdHJ1Y3R1cmUiIHR5cGU9InRuczpMaXN0T2ZBYnN0cmFjdFN0\ncnVjdHVyZSIgbmlsbGFibGU9InRydWUiPjwveHM6ZWxlbWVudD4NCg0KICA8eHM6Y29tcGxleFR5\ncGUgbmFtZT0iRGVyaXZlZFN0cnVjdHVyZSI+DQogICAgPHhzOmNvbXBsZXhDb250ZW50IG1peGVk\nPSJmYWxzZSI+DQogICAgICA8eHM6ZXh0ZW5zaW9uIGJhc2U9InRuczpBYnN0cmFjdFN0cnVjdHVy\nZSI+DQogICAgICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJO\ndW1iZXIiIHR5cGU9InhzOmludCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgICA8L3hzOnNlcXVl\nbmNlPg0KICAgICAgPC94czpleHRlbnNpb24+DQogICAgPC94czpjb21wbGV4Q29udGVudD4NCiAg\nPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iRGVyaXZlZFN0cnVjdHVyZSIg\ndHlwZT0idG5zOkRlcml2ZWRTdHJ1Y3R1cmUiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9\nIkxpc3RPZkRlcml2ZWRTdHJ1Y3R1cmUiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czpl\nbGVtZW50IG5hbWU9IkRlcml2ZWRTdHJ1Y3R1cmUiIHR5cGU9InRuczpEZXJpdmVkU3RydWN0dXJl\nIiBtaW5PY2N1cnM9IjAiIG1heE9jY3Vycz0idW5ib3VuZGVkIiBuaWxsYWJsZT0idHJ1ZSIgLz4N\nCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBu\nYW1lPSJMaXN0T2ZEZXJpdmVkU3RydWN0dXJlIiB0eXBlPSJ0bnM6TGlzdE9mRGVyaXZlZFN0cnVj\ndHVyZSIgbmlsbGFibGU9InRydWUiPjwveHM6ZWxlbWVudD4NCg0KPC94czpzY2hlbWE+</uax:ByteString>\n      </uax:Value>\n    </uax:Value>\n    <uax:DataType>\n      <uax:Identifier>i=15</uax:Identifier>\n    </uax:DataType>\n    <uax:ValueRank>-1</uax:ValueRank>\n    <uax:AccessLevel>1</uax:AccessLevel>\n    <uax:UserAccessLevel>1</uax:UserAccessLevel>\n    <uax:References>\n      <uax:Reference>\n        <uax:ReferenceTypeId>\n          <uax:Identifier>i=47</uax:Identifier>\n        </uax:ReferenceTypeId>\n        <uax:IsInverse>true</uax:IsInverse>\n        <uax:TargetId>\n          <uax:Identifier>i=92</uax:Identifier>\n        </uax:TargetId>\n      </uax:Reference>\n    </uax:References>\n    <NamespaceUri xmlns=\"http://opcfoundation.org/UA/\">\n      <uax:NodeClass>Variable_2</uax:NodeClass>\n      <uax:NodeId>\n        <uax:Identifier>ns=1;i=4</uax:Identifier>\n      </uax:NodeId>\n      <uax:BrowseName>\n        <uax:NamespaceIndex>0</uax:NamespaceIndex>\n        <uax:Name>NamespaceUri</uax:Name>\n      </uax:BrowseName>\n      <uax:ReferenceTypeId>\n        <uax:Identifier>i=46</uax:Identifier>\n      </uax:ReferenceTypeId>\n      <uax:TypeDefinitionId>\n        <uax:Identifier>i=68</uax:Identifier>\n      </uax:TypeDefinitionId>\n      <uax:NumericId>4</uax:NumericId>\n      <uax:Value>\n        <uax:Value>\n          <uax:String>http://cas.eu/UA/CommServer/UnitTests/DataTypeTest</uax:String>\n        </uax:Value>\n      </uax:Value>\n      <uax:DataType>\n        <uax:Identifier>i=12</uax:Identifier>\n      </uax:DataType>\n      <uax:ValueRank>-1</uax:ValueRank>\n      <uax:AccessLevel>1</uax:AccessLevel>\n      <uax:UserAccessLevel>1</uax:UserAccessLevel>\n    </NamespaceUri>\n    <Deprecated xmlns=\"http://opcfoundation.org/UA/\">\n      <uax:NodeClass>Variable_2</uax:NodeClass>\n      <uax:NodeId>\n        <uax:Identifier>ns=1;i=8</uax:Identifier>\n      </uax:NodeId>\n      <uax:BrowseName>\n        <uax:NamespaceIndex>0</uax:NamespaceIndex>\n        <uax:Name>Deprecated</uax:Name>\n      </uax:BrowseName>\n      <uax:ReferenceTypeId>\n        <uax:Identifier>i=46</uax:Identifier>\n      </uax:ReferenceTypeId>\n      <uax:TypeDefinitionId>\n        <uax:Identifier>i=68</uax:Identifier>\n      </uax:TypeDefinitionId>\n      <uax:NumericId>8</uax:NumericId>\n      <uax:Value>\n        <uax:Value>\n          <uax:Boolean>true</uax:Boolean>\n        </uax:Value>\n      </uax:Value>\n      <uax:DataType>\n        <uax:Identifier>i=1</uax:Identifier>\n      </uax:DataType>\n      <uax:ValueRank>-1</uax:ValueRank>\n      <uax:AccessLevel>1</uax:AccessLevel>\n      <uax:UserAccessLevel>1</uax:UserAccessLevel>\n    </Deprecated>\n    <AbstractStructure>\n      <uax:NodeClass>Variable_2</uax:NodeClass>\n      <uax:NodeId>\n        <uax:Identifier>ns=1;i=15</uax:Identifier>\n      </uax:NodeId>\n      <uax:BrowseName>\n        <uax:NamespaceIndex>1</uax:NamespaceIndex>\n        <uax:Name>AbstractStructure</uax:Name>\n      </uax:BrowseName>\n      <uax:ReferenceTypeId>\n        <uax:Identifier>i=47</uax:Identifier>\n      </uax:ReferenceTypeId>\n      <uax:TypeDefinitionId>\n        <uax:Identifier>i=69</uax:Identifier>\n      </uax:TypeDefinitionId>\n      <uax:NumericId>15</uax:NumericId>\n      <uax:Value>\n        <uax:Value>\n          <uax:String>//xs:element[@name='AbstractStructure']</uax:String>\n        </uax:Value>\n      </uax:Value>\n      <uax:DataType>\n        <uax:Identifier>i=12</uax:Identifier>\n      </uax:DataType>\n      <uax:ValueRank>-1</uax:ValueRank>\n      <uax:AccessLevel>1</uax:AccessLevel>\n      <uax:UserAccessLevel>1</uax:UserAccessLevel>\n    </AbstractStructure>\n    <DerivedStructure>\n      <uax:NodeClass>Variable_2</uax:NodeClass>\n      <uax:NodeId>\n        <uax:Identifier>ns=1;i=24</uax:Identifier>\n      </uax:NodeId>\n      <uax:BrowseName>\n        <uax:NamespaceIndex>1</uax:NamespaceIndex>\n        <uax:Name>DerivedStructure</uax:Name>\n      </uax:BrowseName>\n      <uax:ReferenceTypeId>\n        <uax:Identifier>i=47</uax:Identifier>\n      </uax:ReferenceTypeId>\n      <uax:TypeDefinitionId>\n        <uax:Identifier>i=69</uax:Identifier>\n      </uax:TypeDefinitionId>\n      <uax:NumericId>24</uax:NumericId>\n      <uax:Value>\n        <uax:Value>\n          <uax:String>//xs:element[@name='DerivedStructure']</uax:String>\n        </uax:Value>\n      </uax:Value>\n      <uax:DataType>\n        <uax:Identifier>i=12</uax:Identifier>\n      </uax:DataType>\n      <uax:ValueRank>-1</uax:ValueRank>\n      <uax:AccessLevel>1</uax:AccessLevel>\n      <uax:UserAccessLevel>1</uax:UserAccessLevel>\n    </DerivedStructure>\n  </cas_XmlSchema>\n  <DefaultJson xmlns=\"http://opcfoundation.org/UA/\">\n    <uax:NodeClass>Object_1</uax:NodeClass>\n    <uax:NodeId>\n      <uax:Identifier>ns=1;i=31</uax:Identifier>\n    </uax:NodeId>\n    <uax:BrowseName>\n      <uax:NamespaceIndex>0</uax:NamespaceIndex>\n      <uax:Name>Default JSON</uax:Name>\n    </uax:BrowseName>\n    <uax:TypeDefinitionId>\n      <uax:Identifier>i=76</uax:Identifier>\n    </uax:TypeDefinitionId>\n    <uax:NumericId>31</uax:NumericId>\n    <uax:References>\n      <uax:Reference>\n        <uax:ReferenceTypeId>\n          <uax:Identifier>i=38</uax:Identifier>\n        </uax:ReferenceTypeId>\n        <uax:IsInverse>true</uax:IsInverse>\n        <uax:TargetId>\n          <uax:Identifier>ns=1;i=13</uax:Identifier>\n        </uax:TargetId>\n      </uax:Reference>\n    </uax:References>\n  </DefaultJson>\n  <DefaultJson xmlns=\"http://opcfoundation.org/UA/\">\n    <uax:NodeClass>Object_1</uax:NodeClass>\n    <uax:NodeId>\n      <uax:Identifier>ns=1;i=32</uax:Identifier>\n    </uax:NodeId>\n    <uax:BrowseName>\n      <uax:NamespaceIndex>0</uax:NamespaceIndex>\n      <uax:Name>Default JSON</uax:Name>\n    </uax:BrowseName>\n    <uax:TypeDefinitionId>\n      <uax:Identifier>i=76</uax:Identifier>\n    </uax:TypeDefinitionId>\n    <uax:NumericId>32</uax:NumericId>\n    <uax:References>\n      <uax:Reference>\n        <uax:ReferenceTypeId>\n          <uax:Identifier>i=38</uax:Identifier>\n        </uax:ReferenceTypeId>\n        <uax:IsInverse>true</uax:IsInverse>\n        <uax:TargetId>\n          <uax:Identifier>ns=1;i=22</uax:Identifier>\n        </uax:TargetId>\n      </uax:Reference>\n    </uax:References>\n  </DefaultJson>\n</uax:ListOfNodeState>"
  },
  {
    "path": "SemanticData/Tests/USNodeSetValidationUnitTestProject/XMLModels/CorrectModels/DataTypeTest/DataTypeTest.Types.bsd",
    "content": "<opc:TypeDictionary\n  xmlns:opc=\"http://opcfoundation.org/BinarySchema/\"\n  xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\"\n  xmlns:ua=\"http://opcfoundation.org/UA/\"\n  xmlns:tns=\"http://cas.eu/UA/CommServer/UnitTests/DataTypeTest\"\n  DefaultByteOrder=\"LittleEndian\"\n  TargetNamespace=\"http://cas.eu/UA/CommServer/UnitTests/DataTypeTest\"\n>\n  <opc:Import Namespace=\"http://opcfoundation.org/UA/\" Location=\".BinarySchema.bsd\"/>\n\n  <opc:EnumeratedType Name=\"AbstractEnumerationDataType\" LengthInBits=\"32\">\n    <opc:EnumeratedValue Name=\"Field1\" Value=\"0\" />\n    <opc:EnumeratedValue Name=\"Field2\" Value=\"1\" />\n  </opc:EnumeratedType>\n\n  <opc:EnumeratedType Name=\"EnumerationDataType\" LengthInBits=\"32\">\n    <opc:Documentation>Enumeration DataType derived from abstract type</opc:Documentation>\n    <opc:EnumeratedValue Name=\"Field1\" Value=\"0\" />\n    <opc:EnumeratedValue Name=\"Field2\" Value=\"1\" />\n    <opc:EnumeratedValue Name=\"Field3\" Value=\"1\" />\n  </opc:EnumeratedType>\n\n  <opc:StructuredType Name=\"AbstractStructure\" BaseType=\"ua:ExtensionObject\">\n    <opc:Documentation>Abstract structure</opc:Documentation>\n    <opc:Field Name=\"Number\" TypeName=\"ua:Variant\" />\n  </opc:StructuredType>\n\n  <opc:StructuredType Name=\"DerivedStructure\" BaseType=\"tns:AbstractStructure\">\n    <opc:Field Name=\"Number\" TypeName=\"ua:Variant\" SourceType=\"tns:AbstractStructure\" />\n    <opc:Field Name=\"Number\" TypeName=\"opc:Int32\" />\n  </opc:StructuredType>\n\n</opc:TypeDictionary>"
  },
  {
    "path": "SemanticData/Tests/USNodeSetValidationUnitTestProject/XMLModels/CorrectModels/DataTypeTest/DataTypeTest.Types.xsd",
    "content": "<xs:schema\n  xmlns:xs=\"http://www.w3.org/2001/XMLSchema\"\n  xmlns:ua=\"http://opcfoundation.org/UA/2008/02/Types.xsd\"\n  xmlns:tns=\"http://cas.eu/UA/CommServer/UnitTests/DataTypeTest\"\n  targetNamespace=\"http://cas.eu/UA/CommServer/UnitTests/DataTypeTest\"\n  elementFormDefault=\"qualified\"\n>\n  <xs:import namespace=\"http://opcfoundation.org/UA/\" />\n\n  <xs:simpleType  name=\"AbstractEnumerationDataType\">\n    <xs:restriction base=\"xs:string\">\n      <xs:enumeration value=\"Field1_0\" />\n      <xs:enumeration value=\"Field2_1\" />\n    </xs:restriction>\n  </xs:simpleType>\n  <xs:element name=\"AbstractEnumerationDataType\" type=\"tns:AbstractEnumerationDataType\" />\n\n  <xs:complexType name=\"ListOfAbstractEnumerationDataType\">\n    <xs:sequence>\n      <xs:element name=\"AbstractEnumerationDataType\" type=\"tns:AbstractEnumerationDataType\" minOccurs=\"0\" maxOccurs=\"unbounded\" />\n    </xs:sequence>\n  </xs:complexType>\n  <xs:element name=\"ListOfAbstractEnumerationDataType\" type=\"tns:ListOfAbstractEnumerationDataType\" nillable=\"true\"></xs:element>\n\n  <xs:simpleType  name=\"EnumerationDataType\">\n    <xs:annotation>\n      <xs:documentation>Enumeration DataType derived from abstract type</xs:documentation>\n    </xs:annotation>\n    <xs:restriction base=\"xs:string\">\n      <xs:enumeration value=\"Field3_1\" />\n    </xs:restriction>\n  </xs:simpleType>\n  <xs:element name=\"EnumerationDataType\" type=\"tns:EnumerationDataType\" />\n\n  <xs:complexType name=\"ListOfEnumerationDataType\">\n    <xs:sequence>\n      <xs:element name=\"EnumerationDataType\" type=\"tns:EnumerationDataType\" minOccurs=\"0\" maxOccurs=\"unbounded\" />\n    </xs:sequence>\n  </xs:complexType>\n  <xs:element name=\"ListOfEnumerationDataType\" type=\"tns:ListOfEnumerationDataType\" nillable=\"true\"></xs:element>\n\n  <xs:complexType name=\"AbstractStructure\">\n    <xs:annotation>\n      <xs:documentation>Abstract structure</xs:documentation>\n    </xs:annotation>\n    <xs:sequence>\n      <xs:element name=\"Number\" type=\"ua:Variant\" minOccurs=\"0\" />\n    </xs:sequence>\n  </xs:complexType>\n  <xs:element name=\"AbstractStructure\" type=\"tns:AbstractStructure\" />\n\n  <xs:complexType name=\"ListOfAbstractStructure\">\n    <xs:sequence>\n      <xs:element name=\"AbstractStructure\" type=\"tns:AbstractStructure\" minOccurs=\"0\" maxOccurs=\"unbounded\" nillable=\"true\" />\n    </xs:sequence>\n  </xs:complexType>\n  <xs:element name=\"ListOfAbstractStructure\" type=\"tns:ListOfAbstractStructure\" nillable=\"true\"></xs:element>\n\n  <xs:complexType name=\"DerivedStructure\">\n    <xs:complexContent mixed=\"false\">\n      <xs:extension base=\"tns:AbstractStructure\">\n        <xs:sequence>\n          <xs:element name=\"Number\" type=\"xs:int\" minOccurs=\"0\" />\n        </xs:sequence>\n      </xs:extension>\n    </xs:complexContent>\n  </xs:complexType>\n  <xs:element name=\"DerivedStructure\" type=\"tns:DerivedStructure\" />\n\n  <xs:complexType name=\"ListOfDerivedStructure\">\n    <xs:sequence>\n      <xs:element name=\"DerivedStructure\" type=\"tns:DerivedStructure\" minOccurs=\"0\" maxOccurs=\"unbounded\" nillable=\"true\" />\n    </xs:sequence>\n  </xs:complexType>\n  <xs:element name=\"ListOfDerivedStructure\" type=\"tns:ListOfDerivedStructure\" nillable=\"true\"></xs:element>\n\n</xs:schema>"
  },
  {
    "path": "SemanticData/Tests/USNodeSetValidationUnitTestProject/XMLModels/CorrectModels/DataTypeTest.csv",
    "content": "cas_BinarySchema_Deprecated,1,Variable\ncas_XmlSchema,2,Variable\ncas_XmlSchema_DataTypeVersion,3,Variable\ncas_XmlSchema_NamespaceUri,4,Variable\ncas_BinarySchema,5,Variable\ncas_BinarySchema_DataTypeVersion,6,Variable\ncas_BinarySchema_NamespaceUri,7,Variable\ncas_XmlSchema_Deprecated,8,Variable\nAbstractEnumerationDataType,9,DataType\nAbstractEnumerationDataType_EnumStrings,10,Variable\nEnumerationDataType,11,DataType\nEnumerationDataType_EnumValues,12,Variable\nAbstractStructure,13,DataType\nAbstractStructure_Encoding_DefaultXml,14,Object\ncas_XmlSchema_AbstractStructure,15,Variable\ncas_XmlSchema_AbstractStructure_DataTypeVersion,16,Variable\ncas_XmlSchema_AbstractStructure_DictionaryFragment,17,Variable\nAbstractStructure_Encoding_DefaultBinary,18,Object\ncas_BinarySchema_AbstractStructure,19,Variable\ncas_BinarySchema_AbstractStructure_DataTypeVersion,20,Variable\ncas_BinarySchema_AbstractStructure_DictionaryFragment,21,Variable\nDerivedStructure,22,DataType\nDerivedStructure_Encoding_DefaultXml,23,Object\ncas_XmlSchema_DerivedStructure,24,Variable\ncas_XmlSchema_DerivedStructure_DataTypeVersion,25,Variable\ncas_XmlSchema_DerivedStructure_DictionaryFragment,26,Variable\nDerivedStructure_Encoding_DefaultBinary,27,Object\ncas_BinarySchema_DerivedStructure,28,Variable\ncas_BinarySchema_DerivedStructure_DataTypeVersion,29,Variable\ncas_BinarySchema_DerivedStructure_DictionaryFragment,30,Variable\nAbstractStructure_Encoding_DefaultJson,31,Object\nDerivedStructure_Encoding_DefaultJson,32,Object\n"
  },
  {
    "path": "SemanticData/Tests/USNodeSetValidationUnitTestProject/XMLModels/CorrectModels/DataTypeTest.xml",
    "content": "﻿<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<ModelDesign xmlns:cas=\"http://cas.eu/UA/CommServer/UnitTests/DataTypeTest\" xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\" xmlns:uax=\"http://opcfoundation.org/UA/2008/02/Types.xsd\" xmlns:ua=\"http://opcfoundation.org/UA/\" TargetNamespace=\"http://cas.eu/UA/CommServer/UnitTests/DataTypeTest\" xmlns=\"http://opcfoundation.org/UA/ModelDesign.xsd\">\n  <Namespaces>\n    <Namespace Name=\"cas\" Prefix=\"DataTypeTest\" XmlPrefix=\"cas\">http://cas.eu/UA/CommServer/UnitTests/DataTypeTest</Namespace>\n    <Namespace Name=\"ua\" XmlPrefix=\"ua\">http://opcfoundation.org/UA/</Namespace>\n  </Namespaces>\n  <DataType SymbolicName=\"cas:AbstractEnumerationDataType\" BaseType=\"ua:Enumeration\" IsAbstract=\"true\">\n    <Fields>\n      <Field Name=\"Field1\" Identifier=\"0\" />\n      <Field Name=\"Field2\" Identifier=\"1\" />\n    </Fields>\n  </DataType>\n  <DataType SymbolicName=\"cas:EnumerationDataType\" BaseType=\"cas:AbstractEnumerationDataType\">\n    <Description>Enumeration DataType derived from abstract type</Description>\n    <Fields>\n      <Field Name=\"Field3\" DataType=\"ua:Int32\" />\n    </Fields>\n  </DataType>\n  <DataType SymbolicName=\"cas:AbstractStructure\" BaseType=\"ua:Structure\" IsAbstract=\"true\">\n    <Description>Abstract structure</Description>\n    <Fields>\n      <Field Name=\"Number\" DataType=\"ua:Number\" />\n    </Fields>\n  </DataType>\n  <DataType SymbolicName=\"cas:DerivedStructure\" BaseType=\"cas:AbstractStructure\">\n    <Fields>\n      <Field Name=\"Number\" DataType=\"ua:Int32\">\n        <Description>Derived from Number</Description>\n      </Field>\n    </Fields>\n  </DataType>\n</ModelDesign>"
  },
  {
    "path": "SemanticData/Tests/USNodeSetValidationUnitTestProject/XMLModels/CorrectModels/GoNodeSet.cmd",
    "content": "set COMPILER=mdc\n\ndel %1\\mdc.log  /q\ndel %1\\mdc.warnings.log /q\n\"%1\\%COMPILER%\" compile --d2 \"ReferenceTest.xml\" -c \"ReferenceTest.csv\" --o2 \"ReferenceTest\"\nxcopy %1\\mdc.log .\\ReferenceTest\\mdc.log /y /i\nxcopy %1\\mdc.warnings.log .\\ReferenceTest\\mdc.warnings.log /y /i\n\ndel %1\\mdc.log  /q\ndel %1\\mdc.warnings.log /q\n\"%1\\%COMPILER%\" compile --d2 \"ObjectTypeTest.xml\" -c \"ObjectTypeTest.csv\" --o2 \"ObjectTypeTest\"\nxcopy %1\\mdc.log .\\ObjectTypeTest\\mdc.log /y /i\nxcopy %1\\mdc.warnings.log .\\ObjectTypeTest\\mdc.warnings.log /y /i\n\ndel %1\\mdc.log  /q\ndel %1\\mdc.warnings.log /q\n\"%1\\%COMPILER%\" compile --d2 \"VariableTypeTest.xml\" -c \"VariableTypeTest.csv\" --o2 \"VariableTypeTest\"\nxcopy %1\\mdc.log .\\VariableTypeTest\\mdc.log /y /i\nxcopy %1\\mdc.warnings.log .\\VariableTypeTest\\mdc.warnings.log /y /i\n\ndel %1\\mdc.log  /q\ndel %1\\mdc.warnings.log /q\n\"%1\\%COMPILER%\" compile --d2 \"DataTypeTest.xml\" -c \"DataTypeTest.csv\" --o2 \"DataTypeTest\"\nxcopy %1\\mdc.log .\\DataTypeTest\\mdc.log /y /i\nxcopy %1\\mdc.warnings.log .\\DataTypeTest\\mdc.warnings.log /y /i\n\n"
  },
  {
    "path": "SemanticData/Tests/USNodeSetValidationUnitTestProject/XMLModels/CorrectModels/ObjectTypeTest/ObjectTypeTest.Classes.cs",
    "content": "/* ========================================================================\n * Copyright (c) 2005-2021 The OPC Foundation, Inc. All rights reserved.\n *\n * OPC Foundation MIT License 1.00\n *\n * Permission is hereby granted, free of charge, to any person\n * obtaining a copy of this software and associated documentation\n * files (the \"Software\"), to deal in the Software without\n * restriction, including without limitation the rights to use,\n * copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the\n * Software is furnished to do so, subject to the following\n * conditions:\n *\n * The above copyright notice and this permission notice shall be\n * included in all copies or substantial portions of the Software.\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND,\n * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES\n * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND\n * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT\n * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,\n * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING\n * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR\n * OTHER DEALINGS IN THE SOFTWARE.\n *\n * The complete license agreement can be found here:\n * http://opcfoundation.org/License/MIT/1.00/\n * ======================================================================*/\n\nusing System;\nusing System.Collections.Generic;\nusing System.Text;\nusing System.Xml;\nusing System.Runtime.Serialization;\nusing ;\n\nnamespace ObjectTypeTest\n{\n    #region ComplexObjectState Class\n    #if (!OPCUA_EXCLUDE_ComplexObjectState)\n    /// <summary>\n    /// Stores an instance of the ComplexObjectType ObjectType.\n    /// </summary>\n    /// <exclude />\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"Opc.Ua.ModelCompiler\", \"1.0.0.0\")]\n    public partial class ComplexObjectState : ServerObjectState\n    {\n        #region Constructors\n        /// <summary>\n        /// Initializes the type with its default attribute values.\n        /// </summary>\n        public ComplexObjectState(NodeState parent) : base(parent)\n        {\n        }\n\n        /// <summary>\n        /// Returns the id of the default type definition node for the instance.\n        /// </summary>\n        protected override NodeId GetDefaultTypeDefinitionId(NamespaceTable namespaceUris)\n        {\n            return Opc.Ua.NodeId.Create(ObjectTypeTest.ObjectTypes.ComplexObjectType, ObjectTypeTest.Namespaces.cas, namespaceUris);\n        }\n\n        #if (!OPCUA_EXCLUDE_InitializationStrings)\n        /// <summary>\n        /// Initializes the instance.\n        /// </summary>\n        protected override void Initialize(ISystemContext context)\n        {\n            base.Initialize(context);\n            Initialize(context, InitializationString);\n            InitializeOptionalChildren(context);\n        }\n\n        /// <summary>\n        /// Initializes the instance with a node.\n        /// </summary>\n        protected override void Initialize(ISystemContext context, NodeState source)\n        {\n            InitializeOptionalChildren(context);\n            base.Initialize(context, source);\n        }\n\n        /// <summary>\n        /// Initializes the any option children defined for the instance.\n        /// </summary>\n        protected override void InitializeOptionalChildren(ISystemContext context)\n        {\n            base.InitializeOptionalChildren(context);\n        }\n\n        #region Initialization String\n        private const string InitializationString =\n           \"AQAAADQAAABodHRwOi8vY2FzLmV1L1VBL0NvbW1TZXJ2ZXIvVW5pdFRlc3RzL09iamVjdFR5cGVUZXN0\" +\n           \"/////wRggAIBAAAAAQAZAAAAQ29tcGxleE9iamVjdFR5cGVJbnN0YW5jZQEBxAABAcQAxAAAAP////8N\" +\n           \"AAAAF3CJCgIAAAAAAAsAAABTZXJ2ZXJBcnJheQEBxQAALgBExQAAAAAMAQAAAAEAAAAAAAAAAQEAAAAA\" +\n           \"AECPQP////8AAAAAF3CJCgIAAAAAAA4AAABOYW1lc3BhY2VBcnJheQEBxgAALgBExgAAAAAMAQAAAAEA\" +\n           \"AAAAAAAAAQEAAAAAAECPQP////8AAAAAFXCJCgIAAAAAAAwAAABTZXJ2ZXJTdGF0dXMBAccAAC8BAFoI\" +\n           \"xwAAAAEAXgP/////AQEAAAAAAECPQP////8GAAAAFWCJCgIAAAAAAAkAAABTdGFydFRpbWUBAcgAAC8A\" +\n           \"P8gAAAABACYB/////wEB/////wAAAAAVYIkKAgAAAAAACwAAAEN1cnJlbnRUaW1lAQHJAAAvAD/JAAAA\" +\n           \"AQAmAf////8BAf////8AAAAAFWCJCgIAAAAAAAUAAABTdGF0ZQEBygAALwA/ygAAAAEAVAP/////AQH/\" +\n           \"////AAAAABVgiQoCAAAAAAAJAAAAQnVpbGRJbmZvAQHLAAAvAQDrC8sAAAABAFIB/////wEB/////wYA\" +\n           \"AAAVcIkKAgAAAAAACgAAAFByb2R1Y3RVcmkBAcwAAC8AP8wAAAAADP////8BAQAAAAAAQI9A/////wAA\" +\n           \"AAAVcIkKAgAAAAAAEAAAAE1hbnVmYWN0dXJlck5hbWUBAc0AAC8AP80AAAAADP////8BAQAAAAAAQI9A\" +\n           \"/////wAAAAAVcIkKAgAAAAAACwAAAFByb2R1Y3ROYW1lAQHOAAAvAD/OAAAAAAz/////AQEAAAAAAECP\" +\n           \"QP////8AAAAAFXCJCgIAAAAAAA8AAABTb2Z0d2FyZVZlcnNpb24BAc8AAC8AP88AAAAADP////8BAQAA\" +\n           \"AAAAQI9A/////wAAAAAVcIkKAgAAAAAACwAAAEJ1aWxkTnVtYmVyAQHQAAAvAD/QAAAAAAz/////AQEA\" +\n           \"AAAAAECPQP////8AAAAAFXCJCgIAAAAAAAkAAABCdWlsZERhdGUBAdEAAC8AP9EAAAABACYB/////wEB\" +\n           \"AAAAAABAj0D/////AAAAABVgiQoCAAAAAAATAAAAU2Vjb25kc1RpbGxTaHV0ZG93bgEB0gAALwA/0gAA\" +\n           \"AAAH/////wEB/////wAAAAAVYIkKAgAAAAAADgAAAFNodXRkb3duUmVhc29uAQHTAAAvAD/TAAAAABX/\" +\n           \"////AQH/////AAAAABVwiQoCAAAAAAAMAAAAU2VydmljZUxldmVsAQHUAAAuAETUAAAAAAP/////AQEA\" +\n           \"AAAAAECPQP////8AAAAAFXCJCgIAAAAAAAgAAABBdWRpdGluZwEB1QAALgBE1QAAAAAB/////wEBAAAA\" +\n           \"AABAj0D/////AAAAAARggAoBAAAAAAASAAAAU2VydmVyQ2FwYWJpbGl0aWVzAQHWAAAvAQDdB9YAAAD/\" +\n           \"////CQAAABdgiQoCAAAAAAASAAAAU2VydmVyUHJvZmlsZUFycmF5AQHXAAAuAETXAAAAAAwBAAAAAQAA\" +\n           \"AAAAAAABAf////8AAAAAF2CJCgIAAAAAAA0AAABMb2NhbGVJZEFycmF5AQHYAAAuAETYAAAAAQAnAQEA\" +\n           \"AAABAAAAAAAAAAEB/////wAAAAAVYIkKAgAAAAAAFgAAAE1pblN1cHBvcnRlZFNhbXBsZVJhdGUBAdkA\" +\n           \"AC4ARNkAAAABACIB/////wEB/////wAAAAAVYIkKAgAAAAAAGwAAAE1heEJyb3dzZUNvbnRpbnVhdGlv\" +\n           \"blBvaW50cwEB2gAALgBE2gAAAAAF/////wEB/////wAAAAAVYIkKAgAAAAAAGgAAAE1heFF1ZXJ5Q29u\" +\n           \"dGludWF0aW9uUG9pbnRzAQHbAAAuAETbAAAAAAX/////AQH/////AAAAABVgiQoCAAAAAAAcAAAATWF4\" +\n           \"SGlzdG9yeUNvbnRpbnVhdGlvblBvaW50cwEB3AAALgBE3AAAAAAF/////wEB/////wAAAAAXYIkKAgAA\" +\n           \"AAAAFAAAAFNvZnR3YXJlQ2VydGlmaWNhdGVzAQHdAAAuAETdAAAAAQBYAQEAAAABAAAAAAAAAAEB////\" +\n           \"/wAAAAAEYIAKAQAAAAAADgAAAE1vZGVsbGluZ1J1bGVzAQHtAAAvAD3tAAAA/////wAAAAAEYIAKAQAA\" +\n           \"AAAAEgAAAEFnZ3JlZ2F0ZUZ1bmN0aW9ucwEB7gAALwA97gAAAP////8AAAAABGCACgEAAAAAABEAAABT\" +\n           \"ZXJ2ZXJEaWFnbm9zdGljcwEB7wAALwEA5AfvAAAA/////wQAAAAVYIkKAgAAAAAAGAAAAFNlcnZlckRp\" +\n           \"YWdub3N0aWNzU3VtbWFyeQEB8AAALwEAZgjwAAAAAQBbA/////8BAf////8MAAAAFWCJCgIAAAAAAA8A\" +\n           \"AABTZXJ2ZXJWaWV3Q291bnQBAfEAAC8AP/EAAAAAB/////8BAf////8AAAAAFWCJCgIAAAAAABMAAABD\" +\n           \"dXJyZW50U2Vzc2lvbkNvdW50AQHyAAAvAD/yAAAAAAf/////AQH/////AAAAABVgiQoCAAAAAAAVAAAA\" +\n           \"Q3VtdWxhdGVkU2Vzc2lvbkNvdW50AQHzAAAvAD/zAAAAAAf/////AQH/////AAAAABVgiQoCAAAAAAAc\" +\n           \"AAAAU2VjdXJpdHlSZWplY3RlZFNlc3Npb25Db3VudAEB9AAALwA/9AAAAAAH/////wEB/////wAAAAAV\" +\n           \"YIkKAgAAAAAAFAAAAFJlamVjdGVkU2Vzc2lvbkNvdW50AQH1AAAvAD/1AAAAAAf/////AQH/////AAAA\" +\n           \"ABVgiQoCAAAAAAATAAAAU2Vzc2lvblRpbWVvdXRDb3VudAEB9gAALwA/9gAAAAAH/////wEB/////wAA\" +\n           \"AAAVYIkKAgAAAAAAEQAAAFNlc3Npb25BYm9ydENvdW50AQH3AAAvAD/3AAAAAAf/////AQH/////AAAA\" +\n           \"ABVgiQoCAAAAAAAXAAAAUHVibGlzaGluZ0ludGVydmFsQ291bnQBAfgAAC8AP/gAAAAAB/////8BAf//\" +\n           \"//8AAAAAFWCJCgIAAAAAABgAAABDdXJyZW50U3Vic2NyaXB0aW9uQ291bnQBAfkAAC8AP/kAAAAAB///\" +\n           \"//8BAf////8AAAAAFWCJCgIAAAAAABoAAABDdW11bGF0ZWRTdWJzY3JpcHRpb25Db3VudAEB+gAALwA/\" +\n           \"+gAAAAAH/////wEB/////wAAAAAVYIkKAgAAAAAAHQAAAFNlY3VyaXR5UmVqZWN0ZWRSZXF1ZXN0c0Nv\" +\n           \"dW50AQH7AAAvAD/7AAAAAAf/////AQH/////AAAAABVgiQoCAAAAAAAVAAAAUmVqZWN0ZWRSZXF1ZXN0\" +\n           \"c0NvdW50AQH8AAAvAD/8AAAAAAf/////AQH/////AAAAABdgiQoCAAAAAAAcAAAAU3Vic2NyaXB0aW9u\" +\n           \"RGlhZ25vc3RpY3NBcnJheQEB/gAALwEAewj+AAAAAQBqAwEAAAABAAAAAAAAAAEB/////wAAAAAEYIAK\" +\n           \"AQAAAAAAGgAAAFNlc3Npb25zRGlhZ25vc3RpY3NTdW1tYXJ5AQH/AAAvAQDqB/8AAAD/////AgAAABdg\" +\n           \"iQoCAAAAAAAXAAAAU2Vzc2lvbkRpYWdub3N0aWNzQXJyYXkBAQABAC8BAJQIAAEAAAEAYQMBAAAAAQAA\" +\n           \"AAAAAAABAf////8AAAAAF2CJCgIAAAAAAB8AAABTZXNzaW9uU2VjdXJpdHlEaWFnbm9zdGljc0FycmF5\" +\n           \"AQEBAQAvAQDDCAEBAAABAGQDAQAAAAEAAAAAAAAAAQH/////AAAAABVgiQoCAAAAAAALAAAARW5hYmxl\" +\n           \"ZEZsYWcBAQIBAC4ARAIBAAAAAf////8DA/////8AAAAABGCACgEAAAAAABAAAABWZW5kb3JTZXJ2ZXJJ\" +\n           \"bmZvAQEDAQAvAQDxBwMBAAD/////AAAAAARggAoBAAAAAAAQAAAAU2VydmVyUmVkdW5kYW5jeQEBBAEA\" +\n           \"LwEA8gcEAQAA/////wEAAAAVYIkKAgAAAAAAEQAAAFJlZHVuZGFuY3lTdXBwb3J0AQEFAQAuAEQFAQAA\" +\n           \"AQBTA/////8BAf////8AAAAAFWDJCgIAAAARAAAAQnJvd3NlTmFtZTRub2RlNjYBAA0AAABDaGlsZFBy\" +\n           \"b3BlcnR5AQE1AQAuAEQ1AQAAABX/////AQEBAAAAAQHDAAEBASEBAAAAABVgyQoCAAAADgAAAE5hbWVO\" +\n           \"b3RTZXQxMTA5AQATAAAAQnJvd3NlTmFtZTRub2RlMTEwOQEBIQEALwEAQAkhAQAAABr/////AQEBAAAA\" +\n           \"AQHDAAABATUBAQAAABVgiQoCAAAAAAAHAAAARVVSYW5nZQEBJQEALgBEJQEAAAEAdAP/////AQH/////\" +\n           \"AAAAAARhggoEAAAAAQALAAAAQ2hpbGRNZXRob2QBAScBAC8BAScBJwEAAAEB/////wIAAAAXYKkKAgAA\" +\n           \"AAAADgAAAElucHV0QXJndW1lbnRzAQErAQAuAEQrAQAAlgIAAAABACoBARUAAAAGAAAASW5wdXQxAAb/\" +\n           \"////AAAAAAABACoBARUAAAAGAAAASW5wdXQyAAb/////AAAAAAABACgBAQAAAAEAAAAAAAAAAQH/////\" +\n           \"AAAAABdgqQoCAAAAAAAPAAAAT3V0cHV0QXJndW1lbnRzAQEsAQAuAEQsAQAAlgEAAAABACoBARYAAAAH\" +\n           \"AAAAT3V0cHV0MQAG/////wAAAAAAAQAoAQEAAAABAAAAAAAAAAEB/////wAAAAAEYYIKBAAAAAEAEwAA\" +\n           \"AE5vbkV4ZWN1dGFibGVNZXRob2QBATIBAC8BATIBMgEAAAEB/////wAAAAA=\";\n        #endregion\n        #endif\n        #endregion\n\n        #region Public Properties\n        /// <remarks />\n        public PropertyState<LocalizedText> BrowseName4node66\n        {\n            get\n            {\n                return m_browseName4node66;\n            }\n\n            set\n            {\n                if (!Object.ReferenceEquals(m_browseName4node66, value))\n                {\n                    ChangeMasks |= NodeStateChangeMasks.Children;\n                }\n\n                m_browseName4node66 = value;\n            }\n        }\n\n        /// <remarks />\n        public AnalogItemState NameNotSet1109\n        {\n            get\n            {\n                return m_nameNotSet1109;\n            }\n\n            set\n            {\n                if (!Object.ReferenceEquals(m_nameNotSet1109, value))\n                {\n                    ChangeMasks |= NodeStateChangeMasks.Children;\n                }\n\n                m_nameNotSet1109 = value;\n            }\n        }\n\n        /// <remarks />\n        public ChildMethodComplexObjectMethodState ChildMethod\n        {\n            get\n            {\n                return m_childMethodMethod;\n            }\n\n            set\n            {\n                if (!Object.ReferenceEquals(m_childMethodMethod, value))\n                {\n                    ChangeMasks |= NodeStateChangeMasks.Children;\n                }\n\n                m_childMethodMethod = value;\n            }\n        }\n\n        /// <remarks />\n        public MethodState NonExecutableMethod\n        {\n            get\n            {\n                return m_nonExecutableMethodMethod;\n            }\n\n            set\n            {\n                if (!Object.ReferenceEquals(m_nonExecutableMethodMethod, value))\n                {\n                    ChangeMasks |= NodeStateChangeMasks.Children;\n                }\n\n                m_nonExecutableMethodMethod = value;\n            }\n        }\n        #endregion\n\n        #region Overridden Methods\n        /// <summary>\n        /// Populates a list with the children that belong to the node.\n        /// </summary>\n        /// <param name=\"context\">The context for the system being accessed.</param>\n        /// <param name=\"children\">The list of children to populate.</param>\n        public override void GetChildren(\n            ISystemContext context,\n            IList<BaseInstanceState> children)\n        {\n            if (m_browseName4node66 != null)\n            {\n                children.Add(m_browseName4node66);\n            }\n\n            if (m_nameNotSet1109 != null)\n            {\n                children.Add(m_nameNotSet1109);\n            }\n\n            if (m_childMethodMethod != null)\n            {\n                children.Add(m_childMethodMethod);\n            }\n\n            if (m_nonExecutableMethodMethod != null)\n            {\n                children.Add(m_nonExecutableMethodMethod);\n            }\n\n            base.GetChildren(context, children);\n        }\n\n        /// <summary>\n        /// Finds the child with the specified browse name.\n        /// </summary>\n        protected override BaseInstanceState FindChild(\n            ISystemContext context,\n            QualifiedName browseName,\n            bool createOrReplace,\n            BaseInstanceState replacement)\n        {\n            if (QualifiedName.IsNull(browseName))\n            {\n                return null;\n            }\n\n            BaseInstanceState instance = null;\n\n            switch (browseName.Name)\n            {\n                case ObjectTypeTest.BrowseNames.BrowseName4node66:\n                {\n                    if (createOrReplace)\n                    {\n                        if (BrowseName4node66 == null)\n                        {\n                            if (replacement == null)\n                            {\n                                BrowseName4node66 = new PropertyState<LocalizedText>(this);\n                            }\n                            else\n                            {\n                                BrowseName4node66 = (PropertyState<LocalizedText>)replacement;\n                            }\n                        }\n                    }\n\n                    instance = BrowseName4node66;\n                    break;\n                }\n\n                case ObjectTypeTest.BrowseNames.NameNotSet1109:\n                {\n                    if (createOrReplace)\n                    {\n                        if (NameNotSet1109 == null)\n                        {\n                            if (replacement == null)\n                            {\n                                NameNotSet1109 = new AnalogItemState(this);\n                            }\n                            else\n                            {\n                                NameNotSet1109 = (AnalogItemState)replacement;\n                            }\n                        }\n                    }\n\n                    instance = NameNotSet1109;\n                    break;\n                }\n\n                case ObjectTypeTest.BrowseNames.ChildMethod:\n                {\n                    if (createOrReplace)\n                    {\n                        if (ChildMethod == null)\n                        {\n                            if (replacement == null)\n                            {\n                                ChildMethod = new ChildMethodComplexObjectMethodState(this);\n                            }\n                            else\n                            {\n                                ChildMethod = (ChildMethodComplexObjectMethodState)replacement;\n                            }\n                        }\n                    }\n\n                    instance = ChildMethod;\n                    break;\n                }\n\n                case ObjectTypeTest.BrowseNames.NonExecutableMethod:\n                {\n                    if (createOrReplace)\n                    {\n                        if (NonExecutableMethod == null)\n                        {\n                            if (replacement == null)\n                            {\n                                NonExecutableMethod = new MethodState(this);\n                            }\n                            else\n                            {\n                                NonExecutableMethod = (MethodState)replacement;\n                            }\n                        }\n                    }\n\n                    instance = NonExecutableMethod;\n                    break;\n                }\n            }\n\n            if (instance != null)\n            {\n                return instance;\n            }\n\n            return base.FindChild(context, browseName, createOrReplace, replacement);\n        }\n        #endregion\n\n        #region Private Fields\n        private PropertyState<LocalizedText> m_browseName4node66;\n        private AnalogItemState m_nameNotSet1109;\n        private ChildMethodComplexObjectMethodState m_childMethodMethod;\n        private MethodState m_nonExecutableMethodMethod;\n        #endregion\n    }\n    #endif\n    #endregion\n\n    #region ChildMethodComplexObjectMethodState Class\n    #if (!OPCUA_EXCLUDE_ChildMethodComplexObjectMethodState)\n    /// <summary>\n    /// Stores an instance of the ChildMethodComplexObjectType Method.\n    /// </summary>\n    /// <exclude />\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"Opc.Ua.ModelCompiler\", \"1.0.0.0\")]\n    public partial class ChildMethodComplexObjectMethodState : MethodState\n    {\n        #region Constructors\n        /// <summary>\n        /// Initializes the type with its default attribute values.\n        /// </summary>\n        public ChildMethodComplexObjectMethodState(NodeState parent) : base(parent)\n        {\n        }\n\n        /// <summary>\n        /// Constructs an instance of a node.\n        /// </summary>\n        /// <param name=\"parent\">The parent.</param>\n        /// <returns>The new node.</returns>\n        public new static NodeState Construct(NodeState parent)\n        {\n            return new ChildMethodComplexObjectMethodState(parent);\n        }\n\n        #if (!OPCUA_EXCLUDE_InitializationStrings)\n        /// <summary>\n        /// Initializes the instance.\n        /// </summary>\n        protected override void Initialize(ISystemContext context)\n        {\n            base.Initialize(context);\n            Initialize(context, InitializationString);\n            InitializeOptionalChildren(context);\n        }\n\n        /// <summary>\n        /// Initializes the any option children defined for the instance.\n        /// </summary>\n        protected override void InitializeOptionalChildren(ISystemContext context)\n        {\n            base.InitializeOptionalChildren(context);\n        }\n\n        #region Initialization String\n        private const string InitializationString =\n           \"AQAAADQAAABodHRwOi8vY2FzLmV1L1VBL0NvbW1TZXJ2ZXIvVW5pdFRlc3RzL09iamVjdFR5cGVUZXN0\" +\n           \"/////wRhggoEAAAAAQAcAAAAQ2hpbGRNZXRob2RDb21wbGV4T2JqZWN0VHlwZQEBLwEALwEBLwEvAQAA\" +\n           \"AQH/////AgAAABdgqQoCAAAAAAAOAAAASW5wdXRBcmd1bWVudHMBATABAC4ARDABAACWAgAAAAEAKgEB\" +\n           \"FQAAAAYAAABJbnB1dDEABv////8AAAAAAAEAKgEBFQAAAAYAAABJbnB1dDIABv////8AAAAAAAEAKAEB\" +\n           \"AAAAAQAAAAAAAAABAf////8AAAAAF2CpCgIAAAAAAA8AAABPdXRwdXRBcmd1bWVudHMBATEBAC4ARDEB\" +\n           \"AACWAQAAAAEAKgEBFgAAAAcAAABPdXRwdXQxAAb/////AAAAAAABACgBAQAAAAEAAAAAAAAAAQH/////\" +\n           \"AAAAAA==\";\n        #endregion\n        #endif\n        #endregion\n\n        #region Event Callbacks\n        /// <summary>\n        /// Raised when the the method is called.\n        /// </summary>\n        public ChildMethodComplexObjectMethodStateMethodCallHandler OnCall;\n        #endregion\n\n        #region Public Properties\n        #endregion\n\n        #region Overridden Methods\n        /// <summary>\n        /// Invokes the method, returns the result and output argument.\n        /// </summary>\n        protected override ServiceResult Call(\n            ISystemContext _context,\n            NodeId _objectId,\n            IList<object> _inputArguments,\n            IList<object> _outputArguments)\n        {\n            if (OnCall == null)\n            {\n                return base.Call(_context, _objectId, _inputArguments, _outputArguments);\n            }\n\n            ServiceResult result = null;\n\n            int input1 = (int)_inputArguments[0];\n            int input2 = (int)_inputArguments[1];\n\n            int output1 = (int)_outputArguments[0];\n\n            if (OnCall != null)\n            {\n                result = OnCall(\n                    _context,\n                    this,\n                    _objectId,\n                    input1,\n                    input2,\n                    ref output1);\n            }\n\n            _outputArguments[0] = output1;\n\n            return result;\n        }\n        #endregion\n\n        #region Private Fields\n        #endregion\n    }\n\n    /// <summary>\n    /// Used to receive notifications when the method is called.\n    /// </summary>\n    /// <exclude />\n    public delegate ServiceResult ChildMethodComplexObjectMethodStateMethodCallHandler(\n        ISystemContext _context,\n        MethodState _method,\n        NodeId _objectId,\n        int input1,\n        int input2,\n        ref int output1);\n    #endif\n    #endregion\n\n    #region DerivedFromComplexObjectState Class\n    #if (!OPCUA_EXCLUDE_DerivedFromComplexObjectState)\n    /// <summary>\n    /// Stores an instance of the DerivedFromComplexObjectType ObjectType.\n    /// </summary>\n    /// <exclude />\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"Opc.Ua.ModelCompiler\", \"1.0.0.0\")]\n    public partial class DerivedFromComplexObjectState : ComplexObjectState\n    {\n        #region Constructors\n        /// <summary>\n        /// Initializes the type with its default attribute values.\n        /// </summary>\n        public DerivedFromComplexObjectState(NodeState parent) : base(parent)\n        {\n        }\n\n        /// <summary>\n        /// Returns the id of the default type definition node for the instance.\n        /// </summary>\n        protected override NodeId GetDefaultTypeDefinitionId(NamespaceTable namespaceUris)\n        {\n            return Opc.Ua.NodeId.Create(ObjectTypeTest.ObjectTypes.DerivedFromComplexObjectType, ObjectTypeTest.Namespaces.cas, namespaceUris);\n        }\n\n        #if (!OPCUA_EXCLUDE_InitializationStrings)\n        /// <summary>\n        /// Initializes the instance.\n        /// </summary>\n        protected override void Initialize(ISystemContext context)\n        {\n            base.Initialize(context);\n            Initialize(context, InitializationString);\n            InitializeOptionalChildren(context);\n        }\n\n        /// <summary>\n        /// Initializes the instance with a node.\n        /// </summary>\n        protected override void Initialize(ISystemContext context, NodeState source)\n        {\n            InitializeOptionalChildren(context);\n            base.Initialize(context, source);\n        }\n\n        /// <summary>\n        /// Initializes the any option children defined for the instance.\n        /// </summary>\n        protected override void InitializeOptionalChildren(ISystemContext context)\n        {\n            base.InitializeOptionalChildren(context);\n        }\n\n        #region Initialization String\n        private const string InitializationString =\n           \"AQAAADQAAABodHRwOi8vY2FzLmV1L1VBL0NvbW1TZXJ2ZXIvVW5pdFRlc3RzL09iamVjdFR5cGVUZXN0\" +\n           \"/////wRggAIBAAAAAQAkAAAARGVyaXZlZEZyb21Db21wbGV4T2JqZWN0VHlwZUluc3RhbmNlAQE2AQEB\" +\n           \"NgE2AQAA/////w0AAAAXcIkKAgAAAAAACwAAAFNlcnZlckFycmF5AQE3AQAuAEQ3AQAAAAwBAAAAAQAA\" +\n           \"AAAAAAABAQAAAAAAQI9A/////wAAAAAXcIkKAgAAAAAADgAAAE5hbWVzcGFjZUFycmF5AQE4AQAuAEQ4\" +\n           \"AQAAAAwBAAAAAQAAAAAAAAABAQAAAAAAQI9A/////wAAAAAVcIkKAgAAAAAADAAAAFNlcnZlclN0YXR1\" +\n           \"cwEBOQEALwEAWgg5AQAAAQBeA/////8BAQAAAAAAQI9A/////wYAAAAVYIkKAgAAAAAACQAAAFN0YXJ0\" +\n           \"VGltZQEBOgEALwA/OgEAAAEAJgH/////AQH/////AAAAABVgiQoCAAAAAAALAAAAQ3VycmVudFRpbWUB\" +\n           \"ATsBAC8APzsBAAABACYB/////wEB/////wAAAAAVYIkKAgAAAAAABQAAAFN0YXRlAQE8AQAvAD88AQAA\" +\n           \"AQBUA/////8BAf////8AAAAAFWCJCgIAAAAAAAkAAABCdWlsZEluZm8BAT0BAC8BAOsLPQEAAAEAUgH/\" +\n           \"////AQH/////BgAAABVwiQoCAAAAAAAKAAAAUHJvZHVjdFVyaQEBPgEALwA/PgEAAAAM/////wEBAAAA\" +\n           \"AABAj0D/////AAAAABVwiQoCAAAAAAAQAAAATWFudWZhY3R1cmVyTmFtZQEBPwEALwA/PwEAAAAM////\" +\n           \"/wEBAAAAAABAj0D/////AAAAABVwiQoCAAAAAAALAAAAUHJvZHVjdE5hbWUBAUABAC8AP0ABAAAADP//\" +\n           \"//8BAQAAAAAAQI9A/////wAAAAAVcIkKAgAAAAAADwAAAFNvZnR3YXJlVmVyc2lvbgEBQQEALwA/QQEA\" +\n           \"AAAM/////wEBAAAAAABAj0D/////AAAAABVwiQoCAAAAAAALAAAAQnVpbGROdW1iZXIBAUIBAC8AP0IB\" +\n           \"AAAADP////8BAQAAAAAAQI9A/////wAAAAAVcIkKAgAAAAAACQAAAEJ1aWxkRGF0ZQEBQwEALwA/QwEA\" +\n           \"AAEAJgH/////AQEAAAAAAECPQP////8AAAAAFWCJCgIAAAAAABMAAABTZWNvbmRzVGlsbFNodXRkb3du\" +\n           \"AQFEAQAvAD9EAQAAAAf/////AQH/////AAAAABVgiQoCAAAAAAAOAAAAU2h1dGRvd25SZWFzb24BAUUB\" +\n           \"AC8AP0UBAAAAFf////8BAf////8AAAAAFXCJCgIAAAAAAAwAAABTZXJ2aWNlTGV2ZWwBAUYBAC4AREYB\" +\n           \"AAAAA/////8BAQAAAAAAQI9A/////wAAAAAVcIkKAgAAAAAACAAAAEF1ZGl0aW5nAQFHAQAuAERHAQAA\" +\n           \"AAH/////AQEAAAAAAECPQP////8AAAAABGCACgEAAAAAABIAAABTZXJ2ZXJDYXBhYmlsaXRpZXMBAUgB\" +\n           \"AC8BAN0HSAEAAP////8JAAAAF2CJCgIAAAAAABIAAABTZXJ2ZXJQcm9maWxlQXJyYXkBAUkBAC4AREkB\" +\n           \"AAAADAEAAAABAAAAAAAAAAEB/////wAAAAAXYIkKAgAAAAAADQAAAExvY2FsZUlkQXJyYXkBAUoBAC4A\" +\n           \"REoBAAABACcBAQAAAAEAAAAAAAAAAQH/////AAAAABVgiQoCAAAAAAAWAAAATWluU3VwcG9ydGVkU2Ft\" +\n           \"cGxlUmF0ZQEBSwEALgBESwEAAAEAIgH/////AQH/////AAAAABVgiQoCAAAAAAAbAAAATWF4QnJvd3Nl\" +\n           \"Q29udGludWF0aW9uUG9pbnRzAQFMAQAuAERMAQAAAAX/////AQH/////AAAAABVgiQoCAAAAAAAaAAAA\" +\n           \"TWF4UXVlcnlDb250aW51YXRpb25Qb2ludHMBAU0BAC4ARE0BAAAABf////8BAf////8AAAAAFWCJCgIA\" +\n           \"AAAAABwAAABNYXhIaXN0b3J5Q29udGludWF0aW9uUG9pbnRzAQFOAQAuAEROAQAAAAX/////AQH/////\" +\n           \"AAAAABdgiQoCAAAAAAAUAAAAU29mdHdhcmVDZXJ0aWZpY2F0ZXMBAU8BAC4ARE8BAAABAFgBAQAAAAEA\" +\n           \"AAAAAAAAAQH/////AAAAAARggAoBAAAAAAAOAAAATW9kZWxsaW5nUnVsZXMBAV8BAC8APV8BAAD/////\" +\n           \"AAAAAARggAoBAAAAAAASAAAAQWdncmVnYXRlRnVuY3Rpb25zAQFgAQAvAD1gAQAA/////wAAAAAEYIAK\" +\n           \"AQAAAAAAEQAAAFNlcnZlckRpYWdub3N0aWNzAQFhAQAvAQDkB2EBAAD/////BAAAABVgiQoCAAAAAAAY\" +\n           \"AAAAU2VydmVyRGlhZ25vc3RpY3NTdW1tYXJ5AQFiAQAvAQBmCGIBAAABAFsD/////wEB/////wwAAAAV\" +\n           \"YIkKAgAAAAAADwAAAFNlcnZlclZpZXdDb3VudAEBYwEALwA/YwEAAAAH/////wEB/////wAAAAAVYIkK\" +\n           \"AgAAAAAAEwAAAEN1cnJlbnRTZXNzaW9uQ291bnQBAWQBAC8AP2QBAAAAB/////8BAf////8AAAAAFWCJ\" +\n           \"CgIAAAAAABUAAABDdW11bGF0ZWRTZXNzaW9uQ291bnQBAWUBAC8AP2UBAAAAB/////8BAf////8AAAAA\" +\n           \"FWCJCgIAAAAAABwAAABTZWN1cml0eVJlamVjdGVkU2Vzc2lvbkNvdW50AQFmAQAvAD9mAQAAAAf/////\" +\n           \"AQH/////AAAAABVgiQoCAAAAAAAUAAAAUmVqZWN0ZWRTZXNzaW9uQ291bnQBAWcBAC8AP2cBAAAAB///\" +\n           \"//8BAf////8AAAAAFWCJCgIAAAAAABMAAABTZXNzaW9uVGltZW91dENvdW50AQFoAQAvAD9oAQAAAAf/\" +\n           \"////AQH/////AAAAABVgiQoCAAAAAAARAAAAU2Vzc2lvbkFib3J0Q291bnQBAWkBAC8AP2kBAAAAB///\" +\n           \"//8BAf////8AAAAAFWCJCgIAAAAAABcAAABQdWJsaXNoaW5nSW50ZXJ2YWxDb3VudAEBagEALwA/agEA\" +\n           \"AAAH/////wEB/////wAAAAAVYIkKAgAAAAAAGAAAAEN1cnJlbnRTdWJzY3JpcHRpb25Db3VudAEBawEA\" +\n           \"LwA/awEAAAAH/////wEB/////wAAAAAVYIkKAgAAAAAAGgAAAEN1bXVsYXRlZFN1YnNjcmlwdGlvbkNv\" +\n           \"dW50AQFsAQAvAD9sAQAAAAf/////AQH/////AAAAABVgiQoCAAAAAAAdAAAAU2VjdXJpdHlSZWplY3Rl\" +\n           \"ZFJlcXVlc3RzQ291bnQBAW0BAC8AP20BAAAAB/////8BAf////8AAAAAFWCJCgIAAAAAABUAAABSZWpl\" +\n           \"Y3RlZFJlcXVlc3RzQ291bnQBAW4BAC8AP24BAAAAB/////8BAf////8AAAAAF2CJCgIAAAAAABwAAABT\" +\n           \"dWJzY3JpcHRpb25EaWFnbm9zdGljc0FycmF5AQFwAQAvAQB7CHABAAABAGoDAQAAAAEAAAAAAAAAAQH/\" +\n           \"////AAAAAARggAoBAAAAAAAaAAAAU2Vzc2lvbnNEaWFnbm9zdGljc1N1bW1hcnkBAXEBAC8BAOoHcQEA\" +\n           \"AP////8CAAAAF2CJCgIAAAAAABcAAABTZXNzaW9uRGlhZ25vc3RpY3NBcnJheQEBcgEALwEAlAhyAQAA\" +\n           \"AQBhAwEAAAABAAAAAAAAAAEB/////wAAAAAXYIkKAgAAAAAAHwAAAFNlc3Npb25TZWN1cml0eURpYWdu\" +\n           \"b3N0aWNzQXJyYXkBAXMBAC8BAMMIcwEAAAEAZAMBAAAAAQAAAAAAAAABAf////8AAAAAFWCJCgIAAAAA\" +\n           \"AAsAAABFbmFibGVkRmxhZwEBdAEALgBEdAEAAAAB/////wMD/////wAAAAAEYIAKAQAAAAAAEAAAAFZl\" +\n           \"bmRvclNlcnZlckluZm8BAXUBAC8BAPEHdQEAAP////8AAAAABGCACgEAAAAAABAAAABTZXJ2ZXJSZWR1\" +\n           \"bmRhbmN5AQF2AQAvAQDyB3YBAAD/////AQAAABVgiQoCAAAAAAARAAAAUmVkdW5kYW5jeVN1cHBvcnQB\" +\n           \"AXcBAC4ARHcBAAABAFMD/////wEB/////wAAAAAVYMkKAgAAABEAAABCcm93c2VOYW1lNG5vZGU2NgEA\" +\n           \"DQAAAENoaWxkUHJvcGVydHkBAZIBAC4ARJIBAAAAFf////8BAQEAAAABAcMAAQEBkwEAAAAAFWDJCgIA\" +\n           \"AAAOAAAATmFtZU5vdFNldDExMDkBABMAAABCcm93c2VOYW1lNG5vZGUxMTA5AQGTAQAvAQBACZMBAAAA\" +\n           \"Gv////8BAQEAAAABAcMAAAEBkgEBAAAAFWCJCgIAAAAAAAcAAABFVVJhbmdlAQGXAQAuAESXAQAAAQB0\" +\n           \"A/////8BAf////8AAAAABGGCCgQAAAABAAsAAABDaGlsZE1ldGhvZAEBmQEALwEBJwGZAQAAAQH/////\" +\n           \"AgAAABdgqQoCAAAAAAAOAAAASW5wdXRBcmd1bWVudHMBAZoBAC4ARJoBAACWAgAAAAEAKgEBFQAAAAYA\" +\n           \"AABJbnB1dDEABv////8AAAAAAAEAKgEBFQAAAAYAAABJbnB1dDIABv////8AAAAAAAEAKAEBAAAAAQAA\" +\n           \"AAAAAAABAf////8AAAAAF2CpCgIAAAAAAA8AAABPdXRwdXRBcmd1bWVudHMBAZsBAC4ARJsBAACWAQAA\" +\n           \"AAEAKgEBFgAAAAcAAABPdXRwdXQxAAb/////AAAAAAABACgBAQAAAAEAAAAAAAAAAQH/////AAAAAARh\" +\n           \"ggoEAAAAAQATAAAATm9uRXhlY3V0YWJsZU1ldGhvZAEBnAEALwEBMgGcAQAAAQH/////AAAAAA==\";\n        #endregion\n        #endif\n        #endregion\n\n        #region Public Properties\n        #endregion\n\n        #region Overridden Methods\n        #endregion\n\n        #region Private Fields\n        #endregion\n    }\n    #endif\n    #endregion\n}"
  },
  {
    "path": "SemanticData/Tests/USNodeSetValidationUnitTestProject/XMLModels/CorrectModels/ObjectTypeTest/ObjectTypeTest.Constants.cs",
    "content": "/* ========================================================================\n * Copyright (c) 2005-2021 The OPC Foundation, Inc. All rights reserved.\n *\n * OPC Foundation MIT License 1.00\n *\n * Permission is hereby granted, free of charge, to any person\n * obtaining a copy of this software and associated documentation\n * files (the \"Software\"), to deal in the Software without\n * restriction, including without limitation the rights to use,\n * copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the\n * Software is furnished to do so, subject to the following\n * conditions:\n *\n * The above copyright notice and this permission notice shall be\n * included in all copies or substantial portions of the Software.\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND,\n * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES\n * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND\n * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT\n * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,\n * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING\n * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR\n * OTHER DEALINGS IN THE SOFTWARE.\n *\n * The complete license agreement can be found here:\n * http://opcfoundation.org/License/MIT/1.00/\n * ======================================================================*/\n\nusing System;\nusing System.Collections.Generic;\nusing System.Text;\nusing System.Reflection;\nusing System.Xml;\nusing System.Runtime.Serialization;\nusing ;\n\nnamespace ObjectTypeTest\n{\n    #region Method Identifiers\n    /// <summary>\n    /// A class that declares constants for all Methods in the Model Design.\n    /// </summary>\n    /// <exclude />\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"Opc.Ua.ModelCompiler\", \"1.0.0.0\")]\n    public static partial class Methods\n    {\n        /// <summary>\n        /// The identifier for the ComplexObjectType_ServerCapabilities_RoleSet_AddRole Method.\n        /// </summary>\n        public const uint ComplexObjectType_ServerCapabilities_RoleSet_AddRole = 3;\n\n        /// <summary>\n        /// The identifier for the ComplexObjectType_ServerCapabilities_RoleSet_RemoveRole Method.\n        /// </summary>\n        public const uint ComplexObjectType_ServerCapabilities_RoleSet_RemoveRole = 6;\n\n        /// <summary>\n        /// The identifier for the ComplexObjectType_ChildMethod Method.\n        /// </summary>\n        public const uint ComplexObjectType_ChildMethod = 295;\n\n        /// <summary>\n        /// The identifier for the ComplexObjectType_NonExecutableMethod Method.\n        /// </summary>\n        public const uint ComplexObjectType_NonExecutableMethod = 306;\n\n        /// <summary>\n        /// The identifier for the ChildMethodComplexObjectType Method.\n        /// </summary>\n        public const uint ChildMethodComplexObjectType = 303;\n\n        /// <summary>\n        /// The identifier for the NonExecutableMethodComplexObjectType Method.\n        /// </summary>\n        public const uint NonExecutableMethodComplexObjectType = 307;\n\n        /// <summary>\n        /// The identifier for the DerivedFromComplexObjectType_ServerCapabilities_RoleSet_AddRole Method.\n        /// </summary>\n        public const uint DerivedFromComplexObjectType_ServerCapabilities_RoleSet_AddRole = 10;\n\n        /// <summary>\n        /// The identifier for the DerivedFromComplexObjectType_ServerCapabilities_RoleSet_RemoveRole Method.\n        /// </summary>\n        public const uint DerivedFromComplexObjectType_ServerCapabilities_RoleSet_RemoveRole = 13;\n\n        /// <summary>\n        /// The identifier for the DerivedFromComplexObjectType_ChildMethod Method.\n        /// </summary>\n        public const uint DerivedFromComplexObjectType_ChildMethod = 409;\n\n        /// <summary>\n        /// The identifier for the NameNotSet6_ServerCapabilities_RoleSet_AddRole Method.\n        /// </summary>\n        public const uint NameNotSet6_ServerCapabilities_RoleSet_AddRole = 17;\n\n        /// <summary>\n        /// The identifier for the NameNotSet6_ServerCapabilities_RoleSet_RemoveRole Method.\n        /// </summary>\n        public const uint NameNotSet6_ServerCapabilities_RoleSet_RemoveRole = 20;\n\n        /// <summary>\n        /// The identifier for the NameNotSet6_ChildMethod Method.\n        /// </summary>\n        public const uint NameNotSet6_ChildMethod = 512;\n\n        /// <summary>\n        /// The identifier for the NameNotSet6_NonExecutableMethod Method.\n        /// </summary>\n        public const uint NameNotSet6_NonExecutableMethod = 515;\n    }\n    #endregion\n\n    #region Object Identifiers\n    /// <summary>\n    /// A class that declares constants for all Objects in the Model Design.\n    /// </summary>\n    /// <exclude />\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"Opc.Ua.ModelCompiler\", \"1.0.0.0\")]\n    public static partial class Objects\n    {\n        /// <summary>\n        /// The identifier for the ComplexObjectType_ServerCapabilities Object.\n        /// </summary>\n        public const uint ComplexObjectType_ServerCapabilities = 214;\n\n        /// <summary>\n        /// The identifier for the ComplexObjectType_ServerCapabilities_ModellingRules Object.\n        /// </summary>\n        public const uint ComplexObjectType_ServerCapabilities_ModellingRules = 237;\n\n        /// <summary>\n        /// The identifier for the ComplexObjectType_ServerCapabilities_AggregateFunctions Object.\n        /// </summary>\n        public const uint ComplexObjectType_ServerCapabilities_AggregateFunctions = 238;\n\n        /// <summary>\n        /// The identifier for the ComplexObjectType_ServerDiagnostics_SessionsDiagnosticsSummary Object.\n        /// </summary>\n        public const uint ComplexObjectType_ServerDiagnostics_SessionsDiagnosticsSummary = 255;\n\n        /// <summary>\n        /// The identifier for the ComplexObjectType_ChildObject Object.\n        /// </summary>\n        public const uint ComplexObjectType_ChildObject = 308;\n\n        /// <summary>\n        /// The identifier for the DerivedFromComplexObjectType_ServerCapabilities_ModellingRules Object.\n        /// </summary>\n        public const uint DerivedFromComplexObjectType_ServerCapabilities_ModellingRules = 351;\n\n        /// <summary>\n        /// The identifier for the DerivedFromComplexObjectType_ServerCapabilities_AggregateFunctions Object.\n        /// </summary>\n        public const uint DerivedFromComplexObjectType_ServerCapabilities_AggregateFunctions = 352;\n\n        /// <summary>\n        /// The identifier for the DerivedFromComplexObjectType_ServerDiagnostics_SessionsDiagnosticsSummary Object.\n        /// </summary>\n        public const uint DerivedFromComplexObjectType_ServerDiagnostics_SessionsDiagnosticsSummary = 369;\n\n        /// <summary>\n        /// The identifier for the NameNotSet6 Object.\n        /// </summary>\n        public const uint NameNotSet6 = 413;\n\n        /// <summary>\n        /// The identifier for the NameNotSet6_ServerCapabilities Object.\n        /// </summary>\n        public const uint NameNotSet6_ServerCapabilities = 431;\n\n        /// <summary>\n        /// The identifier for the NameNotSet6_ServerCapabilities_ModellingRules Object.\n        /// </summary>\n        public const uint NameNotSet6_ServerCapabilities_ModellingRules = 454;\n\n        /// <summary>\n        /// The identifier for the NameNotSet6_ServerCapabilities_AggregateFunctions Object.\n        /// </summary>\n        public const uint NameNotSet6_ServerCapabilities_AggregateFunctions = 455;\n\n        /// <summary>\n        /// The identifier for the NameNotSet6_ServerDiagnostics Object.\n        /// </summary>\n        public const uint NameNotSet6_ServerDiagnostics = 456;\n\n        /// <summary>\n        /// The identifier for the NameNotSet6_ServerDiagnostics_SessionsDiagnosticsSummary Object.\n        /// </summary>\n        public const uint NameNotSet6_ServerDiagnostics_SessionsDiagnosticsSummary = 472;\n\n        /// <summary>\n        /// The identifier for the NameNotSet6_VendorServerInfo Object.\n        /// </summary>\n        public const uint NameNotSet6_VendorServerInfo = 476;\n\n        /// <summary>\n        /// The identifier for the NameNotSet6_ServerRedundancy Object.\n        /// </summary>\n        public const uint NameNotSet6_ServerRedundancy = 477;\n    }\n    #endregion\n\n    #region ObjectType Identifiers\n    /// <summary>\n    /// A class that declares constants for all ObjectTypes in the Model Design.\n    /// </summary>\n    /// <exclude />\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"Opc.Ua.ModelCompiler\", \"1.0.0.0\")]\n    public static partial class ObjectTypes\n    {\n        /// <summary>\n        /// The identifier for the ComplexObjectType ObjectType.\n        /// </summary>\n        public const uint ComplexObjectType = 196;\n\n        /// <summary>\n        /// The identifier for the DerivedFromComplexObjectType ObjectType.\n        /// </summary>\n        public const uint DerivedFromComplexObjectType = 310;\n    }\n    #endregion\n\n    #region ReferenceType Identifiers\n    /// <summary>\n    /// A class that declares constants for all ReferenceTypes in the Model Design.\n    /// </summary>\n    /// <exclude />\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"Opc.Ua.ModelCompiler\", \"1.0.0.0\")]\n    public static partial class ReferenceTypes\n    {\n        /// <summary>\n        /// The identifier for the FlowTo ReferenceType.\n        /// </summary>\n        public const uint FlowTo = 195;\n    }\n    #endregion\n\n    #region Variable Identifiers\n    /// <summary>\n    /// A class that declares constants for all Variables in the Model Design.\n    /// </summary>\n    /// <exclude />\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"Opc.Ua.ModelCompiler\", \"1.0.0.0\")]\n    public static partial class Variables\n    {\n        /// <summary>\n        /// The identifier for the ComplexObjectType_ServerStatus_StartTime Variable.\n        /// </summary>\n        public const uint ComplexObjectType_ServerStatus_StartTime = 200;\n\n        /// <summary>\n        /// The identifier for the ComplexObjectType_ServerStatus_CurrentTime Variable.\n        /// </summary>\n        public const uint ComplexObjectType_ServerStatus_CurrentTime = 201;\n\n        /// <summary>\n        /// The identifier for the ComplexObjectType_ServerStatus_State Variable.\n        /// </summary>\n        public const uint ComplexObjectType_ServerStatus_State = 202;\n\n        /// <summary>\n        /// The identifier for the ComplexObjectType_ServerStatus_BuildInfo Variable.\n        /// </summary>\n        public const uint ComplexObjectType_ServerStatus_BuildInfo = 203;\n\n        /// <summary>\n        /// The identifier for the ComplexObjectType_ServerStatus_BuildInfo_ProductUri Variable.\n        /// </summary>\n        public const uint ComplexObjectType_ServerStatus_BuildInfo_ProductUri = 204;\n\n        /// <summary>\n        /// The identifier for the ComplexObjectType_ServerStatus_BuildInfo_ManufacturerName Variable.\n        /// </summary>\n        public const uint ComplexObjectType_ServerStatus_BuildInfo_ManufacturerName = 205;\n\n        /// <summary>\n        /// The identifier for the ComplexObjectType_ServerStatus_BuildInfo_ProductName Variable.\n        /// </summary>\n        public const uint ComplexObjectType_ServerStatus_BuildInfo_ProductName = 206;\n\n        /// <summary>\n        /// The identifier for the ComplexObjectType_ServerStatus_BuildInfo_SoftwareVersion Variable.\n        /// </summary>\n        public const uint ComplexObjectType_ServerStatus_BuildInfo_SoftwareVersion = 207;\n\n        /// <summary>\n        /// The identifier for the ComplexObjectType_ServerStatus_BuildInfo_BuildNumber Variable.\n        /// </summary>\n        public const uint ComplexObjectType_ServerStatus_BuildInfo_BuildNumber = 208;\n\n        /// <summary>\n        /// The identifier for the ComplexObjectType_ServerStatus_BuildInfo_BuildDate Variable.\n        /// </summary>\n        public const uint ComplexObjectType_ServerStatus_BuildInfo_BuildDate = 209;\n\n        /// <summary>\n        /// The identifier for the ComplexObjectType_ServerStatus_SecondsTillShutdown Variable.\n        /// </summary>\n        public const uint ComplexObjectType_ServerStatus_SecondsTillShutdown = 210;\n\n        /// <summary>\n        /// The identifier for the ComplexObjectType_ServerStatus_ShutdownReason Variable.\n        /// </summary>\n        public const uint ComplexObjectType_ServerStatus_ShutdownReason = 211;\n\n        /// <summary>\n        /// The identifier for the ComplexObjectType_ServerCapabilities_ServerProfileArray Variable.\n        /// </summary>\n        public const uint ComplexObjectType_ServerCapabilities_ServerProfileArray = 215;\n\n        /// <summary>\n        /// The identifier for the ComplexObjectType_ServerCapabilities_LocaleIdArray Variable.\n        /// </summary>\n        public const uint ComplexObjectType_ServerCapabilities_LocaleIdArray = 216;\n\n        /// <summary>\n        /// The identifier for the ComplexObjectType_ServerCapabilities_MinSupportedSampleRate Variable.\n        /// </summary>\n        public const uint ComplexObjectType_ServerCapabilities_MinSupportedSampleRate = 217;\n\n        /// <summary>\n        /// The identifier for the ComplexObjectType_ServerCapabilities_MaxBrowseContinuationPoints Variable.\n        /// </summary>\n        public const uint ComplexObjectType_ServerCapabilities_MaxBrowseContinuationPoints = 218;\n\n        /// <summary>\n        /// The identifier for the ComplexObjectType_ServerCapabilities_MaxQueryContinuationPoints Variable.\n        /// </summary>\n        public const uint ComplexObjectType_ServerCapabilities_MaxQueryContinuationPoints = 219;\n\n        /// <summary>\n        /// The identifier for the ComplexObjectType_ServerCapabilities_MaxHistoryContinuationPoints Variable.\n        /// </summary>\n        public const uint ComplexObjectType_ServerCapabilities_MaxHistoryContinuationPoints = 220;\n\n        /// <summary>\n        /// The identifier for the ComplexObjectType_ServerCapabilities_SoftwareCertificates Variable.\n        /// </summary>\n        public const uint ComplexObjectType_ServerCapabilities_SoftwareCertificates = 221;\n\n        /// <summary>\n        /// The identifier for the ComplexObjectType_ServerCapabilities_RoleSet_AddRole_InputArguments Variable.\n        /// </summary>\n        public const uint ComplexObjectType_ServerCapabilities_RoleSet_AddRole_InputArguments = 4;\n\n        /// <summary>\n        /// The identifier for the ComplexObjectType_ServerCapabilities_RoleSet_AddRole_OutputArguments Variable.\n        /// </summary>\n        public const uint ComplexObjectType_ServerCapabilities_RoleSet_AddRole_OutputArguments = 5;\n\n        /// <summary>\n        /// The identifier for the ComplexObjectType_ServerCapabilities_RoleSet_RemoveRole_InputArguments Variable.\n        /// </summary>\n        public const uint ComplexObjectType_ServerCapabilities_RoleSet_RemoveRole_InputArguments = 7;\n\n        /// <summary>\n        /// The identifier for the ComplexObjectType_ServerDiagnostics_ServerDiagnosticsSummary Variable.\n        /// </summary>\n        public const uint ComplexObjectType_ServerDiagnostics_ServerDiagnosticsSummary = 240;\n\n        /// <summary>\n        /// The identifier for the ComplexObjectType_ServerDiagnostics_ServerDiagnosticsSummary_ServerViewCount Variable.\n        /// </summary>\n        public const uint ComplexObjectType_ServerDiagnostics_ServerDiagnosticsSummary_ServerViewCount = 241;\n\n        /// <summary>\n        /// The identifier for the ComplexObjectType_ServerDiagnostics_ServerDiagnosticsSummary_CurrentSessionCount Variable.\n        /// </summary>\n        public const uint ComplexObjectType_ServerDiagnostics_ServerDiagnosticsSummary_CurrentSessionCount = 242;\n\n        /// <summary>\n        /// The identifier for the ComplexObjectType_ServerDiagnostics_ServerDiagnosticsSummary_CumulatedSessionCount Variable.\n        /// </summary>\n        public const uint ComplexObjectType_ServerDiagnostics_ServerDiagnosticsSummary_CumulatedSessionCount = 243;\n\n        /// <summary>\n        /// The identifier for the ComplexObjectType_ServerDiagnostics_ServerDiagnosticsSummary_SecurityRejectedSessionCount Variable.\n        /// </summary>\n        public const uint ComplexObjectType_ServerDiagnostics_ServerDiagnosticsSummary_SecurityRejectedSessionCount = 244;\n\n        /// <summary>\n        /// The identifier for the ComplexObjectType_ServerDiagnostics_ServerDiagnosticsSummary_RejectedSessionCount Variable.\n        /// </summary>\n        public const uint ComplexObjectType_ServerDiagnostics_ServerDiagnosticsSummary_RejectedSessionCount = 245;\n\n        /// <summary>\n        /// The identifier for the ComplexObjectType_ServerDiagnostics_ServerDiagnosticsSummary_SessionTimeoutCount Variable.\n        /// </summary>\n        public const uint ComplexObjectType_ServerDiagnostics_ServerDiagnosticsSummary_SessionTimeoutCount = 246;\n\n        /// <summary>\n        /// The identifier for the ComplexObjectType_ServerDiagnostics_ServerDiagnosticsSummary_SessionAbortCount Variable.\n        /// </summary>\n        public const uint ComplexObjectType_ServerDiagnostics_ServerDiagnosticsSummary_SessionAbortCount = 247;\n\n        /// <summary>\n        /// The identifier for the ComplexObjectType_ServerDiagnostics_ServerDiagnosticsSummary_PublishingIntervalCount Variable.\n        /// </summary>\n        public const uint ComplexObjectType_ServerDiagnostics_ServerDiagnosticsSummary_PublishingIntervalCount = 248;\n\n        /// <summary>\n        /// The identifier for the ComplexObjectType_ServerDiagnostics_ServerDiagnosticsSummary_CurrentSubscriptionCount Variable.\n        /// </summary>\n        public const uint ComplexObjectType_ServerDiagnostics_ServerDiagnosticsSummary_CurrentSubscriptionCount = 249;\n\n        /// <summary>\n        /// The identifier for the ComplexObjectType_ServerDiagnostics_ServerDiagnosticsSummary_CumulatedSubscriptionCount Variable.\n        /// </summary>\n        public const uint ComplexObjectType_ServerDiagnostics_ServerDiagnosticsSummary_CumulatedSubscriptionCount = 250;\n\n        /// <summary>\n        /// The identifier for the ComplexObjectType_ServerDiagnostics_ServerDiagnosticsSummary_SecurityRejectedRequestsCount Variable.\n        /// </summary>\n        public const uint ComplexObjectType_ServerDiagnostics_ServerDiagnosticsSummary_SecurityRejectedRequestsCount = 251;\n\n        /// <summary>\n        /// The identifier for the ComplexObjectType_ServerDiagnostics_ServerDiagnosticsSummary_RejectedRequestsCount Variable.\n        /// </summary>\n        public const uint ComplexObjectType_ServerDiagnostics_ServerDiagnosticsSummary_RejectedRequestsCount = 252;\n\n        /// <summary>\n        /// The identifier for the ComplexObjectType_ServerDiagnostics_SubscriptionDiagnosticsArray Variable.\n        /// </summary>\n        public const uint ComplexObjectType_ServerDiagnostics_SubscriptionDiagnosticsArray = 254;\n\n        /// <summary>\n        /// The identifier for the ComplexObjectType_ServerDiagnostics_SessionsDiagnosticsSummary_SessionDiagnosticsArray Variable.\n        /// </summary>\n        public const uint ComplexObjectType_ServerDiagnostics_SessionsDiagnosticsSummary_SessionDiagnosticsArray = 256;\n\n        /// <summary>\n        /// The identifier for the ComplexObjectType_ServerDiagnostics_SessionsDiagnosticsSummary_SessionSecurityDiagnosticsArray Variable.\n        /// </summary>\n        public const uint ComplexObjectType_ServerDiagnostics_SessionsDiagnosticsSummary_SessionSecurityDiagnosticsArray = 257;\n\n        /// <summary>\n        /// The identifier for the ComplexObjectType_ServerDiagnostics_EnabledFlag Variable.\n        /// </summary>\n        public const uint ComplexObjectType_ServerDiagnostics_EnabledFlag = 258;\n\n        /// <summary>\n        /// The identifier for the ComplexObjectType_ServerRedundancy_RedundancySupport Variable.\n        /// </summary>\n        public const uint ComplexObjectType_ServerRedundancy_RedundancySupport = 261;\n\n        /// <summary>\n        /// The identifier for the ComplexObjectType_GetMonitoredItems_InputArguments Variable.\n        /// </summary>\n        public const uint ComplexObjectType_GetMonitoredItems_InputArguments = 285;\n\n        /// <summary>\n        /// The identifier for the ComplexObjectType_GetMonitoredItems_OutputArguments Variable.\n        /// </summary>\n        public const uint ComplexObjectType_GetMonitoredItems_OutputArguments = 286;\n\n        /// <summary>\n        /// The identifier for the ComplexObjectType_ResendData_InputArguments Variable.\n        /// </summary>\n        public const uint ComplexObjectType_ResendData_InputArguments = 526;\n\n        /// <summary>\n        /// The identifier for the ComplexObjectType_SetSubscriptionDurable_InputArguments Variable.\n        /// </summary>\n        public const uint ComplexObjectType_SetSubscriptionDurable_InputArguments = 528;\n\n        /// <summary>\n        /// The identifier for the ComplexObjectType_SetSubscriptionDurable_OutputArguments Variable.\n        /// </summary>\n        public const uint ComplexObjectType_SetSubscriptionDurable_OutputArguments = 529;\n\n        /// <summary>\n        /// The identifier for the ComplexObjectType_RequestServerStateChange_InputArguments Variable.\n        /// </summary>\n        public const uint ComplexObjectType_RequestServerStateChange_InputArguments = 531;\n\n        /// <summary>\n        /// The identifier for the ComplexObjectType_BrowseName4node66 Variable.\n        /// </summary>\n        public const uint ComplexObjectType_BrowseName4node66 = 309;\n\n        /// <summary>\n        /// The identifier for the ComplexObjectType_NameNotSet1109 Variable.\n        /// </summary>\n        public const uint ComplexObjectType_NameNotSet1109 = 289;\n\n        /// <summary>\n        /// The identifier for the ComplexObjectType_NameNotSet1109_EURange Variable.\n        /// </summary>\n        public const uint ComplexObjectType_NameNotSet1109_EURange = 293;\n\n        /// <summary>\n        /// The identifier for the ComplexObjectType_ChildMethod_InputArguments Variable.\n        /// </summary>\n        public const uint ComplexObjectType_ChildMethod_InputArguments = 299;\n\n        /// <summary>\n        /// The identifier for the ComplexObjectType_ChildMethod_OutputArguments Variable.\n        /// </summary>\n        public const uint ComplexObjectType_ChildMethod_OutputArguments = 300;\n\n        /// <summary>\n        /// The identifier for the ChildMethodComplexObjectType_InputArguments Variable.\n        /// </summary>\n        public const uint ChildMethodComplexObjectType_InputArguments = 304;\n\n        /// <summary>\n        /// The identifier for the ChildMethodComplexObjectType_OutputArguments Variable.\n        /// </summary>\n        public const uint ChildMethodComplexObjectType_OutputArguments = 305;\n\n        /// <summary>\n        /// The identifier for the DerivedFromComplexObjectType_ServerStatus_StartTime Variable.\n        /// </summary>\n        public const uint DerivedFromComplexObjectType_ServerStatus_StartTime = 314;\n\n        /// <summary>\n        /// The identifier for the DerivedFromComplexObjectType_ServerStatus_CurrentTime Variable.\n        /// </summary>\n        public const uint DerivedFromComplexObjectType_ServerStatus_CurrentTime = 315;\n\n        /// <summary>\n        /// The identifier for the DerivedFromComplexObjectType_ServerStatus_State Variable.\n        /// </summary>\n        public const uint DerivedFromComplexObjectType_ServerStatus_State = 316;\n\n        /// <summary>\n        /// The identifier for the DerivedFromComplexObjectType_ServerStatus_BuildInfo Variable.\n        /// </summary>\n        public const uint DerivedFromComplexObjectType_ServerStatus_BuildInfo = 317;\n\n        /// <summary>\n        /// The identifier for the DerivedFromComplexObjectType_ServerStatus_BuildInfo_ProductUri Variable.\n        /// </summary>\n        public const uint DerivedFromComplexObjectType_ServerStatus_BuildInfo_ProductUri = 318;\n\n        /// <summary>\n        /// The identifier for the DerivedFromComplexObjectType_ServerStatus_BuildInfo_ManufacturerName Variable.\n        /// </summary>\n        public const uint DerivedFromComplexObjectType_ServerStatus_BuildInfo_ManufacturerName = 319;\n\n        /// <summary>\n        /// The identifier for the DerivedFromComplexObjectType_ServerStatus_BuildInfo_ProductName Variable.\n        /// </summary>\n        public const uint DerivedFromComplexObjectType_ServerStatus_BuildInfo_ProductName = 320;\n\n        /// <summary>\n        /// The identifier for the DerivedFromComplexObjectType_ServerStatus_BuildInfo_SoftwareVersion Variable.\n        /// </summary>\n        public const uint DerivedFromComplexObjectType_ServerStatus_BuildInfo_SoftwareVersion = 321;\n\n        /// <summary>\n        /// The identifier for the DerivedFromComplexObjectType_ServerStatus_BuildInfo_BuildNumber Variable.\n        /// </summary>\n        public const uint DerivedFromComplexObjectType_ServerStatus_BuildInfo_BuildNumber = 322;\n\n        /// <summary>\n        /// The identifier for the DerivedFromComplexObjectType_ServerStatus_BuildInfo_BuildDate Variable.\n        /// </summary>\n        public const uint DerivedFromComplexObjectType_ServerStatus_BuildInfo_BuildDate = 323;\n\n        /// <summary>\n        /// The identifier for the DerivedFromComplexObjectType_ServerStatus_SecondsTillShutdown Variable.\n        /// </summary>\n        public const uint DerivedFromComplexObjectType_ServerStatus_SecondsTillShutdown = 324;\n\n        /// <summary>\n        /// The identifier for the DerivedFromComplexObjectType_ServerStatus_ShutdownReason Variable.\n        /// </summary>\n        public const uint DerivedFromComplexObjectType_ServerStatus_ShutdownReason = 325;\n\n        /// <summary>\n        /// The identifier for the DerivedFromComplexObjectType_ServerCapabilities_ServerProfileArray Variable.\n        /// </summary>\n        public const uint DerivedFromComplexObjectType_ServerCapabilities_ServerProfileArray = 329;\n\n        /// <summary>\n        /// The identifier for the DerivedFromComplexObjectType_ServerCapabilities_LocaleIdArray Variable.\n        /// </summary>\n        public const uint DerivedFromComplexObjectType_ServerCapabilities_LocaleIdArray = 330;\n\n        /// <summary>\n        /// The identifier for the DerivedFromComplexObjectType_ServerCapabilities_MinSupportedSampleRate Variable.\n        /// </summary>\n        public const uint DerivedFromComplexObjectType_ServerCapabilities_MinSupportedSampleRate = 331;\n\n        /// <summary>\n        /// The identifier for the DerivedFromComplexObjectType_ServerCapabilities_MaxBrowseContinuationPoints Variable.\n        /// </summary>\n        public const uint DerivedFromComplexObjectType_ServerCapabilities_MaxBrowseContinuationPoints = 332;\n\n        /// <summary>\n        /// The identifier for the DerivedFromComplexObjectType_ServerCapabilities_MaxQueryContinuationPoints Variable.\n        /// </summary>\n        public const uint DerivedFromComplexObjectType_ServerCapabilities_MaxQueryContinuationPoints = 333;\n\n        /// <summary>\n        /// The identifier for the DerivedFromComplexObjectType_ServerCapabilities_MaxHistoryContinuationPoints Variable.\n        /// </summary>\n        public const uint DerivedFromComplexObjectType_ServerCapabilities_MaxHistoryContinuationPoints = 334;\n\n        /// <summary>\n        /// The identifier for the DerivedFromComplexObjectType_ServerCapabilities_SoftwareCertificates Variable.\n        /// </summary>\n        public const uint DerivedFromComplexObjectType_ServerCapabilities_SoftwareCertificates = 335;\n\n        /// <summary>\n        /// The identifier for the DerivedFromComplexObjectType_ServerCapabilities_RoleSet_AddRole_InputArguments Variable.\n        /// </summary>\n        public const uint DerivedFromComplexObjectType_ServerCapabilities_RoleSet_AddRole_InputArguments = 11;\n\n        /// <summary>\n        /// The identifier for the DerivedFromComplexObjectType_ServerCapabilities_RoleSet_AddRole_OutputArguments Variable.\n        /// </summary>\n        public const uint DerivedFromComplexObjectType_ServerCapabilities_RoleSet_AddRole_OutputArguments = 12;\n\n        /// <summary>\n        /// The identifier for the DerivedFromComplexObjectType_ServerCapabilities_RoleSet_RemoveRole_InputArguments Variable.\n        /// </summary>\n        public const uint DerivedFromComplexObjectType_ServerCapabilities_RoleSet_RemoveRole_InputArguments = 14;\n\n        /// <summary>\n        /// The identifier for the DerivedFromComplexObjectType_ServerDiagnostics_ServerDiagnosticsSummary Variable.\n        /// </summary>\n        public const uint DerivedFromComplexObjectType_ServerDiagnostics_ServerDiagnosticsSummary = 354;\n\n        /// <summary>\n        /// The identifier for the DerivedFromComplexObjectType_ServerDiagnostics_ServerDiagnosticsSummary_ServerViewCount Variable.\n        /// </summary>\n        public const uint DerivedFromComplexObjectType_ServerDiagnostics_ServerDiagnosticsSummary_ServerViewCount = 355;\n\n        /// <summary>\n        /// The identifier for the DerivedFromComplexObjectType_ServerDiagnostics_ServerDiagnosticsSummary_CurrentSessionCount Variable.\n        /// </summary>\n        public const uint DerivedFromComplexObjectType_ServerDiagnostics_ServerDiagnosticsSummary_CurrentSessionCount = 356;\n\n        /// <summary>\n        /// The identifier for the DerivedFromComplexObjectType_ServerDiagnostics_ServerDiagnosticsSummary_CumulatedSessionCount Variable.\n        /// </summary>\n        public const uint DerivedFromComplexObjectType_ServerDiagnostics_ServerDiagnosticsSummary_CumulatedSessionCount = 357;\n\n        /// <summary>\n        /// The identifier for the DerivedFromComplexObjectType_ServerDiagnostics_ServerDiagnosticsSummary_SecurityRejectedSessionCount Variable.\n        /// </summary>\n        public const uint DerivedFromComplexObjectType_ServerDiagnostics_ServerDiagnosticsSummary_SecurityRejectedSessionCount = 358;\n\n        /// <summary>\n        /// The identifier for the DerivedFromComplexObjectType_ServerDiagnostics_ServerDiagnosticsSummary_RejectedSessionCount Variable.\n        /// </summary>\n        public const uint DerivedFromComplexObjectType_ServerDiagnostics_ServerDiagnosticsSummary_RejectedSessionCount = 359;\n\n        /// <summary>\n        /// The identifier for the DerivedFromComplexObjectType_ServerDiagnostics_ServerDiagnosticsSummary_SessionTimeoutCount Variable.\n        /// </summary>\n        public const uint DerivedFromComplexObjectType_ServerDiagnostics_ServerDiagnosticsSummary_SessionTimeoutCount = 360;\n\n        /// <summary>\n        /// The identifier for the DerivedFromComplexObjectType_ServerDiagnostics_ServerDiagnosticsSummary_SessionAbortCount Variable.\n        /// </summary>\n        public const uint DerivedFromComplexObjectType_ServerDiagnostics_ServerDiagnosticsSummary_SessionAbortCount = 361;\n\n        /// <summary>\n        /// The identifier for the DerivedFromComplexObjectType_ServerDiagnostics_ServerDiagnosticsSummary_PublishingIntervalCount Variable.\n        /// </summary>\n        public const uint DerivedFromComplexObjectType_ServerDiagnostics_ServerDiagnosticsSummary_PublishingIntervalCount = 362;\n\n        /// <summary>\n        /// The identifier for the DerivedFromComplexObjectType_ServerDiagnostics_ServerDiagnosticsSummary_CurrentSubscriptionCount Variable.\n        /// </summary>\n        public const uint DerivedFromComplexObjectType_ServerDiagnostics_ServerDiagnosticsSummary_CurrentSubscriptionCount = 363;\n\n        /// <summary>\n        /// The identifier for the DerivedFromComplexObjectType_ServerDiagnostics_ServerDiagnosticsSummary_CumulatedSubscriptionCount Variable.\n        /// </summary>\n        public const uint DerivedFromComplexObjectType_ServerDiagnostics_ServerDiagnosticsSummary_CumulatedSubscriptionCount = 364;\n\n        /// <summary>\n        /// The identifier for the DerivedFromComplexObjectType_ServerDiagnostics_ServerDiagnosticsSummary_SecurityRejectedRequestsCount Variable.\n        /// </summary>\n        public const uint DerivedFromComplexObjectType_ServerDiagnostics_ServerDiagnosticsSummary_SecurityRejectedRequestsCount = 365;\n\n        /// <summary>\n        /// The identifier for the DerivedFromComplexObjectType_ServerDiagnostics_ServerDiagnosticsSummary_RejectedRequestsCount Variable.\n        /// </summary>\n        public const uint DerivedFromComplexObjectType_ServerDiagnostics_ServerDiagnosticsSummary_RejectedRequestsCount = 366;\n\n        /// <summary>\n        /// The identifier for the DerivedFromComplexObjectType_ServerDiagnostics_SubscriptionDiagnosticsArray Variable.\n        /// </summary>\n        public const uint DerivedFromComplexObjectType_ServerDiagnostics_SubscriptionDiagnosticsArray = 368;\n\n        /// <summary>\n        /// The identifier for the DerivedFromComplexObjectType_ServerDiagnostics_SessionsDiagnosticsSummary_SessionDiagnosticsArray Variable.\n        /// </summary>\n        public const uint DerivedFromComplexObjectType_ServerDiagnostics_SessionsDiagnosticsSummary_SessionDiagnosticsArray = 370;\n\n        /// <summary>\n        /// The identifier for the DerivedFromComplexObjectType_ServerDiagnostics_SessionsDiagnosticsSummary_SessionSecurityDiagnosticsArray Variable.\n        /// </summary>\n        public const uint DerivedFromComplexObjectType_ServerDiagnostics_SessionsDiagnosticsSummary_SessionSecurityDiagnosticsArray = 371;\n\n        /// <summary>\n        /// The identifier for the DerivedFromComplexObjectType_ServerDiagnostics_EnabledFlag Variable.\n        /// </summary>\n        public const uint DerivedFromComplexObjectType_ServerDiagnostics_EnabledFlag = 372;\n\n        /// <summary>\n        /// The identifier for the DerivedFromComplexObjectType_ServerRedundancy_RedundancySupport Variable.\n        /// </summary>\n        public const uint DerivedFromComplexObjectType_ServerRedundancy_RedundancySupport = 375;\n\n        /// <summary>\n        /// The identifier for the DerivedFromComplexObjectType_GetMonitoredItems_InputArguments Variable.\n        /// </summary>\n        public const uint DerivedFromComplexObjectType_GetMonitoredItems_InputArguments = 399;\n\n        /// <summary>\n        /// The identifier for the DerivedFromComplexObjectType_GetMonitoredItems_OutputArguments Variable.\n        /// </summary>\n        public const uint DerivedFromComplexObjectType_GetMonitoredItems_OutputArguments = 400;\n\n        /// <summary>\n        /// The identifier for the DerivedFromComplexObjectType_ResendData_InputArguments Variable.\n        /// </summary>\n        public const uint DerivedFromComplexObjectType_ResendData_InputArguments = 542;\n\n        /// <summary>\n        /// The identifier for the DerivedFromComplexObjectType_SetSubscriptionDurable_InputArguments Variable.\n        /// </summary>\n        public const uint DerivedFromComplexObjectType_SetSubscriptionDurable_InputArguments = 544;\n\n        /// <summary>\n        /// The identifier for the DerivedFromComplexObjectType_SetSubscriptionDurable_OutputArguments Variable.\n        /// </summary>\n        public const uint DerivedFromComplexObjectType_SetSubscriptionDurable_OutputArguments = 545;\n\n        /// <summary>\n        /// The identifier for the DerivedFromComplexObjectType_RequestServerStateChange_InputArguments Variable.\n        /// </summary>\n        public const uint DerivedFromComplexObjectType_RequestServerStateChange_InputArguments = 547;\n\n        /// <summary>\n        /// The identifier for the DerivedFromComplexObjectType_BrowseName4node66 Variable.\n        /// </summary>\n        public const uint DerivedFromComplexObjectType_BrowseName4node66 = 402;\n\n        /// <summary>\n        /// The identifier for the DerivedFromComplexObjectType_NameNotSet1109 Variable.\n        /// </summary>\n        public const uint DerivedFromComplexObjectType_NameNotSet1109 = 403;\n\n        /// <summary>\n        /// The identifier for the DerivedFromComplexObjectType_NameNotSet1109_EURange Variable.\n        /// </summary>\n        public const uint DerivedFromComplexObjectType_NameNotSet1109_EURange = 407;\n\n        /// <summary>\n        /// The identifier for the DerivedFromComplexObjectType_ChildMethod_InputArguments Variable.\n        /// </summary>\n        public const uint DerivedFromComplexObjectType_ChildMethod_InputArguments = 410;\n\n        /// <summary>\n        /// The identifier for the DerivedFromComplexObjectType_ChildMethod_OutputArguments Variable.\n        /// </summary>\n        public const uint DerivedFromComplexObjectType_ChildMethod_OutputArguments = 411;\n\n        /// <summary>\n        /// The identifier for the NameNotSet6_ServerArray Variable.\n        /// </summary>\n        public const uint NameNotSet6_ServerArray = 414;\n\n        /// <summary>\n        /// The identifier for the NameNotSet6_NamespaceArray Variable.\n        /// </summary>\n        public const uint NameNotSet6_NamespaceArray = 415;\n\n        /// <summary>\n        /// The identifier for the NameNotSet6_ServerStatus Variable.\n        /// </summary>\n        public const uint NameNotSet6_ServerStatus = 416;\n\n        /// <summary>\n        /// The identifier for the NameNotSet6_ServerStatus_StartTime Variable.\n        /// </summary>\n        public const uint NameNotSet6_ServerStatus_StartTime = 417;\n\n        /// <summary>\n        /// The identifier for the NameNotSet6_ServerStatus_CurrentTime Variable.\n        /// </summary>\n        public const uint NameNotSet6_ServerStatus_CurrentTime = 418;\n\n        /// <summary>\n        /// The identifier for the NameNotSet6_ServerStatus_State Variable.\n        /// </summary>\n        public const uint NameNotSet6_ServerStatus_State = 419;\n\n        /// <summary>\n        /// The identifier for the NameNotSet6_ServerStatus_BuildInfo Variable.\n        /// </summary>\n        public const uint NameNotSet6_ServerStatus_BuildInfo = 420;\n\n        /// <summary>\n        /// The identifier for the NameNotSet6_ServerStatus_BuildInfo_ProductUri Variable.\n        /// </summary>\n        public const uint NameNotSet6_ServerStatus_BuildInfo_ProductUri = 421;\n\n        /// <summary>\n        /// The identifier for the NameNotSet6_ServerStatus_BuildInfo_ManufacturerName Variable.\n        /// </summary>\n        public const uint NameNotSet6_ServerStatus_BuildInfo_ManufacturerName = 422;\n\n        /// <summary>\n        /// The identifier for the NameNotSet6_ServerStatus_BuildInfo_ProductName Variable.\n        /// </summary>\n        public const uint NameNotSet6_ServerStatus_BuildInfo_ProductName = 423;\n\n        /// <summary>\n        /// The identifier for the NameNotSet6_ServerStatus_BuildInfo_SoftwareVersion Variable.\n        /// </summary>\n        public const uint NameNotSet6_ServerStatus_BuildInfo_SoftwareVersion = 424;\n\n        /// <summary>\n        /// The identifier for the NameNotSet6_ServerStatus_BuildInfo_BuildNumber Variable.\n        /// </summary>\n        public const uint NameNotSet6_ServerStatus_BuildInfo_BuildNumber = 425;\n\n        /// <summary>\n        /// The identifier for the NameNotSet6_ServerStatus_BuildInfo_BuildDate Variable.\n        /// </summary>\n        public const uint NameNotSet6_ServerStatus_BuildInfo_BuildDate = 426;\n\n        /// <summary>\n        /// The identifier for the NameNotSet6_ServerStatus_SecondsTillShutdown Variable.\n        /// </summary>\n        public const uint NameNotSet6_ServerStatus_SecondsTillShutdown = 427;\n\n        /// <summary>\n        /// The identifier for the NameNotSet6_ServerStatus_ShutdownReason Variable.\n        /// </summary>\n        public const uint NameNotSet6_ServerStatus_ShutdownReason = 428;\n\n        /// <summary>\n        /// The identifier for the NameNotSet6_ServiceLevel Variable.\n        /// </summary>\n        public const uint NameNotSet6_ServiceLevel = 429;\n\n        /// <summary>\n        /// The identifier for the NameNotSet6_Auditing Variable.\n        /// </summary>\n        public const uint NameNotSet6_Auditing = 430;\n\n        /// <summary>\n        /// The identifier for the NameNotSet6_ServerCapabilities_ServerProfileArray Variable.\n        /// </summary>\n        public const uint NameNotSet6_ServerCapabilities_ServerProfileArray = 432;\n\n        /// <summary>\n        /// The identifier for the NameNotSet6_ServerCapabilities_LocaleIdArray Variable.\n        /// </summary>\n        public const uint NameNotSet6_ServerCapabilities_LocaleIdArray = 433;\n\n        /// <summary>\n        /// The identifier for the NameNotSet6_ServerCapabilities_MinSupportedSampleRate Variable.\n        /// </summary>\n        public const uint NameNotSet6_ServerCapabilities_MinSupportedSampleRate = 434;\n\n        /// <summary>\n        /// The identifier for the NameNotSet6_ServerCapabilities_MaxBrowseContinuationPoints Variable.\n        /// </summary>\n        public const uint NameNotSet6_ServerCapabilities_MaxBrowseContinuationPoints = 435;\n\n        /// <summary>\n        /// The identifier for the NameNotSet6_ServerCapabilities_MaxQueryContinuationPoints Variable.\n        /// </summary>\n        public const uint NameNotSet6_ServerCapabilities_MaxQueryContinuationPoints = 436;\n\n        /// <summary>\n        /// The identifier for the NameNotSet6_ServerCapabilities_MaxHistoryContinuationPoints Variable.\n        /// </summary>\n        public const uint NameNotSet6_ServerCapabilities_MaxHistoryContinuationPoints = 437;\n\n        /// <summary>\n        /// The identifier for the NameNotSet6_ServerCapabilities_SoftwareCertificates Variable.\n        /// </summary>\n        public const uint NameNotSet6_ServerCapabilities_SoftwareCertificates = 438;\n\n        /// <summary>\n        /// The identifier for the NameNotSet6_ServerCapabilities_RoleSet_AddRole_InputArguments Variable.\n        /// </summary>\n        public const uint NameNotSet6_ServerCapabilities_RoleSet_AddRole_InputArguments = 18;\n\n        /// <summary>\n        /// The identifier for the NameNotSet6_ServerCapabilities_RoleSet_AddRole_OutputArguments Variable.\n        /// </summary>\n        public const uint NameNotSet6_ServerCapabilities_RoleSet_AddRole_OutputArguments = 19;\n\n        /// <summary>\n        /// The identifier for the NameNotSet6_ServerCapabilities_RoleSet_RemoveRole_InputArguments Variable.\n        /// </summary>\n        public const uint NameNotSet6_ServerCapabilities_RoleSet_RemoveRole_InputArguments = 21;\n\n        /// <summary>\n        /// The identifier for the NameNotSet6_ServerDiagnostics_ServerDiagnosticsSummary Variable.\n        /// </summary>\n        public const uint NameNotSet6_ServerDiagnostics_ServerDiagnosticsSummary = 457;\n\n        /// <summary>\n        /// The identifier for the NameNotSet6_ServerDiagnostics_ServerDiagnosticsSummary_ServerViewCount Variable.\n        /// </summary>\n        public const uint NameNotSet6_ServerDiagnostics_ServerDiagnosticsSummary_ServerViewCount = 458;\n\n        /// <summary>\n        /// The identifier for the NameNotSet6_ServerDiagnostics_ServerDiagnosticsSummary_CurrentSessionCount Variable.\n        /// </summary>\n        public const uint NameNotSet6_ServerDiagnostics_ServerDiagnosticsSummary_CurrentSessionCount = 459;\n\n        /// <summary>\n        /// The identifier for the NameNotSet6_ServerDiagnostics_ServerDiagnosticsSummary_CumulatedSessionCount Variable.\n        /// </summary>\n        public const uint NameNotSet6_ServerDiagnostics_ServerDiagnosticsSummary_CumulatedSessionCount = 460;\n\n        /// <summary>\n        /// The identifier for the NameNotSet6_ServerDiagnostics_ServerDiagnosticsSummary_SecurityRejectedSessionCount Variable.\n        /// </summary>\n        public const uint NameNotSet6_ServerDiagnostics_ServerDiagnosticsSummary_SecurityRejectedSessionCount = 461;\n\n        /// <summary>\n        /// The identifier for the NameNotSet6_ServerDiagnostics_ServerDiagnosticsSummary_RejectedSessionCount Variable.\n        /// </summary>\n        public const uint NameNotSet6_ServerDiagnostics_ServerDiagnosticsSummary_RejectedSessionCount = 462;\n\n        /// <summary>\n        /// The identifier for the NameNotSet6_ServerDiagnostics_ServerDiagnosticsSummary_SessionTimeoutCount Variable.\n        /// </summary>\n        public const uint NameNotSet6_ServerDiagnostics_ServerDiagnosticsSummary_SessionTimeoutCount = 463;\n\n        /// <summary>\n        /// The identifier for the NameNotSet6_ServerDiagnostics_ServerDiagnosticsSummary_SessionAbortCount Variable.\n        /// </summary>\n        public const uint NameNotSet6_ServerDiagnostics_ServerDiagnosticsSummary_SessionAbortCount = 464;\n\n        /// <summary>\n        /// The identifier for the NameNotSet6_ServerDiagnostics_ServerDiagnosticsSummary_PublishingIntervalCount Variable.\n        /// </summary>\n        public const uint NameNotSet6_ServerDiagnostics_ServerDiagnosticsSummary_PublishingIntervalCount = 465;\n\n        /// <summary>\n        /// The identifier for the NameNotSet6_ServerDiagnostics_ServerDiagnosticsSummary_CurrentSubscriptionCount Variable.\n        /// </summary>\n        public const uint NameNotSet6_ServerDiagnostics_ServerDiagnosticsSummary_CurrentSubscriptionCount = 466;\n\n        /// <summary>\n        /// The identifier for the NameNotSet6_ServerDiagnostics_ServerDiagnosticsSummary_CumulatedSubscriptionCount Variable.\n        /// </summary>\n        public const uint NameNotSet6_ServerDiagnostics_ServerDiagnosticsSummary_CumulatedSubscriptionCount = 467;\n\n        /// <summary>\n        /// The identifier for the NameNotSet6_ServerDiagnostics_ServerDiagnosticsSummary_SecurityRejectedRequestsCount Variable.\n        /// </summary>\n        public const uint NameNotSet6_ServerDiagnostics_ServerDiagnosticsSummary_SecurityRejectedRequestsCount = 468;\n\n        /// <summary>\n        /// The identifier for the NameNotSet6_ServerDiagnostics_ServerDiagnosticsSummary_RejectedRequestsCount Variable.\n        /// </summary>\n        public const uint NameNotSet6_ServerDiagnostics_ServerDiagnosticsSummary_RejectedRequestsCount = 469;\n\n        /// <summary>\n        /// The identifier for the NameNotSet6_ServerDiagnostics_SubscriptionDiagnosticsArray Variable.\n        /// </summary>\n        public const uint NameNotSet6_ServerDiagnostics_SubscriptionDiagnosticsArray = 471;\n\n        /// <summary>\n        /// The identifier for the NameNotSet6_ServerDiagnostics_SessionsDiagnosticsSummary_SessionDiagnosticsArray Variable.\n        /// </summary>\n        public const uint NameNotSet6_ServerDiagnostics_SessionsDiagnosticsSummary_SessionDiagnosticsArray = 473;\n\n        /// <summary>\n        /// The identifier for the NameNotSet6_ServerDiagnostics_SessionsDiagnosticsSummary_SessionSecurityDiagnosticsArray Variable.\n        /// </summary>\n        public const uint NameNotSet6_ServerDiagnostics_SessionsDiagnosticsSummary_SessionSecurityDiagnosticsArray = 474;\n\n        /// <summary>\n        /// The identifier for the NameNotSet6_ServerDiagnostics_EnabledFlag Variable.\n        /// </summary>\n        public const uint NameNotSet6_ServerDiagnostics_EnabledFlag = 475;\n\n        /// <summary>\n        /// The identifier for the NameNotSet6_ServerRedundancy_RedundancySupport Variable.\n        /// </summary>\n        public const uint NameNotSet6_ServerRedundancy_RedundancySupport = 478;\n\n        /// <summary>\n        /// The identifier for the NameNotSet6_GetMonitoredItems_InputArguments Variable.\n        /// </summary>\n        public const uint NameNotSet6_GetMonitoredItems_InputArguments = 502;\n\n        /// <summary>\n        /// The identifier for the NameNotSet6_GetMonitoredItems_OutputArguments Variable.\n        /// </summary>\n        public const uint NameNotSet6_GetMonitoredItems_OutputArguments = 503;\n\n        /// <summary>\n        /// The identifier for the NameNotSet6_ResendData_InputArguments Variable.\n        /// </summary>\n        public const uint NameNotSet6_ResendData_InputArguments = 558;\n\n        /// <summary>\n        /// The identifier for the NameNotSet6_SetSubscriptionDurable_InputArguments Variable.\n        /// </summary>\n        public const uint NameNotSet6_SetSubscriptionDurable_InputArguments = 560;\n\n        /// <summary>\n        /// The identifier for the NameNotSet6_SetSubscriptionDurable_OutputArguments Variable.\n        /// </summary>\n        public const uint NameNotSet6_SetSubscriptionDurable_OutputArguments = 561;\n\n        /// <summary>\n        /// The identifier for the NameNotSet6_RequestServerStateChange_InputArguments Variable.\n        /// </summary>\n        public const uint NameNotSet6_RequestServerStateChange_InputArguments = 563;\n\n        /// <summary>\n        /// The identifier for the NameNotSet6_BrowseName4node66 Variable.\n        /// </summary>\n        public const uint NameNotSet6_BrowseName4node66 = 505;\n\n        /// <summary>\n        /// The identifier for the NameNotSet6_NameNotSet1109 Variable.\n        /// </summary>\n        public const uint NameNotSet6_NameNotSet1109 = 506;\n\n        /// <summary>\n        /// The identifier for the NameNotSet6_NameNotSet1109_EURange Variable.\n        /// </summary>\n        public const uint NameNotSet6_NameNotSet1109_EURange = 510;\n\n        /// <summary>\n        /// The identifier for the NameNotSet6_ChildMethod_InputArguments Variable.\n        /// </summary>\n        public const uint NameNotSet6_ChildMethod_InputArguments = 513;\n\n        /// <summary>\n        /// The identifier for the NameNotSet6_ChildMethod_OutputArguments Variable.\n        /// </summary>\n        public const uint NameNotSet6_ChildMethod_OutputArguments = 514;\n    }\n    #endregion\n\n    #region Method Node Identifiers\n    /// <summary>\n    /// A class that declares constants for all Methods in the Model Design.\n    /// </summary>\n    /// <exclude />\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"Opc.Ua.ModelCompiler\", \"1.0.0.0\")]\n    public static partial class MethodIds\n    {\n        /// <summary>\n        /// The identifier for the ComplexObjectType_ServerCapabilities_RoleSet_AddRole Method.\n        /// </summary>\n        public static readonly ExpandedNodeId ComplexObjectType_ServerCapabilities_RoleSet_AddRole = new ExpandedNodeId(ObjectTypeTest.Methods.ComplexObjectType_ServerCapabilities_RoleSet_AddRole, ObjectTypeTest.Namespaces.cas);\n\n        /// <summary>\n        /// The identifier for the ComplexObjectType_ServerCapabilities_RoleSet_RemoveRole Method.\n        /// </summary>\n        public static readonly ExpandedNodeId ComplexObjectType_ServerCapabilities_RoleSet_RemoveRole = new ExpandedNodeId(ObjectTypeTest.Methods.ComplexObjectType_ServerCapabilities_RoleSet_RemoveRole, ObjectTypeTest.Namespaces.cas);\n\n        /// <summary>\n        /// The identifier for the ComplexObjectType_ChildMethod Method.\n        /// </summary>\n        public static readonly ExpandedNodeId ComplexObjectType_ChildMethod = new ExpandedNodeId(ObjectTypeTest.Methods.ComplexObjectType_ChildMethod, ObjectTypeTest.Namespaces.cas);\n\n        /// <summary>\n        /// The identifier for the ComplexObjectType_NonExecutableMethod Method.\n        /// </summary>\n        public static readonly ExpandedNodeId ComplexObjectType_NonExecutableMethod = new ExpandedNodeId(ObjectTypeTest.Methods.ComplexObjectType_NonExecutableMethod, ObjectTypeTest.Namespaces.cas);\n\n        /// <summary>\n        /// The identifier for the ChildMethodComplexObjectType Method.\n        /// </summary>\n        public static readonly ExpandedNodeId ChildMethodComplexObjectType = new ExpandedNodeId(ObjectTypeTest.Methods.ChildMethodComplexObjectType, ObjectTypeTest.Namespaces.cas);\n\n        /// <summary>\n        /// The identifier for the NonExecutableMethodComplexObjectType Method.\n        /// </summary>\n        public static readonly ExpandedNodeId NonExecutableMethodComplexObjectType = new ExpandedNodeId(ObjectTypeTest.Methods.NonExecutableMethodComplexObjectType, ObjectTypeTest.Namespaces.cas);\n\n        /// <summary>\n        /// The identifier for the DerivedFromComplexObjectType_ServerCapabilities_RoleSet_AddRole Method.\n        /// </summary>\n        public static readonly ExpandedNodeId DerivedFromComplexObjectType_ServerCapabilities_RoleSet_AddRole = new ExpandedNodeId(ObjectTypeTest.Methods.DerivedFromComplexObjectType_ServerCapabilities_RoleSet_AddRole, ObjectTypeTest.Namespaces.cas);\n\n        /// <summary>\n        /// The identifier for the DerivedFromComplexObjectType_ServerCapabilities_RoleSet_RemoveRole Method.\n        /// </summary>\n        public static readonly ExpandedNodeId DerivedFromComplexObjectType_ServerCapabilities_RoleSet_RemoveRole = new ExpandedNodeId(ObjectTypeTest.Methods.DerivedFromComplexObjectType_ServerCapabilities_RoleSet_RemoveRole, ObjectTypeTest.Namespaces.cas);\n\n        /// <summary>\n        /// The identifier for the DerivedFromComplexObjectType_ChildMethod Method.\n        /// </summary>\n        public static readonly ExpandedNodeId DerivedFromComplexObjectType_ChildMethod = new ExpandedNodeId(ObjectTypeTest.Methods.DerivedFromComplexObjectType_ChildMethod, ObjectTypeTest.Namespaces.cas);\n\n        /// <summary>\n        /// The identifier for the NameNotSet6_ServerCapabilities_RoleSet_AddRole Method.\n        /// </summary>\n        public static readonly ExpandedNodeId NameNotSet6_ServerCapabilities_RoleSet_AddRole = new ExpandedNodeId(ObjectTypeTest.Methods.NameNotSet6_ServerCapabilities_RoleSet_AddRole, ObjectTypeTest.Namespaces.cas);\n\n        /// <summary>\n        /// The identifier for the NameNotSet6_ServerCapabilities_RoleSet_RemoveRole Method.\n        /// </summary>\n        public static readonly ExpandedNodeId NameNotSet6_ServerCapabilities_RoleSet_RemoveRole = new ExpandedNodeId(ObjectTypeTest.Methods.NameNotSet6_ServerCapabilities_RoleSet_RemoveRole, ObjectTypeTest.Namespaces.cas);\n\n        /// <summary>\n        /// The identifier for the NameNotSet6_ChildMethod Method.\n        /// </summary>\n        public static readonly ExpandedNodeId NameNotSet6_ChildMethod = new ExpandedNodeId(ObjectTypeTest.Methods.NameNotSet6_ChildMethod, ObjectTypeTest.Namespaces.cas);\n\n        /// <summary>\n        /// The identifier for the NameNotSet6_NonExecutableMethod Method.\n        /// </summary>\n        public static readonly ExpandedNodeId NameNotSet6_NonExecutableMethod = new ExpandedNodeId(ObjectTypeTest.Methods.NameNotSet6_NonExecutableMethod, ObjectTypeTest.Namespaces.cas);\n    }\n    #endregion\n\n    #region Object Node Identifiers\n    /// <summary>\n    /// A class that declares constants for all Objects in the Model Design.\n    /// </summary>\n    /// <exclude />\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"Opc.Ua.ModelCompiler\", \"1.0.0.0\")]\n    public static partial class ObjectIds\n    {\n        /// <summary>\n        /// The identifier for the ComplexObjectType_ServerCapabilities Object.\n        /// </summary>\n        public static readonly ExpandedNodeId ComplexObjectType_ServerCapabilities = new ExpandedNodeId(ObjectTypeTest.Objects.ComplexObjectType_ServerCapabilities, ObjectTypeTest.Namespaces.cas);\n\n        /// <summary>\n        /// The identifier for the ComplexObjectType_ServerCapabilities_ModellingRules Object.\n        /// </summary>\n        public static readonly ExpandedNodeId ComplexObjectType_ServerCapabilities_ModellingRules = new ExpandedNodeId(ObjectTypeTest.Objects.ComplexObjectType_ServerCapabilities_ModellingRules, ObjectTypeTest.Namespaces.cas);\n\n        /// <summary>\n        /// The identifier for the ComplexObjectType_ServerCapabilities_AggregateFunctions Object.\n        /// </summary>\n        public static readonly ExpandedNodeId ComplexObjectType_ServerCapabilities_AggregateFunctions = new ExpandedNodeId(ObjectTypeTest.Objects.ComplexObjectType_ServerCapabilities_AggregateFunctions, ObjectTypeTest.Namespaces.cas);\n\n        /// <summary>\n        /// The identifier for the ComplexObjectType_ServerDiagnostics_SessionsDiagnosticsSummary Object.\n        /// </summary>\n        public static readonly ExpandedNodeId ComplexObjectType_ServerDiagnostics_SessionsDiagnosticsSummary = new ExpandedNodeId(ObjectTypeTest.Objects.ComplexObjectType_ServerDiagnostics_SessionsDiagnosticsSummary, ObjectTypeTest.Namespaces.cas);\n\n        /// <summary>\n        /// The identifier for the ComplexObjectType_ChildObject Object.\n        /// </summary>\n        public static readonly ExpandedNodeId ComplexObjectType_ChildObject = new ExpandedNodeId(ObjectTypeTest.Objects.ComplexObjectType_ChildObject, ObjectTypeTest.Namespaces.cas);\n\n        /// <summary>\n        /// The identifier for the DerivedFromComplexObjectType_ServerCapabilities_ModellingRules Object.\n        /// </summary>\n        public static readonly ExpandedNodeId DerivedFromComplexObjectType_ServerCapabilities_ModellingRules = new ExpandedNodeId(ObjectTypeTest.Objects.DerivedFromComplexObjectType_ServerCapabilities_ModellingRules, ObjectTypeTest.Namespaces.cas);\n\n        /// <summary>\n        /// The identifier for the DerivedFromComplexObjectType_ServerCapabilities_AggregateFunctions Object.\n        /// </summary>\n        public static readonly ExpandedNodeId DerivedFromComplexObjectType_ServerCapabilities_AggregateFunctions = new ExpandedNodeId(ObjectTypeTest.Objects.DerivedFromComplexObjectType_ServerCapabilities_AggregateFunctions, ObjectTypeTest.Namespaces.cas);\n\n        /// <summary>\n        /// The identifier for the DerivedFromComplexObjectType_ServerDiagnostics_SessionsDiagnosticsSummary Object.\n        /// </summary>\n        public static readonly ExpandedNodeId DerivedFromComplexObjectType_ServerDiagnostics_SessionsDiagnosticsSummary = new ExpandedNodeId(ObjectTypeTest.Objects.DerivedFromComplexObjectType_ServerDiagnostics_SessionsDiagnosticsSummary, ObjectTypeTest.Namespaces.cas);\n\n        /// <summary>\n        /// The identifier for the NameNotSet6 Object.\n        /// </summary>\n        public static readonly ExpandedNodeId NameNotSet6 = new ExpandedNodeId(ObjectTypeTest.Objects.NameNotSet6, ObjectTypeTest.Namespaces.cas);\n\n        /// <summary>\n        /// The identifier for the NameNotSet6_ServerCapabilities Object.\n        /// </summary>\n        public static readonly ExpandedNodeId NameNotSet6_ServerCapabilities = new ExpandedNodeId(ObjectTypeTest.Objects.NameNotSet6_ServerCapabilities, ObjectTypeTest.Namespaces.cas);\n\n        /// <summary>\n        /// The identifier for the NameNotSet6_ServerCapabilities_ModellingRules Object.\n        /// </summary>\n        public static readonly ExpandedNodeId NameNotSet6_ServerCapabilities_ModellingRules = new ExpandedNodeId(ObjectTypeTest.Objects.NameNotSet6_ServerCapabilities_ModellingRules, ObjectTypeTest.Namespaces.cas);\n\n        /// <summary>\n        /// The identifier for the NameNotSet6_ServerCapabilities_AggregateFunctions Object.\n        /// </summary>\n        public static readonly ExpandedNodeId NameNotSet6_ServerCapabilities_AggregateFunctions = new ExpandedNodeId(ObjectTypeTest.Objects.NameNotSet6_ServerCapabilities_AggregateFunctions, ObjectTypeTest.Namespaces.cas);\n\n        /// <summary>\n        /// The identifier for the NameNotSet6_ServerDiagnostics Object.\n        /// </summary>\n        public static readonly ExpandedNodeId NameNotSet6_ServerDiagnostics = new ExpandedNodeId(ObjectTypeTest.Objects.NameNotSet6_ServerDiagnostics, ObjectTypeTest.Namespaces.cas);\n\n        /// <summary>\n        /// The identifier for the NameNotSet6_ServerDiagnostics_SessionsDiagnosticsSummary Object.\n        /// </summary>\n        public static readonly ExpandedNodeId NameNotSet6_ServerDiagnostics_SessionsDiagnosticsSummary = new ExpandedNodeId(ObjectTypeTest.Objects.NameNotSet6_ServerDiagnostics_SessionsDiagnosticsSummary, ObjectTypeTest.Namespaces.cas);\n\n        /// <summary>\n        /// The identifier for the NameNotSet6_VendorServerInfo Object.\n        /// </summary>\n        public static readonly ExpandedNodeId NameNotSet6_VendorServerInfo = new ExpandedNodeId(ObjectTypeTest.Objects.NameNotSet6_VendorServerInfo, ObjectTypeTest.Namespaces.cas);\n\n        /// <summary>\n        /// The identifier for the NameNotSet6_ServerRedundancy Object.\n        /// </summary>\n        public static readonly ExpandedNodeId NameNotSet6_ServerRedundancy = new ExpandedNodeId(ObjectTypeTest.Objects.NameNotSet6_ServerRedundancy, ObjectTypeTest.Namespaces.cas);\n    }\n    #endregion\n\n    #region ObjectType Node Identifiers\n    /// <summary>\n    /// A class that declares constants for all ObjectTypes in the Model Design.\n    /// </summary>\n    /// <exclude />\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"Opc.Ua.ModelCompiler\", \"1.0.0.0\")]\n    public static partial class ObjectTypeIds\n    {\n        /// <summary>\n        /// The identifier for the ComplexObjectType ObjectType.\n        /// </summary>\n        public static readonly ExpandedNodeId ComplexObjectType = new ExpandedNodeId(ObjectTypeTest.ObjectTypes.ComplexObjectType, ObjectTypeTest.Namespaces.cas);\n\n        /// <summary>\n        /// The identifier for the DerivedFromComplexObjectType ObjectType.\n        /// </summary>\n        public static readonly ExpandedNodeId DerivedFromComplexObjectType = new ExpandedNodeId(ObjectTypeTest.ObjectTypes.DerivedFromComplexObjectType, ObjectTypeTest.Namespaces.cas);\n    }\n    #endregion\n\n    #region ReferenceType Node Identifiers\n    /// <summary>\n    /// A class that declares constants for all ReferenceTypes in the Model Design.\n    /// </summary>\n    /// <exclude />\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"Opc.Ua.ModelCompiler\", \"1.0.0.0\")]\n    public static partial class ReferenceTypeIds\n    {\n        /// <summary>\n        /// The identifier for the FlowTo ReferenceType.\n        /// </summary>\n        public static readonly ExpandedNodeId FlowTo = new ExpandedNodeId(ObjectTypeTest.ReferenceTypes.FlowTo, ObjectTypeTest.Namespaces.cas);\n    }\n    #endregion\n\n    #region Variable Node Identifiers\n    /// <summary>\n    /// A class that declares constants for all Variables in the Model Design.\n    /// </summary>\n    /// <exclude />\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"Opc.Ua.ModelCompiler\", \"1.0.0.0\")]\n    public static partial class VariableIds\n    {\n        /// <summary>\n        /// The identifier for the ComplexObjectType_ServerStatus_StartTime Variable.\n        /// </summary>\n        public static readonly ExpandedNodeId ComplexObjectType_ServerStatus_StartTime = new ExpandedNodeId(ObjectTypeTest.Variables.ComplexObjectType_ServerStatus_StartTime, ObjectTypeTest.Namespaces.cas);\n\n        /// <summary>\n        /// The identifier for the ComplexObjectType_ServerStatus_CurrentTime Variable.\n        /// </summary>\n        public static readonly ExpandedNodeId ComplexObjectType_ServerStatus_CurrentTime = new ExpandedNodeId(ObjectTypeTest.Variables.ComplexObjectType_ServerStatus_CurrentTime, ObjectTypeTest.Namespaces.cas);\n\n        /// <summary>\n        /// The identifier for the ComplexObjectType_ServerStatus_State Variable.\n        /// </summary>\n        public static readonly ExpandedNodeId ComplexObjectType_ServerStatus_State = new ExpandedNodeId(ObjectTypeTest.Variables.ComplexObjectType_ServerStatus_State, ObjectTypeTest.Namespaces.cas);\n\n        /// <summary>\n        /// The identifier for the ComplexObjectType_ServerStatus_BuildInfo Variable.\n        /// </summary>\n        public static readonly ExpandedNodeId ComplexObjectType_ServerStatus_BuildInfo = new ExpandedNodeId(ObjectTypeTest.Variables.ComplexObjectType_ServerStatus_BuildInfo, ObjectTypeTest.Namespaces.cas);\n\n        /// <summary>\n        /// The identifier for the ComplexObjectType_ServerStatus_BuildInfo_ProductUri Variable.\n        /// </summary>\n        public static readonly ExpandedNodeId ComplexObjectType_ServerStatus_BuildInfo_ProductUri = new ExpandedNodeId(ObjectTypeTest.Variables.ComplexObjectType_ServerStatus_BuildInfo_ProductUri, ObjectTypeTest.Namespaces.cas);\n\n        /// <summary>\n        /// The identifier for the ComplexObjectType_ServerStatus_BuildInfo_ManufacturerName Variable.\n        /// </summary>\n        public static readonly ExpandedNodeId ComplexObjectType_ServerStatus_BuildInfo_ManufacturerName = new ExpandedNodeId(ObjectTypeTest.Variables.ComplexObjectType_ServerStatus_BuildInfo_ManufacturerName, ObjectTypeTest.Namespaces.cas);\n\n        /// <summary>\n        /// The identifier for the ComplexObjectType_ServerStatus_BuildInfo_ProductName Variable.\n        /// </summary>\n        public static readonly ExpandedNodeId ComplexObjectType_ServerStatus_BuildInfo_ProductName = new ExpandedNodeId(ObjectTypeTest.Variables.ComplexObjectType_ServerStatus_BuildInfo_ProductName, ObjectTypeTest.Namespaces.cas);\n\n        /// <summary>\n        /// The identifier for the ComplexObjectType_ServerStatus_BuildInfo_SoftwareVersion Variable.\n        /// </summary>\n        public static readonly ExpandedNodeId ComplexObjectType_ServerStatus_BuildInfo_SoftwareVersion = new ExpandedNodeId(ObjectTypeTest.Variables.ComplexObjectType_ServerStatus_BuildInfo_SoftwareVersion, ObjectTypeTest.Namespaces.cas);\n\n        /// <summary>\n        /// The identifier for the ComplexObjectType_ServerStatus_BuildInfo_BuildNumber Variable.\n        /// </summary>\n        public static readonly ExpandedNodeId ComplexObjectType_ServerStatus_BuildInfo_BuildNumber = new ExpandedNodeId(ObjectTypeTest.Variables.ComplexObjectType_ServerStatus_BuildInfo_BuildNumber, ObjectTypeTest.Namespaces.cas);\n\n        /// <summary>\n        /// The identifier for the ComplexObjectType_ServerStatus_BuildInfo_BuildDate Variable.\n        /// </summary>\n        public static readonly ExpandedNodeId ComplexObjectType_ServerStatus_BuildInfo_BuildDate = new ExpandedNodeId(ObjectTypeTest.Variables.ComplexObjectType_ServerStatus_BuildInfo_BuildDate, ObjectTypeTest.Namespaces.cas);\n\n        /// <summary>\n        /// The identifier for the ComplexObjectType_ServerStatus_SecondsTillShutdown Variable.\n        /// </summary>\n        public static readonly ExpandedNodeId ComplexObjectType_ServerStatus_SecondsTillShutdown = new ExpandedNodeId(ObjectTypeTest.Variables.ComplexObjectType_ServerStatus_SecondsTillShutdown, ObjectTypeTest.Namespaces.cas);\n\n        /// <summary>\n        /// The identifier for the ComplexObjectType_ServerStatus_ShutdownReason Variable.\n        /// </summary>\n        public static readonly ExpandedNodeId ComplexObjectType_ServerStatus_ShutdownReason = new ExpandedNodeId(ObjectTypeTest.Variables.ComplexObjectType_ServerStatus_ShutdownReason, ObjectTypeTest.Namespaces.cas);\n\n        /// <summary>\n        /// The identifier for the ComplexObjectType_ServerCapabilities_ServerProfileArray Variable.\n        /// </summary>\n        public static readonly ExpandedNodeId ComplexObjectType_ServerCapabilities_ServerProfileArray = new ExpandedNodeId(ObjectTypeTest.Variables.ComplexObjectType_ServerCapabilities_ServerProfileArray, ObjectTypeTest.Namespaces.cas);\n\n        /// <summary>\n        /// The identifier for the ComplexObjectType_ServerCapabilities_LocaleIdArray Variable.\n        /// </summary>\n        public static readonly ExpandedNodeId ComplexObjectType_ServerCapabilities_LocaleIdArray = new ExpandedNodeId(ObjectTypeTest.Variables.ComplexObjectType_ServerCapabilities_LocaleIdArray, ObjectTypeTest.Namespaces.cas);\n\n        /// <summary>\n        /// The identifier for the ComplexObjectType_ServerCapabilities_MinSupportedSampleRate Variable.\n        /// </summary>\n        public static readonly ExpandedNodeId ComplexObjectType_ServerCapabilities_MinSupportedSampleRate = new ExpandedNodeId(ObjectTypeTest.Variables.ComplexObjectType_ServerCapabilities_MinSupportedSampleRate, ObjectTypeTest.Namespaces.cas);\n\n        /// <summary>\n        /// The identifier for the ComplexObjectType_ServerCapabilities_MaxBrowseContinuationPoints Variable.\n        /// </summary>\n        public static readonly ExpandedNodeId ComplexObjectType_ServerCapabilities_MaxBrowseContinuationPoints = new ExpandedNodeId(ObjectTypeTest.Variables.ComplexObjectType_ServerCapabilities_MaxBrowseContinuationPoints, ObjectTypeTest.Namespaces.cas);\n\n        /// <summary>\n        /// The identifier for the ComplexObjectType_ServerCapabilities_MaxQueryContinuationPoints Variable.\n        /// </summary>\n        public static readonly ExpandedNodeId ComplexObjectType_ServerCapabilities_MaxQueryContinuationPoints = new ExpandedNodeId(ObjectTypeTest.Variables.ComplexObjectType_ServerCapabilities_MaxQueryContinuationPoints, ObjectTypeTest.Namespaces.cas);\n\n        /// <summary>\n        /// The identifier for the ComplexObjectType_ServerCapabilities_MaxHistoryContinuationPoints Variable.\n        /// </summary>\n        public static readonly ExpandedNodeId ComplexObjectType_ServerCapabilities_MaxHistoryContinuationPoints = new ExpandedNodeId(ObjectTypeTest.Variables.ComplexObjectType_ServerCapabilities_MaxHistoryContinuationPoints, ObjectTypeTest.Namespaces.cas);\n\n        /// <summary>\n        /// The identifier for the ComplexObjectType_ServerCapabilities_SoftwareCertificates Variable.\n        /// </summary>\n        public static readonly ExpandedNodeId ComplexObjectType_ServerCapabilities_SoftwareCertificates = new ExpandedNodeId(ObjectTypeTest.Variables.ComplexObjectType_ServerCapabilities_SoftwareCertificates, ObjectTypeTest.Namespaces.cas);\n\n        /// <summary>\n        /// The identifier for the ComplexObjectType_ServerCapabilities_RoleSet_AddRole_InputArguments Variable.\n        /// </summary>\n        public static readonly ExpandedNodeId ComplexObjectType_ServerCapabilities_RoleSet_AddRole_InputArguments = new ExpandedNodeId(ObjectTypeTest.Variables.ComplexObjectType_ServerCapabilities_RoleSet_AddRole_InputArguments, ObjectTypeTest.Namespaces.cas);\n\n        /// <summary>\n        /// The identifier for the ComplexObjectType_ServerCapabilities_RoleSet_AddRole_OutputArguments Variable.\n        /// </summary>\n        public static readonly ExpandedNodeId ComplexObjectType_ServerCapabilities_RoleSet_AddRole_OutputArguments = new ExpandedNodeId(ObjectTypeTest.Variables.ComplexObjectType_ServerCapabilities_RoleSet_AddRole_OutputArguments, ObjectTypeTest.Namespaces.cas);\n\n        /// <summary>\n        /// The identifier for the ComplexObjectType_ServerCapabilities_RoleSet_RemoveRole_InputArguments Variable.\n        /// </summary>\n        public static readonly ExpandedNodeId ComplexObjectType_ServerCapabilities_RoleSet_RemoveRole_InputArguments = new ExpandedNodeId(ObjectTypeTest.Variables.ComplexObjectType_ServerCapabilities_RoleSet_RemoveRole_InputArguments, ObjectTypeTest.Namespaces.cas);\n\n        /// <summary>\n        /// The identifier for the ComplexObjectType_ServerDiagnostics_ServerDiagnosticsSummary Variable.\n        /// </summary>\n        public static readonly ExpandedNodeId ComplexObjectType_ServerDiagnostics_ServerDiagnosticsSummary = new ExpandedNodeId(ObjectTypeTest.Variables.ComplexObjectType_ServerDiagnostics_ServerDiagnosticsSummary, ObjectTypeTest.Namespaces.cas);\n\n        /// <summary>\n        /// The identifier for the ComplexObjectType_ServerDiagnostics_ServerDiagnosticsSummary_ServerViewCount Variable.\n        /// </summary>\n        public static readonly ExpandedNodeId ComplexObjectType_ServerDiagnostics_ServerDiagnosticsSummary_ServerViewCount = new ExpandedNodeId(ObjectTypeTest.Variables.ComplexObjectType_ServerDiagnostics_ServerDiagnosticsSummary_ServerViewCount, ObjectTypeTest.Namespaces.cas);\n\n        /// <summary>\n        /// The identifier for the ComplexObjectType_ServerDiagnostics_ServerDiagnosticsSummary_CurrentSessionCount Variable.\n        /// </summary>\n        public static readonly ExpandedNodeId ComplexObjectType_ServerDiagnostics_ServerDiagnosticsSummary_CurrentSessionCount = new ExpandedNodeId(ObjectTypeTest.Variables.ComplexObjectType_ServerDiagnostics_ServerDiagnosticsSummary_CurrentSessionCount, ObjectTypeTest.Namespaces.cas);\n\n        /// <summary>\n        /// The identifier for the ComplexObjectType_ServerDiagnostics_ServerDiagnosticsSummary_CumulatedSessionCount Variable.\n        /// </summary>\n        public static readonly ExpandedNodeId ComplexObjectType_ServerDiagnostics_ServerDiagnosticsSummary_CumulatedSessionCount = new ExpandedNodeId(ObjectTypeTest.Variables.ComplexObjectType_ServerDiagnostics_ServerDiagnosticsSummary_CumulatedSessionCount, ObjectTypeTest.Namespaces.cas);\n\n        /// <summary>\n        /// The identifier for the ComplexObjectType_ServerDiagnostics_ServerDiagnosticsSummary_SecurityRejectedSessionCount Variable.\n        /// </summary>\n        public static readonly ExpandedNodeId ComplexObjectType_ServerDiagnostics_ServerDiagnosticsSummary_SecurityRejectedSessionCount = new ExpandedNodeId(ObjectTypeTest.Variables.ComplexObjectType_ServerDiagnostics_ServerDiagnosticsSummary_SecurityRejectedSessionCount, ObjectTypeTest.Namespaces.cas);\n\n        /// <summary>\n        /// The identifier for the ComplexObjectType_ServerDiagnostics_ServerDiagnosticsSummary_RejectedSessionCount Variable.\n        /// </summary>\n        public static readonly ExpandedNodeId ComplexObjectType_ServerDiagnostics_ServerDiagnosticsSummary_RejectedSessionCount = new ExpandedNodeId(ObjectTypeTest.Variables.ComplexObjectType_ServerDiagnostics_ServerDiagnosticsSummary_RejectedSessionCount, ObjectTypeTest.Namespaces.cas);\n\n        /// <summary>\n        /// The identifier for the ComplexObjectType_ServerDiagnostics_ServerDiagnosticsSummary_SessionTimeoutCount Variable.\n        /// </summary>\n        public static readonly ExpandedNodeId ComplexObjectType_ServerDiagnostics_ServerDiagnosticsSummary_SessionTimeoutCount = new ExpandedNodeId(ObjectTypeTest.Variables.ComplexObjectType_ServerDiagnostics_ServerDiagnosticsSummary_SessionTimeoutCount, ObjectTypeTest.Namespaces.cas);\n\n        /// <summary>\n        /// The identifier for the ComplexObjectType_ServerDiagnostics_ServerDiagnosticsSummary_SessionAbortCount Variable.\n        /// </summary>\n        public static readonly ExpandedNodeId ComplexObjectType_ServerDiagnostics_ServerDiagnosticsSummary_SessionAbortCount = new ExpandedNodeId(ObjectTypeTest.Variables.ComplexObjectType_ServerDiagnostics_ServerDiagnosticsSummary_SessionAbortCount, ObjectTypeTest.Namespaces.cas);\n\n        /// <summary>\n        /// The identifier for the ComplexObjectType_ServerDiagnostics_ServerDiagnosticsSummary_PublishingIntervalCount Variable.\n        /// </summary>\n        public static readonly ExpandedNodeId ComplexObjectType_ServerDiagnostics_ServerDiagnosticsSummary_PublishingIntervalCount = new ExpandedNodeId(ObjectTypeTest.Variables.ComplexObjectType_ServerDiagnostics_ServerDiagnosticsSummary_PublishingIntervalCount, ObjectTypeTest.Namespaces.cas);\n\n        /// <summary>\n        /// The identifier for the ComplexObjectType_ServerDiagnostics_ServerDiagnosticsSummary_CurrentSubscriptionCount Variable.\n        /// </summary>\n        public static readonly ExpandedNodeId ComplexObjectType_ServerDiagnostics_ServerDiagnosticsSummary_CurrentSubscriptionCount = new ExpandedNodeId(ObjectTypeTest.Variables.ComplexObjectType_ServerDiagnostics_ServerDiagnosticsSummary_CurrentSubscriptionCount, ObjectTypeTest.Namespaces.cas);\n\n        /// <summary>\n        /// The identifier for the ComplexObjectType_ServerDiagnostics_ServerDiagnosticsSummary_CumulatedSubscriptionCount Variable.\n        /// </summary>\n        public static readonly ExpandedNodeId ComplexObjectType_ServerDiagnostics_ServerDiagnosticsSummary_CumulatedSubscriptionCount = new ExpandedNodeId(ObjectTypeTest.Variables.ComplexObjectType_ServerDiagnostics_ServerDiagnosticsSummary_CumulatedSubscriptionCount, ObjectTypeTest.Namespaces.cas);\n\n        /// <summary>\n        /// The identifier for the ComplexObjectType_ServerDiagnostics_ServerDiagnosticsSummary_SecurityRejectedRequestsCount Variable.\n        /// </summary>\n        public static readonly ExpandedNodeId ComplexObjectType_ServerDiagnostics_ServerDiagnosticsSummary_SecurityRejectedRequestsCount = new ExpandedNodeId(ObjectTypeTest.Variables.ComplexObjectType_ServerDiagnostics_ServerDiagnosticsSummary_SecurityRejectedRequestsCount, ObjectTypeTest.Namespaces.cas);\n\n        /// <summary>\n        /// The identifier for the ComplexObjectType_ServerDiagnostics_ServerDiagnosticsSummary_RejectedRequestsCount Variable.\n        /// </summary>\n        public static readonly ExpandedNodeId ComplexObjectType_ServerDiagnostics_ServerDiagnosticsSummary_RejectedRequestsCount = new ExpandedNodeId(ObjectTypeTest.Variables.ComplexObjectType_ServerDiagnostics_ServerDiagnosticsSummary_RejectedRequestsCount, ObjectTypeTest.Namespaces.cas);\n\n        /// <summary>\n        /// The identifier for the ComplexObjectType_ServerDiagnostics_SubscriptionDiagnosticsArray Variable.\n        /// </summary>\n        public static readonly ExpandedNodeId ComplexObjectType_ServerDiagnostics_SubscriptionDiagnosticsArray = new ExpandedNodeId(ObjectTypeTest.Variables.ComplexObjectType_ServerDiagnostics_SubscriptionDiagnosticsArray, ObjectTypeTest.Namespaces.cas);\n\n        /// <summary>\n        /// The identifier for the ComplexObjectType_ServerDiagnostics_SessionsDiagnosticsSummary_SessionDiagnosticsArray Variable.\n        /// </summary>\n        public static readonly ExpandedNodeId ComplexObjectType_ServerDiagnostics_SessionsDiagnosticsSummary_SessionDiagnosticsArray = new ExpandedNodeId(ObjectTypeTest.Variables.ComplexObjectType_ServerDiagnostics_SessionsDiagnosticsSummary_SessionDiagnosticsArray, ObjectTypeTest.Namespaces.cas);\n\n        /// <summary>\n        /// The identifier for the ComplexObjectType_ServerDiagnostics_SessionsDiagnosticsSummary_SessionSecurityDiagnosticsArray Variable.\n        /// </summary>\n        public static readonly ExpandedNodeId ComplexObjectType_ServerDiagnostics_SessionsDiagnosticsSummary_SessionSecurityDiagnosticsArray = new ExpandedNodeId(ObjectTypeTest.Variables.ComplexObjectType_ServerDiagnostics_SessionsDiagnosticsSummary_SessionSecurityDiagnosticsArray, ObjectTypeTest.Namespaces.cas);\n\n        /// <summary>\n        /// The identifier for the ComplexObjectType_ServerDiagnostics_EnabledFlag Variable.\n        /// </summary>\n        public static readonly ExpandedNodeId ComplexObjectType_ServerDiagnostics_EnabledFlag = new ExpandedNodeId(ObjectTypeTest.Variables.ComplexObjectType_ServerDiagnostics_EnabledFlag, ObjectTypeTest.Namespaces.cas);\n\n        /// <summary>\n        /// The identifier for the ComplexObjectType_ServerRedundancy_RedundancySupport Variable.\n        /// </summary>\n        public static readonly ExpandedNodeId ComplexObjectType_ServerRedundancy_RedundancySupport = new ExpandedNodeId(ObjectTypeTest.Variables.ComplexObjectType_ServerRedundancy_RedundancySupport, ObjectTypeTest.Namespaces.cas);\n\n        /// <summary>\n        /// The identifier for the ComplexObjectType_GetMonitoredItems_InputArguments Variable.\n        /// </summary>\n        public static readonly ExpandedNodeId ComplexObjectType_GetMonitoredItems_InputArguments = new ExpandedNodeId(ObjectTypeTest.Variables.ComplexObjectType_GetMonitoredItems_InputArguments, ObjectTypeTest.Namespaces.cas);\n\n        /// <summary>\n        /// The identifier for the ComplexObjectType_GetMonitoredItems_OutputArguments Variable.\n        /// </summary>\n        public static readonly ExpandedNodeId ComplexObjectType_GetMonitoredItems_OutputArguments = new ExpandedNodeId(ObjectTypeTest.Variables.ComplexObjectType_GetMonitoredItems_OutputArguments, ObjectTypeTest.Namespaces.cas);\n\n        /// <summary>\n        /// The identifier for the ComplexObjectType_ResendData_InputArguments Variable.\n        /// </summary>\n        public static readonly ExpandedNodeId ComplexObjectType_ResendData_InputArguments = new ExpandedNodeId(ObjectTypeTest.Variables.ComplexObjectType_ResendData_InputArguments, ObjectTypeTest.Namespaces.cas);\n\n        /// <summary>\n        /// The identifier for the ComplexObjectType_SetSubscriptionDurable_InputArguments Variable.\n        /// </summary>\n        public static readonly ExpandedNodeId ComplexObjectType_SetSubscriptionDurable_InputArguments = new ExpandedNodeId(ObjectTypeTest.Variables.ComplexObjectType_SetSubscriptionDurable_InputArguments, ObjectTypeTest.Namespaces.cas);\n\n        /// <summary>\n        /// The identifier for the ComplexObjectType_SetSubscriptionDurable_OutputArguments Variable.\n        /// </summary>\n        public static readonly ExpandedNodeId ComplexObjectType_SetSubscriptionDurable_OutputArguments = new ExpandedNodeId(ObjectTypeTest.Variables.ComplexObjectType_SetSubscriptionDurable_OutputArguments, ObjectTypeTest.Namespaces.cas);\n\n        /// <summary>\n        /// The identifier for the ComplexObjectType_RequestServerStateChange_InputArguments Variable.\n        /// </summary>\n        public static readonly ExpandedNodeId ComplexObjectType_RequestServerStateChange_InputArguments = new ExpandedNodeId(ObjectTypeTest.Variables.ComplexObjectType_RequestServerStateChange_InputArguments, ObjectTypeTest.Namespaces.cas);\n\n        /// <summary>\n        /// The identifier for the ComplexObjectType_BrowseName4node66 Variable.\n        /// </summary>\n        public static readonly ExpandedNodeId ComplexObjectType_BrowseName4node66 = new ExpandedNodeId(ObjectTypeTest.Variables.ComplexObjectType_BrowseName4node66, ObjectTypeTest.Namespaces.cas);\n\n        /// <summary>\n        /// The identifier for the ComplexObjectType_NameNotSet1109 Variable.\n        /// </summary>\n        public static readonly ExpandedNodeId ComplexObjectType_NameNotSet1109 = new ExpandedNodeId(ObjectTypeTest.Variables.ComplexObjectType_NameNotSet1109, ObjectTypeTest.Namespaces.cas);\n\n        /// <summary>\n        /// The identifier for the ComplexObjectType_NameNotSet1109_EURange Variable.\n        /// </summary>\n        public static readonly ExpandedNodeId ComplexObjectType_NameNotSet1109_EURange = new ExpandedNodeId(ObjectTypeTest.Variables.ComplexObjectType_NameNotSet1109_EURange, ObjectTypeTest.Namespaces.cas);\n\n        /// <summary>\n        /// The identifier for the ComplexObjectType_ChildMethod_InputArguments Variable.\n        /// </summary>\n        public static readonly ExpandedNodeId ComplexObjectType_ChildMethod_InputArguments = new ExpandedNodeId(ObjectTypeTest.Variables.ComplexObjectType_ChildMethod_InputArguments, ObjectTypeTest.Namespaces.cas);\n\n        /// <summary>\n        /// The identifier for the ComplexObjectType_ChildMethod_OutputArguments Variable.\n        /// </summary>\n        public static readonly ExpandedNodeId ComplexObjectType_ChildMethod_OutputArguments = new ExpandedNodeId(ObjectTypeTest.Variables.ComplexObjectType_ChildMethod_OutputArguments, ObjectTypeTest.Namespaces.cas);\n\n        /// <summary>\n        /// The identifier for the ChildMethodComplexObjectType_InputArguments Variable.\n        /// </summary>\n        public static readonly ExpandedNodeId ChildMethodComplexObjectType_InputArguments = new ExpandedNodeId(ObjectTypeTest.Variables.ChildMethodComplexObjectType_InputArguments, ObjectTypeTest.Namespaces.cas);\n\n        /// <summary>\n        /// The identifier for the ChildMethodComplexObjectType_OutputArguments Variable.\n        /// </summary>\n        public static readonly ExpandedNodeId ChildMethodComplexObjectType_OutputArguments = new ExpandedNodeId(ObjectTypeTest.Variables.ChildMethodComplexObjectType_OutputArguments, ObjectTypeTest.Namespaces.cas);\n\n        /// <summary>\n        /// The identifier for the DerivedFromComplexObjectType_ServerStatus_StartTime Variable.\n        /// </summary>\n        public static readonly ExpandedNodeId DerivedFromComplexObjectType_ServerStatus_StartTime = new ExpandedNodeId(ObjectTypeTest.Variables.DerivedFromComplexObjectType_ServerStatus_StartTime, ObjectTypeTest.Namespaces.cas);\n\n        /// <summary>\n        /// The identifier for the DerivedFromComplexObjectType_ServerStatus_CurrentTime Variable.\n        /// </summary>\n        public static readonly ExpandedNodeId DerivedFromComplexObjectType_ServerStatus_CurrentTime = new ExpandedNodeId(ObjectTypeTest.Variables.DerivedFromComplexObjectType_ServerStatus_CurrentTime, ObjectTypeTest.Namespaces.cas);\n\n        /// <summary>\n        /// The identifier for the DerivedFromComplexObjectType_ServerStatus_State Variable.\n        /// </summary>\n        public static readonly ExpandedNodeId DerivedFromComplexObjectType_ServerStatus_State = new ExpandedNodeId(ObjectTypeTest.Variables.DerivedFromComplexObjectType_ServerStatus_State, ObjectTypeTest.Namespaces.cas);\n\n        /// <summary>\n        /// The identifier for the DerivedFromComplexObjectType_ServerStatus_BuildInfo Variable.\n        /// </summary>\n        public static readonly ExpandedNodeId DerivedFromComplexObjectType_ServerStatus_BuildInfo = new ExpandedNodeId(ObjectTypeTest.Variables.DerivedFromComplexObjectType_ServerStatus_BuildInfo, ObjectTypeTest.Namespaces.cas);\n\n        /// <summary>\n        /// The identifier for the DerivedFromComplexObjectType_ServerStatus_BuildInfo_ProductUri Variable.\n        /// </summary>\n        public static readonly ExpandedNodeId DerivedFromComplexObjectType_ServerStatus_BuildInfo_ProductUri = new ExpandedNodeId(ObjectTypeTest.Variables.DerivedFromComplexObjectType_ServerStatus_BuildInfo_ProductUri, ObjectTypeTest.Namespaces.cas);\n\n        /// <summary>\n        /// The identifier for the DerivedFromComplexObjectType_ServerStatus_BuildInfo_ManufacturerName Variable.\n        /// </summary>\n        public static readonly ExpandedNodeId DerivedFromComplexObjectType_ServerStatus_BuildInfo_ManufacturerName = new ExpandedNodeId(ObjectTypeTest.Variables.DerivedFromComplexObjectType_ServerStatus_BuildInfo_ManufacturerName, ObjectTypeTest.Namespaces.cas);\n\n        /// <summary>\n        /// The identifier for the DerivedFromComplexObjectType_ServerStatus_BuildInfo_ProductName Variable.\n        /// </summary>\n        public static readonly ExpandedNodeId DerivedFromComplexObjectType_ServerStatus_BuildInfo_ProductName = new ExpandedNodeId(ObjectTypeTest.Variables.DerivedFromComplexObjectType_ServerStatus_BuildInfo_ProductName, ObjectTypeTest.Namespaces.cas);\n\n        /// <summary>\n        /// The identifier for the DerivedFromComplexObjectType_ServerStatus_BuildInfo_SoftwareVersion Variable.\n        /// </summary>\n        public static readonly ExpandedNodeId DerivedFromComplexObjectType_ServerStatus_BuildInfo_SoftwareVersion = new ExpandedNodeId(ObjectTypeTest.Variables.DerivedFromComplexObjectType_ServerStatus_BuildInfo_SoftwareVersion, ObjectTypeTest.Namespaces.cas);\n\n        /// <summary>\n        /// The identifier for the DerivedFromComplexObjectType_ServerStatus_BuildInfo_BuildNumber Variable.\n        /// </summary>\n        public static readonly ExpandedNodeId DerivedFromComplexObjectType_ServerStatus_BuildInfo_BuildNumber = new ExpandedNodeId(ObjectTypeTest.Variables.DerivedFromComplexObjectType_ServerStatus_BuildInfo_BuildNumber, ObjectTypeTest.Namespaces.cas);\n\n        /// <summary>\n        /// The identifier for the DerivedFromComplexObjectType_ServerStatus_BuildInfo_BuildDate Variable.\n        /// </summary>\n        public static readonly ExpandedNodeId DerivedFromComplexObjectType_ServerStatus_BuildInfo_BuildDate = new ExpandedNodeId(ObjectTypeTest.Variables.DerivedFromComplexObjectType_ServerStatus_BuildInfo_BuildDate, ObjectTypeTest.Namespaces.cas);\n\n        /// <summary>\n        /// The identifier for the DerivedFromComplexObjectType_ServerStatus_SecondsTillShutdown Variable.\n        /// </summary>\n        public static readonly ExpandedNodeId DerivedFromComplexObjectType_ServerStatus_SecondsTillShutdown = new ExpandedNodeId(ObjectTypeTest.Variables.DerivedFromComplexObjectType_ServerStatus_SecondsTillShutdown, ObjectTypeTest.Namespaces.cas);\n\n        /// <summary>\n        /// The identifier for the DerivedFromComplexObjectType_ServerStatus_ShutdownReason Variable.\n        /// </summary>\n        public static readonly ExpandedNodeId DerivedFromComplexObjectType_ServerStatus_ShutdownReason = new ExpandedNodeId(ObjectTypeTest.Variables.DerivedFromComplexObjectType_ServerStatus_ShutdownReason, ObjectTypeTest.Namespaces.cas);\n\n        /// <summary>\n        /// The identifier for the DerivedFromComplexObjectType_ServerCapabilities_ServerProfileArray Variable.\n        /// </summary>\n        public static readonly ExpandedNodeId DerivedFromComplexObjectType_ServerCapabilities_ServerProfileArray = new ExpandedNodeId(ObjectTypeTest.Variables.DerivedFromComplexObjectType_ServerCapabilities_ServerProfileArray, ObjectTypeTest.Namespaces.cas);\n\n        /// <summary>\n        /// The identifier for the DerivedFromComplexObjectType_ServerCapabilities_LocaleIdArray Variable.\n        /// </summary>\n        public static readonly ExpandedNodeId DerivedFromComplexObjectType_ServerCapabilities_LocaleIdArray = new ExpandedNodeId(ObjectTypeTest.Variables.DerivedFromComplexObjectType_ServerCapabilities_LocaleIdArray, ObjectTypeTest.Namespaces.cas);\n\n        /// <summary>\n        /// The identifier for the DerivedFromComplexObjectType_ServerCapabilities_MinSupportedSampleRate Variable.\n        /// </summary>\n        public static readonly ExpandedNodeId DerivedFromComplexObjectType_ServerCapabilities_MinSupportedSampleRate = new ExpandedNodeId(ObjectTypeTest.Variables.DerivedFromComplexObjectType_ServerCapabilities_MinSupportedSampleRate, ObjectTypeTest.Namespaces.cas);\n\n        /// <summary>\n        /// The identifier for the DerivedFromComplexObjectType_ServerCapabilities_MaxBrowseContinuationPoints Variable.\n        /// </summary>\n        public static readonly ExpandedNodeId DerivedFromComplexObjectType_ServerCapabilities_MaxBrowseContinuationPoints = new ExpandedNodeId(ObjectTypeTest.Variables.DerivedFromComplexObjectType_ServerCapabilities_MaxBrowseContinuationPoints, ObjectTypeTest.Namespaces.cas);\n\n        /// <summary>\n        /// The identifier for the DerivedFromComplexObjectType_ServerCapabilities_MaxQueryContinuationPoints Variable.\n        /// </summary>\n        public static readonly ExpandedNodeId DerivedFromComplexObjectType_ServerCapabilities_MaxQueryContinuationPoints = new ExpandedNodeId(ObjectTypeTest.Variables.DerivedFromComplexObjectType_ServerCapabilities_MaxQueryContinuationPoints, ObjectTypeTest.Namespaces.cas);\n\n        /// <summary>\n        /// The identifier for the DerivedFromComplexObjectType_ServerCapabilities_MaxHistoryContinuationPoints Variable.\n        /// </summary>\n        public static readonly ExpandedNodeId DerivedFromComplexObjectType_ServerCapabilities_MaxHistoryContinuationPoints = new ExpandedNodeId(ObjectTypeTest.Variables.DerivedFromComplexObjectType_ServerCapabilities_MaxHistoryContinuationPoints, ObjectTypeTest.Namespaces.cas);\n\n        /// <summary>\n        /// The identifier for the DerivedFromComplexObjectType_ServerCapabilities_SoftwareCertificates Variable.\n        /// </summary>\n        public static readonly ExpandedNodeId DerivedFromComplexObjectType_ServerCapabilities_SoftwareCertificates = new ExpandedNodeId(ObjectTypeTest.Variables.DerivedFromComplexObjectType_ServerCapabilities_SoftwareCertificates, ObjectTypeTest.Namespaces.cas);\n\n        /// <summary>\n        /// The identifier for the DerivedFromComplexObjectType_ServerCapabilities_RoleSet_AddRole_InputArguments Variable.\n        /// </summary>\n        public static readonly ExpandedNodeId DerivedFromComplexObjectType_ServerCapabilities_RoleSet_AddRole_InputArguments = new ExpandedNodeId(ObjectTypeTest.Variables.DerivedFromComplexObjectType_ServerCapabilities_RoleSet_AddRole_InputArguments, ObjectTypeTest.Namespaces.cas);\n\n        /// <summary>\n        /// The identifier for the DerivedFromComplexObjectType_ServerCapabilities_RoleSet_AddRole_OutputArguments Variable.\n        /// </summary>\n        public static readonly ExpandedNodeId DerivedFromComplexObjectType_ServerCapabilities_RoleSet_AddRole_OutputArguments = new ExpandedNodeId(ObjectTypeTest.Variables.DerivedFromComplexObjectType_ServerCapabilities_RoleSet_AddRole_OutputArguments, ObjectTypeTest.Namespaces.cas);\n\n        /// <summary>\n        /// The identifier for the DerivedFromComplexObjectType_ServerCapabilities_RoleSet_RemoveRole_InputArguments Variable.\n        /// </summary>\n        public static readonly ExpandedNodeId DerivedFromComplexObjectType_ServerCapabilities_RoleSet_RemoveRole_InputArguments = new ExpandedNodeId(ObjectTypeTest.Variables.DerivedFromComplexObjectType_ServerCapabilities_RoleSet_RemoveRole_InputArguments, ObjectTypeTest.Namespaces.cas);\n\n        /// <summary>\n        /// The identifier for the DerivedFromComplexObjectType_ServerDiagnostics_ServerDiagnosticsSummary Variable.\n        /// </summary>\n        public static readonly ExpandedNodeId DerivedFromComplexObjectType_ServerDiagnostics_ServerDiagnosticsSummary = new ExpandedNodeId(ObjectTypeTest.Variables.DerivedFromComplexObjectType_ServerDiagnostics_ServerDiagnosticsSummary, ObjectTypeTest.Namespaces.cas);\n\n        /// <summary>\n        /// The identifier for the DerivedFromComplexObjectType_ServerDiagnostics_ServerDiagnosticsSummary_ServerViewCount Variable.\n        /// </summary>\n        public static readonly ExpandedNodeId DerivedFromComplexObjectType_ServerDiagnostics_ServerDiagnosticsSummary_ServerViewCount = new ExpandedNodeId(ObjectTypeTest.Variables.DerivedFromComplexObjectType_ServerDiagnostics_ServerDiagnosticsSummary_ServerViewCount, ObjectTypeTest.Namespaces.cas);\n\n        /// <summary>\n        /// The identifier for the DerivedFromComplexObjectType_ServerDiagnostics_ServerDiagnosticsSummary_CurrentSessionCount Variable.\n        /// </summary>\n        public static readonly ExpandedNodeId DerivedFromComplexObjectType_ServerDiagnostics_ServerDiagnosticsSummary_CurrentSessionCount = new ExpandedNodeId(ObjectTypeTest.Variables.DerivedFromComplexObjectType_ServerDiagnostics_ServerDiagnosticsSummary_CurrentSessionCount, ObjectTypeTest.Namespaces.cas);\n\n        /// <summary>\n        /// The identifier for the DerivedFromComplexObjectType_ServerDiagnostics_ServerDiagnosticsSummary_CumulatedSessionCount Variable.\n        /// </summary>\n        public static readonly ExpandedNodeId DerivedFromComplexObjectType_ServerDiagnostics_ServerDiagnosticsSummary_CumulatedSessionCount = new ExpandedNodeId(ObjectTypeTest.Variables.DerivedFromComplexObjectType_ServerDiagnostics_ServerDiagnosticsSummary_CumulatedSessionCount, ObjectTypeTest.Namespaces.cas);\n\n        /// <summary>\n        /// The identifier for the DerivedFromComplexObjectType_ServerDiagnostics_ServerDiagnosticsSummary_SecurityRejectedSessionCount Variable.\n        /// </summary>\n        public static readonly ExpandedNodeId DerivedFromComplexObjectType_ServerDiagnostics_ServerDiagnosticsSummary_SecurityRejectedSessionCount = new ExpandedNodeId(ObjectTypeTest.Variables.DerivedFromComplexObjectType_ServerDiagnostics_ServerDiagnosticsSummary_SecurityRejectedSessionCount, ObjectTypeTest.Namespaces.cas);\n\n        /// <summary>\n        /// The identifier for the DerivedFromComplexObjectType_ServerDiagnostics_ServerDiagnosticsSummary_RejectedSessionCount Variable.\n        /// </summary>\n        public static readonly ExpandedNodeId DerivedFromComplexObjectType_ServerDiagnostics_ServerDiagnosticsSummary_RejectedSessionCount = new ExpandedNodeId(ObjectTypeTest.Variables.DerivedFromComplexObjectType_ServerDiagnostics_ServerDiagnosticsSummary_RejectedSessionCount, ObjectTypeTest.Namespaces.cas);\n\n        /// <summary>\n        /// The identifier for the DerivedFromComplexObjectType_ServerDiagnostics_ServerDiagnosticsSummary_SessionTimeoutCount Variable.\n        /// </summary>\n        public static readonly ExpandedNodeId DerivedFromComplexObjectType_ServerDiagnostics_ServerDiagnosticsSummary_SessionTimeoutCount = new ExpandedNodeId(ObjectTypeTest.Variables.DerivedFromComplexObjectType_ServerDiagnostics_ServerDiagnosticsSummary_SessionTimeoutCount, ObjectTypeTest.Namespaces.cas);\n\n        /// <summary>\n        /// The identifier for the DerivedFromComplexObjectType_ServerDiagnostics_ServerDiagnosticsSummary_SessionAbortCount Variable.\n        /// </summary>\n        public static readonly ExpandedNodeId DerivedFromComplexObjectType_ServerDiagnostics_ServerDiagnosticsSummary_SessionAbortCount = new ExpandedNodeId(ObjectTypeTest.Variables.DerivedFromComplexObjectType_ServerDiagnostics_ServerDiagnosticsSummary_SessionAbortCount, ObjectTypeTest.Namespaces.cas);\n\n        /// <summary>\n        /// The identifier for the DerivedFromComplexObjectType_ServerDiagnostics_ServerDiagnosticsSummary_PublishingIntervalCount Variable.\n        /// </summary>\n        public static readonly ExpandedNodeId DerivedFromComplexObjectType_ServerDiagnostics_ServerDiagnosticsSummary_PublishingIntervalCount = new ExpandedNodeId(ObjectTypeTest.Variables.DerivedFromComplexObjectType_ServerDiagnostics_ServerDiagnosticsSummary_PublishingIntervalCount, ObjectTypeTest.Namespaces.cas);\n\n        /// <summary>\n        /// The identifier for the DerivedFromComplexObjectType_ServerDiagnostics_ServerDiagnosticsSummary_CurrentSubscriptionCount Variable.\n        /// </summary>\n        public static readonly ExpandedNodeId DerivedFromComplexObjectType_ServerDiagnostics_ServerDiagnosticsSummary_CurrentSubscriptionCount = new ExpandedNodeId(ObjectTypeTest.Variables.DerivedFromComplexObjectType_ServerDiagnostics_ServerDiagnosticsSummary_CurrentSubscriptionCount, ObjectTypeTest.Namespaces.cas);\n\n        /// <summary>\n        /// The identifier for the DerivedFromComplexObjectType_ServerDiagnostics_ServerDiagnosticsSummary_CumulatedSubscriptionCount Variable.\n        /// </summary>\n        public static readonly ExpandedNodeId DerivedFromComplexObjectType_ServerDiagnostics_ServerDiagnosticsSummary_CumulatedSubscriptionCount = new ExpandedNodeId(ObjectTypeTest.Variables.DerivedFromComplexObjectType_ServerDiagnostics_ServerDiagnosticsSummary_CumulatedSubscriptionCount, ObjectTypeTest.Namespaces.cas);\n\n        /// <summary>\n        /// The identifier for the DerivedFromComplexObjectType_ServerDiagnostics_ServerDiagnosticsSummary_SecurityRejectedRequestsCount Variable.\n        /// </summary>\n        public static readonly ExpandedNodeId DerivedFromComplexObjectType_ServerDiagnostics_ServerDiagnosticsSummary_SecurityRejectedRequestsCount = new ExpandedNodeId(ObjectTypeTest.Variables.DerivedFromComplexObjectType_ServerDiagnostics_ServerDiagnosticsSummary_SecurityRejectedRequestsCount, ObjectTypeTest.Namespaces.cas);\n\n        /// <summary>\n        /// The identifier for the DerivedFromComplexObjectType_ServerDiagnostics_ServerDiagnosticsSummary_RejectedRequestsCount Variable.\n        /// </summary>\n        public static readonly ExpandedNodeId DerivedFromComplexObjectType_ServerDiagnostics_ServerDiagnosticsSummary_RejectedRequestsCount = new ExpandedNodeId(ObjectTypeTest.Variables.DerivedFromComplexObjectType_ServerDiagnostics_ServerDiagnosticsSummary_RejectedRequestsCount, ObjectTypeTest.Namespaces.cas);\n\n        /// <summary>\n        /// The identifier for the DerivedFromComplexObjectType_ServerDiagnostics_SubscriptionDiagnosticsArray Variable.\n        /// </summary>\n        public static readonly ExpandedNodeId DerivedFromComplexObjectType_ServerDiagnostics_SubscriptionDiagnosticsArray = new ExpandedNodeId(ObjectTypeTest.Variables.DerivedFromComplexObjectType_ServerDiagnostics_SubscriptionDiagnosticsArray, ObjectTypeTest.Namespaces.cas);\n\n        /// <summary>\n        /// The identifier for the DerivedFromComplexObjectType_ServerDiagnostics_SessionsDiagnosticsSummary_SessionDiagnosticsArray Variable.\n        /// </summary>\n        public static readonly ExpandedNodeId DerivedFromComplexObjectType_ServerDiagnostics_SessionsDiagnosticsSummary_SessionDiagnosticsArray = new ExpandedNodeId(ObjectTypeTest.Variables.DerivedFromComplexObjectType_ServerDiagnostics_SessionsDiagnosticsSummary_SessionDiagnosticsArray, ObjectTypeTest.Namespaces.cas);\n\n        /// <summary>\n        /// The identifier for the DerivedFromComplexObjectType_ServerDiagnostics_SessionsDiagnosticsSummary_SessionSecurityDiagnosticsArray Variable.\n        /// </summary>\n        public static readonly ExpandedNodeId DerivedFromComplexObjectType_ServerDiagnostics_SessionsDiagnosticsSummary_SessionSecurityDiagnosticsArray = new ExpandedNodeId(ObjectTypeTest.Variables.DerivedFromComplexObjectType_ServerDiagnostics_SessionsDiagnosticsSummary_SessionSecurityDiagnosticsArray, ObjectTypeTest.Namespaces.cas);\n\n        /// <summary>\n        /// The identifier for the DerivedFromComplexObjectType_ServerDiagnostics_EnabledFlag Variable.\n        /// </summary>\n        public static readonly ExpandedNodeId DerivedFromComplexObjectType_ServerDiagnostics_EnabledFlag = new ExpandedNodeId(ObjectTypeTest.Variables.DerivedFromComplexObjectType_ServerDiagnostics_EnabledFlag, ObjectTypeTest.Namespaces.cas);\n\n        /// <summary>\n        /// The identifier for the DerivedFromComplexObjectType_ServerRedundancy_RedundancySupport Variable.\n        /// </summary>\n        public static readonly ExpandedNodeId DerivedFromComplexObjectType_ServerRedundancy_RedundancySupport = new ExpandedNodeId(ObjectTypeTest.Variables.DerivedFromComplexObjectType_ServerRedundancy_RedundancySupport, ObjectTypeTest.Namespaces.cas);\n\n        /// <summary>\n        /// The identifier for the DerivedFromComplexObjectType_GetMonitoredItems_InputArguments Variable.\n        /// </summary>\n        public static readonly ExpandedNodeId DerivedFromComplexObjectType_GetMonitoredItems_InputArguments = new ExpandedNodeId(ObjectTypeTest.Variables.DerivedFromComplexObjectType_GetMonitoredItems_InputArguments, ObjectTypeTest.Namespaces.cas);\n\n        /// <summary>\n        /// The identifier for the DerivedFromComplexObjectType_GetMonitoredItems_OutputArguments Variable.\n        /// </summary>\n        public static readonly ExpandedNodeId DerivedFromComplexObjectType_GetMonitoredItems_OutputArguments = new ExpandedNodeId(ObjectTypeTest.Variables.DerivedFromComplexObjectType_GetMonitoredItems_OutputArguments, ObjectTypeTest.Namespaces.cas);\n\n        /// <summary>\n        /// The identifier for the DerivedFromComplexObjectType_ResendData_InputArguments Variable.\n        /// </summary>\n        public static readonly ExpandedNodeId DerivedFromComplexObjectType_ResendData_InputArguments = new ExpandedNodeId(ObjectTypeTest.Variables.DerivedFromComplexObjectType_ResendData_InputArguments, ObjectTypeTest.Namespaces.cas);\n\n        /// <summary>\n        /// The identifier for the DerivedFromComplexObjectType_SetSubscriptionDurable_InputArguments Variable.\n        /// </summary>\n        public static readonly ExpandedNodeId DerivedFromComplexObjectType_SetSubscriptionDurable_InputArguments = new ExpandedNodeId(ObjectTypeTest.Variables.DerivedFromComplexObjectType_SetSubscriptionDurable_InputArguments, ObjectTypeTest.Namespaces.cas);\n\n        /// <summary>\n        /// The identifier for the DerivedFromComplexObjectType_SetSubscriptionDurable_OutputArguments Variable.\n        /// </summary>\n        public static readonly ExpandedNodeId DerivedFromComplexObjectType_SetSubscriptionDurable_OutputArguments = new ExpandedNodeId(ObjectTypeTest.Variables.DerivedFromComplexObjectType_SetSubscriptionDurable_OutputArguments, ObjectTypeTest.Namespaces.cas);\n\n        /// <summary>\n        /// The identifier for the DerivedFromComplexObjectType_RequestServerStateChange_InputArguments Variable.\n        /// </summary>\n        public static readonly ExpandedNodeId DerivedFromComplexObjectType_RequestServerStateChange_InputArguments = new ExpandedNodeId(ObjectTypeTest.Variables.DerivedFromComplexObjectType_RequestServerStateChange_InputArguments, ObjectTypeTest.Namespaces.cas);\n\n        /// <summary>\n        /// The identifier for the DerivedFromComplexObjectType_BrowseName4node66 Variable.\n        /// </summary>\n        public static readonly ExpandedNodeId DerivedFromComplexObjectType_BrowseName4node66 = new ExpandedNodeId(ObjectTypeTest.Variables.DerivedFromComplexObjectType_BrowseName4node66, ObjectTypeTest.Namespaces.cas);\n\n        /// <summary>\n        /// The identifier for the DerivedFromComplexObjectType_NameNotSet1109 Variable.\n        /// </summary>\n        public static readonly ExpandedNodeId DerivedFromComplexObjectType_NameNotSet1109 = new ExpandedNodeId(ObjectTypeTest.Variables.DerivedFromComplexObjectType_NameNotSet1109, ObjectTypeTest.Namespaces.cas);\n\n        /// <summary>\n        /// The identifier for the DerivedFromComplexObjectType_NameNotSet1109_EURange Variable.\n        /// </summary>\n        public static readonly ExpandedNodeId DerivedFromComplexObjectType_NameNotSet1109_EURange = new ExpandedNodeId(ObjectTypeTest.Variables.DerivedFromComplexObjectType_NameNotSet1109_EURange, ObjectTypeTest.Namespaces.cas);\n\n        /// <summary>\n        /// The identifier for the DerivedFromComplexObjectType_ChildMethod_InputArguments Variable.\n        /// </summary>\n        public static readonly ExpandedNodeId DerivedFromComplexObjectType_ChildMethod_InputArguments = new ExpandedNodeId(ObjectTypeTest.Variables.DerivedFromComplexObjectType_ChildMethod_InputArguments, ObjectTypeTest.Namespaces.cas);\n\n        /// <summary>\n        /// The identifier for the DerivedFromComplexObjectType_ChildMethod_OutputArguments Variable.\n        /// </summary>\n        public static readonly ExpandedNodeId DerivedFromComplexObjectType_ChildMethod_OutputArguments = new ExpandedNodeId(ObjectTypeTest.Variables.DerivedFromComplexObjectType_ChildMethod_OutputArguments, ObjectTypeTest.Namespaces.cas);\n\n        /// <summary>\n        /// The identifier for the NameNotSet6_ServerArray Variable.\n        /// </summary>\n        public static readonly ExpandedNodeId NameNotSet6_ServerArray = new ExpandedNodeId(ObjectTypeTest.Variables.NameNotSet6_ServerArray, ObjectTypeTest.Namespaces.cas);\n\n        /// <summary>\n        /// The identifier for the NameNotSet6_NamespaceArray Variable.\n        /// </summary>\n        public static readonly ExpandedNodeId NameNotSet6_NamespaceArray = new ExpandedNodeId(ObjectTypeTest.Variables.NameNotSet6_NamespaceArray, ObjectTypeTest.Namespaces.cas);\n\n        /// <summary>\n        /// The identifier for the NameNotSet6_ServerStatus Variable.\n        /// </summary>\n        public static readonly ExpandedNodeId NameNotSet6_ServerStatus = new ExpandedNodeId(ObjectTypeTest.Variables.NameNotSet6_ServerStatus, ObjectTypeTest.Namespaces.cas);\n\n        /// <summary>\n        /// The identifier for the NameNotSet6_ServerStatus_StartTime Variable.\n        /// </summary>\n        public static readonly ExpandedNodeId NameNotSet6_ServerStatus_StartTime = new ExpandedNodeId(ObjectTypeTest.Variables.NameNotSet6_ServerStatus_StartTime, ObjectTypeTest.Namespaces.cas);\n\n        /// <summary>\n        /// The identifier for the NameNotSet6_ServerStatus_CurrentTime Variable.\n        /// </summary>\n        public static readonly ExpandedNodeId NameNotSet6_ServerStatus_CurrentTime = new ExpandedNodeId(ObjectTypeTest.Variables.NameNotSet6_ServerStatus_CurrentTime, ObjectTypeTest.Namespaces.cas);\n\n        /// <summary>\n        /// The identifier for the NameNotSet6_ServerStatus_State Variable.\n        /// </summary>\n        public static readonly ExpandedNodeId NameNotSet6_ServerStatus_State = new ExpandedNodeId(ObjectTypeTest.Variables.NameNotSet6_ServerStatus_State, ObjectTypeTest.Namespaces.cas);\n\n        /// <summary>\n        /// The identifier for the NameNotSet6_ServerStatus_BuildInfo Variable.\n        /// </summary>\n        public static readonly ExpandedNodeId NameNotSet6_ServerStatus_BuildInfo = new ExpandedNodeId(ObjectTypeTest.Variables.NameNotSet6_ServerStatus_BuildInfo, ObjectTypeTest.Namespaces.cas);\n\n        /// <summary>\n        /// The identifier for the NameNotSet6_ServerStatus_BuildInfo_ProductUri Variable.\n        /// </summary>\n        public static readonly ExpandedNodeId NameNotSet6_ServerStatus_BuildInfo_ProductUri = new ExpandedNodeId(ObjectTypeTest.Variables.NameNotSet6_ServerStatus_BuildInfo_ProductUri, ObjectTypeTest.Namespaces.cas);\n\n        /// <summary>\n        /// The identifier for the NameNotSet6_ServerStatus_BuildInfo_ManufacturerName Variable.\n        /// </summary>\n        public static readonly ExpandedNodeId NameNotSet6_ServerStatus_BuildInfo_ManufacturerName = new ExpandedNodeId(ObjectTypeTest.Variables.NameNotSet6_ServerStatus_BuildInfo_ManufacturerName, ObjectTypeTest.Namespaces.cas);\n\n        /// <summary>\n        /// The identifier for the NameNotSet6_ServerStatus_BuildInfo_ProductName Variable.\n        /// </summary>\n        public static readonly ExpandedNodeId NameNotSet6_ServerStatus_BuildInfo_ProductName = new ExpandedNodeId(ObjectTypeTest.Variables.NameNotSet6_ServerStatus_BuildInfo_ProductName, ObjectTypeTest.Namespaces.cas);\n\n        /// <summary>\n        /// The identifier for the NameNotSet6_ServerStatus_BuildInfo_SoftwareVersion Variable.\n        /// </summary>\n        public static readonly ExpandedNodeId NameNotSet6_ServerStatus_BuildInfo_SoftwareVersion = new ExpandedNodeId(ObjectTypeTest.Variables.NameNotSet6_ServerStatus_BuildInfo_SoftwareVersion, ObjectTypeTest.Namespaces.cas);\n\n        /// <summary>\n        /// The identifier for the NameNotSet6_ServerStatus_BuildInfo_BuildNumber Variable.\n        /// </summary>\n        public static readonly ExpandedNodeId NameNotSet6_ServerStatus_BuildInfo_BuildNumber = new ExpandedNodeId(ObjectTypeTest.Variables.NameNotSet6_ServerStatus_BuildInfo_BuildNumber, ObjectTypeTest.Namespaces.cas);\n\n        /// <summary>\n        /// The identifier for the NameNotSet6_ServerStatus_BuildInfo_BuildDate Variable.\n        /// </summary>\n        public static readonly ExpandedNodeId NameNotSet6_ServerStatus_BuildInfo_BuildDate = new ExpandedNodeId(ObjectTypeTest.Variables.NameNotSet6_ServerStatus_BuildInfo_BuildDate, ObjectTypeTest.Namespaces.cas);\n\n        /// <summary>\n        /// The identifier for the NameNotSet6_ServerStatus_SecondsTillShutdown Variable.\n        /// </summary>\n        public static readonly ExpandedNodeId NameNotSet6_ServerStatus_SecondsTillShutdown = new ExpandedNodeId(ObjectTypeTest.Variables.NameNotSet6_ServerStatus_SecondsTillShutdown, ObjectTypeTest.Namespaces.cas);\n\n        /// <summary>\n        /// The identifier for the NameNotSet6_ServerStatus_ShutdownReason Variable.\n        /// </summary>\n        public static readonly ExpandedNodeId NameNotSet6_ServerStatus_ShutdownReason = new ExpandedNodeId(ObjectTypeTest.Variables.NameNotSet6_ServerStatus_ShutdownReason, ObjectTypeTest.Namespaces.cas);\n\n        /// <summary>\n        /// The identifier for the NameNotSet6_ServiceLevel Variable.\n        /// </summary>\n        public static readonly ExpandedNodeId NameNotSet6_ServiceLevel = new ExpandedNodeId(ObjectTypeTest.Variables.NameNotSet6_ServiceLevel, ObjectTypeTest.Namespaces.cas);\n\n        /// <summary>\n        /// The identifier for the NameNotSet6_Auditing Variable.\n        /// </summary>\n        public static readonly ExpandedNodeId NameNotSet6_Auditing = new ExpandedNodeId(ObjectTypeTest.Variables.NameNotSet6_Auditing, ObjectTypeTest.Namespaces.cas);\n\n        /// <summary>\n        /// The identifier for the NameNotSet6_ServerCapabilities_ServerProfileArray Variable.\n        /// </summary>\n        public static readonly ExpandedNodeId NameNotSet6_ServerCapabilities_ServerProfileArray = new ExpandedNodeId(ObjectTypeTest.Variables.NameNotSet6_ServerCapabilities_ServerProfileArray, ObjectTypeTest.Namespaces.cas);\n\n        /// <summary>\n        /// The identifier for the NameNotSet6_ServerCapabilities_LocaleIdArray Variable.\n        /// </summary>\n        public static readonly ExpandedNodeId NameNotSet6_ServerCapabilities_LocaleIdArray = new ExpandedNodeId(ObjectTypeTest.Variables.NameNotSet6_ServerCapabilities_LocaleIdArray, ObjectTypeTest.Namespaces.cas);\n\n        /// <summary>\n        /// The identifier for the NameNotSet6_ServerCapabilities_MinSupportedSampleRate Variable.\n        /// </summary>\n        public static readonly ExpandedNodeId NameNotSet6_ServerCapabilities_MinSupportedSampleRate = new ExpandedNodeId(ObjectTypeTest.Variables.NameNotSet6_ServerCapabilities_MinSupportedSampleRate, ObjectTypeTest.Namespaces.cas);\n\n        /// <summary>\n        /// The identifier for the NameNotSet6_ServerCapabilities_MaxBrowseContinuationPoints Variable.\n        /// </summary>\n        public static readonly ExpandedNodeId NameNotSet6_ServerCapabilities_MaxBrowseContinuationPoints = new ExpandedNodeId(ObjectTypeTest.Variables.NameNotSet6_ServerCapabilities_MaxBrowseContinuationPoints, ObjectTypeTest.Namespaces.cas);\n\n        /// <summary>\n        /// The identifier for the NameNotSet6_ServerCapabilities_MaxQueryContinuationPoints Variable.\n        /// </summary>\n        public static readonly ExpandedNodeId NameNotSet6_ServerCapabilities_MaxQueryContinuationPoints = new ExpandedNodeId(ObjectTypeTest.Variables.NameNotSet6_ServerCapabilities_MaxQueryContinuationPoints, ObjectTypeTest.Namespaces.cas);\n\n        /// <summary>\n        /// The identifier for the NameNotSet6_ServerCapabilities_MaxHistoryContinuationPoints Variable.\n        /// </summary>\n        public static readonly ExpandedNodeId NameNotSet6_ServerCapabilities_MaxHistoryContinuationPoints = new ExpandedNodeId(ObjectTypeTest.Variables.NameNotSet6_ServerCapabilities_MaxHistoryContinuationPoints, ObjectTypeTest.Namespaces.cas);\n\n        /// <summary>\n        /// The identifier for the NameNotSet6_ServerCapabilities_SoftwareCertificates Variable.\n        /// </summary>\n        public static readonly ExpandedNodeId NameNotSet6_ServerCapabilities_SoftwareCertificates = new ExpandedNodeId(ObjectTypeTest.Variables.NameNotSet6_ServerCapabilities_SoftwareCertificates, ObjectTypeTest.Namespaces.cas);\n\n        /// <summary>\n        /// The identifier for the NameNotSet6_ServerCapabilities_RoleSet_AddRole_InputArguments Variable.\n        /// </summary>\n        public static readonly ExpandedNodeId NameNotSet6_ServerCapabilities_RoleSet_AddRole_InputArguments = new ExpandedNodeId(ObjectTypeTest.Variables.NameNotSet6_ServerCapabilities_RoleSet_AddRole_InputArguments, ObjectTypeTest.Namespaces.cas);\n\n        /// <summary>\n        /// The identifier for the NameNotSet6_ServerCapabilities_RoleSet_AddRole_OutputArguments Variable.\n        /// </summary>\n        public static readonly ExpandedNodeId NameNotSet6_ServerCapabilities_RoleSet_AddRole_OutputArguments = new ExpandedNodeId(ObjectTypeTest.Variables.NameNotSet6_ServerCapabilities_RoleSet_AddRole_OutputArguments, ObjectTypeTest.Namespaces.cas);\n\n        /// <summary>\n        /// The identifier for the NameNotSet6_ServerCapabilities_RoleSet_RemoveRole_InputArguments Variable.\n        /// </summary>\n        public static readonly ExpandedNodeId NameNotSet6_ServerCapabilities_RoleSet_RemoveRole_InputArguments = new ExpandedNodeId(ObjectTypeTest.Variables.NameNotSet6_ServerCapabilities_RoleSet_RemoveRole_InputArguments, ObjectTypeTest.Namespaces.cas);\n\n        /// <summary>\n        /// The identifier for the NameNotSet6_ServerDiagnostics_ServerDiagnosticsSummary Variable.\n        /// </summary>\n        public static readonly ExpandedNodeId NameNotSet6_ServerDiagnostics_ServerDiagnosticsSummary = new ExpandedNodeId(ObjectTypeTest.Variables.NameNotSet6_ServerDiagnostics_ServerDiagnosticsSummary, ObjectTypeTest.Namespaces.cas);\n\n        /// <summary>\n        /// The identifier for the NameNotSet6_ServerDiagnostics_ServerDiagnosticsSummary_ServerViewCount Variable.\n        /// </summary>\n        public static readonly ExpandedNodeId NameNotSet6_ServerDiagnostics_ServerDiagnosticsSummary_ServerViewCount = new ExpandedNodeId(ObjectTypeTest.Variables.NameNotSet6_ServerDiagnostics_ServerDiagnosticsSummary_ServerViewCount, ObjectTypeTest.Namespaces.cas);\n\n        /// <summary>\n        /// The identifier for the NameNotSet6_ServerDiagnostics_ServerDiagnosticsSummary_CurrentSessionCount Variable.\n        /// </summary>\n        public static readonly ExpandedNodeId NameNotSet6_ServerDiagnostics_ServerDiagnosticsSummary_CurrentSessionCount = new ExpandedNodeId(ObjectTypeTest.Variables.NameNotSet6_ServerDiagnostics_ServerDiagnosticsSummary_CurrentSessionCount, ObjectTypeTest.Namespaces.cas);\n\n        /// <summary>\n        /// The identifier for the NameNotSet6_ServerDiagnostics_ServerDiagnosticsSummary_CumulatedSessionCount Variable.\n        /// </summary>\n        public static readonly ExpandedNodeId NameNotSet6_ServerDiagnostics_ServerDiagnosticsSummary_CumulatedSessionCount = new ExpandedNodeId(ObjectTypeTest.Variables.NameNotSet6_ServerDiagnostics_ServerDiagnosticsSummary_CumulatedSessionCount, ObjectTypeTest.Namespaces.cas);\n\n        /// <summary>\n        /// The identifier for the NameNotSet6_ServerDiagnostics_ServerDiagnosticsSummary_SecurityRejectedSessionCount Variable.\n        /// </summary>\n        public static readonly ExpandedNodeId NameNotSet6_ServerDiagnostics_ServerDiagnosticsSummary_SecurityRejectedSessionCount = new ExpandedNodeId(ObjectTypeTest.Variables.NameNotSet6_ServerDiagnostics_ServerDiagnosticsSummary_SecurityRejectedSessionCount, ObjectTypeTest.Namespaces.cas);\n\n        /// <summary>\n        /// The identifier for the NameNotSet6_ServerDiagnostics_ServerDiagnosticsSummary_RejectedSessionCount Variable.\n        /// </summary>\n        public static readonly ExpandedNodeId NameNotSet6_ServerDiagnostics_ServerDiagnosticsSummary_RejectedSessionCount = new ExpandedNodeId(ObjectTypeTest.Variables.NameNotSet6_ServerDiagnostics_ServerDiagnosticsSummary_RejectedSessionCount, ObjectTypeTest.Namespaces.cas);\n\n        /// <summary>\n        /// The identifier for the NameNotSet6_ServerDiagnostics_ServerDiagnosticsSummary_SessionTimeoutCount Variable.\n        /// </summary>\n        public static readonly ExpandedNodeId NameNotSet6_ServerDiagnostics_ServerDiagnosticsSummary_SessionTimeoutCount = new ExpandedNodeId(ObjectTypeTest.Variables.NameNotSet6_ServerDiagnostics_ServerDiagnosticsSummary_SessionTimeoutCount, ObjectTypeTest.Namespaces.cas);\n\n        /// <summary>\n        /// The identifier for the NameNotSet6_ServerDiagnostics_ServerDiagnosticsSummary_SessionAbortCount Variable.\n        /// </summary>\n        public static readonly ExpandedNodeId NameNotSet6_ServerDiagnostics_ServerDiagnosticsSummary_SessionAbortCount = new ExpandedNodeId(ObjectTypeTest.Variables.NameNotSet6_ServerDiagnostics_ServerDiagnosticsSummary_SessionAbortCount, ObjectTypeTest.Namespaces.cas);\n\n        /// <summary>\n        /// The identifier for the NameNotSet6_ServerDiagnostics_ServerDiagnosticsSummary_PublishingIntervalCount Variable.\n        /// </summary>\n        public static readonly ExpandedNodeId NameNotSet6_ServerDiagnostics_ServerDiagnosticsSummary_PublishingIntervalCount = new ExpandedNodeId(ObjectTypeTest.Variables.NameNotSet6_ServerDiagnostics_ServerDiagnosticsSummary_PublishingIntervalCount, ObjectTypeTest.Namespaces.cas);\n\n        /// <summary>\n        /// The identifier for the NameNotSet6_ServerDiagnostics_ServerDiagnosticsSummary_CurrentSubscriptionCount Variable.\n        /// </summary>\n        public static readonly ExpandedNodeId NameNotSet6_ServerDiagnostics_ServerDiagnosticsSummary_CurrentSubscriptionCount = new ExpandedNodeId(ObjectTypeTest.Variables.NameNotSet6_ServerDiagnostics_ServerDiagnosticsSummary_CurrentSubscriptionCount, ObjectTypeTest.Namespaces.cas);\n\n        /// <summary>\n        /// The identifier for the NameNotSet6_ServerDiagnostics_ServerDiagnosticsSummary_CumulatedSubscriptionCount Variable.\n        /// </summary>\n        public static readonly ExpandedNodeId NameNotSet6_ServerDiagnostics_ServerDiagnosticsSummary_CumulatedSubscriptionCount = new ExpandedNodeId(ObjectTypeTest.Variables.NameNotSet6_ServerDiagnostics_ServerDiagnosticsSummary_CumulatedSubscriptionCount, ObjectTypeTest.Namespaces.cas);\n\n        /// <summary>\n        /// The identifier for the NameNotSet6_ServerDiagnostics_ServerDiagnosticsSummary_SecurityRejectedRequestsCount Variable.\n        /// </summary>\n        public static readonly ExpandedNodeId NameNotSet6_ServerDiagnostics_ServerDiagnosticsSummary_SecurityRejectedRequestsCount = new ExpandedNodeId(ObjectTypeTest.Variables.NameNotSet6_ServerDiagnostics_ServerDiagnosticsSummary_SecurityRejectedRequestsCount, ObjectTypeTest.Namespaces.cas);\n\n        /// <summary>\n        /// The identifier for the NameNotSet6_ServerDiagnostics_ServerDiagnosticsSummary_RejectedRequestsCount Variable.\n        /// </summary>\n        public static readonly ExpandedNodeId NameNotSet6_ServerDiagnostics_ServerDiagnosticsSummary_RejectedRequestsCount = new ExpandedNodeId(ObjectTypeTest.Variables.NameNotSet6_ServerDiagnostics_ServerDiagnosticsSummary_RejectedRequestsCount, ObjectTypeTest.Namespaces.cas);\n\n        /// <summary>\n        /// The identifier for the NameNotSet6_ServerDiagnostics_SubscriptionDiagnosticsArray Variable.\n        /// </summary>\n        public static readonly ExpandedNodeId NameNotSet6_ServerDiagnostics_SubscriptionDiagnosticsArray = new ExpandedNodeId(ObjectTypeTest.Variables.NameNotSet6_ServerDiagnostics_SubscriptionDiagnosticsArray, ObjectTypeTest.Namespaces.cas);\n\n        /// <summary>\n        /// The identifier for the NameNotSet6_ServerDiagnostics_SessionsDiagnosticsSummary_SessionDiagnosticsArray Variable.\n        /// </summary>\n        public static readonly ExpandedNodeId NameNotSet6_ServerDiagnostics_SessionsDiagnosticsSummary_SessionDiagnosticsArray = new ExpandedNodeId(ObjectTypeTest.Variables.NameNotSet6_ServerDiagnostics_SessionsDiagnosticsSummary_SessionDiagnosticsArray, ObjectTypeTest.Namespaces.cas);\n\n        /// <summary>\n        /// The identifier for the NameNotSet6_ServerDiagnostics_SessionsDiagnosticsSummary_SessionSecurityDiagnosticsArray Variable.\n        /// </summary>\n        public static readonly ExpandedNodeId NameNotSet6_ServerDiagnostics_SessionsDiagnosticsSummary_SessionSecurityDiagnosticsArray = new ExpandedNodeId(ObjectTypeTest.Variables.NameNotSet6_ServerDiagnostics_SessionsDiagnosticsSummary_SessionSecurityDiagnosticsArray, ObjectTypeTest.Namespaces.cas);\n\n        /// <summary>\n        /// The identifier for the NameNotSet6_ServerDiagnostics_EnabledFlag Variable.\n        /// </summary>\n        public static readonly ExpandedNodeId NameNotSet6_ServerDiagnostics_EnabledFlag = new ExpandedNodeId(ObjectTypeTest.Variables.NameNotSet6_ServerDiagnostics_EnabledFlag, ObjectTypeTest.Namespaces.cas);\n\n        /// <summary>\n        /// The identifier for the NameNotSet6_ServerRedundancy_RedundancySupport Variable.\n        /// </summary>\n        public static readonly ExpandedNodeId NameNotSet6_ServerRedundancy_RedundancySupport = new ExpandedNodeId(ObjectTypeTest.Variables.NameNotSet6_ServerRedundancy_RedundancySupport, ObjectTypeTest.Namespaces.cas);\n\n        /// <summary>\n        /// The identifier for the NameNotSet6_GetMonitoredItems_InputArguments Variable.\n        /// </summary>\n        public static readonly ExpandedNodeId NameNotSet6_GetMonitoredItems_InputArguments = new ExpandedNodeId(ObjectTypeTest.Variables.NameNotSet6_GetMonitoredItems_InputArguments, ObjectTypeTest.Namespaces.cas);\n\n        /// <summary>\n        /// The identifier for the NameNotSet6_GetMonitoredItems_OutputArguments Variable.\n        /// </summary>\n        public static readonly ExpandedNodeId NameNotSet6_GetMonitoredItems_OutputArguments = new ExpandedNodeId(ObjectTypeTest.Variables.NameNotSet6_GetMonitoredItems_OutputArguments, ObjectTypeTest.Namespaces.cas);\n\n        /// <summary>\n        /// The identifier for the NameNotSet6_ResendData_InputArguments Variable.\n        /// </summary>\n        public static readonly ExpandedNodeId NameNotSet6_ResendData_InputArguments = new ExpandedNodeId(ObjectTypeTest.Variables.NameNotSet6_ResendData_InputArguments, ObjectTypeTest.Namespaces.cas);\n\n        /// <summary>\n        /// The identifier for the NameNotSet6_SetSubscriptionDurable_InputArguments Variable.\n        /// </summary>\n        public static readonly ExpandedNodeId NameNotSet6_SetSubscriptionDurable_InputArguments = new ExpandedNodeId(ObjectTypeTest.Variables.NameNotSet6_SetSubscriptionDurable_InputArguments, ObjectTypeTest.Namespaces.cas);\n\n        /// <summary>\n        /// The identifier for the NameNotSet6_SetSubscriptionDurable_OutputArguments Variable.\n        /// </summary>\n        public static readonly ExpandedNodeId NameNotSet6_SetSubscriptionDurable_OutputArguments = new ExpandedNodeId(ObjectTypeTest.Variables.NameNotSet6_SetSubscriptionDurable_OutputArguments, ObjectTypeTest.Namespaces.cas);\n\n        /// <summary>\n        /// The identifier for the NameNotSet6_RequestServerStateChange_InputArguments Variable.\n        /// </summary>\n        public static readonly ExpandedNodeId NameNotSet6_RequestServerStateChange_InputArguments = new ExpandedNodeId(ObjectTypeTest.Variables.NameNotSet6_RequestServerStateChange_InputArguments, ObjectTypeTest.Namespaces.cas);\n\n        /// <summary>\n        /// The identifier for the NameNotSet6_BrowseName4node66 Variable.\n        /// </summary>\n        public static readonly ExpandedNodeId NameNotSet6_BrowseName4node66 = new ExpandedNodeId(ObjectTypeTest.Variables.NameNotSet6_BrowseName4node66, ObjectTypeTest.Namespaces.cas);\n\n        /// <summary>\n        /// The identifier for the NameNotSet6_NameNotSet1109 Variable.\n        /// </summary>\n        public static readonly ExpandedNodeId NameNotSet6_NameNotSet1109 = new ExpandedNodeId(ObjectTypeTest.Variables.NameNotSet6_NameNotSet1109, ObjectTypeTest.Namespaces.cas);\n\n        /// <summary>\n        /// The identifier for the NameNotSet6_NameNotSet1109_EURange Variable.\n        /// </summary>\n        public static readonly ExpandedNodeId NameNotSet6_NameNotSet1109_EURange = new ExpandedNodeId(ObjectTypeTest.Variables.NameNotSet6_NameNotSet1109_EURange, ObjectTypeTest.Namespaces.cas);\n\n        /// <summary>\n        /// The identifier for the NameNotSet6_ChildMethod_InputArguments Variable.\n        /// </summary>\n        public static readonly ExpandedNodeId NameNotSet6_ChildMethod_InputArguments = new ExpandedNodeId(ObjectTypeTest.Variables.NameNotSet6_ChildMethod_InputArguments, ObjectTypeTest.Namespaces.cas);\n\n        /// <summary>\n        /// The identifier for the NameNotSet6_ChildMethod_OutputArguments Variable.\n        /// </summary>\n        public static readonly ExpandedNodeId NameNotSet6_ChildMethod_OutputArguments = new ExpandedNodeId(ObjectTypeTest.Variables.NameNotSet6_ChildMethod_OutputArguments, ObjectTypeTest.Namespaces.cas);\n    }\n    #endregion\n\n    #region BrowseName Declarations\n    /// <summary>\n    /// Declares all of the BrowseNames used in the Model Design.\n    /// </summary>\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"Opc.Ua.ModelCompiler\", \"1.0.0.0\")]\n    public static partial class BrowseNames\n    {\n        /// <summary>\n        /// The BrowseName for the BrowseName4node66 component.\n        /// </summary>\n        public const string BrowseName4node66 = \"ChildProperty\";\n\n        /// <summary>\n        /// The BrowseName for the ChildMethod component.\n        /// </summary>\n        public const string ChildMethod = \"ChildMethod\";\n\n        /// <summary>\n        /// The BrowseName for the ChildMethodComplexObjectType component.\n        /// </summary>\n        public const string ChildMethodComplexObjectType = \"ChildMethodComplexObjectType\";\n\n        /// <summary>\n        /// The BrowseName for the ChildObject component.\n        /// </summary>\n        public const string ChildObject = \"ChildObject\";\n\n        /// <summary>\n        /// The BrowseName for the ComplexObjectType component.\n        /// </summary>\n        public const string ComplexObjectType = \"ComplexObjectType\";\n\n        /// <summary>\n        /// The BrowseName for the DerivedFromComplexObjectType component.\n        /// </summary>\n        public const string DerivedFromComplexObjectType = \"DerivedFromComplexObjectType\";\n\n        /// <summary>\n        /// The BrowseName for the FlowTo component.\n        /// </summary>\n        public const string FlowTo = \"FlowTo\";\n\n        /// <summary>\n        /// The BrowseName for the NameNotSet1109 component.\n        /// </summary>\n        public const string NameNotSet1109 = \"BrowseName4node1109\";\n\n        /// <summary>\n        /// The BrowseName for the NameNotSet6 component.\n        /// </summary>\n        public const string NameNotSet6 = \"NameNotSet6\";\n\n        /// <summary>\n        /// The BrowseName for the NonExecutableMethod component.\n        /// </summary>\n        public const string NonExecutableMethod = \"NonExecutableMethod\";\n\n        /// <summary>\n        /// The BrowseName for the NonExecutableMethodComplexObjectType component.\n        /// </summary>\n        public const string NonExecutableMethodComplexObjectType = \"NonExecutableMethodComplexObjectType\";\n    }\n    #endregion\n\n    #region Namespace Declarations\n    /// <summary>\n    /// Defines constants for all namespaces referenced by the model design.\n    /// </summary>\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"Opc.Ua.ModelCompiler\", \"1.0.0.0\")]\n    public static partial class Namespaces\n    {\n        /// <summary>\n        /// The URI for the cas namespace (.NET code namespace is 'ObjectTypeTest').\n        /// </summary>\n        public const string cas = \"http://cas.eu/UA/CommServer/UnitTests/ObjectTypeTest\";\n\n        /// <summary>\n        /// The URI for the ua namespace (.NET code namespace is '').\n        /// </summary>\n        public const string ua = \"http://opcfoundation.org/UA/\";\n    }\n    #endregion\n}"
  },
  {
    "path": "SemanticData/Tests/USNodeSetValidationUnitTestProject/XMLModels/CorrectModels/ObjectTypeTest/ObjectTypeTest.DataTypes.cs",
    "content": "/* ========================================================================\n * Copyright (c) 2005-2021 The OPC Foundation, Inc. All rights reserved.\n *\n * OPC Foundation MIT License 1.00\n *\n * Permission is hereby granted, free of charge, to any person\n * obtaining a copy of this software and associated documentation\n * files (the \"Software\"), to deal in the Software without\n * restriction, including without limitation the rights to use,\n * copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the\n * Software is furnished to do so, subject to the following\n * conditions:\n *\n * The above copyright notice and this permission notice shall be\n * included in all copies or substantial portions of the Software.\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND,\n * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES\n * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND\n * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT\n * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,\n * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING\n * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR\n * OTHER DEALINGS IN THE SOFTWARE.\n *\n * The complete license agreement can be found here:\n * http://opcfoundation.org/License/MIT/1.00/\n * ======================================================================*/\n\nusing System;\nusing System.Collections.Generic;\nusing System.Text;\nusing System.Xml;\nusing System.Runtime.Serialization;\nusing ;\n\nnamespace ObjectTypeTest\n{\n}"
  },
  {
    "path": "SemanticData/Tests/USNodeSetValidationUnitTestProject/XMLModels/CorrectModels/ObjectTypeTest/ObjectTypeTest.NodeIds.csv",
    "content": "ChildMethodComplexObjectType,303,Method\nComplexObjectType,196,ObjectType\nDerivedFromComplexObjectType,310,ObjectType\nFlowTo,195,ReferenceType\nNameNotSet6,413,Object\nNonExecutableMethodComplexObjectType,307,Method\n"
  },
  {
    "path": "SemanticData/Tests/USNodeSetValidationUnitTestProject/XMLModels/CorrectModels/ObjectTypeTest/ObjectTypeTest.NodeSet.xml",
    "content": "﻿<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<NodeSet xmlns:i=\"http://www.w3.org/2001/XMLSchema-instance\" xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n  <NamespaceUris>\n    <String>http://opcfoundation.org/UA/</String>\n    <String>http://cas.eu/UA/CommServer/UnitTests/ObjectTypeTest</String>\n  </NamespaceUris>\n  <ServerUris />\n  <Nodes>\n    <Node i:type=\"ReferenceTypeNode\">\n      <NodeId>\n        <Identifier>ns=1;i=195</Identifier>\n      </NodeId>\n      <NodeClass>ReferenceType_32</NodeClass>\n      <BrowseName>\n        <NamespaceIndex>1</NamespaceIndex>\n        <Name>FlowTo</Name>\n      </BrowseName>\n      <DisplayName>\n        <Locale></Locale>\n        <Text>Flow to type</Text>\n      </DisplayName>\n      <Description>\n        <Locale></Locale>\n        <Text>It is test ReferenceType</Text>\n      </Description>\n      <WriteMask>0</WriteMask>\n      <UserWriteMask>0</UserWriteMask>\n      <RolePermissions />\n      <UserRolePermissions />\n      <AccessRestrictions>0</AccessRestrictions>\n      <References>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=45</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>true</IsInverse>\n          <TargetId>\n            <Identifier>i=32</Identifier>\n          </TargetId>\n        </ReferenceNode>\n      </References>\n      <IsAbstract>false</IsAbstract>\n      <Symmetric>false</Symmetric>\n      <InverseName>\n        <Locale></Locale>\n        <Text>FlowFrom</Text>\n      </InverseName>\n    </Node>\n    <Node i:type=\"ObjectTypeNode\">\n      <NodeId>\n        <Identifier>ns=1;i=196</Identifier>\n      </NodeId>\n      <NodeClass>ObjectType_8</NodeClass>\n      <BrowseName>\n        <NamespaceIndex>1</NamespaceIndex>\n        <Name>ComplexObjectType</Name>\n      </BrowseName>\n      <DisplayName>\n        <Locale></Locale>\n        <Text>ComplexObjectType</Text>\n      </DisplayName>\n      <Description i:nil=\"true\" />\n      <WriteMask>0</WriteMask>\n      <UserWriteMask>0</UserWriteMask>\n      <RolePermissions />\n      <UserRolePermissions />\n      <AccessRestrictions>0</AccessRestrictions>\n      <References>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=45</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>true</IsInverse>\n          <TargetId>\n            <Identifier>i=2004</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=47</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=214</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=47</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=308</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=46</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=309</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=47</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=289</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=47</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=295</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=47</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=306</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=45</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=310</Identifier>\n          </TargetId>\n        </ReferenceNode>\n      </References>\n      <IsAbstract>false</IsAbstract>\n    </Node>\n    <Node i:type=\"ObjectNode\">\n      <NodeId>\n        <Identifier>ns=1;i=214</Identifier>\n      </NodeId>\n      <NodeClass>Object_1</NodeClass>\n      <BrowseName>\n        <NamespaceIndex>0</NamespaceIndex>\n        <Name>ServerCapabilities</Name>\n      </BrowseName>\n      <DisplayName>\n        <Locale></Locale>\n        <Text>ServerCapabilities</Text>\n      </DisplayName>\n      <Description i:nil=\"true\" />\n      <WriteMask>0</WriteMask>\n      <UserWriteMask>0</UserWriteMask>\n      <RolePermissions />\n      <UserRolePermissions />\n      <AccessRestrictions>0</AccessRestrictions>\n      <References>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=47</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>true</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=196</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=40</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>i=2013</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=37</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>i=78</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=46</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=215</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=46</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=216</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=46</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=217</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=46</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=218</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=46</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=219</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=46</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=220</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=46</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=221</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=47</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=237</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=47</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=238</Identifier>\n          </TargetId>\n        </ReferenceNode>\n      </References>\n      <EventNotifier>0</EventNotifier>\n    </Node>\n    <Node i:type=\"VariableNode\">\n      <NodeId>\n        <Identifier>ns=1;i=215</Identifier>\n      </NodeId>\n      <NodeClass>Variable_2</NodeClass>\n      <BrowseName>\n        <NamespaceIndex>0</NamespaceIndex>\n        <Name>ServerProfileArray</Name>\n      </BrowseName>\n      <DisplayName>\n        <Locale></Locale>\n        <Text>ServerProfileArray</Text>\n      </DisplayName>\n      <Description i:nil=\"true\" />\n      <WriteMask>0</WriteMask>\n      <UserWriteMask>0</UserWriteMask>\n      <RolePermissions />\n      <UserRolePermissions />\n      <AccessRestrictions>0</AccessRestrictions>\n      <References>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=46</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>true</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=214</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=40</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>i=68</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=37</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>i=78</Identifier>\n          </TargetId>\n        </ReferenceNode>\n      </References>\n      <Value>\n        <Value>\n          <Null xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\" />\n        </Value>\n      </Value>\n      <DataType>\n        <Identifier>i=12</Identifier>\n      </DataType>\n      <ValueRank>1</ValueRank>\n      <ArrayDimensions>\n        <UInt32>0</UInt32>\n      </ArrayDimensions>\n      <AccessLevel>1</AccessLevel>\n      <UserAccessLevel>1</UserAccessLevel>\n      <MinimumSamplingInterval>0</MinimumSamplingInterval>\n      <Historizing>false</Historizing>\n      <AccessLevelEx>0</AccessLevelEx>\n    </Node>\n    <Node i:type=\"VariableNode\">\n      <NodeId>\n        <Identifier>ns=1;i=216</Identifier>\n      </NodeId>\n      <NodeClass>Variable_2</NodeClass>\n      <BrowseName>\n        <NamespaceIndex>0</NamespaceIndex>\n        <Name>LocaleIdArray</Name>\n      </BrowseName>\n      <DisplayName>\n        <Locale></Locale>\n        <Text>LocaleIdArray</Text>\n      </DisplayName>\n      <Description i:nil=\"true\" />\n      <WriteMask>0</WriteMask>\n      <UserWriteMask>0</UserWriteMask>\n      <RolePermissions />\n      <UserRolePermissions />\n      <AccessRestrictions>0</AccessRestrictions>\n      <References>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=46</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>true</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=214</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=40</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>i=68</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=37</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>i=78</Identifier>\n          </TargetId>\n        </ReferenceNode>\n      </References>\n      <Value>\n        <Value>\n          <Null xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\" />\n        </Value>\n      </Value>\n      <DataType>\n        <Identifier>i=295</Identifier>\n      </DataType>\n      <ValueRank>1</ValueRank>\n      <ArrayDimensions>\n        <UInt32>0</UInt32>\n      </ArrayDimensions>\n      <AccessLevel>1</AccessLevel>\n      <UserAccessLevel>1</UserAccessLevel>\n      <MinimumSamplingInterval>0</MinimumSamplingInterval>\n      <Historizing>false</Historizing>\n      <AccessLevelEx>0</AccessLevelEx>\n    </Node>\n    <Node i:type=\"VariableNode\">\n      <NodeId>\n        <Identifier>ns=1;i=217</Identifier>\n      </NodeId>\n      <NodeClass>Variable_2</NodeClass>\n      <BrowseName>\n        <NamespaceIndex>0</NamespaceIndex>\n        <Name>MinSupportedSampleRate</Name>\n      </BrowseName>\n      <DisplayName>\n        <Locale></Locale>\n        <Text>MinSupportedSampleRate</Text>\n      </DisplayName>\n      <Description i:nil=\"true\" />\n      <WriteMask>0</WriteMask>\n      <UserWriteMask>0</UserWriteMask>\n      <RolePermissions />\n      <UserRolePermissions />\n      <AccessRestrictions>0</AccessRestrictions>\n      <References>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=46</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>true</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=214</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=40</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>i=68</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=37</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>i=78</Identifier>\n          </TargetId>\n        </ReferenceNode>\n      </References>\n      <Value>\n        <Value>\n          <Double xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">0</Double>\n        </Value>\n      </Value>\n      <DataType>\n        <Identifier>i=290</Identifier>\n      </DataType>\n      <ValueRank>-1</ValueRank>\n      <ArrayDimensions />\n      <AccessLevel>1</AccessLevel>\n      <UserAccessLevel>1</UserAccessLevel>\n      <MinimumSamplingInterval>0</MinimumSamplingInterval>\n      <Historizing>false</Historizing>\n      <AccessLevelEx>0</AccessLevelEx>\n    </Node>\n    <Node i:type=\"VariableNode\">\n      <NodeId>\n        <Identifier>ns=1;i=218</Identifier>\n      </NodeId>\n      <NodeClass>Variable_2</NodeClass>\n      <BrowseName>\n        <NamespaceIndex>0</NamespaceIndex>\n        <Name>MaxBrowseContinuationPoints</Name>\n      </BrowseName>\n      <DisplayName>\n        <Locale></Locale>\n        <Text>MaxBrowseContinuationPoints</Text>\n      </DisplayName>\n      <Description i:nil=\"true\" />\n      <WriteMask>0</WriteMask>\n      <UserWriteMask>0</UserWriteMask>\n      <RolePermissions />\n      <UserRolePermissions />\n      <AccessRestrictions>0</AccessRestrictions>\n      <References>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=46</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>true</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=214</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=40</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>i=68</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=37</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>i=78</Identifier>\n          </TargetId>\n        </ReferenceNode>\n      </References>\n      <Value>\n        <Value>\n          <UInt16 xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">0</UInt16>\n        </Value>\n      </Value>\n      <DataType>\n        <Identifier>i=5</Identifier>\n      </DataType>\n      <ValueRank>-1</ValueRank>\n      <ArrayDimensions />\n      <AccessLevel>1</AccessLevel>\n      <UserAccessLevel>1</UserAccessLevel>\n      <MinimumSamplingInterval>0</MinimumSamplingInterval>\n      <Historizing>false</Historizing>\n      <AccessLevelEx>0</AccessLevelEx>\n    </Node>\n    <Node i:type=\"VariableNode\">\n      <NodeId>\n        <Identifier>ns=1;i=219</Identifier>\n      </NodeId>\n      <NodeClass>Variable_2</NodeClass>\n      <BrowseName>\n        <NamespaceIndex>0</NamespaceIndex>\n        <Name>MaxQueryContinuationPoints</Name>\n      </BrowseName>\n      <DisplayName>\n        <Locale></Locale>\n        <Text>MaxQueryContinuationPoints</Text>\n      </DisplayName>\n      <Description i:nil=\"true\" />\n      <WriteMask>0</WriteMask>\n      <UserWriteMask>0</UserWriteMask>\n      <RolePermissions />\n      <UserRolePermissions />\n      <AccessRestrictions>0</AccessRestrictions>\n      <References>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=46</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>true</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=214</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=40</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>i=68</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=37</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>i=78</Identifier>\n          </TargetId>\n        </ReferenceNode>\n      </References>\n      <Value>\n        <Value>\n          <UInt16 xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">0</UInt16>\n        </Value>\n      </Value>\n      <DataType>\n        <Identifier>i=5</Identifier>\n      </DataType>\n      <ValueRank>-1</ValueRank>\n      <ArrayDimensions />\n      <AccessLevel>1</AccessLevel>\n      <UserAccessLevel>1</UserAccessLevel>\n      <MinimumSamplingInterval>0</MinimumSamplingInterval>\n      <Historizing>false</Historizing>\n      <AccessLevelEx>0</AccessLevelEx>\n    </Node>\n    <Node i:type=\"VariableNode\">\n      <NodeId>\n        <Identifier>ns=1;i=220</Identifier>\n      </NodeId>\n      <NodeClass>Variable_2</NodeClass>\n      <BrowseName>\n        <NamespaceIndex>0</NamespaceIndex>\n        <Name>MaxHistoryContinuationPoints</Name>\n      </BrowseName>\n      <DisplayName>\n        <Locale></Locale>\n        <Text>MaxHistoryContinuationPoints</Text>\n      </DisplayName>\n      <Description i:nil=\"true\" />\n      <WriteMask>0</WriteMask>\n      <UserWriteMask>0</UserWriteMask>\n      <RolePermissions />\n      <UserRolePermissions />\n      <AccessRestrictions>0</AccessRestrictions>\n      <References>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=46</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>true</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=214</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=40</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>i=68</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=37</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>i=78</Identifier>\n          </TargetId>\n        </ReferenceNode>\n      </References>\n      <Value>\n        <Value>\n          <UInt16 xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">0</UInt16>\n        </Value>\n      </Value>\n      <DataType>\n        <Identifier>i=5</Identifier>\n      </DataType>\n      <ValueRank>-1</ValueRank>\n      <ArrayDimensions />\n      <AccessLevel>1</AccessLevel>\n      <UserAccessLevel>1</UserAccessLevel>\n      <MinimumSamplingInterval>0</MinimumSamplingInterval>\n      <Historizing>false</Historizing>\n      <AccessLevelEx>0</AccessLevelEx>\n    </Node>\n    <Node i:type=\"VariableNode\">\n      <NodeId>\n        <Identifier>ns=1;i=221</Identifier>\n      </NodeId>\n      <NodeClass>Variable_2</NodeClass>\n      <BrowseName>\n        <NamespaceIndex>0</NamespaceIndex>\n        <Name>SoftwareCertificates</Name>\n      </BrowseName>\n      <DisplayName>\n        <Locale></Locale>\n        <Text>SoftwareCertificates</Text>\n      </DisplayName>\n      <Description i:nil=\"true\" />\n      <WriteMask>0</WriteMask>\n      <UserWriteMask>0</UserWriteMask>\n      <RolePermissions />\n      <UserRolePermissions />\n      <AccessRestrictions>0</AccessRestrictions>\n      <References>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=46</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>true</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=214</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=40</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>i=68</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=37</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>i=78</Identifier>\n          </TargetId>\n        </ReferenceNode>\n      </References>\n      <Value>\n        <Value>\n          <Null xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\" />\n        </Value>\n      </Value>\n      <DataType>\n        <Identifier>i=344</Identifier>\n      </DataType>\n      <ValueRank>1</ValueRank>\n      <ArrayDimensions>\n        <UInt32>0</UInt32>\n      </ArrayDimensions>\n      <AccessLevel>1</AccessLevel>\n      <UserAccessLevel>1</UserAccessLevel>\n      <MinimumSamplingInterval>0</MinimumSamplingInterval>\n      <Historizing>false</Historizing>\n      <AccessLevelEx>0</AccessLevelEx>\n    </Node>\n    <Node i:type=\"ObjectNode\">\n      <NodeId>\n        <Identifier>ns=1;i=237</Identifier>\n      </NodeId>\n      <NodeClass>Object_1</NodeClass>\n      <BrowseName>\n        <NamespaceIndex>0</NamespaceIndex>\n        <Name>ModellingRules</Name>\n      </BrowseName>\n      <DisplayName>\n        <Locale></Locale>\n        <Text>ModellingRules</Text>\n      </DisplayName>\n      <Description i:nil=\"true\" />\n      <WriteMask>0</WriteMask>\n      <UserWriteMask>0</UserWriteMask>\n      <RolePermissions />\n      <UserRolePermissions />\n      <AccessRestrictions>0</AccessRestrictions>\n      <References>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=47</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>true</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=214</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=40</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>i=61</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=37</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>i=78</Identifier>\n          </TargetId>\n        </ReferenceNode>\n      </References>\n      <EventNotifier>0</EventNotifier>\n    </Node>\n    <Node i:type=\"ObjectNode\">\n      <NodeId>\n        <Identifier>ns=1;i=238</Identifier>\n      </NodeId>\n      <NodeClass>Object_1</NodeClass>\n      <BrowseName>\n        <NamespaceIndex>0</NamespaceIndex>\n        <Name>AggregateFunctions</Name>\n      </BrowseName>\n      <DisplayName>\n        <Locale></Locale>\n        <Text>AggregateFunctions</Text>\n      </DisplayName>\n      <Description i:nil=\"true\" />\n      <WriteMask>0</WriteMask>\n      <UserWriteMask>0</UserWriteMask>\n      <RolePermissions />\n      <UserRolePermissions />\n      <AccessRestrictions>0</AccessRestrictions>\n      <References>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=47</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>true</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=214</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=40</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>i=61</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=37</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>i=78</Identifier>\n          </TargetId>\n        </ReferenceNode>\n      </References>\n      <EventNotifier>0</EventNotifier>\n    </Node>\n    <Node i:type=\"VariableNode\">\n      <NodeId>\n        <Identifier>ns=1;i=289</Identifier>\n      </NodeId>\n      <NodeClass>Variable_2</NodeClass>\n      <BrowseName>\n        <NamespaceIndex>1</NamespaceIndex>\n        <Name>BrowseName4node1109</Name>\n      </BrowseName>\n      <DisplayName>\n        <Locale></Locale>\n        <Text>BrowseName4node1109</Text>\n      </DisplayName>\n      <Description i:nil=\"true\" />\n      <WriteMask>0</WriteMask>\n      <UserWriteMask>0</UserWriteMask>\n      <RolePermissions />\n      <UserRolePermissions />\n      <AccessRestrictions>0</AccessRestrictions>\n      <References>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=47</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>true</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=196</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=40</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>i=2368</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=37</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>i=78</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>ns=1;i=195</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=309</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=46</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=293</Identifier>\n          </TargetId>\n        </ReferenceNode>\n      </References>\n      <Value>\n        <Value>\n          <Double xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">0</Double>\n        </Value>\n      </Value>\n      <DataType>\n        <Identifier>i=26</Identifier>\n      </DataType>\n      <ValueRank>-1</ValueRank>\n      <ArrayDimensions />\n      <AccessLevel>1</AccessLevel>\n      <UserAccessLevel>1</UserAccessLevel>\n      <MinimumSamplingInterval>0</MinimumSamplingInterval>\n      <Historizing>false</Historizing>\n      <AccessLevelEx>0</AccessLevelEx>\n    </Node>\n    <Node i:type=\"VariableNode\">\n      <NodeId>\n        <Identifier>ns=1;i=293</Identifier>\n      </NodeId>\n      <NodeClass>Variable_2</NodeClass>\n      <BrowseName>\n        <NamespaceIndex>0</NamespaceIndex>\n        <Name>EURange</Name>\n      </BrowseName>\n      <DisplayName>\n        <Locale></Locale>\n        <Text>EURange</Text>\n      </DisplayName>\n      <Description i:nil=\"true\" />\n      <WriteMask>0</WriteMask>\n      <UserWriteMask>0</UserWriteMask>\n      <RolePermissions />\n      <UserRolePermissions />\n      <AccessRestrictions>0</AccessRestrictions>\n      <References>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=46</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>true</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=289</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=40</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>i=68</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=37</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>i=78</Identifier>\n          </TargetId>\n        </ReferenceNode>\n      </References>\n      <Value>\n        <Value>\n          <Null xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\" />\n        </Value>\n      </Value>\n      <DataType>\n        <Identifier>i=884</Identifier>\n      </DataType>\n      <ValueRank>-1</ValueRank>\n      <ArrayDimensions />\n      <AccessLevel>1</AccessLevel>\n      <UserAccessLevel>1</UserAccessLevel>\n      <MinimumSamplingInterval>0</MinimumSamplingInterval>\n      <Historizing>false</Historizing>\n      <AccessLevelEx>0</AccessLevelEx>\n    </Node>\n    <Node i:type=\"MethodNode\">\n      <NodeId>\n        <Identifier>ns=1;i=295</Identifier>\n      </NodeId>\n      <NodeClass>Method_4</NodeClass>\n      <BrowseName>\n        <NamespaceIndex>1</NamespaceIndex>\n        <Name>ChildMethod</Name>\n      </BrowseName>\n      <DisplayName>\n        <Locale></Locale>\n        <Text>ChildMethod</Text>\n      </DisplayName>\n      <Description i:nil=\"true\" />\n      <WriteMask>0</WriteMask>\n      <UserWriteMask>0</UserWriteMask>\n      <RolePermissions />\n      <UserRolePermissions />\n      <AccessRestrictions>0</AccessRestrictions>\n      <References>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=47</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>true</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=196</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=37</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>i=78</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=46</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=299</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=46</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=300</Identifier>\n          </TargetId>\n        </ReferenceNode>\n      </References>\n      <Executable>true</Executable>\n      <UserExecutable>true</UserExecutable>\n    </Node>\n    <Node i:type=\"VariableNode\">\n      <NodeId>\n        <Identifier>ns=1;i=299</Identifier>\n      </NodeId>\n      <NodeClass>Variable_2</NodeClass>\n      <BrowseName>\n        <NamespaceIndex>0</NamespaceIndex>\n        <Name>InputArguments</Name>\n      </BrowseName>\n      <DisplayName>\n        <Locale></Locale>\n        <Text>InputArguments</Text>\n      </DisplayName>\n      <Description i:nil=\"true\" />\n      <WriteMask>0</WriteMask>\n      <UserWriteMask>0</UserWriteMask>\n      <RolePermissions />\n      <UserRolePermissions />\n      <AccessRestrictions>0</AccessRestrictions>\n      <References>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=46</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>true</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=295</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=40</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>i=68</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=37</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>i=78</Identifier>\n          </TargetId>\n        </ReferenceNode>\n      </References>\n      <Value>\n        <Value>\n          <ListOfExtensionObject xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n            <ExtensionObject>\n              <TypeId>\n                <Identifier>i=297</Identifier>\n              </TypeId>\n              <Body>\n                <Argument>\n                  <Name>Input1</Name>\n                  <DataType>\n                    <Identifier>i=6</Identifier>\n                  </DataType>\n                  <ValueRank>-1</ValueRank>\n                  <ArrayDimensions />\n                </Argument>\n              </Body>\n            </ExtensionObject>\n            <ExtensionObject>\n              <TypeId>\n                <Identifier>i=297</Identifier>\n              </TypeId>\n              <Body>\n                <Argument>\n                  <Name>Input2</Name>\n                  <DataType>\n                    <Identifier>i=6</Identifier>\n                  </DataType>\n                  <ValueRank>-1</ValueRank>\n                  <ArrayDimensions />\n                </Argument>\n              </Body>\n            </ExtensionObject>\n          </ListOfExtensionObject>\n        </Value>\n      </Value>\n      <DataType>\n        <Identifier>i=296</Identifier>\n      </DataType>\n      <ValueRank>1</ValueRank>\n      <ArrayDimensions>\n        <UInt32>0</UInt32>\n      </ArrayDimensions>\n      <AccessLevel>1</AccessLevel>\n      <UserAccessLevel>1</UserAccessLevel>\n      <MinimumSamplingInterval>0</MinimumSamplingInterval>\n      <Historizing>false</Historizing>\n      <AccessLevelEx>0</AccessLevelEx>\n    </Node>\n    <Node i:type=\"VariableNode\">\n      <NodeId>\n        <Identifier>ns=1;i=300</Identifier>\n      </NodeId>\n      <NodeClass>Variable_2</NodeClass>\n      <BrowseName>\n        <NamespaceIndex>0</NamespaceIndex>\n        <Name>OutputArguments</Name>\n      </BrowseName>\n      <DisplayName>\n        <Locale></Locale>\n        <Text>OutputArguments</Text>\n      </DisplayName>\n      <Description i:nil=\"true\" />\n      <WriteMask>0</WriteMask>\n      <UserWriteMask>0</UserWriteMask>\n      <RolePermissions />\n      <UserRolePermissions />\n      <AccessRestrictions>0</AccessRestrictions>\n      <References>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=46</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>true</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=295</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=40</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>i=68</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=37</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>i=78</Identifier>\n          </TargetId>\n        </ReferenceNode>\n      </References>\n      <Value>\n        <Value>\n          <ListOfExtensionObject xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n            <ExtensionObject>\n              <TypeId>\n                <Identifier>i=297</Identifier>\n              </TypeId>\n              <Body>\n                <Argument>\n                  <Name>Output1</Name>\n                  <DataType>\n                    <Identifier>i=6</Identifier>\n                  </DataType>\n                  <ValueRank>-1</ValueRank>\n                  <ArrayDimensions />\n                </Argument>\n              </Body>\n            </ExtensionObject>\n          </ListOfExtensionObject>\n        </Value>\n      </Value>\n      <DataType>\n        <Identifier>i=296</Identifier>\n      </DataType>\n      <ValueRank>1</ValueRank>\n      <ArrayDimensions>\n        <UInt32>0</UInt32>\n      </ArrayDimensions>\n      <AccessLevel>1</AccessLevel>\n      <UserAccessLevel>1</UserAccessLevel>\n      <MinimumSamplingInterval>0</MinimumSamplingInterval>\n      <Historizing>false</Historizing>\n      <AccessLevelEx>0</AccessLevelEx>\n    </Node>\n    <Node i:type=\"MethodNode\">\n      <NodeId>\n        <Identifier>ns=1;i=303</Identifier>\n      </NodeId>\n      <NodeClass>Method_4</NodeClass>\n      <BrowseName>\n        <NamespaceIndex>1</NamespaceIndex>\n        <Name>ChildMethodComplexObjectType</Name>\n      </BrowseName>\n      <DisplayName>\n        <Locale></Locale>\n        <Text>ChildMethodComplexObjectType</Text>\n      </DisplayName>\n      <Description i:nil=\"true\" />\n      <WriteMask>0</WriteMask>\n      <UserWriteMask>0</UserWriteMask>\n      <RolePermissions />\n      <UserRolePermissions />\n      <AccessRestrictions>0</AccessRestrictions>\n      <References>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=46</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=304</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=46</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=305</Identifier>\n          </TargetId>\n        </ReferenceNode>\n      </References>\n      <Executable>true</Executable>\n      <UserExecutable>true</UserExecutable>\n    </Node>\n    <Node i:type=\"VariableNode\">\n      <NodeId>\n        <Identifier>ns=1;i=304</Identifier>\n      </NodeId>\n      <NodeClass>Variable_2</NodeClass>\n      <BrowseName>\n        <NamespaceIndex>0</NamespaceIndex>\n        <Name>InputArguments</Name>\n      </BrowseName>\n      <DisplayName>\n        <Locale></Locale>\n        <Text>InputArguments</Text>\n      </DisplayName>\n      <Description i:nil=\"true\" />\n      <WriteMask>0</WriteMask>\n      <UserWriteMask>0</UserWriteMask>\n      <RolePermissions />\n      <UserRolePermissions />\n      <AccessRestrictions>0</AccessRestrictions>\n      <References>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=46</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>true</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=303</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=40</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>i=68</Identifier>\n          </TargetId>\n        </ReferenceNode>\n      </References>\n      <Value>\n        <Value>\n          <ListOfExtensionObject xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n            <ExtensionObject>\n              <TypeId>\n                <Identifier>i=297</Identifier>\n              </TypeId>\n              <Body>\n                <Argument>\n                  <Name>Input1</Name>\n                  <DataType>\n                    <Identifier>i=6</Identifier>\n                  </DataType>\n                  <ValueRank>-1</ValueRank>\n                  <ArrayDimensions />\n                </Argument>\n              </Body>\n            </ExtensionObject>\n            <ExtensionObject>\n              <TypeId>\n                <Identifier>i=297</Identifier>\n              </TypeId>\n              <Body>\n                <Argument>\n                  <Name>Input2</Name>\n                  <DataType>\n                    <Identifier>i=6</Identifier>\n                  </DataType>\n                  <ValueRank>-1</ValueRank>\n                  <ArrayDimensions />\n                </Argument>\n              </Body>\n            </ExtensionObject>\n          </ListOfExtensionObject>\n        </Value>\n      </Value>\n      <DataType>\n        <Identifier>i=296</Identifier>\n      </DataType>\n      <ValueRank>1</ValueRank>\n      <ArrayDimensions>\n        <UInt32>0</UInt32>\n      </ArrayDimensions>\n      <AccessLevel>1</AccessLevel>\n      <UserAccessLevel>1</UserAccessLevel>\n      <MinimumSamplingInterval>0</MinimumSamplingInterval>\n      <Historizing>false</Historizing>\n      <AccessLevelEx>0</AccessLevelEx>\n    </Node>\n    <Node i:type=\"VariableNode\">\n      <NodeId>\n        <Identifier>ns=1;i=305</Identifier>\n      </NodeId>\n      <NodeClass>Variable_2</NodeClass>\n      <BrowseName>\n        <NamespaceIndex>0</NamespaceIndex>\n        <Name>OutputArguments</Name>\n      </BrowseName>\n      <DisplayName>\n        <Locale></Locale>\n        <Text>OutputArguments</Text>\n      </DisplayName>\n      <Description i:nil=\"true\" />\n      <WriteMask>0</WriteMask>\n      <UserWriteMask>0</UserWriteMask>\n      <RolePermissions />\n      <UserRolePermissions />\n      <AccessRestrictions>0</AccessRestrictions>\n      <References>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=46</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>true</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=303</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=40</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>i=68</Identifier>\n          </TargetId>\n        </ReferenceNode>\n      </References>\n      <Value>\n        <Value>\n          <ListOfExtensionObject xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n            <ExtensionObject>\n              <TypeId>\n                <Identifier>i=297</Identifier>\n              </TypeId>\n              <Body>\n                <Argument>\n                  <Name>Output1</Name>\n                  <DataType>\n                    <Identifier>i=6</Identifier>\n                  </DataType>\n                  <ValueRank>-1</ValueRank>\n                  <ArrayDimensions />\n                </Argument>\n              </Body>\n            </ExtensionObject>\n          </ListOfExtensionObject>\n        </Value>\n      </Value>\n      <DataType>\n        <Identifier>i=296</Identifier>\n      </DataType>\n      <ValueRank>1</ValueRank>\n      <ArrayDimensions>\n        <UInt32>0</UInt32>\n      </ArrayDimensions>\n      <AccessLevel>1</AccessLevel>\n      <UserAccessLevel>1</UserAccessLevel>\n      <MinimumSamplingInterval>0</MinimumSamplingInterval>\n      <Historizing>false</Historizing>\n      <AccessLevelEx>0</AccessLevelEx>\n    </Node>\n    <Node i:type=\"MethodNode\">\n      <NodeId>\n        <Identifier>ns=1;i=306</Identifier>\n      </NodeId>\n      <NodeClass>Method_4</NodeClass>\n      <BrowseName>\n        <NamespaceIndex>1</NamespaceIndex>\n        <Name>NonExecutableMethod</Name>\n      </BrowseName>\n      <DisplayName>\n        <Locale></Locale>\n        <Text>NonExecutableMethod</Text>\n      </DisplayName>\n      <Description i:nil=\"true\" />\n      <WriteMask>0</WriteMask>\n      <UserWriteMask>0</UserWriteMask>\n      <RolePermissions />\n      <UserRolePermissions />\n      <AccessRestrictions>0</AccessRestrictions>\n      <References>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=47</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>true</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=196</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=37</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>i=78</Identifier>\n          </TargetId>\n        </ReferenceNode>\n      </References>\n      <Executable>true</Executable>\n      <UserExecutable>true</UserExecutable>\n    </Node>\n    <Node i:type=\"MethodNode\">\n      <NodeId>\n        <Identifier>ns=1;i=307</Identifier>\n      </NodeId>\n      <NodeClass>Method_4</NodeClass>\n      <BrowseName>\n        <NamespaceIndex>1</NamespaceIndex>\n        <Name>NonExecutableMethodComplexObjectType</Name>\n      </BrowseName>\n      <DisplayName>\n        <Locale></Locale>\n        <Text>NonExecutableMethodComplexObjectType</Text>\n      </DisplayName>\n      <Description i:nil=\"true\" />\n      <WriteMask>0</WriteMask>\n      <UserWriteMask>0</UserWriteMask>\n      <RolePermissions />\n      <UserRolePermissions />\n      <AccessRestrictions>0</AccessRestrictions>\n      <References />\n      <Executable>false</Executable>\n      <UserExecutable>false</UserExecutable>\n    </Node>\n    <Node i:type=\"ObjectNode\">\n      <NodeId>\n        <Identifier>ns=1;i=308</Identifier>\n      </NodeId>\n      <NodeClass>Object_1</NodeClass>\n      <BrowseName>\n        <NamespaceIndex>1</NamespaceIndex>\n        <Name>ChildObject</Name>\n      </BrowseName>\n      <DisplayName>\n        <Locale></Locale>\n        <Text>ChildObject</Text>\n      </DisplayName>\n      <Description i:nil=\"true\" />\n      <WriteMask>0</WriteMask>\n      <UserWriteMask>0</UserWriteMask>\n      <RolePermissions />\n      <UserRolePermissions />\n      <AccessRestrictions>0</AccessRestrictions>\n      <References>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=47</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>true</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=196</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=40</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>i=58</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=37</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>i=11510</Identifier>\n          </TargetId>\n        </ReferenceNode>\n      </References>\n      <EventNotifier>1</EventNotifier>\n    </Node>\n    <Node i:type=\"VariableNode\">\n      <NodeId>\n        <Identifier>ns=1;i=309</Identifier>\n      </NodeId>\n      <NodeClass>Variable_2</NodeClass>\n      <BrowseName>\n        <NamespaceIndex>1</NamespaceIndex>\n        <Name>ChildProperty</Name>\n      </BrowseName>\n      <DisplayName>\n        <Locale></Locale>\n        <Text>ChildProperty</Text>\n      </DisplayName>\n      <Description i:nil=\"true\" />\n      <WriteMask>0</WriteMask>\n      <UserWriteMask>0</UserWriteMask>\n      <RolePermissions />\n      <UserRolePermissions />\n      <AccessRestrictions>0</AccessRestrictions>\n      <References>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=46</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>true</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=196</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=40</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>i=68</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=37</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>i=78</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>ns=1;i=195</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>true</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=289</Identifier>\n          </TargetId>\n        </ReferenceNode>\n      </References>\n      <Value>\n        <Value>\n          <LocalizedText xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\" />\n        </Value>\n      </Value>\n      <DataType>\n        <Identifier>i=21</Identifier>\n      </DataType>\n      <ValueRank>-1</ValueRank>\n      <ArrayDimensions />\n      <AccessLevel>1</AccessLevel>\n      <UserAccessLevel>1</UserAccessLevel>\n      <MinimumSamplingInterval>0</MinimumSamplingInterval>\n      <Historizing>false</Historizing>\n      <AccessLevelEx>0</AccessLevelEx>\n    </Node>\n    <Node i:type=\"ObjectTypeNode\">\n      <NodeId>\n        <Identifier>ns=1;i=310</Identifier>\n      </NodeId>\n      <NodeClass>ObjectType_8</NodeClass>\n      <BrowseName>\n        <NamespaceIndex>1</NamespaceIndex>\n        <Name>DerivedFromComplexObjectType</Name>\n      </BrowseName>\n      <DisplayName>\n        <Locale></Locale>\n        <Text>DerivedFromComplexObjectType</Text>\n      </DisplayName>\n      <Description i:nil=\"true\" />\n      <WriteMask>0</WriteMask>\n      <UserWriteMask>0</UserWriteMask>\n      <RolePermissions />\n      <UserRolePermissions />\n      <AccessRestrictions>0</AccessRestrictions>\n      <References>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=45</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>true</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=196</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=47</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=409</Identifier>\n          </TargetId>\n        </ReferenceNode>\n      </References>\n      <IsAbstract>false</IsAbstract>\n    </Node>\n    <Node i:type=\"MethodNode\">\n      <NodeId>\n        <Identifier>ns=1;i=409</Identifier>\n      </NodeId>\n      <NodeClass>Method_4</NodeClass>\n      <BrowseName>\n        <NamespaceIndex>1</NamespaceIndex>\n        <Name>ChildMethod</Name>\n      </BrowseName>\n      <DisplayName>\n        <Locale></Locale>\n        <Text>ChildMethod</Text>\n      </DisplayName>\n      <Description i:nil=\"true\" />\n      <WriteMask>0</WriteMask>\n      <UserWriteMask>0</UserWriteMask>\n      <RolePermissions />\n      <UserRolePermissions />\n      <AccessRestrictions>0</AccessRestrictions>\n      <References>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=47</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>true</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=310</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=37</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>i=78</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=46</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=410</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=46</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=411</Identifier>\n          </TargetId>\n        </ReferenceNode>\n      </References>\n      <Executable>true</Executable>\n      <UserExecutable>true</UserExecutable>\n    </Node>\n    <Node i:type=\"VariableNode\">\n      <NodeId>\n        <Identifier>ns=1;i=410</Identifier>\n      </NodeId>\n      <NodeClass>Variable_2</NodeClass>\n      <BrowseName>\n        <NamespaceIndex>0</NamespaceIndex>\n        <Name>InputArguments</Name>\n      </BrowseName>\n      <DisplayName>\n        <Locale></Locale>\n        <Text>InputArguments</Text>\n      </DisplayName>\n      <Description i:nil=\"true\" />\n      <WriteMask>0</WriteMask>\n      <UserWriteMask>0</UserWriteMask>\n      <RolePermissions />\n      <UserRolePermissions />\n      <AccessRestrictions>0</AccessRestrictions>\n      <References>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=46</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>true</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=409</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=40</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>i=68</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=37</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>i=78</Identifier>\n          </TargetId>\n        </ReferenceNode>\n      </References>\n      <Value>\n        <Value>\n          <ListOfExtensionObject xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n            <ExtensionObject>\n              <TypeId>\n                <Identifier>i=297</Identifier>\n              </TypeId>\n              <Body>\n                <Argument>\n                  <Name>Input1</Name>\n                  <DataType>\n                    <Identifier>i=6</Identifier>\n                  </DataType>\n                  <ValueRank>-1</ValueRank>\n                  <ArrayDimensions />\n                </Argument>\n              </Body>\n            </ExtensionObject>\n            <ExtensionObject>\n              <TypeId>\n                <Identifier>i=297</Identifier>\n              </TypeId>\n              <Body>\n                <Argument>\n                  <Name>Input2</Name>\n                  <DataType>\n                    <Identifier>i=6</Identifier>\n                  </DataType>\n                  <ValueRank>-1</ValueRank>\n                  <ArrayDimensions />\n                </Argument>\n              </Body>\n            </ExtensionObject>\n          </ListOfExtensionObject>\n        </Value>\n      </Value>\n      <DataType>\n        <Identifier>i=296</Identifier>\n      </DataType>\n      <ValueRank>1</ValueRank>\n      <ArrayDimensions>\n        <UInt32>0</UInt32>\n      </ArrayDimensions>\n      <AccessLevel>1</AccessLevel>\n      <UserAccessLevel>1</UserAccessLevel>\n      <MinimumSamplingInterval>0</MinimumSamplingInterval>\n      <Historizing>false</Historizing>\n      <AccessLevelEx>0</AccessLevelEx>\n    </Node>\n    <Node i:type=\"VariableNode\">\n      <NodeId>\n        <Identifier>ns=1;i=411</Identifier>\n      </NodeId>\n      <NodeClass>Variable_2</NodeClass>\n      <BrowseName>\n        <NamespaceIndex>0</NamespaceIndex>\n        <Name>OutputArguments</Name>\n      </BrowseName>\n      <DisplayName>\n        <Locale></Locale>\n        <Text>OutputArguments</Text>\n      </DisplayName>\n      <Description i:nil=\"true\" />\n      <WriteMask>0</WriteMask>\n      <UserWriteMask>0</UserWriteMask>\n      <RolePermissions />\n      <UserRolePermissions />\n      <AccessRestrictions>0</AccessRestrictions>\n      <References>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=46</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>true</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=409</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=40</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>i=68</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=37</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>i=78</Identifier>\n          </TargetId>\n        </ReferenceNode>\n      </References>\n      <Value>\n        <Value>\n          <ListOfExtensionObject xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n            <ExtensionObject>\n              <TypeId>\n                <Identifier>i=297</Identifier>\n              </TypeId>\n              <Body>\n                <Argument>\n                  <Name>Output1</Name>\n                  <DataType>\n                    <Identifier>i=6</Identifier>\n                  </DataType>\n                  <ValueRank>-1</ValueRank>\n                  <ArrayDimensions />\n                </Argument>\n              </Body>\n            </ExtensionObject>\n          </ListOfExtensionObject>\n        </Value>\n      </Value>\n      <DataType>\n        <Identifier>i=296</Identifier>\n      </DataType>\n      <ValueRank>1</ValueRank>\n      <ArrayDimensions>\n        <UInt32>0</UInt32>\n      </ArrayDimensions>\n      <AccessLevel>1</AccessLevel>\n      <UserAccessLevel>1</UserAccessLevel>\n      <MinimumSamplingInterval>0</MinimumSamplingInterval>\n      <Historizing>false</Historizing>\n      <AccessLevelEx>0</AccessLevelEx>\n    </Node>\n    <Node i:type=\"ObjectNode\">\n      <NodeId>\n        <Identifier>ns=1;i=413</Identifier>\n      </NodeId>\n      <NodeClass>Object_1</NodeClass>\n      <BrowseName>\n        <NamespaceIndex>1</NamespaceIndex>\n        <Name>NameNotSet6</Name>\n      </BrowseName>\n      <DisplayName>\n        <Locale></Locale>\n        <Text>NameNotSet6</Text>\n      </DisplayName>\n      <Description i:nil=\"true\" />\n      <WriteMask>0</WriteMask>\n      <UserWriteMask>0</UserWriteMask>\n      <RolePermissions />\n      <UserRolePermissions />\n      <AccessRestrictions>0</AccessRestrictions>\n      <References>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=40</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=310</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=35</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>true</IsInverse>\n          <TargetId>\n            <Identifier>i=85</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=46</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=414</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=46</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=415</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=47</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=416</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=46</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=429</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=46</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=430</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=47</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=431</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=47</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=456</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=47</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=476</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=47</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=477</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=46</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=505</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=47</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=506</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=47</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=512</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=47</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=515</Identifier>\n          </TargetId>\n        </ReferenceNode>\n      </References>\n      <EventNotifier>0</EventNotifier>\n    </Node>\n    <Node i:type=\"VariableNode\">\n      <NodeId>\n        <Identifier>ns=1;i=414</Identifier>\n      </NodeId>\n      <NodeClass>Variable_2</NodeClass>\n      <BrowseName>\n        <NamespaceIndex>0</NamespaceIndex>\n        <Name>ServerArray</Name>\n      </BrowseName>\n      <DisplayName>\n        <Locale></Locale>\n        <Text>ServerArray</Text>\n      </DisplayName>\n      <Description i:nil=\"true\" />\n      <WriteMask>0</WriteMask>\n      <UserWriteMask>0</UserWriteMask>\n      <RolePermissions />\n      <UserRolePermissions />\n      <AccessRestrictions>0</AccessRestrictions>\n      <References>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=46</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>true</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=413</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=40</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>i=68</Identifier>\n          </TargetId>\n        </ReferenceNode>\n      </References>\n      <Value>\n        <Value>\n          <Null xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\" />\n        </Value>\n      </Value>\n      <DataType>\n        <Identifier>i=12</Identifier>\n      </DataType>\n      <ValueRank>1</ValueRank>\n      <ArrayDimensions>\n        <UInt32>0</UInt32>\n      </ArrayDimensions>\n      <AccessLevel>1</AccessLevel>\n      <UserAccessLevel>1</UserAccessLevel>\n      <MinimumSamplingInterval>1000</MinimumSamplingInterval>\n      <Historizing>false</Historizing>\n      <AccessLevelEx>0</AccessLevelEx>\n    </Node>\n    <Node i:type=\"VariableNode\">\n      <NodeId>\n        <Identifier>ns=1;i=415</Identifier>\n      </NodeId>\n      <NodeClass>Variable_2</NodeClass>\n      <BrowseName>\n        <NamespaceIndex>0</NamespaceIndex>\n        <Name>NamespaceArray</Name>\n      </BrowseName>\n      <DisplayName>\n        <Locale></Locale>\n        <Text>NamespaceArray</Text>\n      </DisplayName>\n      <Description i:nil=\"true\" />\n      <WriteMask>0</WriteMask>\n      <UserWriteMask>0</UserWriteMask>\n      <RolePermissions />\n      <UserRolePermissions />\n      <AccessRestrictions>0</AccessRestrictions>\n      <References>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=46</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>true</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=413</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=40</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>i=68</Identifier>\n          </TargetId>\n        </ReferenceNode>\n      </References>\n      <Value>\n        <Value>\n          <Null xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\" />\n        </Value>\n      </Value>\n      <DataType>\n        <Identifier>i=12</Identifier>\n      </DataType>\n      <ValueRank>1</ValueRank>\n      <ArrayDimensions>\n        <UInt32>0</UInt32>\n      </ArrayDimensions>\n      <AccessLevel>1</AccessLevel>\n      <UserAccessLevel>1</UserAccessLevel>\n      <MinimumSamplingInterval>1000</MinimumSamplingInterval>\n      <Historizing>false</Historizing>\n      <AccessLevelEx>0</AccessLevelEx>\n    </Node>\n    <Node i:type=\"VariableNode\">\n      <NodeId>\n        <Identifier>ns=1;i=416</Identifier>\n      </NodeId>\n      <NodeClass>Variable_2</NodeClass>\n      <BrowseName>\n        <NamespaceIndex>0</NamespaceIndex>\n        <Name>ServerStatus</Name>\n      </BrowseName>\n      <DisplayName>\n        <Locale></Locale>\n        <Text>ServerStatus</Text>\n      </DisplayName>\n      <Description i:nil=\"true\" />\n      <WriteMask>0</WriteMask>\n      <UserWriteMask>0</UserWriteMask>\n      <RolePermissions />\n      <UserRolePermissions />\n      <AccessRestrictions>0</AccessRestrictions>\n      <References>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=47</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>true</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=413</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=40</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>i=2138</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=47</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=417</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=47</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=418</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=47</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=419</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=47</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=420</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=47</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=427</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=47</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=428</Identifier>\n          </TargetId>\n        </ReferenceNode>\n      </References>\n      <Value>\n        <Value>\n          <Null xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\" />\n        </Value>\n      </Value>\n      <DataType>\n        <Identifier>i=862</Identifier>\n      </DataType>\n      <ValueRank>-1</ValueRank>\n      <ArrayDimensions />\n      <AccessLevel>1</AccessLevel>\n      <UserAccessLevel>1</UserAccessLevel>\n      <MinimumSamplingInterval>1000</MinimumSamplingInterval>\n      <Historizing>false</Historizing>\n      <AccessLevelEx>0</AccessLevelEx>\n    </Node>\n    <Node i:type=\"VariableNode\">\n      <NodeId>\n        <Identifier>ns=1;i=417</Identifier>\n      </NodeId>\n      <NodeClass>Variable_2</NodeClass>\n      <BrowseName>\n        <NamespaceIndex>0</NamespaceIndex>\n        <Name>StartTime</Name>\n      </BrowseName>\n      <DisplayName>\n        <Locale></Locale>\n        <Text>StartTime</Text>\n      </DisplayName>\n      <Description i:nil=\"true\" />\n      <WriteMask>0</WriteMask>\n      <UserWriteMask>0</UserWriteMask>\n      <RolePermissions />\n      <UserRolePermissions />\n      <AccessRestrictions>0</AccessRestrictions>\n      <References>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=47</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>true</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=416</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=40</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>i=63</Identifier>\n          </TargetId>\n        </ReferenceNode>\n      </References>\n      <Value>\n        <Value>\n          <DateTime xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">0001-01-01T00:00:00</DateTime>\n        </Value>\n      </Value>\n      <DataType>\n        <Identifier>i=294</Identifier>\n      </DataType>\n      <ValueRank>-1</ValueRank>\n      <ArrayDimensions />\n      <AccessLevel>1</AccessLevel>\n      <UserAccessLevel>1</UserAccessLevel>\n      <MinimumSamplingInterval>0</MinimumSamplingInterval>\n      <Historizing>false</Historizing>\n      <AccessLevelEx>0</AccessLevelEx>\n    </Node>\n    <Node i:type=\"VariableNode\">\n      <NodeId>\n        <Identifier>ns=1;i=418</Identifier>\n      </NodeId>\n      <NodeClass>Variable_2</NodeClass>\n      <BrowseName>\n        <NamespaceIndex>0</NamespaceIndex>\n        <Name>CurrentTime</Name>\n      </BrowseName>\n      <DisplayName>\n        <Locale></Locale>\n        <Text>CurrentTime</Text>\n      </DisplayName>\n      <Description i:nil=\"true\" />\n      <WriteMask>0</WriteMask>\n      <UserWriteMask>0</UserWriteMask>\n      <RolePermissions />\n      <UserRolePermissions />\n      <AccessRestrictions>0</AccessRestrictions>\n      <References>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=47</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>true</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=416</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=40</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>i=63</Identifier>\n          </TargetId>\n        </ReferenceNode>\n      </References>\n      <Value>\n        <Value>\n          <DateTime xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">0001-01-01T00:00:00</DateTime>\n        </Value>\n      </Value>\n      <DataType>\n        <Identifier>i=294</Identifier>\n      </DataType>\n      <ValueRank>-1</ValueRank>\n      <ArrayDimensions />\n      <AccessLevel>1</AccessLevel>\n      <UserAccessLevel>1</UserAccessLevel>\n      <MinimumSamplingInterval>0</MinimumSamplingInterval>\n      <Historizing>false</Historizing>\n      <AccessLevelEx>0</AccessLevelEx>\n    </Node>\n    <Node i:type=\"VariableNode\">\n      <NodeId>\n        <Identifier>ns=1;i=419</Identifier>\n      </NodeId>\n      <NodeClass>Variable_2</NodeClass>\n      <BrowseName>\n        <NamespaceIndex>0</NamespaceIndex>\n        <Name>State</Name>\n      </BrowseName>\n      <DisplayName>\n        <Locale></Locale>\n        <Text>State</Text>\n      </DisplayName>\n      <Description i:nil=\"true\" />\n      <WriteMask>0</WriteMask>\n      <UserWriteMask>0</UserWriteMask>\n      <RolePermissions />\n      <UserRolePermissions />\n      <AccessRestrictions>0</AccessRestrictions>\n      <References>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=47</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>true</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=416</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=40</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>i=63</Identifier>\n          </TargetId>\n        </ReferenceNode>\n      </References>\n      <Value>\n        <Value>\n          <Null xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\" />\n        </Value>\n      </Value>\n      <DataType>\n        <Identifier>i=852</Identifier>\n      </DataType>\n      <ValueRank>-1</ValueRank>\n      <ArrayDimensions />\n      <AccessLevel>1</AccessLevel>\n      <UserAccessLevel>1</UserAccessLevel>\n      <MinimumSamplingInterval>0</MinimumSamplingInterval>\n      <Historizing>false</Historizing>\n      <AccessLevelEx>0</AccessLevelEx>\n    </Node>\n    <Node i:type=\"VariableNode\">\n      <NodeId>\n        <Identifier>ns=1;i=420</Identifier>\n      </NodeId>\n      <NodeClass>Variable_2</NodeClass>\n      <BrowseName>\n        <NamespaceIndex>0</NamespaceIndex>\n        <Name>BuildInfo</Name>\n      </BrowseName>\n      <DisplayName>\n        <Locale></Locale>\n        <Text>BuildInfo</Text>\n      </DisplayName>\n      <Description i:nil=\"true\" />\n      <WriteMask>0</WriteMask>\n      <UserWriteMask>0</UserWriteMask>\n      <RolePermissions />\n      <UserRolePermissions />\n      <AccessRestrictions>0</AccessRestrictions>\n      <References>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=47</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>true</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=416</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=40</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>i=3051</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=47</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=421</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=47</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=422</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=47</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=423</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=47</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=424</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=47</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=425</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=47</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=426</Identifier>\n          </TargetId>\n        </ReferenceNode>\n      </References>\n      <Value>\n        <Value>\n          <Null xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\" />\n        </Value>\n      </Value>\n      <DataType>\n        <Identifier>i=338</Identifier>\n      </DataType>\n      <ValueRank>-1</ValueRank>\n      <ArrayDimensions />\n      <AccessLevel>1</AccessLevel>\n      <UserAccessLevel>1</UserAccessLevel>\n      <MinimumSamplingInterval>0</MinimumSamplingInterval>\n      <Historizing>false</Historizing>\n      <AccessLevelEx>0</AccessLevelEx>\n    </Node>\n    <Node i:type=\"VariableNode\">\n      <NodeId>\n        <Identifier>ns=1;i=421</Identifier>\n      </NodeId>\n      <NodeClass>Variable_2</NodeClass>\n      <BrowseName>\n        <NamespaceIndex>0</NamespaceIndex>\n        <Name>ProductUri</Name>\n      </BrowseName>\n      <DisplayName>\n        <Locale></Locale>\n        <Text>ProductUri</Text>\n      </DisplayName>\n      <Description i:nil=\"true\" />\n      <WriteMask>0</WriteMask>\n      <UserWriteMask>0</UserWriteMask>\n      <RolePermissions />\n      <UserRolePermissions />\n      <AccessRestrictions>0</AccessRestrictions>\n      <References>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=47</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>true</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=420</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=40</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>i=63</Identifier>\n          </TargetId>\n        </ReferenceNode>\n      </References>\n      <Value>\n        <Value>\n          <Null xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\" />\n        </Value>\n      </Value>\n      <DataType>\n        <Identifier>i=12</Identifier>\n      </DataType>\n      <ValueRank>-1</ValueRank>\n      <ArrayDimensions />\n      <AccessLevel>1</AccessLevel>\n      <UserAccessLevel>1</UserAccessLevel>\n      <MinimumSamplingInterval>1000</MinimumSamplingInterval>\n      <Historizing>false</Historizing>\n      <AccessLevelEx>0</AccessLevelEx>\n    </Node>\n    <Node i:type=\"VariableNode\">\n      <NodeId>\n        <Identifier>ns=1;i=422</Identifier>\n      </NodeId>\n      <NodeClass>Variable_2</NodeClass>\n      <BrowseName>\n        <NamespaceIndex>0</NamespaceIndex>\n        <Name>ManufacturerName</Name>\n      </BrowseName>\n      <DisplayName>\n        <Locale></Locale>\n        <Text>ManufacturerName</Text>\n      </DisplayName>\n      <Description i:nil=\"true\" />\n      <WriteMask>0</WriteMask>\n      <UserWriteMask>0</UserWriteMask>\n      <RolePermissions />\n      <UserRolePermissions />\n      <AccessRestrictions>0</AccessRestrictions>\n      <References>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=47</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>true</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=420</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=40</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>i=63</Identifier>\n          </TargetId>\n        </ReferenceNode>\n      </References>\n      <Value>\n        <Value>\n          <Null xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\" />\n        </Value>\n      </Value>\n      <DataType>\n        <Identifier>i=12</Identifier>\n      </DataType>\n      <ValueRank>-1</ValueRank>\n      <ArrayDimensions />\n      <AccessLevel>1</AccessLevel>\n      <UserAccessLevel>1</UserAccessLevel>\n      <MinimumSamplingInterval>1000</MinimumSamplingInterval>\n      <Historizing>false</Historizing>\n      <AccessLevelEx>0</AccessLevelEx>\n    </Node>\n    <Node i:type=\"VariableNode\">\n      <NodeId>\n        <Identifier>ns=1;i=423</Identifier>\n      </NodeId>\n      <NodeClass>Variable_2</NodeClass>\n      <BrowseName>\n        <NamespaceIndex>0</NamespaceIndex>\n        <Name>ProductName</Name>\n      </BrowseName>\n      <DisplayName>\n        <Locale></Locale>\n        <Text>ProductName</Text>\n      </DisplayName>\n      <Description i:nil=\"true\" />\n      <WriteMask>0</WriteMask>\n      <UserWriteMask>0</UserWriteMask>\n      <RolePermissions />\n      <UserRolePermissions />\n      <AccessRestrictions>0</AccessRestrictions>\n      <References>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=47</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>true</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=420</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=40</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>i=63</Identifier>\n          </TargetId>\n        </ReferenceNode>\n      </References>\n      <Value>\n        <Value>\n          <Null xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\" />\n        </Value>\n      </Value>\n      <DataType>\n        <Identifier>i=12</Identifier>\n      </DataType>\n      <ValueRank>-1</ValueRank>\n      <ArrayDimensions />\n      <AccessLevel>1</AccessLevel>\n      <UserAccessLevel>1</UserAccessLevel>\n      <MinimumSamplingInterval>1000</MinimumSamplingInterval>\n      <Historizing>false</Historizing>\n      <AccessLevelEx>0</AccessLevelEx>\n    </Node>\n    <Node i:type=\"VariableNode\">\n      <NodeId>\n        <Identifier>ns=1;i=424</Identifier>\n      </NodeId>\n      <NodeClass>Variable_2</NodeClass>\n      <BrowseName>\n        <NamespaceIndex>0</NamespaceIndex>\n        <Name>SoftwareVersion</Name>\n      </BrowseName>\n      <DisplayName>\n        <Locale></Locale>\n        <Text>SoftwareVersion</Text>\n      </DisplayName>\n      <Description i:nil=\"true\" />\n      <WriteMask>0</WriteMask>\n      <UserWriteMask>0</UserWriteMask>\n      <RolePermissions />\n      <UserRolePermissions />\n      <AccessRestrictions>0</AccessRestrictions>\n      <References>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=47</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>true</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=420</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=40</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>i=63</Identifier>\n          </TargetId>\n        </ReferenceNode>\n      </References>\n      <Value>\n        <Value>\n          <Null xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\" />\n        </Value>\n      </Value>\n      <DataType>\n        <Identifier>i=12</Identifier>\n      </DataType>\n      <ValueRank>-1</ValueRank>\n      <ArrayDimensions />\n      <AccessLevel>1</AccessLevel>\n      <UserAccessLevel>1</UserAccessLevel>\n      <MinimumSamplingInterval>1000</MinimumSamplingInterval>\n      <Historizing>false</Historizing>\n      <AccessLevelEx>0</AccessLevelEx>\n    </Node>\n    <Node i:type=\"VariableNode\">\n      <NodeId>\n        <Identifier>ns=1;i=425</Identifier>\n      </NodeId>\n      <NodeClass>Variable_2</NodeClass>\n      <BrowseName>\n        <NamespaceIndex>0</NamespaceIndex>\n        <Name>BuildNumber</Name>\n      </BrowseName>\n      <DisplayName>\n        <Locale></Locale>\n        <Text>BuildNumber</Text>\n      </DisplayName>\n      <Description i:nil=\"true\" />\n      <WriteMask>0</WriteMask>\n      <UserWriteMask>0</UserWriteMask>\n      <RolePermissions />\n      <UserRolePermissions />\n      <AccessRestrictions>0</AccessRestrictions>\n      <References>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=47</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>true</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=420</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=40</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>i=63</Identifier>\n          </TargetId>\n        </ReferenceNode>\n      </References>\n      <Value>\n        <Value>\n          <Null xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\" />\n        </Value>\n      </Value>\n      <DataType>\n        <Identifier>i=12</Identifier>\n      </DataType>\n      <ValueRank>-1</ValueRank>\n      <ArrayDimensions />\n      <AccessLevel>1</AccessLevel>\n      <UserAccessLevel>1</UserAccessLevel>\n      <MinimumSamplingInterval>1000</MinimumSamplingInterval>\n      <Historizing>false</Historizing>\n      <AccessLevelEx>0</AccessLevelEx>\n    </Node>\n    <Node i:type=\"VariableNode\">\n      <NodeId>\n        <Identifier>ns=1;i=426</Identifier>\n      </NodeId>\n      <NodeClass>Variable_2</NodeClass>\n      <BrowseName>\n        <NamespaceIndex>0</NamespaceIndex>\n        <Name>BuildDate</Name>\n      </BrowseName>\n      <DisplayName>\n        <Locale></Locale>\n        <Text>BuildDate</Text>\n      </DisplayName>\n      <Description i:nil=\"true\" />\n      <WriteMask>0</WriteMask>\n      <UserWriteMask>0</UserWriteMask>\n      <RolePermissions />\n      <UserRolePermissions />\n      <AccessRestrictions>0</AccessRestrictions>\n      <References>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=47</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>true</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=420</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=40</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>i=63</Identifier>\n          </TargetId>\n        </ReferenceNode>\n      </References>\n      <Value>\n        <Value>\n          <DateTime xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">0001-01-01T00:00:00</DateTime>\n        </Value>\n      </Value>\n      <DataType>\n        <Identifier>i=294</Identifier>\n      </DataType>\n      <ValueRank>-1</ValueRank>\n      <ArrayDimensions />\n      <AccessLevel>1</AccessLevel>\n      <UserAccessLevel>1</UserAccessLevel>\n      <MinimumSamplingInterval>1000</MinimumSamplingInterval>\n      <Historizing>false</Historizing>\n      <AccessLevelEx>0</AccessLevelEx>\n    </Node>\n    <Node i:type=\"VariableNode\">\n      <NodeId>\n        <Identifier>ns=1;i=427</Identifier>\n      </NodeId>\n      <NodeClass>Variable_2</NodeClass>\n      <BrowseName>\n        <NamespaceIndex>0</NamespaceIndex>\n        <Name>SecondsTillShutdown</Name>\n      </BrowseName>\n      <DisplayName>\n        <Locale></Locale>\n        <Text>SecondsTillShutdown</Text>\n      </DisplayName>\n      <Description i:nil=\"true\" />\n      <WriteMask>0</WriteMask>\n      <UserWriteMask>0</UserWriteMask>\n      <RolePermissions />\n      <UserRolePermissions />\n      <AccessRestrictions>0</AccessRestrictions>\n      <References>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=47</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>true</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=416</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=40</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>i=63</Identifier>\n          </TargetId>\n        </ReferenceNode>\n      </References>\n      <Value>\n        <Value>\n          <UInt32 xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">0</UInt32>\n        </Value>\n      </Value>\n      <DataType>\n        <Identifier>i=7</Identifier>\n      </DataType>\n      <ValueRank>-1</ValueRank>\n      <ArrayDimensions />\n      <AccessLevel>1</AccessLevel>\n      <UserAccessLevel>1</UserAccessLevel>\n      <MinimumSamplingInterval>0</MinimumSamplingInterval>\n      <Historizing>false</Historizing>\n      <AccessLevelEx>0</AccessLevelEx>\n    </Node>\n    <Node i:type=\"VariableNode\">\n      <NodeId>\n        <Identifier>ns=1;i=428</Identifier>\n      </NodeId>\n      <NodeClass>Variable_2</NodeClass>\n      <BrowseName>\n        <NamespaceIndex>0</NamespaceIndex>\n        <Name>ShutdownReason</Name>\n      </BrowseName>\n      <DisplayName>\n        <Locale></Locale>\n        <Text>ShutdownReason</Text>\n      </DisplayName>\n      <Description i:nil=\"true\" />\n      <WriteMask>0</WriteMask>\n      <UserWriteMask>0</UserWriteMask>\n      <RolePermissions />\n      <UserRolePermissions />\n      <AccessRestrictions>0</AccessRestrictions>\n      <References>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=47</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>true</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=416</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=40</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>i=63</Identifier>\n          </TargetId>\n        </ReferenceNode>\n      </References>\n      <Value>\n        <Value>\n          <LocalizedText xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\" />\n        </Value>\n      </Value>\n      <DataType>\n        <Identifier>i=21</Identifier>\n      </DataType>\n      <ValueRank>-1</ValueRank>\n      <ArrayDimensions />\n      <AccessLevel>1</AccessLevel>\n      <UserAccessLevel>1</UserAccessLevel>\n      <MinimumSamplingInterval>0</MinimumSamplingInterval>\n      <Historizing>false</Historizing>\n      <AccessLevelEx>0</AccessLevelEx>\n    </Node>\n    <Node i:type=\"VariableNode\">\n      <NodeId>\n        <Identifier>ns=1;i=429</Identifier>\n      </NodeId>\n      <NodeClass>Variable_2</NodeClass>\n      <BrowseName>\n        <NamespaceIndex>0</NamespaceIndex>\n        <Name>ServiceLevel</Name>\n      </BrowseName>\n      <DisplayName>\n        <Locale></Locale>\n        <Text>ServiceLevel</Text>\n      </DisplayName>\n      <Description i:nil=\"true\" />\n      <WriteMask>0</WriteMask>\n      <UserWriteMask>0</UserWriteMask>\n      <RolePermissions />\n      <UserRolePermissions />\n      <AccessRestrictions>0</AccessRestrictions>\n      <References>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=46</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>true</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=413</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=40</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>i=68</Identifier>\n          </TargetId>\n        </ReferenceNode>\n      </References>\n      <Value>\n        <Value>\n          <Byte xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">0</Byte>\n        </Value>\n      </Value>\n      <DataType>\n        <Identifier>i=3</Identifier>\n      </DataType>\n      <ValueRank>-1</ValueRank>\n      <ArrayDimensions />\n      <AccessLevel>1</AccessLevel>\n      <UserAccessLevel>1</UserAccessLevel>\n      <MinimumSamplingInterval>1000</MinimumSamplingInterval>\n      <Historizing>false</Historizing>\n      <AccessLevelEx>0</AccessLevelEx>\n    </Node>\n    <Node i:type=\"VariableNode\">\n      <NodeId>\n        <Identifier>ns=1;i=430</Identifier>\n      </NodeId>\n      <NodeClass>Variable_2</NodeClass>\n      <BrowseName>\n        <NamespaceIndex>0</NamespaceIndex>\n        <Name>Auditing</Name>\n      </BrowseName>\n      <DisplayName>\n        <Locale></Locale>\n        <Text>Auditing</Text>\n      </DisplayName>\n      <Description i:nil=\"true\" />\n      <WriteMask>0</WriteMask>\n      <UserWriteMask>0</UserWriteMask>\n      <RolePermissions />\n      <UserRolePermissions />\n      <AccessRestrictions>0</AccessRestrictions>\n      <References>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=46</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>true</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=413</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=40</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>i=68</Identifier>\n          </TargetId>\n        </ReferenceNode>\n      </References>\n      <Value>\n        <Value>\n          <Boolean xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">false</Boolean>\n        </Value>\n      </Value>\n      <DataType>\n        <Identifier>i=1</Identifier>\n      </DataType>\n      <ValueRank>-1</ValueRank>\n      <ArrayDimensions />\n      <AccessLevel>1</AccessLevel>\n      <UserAccessLevel>1</UserAccessLevel>\n      <MinimumSamplingInterval>1000</MinimumSamplingInterval>\n      <Historizing>false</Historizing>\n      <AccessLevelEx>0</AccessLevelEx>\n    </Node>\n    <Node i:type=\"ObjectNode\">\n      <NodeId>\n        <Identifier>ns=1;i=431</Identifier>\n      </NodeId>\n      <NodeClass>Object_1</NodeClass>\n      <BrowseName>\n        <NamespaceIndex>0</NamespaceIndex>\n        <Name>ServerCapabilities</Name>\n      </BrowseName>\n      <DisplayName>\n        <Locale></Locale>\n        <Text>ServerCapabilities</Text>\n      </DisplayName>\n      <Description i:nil=\"true\" />\n      <WriteMask>0</WriteMask>\n      <UserWriteMask>0</UserWriteMask>\n      <RolePermissions />\n      <UserRolePermissions />\n      <AccessRestrictions>0</AccessRestrictions>\n      <References>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=47</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>true</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=413</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=40</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>i=2013</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=46</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=432</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=46</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=433</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=46</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=434</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=46</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=435</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=46</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=436</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=46</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=437</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=46</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=438</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=47</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=454</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=47</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=455</Identifier>\n          </TargetId>\n        </ReferenceNode>\n      </References>\n      <EventNotifier>0</EventNotifier>\n    </Node>\n    <Node i:type=\"VariableNode\">\n      <NodeId>\n        <Identifier>ns=1;i=432</Identifier>\n      </NodeId>\n      <NodeClass>Variable_2</NodeClass>\n      <BrowseName>\n        <NamespaceIndex>0</NamespaceIndex>\n        <Name>ServerProfileArray</Name>\n      </BrowseName>\n      <DisplayName>\n        <Locale></Locale>\n        <Text>ServerProfileArray</Text>\n      </DisplayName>\n      <Description i:nil=\"true\" />\n      <WriteMask>0</WriteMask>\n      <UserWriteMask>0</UserWriteMask>\n      <RolePermissions />\n      <UserRolePermissions />\n      <AccessRestrictions>0</AccessRestrictions>\n      <References>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=46</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>true</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=431</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=40</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>i=68</Identifier>\n          </TargetId>\n        </ReferenceNode>\n      </References>\n      <Value>\n        <Value>\n          <Null xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\" />\n        </Value>\n      </Value>\n      <DataType>\n        <Identifier>i=12</Identifier>\n      </DataType>\n      <ValueRank>1</ValueRank>\n      <ArrayDimensions>\n        <UInt32>0</UInt32>\n      </ArrayDimensions>\n      <AccessLevel>1</AccessLevel>\n      <UserAccessLevel>1</UserAccessLevel>\n      <MinimumSamplingInterval>0</MinimumSamplingInterval>\n      <Historizing>false</Historizing>\n      <AccessLevelEx>0</AccessLevelEx>\n    </Node>\n    <Node i:type=\"VariableNode\">\n      <NodeId>\n        <Identifier>ns=1;i=433</Identifier>\n      </NodeId>\n      <NodeClass>Variable_2</NodeClass>\n      <BrowseName>\n        <NamespaceIndex>0</NamespaceIndex>\n        <Name>LocaleIdArray</Name>\n      </BrowseName>\n      <DisplayName>\n        <Locale></Locale>\n        <Text>LocaleIdArray</Text>\n      </DisplayName>\n      <Description i:nil=\"true\" />\n      <WriteMask>0</WriteMask>\n      <UserWriteMask>0</UserWriteMask>\n      <RolePermissions />\n      <UserRolePermissions />\n      <AccessRestrictions>0</AccessRestrictions>\n      <References>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=46</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>true</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=431</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=40</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>i=68</Identifier>\n          </TargetId>\n        </ReferenceNode>\n      </References>\n      <Value>\n        <Value>\n          <Null xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\" />\n        </Value>\n      </Value>\n      <DataType>\n        <Identifier>i=295</Identifier>\n      </DataType>\n      <ValueRank>1</ValueRank>\n      <ArrayDimensions>\n        <UInt32>0</UInt32>\n      </ArrayDimensions>\n      <AccessLevel>1</AccessLevel>\n      <UserAccessLevel>1</UserAccessLevel>\n      <MinimumSamplingInterval>0</MinimumSamplingInterval>\n      <Historizing>false</Historizing>\n      <AccessLevelEx>0</AccessLevelEx>\n    </Node>\n    <Node i:type=\"VariableNode\">\n      <NodeId>\n        <Identifier>ns=1;i=434</Identifier>\n      </NodeId>\n      <NodeClass>Variable_2</NodeClass>\n      <BrowseName>\n        <NamespaceIndex>0</NamespaceIndex>\n        <Name>MinSupportedSampleRate</Name>\n      </BrowseName>\n      <DisplayName>\n        <Locale></Locale>\n        <Text>MinSupportedSampleRate</Text>\n      </DisplayName>\n      <Description i:nil=\"true\" />\n      <WriteMask>0</WriteMask>\n      <UserWriteMask>0</UserWriteMask>\n      <RolePermissions />\n      <UserRolePermissions />\n      <AccessRestrictions>0</AccessRestrictions>\n      <References>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=46</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>true</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=431</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=40</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>i=68</Identifier>\n          </TargetId>\n        </ReferenceNode>\n      </References>\n      <Value>\n        <Value>\n          <Double xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">0</Double>\n        </Value>\n      </Value>\n      <DataType>\n        <Identifier>i=290</Identifier>\n      </DataType>\n      <ValueRank>-1</ValueRank>\n      <ArrayDimensions />\n      <AccessLevel>1</AccessLevel>\n      <UserAccessLevel>1</UserAccessLevel>\n      <MinimumSamplingInterval>0</MinimumSamplingInterval>\n      <Historizing>false</Historizing>\n      <AccessLevelEx>0</AccessLevelEx>\n    </Node>\n    <Node i:type=\"VariableNode\">\n      <NodeId>\n        <Identifier>ns=1;i=435</Identifier>\n      </NodeId>\n      <NodeClass>Variable_2</NodeClass>\n      <BrowseName>\n        <NamespaceIndex>0</NamespaceIndex>\n        <Name>MaxBrowseContinuationPoints</Name>\n      </BrowseName>\n      <DisplayName>\n        <Locale></Locale>\n        <Text>MaxBrowseContinuationPoints</Text>\n      </DisplayName>\n      <Description i:nil=\"true\" />\n      <WriteMask>0</WriteMask>\n      <UserWriteMask>0</UserWriteMask>\n      <RolePermissions />\n      <UserRolePermissions />\n      <AccessRestrictions>0</AccessRestrictions>\n      <References>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=46</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>true</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=431</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=40</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>i=68</Identifier>\n          </TargetId>\n        </ReferenceNode>\n      </References>\n      <Value>\n        <Value>\n          <UInt16 xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">0</UInt16>\n        </Value>\n      </Value>\n      <DataType>\n        <Identifier>i=5</Identifier>\n      </DataType>\n      <ValueRank>-1</ValueRank>\n      <ArrayDimensions />\n      <AccessLevel>1</AccessLevel>\n      <UserAccessLevel>1</UserAccessLevel>\n      <MinimumSamplingInterval>0</MinimumSamplingInterval>\n      <Historizing>false</Historizing>\n      <AccessLevelEx>0</AccessLevelEx>\n    </Node>\n    <Node i:type=\"VariableNode\">\n      <NodeId>\n        <Identifier>ns=1;i=436</Identifier>\n      </NodeId>\n      <NodeClass>Variable_2</NodeClass>\n      <BrowseName>\n        <NamespaceIndex>0</NamespaceIndex>\n        <Name>MaxQueryContinuationPoints</Name>\n      </BrowseName>\n      <DisplayName>\n        <Locale></Locale>\n        <Text>MaxQueryContinuationPoints</Text>\n      </DisplayName>\n      <Description i:nil=\"true\" />\n      <WriteMask>0</WriteMask>\n      <UserWriteMask>0</UserWriteMask>\n      <RolePermissions />\n      <UserRolePermissions />\n      <AccessRestrictions>0</AccessRestrictions>\n      <References>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=46</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>true</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=431</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=40</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>i=68</Identifier>\n          </TargetId>\n        </ReferenceNode>\n      </References>\n      <Value>\n        <Value>\n          <UInt16 xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">0</UInt16>\n        </Value>\n      </Value>\n      <DataType>\n        <Identifier>i=5</Identifier>\n      </DataType>\n      <ValueRank>-1</ValueRank>\n      <ArrayDimensions />\n      <AccessLevel>1</AccessLevel>\n      <UserAccessLevel>1</UserAccessLevel>\n      <MinimumSamplingInterval>0</MinimumSamplingInterval>\n      <Historizing>false</Historizing>\n      <AccessLevelEx>0</AccessLevelEx>\n    </Node>\n    <Node i:type=\"VariableNode\">\n      <NodeId>\n        <Identifier>ns=1;i=437</Identifier>\n      </NodeId>\n      <NodeClass>Variable_2</NodeClass>\n      <BrowseName>\n        <NamespaceIndex>0</NamespaceIndex>\n        <Name>MaxHistoryContinuationPoints</Name>\n      </BrowseName>\n      <DisplayName>\n        <Locale></Locale>\n        <Text>MaxHistoryContinuationPoints</Text>\n      </DisplayName>\n      <Description i:nil=\"true\" />\n      <WriteMask>0</WriteMask>\n      <UserWriteMask>0</UserWriteMask>\n      <RolePermissions />\n      <UserRolePermissions />\n      <AccessRestrictions>0</AccessRestrictions>\n      <References>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=46</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>true</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=431</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=40</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>i=68</Identifier>\n          </TargetId>\n        </ReferenceNode>\n      </References>\n      <Value>\n        <Value>\n          <UInt16 xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">0</UInt16>\n        </Value>\n      </Value>\n      <DataType>\n        <Identifier>i=5</Identifier>\n      </DataType>\n      <ValueRank>-1</ValueRank>\n      <ArrayDimensions />\n      <AccessLevel>1</AccessLevel>\n      <UserAccessLevel>1</UserAccessLevel>\n      <MinimumSamplingInterval>0</MinimumSamplingInterval>\n      <Historizing>false</Historizing>\n      <AccessLevelEx>0</AccessLevelEx>\n    </Node>\n    <Node i:type=\"VariableNode\">\n      <NodeId>\n        <Identifier>ns=1;i=438</Identifier>\n      </NodeId>\n      <NodeClass>Variable_2</NodeClass>\n      <BrowseName>\n        <NamespaceIndex>0</NamespaceIndex>\n        <Name>SoftwareCertificates</Name>\n      </BrowseName>\n      <DisplayName>\n        <Locale></Locale>\n        <Text>SoftwareCertificates</Text>\n      </DisplayName>\n      <Description i:nil=\"true\" />\n      <WriteMask>0</WriteMask>\n      <UserWriteMask>0</UserWriteMask>\n      <RolePermissions />\n      <UserRolePermissions />\n      <AccessRestrictions>0</AccessRestrictions>\n      <References>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=46</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>true</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=431</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=40</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>i=68</Identifier>\n          </TargetId>\n        </ReferenceNode>\n      </References>\n      <Value>\n        <Value>\n          <Null xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\" />\n        </Value>\n      </Value>\n      <DataType>\n        <Identifier>i=344</Identifier>\n      </DataType>\n      <ValueRank>1</ValueRank>\n      <ArrayDimensions>\n        <UInt32>0</UInt32>\n      </ArrayDimensions>\n      <AccessLevel>1</AccessLevel>\n      <UserAccessLevel>1</UserAccessLevel>\n      <MinimumSamplingInterval>0</MinimumSamplingInterval>\n      <Historizing>false</Historizing>\n      <AccessLevelEx>0</AccessLevelEx>\n    </Node>\n    <Node i:type=\"ObjectNode\">\n      <NodeId>\n        <Identifier>ns=1;i=454</Identifier>\n      </NodeId>\n      <NodeClass>Object_1</NodeClass>\n      <BrowseName>\n        <NamespaceIndex>0</NamespaceIndex>\n        <Name>ModellingRules</Name>\n      </BrowseName>\n      <DisplayName>\n        <Locale></Locale>\n        <Text>ModellingRules</Text>\n      </DisplayName>\n      <Description i:nil=\"true\" />\n      <WriteMask>0</WriteMask>\n      <UserWriteMask>0</UserWriteMask>\n      <RolePermissions />\n      <UserRolePermissions />\n      <AccessRestrictions>0</AccessRestrictions>\n      <References>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=47</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>true</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=431</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=40</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>i=61</Identifier>\n          </TargetId>\n        </ReferenceNode>\n      </References>\n      <EventNotifier>0</EventNotifier>\n    </Node>\n    <Node i:type=\"ObjectNode\">\n      <NodeId>\n        <Identifier>ns=1;i=455</Identifier>\n      </NodeId>\n      <NodeClass>Object_1</NodeClass>\n      <BrowseName>\n        <NamespaceIndex>0</NamespaceIndex>\n        <Name>AggregateFunctions</Name>\n      </BrowseName>\n      <DisplayName>\n        <Locale></Locale>\n        <Text>AggregateFunctions</Text>\n      </DisplayName>\n      <Description i:nil=\"true\" />\n      <WriteMask>0</WriteMask>\n      <UserWriteMask>0</UserWriteMask>\n      <RolePermissions />\n      <UserRolePermissions />\n      <AccessRestrictions>0</AccessRestrictions>\n      <References>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=47</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>true</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=431</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=40</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>i=61</Identifier>\n          </TargetId>\n        </ReferenceNode>\n      </References>\n      <EventNotifier>0</EventNotifier>\n    </Node>\n    <Node i:type=\"ObjectNode\">\n      <NodeId>\n        <Identifier>ns=1;i=456</Identifier>\n      </NodeId>\n      <NodeClass>Object_1</NodeClass>\n      <BrowseName>\n        <NamespaceIndex>0</NamespaceIndex>\n        <Name>ServerDiagnostics</Name>\n      </BrowseName>\n      <DisplayName>\n        <Locale></Locale>\n        <Text>ServerDiagnostics</Text>\n      </DisplayName>\n      <Description i:nil=\"true\" />\n      <WriteMask>0</WriteMask>\n      <UserWriteMask>0</UserWriteMask>\n      <RolePermissions />\n      <UserRolePermissions />\n      <AccessRestrictions>0</AccessRestrictions>\n      <References>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=47</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>true</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=413</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=40</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>i=2020</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=47</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=457</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=47</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=471</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=47</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=472</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=46</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=475</Identifier>\n          </TargetId>\n        </ReferenceNode>\n      </References>\n      <EventNotifier>0</EventNotifier>\n    </Node>\n    <Node i:type=\"VariableNode\">\n      <NodeId>\n        <Identifier>ns=1;i=457</Identifier>\n      </NodeId>\n      <NodeClass>Variable_2</NodeClass>\n      <BrowseName>\n        <NamespaceIndex>0</NamespaceIndex>\n        <Name>ServerDiagnosticsSummary</Name>\n      </BrowseName>\n      <DisplayName>\n        <Locale></Locale>\n        <Text>ServerDiagnosticsSummary</Text>\n      </DisplayName>\n      <Description i:nil=\"true\" />\n      <WriteMask>0</WriteMask>\n      <UserWriteMask>0</UserWriteMask>\n      <RolePermissions />\n      <UserRolePermissions />\n      <AccessRestrictions>0</AccessRestrictions>\n      <References>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=47</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>true</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=456</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=40</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>i=2150</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=47</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=458</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=47</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=459</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=47</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=460</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=47</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=461</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=47</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=462</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=47</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=463</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=47</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=464</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=47</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=465</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=47</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=466</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=47</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=467</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=47</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=468</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=47</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=469</Identifier>\n          </TargetId>\n        </ReferenceNode>\n      </References>\n      <Value>\n        <Value>\n          <Null xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\" />\n        </Value>\n      </Value>\n      <DataType>\n        <Identifier>i=859</Identifier>\n      </DataType>\n      <ValueRank>-1</ValueRank>\n      <ArrayDimensions />\n      <AccessLevel>1</AccessLevel>\n      <UserAccessLevel>1</UserAccessLevel>\n      <MinimumSamplingInterval>0</MinimumSamplingInterval>\n      <Historizing>false</Historizing>\n      <AccessLevelEx>0</AccessLevelEx>\n    </Node>\n    <Node i:type=\"VariableNode\">\n      <NodeId>\n        <Identifier>ns=1;i=458</Identifier>\n      </NodeId>\n      <NodeClass>Variable_2</NodeClass>\n      <BrowseName>\n        <NamespaceIndex>0</NamespaceIndex>\n        <Name>ServerViewCount</Name>\n      </BrowseName>\n      <DisplayName>\n        <Locale></Locale>\n        <Text>ServerViewCount</Text>\n      </DisplayName>\n      <Description i:nil=\"true\" />\n      <WriteMask>0</WriteMask>\n      <UserWriteMask>0</UserWriteMask>\n      <RolePermissions />\n      <UserRolePermissions />\n      <AccessRestrictions>0</AccessRestrictions>\n      <References>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=47</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>true</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=457</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=40</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>i=63</Identifier>\n          </TargetId>\n        </ReferenceNode>\n      </References>\n      <Value>\n        <Value>\n          <UInt32 xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">0</UInt32>\n        </Value>\n      </Value>\n      <DataType>\n        <Identifier>i=7</Identifier>\n      </DataType>\n      <ValueRank>-1</ValueRank>\n      <ArrayDimensions />\n      <AccessLevel>1</AccessLevel>\n      <UserAccessLevel>1</UserAccessLevel>\n      <MinimumSamplingInterval>0</MinimumSamplingInterval>\n      <Historizing>false</Historizing>\n      <AccessLevelEx>0</AccessLevelEx>\n    </Node>\n    <Node i:type=\"VariableNode\">\n      <NodeId>\n        <Identifier>ns=1;i=459</Identifier>\n      </NodeId>\n      <NodeClass>Variable_2</NodeClass>\n      <BrowseName>\n        <NamespaceIndex>0</NamespaceIndex>\n        <Name>CurrentSessionCount</Name>\n      </BrowseName>\n      <DisplayName>\n        <Locale></Locale>\n        <Text>CurrentSessionCount</Text>\n      </DisplayName>\n      <Description i:nil=\"true\" />\n      <WriteMask>0</WriteMask>\n      <UserWriteMask>0</UserWriteMask>\n      <RolePermissions />\n      <UserRolePermissions />\n      <AccessRestrictions>0</AccessRestrictions>\n      <References>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=47</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>true</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=457</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=40</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>i=63</Identifier>\n          </TargetId>\n        </ReferenceNode>\n      </References>\n      <Value>\n        <Value>\n          <UInt32 xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">0</UInt32>\n        </Value>\n      </Value>\n      <DataType>\n        <Identifier>i=7</Identifier>\n      </DataType>\n      <ValueRank>-1</ValueRank>\n      <ArrayDimensions />\n      <AccessLevel>1</AccessLevel>\n      <UserAccessLevel>1</UserAccessLevel>\n      <MinimumSamplingInterval>0</MinimumSamplingInterval>\n      <Historizing>false</Historizing>\n      <AccessLevelEx>0</AccessLevelEx>\n    </Node>\n    <Node i:type=\"VariableNode\">\n      <NodeId>\n        <Identifier>ns=1;i=460</Identifier>\n      </NodeId>\n      <NodeClass>Variable_2</NodeClass>\n      <BrowseName>\n        <NamespaceIndex>0</NamespaceIndex>\n        <Name>CumulatedSessionCount</Name>\n      </BrowseName>\n      <DisplayName>\n        <Locale></Locale>\n        <Text>CumulatedSessionCount</Text>\n      </DisplayName>\n      <Description i:nil=\"true\" />\n      <WriteMask>0</WriteMask>\n      <UserWriteMask>0</UserWriteMask>\n      <RolePermissions />\n      <UserRolePermissions />\n      <AccessRestrictions>0</AccessRestrictions>\n      <References>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=47</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>true</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=457</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=40</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>i=63</Identifier>\n          </TargetId>\n        </ReferenceNode>\n      </References>\n      <Value>\n        <Value>\n          <UInt32 xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">0</UInt32>\n        </Value>\n      </Value>\n      <DataType>\n        <Identifier>i=7</Identifier>\n      </DataType>\n      <ValueRank>-1</ValueRank>\n      <ArrayDimensions />\n      <AccessLevel>1</AccessLevel>\n      <UserAccessLevel>1</UserAccessLevel>\n      <MinimumSamplingInterval>0</MinimumSamplingInterval>\n      <Historizing>false</Historizing>\n      <AccessLevelEx>0</AccessLevelEx>\n    </Node>\n    <Node i:type=\"VariableNode\">\n      <NodeId>\n        <Identifier>ns=1;i=461</Identifier>\n      </NodeId>\n      <NodeClass>Variable_2</NodeClass>\n      <BrowseName>\n        <NamespaceIndex>0</NamespaceIndex>\n        <Name>SecurityRejectedSessionCount</Name>\n      </BrowseName>\n      <DisplayName>\n        <Locale></Locale>\n        <Text>SecurityRejectedSessionCount</Text>\n      </DisplayName>\n      <Description i:nil=\"true\" />\n      <WriteMask>0</WriteMask>\n      <UserWriteMask>0</UserWriteMask>\n      <RolePermissions />\n      <UserRolePermissions />\n      <AccessRestrictions>0</AccessRestrictions>\n      <References>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=47</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>true</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=457</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=40</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>i=63</Identifier>\n          </TargetId>\n        </ReferenceNode>\n      </References>\n      <Value>\n        <Value>\n          <UInt32 xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">0</UInt32>\n        </Value>\n      </Value>\n      <DataType>\n        <Identifier>i=7</Identifier>\n      </DataType>\n      <ValueRank>-1</ValueRank>\n      <ArrayDimensions />\n      <AccessLevel>1</AccessLevel>\n      <UserAccessLevel>1</UserAccessLevel>\n      <MinimumSamplingInterval>0</MinimumSamplingInterval>\n      <Historizing>false</Historizing>\n      <AccessLevelEx>0</AccessLevelEx>\n    </Node>\n    <Node i:type=\"VariableNode\">\n      <NodeId>\n        <Identifier>ns=1;i=462</Identifier>\n      </NodeId>\n      <NodeClass>Variable_2</NodeClass>\n      <BrowseName>\n        <NamespaceIndex>0</NamespaceIndex>\n        <Name>RejectedSessionCount</Name>\n      </BrowseName>\n      <DisplayName>\n        <Locale></Locale>\n        <Text>RejectedSessionCount</Text>\n      </DisplayName>\n      <Description i:nil=\"true\" />\n      <WriteMask>0</WriteMask>\n      <UserWriteMask>0</UserWriteMask>\n      <RolePermissions />\n      <UserRolePermissions />\n      <AccessRestrictions>0</AccessRestrictions>\n      <References>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=47</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>true</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=457</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=40</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>i=63</Identifier>\n          </TargetId>\n        </ReferenceNode>\n      </References>\n      <Value>\n        <Value>\n          <UInt32 xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">0</UInt32>\n        </Value>\n      </Value>\n      <DataType>\n        <Identifier>i=7</Identifier>\n      </DataType>\n      <ValueRank>-1</ValueRank>\n      <ArrayDimensions />\n      <AccessLevel>1</AccessLevel>\n      <UserAccessLevel>1</UserAccessLevel>\n      <MinimumSamplingInterval>0</MinimumSamplingInterval>\n      <Historizing>false</Historizing>\n      <AccessLevelEx>0</AccessLevelEx>\n    </Node>\n    <Node i:type=\"VariableNode\">\n      <NodeId>\n        <Identifier>ns=1;i=463</Identifier>\n      </NodeId>\n      <NodeClass>Variable_2</NodeClass>\n      <BrowseName>\n        <NamespaceIndex>0</NamespaceIndex>\n        <Name>SessionTimeoutCount</Name>\n      </BrowseName>\n      <DisplayName>\n        <Locale></Locale>\n        <Text>SessionTimeoutCount</Text>\n      </DisplayName>\n      <Description i:nil=\"true\" />\n      <WriteMask>0</WriteMask>\n      <UserWriteMask>0</UserWriteMask>\n      <RolePermissions />\n      <UserRolePermissions />\n      <AccessRestrictions>0</AccessRestrictions>\n      <References>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=47</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>true</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=457</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=40</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>i=63</Identifier>\n          </TargetId>\n        </ReferenceNode>\n      </References>\n      <Value>\n        <Value>\n          <UInt32 xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">0</UInt32>\n        </Value>\n      </Value>\n      <DataType>\n        <Identifier>i=7</Identifier>\n      </DataType>\n      <ValueRank>-1</ValueRank>\n      <ArrayDimensions />\n      <AccessLevel>1</AccessLevel>\n      <UserAccessLevel>1</UserAccessLevel>\n      <MinimumSamplingInterval>0</MinimumSamplingInterval>\n      <Historizing>false</Historizing>\n      <AccessLevelEx>0</AccessLevelEx>\n    </Node>\n    <Node i:type=\"VariableNode\">\n      <NodeId>\n        <Identifier>ns=1;i=464</Identifier>\n      </NodeId>\n      <NodeClass>Variable_2</NodeClass>\n      <BrowseName>\n        <NamespaceIndex>0</NamespaceIndex>\n        <Name>SessionAbortCount</Name>\n      </BrowseName>\n      <DisplayName>\n        <Locale></Locale>\n        <Text>SessionAbortCount</Text>\n      </DisplayName>\n      <Description i:nil=\"true\" />\n      <WriteMask>0</WriteMask>\n      <UserWriteMask>0</UserWriteMask>\n      <RolePermissions />\n      <UserRolePermissions />\n      <AccessRestrictions>0</AccessRestrictions>\n      <References>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=47</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>true</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=457</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=40</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>i=63</Identifier>\n          </TargetId>\n        </ReferenceNode>\n      </References>\n      <Value>\n        <Value>\n          <UInt32 xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">0</UInt32>\n        </Value>\n      </Value>\n      <DataType>\n        <Identifier>i=7</Identifier>\n      </DataType>\n      <ValueRank>-1</ValueRank>\n      <ArrayDimensions />\n      <AccessLevel>1</AccessLevel>\n      <UserAccessLevel>1</UserAccessLevel>\n      <MinimumSamplingInterval>0</MinimumSamplingInterval>\n      <Historizing>false</Historizing>\n      <AccessLevelEx>0</AccessLevelEx>\n    </Node>\n    <Node i:type=\"VariableNode\">\n      <NodeId>\n        <Identifier>ns=1;i=465</Identifier>\n      </NodeId>\n      <NodeClass>Variable_2</NodeClass>\n      <BrowseName>\n        <NamespaceIndex>0</NamespaceIndex>\n        <Name>PublishingIntervalCount</Name>\n      </BrowseName>\n      <DisplayName>\n        <Locale></Locale>\n        <Text>PublishingIntervalCount</Text>\n      </DisplayName>\n      <Description i:nil=\"true\" />\n      <WriteMask>0</WriteMask>\n      <UserWriteMask>0</UserWriteMask>\n      <RolePermissions />\n      <UserRolePermissions />\n      <AccessRestrictions>0</AccessRestrictions>\n      <References>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=47</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>true</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=457</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=40</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>i=63</Identifier>\n          </TargetId>\n        </ReferenceNode>\n      </References>\n      <Value>\n        <Value>\n          <UInt32 xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">0</UInt32>\n        </Value>\n      </Value>\n      <DataType>\n        <Identifier>i=7</Identifier>\n      </DataType>\n      <ValueRank>-1</ValueRank>\n      <ArrayDimensions />\n      <AccessLevel>1</AccessLevel>\n      <UserAccessLevel>1</UserAccessLevel>\n      <MinimumSamplingInterval>0</MinimumSamplingInterval>\n      <Historizing>false</Historizing>\n      <AccessLevelEx>0</AccessLevelEx>\n    </Node>\n    <Node i:type=\"VariableNode\">\n      <NodeId>\n        <Identifier>ns=1;i=466</Identifier>\n      </NodeId>\n      <NodeClass>Variable_2</NodeClass>\n      <BrowseName>\n        <NamespaceIndex>0</NamespaceIndex>\n        <Name>CurrentSubscriptionCount</Name>\n      </BrowseName>\n      <DisplayName>\n        <Locale></Locale>\n        <Text>CurrentSubscriptionCount</Text>\n      </DisplayName>\n      <Description i:nil=\"true\" />\n      <WriteMask>0</WriteMask>\n      <UserWriteMask>0</UserWriteMask>\n      <RolePermissions />\n      <UserRolePermissions />\n      <AccessRestrictions>0</AccessRestrictions>\n      <References>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=47</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>true</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=457</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=40</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>i=63</Identifier>\n          </TargetId>\n        </ReferenceNode>\n      </References>\n      <Value>\n        <Value>\n          <UInt32 xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">0</UInt32>\n        </Value>\n      </Value>\n      <DataType>\n        <Identifier>i=7</Identifier>\n      </DataType>\n      <ValueRank>-1</ValueRank>\n      <ArrayDimensions />\n      <AccessLevel>1</AccessLevel>\n      <UserAccessLevel>1</UserAccessLevel>\n      <MinimumSamplingInterval>0</MinimumSamplingInterval>\n      <Historizing>false</Historizing>\n      <AccessLevelEx>0</AccessLevelEx>\n    </Node>\n    <Node i:type=\"VariableNode\">\n      <NodeId>\n        <Identifier>ns=1;i=467</Identifier>\n      </NodeId>\n      <NodeClass>Variable_2</NodeClass>\n      <BrowseName>\n        <NamespaceIndex>0</NamespaceIndex>\n        <Name>CumulatedSubscriptionCount</Name>\n      </BrowseName>\n      <DisplayName>\n        <Locale></Locale>\n        <Text>CumulatedSubscriptionCount</Text>\n      </DisplayName>\n      <Description i:nil=\"true\" />\n      <WriteMask>0</WriteMask>\n      <UserWriteMask>0</UserWriteMask>\n      <RolePermissions />\n      <UserRolePermissions />\n      <AccessRestrictions>0</AccessRestrictions>\n      <References>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=47</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>true</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=457</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=40</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>i=63</Identifier>\n          </TargetId>\n        </ReferenceNode>\n      </References>\n      <Value>\n        <Value>\n          <UInt32 xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">0</UInt32>\n        </Value>\n      </Value>\n      <DataType>\n        <Identifier>i=7</Identifier>\n      </DataType>\n      <ValueRank>-1</ValueRank>\n      <ArrayDimensions />\n      <AccessLevel>1</AccessLevel>\n      <UserAccessLevel>1</UserAccessLevel>\n      <MinimumSamplingInterval>0</MinimumSamplingInterval>\n      <Historizing>false</Historizing>\n      <AccessLevelEx>0</AccessLevelEx>\n    </Node>\n    <Node i:type=\"VariableNode\">\n      <NodeId>\n        <Identifier>ns=1;i=468</Identifier>\n      </NodeId>\n      <NodeClass>Variable_2</NodeClass>\n      <BrowseName>\n        <NamespaceIndex>0</NamespaceIndex>\n        <Name>SecurityRejectedRequestsCount</Name>\n      </BrowseName>\n      <DisplayName>\n        <Locale></Locale>\n        <Text>SecurityRejectedRequestsCount</Text>\n      </DisplayName>\n      <Description i:nil=\"true\" />\n      <WriteMask>0</WriteMask>\n      <UserWriteMask>0</UserWriteMask>\n      <RolePermissions />\n      <UserRolePermissions />\n      <AccessRestrictions>0</AccessRestrictions>\n      <References>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=47</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>true</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=457</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=40</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>i=63</Identifier>\n          </TargetId>\n        </ReferenceNode>\n      </References>\n      <Value>\n        <Value>\n          <UInt32 xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">0</UInt32>\n        </Value>\n      </Value>\n      <DataType>\n        <Identifier>i=7</Identifier>\n      </DataType>\n      <ValueRank>-1</ValueRank>\n      <ArrayDimensions />\n      <AccessLevel>1</AccessLevel>\n      <UserAccessLevel>1</UserAccessLevel>\n      <MinimumSamplingInterval>0</MinimumSamplingInterval>\n      <Historizing>false</Historizing>\n      <AccessLevelEx>0</AccessLevelEx>\n    </Node>\n    <Node i:type=\"VariableNode\">\n      <NodeId>\n        <Identifier>ns=1;i=469</Identifier>\n      </NodeId>\n      <NodeClass>Variable_2</NodeClass>\n      <BrowseName>\n        <NamespaceIndex>0</NamespaceIndex>\n        <Name>RejectedRequestsCount</Name>\n      </BrowseName>\n      <DisplayName>\n        <Locale></Locale>\n        <Text>RejectedRequestsCount</Text>\n      </DisplayName>\n      <Description i:nil=\"true\" />\n      <WriteMask>0</WriteMask>\n      <UserWriteMask>0</UserWriteMask>\n      <RolePermissions />\n      <UserRolePermissions />\n      <AccessRestrictions>0</AccessRestrictions>\n      <References>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=47</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>true</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=457</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=40</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>i=63</Identifier>\n          </TargetId>\n        </ReferenceNode>\n      </References>\n      <Value>\n        <Value>\n          <UInt32 xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">0</UInt32>\n        </Value>\n      </Value>\n      <DataType>\n        <Identifier>i=7</Identifier>\n      </DataType>\n      <ValueRank>-1</ValueRank>\n      <ArrayDimensions />\n      <AccessLevel>1</AccessLevel>\n      <UserAccessLevel>1</UserAccessLevel>\n      <MinimumSamplingInterval>0</MinimumSamplingInterval>\n      <Historizing>false</Historizing>\n      <AccessLevelEx>0</AccessLevelEx>\n    </Node>\n    <Node i:type=\"VariableNode\">\n      <NodeId>\n        <Identifier>ns=1;i=471</Identifier>\n      </NodeId>\n      <NodeClass>Variable_2</NodeClass>\n      <BrowseName>\n        <NamespaceIndex>0</NamespaceIndex>\n        <Name>SubscriptionDiagnosticsArray</Name>\n      </BrowseName>\n      <DisplayName>\n        <Locale></Locale>\n        <Text>SubscriptionDiagnosticsArray</Text>\n      </DisplayName>\n      <Description i:nil=\"true\" />\n      <WriteMask>0</WriteMask>\n      <UserWriteMask>0</UserWriteMask>\n      <RolePermissions />\n      <UserRolePermissions />\n      <AccessRestrictions>0</AccessRestrictions>\n      <References>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=47</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>true</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=456</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=40</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>i=2171</Identifier>\n          </TargetId>\n        </ReferenceNode>\n      </References>\n      <Value>\n        <Value>\n          <Null xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\" />\n        </Value>\n      </Value>\n      <DataType>\n        <Identifier>i=874</Identifier>\n      </DataType>\n      <ValueRank>1</ValueRank>\n      <ArrayDimensions>\n        <UInt32>0</UInt32>\n      </ArrayDimensions>\n      <AccessLevel>1</AccessLevel>\n      <UserAccessLevel>1</UserAccessLevel>\n      <MinimumSamplingInterval>0</MinimumSamplingInterval>\n      <Historizing>false</Historizing>\n      <AccessLevelEx>0</AccessLevelEx>\n    </Node>\n    <Node i:type=\"ObjectNode\">\n      <NodeId>\n        <Identifier>ns=1;i=472</Identifier>\n      </NodeId>\n      <NodeClass>Object_1</NodeClass>\n      <BrowseName>\n        <NamespaceIndex>0</NamespaceIndex>\n        <Name>SessionsDiagnosticsSummary</Name>\n      </BrowseName>\n      <DisplayName>\n        <Locale></Locale>\n        <Text>SessionsDiagnosticsSummary</Text>\n      </DisplayName>\n      <Description i:nil=\"true\" />\n      <WriteMask>0</WriteMask>\n      <UserWriteMask>0</UserWriteMask>\n      <RolePermissions />\n      <UserRolePermissions />\n      <AccessRestrictions>0</AccessRestrictions>\n      <References>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=47</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>true</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=456</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=40</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>i=2026</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=47</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=473</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=47</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=474</Identifier>\n          </TargetId>\n        </ReferenceNode>\n      </References>\n      <EventNotifier>0</EventNotifier>\n    </Node>\n    <Node i:type=\"VariableNode\">\n      <NodeId>\n        <Identifier>ns=1;i=473</Identifier>\n      </NodeId>\n      <NodeClass>Variable_2</NodeClass>\n      <BrowseName>\n        <NamespaceIndex>0</NamespaceIndex>\n        <Name>SessionDiagnosticsArray</Name>\n      </BrowseName>\n      <DisplayName>\n        <Locale></Locale>\n        <Text>SessionDiagnosticsArray</Text>\n      </DisplayName>\n      <Description i:nil=\"true\" />\n      <WriteMask>0</WriteMask>\n      <UserWriteMask>0</UserWriteMask>\n      <RolePermissions />\n      <UserRolePermissions />\n      <AccessRestrictions>0</AccessRestrictions>\n      <References>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=47</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>true</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=472</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=40</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>i=2196</Identifier>\n          </TargetId>\n        </ReferenceNode>\n      </References>\n      <Value>\n        <Value>\n          <Null xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\" />\n        </Value>\n      </Value>\n      <DataType>\n        <Identifier>i=865</Identifier>\n      </DataType>\n      <ValueRank>1</ValueRank>\n      <ArrayDimensions>\n        <UInt32>0</UInt32>\n      </ArrayDimensions>\n      <AccessLevel>1</AccessLevel>\n      <UserAccessLevel>1</UserAccessLevel>\n      <MinimumSamplingInterval>0</MinimumSamplingInterval>\n      <Historizing>false</Historizing>\n      <AccessLevelEx>0</AccessLevelEx>\n    </Node>\n    <Node i:type=\"VariableNode\">\n      <NodeId>\n        <Identifier>ns=1;i=474</Identifier>\n      </NodeId>\n      <NodeClass>Variable_2</NodeClass>\n      <BrowseName>\n        <NamespaceIndex>0</NamespaceIndex>\n        <Name>SessionSecurityDiagnosticsArray</Name>\n      </BrowseName>\n      <DisplayName>\n        <Locale></Locale>\n        <Text>SessionSecurityDiagnosticsArray</Text>\n      </DisplayName>\n      <Description i:nil=\"true\" />\n      <WriteMask>0</WriteMask>\n      <UserWriteMask>0</UserWriteMask>\n      <RolePermissions />\n      <UserRolePermissions />\n      <AccessRestrictions>0</AccessRestrictions>\n      <References>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=47</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>true</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=472</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=40</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>i=2243</Identifier>\n          </TargetId>\n        </ReferenceNode>\n      </References>\n      <Value>\n        <Value>\n          <Null xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\" />\n        </Value>\n      </Value>\n      <DataType>\n        <Identifier>i=868</Identifier>\n      </DataType>\n      <ValueRank>1</ValueRank>\n      <ArrayDimensions>\n        <UInt32>0</UInt32>\n      </ArrayDimensions>\n      <AccessLevel>1</AccessLevel>\n      <UserAccessLevel>1</UserAccessLevel>\n      <MinimumSamplingInterval>0</MinimumSamplingInterval>\n      <Historizing>false</Historizing>\n      <AccessLevelEx>0</AccessLevelEx>\n    </Node>\n    <Node i:type=\"VariableNode\">\n      <NodeId>\n        <Identifier>ns=1;i=475</Identifier>\n      </NodeId>\n      <NodeClass>Variable_2</NodeClass>\n      <BrowseName>\n        <NamespaceIndex>0</NamespaceIndex>\n        <Name>EnabledFlag</Name>\n      </BrowseName>\n      <DisplayName>\n        <Locale></Locale>\n        <Text>EnabledFlag</Text>\n      </DisplayName>\n      <Description i:nil=\"true\" />\n      <WriteMask>0</WriteMask>\n      <UserWriteMask>0</UserWriteMask>\n      <RolePermissions />\n      <UserRolePermissions />\n      <AccessRestrictions>0</AccessRestrictions>\n      <References>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=46</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>true</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=456</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=40</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>i=68</Identifier>\n          </TargetId>\n        </ReferenceNode>\n      </References>\n      <Value>\n        <Value>\n          <Boolean xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">false</Boolean>\n        </Value>\n      </Value>\n      <DataType>\n        <Identifier>i=1</Identifier>\n      </DataType>\n      <ValueRank>-1</ValueRank>\n      <ArrayDimensions />\n      <AccessLevel>3</AccessLevel>\n      <UserAccessLevel>3</UserAccessLevel>\n      <MinimumSamplingInterval>0</MinimumSamplingInterval>\n      <Historizing>false</Historizing>\n      <AccessLevelEx>0</AccessLevelEx>\n    </Node>\n    <Node i:type=\"ObjectNode\">\n      <NodeId>\n        <Identifier>ns=1;i=476</Identifier>\n      </NodeId>\n      <NodeClass>Object_1</NodeClass>\n      <BrowseName>\n        <NamespaceIndex>0</NamespaceIndex>\n        <Name>VendorServerInfo</Name>\n      </BrowseName>\n      <DisplayName>\n        <Locale></Locale>\n        <Text>VendorServerInfo</Text>\n      </DisplayName>\n      <Description i:nil=\"true\" />\n      <WriteMask>0</WriteMask>\n      <UserWriteMask>0</UserWriteMask>\n      <RolePermissions />\n      <UserRolePermissions />\n      <AccessRestrictions>0</AccessRestrictions>\n      <References>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=47</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>true</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=413</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=40</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>i=2033</Identifier>\n          </TargetId>\n        </ReferenceNode>\n      </References>\n      <EventNotifier>0</EventNotifier>\n    </Node>\n    <Node i:type=\"ObjectNode\">\n      <NodeId>\n        <Identifier>ns=1;i=477</Identifier>\n      </NodeId>\n      <NodeClass>Object_1</NodeClass>\n      <BrowseName>\n        <NamespaceIndex>0</NamespaceIndex>\n        <Name>ServerRedundancy</Name>\n      </BrowseName>\n      <DisplayName>\n        <Locale></Locale>\n        <Text>ServerRedundancy</Text>\n      </DisplayName>\n      <Description i:nil=\"true\" />\n      <WriteMask>0</WriteMask>\n      <UserWriteMask>0</UserWriteMask>\n      <RolePermissions />\n      <UserRolePermissions />\n      <AccessRestrictions>0</AccessRestrictions>\n      <References>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=47</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>true</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=413</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=40</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>i=2034</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=46</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=478</Identifier>\n          </TargetId>\n        </ReferenceNode>\n      </References>\n      <EventNotifier>0</EventNotifier>\n    </Node>\n    <Node i:type=\"VariableNode\">\n      <NodeId>\n        <Identifier>ns=1;i=478</Identifier>\n      </NodeId>\n      <NodeClass>Variable_2</NodeClass>\n      <BrowseName>\n        <NamespaceIndex>0</NamespaceIndex>\n        <Name>RedundancySupport</Name>\n      </BrowseName>\n      <DisplayName>\n        <Locale></Locale>\n        <Text>RedundancySupport</Text>\n      </DisplayName>\n      <Description i:nil=\"true\" />\n      <WriteMask>0</WriteMask>\n      <UserWriteMask>0</UserWriteMask>\n      <RolePermissions />\n      <UserRolePermissions />\n      <AccessRestrictions>0</AccessRestrictions>\n      <References>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=46</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>true</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=477</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=40</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>i=68</Identifier>\n          </TargetId>\n        </ReferenceNode>\n      </References>\n      <Value>\n        <Value>\n          <Null xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\" />\n        </Value>\n      </Value>\n      <DataType>\n        <Identifier>i=851</Identifier>\n      </DataType>\n      <ValueRank>-1</ValueRank>\n      <ArrayDimensions />\n      <AccessLevel>1</AccessLevel>\n      <UserAccessLevel>1</UserAccessLevel>\n      <MinimumSamplingInterval>0</MinimumSamplingInterval>\n      <Historizing>false</Historizing>\n      <AccessLevelEx>0</AccessLevelEx>\n    </Node>\n    <Node i:type=\"VariableNode\">\n      <NodeId>\n        <Identifier>ns=1;i=505</Identifier>\n      </NodeId>\n      <NodeClass>Variable_2</NodeClass>\n      <BrowseName>\n        <NamespaceIndex>1</NamespaceIndex>\n        <Name>ChildProperty</Name>\n      </BrowseName>\n      <DisplayName>\n        <Locale></Locale>\n        <Text>ChildProperty</Text>\n      </DisplayName>\n      <Description i:nil=\"true\" />\n      <WriteMask>0</WriteMask>\n      <UserWriteMask>0</UserWriteMask>\n      <RolePermissions />\n      <UserRolePermissions />\n      <AccessRestrictions>0</AccessRestrictions>\n      <References>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=46</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>true</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=413</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=40</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>i=68</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>ns=1;i=195</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>true</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=506</Identifier>\n          </TargetId>\n        </ReferenceNode>\n      </References>\n      <Value>\n        <Value>\n          <LocalizedText xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\" />\n        </Value>\n      </Value>\n      <DataType>\n        <Identifier>i=21</Identifier>\n      </DataType>\n      <ValueRank>-1</ValueRank>\n      <ArrayDimensions />\n      <AccessLevel>1</AccessLevel>\n      <UserAccessLevel>1</UserAccessLevel>\n      <MinimumSamplingInterval>0</MinimumSamplingInterval>\n      <Historizing>false</Historizing>\n      <AccessLevelEx>0</AccessLevelEx>\n    </Node>\n    <Node i:type=\"VariableNode\">\n      <NodeId>\n        <Identifier>ns=1;i=506</Identifier>\n      </NodeId>\n      <NodeClass>Variable_2</NodeClass>\n      <BrowseName>\n        <NamespaceIndex>1</NamespaceIndex>\n        <Name>BrowseName4node1109</Name>\n      </BrowseName>\n      <DisplayName>\n        <Locale></Locale>\n        <Text>BrowseName4node1109</Text>\n      </DisplayName>\n      <Description i:nil=\"true\" />\n      <WriteMask>0</WriteMask>\n      <UserWriteMask>0</UserWriteMask>\n      <RolePermissions />\n      <UserRolePermissions />\n      <AccessRestrictions>0</AccessRestrictions>\n      <References>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=47</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>true</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=413</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=40</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>i=2368</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>ns=1;i=195</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=505</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=46</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=510</Identifier>\n          </TargetId>\n        </ReferenceNode>\n      </References>\n      <Value>\n        <Value>\n          <Double xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">0</Double>\n        </Value>\n      </Value>\n      <DataType>\n        <Identifier>i=26</Identifier>\n      </DataType>\n      <ValueRank>-1</ValueRank>\n      <ArrayDimensions />\n      <AccessLevel>1</AccessLevel>\n      <UserAccessLevel>1</UserAccessLevel>\n      <MinimumSamplingInterval>0</MinimumSamplingInterval>\n      <Historizing>false</Historizing>\n      <AccessLevelEx>0</AccessLevelEx>\n    </Node>\n    <Node i:type=\"VariableNode\">\n      <NodeId>\n        <Identifier>ns=1;i=510</Identifier>\n      </NodeId>\n      <NodeClass>Variable_2</NodeClass>\n      <BrowseName>\n        <NamespaceIndex>0</NamespaceIndex>\n        <Name>EURange</Name>\n      </BrowseName>\n      <DisplayName>\n        <Locale></Locale>\n        <Text>EURange</Text>\n      </DisplayName>\n      <Description i:nil=\"true\" />\n      <WriteMask>0</WriteMask>\n      <UserWriteMask>0</UserWriteMask>\n      <RolePermissions />\n      <UserRolePermissions />\n      <AccessRestrictions>0</AccessRestrictions>\n      <References>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=46</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>true</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=506</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=40</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>i=68</Identifier>\n          </TargetId>\n        </ReferenceNode>\n      </References>\n      <Value>\n        <Value>\n          <Null xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\" />\n        </Value>\n      </Value>\n      <DataType>\n        <Identifier>i=884</Identifier>\n      </DataType>\n      <ValueRank>-1</ValueRank>\n      <ArrayDimensions />\n      <AccessLevel>1</AccessLevel>\n      <UserAccessLevel>1</UserAccessLevel>\n      <MinimumSamplingInterval>0</MinimumSamplingInterval>\n      <Historizing>false</Historizing>\n      <AccessLevelEx>0</AccessLevelEx>\n    </Node>\n    <Node i:type=\"MethodNode\">\n      <NodeId>\n        <Identifier>ns=1;i=512</Identifier>\n      </NodeId>\n      <NodeClass>Method_4</NodeClass>\n      <BrowseName>\n        <NamespaceIndex>1</NamespaceIndex>\n        <Name>ChildMethod</Name>\n      </BrowseName>\n      <DisplayName>\n        <Locale></Locale>\n        <Text>ChildMethod</Text>\n      </DisplayName>\n      <Description i:nil=\"true\" />\n      <WriteMask>0</WriteMask>\n      <UserWriteMask>0</UserWriteMask>\n      <RolePermissions />\n      <UserRolePermissions />\n      <AccessRestrictions>0</AccessRestrictions>\n      <References>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=47</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>true</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=413</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=46</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=513</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=46</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=514</Identifier>\n          </TargetId>\n        </ReferenceNode>\n      </References>\n      <Executable>true</Executable>\n      <UserExecutable>true</UserExecutable>\n    </Node>\n    <Node i:type=\"VariableNode\">\n      <NodeId>\n        <Identifier>ns=1;i=513</Identifier>\n      </NodeId>\n      <NodeClass>Variable_2</NodeClass>\n      <BrowseName>\n        <NamespaceIndex>0</NamespaceIndex>\n        <Name>InputArguments</Name>\n      </BrowseName>\n      <DisplayName>\n        <Locale></Locale>\n        <Text>InputArguments</Text>\n      </DisplayName>\n      <Description i:nil=\"true\" />\n      <WriteMask>0</WriteMask>\n      <UserWriteMask>0</UserWriteMask>\n      <RolePermissions />\n      <UserRolePermissions />\n      <AccessRestrictions>0</AccessRestrictions>\n      <References>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=46</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>true</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=512</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=40</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>i=68</Identifier>\n          </TargetId>\n        </ReferenceNode>\n      </References>\n      <Value>\n        <Value>\n          <ListOfExtensionObject xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n            <ExtensionObject>\n              <TypeId>\n                <Identifier>i=297</Identifier>\n              </TypeId>\n              <Body>\n                <Argument>\n                  <Name>Input1</Name>\n                  <DataType>\n                    <Identifier>i=6</Identifier>\n                  </DataType>\n                  <ValueRank>-1</ValueRank>\n                  <ArrayDimensions />\n                </Argument>\n              </Body>\n            </ExtensionObject>\n            <ExtensionObject>\n              <TypeId>\n                <Identifier>i=297</Identifier>\n              </TypeId>\n              <Body>\n                <Argument>\n                  <Name>Input2</Name>\n                  <DataType>\n                    <Identifier>i=6</Identifier>\n                  </DataType>\n                  <ValueRank>-1</ValueRank>\n                  <ArrayDimensions />\n                </Argument>\n              </Body>\n            </ExtensionObject>\n          </ListOfExtensionObject>\n        </Value>\n      </Value>\n      <DataType>\n        <Identifier>i=296</Identifier>\n      </DataType>\n      <ValueRank>1</ValueRank>\n      <ArrayDimensions>\n        <UInt32>0</UInt32>\n      </ArrayDimensions>\n      <AccessLevel>1</AccessLevel>\n      <UserAccessLevel>1</UserAccessLevel>\n      <MinimumSamplingInterval>0</MinimumSamplingInterval>\n      <Historizing>false</Historizing>\n      <AccessLevelEx>0</AccessLevelEx>\n    </Node>\n    <Node i:type=\"VariableNode\">\n      <NodeId>\n        <Identifier>ns=1;i=514</Identifier>\n      </NodeId>\n      <NodeClass>Variable_2</NodeClass>\n      <BrowseName>\n        <NamespaceIndex>0</NamespaceIndex>\n        <Name>OutputArguments</Name>\n      </BrowseName>\n      <DisplayName>\n        <Locale></Locale>\n        <Text>OutputArguments</Text>\n      </DisplayName>\n      <Description i:nil=\"true\" />\n      <WriteMask>0</WriteMask>\n      <UserWriteMask>0</UserWriteMask>\n      <RolePermissions />\n      <UserRolePermissions />\n      <AccessRestrictions>0</AccessRestrictions>\n      <References>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=46</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>true</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=512</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=40</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>i=68</Identifier>\n          </TargetId>\n        </ReferenceNode>\n      </References>\n      <Value>\n        <Value>\n          <ListOfExtensionObject xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n            <ExtensionObject>\n              <TypeId>\n                <Identifier>i=297</Identifier>\n              </TypeId>\n              <Body>\n                <Argument>\n                  <Name>Output1</Name>\n                  <DataType>\n                    <Identifier>i=6</Identifier>\n                  </DataType>\n                  <ValueRank>-1</ValueRank>\n                  <ArrayDimensions />\n                </Argument>\n              </Body>\n            </ExtensionObject>\n          </ListOfExtensionObject>\n        </Value>\n      </Value>\n      <DataType>\n        <Identifier>i=296</Identifier>\n      </DataType>\n      <ValueRank>1</ValueRank>\n      <ArrayDimensions>\n        <UInt32>0</UInt32>\n      </ArrayDimensions>\n      <AccessLevel>1</AccessLevel>\n      <UserAccessLevel>1</UserAccessLevel>\n      <MinimumSamplingInterval>0</MinimumSamplingInterval>\n      <Historizing>false</Historizing>\n      <AccessLevelEx>0</AccessLevelEx>\n    </Node>\n    <Node i:type=\"MethodNode\">\n      <NodeId>\n        <Identifier>ns=1;i=515</Identifier>\n      </NodeId>\n      <NodeClass>Method_4</NodeClass>\n      <BrowseName>\n        <NamespaceIndex>1</NamespaceIndex>\n        <Name>NonExecutableMethod</Name>\n      </BrowseName>\n      <DisplayName>\n        <Locale></Locale>\n        <Text>NonExecutableMethod</Text>\n      </DisplayName>\n      <Description i:nil=\"true\" />\n      <WriteMask>0</WriteMask>\n      <UserWriteMask>0</UserWriteMask>\n      <RolePermissions />\n      <UserRolePermissions />\n      <AccessRestrictions>0</AccessRestrictions>\n      <References>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=47</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>true</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=413</Identifier>\n          </TargetId>\n        </ReferenceNode>\n      </References>\n      <Executable>true</Executable>\n      <UserExecutable>true</UserExecutable>\n    </Node>\n  </Nodes>\n</NodeSet>"
  },
  {
    "path": "SemanticData/Tests/USNodeSetValidationUnitTestProject/XMLModels/CorrectModels/ObjectTypeTest/ObjectTypeTest.NodeSet2.xml",
    "content": "﻿<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<UANodeSet xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\" xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xmlns=\"http://opcfoundation.org/UA/2011/03/UANodeSet.xsd\">\n  <NamespaceUris>\n    <Uri>http://cas.eu/UA/CommServer/UnitTests/ObjectTypeTest</Uri>\n  </NamespaceUris>\n  <Models>\n    <Model ModelUri=\"http://cas.eu/UA/CommServer/UnitTests/ObjectTypeTest\">\n      <RequiredModel ModelUri=\"http://opcfoundation.org/UA/\" XmlSchemaUri=\"http://opcfoundation.org/UA/2008/02/Types.xsd\" Version=\"1.04.10\" PublicationDate=\"2021-09-15T00:00:00Z\" />\n    </Model>\n  </Models>\n  <Aliases>\n    <Alias Alias=\"Boolean\">i=1</Alias>\n    <Alias Alias=\"SByte\">i=2</Alias>\n    <Alias Alias=\"Byte\">i=3</Alias>\n    <Alias Alias=\"Int16\">i=4</Alias>\n    <Alias Alias=\"UInt16\">i=5</Alias>\n    <Alias Alias=\"Int32\">i=6</Alias>\n    <Alias Alias=\"UInt32\">i=7</Alias>\n    <Alias Alias=\"Int64\">i=8</Alias>\n    <Alias Alias=\"UInt64\">i=9</Alias>\n    <Alias Alias=\"Float\">i=10</Alias>\n    <Alias Alias=\"Double\">i=11</Alias>\n    <Alias Alias=\"DateTime\">i=13</Alias>\n    <Alias Alias=\"String\">i=12</Alias>\n    <Alias Alias=\"ByteString\">i=15</Alias>\n    <Alias Alias=\"Guid\">i=14</Alias>\n    <Alias Alias=\"XmlElement\">i=16</Alias>\n    <Alias Alias=\"NodeId\">i=17</Alias>\n    <Alias Alias=\"ExpandedNodeId\">i=18</Alias>\n    <Alias Alias=\"QualifiedName\">i=20</Alias>\n    <Alias Alias=\"LocalizedText\">i=21</Alias>\n    <Alias Alias=\"StatusCode\">i=19</Alias>\n    <Alias Alias=\"Structure\">i=22</Alias>\n    <Alias Alias=\"Number\">i=26</Alias>\n    <Alias Alias=\"Integer\">i=27</Alias>\n    <Alias Alias=\"UInteger\">i=28</Alias>\n    <Alias Alias=\"HasComponent\">i=47</Alias>\n    <Alias Alias=\"HasProperty\">i=46</Alias>\n    <Alias Alias=\"Organizes\">i=35</Alias>\n    <Alias Alias=\"HasEventSource\">i=36</Alias>\n    <Alias Alias=\"HasNotifier\">i=48</Alias>\n    <Alias Alias=\"HasSubtype\">i=45</Alias>\n    <Alias Alias=\"HasTypeDefinition\">i=40</Alias>\n    <Alias Alias=\"HasModellingRule\">i=37</Alias>\n    <Alias Alias=\"HasEncoding\">i=38</Alias>\n    <Alias Alias=\"HasDescription\">i=39</Alias>\n    <Alias Alias=\"HasCause\">i=53</Alias>\n    <Alias Alias=\"ToState\">i=52</Alias>\n    <Alias Alias=\"FromState\">i=51</Alias>\n    <Alias Alias=\"HasEffect\">i=54</Alias>\n    <Alias Alias=\"HasTrueSubState\">i=9004</Alias>\n    <Alias Alias=\"HasFalseSubState\">i=9005</Alias>\n    <Alias Alias=\"HasDictionaryEntry\">i=17597</Alias>\n    <Alias Alias=\"HasCondition\">i=9006</Alias>\n    <Alias Alias=\"HasGuard\">i=15112</Alias>\n    <Alias Alias=\"HasAddIn\">i=17604</Alias>\n    <Alias Alias=\"HasInterface\">i=17603</Alias>\n  </Aliases>\n  <UAObjectType NodeId=\"ns=1;i=196\" BrowseName=\"1:ComplexObjectType\">\n    <DisplayName>ComplexObjectType</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=214</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=308</Reference>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=309</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=289</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=295</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=306</Reference>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=2004</Reference>\n    </References>\n  </UAObjectType>\n  <UAObject NodeId=\"ns=1;i=214\" BrowseName=\"ServerCapabilities\" ParentNodeId=\"ns=1;i=196\">\n    <DisplayName>ServerCapabilities</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=215</Reference>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=216</Reference>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=217</Reference>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=218</Reference>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=219</Reference>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=220</Reference>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=221</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=237</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=238</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=2013</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=196</Reference>\n    </References>\n  </UAObject>\n  <UAVariable NodeId=\"ns=1;i=215\" BrowseName=\"ServerProfileArray\" ParentNodeId=\"ns=1;i=214\" DataType=\"String\" ValueRank=\"1\" ArrayDimensions=\"0\">\n    <DisplayName>ServerProfileArray</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=214</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=216\" BrowseName=\"LocaleIdArray\" ParentNodeId=\"ns=1;i=214\" DataType=\"i=295\" ValueRank=\"1\" ArrayDimensions=\"0\">\n    <DisplayName>LocaleIdArray</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=214</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=217\" BrowseName=\"MinSupportedSampleRate\" ParentNodeId=\"ns=1;i=214\" DataType=\"i=290\">\n    <DisplayName>MinSupportedSampleRate</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=214</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=218\" BrowseName=\"MaxBrowseContinuationPoints\" ParentNodeId=\"ns=1;i=214\" DataType=\"UInt16\">\n    <DisplayName>MaxBrowseContinuationPoints</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=214</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=219\" BrowseName=\"MaxQueryContinuationPoints\" ParentNodeId=\"ns=1;i=214\" DataType=\"UInt16\">\n    <DisplayName>MaxQueryContinuationPoints</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=214</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=220\" BrowseName=\"MaxHistoryContinuationPoints\" ParentNodeId=\"ns=1;i=214\" DataType=\"UInt16\">\n    <DisplayName>MaxHistoryContinuationPoints</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=214</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=221\" BrowseName=\"SoftwareCertificates\" ParentNodeId=\"ns=1;i=214\" DataType=\"i=344\" ValueRank=\"1\" ArrayDimensions=\"0\">\n    <DisplayName>SoftwareCertificates</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=214</Reference>\n    </References>\n  </UAVariable>\n  <UAObject NodeId=\"ns=1;i=237\" BrowseName=\"ModellingRules\" ParentNodeId=\"ns=1;i=214\">\n    <DisplayName>ModellingRules</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=61</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=214</Reference>\n    </References>\n  </UAObject>\n  <UAObject NodeId=\"ns=1;i=238\" BrowseName=\"AggregateFunctions\" ParentNodeId=\"ns=1;i=214\">\n    <DisplayName>AggregateFunctions</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=61</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=214</Reference>\n    </References>\n  </UAObject>\n  <UAObject NodeId=\"ns=1;i=308\" BrowseName=\"1:ChildObject\" ParentNodeId=\"ns=1;i=196\" EventNotifier=\"1\">\n    <DisplayName>ChildObject</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=58</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=11510</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=196</Reference>\n    </References>\n  </UAObject>\n  <UAVariable NodeId=\"ns=1;i=309\" BrowseName=\"1:ChildProperty\" SymbolicName=\"BrowseName4node66\" ParentNodeId=\"ns=1;i=196\" DataType=\"LocalizedText\">\n    <DisplayName>ChildProperty</DisplayName>\n    <References>\n      <Reference ReferenceType=\"ns=1;i=195\" IsForward=\"false\">ns=1;i=289</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=196</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=289\" BrowseName=\"1:BrowseName4node1109\" SymbolicName=\"NameNotSet1109\" ParentNodeId=\"ns=1;i=196\" DataType=\"Number\">\n    <DisplayName>BrowseName4node1109</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=293</Reference>\n      <Reference ReferenceType=\"ns=1;i=195\">ns=1;i=309</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=2368</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=196</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=293\" BrowseName=\"EURange\" ParentNodeId=\"ns=1;i=289\" DataType=\"i=884\">\n    <DisplayName>EURange</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=289</Reference>\n    </References>\n  </UAVariable>\n  <UAMethod NodeId=\"ns=1;i=295\" BrowseName=\"1:ChildMethod\" ParentNodeId=\"ns=1;i=196\">\n    <DisplayName>ChildMethod</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=299</Reference>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=300</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=196</Reference>\n    </References>\n  </UAMethod>\n  <UAVariable NodeId=\"ns=1;i=299\" BrowseName=\"InputArguments\" ParentNodeId=\"ns=1;i=295\" DataType=\"i=296\" ValueRank=\"1\" ArrayDimensions=\"0\">\n    <DisplayName>InputArguments</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=295</Reference>\n    </References>\n    <Value>\n      <ListOfExtensionObject xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=297</Identifier>\n          </TypeId>\n          <Body>\n            <Argument>\n              <Name>Input1</Name>\n              <DataType>\n                <Identifier>i=6</Identifier>\n              </DataType>\n              <ValueRank>-1</ValueRank>\n              <ArrayDimensions />\n            </Argument>\n          </Body>\n        </ExtensionObject>\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=297</Identifier>\n          </TypeId>\n          <Body>\n            <Argument>\n              <Name>Input2</Name>\n              <DataType>\n                <Identifier>i=6</Identifier>\n              </DataType>\n              <ValueRank>-1</ValueRank>\n              <ArrayDimensions />\n            </Argument>\n          </Body>\n        </ExtensionObject>\n      </ListOfExtensionObject>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=300\" BrowseName=\"OutputArguments\" ParentNodeId=\"ns=1;i=295\" DataType=\"i=296\" ValueRank=\"1\" ArrayDimensions=\"0\">\n    <DisplayName>OutputArguments</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=295</Reference>\n    </References>\n    <Value>\n      <ListOfExtensionObject xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=297</Identifier>\n          </TypeId>\n          <Body>\n            <Argument>\n              <Name>Output1</Name>\n              <DataType>\n                <Identifier>i=6</Identifier>\n              </DataType>\n              <ValueRank>-1</ValueRank>\n              <ArrayDimensions />\n            </Argument>\n          </Body>\n        </ExtensionObject>\n      </ListOfExtensionObject>\n    </Value>\n  </UAVariable>\n  <UAMethod NodeId=\"ns=1;i=306\" BrowseName=\"1:NonExecutableMethod\" ParentNodeId=\"ns=1;i=196\">\n    <DisplayName>NonExecutableMethod</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=196</Reference>\n    </References>\n  </UAMethod>\n  <UAReferenceType NodeId=\"ns=1;i=195\" BrowseName=\"1:FlowTo\">\n    <DisplayName>Flow to type</DisplayName>\n    <Description>It is test ReferenceType</Description>\n    <References>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=32</Reference>\n    </References>\n    <InverseName>FlowFrom</InverseName>\n  </UAReferenceType>\n  <UAMethod NodeId=\"ns=1;i=303\" BrowseName=\"1:ChildMethodComplexObjectType\">\n    <DisplayName>ChildMethodComplexObjectType</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=304</Reference>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=305</Reference>\n    </References>\n  </UAMethod>\n  <UAVariable NodeId=\"ns=1;i=304\" BrowseName=\"InputArguments\" ParentNodeId=\"ns=1;i=303\" DataType=\"i=296\" ValueRank=\"1\" ArrayDimensions=\"0\">\n    <DisplayName>InputArguments</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=303</Reference>\n    </References>\n    <Value>\n      <ListOfExtensionObject xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=297</Identifier>\n          </TypeId>\n          <Body>\n            <Argument>\n              <Name>Input1</Name>\n              <DataType>\n                <Identifier>i=6</Identifier>\n              </DataType>\n              <ValueRank>-1</ValueRank>\n              <ArrayDimensions />\n            </Argument>\n          </Body>\n        </ExtensionObject>\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=297</Identifier>\n          </TypeId>\n          <Body>\n            <Argument>\n              <Name>Input2</Name>\n              <DataType>\n                <Identifier>i=6</Identifier>\n              </DataType>\n              <ValueRank>-1</ValueRank>\n              <ArrayDimensions />\n            </Argument>\n          </Body>\n        </ExtensionObject>\n      </ListOfExtensionObject>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=305\" BrowseName=\"OutputArguments\" ParentNodeId=\"ns=1;i=303\" DataType=\"i=296\" ValueRank=\"1\" ArrayDimensions=\"0\">\n    <DisplayName>OutputArguments</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=303</Reference>\n    </References>\n    <Value>\n      <ListOfExtensionObject xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=297</Identifier>\n          </TypeId>\n          <Body>\n            <Argument>\n              <Name>Output1</Name>\n              <DataType>\n                <Identifier>i=6</Identifier>\n              </DataType>\n              <ValueRank>-1</ValueRank>\n              <ArrayDimensions />\n            </Argument>\n          </Body>\n        </ExtensionObject>\n      </ListOfExtensionObject>\n    </Value>\n  </UAVariable>\n  <UAMethod NodeId=\"ns=1;i=307\" BrowseName=\"1:NonExecutableMethodComplexObjectType\" Executable=\"false\">\n    <DisplayName>NonExecutableMethodComplexObjectType</DisplayName>\n    <References />\n  </UAMethod>\n  <UAObjectType NodeId=\"ns=1;i=310\" BrowseName=\"1:DerivedFromComplexObjectType\">\n    <DisplayName>DerivedFromComplexObjectType</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=409</Reference>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">ns=1;i=196</Reference>\n    </References>\n  </UAObjectType>\n  <UAMethod NodeId=\"ns=1;i=409\" BrowseName=\"1:ChildMethod\" ParentNodeId=\"ns=1;i=310\" MethodDeclarationId=\"ns=1;i=295\">\n    <DisplayName>ChildMethod</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=410</Reference>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=411</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=310</Reference>\n    </References>\n  </UAMethod>\n  <UAVariable NodeId=\"ns=1;i=410\" BrowseName=\"InputArguments\" ParentNodeId=\"ns=1;i=409\" DataType=\"i=296\" ValueRank=\"1\" ArrayDimensions=\"0\">\n    <DisplayName>InputArguments</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=409</Reference>\n    </References>\n    <Value>\n      <ListOfExtensionObject xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=297</Identifier>\n          </TypeId>\n          <Body>\n            <Argument>\n              <Name>Input1</Name>\n              <DataType>\n                <Identifier>i=6</Identifier>\n              </DataType>\n              <ValueRank>-1</ValueRank>\n              <ArrayDimensions />\n            </Argument>\n          </Body>\n        </ExtensionObject>\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=297</Identifier>\n          </TypeId>\n          <Body>\n            <Argument>\n              <Name>Input2</Name>\n              <DataType>\n                <Identifier>i=6</Identifier>\n              </DataType>\n              <ValueRank>-1</ValueRank>\n              <ArrayDimensions />\n            </Argument>\n          </Body>\n        </ExtensionObject>\n      </ListOfExtensionObject>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=411\" BrowseName=\"OutputArguments\" ParentNodeId=\"ns=1;i=409\" DataType=\"i=296\" ValueRank=\"1\" ArrayDimensions=\"0\">\n    <DisplayName>OutputArguments</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=409</Reference>\n    </References>\n    <Value>\n      <ListOfExtensionObject xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=297</Identifier>\n          </TypeId>\n          <Body>\n            <Argument>\n              <Name>Output1</Name>\n              <DataType>\n                <Identifier>i=6</Identifier>\n              </DataType>\n              <ValueRank>-1</ValueRank>\n              <ArrayDimensions />\n            </Argument>\n          </Body>\n        </ExtensionObject>\n      </ListOfExtensionObject>\n    </Value>\n  </UAVariable>\n  <UAObject NodeId=\"ns=1;i=413\" BrowseName=\"1:NameNotSet6\">\n    <DisplayName>NameNotSet6</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=414</Reference>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=415</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=416</Reference>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=429</Reference>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=430</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=431</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=456</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=476</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=477</Reference>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=505</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=506</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=512</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=515</Reference>\n      <Reference ReferenceType=\"Organizes\" IsForward=\"false\">i=85</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">ns=1;i=310</Reference>\n    </References>\n  </UAObject>\n  <UAVariable NodeId=\"ns=1;i=414\" BrowseName=\"ServerArray\" ParentNodeId=\"ns=1;i=413\" DataType=\"String\" ValueRank=\"1\" ArrayDimensions=\"0\" MinimumSamplingInterval=\"1000\">\n    <DisplayName>ServerArray</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=413</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=415\" BrowseName=\"NamespaceArray\" ParentNodeId=\"ns=1;i=413\" DataType=\"String\" ValueRank=\"1\" ArrayDimensions=\"0\" MinimumSamplingInterval=\"1000\">\n    <DisplayName>NamespaceArray</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=413</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=416\" BrowseName=\"ServerStatus\" ParentNodeId=\"ns=1;i=413\" DataType=\"i=862\" MinimumSamplingInterval=\"1000\">\n    <DisplayName>ServerStatus</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=417</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=418</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=419</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=420</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=427</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=428</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=2138</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=413</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=417\" BrowseName=\"StartTime\" ParentNodeId=\"ns=1;i=416\" DataType=\"i=294\">\n    <DisplayName>StartTime</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=63</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=416</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=418\" BrowseName=\"CurrentTime\" ParentNodeId=\"ns=1;i=416\" DataType=\"i=294\">\n    <DisplayName>CurrentTime</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=63</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=416</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=419\" BrowseName=\"State\" ParentNodeId=\"ns=1;i=416\" DataType=\"i=852\">\n    <DisplayName>State</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=63</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=416</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=420\" BrowseName=\"BuildInfo\" ParentNodeId=\"ns=1;i=416\" DataType=\"i=338\">\n    <DisplayName>BuildInfo</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=421</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=422</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=423</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=424</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=425</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=426</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=3051</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=416</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=421\" BrowseName=\"ProductUri\" ParentNodeId=\"ns=1;i=420\" DataType=\"String\" MinimumSamplingInterval=\"1000\">\n    <DisplayName>ProductUri</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=63</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=420</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=422\" BrowseName=\"ManufacturerName\" ParentNodeId=\"ns=1;i=420\" DataType=\"String\" MinimumSamplingInterval=\"1000\">\n    <DisplayName>ManufacturerName</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=63</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=420</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=423\" BrowseName=\"ProductName\" ParentNodeId=\"ns=1;i=420\" DataType=\"String\" MinimumSamplingInterval=\"1000\">\n    <DisplayName>ProductName</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=63</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=420</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=424\" BrowseName=\"SoftwareVersion\" ParentNodeId=\"ns=1;i=420\" DataType=\"String\" MinimumSamplingInterval=\"1000\">\n    <DisplayName>SoftwareVersion</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=63</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=420</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=425\" BrowseName=\"BuildNumber\" ParentNodeId=\"ns=1;i=420\" DataType=\"String\" MinimumSamplingInterval=\"1000\">\n    <DisplayName>BuildNumber</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=63</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=420</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=426\" BrowseName=\"BuildDate\" ParentNodeId=\"ns=1;i=420\" DataType=\"i=294\" MinimumSamplingInterval=\"1000\">\n    <DisplayName>BuildDate</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=63</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=420</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=427\" BrowseName=\"SecondsTillShutdown\" ParentNodeId=\"ns=1;i=416\" DataType=\"UInt32\">\n    <DisplayName>SecondsTillShutdown</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=63</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=416</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=428\" BrowseName=\"ShutdownReason\" ParentNodeId=\"ns=1;i=416\" DataType=\"LocalizedText\">\n    <DisplayName>ShutdownReason</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=63</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=416</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=429\" BrowseName=\"ServiceLevel\" ParentNodeId=\"ns=1;i=413\" DataType=\"Byte\" MinimumSamplingInterval=\"1000\">\n    <DisplayName>ServiceLevel</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=413</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=430\" BrowseName=\"Auditing\" ParentNodeId=\"ns=1;i=413\" DataType=\"Boolean\" MinimumSamplingInterval=\"1000\">\n    <DisplayName>Auditing</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=413</Reference>\n    </References>\n  </UAVariable>\n  <UAObject NodeId=\"ns=1;i=431\" BrowseName=\"ServerCapabilities\" ParentNodeId=\"ns=1;i=413\">\n    <DisplayName>ServerCapabilities</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=432</Reference>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=433</Reference>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=434</Reference>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=435</Reference>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=436</Reference>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=437</Reference>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=438</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=454</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=455</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=2013</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=413</Reference>\n    </References>\n  </UAObject>\n  <UAVariable NodeId=\"ns=1;i=432\" BrowseName=\"ServerProfileArray\" ParentNodeId=\"ns=1;i=431\" DataType=\"String\" ValueRank=\"1\" ArrayDimensions=\"0\">\n    <DisplayName>ServerProfileArray</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=431</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=433\" BrowseName=\"LocaleIdArray\" ParentNodeId=\"ns=1;i=431\" DataType=\"i=295\" ValueRank=\"1\" ArrayDimensions=\"0\">\n    <DisplayName>LocaleIdArray</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=431</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=434\" BrowseName=\"MinSupportedSampleRate\" ParentNodeId=\"ns=1;i=431\" DataType=\"i=290\">\n    <DisplayName>MinSupportedSampleRate</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=431</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=435\" BrowseName=\"MaxBrowseContinuationPoints\" ParentNodeId=\"ns=1;i=431\" DataType=\"UInt16\">\n    <DisplayName>MaxBrowseContinuationPoints</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=431</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=436\" BrowseName=\"MaxQueryContinuationPoints\" ParentNodeId=\"ns=1;i=431\" DataType=\"UInt16\">\n    <DisplayName>MaxQueryContinuationPoints</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=431</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=437\" BrowseName=\"MaxHistoryContinuationPoints\" ParentNodeId=\"ns=1;i=431\" DataType=\"UInt16\">\n    <DisplayName>MaxHistoryContinuationPoints</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=431</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=438\" BrowseName=\"SoftwareCertificates\" ParentNodeId=\"ns=1;i=431\" DataType=\"i=344\" ValueRank=\"1\" ArrayDimensions=\"0\">\n    <DisplayName>SoftwareCertificates</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=431</Reference>\n    </References>\n  </UAVariable>\n  <UAObject NodeId=\"ns=1;i=454\" BrowseName=\"ModellingRules\" ParentNodeId=\"ns=1;i=431\">\n    <DisplayName>ModellingRules</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=61</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=431</Reference>\n    </References>\n  </UAObject>\n  <UAObject NodeId=\"ns=1;i=455\" BrowseName=\"AggregateFunctions\" ParentNodeId=\"ns=1;i=431\">\n    <DisplayName>AggregateFunctions</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=61</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=431</Reference>\n    </References>\n  </UAObject>\n  <UAObject NodeId=\"ns=1;i=456\" BrowseName=\"ServerDiagnostics\" ParentNodeId=\"ns=1;i=413\">\n    <DisplayName>ServerDiagnostics</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=457</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=471</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=472</Reference>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=475</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=2020</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=413</Reference>\n    </References>\n  </UAObject>\n  <UAVariable NodeId=\"ns=1;i=457\" BrowseName=\"ServerDiagnosticsSummary\" ParentNodeId=\"ns=1;i=456\" DataType=\"i=859\">\n    <DisplayName>ServerDiagnosticsSummary</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=458</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=459</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=460</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=461</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=462</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=463</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=464</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=465</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=466</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=467</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=468</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=469</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=2150</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=456</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=458\" BrowseName=\"ServerViewCount\" ParentNodeId=\"ns=1;i=457\" DataType=\"UInt32\">\n    <DisplayName>ServerViewCount</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=63</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=457</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=459\" BrowseName=\"CurrentSessionCount\" ParentNodeId=\"ns=1;i=457\" DataType=\"UInt32\">\n    <DisplayName>CurrentSessionCount</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=63</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=457</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=460\" BrowseName=\"CumulatedSessionCount\" ParentNodeId=\"ns=1;i=457\" DataType=\"UInt32\">\n    <DisplayName>CumulatedSessionCount</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=63</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=457</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=461\" BrowseName=\"SecurityRejectedSessionCount\" ParentNodeId=\"ns=1;i=457\" DataType=\"UInt32\">\n    <DisplayName>SecurityRejectedSessionCount</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=63</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=457</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=462\" BrowseName=\"RejectedSessionCount\" ParentNodeId=\"ns=1;i=457\" DataType=\"UInt32\">\n    <DisplayName>RejectedSessionCount</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=63</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=457</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=463\" BrowseName=\"SessionTimeoutCount\" ParentNodeId=\"ns=1;i=457\" DataType=\"UInt32\">\n    <DisplayName>SessionTimeoutCount</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=63</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=457</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=464\" BrowseName=\"SessionAbortCount\" ParentNodeId=\"ns=1;i=457\" DataType=\"UInt32\">\n    <DisplayName>SessionAbortCount</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=63</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=457</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=465\" BrowseName=\"PublishingIntervalCount\" ParentNodeId=\"ns=1;i=457\" DataType=\"UInt32\">\n    <DisplayName>PublishingIntervalCount</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=63</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=457</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=466\" BrowseName=\"CurrentSubscriptionCount\" ParentNodeId=\"ns=1;i=457\" DataType=\"UInt32\">\n    <DisplayName>CurrentSubscriptionCount</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=63</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=457</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=467\" BrowseName=\"CumulatedSubscriptionCount\" ParentNodeId=\"ns=1;i=457\" DataType=\"UInt32\">\n    <DisplayName>CumulatedSubscriptionCount</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=63</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=457</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=468\" BrowseName=\"SecurityRejectedRequestsCount\" ParentNodeId=\"ns=1;i=457\" DataType=\"UInt32\">\n    <DisplayName>SecurityRejectedRequestsCount</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=63</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=457</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=469\" BrowseName=\"RejectedRequestsCount\" ParentNodeId=\"ns=1;i=457\" DataType=\"UInt32\">\n    <DisplayName>RejectedRequestsCount</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=63</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=457</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=471\" BrowseName=\"SubscriptionDiagnosticsArray\" ParentNodeId=\"ns=1;i=456\" DataType=\"i=874\" ValueRank=\"1\" ArrayDimensions=\"0\">\n    <DisplayName>SubscriptionDiagnosticsArray</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=2171</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=456</Reference>\n    </References>\n  </UAVariable>\n  <UAObject NodeId=\"ns=1;i=472\" BrowseName=\"SessionsDiagnosticsSummary\" ParentNodeId=\"ns=1;i=456\">\n    <DisplayName>SessionsDiagnosticsSummary</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=473</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=474</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=2026</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=456</Reference>\n    </References>\n  </UAObject>\n  <UAVariable NodeId=\"ns=1;i=473\" BrowseName=\"SessionDiagnosticsArray\" ParentNodeId=\"ns=1;i=472\" DataType=\"i=865\" ValueRank=\"1\" ArrayDimensions=\"0\">\n    <DisplayName>SessionDiagnosticsArray</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=2196</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=472</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=474\" BrowseName=\"SessionSecurityDiagnosticsArray\" ParentNodeId=\"ns=1;i=472\" DataType=\"i=868\" ValueRank=\"1\" ArrayDimensions=\"0\">\n    <DisplayName>SessionSecurityDiagnosticsArray</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=2243</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=472</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=475\" BrowseName=\"EnabledFlag\" ParentNodeId=\"ns=1;i=456\" DataType=\"Boolean\" AccessLevel=\"3\">\n    <DisplayName>EnabledFlag</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=456</Reference>\n    </References>\n  </UAVariable>\n  <UAObject NodeId=\"ns=1;i=476\" BrowseName=\"VendorServerInfo\" ParentNodeId=\"ns=1;i=413\">\n    <DisplayName>VendorServerInfo</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=2033</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=413</Reference>\n    </References>\n  </UAObject>\n  <UAObject NodeId=\"ns=1;i=477\" BrowseName=\"ServerRedundancy\" ParentNodeId=\"ns=1;i=413\">\n    <DisplayName>ServerRedundancy</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=478</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=2034</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=413</Reference>\n    </References>\n  </UAObject>\n  <UAVariable NodeId=\"ns=1;i=478\" BrowseName=\"RedundancySupport\" ParentNodeId=\"ns=1;i=477\" DataType=\"i=851\">\n    <DisplayName>RedundancySupport</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=477</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=505\" BrowseName=\"1:ChildProperty\" SymbolicName=\"BrowseName4node66\" ParentNodeId=\"ns=1;i=413\" DataType=\"LocalizedText\">\n    <DisplayName>ChildProperty</DisplayName>\n    <References>\n      <Reference ReferenceType=\"ns=1;i=195\" IsForward=\"false\">ns=1;i=506</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=413</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=506\" BrowseName=\"1:BrowseName4node1109\" SymbolicName=\"NameNotSet1109\" ParentNodeId=\"ns=1;i=413\" DataType=\"Number\">\n    <DisplayName>BrowseName4node1109</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=510</Reference>\n      <Reference ReferenceType=\"ns=1;i=195\">ns=1;i=505</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=2368</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=413</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=510\" BrowseName=\"EURange\" ParentNodeId=\"ns=1;i=506\" DataType=\"i=884\">\n    <DisplayName>EURange</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=506</Reference>\n    </References>\n  </UAVariable>\n  <UAMethod NodeId=\"ns=1;i=512\" BrowseName=\"1:ChildMethod\" ParentNodeId=\"ns=1;i=413\" MethodDeclarationId=\"ns=1;i=295\">\n    <DisplayName>ChildMethod</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=513</Reference>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=514</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=413</Reference>\n    </References>\n  </UAMethod>\n  <UAVariable NodeId=\"ns=1;i=513\" BrowseName=\"InputArguments\" ParentNodeId=\"ns=1;i=512\" DataType=\"i=296\" ValueRank=\"1\" ArrayDimensions=\"0\">\n    <DisplayName>InputArguments</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=512</Reference>\n    </References>\n    <Value>\n      <ListOfExtensionObject xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=297</Identifier>\n          </TypeId>\n          <Body>\n            <Argument>\n              <Name>Input1</Name>\n              <DataType>\n                <Identifier>i=6</Identifier>\n              </DataType>\n              <ValueRank>-1</ValueRank>\n              <ArrayDimensions />\n            </Argument>\n          </Body>\n        </ExtensionObject>\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=297</Identifier>\n          </TypeId>\n          <Body>\n            <Argument>\n              <Name>Input2</Name>\n              <DataType>\n                <Identifier>i=6</Identifier>\n              </DataType>\n              <ValueRank>-1</ValueRank>\n              <ArrayDimensions />\n            </Argument>\n          </Body>\n        </ExtensionObject>\n      </ListOfExtensionObject>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=514\" BrowseName=\"OutputArguments\" ParentNodeId=\"ns=1;i=512\" DataType=\"i=296\" ValueRank=\"1\" ArrayDimensions=\"0\">\n    <DisplayName>OutputArguments</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=512</Reference>\n    </References>\n    <Value>\n      <ListOfExtensionObject xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=297</Identifier>\n          </TypeId>\n          <Body>\n            <Argument>\n              <Name>Output1</Name>\n              <DataType>\n                <Identifier>i=6</Identifier>\n              </DataType>\n              <ValueRank>-1</ValueRank>\n              <ArrayDimensions />\n            </Argument>\n          </Body>\n        </ExtensionObject>\n      </ListOfExtensionObject>\n    </Value>\n  </UAVariable>\n  <UAMethod NodeId=\"ns=1;i=515\" BrowseName=\"1:NonExecutableMethod\" ParentNodeId=\"ns=1;i=413\" MethodDeclarationId=\"ns=1;i=306\">\n    <DisplayName>NonExecutableMethod</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=413</Reference>\n    </References>\n  </UAMethod>\n</UANodeSet>"
  },
  {
    "path": "SemanticData/Tests/USNodeSetValidationUnitTestProject/XMLModels/CorrectModels/ObjectTypeTest/ObjectTypeTest.PredefinedNodes.xml",
    "content": "﻿<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<uax:ListOfNodeState xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xmlns:uax=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n  <uax:NamespaceUris>\n    <uax:NamespaceUri>http://cas.eu/UA/CommServer/UnitTests/ObjectTypeTest</uax:NamespaceUri>\n  </uax:NamespaceUris>\n  <ComplexObjectType xmlns=\"http://cas.eu/UA/CommServer/UnitTests/ObjectTypeTest\">\n    <uax:NodeClass>ObjectType_8</uax:NodeClass>\n    <uax:NodeId>\n      <uax:Identifier>ns=1;i=196</uax:Identifier>\n    </uax:NodeId>\n    <uax:BrowseName>\n      <uax:NamespaceIndex>1</uax:NamespaceIndex>\n      <uax:Name>ComplexObjectType</uax:Name>\n    </uax:BrowseName>\n    <uax:SuperTypeId>\n      <uax:Identifier>i=2004</uax:Identifier>\n    </uax:SuperTypeId>\n    <ServerCapabilities xmlns=\"http://opcfoundation.org/UA/\">\n      <uax:NodeClass>Object_1</uax:NodeClass>\n      <uax:NodeId>\n        <uax:Identifier>ns=1;i=214</uax:Identifier>\n      </uax:NodeId>\n      <uax:BrowseName>\n        <uax:NamespaceIndex>0</uax:NamespaceIndex>\n        <uax:Name>ServerCapabilities</uax:Name>\n      </uax:BrowseName>\n      <uax:ReferenceTypeId>\n        <uax:Identifier>i=47</uax:Identifier>\n      </uax:ReferenceTypeId>\n      <uax:TypeDefinitionId>\n        <uax:Identifier>i=2013</uax:Identifier>\n      </uax:TypeDefinitionId>\n      <uax:ModellingRuleId>\n        <uax:Identifier>i=78</uax:Identifier>\n      </uax:ModellingRuleId>\n      <uax:NumericId>214</uax:NumericId>\n      <ServerProfileArray>\n        <uax:NodeClass>Variable_2</uax:NodeClass>\n        <uax:NodeId>\n          <uax:Identifier>ns=1;i=215</uax:Identifier>\n        </uax:NodeId>\n        <uax:BrowseName>\n          <uax:NamespaceIndex>0</uax:NamespaceIndex>\n          <uax:Name>ServerProfileArray</uax:Name>\n        </uax:BrowseName>\n        <uax:ReferenceTypeId>\n          <uax:Identifier>i=46</uax:Identifier>\n        </uax:ReferenceTypeId>\n        <uax:TypeDefinitionId>\n          <uax:Identifier>i=68</uax:Identifier>\n        </uax:TypeDefinitionId>\n        <uax:ModellingRuleId>\n          <uax:Identifier>i=78</uax:Identifier>\n        </uax:ModellingRuleId>\n        <uax:NumericId>215</uax:NumericId>\n        <uax:DataType>\n          <uax:Identifier>i=12</uax:Identifier>\n        </uax:DataType>\n        <uax:ValueRank>1</uax:ValueRank>\n        <uax:ArrayDimensions>0</uax:ArrayDimensions>\n        <uax:AccessLevel>1</uax:AccessLevel>\n        <uax:UserAccessLevel>1</uax:UserAccessLevel>\n      </ServerProfileArray>\n      <LocaleIdArray>\n        <uax:NodeClass>Variable_2</uax:NodeClass>\n        <uax:NodeId>\n          <uax:Identifier>ns=1;i=216</uax:Identifier>\n        </uax:NodeId>\n        <uax:BrowseName>\n          <uax:NamespaceIndex>0</uax:NamespaceIndex>\n          <uax:Name>LocaleIdArray</uax:Name>\n        </uax:BrowseName>\n        <uax:ReferenceTypeId>\n          <uax:Identifier>i=46</uax:Identifier>\n        </uax:ReferenceTypeId>\n        <uax:TypeDefinitionId>\n          <uax:Identifier>i=68</uax:Identifier>\n        </uax:TypeDefinitionId>\n        <uax:ModellingRuleId>\n          <uax:Identifier>i=78</uax:Identifier>\n        </uax:ModellingRuleId>\n        <uax:NumericId>216</uax:NumericId>\n        <uax:DataType>\n          <uax:Identifier>i=295</uax:Identifier>\n        </uax:DataType>\n        <uax:ValueRank>1</uax:ValueRank>\n        <uax:ArrayDimensions>0</uax:ArrayDimensions>\n        <uax:AccessLevel>1</uax:AccessLevel>\n        <uax:UserAccessLevel>1</uax:UserAccessLevel>\n      </LocaleIdArray>\n      <MinSupportedSampleRate>\n        <uax:NodeClass>Variable_2</uax:NodeClass>\n        <uax:NodeId>\n          <uax:Identifier>ns=1;i=217</uax:Identifier>\n        </uax:NodeId>\n        <uax:BrowseName>\n          <uax:NamespaceIndex>0</uax:NamespaceIndex>\n          <uax:Name>MinSupportedSampleRate</uax:Name>\n        </uax:BrowseName>\n        <uax:ReferenceTypeId>\n          <uax:Identifier>i=46</uax:Identifier>\n        </uax:ReferenceTypeId>\n        <uax:TypeDefinitionId>\n          <uax:Identifier>i=68</uax:Identifier>\n        </uax:TypeDefinitionId>\n        <uax:ModellingRuleId>\n          <uax:Identifier>i=78</uax:Identifier>\n        </uax:ModellingRuleId>\n        <uax:NumericId>217</uax:NumericId>\n        <uax:DataType>\n          <uax:Identifier>i=290</uax:Identifier>\n        </uax:DataType>\n        <uax:ValueRank>-1</uax:ValueRank>\n        <uax:AccessLevel>1</uax:AccessLevel>\n        <uax:UserAccessLevel>1</uax:UserAccessLevel>\n      </MinSupportedSampleRate>\n      <MaxBrowseContinuationPoints>\n        <uax:NodeClass>Variable_2</uax:NodeClass>\n        <uax:NodeId>\n          <uax:Identifier>ns=1;i=218</uax:Identifier>\n        </uax:NodeId>\n        <uax:BrowseName>\n          <uax:NamespaceIndex>0</uax:NamespaceIndex>\n          <uax:Name>MaxBrowseContinuationPoints</uax:Name>\n        </uax:BrowseName>\n        <uax:ReferenceTypeId>\n          <uax:Identifier>i=46</uax:Identifier>\n        </uax:ReferenceTypeId>\n        <uax:TypeDefinitionId>\n          <uax:Identifier>i=68</uax:Identifier>\n        </uax:TypeDefinitionId>\n        <uax:ModellingRuleId>\n          <uax:Identifier>i=78</uax:Identifier>\n        </uax:ModellingRuleId>\n        <uax:NumericId>218</uax:NumericId>\n        <uax:DataType>\n          <uax:Identifier>i=5</uax:Identifier>\n        </uax:DataType>\n        <uax:ValueRank>-1</uax:ValueRank>\n        <uax:AccessLevel>1</uax:AccessLevel>\n        <uax:UserAccessLevel>1</uax:UserAccessLevel>\n      </MaxBrowseContinuationPoints>\n      <MaxQueryContinuationPoints>\n        <uax:NodeClass>Variable_2</uax:NodeClass>\n        <uax:NodeId>\n          <uax:Identifier>ns=1;i=219</uax:Identifier>\n        </uax:NodeId>\n        <uax:BrowseName>\n          <uax:NamespaceIndex>0</uax:NamespaceIndex>\n          <uax:Name>MaxQueryContinuationPoints</uax:Name>\n        </uax:BrowseName>\n        <uax:ReferenceTypeId>\n          <uax:Identifier>i=46</uax:Identifier>\n        </uax:ReferenceTypeId>\n        <uax:TypeDefinitionId>\n          <uax:Identifier>i=68</uax:Identifier>\n        </uax:TypeDefinitionId>\n        <uax:ModellingRuleId>\n          <uax:Identifier>i=78</uax:Identifier>\n        </uax:ModellingRuleId>\n        <uax:NumericId>219</uax:NumericId>\n        <uax:DataType>\n          <uax:Identifier>i=5</uax:Identifier>\n        </uax:DataType>\n        <uax:ValueRank>-1</uax:ValueRank>\n        <uax:AccessLevel>1</uax:AccessLevel>\n        <uax:UserAccessLevel>1</uax:UserAccessLevel>\n      </MaxQueryContinuationPoints>\n      <MaxHistoryContinuationPoints>\n        <uax:NodeClass>Variable_2</uax:NodeClass>\n        <uax:NodeId>\n          <uax:Identifier>ns=1;i=220</uax:Identifier>\n        </uax:NodeId>\n        <uax:BrowseName>\n          <uax:NamespaceIndex>0</uax:NamespaceIndex>\n          <uax:Name>MaxHistoryContinuationPoints</uax:Name>\n        </uax:BrowseName>\n        <uax:ReferenceTypeId>\n          <uax:Identifier>i=46</uax:Identifier>\n        </uax:ReferenceTypeId>\n        <uax:TypeDefinitionId>\n          <uax:Identifier>i=68</uax:Identifier>\n        </uax:TypeDefinitionId>\n        <uax:ModellingRuleId>\n          <uax:Identifier>i=78</uax:Identifier>\n        </uax:ModellingRuleId>\n        <uax:NumericId>220</uax:NumericId>\n        <uax:DataType>\n          <uax:Identifier>i=5</uax:Identifier>\n        </uax:DataType>\n        <uax:ValueRank>-1</uax:ValueRank>\n        <uax:AccessLevel>1</uax:AccessLevel>\n        <uax:UserAccessLevel>1</uax:UserAccessLevel>\n      </MaxHistoryContinuationPoints>\n      <SoftwareCertificates>\n        <uax:NodeClass>Variable_2</uax:NodeClass>\n        <uax:NodeId>\n          <uax:Identifier>ns=1;i=221</uax:Identifier>\n        </uax:NodeId>\n        <uax:BrowseName>\n          <uax:NamespaceIndex>0</uax:NamespaceIndex>\n          <uax:Name>SoftwareCertificates</uax:Name>\n        </uax:BrowseName>\n        <uax:ReferenceTypeId>\n          <uax:Identifier>i=46</uax:Identifier>\n        </uax:ReferenceTypeId>\n        <uax:TypeDefinitionId>\n          <uax:Identifier>i=68</uax:Identifier>\n        </uax:TypeDefinitionId>\n        <uax:ModellingRuleId>\n          <uax:Identifier>i=78</uax:Identifier>\n        </uax:ModellingRuleId>\n        <uax:NumericId>221</uax:NumericId>\n        <uax:DataType>\n          <uax:Identifier>i=344</uax:Identifier>\n        </uax:DataType>\n        <uax:ValueRank>1</uax:ValueRank>\n        <uax:ArrayDimensions>0</uax:ArrayDimensions>\n        <uax:AccessLevel>1</uax:AccessLevel>\n        <uax:UserAccessLevel>1</uax:UserAccessLevel>\n      </SoftwareCertificates>\n      <ModellingRules>\n        <uax:NodeClass>Object_1</uax:NodeClass>\n        <uax:NodeId>\n          <uax:Identifier>ns=1;i=237</uax:Identifier>\n        </uax:NodeId>\n        <uax:BrowseName>\n          <uax:NamespaceIndex>0</uax:NamespaceIndex>\n          <uax:Name>ModellingRules</uax:Name>\n        </uax:BrowseName>\n        <uax:ReferenceTypeId>\n          <uax:Identifier>i=47</uax:Identifier>\n        </uax:ReferenceTypeId>\n        <uax:TypeDefinitionId>\n          <uax:Identifier>i=61</uax:Identifier>\n        </uax:TypeDefinitionId>\n        <uax:ModellingRuleId>\n          <uax:Identifier>i=78</uax:Identifier>\n        </uax:ModellingRuleId>\n        <uax:NumericId>237</uax:NumericId>\n      </ModellingRules>\n      <AggregateFunctions>\n        <uax:NodeClass>Object_1</uax:NodeClass>\n        <uax:NodeId>\n          <uax:Identifier>ns=1;i=238</uax:Identifier>\n        </uax:NodeId>\n        <uax:BrowseName>\n          <uax:NamespaceIndex>0</uax:NamespaceIndex>\n          <uax:Name>AggregateFunctions</uax:Name>\n        </uax:BrowseName>\n        <uax:ReferenceTypeId>\n          <uax:Identifier>i=47</uax:Identifier>\n        </uax:ReferenceTypeId>\n        <uax:TypeDefinitionId>\n          <uax:Identifier>i=61</uax:Identifier>\n        </uax:TypeDefinitionId>\n        <uax:ModellingRuleId>\n          <uax:Identifier>i=78</uax:Identifier>\n        </uax:ModellingRuleId>\n        <uax:NumericId>238</uax:NumericId>\n      </AggregateFunctions>\n    </ServerCapabilities>\n    <ChildObject>\n      <uax:NodeClass>Object_1</uax:NodeClass>\n      <uax:NodeId>\n        <uax:Identifier>ns=1;i=308</uax:Identifier>\n      </uax:NodeId>\n      <uax:BrowseName>\n        <uax:NamespaceIndex>1</uax:NamespaceIndex>\n        <uax:Name>ChildObject</uax:Name>\n      </uax:BrowseName>\n      <uax:ReferenceTypeId>\n        <uax:Identifier>i=47</uax:Identifier>\n      </uax:ReferenceTypeId>\n      <uax:TypeDefinitionId>\n        <uax:Identifier>i=58</uax:Identifier>\n      </uax:TypeDefinitionId>\n      <uax:ModellingRuleId>\n        <uax:Identifier>i=11510</uax:Identifier>\n      </uax:ModellingRuleId>\n      <uax:NumericId>308</uax:NumericId>\n      <uax:EventNotifier>1</uax:EventNotifier>\n    </ChildObject>\n    <BrowseName4node66>\n      <uax:NodeClass>Variable_2</uax:NodeClass>\n      <uax:NodeId>\n        <uax:Identifier>ns=1;i=309</uax:Identifier>\n      </uax:NodeId>\n      <uax:BrowseName>\n        <uax:NamespaceIndex>1</uax:NamespaceIndex>\n        <uax:Name>ChildProperty</uax:Name>\n      </uax:BrowseName>\n      <uax:ReferenceTypeId>\n        <uax:Identifier>i=46</uax:Identifier>\n      </uax:ReferenceTypeId>\n      <uax:TypeDefinitionId>\n        <uax:Identifier>i=68</uax:Identifier>\n      </uax:TypeDefinitionId>\n      <uax:ModellingRuleId>\n        <uax:Identifier>i=78</uax:Identifier>\n      </uax:ModellingRuleId>\n      <uax:NumericId>309</uax:NumericId>\n      <uax:DataType>\n        <uax:Identifier>i=21</uax:Identifier>\n      </uax:DataType>\n      <uax:ValueRank>-1</uax:ValueRank>\n      <uax:AccessLevel>1</uax:AccessLevel>\n      <uax:UserAccessLevel>1</uax:UserAccessLevel>\n      <uax:References>\n        <uax:Reference>\n          <uax:ReferenceTypeId>\n            <uax:Identifier>ns=1;i=195</uax:Identifier>\n          </uax:ReferenceTypeId>\n          <uax:IsInverse>true</uax:IsInverse>\n          <uax:TargetId>\n            <uax:Identifier>ns=1;i=289</uax:Identifier>\n          </uax:TargetId>\n        </uax:Reference>\n      </uax:References>\n    </BrowseName4node66>\n    <NameNotSet1109>\n      <uax:NodeClass>Variable_2</uax:NodeClass>\n      <uax:NodeId>\n        <uax:Identifier>ns=1;i=289</uax:Identifier>\n      </uax:NodeId>\n      <uax:BrowseName>\n        <uax:NamespaceIndex>1</uax:NamespaceIndex>\n        <uax:Name>BrowseName4node1109</uax:Name>\n      </uax:BrowseName>\n      <uax:ReferenceTypeId>\n        <uax:Identifier>i=47</uax:Identifier>\n      </uax:ReferenceTypeId>\n      <uax:TypeDefinitionId>\n        <uax:Identifier>i=2368</uax:Identifier>\n      </uax:TypeDefinitionId>\n      <uax:ModellingRuleId>\n        <uax:Identifier>i=78</uax:Identifier>\n      </uax:ModellingRuleId>\n      <uax:NumericId>289</uax:NumericId>\n      <uax:DataType>\n        <uax:Identifier>i=26</uax:Identifier>\n      </uax:DataType>\n      <uax:ValueRank>-1</uax:ValueRank>\n      <uax:AccessLevel>1</uax:AccessLevel>\n      <uax:UserAccessLevel>1</uax:UserAccessLevel>\n      <uax:References>\n        <uax:Reference>\n          <uax:ReferenceTypeId>\n            <uax:Identifier>ns=1;i=195</uax:Identifier>\n          </uax:ReferenceTypeId>\n          <uax:TargetId>\n            <uax:Identifier>ns=1;i=309</uax:Identifier>\n          </uax:TargetId>\n        </uax:Reference>\n      </uax:References>\n      <EURange xmlns=\"http://opcfoundation.org/UA/\">\n        <uax:NodeClass>Variable_2</uax:NodeClass>\n        <uax:NodeId>\n          <uax:Identifier>ns=1;i=293</uax:Identifier>\n        </uax:NodeId>\n        <uax:BrowseName>\n          <uax:NamespaceIndex>0</uax:NamespaceIndex>\n          <uax:Name>EURange</uax:Name>\n        </uax:BrowseName>\n        <uax:ReferenceTypeId>\n          <uax:Identifier>i=46</uax:Identifier>\n        </uax:ReferenceTypeId>\n        <uax:TypeDefinitionId>\n          <uax:Identifier>i=68</uax:Identifier>\n        </uax:TypeDefinitionId>\n        <uax:ModellingRuleId>\n          <uax:Identifier>i=78</uax:Identifier>\n        </uax:ModellingRuleId>\n        <uax:NumericId>293</uax:NumericId>\n        <uax:DataType>\n          <uax:Identifier>i=884</uax:Identifier>\n        </uax:DataType>\n        <uax:ValueRank>-1</uax:ValueRank>\n        <uax:AccessLevel>1</uax:AccessLevel>\n        <uax:UserAccessLevel>1</uax:UserAccessLevel>\n      </EURange>\n    </NameNotSet1109>\n    <ChildMethod>\n      <uax:NodeClass>Method_4</uax:NodeClass>\n      <uax:NodeId>\n        <uax:Identifier>ns=1;i=295</uax:Identifier>\n      </uax:NodeId>\n      <uax:BrowseName>\n        <uax:NamespaceIndex>1</uax:NamespaceIndex>\n        <uax:Name>ChildMethod</uax:Name>\n      </uax:BrowseName>\n      <uax:ReferenceTypeId>\n        <uax:Identifier>i=47</uax:Identifier>\n      </uax:ReferenceTypeId>\n      <uax:TypeDefinitionId>\n        <uax:Identifier>ns=1;i=295</uax:Identifier>\n      </uax:TypeDefinitionId>\n      <uax:ModellingRuleId>\n        <uax:Identifier>i=78</uax:Identifier>\n      </uax:ModellingRuleId>\n      <uax:NumericId>295</uax:NumericId>\n      <uax:Executable>true</uax:Executable>\n      <uax:UserExecutable>true</uax:UserExecutable>\n      <InputArguments xmlns=\"http://opcfoundation.org/UA/\">\n        <uax:NodeClass>Variable_2</uax:NodeClass>\n        <uax:NodeId>\n          <uax:Identifier>ns=1;i=299</uax:Identifier>\n        </uax:NodeId>\n        <uax:BrowseName>\n          <uax:NamespaceIndex>0</uax:NamespaceIndex>\n          <uax:Name>InputArguments</uax:Name>\n        </uax:BrowseName>\n        <uax:ReferenceTypeId>\n          <uax:Identifier>i=46</uax:Identifier>\n        </uax:ReferenceTypeId>\n        <uax:TypeDefinitionId>\n          <uax:Identifier>i=68</uax:Identifier>\n        </uax:TypeDefinitionId>\n        <uax:ModellingRuleId>\n          <uax:Identifier>i=78</uax:Identifier>\n        </uax:ModellingRuleId>\n        <uax:NumericId>299</uax:NumericId>\n        <uax:Value>\n          <uax:Value>\n            <uax:ListOfExtensionObject>\n              <uax:ExtensionObject>\n                <uax:TypeId>\n                  <uax:Identifier>i=297</uax:Identifier>\n                </uax:TypeId>\n                <uax:Body>\n                  <uax:Argument>\n                    <uax:Name>Input1</uax:Name>\n                    <uax:DataType>\n                      <uax:Identifier>i=6</uax:Identifier>\n                    </uax:DataType>\n                    <uax:ValueRank>-1</uax:ValueRank>\n                    <uax:ArrayDimensions />\n                  </uax:Argument>\n                </uax:Body>\n              </uax:ExtensionObject>\n              <uax:ExtensionObject>\n                <uax:TypeId>\n                  <uax:Identifier>i=297</uax:Identifier>\n                </uax:TypeId>\n                <uax:Body>\n                  <uax:Argument>\n                    <uax:Name>Input2</uax:Name>\n                    <uax:DataType>\n                      <uax:Identifier>i=6</uax:Identifier>\n                    </uax:DataType>\n                    <uax:ValueRank>-1</uax:ValueRank>\n                    <uax:ArrayDimensions />\n                  </uax:Argument>\n                </uax:Body>\n              </uax:ExtensionObject>\n            </uax:ListOfExtensionObject>\n          </uax:Value>\n        </uax:Value>\n        <uax:DataType>\n          <uax:Identifier>i=296</uax:Identifier>\n        </uax:DataType>\n        <uax:ValueRank>1</uax:ValueRank>\n        <uax:ArrayDimensions>0</uax:ArrayDimensions>\n        <uax:AccessLevel>1</uax:AccessLevel>\n        <uax:UserAccessLevel>1</uax:UserAccessLevel>\n      </InputArguments>\n      <OutputArguments xmlns=\"http://opcfoundation.org/UA/\">\n        <uax:NodeClass>Variable_2</uax:NodeClass>\n        <uax:NodeId>\n          <uax:Identifier>ns=1;i=300</uax:Identifier>\n        </uax:NodeId>\n        <uax:BrowseName>\n          <uax:NamespaceIndex>0</uax:NamespaceIndex>\n          <uax:Name>OutputArguments</uax:Name>\n        </uax:BrowseName>\n        <uax:ReferenceTypeId>\n          <uax:Identifier>i=46</uax:Identifier>\n        </uax:ReferenceTypeId>\n        <uax:TypeDefinitionId>\n          <uax:Identifier>i=68</uax:Identifier>\n        </uax:TypeDefinitionId>\n        <uax:ModellingRuleId>\n          <uax:Identifier>i=78</uax:Identifier>\n        </uax:ModellingRuleId>\n        <uax:NumericId>300</uax:NumericId>\n        <uax:Value>\n          <uax:Value>\n            <uax:ListOfExtensionObject>\n              <uax:ExtensionObject>\n                <uax:TypeId>\n                  <uax:Identifier>i=297</uax:Identifier>\n                </uax:TypeId>\n                <uax:Body>\n                  <uax:Argument>\n                    <uax:Name>Output1</uax:Name>\n                    <uax:DataType>\n                      <uax:Identifier>i=6</uax:Identifier>\n                    </uax:DataType>\n                    <uax:ValueRank>-1</uax:ValueRank>\n                    <uax:ArrayDimensions />\n                  </uax:Argument>\n                </uax:Body>\n              </uax:ExtensionObject>\n            </uax:ListOfExtensionObject>\n          </uax:Value>\n        </uax:Value>\n        <uax:DataType>\n          <uax:Identifier>i=296</uax:Identifier>\n        </uax:DataType>\n        <uax:ValueRank>1</uax:ValueRank>\n        <uax:ArrayDimensions>0</uax:ArrayDimensions>\n        <uax:AccessLevel>1</uax:AccessLevel>\n        <uax:UserAccessLevel>1</uax:UserAccessLevel>\n      </OutputArguments>\n    </ChildMethod>\n    <NonExecutableMethod>\n      <uax:NodeClass>Method_4</uax:NodeClass>\n      <uax:NodeId>\n        <uax:Identifier>ns=1;i=306</uax:Identifier>\n      </uax:NodeId>\n      <uax:BrowseName>\n        <uax:NamespaceIndex>1</uax:NamespaceIndex>\n        <uax:Name>NonExecutableMethod</uax:Name>\n      </uax:BrowseName>\n      <uax:ReferenceTypeId>\n        <uax:Identifier>i=47</uax:Identifier>\n      </uax:ReferenceTypeId>\n      <uax:TypeDefinitionId>\n        <uax:Identifier>ns=1;i=306</uax:Identifier>\n      </uax:TypeDefinitionId>\n      <uax:ModellingRuleId>\n        <uax:Identifier>i=78</uax:Identifier>\n      </uax:ModellingRuleId>\n      <uax:NumericId>306</uax:NumericId>\n      <uax:Executable>true</uax:Executable>\n      <uax:UserExecutable>true</uax:UserExecutable>\n    </NonExecutableMethod>\n  </ComplexObjectType>\n  <FlowTo xmlns=\"http://cas.eu/UA/CommServer/UnitTests/ObjectTypeTest\">\n    <uax:NodeClass>ReferenceType_32</uax:NodeClass>\n    <uax:NodeId>\n      <uax:Identifier>ns=1;i=195</uax:Identifier>\n    </uax:NodeId>\n    <uax:BrowseName>\n      <uax:NamespaceIndex>1</uax:NamespaceIndex>\n      <uax:Name>FlowTo</uax:Name>\n    </uax:BrowseName>\n    <uax:DisplayName>\n      <uax:Text>Flow to type</uax:Text>\n    </uax:DisplayName>\n    <uax:Description>\n      <uax:Text>It is test ReferenceType</uax:Text>\n    </uax:Description>\n    <uax:SuperTypeId>\n      <uax:Identifier>i=32</uax:Identifier>\n    </uax:SuperTypeId>\n    <uax:InverseName>\n      <uax:Text>FlowFrom</uax:Text>\n    </uax:InverseName>\n  </FlowTo>\n  <ChildMethodComplexObjectType xmlns=\"http://cas.eu/UA/CommServer/UnitTests/ObjectTypeTest\">\n    <uax:NodeClass>Method_4</uax:NodeClass>\n    <uax:NodeId>\n      <uax:Identifier>ns=1;i=303</uax:Identifier>\n    </uax:NodeId>\n    <uax:BrowseName>\n      <uax:NamespaceIndex>1</uax:NamespaceIndex>\n      <uax:Name>ChildMethodComplexObjectType</uax:Name>\n    </uax:BrowseName>\n    <uax:ReferenceTypeId>\n      <uax:Identifier>i=47</uax:Identifier>\n    </uax:ReferenceTypeId>\n    <uax:TypeDefinitionId>\n      <uax:Identifier>ns=1;i=303</uax:Identifier>\n    </uax:TypeDefinitionId>\n    <uax:NumericId>303</uax:NumericId>\n    <uax:Executable>true</uax:Executable>\n    <uax:UserExecutable>true</uax:UserExecutable>\n    <InputArguments xmlns=\"http://opcfoundation.org/UA/\">\n      <uax:NodeClass>Variable_2</uax:NodeClass>\n      <uax:NodeId>\n        <uax:Identifier>ns=1;i=304</uax:Identifier>\n      </uax:NodeId>\n      <uax:BrowseName>\n        <uax:NamespaceIndex>0</uax:NamespaceIndex>\n        <uax:Name>InputArguments</uax:Name>\n      </uax:BrowseName>\n      <uax:ReferenceTypeId>\n        <uax:Identifier>i=46</uax:Identifier>\n      </uax:ReferenceTypeId>\n      <uax:TypeDefinitionId>\n        <uax:Identifier>i=68</uax:Identifier>\n      </uax:TypeDefinitionId>\n      <uax:NumericId>304</uax:NumericId>\n      <uax:Value>\n        <uax:Value>\n          <uax:ListOfExtensionObject>\n            <uax:ExtensionObject>\n              <uax:TypeId>\n                <uax:Identifier>i=297</uax:Identifier>\n              </uax:TypeId>\n              <uax:Body>\n                <uax:Argument>\n                  <uax:Name>Input1</uax:Name>\n                  <uax:DataType>\n                    <uax:Identifier>i=6</uax:Identifier>\n                  </uax:DataType>\n                  <uax:ValueRank>-1</uax:ValueRank>\n                  <uax:ArrayDimensions />\n                </uax:Argument>\n              </uax:Body>\n            </uax:ExtensionObject>\n            <uax:ExtensionObject>\n              <uax:TypeId>\n                <uax:Identifier>i=297</uax:Identifier>\n              </uax:TypeId>\n              <uax:Body>\n                <uax:Argument>\n                  <uax:Name>Input2</uax:Name>\n                  <uax:DataType>\n                    <uax:Identifier>i=6</uax:Identifier>\n                  </uax:DataType>\n                  <uax:ValueRank>-1</uax:ValueRank>\n                  <uax:ArrayDimensions />\n                </uax:Argument>\n              </uax:Body>\n            </uax:ExtensionObject>\n          </uax:ListOfExtensionObject>\n        </uax:Value>\n      </uax:Value>\n      <uax:DataType>\n        <uax:Identifier>i=296</uax:Identifier>\n      </uax:DataType>\n      <uax:ValueRank>1</uax:ValueRank>\n      <uax:ArrayDimensions>0</uax:ArrayDimensions>\n      <uax:AccessLevel>1</uax:AccessLevel>\n      <uax:UserAccessLevel>1</uax:UserAccessLevel>\n    </InputArguments>\n    <OutputArguments xmlns=\"http://opcfoundation.org/UA/\">\n      <uax:NodeClass>Variable_2</uax:NodeClass>\n      <uax:NodeId>\n        <uax:Identifier>ns=1;i=305</uax:Identifier>\n      </uax:NodeId>\n      <uax:BrowseName>\n        <uax:NamespaceIndex>0</uax:NamespaceIndex>\n        <uax:Name>OutputArguments</uax:Name>\n      </uax:BrowseName>\n      <uax:ReferenceTypeId>\n        <uax:Identifier>i=46</uax:Identifier>\n      </uax:ReferenceTypeId>\n      <uax:TypeDefinitionId>\n        <uax:Identifier>i=68</uax:Identifier>\n      </uax:TypeDefinitionId>\n      <uax:NumericId>305</uax:NumericId>\n      <uax:Value>\n        <uax:Value>\n          <uax:ListOfExtensionObject>\n            <uax:ExtensionObject>\n              <uax:TypeId>\n                <uax:Identifier>i=297</uax:Identifier>\n              </uax:TypeId>\n              <uax:Body>\n                <uax:Argument>\n                  <uax:Name>Output1</uax:Name>\n                  <uax:DataType>\n                    <uax:Identifier>i=6</uax:Identifier>\n                  </uax:DataType>\n                  <uax:ValueRank>-1</uax:ValueRank>\n                  <uax:ArrayDimensions />\n                </uax:Argument>\n              </uax:Body>\n            </uax:ExtensionObject>\n          </uax:ListOfExtensionObject>\n        </uax:Value>\n      </uax:Value>\n      <uax:DataType>\n        <uax:Identifier>i=296</uax:Identifier>\n      </uax:DataType>\n      <uax:ValueRank>1</uax:ValueRank>\n      <uax:ArrayDimensions>0</uax:ArrayDimensions>\n      <uax:AccessLevel>1</uax:AccessLevel>\n      <uax:UserAccessLevel>1</uax:UserAccessLevel>\n    </OutputArguments>\n  </ChildMethodComplexObjectType>\n  <NonExecutableMethodComplexObjectType xmlns=\"http://cas.eu/UA/CommServer/UnitTests/ObjectTypeTest\">\n    <uax:NodeClass>Method_4</uax:NodeClass>\n    <uax:NodeId>\n      <uax:Identifier>ns=1;i=307</uax:Identifier>\n    </uax:NodeId>\n    <uax:BrowseName>\n      <uax:NamespaceIndex>1</uax:NamespaceIndex>\n      <uax:Name>NonExecutableMethodComplexObjectType</uax:Name>\n    </uax:BrowseName>\n    <uax:ReferenceTypeId>\n      <uax:Identifier>i=47</uax:Identifier>\n    </uax:ReferenceTypeId>\n    <uax:TypeDefinitionId>\n      <uax:Identifier>ns=1;i=307</uax:Identifier>\n    </uax:TypeDefinitionId>\n    <uax:NumericId>307</uax:NumericId>\n  </NonExecutableMethodComplexObjectType>\n  <DerivedFromComplexObjectType xmlns=\"http://cas.eu/UA/CommServer/UnitTests/ObjectTypeTest\">\n    <uax:NodeClass>ObjectType_8</uax:NodeClass>\n    <uax:NodeId>\n      <uax:Identifier>ns=1;i=310</uax:Identifier>\n    </uax:NodeId>\n    <uax:BrowseName>\n      <uax:NamespaceIndex>1</uax:NamespaceIndex>\n      <uax:Name>DerivedFromComplexObjectType</uax:Name>\n    </uax:BrowseName>\n    <uax:SuperTypeId>\n      <uax:Identifier>ns=1;i=196</uax:Identifier>\n    </uax:SuperTypeId>\n    <ChildMethod>\n      <uax:NodeClass>Method_4</uax:NodeClass>\n      <uax:NodeId>\n        <uax:Identifier>ns=1;i=409</uax:Identifier>\n      </uax:NodeId>\n      <uax:BrowseName>\n        <uax:NamespaceIndex>1</uax:NamespaceIndex>\n        <uax:Name>ChildMethod</uax:Name>\n      </uax:BrowseName>\n      <uax:ReferenceTypeId>\n        <uax:Identifier>i=47</uax:Identifier>\n      </uax:ReferenceTypeId>\n      <uax:TypeDefinitionId>\n        <uax:Identifier>ns=1;i=295</uax:Identifier>\n      </uax:TypeDefinitionId>\n      <uax:ModellingRuleId>\n        <uax:Identifier>i=78</uax:Identifier>\n      </uax:ModellingRuleId>\n      <uax:NumericId>409</uax:NumericId>\n      <uax:Executable>true</uax:Executable>\n      <uax:UserExecutable>true</uax:UserExecutable>\n      <InputArguments xmlns=\"http://opcfoundation.org/UA/\">\n        <uax:NodeClass>Variable_2</uax:NodeClass>\n        <uax:NodeId>\n          <uax:Identifier>ns=1;i=410</uax:Identifier>\n        </uax:NodeId>\n        <uax:BrowseName>\n          <uax:NamespaceIndex>0</uax:NamespaceIndex>\n          <uax:Name>InputArguments</uax:Name>\n        </uax:BrowseName>\n        <uax:ReferenceTypeId>\n          <uax:Identifier>i=46</uax:Identifier>\n        </uax:ReferenceTypeId>\n        <uax:TypeDefinitionId>\n          <uax:Identifier>i=68</uax:Identifier>\n        </uax:TypeDefinitionId>\n        <uax:ModellingRuleId>\n          <uax:Identifier>i=78</uax:Identifier>\n        </uax:ModellingRuleId>\n        <uax:NumericId>410</uax:NumericId>\n        <uax:Value>\n          <uax:Value>\n            <uax:ListOfExtensionObject>\n              <uax:ExtensionObject>\n                <uax:TypeId>\n                  <uax:Identifier>i=297</uax:Identifier>\n                </uax:TypeId>\n                <uax:Body>\n                  <uax:Argument>\n                    <uax:Name>Input1</uax:Name>\n                    <uax:DataType>\n                      <uax:Identifier>i=6</uax:Identifier>\n                    </uax:DataType>\n                    <uax:ValueRank>-1</uax:ValueRank>\n                    <uax:ArrayDimensions />\n                  </uax:Argument>\n                </uax:Body>\n              </uax:ExtensionObject>\n              <uax:ExtensionObject>\n                <uax:TypeId>\n                  <uax:Identifier>i=297</uax:Identifier>\n                </uax:TypeId>\n                <uax:Body>\n                  <uax:Argument>\n                    <uax:Name>Input2</uax:Name>\n                    <uax:DataType>\n                      <uax:Identifier>i=6</uax:Identifier>\n                    </uax:DataType>\n                    <uax:ValueRank>-1</uax:ValueRank>\n                    <uax:ArrayDimensions />\n                  </uax:Argument>\n                </uax:Body>\n              </uax:ExtensionObject>\n            </uax:ListOfExtensionObject>\n          </uax:Value>\n        </uax:Value>\n        <uax:DataType>\n          <uax:Identifier>i=296</uax:Identifier>\n        </uax:DataType>\n        <uax:ValueRank>1</uax:ValueRank>\n        <uax:ArrayDimensions>0</uax:ArrayDimensions>\n        <uax:AccessLevel>1</uax:AccessLevel>\n        <uax:UserAccessLevel>1</uax:UserAccessLevel>\n      </InputArguments>\n      <OutputArguments xmlns=\"http://opcfoundation.org/UA/\">\n        <uax:NodeClass>Variable_2</uax:NodeClass>\n        <uax:NodeId>\n          <uax:Identifier>ns=1;i=411</uax:Identifier>\n        </uax:NodeId>\n        <uax:BrowseName>\n          <uax:NamespaceIndex>0</uax:NamespaceIndex>\n          <uax:Name>OutputArguments</uax:Name>\n        </uax:BrowseName>\n        <uax:ReferenceTypeId>\n          <uax:Identifier>i=46</uax:Identifier>\n        </uax:ReferenceTypeId>\n        <uax:TypeDefinitionId>\n          <uax:Identifier>i=68</uax:Identifier>\n        </uax:TypeDefinitionId>\n        <uax:ModellingRuleId>\n          <uax:Identifier>i=78</uax:Identifier>\n        </uax:ModellingRuleId>\n        <uax:NumericId>411</uax:NumericId>\n        <uax:Value>\n          <uax:Value>\n            <uax:ListOfExtensionObject>\n              <uax:ExtensionObject>\n                <uax:TypeId>\n                  <uax:Identifier>i=297</uax:Identifier>\n                </uax:TypeId>\n                <uax:Body>\n                  <uax:Argument>\n                    <uax:Name>Output1</uax:Name>\n                    <uax:DataType>\n                      <uax:Identifier>i=6</uax:Identifier>\n                    </uax:DataType>\n                    <uax:ValueRank>-1</uax:ValueRank>\n                    <uax:ArrayDimensions />\n                  </uax:Argument>\n                </uax:Body>\n              </uax:ExtensionObject>\n            </uax:ListOfExtensionObject>\n          </uax:Value>\n        </uax:Value>\n        <uax:DataType>\n          <uax:Identifier>i=296</uax:Identifier>\n        </uax:DataType>\n        <uax:ValueRank>1</uax:ValueRank>\n        <uax:ArrayDimensions>0</uax:ArrayDimensions>\n        <uax:AccessLevel>1</uax:AccessLevel>\n        <uax:UserAccessLevel>1</uax:UserAccessLevel>\n      </OutputArguments>\n    </ChildMethod>\n  </DerivedFromComplexObjectType>\n  <NameNotSet6 xmlns=\"http://cas.eu/UA/CommServer/UnitTests/ObjectTypeTest\">\n    <uax:NodeClass>Object_1</uax:NodeClass>\n    <uax:NodeId>\n      <uax:Identifier>ns=1;i=413</uax:Identifier>\n    </uax:NodeId>\n    <uax:BrowseName>\n      <uax:NamespaceIndex>1</uax:NamespaceIndex>\n      <uax:Name>NameNotSet6</uax:Name>\n    </uax:BrowseName>\n    <uax:ReferenceTypeId>\n      <uax:Identifier>i=47</uax:Identifier>\n    </uax:ReferenceTypeId>\n    <uax:TypeDefinitionId>\n      <uax:Identifier>ns=1;i=310</uax:Identifier>\n    </uax:TypeDefinitionId>\n    <uax:NumericId>413</uax:NumericId>\n    <uax:References>\n      <uax:Reference>\n        <uax:ReferenceTypeId>\n          <uax:Identifier>i=35</uax:Identifier>\n        </uax:ReferenceTypeId>\n        <uax:IsInverse>true</uax:IsInverse>\n        <uax:TargetId>\n          <uax:Identifier>i=85</uax:Identifier>\n        </uax:TargetId>\n      </uax:Reference>\n    </uax:References>\n    <ServerArray xmlns=\"http://opcfoundation.org/UA/\">\n      <uax:NodeClass>Variable_2</uax:NodeClass>\n      <uax:NodeId>\n        <uax:Identifier>ns=1;i=414</uax:Identifier>\n      </uax:NodeId>\n      <uax:BrowseName>\n        <uax:NamespaceIndex>0</uax:NamespaceIndex>\n        <uax:Name>ServerArray</uax:Name>\n      </uax:BrowseName>\n      <uax:ReferenceTypeId>\n        <uax:Identifier>i=46</uax:Identifier>\n      </uax:ReferenceTypeId>\n      <uax:TypeDefinitionId>\n        <uax:Identifier>i=68</uax:Identifier>\n      </uax:TypeDefinitionId>\n      <uax:NumericId>414</uax:NumericId>\n      <uax:DataType>\n        <uax:Identifier>i=12</uax:Identifier>\n      </uax:DataType>\n      <uax:ValueRank>1</uax:ValueRank>\n      <uax:ArrayDimensions>0</uax:ArrayDimensions>\n      <uax:AccessLevel>1</uax:AccessLevel>\n      <uax:UserAccessLevel>1</uax:UserAccessLevel>\n      <uax:MinimumSamplingInterval>1000</uax:MinimumSamplingInterval>\n    </ServerArray>\n    <NamespaceArray xmlns=\"http://opcfoundation.org/UA/\">\n      <uax:NodeClass>Variable_2</uax:NodeClass>\n      <uax:NodeId>\n        <uax:Identifier>ns=1;i=415</uax:Identifier>\n      </uax:NodeId>\n      <uax:BrowseName>\n        <uax:NamespaceIndex>0</uax:NamespaceIndex>\n        <uax:Name>NamespaceArray</uax:Name>\n      </uax:BrowseName>\n      <uax:ReferenceTypeId>\n        <uax:Identifier>i=46</uax:Identifier>\n      </uax:ReferenceTypeId>\n      <uax:TypeDefinitionId>\n        <uax:Identifier>i=68</uax:Identifier>\n      </uax:TypeDefinitionId>\n      <uax:NumericId>415</uax:NumericId>\n      <uax:DataType>\n        <uax:Identifier>i=12</uax:Identifier>\n      </uax:DataType>\n      <uax:ValueRank>1</uax:ValueRank>\n      <uax:ArrayDimensions>0</uax:ArrayDimensions>\n      <uax:AccessLevel>1</uax:AccessLevel>\n      <uax:UserAccessLevel>1</uax:UserAccessLevel>\n      <uax:MinimumSamplingInterval>1000</uax:MinimumSamplingInterval>\n    </NamespaceArray>\n    <ServerStatus xmlns=\"http://opcfoundation.org/UA/\">\n      <uax:NodeClass>Variable_2</uax:NodeClass>\n      <uax:NodeId>\n        <uax:Identifier>ns=1;i=416</uax:Identifier>\n      </uax:NodeId>\n      <uax:BrowseName>\n        <uax:NamespaceIndex>0</uax:NamespaceIndex>\n        <uax:Name>ServerStatus</uax:Name>\n      </uax:BrowseName>\n      <uax:ReferenceTypeId>\n        <uax:Identifier>i=47</uax:Identifier>\n      </uax:ReferenceTypeId>\n      <uax:TypeDefinitionId>\n        <uax:Identifier>i=2138</uax:Identifier>\n      </uax:TypeDefinitionId>\n      <uax:NumericId>416</uax:NumericId>\n      <uax:DataType>\n        <uax:Identifier>i=862</uax:Identifier>\n      </uax:DataType>\n      <uax:ValueRank>-1</uax:ValueRank>\n      <uax:AccessLevel>1</uax:AccessLevel>\n      <uax:UserAccessLevel>1</uax:UserAccessLevel>\n      <uax:MinimumSamplingInterval>1000</uax:MinimumSamplingInterval>\n      <StartTime>\n        <uax:NodeClass>Variable_2</uax:NodeClass>\n        <uax:NodeId>\n          <uax:Identifier>ns=1;i=417</uax:Identifier>\n        </uax:NodeId>\n        <uax:BrowseName>\n          <uax:NamespaceIndex>0</uax:NamespaceIndex>\n          <uax:Name>StartTime</uax:Name>\n        </uax:BrowseName>\n        <uax:ReferenceTypeId>\n          <uax:Identifier>i=47</uax:Identifier>\n        </uax:ReferenceTypeId>\n        <uax:TypeDefinitionId>\n          <uax:Identifier>i=63</uax:Identifier>\n        </uax:TypeDefinitionId>\n        <uax:NumericId>417</uax:NumericId>\n        <uax:DataType>\n          <uax:Identifier>i=294</uax:Identifier>\n        </uax:DataType>\n        <uax:ValueRank>-1</uax:ValueRank>\n        <uax:AccessLevel>1</uax:AccessLevel>\n        <uax:UserAccessLevel>1</uax:UserAccessLevel>\n      </StartTime>\n      <CurrentTime>\n        <uax:NodeClass>Variable_2</uax:NodeClass>\n        <uax:NodeId>\n          <uax:Identifier>ns=1;i=418</uax:Identifier>\n        </uax:NodeId>\n        <uax:BrowseName>\n          <uax:NamespaceIndex>0</uax:NamespaceIndex>\n          <uax:Name>CurrentTime</uax:Name>\n        </uax:BrowseName>\n        <uax:ReferenceTypeId>\n          <uax:Identifier>i=47</uax:Identifier>\n        </uax:ReferenceTypeId>\n        <uax:TypeDefinitionId>\n          <uax:Identifier>i=63</uax:Identifier>\n        </uax:TypeDefinitionId>\n        <uax:NumericId>418</uax:NumericId>\n        <uax:DataType>\n          <uax:Identifier>i=294</uax:Identifier>\n        </uax:DataType>\n        <uax:ValueRank>-1</uax:ValueRank>\n        <uax:AccessLevel>1</uax:AccessLevel>\n        <uax:UserAccessLevel>1</uax:UserAccessLevel>\n      </CurrentTime>\n      <State>\n        <uax:NodeClass>Variable_2</uax:NodeClass>\n        <uax:NodeId>\n          <uax:Identifier>ns=1;i=419</uax:Identifier>\n        </uax:NodeId>\n        <uax:BrowseName>\n          <uax:NamespaceIndex>0</uax:NamespaceIndex>\n          <uax:Name>State</uax:Name>\n        </uax:BrowseName>\n        <uax:ReferenceTypeId>\n          <uax:Identifier>i=47</uax:Identifier>\n        </uax:ReferenceTypeId>\n        <uax:TypeDefinitionId>\n          <uax:Identifier>i=63</uax:Identifier>\n        </uax:TypeDefinitionId>\n        <uax:NumericId>419</uax:NumericId>\n        <uax:DataType>\n          <uax:Identifier>i=852</uax:Identifier>\n        </uax:DataType>\n        <uax:ValueRank>-1</uax:ValueRank>\n        <uax:AccessLevel>1</uax:AccessLevel>\n        <uax:UserAccessLevel>1</uax:UserAccessLevel>\n      </State>\n      <BuildInfo>\n        <uax:NodeClass>Variable_2</uax:NodeClass>\n        <uax:NodeId>\n          <uax:Identifier>ns=1;i=420</uax:Identifier>\n        </uax:NodeId>\n        <uax:BrowseName>\n          <uax:NamespaceIndex>0</uax:NamespaceIndex>\n          <uax:Name>BuildInfo</uax:Name>\n        </uax:BrowseName>\n        <uax:ReferenceTypeId>\n          <uax:Identifier>i=47</uax:Identifier>\n        </uax:ReferenceTypeId>\n        <uax:TypeDefinitionId>\n          <uax:Identifier>i=3051</uax:Identifier>\n        </uax:TypeDefinitionId>\n        <uax:NumericId>420</uax:NumericId>\n        <uax:DataType>\n          <uax:Identifier>i=338</uax:Identifier>\n        </uax:DataType>\n        <uax:ValueRank>-1</uax:ValueRank>\n        <uax:AccessLevel>1</uax:AccessLevel>\n        <uax:UserAccessLevel>1</uax:UserAccessLevel>\n        <ProductUri>\n          <uax:NodeClass>Variable_2</uax:NodeClass>\n          <uax:NodeId>\n            <uax:Identifier>ns=1;i=421</uax:Identifier>\n          </uax:NodeId>\n          <uax:BrowseName>\n            <uax:NamespaceIndex>0</uax:NamespaceIndex>\n            <uax:Name>ProductUri</uax:Name>\n          </uax:BrowseName>\n          <uax:ReferenceTypeId>\n            <uax:Identifier>i=47</uax:Identifier>\n          </uax:ReferenceTypeId>\n          <uax:TypeDefinitionId>\n            <uax:Identifier>i=63</uax:Identifier>\n          </uax:TypeDefinitionId>\n          <uax:NumericId>421</uax:NumericId>\n          <uax:DataType>\n            <uax:Identifier>i=12</uax:Identifier>\n          </uax:DataType>\n          <uax:ValueRank>-1</uax:ValueRank>\n          <uax:AccessLevel>1</uax:AccessLevel>\n          <uax:UserAccessLevel>1</uax:UserAccessLevel>\n          <uax:MinimumSamplingInterval>1000</uax:MinimumSamplingInterval>\n        </ProductUri>\n        <ManufacturerName>\n          <uax:NodeClass>Variable_2</uax:NodeClass>\n          <uax:NodeId>\n            <uax:Identifier>ns=1;i=422</uax:Identifier>\n          </uax:NodeId>\n          <uax:BrowseName>\n            <uax:NamespaceIndex>0</uax:NamespaceIndex>\n            <uax:Name>ManufacturerName</uax:Name>\n          </uax:BrowseName>\n          <uax:ReferenceTypeId>\n            <uax:Identifier>i=47</uax:Identifier>\n          </uax:ReferenceTypeId>\n          <uax:TypeDefinitionId>\n            <uax:Identifier>i=63</uax:Identifier>\n          </uax:TypeDefinitionId>\n          <uax:NumericId>422</uax:NumericId>\n          <uax:DataType>\n            <uax:Identifier>i=12</uax:Identifier>\n          </uax:DataType>\n          <uax:ValueRank>-1</uax:ValueRank>\n          <uax:AccessLevel>1</uax:AccessLevel>\n          <uax:UserAccessLevel>1</uax:UserAccessLevel>\n          <uax:MinimumSamplingInterval>1000</uax:MinimumSamplingInterval>\n        </ManufacturerName>\n        <ProductName>\n          <uax:NodeClass>Variable_2</uax:NodeClass>\n          <uax:NodeId>\n            <uax:Identifier>ns=1;i=423</uax:Identifier>\n          </uax:NodeId>\n          <uax:BrowseName>\n            <uax:NamespaceIndex>0</uax:NamespaceIndex>\n            <uax:Name>ProductName</uax:Name>\n          </uax:BrowseName>\n          <uax:ReferenceTypeId>\n            <uax:Identifier>i=47</uax:Identifier>\n          </uax:ReferenceTypeId>\n          <uax:TypeDefinitionId>\n            <uax:Identifier>i=63</uax:Identifier>\n          </uax:TypeDefinitionId>\n          <uax:NumericId>423</uax:NumericId>\n          <uax:DataType>\n            <uax:Identifier>i=12</uax:Identifier>\n          </uax:DataType>\n          <uax:ValueRank>-1</uax:ValueRank>\n          <uax:AccessLevel>1</uax:AccessLevel>\n          <uax:UserAccessLevel>1</uax:UserAccessLevel>\n          <uax:MinimumSamplingInterval>1000</uax:MinimumSamplingInterval>\n        </ProductName>\n        <SoftwareVersion>\n          <uax:NodeClass>Variable_2</uax:NodeClass>\n          <uax:NodeId>\n            <uax:Identifier>ns=1;i=424</uax:Identifier>\n          </uax:NodeId>\n          <uax:BrowseName>\n            <uax:NamespaceIndex>0</uax:NamespaceIndex>\n            <uax:Name>SoftwareVersion</uax:Name>\n          </uax:BrowseName>\n          <uax:ReferenceTypeId>\n            <uax:Identifier>i=47</uax:Identifier>\n          </uax:ReferenceTypeId>\n          <uax:TypeDefinitionId>\n            <uax:Identifier>i=63</uax:Identifier>\n          </uax:TypeDefinitionId>\n          <uax:NumericId>424</uax:NumericId>\n          <uax:DataType>\n            <uax:Identifier>i=12</uax:Identifier>\n          </uax:DataType>\n          <uax:ValueRank>-1</uax:ValueRank>\n          <uax:AccessLevel>1</uax:AccessLevel>\n          <uax:UserAccessLevel>1</uax:UserAccessLevel>\n          <uax:MinimumSamplingInterval>1000</uax:MinimumSamplingInterval>\n        </SoftwareVersion>\n        <BuildNumber>\n          <uax:NodeClass>Variable_2</uax:NodeClass>\n          <uax:NodeId>\n            <uax:Identifier>ns=1;i=425</uax:Identifier>\n          </uax:NodeId>\n          <uax:BrowseName>\n            <uax:NamespaceIndex>0</uax:NamespaceIndex>\n            <uax:Name>BuildNumber</uax:Name>\n          </uax:BrowseName>\n          <uax:ReferenceTypeId>\n            <uax:Identifier>i=47</uax:Identifier>\n          </uax:ReferenceTypeId>\n          <uax:TypeDefinitionId>\n            <uax:Identifier>i=63</uax:Identifier>\n          </uax:TypeDefinitionId>\n          <uax:NumericId>425</uax:NumericId>\n          <uax:DataType>\n            <uax:Identifier>i=12</uax:Identifier>\n          </uax:DataType>\n          <uax:ValueRank>-1</uax:ValueRank>\n          <uax:AccessLevel>1</uax:AccessLevel>\n          <uax:UserAccessLevel>1</uax:UserAccessLevel>\n          <uax:MinimumSamplingInterval>1000</uax:MinimumSamplingInterval>\n        </BuildNumber>\n        <BuildDate>\n          <uax:NodeClass>Variable_2</uax:NodeClass>\n          <uax:NodeId>\n            <uax:Identifier>ns=1;i=426</uax:Identifier>\n          </uax:NodeId>\n          <uax:BrowseName>\n            <uax:NamespaceIndex>0</uax:NamespaceIndex>\n            <uax:Name>BuildDate</uax:Name>\n          </uax:BrowseName>\n          <uax:ReferenceTypeId>\n            <uax:Identifier>i=47</uax:Identifier>\n          </uax:ReferenceTypeId>\n          <uax:TypeDefinitionId>\n            <uax:Identifier>i=63</uax:Identifier>\n          </uax:TypeDefinitionId>\n          <uax:NumericId>426</uax:NumericId>\n          <uax:DataType>\n            <uax:Identifier>i=294</uax:Identifier>\n          </uax:DataType>\n          <uax:ValueRank>-1</uax:ValueRank>\n          <uax:AccessLevel>1</uax:AccessLevel>\n          <uax:UserAccessLevel>1</uax:UserAccessLevel>\n          <uax:MinimumSamplingInterval>1000</uax:MinimumSamplingInterval>\n        </BuildDate>\n      </BuildInfo>\n      <SecondsTillShutdown>\n        <uax:NodeClass>Variable_2</uax:NodeClass>\n        <uax:NodeId>\n          <uax:Identifier>ns=1;i=427</uax:Identifier>\n        </uax:NodeId>\n        <uax:BrowseName>\n          <uax:NamespaceIndex>0</uax:NamespaceIndex>\n          <uax:Name>SecondsTillShutdown</uax:Name>\n        </uax:BrowseName>\n        <uax:ReferenceTypeId>\n          <uax:Identifier>i=47</uax:Identifier>\n        </uax:ReferenceTypeId>\n        <uax:TypeDefinitionId>\n          <uax:Identifier>i=63</uax:Identifier>\n        </uax:TypeDefinitionId>\n        <uax:NumericId>427</uax:NumericId>\n        <uax:DataType>\n          <uax:Identifier>i=7</uax:Identifier>\n        </uax:DataType>\n        <uax:ValueRank>-1</uax:ValueRank>\n        <uax:AccessLevel>1</uax:AccessLevel>\n        <uax:UserAccessLevel>1</uax:UserAccessLevel>\n      </SecondsTillShutdown>\n      <ShutdownReason>\n        <uax:NodeClass>Variable_2</uax:NodeClass>\n        <uax:NodeId>\n          <uax:Identifier>ns=1;i=428</uax:Identifier>\n        </uax:NodeId>\n        <uax:BrowseName>\n          <uax:NamespaceIndex>0</uax:NamespaceIndex>\n          <uax:Name>ShutdownReason</uax:Name>\n        </uax:BrowseName>\n        <uax:ReferenceTypeId>\n          <uax:Identifier>i=47</uax:Identifier>\n        </uax:ReferenceTypeId>\n        <uax:TypeDefinitionId>\n          <uax:Identifier>i=63</uax:Identifier>\n        </uax:TypeDefinitionId>\n        <uax:NumericId>428</uax:NumericId>\n        <uax:DataType>\n          <uax:Identifier>i=21</uax:Identifier>\n        </uax:DataType>\n        <uax:ValueRank>-1</uax:ValueRank>\n        <uax:AccessLevel>1</uax:AccessLevel>\n        <uax:UserAccessLevel>1</uax:UserAccessLevel>\n      </ShutdownReason>\n    </ServerStatus>\n    <ServiceLevel xmlns=\"http://opcfoundation.org/UA/\">\n      <uax:NodeClass>Variable_2</uax:NodeClass>\n      <uax:NodeId>\n        <uax:Identifier>ns=1;i=429</uax:Identifier>\n      </uax:NodeId>\n      <uax:BrowseName>\n        <uax:NamespaceIndex>0</uax:NamespaceIndex>\n        <uax:Name>ServiceLevel</uax:Name>\n      </uax:BrowseName>\n      <uax:ReferenceTypeId>\n        <uax:Identifier>i=46</uax:Identifier>\n      </uax:ReferenceTypeId>\n      <uax:TypeDefinitionId>\n        <uax:Identifier>i=68</uax:Identifier>\n      </uax:TypeDefinitionId>\n      <uax:NumericId>429</uax:NumericId>\n      <uax:DataType>\n        <uax:Identifier>i=3</uax:Identifier>\n      </uax:DataType>\n      <uax:ValueRank>-1</uax:ValueRank>\n      <uax:AccessLevel>1</uax:AccessLevel>\n      <uax:UserAccessLevel>1</uax:UserAccessLevel>\n      <uax:MinimumSamplingInterval>1000</uax:MinimumSamplingInterval>\n    </ServiceLevel>\n    <Auditing xmlns=\"http://opcfoundation.org/UA/\">\n      <uax:NodeClass>Variable_2</uax:NodeClass>\n      <uax:NodeId>\n        <uax:Identifier>ns=1;i=430</uax:Identifier>\n      </uax:NodeId>\n      <uax:BrowseName>\n        <uax:NamespaceIndex>0</uax:NamespaceIndex>\n        <uax:Name>Auditing</uax:Name>\n      </uax:BrowseName>\n      <uax:ReferenceTypeId>\n        <uax:Identifier>i=46</uax:Identifier>\n      </uax:ReferenceTypeId>\n      <uax:TypeDefinitionId>\n        <uax:Identifier>i=68</uax:Identifier>\n      </uax:TypeDefinitionId>\n      <uax:NumericId>430</uax:NumericId>\n      <uax:DataType>\n        <uax:Identifier>i=1</uax:Identifier>\n      </uax:DataType>\n      <uax:ValueRank>-1</uax:ValueRank>\n      <uax:AccessLevel>1</uax:AccessLevel>\n      <uax:UserAccessLevel>1</uax:UserAccessLevel>\n      <uax:MinimumSamplingInterval>1000</uax:MinimumSamplingInterval>\n    </Auditing>\n    <ServerCapabilities xmlns=\"http://opcfoundation.org/UA/\">\n      <uax:NodeClass>Object_1</uax:NodeClass>\n      <uax:NodeId>\n        <uax:Identifier>ns=1;i=431</uax:Identifier>\n      </uax:NodeId>\n      <uax:BrowseName>\n        <uax:NamespaceIndex>0</uax:NamespaceIndex>\n        <uax:Name>ServerCapabilities</uax:Name>\n      </uax:BrowseName>\n      <uax:ReferenceTypeId>\n        <uax:Identifier>i=47</uax:Identifier>\n      </uax:ReferenceTypeId>\n      <uax:TypeDefinitionId>\n        <uax:Identifier>i=2013</uax:Identifier>\n      </uax:TypeDefinitionId>\n      <uax:NumericId>431</uax:NumericId>\n      <ServerProfileArray>\n        <uax:NodeClass>Variable_2</uax:NodeClass>\n        <uax:NodeId>\n          <uax:Identifier>ns=1;i=432</uax:Identifier>\n        </uax:NodeId>\n        <uax:BrowseName>\n          <uax:NamespaceIndex>0</uax:NamespaceIndex>\n          <uax:Name>ServerProfileArray</uax:Name>\n        </uax:BrowseName>\n        <uax:ReferenceTypeId>\n          <uax:Identifier>i=46</uax:Identifier>\n        </uax:ReferenceTypeId>\n        <uax:TypeDefinitionId>\n          <uax:Identifier>i=68</uax:Identifier>\n        </uax:TypeDefinitionId>\n        <uax:NumericId>432</uax:NumericId>\n        <uax:DataType>\n          <uax:Identifier>i=12</uax:Identifier>\n        </uax:DataType>\n        <uax:ValueRank>1</uax:ValueRank>\n        <uax:ArrayDimensions>0</uax:ArrayDimensions>\n        <uax:AccessLevel>1</uax:AccessLevel>\n        <uax:UserAccessLevel>1</uax:UserAccessLevel>\n      </ServerProfileArray>\n      <LocaleIdArray>\n        <uax:NodeClass>Variable_2</uax:NodeClass>\n        <uax:NodeId>\n          <uax:Identifier>ns=1;i=433</uax:Identifier>\n        </uax:NodeId>\n        <uax:BrowseName>\n          <uax:NamespaceIndex>0</uax:NamespaceIndex>\n          <uax:Name>LocaleIdArray</uax:Name>\n        </uax:BrowseName>\n        <uax:ReferenceTypeId>\n          <uax:Identifier>i=46</uax:Identifier>\n        </uax:ReferenceTypeId>\n        <uax:TypeDefinitionId>\n          <uax:Identifier>i=68</uax:Identifier>\n        </uax:TypeDefinitionId>\n        <uax:NumericId>433</uax:NumericId>\n        <uax:DataType>\n          <uax:Identifier>i=295</uax:Identifier>\n        </uax:DataType>\n        <uax:ValueRank>1</uax:ValueRank>\n        <uax:ArrayDimensions>0</uax:ArrayDimensions>\n        <uax:AccessLevel>1</uax:AccessLevel>\n        <uax:UserAccessLevel>1</uax:UserAccessLevel>\n      </LocaleIdArray>\n      <MinSupportedSampleRate>\n        <uax:NodeClass>Variable_2</uax:NodeClass>\n        <uax:NodeId>\n          <uax:Identifier>ns=1;i=434</uax:Identifier>\n        </uax:NodeId>\n        <uax:BrowseName>\n          <uax:NamespaceIndex>0</uax:NamespaceIndex>\n          <uax:Name>MinSupportedSampleRate</uax:Name>\n        </uax:BrowseName>\n        <uax:ReferenceTypeId>\n          <uax:Identifier>i=46</uax:Identifier>\n        </uax:ReferenceTypeId>\n        <uax:TypeDefinitionId>\n          <uax:Identifier>i=68</uax:Identifier>\n        </uax:TypeDefinitionId>\n        <uax:NumericId>434</uax:NumericId>\n        <uax:DataType>\n          <uax:Identifier>i=290</uax:Identifier>\n        </uax:DataType>\n        <uax:ValueRank>-1</uax:ValueRank>\n        <uax:AccessLevel>1</uax:AccessLevel>\n        <uax:UserAccessLevel>1</uax:UserAccessLevel>\n      </MinSupportedSampleRate>\n      <MaxBrowseContinuationPoints>\n        <uax:NodeClass>Variable_2</uax:NodeClass>\n        <uax:NodeId>\n          <uax:Identifier>ns=1;i=435</uax:Identifier>\n        </uax:NodeId>\n        <uax:BrowseName>\n          <uax:NamespaceIndex>0</uax:NamespaceIndex>\n          <uax:Name>MaxBrowseContinuationPoints</uax:Name>\n        </uax:BrowseName>\n        <uax:ReferenceTypeId>\n          <uax:Identifier>i=46</uax:Identifier>\n        </uax:ReferenceTypeId>\n        <uax:TypeDefinitionId>\n          <uax:Identifier>i=68</uax:Identifier>\n        </uax:TypeDefinitionId>\n        <uax:NumericId>435</uax:NumericId>\n        <uax:DataType>\n          <uax:Identifier>i=5</uax:Identifier>\n        </uax:DataType>\n        <uax:ValueRank>-1</uax:ValueRank>\n        <uax:AccessLevel>1</uax:AccessLevel>\n        <uax:UserAccessLevel>1</uax:UserAccessLevel>\n      </MaxBrowseContinuationPoints>\n      <MaxQueryContinuationPoints>\n        <uax:NodeClass>Variable_2</uax:NodeClass>\n        <uax:NodeId>\n          <uax:Identifier>ns=1;i=436</uax:Identifier>\n        </uax:NodeId>\n        <uax:BrowseName>\n          <uax:NamespaceIndex>0</uax:NamespaceIndex>\n          <uax:Name>MaxQueryContinuationPoints</uax:Name>\n        </uax:BrowseName>\n        <uax:ReferenceTypeId>\n          <uax:Identifier>i=46</uax:Identifier>\n        </uax:ReferenceTypeId>\n        <uax:TypeDefinitionId>\n          <uax:Identifier>i=68</uax:Identifier>\n        </uax:TypeDefinitionId>\n        <uax:NumericId>436</uax:NumericId>\n        <uax:DataType>\n          <uax:Identifier>i=5</uax:Identifier>\n        </uax:DataType>\n        <uax:ValueRank>-1</uax:ValueRank>\n        <uax:AccessLevel>1</uax:AccessLevel>\n        <uax:UserAccessLevel>1</uax:UserAccessLevel>\n      </MaxQueryContinuationPoints>\n      <MaxHistoryContinuationPoints>\n        <uax:NodeClass>Variable_2</uax:NodeClass>\n        <uax:NodeId>\n          <uax:Identifier>ns=1;i=437</uax:Identifier>\n        </uax:NodeId>\n        <uax:BrowseName>\n          <uax:NamespaceIndex>0</uax:NamespaceIndex>\n          <uax:Name>MaxHistoryContinuationPoints</uax:Name>\n        </uax:BrowseName>\n        <uax:ReferenceTypeId>\n          <uax:Identifier>i=46</uax:Identifier>\n        </uax:ReferenceTypeId>\n        <uax:TypeDefinitionId>\n          <uax:Identifier>i=68</uax:Identifier>\n        </uax:TypeDefinitionId>\n        <uax:NumericId>437</uax:NumericId>\n        <uax:DataType>\n          <uax:Identifier>i=5</uax:Identifier>\n        </uax:DataType>\n        <uax:ValueRank>-1</uax:ValueRank>\n        <uax:AccessLevel>1</uax:AccessLevel>\n        <uax:UserAccessLevel>1</uax:UserAccessLevel>\n      </MaxHistoryContinuationPoints>\n      <SoftwareCertificates>\n        <uax:NodeClass>Variable_2</uax:NodeClass>\n        <uax:NodeId>\n          <uax:Identifier>ns=1;i=438</uax:Identifier>\n        </uax:NodeId>\n        <uax:BrowseName>\n          <uax:NamespaceIndex>0</uax:NamespaceIndex>\n          <uax:Name>SoftwareCertificates</uax:Name>\n        </uax:BrowseName>\n        <uax:ReferenceTypeId>\n          <uax:Identifier>i=46</uax:Identifier>\n        </uax:ReferenceTypeId>\n        <uax:TypeDefinitionId>\n          <uax:Identifier>i=68</uax:Identifier>\n        </uax:TypeDefinitionId>\n        <uax:NumericId>438</uax:NumericId>\n        <uax:DataType>\n          <uax:Identifier>i=344</uax:Identifier>\n        </uax:DataType>\n        <uax:ValueRank>1</uax:ValueRank>\n        <uax:ArrayDimensions>0</uax:ArrayDimensions>\n        <uax:AccessLevel>1</uax:AccessLevel>\n        <uax:UserAccessLevel>1</uax:UserAccessLevel>\n      </SoftwareCertificates>\n      <ModellingRules>\n        <uax:NodeClass>Object_1</uax:NodeClass>\n        <uax:NodeId>\n          <uax:Identifier>ns=1;i=454</uax:Identifier>\n        </uax:NodeId>\n        <uax:BrowseName>\n          <uax:NamespaceIndex>0</uax:NamespaceIndex>\n          <uax:Name>ModellingRules</uax:Name>\n        </uax:BrowseName>\n        <uax:ReferenceTypeId>\n          <uax:Identifier>i=47</uax:Identifier>\n        </uax:ReferenceTypeId>\n        <uax:TypeDefinitionId>\n          <uax:Identifier>i=61</uax:Identifier>\n        </uax:TypeDefinitionId>\n        <uax:NumericId>454</uax:NumericId>\n      </ModellingRules>\n      <AggregateFunctions>\n        <uax:NodeClass>Object_1</uax:NodeClass>\n        <uax:NodeId>\n          <uax:Identifier>ns=1;i=455</uax:Identifier>\n        </uax:NodeId>\n        <uax:BrowseName>\n          <uax:NamespaceIndex>0</uax:NamespaceIndex>\n          <uax:Name>AggregateFunctions</uax:Name>\n        </uax:BrowseName>\n        <uax:ReferenceTypeId>\n          <uax:Identifier>i=47</uax:Identifier>\n        </uax:ReferenceTypeId>\n        <uax:TypeDefinitionId>\n          <uax:Identifier>i=61</uax:Identifier>\n        </uax:TypeDefinitionId>\n        <uax:NumericId>455</uax:NumericId>\n      </AggregateFunctions>\n    </ServerCapabilities>\n    <ServerDiagnostics xmlns=\"http://opcfoundation.org/UA/\">\n      <uax:NodeClass>Object_1</uax:NodeClass>\n      <uax:NodeId>\n        <uax:Identifier>ns=1;i=456</uax:Identifier>\n      </uax:NodeId>\n      <uax:BrowseName>\n        <uax:NamespaceIndex>0</uax:NamespaceIndex>\n        <uax:Name>ServerDiagnostics</uax:Name>\n      </uax:BrowseName>\n      <uax:ReferenceTypeId>\n        <uax:Identifier>i=47</uax:Identifier>\n      </uax:ReferenceTypeId>\n      <uax:TypeDefinitionId>\n        <uax:Identifier>i=2020</uax:Identifier>\n      </uax:TypeDefinitionId>\n      <uax:NumericId>456</uax:NumericId>\n      <ServerDiagnosticsSummary>\n        <uax:NodeClass>Variable_2</uax:NodeClass>\n        <uax:NodeId>\n          <uax:Identifier>ns=1;i=457</uax:Identifier>\n        </uax:NodeId>\n        <uax:BrowseName>\n          <uax:NamespaceIndex>0</uax:NamespaceIndex>\n          <uax:Name>ServerDiagnosticsSummary</uax:Name>\n        </uax:BrowseName>\n        <uax:ReferenceTypeId>\n          <uax:Identifier>i=47</uax:Identifier>\n        </uax:ReferenceTypeId>\n        <uax:TypeDefinitionId>\n          <uax:Identifier>i=2150</uax:Identifier>\n        </uax:TypeDefinitionId>\n        <uax:NumericId>457</uax:NumericId>\n        <uax:DataType>\n          <uax:Identifier>i=859</uax:Identifier>\n        </uax:DataType>\n        <uax:ValueRank>-1</uax:ValueRank>\n        <uax:AccessLevel>1</uax:AccessLevel>\n        <uax:UserAccessLevel>1</uax:UserAccessLevel>\n        <ServerViewCount>\n          <uax:NodeClass>Variable_2</uax:NodeClass>\n          <uax:NodeId>\n            <uax:Identifier>ns=1;i=458</uax:Identifier>\n          </uax:NodeId>\n          <uax:BrowseName>\n            <uax:NamespaceIndex>0</uax:NamespaceIndex>\n            <uax:Name>ServerViewCount</uax:Name>\n          </uax:BrowseName>\n          <uax:ReferenceTypeId>\n            <uax:Identifier>i=47</uax:Identifier>\n          </uax:ReferenceTypeId>\n          <uax:TypeDefinitionId>\n            <uax:Identifier>i=63</uax:Identifier>\n          </uax:TypeDefinitionId>\n          <uax:NumericId>458</uax:NumericId>\n          <uax:DataType>\n            <uax:Identifier>i=7</uax:Identifier>\n          </uax:DataType>\n          <uax:ValueRank>-1</uax:ValueRank>\n          <uax:AccessLevel>1</uax:AccessLevel>\n          <uax:UserAccessLevel>1</uax:UserAccessLevel>\n        </ServerViewCount>\n        <CurrentSessionCount>\n          <uax:NodeClass>Variable_2</uax:NodeClass>\n          <uax:NodeId>\n            <uax:Identifier>ns=1;i=459</uax:Identifier>\n          </uax:NodeId>\n          <uax:BrowseName>\n            <uax:NamespaceIndex>0</uax:NamespaceIndex>\n            <uax:Name>CurrentSessionCount</uax:Name>\n          </uax:BrowseName>\n          <uax:ReferenceTypeId>\n            <uax:Identifier>i=47</uax:Identifier>\n          </uax:ReferenceTypeId>\n          <uax:TypeDefinitionId>\n            <uax:Identifier>i=63</uax:Identifier>\n          </uax:TypeDefinitionId>\n          <uax:NumericId>459</uax:NumericId>\n          <uax:DataType>\n            <uax:Identifier>i=7</uax:Identifier>\n          </uax:DataType>\n          <uax:ValueRank>-1</uax:ValueRank>\n          <uax:AccessLevel>1</uax:AccessLevel>\n          <uax:UserAccessLevel>1</uax:UserAccessLevel>\n        </CurrentSessionCount>\n        <CumulatedSessionCount>\n          <uax:NodeClass>Variable_2</uax:NodeClass>\n          <uax:NodeId>\n            <uax:Identifier>ns=1;i=460</uax:Identifier>\n          </uax:NodeId>\n          <uax:BrowseName>\n            <uax:NamespaceIndex>0</uax:NamespaceIndex>\n            <uax:Name>CumulatedSessionCount</uax:Name>\n          </uax:BrowseName>\n          <uax:ReferenceTypeId>\n            <uax:Identifier>i=47</uax:Identifier>\n          </uax:ReferenceTypeId>\n          <uax:TypeDefinitionId>\n            <uax:Identifier>i=63</uax:Identifier>\n          </uax:TypeDefinitionId>\n          <uax:NumericId>460</uax:NumericId>\n          <uax:DataType>\n            <uax:Identifier>i=7</uax:Identifier>\n          </uax:DataType>\n          <uax:ValueRank>-1</uax:ValueRank>\n          <uax:AccessLevel>1</uax:AccessLevel>\n          <uax:UserAccessLevel>1</uax:UserAccessLevel>\n        </CumulatedSessionCount>\n        <SecurityRejectedSessionCount>\n          <uax:NodeClass>Variable_2</uax:NodeClass>\n          <uax:NodeId>\n            <uax:Identifier>ns=1;i=461</uax:Identifier>\n          </uax:NodeId>\n          <uax:BrowseName>\n            <uax:NamespaceIndex>0</uax:NamespaceIndex>\n            <uax:Name>SecurityRejectedSessionCount</uax:Name>\n          </uax:BrowseName>\n          <uax:ReferenceTypeId>\n            <uax:Identifier>i=47</uax:Identifier>\n          </uax:ReferenceTypeId>\n          <uax:TypeDefinitionId>\n            <uax:Identifier>i=63</uax:Identifier>\n          </uax:TypeDefinitionId>\n          <uax:NumericId>461</uax:NumericId>\n          <uax:DataType>\n            <uax:Identifier>i=7</uax:Identifier>\n          </uax:DataType>\n          <uax:ValueRank>-1</uax:ValueRank>\n          <uax:AccessLevel>1</uax:AccessLevel>\n          <uax:UserAccessLevel>1</uax:UserAccessLevel>\n        </SecurityRejectedSessionCount>\n        <RejectedSessionCount>\n          <uax:NodeClass>Variable_2</uax:NodeClass>\n          <uax:NodeId>\n            <uax:Identifier>ns=1;i=462</uax:Identifier>\n          </uax:NodeId>\n          <uax:BrowseName>\n            <uax:NamespaceIndex>0</uax:NamespaceIndex>\n            <uax:Name>RejectedSessionCount</uax:Name>\n          </uax:BrowseName>\n          <uax:ReferenceTypeId>\n            <uax:Identifier>i=47</uax:Identifier>\n          </uax:ReferenceTypeId>\n          <uax:TypeDefinitionId>\n            <uax:Identifier>i=63</uax:Identifier>\n          </uax:TypeDefinitionId>\n          <uax:NumericId>462</uax:NumericId>\n          <uax:DataType>\n            <uax:Identifier>i=7</uax:Identifier>\n          </uax:DataType>\n          <uax:ValueRank>-1</uax:ValueRank>\n          <uax:AccessLevel>1</uax:AccessLevel>\n          <uax:UserAccessLevel>1</uax:UserAccessLevel>\n        </RejectedSessionCount>\n        <SessionTimeoutCount>\n          <uax:NodeClass>Variable_2</uax:NodeClass>\n          <uax:NodeId>\n            <uax:Identifier>ns=1;i=463</uax:Identifier>\n          </uax:NodeId>\n          <uax:BrowseName>\n            <uax:NamespaceIndex>0</uax:NamespaceIndex>\n            <uax:Name>SessionTimeoutCount</uax:Name>\n          </uax:BrowseName>\n          <uax:ReferenceTypeId>\n            <uax:Identifier>i=47</uax:Identifier>\n          </uax:ReferenceTypeId>\n          <uax:TypeDefinitionId>\n            <uax:Identifier>i=63</uax:Identifier>\n          </uax:TypeDefinitionId>\n          <uax:NumericId>463</uax:NumericId>\n          <uax:DataType>\n            <uax:Identifier>i=7</uax:Identifier>\n          </uax:DataType>\n          <uax:ValueRank>-1</uax:ValueRank>\n          <uax:AccessLevel>1</uax:AccessLevel>\n          <uax:UserAccessLevel>1</uax:UserAccessLevel>\n        </SessionTimeoutCount>\n        <SessionAbortCount>\n          <uax:NodeClass>Variable_2</uax:NodeClass>\n          <uax:NodeId>\n            <uax:Identifier>ns=1;i=464</uax:Identifier>\n          </uax:NodeId>\n          <uax:BrowseName>\n            <uax:NamespaceIndex>0</uax:NamespaceIndex>\n            <uax:Name>SessionAbortCount</uax:Name>\n          </uax:BrowseName>\n          <uax:ReferenceTypeId>\n            <uax:Identifier>i=47</uax:Identifier>\n          </uax:ReferenceTypeId>\n          <uax:TypeDefinitionId>\n            <uax:Identifier>i=63</uax:Identifier>\n          </uax:TypeDefinitionId>\n          <uax:NumericId>464</uax:NumericId>\n          <uax:DataType>\n            <uax:Identifier>i=7</uax:Identifier>\n          </uax:DataType>\n          <uax:ValueRank>-1</uax:ValueRank>\n          <uax:AccessLevel>1</uax:AccessLevel>\n          <uax:UserAccessLevel>1</uax:UserAccessLevel>\n        </SessionAbortCount>\n        <PublishingIntervalCount>\n          <uax:NodeClass>Variable_2</uax:NodeClass>\n          <uax:NodeId>\n            <uax:Identifier>ns=1;i=465</uax:Identifier>\n          </uax:NodeId>\n          <uax:BrowseName>\n            <uax:NamespaceIndex>0</uax:NamespaceIndex>\n            <uax:Name>PublishingIntervalCount</uax:Name>\n          </uax:BrowseName>\n          <uax:ReferenceTypeId>\n            <uax:Identifier>i=47</uax:Identifier>\n          </uax:ReferenceTypeId>\n          <uax:TypeDefinitionId>\n            <uax:Identifier>i=63</uax:Identifier>\n          </uax:TypeDefinitionId>\n          <uax:NumericId>465</uax:NumericId>\n          <uax:DataType>\n            <uax:Identifier>i=7</uax:Identifier>\n          </uax:DataType>\n          <uax:ValueRank>-1</uax:ValueRank>\n          <uax:AccessLevel>1</uax:AccessLevel>\n          <uax:UserAccessLevel>1</uax:UserAccessLevel>\n        </PublishingIntervalCount>\n        <CurrentSubscriptionCount>\n          <uax:NodeClass>Variable_2</uax:NodeClass>\n          <uax:NodeId>\n            <uax:Identifier>ns=1;i=466</uax:Identifier>\n          </uax:NodeId>\n          <uax:BrowseName>\n            <uax:NamespaceIndex>0</uax:NamespaceIndex>\n            <uax:Name>CurrentSubscriptionCount</uax:Name>\n          </uax:BrowseName>\n          <uax:ReferenceTypeId>\n            <uax:Identifier>i=47</uax:Identifier>\n          </uax:ReferenceTypeId>\n          <uax:TypeDefinitionId>\n            <uax:Identifier>i=63</uax:Identifier>\n          </uax:TypeDefinitionId>\n          <uax:NumericId>466</uax:NumericId>\n          <uax:DataType>\n            <uax:Identifier>i=7</uax:Identifier>\n          </uax:DataType>\n          <uax:ValueRank>-1</uax:ValueRank>\n          <uax:AccessLevel>1</uax:AccessLevel>\n          <uax:UserAccessLevel>1</uax:UserAccessLevel>\n        </CurrentSubscriptionCount>\n        <CumulatedSubscriptionCount>\n          <uax:NodeClass>Variable_2</uax:NodeClass>\n          <uax:NodeId>\n            <uax:Identifier>ns=1;i=467</uax:Identifier>\n          </uax:NodeId>\n          <uax:BrowseName>\n            <uax:NamespaceIndex>0</uax:NamespaceIndex>\n            <uax:Name>CumulatedSubscriptionCount</uax:Name>\n          </uax:BrowseName>\n          <uax:ReferenceTypeId>\n            <uax:Identifier>i=47</uax:Identifier>\n          </uax:ReferenceTypeId>\n          <uax:TypeDefinitionId>\n            <uax:Identifier>i=63</uax:Identifier>\n          </uax:TypeDefinitionId>\n          <uax:NumericId>467</uax:NumericId>\n          <uax:DataType>\n            <uax:Identifier>i=7</uax:Identifier>\n          </uax:DataType>\n          <uax:ValueRank>-1</uax:ValueRank>\n          <uax:AccessLevel>1</uax:AccessLevel>\n          <uax:UserAccessLevel>1</uax:UserAccessLevel>\n        </CumulatedSubscriptionCount>\n        <SecurityRejectedRequestsCount>\n          <uax:NodeClass>Variable_2</uax:NodeClass>\n          <uax:NodeId>\n            <uax:Identifier>ns=1;i=468</uax:Identifier>\n          </uax:NodeId>\n          <uax:BrowseName>\n            <uax:NamespaceIndex>0</uax:NamespaceIndex>\n            <uax:Name>SecurityRejectedRequestsCount</uax:Name>\n          </uax:BrowseName>\n          <uax:ReferenceTypeId>\n            <uax:Identifier>i=47</uax:Identifier>\n          </uax:ReferenceTypeId>\n          <uax:TypeDefinitionId>\n            <uax:Identifier>i=63</uax:Identifier>\n          </uax:TypeDefinitionId>\n          <uax:NumericId>468</uax:NumericId>\n          <uax:DataType>\n            <uax:Identifier>i=7</uax:Identifier>\n          </uax:DataType>\n          <uax:ValueRank>-1</uax:ValueRank>\n          <uax:AccessLevel>1</uax:AccessLevel>\n          <uax:UserAccessLevel>1</uax:UserAccessLevel>\n        </SecurityRejectedRequestsCount>\n        <RejectedRequestsCount>\n          <uax:NodeClass>Variable_2</uax:NodeClass>\n          <uax:NodeId>\n            <uax:Identifier>ns=1;i=469</uax:Identifier>\n          </uax:NodeId>\n          <uax:BrowseName>\n            <uax:NamespaceIndex>0</uax:NamespaceIndex>\n            <uax:Name>RejectedRequestsCount</uax:Name>\n          </uax:BrowseName>\n          <uax:ReferenceTypeId>\n            <uax:Identifier>i=47</uax:Identifier>\n          </uax:ReferenceTypeId>\n          <uax:TypeDefinitionId>\n            <uax:Identifier>i=63</uax:Identifier>\n          </uax:TypeDefinitionId>\n          <uax:NumericId>469</uax:NumericId>\n          <uax:DataType>\n            <uax:Identifier>i=7</uax:Identifier>\n          </uax:DataType>\n          <uax:ValueRank>-1</uax:ValueRank>\n          <uax:AccessLevel>1</uax:AccessLevel>\n          <uax:UserAccessLevel>1</uax:UserAccessLevel>\n        </RejectedRequestsCount>\n      </ServerDiagnosticsSummary>\n      <SubscriptionDiagnosticsArray>\n        <uax:NodeClass>Variable_2</uax:NodeClass>\n        <uax:NodeId>\n          <uax:Identifier>ns=1;i=471</uax:Identifier>\n        </uax:NodeId>\n        <uax:BrowseName>\n          <uax:NamespaceIndex>0</uax:NamespaceIndex>\n          <uax:Name>SubscriptionDiagnosticsArray</uax:Name>\n        </uax:BrowseName>\n        <uax:ReferenceTypeId>\n          <uax:Identifier>i=47</uax:Identifier>\n        </uax:ReferenceTypeId>\n        <uax:TypeDefinitionId>\n          <uax:Identifier>i=2171</uax:Identifier>\n        </uax:TypeDefinitionId>\n        <uax:NumericId>471</uax:NumericId>\n        <uax:DataType>\n          <uax:Identifier>i=874</uax:Identifier>\n        </uax:DataType>\n        <uax:ValueRank>1</uax:ValueRank>\n        <uax:ArrayDimensions>0</uax:ArrayDimensions>\n        <uax:AccessLevel>1</uax:AccessLevel>\n        <uax:UserAccessLevel>1</uax:UserAccessLevel>\n      </SubscriptionDiagnosticsArray>\n      <SessionsDiagnosticsSummary>\n        <uax:NodeClass>Object_1</uax:NodeClass>\n        <uax:NodeId>\n          <uax:Identifier>ns=1;i=472</uax:Identifier>\n        </uax:NodeId>\n        <uax:BrowseName>\n          <uax:NamespaceIndex>0</uax:NamespaceIndex>\n          <uax:Name>SessionsDiagnosticsSummary</uax:Name>\n        </uax:BrowseName>\n        <uax:ReferenceTypeId>\n          <uax:Identifier>i=47</uax:Identifier>\n        </uax:ReferenceTypeId>\n        <uax:TypeDefinitionId>\n          <uax:Identifier>i=2026</uax:Identifier>\n        </uax:TypeDefinitionId>\n        <uax:NumericId>472</uax:NumericId>\n        <SessionDiagnosticsArray>\n          <uax:NodeClass>Variable_2</uax:NodeClass>\n          <uax:NodeId>\n            <uax:Identifier>ns=1;i=473</uax:Identifier>\n          </uax:NodeId>\n          <uax:BrowseName>\n            <uax:NamespaceIndex>0</uax:NamespaceIndex>\n            <uax:Name>SessionDiagnosticsArray</uax:Name>\n          </uax:BrowseName>\n          <uax:ReferenceTypeId>\n            <uax:Identifier>i=47</uax:Identifier>\n          </uax:ReferenceTypeId>\n          <uax:TypeDefinitionId>\n            <uax:Identifier>i=2196</uax:Identifier>\n          </uax:TypeDefinitionId>\n          <uax:NumericId>473</uax:NumericId>\n          <uax:DataType>\n            <uax:Identifier>i=865</uax:Identifier>\n          </uax:DataType>\n          <uax:ValueRank>1</uax:ValueRank>\n          <uax:ArrayDimensions>0</uax:ArrayDimensions>\n          <uax:AccessLevel>1</uax:AccessLevel>\n          <uax:UserAccessLevel>1</uax:UserAccessLevel>\n        </SessionDiagnosticsArray>\n        <SessionSecurityDiagnosticsArray>\n          <uax:NodeClass>Variable_2</uax:NodeClass>\n          <uax:NodeId>\n            <uax:Identifier>ns=1;i=474</uax:Identifier>\n          </uax:NodeId>\n          <uax:BrowseName>\n            <uax:NamespaceIndex>0</uax:NamespaceIndex>\n            <uax:Name>SessionSecurityDiagnosticsArray</uax:Name>\n          </uax:BrowseName>\n          <uax:ReferenceTypeId>\n            <uax:Identifier>i=47</uax:Identifier>\n          </uax:ReferenceTypeId>\n          <uax:TypeDefinitionId>\n            <uax:Identifier>i=2243</uax:Identifier>\n          </uax:TypeDefinitionId>\n          <uax:NumericId>474</uax:NumericId>\n          <uax:DataType>\n            <uax:Identifier>i=868</uax:Identifier>\n          </uax:DataType>\n          <uax:ValueRank>1</uax:ValueRank>\n          <uax:ArrayDimensions>0</uax:ArrayDimensions>\n          <uax:AccessLevel>1</uax:AccessLevel>\n          <uax:UserAccessLevel>1</uax:UserAccessLevel>\n        </SessionSecurityDiagnosticsArray>\n      </SessionsDiagnosticsSummary>\n      <EnabledFlag>\n        <uax:NodeClass>Variable_2</uax:NodeClass>\n        <uax:NodeId>\n          <uax:Identifier>ns=1;i=475</uax:Identifier>\n        </uax:NodeId>\n        <uax:BrowseName>\n          <uax:NamespaceIndex>0</uax:NamespaceIndex>\n          <uax:Name>EnabledFlag</uax:Name>\n        </uax:BrowseName>\n        <uax:ReferenceTypeId>\n          <uax:Identifier>i=46</uax:Identifier>\n        </uax:ReferenceTypeId>\n        <uax:TypeDefinitionId>\n          <uax:Identifier>i=68</uax:Identifier>\n        </uax:TypeDefinitionId>\n        <uax:NumericId>475</uax:NumericId>\n        <uax:DataType>\n          <uax:Identifier>i=1</uax:Identifier>\n        </uax:DataType>\n        <uax:ValueRank>-1</uax:ValueRank>\n        <uax:AccessLevel>3</uax:AccessLevel>\n        <uax:UserAccessLevel>3</uax:UserAccessLevel>\n      </EnabledFlag>\n    </ServerDiagnostics>\n    <VendorServerInfo xmlns=\"http://opcfoundation.org/UA/\">\n      <uax:NodeClass>Object_1</uax:NodeClass>\n      <uax:NodeId>\n        <uax:Identifier>ns=1;i=476</uax:Identifier>\n      </uax:NodeId>\n      <uax:BrowseName>\n        <uax:NamespaceIndex>0</uax:NamespaceIndex>\n        <uax:Name>VendorServerInfo</uax:Name>\n      </uax:BrowseName>\n      <uax:ReferenceTypeId>\n        <uax:Identifier>i=47</uax:Identifier>\n      </uax:ReferenceTypeId>\n      <uax:TypeDefinitionId>\n        <uax:Identifier>i=2033</uax:Identifier>\n      </uax:TypeDefinitionId>\n      <uax:NumericId>476</uax:NumericId>\n    </VendorServerInfo>\n    <ServerRedundancy xmlns=\"http://opcfoundation.org/UA/\">\n      <uax:NodeClass>Object_1</uax:NodeClass>\n      <uax:NodeId>\n        <uax:Identifier>ns=1;i=477</uax:Identifier>\n      </uax:NodeId>\n      <uax:BrowseName>\n        <uax:NamespaceIndex>0</uax:NamespaceIndex>\n        <uax:Name>ServerRedundancy</uax:Name>\n      </uax:BrowseName>\n      <uax:ReferenceTypeId>\n        <uax:Identifier>i=47</uax:Identifier>\n      </uax:ReferenceTypeId>\n      <uax:TypeDefinitionId>\n        <uax:Identifier>i=2034</uax:Identifier>\n      </uax:TypeDefinitionId>\n      <uax:NumericId>477</uax:NumericId>\n      <RedundancySupport>\n        <uax:NodeClass>Variable_2</uax:NodeClass>\n        <uax:NodeId>\n          <uax:Identifier>ns=1;i=478</uax:Identifier>\n        </uax:NodeId>\n        <uax:BrowseName>\n          <uax:NamespaceIndex>0</uax:NamespaceIndex>\n          <uax:Name>RedundancySupport</uax:Name>\n        </uax:BrowseName>\n        <uax:ReferenceTypeId>\n          <uax:Identifier>i=46</uax:Identifier>\n        </uax:ReferenceTypeId>\n        <uax:TypeDefinitionId>\n          <uax:Identifier>i=68</uax:Identifier>\n        </uax:TypeDefinitionId>\n        <uax:NumericId>478</uax:NumericId>\n        <uax:DataType>\n          <uax:Identifier>i=851</uax:Identifier>\n        </uax:DataType>\n        <uax:ValueRank>-1</uax:ValueRank>\n        <uax:AccessLevel>1</uax:AccessLevel>\n        <uax:UserAccessLevel>1</uax:UserAccessLevel>\n      </RedundancySupport>\n    </ServerRedundancy>\n    <BrowseName4node66>\n      <uax:NodeClass>Variable_2</uax:NodeClass>\n      <uax:NodeId>\n        <uax:Identifier>ns=1;i=505</uax:Identifier>\n      </uax:NodeId>\n      <uax:BrowseName>\n        <uax:NamespaceIndex>1</uax:NamespaceIndex>\n        <uax:Name>ChildProperty</uax:Name>\n      </uax:BrowseName>\n      <uax:ReferenceTypeId>\n        <uax:Identifier>i=46</uax:Identifier>\n      </uax:ReferenceTypeId>\n      <uax:TypeDefinitionId>\n        <uax:Identifier>i=68</uax:Identifier>\n      </uax:TypeDefinitionId>\n      <uax:NumericId>505</uax:NumericId>\n      <uax:DataType>\n        <uax:Identifier>i=21</uax:Identifier>\n      </uax:DataType>\n      <uax:ValueRank>-1</uax:ValueRank>\n      <uax:AccessLevel>1</uax:AccessLevel>\n      <uax:UserAccessLevel>1</uax:UserAccessLevel>\n      <uax:References>\n        <uax:Reference>\n          <uax:ReferenceTypeId>\n            <uax:Identifier>ns=1;i=195</uax:Identifier>\n          </uax:ReferenceTypeId>\n          <uax:IsInverse>true</uax:IsInverse>\n          <uax:TargetId>\n            <uax:Identifier>ns=1;i=506</uax:Identifier>\n          </uax:TargetId>\n        </uax:Reference>\n      </uax:References>\n    </BrowseName4node66>\n    <NameNotSet1109>\n      <uax:NodeClass>Variable_2</uax:NodeClass>\n      <uax:NodeId>\n        <uax:Identifier>ns=1;i=506</uax:Identifier>\n      </uax:NodeId>\n      <uax:BrowseName>\n        <uax:NamespaceIndex>1</uax:NamespaceIndex>\n        <uax:Name>BrowseName4node1109</uax:Name>\n      </uax:BrowseName>\n      <uax:ReferenceTypeId>\n        <uax:Identifier>i=47</uax:Identifier>\n      </uax:ReferenceTypeId>\n      <uax:TypeDefinitionId>\n        <uax:Identifier>i=2368</uax:Identifier>\n      </uax:TypeDefinitionId>\n      <uax:NumericId>506</uax:NumericId>\n      <uax:DataType>\n        <uax:Identifier>i=26</uax:Identifier>\n      </uax:DataType>\n      <uax:ValueRank>-1</uax:ValueRank>\n      <uax:AccessLevel>1</uax:AccessLevel>\n      <uax:UserAccessLevel>1</uax:UserAccessLevel>\n      <uax:References>\n        <uax:Reference>\n          <uax:ReferenceTypeId>\n            <uax:Identifier>ns=1;i=195</uax:Identifier>\n          </uax:ReferenceTypeId>\n          <uax:TargetId>\n            <uax:Identifier>ns=1;i=505</uax:Identifier>\n          </uax:TargetId>\n        </uax:Reference>\n      </uax:References>\n      <EURange xmlns=\"http://opcfoundation.org/UA/\">\n        <uax:NodeClass>Variable_2</uax:NodeClass>\n        <uax:NodeId>\n          <uax:Identifier>ns=1;i=510</uax:Identifier>\n        </uax:NodeId>\n        <uax:BrowseName>\n          <uax:NamespaceIndex>0</uax:NamespaceIndex>\n          <uax:Name>EURange</uax:Name>\n        </uax:BrowseName>\n        <uax:ReferenceTypeId>\n          <uax:Identifier>i=46</uax:Identifier>\n        </uax:ReferenceTypeId>\n        <uax:TypeDefinitionId>\n          <uax:Identifier>i=68</uax:Identifier>\n        </uax:TypeDefinitionId>\n        <uax:NumericId>510</uax:NumericId>\n        <uax:DataType>\n          <uax:Identifier>i=884</uax:Identifier>\n        </uax:DataType>\n        <uax:ValueRank>-1</uax:ValueRank>\n        <uax:AccessLevel>1</uax:AccessLevel>\n        <uax:UserAccessLevel>1</uax:UserAccessLevel>\n      </EURange>\n    </NameNotSet1109>\n    <ChildMethod>\n      <uax:NodeClass>Method_4</uax:NodeClass>\n      <uax:NodeId>\n        <uax:Identifier>ns=1;i=512</uax:Identifier>\n      </uax:NodeId>\n      <uax:BrowseName>\n        <uax:NamespaceIndex>1</uax:NamespaceIndex>\n        <uax:Name>ChildMethod</uax:Name>\n      </uax:BrowseName>\n      <uax:ReferenceTypeId>\n        <uax:Identifier>i=47</uax:Identifier>\n      </uax:ReferenceTypeId>\n      <uax:TypeDefinitionId>\n        <uax:Identifier>ns=1;i=295</uax:Identifier>\n      </uax:TypeDefinitionId>\n      <uax:NumericId>512</uax:NumericId>\n      <uax:Executable>true</uax:Executable>\n      <uax:UserExecutable>true</uax:UserExecutable>\n      <InputArguments xmlns=\"http://opcfoundation.org/UA/\">\n        <uax:NodeClass>Variable_2</uax:NodeClass>\n        <uax:NodeId>\n          <uax:Identifier>ns=1;i=513</uax:Identifier>\n        </uax:NodeId>\n        <uax:BrowseName>\n          <uax:NamespaceIndex>0</uax:NamespaceIndex>\n          <uax:Name>InputArguments</uax:Name>\n        </uax:BrowseName>\n        <uax:ReferenceTypeId>\n          <uax:Identifier>i=46</uax:Identifier>\n        </uax:ReferenceTypeId>\n        <uax:TypeDefinitionId>\n          <uax:Identifier>i=68</uax:Identifier>\n        </uax:TypeDefinitionId>\n        <uax:NumericId>513</uax:NumericId>\n        <uax:Value>\n          <uax:Value>\n            <uax:ListOfExtensionObject>\n              <uax:ExtensionObject>\n                <uax:TypeId>\n                  <uax:Identifier>i=297</uax:Identifier>\n                </uax:TypeId>\n                <uax:Body>\n                  <uax:Argument>\n                    <uax:Name>Input1</uax:Name>\n                    <uax:DataType>\n                      <uax:Identifier>i=6</uax:Identifier>\n                    </uax:DataType>\n                    <uax:ValueRank>-1</uax:ValueRank>\n                    <uax:ArrayDimensions />\n                  </uax:Argument>\n                </uax:Body>\n              </uax:ExtensionObject>\n              <uax:ExtensionObject>\n                <uax:TypeId>\n                  <uax:Identifier>i=297</uax:Identifier>\n                </uax:TypeId>\n                <uax:Body>\n                  <uax:Argument>\n                    <uax:Name>Input2</uax:Name>\n                    <uax:DataType>\n                      <uax:Identifier>i=6</uax:Identifier>\n                    </uax:DataType>\n                    <uax:ValueRank>-1</uax:ValueRank>\n                    <uax:ArrayDimensions />\n                  </uax:Argument>\n                </uax:Body>\n              </uax:ExtensionObject>\n            </uax:ListOfExtensionObject>\n          </uax:Value>\n        </uax:Value>\n        <uax:DataType>\n          <uax:Identifier>i=296</uax:Identifier>\n        </uax:DataType>\n        <uax:ValueRank>1</uax:ValueRank>\n        <uax:ArrayDimensions>0</uax:ArrayDimensions>\n        <uax:AccessLevel>1</uax:AccessLevel>\n        <uax:UserAccessLevel>1</uax:UserAccessLevel>\n      </InputArguments>\n      <OutputArguments xmlns=\"http://opcfoundation.org/UA/\">\n        <uax:NodeClass>Variable_2</uax:NodeClass>\n        <uax:NodeId>\n          <uax:Identifier>ns=1;i=514</uax:Identifier>\n        </uax:NodeId>\n        <uax:BrowseName>\n          <uax:NamespaceIndex>0</uax:NamespaceIndex>\n          <uax:Name>OutputArguments</uax:Name>\n        </uax:BrowseName>\n        <uax:ReferenceTypeId>\n          <uax:Identifier>i=46</uax:Identifier>\n        </uax:ReferenceTypeId>\n        <uax:TypeDefinitionId>\n          <uax:Identifier>i=68</uax:Identifier>\n        </uax:TypeDefinitionId>\n        <uax:NumericId>514</uax:NumericId>\n        <uax:Value>\n          <uax:Value>\n            <uax:ListOfExtensionObject>\n              <uax:ExtensionObject>\n                <uax:TypeId>\n                  <uax:Identifier>i=297</uax:Identifier>\n                </uax:TypeId>\n                <uax:Body>\n                  <uax:Argument>\n                    <uax:Name>Output1</uax:Name>\n                    <uax:DataType>\n                      <uax:Identifier>i=6</uax:Identifier>\n                    </uax:DataType>\n                    <uax:ValueRank>-1</uax:ValueRank>\n                    <uax:ArrayDimensions />\n                  </uax:Argument>\n                </uax:Body>\n              </uax:ExtensionObject>\n            </uax:ListOfExtensionObject>\n          </uax:Value>\n        </uax:Value>\n        <uax:DataType>\n          <uax:Identifier>i=296</uax:Identifier>\n        </uax:DataType>\n        <uax:ValueRank>1</uax:ValueRank>\n        <uax:ArrayDimensions>0</uax:ArrayDimensions>\n        <uax:AccessLevel>1</uax:AccessLevel>\n        <uax:UserAccessLevel>1</uax:UserAccessLevel>\n      </OutputArguments>\n    </ChildMethod>\n    <NonExecutableMethod>\n      <uax:NodeClass>Method_4</uax:NodeClass>\n      <uax:NodeId>\n        <uax:Identifier>ns=1;i=515</uax:Identifier>\n      </uax:NodeId>\n      <uax:BrowseName>\n        <uax:NamespaceIndex>1</uax:NamespaceIndex>\n        <uax:Name>NonExecutableMethod</uax:Name>\n      </uax:BrowseName>\n      <uax:ReferenceTypeId>\n        <uax:Identifier>i=47</uax:Identifier>\n      </uax:ReferenceTypeId>\n      <uax:TypeDefinitionId>\n        <uax:Identifier>ns=1;i=306</uax:Identifier>\n      </uax:TypeDefinitionId>\n      <uax:NumericId>515</uax:NumericId>\n      <uax:Executable>true</uax:Executable>\n      <uax:UserExecutable>true</uax:UserExecutable>\n    </NonExecutableMethod>\n  </NameNotSet6>\n</uax:ListOfNodeState>"
  },
  {
    "path": "SemanticData/Tests/USNodeSetValidationUnitTestProject/XMLModels/CorrectModels/ObjectTypeTest/ObjectTypeTest.Types.bsd",
    "content": "<opc:TypeDictionary\n  xmlns:opc=\"http://opcfoundation.org/BinarySchema/\"\n  xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\"\n  xmlns:ua=\"http://opcfoundation.org/UA/\"\n  xmlns:tns=\"http://cas.eu/UA/CommServer/UnitTests/ObjectTypeTest\"\n  DefaultByteOrder=\"LittleEndian\"\n  TargetNamespace=\"http://cas.eu/UA/CommServer/UnitTests/ObjectTypeTest\"\n>\n  <opc:Import Namespace=\"http://opcfoundation.org/UA/\" Location=\".BinarySchema.bsd\"/>\n\n</opc:TypeDictionary>"
  },
  {
    "path": "SemanticData/Tests/USNodeSetValidationUnitTestProject/XMLModels/CorrectModels/ObjectTypeTest/ObjectTypeTest.Types.xsd",
    "content": "<xs:schema\n  xmlns:xs=\"http://www.w3.org/2001/XMLSchema\"\n  xmlns:ua=\"http://opcfoundation.org/UA/2008/02/Types.xsd\"\n  xmlns:tns=\"http://cas.eu/UA/CommServer/UnitTests/ObjectTypeTest\"\n  targetNamespace=\"http://cas.eu/UA/CommServer/UnitTests/ObjectTypeTest\"\n  elementFormDefault=\"qualified\"\n>\n  <xs:import namespace=\"http://opcfoundation.org/UA/\" />\n\n</xs:schema>"
  },
  {
    "path": "SemanticData/Tests/USNodeSetValidationUnitTestProject/XMLModels/CorrectModels/ObjectTypeTest.csv",
    "content": "ComplexObjectType_UrisVersion,1,Variable\nComplexObjectType_ServerCapabilities_RoleSet,2,Object\nComplexObjectType_ServerCapabilities_RoleSet_AddRole,3,Method\nComplexObjectType_ServerCapabilities_RoleSet_AddRole_InputArguments,4,Variable\nComplexObjectType_ServerCapabilities_RoleSet_AddRole_OutputArguments,5,Variable\nComplexObjectType_ServerCapabilities_RoleSet_RemoveRole,6,Method\nComplexObjectType_ServerCapabilities_RoleSet_RemoveRole_InputArguments,7,Variable\nDerivedFromComplexObjectType_UrisVersion,8,Variable\nDerivedFromComplexObjectType_ServerCapabilities_RoleSet,9,Object\nDerivedFromComplexObjectType_ServerCapabilities_RoleSet_AddRole,10,Method\nDerivedFromComplexObjectType_ServerCapabilities_RoleSet_AddRole_InputArguments,11,Variable\nDerivedFromComplexObjectType_ServerCapabilities_RoleSet_AddRole_OutputArguments,12,Variable\nDerivedFromComplexObjectType_ServerCapabilities_RoleSet_RemoveRole,13,Method\nDerivedFromComplexObjectType_ServerCapabilities_RoleSet_RemoveRole_InputArguments,14,Variable\nNameNotSet6_UrisVersion,15,Variable\nNameNotSet6_ServerCapabilities_RoleSet,16,Object\nNameNotSet6_ServerCapabilities_RoleSet_AddRole,17,Method\nNameNotSet6_ServerCapabilities_RoleSet_AddRole_InputArguments,18,Variable\nNameNotSet6_ServerCapabilities_RoleSet_AddRole_OutputArguments,19,Variable\nNameNotSet6_ServerCapabilities_RoleSet_RemoveRole,20,Method\nNameNotSet6_ServerCapabilities_RoleSet_RemoveRole_InputArguments,21,Variable\nFlowTo,195,ReferenceType\nComplexObjectType,196,ObjectType\nComplexObjectType_ServerArray,197,Variable\nComplexObjectType_NamespaceArray,198,Variable\nComplexObjectType_ServerStatus,199,Variable\nComplexObjectType_ServerStatus_StartTime,200,Variable\nComplexObjectType_ServerStatus_CurrentTime,201,Variable\nComplexObjectType_ServerStatus_State,202,Variable\nComplexObjectType_ServerStatus_BuildInfo,203,Variable\nComplexObjectType_ServerStatus_BuildInfo_ProductUri,204,Variable\nComplexObjectType_ServerStatus_BuildInfo_ManufacturerName,205,Variable\nComplexObjectType_ServerStatus_BuildInfo_ProductName,206,Variable\nComplexObjectType_ServerStatus_BuildInfo_SoftwareVersion,207,Variable\nComplexObjectType_ServerStatus_BuildInfo_BuildNumber,208,Variable\nComplexObjectType_ServerStatus_BuildInfo_BuildDate,209,Variable\nComplexObjectType_ServerStatus_SecondsTillShutdown,210,Variable\nComplexObjectType_ServerStatus_ShutdownReason,211,Variable\nComplexObjectType_ServiceLevel,212,Variable\nComplexObjectType_Auditing,213,Variable\nComplexObjectType_ServerCapabilities,214,Object\nComplexObjectType_ServerCapabilities_ServerProfileArray,215,Variable\nComplexObjectType_ServerCapabilities_LocaleIdArray,216,Variable\nComplexObjectType_ServerCapabilities_MinSupportedSampleRate,217,Variable\nComplexObjectType_ServerCapabilities_MaxBrowseContinuationPoints,218,Variable\nComplexObjectType_ServerCapabilities_MaxQueryContinuationPoints,219,Variable\nComplexObjectType_ServerCapabilities_MaxHistoryContinuationPoints,220,Variable\nComplexObjectType_ServerCapabilities_SoftwareCertificates,221,Variable\nComplexObjectType_ServerCapabilities_MaxArrayLength,222,Variable\nComplexObjectType_ServerCapabilities_MaxStringLength,223,Variable\nComplexObjectType_ServerCapabilities_OperationLimits,224,Object\nComplexObjectType_ServerCapabilities_OperationLimits_MaxNodesPerRead,225,Variable\nComplexObjectType_ServerCapabilities_OperationLimits_MaxNodesPerHistoryReadData,226,Variable\nComplexObjectType_ServerCapabilities_OperationLimits_MaxNodesPerHistoryReadEvents,227,Variable\nComplexObjectType_ServerCapabilities_OperationLimits_MaxNodesPerWrite,228,Variable\nComplexObjectType_ServerCapabilities_OperationLimits_MaxNodesPerHistoryUpdateData,229,Variable\nComplexObjectType_ServerCapabilities_OperationLimits_MaxNodesPerHistoryUpdateEvents,230,Variable\nComplexObjectType_ServerCapabilities_OperationLimits_MaxNodesPerMethodCall,231,Variable\nComplexObjectType_ServerCapabilities_OperationLimits_MaxNodesPerBrowse,232,Variable\nComplexObjectType_ServerCapabilities_OperationLimits_MaxNodesPerRegisterNodes,233,Variable\nComplexObjectType_ServerCapabilities_OperationLimits_MaxNodesPerTranslateBrowsePathsToNodeIds,234,Variable\nComplexObjectType_ServerCapabilities_OperationLimits_MaxNodesPerNodeManagement,235,Variable\nComplexObjectType_ServerCapabilities_OperationLimits_MaxMonitoredItemsPerCall,236,Variable\nComplexObjectType_ServerCapabilities_ModellingRules,237,Object\nComplexObjectType_ServerCapabilities_AggregateFunctions,238,Object\nComplexObjectType_ServerDiagnostics,239,Object\nComplexObjectType_ServerDiagnostics_ServerDiagnosticsSummary,240,Variable\nComplexObjectType_ServerDiagnostics_ServerDiagnosticsSummary_ServerViewCount,241,Variable\nComplexObjectType_ServerDiagnostics_ServerDiagnosticsSummary_CurrentSessionCount,242,Variable\nComplexObjectType_ServerDiagnostics_ServerDiagnosticsSummary_CumulatedSessionCount,243,Variable\nComplexObjectType_ServerDiagnostics_ServerDiagnosticsSummary_SecurityRejectedSessionCount,244,Variable\nComplexObjectType_ServerDiagnostics_ServerDiagnosticsSummary_RejectedSessionCount,245,Variable\nComplexObjectType_ServerDiagnostics_ServerDiagnosticsSummary_SessionTimeoutCount,246,Variable\nComplexObjectType_ServerDiagnostics_ServerDiagnosticsSummary_SessionAbortCount,247,Variable\nComplexObjectType_ServerDiagnostics_ServerDiagnosticsSummary_PublishingIntervalCount,248,Variable\nComplexObjectType_ServerDiagnostics_ServerDiagnosticsSummary_CurrentSubscriptionCount,249,Variable\nComplexObjectType_ServerDiagnostics_ServerDiagnosticsSummary_CumulatedSubscriptionCount,250,Variable\nComplexObjectType_ServerDiagnostics_ServerDiagnosticsSummary_SecurityRejectedRequestsCount,251,Variable\nComplexObjectType_ServerDiagnostics_ServerDiagnosticsSummary_RejectedRequestsCount,252,Variable\nComplexObjectType_ServerDiagnostics_SamplingIntervalDiagnosticsArray,253,Variable\nComplexObjectType_ServerDiagnostics_SubscriptionDiagnosticsArray,254,Variable\nComplexObjectType_ServerDiagnostics_SessionsDiagnosticsSummary,255,Object\nComplexObjectType_ServerDiagnostics_SessionsDiagnosticsSummary_SessionDiagnosticsArray,256,Variable\nComplexObjectType_ServerDiagnostics_SessionsDiagnosticsSummary_SessionSecurityDiagnosticsArray,257,Variable\nComplexObjectType_ServerDiagnostics_EnabledFlag,258,Variable\nComplexObjectType_VendorServerInfo,259,Object\nComplexObjectType_ServerRedundancy,260,Object\nComplexObjectType_ServerRedundancy_RedundancySupport,261,Variable\nComplexObjectType_Namespaces,262,Object\nComplexObjectType_GetMonitoredItems,284,Method\nComplexObjectType_GetMonitoredItems_InputArguments,285,Variable\nComplexObjectType_GetMonitoredItems_OutputArguments,286,Variable\nComplexObjectType_NameNotSet1109,289,Variable\nComplexObjectType_NameNotSet1109_Definition,290,Variable\nComplexObjectType_NameNotSet1109_ValuePrecision,291,Variable\nComplexObjectType_NameNotSet1109_InstrumentRange,292,Variable\nComplexObjectType_NameNotSet1109_EURange,293,Variable\nComplexObjectType_NameNotSet1109_EngineeringUnits,294,Variable\nComplexObjectType_ChildMethod,295,Method\nComplexObjectType_ChildMethod_InputArguments,299,Variable\nComplexObjectType_ChildMethod_OutputArguments,300,Variable\nChildMethodComplexObjectType,303,Method\nChildMethodComplexObjectType_InputArguments,304,Variable\nChildMethodComplexObjectType_OutputArguments,305,Variable\nComplexObjectType_NonExecutableMethod,306,Method\nNonExecutableMethodComplexObjectType,307,Method\nComplexObjectType_ChildObject,308,Object\nComplexObjectType_BrowseName4node66,309,Variable\nDerivedFromComplexObjectType,310,ObjectType\nDerivedFromComplexObjectType_ServerArray,311,Variable\nDerivedFromComplexObjectType_NamespaceArray,312,Variable\nDerivedFromComplexObjectType_ServerStatus,313,Variable\nDerivedFromComplexObjectType_ServerStatus_StartTime,314,Variable\nDerivedFromComplexObjectType_ServerStatus_CurrentTime,315,Variable\nDerivedFromComplexObjectType_ServerStatus_State,316,Variable\nDerivedFromComplexObjectType_ServerStatus_BuildInfo,317,Variable\nDerivedFromComplexObjectType_ServerStatus_BuildInfo_ProductUri,318,Variable\nDerivedFromComplexObjectType_ServerStatus_BuildInfo_ManufacturerName,319,Variable\nDerivedFromComplexObjectType_ServerStatus_BuildInfo_ProductName,320,Variable\nDerivedFromComplexObjectType_ServerStatus_BuildInfo_SoftwareVersion,321,Variable\nDerivedFromComplexObjectType_ServerStatus_BuildInfo_BuildNumber,322,Variable\nDerivedFromComplexObjectType_ServerStatus_BuildInfo_BuildDate,323,Variable\nDerivedFromComplexObjectType_ServerStatus_SecondsTillShutdown,324,Variable\nDerivedFromComplexObjectType_ServerStatus_ShutdownReason,325,Variable\nDerivedFromComplexObjectType_ServiceLevel,326,Variable\nDerivedFromComplexObjectType_Auditing,327,Variable\nDerivedFromComplexObjectType_ServerCapabilities,328,Object\nDerivedFromComplexObjectType_ServerCapabilities_ServerProfileArray,329,Variable\nDerivedFromComplexObjectType_ServerCapabilities_LocaleIdArray,330,Variable\nDerivedFromComplexObjectType_ServerCapabilities_MinSupportedSampleRate,331,Variable\nDerivedFromComplexObjectType_ServerCapabilities_MaxBrowseContinuationPoints,332,Variable\nDerivedFromComplexObjectType_ServerCapabilities_MaxQueryContinuationPoints,333,Variable\nDerivedFromComplexObjectType_ServerCapabilities_MaxHistoryContinuationPoints,334,Variable\nDerivedFromComplexObjectType_ServerCapabilities_SoftwareCertificates,335,Variable\nDerivedFromComplexObjectType_ServerCapabilities_MaxArrayLength,336,Variable\nDerivedFromComplexObjectType_ServerCapabilities_MaxStringLength,337,Variable\nDerivedFromComplexObjectType_ServerCapabilities_OperationLimits,338,Object\nDerivedFromComplexObjectType_ServerCapabilities_OperationLimits_MaxNodesPerRead,339,Variable\nDerivedFromComplexObjectType_ServerCapabilities_OperationLimits_MaxNodesPerHistoryReadData,340,Variable\nDerivedFromComplexObjectType_ServerCapabilities_OperationLimits_MaxNodesPerHistoryReadEvents,341,Variable\nDerivedFromComplexObjectType_ServerCapabilities_OperationLimits_MaxNodesPerWrite,342,Variable\nDerivedFromComplexObjectType_ServerCapabilities_OperationLimits_MaxNodesPerHistoryUpdateData,343,Variable\nDerivedFromComplexObjectType_ServerCapabilities_OperationLimits_MaxNodesPerHistoryUpdateEvents,344,Variable\nDerivedFromComplexObjectType_ServerCapabilities_OperationLimits_MaxNodesPerMethodCall,345,Variable\nDerivedFromComplexObjectType_ServerCapabilities_OperationLimits_MaxNodesPerBrowse,346,Variable\nDerivedFromComplexObjectType_ServerCapabilities_OperationLimits_MaxNodesPerRegisterNodes,347,Variable\nDerivedFromComplexObjectType_ServerCapabilities_OperationLimits_MaxNodesPerTranslateBrowsePathsToNodeIds,348,Variable\nDerivedFromComplexObjectType_ServerCapabilities_OperationLimits_MaxNodesPerNodeManagement,349,Variable\nDerivedFromComplexObjectType_ServerCapabilities_OperationLimits_MaxMonitoredItemsPerCall,350,Variable\nDerivedFromComplexObjectType_ServerCapabilities_ModellingRules,351,Object\nDerivedFromComplexObjectType_ServerCapabilities_AggregateFunctions,352,Object\nDerivedFromComplexObjectType_ServerDiagnostics,353,Object\nDerivedFromComplexObjectType_ServerDiagnostics_ServerDiagnosticsSummary,354,Variable\nDerivedFromComplexObjectType_ServerDiagnostics_ServerDiagnosticsSummary_ServerViewCount,355,Variable\nDerivedFromComplexObjectType_ServerDiagnostics_ServerDiagnosticsSummary_CurrentSessionCount,356,Variable\nDerivedFromComplexObjectType_ServerDiagnostics_ServerDiagnosticsSummary_CumulatedSessionCount,357,Variable\nDerivedFromComplexObjectType_ServerDiagnostics_ServerDiagnosticsSummary_SecurityRejectedSessionCount,358,Variable\nDerivedFromComplexObjectType_ServerDiagnostics_ServerDiagnosticsSummary_RejectedSessionCount,359,Variable\nDerivedFromComplexObjectType_ServerDiagnostics_ServerDiagnosticsSummary_SessionTimeoutCount,360,Variable\nDerivedFromComplexObjectType_ServerDiagnostics_ServerDiagnosticsSummary_SessionAbortCount,361,Variable\nDerivedFromComplexObjectType_ServerDiagnostics_ServerDiagnosticsSummary_PublishingIntervalCount,362,Variable\nDerivedFromComplexObjectType_ServerDiagnostics_ServerDiagnosticsSummary_CurrentSubscriptionCount,363,Variable\nDerivedFromComplexObjectType_ServerDiagnostics_ServerDiagnosticsSummary_CumulatedSubscriptionCount,364,Variable\nDerivedFromComplexObjectType_ServerDiagnostics_ServerDiagnosticsSummary_SecurityRejectedRequestsCount,365,Variable\nDerivedFromComplexObjectType_ServerDiagnostics_ServerDiagnosticsSummary_RejectedRequestsCount,366,Variable\nDerivedFromComplexObjectType_ServerDiagnostics_SamplingIntervalDiagnosticsArray,367,Variable\nDerivedFromComplexObjectType_ServerDiagnostics_SubscriptionDiagnosticsArray,368,Variable\nDerivedFromComplexObjectType_ServerDiagnostics_SessionsDiagnosticsSummary,369,Object\nDerivedFromComplexObjectType_ServerDiagnostics_SessionsDiagnosticsSummary_SessionDiagnosticsArray,370,Variable\nDerivedFromComplexObjectType_ServerDiagnostics_SessionsDiagnosticsSummary_SessionSecurityDiagnosticsArray,371,Variable\nDerivedFromComplexObjectType_ServerDiagnostics_EnabledFlag,372,Variable\nDerivedFromComplexObjectType_VendorServerInfo,373,Object\nDerivedFromComplexObjectType_ServerRedundancy,374,Object\nDerivedFromComplexObjectType_ServerRedundancy_RedundancySupport,375,Variable\nDerivedFromComplexObjectType_Namespaces,376,Object\nDerivedFromComplexObjectType_GetMonitoredItems,398,Method\nDerivedFromComplexObjectType_GetMonitoredItems_InputArguments,399,Variable\nDerivedFromComplexObjectType_GetMonitoredItems_OutputArguments,400,Variable\nDerivedFromComplexObjectType_ChildObject,401,Object\nDerivedFromComplexObjectType_BrowseName4node66,402,Variable\nDerivedFromComplexObjectType_NameNotSet1109,403,Variable\nDerivedFromComplexObjectType_NameNotSet1109_Definition,404,Variable\nDerivedFromComplexObjectType_NameNotSet1109_ValuePrecision,405,Variable\nDerivedFromComplexObjectType_NameNotSet1109_InstrumentRange,406,Variable\nDerivedFromComplexObjectType_NameNotSet1109_EURange,407,Variable\nDerivedFromComplexObjectType_NameNotSet1109_EngineeringUnits,408,Variable\nDerivedFromComplexObjectType_ChildMethod,409,Method\nDerivedFromComplexObjectType_ChildMethod_InputArguments,410,Variable\nDerivedFromComplexObjectType_ChildMethod_OutputArguments,411,Variable\nDerivedFromComplexObjectType_NonExecutableMethod,412,Method\nNameNotSet6,413,Object\nNameNotSet6_ServerArray,414,Variable\nNameNotSet6_NamespaceArray,415,Variable\nNameNotSet6_ServerStatus,416,Variable\nNameNotSet6_ServerStatus_StartTime,417,Variable\nNameNotSet6_ServerStatus_CurrentTime,418,Variable\nNameNotSet6_ServerStatus_State,419,Variable\nNameNotSet6_ServerStatus_BuildInfo,420,Variable\nNameNotSet6_ServerStatus_BuildInfo_ProductUri,421,Variable\nNameNotSet6_ServerStatus_BuildInfo_ManufacturerName,422,Variable\nNameNotSet6_ServerStatus_BuildInfo_ProductName,423,Variable\nNameNotSet6_ServerStatus_BuildInfo_SoftwareVersion,424,Variable\nNameNotSet6_ServerStatus_BuildInfo_BuildNumber,425,Variable\nNameNotSet6_ServerStatus_BuildInfo_BuildDate,426,Variable\nNameNotSet6_ServerStatus_SecondsTillShutdown,427,Variable\nNameNotSet6_ServerStatus_ShutdownReason,428,Variable\nNameNotSet6_ServiceLevel,429,Variable\nNameNotSet6_Auditing,430,Variable\nNameNotSet6_ServerCapabilities,431,Object\nNameNotSet6_ServerCapabilities_ServerProfileArray,432,Variable\nNameNotSet6_ServerCapabilities_LocaleIdArray,433,Variable\nNameNotSet6_ServerCapabilities_MinSupportedSampleRate,434,Variable\nNameNotSet6_ServerCapabilities_MaxBrowseContinuationPoints,435,Variable\nNameNotSet6_ServerCapabilities_MaxQueryContinuationPoints,436,Variable\nNameNotSet6_ServerCapabilities_MaxHistoryContinuationPoints,437,Variable\nNameNotSet6_ServerCapabilities_SoftwareCertificates,438,Variable\nNameNotSet6_ServerCapabilities_MaxArrayLength,439,Variable\nNameNotSet6_ServerCapabilities_MaxStringLength,440,Variable\nNameNotSet6_ServerCapabilities_OperationLimits,441,Object\nNameNotSet6_ServerCapabilities_OperationLimits_MaxNodesPerRead,442,Variable\nNameNotSet6_ServerCapabilities_OperationLimits_MaxNodesPerHistoryReadData,443,Variable\nNameNotSet6_ServerCapabilities_OperationLimits_MaxNodesPerHistoryReadEvents,444,Variable\nNameNotSet6_ServerCapabilities_OperationLimits_MaxNodesPerWrite,445,Variable\nNameNotSet6_ServerCapabilities_OperationLimits_MaxNodesPerHistoryUpdateData,446,Variable\nNameNotSet6_ServerCapabilities_OperationLimits_MaxNodesPerHistoryUpdateEvents,447,Variable\nNameNotSet6_ServerCapabilities_OperationLimits_MaxNodesPerMethodCall,448,Variable\nNameNotSet6_ServerCapabilities_OperationLimits_MaxNodesPerBrowse,449,Variable\nNameNotSet6_ServerCapabilities_OperationLimits_MaxNodesPerRegisterNodes,450,Variable\nNameNotSet6_ServerCapabilities_OperationLimits_MaxNodesPerTranslateBrowsePathsToNodeIds,451,Variable\nNameNotSet6_ServerCapabilities_OperationLimits_MaxNodesPerNodeManagement,452,Variable\nNameNotSet6_ServerCapabilities_OperationLimits_MaxMonitoredItemsPerCall,453,Variable\nNameNotSet6_ServerCapabilities_ModellingRules,454,Object\nNameNotSet6_ServerCapabilities_AggregateFunctions,455,Object\nNameNotSet6_ServerDiagnostics,456,Object\nNameNotSet6_ServerDiagnostics_ServerDiagnosticsSummary,457,Variable\nNameNotSet6_ServerDiagnostics_ServerDiagnosticsSummary_ServerViewCount,458,Variable\nNameNotSet6_ServerDiagnostics_ServerDiagnosticsSummary_CurrentSessionCount,459,Variable\nNameNotSet6_ServerDiagnostics_ServerDiagnosticsSummary_CumulatedSessionCount,460,Variable\nNameNotSet6_ServerDiagnostics_ServerDiagnosticsSummary_SecurityRejectedSessionCount,461,Variable\nNameNotSet6_ServerDiagnostics_ServerDiagnosticsSummary_RejectedSessionCount,462,Variable\nNameNotSet6_ServerDiagnostics_ServerDiagnosticsSummary_SessionTimeoutCount,463,Variable\nNameNotSet6_ServerDiagnostics_ServerDiagnosticsSummary_SessionAbortCount,464,Variable\nNameNotSet6_ServerDiagnostics_ServerDiagnosticsSummary_PublishingIntervalCount,465,Variable\nNameNotSet6_ServerDiagnostics_ServerDiagnosticsSummary_CurrentSubscriptionCount,466,Variable\nNameNotSet6_ServerDiagnostics_ServerDiagnosticsSummary_CumulatedSubscriptionCount,467,Variable\nNameNotSet6_ServerDiagnostics_ServerDiagnosticsSummary_SecurityRejectedRequestsCount,468,Variable\nNameNotSet6_ServerDiagnostics_ServerDiagnosticsSummary_RejectedRequestsCount,469,Variable\nNameNotSet6_ServerDiagnostics_SamplingIntervalDiagnosticsArray,470,Variable\nNameNotSet6_ServerDiagnostics_SubscriptionDiagnosticsArray,471,Variable\nNameNotSet6_ServerDiagnostics_SessionsDiagnosticsSummary,472,Object\nNameNotSet6_ServerDiagnostics_SessionsDiagnosticsSummary_SessionDiagnosticsArray,473,Variable\nNameNotSet6_ServerDiagnostics_SessionsDiagnosticsSummary_SessionSecurityDiagnosticsArray,474,Variable\nNameNotSet6_ServerDiagnostics_EnabledFlag,475,Variable\nNameNotSet6_VendorServerInfo,476,Object\nNameNotSet6_ServerRedundancy,477,Object\nNameNotSet6_ServerRedundancy_RedundancySupport,478,Variable\nNameNotSet6_Namespaces,479,Object\nNameNotSet6_GetMonitoredItems,501,Method\nNameNotSet6_GetMonitoredItems_InputArguments,502,Variable\nNameNotSet6_GetMonitoredItems_OutputArguments,503,Variable\nNameNotSet6_ChildObject,504,Object\nNameNotSet6_BrowseName4node66,505,Variable\nNameNotSet6_NameNotSet1109,506,Variable\nNameNotSet6_NameNotSet1109_Definition,507,Variable\nNameNotSet6_NameNotSet1109_ValuePrecision,508,Variable\nNameNotSet6_NameNotSet1109_InstrumentRange,509,Variable\nNameNotSet6_NameNotSet1109_EURange,510,Variable\nNameNotSet6_NameNotSet1109_EngineeringUnits,511,Variable\nNameNotSet6_ChildMethod,512,Method\nNameNotSet6_ChildMethod_InputArguments,513,Variable\nNameNotSet6_ChildMethod_OutputArguments,514,Variable\nNameNotSet6_NonExecutableMethod,515,Method\nComplexObjectType_EstimatedReturnTime,516,Variable\nComplexObjectType_LocalTime,517,Variable\nComplexObjectType_ServerCapabilities_MaxByteStringLength,518,Variable\nComplexObjectType_ServerCapabilities_Roles,519,Unspecified\nComplexObjectType_ServerCapabilities_Roles_AddRole,520,Unspecified\nComplexObjectType_ServerCapabilities_Roles_AddRole_InputArguments,521,Unspecified\nComplexObjectType_ServerCapabilities_Roles_AddRole_OutputArguments,522,Unspecified\nComplexObjectType_ServerCapabilities_Roles_RemoveRole,523,Unspecified\nComplexObjectType_ServerCapabilities_Roles_RemoveRole_InputArguments,524,Unspecified\nComplexObjectType_ResendData,525,Method\nComplexObjectType_ResendData_InputArguments,526,Variable\nComplexObjectType_SetSubscriptionDurable,527,Method\nComplexObjectType_SetSubscriptionDurable_InputArguments,528,Variable\nComplexObjectType_SetSubscriptionDurable_OutputArguments,529,Variable\nComplexObjectType_RequestServerStateChange,530,Method\nComplexObjectType_RequestServerStateChange_InputArguments,531,Variable\nDerivedFromComplexObjectType_EstimatedReturnTime,532,Variable\nDerivedFromComplexObjectType_LocalTime,533,Variable\nDerivedFromComplexObjectType_ServerCapabilities_MaxByteStringLength,534,Variable\nDerivedFromComplexObjectType_ServerCapabilities_Roles,535,Unspecified\nDerivedFromComplexObjectType_ServerCapabilities_Roles_AddRole,536,Unspecified\nDerivedFromComplexObjectType_ServerCapabilities_Roles_AddRole_InputArguments,537,Unspecified\nDerivedFromComplexObjectType_ServerCapabilities_Roles_AddRole_OutputArguments,538,Unspecified\nDerivedFromComplexObjectType_ServerCapabilities_Roles_RemoveRole,539,Unspecified\nDerivedFromComplexObjectType_ServerCapabilities_Roles_RemoveRole_InputArguments,540,Unspecified\nDerivedFromComplexObjectType_ResendData,541,Method\nDerivedFromComplexObjectType_ResendData_InputArguments,542,Variable\nDerivedFromComplexObjectType_SetSubscriptionDurable,543,Method\nDerivedFromComplexObjectType_SetSubscriptionDurable_InputArguments,544,Variable\nDerivedFromComplexObjectType_SetSubscriptionDurable_OutputArguments,545,Variable\nDerivedFromComplexObjectType_RequestServerStateChange,546,Method\nDerivedFromComplexObjectType_RequestServerStateChange_InputArguments,547,Variable\nNameNotSet6_EstimatedReturnTime,548,Variable\nNameNotSet6_LocalTime,549,Variable\nNameNotSet6_ServerCapabilities_MaxByteStringLength,550,Variable\nNameNotSet6_ServerCapabilities_Roles,551,Unspecified\nNameNotSet6_ServerCapabilities_Roles_AddRole,552,Unspecified\nNameNotSet6_ServerCapabilities_Roles_AddRole_InputArguments,553,Unspecified\nNameNotSet6_ServerCapabilities_Roles_AddRole_OutputArguments,554,Unspecified\nNameNotSet6_ServerCapabilities_Roles_RemoveRole,555,Unspecified\nNameNotSet6_ServerCapabilities_Roles_RemoveRole_InputArguments,556,Unspecified\nNameNotSet6_ResendData,557,Method\nNameNotSet6_ResendData_InputArguments,558,Variable\nNameNotSet6_SetSubscriptionDurable,559,Method\nNameNotSet6_SetSubscriptionDurable_InputArguments,560,Variable\nNameNotSet6_SetSubscriptionDurable_OutputArguments,561,Variable\nNameNotSet6_RequestServerStateChange,562,Method\nNameNotSet6_RequestServerStateChange_InputArguments,563,Variable\n"
  },
  {
    "path": "SemanticData/Tests/USNodeSetValidationUnitTestProject/XMLModels/CorrectModels/ObjectTypeTest.xml",
    "content": "﻿<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<ModelDesign xmlns:cas=\"http://cas.eu/UA/CommServer/UnitTests/ObjectTypeTest\" xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\" xmlns:uax=\"http://opcfoundation.org/UA/2008/02/Types.xsd\" xmlns:ua=\"http://opcfoundation.org/UA/\" TargetNamespace=\"http://cas.eu/UA/CommServer/UnitTests/ObjectTypeTest\" xmlns=\"http://opcfoundation.org/UA/ModelDesign.xsd\">\n  <Namespaces>\n    <Namespace Name=\"cas\" Prefix=\"ObjectTypeTest\" XmlPrefix=\"cas\">http://cas.eu/UA/CommServer/UnitTests/ObjectTypeTest</Namespace>\n    <Namespace Name=\"ua\" XmlPrefix=\"ua\">http://opcfoundation.org/UA/</Namespace>\n  </Namespaces>\n  <ObjectType SymbolicName=\"cas:ComplexObjectType\" BaseType=\"ua:ServerType\">\n    <Children>\n      <Object SymbolicName=\"cas:ChildObject\" ModellingRule=\"MandatoryPlaceholder\" SupportsEvents=\"true\" />\n      <Property SymbolicName=\"cas:BrowseName4node66\" ModellingRule=\"Mandatory\" DataType=\"ua:LocalizedText\">\n        <BrowseName>ChildProperty</BrowseName>\n        <References>\n          <Reference IsInverse=\"true\" IsOneWay=\"true\">\n            <ReferenceType>cas:FlowTo</ReferenceType>\n            <TargetId>cas:ComplexObjectType_NameNotSet1109</TargetId>\n          </Reference>\n        </References>\n      </Property>\n      <Variable SymbolicName=\"cas:NameNotSet1109\" TypeDefinition=\"ua:AnalogItemType\" ModellingRule=\"Mandatory\">\n        <BrowseName>BrowseName4node1109</BrowseName>\n      </Variable>\n      <Method SymbolicName=\"cas:ChildMethod\" TypeDefinition=\"cas:ChildMethodComplexObjectType\" ModellingRule=\"Mandatory\" />\n      <Method SymbolicName=\"cas:NonExecutableMethod\" TypeDefinition=\"cas:NonExecutableMethodComplexObjectType\" ModellingRule=\"Mandatory\" />\n      <Object SymbolicName=\"ua:ServerCapabilities\" ModellingRule=\"Mandatory\" />\n    </Children>\n  </ObjectType>\n  <ReferenceType SymbolicName=\"cas:FlowTo\" BaseType=\"ua:NonHierarchicalReferences\" Symmetric=\"false\">\n    <DisplayName>Flow to type</DisplayName>\n    <Description>It is test ReferenceType</Description>\n    <InverseName>FlowFrom</InverseName>\n  </ReferenceType>\n  <Method SymbolicName=\"cas:ChildMethodComplexObjectType\">\n    <InputArguments>\n      <Argument Name=\"Input1\" DataType=\"ua:Int32\" />\n      <Argument Name=\"Input2\" DataType=\"ua:Int32\" />\n    </InputArguments>\n    <OutputArguments>\n      <Argument Name=\"Output1\" DataType=\"ua:Int32\" />\n    </OutputArguments>\n  </Method>\n  <Method SymbolicName=\"cas:NonExecutableMethodComplexObjectType\" NonExecutable=\"true\" />\n  <ObjectType SymbolicName=\"cas:DerivedFromComplexObjectType\" BaseType=\"cas:ComplexObjectType\">\n    <Children>\n      <Method SymbolicName=\"cas:ChildMethod\" />\n    </Children>\n  </ObjectType>\n  <Object SymbolicName=\"cas:NameNotSet6\" TypeDefinition=\"cas:DerivedFromComplexObjectType\">\n    <References>\n      <Reference IsInverse=\"true\">\n        <ReferenceType>ua:Organizes</ReferenceType>\n        <TargetId>ua:ObjectsFolder</TargetId>\n      </Reference>\n    </References>\n  </Object>\n</ModelDesign>"
  },
  {
    "path": "SemanticData/Tests/USNodeSetValidationUnitTestProject/XMLModels/CorrectModels/ReferenceTest/ReferenceTest.Classes.cs",
    "content": "/* ========================================================================\n * Copyright (c) 2005-2021 The OPC Foundation, Inc. All rights reserved.\n *\n * OPC Foundation MIT License 1.00\n *\n * Permission is hereby granted, free of charge, to any person\n * obtaining a copy of this software and associated documentation\n * files (the \"Software\"), to deal in the Software without\n * restriction, including without limitation the rights to use,\n * copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the\n * Software is furnished to do so, subject to the following\n * conditions:\n *\n * The above copyright notice and this permission notice shall be\n * included in all copies or substantial portions of the Software.\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND,\n * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES\n * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND\n * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT\n * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,\n * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING\n * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR\n * OTHER DEALINGS IN THE SOFTWARE.\n *\n * The complete license agreement can be found here:\n * http://opcfoundation.org/License/MIT/1.00/\n * ======================================================================*/\n\nusing System;\nusing System.Collections.Generic;\nusing System.Text;\nusing System.Xml;\nusing System.Runtime.Serialization;\nusing ;\n\nnamespace ReferenceTest\n{\n}"
  },
  {
    "path": "SemanticData/Tests/USNodeSetValidationUnitTestProject/XMLModels/CorrectModels/ReferenceTest/ReferenceTest.Constants.cs",
    "content": "/* ========================================================================\n * Copyright (c) 2005-2021 The OPC Foundation, Inc. All rights reserved.\n *\n * OPC Foundation MIT License 1.00\n *\n * Permission is hereby granted, free of charge, to any person\n * obtaining a copy of this software and associated documentation\n * files (the \"Software\"), to deal in the Software without\n * restriction, including without limitation the rights to use,\n * copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the\n * Software is furnished to do so, subject to the following\n * conditions:\n *\n * The above copyright notice and this permission notice shall be\n * included in all copies or substantial portions of the Software.\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND,\n * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES\n * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND\n * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT\n * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,\n * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING\n * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR\n * OTHER DEALINGS IN THE SOFTWARE.\n *\n * The complete license agreement can be found here:\n * http://opcfoundation.org/License/MIT/1.00/\n * ======================================================================*/\n\nusing System;\nusing System.Collections.Generic;\nusing System.Text;\nusing System.Reflection;\nusing System.Xml;\nusing System.Runtime.Serialization;\nusing ;\n\nnamespace ReferenceTest\n{\n    #region ReferenceType Identifiers\n    /// <summary>\n    /// A class that declares constants for all ReferenceTypes in the Model Design.\n    /// </summary>\n    /// <exclude />\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"Opc.Ua.ModelCompiler\", \"1.0.0.0\")]\n    public static partial class ReferenceTypes\n    {\n        /// <summary>\n        /// The identifier for the ReferenceTypeTest ReferenceType.\n        /// </summary>\n        public const uint ReferenceTypeTest = 1;\n    }\n    #endregion\n\n    #region ReferenceType Node Identifiers\n    /// <summary>\n    /// A class that declares constants for all ReferenceTypes in the Model Design.\n    /// </summary>\n    /// <exclude />\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"Opc.Ua.ModelCompiler\", \"1.0.0.0\")]\n    public static partial class ReferenceTypeIds\n    {\n        /// <summary>\n        /// The identifier for the ReferenceTypeTest ReferenceType.\n        /// </summary>\n        public static readonly ExpandedNodeId ReferenceTypeTest = new ExpandedNodeId(ReferenceTest.ReferenceTypes.ReferenceTypeTest, ReferenceTest.Namespaces.cas);\n    }\n    #endregion\n\n    #region BrowseName Declarations\n    /// <summary>\n    /// Declares all of the BrowseNames used in the Model Design.\n    /// </summary>\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"Opc.Ua.ModelCompiler\", \"1.0.0.0\")]\n    public static partial class BrowseNames\n    {\n        /// <summary>\n        /// The BrowseName for the ReferenceTypeTest component.\n        /// </summary>\n        public const string ReferenceTypeTest = \"ReferenceTypeTest\";\n    }\n    #endregion\n\n    #region Namespace Declarations\n    /// <summary>\n    /// Defines constants for all namespaces referenced by the model design.\n    /// </summary>\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"Opc.Ua.ModelCompiler\", \"1.0.0.0\")]\n    public static partial class Namespaces\n    {\n        /// <summary>\n        /// The URI for the cas namespace (.NET code namespace is 'ReferenceTest').\n        /// </summary>\n        public const string cas = \"http://cas.eu/UA/CommServer/UnitTests/ReferenceTest\";\n\n        /// <summary>\n        /// The URI for the ua namespace (.NET code namespace is '').\n        /// </summary>\n        public const string ua = \"http://opcfoundation.org/UA/\";\n    }\n    #endregion\n}"
  },
  {
    "path": "SemanticData/Tests/USNodeSetValidationUnitTestProject/XMLModels/CorrectModels/ReferenceTest/ReferenceTest.DataTypes.cs",
    "content": "/* ========================================================================\n * Copyright (c) 2005-2021 The OPC Foundation, Inc. All rights reserved.\n *\n * OPC Foundation MIT License 1.00\n *\n * Permission is hereby granted, free of charge, to any person\n * obtaining a copy of this software and associated documentation\n * files (the \"Software\"), to deal in the Software without\n * restriction, including without limitation the rights to use,\n * copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the\n * Software is furnished to do so, subject to the following\n * conditions:\n *\n * The above copyright notice and this permission notice shall be\n * included in all copies or substantial portions of the Software.\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND,\n * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES\n * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND\n * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT\n * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,\n * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING\n * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR\n * OTHER DEALINGS IN THE SOFTWARE.\n *\n * The complete license agreement can be found here:\n * http://opcfoundation.org/License/MIT/1.00/\n * ======================================================================*/\n\nusing System;\nusing System.Collections.Generic;\nusing System.Text;\nusing System.Xml;\nusing System.Runtime.Serialization;\nusing ;\n\nnamespace ReferenceTest\n{\n}"
  },
  {
    "path": "SemanticData/Tests/USNodeSetValidationUnitTestProject/XMLModels/CorrectModels/ReferenceTest/ReferenceTest.NodeIds.csv",
    "content": "ReferenceTypeTest,1,ReferenceType\n"
  },
  {
    "path": "SemanticData/Tests/USNodeSetValidationUnitTestProject/XMLModels/CorrectModels/ReferenceTest/ReferenceTest.NodeSet.xml",
    "content": "﻿<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<NodeSet xmlns:i=\"http://www.w3.org/2001/XMLSchema-instance\" xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n  <NamespaceUris>\n    <String>http://opcfoundation.org/UA/</String>\n    <String>http://cas.eu/UA/CommServer/UnitTests/ReferenceTest</String>\n  </NamespaceUris>\n  <ServerUris />\n  <Nodes>\n    <Node i:type=\"ReferenceTypeNode\">\n      <NodeId>\n        <Identifier>ns=1;i=1</Identifier>\n      </NodeId>\n      <NodeClass>ReferenceType_32</NodeClass>\n      <BrowseName>\n        <NamespaceIndex>1</NamespaceIndex>\n        <Name>ReferenceTypeTest</Name>\n      </BrowseName>\n      <DisplayName>\n        <Locale></Locale>\n        <Text>ReferenceTypeTest</Text>\n      </DisplayName>\n      <Description i:nil=\"true\" />\n      <WriteMask>0</WriteMask>\n      <UserWriteMask>0</UserWriteMask>\n      <RolePermissions />\n      <UserRolePermissions />\n      <AccessRestrictions>0</AccessRestrictions>\n      <References>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=45</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>true</IsInverse>\n          <TargetId>\n            <Identifier>i=46</Identifier>\n          </TargetId>\n        </ReferenceNode>\n      </References>\n      <IsAbstract>false</IsAbstract>\n      <Symmetric>false</Symmetric>\n      <InverseName>\n        <Locale></Locale>\n        <Text>FromSomwhere</Text>\n      </InverseName>\n    </Node>\n  </Nodes>\n</NodeSet>"
  },
  {
    "path": "SemanticData/Tests/USNodeSetValidationUnitTestProject/XMLModels/CorrectModels/ReferenceTest/ReferenceTest.NodeSet2.xml",
    "content": "﻿<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<UANodeSet xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\" xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xmlns=\"http://opcfoundation.org/UA/2011/03/UANodeSet.xsd\">\n  <NamespaceUris>\n    <Uri>http://cas.eu/UA/CommServer/UnitTests/ReferenceTest</Uri>\n  </NamespaceUris>\n  <Models>\n    <Model ModelUri=\"http://cas.eu/UA/CommServer/UnitTests/ReferenceTest\">\n      <RequiredModel ModelUri=\"http://opcfoundation.org/UA/\" XmlSchemaUri=\"http://opcfoundation.org/UA/2008/02/Types.xsd\" Version=\"1.04.10\" PublicationDate=\"2021-09-15T00:00:00Z\" />\n    </Model>\n  </Models>\n  <Aliases>\n    <Alias Alias=\"Boolean\">i=1</Alias>\n    <Alias Alias=\"SByte\">i=2</Alias>\n    <Alias Alias=\"Byte\">i=3</Alias>\n    <Alias Alias=\"Int16\">i=4</Alias>\n    <Alias Alias=\"UInt16\">i=5</Alias>\n    <Alias Alias=\"Int32\">i=6</Alias>\n    <Alias Alias=\"UInt32\">i=7</Alias>\n    <Alias Alias=\"Int64\">i=8</Alias>\n    <Alias Alias=\"UInt64\">i=9</Alias>\n    <Alias Alias=\"Float\">i=10</Alias>\n    <Alias Alias=\"Double\">i=11</Alias>\n    <Alias Alias=\"DateTime\">i=13</Alias>\n    <Alias Alias=\"String\">i=12</Alias>\n    <Alias Alias=\"ByteString\">i=15</Alias>\n    <Alias Alias=\"Guid\">i=14</Alias>\n    <Alias Alias=\"XmlElement\">i=16</Alias>\n    <Alias Alias=\"NodeId\">i=17</Alias>\n    <Alias Alias=\"ExpandedNodeId\">i=18</Alias>\n    <Alias Alias=\"QualifiedName\">i=20</Alias>\n    <Alias Alias=\"LocalizedText\">i=21</Alias>\n    <Alias Alias=\"StatusCode\">i=19</Alias>\n    <Alias Alias=\"Structure\">i=22</Alias>\n    <Alias Alias=\"Number\">i=26</Alias>\n    <Alias Alias=\"Integer\">i=27</Alias>\n    <Alias Alias=\"UInteger\">i=28</Alias>\n    <Alias Alias=\"HasComponent\">i=47</Alias>\n    <Alias Alias=\"HasProperty\">i=46</Alias>\n    <Alias Alias=\"Organizes\">i=35</Alias>\n    <Alias Alias=\"HasEventSource\">i=36</Alias>\n    <Alias Alias=\"HasNotifier\">i=48</Alias>\n    <Alias Alias=\"HasSubtype\">i=45</Alias>\n    <Alias Alias=\"HasTypeDefinition\">i=40</Alias>\n    <Alias Alias=\"HasModellingRule\">i=37</Alias>\n    <Alias Alias=\"HasEncoding\">i=38</Alias>\n    <Alias Alias=\"HasDescription\">i=39</Alias>\n    <Alias Alias=\"HasCause\">i=53</Alias>\n    <Alias Alias=\"ToState\">i=52</Alias>\n    <Alias Alias=\"FromState\">i=51</Alias>\n    <Alias Alias=\"HasEffect\">i=54</Alias>\n    <Alias Alias=\"HasTrueSubState\">i=9004</Alias>\n    <Alias Alias=\"HasFalseSubState\">i=9005</Alias>\n    <Alias Alias=\"HasDictionaryEntry\">i=17597</Alias>\n    <Alias Alias=\"HasCondition\">i=9006</Alias>\n    <Alias Alias=\"HasGuard\">i=15112</Alias>\n    <Alias Alias=\"HasAddIn\">i=17604</Alias>\n    <Alias Alias=\"HasInterface\">i=17603</Alias>\n  </Aliases>\n  <UAReferenceType NodeId=\"ns=1;i=1\" BrowseName=\"1:ReferenceTypeTest\">\n    <DisplayName>ReferenceTypeTest</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=46</Reference>\n    </References>\n    <InverseName>FromSomwhere</InverseName>\n  </UAReferenceType>\n</UANodeSet>"
  },
  {
    "path": "SemanticData/Tests/USNodeSetValidationUnitTestProject/XMLModels/CorrectModels/ReferenceTest/ReferenceTest.PredefinedNodes.xml",
    "content": "﻿<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<uax:ListOfNodeState xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xmlns:uax=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n  <uax:NamespaceUris>\n    <uax:NamespaceUri>http://cas.eu/UA/CommServer/UnitTests/ReferenceTest</uax:NamespaceUri>\n  </uax:NamespaceUris>\n  <ReferenceTypeTest xmlns=\"http://cas.eu/UA/CommServer/UnitTests/ReferenceTest\">\n    <uax:NodeClass>ReferenceType_32</uax:NodeClass>\n    <uax:NodeId>\n      <uax:Identifier>ns=1;i=1</uax:Identifier>\n    </uax:NodeId>\n    <uax:BrowseName>\n      <uax:NamespaceIndex>1</uax:NamespaceIndex>\n      <uax:Name>ReferenceTypeTest</uax:Name>\n    </uax:BrowseName>\n    <uax:SuperTypeId>\n      <uax:Identifier>i=46</uax:Identifier>\n    </uax:SuperTypeId>\n    <uax:InverseName>\n      <uax:Text>FromSomwhere</uax:Text>\n    </uax:InverseName>\n  </ReferenceTypeTest>\n</uax:ListOfNodeState>"
  },
  {
    "path": "SemanticData/Tests/USNodeSetValidationUnitTestProject/XMLModels/CorrectModels/ReferenceTest/ReferenceTest.Types.bsd",
    "content": "<opc:TypeDictionary\n  xmlns:opc=\"http://opcfoundation.org/BinarySchema/\"\n  xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\"\n  xmlns:ua=\"http://opcfoundation.org/UA/\"\n  xmlns:tns=\"http://cas.eu/UA/CommServer/UnitTests/ReferenceTest\"\n  DefaultByteOrder=\"LittleEndian\"\n  TargetNamespace=\"http://cas.eu/UA/CommServer/UnitTests/ReferenceTest\"\n>\n  <opc:Import Namespace=\"http://opcfoundation.org/UA/\" Location=\".BinarySchema.bsd\"/>\n\n</opc:TypeDictionary>"
  },
  {
    "path": "SemanticData/Tests/USNodeSetValidationUnitTestProject/XMLModels/CorrectModels/ReferenceTest/ReferenceTest.Types.xsd",
    "content": "<xs:schema\n  xmlns:xs=\"http://www.w3.org/2001/XMLSchema\"\n  xmlns:ua=\"http://opcfoundation.org/UA/2008/02/Types.xsd\"\n  xmlns:tns=\"http://cas.eu/UA/CommServer/UnitTests/ReferenceTest\"\n  targetNamespace=\"http://cas.eu/UA/CommServer/UnitTests/ReferenceTest\"\n  elementFormDefault=\"qualified\"\n>\n  <xs:import namespace=\"http://opcfoundation.org/UA/\" />\n\n</xs:schema>"
  },
  {
    "path": "SemanticData/Tests/USNodeSetValidationUnitTestProject/XMLModels/CorrectModels/ReferenceTest.csv",
    "content": "ReferenceTypeTest,1,ReferenceType\n"
  },
  {
    "path": "SemanticData/Tests/USNodeSetValidationUnitTestProject/XMLModels/CorrectModels/ReferenceTest.xml",
    "content": "﻿<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<ModelDesign xmlns:cas=\"http://cas.eu/UA/CommServer/UnitTests/ReferenceTest\" xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\" xmlns:uax=\"http://opcfoundation.org/UA/2008/02/Types.xsd\" xmlns:ua=\"http://opcfoundation.org/UA/\" TargetNamespace=\"http://cas.eu/UA/CommServer/UnitTests/ReferenceTest\" xmlns=\"http://opcfoundation.org/UA/ModelDesign.xsd\">\n  <Namespaces>\n    <Namespace Name=\"cas\" Prefix=\"ReferenceTest\" XmlPrefix=\"cas\">http://cas.eu/UA/CommServer/UnitTests/ReferenceTest</Namespace>\n    <Namespace Name=\"ua\" XmlPrefix=\"ua\">http://opcfoundation.org/UA/</Namespace>\n  </Namespaces>\n  <ReferenceType SymbolicName=\"cas:ReferenceTypeTest\" BaseType=\"ua:HasProperty\" Symmetric=\"false\">\n    <InverseName>FromSomwhere</InverseName>\n  </ReferenceType>\n</ModelDesign>"
  },
  {
    "path": "SemanticData/Tests/USNodeSetValidationUnitTestProject/XMLModels/CorrectModels/TestModels.uamdsl",
    "content": "﻿<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<?xml-stylesheet type=\"text/xsl\" href=\"UAModelDesignerSolution.xslt\"?>\n<UAModelDesignerSolution xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\" xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\">\n  <Name>UnitTestsData</Name>\n  <Projects>\n    <UAModelDesignerProject ProjectIdentifier=\"f94e41c2-dbc6-48c3-a374-81615b1bf0de\">\n      <Name>ReferenceTest</Name>\n      <CSVFileName>$(ProjectFileName).csv</CSVFileName>\n      <BuildOutputDirectoryName>$(ProjectFileName)</BuildOutputDirectoryName>\n      <FileName>ReferenceTest.xml</FileName>\n    </UAModelDesignerProject>\n    <UAModelDesignerProject ProjectIdentifier=\"66dc1a63-f9f4-411f-8866-07b8e6a54f99\">\n      <Name>ObjectTypeTest</Name>\n      <CSVFileName>$(ProjectFileName).csv</CSVFileName>\n      <BuildOutputDirectoryName>$(ProjectFileName)</BuildOutputDirectoryName>\n      <FileName>ObjectTypeTest.xml</FileName>\n    </UAModelDesignerProject>\n    <UAModelDesignerProject ProjectIdentifier=\"72861b24-ae2a-4ea2-973d-9d8193e317bb\">\n      <Name>VariableTypeTest</Name>\n      <CSVFileName>$(ProjectFileName).csv</CSVFileName>\n      <BuildOutputDirectoryName>$(ProjectFileName)</BuildOutputDirectoryName>\n      <FileName>VariableTypeTest.xml</FileName>\n    </UAModelDesignerProject>\n    <UAModelDesignerProject ProjectIdentifier=\"be767e1a-245c-4051-a151-b3708704f464\">\n      <Name>DataTypeTest</Name>\n      <CSVFileName>$(ProjectFileName).csv</CSVFileName>\n      <BuildOutputDirectoryName>$(ProjectFileName)</BuildOutputDirectoryName>\n      <FileName>DataTypeTest.xml</FileName>\n    </UAModelDesignerProject>\n  </Projects>\n  <ServerDetails codebase=\"\" configuration=\"\" />\n</UAModelDesignerSolution>"
  },
  {
    "path": "SemanticData/Tests/USNodeSetValidationUnitTestProject/XMLModels/CorrectModels/VariableTypeTest/VariableTypeTest.Classes.cs",
    "content": "/* ========================================================================\n * Copyright (c) 2005-2021 The OPC Foundation, Inc. All rights reserved.\n *\n * OPC Foundation MIT License 1.00\n *\n * Permission is hereby granted, free of charge, to any person\n * obtaining a copy of this software and associated documentation\n * files (the \"Software\"), to deal in the Software without\n * restriction, including without limitation the rights to use,\n * copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the\n * Software is furnished to do so, subject to the following\n * conditions:\n *\n * The above copyright notice and this permission notice shall be\n * included in all copies or substantial portions of the Software.\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND,\n * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES\n * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND\n * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT\n * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,\n * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING\n * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR\n * OTHER DEALINGS IN THE SOFTWARE.\n *\n * The complete license agreement can be found here:\n * http://opcfoundation.org/License/MIT/1.00/\n * ======================================================================*/\n\nusing System;\nusing System.Collections.Generic;\nusing System.Text;\nusing System.Xml;\nusing System.Runtime.Serialization;\nusing ;\n\nnamespace VariableTypeTest\n{\n    #region ComplexVariableState Class\n    #if (!OPCUA_EXCLUDE_ComplexVariableState)\n    /// <summary>\n    /// Stores an instance of the ComplexVariableType VariableType.\n    /// </summary>\n    /// <exclude />\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"Opc.Ua.ModelCompiler\", \"1.0.0.0\")]\n    public partial class ComplexVariableState : AnalogItemState\n    {\n        #region Constructors\n        /// <summary>\n        /// Initializes the type with its default attribute values.\n        /// </summary>\n        public ComplexVariableState(NodeState parent) : base(parent)\n        {\n        }\n\n        /// <summary>\n        /// Returns the id of the default type definition node for the instance.\n        /// </summary>\n        protected override NodeId GetDefaultTypeDefinitionId(NamespaceTable namespaceUris)\n        {\n            return Opc.Ua.NodeId.Create(VariableTypeTest.VariableTypes.ComplexVariableType, VariableTypeTest.Namespaces.cas, namespaceUris);\n        }\n\n        /// <summary>\n        /// Returns the id of the default data type node for the instance.\n        /// </summary>\n        protected override NodeId GetDefaultDataTypeId(NamespaceTable namespaceUris)\n        {\n            return Opc.Ua.NodeId.Create(.DataTypes.Number, .Namespaces.ua, namespaceUris);\n        }\n\n        /// <summary>\n        /// Returns the id of the default value rank for the instance.\n        /// </summary>\n        protected override int GetDefaultValueRank()\n        {\n            return ValueRanks.Scalar;\n        }\n\n        #if (!OPCUA_EXCLUDE_InitializationStrings)\n        /// <summary>\n        /// Initializes the instance.\n        /// </summary>\n        protected override void Initialize(ISystemContext context)\n        {\n            base.Initialize(context);\n            Initialize(context, InitializationString);\n            InitializeOptionalChildren(context);\n        }\n\n        /// <summary>\n        /// Initializes the instance with a node.\n        /// </summary>\n        protected override void Initialize(ISystemContext context, NodeState source)\n        {\n            InitializeOptionalChildren(context);\n            base.Initialize(context, source);\n        }\n\n        /// <summary>\n        /// Initializes the any option children defined for the instance.\n        /// </summary>\n        protected override void InitializeOptionalChildren(ISystemContext context)\n        {\n            base.InitializeOptionalChildren(context);\n        }\n\n        #region Initialization String\n        private const string InitializationString =\n           \"AQAAADYAAABodHRwOi8vY2FzLmV1L1VBL0NvbW1TZXJ2ZXIvVW5pdFRlc3RzL1ZhcmlhYmxlVHlwZVRl\" +\n           \"c3T/////FWCJAgIAAAABABsAAABDb21wbGV4VmFyaWFibGVUeXBlSW5zdGFuY2UBAQgAAQEIAAgAAAAA\" +\n           \"Gv////8BAf////8CAAAAVWCJCgIAAAAAAAcAAABFVVJhbmdlAQEMAAMAAAAADgAAAE5ld0Rpc3BsYXlO\" +\n           \"YW1lAC4ARAwAAAABAHQD/////wEB/////wAAAAAVYIkKAgAAAAEADQAAAFZhcmlhYmxlQ2hpbGQBAQ4A\" +\n           \"AC4ARA4AAAAABv////8CAv////8AAAAA\";\n        #endregion\n        #endif\n        #endregion\n\n        #region Public Properties\n        /// <remarks />\n        public PropertyState<int> VariableChild\n        {\n            get\n            {\n                return m_variableChild;\n            }\n\n            set\n            {\n                if (!Object.ReferenceEquals(m_variableChild, value))\n                {\n                    ChangeMasks |= NodeStateChangeMasks.Children;\n                }\n\n                m_variableChild = value;\n            }\n        }\n        #endregion\n\n        #region Overridden Methods\n        /// <summary>\n        /// Populates a list with the children that belong to the node.\n        /// </summary>\n        /// <param name=\"context\">The context for the system being accessed.</param>\n        /// <param name=\"children\">The list of children to populate.</param>\n        public override void GetChildren(\n            ISystemContext context,\n            IList<BaseInstanceState> children)\n        {\n            if (m_variableChild != null)\n            {\n                children.Add(m_variableChild);\n            }\n\n            base.GetChildren(context, children);\n        }\n\n        /// <summary>\n        /// Finds the child with the specified browse name.\n        /// </summary>\n        protected override BaseInstanceState FindChild(\n            ISystemContext context,\n            QualifiedName browseName,\n            bool createOrReplace,\n            BaseInstanceState replacement)\n        {\n            if (QualifiedName.IsNull(browseName))\n            {\n                return null;\n            }\n\n            BaseInstanceState instance = null;\n\n            switch (browseName.Name)\n            {\n                case VariableTypeTest.BrowseNames.VariableChild:\n                {\n                    if (createOrReplace)\n                    {\n                        if (VariableChild == null)\n                        {\n                            if (replacement == null)\n                            {\n                                VariableChild = new PropertyState<int>(this);\n                            }\n                            else\n                            {\n                                VariableChild = (PropertyState<int>)replacement;\n                            }\n                        }\n                    }\n\n                    instance = VariableChild;\n                    break;\n                }\n            }\n\n            if (instance != null)\n            {\n                return instance;\n            }\n\n            return base.FindChild(context, browseName, createOrReplace, replacement);\n        }\n        #endregion\n\n        #region Private Fields\n        private PropertyState<int> m_variableChild;\n        #endregion\n    }\n\n    #region ComplexVariableState<T> Class\n    /// <summary>\n    /// A typed version of the ComplexVariableType variable.\n    /// </summary>\n    /// <exclude />\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"Opc.Ua.ModelCompiler\", \"1.0.0.0\")]\n    public class ComplexVariableState<T> : ComplexVariableState\n    {\n        #region Constructors\n        /// <summary>\n        /// Initializes the instance with its defalt attribute values.\n        /// </summary>\n        public ComplexVariableState(NodeState parent) : base(parent)\n        {\n            Value = default(T);\n        }\n\n        /// <summary>\n        /// Initializes the instance with the default values.\n        /// </summary>\n        protected override void Initialize(ISystemContext context)\n        {\n            base.Initialize(context);\n\n            Value = default(T);\n            DataType = TypeInfo.GetDataTypeId(typeof(T));\n            ValueRank = TypeInfo.GetValueRank(typeof(T));\n        }\n\n        /// <summary>\n        /// Initializes the instance with a node.\n        /// </summary>\n        protected override void Initialize(ISystemContext context, NodeState source)\n        {\n            InitializeOptionalChildren(context);\n            base.Initialize(context, source);\n        }\n        #endregion\n\n        #region Public Members\n        /// <summary>\n        /// The value of the variable.\n        /// </summary>\n        public new T Value\n        {\n            get\n            {\n                return CheckTypeBeforeCast<T>(base.Value, true);\n            }\n\n            set\n            {\n                base.Value = value;\n            }\n        }\n        #endregion\n    }\n    #endregion\n    #endif\n    #endregion\n\n    #region ArrayVariableState Class\n    #if (!OPCUA_EXCLUDE_ArrayVariableState)\n    /// <summary>\n    /// Stores an instance of the ArrayVariableType VariableType.\n    /// </summary>\n    /// <exclude />\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"Opc.Ua.ModelCompiler\", \"1.0.0.0\")]\n    public partial class ArrayVariableState : BaseDataVariableState<int[]>\n    {\n        #region Constructors\n        /// <summary>\n        /// Initializes the type with its default attribute values.\n        /// </summary>\n        public ArrayVariableState(NodeState parent) : base(parent)\n        {\n        }\n\n        /// <summary>\n        /// Returns the id of the default type definition node for the instance.\n        /// </summary>\n        protected override NodeId GetDefaultTypeDefinitionId(NamespaceTable namespaceUris)\n        {\n            return Opc.Ua.NodeId.Create(VariableTypeTest.VariableTypes.ArrayVariableType, VariableTypeTest.Namespaces.cas, namespaceUris);\n        }\n\n        /// <summary>\n        /// Returns the id of the default data type node for the instance.\n        /// </summary>\n        protected override NodeId GetDefaultDataTypeId(NamespaceTable namespaceUris)\n        {\n            return Opc.Ua.NodeId.Create(.DataTypes.Int32, .Namespaces.ua, namespaceUris);\n        }\n\n        /// <summary>\n        /// Returns the id of the default value rank for the instance.\n        /// </summary>\n        protected override int GetDefaultValueRank()\n        {\n            return 4;\n        }\n\n        #if (!OPCUA_EXCLUDE_InitializationStrings)\n        /// <summary>\n        /// Initializes the instance.\n        /// </summary>\n        protected override void Initialize(ISystemContext context)\n        {\n            base.Initialize(context);\n            Initialize(context, InitializationString);\n            InitializeOptionalChildren(context);\n        }\n\n        /// <summary>\n        /// Initializes the instance with a node.\n        /// </summary>\n        protected override void Initialize(ISystemContext context, NodeState source)\n        {\n            InitializeOptionalChildren(context);\n            base.Initialize(context, source);\n        }\n\n        /// <summary>\n        /// Initializes the any option children defined for the instance.\n        /// </summary>\n        protected override void InitializeOptionalChildren(ISystemContext context)\n        {\n            base.InitializeOptionalChildren(context);\n        }\n\n        #region Initialization String\n        private const string InitializationString =\n           \"AQAAADYAAABodHRwOi8vY2FzLmV1L1VBL0NvbW1TZXJ2ZXIvVW5pdFRlc3RzL1ZhcmlhYmxlVHlwZVRl\" +\n           \"c3T/////F2CJAgIAAAABABkAAABBcnJheVZhcmlhYmxlVHlwZUluc3RhbmNlAQEPAAEBDwAPAAAAAAYD\" +\n           \"AAAAAwAAAAAAAAAAAAAAAAAAAAEB/////wAAAAA=\";\n        #endregion\n        #endif\n        #endregion\n\n        #region Public Properties\n        #endregion\n\n        #region Overridden Methods\n        #endregion\n\n        #region Private Fields\n        #endregion\n    }\n    #endif\n    #endregion\n\n    #region SimpleVariableWithValueState Class\n    #if (!OPCUA_EXCLUDE_SimpleVariableWithValueState)\n    /// <summary>\n    /// Stores an instance of the SimpleVariableWithValueType VariableType.\n    /// </summary>\n    /// <exclude />\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"Opc.Ua.ModelCompiler\", \"1.0.0.0\")]\n    public partial class SimpleVariableWithValueState : BaseDataVariableState<int>\n    {\n        #region Constructors\n        /// <summary>\n        /// Initializes the type with its default attribute values.\n        /// </summary>\n        public SimpleVariableWithValueState(NodeState parent) : base(parent)\n        {\n        }\n\n        /// <summary>\n        /// Returns the id of the default type definition node for the instance.\n        /// </summary>\n        protected override NodeId GetDefaultTypeDefinitionId(NamespaceTable namespaceUris)\n        {\n            return Opc.Ua.NodeId.Create(VariableTypeTest.VariableTypes.SimpleVariableWithValueType, VariableTypeTest.Namespaces.cas, namespaceUris);\n        }\n\n        /// <summary>\n        /// Returns the id of the default data type node for the instance.\n        /// </summary>\n        protected override NodeId GetDefaultDataTypeId(NamespaceTable namespaceUris)\n        {\n            return Opc.Ua.NodeId.Create(.DataTypes.Int32, .Namespaces.ua, namespaceUris);\n        }\n\n        /// <summary>\n        /// Returns the id of the default value rank for the instance.\n        /// </summary>\n        protected override int GetDefaultValueRank()\n        {\n            return ValueRanks.Scalar;\n        }\n\n        #if (!OPCUA_EXCLUDE_InitializationStrings)\n        /// <summary>\n        /// Initializes the instance.\n        /// </summary>\n        protected override void Initialize(ISystemContext context)\n        {\n            base.Initialize(context);\n            Initialize(context, InitializationString);\n            InitializeOptionalChildren(context);\n        }\n\n        /// <summary>\n        /// Initializes the instance with a node.\n        /// </summary>\n        protected override void Initialize(ISystemContext context, NodeState source)\n        {\n            InitializeOptionalChildren(context);\n            base.Initialize(context, source);\n        }\n\n        /// <summary>\n        /// Initializes the any option children defined for the instance.\n        /// </summary>\n        protected override void InitializeOptionalChildren(ISystemContext context)\n        {\n            base.InitializeOptionalChildren(context);\n        }\n\n        #region Initialization String\n        private const string InitializationString =\n           \"AQAAADYAAABodHRwOi8vY2FzLmV1L1VBL0NvbW1TZXJ2ZXIvVW5pdFRlc3RzL1ZhcmlhYmxlVHlwZVRl\" +\n           \"c3T/////FWCpAgIAAAABACMAAABTaW1wbGVWYXJpYWJsZVdpdGhWYWx1ZVR5cGVJbnN0YW5jZQEBEAAB\" +\n           \"ARAAEAAAAAYBAAAAAAb/////AQH/////AAAAAA==\";\n        #endregion\n        #endif\n        #endregion\n\n        #region Public Properties\n        #endregion\n\n        #region Overridden Methods\n        #endregion\n\n        #region Private Fields\n        #endregion\n    }\n    #endif\n    #endregion\n}"
  },
  {
    "path": "SemanticData/Tests/USNodeSetValidationUnitTestProject/XMLModels/CorrectModels/VariableTypeTest/VariableTypeTest.Constants.cs",
    "content": "/* ========================================================================\n * Copyright (c) 2005-2021 The OPC Foundation, Inc. All rights reserved.\n *\n * OPC Foundation MIT License 1.00\n *\n * Permission is hereby granted, free of charge, to any person\n * obtaining a copy of this software and associated documentation\n * files (the \"Software\"), to deal in the Software without\n * restriction, including without limitation the rights to use,\n * copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the\n * Software is furnished to do so, subject to the following\n * conditions:\n *\n * The above copyright notice and this permission notice shall be\n * included in all copies or substantial portions of the Software.\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND,\n * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES\n * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND\n * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT\n * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,\n * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING\n * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR\n * OTHER DEALINGS IN THE SOFTWARE.\n *\n * The complete license agreement can be found here:\n * http://opcfoundation.org/License/MIT/1.00/\n * ======================================================================*/\n\nusing System;\nusing System.Collections.Generic;\nusing System.Text;\nusing System.Reflection;\nusing System.Xml;\nusing System.Runtime.Serialization;\nusing ;\n\nnamespace VariableTypeTest\n{\n    #region Variable Identifiers\n    /// <summary>\n    /// A class that declares constants for all Variables in the Model Design.\n    /// </summary>\n    /// <exclude />\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"Opc.Ua.ModelCompiler\", \"1.0.0.0\")]\n    public static partial class Variables\n    {\n        /// <summary>\n        /// The identifier for the ComplexVariableType_EURange Variable.\n        /// </summary>\n        public const uint ComplexVariableType_EURange = 12;\n\n        /// <summary>\n        /// The identifier for the ComplexVariableType_VariableChild Variable.\n        /// </summary>\n        public const uint ComplexVariableType_VariableChild = 14;\n    }\n    #endregion\n\n    #region VariableType Identifiers\n    /// <summary>\n    /// A class that declares constants for all VariableTypes in the Model Design.\n    /// </summary>\n    /// <exclude />\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"Opc.Ua.ModelCompiler\", \"1.0.0.0\")]\n    public static partial class VariableTypes\n    {\n        /// <summary>\n        /// The identifier for the ComplexVariableType VariableType.\n        /// </summary>\n        public const uint ComplexVariableType = 8;\n\n        /// <summary>\n        /// The identifier for the ArrayVariableType VariableType.\n        /// </summary>\n        public const uint ArrayVariableType = 15;\n\n        /// <summary>\n        /// The identifier for the SimpleVariableWithValueType VariableType.\n        /// </summary>\n        public const uint SimpleVariableWithValueType = 16;\n    }\n    #endregion\n\n    #region Variable Node Identifiers\n    /// <summary>\n    /// A class that declares constants for all Variables in the Model Design.\n    /// </summary>\n    /// <exclude />\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"Opc.Ua.ModelCompiler\", \"1.0.0.0\")]\n    public static partial class VariableIds\n    {\n        /// <summary>\n        /// The identifier for the ComplexVariableType_EURange Variable.\n        /// </summary>\n        public static readonly ExpandedNodeId ComplexVariableType_EURange = new ExpandedNodeId(VariableTypeTest.Variables.ComplexVariableType_EURange, VariableTypeTest.Namespaces.cas);\n\n        /// <summary>\n        /// The identifier for the ComplexVariableType_VariableChild Variable.\n        /// </summary>\n        public static readonly ExpandedNodeId ComplexVariableType_VariableChild = new ExpandedNodeId(VariableTypeTest.Variables.ComplexVariableType_VariableChild, VariableTypeTest.Namespaces.cas);\n    }\n    #endregion\n\n    #region VariableType Node Identifiers\n    /// <summary>\n    /// A class that declares constants for all VariableTypes in the Model Design.\n    /// </summary>\n    /// <exclude />\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"Opc.Ua.ModelCompiler\", \"1.0.0.0\")]\n    public static partial class VariableTypeIds\n    {\n        /// <summary>\n        /// The identifier for the ComplexVariableType VariableType.\n        /// </summary>\n        public static readonly ExpandedNodeId ComplexVariableType = new ExpandedNodeId(VariableTypeTest.VariableTypes.ComplexVariableType, VariableTypeTest.Namespaces.cas);\n\n        /// <summary>\n        /// The identifier for the ArrayVariableType VariableType.\n        /// </summary>\n        public static readonly ExpandedNodeId ArrayVariableType = new ExpandedNodeId(VariableTypeTest.VariableTypes.ArrayVariableType, VariableTypeTest.Namespaces.cas);\n\n        /// <summary>\n        /// The identifier for the SimpleVariableWithValueType VariableType.\n        /// </summary>\n        public static readonly ExpandedNodeId SimpleVariableWithValueType = new ExpandedNodeId(VariableTypeTest.VariableTypes.SimpleVariableWithValueType, VariableTypeTest.Namespaces.cas);\n    }\n    #endregion\n\n    #region BrowseName Declarations\n    /// <summary>\n    /// Declares all of the BrowseNames used in the Model Design.\n    /// </summary>\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"Opc.Ua.ModelCompiler\", \"1.0.0.0\")]\n    public static partial class BrowseNames\n    {\n        /// <summary>\n        /// The BrowseName for the ArrayVariableType component.\n        /// </summary>\n        public const string ArrayVariableType = \"ArrayVariableType\";\n\n        /// <summary>\n        /// The BrowseName for the ComplexVariableType component.\n        /// </summary>\n        public const string ComplexVariableType = \"ComplexVariableType\";\n\n        /// <summary>\n        /// The BrowseName for the SimpleVariableWithValueType component.\n        /// </summary>\n        public const string SimpleVariableWithValueType = \"SimpleVariableWithValueType\";\n\n        /// <summary>\n        /// The BrowseName for the VariableChild component.\n        /// </summary>\n        public const string VariableChild = \"VariableChild\";\n    }\n    #endregion\n\n    #region Namespace Declarations\n    /// <summary>\n    /// Defines constants for all namespaces referenced by the model design.\n    /// </summary>\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"Opc.Ua.ModelCompiler\", \"1.0.0.0\")]\n    public static partial class Namespaces\n    {\n        /// <summary>\n        /// The URI for the cas namespace (.NET code namespace is 'VariableTypeTest').\n        /// </summary>\n        public const string cas = \"http://cas.eu/UA/CommServer/UnitTests/VariableTypeTest\";\n\n        /// <summary>\n        /// The URI for the ua namespace (.NET code namespace is '').\n        /// </summary>\n        public const string ua = \"http://opcfoundation.org/UA/\";\n    }\n    #endregion\n}"
  },
  {
    "path": "SemanticData/Tests/USNodeSetValidationUnitTestProject/XMLModels/CorrectModels/VariableTypeTest/VariableTypeTest.DataTypes.cs",
    "content": "/* ========================================================================\n * Copyright (c) 2005-2021 The OPC Foundation, Inc. All rights reserved.\n *\n * OPC Foundation MIT License 1.00\n *\n * Permission is hereby granted, free of charge, to any person\n * obtaining a copy of this software and associated documentation\n * files (the \"Software\"), to deal in the Software without\n * restriction, including without limitation the rights to use,\n * copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the\n * Software is furnished to do so, subject to the following\n * conditions:\n *\n * The above copyright notice and this permission notice shall be\n * included in all copies or substantial portions of the Software.\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND,\n * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES\n * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND\n * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT\n * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,\n * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING\n * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR\n * OTHER DEALINGS IN THE SOFTWARE.\n *\n * The complete license agreement can be found here:\n * http://opcfoundation.org/License/MIT/1.00/\n * ======================================================================*/\n\nusing System;\nusing System.Collections.Generic;\nusing System.Text;\nusing System.Xml;\nusing System.Runtime.Serialization;\nusing ;\n\nnamespace VariableTypeTest\n{\n}"
  },
  {
    "path": "SemanticData/Tests/USNodeSetValidationUnitTestProject/XMLModels/CorrectModels/VariableTypeTest/VariableTypeTest.NodeIds.csv",
    "content": "ArrayVariableType,15,VariableType\nComplexVariableType,8,VariableType\nSimpleVariableWithValueType,16,VariableType\n"
  },
  {
    "path": "SemanticData/Tests/USNodeSetValidationUnitTestProject/XMLModels/CorrectModels/VariableTypeTest/VariableTypeTest.NodeSet.xml",
    "content": "﻿<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<NodeSet xmlns:i=\"http://www.w3.org/2001/XMLSchema-instance\" xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n  <NamespaceUris>\n    <String>http://opcfoundation.org/UA/</String>\n    <String>http://cas.eu/UA/CommServer/UnitTests/VariableTypeTest</String>\n  </NamespaceUris>\n  <ServerUris />\n  <Nodes>\n    <Node i:type=\"VariableTypeNode\">\n      <NodeId>\n        <Identifier>ns=1;i=8</Identifier>\n      </NodeId>\n      <NodeClass>VariableType_16</NodeClass>\n      <BrowseName>\n        <NamespaceIndex>1</NamespaceIndex>\n        <Name>ComplexVariableType</Name>\n      </BrowseName>\n      <DisplayName>\n        <Locale></Locale>\n        <Text>ComplexVariableType</Text>\n      </DisplayName>\n      <Description i:nil=\"true\" />\n      <WriteMask>0</WriteMask>\n      <UserWriteMask>0</UserWriteMask>\n      <RolePermissions />\n      <UserRolePermissions />\n      <AccessRestrictions>0</AccessRestrictions>\n      <References>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=45</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>true</IsInverse>\n          <TargetId>\n            <Identifier>i=2368</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=46</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=12</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=46</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=14</Identifier>\n          </TargetId>\n        </ReferenceNode>\n      </References>\n      <Value>\n        <Value>\n          <Null xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\" />\n        </Value>\n      </Value>\n      <DataType>\n        <Identifier>i=26</Identifier>\n      </DataType>\n      <ValueRank>-1</ValueRank>\n      <ArrayDimensions />\n      <IsAbstract>false</IsAbstract>\n    </Node>\n    <Node i:type=\"VariableNode\">\n      <NodeId>\n        <Identifier>ns=1;i=12</Identifier>\n      </NodeId>\n      <NodeClass>Variable_2</NodeClass>\n      <BrowseName>\n        <NamespaceIndex>0</NamespaceIndex>\n        <Name>EURange</Name>\n      </BrowseName>\n      <DisplayName>\n        <Locale></Locale>\n        <Text>NewDisplayName</Text>\n      </DisplayName>\n      <Description i:nil=\"true\" />\n      <WriteMask>0</WriteMask>\n      <UserWriteMask>0</UserWriteMask>\n      <RolePermissions />\n      <UserRolePermissions />\n      <AccessRestrictions>0</AccessRestrictions>\n      <References>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=46</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>true</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=8</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=40</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>i=68</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=37</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>i=78</Identifier>\n          </TargetId>\n        </ReferenceNode>\n      </References>\n      <Value>\n        <Value>\n          <Null xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\" />\n        </Value>\n      </Value>\n      <DataType>\n        <Identifier>i=884</Identifier>\n      </DataType>\n      <ValueRank>-1</ValueRank>\n      <ArrayDimensions />\n      <AccessLevel>1</AccessLevel>\n      <UserAccessLevel>1</UserAccessLevel>\n      <MinimumSamplingInterval>0</MinimumSamplingInterval>\n      <Historizing>false</Historizing>\n      <AccessLevelEx>0</AccessLevelEx>\n    </Node>\n    <Node i:type=\"VariableNode\">\n      <NodeId>\n        <Identifier>ns=1;i=14</Identifier>\n      </NodeId>\n      <NodeClass>Variable_2</NodeClass>\n      <BrowseName>\n        <NamespaceIndex>1</NamespaceIndex>\n        <Name>VariableChild</Name>\n      </BrowseName>\n      <DisplayName>\n        <Locale></Locale>\n        <Text>VariableChild</Text>\n      </DisplayName>\n      <Description i:nil=\"true\" />\n      <WriteMask>0</WriteMask>\n      <UserWriteMask>0</UserWriteMask>\n      <RolePermissions />\n      <UserRolePermissions />\n      <AccessRestrictions>0</AccessRestrictions>\n      <References>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=46</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>true</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=8</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=40</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>i=68</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=37</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>i=78</Identifier>\n          </TargetId>\n        </ReferenceNode>\n      </References>\n      <Value>\n        <Value>\n          <Int32 xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">0</Int32>\n        </Value>\n      </Value>\n      <DataType>\n        <Identifier>i=6</Identifier>\n      </DataType>\n      <ValueRank>-1</ValueRank>\n      <ArrayDimensions />\n      <AccessLevel>2</AccessLevel>\n      <UserAccessLevel>2</UserAccessLevel>\n      <MinimumSamplingInterval>0</MinimumSamplingInterval>\n      <Historizing>false</Historizing>\n      <AccessLevelEx>0</AccessLevelEx>\n    </Node>\n    <Node i:type=\"VariableTypeNode\">\n      <NodeId>\n        <Identifier>ns=1;i=15</Identifier>\n      </NodeId>\n      <NodeClass>VariableType_16</NodeClass>\n      <BrowseName>\n        <NamespaceIndex>1</NamespaceIndex>\n        <Name>ArrayVariableType</Name>\n      </BrowseName>\n      <DisplayName>\n        <Locale></Locale>\n        <Text>ArrayVariableType</Text>\n      </DisplayName>\n      <Description i:nil=\"true\" />\n      <WriteMask>0</WriteMask>\n      <UserWriteMask>0</UserWriteMask>\n      <RolePermissions />\n      <UserRolePermissions />\n      <AccessRestrictions>0</AccessRestrictions>\n      <References>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=45</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>true</IsInverse>\n          <TargetId>\n            <Identifier>i=63</Identifier>\n          </TargetId>\n        </ReferenceNode>\n      </References>\n      <Value>\n        <Value>\n          <Null xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\" />\n        </Value>\n      </Value>\n      <DataType>\n        <Identifier>i=6</Identifier>\n      </DataType>\n      <ValueRank>3</ValueRank>\n      <ArrayDimensions>\n        <UInt32>0</UInt32>\n        <UInt32>0</UInt32>\n        <UInt32>0</UInt32>\n      </ArrayDimensions>\n      <IsAbstract>false</IsAbstract>\n    </Node>\n    <Node i:type=\"VariableTypeNode\">\n      <NodeId>\n        <Identifier>ns=1;i=16</Identifier>\n      </NodeId>\n      <NodeClass>VariableType_16</NodeClass>\n      <BrowseName>\n        <NamespaceIndex>1</NamespaceIndex>\n        <Name>SimpleVariableWithValueType</Name>\n      </BrowseName>\n      <DisplayName>\n        <Locale></Locale>\n        <Text>SimpleVariableWithValueType</Text>\n      </DisplayName>\n      <Description i:nil=\"true\" />\n      <WriteMask>0</WriteMask>\n      <UserWriteMask>0</UserWriteMask>\n      <RolePermissions />\n      <UserRolePermissions />\n      <AccessRestrictions>0</AccessRestrictions>\n      <References>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=45</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>true</IsInverse>\n          <TargetId>\n            <Identifier>i=63</Identifier>\n          </TargetId>\n        </ReferenceNode>\n      </References>\n      <Value>\n        <Value>\n          <Int32 xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">1</Int32>\n        </Value>\n      </Value>\n      <DataType>\n        <Identifier>i=6</Identifier>\n      </DataType>\n      <ValueRank>-1</ValueRank>\n      <ArrayDimensions />\n      <IsAbstract>false</IsAbstract>\n    </Node>\n  </Nodes>\n</NodeSet>"
  },
  {
    "path": "SemanticData/Tests/USNodeSetValidationUnitTestProject/XMLModels/CorrectModels/VariableTypeTest/VariableTypeTest.NodeSet2.xml",
    "content": "﻿<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<UANodeSet xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\" xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xmlns=\"http://opcfoundation.org/UA/2011/03/UANodeSet.xsd\">\n  <NamespaceUris>\n    <Uri>http://cas.eu/UA/CommServer/UnitTests/VariableTypeTest</Uri>\n  </NamespaceUris>\n  <Models>\n    <Model ModelUri=\"http://cas.eu/UA/CommServer/UnitTests/VariableTypeTest\">\n      <RequiredModel ModelUri=\"http://opcfoundation.org/UA/\" XmlSchemaUri=\"http://opcfoundation.org/UA/2008/02/Types.xsd\" Version=\"1.04.10\" PublicationDate=\"2021-09-15T00:00:00Z\" />\n    </Model>\n  </Models>\n  <Aliases>\n    <Alias Alias=\"Boolean\">i=1</Alias>\n    <Alias Alias=\"SByte\">i=2</Alias>\n    <Alias Alias=\"Byte\">i=3</Alias>\n    <Alias Alias=\"Int16\">i=4</Alias>\n    <Alias Alias=\"UInt16\">i=5</Alias>\n    <Alias Alias=\"Int32\">i=6</Alias>\n    <Alias Alias=\"UInt32\">i=7</Alias>\n    <Alias Alias=\"Int64\">i=8</Alias>\n    <Alias Alias=\"UInt64\">i=9</Alias>\n    <Alias Alias=\"Float\">i=10</Alias>\n    <Alias Alias=\"Double\">i=11</Alias>\n    <Alias Alias=\"DateTime\">i=13</Alias>\n    <Alias Alias=\"String\">i=12</Alias>\n    <Alias Alias=\"ByteString\">i=15</Alias>\n    <Alias Alias=\"Guid\">i=14</Alias>\n    <Alias Alias=\"XmlElement\">i=16</Alias>\n    <Alias Alias=\"NodeId\">i=17</Alias>\n    <Alias Alias=\"ExpandedNodeId\">i=18</Alias>\n    <Alias Alias=\"QualifiedName\">i=20</Alias>\n    <Alias Alias=\"LocalizedText\">i=21</Alias>\n    <Alias Alias=\"StatusCode\">i=19</Alias>\n    <Alias Alias=\"Structure\">i=22</Alias>\n    <Alias Alias=\"Number\">i=26</Alias>\n    <Alias Alias=\"Integer\">i=27</Alias>\n    <Alias Alias=\"UInteger\">i=28</Alias>\n    <Alias Alias=\"HasComponent\">i=47</Alias>\n    <Alias Alias=\"HasProperty\">i=46</Alias>\n    <Alias Alias=\"Organizes\">i=35</Alias>\n    <Alias Alias=\"HasEventSource\">i=36</Alias>\n    <Alias Alias=\"HasNotifier\">i=48</Alias>\n    <Alias Alias=\"HasSubtype\">i=45</Alias>\n    <Alias Alias=\"HasTypeDefinition\">i=40</Alias>\n    <Alias Alias=\"HasModellingRule\">i=37</Alias>\n    <Alias Alias=\"HasEncoding\">i=38</Alias>\n    <Alias Alias=\"HasDescription\">i=39</Alias>\n    <Alias Alias=\"HasCause\">i=53</Alias>\n    <Alias Alias=\"ToState\">i=52</Alias>\n    <Alias Alias=\"FromState\">i=51</Alias>\n    <Alias Alias=\"HasEffect\">i=54</Alias>\n    <Alias Alias=\"HasTrueSubState\">i=9004</Alias>\n    <Alias Alias=\"HasFalseSubState\">i=9005</Alias>\n    <Alias Alias=\"HasDictionaryEntry\">i=17597</Alias>\n    <Alias Alias=\"HasCondition\">i=9006</Alias>\n    <Alias Alias=\"HasGuard\">i=15112</Alias>\n    <Alias Alias=\"HasAddIn\">i=17604</Alias>\n    <Alias Alias=\"HasInterface\">i=17603</Alias>\n  </Aliases>\n  <UAVariableType NodeId=\"ns=1;i=8\" BrowseName=\"1:ComplexVariableType\" DataType=\"Number\">\n    <DisplayName>ComplexVariableType</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=12</Reference>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=14</Reference>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=2368</Reference>\n    </References>\n  </UAVariableType>\n  <UAVariable NodeId=\"ns=1;i=12\" BrowseName=\"EURange\" ParentNodeId=\"ns=1;i=8\" DataType=\"i=884\">\n    <DisplayName>NewDisplayName</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=8</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=14\" BrowseName=\"1:VariableChild\" ParentNodeId=\"ns=1;i=8\" DataType=\"Int32\" AccessLevel=\"2\">\n    <DisplayName>VariableChild</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=8</Reference>\n    </References>\n  </UAVariable>\n  <UAVariableType NodeId=\"ns=1;i=15\" BrowseName=\"1:ArrayVariableType\" DataType=\"Int32\" ValueRank=\"3\" ArrayDimensions=\"0,0,0\">\n    <DisplayName>ArrayVariableType</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=63</Reference>\n    </References>\n  </UAVariableType>\n  <UAVariableType NodeId=\"ns=1;i=16\" BrowseName=\"1:SimpleVariableWithValueType\" DataType=\"Int32\">\n    <DisplayName>SimpleVariableWithValueType</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=63</Reference>\n    </References>\n    <Value>\n      <Int32 xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">1</Int32>\n    </Value>\n  </UAVariableType>\n</UANodeSet>"
  },
  {
    "path": "SemanticData/Tests/USNodeSetValidationUnitTestProject/XMLModels/CorrectModels/VariableTypeTest/VariableTypeTest.PredefinedNodes.xml",
    "content": "﻿<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<uax:ListOfNodeState xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xmlns:uax=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n  <uax:NamespaceUris>\n    <uax:NamespaceUri>http://cas.eu/UA/CommServer/UnitTests/VariableTypeTest</uax:NamespaceUri>\n  </uax:NamespaceUris>\n  <ComplexVariableType xmlns=\"http://cas.eu/UA/CommServer/UnitTests/VariableTypeTest\">\n    <uax:NodeClass>VariableType_16</uax:NodeClass>\n    <uax:NodeId>\n      <uax:Identifier>ns=1;i=8</uax:Identifier>\n    </uax:NodeId>\n    <uax:BrowseName>\n      <uax:NamespaceIndex>1</uax:NamespaceIndex>\n      <uax:Name>ComplexVariableType</uax:Name>\n    </uax:BrowseName>\n    <uax:SuperTypeId>\n      <uax:Identifier>i=2368</uax:Identifier>\n    </uax:SuperTypeId>\n    <uax:DataType>\n      <uax:Identifier>i=26</uax:Identifier>\n    </uax:DataType>\n    <uax:ValueRank>-1</uax:ValueRank>\n    <EURange xmlns=\"http://opcfoundation.org/UA/\">\n      <uax:NodeClass>Variable_2</uax:NodeClass>\n      <uax:NodeId>\n        <uax:Identifier>ns=1;i=12</uax:Identifier>\n      </uax:NodeId>\n      <uax:BrowseName>\n        <uax:NamespaceIndex>0</uax:NamespaceIndex>\n        <uax:Name>EURange</uax:Name>\n      </uax:BrowseName>\n      <uax:DisplayName>\n        <uax:Text>NewDisplayName</uax:Text>\n      </uax:DisplayName>\n      <uax:ReferenceTypeId>\n        <uax:Identifier>i=46</uax:Identifier>\n      </uax:ReferenceTypeId>\n      <uax:TypeDefinitionId>\n        <uax:Identifier>i=68</uax:Identifier>\n      </uax:TypeDefinitionId>\n      <uax:ModellingRuleId>\n        <uax:Identifier>i=78</uax:Identifier>\n      </uax:ModellingRuleId>\n      <uax:NumericId>12</uax:NumericId>\n      <uax:DataType>\n        <uax:Identifier>i=884</uax:Identifier>\n      </uax:DataType>\n      <uax:ValueRank>-1</uax:ValueRank>\n      <uax:AccessLevel>1</uax:AccessLevel>\n      <uax:UserAccessLevel>1</uax:UserAccessLevel>\n    </EURange>\n    <VariableChild>\n      <uax:NodeClass>Variable_2</uax:NodeClass>\n      <uax:NodeId>\n        <uax:Identifier>ns=1;i=14</uax:Identifier>\n      </uax:NodeId>\n      <uax:BrowseName>\n        <uax:NamespaceIndex>1</uax:NamespaceIndex>\n        <uax:Name>VariableChild</uax:Name>\n      </uax:BrowseName>\n      <uax:ReferenceTypeId>\n        <uax:Identifier>i=46</uax:Identifier>\n      </uax:ReferenceTypeId>\n      <uax:TypeDefinitionId>\n        <uax:Identifier>i=68</uax:Identifier>\n      </uax:TypeDefinitionId>\n      <uax:ModellingRuleId>\n        <uax:Identifier>i=78</uax:Identifier>\n      </uax:ModellingRuleId>\n      <uax:NumericId>14</uax:NumericId>\n      <uax:DataType>\n        <uax:Identifier>i=6</uax:Identifier>\n      </uax:DataType>\n      <uax:ValueRank>-1</uax:ValueRank>\n      <uax:AccessLevel>2</uax:AccessLevel>\n      <uax:UserAccessLevel>2</uax:UserAccessLevel>\n    </VariableChild>\n  </ComplexVariableType>\n  <ArrayVariableType xmlns=\"http://cas.eu/UA/CommServer/UnitTests/VariableTypeTest\">\n    <uax:NodeClass>VariableType_16</uax:NodeClass>\n    <uax:NodeId>\n      <uax:Identifier>ns=1;i=15</uax:Identifier>\n    </uax:NodeId>\n    <uax:BrowseName>\n      <uax:NamespaceIndex>1</uax:NamespaceIndex>\n      <uax:Name>ArrayVariableType</uax:Name>\n    </uax:BrowseName>\n    <uax:SuperTypeId>\n      <uax:Identifier>i=63</uax:Identifier>\n    </uax:SuperTypeId>\n    <uax:DataType>\n      <uax:Identifier>i=6</uax:Identifier>\n    </uax:DataType>\n    <uax:ValueRank>3</uax:ValueRank>\n    <uax:ArrayDimensions>0,0,0</uax:ArrayDimensions>\n  </ArrayVariableType>\n  <SimpleVariableWithValueType xmlns=\"http://cas.eu/UA/CommServer/UnitTests/VariableTypeTest\">\n    <uax:NodeClass>VariableType_16</uax:NodeClass>\n    <uax:NodeId>\n      <uax:Identifier>ns=1;i=16</uax:Identifier>\n    </uax:NodeId>\n    <uax:BrowseName>\n      <uax:NamespaceIndex>1</uax:NamespaceIndex>\n      <uax:Name>SimpleVariableWithValueType</uax:Name>\n    </uax:BrowseName>\n    <uax:SuperTypeId>\n      <uax:Identifier>i=63</uax:Identifier>\n    </uax:SuperTypeId>\n    <uax:Value>\n      <uax:Value>\n        <uax:Int32>1</uax:Int32>\n      </uax:Value>\n    </uax:Value>\n    <uax:DataType>\n      <uax:Identifier>i=6</uax:Identifier>\n    </uax:DataType>\n    <uax:ValueRank>-1</uax:ValueRank>\n  </SimpleVariableWithValueType>\n</uax:ListOfNodeState>"
  },
  {
    "path": "SemanticData/Tests/USNodeSetValidationUnitTestProject/XMLModels/CorrectModels/VariableTypeTest/VariableTypeTest.Types.bsd",
    "content": "<opc:TypeDictionary\n  xmlns:opc=\"http://opcfoundation.org/BinarySchema/\"\n  xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\"\n  xmlns:ua=\"http://opcfoundation.org/UA/\"\n  xmlns:tns=\"http://cas.eu/UA/CommServer/UnitTests/VariableTypeTest\"\n  DefaultByteOrder=\"LittleEndian\"\n  TargetNamespace=\"http://cas.eu/UA/CommServer/UnitTests/VariableTypeTest\"\n>\n  <opc:Import Namespace=\"http://opcfoundation.org/UA/\" Location=\".BinarySchema.bsd\"/>\n\n</opc:TypeDictionary>"
  },
  {
    "path": "SemanticData/Tests/USNodeSetValidationUnitTestProject/XMLModels/CorrectModels/VariableTypeTest/VariableTypeTest.Types.xsd",
    "content": "<xs:schema\n  xmlns:xs=\"http://www.w3.org/2001/XMLSchema\"\n  xmlns:ua=\"http://opcfoundation.org/UA/2008/02/Types.xsd\"\n  xmlns:tns=\"http://cas.eu/UA/CommServer/UnitTests/VariableTypeTest\"\n  targetNamespace=\"http://cas.eu/UA/CommServer/UnitTests/VariableTypeTest\"\n  elementFormDefault=\"qualified\"\n>\n  <xs:import namespace=\"http://opcfoundation.org/UA/\" />\n\n</xs:schema>"
  },
  {
    "path": "SemanticData/Tests/USNodeSetValidationUnitTestProject/XMLModels/CorrectModels/VariableTypeTest.csv",
    "content": "ComplexVariableType,8,VariableType\nComplexVariableType_Definition,9,Variable\nComplexVariableType_ValuePrecision,10,Variable\nComplexVariableType_InstrumentRange,11,Variable\nComplexVariableType_EURange,12,Variable\nComplexVariableType_EngineeringUnits,13,Variable\nComplexVariableType_VariableChild,14,Variable\nArrayVariableType,15,VariableType\nSimpleVariableWithValueType,16,VariableType\n"
  },
  {
    "path": "SemanticData/Tests/USNodeSetValidationUnitTestProject/XMLModels/CorrectModels/VariableTypeTest.xml",
    "content": "﻿<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<ModelDesign xmlns:cas=\"http://cas.eu/UA/CommServer/UnitTests/VariableTypeTest\" xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\" xmlns:uax=\"http://opcfoundation.org/UA/2008/02/Types.xsd\" xmlns:ua=\"http://opcfoundation.org/UA/\" TargetNamespace=\"http://cas.eu/UA/CommServer/UnitTests/VariableTypeTest\" xmlns=\"http://opcfoundation.org/UA/ModelDesign.xsd\">\n  <Namespaces>\n    <Namespace Name=\"cas\" Prefix=\"VariableTypeTest\" XmlPrefix=\"cas\">http://cas.eu/UA/CommServer/UnitTests/VariableTypeTest</Namespace>\n    <Namespace Name=\"ua\" XmlPrefix=\"ua\">http://opcfoundation.org/UA/</Namespace>\n  </Namespaces>\n  <VariableType SymbolicName=\"cas:ComplexVariableType\" BaseType=\"ua:AnalogItemType\">\n    <Children>\n      <Property SymbolicName=\"cas:VariableChild\" ModellingRule=\"Mandatory\" DataType=\"ua:Int32\" AccessLevel=\"Write\" />\n      <Property SymbolicName=\"ua:EURange\">\n        <DisplayName> NewDisplayName</DisplayName>\n      </Property>\n    </Children>\n  </VariableType>\n  <VariableType SymbolicName=\"cas:ArrayVariableType\" DataType=\"ua:Int32\" ValueRank=\"OneOrMoreDimensions\" ArrayDimensions=\"0,0,0\" />\n  <VariableType SymbolicName=\"cas:SimpleVariableWithValueType\" DataType=\"ua:Int32\">\n    <DefaultValue>\n      <Int32 xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">1</Int32>\n    </DefaultValue>\n  </VariableType>\n</ModelDesign>"
  },
  {
    "path": "SemanticData/Tests/USNodeSetValidationUnitTestProject/XMLModels/ModelsWithErrors/DuplicatedNodeId.xml",
    "content": "﻿<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<UANodeSet xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\" LastModified=\"2015-03-29T19:38:17.8538193Z\" xmlns=\"http://opcfoundation.org/UA/2011/03/UANodeSet.xsd\">\n  <NamespaceUris>\n    <Uri>http://commsvr.com/OOIUA/SemanticData/UnitTest/UANodeSetValidationUnitTestProject</Uri>\n  </NamespaceUris>\n  <Aliases>\n    <Alias Alias=\"Boolean\">i=1</Alias>\n    <Alias Alias=\"SByte\">i=2</Alias>\n    <Alias Alias=\"Byte\">i=3</Alias>\n    <Alias Alias=\"Int16\">i=4</Alias>\n    <Alias Alias=\"UInt16\">i=5</Alias>\n    <Alias Alias=\"Int32\">i=6</Alias>\n    <Alias Alias=\"UInt32\">i=7</Alias>\n    <Alias Alias=\"Int64\">i=8</Alias>\n    <Alias Alias=\"UInt64\">i=9</Alias>\n    <Alias Alias=\"Float\">i=10</Alias>\n    <Alias Alias=\"Double\">i=11</Alias>\n    <Alias Alias=\"DateTime\">i=13</Alias>\n    <Alias Alias=\"String\">i=12</Alias>\n    <Alias Alias=\"ByteString\">i=15</Alias>\n    <Alias Alias=\"Guid\">i=14</Alias>\n    <Alias Alias=\"XmlElement\">i=16</Alias>\n    <Alias Alias=\"NodeId\">i=17</Alias>\n    <Alias Alias=\"ExpandedNodeId\">i=18</Alias>\n    <Alias Alias=\"QualifiedName\">i=20</Alias>\n    <Alias Alias=\"LocalizedText\">i=21</Alias>\n    <Alias Alias=\"StatusCode\">i=19</Alias>\n    <Alias Alias=\"Structure\">i=22</Alias>\n    <Alias Alias=\"Number\">i=26</Alias>\n    <Alias Alias=\"Integer\">i=27</Alias>\n    <Alias Alias=\"UInteger\">i=28</Alias>\n    <Alias Alias=\"HasComponent\">i=47</Alias>\n    <Alias Alias=\"HasProperty\">i=46</Alias>\n    <Alias Alias=\"Organizes\">i=35</Alias>\n    <Alias Alias=\"HasEventSource\">i=36</Alias>\n    <Alias Alias=\"HasNotifier\">i=48</Alias>\n    <Alias Alias=\"HasSubtype\">i=45</Alias>\n    <Alias Alias=\"HasTypeDefinition\">i=40</Alias>\n    <Alias Alias=\"HasModellingRule\">i=37</Alias>\n    <Alias Alias=\"HasEncoding\">i=38</Alias>\n    <Alias Alias=\"HasDescription\">i=39</Alias>\n  </Aliases>\n  <UAReferenceType NodeId=\"ns=1;i=1\" BrowseName=\"1:ReferenceTypeTest1\" IsAbstract=\"true\" >\n    <DisplayName>ReferenceTypeTest #1</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=46</Reference>\n    </References>\n  </UAReferenceType>\n  <UAReferenceType NodeId=\"ns=1;i=1\" BrowseName=\"1:ReferenceTypeTest2\">\n    <DisplayName>ReferenceTypeTest #2</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=46</Reference>\n    </References>\n    <InverseName>Inverse Name</InverseName>\n  </UAReferenceType>\n</UANodeSet>"
  },
  {
    "path": "SemanticData/Tests/USNodeSetValidationUnitTestProject/XMLModels/ModelsWithErrors/NotSupportedFeature.xml",
    "content": "﻿<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<UANodeSet xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\" LastModified=\"2015-03-27T17:49:01.1743922Z\" xmlns=\"http://opcfoundation.org/UA/2011/03/UANodeSet.xsd\">\n  <NamespaceUris>\n    <Uri>http://commsvr.com/OOIUA/SemanticData/UnitTest/UANodeSetValidationUnitTestProject</Uri>\n  </NamespaceUris>\n  <Aliases>\n    <Alias Alias=\"Boolean\">i=1</Alias>\n    <Alias Alias=\"SByte\">i=2</Alias>\n    <Alias Alias=\"Byte\">i=3</Alias>\n    <Alias Alias=\"Int16\">i=4</Alias>\n    <Alias Alias=\"UInt16\">i=5</Alias>\n    <Alias Alias=\"Int32\">i=6</Alias>\n    <Alias Alias=\"UInt32\">i=7</Alias>\n    <Alias Alias=\"Int64\">i=8</Alias>\n    <Alias Alias=\"UInt64\">i=9</Alias>\n    <Alias Alias=\"Float\">i=10</Alias>\n    <Alias Alias=\"Double\">i=11</Alias>\n    <Alias Alias=\"DateTime\">i=13</Alias>\n    <Alias Alias=\"String\">i=12</Alias>\n    <Alias Alias=\"ByteString\">i=15</Alias>\n    <Alias Alias=\"Guid\">i=14</Alias>\n    <Alias Alias=\"XmlElement\">i=16</Alias>\n    <Alias Alias=\"NodeId\">i=17</Alias>\n    <Alias Alias=\"ExpandedNodeId\">i=18</Alias>\n    <Alias Alias=\"QualifiedName\">i=20</Alias>\n    <Alias Alias=\"LocalizedText\">i=21</Alias>\n    <Alias Alias=\"StatusCode\">i=19</Alias>\n    <Alias Alias=\"Structure\">i=22</Alias>\n    <Alias Alias=\"Number\">i=26</Alias>\n    <Alias Alias=\"Integer\">i=27</Alias>\n    <Alias Alias=\"UInteger\">i=28</Alias>\n    <Alias Alias=\"HasComponent\">i=47</Alias>\n    <Alias Alias=\"HasProperty\">i=46</Alias>\n    <Alias Alias=\"Organizes\">i=35</Alias>\n    <Alias Alias=\"HasEventSource\">i=36</Alias>\n    <Alias Alias=\"HasNotifier\">i=48</Alias>\n    <Alias Alias=\"HasSubtype\">i=45</Alias>\n    <Alias Alias=\"HasTypeDefinition\">i=40</Alias>\n    <Alias Alias=\"HasModellingRule\">i=37</Alias>\n    <Alias Alias=\"HasEncoding\">i=38</Alias>\n    <Alias Alias=\"HasDescription\">i=39</Alias>\n  </Aliases>\n  <UAObjectType NodeId=\"ns=1;i=1\" BrowseName=\"1:ObjectTypeOK\" WriteMask=\"2097151\">\n    <DisplayName>OK UAObjectType.</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=58</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=2</Reference>\n    </References>\n  </UAObjectType>\n  <UAVariable NodeId=\"ns=1;i=2\" BrowseName=\"1:UAVariableWrong\" WriteMask=\"2097151\">\n    <DisplayName>Wrong UAVariable</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=62</Reference>\n    </References>\n    <Value>\n      <ListOfExtensionObject xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=297</Identifier>\n          </TypeId>\n          <Body>\n            <Argument>\n              <Name>ConfigData</Name>\n              <DataType>\n                <Identifier>i=15</Identifier>\n              </DataType>\n              <ValueRank>-1</ValueRank>\n              <ArrayDimensions />\n              <Description>\n                <Text>[English Translation for Description]</Text>\n              </Description>\n            </Argument>\n          </Body>\n        </ExtensionObject>\n      </ListOfExtensionObject>\n    </Value>\n    <Translation>\n      <Field Name=\"Description\">\n        <Text Locale=\"de-DE\">[German Translation for Description]</Text>\n        <Text Locale=\"fr-FR\">[French Translation for Description]</Text>\n      </Field>\n    </Translation>\n  </UAVariable>\n  <UAObjectType NodeId=\"ns=1;i=3\" BrowseName=\"1:UAObjectTypeWrong\" WriteMask=\"4194303\">\n    <DisplayName>Wrong UAObjectType.</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=58</Reference>\n    </References>\n  </UAObjectType>\n</UANodeSet>"
  },
  {
    "path": "SemanticData/Tests/USNodeSetValidationUnitTestProject/XMLModels/ModelsWithErrors/UndefinedHasChildren.xml",
    "content": "﻿<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<UANodeSet xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" \n           xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\" \n           LastModified=\"2015-04-03T15:25:20.5736134Z\" \n           xmlns=\"http://opcfoundation.org/UA/2011/03/UANodeSet.xsd\">\n  <NamespaceUris>\n    <Uri>http://commsvr.com/OOIUA/SemanticData/UnitTest/UANodeSetValidationUnitTestProject</Uri>\n  </NamespaceUris>\n  <Aliases>\n    <Alias Alias=\"HasComponent\">i=47</Alias>\n    <Alias Alias=\"HasSubtype\">i=45</Alias>\n    <Alias Alias=\"HasProperty\">i=46</Alias>\n  </Aliases>\n  <UAObjectType NodeId=\"ns=1;i=196\" BrowseName=\"1:ComplexObjectType\">\n    <DisplayName>ComplexObjectType</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=14</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=308</Reference>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=2004</Reference>\n    </References>\n  </UAObjectType>\n</UANodeSet>"
  },
  {
    "path": "SemanticData/Tests/USNodeSetValidationUnitTestProject/XMLModels/ModelsWithErrors/UndefinedHasSubtype.xml",
    "content": "﻿<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<UANodeSet xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\" LastModified=\"2015-03-29T19:38:17.8538193Z\" xmlns=\"http://opcfoundation.org/UA/2011/03/UANodeSet.xsd\">\n  <NamespaceUris>\n    <Uri>http://commsvr.com/OOIUA/SemanticData/UnitTest/UANodeSetValidationUnitTestProject</Uri>\n  </NamespaceUris>\n  <Aliases>\n    <Alias Alias=\"Boolean\">i=1</Alias>\n    <Alias Alias=\"SByte\">i=2</Alias>\n    <Alias Alias=\"Byte\">i=3</Alias>\n    <Alias Alias=\"Int16\">i=4</Alias>\n    <Alias Alias=\"UInt16\">i=5</Alias>\n    <Alias Alias=\"Int32\">i=6</Alias>\n    <Alias Alias=\"UInt32\">i=7</Alias>\n    <Alias Alias=\"Int64\">i=8</Alias>\n    <Alias Alias=\"UInt64\">i=9</Alias>\n    <Alias Alias=\"Float\">i=10</Alias>\n    <Alias Alias=\"Double\">i=11</Alias>\n    <Alias Alias=\"DateTime\">i=13</Alias>\n    <Alias Alias=\"String\">i=12</Alias>\n    <Alias Alias=\"ByteString\">i=15</Alias>\n    <Alias Alias=\"Guid\">i=14</Alias>\n    <Alias Alias=\"XmlElement\">i=16</Alias>\n    <Alias Alias=\"NodeId\">i=17</Alias>\n    <Alias Alias=\"ExpandedNodeId\">i=18</Alias>\n    <Alias Alias=\"QualifiedName\">i=20</Alias>\n    <Alias Alias=\"LocalizedText\">i=21</Alias>\n    <Alias Alias=\"StatusCode\">i=19</Alias>\n    <Alias Alias=\"Structure\">i=22</Alias>\n    <Alias Alias=\"Number\">i=26</Alias>\n    <Alias Alias=\"Integer\">i=27</Alias>\n    <Alias Alias=\"UInteger\">i=28</Alias>\n    <Alias Alias=\"HasComponent\">i=47</Alias>\n    <Alias Alias=\"HasProperty\">i=46</Alias>\n    <Alias Alias=\"Organizes\">i=35</Alias>\n    <Alias Alias=\"HasEventSource\">i=36</Alias>\n    <Alias Alias=\"HasNotifier\">i=48</Alias>\n    <Alias Alias=\"HasSubtype\">i=45</Alias>\n    <Alias Alias=\"HasTypeDefinition\">i=40</Alias>\n    <Alias Alias=\"HasModellingRule\">i=37</Alias>\n    <Alias Alias=\"HasEncoding\">i=38</Alias>\n    <Alias Alias=\"HasDescription\">i=39</Alias>\n  </Aliases>\n  <UAReferenceType NodeId=\"ns=1;i=1\" BrowseName=\"1:ReferenceTypeTest1\" IsAbstract=\"true\" >\n    <DisplayName>ReferenceTypeTest #1</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=46999</Reference>\n    </References>\n  </UAReferenceType>\n</UANodeSet>"
  },
  {
    "path": "SemanticData/Tests/USNodeSetValidationUnitTestProject/XMLModels/ModelsWithErrors/UndefinedHasTypeDefinition.xml",
    "content": "﻿<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<UANodeSet xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\" LastModified=\"2015-03-29T19:38:17.8538193Z\" xmlns=\"http://opcfoundation.org/UA/2011/03/UANodeSet.xsd\">\n  <NamespaceUris>\n    <Uri>http://commsvr.com/OOIUA/SemanticData/UnitTest/UANodeSetValidationUnitTestProject</Uri>\n  </NamespaceUris>\n  <Aliases>\n    <Alias Alias=\"HasSubtype\">i=45</Alias>\n  </Aliases>\n  <UAVariable NodeId=\"ns=1;i=1\" BrowseName=\"1:ReferenceTypeTest1\" >\n    <DisplayName>ReferenceTypeTest #1</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=46999</Reference>\n    </References>\n  </UAVariable>\n</UANodeSet>"
  },
  {
    "path": "SemanticData/Tests/USNodeSetValidationUnitTestProject/XMLModels/ModelsWithErrors/WrongAccessLevel.xml",
    "content": "﻿<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<UANodeSet xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\" LastModified=\"2015-03-27T17:49:04.2653922Z\" xmlns=\"http://opcfoundation.org/UA/2011/03/UANodeSet.xsd\">\n  <NamespaceUris>\n    <Uri>http://commsvr.com/OOIUA/SemanticData/UnitTest/UANodeSetValidationUnitTestProject</Uri>\n  </NamespaceUris>\n  <Aliases>\n    <Alias Alias=\"Boolean\">i=1</Alias>\n    <Alias Alias=\"SByte\">i=2</Alias>\n    <Alias Alias=\"Byte\">i=3</Alias>\n    <Alias Alias=\"Int16\">i=4</Alias>\n    <Alias Alias=\"UInt16\">i=5</Alias>\n    <Alias Alias=\"Int32\">i=6</Alias>\n    <Alias Alias=\"UInt32\">i=7</Alias>\n    <Alias Alias=\"Int64\">i=8</Alias>\n    <Alias Alias=\"UInt64\">i=9</Alias>\n    <Alias Alias=\"Float\">i=10</Alias>\n    <Alias Alias=\"Double\">i=11</Alias>\n    <Alias Alias=\"DateTime\">i=13</Alias>\n    <Alias Alias=\"String\">i=12</Alias>\n    <Alias Alias=\"ByteString\">i=15</Alias>\n    <Alias Alias=\"Guid\">i=14</Alias>\n    <Alias Alias=\"XmlElement\">i=16</Alias>\n    <Alias Alias=\"NodeId\">i=17</Alias>\n    <Alias Alias=\"ExpandedNodeId\">i=18</Alias>\n    <Alias Alias=\"QualifiedName\">i=20</Alias>\n    <Alias Alias=\"LocalizedText\">i=21</Alias>\n    <Alias Alias=\"StatusCode\">i=19</Alias>\n    <Alias Alias=\"Structure\">i=22</Alias>\n    <Alias Alias=\"Number\">i=26</Alias>\n    <Alias Alias=\"Integer\">i=27</Alias>\n    <Alias Alias=\"UInteger\">i=28</Alias>\n    <Alias Alias=\"HasComponent\">i=47</Alias>\n    <Alias Alias=\"HasProperty\">i=46</Alias>\n    <Alias Alias=\"Organizes\">i=35</Alias>\n    <Alias Alias=\"HasEventSource\">i=36</Alias>\n    <Alias Alias=\"HasNotifier\">i=48</Alias>\n    <Alias Alias=\"HasSubtype\">i=45</Alias>\n    <Alias Alias=\"HasTypeDefinition\">i=40</Alias>\n    <Alias Alias=\"HasModellingRule\">i=37</Alias>\n    <Alias Alias=\"HasEncoding\">i=38</Alias>\n    <Alias Alias=\"HasDescription\">i=39</Alias>\n  </Aliases>\n  <UAVariableType NodeId=\"ns=1;i=8\" BrowseName=\"1:ComplexVariableType\" DataType=\"Number\">\n    <DisplayName>ComplexVariableType</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=14</Reference>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=2368</Reference>\n    </References>\n  </UAVariableType>\n  <UAVariable NodeId=\"ns=1;i=14\" BrowseName=\"1:VariableChild\" ParentNodeId=\"ns=1;i=8\" DataType=\"Int32\" ArrayDimensions=\"0,0,0\" AccessLevel=\"128\">\n    <DisplayName>VariableChild</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=8</Reference>\n    </References>\n  </UAVariable>\n</UANodeSet>"
  },
  {
    "path": "SemanticData/Tests/USNodeSetValidationUnitTestProject/XMLModels/ModelsWithErrors/WrongBrowseName.xml",
    "content": "﻿<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<UANodeSet xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\" LastModified=\"2015-03-29T19:38:17.8538193Z\" xmlns=\"http://opcfoundation.org/UA/2011/03/UANodeSet.xsd\">\n  <NamespaceUris>\n    <Uri>http://commsvr.com/OOIUA/SemanticData/UnitTest/UANodeSetValidationUnitTestProject</Uri>\n  </NamespaceUris>\n  <Aliases>\n    <Alias Alias=\"Boolean\">i=1</Alias>\n    <Alias Alias=\"SByte\">i=2</Alias>\n    <Alias Alias=\"Byte\">i=3</Alias>\n    <Alias Alias=\"Int16\">i=4</Alias>\n    <Alias Alias=\"UInt16\">i=5</Alias>\n    <Alias Alias=\"Int32\">i=6</Alias>\n    <Alias Alias=\"UInt32\">i=7</Alias>\n    <Alias Alias=\"Int64\">i=8</Alias>\n    <Alias Alias=\"UInt64\">i=9</Alias>\n    <Alias Alias=\"Float\">i=10</Alias>\n    <Alias Alias=\"Double\">i=11</Alias>\n    <Alias Alias=\"DateTime\">i=13</Alias>\n    <Alias Alias=\"String\">i=12</Alias>\n    <Alias Alias=\"ByteString\">i=15</Alias>\n    <Alias Alias=\"Guid\">i=14</Alias>\n    <Alias Alias=\"XmlElement\">i=16</Alias>\n    <Alias Alias=\"NodeId\">i=17</Alias>\n    <Alias Alias=\"ExpandedNodeId\">i=18</Alias>\n    <Alias Alias=\"QualifiedName\">i=20</Alias>\n    <Alias Alias=\"LocalizedText\">i=21</Alias>\n    <Alias Alias=\"StatusCode\">i=19</Alias>\n    <Alias Alias=\"Structure\">i=22</Alias>\n    <Alias Alias=\"Number\">i=26</Alias>\n    <Alias Alias=\"Integer\">i=27</Alias>\n    <Alias Alias=\"UInteger\">i=28</Alias>\n    <Alias Alias=\"HasComponent\">i=47</Alias>\n    <Alias Alias=\"HasProperty\">i=46</Alias>\n    <Alias Alias=\"Organizes\">i=35</Alias>\n    <Alias Alias=\"HasEventSource\">i=36</Alias>\n    <Alias Alias=\"HasNotifier\">i=48</Alias>\n    <Alias Alias=\"HasSubtype\">i=45</Alias>\n    <Alias Alias=\"HasTypeDefinition\">i=40</Alias>\n    <Alias Alias=\"HasModellingRule\">i=37</Alias>\n    <Alias Alias=\"HasEncoding\">i=38</Alias>\n    <Alias Alias=\"HasDescription\">i=39</Alias>\n  </Aliases>\n  <UAReferenceType NodeId=\"ns=1;i=1\" BrowseName=\"\" SymbolicName=\"ReferenceTypeTest1\" IsAbstract=\"true\" >\n    <DisplayName>ReferenceTypeTest #1</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=46</Reference>\n    </References>\n  </UAReferenceType>\n  <UAReferenceType NodeId=\"ns=1;i=2\" BrowseName=\"1:ReferenceType Test2\">\n    <DisplayName>ReferenceTypeTest #2</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=46</Reference>\n    </References>\n    <InverseName>Inverse Name</InverseName>\n  </UAReferenceType>\n</UANodeSet>"
  },
  {
    "path": "SemanticData/Tests/USNodeSetValidationUnitTestProject/XMLModels/ModelsWithErrors/WrongDisplayNameLength.xml",
    "content": "﻿<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<UANodeSet xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\" LastModified=\"2015-03-27T17:49:01.1743922Z\" xmlns=\"http://opcfoundation.org/UA/2011/03/UANodeSet.xsd\">\n  <NamespaceUris>\n    <Uri>http://commsvr.com/OOIUA/SemanticData/UnitTest/UANodeSetValidationUnitTestProject</Uri>\n  </NamespaceUris>\n  <Aliases>\n    <Alias Alias=\"Boolean\">i=1</Alias>\n    <Alias Alias=\"SByte\">i=2</Alias>\n    <Alias Alias=\"Byte\">i=3</Alias>\n    <Alias Alias=\"Int16\">i=4</Alias>\n    <Alias Alias=\"UInt16\">i=5</Alias>\n    <Alias Alias=\"Int32\">i=6</Alias>\n    <Alias Alias=\"UInt32\">i=7</Alias>\n    <Alias Alias=\"Int64\">i=8</Alias>\n    <Alias Alias=\"UInt64\">i=9</Alias>\n    <Alias Alias=\"Float\">i=10</Alias>\n    <Alias Alias=\"Double\">i=11</Alias>\n    <Alias Alias=\"DateTime\">i=13</Alias>\n    <Alias Alias=\"String\">i=12</Alias>\n    <Alias Alias=\"ByteString\">i=15</Alias>\n    <Alias Alias=\"Guid\">i=14</Alias>\n    <Alias Alias=\"XmlElement\">i=16</Alias>\n    <Alias Alias=\"NodeId\">i=17</Alias>\n    <Alias Alias=\"ExpandedNodeId\">i=18</Alias>\n    <Alias Alias=\"QualifiedName\">i=20</Alias>\n    <Alias Alias=\"LocalizedText\">i=21</Alias>\n    <Alias Alias=\"StatusCode\">i=19</Alias>\n    <Alias Alias=\"Structure\">i=22</Alias>\n    <Alias Alias=\"Number\">i=26</Alias>\n    <Alias Alias=\"Integer\">i=27</Alias>\n    <Alias Alias=\"UInteger\">i=28</Alias>\n    <Alias Alias=\"HasComponent\">i=47</Alias>\n    <Alias Alias=\"HasProperty\">i=46</Alias>\n    <Alias Alias=\"Organizes\">i=35</Alias>\n    <Alias Alias=\"HasEventSource\">i=36</Alias>\n    <Alias Alias=\"HasNotifier\">i=48</Alias>\n    <Alias Alias=\"HasSubtype\">i=45</Alias>\n    <Alias Alias=\"HasTypeDefinition\">i=40</Alias>\n    <Alias Alias=\"HasModellingRule\">i=37</Alias>\n    <Alias Alias=\"HasEncoding\">i=38</Alias>\n    <Alias Alias=\"HasDescription\">i=39</Alias>\n  </Aliases>\n  <UAObjectType NodeId=\"ns=1;i=196\" BrowseName=\"1:ComplexObjectType\">\n    <DisplayName>ComplexObjectType too long display name ComplexObjectType too long display name ComplexObjectType too long display name ComplexObjectType too long display name ComplexObjectType too long display name ComplexObjectType too long display name ComplexObjectType too long display name ComplexObjectType too long display name ComplexObjectType too long display name ComplexObjectType too long display name ComplexObjectType too long display name ComplexObjectType too long display name ComplexObjectType too long display name ComplexObjectType too long display name </DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=58</Reference>\n    </References>\n  </UAObjectType>\n</UANodeSet>"
  },
  {
    "path": "SemanticData/Tests/USNodeSetValidationUnitTestProject/XMLModels/ModelsWithErrors/WrongEventNotifier.xml",
    "content": "﻿<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<UANodeSet xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\" LastModified=\"2015-03-26T12:16:45.6085571Z\" xmlns=\"http://opcfoundation.org/UA/2011/03/UANodeSet.xsd\">\n  <NamespaceUris>\n    <Uri>http://commsvr.com/OOIUA/SemanticData/UnitTest/UANodeSetValidationUnitTestProject</Uri>\n  </NamespaceUris>\n  <Aliases>\n    <Alias Alias=\"Boolean\">i=1</Alias>\n    <Alias Alias=\"SByte\">i=2</Alias>\n    <Alias Alias=\"Byte\">i=3</Alias>\n    <Alias Alias=\"Int16\">i=4</Alias>\n    <Alias Alias=\"UInt16\">i=5</Alias>\n    <Alias Alias=\"Int32\">i=6</Alias>\n    <Alias Alias=\"UInt32\">i=7</Alias>\n    <Alias Alias=\"Int64\">i=8</Alias>\n    <Alias Alias=\"UInt64\">i=9</Alias>\n    <Alias Alias=\"Float\">i=10</Alias>\n    <Alias Alias=\"Double\">i=11</Alias>\n    <Alias Alias=\"DateTime\">i=13</Alias>\n    <Alias Alias=\"String\">i=12</Alias>\n    <Alias Alias=\"ByteString\">i=15</Alias>\n    <Alias Alias=\"Guid\">i=14</Alias>\n    <Alias Alias=\"XmlElement\">i=16</Alias>\n    <Alias Alias=\"NodeId\">i=17</Alias>\n    <Alias Alias=\"ExpandedNodeId\">i=18</Alias>\n    <Alias Alias=\"QualifiedName\">i=20</Alias>\n    <Alias Alias=\"LocalizedText\">i=21</Alias>\n    <Alias Alias=\"StatusCode\">i=19</Alias>\n    <Alias Alias=\"Structure\">i=22</Alias>\n    <Alias Alias=\"Number\">i=26</Alias>\n    <Alias Alias=\"Integer\">i=27</Alias>\n    <Alias Alias=\"UInteger\">i=28</Alias>\n    <Alias Alias=\"HasComponent\">i=47</Alias>\n    <Alias Alias=\"HasProperty\">i=46</Alias>\n    <Alias Alias=\"Organizes\">i=35</Alias>\n    <Alias Alias=\"HasEventSource\">i=36</Alias>\n    <Alias Alias=\"HasNotifier\">i=48</Alias>\n    <Alias Alias=\"HasSubtype\">i=45</Alias>\n    <Alias Alias=\"HasTypeDefinition\">i=40</Alias>\n    <Alias Alias=\"HasModellingRule\">i=37</Alias>\n    <Alias Alias=\"HasEncoding\">i=38</Alias>\n    <Alias Alias=\"HasDescription\">i=39</Alias>\n  </Aliases>\n  <UAObjectType NodeId=\"ns=1;i=196\" BrowseName=\"1:ComplexObjectType\">\n    <DisplayName>ComplexObjectType</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=287</Reference>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=2004</Reference>\n    </References>\n  </UAObjectType>\n  <UAObject NodeId=\"ns=1;i=287\" BrowseName=\"1:NameNotSet6\" ParentNodeId=\"ns=1;i=196\" EventNotifier=\"124\">\n    <DisplayName>NameNotSet6</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=58</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=11510</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=196</Reference>\n    </References>\n  </UAObject>\n</UANodeSet>"
  },
  {
    "path": "SemanticData/Tests/USNodeSetValidationUnitTestProject/XMLModels/ModelsWithErrors/WrongInverseName.xml",
    "content": "﻿<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<UANodeSet xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\" LastModified=\"2015-03-29T19:38:17.8538193Z\" xmlns=\"http://opcfoundation.org/UA/2011/03/UANodeSet.xsd\">\n  <NamespaceUris>\n    <Uri>http://commsvr.com/OOIUA/SemanticData/UnitTest/UANodeSetValidationUnitTestProject</Uri>\n  </NamespaceUris>\n  <Aliases>\n    <Alias Alias=\"Boolean\">i=1</Alias>\n    <Alias Alias=\"SByte\">i=2</Alias>\n    <Alias Alias=\"Byte\">i=3</Alias>\n    <Alias Alias=\"Int16\">i=4</Alias>\n    <Alias Alias=\"UInt16\">i=5</Alias>\n    <Alias Alias=\"Int32\">i=6</Alias>\n    <Alias Alias=\"UInt32\">i=7</Alias>\n    <Alias Alias=\"Int64\">i=8</Alias>\n    <Alias Alias=\"UInt64\">i=9</Alias>\n    <Alias Alias=\"Float\">i=10</Alias>\n    <Alias Alias=\"Double\">i=11</Alias>\n    <Alias Alias=\"DateTime\">i=13</Alias>\n    <Alias Alias=\"String\">i=12</Alias>\n    <Alias Alias=\"ByteString\">i=15</Alias>\n    <Alias Alias=\"Guid\">i=14</Alias>\n    <Alias Alias=\"XmlElement\">i=16</Alias>\n    <Alias Alias=\"NodeId\">i=17</Alias>\n    <Alias Alias=\"ExpandedNodeId\">i=18</Alias>\n    <Alias Alias=\"QualifiedName\">i=20</Alias>\n    <Alias Alias=\"LocalizedText\">i=21</Alias>\n    <Alias Alias=\"StatusCode\">i=19</Alias>\n    <Alias Alias=\"Structure\">i=22</Alias>\n    <Alias Alias=\"Number\">i=26</Alias>\n    <Alias Alias=\"Integer\">i=27</Alias>\n    <Alias Alias=\"UInteger\">i=28</Alias>\n    <Alias Alias=\"HasComponent\">i=47</Alias>\n    <Alias Alias=\"HasProperty\">i=46</Alias>\n    <Alias Alias=\"Organizes\">i=35</Alias>\n    <Alias Alias=\"HasEventSource\">i=36</Alias>\n    <Alias Alias=\"HasNotifier\">i=48</Alias>\n    <Alias Alias=\"HasSubtype\">i=45</Alias>\n    <Alias Alias=\"HasTypeDefinition\">i=40</Alias>\n    <Alias Alias=\"HasModellingRule\">i=37</Alias>\n    <Alias Alias=\"HasEncoding\">i=38</Alias>\n    <Alias Alias=\"HasDescription\">i=39</Alias>\n  </Aliases>\n  <UAReferenceType NodeId=\"ns=1;i=1\" BrowseName=\"1:ReferenceTypeTest1\" Symmetric=\"true\">\n    <DisplayName>ReferenceTypeTest #1</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=46</Reference>\n    </References>\n    <InverseName>FromSomewhere</InverseName>\n  </UAReferenceType>\n  <UAReferenceType NodeId=\"ns=1;i=4\" BrowseName=\"1:ReferenceTypeTest4\" Symmetric=\"true\" IsAbstract=\"true\">\n    <DisplayName>ReferenceTypeTest #4</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=46</Reference>\n    </References>\n    <InverseName>FromSomewhere</InverseName>\n  </UAReferenceType>\n  <UAReferenceType NodeId=\"ns=1;i=2\" BrowseName=\"1:ReferenceTypeTest2\">\n    <DisplayName>ReferenceTypeTest #2</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=46</Reference>\n    </References>\n  </UAReferenceType>\n  <UAReferenceType NodeId=\"ns=1;i=3\" BrowseName=\"1:ReferenceTypeTest3\" IsAbstract=\"true\">\n    <DisplayName>ReferenceTypeTest #3</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=46</Reference>\n    </References>\n    <InverseName>FromSomewhere</InverseName>\n  </UAReferenceType>\n</UANodeSet>"
  },
  {
    "path": "SemanticData/Tests/USNodeSetValidationUnitTestProject/XMLModels/ModelsWithErrors/WrongNodeId.xml",
    "content": "﻿<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<UANodeSet xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\" LastModified=\"2015-03-29T19:38:17.8538193Z\" xmlns=\"http://opcfoundation.org/UA/2011/03/UANodeSet.xsd\">\n  <NamespaceUris>\n    <Uri>http://commsvr.com/OOIUA/SemanticData/UnitTest/UANodeSetValidationUnitTestProject</Uri>\n  </NamespaceUris>\n  <Aliases>\n    <Alias Alias=\"Boolean\">i=1</Alias>\n    <Alias Alias=\"SByte\">i=2</Alias>\n    <Alias Alias=\"Byte\">i=3</Alias>\n    <Alias Alias=\"Int16\">i=4</Alias>\n    <Alias Alias=\"UInt16\">i=5</Alias>\n    <Alias Alias=\"Int32\">i=6</Alias>\n    <Alias Alias=\"UInt32\">i=7</Alias>\n    <Alias Alias=\"Int64\">i=8</Alias>\n    <Alias Alias=\"UInt64\">i=9</Alias>\n    <Alias Alias=\"Float\">i=10</Alias>\n    <Alias Alias=\"Double\">i=11</Alias>\n    <Alias Alias=\"DateTime\">i=13</Alias>\n    <Alias Alias=\"String\">i=12</Alias>\n    <Alias Alias=\"ByteString\">i=15</Alias>\n    <Alias Alias=\"Guid\">i=14</Alias>\n    <Alias Alias=\"XmlElement\">i=16</Alias>\n    <Alias Alias=\"NodeId\">i=17</Alias>\n    <Alias Alias=\"ExpandedNodeId\">i=18</Alias>\n    <Alias Alias=\"QualifiedName\">i=20</Alias>\n    <Alias Alias=\"LocalizedText\">i=21</Alias>\n    <Alias Alias=\"StatusCode\">i=19</Alias>\n    <Alias Alias=\"Structure\">i=22</Alias>\n    <Alias Alias=\"Number\">i=26</Alias>\n    <Alias Alias=\"Integer\">i=27</Alias>\n    <Alias Alias=\"UInteger\">i=28</Alias>\n    <Alias Alias=\"HasProperty\">i=46</Alias>\n    <Alias Alias=\"Organizes\">i=35</Alias>\n    <Alias Alias=\"HasEventSource\">i=36</Alias>\n    <Alias Alias=\"HasNotifier\">i=48</Alias>\n    <Alias Alias=\"HasSubtype\">i=45</Alias>\n    <Alias Alias=\"HasTypeDefinition\">i=40</Alias>\n    <Alias Alias=\"HasModellingRule\">i=37</Alias>\n    <Alias Alias=\"HasEncoding\">i=38</Alias>\n    <Alias Alias=\"HasDescription\">i=39</Alias>\n  </Aliases>\n  <UAVariableType NodeId=\"ns=1;i=15\" BrowseName=\"1:WrongDataType\" DataType=\"i=123456\" ValueRank=\"3\" ArrayDimensions=\"0,0,0\">\n    <DisplayName>Wrong DataType</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=63</Reference>\n    </References>\n  </UAVariableType>\n  <UAVariableType NodeId=\"ns=1;i=16\" BrowseName=\"1:WrongReferenceType\" DataType=\"Int32\" ValueRank=\"3\" ArrayDimensions=\"0,0,0\">\n    <DisplayName>Wrong DataType</DisplayName>\n    <References>\n      <Reference ReferenceType=\"i=234567\" IsForward=\"false\">i=63</Reference>\n    </References>\n  </UAVariableType>\n  <UAVariableType NodeId=\"ns=1;i=17\" BrowseName=\"1:WrongReferenceTypeSyntx\" DataType=\"Int32\" ValueRank=\"3\" ArrayDimensions=\"0,0,0\">\n    <DisplayName>Wrong DataType</DisplayName>\n    <References>\n      <Reference ReferenceType=\"NotDefined\" IsForward=\"false\">i=63</Reference>\n    </References>\n  </UAVariableType>\n</UANodeSet>"
  },
  {
    "path": "SemanticData/Tests/USNodeSetValidationUnitTestProject/XMLModels/ModelsWithErrors/WrongReference2Property.xml",
    "content": "﻿<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<UANodeSet xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\" LastModified=\"2015-03-27T17:49:01.1743922Z\" xmlns=\"http://opcfoundation.org/UA/2011/03/UANodeSet.xsd\">\n  <NamespaceUris>\n    <Uri>http://commsvr.com/OOIUA/SemanticData/UnitTest/UANodeSetValidationUnitTestProject</Uri>\n  </NamespaceUris>\n  <Aliases>\n    <Alias Alias=\"Boolean\">i=1</Alias>\n    <Alias Alias=\"SByte\">i=2</Alias>\n    <Alias Alias=\"Byte\">i=3</Alias>\n    <Alias Alias=\"Int16\">i=4</Alias>\n    <Alias Alias=\"UInt16\">i=5</Alias>\n    <Alias Alias=\"Int32\">i=6</Alias>\n    <Alias Alias=\"UInt32\">i=7</Alias>\n    <Alias Alias=\"Int64\">i=8</Alias>\n    <Alias Alias=\"UInt64\">i=9</Alias>\n    <Alias Alias=\"Float\">i=10</Alias>\n    <Alias Alias=\"Double\">i=11</Alias>\n    <Alias Alias=\"DateTime\">i=13</Alias>\n    <Alias Alias=\"String\">i=12</Alias>\n    <Alias Alias=\"ByteString\">i=15</Alias>\n    <Alias Alias=\"Guid\">i=14</Alias>\n    <Alias Alias=\"XmlElement\">i=16</Alias>\n    <Alias Alias=\"NodeId\">i=17</Alias>\n    <Alias Alias=\"ExpandedNodeId\">i=18</Alias>\n    <Alias Alias=\"QualifiedName\">i=20</Alias>\n    <Alias Alias=\"LocalizedText\">i=21</Alias>\n    <Alias Alias=\"StatusCode\">i=19</Alias>\n    <Alias Alias=\"Structure\">i=22</Alias>\n    <Alias Alias=\"Number\">i=26</Alias>\n    <Alias Alias=\"Integer\">i=27</Alias>\n    <Alias Alias=\"UInteger\">i=28</Alias>\n    <Alias Alias=\"HasComponent\">i=47</Alias>\n    <Alias Alias=\"HasProperty\">i=46</Alias>\n    <Alias Alias=\"Organizes\">i=35</Alias>\n    <Alias Alias=\"HasEventSource\">i=36</Alias>\n    <Alias Alias=\"HasNotifier\">i=48</Alias>\n    <Alias Alias=\"HasSubtype\">i=45</Alias>\n    <Alias Alias=\"HasTypeDefinition\">i=40</Alias>\n    <Alias Alias=\"HasModellingRule\">i=37</Alias>\n    <Alias Alias=\"HasEncoding\">i=38</Alias>\n    <Alias Alias=\"HasDescription\">i=39</Alias>\n  </Aliases>\n  <UAObjectType NodeId=\"ns=1;i=196\" BrowseName=\"1:ComplexObjectType\">\n    <DisplayName>ComplexObjectType</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=309</Reference>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=289</Reference>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=2004</Reference>\n    </References>\n  </UAObjectType>\n  <UAVariable NodeId=\"ns=1;i=309\" BrowseName=\"1:ChildProperty\" SymbolicName=\"BrowseName4node66\" ParentNodeId=\"ns=1;i=196\" DataType=\"LocalizedText\">\n    <DisplayName>ChildProperty</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=196</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=289\" BrowseName=\"1:BrowseName4node1109\" SymbolicName=\"NameNotSet1109\" ParentNodeId=\"ns=1;i=196\" DataType=\"Number\">\n    <DisplayName>BrowseName4node1109</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=293</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=2368</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=196</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=293\" BrowseName=\"EURange\" ParentNodeId=\"ns=1;i=289\" DataType=\"i=884\" AccessLevel=\"127\" >\n    <DisplayName>EURange</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=289</Reference>\n    </References>\n  </UAVariable>\n</UANodeSet>"
  },
  {
    "path": "SemanticData/Tests/USNodeSetValidationUnitTestProject/XMLModels/ModelsWithErrors/WrongValueRank.xml",
    "content": "﻿<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<UANodeSet xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\" LastModified=\"2015-03-27T17:49:04.2653922Z\" xmlns=\"http://opcfoundation.org/UA/2011/03/UANodeSet.xsd\">\n  <NamespaceUris>\n    <Uri>http://commsvr.com/OOIUA/SemanticData/UnitTest/UANodeSetValidationUnitTestProject</Uri>\n  </NamespaceUris>\n  <Aliases>\n    <Alias Alias=\"Boolean\">i=1</Alias>\n    <Alias Alias=\"SByte\">i=2</Alias>\n    <Alias Alias=\"Byte\">i=3</Alias>\n    <Alias Alias=\"Int16\">i=4</Alias>\n    <Alias Alias=\"UInt16\">i=5</Alias>\n    <Alias Alias=\"Int32\">i=6</Alias>\n    <Alias Alias=\"UInt32\">i=7</Alias>\n    <Alias Alias=\"Int64\">i=8</Alias>\n    <Alias Alias=\"UInt64\">i=9</Alias>\n    <Alias Alias=\"Float\">i=10</Alias>\n    <Alias Alias=\"Double\">i=11</Alias>\n    <Alias Alias=\"DateTime\">i=13</Alias>\n    <Alias Alias=\"String\">i=12</Alias>\n    <Alias Alias=\"ByteString\">i=15</Alias>\n    <Alias Alias=\"Guid\">i=14</Alias>\n    <Alias Alias=\"XmlElement\">i=16</Alias>\n    <Alias Alias=\"NodeId\">i=17</Alias>\n    <Alias Alias=\"ExpandedNodeId\">i=18</Alias>\n    <Alias Alias=\"QualifiedName\">i=20</Alias>\n    <Alias Alias=\"LocalizedText\">i=21</Alias>\n    <Alias Alias=\"StatusCode\">i=19</Alias>\n    <Alias Alias=\"Structure\">i=22</Alias>\n    <Alias Alias=\"Number\">i=26</Alias>\n    <Alias Alias=\"Integer\">i=27</Alias>\n    <Alias Alias=\"UInteger\">i=28</Alias>\n    <Alias Alias=\"HasComponent\">i=47</Alias>\n    <Alias Alias=\"HasProperty\">i=46</Alias>\n    <Alias Alias=\"Organizes\">i=35</Alias>\n    <Alias Alias=\"HasEventSource\">i=36</Alias>\n    <Alias Alias=\"HasNotifier\">i=48</Alias>\n    <Alias Alias=\"HasSubtype\">i=45</Alias>\n    <Alias Alias=\"HasTypeDefinition\">i=40</Alias>\n    <Alias Alias=\"HasModellingRule\">i=37</Alias>\n    <Alias Alias=\"HasEncoding\">i=38</Alias>\n    <Alias Alias=\"HasDescription\">i=39</Alias>\n  </Aliases>\n  <UAVariableType NodeId=\"ns=1;i=8\" BrowseName=\"1:ComplexVariableType\" DataType=\"Number\">\n    <DisplayName>ComplexVariableType</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=14</Reference>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=2368</Reference>\n    </References>\n  </UAVariableType>\n  <UAVariable NodeId=\"ns=1;i=14\" BrowseName=\"1:VariableChild\" ParentNodeId=\"ns=1;i=8\" DataType=\"Int32\" ValueRank=\"-4\" ArrayDimensions=\"0,0,0\">\n    <DisplayName>VariableChild</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=8</Reference>\n    </References>\n  </UAVariable>\n  <UAVariableType NodeId=\"ns=1;i=15\" BrowseName=\"1:ArrayVariableType\" DataType=\"Int32\" ValueRank=\"-4\" ArrayDimensions=\"0,0,0\">\n    <DisplayName>ArrayVariableType</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=63</Reference>\n    </References>\n  </UAVariableType>\n  <UAVariableType NodeId=\"ns=1;i=16\" BrowseName=\"1:SimpleVariableWithValueType\" DataType=\"Int32\">\n    <DisplayName>SimpleVariableWithValueType</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=63</Reference>\n    </References>\n    <Value>\n      <Int32 xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">1</Int32>\n    </Value>\n  </UAVariableType>\n</UANodeSet>"
  },
  {
    "path": "SemanticData/Tests/USNodeSetValidationUnitTestProject/XMLModels/ModelsWithErrors/WrongWriteMask.xml",
    "content": "﻿<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<UANodeSet xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\" LastModified=\"2015-03-27T17:49:01.1743922Z\" xmlns=\"http://opcfoundation.org/UA/2011/03/UANodeSet.xsd\">\n  <NamespaceUris>\n    <Uri>http://commsvr.com/OOIUA/SemanticData/UnitTest/UANodeSetValidationUnitTestProject</Uri>\n  </NamespaceUris>\n  <Aliases>\n    <Alias Alias=\"Boolean\">i=1</Alias>\n    <Alias Alias=\"SByte\">i=2</Alias>\n    <Alias Alias=\"Byte\">i=3</Alias>\n    <Alias Alias=\"Int16\">i=4</Alias>\n    <Alias Alias=\"UInt16\">i=5</Alias>\n    <Alias Alias=\"Int32\">i=6</Alias>\n    <Alias Alias=\"UInt32\">i=7</Alias>\n    <Alias Alias=\"Int64\">i=8</Alias>\n    <Alias Alias=\"UInt64\">i=9</Alias>\n    <Alias Alias=\"Float\">i=10</Alias>\n    <Alias Alias=\"Double\">i=11</Alias>\n    <Alias Alias=\"DateTime\">i=13</Alias>\n    <Alias Alias=\"String\">i=12</Alias>\n    <Alias Alias=\"ByteString\">i=15</Alias>\n    <Alias Alias=\"Guid\">i=14</Alias>\n    <Alias Alias=\"XmlElement\">i=16</Alias>\n    <Alias Alias=\"NodeId\">i=17</Alias>\n    <Alias Alias=\"ExpandedNodeId\">i=18</Alias>\n    <Alias Alias=\"QualifiedName\">i=20</Alias>\n    <Alias Alias=\"LocalizedText\">i=21</Alias>\n    <Alias Alias=\"StatusCode\">i=19</Alias>\n    <Alias Alias=\"Structure\">i=22</Alias>\n    <Alias Alias=\"Number\">i=26</Alias>\n    <Alias Alias=\"Integer\">i=27</Alias>\n    <Alias Alias=\"UInteger\">i=28</Alias>\n    <Alias Alias=\"HasComponent\">i=47</Alias>\n    <Alias Alias=\"HasProperty\">i=46</Alias>\n    <Alias Alias=\"Organizes\">i=35</Alias>\n    <Alias Alias=\"HasEventSource\">i=36</Alias>\n    <Alias Alias=\"HasNotifier\">i=48</Alias>\n    <Alias Alias=\"HasSubtype\">i=45</Alias>\n    <Alias Alias=\"HasTypeDefinition\">i=40</Alias>\n    <Alias Alias=\"HasModellingRule\">i=37</Alias>\n    <Alias Alias=\"HasEncoding\">i=38</Alias>\n    <Alias Alias=\"HasDescription\">i=39</Alias>\n  </Aliases>\n  <UAObjectType NodeId=\"ns=1;i=1\" BrowseName=\"1:ObjectTypeOK\" WriteMask=\"2097152\">\n    <DisplayName>OK UAObjectType.</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=58</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=2</Reference>\n    </References>\n  </UAObjectType>\n  <UAVariable NodeId=\"ns=1;i=2\" BrowseName=\"1:UAVariableWrong\" WriteMask=\"2097152\">\n    <DisplayName>Wrong UAVariable</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=62</Reference>\n    </References>\n  </UAVariable>\n  <UAObjectType NodeId=\"ns=1;i=3\" BrowseName=\"1:UAObjectTypeWrong\" WriteMask=\"4194304\">\n    <DisplayName>Wrong UAObjectType.</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=58</Reference>\n    </References>\n  </UAObjectType>\n</UANodeSet>"
  },
  {
    "path": "SemanticData/Tests/USNodeSetValidationUnitTestProject/XMLModels/ProblemsToReport/ADI#509/Opc.Ua.Adi.NodeSet2.xml",
    "content": "﻿<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<UANodeSet xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\" LastModified=\"2016-06-29T19:11:53.5718275Z\" xmlns=\"http://opcfoundation.org/UA/2011/03/UANodeSet.xsd\">\n  <NamespaceUris>\n    <Uri>http://opcfoundation.org/UA/ADI/</Uri>\n    <Uri>http://opcfoundation.org/UA/DI/</Uri>\n  </NamespaceUris>\n  <Aliases>\n    <Alias Alias=\"Boolean\">i=1</Alias>\n    <Alias Alias=\"SByte\">i=2</Alias>\n    <Alias Alias=\"Byte\">i=3</Alias>\n    <Alias Alias=\"Int16\">i=4</Alias>\n    <Alias Alias=\"UInt16\">i=5</Alias>\n    <Alias Alias=\"Int32\">i=6</Alias>\n    <Alias Alias=\"UInt32\">i=7</Alias>\n    <Alias Alias=\"Int64\">i=8</Alias>\n    <Alias Alias=\"UInt64\">i=9</Alias>\n    <Alias Alias=\"Float\">i=10</Alias>\n    <Alias Alias=\"Double\">i=11</Alias>\n    <Alias Alias=\"DateTime\">i=13</Alias>\n    <Alias Alias=\"String\">i=12</Alias>\n    <Alias Alias=\"ByteString\">i=15</Alias>\n    <Alias Alias=\"Guid\">i=14</Alias>\n    <Alias Alias=\"XmlElement\">i=16</Alias>\n    <Alias Alias=\"NodeId\">i=17</Alias>\n    <Alias Alias=\"ExpandedNodeId\">i=18</Alias>\n    <Alias Alias=\"QualifiedName\">i=20</Alias>\n    <Alias Alias=\"LocalizedText\">i=21</Alias>\n    <Alias Alias=\"StatusCode\">i=19</Alias>\n    <Alias Alias=\"Structure\">i=22</Alias>\n    <Alias Alias=\"Number\">i=26</Alias>\n    <Alias Alias=\"Integer\">i=27</Alias>\n    <Alias Alias=\"UInteger\">i=28</Alias>\n    <Alias Alias=\"HasComponent\">i=47</Alias>\n    <Alias Alias=\"HasProperty\">i=46</Alias>\n    <Alias Alias=\"Organizes\">i=35</Alias>\n    <Alias Alias=\"HasEventSource\">i=36</Alias>\n    <Alias Alias=\"HasNotifier\">i=48</Alias>\n    <Alias Alias=\"HasSubtype\">i=45</Alias>\n    <Alias Alias=\"HasTypeDefinition\">i=40</Alias>\n    <Alias Alias=\"HasModellingRule\">i=37</Alias>\n    <Alias Alias=\"HasEncoding\">i=38</Alias>\n    <Alias Alias=\"HasDescription\">i=39</Alias>\n  </Aliases>\n  <UAObjectType NodeId=\"ns=1;i=1000\" BrowseName=\"1:AnalyserDeviceType\" IsAbstract=\"true\">\n    <DisplayName>AnalyserDeviceType</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=1001</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=1002</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=2903</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=1053</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=1054</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=1055</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=1056</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=4310</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=4420</Reference>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">ns=2;i=12254</Reference>\n    </References>\n  </UAObjectType>\n  <UAObject NodeId=\"ns=1;i=1001\" BrowseName=\"2:ParameterSet\" ParentNodeId=\"ns=1;i=1000\">\n    <DisplayName>ParameterSet</DisplayName>\n    <Description>Flat list of Parameters</Description>\n    <References>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=1010</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=4286</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=58</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=80</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=1000</Reference>\n    </References>\n  </UAObject>\n  <UAVariable NodeId=\"ns=1;i=1010\" BrowseName=\"1:DiagnosticStatus\" ParentNodeId=\"ns=1;i=1001\" DataType=\"ns=2;i=12386\">\n    <DisplayName>DiagnosticStatus</DisplayName>\n    <Description>General health status of the analyser</Description>\n    <References>\n      <Reference ReferenceType=\"Organizes\" IsForward=\"false\">ns=1;i=1054</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=2365</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=1001</Reference>\n    </References>\n  </UAVariable>\n  <UAObject NodeId=\"ns=1;i=4286\" BrowseName=\"1:ConfigData\" ParentNodeId=\"ns=1;i=1001\">\n    <DisplayName>ConfigData</DisplayName>\n    <Description>Optional analyser device large configuration</Description>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=4287</Reference>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=4288</Reference>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=4289</Reference>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=4290</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=4291</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=4294</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=4296</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=4299</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=4301</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=4304</Reference>\n      <Reference ReferenceType=\"Organizes\" IsForward=\"false\">ns=1;i=1053</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=11575</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=80</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=1001</Reference>\n    </References>\n  </UAObject>\n  <UAVariable NodeId=\"ns=1;i=4287\" BrowseName=\"Size\" ParentNodeId=\"ns=1;i=4286\" DataType=\"UInt64\">\n    <DisplayName>Size</DisplayName>\n    <Description>The size of the file in bytes.</Description>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=4286</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=4288\" BrowseName=\"Writeable\" ParentNodeId=\"ns=1;i=4286\" DataType=\"Boolean\">\n    <DisplayName>Writeable</DisplayName>\n    <Description>Whether the file is writeable.</Description>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=4286</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=4289\" BrowseName=\"UserWriteable\" ParentNodeId=\"ns=1;i=4286\" DataType=\"Boolean\">\n    <DisplayName>UserWriteable</DisplayName>\n    <Description>Whether the file is writeable by the current user.</Description>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=4286</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=4290\" BrowseName=\"OpenCount\" ParentNodeId=\"ns=1;i=4286\" DataType=\"UInt16\">\n    <DisplayName>OpenCount</DisplayName>\n    <Description>The current number of open file handles.</Description>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=4286</Reference>\n    </References>\n  </UAVariable>\n  <UAMethod NodeId=\"ns=1;i=4291\" BrowseName=\"Open\" ParentNodeId=\"ns=1;i=4286\" MethodDeclarationId=\"i=11580\">\n    <DisplayName>Open</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=4292</Reference>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=4293</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=4286</Reference>\n    </References>\n  </UAMethod>\n  <UAVariable NodeId=\"ns=1;i=4292\" BrowseName=\"InputArguments\" ParentNodeId=\"ns=1;i=4291\" DataType=\"i=296\" ValueRank=\"1\">\n    <DisplayName>InputArguments</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=4291</Reference>\n    </References>\n    <Value>\n      <ListOfExtensionObject xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=297</Identifier>\n          </TypeId>\n          <Body>\n            <Argument>\n              <Name>Mode</Name>\n              <DataType>\n                <Identifier>i=3</Identifier>\n              </DataType>\n              <ValueRank>-1</ValueRank>\n              <ArrayDimensions />\n              <Description p5:nil=\"true\" xmlns:p5=\"http://www.w3.org/2001/XMLSchema-instance\" />\n            </Argument>\n          </Body>\n        </ExtensionObject>\n      </ListOfExtensionObject>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=4293\" BrowseName=\"OutputArguments\" ParentNodeId=\"ns=1;i=4291\" DataType=\"i=296\" ValueRank=\"1\">\n    <DisplayName>OutputArguments</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=4291</Reference>\n    </References>\n    <Value>\n      <ListOfExtensionObject xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=297</Identifier>\n          </TypeId>\n          <Body>\n            <Argument>\n              <Name>FileHandle</Name>\n              <DataType>\n                <Identifier>i=7</Identifier>\n              </DataType>\n              <ValueRank>-1</ValueRank>\n              <ArrayDimensions />\n              <Description p5:nil=\"true\" xmlns:p5=\"http://www.w3.org/2001/XMLSchema-instance\" />\n            </Argument>\n          </Body>\n        </ExtensionObject>\n      </ListOfExtensionObject>\n    </Value>\n  </UAVariable>\n  <UAMethod NodeId=\"ns=1;i=4294\" BrowseName=\"Close\" ParentNodeId=\"ns=1;i=4286\" MethodDeclarationId=\"i=11583\">\n    <DisplayName>Close</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=4295</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=4286</Reference>\n    </References>\n  </UAMethod>\n  <UAVariable NodeId=\"ns=1;i=4295\" BrowseName=\"InputArguments\" ParentNodeId=\"ns=1;i=4294\" DataType=\"i=296\" ValueRank=\"1\">\n    <DisplayName>InputArguments</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=4294</Reference>\n    </References>\n    <Value>\n      <ListOfExtensionObject xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=297</Identifier>\n          </TypeId>\n          <Body>\n            <Argument>\n              <Name>FileHandle</Name>\n              <DataType>\n                <Identifier>i=7</Identifier>\n              </DataType>\n              <ValueRank>-1</ValueRank>\n              <ArrayDimensions />\n              <Description p5:nil=\"true\" xmlns:p5=\"http://www.w3.org/2001/XMLSchema-instance\" />\n            </Argument>\n          </Body>\n        </ExtensionObject>\n      </ListOfExtensionObject>\n    </Value>\n  </UAVariable>\n  <UAMethod NodeId=\"ns=1;i=4296\" BrowseName=\"Read\" ParentNodeId=\"ns=1;i=4286\" MethodDeclarationId=\"i=11585\">\n    <DisplayName>Read</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=4297</Reference>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=4298</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=4286</Reference>\n    </References>\n  </UAMethod>\n  <UAVariable NodeId=\"ns=1;i=4297\" BrowseName=\"InputArguments\" ParentNodeId=\"ns=1;i=4296\" DataType=\"i=296\" ValueRank=\"1\">\n    <DisplayName>InputArguments</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=4296</Reference>\n    </References>\n    <Value>\n      <ListOfExtensionObject xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=297</Identifier>\n          </TypeId>\n          <Body>\n            <Argument>\n              <Name>FileHandle</Name>\n              <DataType>\n                <Identifier>i=7</Identifier>\n              </DataType>\n              <ValueRank>-1</ValueRank>\n              <ArrayDimensions />\n              <Description p5:nil=\"true\" xmlns:p5=\"http://www.w3.org/2001/XMLSchema-instance\" />\n            </Argument>\n          </Body>\n        </ExtensionObject>\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=297</Identifier>\n          </TypeId>\n          <Body>\n            <Argument>\n              <Name>Length</Name>\n              <DataType>\n                <Identifier>i=6</Identifier>\n              </DataType>\n              <ValueRank>-1</ValueRank>\n              <ArrayDimensions />\n              <Description p5:nil=\"true\" xmlns:p5=\"http://www.w3.org/2001/XMLSchema-instance\" />\n            </Argument>\n          </Body>\n        </ExtensionObject>\n      </ListOfExtensionObject>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=4298\" BrowseName=\"OutputArguments\" ParentNodeId=\"ns=1;i=4296\" DataType=\"i=296\" ValueRank=\"1\">\n    <DisplayName>OutputArguments</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=4296</Reference>\n    </References>\n    <Value>\n      <ListOfExtensionObject xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=297</Identifier>\n          </TypeId>\n          <Body>\n            <Argument>\n              <Name>Data</Name>\n              <DataType>\n                <Identifier>i=15</Identifier>\n              </DataType>\n              <ValueRank>-1</ValueRank>\n              <ArrayDimensions />\n              <Description p5:nil=\"true\" xmlns:p5=\"http://www.w3.org/2001/XMLSchema-instance\" />\n            </Argument>\n          </Body>\n        </ExtensionObject>\n      </ListOfExtensionObject>\n    </Value>\n  </UAVariable>\n  <UAMethod NodeId=\"ns=1;i=4299\" BrowseName=\"Write\" ParentNodeId=\"ns=1;i=4286\" MethodDeclarationId=\"i=11588\">\n    <DisplayName>Write</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=4300</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=4286</Reference>\n    </References>\n  </UAMethod>\n  <UAVariable NodeId=\"ns=1;i=4300\" BrowseName=\"InputArguments\" ParentNodeId=\"ns=1;i=4299\" DataType=\"i=296\" ValueRank=\"1\">\n    <DisplayName>InputArguments</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=4299</Reference>\n    </References>\n    <Value>\n      <ListOfExtensionObject xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=297</Identifier>\n          </TypeId>\n          <Body>\n            <Argument>\n              <Name>FileHandle</Name>\n              <DataType>\n                <Identifier>i=7</Identifier>\n              </DataType>\n              <ValueRank>-1</ValueRank>\n              <ArrayDimensions />\n              <Description p5:nil=\"true\" xmlns:p5=\"http://www.w3.org/2001/XMLSchema-instance\" />\n            </Argument>\n          </Body>\n        </ExtensionObject>\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=297</Identifier>\n          </TypeId>\n          <Body>\n            <Argument>\n              <Name>Data</Name>\n              <DataType>\n                <Identifier>i=15</Identifier>\n              </DataType>\n              <ValueRank>-1</ValueRank>\n              <ArrayDimensions />\n              <Description p5:nil=\"true\" xmlns:p5=\"http://www.w3.org/2001/XMLSchema-instance\" />\n            </Argument>\n          </Body>\n        </ExtensionObject>\n      </ListOfExtensionObject>\n    </Value>\n  </UAVariable>\n  <UAMethod NodeId=\"ns=1;i=4301\" BrowseName=\"GetPosition\" ParentNodeId=\"ns=1;i=4286\" MethodDeclarationId=\"i=11590\">\n    <DisplayName>GetPosition</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=4302</Reference>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=4303</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=4286</Reference>\n    </References>\n  </UAMethod>\n  <UAVariable NodeId=\"ns=1;i=4302\" BrowseName=\"InputArguments\" ParentNodeId=\"ns=1;i=4301\" DataType=\"i=296\" ValueRank=\"1\">\n    <DisplayName>InputArguments</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=4301</Reference>\n    </References>\n    <Value>\n      <ListOfExtensionObject xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=297</Identifier>\n          </TypeId>\n          <Body>\n            <Argument>\n              <Name>FileHandle</Name>\n              <DataType>\n                <Identifier>i=7</Identifier>\n              </DataType>\n              <ValueRank>-1</ValueRank>\n              <ArrayDimensions />\n              <Description p5:nil=\"true\" xmlns:p5=\"http://www.w3.org/2001/XMLSchema-instance\" />\n            </Argument>\n          </Body>\n        </ExtensionObject>\n      </ListOfExtensionObject>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=4303\" BrowseName=\"OutputArguments\" ParentNodeId=\"ns=1;i=4301\" DataType=\"i=296\" ValueRank=\"1\">\n    <DisplayName>OutputArguments</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=4301</Reference>\n    </References>\n    <Value>\n      <ListOfExtensionObject xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=297</Identifier>\n          </TypeId>\n          <Body>\n            <Argument>\n              <Name>Position</Name>\n              <DataType>\n                <Identifier>i=9</Identifier>\n              </DataType>\n              <ValueRank>-1</ValueRank>\n              <ArrayDimensions />\n              <Description p5:nil=\"true\" xmlns:p5=\"http://www.w3.org/2001/XMLSchema-instance\" />\n            </Argument>\n          </Body>\n        </ExtensionObject>\n      </ListOfExtensionObject>\n    </Value>\n  </UAVariable>\n  <UAMethod NodeId=\"ns=1;i=4304\" BrowseName=\"SetPosition\" ParentNodeId=\"ns=1;i=4286\" MethodDeclarationId=\"i=11593\">\n    <DisplayName>SetPosition</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=4305</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=4286</Reference>\n    </References>\n  </UAMethod>\n  <UAVariable NodeId=\"ns=1;i=4305\" BrowseName=\"InputArguments\" ParentNodeId=\"ns=1;i=4304\" DataType=\"i=296\" ValueRank=\"1\">\n    <DisplayName>InputArguments</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=4304</Reference>\n    </References>\n    <Value>\n      <ListOfExtensionObject xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=297</Identifier>\n          </TypeId>\n          <Body>\n            <Argument>\n              <Name>FileHandle</Name>\n              <DataType>\n                <Identifier>i=7</Identifier>\n              </DataType>\n              <ValueRank>-1</ValueRank>\n              <ArrayDimensions />\n              <Description p5:nil=\"true\" xmlns:p5=\"http://www.w3.org/2001/XMLSchema-instance\" />\n            </Argument>\n          </Body>\n        </ExtensionObject>\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=297</Identifier>\n          </TypeId>\n          <Body>\n            <Argument>\n              <Name>Position</Name>\n              <DataType>\n                <Identifier>i=9</Identifier>\n              </DataType>\n              <ValueRank>-1</ValueRank>\n              <ArrayDimensions />\n              <Description p5:nil=\"true\" xmlns:p5=\"http://www.w3.org/2001/XMLSchema-instance\" />\n            </Argument>\n          </Body>\n        </ExtensionObject>\n      </ListOfExtensionObject>\n    </Value>\n  </UAVariable>\n  <UAObject NodeId=\"ns=1;i=1002\" BrowseName=\"2:MethodSet\" ParentNodeId=\"ns=1;i=1000\">\n    <DisplayName>MethodSet</DisplayName>\n    <Description>Flat list of Methods</Description>\n    <References>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=2905</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=2907</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=2910</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=2912</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=2915</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=2916</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=2917</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=2918</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=2919</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=2920</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=58</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=1000</Reference>\n    </References>\n  </UAObject>\n  <UAMethod NodeId=\"ns=1;i=2905\" BrowseName=\"1:GetConfiguration\" ParentNodeId=\"ns=1;i=1002\">\n    <DisplayName>GetConfiguration</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=2906</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=1002</Reference>\n    </References>\n  </UAMethod>\n  <UAVariable NodeId=\"ns=1;i=2906\" BrowseName=\"OutputArguments\" ParentNodeId=\"ns=1;i=2905\" DataType=\"i=296\" ValueRank=\"1\">\n    <DisplayName>OutputArguments</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=2905</Reference>\n    </References>\n    <Value>\n      <ListOfExtensionObject xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=297</Identifier>\n          </TypeId>\n          <Body>\n            <Argument>\n              <Name>ConfigData</Name>\n              <DataType>\n                <Identifier>i=15</Identifier>\n              </DataType>\n              <ValueRank>-1</ValueRank>\n              <ArrayDimensions />\n              <Description p5:nil=\"true\" xmlns:p5=\"http://www.w3.org/2001/XMLSchema-instance\" />\n            </Argument>\n          </Body>\n        </ExtensionObject>\n      </ListOfExtensionObject>\n    </Value>\n  </UAVariable>\n  <UAMethod NodeId=\"ns=1;i=2907\" BrowseName=\"1:SetConfiguration\" ParentNodeId=\"ns=1;i=1002\">\n    <DisplayName>SetConfiguration</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=2908</Reference>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=2909</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=1002</Reference>\n    </References>\n  </UAMethod>\n  <UAVariable NodeId=\"ns=1;i=2908\" BrowseName=\"InputArguments\" ParentNodeId=\"ns=1;i=2907\" DataType=\"i=296\" ValueRank=\"1\">\n    <DisplayName>InputArguments</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=2907</Reference>\n    </References>\n    <Value>\n      <ListOfExtensionObject xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=297</Identifier>\n          </TypeId>\n          <Body>\n            <Argument>\n              <Name>ConfigData</Name>\n              <DataType>\n                <Identifier>i=15</Identifier>\n              </DataType>\n              <ValueRank>-1</ValueRank>\n              <ArrayDimensions />\n              <Description p5:nil=\"true\" xmlns:p5=\"http://www.w3.org/2001/XMLSchema-instance\" />\n            </Argument>\n          </Body>\n        </ExtensionObject>\n      </ListOfExtensionObject>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=2909\" BrowseName=\"OutputArguments\" ParentNodeId=\"ns=1;i=2907\" DataType=\"i=296\" ValueRank=\"1\">\n    <DisplayName>OutputArguments</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=2907</Reference>\n    </References>\n    <Value>\n      <ListOfExtensionObject xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=297</Identifier>\n          </TypeId>\n          <Body>\n            <Argument>\n              <Name>ConfigDataDigest</Name>\n              <DataType>\n                <Identifier>i=12</Identifier>\n              </DataType>\n              <ValueRank>-1</ValueRank>\n              <ArrayDimensions />\n              <Description p5:nil=\"true\" xmlns:p5=\"http://www.w3.org/2001/XMLSchema-instance\" />\n            </Argument>\n          </Body>\n        </ExtensionObject>\n      </ListOfExtensionObject>\n    </Value>\n  </UAVariable>\n  <UAMethod NodeId=\"ns=1;i=2910\" BrowseName=\"1:GetConfigDataDigest\" ParentNodeId=\"ns=1;i=1002\">\n    <DisplayName>GetConfigDataDigest</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=2911</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=1002</Reference>\n    </References>\n  </UAMethod>\n  <UAVariable NodeId=\"ns=1;i=2911\" BrowseName=\"OutputArguments\" ParentNodeId=\"ns=1;i=2910\" DataType=\"i=296\" ValueRank=\"1\">\n    <DisplayName>OutputArguments</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=2910</Reference>\n    </References>\n    <Value>\n      <ListOfExtensionObject xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=297</Identifier>\n          </TypeId>\n          <Body>\n            <Argument>\n              <Name>ConfigDataDigest</Name>\n              <DataType>\n                <Identifier>i=12</Identifier>\n              </DataType>\n              <ValueRank>-1</ValueRank>\n              <ArrayDimensions />\n              <Description p5:nil=\"true\" xmlns:p5=\"http://www.w3.org/2001/XMLSchema-instance\" />\n            </Argument>\n          </Body>\n        </ExtensionObject>\n      </ListOfExtensionObject>\n    </Value>\n  </UAVariable>\n  <UAMethod NodeId=\"ns=1;i=2912\" BrowseName=\"1:CompareConfigDataDigest\" ParentNodeId=\"ns=1;i=1002\">\n    <DisplayName>CompareConfigDataDigest</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=2913</Reference>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=2914</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=1002</Reference>\n    </References>\n  </UAMethod>\n  <UAVariable NodeId=\"ns=1;i=2913\" BrowseName=\"InputArguments\" ParentNodeId=\"ns=1;i=2912\" DataType=\"i=296\" ValueRank=\"1\">\n    <DisplayName>InputArguments</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=2912</Reference>\n    </References>\n    <Value>\n      <ListOfExtensionObject xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=297</Identifier>\n          </TypeId>\n          <Body>\n            <Argument>\n              <Name>ConfigDataDigest</Name>\n              <DataType>\n                <Identifier>i=12</Identifier>\n              </DataType>\n              <ValueRank>-1</ValueRank>\n              <ArrayDimensions />\n              <Description p5:nil=\"true\" xmlns:p5=\"http://www.w3.org/2001/XMLSchema-instance\" />\n            </Argument>\n          </Body>\n        </ExtensionObject>\n      </ListOfExtensionObject>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=2914\" BrowseName=\"OutputArguments\" ParentNodeId=\"ns=1;i=2912\" DataType=\"i=296\" ValueRank=\"1\">\n    <DisplayName>OutputArguments</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=2912</Reference>\n    </References>\n    <Value>\n      <ListOfExtensionObject xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=297</Identifier>\n          </TypeId>\n          <Body>\n            <Argument>\n              <Name>IsEqual</Name>\n              <DataType>\n                <Identifier>i=1</Identifier>\n              </DataType>\n              <ValueRank>-1</ValueRank>\n              <ArrayDimensions />\n              <Description p5:nil=\"true\" xmlns:p5=\"http://www.w3.org/2001/XMLSchema-instance\" />\n            </Argument>\n          </Body>\n        </ExtensionObject>\n      </ListOfExtensionObject>\n    </Value>\n  </UAVariable>\n  <UAMethod NodeId=\"ns=1;i=2915\" BrowseName=\"1:ResetAllChannels\" ParentNodeId=\"ns=1;i=1002\">\n    <DisplayName>ResetAllChannels</DisplayName>\n    <Description>Reset all AnalyserChannels belonging to this AnalyserDevice.</Description>\n    <References>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=1002</Reference>\n    </References>\n  </UAMethod>\n  <UAMethod NodeId=\"ns=1;i=2916\" BrowseName=\"1:StartAllChannels\" ParentNodeId=\"ns=1;i=1002\">\n    <DisplayName>StartAllChannels</DisplayName>\n    <Description>Start all AnalyserChannels belonging to this AnalyserDevice.</Description>\n    <References>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=1002</Reference>\n    </References>\n  </UAMethod>\n  <UAMethod NodeId=\"ns=1;i=2917\" BrowseName=\"1:StopAllChannels\" ParentNodeId=\"ns=1;i=1002\">\n    <DisplayName>StopAllChannels</DisplayName>\n    <Description>Stop all AnalyserChannels belonging to this AnalyserDevice.</Description>\n    <References>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=1002</Reference>\n    </References>\n  </UAMethod>\n  <UAMethod NodeId=\"ns=1;i=2918\" BrowseName=\"1:AbortAllChannels\" ParentNodeId=\"ns=1;i=1002\">\n    <DisplayName>AbortAllChannels</DisplayName>\n    <Description>Abort all AnalyserChannels belonging to this AnalyserDevice.</Description>\n    <References>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=1002</Reference>\n    </References>\n  </UAMethod>\n  <UAMethod NodeId=\"ns=1;i=2919\" BrowseName=\"1:GotoOperating\" ParentNodeId=\"ns=1;i=1002\">\n    <DisplayName>GotoOperating</DisplayName>\n    <Description>AnalyserDeviceStateMachine to go to Operating state, forcing all AnalyserChannels to leave the SlaveMode state and go to the Operating state.</Description>\n    <References>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=1002</Reference>\n    </References>\n  </UAMethod>\n  <UAMethod NodeId=\"ns=1;i=2920\" BrowseName=\"1:GotoMaintenance\" ParentNodeId=\"ns=1;i=1002\">\n    <DisplayName>GotoMaintenance</DisplayName>\n    <Description>AnalyserDeviceStateMachine to go to Maintenance state, forcing all AnalyserChannels to SlaveMode state.</Description>\n    <References>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=1002</Reference>\n    </References>\n  </UAMethod>\n  <UAObject NodeId=\"ns=1;i=2903\" BrowseName=\"2:Identification\" ParentNodeId=\"ns=1;i=1000\">\n    <DisplayName>Identification</DisplayName>\n    <Description>Used to organize parameters for identification of this TopologyElement</Description>\n    <References>\n      <Reference ReferenceType=\"Organizes\">ns=2;i=12270</Reference>\n      <Reference ReferenceType=\"Organizes\">ns=2;i=12271</Reference>\n      <Reference ReferenceType=\"Organizes\">ns=2;i=12268</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">ns=2;i=12257</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=1000</Reference>\n    </References>\n  </UAObject>\n  <UAObject NodeId=\"ns=1;i=1053\" BrowseName=\"1:Configuration\" ParentNodeId=\"ns=1;i=1000\">\n    <DisplayName>Configuration</DisplayName>\n    <References>\n      <Reference ReferenceType=\"Organizes\">ns=1;i=4286</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">ns=2;i=12257</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=1000</Reference>\n    </References>\n  </UAObject>\n  <UAObject NodeId=\"ns=1;i=1054\" BrowseName=\"1:Status\" ParentNodeId=\"ns=1;i=1000\">\n    <DisplayName>Status</DisplayName>\n    <References>\n      <Reference ReferenceType=\"Organizes\">ns=1;i=1010</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">ns=2;i=12257</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=1000</Reference>\n    </References>\n  </UAObject>\n  <UAObject NodeId=\"ns=1;i=1055\" BrowseName=\"1:FactorySettings\" ParentNodeId=\"ns=1;i=1000\">\n    <DisplayName>FactorySettings</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">ns=2;i=12257</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=1000</Reference>\n    </References>\n  </UAObject>\n  <UAObject NodeId=\"ns=1;i=1056\" BrowseName=\"1:AnalyserStateMachine\" ParentNodeId=\"ns=1;i=1000\">\n    <DisplayName>AnalyserStateMachine</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=1057</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">ns=1;i=1123</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=1000</Reference>\n    </References>\n  </UAObject>\n  <UAVariable NodeId=\"ns=1;i=1057\" BrowseName=\"CurrentState\" ParentNodeId=\"ns=1;i=1056\" DataType=\"LocalizedText\">\n    <DisplayName>CurrentState</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=1058</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=2760</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=1056</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=1058\" BrowseName=\"Id\" ParentNodeId=\"ns=1;i=1057\" DataType=\"NodeId\">\n    <DisplayName>Id</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=1057</Reference>\n    </References>\n  </UAVariable>\n  <UAObject NodeId=\"ns=1;i=4310\" BrowseName=\"1:&lt;ChannelIdentifier&gt;\" SymbolicName=\"ChannelIdentifier\" ParentNodeId=\"ns=1;i=1000\">\n    <DisplayName>&lt;ChannelIdentifier&gt;</DisplayName>\n    <Description>Channel definition</Description>\n    <References>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=4313</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=4356</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=4358</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=4360</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">ns=1;i=1166</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=11508</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=1000</Reference>\n    </References>\n  </UAObject>\n  <UAObject NodeId=\"ns=1;i=4313\" BrowseName=\"2:MethodSet\" ParentNodeId=\"ns=1;i=4310\">\n    <DisplayName>MethodSet</DisplayName>\n    <Description>Flat list of Methods</Description>\n    <References>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=4331</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=4332</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=4333</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=4335</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=4336</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=4337</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=4338</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=4339</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=4340</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=4341</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=4342</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=4343</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=58</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=4310</Reference>\n    </References>\n  </UAObject>\n  <UAMethod NodeId=\"ns=1;i=4331\" BrowseName=\"1:GotoOperating\" ParentNodeId=\"ns=1;i=4313\" MethodDeclarationId=\"ns=1;i=2924\">\n    <DisplayName>GotoOperating</DisplayName>\n    <Description>Transitions the AnalyserChannel to Operating mode.</Description>\n    <References>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=4313</Reference>\n    </References>\n  </UAMethod>\n  <UAMethod NodeId=\"ns=1;i=4332\" BrowseName=\"1:GotoMaintenance\" ParentNodeId=\"ns=1;i=4313\" MethodDeclarationId=\"ns=1;i=2925\">\n    <DisplayName>GotoMaintenance</DisplayName>\n    <Description>Transitions the AnalyserChannel to Maintenance mode.</Description>\n    <References>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=4313</Reference>\n    </References>\n  </UAMethod>\n  <UAMethod NodeId=\"ns=1;i=4333\" BrowseName=\"1:StartSingleAcquisition\" ParentNodeId=\"ns=1;i=4313\" MethodDeclarationId=\"ns=1;i=2922\">\n    <DisplayName>StartSingleAcquisition</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=4334</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=4313</Reference>\n    </References>\n  </UAMethod>\n  <UAVariable NodeId=\"ns=1;i=4334\" BrowseName=\"InputArguments\" ParentNodeId=\"ns=1;i=4333\" DataType=\"i=296\" ValueRank=\"1\">\n    <DisplayName>InputArguments</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=4333</Reference>\n    </References>\n    <Value>\n      <ListOfExtensionObject xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=297</Identifier>\n          </TypeId>\n          <Body>\n            <Argument>\n              <Name>ExecutionCycle</Name>\n              <DataType>\n                <Identifier>ns=1;i=4189</Identifier>\n              </DataType>\n              <ValueRank>-1</ValueRank>\n              <ArrayDimensions />\n              <Description p5:nil=\"true\" xmlns:p5=\"http://www.w3.org/2001/XMLSchema-instance\" />\n            </Argument>\n          </Body>\n        </ExtensionObject>\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=297</Identifier>\n          </TypeId>\n          <Body>\n            <Argument>\n              <Name>ExecutionCycleSubcode</Name>\n              <DataType>\n                <Identifier>i=7</Identifier>\n              </DataType>\n              <ValueRank>-1</ValueRank>\n              <ArrayDimensions />\n              <Description p5:nil=\"true\" xmlns:p5=\"http://www.w3.org/2001/XMLSchema-instance\" />\n            </Argument>\n          </Body>\n        </ExtensionObject>\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=297</Identifier>\n          </TypeId>\n          <Body>\n            <Argument>\n              <Name>SelectedStream</Name>\n              <DataType>\n                <Identifier>i=12</Identifier>\n              </DataType>\n              <ValueRank>-1</ValueRank>\n              <ArrayDimensions />\n              <Description p5:nil=\"true\" xmlns:p5=\"http://www.w3.org/2001/XMLSchema-instance\" />\n            </Argument>\n          </Body>\n        </ExtensionObject>\n      </ListOfExtensionObject>\n    </Value>\n  </UAVariable>\n  <UAMethod NodeId=\"ns=1;i=4335\" BrowseName=\"1:Reset\" ParentNodeId=\"ns=1;i=4313\" MethodDeclarationId=\"ns=1;i=2926\">\n    <DisplayName>Reset</DisplayName>\n    <Description>Causes transition to the Resetting state.</Description>\n    <References>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=4313</Reference>\n    </References>\n  </UAMethod>\n  <UAMethod NodeId=\"ns=1;i=4336\" BrowseName=\"1:Start\" ParentNodeId=\"ns=1;i=4313\" MethodDeclarationId=\"ns=1;i=2927\">\n    <DisplayName>Start</DisplayName>\n    <Description>Causes transition to the Starting state.</Description>\n    <References>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=4313</Reference>\n    </References>\n  </UAMethod>\n  <UAMethod NodeId=\"ns=1;i=4337\" BrowseName=\"1:Stop\" ParentNodeId=\"ns=1;i=4313\" MethodDeclarationId=\"ns=1;i=2928\">\n    <DisplayName>Stop</DisplayName>\n    <Description>Causes transition to the Stopping state.</Description>\n    <References>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=4313</Reference>\n    </References>\n  </UAMethod>\n  <UAMethod NodeId=\"ns=1;i=4338\" BrowseName=\"1:Hold\" ParentNodeId=\"ns=1;i=4313\" MethodDeclarationId=\"ns=1;i=2929\">\n    <DisplayName>Hold</DisplayName>\n    <Description>Causes transition to the Holding state.</Description>\n    <References>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=4313</Reference>\n    </References>\n  </UAMethod>\n  <UAMethod NodeId=\"ns=1;i=4339\" BrowseName=\"1:Unhold\" ParentNodeId=\"ns=1;i=4313\" MethodDeclarationId=\"ns=1;i=2930\">\n    <DisplayName>Unhold</DisplayName>\n    <Description>Causes transition to the Unholding state.</Description>\n    <References>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=4313</Reference>\n    </References>\n  </UAMethod>\n  <UAMethod NodeId=\"ns=1;i=4340\" BrowseName=\"1:Suspend\" ParentNodeId=\"ns=1;i=4313\" MethodDeclarationId=\"ns=1;i=2931\">\n    <DisplayName>Suspend</DisplayName>\n    <Description>Causes transition to the Suspending state.</Description>\n    <References>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=4313</Reference>\n    </References>\n  </UAMethod>\n  <UAMethod NodeId=\"ns=1;i=4341\" BrowseName=\"1:Unsuspend\" ParentNodeId=\"ns=1;i=4313\" MethodDeclarationId=\"ns=1;i=2932\">\n    <DisplayName>Unsuspend</DisplayName>\n    <Description>Causes transition to the Unsuspending state.</Description>\n    <References>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=4313</Reference>\n    </References>\n  </UAMethod>\n  <UAMethod NodeId=\"ns=1;i=4342\" BrowseName=\"1:Abort\" ParentNodeId=\"ns=1;i=4313\" MethodDeclarationId=\"ns=1;i=2933\">\n    <DisplayName>Abort</DisplayName>\n    <Description>Causes transition to the Aborting state.</Description>\n    <References>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=4313</Reference>\n    </References>\n  </UAMethod>\n  <UAMethod NodeId=\"ns=1;i=4343\" BrowseName=\"1:Clear\" ParentNodeId=\"ns=1;i=4313\" MethodDeclarationId=\"ns=1;i=2934\">\n    <DisplayName>Clear</DisplayName>\n    <Description>Causes transition to the Clearing state.</Description>\n    <References>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=4313</Reference>\n    </References>\n  </UAMethod>\n  <UAObject NodeId=\"ns=1;i=4356\" BrowseName=\"1:Configuration\" ParentNodeId=\"ns=1;i=4310\">\n    <DisplayName>Configuration</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">ns=2;i=12257</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=4310</Reference>\n    </References>\n  </UAObject>\n  <UAObject NodeId=\"ns=1;i=4358\" BrowseName=\"1:Status\" ParentNodeId=\"ns=1;i=4310\">\n    <DisplayName>Status</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">ns=2;i=12257</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=4310</Reference>\n    </References>\n  </UAObject>\n  <UAObject NodeId=\"ns=1;i=4360\" BrowseName=\"1:ChannelStateMachine\" ParentNodeId=\"ns=1;i=4310\" EventNotifier=\"1\">\n    <DisplayName>ChannelStateMachine</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=4361</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=4372</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">ns=1;i=1233</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=4310</Reference>\n    </References>\n  </UAObject>\n  <UAVariable NodeId=\"ns=1;i=4361\" BrowseName=\"CurrentState\" ParentNodeId=\"ns=1;i=4360\" DataType=\"LocalizedText\">\n    <DisplayName>CurrentState</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=4362</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=2760</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=4360</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=4362\" BrowseName=\"Id\" ParentNodeId=\"ns=1;i=4361\" DataType=\"NodeId\">\n    <DisplayName>Id</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=4361</Reference>\n    </References>\n  </UAVariable>\n  <UAObject NodeId=\"ns=1;i=4372\" BrowseName=\"1:OperatingSubStateMachine\" ParentNodeId=\"ns=1;i=4360\">\n    <DisplayName>OperatingSubStateMachine</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=4373</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=4384</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">ns=1;i=1275</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=4360</Reference>\n    </References>\n  </UAObject>\n  <UAVariable NodeId=\"ns=1;i=4373\" BrowseName=\"CurrentState\" ParentNodeId=\"ns=1;i=4372\" DataType=\"LocalizedText\">\n    <DisplayName>CurrentState</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=4374</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=2760</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=4372</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=4374\" BrowseName=\"Id\" ParentNodeId=\"ns=1;i=4373\" DataType=\"NodeId\">\n    <DisplayName>Id</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=4373</Reference>\n    </References>\n  </UAVariable>\n  <UAObject NodeId=\"ns=1;i=4384\" BrowseName=\"1:OperatingExecuteSubStateMachine\" ParentNodeId=\"ns=1;i=4372\">\n    <DisplayName>OperatingExecuteSubStateMachine</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=4385</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">ns=1;i=1651</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=4372</Reference>\n    </References>\n  </UAObject>\n  <UAVariable NodeId=\"ns=1;i=4385\" BrowseName=\"CurrentState\" ParentNodeId=\"ns=1;i=4384\" DataType=\"LocalizedText\">\n    <DisplayName>CurrentState</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=4386</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=2760</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=4384</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=4386\" BrowseName=\"Id\" ParentNodeId=\"ns=1;i=4385\" DataType=\"NodeId\">\n    <DisplayName>Id</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=4385</Reference>\n    </References>\n  </UAVariable>\n  <UAObject NodeId=\"ns=1;i=4420\" BrowseName=\"1:&lt;AccessorySlotIdentifier&gt;\" SymbolicName=\"AccessorySlotIdentifier\" ParentNodeId=\"ns=1;i=1000\">\n    <DisplayName>&lt;AccessorySlotIdentifier&gt;</DisplayName>\n    <Description>AccessorySlot definition</Description>\n    <References>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=4421</Reference>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=4422</Reference>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=4423</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=4424</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">ns=1;i=2642</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=11508</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=1000</Reference>\n    </References>\n  </UAObject>\n  <UAObject NodeId=\"ns=1;i=4421\" BrowseName=\"2:SupportedTypes\" ParentNodeId=\"ns=1;i=4420\">\n    <DisplayName>SupportedTypes</DisplayName>\n    <Description>Folder maintaining the set of (sub-types of) BaseObjectTypes that can be instantiated in the ConfigurableComponent</Description>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=61</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=4420</Reference>\n    </References>\n  </UAObject>\n  <UAVariable NodeId=\"ns=1;i=4422\" BrowseName=\"1:IsHotSwappable\" ParentNodeId=\"ns=1;i=4420\" DataType=\"Boolean\">\n    <DisplayName>IsHotSwappable</DisplayName>\n    <Description>True if an accessory can be inserted in the accessory slot while it is powered</Description>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=4420</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=4423\" BrowseName=\"1:IsEnabled\" ParentNodeId=\"ns=1;i=4420\" DataType=\"Boolean\">\n    <DisplayName>IsEnabled</DisplayName>\n    <Description>True if this accessory slot is capable of accepting an accessory in it</Description>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=4420</Reference>\n    </References>\n  </UAVariable>\n  <UAObject NodeId=\"ns=1;i=4424\" BrowseName=\"1:AccessorySlotStateMachine\" ParentNodeId=\"ns=1;i=4420\">\n    <DisplayName>AccessorySlotStateMachine</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=4425</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">ns=1;i=2692</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=4420</Reference>\n    </References>\n  </UAObject>\n  <UAVariable NodeId=\"ns=1;i=4425\" BrowseName=\"CurrentState\" ParentNodeId=\"ns=1;i=4424\" DataType=\"LocalizedText\">\n    <DisplayName>CurrentState</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=4426</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=2760</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=4424</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=4426\" BrowseName=\"Id\" ParentNodeId=\"ns=1;i=4425\" DataType=\"NodeId\">\n    <DisplayName>Id</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=4425</Reference>\n    </References>\n  </UAVariable>\n  <UAObjectType NodeId=\"ns=1;i=1123\" BrowseName=\"1:AnalyserDeviceStateMachineType\">\n    <DisplayName>AnalyserDeviceStateMachineType</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=1134</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=1136</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=1138</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=1140</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=1142</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=1144</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=1146</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=1148</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=1150</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=1152</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=1154</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=1156</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=1158</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=1160</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=1162</Reference>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=2771</Reference>\n    </References>\n  </UAObjectType>\n  <UAObject NodeId=\"ns=1;i=1134\" BrowseName=\"1:Powerup\" ParentNodeId=\"ns=1;i=1123\">\n    <DisplayName>Powerup</DisplayName>\n    <Description>The AnalyserDevice is in its power-up sequence and cannot perform any other task.</Description>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=1135</Reference>\n      <Reference ReferenceType=\"i=51\" IsForward=\"false\">ns=1;i=1144</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=2309</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=1123</Reference>\n    </References>\n  </UAObject>\n  <UAVariable NodeId=\"ns=1;i=1135\" BrowseName=\"StateNumber\" ParentNodeId=\"ns=1;i=1134\" DataType=\"UInt32\">\n    <DisplayName>StateNumber</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=1134</Reference>\n    </References>\n    <Value>\n      <UInt32 xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">0</UInt32>\n    </Value>\n  </UAVariable>\n  <UAObject NodeId=\"ns=1;i=1136\" BrowseName=\"1:Operating\" ParentNodeId=\"ns=1;i=1123\">\n    <DisplayName>Operating</DisplayName>\n    <Description>The AnalyserDevice is in the Operating mode.</Description>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=1137</Reference>\n      <Reference ReferenceType=\"i=52\" IsForward=\"false\">ns=1;i=1144</Reference>\n      <Reference ReferenceType=\"i=51\" IsForward=\"false\">ns=1;i=1146</Reference>\n      <Reference ReferenceType=\"i=51\" IsForward=\"false\">ns=1;i=1148</Reference>\n      <Reference ReferenceType=\"i=52\" IsForward=\"false\">ns=1;i=1150</Reference>\n      <Reference ReferenceType=\"i=52\" IsForward=\"false\">ns=1;i=1154</Reference>\n      <Reference ReferenceType=\"i=51\" IsForward=\"false\">ns=1;i=1158</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=2307</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=1123</Reference>\n    </References>\n  </UAObject>\n  <UAVariable NodeId=\"ns=1;i=1137\" BrowseName=\"StateNumber\" ParentNodeId=\"ns=1;i=1136\" DataType=\"UInt32\">\n    <DisplayName>StateNumber</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=1136</Reference>\n    </References>\n    <Value>\n      <UInt32 xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">0</UInt32>\n    </Value>\n  </UAVariable>\n  <UAObject NodeId=\"ns=1;i=1138\" BrowseName=\"1:Local\" ParentNodeId=\"ns=1;i=1123\">\n    <DisplayName>Local</DisplayName>\n    <Description>The AnalyserDevice is in the Local mode. This mode is normally used to perform local physical maintenance on the analyser.</Description>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=1139</Reference>\n      <Reference ReferenceType=\"i=52\" IsForward=\"false\">ns=1;i=1146</Reference>\n      <Reference ReferenceType=\"i=51\" IsForward=\"false\">ns=1;i=1150</Reference>\n      <Reference ReferenceType=\"i=51\" IsForward=\"false\">ns=1;i=1152</Reference>\n      <Reference ReferenceType=\"i=52\" IsForward=\"false\">ns=1;i=1156</Reference>\n      <Reference ReferenceType=\"i=51\" IsForward=\"false\">ns=1;i=1160</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=2307</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=1123</Reference>\n    </References>\n  </UAObject>\n  <UAVariable NodeId=\"ns=1;i=1139\" BrowseName=\"StateNumber\" ParentNodeId=\"ns=1;i=1138\" DataType=\"UInt32\">\n    <DisplayName>StateNumber</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=1138</Reference>\n    </References>\n    <Value>\n      <UInt32 xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">0</UInt32>\n    </Value>\n  </UAVariable>\n  <UAObject NodeId=\"ns=1;i=1140\" BrowseName=\"1:Maintenance\" ParentNodeId=\"ns=1;i=1123\">\n    <DisplayName>Maintenance</DisplayName>\n    <Description>The AnalyserDevice is in the Maintenance mode. This mode is used to perform remote maintenance on the analyser like firmware upgrade.</Description>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=1141</Reference>\n      <Reference ReferenceType=\"i=52\" IsForward=\"false\">ns=1;i=1148</Reference>\n      <Reference ReferenceType=\"i=52\" IsForward=\"false\">ns=1;i=1152</Reference>\n      <Reference ReferenceType=\"i=51\" IsForward=\"false\">ns=1;i=1154</Reference>\n      <Reference ReferenceType=\"i=51\" IsForward=\"false\">ns=1;i=1156</Reference>\n      <Reference ReferenceType=\"i=51\" IsForward=\"false\">ns=1;i=1162</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=2307</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=1123</Reference>\n    </References>\n  </UAObject>\n  <UAVariable NodeId=\"ns=1;i=1141\" BrowseName=\"StateNumber\" ParentNodeId=\"ns=1;i=1140\" DataType=\"UInt32\">\n    <DisplayName>StateNumber</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=1140</Reference>\n    </References>\n    <Value>\n      <UInt32 xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">0</UInt32>\n    </Value>\n  </UAVariable>\n  <UAObject NodeId=\"ns=1;i=1142\" BrowseName=\"1:Shutdown\" ParentNodeId=\"ns=1;i=1123\">\n    <DisplayName>Shutdown</DisplayName>\n    <Description>The AnalyserDevice is in its power-down sequence and cannot perform any other task.</Description>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=1143</Reference>\n      <Reference ReferenceType=\"i=52\" IsForward=\"false\">ns=1;i=1158</Reference>\n      <Reference ReferenceType=\"i=52\" IsForward=\"false\">ns=1;i=1160</Reference>\n      <Reference ReferenceType=\"i=52\" IsForward=\"false\">ns=1;i=1162</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=2307</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=1123</Reference>\n    </References>\n  </UAObject>\n  <UAVariable NodeId=\"ns=1;i=1143\" BrowseName=\"StateNumber\" ParentNodeId=\"ns=1;i=1142\" DataType=\"UInt32\">\n    <DisplayName>StateNumber</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=1142</Reference>\n    </References>\n    <Value>\n      <UInt32 xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">0</UInt32>\n    </Value>\n  </UAVariable>\n  <UAObject NodeId=\"ns=1;i=1144\" BrowseName=\"1:PowerupToOperatingTransition\" ParentNodeId=\"ns=1;i=1123\">\n    <DisplayName>PowerupToOperatingTransition</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=1145</Reference>\n      <Reference ReferenceType=\"i=51\">ns=1;i=1134</Reference>\n      <Reference ReferenceType=\"i=52\">ns=1;i=1136</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=2310</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=1123</Reference>\n    </References>\n  </UAObject>\n  <UAVariable NodeId=\"ns=1;i=1145\" BrowseName=\"TransitionNumber\" ParentNodeId=\"ns=1;i=1144\" DataType=\"UInt32\">\n    <DisplayName>TransitionNumber</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=1144</Reference>\n    </References>\n    <Value>\n      <UInt32 xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">0</UInt32>\n    </Value>\n  </UAVariable>\n  <UAObject NodeId=\"ns=1;i=1146\" BrowseName=\"1:OperatingToLocalTransition\" ParentNodeId=\"ns=1;i=1123\">\n    <DisplayName>OperatingToLocalTransition</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=1147</Reference>\n      <Reference ReferenceType=\"i=51\">ns=1;i=1136</Reference>\n      <Reference ReferenceType=\"i=52\">ns=1;i=1138</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=2310</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=1123</Reference>\n    </References>\n  </UAObject>\n  <UAVariable NodeId=\"ns=1;i=1147\" BrowseName=\"TransitionNumber\" ParentNodeId=\"ns=1;i=1146\" DataType=\"UInt32\">\n    <DisplayName>TransitionNumber</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=1146</Reference>\n    </References>\n    <Value>\n      <UInt32 xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">0</UInt32>\n    </Value>\n  </UAVariable>\n  <UAObject NodeId=\"ns=1;i=1148\" BrowseName=\"1:OperatingToMaintenanceTransition\" ParentNodeId=\"ns=1;i=1123\">\n    <DisplayName>OperatingToMaintenanceTransition</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=1149</Reference>\n      <Reference ReferenceType=\"i=51\">ns=1;i=1136</Reference>\n      <Reference ReferenceType=\"i=52\">ns=1;i=1140</Reference>\n      <Reference ReferenceType=\"i=53\">ns=1;i=2920</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=2310</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=1123</Reference>\n    </References>\n  </UAObject>\n  <UAVariable NodeId=\"ns=1;i=1149\" BrowseName=\"TransitionNumber\" ParentNodeId=\"ns=1;i=1148\" DataType=\"UInt32\">\n    <DisplayName>TransitionNumber</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=1148</Reference>\n    </References>\n    <Value>\n      <UInt32 xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">0</UInt32>\n    </Value>\n  </UAVariable>\n  <UAObject NodeId=\"ns=1;i=1150\" BrowseName=\"1:LocalToOperatingTransition\" ParentNodeId=\"ns=1;i=1123\">\n    <DisplayName>LocalToOperatingTransition</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=1151</Reference>\n      <Reference ReferenceType=\"i=51\">ns=1;i=1138</Reference>\n      <Reference ReferenceType=\"i=52\">ns=1;i=1136</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=2310</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=1123</Reference>\n    </References>\n  </UAObject>\n  <UAVariable NodeId=\"ns=1;i=1151\" BrowseName=\"TransitionNumber\" ParentNodeId=\"ns=1;i=1150\" DataType=\"UInt32\">\n    <DisplayName>TransitionNumber</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=1150</Reference>\n    </References>\n    <Value>\n      <UInt32 xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">0</UInt32>\n    </Value>\n  </UAVariable>\n  <UAObject NodeId=\"ns=1;i=1152\" BrowseName=\"1:LocalToMaintenanceTransition\" ParentNodeId=\"ns=1;i=1123\">\n    <DisplayName>LocalToMaintenanceTransition</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=1153</Reference>\n      <Reference ReferenceType=\"i=51\">ns=1;i=1138</Reference>\n      <Reference ReferenceType=\"i=52\">ns=1;i=1140</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=2310</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=1123</Reference>\n    </References>\n  </UAObject>\n  <UAVariable NodeId=\"ns=1;i=1153\" BrowseName=\"TransitionNumber\" ParentNodeId=\"ns=1;i=1152\" DataType=\"UInt32\">\n    <DisplayName>TransitionNumber</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=1152</Reference>\n    </References>\n    <Value>\n      <UInt32 xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">0</UInt32>\n    </Value>\n  </UAVariable>\n  <UAObject NodeId=\"ns=1;i=1154\" BrowseName=\"1:MaintenanceToOperatingTransition\" ParentNodeId=\"ns=1;i=1123\">\n    <DisplayName>MaintenanceToOperatingTransition</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=1155</Reference>\n      <Reference ReferenceType=\"i=51\">ns=1;i=1140</Reference>\n      <Reference ReferenceType=\"i=52\">ns=1;i=1136</Reference>\n      <Reference ReferenceType=\"i=53\">ns=1;i=2919</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=2310</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=1123</Reference>\n    </References>\n  </UAObject>\n  <UAVariable NodeId=\"ns=1;i=1155\" BrowseName=\"TransitionNumber\" ParentNodeId=\"ns=1;i=1154\" DataType=\"UInt32\">\n    <DisplayName>TransitionNumber</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=1154</Reference>\n    </References>\n    <Value>\n      <UInt32 xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">0</UInt32>\n    </Value>\n  </UAVariable>\n  <UAObject NodeId=\"ns=1;i=1156\" BrowseName=\"1:MaintenanceToLocalTransition\" ParentNodeId=\"ns=1;i=1123\">\n    <DisplayName>MaintenanceToLocalTransition</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=1157</Reference>\n      <Reference ReferenceType=\"i=51\">ns=1;i=1140</Reference>\n      <Reference ReferenceType=\"i=52\">ns=1;i=1138</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=2310</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=1123</Reference>\n    </References>\n  </UAObject>\n  <UAVariable NodeId=\"ns=1;i=1157\" BrowseName=\"TransitionNumber\" ParentNodeId=\"ns=1;i=1156\" DataType=\"UInt32\">\n    <DisplayName>TransitionNumber</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=1156</Reference>\n    </References>\n    <Value>\n      <UInt32 xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">0</UInt32>\n    </Value>\n  </UAVariable>\n  <UAObject NodeId=\"ns=1;i=1158\" BrowseName=\"1:OperatingToShutdownTransition\" ParentNodeId=\"ns=1;i=1123\">\n    <DisplayName>OperatingToShutdownTransition</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=1159</Reference>\n      <Reference ReferenceType=\"i=51\">ns=1;i=1136</Reference>\n      <Reference ReferenceType=\"i=52\">ns=1;i=1142</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=2310</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=1123</Reference>\n    </References>\n  </UAObject>\n  <UAVariable NodeId=\"ns=1;i=1159\" BrowseName=\"TransitionNumber\" ParentNodeId=\"ns=1;i=1158\" DataType=\"UInt32\">\n    <DisplayName>TransitionNumber</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=1158</Reference>\n    </References>\n    <Value>\n      <UInt32 xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">0</UInt32>\n    </Value>\n  </UAVariable>\n  <UAObject NodeId=\"ns=1;i=1160\" BrowseName=\"1:LocalToShutdownTransition\" ParentNodeId=\"ns=1;i=1123\">\n    <DisplayName>LocalToShutdownTransition</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=1161</Reference>\n      <Reference ReferenceType=\"i=51\">ns=1;i=1138</Reference>\n      <Reference ReferenceType=\"i=52\">ns=1;i=1142</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=2310</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=1123</Reference>\n    </References>\n  </UAObject>\n  <UAVariable NodeId=\"ns=1;i=1161\" BrowseName=\"TransitionNumber\" ParentNodeId=\"ns=1;i=1160\" DataType=\"UInt32\">\n    <DisplayName>TransitionNumber</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=1160</Reference>\n    </References>\n    <Value>\n      <UInt32 xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">0</UInt32>\n    </Value>\n  </UAVariable>\n  <UAObject NodeId=\"ns=1;i=1162\" BrowseName=\"1:MaintenanceToShutdownTransition\" ParentNodeId=\"ns=1;i=1123\">\n    <DisplayName>MaintenanceToShutdownTransition</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=1163</Reference>\n      <Reference ReferenceType=\"i=51\">ns=1;i=1140</Reference>\n      <Reference ReferenceType=\"i=52\">ns=1;i=1142</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=2310</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=1123</Reference>\n    </References>\n  </UAObject>\n  <UAVariable NodeId=\"ns=1;i=1163\" BrowseName=\"TransitionNumber\" ParentNodeId=\"ns=1;i=1162\" DataType=\"UInt32\">\n    <DisplayName>TransitionNumber</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=1162</Reference>\n    </References>\n    <Value>\n      <UInt32 xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">0</UInt32>\n    </Value>\n  </UAVariable>\n  <UAObjectType NodeId=\"ns=1;i=1166\" BrowseName=\"1:AnalyserChannelType\">\n    <DisplayName>AnalyserChannelType</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=1167</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=1168</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=4449</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=1178</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=1179</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=1180</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=4517</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=4643</Reference>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">ns=2;i=12253</Reference>\n    </References>\n  </UAObjectType>\n  <UAObject NodeId=\"ns=1;i=1167\" BrowseName=\"2:ParameterSet\" ParentNodeId=\"ns=1;i=1166\">\n    <DisplayName>ParameterSet</DisplayName>\n    <Description>Flat list of Parameters</Description>\n    <References>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=1169</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=2935</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=1172</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=1175</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=58</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=80</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=1166</Reference>\n    </References>\n  </UAObject>\n  <UAVariable NodeId=\"ns=1;i=1169\" BrowseName=\"1:ChannelId\" ParentNodeId=\"ns=1;i=1167\" DataType=\"String\">\n    <DisplayName>ChannelId</DisplayName>\n    <Description>Channel Id defined by user</Description>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=2365</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=80</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=1167</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=2935\" BrowseName=\"1:IsEnabled\" ParentNodeId=\"ns=1;i=1167\" DataType=\"Boolean\">\n    <DisplayName>IsEnabled</DisplayName>\n    <Description>True if the channel is enabled and accepting commands</Description>\n    <References>\n      <Reference ReferenceType=\"Organizes\" IsForward=\"false\">ns=1;i=1178</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=2365</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=1167</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=1172\" BrowseName=\"1:DiagnosticStatus\" ParentNodeId=\"ns=1;i=1167\" DataType=\"ns=2;i=12386\">\n    <DisplayName>DiagnosticStatus</DisplayName>\n    <Description>AnalyserChannel health status</Description>\n    <References>\n      <Reference ReferenceType=\"Organizes\" IsForward=\"false\">ns=1;i=1179</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=2365</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=1167</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=1175\" BrowseName=\"1:ActiveStream\" ParentNodeId=\"ns=1;i=1167\" DataType=\"String\">\n    <DisplayName>ActiveStream</DisplayName>\n    <Description>Active stream for this AnalyserChannel</Description>\n    <References>\n      <Reference ReferenceType=\"Organizes\" IsForward=\"false\">ns=1;i=1179</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=2365</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=1167</Reference>\n    </References>\n  </UAVariable>\n  <UAObject NodeId=\"ns=1;i=1168\" BrowseName=\"2:MethodSet\" ParentNodeId=\"ns=1;i=1166\">\n    <DisplayName>MethodSet</DisplayName>\n    <Description>Flat list of Methods</Description>\n    <References>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=2924</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=2925</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=2922</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=2926</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=2927</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=2928</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=2929</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=2930</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=2931</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=2932</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=2933</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=2934</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=58</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=1166</Reference>\n    </References>\n  </UAObject>\n  <UAMethod NodeId=\"ns=1;i=2924\" BrowseName=\"1:GotoOperating\" ParentNodeId=\"ns=1;i=1168\">\n    <DisplayName>GotoOperating</DisplayName>\n    <Description>Transitions the AnalyserChannel to Operating mode.</Description>\n    <References>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=1168</Reference>\n    </References>\n  </UAMethod>\n  <UAMethod NodeId=\"ns=1;i=2925\" BrowseName=\"1:GotoMaintenance\" ParentNodeId=\"ns=1;i=1168\">\n    <DisplayName>GotoMaintenance</DisplayName>\n    <Description>Transitions the AnalyserChannel to Maintenance mode.</Description>\n    <References>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=1168</Reference>\n    </References>\n  </UAMethod>\n  <UAMethod NodeId=\"ns=1;i=2922\" BrowseName=\"1:StartSingleAcquisition\" ParentNodeId=\"ns=1;i=1168\">\n    <DisplayName>StartSingleAcquisition</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=2923</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=1168</Reference>\n    </References>\n  </UAMethod>\n  <UAVariable NodeId=\"ns=1;i=2923\" BrowseName=\"InputArguments\" ParentNodeId=\"ns=1;i=2922\" DataType=\"i=296\" ValueRank=\"1\">\n    <DisplayName>InputArguments</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=2922</Reference>\n    </References>\n    <Value>\n      <ListOfExtensionObject xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=297</Identifier>\n          </TypeId>\n          <Body>\n            <Argument>\n              <Name>ExecutionCycle</Name>\n              <DataType>\n                <Identifier>ns=1;i=4189</Identifier>\n              </DataType>\n              <ValueRank>-1</ValueRank>\n              <ArrayDimensions />\n              <Description p5:nil=\"true\" xmlns:p5=\"http://www.w3.org/2001/XMLSchema-instance\" />\n            </Argument>\n          </Body>\n        </ExtensionObject>\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=297</Identifier>\n          </TypeId>\n          <Body>\n            <Argument>\n              <Name>ExecutionCycleSubcode</Name>\n              <DataType>\n                <Identifier>i=7</Identifier>\n              </DataType>\n              <ValueRank>-1</ValueRank>\n              <ArrayDimensions />\n              <Description p5:nil=\"true\" xmlns:p5=\"http://www.w3.org/2001/XMLSchema-instance\" />\n            </Argument>\n          </Body>\n        </ExtensionObject>\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=297</Identifier>\n          </TypeId>\n          <Body>\n            <Argument>\n              <Name>SelectedStream</Name>\n              <DataType>\n                <Identifier>i=12</Identifier>\n              </DataType>\n              <ValueRank>-1</ValueRank>\n              <ArrayDimensions />\n              <Description p5:nil=\"true\" xmlns:p5=\"http://www.w3.org/2001/XMLSchema-instance\" />\n            </Argument>\n          </Body>\n        </ExtensionObject>\n      </ListOfExtensionObject>\n    </Value>\n  </UAVariable>\n  <UAMethod NodeId=\"ns=1;i=2926\" BrowseName=\"1:Reset\" ParentNodeId=\"ns=1;i=1168\">\n    <DisplayName>Reset</DisplayName>\n    <Description>Causes transition to the Resetting state.</Description>\n    <References>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=1168</Reference>\n    </References>\n  </UAMethod>\n  <UAMethod NodeId=\"ns=1;i=2927\" BrowseName=\"1:Start\" ParentNodeId=\"ns=1;i=1168\">\n    <DisplayName>Start</DisplayName>\n    <Description>Causes transition to the Starting state.</Description>\n    <References>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=1168</Reference>\n    </References>\n  </UAMethod>\n  <UAMethod NodeId=\"ns=1;i=2928\" BrowseName=\"1:Stop\" ParentNodeId=\"ns=1;i=1168\">\n    <DisplayName>Stop</DisplayName>\n    <Description>Causes transition to the Stopping state.</Description>\n    <References>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=1168</Reference>\n    </References>\n  </UAMethod>\n  <UAMethod NodeId=\"ns=1;i=2929\" BrowseName=\"1:Hold\" ParentNodeId=\"ns=1;i=1168\">\n    <DisplayName>Hold</DisplayName>\n    <Description>Causes transition to the Holding state.</Description>\n    <References>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=1168</Reference>\n    </References>\n  </UAMethod>\n  <UAMethod NodeId=\"ns=1;i=2930\" BrowseName=\"1:Unhold\" ParentNodeId=\"ns=1;i=1168\">\n    <DisplayName>Unhold</DisplayName>\n    <Description>Causes transition to the Unholding state.</Description>\n    <References>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=1168</Reference>\n    </References>\n  </UAMethod>\n  <UAMethod NodeId=\"ns=1;i=2931\" BrowseName=\"1:Suspend\" ParentNodeId=\"ns=1;i=1168\">\n    <DisplayName>Suspend</DisplayName>\n    <Description>Causes transition to the Suspending state.</Description>\n    <References>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=1168</Reference>\n    </References>\n  </UAMethod>\n  <UAMethod NodeId=\"ns=1;i=2932\" BrowseName=\"1:Unsuspend\" ParentNodeId=\"ns=1;i=1168\">\n    <DisplayName>Unsuspend</DisplayName>\n    <Description>Causes transition to the Unsuspending state.</Description>\n    <References>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=1168</Reference>\n    </References>\n  </UAMethod>\n  <UAMethod NodeId=\"ns=1;i=2933\" BrowseName=\"1:Abort\" ParentNodeId=\"ns=1;i=1168\">\n    <DisplayName>Abort</DisplayName>\n    <Description>Causes transition to the Aborting state.</Description>\n    <References>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=1168</Reference>\n    </References>\n  </UAMethod>\n  <UAMethod NodeId=\"ns=1;i=2934\" BrowseName=\"1:Clear\" ParentNodeId=\"ns=1;i=1168\">\n    <DisplayName>Clear</DisplayName>\n    <Description>Causes transition to the Clearing state.</Description>\n    <References>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=1168</Reference>\n    </References>\n  </UAMethod>\n  <UAObject NodeId=\"ns=1;i=4449\" BrowseName=\"1:&lt;GroupIdentifier&gt;\" SymbolicName=\"GroupIdentifier\" ParentNodeId=\"ns=1;i=1166\">\n    <DisplayName>&lt;GroupIdentifier&gt;</DisplayName>\n    <Description>Group definition</Description>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">ns=2;i=12257</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=11508</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=1166</Reference>\n    </References>\n  </UAObject>\n  <UAObject NodeId=\"ns=1;i=1178\" BrowseName=\"1:Configuration\" ParentNodeId=\"ns=1;i=1166\">\n    <DisplayName>Configuration</DisplayName>\n    <References>\n      <Reference ReferenceType=\"Organizes\">ns=1;i=2935</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">ns=2;i=12257</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=1166</Reference>\n    </References>\n  </UAObject>\n  <UAObject NodeId=\"ns=1;i=1179\" BrowseName=\"1:Status\" ParentNodeId=\"ns=1;i=1166\">\n    <DisplayName>Status</DisplayName>\n    <References>\n      <Reference ReferenceType=\"Organizes\">ns=1;i=1172</Reference>\n      <Reference ReferenceType=\"Organizes\">ns=1;i=1175</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">ns=2;i=12257</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=1166</Reference>\n    </References>\n  </UAObject>\n  <UAObject NodeId=\"ns=1;i=1180\" BrowseName=\"1:ChannelStateMachine\" ParentNodeId=\"ns=1;i=1166\" EventNotifier=\"1\">\n    <DisplayName>ChannelStateMachine</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=1181</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=4469</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">ns=1;i=1233</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=1166</Reference>\n    </References>\n  </UAObject>\n  <UAVariable NodeId=\"ns=1;i=1181\" BrowseName=\"CurrentState\" ParentNodeId=\"ns=1;i=1180\" DataType=\"LocalizedText\">\n    <DisplayName>CurrentState</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=1182</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=2760</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=1180</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=1182\" BrowseName=\"Id\" ParentNodeId=\"ns=1;i=1181\" DataType=\"NodeId\">\n    <DisplayName>Id</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=1181</Reference>\n    </References>\n  </UAVariable>\n  <UAObject NodeId=\"ns=1;i=4469\" BrowseName=\"1:OperatingSubStateMachine\" ParentNodeId=\"ns=1;i=1180\">\n    <DisplayName>OperatingSubStateMachine</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=4470</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=4481</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">ns=1;i=1275</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=1180</Reference>\n    </References>\n  </UAObject>\n  <UAVariable NodeId=\"ns=1;i=4470\" BrowseName=\"CurrentState\" ParentNodeId=\"ns=1;i=4469\" DataType=\"LocalizedText\">\n    <DisplayName>CurrentState</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=4471</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=2760</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=4469</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=4471\" BrowseName=\"Id\" ParentNodeId=\"ns=1;i=4470\" DataType=\"NodeId\">\n    <DisplayName>Id</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=4470</Reference>\n    </References>\n  </UAVariable>\n  <UAObject NodeId=\"ns=1;i=4481\" BrowseName=\"1:OperatingExecuteSubStateMachine\" ParentNodeId=\"ns=1;i=4469\">\n    <DisplayName>OperatingExecuteSubStateMachine</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=4482</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">ns=1;i=1651</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=4469</Reference>\n    </References>\n  </UAObject>\n  <UAVariable NodeId=\"ns=1;i=4482\" BrowseName=\"CurrentState\" ParentNodeId=\"ns=1;i=4481\" DataType=\"LocalizedText\">\n    <DisplayName>CurrentState</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=4483</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=2760</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=4481</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=4483\" BrowseName=\"Id\" ParentNodeId=\"ns=1;i=4482\" DataType=\"NodeId\">\n    <DisplayName>Id</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=4482</Reference>\n    </References>\n  </UAVariable>\n  <UAObject NodeId=\"ns=1;i=4517\" BrowseName=\"1:&lt;StreamIdentifier&gt;\" SymbolicName=\"StreamIdentifier\" ParentNodeId=\"ns=1;i=1166\">\n    <DisplayName>&lt;StreamIdentifier&gt;</DisplayName>\n    <Description>Stream definition</Description>\n    <References>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=4629</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=4631</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=4633</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=4635</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=4637</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=4639</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=4641</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">ns=1;i=1866</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=11508</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=1166</Reference>\n    </References>\n  </UAObject>\n  <UAObject NodeId=\"ns=1;i=4629\" BrowseName=\"1:Configuration\" ParentNodeId=\"ns=1;i=4517\">\n    <DisplayName>Configuration</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">ns=2;i=12257</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=4517</Reference>\n    </References>\n  </UAObject>\n  <UAObject NodeId=\"ns=1;i=4631\" BrowseName=\"1:Status\" ParentNodeId=\"ns=1;i=4517\">\n    <DisplayName>Status</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">ns=2;i=12257</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=4517</Reference>\n    </References>\n  </UAObject>\n  <UAObject NodeId=\"ns=1;i=4633\" BrowseName=\"1:AcquisitionSettings\" ParentNodeId=\"ns=1;i=4517\">\n    <DisplayName>AcquisitionSettings</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">ns=2;i=12257</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=4517</Reference>\n    </References>\n  </UAObject>\n  <UAObject NodeId=\"ns=1;i=4635\" BrowseName=\"1:AcquisitionStatus\" ParentNodeId=\"ns=1;i=4517\">\n    <DisplayName>AcquisitionStatus</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">ns=2;i=12257</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=4517</Reference>\n    </References>\n  </UAObject>\n  <UAObject NodeId=\"ns=1;i=4637\" BrowseName=\"1:AcquisitionData\" ParentNodeId=\"ns=1;i=4517\">\n    <DisplayName>AcquisitionData</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">ns=2;i=12257</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=4517</Reference>\n    </References>\n  </UAObject>\n  <UAObject NodeId=\"ns=1;i=4639\" BrowseName=\"1:ChemometricModelSettings\" ParentNodeId=\"ns=1;i=4517\">\n    <DisplayName>ChemometricModelSettings</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">ns=2;i=12257</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=4517</Reference>\n    </References>\n  </UAObject>\n  <UAObject NodeId=\"ns=1;i=4641\" BrowseName=\"1:Context\" ParentNodeId=\"ns=1;i=4517\">\n    <DisplayName>Context</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">ns=2;i=12257</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=4517</Reference>\n    </References>\n  </UAObject>\n  <UAObject NodeId=\"ns=1;i=4643\" BrowseName=\"1:&lt;AccessorySlotIdentifier&gt;\" SymbolicName=\"AccessorySlotIdentifier\" ParentNodeId=\"ns=1;i=1166\">\n    <DisplayName>&lt;AccessorySlotIdentifier&gt;</DisplayName>\n    <Description>AccessorySlot definition</Description>\n    <References>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=4644</Reference>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=4645</Reference>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=4646</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=4647</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">ns=1;i=2642</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=11508</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=1166</Reference>\n    </References>\n  </UAObject>\n  <UAObject NodeId=\"ns=1;i=4644\" BrowseName=\"2:SupportedTypes\" ParentNodeId=\"ns=1;i=4643\">\n    <DisplayName>SupportedTypes</DisplayName>\n    <Description>Folder maintaining the set of (sub-types of) BaseObjectTypes that can be instantiated in the ConfigurableComponent</Description>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=61</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=4643</Reference>\n    </References>\n  </UAObject>\n  <UAVariable NodeId=\"ns=1;i=4645\" BrowseName=\"1:IsHotSwappable\" ParentNodeId=\"ns=1;i=4643\" DataType=\"Boolean\">\n    <DisplayName>IsHotSwappable</DisplayName>\n    <Description>True if an accessory can be inserted in the accessory slot while it is powered</Description>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=4643</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=4646\" BrowseName=\"1:IsEnabled\" ParentNodeId=\"ns=1;i=4643\" DataType=\"Boolean\">\n    <DisplayName>IsEnabled</DisplayName>\n    <Description>True if this accessory slot is capable of accepting an accessory in it</Description>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=4643</Reference>\n    </References>\n  </UAVariable>\n  <UAObject NodeId=\"ns=1;i=4647\" BrowseName=\"1:AccessorySlotStateMachine\" ParentNodeId=\"ns=1;i=4643\">\n    <DisplayName>AccessorySlotStateMachine</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=4648</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">ns=1;i=2692</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=4643</Reference>\n    </References>\n  </UAObject>\n  <UAVariable NodeId=\"ns=1;i=4648\" BrowseName=\"CurrentState\" ParentNodeId=\"ns=1;i=4647\" DataType=\"LocalizedText\">\n    <DisplayName>CurrentState</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=4649</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=2760</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=4647</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=4649\" BrowseName=\"Id\" ParentNodeId=\"ns=1;i=4648\" DataType=\"NodeId\">\n    <DisplayName>Id</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=4648</Reference>\n    </References>\n  </UAVariable>\n  <UAObjectType NodeId=\"ns=1;i=1226\" BrowseName=\"1:AnalyserChannelOperatingStateType\">\n    <DisplayName>AnalyserChannelOperatingStateType</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=2307</Reference>\n    </References>\n  </UAObjectType>\n  <UAObjectType NodeId=\"ns=1;i=1229\" BrowseName=\"1:AnalyserChannelLocalStateType\">\n    <DisplayName>AnalyserChannelLocalStateType</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=2307</Reference>\n    </References>\n  </UAObjectType>\n  <UAObjectType NodeId=\"ns=1;i=1231\" BrowseName=\"1:AnalyserChannelMaintenanceStateType\">\n    <DisplayName>AnalyserChannelMaintenanceStateType</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=2307</Reference>\n    </References>\n  </UAObjectType>\n  <UAObjectType NodeId=\"ns=1;i=1233\" BrowseName=\"1:AnalyserChannelStateMachineType\">\n    <DisplayName>AnalyserChannelStateMachineType</DisplayName>\n    <Description>Contains a nested state model that defines the top level states Operating, Local and Maintenance</Description>\n    <References>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=4662</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=4686</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=4698</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=1244</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=1246</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=1249</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=1251</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=1253</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=1255</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=1257</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=1259</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=1261</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=1263</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=1265</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=1267</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=1269</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=1271</Reference>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=2771</Reference>\n    </References>\n  </UAObjectType>\n  <UAObject NodeId=\"ns=1;i=4662\" BrowseName=\"1:OperatingSubStateMachine\" ParentNodeId=\"ns=1;i=1233\">\n    <DisplayName>OperatingSubStateMachine</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=4663</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=4674</Reference>\n      <Reference ReferenceType=\"i=117\" IsForward=\"false\">ns=1;i=1246</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">ns=1;i=1275</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=1233</Reference>\n    </References>\n  </UAObject>\n  <UAVariable NodeId=\"ns=1;i=4663\" BrowseName=\"CurrentState\" ParentNodeId=\"ns=1;i=4662\" DataType=\"LocalizedText\">\n    <DisplayName>CurrentState</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=4664</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=2760</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=4662</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=4664\" BrowseName=\"Id\" ParentNodeId=\"ns=1;i=4663\" DataType=\"NodeId\">\n    <DisplayName>Id</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=4663</Reference>\n    </References>\n  </UAVariable>\n  <UAObject NodeId=\"ns=1;i=4674\" BrowseName=\"1:OperatingExecuteSubStateMachine\" ParentNodeId=\"ns=1;i=4662\">\n    <DisplayName>OperatingExecuteSubStateMachine</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=4675</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">ns=1;i=1651</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=4662</Reference>\n    </References>\n  </UAObject>\n  <UAVariable NodeId=\"ns=1;i=4675\" BrowseName=\"CurrentState\" ParentNodeId=\"ns=1;i=4674\" DataType=\"LocalizedText\">\n    <DisplayName>CurrentState</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=4676</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=2760</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=4674</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=4676\" BrowseName=\"Id\" ParentNodeId=\"ns=1;i=4675\" DataType=\"NodeId\">\n    <DisplayName>Id</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=4675</Reference>\n    </References>\n  </UAVariable>\n  <UAObject NodeId=\"ns=1;i=4686\" BrowseName=\"1:LocalSubStateMachine\" ParentNodeId=\"ns=1;i=1233\">\n    <DisplayName>LocalSubStateMachine</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=4687</Reference>\n      <Reference ReferenceType=\"i=117\" IsForward=\"false\">ns=1;i=1249</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=2771</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=80</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=1233</Reference>\n    </References>\n  </UAObject>\n  <UAVariable NodeId=\"ns=1;i=4687\" BrowseName=\"CurrentState\" ParentNodeId=\"ns=1;i=4686\" DataType=\"LocalizedText\">\n    <DisplayName>CurrentState</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=4688</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=2760</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=4686</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=4688\" BrowseName=\"Id\" ParentNodeId=\"ns=1;i=4687\" DataType=\"NodeId\">\n    <DisplayName>Id</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=4687</Reference>\n    </References>\n  </UAVariable>\n  <UAObject NodeId=\"ns=1;i=4698\" BrowseName=\"1:MaintenanceSubStateMachine\" ParentNodeId=\"ns=1;i=1233\">\n    <DisplayName>MaintenanceSubStateMachine</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=4699</Reference>\n      <Reference ReferenceType=\"i=117\" IsForward=\"false\">ns=1;i=1251</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=2771</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=80</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=1233</Reference>\n    </References>\n  </UAObject>\n  <UAVariable NodeId=\"ns=1;i=4699\" BrowseName=\"CurrentState\" ParentNodeId=\"ns=1;i=4698\" DataType=\"LocalizedText\">\n    <DisplayName>CurrentState</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=4700</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=2760</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=4698</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=4700\" BrowseName=\"Id\" ParentNodeId=\"ns=1;i=4699\" DataType=\"NodeId\">\n    <DisplayName>Id</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=4699</Reference>\n    </References>\n  </UAVariable>\n  <UAObject NodeId=\"ns=1;i=1244\" BrowseName=\"1:SlaveMode\" ParentNodeId=\"ns=1;i=1233\">\n    <DisplayName>SlaveMode</DisplayName>\n    <Description>The AnalyserDevice is in Local or Maintenance mode and all AnalyserChannels are in SlaveMode</Description>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=1245</Reference>\n      <Reference ReferenceType=\"i=51\" IsForward=\"false\">ns=1;i=1253</Reference>\n      <Reference ReferenceType=\"i=52\" IsForward=\"false\">ns=1;i=1267</Reference>\n      <Reference ReferenceType=\"i=52\" IsForward=\"false\">ns=1;i=1269</Reference>\n      <Reference ReferenceType=\"i=52\" IsForward=\"false\">ns=1;i=1271</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=2309</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=1233</Reference>\n    </References>\n  </UAObject>\n  <UAVariable NodeId=\"ns=1;i=1245\" BrowseName=\"StateNumber\" ParentNodeId=\"ns=1;i=1244\" DataType=\"UInt32\">\n    <DisplayName>StateNumber</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=1244</Reference>\n    </References>\n    <Value>\n      <UInt32 xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">0</UInt32>\n    </Value>\n  </UAVariable>\n  <UAObject NodeId=\"ns=1;i=1246\" BrowseName=\"1:Operating\" ParentNodeId=\"ns=1;i=1233\" EventNotifier=\"1\">\n    <DisplayName>Operating</DisplayName>\n    <Description>The AnalyserChannel is in the Operating mode.</Description>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=1247</Reference>\n      <Reference ReferenceType=\"i=117\">ns=1;i=4662</Reference>\n      <Reference ReferenceType=\"i=52\" IsForward=\"false\">ns=1;i=1253</Reference>\n      <Reference ReferenceType=\"i=51\" IsForward=\"false\">ns=1;i=1255</Reference>\n      <Reference ReferenceType=\"i=51\" IsForward=\"false\">ns=1;i=1257</Reference>\n      <Reference ReferenceType=\"i=52\" IsForward=\"false\">ns=1;i=1259</Reference>\n      <Reference ReferenceType=\"i=52\" IsForward=\"false\">ns=1;i=1263</Reference>\n      <Reference ReferenceType=\"i=51\" IsForward=\"false\">ns=1;i=1267</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">ns=1;i=1226</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=1233</Reference>\n    </References>\n  </UAObject>\n  <UAVariable NodeId=\"ns=1;i=1247\" BrowseName=\"StateNumber\" ParentNodeId=\"ns=1;i=1246\" DataType=\"UInt32\">\n    <DisplayName>StateNumber</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=1246</Reference>\n    </References>\n    <Value>\n      <UInt32 xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">0</UInt32>\n    </Value>\n  </UAVariable>\n  <UAObject NodeId=\"ns=1;i=1249\" BrowseName=\"1:Local\" ParentNodeId=\"ns=1;i=1233\">\n    <DisplayName>Local</DisplayName>\n    <Description>The AnalyserChannel is in the Local mode. This mode is normally used to perform local physical maintenance on the analyser.</Description>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=1250</Reference>\n      <Reference ReferenceType=\"i=117\">ns=1;i=4686</Reference>\n      <Reference ReferenceType=\"i=52\" IsForward=\"false\">ns=1;i=1255</Reference>\n      <Reference ReferenceType=\"i=51\" IsForward=\"false\">ns=1;i=1259</Reference>\n      <Reference ReferenceType=\"i=51\" IsForward=\"false\">ns=1;i=1261</Reference>\n      <Reference ReferenceType=\"i=52\" IsForward=\"false\">ns=1;i=1265</Reference>\n      <Reference ReferenceType=\"i=51\" IsForward=\"false\">ns=1;i=1269</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">ns=1;i=1229</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=1233</Reference>\n    </References>\n  </UAObject>\n  <UAVariable NodeId=\"ns=1;i=1250\" BrowseName=\"StateNumber\" ParentNodeId=\"ns=1;i=1249\" DataType=\"UInt32\">\n    <DisplayName>StateNumber</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=1249</Reference>\n    </References>\n    <Value>\n      <UInt32 xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">0</UInt32>\n    </Value>\n  </UAVariable>\n  <UAObject NodeId=\"ns=1;i=1251\" BrowseName=\"1:Maintenance\" ParentNodeId=\"ns=1;i=1233\">\n    <DisplayName>Maintenance</DisplayName>\n    <Description>The AnalyserChannel is in the Maintenance mode. This mode is used to perform remote maintenance on the analyser like firmware upgrade.</Description>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=1252</Reference>\n      <Reference ReferenceType=\"i=117\">ns=1;i=4698</Reference>\n      <Reference ReferenceType=\"i=52\" IsForward=\"false\">ns=1;i=1257</Reference>\n      <Reference ReferenceType=\"i=52\" IsForward=\"false\">ns=1;i=1261</Reference>\n      <Reference ReferenceType=\"i=51\" IsForward=\"false\">ns=1;i=1263</Reference>\n      <Reference ReferenceType=\"i=51\" IsForward=\"false\">ns=1;i=1265</Reference>\n      <Reference ReferenceType=\"i=51\" IsForward=\"false\">ns=1;i=1271</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">ns=1;i=1231</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=1233</Reference>\n    </References>\n  </UAObject>\n  <UAVariable NodeId=\"ns=1;i=1252\" BrowseName=\"StateNumber\" ParentNodeId=\"ns=1;i=1251\" DataType=\"UInt32\">\n    <DisplayName>StateNumber</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=1251</Reference>\n    </References>\n    <Value>\n      <UInt32 xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">0</UInt32>\n    </Value>\n  </UAVariable>\n  <UAObject NodeId=\"ns=1;i=1253\" BrowseName=\"1:SlaveModeToOperatingTransition\" ParentNodeId=\"ns=1;i=1233\">\n    <DisplayName>SlaveModeToOperatingTransition</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=1254</Reference>\n      <Reference ReferenceType=\"i=51\">ns=1;i=1244</Reference>\n      <Reference ReferenceType=\"i=52\">ns=1;i=1246</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=2310</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=1233</Reference>\n    </References>\n  </UAObject>\n  <UAVariable NodeId=\"ns=1;i=1254\" BrowseName=\"TransitionNumber\" ParentNodeId=\"ns=1;i=1253\" DataType=\"UInt32\">\n    <DisplayName>TransitionNumber</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=1253</Reference>\n    </References>\n    <Value>\n      <UInt32 xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">0</UInt32>\n    </Value>\n  </UAVariable>\n  <UAObject NodeId=\"ns=1;i=1255\" BrowseName=\"1:OperatingToLocalTransition\" ParentNodeId=\"ns=1;i=1233\">\n    <DisplayName>OperatingToLocalTransition</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=1256</Reference>\n      <Reference ReferenceType=\"i=51\">ns=1;i=1246</Reference>\n      <Reference ReferenceType=\"i=52\">ns=1;i=1249</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=2310</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=1233</Reference>\n    </References>\n  </UAObject>\n  <UAVariable NodeId=\"ns=1;i=1256\" BrowseName=\"TransitionNumber\" ParentNodeId=\"ns=1;i=1255\" DataType=\"UInt32\">\n    <DisplayName>TransitionNumber</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=1255</Reference>\n    </References>\n    <Value>\n      <UInt32 xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">0</UInt32>\n    </Value>\n  </UAVariable>\n  <UAObject NodeId=\"ns=1;i=1257\" BrowseName=\"1:OperatingToMaintenanceTransition\" ParentNodeId=\"ns=1;i=1233\">\n    <DisplayName>OperatingToMaintenanceTransition</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=1258</Reference>\n      <Reference ReferenceType=\"i=51\">ns=1;i=1246</Reference>\n      <Reference ReferenceType=\"i=52\">ns=1;i=1251</Reference>\n      <Reference ReferenceType=\"i=53\">ns=1;i=2925</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=2310</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=1233</Reference>\n    </References>\n  </UAObject>\n  <UAVariable NodeId=\"ns=1;i=1258\" BrowseName=\"TransitionNumber\" ParentNodeId=\"ns=1;i=1257\" DataType=\"UInt32\">\n    <DisplayName>TransitionNumber</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=1257</Reference>\n    </References>\n    <Value>\n      <UInt32 xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">0</UInt32>\n    </Value>\n  </UAVariable>\n  <UAObject NodeId=\"ns=1;i=1259\" BrowseName=\"1:LocalToOperatingTransition\" ParentNodeId=\"ns=1;i=1233\">\n    <DisplayName>LocalToOperatingTransition</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=1260</Reference>\n      <Reference ReferenceType=\"i=51\">ns=1;i=1249</Reference>\n      <Reference ReferenceType=\"i=52\">ns=1;i=1246</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=2310</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=1233</Reference>\n    </References>\n  </UAObject>\n  <UAVariable NodeId=\"ns=1;i=1260\" BrowseName=\"TransitionNumber\" ParentNodeId=\"ns=1;i=1259\" DataType=\"UInt32\">\n    <DisplayName>TransitionNumber</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=1259</Reference>\n    </References>\n    <Value>\n      <UInt32 xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">0</UInt32>\n    </Value>\n  </UAVariable>\n  <UAObject NodeId=\"ns=1;i=1261\" BrowseName=\"1:LocalToMaintenanceTransition\" ParentNodeId=\"ns=1;i=1233\">\n    <DisplayName>LocalToMaintenanceTransition</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=1262</Reference>\n      <Reference ReferenceType=\"i=51\">ns=1;i=1249</Reference>\n      <Reference ReferenceType=\"i=52\">ns=1;i=1251</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=2310</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=1233</Reference>\n    </References>\n  </UAObject>\n  <UAVariable NodeId=\"ns=1;i=1262\" BrowseName=\"TransitionNumber\" ParentNodeId=\"ns=1;i=1261\" DataType=\"UInt32\">\n    <DisplayName>TransitionNumber</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=1261</Reference>\n    </References>\n    <Value>\n      <UInt32 xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">0</UInt32>\n    </Value>\n  </UAVariable>\n  <UAObject NodeId=\"ns=1;i=1263\" BrowseName=\"1:MaintenanceToOperatingTransition\" ParentNodeId=\"ns=1;i=1233\">\n    <DisplayName>MaintenanceToOperatingTransition</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=1264</Reference>\n      <Reference ReferenceType=\"i=51\">ns=1;i=1251</Reference>\n      <Reference ReferenceType=\"i=52\">ns=1;i=1246</Reference>\n      <Reference ReferenceType=\"i=53\">ns=1;i=2924</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=2310</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=1233</Reference>\n    </References>\n  </UAObject>\n  <UAVariable NodeId=\"ns=1;i=1264\" BrowseName=\"TransitionNumber\" ParentNodeId=\"ns=1;i=1263\" DataType=\"UInt32\">\n    <DisplayName>TransitionNumber</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=1263</Reference>\n    </References>\n    <Value>\n      <UInt32 xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">0</UInt32>\n    </Value>\n  </UAVariable>\n  <UAObject NodeId=\"ns=1;i=1265\" BrowseName=\"1:MaintenanceToLocalTransition\" ParentNodeId=\"ns=1;i=1233\">\n    <DisplayName>MaintenanceToLocalTransition</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=1266</Reference>\n      <Reference ReferenceType=\"i=51\">ns=1;i=1251</Reference>\n      <Reference ReferenceType=\"i=52\">ns=1;i=1249</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=2310</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=1233</Reference>\n    </References>\n  </UAObject>\n  <UAVariable NodeId=\"ns=1;i=1266\" BrowseName=\"TransitionNumber\" ParentNodeId=\"ns=1;i=1265\" DataType=\"UInt32\">\n    <DisplayName>TransitionNumber</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=1265</Reference>\n    </References>\n    <Value>\n      <UInt32 xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">0</UInt32>\n    </Value>\n  </UAVariable>\n  <UAObject NodeId=\"ns=1;i=1267\" BrowseName=\"1:OperatingToSlaveModeTransition\" ParentNodeId=\"ns=1;i=1233\">\n    <DisplayName>OperatingToSlaveModeTransition</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=1268</Reference>\n      <Reference ReferenceType=\"i=51\">ns=1;i=1246</Reference>\n      <Reference ReferenceType=\"i=52\">ns=1;i=1244</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=2310</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=1233</Reference>\n    </References>\n  </UAObject>\n  <UAVariable NodeId=\"ns=1;i=1268\" BrowseName=\"TransitionNumber\" ParentNodeId=\"ns=1;i=1267\" DataType=\"UInt32\">\n    <DisplayName>TransitionNumber</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=1267</Reference>\n    </References>\n    <Value>\n      <UInt32 xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">0</UInt32>\n    </Value>\n  </UAVariable>\n  <UAObject NodeId=\"ns=1;i=1269\" BrowseName=\"1:LocalToSlaveModeTransition\" ParentNodeId=\"ns=1;i=1233\">\n    <DisplayName>LocalToSlaveModeTransition</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=1270</Reference>\n      <Reference ReferenceType=\"i=51\">ns=1;i=1249</Reference>\n      <Reference ReferenceType=\"i=52\">ns=1;i=1244</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=2310</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=1233</Reference>\n    </References>\n  </UAObject>\n  <UAVariable NodeId=\"ns=1;i=1270\" BrowseName=\"TransitionNumber\" ParentNodeId=\"ns=1;i=1269\" DataType=\"UInt32\">\n    <DisplayName>TransitionNumber</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=1269</Reference>\n    </References>\n    <Value>\n      <UInt32 xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">0</UInt32>\n    </Value>\n  </UAVariable>\n  <UAObject NodeId=\"ns=1;i=1271\" BrowseName=\"1:MaintenanceToSlaveModeTransition\" ParentNodeId=\"ns=1;i=1233\">\n    <DisplayName>MaintenanceToSlaveModeTransition</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=1272</Reference>\n      <Reference ReferenceType=\"i=51\">ns=1;i=1251</Reference>\n      <Reference ReferenceType=\"i=52\">ns=1;i=1244</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=2310</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=1233</Reference>\n    </References>\n  </UAObject>\n  <UAVariable NodeId=\"ns=1;i=1272\" BrowseName=\"TransitionNumber\" ParentNodeId=\"ns=1;i=1271\" DataType=\"UInt32\">\n    <DisplayName>TransitionNumber</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=1271</Reference>\n    </References>\n    <Value>\n      <UInt32 xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">0</UInt32>\n    </Value>\n  </UAVariable>\n  <UAObjectType NodeId=\"ns=1;i=3775\" BrowseName=\"1:AnalyserChannelOperatingExecuteStateType\">\n    <DisplayName>AnalyserChannelOperatingExecuteStateType</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=2307</Reference>\n    </References>\n  </UAObjectType>\n  <UAObjectType NodeId=\"ns=1;i=1275\" BrowseName=\"1:AnalyserChannel_OperatingModeSubStateMachineType\">\n    <DisplayName>AnalyserChannel_OperatingModeSubStateMachineType</DisplayName>\n    <Description>AnalyserChannel OperatingMode SubStateMachine</Description>\n    <References>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=4711</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=1286</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=1288</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=1290</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=1292</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=1294</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=1510</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=1512</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=1514</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=1516</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=1518</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=1520</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=1522</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=1524</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=1526</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=1528</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=1530</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=1532</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=1534</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=1536</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=1538</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=1540</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=1542</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=1544</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=1546</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=1548</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=1550</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=1552</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=1554</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=1556</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=1558</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=1560</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=1562</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=1564</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=1566</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=1568</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=1570</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=1572</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=1574</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=1576</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=1578</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=1580</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=1582</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=1584</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=1586</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=1588</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=1590</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=1592</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=1594</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=1596</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=1598</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=1600</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=1602</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=1604</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=1606</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=1608</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=1610</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=1612</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=1614</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=1616</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=1618</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=1620</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=1622</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=1624</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=1626</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=1628</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=1630</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=1632</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=1634</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=1636</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=1638</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=1640</Reference>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=2771</Reference>\n    </References>\n  </UAObjectType>\n  <UAObject NodeId=\"ns=1;i=4711\" BrowseName=\"1:OperatingExecuteSubStateMachine\" ParentNodeId=\"ns=1;i=1275\">\n    <DisplayName>OperatingExecuteSubStateMachine</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=4712</Reference>\n      <Reference ReferenceType=\"i=117\" IsForward=\"false\">ns=1;i=1294</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">ns=1;i=1651</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=1275</Reference>\n    </References>\n  </UAObject>\n  <UAVariable NodeId=\"ns=1;i=4712\" BrowseName=\"CurrentState\" ParentNodeId=\"ns=1;i=4711\" DataType=\"LocalizedText\">\n    <DisplayName>CurrentState</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=4713</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=2760</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=4711</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=4713\" BrowseName=\"Id\" ParentNodeId=\"ns=1;i=4712\" DataType=\"NodeId\">\n    <DisplayName>Id</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=4712</Reference>\n    </References>\n  </UAVariable>\n  <UAObject NodeId=\"ns=1;i=1286\" BrowseName=\"1:Stopped\" ParentNodeId=\"ns=1;i=1275\">\n    <DisplayName>Stopped</DisplayName>\n    <Description>This is the initial state after AnalyserDeviceStateMachine state Powerup</Description>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=1287</Reference>\n      <Reference ReferenceType=\"i=51\" IsForward=\"false\">ns=1;i=1534</Reference>\n      <Reference ReferenceType=\"i=52\" IsForward=\"false\">ns=1;i=1552</Reference>\n      <Reference ReferenceType=\"i=52\" IsForward=\"false\">ns=1;i=1582</Reference>\n      <Reference ReferenceType=\"i=52\" IsForward=\"false\">ns=1;i=1588</Reference>\n      <Reference ReferenceType=\"i=51\" IsForward=\"false\">ns=1;i=1614</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=2309</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=1275</Reference>\n    </References>\n  </UAObject>\n  <UAVariable NodeId=\"ns=1;i=1287\" BrowseName=\"StateNumber\" ParentNodeId=\"ns=1;i=1286\" DataType=\"UInt32\">\n    <DisplayName>StateNumber</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=1286</Reference>\n    </References>\n    <Value>\n      <UInt32 xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">0</UInt32>\n    </Value>\n  </UAVariable>\n  <UAObject NodeId=\"ns=1;i=1288\" BrowseName=\"1:Resetting\" ParentNodeId=\"ns=1;i=1275\">\n    <DisplayName>Resetting</DisplayName>\n    <Description>This state is the result of a Reset or SetConfiguration Method call from the Stopped state.</Description>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=1289</Reference>\n      <Reference ReferenceType=\"i=52\" IsForward=\"false\">ns=1;i=1534</Reference>\n      <Reference ReferenceType=\"i=51\" IsForward=\"false\">ns=1;i=1536</Reference>\n      <Reference ReferenceType=\"i=52\" IsForward=\"false\">ns=1;i=1536</Reference>\n      <Reference ReferenceType=\"i=51\" IsForward=\"false\">ns=1;i=1538</Reference>\n      <Reference ReferenceType=\"i=51\" IsForward=\"false\">ns=1;i=1590</Reference>\n      <Reference ReferenceType=\"i=51\" IsForward=\"false\">ns=1;i=1616</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=2307</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=1275</Reference>\n    </References>\n  </UAObject>\n  <UAVariable NodeId=\"ns=1;i=1289\" BrowseName=\"StateNumber\" ParentNodeId=\"ns=1;i=1288\" DataType=\"UInt32\">\n    <DisplayName>StateNumber</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=1288</Reference>\n    </References>\n    <Value>\n      <UInt32 xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">0</UInt32>\n    </Value>\n  </UAVariable>\n  <UAObject NodeId=\"ns=1;i=1290\" BrowseName=\"1:Idle\" ParentNodeId=\"ns=1;i=1275\">\n    <DisplayName>Idle</DisplayName>\n    <Description>The Resetting state is completed, all parameters have been committed and ready to start acquisition</Description>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=1291</Reference>\n      <Reference ReferenceType=\"i=52\" IsForward=\"false\">ns=1;i=1538</Reference>\n      <Reference ReferenceType=\"i=51\" IsForward=\"false\">ns=1;i=1540</Reference>\n      <Reference ReferenceType=\"i=51\" IsForward=\"false\">ns=1;i=1592</Reference>\n      <Reference ReferenceType=\"i=51\" IsForward=\"false\">ns=1;i=1618</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=2307</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=1275</Reference>\n    </References>\n  </UAObject>\n  <UAVariable NodeId=\"ns=1;i=1291\" BrowseName=\"StateNumber\" ParentNodeId=\"ns=1;i=1290\" DataType=\"UInt32\">\n    <DisplayName>StateNumber</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=1290</Reference>\n    </References>\n    <Value>\n      <UInt32 xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">0</UInt32>\n    </Value>\n  </UAVariable>\n  <UAObject NodeId=\"ns=1;i=1292\" BrowseName=\"1:Starting\" ParentNodeId=\"ns=1;i=1275\">\n    <DisplayName>Starting</DisplayName>\n    <Description>The analyser has received the Start or SingleAcquisitionStart Method call and it is preparing to enter in Execute state.</Description>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=1293</Reference>\n      <Reference ReferenceType=\"i=52\" IsForward=\"false\">ns=1;i=1540</Reference>\n      <Reference ReferenceType=\"i=51\" IsForward=\"false\">ns=1;i=1542</Reference>\n      <Reference ReferenceType=\"i=52\" IsForward=\"false\">ns=1;i=1542</Reference>\n      <Reference ReferenceType=\"i=51\" IsForward=\"false\">ns=1;i=1544</Reference>\n      <Reference ReferenceType=\"i=51\" IsForward=\"false\">ns=1;i=1594</Reference>\n      <Reference ReferenceType=\"i=51\" IsForward=\"false\">ns=1;i=1620</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=2307</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=1275</Reference>\n    </References>\n  </UAObject>\n  <UAVariable NodeId=\"ns=1;i=1293\" BrowseName=\"StateNumber\" ParentNodeId=\"ns=1;i=1292\" DataType=\"UInt32\">\n    <DisplayName>StateNumber</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=1292</Reference>\n    </References>\n    <Value>\n      <UInt32 xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">0</UInt32>\n    </Value>\n  </UAVariable>\n  <UAObject NodeId=\"ns=1;i=1294\" BrowseName=\"1:Execute\" ParentNodeId=\"ns=1;i=1275\">\n    <DisplayName>Execute</DisplayName>\n    <Description>All repetitive acquisition cycles are done in this state:</Description>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=1509</Reference>\n      <Reference ReferenceType=\"i=117\">ns=1;i=4711</Reference>\n      <Reference ReferenceType=\"i=52\" IsForward=\"false\">ns=1;i=1544</Reference>\n      <Reference ReferenceType=\"i=51\" IsForward=\"false\">ns=1;i=1546</Reference>\n      <Reference ReferenceType=\"i=51\" IsForward=\"false\">ns=1;i=1554</Reference>\n      <Reference ReferenceType=\"i=52\" IsForward=\"false\">ns=1;i=1566</Reference>\n      <Reference ReferenceType=\"i=51\" IsForward=\"false\">ns=1;i=1568</Reference>\n      <Reference ReferenceType=\"i=52\" IsForward=\"false\">ns=1;i=1580</Reference>\n      <Reference ReferenceType=\"i=51\" IsForward=\"false\">ns=1;i=1596</Reference>\n      <Reference ReferenceType=\"i=51\" IsForward=\"false\">ns=1;i=1622</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">ns=1;i=3775</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=1275</Reference>\n    </References>\n  </UAObject>\n  <UAVariable NodeId=\"ns=1;i=1509\" BrowseName=\"StateNumber\" ParentNodeId=\"ns=1;i=1294\" DataType=\"UInt32\">\n    <DisplayName>StateNumber</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=1294</Reference>\n    </References>\n    <Value>\n      <UInt32 xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">0</UInt32>\n    </Value>\n  </UAVariable>\n  <UAObject NodeId=\"ns=1;i=1510\" BrowseName=\"1:Completing\" ParentNodeId=\"ns=1;i=1275\">\n    <DisplayName>Completing</DisplayName>\n    <Description>This state is an automatic or commanded exit from the Execute state.</Description>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=1511</Reference>\n      <Reference ReferenceType=\"i=52\" IsForward=\"false\">ns=1;i=1546</Reference>\n      <Reference ReferenceType=\"i=51\" IsForward=\"false\">ns=1;i=1548</Reference>\n      <Reference ReferenceType=\"i=52\" IsForward=\"false\">ns=1;i=1548</Reference>\n      <Reference ReferenceType=\"i=51\" IsForward=\"false\">ns=1;i=1550</Reference>\n      <Reference ReferenceType=\"i=51\" IsForward=\"false\">ns=1;i=1598</Reference>\n      <Reference ReferenceType=\"i=51\" IsForward=\"false\">ns=1;i=1624</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=2307</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=1275</Reference>\n    </References>\n  </UAObject>\n  <UAVariable NodeId=\"ns=1;i=1511\" BrowseName=\"StateNumber\" ParentNodeId=\"ns=1;i=1510\" DataType=\"UInt32\">\n    <DisplayName>StateNumber</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=1510</Reference>\n    </References>\n    <Value>\n      <UInt32 xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">0</UInt32>\n    </Value>\n  </UAVariable>\n  <UAObject NodeId=\"ns=1;i=1512\" BrowseName=\"1:Complete\" ParentNodeId=\"ns=1;i=1275\">\n    <DisplayName>Complete</DisplayName>\n    <Description>At this point, the Completing state is done and it transitions automatically to Stopped state to wait.</Description>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=1513</Reference>\n      <Reference ReferenceType=\"i=52\" IsForward=\"false\">ns=1;i=1550</Reference>\n      <Reference ReferenceType=\"i=51\" IsForward=\"false\">ns=1;i=1552</Reference>\n      <Reference ReferenceType=\"i=51\" IsForward=\"false\">ns=1;i=1600</Reference>\n      <Reference ReferenceType=\"i=51\" IsForward=\"false\">ns=1;i=1626</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=2307</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=1275</Reference>\n    </References>\n  </UAObject>\n  <UAVariable NodeId=\"ns=1;i=1513\" BrowseName=\"StateNumber\" ParentNodeId=\"ns=1;i=1512\" DataType=\"UInt32\">\n    <DisplayName>StateNumber</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=1512</Reference>\n    </References>\n    <Value>\n      <UInt32 xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">0</UInt32>\n    </Value>\n  </UAVariable>\n  <UAObject NodeId=\"ns=1;i=1514\" BrowseName=\"1:Suspending\" ParentNodeId=\"ns=1;i=1275\">\n    <DisplayName>Suspending</DisplayName>\n    <Description>This state is a result of a change in monitored conditions due to process conditions or factors.</Description>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=1515</Reference>\n      <Reference ReferenceType=\"i=52\" IsForward=\"false\">ns=1;i=1568</Reference>\n      <Reference ReferenceType=\"i=51\" IsForward=\"false\">ns=1;i=1570</Reference>\n      <Reference ReferenceType=\"i=52\" IsForward=\"false\">ns=1;i=1570</Reference>\n      <Reference ReferenceType=\"i=51\" IsForward=\"false\">ns=1;i=1572</Reference>\n      <Reference ReferenceType=\"i=52\" IsForward=\"false\">ns=1;i=1578</Reference>\n      <Reference ReferenceType=\"i=51\" IsForward=\"false\">ns=1;i=1602</Reference>\n      <Reference ReferenceType=\"i=51\" IsForward=\"false\">ns=1;i=1628</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=2307</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=1275</Reference>\n    </References>\n  </UAObject>\n  <UAVariable NodeId=\"ns=1;i=1515\" BrowseName=\"StateNumber\" ParentNodeId=\"ns=1;i=1514\" DataType=\"UInt32\">\n    <DisplayName>StateNumber</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=1514</Reference>\n    </References>\n    <Value>\n      <UInt32 xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">0</UInt32>\n    </Value>\n  </UAVariable>\n  <UAObject NodeId=\"ns=1;i=1516\" BrowseName=\"1:Suspended\" ParentNodeId=\"ns=1;i=1275\">\n    <DisplayName>Suspended</DisplayName>\n    <Description>The analyser or channel may be running but no results are being generated while the analyser or channel is waiting for external process conditions to return to normal.</Description>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=1517</Reference>\n      <Reference ReferenceType=\"i=52\" IsForward=\"false\">ns=1;i=1572</Reference>\n      <Reference ReferenceType=\"i=51\" IsForward=\"false\">ns=1;i=1574</Reference>\n      <Reference ReferenceType=\"i=51\" IsForward=\"false\">ns=1;i=1604</Reference>\n      <Reference ReferenceType=\"i=51\" IsForward=\"false\">ns=1;i=1630</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=2307</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=1275</Reference>\n    </References>\n  </UAObject>\n  <UAVariable NodeId=\"ns=1;i=1517\" BrowseName=\"StateNumber\" ParentNodeId=\"ns=1;i=1516\" DataType=\"UInt32\">\n    <DisplayName>StateNumber</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=1516</Reference>\n    </References>\n    <Value>\n      <UInt32 xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">0</UInt32>\n    </Value>\n  </UAVariable>\n  <UAObject NodeId=\"ns=1;i=1518\" BrowseName=\"1:Unsuspending\" ParentNodeId=\"ns=1;i=1275\">\n    <DisplayName>Unsuspending</DisplayName>\n    <Description>This state is a result of a device request from Suspended state to transition back to the Execute state by calling the Unsuspend Method.</Description>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=1519</Reference>\n      <Reference ReferenceType=\"i=52\" IsForward=\"false\">ns=1;i=1574</Reference>\n      <Reference ReferenceType=\"i=51\" IsForward=\"false\">ns=1;i=1576</Reference>\n      <Reference ReferenceType=\"i=52\" IsForward=\"false\">ns=1;i=1576</Reference>\n      <Reference ReferenceType=\"i=51\" IsForward=\"false\">ns=1;i=1578</Reference>\n      <Reference ReferenceType=\"i=51\" IsForward=\"false\">ns=1;i=1580</Reference>\n      <Reference ReferenceType=\"i=51\" IsForward=\"false\">ns=1;i=1606</Reference>\n      <Reference ReferenceType=\"i=51\" IsForward=\"false\">ns=1;i=1632</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=2307</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=1275</Reference>\n    </References>\n  </UAObject>\n  <UAVariable NodeId=\"ns=1;i=1519\" BrowseName=\"StateNumber\" ParentNodeId=\"ns=1;i=1518\" DataType=\"UInt32\">\n    <DisplayName>StateNumber</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=1518</Reference>\n    </References>\n    <Value>\n      <UInt32 xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">0</UInt32>\n    </Value>\n  </UAVariable>\n  <UAObject NodeId=\"ns=1;i=1520\" BrowseName=\"1:Holding\" ParentNodeId=\"ns=1;i=1275\">\n    <DisplayName>Holding</DisplayName>\n    <Description>Brings the analyser or channel to a controlled stop or to a state which represents Held for the particular unit control mode</Description>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=1521</Reference>\n      <Reference ReferenceType=\"i=52\" IsForward=\"false\">ns=1;i=1554</Reference>\n      <Reference ReferenceType=\"i=51\" IsForward=\"false\">ns=1;i=1556</Reference>\n      <Reference ReferenceType=\"i=52\" IsForward=\"false\">ns=1;i=1556</Reference>\n      <Reference ReferenceType=\"i=51\" IsForward=\"false\">ns=1;i=1558</Reference>\n      <Reference ReferenceType=\"i=52\" IsForward=\"false\">ns=1;i=1564</Reference>\n      <Reference ReferenceType=\"i=51\" IsForward=\"false\">ns=1;i=1608</Reference>\n      <Reference ReferenceType=\"i=51\" IsForward=\"false\">ns=1;i=1634</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=2307</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=1275</Reference>\n    </References>\n  </UAObject>\n  <UAVariable NodeId=\"ns=1;i=1521\" BrowseName=\"StateNumber\" ParentNodeId=\"ns=1;i=1520\" DataType=\"UInt32\">\n    <DisplayName>StateNumber</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=1520</Reference>\n    </References>\n    <Value>\n      <UInt32 xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">0</UInt32>\n    </Value>\n  </UAVariable>\n  <UAObject NodeId=\"ns=1;i=1522\" BrowseName=\"1:Held\" ParentNodeId=\"ns=1;i=1275\">\n    <DisplayName>Held</DisplayName>\n    <Description>The Held state holds the analyser or channel's operation. At this state, no acquisition cycle is performed.</Description>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=1523</Reference>\n      <Reference ReferenceType=\"i=52\" IsForward=\"false\">ns=1;i=1558</Reference>\n      <Reference ReferenceType=\"i=51\" IsForward=\"false\">ns=1;i=1560</Reference>\n      <Reference ReferenceType=\"i=51\" IsForward=\"false\">ns=1;i=1610</Reference>\n      <Reference ReferenceType=\"i=51\" IsForward=\"false\">ns=1;i=1636</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=2307</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=1275</Reference>\n    </References>\n  </UAObject>\n  <UAVariable NodeId=\"ns=1;i=1523\" BrowseName=\"StateNumber\" ParentNodeId=\"ns=1;i=1522\" DataType=\"UInt32\">\n    <DisplayName>StateNumber</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=1522</Reference>\n    </References>\n    <Value>\n      <UInt32 xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">0</UInt32>\n    </Value>\n  </UAVariable>\n  <UAObject NodeId=\"ns=1;i=1524\" BrowseName=\"1:Unholding\" ParentNodeId=\"ns=1;i=1275\">\n    <DisplayName>Unholding</DisplayName>\n    <Description>The Unholding state is a response to an operator command to resume the Execute state.</Description>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=1525</Reference>\n      <Reference ReferenceType=\"i=52\" IsForward=\"false\">ns=1;i=1560</Reference>\n      <Reference ReferenceType=\"i=51\" IsForward=\"false\">ns=1;i=1562</Reference>\n      <Reference ReferenceType=\"i=52\" IsForward=\"false\">ns=1;i=1562</Reference>\n      <Reference ReferenceType=\"i=51\" IsForward=\"false\">ns=1;i=1564</Reference>\n      <Reference ReferenceType=\"i=51\" IsForward=\"false\">ns=1;i=1566</Reference>\n      <Reference ReferenceType=\"i=51\" IsForward=\"false\">ns=1;i=1612</Reference>\n      <Reference ReferenceType=\"i=51\" IsForward=\"false\">ns=1;i=1638</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=2307</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=1275</Reference>\n    </References>\n  </UAObject>\n  <UAVariable NodeId=\"ns=1;i=1525\" BrowseName=\"StateNumber\" ParentNodeId=\"ns=1;i=1524\" DataType=\"UInt32\">\n    <DisplayName>StateNumber</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=1524</Reference>\n    </References>\n    <Value>\n      <UInt32 xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">0</UInt32>\n    </Value>\n  </UAVariable>\n  <UAObject NodeId=\"ns=1;i=1526\" BrowseName=\"1:Stopping\" ParentNodeId=\"ns=1;i=1275\">\n    <DisplayName>Stopping</DisplayName>\n    <Description>Initiated by a Stop Method call, this state:</Description>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=1527</Reference>\n      <Reference ReferenceType=\"i=51\" IsForward=\"false\">ns=1;i=1582</Reference>\n      <Reference ReferenceType=\"i=52\" IsForward=\"false\">ns=1;i=1590</Reference>\n      <Reference ReferenceType=\"i=52\" IsForward=\"false\">ns=1;i=1592</Reference>\n      <Reference ReferenceType=\"i=52\" IsForward=\"false\">ns=1;i=1594</Reference>\n      <Reference ReferenceType=\"i=52\" IsForward=\"false\">ns=1;i=1596</Reference>\n      <Reference ReferenceType=\"i=52\" IsForward=\"false\">ns=1;i=1598</Reference>\n      <Reference ReferenceType=\"i=52\" IsForward=\"false\">ns=1;i=1600</Reference>\n      <Reference ReferenceType=\"i=52\" IsForward=\"false\">ns=1;i=1602</Reference>\n      <Reference ReferenceType=\"i=52\" IsForward=\"false\">ns=1;i=1604</Reference>\n      <Reference ReferenceType=\"i=52\" IsForward=\"false\">ns=1;i=1606</Reference>\n      <Reference ReferenceType=\"i=52\" IsForward=\"false\">ns=1;i=1608</Reference>\n      <Reference ReferenceType=\"i=52\" IsForward=\"false\">ns=1;i=1610</Reference>\n      <Reference ReferenceType=\"i=52\" IsForward=\"false\">ns=1;i=1612</Reference>\n      <Reference ReferenceType=\"i=51\" IsForward=\"false\">ns=1;i=1640</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=2307</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=1275</Reference>\n    </References>\n  </UAObject>\n  <UAVariable NodeId=\"ns=1;i=1527\" BrowseName=\"StateNumber\" ParentNodeId=\"ns=1;i=1526\" DataType=\"UInt32\">\n    <DisplayName>StateNumber</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=1526</Reference>\n    </References>\n    <Value>\n      <UInt32 xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">0</UInt32>\n    </Value>\n  </UAVariable>\n  <UAObject NodeId=\"ns=1;i=1528\" BrowseName=\"1:Aborting\" ParentNodeId=\"ns=1;i=1275\">\n    <DisplayName>Aborting</DisplayName>\n    <Description>The Aborting state can be entered at any time in response to the Abort command or on the occurrence of a machine fault.</Description>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=1529</Reference>\n      <Reference ReferenceType=\"i=51\" IsForward=\"false\">ns=1;i=1584</Reference>\n      <Reference ReferenceType=\"i=52\" IsForward=\"false\">ns=1;i=1614</Reference>\n      <Reference ReferenceType=\"i=52\" IsForward=\"false\">ns=1;i=1616</Reference>\n      <Reference ReferenceType=\"i=52\" IsForward=\"false\">ns=1;i=1618</Reference>\n      <Reference ReferenceType=\"i=52\" IsForward=\"false\">ns=1;i=1620</Reference>\n      <Reference ReferenceType=\"i=52\" IsForward=\"false\">ns=1;i=1622</Reference>\n      <Reference ReferenceType=\"i=52\" IsForward=\"false\">ns=1;i=1624</Reference>\n      <Reference ReferenceType=\"i=52\" IsForward=\"false\">ns=1;i=1626</Reference>\n      <Reference ReferenceType=\"i=52\" IsForward=\"false\">ns=1;i=1628</Reference>\n      <Reference ReferenceType=\"i=52\" IsForward=\"false\">ns=1;i=1630</Reference>\n      <Reference ReferenceType=\"i=52\" IsForward=\"false\">ns=1;i=1632</Reference>\n      <Reference ReferenceType=\"i=52\" IsForward=\"false\">ns=1;i=1634</Reference>\n      <Reference ReferenceType=\"i=52\" IsForward=\"false\">ns=1;i=1636</Reference>\n      <Reference ReferenceType=\"i=52\" IsForward=\"false\">ns=1;i=1638</Reference>\n      <Reference ReferenceType=\"i=52\" IsForward=\"false\">ns=1;i=1640</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=2307</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=1275</Reference>\n    </References>\n  </UAObject>\n  <UAVariable NodeId=\"ns=1;i=1529\" BrowseName=\"StateNumber\" ParentNodeId=\"ns=1;i=1528\" DataType=\"UInt32\">\n    <DisplayName>StateNumber</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=1528</Reference>\n    </References>\n    <Value>\n      <UInt32 xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">0</UInt32>\n    </Value>\n  </UAVariable>\n  <UAObject NodeId=\"ns=1;i=1530\" BrowseName=\"1:Aborted\" ParentNodeId=\"ns=1;i=1275\">\n    <DisplayName>Aborted</DisplayName>\n    <Description>This state maintains machine status information relevant to the Abort condition.</Description>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=1531</Reference>\n      <Reference ReferenceType=\"i=52\" IsForward=\"false\">ns=1;i=1584</Reference>\n      <Reference ReferenceType=\"i=51\" IsForward=\"false\">ns=1;i=1586</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=2307</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=1275</Reference>\n    </References>\n  </UAObject>\n  <UAVariable NodeId=\"ns=1;i=1531\" BrowseName=\"StateNumber\" ParentNodeId=\"ns=1;i=1530\" DataType=\"UInt32\">\n    <DisplayName>StateNumber</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=1530</Reference>\n    </References>\n    <Value>\n      <UInt32 xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">0</UInt32>\n    </Value>\n  </UAVariable>\n  <UAObject NodeId=\"ns=1;i=1532\" BrowseName=\"1:Clearing\" ParentNodeId=\"ns=1;i=1275\">\n    <DisplayName>Clearing</DisplayName>\n    <Description>Clears faults that may have occurred when Aborting and are present in the Aborted state before proceeding to a Stopped state</Description>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=1533</Reference>\n      <Reference ReferenceType=\"i=52\" IsForward=\"false\">ns=1;i=1586</Reference>\n      <Reference ReferenceType=\"i=51\" IsForward=\"false\">ns=1;i=1588</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=2307</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=1275</Reference>\n    </References>\n  </UAObject>\n  <UAVariable NodeId=\"ns=1;i=1533\" BrowseName=\"StateNumber\" ParentNodeId=\"ns=1;i=1532\" DataType=\"UInt32\">\n    <DisplayName>StateNumber</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=1532</Reference>\n    </References>\n    <Value>\n      <UInt32 xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">0</UInt32>\n    </Value>\n  </UAVariable>\n  <UAObject NodeId=\"ns=1;i=1534\" BrowseName=\"1:StoppedToResettingTransition\" ParentNodeId=\"ns=1;i=1275\">\n    <DisplayName>StoppedToResettingTransition</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=1535</Reference>\n      <Reference ReferenceType=\"i=51\">ns=1;i=1286</Reference>\n      <Reference ReferenceType=\"i=52\">ns=1;i=1288</Reference>\n      <Reference ReferenceType=\"i=53\">ns=1;i=2926</Reference>\n      <Reference ReferenceType=\"i=53\">ns=1;i=2907</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=2310</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=1275</Reference>\n    </References>\n  </UAObject>\n  <UAVariable NodeId=\"ns=1;i=1535\" BrowseName=\"1:TransitionNumber\" ParentNodeId=\"ns=1;i=1534\" DataType=\"UInt32\">\n    <DisplayName>TransitionNumber</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=1534</Reference>\n    </References>\n    <Value>\n      <UInt32 xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">0</UInt32>\n    </Value>\n  </UAVariable>\n  <UAObject NodeId=\"ns=1;i=1536\" BrowseName=\"1:ResettingTransition\" ParentNodeId=\"ns=1;i=1275\">\n    <DisplayName>ResettingTransition</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=1537</Reference>\n      <Reference ReferenceType=\"i=51\">ns=1;i=1288</Reference>\n      <Reference ReferenceType=\"i=52\">ns=1;i=1288</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=2310</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=1275</Reference>\n    </References>\n  </UAObject>\n  <UAVariable NodeId=\"ns=1;i=1537\" BrowseName=\"1:TransitionNumber\" ParentNodeId=\"ns=1;i=1536\" DataType=\"UInt32\">\n    <DisplayName>TransitionNumber</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=1536</Reference>\n    </References>\n    <Value>\n      <UInt32 xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">0</UInt32>\n    </Value>\n  </UAVariable>\n  <UAObject NodeId=\"ns=1;i=1538\" BrowseName=\"1:ResettingToIdleTransition\" ParentNodeId=\"ns=1;i=1275\">\n    <DisplayName>ResettingToIdleTransition</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=1539</Reference>\n      <Reference ReferenceType=\"i=51\">ns=1;i=1288</Reference>\n      <Reference ReferenceType=\"i=52\">ns=1;i=1290</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=2310</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=1275</Reference>\n    </References>\n  </UAObject>\n  <UAVariable NodeId=\"ns=1;i=1539\" BrowseName=\"1:TransitionNumber\" ParentNodeId=\"ns=1;i=1538\" DataType=\"UInt32\">\n    <DisplayName>TransitionNumber</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=1538</Reference>\n    </References>\n    <Value>\n      <UInt32 xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">0</UInt32>\n    </Value>\n  </UAVariable>\n  <UAObject NodeId=\"ns=1;i=1540\" BrowseName=\"1:IdleToStartingTransition\" ParentNodeId=\"ns=1;i=1275\">\n    <DisplayName>IdleToStartingTransition</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=1541</Reference>\n      <Reference ReferenceType=\"i=51\">ns=1;i=1290</Reference>\n      <Reference ReferenceType=\"i=52\">ns=1;i=1292</Reference>\n      <Reference ReferenceType=\"i=53\">ns=1;i=2927</Reference>\n      <Reference ReferenceType=\"i=53\">ns=1;i=2922</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=2310</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=1275</Reference>\n    </References>\n  </UAObject>\n  <UAVariable NodeId=\"ns=1;i=1541\" BrowseName=\"1:TransitionNumber\" ParentNodeId=\"ns=1;i=1540\" DataType=\"UInt32\">\n    <DisplayName>TransitionNumber</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=1540</Reference>\n    </References>\n    <Value>\n      <UInt32 xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">0</UInt32>\n    </Value>\n  </UAVariable>\n  <UAObject NodeId=\"ns=1;i=1542\" BrowseName=\"1:StartingTransition\" ParentNodeId=\"ns=1;i=1275\">\n    <DisplayName>StartingTransition</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=1543</Reference>\n      <Reference ReferenceType=\"i=51\">ns=1;i=1292</Reference>\n      <Reference ReferenceType=\"i=52\">ns=1;i=1292</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=2310</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=1275</Reference>\n    </References>\n  </UAObject>\n  <UAVariable NodeId=\"ns=1;i=1543\" BrowseName=\"1:TransitionNumber\" ParentNodeId=\"ns=1;i=1542\" DataType=\"UInt32\">\n    <DisplayName>TransitionNumber</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=1542</Reference>\n    </References>\n    <Value>\n      <UInt32 xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">0</UInt32>\n    </Value>\n  </UAVariable>\n  <UAObject NodeId=\"ns=1;i=1544\" BrowseName=\"1:StartingToExecuteTransition\" ParentNodeId=\"ns=1;i=1275\">\n    <DisplayName>StartingToExecuteTransition</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=1545</Reference>\n      <Reference ReferenceType=\"i=51\">ns=1;i=1292</Reference>\n      <Reference ReferenceType=\"i=52\">ns=1;i=1294</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=2310</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=1275</Reference>\n    </References>\n  </UAObject>\n  <UAVariable NodeId=\"ns=1;i=1545\" BrowseName=\"1:TransitionNumber\" ParentNodeId=\"ns=1;i=1544\" DataType=\"UInt32\">\n    <DisplayName>TransitionNumber</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=1544</Reference>\n    </References>\n    <Value>\n      <UInt32 xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">0</UInt32>\n    </Value>\n  </UAVariable>\n  <UAObject NodeId=\"ns=1;i=1546\" BrowseName=\"1:ExecuteToCompletingTransition\" ParentNodeId=\"ns=1;i=1275\">\n    <DisplayName>ExecuteToCompletingTransition</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=1547</Reference>\n      <Reference ReferenceType=\"i=51\">ns=1;i=1294</Reference>\n      <Reference ReferenceType=\"i=52\">ns=1;i=1510</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=2310</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=1275</Reference>\n    </References>\n  </UAObject>\n  <UAVariable NodeId=\"ns=1;i=1547\" BrowseName=\"1:TransitionNumber\" ParentNodeId=\"ns=1;i=1546\" DataType=\"UInt32\">\n    <DisplayName>TransitionNumber</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=1546</Reference>\n    </References>\n    <Value>\n      <UInt32 xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">0</UInt32>\n    </Value>\n  </UAVariable>\n  <UAObject NodeId=\"ns=1;i=1548\" BrowseName=\"1:CompletingTransition\" ParentNodeId=\"ns=1;i=1275\">\n    <DisplayName>CompletingTransition</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=1549</Reference>\n      <Reference ReferenceType=\"i=51\">ns=1;i=1510</Reference>\n      <Reference ReferenceType=\"i=52\">ns=1;i=1510</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=2310</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=1275</Reference>\n    </References>\n  </UAObject>\n  <UAVariable NodeId=\"ns=1;i=1549\" BrowseName=\"1:TransitionNumber\" ParentNodeId=\"ns=1;i=1548\" DataType=\"UInt32\">\n    <DisplayName>TransitionNumber</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=1548</Reference>\n    </References>\n    <Value>\n      <UInt32 xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">0</UInt32>\n    </Value>\n  </UAVariable>\n  <UAObject NodeId=\"ns=1;i=1550\" BrowseName=\"1:CompletingToCompleteTransition\" ParentNodeId=\"ns=1;i=1275\">\n    <DisplayName>CompletingToCompleteTransition</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=1551</Reference>\n      <Reference ReferenceType=\"i=51\">ns=1;i=1510</Reference>\n      <Reference ReferenceType=\"i=52\">ns=1;i=1512</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=2310</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=1275</Reference>\n    </References>\n  </UAObject>\n  <UAVariable NodeId=\"ns=1;i=1551\" BrowseName=\"1:TransitionNumber\" ParentNodeId=\"ns=1;i=1550\" DataType=\"UInt32\">\n    <DisplayName>TransitionNumber</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=1550</Reference>\n    </References>\n    <Value>\n      <UInt32 xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">0</UInt32>\n    </Value>\n  </UAVariable>\n  <UAObject NodeId=\"ns=1;i=1552\" BrowseName=\"1:CompleteToStoppedTransition\" ParentNodeId=\"ns=1;i=1275\">\n    <DisplayName>CompleteToStoppedTransition</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=1553</Reference>\n      <Reference ReferenceType=\"i=51\">ns=1;i=1512</Reference>\n      <Reference ReferenceType=\"i=52\">ns=1;i=1286</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=2310</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=1275</Reference>\n    </References>\n  </UAObject>\n  <UAVariable NodeId=\"ns=1;i=1553\" BrowseName=\"1:TransitionNumber\" ParentNodeId=\"ns=1;i=1552\" DataType=\"UInt32\">\n    <DisplayName>TransitionNumber</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=1552</Reference>\n    </References>\n    <Value>\n      <UInt32 xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">0</UInt32>\n    </Value>\n  </UAVariable>\n  <UAObject NodeId=\"ns=1;i=1554\" BrowseName=\"1:ExecuteToHoldingTransition\" ParentNodeId=\"ns=1;i=1275\">\n    <DisplayName>ExecuteToHoldingTransition</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=1555</Reference>\n      <Reference ReferenceType=\"i=51\">ns=1;i=1294</Reference>\n      <Reference ReferenceType=\"i=52\">ns=1;i=1520</Reference>\n      <Reference ReferenceType=\"i=53\">ns=1;i=2929</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=2310</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=1275</Reference>\n    </References>\n  </UAObject>\n  <UAVariable NodeId=\"ns=1;i=1555\" BrowseName=\"1:TransitionNumber\" ParentNodeId=\"ns=1;i=1554\" DataType=\"UInt32\">\n    <DisplayName>TransitionNumber</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=1554</Reference>\n    </References>\n    <Value>\n      <UInt32 xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">0</UInt32>\n    </Value>\n  </UAVariable>\n  <UAObject NodeId=\"ns=1;i=1556\" BrowseName=\"1:HoldingTransition\" ParentNodeId=\"ns=1;i=1275\">\n    <DisplayName>HoldingTransition</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=1557</Reference>\n      <Reference ReferenceType=\"i=51\">ns=1;i=1520</Reference>\n      <Reference ReferenceType=\"i=52\">ns=1;i=1520</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=2310</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=1275</Reference>\n    </References>\n  </UAObject>\n  <UAVariable NodeId=\"ns=1;i=1557\" BrowseName=\"1:TransitionNumber\" ParentNodeId=\"ns=1;i=1556\" DataType=\"UInt32\">\n    <DisplayName>TransitionNumber</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=1556</Reference>\n    </References>\n    <Value>\n      <UInt32 xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">0</UInt32>\n    </Value>\n  </UAVariable>\n  <UAObject NodeId=\"ns=1;i=1558\" BrowseName=\"1:HoldingToHeldTransition\" ParentNodeId=\"ns=1;i=1275\">\n    <DisplayName>HoldingToHeldTransition</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=1559</Reference>\n      <Reference ReferenceType=\"i=51\">ns=1;i=1520</Reference>\n      <Reference ReferenceType=\"i=52\">ns=1;i=1522</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=2310</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=1275</Reference>\n    </References>\n  </UAObject>\n  <UAVariable NodeId=\"ns=1;i=1559\" BrowseName=\"1:TransitionNumber\" ParentNodeId=\"ns=1;i=1558\" DataType=\"UInt32\">\n    <DisplayName>TransitionNumber</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=1558</Reference>\n    </References>\n    <Value>\n      <UInt32 xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">0</UInt32>\n    </Value>\n  </UAVariable>\n  <UAObject NodeId=\"ns=1;i=1560\" BrowseName=\"1:HeldToUnholdingTransition\" ParentNodeId=\"ns=1;i=1275\">\n    <DisplayName>HeldToUnholdingTransition</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=1561</Reference>\n      <Reference ReferenceType=\"i=51\">ns=1;i=1522</Reference>\n      <Reference ReferenceType=\"i=52\">ns=1;i=1524</Reference>\n      <Reference ReferenceType=\"i=53\">ns=1;i=2930</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=2310</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=1275</Reference>\n    </References>\n  </UAObject>\n  <UAVariable NodeId=\"ns=1;i=1561\" BrowseName=\"1:TransitionNumber\" ParentNodeId=\"ns=1;i=1560\" DataType=\"UInt32\">\n    <DisplayName>TransitionNumber</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=1560</Reference>\n    </References>\n    <Value>\n      <UInt32 xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">0</UInt32>\n    </Value>\n  </UAVariable>\n  <UAObject NodeId=\"ns=1;i=1562\" BrowseName=\"1:UnholdingTransition\" ParentNodeId=\"ns=1;i=1275\">\n    <DisplayName>UnholdingTransition</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=1563</Reference>\n      <Reference ReferenceType=\"i=51\">ns=1;i=1524</Reference>\n      <Reference ReferenceType=\"i=52\">ns=1;i=1524</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=2310</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=1275</Reference>\n    </References>\n  </UAObject>\n  <UAVariable NodeId=\"ns=1;i=1563\" BrowseName=\"1:TransitionNumber\" ParentNodeId=\"ns=1;i=1562\" DataType=\"UInt32\">\n    <DisplayName>TransitionNumber</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=1562</Reference>\n    </References>\n    <Value>\n      <UInt32 xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">0</UInt32>\n    </Value>\n  </UAVariable>\n  <UAObject NodeId=\"ns=1;i=1564\" BrowseName=\"1:UnholdingToHoldingTransition\" ParentNodeId=\"ns=1;i=1275\">\n    <DisplayName>UnholdingToHoldingTransition</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=1565</Reference>\n      <Reference ReferenceType=\"i=51\">ns=1;i=1524</Reference>\n      <Reference ReferenceType=\"i=52\">ns=1;i=1520</Reference>\n      <Reference ReferenceType=\"i=53\">ns=1;i=2929</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=2310</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=1275</Reference>\n    </References>\n  </UAObject>\n  <UAVariable NodeId=\"ns=1;i=1565\" BrowseName=\"1:TransitionNumber\" ParentNodeId=\"ns=1;i=1564\" DataType=\"UInt32\">\n    <DisplayName>TransitionNumber</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=1564</Reference>\n    </References>\n    <Value>\n      <UInt32 xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">0</UInt32>\n    </Value>\n  </UAVariable>\n  <UAObject NodeId=\"ns=1;i=1566\" BrowseName=\"1:UnholdingToExecuteTransition\" ParentNodeId=\"ns=1;i=1275\">\n    <DisplayName>UnholdingToExecuteTransition</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=1567</Reference>\n      <Reference ReferenceType=\"i=51\">ns=1;i=1524</Reference>\n      <Reference ReferenceType=\"i=52\">ns=1;i=1294</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=2310</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=1275</Reference>\n    </References>\n  </UAObject>\n  <UAVariable NodeId=\"ns=1;i=1567\" BrowseName=\"1:TransitionNumber\" ParentNodeId=\"ns=1;i=1566\" DataType=\"UInt32\">\n    <DisplayName>TransitionNumber</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=1566</Reference>\n    </References>\n    <Value>\n      <UInt32 xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">0</UInt32>\n    </Value>\n  </UAVariable>\n  <UAObject NodeId=\"ns=1;i=1568\" BrowseName=\"1:ExecuteToSuspendingTransition\" ParentNodeId=\"ns=1;i=1275\">\n    <DisplayName>ExecuteToSuspendingTransition</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=1569</Reference>\n      <Reference ReferenceType=\"i=51\">ns=1;i=1294</Reference>\n      <Reference ReferenceType=\"i=52\">ns=1;i=1514</Reference>\n      <Reference ReferenceType=\"i=53\">ns=1;i=2931</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=2310</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=1275</Reference>\n    </References>\n  </UAObject>\n  <UAVariable NodeId=\"ns=1;i=1569\" BrowseName=\"1:TransitionNumber\" ParentNodeId=\"ns=1;i=1568\" DataType=\"UInt32\">\n    <DisplayName>TransitionNumber</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=1568</Reference>\n    </References>\n    <Value>\n      <UInt32 xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">0</UInt32>\n    </Value>\n  </UAVariable>\n  <UAObject NodeId=\"ns=1;i=1570\" BrowseName=\"1:SuspendingTransition\" ParentNodeId=\"ns=1;i=1275\">\n    <DisplayName>SuspendingTransition</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=1571</Reference>\n      <Reference ReferenceType=\"i=51\">ns=1;i=1514</Reference>\n      <Reference ReferenceType=\"i=52\">ns=1;i=1514</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=2310</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=1275</Reference>\n    </References>\n  </UAObject>\n  <UAVariable NodeId=\"ns=1;i=1571\" BrowseName=\"1:TransitionNumber\" ParentNodeId=\"ns=1;i=1570\" DataType=\"UInt32\">\n    <DisplayName>TransitionNumber</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=1570</Reference>\n    </References>\n    <Value>\n      <UInt32 xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">0</UInt32>\n    </Value>\n  </UAVariable>\n  <UAObject NodeId=\"ns=1;i=1572\" BrowseName=\"1:SuspendingToSuspendedTransition\" ParentNodeId=\"ns=1;i=1275\">\n    <DisplayName>SuspendingToSuspendedTransition</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=1573</Reference>\n      <Reference ReferenceType=\"i=51\">ns=1;i=1514</Reference>\n      <Reference ReferenceType=\"i=52\">ns=1;i=1516</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=2310</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=1275</Reference>\n    </References>\n  </UAObject>\n  <UAVariable NodeId=\"ns=1;i=1573\" BrowseName=\"1:TransitionNumber\" ParentNodeId=\"ns=1;i=1572\" DataType=\"UInt32\">\n    <DisplayName>TransitionNumber</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=1572</Reference>\n    </References>\n    <Value>\n      <UInt32 xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">0</UInt32>\n    </Value>\n  </UAVariable>\n  <UAObject NodeId=\"ns=1;i=1574\" BrowseName=\"1:SuspendedToUnsuspendingTransition\" ParentNodeId=\"ns=1;i=1275\">\n    <DisplayName>SuspendedToUnsuspendingTransition</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=1575</Reference>\n      <Reference ReferenceType=\"i=51\">ns=1;i=1516</Reference>\n      <Reference ReferenceType=\"i=52\">ns=1;i=1518</Reference>\n      <Reference ReferenceType=\"i=53\">ns=1;i=2932</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=2310</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=1275</Reference>\n    </References>\n  </UAObject>\n  <UAVariable NodeId=\"ns=1;i=1575\" BrowseName=\"1:TransitionNumber\" ParentNodeId=\"ns=1;i=1574\" DataType=\"UInt32\">\n    <DisplayName>TransitionNumber</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=1574</Reference>\n    </References>\n    <Value>\n      <UInt32 xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">0</UInt32>\n    </Value>\n  </UAVariable>\n  <UAObject NodeId=\"ns=1;i=1576\" BrowseName=\"1:UnsuspendingTransition\" ParentNodeId=\"ns=1;i=1275\">\n    <DisplayName>UnsuspendingTransition</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=1577</Reference>\n      <Reference ReferenceType=\"i=51\">ns=1;i=1518</Reference>\n      <Reference ReferenceType=\"i=52\">ns=1;i=1518</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=2310</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=1275</Reference>\n    </References>\n  </UAObject>\n  <UAVariable NodeId=\"ns=1;i=1577\" BrowseName=\"1:TransitionNumber\" ParentNodeId=\"ns=1;i=1576\" DataType=\"UInt32\">\n    <DisplayName>TransitionNumber</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=1576</Reference>\n    </References>\n    <Value>\n      <UInt32 xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">0</UInt32>\n    </Value>\n  </UAVariable>\n  <UAObject NodeId=\"ns=1;i=1578\" BrowseName=\"1:UnsuspendingToSuspendingTransition\" ParentNodeId=\"ns=1;i=1275\">\n    <DisplayName>UnsuspendingToSuspendingTransition</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=1579</Reference>\n      <Reference ReferenceType=\"i=51\">ns=1;i=1518</Reference>\n      <Reference ReferenceType=\"i=52\">ns=1;i=1514</Reference>\n      <Reference ReferenceType=\"i=53\">ns=1;i=2931</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=2310</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=1275</Reference>\n    </References>\n  </UAObject>\n  <UAVariable NodeId=\"ns=1;i=1579\" BrowseName=\"1:TransitionNumber\" ParentNodeId=\"ns=1;i=1578\" DataType=\"UInt32\">\n    <DisplayName>TransitionNumber</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=1578</Reference>\n    </References>\n    <Value>\n      <UInt32 xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">0</UInt32>\n    </Value>\n  </UAVariable>\n  <UAObject NodeId=\"ns=1;i=1580\" BrowseName=\"1:UnsuspendingToExecuteTransition\" ParentNodeId=\"ns=1;i=1275\">\n    <DisplayName>UnsuspendingToExecuteTransition</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=1581</Reference>\n      <Reference ReferenceType=\"i=51\">ns=1;i=1518</Reference>\n      <Reference ReferenceType=\"i=52\">ns=1;i=1294</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=2310</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=1275</Reference>\n    </References>\n  </UAObject>\n  <UAVariable NodeId=\"ns=1;i=1581\" BrowseName=\"1:TransitionNumber\" ParentNodeId=\"ns=1;i=1580\" DataType=\"UInt32\">\n    <DisplayName>TransitionNumber</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=1580</Reference>\n    </References>\n    <Value>\n      <UInt32 xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">0</UInt32>\n    </Value>\n  </UAVariable>\n  <UAObject NodeId=\"ns=1;i=1582\" BrowseName=\"1:StoppingToStoppedTransition\" ParentNodeId=\"ns=1;i=1275\">\n    <DisplayName>StoppingToStoppedTransition</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=1583</Reference>\n      <Reference ReferenceType=\"i=51\">ns=1;i=1526</Reference>\n      <Reference ReferenceType=\"i=52\">ns=1;i=1286</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=2310</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=1275</Reference>\n    </References>\n  </UAObject>\n  <UAVariable NodeId=\"ns=1;i=1583\" BrowseName=\"1:TransitionNumber\" ParentNodeId=\"ns=1;i=1582\" DataType=\"UInt32\">\n    <DisplayName>TransitionNumber</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=1582</Reference>\n    </References>\n    <Value>\n      <UInt32 xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">0</UInt32>\n    </Value>\n  </UAVariable>\n  <UAObject NodeId=\"ns=1;i=1584\" BrowseName=\"1:AbortingToAbortedTransition\" ParentNodeId=\"ns=1;i=1275\">\n    <DisplayName>AbortingToAbortedTransition</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=1585</Reference>\n      <Reference ReferenceType=\"i=51\">ns=1;i=1528</Reference>\n      <Reference ReferenceType=\"i=52\">ns=1;i=1530</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=2310</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=1275</Reference>\n    </References>\n  </UAObject>\n  <UAVariable NodeId=\"ns=1;i=1585\" BrowseName=\"1:TransitionNumber\" ParentNodeId=\"ns=1;i=1584\" DataType=\"UInt32\">\n    <DisplayName>TransitionNumber</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=1584</Reference>\n    </References>\n    <Value>\n      <UInt32 xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">0</UInt32>\n    </Value>\n  </UAVariable>\n  <UAObject NodeId=\"ns=1;i=1586\" BrowseName=\"1:AbortedToClearingTransition\" ParentNodeId=\"ns=1;i=1275\">\n    <DisplayName>AbortedToClearingTransition</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=1587</Reference>\n      <Reference ReferenceType=\"i=51\">ns=1;i=1530</Reference>\n      <Reference ReferenceType=\"i=52\">ns=1;i=1532</Reference>\n      <Reference ReferenceType=\"i=53\">ns=1;i=2934</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=2310</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=1275</Reference>\n    </References>\n  </UAObject>\n  <UAVariable NodeId=\"ns=1;i=1587\" BrowseName=\"1:TransitionNumber\" ParentNodeId=\"ns=1;i=1586\" DataType=\"UInt32\">\n    <DisplayName>TransitionNumber</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=1586</Reference>\n    </References>\n    <Value>\n      <UInt32 xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">0</UInt32>\n    </Value>\n  </UAVariable>\n  <UAObject NodeId=\"ns=1;i=1588\" BrowseName=\"1:ClearingToStoppedTransition\" ParentNodeId=\"ns=1;i=1275\">\n    <DisplayName>ClearingToStoppedTransition</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=1589</Reference>\n      <Reference ReferenceType=\"i=51\">ns=1;i=1532</Reference>\n      <Reference ReferenceType=\"i=52\">ns=1;i=1286</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=2310</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=1275</Reference>\n    </References>\n  </UAObject>\n  <UAVariable NodeId=\"ns=1;i=1589\" BrowseName=\"1:TransitionNumber\" ParentNodeId=\"ns=1;i=1588\" DataType=\"UInt32\">\n    <DisplayName>TransitionNumber</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=1588</Reference>\n    </References>\n    <Value>\n      <UInt32 xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">0</UInt32>\n    </Value>\n  </UAVariable>\n  <UAObject NodeId=\"ns=1;i=1590\" BrowseName=\"1:ResettingToStoppingTransition\" ParentNodeId=\"ns=1;i=1275\">\n    <DisplayName>ResettingToStoppingTransition</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=1591</Reference>\n      <Reference ReferenceType=\"i=51\">ns=1;i=1288</Reference>\n      <Reference ReferenceType=\"i=52\">ns=1;i=1526</Reference>\n      <Reference ReferenceType=\"i=53\">ns=1;i=2928</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=2310</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=1275</Reference>\n    </References>\n  </UAObject>\n  <UAVariable NodeId=\"ns=1;i=1591\" BrowseName=\"1:TransitionNumber\" ParentNodeId=\"ns=1;i=1590\" DataType=\"UInt32\">\n    <DisplayName>TransitionNumber</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=1590</Reference>\n    </References>\n    <Value>\n      <UInt32 xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">0</UInt32>\n    </Value>\n  </UAVariable>\n  <UAObject NodeId=\"ns=1;i=1592\" BrowseName=\"1:IdleToStoppingTransition\" ParentNodeId=\"ns=1;i=1275\">\n    <DisplayName>IdleToStoppingTransition</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=1593</Reference>\n      <Reference ReferenceType=\"i=51\">ns=1;i=1290</Reference>\n      <Reference ReferenceType=\"i=52\">ns=1;i=1526</Reference>\n      <Reference ReferenceType=\"i=53\">ns=1;i=2928</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=2310</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=1275</Reference>\n    </References>\n  </UAObject>\n  <UAVariable NodeId=\"ns=1;i=1593\" BrowseName=\"1:TransitionNumber\" ParentNodeId=\"ns=1;i=1592\" DataType=\"UInt32\">\n    <DisplayName>TransitionNumber</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=1592</Reference>\n    </References>\n    <Value>\n      <UInt32 xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">0</UInt32>\n    </Value>\n  </UAVariable>\n  <UAObject NodeId=\"ns=1;i=1594\" BrowseName=\"1:StartingToStoppingTransition\" ParentNodeId=\"ns=1;i=1275\">\n    <DisplayName>StartingToStoppingTransition</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=1595</Reference>\n      <Reference ReferenceType=\"i=51\">ns=1;i=1292</Reference>\n      <Reference ReferenceType=\"i=52\">ns=1;i=1526</Reference>\n      <Reference ReferenceType=\"i=53\">ns=1;i=2928</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=2310</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=1275</Reference>\n    </References>\n  </UAObject>\n  <UAVariable NodeId=\"ns=1;i=1595\" BrowseName=\"1:TransitionNumber\" ParentNodeId=\"ns=1;i=1594\" DataType=\"UInt32\">\n    <DisplayName>TransitionNumber</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=1594</Reference>\n    </References>\n    <Value>\n      <UInt32 xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">0</UInt32>\n    </Value>\n  </UAVariable>\n  <UAObject NodeId=\"ns=1;i=1596\" BrowseName=\"1:ExecuteToStoppingTransition\" ParentNodeId=\"ns=1;i=1275\">\n    <DisplayName>ExecuteToStoppingTransition</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=1597</Reference>\n      <Reference ReferenceType=\"i=51\">ns=1;i=1294</Reference>\n      <Reference ReferenceType=\"i=52\">ns=1;i=1526</Reference>\n      <Reference ReferenceType=\"i=53\">ns=1;i=2928</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=2310</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=1275</Reference>\n    </References>\n  </UAObject>\n  <UAVariable NodeId=\"ns=1;i=1597\" BrowseName=\"1:TransitionNumber\" ParentNodeId=\"ns=1;i=1596\" DataType=\"UInt32\">\n    <DisplayName>TransitionNumber</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=1596</Reference>\n    </References>\n    <Value>\n      <UInt32 xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">0</UInt32>\n    </Value>\n  </UAVariable>\n  <UAObject NodeId=\"ns=1;i=1598\" BrowseName=\"1:CompletingToStoppingTransition\" ParentNodeId=\"ns=1;i=1275\">\n    <DisplayName>CompletingToStoppingTransition</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=1599</Reference>\n      <Reference ReferenceType=\"i=51\">ns=1;i=1510</Reference>\n      <Reference ReferenceType=\"i=52\">ns=1;i=1526</Reference>\n      <Reference ReferenceType=\"i=53\">ns=1;i=2928</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=2310</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=1275</Reference>\n    </References>\n  </UAObject>\n  <UAVariable NodeId=\"ns=1;i=1599\" BrowseName=\"1:TransitionNumber\" ParentNodeId=\"ns=1;i=1598\" DataType=\"UInt32\">\n    <DisplayName>TransitionNumber</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=1598</Reference>\n    </References>\n    <Value>\n      <UInt32 xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">0</UInt32>\n    </Value>\n  </UAVariable>\n  <UAObject NodeId=\"ns=1;i=1600\" BrowseName=\"1:CompleteToStoppingTransition\" ParentNodeId=\"ns=1;i=1275\">\n    <DisplayName>CompleteToStoppingTransition</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=1601</Reference>\n      <Reference ReferenceType=\"i=51\">ns=1;i=1512</Reference>\n      <Reference ReferenceType=\"i=52\">ns=1;i=1526</Reference>\n      <Reference ReferenceType=\"i=53\">ns=1;i=2928</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=2310</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=1275</Reference>\n    </References>\n  </UAObject>\n  <UAVariable NodeId=\"ns=1;i=1601\" BrowseName=\"1:TransitionNumber\" ParentNodeId=\"ns=1;i=1600\" DataType=\"UInt32\">\n    <DisplayName>TransitionNumber</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=1600</Reference>\n    </References>\n    <Value>\n      <UInt32 xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">0</UInt32>\n    </Value>\n  </UAVariable>\n  <UAObject NodeId=\"ns=1;i=1602\" BrowseName=\"1:SuspendingToStoppingTransition\" ParentNodeId=\"ns=1;i=1275\">\n    <DisplayName>SuspendingToStoppingTransition</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=1603</Reference>\n      <Reference ReferenceType=\"i=51\">ns=1;i=1514</Reference>\n      <Reference ReferenceType=\"i=52\">ns=1;i=1526</Reference>\n      <Reference ReferenceType=\"i=53\">ns=1;i=2928</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=2310</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=1275</Reference>\n    </References>\n  </UAObject>\n  <UAVariable NodeId=\"ns=1;i=1603\" BrowseName=\"1:TransitionNumber\" ParentNodeId=\"ns=1;i=1602\" DataType=\"UInt32\">\n    <DisplayName>TransitionNumber</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=1602</Reference>\n    </References>\n    <Value>\n      <UInt32 xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">0</UInt32>\n    </Value>\n  </UAVariable>\n  <UAObject NodeId=\"ns=1;i=1604\" BrowseName=\"1:SuspendedToStoppingTransition\" ParentNodeId=\"ns=1;i=1275\">\n    <DisplayName>SuspendedToStoppingTransition</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=1605</Reference>\n      <Reference ReferenceType=\"i=51\">ns=1;i=1516</Reference>\n      <Reference ReferenceType=\"i=52\">ns=1;i=1526</Reference>\n      <Reference ReferenceType=\"i=53\">ns=1;i=2928</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=2310</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=1275</Reference>\n    </References>\n  </UAObject>\n  <UAVariable NodeId=\"ns=1;i=1605\" BrowseName=\"1:TransitionNumber\" ParentNodeId=\"ns=1;i=1604\" DataType=\"UInt32\">\n    <DisplayName>TransitionNumber</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=1604</Reference>\n    </References>\n    <Value>\n      <UInt32 xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">0</UInt32>\n    </Value>\n  </UAVariable>\n  <UAObject NodeId=\"ns=1;i=1606\" BrowseName=\"1:UnsuspendingToStoppingTransition\" ParentNodeId=\"ns=1;i=1275\">\n    <DisplayName>UnsuspendingToStoppingTransition</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=1607</Reference>\n      <Reference ReferenceType=\"i=51\">ns=1;i=1518</Reference>\n      <Reference ReferenceType=\"i=52\">ns=1;i=1526</Reference>\n      <Reference ReferenceType=\"i=53\">ns=1;i=2928</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=2310</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=1275</Reference>\n    </References>\n  </UAObject>\n  <UAVariable NodeId=\"ns=1;i=1607\" BrowseName=\"1:TransitionNumber\" ParentNodeId=\"ns=1;i=1606\" DataType=\"UInt32\">\n    <DisplayName>TransitionNumber</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=1606</Reference>\n    </References>\n    <Value>\n      <UInt32 xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">0</UInt32>\n    </Value>\n  </UAVariable>\n  <UAObject NodeId=\"ns=1;i=1608\" BrowseName=\"1:HoldingToStoppingTransition\" ParentNodeId=\"ns=1;i=1275\">\n    <DisplayName>HoldingToStoppingTransition</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=1609</Reference>\n      <Reference ReferenceType=\"i=51\">ns=1;i=1520</Reference>\n      <Reference ReferenceType=\"i=52\">ns=1;i=1526</Reference>\n      <Reference ReferenceType=\"i=53\">ns=1;i=2928</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=2310</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=1275</Reference>\n    </References>\n  </UAObject>\n  <UAVariable NodeId=\"ns=1;i=1609\" BrowseName=\"1:TransitionNumber\" ParentNodeId=\"ns=1;i=1608\" DataType=\"UInt32\">\n    <DisplayName>TransitionNumber</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=1608</Reference>\n    </References>\n    <Value>\n      <UInt32 xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">0</UInt32>\n    </Value>\n  </UAVariable>\n  <UAObject NodeId=\"ns=1;i=1610\" BrowseName=\"1:HeldToStoppingTransition\" ParentNodeId=\"ns=1;i=1275\">\n    <DisplayName>HeldToStoppingTransition</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=1611</Reference>\n      <Reference ReferenceType=\"i=51\">ns=1;i=1522</Reference>\n      <Reference ReferenceType=\"i=52\">ns=1;i=1526</Reference>\n      <Reference ReferenceType=\"i=53\">ns=1;i=2928</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=2310</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=1275</Reference>\n    </References>\n  </UAObject>\n  <UAVariable NodeId=\"ns=1;i=1611\" BrowseName=\"1:TransitionNumber\" ParentNodeId=\"ns=1;i=1610\" DataType=\"UInt32\">\n    <DisplayName>TransitionNumber</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=1610</Reference>\n    </References>\n    <Value>\n      <UInt32 xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">0</UInt32>\n    </Value>\n  </UAVariable>\n  <UAObject NodeId=\"ns=1;i=1612\" BrowseName=\"1:UnholdingToStoppingTransition\" ParentNodeId=\"ns=1;i=1275\">\n    <DisplayName>UnholdingToStoppingTransition</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=1613</Reference>\n      <Reference ReferenceType=\"i=51\">ns=1;i=1524</Reference>\n      <Reference ReferenceType=\"i=52\">ns=1;i=1526</Reference>\n      <Reference ReferenceType=\"i=53\">ns=1;i=2928</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=2310</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=1275</Reference>\n    </References>\n  </UAObject>\n  <UAVariable NodeId=\"ns=1;i=1613\" BrowseName=\"1:TransitionNumber\" ParentNodeId=\"ns=1;i=1612\" DataType=\"UInt32\">\n    <DisplayName>TransitionNumber</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=1612</Reference>\n    </References>\n    <Value>\n      <UInt32 xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">0</UInt32>\n    </Value>\n  </UAVariable>\n  <UAObject NodeId=\"ns=1;i=1614\" BrowseName=\"1:StoppedToAbortingTransition\" ParentNodeId=\"ns=1;i=1275\">\n    <DisplayName>StoppedToAbortingTransition</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=1615</Reference>\n      <Reference ReferenceType=\"i=51\">ns=1;i=1286</Reference>\n      <Reference ReferenceType=\"i=52\">ns=1;i=1528</Reference>\n      <Reference ReferenceType=\"i=53\">ns=1;i=2933</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=2310</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=1275</Reference>\n    </References>\n  </UAObject>\n  <UAVariable NodeId=\"ns=1;i=1615\" BrowseName=\"1:TransitionNumber\" ParentNodeId=\"ns=1;i=1614\" DataType=\"UInt32\">\n    <DisplayName>TransitionNumber</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=1614</Reference>\n    </References>\n    <Value>\n      <UInt32 xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">0</UInt32>\n    </Value>\n  </UAVariable>\n  <UAObject NodeId=\"ns=1;i=1616\" BrowseName=\"1:ResettingToAbortingTransition\" ParentNodeId=\"ns=1;i=1275\">\n    <DisplayName>ResettingToAbortingTransition</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=1617</Reference>\n      <Reference ReferenceType=\"i=51\">ns=1;i=1288</Reference>\n      <Reference ReferenceType=\"i=52\">ns=1;i=1528</Reference>\n      <Reference ReferenceType=\"i=53\">ns=1;i=2933</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=2310</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=1275</Reference>\n    </References>\n  </UAObject>\n  <UAVariable NodeId=\"ns=1;i=1617\" BrowseName=\"1:TransitionNumber\" ParentNodeId=\"ns=1;i=1616\" DataType=\"UInt32\">\n    <DisplayName>TransitionNumber</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=1616</Reference>\n    </References>\n    <Value>\n      <UInt32 xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">0</UInt32>\n    </Value>\n  </UAVariable>\n  <UAObject NodeId=\"ns=1;i=1618\" BrowseName=\"1:IdleToAbortingTransition\" ParentNodeId=\"ns=1;i=1275\">\n    <DisplayName>IdleToAbortingTransition</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=1619</Reference>\n      <Reference ReferenceType=\"i=51\">ns=1;i=1290</Reference>\n      <Reference ReferenceType=\"i=52\">ns=1;i=1528</Reference>\n      <Reference ReferenceType=\"i=53\">ns=1;i=2933</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=2310</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=1275</Reference>\n    </References>\n  </UAObject>\n  <UAVariable NodeId=\"ns=1;i=1619\" BrowseName=\"1:TransitionNumber\" ParentNodeId=\"ns=1;i=1618\" DataType=\"UInt32\">\n    <DisplayName>TransitionNumber</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=1618</Reference>\n    </References>\n    <Value>\n      <UInt32 xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">0</UInt32>\n    </Value>\n  </UAVariable>\n  <UAObject NodeId=\"ns=1;i=1620\" BrowseName=\"1:StartingToAbortingTransition\" ParentNodeId=\"ns=1;i=1275\">\n    <DisplayName>StartingToAbortingTransition</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=1621</Reference>\n      <Reference ReferenceType=\"i=51\">ns=1;i=1292</Reference>\n      <Reference ReferenceType=\"i=52\">ns=1;i=1528</Reference>\n      <Reference ReferenceType=\"i=53\">ns=1;i=2933</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=2310</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=1275</Reference>\n    </References>\n  </UAObject>\n  <UAVariable NodeId=\"ns=1;i=1621\" BrowseName=\"1:TransitionNumber\" ParentNodeId=\"ns=1;i=1620\" DataType=\"UInt32\">\n    <DisplayName>TransitionNumber</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=1620</Reference>\n    </References>\n    <Value>\n      <UInt32 xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">0</UInt32>\n    </Value>\n  </UAVariable>\n  <UAObject NodeId=\"ns=1;i=1622\" BrowseName=\"1:ExecuteToAbortingTransition\" ParentNodeId=\"ns=1;i=1275\">\n    <DisplayName>ExecuteToAbortingTransition</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=1623</Reference>\n      <Reference ReferenceType=\"i=51\">ns=1;i=1294</Reference>\n      <Reference ReferenceType=\"i=52\">ns=1;i=1528</Reference>\n      <Reference ReferenceType=\"i=53\">ns=1;i=2933</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=2310</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=1275</Reference>\n    </References>\n  </UAObject>\n  <UAVariable NodeId=\"ns=1;i=1623\" BrowseName=\"1:TransitionNumber\" ParentNodeId=\"ns=1;i=1622\" DataType=\"UInt32\">\n    <DisplayName>TransitionNumber</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=1622</Reference>\n    </References>\n    <Value>\n      <UInt32 xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">0</UInt32>\n    </Value>\n  </UAVariable>\n  <UAObject NodeId=\"ns=1;i=1624\" BrowseName=\"1:CompletingToAbortingTransition\" ParentNodeId=\"ns=1;i=1275\">\n    <DisplayName>CompletingToAbortingTransition</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=1625</Reference>\n      <Reference ReferenceType=\"i=51\">ns=1;i=1510</Reference>\n      <Reference ReferenceType=\"i=52\">ns=1;i=1528</Reference>\n      <Reference ReferenceType=\"i=53\">ns=1;i=2933</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=2310</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=1275</Reference>\n    </References>\n  </UAObject>\n  <UAVariable NodeId=\"ns=1;i=1625\" BrowseName=\"1:TransitionNumber\" ParentNodeId=\"ns=1;i=1624\" DataType=\"UInt32\">\n    <DisplayName>TransitionNumber</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=1624</Reference>\n    </References>\n    <Value>\n      <UInt32 xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">0</UInt32>\n    </Value>\n  </UAVariable>\n  <UAObject NodeId=\"ns=1;i=1626\" BrowseName=\"1:CompleteToAbortingTransition\" ParentNodeId=\"ns=1;i=1275\">\n    <DisplayName>CompleteToAbortingTransition</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=1627</Reference>\n      <Reference ReferenceType=\"i=51\">ns=1;i=1512</Reference>\n      <Reference ReferenceType=\"i=52\">ns=1;i=1528</Reference>\n      <Reference ReferenceType=\"i=53\">ns=1;i=2933</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=2310</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=1275</Reference>\n    </References>\n  </UAObject>\n  <UAVariable NodeId=\"ns=1;i=1627\" BrowseName=\"1:TransitionNumber\" ParentNodeId=\"ns=1;i=1626\" DataType=\"UInt32\">\n    <DisplayName>TransitionNumber</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=1626</Reference>\n    </References>\n    <Value>\n      <UInt32 xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">0</UInt32>\n    </Value>\n  </UAVariable>\n  <UAObject NodeId=\"ns=1;i=1628\" BrowseName=\"1:SuspendingToAbortingTransition\" ParentNodeId=\"ns=1;i=1275\">\n    <DisplayName>SuspendingToAbortingTransition</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=1629</Reference>\n      <Reference ReferenceType=\"i=51\">ns=1;i=1514</Reference>\n      <Reference ReferenceType=\"i=52\">ns=1;i=1528</Reference>\n      <Reference ReferenceType=\"i=53\">ns=1;i=2933</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=2310</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=1275</Reference>\n    </References>\n  </UAObject>\n  <UAVariable NodeId=\"ns=1;i=1629\" BrowseName=\"1:TransitionNumber\" ParentNodeId=\"ns=1;i=1628\" DataType=\"UInt32\">\n    <DisplayName>TransitionNumber</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=1628</Reference>\n    </References>\n    <Value>\n      <UInt32 xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">0</UInt32>\n    </Value>\n  </UAVariable>\n  <UAObject NodeId=\"ns=1;i=1630\" BrowseName=\"1:SuspendedToAbortingTransition\" ParentNodeId=\"ns=1;i=1275\">\n    <DisplayName>SuspendedToAbortingTransition</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=1631</Reference>\n      <Reference ReferenceType=\"i=51\">ns=1;i=1516</Reference>\n      <Reference ReferenceType=\"i=52\">ns=1;i=1528</Reference>\n      <Reference ReferenceType=\"i=53\">ns=1;i=2933</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=2310</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=1275</Reference>\n    </References>\n  </UAObject>\n  <UAVariable NodeId=\"ns=1;i=1631\" BrowseName=\"1:TransitionNumber\" ParentNodeId=\"ns=1;i=1630\" DataType=\"UInt32\">\n    <DisplayName>TransitionNumber</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=1630</Reference>\n    </References>\n    <Value>\n      <UInt32 xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">0</UInt32>\n    </Value>\n  </UAVariable>\n  <UAObject NodeId=\"ns=1;i=1632\" BrowseName=\"1:UnsuspendingToAbortingTransition\" ParentNodeId=\"ns=1;i=1275\">\n    <DisplayName>UnsuspendingToAbortingTransition</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=1633</Reference>\n      <Reference ReferenceType=\"i=51\">ns=1;i=1518</Reference>\n      <Reference ReferenceType=\"i=52\">ns=1;i=1528</Reference>\n      <Reference ReferenceType=\"i=53\">ns=1;i=2933</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=2310</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=1275</Reference>\n    </References>\n  </UAObject>\n  <UAVariable NodeId=\"ns=1;i=1633\" BrowseName=\"1:TransitionNumber\" ParentNodeId=\"ns=1;i=1632\" DataType=\"UInt32\">\n    <DisplayName>TransitionNumber</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=1632</Reference>\n    </References>\n    <Value>\n      <UInt32 xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">0</UInt32>\n    </Value>\n  </UAVariable>\n  <UAObject NodeId=\"ns=1;i=1634\" BrowseName=\"1:HoldingToAbortingTransition\" ParentNodeId=\"ns=1;i=1275\">\n    <DisplayName>HoldingToAbortingTransition</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=1635</Reference>\n      <Reference ReferenceType=\"i=51\">ns=1;i=1520</Reference>\n      <Reference ReferenceType=\"i=52\">ns=1;i=1528</Reference>\n      <Reference ReferenceType=\"i=53\">ns=1;i=2933</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=2310</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=1275</Reference>\n    </References>\n  </UAObject>\n  <UAVariable NodeId=\"ns=1;i=1635\" BrowseName=\"1:TransitionNumber\" ParentNodeId=\"ns=1;i=1634\" DataType=\"UInt32\">\n    <DisplayName>TransitionNumber</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=1634</Reference>\n    </References>\n    <Value>\n      <UInt32 xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">0</UInt32>\n    </Value>\n  </UAVariable>\n  <UAObject NodeId=\"ns=1;i=1636\" BrowseName=\"1:HeldToAbortingTransition\" ParentNodeId=\"ns=1;i=1275\">\n    <DisplayName>HeldToAbortingTransition</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=1637</Reference>\n      <Reference ReferenceType=\"i=51\">ns=1;i=1522</Reference>\n      <Reference ReferenceType=\"i=52\">ns=1;i=1528</Reference>\n      <Reference ReferenceType=\"i=53\">ns=1;i=2933</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=2310</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=1275</Reference>\n    </References>\n  </UAObject>\n  <UAVariable NodeId=\"ns=1;i=1637\" BrowseName=\"1:TransitionNumber\" ParentNodeId=\"ns=1;i=1636\" DataType=\"UInt32\">\n    <DisplayName>TransitionNumber</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=1636</Reference>\n    </References>\n    <Value>\n      <UInt32 xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">0</UInt32>\n    </Value>\n  </UAVariable>\n  <UAObject NodeId=\"ns=1;i=1638\" BrowseName=\"1:UnholdingToAbortingTransition\" ParentNodeId=\"ns=1;i=1275\">\n    <DisplayName>UnholdingToAbortingTransition</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=1639</Reference>\n      <Reference ReferenceType=\"i=51\">ns=1;i=1524</Reference>\n      <Reference ReferenceType=\"i=52\">ns=1;i=1528</Reference>\n      <Reference ReferenceType=\"i=53\">ns=1;i=2933</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=2310</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=1275</Reference>\n    </References>\n  </UAObject>\n  <UAVariable NodeId=\"ns=1;i=1639\" BrowseName=\"1:TransitionNumber\" ParentNodeId=\"ns=1;i=1638\" DataType=\"UInt32\">\n    <DisplayName>TransitionNumber</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=1638</Reference>\n    </References>\n    <Value>\n      <UInt32 xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">0</UInt32>\n    </Value>\n  </UAVariable>\n  <UAObject NodeId=\"ns=1;i=1640\" BrowseName=\"1:StoppingToAbortingTransition\" ParentNodeId=\"ns=1;i=1275\">\n    <DisplayName>StoppingToAbortingTransition</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=1641</Reference>\n      <Reference ReferenceType=\"i=51\">ns=1;i=1526</Reference>\n      <Reference ReferenceType=\"i=52\">ns=1;i=1528</Reference>\n      <Reference ReferenceType=\"i=53\">ns=1;i=2933</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=2310</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=1275</Reference>\n    </References>\n  </UAObject>\n  <UAVariable NodeId=\"ns=1;i=1641\" BrowseName=\"1:TransitionNumber\" ParentNodeId=\"ns=1;i=1640\" DataType=\"UInt32\">\n    <DisplayName>TransitionNumber</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=1640</Reference>\n    </References>\n    <Value>\n      <UInt32 xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">0</UInt32>\n    </Value>\n  </UAVariable>\n  <UAObjectType NodeId=\"ns=1;i=1651\" BrowseName=\"1:AnalyserChannel_OperatingModeExecuteSubStateMachineType\">\n    <DisplayName>AnalyserChannel_OperatingModeExecuteSubStateMachineType</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=4031</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=1664</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=1666</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=1668</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=1670</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=1672</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=1674</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=1676</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=1678</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=1680</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=1682</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=1684</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=1686</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=1688</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=1690</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=1692</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=1694</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=1696</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=1698</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=1700</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=4033</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=1706</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=1708</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=1710</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=1712</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=1714</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=1716</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=1718</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=4035</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=1722</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=1724</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=1726</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=1728</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=1730</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=1732</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=1734</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=4037</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=1738</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=1740</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=1742</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=1744</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=1746</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=1748</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=1750</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=4039</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=1754</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=1756</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=1758</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=4041</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=1762</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=1764</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=1766</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=1768</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=1770</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=1772</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=1774</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=1776</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=4043</Reference>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=2771</Reference>\n    </References>\n  </UAObjectType>\n  <UAObject NodeId=\"ns=1;i=4031\" BrowseName=\"1:SelectExecutionCycle\" ParentNodeId=\"ns=1;i=1651\">\n    <DisplayName>SelectExecutionCycle</DisplayName>\n    <Description>This pseudo-state is used to decide which execution path shall be taken.</Description>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=4032</Reference>\n      <Reference ReferenceType=\"i=51\" IsForward=\"false\">ns=1;i=4033</Reference>\n      <Reference ReferenceType=\"i=51\" IsForward=\"false\">ns=1;i=4035</Reference>\n      <Reference ReferenceType=\"i=51\" IsForward=\"false\">ns=1;i=4037</Reference>\n      <Reference ReferenceType=\"i=51\" IsForward=\"false\">ns=1;i=4039</Reference>\n      <Reference ReferenceType=\"i=51\" IsForward=\"false\">ns=1;i=4041</Reference>\n      <Reference ReferenceType=\"i=52\" IsForward=\"false\">ns=1;i=4043</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=2309</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=1651</Reference>\n    </References>\n  </UAObject>\n  <UAVariable NodeId=\"ns=1;i=4032\" BrowseName=\"1:StateNumber\" ParentNodeId=\"ns=1;i=4031\" DataType=\"UInt32\">\n    <DisplayName>StateNumber</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=4031</Reference>\n    </References>\n    <Value>\n      <UInt32 xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">0</UInt32>\n    </Value>\n  </UAVariable>\n  <UAObject NodeId=\"ns=1;i=1664\" BrowseName=\"1:WaitForCalibrationTrigger\" ParentNodeId=\"ns=1;i=1651\">\n    <DisplayName>WaitForCalibrationTrigger</DisplayName>\n    <Description>Wait until the analyser channel is ready to perform the Calibration acquisition cycle</Description>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=1665</Reference>\n      <Reference ReferenceType=\"i=52\" IsForward=\"false\">ns=1;i=4033</Reference>\n      <Reference ReferenceType=\"i=51\" IsForward=\"false\">ns=1;i=1706</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=2307</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=1651</Reference>\n    </References>\n  </UAObject>\n  <UAVariable NodeId=\"ns=1;i=1665\" BrowseName=\"1:StateNumber\" ParentNodeId=\"ns=1;i=1664\" DataType=\"UInt32\">\n    <DisplayName>StateNumber</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=1664</Reference>\n    </References>\n    <Value>\n      <UInt32 xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">0</UInt32>\n    </Value>\n  </UAVariable>\n  <UAObject NodeId=\"ns=1;i=1666\" BrowseName=\"1:ExtractCalibrationSample\" ParentNodeId=\"ns=1;i=1651\">\n    <DisplayName>ExtractCalibrationSample</DisplayName>\n    <Description>Collect / setup the sampling system to perform the acquisition cycle of a Calibration cycle</Description>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=1667</Reference>\n      <Reference ReferenceType=\"i=52\" IsForward=\"false\">ns=1;i=1706</Reference>\n      <Reference ReferenceType=\"i=51\" IsForward=\"false\">ns=1;i=1708</Reference>\n      <Reference ReferenceType=\"i=52\" IsForward=\"false\">ns=1;i=1708</Reference>\n      <Reference ReferenceType=\"i=51\" IsForward=\"false\">ns=1;i=1710</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=2307</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=1651</Reference>\n    </References>\n  </UAObject>\n  <UAVariable NodeId=\"ns=1;i=1667\" BrowseName=\"1:StateNumber\" ParentNodeId=\"ns=1;i=1666\" DataType=\"UInt32\">\n    <DisplayName>StateNumber</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=1666</Reference>\n    </References>\n    <Value>\n      <UInt32 xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">0</UInt32>\n    </Value>\n  </UAVariable>\n  <UAObject NodeId=\"ns=1;i=1668\" BrowseName=\"1:PrepareCalibrationSample\" ParentNodeId=\"ns=1;i=1651\">\n    <DisplayName>PrepareCalibrationSample</DisplayName>\n    <Description>Prepare the Calibration sample for the AnalyseCalibrationSample state</Description>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=1669</Reference>\n      <Reference ReferenceType=\"i=52\" IsForward=\"false\">ns=1;i=1710</Reference>\n      <Reference ReferenceType=\"i=51\" IsForward=\"false\">ns=1;i=1712</Reference>\n      <Reference ReferenceType=\"i=52\" IsForward=\"false\">ns=1;i=1712</Reference>\n      <Reference ReferenceType=\"i=51\" IsForward=\"false\">ns=1;i=1714</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=2307</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=1651</Reference>\n    </References>\n  </UAObject>\n  <UAVariable NodeId=\"ns=1;i=1669\" BrowseName=\"1:StateNumber\" ParentNodeId=\"ns=1;i=1668\" DataType=\"UInt32\">\n    <DisplayName>StateNumber</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=1668</Reference>\n    </References>\n    <Value>\n      <UInt32 xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">0</UInt32>\n    </Value>\n  </UAVariable>\n  <UAObject NodeId=\"ns=1;i=1670\" BrowseName=\"1:AnalyseCalibrationSample\" ParentNodeId=\"ns=1;i=1651\">\n    <DisplayName>AnalyseCalibrationSample</DisplayName>\n    <Description>Perform the analysis of the Calibration Sample</Description>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=1671</Reference>\n      <Reference ReferenceType=\"i=52\" IsForward=\"false\">ns=1;i=1714</Reference>\n      <Reference ReferenceType=\"i=51\" IsForward=\"false\">ns=1;i=1716</Reference>\n      <Reference ReferenceType=\"i=52\" IsForward=\"false\">ns=1;i=1716</Reference>\n      <Reference ReferenceType=\"i=51\" IsForward=\"false\">ns=1;i=1718</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=2307</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=1651</Reference>\n    </References>\n  </UAObject>\n  <UAVariable NodeId=\"ns=1;i=1671\" BrowseName=\"1:StateNumber\" ParentNodeId=\"ns=1;i=1670\" DataType=\"UInt32\">\n    <DisplayName>StateNumber</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=1670</Reference>\n    </References>\n    <Value>\n      <UInt32 xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">0</UInt32>\n    </Value>\n  </UAVariable>\n  <UAObject NodeId=\"ns=1;i=1672\" BrowseName=\"1:WaitForValidationTrigger\" ParentNodeId=\"ns=1;i=1651\">\n    <DisplayName>WaitForValidationTrigger</DisplayName>\n    <Description>Wait until the analyser channel is ready to perform the Validation acquisition cycle</Description>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=1673</Reference>\n      <Reference ReferenceType=\"i=52\" IsForward=\"false\">ns=1;i=4035</Reference>\n      <Reference ReferenceType=\"i=51\" IsForward=\"false\">ns=1;i=1722</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=2307</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=1651</Reference>\n    </References>\n  </UAObject>\n  <UAVariable NodeId=\"ns=1;i=1673\" BrowseName=\"1:StateNumber\" ParentNodeId=\"ns=1;i=1672\" DataType=\"UInt32\">\n    <DisplayName>StateNumber</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=1672</Reference>\n    </References>\n    <Value>\n      <UInt32 xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">0</UInt32>\n    </Value>\n  </UAVariable>\n  <UAObject NodeId=\"ns=1;i=1674\" BrowseName=\"1:ExtractValidationSample\" ParentNodeId=\"ns=1;i=1651\">\n    <DisplayName>ExtractValidationSample</DisplayName>\n    <Description>Collect / setup the sampling system to perform the acquisition cycle of a Validation cycle</Description>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=1675</Reference>\n      <Reference ReferenceType=\"i=52\" IsForward=\"false\">ns=1;i=1722</Reference>\n      <Reference ReferenceType=\"i=51\" IsForward=\"false\">ns=1;i=1724</Reference>\n      <Reference ReferenceType=\"i=52\" IsForward=\"false\">ns=1;i=1724</Reference>\n      <Reference ReferenceType=\"i=51\" IsForward=\"false\">ns=1;i=1726</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=2307</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=1651</Reference>\n    </References>\n  </UAObject>\n  <UAVariable NodeId=\"ns=1;i=1675\" BrowseName=\"1:StateNumber\" ParentNodeId=\"ns=1;i=1674\" DataType=\"UInt32\">\n    <DisplayName>StateNumber</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=1674</Reference>\n    </References>\n    <Value>\n      <UInt32 xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">0</UInt32>\n    </Value>\n  </UAVariable>\n  <UAObject NodeId=\"ns=1;i=1676\" BrowseName=\"1:PrepareValidationSample\" ParentNodeId=\"ns=1;i=1651\">\n    <DisplayName>PrepareValidationSample</DisplayName>\n    <Description>Prepare the Validation sample for the AnalyseValidationSample state</Description>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=1677</Reference>\n      <Reference ReferenceType=\"i=52\" IsForward=\"false\">ns=1;i=1726</Reference>\n      <Reference ReferenceType=\"i=51\" IsForward=\"false\">ns=1;i=1728</Reference>\n      <Reference ReferenceType=\"i=52\" IsForward=\"false\">ns=1;i=1728</Reference>\n      <Reference ReferenceType=\"i=51\" IsForward=\"false\">ns=1;i=1730</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=2307</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=1651</Reference>\n    </References>\n  </UAObject>\n  <UAVariable NodeId=\"ns=1;i=1677\" BrowseName=\"1:StateNumber\" ParentNodeId=\"ns=1;i=1676\" DataType=\"UInt32\">\n    <DisplayName>StateNumber</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=1676</Reference>\n    </References>\n    <Value>\n      <UInt32 xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">0</UInt32>\n    </Value>\n  </UAVariable>\n  <UAObject NodeId=\"ns=1;i=1678\" BrowseName=\"1:AnalyseValidationSample\" ParentNodeId=\"ns=1;i=1651\">\n    <DisplayName>AnalyseValidationSample</DisplayName>\n    <Description>Perform the analysis of the Validation Sample</Description>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=1679</Reference>\n      <Reference ReferenceType=\"i=52\" IsForward=\"false\">ns=1;i=1730</Reference>\n      <Reference ReferenceType=\"i=51\" IsForward=\"false\">ns=1;i=1732</Reference>\n      <Reference ReferenceType=\"i=52\" IsForward=\"false\">ns=1;i=1732</Reference>\n      <Reference ReferenceType=\"i=51\" IsForward=\"false\">ns=1;i=1734</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=2307</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=1651</Reference>\n    </References>\n  </UAObject>\n  <UAVariable NodeId=\"ns=1;i=1679\" BrowseName=\"1:StateNumber\" ParentNodeId=\"ns=1;i=1678\" DataType=\"UInt32\">\n    <DisplayName>StateNumber</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=1678</Reference>\n    </References>\n    <Value>\n      <UInt32 xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">0</UInt32>\n    </Value>\n  </UAVariable>\n  <UAObject NodeId=\"ns=1;i=1680\" BrowseName=\"1:WaitForSampleTrigger\" ParentNodeId=\"ns=1;i=1651\">\n    <DisplayName>WaitForSampleTrigger</DisplayName>\n    <Description>Wait until the analyser channel is ready to perform the Sample acquisition cycle</Description>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=1681</Reference>\n      <Reference ReferenceType=\"i=52\" IsForward=\"false\">ns=1;i=4037</Reference>\n      <Reference ReferenceType=\"i=51\" IsForward=\"false\">ns=1;i=1738</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=2307</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=1651</Reference>\n    </References>\n  </UAObject>\n  <UAVariable NodeId=\"ns=1;i=1681\" BrowseName=\"1:StateNumber\" ParentNodeId=\"ns=1;i=1680\" DataType=\"UInt32\">\n    <DisplayName>StateNumber</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=1680</Reference>\n    </References>\n    <Value>\n      <UInt32 xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">0</UInt32>\n    </Value>\n  </UAVariable>\n  <UAObject NodeId=\"ns=1;i=1682\" BrowseName=\"1:ExtractSample\" ParentNodeId=\"ns=1;i=1651\">\n    <DisplayName>ExtractSample</DisplayName>\n    <Description>Collect the Sample from the process</Description>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=1683</Reference>\n      <Reference ReferenceType=\"i=52\" IsForward=\"false\">ns=1;i=1738</Reference>\n      <Reference ReferenceType=\"i=51\" IsForward=\"false\">ns=1;i=1740</Reference>\n      <Reference ReferenceType=\"i=52\" IsForward=\"false\">ns=1;i=1740</Reference>\n      <Reference ReferenceType=\"i=51\" IsForward=\"false\">ns=1;i=1742</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=2307</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=1651</Reference>\n    </References>\n  </UAObject>\n  <UAVariable NodeId=\"ns=1;i=1683\" BrowseName=\"1:StateNumber\" ParentNodeId=\"ns=1;i=1682\" DataType=\"UInt32\">\n    <DisplayName>StateNumber</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=1682</Reference>\n    </References>\n    <Value>\n      <UInt32 xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">0</UInt32>\n    </Value>\n  </UAVariable>\n  <UAObject NodeId=\"ns=1;i=1684\" BrowseName=\"1:PrepareSample\" ParentNodeId=\"ns=1;i=1651\">\n    <DisplayName>PrepareSample</DisplayName>\n    <Description>Prepare the Sample for the AnalyseSample state</Description>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=1685</Reference>\n      <Reference ReferenceType=\"i=52\" IsForward=\"false\">ns=1;i=1742</Reference>\n      <Reference ReferenceType=\"i=51\" IsForward=\"false\">ns=1;i=1744</Reference>\n      <Reference ReferenceType=\"i=52\" IsForward=\"false\">ns=1;i=1744</Reference>\n      <Reference ReferenceType=\"i=51\" IsForward=\"false\">ns=1;i=1746</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=2307</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=1651</Reference>\n    </References>\n  </UAObject>\n  <UAVariable NodeId=\"ns=1;i=1685\" BrowseName=\"1:StateNumber\" ParentNodeId=\"ns=1;i=1684\" DataType=\"UInt32\">\n    <DisplayName>StateNumber</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=1684</Reference>\n    </References>\n    <Value>\n      <UInt32 xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">0</UInt32>\n    </Value>\n  </UAVariable>\n  <UAObject NodeId=\"ns=1;i=1686\" BrowseName=\"1:AnalyseSample\" ParentNodeId=\"ns=1;i=1651\">\n    <DisplayName>AnalyseSample</DisplayName>\n    <Description>Perform the analysis of the Sample</Description>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=1687</Reference>\n      <Reference ReferenceType=\"i=52\" IsForward=\"false\">ns=1;i=1746</Reference>\n      <Reference ReferenceType=\"i=51\" IsForward=\"false\">ns=1;i=1748</Reference>\n      <Reference ReferenceType=\"i=52\" IsForward=\"false\">ns=1;i=1748</Reference>\n      <Reference ReferenceType=\"i=51\" IsForward=\"false\">ns=1;i=1750</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=2307</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=1651</Reference>\n    </References>\n  </UAObject>\n  <UAVariable NodeId=\"ns=1;i=1687\" BrowseName=\"1:StateNumber\" ParentNodeId=\"ns=1;i=1686\" DataType=\"UInt32\">\n    <DisplayName>StateNumber</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=1686</Reference>\n    </References>\n    <Value>\n      <UInt32 xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">0</UInt32>\n    </Value>\n  </UAVariable>\n  <UAObject NodeId=\"ns=1;i=1688\" BrowseName=\"1:WaitForDiagnosticTrigger\" ParentNodeId=\"ns=1;i=1651\">\n    <DisplayName>WaitForDiagnosticTrigger</DisplayName>\n    <Description>Wait until the analyser channel is ready to perform the diagnostic cycle,</Description>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=1689</Reference>\n      <Reference ReferenceType=\"i=52\" IsForward=\"false\">ns=1;i=4039</Reference>\n      <Reference ReferenceType=\"i=51\" IsForward=\"false\">ns=1;i=1754</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=2307</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=1651</Reference>\n    </References>\n  </UAObject>\n  <UAVariable NodeId=\"ns=1;i=1689\" BrowseName=\"1:StateNumber\" ParentNodeId=\"ns=1;i=1688\" DataType=\"UInt32\">\n    <DisplayName>StateNumber</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=1688</Reference>\n    </References>\n    <Value>\n      <UInt32 xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">0</UInt32>\n    </Value>\n  </UAVariable>\n  <UAObject NodeId=\"ns=1;i=1690\" BrowseName=\"1:Diagnostic\" ParentNodeId=\"ns=1;i=1651\">\n    <DisplayName>Diagnostic</DisplayName>\n    <Description>Perform the diagnostic cycle.</Description>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=1691</Reference>\n      <Reference ReferenceType=\"i=52\" IsForward=\"false\">ns=1;i=1754</Reference>\n      <Reference ReferenceType=\"i=51\" IsForward=\"false\">ns=1;i=1756</Reference>\n      <Reference ReferenceType=\"i=52\" IsForward=\"false\">ns=1;i=1756</Reference>\n      <Reference ReferenceType=\"i=51\" IsForward=\"false\">ns=1;i=1758</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=2307</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=1651</Reference>\n    </References>\n  </UAObject>\n  <UAVariable NodeId=\"ns=1;i=1691\" BrowseName=\"1:StateNumber\" ParentNodeId=\"ns=1;i=1690\" DataType=\"UInt32\">\n    <DisplayName>StateNumber</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=1690</Reference>\n    </References>\n    <Value>\n      <UInt32 xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">0</UInt32>\n    </Value>\n  </UAVariable>\n  <UAObject NodeId=\"ns=1;i=1692\" BrowseName=\"1:WaitForCleaningTrigger\" ParentNodeId=\"ns=1;i=1651\">\n    <DisplayName>WaitForCleaningTrigger</DisplayName>\n    <Description>Wait until the analyser channel is ready to perform the cleaning cycle,</Description>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=1693</Reference>\n      <Reference ReferenceType=\"i=52\" IsForward=\"false\">ns=1;i=4041</Reference>\n      <Reference ReferenceType=\"i=51\" IsForward=\"false\">ns=1;i=1762</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=2307</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=1651</Reference>\n    </References>\n  </UAObject>\n  <UAVariable NodeId=\"ns=1;i=1693\" BrowseName=\"1:StateNumber\" ParentNodeId=\"ns=1;i=1692\" DataType=\"UInt32\">\n    <DisplayName>StateNumber</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=1692</Reference>\n    </References>\n    <Value>\n      <UInt32 xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">0</UInt32>\n    </Value>\n  </UAVariable>\n  <UAObject NodeId=\"ns=1;i=1694\" BrowseName=\"1:Cleaning\" ParentNodeId=\"ns=1;i=1651\">\n    <DisplayName>Cleaning</DisplayName>\n    <Description>Perform the cleaning cycle.</Description>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=1695</Reference>\n      <Reference ReferenceType=\"i=52\" IsForward=\"false\">ns=1;i=1762</Reference>\n      <Reference ReferenceType=\"i=51\" IsForward=\"false\">ns=1;i=1764</Reference>\n      <Reference ReferenceType=\"i=52\" IsForward=\"false\">ns=1;i=1764</Reference>\n      <Reference ReferenceType=\"i=51\" IsForward=\"false\">ns=1;i=1766</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=2307</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=1651</Reference>\n    </References>\n  </UAObject>\n  <UAVariable NodeId=\"ns=1;i=1695\" BrowseName=\"1:StateNumber\" ParentNodeId=\"ns=1;i=1694\" DataType=\"UInt32\">\n    <DisplayName>StateNumber</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=1694</Reference>\n    </References>\n    <Value>\n      <UInt32 xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">0</UInt32>\n    </Value>\n  </UAVariable>\n  <UAObject NodeId=\"ns=1;i=1696\" BrowseName=\"1:PublishResults\" ParentNodeId=\"ns=1;i=1651\">\n    <DisplayName>PublishResults</DisplayName>\n    <Description>Publish the results of the previous acquisition cycle</Description>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=1697</Reference>\n      <Reference ReferenceType=\"i=52\" IsForward=\"false\">ns=1;i=1718</Reference>\n      <Reference ReferenceType=\"i=52\" IsForward=\"false\">ns=1;i=1734</Reference>\n      <Reference ReferenceType=\"i=52\" IsForward=\"false\">ns=1;i=1750</Reference>\n      <Reference ReferenceType=\"i=52\" IsForward=\"false\">ns=1;i=1758</Reference>\n      <Reference ReferenceType=\"i=52\" IsForward=\"false\">ns=1;i=1766</Reference>\n      <Reference ReferenceType=\"i=51\" IsForward=\"false\">ns=1;i=1768</Reference>\n      <Reference ReferenceType=\"i=51\" IsForward=\"false\">ns=1;i=1770</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=2307</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=1651</Reference>\n    </References>\n  </UAObject>\n  <UAVariable NodeId=\"ns=1;i=1697\" BrowseName=\"1:StateNumber\" ParentNodeId=\"ns=1;i=1696\" DataType=\"UInt32\">\n    <DisplayName>StateNumber</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=1696</Reference>\n    </References>\n    <Value>\n      <UInt32 xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">0</UInt32>\n    </Value>\n  </UAVariable>\n  <UAObject NodeId=\"ns=1;i=1698\" BrowseName=\"1:EjectGrabSample\" ParentNodeId=\"ns=1;i=1651\">\n    <DisplayName>EjectGrabSample</DisplayName>\n    <Description>The Sample that was just analysed is ejected from the system to allow the operator or another system to grab it</Description>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=1699</Reference>\n      <Reference ReferenceType=\"i=52\" IsForward=\"false\">ns=1;i=1770</Reference>\n      <Reference ReferenceType=\"i=51\" IsForward=\"false\">ns=1;i=1772</Reference>\n      <Reference ReferenceType=\"i=52\" IsForward=\"false\">ns=1;i=1772</Reference>\n      <Reference ReferenceType=\"i=51\" IsForward=\"false\">ns=1;i=1774</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=2307</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=1651</Reference>\n    </References>\n  </UAObject>\n  <UAVariable NodeId=\"ns=1;i=1699\" BrowseName=\"1:StateNumber\" ParentNodeId=\"ns=1;i=1698\" DataType=\"UInt32\">\n    <DisplayName>StateNumber</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=1698</Reference>\n    </References>\n    <Value>\n      <UInt32 xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">0</UInt32>\n    </Value>\n  </UAVariable>\n  <UAObject NodeId=\"ns=1;i=1700\" BrowseName=\"1:CleanupSamplingSystem\" ParentNodeId=\"ns=1;i=1651\">\n    <DisplayName>CleanupSamplingSystem</DisplayName>\n    <Description>Cleanup the sampling sub-system to be ready for the next acquisition</Description>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=1701</Reference>\n      <Reference ReferenceType=\"i=52\" IsForward=\"false\">ns=1;i=1768</Reference>\n      <Reference ReferenceType=\"i=52\" IsForward=\"false\">ns=1;i=1774</Reference>\n      <Reference ReferenceType=\"i=51\" IsForward=\"false\">ns=1;i=1776</Reference>\n      <Reference ReferenceType=\"i=52\" IsForward=\"false\">ns=1;i=1776</Reference>\n      <Reference ReferenceType=\"i=51\" IsForward=\"false\">ns=1;i=4043</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=2307</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=1651</Reference>\n    </References>\n  </UAObject>\n  <UAVariable NodeId=\"ns=1;i=1701\" BrowseName=\"1:StateNumber\" ParentNodeId=\"ns=1;i=1700\" DataType=\"UInt32\">\n    <DisplayName>StateNumber</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=1700</Reference>\n    </References>\n    <Value>\n      <UInt32 xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">0</UInt32>\n    </Value>\n  </UAVariable>\n  <UAObject NodeId=\"ns=1;i=4033\" BrowseName=\"1:SelectExecutionCycleToWaitForCalibrationTriggerTransition\" ParentNodeId=\"ns=1;i=1651\">\n    <DisplayName>SelectExecutionCycleToWaitForCalibrationTriggerTransition</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=4034</Reference>\n      <Reference ReferenceType=\"i=51\">ns=1;i=4031</Reference>\n      <Reference ReferenceType=\"i=52\">ns=1;i=1664</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=2310</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=1651</Reference>\n    </References>\n  </UAObject>\n  <UAVariable NodeId=\"ns=1;i=4034\" BrowseName=\"TransitionNumber\" ParentNodeId=\"ns=1;i=4033\" DataType=\"UInt32\">\n    <DisplayName>TransitionNumber</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=4033</Reference>\n    </References>\n    <Value>\n      <UInt32 xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">0</UInt32>\n    </Value>\n  </UAVariable>\n  <UAObject NodeId=\"ns=1;i=1706\" BrowseName=\"1:WaitForCalibrationTriggerToExtractCalibrationSampleTransition\" ParentNodeId=\"ns=1;i=1651\">\n    <DisplayName>WaitForCalibrationTriggerToExtractCalibrationSampleTransition</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=1707</Reference>\n      <Reference ReferenceType=\"i=51\">ns=1;i=1664</Reference>\n      <Reference ReferenceType=\"i=52\">ns=1;i=1666</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=2310</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=1651</Reference>\n    </References>\n  </UAObject>\n  <UAVariable NodeId=\"ns=1;i=1707\" BrowseName=\"TransitionNumber\" ParentNodeId=\"ns=1;i=1706\" DataType=\"UInt32\">\n    <DisplayName>TransitionNumber</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=1706</Reference>\n    </References>\n    <Value>\n      <UInt32 xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">0</UInt32>\n    </Value>\n  </UAVariable>\n  <UAObject NodeId=\"ns=1;i=1708\" BrowseName=\"1:ExtractCalibrationSampleTransition\" ParentNodeId=\"ns=1;i=1651\">\n    <DisplayName>ExtractCalibrationSampleTransition</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=1709</Reference>\n      <Reference ReferenceType=\"i=51\">ns=1;i=1666</Reference>\n      <Reference ReferenceType=\"i=52\">ns=1;i=1666</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=2310</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=1651</Reference>\n    </References>\n  </UAObject>\n  <UAVariable NodeId=\"ns=1;i=1709\" BrowseName=\"TransitionNumber\" ParentNodeId=\"ns=1;i=1708\" DataType=\"UInt32\">\n    <DisplayName>TransitionNumber</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=1708</Reference>\n    </References>\n    <Value>\n      <UInt32 xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">0</UInt32>\n    </Value>\n  </UAVariable>\n  <UAObject NodeId=\"ns=1;i=1710\" BrowseName=\"1:ExtractCalibrationSampleToPrepareCalibrationSampleTransition\" ParentNodeId=\"ns=1;i=1651\">\n    <DisplayName>ExtractCalibrationSampleToPrepareCalibrationSampleTransition</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=1711</Reference>\n      <Reference ReferenceType=\"i=51\">ns=1;i=1666</Reference>\n      <Reference ReferenceType=\"i=52\">ns=1;i=1668</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=2310</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=1651</Reference>\n    </References>\n  </UAObject>\n  <UAVariable NodeId=\"ns=1;i=1711\" BrowseName=\"TransitionNumber\" ParentNodeId=\"ns=1;i=1710\" DataType=\"UInt32\">\n    <DisplayName>TransitionNumber</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=1710</Reference>\n    </References>\n    <Value>\n      <UInt32 xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">0</UInt32>\n    </Value>\n  </UAVariable>\n  <UAObject NodeId=\"ns=1;i=1712\" BrowseName=\"1:PrepareCalibrationSampleTransition\" ParentNodeId=\"ns=1;i=1651\">\n    <DisplayName>PrepareCalibrationSampleTransition</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=1713</Reference>\n      <Reference ReferenceType=\"i=51\">ns=1;i=1668</Reference>\n      <Reference ReferenceType=\"i=52\">ns=1;i=1668</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=2310</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=1651</Reference>\n    </References>\n  </UAObject>\n  <UAVariable NodeId=\"ns=1;i=1713\" BrowseName=\"TransitionNumber\" ParentNodeId=\"ns=1;i=1712\" DataType=\"UInt32\">\n    <DisplayName>TransitionNumber</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=1712</Reference>\n    </References>\n    <Value>\n      <UInt32 xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">0</UInt32>\n    </Value>\n  </UAVariable>\n  <UAObject NodeId=\"ns=1;i=1714\" BrowseName=\"1:PrepareCalibrationSampleToAnalyseCalibrationSampleTransition\" ParentNodeId=\"ns=1;i=1651\">\n    <DisplayName>PrepareCalibrationSampleToAnalyseCalibrationSampleTransition</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=1715</Reference>\n      <Reference ReferenceType=\"i=51\">ns=1;i=1668</Reference>\n      <Reference ReferenceType=\"i=52\">ns=1;i=1670</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=2310</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=1651</Reference>\n    </References>\n  </UAObject>\n  <UAVariable NodeId=\"ns=1;i=1715\" BrowseName=\"TransitionNumber\" ParentNodeId=\"ns=1;i=1714\" DataType=\"UInt32\">\n    <DisplayName>TransitionNumber</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=1714</Reference>\n    </References>\n    <Value>\n      <UInt32 xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">0</UInt32>\n    </Value>\n  </UAVariable>\n  <UAObject NodeId=\"ns=1;i=1716\" BrowseName=\"1:AnalyseCalibrationSampleTransition\" ParentNodeId=\"ns=1;i=1651\">\n    <DisplayName>AnalyseCalibrationSampleTransition</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=1717</Reference>\n      <Reference ReferenceType=\"i=51\">ns=1;i=1670</Reference>\n      <Reference ReferenceType=\"i=52\">ns=1;i=1670</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=2310</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=1651</Reference>\n    </References>\n  </UAObject>\n  <UAVariable NodeId=\"ns=1;i=1717\" BrowseName=\"TransitionNumber\" ParentNodeId=\"ns=1;i=1716\" DataType=\"UInt32\">\n    <DisplayName>TransitionNumber</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=1716</Reference>\n    </References>\n    <Value>\n      <UInt32 xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">0</UInt32>\n    </Value>\n  </UAVariable>\n  <UAObject NodeId=\"ns=1;i=1718\" BrowseName=\"1:AnalyseCalibrationSampleToPublishResultsTransition\" ParentNodeId=\"ns=1;i=1651\">\n    <DisplayName>AnalyseCalibrationSampleToPublishResultsTransition</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=1719</Reference>\n      <Reference ReferenceType=\"i=51\">ns=1;i=1670</Reference>\n      <Reference ReferenceType=\"i=52\">ns=1;i=1696</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=2310</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=1651</Reference>\n    </References>\n  </UAObject>\n  <UAVariable NodeId=\"ns=1;i=1719\" BrowseName=\"TransitionNumber\" ParentNodeId=\"ns=1;i=1718\" DataType=\"UInt32\">\n    <DisplayName>TransitionNumber</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=1718</Reference>\n    </References>\n    <Value>\n      <UInt32 xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">0</UInt32>\n    </Value>\n  </UAVariable>\n  <UAObject NodeId=\"ns=1;i=4035\" BrowseName=\"1:SelectExecutionCycleToWaitForValidationTriggerTransition\" ParentNodeId=\"ns=1;i=1651\">\n    <DisplayName>SelectExecutionCycleToWaitForValidationTriggerTransition</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=4036</Reference>\n      <Reference ReferenceType=\"i=51\">ns=1;i=4031</Reference>\n      <Reference ReferenceType=\"i=52\">ns=1;i=1672</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=2310</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=1651</Reference>\n    </References>\n  </UAObject>\n  <UAVariable NodeId=\"ns=1;i=4036\" BrowseName=\"TransitionNumber\" ParentNodeId=\"ns=1;i=4035\" DataType=\"UInt32\">\n    <DisplayName>TransitionNumber</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=4035</Reference>\n    </References>\n    <Value>\n      <UInt32 xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">0</UInt32>\n    </Value>\n  </UAVariable>\n  <UAObject NodeId=\"ns=1;i=1722\" BrowseName=\"1:WaitForValidationTriggerToExtractValidationSampleTransition\" ParentNodeId=\"ns=1;i=1651\">\n    <DisplayName>WaitForValidationTriggerToExtractValidationSampleTransition</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=1723</Reference>\n      <Reference ReferenceType=\"i=51\">ns=1;i=1672</Reference>\n      <Reference ReferenceType=\"i=52\">ns=1;i=1674</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=2310</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=1651</Reference>\n    </References>\n  </UAObject>\n  <UAVariable NodeId=\"ns=1;i=1723\" BrowseName=\"TransitionNumber\" ParentNodeId=\"ns=1;i=1722\" DataType=\"UInt32\">\n    <DisplayName>TransitionNumber</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=1722</Reference>\n    </References>\n    <Value>\n      <UInt32 xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">0</UInt32>\n    </Value>\n  </UAVariable>\n  <UAObject NodeId=\"ns=1;i=1724\" BrowseName=\"1:ExtractValidationSampleTransition\" ParentNodeId=\"ns=1;i=1651\">\n    <DisplayName>ExtractValidationSampleTransition</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=1725</Reference>\n      <Reference ReferenceType=\"i=51\">ns=1;i=1674</Reference>\n      <Reference ReferenceType=\"i=52\">ns=1;i=1674</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=2310</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=1651</Reference>\n    </References>\n  </UAObject>\n  <UAVariable NodeId=\"ns=1;i=1725\" BrowseName=\"TransitionNumber\" ParentNodeId=\"ns=1;i=1724\" DataType=\"UInt32\">\n    <DisplayName>TransitionNumber</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=1724</Reference>\n    </References>\n    <Value>\n      <UInt32 xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">0</UInt32>\n    </Value>\n  </UAVariable>\n  <UAObject NodeId=\"ns=1;i=1726\" BrowseName=\"1:ExtractValidationSampleToPrepareValidationSampleTransition\" ParentNodeId=\"ns=1;i=1651\">\n    <DisplayName>ExtractValidationSampleToPrepareValidationSampleTransition</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=1727</Reference>\n      <Reference ReferenceType=\"i=51\">ns=1;i=1674</Reference>\n      <Reference ReferenceType=\"i=52\">ns=1;i=1676</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=2310</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=1651</Reference>\n    </References>\n  </UAObject>\n  <UAVariable NodeId=\"ns=1;i=1727\" BrowseName=\"TransitionNumber\" ParentNodeId=\"ns=1;i=1726\" DataType=\"UInt32\">\n    <DisplayName>TransitionNumber</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=1726</Reference>\n    </References>\n    <Value>\n      <UInt32 xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">0</UInt32>\n    </Value>\n  </UAVariable>\n  <UAObject NodeId=\"ns=1;i=1728\" BrowseName=\"1:PrepareValidationSampleTransition\" ParentNodeId=\"ns=1;i=1651\">\n    <DisplayName>PrepareValidationSampleTransition</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=1729</Reference>\n      <Reference ReferenceType=\"i=51\">ns=1;i=1676</Reference>\n      <Reference ReferenceType=\"i=52\">ns=1;i=1676</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=2310</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=1651</Reference>\n    </References>\n  </UAObject>\n  <UAVariable NodeId=\"ns=1;i=1729\" BrowseName=\"TransitionNumber\" ParentNodeId=\"ns=1;i=1728\" DataType=\"UInt32\">\n    <DisplayName>TransitionNumber</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=1728</Reference>\n    </References>\n    <Value>\n      <UInt32 xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">0</UInt32>\n    </Value>\n  </UAVariable>\n  <UAObject NodeId=\"ns=1;i=1730\" BrowseName=\"1:PrepareValidationSampleToAnalyseValidationSampleTransition\" ParentNodeId=\"ns=1;i=1651\">\n    <DisplayName>PrepareValidationSampleToAnalyseValidationSampleTransition</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=1731</Reference>\n      <Reference ReferenceType=\"i=51\">ns=1;i=1676</Reference>\n      <Reference ReferenceType=\"i=52\">ns=1;i=1678</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=2310</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=1651</Reference>\n    </References>\n  </UAObject>\n  <UAVariable NodeId=\"ns=1;i=1731\" BrowseName=\"TransitionNumber\" ParentNodeId=\"ns=1;i=1730\" DataType=\"UInt32\">\n    <DisplayName>TransitionNumber</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=1730</Reference>\n    </References>\n    <Value>\n      <UInt32 xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">0</UInt32>\n    </Value>\n  </UAVariable>\n  <UAObject NodeId=\"ns=1;i=1732\" BrowseName=\"1:AnalyseValidationSampleTransition\" ParentNodeId=\"ns=1;i=1651\">\n    <DisplayName>AnalyseValidationSampleTransition</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=1733</Reference>\n      <Reference ReferenceType=\"i=51\">ns=1;i=1678</Reference>\n      <Reference ReferenceType=\"i=52\">ns=1;i=1678</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=2310</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=1651</Reference>\n    </References>\n  </UAObject>\n  <UAVariable NodeId=\"ns=1;i=1733\" BrowseName=\"TransitionNumber\" ParentNodeId=\"ns=1;i=1732\" DataType=\"UInt32\">\n    <DisplayName>TransitionNumber</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=1732</Reference>\n    </References>\n    <Value>\n      <UInt32 xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">0</UInt32>\n    </Value>\n  </UAVariable>\n  <UAObject NodeId=\"ns=1;i=1734\" BrowseName=\"1:AnalyseValidationSampleToPublishResultsTransition\" ParentNodeId=\"ns=1;i=1651\">\n    <DisplayName>AnalyseValidationSampleToPublishResultsTransition</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=1735</Reference>\n      <Reference ReferenceType=\"i=51\">ns=1;i=1678</Reference>\n      <Reference ReferenceType=\"i=52\">ns=1;i=1696</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=2310</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=1651</Reference>\n    </References>\n  </UAObject>\n  <UAVariable NodeId=\"ns=1;i=1735\" BrowseName=\"TransitionNumber\" ParentNodeId=\"ns=1;i=1734\" DataType=\"UInt32\">\n    <DisplayName>TransitionNumber</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=1734</Reference>\n    </References>\n    <Value>\n      <UInt32 xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">0</UInt32>\n    </Value>\n  </UAVariable>\n  <UAObject NodeId=\"ns=1;i=4037\" BrowseName=\"1:SelectExecutionCycleToWaitForSampleTriggerTransition\" ParentNodeId=\"ns=1;i=1651\">\n    <DisplayName>SelectExecutionCycleToWaitForSampleTriggerTransition</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=4038</Reference>\n      <Reference ReferenceType=\"i=51\">ns=1;i=4031</Reference>\n      <Reference ReferenceType=\"i=52\">ns=1;i=1680</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=2310</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=1651</Reference>\n    </References>\n  </UAObject>\n  <UAVariable NodeId=\"ns=1;i=4038\" BrowseName=\"TransitionNumber\" ParentNodeId=\"ns=1;i=4037\" DataType=\"UInt32\">\n    <DisplayName>TransitionNumber</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=4037</Reference>\n    </References>\n    <Value>\n      <UInt32 xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">0</UInt32>\n    </Value>\n  </UAVariable>\n  <UAObject NodeId=\"ns=1;i=1738\" BrowseName=\"1:WaitForSampleTriggerToExtractSampleTransition\" ParentNodeId=\"ns=1;i=1651\">\n    <DisplayName>WaitForSampleTriggerToExtractSampleTransition</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=1739</Reference>\n      <Reference ReferenceType=\"i=51\">ns=1;i=1680</Reference>\n      <Reference ReferenceType=\"i=52\">ns=1;i=1682</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=2310</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=1651</Reference>\n    </References>\n  </UAObject>\n  <UAVariable NodeId=\"ns=1;i=1739\" BrowseName=\"TransitionNumber\" ParentNodeId=\"ns=1;i=1738\" DataType=\"UInt32\">\n    <DisplayName>TransitionNumber</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=1738</Reference>\n    </References>\n    <Value>\n      <UInt32 xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">0</UInt32>\n    </Value>\n  </UAVariable>\n  <UAObject NodeId=\"ns=1;i=1740\" BrowseName=\"1:ExtractSampleTransition\" ParentNodeId=\"ns=1;i=1651\">\n    <DisplayName>ExtractSampleTransition</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=1741</Reference>\n      <Reference ReferenceType=\"i=51\">ns=1;i=1682</Reference>\n      <Reference ReferenceType=\"i=52\">ns=1;i=1682</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=2310</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=1651</Reference>\n    </References>\n  </UAObject>\n  <UAVariable NodeId=\"ns=1;i=1741\" BrowseName=\"TransitionNumber\" ParentNodeId=\"ns=1;i=1740\" DataType=\"UInt32\">\n    <DisplayName>TransitionNumber</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=1740</Reference>\n    </References>\n    <Value>\n      <UInt32 xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">0</UInt32>\n    </Value>\n  </UAVariable>\n  <UAObject NodeId=\"ns=1;i=1742\" BrowseName=\"1:ExtractSampleToPrepareSampleTransition\" ParentNodeId=\"ns=1;i=1651\">\n    <DisplayName>ExtractSampleToPrepareSampleTransition</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=1743</Reference>\n      <Reference ReferenceType=\"i=51\">ns=1;i=1682</Reference>\n      <Reference ReferenceType=\"i=52\">ns=1;i=1684</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=2310</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=1651</Reference>\n    </References>\n  </UAObject>\n  <UAVariable NodeId=\"ns=1;i=1743\" BrowseName=\"TransitionNumber\" ParentNodeId=\"ns=1;i=1742\" DataType=\"UInt32\">\n    <DisplayName>TransitionNumber</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=1742</Reference>\n    </References>\n    <Value>\n      <UInt32 xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">0</UInt32>\n    </Value>\n  </UAVariable>\n  <UAObject NodeId=\"ns=1;i=1744\" BrowseName=\"1:PrepareSampleTransition\" ParentNodeId=\"ns=1;i=1651\">\n    <DisplayName>PrepareSampleTransition</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=1745</Reference>\n      <Reference ReferenceType=\"i=51\">ns=1;i=1684</Reference>\n      <Reference ReferenceType=\"i=52\">ns=1;i=1684</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=2310</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=1651</Reference>\n    </References>\n  </UAObject>\n  <UAVariable NodeId=\"ns=1;i=1745\" BrowseName=\"TransitionNumber\" ParentNodeId=\"ns=1;i=1744\" DataType=\"UInt32\">\n    <DisplayName>TransitionNumber</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=1744</Reference>\n    </References>\n    <Value>\n      <UInt32 xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">0</UInt32>\n    </Value>\n  </UAVariable>\n  <UAObject NodeId=\"ns=1;i=1746\" BrowseName=\"1:PrepareSampleToAnalyseSampleTransition\" ParentNodeId=\"ns=1;i=1651\">\n    <DisplayName>PrepareSampleToAnalyseSampleTransition</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=1747</Reference>\n      <Reference ReferenceType=\"i=51\">ns=1;i=1684</Reference>\n      <Reference ReferenceType=\"i=52\">ns=1;i=1686</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=2310</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=1651</Reference>\n    </References>\n  </UAObject>\n  <UAVariable NodeId=\"ns=1;i=1747\" BrowseName=\"TransitionNumber\" ParentNodeId=\"ns=1;i=1746\" DataType=\"UInt32\">\n    <DisplayName>TransitionNumber</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=1746</Reference>\n    </References>\n    <Value>\n      <UInt32 xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">0</UInt32>\n    </Value>\n  </UAVariable>\n  <UAObject NodeId=\"ns=1;i=1748\" BrowseName=\"1:AnalyseSampleTransition\" ParentNodeId=\"ns=1;i=1651\">\n    <DisplayName>AnalyseSampleTransition</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=1749</Reference>\n      <Reference ReferenceType=\"i=51\">ns=1;i=1686</Reference>\n      <Reference ReferenceType=\"i=52\">ns=1;i=1686</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=2310</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=1651</Reference>\n    </References>\n  </UAObject>\n  <UAVariable NodeId=\"ns=1;i=1749\" BrowseName=\"TransitionNumber\" ParentNodeId=\"ns=1;i=1748\" DataType=\"UInt32\">\n    <DisplayName>TransitionNumber</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=1748</Reference>\n    </References>\n    <Value>\n      <UInt32 xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">0</UInt32>\n    </Value>\n  </UAVariable>\n  <UAObject NodeId=\"ns=1;i=1750\" BrowseName=\"1:AnalyseSampleToPublishResultsTransition\" ParentNodeId=\"ns=1;i=1651\">\n    <DisplayName>AnalyseSampleToPublishResultsTransition</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=1751</Reference>\n      <Reference ReferenceType=\"i=51\">ns=1;i=1686</Reference>\n      <Reference ReferenceType=\"i=52\">ns=1;i=1696</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=2310</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=1651</Reference>\n    </References>\n  </UAObject>\n  <UAVariable NodeId=\"ns=1;i=1751\" BrowseName=\"TransitionNumber\" ParentNodeId=\"ns=1;i=1750\" DataType=\"UInt32\">\n    <DisplayName>TransitionNumber</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=1750</Reference>\n    </References>\n    <Value>\n      <UInt32 xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">0</UInt32>\n    </Value>\n  </UAVariable>\n  <UAObject NodeId=\"ns=1;i=4039\" BrowseName=\"1:SelectExecutionCycleToWaitForDiagnosticTriggerTransition\" ParentNodeId=\"ns=1;i=1651\">\n    <DisplayName>SelectExecutionCycleToWaitForDiagnosticTriggerTransition</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=4040</Reference>\n      <Reference ReferenceType=\"i=51\">ns=1;i=4031</Reference>\n      <Reference ReferenceType=\"i=52\">ns=1;i=1688</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=2310</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=1651</Reference>\n    </References>\n  </UAObject>\n  <UAVariable NodeId=\"ns=1;i=4040\" BrowseName=\"TransitionNumber\" ParentNodeId=\"ns=1;i=4039\" DataType=\"UInt32\">\n    <DisplayName>TransitionNumber</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=4039</Reference>\n    </References>\n    <Value>\n      <UInt32 xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">0</UInt32>\n    </Value>\n  </UAVariable>\n  <UAObject NodeId=\"ns=1;i=1754\" BrowseName=\"1:WaitForDiagnosticTriggerToDiagnosticTransition\" ParentNodeId=\"ns=1;i=1651\">\n    <DisplayName>WaitForDiagnosticTriggerToDiagnosticTransition</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=1755</Reference>\n      <Reference ReferenceType=\"i=51\">ns=1;i=1688</Reference>\n      <Reference ReferenceType=\"i=52\">ns=1;i=1690</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=2310</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=1651</Reference>\n    </References>\n  </UAObject>\n  <UAVariable NodeId=\"ns=1;i=1755\" BrowseName=\"TransitionNumber\" ParentNodeId=\"ns=1;i=1754\" DataType=\"UInt32\">\n    <DisplayName>TransitionNumber</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=1754</Reference>\n    </References>\n    <Value>\n      <UInt32 xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">0</UInt32>\n    </Value>\n  </UAVariable>\n  <UAObject NodeId=\"ns=1;i=1756\" BrowseName=\"1:DiagnosticTransition\" ParentNodeId=\"ns=1;i=1651\">\n    <DisplayName>DiagnosticTransition</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=1757</Reference>\n      <Reference ReferenceType=\"i=51\">ns=1;i=1690</Reference>\n      <Reference ReferenceType=\"i=52\">ns=1;i=1690</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=2310</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=1651</Reference>\n    </References>\n  </UAObject>\n  <UAVariable NodeId=\"ns=1;i=1757\" BrowseName=\"TransitionNumber\" ParentNodeId=\"ns=1;i=1756\" DataType=\"UInt32\">\n    <DisplayName>TransitionNumber</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=1756</Reference>\n    </References>\n    <Value>\n      <UInt32 xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">0</UInt32>\n    </Value>\n  </UAVariable>\n  <UAObject NodeId=\"ns=1;i=1758\" BrowseName=\"1:DiagnosticToPublishResultsTransition\" ParentNodeId=\"ns=1;i=1651\">\n    <DisplayName>DiagnosticToPublishResultsTransition</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=1759</Reference>\n      <Reference ReferenceType=\"i=51\">ns=1;i=1690</Reference>\n      <Reference ReferenceType=\"i=52\">ns=1;i=1696</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=2310</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=1651</Reference>\n    </References>\n  </UAObject>\n  <UAVariable NodeId=\"ns=1;i=1759\" BrowseName=\"TransitionNumber\" ParentNodeId=\"ns=1;i=1758\" DataType=\"UInt32\">\n    <DisplayName>TransitionNumber</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=1758</Reference>\n    </References>\n    <Value>\n      <UInt32 xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">0</UInt32>\n    </Value>\n  </UAVariable>\n  <UAObject NodeId=\"ns=1;i=4041\" BrowseName=\"1:SelectExecutionCycleToWaitForCleaningTriggerTransition\" ParentNodeId=\"ns=1;i=1651\">\n    <DisplayName>SelectExecutionCycleToWaitForCleaningTriggerTransition</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=4042</Reference>\n      <Reference ReferenceType=\"i=51\">ns=1;i=4031</Reference>\n      <Reference ReferenceType=\"i=52\">ns=1;i=1692</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=2310</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=1651</Reference>\n    </References>\n  </UAObject>\n  <UAVariable NodeId=\"ns=1;i=4042\" BrowseName=\"TransitionNumber\" ParentNodeId=\"ns=1;i=4041\" DataType=\"UInt32\">\n    <DisplayName>TransitionNumber</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=4041</Reference>\n    </References>\n    <Value>\n      <UInt32 xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">0</UInt32>\n    </Value>\n  </UAVariable>\n  <UAObject NodeId=\"ns=1;i=1762\" BrowseName=\"1:WaitForCleaningTriggerToCleaningTransition\" ParentNodeId=\"ns=1;i=1651\">\n    <DisplayName>WaitForCleaningTriggerToCleaningTransition</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=1763</Reference>\n      <Reference ReferenceType=\"i=51\">ns=1;i=1692</Reference>\n      <Reference ReferenceType=\"i=52\">ns=1;i=1694</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=2310</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=1651</Reference>\n    </References>\n  </UAObject>\n  <UAVariable NodeId=\"ns=1;i=1763\" BrowseName=\"TransitionNumber\" ParentNodeId=\"ns=1;i=1762\" DataType=\"UInt32\">\n    <DisplayName>TransitionNumber</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=1762</Reference>\n    </References>\n    <Value>\n      <UInt32 xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">0</UInt32>\n    </Value>\n  </UAVariable>\n  <UAObject NodeId=\"ns=1;i=1764\" BrowseName=\"1:CleaningTransition\" ParentNodeId=\"ns=1;i=1651\">\n    <DisplayName>CleaningTransition</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=1765</Reference>\n      <Reference ReferenceType=\"i=51\">ns=1;i=1694</Reference>\n      <Reference ReferenceType=\"i=52\">ns=1;i=1694</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=2310</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=1651</Reference>\n    </References>\n  </UAObject>\n  <UAVariable NodeId=\"ns=1;i=1765\" BrowseName=\"TransitionNumber\" ParentNodeId=\"ns=1;i=1764\" DataType=\"UInt32\">\n    <DisplayName>TransitionNumber</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=1764</Reference>\n    </References>\n    <Value>\n      <UInt32 xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">0</UInt32>\n    </Value>\n  </UAVariable>\n  <UAObject NodeId=\"ns=1;i=1766\" BrowseName=\"1:CleaningToPublishResultsTransition\" ParentNodeId=\"ns=1;i=1651\">\n    <DisplayName>CleaningToPublishResultsTransition</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=1767</Reference>\n      <Reference ReferenceType=\"i=51\">ns=1;i=1694</Reference>\n      <Reference ReferenceType=\"i=52\">ns=1;i=1696</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=2310</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=1651</Reference>\n    </References>\n  </UAObject>\n  <UAVariable NodeId=\"ns=1;i=1767\" BrowseName=\"TransitionNumber\" ParentNodeId=\"ns=1;i=1766\" DataType=\"UInt32\">\n    <DisplayName>TransitionNumber</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=1766</Reference>\n    </References>\n    <Value>\n      <UInt32 xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">0</UInt32>\n    </Value>\n  </UAVariable>\n  <UAObject NodeId=\"ns=1;i=1768\" BrowseName=\"1:PublishResultsToCleanupSamplingSystemTransition\" ParentNodeId=\"ns=1;i=1651\">\n    <DisplayName>PublishResultsToCleanupSamplingSystemTransition</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=1769</Reference>\n      <Reference ReferenceType=\"i=51\">ns=1;i=1696</Reference>\n      <Reference ReferenceType=\"i=52\">ns=1;i=1700</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=2310</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=1651</Reference>\n    </References>\n  </UAObject>\n  <UAVariable NodeId=\"ns=1;i=1769\" BrowseName=\"TransitionNumber\" ParentNodeId=\"ns=1;i=1768\" DataType=\"UInt32\">\n    <DisplayName>TransitionNumber</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=1768</Reference>\n    </References>\n    <Value>\n      <UInt32 xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">0</UInt32>\n    </Value>\n  </UAVariable>\n  <UAObject NodeId=\"ns=1;i=1770\" BrowseName=\"1:PublishResultsToEjectGrabSampleTransition\" ParentNodeId=\"ns=1;i=1651\">\n    <DisplayName>PublishResultsToEjectGrabSampleTransition</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=1771</Reference>\n      <Reference ReferenceType=\"i=51\">ns=1;i=1696</Reference>\n      <Reference ReferenceType=\"i=52\">ns=1;i=1698</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=2310</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=1651</Reference>\n    </References>\n  </UAObject>\n  <UAVariable NodeId=\"ns=1;i=1771\" BrowseName=\"TransitionNumber\" ParentNodeId=\"ns=1;i=1770\" DataType=\"UInt32\">\n    <DisplayName>TransitionNumber</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=1770</Reference>\n    </References>\n    <Value>\n      <UInt32 xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">0</UInt32>\n    </Value>\n  </UAVariable>\n  <UAObject NodeId=\"ns=1;i=1772\" BrowseName=\"1:EjectGrabSampleTransition\" ParentNodeId=\"ns=1;i=1651\">\n    <DisplayName>EjectGrabSampleTransition</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=1773</Reference>\n      <Reference ReferenceType=\"i=51\">ns=1;i=1698</Reference>\n      <Reference ReferenceType=\"i=52\">ns=1;i=1698</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=2310</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=1651</Reference>\n    </References>\n  </UAObject>\n  <UAVariable NodeId=\"ns=1;i=1773\" BrowseName=\"TransitionNumber\" ParentNodeId=\"ns=1;i=1772\" DataType=\"UInt32\">\n    <DisplayName>TransitionNumber</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=1772</Reference>\n    </References>\n    <Value>\n      <UInt32 xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">0</UInt32>\n    </Value>\n  </UAVariable>\n  <UAObject NodeId=\"ns=1;i=1774\" BrowseName=\"1:EjectGrabSampleToCleanupSamplingSystemTransition\" ParentNodeId=\"ns=1;i=1651\">\n    <DisplayName>EjectGrabSampleToCleanupSamplingSystemTransition</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=1775</Reference>\n      <Reference ReferenceType=\"i=51\">ns=1;i=1698</Reference>\n      <Reference ReferenceType=\"i=52\">ns=1;i=1700</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=2310</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=1651</Reference>\n    </References>\n  </UAObject>\n  <UAVariable NodeId=\"ns=1;i=1775\" BrowseName=\"TransitionNumber\" ParentNodeId=\"ns=1;i=1774\" DataType=\"UInt32\">\n    <DisplayName>TransitionNumber</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=1774</Reference>\n    </References>\n    <Value>\n      <UInt32 xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">0</UInt32>\n    </Value>\n  </UAVariable>\n  <UAObject NodeId=\"ns=1;i=1776\" BrowseName=\"1:CleanupSamplingSystemTransition\" ParentNodeId=\"ns=1;i=1651\">\n    <DisplayName>CleanupSamplingSystemTransition</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=1777</Reference>\n      <Reference ReferenceType=\"i=51\">ns=1;i=1700</Reference>\n      <Reference ReferenceType=\"i=52\">ns=1;i=1700</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=2310</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=1651</Reference>\n    </References>\n  </UAObject>\n  <UAVariable NodeId=\"ns=1;i=1777\" BrowseName=\"TransitionNumber\" ParentNodeId=\"ns=1;i=1776\" DataType=\"UInt32\">\n    <DisplayName>TransitionNumber</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=1776</Reference>\n    </References>\n    <Value>\n      <UInt32 xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">0</UInt32>\n    </Value>\n  </UAVariable>\n  <UAObject NodeId=\"ns=1;i=4043\" BrowseName=\"1:CleanupSamplingSystemToSelectExecutionCycleTransition\" ParentNodeId=\"ns=1;i=1651\">\n    <DisplayName>CleanupSamplingSystemToSelectExecutionCycleTransition</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=4044</Reference>\n      <Reference ReferenceType=\"i=51\">ns=1;i=1700</Reference>\n      <Reference ReferenceType=\"i=52\">ns=1;i=4031</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=2310</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=1651</Reference>\n    </References>\n  </UAObject>\n  <UAVariable NodeId=\"ns=1;i=4044\" BrowseName=\"TransitionNumber\" ParentNodeId=\"ns=1;i=4043\" DataType=\"UInt32\">\n    <DisplayName>TransitionNumber</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=4043</Reference>\n    </References>\n    <Value>\n      <UInt32 xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">0</UInt32>\n    </Value>\n  </UAVariable>\n  <UAObjectType NodeId=\"ns=1;i=1866\" BrowseName=\"1:StreamType\">\n    <DisplayName>StreamType</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=1867</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=4726</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=1954</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=1955</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=1956</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=1957</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=1958</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=1959</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=1960</Reference>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">ns=2;i=12253</Reference>\n    </References>\n  </UAObjectType>\n  <UAObject NodeId=\"ns=1;i=1867\" BrowseName=\"2:ParameterSet\" ParentNodeId=\"ns=1;i=1866\">\n    <DisplayName>ParameterSet</DisplayName>\n    <Description>Flat list of Parameters</Description>\n    <References>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=1872</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=1875</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=1878</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=1881</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=1884</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=1887</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=1890</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=1896</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=4046</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=4047</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=1900</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=1903</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=1909</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=1912</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=1915</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=4743</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=1918</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=1921</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=1924</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=1927</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=1930</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=1933</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=1936</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=1939</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=1942</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=1945</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=1948</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=1951</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=58</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=80</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=1866</Reference>\n    </References>\n  </UAObject>\n  <UAVariable NodeId=\"ns=1;i=1872\" BrowseName=\"1:IsEnabled\" ParentNodeId=\"ns=1;i=1867\" DataType=\"Boolean\">\n    <DisplayName>IsEnabled</DisplayName>\n    <Description>True if this stream maybe used to perform acquisition</Description>\n    <References>\n      <Reference ReferenceType=\"Organizes\" IsForward=\"false\">ns=1;i=1954</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=2365</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=1867</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=1875\" BrowseName=\"1:IsForced\" ParentNodeId=\"ns=1;i=1867\" DataType=\"Boolean\">\n    <DisplayName>IsForced</DisplayName>\n    <Description>True if this stream is forced, which means that is the only Stream on this AnalyserChannel that can be used to perform acquisition</Description>\n    <References>\n      <Reference ReferenceType=\"Organizes\" IsForward=\"false\">ns=1;i=1954</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=2365</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=80</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=1867</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=1878\" BrowseName=\"1:DiagnosticStatus\" ParentNodeId=\"ns=1;i=1867\" DataType=\"ns=2;i=12386\">\n    <DisplayName>DiagnosticStatus</DisplayName>\n    <Description>Stream health status</Description>\n    <References>\n      <Reference ReferenceType=\"Organizes\" IsForward=\"false\">ns=1;i=1955</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=2365</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=1867</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=1881\" BrowseName=\"1:LastCalibrationTime\" ParentNodeId=\"ns=1;i=1867\" DataType=\"DateTime\">\n    <DisplayName>LastCalibrationTime</DisplayName>\n    <Description>Time at which the last calibration was run</Description>\n    <References>\n      <Reference ReferenceType=\"Organizes\" IsForward=\"false\">ns=1;i=1955</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=2365</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=80</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=1867</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=1884\" BrowseName=\"1:LastValidationTime\" ParentNodeId=\"ns=1;i=1867\" DataType=\"DateTime\">\n    <DisplayName>LastValidationTime</DisplayName>\n    <Description>Time at which the last validation was run</Description>\n    <References>\n      <Reference ReferenceType=\"Organizes\" IsForward=\"false\">ns=1;i=1955</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=2365</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=80</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=1867</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=1887\" BrowseName=\"1:LastSampleTime\" ParentNodeId=\"ns=1;i=1867\" DataType=\"DateTime\">\n    <DisplayName>LastSampleTime</DisplayName>\n    <Description>Time at which the last sample was acquired</Description>\n    <References>\n      <Reference ReferenceType=\"Organizes\" IsForward=\"false\">ns=1;i=1955</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=2365</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=1867</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=1890\" BrowseName=\"1:TimeBetweenSamples\" ParentNodeId=\"ns=1;i=1867\" DataType=\"i=290\">\n    <DisplayName>TimeBetweenSamples</DisplayName>\n    <Description>Number of milliseconds between two consecutive starts of acquisition</Description>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=1893</Reference>\n      <Reference ReferenceType=\"Organizes\" IsForward=\"false\">ns=1;i=1956</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=2368</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=80</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=1867</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=1893\" BrowseName=\"EURange\" ParentNodeId=\"ns=1;i=1890\" DataType=\"i=884\">\n    <DisplayName>EURange</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=1890</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=1896\" BrowseName=\"1:IsActive\" ParentNodeId=\"ns=1;i=1867\" DataType=\"Boolean\">\n    <DisplayName>IsActive</DisplayName>\n    <Description>True if this stream is actually running, acquiring data</Description>\n    <References>\n      <Reference ReferenceType=\"Organizes\" IsForward=\"false\">ns=1;i=1957</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=2365</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=1867</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=4046\" BrowseName=\"1:ExecutionCycle\" ParentNodeId=\"ns=1;i=1867\" DataType=\"ns=1;i=4189\">\n    <DisplayName>ExecutionCycle</DisplayName>\n    <Description>Indicates which Execution cycle is in progress</Description>\n    <References>\n      <Reference ReferenceType=\"Organizes\" IsForward=\"false\">ns=1;i=1957</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=2365</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=1867</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=4047\" BrowseName=\"1:ExecutionCycleSubcode\" ParentNodeId=\"ns=1;i=1867\" DataType=\"UInteger\">\n    <DisplayName>ExecutionCycleSubcode</DisplayName>\n    <Description>Indicates which Execution cycle subcode is in progress</Description>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=4050</Reference>\n      <Reference ReferenceType=\"Organizes\" IsForward=\"false\">ns=1;i=1957</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=2376</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=1867</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=4050\" BrowseName=\"EnumStrings\" ParentNodeId=\"ns=1;i=4047\" DataType=\"LocalizedText\" ValueRank=\"1\">\n    <DisplayName>EnumStrings</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=4047</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=1900\" BrowseName=\"1:Progress\" ParentNodeId=\"ns=1;i=1867\" DataType=\"Float\">\n    <DisplayName>Progress</DisplayName>\n    <Description>Indicates the progress of an acquisition in terms of percentage of completion. Its value shall be between 0 and 100.</Description>\n    <References>\n      <Reference ReferenceType=\"Organizes\" IsForward=\"false\">ns=1;i=1957</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=2365</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=1867</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=1903\" BrowseName=\"1:AcquisitionCounter\" ParentNodeId=\"ns=1;i=1867\" DataType=\"i=289\">\n    <DisplayName>AcquisitionCounter</DisplayName>\n    <Description>Simple counter incremented after each Sampling acquisition performed on this Stream</Description>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=1906</Reference>\n      <Reference ReferenceType=\"Organizes\" IsForward=\"false\">ns=1;i=1958</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=2368</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=1867</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=1906\" BrowseName=\"EURange\" ParentNodeId=\"ns=1;i=1903\" DataType=\"i=884\">\n    <DisplayName>EURange</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=1903</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=1909\" BrowseName=\"1:AcquisitionResultStatus\" ParentNodeId=\"ns=1;i=1867\" DataType=\"ns=1;i=2779\">\n    <DisplayName>AcquisitionResultStatus</DisplayName>\n    <Description>Quality of the acquisition</Description>\n    <References>\n      <Reference ReferenceType=\"Organizes\" IsForward=\"false\">ns=1;i=1958</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=2365</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=1867</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=1912\" BrowseName=\"1:RawData\" ParentNodeId=\"ns=1;i=1867\">\n    <DisplayName>RawData</DisplayName>\n    <Description>Raw data produced as a result of data acquisition on the Stream</Description>\n    <References>\n      <Reference ReferenceType=\"Organizes\" IsForward=\"false\">ns=1;i=1958</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=2365</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=80</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=1867</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=1915\" BrowseName=\"1:ScaledData\" ParentNodeId=\"ns=1;i=1867\">\n    <DisplayName>ScaledData</DisplayName>\n    <Description>Scaled data produced as a result of data acquisition on the Stream and application of the analyser model</Description>\n    <References>\n      <Reference ReferenceType=\"Organizes\" IsForward=\"false\">ns=1;i=1958</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=2365</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=1867</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=4743\" BrowseName=\"1:Offset\" ParentNodeId=\"ns=1;i=1867\" DataType=\"i=290\">\n    <DisplayName>Offset</DisplayName>\n    <Description>Difference in milliseconds between the start of sample extraction and the start of the analysis.</Description>\n    <References>\n      <Reference ReferenceType=\"Organizes\" IsForward=\"false\">ns=1;i=1958</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=2365</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=80</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=1867</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=1918\" BrowseName=\"1:AcquisitionEndTime\" ParentNodeId=\"ns=1;i=1867\" DataType=\"DateTime\">\n    <DisplayName>AcquisitionEndTime</DisplayName>\n    <Description>The end time of the AnalyseSample or AnalyseCalibrationSample or AnalyseValidationSample state of the AnalyserChannel_OperatingModeExecuteSubStateMachine state machine</Description>\n    <References>\n      <Reference ReferenceType=\"Organizes\" IsForward=\"false\">ns=1;i=1958</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=2365</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=1867</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=1921\" BrowseName=\"1:CampaignId\" ParentNodeId=\"ns=1;i=1867\" DataType=\"String\" AccessLevel=\"3\" UserAccessLevel=\"3\">\n    <DisplayName>CampaignId</DisplayName>\n    <Description>Defines the current campaign</Description>\n    <References>\n      <Reference ReferenceType=\"Organizes\" IsForward=\"false\">ns=1;i=1960</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=2365</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=80</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=1867</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=1924\" BrowseName=\"1:BatchId\" ParentNodeId=\"ns=1;i=1867\" DataType=\"String\" AccessLevel=\"3\" UserAccessLevel=\"3\">\n    <DisplayName>BatchId</DisplayName>\n    <Description>Defines the current batch</Description>\n    <References>\n      <Reference ReferenceType=\"Organizes\" IsForward=\"false\">ns=1;i=1960</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=2365</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=80</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=1867</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=1927\" BrowseName=\"1:SubBatchId\" ParentNodeId=\"ns=1;i=1867\" DataType=\"String\" AccessLevel=\"3\" UserAccessLevel=\"3\">\n    <DisplayName>SubBatchId</DisplayName>\n    <Description>Defines the current sub-batch</Description>\n    <References>\n      <Reference ReferenceType=\"Organizes\" IsForward=\"false\">ns=1;i=1960</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=2365</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=80</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=1867</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=1930\" BrowseName=\"1:LotId\" ParentNodeId=\"ns=1;i=1867\" DataType=\"String\" AccessLevel=\"3\" UserAccessLevel=\"3\">\n    <DisplayName>LotId</DisplayName>\n    <Description>Defines the current lot</Description>\n    <References>\n      <Reference ReferenceType=\"Organizes\" IsForward=\"false\">ns=1;i=1960</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=2365</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=80</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=1867</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=1933\" BrowseName=\"1:MaterialId\" ParentNodeId=\"ns=1;i=1867\" DataType=\"String\" AccessLevel=\"3\" UserAccessLevel=\"3\">\n    <DisplayName>MaterialId</DisplayName>\n    <Description>Defines the current material</Description>\n    <References>\n      <Reference ReferenceType=\"Organizes\" IsForward=\"false\">ns=1;i=1960</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=2365</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=80</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=1867</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=1936\" BrowseName=\"1:Process\" ParentNodeId=\"ns=1;i=1867\" DataType=\"String\" AccessLevel=\"3\" UserAccessLevel=\"3\">\n    <DisplayName>Process</DisplayName>\n    <Description>Current Process name</Description>\n    <References>\n      <Reference ReferenceType=\"Organizes\" IsForward=\"false\">ns=1;i=1960</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=2365</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=80</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=1867</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=1939\" BrowseName=\"1:Unit\" ParentNodeId=\"ns=1;i=1867\" DataType=\"String\" AccessLevel=\"3\" UserAccessLevel=\"3\">\n    <DisplayName>Unit</DisplayName>\n    <Description>Current Unit name</Description>\n    <References>\n      <Reference ReferenceType=\"Organizes\" IsForward=\"false\">ns=1;i=1960</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=2365</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=80</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=1867</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=1942\" BrowseName=\"1:Operation\" ParentNodeId=\"ns=1;i=1867\" DataType=\"String\" AccessLevel=\"3\" UserAccessLevel=\"3\">\n    <DisplayName>Operation</DisplayName>\n    <Description>Current Operation name</Description>\n    <References>\n      <Reference ReferenceType=\"Organizes\" IsForward=\"false\">ns=1;i=1960</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=2365</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=80</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=1867</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=1945\" BrowseName=\"1:Phase\" ParentNodeId=\"ns=1;i=1867\" DataType=\"String\" AccessLevel=\"3\" UserAccessLevel=\"3\">\n    <DisplayName>Phase</DisplayName>\n    <Description>Current Phase name</Description>\n    <References>\n      <Reference ReferenceType=\"Organizes\" IsForward=\"false\">ns=1;i=1960</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=2365</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=80</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=1867</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=1948\" BrowseName=\"1:UserId\" ParentNodeId=\"ns=1;i=1867\" DataType=\"String\" AccessLevel=\"3\" UserAccessLevel=\"3\">\n    <DisplayName>UserId</DisplayName>\n    <Description>Login name of the user who is logged on at the device console</Description>\n    <References>\n      <Reference ReferenceType=\"Organizes\" IsForward=\"false\">ns=1;i=1960</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=2365</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=80</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=1867</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=1951\" BrowseName=\"1:SampleId\" ParentNodeId=\"ns=1;i=1867\" DataType=\"String\" AccessLevel=\"3\" UserAccessLevel=\"3\">\n    <DisplayName>SampleId</DisplayName>\n    <Description>Identifier for the sample</Description>\n    <References>\n      <Reference ReferenceType=\"Organizes\" IsForward=\"false\">ns=1;i=1960</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=2365</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=80</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=1867</Reference>\n    </References>\n  </UAVariable>\n  <UAObject NodeId=\"ns=1;i=4726\" BrowseName=\"1:&lt;GroupIdentifier&gt;\" SymbolicName=\"GroupIdentifier\" ParentNodeId=\"ns=1;i=1866\">\n    <DisplayName>&lt;GroupIdentifier&gt;</DisplayName>\n    <Description>Group definition</Description>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">ns=2;i=12257</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=11508</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=1866</Reference>\n    </References>\n  </UAObject>\n  <UAObject NodeId=\"ns=1;i=1954\" BrowseName=\"1:Configuration\" ParentNodeId=\"ns=1;i=1866\">\n    <DisplayName>Configuration</DisplayName>\n    <References>\n      <Reference ReferenceType=\"Organizes\">ns=1;i=1872</Reference>\n      <Reference ReferenceType=\"Organizes\">ns=1;i=1875</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">ns=2;i=12257</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=1866</Reference>\n    </References>\n  </UAObject>\n  <UAObject NodeId=\"ns=1;i=1955\" BrowseName=\"1:Status\" ParentNodeId=\"ns=1;i=1866\">\n    <DisplayName>Status</DisplayName>\n    <References>\n      <Reference ReferenceType=\"Organizes\">ns=1;i=1878</Reference>\n      <Reference ReferenceType=\"Organizes\">ns=1;i=1881</Reference>\n      <Reference ReferenceType=\"Organizes\">ns=1;i=1884</Reference>\n      <Reference ReferenceType=\"Organizes\">ns=1;i=1887</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">ns=2;i=12257</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=1866</Reference>\n    </References>\n  </UAObject>\n  <UAObject NodeId=\"ns=1;i=1956\" BrowseName=\"1:AcquisitionSettings\" ParentNodeId=\"ns=1;i=1866\">\n    <DisplayName>AcquisitionSettings</DisplayName>\n    <References>\n      <Reference ReferenceType=\"Organizes\">ns=1;i=1890</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">ns=2;i=12257</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=1866</Reference>\n    </References>\n  </UAObject>\n  <UAObject NodeId=\"ns=1;i=1957\" BrowseName=\"1:AcquisitionStatus\" ParentNodeId=\"ns=1;i=1866\">\n    <DisplayName>AcquisitionStatus</DisplayName>\n    <References>\n      <Reference ReferenceType=\"Organizes\">ns=1;i=1896</Reference>\n      <Reference ReferenceType=\"Organizes\">ns=1;i=4046</Reference>\n      <Reference ReferenceType=\"Organizes\">ns=1;i=4047</Reference>\n      <Reference ReferenceType=\"Organizes\">ns=1;i=1900</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">ns=2;i=12257</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=1866</Reference>\n    </References>\n  </UAObject>\n  <UAObject NodeId=\"ns=1;i=1958\" BrowseName=\"1:AcquisitionData\" ParentNodeId=\"ns=1;i=1866\">\n    <DisplayName>AcquisitionData</DisplayName>\n    <References>\n      <Reference ReferenceType=\"Organizes\">ns=1;i=1903</Reference>\n      <Reference ReferenceType=\"Organizes\">ns=1;i=1909</Reference>\n      <Reference ReferenceType=\"Organizes\">ns=1;i=1912</Reference>\n      <Reference ReferenceType=\"Organizes\">ns=1;i=1915</Reference>\n      <Reference ReferenceType=\"Organizes\">ns=1;i=4743</Reference>\n      <Reference ReferenceType=\"Organizes\">ns=1;i=1918</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">ns=2;i=12257</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=1866</Reference>\n    </References>\n  </UAObject>\n  <UAObject NodeId=\"ns=1;i=1959\" BrowseName=\"1:ChemometricModelSettings\" ParentNodeId=\"ns=1;i=1866\">\n    <DisplayName>ChemometricModelSettings</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">ns=2;i=12257</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=1866</Reference>\n    </References>\n  </UAObject>\n  <UAObject NodeId=\"ns=1;i=1960\" BrowseName=\"1:Context\" ParentNodeId=\"ns=1;i=1866\">\n    <DisplayName>Context</DisplayName>\n    <References>\n      <Reference ReferenceType=\"Organizes\">ns=1;i=1921</Reference>\n      <Reference ReferenceType=\"Organizes\">ns=1;i=1924</Reference>\n      <Reference ReferenceType=\"Organizes\">ns=1;i=1927</Reference>\n      <Reference ReferenceType=\"Organizes\">ns=1;i=1930</Reference>\n      <Reference ReferenceType=\"Organizes\">ns=1;i=1933</Reference>\n      <Reference ReferenceType=\"Organizes\">ns=1;i=1936</Reference>\n      <Reference ReferenceType=\"Organizes\">ns=1;i=1939</Reference>\n      <Reference ReferenceType=\"Organizes\">ns=1;i=1942</Reference>\n      <Reference ReferenceType=\"Organizes\">ns=1;i=1945</Reference>\n      <Reference ReferenceType=\"Organizes\">ns=1;i=1948</Reference>\n      <Reference ReferenceType=\"Organizes\">ns=1;i=1951</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">ns=2;i=12257</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=1866</Reference>\n    </References>\n  </UAObject>\n  <UAObjectType NodeId=\"ns=1;i=4753\" BrowseName=\"1:SpectrometerDeviceStreamType\">\n    <DisplayName>SpectrometerDeviceStreamType</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=4754</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=4867</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=4871</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=4873</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=4875</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=4944</Reference>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">ns=1;i=1866</Reference>\n    </References>\n  </UAObjectType>\n  <UAObject NodeId=\"ns=1;i=4754\" BrowseName=\"2:ParameterSet\" ParentNodeId=\"ns=1;i=4753\">\n    <DisplayName>ParameterSet</DisplayName>\n    <Description>Flat list of Parameters</Description>\n    <References>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=4776</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=4782</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=4791</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=4800</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=4803</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=4806</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=4810</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=4813</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=4819</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=4825</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=4831</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=4881</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=4890</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=4899</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=4902</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=4905</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=4908</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=4911</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=4914</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=4917</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=4920</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=4923</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=4926</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=4935</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=58</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=80</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=4753</Reference>\n    </References>\n  </UAObject>\n  <UAVariable NodeId=\"ns=1;i=4776\" BrowseName=\"1:IsEnabled\" ParentNodeId=\"ns=1;i=4754\" DataType=\"Boolean\">\n    <DisplayName>IsEnabled</DisplayName>\n    <Description>True if this stream maybe used to perform acquisition</Description>\n    <References>\n      <Reference ReferenceType=\"Organizes\" IsForward=\"false\">ns=1;i=4867</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=2365</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=4754</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=4782\" BrowseName=\"1:DiagnosticStatus\" ParentNodeId=\"ns=1;i=4754\" DataType=\"ns=2;i=12386\">\n    <DisplayName>DiagnosticStatus</DisplayName>\n    <Description>Stream health status</Description>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=2365</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=4754</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=4791\" BrowseName=\"1:LastSampleTime\" ParentNodeId=\"ns=1;i=4754\" DataType=\"DateTime\">\n    <DisplayName>LastSampleTime</DisplayName>\n    <Description>Time at which the last sample was acquired</Description>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=2365</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=4754</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=4800\" BrowseName=\"1:IsActive\" ParentNodeId=\"ns=1;i=4754\" DataType=\"Boolean\">\n    <DisplayName>IsActive</DisplayName>\n    <Description>True if this stream is actually running, acquiring data</Description>\n    <References>\n      <Reference ReferenceType=\"Organizes\" IsForward=\"false\">ns=1;i=4873</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=2365</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=4754</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=4803\" BrowseName=\"1:ExecutionCycle\" ParentNodeId=\"ns=1;i=4754\" DataType=\"ns=1;i=4189\">\n    <DisplayName>ExecutionCycle</DisplayName>\n    <Description>Indicates which Execution cycle is in progress</Description>\n    <References>\n      <Reference ReferenceType=\"Organizes\" IsForward=\"false\">ns=1;i=4873</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=2365</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=4754</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=4806\" BrowseName=\"1:ExecutionCycleSubcode\" ParentNodeId=\"ns=1;i=4754\" DataType=\"UInteger\">\n    <DisplayName>ExecutionCycleSubcode</DisplayName>\n    <Description>Indicates which Execution cycle subcode is in progress</Description>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=4809</Reference>\n      <Reference ReferenceType=\"Organizes\" IsForward=\"false\">ns=1;i=4873</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=2376</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=4754</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=4809\" BrowseName=\"EnumStrings\" ParentNodeId=\"ns=1;i=4806\" DataType=\"LocalizedText\" ValueRank=\"1\">\n    <DisplayName>EnumStrings</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=4806</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=4810\" BrowseName=\"1:Progress\" ParentNodeId=\"ns=1;i=4754\" DataType=\"Float\">\n    <DisplayName>Progress</DisplayName>\n    <Description>Indicates the progress of an acquisition in terms of percentage of completion. Its value shall be between 0 and 100.</Description>\n    <References>\n      <Reference ReferenceType=\"Organizes\" IsForward=\"false\">ns=1;i=4873</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=2365</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=4754</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=4813\" BrowseName=\"1:AcquisitionCounter\" ParentNodeId=\"ns=1;i=4754\" DataType=\"i=289\">\n    <DisplayName>AcquisitionCounter</DisplayName>\n    <Description>Simple counter incremented after each Sampling acquisition performed on this Stream</Description>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=4817</Reference>\n      <Reference ReferenceType=\"Organizes\" IsForward=\"false\">ns=1;i=4875</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=2368</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=4754</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=4817\" BrowseName=\"EURange\" ParentNodeId=\"ns=1;i=4813\" DataType=\"i=884\">\n    <DisplayName>EURange</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=4813</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=4819\" BrowseName=\"1:AcquisitionResultStatus\" ParentNodeId=\"ns=1;i=4754\" DataType=\"ns=1;i=2779\">\n    <DisplayName>AcquisitionResultStatus</DisplayName>\n    <Description>Quality of the acquisition</Description>\n    <References>\n      <Reference ReferenceType=\"Organizes\" IsForward=\"false\">ns=1;i=4875</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=2365</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=4754</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=4825\" BrowseName=\"1:ScaledData\" ParentNodeId=\"ns=1;i=4754\">\n    <DisplayName>ScaledData</DisplayName>\n    <Description>Scaled data produced as a result of data acquisition on the Stream and application of the analyser model</Description>\n    <References>\n      <Reference ReferenceType=\"Organizes\" IsForward=\"false\">ns=1;i=4875</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=2365</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=4754</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=4831\" BrowseName=\"1:AcquisitionEndTime\" ParentNodeId=\"ns=1;i=4754\" DataType=\"DateTime\">\n    <DisplayName>AcquisitionEndTime</DisplayName>\n    <Description>The end time of the AnalyseSample or AnalyseCalibrationSample or AnalyseValidationSample state of the AnalyserChannel_OperatingModeExecuteSubStateMachine state machine</Description>\n    <References>\n      <Reference ReferenceType=\"Organizes\" IsForward=\"false\">ns=1;i=4875</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=2365</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=4754</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=4881\" BrowseName=\"1:ActiveBackground\" ParentNodeId=\"ns=1;i=4754\" DataType=\"Float\">\n    <DisplayName>ActiveBackground</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=4885</Reference>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=4886</Reference>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=4887</Reference>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=4888</Reference>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=4889</Reference>\n      <Reference ReferenceType=\"Organizes\" IsForward=\"false\">ns=1;i=4867</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=12029</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=4754</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=4885\" BrowseName=\"EURange\" ParentNodeId=\"ns=1;i=4881\" DataType=\"i=884\">\n    <DisplayName>EURange</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=4881</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=4886\" BrowseName=\"EngineeringUnits\" ParentNodeId=\"ns=1;i=4881\" DataType=\"i=887\">\n    <DisplayName>EngineeringUnits</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=4881</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=4887\" BrowseName=\"Title\" ParentNodeId=\"ns=1;i=4881\" DataType=\"LocalizedText\">\n    <DisplayName>Title</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=4881</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=4888\" BrowseName=\"AxisScaleType\" ParentNodeId=\"ns=1;i=4881\" DataType=\"i=12077\">\n    <DisplayName>AxisScaleType</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=4881</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=4889\" BrowseName=\"XAxisDefinition\" ParentNodeId=\"ns=1;i=4881\" DataType=\"i=12079\">\n    <DisplayName>XAxisDefinition</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=4881</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=4890\" BrowseName=\"1:ActiveBackground1\" ParentNodeId=\"ns=1;i=4754\" DataType=\"Float\">\n    <DisplayName>ActiveBackground1</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=4894</Reference>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=4895</Reference>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=4896</Reference>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=4897</Reference>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=4898</Reference>\n      <Reference ReferenceType=\"Organizes\" IsForward=\"false\">ns=1;i=4867</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=12029</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=80</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=4754</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=4894\" BrowseName=\"EURange\" ParentNodeId=\"ns=1;i=4890\" DataType=\"i=884\">\n    <DisplayName>EURange</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=4890</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=4895\" BrowseName=\"EngineeringUnits\" ParentNodeId=\"ns=1;i=4890\" DataType=\"i=887\">\n    <DisplayName>EngineeringUnits</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=4890</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=4896\" BrowseName=\"Title\" ParentNodeId=\"ns=1;i=4890\" DataType=\"LocalizedText\">\n    <DisplayName>Title</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=4890</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=4897\" BrowseName=\"AxisScaleType\" ParentNodeId=\"ns=1;i=4890\" DataType=\"i=12077\">\n    <DisplayName>AxisScaleType</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=4890</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=4898\" BrowseName=\"XAxisDefinition\" ParentNodeId=\"ns=1;i=4890\" DataType=\"i=12079\">\n    <DisplayName>XAxisDefinition</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=4890</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=4899\" BrowseName=\"1:SpectralRange\" ParentNodeId=\"ns=1;i=4754\" DataType=\"i=884\" ValueRank=\"1\">\n    <DisplayName>SpectralRange</DisplayName>\n    <References>\n      <Reference ReferenceType=\"Organizes\" IsForward=\"false\">ns=1;i=4871</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=2365</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=80</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=4754</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=4902\" BrowseName=\"1:Resolution\" ParentNodeId=\"ns=1;i=4754\">\n    <DisplayName>Resolution</DisplayName>\n    <References>\n      <Reference ReferenceType=\"Organizes\" IsForward=\"false\">ns=1;i=4871</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=2365</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=80</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=4754</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=4905\" BrowseName=\"1:RequestedNumberOfScans\" ParentNodeId=\"ns=1;i=4754\" DataType=\"Int32\">\n    <DisplayName>RequestedNumberOfScans</DisplayName>\n    <References>\n      <Reference ReferenceType=\"Organizes\" IsForward=\"false\">ns=1;i=4871</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=2365</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=80</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=4754</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=4908\" BrowseName=\"1:Gain\" ParentNodeId=\"ns=1;i=4754\">\n    <DisplayName>Gain</DisplayName>\n    <References>\n      <Reference ReferenceType=\"Organizes\" IsForward=\"false\">ns=1;i=4871</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=2365</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=80</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=4754</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=4911\" BrowseName=\"1:TransmittanceCutoff\" ParentNodeId=\"ns=1;i=4754\" DataType=\"i=884\">\n    <DisplayName>TransmittanceCutoff</DisplayName>\n    <References>\n      <Reference ReferenceType=\"Organizes\" IsForward=\"false\">ns=1;i=4871</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=2365</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=80</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=4754</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=4914\" BrowseName=\"1:AbsorbanceCutoff\" ParentNodeId=\"ns=1;i=4754\" DataType=\"i=884\">\n    <DisplayName>AbsorbanceCutoff</DisplayName>\n    <References>\n      <Reference ReferenceType=\"Organizes\" IsForward=\"false\">ns=1;i=4871</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=2365</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=80</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=4754</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=4917\" BrowseName=\"1:NumberOfScansDone\" ParentNodeId=\"ns=1;i=4754\" DataType=\"Int32\">\n    <DisplayName>NumberOfScansDone</DisplayName>\n    <References>\n      <Reference ReferenceType=\"Organizes\" IsForward=\"false\">ns=1;i=4873</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=2365</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=80</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=4754</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=4920\" BrowseName=\"1:TotalNumberOfScansDone\" ParentNodeId=\"ns=1;i=4754\" DataType=\"Int32\">\n    <DisplayName>TotalNumberOfScansDone</DisplayName>\n    <References>\n      <Reference ReferenceType=\"Organizes\" IsForward=\"false\">ns=1;i=4875</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=2365</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=4754</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=4923\" BrowseName=\"1:BackgroundAcquisitionTime\" ParentNodeId=\"ns=1;i=4754\" DataType=\"DateTime\">\n    <DisplayName>BackgroundAcquisitionTime</DisplayName>\n    <References>\n      <Reference ReferenceType=\"Organizes\" IsForward=\"false\">ns=1;i=4875</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=2365</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=4754</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=4926\" BrowseName=\"1:PendingBackground\" ParentNodeId=\"ns=1;i=4754\" DataType=\"Float\">\n    <DisplayName>PendingBackground</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=4930</Reference>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=4931</Reference>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=4932</Reference>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=4933</Reference>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=4934</Reference>\n      <Reference ReferenceType=\"Organizes\" IsForward=\"false\">ns=1;i=4875</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=12029</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=4754</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=4930\" BrowseName=\"EURange\" ParentNodeId=\"ns=1;i=4926\" DataType=\"i=884\">\n    <DisplayName>EURange</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=4926</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=4931\" BrowseName=\"EngineeringUnits\" ParentNodeId=\"ns=1;i=4926\" DataType=\"i=887\">\n    <DisplayName>EngineeringUnits</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=4926</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=4932\" BrowseName=\"Title\" ParentNodeId=\"ns=1;i=4926\" DataType=\"LocalizedText\">\n    <DisplayName>Title</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=4926</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=4933\" BrowseName=\"AxisScaleType\" ParentNodeId=\"ns=1;i=4926\" DataType=\"i=12077\">\n    <DisplayName>AxisScaleType</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=4926</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=4934\" BrowseName=\"XAxisDefinition\" ParentNodeId=\"ns=1;i=4926\" DataType=\"i=12079\">\n    <DisplayName>XAxisDefinition</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=4926</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=4935\" BrowseName=\"1:PendingBackground1\" ParentNodeId=\"ns=1;i=4754\" DataType=\"Float\">\n    <DisplayName>PendingBackground1</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=4939</Reference>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=4940</Reference>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=4941</Reference>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=4942</Reference>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=4943</Reference>\n      <Reference ReferenceType=\"Organizes\" IsForward=\"false\">ns=1;i=4875</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=12029</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=80</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=4754</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=4939\" BrowseName=\"EURange\" ParentNodeId=\"ns=1;i=4935\" DataType=\"i=884\">\n    <DisplayName>EURange</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=4935</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=4940\" BrowseName=\"EngineeringUnits\" ParentNodeId=\"ns=1;i=4935\" DataType=\"i=887\">\n    <DisplayName>EngineeringUnits</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=4935</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=4941\" BrowseName=\"Title\" ParentNodeId=\"ns=1;i=4935\" DataType=\"LocalizedText\">\n    <DisplayName>Title</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=4935</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=4942\" BrowseName=\"AxisScaleType\" ParentNodeId=\"ns=1;i=4935\" DataType=\"i=12077\">\n    <DisplayName>AxisScaleType</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=4935</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=4943\" BrowseName=\"XAxisDefinition\" ParentNodeId=\"ns=1;i=4935\" DataType=\"i=12079\">\n    <DisplayName>XAxisDefinition</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=4935</Reference>\n    </References>\n  </UAVariable>\n  <UAObject NodeId=\"ns=1;i=4867\" BrowseName=\"1:Configuration\" ParentNodeId=\"ns=1;i=4753\">\n    <DisplayName>Configuration</DisplayName>\n    <References>\n      <Reference ReferenceType=\"Organizes\">ns=1;i=4881</Reference>\n      <Reference ReferenceType=\"Organizes\">ns=1;i=4890</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">ns=2;i=12257</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=4753</Reference>\n    </References>\n  </UAObject>\n  <UAObject NodeId=\"ns=1;i=4871\" BrowseName=\"1:AcquisitionSettings\" ParentNodeId=\"ns=1;i=4753\">\n    <DisplayName>AcquisitionSettings</DisplayName>\n    <References>\n      <Reference ReferenceType=\"Organizes\">ns=1;i=4899</Reference>\n      <Reference ReferenceType=\"Organizes\">ns=1;i=4902</Reference>\n      <Reference ReferenceType=\"Organizes\">ns=1;i=4905</Reference>\n      <Reference ReferenceType=\"Organizes\">ns=1;i=4908</Reference>\n      <Reference ReferenceType=\"Organizes\">ns=1;i=4911</Reference>\n      <Reference ReferenceType=\"Organizes\">ns=1;i=4914</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">ns=2;i=12257</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=4753</Reference>\n    </References>\n  </UAObject>\n  <UAObject NodeId=\"ns=1;i=4873\" BrowseName=\"1:AcquisitionStatus\" ParentNodeId=\"ns=1;i=4753\">\n    <DisplayName>AcquisitionStatus</DisplayName>\n    <References>\n      <Reference ReferenceType=\"Organizes\">ns=1;i=4917</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">ns=2;i=12257</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=4753</Reference>\n    </References>\n  </UAObject>\n  <UAObject NodeId=\"ns=1;i=4875\" BrowseName=\"1:AcquisitionData\" ParentNodeId=\"ns=1;i=4753\">\n    <DisplayName>AcquisitionData</DisplayName>\n    <References>\n      <Reference ReferenceType=\"Organizes\">ns=1;i=4920</Reference>\n      <Reference ReferenceType=\"Organizes\">ns=1;i=4923</Reference>\n      <Reference ReferenceType=\"Organizes\">ns=1;i=4926</Reference>\n      <Reference ReferenceType=\"Organizes\">ns=1;i=4935</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">ns=2;i=12257</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=4753</Reference>\n    </References>\n  </UAObject>\n  <UAObject NodeId=\"ns=1;i=4944\" BrowseName=\"1:FactorySettings\" ParentNodeId=\"ns=1;i=4753\">\n    <DisplayName>FactorySettings</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=58</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=4753</Reference>\n    </References>\n  </UAObject>\n  <UAObjectType NodeId=\"ns=1;i=4945\" BrowseName=\"1:MassSpectrometerDeviceStreamType\">\n    <DisplayName>MassSpectrometerDeviceStreamType</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">ns=1;i=1866</Reference>\n    </References>\n  </UAObjectType>\n  <UAObjectType NodeId=\"ns=1;i=5073\" BrowseName=\"1:ParticleSizeMonitorDeviceStreamType\">\n    <DisplayName>ParticleSizeMonitorDeviceStreamType</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=5074</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=5195</Reference>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">ns=1;i=1866</Reference>\n    </References>\n  </UAObjectType>\n  <UAObject NodeId=\"ns=1;i=5074\" BrowseName=\"2:ParameterSet\" ParentNodeId=\"ns=1;i=5073\">\n    <DisplayName>ParameterSet</DisplayName>\n    <Description>Flat list of Parameters</Description>\n    <References>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=5096</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=5102</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=5111</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=5120</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=5123</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=5126</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=5130</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=5133</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=5139</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=5145</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=5151</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=5201</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=5210</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=5219</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=58</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=80</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=5073</Reference>\n    </References>\n  </UAObject>\n  <UAVariable NodeId=\"ns=1;i=5096\" BrowseName=\"1:IsEnabled\" ParentNodeId=\"ns=1;i=5074\" DataType=\"Boolean\">\n    <DisplayName>IsEnabled</DisplayName>\n    <Description>True if this stream maybe used to perform acquisition</Description>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=2365</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=5074</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=5102\" BrowseName=\"1:DiagnosticStatus\" ParentNodeId=\"ns=1;i=5074\" DataType=\"ns=2;i=12386\">\n    <DisplayName>DiagnosticStatus</DisplayName>\n    <Description>Stream health status</Description>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=2365</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=5074</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=5111\" BrowseName=\"1:LastSampleTime\" ParentNodeId=\"ns=1;i=5074\" DataType=\"DateTime\">\n    <DisplayName>LastSampleTime</DisplayName>\n    <Description>Time at which the last sample was acquired</Description>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=2365</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=5074</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=5120\" BrowseName=\"1:IsActive\" ParentNodeId=\"ns=1;i=5074\" DataType=\"Boolean\">\n    <DisplayName>IsActive</DisplayName>\n    <Description>True if this stream is actually running, acquiring data</Description>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=2365</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=5074</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=5123\" BrowseName=\"1:ExecutionCycle\" ParentNodeId=\"ns=1;i=5074\" DataType=\"ns=1;i=4189\">\n    <DisplayName>ExecutionCycle</DisplayName>\n    <Description>Indicates which Execution cycle is in progress</Description>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=2365</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=5074</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=5126\" BrowseName=\"1:ExecutionCycleSubcode\" ParentNodeId=\"ns=1;i=5074\" DataType=\"UInteger\">\n    <DisplayName>ExecutionCycleSubcode</DisplayName>\n    <Description>Indicates which Execution cycle subcode is in progress</Description>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=5129</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=2376</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=5074</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=5129\" BrowseName=\"EnumStrings\" ParentNodeId=\"ns=1;i=5126\" DataType=\"LocalizedText\" ValueRank=\"1\">\n    <DisplayName>EnumStrings</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=5126</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=5130\" BrowseName=\"1:Progress\" ParentNodeId=\"ns=1;i=5074\" DataType=\"Float\">\n    <DisplayName>Progress</DisplayName>\n    <Description>Indicates the progress of an acquisition in terms of percentage of completion. Its value shall be between 0 and 100.</Description>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=2365</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=5074</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=5133\" BrowseName=\"1:AcquisitionCounter\" ParentNodeId=\"ns=1;i=5074\" DataType=\"i=289\">\n    <DisplayName>AcquisitionCounter</DisplayName>\n    <Description>Simple counter incremented after each Sampling acquisition performed on this Stream</Description>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=5137</Reference>\n      <Reference ReferenceType=\"Organizes\" IsForward=\"false\">ns=1;i=5195</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=2368</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=5074</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=5137\" BrowseName=\"EURange\" ParentNodeId=\"ns=1;i=5133\" DataType=\"i=884\">\n    <DisplayName>EURange</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=5133</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=5139\" BrowseName=\"1:AcquisitionResultStatus\" ParentNodeId=\"ns=1;i=5074\" DataType=\"ns=1;i=2779\">\n    <DisplayName>AcquisitionResultStatus</DisplayName>\n    <Description>Quality of the acquisition</Description>\n    <References>\n      <Reference ReferenceType=\"Organizes\" IsForward=\"false\">ns=1;i=5195</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=2365</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=5074</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=5145\" BrowseName=\"1:ScaledData\" ParentNodeId=\"ns=1;i=5074\">\n    <DisplayName>ScaledData</DisplayName>\n    <Description>Scaled data produced as a result of data acquisition on the Stream and application of the analyser model</Description>\n    <References>\n      <Reference ReferenceType=\"Organizes\" IsForward=\"false\">ns=1;i=5195</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=2365</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=5074</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=5151\" BrowseName=\"1:AcquisitionEndTime\" ParentNodeId=\"ns=1;i=5074\" DataType=\"DateTime\">\n    <DisplayName>AcquisitionEndTime</DisplayName>\n    <Description>The end time of the AnalyseSample or AnalyseCalibrationSample or AnalyseValidationSample state of the AnalyserChannel_OperatingModeExecuteSubStateMachine state machine</Description>\n    <References>\n      <Reference ReferenceType=\"Organizes\" IsForward=\"false\">ns=1;i=5195</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=2365</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=5074</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=5201\" BrowseName=\"1:Background\" ParentNodeId=\"ns=1;i=5074\" DataType=\"Float\">\n    <DisplayName>Background</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=5205</Reference>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=5206</Reference>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=5207</Reference>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=5208</Reference>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=5209</Reference>\n      <Reference ReferenceType=\"Organizes\" IsForward=\"false\">ns=1;i=5195</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=12029</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=80</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=5074</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=5205\" BrowseName=\"EURange\" ParentNodeId=\"ns=1;i=5201\" DataType=\"i=884\">\n    <DisplayName>EURange</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=5201</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=5206\" BrowseName=\"EngineeringUnits\" ParentNodeId=\"ns=1;i=5201\" DataType=\"i=887\">\n    <DisplayName>EngineeringUnits</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=5201</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=5207\" BrowseName=\"Title\" ParentNodeId=\"ns=1;i=5201\" DataType=\"LocalizedText\">\n    <DisplayName>Title</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=5201</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=5208\" BrowseName=\"AxisScaleType\" ParentNodeId=\"ns=1;i=5201\" DataType=\"i=12077\">\n    <DisplayName>AxisScaleType</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=5201</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=5209\" BrowseName=\"XAxisDefinition\" ParentNodeId=\"ns=1;i=5201\" DataType=\"i=12079\">\n    <DisplayName>XAxisDefinition</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=5201</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=5210\" BrowseName=\"1:SizeDistribution\" ParentNodeId=\"ns=1;i=5074\" DataType=\"Float\">\n    <DisplayName>SizeDistribution</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=5214</Reference>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=5215</Reference>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=5216</Reference>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=5217</Reference>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=5218</Reference>\n      <Reference ReferenceType=\"Organizes\" IsForward=\"false\">ns=1;i=5195</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=12029</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=5074</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=5214\" BrowseName=\"EURange\" ParentNodeId=\"ns=1;i=5210\" DataType=\"i=884\">\n    <DisplayName>EURange</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=5210</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=5215\" BrowseName=\"EngineeringUnits\" ParentNodeId=\"ns=1;i=5210\" DataType=\"i=887\">\n    <DisplayName>EngineeringUnits</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=5210</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=5216\" BrowseName=\"Title\" ParentNodeId=\"ns=1;i=5210\" DataType=\"LocalizedText\">\n    <DisplayName>Title</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=5210</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=5217\" BrowseName=\"AxisScaleType\" ParentNodeId=\"ns=1;i=5210\" DataType=\"i=12077\">\n    <DisplayName>AxisScaleType</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=5210</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=5218\" BrowseName=\"XAxisDefinition\" ParentNodeId=\"ns=1;i=5210\" DataType=\"i=12079\">\n    <DisplayName>XAxisDefinition</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=5210</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=5219\" BrowseName=\"1:BackgroundAcquisitionTime\" ParentNodeId=\"ns=1;i=5074\" DataType=\"DateTime\">\n    <DisplayName>BackgroundAcquisitionTime</DisplayName>\n    <References>\n      <Reference ReferenceType=\"Organizes\" IsForward=\"false\">ns=1;i=5195</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=2365</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=5074</Reference>\n    </References>\n  </UAVariable>\n  <UAObject NodeId=\"ns=1;i=5195\" BrowseName=\"1:AcquisitionData\" ParentNodeId=\"ns=1;i=5073\">\n    <DisplayName>AcquisitionData</DisplayName>\n    <References>\n      <Reference ReferenceType=\"Organizes\">ns=1;i=5201</Reference>\n      <Reference ReferenceType=\"Organizes\">ns=1;i=5210</Reference>\n      <Reference ReferenceType=\"Organizes\">ns=1;i=5219</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">ns=2;i=12257</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=5073</Reference>\n    </References>\n  </UAObject>\n  <UAObjectType NodeId=\"ns=1;i=5222\" BrowseName=\"1:AcousticSpectrometerDeviceStreamType\">\n    <DisplayName>AcousticSpectrometerDeviceStreamType</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">ns=1;i=1866</Reference>\n    </References>\n  </UAObjectType>\n  <UAObjectType NodeId=\"ns=1;i=5350\" BrowseName=\"1:ChromatographDeviceStreamType\">\n    <DisplayName>ChromatographDeviceStreamType</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">ns=1;i=1866</Reference>\n    </References>\n  </UAObjectType>\n  <UAObjectType NodeId=\"ns=1;i=5478\" BrowseName=\"1:MNRDeviceStreamType\">\n    <DisplayName>MNRDeviceStreamType</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">ns=1;i=1866</Reference>\n    </References>\n  </UAObjectType>\n  <UAObjectType NodeId=\"ns=1;i=1961\" BrowseName=\"1:SpectrometerDeviceType\">\n    <DisplayName>SpectrometerDeviceType</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=1962</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=2016</Reference>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">ns=1;i=1000</Reference>\n    </References>\n  </UAObjectType>\n  <UAObject NodeId=\"ns=1;i=1962\" BrowseName=\"2:ParameterSet\" ParentNodeId=\"ns=1;i=1961\">\n    <DisplayName>ParameterSet</DisplayName>\n    <Description>Flat list of Parameters</Description>\n    <References>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=1971</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=2074</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=58</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=80</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=1961</Reference>\n    </References>\n  </UAObject>\n  <UAVariable NodeId=\"ns=1;i=1971\" BrowseName=\"1:DiagnosticStatus\" ParentNodeId=\"ns=1;i=1962\" DataType=\"ns=2;i=12386\">\n    <DisplayName>DiagnosticStatus</DisplayName>\n    <Description>General health status of the analyser</Description>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=2365</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=1962</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=2074\" BrowseName=\"1:SpectralRange\" ParentNodeId=\"ns=1;i=1962\" DataType=\"i=884\" ValueRank=\"1\">\n    <DisplayName>SpectralRange</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=2365</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=80</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=1962</Reference>\n    </References>\n  </UAVariable>\n  <UAObject NodeId=\"ns=1;i=2016\" BrowseName=\"1:FactorySettings\" ParentNodeId=\"ns=1;i=1961\">\n    <DisplayName>FactorySettings</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">ns=2;i=12257</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=1961</Reference>\n    </References>\n  </UAObject>\n  <UAObjectType NodeId=\"ns=1;i=2077\" BrowseName=\"1:ParticleSizeMonitorDeviceType\">\n    <DisplayName>ParticleSizeMonitorDeviceType</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">ns=1;i=1000</Reference>\n    </References>\n  </UAObjectType>\n  <UAObjectType NodeId=\"ns=1;i=2190\" BrowseName=\"1:ChromatographDeviceType\">\n    <DisplayName>ChromatographDeviceType</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">ns=1;i=1000</Reference>\n    </References>\n  </UAObjectType>\n  <UAObjectType NodeId=\"ns=1;i=2303\" BrowseName=\"1:MassSpectrometerDeviceType\">\n    <DisplayName>MassSpectrometerDeviceType</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">ns=1;i=1000</Reference>\n    </References>\n  </UAObjectType>\n  <UAObjectType NodeId=\"ns=1;i=2416\" BrowseName=\"1:AcousticSpectrometerDeviceType\">\n    <DisplayName>AcousticSpectrometerDeviceType</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">ns=1;i=1000</Reference>\n    </References>\n  </UAObjectType>\n  <UAObjectType NodeId=\"ns=1;i=2529\" BrowseName=\"1:NMRDeviceType\">\n    <DisplayName>NMRDeviceType</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">ns=1;i=1000</Reference>\n    </References>\n  </UAObjectType>\n  <UAObjectType NodeId=\"ns=1;i=2642\" BrowseName=\"1:AccessorySlotType\">\n    <DisplayName>AccessorySlotType</DisplayName>\n    <Description>Organizes zero or more Accessory objects identified by \"AccessoryIdentifier\" which represent Accessories currently being used on that AccessorySlot.</Description>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=2643</Reference>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=2644</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=2645</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=6820</Reference>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">ns=2;i=12256</Reference>\n    </References>\n  </UAObjectType>\n  <UAVariable NodeId=\"ns=1;i=2643\" BrowseName=\"1:IsHotSwappable\" ParentNodeId=\"ns=1;i=2642\" DataType=\"Boolean\">\n    <DisplayName>IsHotSwappable</DisplayName>\n    <Description>True if an accessory can be inserted in the accessory slot while it is powered</Description>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=2642</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=2644\" BrowseName=\"1:IsEnabled\" ParentNodeId=\"ns=1;i=2642\" DataType=\"Boolean\">\n    <DisplayName>IsEnabled</DisplayName>\n    <Description>True if this accessory slot is capable of accepting an accessory in it</Description>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=2642</Reference>\n    </References>\n  </UAVariable>\n  <UAObject NodeId=\"ns=1;i=2645\" BrowseName=\"1:AccessorySlotStateMachine\" ParentNodeId=\"ns=1;i=2642\">\n    <DisplayName>AccessorySlotStateMachine</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=2646</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">ns=1;i=2692</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=2642</Reference>\n    </References>\n  </UAObject>\n  <UAVariable NodeId=\"ns=1;i=2646\" BrowseName=\"CurrentState\" ParentNodeId=\"ns=1;i=2645\" DataType=\"LocalizedText\">\n    <DisplayName>CurrentState</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=2647</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=2760</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=2645</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=2647\" BrowseName=\"Id\" ParentNodeId=\"ns=1;i=2646\" DataType=\"NodeId\">\n    <DisplayName>Id</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=2646</Reference>\n    </References>\n  </UAVariable>\n  <UAObject NodeId=\"ns=1;i=6820\" BrowseName=\"1:&lt;AccessoryIdentifier&gt;\" SymbolicName=\"AccessoryIdentifier\" ParentNodeId=\"ns=1;i=2642\">\n    <DisplayName>&lt;AccessoryIdentifier&gt;</DisplayName>\n    <Description>Accessory definition</Description>\n    <References>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=6841</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=6843</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=6845</Reference>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=6847</Reference>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=6848</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">ns=1;i=2739</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=11508</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=2642</Reference>\n    </References>\n  </UAObject>\n  <UAObject NodeId=\"ns=1;i=6841\" BrowseName=\"1:Configuration\" ParentNodeId=\"ns=1;i=6820\">\n    <DisplayName>Configuration</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">ns=2;i=12257</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=6820</Reference>\n    </References>\n  </UAObject>\n  <UAObject NodeId=\"ns=1;i=6843\" BrowseName=\"1:Status\" ParentNodeId=\"ns=1;i=6820\">\n    <DisplayName>Status</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">ns=2;i=12257</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=6820</Reference>\n    </References>\n  </UAObject>\n  <UAObject NodeId=\"ns=1;i=6845\" BrowseName=\"1:FactorySettings\" ParentNodeId=\"ns=1;i=6820\">\n    <DisplayName>FactorySettings</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">ns=2;i=12257</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=6820</Reference>\n    </References>\n  </UAObject>\n  <UAVariable NodeId=\"ns=1;i=6847\" BrowseName=\"1:IsHotSwappable\" ParentNodeId=\"ns=1;i=6820\" DataType=\"Boolean\">\n    <DisplayName>IsHotSwappable</DisplayName>\n    <Description>True if this accessory can be inserted in the accessory slot while it is powered</Description>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=6820</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=6848\" BrowseName=\"1:IsReady\" ParentNodeId=\"ns=1;i=6820\" DataType=\"Boolean\">\n    <DisplayName>IsReady</DisplayName>\n    <Description>True if this accessory is ready for use</Description>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=6820</Reference>\n    </References>\n  </UAVariable>\n  <UAObjectType NodeId=\"ns=1;i=2692\" BrowseName=\"1:AccessorySlotStateMachineType\">\n    <DisplayName>AccessorySlotStateMachineType</DisplayName>\n    <Description>Describes the behaviour of an AccessorySlot when a physical accessory is inserted or removed.</Description>\n    <References>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=2703</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=2705</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=2707</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=2709</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=2711</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=2713</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=4230</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=2717</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=2719</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=2721</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=2723</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=2725</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=2727</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=2729</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=2731</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=2733</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=2735</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=2737</Reference>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=2771</Reference>\n    </References>\n  </UAObjectType>\n  <UAObject NodeId=\"ns=1;i=2703\" BrowseName=\"1:Powerup\" ParentNodeId=\"ns=1;i=2692\">\n    <DisplayName>Powerup</DisplayName>\n    <Description>The AccessorySlot is in its power-up sequence and cannot perform any other task.</Description>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=2704</Reference>\n      <Reference ReferenceType=\"i=51\" IsForward=\"false\">ns=1;i=4230</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=2309</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=2692</Reference>\n    </References>\n  </UAObject>\n  <UAVariable NodeId=\"ns=1;i=2704\" BrowseName=\"StateNumber\" ParentNodeId=\"ns=1;i=2703\" DataType=\"UInt32\">\n    <DisplayName>StateNumber</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=2703</Reference>\n    </References>\n    <Value>\n      <UInt32 xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">0</UInt32>\n    </Value>\n  </UAVariable>\n  <UAObject NodeId=\"ns=1;i=2705\" BrowseName=\"1:Empty\" ParentNodeId=\"ns=1;i=2692\">\n    <DisplayName>Empty</DisplayName>\n    <Description>This represents an AccessorySlot where no Accessory is installed.</Description>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=2706</Reference>\n      <Reference ReferenceType=\"i=52\" IsForward=\"false\">ns=1;i=4230</Reference>\n      <Reference ReferenceType=\"i=51\" IsForward=\"false\">ns=1;i=2717</Reference>\n      <Reference ReferenceType=\"i=52\" IsForward=\"false\">ns=1;i=2729</Reference>\n      <Reference ReferenceType=\"i=51\" IsForward=\"false\">ns=1;i=2731</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=2307</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=2692</Reference>\n    </References>\n  </UAObject>\n  <UAVariable NodeId=\"ns=1;i=2706\" BrowseName=\"StateNumber\" ParentNodeId=\"ns=1;i=2705\" DataType=\"UInt32\">\n    <DisplayName>StateNumber</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=2705</Reference>\n    </References>\n    <Value>\n      <UInt32 xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">0</UInt32>\n    </Value>\n  </UAVariable>\n  <UAObject NodeId=\"ns=1;i=2707\" BrowseName=\"1:Inserting\" ParentNodeId=\"ns=1;i=2692\">\n    <DisplayName>Inserting</DisplayName>\n    <Description>This represents an AccessorySlot when an Accessory is being inserted and initializing.</Description>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=2708</Reference>\n      <Reference ReferenceType=\"i=52\" IsForward=\"false\">ns=1;i=2717</Reference>\n      <Reference ReferenceType=\"i=51\" IsForward=\"false\">ns=1;i=2719</Reference>\n      <Reference ReferenceType=\"i=52\" IsForward=\"false\">ns=1;i=2719</Reference>\n      <Reference ReferenceType=\"i=51\" IsForward=\"false\">ns=1;i=2721</Reference>\n      <Reference ReferenceType=\"i=51\" IsForward=\"false\">ns=1;i=2723</Reference>\n      <Reference ReferenceType=\"i=51\" IsForward=\"false\">ns=1;i=2733</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=2307</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=2692</Reference>\n    </References>\n  </UAObject>\n  <UAVariable NodeId=\"ns=1;i=2708\" BrowseName=\"StateNumber\" ParentNodeId=\"ns=1;i=2707\" DataType=\"UInt32\">\n    <DisplayName>StateNumber</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=2707</Reference>\n    </References>\n    <Value>\n      <UInt32 xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">0</UInt32>\n    </Value>\n  </UAVariable>\n  <UAObject NodeId=\"ns=1;i=2709\" BrowseName=\"1:Installed\" ParentNodeId=\"ns=1;i=2692\">\n    <DisplayName>Installed</DisplayName>\n    <Description>This represents an AccessorySlot where an Accessory is installed and ready to use.</Description>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=2710</Reference>\n      <Reference ReferenceType=\"i=52\" IsForward=\"false\">ns=1;i=2723</Reference>\n      <Reference ReferenceType=\"i=51\" IsForward=\"false\">ns=1;i=2725</Reference>\n      <Reference ReferenceType=\"i=51\" IsForward=\"false\">ns=1;i=2735</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=2307</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=2692</Reference>\n    </References>\n  </UAObject>\n  <UAVariable NodeId=\"ns=1;i=2710\" BrowseName=\"StateNumber\" ParentNodeId=\"ns=1;i=2709\" DataType=\"UInt32\">\n    <DisplayName>StateNumber</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=2709</Reference>\n    </References>\n    <Value>\n      <UInt32 xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">0</UInt32>\n    </Value>\n  </UAVariable>\n  <UAObject NodeId=\"ns=1;i=2711\" BrowseName=\"1:Removing\" ParentNodeId=\"ns=1;i=2692\">\n    <DisplayName>Removing</DisplayName>\n    <Description>This represents an AccessorySlot where no Accessory is installed.</Description>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=2712</Reference>\n      <Reference ReferenceType=\"i=52\" IsForward=\"false\">ns=1;i=2721</Reference>\n      <Reference ReferenceType=\"i=52\" IsForward=\"false\">ns=1;i=2725</Reference>\n      <Reference ReferenceType=\"i=51\" IsForward=\"false\">ns=1;i=2727</Reference>\n      <Reference ReferenceType=\"i=52\" IsForward=\"false\">ns=1;i=2727</Reference>\n      <Reference ReferenceType=\"i=51\" IsForward=\"false\">ns=1;i=2729</Reference>\n      <Reference ReferenceType=\"i=51\" IsForward=\"false\">ns=1;i=2737</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=2307</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=2692</Reference>\n    </References>\n  </UAObject>\n  <UAVariable NodeId=\"ns=1;i=2712\" BrowseName=\"StateNumber\" ParentNodeId=\"ns=1;i=2711\" DataType=\"UInt32\">\n    <DisplayName>StateNumber</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=2711</Reference>\n    </References>\n    <Value>\n      <UInt32 xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">0</UInt32>\n    </Value>\n  </UAVariable>\n  <UAObject NodeId=\"ns=1;i=2713\" BrowseName=\"1:Shutdown\" ParentNodeId=\"ns=1;i=2692\">\n    <DisplayName>Shutdown</DisplayName>\n    <Description>The AccessorySlot is in its power-down sequence and cannot perform any other task.</Description>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=2714</Reference>\n      <Reference ReferenceType=\"i=52\" IsForward=\"false\">ns=1;i=2731</Reference>\n      <Reference ReferenceType=\"i=52\" IsForward=\"false\">ns=1;i=2733</Reference>\n      <Reference ReferenceType=\"i=52\" IsForward=\"false\">ns=1;i=2735</Reference>\n      <Reference ReferenceType=\"i=52\" IsForward=\"false\">ns=1;i=2737</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=2307</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=2692</Reference>\n    </References>\n  </UAObject>\n  <UAVariable NodeId=\"ns=1;i=2714\" BrowseName=\"StateNumber\" ParentNodeId=\"ns=1;i=2713\" DataType=\"UInt32\">\n    <DisplayName>StateNumber</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=2713</Reference>\n    </References>\n    <Value>\n      <UInt32 xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">0</UInt32>\n    </Value>\n  </UAVariable>\n  <UAObject NodeId=\"ns=1;i=4230\" BrowseName=\"1:PowerupToEmptyTransition\" ParentNodeId=\"ns=1;i=2692\">\n    <DisplayName>PowerupToEmptyTransition</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=4231</Reference>\n      <Reference ReferenceType=\"i=51\">ns=1;i=2703</Reference>\n      <Reference ReferenceType=\"i=52\">ns=1;i=2705</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=2310</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=2692</Reference>\n    </References>\n  </UAObject>\n  <UAVariable NodeId=\"ns=1;i=4231\" BrowseName=\"TransitionNumber\" ParentNodeId=\"ns=1;i=4230\" DataType=\"UInt32\">\n    <DisplayName>TransitionNumber</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=4230</Reference>\n    </References>\n    <Value>\n      <UInt32 xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">0</UInt32>\n    </Value>\n  </UAVariable>\n  <UAObject NodeId=\"ns=1;i=2717\" BrowseName=\"1:EmptyToInsertingTransition\" ParentNodeId=\"ns=1;i=2692\">\n    <DisplayName>EmptyToInsertingTransition</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=2718</Reference>\n      <Reference ReferenceType=\"i=51\">ns=1;i=2705</Reference>\n      <Reference ReferenceType=\"i=52\">ns=1;i=2707</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=2310</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=2692</Reference>\n    </References>\n  </UAObject>\n  <UAVariable NodeId=\"ns=1;i=2718\" BrowseName=\"TransitionNumber\" ParentNodeId=\"ns=1;i=2717\" DataType=\"UInt32\">\n    <DisplayName>TransitionNumber</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=2717</Reference>\n    </References>\n    <Value>\n      <UInt32 xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">0</UInt32>\n    </Value>\n  </UAVariable>\n  <UAObject NodeId=\"ns=1;i=2719\" BrowseName=\"1:InsertingTransition\" ParentNodeId=\"ns=1;i=2692\">\n    <DisplayName>InsertingTransition</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=2720</Reference>\n      <Reference ReferenceType=\"i=51\">ns=1;i=2707</Reference>\n      <Reference ReferenceType=\"i=52\">ns=1;i=2707</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=2310</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=2692</Reference>\n    </References>\n  </UAObject>\n  <UAVariable NodeId=\"ns=1;i=2720\" BrowseName=\"TransitionNumber\" ParentNodeId=\"ns=1;i=2719\" DataType=\"UInt32\">\n    <DisplayName>TransitionNumber</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=2719</Reference>\n    </References>\n    <Value>\n      <UInt32 xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">0</UInt32>\n    </Value>\n  </UAVariable>\n  <UAObject NodeId=\"ns=1;i=2721\" BrowseName=\"1:InsertingToRemovingTransition\" ParentNodeId=\"ns=1;i=2692\">\n    <DisplayName>InsertingToRemovingTransition</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=2722</Reference>\n      <Reference ReferenceType=\"i=51\">ns=1;i=2707</Reference>\n      <Reference ReferenceType=\"i=52\">ns=1;i=2711</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=2310</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=2692</Reference>\n    </References>\n  </UAObject>\n  <UAVariable NodeId=\"ns=1;i=2722\" BrowseName=\"TransitionNumber\" ParentNodeId=\"ns=1;i=2721\" DataType=\"UInt32\">\n    <DisplayName>TransitionNumber</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=2721</Reference>\n    </References>\n    <Value>\n      <UInt32 xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">0</UInt32>\n    </Value>\n  </UAVariable>\n  <UAObject NodeId=\"ns=1;i=2723\" BrowseName=\"1:InsertingToInstalledTransition\" ParentNodeId=\"ns=1;i=2692\">\n    <DisplayName>InsertingToInstalledTransition</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=2724</Reference>\n      <Reference ReferenceType=\"i=51\">ns=1;i=2707</Reference>\n      <Reference ReferenceType=\"i=52\">ns=1;i=2709</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=2310</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=2692</Reference>\n    </References>\n  </UAObject>\n  <UAVariable NodeId=\"ns=1;i=2724\" BrowseName=\"TransitionNumber\" ParentNodeId=\"ns=1;i=2723\" DataType=\"UInt32\">\n    <DisplayName>TransitionNumber</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=2723</Reference>\n    </References>\n    <Value>\n      <UInt32 xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">0</UInt32>\n    </Value>\n  </UAVariable>\n  <UAObject NodeId=\"ns=1;i=2725\" BrowseName=\"1:InstalledToRemovingTransition\" ParentNodeId=\"ns=1;i=2692\">\n    <DisplayName>InstalledToRemovingTransition</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=2726</Reference>\n      <Reference ReferenceType=\"i=51\">ns=1;i=2709</Reference>\n      <Reference ReferenceType=\"i=52\">ns=1;i=2711</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=2310</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=2692</Reference>\n    </References>\n  </UAObject>\n  <UAVariable NodeId=\"ns=1;i=2726\" BrowseName=\"TransitionNumber\" ParentNodeId=\"ns=1;i=2725\" DataType=\"UInt32\">\n    <DisplayName>TransitionNumber</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=2725</Reference>\n    </References>\n    <Value>\n      <UInt32 xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">0</UInt32>\n    </Value>\n  </UAVariable>\n  <UAObject NodeId=\"ns=1;i=2727\" BrowseName=\"1:RemovingTransition\" ParentNodeId=\"ns=1;i=2692\">\n    <DisplayName>RemovingTransition</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=2728</Reference>\n      <Reference ReferenceType=\"i=51\">ns=1;i=2711</Reference>\n      <Reference ReferenceType=\"i=52\">ns=1;i=2711</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=2310</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=2692</Reference>\n    </References>\n  </UAObject>\n  <UAVariable NodeId=\"ns=1;i=2728\" BrowseName=\"TransitionNumber\" ParentNodeId=\"ns=1;i=2727\" DataType=\"UInt32\">\n    <DisplayName>TransitionNumber</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=2727</Reference>\n    </References>\n    <Value>\n      <UInt32 xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">0</UInt32>\n    </Value>\n  </UAVariable>\n  <UAObject NodeId=\"ns=1;i=2729\" BrowseName=\"1:RemovingToEmptyTransition\" ParentNodeId=\"ns=1;i=2692\">\n    <DisplayName>RemovingToEmptyTransition</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=2730</Reference>\n      <Reference ReferenceType=\"i=51\">ns=1;i=2711</Reference>\n      <Reference ReferenceType=\"i=52\">ns=1;i=2705</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=2310</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=2692</Reference>\n    </References>\n  </UAObject>\n  <UAVariable NodeId=\"ns=1;i=2730\" BrowseName=\"TransitionNumber\" ParentNodeId=\"ns=1;i=2729\" DataType=\"UInt32\">\n    <DisplayName>TransitionNumber</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=2729</Reference>\n    </References>\n    <Value>\n      <UInt32 xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">0</UInt32>\n    </Value>\n  </UAVariable>\n  <UAObject NodeId=\"ns=1;i=2731\" BrowseName=\"1:EmptyToShutdownTransition\" ParentNodeId=\"ns=1;i=2692\">\n    <DisplayName>EmptyToShutdownTransition</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=2732</Reference>\n      <Reference ReferenceType=\"i=51\">ns=1;i=2705</Reference>\n      <Reference ReferenceType=\"i=52\">ns=1;i=2713</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=2310</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=2692</Reference>\n    </References>\n  </UAObject>\n  <UAVariable NodeId=\"ns=1;i=2732\" BrowseName=\"TransitionNumber\" ParentNodeId=\"ns=1;i=2731\" DataType=\"UInt32\">\n    <DisplayName>TransitionNumber</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=2731</Reference>\n    </References>\n    <Value>\n      <UInt32 xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">0</UInt32>\n    </Value>\n  </UAVariable>\n  <UAObject NodeId=\"ns=1;i=2733\" BrowseName=\"1:InsertingToShutdownTransition\" ParentNodeId=\"ns=1;i=2692\">\n    <DisplayName>InsertingToShutdownTransition</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=2734</Reference>\n      <Reference ReferenceType=\"i=51\">ns=1;i=2707</Reference>\n      <Reference ReferenceType=\"i=52\">ns=1;i=2713</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=2310</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=2692</Reference>\n    </References>\n  </UAObject>\n  <UAVariable NodeId=\"ns=1;i=2734\" BrowseName=\"TransitionNumber\" ParentNodeId=\"ns=1;i=2733\" DataType=\"UInt32\">\n    <DisplayName>TransitionNumber</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=2733</Reference>\n    </References>\n    <Value>\n      <UInt32 xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">0</UInt32>\n    </Value>\n  </UAVariable>\n  <UAObject NodeId=\"ns=1;i=2735\" BrowseName=\"1:InstalledToShutdownTransition\" ParentNodeId=\"ns=1;i=2692\">\n    <DisplayName>InstalledToShutdownTransition</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=2736</Reference>\n      <Reference ReferenceType=\"i=51\">ns=1;i=2709</Reference>\n      <Reference ReferenceType=\"i=52\">ns=1;i=2713</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=2310</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=2692</Reference>\n    </References>\n  </UAObject>\n  <UAVariable NodeId=\"ns=1;i=2736\" BrowseName=\"TransitionNumber\" ParentNodeId=\"ns=1;i=2735\" DataType=\"UInt32\">\n    <DisplayName>TransitionNumber</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=2735</Reference>\n    </References>\n    <Value>\n      <UInt32 xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">0</UInt32>\n    </Value>\n  </UAVariable>\n  <UAObject NodeId=\"ns=1;i=2737\" BrowseName=\"1:RemovingToShutdownTransition\" ParentNodeId=\"ns=1;i=2692\">\n    <DisplayName>RemovingToShutdownTransition</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=2738</Reference>\n      <Reference ReferenceType=\"i=51\">ns=1;i=2711</Reference>\n      <Reference ReferenceType=\"i=52\">ns=1;i=2713</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=2310</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=2692</Reference>\n    </References>\n  </UAObject>\n  <UAVariable NodeId=\"ns=1;i=2738\" BrowseName=\"TransitionNumber\" ParentNodeId=\"ns=1;i=2737\" DataType=\"UInt32\">\n    <DisplayName>TransitionNumber</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=2737</Reference>\n    </References>\n    <Value>\n      <UInt32 xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">0</UInt32>\n    </Value>\n  </UAVariable>\n  <UAObjectType NodeId=\"ns=1;i=2739\" BrowseName=\"1:AccessoryType\">\n    <DisplayName>AccessoryType</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=2742</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=2743</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=2744</Reference>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=2745</Reference>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=2746</Reference>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">ns=2;i=12253</Reference>\n    </References>\n  </UAObjectType>\n  <UAObject NodeId=\"ns=1;i=2742\" BrowseName=\"1:Configuration\" ParentNodeId=\"ns=1;i=2739\">\n    <DisplayName>Configuration</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">ns=2;i=12257</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=2739</Reference>\n    </References>\n  </UAObject>\n  <UAObject NodeId=\"ns=1;i=2743\" BrowseName=\"1:Status\" ParentNodeId=\"ns=1;i=2739\">\n    <DisplayName>Status</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">ns=2;i=12257</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=2739</Reference>\n    </References>\n  </UAObject>\n  <UAObject NodeId=\"ns=1;i=2744\" BrowseName=\"1:FactorySettings\" ParentNodeId=\"ns=1;i=2739\">\n    <DisplayName>FactorySettings</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">ns=2;i=12257</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=2739</Reference>\n    </References>\n  </UAObject>\n  <UAVariable NodeId=\"ns=1;i=2745\" BrowseName=\"1:IsHotSwappable\" ParentNodeId=\"ns=1;i=2739\" DataType=\"Boolean\">\n    <DisplayName>IsHotSwappable</DisplayName>\n    <Description>True if this accessory can be inserted in the accessory slot while it is powered</Description>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=2739</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=2746\" BrowseName=\"1:IsReady\" ParentNodeId=\"ns=1;i=2739\" DataType=\"Boolean\">\n    <DisplayName>IsReady</DisplayName>\n    <Description>True if this accessory is ready for use</Description>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=2739</Reference>\n    </References>\n  </UAVariable>\n  <UAObjectType NodeId=\"ns=1;i=4161\" BrowseName=\"1:DetectorType\">\n    <DisplayName>DetectorType</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">ns=1;i=2739</Reference>\n    </References>\n  </UAObjectType>\n  <UAObjectType NodeId=\"ns=1;i=4170\" BrowseName=\"1:SmartSamplingSystemType\">\n    <DisplayName>SmartSamplingSystemType</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">ns=1;i=2739</Reference>\n    </References>\n  </UAObjectType>\n  <UAObjectType NodeId=\"ns=1;i=4179\" BrowseName=\"1:SourceType\">\n    <DisplayName>SourceType</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">ns=1;i=2739</Reference>\n    </References>\n  </UAObjectType>\n  <UAObjectType NodeId=\"ns=1;i=2747\" BrowseName=\"1:GcOvenType\">\n    <DisplayName>GcOvenType</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">ns=1;i=2739</Reference>\n    </References>\n  </UAObjectType>\n  <UADataType NodeId=\"ns=1;i=4189\" BrowseName=\"1:ExecutionCycleEnumeration\">\n    <DisplayName>ExecutionCycleEnumeration</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=6960</Reference>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=29</Reference>\n    </References>\n    <Definition Name=\"ExecutionCycleEnumeration\">\n      <Field Name=\"IDLE\" Value=\"0\">\n        <Description>Idle, no cleaning or acquisition cycle in progress</Description>\n      </Field>\n      <Field Name=\"DIAGNOSTIC\" Value=\"1\">\n        <Description>Scquisition cycle collecting data for diagnostic purpose</Description>\n      </Field>\n      <Field Name=\"CLEANING\" Value=\"2\">\n        <Description>Cleaning cycle</Description>\n      </Field>\n      <Field Name=\"CALIBRATION\" Value=\"4\">\n        <Description>Calibration acquisition cycle</Description>\n      </Field>\n      <Field Name=\"VALIDATION\" Value=\"8\">\n        <Description>Validation acquisition cycle</Description>\n      </Field>\n      <Field Name=\"SAMPLING\" Value=\"16\">\n        <Description>Sample acquisition cycle</Description>\n      </Field>\n      <Field Name=\"DIAGNOSTIC_WITH_GRAB_SAMPLE\" Value=\"32769\">\n        <Description>Scquisition cycle collecting data for diagnostic purpose and sample is extracted from the process to be sent in control lab</Description>\n      </Field>\n      <Field Name=\"CLEANING_WITH_GRAB_SAMPLE\" Value=\"32770\">\n        <Description>Cleaning cycle with or without acquisition and sample is extracted from the process to be sent in control lab</Description>\n      </Field>\n      <Field Name=\"CALIBRATION_WITH_GRAB_SAMPLE\" Value=\"32772\">\n        <Description>Calibration acquisition cycle and sample is extracted from the process to be sent in control lab</Description>\n      </Field>\n      <Field Name=\"VALIDATION_WITH_GRAB_SAMPLE\" Value=\"32776\">\n        <Description>Validation acquisition cycle and sample is extracted from the process to be sent in control lab</Description>\n      </Field>\n      <Field Name=\"SAMPLING_WITH_GRAB_SAMPLE\" Value=\"32784\">\n        <Description>Sample acquisition cycle and sample is extracted from the process to be sent in control lab</Description>\n      </Field>\n    </Definition>\n  </UADataType>\n  <UAVariable NodeId=\"ns=1;i=6960\" BrowseName=\"EnumValues\" ParentNodeId=\"ns=1;i=4189\" DataType=\"i=7594\" ValueRank=\"1\">\n    <DisplayName>EnumValues</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=4189</Reference>\n    </References>\n    <Value>\n      <ListOfExtensionObject xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=7616</Identifier>\n          </TypeId>\n          <Body>\n            <EnumValueType>\n              <Value>0</Value>\n              <DisplayName>\n                <Locale>\n                </Locale>\n                <Text>IDLE</Text>\n              </DisplayName>\n              <Description>\n                <Locale>\n                </Locale>\n                <Text>Idle, no cleaning or acquisition cycle in progress</Text>\n              </Description>\n            </EnumValueType>\n          </Body>\n        </ExtensionObject>\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=7616</Identifier>\n          </TypeId>\n          <Body>\n            <EnumValueType>\n              <Value>1</Value>\n              <DisplayName>\n                <Locale>\n                </Locale>\n                <Text>DIAGNOSTIC</Text>\n              </DisplayName>\n              <Description>\n                <Locale>\n                </Locale>\n                <Text>Scquisition cycle collecting data for diagnostic purpose</Text>\n              </Description>\n            </EnumValueType>\n          </Body>\n        </ExtensionObject>\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=7616</Identifier>\n          </TypeId>\n          <Body>\n            <EnumValueType>\n              <Value>2</Value>\n              <DisplayName>\n                <Locale>\n                </Locale>\n                <Text>CLEANING</Text>\n              </DisplayName>\n              <Description>\n                <Locale>\n                </Locale>\n                <Text>Cleaning cycle</Text>\n              </Description>\n            </EnumValueType>\n          </Body>\n        </ExtensionObject>\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=7616</Identifier>\n          </TypeId>\n          <Body>\n            <EnumValueType>\n              <Value>4</Value>\n              <DisplayName>\n                <Locale>\n                </Locale>\n                <Text>CALIBRATION</Text>\n              </DisplayName>\n              <Description>\n                <Locale>\n                </Locale>\n                <Text>Calibration acquisition cycle</Text>\n              </Description>\n            </EnumValueType>\n          </Body>\n        </ExtensionObject>\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=7616</Identifier>\n          </TypeId>\n          <Body>\n            <EnumValueType>\n              <Value>8</Value>\n              <DisplayName>\n                <Locale>\n                </Locale>\n                <Text>VALIDATION</Text>\n              </DisplayName>\n              <Description>\n                <Locale>\n                </Locale>\n                <Text>Validation acquisition cycle</Text>\n              </Description>\n            </EnumValueType>\n          </Body>\n        </ExtensionObject>\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=7616</Identifier>\n          </TypeId>\n          <Body>\n            <EnumValueType>\n              <Value>16</Value>\n              <DisplayName>\n                <Locale>\n                </Locale>\n                <Text>SAMPLING</Text>\n              </DisplayName>\n              <Description>\n                <Locale>\n                </Locale>\n                <Text>Sample acquisition cycle</Text>\n              </Description>\n            </EnumValueType>\n          </Body>\n        </ExtensionObject>\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=7616</Identifier>\n          </TypeId>\n          <Body>\n            <EnumValueType>\n              <Value>32769</Value>\n              <DisplayName>\n                <Locale>\n                </Locale>\n                <Text>DIAGNOSTIC_WITH_GRAB_SAMPLE</Text>\n              </DisplayName>\n              <Description>\n                <Locale>\n                </Locale>\n                <Text>Scquisition cycle collecting data for diagnostic purpose and sample is extracted from the process to be sent in control lab</Text>\n              </Description>\n            </EnumValueType>\n          </Body>\n        </ExtensionObject>\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=7616</Identifier>\n          </TypeId>\n          <Body>\n            <EnumValueType>\n              <Value>32770</Value>\n              <DisplayName>\n                <Locale>\n                </Locale>\n                <Text>CLEANING_WITH_GRAB_SAMPLE</Text>\n              </DisplayName>\n              <Description>\n                <Locale>\n                </Locale>\n                <Text>Cleaning cycle with or without acquisition and sample is extracted from the process to be sent in control lab</Text>\n              </Description>\n            </EnumValueType>\n          </Body>\n        </ExtensionObject>\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=7616</Identifier>\n          </TypeId>\n          <Body>\n            <EnumValueType>\n              <Value>32772</Value>\n              <DisplayName>\n                <Locale>\n                </Locale>\n                <Text>CALIBRATION_WITH_GRAB_SAMPLE</Text>\n              </DisplayName>\n              <Description>\n                <Locale>\n                </Locale>\n                <Text>Calibration acquisition cycle and sample is extracted from the process to be sent in control lab</Text>\n              </Description>\n            </EnumValueType>\n          </Body>\n        </ExtensionObject>\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=7616</Identifier>\n          </TypeId>\n          <Body>\n            <EnumValueType>\n              <Value>32776</Value>\n              <DisplayName>\n                <Locale>\n                </Locale>\n                <Text>VALIDATION_WITH_GRAB_SAMPLE</Text>\n              </DisplayName>\n              <Description>\n                <Locale>\n                </Locale>\n                <Text>Validation acquisition cycle and sample is extracted from the process to be sent in control lab</Text>\n              </Description>\n            </EnumValueType>\n          </Body>\n        </ExtensionObject>\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=7616</Identifier>\n          </TypeId>\n          <Body>\n            <EnumValueType>\n              <Value>32784</Value>\n              <DisplayName>\n                <Locale>\n                </Locale>\n                <Text>SAMPLING_WITH_GRAB_SAMPLE</Text>\n              </DisplayName>\n              <Description>\n                <Locale>\n                </Locale>\n                <Text>Sample acquisition cycle and sample is extracted from the process to be sent in control lab</Text>\n              </Description>\n            </EnumValueType>\n          </Body>\n        </ExtensionObject>\n      </ListOfExtensionObject>\n    </Value>\n  </UAVariable>\n  <UADataType NodeId=\"ns=1;i=2779\" BrowseName=\"1:AcquisitionResultStatusEnumeration\">\n    <DisplayName>AcquisitionResultStatusEnumeration</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=2780</Reference>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=29</Reference>\n    </References>\n    <Definition Name=\"AcquisitionResultStatusEnumeration\">\n      <Field Name=\"NOT_USED\" Value=\"0\">\n        <Description>No longer used.</Description>\n      </Field>\n      <Field Name=\"GOOD\" Value=\"1\">\n        <Description>The acquisition has been completed as requested without any error.</Description>\n      </Field>\n      <Field Name=\"BAD\" Value=\"2\">\n        <Description>The acquisition has been completed as requested with error.</Description>\n      </Field>\n      <Field Name=\"UNKNOWN\" Value=\"3\">\n        <Description>The acquisition has been completed but nothing can be said about the quality of the result.</Description>\n      </Field>\n      <Field Name=\"PARTIAL\" Value=\"4\">\n        <Description>The acquisition has been partially completed as requested without any error.</Description>\n      </Field>\n    </Definition>\n  </UADataType>\n  <UAVariable NodeId=\"ns=1;i=2780\" BrowseName=\"EnumStrings\" ParentNodeId=\"ns=1;i=2779\" DataType=\"LocalizedText\" ValueRank=\"1\">\n    <DisplayName>EnumStrings</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=2779</Reference>\n    </References>\n    <Value>\n      <ListOfLocalizedText xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <LocalizedText>\n          <Locale>\n          </Locale>\n          <Text>NOT_USED</Text>\n        </LocalizedText>\n        <LocalizedText>\n          <Locale>\n          </Locale>\n          <Text>GOOD</Text>\n        </LocalizedText>\n        <LocalizedText>\n          <Locale>\n          </Locale>\n          <Text>BAD</Text>\n        </LocalizedText>\n        <LocalizedText>\n          <Locale>\n          </Locale>\n          <Text>UNKNOWN</Text>\n        </LocalizedText>\n        <LocalizedText>\n          <Locale>\n          </Locale>\n          <Text>PARTIAL</Text>\n        </LocalizedText>\n      </ListOfLocalizedText>\n    </Value>\n  </UAVariable>\n  <UAVariableType NodeId=\"ns=1;i=4191\" BrowseName=\"1:EngineeringValueType\" ValueRank=\"-2\">\n    <DisplayName>EngineeringValueType</DisplayName>\n    <Description>Expose key results of an analyser and the associated values that qualified it</Description>\n    <References>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=6961</Reference>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=2365</Reference>\n    </References>\n  </UAVariableType>\n  <UAVariable NodeId=\"ns=1;i=6961\" BrowseName=\"1:&lt;Identifier&gt;\" SymbolicName=\"Identifier\" ParentNodeId=\"ns=1;i=4191\">\n    <DisplayName>&lt;Identifier&gt;</DisplayName>\n    <Description>Point to the data source</Description>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=2365</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=11508</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=4191</Reference>\n    </References>\n  </UAVariable>\n  <UAVariableType NodeId=\"ns=1;i=2843\" BrowseName=\"1:ChemometricModelType\" DataType=\"ByteString\" ValueRank=\"-2\">\n    <DisplayName>ChemometricModelType</DisplayName>\n    <Description>Hold the descriptions of a mathematical process and associated information to convert scaled data into one or more process values.</Description>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=2844</Reference>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=2845</Reference>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=2846</Reference>\n      <Reference ReferenceType=\"ns=1;i=2857\">ns=1;i=6964</Reference>\n      <Reference ReferenceType=\"ns=1;i=2858\">ns=1;i=6965</Reference>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=63</Reference>\n    </References>\n  </UAVariableType>\n  <UAVariable NodeId=\"ns=1;i=2844\" BrowseName=\"1:Name\" ParentNodeId=\"ns=1;i=2843\" DataType=\"LocalizedText\">\n    <DisplayName>Name</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=2843</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=2845\" BrowseName=\"1:CreationDate\" ParentNodeId=\"ns=1;i=2843\" DataType=\"DateTime\">\n    <DisplayName>CreationDate</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=2843</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=2846\" BrowseName=\"1:ModelDescription\" ParentNodeId=\"ns=1;i=2843\" DataType=\"LocalizedText\">\n    <DisplayName>ModelDescription</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=2843</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=6964\" BrowseName=\"1:&lt;User defined Input#&gt;\" SymbolicName=\"User_defined_Input\" ParentNodeId=\"ns=1;i=2843\">\n    <DisplayName>&lt;User defined Input#&gt;</DisplayName>\n    <Description>Point to model input parameters</Description>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=62</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=11510</Reference>\n      <Reference ReferenceType=\"ns=1;i=2857\" IsForward=\"false\">ns=1;i=2843</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=6965\" BrowseName=\"1:&lt;User defined Output#&gt;\" SymbolicName=\"User_defined_Output\" ParentNodeId=\"ns=1;i=2843\">\n    <DisplayName>&lt;User defined Output#&gt;</DisplayName>\n    <Description>Point to model output parameters</Description>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=62</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=11510</Reference>\n      <Reference ReferenceType=\"ns=1;i=2858\" IsForward=\"false\">ns=1;i=2843</Reference>\n    </References>\n  </UAVariable>\n  <UAVariableType NodeId=\"ns=1;i=2847\" BrowseName=\"1:ProcessVariableType\" ValueRank=\"-2\">\n    <DisplayName>ProcessVariableType</DisplayName>\n    <Description>Provides a stable address space view from the user point of view even if the ADI server address space changes, after the new configuration is loaded.</Description>\n    <References>\n      <Reference ReferenceType=\"ns=1;i=2856\">ns=1;i=6966</Reference>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=2365</Reference>\n    </References>\n  </UAVariableType>\n  <UAVariable NodeId=\"ns=1;i=6966\" BrowseName=\"1:&lt;Source&gt;\" SymbolicName=\"SourceName\" ParentNodeId=\"ns=1;i=2847\">\n    <DisplayName>&lt;Source&gt;</DisplayName>\n    <Description>Point to source parameter</Description>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=62</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=11510</Reference>\n      <Reference ReferenceType=\"ns=1;i=2856\" IsForward=\"false\">ns=1;i=2847</Reference>\n    </References>\n  </UAVariable>\n  <UAReferenceType NodeId=\"ns=1;i=2856\" BrowseName=\"1:HasDataSource\">\n    <DisplayName>HasDataSource</DisplayName>\n    <Description>TargetNode is providing the value for the SourceNode.</Description>\n    <References>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=49</Reference>\n    </References>\n    <InverseName>DataSourceOf</InverseName>\n  </UAReferenceType>\n  <UAReferenceType NodeId=\"ns=1;i=2857\" BrowseName=\"1:HasInput\">\n    <DisplayName>HasInput</DisplayName>\n    <Description>TargetNode is providing an input value for a ChemometricModel.</Description>\n    <References>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=49</Reference>\n    </References>\n    <InverseName>InputOf</InverseName>\n  </UAReferenceType>\n  <UAReferenceType NodeId=\"ns=1;i=2858\" BrowseName=\"1:HasOutput\">\n    <DisplayName>HasOutput</DisplayName>\n    <Description>TargetNode is exposing an output value of a ChemometricModel.</Description>\n    <References>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=49</Reference>\n    </References>\n    <InverseName>OutputOf</InverseName>\n  </UAReferenceType>\n  <UAVariableType NodeId=\"ns=1;i=6967\" BrowseName=\"1:MVAModelType\" DataType=\"ByteString\" ValueRank=\"-2\">\n    <DisplayName>MVAModelType</DisplayName>\n    <Description>Hold the descriptions of a mathematical process and associated information to convert scaled data into one or more process values.</Description>\n    <References>\n      <Reference ReferenceType=\"ns=1;i=2858\">ns=1;i=6972</Reference>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=6973</Reference>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">ns=1;i=2843</Reference>\n    </References>\n  </UAVariableType>\n  <UAVariable NodeId=\"ns=1;i=6972\" BrowseName=\"1:&lt;User defined Output#&gt;\" SymbolicName=\"User_defined_Output\" ParentNodeId=\"ns=1;i=6967\">\n    <DisplayName>&lt;User defined Output#&gt;</DisplayName>\n    <Description>Point to model output parameters</Description>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=6976</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">ns=1;i=6981</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=11508</Reference>\n      <Reference ReferenceType=\"ns=1;i=2858\" IsForward=\"false\">ns=1;i=6967</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=6976\" BrowseName=\"1:AlarmState\" ParentNodeId=\"ns=1;i=6972\" DataType=\"ns=1;i=6991\">\n    <DisplayName>AlarmState</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=6972</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=6973\" BrowseName=\"1:MainDataIndex\" ParentNodeId=\"ns=1;i=6967\" DataType=\"Int32\">\n    <DisplayName>MainDataIndex</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=6967</Reference>\n    </References>\n  </UAVariable>\n  <UAVariableType NodeId=\"ns=1;i=6981\" BrowseName=\"1:MVAOutputParameterType\" ValueRank=\"-2\">\n    <DisplayName>MVAOutputParameterType</DisplayName>\n    <Description>Hold the descriptions of a mathematical process and associated information to convert scaled data into one or more process values.</Description>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=6982</Reference>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=6983</Reference>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=6984</Reference>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=6985</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=6986</Reference>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=63</Reference>\n    </References>\n  </UAVariableType>\n  <UAVariable NodeId=\"ns=1;i=6982\" BrowseName=\"1:WarningLimits\" ParentNodeId=\"ns=1;i=6981\" DataType=\"i=884\">\n    <DisplayName>WarningLimits</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=80</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=6981</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=6983\" BrowseName=\"1:AlarmLimits\" ParentNodeId=\"ns=1;i=6981\" DataType=\"i=884\">\n    <DisplayName>AlarmLimits</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=80</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=6981</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=6984\" BrowseName=\"1:AlarmState\" ParentNodeId=\"ns=1;i=6981\" DataType=\"ns=1;i=6991\">\n    <DisplayName>AlarmState</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=6981</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=6985\" BrowseName=\"1:VendorSpecificError\" ParentNodeId=\"ns=1;i=6981\" DataType=\"String\">\n    <DisplayName>VendorSpecificError</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=80</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=6981</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=6986\" BrowseName=\"1:Statistics\" ParentNodeId=\"ns=1;i=6981\" ValueRank=\"1\">\n    <DisplayName>Statistics</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=6987</Reference>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=6988</Reference>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=6989</Reference>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=6990</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">ns=1;i=6981</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=11508</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=6981</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=6987\" BrowseName=\"1:WarningLimits\" ParentNodeId=\"ns=1;i=6986\" DataType=\"i=884\">\n    <DisplayName>WarningLimits</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=80</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=6986</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=6988\" BrowseName=\"1:AlarmLimits\" ParentNodeId=\"ns=1;i=6986\" DataType=\"i=884\">\n    <DisplayName>AlarmLimits</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=80</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=6986</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=6989\" BrowseName=\"1:AlarmState\" ParentNodeId=\"ns=1;i=6986\" DataType=\"ns=1;i=6991\">\n    <DisplayName>AlarmState</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=6986</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=6990\" BrowseName=\"1:VendorSpecificError\" ParentNodeId=\"ns=1;i=6986\" DataType=\"String\">\n    <DisplayName>VendorSpecificError</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=80</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=6986</Reference>\n    </References>\n  </UAVariable>\n  <UADataType NodeId=\"ns=1;i=6991\" BrowseName=\"1:AlarmStateEnumeration\">\n    <DisplayName>AlarmStateEnumeration</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=6992</Reference>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=29</Reference>\n    </References>\n    <Definition Name=\"AlarmStateEnumeration\">\n      <Field Name=\"NORMAL_0\" Value=\"0\">\n        <Description>Normal</Description>\n      </Field>\n      <Field Name=\"WARNING_LOW_1\" Value=\"1\">\n        <Description>In low warning range</Description>\n      </Field>\n      <Field Name=\"WARNING_HIGH_2\" Value=\"2\">\n        <Description>In high warning range</Description>\n      </Field>\n      <Field Name=\"WARNING_4\" Value=\"4\">\n        <Description>In warning range (low or high) or some other warning cause</Description>\n      </Field>\n      <Field Name=\"ALARM_LOW_8\" Value=\"8\">\n        <Description>In low alarm range</Description>\n      </Field>\n      <Field Name=\"ALARM_HIGH_16\" Value=\"16\">\n        <Description>In high alarm range</Description>\n      </Field>\n      <Field Name=\"ALARM_32\" Value=\"32\">\n        <Description>In alarm range (low or high) or some other alarm cause</Description>\n      </Field>\n    </Definition>\n  </UADataType>\n  <UAVariable NodeId=\"ns=1;i=6992\" BrowseName=\"EnumValues\" ParentNodeId=\"ns=1;i=6991\" DataType=\"i=7594\" ValueRank=\"1\">\n    <DisplayName>EnumValues</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=6991</Reference>\n    </References>\n    <Value>\n      <ListOfExtensionObject xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=7616</Identifier>\n          </TypeId>\n          <Body>\n            <EnumValueType>\n              <Value>0</Value>\n              <DisplayName>\n                <Locale>\n                </Locale>\n                <Text>NORMAL_0</Text>\n              </DisplayName>\n              <Description>\n                <Locale>\n                </Locale>\n                <Text>Normal</Text>\n              </Description>\n            </EnumValueType>\n          </Body>\n        </ExtensionObject>\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=7616</Identifier>\n          </TypeId>\n          <Body>\n            <EnumValueType>\n              <Value>1</Value>\n              <DisplayName>\n                <Locale>\n                </Locale>\n                <Text>WARNING_LOW_1</Text>\n              </DisplayName>\n              <Description>\n                <Locale>\n                </Locale>\n                <Text>In low warning range</Text>\n              </Description>\n            </EnumValueType>\n          </Body>\n        </ExtensionObject>\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=7616</Identifier>\n          </TypeId>\n          <Body>\n            <EnumValueType>\n              <Value>2</Value>\n              <DisplayName>\n                <Locale>\n                </Locale>\n                <Text>WARNING_HIGH_2</Text>\n              </DisplayName>\n              <Description>\n                <Locale>\n                </Locale>\n                <Text>In high warning range</Text>\n              </Description>\n            </EnumValueType>\n          </Body>\n        </ExtensionObject>\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=7616</Identifier>\n          </TypeId>\n          <Body>\n            <EnumValueType>\n              <Value>4</Value>\n              <DisplayName>\n                <Locale>\n                </Locale>\n                <Text>WARNING_4</Text>\n              </DisplayName>\n              <Description>\n                <Locale>\n                </Locale>\n                <Text>In warning range (low or high) or some other warning cause</Text>\n              </Description>\n            </EnumValueType>\n          </Body>\n        </ExtensionObject>\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=7616</Identifier>\n          </TypeId>\n          <Body>\n            <EnumValueType>\n              <Value>8</Value>\n              <DisplayName>\n                <Locale>\n                </Locale>\n                <Text>ALARM_LOW_8</Text>\n              </DisplayName>\n              <Description>\n                <Locale>\n                </Locale>\n                <Text>In low alarm range</Text>\n              </Description>\n            </EnumValueType>\n          </Body>\n        </ExtensionObject>\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=7616</Identifier>\n          </TypeId>\n          <Body>\n            <EnumValueType>\n              <Value>16</Value>\n              <DisplayName>\n                <Locale>\n                </Locale>\n                <Text>ALARM_HIGH_16</Text>\n              </DisplayName>\n              <Description>\n                <Locale>\n                </Locale>\n                <Text>In high alarm range</Text>\n              </Description>\n            </EnumValueType>\n          </Body>\n        </ExtensionObject>\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=7616</Identifier>\n          </TypeId>\n          <Body>\n            <EnumValueType>\n              <Value>32</Value>\n              <DisplayName>\n                <Locale>\n                </Locale>\n                <Text>ALARM_32</Text>\n              </DisplayName>\n              <Description>\n                <Locale>\n                </Locale>\n                <Text>In alarm range (low or high) or some other alarm cause</Text>\n              </Description>\n            </EnumValueType>\n          </Body>\n        </ExtensionObject>\n      </ListOfExtensionObject>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=4209\" BrowseName=\"1:Opc.Ua.Adi\" SymbolicName=\"OpcUaAdi_XmlSchema\" DataType=\"ByteString\">\n    <DisplayName>Opc.Ua.Adi</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=4211</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=92</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=72</Reference>\n    </References>\n    <Value>\n      <ByteString xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">PHhzOnNjaGVtYQ0KICB4bWxuczpEST0iaHR0cDovL29wY2ZvdW5kYXRpb24ub3JnL1VBL0RJL1R5\ncGVzLnhzZCINCiAgeG1sbnM6eHM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDEvWE1MU2NoZW1hIg0K\nICB4bWxuczp1YT0iaHR0cDovL29wY2ZvdW5kYXRpb24ub3JnL1VBLzIwMDgvMDIvVHlwZXMueHNk\nIg0KICB4bWxuczp0bnM9Imh0dHA6Ly9vcGNmb3VuZGF0aW9uLm9yZy9VQS9BREkvVHlwZXMueHNk\nIg0KICB0YXJnZXROYW1lc3BhY2U9Imh0dHA6Ly9vcGNmb3VuZGF0aW9uLm9yZy9VQS9BREkvVHlw\nZXMueHNkIg0KICBlbGVtZW50Rm9ybURlZmF1bHQ9InF1YWxpZmllZCINCj4NCiAgPHhzOmltcG9y\ndCBuYW1lc3BhY2U9Imh0dHA6Ly9vcGNmb3VuZGF0aW9uLm9yZy9VQS9ESS9UeXBlcy54c2QiIC8+\nDQogIDx4czppbXBvcnQgbmFtZXNwYWNlPSJodHRwOi8vb3BjZm91bmRhdGlvbi5vcmcvVUEvMjAw\nOC8wMi9UeXBlcy54c2QiIC8+DQoNCiAgPHhzOnNpbXBsZVR5cGUgIG5hbWU9IkV4ZWN1dGlvbkN5\nY2xlRW51bWVyYXRpb24iPg0KICAgIDx4czpyZXN0cmljdGlvbiBiYXNlPSJ4czpzdHJpbmciPg0K\nICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJJRExFXzAiIC8+DQogICAgICA8eHM6ZW51bWVy\nYXRpb24gdmFsdWU9IkRJQUdOT1NUSUNfMSIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1\nZT0iQ0xFQU5JTkdfMiIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iQ0FMSUJSQVRJ\nT05fNCIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iVkFMSURBVElPTl84IiAvPg0K\nICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJTQU1QTElOR18xNiIgLz4NCiAgICAgIDx4czpl\nbnVtZXJhdGlvbiB2YWx1ZT0iRElBR05PU1RJQ19XSVRIX0dSQUJfU0FNUExFXzMyNzY5IiAvPg0K\nICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJDTEVBTklOR19XSVRIX0dSQUJfU0FNUExFXzMy\nNzcwIiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJDQUxJQlJBVElPTl9XSVRIX0dS\nQUJfU0FNUExFXzMyNzcyIiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJWQUxJREFU\nSU9OX1dJVEhfR1JBQl9TQU1QTEVfMzI3NzYiIC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFs\ndWU9IlNBTVBMSU5HX1dJVEhfR1JBQl9TQU1QTEVfMzI3ODQiIC8+DQogICAgPC94czpyZXN0cmlj\ndGlvbj4NCiAgPC94czpzaW1wbGVUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJFeGVjdXRpb25D\neWNsZUVudW1lcmF0aW9uIiB0eXBlPSJ0bnM6RXhlY3V0aW9uQ3ljbGVFbnVtZXJhdGlvbiIgLz4N\nCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iTGlzdE9mRXhlY3V0aW9uQ3ljbGVFbnVtZXJhdGlv\nbiI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRXhlY3V0aW9u\nQ3ljbGVFbnVtZXJhdGlvbiIgdHlwZT0idG5zOkV4ZWN1dGlvbkN5Y2xlRW51bWVyYXRpb24iIG1p\nbk9jY3Vycz0iMCIgbWF4T2NjdXJzPSJ1bmJvdW5kZWQiIC8+DQogICAgPC94czpzZXF1ZW5jZT4N\nCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iTGlzdE9mRXhlY3V0aW9u\nQ3ljbGVFbnVtZXJhdGlvbiIgdHlwZT0idG5zOkxpc3RPZkV4ZWN1dGlvbkN5Y2xlRW51bWVyYXRp\nb24iIG5pbGxhYmxlPSJ0cnVlIj48L3hzOmVsZW1lbnQ+DQoNCiAgPHhzOnNpbXBsZVR5cGUgIG5h\nbWU9IkFjcXVpc2l0aW9uUmVzdWx0U3RhdHVzRW51bWVyYXRpb24iPg0KICAgIDx4czpyZXN0cmlj\ndGlvbiBiYXNlPSJ4czpzdHJpbmciPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJOT1Rf\nVVNFRF8wIiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJHT09EXzEiIC8+DQogICAg\nICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IkJBRF8yIiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9u\nIHZhbHVlPSJVTktOT1dOXzMiIC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IlBBUlRJ\nQUxfNCIgLz4NCiAgICA8L3hzOnJlc3RyaWN0aW9uPg0KICA8L3hzOnNpbXBsZVR5cGU+DQogIDx4\nczplbGVtZW50IG5hbWU9IkFjcXVpc2l0aW9uUmVzdWx0U3RhdHVzRW51bWVyYXRpb24iIHR5cGU9\nInRuczpBY3F1aXNpdGlvblJlc3VsdFN0YXR1c0VudW1lcmF0aW9uIiAvPg0KDQogIDx4czpjb21w\nbGV4VHlwZSBuYW1lPSJMaXN0T2ZBY3F1aXNpdGlvblJlc3VsdFN0YXR1c0VudW1lcmF0aW9uIj4N\nCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJBY3F1aXNpdGlvblJl\nc3VsdFN0YXR1c0VudW1lcmF0aW9uIiB0eXBlPSJ0bnM6QWNxdWlzaXRpb25SZXN1bHRTdGF0dXNF\nbnVtZXJhdGlvbiIgbWluT2NjdXJzPSIwIiBtYXhPY2N1cnM9InVuYm91bmRlZCIgLz4NCiAgICA8\nL3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJM\naXN0T2ZBY3F1aXNpdGlvblJlc3VsdFN0YXR1c0VudW1lcmF0aW9uIiB0eXBlPSJ0bnM6TGlzdE9m\nQWNxdWlzaXRpb25SZXN1bHRTdGF0dXNFbnVtZXJhdGlvbiIgbmlsbGFibGU9InRydWUiPjwveHM6\nZWxlbWVudD4NCg0KICA8eHM6c2ltcGxlVHlwZSAgbmFtZT0iQWxhcm1TdGF0ZUVudW1lcmF0aW9u\nIj4NCiAgICA8eHM6cmVzdHJpY3Rpb24gYmFzZT0ieHM6c3RyaW5nIj4NCiAgICAgIDx4czplbnVt\nZXJhdGlvbiB2YWx1ZT0iTk9STUFMXzAiIC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9\nIldBUk5JTkdfTE9XXzEiIC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IldBUk5JTkdf\nSElHSF8yIiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJXQVJOSU5HXzQiIC8+DQog\nICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IkFMQVJNX0xPV184IiAvPg0KICAgICAgPHhzOmVu\ndW1lcmF0aW9uIHZhbHVlPSJBTEFSTV9ISUdIXzE2IiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9u\nIHZhbHVlPSJBTEFSTV8zMiIgLz4NCiAgICA8L3hzOnJlc3RyaWN0aW9uPg0KICA8L3hzOnNpbXBs\nZVR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IkFsYXJtU3RhdGVFbnVtZXJhdGlvbiIgdHlwZT0i\ndG5zOkFsYXJtU3RhdGVFbnVtZXJhdGlvbiIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0i\nTGlzdE9mQWxhcm1TdGF0ZUVudW1lcmF0aW9uIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8\neHM6ZWxlbWVudCBuYW1lPSJBbGFybVN0YXRlRW51bWVyYXRpb24iIHR5cGU9InRuczpBbGFybVN0\nYXRlRW51bWVyYXRpb24iIG1pbk9jY3Vycz0iMCIgbWF4T2NjdXJzPSJ1bmJvdW5kZWQiIC8+DQog\nICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFt\nZT0iTGlzdE9mQWxhcm1TdGF0ZUVudW1lcmF0aW9uIiB0eXBlPSJ0bnM6TGlzdE9mQWxhcm1TdGF0\nZUVudW1lcmF0aW9uIiBuaWxsYWJsZT0idHJ1ZSI+PC94czplbGVtZW50Pg0KDQo8L3hzOnNjaGVt\nYT4=</ByteString>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=4211\" BrowseName=\"NamespaceUri\" ParentNodeId=\"ns=1;i=4209\" DataType=\"String\">\n    <DisplayName>NamespaceUri</DisplayName>\n    <Description>A URI that uniquely identifies the dictionary.</Description>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=4209</Reference>\n    </References>\n    <Value>\n      <String xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">http://opcfoundation.org/UA/ADI/Types.xsd</String>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=4194\" BrowseName=\"1:Opc.Ua.Adi\" SymbolicName=\"OpcUaAdi_BinarySchema\" DataType=\"ByteString\">\n    <DisplayName>Opc.Ua.Adi</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=4196</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=93</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=72</Reference>\n    </References>\n    <Value>\n      <ByteString xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">PG9wYzpUeXBlRGljdGlvbmFyeQ0KICB4bWxuczpEST0iaHR0cDovL29wY2ZvdW5kYXRpb24ub3Jn\nL1VBL0RJLyINCiAgeG1sbnM6b3BjPSJodHRwOi8vb3BjZm91bmRhdGlvbi5vcmcvQmluYXJ5U2No\nZW1hLyINCiAgeG1sbnM6eHNpPSJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYS1pbnN0\nYW5jZSINCiAgeG1sbnM6dWE9Imh0dHA6Ly9vcGNmb3VuZGF0aW9uLm9yZy9VQS8iDQogIHhtbG5z\nOnRucz0iaHR0cDovL29wY2ZvdW5kYXRpb24ub3JnL1VBL0FESS8iDQogIERlZmF1bHRCeXRlT3Jk\nZXI9IkxpdHRsZUVuZGlhbiINCiAgVGFyZ2V0TmFtZXNwYWNlPSJodHRwOi8vb3BjZm91bmRhdGlv\nbi5vcmcvVUEvQURJLyINCj4NCiAgPCEtLSBUaGlzIEZpbGUgd2FzIGdlbmVyYXRlZCBvbiAyMDE1\nLTA4LTExIGFuZCBzdXBwb3J0cyB0aGUgc3BlY2lmaWNhdGlvbnMgc3VwcG9ydGVkIGJ5IHZlcnNp\nb24gMS4yLjI2LjE2MDMyIG9mIHRoZSBPUEMgVUEgZGVsaXZlcmFibGVzLiAtLT4NCiAgPG9wYzpJ\nbXBvcnQgTmFtZXNwYWNlPSJodHRwOi8vb3BjZm91bmRhdGlvbi5vcmcvVUEvREkvIiBMb2NhdGlv\nbj0iT3BjLlVhLkRpLkJpbmFyeVNjaGVtYS5ic2QiLz4NCiAgPG9wYzpJbXBvcnQgTmFtZXNwYWNl\nPSJodHRwOi8vb3BjZm91bmRhdGlvbi5vcmcvVUEvIiBMb2NhdGlvbj0iT3BjLlVhLkJpbmFyeVNj\naGVtYS5ic2QiLz4NCg0KICA8b3BjOkVudW1lcmF0ZWRUeXBlIE5hbWU9IkV4ZWN1dGlvbkN5Y2xl\nRW51bWVyYXRpb24iIExlbmd0aEluQml0cz0iMzIiPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVl\nIE5hbWU9IklETEUiIFZhbHVlPSIwIiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9\nIkRJQUdOT1NUSUMiIFZhbHVlPSIxIiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9\nIkNMRUFOSU5HIiBWYWx1ZT0iMiIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJD\nQUxJQlJBVElPTiIgVmFsdWU9IjQiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0i\nVkFMSURBVElPTiIgVmFsdWU9IjgiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0i\nU0FNUExJTkciIFZhbHVlPSIxNiIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJE\nSUFHTk9TVElDX1dJVEhfR1JBQl9TQU1QTEUiIFZhbHVlPSIzMjc2OSIgLz4NCiAgICA8b3BjOkVu\ndW1lcmF0ZWRWYWx1ZSBOYW1lPSJDTEVBTklOR19XSVRIX0dSQUJfU0FNUExFIiBWYWx1ZT0iMzI3\nNzAiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iQ0FMSUJSQVRJT05fV0lUSF9H\nUkFCX1NBTVBMRSIgVmFsdWU9IjMyNzcyIiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5h\nbWU9IlZBTElEQVRJT05fV0lUSF9HUkFCX1NBTVBMRSIgVmFsdWU9IjMyNzc2IiAvPg0KICAgIDxv\ncGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IlNBTVBMSU5HX1dJVEhfR1JBQl9TQU1QTEUiIFZhbHVl\nPSIzMjc4NCIgLz4NCiAgPC9vcGM6RW51bWVyYXRlZFR5cGU+DQoNCiAgPG9wYzpFbnVtZXJhdGVk\nVHlwZSBOYW1lPSJBY3F1aXNpdGlvblJlc3VsdFN0YXR1c0VudW1lcmF0aW9uIiBMZW5ndGhJbkJp\ndHM9IjMyIj4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJOT1RfVVNFRCIgVmFsdWU9\nIjAiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iR09PRCIgVmFsdWU9IjEiIC8+\nDQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iQkFEIiBWYWx1ZT0iMiIgLz4NCiAgICA8\nb3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJVTktOT1dOIiBWYWx1ZT0iMyIgLz4NCiAgICA8b3Bj\nOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJQQVJUSUFMIiBWYWx1ZT0iNCIgLz4NCiAgPC9vcGM6RW51\nbWVyYXRlZFR5cGU+DQoNCiAgPG9wYzpFbnVtZXJhdGVkVHlwZSBOYW1lPSJBbGFybVN0YXRlRW51\nbWVyYXRpb24iIExlbmd0aEluQml0cz0iMzIiPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5h\nbWU9Ik5PUk1BTF8wIiBWYWx1ZT0iMCIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1l\nPSJXQVJOSU5HX0xPV18xIiBWYWx1ZT0iMSIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBO\nYW1lPSJXQVJOSU5HX0hJR0hfMiIgVmFsdWU9IjIiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFs\ndWUgTmFtZT0iV0FSTklOR180IiBWYWx1ZT0iNCIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1\nZSBOYW1lPSJBTEFSTV9MT1dfOCIgVmFsdWU9IjgiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFs\ndWUgTmFtZT0iQUxBUk1fSElHSF8xNiIgVmFsdWU9IjE2IiAvPg0KICAgIDxvcGM6RW51bWVyYXRl\nZFZhbHVlIE5hbWU9IkFMQVJNXzMyIiBWYWx1ZT0iMzIiIC8+DQogIDwvb3BjOkVudW1lcmF0ZWRU\neXBlPg0KDQo8L29wYzpUeXBlRGljdGlvbmFyeT4=</ByteString>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=4196\" BrowseName=\"NamespaceUri\" ParentNodeId=\"ns=1;i=4194\" DataType=\"String\">\n    <DisplayName>NamespaceUri</DisplayName>\n    <Description>A URI that uniquely identifies the dictionary.</Description>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=4194</Reference>\n    </References>\n    <Value>\n      <String xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">http://opcfoundation.org/UA/ADI/</String>\n    </Value>\n  </UAVariable>\n</UANodeSet>"
  },
  {
    "path": "SemanticData/Tests/USNodeSetValidationUnitTestProject/XMLModels/ProblemsToReport/BrowseNameInheritedFrom0/BrowseNameInheritedFrom0.xml",
    "content": "﻿<?xml version=\"1.0\" encoding=\"utf-8\" ?>\n\n<UANodeSet LastModified=\"2020-11-25T11:52:36.296Z\" xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xmlns=\"http://opcfoundation.org/UA/2011/03/UANodeSet.xsd\" xmlns:uax=\"http://opcfoundation.org/UA/2008/02/Types.xsd\" xmlns:si=\"http://www.siemens.com/OPCUA/2017/SimaticNodeSetExtensions\" xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\">\n  <NamespaceUris>\n    <Uri>http://tricycleTypeV1</Uri>\n  </NamespaceUris>\n  <Models>\n    <Model ModelUri=\"http://tricycleTypeV1\" PublicationDate=\"2020-11-25T00:00:00Z\" Version=\"1.00\">\n      <RequiredModel ModelUri=\"http://opcfoundation.org/UA/\" PublicationDate=\"2020-04-14T00:00:00Z\" Version=\"1.04.6\" />\n    </Model>\n  </Models>\n  <Aliases>\n    <Alias Alias=\"Int32\">i=6</Alias>\n    <Alias Alias=\"Float\">i=10</Alias>\n    <Alias Alias=\"DateTime\">i=13</Alias>\n    <Alias Alias=\"String\">i=12</Alias>\n    <Alias Alias=\"ByteString\">i=15</Alias>\n    <Alias Alias=\"LocalizedText\">i=21</Alias>\n    <Alias Alias=\"HasComponent\">i=47</Alias>\n    <Alias Alias=\"HasProperty\">i=46</Alias>\n    <Alias Alias=\"HasSubtype\">i=45</Alias>\n    <Alias Alias=\"HasTypeDefinition\">i=40</Alias>\n    <Alias Alias=\"HasModellingRule\">i=37</Alias>\n    <Alias Alias=\"HasEncoding\">i=38</Alias>\n    <Alias Alias=\"HasDescription\">i=39</Alias>\n    <Alias Alias=\"HasOrderedComponent\">i=49</Alias>\n    <Alias Alias=\"TireEnum\">ns=1;i=1</Alias>\n    <Alias Alias=\"TriCycleDataType\">ns=1;i=3</Alias>\n    <Alias Alias=\"WheelDataType\">ns=1;i=5</Alias>\n  </Aliases>\n\n  <UAVariableType DataType=\"ns=1;i=5\" NodeId=\"ns=1;i=33\" BrowseName=\"1:WheelVariableType\">\n    <DisplayName>WheelVariableType</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=63</Reference>\n    </References>\n  </UAVariableType>\n\n  <UAVariable DataType=\"Float\" NodeId=\"ns=1;i=34\" BrowseName=\"tickness\" ParentNodeId=\"ns=1;i=33\">\n    <DisplayName>tickness</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=33</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=63</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n    </References>\n  </UAVariable>\n\n  <UAVariable NodeId=\"ns=1;i=11513\" BrowseName=\"EngineeringUnits\" DataType=\"i=887\">\n    <DisplayName>EngineeringUnits</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=33</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n    </References>\n  </UAVariable>\n\n</UANodeSet>"
  },
  {
    "path": "SemanticData/Tests/USNodeSetValidationUnitTestProject/XMLModels/ProblemsToReport/HasOrderedComponent/Opc.Ua.NodeSet2.TriCycleType_V1.1.xml",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<UANodeSet LastModified=\"2020-11-25T11:52:36.296Z\" xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xmlns=\"http://opcfoundation.org/UA/2011/03/UANodeSet.xsd\" xmlns:uax=\"http://opcfoundation.org/UA/2008/02/Types.xsd\" xmlns:si=\"http://www.siemens.com/OPCUA/2017/SimaticNodeSetExtensions\" xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\">\n  <NamespaceUris>\n    <Uri>http://tricycleTypeV1</Uri>\n  </NamespaceUris>\n  <Models>\n    <Model ModelUri=\"http://tricycleTypeV1\" PublicationDate=\"2020-11-25T00:00:00Z\" Version=\"1.00\">\n      <RequiredModel ModelUri=\"http://opcfoundation.org/UA/\" PublicationDate=\"2020-04-14T00:00:00Z\" Version=\"1.04.6\" />\n    </Model>\n  </Models>\n  <Aliases>\n    <Alias Alias=\"Int32\">i=6</Alias>\n    <Alias Alias=\"HasSubtype\">i=45</Alias>\n    <Alias Alias=\"HasTypeDefinition\">i=40</Alias>\n    <Alias Alias=\"HasModellingRule\">i=37</Alias>\n    <Alias Alias=\"HasOrderedComponent\">i=49</Alias>\n  </Aliases>\n  <UAObjectType NodeId=\"ns=1;i=11\" BrowseName=\"1:TrailerType\">\n    <DisplayName>TrailerType</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">ns=1;i=12</Reference>\n    </References>\n  </UAObjectType>\n  <UAVariable DataType=\"Int32\" ValueRank=\"1\" NodeId=\"ns=1;i=23\" ArrayDimensions=\"0\" BrowseName=\"LoadedTricycle\" ParentNodeId=\"ns=1;i=11\">\n    <DisplayName>LoadedTricycle</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasOrderedComponent\" IsForward=\"false\">ns=1;i=11</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=63</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n    </References>\n  </UAVariable>\n  <UAObjectType NodeId=\"ns=1;i=12\" BrowseName=\"1:VehicleType\">\n    <DisplayName>VehicleType</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=58</Reference>\n    </References>\n  </UAObjectType>\n</UANodeSet>"
  },
  {
    "path": "SemanticData/Tests/USNodeSetValidationUnitTestProject/XMLModels/ProblemsToReport/MachineVision/Opc.Ua.MachineVision.NodeSet2.xml",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\" ?>\n<!--\n * Copyright (c) 2005-2019 The OPC Foundation, Inc. All rights reserved.\n *\n * OPC Foundation MIT License 1.00\n * \n * Permission is hereby granted, free of charge, to any person\n * obtaining a copy of this software and associated documentation\n * files (the \"Software\"), to deal in the Software without\n * restriction, including without limitation the rights to use,\n * copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the\n * Software is furnished to do so, subject to the following\n * conditions:\n * \n * The above copyright notice and this permission notice shall be\n * included in all copies or substantial portions of the Software.\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND,\n * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES\n * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND\n * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT\n * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,\n * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING\n * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR\n * OTHER DEALINGS IN THE SOFTWARE.\n *\n * The complete license agreement can be found here:\n * http://opcfoundation.org/License/MIT/1.00/\n-->\n\n<UANodeSet xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\" xmlns=\"http://opcfoundation.org/UA/2011/03/UANodeSet.xsd\">\n  <NamespaceUris>\n    <Uri>http://opcfoundation.org/UA/MachineVision</Uri>\n  </NamespaceUris>\n  <Models>\n    <Model ModelUri=\"http://opcfoundation.org/UA/MachineVision\" Version=\"1.0.0\" PublicationDate=\"2019-07-11T10:18:27Z\">\n      <RequiredModel ModelUri=\"http://opcfoundation.org/UA/\" Version=\"1.04\" PublicationDate=\"2018-05-15T00:00:00Z\" />\n    </Model>\n  </Models>\n  <Aliases>\n    <Alias Alias=\"Boolean\">i=1</Alias>\n    <Alias Alias=\"UInt16\">i=5</Alias>\n    <Alias Alias=\"Int32\">i=6</Alias>\n    <Alias Alias=\"UInt32\">i=7</Alias>\n    <Alias Alias=\"UInt64\">i=9</Alias>\n    <Alias Alias=\"String\">i=12</Alias>\n    <Alias Alias=\"DateTime\">i=13</Alias>\n    <Alias Alias=\"ByteString\">i=15</Alias>\n    <Alias Alias=\"NodeId\">i=17</Alias>\n    <Alias Alias=\"LocalizedText\">i=21</Alias>\n    <Alias Alias=\"HasModellingRule\">i=37</Alias>\n    <Alias Alias=\"HasEncoding\">i=38</Alias>\n    <Alias Alias=\"HasDescription\">i=39</Alias>\n    <Alias Alias=\"HasTypeDefinition\">i=40</Alias>\n    <Alias Alias=\"HasSubtype\">i=45</Alias>\n    <Alias Alias=\"HasProperty\">i=46</Alias>\n    <Alias Alias=\"HasComponent\">i=47</Alias>\n    <Alias Alias=\"FromState\">i=51</Alias>\n    <Alias Alias=\"ToState\">i=52</Alias>\n    <Alias Alias=\"HasCause\">i=53</Alias>\n    <Alias Alias=\"HasEffect\">i=54</Alias>\n    <Alias Alias=\"HasSubStateMachine\">i=117</Alias>\n    <Alias Alias=\"IdType\">i=256</Alias>\n    <Alias Alias=\"Duration\">i=290</Alias>\n    <Alias Alias=\"NumericRange\">i=291</Alias>\n    <Alias Alias=\"UtcTime\">i=294</Alias>\n    <Alias Alias=\"Argument\">i=296</Alias>\n    <Alias Alias=\"EnumValueType\">i=7594</Alias>\n    <Alias Alias=\"RecipeIdExternalDataType\">ns=1;i=3002</Alias>\n    <Alias Alias=\"ProductIdDataType\">ns=1;i=3003</Alias>\n    <Alias Alias=\"PartIdDataType\">ns=1;i=3004</Alias>\n    <Alias Alias=\"ProcessingTimesDataType\">ns=1;i=3005</Alias>\n    <Alias Alias=\"ResultDataType\">ns=1;i=3006</Alias>\n    <Alias Alias=\"ConfigurationDataType\">ns=1;i=3007</Alias>\n    <Alias Alias=\"ConfigurationIdDataType\">ns=1;i=3008</Alias>\n    <Alias Alias=\"ResultStateDataType\">ns=1;i=3009</Alias>\n    <Alias Alias=\"RecipeIdInternalDataType\">ns=1;i=3013</Alias>\n    <Alias Alias=\"MeasIdDataType\">ns=1;i=3015</Alias>\n    <Alias Alias=\"JobIdDataType\">ns=1;i=3016</Alias>\n    <Alias Alias=\"TrimmedString\">ns=1;i=3017</Alias>\n    <Alias Alias=\"ProductDataType\">ns=1;i=3020</Alias>\n    <Alias Alias=\"ResultIdDataType\">ns=1;i=3021</Alias>\n    <Alias Alias=\"SystemStateDataType\">ns=1;i=3023</Alias>\n    <Alias Alias=\"SystemStateDescriptionDataType\">ns=1;i=3024</Alias>\n    <Alias Alias=\"FromTransition\">ns=1;i=4002</Alias>\n    <Alias Alias=\"ToTransition\">ns=1;i=4003</Alias>\n  </Aliases>\n  <Extensions>\n    <Extension>\n      <ua:ModelInfo Tool=\"UaModeler\" Hash=\"M5u9yoCb552iNflUz1NyzQ==\" Version=\"1.6.2\" xmlns:ua=\"http://unifiedautomation.com/Configuration/NodeSet.xsd\" />\n    </Extension>\n  </Extensions>\n  <UADataType NodeId=\"ns=1;i=3023\" BrowseName=\"1:SystemStateDataType\">\n    <DisplayName>SystemStateDataType</DisplayName>\n    <Documentation>https://reference.opcfoundation.org/v104/MachineVision/v100/docs/12.21</Documentation>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=6032</Reference>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=29</Reference>\n    </References>\n    <Definition Name=\"1:SystemStateDataType\">\n      <Field Name=\"PRD_1\" Value=\"1\">\n        <Description>Production: The vision system is currently working on a job.</Description>\n      </Field>\n      <Field Name=\"SBY_2\" Value=\"2\">\n        <Description>Stand by: The vision system is ready to accept a command but is currently not executing a job. It could for example be waiting for a Start command or a user input.</Description>\n      </Field>\n      <Field Name=\"ENG_3\" Value=\"3\">\n        <Description>Engineering: The vision system is not working and not ready to accept a command because a user is currently working on the system.  This could be for editing a recipe or changing the system configuration.</Description>\n      </Field>\n      <Field Name=\"SDT_4\" Value=\"4\">\n        <Description>Scheduled downtime: The vision system is not available for production and this was planned in advance. This could be for cleaning, maintenance or calibration works.</Description>\n      </Field>\n      <Field Name=\"UDT_5\" Value=\"5\">\n        <Description>Unscheduled downtime: The vision system is not available for production due to failure and repair. This covers all kinds of error states that might occur during operation.</Description>\n      </Field>\n      <Field Name=\"NST_6\" Value=\"6\">\n        <Description>Nonscheduled time: The vision system is not working because no production was scheduled. This also covers things like operator training on the system.</Description>\n      </Field>\n    </Definition>\n  </UADataType>\n  <UAVariable NodeId=\"ns=1;i=6032\" BrowseName=\"EnumValues\" ParentNodeId=\"ns=1;i=3023\" DataType=\"EnumValueType\" ValueRank=\"1\" ArrayDimensions=\"6\">\n    <DisplayName>EnumValues</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=3023</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n    </References>\n    <Value>\n      <uax:ListOfExtensionObject xmlns:uax=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <uax:ExtensionObject>\n          <uax:TypeId>\n            <uax:Identifier>i=7616</uax:Identifier>\n          </uax:TypeId>\n          <uax:Body>\n            <uax:EnumValueType>\n              <uax:Value>1</uax:Value>\n              <uax:DisplayName>\n                <uax:Text>PRD_1</uax:Text>\n              </uax:DisplayName>\n              <uax:Description>\n                <uax:Text>Production: The vision system is currently working on a job.</uax:Text>\n              </uax:Description>\n            </uax:EnumValueType>\n          </uax:Body>\n        </uax:ExtensionObject>\n        <uax:ExtensionObject>\n          <uax:TypeId>\n            <uax:Identifier>i=7616</uax:Identifier>\n          </uax:TypeId>\n          <uax:Body>\n            <uax:EnumValueType>\n              <uax:Value>2</uax:Value>\n              <uax:DisplayName>\n                <uax:Text>SBY_2</uax:Text>\n              </uax:DisplayName>\n              <uax:Description>\n                <uax:Text>Stand by: The vision system is ready to accept a command but is currently not executing a job. It could for example be waiting for a Start command or a user input.</uax:Text>\n              </uax:Description>\n            </uax:EnumValueType>\n          </uax:Body>\n        </uax:ExtensionObject>\n        <uax:ExtensionObject>\n          <uax:TypeId>\n            <uax:Identifier>i=7616</uax:Identifier>\n          </uax:TypeId>\n          <uax:Body>\n            <uax:EnumValueType>\n              <uax:Value>3</uax:Value>\n              <uax:DisplayName>\n                <uax:Text>ENG_3</uax:Text>\n              </uax:DisplayName>\n              <uax:Description>\n                <uax:Text>Engineering: The vision system is not working and not ready to accept a command because a user is currently working on the system.  This could be for editing a recipe or changing the system configuration.</uax:Text>\n              </uax:Description>\n            </uax:EnumValueType>\n          </uax:Body>\n        </uax:ExtensionObject>\n        <uax:ExtensionObject>\n          <uax:TypeId>\n            <uax:Identifier>i=7616</uax:Identifier>\n          </uax:TypeId>\n          <uax:Body>\n            <uax:EnumValueType>\n              <uax:Value>4</uax:Value>\n              <uax:DisplayName>\n                <uax:Text>SDT_4</uax:Text>\n              </uax:DisplayName>\n              <uax:Description>\n                <uax:Text>Scheduled downtime: The vision system is not available for production and this was planned in advance. This could be for cleaning, maintenance or calibration works.</uax:Text>\n              </uax:Description>\n            </uax:EnumValueType>\n          </uax:Body>\n        </uax:ExtensionObject>\n        <uax:ExtensionObject>\n          <uax:TypeId>\n            <uax:Identifier>i=7616</uax:Identifier>\n          </uax:TypeId>\n          <uax:Body>\n            <uax:EnumValueType>\n              <uax:Value>5</uax:Value>\n              <uax:DisplayName>\n                <uax:Text>UDT_5</uax:Text>\n              </uax:DisplayName>\n              <uax:Description>\n                <uax:Text>Unscheduled downtime: The vision system is not available for production due to failure and repair. This covers all kinds of error states that might occur during operation.</uax:Text>\n              </uax:Description>\n            </uax:EnumValueType>\n          </uax:Body>\n        </uax:ExtensionObject>\n        <uax:ExtensionObject>\n          <uax:TypeId>\n            <uax:Identifier>i=7616</uax:Identifier>\n          </uax:TypeId>\n          <uax:Body>\n            <uax:EnumValueType>\n              <uax:Value>6</uax:Value>\n              <uax:DisplayName>\n                <uax:Text>NST_6</uax:Text>\n              </uax:DisplayName>\n              <uax:Description>\n                <uax:Text>Nonscheduled time: The vision system is not working because no production was scheduled. This also covers things like operator training on the system.</uax:Text>\n              </uax:Description>\n            </uax:EnumValueType>\n          </uax:Body>\n        </uax:ExtensionObject>\n      </uax:ListOfExtensionObject>\n    </Value>\n  </UAVariable>\n  <UADataType NodeId=\"ns=1;i=3014\" BrowseName=\"1:TriStateBooleanDataType\">\n    <DisplayName>TriStateBooleanDataType</DisplayName>\n    <Documentation>https://reference.opcfoundation.org/v104/MachineVision/v100/docs/12.3</Documentation>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=6367</Reference>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=29</Reference>\n    </References>\n    <Definition Name=\"1:TriStateBooleanDataType\">\n      <Field Name=\"FALSE_0\" Value=\"0\">\n        <Description>The filtering function shall look for entities where the filtered value is FALSE.</Description>\n      </Field>\n      <Field Name=\"TRUE_1\" Value=\"1\">\n        <Description>The filtering function shall look for entities where the filtered value is TRUE.</Description>\n      </Field>\n      <Field Name=\"DONTCARE_2\" Value=\"2\">\n        <Description>The filtering function shall not take the value into account.</Description>\n      </Field>\n    </Definition>\n  </UADataType>\n  <UAVariable NodeId=\"ns=1;i=6367\" BrowseName=\"EnumValues\" ParentNodeId=\"ns=1;i=3014\" DataType=\"EnumValueType\" ValueRank=\"1\" ArrayDimensions=\"3\">\n    <DisplayName>EnumValues</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=3014</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n    </References>\n    <Value>\n      <uax:ListOfExtensionObject xmlns:uax=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <uax:ExtensionObject>\n          <uax:TypeId>\n            <uax:Identifier>i=7616</uax:Identifier>\n          </uax:TypeId>\n          <uax:Body>\n            <uax:EnumValueType>\n              <uax:Value>0</uax:Value>\n              <uax:DisplayName>\n                <uax:Text>FALSE_0</uax:Text>\n              </uax:DisplayName>\n              <uax:Description>\n                <uax:Text>The filtering function shall look for entities where the filtered value is FALSE.</uax:Text>\n              </uax:Description>\n            </uax:EnumValueType>\n          </uax:Body>\n        </uax:ExtensionObject>\n        <uax:ExtensionObject>\n          <uax:TypeId>\n            <uax:Identifier>i=7616</uax:Identifier>\n          </uax:TypeId>\n          <uax:Body>\n            <uax:EnumValueType>\n              <uax:Value>1</uax:Value>\n              <uax:DisplayName>\n                <uax:Text>TRUE_1</uax:Text>\n              </uax:DisplayName>\n              <uax:Description>\n                <uax:Text>The filtering function shall look for entities where the filtered value is TRUE.</uax:Text>\n              </uax:Description>\n            </uax:EnumValueType>\n          </uax:Body>\n        </uax:ExtensionObject>\n        <uax:ExtensionObject>\n          <uax:TypeId>\n            <uax:Identifier>i=7616</uax:Identifier>\n          </uax:TypeId>\n          <uax:Body>\n            <uax:EnumValueType>\n              <uax:Value>2</uax:Value>\n              <uax:DisplayName>\n                <uax:Text>DONTCARE_2</uax:Text>\n              </uax:DisplayName>\n              <uax:Description>\n                <uax:Text>The filtering function shall not take the value into account.</uax:Text>\n              </uax:Description>\n            </uax:EnumValueType>\n          </uax:Body>\n        </uax:ExtensionObject>\n      </uax:ListOfExtensionObject>\n    </Value>\n  </UAVariable>\n  <UADataType NodeId=\"ns=1;i=3009\" BrowseName=\"1:ResultStateDataType\">\n    <DisplayName>ResultStateDataType</DisplayName>\n    <Documentation>https://reference.opcfoundation.org/v104/MachineVision/v100/docs/12.19</Documentation>\n    <References>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=6</Reference>\n    </References>\n  </UADataType>\n  <UADataType NodeId=\"ns=1;i=3018\" BrowseName=\"1:Handle\">\n    <DisplayName>Handle</DisplayName>\n    <Documentation>https://reference.opcfoundation.org/v104/MachineVision/v100/docs/12.1</Documentation>\n    <References>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=7</Reference>\n    </References>\n  </UADataType>\n  <UADataType NodeId=\"ns=1;i=3017\" BrowseName=\"1:TrimmedString\">\n    <DisplayName>TrimmedString</DisplayName>\n    <Documentation>https://reference.opcfoundation.org/v104/MachineVision/v100/docs/12.2</Documentation>\n    <References>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=12</Reference>\n    </References>\n  </UADataType>\n  <UADataType NodeId=\"ns=1;i=3019\" BrowseName=\"1:BinaryIdBaseDataType\" IsAbstract=\"true\">\n    <DisplayName>BinaryIdBaseDataType</DisplayName>\n    <Documentation>https://reference.opcfoundation.org/v104/MachineVision/v100/docs/12.8</Documentation>\n    <References>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=22</Reference>\n      <Reference ReferenceType=\"HasEncoding\">ns=1;i=5027</Reference>\n      <Reference ReferenceType=\"HasEncoding\">ns=1;i=5271</Reference>\n    </References>\n    <Definition Name=\"1:BinaryIdBaseDataType\">\n      <Field Name=\"Id\" DataType=\"TrimmedString\">\n        <Description>Id is a system-wide unique name for identifying the recipe.</Description>\n      </Field>\n      <Field Name=\"Version\" DataType=\"TrimmedString\" IsOptional=\"true\">\n        <Description>Represents an optional version number of the identified recipe. It is recommended to be of the format Major.minor.patch.build or a subset thereof, but the actual format is implementation defined.</Description>\n      </Field>\n      <Field Name=\"Hash\" DataType=\"ByteString\" IsOptional=\"true\">\n        <Description>Represents an optional hash of the binary content of the actual recipe (as it would be transmitted by the transfer methods).\nThe hash is supposed to be provided by the environment if existing. The environment shall use the same hash function on all recipes so that a difference in the hash indicates a difference in the recipe. It is recommended to use the SHA-256 algorithm for computing the hash, however, the actual algorithm is implementation-defined.</Description>\n      </Field>\n      <Field Name=\"HashAlgorithm\" DataType=\"String\" IsOptional=\"true\">\n        <Description>Name of the hash function used. Required if internally and externally computed hashes are to be compared.</Description>\n      </Field>\n      <Field Name=\"Description\" DataType=\"LocalizedText\" IsOptional=\"true\">\n        <Description>Optional short human readable description of the configuration.</Description>\n      </Field>\n    </Definition>\n  </UADataType>\n  <UAVariable NodeId=\"ns=1;i=6033\" BrowseName=\"1:BinaryIdBaseDataType\" ParentNodeId=\"ns=1;i=6001\" DataType=\"String\">\n    <DisplayName>BinaryIdBaseDataType</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasDescription\" IsForward=\"false\">ns=1;i=5027</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=6001</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=69</Reference>\n    </References>\n    <Value>\n      <uax:String xmlns:uax=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">BinaryIdBaseDataType</uax:String>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=6034\" BrowseName=\"1:BinaryIdBaseDataType\" ParentNodeId=\"ns=1;i=6003\" DataType=\"String\">\n    <DisplayName>BinaryIdBaseDataType</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasDescription\" IsForward=\"false\">ns=1;i=5271</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=6003</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=69</Reference>\n    </References>\n    <Value>\n      <uax:String xmlns:uax=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">//xs:element[@name='BinaryIdBaseDataType']</uax:String>\n    </Value>\n  </UAVariable>\n  <UADataType NodeId=\"ns=1;i=3008\" BrowseName=\"1:ConfigurationIdDataType\">\n    <DisplayName>ConfigurationIdDataType</DisplayName>\n    <Documentation>https://reference.opcfoundation.org/v104/MachineVision/v100/docs/12.13</Documentation>\n    <References>\n      <Reference ReferenceType=\"HasEncoding\">ns=1;i=5090</Reference>\n      <Reference ReferenceType=\"HasEncoding\">ns=1;i=5091</Reference>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">ns=1;i=3019</Reference>\n    </References>\n    <Definition Name=\"1:ConfigurationIdDataType\" />\n  </UADataType>\n  <UAVariable NodeId=\"ns=1;i=6354\" BrowseName=\"1:ConfigurationIdDataType\" ParentNodeId=\"ns=1;i=6001\" DataType=\"String\">\n    <DisplayName>ConfigurationIdDataType</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasDescription\" IsForward=\"false\">ns=1;i=5090</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=6001</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=69</Reference>\n    </References>\n    <Value>\n      <uax:String xmlns:uax=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">ConfigurationIdDataType</uax:String>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=6355\" BrowseName=\"1:ConfigurationIdDataType\" ParentNodeId=\"ns=1;i=6003\" DataType=\"String\">\n    <DisplayName>ConfigurationIdDataType</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasDescription\" IsForward=\"false\">ns=1;i=5091</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=6003</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=69</Reference>\n    </References>\n    <Value>\n      <uax:String xmlns:uax=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">//xs:element[@name='ConfigurationIdDataType']</uax:String>\n    </Value>\n  </UAVariable>\n  <UADataType NodeId=\"ns=1;i=3002\" BrowseName=\"1:RecipeIdExternalDataType\">\n    <DisplayName>RecipeIdExternalDataType</DisplayName>\n    <Documentation>https://reference.opcfoundation.org/v104/MachineVision/v100/docs/12.9</Documentation>\n    <References>\n      <Reference ReferenceType=\"HasEncoding\">ns=1;i=5002</Reference>\n      <Reference ReferenceType=\"HasEncoding\">ns=1;i=5003</Reference>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">ns=1;i=3019</Reference>\n    </References>\n    <Definition Name=\"1:RecipeIdExternalDataType\" />\n  </UADataType>\n  <UAVariable NodeId=\"ns=1;i=6021\" BrowseName=\"1:RecipeIdExternalDataType\" ParentNodeId=\"ns=1;i=6001\" DataType=\"String\">\n    <DisplayName>RecipeIdExternalDataType</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=69</Reference>\n      <Reference ReferenceType=\"HasDescription\" IsForward=\"false\">ns=1;i=5002</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=6001</Reference>\n    </References>\n    <Value>\n      <uax:String xmlns:uax=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">RecipeIdExternalDataType</uax:String>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=6022\" BrowseName=\"1:RecipeIdExternalDataType\" ParentNodeId=\"ns=1;i=6003\" DataType=\"String\">\n    <DisplayName>RecipeIdExternalDataType</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=69</Reference>\n      <Reference ReferenceType=\"HasDescription\" IsForward=\"false\">ns=1;i=5003</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=6003</Reference>\n    </References>\n    <Value>\n      <uax:String xmlns:uax=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">//xs:element[@name='RecipeIdExternalDataType']</uax:String>\n    </Value>\n  </UAVariable>\n  <UADataType NodeId=\"ns=1;i=3013\" BrowseName=\"1:RecipeIdInternalDataType\">\n    <DisplayName>RecipeIdInternalDataType</DisplayName>\n    <Documentation>https://reference.opcfoundation.org/v104/MachineVision/v100/docs/12.10</Documentation>\n    <References>\n      <Reference ReferenceType=\"HasEncoding\">ns=1;i=5268</Reference>\n      <Reference ReferenceType=\"HasEncoding\">ns=1;i=5269</Reference>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">ns=1;i=3019</Reference>\n    </References>\n    <Definition Name=\"1:RecipeIdInternalDataType\" />\n  </UADataType>\n  <UAVariable NodeId=\"ns=1;i=6035\" BrowseName=\"1:RecipeIdInternalDataType\" ParentNodeId=\"ns=1;i=6001\" DataType=\"String\">\n    <DisplayName>RecipeIdInternalDataType</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=69</Reference>\n      <Reference ReferenceType=\"HasDescription\" IsForward=\"false\">ns=1;i=5268</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=6001</Reference>\n    </References>\n    <Value>\n      <uax:String xmlns:uax=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">RecipeIdInternalDataType</uax:String>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=6036\" BrowseName=\"1:RecipeIdInternalDataType\" ParentNodeId=\"ns=1;i=6003\" DataType=\"String\">\n    <DisplayName>RecipeIdInternalDataType</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=69</Reference>\n      <Reference ReferenceType=\"HasDescription\" IsForward=\"false\">ns=1;i=5269</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=6003</Reference>\n    </References>\n    <Value>\n      <uax:String xmlns:uax=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">//xs:element[@name='RecipeIdInternalDataType']</uax:String>\n    </Value>\n  </UAVariable>\n  <UADataType NodeId=\"ns=1;i=3007\" BrowseName=\"1:ConfigurationDataType\">\n    <DisplayName>ConfigurationDataType</DisplayName>\n    <Documentation>https://reference.opcfoundation.org/v104/MachineVision/v100/docs/12.12</Documentation>\n    <References>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=22</Reference>\n      <Reference ReferenceType=\"HasEncoding\">ns=1;i=5088</Reference>\n      <Reference ReferenceType=\"HasEncoding\">ns=1;i=5089</Reference>\n    </References>\n    <Definition Name=\"1:ConfigurationDataType\">\n      <Field Name=\"HasTransferableDataOnFile\" DataType=\"Boolean\" IsOptional=\"true\">\n        <Description>Indicates that actual content of the configuration may be transferred through temporary file transfer method.</Description>\n      </Field>\n      <Field Name=\"ExternalId\" DataType=\"ConfigurationIdDataType\" IsOptional=\"true\">\n        <Description>Identification of the configuration used by the environment. This argument must not be empty.</Description>\n      </Field>\n      <Field Name=\"InternalId\" DataType=\"ConfigurationIdDataType\">\n        <Description>System-wide unique ID for identifying a configuration. This ID is assigned by the vision system.</Description>\n      </Field>\n      <Field Name=\"LastModified\" DataType=\"UtcTime\">\n        <Description>The time and date when this configuration was last modified.</Description>\n      </Field>\n    </Definition>\n  </UADataType>\n  <UAVariable NodeId=\"ns=1;i=6352\" BrowseName=\"1:ConfigurationDataType\" ParentNodeId=\"ns=1;i=6001\" DataType=\"String\">\n    <DisplayName>ConfigurationDataType</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasDescription\" IsForward=\"false\">ns=1;i=5088</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=6001</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=69</Reference>\n    </References>\n    <Value>\n      <uax:String xmlns:uax=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">ConfigurationDataType</uax:String>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=6353\" BrowseName=\"1:ConfigurationDataType\" ParentNodeId=\"ns=1;i=6003\" DataType=\"String\">\n    <DisplayName>ConfigurationDataType</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasDescription\" IsForward=\"false\">ns=1;i=5089</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=6003</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=69</Reference>\n    </References>\n    <Value>\n      <uax:String xmlns:uax=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">//xs:element[@name='ConfigurationDataType']</uax:String>\n    </Value>\n  </UAVariable>\n  <UADataType NodeId=\"ns=1;i=3011\" BrowseName=\"1:ConfigurationTransferOptions\">\n    <DisplayName>ConfigurationTransferOptions</DisplayName>\n    <Documentation>https://reference.opcfoundation.org/v104/MachineVision/v100/docs/12.14</Documentation>\n    <References>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=22</Reference>\n      <Reference ReferenceType=\"HasEncoding\">ns=1;i=5246</Reference>\n      <Reference ReferenceType=\"HasEncoding\">ns=1;i=5247</Reference>\n    </References>\n    <Definition Name=\"1:ConfigurationTransferOptions\">\n      <Field Name=\"InternalId\" DataType=\"ConfigurationIdDataType\">\n        <Description>The Id of the configuration to be transferred to or from the client.</Description>\n      </Field>\n    </Definition>\n  </UADataType>\n  <UAVariable NodeId=\"ns=1;i=6125\" BrowseName=\"1:ConfigurationTransferOptions\" ParentNodeId=\"ns=1;i=6001\" DataType=\"String\">\n    <DisplayName>ConfigurationTransferOptions</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasDescription\" IsForward=\"false\">ns=1;i=5246</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=6001</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=69</Reference>\n    </References>\n    <Value>\n      <uax:String xmlns:uax=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">ConfigurationTransferOptions</uax:String>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=6126\" BrowseName=\"1:ConfigurationTransferOptions\" ParentNodeId=\"ns=1;i=6003\" DataType=\"String\">\n    <DisplayName>ConfigurationTransferOptions</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasDescription\" IsForward=\"false\">ns=1;i=5247</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=6003</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=69</Reference>\n    </References>\n    <Value>\n      <uax:String xmlns:uax=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">//xs:element[@name='ConfigurationTransferOptions']</uax:String>\n    </Value>\n  </UAVariable>\n  <UADataType NodeId=\"ns=1;i=3016\" BrowseName=\"1:JobIdDataType\">\n    <DisplayName>JobIdDataType</DisplayName>\n    <Documentation>https://reference.opcfoundation.org/v104/MachineVision/v100/docs/12.7</Documentation>\n    <References>\n      <Reference ReferenceType=\"HasEncoding\">ns=1;i=5008</Reference>\n      <Reference ReferenceType=\"HasEncoding\">ns=1;i=5026</Reference>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=22</Reference>\n    </References>\n    <Definition Name=\"1:JobIdDataType\">\n      <Field Name=\"Id\" DataType=\"TrimmedString\">\n        <Description>Id is a system-wide unique identifier/name for identifying the job carried out.</Description>\n      </Field>\n    </Definition>\n  </UADataType>\n  <UAVariable NodeId=\"ns=1;i=6030\" BrowseName=\"1:JobIdDataType\" ParentNodeId=\"ns=1;i=6001\" DataType=\"String\">\n    <DisplayName>JobIdDataType</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=69</Reference>\n      <Reference ReferenceType=\"HasDescription\" IsForward=\"false\">ns=1;i=5008</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=6001</Reference>\n    </References>\n    <Value>\n      <uax:String xmlns:uax=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">JobIdDataType</uax:String>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=6031\" BrowseName=\"1:JobIdDataType\" ParentNodeId=\"ns=1;i=6003\" DataType=\"String\">\n    <DisplayName>JobIdDataType</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=69</Reference>\n      <Reference ReferenceType=\"HasDescription\" IsForward=\"false\">ns=1;i=5026</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=6003</Reference>\n    </References>\n    <Value>\n      <uax:String xmlns:uax=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">//xs:element[@name='JobIdDataType']</uax:String>\n    </Value>\n  </UAVariable>\n  <UADataType NodeId=\"ns=1;i=3015\" BrowseName=\"1:MeasIdDataType\">\n    <DisplayName>MeasIdDataType</DisplayName>\n    <Documentation>https://reference.opcfoundation.org/v104/MachineVision/v100/docs/12.5</Documentation>\n    <References>\n      <Reference ReferenceType=\"HasEncoding\">ns=1;i=5006</Reference>\n      <Reference ReferenceType=\"HasEncoding\">ns=1;i=5007</Reference>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=22</Reference>\n    </References>\n    <Definition Name=\"1:MeasIdDataType\">\n      <Field Name=\"Id\" DataType=\"TrimmedString\">\n        <Description>Id is an identifier/name for identifying the measurement operation. This identifier is passed by the client to the vision system so no assumptions can be made about its uniqueness or other properties.</Description>\n      </Field>\n      <Field Name=\"Description\" DataType=\"LocalizedText\" IsOptional=\"true\">\n        <Description>Optional short human readable description of the measurement.</Description>\n      </Field>\n    </Definition>\n  </UADataType>\n  <UAVariable NodeId=\"ns=1;i=6028\" BrowseName=\"1:MeasIdDataType\" ParentNodeId=\"ns=1;i=6001\" DataType=\"String\">\n    <DisplayName>MeasIdDataType</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=69</Reference>\n      <Reference ReferenceType=\"HasDescription\" IsForward=\"false\">ns=1;i=5006</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=6001</Reference>\n    </References>\n    <Value>\n      <uax:String xmlns:uax=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">MeasIdDataType</uax:String>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=6029\" BrowseName=\"1:MeasIdDataType\" ParentNodeId=\"ns=1;i=6003\" DataType=\"String\">\n    <DisplayName>MeasIdDataType</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=69</Reference>\n      <Reference ReferenceType=\"HasDescription\" IsForward=\"false\">ns=1;i=5007</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=6003</Reference>\n    </References>\n    <Value>\n      <uax:String xmlns:uax=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">//xs:element[@name='MeasIdDataType']</uax:String>\n    </Value>\n  </UAVariable>\n  <UADataType NodeId=\"ns=1;i=3004\" BrowseName=\"1:PartIdDataType\">\n    <DisplayName>PartIdDataType</DisplayName>\n    <Documentation>https://reference.opcfoundation.org/v104/MachineVision/v100/docs/12.6</Documentation>\n    <References>\n      <Reference ReferenceType=\"HasEncoding\">ns=1;i=5013</Reference>\n      <Reference ReferenceType=\"HasEncoding\">ns=1;i=5014</Reference>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=22</Reference>\n    </References>\n    <Definition Name=\"1:PartIdDataType\">\n      <Field Name=\"Id\" DataType=\"TrimmedString\">\n        <Description>Describes the connection between a unit under test and a result, which was created during the processing of a recipe applied on this unit under test. Usually passed by the client with a Start method call and not changed by the server.</Description>\n      </Field>\n      <Field Name=\"Description\" DataType=\"LocalizedText\" IsOptional=\"true\">\n        <Description>Optional short human readable description of the part.</Description>\n      </Field>\n    </Definition>\n  </UADataType>\n  <UAVariable NodeId=\"ns=1;i=6072\" BrowseName=\"1:PartIdDataType\" ParentNodeId=\"ns=1;i=6001\" DataType=\"String\">\n    <DisplayName>PartIdDataType</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=69</Reference>\n      <Reference ReferenceType=\"HasDescription\" IsForward=\"false\">ns=1;i=5013</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=6001</Reference>\n    </References>\n    <Value>\n      <uax:String xmlns:uax=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">PartIdDataType</uax:String>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=6073\" BrowseName=\"1:PartIdDataType\" ParentNodeId=\"ns=1;i=6003\" DataType=\"String\">\n    <DisplayName>PartIdDataType</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=69</Reference>\n      <Reference ReferenceType=\"HasDescription\" IsForward=\"false\">ns=1;i=5014</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=6003</Reference>\n    </References>\n    <Value>\n      <uax:String xmlns:uax=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">//xs:element[@name='PartIdDataType']</uax:String>\n    </Value>\n  </UAVariable>\n  <UADataType NodeId=\"ns=1;i=3005\" BrowseName=\"1:ProcessingTimesDataType\">\n    <DisplayName>ProcessingTimesDataType</DisplayName>\n    <Documentation>https://reference.opcfoundation.org/v104/MachineVision/v100/docs/12.4</Documentation>\n    <References>\n      <Reference ReferenceType=\"HasEncoding\">ns=1;i=5016</Reference>\n      <Reference ReferenceType=\"HasEncoding\">ns=1;i=5017</Reference>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=22</Reference>\n    </References>\n    <Definition Name=\"1:ProcessingTimesDataType\">\n      <Field Name=\"StartTime\" DataType=\"UtcTime\">\n        <Description>Contains the time when the vision system started execution of the recipe.</Description>\n      </Field>\n      <Field Name=\"EndTime\" DataType=\"UtcTime\">\n        <Description>Contains the time when the vision system finished (or stopped/aborted) execution of the recipe.</Description>\n      </Field>\n      <Field Name=\"AcquisitionDuration\" DataType=\"Duration\" IsOptional=\"true\">\n        <Description>Time spent by the vision system acquiring images.</Description>\n      </Field>\n      <Field Name=\"ProcessingDuration\" DataType=\"Duration\" IsOptional=\"true\">\n        <Description>Time spent by the vision system processing data.</Description>\n      </Field>\n    </Definition>\n  </UADataType>\n  <UAVariable NodeId=\"ns=1;i=6074\" BrowseName=\"1:ProcessingTimesDataType\" ParentNodeId=\"ns=1;i=6001\" DataType=\"String\">\n    <DisplayName>ProcessingTimesDataType</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=69</Reference>\n      <Reference ReferenceType=\"HasDescription\" IsForward=\"false\">ns=1;i=5016</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=6001</Reference>\n    </References>\n    <Value>\n      <uax:String xmlns:uax=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">ProcessingTimesDataType</uax:String>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=6075\" BrowseName=\"1:ProcessingTimesDataType\" ParentNodeId=\"ns=1;i=6003\" DataType=\"String\">\n    <DisplayName>ProcessingTimesDataType</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=69</Reference>\n      <Reference ReferenceType=\"HasDescription\" IsForward=\"false\">ns=1;i=5017</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=6003</Reference>\n    </References>\n    <Value>\n      <uax:String xmlns:uax=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">//xs:element[@name='ProcessingTimesDataType']</uax:String>\n    </Value>\n  </UAVariable>\n  <UADataType NodeId=\"ns=1;i=3020\" BrowseName=\"1:ProductDataType\">\n    <DisplayName>ProductDataType</DisplayName>\n    <Documentation>https://reference.opcfoundation.org/v104/MachineVision/v100/docs/12.15</Documentation>\n    <References>\n      <Reference ReferenceType=\"HasEncoding\">ns=1;i=5272</Reference>\n      <Reference ReferenceType=\"HasEncoding\">ns=1;i=5273</Reference>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=22</Reference>\n    </References>\n    <Definition Name=\"1:ProductDataType\">\n      <Field Name=\"ExternalId\" DataType=\"ProductIdDataType\">\n        <Description>Identification of the product used by the environment. This argument must not be empty.</Description>\n      </Field>\n    </Definition>\n  </UADataType>\n  <UAVariable NodeId=\"ns=1;i=6037\" BrowseName=\"1:ProductDataType\" ParentNodeId=\"ns=1;i=6001\" DataType=\"String\">\n    <DisplayName>ProductDataType</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=69</Reference>\n      <Reference ReferenceType=\"HasDescription\" IsForward=\"false\">ns=1;i=5272</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=6001</Reference>\n    </References>\n    <Value>\n      <uax:String xmlns:uax=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">ProductDataType</uax:String>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=6038\" BrowseName=\"1:ProductDataType\" ParentNodeId=\"ns=1;i=6003\" DataType=\"String\">\n    <DisplayName>ProductDataType</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=69</Reference>\n      <Reference ReferenceType=\"HasDescription\" IsForward=\"false\">ns=1;i=5273</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=6003</Reference>\n    </References>\n    <Value>\n      <uax:String xmlns:uax=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">//xs:element[@name='ProductDataType']</uax:String>\n    </Value>\n  </UAVariable>\n  <UADataType NodeId=\"ns=1;i=3003\" BrowseName=\"1:ProductIdDataType\">\n    <DisplayName>ProductIdDataType</DisplayName>\n    <Documentation>https://reference.opcfoundation.org/v104/MachineVision/v100/docs/12.16</Documentation>\n    <References>\n      <Reference ReferenceType=\"HasEncoding\">ns=1;i=5224</Reference>\n      <Reference ReferenceType=\"HasEncoding\">ns=1;i=5225</Reference>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=22</Reference>\n    </References>\n    <Definition Name=\"1:ProductIdDataType\">\n      <Field Name=\"Id\" DataType=\"TrimmedString\">\n        <Description>Id is a system-wide unique identifier/name for identifying the product.</Description>\n      </Field>\n      <Field Name=\"Description\" DataType=\"LocalizedText\" IsOptional=\"true\">\n        <Description>Optional short human readable description of the configuration</Description>\n      </Field>\n    </Definition>\n  </UADataType>\n  <UAVariable NodeId=\"ns=1;i=6071\" BrowseName=\"1:ProductIdDataType\" ParentNodeId=\"ns=1;i=6001\" DataType=\"String\">\n    <DisplayName>ProductIdDataType</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=69</Reference>\n      <Reference ReferenceType=\"HasDescription\" IsForward=\"false\">ns=1;i=5224</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=6001</Reference>\n    </References>\n    <Value>\n      <uax:String xmlns:uax=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">ProductIdDataType</uax:String>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=6093\" BrowseName=\"1:ProductIdDataType\" ParentNodeId=\"ns=1;i=6003\" DataType=\"String\">\n    <DisplayName>ProductIdDataType</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=69</Reference>\n      <Reference ReferenceType=\"HasDescription\" IsForward=\"false\">ns=1;i=5225</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=6003</Reference>\n    </References>\n    <Value>\n      <uax:String xmlns:uax=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">//xs:element[@name='ProductIdDataType']</uax:String>\n    </Value>\n  </UAVariable>\n  <UADataType NodeId=\"ns=1;i=3012\" BrowseName=\"1:RecipeTransferOptions\">\n    <DisplayName>RecipeTransferOptions</DisplayName>\n    <Documentation>https://reference.opcfoundation.org/v104/MachineVision/v100/docs/12.11</Documentation>\n    <References>\n      <Reference ReferenceType=\"HasEncoding\">ns=1;i=5248</Reference>\n      <Reference ReferenceType=\"HasEncoding\">ns=1;i=5249</Reference>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=22</Reference>\n    </References>\n    <Definition Name=\"1:RecipeTransferOptions\">\n      <Field Name=\"InternalId\" DataType=\"RecipeIdInternalDataType\">\n        <Description>The InternalId of the recipe to be transferred to or from the client.</Description>\n      </Field>\n    </Definition>\n  </UADataType>\n  <UAVariable NodeId=\"ns=1;i=6188\" BrowseName=\"1:RecipeTransferOptions\" ParentNodeId=\"ns=1;i=6001\" DataType=\"String\">\n    <DisplayName>RecipeTransferOptions</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=69</Reference>\n      <Reference ReferenceType=\"HasDescription\" IsForward=\"false\">ns=1;i=5248</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=6001</Reference>\n    </References>\n    <Value>\n      <uax:String xmlns:uax=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">RecipeTransferOptions</uax:String>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=6189\" BrowseName=\"1:RecipeTransferOptions\" ParentNodeId=\"ns=1;i=6003\" DataType=\"String\">\n    <DisplayName>RecipeTransferOptions</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=69</Reference>\n      <Reference ReferenceType=\"HasDescription\" IsForward=\"false\">ns=1;i=5249</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=6003</Reference>\n    </References>\n    <Value>\n      <uax:String xmlns:uax=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">//xs:element[@name='RecipeTransferOptions']</uax:String>\n    </Value>\n  </UAVariable>\n  <UADataType NodeId=\"ns=1;i=3006\" BrowseName=\"1:ResultDataType\">\n    <DisplayName>ResultDataType</DisplayName>\n    <Documentation>https://reference.opcfoundation.org/v104/MachineVision/v100/docs/12.17</Documentation>\n    <References>\n      <Reference ReferenceType=\"HasEncoding\">ns=1;i=5018</Reference>\n      <Reference ReferenceType=\"HasEncoding\">ns=1;i=5019</Reference>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=22</Reference>\n    </References>\n    <Definition Name=\"1:ResultDataType\">\n      <Field Name=\"ResultId\" DataType=\"ResultIdDataType\">\n        <Description>System-wide unique identifier, which is assigned by the system. This ID can be used for fetching exactly this result using the pertinent result management methods and it is identical to the ResultId of the ResultReadyEventType.</Description>\n      </Field>\n      <Field Name=\"HasTransferableDataOnFile\" DataType=\"Boolean\" IsOptional=\"true\">\n        <Description>Indicates that additional data for this result can be retrieved by temporary file transfer.</Description>\n      </Field>\n      <Field Name=\"IsPartial\" DataType=\"Boolean\">\n        <Description>Indicates whether the result is the partial result of a total result.</Description>\n      </Field>\n      <Field Name=\"IsSimulated\" DataType=\"Boolean\" IsOptional=\"true\">\n        <Description>Indicates whether the system was in simulation mode when the result was created.</Description>\n      </Field>\n      <Field Name=\"ResultState\" DataType=\"ResultStateDataType\">\n        <Description>ResultState provides information about the current state of a result and the ResultStateDataType is defined in Section 12.18.</Description>\n      </Field>\n      <Field Name=\"MeasId\" DataType=\"MeasIdDataType\" IsOptional=\"true\">\n        <Description>This identifier is given by the client when starting a single job or continuous execution and transmitted to the vision system. It is used to identify the respective result data generated for this job. Although the system-wide unique JobId would be sufficient to identify the job which the result belongs to, this makes for easier filtering on the part of the client without keeping track of JobIds.</Description>\n      </Field>\n      <Field Name=\"PartId\" DataType=\"PartIdDataType\" IsOptional=\"true\">\n        <Description>A PartId is given by the client when starting the job; although the system-wide unique JobId would be sufficient to identify the job which the result belongs to, this makes for easier filtering on the part of the client without keeping track of JobIds.</Description>\n      </Field>\n      <Field Name=\"ExternalRecipeId\" DataType=\"RecipeIdExternalDataType\" IsOptional=\"true\">\n        <Description>External Id of the recipe in use which produced the result. The ExternalID is only managed by the environment.</Description>\n      </Field>\n      <Field Name=\"InternalRecipeId\" DataType=\"RecipeIdInternalDataType\">\n        <Description>Internal Id of the recipe in use which produced the result. This ID is system-wide unique and is assigned by the vision system.</Description>\n      </Field>\n      <Field Name=\"ProductId\" DataType=\"ProductIdDataType\" IsOptional=\"true\">\n        <Description>productId which was used to trigger the job which created the result.</Description>\n      </Field>\n      <Field Name=\"ExternalConfigurationId\" DataType=\"ConfigurationIdDataType\" IsOptional=\"true\">\n        <Description>External Id of the configuration in use which produced the result. The ExternalID is only managed by the environment.</Description>\n      </Field>\n      <Field Name=\"InternalConfigurationId\" DataType=\"ConfigurationIdDataType\">\n        <Description>Internal Id of the configuration in use which produced the result. This ID is system-wide unique and is assigned by the vision system.</Description>\n      </Field>\n      <Field Name=\"JobId\" DataType=\"JobIdDataType\">\n        <Description>The ID of the job, created by the transition from state Ready to state SingleExecution or to state ContinuousExecution which produced the result.</Description>\n      </Field>\n      <Field Name=\"CreationTime\" DataType=\"UtcTime\">\n        <Description>CreationTime indicates the time when the result was created. </Description>\n      </Field>\n      <Field Name=\"ProcessingTimes\" DataType=\"ProcessingTimesDataType\" IsOptional=\"true\">\n        <Description>Collection of different processing times that were needed to create the result.</Description>\n      </Field>\n      <Field Name=\"ResultContent\" ValueRank=\"1\" ArrayDimensions=\"1\" IsOptional=\"true\">\n        <Description>Abstract data type to be subtyped from to hold result data created by the selected recipe.</Description>\n      </Field>\n    </Definition>\n  </UADataType>\n  <UAVariable NodeId=\"ns=1;i=6076\" BrowseName=\"1:ResultDataType\" ParentNodeId=\"ns=1;i=6001\" DataType=\"String\">\n    <DisplayName>ResultDataType</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=69</Reference>\n      <Reference ReferenceType=\"HasDescription\" IsForward=\"false\">ns=1;i=5018</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=6001</Reference>\n    </References>\n    <Value>\n      <uax:String xmlns:uax=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">ResultDataType</uax:String>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=6077\" BrowseName=\"1:ResultDataType\" ParentNodeId=\"ns=1;i=6003\" DataType=\"String\">\n    <DisplayName>ResultDataType</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=69</Reference>\n      <Reference ReferenceType=\"HasDescription\" IsForward=\"false\">ns=1;i=5019</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=6003</Reference>\n    </References>\n    <Value>\n      <uax:String xmlns:uax=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">//xs:element[@name='ResultDataType']</uax:String>\n    </Value>\n  </UAVariable>\n  <UADataType NodeId=\"ns=1;i=3021\" BrowseName=\"1:ResultIdDataType\">\n    <DisplayName>ResultIdDataType</DisplayName>\n    <Documentation>https://reference.opcfoundation.org/v104/MachineVision/v100/docs/12.18</Documentation>\n    <References>\n      <Reference ReferenceType=\"HasEncoding\">ns=1;i=5274</Reference>\n      <Reference ReferenceType=\"HasEncoding\">ns=1;i=5275</Reference>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=22</Reference>\n    </References>\n    <Definition Name=\"1:ResultIdDataType\">\n      <Field Name=\"Id\" DataType=\"TrimmedString\">\n        <Description>Id is a system-wide unique identifier/name for identifying the generated result.</Description>\n      </Field>\n    </Definition>\n  </UADataType>\n  <UAVariable NodeId=\"ns=1;i=6039\" BrowseName=\"1:ResultIdDataType\" ParentNodeId=\"ns=1;i=6001\" DataType=\"String\">\n    <DisplayName>ResultIdDataType</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=69</Reference>\n      <Reference ReferenceType=\"HasDescription\" IsForward=\"false\">ns=1;i=5274</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=6001</Reference>\n    </References>\n    <Value>\n      <uax:String xmlns:uax=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">ResultIdDataType</uax:String>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=6040\" BrowseName=\"1:ResultIdDataType\" ParentNodeId=\"ns=1;i=6003\" DataType=\"String\">\n    <DisplayName>ResultIdDataType</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=69</Reference>\n      <Reference ReferenceType=\"HasDescription\" IsForward=\"false\">ns=1;i=5275</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=6003</Reference>\n    </References>\n    <Value>\n      <uax:String xmlns:uax=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">//xs:element[@name='ResultIdDataType']</uax:String>\n    </Value>\n  </UAVariable>\n  <UADataType NodeId=\"ns=1;i=3022\" BrowseName=\"1:ResultTransferOptions\">\n    <DisplayName>ResultTransferOptions</DisplayName>\n    <Documentation>https://reference.opcfoundation.org/v104/MachineVision/v100/docs/12.20</Documentation>\n    <References>\n      <Reference ReferenceType=\"HasEncoding\">ns=1;i=5276</Reference>\n      <Reference ReferenceType=\"HasEncoding\">ns=1;i=5277</Reference>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=22</Reference>\n    </References>\n    <Definition Name=\"1:ResultTransferOptions\">\n      <Field Name=\"Id\" DataType=\"ResultIdDataType\">\n        <Description>The Id of the result to be transferred to the client.</Description>\n      </Field>\n    </Definition>\n  </UADataType>\n  <UAVariable NodeId=\"ns=1;i=6127\" BrowseName=\"1:ResultTransferOptions\" ParentNodeId=\"ns=1;i=6001\" DataType=\"String\">\n    <DisplayName>ResultTransferOptions</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=69</Reference>\n      <Reference ReferenceType=\"HasDescription\" IsForward=\"false\">ns=1;i=5276</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=6001</Reference>\n    </References>\n    <Value>\n      <uax:String xmlns:uax=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">ResultTransferOptions</uax:String>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=6128\" BrowseName=\"1:ResultTransferOptions\" ParentNodeId=\"ns=1;i=6003\" DataType=\"String\">\n    <DisplayName>ResultTransferOptions</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=69</Reference>\n      <Reference ReferenceType=\"HasDescription\" IsForward=\"false\">ns=1;i=5277</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=6003</Reference>\n    </References>\n    <Value>\n      <uax:String xmlns:uax=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">//xs:element[@name='ResultTransferOptions']</uax:String>\n    </Value>\n  </UAVariable>\n  <UADataType NodeId=\"ns=1;i=3024\" BrowseName=\"1:SystemStateDescriptionDataType\">\n    <DisplayName>SystemStateDescriptionDataType</DisplayName>\n    <Documentation>https://reference.opcfoundation.org/v104/MachineVision/v100/docs/12.22</Documentation>\n    <References>\n      <Reference ReferenceType=\"HasEncoding\">ns=1;i=5278</Reference>\n      <Reference ReferenceType=\"HasEncoding\">ns=1;i=5279</Reference>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=22</Reference>\n    </References>\n    <Definition Name=\"1:SystemStateDescriptionDataType\">\n      <Field Name=\"State\" DataType=\"SystemStateDataType\">\n        <Description>Denotes one of the basic SEMI E10 states</Description>\n      </Field>\n      <Field Name=\"StateDescription\" DataType=\"TrimmedString\" IsOptional=\"true\">\n        <Description>Optional string describing the full state path, starting with the SEMI E10 state denoted by the state member; the string format is described in Section 11.5.</Description>\n      </Field>\n    </Definition>\n  </UADataType>\n  <UAVariable NodeId=\"ns=1;i=6130\" BrowseName=\"1:SystemStateDescriptionDataType\" ParentNodeId=\"ns=1;i=6001\" DataType=\"String\">\n    <DisplayName>SystemStateDescriptionDataType</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=69</Reference>\n      <Reference ReferenceType=\"HasDescription\" IsForward=\"false\">ns=1;i=5278</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=6001</Reference>\n    </References>\n    <Value>\n      <uax:String xmlns:uax=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">SystemStateDescriptionDataType</uax:String>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=6131\" BrowseName=\"1:SystemStateDescriptionDataType\" ParentNodeId=\"ns=1;i=6003\" DataType=\"String\">\n    <DisplayName>SystemStateDescriptionDataType</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=69</Reference>\n      <Reference ReferenceType=\"HasDescription\" IsForward=\"false\">ns=1;i=5279</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=6003</Reference>\n    </References>\n    <Value>\n      <uax:String xmlns:uax=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">//xs:element[@name='SystemStateDescriptionDataType']</uax:String>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=6001\" BrowseName=\"1:TypeDictionary\" SymbolicName=\"TypeDictionary_BinarySchema\" DataType=\"ByteString\">\n    <DisplayName>TypeDictionary</DisplayName>\n    <Description>Collects the data type descriptions of http://opcfoundation.org/UA/MachineVision</Description>\n    <References>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=6033</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=6352</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=6354</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=6125</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=72</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=6030</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=6028</Reference>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=6002</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=6072</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=6074</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=6037</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=6071</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=6021</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=6035</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=6188</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=6076</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=6039</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=6127</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=6130</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=93</Reference>\n    </References>\n    <Value>\n      <uax:ByteString xmlns:uax=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">PG9wYzpUeXBlRGljdGlvbmFyeSB4bWxuczp4c2k9Imh0dHA6Ly93d3cudzMub3JnLzIwMDEvWE1MU2NoZ\n        W1hLWluc3RhbmNlIiB4bWxuczp0bnM9Imh0dHA6Ly9vcGNmb3VuZGF0aW9uLm9yZy9VQS9NY\n        WNoaW5lVmlzaW9uIiBEZWZhdWx0Qnl0ZU9yZGVyPSJMaXR0bGVFbmRpYW4iIHhtbG5zOm9wY\n        z0iaHR0cDovL29wY2ZvdW5kYXRpb24ub3JnL0JpbmFyeVNjaGVtYS8iIHhtbG5zOnVhPSJod\n        HRwOi8vb3BjZm91bmRhdGlvbi5vcmcvVUEvIiBUYXJnZXROYW1lc3BhY2U9Imh0dHA6Ly9vc\n        GNmb3VuZGF0aW9uLm9yZy9VQS9NYWNoaW5lVmlzaW9uIj4KIDxvcGM6SW1wb3J0IE5hbWVzc\n        GFjZT0iaHR0cDovL29wY2ZvdW5kYXRpb24ub3JnL1VBLyIvPgogPG9wYzpTdHJ1Y3R1cmVkV\n        HlwZSBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0IiBOYW1lPSJCaW5hcnlJZEJhc2VEY\n        XRhVHlwZSI+CiAgPG9wYzpGaWVsZCBUeXBlTmFtZT0ib3BjOkJpdCIgTmFtZT0iVmVyc2lvb\n        lNwZWNpZmllZCIvPgogIDxvcGM6RmllbGQgVHlwZU5hbWU9Im9wYzpCaXQiIE5hbWU9Ikhhc\n        2hTcGVjaWZpZWQiLz4KICA8b3BjOkZpZWxkIFR5cGVOYW1lPSJvcGM6Qml0IiBOYW1lPSJIY\n        XNoQWxnb3JpdGhtU3BlY2lmaWVkIi8+CiAgPG9wYzpGaWVsZCBUeXBlTmFtZT0ib3BjOkJpd\n        CIgTmFtZT0iRGVzY3JpcHRpb25TcGVjaWZpZWQiLz4KICA8b3BjOkZpZWxkIExlbmd0aD0iM\n        jgiIFR5cGVOYW1lPSJvcGM6Qml0IiBOYW1lPSJSZXNlcnZlZDEiLz4KICA8b3BjOkZpZWxkI\n        FR5cGVOYW1lPSJvcGM6Q2hhckFycmF5IiBOYW1lPSJJZCIvPgogIDxvcGM6RmllbGQgU3dpd\n        GNoRmllbGQ9IlZlcnNpb25TcGVjaWZpZWQiIFR5cGVOYW1lPSJvcGM6Q2hhckFycmF5IiBOY\n        W1lPSJWZXJzaW9uIi8+CiAgPG9wYzpGaWVsZCBTd2l0Y2hGaWVsZD0iSGFzaFNwZWNpZmllZ\n        CIgVHlwZU5hbWU9Im9wYzpCeXRlU3RyaW5nIiBOYW1lPSJIYXNoIi8+CiAgPG9wYzpGaWVsZ\n        CBTd2l0Y2hGaWVsZD0iSGFzaEFsZ29yaXRobVNwZWNpZmllZCIgVHlwZU5hbWU9Im9wYzpDa\n        GFyQXJyYXkiIE5hbWU9Ikhhc2hBbGdvcml0aG0iLz4KICA8b3BjOkZpZWxkIFN3aXRjaEZpZ\n        WxkPSJEZXNjcmlwdGlvblNwZWNpZmllZCIgVHlwZU5hbWU9InVhOkxvY2FsaXplZFRleHQiI\n        E5hbWU9IkRlc2NyaXB0aW9uIi8+CiA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4KIDxvcGM6U3Ryd\n        WN0dXJlZFR5cGUgQmFzZVR5cGU9InRuczpCaW5hcnlJZEJhc2VEYXRhVHlwZSIgTmFtZT0iQ\n        29uZmlndXJhdGlvbklkRGF0YVR5cGUiPgogIDxvcGM6RmllbGQgVHlwZU5hbWU9Im9wYzpCa\n        XQiIE5hbWU9IlZlcnNpb25TcGVjaWZpZWQiLz4KICA8b3BjOkZpZWxkIFR5cGVOYW1lPSJvc\n        GM6Qml0IiBOYW1lPSJIYXNoU3BlY2lmaWVkIi8+CiAgPG9wYzpGaWVsZCBUeXBlTmFtZT0ib\n        3BjOkJpdCIgTmFtZT0iSGFzaEFsZ29yaXRobVNwZWNpZmllZCIvPgogIDxvcGM6RmllbGQgV\n        HlwZU5hbWU9Im9wYzpCaXQiIE5hbWU9IkRlc2NyaXB0aW9uU3BlY2lmaWVkIi8+CiAgPG9wY\n        zpGaWVsZCBMZW5ndGg9IjI4IiBUeXBlTmFtZT0ib3BjOkJpdCIgTmFtZT0iUmVzZXJ2ZWQxI\n        i8+CiAgPG9wYzpGaWVsZCBTb3VyY2VUeXBlPSJ0bnM6QmluYXJ5SWRCYXNlRGF0YVR5cGUiI\n        FR5cGVOYW1lPSJvcGM6Q2hhckFycmF5IiBOYW1lPSJJZCIvPgogIDxvcGM6RmllbGQgU3dpd\n        GNoRmllbGQ9IlZlcnNpb25TcGVjaWZpZWQiIFNvdXJjZVR5cGU9InRuczpCaW5hcnlJZEJhc\n        2VEYXRhVHlwZSIgVHlwZU5hbWU9Im9wYzpDaGFyQXJyYXkiIE5hbWU9IlZlcnNpb24iLz4KI\n        CA8b3BjOkZpZWxkIFN3aXRjaEZpZWxkPSJIYXNoU3BlY2lmaWVkIiBTb3VyY2VUeXBlPSJ0b\n        nM6QmluYXJ5SWRCYXNlRGF0YVR5cGUiIFR5cGVOYW1lPSJvcGM6Qnl0ZVN0cmluZyIgTmFtZ\n        T0iSGFzaCIvPgogIDxvcGM6RmllbGQgU3dpdGNoRmllbGQ9Ikhhc2hBbGdvcml0aG1TcGVja\n        WZpZWQiIFNvdXJjZVR5cGU9InRuczpCaW5hcnlJZEJhc2VEYXRhVHlwZSIgVHlwZU5hbWU9I\n        m9wYzpDaGFyQXJyYXkiIE5hbWU9Ikhhc2hBbGdvcml0aG0iLz4KICA8b3BjOkZpZWxkIFN3a\n        XRjaEZpZWxkPSJEZXNjcmlwdGlvblNwZWNpZmllZCIgU291cmNlVHlwZT0idG5zOkJpbmFye\n        UlkQmFzZURhdGFUeXBlIiBUeXBlTmFtZT0idWE6TG9jYWxpemVkVGV4dCIgTmFtZT0iRGVzY\n        3JpcHRpb24iLz4KIDwvb3BjOlN0cnVjdHVyZWRUeXBlPgogPG9wYzpTdHJ1Y3R1cmVkVHlwZ\n        SBCYXNlVHlwZT0idG5zOkJpbmFyeUlkQmFzZURhdGFUeXBlIiBOYW1lPSJSZWNpcGVJZEV4d\n        GVybmFsRGF0YVR5cGUiPgogIDxvcGM6RmllbGQgVHlwZU5hbWU9Im9wYzpCaXQiIE5hbWU9I\n        lZlcnNpb25TcGVjaWZpZWQiLz4KICA8b3BjOkZpZWxkIFR5cGVOYW1lPSJvcGM6Qml0IiBOY\n        W1lPSJIYXNoU3BlY2lmaWVkIi8+CiAgPG9wYzpGaWVsZCBUeXBlTmFtZT0ib3BjOkJpdCIgT\n        mFtZT0iSGFzaEFsZ29yaXRobVNwZWNpZmllZCIvPgogIDxvcGM6RmllbGQgVHlwZU5hbWU9I\n        m9wYzpCaXQiIE5hbWU9IkRlc2NyaXB0aW9uU3BlY2lmaWVkIi8+CiAgPG9wYzpGaWVsZCBMZ\n        W5ndGg9IjI4IiBUeXBlTmFtZT0ib3BjOkJpdCIgTmFtZT0iUmVzZXJ2ZWQxIi8+CiAgPG9wY\n        zpGaWVsZCBTb3VyY2VUeXBlPSJ0bnM6QmluYXJ5SWRCYXNlRGF0YVR5cGUiIFR5cGVOYW1lP\n        SJvcGM6Q2hhckFycmF5IiBOYW1lPSJJZCIvPgogIDxvcGM6RmllbGQgU3dpdGNoRmllbGQ9I\n        lZlcnNpb25TcGVjaWZpZWQiIFNvdXJjZVR5cGU9InRuczpCaW5hcnlJZEJhc2VEYXRhVHlwZ\n        SIgVHlwZU5hbWU9Im9wYzpDaGFyQXJyYXkiIE5hbWU9IlZlcnNpb24iLz4KICA8b3BjOkZpZ\n        WxkIFN3aXRjaEZpZWxkPSJIYXNoU3BlY2lmaWVkIiBTb3VyY2VUeXBlPSJ0bnM6QmluYXJ5S\n        WRCYXNlRGF0YVR5cGUiIFR5cGVOYW1lPSJvcGM6Qnl0ZVN0cmluZyIgTmFtZT0iSGFzaCIvP\n        gogIDxvcGM6RmllbGQgU3dpdGNoRmllbGQ9Ikhhc2hBbGdvcml0aG1TcGVjaWZpZWQiIFNvd\n        XJjZVR5cGU9InRuczpCaW5hcnlJZEJhc2VEYXRhVHlwZSIgVHlwZU5hbWU9Im9wYzpDaGFyQ\n        XJyYXkiIE5hbWU9Ikhhc2hBbGdvcml0aG0iLz4KICA8b3BjOkZpZWxkIFN3aXRjaEZpZWxkP\n        SJEZXNjcmlwdGlvblNwZWNpZmllZCIgU291cmNlVHlwZT0idG5zOkJpbmFyeUlkQmFzZURhd\n        GFUeXBlIiBUeXBlTmFtZT0idWE6TG9jYWxpemVkVGV4dCIgTmFtZT0iRGVzY3JpcHRpb24iL\n        z4KIDwvb3BjOlN0cnVjdHVyZWRUeXBlPgogPG9wYzpTdHJ1Y3R1cmVkVHlwZSBCYXNlVHlwZ\n        T0idG5zOkJpbmFyeUlkQmFzZURhdGFUeXBlIiBOYW1lPSJSZWNpcGVJZEludGVybmFsRGF0Y\n        VR5cGUiPgogIDxvcGM6RmllbGQgVHlwZU5hbWU9Im9wYzpCaXQiIE5hbWU9IlZlcnNpb25Tc\n        GVjaWZpZWQiLz4KICA8b3BjOkZpZWxkIFR5cGVOYW1lPSJvcGM6Qml0IiBOYW1lPSJIYXNoU\n        3BlY2lmaWVkIi8+CiAgPG9wYzpGaWVsZCBUeXBlTmFtZT0ib3BjOkJpdCIgTmFtZT0iSGFza\n        EFsZ29yaXRobVNwZWNpZmllZCIvPgogIDxvcGM6RmllbGQgVHlwZU5hbWU9Im9wYzpCaXQiI\n        E5hbWU9IkRlc2NyaXB0aW9uU3BlY2lmaWVkIi8+CiAgPG9wYzpGaWVsZCBMZW5ndGg9IjI4I\n        iBUeXBlTmFtZT0ib3BjOkJpdCIgTmFtZT0iUmVzZXJ2ZWQxIi8+CiAgPG9wYzpGaWVsZCBTb\n        3VyY2VUeXBlPSJ0bnM6QmluYXJ5SWRCYXNlRGF0YVR5cGUiIFR5cGVOYW1lPSJvcGM6Q2hhc\n        kFycmF5IiBOYW1lPSJJZCIvPgogIDxvcGM6RmllbGQgU3dpdGNoRmllbGQ9IlZlcnNpb25Tc\n        GVjaWZpZWQiIFNvdXJjZVR5cGU9InRuczpCaW5hcnlJZEJhc2VEYXRhVHlwZSIgVHlwZU5hb\n        WU9Im9wYzpDaGFyQXJyYXkiIE5hbWU9IlZlcnNpb24iLz4KICA8b3BjOkZpZWxkIFN3aXRja\n        EZpZWxkPSJIYXNoU3BlY2lmaWVkIiBTb3VyY2VUeXBlPSJ0bnM6QmluYXJ5SWRCYXNlRGF0Y\n        VR5cGUiIFR5cGVOYW1lPSJvcGM6Qnl0ZVN0cmluZyIgTmFtZT0iSGFzaCIvPgogIDxvcGM6R\n        mllbGQgU3dpdGNoRmllbGQ9Ikhhc2hBbGdvcml0aG1TcGVjaWZpZWQiIFNvdXJjZVR5cGU9I\n        nRuczpCaW5hcnlJZEJhc2VEYXRhVHlwZSIgVHlwZU5hbWU9Im9wYzpDaGFyQXJyYXkiIE5hb\n        WU9Ikhhc2hBbGdvcml0aG0iLz4KICA8b3BjOkZpZWxkIFN3aXRjaEZpZWxkPSJEZXNjcmlwd\n        GlvblNwZWNpZmllZCIgU291cmNlVHlwZT0idG5zOkJpbmFyeUlkQmFzZURhdGFUeXBlIiBUe\n        XBlTmFtZT0idWE6TG9jYWxpemVkVGV4dCIgTmFtZT0iRGVzY3JpcHRpb24iLz4KIDwvb3BjO\n        lN0cnVjdHVyZWRUeXBlPgogPG9wYzpTdHJ1Y3R1cmVkVHlwZSBCYXNlVHlwZT0idWE6RXh0Z\n        W5zaW9uT2JqZWN0IiBOYW1lPSJDb25maWd1cmF0aW9uRGF0YVR5cGUiPgogIDxvcGM6Rmllb\n        GQgVHlwZU5hbWU9Im9wYzpCaXQiIE5hbWU9Ikhhc1RyYW5zZmVyYWJsZURhdGFPbkZpbGVTc\n        GVjaWZpZWQiLz4KICA8b3BjOkZpZWxkIFR5cGVOYW1lPSJvcGM6Qml0IiBOYW1lPSJFeHRlc\n        m5hbElkU3BlY2lmaWVkIi8+CiAgPG9wYzpGaWVsZCBMZW5ndGg9IjMwIiBUeXBlTmFtZT0ib\n        3BjOkJpdCIgTmFtZT0iUmVzZXJ2ZWQxIi8+CiAgPG9wYzpGaWVsZCBTd2l0Y2hGaWVsZD0iS\n        GFzVHJhbnNmZXJhYmxlRGF0YU9uRmlsZVNwZWNpZmllZCIgVHlwZU5hbWU9Im9wYzpCb29sZ\n        WFuIiBOYW1lPSJIYXNUcmFuc2ZlcmFibGVEYXRhT25GaWxlIi8+CiAgPG9wYzpGaWVsZCBTd\n        2l0Y2hGaWVsZD0iRXh0ZXJuYWxJZFNwZWNpZmllZCIgVHlwZU5hbWU9InRuczpDb25maWd1c\n        mF0aW9uSWREYXRhVHlwZSIgTmFtZT0iRXh0ZXJuYWxJZCIvPgogIDxvcGM6RmllbGQgVHlwZ\n        U5hbWU9InRuczpDb25maWd1cmF0aW9uSWREYXRhVHlwZSIgTmFtZT0iSW50ZXJuYWxJZCIvP\n        gogIDxvcGM6RmllbGQgVHlwZU5hbWU9Im9wYzpEYXRlVGltZSIgTmFtZT0iTGFzdE1vZGlma\n        WVkIi8+CiA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4KIDxvcGM6U3RydWN0dXJlZFR5cGUgQmFzZ\n        VR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCIgTmFtZT0iQ29uZmlndXJhdGlvblRyYW5zZmVyT\n        3B0aW9ucyI+CiAgPG9wYzpGaWVsZCBUeXBlTmFtZT0idG5zOkNvbmZpZ3VyYXRpb25JZERhd\n        GFUeXBlIiBOYW1lPSJJbnRlcm5hbElkIi8+CiA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4KIDxvc\n        GM6U3RydWN0dXJlZFR5cGUgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCIgTmFtZT0iS\n        m9iSWREYXRhVHlwZSI+CiAgPG9wYzpGaWVsZCBUeXBlTmFtZT0ib3BjOkNoYXJBcnJheSIgT\n        mFtZT0iSWQiLz4KIDwvb3BjOlN0cnVjdHVyZWRUeXBlPgogPG9wYzpTdHJ1Y3R1cmVkVHlwZ\n        SBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0IiBOYW1lPSJNZWFzSWREYXRhVHlwZSI+C\n        iAgPG9wYzpGaWVsZCBUeXBlTmFtZT0ib3BjOkJpdCIgTmFtZT0iRGVzY3JpcHRpb25TcGVja\n        WZpZWQiLz4KICA8b3BjOkZpZWxkIExlbmd0aD0iMzEiIFR5cGVOYW1lPSJvcGM6Qml0IiBOY\n        W1lPSJSZXNlcnZlZDEiLz4KICA8b3BjOkZpZWxkIFR5cGVOYW1lPSJvcGM6Q2hhckFycmF5I\n        iBOYW1lPSJJZCIvPgogIDxvcGM6RmllbGQgU3dpdGNoRmllbGQ9IkRlc2NyaXB0aW9uU3BlY\n        2lmaWVkIiBUeXBlTmFtZT0idWE6TG9jYWxpemVkVGV4dCIgTmFtZT0iRGVzY3JpcHRpb24iL\n        z4KIDwvb3BjOlN0cnVjdHVyZWRUeXBlPgogPG9wYzpTdHJ1Y3R1cmVkVHlwZSBCYXNlVHlwZ\n        T0idWE6RXh0ZW5zaW9uT2JqZWN0IiBOYW1lPSJQYXJ0SWREYXRhVHlwZSI+CiAgPG9wYzpGa\n        WVsZCBUeXBlTmFtZT0ib3BjOkJpdCIgTmFtZT0iRGVzY3JpcHRpb25TcGVjaWZpZWQiLz4KI\n        CA8b3BjOkZpZWxkIExlbmd0aD0iMzEiIFR5cGVOYW1lPSJvcGM6Qml0IiBOYW1lPSJSZXNlc\n        nZlZDEiLz4KICA8b3BjOkZpZWxkIFR5cGVOYW1lPSJvcGM6Q2hhckFycmF5IiBOYW1lPSJJZ\n        CIvPgogIDxvcGM6RmllbGQgU3dpdGNoRmllbGQ9IkRlc2NyaXB0aW9uU3BlY2lmaWVkIiBUe\n        XBlTmFtZT0idWE6TG9jYWxpemVkVGV4dCIgTmFtZT0iRGVzY3JpcHRpb24iLz4KIDwvb3BjO\n        lN0cnVjdHVyZWRUeXBlPgogPG9wYzpTdHJ1Y3R1cmVkVHlwZSBCYXNlVHlwZT0idWE6RXh0Z\n        W5zaW9uT2JqZWN0IiBOYW1lPSJQcm9jZXNzaW5nVGltZXNEYXRhVHlwZSI+CiAgPG9wYzpGa\n        WVsZCBUeXBlTmFtZT0ib3BjOkJpdCIgTmFtZT0iQWNxdWlzaXRpb25EdXJhdGlvblNwZWNpZ\n        mllZCIvPgogIDxvcGM6RmllbGQgVHlwZU5hbWU9Im9wYzpCaXQiIE5hbWU9IlByb2Nlc3Npb\n        mdEdXJhdGlvblNwZWNpZmllZCIvPgogIDxvcGM6RmllbGQgTGVuZ3RoPSIzMCIgVHlwZU5hb\n        WU9Im9wYzpCaXQiIE5hbWU9IlJlc2VydmVkMSIvPgogIDxvcGM6RmllbGQgVHlwZU5hbWU9I\n        m9wYzpEYXRlVGltZSIgTmFtZT0iU3RhcnRUaW1lIi8+CiAgPG9wYzpGaWVsZCBUeXBlTmFtZ\n        T0ib3BjOkRhdGVUaW1lIiBOYW1lPSJFbmRUaW1lIi8+CiAgPG9wYzpGaWVsZCBTd2l0Y2hGa\n        WVsZD0iQWNxdWlzaXRpb25EdXJhdGlvblNwZWNpZmllZCIgVHlwZU5hbWU9Im9wYzpEb3Vib\n        GUiIE5hbWU9IkFjcXVpc2l0aW9uRHVyYXRpb24iLz4KICA8b3BjOkZpZWxkIFN3aXRjaEZpZ\n        WxkPSJQcm9jZXNzaW5nRHVyYXRpb25TcGVjaWZpZWQiIFR5cGVOYW1lPSJvcGM6RG91YmxlI\n        iBOYW1lPSJQcm9jZXNzaW5nRHVyYXRpb24iLz4KIDwvb3BjOlN0cnVjdHVyZWRUeXBlPgogP\n        G9wYzpTdHJ1Y3R1cmVkVHlwZSBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0IiBOYW1lP\n        SJQcm9kdWN0RGF0YVR5cGUiPgogIDxvcGM6RmllbGQgVHlwZU5hbWU9InRuczpQcm9kdWN0S\n        WREYXRhVHlwZSIgTmFtZT0iRXh0ZXJuYWxJZCIvPgogPC9vcGM6U3RydWN0dXJlZFR5cGU+C\n        iA8b3BjOlN0cnVjdHVyZWRUeXBlIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiIE5hb\n        WU9IlByb2R1Y3RJZERhdGFUeXBlIj4KICA8b3BjOkZpZWxkIFR5cGVOYW1lPSJvcGM6Qml0I\n        iBOYW1lPSJEZXNjcmlwdGlvblNwZWNpZmllZCIvPgogIDxvcGM6RmllbGQgTGVuZ3RoPSIzM\n        SIgVHlwZU5hbWU9Im9wYzpCaXQiIE5hbWU9IlJlc2VydmVkMSIvPgogIDxvcGM6RmllbGQgV\n        HlwZU5hbWU9Im9wYzpDaGFyQXJyYXkiIE5hbWU9IklkIi8+CiAgPG9wYzpGaWVsZCBTd2l0Y\n        2hGaWVsZD0iRGVzY3JpcHRpb25TcGVjaWZpZWQiIFR5cGVOYW1lPSJ1YTpMb2NhbGl6ZWRUZ\n        Xh0IiBOYW1lPSJEZXNjcmlwdGlvbiIvPgogPC9vcGM6U3RydWN0dXJlZFR5cGU+CiA8b3BjO\n        lN0cnVjdHVyZWRUeXBlIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiIE5hbWU9IlJlY\n        2lwZVRyYW5zZmVyT3B0aW9ucyI+CiAgPG9wYzpGaWVsZCBUeXBlTmFtZT0idG5zOlJlY2lwZ\n        UlkSW50ZXJuYWxEYXRhVHlwZSIgTmFtZT0iSW50ZXJuYWxJZCIvPgogPC9vcGM6U3RydWN0d\n        XJlZFR5cGU+CiA8b3BjOlN0cnVjdHVyZWRUeXBlIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PY\n        mplY3QiIE5hbWU9IlJlc3VsdERhdGFUeXBlIj4KICA8b3BjOkZpZWxkIFR5cGVOYW1lPSJvc\n        GM6Qml0IiBOYW1lPSJIYXNUcmFuc2ZlcmFibGVEYXRhT25GaWxlU3BlY2lmaWVkIi8+CiAgP\n        G9wYzpGaWVsZCBUeXBlTmFtZT0ib3BjOkJpdCIgTmFtZT0iSXNTaW11bGF0ZWRTcGVjaWZpZ\n        WQiLz4KICA8b3BjOkZpZWxkIFR5cGVOYW1lPSJvcGM6Qml0IiBOYW1lPSJNZWFzSWRTcGVja\n        WZpZWQiLz4KICA8b3BjOkZpZWxkIFR5cGVOYW1lPSJvcGM6Qml0IiBOYW1lPSJQYXJ0SWRTc\n        GVjaWZpZWQiLz4KICA8b3BjOkZpZWxkIFR5cGVOYW1lPSJvcGM6Qml0IiBOYW1lPSJFeHRlc\n        m5hbFJlY2lwZUlkU3BlY2lmaWVkIi8+CiAgPG9wYzpGaWVsZCBUeXBlTmFtZT0ib3BjOkJpd\n        CIgTmFtZT0iUHJvZHVjdElkU3BlY2lmaWVkIi8+CiAgPG9wYzpGaWVsZCBUeXBlTmFtZT0ib\n        3BjOkJpdCIgTmFtZT0iRXh0ZXJuYWxDb25maWd1cmF0aW9uSWRTcGVjaWZpZWQiLz4KICA8b\n        3BjOkZpZWxkIFR5cGVOYW1lPSJvcGM6Qml0IiBOYW1lPSJQcm9jZXNzaW5nVGltZXNTcGVja\n        WZpZWQiLz4KICA8b3BjOkZpZWxkIFR5cGVOYW1lPSJvcGM6Qml0IiBOYW1lPSJSZXN1bHRDb\n        250ZW50U3BlY2lmaWVkIi8+CiAgPG9wYzpGaWVsZCBMZW5ndGg9IjIzIiBUeXBlTmFtZT0ib\n        3BjOkJpdCIgTmFtZT0iUmVzZXJ2ZWQxIi8+CiAgPG9wYzpGaWVsZCBUeXBlTmFtZT0idG5zO\n        lJlc3VsdElkRGF0YVR5cGUiIE5hbWU9IlJlc3VsdElkIi8+CiAgPG9wYzpGaWVsZCBTd2l0Y\n        2hGaWVsZD0iSGFzVHJhbnNmZXJhYmxlRGF0YU9uRmlsZVNwZWNpZmllZCIgVHlwZU5hbWU9I\n        m9wYzpCb29sZWFuIiBOYW1lPSJIYXNUcmFuc2ZlcmFibGVEYXRhT25GaWxlIi8+CiAgPG9wY\n        zpGaWVsZCBUeXBlTmFtZT0ib3BjOkJvb2xlYW4iIE5hbWU9IklzUGFydGlhbCIvPgogIDxvc\n        GM6RmllbGQgU3dpdGNoRmllbGQ9IklzU2ltdWxhdGVkU3BlY2lmaWVkIiBUeXBlTmFtZT0ib\n        3BjOkJvb2xlYW4iIE5hbWU9IklzU2ltdWxhdGVkIi8+CiAgPG9wYzpGaWVsZCBUeXBlTmFtZ\n        T0ib3BjOkludDMyIiBOYW1lPSJSZXN1bHRTdGF0ZSIvPgogIDxvcGM6RmllbGQgU3dpdGNoR\n        mllbGQ9Ik1lYXNJZFNwZWNpZmllZCIgVHlwZU5hbWU9InRuczpNZWFzSWREYXRhVHlwZSIgT\n        mFtZT0iTWVhc0lkIi8+CiAgPG9wYzpGaWVsZCBTd2l0Y2hGaWVsZD0iUGFydElkU3BlY2lma\n        WVkIiBUeXBlTmFtZT0idG5zOlBhcnRJZERhdGFUeXBlIiBOYW1lPSJQYXJ0SWQiLz4KICA8b\n        3BjOkZpZWxkIFN3aXRjaEZpZWxkPSJFeHRlcm5hbFJlY2lwZUlkU3BlY2lmaWVkIiBUeXBlT\n        mFtZT0idG5zOlJlY2lwZUlkRXh0ZXJuYWxEYXRhVHlwZSIgTmFtZT0iRXh0ZXJuYWxSZWNpc\n        GVJZCIvPgogIDxvcGM6RmllbGQgVHlwZU5hbWU9InRuczpSZWNpcGVJZEludGVybmFsRGF0Y\n        VR5cGUiIE5hbWU9IkludGVybmFsUmVjaXBlSWQiLz4KICA8b3BjOkZpZWxkIFN3aXRjaEZpZ\n        WxkPSJQcm9kdWN0SWRTcGVjaWZpZWQiIFR5cGVOYW1lPSJ0bnM6UHJvZHVjdElkRGF0YVR5c\n        GUiIE5hbWU9IlByb2R1Y3RJZCIvPgogIDxvcGM6RmllbGQgU3dpdGNoRmllbGQ9IkV4dGVyb\n        mFsQ29uZmlndXJhdGlvbklkU3BlY2lmaWVkIiBUeXBlTmFtZT0idG5zOkNvbmZpZ3VyYXRpb\n        25JZERhdGFUeXBlIiBOYW1lPSJFeHRlcm5hbENvbmZpZ3VyYXRpb25JZCIvPgogIDxvcGM6R\n        mllbGQgVHlwZU5hbWU9InRuczpDb25maWd1cmF0aW9uSWREYXRhVHlwZSIgTmFtZT0iSW50Z\n        XJuYWxDb25maWd1cmF0aW9uSWQiLz4KICA8b3BjOkZpZWxkIFR5cGVOYW1lPSJ0bnM6Sm9iS\n        WREYXRhVHlwZSIgTmFtZT0iSm9iSWQiLz4KICA8b3BjOkZpZWxkIFR5cGVOYW1lPSJvcGM6R\n        GF0ZVRpbWUiIE5hbWU9IkNyZWF0aW9uVGltZSIvPgogIDxvcGM6RmllbGQgU3dpdGNoRmllb\n        GQ9IlByb2Nlc3NpbmdUaW1lc1NwZWNpZmllZCIgVHlwZU5hbWU9InRuczpQcm9jZXNzaW5nV\n        GltZXNEYXRhVHlwZSIgTmFtZT0iUHJvY2Vzc2luZ1RpbWVzIi8+CiAgPG9wYzpGaWVsZCBTd\n        2l0Y2hGaWVsZD0iUmVzdWx0Q29udGVudFNwZWNpZmllZCIgVHlwZU5hbWU9Im9wYzpJbnQzM\n        iIgTmFtZT0iTm9PZlJlc3VsdENvbnRlbnQiLz4KICA8b3BjOkZpZWxkIExlbmd0aEZpZWxkP\n        SJOb09mUmVzdWx0Q29udGVudCIgU3dpdGNoRmllbGQ9IlJlc3VsdENvbnRlbnRTcGVjaWZpZ\n        WQiIFR5cGVOYW1lPSJ1YTpWYXJpYW50IiBOYW1lPSJSZXN1bHRDb250ZW50Ii8+CiA8L29wY\n        zpTdHJ1Y3R1cmVkVHlwZT4KIDxvcGM6U3RydWN0dXJlZFR5cGUgQmFzZVR5cGU9InVhOkV4d\n        GVuc2lvbk9iamVjdCIgTmFtZT0iUmVzdWx0SWREYXRhVHlwZSI+CiAgPG9wYzpGaWVsZCBUe\n        XBlTmFtZT0ib3BjOkNoYXJBcnJheSIgTmFtZT0iSWQiLz4KIDwvb3BjOlN0cnVjdHVyZWRUe\n        XBlPgogPG9wYzpTdHJ1Y3R1cmVkVHlwZSBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0I\n        iBOYW1lPSJSZXN1bHRUcmFuc2Zlck9wdGlvbnMiPgogIDxvcGM6RmllbGQgVHlwZU5hbWU9I\n        nRuczpSZXN1bHRJZERhdGFUeXBlIiBOYW1lPSJJZCIvPgogPC9vcGM6U3RydWN0dXJlZFR5c\n        GU+CiA8b3BjOlN0cnVjdHVyZWRUeXBlIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiI\n        E5hbWU9IlN5c3RlbVN0YXRlRGVzY3JpcHRpb25EYXRhVHlwZSI+CiAgPG9wYzpGaWVsZCBUe\n        XBlTmFtZT0ib3BjOkJpdCIgTmFtZT0iU3RhdGVEZXNjcmlwdGlvblNwZWNpZmllZCIvPgogI\n        DxvcGM6RmllbGQgTGVuZ3RoPSIzMSIgVHlwZU5hbWU9Im9wYzpCaXQiIE5hbWU9IlJlc2Vyd\n        mVkMSIvPgogIDxvcGM6RmllbGQgVHlwZU5hbWU9InRuczpTeXN0ZW1TdGF0ZURhdGFUeXBlI\n        iBOYW1lPSJTdGF0ZSIvPgogIDxvcGM6RmllbGQgU3dpdGNoRmllbGQ9IlN0YXRlRGVzY3Jpc\n        HRpb25TcGVjaWZpZWQiIFR5cGVOYW1lPSJvcGM6Q2hhckFycmF5IiBOYW1lPSJTdGF0ZURlc\n        2NyaXB0aW9uIi8+CiA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4KIDxvcGM6RW51bWVyYXRlZFR5c\n        GUgTGVuZ3RoSW5CaXRzPSIzMiIgTmFtZT0iU3lzdGVtU3RhdGVEYXRhVHlwZSI+CiAgPG9wY\n        zpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iUFJEXzEiIFZhbHVlPSIxIi8+CiAgPG9wYzpFbnVtZ\n        XJhdGVkVmFsdWUgTmFtZT0iU0JZXzIiIFZhbHVlPSIyIi8+CiAgPG9wYzpFbnVtZXJhdGVkV\n        mFsdWUgTmFtZT0iRU5HXzMiIFZhbHVlPSIzIi8+CiAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgT\n        mFtZT0iU0RUXzQiIFZhbHVlPSI0Ii8+CiAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iV\n        URUXzUiIFZhbHVlPSI1Ii8+CiAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iTlNUXzYiI\n        FZhbHVlPSI2Ii8+CiA8L29wYzpFbnVtZXJhdGVkVHlwZT4KIDxvcGM6RW51bWVyYXRlZFR5c\n        GUgTGVuZ3RoSW5CaXRzPSIzMiIgTmFtZT0iVHJpU3RhdGVCb29sZWFuRGF0YVR5cGUiPgogI\n        DxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IkZBTFNFXzAiIFZhbHVlPSIwIi8+CiAgPG9wY\n        zpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iVFJVRV8xIiBWYWx1ZT0iMSIvPgogIDxvcGM6RW51b\n        WVyYXRlZFZhbHVlIE5hbWU9IkRPTlRDQVJFXzIiIFZhbHVlPSIyIi8+CiA8L29wYzpFbnVtZ\n        XJhdGVkVHlwZT4KPC9vcGM6VHlwZURpY3Rpb25hcnk+Cg==</uax:ByteString>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=6002\" BrowseName=\"NamespaceUri\" ParentNodeId=\"ns=1;i=6001\" DataType=\"String\">\n    <DisplayName>NamespaceUri</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=6001</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n    </References>\n    <Value>\n      <uax:String xmlns:uax=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">http://opcfoundation.org/UA/MachineVision</uax:String>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=6003\" BrowseName=\"1:TypeDictionary\" SymbolicName=\"TypeDictionary_XmlSchema\" DataType=\"ByteString\">\n    <DisplayName>TypeDictionary</DisplayName>\n    <Description>Collects the data type descriptions of http://opcfoundation.org/UA/MachineVision</Description>\n    <References>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=6034</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=6353</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=6355</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=6126</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=72</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=6031</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=6029</Reference>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=6020</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=6073</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=6075</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=6038</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=6093</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=6022</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=6036</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=6189</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=6077</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=6040</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=6128</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=6131</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=92</Reference>\n    </References>\n    <Value>\n      <uax:ByteString xmlns:uax=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">PHhzOnNjaGVtYSBlbGVtZW50Rm9ybURlZmF1bHQ9InF1YWxpZmllZCIgdGFyZ2V0TmFtZXNwYWNlPSJod\n        HRwOi8vb3BjZm91bmRhdGlvbi5vcmcvVUEvTWFjaGluZVZpc2lvbi9UeXBlcy54c2QiIHhtb\n        G5zOnRucz0iaHR0cDovL29wY2ZvdW5kYXRpb24ub3JnL1VBL01hY2hpbmVWaXNpb24vVHlwZ\n        XMueHNkIiB4bWxuczp1YT0iaHR0cDovL29wY2ZvdW5kYXRpb24ub3JnL1VBLzIwMDgvMDIvV\n        HlwZXMueHNkIiB4bWxuczp4cz0iaHR0cDovL3d3dy53My5vcmcvMjAwMS9YTUxTY2hlbWEiP\n        gogPHhzOmltcG9ydCBuYW1lc3BhY2U9Imh0dHA6Ly9vcGNmb3VuZGF0aW9uLm9yZy9VQS8yM\n        DA4LzAyL1R5cGVzLnhzZCIvPgogPHhzOnNpbXBsZVR5cGUgbmFtZT0iU3lzdGVtU3RhdGVEY\n        XRhVHlwZSI+CiAgPHhzOnJlc3RyaWN0aW9uIGJhc2U9InhzOnN0cmluZyI+CiAgIDx4czplb\n        nVtZXJhdGlvbiB2YWx1ZT0iUFJEXzFfMSIvPgogICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9I\n        lNCWV8yXzIiLz4KICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJFTkdfM18zIi8+CiAgIDx4c\n        zplbnVtZXJhdGlvbiB2YWx1ZT0iU0RUXzRfNCIvPgogICA8eHM6ZW51bWVyYXRpb24gdmFsd\n        WU9IlVEVF81XzUiLz4KICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJOU1RfNl82Ii8+CiAgP\n        C94czpyZXN0cmljdGlvbj4KIDwveHM6c2ltcGxlVHlwZT4KIDx4czplbGVtZW50IHR5cGU9I\n        nRuczpTeXN0ZW1TdGF0ZURhdGFUeXBlIiBuYW1lPSJTeXN0ZW1TdGF0ZURhdGFUeXBlIi8+C\n        iA8eHM6Y29tcGxleFR5cGUgbmFtZT0iTGlzdE9mU3lzdGVtU3RhdGVEYXRhVHlwZSI+CiAgP\n        HhzOnNlcXVlbmNlPgogICA8eHM6ZWxlbWVudCBtaW5PY2N1cnM9IjAiIG1heE9jY3Vycz0id\n        W5ib3VuZGVkIiB0eXBlPSJ0bnM6U3lzdGVtU3RhdGVEYXRhVHlwZSIgbmFtZT0iU3lzdGVtU\n        3RhdGVEYXRhVHlwZSIgbmlsbGFibGU9InRydWUiLz4KICA8L3hzOnNlcXVlbmNlPgogPC94c\n        zpjb21wbGV4VHlwZT4KIDx4czplbGVtZW50IHR5cGU9InRuczpMaXN0T2ZTeXN0ZW1TdGF0Z\n        URhdGFUeXBlIiBuYW1lPSJMaXN0T2ZTeXN0ZW1TdGF0ZURhdGFUeXBlIiBuaWxsYWJsZT0id\n        HJ1ZSIvPgogPHhzOnNpbXBsZVR5cGUgbmFtZT0iVHJpU3RhdGVCb29sZWFuRGF0YVR5cGUiP\n        gogIDx4czpyZXN0cmljdGlvbiBiYXNlPSJ4czpzdHJpbmciPgogICA8eHM6ZW51bWVyYXRpb\n        24gdmFsdWU9IkZBTFNFXzBfMCIvPgogICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IlRSVUVfM\n        V8xIi8+CiAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iRE9OVENBUkVfMl8yIi8+CiAgPC94c\n        zpyZXN0cmljdGlvbj4KIDwveHM6c2ltcGxlVHlwZT4KIDx4czplbGVtZW50IHR5cGU9InRuc\n        zpUcmlTdGF0ZUJvb2xlYW5EYXRhVHlwZSIgbmFtZT0iVHJpU3RhdGVCb29sZWFuRGF0YVR5c\n        GUiLz4KIDx4czpjb21wbGV4VHlwZSBuYW1lPSJMaXN0T2ZUcmlTdGF0ZUJvb2xlYW5EYXRhV\n        HlwZSI+CiAgPHhzOnNlcXVlbmNlPgogICA8eHM6ZWxlbWVudCBtaW5PY2N1cnM9IjAiIG1he\n        E9jY3Vycz0idW5ib3VuZGVkIiB0eXBlPSJ0bnM6VHJpU3RhdGVCb29sZWFuRGF0YVR5cGUiI\n        G5hbWU9IlRyaVN0YXRlQm9vbGVhbkRhdGFUeXBlIiBuaWxsYWJsZT0idHJ1ZSIvPgogIDwve\n        HM6c2VxdWVuY2U+CiA8L3hzOmNvbXBsZXhUeXBlPgogPHhzOmVsZW1lbnQgdHlwZT0idG5zO\n        kxpc3RPZlRyaVN0YXRlQm9vbGVhbkRhdGFUeXBlIiBuYW1lPSJMaXN0T2ZUcmlTdGF0ZUJvb\n        2xlYW5EYXRhVHlwZSIgbmlsbGFibGU9InRydWUiLz4KIDx4czpjb21wbGV4VHlwZSBuYW1lP\n        SJCaW5hcnlJZEJhc2VEYXRhVHlwZSI+CiAgPHhzOnNlcXVlbmNlPgogICA8eHM6ZWxlbWVud\n        CBtaW5PY2N1cnM9IjAiIHR5cGU9InhzOnVuc2lnbmVkSW50IiBuYW1lPSJFbmNvZGluZ01hc\n        2siLz4KICAgPHhzOmVsZW1lbnQgbWluT2NjdXJzPSIwIiBtYXhPY2N1cnM9IjEiIHR5cGU9I\n        nhzOnN0cmluZyIgbmFtZT0iSWQiLz4KICAgPHhzOmVsZW1lbnQgbWluT2NjdXJzPSIwIiBtY\n        XhPY2N1cnM9IjEiIHR5cGU9InhzOnN0cmluZyIgbmFtZT0iVmVyc2lvbiIvPgogICA8eHM6Z\n        WxlbWVudCBtaW5PY2N1cnM9IjAiIG1heE9jY3Vycz0iMSIgdHlwZT0ieHM6YmFzZTY0QmluY\n        XJ5IiBuYW1lPSJIYXNoIi8+CiAgIDx4czplbGVtZW50IG1pbk9jY3Vycz0iMCIgbWF4T2Njd\n        XJzPSIxIiB0eXBlPSJ4czpzdHJpbmciIG5hbWU9Ikhhc2hBbGdvcml0aG0iLz4KICAgPHhzO\n        mVsZW1lbnQgbWluT2NjdXJzPSIwIiBtYXhPY2N1cnM9IjEiIHR5cGU9InVhOkxvY2FsaXplZ\n        FRleHQiIG5hbWU9IkRlc2NyaXB0aW9uIi8+CiAgPC94czpzZXF1ZW5jZT4KIDwveHM6Y29tc\n        GxleFR5cGU+CiA8eHM6ZWxlbWVudCB0eXBlPSJ0bnM6QmluYXJ5SWRCYXNlRGF0YVR5cGUiI\n        G5hbWU9IkJpbmFyeUlkQmFzZURhdGFUeXBlIi8+CiA8eHM6Y29tcGxleFR5cGUgbmFtZT0iT\n        GlzdE9mQmluYXJ5SWRCYXNlRGF0YVR5cGUiPgogIDx4czpzZXF1ZW5jZT4KICAgPHhzOmVsZ\n        W1lbnQgbWluT2NjdXJzPSIwIiBtYXhPY2N1cnM9InVuYm91bmRlZCIgdHlwZT0idG5zOkJpb\n        mFyeUlkQmFzZURhdGFUeXBlIiBuYW1lPSJCaW5hcnlJZEJhc2VEYXRhVHlwZSIgbmlsbGFib\n        GU9InRydWUiLz4KICA8L3hzOnNlcXVlbmNlPgogPC94czpjb21wbGV4VHlwZT4KIDx4czplb\n        GVtZW50IHR5cGU9InRuczpMaXN0T2ZCaW5hcnlJZEJhc2VEYXRhVHlwZSIgbmFtZT0iTGlzd\n        E9mQmluYXJ5SWRCYXNlRGF0YVR5cGUiIG5pbGxhYmxlPSJ0cnVlIi8+CiA8eHM6Y29tcGxle\n        FR5cGUgbmFtZT0iQ29uZmlndXJhdGlvbklkRGF0YVR5cGUiPgogIDx4czpjb21wbGV4Q29ud\n        GVudCBtaXhlZD0iZmFsc2UiPgogICA8eHM6ZXh0ZW5zaW9uIGJhc2U9InRuczpCaW5hcnlJZ\n        EJhc2VEYXRhVHlwZSI+CiAgICA8eHM6c2VxdWVuY2UvPgogICA8L3hzOmV4dGVuc2lvbj4KI\n        CA8L3hzOmNvbXBsZXhDb250ZW50PgogPC94czpjb21wbGV4VHlwZT4KIDx4czplbGVtZW50I\n        HR5cGU9InRuczpDb25maWd1cmF0aW9uSWREYXRhVHlwZSIgbmFtZT0iQ29uZmlndXJhdGlvb\n        klkRGF0YVR5cGUiLz4KIDx4czpjb21wbGV4VHlwZSBuYW1lPSJMaXN0T2ZDb25maWd1cmF0a\n        W9uSWREYXRhVHlwZSI+CiAgPHhzOnNlcXVlbmNlPgogICA8eHM6ZWxlbWVudCBtaW5PY2N1c\n        nM9IjAiIG1heE9jY3Vycz0idW5ib3VuZGVkIiB0eXBlPSJ0bnM6Q29uZmlndXJhdGlvbklkR\n        GF0YVR5cGUiIG5hbWU9IkNvbmZpZ3VyYXRpb25JZERhdGFUeXBlIiBuaWxsYWJsZT0idHJ1Z\n        SIvPgogIDwveHM6c2VxdWVuY2U+CiA8L3hzOmNvbXBsZXhUeXBlPgogPHhzOmVsZW1lbnQgd\n        HlwZT0idG5zOkxpc3RPZkNvbmZpZ3VyYXRpb25JZERhdGFUeXBlIiBuYW1lPSJMaXN0T2ZDb\n        25maWd1cmF0aW9uSWREYXRhVHlwZSIgbmlsbGFibGU9InRydWUiLz4KIDx4czpjb21wbGV4V\n        HlwZSBuYW1lPSJSZWNpcGVJZEV4dGVybmFsRGF0YVR5cGUiPgogIDx4czpjb21wbGV4Q29ud\n        GVudCBtaXhlZD0iZmFsc2UiPgogICA8eHM6ZXh0ZW5zaW9uIGJhc2U9InRuczpCaW5hcnlJZ\n        EJhc2VEYXRhVHlwZSI+CiAgICA8eHM6c2VxdWVuY2UvPgogICA8L3hzOmV4dGVuc2lvbj4KI\n        CA8L3hzOmNvbXBsZXhDb250ZW50PgogPC94czpjb21wbGV4VHlwZT4KIDx4czplbGVtZW50I\n        HR5cGU9InRuczpSZWNpcGVJZEV4dGVybmFsRGF0YVR5cGUiIG5hbWU9IlJlY2lwZUlkRXh0Z\n        XJuYWxEYXRhVHlwZSIvPgogPHhzOmNvbXBsZXhUeXBlIG5hbWU9Ikxpc3RPZlJlY2lwZUlkR\n        Xh0ZXJuYWxEYXRhVHlwZSI+CiAgPHhzOnNlcXVlbmNlPgogICA8eHM6ZWxlbWVudCBtaW5PY\n        2N1cnM9IjAiIG1heE9jY3Vycz0idW5ib3VuZGVkIiB0eXBlPSJ0bnM6UmVjaXBlSWRFeHRlc\n        m5hbERhdGFUeXBlIiBuYW1lPSJSZWNpcGVJZEV4dGVybmFsRGF0YVR5cGUiIG5pbGxhYmxlP\n        SJ0cnVlIi8+CiAgPC94czpzZXF1ZW5jZT4KIDwveHM6Y29tcGxleFR5cGU+CiA8eHM6ZWxlb\n        WVudCB0eXBlPSJ0bnM6TGlzdE9mUmVjaXBlSWRFeHRlcm5hbERhdGFUeXBlIiBuYW1lPSJMa\n        XN0T2ZSZWNpcGVJZEV4dGVybmFsRGF0YVR5cGUiIG5pbGxhYmxlPSJ0cnVlIi8+CiA8eHM6Y\n        29tcGxleFR5cGUgbmFtZT0iUmVjaXBlSWRJbnRlcm5hbERhdGFUeXBlIj4KICA8eHM6Y29tc\n        GxleENvbnRlbnQgbWl4ZWQ9ImZhbHNlIj4KICAgPHhzOmV4dGVuc2lvbiBiYXNlPSJ0bnM6Q\n        mluYXJ5SWRCYXNlRGF0YVR5cGUiPgogICAgPHhzOnNlcXVlbmNlLz4KICAgPC94czpleHRlb\n        nNpb24+CiAgPC94czpjb21wbGV4Q29udGVudD4KIDwveHM6Y29tcGxleFR5cGU+CiA8eHM6Z\n        WxlbWVudCB0eXBlPSJ0bnM6UmVjaXBlSWRJbnRlcm5hbERhdGFUeXBlIiBuYW1lPSJSZWNpc\n        GVJZEludGVybmFsRGF0YVR5cGUiLz4KIDx4czpjb21wbGV4VHlwZSBuYW1lPSJMaXN0T2ZSZ\n        WNpcGVJZEludGVybmFsRGF0YVR5cGUiPgogIDx4czpzZXF1ZW5jZT4KICAgPHhzOmVsZW1lb\n        nQgbWluT2NjdXJzPSIwIiBtYXhPY2N1cnM9InVuYm91bmRlZCIgdHlwZT0idG5zOlJlY2lwZ\n        UlkSW50ZXJuYWxEYXRhVHlwZSIgbmFtZT0iUmVjaXBlSWRJbnRlcm5hbERhdGFUeXBlIiBua\n        WxsYWJsZT0idHJ1ZSIvPgogIDwveHM6c2VxdWVuY2U+CiA8L3hzOmNvbXBsZXhUeXBlPgogP\n        HhzOmVsZW1lbnQgdHlwZT0idG5zOkxpc3RPZlJlY2lwZUlkSW50ZXJuYWxEYXRhVHlwZSIgb\n        mFtZT0iTGlzdE9mUmVjaXBlSWRJbnRlcm5hbERhdGFUeXBlIiBuaWxsYWJsZT0idHJ1ZSIvP\n        gogPHhzOmNvbXBsZXhUeXBlIG5hbWU9IkNvbmZpZ3VyYXRpb25EYXRhVHlwZSI+CiAgPHhzO\n        nNlcXVlbmNlPgogICA8eHM6ZWxlbWVudCBtaW5PY2N1cnM9IjAiIHR5cGU9InhzOnVuc2lnb\n        mVkSW50IiBuYW1lPSJFbmNvZGluZ01hc2siLz4KICAgPHhzOmVsZW1lbnQgbWluT2NjdXJzP\n        SIwIiBtYXhPY2N1cnM9IjEiIHR5cGU9InhzOmJvb2xlYW4iIG5hbWU9Ikhhc1RyYW5zZmVyY\n        WJsZURhdGFPbkZpbGUiLz4KICAgPHhzOmVsZW1lbnQgbWluT2NjdXJzPSIwIiBtYXhPY2N1c\n        nM9IjEiIHR5cGU9InRuczpDb25maWd1cmF0aW9uSWREYXRhVHlwZSIgbmFtZT0iRXh0ZXJuY\n        WxJZCIvPgogICA8eHM6ZWxlbWVudCBtaW5PY2N1cnM9IjAiIG1heE9jY3Vycz0iMSIgdHlwZ\n        T0idG5zOkNvbmZpZ3VyYXRpb25JZERhdGFUeXBlIiBuYW1lPSJJbnRlcm5hbElkIi8+CiAgI\n        Dx4czplbGVtZW50IG1pbk9jY3Vycz0iMCIgbWF4T2NjdXJzPSIxIiB0eXBlPSJ4czpkYXRlV\n        GltZSIgbmFtZT0iTGFzdE1vZGlmaWVkIi8+CiAgPC94czpzZXF1ZW5jZT4KIDwveHM6Y29tc\n        GxleFR5cGU+CiA8eHM6ZWxlbWVudCB0eXBlPSJ0bnM6Q29uZmlndXJhdGlvbkRhdGFUeXBlI\n        iBuYW1lPSJDb25maWd1cmF0aW9uRGF0YVR5cGUiLz4KIDx4czpjb21wbGV4VHlwZSBuYW1lP\n        SJMaXN0T2ZDb25maWd1cmF0aW9uRGF0YVR5cGUiPgogIDx4czpzZXF1ZW5jZT4KICAgPHhzO\n        mVsZW1lbnQgbWluT2NjdXJzPSIwIiBtYXhPY2N1cnM9InVuYm91bmRlZCIgdHlwZT0idG5zO\n        kNvbmZpZ3VyYXRpb25EYXRhVHlwZSIgbmFtZT0iQ29uZmlndXJhdGlvbkRhdGFUeXBlIiBua\n        WxsYWJsZT0idHJ1ZSIvPgogIDwveHM6c2VxdWVuY2U+CiA8L3hzOmNvbXBsZXhUeXBlPgogP\n        HhzOmVsZW1lbnQgdHlwZT0idG5zOkxpc3RPZkNvbmZpZ3VyYXRpb25EYXRhVHlwZSIgbmFtZ\n        T0iTGlzdE9mQ29uZmlndXJhdGlvbkRhdGFUeXBlIiBuaWxsYWJsZT0idHJ1ZSIvPgogPHhzO\n        mNvbXBsZXhUeXBlIG5hbWU9IkNvbmZpZ3VyYXRpb25UcmFuc2Zlck9wdGlvbnMiPgogIDx4c\n        zpzZXF1ZW5jZT4KICAgPHhzOmVsZW1lbnQgbWluT2NjdXJzPSIwIiBtYXhPY2N1cnM9IjEiI\n        HR5cGU9InRuczpDb25maWd1cmF0aW9uSWREYXRhVHlwZSIgbmFtZT0iSW50ZXJuYWxJZCIvP\n        gogIDwveHM6c2VxdWVuY2U+CiA8L3hzOmNvbXBsZXhUeXBlPgogPHhzOmVsZW1lbnQgdHlwZ\n        T0idG5zOkNvbmZpZ3VyYXRpb25UcmFuc2Zlck9wdGlvbnMiIG5hbWU9IkNvbmZpZ3VyYXRpb\n        25UcmFuc2Zlck9wdGlvbnMiLz4KIDx4czpjb21wbGV4VHlwZSBuYW1lPSJMaXN0T2ZDb25ma\n        Wd1cmF0aW9uVHJhbnNmZXJPcHRpb25zIj4KICA8eHM6c2VxdWVuY2U+CiAgIDx4czplbGVtZ\n        W50IG1pbk9jY3Vycz0iMCIgbWF4T2NjdXJzPSJ1bmJvdW5kZWQiIHR5cGU9InRuczpDb25ma\n        Wd1cmF0aW9uVHJhbnNmZXJPcHRpb25zIiBuYW1lPSJDb25maWd1cmF0aW9uVHJhbnNmZXJPc\n        HRpb25zIiBuaWxsYWJsZT0idHJ1ZSIvPgogIDwveHM6c2VxdWVuY2U+CiA8L3hzOmNvbXBsZ\n        XhUeXBlPgogPHhzOmVsZW1lbnQgdHlwZT0idG5zOkxpc3RPZkNvbmZpZ3VyYXRpb25UcmFuc\n        2Zlck9wdGlvbnMiIG5hbWU9Ikxpc3RPZkNvbmZpZ3VyYXRpb25UcmFuc2Zlck9wdGlvbnMiI\n        G5pbGxhYmxlPSJ0cnVlIi8+CiA8eHM6Y29tcGxleFR5cGUgbmFtZT0iSm9iSWREYXRhVHlwZ\n        SI+CiAgPHhzOnNlcXVlbmNlPgogICA8eHM6ZWxlbWVudCBtaW5PY2N1cnM9IjAiIG1heE9jY\n        3Vycz0iMSIgdHlwZT0ieHM6c3RyaW5nIiBuYW1lPSJJZCIvPgogIDwveHM6c2VxdWVuY2U+C\n        iA8L3hzOmNvbXBsZXhUeXBlPgogPHhzOmVsZW1lbnQgdHlwZT0idG5zOkpvYklkRGF0YVR5c\n        GUiIG5hbWU9IkpvYklkRGF0YVR5cGUiLz4KIDx4czpjb21wbGV4VHlwZSBuYW1lPSJMaXN0T\n        2ZKb2JJZERhdGFUeXBlIj4KICA8eHM6c2VxdWVuY2U+CiAgIDx4czplbGVtZW50IG1pbk9jY\n        3Vycz0iMCIgbWF4T2NjdXJzPSJ1bmJvdW5kZWQiIHR5cGU9InRuczpKb2JJZERhdGFUeXBlI\n        iBuYW1lPSJKb2JJZERhdGFUeXBlIiBuaWxsYWJsZT0idHJ1ZSIvPgogIDwveHM6c2VxdWVuY\n        2U+CiA8L3hzOmNvbXBsZXhUeXBlPgogPHhzOmVsZW1lbnQgdHlwZT0idG5zOkxpc3RPZkpvY\n        klkRGF0YVR5cGUiIG5hbWU9Ikxpc3RPZkpvYklkRGF0YVR5cGUiIG5pbGxhYmxlPSJ0cnVlI\n        i8+CiA8eHM6Y29tcGxleFR5cGUgbmFtZT0iTWVhc0lkRGF0YVR5cGUiPgogIDx4czpzZXF1Z\n        W5jZT4KICAgPHhzOmVsZW1lbnQgbWluT2NjdXJzPSIwIiB0eXBlPSJ4czp1bnNpZ25lZElud\n        CIgbmFtZT0iRW5jb2RpbmdNYXNrIi8+CiAgIDx4czplbGVtZW50IG1pbk9jY3Vycz0iMCIgb\n        WF4T2NjdXJzPSIxIiB0eXBlPSJ4czpzdHJpbmciIG5hbWU9IklkIi8+CiAgIDx4czplbGVtZ\n        W50IG1pbk9jY3Vycz0iMCIgbWF4T2NjdXJzPSIxIiB0eXBlPSJ1YTpMb2NhbGl6ZWRUZXh0I\n        iBuYW1lPSJEZXNjcmlwdGlvbiIvPgogIDwveHM6c2VxdWVuY2U+CiA8L3hzOmNvbXBsZXhUe\n        XBlPgogPHhzOmVsZW1lbnQgdHlwZT0idG5zOk1lYXNJZERhdGFUeXBlIiBuYW1lPSJNZWFzS\n        WREYXRhVHlwZSIvPgogPHhzOmNvbXBsZXhUeXBlIG5hbWU9Ikxpc3RPZk1lYXNJZERhdGFUe\n        XBlIj4KICA8eHM6c2VxdWVuY2U+CiAgIDx4czplbGVtZW50IG1pbk9jY3Vycz0iMCIgbWF4T\n        2NjdXJzPSJ1bmJvdW5kZWQiIHR5cGU9InRuczpNZWFzSWREYXRhVHlwZSIgbmFtZT0iTWVhc\n        0lkRGF0YVR5cGUiIG5pbGxhYmxlPSJ0cnVlIi8+CiAgPC94czpzZXF1ZW5jZT4KIDwveHM6Y\n        29tcGxleFR5cGU+CiA8eHM6ZWxlbWVudCB0eXBlPSJ0bnM6TGlzdE9mTWVhc0lkRGF0YVR5c\n        GUiIG5hbWU9Ikxpc3RPZk1lYXNJZERhdGFUeXBlIiBuaWxsYWJsZT0idHJ1ZSIvPgogPHhzO\n        mNvbXBsZXhUeXBlIG5hbWU9IlBhcnRJZERhdGFUeXBlIj4KICA8eHM6c2VxdWVuY2U+CiAgI\n        Dx4czplbGVtZW50IG1pbk9jY3Vycz0iMCIgdHlwZT0ieHM6dW5zaWduZWRJbnQiIG5hbWU9I\n        kVuY29kaW5nTWFzayIvPgogICA8eHM6ZWxlbWVudCBtaW5PY2N1cnM9IjAiIG1heE9jY3Vyc\n        z0iMSIgdHlwZT0ieHM6c3RyaW5nIiBuYW1lPSJJZCIvPgogICA8eHM6ZWxlbWVudCBtaW5PY\n        2N1cnM9IjAiIG1heE9jY3Vycz0iMSIgdHlwZT0idWE6TG9jYWxpemVkVGV4dCIgbmFtZT0iR\n        GVzY3JpcHRpb24iLz4KICA8L3hzOnNlcXVlbmNlPgogPC94czpjb21wbGV4VHlwZT4KIDx4c\n        zplbGVtZW50IHR5cGU9InRuczpQYXJ0SWREYXRhVHlwZSIgbmFtZT0iUGFydElkRGF0YVR5c\n        GUiLz4KIDx4czpjb21wbGV4VHlwZSBuYW1lPSJMaXN0T2ZQYXJ0SWREYXRhVHlwZSI+CiAgP\n        HhzOnNlcXVlbmNlPgogICA8eHM6ZWxlbWVudCBtaW5PY2N1cnM9IjAiIG1heE9jY3Vycz0id\n        W5ib3VuZGVkIiB0eXBlPSJ0bnM6UGFydElkRGF0YVR5cGUiIG5hbWU9IlBhcnRJZERhdGFUe\n        XBlIiBuaWxsYWJsZT0idHJ1ZSIvPgogIDwveHM6c2VxdWVuY2U+CiA8L3hzOmNvbXBsZXhUe\n        XBlPgogPHhzOmVsZW1lbnQgdHlwZT0idG5zOkxpc3RPZlBhcnRJZERhdGFUeXBlIiBuYW1lP\n        SJMaXN0T2ZQYXJ0SWREYXRhVHlwZSIgbmlsbGFibGU9InRydWUiLz4KIDx4czpjb21wbGV4V\n        HlwZSBuYW1lPSJQcm9jZXNzaW5nVGltZXNEYXRhVHlwZSI+CiAgPHhzOnNlcXVlbmNlPgogI\n        CA8eHM6ZWxlbWVudCBtaW5PY2N1cnM9IjAiIHR5cGU9InhzOnVuc2lnbmVkSW50IiBuYW1lP\n        SJFbmNvZGluZ01hc2siLz4KICAgPHhzOmVsZW1lbnQgbWluT2NjdXJzPSIwIiBtYXhPY2N1c\n        nM9IjEiIHR5cGU9InhzOmRhdGVUaW1lIiBuYW1lPSJTdGFydFRpbWUiLz4KICAgPHhzOmVsZ\n        W1lbnQgbWluT2NjdXJzPSIwIiBtYXhPY2N1cnM9IjEiIHR5cGU9InhzOmRhdGVUaW1lIiBuY\n        W1lPSJFbmRUaW1lIi8+CiAgIDx4czplbGVtZW50IG1pbk9jY3Vycz0iMCIgbWF4T2NjdXJzP\n        SIxIiB0eXBlPSJ4czpkb3VibGUiIG5hbWU9IkFjcXVpc2l0aW9uRHVyYXRpb24iLz4KICAgP\n        HhzOmVsZW1lbnQgbWluT2NjdXJzPSIwIiBtYXhPY2N1cnM9IjEiIHR5cGU9InhzOmRvdWJsZ\n        SIgbmFtZT0iUHJvY2Vzc2luZ0R1cmF0aW9uIi8+CiAgPC94czpzZXF1ZW5jZT4KIDwveHM6Y\n        29tcGxleFR5cGU+CiA8eHM6ZWxlbWVudCB0eXBlPSJ0bnM6UHJvY2Vzc2luZ1RpbWVzRGF0Y\n        VR5cGUiIG5hbWU9IlByb2Nlc3NpbmdUaW1lc0RhdGFUeXBlIi8+CiA8eHM6Y29tcGxleFR5c\n        GUgbmFtZT0iTGlzdE9mUHJvY2Vzc2luZ1RpbWVzRGF0YVR5cGUiPgogIDx4czpzZXF1ZW5jZ\n        T4KICAgPHhzOmVsZW1lbnQgbWluT2NjdXJzPSIwIiBtYXhPY2N1cnM9InVuYm91bmRlZCIgd\n        HlwZT0idG5zOlByb2Nlc3NpbmdUaW1lc0RhdGFUeXBlIiBuYW1lPSJQcm9jZXNzaW5nVGltZ\n        XNEYXRhVHlwZSIgbmlsbGFibGU9InRydWUiLz4KICA8L3hzOnNlcXVlbmNlPgogPC94czpjb\n        21wbGV4VHlwZT4KIDx4czplbGVtZW50IHR5cGU9InRuczpMaXN0T2ZQcm9jZXNzaW5nVGltZ\n        XNEYXRhVHlwZSIgbmFtZT0iTGlzdE9mUHJvY2Vzc2luZ1RpbWVzRGF0YVR5cGUiIG5pbGxhY\n        mxlPSJ0cnVlIi8+CiA8eHM6Y29tcGxleFR5cGUgbmFtZT0iUHJvZHVjdERhdGFUeXBlIj4KI\n        CA8eHM6c2VxdWVuY2U+CiAgIDx4czplbGVtZW50IG1pbk9jY3Vycz0iMCIgbWF4T2NjdXJzP\n        SIxIiB0eXBlPSJ0bnM6UHJvZHVjdElkRGF0YVR5cGUiIG5hbWU9IkV4dGVybmFsSWQiLz4KI\n        CA8L3hzOnNlcXVlbmNlPgogPC94czpjb21wbGV4VHlwZT4KIDx4czplbGVtZW50IHR5cGU9I\n        nRuczpQcm9kdWN0RGF0YVR5cGUiIG5hbWU9IlByb2R1Y3REYXRhVHlwZSIvPgogPHhzOmNvb\n        XBsZXhUeXBlIG5hbWU9Ikxpc3RPZlByb2R1Y3REYXRhVHlwZSI+CiAgPHhzOnNlcXVlbmNlP\n        gogICA8eHM6ZWxlbWVudCBtaW5PY2N1cnM9IjAiIG1heE9jY3Vycz0idW5ib3VuZGVkIiB0e\n        XBlPSJ0bnM6UHJvZHVjdERhdGFUeXBlIiBuYW1lPSJQcm9kdWN0RGF0YVR5cGUiIG5pbGxhY\n        mxlPSJ0cnVlIi8+CiAgPC94czpzZXF1ZW5jZT4KIDwveHM6Y29tcGxleFR5cGU+CiA8eHM6Z\n        WxlbWVudCB0eXBlPSJ0bnM6TGlzdE9mUHJvZHVjdERhdGFUeXBlIiBuYW1lPSJMaXN0T2ZQc\n        m9kdWN0RGF0YVR5cGUiIG5pbGxhYmxlPSJ0cnVlIi8+CiA8eHM6Y29tcGxleFR5cGUgbmFtZ\n        T0iUHJvZHVjdElkRGF0YVR5cGUiPgogIDx4czpzZXF1ZW5jZT4KICAgPHhzOmVsZW1lbnQgb\n        WluT2NjdXJzPSIwIiB0eXBlPSJ4czp1bnNpZ25lZEludCIgbmFtZT0iRW5jb2RpbmdNYXNrI\n        i8+CiAgIDx4czplbGVtZW50IG1pbk9jY3Vycz0iMCIgbWF4T2NjdXJzPSIxIiB0eXBlPSJ4c\n        zpzdHJpbmciIG5hbWU9IklkIi8+CiAgIDx4czplbGVtZW50IG1pbk9jY3Vycz0iMCIgbWF4T\n        2NjdXJzPSIxIiB0eXBlPSJ1YTpMb2NhbGl6ZWRUZXh0IiBuYW1lPSJEZXNjcmlwdGlvbiIvP\n        gogIDwveHM6c2VxdWVuY2U+CiA8L3hzOmNvbXBsZXhUeXBlPgogPHhzOmVsZW1lbnQgdHlwZ\n        T0idG5zOlByb2R1Y3RJZERhdGFUeXBlIiBuYW1lPSJQcm9kdWN0SWREYXRhVHlwZSIvPgogP\n        HhzOmNvbXBsZXhUeXBlIG5hbWU9Ikxpc3RPZlByb2R1Y3RJZERhdGFUeXBlIj4KICA8eHM6c\n        2VxdWVuY2U+CiAgIDx4czplbGVtZW50IG1pbk9jY3Vycz0iMCIgbWF4T2NjdXJzPSJ1bmJvd\n        W5kZWQiIHR5cGU9InRuczpQcm9kdWN0SWREYXRhVHlwZSIgbmFtZT0iUHJvZHVjdElkRGF0Y\n        VR5cGUiIG5pbGxhYmxlPSJ0cnVlIi8+CiAgPC94czpzZXF1ZW5jZT4KIDwveHM6Y29tcGxle\n        FR5cGU+CiA8eHM6ZWxlbWVudCB0eXBlPSJ0bnM6TGlzdE9mUHJvZHVjdElkRGF0YVR5cGUiI\n        G5hbWU9Ikxpc3RPZlByb2R1Y3RJZERhdGFUeXBlIiBuaWxsYWJsZT0idHJ1ZSIvPgogPHhzO\n        mNvbXBsZXhUeXBlIG5hbWU9IlJlY2lwZVRyYW5zZmVyT3B0aW9ucyI+CiAgPHhzOnNlcXVlb\n        mNlPgogICA8eHM6ZWxlbWVudCBtaW5PY2N1cnM9IjAiIG1heE9jY3Vycz0iMSIgdHlwZT0id\n        G5zOlJlY2lwZUlkSW50ZXJuYWxEYXRhVHlwZSIgbmFtZT0iSW50ZXJuYWxJZCIvPgogIDwve\n        HM6c2VxdWVuY2U+CiA8L3hzOmNvbXBsZXhUeXBlPgogPHhzOmVsZW1lbnQgdHlwZT0idG5zO\n        lJlY2lwZVRyYW5zZmVyT3B0aW9ucyIgbmFtZT0iUmVjaXBlVHJhbnNmZXJPcHRpb25zIi8+C\n        iA8eHM6Y29tcGxleFR5cGUgbmFtZT0iTGlzdE9mUmVjaXBlVHJhbnNmZXJPcHRpb25zIj4KI\n        CA8eHM6c2VxdWVuY2U+CiAgIDx4czplbGVtZW50IG1pbk9jY3Vycz0iMCIgbWF4T2NjdXJzP\n        SJ1bmJvdW5kZWQiIHR5cGU9InRuczpSZWNpcGVUcmFuc2Zlck9wdGlvbnMiIG5hbWU9IlJlY\n        2lwZVRyYW5zZmVyT3B0aW9ucyIgbmlsbGFibGU9InRydWUiLz4KICA8L3hzOnNlcXVlbmNlP\n        gogPC94czpjb21wbGV4VHlwZT4KIDx4czplbGVtZW50IHR5cGU9InRuczpMaXN0T2ZSZWNpc\n        GVUcmFuc2Zlck9wdGlvbnMiIG5hbWU9Ikxpc3RPZlJlY2lwZVRyYW5zZmVyT3B0aW9ucyIgb\n        mlsbGFibGU9InRydWUiLz4KIDx4czpjb21wbGV4VHlwZSBuYW1lPSJSZXN1bHREYXRhVHlwZ\n        SI+CiAgPHhzOnNlcXVlbmNlPgogICA8eHM6ZWxlbWVudCBtaW5PY2N1cnM9IjAiIHR5cGU9I\n        nhzOnVuc2lnbmVkSW50IiBuYW1lPSJFbmNvZGluZ01hc2siLz4KICAgPHhzOmVsZW1lbnQgb\n        WluT2NjdXJzPSIwIiBtYXhPY2N1cnM9IjEiIHR5cGU9InRuczpSZXN1bHRJZERhdGFUeXBlI\n        iBuYW1lPSJSZXN1bHRJZCIvPgogICA8eHM6ZWxlbWVudCBtaW5PY2N1cnM9IjAiIG1heE9jY\n        3Vycz0iMSIgdHlwZT0ieHM6Ym9vbGVhbiIgbmFtZT0iSGFzVHJhbnNmZXJhYmxlRGF0YU9uR\n        mlsZSIvPgogICA8eHM6ZWxlbWVudCBtaW5PY2N1cnM9IjAiIG1heE9jY3Vycz0iMSIgdHlwZ\n        T0ieHM6Ym9vbGVhbiIgbmFtZT0iSXNQYXJ0aWFsIi8+CiAgIDx4czplbGVtZW50IG1pbk9jY\n        3Vycz0iMCIgbWF4T2NjdXJzPSIxIiB0eXBlPSJ4czpib29sZWFuIiBuYW1lPSJJc1NpbXVsY\n        XRlZCIvPgogICA8eHM6ZWxlbWVudCBtaW5PY2N1cnM9IjAiIG1heE9jY3Vycz0iMSIgdHlwZ\n        T0ieHM6aW50IiBuYW1lPSJSZXN1bHRTdGF0ZSIvPgogICA8eHM6ZWxlbWVudCBtaW5PY2N1c\n        nM9IjAiIG1heE9jY3Vycz0iMSIgdHlwZT0idG5zOk1lYXNJZERhdGFUeXBlIiBuYW1lPSJNZ\n        WFzSWQiLz4KICAgPHhzOmVsZW1lbnQgbWluT2NjdXJzPSIwIiBtYXhPY2N1cnM9IjEiIHR5c\n        GU9InRuczpQYXJ0SWREYXRhVHlwZSIgbmFtZT0iUGFydElkIi8+CiAgIDx4czplbGVtZW50I\n        G1pbk9jY3Vycz0iMCIgbWF4T2NjdXJzPSIxIiB0eXBlPSJ0bnM6UmVjaXBlSWRFeHRlcm5hb\n        ERhdGFUeXBlIiBuYW1lPSJFeHRlcm5hbFJlY2lwZUlkIi8+CiAgIDx4czplbGVtZW50IG1pb\n        k9jY3Vycz0iMCIgbWF4T2NjdXJzPSIxIiB0eXBlPSJ0bnM6UmVjaXBlSWRJbnRlcm5hbERhd\n        GFUeXBlIiBuYW1lPSJJbnRlcm5hbFJlY2lwZUlkIi8+CiAgIDx4czplbGVtZW50IG1pbk9jY\n        3Vycz0iMCIgbWF4T2NjdXJzPSIxIiB0eXBlPSJ0bnM6UHJvZHVjdElkRGF0YVR5cGUiIG5hb\n        WU9IlByb2R1Y3RJZCIvPgogICA8eHM6ZWxlbWVudCBtaW5PY2N1cnM9IjAiIG1heE9jY3Vyc\n        z0iMSIgdHlwZT0idG5zOkNvbmZpZ3VyYXRpb25JZERhdGFUeXBlIiBuYW1lPSJFeHRlcm5hb\n        ENvbmZpZ3VyYXRpb25JZCIvPgogICA8eHM6ZWxlbWVudCBtaW5PY2N1cnM9IjAiIG1heE9jY\n        3Vycz0iMSIgdHlwZT0idG5zOkNvbmZpZ3VyYXRpb25JZERhdGFUeXBlIiBuYW1lPSJJbnRlc\n        m5hbENvbmZpZ3VyYXRpb25JZCIvPgogICA8eHM6ZWxlbWVudCBtaW5PY2N1cnM9IjAiIG1he\n        E9jY3Vycz0iMSIgdHlwZT0idG5zOkpvYklkRGF0YVR5cGUiIG5hbWU9IkpvYklkIi8+CiAgI\n        Dx4czplbGVtZW50IG1pbk9jY3Vycz0iMCIgbWF4T2NjdXJzPSIxIiB0eXBlPSJ4czpkYXRlV\n        GltZSIgbmFtZT0iQ3JlYXRpb25UaW1lIi8+CiAgIDx4czplbGVtZW50IG1pbk9jY3Vycz0iM\n        CIgbWF4T2NjdXJzPSIxIiB0eXBlPSJ0bnM6UHJvY2Vzc2luZ1RpbWVzRGF0YVR5cGUiIG5hb\n        WU9IlByb2Nlc3NpbmdUaW1lcyIvPgogICA8eHM6ZWxlbWVudCBtaW5PY2N1cnM9IjAiIG1he\n        E9jY3Vycz0iMSIgdHlwZT0idWE6TGlzdE9mVmFyaWFudCIgbmFtZT0iUmVzdWx0Q29udGVud\n        CIvPgogIDwveHM6c2VxdWVuY2U+CiA8L3hzOmNvbXBsZXhUeXBlPgogPHhzOmVsZW1lbnQgd\n        HlwZT0idG5zOlJlc3VsdERhdGFUeXBlIiBuYW1lPSJSZXN1bHREYXRhVHlwZSIvPgogPHhzO\n        mNvbXBsZXhUeXBlIG5hbWU9Ikxpc3RPZlJlc3VsdERhdGFUeXBlIj4KICA8eHM6c2VxdWVuY\n        2U+CiAgIDx4czplbGVtZW50IG1pbk9jY3Vycz0iMCIgbWF4T2NjdXJzPSJ1bmJvdW5kZWQiI\n        HR5cGU9InRuczpSZXN1bHREYXRhVHlwZSIgbmFtZT0iUmVzdWx0RGF0YVR5cGUiIG5pbGxhY\n        mxlPSJ0cnVlIi8+CiAgPC94czpzZXF1ZW5jZT4KIDwveHM6Y29tcGxleFR5cGU+CiA8eHM6Z\n        WxlbWVudCB0eXBlPSJ0bnM6TGlzdE9mUmVzdWx0RGF0YVR5cGUiIG5hbWU9Ikxpc3RPZlJlc\n        3VsdERhdGFUeXBlIiBuaWxsYWJsZT0idHJ1ZSIvPgogPHhzOmNvbXBsZXhUeXBlIG5hbWU9I\n        lJlc3VsdElkRGF0YVR5cGUiPgogIDx4czpzZXF1ZW5jZT4KICAgPHhzOmVsZW1lbnQgbWluT\n        2NjdXJzPSIwIiBtYXhPY2N1cnM9IjEiIHR5cGU9InhzOnN0cmluZyIgbmFtZT0iSWQiLz4KI\n        CA8L3hzOnNlcXVlbmNlPgogPC94czpjb21wbGV4VHlwZT4KIDx4czplbGVtZW50IHR5cGU9I\n        nRuczpSZXN1bHRJZERhdGFUeXBlIiBuYW1lPSJSZXN1bHRJZERhdGFUeXBlIi8+CiA8eHM6Y\n        29tcGxleFR5cGUgbmFtZT0iTGlzdE9mUmVzdWx0SWREYXRhVHlwZSI+CiAgPHhzOnNlcXVlb\n        mNlPgogICA8eHM6ZWxlbWVudCBtaW5PY2N1cnM9IjAiIG1heE9jY3Vycz0idW5ib3VuZGVkI\n        iB0eXBlPSJ0bnM6UmVzdWx0SWREYXRhVHlwZSIgbmFtZT0iUmVzdWx0SWREYXRhVHlwZSIgb\n        mlsbGFibGU9InRydWUiLz4KICA8L3hzOnNlcXVlbmNlPgogPC94czpjb21wbGV4VHlwZT4KI\n        Dx4czplbGVtZW50IHR5cGU9InRuczpMaXN0T2ZSZXN1bHRJZERhdGFUeXBlIiBuYW1lPSJMa\n        XN0T2ZSZXN1bHRJZERhdGFUeXBlIiBuaWxsYWJsZT0idHJ1ZSIvPgogPHhzOmNvbXBsZXhUe\n        XBlIG5hbWU9IlJlc3VsdFRyYW5zZmVyT3B0aW9ucyI+CiAgPHhzOnNlcXVlbmNlPgogICA8e\n        HM6ZWxlbWVudCBtaW5PY2N1cnM9IjAiIG1heE9jY3Vycz0iMSIgdHlwZT0idG5zOlJlc3Vsd\n        ElkRGF0YVR5cGUiIG5hbWU9IklkIi8+CiAgPC94czpzZXF1ZW5jZT4KIDwveHM6Y29tcGxle\n        FR5cGU+CiA8eHM6ZWxlbWVudCB0eXBlPSJ0bnM6UmVzdWx0VHJhbnNmZXJPcHRpb25zIiBuY\n        W1lPSJSZXN1bHRUcmFuc2Zlck9wdGlvbnMiLz4KIDx4czpjb21wbGV4VHlwZSBuYW1lPSJMa\n        XN0T2ZSZXN1bHRUcmFuc2Zlck9wdGlvbnMiPgogIDx4czpzZXF1ZW5jZT4KICAgPHhzOmVsZ\n        W1lbnQgbWluT2NjdXJzPSIwIiBtYXhPY2N1cnM9InVuYm91bmRlZCIgdHlwZT0idG5zOlJlc\n        3VsdFRyYW5zZmVyT3B0aW9ucyIgbmFtZT0iUmVzdWx0VHJhbnNmZXJPcHRpb25zIiBuaWxsY\n        WJsZT0idHJ1ZSIvPgogIDwveHM6c2VxdWVuY2U+CiA8L3hzOmNvbXBsZXhUeXBlPgogPHhzO\n        mVsZW1lbnQgdHlwZT0idG5zOkxpc3RPZlJlc3VsdFRyYW5zZmVyT3B0aW9ucyIgbmFtZT0iT\n        GlzdE9mUmVzdWx0VHJhbnNmZXJPcHRpb25zIiBuaWxsYWJsZT0idHJ1ZSIvPgogPHhzOmNvb\n        XBsZXhUeXBlIG5hbWU9IlN5c3RlbVN0YXRlRGVzY3JpcHRpb25EYXRhVHlwZSI+CiAgPHhzO\n        nNlcXVlbmNlPgogICA8eHM6ZWxlbWVudCBtaW5PY2N1cnM9IjAiIHR5cGU9InhzOnVuc2lnb\n        mVkSW50IiBuYW1lPSJFbmNvZGluZ01hc2siLz4KICAgPHhzOmVsZW1lbnQgbWluT2NjdXJzP\n        SIwIiBtYXhPY2N1cnM9IjEiIHR5cGU9InRuczpTeXN0ZW1TdGF0ZURhdGFUeXBlIiBuYW1lP\n        SJTdGF0ZSIvPgogICA8eHM6ZWxlbWVudCBtaW5PY2N1cnM9IjAiIG1heE9jY3Vycz0iMSIgd\n        HlwZT0ieHM6c3RyaW5nIiBuYW1lPSJTdGF0ZURlc2NyaXB0aW9uIi8+CiAgPC94czpzZXF1Z\n        W5jZT4KIDwveHM6Y29tcGxleFR5cGU+CiA8eHM6ZWxlbWVudCB0eXBlPSJ0bnM6U3lzdGVtU\n        3RhdGVEZXNjcmlwdGlvbkRhdGFUeXBlIiBuYW1lPSJTeXN0ZW1TdGF0ZURlc2NyaXB0aW9uR\n        GF0YVR5cGUiLz4KIDx4czpjb21wbGV4VHlwZSBuYW1lPSJMaXN0T2ZTeXN0ZW1TdGF0ZURlc\n        2NyaXB0aW9uRGF0YVR5cGUiPgogIDx4czpzZXF1ZW5jZT4KICAgPHhzOmVsZW1lbnQgbWluT\n        2NjdXJzPSIwIiBtYXhPY2N1cnM9InVuYm91bmRlZCIgdHlwZT0idG5zOlN5c3RlbVN0YXRlR\n        GVzY3JpcHRpb25EYXRhVHlwZSIgbmFtZT0iU3lzdGVtU3RhdGVEZXNjcmlwdGlvbkRhdGFUe\n        XBlIiBuaWxsYWJsZT0idHJ1ZSIvPgogIDwveHM6c2VxdWVuY2U+CiA8L3hzOmNvbXBsZXhUe\n        XBlPgogPHhzOmVsZW1lbnQgdHlwZT0idG5zOkxpc3RPZlN5c3RlbVN0YXRlRGVzY3JpcHRpb\n        25EYXRhVHlwZSIgbmFtZT0iTGlzdE9mU3lzdGVtU3RhdGVEZXNjcmlwdGlvbkRhdGFUeXBlI\n        iBuaWxsYWJsZT0idHJ1ZSIvPgo8L3hzOnNjaGVtYT4K</uax:ByteString>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=6020\" BrowseName=\"NamespaceUri\" ParentNodeId=\"ns=1;i=6003\" DataType=\"String\">\n    <DisplayName>NamespaceUri</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=6003</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n    </References>\n    <Value>\n      <uax:String xmlns:uax=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">http://opcfoundation.org/UA/MachineVision/Types.xsd</uax:String>\n    </Value>\n  </UAVariable>\n  <UAReferenceType NodeId=\"ns=1;i=4002\" BrowseName=\"1:FromTransition\">\n    <DisplayName>FromTransition</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=32</Reference>\n    </References>\n  </UAReferenceType>\n  <UAReferenceType NodeId=\"ns=1;i=4003\" BrowseName=\"1:ToTransition\">\n    <DisplayName>ToTransition</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=32</Reference>\n    </References>\n  </UAReferenceType>\n  <UAVariableType NodeId=\"ns=1;i=2002\" BrowseName=\"1:ResultType\" DataType=\"ResultDataType\">\n    <DisplayName>ResultType</DisplayName>\n    <Documentation>https://reference.opcfoundation.org/v104/MachineVision/v100/docs/9.1</Documentation>\n    <References>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=6331</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=6328</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=6095</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=6047</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=6329</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=6284</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=6052</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=6053</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=6330</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=6055</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=6094</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=6332</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=6327</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=6333</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=6046</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=6054</Reference>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=63</Reference>\n    </References>\n    <Value>\n      <uax:ExtensionObject xmlns:uax=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <uax:TypeId>\n          <uax:Identifier>ns=1;i=5019</uax:Identifier>\n        </uax:TypeId>\n        <uax:Body>\n          <ResultDataType xmlns=\"http://opcfoundation.org/UA/MachineVision/Types.xsd\">\n            <EncodingMask>0</EncodingMask>\n            <ResultId>\n              <Id>\n              </Id>\n            </ResultId>\n            <IsPartial>false</IsPartial>\n            <ResultState>0</ResultState>\n            <InternalRecipeId>\n              <Id>\n              </Id>\n            </InternalRecipeId>\n            <InternalConfigurationId>\n              <Id>\n              </Id>\n            </InternalConfigurationId>\n            <JobId>\n              <Id>\n              </Id>\n            </JobId>\n            <CreationTime>1900-01-01T00:00:00Z</CreationTime>\n          </ResultDataType>\n        </uax:Body>\n      </uax:ExtensionObject>\n    </Value>\n  </UAVariableType>\n  <UAVariable NodeId=\"ns=1;i=6331\" BrowseName=\"1:CreationTime\" ParentNodeId=\"ns=1;i=2002\" DataType=\"UtcTime\" AccessLevel=\"3\">\n    <DisplayName>CreationTime</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=63</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=2002</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=6328\" BrowseName=\"1:ExternalConfigurationId\" ParentNodeId=\"ns=1;i=2002\" DataType=\"ConfigurationIdDataType\" AccessLevel=\"3\">\n    <DisplayName>ExternalConfigurationId</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=63</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=2002</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=80</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=6095\" BrowseName=\"1:ExternalRecipeId\" ParentNodeId=\"ns=1;i=2002\" DataType=\"RecipeIdExternalDataType\" AccessLevel=\"3\">\n    <DisplayName>ExternalRecipeId</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=63</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=2002</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=80</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=6047\" BrowseName=\"1:HasTransferableDataOnFile\" ParentNodeId=\"ns=1;i=2002\" DataType=\"Boolean\" AccessLevel=\"3\">\n    <DisplayName>HasTransferableDataOnFile</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=63</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=2002</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=80</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=6329\" BrowseName=\"1:InternalConfigurationId\" ParentNodeId=\"ns=1;i=2002\" DataType=\"ConfigurationIdDataType\" AccessLevel=\"3\">\n    <DisplayName>InternalConfigurationId</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=63</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=2002</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=6284\" BrowseName=\"1:InternalRecipeId\" ParentNodeId=\"ns=1;i=2002\" DataType=\"RecipeIdInternalDataType\" AccessLevel=\"3\">\n    <DisplayName>InternalRecipeId</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=63</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=2002</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=6052\" BrowseName=\"1:IsPartial\" ParentNodeId=\"ns=1;i=2002\" DataType=\"Boolean\" AccessLevel=\"3\">\n    <DisplayName>IsPartial</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=63</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=2002</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=6053\" BrowseName=\"1:IsSimulated\" ParentNodeId=\"ns=1;i=2002\" DataType=\"Boolean\" AccessLevel=\"3\">\n    <DisplayName>IsSimulated</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=63</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=2002</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=80</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=6330\" BrowseName=\"1:JobId\" ParentNodeId=\"ns=1;i=2002\" DataType=\"JobIdDataType\" AccessLevel=\"3\">\n    <DisplayName>JobId</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=63</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=2002</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=6055\" BrowseName=\"1:MeasId\" ParentNodeId=\"ns=1;i=2002\" DataType=\"MeasIdDataType\" AccessLevel=\"3\">\n    <DisplayName>MeasId</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=63</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=2002</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=80</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=6094\" BrowseName=\"1:PartId\" ParentNodeId=\"ns=1;i=2002\" DataType=\"PartIdDataType\" AccessLevel=\"3\">\n    <DisplayName>PartId</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=63</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=80</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=2002</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=6332\" BrowseName=\"1:ProcessingTimes\" ParentNodeId=\"ns=1;i=2002\" DataType=\"ProcessingTimesDataType\" AccessLevel=\"3\">\n    <DisplayName>ProcessingTimes</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=63</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=80</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=2002</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=6327\" BrowseName=\"1:ProductId\" ParentNodeId=\"ns=1;i=2002\" DataType=\"ProductIdDataType\" AccessLevel=\"3\">\n    <DisplayName>ProductId</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=63</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=80</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=2002</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=6333\" BrowseName=\"1:ResultContent\" ParentNodeId=\"ns=1;i=2002\" ValueRank=\"1\" ArrayDimensions=\"1\" AccessLevel=\"3\">\n    <DisplayName>ResultContent</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=63</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=80</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=2002</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=6046\" BrowseName=\"1:ResultId\" ParentNodeId=\"ns=1;i=2002\" DataType=\"ResultIdDataType\" AccessLevel=\"3\">\n    <DisplayName>ResultId</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=63</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=2002</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=6054\" BrowseName=\"1:ResultState\" ParentNodeId=\"ns=1;i=2002\" DataType=\"ResultStateDataType\" AccessLevel=\"3\">\n    <DisplayName>ResultState</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=63</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=2002</Reference>\n    </References>\n  </UAVariable>\n  <UAObjectType NodeId=\"ns=1;i=1025\" BrowseName=\"1:AcquisitionDoneEventType\">\n    <DisplayName>AcquisitionDoneEventType</DisplayName>\n    <Documentation>https://reference.opcfoundation.org/v104/MachineVision/v100/docs/8.3.8/#8.3.8.5</Documentation>\n    <References>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=2041</Reference>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=6308</Reference>\n    </References>\n  </UAObjectType>\n  <UAVariable NodeId=\"ns=1;i=6308\" BrowseName=\"1:JobId\" ParentNodeId=\"ns=1;i=1025\" DataType=\"JobIdDataType\" AccessLevel=\"3\">\n    <DisplayName>JobId</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=1025</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n    </References>\n    <Value>\n      <uax:ExtensionObject xmlns:uax=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <uax:TypeId>\n          <uax:Identifier>ns=1;i=5026</uax:Identifier>\n        </uax:TypeId>\n        <uax:Body>\n          <JobIdDataType xmlns=\"http://opcfoundation.org/UA/MachineVision/Types.xsd\">\n            <Id>\n            </Id>\n          </JobIdDataType>\n        </uax:Body>\n      </uax:ExtensionObject>\n    </Value>\n  </UAVariable>\n  <UAObjectType NodeId=\"ns=1;i=1033\" BrowseName=\"1:VisionConditionType\" IsAbstract=\"true\">\n    <DisplayName>VisionConditionType</DisplayName>\n    <Documentation>https://reference.opcfoundation.org/v104/MachineVision/v100/docs/11.4.4/#11.4.4.1</Documentation>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=6206</Reference>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=6207</Reference>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=6208</Reference>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=6283</Reference>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=6347</Reference>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=6346</Reference>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=6192</Reference>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=6321</Reference>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=6343</Reference>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=6344</Reference>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=6307</Reference>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=6323</Reference>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=6345</Reference>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=6293</Reference>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=2881</Reference>\n    </References>\n  </UAObjectType>\n  <UAVariable NodeId=\"ns=1;i=6206\" BrowseName=\"1:BlockReaction\" ParentNodeId=\"ns=1;i=1033\" DataType=\"Boolean\" AccessLevel=\"3\">\n    <DisplayName>BlockReaction</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=1033</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=6207\" BrowseName=\"1:CausePath\" ParentNodeId=\"ns=1;i=1033\" DataType=\"String\" AccessLevel=\"3\">\n    <DisplayName>CausePath</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=1033</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=80</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=6208\" BrowseName=\"1:ErrorCode\" ParentNodeId=\"ns=1;i=1033\" DataType=\"UInt64\" AccessLevel=\"3\">\n    <DisplayName>ErrorCode</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=1033</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=80</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=6283\" BrowseName=\"1:ErrorString\" ParentNodeId=\"ns=1;i=1033\" DataType=\"String\" AccessLevel=\"3\">\n    <DisplayName>ErrorString</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=1033</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=80</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=6347\" BrowseName=\"1:ExternalConfigurationId\" ParentNodeId=\"ns=1;i=1033\" DataType=\"ConfigurationIdDataType\" AccessLevel=\"3\">\n    <DisplayName>ExternalConfigurationId</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=1033</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=80</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=6346\" BrowseName=\"1:ExternalRecipeId\" ParentNodeId=\"ns=1;i=1033\" DataType=\"RecipeIdExternalDataType\" AccessLevel=\"3\">\n    <DisplayName>ExternalRecipeId</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=1033</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=80</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=6192\" BrowseName=\"1:InternalConfigurationId\" ParentNodeId=\"ns=1;i=1033\" DataType=\"ConfigurationIdDataType\" AccessLevel=\"3\">\n    <DisplayName>InternalConfigurationId</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=1033</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=80</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=6321\" BrowseName=\"1:InternalRecipeId\" ParentNodeId=\"ns=1;i=1033\" DataType=\"RecipeIdInternalDataType\" AccessLevel=\"3\">\n    <DisplayName>InternalRecipeId</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=1033</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=80</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=6343\" BrowseName=\"1:JobId\" ParentNodeId=\"ns=1;i=1033\" DataType=\"JobIdDataType\" AccessLevel=\"3\">\n    <DisplayName>JobId</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=1033</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=80</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n    </References>\n    <Value>\n      <uax:ExtensionObject xmlns:uax=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <uax:TypeId>\n          <uax:Identifier>ns=1;i=5026</uax:Identifier>\n        </uax:TypeId>\n        <uax:Body>\n          <JobIdDataType xmlns=\"http://opcfoundation.org/UA/MachineVision/Types.xsd\">\n            <Id>\n            </Id>\n          </JobIdDataType>\n        </uax:Body>\n      </uax:ExtensionObject>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=6344\" BrowseName=\"1:MeasId\" ParentNodeId=\"ns=1;i=1033\" DataType=\"MeasIdDataType\" AccessLevel=\"3\">\n    <DisplayName>MeasId</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=1033</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=80</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n    </References>\n    <Value>\n      <uax:ExtensionObject xmlns:uax=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <uax:TypeId>\n          <uax:Identifier>ns=1;i=5007</uax:Identifier>\n        </uax:TypeId>\n        <uax:Body>\n          <MeasIdDataType xmlns=\"http://opcfoundation.org/UA/MachineVision/Types.xsd\">\n            <EncodingMask>0</EncodingMask>\n            <Id>\n            </Id>\n          </MeasIdDataType>\n        </uax:Body>\n      </uax:ExtensionObject>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=6307\" BrowseName=\"1:PartId\" ParentNodeId=\"ns=1;i=1033\" DataType=\"PartIdDataType\" AccessLevel=\"3\">\n    <DisplayName>PartId</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasModellingRule\">i=80</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=1033</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n    </References>\n    <Value>\n      <uax:ExtensionObject xmlns:uax=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <uax:TypeId>\n          <uax:Identifier>ns=1;i=5014</uax:Identifier>\n        </uax:TypeId>\n        <uax:Body>\n          <PartIdDataType xmlns=\"http://opcfoundation.org/UA/MachineVision/Types.xsd\">\n            <EncodingMask>0</EncodingMask>\n            <Id>\n            </Id>\n          </PartIdDataType>\n        </uax:Body>\n      </uax:ExtensionObject>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=6323\" BrowseName=\"1:ProductId\" ParentNodeId=\"ns=1;i=1033\" DataType=\"ProductIdDataType\" AccessLevel=\"3\">\n    <DisplayName>ProductId</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasModellingRule\">i=80</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=1033</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n    </References>\n    <Value>\n      <uax:ExtensionObject xmlns:uax=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <uax:TypeId>\n          <uax:Identifier>ns=1;i=5225</uax:Identifier>\n        </uax:TypeId>\n        <uax:Body>\n          <ProductIdDataType xmlns=\"http://opcfoundation.org/UA/MachineVision/Types.xsd\">\n            <EncodingMask>0</EncodingMask>\n            <Id>\n            </Id>\n          </ProductIdDataType>\n        </uax:Body>\n      </uax:ExtensionObject>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=6345\" BrowseName=\"1:ResultId\" ParentNodeId=\"ns=1;i=1033\" DataType=\"ResultIdDataType\" AccessLevel=\"3\">\n    <DisplayName>ResultId</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasModellingRule\">i=80</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=1033</Reference>\n    </References>\n    <Value>\n      <uax:ExtensionObject xmlns:uax=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <uax:TypeId>\n          <uax:Identifier>ns=1;i=5275</uax:Identifier>\n        </uax:TypeId>\n        <uax:Body>\n          <ResultIdDataType xmlns=\"http://opcfoundation.org/UA/MachineVision/Types.xsd\">\n            <Id>\n            </Id>\n          </ResultIdDataType>\n        </uax:Body>\n      </uax:ExtensionObject>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=6293\" BrowseName=\"1:StopReaction\" ParentNodeId=\"ns=1;i=1033\" DataType=\"Boolean\" AccessLevel=\"3\">\n    <DisplayName>StopReaction</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=1033</Reference>\n    </References>\n  </UAVariable>\n  <UAObjectType NodeId=\"ns=1;i=1035\" BrowseName=\"1:VisionErrorConditionType\">\n    <DisplayName>VisionErrorConditionType</DisplayName>\n    <Documentation>https://reference.opcfoundation.org/v104/MachineVision/v100/docs/11.4.6</Documentation>\n    <References>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">ns=1;i=1033</Reference>\n    </References>\n  </UAObjectType>\n  <UAObjectType NodeId=\"ns=1;i=1036\" BrowseName=\"1:VisionPersistentErrorConditionType\">\n    <DisplayName>VisionPersistentErrorConditionType</DisplayName>\n    <Documentation>https://reference.opcfoundation.org/v104/MachineVision/v100/docs/11.4.7</Documentation>\n    <References>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">ns=1;i=1033</Reference>\n    </References>\n  </UAObjectType>\n  <UAObjectType NodeId=\"ns=1;i=1034\" BrowseName=\"1:VisionWarningConditionType\">\n    <DisplayName>VisionWarningConditionType</DisplayName>\n    <Documentation>https://reference.opcfoundation.org/v104/MachineVision/v100/docs/11.4.5</Documentation>\n    <References>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">ns=1;i=1033</Reference>\n    </References>\n  </UAObjectType>\n  <UAObjectType NodeId=\"ns=1;i=1027\" BrowseName=\"1:EnterStepSequenceEventType\">\n    <DisplayName>EnterStepSequenceEventType</DisplayName>\n    <Documentation>https://reference.opcfoundation.org/v104/MachineVision/v100/docs/8.4.7/#8.4.7.1</Documentation>\n    <References>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=2041</Reference>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=6322</Reference>\n      <Reference ReferenceType=\"HasEffect\" IsForward=\"false\">ns=1;i=5083</Reference>\n    </References>\n  </UAObjectType>\n  <UAVariable NodeId=\"ns=1;i=6322\" BrowseName=\"1:Steps\" ParentNodeId=\"ns=1;i=1027\" DataType=\"Int32\" AccessLevel=\"3\">\n    <DisplayName>Steps</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=1027</Reference>\n    </References>\n  </UAVariable>\n  <UAObjectType NodeId=\"ns=1;i=1013\" BrowseName=\"1:JobStartedEventType\">\n    <DisplayName>JobStartedEventType</DisplayName>\n    <Documentation>https://reference.opcfoundation.org/v104/MachineVision/v100/docs/8.3.8/#8.3.8.2</Documentation>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=6141</Reference>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=2041</Reference>\n      <Reference ReferenceType=\"HasEffect\" IsForward=\"false\">ns=1;i=5064</Reference>\n      <Reference ReferenceType=\"HasEffect\" IsForward=\"false\">ns=1;i=5065</Reference>\n      <Reference ReferenceType=\"HasEffect\" IsForward=\"false\">ns=1;i=5066</Reference>\n      <Reference ReferenceType=\"HasEffect\" IsForward=\"false\">ns=1;i=5067</Reference>\n    </References>\n  </UAObjectType>\n  <UAVariable NodeId=\"ns=1;i=6141\" BrowseName=\"1:JobId\" ParentNodeId=\"ns=1;i=1013\" DataType=\"JobIdDataType\" AccessLevel=\"3\">\n    <DisplayName>JobId</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=1013</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n    </References>\n    <Value>\n      <uax:ExtensionObject xmlns:uax=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <uax:TypeId>\n          <uax:Identifier>ns=1;i=5026</uax:Identifier>\n        </uax:TypeId>\n        <uax:Body>\n          <JobIdDataType xmlns=\"http://opcfoundation.org/UA/MachineVision/Types.xsd\">\n            <Id>\n            </Id>\n          </JobIdDataType>\n        </uax:Body>\n      </uax:ExtensionObject>\n    </Value>\n  </UAVariable>\n  <UAObjectType NodeId=\"ns=1;i=1029\" BrowseName=\"1:LeaveStepSequenceEventType\">\n    <DisplayName>LeaveStepSequenceEventType</DisplayName>\n    <Documentation>https://reference.opcfoundation.org/v104/MachineVision/v100/docs/8.4.7/#8.4.7.3</Documentation>\n    <References>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=2041</Reference>\n      <Reference ReferenceType=\"HasEffect\" IsForward=\"false\">ns=1;i=5087</Reference>\n    </References>\n  </UAObjectType>\n  <UAObjectType NodeId=\"ns=1;i=1028\" BrowseName=\"1:NextStepEventType\">\n    <DisplayName>NextStepEventType</DisplayName>\n    <Documentation>https://reference.opcfoundation.org/v104/MachineVision/v100/docs/8.4.7/#8.4.7.2</Documentation>\n    <References>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=2041</Reference>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=6324</Reference>\n      <Reference ReferenceType=\"HasEffect\" IsForward=\"false\">ns=1;i=5086</Reference>\n    </References>\n  </UAObjectType>\n  <UAVariable NodeId=\"ns=1;i=6324\" BrowseName=\"1:Step\" ParentNodeId=\"ns=1;i=1028\" DataType=\"Int32\" AccessLevel=\"3\">\n    <DisplayName>Step</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=1028</Reference>\n    </References>\n  </UAVariable>\n  <UAObjectType NodeId=\"ns=1;i=1023\" BrowseName=\"1:ReadyEventType\">\n    <DisplayName>ReadyEventType</DisplayName>\n    <Documentation>https://reference.opcfoundation.org/v104/MachineVision/v100/docs/8.3.8/#8.3.8.3</Documentation>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=6294</Reference>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=2041</Reference>\n      <Reference ReferenceType=\"HasEffect\" IsForward=\"false\">ns=1;i=5068</Reference>\n      <Reference ReferenceType=\"HasEffect\" IsForward=\"false\">ns=1;i=5069</Reference>\n      <Reference ReferenceType=\"HasEffect\" IsForward=\"false\">ns=1;i=5070</Reference>\n      <Reference ReferenceType=\"HasEffect\" IsForward=\"false\">ns=1;i=5071</Reference>\n      <Reference ReferenceType=\"HasEffect\" IsForward=\"false\">ns=1;i=5072</Reference>\n      <Reference ReferenceType=\"HasEffect\" IsForward=\"false\">ns=1;i=5073</Reference>\n    </References>\n  </UAObjectType>\n  <UAVariable NodeId=\"ns=1;i=6294\" BrowseName=\"1:JobId\" ParentNodeId=\"ns=1;i=1023\" DataType=\"JobIdDataType\" AccessLevel=\"3\">\n    <DisplayName>JobId</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=1023</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n    </References>\n    <Value>\n      <uax:ExtensionObject xmlns:uax=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <uax:TypeId>\n          <uax:Identifier>ns=1;i=5026</uax:Identifier>\n        </uax:TypeId>\n        <uax:Body>\n          <JobIdDataType xmlns=\"http://opcfoundation.org/UA/MachineVision/Types.xsd\">\n            <Id>\n            </Id>\n          </JobIdDataType>\n        </uax:Body>\n      </uax:ExtensionObject>\n    </Value>\n  </UAVariable>\n  <UAObjectType NodeId=\"ns=1;i=1022\" BrowseName=\"1:RecipePreparedEventType\">\n    <DisplayName>RecipePreparedEventType</DisplayName>\n    <Documentation>https://reference.opcfoundation.org/v104/MachineVision/v100/docs/8.3.8/#8.3.8.1</Documentation>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=6291</Reference>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=6140</Reference>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=6292</Reference>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=2041</Reference>\n      <Reference ReferenceType=\"HasEffect\" IsForward=\"false\">ns=1;i=5045</Reference>\n      <Reference ReferenceType=\"HasEffect\" IsForward=\"false\">ns=1;i=5060</Reference>\n    </References>\n  </UAObjectType>\n  <UAVariable NodeId=\"ns=1;i=6291\" BrowseName=\"1:ExternalId\" ParentNodeId=\"ns=1;i=1022\" DataType=\"RecipeIdExternalDataType\" AccessLevel=\"3\">\n    <DisplayName>ExternalId</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=1022</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=80</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=6140\" BrowseName=\"1:InternalId\" ParentNodeId=\"ns=1;i=1022\" DataType=\"RecipeIdInternalDataType\" AccessLevel=\"3\">\n    <DisplayName>InternalId</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=1022</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=6292\" BrowseName=\"1:ProductId\" ParentNodeId=\"ns=1;i=1022\" DataType=\"ProductIdDataType\" AccessLevel=\"3\">\n    <DisplayName>ProductId</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasModellingRule\">i=80</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=1022</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n    </References>\n    <Value>\n      <uax:ExtensionObject xmlns:uax=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <uax:TypeId>\n          <uax:Identifier>ns=1;i=5225</uax:Identifier>\n        </uax:TypeId>\n        <uax:Body>\n          <ProductIdDataType xmlns=\"http://opcfoundation.org/UA/MachineVision/Types.xsd\">\n            <EncodingMask>0</EncodingMask>\n            <Id>\n            </Id>\n          </ProductIdDataType>\n        </uax:Body>\n      </uax:ExtensionObject>\n    </Value>\n  </UAVariable>\n  <UAObjectType NodeId=\"ns=1;i=1024\" BrowseName=\"1:ResultReadyEventType\">\n    <DisplayName>ResultReadyEventType</DisplayName>\n    <Documentation>https://reference.opcfoundation.org/v104/MachineVision/v100/docs/8.3.8/#8.3.8.4</Documentation>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=6303</Reference>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=6045</Reference>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=6301</Reference>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=6142</Reference>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=6302</Reference>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=6296</Reference>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=6297</Reference>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=6300</Reference>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=6299</Reference>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=6304</Reference>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=6305</Reference>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=6143</Reference>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=6306</Reference>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=6295</Reference>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=2041</Reference>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=6298</Reference>\n    </References>\n  </UAObjectType>\n  <UAVariable NodeId=\"ns=1;i=6303\" BrowseName=\"1:CreationTime\" ParentNodeId=\"ns=1;i=1024\" DataType=\"UtcTime\" AccessLevel=\"3\">\n    <DisplayName>CreationTime</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=1024</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=6045\" BrowseName=\"1:ExternalConfigurationId\" ParentNodeId=\"ns=1;i=1024\" DataType=\"ConfigurationIdDataType\" AccessLevel=\"3\">\n    <DisplayName>ExternalConfigurationId</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=1024</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=80</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=6301\" BrowseName=\"1:ExternalRecipeId\" ParentNodeId=\"ns=1;i=1024\" DataType=\"RecipeIdExternalDataType\" AccessLevel=\"3\">\n    <DisplayName>ExternalRecipeId</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=1024</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=80</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=6142\" BrowseName=\"1:InternalConfigurationId\" ParentNodeId=\"ns=1;i=1024\" DataType=\"ConfigurationIdDataType\" AccessLevel=\"3\">\n    <DisplayName>InternalConfigurationId</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=1024</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=6302\" BrowseName=\"1:InternalRecipeId\" ParentNodeId=\"ns=1;i=1024\" DataType=\"RecipeIdInternalDataType\" AccessLevel=\"3\">\n    <DisplayName>InternalRecipeId</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=1024</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=6296\" BrowseName=\"1:IsPartial\" ParentNodeId=\"ns=1;i=1024\" DataType=\"Boolean\" AccessLevel=\"3\">\n    <DisplayName>IsPartial</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=1024</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=6297\" BrowseName=\"1:IsSimulated\" ParentNodeId=\"ns=1;i=1024\" DataType=\"Boolean\" AccessLevel=\"3\">\n    <DisplayName>IsSimulated</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=1024</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=80</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=6300\" BrowseName=\"1:JobId\" ParentNodeId=\"ns=1;i=1024\" DataType=\"JobIdDataType\" AccessLevel=\"3\">\n    <DisplayName>JobId</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=1024</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n    </References>\n    <Value>\n      <uax:ExtensionObject xmlns:uax=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <uax:TypeId>\n          <uax:Identifier>ns=1;i=5026</uax:Identifier>\n        </uax:TypeId>\n        <uax:Body>\n          <JobIdDataType xmlns=\"http://opcfoundation.org/UA/MachineVision/Types.xsd\">\n            <Id>\n            </Id>\n          </JobIdDataType>\n        </uax:Body>\n      </uax:ExtensionObject>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=6299\" BrowseName=\"1:MeasId\" ParentNodeId=\"ns=1;i=1024\" DataType=\"MeasIdDataType\" AccessLevel=\"3\">\n    <DisplayName>MeasId</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=1024</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=80</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n    </References>\n    <Value>\n      <uax:ExtensionObject xmlns:uax=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <uax:TypeId>\n          <uax:Identifier>ns=1;i=5007</uax:Identifier>\n        </uax:TypeId>\n        <uax:Body>\n          <MeasIdDataType xmlns=\"http://opcfoundation.org/UA/MachineVision/Types.xsd\">\n            <EncodingMask>0</EncodingMask>\n            <Id>\n            </Id>\n          </MeasIdDataType>\n        </uax:Body>\n      </uax:ExtensionObject>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=6304\" BrowseName=\"1:PartId\" ParentNodeId=\"ns=1;i=1024\" DataType=\"PartIdDataType\" AccessLevel=\"3\">\n    <DisplayName>PartId</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasModellingRule\">i=80</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=1024</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n    </References>\n    <Value>\n      <uax:ExtensionObject xmlns:uax=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <uax:TypeId>\n          <uax:Identifier>ns=1;i=5014</uax:Identifier>\n        </uax:TypeId>\n        <uax:Body>\n          <PartIdDataType xmlns=\"http://opcfoundation.org/UA/MachineVision/Types.xsd\">\n            <EncodingMask>0</EncodingMask>\n            <Id>\n            </Id>\n          </PartIdDataType>\n        </uax:Body>\n      </uax:ExtensionObject>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=6305\" BrowseName=\"1:ProcessingTimes\" ParentNodeId=\"ns=1;i=1024\" DataType=\"ProcessingTimesDataType\" AccessLevel=\"3\">\n    <DisplayName>ProcessingTimes</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasModellingRule\">i=80</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=1024</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n    </References>\n    <Value>\n      <uax:ExtensionObject xmlns:uax=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <uax:TypeId>\n          <uax:Identifier>ns=1;i=5017</uax:Identifier>\n        </uax:TypeId>\n        <uax:Body>\n          <ProcessingTimesDataType xmlns=\"http://opcfoundation.org/UA/MachineVision/Types.xsd\">\n            <EncodingMask>0</EncodingMask>\n            <StartTime>1900-01-01T00:00:00Z</StartTime>\n            <EndTime>1900-01-01T00:00:00Z</EndTime>\n          </ProcessingTimesDataType>\n        </uax:Body>\n      </uax:ExtensionObject>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=6143\" BrowseName=\"1:ProductId\" ParentNodeId=\"ns=1;i=1024\" DataType=\"ProductIdDataType\" AccessLevel=\"3\">\n    <DisplayName>ProductId</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasModellingRule\">i=80</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=1024</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n    </References>\n    <Value>\n      <uax:ExtensionObject xmlns:uax=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <uax:TypeId>\n          <uax:Identifier>ns=1;i=5225</uax:Identifier>\n        </uax:TypeId>\n        <uax:Body>\n          <ProductIdDataType xmlns=\"http://opcfoundation.org/UA/MachineVision/Types.xsd\">\n            <EncodingMask>0</EncodingMask>\n            <Id>\n            </Id>\n          </ProductIdDataType>\n        </uax:Body>\n      </uax:ExtensionObject>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=6306\" BrowseName=\"1:ResultContent\" ParentNodeId=\"ns=1;i=1024\" ValueRank=\"1\" ArrayDimensions=\"0\" AccessLevel=\"3\">\n    <DisplayName>ResultContent</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasModellingRule\">i=80</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=1024</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=6295\" BrowseName=\"1:ResultId\" ParentNodeId=\"ns=1;i=1024\" DataType=\"ResultIdDataType\" AccessLevel=\"3\">\n    <DisplayName>ResultId</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=1024</Reference>\n    </References>\n    <Value>\n      <uax:ExtensionObject xmlns:uax=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <uax:TypeId>\n          <uax:Identifier>ns=1;i=5275</uax:Identifier>\n        </uax:TypeId>\n        <uax:Body>\n          <ResultIdDataType xmlns=\"http://opcfoundation.org/UA/MachineVision/Types.xsd\">\n            <Id>\n            </Id>\n          </ResultIdDataType>\n        </uax:Body>\n      </uax:ExtensionObject>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=6298\" BrowseName=\"1:ResultState\" ParentNodeId=\"ns=1;i=1024\" DataType=\"ResultStateDataType\" AccessLevel=\"3\">\n    <DisplayName>ResultState</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=1024</Reference>\n    </References>\n  </UAVariable>\n  <UAObjectType NodeId=\"ns=1;i=1019\" BrowseName=\"1:ErrorEventType\">\n    <DisplayName>ErrorEventType</DisplayName>\n    <Documentation>https://reference.opcfoundation.org/v104/MachineVision/v100/docs/8.2.9/#8.2.9.2</Documentation>\n    <References>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=2311</Reference>\n      <Reference ReferenceType=\"HasEffect\" IsForward=\"false\">ns=1;i=5034</Reference>\n    </References>\n  </UAObjectType>\n  <UAObjectType NodeId=\"ns=1;i=1020\" BrowseName=\"1:ErrorResolvedEventType\">\n    <DisplayName>ErrorResolvedEventType</DisplayName>\n    <Documentation>https://reference.opcfoundation.org/v104/MachineVision/v100/docs/8.2.9/#8.2.9.3</Documentation>\n    <References>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=2311</Reference>\n      <Reference ReferenceType=\"HasEffect\" IsForward=\"false\">ns=1;i=5255</Reference>\n    </References>\n  </UAObjectType>\n  <UAObjectType NodeId=\"ns=1;i=1018\" BrowseName=\"1:StateChangedEventType\">\n    <DisplayName>StateChangedEventType</DisplayName>\n    <Documentation>https://reference.opcfoundation.org/v104/MachineVision/v100/docs/8.2.9/#8.2.9.1</Documentation>\n    <References>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=2311</Reference>\n      <Reference ReferenceType=\"HasEffect\" IsForward=\"false\">ns=1;i=5032</Reference>\n      <Reference ReferenceType=\"HasEffect\" IsForward=\"false\">ns=1;i=5033</Reference>\n      <Reference ReferenceType=\"HasEffect\" IsForward=\"false\">ns=1;i=5034</Reference>\n      <Reference ReferenceType=\"HasEffect\" IsForward=\"false\">ns=1;i=5035</Reference>\n      <Reference ReferenceType=\"HasEffect\" IsForward=\"false\">ns=1;i=5036</Reference>\n      <Reference ReferenceType=\"HasEffect\" IsForward=\"false\">ns=1;i=5037</Reference>\n      <Reference ReferenceType=\"HasEffect\" IsForward=\"false\">ns=1;i=5038</Reference>\n      <Reference ReferenceType=\"HasEffect\" IsForward=\"false\">ns=1;i=5039</Reference>\n      <Reference ReferenceType=\"HasEffect\" IsForward=\"false\">ns=1;i=5040</Reference>\n      <Reference ReferenceType=\"HasEffect\" IsForward=\"false\">ns=1;i=5041</Reference>\n      <Reference ReferenceType=\"HasEffect\" IsForward=\"false\">ns=1;i=5042</Reference>\n      <Reference ReferenceType=\"HasEffect\" IsForward=\"false\">ns=1;i=5044</Reference>\n      <Reference ReferenceType=\"HasEffect\" IsForward=\"false\">ns=1;i=5045</Reference>\n      <Reference ReferenceType=\"HasEffect\" IsForward=\"false\">ns=1;i=5047</Reference>\n      <Reference ReferenceType=\"HasEffect\" IsForward=\"false\">ns=1;i=5048</Reference>\n      <Reference ReferenceType=\"HasEffect\" IsForward=\"false\">ns=1;i=5049</Reference>\n      <Reference ReferenceType=\"HasEffect\" IsForward=\"false\">ns=1;i=5050</Reference>\n      <Reference ReferenceType=\"HasEffect\" IsForward=\"false\">ns=1;i=5051</Reference>\n      <Reference ReferenceType=\"HasEffect\" IsForward=\"false\">ns=1;i=5060</Reference>\n      <Reference ReferenceType=\"HasEffect\" IsForward=\"false\">ns=1;i=5061</Reference>\n      <Reference ReferenceType=\"HasEffect\" IsForward=\"false\">ns=1;i=5062</Reference>\n      <Reference ReferenceType=\"HasEffect\" IsForward=\"false\">ns=1;i=5063</Reference>\n      <Reference ReferenceType=\"HasEffect\" IsForward=\"false\">ns=1;i=5064</Reference>\n      <Reference ReferenceType=\"HasEffect\" IsForward=\"false\">ns=1;i=5065</Reference>\n      <Reference ReferenceType=\"HasEffect\" IsForward=\"false\">ns=1;i=5066</Reference>\n      <Reference ReferenceType=\"HasEffect\" IsForward=\"false\">ns=1;i=5067</Reference>\n      <Reference ReferenceType=\"HasEffect\" IsForward=\"false\">ns=1;i=5068</Reference>\n      <Reference ReferenceType=\"HasEffect\" IsForward=\"false\">ns=1;i=5069</Reference>\n      <Reference ReferenceType=\"HasEffect\" IsForward=\"false\">ns=1;i=5070</Reference>\n      <Reference ReferenceType=\"HasEffect\" IsForward=\"false\">ns=1;i=5071</Reference>\n      <Reference ReferenceType=\"HasEffect\" IsForward=\"false\">ns=1;i=5072</Reference>\n      <Reference ReferenceType=\"HasEffect\" IsForward=\"false\">ns=1;i=5073</Reference>\n      <Reference ReferenceType=\"HasEffect\" IsForward=\"false\">ns=1;i=5082</Reference>\n      <Reference ReferenceType=\"HasEffect\" IsForward=\"false\">ns=1;i=5083</Reference>\n      <Reference ReferenceType=\"HasEffect\" IsForward=\"false\">ns=1;i=5084</Reference>\n      <Reference ReferenceType=\"HasEffect\" IsForward=\"false\">ns=1;i=5085</Reference>\n      <Reference ReferenceType=\"HasEffect\" IsForward=\"false\">ns=1;i=5086</Reference>\n      <Reference ReferenceType=\"HasEffect\" IsForward=\"false\">ns=1;i=5087</Reference>\n      <Reference ReferenceType=\"HasEffect\" IsForward=\"false\">ns=1;i=5253</Reference>\n      <Reference ReferenceType=\"HasEffect\" IsForward=\"false\">ns=1;i=5254</Reference>\n      <Reference ReferenceType=\"HasEffect\" IsForward=\"false\">ns=1;i=5255</Reference>\n    </References>\n  </UAObjectType>\n  <UAObjectType NodeId=\"ns=1;i=1015\" BrowseName=\"1:VisionEventType\" IsAbstract=\"true\">\n    <DisplayName>VisionEventType</DisplayName>\n    <Documentation>https://reference.opcfoundation.org/v104/MachineVision/v100/docs/11.4.1/#11.4.1.1</Documentation>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=6193</Reference>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=6550</Reference>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=6195</Reference>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=6200</Reference>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=6198</Reference>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=6203</Reference>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=6194</Reference>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=6201</Reference>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=6199</Reference>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=6204</Reference>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=2041</Reference>\n    </References>\n  </UAObjectType>\n  <UAVariable NodeId=\"ns=1;i=6193\" BrowseName=\"1:CausePath\" ParentNodeId=\"ns=1;i=1015\" DataType=\"String\" AccessLevel=\"3\">\n    <DisplayName>CausePath</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=1015</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=80</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=6550\" BrowseName=\"1:ExternalConfigurationId\" ParentNodeId=\"ns=1;i=1015\" DataType=\"ConfigurationIdDataType\" AccessLevel=\"3\">\n    <DisplayName>ExternalConfigurationId</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=1015</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=80</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=6195\" BrowseName=\"1:ExternalRecipeId\" ParentNodeId=\"ns=1;i=1015\" DataType=\"RecipeIdExternalDataType\" AccessLevel=\"3\">\n    <DisplayName>ExternalRecipeId</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=1015</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=80</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=6200\" BrowseName=\"1:InternalConfigurationId\" ParentNodeId=\"ns=1;i=1015\" DataType=\"ConfigurationIdDataType\" AccessLevel=\"3\">\n    <DisplayName>InternalConfigurationId</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=1015</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=80</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=6198\" BrowseName=\"1:InternalRecipeId\" ParentNodeId=\"ns=1;i=1015\" DataType=\"RecipeIdInternalDataType\" AccessLevel=\"3\">\n    <DisplayName>InternalRecipeId</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=1015</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=80</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=6203\" BrowseName=\"1:JobId\" ParentNodeId=\"ns=1;i=1015\" DataType=\"JobIdDataType\" AccessLevel=\"3\">\n    <DisplayName>JobId</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=1015</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=80</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n    </References>\n    <Value>\n      <uax:ExtensionObject xmlns:uax=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <uax:TypeId>\n          <uax:Identifier>ns=1;i=5026</uax:Identifier>\n        </uax:TypeId>\n        <uax:Body>\n          <JobIdDataType xmlns=\"http://opcfoundation.org/UA/MachineVision/Types.xsd\">\n            <Id>\n            </Id>\n          </JobIdDataType>\n        </uax:Body>\n      </uax:ExtensionObject>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=6194\" BrowseName=\"1:MeasId\" ParentNodeId=\"ns=1;i=1015\" DataType=\"MeasIdDataType\" AccessLevel=\"3\">\n    <DisplayName>MeasId</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=1015</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=80</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n    </References>\n    <Value>\n      <uax:ExtensionObject xmlns:uax=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <uax:TypeId>\n          <uax:Identifier>ns=1;i=5007</uax:Identifier>\n        </uax:TypeId>\n        <uax:Body>\n          <MeasIdDataType xmlns=\"http://opcfoundation.org/UA/MachineVision/Types.xsd\">\n            <EncodingMask>0</EncodingMask>\n            <Id>\n            </Id>\n          </MeasIdDataType>\n        </uax:Body>\n      </uax:ExtensionObject>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=6201\" BrowseName=\"1:PartId\" ParentNodeId=\"ns=1;i=1015\" DataType=\"PartIdDataType\" AccessLevel=\"3\">\n    <DisplayName>PartId</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasModellingRule\">i=80</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=1015</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n    </References>\n    <Value>\n      <uax:ExtensionObject xmlns:uax=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <uax:TypeId>\n          <uax:Identifier>ns=1;i=5014</uax:Identifier>\n        </uax:TypeId>\n        <uax:Body>\n          <PartIdDataType xmlns=\"http://opcfoundation.org/UA/MachineVision/Types.xsd\">\n            <EncodingMask>0</EncodingMask>\n            <Id>\n            </Id>\n          </PartIdDataType>\n        </uax:Body>\n      </uax:ExtensionObject>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=6199\" BrowseName=\"1:ProductId\" ParentNodeId=\"ns=1;i=1015\" DataType=\"ProductIdDataType\" AccessLevel=\"3\">\n    <DisplayName>ProductId</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasModellingRule\">i=80</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=1015</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n    </References>\n    <Value>\n      <uax:ExtensionObject xmlns:uax=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <uax:TypeId>\n          <uax:Identifier>ns=1;i=5225</uax:Identifier>\n        </uax:TypeId>\n        <uax:Body>\n          <ProductIdDataType xmlns=\"http://opcfoundation.org/UA/MachineVision/Types.xsd\">\n            <EncodingMask>0</EncodingMask>\n            <Id>\n            </Id>\n          </ProductIdDataType>\n        </uax:Body>\n      </uax:ExtensionObject>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=6204\" BrowseName=\"1:ResultId\" ParentNodeId=\"ns=1;i=1015\" DataType=\"ResultIdDataType\" AccessLevel=\"3\">\n    <DisplayName>ResultId</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasModellingRule\">i=80</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=1015</Reference>\n    </References>\n    <Value>\n      <uax:ExtensionObject xmlns:uax=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <uax:TypeId>\n          <uax:Identifier>ns=1;i=5275</uax:Identifier>\n        </uax:TypeId>\n        <uax:Body>\n          <ResultIdDataType xmlns=\"http://opcfoundation.org/UA/MachineVision/Types.xsd\">\n            <Id>\n            </Id>\n          </ResultIdDataType>\n        </uax:Body>\n      </uax:ExtensionObject>\n    </Value>\n  </UAVariable>\n  <UAObjectType NodeId=\"ns=1;i=1037\" BrowseName=\"1:VisionDiagnosticInfoEventType\">\n    <DisplayName>VisionDiagnosticInfoEventType</DisplayName>\n    <Documentation>https://reference.opcfoundation.org/v104/MachineVision/v100/docs/11.4.2</Documentation>\n    <References>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">ns=1;i=1015</Reference>\n    </References>\n  </UAObjectType>\n  <UAObjectType NodeId=\"ns=1;i=1038\" BrowseName=\"1:VisionInformationEventType\">\n    <DisplayName>VisionInformationEventType</DisplayName>\n    <Documentation>https://reference.opcfoundation.org/v104/MachineVision/v100/docs/11.4.3</Documentation>\n    <References>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">ns=1;i=1015</Reference>\n    </References>\n  </UAObjectType>\n  <UAObjectType NodeId=\"ns=1;i=1030\" BrowseName=\"1:VisionSafetyEventType\">\n    <DisplayName>VisionSafetyEventType</DisplayName>\n    <Documentation>https://reference.opcfoundation.org/v104/MachineVision/v100/docs/11.4.8</Documentation>\n    <References>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=2041</Reference>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=6050</Reference>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=6051</Reference>\n    </References>\n  </UAObjectType>\n  <UAVariable NodeId=\"ns=1;i=6050\" BrowseName=\"1:VisionSafetyInformation\" ParentNodeId=\"ns=1;i=1030\" DataType=\"String\" AccessLevel=\"3\">\n    <DisplayName>VisionSafetyInformation</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=1030</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=6051\" BrowseName=\"1:VisionSafetyTriggered\" ParentNodeId=\"ns=1;i=1030\" DataType=\"Boolean\" AccessLevel=\"3\">\n    <DisplayName>VisionSafetyTriggered</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=1030</Reference>\n    </References>\n  </UAVariable>\n  <UAObjectType NodeId=\"ns=1;i=1006\" BrowseName=\"1:ConfigurationManagementType\">\n    <DisplayName>ConfigurationManagementType</DisplayName>\n    <Documentation>https://reference.opcfoundation.org/v104/MachineVision/v100/docs/7.2.1</Documentation>\n    <References>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=7048</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=6132</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=7025</Reference>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=58</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=5010</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=5266</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=7041</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=7045</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=7046</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=7047</Reference>\n    </References>\n  </UAObjectType>\n  <UAMethod NodeId=\"ns=1;i=7048\" BrowseName=\"1:ActivateConfiguration\" ParentNodeId=\"ns=1;i=1006\">\n    <DisplayName>ActivateConfiguration</DisplayName>\n    <Documentation>https://reference.opcfoundation.org/v104/MachineVision/v100/docs/7.2.2/#7.2.2.6</Documentation>\n    <References>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=1006</Reference>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=6116</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=6117</Reference>\n    </References>\n  </UAMethod>\n  <UAVariable NodeId=\"ns=1;i=6116\" BrowseName=\"InputArguments\" ParentNodeId=\"ns=1;i=7048\" DataType=\"Argument\" ValueRank=\"1\" ArrayDimensions=\"1\">\n    <DisplayName>InputArguments</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=7048</Reference>\n    </References>\n    <Value>\n      <uax:ListOfExtensionObject xmlns:uax=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <uax:ExtensionObject>\n          <uax:TypeId>\n            <uax:Identifier>i=297</uax:Identifier>\n          </uax:TypeId>\n          <uax:Body>\n            <uax:Argument>\n              <uax:Name>InternalId</uax:Name>\n              <uax:DataType>\n                <uax:Identifier>ns=1;i=3008</uax:Identifier>\n              </uax:DataType>\n              <uax:ValueRank>-1</uax:ValueRank>\n              <uax:ArrayDimensions />\n              <uax:Description />\n            </uax:Argument>\n          </uax:Body>\n        </uax:ExtensionObject>\n      </uax:ListOfExtensionObject>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=6117\" BrowseName=\"OutputArguments\" ParentNodeId=\"ns=1;i=7048\" DataType=\"Argument\" ValueRank=\"1\" ArrayDimensions=\"1\">\n    <DisplayName>OutputArguments</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=7048</Reference>\n    </References>\n    <Value>\n      <uax:ListOfExtensionObject xmlns:uax=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <uax:ExtensionObject>\n          <uax:TypeId>\n            <uax:Identifier>i=297</uax:Identifier>\n          </uax:TypeId>\n          <uax:Body>\n            <uax:Argument>\n              <uax:Name>Error</uax:Name>\n              <uax:DataType>\n                <uax:Identifier>i=6</uax:Identifier>\n              </uax:DataType>\n              <uax:ValueRank>-1</uax:ValueRank>\n              <uax:ArrayDimensions />\n              <uax:Description />\n            </uax:Argument>\n          </uax:Body>\n        </uax:ExtensionObject>\n      </uax:ListOfExtensionObject>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=6132\" BrowseName=\"1:ActiveConfiguration\" ParentNodeId=\"ns=1;i=1006\" DataType=\"ConfigurationDataType\" AccessLevel=\"3\">\n    <DisplayName>ActiveConfiguration</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=1006</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=63</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n    </References>\n    <Value>\n      <uax:ExtensionObject xmlns:uax=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <uax:TypeId>\n          <uax:Identifier>ns=1;i=5089</uax:Identifier>\n        </uax:TypeId>\n        <uax:Body>\n          <ConfigurationDataType xmlns=\"http://opcfoundation.org/UA/MachineVision/Types.xsd\">\n            <EncodingMask>0</EncodingMask>\n            <InternalId>\n              <Id>\n              </Id>\n            </InternalId>\n            <LastModified>1900-01-01T00:00:00Z</LastModified>\n          </ConfigurationDataType>\n        </uax:Body>\n      </uax:ExtensionObject>\n    </Value>\n  </UAVariable>\n  <UAMethod NodeId=\"ns=1;i=7025\" BrowseName=\"1:AddConfiguration\" ParentNodeId=\"ns=1;i=1006\">\n    <DisplayName>AddConfiguration</DisplayName>\n    <Documentation>https://reference.opcfoundation.org/v104/MachineVision/v100/docs/7.2.2/#7.2.2.1.1</Documentation>\n    <References>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=1006</Reference>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=6096</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=80</Reference>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=6097</Reference>\n    </References>\n  </UAMethod>\n  <UAVariable NodeId=\"ns=1;i=6096\" BrowseName=\"InputArguments\" ParentNodeId=\"ns=1;i=7025\" DataType=\"Argument\" ValueRank=\"1\" ArrayDimensions=\"1\">\n    <DisplayName>InputArguments</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=7025</Reference>\n    </References>\n    <Value>\n      <uax:ListOfExtensionObject xmlns:uax=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <uax:ExtensionObject>\n          <uax:TypeId>\n            <uax:Identifier>i=297</uax:Identifier>\n          </uax:TypeId>\n          <uax:Body>\n            <uax:Argument>\n              <uax:Name>ExternalId</uax:Name>\n              <uax:DataType>\n                <uax:Identifier>ns=1;i=3008</uax:Identifier>\n              </uax:DataType>\n              <uax:ValueRank>-1</uax:ValueRank>\n              <uax:ArrayDimensions />\n              <uax:Description />\n            </uax:Argument>\n          </uax:Body>\n        </uax:ExtensionObject>\n      </uax:ListOfExtensionObject>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=6097\" BrowseName=\"OutputArguments\" ParentNodeId=\"ns=1;i=7025\" DataType=\"Argument\" ValueRank=\"1\" ArrayDimensions=\"4\">\n    <DisplayName>OutputArguments</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=7025</Reference>\n    </References>\n    <Value>\n      <uax:ListOfExtensionObject xmlns:uax=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <uax:ExtensionObject>\n          <uax:TypeId>\n            <uax:Identifier>i=297</uax:Identifier>\n          </uax:TypeId>\n          <uax:Body>\n            <uax:Argument>\n              <uax:Name>InternalId</uax:Name>\n              <uax:DataType>\n                <uax:Identifier>ns=1;i=3008</uax:Identifier>\n              </uax:DataType>\n              <uax:ValueRank>-1</uax:ValueRank>\n              <uax:ArrayDimensions />\n              <uax:Description />\n            </uax:Argument>\n          </uax:Body>\n        </uax:ExtensionObject>\n        <uax:ExtensionObject>\n          <uax:TypeId>\n            <uax:Identifier>i=297</uax:Identifier>\n          </uax:TypeId>\n          <uax:Body>\n            <uax:Argument>\n              <uax:Name>Configuration</uax:Name>\n              <uax:DataType>\n                <uax:Identifier>i=17</uax:Identifier>\n              </uax:DataType>\n              <uax:ValueRank>-1</uax:ValueRank>\n              <uax:ArrayDimensions />\n              <uax:Description />\n            </uax:Argument>\n          </uax:Body>\n        </uax:ExtensionObject>\n        <uax:ExtensionObject>\n          <uax:TypeId>\n            <uax:Identifier>i=297</uax:Identifier>\n          </uax:TypeId>\n          <uax:Body>\n            <uax:Argument>\n              <uax:Name>TransferRequired</uax:Name>\n              <uax:DataType>\n                <uax:Identifier>i=1</uax:Identifier>\n              </uax:DataType>\n              <uax:ValueRank>-1</uax:ValueRank>\n              <uax:ArrayDimensions />\n              <uax:Description />\n            </uax:Argument>\n          </uax:Body>\n        </uax:ExtensionObject>\n        <uax:ExtensionObject>\n          <uax:TypeId>\n            <uax:Identifier>i=297</uax:Identifier>\n          </uax:TypeId>\n          <uax:Body>\n            <uax:Argument>\n              <uax:Name>Error</uax:Name>\n              <uax:DataType>\n                <uax:Identifier>i=6</uax:Identifier>\n              </uax:DataType>\n              <uax:ValueRank>-1</uax:ValueRank>\n              <uax:ArrayDimensions />\n              <uax:Description />\n            </uax:Argument>\n          </uax:Body>\n        </uax:ExtensionObject>\n      </uax:ListOfExtensionObject>\n    </Value>\n  </UAVariable>\n  <UAObject NodeId=\"ns=1;i=5010\" BrowseName=\"1:Configurations\" ParentNodeId=\"ns=1;i=1006\">\n    <DisplayName>Configurations</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">ns=1;i=1011</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=1006</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=80</Reference>\n    </References>\n  </UAObject>\n  <UAObject NodeId=\"ns=1;i=5266\" BrowseName=\"1:ConfigurationTransfer\" ParentNodeId=\"ns=1;i=1006\">\n    <DisplayName>ConfigurationTransfer</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=6599</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=7113</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=1006</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">ns=1;i=1012</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=7012</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=7029</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=80</Reference>\n    </References>\n  </UAObject>\n  <UAVariable NodeId=\"ns=1;i=6599\" BrowseName=\"ClientProcessingTimeout\" ParentNodeId=\"ns=1;i=5266\" DataType=\"Duration\">\n    <DisplayName>ClientProcessingTimeout</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=5266</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n    </References>\n  </UAVariable>\n  <UAMethod NodeId=\"ns=1;i=7113\" BrowseName=\"CloseAndCommit\" ParentNodeId=\"ns=1;i=5266\" MethodDeclarationId=\"i=15751\">\n    <DisplayName>CloseAndCommit</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=5266</Reference>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=6600</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=6601</Reference>\n    </References>\n  </UAMethod>\n  <UAVariable NodeId=\"ns=1;i=6600\" BrowseName=\"InputArguments\" ParentNodeId=\"ns=1;i=7113\" DataType=\"Argument\" ValueRank=\"1\" ArrayDimensions=\"1\">\n    <DisplayName>InputArguments</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=7113</Reference>\n    </References>\n    <Value>\n      <uax:ListOfExtensionObject xmlns:uax=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <uax:ExtensionObject>\n          <uax:TypeId>\n            <uax:Identifier>i=297</uax:Identifier>\n          </uax:TypeId>\n          <uax:Body>\n            <uax:Argument>\n              <uax:Name>FileHandle</uax:Name>\n              <uax:DataType>\n                <uax:Identifier>i=7</uax:Identifier>\n              </uax:DataType>\n              <uax:ValueRank>-1</uax:ValueRank>\n              <uax:ArrayDimensions />\n              <uax:Description />\n            </uax:Argument>\n          </uax:Body>\n        </uax:ExtensionObject>\n      </uax:ListOfExtensionObject>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=6601\" BrowseName=\"OutputArguments\" ParentNodeId=\"ns=1;i=7113\" DataType=\"Argument\" ValueRank=\"1\" ArrayDimensions=\"1\">\n    <DisplayName>OutputArguments</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=7113</Reference>\n    </References>\n    <Value>\n      <uax:ListOfExtensionObject xmlns:uax=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <uax:ExtensionObject>\n          <uax:TypeId>\n            <uax:Identifier>i=297</uax:Identifier>\n          </uax:TypeId>\n          <uax:Body>\n            <uax:Argument>\n              <uax:Name>CompletionStateMachine</uax:Name>\n              <uax:DataType>\n                <uax:Identifier>i=17</uax:Identifier>\n              </uax:DataType>\n              <uax:ValueRank>-1</uax:ValueRank>\n              <uax:ArrayDimensions />\n              <uax:Description />\n            </uax:Argument>\n          </uax:Body>\n        </uax:ExtensionObject>\n      </uax:ListOfExtensionObject>\n    </Value>\n  </UAVariable>\n  <UAMethod NodeId=\"ns=1;i=7012\" BrowseName=\"GenerateFileForRead\" ParentNodeId=\"ns=1;i=5266\" MethodDeclarationId=\"ns=1;i=7129\">\n    <DisplayName>GenerateFileForRead</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=5266</Reference>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=6337</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=6338</Reference>\n    </References>\n  </UAMethod>\n  <UAVariable NodeId=\"ns=1;i=6337\" BrowseName=\"InputArguments\" ParentNodeId=\"ns=1;i=7012\" DataType=\"Argument\" ValueRank=\"1\" ArrayDimensions=\"1\">\n    <DisplayName>InputArguments</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=7012</Reference>\n    </References>\n    <Value>\n      <uax:ListOfExtensionObject xmlns:uax=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <uax:ExtensionObject>\n          <uax:TypeId>\n            <uax:Identifier>i=297</uax:Identifier>\n          </uax:TypeId>\n          <uax:Body>\n            <uax:Argument>\n              <uax:Name>GenerateOptions</uax:Name>\n              <uax:DataType>\n                <uax:Identifier>ns=1;i=3011</uax:Identifier>\n              </uax:DataType>\n              <uax:ValueRank>-1</uax:ValueRank>\n              <uax:ArrayDimensions />\n              <uax:Description />\n            </uax:Argument>\n          </uax:Body>\n        </uax:ExtensionObject>\n      </uax:ListOfExtensionObject>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=6338\" BrowseName=\"OutputArguments\" ParentNodeId=\"ns=1;i=7012\" DataType=\"Argument\" ValueRank=\"1\" ArrayDimensions=\"3\">\n    <DisplayName>OutputArguments</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=7012</Reference>\n    </References>\n    <Value>\n      <uax:ListOfExtensionObject xmlns:uax=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <uax:ExtensionObject>\n          <uax:TypeId>\n            <uax:Identifier>i=297</uax:Identifier>\n          </uax:TypeId>\n          <uax:Body>\n            <uax:Argument>\n              <uax:Name>FileNodeId</uax:Name>\n              <uax:DataType>\n                <uax:Identifier>i=17</uax:Identifier>\n              </uax:DataType>\n              <uax:ValueRank>-1</uax:ValueRank>\n              <uax:ArrayDimensions />\n              <uax:Description />\n            </uax:Argument>\n          </uax:Body>\n        </uax:ExtensionObject>\n        <uax:ExtensionObject>\n          <uax:TypeId>\n            <uax:Identifier>i=297</uax:Identifier>\n          </uax:TypeId>\n          <uax:Body>\n            <uax:Argument>\n              <uax:Name>FileHandle</uax:Name>\n              <uax:DataType>\n                <uax:Identifier>i=7</uax:Identifier>\n              </uax:DataType>\n              <uax:ValueRank>-1</uax:ValueRank>\n              <uax:ArrayDimensions />\n              <uax:Description />\n            </uax:Argument>\n          </uax:Body>\n        </uax:ExtensionObject>\n        <uax:ExtensionObject>\n          <uax:TypeId>\n            <uax:Identifier>i=297</uax:Identifier>\n          </uax:TypeId>\n          <uax:Body>\n            <uax:Argument>\n              <uax:Name>CompletionStateMachine</uax:Name>\n              <uax:DataType>\n                <uax:Identifier>i=17</uax:Identifier>\n              </uax:DataType>\n              <uax:ValueRank>-1</uax:ValueRank>\n              <uax:ArrayDimensions />\n              <uax:Description />\n            </uax:Argument>\n          </uax:Body>\n        </uax:ExtensionObject>\n      </uax:ListOfExtensionObject>\n    </Value>\n  </UAVariable>\n  <UAMethod NodeId=\"ns=1;i=7029\" BrowseName=\"GenerateFileForWrite\" ParentNodeId=\"ns=1;i=5266\" MethodDeclarationId=\"ns=1;i=7130\">\n    <DisplayName>GenerateFileForWrite</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=5266</Reference>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=6339</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=6340</Reference>\n    </References>\n  </UAMethod>\n  <UAVariable NodeId=\"ns=1;i=6339\" BrowseName=\"InputArguments\" ParentNodeId=\"ns=1;i=7029\" DataType=\"Argument\" ValueRank=\"1\" ArrayDimensions=\"1\">\n    <DisplayName>InputArguments</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=7029</Reference>\n    </References>\n    <Value>\n      <uax:ListOfExtensionObject xmlns:uax=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <uax:ExtensionObject>\n          <uax:TypeId>\n            <uax:Identifier>i=297</uax:Identifier>\n          </uax:TypeId>\n          <uax:Body>\n            <uax:Argument>\n              <uax:Name>GenerateOptions</uax:Name>\n              <uax:DataType>\n                <uax:Identifier>ns=1;i=3011</uax:Identifier>\n              </uax:DataType>\n              <uax:ValueRank>-1</uax:ValueRank>\n              <uax:ArrayDimensions />\n              <uax:Description />\n            </uax:Argument>\n          </uax:Body>\n        </uax:ExtensionObject>\n      </uax:ListOfExtensionObject>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=6340\" BrowseName=\"OutputArguments\" ParentNodeId=\"ns=1;i=7029\" DataType=\"Argument\" ValueRank=\"1\" ArrayDimensions=\"2\">\n    <DisplayName>OutputArguments</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=7029</Reference>\n    </References>\n    <Value>\n      <uax:ListOfExtensionObject xmlns:uax=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <uax:ExtensionObject>\n          <uax:TypeId>\n            <uax:Identifier>i=297</uax:Identifier>\n          </uax:TypeId>\n          <uax:Body>\n            <uax:Argument>\n              <uax:Name>FileNodeId</uax:Name>\n              <uax:DataType>\n                <uax:Identifier>i=17</uax:Identifier>\n              </uax:DataType>\n              <uax:ValueRank>-1</uax:ValueRank>\n              <uax:ArrayDimensions />\n              <uax:Description />\n            </uax:Argument>\n          </uax:Body>\n        </uax:ExtensionObject>\n        <uax:ExtensionObject>\n          <uax:TypeId>\n            <uax:Identifier>i=297</uax:Identifier>\n          </uax:TypeId>\n          <uax:Body>\n            <uax:Argument>\n              <uax:Name>FileHandle</uax:Name>\n              <uax:DataType>\n                <uax:Identifier>i=7</uax:Identifier>\n              </uax:DataType>\n              <uax:ValueRank>-1</uax:ValueRank>\n              <uax:ArrayDimensions />\n              <uax:Description />\n            </uax:Argument>\n          </uax:Body>\n        </uax:ExtensionObject>\n      </uax:ListOfExtensionObject>\n    </Value>\n  </UAVariable>\n  <UAMethod NodeId=\"ns=1;i=7041\" BrowseName=\"1:GetConfigurationById\" ParentNodeId=\"ns=1;i=1006\">\n    <DisplayName>GetConfigurationById</DisplayName>\n    <Documentation>https://reference.opcfoundation.org/v104/MachineVision/v100/docs/7.2.2/#7.2.2.2</Documentation>\n    <References>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=1006</Reference>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=6100</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=6101</Reference>\n    </References>\n  </UAMethod>\n  <UAVariable NodeId=\"ns=1;i=6100\" BrowseName=\"InputArguments\" ParentNodeId=\"ns=1;i=7041\" DataType=\"Argument\" ValueRank=\"1\" ArrayDimensions=\"2\">\n    <DisplayName>InputArguments</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=7041</Reference>\n    </References>\n    <Value>\n      <uax:ListOfExtensionObject xmlns:uax=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <uax:ExtensionObject>\n          <uax:TypeId>\n            <uax:Identifier>i=297</uax:Identifier>\n          </uax:TypeId>\n          <uax:Body>\n            <uax:Argument>\n              <uax:Name>InternalId</uax:Name>\n              <uax:DataType>\n                <uax:Identifier>ns=1;i=3008</uax:Identifier>\n              </uax:DataType>\n              <uax:ValueRank>-1</uax:ValueRank>\n              <uax:ArrayDimensions />\n              <uax:Description />\n            </uax:Argument>\n          </uax:Body>\n        </uax:ExtensionObject>\n        <uax:ExtensionObject>\n          <uax:TypeId>\n            <uax:Identifier>i=297</uax:Identifier>\n          </uax:TypeId>\n          <uax:Body>\n            <uax:Argument>\n              <uax:Name>Timeout</uax:Name>\n              <uax:DataType>\n                <uax:Identifier>i=6</uax:Identifier>\n              </uax:DataType>\n              <uax:ValueRank>-1</uax:ValueRank>\n              <uax:ArrayDimensions />\n              <uax:Description />\n            </uax:Argument>\n          </uax:Body>\n        </uax:ExtensionObject>\n      </uax:ListOfExtensionObject>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=6101\" BrowseName=\"OutputArguments\" ParentNodeId=\"ns=1;i=7041\" DataType=\"Argument\" ValueRank=\"1\" ArrayDimensions=\"3\">\n    <DisplayName>OutputArguments</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=7041</Reference>\n    </References>\n    <Value>\n      <uax:ListOfExtensionObject xmlns:uax=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <uax:ExtensionObject>\n          <uax:TypeId>\n            <uax:Identifier>i=297</uax:Identifier>\n          </uax:TypeId>\n          <uax:Body>\n            <uax:Argument>\n              <uax:Name>ConfigurationHandle</uax:Name>\n              <uax:DataType>\n                <uax:Identifier>ns=1;i=3018</uax:Identifier>\n              </uax:DataType>\n              <uax:ValueRank>-1</uax:ValueRank>\n              <uax:ArrayDimensions />\n              <uax:Description />\n            </uax:Argument>\n          </uax:Body>\n        </uax:ExtensionObject>\n        <uax:ExtensionObject>\n          <uax:TypeId>\n            <uax:Identifier>i=297</uax:Identifier>\n          </uax:TypeId>\n          <uax:Body>\n            <uax:Argument>\n              <uax:Name>Configuration</uax:Name>\n              <uax:DataType>\n                <uax:Identifier>ns=1;i=3007</uax:Identifier>\n              </uax:DataType>\n              <uax:ValueRank>-1</uax:ValueRank>\n              <uax:ArrayDimensions />\n              <uax:Description />\n            </uax:Argument>\n          </uax:Body>\n        </uax:ExtensionObject>\n        <uax:ExtensionObject>\n          <uax:TypeId>\n            <uax:Identifier>i=297</uax:Identifier>\n          </uax:TypeId>\n          <uax:Body>\n            <uax:Argument>\n              <uax:Name>Error</uax:Name>\n              <uax:DataType>\n                <uax:Identifier>i=6</uax:Identifier>\n              </uax:DataType>\n              <uax:ValueRank>-1</uax:ValueRank>\n              <uax:ArrayDimensions />\n              <uax:Description />\n            </uax:Argument>\n          </uax:Body>\n        </uax:ExtensionObject>\n      </uax:ListOfExtensionObject>\n    </Value>\n  </UAVariable>\n  <UAMethod NodeId=\"ns=1;i=7045\" BrowseName=\"1:GetConfigurationList\" ParentNodeId=\"ns=1;i=1006\">\n    <DisplayName>GetConfigurationList</DisplayName>\n    <Documentation>https://reference.opcfoundation.org/v104/MachineVision/v100/docs/7.2.2/#7.2.2.3</Documentation>\n    <References>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=1006</Reference>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=6104</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=6105</Reference>\n    </References>\n  </UAMethod>\n  <UAVariable NodeId=\"ns=1;i=6104\" BrowseName=\"InputArguments\" ParentNodeId=\"ns=1;i=7045\" DataType=\"Argument\" ValueRank=\"1\" ArrayDimensions=\"3\">\n    <DisplayName>InputArguments</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=7045</Reference>\n    </References>\n    <Value>\n      <uax:ListOfExtensionObject xmlns:uax=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <uax:ExtensionObject>\n          <uax:TypeId>\n            <uax:Identifier>i=297</uax:Identifier>\n          </uax:TypeId>\n          <uax:Body>\n            <uax:Argument>\n              <uax:Name>MaxResults</uax:Name>\n              <uax:DataType>\n                <uax:Identifier>i=7</uax:Identifier>\n              </uax:DataType>\n              <uax:ValueRank>-1</uax:ValueRank>\n              <uax:ArrayDimensions />\n              <uax:Description />\n            </uax:Argument>\n          </uax:Body>\n        </uax:ExtensionObject>\n        <uax:ExtensionObject>\n          <uax:TypeId>\n            <uax:Identifier>i=297</uax:Identifier>\n          </uax:TypeId>\n          <uax:Body>\n            <uax:Argument>\n              <uax:Name>StartIndex</uax:Name>\n              <uax:DataType>\n                <uax:Identifier>i=7</uax:Identifier>\n              </uax:DataType>\n              <uax:ValueRank>-1</uax:ValueRank>\n              <uax:ArrayDimensions />\n              <uax:Description />\n            </uax:Argument>\n          </uax:Body>\n        </uax:ExtensionObject>\n        <uax:ExtensionObject>\n          <uax:TypeId>\n            <uax:Identifier>i=297</uax:Identifier>\n          </uax:TypeId>\n          <uax:Body>\n            <uax:Argument>\n              <uax:Name>Timeout</uax:Name>\n              <uax:DataType>\n                <uax:Identifier>i=6</uax:Identifier>\n              </uax:DataType>\n              <uax:ValueRank>-1</uax:ValueRank>\n              <uax:ArrayDimensions />\n              <uax:Description />\n            </uax:Argument>\n          </uax:Body>\n        </uax:ExtensionObject>\n      </uax:ListOfExtensionObject>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=6105\" BrowseName=\"OutputArguments\" ParentNodeId=\"ns=1;i=7045\" DataType=\"Argument\" ValueRank=\"1\" ArrayDimensions=\"5\">\n    <DisplayName>OutputArguments</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=7045</Reference>\n    </References>\n    <Value>\n      <uax:ListOfExtensionObject xmlns:uax=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <uax:ExtensionObject>\n          <uax:TypeId>\n            <uax:Identifier>i=297</uax:Identifier>\n          </uax:TypeId>\n          <uax:Body>\n            <uax:Argument>\n              <uax:Name>IsComplete</uax:Name>\n              <uax:DataType>\n                <uax:Identifier>i=1</uax:Identifier>\n              </uax:DataType>\n              <uax:ValueRank>-1</uax:ValueRank>\n              <uax:ArrayDimensions />\n              <uax:Description />\n            </uax:Argument>\n          </uax:Body>\n        </uax:ExtensionObject>\n        <uax:ExtensionObject>\n          <uax:TypeId>\n            <uax:Identifier>i=297</uax:Identifier>\n          </uax:TypeId>\n          <uax:Body>\n            <uax:Argument>\n              <uax:Name>ResultCount</uax:Name>\n              <uax:DataType>\n                <uax:Identifier>i=7</uax:Identifier>\n              </uax:DataType>\n              <uax:ValueRank>-1</uax:ValueRank>\n              <uax:ArrayDimensions />\n              <uax:Description />\n            </uax:Argument>\n          </uax:Body>\n        </uax:ExtensionObject>\n        <uax:ExtensionObject>\n          <uax:TypeId>\n            <uax:Identifier>i=297</uax:Identifier>\n          </uax:TypeId>\n          <uax:Body>\n            <uax:Argument>\n              <uax:Name>ConfigurationHandle</uax:Name>\n              <uax:DataType>\n                <uax:Identifier>ns=1;i=3018</uax:Identifier>\n              </uax:DataType>\n              <uax:ValueRank>-1</uax:ValueRank>\n              <uax:ArrayDimensions />\n              <uax:Description />\n            </uax:Argument>\n          </uax:Body>\n        </uax:ExtensionObject>\n        <uax:ExtensionObject>\n          <uax:TypeId>\n            <uax:Identifier>i=297</uax:Identifier>\n          </uax:TypeId>\n          <uax:Body>\n            <uax:Argument>\n              <uax:Name>ConfigurationList</uax:Name>\n              <uax:DataType>\n                <uax:Identifier>ns=1;i=3007</uax:Identifier>\n              </uax:DataType>\n              <uax:ValueRank>1</uax:ValueRank>\n              <uax:ArrayDimensions />\n              <uax:Description />\n            </uax:Argument>\n          </uax:Body>\n        </uax:ExtensionObject>\n        <uax:ExtensionObject>\n          <uax:TypeId>\n            <uax:Identifier>i=297</uax:Identifier>\n          </uax:TypeId>\n          <uax:Body>\n            <uax:Argument>\n              <uax:Name>Error</uax:Name>\n              <uax:DataType>\n                <uax:Identifier>i=6</uax:Identifier>\n              </uax:DataType>\n              <uax:ValueRank>-1</uax:ValueRank>\n              <uax:ArrayDimensions />\n              <uax:Description />\n            </uax:Argument>\n          </uax:Body>\n        </uax:ExtensionObject>\n      </uax:ListOfExtensionObject>\n    </Value>\n  </UAVariable>\n  <UAMethod NodeId=\"ns=1;i=7046\" BrowseName=\"1:ReleaseConfigurationHandle\" ParentNodeId=\"ns=1;i=1006\">\n    <DisplayName>ReleaseConfigurationHandle</DisplayName>\n    <Documentation>https://reference.opcfoundation.org/v104/MachineVision/v100/docs/7.2.2/#7.2.2.4</Documentation>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=6108</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=80</Reference>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=6109</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=1006</Reference>\n    </References>\n  </UAMethod>\n  <UAVariable NodeId=\"ns=1;i=6108\" BrowseName=\"InputArguments\" ParentNodeId=\"ns=1;i=7046\" DataType=\"Argument\" ValueRank=\"1\" ArrayDimensions=\"1\">\n    <DisplayName>InputArguments</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=7046</Reference>\n    </References>\n    <Value>\n      <uax:ListOfExtensionObject xmlns:uax=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <uax:ExtensionObject>\n          <uax:TypeId>\n            <uax:Identifier>i=297</uax:Identifier>\n          </uax:TypeId>\n          <uax:Body>\n            <uax:Argument>\n              <uax:Name>ConfigurationHandle</uax:Name>\n              <uax:DataType>\n                <uax:Identifier>ns=1;i=3018</uax:Identifier>\n              </uax:DataType>\n              <uax:ValueRank>-1</uax:ValueRank>\n              <uax:ArrayDimensions />\n              <uax:Description />\n            </uax:Argument>\n          </uax:Body>\n        </uax:ExtensionObject>\n      </uax:ListOfExtensionObject>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=6109\" BrowseName=\"OutputArguments\" ParentNodeId=\"ns=1;i=7046\" DataType=\"Argument\" ValueRank=\"1\" ArrayDimensions=\"1\">\n    <DisplayName>OutputArguments</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=7046</Reference>\n    </References>\n    <Value>\n      <uax:ListOfExtensionObject xmlns:uax=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <uax:ExtensionObject>\n          <uax:TypeId>\n            <uax:Identifier>i=297</uax:Identifier>\n          </uax:TypeId>\n          <uax:Body>\n            <uax:Argument>\n              <uax:Name>Error</uax:Name>\n              <uax:DataType>\n                <uax:Identifier>i=6</uax:Identifier>\n              </uax:DataType>\n              <uax:ValueRank>-1</uax:ValueRank>\n              <uax:ArrayDimensions />\n              <uax:Description />\n            </uax:Argument>\n          </uax:Body>\n        </uax:ExtensionObject>\n      </uax:ListOfExtensionObject>\n    </Value>\n  </UAVariable>\n  <UAMethod NodeId=\"ns=1;i=7047\" BrowseName=\"1:RemoveConfiguration\" ParentNodeId=\"ns=1;i=1006\">\n    <DisplayName>RemoveConfiguration</DisplayName>\n    <Documentation>https://reference.opcfoundation.org/v104/MachineVision/v100/docs/7.2.2/#7.2.2.5</Documentation>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=6112</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=80</Reference>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=6113</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=1006</Reference>\n    </References>\n  </UAMethod>\n  <UAVariable NodeId=\"ns=1;i=6112\" BrowseName=\"InputArguments\" ParentNodeId=\"ns=1;i=7047\" DataType=\"Argument\" ValueRank=\"1\" ArrayDimensions=\"1\">\n    <DisplayName>InputArguments</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=7047</Reference>\n    </References>\n    <Value>\n      <uax:ListOfExtensionObject xmlns:uax=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <uax:ExtensionObject>\n          <uax:TypeId>\n            <uax:Identifier>i=297</uax:Identifier>\n          </uax:TypeId>\n          <uax:Body>\n            <uax:Argument>\n              <uax:Name>InternalId</uax:Name>\n              <uax:DataType>\n                <uax:Identifier>ns=1;i=3008</uax:Identifier>\n              </uax:DataType>\n              <uax:ValueRank>-1</uax:ValueRank>\n              <uax:ArrayDimensions />\n              <uax:Description />\n            </uax:Argument>\n          </uax:Body>\n        </uax:ExtensionObject>\n      </uax:ListOfExtensionObject>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=6113\" BrowseName=\"OutputArguments\" ParentNodeId=\"ns=1;i=7047\" DataType=\"Argument\" ValueRank=\"1\" ArrayDimensions=\"1\">\n    <DisplayName>OutputArguments</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=7047</Reference>\n    </References>\n    <Value>\n      <uax:ListOfExtensionObject xmlns:uax=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <uax:ExtensionObject>\n          <uax:TypeId>\n            <uax:Identifier>i=297</uax:Identifier>\n          </uax:TypeId>\n          <uax:Body>\n            <uax:Argument>\n              <uax:Name>Error</uax:Name>\n              <uax:DataType>\n                <uax:Identifier>i=6</uax:Identifier>\n              </uax:DataType>\n              <uax:ValueRank>-1</uax:ValueRank>\n              <uax:ArrayDimensions />\n              <uax:Description />\n            </uax:Argument>\n          </uax:Body>\n        </uax:ExtensionObject>\n      </uax:ListOfExtensionObject>\n    </Value>\n  </UAVariable>\n  <UAObjectType NodeId=\"ns=1;i=1011\" BrowseName=\"1:ConfigurationFolderType\">\n    <DisplayName>ConfigurationFolderType</DisplayName>\n    <Documentation>https://reference.opcfoundation.org/v104/MachineVision/v100/docs/7.3</Documentation>\n    <References>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=6120</Reference>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=61</Reference>\n    </References>\n  </UAObjectType>\n  <UAVariable NodeId=\"ns=1;i=6120\" BrowseName=\"1:&lt;Configuration&gt;\" SymbolicName=\"Configuration\" ParentNodeId=\"ns=1;i=1011\" DataType=\"ConfigurationDataType\" AccessLevel=\"3\">\n    <DisplayName>&lt;Configuration&gt;</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=1011</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=63</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=11508</Reference>\n    </References>\n    <Value>\n      <uax:ExtensionObject xmlns:uax=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <uax:TypeId>\n          <uax:Identifier>ns=1;i=5089</uax:Identifier>\n        </uax:TypeId>\n        <uax:Body>\n          <ConfigurationDataType xmlns=\"http://opcfoundation.org/UA/MachineVision/Types.xsd\">\n            <EncodingMask>0</EncodingMask>\n            <InternalId>\n              <Id>\n              </Id>\n            </InternalId>\n            <LastModified>1900-01-01T00:00:00Z</LastModified>\n          </ConfigurationDataType>\n        </uax:Body>\n      </uax:ExtensionObject>\n    </Value>\n  </UAVariable>\n  <UAObjectType NodeId=\"ns=1;i=1010\" BrowseName=\"1:ProductFolderType\">\n    <DisplayName>ProductFolderType</DisplayName>\n    <Documentation>https://reference.opcfoundation.org/v104/MachineVision/v100/docs/7.9</Documentation>\n    <References>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=6621</Reference>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=61</Reference>\n    </References>\n  </UAObjectType>\n  <UAVariable NodeId=\"ns=1;i=6621\" BrowseName=\"1:&lt;Product&gt;\" SymbolicName=\"Product\" ParentNodeId=\"ns=1;i=1010\" DataType=\"ProductDataType\" AccessLevel=\"3\">\n    <DisplayName>&lt;Product&gt;</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=1010</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=63</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=11508</Reference>\n    </References>\n  </UAVariable>\n  <UAObjectType NodeId=\"ns=1;i=1008\" BrowseName=\"1:RecipeFolderType\">\n    <DisplayName>RecipeFolderType</DisplayName>\n    <Documentation>https://reference.opcfoundation.org/v104/MachineVision/v100/docs/7.8</Documentation>\n    <References>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=5270</Reference>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=61</Reference>\n    </References>\n  </UAObjectType>\n  <UAObject NodeId=\"ns=1;i=5270\" BrowseName=\"1:&lt;Recipe&gt;\" SymbolicName=\"Recipe\" ParentNodeId=\"ns=1;i=1008\">\n    <DisplayName>&lt;Recipe&gt;</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=1008</Reference>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=6608</Reference>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=6609</Reference>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=6610</Reference>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=6611</Reference>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=6612</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=7076</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=11508</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=7114</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">ns=1;i=1002</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=7120</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=7121</Reference>\n    </References>\n  </UAObject>\n  <UAVariable NodeId=\"ns=1;i=6608\" BrowseName=\"1:ExternalId\" ParentNodeId=\"ns=1;i=5270\" DataType=\"RecipeIdExternalDataType\" AccessLevel=\"3\">\n    <DisplayName>ExternalId</DisplayName>\n    <Description>Recipe ID for identifying the recipe outside the vision system. The ExternalID is only managed by the host system.</Description>\n    <References>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=5270</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=80</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=6609\" BrowseName=\"1:InternalId\" ParentNodeId=\"ns=1;i=5270\" DataType=\"RecipeIdInternalDataType\" AccessLevel=\"3\">\n    <DisplayName>InternalId</DisplayName>\n    <Description>System-wide unique ID for identifying a recipe. This ID is assigned by the vision system.</Description>\n    <References>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=5270</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=6610\" BrowseName=\"1:IsPrepared\" ParentNodeId=\"ns=1;i=5270\" DataType=\"Boolean\" AccessLevel=\"3\">\n    <DisplayName>IsPrepared</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=5270</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=6611\" BrowseName=\"1:LastModified\" ParentNodeId=\"ns=1;i=5270\" DataType=\"UtcTime\" AccessLevel=\"3\">\n    <DisplayName>LastModified</DisplayName>\n    <Description>The time when this recipe was last modified.</Description>\n    <References>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=5270</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=6612\" BrowseName=\"1:LinkedProducts\" ParentNodeId=\"ns=1;i=5270\" DataType=\"ProductIdDataType\" ValueRank=\"1\" ArrayDimensions=\"0\" AccessLevel=\"3\">\n    <DisplayName>LinkedProducts</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=5270</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=80</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n    </References>\n  </UAVariable>\n  <UAMethod NodeId=\"ns=1;i=7076\" BrowseName=\"1:LinkProduct\" ParentNodeId=\"ns=1;i=5270\" MethodDeclarationId=\"ns=1;i=7062\">\n    <DisplayName>LinkProduct</DisplayName>\n    <Documentation>https://reference.opcfoundation.org/v104/MachineVision/v100/docs/7.7.2/#7.7.2.2</Documentation>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=6613</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=5270</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=80</Reference>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=6614</Reference>\n    </References>\n  </UAMethod>\n  <UAVariable NodeId=\"ns=1;i=6613\" BrowseName=\"InputArguments\" ParentNodeId=\"ns=1;i=7076\" DataType=\"Argument\" ValueRank=\"1\" ArrayDimensions=\"1\">\n    <DisplayName>InputArguments</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=7076</Reference>\n    </References>\n    <Value>\n      <uax:ListOfExtensionObject xmlns:uax=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <uax:ExtensionObject>\n          <uax:TypeId>\n            <uax:Identifier>i=297</uax:Identifier>\n          </uax:TypeId>\n          <uax:Body>\n            <uax:Argument>\n              <uax:Name>ProductId</uax:Name>\n              <uax:DataType>\n                <uax:Identifier>ns=1;i=3003</uax:Identifier>\n              </uax:DataType>\n              <uax:ValueRank>-1</uax:ValueRank>\n              <uax:ArrayDimensions />\n              <uax:Description />\n            </uax:Argument>\n          </uax:Body>\n        </uax:ExtensionObject>\n      </uax:ListOfExtensionObject>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=6614\" BrowseName=\"OutputArguments\" ParentNodeId=\"ns=1;i=7076\" DataType=\"Argument\" ValueRank=\"1\" ArrayDimensions=\"1\">\n    <DisplayName>OutputArguments</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=7076</Reference>\n    </References>\n    <Value>\n      <uax:ListOfExtensionObject xmlns:uax=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <uax:ExtensionObject>\n          <uax:TypeId>\n            <uax:Identifier>i=297</uax:Identifier>\n          </uax:TypeId>\n          <uax:Body>\n            <uax:Argument>\n              <uax:Name>Error</uax:Name>\n              <uax:DataType>\n                <uax:Identifier>i=6</uax:Identifier>\n              </uax:DataType>\n              <uax:ValueRank>-1</uax:ValueRank>\n              <uax:ArrayDimensions />\n              <uax:Description />\n            </uax:Argument>\n          </uax:Body>\n        </uax:ExtensionObject>\n      </uax:ListOfExtensionObject>\n    </Value>\n  </UAVariable>\n  <UAMethod NodeId=\"ns=1;i=7114\" BrowseName=\"1:Prepare\" ParentNodeId=\"ns=1;i=5270\" MethodDeclarationId=\"ns=1;i=7064\">\n    <DisplayName>Prepare</DisplayName>\n    <Documentation>https://reference.opcfoundation.org/v104/MachineVision/v100/docs/7.7.2/#7.7.2.4</Documentation>\n    <References>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=6615</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=5270</Reference>\n    </References>\n  </UAMethod>\n  <UAVariable NodeId=\"ns=1;i=6615\" BrowseName=\"OutputArguments\" ParentNodeId=\"ns=1;i=7114\" DataType=\"Argument\" ValueRank=\"1\" ArrayDimensions=\"2\">\n    <DisplayName>OutputArguments</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=7114</Reference>\n    </References>\n    <Value>\n      <uax:ListOfExtensionObject xmlns:uax=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <uax:ExtensionObject>\n          <uax:TypeId>\n            <uax:Identifier>i=297</uax:Identifier>\n          </uax:TypeId>\n          <uax:Body>\n            <uax:Argument>\n              <uax:Name>IsCompleted</uax:Name>\n              <uax:DataType>\n                <uax:Identifier>i=1</uax:Identifier>\n              </uax:DataType>\n              <uax:ValueRank>-1</uax:ValueRank>\n              <uax:ArrayDimensions />\n              <uax:Description />\n            </uax:Argument>\n          </uax:Body>\n        </uax:ExtensionObject>\n        <uax:ExtensionObject>\n          <uax:TypeId>\n            <uax:Identifier>i=297</uax:Identifier>\n          </uax:TypeId>\n          <uax:Body>\n            <uax:Argument>\n              <uax:Name>Error</uax:Name>\n              <uax:DataType>\n                <uax:Identifier>i=6</uax:Identifier>\n              </uax:DataType>\n              <uax:ValueRank>-1</uax:ValueRank>\n              <uax:ArrayDimensions />\n              <uax:Description />\n            </uax:Argument>\n          </uax:Body>\n        </uax:ExtensionObject>\n      </uax:ListOfExtensionObject>\n    </Value>\n  </UAVariable>\n  <UAMethod NodeId=\"ns=1;i=7120\" BrowseName=\"1:UnlinkProduct\" ParentNodeId=\"ns=1;i=5270\" MethodDeclarationId=\"ns=1;i=7063\">\n    <DisplayName>UnlinkProduct</DisplayName>\n    <Documentation>https://reference.opcfoundation.org/v104/MachineVision/v100/docs/7.7.2/#7.7.2.3</Documentation>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=6616</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=80</Reference>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=6619</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=5270</Reference>\n    </References>\n  </UAMethod>\n  <UAVariable NodeId=\"ns=1;i=6616\" BrowseName=\"InputArguments\" ParentNodeId=\"ns=1;i=7120\" DataType=\"Argument\" ValueRank=\"1\" ArrayDimensions=\"1\">\n    <DisplayName>InputArguments</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=7120</Reference>\n    </References>\n    <Value>\n      <uax:ListOfExtensionObject xmlns:uax=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <uax:ExtensionObject>\n          <uax:TypeId>\n            <uax:Identifier>i=297</uax:Identifier>\n          </uax:TypeId>\n          <uax:Body>\n            <uax:Argument>\n              <uax:Name>ProductId</uax:Name>\n              <uax:DataType>\n                <uax:Identifier>ns=1;i=3003</uax:Identifier>\n              </uax:DataType>\n              <uax:ValueRank>-1</uax:ValueRank>\n              <uax:ArrayDimensions />\n              <uax:Description />\n            </uax:Argument>\n          </uax:Body>\n        </uax:ExtensionObject>\n      </uax:ListOfExtensionObject>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=6619\" BrowseName=\"OutputArguments\" ParentNodeId=\"ns=1;i=7120\" DataType=\"Argument\" ValueRank=\"1\" ArrayDimensions=\"1\">\n    <DisplayName>OutputArguments</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=7120</Reference>\n    </References>\n    <Value>\n      <uax:ListOfExtensionObject xmlns:uax=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <uax:ExtensionObject>\n          <uax:TypeId>\n            <uax:Identifier>i=297</uax:Identifier>\n          </uax:TypeId>\n          <uax:Body>\n            <uax:Argument>\n              <uax:Name>Error</uax:Name>\n              <uax:DataType>\n                <uax:Identifier>i=6</uax:Identifier>\n              </uax:DataType>\n              <uax:ValueRank>-1</uax:ValueRank>\n              <uax:ArrayDimensions />\n              <uax:Description />\n            </uax:Argument>\n          </uax:Body>\n        </uax:ExtensionObject>\n      </uax:ListOfExtensionObject>\n    </Value>\n  </UAVariable>\n  <UAMethod NodeId=\"ns=1;i=7121\" BrowseName=\"1:Unprepare\" ParentNodeId=\"ns=1;i=5270\" MethodDeclarationId=\"ns=1;i=7065\">\n    <DisplayName>Unprepare</DisplayName>\n    <Documentation>https://reference.opcfoundation.org/v104/MachineVision/v100/docs/7.7.2/#7.7.2.5</Documentation>\n    <References>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=6620</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=5270</Reference>\n    </References>\n  </UAMethod>\n  <UAVariable NodeId=\"ns=1;i=6620\" BrowseName=\"OutputArguments\" ParentNodeId=\"ns=1;i=7121\" DataType=\"Argument\" ValueRank=\"1\" ArrayDimensions=\"1\">\n    <DisplayName>OutputArguments</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=7121</Reference>\n    </References>\n    <Value>\n      <uax:ListOfExtensionObject xmlns:uax=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <uax:ExtensionObject>\n          <uax:TypeId>\n            <uax:Identifier>i=297</uax:Identifier>\n          </uax:TypeId>\n          <uax:Body>\n            <uax:Argument>\n              <uax:Name>Error</uax:Name>\n              <uax:DataType>\n                <uax:Identifier>i=6</uax:Identifier>\n              </uax:DataType>\n              <uax:ValueRank>-1</uax:ValueRank>\n              <uax:ArrayDimensions />\n              <uax:Description />\n            </uax:Argument>\n          </uax:Body>\n        </uax:ExtensionObject>\n      </uax:ListOfExtensionObject>\n    </Value>\n  </UAVariable>\n  <UAObjectType NodeId=\"ns=1;i=1016\" BrowseName=\"1:ResultFolderType\">\n    <DisplayName>ResultFolderType</DisplayName>\n    <Documentation>https://reference.opcfoundation.org/v104/MachineVision/v100/docs/7.11</Documentation>\n    <References>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=6168</Reference>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=61</Reference>\n    </References>\n  </UAObjectType>\n  <UAVariable NodeId=\"ns=1;i=6168\" BrowseName=\"1:&lt;ResultVariable&gt;\" SymbolicName=\"ResultVariable\" ParentNodeId=\"ns=1;i=1016\" DataType=\"ResultDataType\" AccessLevel=\"3\">\n    <DisplayName>&lt;ResultVariable&gt;</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=1016</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=6334</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=6335</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=6336</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=6356</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=6357</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=11508</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=6379</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=6548</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">ns=1;i=2002</Reference>\n    </References>\n    <Value>\n      <uax:ExtensionObject xmlns:uax=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <uax:TypeId>\n          <uax:Identifier>ns=1;i=5019</uax:Identifier>\n        </uax:TypeId>\n        <uax:Body>\n          <ResultDataType xmlns=\"http://opcfoundation.org/UA/MachineVision/Types.xsd\">\n            <EncodingMask>0</EncodingMask>\n            <ResultId>\n              <Id>\n              </Id>\n            </ResultId>\n            <IsPartial>false</IsPartial>\n            <ResultState>0</ResultState>\n            <InternalRecipeId>\n              <Id>\n              </Id>\n            </InternalRecipeId>\n            <InternalConfigurationId>\n              <Id>\n              </Id>\n            </InternalConfigurationId>\n            <JobId>\n              <Id>\n              </Id>\n            </JobId>\n            <CreationTime>1900-01-01T00:00:00Z</CreationTime>\n          </ResultDataType>\n        </uax:Body>\n      </uax:ExtensionObject>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=6334\" BrowseName=\"1:CreationTime\" ParentNodeId=\"ns=1;i=6168\" DataType=\"UtcTime\" AccessLevel=\"3\">\n    <DisplayName>CreationTime</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=63</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=6168</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=6335\" BrowseName=\"1:InternalConfigurationId\" ParentNodeId=\"ns=1;i=6168\" DataType=\"ConfigurationIdDataType\" AccessLevel=\"3\">\n    <DisplayName>InternalConfigurationId</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=63</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=6168</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=6336\" BrowseName=\"1:InternalRecipeId\" ParentNodeId=\"ns=1;i=6168\" DataType=\"RecipeIdInternalDataType\" AccessLevel=\"3\">\n    <DisplayName>InternalRecipeId</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=63</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=6168</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=6356\" BrowseName=\"1:IsPartial\" ParentNodeId=\"ns=1;i=6168\" DataType=\"Boolean\" AccessLevel=\"3\">\n    <DisplayName>IsPartial</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=63</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=6168</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=6357\" BrowseName=\"1:JobId\" ParentNodeId=\"ns=1;i=6168\" DataType=\"JobIdDataType\" AccessLevel=\"3\">\n    <DisplayName>JobId</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=63</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=6168</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=6379\" BrowseName=\"1:ResultId\" ParentNodeId=\"ns=1;i=6168\" DataType=\"ResultIdDataType\" AccessLevel=\"3\">\n    <DisplayName>ResultId</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=63</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=6168</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=6548\" BrowseName=\"1:ResultState\" ParentNodeId=\"ns=1;i=6168\" DataType=\"ResultStateDataType\" AccessLevel=\"3\">\n    <DisplayName>ResultState</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=63</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=6168</Reference>\n    </References>\n  </UAVariable>\n  <UAObjectType NodeId=\"ns=1;i=1004\" BrowseName=\"1:RecipeManagementType\">\n    <DisplayName>RecipeManagementType</DisplayName>\n    <Documentation>https://reference.opcfoundation.org/v104/MachineVision/v100/docs/7.5.1</Documentation>\n    <References>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=7013</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=7014</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=7060</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=7015</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=5022</Reference>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=58</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=5005</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=5264</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=7056</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=7057</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=7061</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=7059</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=7055</Reference>\n    </References>\n  </UAObjectType>\n  <UAMethod NodeId=\"ns=1;i=7013\" BrowseName=\"1:AddRecipe\" ParentNodeId=\"ns=1;i=1004\">\n    <DisplayName>AddRecipe</DisplayName>\n    <Documentation>https://reference.opcfoundation.org/v104/MachineVision/v100/docs/7.5.2/#7.5.2.1.1</Documentation>\n    <References>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=1004</Reference>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=6144</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=80</Reference>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=6145</Reference>\n    </References>\n  </UAMethod>\n  <UAVariable NodeId=\"ns=1;i=6144\" BrowseName=\"InputArguments\" ParentNodeId=\"ns=1;i=7013\" DataType=\"Argument\" ValueRank=\"1\" ArrayDimensions=\"2\">\n    <DisplayName>InputArguments</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=7013</Reference>\n    </References>\n    <Value>\n      <uax:ListOfExtensionObject xmlns:uax=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <uax:ExtensionObject>\n          <uax:TypeId>\n            <uax:Identifier>i=297</uax:Identifier>\n          </uax:TypeId>\n          <uax:Body>\n            <uax:Argument>\n              <uax:Name>ExternalId</uax:Name>\n              <uax:DataType>\n                <uax:Identifier>ns=1;i=3002</uax:Identifier>\n              </uax:DataType>\n              <uax:ValueRank>-1</uax:ValueRank>\n              <uax:ArrayDimensions />\n              <uax:Description />\n            </uax:Argument>\n          </uax:Body>\n        </uax:ExtensionObject>\n        <uax:ExtensionObject>\n          <uax:TypeId>\n            <uax:Identifier>i=297</uax:Identifier>\n          </uax:TypeId>\n          <uax:Body>\n            <uax:Argument>\n              <uax:Name>ProductId</uax:Name>\n              <uax:DataType>\n                <uax:Identifier>ns=1;i=3003</uax:Identifier>\n              </uax:DataType>\n              <uax:ValueRank>-1</uax:ValueRank>\n              <uax:ArrayDimensions />\n              <uax:Description />\n            </uax:Argument>\n          </uax:Body>\n        </uax:ExtensionObject>\n      </uax:ListOfExtensionObject>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=6145\" BrowseName=\"OutputArguments\" ParentNodeId=\"ns=1;i=7013\" DataType=\"Argument\" ValueRank=\"1\" ArrayDimensions=\"5\">\n    <DisplayName>OutputArguments</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=7013</Reference>\n    </References>\n    <Value>\n      <uax:ListOfExtensionObject xmlns:uax=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <uax:ExtensionObject>\n          <uax:TypeId>\n            <uax:Identifier>i=297</uax:Identifier>\n          </uax:TypeId>\n          <uax:Body>\n            <uax:Argument>\n              <uax:Name>InternalId</uax:Name>\n              <uax:DataType>\n                <uax:Identifier>ns=1;i=3013</uax:Identifier>\n              </uax:DataType>\n              <uax:ValueRank>-1</uax:ValueRank>\n              <uax:ArrayDimensions />\n              <uax:Description />\n            </uax:Argument>\n          </uax:Body>\n        </uax:ExtensionObject>\n        <uax:ExtensionObject>\n          <uax:TypeId>\n            <uax:Identifier>i=297</uax:Identifier>\n          </uax:TypeId>\n          <uax:Body>\n            <uax:Argument>\n              <uax:Name>Recipe</uax:Name>\n              <uax:DataType>\n                <uax:Identifier>i=17</uax:Identifier>\n              </uax:DataType>\n              <uax:ValueRank>-1</uax:ValueRank>\n              <uax:ArrayDimensions />\n              <uax:Description />\n            </uax:Argument>\n          </uax:Body>\n        </uax:ExtensionObject>\n        <uax:ExtensionObject>\n          <uax:TypeId>\n            <uax:Identifier>i=297</uax:Identifier>\n          </uax:TypeId>\n          <uax:Body>\n            <uax:Argument>\n              <uax:Name>Product</uax:Name>\n              <uax:DataType>\n                <uax:Identifier>i=17</uax:Identifier>\n              </uax:DataType>\n              <uax:ValueRank>-1</uax:ValueRank>\n              <uax:ArrayDimensions />\n              <uax:Description />\n            </uax:Argument>\n          </uax:Body>\n        </uax:ExtensionObject>\n        <uax:ExtensionObject>\n          <uax:TypeId>\n            <uax:Identifier>i=297</uax:Identifier>\n          </uax:TypeId>\n          <uax:Body>\n            <uax:Argument>\n              <uax:Name>TransferRequired</uax:Name>\n              <uax:DataType>\n                <uax:Identifier>i=1</uax:Identifier>\n              </uax:DataType>\n              <uax:ValueRank>-1</uax:ValueRank>\n              <uax:ArrayDimensions />\n              <uax:Description />\n            </uax:Argument>\n          </uax:Body>\n        </uax:ExtensionObject>\n        <uax:ExtensionObject>\n          <uax:TypeId>\n            <uax:Identifier>i=297</uax:Identifier>\n          </uax:TypeId>\n          <uax:Body>\n            <uax:Argument>\n              <uax:Name>Error</uax:Name>\n              <uax:DataType>\n                <uax:Identifier>i=6</uax:Identifier>\n              </uax:DataType>\n              <uax:ValueRank>-1</uax:ValueRank>\n              <uax:ArrayDimensions />\n              <uax:Description />\n            </uax:Argument>\n          </uax:Body>\n        </uax:ExtensionObject>\n      </uax:ListOfExtensionObject>\n    </Value>\n  </UAVariable>\n  <UAMethod NodeId=\"ns=1;i=7014\" BrowseName=\"1:GetRecipeListFiltered\" ParentNodeId=\"ns=1;i=1004\">\n    <DisplayName>GetRecipeListFiltered</DisplayName>\n    <Documentation>https://reference.opcfoundation.org/v104/MachineVision/v100/docs/7.5.2/#7.5.2.4</Documentation>\n    <References>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=1004</Reference>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=6156</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=6157</Reference>\n    </References>\n  </UAMethod>\n  <UAVariable NodeId=\"ns=1;i=6156\" BrowseName=\"InputArguments\" ParentNodeId=\"ns=1;i=7014\" DataType=\"Argument\" ValueRank=\"1\" ArrayDimensions=\"6\">\n    <DisplayName>InputArguments</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=7014</Reference>\n    </References>\n    <Value>\n      <uax:ListOfExtensionObject xmlns:uax=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <uax:ExtensionObject>\n          <uax:TypeId>\n            <uax:Identifier>i=297</uax:Identifier>\n          </uax:TypeId>\n          <uax:Body>\n            <uax:Argument>\n              <uax:Name>ExternalId</uax:Name>\n              <uax:DataType>\n                <uax:Identifier>ns=1;i=3002</uax:Identifier>\n              </uax:DataType>\n              <uax:ValueRank>-1</uax:ValueRank>\n              <uax:ArrayDimensions />\n              <uax:Description />\n            </uax:Argument>\n          </uax:Body>\n        </uax:ExtensionObject>\n        <uax:ExtensionObject>\n          <uax:TypeId>\n            <uax:Identifier>i=297</uax:Identifier>\n          </uax:TypeId>\n          <uax:Body>\n            <uax:Argument>\n              <uax:Name>ProductId</uax:Name>\n              <uax:DataType>\n                <uax:Identifier>ns=1;i=3003</uax:Identifier>\n              </uax:DataType>\n              <uax:ValueRank>-1</uax:ValueRank>\n              <uax:ArrayDimensions />\n              <uax:Description />\n            </uax:Argument>\n          </uax:Body>\n        </uax:ExtensionObject>\n        <uax:ExtensionObject>\n          <uax:TypeId>\n            <uax:Identifier>i=297</uax:Identifier>\n          </uax:TypeId>\n          <uax:Body>\n            <uax:Argument>\n              <uax:Name>IsPrepared</uax:Name>\n              <uax:DataType>\n                <uax:Identifier>ns=1;i=3014</uax:Identifier>\n              </uax:DataType>\n              <uax:ValueRank>-1</uax:ValueRank>\n              <uax:ArrayDimensions />\n              <uax:Description />\n            </uax:Argument>\n          </uax:Body>\n        </uax:ExtensionObject>\n        <uax:ExtensionObject>\n          <uax:TypeId>\n            <uax:Identifier>i=297</uax:Identifier>\n          </uax:TypeId>\n          <uax:Body>\n            <uax:Argument>\n              <uax:Name>MaxResults</uax:Name>\n              <uax:DataType>\n                <uax:Identifier>i=7</uax:Identifier>\n              </uax:DataType>\n              <uax:ValueRank>-1</uax:ValueRank>\n              <uax:ArrayDimensions />\n              <uax:Description />\n            </uax:Argument>\n          </uax:Body>\n        </uax:ExtensionObject>\n        <uax:ExtensionObject>\n          <uax:TypeId>\n            <uax:Identifier>i=297</uax:Identifier>\n          </uax:TypeId>\n          <uax:Body>\n            <uax:Argument>\n              <uax:Name>StartIndex</uax:Name>\n              <uax:DataType>\n                <uax:Identifier>i=7</uax:Identifier>\n              </uax:DataType>\n              <uax:ValueRank>-1</uax:ValueRank>\n              <uax:ArrayDimensions />\n              <uax:Description />\n            </uax:Argument>\n          </uax:Body>\n        </uax:ExtensionObject>\n        <uax:ExtensionObject>\n          <uax:TypeId>\n            <uax:Identifier>i=297</uax:Identifier>\n          </uax:TypeId>\n          <uax:Body>\n            <uax:Argument>\n              <uax:Name>Timeout</uax:Name>\n              <uax:DataType>\n                <uax:Identifier>i=6</uax:Identifier>\n              </uax:DataType>\n              <uax:ValueRank>-1</uax:ValueRank>\n              <uax:ArrayDimensions />\n              <uax:Description />\n            </uax:Argument>\n          </uax:Body>\n        </uax:ExtensionObject>\n      </uax:ListOfExtensionObject>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=6157\" BrowseName=\"OutputArguments\" ParentNodeId=\"ns=1;i=7014\" DataType=\"Argument\" ValueRank=\"1\" ArrayDimensions=\"5\">\n    <DisplayName>OutputArguments</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=7014</Reference>\n    </References>\n    <Value>\n      <uax:ListOfExtensionObject xmlns:uax=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <uax:ExtensionObject>\n          <uax:TypeId>\n            <uax:Identifier>i=297</uax:Identifier>\n          </uax:TypeId>\n          <uax:Body>\n            <uax:Argument>\n              <uax:Name>IsComplete</uax:Name>\n              <uax:DataType>\n                <uax:Identifier>i=1</uax:Identifier>\n              </uax:DataType>\n              <uax:ValueRank>-1</uax:ValueRank>\n              <uax:ArrayDimensions />\n              <uax:Description />\n            </uax:Argument>\n          </uax:Body>\n        </uax:ExtensionObject>\n        <uax:ExtensionObject>\n          <uax:TypeId>\n            <uax:Identifier>i=297</uax:Identifier>\n          </uax:TypeId>\n          <uax:Body>\n            <uax:Argument>\n              <uax:Name>ResultCount</uax:Name>\n              <uax:DataType>\n                <uax:Identifier>i=7</uax:Identifier>\n              </uax:DataType>\n              <uax:ValueRank>-1</uax:ValueRank>\n              <uax:ArrayDimensions />\n              <uax:Description />\n            </uax:Argument>\n          </uax:Body>\n        </uax:ExtensionObject>\n        <uax:ExtensionObject>\n          <uax:TypeId>\n            <uax:Identifier>i=297</uax:Identifier>\n          </uax:TypeId>\n          <uax:Body>\n            <uax:Argument>\n              <uax:Name>RecipeHandle</uax:Name>\n              <uax:DataType>\n                <uax:Identifier>ns=1;i=3018</uax:Identifier>\n              </uax:DataType>\n              <uax:ValueRank>-1</uax:ValueRank>\n              <uax:ArrayDimensions />\n              <uax:Description />\n            </uax:Argument>\n          </uax:Body>\n        </uax:ExtensionObject>\n        <uax:ExtensionObject>\n          <uax:TypeId>\n            <uax:Identifier>i=297</uax:Identifier>\n          </uax:TypeId>\n          <uax:Body>\n            <uax:Argument>\n              <uax:Name>RecipeList</uax:Name>\n              <uax:DataType>\n                <uax:Identifier>ns=1;i=3013</uax:Identifier>\n              </uax:DataType>\n              <uax:ValueRank>1</uax:ValueRank>\n              <uax:ArrayDimensions />\n              <uax:Description />\n            </uax:Argument>\n          </uax:Body>\n        </uax:ExtensionObject>\n        <uax:ExtensionObject>\n          <uax:TypeId>\n            <uax:Identifier>i=297</uax:Identifier>\n          </uax:TypeId>\n          <uax:Body>\n            <uax:Argument>\n              <uax:Name>Error</uax:Name>\n              <uax:DataType>\n                <uax:Identifier>i=6</uax:Identifier>\n              </uax:DataType>\n              <uax:ValueRank>-1</uax:ValueRank>\n              <uax:ArrayDimensions />\n              <uax:Description />\n            </uax:Argument>\n          </uax:Body>\n        </uax:ExtensionObject>\n      </uax:ListOfExtensionObject>\n    </Value>\n  </UAVariable>\n  <UAMethod NodeId=\"ns=1;i=7060\" BrowseName=\"1:PrepareProduct\" ParentNodeId=\"ns=1;i=1004\">\n    <DisplayName>PrepareProduct</DisplayName>\n    <Documentation>https://reference.opcfoundation.org/v104/MachineVision/v100/docs/7.5.2/#7.5.2.7</Documentation>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=6172</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=80</Reference>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=6173</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=1004</Reference>\n      <Reference ReferenceType=\"HasCause\" IsForward=\"false\">ns=1;i=5045</Reference>\n    </References>\n  </UAMethod>\n  <UAVariable NodeId=\"ns=1;i=6172\" BrowseName=\"InputArguments\" ParentNodeId=\"ns=1;i=7060\" DataType=\"Argument\" ValueRank=\"1\" ArrayDimensions=\"1\">\n    <DisplayName>InputArguments</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=7060</Reference>\n    </References>\n    <Value>\n      <uax:ListOfExtensionObject xmlns:uax=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <uax:ExtensionObject>\n          <uax:TypeId>\n            <uax:Identifier>i=297</uax:Identifier>\n          </uax:TypeId>\n          <uax:Body>\n            <uax:Argument>\n              <uax:Name>ProductId</uax:Name>\n              <uax:DataType>\n                <uax:Identifier>ns=1;i=3003</uax:Identifier>\n              </uax:DataType>\n              <uax:ValueRank>-1</uax:ValueRank>\n              <uax:ArrayDimensions />\n              <uax:Description />\n            </uax:Argument>\n          </uax:Body>\n        </uax:ExtensionObject>\n      </uax:ListOfExtensionObject>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=6173\" BrowseName=\"OutputArguments\" ParentNodeId=\"ns=1;i=7060\" DataType=\"Argument\" ValueRank=\"1\" ArrayDimensions=\"2\">\n    <DisplayName>OutputArguments</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=7060</Reference>\n    </References>\n    <Value>\n      <uax:ListOfExtensionObject xmlns:uax=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <uax:ExtensionObject>\n          <uax:TypeId>\n            <uax:Identifier>i=297</uax:Identifier>\n          </uax:TypeId>\n          <uax:Body>\n            <uax:Argument>\n              <uax:Name>InternalId</uax:Name>\n              <uax:DataType>\n                <uax:Identifier>ns=1;i=3013</uax:Identifier>\n              </uax:DataType>\n              <uax:ValueRank>-1</uax:ValueRank>\n              <uax:ArrayDimensions />\n              <uax:Description />\n            </uax:Argument>\n          </uax:Body>\n        </uax:ExtensionObject>\n        <uax:ExtensionObject>\n          <uax:TypeId>\n            <uax:Identifier>i=297</uax:Identifier>\n          </uax:TypeId>\n          <uax:Body>\n            <uax:Argument>\n              <uax:Name>Error</uax:Name>\n              <uax:DataType>\n                <uax:Identifier>i=6</uax:Identifier>\n              </uax:DataType>\n              <uax:ValueRank>-1</uax:ValueRank>\n              <uax:ArrayDimensions />\n              <uax:Description />\n            </uax:Argument>\n          </uax:Body>\n        </uax:ExtensionObject>\n      </uax:ListOfExtensionObject>\n    </Value>\n  </UAVariable>\n  <UAMethod NodeId=\"ns=1;i=7015\" BrowseName=\"1:PrepareRecipe\" ParentNodeId=\"ns=1;i=1004\">\n    <DisplayName>PrepareRecipe</DisplayName>\n    <Documentation>https://reference.opcfoundation.org/v104/MachineVision/v100/docs/7.5.2/#7.5.2.2</Documentation>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=6148</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=6149</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=1004</Reference>\n      <Reference ReferenceType=\"HasCause\" IsForward=\"false\">ns=1;i=5060</Reference>\n    </References>\n  </UAMethod>\n  <UAVariable NodeId=\"ns=1;i=6148\" BrowseName=\"InputArguments\" ParentNodeId=\"ns=1;i=7015\" DataType=\"Argument\" ValueRank=\"1\" ArrayDimensions=\"2\">\n    <DisplayName>InputArguments</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=7015</Reference>\n    </References>\n    <Value>\n      <uax:ListOfExtensionObject xmlns:uax=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <uax:ExtensionObject>\n          <uax:TypeId>\n            <uax:Identifier>i=297</uax:Identifier>\n          </uax:TypeId>\n          <uax:Body>\n            <uax:Argument>\n              <uax:Name>ExternalId</uax:Name>\n              <uax:DataType>\n                <uax:Identifier>ns=1;i=3002</uax:Identifier>\n              </uax:DataType>\n              <uax:ValueRank>-1</uax:ValueRank>\n              <uax:ArrayDimensions />\n              <uax:Description />\n            </uax:Argument>\n          </uax:Body>\n        </uax:ExtensionObject>\n        <uax:ExtensionObject>\n          <uax:TypeId>\n            <uax:Identifier>i=297</uax:Identifier>\n          </uax:TypeId>\n          <uax:Body>\n            <uax:Argument>\n              <uax:Name>InternalIdIn</uax:Name>\n              <uax:DataType>\n                <uax:Identifier>ns=1;i=3013</uax:Identifier>\n              </uax:DataType>\n              <uax:ValueRank>-1</uax:ValueRank>\n              <uax:ArrayDimensions />\n              <uax:Description />\n            </uax:Argument>\n          </uax:Body>\n        </uax:ExtensionObject>\n      </uax:ListOfExtensionObject>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=6149\" BrowseName=\"OutputArguments\" ParentNodeId=\"ns=1;i=7015\" DataType=\"Argument\" ValueRank=\"1\" ArrayDimensions=\"3\">\n    <DisplayName>OutputArguments</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=7015</Reference>\n    </References>\n    <Value>\n      <uax:ListOfExtensionObject xmlns:uax=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <uax:ExtensionObject>\n          <uax:TypeId>\n            <uax:Identifier>i=297</uax:Identifier>\n          </uax:TypeId>\n          <uax:Body>\n            <uax:Argument>\n              <uax:Name>InternalIdOut</uax:Name>\n              <uax:DataType>\n                <uax:Identifier>ns=1;i=3013</uax:Identifier>\n              </uax:DataType>\n              <uax:ValueRank>-1</uax:ValueRank>\n              <uax:ArrayDimensions />\n              <uax:Description />\n            </uax:Argument>\n          </uax:Body>\n        </uax:ExtensionObject>\n        <uax:ExtensionObject>\n          <uax:TypeId>\n            <uax:Identifier>i=297</uax:Identifier>\n          </uax:TypeId>\n          <uax:Body>\n            <uax:Argument>\n              <uax:Name>IsCompleted</uax:Name>\n              <uax:DataType>\n                <uax:Identifier>i=1</uax:Identifier>\n              </uax:DataType>\n              <uax:ValueRank>-1</uax:ValueRank>\n              <uax:ArrayDimensions />\n              <uax:Description />\n            </uax:Argument>\n          </uax:Body>\n        </uax:ExtensionObject>\n        <uax:ExtensionObject>\n          <uax:TypeId>\n            <uax:Identifier>i=297</uax:Identifier>\n          </uax:TypeId>\n          <uax:Body>\n            <uax:Argument>\n              <uax:Name>Error</uax:Name>\n              <uax:DataType>\n                <uax:Identifier>i=6</uax:Identifier>\n              </uax:DataType>\n              <uax:ValueRank>-1</uax:ValueRank>\n              <uax:ArrayDimensions />\n              <uax:Description />\n            </uax:Argument>\n          </uax:Body>\n        </uax:ExtensionObject>\n      </uax:ListOfExtensionObject>\n    </Value>\n  </UAVariable>\n  <UAObject NodeId=\"ns=1;i=5022\" BrowseName=\"1:Products\" ParentNodeId=\"ns=1;i=1004\">\n    <DisplayName>Products</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=6622</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=80</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">ns=1;i=1010</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=1004</Reference>\n    </References>\n  </UAObject>\n  <UAVariable NodeId=\"ns=1;i=6622\" BrowseName=\"1:&lt;Product&gt;\" SymbolicName=\"Product\" ParentNodeId=\"ns=1;i=5022\" DataType=\"ProductDataType\" AccessLevel=\"3\">\n    <DisplayName>&lt;Product&gt;</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=5022</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=63</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n    </References>\n  </UAVariable>\n  <UAObject NodeId=\"ns=1;i=5005\" BrowseName=\"1:Recipes\" ParentNodeId=\"ns=1;i=1004\">\n    <DisplayName>Recipes</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasModellingRule\">i=80</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">ns=1;i=1008</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=1004</Reference>\n    </References>\n  </UAObject>\n  <UAObject NodeId=\"ns=1;i=5264\" BrowseName=\"1:RecipeTransfer\" ParentNodeId=\"ns=1;i=1004\">\n    <DisplayName>RecipeTransfer</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=6585</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=7115</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=7118</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=7119</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=80</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=1004</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">ns=1;i=1014</Reference>\n    </References>\n  </UAObject>\n  <UAVariable NodeId=\"ns=1;i=6585\" BrowseName=\"ClientProcessingTimeout\" ParentNodeId=\"ns=1;i=5264\" DataType=\"Duration\">\n    <DisplayName>ClientProcessingTimeout</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=5264</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n    </References>\n  </UAVariable>\n  <UAMethod NodeId=\"ns=1;i=7115\" BrowseName=\"CloseAndCommit\" ParentNodeId=\"ns=1;i=5264\" MethodDeclarationId=\"i=15751\">\n    <DisplayName>CloseAndCommit</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=5264</Reference>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=6586</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=6587</Reference>\n    </References>\n  </UAMethod>\n  <UAVariable NodeId=\"ns=1;i=6586\" BrowseName=\"InputArguments\" ParentNodeId=\"ns=1;i=7115\" DataType=\"Argument\" ValueRank=\"1\" ArrayDimensions=\"1\">\n    <DisplayName>InputArguments</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=7115</Reference>\n    </References>\n    <Value>\n      <uax:ListOfExtensionObject xmlns:uax=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <uax:ExtensionObject>\n          <uax:TypeId>\n            <uax:Identifier>i=297</uax:Identifier>\n          </uax:TypeId>\n          <uax:Body>\n            <uax:Argument>\n              <uax:Name>FileHandle</uax:Name>\n              <uax:DataType>\n                <uax:Identifier>i=7</uax:Identifier>\n              </uax:DataType>\n              <uax:ValueRank>-1</uax:ValueRank>\n              <uax:ArrayDimensions />\n              <uax:Description />\n            </uax:Argument>\n          </uax:Body>\n        </uax:ExtensionObject>\n      </uax:ListOfExtensionObject>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=6587\" BrowseName=\"OutputArguments\" ParentNodeId=\"ns=1;i=7115\" DataType=\"Argument\" ValueRank=\"1\" ArrayDimensions=\"1\">\n    <DisplayName>OutputArguments</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=7115</Reference>\n    </References>\n    <Value>\n      <uax:ListOfExtensionObject xmlns:uax=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <uax:ExtensionObject>\n          <uax:TypeId>\n            <uax:Identifier>i=297</uax:Identifier>\n          </uax:TypeId>\n          <uax:Body>\n            <uax:Argument>\n              <uax:Name>CompletionStateMachine</uax:Name>\n              <uax:DataType>\n                <uax:Identifier>i=17</uax:Identifier>\n              </uax:DataType>\n              <uax:ValueRank>-1</uax:ValueRank>\n              <uax:ArrayDimensions />\n              <uax:Description />\n            </uax:Argument>\n          </uax:Body>\n        </uax:ExtensionObject>\n      </uax:ListOfExtensionObject>\n    </Value>\n  </UAVariable>\n  <UAMethod NodeId=\"ns=1;i=7118\" BrowseName=\"GenerateFileForRead\" ParentNodeId=\"ns=1;i=5264\" MethodDeclarationId=\"ns=1;i=7123\">\n    <DisplayName>GenerateFileForRead</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=5264</Reference>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=6186</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=6187</Reference>\n    </References>\n  </UAMethod>\n  <UAVariable NodeId=\"ns=1;i=6186\" BrowseName=\"InputArguments\" ParentNodeId=\"ns=1;i=7118\" DataType=\"Argument\" ValueRank=\"1\" ArrayDimensions=\"1\">\n    <DisplayName>InputArguments</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=7118</Reference>\n    </References>\n    <Value>\n      <uax:ListOfExtensionObject xmlns:uax=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <uax:ExtensionObject>\n          <uax:TypeId>\n            <uax:Identifier>i=297</uax:Identifier>\n          </uax:TypeId>\n          <uax:Body>\n            <uax:Argument>\n              <uax:Name>generateOptions</uax:Name>\n              <uax:DataType>\n                <uax:Identifier>ns=1;i=3012</uax:Identifier>\n              </uax:DataType>\n              <uax:ValueRank>-1</uax:ValueRank>\n              <uax:ArrayDimensions />\n              <uax:Description />\n            </uax:Argument>\n          </uax:Body>\n        </uax:ExtensionObject>\n      </uax:ListOfExtensionObject>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=6187\" BrowseName=\"OutputArguments\" ParentNodeId=\"ns=1;i=7118\" DataType=\"Argument\" ValueRank=\"1\" ArrayDimensions=\"3\">\n    <DisplayName>OutputArguments</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=7118</Reference>\n    </References>\n    <Value>\n      <uax:ListOfExtensionObject xmlns:uax=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <uax:ExtensionObject>\n          <uax:TypeId>\n            <uax:Identifier>i=297</uax:Identifier>\n          </uax:TypeId>\n          <uax:Body>\n            <uax:Argument>\n              <uax:Name>fileNodeId</uax:Name>\n              <uax:DataType>\n                <uax:Identifier>i=17</uax:Identifier>\n              </uax:DataType>\n              <uax:ValueRank>-1</uax:ValueRank>\n              <uax:ArrayDimensions />\n              <uax:Description />\n            </uax:Argument>\n          </uax:Body>\n        </uax:ExtensionObject>\n        <uax:ExtensionObject>\n          <uax:TypeId>\n            <uax:Identifier>i=297</uax:Identifier>\n          </uax:TypeId>\n          <uax:Body>\n            <uax:Argument>\n              <uax:Name>fileHandle</uax:Name>\n              <uax:DataType>\n                <uax:Identifier>i=7</uax:Identifier>\n              </uax:DataType>\n              <uax:ValueRank>-1</uax:ValueRank>\n              <uax:ArrayDimensions />\n              <uax:Description />\n            </uax:Argument>\n          </uax:Body>\n        </uax:ExtensionObject>\n        <uax:ExtensionObject>\n          <uax:TypeId>\n            <uax:Identifier>i=297</uax:Identifier>\n          </uax:TypeId>\n          <uax:Body>\n            <uax:Argument>\n              <uax:Name>completionStateMachine</uax:Name>\n              <uax:DataType>\n                <uax:Identifier>i=17</uax:Identifier>\n              </uax:DataType>\n              <uax:ValueRank>-1</uax:ValueRank>\n              <uax:ArrayDimensions />\n              <uax:Description />\n            </uax:Argument>\n          </uax:Body>\n        </uax:ExtensionObject>\n      </uax:ListOfExtensionObject>\n    </Value>\n  </UAVariable>\n  <UAMethod NodeId=\"ns=1;i=7119\" BrowseName=\"GenerateFileForWrite\" ParentNodeId=\"ns=1;i=5264\" MethodDeclarationId=\"ns=1;i=7124\">\n    <DisplayName>GenerateFileForWrite</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=5264</Reference>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=6588</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=6589</Reference>\n    </References>\n  </UAMethod>\n  <UAVariable NodeId=\"ns=1;i=6588\" BrowseName=\"InputArguments\" ParentNodeId=\"ns=1;i=7119\" DataType=\"Argument\" ValueRank=\"1\" ArrayDimensions=\"1\">\n    <DisplayName>InputArguments</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=7119</Reference>\n    </References>\n    <Value>\n      <uax:ListOfExtensionObject xmlns:uax=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <uax:ExtensionObject>\n          <uax:TypeId>\n            <uax:Identifier>i=297</uax:Identifier>\n          </uax:TypeId>\n          <uax:Body>\n            <uax:Argument>\n              <uax:Name>GenerateOptions</uax:Name>\n              <uax:DataType>\n                <uax:Identifier>ns=1;i=3012</uax:Identifier>\n              </uax:DataType>\n              <uax:ValueRank>-1</uax:ValueRank>\n              <uax:ArrayDimensions />\n              <uax:Description />\n            </uax:Argument>\n          </uax:Body>\n        </uax:ExtensionObject>\n      </uax:ListOfExtensionObject>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=6589\" BrowseName=\"OutputArguments\" ParentNodeId=\"ns=1;i=7119\" DataType=\"Argument\" ValueRank=\"1\" ArrayDimensions=\"2\">\n    <DisplayName>OutputArguments</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=7119</Reference>\n    </References>\n    <Value>\n      <uax:ListOfExtensionObject xmlns:uax=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <uax:ExtensionObject>\n          <uax:TypeId>\n            <uax:Identifier>i=297</uax:Identifier>\n          </uax:TypeId>\n          <uax:Body>\n            <uax:Argument>\n              <uax:Name>FileNodeId</uax:Name>\n              <uax:DataType>\n                <uax:Identifier>i=17</uax:Identifier>\n              </uax:DataType>\n              <uax:ValueRank>-1</uax:ValueRank>\n              <uax:ArrayDimensions />\n              <uax:Description />\n            </uax:Argument>\n          </uax:Body>\n        </uax:ExtensionObject>\n        <uax:ExtensionObject>\n          <uax:TypeId>\n            <uax:Identifier>i=297</uax:Identifier>\n          </uax:TypeId>\n          <uax:Body>\n            <uax:Argument>\n              <uax:Name>FileHandle</uax:Name>\n              <uax:DataType>\n                <uax:Identifier>i=7</uax:Identifier>\n              </uax:DataType>\n              <uax:ValueRank>-1</uax:ValueRank>\n              <uax:ArrayDimensions />\n              <uax:Description />\n            </uax:Argument>\n          </uax:Body>\n        </uax:ExtensionObject>\n      </uax:ListOfExtensionObject>\n    </Value>\n  </UAVariable>\n  <UAMethod NodeId=\"ns=1;i=7056\" BrowseName=\"1:ReleaseRecipeHandle\" ParentNodeId=\"ns=1;i=1004\">\n    <DisplayName>ReleaseRecipeHandle</DisplayName>\n    <Documentation>https://reference.opcfoundation.org/v104/MachineVision/v100/docs/7.5.2/#7.5.2.5</Documentation>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=6160</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=80</Reference>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=6161</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=1004</Reference>\n    </References>\n  </UAMethod>\n  <UAVariable NodeId=\"ns=1;i=6160\" BrowseName=\"InputArguments\" ParentNodeId=\"ns=1;i=7056\" DataType=\"Argument\" ValueRank=\"1\" ArrayDimensions=\"1\">\n    <DisplayName>InputArguments</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=7056</Reference>\n    </References>\n    <Value>\n      <uax:ListOfExtensionObject xmlns:uax=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <uax:ExtensionObject>\n          <uax:TypeId>\n            <uax:Identifier>i=297</uax:Identifier>\n          </uax:TypeId>\n          <uax:Body>\n            <uax:Argument>\n              <uax:Name>RecipeHandle</uax:Name>\n              <uax:DataType>\n                <uax:Identifier>ns=1;i=3018</uax:Identifier>\n              </uax:DataType>\n              <uax:ValueRank>-1</uax:ValueRank>\n              <uax:ArrayDimensions />\n              <uax:Description />\n            </uax:Argument>\n          </uax:Body>\n        </uax:ExtensionObject>\n      </uax:ListOfExtensionObject>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=6161\" BrowseName=\"OutputArguments\" ParentNodeId=\"ns=1;i=7056\" DataType=\"Argument\" ValueRank=\"1\" ArrayDimensions=\"1\">\n    <DisplayName>OutputArguments</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=7056</Reference>\n    </References>\n    <Value>\n      <uax:ListOfExtensionObject xmlns:uax=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <uax:ExtensionObject>\n          <uax:TypeId>\n            <uax:Identifier>i=297</uax:Identifier>\n          </uax:TypeId>\n          <uax:Body>\n            <uax:Argument>\n              <uax:Name>Error</uax:Name>\n              <uax:DataType>\n                <uax:Identifier>i=6</uax:Identifier>\n              </uax:DataType>\n              <uax:ValueRank>-1</uax:ValueRank>\n              <uax:ArrayDimensions />\n              <uax:Description />\n            </uax:Argument>\n          </uax:Body>\n        </uax:ExtensionObject>\n      </uax:ListOfExtensionObject>\n    </Value>\n  </UAVariable>\n  <UAMethod NodeId=\"ns=1;i=7057\" BrowseName=\"1:RemoveRecipe\" ParentNodeId=\"ns=1;i=1004\">\n    <DisplayName>RemoveRecipe</DisplayName>\n    <Documentation>https://reference.opcfoundation.org/v104/MachineVision/v100/docs/7.5.2/#7.5.2.6</Documentation>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=6164</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=80</Reference>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=6165</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=1004</Reference>\n    </References>\n  </UAMethod>\n  <UAVariable NodeId=\"ns=1;i=6164\" BrowseName=\"InputArguments\" ParentNodeId=\"ns=1;i=7057\" DataType=\"Argument\" ValueRank=\"1\" ArrayDimensions=\"1\">\n    <DisplayName>InputArguments</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=7057</Reference>\n    </References>\n    <Value>\n      <uax:ListOfExtensionObject xmlns:uax=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <uax:ExtensionObject>\n          <uax:TypeId>\n            <uax:Identifier>i=297</uax:Identifier>\n          </uax:TypeId>\n          <uax:Body>\n            <uax:Argument>\n              <uax:Name>ExternalId</uax:Name>\n              <uax:DataType>\n                <uax:Identifier>ns=1;i=3002</uax:Identifier>\n              </uax:DataType>\n              <uax:ValueRank>-1</uax:ValueRank>\n              <uax:ArrayDimensions />\n              <uax:Description />\n            </uax:Argument>\n          </uax:Body>\n        </uax:ExtensionObject>\n      </uax:ListOfExtensionObject>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=6165\" BrowseName=\"OutputArguments\" ParentNodeId=\"ns=1;i=7057\" DataType=\"Argument\" ValueRank=\"1\" ArrayDimensions=\"1\">\n    <DisplayName>OutputArguments</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=7057</Reference>\n    </References>\n    <Value>\n      <uax:ListOfExtensionObject xmlns:uax=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <uax:ExtensionObject>\n          <uax:TypeId>\n            <uax:Identifier>i=297</uax:Identifier>\n          </uax:TypeId>\n          <uax:Body>\n            <uax:Argument>\n              <uax:Name>Error</uax:Name>\n              <uax:DataType>\n                <uax:Identifier>i=6</uax:Identifier>\n              </uax:DataType>\n              <uax:ValueRank>-1</uax:ValueRank>\n              <uax:ArrayDimensions />\n              <uax:Description />\n            </uax:Argument>\n          </uax:Body>\n        </uax:ExtensionObject>\n      </uax:ListOfExtensionObject>\n    </Value>\n  </UAVariable>\n  <UAMethod NodeId=\"ns=1;i=7061\" BrowseName=\"1:UnlinkProduct\" ParentNodeId=\"ns=1;i=1004\">\n    <DisplayName>UnlinkProduct</DisplayName>\n    <Documentation>https://reference.opcfoundation.org/v104/MachineVision/v100/docs/7.7.2/#7.7.2.3</Documentation>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=6180</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=80</Reference>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=6181</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=1004</Reference>\n    </References>\n  </UAMethod>\n  <UAVariable NodeId=\"ns=1;i=6180\" BrowseName=\"InputArguments\" ParentNodeId=\"ns=1;i=7061\" DataType=\"Argument\" ValueRank=\"1\" ArrayDimensions=\"2\">\n    <DisplayName>InputArguments</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=7061</Reference>\n    </References>\n    <Value>\n      <uax:ListOfExtensionObject xmlns:uax=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <uax:ExtensionObject>\n          <uax:TypeId>\n            <uax:Identifier>i=297</uax:Identifier>\n          </uax:TypeId>\n          <uax:Body>\n            <uax:Argument>\n              <uax:Name>InternalId</uax:Name>\n              <uax:DataType>\n                <uax:Identifier>ns=1;i=3013</uax:Identifier>\n              </uax:DataType>\n              <uax:ValueRank>-1</uax:ValueRank>\n              <uax:ArrayDimensions />\n              <uax:Description />\n            </uax:Argument>\n          </uax:Body>\n        </uax:ExtensionObject>\n        <uax:ExtensionObject>\n          <uax:TypeId>\n            <uax:Identifier>i=297</uax:Identifier>\n          </uax:TypeId>\n          <uax:Body>\n            <uax:Argument>\n              <uax:Name>ProductId</uax:Name>\n              <uax:DataType>\n                <uax:Identifier>ns=1;i=3003</uax:Identifier>\n              </uax:DataType>\n              <uax:ValueRank>-1</uax:ValueRank>\n              <uax:ArrayDimensions />\n              <uax:Description />\n            </uax:Argument>\n          </uax:Body>\n        </uax:ExtensionObject>\n      </uax:ListOfExtensionObject>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=6181\" BrowseName=\"OutputArguments\" ParentNodeId=\"ns=1;i=7061\" DataType=\"Argument\" ValueRank=\"1\" ArrayDimensions=\"1\">\n    <DisplayName>OutputArguments</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=7061</Reference>\n    </References>\n    <Value>\n      <uax:ListOfExtensionObject xmlns:uax=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <uax:ExtensionObject>\n          <uax:TypeId>\n            <uax:Identifier>i=297</uax:Identifier>\n          </uax:TypeId>\n          <uax:Body>\n            <uax:Argument>\n              <uax:Name>Error</uax:Name>\n              <uax:DataType>\n                <uax:Identifier>i=6</uax:Identifier>\n              </uax:DataType>\n              <uax:ValueRank>-1</uax:ValueRank>\n              <uax:ArrayDimensions />\n              <uax:Description />\n            </uax:Argument>\n          </uax:Body>\n        </uax:ExtensionObject>\n      </uax:ListOfExtensionObject>\n    </Value>\n  </UAVariable>\n  <UAMethod NodeId=\"ns=1;i=7059\" BrowseName=\"1:UnprepareProduct\" ParentNodeId=\"ns=1;i=1004\">\n    <DisplayName>UnprepareProduct</DisplayName>\n    <Documentation>https://reference.opcfoundation.org/v104/MachineVision/v100/docs/7.5.2/#7.5.2.8</Documentation>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=6176</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=80</Reference>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=6177</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=1004</Reference>\n      <Reference ReferenceType=\"HasCause\" IsForward=\"false\">ns=1;i=5044</Reference>\n    </References>\n  </UAMethod>\n  <UAVariable NodeId=\"ns=1;i=6176\" BrowseName=\"InputArguments\" ParentNodeId=\"ns=1;i=7059\" DataType=\"Argument\" ValueRank=\"1\" ArrayDimensions=\"1\">\n    <DisplayName>InputArguments</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=7059</Reference>\n    </References>\n    <Value>\n      <uax:ListOfExtensionObject xmlns:uax=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <uax:ExtensionObject>\n          <uax:TypeId>\n            <uax:Identifier>i=297</uax:Identifier>\n          </uax:TypeId>\n          <uax:Body>\n            <uax:Argument>\n              <uax:Name>ProductId</uax:Name>\n              <uax:DataType>\n                <uax:Identifier>ns=1;i=3003</uax:Identifier>\n              </uax:DataType>\n              <uax:ValueRank>-1</uax:ValueRank>\n              <uax:ArrayDimensions />\n              <uax:Description />\n            </uax:Argument>\n          </uax:Body>\n        </uax:ExtensionObject>\n      </uax:ListOfExtensionObject>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=6177\" BrowseName=\"OutputArguments\" ParentNodeId=\"ns=1;i=7059\" DataType=\"Argument\" ValueRank=\"1\" ArrayDimensions=\"2\">\n    <DisplayName>OutputArguments</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=7059</Reference>\n    </References>\n    <Value>\n      <uax:ListOfExtensionObject xmlns:uax=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <uax:ExtensionObject>\n          <uax:TypeId>\n            <uax:Identifier>i=297</uax:Identifier>\n          </uax:TypeId>\n          <uax:Body>\n            <uax:Argument>\n              <uax:Name>InternalId</uax:Name>\n              <uax:DataType>\n                <uax:Identifier>ns=1;i=3013</uax:Identifier>\n              </uax:DataType>\n              <uax:ValueRank>-1</uax:ValueRank>\n              <uax:ArrayDimensions />\n              <uax:Description />\n            </uax:Argument>\n          </uax:Body>\n        </uax:ExtensionObject>\n        <uax:ExtensionObject>\n          <uax:TypeId>\n            <uax:Identifier>i=297</uax:Identifier>\n          </uax:TypeId>\n          <uax:Body>\n            <uax:Argument>\n              <uax:Name>Error</uax:Name>\n              <uax:DataType>\n                <uax:Identifier>i=6</uax:Identifier>\n              </uax:DataType>\n              <uax:ValueRank>-1</uax:ValueRank>\n              <uax:ArrayDimensions />\n              <uax:Description />\n            </uax:Argument>\n          </uax:Body>\n        </uax:ExtensionObject>\n      </uax:ListOfExtensionObject>\n    </Value>\n  </UAVariable>\n  <UAMethod NodeId=\"ns=1;i=7055\" BrowseName=\"1:UnprepareRecipe\" ParentNodeId=\"ns=1;i=1004\">\n    <DisplayName>UnprepareRecipe</DisplayName>\n    <Documentation>https://reference.opcfoundation.org/v104/MachineVision/v100/docs/7.5.2/#7.5.2.3</Documentation>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=6152</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=6153</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=1004</Reference>\n      <Reference ReferenceType=\"HasCause\" IsForward=\"false\">ns=1;i=5062</Reference>\n    </References>\n  </UAMethod>\n  <UAVariable NodeId=\"ns=1;i=6152\" BrowseName=\"InputArguments\" ParentNodeId=\"ns=1;i=7055\" DataType=\"Argument\" ValueRank=\"1\" ArrayDimensions=\"2\">\n    <DisplayName>InputArguments</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=7055</Reference>\n    </References>\n    <Value>\n      <uax:ListOfExtensionObject xmlns:uax=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <uax:ExtensionObject>\n          <uax:TypeId>\n            <uax:Identifier>i=297</uax:Identifier>\n          </uax:TypeId>\n          <uax:Body>\n            <uax:Argument>\n              <uax:Name>ExternalId</uax:Name>\n              <uax:DataType>\n                <uax:Identifier>ns=1;i=3002</uax:Identifier>\n              </uax:DataType>\n              <uax:ValueRank>-1</uax:ValueRank>\n              <uax:ArrayDimensions />\n              <uax:Description />\n            </uax:Argument>\n          </uax:Body>\n        </uax:ExtensionObject>\n        <uax:ExtensionObject>\n          <uax:TypeId>\n            <uax:Identifier>i=297</uax:Identifier>\n          </uax:TypeId>\n          <uax:Body>\n            <uax:Argument>\n              <uax:Name>InternalIdIn</uax:Name>\n              <uax:DataType>\n                <uax:Identifier>ns=1;i=3013</uax:Identifier>\n              </uax:DataType>\n              <uax:ValueRank>-1</uax:ValueRank>\n              <uax:ArrayDimensions />\n              <uax:Description />\n            </uax:Argument>\n          </uax:Body>\n        </uax:ExtensionObject>\n      </uax:ListOfExtensionObject>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=6153\" BrowseName=\"OutputArguments\" ParentNodeId=\"ns=1;i=7055\" DataType=\"Argument\" ValueRank=\"1\" ArrayDimensions=\"2\">\n    <DisplayName>OutputArguments</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=7055</Reference>\n    </References>\n    <Value>\n      <uax:ListOfExtensionObject xmlns:uax=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <uax:ExtensionObject>\n          <uax:TypeId>\n            <uax:Identifier>i=297</uax:Identifier>\n          </uax:TypeId>\n          <uax:Body>\n            <uax:Argument>\n              <uax:Name>InternalIdOut</uax:Name>\n              <uax:DataType>\n                <uax:Identifier>ns=1;i=3013</uax:Identifier>\n              </uax:DataType>\n              <uax:ValueRank>-1</uax:ValueRank>\n              <uax:ArrayDimensions />\n              <uax:Description />\n            </uax:Argument>\n          </uax:Body>\n        </uax:ExtensionObject>\n        <uax:ExtensionObject>\n          <uax:TypeId>\n            <uax:Identifier>i=297</uax:Identifier>\n          </uax:TypeId>\n          <uax:Body>\n            <uax:Argument>\n              <uax:Name>Error</uax:Name>\n              <uax:DataType>\n                <uax:Identifier>i=6</uax:Identifier>\n              </uax:DataType>\n              <uax:ValueRank>-1</uax:ValueRank>\n              <uax:ArrayDimensions />\n              <uax:Description />\n            </uax:Argument>\n          </uax:Body>\n        </uax:ExtensionObject>\n      </uax:ListOfExtensionObject>\n    </Value>\n  </UAVariable>\n  <UAObjectType NodeId=\"ns=1;i=1002\" BrowseName=\"1:RecipeType\">\n    <DisplayName>RecipeType</DisplayName>\n    <Documentation>https://reference.opcfoundation.org/v104/MachineVision/v100/docs/7.7.1</Documentation>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=6023</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=5001</Reference>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=6019</Reference>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=6605</Reference>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=6017</Reference>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=6018</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=7062</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=7064</Reference>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=58</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=7063</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=7065</Reference>\n    </References>\n  </UAObjectType>\n  <UAVariable NodeId=\"ns=1;i=6023\" BrowseName=\"1:ExternalId\" ParentNodeId=\"ns=1;i=1002\" DataType=\"RecipeIdExternalDataType\" AccessLevel=\"3\">\n    <DisplayName>ExternalId</DisplayName>\n    <Description>Recipe ID for identifying the recipe outside the vision system. The ExternalID is only managed by the host system.</Description>\n    <References>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=1002</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=80</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n    </References>\n  </UAVariable>\n  <UAObject NodeId=\"ns=1;i=5001\" BrowseName=\"1:Handle\" ParentNodeId=\"ns=1;i=1002\">\n    <DisplayName>Handle</DisplayName>\n    <Description>The file handle refers to the recipe data, which are teated as a BLOB, i.e. they are not interpreted outside the system. They are accessed via OPC UA file operations.\n</Description>\n    <References>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=7001</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=11575</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=7002</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=1002</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=7003</Reference>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=6009</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=80</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=7004</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=7005</Reference>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=6013</Reference>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=6014</Reference>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=6015</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=7006</Reference>\n    </References>\n  </UAObject>\n  <UAMethod NodeId=\"ns=1;i=7001\" BrowseName=\"Close\" ParentNodeId=\"ns=1;i=5001\" MethodDeclarationId=\"i=11583\">\n    <DisplayName>Close</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=5001</Reference>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=6004</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n    </References>\n  </UAMethod>\n  <UAVariable NodeId=\"ns=1;i=6004\" BrowseName=\"InputArguments\" ParentNodeId=\"ns=1;i=7001\" DataType=\"Argument\" ValueRank=\"1\" ArrayDimensions=\"1\">\n    <DisplayName>InputArguments</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=7001</Reference>\n    </References>\n    <Value>\n      <uax:ListOfExtensionObject xmlns:uax=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <uax:ExtensionObject>\n          <uax:TypeId>\n            <uax:Identifier>i=297</uax:Identifier>\n          </uax:TypeId>\n          <uax:Body>\n            <uax:Argument>\n              <uax:Name>FileHandle</uax:Name>\n              <uax:DataType>\n                <uax:Identifier>i=7</uax:Identifier>\n              </uax:DataType>\n              <uax:ValueRank>-1</uax:ValueRank>\n              <uax:ArrayDimensions />\n              <uax:Description />\n            </uax:Argument>\n          </uax:Body>\n        </uax:ExtensionObject>\n      </uax:ListOfExtensionObject>\n    </Value>\n  </UAVariable>\n  <UAMethod NodeId=\"ns=1;i=7002\" BrowseName=\"GetPosition\" ParentNodeId=\"ns=1;i=5001\" MethodDeclarationId=\"i=11590\">\n    <DisplayName>GetPosition</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=5001</Reference>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=6005</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=6006</Reference>\n    </References>\n  </UAMethod>\n  <UAVariable NodeId=\"ns=1;i=6005\" BrowseName=\"InputArguments\" ParentNodeId=\"ns=1;i=7002\" DataType=\"Argument\" ValueRank=\"1\" ArrayDimensions=\"1\">\n    <DisplayName>InputArguments</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=7002</Reference>\n    </References>\n    <Value>\n      <uax:ListOfExtensionObject xmlns:uax=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <uax:ExtensionObject>\n          <uax:TypeId>\n            <uax:Identifier>i=297</uax:Identifier>\n          </uax:TypeId>\n          <uax:Body>\n            <uax:Argument>\n              <uax:Name>FileHandle</uax:Name>\n              <uax:DataType>\n                <uax:Identifier>i=7</uax:Identifier>\n              </uax:DataType>\n              <uax:ValueRank>-1</uax:ValueRank>\n              <uax:ArrayDimensions />\n              <uax:Description />\n            </uax:Argument>\n          </uax:Body>\n        </uax:ExtensionObject>\n      </uax:ListOfExtensionObject>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=6006\" BrowseName=\"OutputArguments\" ParentNodeId=\"ns=1;i=7002\" DataType=\"Argument\" ValueRank=\"1\" ArrayDimensions=\"1\">\n    <DisplayName>OutputArguments</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=7002</Reference>\n    </References>\n    <Value>\n      <uax:ListOfExtensionObject xmlns:uax=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <uax:ExtensionObject>\n          <uax:TypeId>\n            <uax:Identifier>i=297</uax:Identifier>\n          </uax:TypeId>\n          <uax:Body>\n            <uax:Argument>\n              <uax:Name>Position</uax:Name>\n              <uax:DataType>\n                <uax:Identifier>i=9</uax:Identifier>\n              </uax:DataType>\n              <uax:ValueRank>-1</uax:ValueRank>\n              <uax:ArrayDimensions />\n              <uax:Description />\n            </uax:Argument>\n          </uax:Body>\n        </uax:ExtensionObject>\n      </uax:ListOfExtensionObject>\n    </Value>\n  </UAVariable>\n  <UAMethod NodeId=\"ns=1;i=7003\" BrowseName=\"Open\" ParentNodeId=\"ns=1;i=5001\" MethodDeclarationId=\"i=11580\">\n    <DisplayName>Open</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=6007</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=5001</Reference>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=6008</Reference>\n    </References>\n  </UAMethod>\n  <UAVariable NodeId=\"ns=1;i=6007\" BrowseName=\"InputArguments\" ParentNodeId=\"ns=1;i=7003\" DataType=\"Argument\" ValueRank=\"1\" ArrayDimensions=\"1\">\n    <DisplayName>InputArguments</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=7003</Reference>\n    </References>\n    <Value>\n      <uax:ListOfExtensionObject xmlns:uax=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <uax:ExtensionObject>\n          <uax:TypeId>\n            <uax:Identifier>i=297</uax:Identifier>\n          </uax:TypeId>\n          <uax:Body>\n            <uax:Argument>\n              <uax:Name>Mode</uax:Name>\n              <uax:DataType>\n                <uax:Identifier>i=3</uax:Identifier>\n              </uax:DataType>\n              <uax:ValueRank>-1</uax:ValueRank>\n              <uax:ArrayDimensions />\n              <uax:Description />\n            </uax:Argument>\n          </uax:Body>\n        </uax:ExtensionObject>\n      </uax:ListOfExtensionObject>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=6008\" BrowseName=\"OutputArguments\" ParentNodeId=\"ns=1;i=7003\" DataType=\"Argument\" ValueRank=\"1\" ArrayDimensions=\"1\">\n    <DisplayName>OutputArguments</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=7003</Reference>\n    </References>\n    <Value>\n      <uax:ListOfExtensionObject xmlns:uax=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <uax:ExtensionObject>\n          <uax:TypeId>\n            <uax:Identifier>i=297</uax:Identifier>\n          </uax:TypeId>\n          <uax:Body>\n            <uax:Argument>\n              <uax:Name>FileHandle</uax:Name>\n              <uax:DataType>\n                <uax:Identifier>i=7</uax:Identifier>\n              </uax:DataType>\n              <uax:ValueRank>-1</uax:ValueRank>\n              <uax:ArrayDimensions />\n              <uax:Description />\n            </uax:Argument>\n          </uax:Body>\n        </uax:ExtensionObject>\n      </uax:ListOfExtensionObject>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=6009\" BrowseName=\"OpenCount\" ParentNodeId=\"ns=1;i=5001\" DataType=\"UInt16\">\n    <DisplayName>OpenCount</DisplayName>\n    <Description>The current number of open file handles.</Description>\n    <References>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=5001</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n    </References>\n  </UAVariable>\n  <UAMethod NodeId=\"ns=1;i=7004\" BrowseName=\"Read\" ParentNodeId=\"ns=1;i=5001\" MethodDeclarationId=\"i=11585\">\n    <DisplayName>Read</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=6010</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=6011</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=5001</Reference>\n    </References>\n  </UAMethod>\n  <UAVariable NodeId=\"ns=1;i=6010\" BrowseName=\"InputArguments\" ParentNodeId=\"ns=1;i=7004\" DataType=\"Argument\" ValueRank=\"1\" ArrayDimensions=\"2\">\n    <DisplayName>InputArguments</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=7004</Reference>\n    </References>\n    <Value>\n      <uax:ListOfExtensionObject xmlns:uax=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <uax:ExtensionObject>\n          <uax:TypeId>\n            <uax:Identifier>i=297</uax:Identifier>\n          </uax:TypeId>\n          <uax:Body>\n            <uax:Argument>\n              <uax:Name>FileHandle</uax:Name>\n              <uax:DataType>\n                <uax:Identifier>i=7</uax:Identifier>\n              </uax:DataType>\n              <uax:ValueRank>-1</uax:ValueRank>\n              <uax:ArrayDimensions />\n              <uax:Description />\n            </uax:Argument>\n          </uax:Body>\n        </uax:ExtensionObject>\n        <uax:ExtensionObject>\n          <uax:TypeId>\n            <uax:Identifier>i=297</uax:Identifier>\n          </uax:TypeId>\n          <uax:Body>\n            <uax:Argument>\n              <uax:Name>Length</uax:Name>\n              <uax:DataType>\n                <uax:Identifier>i=6</uax:Identifier>\n              </uax:DataType>\n              <uax:ValueRank>-1</uax:ValueRank>\n              <uax:ArrayDimensions />\n              <uax:Description />\n            </uax:Argument>\n          </uax:Body>\n        </uax:ExtensionObject>\n      </uax:ListOfExtensionObject>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=6011\" BrowseName=\"OutputArguments\" ParentNodeId=\"ns=1;i=7004\" DataType=\"Argument\" ValueRank=\"1\" ArrayDimensions=\"1\">\n    <DisplayName>OutputArguments</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=7004</Reference>\n    </References>\n    <Value>\n      <uax:ListOfExtensionObject xmlns:uax=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <uax:ExtensionObject>\n          <uax:TypeId>\n            <uax:Identifier>i=297</uax:Identifier>\n          </uax:TypeId>\n          <uax:Body>\n            <uax:Argument>\n              <uax:Name>Data</uax:Name>\n              <uax:DataType>\n                <uax:Identifier>i=15</uax:Identifier>\n              </uax:DataType>\n              <uax:ValueRank>-1</uax:ValueRank>\n              <uax:ArrayDimensions />\n              <uax:Description />\n            </uax:Argument>\n          </uax:Body>\n        </uax:ExtensionObject>\n      </uax:ListOfExtensionObject>\n    </Value>\n  </UAVariable>\n  <UAMethod NodeId=\"ns=1;i=7005\" BrowseName=\"SetPosition\" ParentNodeId=\"ns=1;i=5001\" MethodDeclarationId=\"i=11593\">\n    <DisplayName>SetPosition</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=6012</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=5001</Reference>\n    </References>\n  </UAMethod>\n  <UAVariable NodeId=\"ns=1;i=6012\" BrowseName=\"InputArguments\" ParentNodeId=\"ns=1;i=7005\" DataType=\"Argument\" ValueRank=\"1\" ArrayDimensions=\"2\">\n    <DisplayName>InputArguments</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=7005</Reference>\n    </References>\n    <Value>\n      <uax:ListOfExtensionObject xmlns:uax=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <uax:ExtensionObject>\n          <uax:TypeId>\n            <uax:Identifier>i=297</uax:Identifier>\n          </uax:TypeId>\n          <uax:Body>\n            <uax:Argument>\n              <uax:Name>FileHandle</uax:Name>\n              <uax:DataType>\n                <uax:Identifier>i=7</uax:Identifier>\n              </uax:DataType>\n              <uax:ValueRank>-1</uax:ValueRank>\n              <uax:ArrayDimensions />\n              <uax:Description />\n            </uax:Argument>\n          </uax:Body>\n        </uax:ExtensionObject>\n        <uax:ExtensionObject>\n          <uax:TypeId>\n            <uax:Identifier>i=297</uax:Identifier>\n          </uax:TypeId>\n          <uax:Body>\n            <uax:Argument>\n              <uax:Name>Position</uax:Name>\n              <uax:DataType>\n                <uax:Identifier>i=9</uax:Identifier>\n              </uax:DataType>\n              <uax:ValueRank>-1</uax:ValueRank>\n              <uax:ArrayDimensions />\n              <uax:Description />\n            </uax:Argument>\n          </uax:Body>\n        </uax:ExtensionObject>\n      </uax:ListOfExtensionObject>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=6013\" BrowseName=\"Size\" ParentNodeId=\"ns=1;i=5001\" DataType=\"UInt64\">\n    <DisplayName>Size</DisplayName>\n    <Description>The size of the file in bytes.</Description>\n    <References>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=5001</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=6014\" BrowseName=\"UserWritable\" ParentNodeId=\"ns=1;i=5001\" DataType=\"Boolean\">\n    <DisplayName>UserWritable</DisplayName>\n    <Description>Whether the file is writable by the current user.</Description>\n    <References>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=5001</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=6015\" BrowseName=\"Writable\" ParentNodeId=\"ns=1;i=5001\" DataType=\"Boolean\">\n    <DisplayName>Writable</DisplayName>\n    <Description>Whether the file is writable.</Description>\n    <References>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=5001</Reference>\n    </References>\n  </UAVariable>\n  <UAMethod NodeId=\"ns=1;i=7006\" BrowseName=\"Write\" ParentNodeId=\"ns=1;i=5001\" MethodDeclarationId=\"i=11588\">\n    <DisplayName>Write</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=6016</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=5001</Reference>\n    </References>\n  </UAMethod>\n  <UAVariable NodeId=\"ns=1;i=6016\" BrowseName=\"InputArguments\" ParentNodeId=\"ns=1;i=7006\" DataType=\"Argument\" ValueRank=\"1\" ArrayDimensions=\"2\">\n    <DisplayName>InputArguments</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=7006</Reference>\n    </References>\n    <Value>\n      <uax:ListOfExtensionObject xmlns:uax=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <uax:ExtensionObject>\n          <uax:TypeId>\n            <uax:Identifier>i=297</uax:Identifier>\n          </uax:TypeId>\n          <uax:Body>\n            <uax:Argument>\n              <uax:Name>FileHandle</uax:Name>\n              <uax:DataType>\n                <uax:Identifier>i=7</uax:Identifier>\n              </uax:DataType>\n              <uax:ValueRank>-1</uax:ValueRank>\n              <uax:ArrayDimensions />\n              <uax:Description />\n            </uax:Argument>\n          </uax:Body>\n        </uax:ExtensionObject>\n        <uax:ExtensionObject>\n          <uax:TypeId>\n            <uax:Identifier>i=297</uax:Identifier>\n          </uax:TypeId>\n          <uax:Body>\n            <uax:Argument>\n              <uax:Name>Data</uax:Name>\n              <uax:DataType>\n                <uax:Identifier>i=15</uax:Identifier>\n              </uax:DataType>\n              <uax:ValueRank>-1</uax:ValueRank>\n              <uax:ArrayDimensions />\n              <uax:Description />\n            </uax:Argument>\n          </uax:Body>\n        </uax:ExtensionObject>\n      </uax:ListOfExtensionObject>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=6019\" BrowseName=\"1:InternalId\" ParentNodeId=\"ns=1;i=1002\" DataType=\"RecipeIdInternalDataType\" AccessLevel=\"3\">\n    <DisplayName>InternalId</DisplayName>\n    <Description>System-wide unique ID for identifying a recipe. This ID is assigned by the vision system.</Description>\n    <References>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=1002</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=6605\" BrowseName=\"1:IsPrepared\" ParentNodeId=\"ns=1;i=1002\" DataType=\"Boolean\" AccessLevel=\"3\">\n    <DisplayName>IsPrepared</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=1002</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=6017\" BrowseName=\"1:LastModified\" ParentNodeId=\"ns=1;i=1002\" DataType=\"UtcTime\" AccessLevel=\"3\">\n    <DisplayName>LastModified</DisplayName>\n    <Description>The time when this recipe was last modified.</Description>\n    <References>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=1002</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=6018\" BrowseName=\"1:LinkedProducts\" ParentNodeId=\"ns=1;i=1002\" DataType=\"ProductIdDataType\" ValueRank=\"1\" ArrayDimensions=\"0\" AccessLevel=\"3\">\n    <DisplayName>LinkedProducts</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=1002</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=80</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n    </References>\n  </UAVariable>\n  <UAMethod NodeId=\"ns=1;i=7062\" BrowseName=\"1:LinkProduct\" ParentNodeId=\"ns=1;i=1002\">\n    <DisplayName>LinkProduct</DisplayName>\n    <Documentation>https://reference.opcfoundation.org/v104/MachineVision/v100/docs/7.7.2/#7.7.2.2</Documentation>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=6190</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=1002</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=80</Reference>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=6191</Reference>\n    </References>\n  </UAMethod>\n  <UAVariable NodeId=\"ns=1;i=6190\" BrowseName=\"InputArguments\" ParentNodeId=\"ns=1;i=7062\" DataType=\"Argument\" ValueRank=\"1\" ArrayDimensions=\"1\">\n    <DisplayName>InputArguments</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=7062</Reference>\n    </References>\n    <Value>\n      <uax:ListOfExtensionObject xmlns:uax=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <uax:ExtensionObject>\n          <uax:TypeId>\n            <uax:Identifier>i=297</uax:Identifier>\n          </uax:TypeId>\n          <uax:Body>\n            <uax:Argument>\n              <uax:Name>ProductId</uax:Name>\n              <uax:DataType>\n                <uax:Identifier>ns=1;i=3003</uax:Identifier>\n              </uax:DataType>\n              <uax:ValueRank>-1</uax:ValueRank>\n              <uax:ArrayDimensions />\n              <uax:Description />\n            </uax:Argument>\n          </uax:Body>\n        </uax:ExtensionObject>\n      </uax:ListOfExtensionObject>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=6191\" BrowseName=\"OutputArguments\" ParentNodeId=\"ns=1;i=7062\" DataType=\"Argument\" ValueRank=\"1\" ArrayDimensions=\"1\">\n    <DisplayName>OutputArguments</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=7062</Reference>\n    </References>\n    <Value>\n      <uax:ListOfExtensionObject xmlns:uax=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <uax:ExtensionObject>\n          <uax:TypeId>\n            <uax:Identifier>i=297</uax:Identifier>\n          </uax:TypeId>\n          <uax:Body>\n            <uax:Argument>\n              <uax:Name>Error</uax:Name>\n              <uax:DataType>\n                <uax:Identifier>i=6</uax:Identifier>\n              </uax:DataType>\n              <uax:ValueRank>-1</uax:ValueRank>\n              <uax:ArrayDimensions />\n              <uax:Description />\n            </uax:Argument>\n          </uax:Body>\n        </uax:ExtensionObject>\n      </uax:ListOfExtensionObject>\n    </Value>\n  </UAVariable>\n  <UAMethod NodeId=\"ns=1;i=7064\" BrowseName=\"1:Prepare\" ParentNodeId=\"ns=1;i=1002\">\n    <DisplayName>Prepare</DisplayName>\n    <Documentation>https://reference.opcfoundation.org/v104/MachineVision/v100/docs/7.7.2/#7.7.2.4</Documentation>\n    <References>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=6202</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=1002</Reference>\n    </References>\n  </UAMethod>\n  <UAVariable NodeId=\"ns=1;i=6202\" BrowseName=\"OutputArguments\" ParentNodeId=\"ns=1;i=7064\" DataType=\"Argument\" ValueRank=\"1\" ArrayDimensions=\"2\">\n    <DisplayName>OutputArguments</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=7064</Reference>\n    </References>\n    <Value>\n      <uax:ListOfExtensionObject xmlns:uax=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <uax:ExtensionObject>\n          <uax:TypeId>\n            <uax:Identifier>i=297</uax:Identifier>\n          </uax:TypeId>\n          <uax:Body>\n            <uax:Argument>\n              <uax:Name>IsCompleted</uax:Name>\n              <uax:DataType>\n                <uax:Identifier>i=1</uax:Identifier>\n              </uax:DataType>\n              <uax:ValueRank>-1</uax:ValueRank>\n              <uax:ArrayDimensions />\n              <uax:Description />\n            </uax:Argument>\n          </uax:Body>\n        </uax:ExtensionObject>\n        <uax:ExtensionObject>\n          <uax:TypeId>\n            <uax:Identifier>i=297</uax:Identifier>\n          </uax:TypeId>\n          <uax:Body>\n            <uax:Argument>\n              <uax:Name>Error</uax:Name>\n              <uax:DataType>\n                <uax:Identifier>i=6</uax:Identifier>\n              </uax:DataType>\n              <uax:ValueRank>-1</uax:ValueRank>\n              <uax:ArrayDimensions />\n              <uax:Description />\n            </uax:Argument>\n          </uax:Body>\n        </uax:ExtensionObject>\n      </uax:ListOfExtensionObject>\n    </Value>\n  </UAVariable>\n  <UAMethod NodeId=\"ns=1;i=7063\" BrowseName=\"1:UnlinkProduct\" ParentNodeId=\"ns=1;i=1002\">\n    <DisplayName>UnlinkProduct</DisplayName>\n    <Documentation>https://reference.opcfoundation.org/v104/MachineVision/v100/docs/7.7.2/#7.7.2.3</Documentation>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=6196</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=80</Reference>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=6197</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=1002</Reference>\n    </References>\n  </UAMethod>\n  <UAVariable NodeId=\"ns=1;i=6196\" BrowseName=\"InputArguments\" ParentNodeId=\"ns=1;i=7063\" DataType=\"Argument\" ValueRank=\"1\" ArrayDimensions=\"1\">\n    <DisplayName>InputArguments</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=7063</Reference>\n    </References>\n    <Value>\n      <uax:ListOfExtensionObject xmlns:uax=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <uax:ExtensionObject>\n          <uax:TypeId>\n            <uax:Identifier>i=297</uax:Identifier>\n          </uax:TypeId>\n          <uax:Body>\n            <uax:Argument>\n              <uax:Name>ProductId</uax:Name>\n              <uax:DataType>\n                <uax:Identifier>ns=1;i=3003</uax:Identifier>\n              </uax:DataType>\n              <uax:ValueRank>-1</uax:ValueRank>\n              <uax:ArrayDimensions />\n              <uax:Description />\n            </uax:Argument>\n          </uax:Body>\n        </uax:ExtensionObject>\n      </uax:ListOfExtensionObject>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=6197\" BrowseName=\"OutputArguments\" ParentNodeId=\"ns=1;i=7063\" DataType=\"Argument\" ValueRank=\"1\" ArrayDimensions=\"1\">\n    <DisplayName>OutputArguments</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=7063</Reference>\n    </References>\n    <Value>\n      <uax:ListOfExtensionObject xmlns:uax=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <uax:ExtensionObject>\n          <uax:TypeId>\n            <uax:Identifier>i=297</uax:Identifier>\n          </uax:TypeId>\n          <uax:Body>\n            <uax:Argument>\n              <uax:Name>Error</uax:Name>\n              <uax:DataType>\n                <uax:Identifier>i=6</uax:Identifier>\n              </uax:DataType>\n              <uax:ValueRank>-1</uax:ValueRank>\n              <uax:ArrayDimensions />\n              <uax:Description />\n            </uax:Argument>\n          </uax:Body>\n        </uax:ExtensionObject>\n      </uax:ListOfExtensionObject>\n    </Value>\n  </UAVariable>\n  <UAMethod NodeId=\"ns=1;i=7065\" BrowseName=\"1:Unprepare\" ParentNodeId=\"ns=1;i=1002\">\n    <DisplayName>Unprepare</DisplayName>\n    <Documentation>https://reference.opcfoundation.org/v104/MachineVision/v100/docs/7.7.2/#7.7.2.5</Documentation>\n    <References>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=6205</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=1002</Reference>\n    </References>\n  </UAMethod>\n  <UAVariable NodeId=\"ns=1;i=6205\" BrowseName=\"OutputArguments\" ParentNodeId=\"ns=1;i=7065\" DataType=\"Argument\" ValueRank=\"1\" ArrayDimensions=\"1\">\n    <DisplayName>OutputArguments</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=7065</Reference>\n    </References>\n    <Value>\n      <uax:ListOfExtensionObject xmlns:uax=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <uax:ExtensionObject>\n          <uax:TypeId>\n            <uax:Identifier>i=297</uax:Identifier>\n          </uax:TypeId>\n          <uax:Body>\n            <uax:Argument>\n              <uax:Name>Error</uax:Name>\n              <uax:DataType>\n                <uax:Identifier>i=6</uax:Identifier>\n              </uax:DataType>\n              <uax:ValueRank>-1</uax:ValueRank>\n              <uax:ArrayDimensions />\n              <uax:Description />\n            </uax:Argument>\n          </uax:Body>\n        </uax:ExtensionObject>\n      </uax:ListOfExtensionObject>\n    </Value>\n  </UAVariable>\n  <UAObjectType NodeId=\"ns=1;i=1007\" BrowseName=\"1:ResultManagementType\">\n    <DisplayName>ResultManagementType</DisplayName>\n    <Documentation>https://reference.opcfoundation.org/v104/MachineVision/v100/docs/7.10.1</Documentation>\n    <References>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=7026</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=7007</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=7089</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=7090</Reference>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=58</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=5245</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=5251</Reference>\n    </References>\n  </UAObjectType>\n  <UAMethod NodeId=\"ns=1;i=7026\" BrowseName=\"1:GetResultById\" ParentNodeId=\"ns=1;i=1007\">\n    <DisplayName>GetResultById</DisplayName>\n    <Documentation>https://reference.opcfoundation.org/v104/MachineVision/v100/docs/7.10.2/#7.10.2.2</Documentation>\n    <References>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=1007</Reference>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=6209</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=6210</Reference>\n    </References>\n  </UAMethod>\n  <UAVariable NodeId=\"ns=1;i=6209\" BrowseName=\"InputArguments\" ParentNodeId=\"ns=1;i=7026\" DataType=\"Argument\" ValueRank=\"1\" ArrayDimensions=\"2\">\n    <DisplayName>InputArguments</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=7026</Reference>\n    </References>\n    <Value>\n      <uax:ListOfExtensionObject xmlns:uax=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <uax:ExtensionObject>\n          <uax:TypeId>\n            <uax:Identifier>i=297</uax:Identifier>\n          </uax:TypeId>\n          <uax:Body>\n            <uax:Argument>\n              <uax:Name>ResultId</uax:Name>\n              <uax:DataType>\n                <uax:Identifier>ns=1;i=3021</uax:Identifier>\n              </uax:DataType>\n              <uax:ValueRank>-1</uax:ValueRank>\n              <uax:ArrayDimensions />\n              <uax:Description />\n            </uax:Argument>\n          </uax:Body>\n        </uax:ExtensionObject>\n        <uax:ExtensionObject>\n          <uax:TypeId>\n            <uax:Identifier>i=297</uax:Identifier>\n          </uax:TypeId>\n          <uax:Body>\n            <uax:Argument>\n              <uax:Name>Timeout</uax:Name>\n              <uax:DataType>\n                <uax:Identifier>i=6</uax:Identifier>\n              </uax:DataType>\n              <uax:ValueRank>-1</uax:ValueRank>\n              <uax:ArrayDimensions />\n              <uax:Description />\n            </uax:Argument>\n          </uax:Body>\n        </uax:ExtensionObject>\n      </uax:ListOfExtensionObject>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=6210\" BrowseName=\"OutputArguments\" ParentNodeId=\"ns=1;i=7026\" DataType=\"Argument\" ValueRank=\"1\" ArrayDimensions=\"3\">\n    <DisplayName>OutputArguments</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=7026</Reference>\n    </References>\n    <Value>\n      <uax:ListOfExtensionObject xmlns:uax=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <uax:ExtensionObject>\n          <uax:TypeId>\n            <uax:Identifier>i=297</uax:Identifier>\n          </uax:TypeId>\n          <uax:Body>\n            <uax:Argument>\n              <uax:Name>ResultHandle</uax:Name>\n              <uax:DataType>\n                <uax:Identifier>ns=1;i=3018</uax:Identifier>\n              </uax:DataType>\n              <uax:ValueRank>-1</uax:ValueRank>\n              <uax:ArrayDimensions />\n              <uax:Description />\n            </uax:Argument>\n          </uax:Body>\n        </uax:ExtensionObject>\n        <uax:ExtensionObject>\n          <uax:TypeId>\n            <uax:Identifier>i=297</uax:Identifier>\n          </uax:TypeId>\n          <uax:Body>\n            <uax:Argument>\n              <uax:Name>Result</uax:Name>\n              <uax:DataType>\n                <uax:Identifier>ns=1;i=3006</uax:Identifier>\n              </uax:DataType>\n              <uax:ValueRank>-1</uax:ValueRank>\n              <uax:ArrayDimensions />\n              <uax:Description />\n            </uax:Argument>\n          </uax:Body>\n        </uax:ExtensionObject>\n        <uax:ExtensionObject>\n          <uax:TypeId>\n            <uax:Identifier>i=297</uax:Identifier>\n          </uax:TypeId>\n          <uax:Body>\n            <uax:Argument>\n              <uax:Name>Error</uax:Name>\n              <uax:DataType>\n                <uax:Identifier>i=6</uax:Identifier>\n              </uax:DataType>\n              <uax:ValueRank>-1</uax:ValueRank>\n              <uax:ArrayDimensions />\n              <uax:Description />\n            </uax:Argument>\n          </uax:Body>\n        </uax:ExtensionObject>\n      </uax:ListOfExtensionObject>\n    </Value>\n  </UAVariable>\n  <UAMethod NodeId=\"ns=1;i=7007\" BrowseName=\"1:GetResultComponentsById\" ParentNodeId=\"ns=1;i=1007\">\n    <DisplayName>GetResultComponentsById</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=1007</Reference>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=6024</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=6025</Reference>\n    </References>\n  </UAMethod>\n  <UAVariable NodeId=\"ns=1;i=6024\" BrowseName=\"InputArguments\" ParentNodeId=\"ns=1;i=7007\" DataType=\"Argument\" ValueRank=\"1\" ArrayDimensions=\"2\">\n    <DisplayName>InputArguments</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=7007</Reference>\n    </References>\n    <Value>\n      <uax:ListOfExtensionObject xmlns:uax=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <uax:ExtensionObject>\n          <uax:TypeId>\n            <uax:Identifier>i=297</uax:Identifier>\n          </uax:TypeId>\n          <uax:Body>\n            <uax:Argument>\n              <uax:Name>ResultId</uax:Name>\n              <uax:DataType>\n                <uax:Identifier>ns=1;i=3021</uax:Identifier>\n              </uax:DataType>\n              <uax:ValueRank>-1</uax:ValueRank>\n              <uax:ArrayDimensions />\n              <uax:Description />\n            </uax:Argument>\n          </uax:Body>\n        </uax:ExtensionObject>\n        <uax:ExtensionObject>\n          <uax:TypeId>\n            <uax:Identifier>i=297</uax:Identifier>\n          </uax:TypeId>\n          <uax:Body>\n            <uax:Argument>\n              <uax:Name>Timeout</uax:Name>\n              <uax:DataType>\n                <uax:Identifier>i=6</uax:Identifier>\n              </uax:DataType>\n              <uax:ValueRank>-1</uax:ValueRank>\n              <uax:ArrayDimensions />\n              <uax:Description />\n            </uax:Argument>\n          </uax:Body>\n        </uax:ExtensionObject>\n      </uax:ListOfExtensionObject>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=6025\" BrowseName=\"OutputArguments\" ParentNodeId=\"ns=1;i=7007\" DataType=\"Argument\" ValueRank=\"1\" ArrayDimensions=\"17\">\n    <DisplayName>OutputArguments</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=7007</Reference>\n    </References>\n    <Value>\n      <uax:ListOfExtensionObject xmlns:uax=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <uax:ExtensionObject>\n          <uax:TypeId>\n            <uax:Identifier>i=297</uax:Identifier>\n          </uax:TypeId>\n          <uax:Body>\n            <uax:Argument>\n              <uax:Name>HasTransferableDataOnFile</uax:Name>\n              <uax:DataType>\n                <uax:Identifier>i=1</uax:Identifier>\n              </uax:DataType>\n              <uax:ValueRank>-1</uax:ValueRank>\n              <uax:ArrayDimensions />\n              <uax:Description />\n            </uax:Argument>\n          </uax:Body>\n        </uax:ExtensionObject>\n        <uax:ExtensionObject>\n          <uax:TypeId>\n            <uax:Identifier>i=297</uax:Identifier>\n          </uax:TypeId>\n          <uax:Body>\n            <uax:Argument>\n              <uax:Name>ResultHandle</uax:Name>\n              <uax:DataType>\n                <uax:Identifier>ns=1;i=3018</uax:Identifier>\n              </uax:DataType>\n              <uax:ValueRank>-1</uax:ValueRank>\n              <uax:ArrayDimensions />\n              <uax:Description />\n            </uax:Argument>\n          </uax:Body>\n        </uax:ExtensionObject>\n        <uax:ExtensionObject>\n          <uax:TypeId>\n            <uax:Identifier>i=297</uax:Identifier>\n          </uax:TypeId>\n          <uax:Body>\n            <uax:Argument>\n              <uax:Name>IsPartial</uax:Name>\n              <uax:DataType>\n                <uax:Identifier>i=1</uax:Identifier>\n              </uax:DataType>\n              <uax:ValueRank>-1</uax:ValueRank>\n              <uax:ArrayDimensions />\n              <uax:Description />\n            </uax:Argument>\n          </uax:Body>\n        </uax:ExtensionObject>\n        <uax:ExtensionObject>\n          <uax:TypeId>\n            <uax:Identifier>i=297</uax:Identifier>\n          </uax:TypeId>\n          <uax:Body>\n            <uax:Argument>\n              <uax:Name>IsSimulated</uax:Name>\n              <uax:DataType>\n                <uax:Identifier>i=1</uax:Identifier>\n              </uax:DataType>\n              <uax:ValueRank>-1</uax:ValueRank>\n              <uax:ArrayDimensions />\n              <uax:Description />\n            </uax:Argument>\n          </uax:Body>\n        </uax:ExtensionObject>\n        <uax:ExtensionObject>\n          <uax:TypeId>\n            <uax:Identifier>i=297</uax:Identifier>\n          </uax:TypeId>\n          <uax:Body>\n            <uax:Argument>\n              <uax:Name>ResultState</uax:Name>\n              <uax:DataType>\n                <uax:Identifier>ns=1;i=3009</uax:Identifier>\n              </uax:DataType>\n              <uax:ValueRank>-1</uax:ValueRank>\n              <uax:ArrayDimensions />\n              <uax:Description />\n            </uax:Argument>\n          </uax:Body>\n        </uax:ExtensionObject>\n        <uax:ExtensionObject>\n          <uax:TypeId>\n            <uax:Identifier>i=297</uax:Identifier>\n          </uax:TypeId>\n          <uax:Body>\n            <uax:Argument>\n              <uax:Name>MeasId</uax:Name>\n              <uax:DataType>\n                <uax:Identifier>ns=1;i=3015</uax:Identifier>\n              </uax:DataType>\n              <uax:ValueRank>-1</uax:ValueRank>\n              <uax:ArrayDimensions />\n              <uax:Description />\n            </uax:Argument>\n          </uax:Body>\n        </uax:ExtensionObject>\n        <uax:ExtensionObject>\n          <uax:TypeId>\n            <uax:Identifier>i=297</uax:Identifier>\n          </uax:TypeId>\n          <uax:Body>\n            <uax:Argument>\n              <uax:Name>PartId</uax:Name>\n              <uax:DataType>\n                <uax:Identifier>ns=1;i=3004</uax:Identifier>\n              </uax:DataType>\n              <uax:ValueRank>-1</uax:ValueRank>\n              <uax:ArrayDimensions />\n              <uax:Description />\n            </uax:Argument>\n          </uax:Body>\n        </uax:ExtensionObject>\n        <uax:ExtensionObject>\n          <uax:TypeId>\n            <uax:Identifier>i=297</uax:Identifier>\n          </uax:TypeId>\n          <uax:Body>\n            <uax:Argument>\n              <uax:Name>ExternalRecipeId</uax:Name>\n              <uax:DataType>\n                <uax:Identifier>ns=1;i=3002</uax:Identifier>\n              </uax:DataType>\n              <uax:ValueRank>-1</uax:ValueRank>\n              <uax:ArrayDimensions />\n              <uax:Description />\n            </uax:Argument>\n          </uax:Body>\n        </uax:ExtensionObject>\n        <uax:ExtensionObject>\n          <uax:TypeId>\n            <uax:Identifier>i=297</uax:Identifier>\n          </uax:TypeId>\n          <uax:Body>\n            <uax:Argument>\n              <uax:Name>InternalRecipeId</uax:Name>\n              <uax:DataType>\n                <uax:Identifier>ns=1;i=3013</uax:Identifier>\n              </uax:DataType>\n              <uax:ValueRank>-1</uax:ValueRank>\n              <uax:ArrayDimensions />\n              <uax:Description />\n            </uax:Argument>\n          </uax:Body>\n        </uax:ExtensionObject>\n        <uax:ExtensionObject>\n          <uax:TypeId>\n            <uax:Identifier>i=297</uax:Identifier>\n          </uax:TypeId>\n          <uax:Body>\n            <uax:Argument>\n              <uax:Name>ProductId</uax:Name>\n              <uax:DataType>\n                <uax:Identifier>ns=1;i=3003</uax:Identifier>\n              </uax:DataType>\n              <uax:ValueRank>-1</uax:ValueRank>\n              <uax:ArrayDimensions />\n              <uax:Description />\n            </uax:Argument>\n          </uax:Body>\n        </uax:ExtensionObject>\n        <uax:ExtensionObject>\n          <uax:TypeId>\n            <uax:Identifier>i=297</uax:Identifier>\n          </uax:TypeId>\n          <uax:Body>\n            <uax:Argument>\n              <uax:Name>ExternalConfigurationId</uax:Name>\n              <uax:DataType>\n                <uax:Identifier>ns=1;i=3008</uax:Identifier>\n              </uax:DataType>\n              <uax:ValueRank>-1</uax:ValueRank>\n              <uax:ArrayDimensions />\n              <uax:Description />\n            </uax:Argument>\n          </uax:Body>\n        </uax:ExtensionObject>\n        <uax:ExtensionObject>\n          <uax:TypeId>\n            <uax:Identifier>i=297</uax:Identifier>\n          </uax:TypeId>\n          <uax:Body>\n            <uax:Argument>\n              <uax:Name>InternalConfigurationId</uax:Name>\n              <uax:DataType>\n                <uax:Identifier>ns=1;i=3008</uax:Identifier>\n              </uax:DataType>\n              <uax:ValueRank>-1</uax:ValueRank>\n              <uax:ArrayDimensions />\n              <uax:Description />\n            </uax:Argument>\n          </uax:Body>\n        </uax:ExtensionObject>\n        <uax:ExtensionObject>\n          <uax:TypeId>\n            <uax:Identifier>i=297</uax:Identifier>\n          </uax:TypeId>\n          <uax:Body>\n            <uax:Argument>\n              <uax:Name>JobId</uax:Name>\n              <uax:DataType>\n                <uax:Identifier>ns=1;i=3016</uax:Identifier>\n              </uax:DataType>\n              <uax:ValueRank>-1</uax:ValueRank>\n              <uax:ArrayDimensions />\n              <uax:Description />\n            </uax:Argument>\n          </uax:Body>\n        </uax:ExtensionObject>\n        <uax:ExtensionObject>\n          <uax:TypeId>\n            <uax:Identifier>i=297</uax:Identifier>\n          </uax:TypeId>\n          <uax:Body>\n            <uax:Argument>\n              <uax:Name>CreationTime</uax:Name>\n              <uax:DataType>\n                <uax:Identifier>i=294</uax:Identifier>\n              </uax:DataType>\n              <uax:ValueRank>-1</uax:ValueRank>\n              <uax:ArrayDimensions />\n              <uax:Description />\n            </uax:Argument>\n          </uax:Body>\n        </uax:ExtensionObject>\n        <uax:ExtensionObject>\n          <uax:TypeId>\n            <uax:Identifier>i=297</uax:Identifier>\n          </uax:TypeId>\n          <uax:Body>\n            <uax:Argument>\n              <uax:Name>ProcessingTimes</uax:Name>\n              <uax:DataType>\n                <uax:Identifier>ns=1;i=3005</uax:Identifier>\n              </uax:DataType>\n              <uax:ValueRank>-1</uax:ValueRank>\n              <uax:ArrayDimensions />\n              <uax:Description />\n            </uax:Argument>\n          </uax:Body>\n        </uax:ExtensionObject>\n        <uax:ExtensionObject>\n          <uax:TypeId>\n            <uax:Identifier>i=297</uax:Identifier>\n          </uax:TypeId>\n          <uax:Body>\n            <uax:Argument>\n              <uax:Name>ResultContent</uax:Name>\n              <uax:DataType>\n                <uax:Identifier>i=24</uax:Identifier>\n              </uax:DataType>\n              <uax:ValueRank>1</uax:ValueRank>\n              <uax:ArrayDimensions />\n              <uax:Description />\n            </uax:Argument>\n          </uax:Body>\n        </uax:ExtensionObject>\n        <uax:ExtensionObject>\n          <uax:TypeId>\n            <uax:Identifier>i=297</uax:Identifier>\n          </uax:TypeId>\n          <uax:Body>\n            <uax:Argument>\n              <uax:Name>Error</uax:Name>\n              <uax:DataType>\n                <uax:Identifier>i=6</uax:Identifier>\n              </uax:DataType>\n              <uax:ValueRank>-1</uax:ValueRank>\n              <uax:ArrayDimensions />\n              <uax:Description />\n            </uax:Argument>\n          </uax:Body>\n        </uax:ExtensionObject>\n      </uax:ListOfExtensionObject>\n    </Value>\n  </UAVariable>\n  <UAMethod NodeId=\"ns=1;i=7089\" BrowseName=\"1:GetResultListFiltered\" ParentNodeId=\"ns=1;i=1007\">\n    <DisplayName>GetResultListFiltered</DisplayName>\n    <Documentation>https://reference.opcfoundation.org/v104/MachineVision/v100/docs/7.10.2/#7.10.2.3</Documentation>\n    <References>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=1007</Reference>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=6213</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=6214</Reference>\n    </References>\n  </UAMethod>\n  <UAVariable NodeId=\"ns=1;i=6213\" BrowseName=\"InputArguments\" ParentNodeId=\"ns=1;i=7089\" DataType=\"Argument\" ValueRank=\"1\" ArrayDimensions=\"12\">\n    <DisplayName>InputArguments</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=7089</Reference>\n    </References>\n    <Value>\n      <uax:ListOfExtensionObject xmlns:uax=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <uax:ExtensionObject>\n          <uax:TypeId>\n            <uax:Identifier>i=297</uax:Identifier>\n          </uax:TypeId>\n          <uax:Body>\n            <uax:Argument>\n              <uax:Name>ResultState</uax:Name>\n              <uax:DataType>\n                <uax:Identifier>ns=1;i=3009</uax:Identifier>\n              </uax:DataType>\n              <uax:ValueRank>-1</uax:ValueRank>\n              <uax:ArrayDimensions />\n              <uax:Description />\n            </uax:Argument>\n          </uax:Body>\n        </uax:ExtensionObject>\n        <uax:ExtensionObject>\n          <uax:TypeId>\n            <uax:Identifier>i=297</uax:Identifier>\n          </uax:TypeId>\n          <uax:Body>\n            <uax:Argument>\n              <uax:Name>MeasId</uax:Name>\n              <uax:DataType>\n                <uax:Identifier>ns=1;i=3015</uax:Identifier>\n              </uax:DataType>\n              <uax:ValueRank>-1</uax:ValueRank>\n              <uax:ArrayDimensions />\n              <uax:Description />\n            </uax:Argument>\n          </uax:Body>\n        </uax:ExtensionObject>\n        <uax:ExtensionObject>\n          <uax:TypeId>\n            <uax:Identifier>i=297</uax:Identifier>\n          </uax:TypeId>\n          <uax:Body>\n            <uax:Argument>\n              <uax:Name>PartId</uax:Name>\n              <uax:DataType>\n                <uax:Identifier>ns=1;i=3004</uax:Identifier>\n              </uax:DataType>\n              <uax:ValueRank>-1</uax:ValueRank>\n              <uax:ArrayDimensions />\n              <uax:Description />\n            </uax:Argument>\n          </uax:Body>\n        </uax:ExtensionObject>\n        <uax:ExtensionObject>\n          <uax:TypeId>\n            <uax:Identifier>i=297</uax:Identifier>\n          </uax:TypeId>\n          <uax:Body>\n            <uax:Argument>\n              <uax:Name>ExternalRecipeId</uax:Name>\n              <uax:DataType>\n                <uax:Identifier>ns=1;i=3002</uax:Identifier>\n              </uax:DataType>\n              <uax:ValueRank>-1</uax:ValueRank>\n              <uax:ArrayDimensions />\n              <uax:Description />\n            </uax:Argument>\n          </uax:Body>\n        </uax:ExtensionObject>\n        <uax:ExtensionObject>\n          <uax:TypeId>\n            <uax:Identifier>i=297</uax:Identifier>\n          </uax:TypeId>\n          <uax:Body>\n            <uax:Argument>\n              <uax:Name>InternalRecipeId</uax:Name>\n              <uax:DataType>\n                <uax:Identifier>ns=1;i=3013</uax:Identifier>\n              </uax:DataType>\n              <uax:ValueRank>-1</uax:ValueRank>\n              <uax:ArrayDimensions />\n              <uax:Description />\n            </uax:Argument>\n          </uax:Body>\n        </uax:ExtensionObject>\n        <uax:ExtensionObject>\n          <uax:TypeId>\n            <uax:Identifier>i=297</uax:Identifier>\n          </uax:TypeId>\n          <uax:Body>\n            <uax:Argument>\n              <uax:Name>ExternalConfigurationId</uax:Name>\n              <uax:DataType>\n                <uax:Identifier>ns=1;i=3008</uax:Identifier>\n              </uax:DataType>\n              <uax:ValueRank>-1</uax:ValueRank>\n              <uax:ArrayDimensions />\n              <uax:Description />\n            </uax:Argument>\n          </uax:Body>\n        </uax:ExtensionObject>\n        <uax:ExtensionObject>\n          <uax:TypeId>\n            <uax:Identifier>i=297</uax:Identifier>\n          </uax:TypeId>\n          <uax:Body>\n            <uax:Argument>\n              <uax:Name>InternalConfigurationId</uax:Name>\n              <uax:DataType>\n                <uax:Identifier>ns=1;i=3008</uax:Identifier>\n              </uax:DataType>\n              <uax:ValueRank>-1</uax:ValueRank>\n              <uax:ArrayDimensions />\n              <uax:Description />\n            </uax:Argument>\n          </uax:Body>\n        </uax:ExtensionObject>\n        <uax:ExtensionObject>\n          <uax:TypeId>\n            <uax:Identifier>i=297</uax:Identifier>\n          </uax:TypeId>\n          <uax:Body>\n            <uax:Argument>\n              <uax:Name>ProductId</uax:Name>\n              <uax:DataType>\n                <uax:Identifier>ns=1;i=3003</uax:Identifier>\n              </uax:DataType>\n              <uax:ValueRank>-1</uax:ValueRank>\n              <uax:ArrayDimensions />\n              <uax:Description />\n            </uax:Argument>\n          </uax:Body>\n        </uax:ExtensionObject>\n        <uax:ExtensionObject>\n          <uax:TypeId>\n            <uax:Identifier>i=297</uax:Identifier>\n          </uax:TypeId>\n          <uax:Body>\n            <uax:Argument>\n              <uax:Name>JobId</uax:Name>\n              <uax:DataType>\n                <uax:Identifier>ns=1;i=3016</uax:Identifier>\n              </uax:DataType>\n              <uax:ValueRank>-1</uax:ValueRank>\n              <uax:ArrayDimensions />\n              <uax:Description />\n            </uax:Argument>\n          </uax:Body>\n        </uax:ExtensionObject>\n        <uax:ExtensionObject>\n          <uax:TypeId>\n            <uax:Identifier>i=297</uax:Identifier>\n          </uax:TypeId>\n          <uax:Body>\n            <uax:Argument>\n              <uax:Name>MaxResults</uax:Name>\n              <uax:DataType>\n                <uax:Identifier>i=7</uax:Identifier>\n              </uax:DataType>\n              <uax:ValueRank>-1</uax:ValueRank>\n              <uax:ArrayDimensions />\n              <uax:Description />\n            </uax:Argument>\n          </uax:Body>\n        </uax:ExtensionObject>\n        <uax:ExtensionObject>\n          <uax:TypeId>\n            <uax:Identifier>i=297</uax:Identifier>\n          </uax:TypeId>\n          <uax:Body>\n            <uax:Argument>\n              <uax:Name>StartIndex</uax:Name>\n              <uax:DataType>\n                <uax:Identifier>i=7</uax:Identifier>\n              </uax:DataType>\n              <uax:ValueRank>-1</uax:ValueRank>\n              <uax:ArrayDimensions />\n              <uax:Description />\n            </uax:Argument>\n          </uax:Body>\n        </uax:ExtensionObject>\n        <uax:ExtensionObject>\n          <uax:TypeId>\n            <uax:Identifier>i=297</uax:Identifier>\n          </uax:TypeId>\n          <uax:Body>\n            <uax:Argument>\n              <uax:Name>Timeout</uax:Name>\n              <uax:DataType>\n                <uax:Identifier>i=6</uax:Identifier>\n              </uax:DataType>\n              <uax:ValueRank>-1</uax:ValueRank>\n              <uax:ArrayDimensions />\n              <uax:Description />\n            </uax:Argument>\n          </uax:Body>\n        </uax:ExtensionObject>\n      </uax:ListOfExtensionObject>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=6214\" BrowseName=\"OutputArguments\" ParentNodeId=\"ns=1;i=7089\" DataType=\"Argument\" ValueRank=\"1\" ArrayDimensions=\"5\">\n    <DisplayName>OutputArguments</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=7089</Reference>\n    </References>\n    <Value>\n      <uax:ListOfExtensionObject xmlns:uax=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <uax:ExtensionObject>\n          <uax:TypeId>\n            <uax:Identifier>i=297</uax:Identifier>\n          </uax:TypeId>\n          <uax:Body>\n            <uax:Argument>\n              <uax:Name>IsComplete</uax:Name>\n              <uax:DataType>\n                <uax:Identifier>i=1</uax:Identifier>\n              </uax:DataType>\n              <uax:ValueRank>-1</uax:ValueRank>\n              <uax:ArrayDimensions />\n              <uax:Description />\n            </uax:Argument>\n          </uax:Body>\n        </uax:ExtensionObject>\n        <uax:ExtensionObject>\n          <uax:TypeId>\n            <uax:Identifier>i=297</uax:Identifier>\n          </uax:TypeId>\n          <uax:Body>\n            <uax:Argument>\n              <uax:Name>ResultCount</uax:Name>\n              <uax:DataType>\n                <uax:Identifier>i=7</uax:Identifier>\n              </uax:DataType>\n              <uax:ValueRank>-1</uax:ValueRank>\n              <uax:ArrayDimensions />\n              <uax:Description />\n            </uax:Argument>\n          </uax:Body>\n        </uax:ExtensionObject>\n        <uax:ExtensionObject>\n          <uax:TypeId>\n            <uax:Identifier>i=297</uax:Identifier>\n          </uax:TypeId>\n          <uax:Body>\n            <uax:Argument>\n              <uax:Name>ResultHandle</uax:Name>\n              <uax:DataType>\n                <uax:Identifier>ns=1;i=3018</uax:Identifier>\n              </uax:DataType>\n              <uax:ValueRank>-1</uax:ValueRank>\n              <uax:ArrayDimensions />\n              <uax:Description />\n            </uax:Argument>\n          </uax:Body>\n        </uax:ExtensionObject>\n        <uax:ExtensionObject>\n          <uax:TypeId>\n            <uax:Identifier>i=297</uax:Identifier>\n          </uax:TypeId>\n          <uax:Body>\n            <uax:Argument>\n              <uax:Name>ResultList</uax:Name>\n              <uax:DataType>\n                <uax:Identifier>ns=1;i=3006</uax:Identifier>\n              </uax:DataType>\n              <uax:ValueRank>1</uax:ValueRank>\n              <uax:ArrayDimensions />\n              <uax:Description />\n            </uax:Argument>\n          </uax:Body>\n        </uax:ExtensionObject>\n        <uax:ExtensionObject>\n          <uax:TypeId>\n            <uax:Identifier>i=297</uax:Identifier>\n          </uax:TypeId>\n          <uax:Body>\n            <uax:Argument>\n              <uax:Name>Error</uax:Name>\n              <uax:DataType>\n                <uax:Identifier>i=6</uax:Identifier>\n              </uax:DataType>\n              <uax:ValueRank>-1</uax:ValueRank>\n              <uax:ArrayDimensions />\n              <uax:Description />\n            </uax:Argument>\n          </uax:Body>\n        </uax:ExtensionObject>\n      </uax:ListOfExtensionObject>\n    </Value>\n  </UAVariable>\n  <UAMethod NodeId=\"ns=1;i=7090\" BrowseName=\"1:ReleaseResultHandle\" ParentNodeId=\"ns=1;i=1007\">\n    <DisplayName>ReleaseResultHandle</DisplayName>\n    <Documentation>https://reference.opcfoundation.org/v104/MachineVision/v100/docs/7.10.2/#7.10.2.4</Documentation>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=6217</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=80</Reference>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=6218</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=1007</Reference>\n    </References>\n  </UAMethod>\n  <UAVariable NodeId=\"ns=1;i=6217\" BrowseName=\"InputArguments\" ParentNodeId=\"ns=1;i=7090\" DataType=\"Argument\" ValueRank=\"1\" ArrayDimensions=\"1\">\n    <DisplayName>InputArguments</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=7090</Reference>\n    </References>\n    <Value>\n      <uax:ListOfExtensionObject xmlns:uax=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <uax:ExtensionObject>\n          <uax:TypeId>\n            <uax:Identifier>i=297</uax:Identifier>\n          </uax:TypeId>\n          <uax:Body>\n            <uax:Argument>\n              <uax:Name>ResultHandle</uax:Name>\n              <uax:DataType>\n                <uax:Identifier>ns=1;i=3018</uax:Identifier>\n              </uax:DataType>\n              <uax:ValueRank>-1</uax:ValueRank>\n              <uax:ArrayDimensions />\n              <uax:Description />\n            </uax:Argument>\n          </uax:Body>\n        </uax:ExtensionObject>\n      </uax:ListOfExtensionObject>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=6218\" BrowseName=\"OutputArguments\" ParentNodeId=\"ns=1;i=7090\" DataType=\"Argument\" ValueRank=\"1\" ArrayDimensions=\"1\">\n    <DisplayName>OutputArguments</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=7090</Reference>\n    </References>\n    <Value>\n      <uax:ListOfExtensionObject xmlns:uax=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <uax:ExtensionObject>\n          <uax:TypeId>\n            <uax:Identifier>i=297</uax:Identifier>\n          </uax:TypeId>\n          <uax:Body>\n            <uax:Argument>\n              <uax:Name>Error</uax:Name>\n              <uax:DataType>\n                <uax:Identifier>i=6</uax:Identifier>\n              </uax:DataType>\n              <uax:ValueRank>-1</uax:ValueRank>\n              <uax:ArrayDimensions />\n              <uax:Description />\n            </uax:Argument>\n          </uax:Body>\n        </uax:ExtensionObject>\n      </uax:ListOfExtensionObject>\n    </Value>\n  </UAVariable>\n  <UAObject NodeId=\"ns=1;i=5245\" BrowseName=\"1:Results\" ParentNodeId=\"ns=1;i=1007\">\n    <DisplayName>Results</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasModellingRule\">i=80</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">ns=1;i=1016</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=1007</Reference>\n    </References>\n  </UAObject>\n  <UAObject NodeId=\"ns=1;i=5251\" BrowseName=\"1:ResultTransfer\" ParentNodeId=\"ns=1;i=1007\">\n    <DisplayName>ResultTransfer</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=6543</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=7071</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=7067</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=7077</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=80</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=1007</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">ns=1;i=1039</Reference>\n    </References>\n  </UAObject>\n  <UAVariable NodeId=\"ns=1;i=6543\" BrowseName=\"ClientProcessingTimeout\" ParentNodeId=\"ns=1;i=5251\" DataType=\"Duration\">\n    <DisplayName>ClientProcessingTimeout</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=5251</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n    </References>\n  </UAVariable>\n  <UAMethod NodeId=\"ns=1;i=7071\" BrowseName=\"CloseAndCommit\" ParentNodeId=\"ns=1;i=5251\" MethodDeclarationId=\"i=15751\">\n    <DisplayName>CloseAndCommit</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=5251</Reference>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=6544</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=6545</Reference>\n    </References>\n  </UAMethod>\n  <UAVariable NodeId=\"ns=1;i=6544\" BrowseName=\"InputArguments\" ParentNodeId=\"ns=1;i=7071\" DataType=\"Argument\" ValueRank=\"1\" ArrayDimensions=\"1\">\n    <DisplayName>InputArguments</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=7071</Reference>\n    </References>\n    <Value>\n      <uax:ListOfExtensionObject xmlns:uax=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <uax:ExtensionObject>\n          <uax:TypeId>\n            <uax:Identifier>i=297</uax:Identifier>\n          </uax:TypeId>\n          <uax:Body>\n            <uax:Argument>\n              <uax:Name>FileHandle</uax:Name>\n              <uax:DataType>\n                <uax:Identifier>i=7</uax:Identifier>\n              </uax:DataType>\n              <uax:ValueRank>-1</uax:ValueRank>\n              <uax:ArrayDimensions />\n              <uax:Description />\n            </uax:Argument>\n          </uax:Body>\n        </uax:ExtensionObject>\n      </uax:ListOfExtensionObject>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=6545\" BrowseName=\"OutputArguments\" ParentNodeId=\"ns=1;i=7071\" DataType=\"Argument\" ValueRank=\"1\" ArrayDimensions=\"1\">\n    <DisplayName>OutputArguments</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=7071</Reference>\n    </References>\n    <Value>\n      <uax:ListOfExtensionObject xmlns:uax=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <uax:ExtensionObject>\n          <uax:TypeId>\n            <uax:Identifier>i=297</uax:Identifier>\n          </uax:TypeId>\n          <uax:Body>\n            <uax:Argument>\n              <uax:Name>CompletionStateMachine</uax:Name>\n              <uax:DataType>\n                <uax:Identifier>i=17</uax:Identifier>\n              </uax:DataType>\n              <uax:ValueRank>-1</uax:ValueRank>\n              <uax:ArrayDimensions />\n              <uax:Description />\n            </uax:Argument>\n          </uax:Body>\n        </uax:ExtensionObject>\n      </uax:ListOfExtensionObject>\n    </Value>\n  </UAVariable>\n  <UAMethod NodeId=\"ns=1;i=7067\" BrowseName=\"GenerateFileForRead\" ParentNodeId=\"ns=1;i=5251\" MethodDeclarationId=\"ns=1;i=7058\">\n    <DisplayName>GenerateFileForRead</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=5251</Reference>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=6541</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=6542</Reference>\n    </References>\n  </UAMethod>\n  <UAVariable NodeId=\"ns=1;i=6541\" BrowseName=\"InputArguments\" ParentNodeId=\"ns=1;i=7067\" DataType=\"Argument\" ValueRank=\"1\" ArrayDimensions=\"1\">\n    <DisplayName>InputArguments</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=7067</Reference>\n    </References>\n    <Value>\n      <uax:ListOfExtensionObject xmlns:uax=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <uax:ExtensionObject>\n          <uax:TypeId>\n            <uax:Identifier>i=297</uax:Identifier>\n          </uax:TypeId>\n          <uax:Body>\n            <uax:Argument>\n              <uax:Name>GenerateOptions</uax:Name>\n              <uax:DataType>\n                <uax:Identifier>ns=1;i=3022</uax:Identifier>\n              </uax:DataType>\n              <uax:ValueRank>-1</uax:ValueRank>\n              <uax:ArrayDimensions />\n              <uax:Description />\n            </uax:Argument>\n          </uax:Body>\n        </uax:ExtensionObject>\n      </uax:ListOfExtensionObject>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=6542\" BrowseName=\"OutputArguments\" ParentNodeId=\"ns=1;i=7067\" DataType=\"Argument\" ValueRank=\"1\" ArrayDimensions=\"3\">\n    <DisplayName>OutputArguments</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=7067</Reference>\n    </References>\n    <Value>\n      <uax:ListOfExtensionObject xmlns:uax=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <uax:ExtensionObject>\n          <uax:TypeId>\n            <uax:Identifier>i=297</uax:Identifier>\n          </uax:TypeId>\n          <uax:Body>\n            <uax:Argument>\n              <uax:Name>FileNodeId</uax:Name>\n              <uax:DataType>\n                <uax:Identifier>i=17</uax:Identifier>\n              </uax:DataType>\n              <uax:ValueRank>-1</uax:ValueRank>\n              <uax:ArrayDimensions />\n              <uax:Description />\n            </uax:Argument>\n          </uax:Body>\n        </uax:ExtensionObject>\n        <uax:ExtensionObject>\n          <uax:TypeId>\n            <uax:Identifier>i=297</uax:Identifier>\n          </uax:TypeId>\n          <uax:Body>\n            <uax:Argument>\n              <uax:Name>FileHandle</uax:Name>\n              <uax:DataType>\n                <uax:Identifier>i=7</uax:Identifier>\n              </uax:DataType>\n              <uax:ValueRank>-1</uax:ValueRank>\n              <uax:ArrayDimensions />\n              <uax:Description />\n            </uax:Argument>\n          </uax:Body>\n        </uax:ExtensionObject>\n        <uax:ExtensionObject>\n          <uax:TypeId>\n            <uax:Identifier>i=297</uax:Identifier>\n          </uax:TypeId>\n          <uax:Body>\n            <uax:Argument>\n              <uax:Name>CompletionStateMachine</uax:Name>\n              <uax:DataType>\n                <uax:Identifier>i=17</uax:Identifier>\n              </uax:DataType>\n              <uax:ValueRank>-1</uax:ValueRank>\n              <uax:ArrayDimensions />\n              <uax:Description />\n            </uax:Argument>\n          </uax:Body>\n        </uax:ExtensionObject>\n      </uax:ListOfExtensionObject>\n    </Value>\n  </UAVariable>\n  <UAMethod NodeId=\"ns=1;i=7077\" BrowseName=\"GenerateFileForWrite\" ParentNodeId=\"ns=1;i=5251\" MethodDeclarationId=\"i=15749\">\n    <DisplayName>GenerateFileForWrite</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=5251</Reference>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=6546</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=6547</Reference>\n    </References>\n  </UAMethod>\n  <UAVariable NodeId=\"ns=1;i=6546\" BrowseName=\"InputArguments\" ParentNodeId=\"ns=1;i=7077\" DataType=\"Argument\" ValueRank=\"1\" ArrayDimensions=\"1\">\n    <DisplayName>InputArguments</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=7077</Reference>\n    </References>\n    <Value>\n      <uax:ListOfExtensionObject xmlns:uax=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <uax:ExtensionObject>\n          <uax:TypeId>\n            <uax:Identifier>i=297</uax:Identifier>\n          </uax:TypeId>\n          <uax:Body>\n            <uax:Argument>\n              <uax:Name>GenerateOptions</uax:Name>\n              <uax:DataType>\n                <uax:Identifier>i=24</uax:Identifier>\n              </uax:DataType>\n              <uax:ValueRank>-1</uax:ValueRank>\n              <uax:ArrayDimensions />\n              <uax:Description />\n            </uax:Argument>\n          </uax:Body>\n        </uax:ExtensionObject>\n      </uax:ListOfExtensionObject>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=6547\" BrowseName=\"OutputArguments\" ParentNodeId=\"ns=1;i=7077\" DataType=\"Argument\" ValueRank=\"1\" ArrayDimensions=\"2\">\n    <DisplayName>OutputArguments</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=7077</Reference>\n    </References>\n    <Value>\n      <uax:ListOfExtensionObject xmlns:uax=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <uax:ExtensionObject>\n          <uax:TypeId>\n            <uax:Identifier>i=297</uax:Identifier>\n          </uax:TypeId>\n          <uax:Body>\n            <uax:Argument>\n              <uax:Name>FileNodeId</uax:Name>\n              <uax:DataType>\n                <uax:Identifier>i=17</uax:Identifier>\n              </uax:DataType>\n              <uax:ValueRank>-1</uax:ValueRank>\n              <uax:ArrayDimensions />\n              <uax:Description />\n            </uax:Argument>\n          </uax:Body>\n        </uax:ExtensionObject>\n        <uax:ExtensionObject>\n          <uax:TypeId>\n            <uax:Identifier>i=297</uax:Identifier>\n          </uax:TypeId>\n          <uax:Body>\n            <uax:Argument>\n              <uax:Name>FileHandle</uax:Name>\n              <uax:DataType>\n                <uax:Identifier>i=7</uax:Identifier>\n              </uax:DataType>\n              <uax:ValueRank>-1</uax:ValueRank>\n              <uax:ArrayDimensions />\n              <uax:Description />\n            </uax:Argument>\n          </uax:Body>\n        </uax:ExtensionObject>\n      </uax:ListOfExtensionObject>\n    </Value>\n  </UAVariable>\n  <UAObjectType NodeId=\"ns=1;i=1009\" BrowseName=\"1:SafetyStateManagementType\">\n    <DisplayName>SafetyStateManagementType</DisplayName>\n    <Documentation>https://reference.opcfoundation.org/v104/MachineVision/v100/docs/7.13.1</Documentation>\n    <References>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=7043</Reference>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=58</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=6042</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=6041</Reference>\n    </References>\n  </UAObjectType>\n  <UAMethod NodeId=\"ns=1;i=7043\" BrowseName=\"1:ReportSafetyState\" ParentNodeId=\"ns=1;i=1009\">\n    <DisplayName>ReportSafetyState</DisplayName>\n    <Documentation>https://reference.opcfoundation.org/v104/MachineVision/v100/docs/7.13.2/#7.13.2.1</Documentation>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=6222</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=6223</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=1009</Reference>\n    </References>\n  </UAMethod>\n  <UAVariable NodeId=\"ns=1;i=6222\" BrowseName=\"InputArguments\" ParentNodeId=\"ns=1;i=7043\" DataType=\"Argument\" ValueRank=\"1\" ArrayDimensions=\"2\">\n    <DisplayName>InputArguments</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=7043</Reference>\n    </References>\n    <Value>\n      <uax:ListOfExtensionObject xmlns:uax=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <uax:ExtensionObject>\n          <uax:TypeId>\n            <uax:Identifier>i=297</uax:Identifier>\n          </uax:TypeId>\n          <uax:Body>\n            <uax:Argument>\n              <uax:Name>SafetyTriggered</uax:Name>\n              <uax:DataType>\n                <uax:Identifier>i=1</uax:Identifier>\n              </uax:DataType>\n              <uax:ValueRank>-1</uax:ValueRank>\n              <uax:ArrayDimensions />\n              <uax:Description />\n            </uax:Argument>\n          </uax:Body>\n        </uax:ExtensionObject>\n        <uax:ExtensionObject>\n          <uax:TypeId>\n            <uax:Identifier>i=297</uax:Identifier>\n          </uax:TypeId>\n          <uax:Body>\n            <uax:Argument>\n              <uax:Name>SafetyInformation</uax:Name>\n              <uax:DataType>\n                <uax:Identifier>i=12</uax:Identifier>\n              </uax:DataType>\n              <uax:ValueRank>-1</uax:ValueRank>\n              <uax:ArrayDimensions />\n              <uax:Description />\n            </uax:Argument>\n          </uax:Body>\n        </uax:ExtensionObject>\n      </uax:ListOfExtensionObject>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=6223\" BrowseName=\"OutputArguments\" ParentNodeId=\"ns=1;i=7043\" DataType=\"Argument\" ValueRank=\"1\" ArrayDimensions=\"1\">\n    <DisplayName>OutputArguments</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=7043</Reference>\n    </References>\n    <Value>\n      <uax:ListOfExtensionObject xmlns:uax=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <uax:ExtensionObject>\n          <uax:TypeId>\n            <uax:Identifier>i=297</uax:Identifier>\n          </uax:TypeId>\n          <uax:Body>\n            <uax:Argument>\n              <uax:Name>Error</uax:Name>\n              <uax:DataType>\n                <uax:Identifier>i=6</uax:Identifier>\n              </uax:DataType>\n              <uax:ValueRank>-1</uax:ValueRank>\n              <uax:ArrayDimensions />\n              <uax:Description />\n            </uax:Argument>\n          </uax:Body>\n        </uax:ExtensionObject>\n      </uax:ListOfExtensionObject>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=6042\" BrowseName=\"1:VisionSafetyInformation\" ParentNodeId=\"ns=1;i=1009\" DataType=\"String\" AccessLevel=\"3\">\n    <DisplayName>VisionSafetyInformation</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=63</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=1009</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=6041\" BrowseName=\"1:VisionSafetyTriggered\" ParentNodeId=\"ns=1;i=1009\" DataType=\"Boolean\" AccessLevel=\"3\">\n    <DisplayName>VisionSafetyTriggered</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=63</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=1009</Reference>\n    </References>\n  </UAVariable>\n  <UAObjectType NodeId=\"ns=1;i=1021\" BrowseName=\"1:VisionAutomaticModeStateMachineType\">\n    <DisplayName>VisionAutomaticModeStateMachineType</DisplayName>\n    <Documentation>https://reference.opcfoundation.org/v104/MachineVision/v100/docs/8.3.4</Documentation>\n    <References>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=7097</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=5059</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=5021</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=5072</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=5073</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=5071</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=5056</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=5043</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=5061</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=5045</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=5060</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=5057</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=5046</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=5066</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=5067</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=5063</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=5044</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=5062</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=5064</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=5065</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=7100</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=5058</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=5052</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=5069</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=5070</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=5068</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=7009</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=7098</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=7096</Reference>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=2771</Reference>\n    </References>\n  </UAObjectType>\n  <UAMethod NodeId=\"ns=1;i=7097\" BrowseName=\"1:Abort\" ParentNodeId=\"ns=1;i=1021\">\n    <DisplayName>Abort</DisplayName>\n    <Documentation>https://reference.opcfoundation.org/v104/MachineVision/v100/docs/8.3.7/#8.3.7.3</Documentation>\n    <References>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=1021</Reference>\n      <Reference ReferenceType=\"HasCause\" IsForward=\"false\">ns=1;i=5069</Reference>\n      <Reference ReferenceType=\"HasCause\" IsForward=\"false\">ns=1;i=5072</Reference>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=6285</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=6286</Reference>\n    </References>\n  </UAMethod>\n  <UAVariable NodeId=\"ns=1;i=6285\" BrowseName=\"InputArguments\" ParentNodeId=\"ns=1;i=7097\" DataType=\"Argument\" ValueRank=\"1\" ArrayDimensions=\"2\">\n    <DisplayName>InputArguments</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=7097</Reference>\n    </References>\n    <Value>\n      <uax:ListOfExtensionObject xmlns:uax=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <uax:ExtensionObject>\n          <uax:TypeId>\n            <uax:Identifier>i=297</uax:Identifier>\n          </uax:TypeId>\n          <uax:Body>\n            <uax:Argument>\n              <uax:Name>Cause</uax:Name>\n              <uax:DataType>\n                <uax:Identifier>i=6</uax:Identifier>\n              </uax:DataType>\n              <uax:ValueRank>-1</uax:ValueRank>\n              <uax:ArrayDimensions />\n              <uax:Description />\n            </uax:Argument>\n          </uax:Body>\n        </uax:ExtensionObject>\n        <uax:ExtensionObject>\n          <uax:TypeId>\n            <uax:Identifier>i=297</uax:Identifier>\n          </uax:TypeId>\n          <uax:Body>\n            <uax:Argument>\n              <uax:Name>CauseDescription</uax:Name>\n              <uax:DataType>\n                <uax:Identifier>i=12</uax:Identifier>\n              </uax:DataType>\n              <uax:ValueRank>-1</uax:ValueRank>\n              <uax:ArrayDimensions />\n              <uax:Description />\n            </uax:Argument>\n          </uax:Body>\n        </uax:ExtensionObject>\n      </uax:ListOfExtensionObject>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=6286\" BrowseName=\"OutputArguments\" ParentNodeId=\"ns=1;i=7097\" DataType=\"Argument\" ValueRank=\"1\" ArrayDimensions=\"1\">\n    <DisplayName>OutputArguments</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=7097</Reference>\n    </References>\n    <Value>\n      <uax:ListOfExtensionObject xmlns:uax=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <uax:ExtensionObject>\n          <uax:TypeId>\n            <uax:Identifier>i=297</uax:Identifier>\n          </uax:TypeId>\n          <uax:Body>\n            <uax:Argument>\n              <uax:Name>Error</uax:Name>\n              <uax:DataType>\n                <uax:Identifier>i=6</uax:Identifier>\n              </uax:DataType>\n              <uax:ValueRank>-1</uax:ValueRank>\n              <uax:ArrayDimensions />\n              <uax:Description />\n            </uax:Argument>\n          </uax:Body>\n        </uax:ExtensionObject>\n      </uax:ListOfExtensionObject>\n    </Value>\n  </UAVariable>\n  <UAObject NodeId=\"ns=1;i=5059\" BrowseName=\"1:ContinuousExecution\" ParentNodeId=\"ns=1;i=1021\">\n    <DisplayName>ContinuousExecution</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=1021</Reference>\n      <Reference ReferenceType=\"HasSubStateMachine\">ns=1;i=5021</Reference>\n      <Reference ReferenceType=\"ToTransition\">ns=1;i=5072</Reference>\n      <Reference ReferenceType=\"ToTransition\">ns=1;i=5073</Reference>\n      <Reference ReferenceType=\"ToTransition\">ns=1;i=5071</Reference>\n      <Reference ReferenceType=\"FromTransition\">ns=1;i=5066</Reference>\n      <Reference ReferenceType=\"FromTransition\">ns=1;i=5067</Reference>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=6262</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=2307</Reference>\n      <Reference ReferenceType=\"ToState\" IsForward=\"false\">ns=1;i=5066</Reference>\n      <Reference ReferenceType=\"ToState\" IsForward=\"false\">ns=1;i=5067</Reference>\n      <Reference ReferenceType=\"FromState\" IsForward=\"false\">ns=1;i=5071</Reference>\n      <Reference ReferenceType=\"FromState\" IsForward=\"false\">ns=1;i=5072</Reference>\n      <Reference ReferenceType=\"FromState\" IsForward=\"false\">ns=1;i=5073</Reference>\n    </References>\n  </UAObject>\n  <UAVariable NodeId=\"ns=1;i=6262\" BrowseName=\"StateNumber\" ParentNodeId=\"ns=1;i=5059\" DataType=\"UInt32\">\n    <DisplayName>StateNumber</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=5059</Reference>\n    </References>\n    <Value>\n      <uax:UInt32 xmlns:uax=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">8</uax:UInt32>\n    </Value>\n  </UAVariable>\n  <UAObject NodeId=\"ns=1;i=5021\" BrowseName=\"1:ContinuousExecutionStepModel\" ParentNodeId=\"ns=1;i=1021\">\n    <DisplayName>ContinuousExecutionStepModel</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=1021</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=6085</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=80</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=7024</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">ns=1;i=1026</Reference>\n      <Reference ReferenceType=\"HasSubStateMachine\" IsForward=\"false\">ns=1;i=5059</Reference>\n    </References>\n  </UAObject>\n  <UAVariable NodeId=\"ns=1;i=6085\" BrowseName=\"CurrentState\" ParentNodeId=\"ns=1;i=5021\" DataType=\"LocalizedText\">\n    <DisplayName>CurrentState</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=5021</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=2760</Reference>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=6088</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=6088\" BrowseName=\"Id\" ParentNodeId=\"ns=1;i=6085\" DataType=\"NodeId\">\n    <DisplayName>Id</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=6085</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n    </References>\n  </UAVariable>\n  <UAMethod NodeId=\"ns=1;i=7024\" BrowseName=\"1:Sync\" ParentNodeId=\"ns=1;i=5021\" MethodDeclarationId=\"ns=1;i=7101\">\n    <DisplayName>Sync</DisplayName>\n    <Documentation>https://reference.opcfoundation.org/v104/MachineVision/v100/docs/8.4.6/#8.4.6.1</Documentation>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=6059</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=6083</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=5021</Reference>\n    </References>\n  </UAMethod>\n  <UAVariable NodeId=\"ns=1;i=6059\" BrowseName=\"InputArguments\" ParentNodeId=\"ns=1;i=7024\" DataType=\"Argument\" ValueRank=\"1\" ArrayDimensions=\"2\">\n    <DisplayName>InputArguments</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=7024</Reference>\n    </References>\n    <Value>\n      <uax:ListOfExtensionObject xmlns:uax=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <uax:ExtensionObject>\n          <uax:TypeId>\n            <uax:Identifier>i=297</uax:Identifier>\n          </uax:TypeId>\n          <uax:Body>\n            <uax:Argument>\n              <uax:Name>Cause</uax:Name>\n              <uax:DataType>\n                <uax:Identifier>i=6</uax:Identifier>\n              </uax:DataType>\n              <uax:ValueRank>-1</uax:ValueRank>\n              <uax:ArrayDimensions />\n              <uax:Description />\n            </uax:Argument>\n          </uax:Body>\n        </uax:ExtensionObject>\n        <uax:ExtensionObject>\n          <uax:TypeId>\n            <uax:Identifier>i=297</uax:Identifier>\n          </uax:TypeId>\n          <uax:Body>\n            <uax:Argument>\n              <uax:Name>CauseDescription</uax:Name>\n              <uax:DataType>\n                <uax:Identifier>i=12</uax:Identifier>\n              </uax:DataType>\n              <uax:ValueRank>-1</uax:ValueRank>\n              <uax:ArrayDimensions />\n              <uax:Description />\n            </uax:Argument>\n          </uax:Body>\n        </uax:ExtensionObject>\n      </uax:ListOfExtensionObject>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=6083\" BrowseName=\"OutputArguments\" ParentNodeId=\"ns=1;i=7024\" DataType=\"Argument\" ValueRank=\"1\" ArrayDimensions=\"1\">\n    <DisplayName>OutputArguments</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=7024</Reference>\n    </References>\n    <Value>\n      <uax:ListOfExtensionObject xmlns:uax=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <uax:ExtensionObject>\n          <uax:TypeId>\n            <uax:Identifier>i=297</uax:Identifier>\n          </uax:TypeId>\n          <uax:Body>\n            <uax:Argument>\n              <uax:Name>Error</uax:Name>\n              <uax:DataType>\n                <uax:Identifier>i=6</uax:Identifier>\n              </uax:DataType>\n              <uax:ValueRank>-1</uax:ValueRank>\n              <uax:ArrayDimensions />\n              <uax:Description />\n            </uax:Argument>\n          </uax:Body>\n        </uax:ExtensionObject>\n      </uax:ListOfExtensionObject>\n    </Value>\n  </UAVariable>\n  <UAObject NodeId=\"ns=1;i=5072\" BrowseName=\"1:ContinuousExecutionToReadyAbort\" ParentNodeId=\"ns=1;i=1021\">\n    <DisplayName>ContinuousExecutionToReadyAbort</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasCause\">ns=1;i=7097</Reference>\n      <Reference ReferenceType=\"FromState\">ns=1;i=5059</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=1021</Reference>\n      <Reference ReferenceType=\"FromTransition\" IsForward=\"false\">ns=1;i=5057</Reference>\n      <Reference ReferenceType=\"ToTransition\" IsForward=\"false\">ns=1;i=5059</Reference>\n      <Reference ReferenceType=\"ToState\">ns=1;i=5057</Reference>\n      <Reference ReferenceType=\"HasEffect\">ns=1;i=1023</Reference>\n      <Reference ReferenceType=\"HasEffect\">ns=1;i=1018</Reference>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=6275</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=2310</Reference>\n    </References>\n  </UAObject>\n  <UAVariable NodeId=\"ns=1;i=6275\" BrowseName=\"TransitionNumber\" ParentNodeId=\"ns=1;i=5072\" DataType=\"UInt32\">\n    <DisplayName>TransitionNumber</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=5072</Reference>\n    </References>\n    <Value>\n      <uax:UInt32 xmlns:uax=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">862</uax:UInt32>\n    </Value>\n  </UAVariable>\n  <UAObject NodeId=\"ns=1;i=5073\" BrowseName=\"1:ContinuousExecutionToReadyAuto\" ParentNodeId=\"ns=1;i=1021\">\n    <DisplayName>ContinuousExecutionToReadyAuto</DisplayName>\n    <References>\n      <Reference ReferenceType=\"FromState\">ns=1;i=5059</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=1021</Reference>\n      <Reference ReferenceType=\"FromTransition\" IsForward=\"false\">ns=1;i=5057</Reference>\n      <Reference ReferenceType=\"ToTransition\" IsForward=\"false\">ns=1;i=5059</Reference>\n      <Reference ReferenceType=\"ToState\">ns=1;i=5057</Reference>\n      <Reference ReferenceType=\"HasEffect\">ns=1;i=1023</Reference>\n      <Reference ReferenceType=\"HasEffect\">ns=1;i=1018</Reference>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=6276</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=2310</Reference>\n    </References>\n  </UAObject>\n  <UAVariable NodeId=\"ns=1;i=6276\" BrowseName=\"TransitionNumber\" ParentNodeId=\"ns=1;i=5073\" DataType=\"UInt32\">\n    <DisplayName>TransitionNumber</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=5073</Reference>\n    </References>\n    <Value>\n      <uax:UInt32 xmlns:uax=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">860</uax:UInt32>\n    </Value>\n  </UAVariable>\n  <UAObject NodeId=\"ns=1;i=5071\" BrowseName=\"1:ContinuousExecutionToReadyStop\" ParentNodeId=\"ns=1;i=1021\">\n    <DisplayName>ContinuousExecutionToReadyStop</DisplayName>\n    <References>\n      <Reference ReferenceType=\"FromState\">ns=1;i=5059</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=1021</Reference>\n      <Reference ReferenceType=\"FromTransition\" IsForward=\"false\">ns=1;i=5057</Reference>\n      <Reference ReferenceType=\"ToTransition\" IsForward=\"false\">ns=1;i=5059</Reference>\n      <Reference ReferenceType=\"ToState\">ns=1;i=5057</Reference>\n      <Reference ReferenceType=\"HasEffect\">ns=1;i=1023</Reference>\n      <Reference ReferenceType=\"HasEffect\">ns=1;i=1018</Reference>\n      <Reference ReferenceType=\"HasCause\">ns=1;i=7096</Reference>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=6274</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=2310</Reference>\n    </References>\n  </UAObject>\n  <UAVariable NodeId=\"ns=1;i=6274\" BrowseName=\"TransitionNumber\" ParentNodeId=\"ns=1;i=5071\" DataType=\"UInt32\">\n    <DisplayName>TransitionNumber</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=5071</Reference>\n    </References>\n    <Value>\n      <uax:UInt32 xmlns:uax=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">861</uax:UInt32>\n    </Value>\n  </UAVariable>\n  <UAObject NodeId=\"ns=1;i=5056\" BrowseName=\"1:Initialized\" ParentNodeId=\"ns=1;i=1021\">\n    <DisplayName>Initialized</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=1021</Reference>\n      <Reference ReferenceType=\"ToState\" IsForward=\"false\">ns=1;i=5035</Reference>\n      <Reference ReferenceType=\"ToState\" IsForward=\"false\">ns=1;i=5036</Reference>\n      <Reference ReferenceType=\"ToState\" IsForward=\"false\">ns=1;i=5044</Reference>\n      <Reference ReferenceType=\"FromState\" IsForward=\"false\">ns=1;i=5045</Reference>\n      <Reference ReferenceType=\"HasSubStateMachine\">ns=1;i=5043</Reference>\n      <Reference ReferenceType=\"ToTransition\">ns=1;i=5061</Reference>\n      <Reference ReferenceType=\"ToTransition\">ns=1;i=5045</Reference>\n      <Reference ReferenceType=\"ToTransition\">ns=1;i=5060</Reference>\n      <Reference ReferenceType=\"FromTransition\">ns=1;i=5063</Reference>\n      <Reference ReferenceType=\"FromTransition\">ns=1;i=5044</Reference>\n      <Reference ReferenceType=\"FromTransition\">ns=1;i=5062</Reference>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=6259</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=2307</Reference>\n      <Reference ReferenceType=\"FromState\" IsForward=\"false\">ns=1;i=5060</Reference>\n      <Reference ReferenceType=\"FromState\" IsForward=\"false\">ns=1;i=5061</Reference>\n      <Reference ReferenceType=\"ToState\" IsForward=\"false\">ns=1;i=5062</Reference>\n      <Reference ReferenceType=\"ToState\" IsForward=\"false\">ns=1;i=5063</Reference>\n    </References>\n  </UAObject>\n  <UAVariable NodeId=\"ns=1;i=6259\" BrowseName=\"StateNumber\" ParentNodeId=\"ns=1;i=5056\" DataType=\"UInt32\">\n    <DisplayName>StateNumber</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=5056</Reference>\n    </References>\n    <Value>\n      <uax:UInt32 xmlns:uax=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">5</uax:UInt32>\n    </Value>\n  </UAVariable>\n  <UAObject NodeId=\"ns=1;i=5043\" BrowseName=\"1:InitializedStepModel\" ParentNodeId=\"ns=1;i=1021\">\n    <DisplayName>InitializedStepModel</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=6091</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=1021</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=80</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=7027</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">ns=1;i=1026</Reference>\n      <Reference ReferenceType=\"HasSubStateMachine\" IsForward=\"false\">ns=1;i=5056</Reference>\n    </References>\n  </UAObject>\n  <UAVariable NodeId=\"ns=1;i=6091\" BrowseName=\"CurrentState\" ParentNodeId=\"ns=1;i=5043\" DataType=\"LocalizedText\">\n    <DisplayName>CurrentState</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=5043</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=2760</Reference>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=6092</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=6092\" BrowseName=\"Id\" ParentNodeId=\"ns=1;i=6091\" DataType=\"NodeId\">\n    <DisplayName>Id</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=6091</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n    </References>\n  </UAVariable>\n  <UAMethod NodeId=\"ns=1;i=7027\" BrowseName=\"1:Sync\" ParentNodeId=\"ns=1;i=5043\" MethodDeclarationId=\"ns=1;i=7101\">\n    <DisplayName>Sync</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=6089</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=6090</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=5043</Reference>\n    </References>\n  </UAMethod>\n  <UAVariable NodeId=\"ns=1;i=6089\" BrowseName=\"InputArguments\" ParentNodeId=\"ns=1;i=7027\" DataType=\"Argument\" ValueRank=\"1\" ArrayDimensions=\"2\">\n    <DisplayName>InputArguments</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=7027</Reference>\n    </References>\n    <Value>\n      <uax:ListOfExtensionObject xmlns:uax=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <uax:ExtensionObject>\n          <uax:TypeId>\n            <uax:Identifier>i=297</uax:Identifier>\n          </uax:TypeId>\n          <uax:Body>\n            <uax:Argument>\n              <uax:Name>Cause</uax:Name>\n              <uax:DataType>\n                <uax:Identifier>i=6</uax:Identifier>\n              </uax:DataType>\n              <uax:ValueRank>-1</uax:ValueRank>\n              <uax:ArrayDimensions />\n              <uax:Description />\n            </uax:Argument>\n          </uax:Body>\n        </uax:ExtensionObject>\n        <uax:ExtensionObject>\n          <uax:TypeId>\n            <uax:Identifier>i=297</uax:Identifier>\n          </uax:TypeId>\n          <uax:Body>\n            <uax:Argument>\n              <uax:Name>CauseDescription</uax:Name>\n              <uax:DataType>\n                <uax:Identifier>i=12</uax:Identifier>\n              </uax:DataType>\n              <uax:ValueRank>-1</uax:ValueRank>\n              <uax:ArrayDimensions />\n              <uax:Description />\n            </uax:Argument>\n          </uax:Body>\n        </uax:ExtensionObject>\n      </uax:ListOfExtensionObject>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=6090\" BrowseName=\"OutputArguments\" ParentNodeId=\"ns=1;i=7027\" DataType=\"Argument\" ValueRank=\"1\" ArrayDimensions=\"1\">\n    <DisplayName>OutputArguments</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=7027</Reference>\n    </References>\n    <Value>\n      <uax:ListOfExtensionObject xmlns:uax=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <uax:ExtensionObject>\n          <uax:TypeId>\n            <uax:Identifier>i=297</uax:Identifier>\n          </uax:TypeId>\n          <uax:Body>\n            <uax:Argument>\n              <uax:Name>Error</uax:Name>\n              <uax:DataType>\n                <uax:Identifier>i=6</uax:Identifier>\n              </uax:DataType>\n              <uax:ValueRank>-1</uax:ValueRank>\n              <uax:ArrayDimensions />\n              <uax:Description />\n            </uax:Argument>\n          </uax:Body>\n        </uax:ExtensionObject>\n      </uax:ListOfExtensionObject>\n    </Value>\n  </UAVariable>\n  <UAObject NodeId=\"ns=1;i=5061\" BrowseName=\"1:InitializedToReadyAuto\" ParentNodeId=\"ns=1;i=1021\">\n    <DisplayName>InitializedToReadyAuto</DisplayName>\n    <References>\n      <Reference ReferenceType=\"FromState\">ns=1;i=5056</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=1021</Reference>\n      <Reference ReferenceType=\"ToTransition\" IsForward=\"false\">ns=1;i=5056</Reference>\n      <Reference ReferenceType=\"FromTransition\" IsForward=\"false\">ns=1;i=5057</Reference>\n      <Reference ReferenceType=\"ToState\">ns=1;i=5057</Reference>\n      <Reference ReferenceType=\"HasEffect\">ns=1;i=1018</Reference>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=6264</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=2310</Reference>\n    </References>\n  </UAObject>\n  <UAVariable NodeId=\"ns=1;i=6264\" BrowseName=\"TransitionNumber\" ParentNodeId=\"ns=1;i=5061\" DataType=\"UInt32\">\n    <DisplayName>TransitionNumber</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=5061</Reference>\n    </References>\n    <Value>\n      <uax:UInt32 xmlns:uax=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">560</uax:UInt32>\n    </Value>\n  </UAVariable>\n  <UAObject NodeId=\"ns=1;i=5045\" BrowseName=\"1:InitializedToReadyProduct\" ParentNodeId=\"ns=1;i=1021\">\n    <DisplayName>InitializedToReadyProduct</DisplayName>\n    <References>\n      <Reference ReferenceType=\"FromState\">ns=1;i=5056</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=1021</Reference>\n      <Reference ReferenceType=\"HasCause\">ns=1;i=7060</Reference>\n      <Reference ReferenceType=\"ToState\">ns=1;i=5057</Reference>\n      <Reference ReferenceType=\"HasEffect\">ns=1;i=1022</Reference>\n      <Reference ReferenceType=\"HasEffect\">ns=1;i=1018</Reference>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=6084</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=2310</Reference>\n      <Reference ReferenceType=\"ToTransition\" IsForward=\"false\">ns=1;i=5056</Reference>\n      <Reference ReferenceType=\"FromTransition\" IsForward=\"false\">ns=1;i=5057</Reference>\n    </References>\n  </UAObject>\n  <UAVariable NodeId=\"ns=1;i=6084\" BrowseName=\"TransitionNumber\" ParentNodeId=\"ns=1;i=5045\" DataType=\"UInt32\">\n    <DisplayName>TransitionNumber</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=5045</Reference>\n    </References>\n    <Value>\n      <uax:UInt32 xmlns:uax=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">562</uax:UInt32>\n    </Value>\n  </UAVariable>\n  <UAObject NodeId=\"ns=1;i=5060\" BrowseName=\"1:InitializedToReadyRecipe\" ParentNodeId=\"ns=1;i=1021\">\n    <DisplayName>InitializedToReadyRecipe</DisplayName>\n    <References>\n      <Reference ReferenceType=\"FromState\">ns=1;i=5056</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=1021</Reference>\n      <Reference ReferenceType=\"ToTransition\" IsForward=\"false\">ns=1;i=5056</Reference>\n      <Reference ReferenceType=\"FromTransition\" IsForward=\"false\">ns=1;i=5057</Reference>\n      <Reference ReferenceType=\"HasCause\">ns=1;i=7015</Reference>\n      <Reference ReferenceType=\"ToState\">ns=1;i=5057</Reference>\n      <Reference ReferenceType=\"HasEffect\">ns=1;i=1022</Reference>\n      <Reference ReferenceType=\"HasEffect\">ns=1;i=1018</Reference>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=6263</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=2310</Reference>\n    </References>\n  </UAObject>\n  <UAVariable NodeId=\"ns=1;i=6263\" BrowseName=\"TransitionNumber\" ParentNodeId=\"ns=1;i=5060\" DataType=\"UInt32\">\n    <DisplayName>TransitionNumber</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=5060</Reference>\n    </References>\n    <Value>\n      <uax:UInt32 xmlns:uax=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">561</uax:UInt32>\n    </Value>\n  </UAVariable>\n  <UAObject NodeId=\"ns=1;i=5057\" BrowseName=\"1:Ready\" ParentNodeId=\"ns=1;i=1021\">\n    <DisplayName>Ready</DisplayName>\n    <References>\n      <Reference ReferenceType=\"FromTransition\">ns=1;i=5072</Reference>\n      <Reference ReferenceType=\"FromTransition\">ns=1;i=5073</Reference>\n      <Reference ReferenceType=\"FromTransition\">ns=1;i=5071</Reference>\n      <Reference ReferenceType=\"FromTransition\">ns=1;i=5061</Reference>\n      <Reference ReferenceType=\"FromTransition\">ns=1;i=5045</Reference>\n      <Reference ReferenceType=\"FromTransition\">ns=1;i=5060</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=1021</Reference>\n      <Reference ReferenceType=\"FromState\" IsForward=\"false\">ns=1;i=5044</Reference>\n      <Reference ReferenceType=\"ToState\" IsForward=\"false\">ns=1;i=5045</Reference>\n      <Reference ReferenceType=\"HasSubStateMachine\">ns=1;i=5046</Reference>\n      <Reference ReferenceType=\"ToTransition\">ns=1;i=5066</Reference>\n      <Reference ReferenceType=\"ToTransition\">ns=1;i=5067</Reference>\n      <Reference ReferenceType=\"ToTransition\">ns=1;i=5063</Reference>\n      <Reference ReferenceType=\"ToTransition\">ns=1;i=5044</Reference>\n      <Reference ReferenceType=\"ToTransition\">ns=1;i=5062</Reference>\n      <Reference ReferenceType=\"ToTransition\">ns=1;i=5064</Reference>\n      <Reference ReferenceType=\"ToTransition\">ns=1;i=5065</Reference>\n      <Reference ReferenceType=\"FromTransition\">ns=1;i=5069</Reference>\n      <Reference ReferenceType=\"FromTransition\">ns=1;i=5070</Reference>\n      <Reference ReferenceType=\"FromTransition\">ns=1;i=5068</Reference>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=6260</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=2307</Reference>\n      <Reference ReferenceType=\"ToState\" IsForward=\"false\">ns=1;i=5060</Reference>\n      <Reference ReferenceType=\"ToState\" IsForward=\"false\">ns=1;i=5061</Reference>\n      <Reference ReferenceType=\"FromState\" IsForward=\"false\">ns=1;i=5062</Reference>\n      <Reference ReferenceType=\"FromState\" IsForward=\"false\">ns=1;i=5063</Reference>\n      <Reference ReferenceType=\"FromState\" IsForward=\"false\">ns=1;i=5064</Reference>\n      <Reference ReferenceType=\"FromState\" IsForward=\"false\">ns=1;i=5065</Reference>\n      <Reference ReferenceType=\"FromState\" IsForward=\"false\">ns=1;i=5066</Reference>\n      <Reference ReferenceType=\"FromState\" IsForward=\"false\">ns=1;i=5067</Reference>\n      <Reference ReferenceType=\"ToState\" IsForward=\"false\">ns=1;i=5068</Reference>\n      <Reference ReferenceType=\"ToState\" IsForward=\"false\">ns=1;i=5069</Reference>\n      <Reference ReferenceType=\"ToState\" IsForward=\"false\">ns=1;i=5070</Reference>\n      <Reference ReferenceType=\"ToState\" IsForward=\"false\">ns=1;i=5071</Reference>\n      <Reference ReferenceType=\"ToState\" IsForward=\"false\">ns=1;i=5072</Reference>\n      <Reference ReferenceType=\"ToState\" IsForward=\"false\">ns=1;i=5073</Reference>\n    </References>\n  </UAObject>\n  <UAVariable NodeId=\"ns=1;i=6260\" BrowseName=\"StateNumber\" ParentNodeId=\"ns=1;i=5057\" DataType=\"UInt32\">\n    <DisplayName>StateNumber</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=5057</Reference>\n    </References>\n    <Value>\n      <uax:UInt32 xmlns:uax=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">6</uax:UInt32>\n    </Value>\n  </UAVariable>\n  <UAObject NodeId=\"ns=1;i=5046\" BrowseName=\"1:ReadyStepModel\" ParentNodeId=\"ns=1;i=1021\">\n    <DisplayName>ReadyStepModel</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=6135</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=80</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=1021</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=7028</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">ns=1;i=1026</Reference>\n      <Reference ReferenceType=\"HasSubStateMachine\" IsForward=\"false\">ns=1;i=5057</Reference>\n    </References>\n  </UAObject>\n  <UAVariable NodeId=\"ns=1;i=6135\" BrowseName=\"CurrentState\" ParentNodeId=\"ns=1;i=5046\" DataType=\"LocalizedText\">\n    <DisplayName>CurrentState</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=5046</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=2760</Reference>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=6136</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=6136\" BrowseName=\"Id\" ParentNodeId=\"ns=1;i=6135\" DataType=\"NodeId\">\n    <DisplayName>Id</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=6135</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n    </References>\n  </UAVariable>\n  <UAMethod NodeId=\"ns=1;i=7028\" BrowseName=\"1:Sync\" ParentNodeId=\"ns=1;i=5046\" MethodDeclarationId=\"ns=1;i=7101\">\n    <DisplayName>Sync</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=6129</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=6134</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=5046</Reference>\n    </References>\n  </UAMethod>\n  <UAVariable NodeId=\"ns=1;i=6129\" BrowseName=\"InputArguments\" ParentNodeId=\"ns=1;i=7028\" DataType=\"Argument\" ValueRank=\"1\" ArrayDimensions=\"2\">\n    <DisplayName>InputArguments</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=7028</Reference>\n    </References>\n    <Value>\n      <uax:ListOfExtensionObject xmlns:uax=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <uax:ExtensionObject>\n          <uax:TypeId>\n            <uax:Identifier>i=297</uax:Identifier>\n          </uax:TypeId>\n          <uax:Body>\n            <uax:Argument>\n              <uax:Name>Cause</uax:Name>\n              <uax:DataType>\n                <uax:Identifier>i=6</uax:Identifier>\n              </uax:DataType>\n              <uax:ValueRank>-1</uax:ValueRank>\n              <uax:ArrayDimensions />\n              <uax:Description />\n            </uax:Argument>\n          </uax:Body>\n        </uax:ExtensionObject>\n        <uax:ExtensionObject>\n          <uax:TypeId>\n            <uax:Identifier>i=297</uax:Identifier>\n          </uax:TypeId>\n          <uax:Body>\n            <uax:Argument>\n              <uax:Name>CauseDescription</uax:Name>\n              <uax:DataType>\n                <uax:Identifier>i=12</uax:Identifier>\n              </uax:DataType>\n              <uax:ValueRank>-1</uax:ValueRank>\n              <uax:ArrayDimensions />\n              <uax:Description />\n            </uax:Argument>\n          </uax:Body>\n        </uax:ExtensionObject>\n      </uax:ListOfExtensionObject>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=6134\" BrowseName=\"OutputArguments\" ParentNodeId=\"ns=1;i=7028\" DataType=\"Argument\" ValueRank=\"1\" ArrayDimensions=\"1\">\n    <DisplayName>OutputArguments</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=7028</Reference>\n    </References>\n    <Value>\n      <uax:ListOfExtensionObject xmlns:uax=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <uax:ExtensionObject>\n          <uax:TypeId>\n            <uax:Identifier>i=297</uax:Identifier>\n          </uax:TypeId>\n          <uax:Body>\n            <uax:Argument>\n              <uax:Name>Error</uax:Name>\n              <uax:DataType>\n                <uax:Identifier>i=6</uax:Identifier>\n              </uax:DataType>\n              <uax:ValueRank>-1</uax:ValueRank>\n              <uax:ArrayDimensions />\n              <uax:Description />\n            </uax:Argument>\n          </uax:Body>\n        </uax:ExtensionObject>\n      </uax:ListOfExtensionObject>\n    </Value>\n  </UAVariable>\n  <UAObject NodeId=\"ns=1;i=5066\" BrowseName=\"1:ReadyToContinuousExecution\" ParentNodeId=\"ns=1;i=1021\">\n    <DisplayName>ReadyToContinuousExecution</DisplayName>\n    <References>\n      <Reference ReferenceType=\"ToState\">ns=1;i=5059</Reference>\n      <Reference ReferenceType=\"HasEffect\">ns=1;i=1013</Reference>\n      <Reference ReferenceType=\"FromState\">ns=1;i=5057</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=1021</Reference>\n      <Reference ReferenceType=\"ToTransition\" IsForward=\"false\">ns=1;i=5057</Reference>\n      <Reference ReferenceType=\"FromTransition\" IsForward=\"false\">ns=1;i=5059</Reference>\n      <Reference ReferenceType=\"HasCause\">ns=1;i=7009</Reference>\n      <Reference ReferenceType=\"HasEffect\">ns=1;i=1018</Reference>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=6269</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=2310</Reference>\n    </References>\n  </UAObject>\n  <UAVariable NodeId=\"ns=1;i=6269\" BrowseName=\"TransitionNumber\" ParentNodeId=\"ns=1;i=5066\" DataType=\"UInt32\">\n    <DisplayName>TransitionNumber</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=5066</Reference>\n    </References>\n    <Value>\n      <uax:UInt32 xmlns:uax=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">681</uax:UInt32>\n    </Value>\n  </UAVariable>\n  <UAObject NodeId=\"ns=1;i=5067\" BrowseName=\"1:ReadyToContinuousExecutionAuto\" ParentNodeId=\"ns=1;i=1021\">\n    <DisplayName>ReadyToContinuousExecutionAuto</DisplayName>\n    <References>\n      <Reference ReferenceType=\"ToState\">ns=1;i=5059</Reference>\n      <Reference ReferenceType=\"HasEffect\">ns=1;i=1013</Reference>\n      <Reference ReferenceType=\"FromState\">ns=1;i=5057</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=1021</Reference>\n      <Reference ReferenceType=\"ToTransition\" IsForward=\"false\">ns=1;i=5057</Reference>\n      <Reference ReferenceType=\"FromTransition\" IsForward=\"false\">ns=1;i=5059</Reference>\n      <Reference ReferenceType=\"HasEffect\">ns=1;i=1018</Reference>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=6270</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=2310</Reference>\n    </References>\n  </UAObject>\n  <UAVariable NodeId=\"ns=1;i=6270\" BrowseName=\"TransitionNumber\" ParentNodeId=\"ns=1;i=5067\" DataType=\"UInt32\">\n    <DisplayName>TransitionNumber</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=5067</Reference>\n    </References>\n    <Value>\n      <uax:UInt32 xmlns:uax=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">680</uax:UInt32>\n    </Value>\n  </UAVariable>\n  <UAObject NodeId=\"ns=1;i=5063\" BrowseName=\"1:ReadyToInitializedAuto\" ParentNodeId=\"ns=1;i=1021\">\n    <DisplayName>ReadyToInitializedAuto</DisplayName>\n    <References>\n      <Reference ReferenceType=\"ToState\">ns=1;i=5056</Reference>\n      <Reference ReferenceType=\"FromState\">ns=1;i=5057</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=1021</Reference>\n      <Reference ReferenceType=\"FromTransition\" IsForward=\"false\">ns=1;i=5056</Reference>\n      <Reference ReferenceType=\"ToTransition\" IsForward=\"false\">ns=1;i=5057</Reference>\n      <Reference ReferenceType=\"HasEffect\">ns=1;i=1018</Reference>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=6266</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=2310</Reference>\n    </References>\n  </UAObject>\n  <UAVariable NodeId=\"ns=1;i=6266\" BrowseName=\"TransitionNumber\" ParentNodeId=\"ns=1;i=5063\" DataType=\"UInt32\">\n    <DisplayName>TransitionNumber</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=5063</Reference>\n    </References>\n    <Value>\n      <uax:UInt32 xmlns:uax=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">650</uax:UInt32>\n    </Value>\n  </UAVariable>\n  <UAObject NodeId=\"ns=1;i=5044\" BrowseName=\"1:ReadyToInitializedProduct\" ParentNodeId=\"ns=1;i=1021\">\n    <DisplayName>ReadyToInitializedProduct</DisplayName>\n    <References>\n      <Reference ReferenceType=\"ToState\">ns=1;i=5056</Reference>\n      <Reference ReferenceType=\"FromState\">ns=1;i=5057</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=1021</Reference>\n      <Reference ReferenceType=\"HasEffect\">ns=1;i=1018</Reference>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=6243</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=2310</Reference>\n      <Reference ReferenceType=\"HasCause\">ns=1;i=7059</Reference>\n      <Reference ReferenceType=\"FromTransition\" IsForward=\"false\">ns=1;i=5056</Reference>\n      <Reference ReferenceType=\"ToTransition\" IsForward=\"false\">ns=1;i=5057</Reference>\n    </References>\n  </UAObject>\n  <UAVariable NodeId=\"ns=1;i=6243\" BrowseName=\"TransitionNumber\" ParentNodeId=\"ns=1;i=5044\" DataType=\"UInt32\">\n    <DisplayName>TransitionNumber</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=5044</Reference>\n    </References>\n    <Value>\n      <uax:UInt32 xmlns:uax=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">652</uax:UInt32>\n    </Value>\n  </UAVariable>\n  <UAObject NodeId=\"ns=1;i=5062\" BrowseName=\"1:ReadyToInitializedRecipe\" ParentNodeId=\"ns=1;i=1021\">\n    <DisplayName>ReadyToInitializedRecipe</DisplayName>\n    <References>\n      <Reference ReferenceType=\"ToState\">ns=1;i=5056</Reference>\n      <Reference ReferenceType=\"FromState\">ns=1;i=5057</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=1021</Reference>\n      <Reference ReferenceType=\"FromTransition\" IsForward=\"false\">ns=1;i=5056</Reference>\n      <Reference ReferenceType=\"ToTransition\" IsForward=\"false\">ns=1;i=5057</Reference>\n      <Reference ReferenceType=\"HasEffect\">ns=1;i=1018</Reference>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=6265</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=2310</Reference>\n      <Reference ReferenceType=\"HasCause\">ns=1;i=7055</Reference>\n    </References>\n  </UAObject>\n  <UAVariable NodeId=\"ns=1;i=6265\" BrowseName=\"TransitionNumber\" ParentNodeId=\"ns=1;i=5062\" DataType=\"UInt32\">\n    <DisplayName>TransitionNumber</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=5062</Reference>\n    </References>\n    <Value>\n      <uax:UInt32 xmlns:uax=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">651</uax:UInt32>\n    </Value>\n  </UAVariable>\n  <UAObject NodeId=\"ns=1;i=5064\" BrowseName=\"1:ReadyToSingleExecution\" ParentNodeId=\"ns=1;i=1021\">\n    <DisplayName>ReadyToSingleExecution</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasEffect\">ns=1;i=1013</Reference>\n      <Reference ReferenceType=\"FromState\">ns=1;i=5057</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=1021</Reference>\n      <Reference ReferenceType=\"ToTransition\" IsForward=\"false\">ns=1;i=5057</Reference>\n      <Reference ReferenceType=\"FromTransition\" IsForward=\"false\">ns=1;i=5058</Reference>\n      <Reference ReferenceType=\"ToState\">ns=1;i=5058</Reference>\n      <Reference ReferenceType=\"HasCause\">ns=1;i=7098</Reference>\n      <Reference ReferenceType=\"HasEffect\">ns=1;i=1018</Reference>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=6267</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=2310</Reference>\n    </References>\n  </UAObject>\n  <UAVariable NodeId=\"ns=1;i=6267\" BrowseName=\"TransitionNumber\" ParentNodeId=\"ns=1;i=5064\" DataType=\"UInt32\">\n    <DisplayName>TransitionNumber</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=5064</Reference>\n    </References>\n    <Value>\n      <uax:UInt32 xmlns:uax=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">671</uax:UInt32>\n    </Value>\n  </UAVariable>\n  <UAObject NodeId=\"ns=1;i=5065\" BrowseName=\"1:ReadyToSingleExecutionAuto\" ParentNodeId=\"ns=1;i=1021\">\n    <DisplayName>ReadyToSingleExecutionAuto</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasEffect\">ns=1;i=1013</Reference>\n      <Reference ReferenceType=\"FromState\">ns=1;i=5057</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=1021</Reference>\n      <Reference ReferenceType=\"ToTransition\" IsForward=\"false\">ns=1;i=5057</Reference>\n      <Reference ReferenceType=\"FromTransition\" IsForward=\"false\">ns=1;i=5058</Reference>\n      <Reference ReferenceType=\"ToState\">ns=1;i=5058</Reference>\n      <Reference ReferenceType=\"HasEffect\">ns=1;i=1018</Reference>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=6268</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=2310</Reference>\n    </References>\n  </UAObject>\n  <UAVariable NodeId=\"ns=1;i=6268\" BrowseName=\"TransitionNumber\" ParentNodeId=\"ns=1;i=5065\" DataType=\"UInt32\">\n    <DisplayName>TransitionNumber</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=5065</Reference>\n    </References>\n    <Value>\n      <uax:UInt32 xmlns:uax=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">670</uax:UInt32>\n    </Value>\n  </UAVariable>\n  <UAMethod NodeId=\"ns=1;i=7100\" BrowseName=\"1:SimulationMode\" ParentNodeId=\"ns=1;i=1021\">\n    <DisplayName>SimulationMode</DisplayName>\n    <Documentation>https://reference.opcfoundation.org/v104/MachineVision/v100/docs/8.3.7/#8.3.7.5</Documentation>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=6289</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=80</Reference>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=6290</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=1021</Reference>\n    </References>\n  </UAMethod>\n  <UAVariable NodeId=\"ns=1;i=6289\" BrowseName=\"InputArguments\" ParentNodeId=\"ns=1;i=7100\" DataType=\"Argument\" ValueRank=\"1\" ArrayDimensions=\"3\">\n    <DisplayName>InputArguments</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=7100</Reference>\n    </References>\n    <Value>\n      <uax:ListOfExtensionObject xmlns:uax=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <uax:ExtensionObject>\n          <uax:TypeId>\n            <uax:Identifier>i=297</uax:Identifier>\n          </uax:TypeId>\n          <uax:Body>\n            <uax:Argument>\n              <uax:Name>Activate</uax:Name>\n              <uax:DataType>\n                <uax:Identifier>i=1</uax:Identifier>\n              </uax:DataType>\n              <uax:ValueRank>-1</uax:ValueRank>\n              <uax:ArrayDimensions />\n              <uax:Description />\n            </uax:Argument>\n          </uax:Body>\n        </uax:ExtensionObject>\n        <uax:ExtensionObject>\n          <uax:TypeId>\n            <uax:Identifier>i=297</uax:Identifier>\n          </uax:TypeId>\n          <uax:Body>\n            <uax:Argument>\n              <uax:Name>Cause</uax:Name>\n              <uax:DataType>\n                <uax:Identifier>i=6</uax:Identifier>\n              </uax:DataType>\n              <uax:ValueRank>-1</uax:ValueRank>\n              <uax:ArrayDimensions />\n              <uax:Description />\n            </uax:Argument>\n          </uax:Body>\n        </uax:ExtensionObject>\n        <uax:ExtensionObject>\n          <uax:TypeId>\n            <uax:Identifier>i=297</uax:Identifier>\n          </uax:TypeId>\n          <uax:Body>\n            <uax:Argument>\n              <uax:Name>CauseDescription</uax:Name>\n              <uax:DataType>\n                <uax:Identifier>i=12</uax:Identifier>\n              </uax:DataType>\n              <uax:ValueRank>-1</uax:ValueRank>\n              <uax:ArrayDimensions />\n              <uax:Description />\n            </uax:Argument>\n          </uax:Body>\n        </uax:ExtensionObject>\n      </uax:ListOfExtensionObject>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=6290\" BrowseName=\"OutputArguments\" ParentNodeId=\"ns=1;i=7100\" DataType=\"Argument\" ValueRank=\"1\" ArrayDimensions=\"1\">\n    <DisplayName>OutputArguments</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=7100</Reference>\n    </References>\n    <Value>\n      <uax:ListOfExtensionObject xmlns:uax=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <uax:ExtensionObject>\n          <uax:TypeId>\n            <uax:Identifier>i=297</uax:Identifier>\n          </uax:TypeId>\n          <uax:Body>\n            <uax:Argument>\n              <uax:Name>Error</uax:Name>\n              <uax:DataType>\n                <uax:Identifier>i=6</uax:Identifier>\n              </uax:DataType>\n              <uax:ValueRank>-1</uax:ValueRank>\n              <uax:ArrayDimensions />\n              <uax:Description />\n            </uax:Argument>\n          </uax:Body>\n        </uax:ExtensionObject>\n      </uax:ListOfExtensionObject>\n    </Value>\n  </UAVariable>\n  <UAObject NodeId=\"ns=1;i=5058\" BrowseName=\"1:SingleExecution\" ParentNodeId=\"ns=1;i=1021\">\n    <DisplayName>SingleExecution</DisplayName>\n    <References>\n      <Reference ReferenceType=\"FromTransition\">ns=1;i=5064</Reference>\n      <Reference ReferenceType=\"FromTransition\">ns=1;i=5065</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=1021</Reference>\n      <Reference ReferenceType=\"HasSubStateMachine\">ns=1;i=5052</Reference>\n      <Reference ReferenceType=\"ToTransition\">ns=1;i=5069</Reference>\n      <Reference ReferenceType=\"ToTransition\">ns=1;i=5070</Reference>\n      <Reference ReferenceType=\"ToTransition\">ns=1;i=5068</Reference>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=6261</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=2307</Reference>\n      <Reference ReferenceType=\"ToState\" IsForward=\"false\">ns=1;i=5064</Reference>\n      <Reference ReferenceType=\"ToState\" IsForward=\"false\">ns=1;i=5065</Reference>\n      <Reference ReferenceType=\"FromState\" IsForward=\"false\">ns=1;i=5068</Reference>\n      <Reference ReferenceType=\"FromState\" IsForward=\"false\">ns=1;i=5069</Reference>\n      <Reference ReferenceType=\"FromState\" IsForward=\"false\">ns=1;i=5070</Reference>\n    </References>\n  </UAObject>\n  <UAVariable NodeId=\"ns=1;i=6261\" BrowseName=\"StateNumber\" ParentNodeId=\"ns=1;i=5058\" DataType=\"UInt32\">\n    <DisplayName>StateNumber</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=5058</Reference>\n    </References>\n    <Value>\n      <uax:UInt32 xmlns:uax=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">7</uax:UInt32>\n    </Value>\n  </UAVariable>\n  <UAObject NodeId=\"ns=1;i=5052\" BrowseName=\"1:SingleExecutionStepModel\" ParentNodeId=\"ns=1;i=1021\">\n    <DisplayName>SingleExecutionStepModel</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=6139</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=80</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=1021</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=7030</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">ns=1;i=1026</Reference>\n      <Reference ReferenceType=\"HasSubStateMachine\" IsForward=\"false\">ns=1;i=5058</Reference>\n    </References>\n  </UAObject>\n  <UAVariable NodeId=\"ns=1;i=6139\" BrowseName=\"CurrentState\" ParentNodeId=\"ns=1;i=5052\" DataType=\"LocalizedText\">\n    <DisplayName>CurrentState</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=5052</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=2760</Reference>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=6242</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=6242\" BrowseName=\"Id\" ParentNodeId=\"ns=1;i=6139\" DataType=\"NodeId\">\n    <DisplayName>Id</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=6139</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n    </References>\n  </UAVariable>\n  <UAMethod NodeId=\"ns=1;i=7030\" BrowseName=\"1:Sync\" ParentNodeId=\"ns=1;i=5052\" MethodDeclarationId=\"ns=1;i=7101\">\n    <DisplayName>Sync</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=6137</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=6138</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=5052</Reference>\n    </References>\n  </UAMethod>\n  <UAVariable NodeId=\"ns=1;i=6137\" BrowseName=\"InputArguments\" ParentNodeId=\"ns=1;i=7030\" DataType=\"Argument\" ValueRank=\"1\" ArrayDimensions=\"2\">\n    <DisplayName>InputArguments</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=7030</Reference>\n    </References>\n    <Value>\n      <uax:ListOfExtensionObject xmlns:uax=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <uax:ExtensionObject>\n          <uax:TypeId>\n            <uax:Identifier>i=297</uax:Identifier>\n          </uax:TypeId>\n          <uax:Body>\n            <uax:Argument>\n              <uax:Name>Cause</uax:Name>\n              <uax:DataType>\n                <uax:Identifier>i=6</uax:Identifier>\n              </uax:DataType>\n              <uax:ValueRank>-1</uax:ValueRank>\n              <uax:ArrayDimensions />\n              <uax:Description />\n            </uax:Argument>\n          </uax:Body>\n        </uax:ExtensionObject>\n        <uax:ExtensionObject>\n          <uax:TypeId>\n            <uax:Identifier>i=297</uax:Identifier>\n          </uax:TypeId>\n          <uax:Body>\n            <uax:Argument>\n              <uax:Name>CauseDescription</uax:Name>\n              <uax:DataType>\n                <uax:Identifier>i=12</uax:Identifier>\n              </uax:DataType>\n              <uax:ValueRank>-1</uax:ValueRank>\n              <uax:ArrayDimensions />\n              <uax:Description />\n            </uax:Argument>\n          </uax:Body>\n        </uax:ExtensionObject>\n      </uax:ListOfExtensionObject>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=6138\" BrowseName=\"OutputArguments\" ParentNodeId=\"ns=1;i=7030\" DataType=\"Argument\" ValueRank=\"1\" ArrayDimensions=\"1\">\n    <DisplayName>OutputArguments</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=7030</Reference>\n    </References>\n    <Value>\n      <uax:ListOfExtensionObject xmlns:uax=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <uax:ExtensionObject>\n          <uax:TypeId>\n            <uax:Identifier>i=297</uax:Identifier>\n          </uax:TypeId>\n          <uax:Body>\n            <uax:Argument>\n              <uax:Name>Error</uax:Name>\n              <uax:DataType>\n                <uax:Identifier>i=6</uax:Identifier>\n              </uax:DataType>\n              <uax:ValueRank>-1</uax:ValueRank>\n              <uax:ArrayDimensions />\n              <uax:Description />\n            </uax:Argument>\n          </uax:Body>\n        </uax:ExtensionObject>\n      </uax:ListOfExtensionObject>\n    </Value>\n  </UAVariable>\n  <UAObject NodeId=\"ns=1;i=5069\" BrowseName=\"1:SingleExecutionToReadyAbort\" ParentNodeId=\"ns=1;i=1021\">\n    <DisplayName>SingleExecutionToReadyAbort</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasCause\">ns=1;i=7097</Reference>\n      <Reference ReferenceType=\"ToState\">ns=1;i=5057</Reference>\n      <Reference ReferenceType=\"HasEffect\">ns=1;i=1023</Reference>\n      <Reference ReferenceType=\"FromState\">ns=1;i=5058</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=1021</Reference>\n      <Reference ReferenceType=\"FromTransition\" IsForward=\"false\">ns=1;i=5057</Reference>\n      <Reference ReferenceType=\"ToTransition\" IsForward=\"false\">ns=1;i=5058</Reference>\n      <Reference ReferenceType=\"HasEffect\">ns=1;i=1018</Reference>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=6272</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=2310</Reference>\n    </References>\n  </UAObject>\n  <UAVariable NodeId=\"ns=1;i=6272\" BrowseName=\"TransitionNumber\" ParentNodeId=\"ns=1;i=5069\" DataType=\"UInt32\">\n    <DisplayName>TransitionNumber</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=5069</Reference>\n    </References>\n    <Value>\n      <uax:UInt32 xmlns:uax=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">762</uax:UInt32>\n    </Value>\n  </UAVariable>\n  <UAObject NodeId=\"ns=1;i=5070\" BrowseName=\"1:SingleExecutionToReadyAuto\" ParentNodeId=\"ns=1;i=1021\">\n    <DisplayName>SingleExecutionToReadyAuto</DisplayName>\n    <References>\n      <Reference ReferenceType=\"ToState\">ns=1;i=5057</Reference>\n      <Reference ReferenceType=\"HasEffect\">ns=1;i=1023</Reference>\n      <Reference ReferenceType=\"FromState\">ns=1;i=5058</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=1021</Reference>\n      <Reference ReferenceType=\"FromTransition\" IsForward=\"false\">ns=1;i=5057</Reference>\n      <Reference ReferenceType=\"ToTransition\" IsForward=\"false\">ns=1;i=5058</Reference>\n      <Reference ReferenceType=\"HasEffect\">ns=1;i=1018</Reference>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=6273</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=2310</Reference>\n    </References>\n  </UAObject>\n  <UAVariable NodeId=\"ns=1;i=6273\" BrowseName=\"TransitionNumber\" ParentNodeId=\"ns=1;i=5070\" DataType=\"UInt32\">\n    <DisplayName>TransitionNumber</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=5070</Reference>\n    </References>\n    <Value>\n      <uax:UInt32 xmlns:uax=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">760</uax:UInt32>\n    </Value>\n  </UAVariable>\n  <UAObject NodeId=\"ns=1;i=5068\" BrowseName=\"1:SingleExecutionToReadyStop\" ParentNodeId=\"ns=1;i=1021\">\n    <DisplayName>SingleExecutionToReadyStop</DisplayName>\n    <References>\n      <Reference ReferenceType=\"ToState\">ns=1;i=5057</Reference>\n      <Reference ReferenceType=\"HasEffect\">ns=1;i=1023</Reference>\n      <Reference ReferenceType=\"FromState\">ns=1;i=5058</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=1021</Reference>\n      <Reference ReferenceType=\"FromTransition\" IsForward=\"false\">ns=1;i=5057</Reference>\n      <Reference ReferenceType=\"ToTransition\" IsForward=\"false\">ns=1;i=5058</Reference>\n      <Reference ReferenceType=\"HasEffect\">ns=1;i=1018</Reference>\n      <Reference ReferenceType=\"HasCause\">ns=1;i=7096</Reference>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=6271</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=2310</Reference>\n    </References>\n  </UAObject>\n  <UAVariable NodeId=\"ns=1;i=6271\" BrowseName=\"TransitionNumber\" ParentNodeId=\"ns=1;i=5068\" DataType=\"UInt32\">\n    <DisplayName>TransitionNumber</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=5068</Reference>\n    </References>\n    <Value>\n      <uax:UInt32 xmlns:uax=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">761</uax:UInt32>\n    </Value>\n  </UAVariable>\n  <UAMethod NodeId=\"ns=1;i=7009\" BrowseName=\"1:StartContinuous\" ParentNodeId=\"ns=1;i=1021\">\n    <DisplayName>StartContinuous</DisplayName>\n    <Documentation>https://reference.opcfoundation.org/v104/MachineVision/v100/docs/8.3.7/#8.3.7.2</Documentation>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=6086</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=6087</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=1021</Reference>\n      <Reference ReferenceType=\"HasCause\" IsForward=\"false\">ns=1;i=5066</Reference>\n    </References>\n  </UAMethod>\n  <UAVariable NodeId=\"ns=1;i=6086\" BrowseName=\"InputArguments\" ParentNodeId=\"ns=1;i=7009\" DataType=\"Argument\" ValueRank=\"1\" ArrayDimensions=\"5\">\n    <DisplayName>InputArguments</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=7009</Reference>\n    </References>\n    <Value>\n      <uax:ListOfExtensionObject xmlns:uax=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <uax:ExtensionObject>\n          <uax:TypeId>\n            <uax:Identifier>i=297</uax:Identifier>\n          </uax:TypeId>\n          <uax:Body>\n            <uax:Argument>\n              <uax:Name>MeasId</uax:Name>\n              <uax:DataType>\n                <uax:Identifier>ns=1;i=3015</uax:Identifier>\n              </uax:DataType>\n              <uax:ValueRank>-1</uax:ValueRank>\n              <uax:ArrayDimensions />\n              <uax:Description />\n            </uax:Argument>\n          </uax:Body>\n        </uax:ExtensionObject>\n        <uax:ExtensionObject>\n          <uax:TypeId>\n            <uax:Identifier>i=297</uax:Identifier>\n          </uax:TypeId>\n          <uax:Body>\n            <uax:Argument>\n              <uax:Name>PartId</uax:Name>\n              <uax:DataType>\n                <uax:Identifier>ns=1;i=3004</uax:Identifier>\n              </uax:DataType>\n              <uax:ValueRank>-1</uax:ValueRank>\n              <uax:ArrayDimensions />\n              <uax:Description />\n            </uax:Argument>\n          </uax:Body>\n        </uax:ExtensionObject>\n        <uax:ExtensionObject>\n          <uax:TypeId>\n            <uax:Identifier>i=297</uax:Identifier>\n          </uax:TypeId>\n          <uax:Body>\n            <uax:Argument>\n              <uax:Name>RecipeId</uax:Name>\n              <uax:DataType>\n                <uax:Identifier>ns=1;i=3002</uax:Identifier>\n              </uax:DataType>\n              <uax:ValueRank>-1</uax:ValueRank>\n              <uax:ArrayDimensions />\n              <uax:Description />\n            </uax:Argument>\n          </uax:Body>\n        </uax:ExtensionObject>\n        <uax:ExtensionObject>\n          <uax:TypeId>\n            <uax:Identifier>i=297</uax:Identifier>\n          </uax:TypeId>\n          <uax:Body>\n            <uax:Argument>\n              <uax:Name>ProductId</uax:Name>\n              <uax:DataType>\n                <uax:Identifier>ns=1;i=3003</uax:Identifier>\n              </uax:DataType>\n              <uax:ValueRank>-1</uax:ValueRank>\n              <uax:ArrayDimensions />\n              <uax:Description />\n            </uax:Argument>\n          </uax:Body>\n        </uax:ExtensionObject>\n        <uax:ExtensionObject>\n          <uax:TypeId>\n            <uax:Identifier>i=297</uax:Identifier>\n          </uax:TypeId>\n          <uax:Body>\n            <uax:Argument>\n              <uax:Name>Parameters</uax:Name>\n              <uax:DataType>\n                <uax:Identifier>i=24</uax:Identifier>\n              </uax:DataType>\n              <uax:ValueRank>1</uax:ValueRank>\n              <uax:ArrayDimensions />\n              <uax:Description />\n            </uax:Argument>\n          </uax:Body>\n        </uax:ExtensionObject>\n      </uax:ListOfExtensionObject>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=6087\" BrowseName=\"OutputArguments\" ParentNodeId=\"ns=1;i=7009\" DataType=\"Argument\" ValueRank=\"1\" ArrayDimensions=\"2\">\n    <DisplayName>OutputArguments</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=7009</Reference>\n    </References>\n    <Value>\n      <uax:ListOfExtensionObject xmlns:uax=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <uax:ExtensionObject>\n          <uax:TypeId>\n            <uax:Identifier>i=297</uax:Identifier>\n          </uax:TypeId>\n          <uax:Body>\n            <uax:Argument>\n              <uax:Name>JobId</uax:Name>\n              <uax:DataType>\n                <uax:Identifier>ns=1;i=3016</uax:Identifier>\n              </uax:DataType>\n              <uax:ValueRank>-1</uax:ValueRank>\n              <uax:ArrayDimensions />\n              <uax:Description />\n            </uax:Argument>\n          </uax:Body>\n        </uax:ExtensionObject>\n        <uax:ExtensionObject>\n          <uax:TypeId>\n            <uax:Identifier>i=297</uax:Identifier>\n          </uax:TypeId>\n          <uax:Body>\n            <uax:Argument>\n              <uax:Name>Error</uax:Name>\n              <uax:DataType>\n                <uax:Identifier>i=6</uax:Identifier>\n              </uax:DataType>\n              <uax:ValueRank>-1</uax:ValueRank>\n              <uax:ArrayDimensions />\n              <uax:Description />\n            </uax:Argument>\n          </uax:Body>\n        </uax:ExtensionObject>\n      </uax:ListOfExtensionObject>\n    </Value>\n  </UAVariable>\n  <UAMethod NodeId=\"ns=1;i=7098\" BrowseName=\"1:StartSingleJob\" ParentNodeId=\"ns=1;i=1021\">\n    <DisplayName>StartSingleJob</DisplayName>\n    <Documentation>https://reference.opcfoundation.org/v104/MachineVision/v100/docs/8.3.7/#8.3.7.1</Documentation>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=6281</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=6282</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=1021</Reference>\n      <Reference ReferenceType=\"HasCause\" IsForward=\"false\">ns=1;i=5064</Reference>\n    </References>\n  </UAMethod>\n  <UAVariable NodeId=\"ns=1;i=6281\" BrowseName=\"InputArguments\" ParentNodeId=\"ns=1;i=7098\" DataType=\"Argument\" ValueRank=\"1\" ArrayDimensions=\"5\">\n    <DisplayName>InputArguments</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=7098</Reference>\n    </References>\n    <Value>\n      <uax:ListOfExtensionObject xmlns:uax=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <uax:ExtensionObject>\n          <uax:TypeId>\n            <uax:Identifier>i=297</uax:Identifier>\n          </uax:TypeId>\n          <uax:Body>\n            <uax:Argument>\n              <uax:Name>MeasId</uax:Name>\n              <uax:DataType>\n                <uax:Identifier>ns=1;i=3015</uax:Identifier>\n              </uax:DataType>\n              <uax:ValueRank>-1</uax:ValueRank>\n              <uax:ArrayDimensions />\n              <uax:Description />\n            </uax:Argument>\n          </uax:Body>\n        </uax:ExtensionObject>\n        <uax:ExtensionObject>\n          <uax:TypeId>\n            <uax:Identifier>i=297</uax:Identifier>\n          </uax:TypeId>\n          <uax:Body>\n            <uax:Argument>\n              <uax:Name>PartId</uax:Name>\n              <uax:DataType>\n                <uax:Identifier>ns=1;i=3004</uax:Identifier>\n              </uax:DataType>\n              <uax:ValueRank>-1</uax:ValueRank>\n              <uax:ArrayDimensions />\n              <uax:Description />\n            </uax:Argument>\n          </uax:Body>\n        </uax:ExtensionObject>\n        <uax:ExtensionObject>\n          <uax:TypeId>\n            <uax:Identifier>i=297</uax:Identifier>\n          </uax:TypeId>\n          <uax:Body>\n            <uax:Argument>\n              <uax:Name>RecipeId</uax:Name>\n              <uax:DataType>\n                <uax:Identifier>ns=1;i=3002</uax:Identifier>\n              </uax:DataType>\n              <uax:ValueRank>-1</uax:ValueRank>\n              <uax:ArrayDimensions />\n              <uax:Description />\n            </uax:Argument>\n          </uax:Body>\n        </uax:ExtensionObject>\n        <uax:ExtensionObject>\n          <uax:TypeId>\n            <uax:Identifier>i=297</uax:Identifier>\n          </uax:TypeId>\n          <uax:Body>\n            <uax:Argument>\n              <uax:Name>ProductId</uax:Name>\n              <uax:DataType>\n                <uax:Identifier>ns=1;i=3003</uax:Identifier>\n              </uax:DataType>\n              <uax:ValueRank>-1</uax:ValueRank>\n              <uax:ArrayDimensions />\n              <uax:Description />\n            </uax:Argument>\n          </uax:Body>\n        </uax:ExtensionObject>\n        <uax:ExtensionObject>\n          <uax:TypeId>\n            <uax:Identifier>i=297</uax:Identifier>\n          </uax:TypeId>\n          <uax:Body>\n            <uax:Argument>\n              <uax:Name>Parameters</uax:Name>\n              <uax:DataType>\n                <uax:Identifier>i=24</uax:Identifier>\n              </uax:DataType>\n              <uax:ValueRank>1</uax:ValueRank>\n              <uax:ArrayDimensions />\n              <uax:Description />\n            </uax:Argument>\n          </uax:Body>\n        </uax:ExtensionObject>\n      </uax:ListOfExtensionObject>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=6282\" BrowseName=\"OutputArguments\" ParentNodeId=\"ns=1;i=7098\" DataType=\"Argument\" ValueRank=\"1\" ArrayDimensions=\"2\">\n    <DisplayName>OutputArguments</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=7098</Reference>\n    </References>\n    <Value>\n      <uax:ListOfExtensionObject xmlns:uax=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <uax:ExtensionObject>\n          <uax:TypeId>\n            <uax:Identifier>i=297</uax:Identifier>\n          </uax:TypeId>\n          <uax:Body>\n            <uax:Argument>\n              <uax:Name>JobId</uax:Name>\n              <uax:DataType>\n                <uax:Identifier>ns=1;i=3016</uax:Identifier>\n              </uax:DataType>\n              <uax:ValueRank>-1</uax:ValueRank>\n              <uax:ArrayDimensions />\n              <uax:Description />\n            </uax:Argument>\n          </uax:Body>\n        </uax:ExtensionObject>\n        <uax:ExtensionObject>\n          <uax:TypeId>\n            <uax:Identifier>i=297</uax:Identifier>\n          </uax:TypeId>\n          <uax:Body>\n            <uax:Argument>\n              <uax:Name>Error</uax:Name>\n              <uax:DataType>\n                <uax:Identifier>i=6</uax:Identifier>\n              </uax:DataType>\n              <uax:ValueRank>-1</uax:ValueRank>\n              <uax:ArrayDimensions />\n              <uax:Description />\n            </uax:Argument>\n          </uax:Body>\n        </uax:ExtensionObject>\n      </uax:ListOfExtensionObject>\n    </Value>\n  </UAVariable>\n  <UAMethod NodeId=\"ns=1;i=7096\" BrowseName=\"1:Stop\" ParentNodeId=\"ns=1;i=1021\">\n    <DisplayName>Stop</DisplayName>\n    <Documentation>https://reference.opcfoundation.org/v104/MachineVision/v100/docs/8.3.7/#8.3.7.4</Documentation>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=6287</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=6288</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=1021</Reference>\n      <Reference ReferenceType=\"HasCause\" IsForward=\"false\">ns=1;i=5068</Reference>\n      <Reference ReferenceType=\"HasCause\" IsForward=\"false\">ns=1;i=5071</Reference>\n    </References>\n  </UAMethod>\n  <UAVariable NodeId=\"ns=1;i=6287\" BrowseName=\"InputArguments\" ParentNodeId=\"ns=1;i=7096\" DataType=\"Argument\" ValueRank=\"1\" ArrayDimensions=\"2\">\n    <DisplayName>InputArguments</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=7096</Reference>\n    </References>\n    <Value>\n      <uax:ListOfExtensionObject xmlns:uax=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <uax:ExtensionObject>\n          <uax:TypeId>\n            <uax:Identifier>i=297</uax:Identifier>\n          </uax:TypeId>\n          <uax:Body>\n            <uax:Argument>\n              <uax:Name>Cause</uax:Name>\n              <uax:DataType>\n                <uax:Identifier>i=6</uax:Identifier>\n              </uax:DataType>\n              <uax:ValueRank>-1</uax:ValueRank>\n              <uax:ArrayDimensions />\n              <uax:Description />\n            </uax:Argument>\n          </uax:Body>\n        </uax:ExtensionObject>\n        <uax:ExtensionObject>\n          <uax:TypeId>\n            <uax:Identifier>i=297</uax:Identifier>\n          </uax:TypeId>\n          <uax:Body>\n            <uax:Argument>\n              <uax:Name>CauseDescription</uax:Name>\n              <uax:DataType>\n                <uax:Identifier>i=12</uax:Identifier>\n              </uax:DataType>\n              <uax:ValueRank>-1</uax:ValueRank>\n              <uax:ArrayDimensions />\n              <uax:Description />\n            </uax:Argument>\n          </uax:Body>\n        </uax:ExtensionObject>\n      </uax:ListOfExtensionObject>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=6288\" BrowseName=\"OutputArguments\" ParentNodeId=\"ns=1;i=7096\" DataType=\"Argument\" ValueRank=\"1\" ArrayDimensions=\"1\">\n    <DisplayName>OutputArguments</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=7096</Reference>\n    </References>\n    <Value>\n      <uax:ListOfExtensionObject xmlns:uax=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <uax:ExtensionObject>\n          <uax:TypeId>\n            <uax:Identifier>i=297</uax:Identifier>\n          </uax:TypeId>\n          <uax:Body>\n            <uax:Argument>\n              <uax:Name>Error</uax:Name>\n              <uax:DataType>\n                <uax:Identifier>i=6</uax:Identifier>\n              </uax:DataType>\n              <uax:ValueRank>-1</uax:ValueRank>\n              <uax:ArrayDimensions />\n              <uax:Description />\n            </uax:Argument>\n          </uax:Body>\n        </uax:ExtensionObject>\n      </uax:ListOfExtensionObject>\n    </Value>\n  </UAVariable>\n  <UAObjectType NodeId=\"ns=1;i=1017\" BrowseName=\"1:VisionStateMachineType\">\n    <DisplayName>VisionStateMachineType</DisplayName>\n    <Documentation>https://reference.opcfoundation.org/v104/MachineVision/v100/docs/8.2.5</Documentation>\n    <References>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=5024</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=7066</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=5030</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=5054</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=5041</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=5042</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=5255</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=5039</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=5040</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=7094</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=5029</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=5011</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=5037</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=5038</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=5031</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=5051</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=5049</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=5050</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=5047</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=5048</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=5028</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=5012</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=5034</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=5032</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=5033</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=5035</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=5036</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=5253</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=5254</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=7093</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=7095</Reference>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=2771</Reference>\n    </References>\n  </UAObjectType>\n  <UAObject NodeId=\"ns=1;i=5024\" BrowseName=\"1:AutomaticModeStateMachine\" ParentNodeId=\"ns=1;i=1017\">\n    <DisplayName>AutomaticModeStateMachine</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=7020</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=1017</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=5025</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=6080</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=5055</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=80</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=5074</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=7044</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=5092</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=7021</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=7022</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=7023</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">ns=1;i=1021</Reference>\n      <Reference ReferenceType=\"HasSubStateMachine\" IsForward=\"false\">ns=1;i=5031</Reference>\n    </References>\n  </UAObject>\n  <UAMethod NodeId=\"ns=1;i=7020\" BrowseName=\"1:Abort\" ParentNodeId=\"ns=1;i=5024\" MethodDeclarationId=\"ns=1;i=7097\">\n    <DisplayName>Abort</DisplayName>\n    <Documentation>https://reference.opcfoundation.org/v104/MachineVision/v100/docs/8.3.7/#8.3.7.3</Documentation>\n    <References>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=5024</Reference>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=6065</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=6066</Reference>\n    </References>\n  </UAMethod>\n  <UAVariable NodeId=\"ns=1;i=6065\" BrowseName=\"InputArguments\" ParentNodeId=\"ns=1;i=7020\" DataType=\"Argument\" ValueRank=\"1\" ArrayDimensions=\"2\">\n    <DisplayName>InputArguments</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=7020</Reference>\n    </References>\n    <Value>\n      <uax:ListOfExtensionObject xmlns:uax=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <uax:ExtensionObject>\n          <uax:TypeId>\n            <uax:Identifier>i=297</uax:Identifier>\n          </uax:TypeId>\n          <uax:Body>\n            <uax:Argument>\n              <uax:Name>Cause</uax:Name>\n              <uax:DataType>\n                <uax:Identifier>i=6</uax:Identifier>\n              </uax:DataType>\n              <uax:ValueRank>-1</uax:ValueRank>\n              <uax:ArrayDimensions />\n              <uax:Description />\n            </uax:Argument>\n          </uax:Body>\n        </uax:ExtensionObject>\n        <uax:ExtensionObject>\n          <uax:TypeId>\n            <uax:Identifier>i=297</uax:Identifier>\n          </uax:TypeId>\n          <uax:Body>\n            <uax:Argument>\n              <uax:Name>CauseDescription</uax:Name>\n              <uax:DataType>\n                <uax:Identifier>i=12</uax:Identifier>\n              </uax:DataType>\n              <uax:ValueRank>-1</uax:ValueRank>\n              <uax:ArrayDimensions />\n              <uax:Description />\n            </uax:Argument>\n          </uax:Body>\n        </uax:ExtensionObject>\n      </uax:ListOfExtensionObject>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=6066\" BrowseName=\"OutputArguments\" ParentNodeId=\"ns=1;i=7020\" DataType=\"Argument\" ValueRank=\"1\" ArrayDimensions=\"1\">\n    <DisplayName>OutputArguments</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=7020</Reference>\n    </References>\n    <Value>\n      <uax:ListOfExtensionObject xmlns:uax=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <uax:ExtensionObject>\n          <uax:TypeId>\n            <uax:Identifier>i=297</uax:Identifier>\n          </uax:TypeId>\n          <uax:Body>\n            <uax:Argument>\n              <uax:Name>Error</uax:Name>\n              <uax:DataType>\n                <uax:Identifier>i=6</uax:Identifier>\n              </uax:DataType>\n              <uax:ValueRank>-1</uax:ValueRank>\n              <uax:ArrayDimensions />\n              <uax:Description />\n            </uax:Argument>\n          </uax:Body>\n        </uax:ExtensionObject>\n      </uax:ListOfExtensionObject>\n    </Value>\n  </UAVariable>\n  <UAObject NodeId=\"ns=1;i=5025\" BrowseName=\"1:ContinuousExecutionStepModel\" ParentNodeId=\"ns=1;i=5024\">\n    <DisplayName>ContinuousExecutionStepModel</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=5024</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=6082</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=80</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=7039</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">ns=1;i=1026</Reference>\n    </References>\n  </UAObject>\n  <UAVariable NodeId=\"ns=1;i=6082\" BrowseName=\"CurrentState\" ParentNodeId=\"ns=1;i=5025\" DataType=\"LocalizedText\">\n    <DisplayName>CurrentState</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=5025</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=2760</Reference>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=6166</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=6166\" BrowseName=\"Id\" ParentNodeId=\"ns=1;i=6082\" DataType=\"NodeId\">\n    <DisplayName>Id</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=6082</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n    </References>\n  </UAVariable>\n  <UAMethod NodeId=\"ns=1;i=7039\" BrowseName=\"1:Sync\" ParentNodeId=\"ns=1;i=5025\" MethodDeclarationId=\"ns=1;i=7101\">\n    <DisplayName>Sync</DisplayName>\n    <Documentation>https://reference.opcfoundation.org/v104/MachineVision/v100/docs/8.4.6/#8.4.6.1</Documentation>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=6167</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=6174</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=5025</Reference>\n    </References>\n  </UAMethod>\n  <UAVariable NodeId=\"ns=1;i=6167\" BrowseName=\"InputArguments\" ParentNodeId=\"ns=1;i=7039\" DataType=\"Argument\" ValueRank=\"1\" ArrayDimensions=\"2\">\n    <DisplayName>InputArguments</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=7039</Reference>\n    </References>\n    <Value>\n      <uax:ListOfExtensionObject xmlns:uax=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <uax:ExtensionObject>\n          <uax:TypeId>\n            <uax:Identifier>i=297</uax:Identifier>\n          </uax:TypeId>\n          <uax:Body>\n            <uax:Argument>\n              <uax:Name>Cause</uax:Name>\n              <uax:DataType>\n                <uax:Identifier>i=6</uax:Identifier>\n              </uax:DataType>\n              <uax:ValueRank>-1</uax:ValueRank>\n              <uax:ArrayDimensions />\n              <uax:Description />\n            </uax:Argument>\n          </uax:Body>\n        </uax:ExtensionObject>\n        <uax:ExtensionObject>\n          <uax:TypeId>\n            <uax:Identifier>i=297</uax:Identifier>\n          </uax:TypeId>\n          <uax:Body>\n            <uax:Argument>\n              <uax:Name>CauseDescription</uax:Name>\n              <uax:DataType>\n                <uax:Identifier>i=12</uax:Identifier>\n              </uax:DataType>\n              <uax:ValueRank>-1</uax:ValueRank>\n              <uax:ArrayDimensions />\n              <uax:Description />\n            </uax:Argument>\n          </uax:Body>\n        </uax:ExtensionObject>\n      </uax:ListOfExtensionObject>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=6174\" BrowseName=\"OutputArguments\" ParentNodeId=\"ns=1;i=7039\" DataType=\"Argument\" ValueRank=\"1\" ArrayDimensions=\"1\">\n    <DisplayName>OutputArguments</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=7039</Reference>\n    </References>\n    <Value>\n      <uax:ListOfExtensionObject xmlns:uax=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <uax:ExtensionObject>\n          <uax:TypeId>\n            <uax:Identifier>i=297</uax:Identifier>\n          </uax:TypeId>\n          <uax:Body>\n            <uax:Argument>\n              <uax:Name>Error</uax:Name>\n              <uax:DataType>\n                <uax:Identifier>i=6</uax:Identifier>\n              </uax:DataType>\n              <uax:ValueRank>-1</uax:ValueRank>\n              <uax:ArrayDimensions />\n              <uax:Description />\n            </uax:Argument>\n          </uax:Body>\n        </uax:ExtensionObject>\n      </uax:ListOfExtensionObject>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=6080\" BrowseName=\"CurrentState\" ParentNodeId=\"ns=1;i=5024\" DataType=\"LocalizedText\">\n    <DisplayName>CurrentState</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=5024</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=2760</Reference>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=6081</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=6081\" BrowseName=\"Id\" ParentNodeId=\"ns=1;i=6080\" DataType=\"NodeId\">\n    <DisplayName>Id</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=6080</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n    </References>\n  </UAVariable>\n  <UAObject NodeId=\"ns=1;i=5055\" BrowseName=\"1:InitializedStepModel\" ParentNodeId=\"ns=1;i=5024\">\n    <DisplayName>InitializedStepModel</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=6175</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=5024</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=80</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=7040</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">ns=1;i=1026</Reference>\n    </References>\n  </UAObject>\n  <UAVariable NodeId=\"ns=1;i=6175\" BrowseName=\"CurrentState\" ParentNodeId=\"ns=1;i=5055\" DataType=\"LocalizedText\">\n    <DisplayName>CurrentState</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=5055</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=2760</Reference>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=6178</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=6178\" BrowseName=\"Id\" ParentNodeId=\"ns=1;i=6175\" DataType=\"NodeId\">\n    <DisplayName>Id</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=6175</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n    </References>\n  </UAVariable>\n  <UAMethod NodeId=\"ns=1;i=7040\" BrowseName=\"1:Sync\" ParentNodeId=\"ns=1;i=5055\" MethodDeclarationId=\"ns=1;i=7101\">\n    <DisplayName>Sync</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=6179</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=6182</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=5055</Reference>\n    </References>\n  </UAMethod>\n  <UAVariable NodeId=\"ns=1;i=6179\" BrowseName=\"InputArguments\" ParentNodeId=\"ns=1;i=7040\" DataType=\"Argument\" ValueRank=\"1\" ArrayDimensions=\"2\">\n    <DisplayName>InputArguments</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=7040</Reference>\n    </References>\n    <Value>\n      <uax:ListOfExtensionObject xmlns:uax=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <uax:ExtensionObject>\n          <uax:TypeId>\n            <uax:Identifier>i=297</uax:Identifier>\n          </uax:TypeId>\n          <uax:Body>\n            <uax:Argument>\n              <uax:Name>Cause</uax:Name>\n              <uax:DataType>\n                <uax:Identifier>i=6</uax:Identifier>\n              </uax:DataType>\n              <uax:ValueRank>-1</uax:ValueRank>\n              <uax:ArrayDimensions />\n              <uax:Description />\n            </uax:Argument>\n          </uax:Body>\n        </uax:ExtensionObject>\n        <uax:ExtensionObject>\n          <uax:TypeId>\n            <uax:Identifier>i=297</uax:Identifier>\n          </uax:TypeId>\n          <uax:Body>\n            <uax:Argument>\n              <uax:Name>CauseDescription</uax:Name>\n              <uax:DataType>\n                <uax:Identifier>i=12</uax:Identifier>\n              </uax:DataType>\n              <uax:ValueRank>-1</uax:ValueRank>\n              <uax:ArrayDimensions />\n              <uax:Description />\n            </uax:Argument>\n          </uax:Body>\n        </uax:ExtensionObject>\n      </uax:ListOfExtensionObject>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=6182\" BrowseName=\"OutputArguments\" ParentNodeId=\"ns=1;i=7040\" DataType=\"Argument\" ValueRank=\"1\" ArrayDimensions=\"1\">\n    <DisplayName>OutputArguments</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=7040</Reference>\n    </References>\n    <Value>\n      <uax:ListOfExtensionObject xmlns:uax=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <uax:ExtensionObject>\n          <uax:TypeId>\n            <uax:Identifier>i=297</uax:Identifier>\n          </uax:TypeId>\n          <uax:Body>\n            <uax:Argument>\n              <uax:Name>Error</uax:Name>\n              <uax:DataType>\n                <uax:Identifier>i=6</uax:Identifier>\n              </uax:DataType>\n              <uax:ValueRank>-1</uax:ValueRank>\n              <uax:ArrayDimensions />\n              <uax:Description />\n            </uax:Argument>\n          </uax:Body>\n        </uax:ExtensionObject>\n      </uax:ListOfExtensionObject>\n    </Value>\n  </UAVariable>\n  <UAObject NodeId=\"ns=1;i=5074\" BrowseName=\"1:ReadyStepModel\" ParentNodeId=\"ns=1;i=5024\">\n    <DisplayName>ReadyStepModel</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=6183</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=80</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=5024</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=7042</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">ns=1;i=1026</Reference>\n    </References>\n  </UAObject>\n  <UAVariable NodeId=\"ns=1;i=6183\" BrowseName=\"CurrentState\" ParentNodeId=\"ns=1;i=5074\" DataType=\"LocalizedText\">\n    <DisplayName>CurrentState</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=5074</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=2760</Reference>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=6211</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=6211\" BrowseName=\"Id\" ParentNodeId=\"ns=1;i=6183\" DataType=\"NodeId\">\n    <DisplayName>Id</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=6183</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n    </References>\n  </UAVariable>\n  <UAMethod NodeId=\"ns=1;i=7042\" BrowseName=\"1:Sync\" ParentNodeId=\"ns=1;i=5074\" MethodDeclarationId=\"ns=1;i=7101\">\n    <DisplayName>Sync</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=6212</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=6215</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=5074</Reference>\n    </References>\n  </UAMethod>\n  <UAVariable NodeId=\"ns=1;i=6212\" BrowseName=\"InputArguments\" ParentNodeId=\"ns=1;i=7042\" DataType=\"Argument\" ValueRank=\"1\" ArrayDimensions=\"2\">\n    <DisplayName>InputArguments</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=7042</Reference>\n    </References>\n    <Value>\n      <uax:ListOfExtensionObject xmlns:uax=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <uax:ExtensionObject>\n          <uax:TypeId>\n            <uax:Identifier>i=297</uax:Identifier>\n          </uax:TypeId>\n          <uax:Body>\n            <uax:Argument>\n              <uax:Name>Cause</uax:Name>\n              <uax:DataType>\n                <uax:Identifier>i=6</uax:Identifier>\n              </uax:DataType>\n              <uax:ValueRank>-1</uax:ValueRank>\n              <uax:ArrayDimensions />\n              <uax:Description />\n            </uax:Argument>\n          </uax:Body>\n        </uax:ExtensionObject>\n        <uax:ExtensionObject>\n          <uax:TypeId>\n            <uax:Identifier>i=297</uax:Identifier>\n          </uax:TypeId>\n          <uax:Body>\n            <uax:Argument>\n              <uax:Name>CauseDescription</uax:Name>\n              <uax:DataType>\n                <uax:Identifier>i=12</uax:Identifier>\n              </uax:DataType>\n              <uax:ValueRank>-1</uax:ValueRank>\n              <uax:ArrayDimensions />\n              <uax:Description />\n            </uax:Argument>\n          </uax:Body>\n        </uax:ExtensionObject>\n      </uax:ListOfExtensionObject>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=6215\" BrowseName=\"OutputArguments\" ParentNodeId=\"ns=1;i=7042\" DataType=\"Argument\" ValueRank=\"1\" ArrayDimensions=\"1\">\n    <DisplayName>OutputArguments</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=7042</Reference>\n    </References>\n    <Value>\n      <uax:ListOfExtensionObject xmlns:uax=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <uax:ExtensionObject>\n          <uax:TypeId>\n            <uax:Identifier>i=297</uax:Identifier>\n          </uax:TypeId>\n          <uax:Body>\n            <uax:Argument>\n              <uax:Name>Error</uax:Name>\n              <uax:DataType>\n                <uax:Identifier>i=6</uax:Identifier>\n              </uax:DataType>\n              <uax:ValueRank>-1</uax:ValueRank>\n              <uax:ArrayDimensions />\n              <uax:Description />\n            </uax:Argument>\n          </uax:Body>\n        </uax:ExtensionObject>\n      </uax:ListOfExtensionObject>\n    </Value>\n  </UAVariable>\n  <UAMethod NodeId=\"ns=1;i=7044\" BrowseName=\"1:SimulationMode\" ParentNodeId=\"ns=1;i=5024\" MethodDeclarationId=\"ns=1;i=7100\">\n    <DisplayName>SimulationMode</DisplayName>\n    <Documentation>https://reference.opcfoundation.org/v104/MachineVision/v100/docs/8.3.7/#8.3.7.5</Documentation>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=6326</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=80</Reference>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=6400</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=5024</Reference>\n    </References>\n  </UAMethod>\n  <UAVariable NodeId=\"ns=1;i=6326\" BrowseName=\"InputArguments\" ParentNodeId=\"ns=1;i=7044\" DataType=\"Argument\" ValueRank=\"1\" ArrayDimensions=\"3\">\n    <DisplayName>InputArguments</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=7044</Reference>\n    </References>\n    <Value>\n      <uax:ListOfExtensionObject xmlns:uax=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <uax:ExtensionObject>\n          <uax:TypeId>\n            <uax:Identifier>i=297</uax:Identifier>\n          </uax:TypeId>\n          <uax:Body>\n            <uax:Argument>\n              <uax:Name>Activate</uax:Name>\n              <uax:DataType>\n                <uax:Identifier>i=1</uax:Identifier>\n              </uax:DataType>\n              <uax:ValueRank>-1</uax:ValueRank>\n              <uax:ArrayDimensions />\n              <uax:Description />\n            </uax:Argument>\n          </uax:Body>\n        </uax:ExtensionObject>\n        <uax:ExtensionObject>\n          <uax:TypeId>\n            <uax:Identifier>i=297</uax:Identifier>\n          </uax:TypeId>\n          <uax:Body>\n            <uax:Argument>\n              <uax:Name>Cause</uax:Name>\n              <uax:DataType>\n                <uax:Identifier>i=6</uax:Identifier>\n              </uax:DataType>\n              <uax:ValueRank>-1</uax:ValueRank>\n              <uax:ArrayDimensions />\n              <uax:Description />\n            </uax:Argument>\n          </uax:Body>\n        </uax:ExtensionObject>\n        <uax:ExtensionObject>\n          <uax:TypeId>\n            <uax:Identifier>i=297</uax:Identifier>\n          </uax:TypeId>\n          <uax:Body>\n            <uax:Argument>\n              <uax:Name>CauseDescription</uax:Name>\n              <uax:DataType>\n                <uax:Identifier>i=12</uax:Identifier>\n              </uax:DataType>\n              <uax:ValueRank>-1</uax:ValueRank>\n              <uax:ArrayDimensions />\n              <uax:Description />\n            </uax:Argument>\n          </uax:Body>\n        </uax:ExtensionObject>\n      </uax:ListOfExtensionObject>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=6400\" BrowseName=\"OutputArguments\" ParentNodeId=\"ns=1;i=7044\" DataType=\"Argument\" ValueRank=\"1\" ArrayDimensions=\"1\">\n    <DisplayName>OutputArguments</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=7044</Reference>\n    </References>\n    <Value>\n      <uax:ListOfExtensionObject xmlns:uax=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <uax:ExtensionObject>\n          <uax:TypeId>\n            <uax:Identifier>i=297</uax:Identifier>\n          </uax:TypeId>\n          <uax:Body>\n            <uax:Argument>\n              <uax:Name>Error</uax:Name>\n              <uax:DataType>\n                <uax:Identifier>i=6</uax:Identifier>\n              </uax:DataType>\n              <uax:ValueRank>-1</uax:ValueRank>\n              <uax:ArrayDimensions />\n              <uax:Description />\n            </uax:Argument>\n          </uax:Body>\n        </uax:ExtensionObject>\n      </uax:ListOfExtensionObject>\n    </Value>\n  </UAVariable>\n  <UAObject NodeId=\"ns=1;i=5092\" BrowseName=\"1:SingleExecutionStepModel\" ParentNodeId=\"ns=1;i=5024\">\n    <DisplayName>SingleExecutionStepModel</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=6401</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=80</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=5024</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=7091</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">ns=1;i=1026</Reference>\n    </References>\n  </UAObject>\n  <UAVariable NodeId=\"ns=1;i=6401\" BrowseName=\"CurrentState\" ParentNodeId=\"ns=1;i=5092\" DataType=\"LocalizedText\">\n    <DisplayName>CurrentState</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=5092</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=2760</Reference>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=6402</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=6402\" BrowseName=\"Id\" ParentNodeId=\"ns=1;i=6401\" DataType=\"NodeId\">\n    <DisplayName>Id</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=6401</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n    </References>\n  </UAVariable>\n  <UAMethod NodeId=\"ns=1;i=7091\" BrowseName=\"1:Sync\" ParentNodeId=\"ns=1;i=5092\" MethodDeclarationId=\"ns=1;i=7101\">\n    <DisplayName>Sync</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=6403</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=6404</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=5092</Reference>\n    </References>\n  </UAMethod>\n  <UAVariable NodeId=\"ns=1;i=6403\" BrowseName=\"InputArguments\" ParentNodeId=\"ns=1;i=7091\" DataType=\"Argument\" ValueRank=\"1\" ArrayDimensions=\"2\">\n    <DisplayName>InputArguments</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=7091</Reference>\n    </References>\n    <Value>\n      <uax:ListOfExtensionObject xmlns:uax=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <uax:ExtensionObject>\n          <uax:TypeId>\n            <uax:Identifier>i=297</uax:Identifier>\n          </uax:TypeId>\n          <uax:Body>\n            <uax:Argument>\n              <uax:Name>Cause</uax:Name>\n              <uax:DataType>\n                <uax:Identifier>i=6</uax:Identifier>\n              </uax:DataType>\n              <uax:ValueRank>-1</uax:ValueRank>\n              <uax:ArrayDimensions />\n              <uax:Description />\n            </uax:Argument>\n          </uax:Body>\n        </uax:ExtensionObject>\n        <uax:ExtensionObject>\n          <uax:TypeId>\n            <uax:Identifier>i=297</uax:Identifier>\n          </uax:TypeId>\n          <uax:Body>\n            <uax:Argument>\n              <uax:Name>CauseDescription</uax:Name>\n              <uax:DataType>\n                <uax:Identifier>i=12</uax:Identifier>\n              </uax:DataType>\n              <uax:ValueRank>-1</uax:ValueRank>\n              <uax:ArrayDimensions />\n              <uax:Description />\n            </uax:Argument>\n          </uax:Body>\n        </uax:ExtensionObject>\n      </uax:ListOfExtensionObject>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=6404\" BrowseName=\"OutputArguments\" ParentNodeId=\"ns=1;i=7091\" DataType=\"Argument\" ValueRank=\"1\" ArrayDimensions=\"1\">\n    <DisplayName>OutputArguments</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=7091</Reference>\n    </References>\n    <Value>\n      <uax:ListOfExtensionObject xmlns:uax=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <uax:ExtensionObject>\n          <uax:TypeId>\n            <uax:Identifier>i=297</uax:Identifier>\n          </uax:TypeId>\n          <uax:Body>\n            <uax:Argument>\n              <uax:Name>Error</uax:Name>\n              <uax:DataType>\n                <uax:Identifier>i=6</uax:Identifier>\n              </uax:DataType>\n              <uax:ValueRank>-1</uax:ValueRank>\n              <uax:ArrayDimensions />\n              <uax:Description />\n            </uax:Argument>\n          </uax:Body>\n        </uax:ExtensionObject>\n      </uax:ListOfExtensionObject>\n    </Value>\n  </UAVariable>\n  <UAMethod NodeId=\"ns=1;i=7021\" BrowseName=\"1:StartContinuous\" ParentNodeId=\"ns=1;i=5024\" MethodDeclarationId=\"ns=1;i=7009\">\n    <DisplayName>StartContinuous</DisplayName>\n    <Documentation>https://reference.opcfoundation.org/v104/MachineVision/v100/docs/8.3.7/#8.3.7.2</Documentation>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=6067</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=6068</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=5024</Reference>\n    </References>\n  </UAMethod>\n  <UAVariable NodeId=\"ns=1;i=6067\" BrowseName=\"InputArguments\" ParentNodeId=\"ns=1;i=7021\" DataType=\"Argument\" ValueRank=\"1\" ArrayDimensions=\"5\">\n    <DisplayName>InputArguments</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=7021</Reference>\n    </References>\n    <Value>\n      <uax:ListOfExtensionObject xmlns:uax=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <uax:ExtensionObject>\n          <uax:TypeId>\n            <uax:Identifier>i=297</uax:Identifier>\n          </uax:TypeId>\n          <uax:Body>\n            <uax:Argument>\n              <uax:Name>MeasId</uax:Name>\n              <uax:DataType>\n                <uax:Identifier>ns=1;i=3015</uax:Identifier>\n              </uax:DataType>\n              <uax:ValueRank>-1</uax:ValueRank>\n              <uax:ArrayDimensions />\n              <uax:Description />\n            </uax:Argument>\n          </uax:Body>\n        </uax:ExtensionObject>\n        <uax:ExtensionObject>\n          <uax:TypeId>\n            <uax:Identifier>i=297</uax:Identifier>\n          </uax:TypeId>\n          <uax:Body>\n            <uax:Argument>\n              <uax:Name>PartId</uax:Name>\n              <uax:DataType>\n                <uax:Identifier>ns=1;i=3004</uax:Identifier>\n              </uax:DataType>\n              <uax:ValueRank>-1</uax:ValueRank>\n              <uax:ArrayDimensions />\n              <uax:Description />\n            </uax:Argument>\n          </uax:Body>\n        </uax:ExtensionObject>\n        <uax:ExtensionObject>\n          <uax:TypeId>\n            <uax:Identifier>i=297</uax:Identifier>\n          </uax:TypeId>\n          <uax:Body>\n            <uax:Argument>\n              <uax:Name>RecipeId</uax:Name>\n              <uax:DataType>\n                <uax:Identifier>ns=1;i=3002</uax:Identifier>\n              </uax:DataType>\n              <uax:ValueRank>-1</uax:ValueRank>\n              <uax:ArrayDimensions />\n              <uax:Description />\n            </uax:Argument>\n          </uax:Body>\n        </uax:ExtensionObject>\n        <uax:ExtensionObject>\n          <uax:TypeId>\n            <uax:Identifier>i=297</uax:Identifier>\n          </uax:TypeId>\n          <uax:Body>\n            <uax:Argument>\n              <uax:Name>ProductId</uax:Name>\n              <uax:DataType>\n                <uax:Identifier>ns=1;i=3003</uax:Identifier>\n              </uax:DataType>\n              <uax:ValueRank>-1</uax:ValueRank>\n              <uax:ArrayDimensions />\n              <uax:Description />\n            </uax:Argument>\n          </uax:Body>\n        </uax:ExtensionObject>\n        <uax:ExtensionObject>\n          <uax:TypeId>\n            <uax:Identifier>i=297</uax:Identifier>\n          </uax:TypeId>\n          <uax:Body>\n            <uax:Argument>\n              <uax:Name>Parameters</uax:Name>\n              <uax:DataType>\n                <uax:Identifier>i=24</uax:Identifier>\n              </uax:DataType>\n              <uax:ValueRank>1</uax:ValueRank>\n              <uax:ArrayDimensions />\n              <uax:Description />\n            </uax:Argument>\n          </uax:Body>\n        </uax:ExtensionObject>\n      </uax:ListOfExtensionObject>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=6068\" BrowseName=\"OutputArguments\" ParentNodeId=\"ns=1;i=7021\" DataType=\"Argument\" ValueRank=\"1\" ArrayDimensions=\"2\">\n    <DisplayName>OutputArguments</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=7021</Reference>\n    </References>\n    <Value>\n      <uax:ListOfExtensionObject xmlns:uax=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <uax:ExtensionObject>\n          <uax:TypeId>\n            <uax:Identifier>i=297</uax:Identifier>\n          </uax:TypeId>\n          <uax:Body>\n            <uax:Argument>\n              <uax:Name>JobId</uax:Name>\n              <uax:DataType>\n                <uax:Identifier>ns=1;i=3016</uax:Identifier>\n              </uax:DataType>\n              <uax:ValueRank>-1</uax:ValueRank>\n              <uax:ArrayDimensions />\n              <uax:Description />\n            </uax:Argument>\n          </uax:Body>\n        </uax:ExtensionObject>\n        <uax:ExtensionObject>\n          <uax:TypeId>\n            <uax:Identifier>i=297</uax:Identifier>\n          </uax:TypeId>\n          <uax:Body>\n            <uax:Argument>\n              <uax:Name>Error</uax:Name>\n              <uax:DataType>\n                <uax:Identifier>i=6</uax:Identifier>\n              </uax:DataType>\n              <uax:ValueRank>-1</uax:ValueRank>\n              <uax:ArrayDimensions />\n              <uax:Description />\n            </uax:Argument>\n          </uax:Body>\n        </uax:ExtensionObject>\n      </uax:ListOfExtensionObject>\n    </Value>\n  </UAVariable>\n  <UAMethod NodeId=\"ns=1;i=7022\" BrowseName=\"1:StartSingleJob\" ParentNodeId=\"ns=1;i=5024\" MethodDeclarationId=\"ns=1;i=7098\">\n    <DisplayName>StartSingleJob</DisplayName>\n    <Documentation>https://reference.opcfoundation.org/v104/MachineVision/v100/docs/8.3.7/#8.3.7.1</Documentation>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=6069</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=6070</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=5024</Reference>\n    </References>\n  </UAMethod>\n  <UAVariable NodeId=\"ns=1;i=6069\" BrowseName=\"InputArguments\" ParentNodeId=\"ns=1;i=7022\" DataType=\"Argument\" ValueRank=\"1\" ArrayDimensions=\"5\">\n    <DisplayName>InputArguments</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=7022</Reference>\n    </References>\n    <Value>\n      <uax:ListOfExtensionObject xmlns:uax=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <uax:ExtensionObject>\n          <uax:TypeId>\n            <uax:Identifier>i=297</uax:Identifier>\n          </uax:TypeId>\n          <uax:Body>\n            <uax:Argument>\n              <uax:Name>MeasId</uax:Name>\n              <uax:DataType>\n                <uax:Identifier>ns=1;i=3015</uax:Identifier>\n              </uax:DataType>\n              <uax:ValueRank>-1</uax:ValueRank>\n              <uax:ArrayDimensions />\n              <uax:Description />\n            </uax:Argument>\n          </uax:Body>\n        </uax:ExtensionObject>\n        <uax:ExtensionObject>\n          <uax:TypeId>\n            <uax:Identifier>i=297</uax:Identifier>\n          </uax:TypeId>\n          <uax:Body>\n            <uax:Argument>\n              <uax:Name>PartId</uax:Name>\n              <uax:DataType>\n                <uax:Identifier>ns=1;i=3004</uax:Identifier>\n              </uax:DataType>\n              <uax:ValueRank>-1</uax:ValueRank>\n              <uax:ArrayDimensions />\n              <uax:Description />\n            </uax:Argument>\n          </uax:Body>\n        </uax:ExtensionObject>\n        <uax:ExtensionObject>\n          <uax:TypeId>\n            <uax:Identifier>i=297</uax:Identifier>\n          </uax:TypeId>\n          <uax:Body>\n            <uax:Argument>\n              <uax:Name>RecipeId</uax:Name>\n              <uax:DataType>\n                <uax:Identifier>ns=1;i=3002</uax:Identifier>\n              </uax:DataType>\n              <uax:ValueRank>-1</uax:ValueRank>\n              <uax:ArrayDimensions />\n              <uax:Description />\n            </uax:Argument>\n          </uax:Body>\n        </uax:ExtensionObject>\n        <uax:ExtensionObject>\n          <uax:TypeId>\n            <uax:Identifier>i=297</uax:Identifier>\n          </uax:TypeId>\n          <uax:Body>\n            <uax:Argument>\n              <uax:Name>ProductId</uax:Name>\n              <uax:DataType>\n                <uax:Identifier>ns=1;i=3003</uax:Identifier>\n              </uax:DataType>\n              <uax:ValueRank>-1</uax:ValueRank>\n              <uax:ArrayDimensions />\n              <uax:Description />\n            </uax:Argument>\n          </uax:Body>\n        </uax:ExtensionObject>\n        <uax:ExtensionObject>\n          <uax:TypeId>\n            <uax:Identifier>i=297</uax:Identifier>\n          </uax:TypeId>\n          <uax:Body>\n            <uax:Argument>\n              <uax:Name>Parameters</uax:Name>\n              <uax:DataType>\n                <uax:Identifier>i=24</uax:Identifier>\n              </uax:DataType>\n              <uax:ValueRank>1</uax:ValueRank>\n              <uax:ArrayDimensions />\n              <uax:Description />\n            </uax:Argument>\n          </uax:Body>\n        </uax:ExtensionObject>\n      </uax:ListOfExtensionObject>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=6070\" BrowseName=\"OutputArguments\" ParentNodeId=\"ns=1;i=7022\" DataType=\"Argument\" ValueRank=\"1\" ArrayDimensions=\"2\">\n    <DisplayName>OutputArguments</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=7022</Reference>\n    </References>\n    <Value>\n      <uax:ListOfExtensionObject xmlns:uax=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <uax:ExtensionObject>\n          <uax:TypeId>\n            <uax:Identifier>i=297</uax:Identifier>\n          </uax:TypeId>\n          <uax:Body>\n            <uax:Argument>\n              <uax:Name>JobId</uax:Name>\n              <uax:DataType>\n                <uax:Identifier>ns=1;i=3016</uax:Identifier>\n              </uax:DataType>\n              <uax:ValueRank>-1</uax:ValueRank>\n              <uax:ArrayDimensions />\n              <uax:Description />\n            </uax:Argument>\n          </uax:Body>\n        </uax:ExtensionObject>\n        <uax:ExtensionObject>\n          <uax:TypeId>\n            <uax:Identifier>i=297</uax:Identifier>\n          </uax:TypeId>\n          <uax:Body>\n            <uax:Argument>\n              <uax:Name>Error</uax:Name>\n              <uax:DataType>\n                <uax:Identifier>i=6</uax:Identifier>\n              </uax:DataType>\n              <uax:ValueRank>-1</uax:ValueRank>\n              <uax:ArrayDimensions />\n              <uax:Description />\n            </uax:Argument>\n          </uax:Body>\n        </uax:ExtensionObject>\n      </uax:ListOfExtensionObject>\n    </Value>\n  </UAVariable>\n  <UAMethod NodeId=\"ns=1;i=7023\" BrowseName=\"1:Stop\" ParentNodeId=\"ns=1;i=5024\" MethodDeclarationId=\"ns=1;i=7096\">\n    <DisplayName>Stop</DisplayName>\n    <Documentation>https://reference.opcfoundation.org/v104/MachineVision/v100/docs/8.3.7/#8.3.7.4</Documentation>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=6078</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=6079</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=5024</Reference>\n    </References>\n  </UAMethod>\n  <UAVariable NodeId=\"ns=1;i=6078\" BrowseName=\"InputArguments\" ParentNodeId=\"ns=1;i=7023\" DataType=\"Argument\" ValueRank=\"1\" ArrayDimensions=\"2\">\n    <DisplayName>InputArguments</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=7023</Reference>\n    </References>\n    <Value>\n      <uax:ListOfExtensionObject xmlns:uax=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <uax:ExtensionObject>\n          <uax:TypeId>\n            <uax:Identifier>i=297</uax:Identifier>\n          </uax:TypeId>\n          <uax:Body>\n            <uax:Argument>\n              <uax:Name>Cause</uax:Name>\n              <uax:DataType>\n                <uax:Identifier>i=6</uax:Identifier>\n              </uax:DataType>\n              <uax:ValueRank>-1</uax:ValueRank>\n              <uax:ArrayDimensions />\n              <uax:Description />\n            </uax:Argument>\n          </uax:Body>\n        </uax:ExtensionObject>\n        <uax:ExtensionObject>\n          <uax:TypeId>\n            <uax:Identifier>i=297</uax:Identifier>\n          </uax:TypeId>\n          <uax:Body>\n            <uax:Argument>\n              <uax:Name>CauseDescription</uax:Name>\n              <uax:DataType>\n                <uax:Identifier>i=12</uax:Identifier>\n              </uax:DataType>\n              <uax:ValueRank>-1</uax:ValueRank>\n              <uax:ArrayDimensions />\n              <uax:Description />\n            </uax:Argument>\n          </uax:Body>\n        </uax:ExtensionObject>\n      </uax:ListOfExtensionObject>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=6079\" BrowseName=\"OutputArguments\" ParentNodeId=\"ns=1;i=7023\" DataType=\"Argument\" ValueRank=\"1\" ArrayDimensions=\"1\">\n    <DisplayName>OutputArguments</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=7023</Reference>\n    </References>\n    <Value>\n      <uax:ListOfExtensionObject xmlns:uax=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <uax:ExtensionObject>\n          <uax:TypeId>\n            <uax:Identifier>i=297</uax:Identifier>\n          </uax:TypeId>\n          <uax:Body>\n            <uax:Argument>\n              <uax:Name>Error</uax:Name>\n              <uax:DataType>\n                <uax:Identifier>i=6</uax:Identifier>\n              </uax:DataType>\n              <uax:ValueRank>-1</uax:ValueRank>\n              <uax:ArrayDimensions />\n              <uax:Description />\n            </uax:Argument>\n          </uax:Body>\n        </uax:ExtensionObject>\n      </uax:ListOfExtensionObject>\n    </Value>\n  </UAVariable>\n  <UAMethod NodeId=\"ns=1;i=7066\" BrowseName=\"1:ConfirmAll\" ParentNodeId=\"ns=1;i=1017\">\n    <DisplayName>ConfirmAll</DisplayName>\n    <Documentation>https://reference.opcfoundation.org/v104/MachineVision/v100/docs/8.2.8/#8.2.8.4</Documentation>\n    <References>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=1017</Reference>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=6241</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=80</Reference>\n    </References>\n  </UAMethod>\n  <UAVariable NodeId=\"ns=1;i=6241\" BrowseName=\"InputArguments\" ParentNodeId=\"ns=1;i=7066\" DataType=\"Argument\" ValueRank=\"1\" ArrayDimensions=\"1\">\n    <DisplayName>InputArguments</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=7066</Reference>\n    </References>\n    <Value>\n      <uax:ListOfExtensionObject xmlns:uax=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <uax:ExtensionObject>\n          <uax:TypeId>\n            <uax:Identifier>i=297</uax:Identifier>\n          </uax:TypeId>\n          <uax:Body>\n            <uax:Argument>\n              <uax:Name>Comment</uax:Name>\n              <uax:DataType>\n                <uax:Identifier>i=21</uax:Identifier>\n              </uax:DataType>\n              <uax:ValueRank>-1</uax:ValueRank>\n              <uax:ArrayDimensions />\n              <uax:Description />\n            </uax:Argument>\n          </uax:Body>\n        </uax:ExtensionObject>\n      </uax:ListOfExtensionObject>\n    </Value>\n  </UAVariable>\n  <UAObject NodeId=\"ns=1;i=5030\" BrowseName=\"1:Error\" ParentNodeId=\"ns=1;i=1017\">\n    <DisplayName>Error</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=1017</Reference>\n      <Reference ReferenceType=\"HasSubStateMachine\">ns=1;i=5054</Reference>\n      <Reference ReferenceType=\"ToTransition\">ns=1;i=5041</Reference>\n      <Reference ReferenceType=\"ToTransition\">ns=1;i=5042</Reference>\n      <Reference ReferenceType=\"ToTransition\">ns=1;i=5255</Reference>\n      <Reference ReferenceType=\"ToTransition\">ns=1;i=5039</Reference>\n      <Reference ReferenceType=\"ToTransition\">ns=1;i=5040</Reference>\n      <Reference ReferenceType=\"FromTransition\">ns=1;i=5051</Reference>\n      <Reference ReferenceType=\"FromTransition\">ns=1;i=5034</Reference>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=6228</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=2307</Reference>\n      <Reference ReferenceType=\"ToState\" IsForward=\"false\">ns=1;i=5034</Reference>\n      <Reference ReferenceType=\"FromState\" IsForward=\"false\">ns=1;i=5039</Reference>\n      <Reference ReferenceType=\"FromState\" IsForward=\"false\">ns=1;i=5040</Reference>\n      <Reference ReferenceType=\"FromState\" IsForward=\"false\">ns=1;i=5041</Reference>\n      <Reference ReferenceType=\"FromState\" IsForward=\"false\">ns=1;i=5042</Reference>\n      <Reference ReferenceType=\"ToState\" IsForward=\"false\">ns=1;i=5051</Reference>\n      <Reference ReferenceType=\"FromState\" IsForward=\"false\">ns=1;i=5255</Reference>\n    </References>\n  </UAObject>\n  <UAVariable NodeId=\"ns=1;i=6228\" BrowseName=\"StateNumber\" ParentNodeId=\"ns=1;i=5030\" DataType=\"UInt32\">\n    <DisplayName>StateNumber</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=5030</Reference>\n    </References>\n    <Value>\n      <uax:UInt32 xmlns:uax=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">3</uax:UInt32>\n    </Value>\n  </UAVariable>\n  <UAObject NodeId=\"ns=1;i=5054\" BrowseName=\"1:ErrorStepModel\" ParentNodeId=\"ns=1;i=1017\">\n    <DisplayName>ErrorStepModel</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=6358</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=1017</Reference>\n      <Reference ReferenceType=\"HasSubStateMachine\" IsForward=\"false\">ns=1;i=5030</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=80</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=7019</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">ns=1;i=1026</Reference>\n    </References>\n  </UAObject>\n  <UAVariable NodeId=\"ns=1;i=6358\" BrowseName=\"CurrentState\" ParentNodeId=\"ns=1;i=5054\" DataType=\"LocalizedText\">\n    <DisplayName>CurrentState</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=5054</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=2760</Reference>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=6390</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=6390\" BrowseName=\"Id\" ParentNodeId=\"ns=1;i=6358\" DataType=\"NodeId\">\n    <DisplayName>Id</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=6358</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n    </References>\n  </UAVariable>\n  <UAMethod NodeId=\"ns=1;i=7019\" BrowseName=\"1:Sync\" ParentNodeId=\"ns=1;i=5054\" MethodDeclarationId=\"ns=1;i=7101\">\n    <DisplayName>Sync</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=6252</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=6349</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=5054</Reference>\n    </References>\n  </UAMethod>\n  <UAVariable NodeId=\"ns=1;i=6252\" BrowseName=\"InputArguments\" ParentNodeId=\"ns=1;i=7019\" DataType=\"Argument\" ValueRank=\"1\" ArrayDimensions=\"2\">\n    <DisplayName>InputArguments</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=7019</Reference>\n    </References>\n    <Value>\n      <uax:ListOfExtensionObject xmlns:uax=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <uax:ExtensionObject>\n          <uax:TypeId>\n            <uax:Identifier>i=297</uax:Identifier>\n          </uax:TypeId>\n          <uax:Body>\n            <uax:Argument>\n              <uax:Name>Cause</uax:Name>\n              <uax:DataType>\n                <uax:Identifier>i=6</uax:Identifier>\n              </uax:DataType>\n              <uax:ValueRank>-1</uax:ValueRank>\n              <uax:ArrayDimensions />\n              <uax:Description />\n            </uax:Argument>\n          </uax:Body>\n        </uax:ExtensionObject>\n        <uax:ExtensionObject>\n          <uax:TypeId>\n            <uax:Identifier>i=297</uax:Identifier>\n          </uax:TypeId>\n          <uax:Body>\n            <uax:Argument>\n              <uax:Name>CauseDescription</uax:Name>\n              <uax:DataType>\n                <uax:Identifier>i=12</uax:Identifier>\n              </uax:DataType>\n              <uax:ValueRank>-1</uax:ValueRank>\n              <uax:ArrayDimensions />\n              <uax:Description />\n            </uax:Argument>\n          </uax:Body>\n        </uax:ExtensionObject>\n      </uax:ListOfExtensionObject>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=6349\" BrowseName=\"OutputArguments\" ParentNodeId=\"ns=1;i=7019\" DataType=\"Argument\" ValueRank=\"1\" ArrayDimensions=\"1\">\n    <DisplayName>OutputArguments</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=7019</Reference>\n    </References>\n    <Value>\n      <uax:ListOfExtensionObject xmlns:uax=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <uax:ExtensionObject>\n          <uax:TypeId>\n            <uax:Identifier>i=297</uax:Identifier>\n          </uax:TypeId>\n          <uax:Body>\n            <uax:Argument>\n              <uax:Name>Error</uax:Name>\n              <uax:DataType>\n                <uax:Identifier>i=6</uax:Identifier>\n              </uax:DataType>\n              <uax:ValueRank>-1</uax:ValueRank>\n              <uax:ArrayDimensions />\n              <uax:Description />\n            </uax:Argument>\n          </uax:Body>\n        </uax:ExtensionObject>\n      </uax:ListOfExtensionObject>\n    </Value>\n  </UAVariable>\n  <UAObject NodeId=\"ns=1;i=5041\" BrowseName=\"1:ErrorToHalted\" ParentNodeId=\"ns=1;i=1017\">\n    <DisplayName>ErrorToHalted</DisplayName>\n    <References>\n      <Reference ReferenceType=\"FromState\">ns=1;i=5030</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=1017</Reference>\n      <Reference ReferenceType=\"FromTransition\" IsForward=\"false\">ns=1;i=5029</Reference>\n      <Reference ReferenceType=\"ToTransition\" IsForward=\"false\">ns=1;i=5030</Reference>\n      <Reference ReferenceType=\"HasCause\">ns=1;i=7094</Reference>\n      <Reference ReferenceType=\"ToState\">ns=1;i=5029</Reference>\n      <Reference ReferenceType=\"HasEffect\">ns=1;i=1018</Reference>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=6239</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=2310</Reference>\n    </References>\n  </UAObject>\n  <UAVariable NodeId=\"ns=1;i=6239\" BrowseName=\"TransitionNumber\" ParentNodeId=\"ns=1;i=5041\" DataType=\"UInt32\">\n    <DisplayName>TransitionNumber</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=5041</Reference>\n    </References>\n    <Value>\n      <uax:UInt32 xmlns:uax=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">321</uax:UInt32>\n    </Value>\n  </UAVariable>\n  <UAObject NodeId=\"ns=1;i=5042\" BrowseName=\"1:ErrorToHaltedAuto\" ParentNodeId=\"ns=1;i=1017\">\n    <DisplayName>ErrorToHaltedAuto</DisplayName>\n    <References>\n      <Reference ReferenceType=\"FromState\">ns=1;i=5030</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=1017</Reference>\n      <Reference ReferenceType=\"FromTransition\" IsForward=\"false\">ns=1;i=5029</Reference>\n      <Reference ReferenceType=\"ToTransition\" IsForward=\"false\">ns=1;i=5030</Reference>\n      <Reference ReferenceType=\"ToState\">ns=1;i=5029</Reference>\n      <Reference ReferenceType=\"HasEffect\">ns=1;i=1018</Reference>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=6240</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=2310</Reference>\n    </References>\n  </UAObject>\n  <UAVariable NodeId=\"ns=1;i=6240\" BrowseName=\"TransitionNumber\" ParentNodeId=\"ns=1;i=5042\" DataType=\"UInt32\">\n    <DisplayName>TransitionNumber</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=5042</Reference>\n    </References>\n    <Value>\n      <uax:UInt32 xmlns:uax=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">320</uax:UInt32>\n    </Value>\n  </UAVariable>\n  <UAObject NodeId=\"ns=1;i=5255\" BrowseName=\"1:ErrorToOperationalAuto\" ParentNodeId=\"ns=1;i=1017\">\n    <DisplayName>ErrorToOperationalAuto</DisplayName>\n    <References>\n      <Reference ReferenceType=\"FromState\">ns=1;i=5030</Reference>\n      <Reference ReferenceType=\"HasEffect\">ns=1;i=1020</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=1017</Reference>\n      <Reference ReferenceType=\"ToTransition\" IsForward=\"false\">ns=1;i=5030</Reference>\n      <Reference ReferenceType=\"FromTransition\" IsForward=\"false\">ns=1;i=5031</Reference>\n      <Reference ReferenceType=\"ToState\">ns=1;i=5031</Reference>\n      <Reference ReferenceType=\"HasEffect\">ns=1;i=1018</Reference>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=6341</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=2310</Reference>\n    </References>\n  </UAObject>\n  <UAVariable NodeId=\"ns=1;i=6341\" BrowseName=\"TransitionNumber\" ParentNodeId=\"ns=1;i=5255\" DataType=\"UInt32\">\n    <DisplayName>TransitionNumber</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=5255</Reference>\n    </References>\n    <Value>\n      <uax:UInt32 xmlns:uax=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">340</uax:UInt32>\n    </Value>\n  </UAVariable>\n  <UAObject NodeId=\"ns=1;i=5039\" BrowseName=\"1:ErrorToPreoperational\" ParentNodeId=\"ns=1;i=1017\">\n    <DisplayName>ErrorToPreoperational</DisplayName>\n    <References>\n      <Reference ReferenceType=\"FromState\">ns=1;i=5030</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=1017</Reference>\n      <Reference ReferenceType=\"FromTransition\" IsForward=\"false\">ns=1;i=5028</Reference>\n      <Reference ReferenceType=\"ToTransition\" IsForward=\"false\">ns=1;i=5030</Reference>\n      <Reference ReferenceType=\"ToState\">ns=1;i=5028</Reference>\n      <Reference ReferenceType=\"HasCause\">ns=1;i=7093</Reference>\n      <Reference ReferenceType=\"HasEffect\">ns=1;i=1018</Reference>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=6237</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=2310</Reference>\n    </References>\n  </UAObject>\n  <UAVariable NodeId=\"ns=1;i=6237\" BrowseName=\"TransitionNumber\" ParentNodeId=\"ns=1;i=5039\" DataType=\"UInt32\">\n    <DisplayName>TransitionNumber</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=5039</Reference>\n    </References>\n    <Value>\n      <uax:UInt32 xmlns:uax=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">311</uax:UInt32>\n    </Value>\n  </UAVariable>\n  <UAObject NodeId=\"ns=1;i=5040\" BrowseName=\"1:ErrorToPreoperationalAuto\" ParentNodeId=\"ns=1;i=1017\">\n    <DisplayName>ErrorToPreoperationalAuto</DisplayName>\n    <References>\n      <Reference ReferenceType=\"FromState\">ns=1;i=5030</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=1017</Reference>\n      <Reference ReferenceType=\"FromTransition\" IsForward=\"false\">ns=1;i=5028</Reference>\n      <Reference ReferenceType=\"ToTransition\" IsForward=\"false\">ns=1;i=5030</Reference>\n      <Reference ReferenceType=\"ToState\">ns=1;i=5028</Reference>\n      <Reference ReferenceType=\"HasEffect\">ns=1;i=1018</Reference>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=6238</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=2310</Reference>\n    </References>\n  </UAObject>\n  <UAVariable NodeId=\"ns=1;i=6238\" BrowseName=\"TransitionNumber\" ParentNodeId=\"ns=1;i=5040\" DataType=\"UInt32\">\n    <DisplayName>TransitionNumber</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=5040</Reference>\n    </References>\n    <Value>\n      <uax:UInt32 xmlns:uax=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">310</uax:UInt32>\n    </Value>\n  </UAVariable>\n  <UAMethod NodeId=\"ns=1;i=7094\" BrowseName=\"1:Halt\" ParentNodeId=\"ns=1;i=1017\">\n    <DisplayName>Halt</DisplayName>\n    <Documentation>https://reference.opcfoundation.org/v104/MachineVision/v100/docs/8.2.8/#8.2.8.1</Documentation>\n    <References>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=1017</Reference>\n      <Reference ReferenceType=\"HasCause\" IsForward=\"false\">ns=1;i=5032</Reference>\n      <Reference ReferenceType=\"HasCause\" IsForward=\"false\">ns=1;i=5041</Reference>\n      <Reference ReferenceType=\"HasCause\" IsForward=\"false\">ns=1;i=5049</Reference>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=6254</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=6255</Reference>\n    </References>\n  </UAMethod>\n  <UAVariable NodeId=\"ns=1;i=6254\" BrowseName=\"InputArguments\" ParentNodeId=\"ns=1;i=7094\" DataType=\"Argument\" ValueRank=\"1\" ArrayDimensions=\"2\">\n    <DisplayName>InputArguments</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=7094</Reference>\n    </References>\n    <Value>\n      <uax:ListOfExtensionObject xmlns:uax=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <uax:ExtensionObject>\n          <uax:TypeId>\n            <uax:Identifier>i=297</uax:Identifier>\n          </uax:TypeId>\n          <uax:Body>\n            <uax:Argument>\n              <uax:Name>Cause</uax:Name>\n              <uax:DataType>\n                <uax:Identifier>i=6</uax:Identifier>\n              </uax:DataType>\n              <uax:ValueRank>-1</uax:ValueRank>\n              <uax:ArrayDimensions />\n              <uax:Description />\n            </uax:Argument>\n          </uax:Body>\n        </uax:ExtensionObject>\n        <uax:ExtensionObject>\n          <uax:TypeId>\n            <uax:Identifier>i=297</uax:Identifier>\n          </uax:TypeId>\n          <uax:Body>\n            <uax:Argument>\n              <uax:Name>CauseDescription</uax:Name>\n              <uax:DataType>\n                <uax:Identifier>i=12</uax:Identifier>\n              </uax:DataType>\n              <uax:ValueRank>-1</uax:ValueRank>\n              <uax:ArrayDimensions />\n              <uax:Description />\n            </uax:Argument>\n          </uax:Body>\n        </uax:ExtensionObject>\n      </uax:ListOfExtensionObject>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=6255\" BrowseName=\"OutputArguments\" ParentNodeId=\"ns=1;i=7094\" DataType=\"Argument\" ValueRank=\"1\" ArrayDimensions=\"1\">\n    <DisplayName>OutputArguments</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=7094</Reference>\n    </References>\n    <Value>\n      <uax:ListOfExtensionObject xmlns:uax=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <uax:ExtensionObject>\n          <uax:TypeId>\n            <uax:Identifier>i=297</uax:Identifier>\n          </uax:TypeId>\n          <uax:Body>\n            <uax:Argument>\n              <uax:Name>Error</uax:Name>\n              <uax:DataType>\n                <uax:Identifier>i=6</uax:Identifier>\n              </uax:DataType>\n              <uax:ValueRank>-1</uax:ValueRank>\n              <uax:ArrayDimensions />\n              <uax:Description />\n            </uax:Argument>\n          </uax:Body>\n        </uax:ExtensionObject>\n      </uax:ListOfExtensionObject>\n    </Value>\n  </UAVariable>\n  <UAObject NodeId=\"ns=1;i=5029\" BrowseName=\"1:Halted\" ParentNodeId=\"ns=1;i=1017\">\n    <DisplayName>Halted</DisplayName>\n    <References>\n      <Reference ReferenceType=\"FromTransition\">ns=1;i=5041</Reference>\n      <Reference ReferenceType=\"FromTransition\">ns=1;i=5042</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=1017</Reference>\n      <Reference ReferenceType=\"HasSubStateMachine\">ns=1;i=5011</Reference>\n      <Reference ReferenceType=\"ToTransition\">ns=1;i=5037</Reference>\n      <Reference ReferenceType=\"ToTransition\">ns=1;i=5038</Reference>\n      <Reference ReferenceType=\"FromTransition\">ns=1;i=5049</Reference>\n      <Reference ReferenceType=\"FromTransition\">ns=1;i=5050</Reference>\n      <Reference ReferenceType=\"FromTransition\">ns=1;i=5032</Reference>\n      <Reference ReferenceType=\"FromTransition\">ns=1;i=5033</Reference>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=6227</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=2307</Reference>\n      <Reference ReferenceType=\"ToState\" IsForward=\"false\">ns=1;i=5032</Reference>\n      <Reference ReferenceType=\"ToState\" IsForward=\"false\">ns=1;i=5033</Reference>\n      <Reference ReferenceType=\"FromState\" IsForward=\"false\">ns=1;i=5037</Reference>\n      <Reference ReferenceType=\"FromState\" IsForward=\"false\">ns=1;i=5038</Reference>\n      <Reference ReferenceType=\"ToState\" IsForward=\"false\">ns=1;i=5041</Reference>\n      <Reference ReferenceType=\"ToState\" IsForward=\"false\">ns=1;i=5042</Reference>\n      <Reference ReferenceType=\"ToState\" IsForward=\"false\">ns=1;i=5049</Reference>\n      <Reference ReferenceType=\"ToState\" IsForward=\"false\">ns=1;i=5050</Reference>\n    </References>\n  </UAObject>\n  <UAVariable NodeId=\"ns=1;i=6227\" BrowseName=\"StateNumber\" ParentNodeId=\"ns=1;i=5029\" DataType=\"UInt32\">\n    <DisplayName>StateNumber</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=5029</Reference>\n    </References>\n    <Value>\n      <uax:UInt32 xmlns:uax=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">2</uax:UInt32>\n    </Value>\n  </UAVariable>\n  <UAObject NodeId=\"ns=1;i=5011\" BrowseName=\"1:HaltedStepModel\" ParentNodeId=\"ns=1;i=1017\">\n    <DisplayName>HaltedStepModel</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=6058</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=1017</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=80</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=7010</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">ns=1;i=1026</Reference>\n      <Reference ReferenceType=\"HasSubStateMachine\" IsForward=\"false\">ns=1;i=5029</Reference>\n    </References>\n  </UAObject>\n  <UAVariable NodeId=\"ns=1;i=6058\" BrowseName=\"CurrentState\" ParentNodeId=\"ns=1;i=5011\" DataType=\"LocalizedText\">\n    <DisplayName>CurrentState</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=5011</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=2760</Reference>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=6060</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=6060\" BrowseName=\"Id\" ParentNodeId=\"ns=1;i=6058\" DataType=\"NodeId\">\n    <DisplayName>Id</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=6058</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n    </References>\n  </UAVariable>\n  <UAMethod NodeId=\"ns=1;i=7010\" BrowseName=\"1:Sync\" ParentNodeId=\"ns=1;i=5011\" MethodDeclarationId=\"ns=1;i=7101\">\n    <DisplayName>Sync</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=6056</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=6057</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=5011</Reference>\n    </References>\n  </UAMethod>\n  <UAVariable NodeId=\"ns=1;i=6056\" BrowseName=\"InputArguments\" ParentNodeId=\"ns=1;i=7010\" DataType=\"Argument\" ValueRank=\"1\" ArrayDimensions=\"2\">\n    <DisplayName>InputArguments</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=7010</Reference>\n    </References>\n    <Value>\n      <uax:ListOfExtensionObject xmlns:uax=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <uax:ExtensionObject>\n          <uax:TypeId>\n            <uax:Identifier>i=297</uax:Identifier>\n          </uax:TypeId>\n          <uax:Body>\n            <uax:Argument>\n              <uax:Name>Cause</uax:Name>\n              <uax:DataType>\n                <uax:Identifier>i=6</uax:Identifier>\n              </uax:DataType>\n              <uax:ValueRank>-1</uax:ValueRank>\n              <uax:ArrayDimensions />\n              <uax:Description />\n            </uax:Argument>\n          </uax:Body>\n        </uax:ExtensionObject>\n        <uax:ExtensionObject>\n          <uax:TypeId>\n            <uax:Identifier>i=297</uax:Identifier>\n          </uax:TypeId>\n          <uax:Body>\n            <uax:Argument>\n              <uax:Name>CauseDescription</uax:Name>\n              <uax:DataType>\n                <uax:Identifier>i=12</uax:Identifier>\n              </uax:DataType>\n              <uax:ValueRank>-1</uax:ValueRank>\n              <uax:ArrayDimensions />\n              <uax:Description />\n            </uax:Argument>\n          </uax:Body>\n        </uax:ExtensionObject>\n      </uax:ListOfExtensionObject>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=6057\" BrowseName=\"OutputArguments\" ParentNodeId=\"ns=1;i=7010\" DataType=\"Argument\" ValueRank=\"1\" ArrayDimensions=\"1\">\n    <DisplayName>OutputArguments</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=7010</Reference>\n    </References>\n    <Value>\n      <uax:ListOfExtensionObject xmlns:uax=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <uax:ExtensionObject>\n          <uax:TypeId>\n            <uax:Identifier>i=297</uax:Identifier>\n          </uax:TypeId>\n          <uax:Body>\n            <uax:Argument>\n              <uax:Name>Error</uax:Name>\n              <uax:DataType>\n                <uax:Identifier>i=6</uax:Identifier>\n              </uax:DataType>\n              <uax:ValueRank>-1</uax:ValueRank>\n              <uax:ArrayDimensions />\n              <uax:Description />\n            </uax:Argument>\n          </uax:Body>\n        </uax:ExtensionObject>\n      </uax:ListOfExtensionObject>\n    </Value>\n  </UAVariable>\n  <UAObject NodeId=\"ns=1;i=5037\" BrowseName=\"1:HaltedToPreoperational\" ParentNodeId=\"ns=1;i=1017\">\n    <DisplayName>HaltedToPreoperational</DisplayName>\n    <References>\n      <Reference ReferenceType=\"FromState\">ns=1;i=5029</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=1017</Reference>\n      <Reference ReferenceType=\"FromTransition\" IsForward=\"false\">ns=1;i=5028</Reference>\n      <Reference ReferenceType=\"ToTransition\" IsForward=\"false\">ns=1;i=5029</Reference>\n      <Reference ReferenceType=\"ToState\">ns=1;i=5028</Reference>\n      <Reference ReferenceType=\"HasCause\">ns=1;i=7093</Reference>\n      <Reference ReferenceType=\"HasEffect\">ns=1;i=1018</Reference>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=6235</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=2310</Reference>\n    </References>\n  </UAObject>\n  <UAVariable NodeId=\"ns=1;i=6235\" BrowseName=\"TransitionNumber\" ParentNodeId=\"ns=1;i=5037\" DataType=\"UInt32\">\n    <DisplayName>TransitionNumber</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=5037</Reference>\n    </References>\n    <Value>\n      <uax:UInt32 xmlns:uax=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">211</uax:UInt32>\n    </Value>\n  </UAVariable>\n  <UAObject NodeId=\"ns=1;i=5038\" BrowseName=\"1:HaltedToPreoperationalAuto\" ParentNodeId=\"ns=1;i=1017\">\n    <DisplayName>HaltedToPreoperationalAuto</DisplayName>\n    <References>\n      <Reference ReferenceType=\"FromState\">ns=1;i=5029</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=1017</Reference>\n      <Reference ReferenceType=\"FromTransition\" IsForward=\"false\">ns=1;i=5028</Reference>\n      <Reference ReferenceType=\"ToTransition\" IsForward=\"false\">ns=1;i=5029</Reference>\n      <Reference ReferenceType=\"ToState\">ns=1;i=5028</Reference>\n      <Reference ReferenceType=\"HasEffect\">ns=1;i=1018</Reference>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=6236</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=2310</Reference>\n    </References>\n  </UAObject>\n  <UAVariable NodeId=\"ns=1;i=6236\" BrowseName=\"TransitionNumber\" ParentNodeId=\"ns=1;i=5038\" DataType=\"UInt32\">\n    <DisplayName>TransitionNumber</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=5038</Reference>\n    </References>\n    <Value>\n      <uax:UInt32 xmlns:uax=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">210</uax:UInt32>\n    </Value>\n  </UAVariable>\n  <UAObject NodeId=\"ns=1;i=5031\" BrowseName=\"1:Operational\" ParentNodeId=\"ns=1;i=1017\">\n    <DisplayName>Operational</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasSubStateMachine\">ns=1;i=5024</Reference>\n      <Reference ReferenceType=\"FromTransition\">ns=1;i=5255</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=1017</Reference>\n      <Reference ReferenceType=\"ToTransition\">ns=1;i=5051</Reference>\n      <Reference ReferenceType=\"ToTransition\">ns=1;i=5049</Reference>\n      <Reference ReferenceType=\"ToTransition\">ns=1;i=5050</Reference>\n      <Reference ReferenceType=\"ToTransition\">ns=1;i=5047</Reference>\n      <Reference ReferenceType=\"ToTransition\">ns=1;i=5048</Reference>\n      <Reference ReferenceType=\"FromTransition\">ns=1;i=5253</Reference>\n      <Reference ReferenceType=\"FromTransition\">ns=1;i=5254</Reference>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=6229</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=2307</Reference>\n      <Reference ReferenceType=\"FromState\" IsForward=\"false\">ns=1;i=5047</Reference>\n      <Reference ReferenceType=\"FromState\" IsForward=\"false\">ns=1;i=5048</Reference>\n      <Reference ReferenceType=\"FromState\" IsForward=\"false\">ns=1;i=5049</Reference>\n      <Reference ReferenceType=\"FromState\" IsForward=\"false\">ns=1;i=5050</Reference>\n      <Reference ReferenceType=\"FromState\" IsForward=\"false\">ns=1;i=5051</Reference>\n      <Reference ReferenceType=\"ToState\" IsForward=\"false\">ns=1;i=5253</Reference>\n      <Reference ReferenceType=\"ToState\" IsForward=\"false\">ns=1;i=5254</Reference>\n      <Reference ReferenceType=\"ToState\" IsForward=\"false\">ns=1;i=5255</Reference>\n    </References>\n  </UAObject>\n  <UAVariable NodeId=\"ns=1;i=6229\" BrowseName=\"StateNumber\" ParentNodeId=\"ns=1;i=5031\" DataType=\"UInt32\">\n    <DisplayName>StateNumber</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=5031</Reference>\n    </References>\n    <Value>\n      <uax:UInt32 xmlns:uax=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">4</uax:UInt32>\n    </Value>\n  </UAVariable>\n  <UAObject NodeId=\"ns=1;i=5051\" BrowseName=\"1:OperationalToErrorAuto\" ParentNodeId=\"ns=1;i=1017\">\n    <DisplayName>OperationalToErrorAuto</DisplayName>\n    <References>\n      <Reference ReferenceType=\"ToState\">ns=1;i=5030</Reference>\n      <Reference ReferenceType=\"FromState\">ns=1;i=5031</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=1017</Reference>\n      <Reference ReferenceType=\"FromTransition\" IsForward=\"false\">ns=1;i=5030</Reference>\n      <Reference ReferenceType=\"ToTransition\" IsForward=\"false\">ns=1;i=5031</Reference>\n      <Reference ReferenceType=\"HasEffect\">ns=1;i=1018</Reference>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=6249</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=2310</Reference>\n    </References>\n  </UAObject>\n  <UAVariable NodeId=\"ns=1;i=6249\" BrowseName=\"TransitionNumber\" ParentNodeId=\"ns=1;i=5051\" DataType=\"UInt32\">\n    <DisplayName>TransitionNumber</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=5051</Reference>\n    </References>\n    <Value>\n      <uax:UInt32 xmlns:uax=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">430</uax:UInt32>\n    </Value>\n  </UAVariable>\n  <UAObject NodeId=\"ns=1;i=5049\" BrowseName=\"1:OperationalToHalted\" ParentNodeId=\"ns=1;i=1017\">\n    <DisplayName>OperationalToHalted</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasCause\">ns=1;i=7094</Reference>\n      <Reference ReferenceType=\"ToState\">ns=1;i=5029</Reference>\n      <Reference ReferenceType=\"FromState\">ns=1;i=5031</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=1017</Reference>\n      <Reference ReferenceType=\"FromTransition\" IsForward=\"false\">ns=1;i=5029</Reference>\n      <Reference ReferenceType=\"ToTransition\" IsForward=\"false\">ns=1;i=5031</Reference>\n      <Reference ReferenceType=\"HasEffect\">ns=1;i=1018</Reference>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=6247</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=2310</Reference>\n    </References>\n  </UAObject>\n  <UAVariable NodeId=\"ns=1;i=6247\" BrowseName=\"TransitionNumber\" ParentNodeId=\"ns=1;i=5049\" DataType=\"UInt32\">\n    <DisplayName>TransitionNumber</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=5049</Reference>\n    </References>\n    <Value>\n      <uax:UInt32 xmlns:uax=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">421</uax:UInt32>\n    </Value>\n  </UAVariable>\n  <UAObject NodeId=\"ns=1;i=5050\" BrowseName=\"1:OperationalToHaltedAuto\" ParentNodeId=\"ns=1;i=1017\">\n    <DisplayName>OperationalToHaltedAuto</DisplayName>\n    <References>\n      <Reference ReferenceType=\"ToState\">ns=1;i=5029</Reference>\n      <Reference ReferenceType=\"FromState\">ns=1;i=5031</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=1017</Reference>\n      <Reference ReferenceType=\"FromTransition\" IsForward=\"false\">ns=1;i=5029</Reference>\n      <Reference ReferenceType=\"ToTransition\" IsForward=\"false\">ns=1;i=5031</Reference>\n      <Reference ReferenceType=\"HasEffect\">ns=1;i=1018</Reference>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=6248</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=2310</Reference>\n    </References>\n  </UAObject>\n  <UAVariable NodeId=\"ns=1;i=6248\" BrowseName=\"TransitionNumber\" ParentNodeId=\"ns=1;i=5050\" DataType=\"UInt32\">\n    <DisplayName>TransitionNumber</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=5050</Reference>\n    </References>\n    <Value>\n      <uax:UInt32 xmlns:uax=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">420</uax:UInt32>\n    </Value>\n  </UAVariable>\n  <UAObject NodeId=\"ns=1;i=5047\" BrowseName=\"1:OperationalToPreoperational\" ParentNodeId=\"ns=1;i=1017\">\n    <DisplayName>OperationalToPreoperational</DisplayName>\n    <References>\n      <Reference ReferenceType=\"FromState\">ns=1;i=5031</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=1017</Reference>\n      <Reference ReferenceType=\"FromTransition\" IsForward=\"false\">ns=1;i=5028</Reference>\n      <Reference ReferenceType=\"ToTransition\" IsForward=\"false\">ns=1;i=5031</Reference>\n      <Reference ReferenceType=\"ToState\">ns=1;i=5028</Reference>\n      <Reference ReferenceType=\"HasCause\">ns=1;i=7093</Reference>\n      <Reference ReferenceType=\"HasEffect\">ns=1;i=1018</Reference>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=6245</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=2310</Reference>\n    </References>\n  </UAObject>\n  <UAVariable NodeId=\"ns=1;i=6245\" BrowseName=\"TransitionNumber\" ParentNodeId=\"ns=1;i=5047\" DataType=\"UInt32\">\n    <DisplayName>TransitionNumber</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=5047</Reference>\n    </References>\n    <Value>\n      <uax:UInt32 xmlns:uax=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">411</uax:UInt32>\n    </Value>\n  </UAVariable>\n  <UAObject NodeId=\"ns=1;i=5048\" BrowseName=\"1:OperationalToPreoperationalAuto\" ParentNodeId=\"ns=1;i=1017\">\n    <DisplayName>OperationalToPreoperationalAuto</DisplayName>\n    <References>\n      <Reference ReferenceType=\"FromState\">ns=1;i=5031</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=1017</Reference>\n      <Reference ReferenceType=\"FromTransition\" IsForward=\"false\">ns=1;i=5028</Reference>\n      <Reference ReferenceType=\"ToTransition\" IsForward=\"false\">ns=1;i=5031</Reference>\n      <Reference ReferenceType=\"ToState\">ns=1;i=5028</Reference>\n      <Reference ReferenceType=\"HasEffect\">ns=1;i=1018</Reference>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=6246</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=2310</Reference>\n    </References>\n  </UAObject>\n  <UAVariable NodeId=\"ns=1;i=6246\" BrowseName=\"TransitionNumber\" ParentNodeId=\"ns=1;i=5048\" DataType=\"UInt32\">\n    <DisplayName>TransitionNumber</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=5048</Reference>\n    </References>\n    <Value>\n      <uax:UInt32 xmlns:uax=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">410</uax:UInt32>\n    </Value>\n  </UAVariable>\n  <UAObject NodeId=\"ns=1;i=5028\" BrowseName=\"1:Preoperational\" ParentNodeId=\"ns=1;i=1017\">\n    <DisplayName>Preoperational</DisplayName>\n    <References>\n      <Reference ReferenceType=\"FromTransition\">ns=1;i=5039</Reference>\n      <Reference ReferenceType=\"FromTransition\">ns=1;i=5040</Reference>\n      <Reference ReferenceType=\"FromTransition\">ns=1;i=5037</Reference>\n      <Reference ReferenceType=\"FromTransition\">ns=1;i=5038</Reference>\n      <Reference ReferenceType=\"FromTransition\">ns=1;i=5047</Reference>\n      <Reference ReferenceType=\"FromTransition\">ns=1;i=5048</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=1017</Reference>\n      <Reference ReferenceType=\"HasSubStateMachine\">ns=1;i=5012</Reference>\n      <Reference ReferenceType=\"ToTransition\">ns=1;i=5034</Reference>\n      <Reference ReferenceType=\"ToTransition\">ns=1;i=5032</Reference>\n      <Reference ReferenceType=\"ToTransition\">ns=1;i=5033</Reference>\n      <Reference ReferenceType=\"ToTransition\">ns=1;i=5035</Reference>\n      <Reference ReferenceType=\"ToTransition\">ns=1;i=5036</Reference>\n      <Reference ReferenceType=\"ToTransition\">ns=1;i=5253</Reference>\n      <Reference ReferenceType=\"ToTransition\">ns=1;i=5254</Reference>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=6226</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=2307</Reference>\n      <Reference ReferenceType=\"FromState\" IsForward=\"false\">ns=1;i=5032</Reference>\n      <Reference ReferenceType=\"FromState\" IsForward=\"false\">ns=1;i=5033</Reference>\n      <Reference ReferenceType=\"FromState\" IsForward=\"false\">ns=1;i=5034</Reference>\n      <Reference ReferenceType=\"FromState\" IsForward=\"false\">ns=1;i=5035</Reference>\n      <Reference ReferenceType=\"FromState\" IsForward=\"false\">ns=1;i=5036</Reference>\n      <Reference ReferenceType=\"ToState\" IsForward=\"false\">ns=1;i=5037</Reference>\n      <Reference ReferenceType=\"ToState\" IsForward=\"false\">ns=1;i=5038</Reference>\n      <Reference ReferenceType=\"ToState\" IsForward=\"false\">ns=1;i=5039</Reference>\n      <Reference ReferenceType=\"ToState\" IsForward=\"false\">ns=1;i=5040</Reference>\n      <Reference ReferenceType=\"ToState\" IsForward=\"false\">ns=1;i=5047</Reference>\n      <Reference ReferenceType=\"ToState\" IsForward=\"false\">ns=1;i=5048</Reference>\n      <Reference ReferenceType=\"FromState\" IsForward=\"false\">ns=1;i=5253</Reference>\n      <Reference ReferenceType=\"FromState\" IsForward=\"false\">ns=1;i=5254</Reference>\n    </References>\n  </UAObject>\n  <UAVariable NodeId=\"ns=1;i=6226\" BrowseName=\"StateNumber\" ParentNodeId=\"ns=1;i=5028\" DataType=\"UInt32\">\n    <DisplayName>StateNumber</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=5028</Reference>\n    </References>\n    <Value>\n      <uax:UInt32 xmlns:uax=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">1</uax:UInt32>\n    </Value>\n  </UAVariable>\n  <UAObject NodeId=\"ns=1;i=5012\" BrowseName=\"1:PreoperationalStepModel\" ParentNodeId=\"ns=1;i=1017\">\n    <DisplayName>PreoperationalStepModel</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=6063</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=80</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=1017</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=7011</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">ns=1;i=1026</Reference>\n      <Reference ReferenceType=\"HasSubStateMachine\" IsForward=\"false\">ns=1;i=5028</Reference>\n    </References>\n  </UAObject>\n  <UAVariable NodeId=\"ns=1;i=6063\" BrowseName=\"CurrentState\" ParentNodeId=\"ns=1;i=5012\" DataType=\"LocalizedText\">\n    <DisplayName>CurrentState</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=5012</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=2760</Reference>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=6064</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=6064\" BrowseName=\"Id\" ParentNodeId=\"ns=1;i=6063\" DataType=\"NodeId\">\n    <DisplayName>Id</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=6063</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n    </References>\n  </UAVariable>\n  <UAMethod NodeId=\"ns=1;i=7011\" BrowseName=\"1:Sync\" ParentNodeId=\"ns=1;i=5012\" MethodDeclarationId=\"ns=1;i=7101\">\n    <DisplayName>Sync</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=6061</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=6062</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=5012</Reference>\n    </References>\n  </UAMethod>\n  <UAVariable NodeId=\"ns=1;i=6061\" BrowseName=\"InputArguments\" ParentNodeId=\"ns=1;i=7011\" DataType=\"Argument\" ValueRank=\"1\" ArrayDimensions=\"2\">\n    <DisplayName>InputArguments</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=7011</Reference>\n    </References>\n    <Value>\n      <uax:ListOfExtensionObject xmlns:uax=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <uax:ExtensionObject>\n          <uax:TypeId>\n            <uax:Identifier>i=297</uax:Identifier>\n          </uax:TypeId>\n          <uax:Body>\n            <uax:Argument>\n              <uax:Name>Cause</uax:Name>\n              <uax:DataType>\n                <uax:Identifier>i=6</uax:Identifier>\n              </uax:DataType>\n              <uax:ValueRank>-1</uax:ValueRank>\n              <uax:ArrayDimensions />\n              <uax:Description />\n            </uax:Argument>\n          </uax:Body>\n        </uax:ExtensionObject>\n        <uax:ExtensionObject>\n          <uax:TypeId>\n            <uax:Identifier>i=297</uax:Identifier>\n          </uax:TypeId>\n          <uax:Body>\n            <uax:Argument>\n              <uax:Name>CauseDescription</uax:Name>\n              <uax:DataType>\n                <uax:Identifier>i=12</uax:Identifier>\n              </uax:DataType>\n              <uax:ValueRank>-1</uax:ValueRank>\n              <uax:ArrayDimensions />\n              <uax:Description />\n            </uax:Argument>\n          </uax:Body>\n        </uax:ExtensionObject>\n      </uax:ListOfExtensionObject>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=6062\" BrowseName=\"OutputArguments\" ParentNodeId=\"ns=1;i=7011\" DataType=\"Argument\" ValueRank=\"1\" ArrayDimensions=\"1\">\n    <DisplayName>OutputArguments</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=7011</Reference>\n    </References>\n    <Value>\n      <uax:ListOfExtensionObject xmlns:uax=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <uax:ExtensionObject>\n          <uax:TypeId>\n            <uax:Identifier>i=297</uax:Identifier>\n          </uax:TypeId>\n          <uax:Body>\n            <uax:Argument>\n              <uax:Name>Error</uax:Name>\n              <uax:DataType>\n                <uax:Identifier>i=6</uax:Identifier>\n              </uax:DataType>\n              <uax:ValueRank>-1</uax:ValueRank>\n              <uax:ArrayDimensions />\n              <uax:Description />\n            </uax:Argument>\n          </uax:Body>\n        </uax:ExtensionObject>\n      </uax:ListOfExtensionObject>\n    </Value>\n  </UAVariable>\n  <UAObject NodeId=\"ns=1;i=5034\" BrowseName=\"1:PreoperationalToErrorAuto\" ParentNodeId=\"ns=1;i=1017\">\n    <DisplayName>PreoperationalToErrorAuto</DisplayName>\n    <References>\n      <Reference ReferenceType=\"ToState\">ns=1;i=5030</Reference>\n      <Reference ReferenceType=\"HasEffect\">ns=1;i=1019</Reference>\n      <Reference ReferenceType=\"FromState\">ns=1;i=5028</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=1017</Reference>\n      <Reference ReferenceType=\"ToTransition\" IsForward=\"false\">ns=1;i=5028</Reference>\n      <Reference ReferenceType=\"FromTransition\" IsForward=\"false\">ns=1;i=5030</Reference>\n      <Reference ReferenceType=\"HasEffect\">ns=1;i=1018</Reference>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=6232</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=2310</Reference>\n    </References>\n  </UAObject>\n  <UAVariable NodeId=\"ns=1;i=6232\" BrowseName=\"TransitionNumber\" ParentNodeId=\"ns=1;i=5034\" DataType=\"UInt32\">\n    <DisplayName>TransitionNumber</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=5034</Reference>\n    </References>\n    <Value>\n      <uax:UInt32 xmlns:uax=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">130</uax:UInt32>\n    </Value>\n  </UAVariable>\n  <UAObject NodeId=\"ns=1;i=5032\" BrowseName=\"1:PreoperationalToHalted\" ParentNodeId=\"ns=1;i=1017\">\n    <DisplayName>PreoperationalToHalted</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasCause\">ns=1;i=7094</Reference>\n      <Reference ReferenceType=\"ToState\">ns=1;i=5029</Reference>\n      <Reference ReferenceType=\"FromState\">ns=1;i=5028</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=1017</Reference>\n      <Reference ReferenceType=\"ToTransition\" IsForward=\"false\">ns=1;i=5028</Reference>\n      <Reference ReferenceType=\"FromTransition\" IsForward=\"false\">ns=1;i=5029</Reference>\n      <Reference ReferenceType=\"HasEffect\">ns=1;i=1018</Reference>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=6230</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=2310</Reference>\n    </References>\n  </UAObject>\n  <UAVariable NodeId=\"ns=1;i=6230\" BrowseName=\"TransitionNumber\" ParentNodeId=\"ns=1;i=5032\" DataType=\"UInt32\">\n    <DisplayName>TransitionNumber</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=5032</Reference>\n    </References>\n    <Value>\n      <uax:UInt32 xmlns:uax=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">121</uax:UInt32>\n    </Value>\n  </UAVariable>\n  <UAObject NodeId=\"ns=1;i=5033\" BrowseName=\"1:PreoperationalToHaltedAuto\" ParentNodeId=\"ns=1;i=1017\">\n    <DisplayName>PreoperationalToHaltedAuto</DisplayName>\n    <References>\n      <Reference ReferenceType=\"ToState\">ns=1;i=5029</Reference>\n      <Reference ReferenceType=\"FromState\">ns=1;i=5028</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=1017</Reference>\n      <Reference ReferenceType=\"ToTransition\" IsForward=\"false\">ns=1;i=5028</Reference>\n      <Reference ReferenceType=\"FromTransition\" IsForward=\"false\">ns=1;i=5029</Reference>\n      <Reference ReferenceType=\"HasEffect\">ns=1;i=1018</Reference>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=6231</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=2310</Reference>\n    </References>\n  </UAObject>\n  <UAVariable NodeId=\"ns=1;i=6231\" BrowseName=\"TransitionNumber\" ParentNodeId=\"ns=1;i=5033\" DataType=\"UInt32\">\n    <DisplayName>TransitionNumber</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=5033</Reference>\n    </References>\n    <Value>\n      <uax:UInt32 xmlns:uax=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">120</uax:UInt32>\n    </Value>\n  </UAVariable>\n  <UAObject NodeId=\"ns=1;i=5035\" BrowseName=\"1:PreoperationalToInitialized\" ParentNodeId=\"ns=1;i=1017\">\n    <DisplayName>PreoperationalToInitialized</DisplayName>\n    <References>\n      <Reference ReferenceType=\"ToState\">ns=1;i=5056</Reference>\n      <Reference ReferenceType=\"FromState\">ns=1;i=5028</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=1017</Reference>\n      <Reference ReferenceType=\"ToTransition\" IsForward=\"false\">ns=1;i=5028</Reference>\n      <Reference ReferenceType=\"HasCause\">ns=1;i=7095</Reference>\n      <Reference ReferenceType=\"HasEffect\">ns=1;i=1018</Reference>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=6233</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=2310</Reference>\n    </References>\n  </UAObject>\n  <UAVariable NodeId=\"ns=1;i=6233\" BrowseName=\"TransitionNumber\" ParentNodeId=\"ns=1;i=5035\" DataType=\"UInt32\">\n    <DisplayName>TransitionNumber</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=5035</Reference>\n    </References>\n    <Value>\n      <uax:UInt32 xmlns:uax=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">151</uax:UInt32>\n    </Value>\n  </UAVariable>\n  <UAObject NodeId=\"ns=1;i=5036\" BrowseName=\"1:PreoperationalToInitializedAuto\" ParentNodeId=\"ns=1;i=1017\">\n    <DisplayName>PreoperationalToInitializedAuto</DisplayName>\n    <References>\n      <Reference ReferenceType=\"ToState\">ns=1;i=5056</Reference>\n      <Reference ReferenceType=\"FromState\">ns=1;i=5028</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=1017</Reference>\n      <Reference ReferenceType=\"ToTransition\" IsForward=\"false\">ns=1;i=5028</Reference>\n      <Reference ReferenceType=\"HasEffect\">ns=1;i=1018</Reference>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=6234</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=2310</Reference>\n    </References>\n  </UAObject>\n  <UAVariable NodeId=\"ns=1;i=6234\" BrowseName=\"TransitionNumber\" ParentNodeId=\"ns=1;i=5036\" DataType=\"UInt32\">\n    <DisplayName>TransitionNumber</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=5036</Reference>\n    </References>\n    <Value>\n      <uax:UInt32 xmlns:uax=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">150</uax:UInt32>\n    </Value>\n  </UAVariable>\n  <UAObject NodeId=\"ns=1;i=5253\" BrowseName=\"1:PreoperationalToOperational\" ParentNodeId=\"ns=1;i=1017\">\n    <DisplayName>PreoperationalToOperational</DisplayName>\n    <References>\n      <Reference ReferenceType=\"ToState\">ns=1;i=5031</Reference>\n      <Reference ReferenceType=\"FromState\">ns=1;i=5028</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=1017</Reference>\n      <Reference ReferenceType=\"ToTransition\" IsForward=\"false\">ns=1;i=5028</Reference>\n      <Reference ReferenceType=\"FromTransition\" IsForward=\"false\">ns=1;i=5031</Reference>\n      <Reference ReferenceType=\"HasCause\">ns=1;i=7095</Reference>\n      <Reference ReferenceType=\"HasEffect\">ns=1;i=1018</Reference>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=6171</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=2310</Reference>\n    </References>\n  </UAObject>\n  <UAVariable NodeId=\"ns=1;i=6171\" BrowseName=\"TransitionNumber\" ParentNodeId=\"ns=1;i=5253\" DataType=\"UInt32\">\n    <DisplayName>TransitionNumber</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=5253</Reference>\n    </References>\n    <Value>\n      <uax:UInt32 xmlns:uax=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">141</uax:UInt32>\n    </Value>\n  </UAVariable>\n  <UAObject NodeId=\"ns=1;i=5254\" BrowseName=\"1:PreoperationalToOperationalAuto\" ParentNodeId=\"ns=1;i=1017\">\n    <DisplayName>PreoperationalToOperationalAuto</DisplayName>\n    <References>\n      <Reference ReferenceType=\"ToState\">ns=1;i=5031</Reference>\n      <Reference ReferenceType=\"FromState\">ns=1;i=5028</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=1017</Reference>\n      <Reference ReferenceType=\"ToTransition\" IsForward=\"false\">ns=1;i=5028</Reference>\n      <Reference ReferenceType=\"FromTransition\" IsForward=\"false\">ns=1;i=5031</Reference>\n      <Reference ReferenceType=\"HasEffect\">ns=1;i=1018</Reference>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=6221</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=2310</Reference>\n    </References>\n  </UAObject>\n  <UAVariable NodeId=\"ns=1;i=6221\" BrowseName=\"TransitionNumber\" ParentNodeId=\"ns=1;i=5254\" DataType=\"UInt32\">\n    <DisplayName>TransitionNumber</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=5254</Reference>\n    </References>\n    <Value>\n      <uax:UInt32 xmlns:uax=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">140</uax:UInt32>\n    </Value>\n  </UAVariable>\n  <UAMethod NodeId=\"ns=1;i=7093\" BrowseName=\"1:Reset\" ParentNodeId=\"ns=1;i=1017\">\n    <DisplayName>Reset</DisplayName>\n    <Documentation>https://reference.opcfoundation.org/v104/MachineVision/v100/docs/8.2.8/#8.2.8.2</Documentation>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=6256</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=6257</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=1017</Reference>\n      <Reference ReferenceType=\"HasCause\" IsForward=\"false\">ns=1;i=5037</Reference>\n      <Reference ReferenceType=\"HasCause\" IsForward=\"false\">ns=1;i=5039</Reference>\n      <Reference ReferenceType=\"HasCause\" IsForward=\"false\">ns=1;i=5047</Reference>\n    </References>\n  </UAMethod>\n  <UAVariable NodeId=\"ns=1;i=6256\" BrowseName=\"InputArguments\" ParentNodeId=\"ns=1;i=7093\" DataType=\"Argument\" ValueRank=\"1\" ArrayDimensions=\"2\">\n    <DisplayName>InputArguments</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=7093</Reference>\n    </References>\n    <Value>\n      <uax:ListOfExtensionObject xmlns:uax=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <uax:ExtensionObject>\n          <uax:TypeId>\n            <uax:Identifier>i=297</uax:Identifier>\n          </uax:TypeId>\n          <uax:Body>\n            <uax:Argument>\n              <uax:Name>Cause</uax:Name>\n              <uax:DataType>\n                <uax:Identifier>i=6</uax:Identifier>\n              </uax:DataType>\n              <uax:ValueRank>-1</uax:ValueRank>\n              <uax:ArrayDimensions />\n              <uax:Description />\n            </uax:Argument>\n          </uax:Body>\n        </uax:ExtensionObject>\n        <uax:ExtensionObject>\n          <uax:TypeId>\n            <uax:Identifier>i=297</uax:Identifier>\n          </uax:TypeId>\n          <uax:Body>\n            <uax:Argument>\n              <uax:Name>CauseDescription</uax:Name>\n              <uax:DataType>\n                <uax:Identifier>i=12</uax:Identifier>\n              </uax:DataType>\n              <uax:ValueRank>-1</uax:ValueRank>\n              <uax:ArrayDimensions />\n              <uax:Description />\n            </uax:Argument>\n          </uax:Body>\n        </uax:ExtensionObject>\n      </uax:ListOfExtensionObject>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=6257\" BrowseName=\"OutputArguments\" ParentNodeId=\"ns=1;i=7093\" DataType=\"Argument\" ValueRank=\"1\" ArrayDimensions=\"1\">\n    <DisplayName>OutputArguments</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=7093</Reference>\n    </References>\n    <Value>\n      <uax:ListOfExtensionObject xmlns:uax=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <uax:ExtensionObject>\n          <uax:TypeId>\n            <uax:Identifier>i=297</uax:Identifier>\n          </uax:TypeId>\n          <uax:Body>\n            <uax:Argument>\n              <uax:Name>Error</uax:Name>\n              <uax:DataType>\n                <uax:Identifier>i=6</uax:Identifier>\n              </uax:DataType>\n              <uax:ValueRank>-1</uax:ValueRank>\n              <uax:ArrayDimensions />\n              <uax:Description />\n            </uax:Argument>\n          </uax:Body>\n        </uax:ExtensionObject>\n      </uax:ListOfExtensionObject>\n    </Value>\n  </UAVariable>\n  <UAMethod NodeId=\"ns=1;i=7095\" BrowseName=\"1:SelectModeAutomatic\" ParentNodeId=\"ns=1;i=1017\">\n    <DisplayName>SelectModeAutomatic</DisplayName>\n    <Documentation>https://reference.opcfoundation.org/v104/MachineVision/v100/docs/8.2.8/#8.2.8.3</Documentation>\n    <References>\n      <Reference ReferenceType=\"HasModellingRule\">i=80</Reference>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=6258</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=1017</Reference>\n      <Reference ReferenceType=\"HasCause\" IsForward=\"false\">ns=1;i=5035</Reference>\n      <Reference ReferenceType=\"HasCause\" IsForward=\"false\">ns=1;i=5253</Reference>\n    </References>\n  </UAMethod>\n  <UAVariable NodeId=\"ns=1;i=6258\" BrowseName=\"OutputArguments\" ParentNodeId=\"ns=1;i=7095\" DataType=\"Argument\" ValueRank=\"1\" ArrayDimensions=\"1\">\n    <DisplayName>OutputArguments</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=7095</Reference>\n    </References>\n    <Value>\n      <uax:ListOfExtensionObject xmlns:uax=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <uax:ExtensionObject>\n          <uax:TypeId>\n            <uax:Identifier>i=297</uax:Identifier>\n          </uax:TypeId>\n          <uax:Body>\n            <uax:Argument>\n              <uax:Name>Error</uax:Name>\n              <uax:DataType>\n                <uax:Identifier>i=6</uax:Identifier>\n              </uax:DataType>\n              <uax:ValueRank>-1</uax:ValueRank>\n              <uax:ArrayDimensions />\n              <uax:Description />\n            </uax:Argument>\n          </uax:Body>\n        </uax:ExtensionObject>\n      </uax:ListOfExtensionObject>\n    </Value>\n  </UAVariable>\n  <UAObjectType NodeId=\"ns=1;i=1026\" BrowseName=\"1:VisionStepModelStateMachineType\">\n    <DisplayName>VisionStepModelStateMachineType</DisplayName>\n    <Documentation>https://reference.opcfoundation.org/v104/MachineVision/v100/docs/8.4.3</Documentation>\n    <References>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=5078</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=5082</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=5083</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=5079</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=5081</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=5087</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=5086</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=7101</Reference>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=2771</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=5080</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=5084</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=5085</Reference>\n    </References>\n  </UAObjectType>\n  <UAObject NodeId=\"ns=1;i=5078\" BrowseName=\"1:Entry\" ParentNodeId=\"ns=1;i=1026\">\n    <DisplayName>Entry</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=1026</Reference>\n      <Reference ReferenceType=\"ToTransition\">ns=1;i=5082</Reference>\n      <Reference ReferenceType=\"ToTransition\">ns=1;i=5083</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=2309</Reference>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=6309</Reference>\n      <Reference ReferenceType=\"FromState\" IsForward=\"false\">ns=1;i=5082</Reference>\n      <Reference ReferenceType=\"FromState\" IsForward=\"false\">ns=1;i=5083</Reference>\n    </References>\n  </UAObject>\n  <UAVariable NodeId=\"ns=1;i=6309\" BrowseName=\"StateNumber\" ParentNodeId=\"ns=1;i=5078\" DataType=\"UInt32\">\n    <DisplayName>StateNumber</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=5078</Reference>\n    </References>\n    <Value>\n      <uax:UInt32 xmlns:uax=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">11</uax:UInt32>\n    </Value>\n  </UAVariable>\n  <UAObject NodeId=\"ns=1;i=5082\" BrowseName=\"1:EntryToExitAuto\" ParentNodeId=\"ns=1;i=1026\">\n    <DisplayName>EntryToExitAuto</DisplayName>\n    <References>\n      <Reference ReferenceType=\"FromState\">ns=1;i=5078</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=1026</Reference>\n      <Reference ReferenceType=\"ToTransition\" IsForward=\"false\">ns=1;i=5078</Reference>\n      <Reference ReferenceType=\"FromTransition\" IsForward=\"false\">ns=1;i=5079</Reference>\n      <Reference ReferenceType=\"ToState\">ns=1;i=5079</Reference>\n      <Reference ReferenceType=\"HasEffect\">ns=1;i=1018</Reference>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=6313</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=2310</Reference>\n    </References>\n  </UAObject>\n  <UAVariable NodeId=\"ns=1;i=6313\" BrowseName=\"TransitionNumber\" ParentNodeId=\"ns=1;i=5082\" DataType=\"UInt32\">\n    <DisplayName>TransitionNumber</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=5082</Reference>\n    </References>\n    <Value>\n      <uax:UInt32 xmlns:uax=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">11120</uax:UInt32>\n    </Value>\n  </UAVariable>\n  <UAObject NodeId=\"ns=1;i=5083\" BrowseName=\"1:EntryToWaitAuto\" ParentNodeId=\"ns=1;i=1026\">\n    <DisplayName>EntryToWaitAuto</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasEffect\">ns=1;i=1027</Reference>\n      <Reference ReferenceType=\"FromState\">ns=1;i=5078</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=1026</Reference>\n      <Reference ReferenceType=\"ToTransition\" IsForward=\"false\">ns=1;i=5078</Reference>\n      <Reference ReferenceType=\"FromTransition\" IsForward=\"false\">ns=1;i=5080</Reference>\n      <Reference ReferenceType=\"HasEffect\">ns=1;i=1018</Reference>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=6314</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=2310</Reference>\n      <Reference ReferenceType=\"ToState\">ns=1;i=5080</Reference>\n    </References>\n  </UAObject>\n  <UAVariable NodeId=\"ns=1;i=6314\" BrowseName=\"TransitionNumber\" ParentNodeId=\"ns=1;i=5083\" DataType=\"UInt32\">\n    <DisplayName>TransitionNumber</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=5083</Reference>\n    </References>\n    <Value>\n      <uax:UInt32 xmlns:uax=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">11130</uax:UInt32>\n    </Value>\n  </UAVariable>\n  <UAObject NodeId=\"ns=1;i=5079\" BrowseName=\"1:Exit\" ParentNodeId=\"ns=1;i=1026\">\n    <DisplayName>Exit</DisplayName>\n    <References>\n      <Reference ReferenceType=\"FromTransition\">ns=1;i=5082</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=1026</Reference>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=6310</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=2307</Reference>\n      <Reference ReferenceType=\"FromTransition\">ns=1;i=5087</Reference>\n      <Reference ReferenceType=\"ToState\" IsForward=\"false\">ns=1;i=5082</Reference>\n      <Reference ReferenceType=\"ToState\" IsForward=\"false\">ns=1;i=5087</Reference>\n    </References>\n  </UAObject>\n  <UAVariable NodeId=\"ns=1;i=6310\" BrowseName=\"StateNumber\" ParentNodeId=\"ns=1;i=5079\" DataType=\"UInt32\">\n    <DisplayName>StateNumber</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=5079</Reference>\n    </References>\n    <Value>\n      <uax:UInt32 xmlns:uax=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">12</uax:UInt32>\n    </Value>\n  </UAVariable>\n  <UAObject NodeId=\"ns=1;i=5081\" BrowseName=\"1:Step\" ParentNodeId=\"ns=1;i=1026\">\n    <DisplayName>Step</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=6312</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=2307</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=1026</Reference>\n      <Reference ReferenceType=\"ToTransition\">ns=1;i=5087</Reference>\n      <Reference ReferenceType=\"ToTransition\">ns=1;i=5086</Reference>\n      <Reference ReferenceType=\"FromTransition\">ns=1;i=5084</Reference>\n      <Reference ReferenceType=\"FromTransition\">ns=1;i=5085</Reference>\n      <Reference ReferenceType=\"ToState\" IsForward=\"false\">ns=1;i=5084</Reference>\n      <Reference ReferenceType=\"ToState\" IsForward=\"false\">ns=1;i=5085</Reference>\n      <Reference ReferenceType=\"FromState\" IsForward=\"false\">ns=1;i=5086</Reference>\n      <Reference ReferenceType=\"FromState\" IsForward=\"false\">ns=1;i=5087</Reference>\n    </References>\n  </UAObject>\n  <UAVariable NodeId=\"ns=1;i=6312\" BrowseName=\"StateNumber\" ParentNodeId=\"ns=1;i=5081\" DataType=\"UInt32\">\n    <DisplayName>StateNumber</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=5081</Reference>\n    </References>\n    <Value>\n      <uax:UInt32 xmlns:uax=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">14</uax:UInt32>\n    </Value>\n  </UAVariable>\n  <UAObject NodeId=\"ns=1;i=5087\" BrowseName=\"1:StepToExitAuto\" ParentNodeId=\"ns=1;i=1026\">\n    <DisplayName>StepToExitAuto</DisplayName>\n    <References>\n      <Reference ReferenceType=\"ToState\">ns=1;i=5079</Reference>\n      <Reference ReferenceType=\"HasEffect\">ns=1;i=1029</Reference>\n      <Reference ReferenceType=\"HasEffect\">ns=1;i=1018</Reference>\n      <Reference ReferenceType=\"FromState\">ns=1;i=5081</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=1026</Reference>\n      <Reference ReferenceType=\"FromTransition\" IsForward=\"false\">ns=1;i=5079</Reference>\n      <Reference ReferenceType=\"ToTransition\" IsForward=\"false\">ns=1;i=5081</Reference>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=6318</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=2310</Reference>\n    </References>\n  </UAObject>\n  <UAVariable NodeId=\"ns=1;i=6318\" BrowseName=\"TransitionNumber\" ParentNodeId=\"ns=1;i=5087\" DataType=\"UInt32\">\n    <DisplayName>TransitionNumber</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=5087</Reference>\n    </References>\n    <Value>\n      <uax:UInt32 xmlns:uax=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">14120</uax:UInt32>\n    </Value>\n  </UAVariable>\n  <UAObject NodeId=\"ns=1;i=5086\" BrowseName=\"1:StepToWaitAuto\" ParentNodeId=\"ns=1;i=1026\">\n    <DisplayName>StepToWaitAuto</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasEffect\">ns=1;i=1028</Reference>\n      <Reference ReferenceType=\"HasEffect\">ns=1;i=1018</Reference>\n      <Reference ReferenceType=\"FromState\">ns=1;i=5081</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=1026</Reference>\n      <Reference ReferenceType=\"FromTransition\" IsForward=\"false\">ns=1;i=5080</Reference>\n      <Reference ReferenceType=\"ToTransition\" IsForward=\"false\">ns=1;i=5081</Reference>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=6317</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=2310</Reference>\n      <Reference ReferenceType=\"ToState\">ns=1;i=5080</Reference>\n    </References>\n  </UAObject>\n  <UAVariable NodeId=\"ns=1;i=6317\" BrowseName=\"TransitionNumber\" ParentNodeId=\"ns=1;i=5086\" DataType=\"UInt32\">\n    <DisplayName>TransitionNumber</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=5086</Reference>\n    </References>\n    <Value>\n      <uax:UInt32 xmlns:uax=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">14130</uax:UInt32>\n    </Value>\n  </UAVariable>\n  <UAMethod NodeId=\"ns=1;i=7101\" BrowseName=\"1:Sync\" ParentNodeId=\"ns=1;i=1026\">\n    <DisplayName>Sync</DisplayName>\n    <Documentation>https://reference.opcfoundation.org/v104/MachineVision/v100/docs/8.4.6/#8.4.6.1</Documentation>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=6319</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=6320</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=1026</Reference>\n      <Reference ReferenceType=\"HasCause\" IsForward=\"false\">ns=1;i=5084</Reference>\n    </References>\n  </UAMethod>\n  <UAVariable NodeId=\"ns=1;i=6319\" BrowseName=\"InputArguments\" ParentNodeId=\"ns=1;i=7101\" DataType=\"Argument\" ValueRank=\"1\" ArrayDimensions=\"2\">\n    <DisplayName>InputArguments</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=7101</Reference>\n    </References>\n    <Value>\n      <uax:ListOfExtensionObject xmlns:uax=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <uax:ExtensionObject>\n          <uax:TypeId>\n            <uax:Identifier>i=297</uax:Identifier>\n          </uax:TypeId>\n          <uax:Body>\n            <uax:Argument>\n              <uax:Name>Cause</uax:Name>\n              <uax:DataType>\n                <uax:Identifier>i=6</uax:Identifier>\n              </uax:DataType>\n              <uax:ValueRank>-1</uax:ValueRank>\n              <uax:ArrayDimensions />\n              <uax:Description />\n            </uax:Argument>\n          </uax:Body>\n        </uax:ExtensionObject>\n        <uax:ExtensionObject>\n          <uax:TypeId>\n            <uax:Identifier>i=297</uax:Identifier>\n          </uax:TypeId>\n          <uax:Body>\n            <uax:Argument>\n              <uax:Name>CauseDescription</uax:Name>\n              <uax:DataType>\n                <uax:Identifier>i=12</uax:Identifier>\n              </uax:DataType>\n              <uax:ValueRank>-1</uax:ValueRank>\n              <uax:ArrayDimensions />\n              <uax:Description />\n            </uax:Argument>\n          </uax:Body>\n        </uax:ExtensionObject>\n      </uax:ListOfExtensionObject>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=6320\" BrowseName=\"OutputArguments\" ParentNodeId=\"ns=1;i=7101\" DataType=\"Argument\" ValueRank=\"1\" ArrayDimensions=\"1\">\n    <DisplayName>OutputArguments</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=7101</Reference>\n    </References>\n    <Value>\n      <uax:ListOfExtensionObject xmlns:uax=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <uax:ExtensionObject>\n          <uax:TypeId>\n            <uax:Identifier>i=297</uax:Identifier>\n          </uax:TypeId>\n          <uax:Body>\n            <uax:Argument>\n              <uax:Name>Error</uax:Name>\n              <uax:DataType>\n                <uax:Identifier>i=6</uax:Identifier>\n              </uax:DataType>\n              <uax:ValueRank>-1</uax:ValueRank>\n              <uax:ArrayDimensions />\n              <uax:Description />\n            </uax:Argument>\n          </uax:Body>\n        </uax:ExtensionObject>\n      </uax:ListOfExtensionObject>\n    </Value>\n  </UAVariable>\n  <UAObject NodeId=\"ns=1;i=5080\" BrowseName=\"1:Wait\" ParentNodeId=\"ns=1;i=1026\">\n    <DisplayName>Wait</DisplayName>\n    <References>\n      <Reference ReferenceType=\"FromTransition\">ns=1;i=5083</Reference>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=6311</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=2307</Reference>\n      <Reference ReferenceType=\"FromTransition\">ns=1;i=5086</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=1026</Reference>\n      <Reference ReferenceType=\"ToTransition\">ns=1;i=5084</Reference>\n      <Reference ReferenceType=\"ToTransition\">ns=1;i=5085</Reference>\n      <Reference ReferenceType=\"ToState\" IsForward=\"false\">ns=1;i=5083</Reference>\n      <Reference ReferenceType=\"FromState\" IsForward=\"false\">ns=1;i=5084</Reference>\n      <Reference ReferenceType=\"FromState\" IsForward=\"false\">ns=1;i=5085</Reference>\n      <Reference ReferenceType=\"ToState\" IsForward=\"false\">ns=1;i=5086</Reference>\n    </References>\n  </UAObject>\n  <UAVariable NodeId=\"ns=1;i=6311\" BrowseName=\"StateNumber\" ParentNodeId=\"ns=1;i=5080\" DataType=\"UInt32\">\n    <DisplayName>StateNumber</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=5080</Reference>\n    </References>\n    <Value>\n      <uax:UInt32 xmlns:uax=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">13</uax:UInt32>\n    </Value>\n  </UAVariable>\n  <UAObject NodeId=\"ns=1;i=5084\" BrowseName=\"1:WaitToStep\" ParentNodeId=\"ns=1;i=1026\">\n    <DisplayName>WaitToStep</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasEffect\">ns=1;i=1018</Reference>\n      <Reference ReferenceType=\"ToState\">ns=1;i=5081</Reference>\n      <Reference ReferenceType=\"HasCause\">ns=1;i=7101</Reference>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=6315</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=2310</Reference>\n      <Reference ReferenceType=\"FromState\">ns=1;i=5080</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=1026</Reference>\n      <Reference ReferenceType=\"ToTransition\" IsForward=\"false\">ns=1;i=5080</Reference>\n      <Reference ReferenceType=\"FromTransition\" IsForward=\"false\">ns=1;i=5081</Reference>\n    </References>\n  </UAObject>\n  <UAVariable NodeId=\"ns=1;i=6315\" BrowseName=\"TransitionNumber\" ParentNodeId=\"ns=1;i=5084\" DataType=\"UInt32\">\n    <DisplayName>TransitionNumber</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=5084</Reference>\n    </References>\n    <Value>\n      <uax:UInt32 xmlns:uax=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">13141</uax:UInt32>\n    </Value>\n  </UAVariable>\n  <UAObject NodeId=\"ns=1;i=5085\" BrowseName=\"1:WaitToStepAuto\" ParentNodeId=\"ns=1;i=1026\">\n    <DisplayName>WaitToStepAuto</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasEffect\">ns=1;i=1018</Reference>\n      <Reference ReferenceType=\"ToState\">ns=1;i=5081</Reference>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=6316</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=2310</Reference>\n      <Reference ReferenceType=\"FromState\">ns=1;i=5080</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=1026</Reference>\n      <Reference ReferenceType=\"ToTransition\" IsForward=\"false\">ns=1;i=5080</Reference>\n      <Reference ReferenceType=\"FromTransition\" IsForward=\"false\">ns=1;i=5081</Reference>\n    </References>\n  </UAObject>\n  <UAVariable NodeId=\"ns=1;i=6316\" BrowseName=\"TransitionNumber\" ParentNodeId=\"ns=1;i=5085\" DataType=\"UInt32\">\n    <DisplayName>TransitionNumber</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=5085</Reference>\n    </References>\n    <Value>\n      <uax:UInt32 xmlns:uax=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">13140</uax:UInt32>\n    </Value>\n  </UAVariable>\n  <UAObjectType NodeId=\"ns=1;i=1012\" BrowseName=\"1:ConfigurationTransferType\">\n    <DisplayName>ConfigurationTransferType</DisplayName>\n    <Documentation>https://reference.opcfoundation.org/v104/MachineVision/v100/docs/7.4.1</Documentation>\n    <References>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=15744</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=7129</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=7130</Reference>\n    </References>\n  </UAObjectType>\n  <UAMethod NodeId=\"ns=1;i=7129\" BrowseName=\"GenerateFileForRead\" ParentNodeId=\"ns=1;i=1012\">\n    <DisplayName>GenerateFileForRead</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=1012</Reference>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=6617</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=6618</Reference>\n    </References>\n  </UAMethod>\n  <UAVariable NodeId=\"ns=1;i=6617\" BrowseName=\"InputArguments\" ParentNodeId=\"ns=1;i=7129\" DataType=\"Argument\" ValueRank=\"1\" ArrayDimensions=\"1\">\n    <DisplayName>InputArguments</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=7129</Reference>\n    </References>\n    <Value>\n      <uax:ListOfExtensionObject xmlns:uax=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <uax:ExtensionObject>\n          <uax:TypeId>\n            <uax:Identifier>i=297</uax:Identifier>\n          </uax:TypeId>\n          <uax:Body>\n            <uax:Argument>\n              <uax:Name>GenerateOptions</uax:Name>\n              <uax:DataType>\n                <uax:Identifier>ns=1;i=3011</uax:Identifier>\n              </uax:DataType>\n              <uax:ValueRank>-1</uax:ValueRank>\n              <uax:ArrayDimensions />\n              <uax:Description />\n            </uax:Argument>\n          </uax:Body>\n        </uax:ExtensionObject>\n      </uax:ListOfExtensionObject>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=6618\" BrowseName=\"OutputArguments\" ParentNodeId=\"ns=1;i=7129\" DataType=\"Argument\" ValueRank=\"1\" ArrayDimensions=\"3\">\n    <DisplayName>OutputArguments</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=7129</Reference>\n    </References>\n    <Value>\n      <uax:ListOfExtensionObject xmlns:uax=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <uax:ExtensionObject>\n          <uax:TypeId>\n            <uax:Identifier>i=297</uax:Identifier>\n          </uax:TypeId>\n          <uax:Body>\n            <uax:Argument>\n              <uax:Name>FileNodeId</uax:Name>\n              <uax:DataType>\n                <uax:Identifier>i=17</uax:Identifier>\n              </uax:DataType>\n              <uax:ValueRank>-1</uax:ValueRank>\n              <uax:ArrayDimensions />\n              <uax:Description />\n            </uax:Argument>\n          </uax:Body>\n        </uax:ExtensionObject>\n        <uax:ExtensionObject>\n          <uax:TypeId>\n            <uax:Identifier>i=297</uax:Identifier>\n          </uax:TypeId>\n          <uax:Body>\n            <uax:Argument>\n              <uax:Name>FileHandle</uax:Name>\n              <uax:DataType>\n                <uax:Identifier>i=7</uax:Identifier>\n              </uax:DataType>\n              <uax:ValueRank>-1</uax:ValueRank>\n              <uax:ArrayDimensions />\n              <uax:Description />\n            </uax:Argument>\n          </uax:Body>\n        </uax:ExtensionObject>\n        <uax:ExtensionObject>\n          <uax:TypeId>\n            <uax:Identifier>i=297</uax:Identifier>\n          </uax:TypeId>\n          <uax:Body>\n            <uax:Argument>\n              <uax:Name>CompletionStateMachine</uax:Name>\n              <uax:DataType>\n                <uax:Identifier>i=17</uax:Identifier>\n              </uax:DataType>\n              <uax:ValueRank>-1</uax:ValueRank>\n              <uax:ArrayDimensions />\n              <uax:Description />\n            </uax:Argument>\n          </uax:Body>\n        </uax:ExtensionObject>\n      </uax:ListOfExtensionObject>\n    </Value>\n  </UAVariable>\n  <UAMethod NodeId=\"ns=1;i=7130\" BrowseName=\"GenerateFileForWrite\" ParentNodeId=\"ns=1;i=1012\">\n    <DisplayName>GenerateFileForWrite</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=1012</Reference>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=6121</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=6122</Reference>\n    </References>\n  </UAMethod>\n  <UAVariable NodeId=\"ns=1;i=6121\" BrowseName=\"InputArguments\" ParentNodeId=\"ns=1;i=7130\" DataType=\"Argument\" ValueRank=\"1\" ArrayDimensions=\"1\">\n    <DisplayName>InputArguments</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=7130</Reference>\n    </References>\n    <Value>\n      <uax:ListOfExtensionObject xmlns:uax=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <uax:ExtensionObject>\n          <uax:TypeId>\n            <uax:Identifier>i=297</uax:Identifier>\n          </uax:TypeId>\n          <uax:Body>\n            <uax:Argument>\n              <uax:Name>GenerateOptions</uax:Name>\n              <uax:DataType>\n                <uax:Identifier>ns=1;i=3011</uax:Identifier>\n              </uax:DataType>\n              <uax:ValueRank>-1</uax:ValueRank>\n              <uax:ArrayDimensions />\n              <uax:Description />\n            </uax:Argument>\n          </uax:Body>\n        </uax:ExtensionObject>\n      </uax:ListOfExtensionObject>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=6122\" BrowseName=\"OutputArguments\" ParentNodeId=\"ns=1;i=7130\" DataType=\"Argument\" ValueRank=\"1\" ArrayDimensions=\"2\">\n    <DisplayName>OutputArguments</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=7130</Reference>\n    </References>\n    <Value>\n      <uax:ListOfExtensionObject xmlns:uax=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <uax:ExtensionObject>\n          <uax:TypeId>\n            <uax:Identifier>i=297</uax:Identifier>\n          </uax:TypeId>\n          <uax:Body>\n            <uax:Argument>\n              <uax:Name>FileNodeId</uax:Name>\n              <uax:DataType>\n                <uax:Identifier>i=17</uax:Identifier>\n              </uax:DataType>\n              <uax:ValueRank>-1</uax:ValueRank>\n              <uax:ArrayDimensions />\n              <uax:Description />\n            </uax:Argument>\n          </uax:Body>\n        </uax:ExtensionObject>\n        <uax:ExtensionObject>\n          <uax:TypeId>\n            <uax:Identifier>i=297</uax:Identifier>\n          </uax:TypeId>\n          <uax:Body>\n            <uax:Argument>\n              <uax:Name>FileHandle</uax:Name>\n              <uax:DataType>\n                <uax:Identifier>i=7</uax:Identifier>\n              </uax:DataType>\n              <uax:ValueRank>-1</uax:ValueRank>\n              <uax:ArrayDimensions />\n              <uax:Description />\n            </uax:Argument>\n          </uax:Body>\n        </uax:ExtensionObject>\n      </uax:ListOfExtensionObject>\n    </Value>\n  </UAVariable>\n  <UAObjectType NodeId=\"ns=1;i=1014\" BrowseName=\"1:RecipeTransferType\">\n    <DisplayName>RecipeTransferType</DisplayName>\n    <Documentation>https://reference.opcfoundation.org/v104/MachineVision/v100/docs/7.6.1</Documentation>\n    <References>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=7123</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=7124</Reference>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=15744</Reference>\n    </References>\n  </UAObjectType>\n  <UAMethod NodeId=\"ns=1;i=7123\" BrowseName=\"GenerateFileForRead\" ParentNodeId=\"ns=1;i=1014\">\n    <DisplayName>GenerateFileForRead</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=1014</Reference>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=6184</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=6185</Reference>\n    </References>\n  </UAMethod>\n  <UAVariable NodeId=\"ns=1;i=6184\" BrowseName=\"InputArguments\" ParentNodeId=\"ns=1;i=7123\" DataType=\"Argument\" ValueRank=\"1\" ArrayDimensions=\"1\">\n    <DisplayName>InputArguments</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=7123</Reference>\n    </References>\n    <Value>\n      <uax:ListOfExtensionObject xmlns:uax=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <uax:ExtensionObject>\n          <uax:TypeId>\n            <uax:Identifier>i=297</uax:Identifier>\n          </uax:TypeId>\n          <uax:Body>\n            <uax:Argument>\n              <uax:Name>generateOptions</uax:Name>\n              <uax:DataType>\n                <uax:Identifier>ns=1;i=3012</uax:Identifier>\n              </uax:DataType>\n              <uax:ValueRank>-1</uax:ValueRank>\n              <uax:ArrayDimensions />\n              <uax:Description />\n            </uax:Argument>\n          </uax:Body>\n        </uax:ExtensionObject>\n      </uax:ListOfExtensionObject>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=6185\" BrowseName=\"OutputArguments\" ParentNodeId=\"ns=1;i=7123\" DataType=\"Argument\" ValueRank=\"1\" ArrayDimensions=\"3\">\n    <DisplayName>OutputArguments</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=7123</Reference>\n    </References>\n    <Value>\n      <uax:ListOfExtensionObject xmlns:uax=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <uax:ExtensionObject>\n          <uax:TypeId>\n            <uax:Identifier>i=297</uax:Identifier>\n          </uax:TypeId>\n          <uax:Body>\n            <uax:Argument>\n              <uax:Name>fileNodeId</uax:Name>\n              <uax:DataType>\n                <uax:Identifier>i=17</uax:Identifier>\n              </uax:DataType>\n              <uax:ValueRank>-1</uax:ValueRank>\n              <uax:ArrayDimensions />\n              <uax:Description />\n            </uax:Argument>\n          </uax:Body>\n        </uax:ExtensionObject>\n        <uax:ExtensionObject>\n          <uax:TypeId>\n            <uax:Identifier>i=297</uax:Identifier>\n          </uax:TypeId>\n          <uax:Body>\n            <uax:Argument>\n              <uax:Name>fileHandle</uax:Name>\n              <uax:DataType>\n                <uax:Identifier>i=7</uax:Identifier>\n              </uax:DataType>\n              <uax:ValueRank>-1</uax:ValueRank>\n              <uax:ArrayDimensions />\n              <uax:Description />\n            </uax:Argument>\n          </uax:Body>\n        </uax:ExtensionObject>\n        <uax:ExtensionObject>\n          <uax:TypeId>\n            <uax:Identifier>i=297</uax:Identifier>\n          </uax:TypeId>\n          <uax:Body>\n            <uax:Argument>\n              <uax:Name>completionStateMachine</uax:Name>\n              <uax:DataType>\n                <uax:Identifier>i=17</uax:Identifier>\n              </uax:DataType>\n              <uax:ValueRank>-1</uax:ValueRank>\n              <uax:ArrayDimensions />\n              <uax:Description />\n            </uax:Argument>\n          </uax:Body>\n        </uax:ExtensionObject>\n      </uax:ListOfExtensionObject>\n    </Value>\n  </UAVariable>\n  <UAMethod NodeId=\"ns=1;i=7124\" BrowseName=\"GenerateFileForWrite\" ParentNodeId=\"ns=1;i=1014\">\n    <DisplayName>GenerateFileForWrite</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=1014</Reference>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=6583</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=6584</Reference>\n    </References>\n  </UAMethod>\n  <UAVariable NodeId=\"ns=1;i=6583\" BrowseName=\"InputArguments\" ParentNodeId=\"ns=1;i=7124\" DataType=\"Argument\" ValueRank=\"1\" ArrayDimensions=\"1\">\n    <DisplayName>InputArguments</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=7124</Reference>\n    </References>\n    <Value>\n      <uax:ListOfExtensionObject xmlns:uax=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <uax:ExtensionObject>\n          <uax:TypeId>\n            <uax:Identifier>i=297</uax:Identifier>\n          </uax:TypeId>\n          <uax:Body>\n            <uax:Argument>\n              <uax:Name>GenerateOptions</uax:Name>\n              <uax:DataType>\n                <uax:Identifier>ns=1;i=3012</uax:Identifier>\n              </uax:DataType>\n              <uax:ValueRank>-1</uax:ValueRank>\n              <uax:ArrayDimensions />\n              <uax:Description />\n            </uax:Argument>\n          </uax:Body>\n        </uax:ExtensionObject>\n      </uax:ListOfExtensionObject>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=6584\" BrowseName=\"OutputArguments\" ParentNodeId=\"ns=1;i=7124\" DataType=\"Argument\" ValueRank=\"1\" ArrayDimensions=\"2\">\n    <DisplayName>OutputArguments</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=7124</Reference>\n    </References>\n    <Value>\n      <uax:ListOfExtensionObject xmlns:uax=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <uax:ExtensionObject>\n          <uax:TypeId>\n            <uax:Identifier>i=297</uax:Identifier>\n          </uax:TypeId>\n          <uax:Body>\n            <uax:Argument>\n              <uax:Name>FileNodeId</uax:Name>\n              <uax:DataType>\n                <uax:Identifier>i=17</uax:Identifier>\n              </uax:DataType>\n              <uax:ValueRank>-1</uax:ValueRank>\n              <uax:ArrayDimensions />\n              <uax:Description />\n            </uax:Argument>\n          </uax:Body>\n        </uax:ExtensionObject>\n        <uax:ExtensionObject>\n          <uax:TypeId>\n            <uax:Identifier>i=297</uax:Identifier>\n          </uax:TypeId>\n          <uax:Body>\n            <uax:Argument>\n              <uax:Name>FileHandle</uax:Name>\n              <uax:DataType>\n                <uax:Identifier>i=7</uax:Identifier>\n              </uax:DataType>\n              <uax:ValueRank>-1</uax:ValueRank>\n              <uax:ArrayDimensions />\n              <uax:Description />\n            </uax:Argument>\n          </uax:Body>\n        </uax:ExtensionObject>\n      </uax:ListOfExtensionObject>\n    </Value>\n  </UAVariable>\n  <UAObjectType NodeId=\"ns=1;i=1039\" BrowseName=\"1:ResultTransferType\">\n    <DisplayName>ResultTransferType</DisplayName>\n    <Documentation>https://reference.opcfoundation.org/v104/MachineVision/v100/docs/7.12.1</Documentation>\n    <References>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=7058</Reference>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=15744</Reference>\n    </References>\n  </UAObjectType>\n  <UAMethod NodeId=\"ns=1;i=7058\" BrowseName=\"GenerateFileForRead\" ParentNodeId=\"ns=1;i=1039\">\n    <DisplayName>GenerateFileForRead</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=1039</Reference>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=6169</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=6170</Reference>\n    </References>\n  </UAMethod>\n  <UAVariable NodeId=\"ns=1;i=6169\" BrowseName=\"InputArguments\" ParentNodeId=\"ns=1;i=7058\" DataType=\"Argument\" ValueRank=\"1\" ArrayDimensions=\"1\">\n    <DisplayName>InputArguments</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=7058</Reference>\n    </References>\n    <Value>\n      <uax:ListOfExtensionObject xmlns:uax=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <uax:ExtensionObject>\n          <uax:TypeId>\n            <uax:Identifier>i=297</uax:Identifier>\n          </uax:TypeId>\n          <uax:Body>\n            <uax:Argument>\n              <uax:Name>GenerateOptions</uax:Name>\n              <uax:DataType>\n                <uax:Identifier>ns=1;i=3022</uax:Identifier>\n              </uax:DataType>\n              <uax:ValueRank>-1</uax:ValueRank>\n              <uax:ArrayDimensions />\n              <uax:Description />\n            </uax:Argument>\n          </uax:Body>\n        </uax:ExtensionObject>\n      </uax:ListOfExtensionObject>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=6170\" BrowseName=\"OutputArguments\" ParentNodeId=\"ns=1;i=7058\" DataType=\"Argument\" ValueRank=\"1\" ArrayDimensions=\"3\">\n    <DisplayName>OutputArguments</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=7058</Reference>\n    </References>\n    <Value>\n      <uax:ListOfExtensionObject xmlns:uax=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <uax:ExtensionObject>\n          <uax:TypeId>\n            <uax:Identifier>i=297</uax:Identifier>\n          </uax:TypeId>\n          <uax:Body>\n            <uax:Argument>\n              <uax:Name>FileNodeId</uax:Name>\n              <uax:DataType>\n                <uax:Identifier>i=17</uax:Identifier>\n              </uax:DataType>\n              <uax:ValueRank>-1</uax:ValueRank>\n              <uax:ArrayDimensions />\n              <uax:Description />\n            </uax:Argument>\n          </uax:Body>\n        </uax:ExtensionObject>\n        <uax:ExtensionObject>\n          <uax:TypeId>\n            <uax:Identifier>i=297</uax:Identifier>\n          </uax:TypeId>\n          <uax:Body>\n            <uax:Argument>\n              <uax:Name>FileHandle</uax:Name>\n              <uax:DataType>\n                <uax:Identifier>i=7</uax:Identifier>\n              </uax:DataType>\n              <uax:ValueRank>-1</uax:ValueRank>\n              <uax:ArrayDimensions />\n              <uax:Description />\n            </uax:Argument>\n          </uax:Body>\n        </uax:ExtensionObject>\n        <uax:ExtensionObject>\n          <uax:TypeId>\n            <uax:Identifier>i=297</uax:Identifier>\n          </uax:TypeId>\n          <uax:Body>\n            <uax:Argument>\n              <uax:Name>CompletionStateMachine</uax:Name>\n              <uax:DataType>\n                <uax:Identifier>i=17</uax:Identifier>\n              </uax:DataType>\n              <uax:ValueRank>-1</uax:ValueRank>\n              <uax:ArrayDimensions />\n              <uax:Description />\n            </uax:Argument>\n          </uax:Body>\n        </uax:ExtensionObject>\n      </uax:ListOfExtensionObject>\n    </Value>\n  </UAVariable>\n  <UAObjectType NodeId=\"ns=1;i=1003\" BrowseName=\"1:VisionSystemType\">\n    <DisplayName>VisionSystemType</DisplayName>\n    <Documentation>https://reference.opcfoundation.org/v104/MachineVision/v100/docs/7.1</Documentation>\n    <References>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=5004</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=6048</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=5015</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=5020</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=5023</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=6049</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=5053</Reference>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=58</Reference>\n    </References>\n  </UAObjectType>\n  <UAObject NodeId=\"ns=1;i=5004\" BrowseName=\"1:ConfigurationManagement\" ParentNodeId=\"ns=1;i=1003\">\n    <DisplayName>ConfigurationManagement</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=7008</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=6043</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=7054</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=1003</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">ns=1;i=1006</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=5094</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=5093</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=7016</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=7017</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=80</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=7072</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=7073</Reference>\n    </References>\n  </UAObject>\n  <UAMethod NodeId=\"ns=1;i=7008\" BrowseName=\"1:ActivateConfiguration\" ParentNodeId=\"ns=1;i=5004\" MethodDeclarationId=\"ns=1;i=7048\">\n    <DisplayName>ActivateConfiguration</DisplayName>\n    <Documentation>https://reference.opcfoundation.org/v104/MachineVision/v100/docs/7.2.2/#7.2.2.6</Documentation>\n    <References>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=5004</Reference>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=6026</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=6027</Reference>\n    </References>\n  </UAMethod>\n  <UAVariable NodeId=\"ns=1;i=6026\" BrowseName=\"InputArguments\" ParentNodeId=\"ns=1;i=7008\" DataType=\"Argument\" ValueRank=\"1\" ArrayDimensions=\"1\">\n    <DisplayName>InputArguments</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=7008</Reference>\n    </References>\n    <Value>\n      <uax:ListOfExtensionObject xmlns:uax=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <uax:ExtensionObject>\n          <uax:TypeId>\n            <uax:Identifier>i=297</uax:Identifier>\n          </uax:TypeId>\n          <uax:Body>\n            <uax:Argument>\n              <uax:Name>InternalId</uax:Name>\n              <uax:DataType>\n                <uax:Identifier>ns=1;i=3008</uax:Identifier>\n              </uax:DataType>\n              <uax:ValueRank>-1</uax:ValueRank>\n              <uax:ArrayDimensions />\n              <uax:Description />\n            </uax:Argument>\n          </uax:Body>\n        </uax:ExtensionObject>\n      </uax:ListOfExtensionObject>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=6027\" BrowseName=\"OutputArguments\" ParentNodeId=\"ns=1;i=7008\" DataType=\"Argument\" ValueRank=\"1\" ArrayDimensions=\"1\">\n    <DisplayName>OutputArguments</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=7008</Reference>\n    </References>\n    <Value>\n      <uax:ListOfExtensionObject xmlns:uax=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <uax:ExtensionObject>\n          <uax:TypeId>\n            <uax:Identifier>i=297</uax:Identifier>\n          </uax:TypeId>\n          <uax:Body>\n            <uax:Argument>\n              <uax:Name>Error</uax:Name>\n              <uax:DataType>\n                <uax:Identifier>i=6</uax:Identifier>\n              </uax:DataType>\n              <uax:ValueRank>-1</uax:ValueRank>\n              <uax:ArrayDimensions />\n              <uax:Description />\n            </uax:Argument>\n          </uax:Body>\n        </uax:ExtensionObject>\n      </uax:ListOfExtensionObject>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=6043\" BrowseName=\"1:ActiveConfiguration\" ParentNodeId=\"ns=1;i=5004\" DataType=\"ConfigurationDataType\" AccessLevel=\"3\">\n    <DisplayName>ActiveConfiguration</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=5004</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=63</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n    </References>\n    <Value>\n      <uax:ExtensionObject xmlns:uax=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <uax:TypeId>\n          <uax:Identifier>ns=1;i=5089</uax:Identifier>\n        </uax:TypeId>\n        <uax:Body>\n          <ConfigurationDataType xmlns=\"http://opcfoundation.org/UA/MachineVision/Types.xsd\">\n            <EncodingMask>0</EncodingMask>\n            <InternalId>\n              <Id>\n              </Id>\n            </InternalId>\n            <LastModified>1900-01-01T00:00:00Z</LastModified>\n          </ConfigurationDataType>\n        </uax:Body>\n      </uax:ExtensionObject>\n    </Value>\n  </UAVariable>\n  <UAMethod NodeId=\"ns=1;i=7054\" BrowseName=\"1:AddConfiguration\" ParentNodeId=\"ns=1;i=5004\" MethodDeclarationId=\"ns=1;i=7025\">\n    <DisplayName>AddConfiguration</DisplayName>\n    <Documentation>https://reference.opcfoundation.org/v104/MachineVision/v100/docs/7.2.2/#7.2.2.1.1</Documentation>\n    <References>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=5004</Reference>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=6342</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=80</Reference>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=6348</Reference>\n    </References>\n  </UAMethod>\n  <UAVariable NodeId=\"ns=1;i=6342\" BrowseName=\"InputArguments\" ParentNodeId=\"ns=1;i=7054\" DataType=\"Argument\" ValueRank=\"1\" ArrayDimensions=\"1\">\n    <DisplayName>InputArguments</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=7054</Reference>\n    </References>\n    <Value>\n      <uax:ListOfExtensionObject xmlns:uax=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <uax:ExtensionObject>\n          <uax:TypeId>\n            <uax:Identifier>i=297</uax:Identifier>\n          </uax:TypeId>\n          <uax:Body>\n            <uax:Argument>\n              <uax:Name>ExternalId</uax:Name>\n              <uax:DataType>\n                <uax:Identifier>ns=1;i=3008</uax:Identifier>\n              </uax:DataType>\n              <uax:ValueRank>-1</uax:ValueRank>\n              <uax:ArrayDimensions />\n              <uax:Description />\n            </uax:Argument>\n          </uax:Body>\n        </uax:ExtensionObject>\n      </uax:ListOfExtensionObject>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=6348\" BrowseName=\"OutputArguments\" ParentNodeId=\"ns=1;i=7054\" DataType=\"Argument\" ValueRank=\"1\" ArrayDimensions=\"4\">\n    <DisplayName>OutputArguments</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=7054</Reference>\n    </References>\n    <Value>\n      <uax:ListOfExtensionObject xmlns:uax=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <uax:ExtensionObject>\n          <uax:TypeId>\n            <uax:Identifier>i=297</uax:Identifier>\n          </uax:TypeId>\n          <uax:Body>\n            <uax:Argument>\n              <uax:Name>InternalId</uax:Name>\n              <uax:DataType>\n                <uax:Identifier>ns=1;i=3008</uax:Identifier>\n              </uax:DataType>\n              <uax:ValueRank>-1</uax:ValueRank>\n              <uax:ArrayDimensions />\n              <uax:Description />\n            </uax:Argument>\n          </uax:Body>\n        </uax:ExtensionObject>\n        <uax:ExtensionObject>\n          <uax:TypeId>\n            <uax:Identifier>i=297</uax:Identifier>\n          </uax:TypeId>\n          <uax:Body>\n            <uax:Argument>\n              <uax:Name>Configuration</uax:Name>\n              <uax:DataType>\n                <uax:Identifier>i=17</uax:Identifier>\n              </uax:DataType>\n              <uax:ValueRank>-1</uax:ValueRank>\n              <uax:ArrayDimensions />\n              <uax:Description />\n            </uax:Argument>\n          </uax:Body>\n        </uax:ExtensionObject>\n        <uax:ExtensionObject>\n          <uax:TypeId>\n            <uax:Identifier>i=297</uax:Identifier>\n          </uax:TypeId>\n          <uax:Body>\n            <uax:Argument>\n              <uax:Name>TransferRequired</uax:Name>\n              <uax:DataType>\n                <uax:Identifier>i=1</uax:Identifier>\n              </uax:DataType>\n              <uax:ValueRank>-1</uax:ValueRank>\n              <uax:ArrayDimensions />\n              <uax:Description />\n            </uax:Argument>\n          </uax:Body>\n        </uax:ExtensionObject>\n        <uax:ExtensionObject>\n          <uax:TypeId>\n            <uax:Identifier>i=297</uax:Identifier>\n          </uax:TypeId>\n          <uax:Body>\n            <uax:Argument>\n              <uax:Name>Error</uax:Name>\n              <uax:DataType>\n                <uax:Identifier>i=6</uax:Identifier>\n              </uax:DataType>\n              <uax:ValueRank>-1</uax:ValueRank>\n              <uax:ArrayDimensions />\n              <uax:Description />\n            </uax:Argument>\n          </uax:Body>\n        </uax:ExtensionObject>\n      </uax:ListOfExtensionObject>\n    </Value>\n  </UAVariable>\n  <UAObject NodeId=\"ns=1;i=5094\" BrowseName=\"1:Configurations\" ParentNodeId=\"ns=1;i=5004\">\n    <DisplayName>Configurations</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">ns=1;i=1011</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=5004</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=80</Reference>\n    </References>\n  </UAObject>\n  <UAObject NodeId=\"ns=1;i=5093\" BrowseName=\"1:ConfigurationTransfer\" ParentNodeId=\"ns=1;i=5004\">\n    <DisplayName>ConfigurationTransfer</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=6350</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=7068</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=5004</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">ns=1;i=1012</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=7069</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=7070</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=80</Reference>\n    </References>\n  </UAObject>\n  <UAVariable NodeId=\"ns=1;i=6350\" BrowseName=\"ClientProcessingTimeout\" ParentNodeId=\"ns=1;i=5093\" DataType=\"Duration\">\n    <DisplayName>ClientProcessingTimeout</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=5093</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n    </References>\n  </UAVariable>\n  <UAMethod NodeId=\"ns=1;i=7068\" BrowseName=\"CloseAndCommit\" ParentNodeId=\"ns=1;i=5093\" MethodDeclarationId=\"i=15751\">\n    <DisplayName>CloseAndCommit</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=5093</Reference>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=6351</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=6359</Reference>\n    </References>\n  </UAMethod>\n  <UAVariable NodeId=\"ns=1;i=6351\" BrowseName=\"InputArguments\" ParentNodeId=\"ns=1;i=7068\" DataType=\"Argument\" ValueRank=\"1\" ArrayDimensions=\"1\">\n    <DisplayName>InputArguments</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=7068</Reference>\n    </References>\n    <Value>\n      <uax:ListOfExtensionObject xmlns:uax=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <uax:ExtensionObject>\n          <uax:TypeId>\n            <uax:Identifier>i=297</uax:Identifier>\n          </uax:TypeId>\n          <uax:Body>\n            <uax:Argument>\n              <uax:Name>FileHandle</uax:Name>\n              <uax:DataType>\n                <uax:Identifier>i=7</uax:Identifier>\n              </uax:DataType>\n              <uax:ValueRank>-1</uax:ValueRank>\n              <uax:ArrayDimensions />\n              <uax:Description />\n            </uax:Argument>\n          </uax:Body>\n        </uax:ExtensionObject>\n      </uax:ListOfExtensionObject>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=6359\" BrowseName=\"OutputArguments\" ParentNodeId=\"ns=1;i=7068\" DataType=\"Argument\" ValueRank=\"1\" ArrayDimensions=\"1\">\n    <DisplayName>OutputArguments</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=7068</Reference>\n    </References>\n    <Value>\n      <uax:ListOfExtensionObject xmlns:uax=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <uax:ExtensionObject>\n          <uax:TypeId>\n            <uax:Identifier>i=297</uax:Identifier>\n          </uax:TypeId>\n          <uax:Body>\n            <uax:Argument>\n              <uax:Name>CompletionStateMachine</uax:Name>\n              <uax:DataType>\n                <uax:Identifier>i=17</uax:Identifier>\n              </uax:DataType>\n              <uax:ValueRank>-1</uax:ValueRank>\n              <uax:ArrayDimensions />\n              <uax:Description />\n            </uax:Argument>\n          </uax:Body>\n        </uax:ExtensionObject>\n      </uax:ListOfExtensionObject>\n    </Value>\n  </UAVariable>\n  <UAMethod NodeId=\"ns=1;i=7069\" BrowseName=\"GenerateFileForRead\" ParentNodeId=\"ns=1;i=5093\" MethodDeclarationId=\"ns=1;i=7129\">\n    <DisplayName>GenerateFileForRead</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=5093</Reference>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=6360</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=6361</Reference>\n    </References>\n  </UAMethod>\n  <UAVariable NodeId=\"ns=1;i=6360\" BrowseName=\"InputArguments\" ParentNodeId=\"ns=1;i=7069\" DataType=\"Argument\" ValueRank=\"1\" ArrayDimensions=\"1\">\n    <DisplayName>InputArguments</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=7069</Reference>\n    </References>\n    <Value>\n      <uax:ListOfExtensionObject xmlns:uax=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <uax:ExtensionObject>\n          <uax:TypeId>\n            <uax:Identifier>i=297</uax:Identifier>\n          </uax:TypeId>\n          <uax:Body>\n            <uax:Argument>\n              <uax:Name>GenerateOptions</uax:Name>\n              <uax:DataType>\n                <uax:Identifier>ns=1;i=3011</uax:Identifier>\n              </uax:DataType>\n              <uax:ValueRank>-1</uax:ValueRank>\n              <uax:ArrayDimensions />\n              <uax:Description />\n            </uax:Argument>\n          </uax:Body>\n        </uax:ExtensionObject>\n      </uax:ListOfExtensionObject>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=6361\" BrowseName=\"OutputArguments\" ParentNodeId=\"ns=1;i=7069\" DataType=\"Argument\" ValueRank=\"1\" ArrayDimensions=\"3\">\n    <DisplayName>OutputArguments</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=7069</Reference>\n    </References>\n    <Value>\n      <uax:ListOfExtensionObject xmlns:uax=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <uax:ExtensionObject>\n          <uax:TypeId>\n            <uax:Identifier>i=297</uax:Identifier>\n          </uax:TypeId>\n          <uax:Body>\n            <uax:Argument>\n              <uax:Name>FileNodeId</uax:Name>\n              <uax:DataType>\n                <uax:Identifier>i=17</uax:Identifier>\n              </uax:DataType>\n              <uax:ValueRank>-1</uax:ValueRank>\n              <uax:ArrayDimensions />\n              <uax:Description />\n            </uax:Argument>\n          </uax:Body>\n        </uax:ExtensionObject>\n        <uax:ExtensionObject>\n          <uax:TypeId>\n            <uax:Identifier>i=297</uax:Identifier>\n          </uax:TypeId>\n          <uax:Body>\n            <uax:Argument>\n              <uax:Name>FileHandle</uax:Name>\n              <uax:DataType>\n                <uax:Identifier>i=7</uax:Identifier>\n              </uax:DataType>\n              <uax:ValueRank>-1</uax:ValueRank>\n              <uax:ArrayDimensions />\n              <uax:Description />\n            </uax:Argument>\n          </uax:Body>\n        </uax:ExtensionObject>\n        <uax:ExtensionObject>\n          <uax:TypeId>\n            <uax:Identifier>i=297</uax:Identifier>\n          </uax:TypeId>\n          <uax:Body>\n            <uax:Argument>\n              <uax:Name>CompletionStateMachine</uax:Name>\n              <uax:DataType>\n                <uax:Identifier>i=17</uax:Identifier>\n              </uax:DataType>\n              <uax:ValueRank>-1</uax:ValueRank>\n              <uax:ArrayDimensions />\n              <uax:Description />\n            </uax:Argument>\n          </uax:Body>\n        </uax:ExtensionObject>\n      </uax:ListOfExtensionObject>\n    </Value>\n  </UAVariable>\n  <UAMethod NodeId=\"ns=1;i=7070\" BrowseName=\"GenerateFileForWrite\" ParentNodeId=\"ns=1;i=5093\" MethodDeclarationId=\"ns=1;i=7130\">\n    <DisplayName>GenerateFileForWrite</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=5093</Reference>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=6362</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=6363</Reference>\n    </References>\n  </UAMethod>\n  <UAVariable NodeId=\"ns=1;i=6362\" BrowseName=\"InputArguments\" ParentNodeId=\"ns=1;i=7070\" DataType=\"Argument\" ValueRank=\"1\" ArrayDimensions=\"1\">\n    <DisplayName>InputArguments</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=7070</Reference>\n    </References>\n    <Value>\n      <uax:ListOfExtensionObject xmlns:uax=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <uax:ExtensionObject>\n          <uax:TypeId>\n            <uax:Identifier>i=297</uax:Identifier>\n          </uax:TypeId>\n          <uax:Body>\n            <uax:Argument>\n              <uax:Name>GenerateOptions</uax:Name>\n              <uax:DataType>\n                <uax:Identifier>ns=1;i=3011</uax:Identifier>\n              </uax:DataType>\n              <uax:ValueRank>-1</uax:ValueRank>\n              <uax:ArrayDimensions />\n              <uax:Description />\n            </uax:Argument>\n          </uax:Body>\n        </uax:ExtensionObject>\n      </uax:ListOfExtensionObject>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=6363\" BrowseName=\"OutputArguments\" ParentNodeId=\"ns=1;i=7070\" DataType=\"Argument\" ValueRank=\"1\" ArrayDimensions=\"2\">\n    <DisplayName>OutputArguments</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=7070</Reference>\n    </References>\n    <Value>\n      <uax:ListOfExtensionObject xmlns:uax=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <uax:ExtensionObject>\n          <uax:TypeId>\n            <uax:Identifier>i=297</uax:Identifier>\n          </uax:TypeId>\n          <uax:Body>\n            <uax:Argument>\n              <uax:Name>FileNodeId</uax:Name>\n              <uax:DataType>\n                <uax:Identifier>i=17</uax:Identifier>\n              </uax:DataType>\n              <uax:ValueRank>-1</uax:ValueRank>\n              <uax:ArrayDimensions />\n              <uax:Description />\n            </uax:Argument>\n          </uax:Body>\n        </uax:ExtensionObject>\n        <uax:ExtensionObject>\n          <uax:TypeId>\n            <uax:Identifier>i=297</uax:Identifier>\n          </uax:TypeId>\n          <uax:Body>\n            <uax:Argument>\n              <uax:Name>FileHandle</uax:Name>\n              <uax:DataType>\n                <uax:Identifier>i=7</uax:Identifier>\n              </uax:DataType>\n              <uax:ValueRank>-1</uax:ValueRank>\n              <uax:ArrayDimensions />\n              <uax:Description />\n            </uax:Argument>\n          </uax:Body>\n        </uax:ExtensionObject>\n      </uax:ListOfExtensionObject>\n    </Value>\n  </UAVariable>\n  <UAMethod NodeId=\"ns=1;i=7016\" BrowseName=\"1:GetConfigurationById\" ParentNodeId=\"ns=1;i=5004\" MethodDeclarationId=\"ns=1;i=7041\">\n    <DisplayName>GetConfigurationById</DisplayName>\n    <Documentation>https://reference.opcfoundation.org/v104/MachineVision/v100/docs/7.2.2/#7.2.2.2</Documentation>\n    <References>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=5004</Reference>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=6044</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=6098</Reference>\n    </References>\n  </UAMethod>\n  <UAVariable NodeId=\"ns=1;i=6044\" BrowseName=\"InputArguments\" ParentNodeId=\"ns=1;i=7016\" DataType=\"Argument\" ValueRank=\"1\" ArrayDimensions=\"2\">\n    <DisplayName>InputArguments</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=7016</Reference>\n    </References>\n    <Value>\n      <uax:ListOfExtensionObject xmlns:uax=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <uax:ExtensionObject>\n          <uax:TypeId>\n            <uax:Identifier>i=297</uax:Identifier>\n          </uax:TypeId>\n          <uax:Body>\n            <uax:Argument>\n              <uax:Name>InternalId</uax:Name>\n              <uax:DataType>\n                <uax:Identifier>ns=1;i=3008</uax:Identifier>\n              </uax:DataType>\n              <uax:ValueRank>-1</uax:ValueRank>\n              <uax:ArrayDimensions />\n              <uax:Description />\n            </uax:Argument>\n          </uax:Body>\n        </uax:ExtensionObject>\n        <uax:ExtensionObject>\n          <uax:TypeId>\n            <uax:Identifier>i=297</uax:Identifier>\n          </uax:TypeId>\n          <uax:Body>\n            <uax:Argument>\n              <uax:Name>Timeout</uax:Name>\n              <uax:DataType>\n                <uax:Identifier>i=6</uax:Identifier>\n              </uax:DataType>\n              <uax:ValueRank>-1</uax:ValueRank>\n              <uax:ArrayDimensions />\n              <uax:Description />\n            </uax:Argument>\n          </uax:Body>\n        </uax:ExtensionObject>\n      </uax:ListOfExtensionObject>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=6098\" BrowseName=\"OutputArguments\" ParentNodeId=\"ns=1;i=7016\" DataType=\"Argument\" ValueRank=\"1\" ArrayDimensions=\"3\">\n    <DisplayName>OutputArguments</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=7016</Reference>\n    </References>\n    <Value>\n      <uax:ListOfExtensionObject xmlns:uax=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <uax:ExtensionObject>\n          <uax:TypeId>\n            <uax:Identifier>i=297</uax:Identifier>\n          </uax:TypeId>\n          <uax:Body>\n            <uax:Argument>\n              <uax:Name>ConfigurationHandle</uax:Name>\n              <uax:DataType>\n                <uax:Identifier>ns=1;i=3018</uax:Identifier>\n              </uax:DataType>\n              <uax:ValueRank>-1</uax:ValueRank>\n              <uax:ArrayDimensions />\n              <uax:Description />\n            </uax:Argument>\n          </uax:Body>\n        </uax:ExtensionObject>\n        <uax:ExtensionObject>\n          <uax:TypeId>\n            <uax:Identifier>i=297</uax:Identifier>\n          </uax:TypeId>\n          <uax:Body>\n            <uax:Argument>\n              <uax:Name>Configuration</uax:Name>\n              <uax:DataType>\n                <uax:Identifier>ns=1;i=3007</uax:Identifier>\n              </uax:DataType>\n              <uax:ValueRank>-1</uax:ValueRank>\n              <uax:ArrayDimensions />\n              <uax:Description />\n            </uax:Argument>\n          </uax:Body>\n        </uax:ExtensionObject>\n        <uax:ExtensionObject>\n          <uax:TypeId>\n            <uax:Identifier>i=297</uax:Identifier>\n          </uax:TypeId>\n          <uax:Body>\n            <uax:Argument>\n              <uax:Name>Error</uax:Name>\n              <uax:DataType>\n                <uax:Identifier>i=6</uax:Identifier>\n              </uax:DataType>\n              <uax:ValueRank>-1</uax:ValueRank>\n              <uax:ArrayDimensions />\n              <uax:Description />\n            </uax:Argument>\n          </uax:Body>\n        </uax:ExtensionObject>\n      </uax:ListOfExtensionObject>\n    </Value>\n  </UAVariable>\n  <UAMethod NodeId=\"ns=1;i=7017\" BrowseName=\"1:GetConfigurationList\" ParentNodeId=\"ns=1;i=5004\" MethodDeclarationId=\"ns=1;i=7045\">\n    <DisplayName>GetConfigurationList</DisplayName>\n    <Documentation>https://reference.opcfoundation.org/v104/MachineVision/v100/docs/7.2.2/#7.2.2.3</Documentation>\n    <References>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=5004</Reference>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=6099</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=6102</Reference>\n    </References>\n  </UAMethod>\n  <UAVariable NodeId=\"ns=1;i=6099\" BrowseName=\"InputArguments\" ParentNodeId=\"ns=1;i=7017\" DataType=\"Argument\" ValueRank=\"1\" ArrayDimensions=\"3\">\n    <DisplayName>InputArguments</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=7017</Reference>\n    </References>\n    <Value>\n      <uax:ListOfExtensionObject xmlns:uax=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <uax:ExtensionObject>\n          <uax:TypeId>\n            <uax:Identifier>i=297</uax:Identifier>\n          </uax:TypeId>\n          <uax:Body>\n            <uax:Argument>\n              <uax:Name>MaxResults</uax:Name>\n              <uax:DataType>\n                <uax:Identifier>i=7</uax:Identifier>\n              </uax:DataType>\n              <uax:ValueRank>-1</uax:ValueRank>\n              <uax:ArrayDimensions />\n              <uax:Description />\n            </uax:Argument>\n          </uax:Body>\n        </uax:ExtensionObject>\n        <uax:ExtensionObject>\n          <uax:TypeId>\n            <uax:Identifier>i=297</uax:Identifier>\n          </uax:TypeId>\n          <uax:Body>\n            <uax:Argument>\n              <uax:Name>StartIndex</uax:Name>\n              <uax:DataType>\n                <uax:Identifier>i=7</uax:Identifier>\n              </uax:DataType>\n              <uax:ValueRank>-1</uax:ValueRank>\n              <uax:ArrayDimensions />\n              <uax:Description />\n            </uax:Argument>\n          </uax:Body>\n        </uax:ExtensionObject>\n        <uax:ExtensionObject>\n          <uax:TypeId>\n            <uax:Identifier>i=297</uax:Identifier>\n          </uax:TypeId>\n          <uax:Body>\n            <uax:Argument>\n              <uax:Name>Timeout</uax:Name>\n              <uax:DataType>\n                <uax:Identifier>i=6</uax:Identifier>\n              </uax:DataType>\n              <uax:ValueRank>-1</uax:ValueRank>\n              <uax:ArrayDimensions />\n              <uax:Description />\n            </uax:Argument>\n          </uax:Body>\n        </uax:ExtensionObject>\n      </uax:ListOfExtensionObject>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=6102\" BrowseName=\"OutputArguments\" ParentNodeId=\"ns=1;i=7017\" DataType=\"Argument\" ValueRank=\"1\" ArrayDimensions=\"5\">\n    <DisplayName>OutputArguments</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=7017</Reference>\n    </References>\n    <Value>\n      <uax:ListOfExtensionObject xmlns:uax=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <uax:ExtensionObject>\n          <uax:TypeId>\n            <uax:Identifier>i=297</uax:Identifier>\n          </uax:TypeId>\n          <uax:Body>\n            <uax:Argument>\n              <uax:Name>IsComplete</uax:Name>\n              <uax:DataType>\n                <uax:Identifier>i=1</uax:Identifier>\n              </uax:DataType>\n              <uax:ValueRank>-1</uax:ValueRank>\n              <uax:ArrayDimensions />\n              <uax:Description />\n            </uax:Argument>\n          </uax:Body>\n        </uax:ExtensionObject>\n        <uax:ExtensionObject>\n          <uax:TypeId>\n            <uax:Identifier>i=297</uax:Identifier>\n          </uax:TypeId>\n          <uax:Body>\n            <uax:Argument>\n              <uax:Name>ResultCount</uax:Name>\n              <uax:DataType>\n                <uax:Identifier>i=7</uax:Identifier>\n              </uax:DataType>\n              <uax:ValueRank>-1</uax:ValueRank>\n              <uax:ArrayDimensions />\n              <uax:Description />\n            </uax:Argument>\n          </uax:Body>\n        </uax:ExtensionObject>\n        <uax:ExtensionObject>\n          <uax:TypeId>\n            <uax:Identifier>i=297</uax:Identifier>\n          </uax:TypeId>\n          <uax:Body>\n            <uax:Argument>\n              <uax:Name>ConfigurationHandle</uax:Name>\n              <uax:DataType>\n                <uax:Identifier>ns=1;i=3018</uax:Identifier>\n              </uax:DataType>\n              <uax:ValueRank>-1</uax:ValueRank>\n              <uax:ArrayDimensions />\n              <uax:Description />\n            </uax:Argument>\n          </uax:Body>\n        </uax:ExtensionObject>\n        <uax:ExtensionObject>\n          <uax:TypeId>\n            <uax:Identifier>i=297</uax:Identifier>\n          </uax:TypeId>\n          <uax:Body>\n            <uax:Argument>\n              <uax:Name>ConfigurationList</uax:Name>\n              <uax:DataType>\n                <uax:Identifier>ns=1;i=3007</uax:Identifier>\n              </uax:DataType>\n              <uax:ValueRank>1</uax:ValueRank>\n              <uax:ArrayDimensions />\n              <uax:Description />\n            </uax:Argument>\n          </uax:Body>\n        </uax:ExtensionObject>\n        <uax:ExtensionObject>\n          <uax:TypeId>\n            <uax:Identifier>i=297</uax:Identifier>\n          </uax:TypeId>\n          <uax:Body>\n            <uax:Argument>\n              <uax:Name>Error</uax:Name>\n              <uax:DataType>\n                <uax:Identifier>i=6</uax:Identifier>\n              </uax:DataType>\n              <uax:ValueRank>-1</uax:ValueRank>\n              <uax:ArrayDimensions />\n              <uax:Description />\n            </uax:Argument>\n          </uax:Body>\n        </uax:ExtensionObject>\n      </uax:ListOfExtensionObject>\n    </Value>\n  </UAVariable>\n  <UAMethod NodeId=\"ns=1;i=7072\" BrowseName=\"1:ReleaseConfigurationHandle\" ParentNodeId=\"ns=1;i=5004\" MethodDeclarationId=\"ns=1;i=7046\">\n    <DisplayName>ReleaseConfigurationHandle</DisplayName>\n    <Documentation>https://reference.opcfoundation.org/v104/MachineVision/v100/docs/7.2.2/#7.2.2.4</Documentation>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=6364</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=80</Reference>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=6365</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=5004</Reference>\n    </References>\n  </UAMethod>\n  <UAVariable NodeId=\"ns=1;i=6364\" BrowseName=\"InputArguments\" ParentNodeId=\"ns=1;i=7072\" DataType=\"Argument\" ValueRank=\"1\" ArrayDimensions=\"1\">\n    <DisplayName>InputArguments</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=7072</Reference>\n    </References>\n    <Value>\n      <uax:ListOfExtensionObject xmlns:uax=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <uax:ExtensionObject>\n          <uax:TypeId>\n            <uax:Identifier>i=297</uax:Identifier>\n          </uax:TypeId>\n          <uax:Body>\n            <uax:Argument>\n              <uax:Name>ConfigurationHandle</uax:Name>\n              <uax:DataType>\n                <uax:Identifier>ns=1;i=3018</uax:Identifier>\n              </uax:DataType>\n              <uax:ValueRank>-1</uax:ValueRank>\n              <uax:ArrayDimensions />\n              <uax:Description />\n            </uax:Argument>\n          </uax:Body>\n        </uax:ExtensionObject>\n      </uax:ListOfExtensionObject>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=6365\" BrowseName=\"OutputArguments\" ParentNodeId=\"ns=1;i=7072\" DataType=\"Argument\" ValueRank=\"1\" ArrayDimensions=\"1\">\n    <DisplayName>OutputArguments</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=7072</Reference>\n    </References>\n    <Value>\n      <uax:ListOfExtensionObject xmlns:uax=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <uax:ExtensionObject>\n          <uax:TypeId>\n            <uax:Identifier>i=297</uax:Identifier>\n          </uax:TypeId>\n          <uax:Body>\n            <uax:Argument>\n              <uax:Name>Error</uax:Name>\n              <uax:DataType>\n                <uax:Identifier>i=6</uax:Identifier>\n              </uax:DataType>\n              <uax:ValueRank>-1</uax:ValueRank>\n              <uax:ArrayDimensions />\n              <uax:Description />\n            </uax:Argument>\n          </uax:Body>\n        </uax:ExtensionObject>\n      </uax:ListOfExtensionObject>\n    </Value>\n  </UAVariable>\n  <UAMethod NodeId=\"ns=1;i=7073\" BrowseName=\"1:RemoveConfiguration\" ParentNodeId=\"ns=1;i=5004\" MethodDeclarationId=\"ns=1;i=7047\">\n    <DisplayName>RemoveConfiguration</DisplayName>\n    <Documentation>https://reference.opcfoundation.org/v104/MachineVision/v100/docs/7.2.2/#7.2.2.5</Documentation>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=6366</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=80</Reference>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=6368</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=5004</Reference>\n    </References>\n  </UAMethod>\n  <UAVariable NodeId=\"ns=1;i=6366\" BrowseName=\"InputArguments\" ParentNodeId=\"ns=1;i=7073\" DataType=\"Argument\" ValueRank=\"1\" ArrayDimensions=\"1\">\n    <DisplayName>InputArguments</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=7073</Reference>\n    </References>\n    <Value>\n      <uax:ListOfExtensionObject xmlns:uax=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <uax:ExtensionObject>\n          <uax:TypeId>\n            <uax:Identifier>i=297</uax:Identifier>\n          </uax:TypeId>\n          <uax:Body>\n            <uax:Argument>\n              <uax:Name>InternalId</uax:Name>\n              <uax:DataType>\n                <uax:Identifier>ns=1;i=3008</uax:Identifier>\n              </uax:DataType>\n              <uax:ValueRank>-1</uax:ValueRank>\n              <uax:ArrayDimensions />\n              <uax:Description />\n            </uax:Argument>\n          </uax:Body>\n        </uax:ExtensionObject>\n      </uax:ListOfExtensionObject>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=6368\" BrowseName=\"OutputArguments\" ParentNodeId=\"ns=1;i=7073\" DataType=\"Argument\" ValueRank=\"1\" ArrayDimensions=\"1\">\n    <DisplayName>OutputArguments</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=7073</Reference>\n    </References>\n    <Value>\n      <uax:ListOfExtensionObject xmlns:uax=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <uax:ExtensionObject>\n          <uax:TypeId>\n            <uax:Identifier>i=297</uax:Identifier>\n          </uax:TypeId>\n          <uax:Body>\n            <uax:Argument>\n              <uax:Name>Error</uax:Name>\n              <uax:DataType>\n                <uax:Identifier>i=6</uax:Identifier>\n              </uax:DataType>\n              <uax:ValueRank>-1</uax:ValueRank>\n              <uax:ArrayDimensions />\n              <uax:Description />\n            </uax:Argument>\n          </uax:Body>\n        </uax:ExtensionObject>\n      </uax:ListOfExtensionObject>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=6048\" BrowseName=\"1:DiagnosticLevel\" ParentNodeId=\"ns=1;i=1003\" DataType=\"UInt16\" AccessLevel=\"3\">\n    <DisplayName>DiagnosticLevel</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=63</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=1003</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=80</Reference>\n    </References>\n  </UAVariable>\n  <UAObject NodeId=\"ns=1;i=5015\" BrowseName=\"1:RecipeManagement\" ParentNodeId=\"ns=1;i=1003\">\n    <DisplayName>RecipeManagement</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=7074</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=7018</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=80</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=7075</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=7031</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=5095</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=1003</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">ns=1;i=1004</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=5097</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=5096</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=7081</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=7082</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=7083</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=7084</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=7032</Reference>\n    </References>\n  </UAObject>\n  <UAMethod NodeId=\"ns=1;i=7074\" BrowseName=\"1:AddRecipe\" ParentNodeId=\"ns=1;i=5015\" MethodDeclarationId=\"ns=1;i=7013\">\n    <DisplayName>AddRecipe</DisplayName>\n    <Documentation>https://reference.opcfoundation.org/v104/MachineVision/v100/docs/7.5.2/#7.5.2.1.1</Documentation>\n    <References>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=5015</Reference>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=6369</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=80</Reference>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=6370</Reference>\n    </References>\n  </UAMethod>\n  <UAVariable NodeId=\"ns=1;i=6369\" BrowseName=\"InputArguments\" ParentNodeId=\"ns=1;i=7074\" DataType=\"Argument\" ValueRank=\"1\" ArrayDimensions=\"2\">\n    <DisplayName>InputArguments</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=7074</Reference>\n    </References>\n    <Value>\n      <uax:ListOfExtensionObject xmlns:uax=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <uax:ExtensionObject>\n          <uax:TypeId>\n            <uax:Identifier>i=297</uax:Identifier>\n          </uax:TypeId>\n          <uax:Body>\n            <uax:Argument>\n              <uax:Name>ExternalId</uax:Name>\n              <uax:DataType>\n                <uax:Identifier>ns=1;i=3002</uax:Identifier>\n              </uax:DataType>\n              <uax:ValueRank>-1</uax:ValueRank>\n              <uax:ArrayDimensions />\n              <uax:Description />\n            </uax:Argument>\n          </uax:Body>\n        </uax:ExtensionObject>\n        <uax:ExtensionObject>\n          <uax:TypeId>\n            <uax:Identifier>i=297</uax:Identifier>\n          </uax:TypeId>\n          <uax:Body>\n            <uax:Argument>\n              <uax:Name>ProductId</uax:Name>\n              <uax:DataType>\n                <uax:Identifier>ns=1;i=3003</uax:Identifier>\n              </uax:DataType>\n              <uax:ValueRank>-1</uax:ValueRank>\n              <uax:ArrayDimensions />\n              <uax:Description />\n            </uax:Argument>\n          </uax:Body>\n        </uax:ExtensionObject>\n      </uax:ListOfExtensionObject>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=6370\" BrowseName=\"OutputArguments\" ParentNodeId=\"ns=1;i=7074\" DataType=\"Argument\" ValueRank=\"1\" ArrayDimensions=\"5\">\n    <DisplayName>OutputArguments</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=7074</Reference>\n    </References>\n    <Value>\n      <uax:ListOfExtensionObject xmlns:uax=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <uax:ExtensionObject>\n          <uax:TypeId>\n            <uax:Identifier>i=297</uax:Identifier>\n          </uax:TypeId>\n          <uax:Body>\n            <uax:Argument>\n              <uax:Name>InternalId</uax:Name>\n              <uax:DataType>\n                <uax:Identifier>ns=1;i=3013</uax:Identifier>\n              </uax:DataType>\n              <uax:ValueRank>-1</uax:ValueRank>\n              <uax:ArrayDimensions />\n              <uax:Description />\n            </uax:Argument>\n          </uax:Body>\n        </uax:ExtensionObject>\n        <uax:ExtensionObject>\n          <uax:TypeId>\n            <uax:Identifier>i=297</uax:Identifier>\n          </uax:TypeId>\n          <uax:Body>\n            <uax:Argument>\n              <uax:Name>Recipe</uax:Name>\n              <uax:DataType>\n                <uax:Identifier>i=17</uax:Identifier>\n              </uax:DataType>\n              <uax:ValueRank>-1</uax:ValueRank>\n              <uax:ArrayDimensions />\n              <uax:Description />\n            </uax:Argument>\n          </uax:Body>\n        </uax:ExtensionObject>\n        <uax:ExtensionObject>\n          <uax:TypeId>\n            <uax:Identifier>i=297</uax:Identifier>\n          </uax:TypeId>\n          <uax:Body>\n            <uax:Argument>\n              <uax:Name>Product</uax:Name>\n              <uax:DataType>\n                <uax:Identifier>i=17</uax:Identifier>\n              </uax:DataType>\n              <uax:ValueRank>-1</uax:ValueRank>\n              <uax:ArrayDimensions />\n              <uax:Description />\n            </uax:Argument>\n          </uax:Body>\n        </uax:ExtensionObject>\n        <uax:ExtensionObject>\n          <uax:TypeId>\n            <uax:Identifier>i=297</uax:Identifier>\n          </uax:TypeId>\n          <uax:Body>\n            <uax:Argument>\n              <uax:Name>TransferRequired</uax:Name>\n              <uax:DataType>\n                <uax:Identifier>i=1</uax:Identifier>\n              </uax:DataType>\n              <uax:ValueRank>-1</uax:ValueRank>\n              <uax:ArrayDimensions />\n              <uax:Description />\n            </uax:Argument>\n          </uax:Body>\n        </uax:ExtensionObject>\n        <uax:ExtensionObject>\n          <uax:TypeId>\n            <uax:Identifier>i=297</uax:Identifier>\n          </uax:TypeId>\n          <uax:Body>\n            <uax:Argument>\n              <uax:Name>Error</uax:Name>\n              <uax:DataType>\n                <uax:Identifier>i=6</uax:Identifier>\n              </uax:DataType>\n              <uax:ValueRank>-1</uax:ValueRank>\n              <uax:ArrayDimensions />\n              <uax:Description />\n            </uax:Argument>\n          </uax:Body>\n        </uax:ExtensionObject>\n      </uax:ListOfExtensionObject>\n    </Value>\n  </UAVariable>\n  <UAMethod NodeId=\"ns=1;i=7018\" BrowseName=\"1:GetRecipeListFiltered\" ParentNodeId=\"ns=1;i=5015\" MethodDeclarationId=\"ns=1;i=7014\">\n    <DisplayName>GetRecipeListFiltered</DisplayName>\n    <Documentation>https://reference.opcfoundation.org/v104/MachineVision/v100/docs/7.5.2/#7.5.2.4</Documentation>\n    <References>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=5015</Reference>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=6103</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=6106</Reference>\n    </References>\n  </UAMethod>\n  <UAVariable NodeId=\"ns=1;i=6103\" BrowseName=\"InputArguments\" ParentNodeId=\"ns=1;i=7018\" DataType=\"Argument\" ValueRank=\"1\" ArrayDimensions=\"6\">\n    <DisplayName>InputArguments</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=7018</Reference>\n    </References>\n    <Value>\n      <uax:ListOfExtensionObject xmlns:uax=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <uax:ExtensionObject>\n          <uax:TypeId>\n            <uax:Identifier>i=297</uax:Identifier>\n          </uax:TypeId>\n          <uax:Body>\n            <uax:Argument>\n              <uax:Name>ExternalId</uax:Name>\n              <uax:DataType>\n                <uax:Identifier>ns=1;i=3002</uax:Identifier>\n              </uax:DataType>\n              <uax:ValueRank>-1</uax:ValueRank>\n              <uax:ArrayDimensions />\n              <uax:Description />\n            </uax:Argument>\n          </uax:Body>\n        </uax:ExtensionObject>\n        <uax:ExtensionObject>\n          <uax:TypeId>\n            <uax:Identifier>i=297</uax:Identifier>\n          </uax:TypeId>\n          <uax:Body>\n            <uax:Argument>\n              <uax:Name>ProductId</uax:Name>\n              <uax:DataType>\n                <uax:Identifier>ns=1;i=3003</uax:Identifier>\n              </uax:DataType>\n              <uax:ValueRank>-1</uax:ValueRank>\n              <uax:ArrayDimensions />\n              <uax:Description />\n            </uax:Argument>\n          </uax:Body>\n        </uax:ExtensionObject>\n        <uax:ExtensionObject>\n          <uax:TypeId>\n            <uax:Identifier>i=297</uax:Identifier>\n          </uax:TypeId>\n          <uax:Body>\n            <uax:Argument>\n              <uax:Name>IsPrepared</uax:Name>\n              <uax:DataType>\n                <uax:Identifier>ns=1;i=3014</uax:Identifier>\n              </uax:DataType>\n              <uax:ValueRank>-1</uax:ValueRank>\n              <uax:ArrayDimensions />\n              <uax:Description />\n            </uax:Argument>\n          </uax:Body>\n        </uax:ExtensionObject>\n        <uax:ExtensionObject>\n          <uax:TypeId>\n            <uax:Identifier>i=297</uax:Identifier>\n          </uax:TypeId>\n          <uax:Body>\n            <uax:Argument>\n              <uax:Name>MaxResults</uax:Name>\n              <uax:DataType>\n                <uax:Identifier>i=7</uax:Identifier>\n              </uax:DataType>\n              <uax:ValueRank>-1</uax:ValueRank>\n              <uax:ArrayDimensions />\n              <uax:Description />\n            </uax:Argument>\n          </uax:Body>\n        </uax:ExtensionObject>\n        <uax:ExtensionObject>\n          <uax:TypeId>\n            <uax:Identifier>i=297</uax:Identifier>\n          </uax:TypeId>\n          <uax:Body>\n            <uax:Argument>\n              <uax:Name>StartIndex</uax:Name>\n              <uax:DataType>\n                <uax:Identifier>i=7</uax:Identifier>\n              </uax:DataType>\n              <uax:ValueRank>-1</uax:ValueRank>\n              <uax:ArrayDimensions />\n              <uax:Description />\n            </uax:Argument>\n          </uax:Body>\n        </uax:ExtensionObject>\n        <uax:ExtensionObject>\n          <uax:TypeId>\n            <uax:Identifier>i=297</uax:Identifier>\n          </uax:TypeId>\n          <uax:Body>\n            <uax:Argument>\n              <uax:Name>Timeout</uax:Name>\n              <uax:DataType>\n                <uax:Identifier>i=6</uax:Identifier>\n              </uax:DataType>\n              <uax:ValueRank>-1</uax:ValueRank>\n              <uax:ArrayDimensions />\n              <uax:Description />\n            </uax:Argument>\n          </uax:Body>\n        </uax:ExtensionObject>\n      </uax:ListOfExtensionObject>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=6106\" BrowseName=\"OutputArguments\" ParentNodeId=\"ns=1;i=7018\" DataType=\"Argument\" ValueRank=\"1\" ArrayDimensions=\"5\">\n    <DisplayName>OutputArguments</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=7018</Reference>\n    </References>\n    <Value>\n      <uax:ListOfExtensionObject xmlns:uax=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <uax:ExtensionObject>\n          <uax:TypeId>\n            <uax:Identifier>i=297</uax:Identifier>\n          </uax:TypeId>\n          <uax:Body>\n            <uax:Argument>\n              <uax:Name>IsComplete</uax:Name>\n              <uax:DataType>\n                <uax:Identifier>i=1</uax:Identifier>\n              </uax:DataType>\n              <uax:ValueRank>-1</uax:ValueRank>\n              <uax:ArrayDimensions />\n              <uax:Description />\n            </uax:Argument>\n          </uax:Body>\n        </uax:ExtensionObject>\n        <uax:ExtensionObject>\n          <uax:TypeId>\n            <uax:Identifier>i=297</uax:Identifier>\n          </uax:TypeId>\n          <uax:Body>\n            <uax:Argument>\n              <uax:Name>ResultCount</uax:Name>\n              <uax:DataType>\n                <uax:Identifier>i=7</uax:Identifier>\n              </uax:DataType>\n              <uax:ValueRank>-1</uax:ValueRank>\n              <uax:ArrayDimensions />\n              <uax:Description />\n            </uax:Argument>\n          </uax:Body>\n        </uax:ExtensionObject>\n        <uax:ExtensionObject>\n          <uax:TypeId>\n            <uax:Identifier>i=297</uax:Identifier>\n          </uax:TypeId>\n          <uax:Body>\n            <uax:Argument>\n              <uax:Name>RecipeHandle</uax:Name>\n              <uax:DataType>\n                <uax:Identifier>ns=1;i=3018</uax:Identifier>\n              </uax:DataType>\n              <uax:ValueRank>-1</uax:ValueRank>\n              <uax:ArrayDimensions />\n              <uax:Description />\n            </uax:Argument>\n          </uax:Body>\n        </uax:ExtensionObject>\n        <uax:ExtensionObject>\n          <uax:TypeId>\n            <uax:Identifier>i=297</uax:Identifier>\n          </uax:TypeId>\n          <uax:Body>\n            <uax:Argument>\n              <uax:Name>RecipeList</uax:Name>\n              <uax:DataType>\n                <uax:Identifier>ns=1;i=3013</uax:Identifier>\n              </uax:DataType>\n              <uax:ValueRank>1</uax:ValueRank>\n              <uax:ArrayDimensions />\n              <uax:Description />\n            </uax:Argument>\n          </uax:Body>\n        </uax:ExtensionObject>\n        <uax:ExtensionObject>\n          <uax:TypeId>\n            <uax:Identifier>i=297</uax:Identifier>\n          </uax:TypeId>\n          <uax:Body>\n            <uax:Argument>\n              <uax:Name>Error</uax:Name>\n              <uax:DataType>\n                <uax:Identifier>i=6</uax:Identifier>\n              </uax:DataType>\n              <uax:ValueRank>-1</uax:ValueRank>\n              <uax:ArrayDimensions />\n              <uax:Description />\n            </uax:Argument>\n          </uax:Body>\n        </uax:ExtensionObject>\n      </uax:ListOfExtensionObject>\n    </Value>\n  </UAVariable>\n  <UAMethod NodeId=\"ns=1;i=7075\" BrowseName=\"1:PrepareProduct\" ParentNodeId=\"ns=1;i=5015\" MethodDeclarationId=\"ns=1;i=7060\">\n    <DisplayName>PrepareProduct</DisplayName>\n    <Documentation>https://reference.opcfoundation.org/v104/MachineVision/v100/docs/7.5.2/#7.5.2.7</Documentation>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=6371</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=80</Reference>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=6372</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=5015</Reference>\n    </References>\n  </UAMethod>\n  <UAVariable NodeId=\"ns=1;i=6371\" BrowseName=\"InputArguments\" ParentNodeId=\"ns=1;i=7075\" DataType=\"Argument\" ValueRank=\"1\" ArrayDimensions=\"1\">\n    <DisplayName>InputArguments</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=7075</Reference>\n    </References>\n    <Value>\n      <uax:ListOfExtensionObject xmlns:uax=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <uax:ExtensionObject>\n          <uax:TypeId>\n            <uax:Identifier>i=297</uax:Identifier>\n          </uax:TypeId>\n          <uax:Body>\n            <uax:Argument>\n              <uax:Name>ProductId</uax:Name>\n              <uax:DataType>\n                <uax:Identifier>ns=1;i=3003</uax:Identifier>\n              </uax:DataType>\n              <uax:ValueRank>-1</uax:ValueRank>\n              <uax:ArrayDimensions />\n              <uax:Description />\n            </uax:Argument>\n          </uax:Body>\n        </uax:ExtensionObject>\n      </uax:ListOfExtensionObject>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=6372\" BrowseName=\"OutputArguments\" ParentNodeId=\"ns=1;i=7075\" DataType=\"Argument\" ValueRank=\"1\" ArrayDimensions=\"2\">\n    <DisplayName>OutputArguments</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=7075</Reference>\n    </References>\n    <Value>\n      <uax:ListOfExtensionObject xmlns:uax=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <uax:ExtensionObject>\n          <uax:TypeId>\n            <uax:Identifier>i=297</uax:Identifier>\n          </uax:TypeId>\n          <uax:Body>\n            <uax:Argument>\n              <uax:Name>InternalId</uax:Name>\n              <uax:DataType>\n                <uax:Identifier>ns=1;i=3013</uax:Identifier>\n              </uax:DataType>\n              <uax:ValueRank>-1</uax:ValueRank>\n              <uax:ArrayDimensions />\n              <uax:Description />\n            </uax:Argument>\n          </uax:Body>\n        </uax:ExtensionObject>\n        <uax:ExtensionObject>\n          <uax:TypeId>\n            <uax:Identifier>i=297</uax:Identifier>\n          </uax:TypeId>\n          <uax:Body>\n            <uax:Argument>\n              <uax:Name>Error</uax:Name>\n              <uax:DataType>\n                <uax:Identifier>i=6</uax:Identifier>\n              </uax:DataType>\n              <uax:ValueRank>-1</uax:ValueRank>\n              <uax:ArrayDimensions />\n              <uax:Description />\n            </uax:Argument>\n          </uax:Body>\n        </uax:ExtensionObject>\n      </uax:ListOfExtensionObject>\n    </Value>\n  </UAVariable>\n  <UAMethod NodeId=\"ns=1;i=7031\" BrowseName=\"1:PrepareRecipe\" ParentNodeId=\"ns=1;i=5015\" MethodDeclarationId=\"ns=1;i=7015\">\n    <DisplayName>PrepareRecipe</DisplayName>\n    <Documentation>https://reference.opcfoundation.org/v104/MachineVision/v100/docs/7.5.2/#7.5.2.2</Documentation>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=6107</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=6110</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=5015</Reference>\n    </References>\n  </UAMethod>\n  <UAVariable NodeId=\"ns=1;i=6107\" BrowseName=\"InputArguments\" ParentNodeId=\"ns=1;i=7031\" DataType=\"Argument\" ValueRank=\"1\" ArrayDimensions=\"2\">\n    <DisplayName>InputArguments</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=7031</Reference>\n    </References>\n    <Value>\n      <uax:ListOfExtensionObject xmlns:uax=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <uax:ExtensionObject>\n          <uax:TypeId>\n            <uax:Identifier>i=297</uax:Identifier>\n          </uax:TypeId>\n          <uax:Body>\n            <uax:Argument>\n              <uax:Name>ExternalId</uax:Name>\n              <uax:DataType>\n                <uax:Identifier>ns=1;i=3002</uax:Identifier>\n              </uax:DataType>\n              <uax:ValueRank>-1</uax:ValueRank>\n              <uax:ArrayDimensions />\n              <uax:Description />\n            </uax:Argument>\n          </uax:Body>\n        </uax:ExtensionObject>\n        <uax:ExtensionObject>\n          <uax:TypeId>\n            <uax:Identifier>i=297</uax:Identifier>\n          </uax:TypeId>\n          <uax:Body>\n            <uax:Argument>\n              <uax:Name>InternalIdIn</uax:Name>\n              <uax:DataType>\n                <uax:Identifier>ns=1;i=3013</uax:Identifier>\n              </uax:DataType>\n              <uax:ValueRank>-1</uax:ValueRank>\n              <uax:ArrayDimensions />\n              <uax:Description />\n            </uax:Argument>\n          </uax:Body>\n        </uax:ExtensionObject>\n      </uax:ListOfExtensionObject>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=6110\" BrowseName=\"OutputArguments\" ParentNodeId=\"ns=1;i=7031\" DataType=\"Argument\" ValueRank=\"1\" ArrayDimensions=\"3\">\n    <DisplayName>OutputArguments</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=7031</Reference>\n    </References>\n    <Value>\n      <uax:ListOfExtensionObject xmlns:uax=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <uax:ExtensionObject>\n          <uax:TypeId>\n            <uax:Identifier>i=297</uax:Identifier>\n          </uax:TypeId>\n          <uax:Body>\n            <uax:Argument>\n              <uax:Name>InternalIdOut</uax:Name>\n              <uax:DataType>\n                <uax:Identifier>ns=1;i=3013</uax:Identifier>\n              </uax:DataType>\n              <uax:ValueRank>-1</uax:ValueRank>\n              <uax:ArrayDimensions />\n              <uax:Description />\n            </uax:Argument>\n          </uax:Body>\n        </uax:ExtensionObject>\n        <uax:ExtensionObject>\n          <uax:TypeId>\n            <uax:Identifier>i=297</uax:Identifier>\n          </uax:TypeId>\n          <uax:Body>\n            <uax:Argument>\n              <uax:Name>IsCompleted</uax:Name>\n              <uax:DataType>\n                <uax:Identifier>i=1</uax:Identifier>\n              </uax:DataType>\n              <uax:ValueRank>-1</uax:ValueRank>\n              <uax:ArrayDimensions />\n              <uax:Description />\n            </uax:Argument>\n          </uax:Body>\n        </uax:ExtensionObject>\n        <uax:ExtensionObject>\n          <uax:TypeId>\n            <uax:Identifier>i=297</uax:Identifier>\n          </uax:TypeId>\n          <uax:Body>\n            <uax:Argument>\n              <uax:Name>Error</uax:Name>\n              <uax:DataType>\n                <uax:Identifier>i=6</uax:Identifier>\n              </uax:DataType>\n              <uax:ValueRank>-1</uax:ValueRank>\n              <uax:ArrayDimensions />\n              <uax:Description />\n            </uax:Argument>\n          </uax:Body>\n        </uax:ExtensionObject>\n      </uax:ListOfExtensionObject>\n    </Value>\n  </UAVariable>\n  <UAObject NodeId=\"ns=1;i=5095\" BrowseName=\"1:Products\" ParentNodeId=\"ns=1;i=5015\">\n    <DisplayName>Products</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=6373</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=80</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">ns=1;i=1010</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=5015</Reference>\n    </References>\n  </UAObject>\n  <UAVariable NodeId=\"ns=1;i=6373\" BrowseName=\"1:&lt;Product&gt;\" SymbolicName=\"Product\" ParentNodeId=\"ns=1;i=5095\" DataType=\"ProductDataType\" AccessLevel=\"3\">\n    <DisplayName>&lt;Product&gt;</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=5095</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=63</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n    </References>\n  </UAVariable>\n  <UAObject NodeId=\"ns=1;i=5097\" BrowseName=\"1:Recipes\" ParentNodeId=\"ns=1;i=5015\">\n    <DisplayName>Recipes</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasModellingRule\">i=80</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">ns=1;i=1008</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=5015</Reference>\n    </References>\n  </UAObject>\n  <UAObject NodeId=\"ns=1;i=5096\" BrowseName=\"1:RecipeTransfer\" ParentNodeId=\"ns=1;i=5015\">\n    <DisplayName>RecipeTransfer</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=6374</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=7078</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=7079</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=7080</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=80</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=5015</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">ns=1;i=1014</Reference>\n    </References>\n  </UAObject>\n  <UAVariable NodeId=\"ns=1;i=6374\" BrowseName=\"ClientProcessingTimeout\" ParentNodeId=\"ns=1;i=5096\" DataType=\"Duration\">\n    <DisplayName>ClientProcessingTimeout</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=5096</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n    </References>\n  </UAVariable>\n  <UAMethod NodeId=\"ns=1;i=7078\" BrowseName=\"CloseAndCommit\" ParentNodeId=\"ns=1;i=5096\" MethodDeclarationId=\"i=15751\">\n    <DisplayName>CloseAndCommit</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=5096</Reference>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=6375</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=6376</Reference>\n    </References>\n  </UAMethod>\n  <UAVariable NodeId=\"ns=1;i=6375\" BrowseName=\"InputArguments\" ParentNodeId=\"ns=1;i=7078\" DataType=\"Argument\" ValueRank=\"1\" ArrayDimensions=\"1\">\n    <DisplayName>InputArguments</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=7078</Reference>\n    </References>\n    <Value>\n      <uax:ListOfExtensionObject xmlns:uax=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <uax:ExtensionObject>\n          <uax:TypeId>\n            <uax:Identifier>i=297</uax:Identifier>\n          </uax:TypeId>\n          <uax:Body>\n            <uax:Argument>\n              <uax:Name>FileHandle</uax:Name>\n              <uax:DataType>\n                <uax:Identifier>i=7</uax:Identifier>\n              </uax:DataType>\n              <uax:ValueRank>-1</uax:ValueRank>\n              <uax:ArrayDimensions />\n              <uax:Description />\n            </uax:Argument>\n          </uax:Body>\n        </uax:ExtensionObject>\n      </uax:ListOfExtensionObject>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=6376\" BrowseName=\"OutputArguments\" ParentNodeId=\"ns=1;i=7078\" DataType=\"Argument\" ValueRank=\"1\" ArrayDimensions=\"1\">\n    <DisplayName>OutputArguments</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=7078</Reference>\n    </References>\n    <Value>\n      <uax:ListOfExtensionObject xmlns:uax=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <uax:ExtensionObject>\n          <uax:TypeId>\n            <uax:Identifier>i=297</uax:Identifier>\n          </uax:TypeId>\n          <uax:Body>\n            <uax:Argument>\n              <uax:Name>CompletionStateMachine</uax:Name>\n              <uax:DataType>\n                <uax:Identifier>i=17</uax:Identifier>\n              </uax:DataType>\n              <uax:ValueRank>-1</uax:ValueRank>\n              <uax:ArrayDimensions />\n              <uax:Description />\n            </uax:Argument>\n          </uax:Body>\n        </uax:ExtensionObject>\n      </uax:ListOfExtensionObject>\n    </Value>\n  </UAVariable>\n  <UAMethod NodeId=\"ns=1;i=7079\" BrowseName=\"GenerateFileForRead\" ParentNodeId=\"ns=1;i=5096\" MethodDeclarationId=\"ns=1;i=7123\">\n    <DisplayName>GenerateFileForRead</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=5096</Reference>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=6377</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=6378</Reference>\n    </References>\n  </UAMethod>\n  <UAVariable NodeId=\"ns=1;i=6377\" BrowseName=\"InputArguments\" ParentNodeId=\"ns=1;i=7079\" DataType=\"Argument\" ValueRank=\"1\" ArrayDimensions=\"1\">\n    <DisplayName>InputArguments</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=7079</Reference>\n    </References>\n    <Value>\n      <uax:ListOfExtensionObject xmlns:uax=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <uax:ExtensionObject>\n          <uax:TypeId>\n            <uax:Identifier>i=297</uax:Identifier>\n          </uax:TypeId>\n          <uax:Body>\n            <uax:Argument>\n              <uax:Name>generateOptions</uax:Name>\n              <uax:DataType>\n                <uax:Identifier>ns=1;i=3012</uax:Identifier>\n              </uax:DataType>\n              <uax:ValueRank>-1</uax:ValueRank>\n              <uax:ArrayDimensions />\n              <uax:Description />\n            </uax:Argument>\n          </uax:Body>\n        </uax:ExtensionObject>\n      </uax:ListOfExtensionObject>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=6378\" BrowseName=\"OutputArguments\" ParentNodeId=\"ns=1;i=7079\" DataType=\"Argument\" ValueRank=\"1\" ArrayDimensions=\"3\">\n    <DisplayName>OutputArguments</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=7079</Reference>\n    </References>\n    <Value>\n      <uax:ListOfExtensionObject xmlns:uax=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <uax:ExtensionObject>\n          <uax:TypeId>\n            <uax:Identifier>i=297</uax:Identifier>\n          </uax:TypeId>\n          <uax:Body>\n            <uax:Argument>\n              <uax:Name>fileNodeId</uax:Name>\n              <uax:DataType>\n                <uax:Identifier>i=17</uax:Identifier>\n              </uax:DataType>\n              <uax:ValueRank>-1</uax:ValueRank>\n              <uax:ArrayDimensions />\n              <uax:Description />\n            </uax:Argument>\n          </uax:Body>\n        </uax:ExtensionObject>\n        <uax:ExtensionObject>\n          <uax:TypeId>\n            <uax:Identifier>i=297</uax:Identifier>\n          </uax:TypeId>\n          <uax:Body>\n            <uax:Argument>\n              <uax:Name>fileHandle</uax:Name>\n              <uax:DataType>\n                <uax:Identifier>i=7</uax:Identifier>\n              </uax:DataType>\n              <uax:ValueRank>-1</uax:ValueRank>\n              <uax:ArrayDimensions />\n              <uax:Description />\n            </uax:Argument>\n          </uax:Body>\n        </uax:ExtensionObject>\n        <uax:ExtensionObject>\n          <uax:TypeId>\n            <uax:Identifier>i=297</uax:Identifier>\n          </uax:TypeId>\n          <uax:Body>\n            <uax:Argument>\n              <uax:Name>completionStateMachine</uax:Name>\n              <uax:DataType>\n                <uax:Identifier>i=17</uax:Identifier>\n              </uax:DataType>\n              <uax:ValueRank>-1</uax:ValueRank>\n              <uax:ArrayDimensions />\n              <uax:Description />\n            </uax:Argument>\n          </uax:Body>\n        </uax:ExtensionObject>\n      </uax:ListOfExtensionObject>\n    </Value>\n  </UAVariable>\n  <UAMethod NodeId=\"ns=1;i=7080\" BrowseName=\"GenerateFileForWrite\" ParentNodeId=\"ns=1;i=5096\" MethodDeclarationId=\"ns=1;i=7124\">\n    <DisplayName>GenerateFileForWrite</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=5096</Reference>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=6380</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=6381</Reference>\n    </References>\n  </UAMethod>\n  <UAVariable NodeId=\"ns=1;i=6380\" BrowseName=\"InputArguments\" ParentNodeId=\"ns=1;i=7080\" DataType=\"Argument\" ValueRank=\"1\" ArrayDimensions=\"1\">\n    <DisplayName>InputArguments</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=7080</Reference>\n    </References>\n    <Value>\n      <uax:ListOfExtensionObject xmlns:uax=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <uax:ExtensionObject>\n          <uax:TypeId>\n            <uax:Identifier>i=297</uax:Identifier>\n          </uax:TypeId>\n          <uax:Body>\n            <uax:Argument>\n              <uax:Name>GenerateOptions</uax:Name>\n              <uax:DataType>\n                <uax:Identifier>ns=1;i=3012</uax:Identifier>\n              </uax:DataType>\n              <uax:ValueRank>-1</uax:ValueRank>\n              <uax:ArrayDimensions />\n              <uax:Description />\n            </uax:Argument>\n          </uax:Body>\n        </uax:ExtensionObject>\n      </uax:ListOfExtensionObject>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=6381\" BrowseName=\"OutputArguments\" ParentNodeId=\"ns=1;i=7080\" DataType=\"Argument\" ValueRank=\"1\" ArrayDimensions=\"2\">\n    <DisplayName>OutputArguments</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=7080</Reference>\n    </References>\n    <Value>\n      <uax:ListOfExtensionObject xmlns:uax=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <uax:ExtensionObject>\n          <uax:TypeId>\n            <uax:Identifier>i=297</uax:Identifier>\n          </uax:TypeId>\n          <uax:Body>\n            <uax:Argument>\n              <uax:Name>FileNodeId</uax:Name>\n              <uax:DataType>\n                <uax:Identifier>i=17</uax:Identifier>\n              </uax:DataType>\n              <uax:ValueRank>-1</uax:ValueRank>\n              <uax:ArrayDimensions />\n              <uax:Description />\n            </uax:Argument>\n          </uax:Body>\n        </uax:ExtensionObject>\n        <uax:ExtensionObject>\n          <uax:TypeId>\n            <uax:Identifier>i=297</uax:Identifier>\n          </uax:TypeId>\n          <uax:Body>\n            <uax:Argument>\n              <uax:Name>FileHandle</uax:Name>\n              <uax:DataType>\n                <uax:Identifier>i=7</uax:Identifier>\n              </uax:DataType>\n              <uax:ValueRank>-1</uax:ValueRank>\n              <uax:ArrayDimensions />\n              <uax:Description />\n            </uax:Argument>\n          </uax:Body>\n        </uax:ExtensionObject>\n      </uax:ListOfExtensionObject>\n    </Value>\n  </UAVariable>\n  <UAMethod NodeId=\"ns=1;i=7081\" BrowseName=\"1:ReleaseRecipeHandle\" ParentNodeId=\"ns=1;i=5015\" MethodDeclarationId=\"ns=1;i=7056\">\n    <DisplayName>ReleaseRecipeHandle</DisplayName>\n    <Documentation>https://reference.opcfoundation.org/v104/MachineVision/v100/docs/7.5.2/#7.5.2.5</Documentation>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=6382</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=80</Reference>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=6383</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=5015</Reference>\n    </References>\n  </UAMethod>\n  <UAVariable NodeId=\"ns=1;i=6382\" BrowseName=\"InputArguments\" ParentNodeId=\"ns=1;i=7081\" DataType=\"Argument\" ValueRank=\"1\" ArrayDimensions=\"1\">\n    <DisplayName>InputArguments</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=7081</Reference>\n    </References>\n    <Value>\n      <uax:ListOfExtensionObject xmlns:uax=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <uax:ExtensionObject>\n          <uax:TypeId>\n            <uax:Identifier>i=297</uax:Identifier>\n          </uax:TypeId>\n          <uax:Body>\n            <uax:Argument>\n              <uax:Name>RecipeHandle</uax:Name>\n              <uax:DataType>\n                <uax:Identifier>ns=1;i=3018</uax:Identifier>\n              </uax:DataType>\n              <uax:ValueRank>-1</uax:ValueRank>\n              <uax:ArrayDimensions />\n              <uax:Description />\n            </uax:Argument>\n          </uax:Body>\n        </uax:ExtensionObject>\n      </uax:ListOfExtensionObject>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=6383\" BrowseName=\"OutputArguments\" ParentNodeId=\"ns=1;i=7081\" DataType=\"Argument\" ValueRank=\"1\" ArrayDimensions=\"1\">\n    <DisplayName>OutputArguments</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=7081</Reference>\n    </References>\n    <Value>\n      <uax:ListOfExtensionObject xmlns:uax=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <uax:ExtensionObject>\n          <uax:TypeId>\n            <uax:Identifier>i=297</uax:Identifier>\n          </uax:TypeId>\n          <uax:Body>\n            <uax:Argument>\n              <uax:Name>Error</uax:Name>\n              <uax:DataType>\n                <uax:Identifier>i=6</uax:Identifier>\n              </uax:DataType>\n              <uax:ValueRank>-1</uax:ValueRank>\n              <uax:ArrayDimensions />\n              <uax:Description />\n            </uax:Argument>\n          </uax:Body>\n        </uax:ExtensionObject>\n      </uax:ListOfExtensionObject>\n    </Value>\n  </UAVariable>\n  <UAMethod NodeId=\"ns=1;i=7082\" BrowseName=\"1:RemoveRecipe\" ParentNodeId=\"ns=1;i=5015\" MethodDeclarationId=\"ns=1;i=7057\">\n    <DisplayName>RemoveRecipe</DisplayName>\n    <Documentation>https://reference.opcfoundation.org/v104/MachineVision/v100/docs/7.5.2/#7.5.2.6</Documentation>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=6384</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=80</Reference>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=6385</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=5015</Reference>\n    </References>\n  </UAMethod>\n  <UAVariable NodeId=\"ns=1;i=6384\" BrowseName=\"InputArguments\" ParentNodeId=\"ns=1;i=7082\" DataType=\"Argument\" ValueRank=\"1\" ArrayDimensions=\"1\">\n    <DisplayName>InputArguments</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=7082</Reference>\n    </References>\n    <Value>\n      <uax:ListOfExtensionObject xmlns:uax=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <uax:ExtensionObject>\n          <uax:TypeId>\n            <uax:Identifier>i=297</uax:Identifier>\n          </uax:TypeId>\n          <uax:Body>\n            <uax:Argument>\n              <uax:Name>ExternalId</uax:Name>\n              <uax:DataType>\n                <uax:Identifier>ns=1;i=3002</uax:Identifier>\n              </uax:DataType>\n              <uax:ValueRank>-1</uax:ValueRank>\n              <uax:ArrayDimensions />\n              <uax:Description />\n            </uax:Argument>\n          </uax:Body>\n        </uax:ExtensionObject>\n      </uax:ListOfExtensionObject>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=6385\" BrowseName=\"OutputArguments\" ParentNodeId=\"ns=1;i=7082\" DataType=\"Argument\" ValueRank=\"1\" ArrayDimensions=\"1\">\n    <DisplayName>OutputArguments</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=7082</Reference>\n    </References>\n    <Value>\n      <uax:ListOfExtensionObject xmlns:uax=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <uax:ExtensionObject>\n          <uax:TypeId>\n            <uax:Identifier>i=297</uax:Identifier>\n          </uax:TypeId>\n          <uax:Body>\n            <uax:Argument>\n              <uax:Name>Error</uax:Name>\n              <uax:DataType>\n                <uax:Identifier>i=6</uax:Identifier>\n              </uax:DataType>\n              <uax:ValueRank>-1</uax:ValueRank>\n              <uax:ArrayDimensions />\n              <uax:Description />\n            </uax:Argument>\n          </uax:Body>\n        </uax:ExtensionObject>\n      </uax:ListOfExtensionObject>\n    </Value>\n  </UAVariable>\n  <UAMethod NodeId=\"ns=1;i=7083\" BrowseName=\"1:UnlinkProduct\" ParentNodeId=\"ns=1;i=5015\" MethodDeclarationId=\"ns=1;i=7061\">\n    <DisplayName>UnlinkProduct</DisplayName>\n    <Documentation>https://reference.opcfoundation.org/v104/MachineVision/v100/docs/7.7.2/#7.7.2.3</Documentation>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=6386</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=80</Reference>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=6387</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=5015</Reference>\n    </References>\n  </UAMethod>\n  <UAVariable NodeId=\"ns=1;i=6386\" BrowseName=\"InputArguments\" ParentNodeId=\"ns=1;i=7083\" DataType=\"Argument\" ValueRank=\"1\" ArrayDimensions=\"2\">\n    <DisplayName>InputArguments</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=7083</Reference>\n    </References>\n    <Value>\n      <uax:ListOfExtensionObject xmlns:uax=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <uax:ExtensionObject>\n          <uax:TypeId>\n            <uax:Identifier>i=297</uax:Identifier>\n          </uax:TypeId>\n          <uax:Body>\n            <uax:Argument>\n              <uax:Name>InternalId</uax:Name>\n              <uax:DataType>\n                <uax:Identifier>ns=1;i=3013</uax:Identifier>\n              </uax:DataType>\n              <uax:ValueRank>-1</uax:ValueRank>\n              <uax:ArrayDimensions />\n              <uax:Description />\n            </uax:Argument>\n          </uax:Body>\n        </uax:ExtensionObject>\n        <uax:ExtensionObject>\n          <uax:TypeId>\n            <uax:Identifier>i=297</uax:Identifier>\n          </uax:TypeId>\n          <uax:Body>\n            <uax:Argument>\n              <uax:Name>ProductId</uax:Name>\n              <uax:DataType>\n                <uax:Identifier>ns=1;i=3003</uax:Identifier>\n              </uax:DataType>\n              <uax:ValueRank>-1</uax:ValueRank>\n              <uax:ArrayDimensions />\n              <uax:Description />\n            </uax:Argument>\n          </uax:Body>\n        </uax:ExtensionObject>\n      </uax:ListOfExtensionObject>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=6387\" BrowseName=\"OutputArguments\" ParentNodeId=\"ns=1;i=7083\" DataType=\"Argument\" ValueRank=\"1\" ArrayDimensions=\"1\">\n    <DisplayName>OutputArguments</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=7083</Reference>\n    </References>\n    <Value>\n      <uax:ListOfExtensionObject xmlns:uax=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <uax:ExtensionObject>\n          <uax:TypeId>\n            <uax:Identifier>i=297</uax:Identifier>\n          </uax:TypeId>\n          <uax:Body>\n            <uax:Argument>\n              <uax:Name>Error</uax:Name>\n              <uax:DataType>\n                <uax:Identifier>i=6</uax:Identifier>\n              </uax:DataType>\n              <uax:ValueRank>-1</uax:ValueRank>\n              <uax:ArrayDimensions />\n              <uax:Description />\n            </uax:Argument>\n          </uax:Body>\n        </uax:ExtensionObject>\n      </uax:ListOfExtensionObject>\n    </Value>\n  </UAVariable>\n  <UAMethod NodeId=\"ns=1;i=7084\" BrowseName=\"1:UnprepareProduct\" ParentNodeId=\"ns=1;i=5015\" MethodDeclarationId=\"ns=1;i=7059\">\n    <DisplayName>UnprepareProduct</DisplayName>\n    <Documentation>https://reference.opcfoundation.org/v104/MachineVision/v100/docs/7.5.2/#7.5.2.8</Documentation>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=6388</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=80</Reference>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=6389</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=5015</Reference>\n    </References>\n  </UAMethod>\n  <UAVariable NodeId=\"ns=1;i=6388\" BrowseName=\"InputArguments\" ParentNodeId=\"ns=1;i=7084\" DataType=\"Argument\" ValueRank=\"1\" ArrayDimensions=\"1\">\n    <DisplayName>InputArguments</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=7084</Reference>\n    </References>\n    <Value>\n      <uax:ListOfExtensionObject xmlns:uax=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <uax:ExtensionObject>\n          <uax:TypeId>\n            <uax:Identifier>i=297</uax:Identifier>\n          </uax:TypeId>\n          <uax:Body>\n            <uax:Argument>\n              <uax:Name>ProductId</uax:Name>\n              <uax:DataType>\n                <uax:Identifier>ns=1;i=3003</uax:Identifier>\n              </uax:DataType>\n              <uax:ValueRank>-1</uax:ValueRank>\n              <uax:ArrayDimensions />\n              <uax:Description />\n            </uax:Argument>\n          </uax:Body>\n        </uax:ExtensionObject>\n      </uax:ListOfExtensionObject>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=6389\" BrowseName=\"OutputArguments\" ParentNodeId=\"ns=1;i=7084\" DataType=\"Argument\" ValueRank=\"1\" ArrayDimensions=\"2\">\n    <DisplayName>OutputArguments</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=7084</Reference>\n    </References>\n    <Value>\n      <uax:ListOfExtensionObject xmlns:uax=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <uax:ExtensionObject>\n          <uax:TypeId>\n            <uax:Identifier>i=297</uax:Identifier>\n          </uax:TypeId>\n          <uax:Body>\n            <uax:Argument>\n              <uax:Name>InternalId</uax:Name>\n              <uax:DataType>\n                <uax:Identifier>ns=1;i=3013</uax:Identifier>\n              </uax:DataType>\n              <uax:ValueRank>-1</uax:ValueRank>\n              <uax:ArrayDimensions />\n              <uax:Description />\n            </uax:Argument>\n          </uax:Body>\n        </uax:ExtensionObject>\n        <uax:ExtensionObject>\n          <uax:TypeId>\n            <uax:Identifier>i=297</uax:Identifier>\n          </uax:TypeId>\n          <uax:Body>\n            <uax:Argument>\n              <uax:Name>Error</uax:Name>\n              <uax:DataType>\n                <uax:Identifier>i=6</uax:Identifier>\n              </uax:DataType>\n              <uax:ValueRank>-1</uax:ValueRank>\n              <uax:ArrayDimensions />\n              <uax:Description />\n            </uax:Argument>\n          </uax:Body>\n        </uax:ExtensionObject>\n      </uax:ListOfExtensionObject>\n    </Value>\n  </UAVariable>\n  <UAMethod NodeId=\"ns=1;i=7032\" BrowseName=\"1:UnprepareRecipe\" ParentNodeId=\"ns=1;i=5015\" MethodDeclarationId=\"ns=1;i=7055\">\n    <DisplayName>UnprepareRecipe</DisplayName>\n    <Documentation>https://reference.opcfoundation.org/v104/MachineVision/v100/docs/7.5.2/#7.5.2.3</Documentation>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=6111</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=6114</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=5015</Reference>\n    </References>\n  </UAMethod>\n  <UAVariable NodeId=\"ns=1;i=6111\" BrowseName=\"InputArguments\" ParentNodeId=\"ns=1;i=7032\" DataType=\"Argument\" ValueRank=\"1\" ArrayDimensions=\"2\">\n    <DisplayName>InputArguments</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=7032</Reference>\n    </References>\n    <Value>\n      <uax:ListOfExtensionObject xmlns:uax=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <uax:ExtensionObject>\n          <uax:TypeId>\n            <uax:Identifier>i=297</uax:Identifier>\n          </uax:TypeId>\n          <uax:Body>\n            <uax:Argument>\n              <uax:Name>ExternalId</uax:Name>\n              <uax:DataType>\n                <uax:Identifier>ns=1;i=3002</uax:Identifier>\n              </uax:DataType>\n              <uax:ValueRank>-1</uax:ValueRank>\n              <uax:ArrayDimensions />\n              <uax:Description />\n            </uax:Argument>\n          </uax:Body>\n        </uax:ExtensionObject>\n        <uax:ExtensionObject>\n          <uax:TypeId>\n            <uax:Identifier>i=297</uax:Identifier>\n          </uax:TypeId>\n          <uax:Body>\n            <uax:Argument>\n              <uax:Name>InternalIdIn</uax:Name>\n              <uax:DataType>\n                <uax:Identifier>ns=1;i=3013</uax:Identifier>\n              </uax:DataType>\n              <uax:ValueRank>-1</uax:ValueRank>\n              <uax:ArrayDimensions />\n              <uax:Description />\n            </uax:Argument>\n          </uax:Body>\n        </uax:ExtensionObject>\n      </uax:ListOfExtensionObject>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=6114\" BrowseName=\"OutputArguments\" ParentNodeId=\"ns=1;i=7032\" DataType=\"Argument\" ValueRank=\"1\" ArrayDimensions=\"2\">\n    <DisplayName>OutputArguments</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=7032</Reference>\n    </References>\n    <Value>\n      <uax:ListOfExtensionObject xmlns:uax=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <uax:ExtensionObject>\n          <uax:TypeId>\n            <uax:Identifier>i=297</uax:Identifier>\n          </uax:TypeId>\n          <uax:Body>\n            <uax:Argument>\n              <uax:Name>InternalIdOut</uax:Name>\n              <uax:DataType>\n                <uax:Identifier>ns=1;i=3013</uax:Identifier>\n              </uax:DataType>\n              <uax:ValueRank>-1</uax:ValueRank>\n              <uax:ArrayDimensions />\n              <uax:Description />\n            </uax:Argument>\n          </uax:Body>\n        </uax:ExtensionObject>\n        <uax:ExtensionObject>\n          <uax:TypeId>\n            <uax:Identifier>i=297</uax:Identifier>\n          </uax:TypeId>\n          <uax:Body>\n            <uax:Argument>\n              <uax:Name>Error</uax:Name>\n              <uax:DataType>\n                <uax:Identifier>i=6</uax:Identifier>\n              </uax:DataType>\n              <uax:ValueRank>-1</uax:ValueRank>\n              <uax:ArrayDimensions />\n              <uax:Description />\n            </uax:Argument>\n          </uax:Body>\n        </uax:ExtensionObject>\n      </uax:ListOfExtensionObject>\n    </Value>\n  </UAVariable>\n  <UAObject NodeId=\"ns=1;i=5020\" BrowseName=\"1:ResultManagement\" ParentNodeId=\"ns=1;i=1003\">\n    <DisplayName>ResultManagement</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=7033</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=7034</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=7035</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=80</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=7085</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=1003</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">ns=1;i=1007</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=5099</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=5098</Reference>\n    </References>\n  </UAObject>\n  <UAMethod NodeId=\"ns=1;i=7033\" BrowseName=\"1:GetResultById\" ParentNodeId=\"ns=1;i=5020\" MethodDeclarationId=\"ns=1;i=7026\">\n    <DisplayName>GetResultById</DisplayName>\n    <Documentation>https://reference.opcfoundation.org/v104/MachineVision/v100/docs/7.10.2/#7.10.2.2</Documentation>\n    <References>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=5020</Reference>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=6115</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=6118</Reference>\n    </References>\n  </UAMethod>\n  <UAVariable NodeId=\"ns=1;i=6115\" BrowseName=\"InputArguments\" ParentNodeId=\"ns=1;i=7033\" DataType=\"Argument\" ValueRank=\"1\" ArrayDimensions=\"2\">\n    <DisplayName>InputArguments</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=7033</Reference>\n    </References>\n    <Value>\n      <uax:ListOfExtensionObject xmlns:uax=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <uax:ExtensionObject>\n          <uax:TypeId>\n            <uax:Identifier>i=297</uax:Identifier>\n          </uax:TypeId>\n          <uax:Body>\n            <uax:Argument>\n              <uax:Name>ResultId</uax:Name>\n              <uax:DataType>\n                <uax:Identifier>ns=1;i=3021</uax:Identifier>\n              </uax:DataType>\n              <uax:ValueRank>-1</uax:ValueRank>\n              <uax:ArrayDimensions />\n              <uax:Description />\n            </uax:Argument>\n          </uax:Body>\n        </uax:ExtensionObject>\n        <uax:ExtensionObject>\n          <uax:TypeId>\n            <uax:Identifier>i=297</uax:Identifier>\n          </uax:TypeId>\n          <uax:Body>\n            <uax:Argument>\n              <uax:Name>Timeout</uax:Name>\n              <uax:DataType>\n                <uax:Identifier>i=6</uax:Identifier>\n              </uax:DataType>\n              <uax:ValueRank>-1</uax:ValueRank>\n              <uax:ArrayDimensions />\n              <uax:Description />\n            </uax:Argument>\n          </uax:Body>\n        </uax:ExtensionObject>\n      </uax:ListOfExtensionObject>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=6118\" BrowseName=\"OutputArguments\" ParentNodeId=\"ns=1;i=7033\" DataType=\"Argument\" ValueRank=\"1\" ArrayDimensions=\"3\">\n    <DisplayName>OutputArguments</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=7033</Reference>\n    </References>\n    <Value>\n      <uax:ListOfExtensionObject xmlns:uax=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <uax:ExtensionObject>\n          <uax:TypeId>\n            <uax:Identifier>i=297</uax:Identifier>\n          </uax:TypeId>\n          <uax:Body>\n            <uax:Argument>\n              <uax:Name>ResultHandle</uax:Name>\n              <uax:DataType>\n                <uax:Identifier>ns=1;i=3018</uax:Identifier>\n              </uax:DataType>\n              <uax:ValueRank>-1</uax:ValueRank>\n              <uax:ArrayDimensions />\n              <uax:Description />\n            </uax:Argument>\n          </uax:Body>\n        </uax:ExtensionObject>\n        <uax:ExtensionObject>\n          <uax:TypeId>\n            <uax:Identifier>i=297</uax:Identifier>\n          </uax:TypeId>\n          <uax:Body>\n            <uax:Argument>\n              <uax:Name>Result</uax:Name>\n              <uax:DataType>\n                <uax:Identifier>ns=1;i=3006</uax:Identifier>\n              </uax:DataType>\n              <uax:ValueRank>-1</uax:ValueRank>\n              <uax:ArrayDimensions />\n              <uax:Description />\n            </uax:Argument>\n          </uax:Body>\n        </uax:ExtensionObject>\n        <uax:ExtensionObject>\n          <uax:TypeId>\n            <uax:Identifier>i=297</uax:Identifier>\n          </uax:TypeId>\n          <uax:Body>\n            <uax:Argument>\n              <uax:Name>Error</uax:Name>\n              <uax:DataType>\n                <uax:Identifier>i=6</uax:Identifier>\n              </uax:DataType>\n              <uax:ValueRank>-1</uax:ValueRank>\n              <uax:ArrayDimensions />\n              <uax:Description />\n            </uax:Argument>\n          </uax:Body>\n        </uax:ExtensionObject>\n      </uax:ListOfExtensionObject>\n    </Value>\n  </UAVariable>\n  <UAMethod NodeId=\"ns=1;i=7034\" BrowseName=\"1:GetResultComponentsById\" ParentNodeId=\"ns=1;i=5020\" MethodDeclarationId=\"ns=1;i=7007\">\n    <DisplayName>GetResultComponentsById</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=5020</Reference>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=6119</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=6123</Reference>\n    </References>\n  </UAMethod>\n  <UAVariable NodeId=\"ns=1;i=6119\" BrowseName=\"InputArguments\" ParentNodeId=\"ns=1;i=7034\" DataType=\"Argument\" ValueRank=\"1\" ArrayDimensions=\"2\">\n    <DisplayName>InputArguments</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=7034</Reference>\n    </References>\n    <Value>\n      <uax:ListOfExtensionObject xmlns:uax=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <uax:ExtensionObject>\n          <uax:TypeId>\n            <uax:Identifier>i=297</uax:Identifier>\n          </uax:TypeId>\n          <uax:Body>\n            <uax:Argument>\n              <uax:Name>ResultId</uax:Name>\n              <uax:DataType>\n                <uax:Identifier>ns=1;i=3021</uax:Identifier>\n              </uax:DataType>\n              <uax:ValueRank>-1</uax:ValueRank>\n              <uax:ArrayDimensions />\n              <uax:Description />\n            </uax:Argument>\n          </uax:Body>\n        </uax:ExtensionObject>\n        <uax:ExtensionObject>\n          <uax:TypeId>\n            <uax:Identifier>i=297</uax:Identifier>\n          </uax:TypeId>\n          <uax:Body>\n            <uax:Argument>\n              <uax:Name>Timeout</uax:Name>\n              <uax:DataType>\n                <uax:Identifier>i=6</uax:Identifier>\n              </uax:DataType>\n              <uax:ValueRank>-1</uax:ValueRank>\n              <uax:ArrayDimensions />\n              <uax:Description />\n            </uax:Argument>\n          </uax:Body>\n        </uax:ExtensionObject>\n      </uax:ListOfExtensionObject>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=6123\" BrowseName=\"OutputArguments\" ParentNodeId=\"ns=1;i=7034\" DataType=\"Argument\" ValueRank=\"1\" ArrayDimensions=\"17\">\n    <DisplayName>OutputArguments</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=7034</Reference>\n    </References>\n    <Value>\n      <uax:ListOfExtensionObject xmlns:uax=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <uax:ExtensionObject>\n          <uax:TypeId>\n            <uax:Identifier>i=297</uax:Identifier>\n          </uax:TypeId>\n          <uax:Body>\n            <uax:Argument>\n              <uax:Name>HasTransferableDataOnFile</uax:Name>\n              <uax:DataType>\n                <uax:Identifier>i=1</uax:Identifier>\n              </uax:DataType>\n              <uax:ValueRank>-1</uax:ValueRank>\n              <uax:ArrayDimensions />\n              <uax:Description />\n            </uax:Argument>\n          </uax:Body>\n        </uax:ExtensionObject>\n        <uax:ExtensionObject>\n          <uax:TypeId>\n            <uax:Identifier>i=297</uax:Identifier>\n          </uax:TypeId>\n          <uax:Body>\n            <uax:Argument>\n              <uax:Name>ResultHandle</uax:Name>\n              <uax:DataType>\n                <uax:Identifier>ns=1;i=3018</uax:Identifier>\n              </uax:DataType>\n              <uax:ValueRank>-1</uax:ValueRank>\n              <uax:ArrayDimensions />\n              <uax:Description />\n            </uax:Argument>\n          </uax:Body>\n        </uax:ExtensionObject>\n        <uax:ExtensionObject>\n          <uax:TypeId>\n            <uax:Identifier>i=297</uax:Identifier>\n          </uax:TypeId>\n          <uax:Body>\n            <uax:Argument>\n              <uax:Name>IsPartial</uax:Name>\n              <uax:DataType>\n                <uax:Identifier>i=1</uax:Identifier>\n              </uax:DataType>\n              <uax:ValueRank>-1</uax:ValueRank>\n              <uax:ArrayDimensions />\n              <uax:Description />\n            </uax:Argument>\n          </uax:Body>\n        </uax:ExtensionObject>\n        <uax:ExtensionObject>\n          <uax:TypeId>\n            <uax:Identifier>i=297</uax:Identifier>\n          </uax:TypeId>\n          <uax:Body>\n            <uax:Argument>\n              <uax:Name>IsSimulated</uax:Name>\n              <uax:DataType>\n                <uax:Identifier>i=1</uax:Identifier>\n              </uax:DataType>\n              <uax:ValueRank>-1</uax:ValueRank>\n              <uax:ArrayDimensions />\n              <uax:Description />\n            </uax:Argument>\n          </uax:Body>\n        </uax:ExtensionObject>\n        <uax:ExtensionObject>\n          <uax:TypeId>\n            <uax:Identifier>i=297</uax:Identifier>\n          </uax:TypeId>\n          <uax:Body>\n            <uax:Argument>\n              <uax:Name>ResultState</uax:Name>\n              <uax:DataType>\n                <uax:Identifier>ns=1;i=3009</uax:Identifier>\n              </uax:DataType>\n              <uax:ValueRank>-1</uax:ValueRank>\n              <uax:ArrayDimensions />\n              <uax:Description />\n            </uax:Argument>\n          </uax:Body>\n        </uax:ExtensionObject>\n        <uax:ExtensionObject>\n          <uax:TypeId>\n            <uax:Identifier>i=297</uax:Identifier>\n          </uax:TypeId>\n          <uax:Body>\n            <uax:Argument>\n              <uax:Name>MeasId</uax:Name>\n              <uax:DataType>\n                <uax:Identifier>ns=1;i=3015</uax:Identifier>\n              </uax:DataType>\n              <uax:ValueRank>-1</uax:ValueRank>\n              <uax:ArrayDimensions />\n              <uax:Description />\n            </uax:Argument>\n          </uax:Body>\n        </uax:ExtensionObject>\n        <uax:ExtensionObject>\n          <uax:TypeId>\n            <uax:Identifier>i=297</uax:Identifier>\n          </uax:TypeId>\n          <uax:Body>\n            <uax:Argument>\n              <uax:Name>PartId</uax:Name>\n              <uax:DataType>\n                <uax:Identifier>ns=1;i=3004</uax:Identifier>\n              </uax:DataType>\n              <uax:ValueRank>-1</uax:ValueRank>\n              <uax:ArrayDimensions />\n              <uax:Description />\n            </uax:Argument>\n          </uax:Body>\n        </uax:ExtensionObject>\n        <uax:ExtensionObject>\n          <uax:TypeId>\n            <uax:Identifier>i=297</uax:Identifier>\n          </uax:TypeId>\n          <uax:Body>\n            <uax:Argument>\n              <uax:Name>ExternalRecipeId</uax:Name>\n              <uax:DataType>\n                <uax:Identifier>ns=1;i=3002</uax:Identifier>\n              </uax:DataType>\n              <uax:ValueRank>-1</uax:ValueRank>\n              <uax:ArrayDimensions />\n              <uax:Description />\n            </uax:Argument>\n          </uax:Body>\n        </uax:ExtensionObject>\n        <uax:ExtensionObject>\n          <uax:TypeId>\n            <uax:Identifier>i=297</uax:Identifier>\n          </uax:TypeId>\n          <uax:Body>\n            <uax:Argument>\n              <uax:Name>InternalRecipeId</uax:Name>\n              <uax:DataType>\n                <uax:Identifier>ns=1;i=3013</uax:Identifier>\n              </uax:DataType>\n              <uax:ValueRank>-1</uax:ValueRank>\n              <uax:ArrayDimensions />\n              <uax:Description />\n            </uax:Argument>\n          </uax:Body>\n        </uax:ExtensionObject>\n        <uax:ExtensionObject>\n          <uax:TypeId>\n            <uax:Identifier>i=297</uax:Identifier>\n          </uax:TypeId>\n          <uax:Body>\n            <uax:Argument>\n              <uax:Name>ProductId</uax:Name>\n              <uax:DataType>\n                <uax:Identifier>ns=1;i=3003</uax:Identifier>\n              </uax:DataType>\n              <uax:ValueRank>-1</uax:ValueRank>\n              <uax:ArrayDimensions />\n              <uax:Description />\n            </uax:Argument>\n          </uax:Body>\n        </uax:ExtensionObject>\n        <uax:ExtensionObject>\n          <uax:TypeId>\n            <uax:Identifier>i=297</uax:Identifier>\n          </uax:TypeId>\n          <uax:Body>\n            <uax:Argument>\n              <uax:Name>ExternalConfigurationId</uax:Name>\n              <uax:DataType>\n                <uax:Identifier>ns=1;i=3008</uax:Identifier>\n              </uax:DataType>\n              <uax:ValueRank>-1</uax:ValueRank>\n              <uax:ArrayDimensions />\n              <uax:Description />\n            </uax:Argument>\n          </uax:Body>\n        </uax:ExtensionObject>\n        <uax:ExtensionObject>\n          <uax:TypeId>\n            <uax:Identifier>i=297</uax:Identifier>\n          </uax:TypeId>\n          <uax:Body>\n            <uax:Argument>\n              <uax:Name>InternalConfigurationId</uax:Name>\n              <uax:DataType>\n                <uax:Identifier>ns=1;i=3008</uax:Identifier>\n              </uax:DataType>\n              <uax:ValueRank>-1</uax:ValueRank>\n              <uax:ArrayDimensions />\n              <uax:Description />\n            </uax:Argument>\n          </uax:Body>\n        </uax:ExtensionObject>\n        <uax:ExtensionObject>\n          <uax:TypeId>\n            <uax:Identifier>i=297</uax:Identifier>\n          </uax:TypeId>\n          <uax:Body>\n            <uax:Argument>\n              <uax:Name>JobId</uax:Name>\n              <uax:DataType>\n                <uax:Identifier>ns=1;i=3016</uax:Identifier>\n              </uax:DataType>\n              <uax:ValueRank>-1</uax:ValueRank>\n              <uax:ArrayDimensions />\n              <uax:Description />\n            </uax:Argument>\n          </uax:Body>\n        </uax:ExtensionObject>\n        <uax:ExtensionObject>\n          <uax:TypeId>\n            <uax:Identifier>i=297</uax:Identifier>\n          </uax:TypeId>\n          <uax:Body>\n            <uax:Argument>\n              <uax:Name>CreationTime</uax:Name>\n              <uax:DataType>\n                <uax:Identifier>i=294</uax:Identifier>\n              </uax:DataType>\n              <uax:ValueRank>-1</uax:ValueRank>\n              <uax:ArrayDimensions />\n              <uax:Description />\n            </uax:Argument>\n          </uax:Body>\n        </uax:ExtensionObject>\n        <uax:ExtensionObject>\n          <uax:TypeId>\n            <uax:Identifier>i=297</uax:Identifier>\n          </uax:TypeId>\n          <uax:Body>\n            <uax:Argument>\n              <uax:Name>ProcessingTimes</uax:Name>\n              <uax:DataType>\n                <uax:Identifier>ns=1;i=3005</uax:Identifier>\n              </uax:DataType>\n              <uax:ValueRank>-1</uax:ValueRank>\n              <uax:ArrayDimensions />\n              <uax:Description />\n            </uax:Argument>\n          </uax:Body>\n        </uax:ExtensionObject>\n        <uax:ExtensionObject>\n          <uax:TypeId>\n            <uax:Identifier>i=297</uax:Identifier>\n          </uax:TypeId>\n          <uax:Body>\n            <uax:Argument>\n              <uax:Name>ResultContent</uax:Name>\n              <uax:DataType>\n                <uax:Identifier>i=24</uax:Identifier>\n              </uax:DataType>\n              <uax:ValueRank>1</uax:ValueRank>\n              <uax:ArrayDimensions />\n              <uax:Description />\n            </uax:Argument>\n          </uax:Body>\n        </uax:ExtensionObject>\n        <uax:ExtensionObject>\n          <uax:TypeId>\n            <uax:Identifier>i=297</uax:Identifier>\n          </uax:TypeId>\n          <uax:Body>\n            <uax:Argument>\n              <uax:Name>Error</uax:Name>\n              <uax:DataType>\n                <uax:Identifier>i=6</uax:Identifier>\n              </uax:DataType>\n              <uax:ValueRank>-1</uax:ValueRank>\n              <uax:ArrayDimensions />\n              <uax:Description />\n            </uax:Argument>\n          </uax:Body>\n        </uax:ExtensionObject>\n      </uax:ListOfExtensionObject>\n    </Value>\n  </UAVariable>\n  <UAMethod NodeId=\"ns=1;i=7035\" BrowseName=\"1:GetResultListFiltered\" ParentNodeId=\"ns=1;i=5020\" MethodDeclarationId=\"ns=1;i=7089\">\n    <DisplayName>GetResultListFiltered</DisplayName>\n    <Documentation>https://reference.opcfoundation.org/v104/MachineVision/v100/docs/7.10.2/#7.10.2.3</Documentation>\n    <References>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=5020</Reference>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=6124</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=6133</Reference>\n    </References>\n  </UAMethod>\n  <UAVariable NodeId=\"ns=1;i=6124\" BrowseName=\"InputArguments\" ParentNodeId=\"ns=1;i=7035\" DataType=\"Argument\" ValueRank=\"1\" ArrayDimensions=\"12\">\n    <DisplayName>InputArguments</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=7035</Reference>\n    </References>\n    <Value>\n      <uax:ListOfExtensionObject xmlns:uax=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <uax:ExtensionObject>\n          <uax:TypeId>\n            <uax:Identifier>i=297</uax:Identifier>\n          </uax:TypeId>\n          <uax:Body>\n            <uax:Argument>\n              <uax:Name>ResultState</uax:Name>\n              <uax:DataType>\n                <uax:Identifier>ns=1;i=3009</uax:Identifier>\n              </uax:DataType>\n              <uax:ValueRank>-1</uax:ValueRank>\n              <uax:ArrayDimensions />\n              <uax:Description />\n            </uax:Argument>\n          </uax:Body>\n        </uax:ExtensionObject>\n        <uax:ExtensionObject>\n          <uax:TypeId>\n            <uax:Identifier>i=297</uax:Identifier>\n          </uax:TypeId>\n          <uax:Body>\n            <uax:Argument>\n              <uax:Name>MeasId</uax:Name>\n              <uax:DataType>\n                <uax:Identifier>ns=1;i=3015</uax:Identifier>\n              </uax:DataType>\n              <uax:ValueRank>-1</uax:ValueRank>\n              <uax:ArrayDimensions />\n              <uax:Description />\n            </uax:Argument>\n          </uax:Body>\n        </uax:ExtensionObject>\n        <uax:ExtensionObject>\n          <uax:TypeId>\n            <uax:Identifier>i=297</uax:Identifier>\n          </uax:TypeId>\n          <uax:Body>\n            <uax:Argument>\n              <uax:Name>PartId</uax:Name>\n              <uax:DataType>\n                <uax:Identifier>ns=1;i=3004</uax:Identifier>\n              </uax:DataType>\n              <uax:ValueRank>-1</uax:ValueRank>\n              <uax:ArrayDimensions />\n              <uax:Description />\n            </uax:Argument>\n          </uax:Body>\n        </uax:ExtensionObject>\n        <uax:ExtensionObject>\n          <uax:TypeId>\n            <uax:Identifier>i=297</uax:Identifier>\n          </uax:TypeId>\n          <uax:Body>\n            <uax:Argument>\n              <uax:Name>ExternalRecipeId</uax:Name>\n              <uax:DataType>\n                <uax:Identifier>ns=1;i=3002</uax:Identifier>\n              </uax:DataType>\n              <uax:ValueRank>-1</uax:ValueRank>\n              <uax:ArrayDimensions />\n              <uax:Description />\n            </uax:Argument>\n          </uax:Body>\n        </uax:ExtensionObject>\n        <uax:ExtensionObject>\n          <uax:TypeId>\n            <uax:Identifier>i=297</uax:Identifier>\n          </uax:TypeId>\n          <uax:Body>\n            <uax:Argument>\n              <uax:Name>InternalRecipeId</uax:Name>\n              <uax:DataType>\n                <uax:Identifier>ns=1;i=3013</uax:Identifier>\n              </uax:DataType>\n              <uax:ValueRank>-1</uax:ValueRank>\n              <uax:ArrayDimensions />\n              <uax:Description />\n            </uax:Argument>\n          </uax:Body>\n        </uax:ExtensionObject>\n        <uax:ExtensionObject>\n          <uax:TypeId>\n            <uax:Identifier>i=297</uax:Identifier>\n          </uax:TypeId>\n          <uax:Body>\n            <uax:Argument>\n              <uax:Name>ExternalConfigurationId</uax:Name>\n              <uax:DataType>\n                <uax:Identifier>ns=1;i=3008</uax:Identifier>\n              </uax:DataType>\n              <uax:ValueRank>-1</uax:ValueRank>\n              <uax:ArrayDimensions />\n              <uax:Description />\n            </uax:Argument>\n          </uax:Body>\n        </uax:ExtensionObject>\n        <uax:ExtensionObject>\n          <uax:TypeId>\n            <uax:Identifier>i=297</uax:Identifier>\n          </uax:TypeId>\n          <uax:Body>\n            <uax:Argument>\n              <uax:Name>InternalConfigurationId</uax:Name>\n              <uax:DataType>\n                <uax:Identifier>ns=1;i=3008</uax:Identifier>\n              </uax:DataType>\n              <uax:ValueRank>-1</uax:ValueRank>\n              <uax:ArrayDimensions />\n              <uax:Description />\n            </uax:Argument>\n          </uax:Body>\n        </uax:ExtensionObject>\n        <uax:ExtensionObject>\n          <uax:TypeId>\n            <uax:Identifier>i=297</uax:Identifier>\n          </uax:TypeId>\n          <uax:Body>\n            <uax:Argument>\n              <uax:Name>ProductId</uax:Name>\n              <uax:DataType>\n                <uax:Identifier>ns=1;i=3003</uax:Identifier>\n              </uax:DataType>\n              <uax:ValueRank>-1</uax:ValueRank>\n              <uax:ArrayDimensions />\n              <uax:Description />\n            </uax:Argument>\n          </uax:Body>\n        </uax:ExtensionObject>\n        <uax:ExtensionObject>\n          <uax:TypeId>\n            <uax:Identifier>i=297</uax:Identifier>\n          </uax:TypeId>\n          <uax:Body>\n            <uax:Argument>\n              <uax:Name>JobId</uax:Name>\n              <uax:DataType>\n                <uax:Identifier>ns=1;i=3016</uax:Identifier>\n              </uax:DataType>\n              <uax:ValueRank>-1</uax:ValueRank>\n              <uax:ArrayDimensions />\n              <uax:Description />\n            </uax:Argument>\n          </uax:Body>\n        </uax:ExtensionObject>\n        <uax:ExtensionObject>\n          <uax:TypeId>\n            <uax:Identifier>i=297</uax:Identifier>\n          </uax:TypeId>\n          <uax:Body>\n            <uax:Argument>\n              <uax:Name>MaxResults</uax:Name>\n              <uax:DataType>\n                <uax:Identifier>i=7</uax:Identifier>\n              </uax:DataType>\n              <uax:ValueRank>-1</uax:ValueRank>\n              <uax:ArrayDimensions />\n              <uax:Description />\n            </uax:Argument>\n          </uax:Body>\n        </uax:ExtensionObject>\n        <uax:ExtensionObject>\n          <uax:TypeId>\n            <uax:Identifier>i=297</uax:Identifier>\n          </uax:TypeId>\n          <uax:Body>\n            <uax:Argument>\n              <uax:Name>StartIndex</uax:Name>\n              <uax:DataType>\n                <uax:Identifier>i=7</uax:Identifier>\n              </uax:DataType>\n              <uax:ValueRank>-1</uax:ValueRank>\n              <uax:ArrayDimensions />\n              <uax:Description />\n            </uax:Argument>\n          </uax:Body>\n        </uax:ExtensionObject>\n        <uax:ExtensionObject>\n          <uax:TypeId>\n            <uax:Identifier>i=297</uax:Identifier>\n          </uax:TypeId>\n          <uax:Body>\n            <uax:Argument>\n              <uax:Name>Timeout</uax:Name>\n              <uax:DataType>\n                <uax:Identifier>i=6</uax:Identifier>\n              </uax:DataType>\n              <uax:ValueRank>-1</uax:ValueRank>\n              <uax:ArrayDimensions />\n              <uax:Description />\n            </uax:Argument>\n          </uax:Body>\n        </uax:ExtensionObject>\n      </uax:ListOfExtensionObject>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=6133\" BrowseName=\"OutputArguments\" ParentNodeId=\"ns=1;i=7035\" DataType=\"Argument\" ValueRank=\"1\" ArrayDimensions=\"5\">\n    <DisplayName>OutputArguments</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=7035</Reference>\n    </References>\n    <Value>\n      <uax:ListOfExtensionObject xmlns:uax=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <uax:ExtensionObject>\n          <uax:TypeId>\n            <uax:Identifier>i=297</uax:Identifier>\n          </uax:TypeId>\n          <uax:Body>\n            <uax:Argument>\n              <uax:Name>IsComplete</uax:Name>\n              <uax:DataType>\n                <uax:Identifier>i=1</uax:Identifier>\n              </uax:DataType>\n              <uax:ValueRank>-1</uax:ValueRank>\n              <uax:ArrayDimensions />\n              <uax:Description />\n            </uax:Argument>\n          </uax:Body>\n        </uax:ExtensionObject>\n        <uax:ExtensionObject>\n          <uax:TypeId>\n            <uax:Identifier>i=297</uax:Identifier>\n          </uax:TypeId>\n          <uax:Body>\n            <uax:Argument>\n              <uax:Name>ResultCount</uax:Name>\n              <uax:DataType>\n                <uax:Identifier>i=7</uax:Identifier>\n              </uax:DataType>\n              <uax:ValueRank>-1</uax:ValueRank>\n              <uax:ArrayDimensions />\n              <uax:Description />\n            </uax:Argument>\n          </uax:Body>\n        </uax:ExtensionObject>\n        <uax:ExtensionObject>\n          <uax:TypeId>\n            <uax:Identifier>i=297</uax:Identifier>\n          </uax:TypeId>\n          <uax:Body>\n            <uax:Argument>\n              <uax:Name>ResultHandle</uax:Name>\n              <uax:DataType>\n                <uax:Identifier>ns=1;i=3018</uax:Identifier>\n              </uax:DataType>\n              <uax:ValueRank>-1</uax:ValueRank>\n              <uax:ArrayDimensions />\n              <uax:Description />\n            </uax:Argument>\n          </uax:Body>\n        </uax:ExtensionObject>\n        <uax:ExtensionObject>\n          <uax:TypeId>\n            <uax:Identifier>i=297</uax:Identifier>\n          </uax:TypeId>\n          <uax:Body>\n            <uax:Argument>\n              <uax:Name>ResultList</uax:Name>\n              <uax:DataType>\n                <uax:Identifier>ns=1;i=3006</uax:Identifier>\n              </uax:DataType>\n              <uax:ValueRank>1</uax:ValueRank>\n              <uax:ArrayDimensions />\n              <uax:Description />\n            </uax:Argument>\n          </uax:Body>\n        </uax:ExtensionObject>\n        <uax:ExtensionObject>\n          <uax:TypeId>\n            <uax:Identifier>i=297</uax:Identifier>\n          </uax:TypeId>\n          <uax:Body>\n            <uax:Argument>\n              <uax:Name>Error</uax:Name>\n              <uax:DataType>\n                <uax:Identifier>i=6</uax:Identifier>\n              </uax:DataType>\n              <uax:ValueRank>-1</uax:ValueRank>\n              <uax:ArrayDimensions />\n              <uax:Description />\n            </uax:Argument>\n          </uax:Body>\n        </uax:ExtensionObject>\n      </uax:ListOfExtensionObject>\n    </Value>\n  </UAVariable>\n  <UAMethod NodeId=\"ns=1;i=7085\" BrowseName=\"1:ReleaseResultHandle\" ParentNodeId=\"ns=1;i=5020\" MethodDeclarationId=\"ns=1;i=7090\">\n    <DisplayName>ReleaseResultHandle</DisplayName>\n    <Documentation>https://reference.opcfoundation.org/v104/MachineVision/v100/docs/7.10.2/#7.10.2.4</Documentation>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=6391</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=80</Reference>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=6392</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=5020</Reference>\n    </References>\n  </UAMethod>\n  <UAVariable NodeId=\"ns=1;i=6391\" BrowseName=\"InputArguments\" ParentNodeId=\"ns=1;i=7085\" DataType=\"Argument\" ValueRank=\"1\" ArrayDimensions=\"1\">\n    <DisplayName>InputArguments</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=7085</Reference>\n    </References>\n    <Value>\n      <uax:ListOfExtensionObject xmlns:uax=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <uax:ExtensionObject>\n          <uax:TypeId>\n            <uax:Identifier>i=297</uax:Identifier>\n          </uax:TypeId>\n          <uax:Body>\n            <uax:Argument>\n              <uax:Name>ResultHandle</uax:Name>\n              <uax:DataType>\n                <uax:Identifier>ns=1;i=3018</uax:Identifier>\n              </uax:DataType>\n              <uax:ValueRank>-1</uax:ValueRank>\n              <uax:ArrayDimensions />\n              <uax:Description />\n            </uax:Argument>\n          </uax:Body>\n        </uax:ExtensionObject>\n      </uax:ListOfExtensionObject>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=6392\" BrowseName=\"OutputArguments\" ParentNodeId=\"ns=1;i=7085\" DataType=\"Argument\" ValueRank=\"1\" ArrayDimensions=\"1\">\n    <DisplayName>OutputArguments</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=7085</Reference>\n    </References>\n    <Value>\n      <uax:ListOfExtensionObject xmlns:uax=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <uax:ExtensionObject>\n          <uax:TypeId>\n            <uax:Identifier>i=297</uax:Identifier>\n          </uax:TypeId>\n          <uax:Body>\n            <uax:Argument>\n              <uax:Name>Error</uax:Name>\n              <uax:DataType>\n                <uax:Identifier>i=6</uax:Identifier>\n              </uax:DataType>\n              <uax:ValueRank>-1</uax:ValueRank>\n              <uax:ArrayDimensions />\n              <uax:Description />\n            </uax:Argument>\n          </uax:Body>\n        </uax:ExtensionObject>\n      </uax:ListOfExtensionObject>\n    </Value>\n  </UAVariable>\n  <UAObject NodeId=\"ns=1;i=5099\" BrowseName=\"1:Results\" ParentNodeId=\"ns=1;i=5020\">\n    <DisplayName>Results</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasModellingRule\">i=80</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">ns=1;i=1016</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=5020</Reference>\n    </References>\n  </UAObject>\n  <UAObject NodeId=\"ns=1;i=5098\" BrowseName=\"1:ResultTransfer\" ParentNodeId=\"ns=1;i=5020\">\n    <DisplayName>ResultTransfer</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=6393</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=7086</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=7087</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=7088</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=80</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=5020</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">ns=1;i=1039</Reference>\n    </References>\n  </UAObject>\n  <UAVariable NodeId=\"ns=1;i=6393\" BrowseName=\"ClientProcessingTimeout\" ParentNodeId=\"ns=1;i=5098\" DataType=\"Duration\">\n    <DisplayName>ClientProcessingTimeout</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=5098</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n    </References>\n  </UAVariable>\n  <UAMethod NodeId=\"ns=1;i=7086\" BrowseName=\"CloseAndCommit\" ParentNodeId=\"ns=1;i=5098\" MethodDeclarationId=\"i=15751\">\n    <DisplayName>CloseAndCommit</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=5098</Reference>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=6394</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=6395</Reference>\n    </References>\n  </UAMethod>\n  <UAVariable NodeId=\"ns=1;i=6394\" BrowseName=\"InputArguments\" ParentNodeId=\"ns=1;i=7086\" DataType=\"Argument\" ValueRank=\"1\" ArrayDimensions=\"1\">\n    <DisplayName>InputArguments</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=7086</Reference>\n    </References>\n    <Value>\n      <uax:ListOfExtensionObject xmlns:uax=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <uax:ExtensionObject>\n          <uax:TypeId>\n            <uax:Identifier>i=297</uax:Identifier>\n          </uax:TypeId>\n          <uax:Body>\n            <uax:Argument>\n              <uax:Name>FileHandle</uax:Name>\n              <uax:DataType>\n                <uax:Identifier>i=7</uax:Identifier>\n              </uax:DataType>\n              <uax:ValueRank>-1</uax:ValueRank>\n              <uax:ArrayDimensions />\n              <uax:Description />\n            </uax:Argument>\n          </uax:Body>\n        </uax:ExtensionObject>\n      </uax:ListOfExtensionObject>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=6395\" BrowseName=\"OutputArguments\" ParentNodeId=\"ns=1;i=7086\" DataType=\"Argument\" ValueRank=\"1\" ArrayDimensions=\"1\">\n    <DisplayName>OutputArguments</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=7086</Reference>\n    </References>\n    <Value>\n      <uax:ListOfExtensionObject xmlns:uax=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <uax:ExtensionObject>\n          <uax:TypeId>\n            <uax:Identifier>i=297</uax:Identifier>\n          </uax:TypeId>\n          <uax:Body>\n            <uax:Argument>\n              <uax:Name>CompletionStateMachine</uax:Name>\n              <uax:DataType>\n                <uax:Identifier>i=17</uax:Identifier>\n              </uax:DataType>\n              <uax:ValueRank>-1</uax:ValueRank>\n              <uax:ArrayDimensions />\n              <uax:Description />\n            </uax:Argument>\n          </uax:Body>\n        </uax:ExtensionObject>\n      </uax:ListOfExtensionObject>\n    </Value>\n  </UAVariable>\n  <UAMethod NodeId=\"ns=1;i=7087\" BrowseName=\"GenerateFileForRead\" ParentNodeId=\"ns=1;i=5098\" MethodDeclarationId=\"ns=1;i=7058\">\n    <DisplayName>GenerateFileForRead</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=5098</Reference>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=6396</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=6397</Reference>\n    </References>\n  </UAMethod>\n  <UAVariable NodeId=\"ns=1;i=6396\" BrowseName=\"InputArguments\" ParentNodeId=\"ns=1;i=7087\" DataType=\"Argument\" ValueRank=\"1\" ArrayDimensions=\"1\">\n    <DisplayName>InputArguments</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=7087</Reference>\n    </References>\n    <Value>\n      <uax:ListOfExtensionObject xmlns:uax=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <uax:ExtensionObject>\n          <uax:TypeId>\n            <uax:Identifier>i=297</uax:Identifier>\n          </uax:TypeId>\n          <uax:Body>\n            <uax:Argument>\n              <uax:Name>GenerateOptions</uax:Name>\n              <uax:DataType>\n                <uax:Identifier>ns=1;i=3022</uax:Identifier>\n              </uax:DataType>\n              <uax:ValueRank>-1</uax:ValueRank>\n              <uax:ArrayDimensions />\n              <uax:Description />\n            </uax:Argument>\n          </uax:Body>\n        </uax:ExtensionObject>\n      </uax:ListOfExtensionObject>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=6397\" BrowseName=\"OutputArguments\" ParentNodeId=\"ns=1;i=7087\" DataType=\"Argument\" ValueRank=\"1\" ArrayDimensions=\"3\">\n    <DisplayName>OutputArguments</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=7087</Reference>\n    </References>\n    <Value>\n      <uax:ListOfExtensionObject xmlns:uax=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <uax:ExtensionObject>\n          <uax:TypeId>\n            <uax:Identifier>i=297</uax:Identifier>\n          </uax:TypeId>\n          <uax:Body>\n            <uax:Argument>\n              <uax:Name>FileNodeId</uax:Name>\n              <uax:DataType>\n                <uax:Identifier>i=17</uax:Identifier>\n              </uax:DataType>\n              <uax:ValueRank>-1</uax:ValueRank>\n              <uax:ArrayDimensions />\n              <uax:Description />\n            </uax:Argument>\n          </uax:Body>\n        </uax:ExtensionObject>\n        <uax:ExtensionObject>\n          <uax:TypeId>\n            <uax:Identifier>i=297</uax:Identifier>\n          </uax:TypeId>\n          <uax:Body>\n            <uax:Argument>\n              <uax:Name>FileHandle</uax:Name>\n              <uax:DataType>\n                <uax:Identifier>i=7</uax:Identifier>\n              </uax:DataType>\n              <uax:ValueRank>-1</uax:ValueRank>\n              <uax:ArrayDimensions />\n              <uax:Description />\n            </uax:Argument>\n          </uax:Body>\n        </uax:ExtensionObject>\n        <uax:ExtensionObject>\n          <uax:TypeId>\n            <uax:Identifier>i=297</uax:Identifier>\n          </uax:TypeId>\n          <uax:Body>\n            <uax:Argument>\n              <uax:Name>CompletionStateMachine</uax:Name>\n              <uax:DataType>\n                <uax:Identifier>i=17</uax:Identifier>\n              </uax:DataType>\n              <uax:ValueRank>-1</uax:ValueRank>\n              <uax:ArrayDimensions />\n              <uax:Description />\n            </uax:Argument>\n          </uax:Body>\n        </uax:ExtensionObject>\n      </uax:ListOfExtensionObject>\n    </Value>\n  </UAVariable>\n  <UAMethod NodeId=\"ns=1;i=7088\" BrowseName=\"GenerateFileForWrite\" ParentNodeId=\"ns=1;i=5098\" MethodDeclarationId=\"i=15749\">\n    <DisplayName>GenerateFileForWrite</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=5098</Reference>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=6398</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=6399</Reference>\n    </References>\n  </UAMethod>\n  <UAVariable NodeId=\"ns=1;i=6398\" BrowseName=\"InputArguments\" ParentNodeId=\"ns=1;i=7088\" DataType=\"Argument\" ValueRank=\"1\" ArrayDimensions=\"1\">\n    <DisplayName>InputArguments</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=7088</Reference>\n    </References>\n    <Value>\n      <uax:ListOfExtensionObject xmlns:uax=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <uax:ExtensionObject>\n          <uax:TypeId>\n            <uax:Identifier>i=297</uax:Identifier>\n          </uax:TypeId>\n          <uax:Body>\n            <uax:Argument>\n              <uax:Name>GenerateOptions</uax:Name>\n              <uax:DataType>\n                <uax:Identifier>i=24</uax:Identifier>\n              </uax:DataType>\n              <uax:ValueRank>-1</uax:ValueRank>\n              <uax:ArrayDimensions />\n              <uax:Description />\n            </uax:Argument>\n          </uax:Body>\n        </uax:ExtensionObject>\n      </uax:ListOfExtensionObject>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=6399\" BrowseName=\"OutputArguments\" ParentNodeId=\"ns=1;i=7088\" DataType=\"Argument\" ValueRank=\"1\" ArrayDimensions=\"2\">\n    <DisplayName>OutputArguments</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=7088</Reference>\n    </References>\n    <Value>\n      <uax:ListOfExtensionObject xmlns:uax=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <uax:ExtensionObject>\n          <uax:TypeId>\n            <uax:Identifier>i=297</uax:Identifier>\n          </uax:TypeId>\n          <uax:Body>\n            <uax:Argument>\n              <uax:Name>FileNodeId</uax:Name>\n              <uax:DataType>\n                <uax:Identifier>i=17</uax:Identifier>\n              </uax:DataType>\n              <uax:ValueRank>-1</uax:ValueRank>\n              <uax:ArrayDimensions />\n              <uax:Description />\n            </uax:Argument>\n          </uax:Body>\n        </uax:ExtensionObject>\n        <uax:ExtensionObject>\n          <uax:TypeId>\n            <uax:Identifier>i=297</uax:Identifier>\n          </uax:TypeId>\n          <uax:Body>\n            <uax:Argument>\n              <uax:Name>FileHandle</uax:Name>\n              <uax:DataType>\n                <uax:Identifier>i=7</uax:Identifier>\n              </uax:DataType>\n              <uax:ValueRank>-1</uax:ValueRank>\n              <uax:ArrayDimensions />\n              <uax:Description />\n            </uax:Argument>\n          </uax:Body>\n        </uax:ExtensionObject>\n      </uax:ListOfExtensionObject>\n    </Value>\n  </UAVariable>\n  <UAObject NodeId=\"ns=1;i=5023\" BrowseName=\"1:SafetyStateManagement\" ParentNodeId=\"ns=1;i=1003\">\n    <DisplayName>SafetyStateManagement</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasModellingRule\">i=80</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=7036</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=1003</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">ns=1;i=1009</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=6150</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=6151</Reference>\n    </References>\n  </UAObject>\n  <UAMethod NodeId=\"ns=1;i=7036\" BrowseName=\"1:ReportSafetyState\" ParentNodeId=\"ns=1;i=5023\" MethodDeclarationId=\"ns=1;i=7043\">\n    <DisplayName>ReportSafetyState</DisplayName>\n    <Documentation>https://reference.opcfoundation.org/v104/MachineVision/v100/docs/7.13.2/#7.13.2.1</Documentation>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=6146</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=6147</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=5023</Reference>\n    </References>\n  </UAMethod>\n  <UAVariable NodeId=\"ns=1;i=6146\" BrowseName=\"InputArguments\" ParentNodeId=\"ns=1;i=7036\" DataType=\"Argument\" ValueRank=\"1\" ArrayDimensions=\"2\">\n    <DisplayName>InputArguments</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=7036</Reference>\n    </References>\n    <Value>\n      <uax:ListOfExtensionObject xmlns:uax=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <uax:ExtensionObject>\n          <uax:TypeId>\n            <uax:Identifier>i=297</uax:Identifier>\n          </uax:TypeId>\n          <uax:Body>\n            <uax:Argument>\n              <uax:Name>SafetyTriggered</uax:Name>\n              <uax:DataType>\n                <uax:Identifier>i=1</uax:Identifier>\n              </uax:DataType>\n              <uax:ValueRank>-1</uax:ValueRank>\n              <uax:ArrayDimensions />\n              <uax:Description />\n            </uax:Argument>\n          </uax:Body>\n        </uax:ExtensionObject>\n        <uax:ExtensionObject>\n          <uax:TypeId>\n            <uax:Identifier>i=297</uax:Identifier>\n          </uax:TypeId>\n          <uax:Body>\n            <uax:Argument>\n              <uax:Name>SafetyInformation</uax:Name>\n              <uax:DataType>\n                <uax:Identifier>i=12</uax:Identifier>\n              </uax:DataType>\n              <uax:ValueRank>-1</uax:ValueRank>\n              <uax:ArrayDimensions />\n              <uax:Description />\n            </uax:Argument>\n          </uax:Body>\n        </uax:ExtensionObject>\n      </uax:ListOfExtensionObject>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=6147\" BrowseName=\"OutputArguments\" ParentNodeId=\"ns=1;i=7036\" DataType=\"Argument\" ValueRank=\"1\" ArrayDimensions=\"1\">\n    <DisplayName>OutputArguments</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=7036</Reference>\n    </References>\n    <Value>\n      <uax:ListOfExtensionObject xmlns:uax=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <uax:ExtensionObject>\n          <uax:TypeId>\n            <uax:Identifier>i=297</uax:Identifier>\n          </uax:TypeId>\n          <uax:Body>\n            <uax:Argument>\n              <uax:Name>Error</uax:Name>\n              <uax:DataType>\n                <uax:Identifier>i=6</uax:Identifier>\n              </uax:DataType>\n              <uax:ValueRank>-1</uax:ValueRank>\n              <uax:ArrayDimensions />\n              <uax:Description />\n            </uax:Argument>\n          </uax:Body>\n        </uax:ExtensionObject>\n      </uax:ListOfExtensionObject>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=6150\" BrowseName=\"1:VisionSafetyInformation\" ParentNodeId=\"ns=1;i=5023\" DataType=\"String\" AccessLevel=\"3\">\n    <DisplayName>VisionSafetyInformation</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=63</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=5023</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=6151\" BrowseName=\"1:VisionSafetyTriggered\" ParentNodeId=\"ns=1;i=5023\" DataType=\"Boolean\" AccessLevel=\"3\">\n    <DisplayName>VisionSafetyTriggered</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=63</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=5023</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=6049\" BrowseName=\"1:SystemState\" ParentNodeId=\"ns=1;i=1003\" DataType=\"SystemStateDescriptionDataType\" AccessLevel=\"3\">\n    <DisplayName>SystemState</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=63</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=80</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=1003</Reference>\n    </References>\n    <Value>\n      <uax:ExtensionObject xmlns:uax=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <uax:TypeId>\n          <uax:Identifier>ns=1;i=5279</uax:Identifier>\n        </uax:TypeId>\n        <uax:Body>\n          <SystemStateDescriptionDataType xmlns=\"http://opcfoundation.org/UA/MachineVision/Types.xsd\">\n            <EncodingMask>0</EncodingMask>\n            <State>NST_6_6</State>\n          </SystemStateDescriptionDataType>\n        </uax:Body>\n      </uax:ExtensionObject>\n    </Value>\n  </UAVariable>\n  <UAObject NodeId=\"ns=1;i=5053\" BrowseName=\"1:VisionStateMachine\" ParentNodeId=\"ns=1;i=1003\">\n    <DisplayName>VisionStateMachine</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=5100</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=7049</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=6162</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=5107</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=5075</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=7037</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=5106</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=5076</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=5108</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=5101</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=5077</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=7038</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=7053</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=1003</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">ns=1;i=1017</Reference>\n    </References>\n  </UAObject>\n  <UAObject NodeId=\"ns=1;i=5100\" BrowseName=\"1:AutomaticModeStateMachine\" ParentNodeId=\"ns=1;i=5053\">\n    <DisplayName>AutomaticModeStateMachine</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=7092</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=5053</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=5102</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=6407</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=5103</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=80</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=5104</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=7107</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=5105</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=7099</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=7102</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=7103</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">ns=1;i=1021</Reference>\n    </References>\n  </UAObject>\n  <UAMethod NodeId=\"ns=1;i=7092\" BrowseName=\"1:Abort\" ParentNodeId=\"ns=1;i=5100\" MethodDeclarationId=\"ns=1;i=7097\">\n    <DisplayName>Abort</DisplayName>\n    <Documentation>https://reference.opcfoundation.org/v104/MachineVision/v100/docs/8.3.7/#8.3.7.3</Documentation>\n    <References>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=5100</Reference>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=6405</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=6406</Reference>\n    </References>\n  </UAMethod>\n  <UAVariable NodeId=\"ns=1;i=6405\" BrowseName=\"InputArguments\" ParentNodeId=\"ns=1;i=7092\" DataType=\"Argument\" ValueRank=\"1\" ArrayDimensions=\"2\">\n    <DisplayName>InputArguments</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=7092</Reference>\n    </References>\n    <Value>\n      <uax:ListOfExtensionObject xmlns:uax=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <uax:ExtensionObject>\n          <uax:TypeId>\n            <uax:Identifier>i=297</uax:Identifier>\n          </uax:TypeId>\n          <uax:Body>\n            <uax:Argument>\n              <uax:Name>Cause</uax:Name>\n              <uax:DataType>\n                <uax:Identifier>i=6</uax:Identifier>\n              </uax:DataType>\n              <uax:ValueRank>-1</uax:ValueRank>\n              <uax:ArrayDimensions />\n              <uax:Description />\n            </uax:Argument>\n          </uax:Body>\n        </uax:ExtensionObject>\n        <uax:ExtensionObject>\n          <uax:TypeId>\n            <uax:Identifier>i=297</uax:Identifier>\n          </uax:TypeId>\n          <uax:Body>\n            <uax:Argument>\n              <uax:Name>CauseDescription</uax:Name>\n              <uax:DataType>\n                <uax:Identifier>i=12</uax:Identifier>\n              </uax:DataType>\n              <uax:ValueRank>-1</uax:ValueRank>\n              <uax:ArrayDimensions />\n              <uax:Description />\n            </uax:Argument>\n          </uax:Body>\n        </uax:ExtensionObject>\n      </uax:ListOfExtensionObject>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=6406\" BrowseName=\"OutputArguments\" ParentNodeId=\"ns=1;i=7092\" DataType=\"Argument\" ValueRank=\"1\" ArrayDimensions=\"1\">\n    <DisplayName>OutputArguments</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=7092</Reference>\n    </References>\n    <Value>\n      <uax:ListOfExtensionObject xmlns:uax=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <uax:ExtensionObject>\n          <uax:TypeId>\n            <uax:Identifier>i=297</uax:Identifier>\n          </uax:TypeId>\n          <uax:Body>\n            <uax:Argument>\n              <uax:Name>Error</uax:Name>\n              <uax:DataType>\n                <uax:Identifier>i=6</uax:Identifier>\n              </uax:DataType>\n              <uax:ValueRank>-1</uax:ValueRank>\n              <uax:ArrayDimensions />\n              <uax:Description />\n            </uax:Argument>\n          </uax:Body>\n        </uax:ExtensionObject>\n      </uax:ListOfExtensionObject>\n    </Value>\n  </UAVariable>\n  <UAObject NodeId=\"ns=1;i=5102\" BrowseName=\"1:ContinuousExecutionStepModel\" ParentNodeId=\"ns=1;i=5100\">\n    <DisplayName>ContinuousExecutionStepModel</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=5100</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=6416</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=80</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=7104</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">ns=1;i=1026</Reference>\n    </References>\n  </UAObject>\n  <UAVariable NodeId=\"ns=1;i=6416\" BrowseName=\"CurrentState\" ParentNodeId=\"ns=1;i=5102\" DataType=\"LocalizedText\">\n    <DisplayName>CurrentState</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=5102</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=2760</Reference>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=6417</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=6417\" BrowseName=\"Id\" ParentNodeId=\"ns=1;i=6416\" DataType=\"NodeId\">\n    <DisplayName>Id</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=6416</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n    </References>\n  </UAVariable>\n  <UAMethod NodeId=\"ns=1;i=7104\" BrowseName=\"1:Sync\" ParentNodeId=\"ns=1;i=5102\" MethodDeclarationId=\"ns=1;i=7101\">\n    <DisplayName>Sync</DisplayName>\n    <Documentation>https://reference.opcfoundation.org/v104/MachineVision/v100/docs/8.4.6/#8.4.6.1</Documentation>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=6418</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=6419</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=5102</Reference>\n    </References>\n  </UAMethod>\n  <UAVariable NodeId=\"ns=1;i=6418\" BrowseName=\"InputArguments\" ParentNodeId=\"ns=1;i=7104\" DataType=\"Argument\" ValueRank=\"1\" ArrayDimensions=\"2\">\n    <DisplayName>InputArguments</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=7104</Reference>\n    </References>\n    <Value>\n      <uax:ListOfExtensionObject xmlns:uax=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <uax:ExtensionObject>\n          <uax:TypeId>\n            <uax:Identifier>i=297</uax:Identifier>\n          </uax:TypeId>\n          <uax:Body>\n            <uax:Argument>\n              <uax:Name>Cause</uax:Name>\n              <uax:DataType>\n                <uax:Identifier>i=6</uax:Identifier>\n              </uax:DataType>\n              <uax:ValueRank>-1</uax:ValueRank>\n              <uax:ArrayDimensions />\n              <uax:Description />\n            </uax:Argument>\n          </uax:Body>\n        </uax:ExtensionObject>\n        <uax:ExtensionObject>\n          <uax:TypeId>\n            <uax:Identifier>i=297</uax:Identifier>\n          </uax:TypeId>\n          <uax:Body>\n            <uax:Argument>\n              <uax:Name>CauseDescription</uax:Name>\n              <uax:DataType>\n                <uax:Identifier>i=12</uax:Identifier>\n              </uax:DataType>\n              <uax:ValueRank>-1</uax:ValueRank>\n              <uax:ArrayDimensions />\n              <uax:Description />\n            </uax:Argument>\n          </uax:Body>\n        </uax:ExtensionObject>\n      </uax:ListOfExtensionObject>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=6419\" BrowseName=\"OutputArguments\" ParentNodeId=\"ns=1;i=7104\" DataType=\"Argument\" ValueRank=\"1\" ArrayDimensions=\"1\">\n    <DisplayName>OutputArguments</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=7104</Reference>\n    </References>\n    <Value>\n      <uax:ListOfExtensionObject xmlns:uax=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <uax:ExtensionObject>\n          <uax:TypeId>\n            <uax:Identifier>i=297</uax:Identifier>\n          </uax:TypeId>\n          <uax:Body>\n            <uax:Argument>\n              <uax:Name>Error</uax:Name>\n              <uax:DataType>\n                <uax:Identifier>i=6</uax:Identifier>\n              </uax:DataType>\n              <uax:ValueRank>-1</uax:ValueRank>\n              <uax:ArrayDimensions />\n              <uax:Description />\n            </uax:Argument>\n          </uax:Body>\n        </uax:ExtensionObject>\n      </uax:ListOfExtensionObject>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=6407\" BrowseName=\"CurrentState\" ParentNodeId=\"ns=1;i=5100\" DataType=\"LocalizedText\">\n    <DisplayName>CurrentState</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=5100</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=2760</Reference>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=6408</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=6408\" BrowseName=\"Id\" ParentNodeId=\"ns=1;i=6407\" DataType=\"NodeId\">\n    <DisplayName>Id</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=6407</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n    </References>\n  </UAVariable>\n  <UAObject NodeId=\"ns=1;i=5103\" BrowseName=\"1:InitializedStepModel\" ParentNodeId=\"ns=1;i=5100\">\n    <DisplayName>InitializedStepModel</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=6420</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=5100</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=80</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=7105</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">ns=1;i=1026</Reference>\n    </References>\n  </UAObject>\n  <UAVariable NodeId=\"ns=1;i=6420\" BrowseName=\"CurrentState\" ParentNodeId=\"ns=1;i=5103\" DataType=\"LocalizedText\">\n    <DisplayName>CurrentState</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=5103</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=2760</Reference>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=6421</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=6421\" BrowseName=\"Id\" ParentNodeId=\"ns=1;i=6420\" DataType=\"NodeId\">\n    <DisplayName>Id</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=6420</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n    </References>\n  </UAVariable>\n  <UAMethod NodeId=\"ns=1;i=7105\" BrowseName=\"1:Sync\" ParentNodeId=\"ns=1;i=5103\" MethodDeclarationId=\"ns=1;i=7101\">\n    <DisplayName>Sync</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=6422</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=6423</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=5103</Reference>\n    </References>\n  </UAMethod>\n  <UAVariable NodeId=\"ns=1;i=6422\" BrowseName=\"InputArguments\" ParentNodeId=\"ns=1;i=7105\" DataType=\"Argument\" ValueRank=\"1\" ArrayDimensions=\"2\">\n    <DisplayName>InputArguments</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=7105</Reference>\n    </References>\n    <Value>\n      <uax:ListOfExtensionObject xmlns:uax=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <uax:ExtensionObject>\n          <uax:TypeId>\n            <uax:Identifier>i=297</uax:Identifier>\n          </uax:TypeId>\n          <uax:Body>\n            <uax:Argument>\n              <uax:Name>Cause</uax:Name>\n              <uax:DataType>\n                <uax:Identifier>i=6</uax:Identifier>\n              </uax:DataType>\n              <uax:ValueRank>-1</uax:ValueRank>\n              <uax:ArrayDimensions />\n              <uax:Description />\n            </uax:Argument>\n          </uax:Body>\n        </uax:ExtensionObject>\n        <uax:ExtensionObject>\n          <uax:TypeId>\n            <uax:Identifier>i=297</uax:Identifier>\n          </uax:TypeId>\n          <uax:Body>\n            <uax:Argument>\n              <uax:Name>CauseDescription</uax:Name>\n              <uax:DataType>\n                <uax:Identifier>i=12</uax:Identifier>\n              </uax:DataType>\n              <uax:ValueRank>-1</uax:ValueRank>\n              <uax:ArrayDimensions />\n              <uax:Description />\n            </uax:Argument>\n          </uax:Body>\n        </uax:ExtensionObject>\n      </uax:ListOfExtensionObject>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=6423\" BrowseName=\"OutputArguments\" ParentNodeId=\"ns=1;i=7105\" DataType=\"Argument\" ValueRank=\"1\" ArrayDimensions=\"1\">\n    <DisplayName>OutputArguments</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=7105</Reference>\n    </References>\n    <Value>\n      <uax:ListOfExtensionObject xmlns:uax=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <uax:ExtensionObject>\n          <uax:TypeId>\n            <uax:Identifier>i=297</uax:Identifier>\n          </uax:TypeId>\n          <uax:Body>\n            <uax:Argument>\n              <uax:Name>Error</uax:Name>\n              <uax:DataType>\n                <uax:Identifier>i=6</uax:Identifier>\n              </uax:DataType>\n              <uax:ValueRank>-1</uax:ValueRank>\n              <uax:ArrayDimensions />\n              <uax:Description />\n            </uax:Argument>\n          </uax:Body>\n        </uax:ExtensionObject>\n      </uax:ListOfExtensionObject>\n    </Value>\n  </UAVariable>\n  <UAObject NodeId=\"ns=1;i=5104\" BrowseName=\"1:ReadyStepModel\" ParentNodeId=\"ns=1;i=5100\">\n    <DisplayName>ReadyStepModel</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=6424</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=80</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=5100</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=7106</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">ns=1;i=1026</Reference>\n    </References>\n  </UAObject>\n  <UAVariable NodeId=\"ns=1;i=6424\" BrowseName=\"CurrentState\" ParentNodeId=\"ns=1;i=5104\" DataType=\"LocalizedText\">\n    <DisplayName>CurrentState</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=5104</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=2760</Reference>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=6425</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=6425\" BrowseName=\"Id\" ParentNodeId=\"ns=1;i=6424\" DataType=\"NodeId\">\n    <DisplayName>Id</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=6424</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n    </References>\n  </UAVariable>\n  <UAMethod NodeId=\"ns=1;i=7106\" BrowseName=\"1:Sync\" ParentNodeId=\"ns=1;i=5104\" MethodDeclarationId=\"ns=1;i=7101\">\n    <DisplayName>Sync</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=6426</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=6427</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=5104</Reference>\n    </References>\n  </UAMethod>\n  <UAVariable NodeId=\"ns=1;i=6426\" BrowseName=\"InputArguments\" ParentNodeId=\"ns=1;i=7106\" DataType=\"Argument\" ValueRank=\"1\" ArrayDimensions=\"2\">\n    <DisplayName>InputArguments</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=7106</Reference>\n    </References>\n    <Value>\n      <uax:ListOfExtensionObject xmlns:uax=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <uax:ExtensionObject>\n          <uax:TypeId>\n            <uax:Identifier>i=297</uax:Identifier>\n          </uax:TypeId>\n          <uax:Body>\n            <uax:Argument>\n              <uax:Name>Cause</uax:Name>\n              <uax:DataType>\n                <uax:Identifier>i=6</uax:Identifier>\n              </uax:DataType>\n              <uax:ValueRank>-1</uax:ValueRank>\n              <uax:ArrayDimensions />\n              <uax:Description />\n            </uax:Argument>\n          </uax:Body>\n        </uax:ExtensionObject>\n        <uax:ExtensionObject>\n          <uax:TypeId>\n            <uax:Identifier>i=297</uax:Identifier>\n          </uax:TypeId>\n          <uax:Body>\n            <uax:Argument>\n              <uax:Name>CauseDescription</uax:Name>\n              <uax:DataType>\n                <uax:Identifier>i=12</uax:Identifier>\n              </uax:DataType>\n              <uax:ValueRank>-1</uax:ValueRank>\n              <uax:ArrayDimensions />\n              <uax:Description />\n            </uax:Argument>\n          </uax:Body>\n        </uax:ExtensionObject>\n      </uax:ListOfExtensionObject>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=6427\" BrowseName=\"OutputArguments\" ParentNodeId=\"ns=1;i=7106\" DataType=\"Argument\" ValueRank=\"1\" ArrayDimensions=\"1\">\n    <DisplayName>OutputArguments</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=7106</Reference>\n    </References>\n    <Value>\n      <uax:ListOfExtensionObject xmlns:uax=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <uax:ExtensionObject>\n          <uax:TypeId>\n            <uax:Identifier>i=297</uax:Identifier>\n          </uax:TypeId>\n          <uax:Body>\n            <uax:Argument>\n              <uax:Name>Error</uax:Name>\n              <uax:DataType>\n                <uax:Identifier>i=6</uax:Identifier>\n              </uax:DataType>\n              <uax:ValueRank>-1</uax:ValueRank>\n              <uax:ArrayDimensions />\n              <uax:Description />\n            </uax:Argument>\n          </uax:Body>\n        </uax:ExtensionObject>\n      </uax:ListOfExtensionObject>\n    </Value>\n  </UAVariable>\n  <UAMethod NodeId=\"ns=1;i=7107\" BrowseName=\"1:SimulationMode\" ParentNodeId=\"ns=1;i=5100\" MethodDeclarationId=\"ns=1;i=7100\">\n    <DisplayName>SimulationMode</DisplayName>\n    <Documentation>https://reference.opcfoundation.org/v104/MachineVision/v100/docs/8.3.7/#8.3.7.5</Documentation>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=6428</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=80</Reference>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=6429</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=5100</Reference>\n    </References>\n  </UAMethod>\n  <UAVariable NodeId=\"ns=1;i=6428\" BrowseName=\"InputArguments\" ParentNodeId=\"ns=1;i=7107\" DataType=\"Argument\" ValueRank=\"1\" ArrayDimensions=\"3\">\n    <DisplayName>InputArguments</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=7107</Reference>\n    </References>\n    <Value>\n      <uax:ListOfExtensionObject xmlns:uax=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <uax:ExtensionObject>\n          <uax:TypeId>\n            <uax:Identifier>i=297</uax:Identifier>\n          </uax:TypeId>\n          <uax:Body>\n            <uax:Argument>\n              <uax:Name>Activate</uax:Name>\n              <uax:DataType>\n                <uax:Identifier>i=1</uax:Identifier>\n              </uax:DataType>\n              <uax:ValueRank>-1</uax:ValueRank>\n              <uax:ArrayDimensions />\n              <uax:Description />\n            </uax:Argument>\n          </uax:Body>\n        </uax:ExtensionObject>\n        <uax:ExtensionObject>\n          <uax:TypeId>\n            <uax:Identifier>i=297</uax:Identifier>\n          </uax:TypeId>\n          <uax:Body>\n            <uax:Argument>\n              <uax:Name>Cause</uax:Name>\n              <uax:DataType>\n                <uax:Identifier>i=6</uax:Identifier>\n              </uax:DataType>\n              <uax:ValueRank>-1</uax:ValueRank>\n              <uax:ArrayDimensions />\n              <uax:Description />\n            </uax:Argument>\n          </uax:Body>\n        </uax:ExtensionObject>\n        <uax:ExtensionObject>\n          <uax:TypeId>\n            <uax:Identifier>i=297</uax:Identifier>\n          </uax:TypeId>\n          <uax:Body>\n            <uax:Argument>\n              <uax:Name>CauseDescription</uax:Name>\n              <uax:DataType>\n                <uax:Identifier>i=12</uax:Identifier>\n              </uax:DataType>\n              <uax:ValueRank>-1</uax:ValueRank>\n              <uax:ArrayDimensions />\n              <uax:Description />\n            </uax:Argument>\n          </uax:Body>\n        </uax:ExtensionObject>\n      </uax:ListOfExtensionObject>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=6429\" BrowseName=\"OutputArguments\" ParentNodeId=\"ns=1;i=7107\" DataType=\"Argument\" ValueRank=\"1\" ArrayDimensions=\"1\">\n    <DisplayName>OutputArguments</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=7107</Reference>\n    </References>\n    <Value>\n      <uax:ListOfExtensionObject xmlns:uax=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <uax:ExtensionObject>\n          <uax:TypeId>\n            <uax:Identifier>i=297</uax:Identifier>\n          </uax:TypeId>\n          <uax:Body>\n            <uax:Argument>\n              <uax:Name>Error</uax:Name>\n              <uax:DataType>\n                <uax:Identifier>i=6</uax:Identifier>\n              </uax:DataType>\n              <uax:ValueRank>-1</uax:ValueRank>\n              <uax:ArrayDimensions />\n              <uax:Description />\n            </uax:Argument>\n          </uax:Body>\n        </uax:ExtensionObject>\n      </uax:ListOfExtensionObject>\n    </Value>\n  </UAVariable>\n  <UAObject NodeId=\"ns=1;i=5105\" BrowseName=\"1:SingleExecutionStepModel\" ParentNodeId=\"ns=1;i=5100\">\n    <DisplayName>SingleExecutionStepModel</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=6430</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=80</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=5100</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=7108</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">ns=1;i=1026</Reference>\n    </References>\n  </UAObject>\n  <UAVariable NodeId=\"ns=1;i=6430\" BrowseName=\"CurrentState\" ParentNodeId=\"ns=1;i=5105\" DataType=\"LocalizedText\">\n    <DisplayName>CurrentState</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=5105</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=2760</Reference>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=6431</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=6431\" BrowseName=\"Id\" ParentNodeId=\"ns=1;i=6430\" DataType=\"NodeId\">\n    <DisplayName>Id</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=6430</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n    </References>\n  </UAVariable>\n  <UAMethod NodeId=\"ns=1;i=7108\" BrowseName=\"1:Sync\" ParentNodeId=\"ns=1;i=5105\" MethodDeclarationId=\"ns=1;i=7101\">\n    <DisplayName>Sync</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=6432</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=6433</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=5105</Reference>\n    </References>\n  </UAMethod>\n  <UAVariable NodeId=\"ns=1;i=6432\" BrowseName=\"InputArguments\" ParentNodeId=\"ns=1;i=7108\" DataType=\"Argument\" ValueRank=\"1\" ArrayDimensions=\"2\">\n    <DisplayName>InputArguments</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=7108</Reference>\n    </References>\n    <Value>\n      <uax:ListOfExtensionObject xmlns:uax=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <uax:ExtensionObject>\n          <uax:TypeId>\n            <uax:Identifier>i=297</uax:Identifier>\n          </uax:TypeId>\n          <uax:Body>\n            <uax:Argument>\n              <uax:Name>Cause</uax:Name>\n              <uax:DataType>\n                <uax:Identifier>i=6</uax:Identifier>\n              </uax:DataType>\n              <uax:ValueRank>-1</uax:ValueRank>\n              <uax:ArrayDimensions />\n              <uax:Description />\n            </uax:Argument>\n          </uax:Body>\n        </uax:ExtensionObject>\n        <uax:ExtensionObject>\n          <uax:TypeId>\n            <uax:Identifier>i=297</uax:Identifier>\n          </uax:TypeId>\n          <uax:Body>\n            <uax:Argument>\n              <uax:Name>CauseDescription</uax:Name>\n              <uax:DataType>\n                <uax:Identifier>i=12</uax:Identifier>\n              </uax:DataType>\n              <uax:ValueRank>-1</uax:ValueRank>\n              <uax:ArrayDimensions />\n              <uax:Description />\n            </uax:Argument>\n          </uax:Body>\n        </uax:ExtensionObject>\n      </uax:ListOfExtensionObject>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=6433\" BrowseName=\"OutputArguments\" ParentNodeId=\"ns=1;i=7108\" DataType=\"Argument\" ValueRank=\"1\" ArrayDimensions=\"1\">\n    <DisplayName>OutputArguments</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=7108</Reference>\n    </References>\n    <Value>\n      <uax:ListOfExtensionObject xmlns:uax=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <uax:ExtensionObject>\n          <uax:TypeId>\n            <uax:Identifier>i=297</uax:Identifier>\n          </uax:TypeId>\n          <uax:Body>\n            <uax:Argument>\n              <uax:Name>Error</uax:Name>\n              <uax:DataType>\n                <uax:Identifier>i=6</uax:Identifier>\n              </uax:DataType>\n              <uax:ValueRank>-1</uax:ValueRank>\n              <uax:ArrayDimensions />\n              <uax:Description />\n            </uax:Argument>\n          </uax:Body>\n        </uax:ExtensionObject>\n      </uax:ListOfExtensionObject>\n    </Value>\n  </UAVariable>\n  <UAMethod NodeId=\"ns=1;i=7099\" BrowseName=\"1:StartContinuous\" ParentNodeId=\"ns=1;i=5100\" MethodDeclarationId=\"ns=1;i=7009\">\n    <DisplayName>StartContinuous</DisplayName>\n    <Documentation>https://reference.opcfoundation.org/v104/MachineVision/v100/docs/8.3.7/#8.3.7.2</Documentation>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=6409</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=6410</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=5100</Reference>\n    </References>\n  </UAMethod>\n  <UAVariable NodeId=\"ns=1;i=6409\" BrowseName=\"InputArguments\" ParentNodeId=\"ns=1;i=7099\" DataType=\"Argument\" ValueRank=\"1\" ArrayDimensions=\"5\">\n    <DisplayName>InputArguments</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=7099</Reference>\n    </References>\n    <Value>\n      <uax:ListOfExtensionObject xmlns:uax=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <uax:ExtensionObject>\n          <uax:TypeId>\n            <uax:Identifier>i=297</uax:Identifier>\n          </uax:TypeId>\n          <uax:Body>\n            <uax:Argument>\n              <uax:Name>MeasId</uax:Name>\n              <uax:DataType>\n                <uax:Identifier>ns=1;i=3015</uax:Identifier>\n              </uax:DataType>\n              <uax:ValueRank>-1</uax:ValueRank>\n              <uax:ArrayDimensions />\n              <uax:Description />\n            </uax:Argument>\n          </uax:Body>\n        </uax:ExtensionObject>\n        <uax:ExtensionObject>\n          <uax:TypeId>\n            <uax:Identifier>i=297</uax:Identifier>\n          </uax:TypeId>\n          <uax:Body>\n            <uax:Argument>\n              <uax:Name>PartId</uax:Name>\n              <uax:DataType>\n                <uax:Identifier>ns=1;i=3004</uax:Identifier>\n              </uax:DataType>\n              <uax:ValueRank>-1</uax:ValueRank>\n              <uax:ArrayDimensions />\n              <uax:Description />\n            </uax:Argument>\n          </uax:Body>\n        </uax:ExtensionObject>\n        <uax:ExtensionObject>\n          <uax:TypeId>\n            <uax:Identifier>i=297</uax:Identifier>\n          </uax:TypeId>\n          <uax:Body>\n            <uax:Argument>\n              <uax:Name>RecipeId</uax:Name>\n              <uax:DataType>\n                <uax:Identifier>ns=1;i=3002</uax:Identifier>\n              </uax:DataType>\n              <uax:ValueRank>-1</uax:ValueRank>\n              <uax:ArrayDimensions />\n              <uax:Description />\n            </uax:Argument>\n          </uax:Body>\n        </uax:ExtensionObject>\n        <uax:ExtensionObject>\n          <uax:TypeId>\n            <uax:Identifier>i=297</uax:Identifier>\n          </uax:TypeId>\n          <uax:Body>\n            <uax:Argument>\n              <uax:Name>ProductId</uax:Name>\n              <uax:DataType>\n                <uax:Identifier>ns=1;i=3003</uax:Identifier>\n              </uax:DataType>\n              <uax:ValueRank>-1</uax:ValueRank>\n              <uax:ArrayDimensions />\n              <uax:Description />\n            </uax:Argument>\n          </uax:Body>\n        </uax:ExtensionObject>\n        <uax:ExtensionObject>\n          <uax:TypeId>\n            <uax:Identifier>i=297</uax:Identifier>\n          </uax:TypeId>\n          <uax:Body>\n            <uax:Argument>\n              <uax:Name>Parameters</uax:Name>\n              <uax:DataType>\n                <uax:Identifier>i=24</uax:Identifier>\n              </uax:DataType>\n              <uax:ValueRank>1</uax:ValueRank>\n              <uax:ArrayDimensions />\n              <uax:Description />\n            </uax:Argument>\n          </uax:Body>\n        </uax:ExtensionObject>\n      </uax:ListOfExtensionObject>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=6410\" BrowseName=\"OutputArguments\" ParentNodeId=\"ns=1;i=7099\" DataType=\"Argument\" ValueRank=\"1\" ArrayDimensions=\"2\">\n    <DisplayName>OutputArguments</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=7099</Reference>\n    </References>\n    <Value>\n      <uax:ListOfExtensionObject xmlns:uax=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <uax:ExtensionObject>\n          <uax:TypeId>\n            <uax:Identifier>i=297</uax:Identifier>\n          </uax:TypeId>\n          <uax:Body>\n            <uax:Argument>\n              <uax:Name>JobId</uax:Name>\n              <uax:DataType>\n                <uax:Identifier>ns=1;i=3016</uax:Identifier>\n              </uax:DataType>\n              <uax:ValueRank>-1</uax:ValueRank>\n              <uax:ArrayDimensions />\n              <uax:Description />\n            </uax:Argument>\n          </uax:Body>\n        </uax:ExtensionObject>\n        <uax:ExtensionObject>\n          <uax:TypeId>\n            <uax:Identifier>i=297</uax:Identifier>\n          </uax:TypeId>\n          <uax:Body>\n            <uax:Argument>\n              <uax:Name>Error</uax:Name>\n              <uax:DataType>\n                <uax:Identifier>i=6</uax:Identifier>\n              </uax:DataType>\n              <uax:ValueRank>-1</uax:ValueRank>\n              <uax:ArrayDimensions />\n              <uax:Description />\n            </uax:Argument>\n          </uax:Body>\n        </uax:ExtensionObject>\n      </uax:ListOfExtensionObject>\n    </Value>\n  </UAVariable>\n  <UAMethod NodeId=\"ns=1;i=7102\" BrowseName=\"1:StartSingleJob\" ParentNodeId=\"ns=1;i=5100\" MethodDeclarationId=\"ns=1;i=7098\">\n    <DisplayName>StartSingleJob</DisplayName>\n    <Documentation>https://reference.opcfoundation.org/v104/MachineVision/v100/docs/8.3.7/#8.3.7.1</Documentation>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=6411</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=6412</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=5100</Reference>\n    </References>\n  </UAMethod>\n  <UAVariable NodeId=\"ns=1;i=6411\" BrowseName=\"InputArguments\" ParentNodeId=\"ns=1;i=7102\" DataType=\"Argument\" ValueRank=\"1\" ArrayDimensions=\"5\">\n    <DisplayName>InputArguments</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=7102</Reference>\n    </References>\n    <Value>\n      <uax:ListOfExtensionObject xmlns:uax=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <uax:ExtensionObject>\n          <uax:TypeId>\n            <uax:Identifier>i=297</uax:Identifier>\n          </uax:TypeId>\n          <uax:Body>\n            <uax:Argument>\n              <uax:Name>MeasId</uax:Name>\n              <uax:DataType>\n                <uax:Identifier>ns=1;i=3015</uax:Identifier>\n              </uax:DataType>\n              <uax:ValueRank>-1</uax:ValueRank>\n              <uax:ArrayDimensions />\n              <uax:Description />\n            </uax:Argument>\n          </uax:Body>\n        </uax:ExtensionObject>\n        <uax:ExtensionObject>\n          <uax:TypeId>\n            <uax:Identifier>i=297</uax:Identifier>\n          </uax:TypeId>\n          <uax:Body>\n            <uax:Argument>\n              <uax:Name>PartId</uax:Name>\n              <uax:DataType>\n                <uax:Identifier>ns=1;i=3004</uax:Identifier>\n              </uax:DataType>\n              <uax:ValueRank>-1</uax:ValueRank>\n              <uax:ArrayDimensions />\n              <uax:Description />\n            </uax:Argument>\n          </uax:Body>\n        </uax:ExtensionObject>\n        <uax:ExtensionObject>\n          <uax:TypeId>\n            <uax:Identifier>i=297</uax:Identifier>\n          </uax:TypeId>\n          <uax:Body>\n            <uax:Argument>\n              <uax:Name>RecipeId</uax:Name>\n              <uax:DataType>\n                <uax:Identifier>ns=1;i=3002</uax:Identifier>\n              </uax:DataType>\n              <uax:ValueRank>-1</uax:ValueRank>\n              <uax:ArrayDimensions />\n              <uax:Description />\n            </uax:Argument>\n          </uax:Body>\n        </uax:ExtensionObject>\n        <uax:ExtensionObject>\n          <uax:TypeId>\n            <uax:Identifier>i=297</uax:Identifier>\n          </uax:TypeId>\n          <uax:Body>\n            <uax:Argument>\n              <uax:Name>ProductId</uax:Name>\n              <uax:DataType>\n                <uax:Identifier>ns=1;i=3003</uax:Identifier>\n              </uax:DataType>\n              <uax:ValueRank>-1</uax:ValueRank>\n              <uax:ArrayDimensions />\n              <uax:Description />\n            </uax:Argument>\n          </uax:Body>\n        </uax:ExtensionObject>\n        <uax:ExtensionObject>\n          <uax:TypeId>\n            <uax:Identifier>i=297</uax:Identifier>\n          </uax:TypeId>\n          <uax:Body>\n            <uax:Argument>\n              <uax:Name>Parameters</uax:Name>\n              <uax:DataType>\n                <uax:Identifier>i=24</uax:Identifier>\n              </uax:DataType>\n              <uax:ValueRank>1</uax:ValueRank>\n              <uax:ArrayDimensions />\n              <uax:Description />\n            </uax:Argument>\n          </uax:Body>\n        </uax:ExtensionObject>\n      </uax:ListOfExtensionObject>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=6412\" BrowseName=\"OutputArguments\" ParentNodeId=\"ns=1;i=7102\" DataType=\"Argument\" ValueRank=\"1\" ArrayDimensions=\"2\">\n    <DisplayName>OutputArguments</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=7102</Reference>\n    </References>\n    <Value>\n      <uax:ListOfExtensionObject xmlns:uax=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <uax:ExtensionObject>\n          <uax:TypeId>\n            <uax:Identifier>i=297</uax:Identifier>\n          </uax:TypeId>\n          <uax:Body>\n            <uax:Argument>\n              <uax:Name>JobId</uax:Name>\n              <uax:DataType>\n                <uax:Identifier>ns=1;i=3016</uax:Identifier>\n              </uax:DataType>\n              <uax:ValueRank>-1</uax:ValueRank>\n              <uax:ArrayDimensions />\n              <uax:Description />\n            </uax:Argument>\n          </uax:Body>\n        </uax:ExtensionObject>\n        <uax:ExtensionObject>\n          <uax:TypeId>\n            <uax:Identifier>i=297</uax:Identifier>\n          </uax:TypeId>\n          <uax:Body>\n            <uax:Argument>\n              <uax:Name>Error</uax:Name>\n              <uax:DataType>\n                <uax:Identifier>i=6</uax:Identifier>\n              </uax:DataType>\n              <uax:ValueRank>-1</uax:ValueRank>\n              <uax:ArrayDimensions />\n              <uax:Description />\n            </uax:Argument>\n          </uax:Body>\n        </uax:ExtensionObject>\n      </uax:ListOfExtensionObject>\n    </Value>\n  </UAVariable>\n  <UAMethod NodeId=\"ns=1;i=7103\" BrowseName=\"1:Stop\" ParentNodeId=\"ns=1;i=5100\" MethodDeclarationId=\"ns=1;i=7096\">\n    <DisplayName>Stop</DisplayName>\n    <Documentation>https://reference.opcfoundation.org/v104/MachineVision/v100/docs/8.3.7/#8.3.7.4</Documentation>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=6413</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=6414</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=5100</Reference>\n    </References>\n  </UAMethod>\n  <UAVariable NodeId=\"ns=1;i=6413\" BrowseName=\"InputArguments\" ParentNodeId=\"ns=1;i=7103\" DataType=\"Argument\" ValueRank=\"1\" ArrayDimensions=\"2\">\n    <DisplayName>InputArguments</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=7103</Reference>\n    </References>\n    <Value>\n      <uax:ListOfExtensionObject xmlns:uax=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <uax:ExtensionObject>\n          <uax:TypeId>\n            <uax:Identifier>i=297</uax:Identifier>\n          </uax:TypeId>\n          <uax:Body>\n            <uax:Argument>\n              <uax:Name>Cause</uax:Name>\n              <uax:DataType>\n                <uax:Identifier>i=6</uax:Identifier>\n              </uax:DataType>\n              <uax:ValueRank>-1</uax:ValueRank>\n              <uax:ArrayDimensions />\n              <uax:Description />\n            </uax:Argument>\n          </uax:Body>\n        </uax:ExtensionObject>\n        <uax:ExtensionObject>\n          <uax:TypeId>\n            <uax:Identifier>i=297</uax:Identifier>\n          </uax:TypeId>\n          <uax:Body>\n            <uax:Argument>\n              <uax:Name>CauseDescription</uax:Name>\n              <uax:DataType>\n                <uax:Identifier>i=12</uax:Identifier>\n              </uax:DataType>\n              <uax:ValueRank>-1</uax:ValueRank>\n              <uax:ArrayDimensions />\n              <uax:Description />\n            </uax:Argument>\n          </uax:Body>\n        </uax:ExtensionObject>\n      </uax:ListOfExtensionObject>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=6414\" BrowseName=\"OutputArguments\" ParentNodeId=\"ns=1;i=7103\" DataType=\"Argument\" ValueRank=\"1\" ArrayDimensions=\"1\">\n    <DisplayName>OutputArguments</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=7103</Reference>\n    </References>\n    <Value>\n      <uax:ListOfExtensionObject xmlns:uax=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <uax:ExtensionObject>\n          <uax:TypeId>\n            <uax:Identifier>i=297</uax:Identifier>\n          </uax:TypeId>\n          <uax:Body>\n            <uax:Argument>\n              <uax:Name>Error</uax:Name>\n              <uax:DataType>\n                <uax:Identifier>i=6</uax:Identifier>\n              </uax:DataType>\n              <uax:ValueRank>-1</uax:ValueRank>\n              <uax:ArrayDimensions />\n              <uax:Description />\n            </uax:Argument>\n          </uax:Body>\n        </uax:ExtensionObject>\n      </uax:ListOfExtensionObject>\n    </Value>\n  </UAVariable>\n  <UAMethod NodeId=\"ns=1;i=7049\" BrowseName=\"1:ConfirmAll\" ParentNodeId=\"ns=1;i=5053\" MethodDeclarationId=\"ns=1;i=7066\">\n    <DisplayName>ConfirmAll</DisplayName>\n    <Documentation>https://reference.opcfoundation.org/v104/MachineVision/v100/docs/8.2.8/#8.2.8.4</Documentation>\n    <References>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=5053</Reference>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=6216</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=80</Reference>\n    </References>\n  </UAMethod>\n  <UAVariable NodeId=\"ns=1;i=6216\" BrowseName=\"InputArguments\" ParentNodeId=\"ns=1;i=7049\" DataType=\"Argument\" ValueRank=\"1\" ArrayDimensions=\"1\">\n    <DisplayName>InputArguments</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=7049</Reference>\n    </References>\n    <Value>\n      <uax:ListOfExtensionObject xmlns:uax=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <uax:ExtensionObject>\n          <uax:TypeId>\n            <uax:Identifier>i=297</uax:Identifier>\n          </uax:TypeId>\n          <uax:Body>\n            <uax:Argument>\n              <uax:Name>Comment</uax:Name>\n              <uax:DataType>\n                <uax:Identifier>i=21</uax:Identifier>\n              </uax:DataType>\n              <uax:ValueRank>-1</uax:ValueRank>\n              <uax:ArrayDimensions />\n              <uax:Description />\n            </uax:Argument>\n          </uax:Body>\n        </uax:ExtensionObject>\n      </uax:ListOfExtensionObject>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=6162\" BrowseName=\"CurrentState\" ParentNodeId=\"ns=1;i=5053\" DataType=\"LocalizedText\">\n    <DisplayName>CurrentState</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=5053</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=2760</Reference>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=6163</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=6163\" BrowseName=\"Id\" ParentNodeId=\"ns=1;i=6162\" DataType=\"NodeId\">\n    <DisplayName>Id</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=6162</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n    </References>\n  </UAVariable>\n  <UAObject NodeId=\"ns=1;i=5107\" BrowseName=\"1:Error\" ParentNodeId=\"ns=1;i=5053\">\n    <DisplayName>Error</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=5053</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=6435</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=2307</Reference>\n    </References>\n  </UAObject>\n  <UAVariable NodeId=\"ns=1;i=6435\" BrowseName=\"StateNumber\" ParentNodeId=\"ns=1;i=5107\" DataType=\"UInt32\">\n    <DisplayName>StateNumber</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=5107</Reference>\n    </References>\n    <Value>\n      <uax:UInt32 xmlns:uax=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">3</uax:UInt32>\n    </Value>\n  </UAVariable>\n  <UAObject NodeId=\"ns=1;i=5075\" BrowseName=\"1:ErrorStepModel\" ParentNodeId=\"ns=1;i=5053\">\n    <DisplayName>ErrorStepModel</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=6219</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=5053</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=80</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=7050</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">ns=1;i=1026</Reference>\n    </References>\n  </UAObject>\n  <UAVariable NodeId=\"ns=1;i=6219\" BrowseName=\"CurrentState\" ParentNodeId=\"ns=1;i=5075\" DataType=\"LocalizedText\">\n    <DisplayName>CurrentState</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=5075</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=2760</Reference>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=6220</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=6220\" BrowseName=\"Id\" ParentNodeId=\"ns=1;i=6219\" DataType=\"NodeId\">\n    <DisplayName>Id</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=6219</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n    </References>\n  </UAVariable>\n  <UAMethod NodeId=\"ns=1;i=7050\" BrowseName=\"1:Sync\" ParentNodeId=\"ns=1;i=5075\" MethodDeclarationId=\"ns=1;i=7101\">\n    <DisplayName>Sync</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=6224</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=6225</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=5075</Reference>\n    </References>\n  </UAMethod>\n  <UAVariable NodeId=\"ns=1;i=6224\" BrowseName=\"InputArguments\" ParentNodeId=\"ns=1;i=7050\" DataType=\"Argument\" ValueRank=\"1\" ArrayDimensions=\"2\">\n    <DisplayName>InputArguments</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=7050</Reference>\n    </References>\n    <Value>\n      <uax:ListOfExtensionObject xmlns:uax=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <uax:ExtensionObject>\n          <uax:TypeId>\n            <uax:Identifier>i=297</uax:Identifier>\n          </uax:TypeId>\n          <uax:Body>\n            <uax:Argument>\n              <uax:Name>Cause</uax:Name>\n              <uax:DataType>\n                <uax:Identifier>i=6</uax:Identifier>\n              </uax:DataType>\n              <uax:ValueRank>-1</uax:ValueRank>\n              <uax:ArrayDimensions />\n              <uax:Description />\n            </uax:Argument>\n          </uax:Body>\n        </uax:ExtensionObject>\n        <uax:ExtensionObject>\n          <uax:TypeId>\n            <uax:Identifier>i=297</uax:Identifier>\n          </uax:TypeId>\n          <uax:Body>\n            <uax:Argument>\n              <uax:Name>CauseDescription</uax:Name>\n              <uax:DataType>\n                <uax:Identifier>i=12</uax:Identifier>\n              </uax:DataType>\n              <uax:ValueRank>-1</uax:ValueRank>\n              <uax:ArrayDimensions />\n              <uax:Description />\n            </uax:Argument>\n          </uax:Body>\n        </uax:ExtensionObject>\n      </uax:ListOfExtensionObject>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=6225\" BrowseName=\"OutputArguments\" ParentNodeId=\"ns=1;i=7050\" DataType=\"Argument\" ValueRank=\"1\" ArrayDimensions=\"1\">\n    <DisplayName>OutputArguments</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=7050</Reference>\n    </References>\n    <Value>\n      <uax:ListOfExtensionObject xmlns:uax=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <uax:ExtensionObject>\n          <uax:TypeId>\n            <uax:Identifier>i=297</uax:Identifier>\n          </uax:TypeId>\n          <uax:Body>\n            <uax:Argument>\n              <uax:Name>Error</uax:Name>\n              <uax:DataType>\n                <uax:Identifier>i=6</uax:Identifier>\n              </uax:DataType>\n              <uax:ValueRank>-1</uax:ValueRank>\n              <uax:ArrayDimensions />\n              <uax:Description />\n            </uax:Argument>\n          </uax:Body>\n        </uax:ExtensionObject>\n      </uax:ListOfExtensionObject>\n    </Value>\n  </UAVariable>\n  <UAMethod NodeId=\"ns=1;i=7037\" BrowseName=\"1:Halt\" ParentNodeId=\"ns=1;i=5053\" MethodDeclarationId=\"ns=1;i=7094\">\n    <DisplayName>Halt</DisplayName>\n    <Documentation>https://reference.opcfoundation.org/v104/MachineVision/v100/docs/8.2.8/#8.2.8.1</Documentation>\n    <References>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=5053</Reference>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=6154</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=6155</Reference>\n    </References>\n  </UAMethod>\n  <UAVariable NodeId=\"ns=1;i=6154\" BrowseName=\"InputArguments\" ParentNodeId=\"ns=1;i=7037\" DataType=\"Argument\" ValueRank=\"1\" ArrayDimensions=\"2\">\n    <DisplayName>InputArguments</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=7037</Reference>\n    </References>\n    <Value>\n      <uax:ListOfExtensionObject xmlns:uax=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <uax:ExtensionObject>\n          <uax:TypeId>\n            <uax:Identifier>i=297</uax:Identifier>\n          </uax:TypeId>\n          <uax:Body>\n            <uax:Argument>\n              <uax:Name>Cause</uax:Name>\n              <uax:DataType>\n                <uax:Identifier>i=6</uax:Identifier>\n              </uax:DataType>\n              <uax:ValueRank>-1</uax:ValueRank>\n              <uax:ArrayDimensions />\n              <uax:Description />\n            </uax:Argument>\n          </uax:Body>\n        </uax:ExtensionObject>\n        <uax:ExtensionObject>\n          <uax:TypeId>\n            <uax:Identifier>i=297</uax:Identifier>\n          </uax:TypeId>\n          <uax:Body>\n            <uax:Argument>\n              <uax:Name>CauseDescription</uax:Name>\n              <uax:DataType>\n                <uax:Identifier>i=12</uax:Identifier>\n              </uax:DataType>\n              <uax:ValueRank>-1</uax:ValueRank>\n              <uax:ArrayDimensions />\n              <uax:Description />\n            </uax:Argument>\n          </uax:Body>\n        </uax:ExtensionObject>\n      </uax:ListOfExtensionObject>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=6155\" BrowseName=\"OutputArguments\" ParentNodeId=\"ns=1;i=7037\" DataType=\"Argument\" ValueRank=\"1\" ArrayDimensions=\"1\">\n    <DisplayName>OutputArguments</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=7037</Reference>\n    </References>\n    <Value>\n      <uax:ListOfExtensionObject xmlns:uax=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <uax:ExtensionObject>\n          <uax:TypeId>\n            <uax:Identifier>i=297</uax:Identifier>\n          </uax:TypeId>\n          <uax:Body>\n            <uax:Argument>\n              <uax:Name>Error</uax:Name>\n              <uax:DataType>\n                <uax:Identifier>i=6</uax:Identifier>\n              </uax:DataType>\n              <uax:ValueRank>-1</uax:ValueRank>\n              <uax:ArrayDimensions />\n              <uax:Description />\n            </uax:Argument>\n          </uax:Body>\n        </uax:ExtensionObject>\n      </uax:ListOfExtensionObject>\n    </Value>\n  </UAVariable>\n  <UAObject NodeId=\"ns=1;i=5106\" BrowseName=\"1:Halted\" ParentNodeId=\"ns=1;i=5053\">\n    <DisplayName>Halted</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=5053</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=6434</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=2307</Reference>\n    </References>\n  </UAObject>\n  <UAVariable NodeId=\"ns=1;i=6434\" BrowseName=\"StateNumber\" ParentNodeId=\"ns=1;i=5106\" DataType=\"UInt32\">\n    <DisplayName>StateNumber</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=5106</Reference>\n    </References>\n    <Value>\n      <uax:UInt32 xmlns:uax=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">2</uax:UInt32>\n    </Value>\n  </UAVariable>\n  <UAObject NodeId=\"ns=1;i=5076\" BrowseName=\"1:HaltedStepModel\" ParentNodeId=\"ns=1;i=5053\">\n    <DisplayName>HaltedStepModel</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=6244</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=5053</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=80</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=7051</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">ns=1;i=1026</Reference>\n    </References>\n  </UAObject>\n  <UAVariable NodeId=\"ns=1;i=6244\" BrowseName=\"CurrentState\" ParentNodeId=\"ns=1;i=5076\" DataType=\"LocalizedText\">\n    <DisplayName>CurrentState</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=5076</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=2760</Reference>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=6250</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=6250\" BrowseName=\"Id\" ParentNodeId=\"ns=1;i=6244\" DataType=\"NodeId\">\n    <DisplayName>Id</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=6244</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n    </References>\n  </UAVariable>\n  <UAMethod NodeId=\"ns=1;i=7051\" BrowseName=\"1:Sync\" ParentNodeId=\"ns=1;i=5076\" MethodDeclarationId=\"ns=1;i=7101\">\n    <DisplayName>Sync</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=6251</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=6253</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=5076</Reference>\n    </References>\n  </UAMethod>\n  <UAVariable NodeId=\"ns=1;i=6251\" BrowseName=\"InputArguments\" ParentNodeId=\"ns=1;i=7051\" DataType=\"Argument\" ValueRank=\"1\" ArrayDimensions=\"2\">\n    <DisplayName>InputArguments</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=7051</Reference>\n    </References>\n    <Value>\n      <uax:ListOfExtensionObject xmlns:uax=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <uax:ExtensionObject>\n          <uax:TypeId>\n            <uax:Identifier>i=297</uax:Identifier>\n          </uax:TypeId>\n          <uax:Body>\n            <uax:Argument>\n              <uax:Name>Cause</uax:Name>\n              <uax:DataType>\n                <uax:Identifier>i=6</uax:Identifier>\n              </uax:DataType>\n              <uax:ValueRank>-1</uax:ValueRank>\n              <uax:ArrayDimensions />\n              <uax:Description />\n            </uax:Argument>\n          </uax:Body>\n        </uax:ExtensionObject>\n        <uax:ExtensionObject>\n          <uax:TypeId>\n            <uax:Identifier>i=297</uax:Identifier>\n          </uax:TypeId>\n          <uax:Body>\n            <uax:Argument>\n              <uax:Name>CauseDescription</uax:Name>\n              <uax:DataType>\n                <uax:Identifier>i=12</uax:Identifier>\n              </uax:DataType>\n              <uax:ValueRank>-1</uax:ValueRank>\n              <uax:ArrayDimensions />\n              <uax:Description />\n            </uax:Argument>\n          </uax:Body>\n        </uax:ExtensionObject>\n      </uax:ListOfExtensionObject>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=6253\" BrowseName=\"OutputArguments\" ParentNodeId=\"ns=1;i=7051\" DataType=\"Argument\" ValueRank=\"1\" ArrayDimensions=\"1\">\n    <DisplayName>OutputArguments</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=7051</Reference>\n    </References>\n    <Value>\n      <uax:ListOfExtensionObject xmlns:uax=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <uax:ExtensionObject>\n          <uax:TypeId>\n            <uax:Identifier>i=297</uax:Identifier>\n          </uax:TypeId>\n          <uax:Body>\n            <uax:Argument>\n              <uax:Name>Error</uax:Name>\n              <uax:DataType>\n                <uax:Identifier>i=6</uax:Identifier>\n              </uax:DataType>\n              <uax:ValueRank>-1</uax:ValueRank>\n              <uax:ArrayDimensions />\n              <uax:Description />\n            </uax:Argument>\n          </uax:Body>\n        </uax:ExtensionObject>\n      </uax:ListOfExtensionObject>\n    </Value>\n  </UAVariable>\n  <UAObject NodeId=\"ns=1;i=5108\" BrowseName=\"1:Operational\" ParentNodeId=\"ns=1;i=5053\">\n    <DisplayName>Operational</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=5053</Reference>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=6436</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=2307</Reference>\n    </References>\n  </UAObject>\n  <UAVariable NodeId=\"ns=1;i=6436\" BrowseName=\"StateNumber\" ParentNodeId=\"ns=1;i=5108\" DataType=\"UInt32\">\n    <DisplayName>StateNumber</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=5108</Reference>\n    </References>\n    <Value>\n      <uax:UInt32 xmlns:uax=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">4</uax:UInt32>\n    </Value>\n  </UAVariable>\n  <UAObject NodeId=\"ns=1;i=5101\" BrowseName=\"1:Preoperational\" ParentNodeId=\"ns=1;i=5053\">\n    <DisplayName>Preoperational</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=5053</Reference>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=6415</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=2307</Reference>\n    </References>\n  </UAObject>\n  <UAVariable NodeId=\"ns=1;i=6415\" BrowseName=\"StateNumber\" ParentNodeId=\"ns=1;i=5101\" DataType=\"UInt32\">\n    <DisplayName>StateNumber</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=5101</Reference>\n    </References>\n    <Value>\n      <uax:UInt32 xmlns:uax=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">1</uax:UInt32>\n    </Value>\n  </UAVariable>\n  <UAObject NodeId=\"ns=1;i=5077\" BrowseName=\"1:PreoperationalStepModel\" ParentNodeId=\"ns=1;i=5053\">\n    <DisplayName>PreoperationalStepModel</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=6277</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=80</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=5053</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=7052</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">ns=1;i=1026</Reference>\n    </References>\n  </UAObject>\n  <UAVariable NodeId=\"ns=1;i=6277\" BrowseName=\"CurrentState\" ParentNodeId=\"ns=1;i=5077\" DataType=\"LocalizedText\">\n    <DisplayName>CurrentState</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=5077</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=2760</Reference>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=6278</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=6278\" BrowseName=\"Id\" ParentNodeId=\"ns=1;i=6277\" DataType=\"NodeId\">\n    <DisplayName>Id</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=6277</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n    </References>\n  </UAVariable>\n  <UAMethod NodeId=\"ns=1;i=7052\" BrowseName=\"1:Sync\" ParentNodeId=\"ns=1;i=5077\" MethodDeclarationId=\"ns=1;i=7101\">\n    <DisplayName>Sync</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=6279</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=6280</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=5077</Reference>\n    </References>\n  </UAMethod>\n  <UAVariable NodeId=\"ns=1;i=6279\" BrowseName=\"InputArguments\" ParentNodeId=\"ns=1;i=7052\" DataType=\"Argument\" ValueRank=\"1\" ArrayDimensions=\"2\">\n    <DisplayName>InputArguments</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=7052</Reference>\n    </References>\n    <Value>\n      <uax:ListOfExtensionObject xmlns:uax=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <uax:ExtensionObject>\n          <uax:TypeId>\n            <uax:Identifier>i=297</uax:Identifier>\n          </uax:TypeId>\n          <uax:Body>\n            <uax:Argument>\n              <uax:Name>Cause</uax:Name>\n              <uax:DataType>\n                <uax:Identifier>i=6</uax:Identifier>\n              </uax:DataType>\n              <uax:ValueRank>-1</uax:ValueRank>\n              <uax:ArrayDimensions />\n              <uax:Description />\n            </uax:Argument>\n          </uax:Body>\n        </uax:ExtensionObject>\n        <uax:ExtensionObject>\n          <uax:TypeId>\n            <uax:Identifier>i=297</uax:Identifier>\n          </uax:TypeId>\n          <uax:Body>\n            <uax:Argument>\n              <uax:Name>CauseDescription</uax:Name>\n              <uax:DataType>\n                <uax:Identifier>i=12</uax:Identifier>\n              </uax:DataType>\n              <uax:ValueRank>-1</uax:ValueRank>\n              <uax:ArrayDimensions />\n              <uax:Description />\n            </uax:Argument>\n          </uax:Body>\n        </uax:ExtensionObject>\n      </uax:ListOfExtensionObject>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=6280\" BrowseName=\"OutputArguments\" ParentNodeId=\"ns=1;i=7052\" DataType=\"Argument\" ValueRank=\"1\" ArrayDimensions=\"1\">\n    <DisplayName>OutputArguments</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=7052</Reference>\n    </References>\n    <Value>\n      <uax:ListOfExtensionObject xmlns:uax=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <uax:ExtensionObject>\n          <uax:TypeId>\n            <uax:Identifier>i=297</uax:Identifier>\n          </uax:TypeId>\n          <uax:Body>\n            <uax:Argument>\n              <uax:Name>Error</uax:Name>\n              <uax:DataType>\n                <uax:Identifier>i=6</uax:Identifier>\n              </uax:DataType>\n              <uax:ValueRank>-1</uax:ValueRank>\n              <uax:ArrayDimensions />\n              <uax:Description />\n            </uax:Argument>\n          </uax:Body>\n        </uax:ExtensionObject>\n      </uax:ListOfExtensionObject>\n    </Value>\n  </UAVariable>\n  <UAMethod NodeId=\"ns=1;i=7038\" BrowseName=\"1:Reset\" ParentNodeId=\"ns=1;i=5053\" MethodDeclarationId=\"ns=1;i=7093\">\n    <DisplayName>Reset</DisplayName>\n    <Documentation>https://reference.opcfoundation.org/v104/MachineVision/v100/docs/8.2.8/#8.2.8.2</Documentation>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=6158</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=6159</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=5053</Reference>\n    </References>\n  </UAMethod>\n  <UAVariable NodeId=\"ns=1;i=6158\" BrowseName=\"InputArguments\" ParentNodeId=\"ns=1;i=7038\" DataType=\"Argument\" ValueRank=\"1\" ArrayDimensions=\"2\">\n    <DisplayName>InputArguments</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=7038</Reference>\n    </References>\n    <Value>\n      <uax:ListOfExtensionObject xmlns:uax=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <uax:ExtensionObject>\n          <uax:TypeId>\n            <uax:Identifier>i=297</uax:Identifier>\n          </uax:TypeId>\n          <uax:Body>\n            <uax:Argument>\n              <uax:Name>Cause</uax:Name>\n              <uax:DataType>\n                <uax:Identifier>i=6</uax:Identifier>\n              </uax:DataType>\n              <uax:ValueRank>-1</uax:ValueRank>\n              <uax:ArrayDimensions />\n              <uax:Description />\n            </uax:Argument>\n          </uax:Body>\n        </uax:ExtensionObject>\n        <uax:ExtensionObject>\n          <uax:TypeId>\n            <uax:Identifier>i=297</uax:Identifier>\n          </uax:TypeId>\n          <uax:Body>\n            <uax:Argument>\n              <uax:Name>CauseDescription</uax:Name>\n              <uax:DataType>\n                <uax:Identifier>i=12</uax:Identifier>\n              </uax:DataType>\n              <uax:ValueRank>-1</uax:ValueRank>\n              <uax:ArrayDimensions />\n              <uax:Description />\n            </uax:Argument>\n          </uax:Body>\n        </uax:ExtensionObject>\n      </uax:ListOfExtensionObject>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=6159\" BrowseName=\"OutputArguments\" ParentNodeId=\"ns=1;i=7038\" DataType=\"Argument\" ValueRank=\"1\" ArrayDimensions=\"1\">\n    <DisplayName>OutputArguments</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=7038</Reference>\n    </References>\n    <Value>\n      <uax:ListOfExtensionObject xmlns:uax=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <uax:ExtensionObject>\n          <uax:TypeId>\n            <uax:Identifier>i=297</uax:Identifier>\n          </uax:TypeId>\n          <uax:Body>\n            <uax:Argument>\n              <uax:Name>Error</uax:Name>\n              <uax:DataType>\n                <uax:Identifier>i=6</uax:Identifier>\n              </uax:DataType>\n              <uax:ValueRank>-1</uax:ValueRank>\n              <uax:ArrayDimensions />\n              <uax:Description />\n            </uax:Argument>\n          </uax:Body>\n        </uax:ExtensionObject>\n      </uax:ListOfExtensionObject>\n    </Value>\n  </UAVariable>\n  <UAMethod NodeId=\"ns=1;i=7053\" BrowseName=\"1:SelectModeAutomatic\" ParentNodeId=\"ns=1;i=5053\" MethodDeclarationId=\"ns=1;i=7095\">\n    <DisplayName>SelectModeAutomatic</DisplayName>\n    <Documentation>https://reference.opcfoundation.org/v104/MachineVision/v100/docs/8.2.8/#8.2.8.3</Documentation>\n    <References>\n      <Reference ReferenceType=\"HasModellingRule\">i=80</Reference>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=6325</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=5053</Reference>\n    </References>\n  </UAMethod>\n  <UAVariable NodeId=\"ns=1;i=6325\" BrowseName=\"OutputArguments\" ParentNodeId=\"ns=1;i=7053\" DataType=\"Argument\" ValueRank=\"1\" ArrayDimensions=\"1\">\n    <DisplayName>OutputArguments</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=7053</Reference>\n    </References>\n    <Value>\n      <uax:ListOfExtensionObject xmlns:uax=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <uax:ExtensionObject>\n          <uax:TypeId>\n            <uax:Identifier>i=297</uax:Identifier>\n          </uax:TypeId>\n          <uax:Body>\n            <uax:Argument>\n              <uax:Name>Error</uax:Name>\n              <uax:DataType>\n                <uax:Identifier>i=6</uax:Identifier>\n              </uax:DataType>\n              <uax:ValueRank>-1</uax:ValueRank>\n              <uax:ArrayDimensions />\n              <uax:Description />\n            </uax:Argument>\n          </uax:Body>\n        </uax:ExtensionObject>\n      </uax:ListOfExtensionObject>\n    </Value>\n  </UAVariable>\n  <UAObject NodeId=\"ns=1;i=5009\" BrowseName=\"1:http://opcfoundation.org/UA/MachineVision\" SymbolicName=\"http___opcfoundation_org_UA_MachineVision\">\n    <DisplayName>http://opcfoundation.org/UA/MachineVision</DisplayName>\n    <Description>Provides the metadata for a namespace used by the server.</Description>\n    <Documentation>https://reference.opcfoundation.org/v104/MachineVision/v100/docs/13.1</Documentation>\n    <References>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=11715</Reference>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=6549</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=11616</Reference>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=6552</Reference>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=6553</Reference>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=6554</Reference>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=6556</Reference>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=6558</Reference>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=6559</Reference>\n    </References>\n  </UAObject>\n  <UAVariable NodeId=\"ns=1;i=6549\" BrowseName=\"IsNamespaceSubset\" ParentNodeId=\"ns=1;i=5009\" DataType=\"Boolean\">\n    <DisplayName>IsNamespaceSubset</DisplayName>\n    <Description>If TRUE then the server only supports a subset of the namespace.</Description>\n    <References>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=5009</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n    </References>\n    <Value>\n      <uax:Boolean xmlns:uax=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">false</uax:Boolean>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=6552\" BrowseName=\"NamespacePublicationDate\" ParentNodeId=\"ns=1;i=5009\" DataType=\"DateTime\">\n    <DisplayName>NamespacePublicationDate</DisplayName>\n    <Description>The publication date for the namespace.</Description>\n    <References>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=5009</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n    </References>\n    <Value>\n      <uax:DateTime xmlns:uax=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">2019-07-11T10:18:27Z</uax:DateTime>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=6553\" BrowseName=\"NamespaceUri\" ParentNodeId=\"ns=1;i=5009\" DataType=\"String\">\n    <DisplayName>NamespaceUri</DisplayName>\n    <Description>The URI of the namespace.</Description>\n    <References>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=5009</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n    </References>\n    <Value>\n      <uax:String xmlns:uax=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">http://opcfoundation.org/UA/MachineVision</uax:String>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=6554\" BrowseName=\"NamespaceVersion\" ParentNodeId=\"ns=1;i=5009\" DataType=\"String\">\n    <DisplayName>NamespaceVersion</DisplayName>\n    <Description>The human readable string representing version of the namespace.</Description>\n    <References>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=5009</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n    </References>\n    <Value>\n      <uax:String xmlns:uax=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">1.0.0</uax:String>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=6556\" BrowseName=\"StaticNodeIdTypes\" ParentNodeId=\"ns=1;i=5009\" DataType=\"IdType\" ValueRank=\"1\" ArrayDimensions=\"1\">\n    <DisplayName>StaticNodeIdTypes</DisplayName>\n    <Description>A list of IdTypes for nodes which are the same in every server that exposes them.</Description>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=5009</Reference>\n    </References>\n    <Value>\n      <uax:ListOfInt32 xmlns:uax=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <uax:Int32>0</uax:Int32>\n      </uax:ListOfInt32>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=6558\" BrowseName=\"StaticNumericNodeIdRange\" ParentNodeId=\"ns=1;i=5009\" DataType=\"NumericRange\" ValueRank=\"1\">\n    <DisplayName>StaticNumericNodeIdRange</DisplayName>\n    <Description>A list of ranges for numeric node ids which are the same in every server that exposes them.</Description>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=5009</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=6559\" BrowseName=\"StaticStringNodeIdPattern\" ParentNodeId=\"ns=1;i=5009\" DataType=\"String\">\n    <DisplayName>StaticStringNodeIdPattern</DisplayName>\n    <Description>A regular expression which matches string node ids are the same in every server that exposes them.</Description>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=5009</Reference>\n    </References>\n  </UAVariable>\n  <UAObject NodeId=\"ns=1;i=5002\" BrowseName=\"Default Binary\" SymbolicName=\"DefaultBinary\">\n    <DisplayName>Default Binary</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=76</Reference>\n      <Reference ReferenceType=\"HasEncoding\" IsForward=\"false\">ns=1;i=3002</Reference>\n      <Reference ReferenceType=\"HasDescription\">ns=1;i=6021</Reference>\n    </References>\n  </UAObject>\n  <UAObject NodeId=\"ns=1;i=5003\" BrowseName=\"Default XML\" SymbolicName=\"DefaultXml\">\n    <DisplayName>Default XML</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=76</Reference>\n      <Reference ReferenceType=\"HasEncoding\" IsForward=\"false\">ns=1;i=3002</Reference>\n      <Reference ReferenceType=\"HasDescription\">ns=1;i=6022</Reference>\n    </References>\n  </UAObject>\n  <UAObject NodeId=\"ns=1;i=5006\" BrowseName=\"Default Binary\" SymbolicName=\"DefaultBinary\">\n    <DisplayName>Default Binary</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=76</Reference>\n      <Reference ReferenceType=\"HasEncoding\" IsForward=\"false\">ns=1;i=3015</Reference>\n      <Reference ReferenceType=\"HasDescription\">ns=1;i=6028</Reference>\n    </References>\n  </UAObject>\n  <UAObject NodeId=\"ns=1;i=5007\" BrowseName=\"Default XML\" SymbolicName=\"DefaultXml\">\n    <DisplayName>Default XML</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=76</Reference>\n      <Reference ReferenceType=\"HasEncoding\" IsForward=\"false\">ns=1;i=3015</Reference>\n      <Reference ReferenceType=\"HasDescription\">ns=1;i=6029</Reference>\n    </References>\n  </UAObject>\n  <UAObject NodeId=\"ns=1;i=5008\" BrowseName=\"Default Binary\" SymbolicName=\"DefaultBinary\">\n    <DisplayName>Default Binary</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=76</Reference>\n      <Reference ReferenceType=\"HasEncoding\" IsForward=\"false\">ns=1;i=3016</Reference>\n      <Reference ReferenceType=\"HasDescription\">ns=1;i=6030</Reference>\n    </References>\n  </UAObject>\n  <UAObject NodeId=\"ns=1;i=5013\" BrowseName=\"Default Binary\" SymbolicName=\"DefaultBinary\">\n    <DisplayName>Default Binary</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=76</Reference>\n      <Reference ReferenceType=\"HasEncoding\" IsForward=\"false\">ns=1;i=3004</Reference>\n      <Reference ReferenceType=\"HasDescription\">ns=1;i=6072</Reference>\n    </References>\n  </UAObject>\n  <UAObject NodeId=\"ns=1;i=5014\" BrowseName=\"Default XML\" SymbolicName=\"DefaultXml\">\n    <DisplayName>Default XML</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=76</Reference>\n      <Reference ReferenceType=\"HasEncoding\" IsForward=\"false\">ns=1;i=3004</Reference>\n      <Reference ReferenceType=\"HasDescription\">ns=1;i=6073</Reference>\n    </References>\n  </UAObject>\n  <UAObject NodeId=\"ns=1;i=5016\" BrowseName=\"Default Binary\" SymbolicName=\"DefaultBinary\">\n    <DisplayName>Default Binary</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=76</Reference>\n      <Reference ReferenceType=\"HasEncoding\" IsForward=\"false\">ns=1;i=3005</Reference>\n      <Reference ReferenceType=\"HasDescription\">ns=1;i=6074</Reference>\n    </References>\n  </UAObject>\n  <UAObject NodeId=\"ns=1;i=5017\" BrowseName=\"Default XML\" SymbolicName=\"DefaultXml\">\n    <DisplayName>Default XML</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=76</Reference>\n      <Reference ReferenceType=\"HasEncoding\" IsForward=\"false\">ns=1;i=3005</Reference>\n      <Reference ReferenceType=\"HasDescription\">ns=1;i=6075</Reference>\n    </References>\n  </UAObject>\n  <UAObject NodeId=\"ns=1;i=5018\" BrowseName=\"Default Binary\" SymbolicName=\"DefaultBinary\">\n    <DisplayName>Default Binary</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=76</Reference>\n      <Reference ReferenceType=\"HasEncoding\" IsForward=\"false\">ns=1;i=3006</Reference>\n      <Reference ReferenceType=\"HasDescription\">ns=1;i=6076</Reference>\n    </References>\n  </UAObject>\n  <UAObject NodeId=\"ns=1;i=5019\" BrowseName=\"Default XML\" SymbolicName=\"DefaultXml\">\n    <DisplayName>Default XML</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=76</Reference>\n      <Reference ReferenceType=\"HasEncoding\" IsForward=\"false\">ns=1;i=3006</Reference>\n      <Reference ReferenceType=\"HasDescription\">ns=1;i=6077</Reference>\n    </References>\n  </UAObject>\n  <UAObject NodeId=\"ns=1;i=5026\" BrowseName=\"Default XML\" SymbolicName=\"DefaultXml\">\n    <DisplayName>Default XML</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=76</Reference>\n      <Reference ReferenceType=\"HasEncoding\" IsForward=\"false\">ns=1;i=3016</Reference>\n      <Reference ReferenceType=\"HasDescription\">ns=1;i=6031</Reference>\n    </References>\n  </UAObject>\n  <UAObject NodeId=\"ns=1;i=5027\" BrowseName=\"Default Binary\" SymbolicName=\"DefaultBinary\">\n    <DisplayName>Default Binary</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasDescription\">ns=1;i=6033</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=76</Reference>\n      <Reference ReferenceType=\"HasEncoding\" IsForward=\"false\">ns=1;i=3019</Reference>\n    </References>\n  </UAObject>\n  <UAObject NodeId=\"ns=1;i=5088\" BrowseName=\"Default Binary\" SymbolicName=\"DefaultBinary\">\n    <DisplayName>Default Binary</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasDescription\">ns=1;i=6352</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=76</Reference>\n      <Reference ReferenceType=\"HasEncoding\" IsForward=\"false\">ns=1;i=3007</Reference>\n    </References>\n  </UAObject>\n  <UAObject NodeId=\"ns=1;i=5089\" BrowseName=\"Default XML\" SymbolicName=\"DefaultXml\">\n    <DisplayName>Default XML</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasDescription\">ns=1;i=6353</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=76</Reference>\n      <Reference ReferenceType=\"HasEncoding\" IsForward=\"false\">ns=1;i=3007</Reference>\n    </References>\n  </UAObject>\n  <UAObject NodeId=\"ns=1;i=5090\" BrowseName=\"Default Binary\" SymbolicName=\"DefaultBinary\">\n    <DisplayName>Default Binary</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasDescription\">ns=1;i=6354</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=76</Reference>\n      <Reference ReferenceType=\"HasEncoding\" IsForward=\"false\">ns=1;i=3008</Reference>\n    </References>\n  </UAObject>\n  <UAObject NodeId=\"ns=1;i=5091\" BrowseName=\"Default XML\" SymbolicName=\"DefaultXml\">\n    <DisplayName>Default XML</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasDescription\">ns=1;i=6355</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=76</Reference>\n      <Reference ReferenceType=\"HasEncoding\" IsForward=\"false\">ns=1;i=3008</Reference>\n    </References>\n  </UAObject>\n  <UAObject NodeId=\"ns=1;i=5224\" BrowseName=\"Default Binary\" SymbolicName=\"DefaultBinary\">\n    <DisplayName>Default Binary</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=76</Reference>\n      <Reference ReferenceType=\"HasEncoding\" IsForward=\"false\">ns=1;i=3003</Reference>\n      <Reference ReferenceType=\"HasDescription\">ns=1;i=6071</Reference>\n    </References>\n  </UAObject>\n  <UAObject NodeId=\"ns=1;i=5225\" BrowseName=\"Default XML\" SymbolicName=\"DefaultXml\">\n    <DisplayName>Default XML</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=76</Reference>\n      <Reference ReferenceType=\"HasEncoding\" IsForward=\"false\">ns=1;i=3003</Reference>\n      <Reference ReferenceType=\"HasDescription\">ns=1;i=6093</Reference>\n    </References>\n  </UAObject>\n  <UAObject NodeId=\"ns=1;i=5246\" BrowseName=\"Default Binary\" SymbolicName=\"DefaultBinary\">\n    <DisplayName>Default Binary</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasDescription\">ns=1;i=6125</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=76</Reference>\n      <Reference ReferenceType=\"HasEncoding\" IsForward=\"false\">ns=1;i=3011</Reference>\n    </References>\n  </UAObject>\n  <UAObject NodeId=\"ns=1;i=5247\" BrowseName=\"Default XML\" SymbolicName=\"DefaultXml\">\n    <DisplayName>Default XML</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasDescription\">ns=1;i=6126</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=76</Reference>\n      <Reference ReferenceType=\"HasEncoding\" IsForward=\"false\">ns=1;i=3011</Reference>\n    </References>\n  </UAObject>\n  <UAObject NodeId=\"ns=1;i=5248\" BrowseName=\"Default Binary\" SymbolicName=\"DefaultBinary\">\n    <DisplayName>Default Binary</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=76</Reference>\n      <Reference ReferenceType=\"HasEncoding\" IsForward=\"false\">ns=1;i=3012</Reference>\n      <Reference ReferenceType=\"HasDescription\">ns=1;i=6188</Reference>\n    </References>\n  </UAObject>\n  <UAObject NodeId=\"ns=1;i=5249\" BrowseName=\"Default XML\" SymbolicName=\"DefaultXml\">\n    <DisplayName>Default XML</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=76</Reference>\n      <Reference ReferenceType=\"HasEncoding\" IsForward=\"false\">ns=1;i=3012</Reference>\n      <Reference ReferenceType=\"HasDescription\">ns=1;i=6189</Reference>\n    </References>\n  </UAObject>\n  <UAObject NodeId=\"ns=1;i=5268\" BrowseName=\"Default Binary\" SymbolicName=\"DefaultBinary\">\n    <DisplayName>Default Binary</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=76</Reference>\n      <Reference ReferenceType=\"HasEncoding\" IsForward=\"false\">ns=1;i=3013</Reference>\n      <Reference ReferenceType=\"HasDescription\">ns=1;i=6035</Reference>\n    </References>\n  </UAObject>\n  <UAObject NodeId=\"ns=1;i=5269\" BrowseName=\"Default XML\" SymbolicName=\"DefaultXml\">\n    <DisplayName>Default XML</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=76</Reference>\n      <Reference ReferenceType=\"HasEncoding\" IsForward=\"false\">ns=1;i=3013</Reference>\n      <Reference ReferenceType=\"HasDescription\">ns=1;i=6036</Reference>\n    </References>\n  </UAObject>\n  <UAObject NodeId=\"ns=1;i=5271\" BrowseName=\"Default XML\" SymbolicName=\"DefaultXml\">\n    <DisplayName>Default XML</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasDescription\">ns=1;i=6034</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=76</Reference>\n      <Reference ReferenceType=\"HasEncoding\" IsForward=\"false\">ns=1;i=3019</Reference>\n    </References>\n  </UAObject>\n  <UAObject NodeId=\"ns=1;i=5272\" BrowseName=\"Default Binary\" SymbolicName=\"DefaultBinary\">\n    <DisplayName>Default Binary</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=76</Reference>\n      <Reference ReferenceType=\"HasEncoding\" IsForward=\"false\">ns=1;i=3020</Reference>\n      <Reference ReferenceType=\"HasDescription\">ns=1;i=6037</Reference>\n    </References>\n  </UAObject>\n  <UAObject NodeId=\"ns=1;i=5273\" BrowseName=\"Default XML\" SymbolicName=\"DefaultXml\">\n    <DisplayName>Default XML</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=76</Reference>\n      <Reference ReferenceType=\"HasEncoding\" IsForward=\"false\">ns=1;i=3020</Reference>\n      <Reference ReferenceType=\"HasDescription\">ns=1;i=6038</Reference>\n    </References>\n  </UAObject>\n  <UAObject NodeId=\"ns=1;i=5274\" BrowseName=\"Default Binary\" SymbolicName=\"DefaultBinary\">\n    <DisplayName>Default Binary</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=76</Reference>\n      <Reference ReferenceType=\"HasEncoding\" IsForward=\"false\">ns=1;i=3021</Reference>\n      <Reference ReferenceType=\"HasDescription\">ns=1;i=6039</Reference>\n    </References>\n  </UAObject>\n  <UAObject NodeId=\"ns=1;i=5275\" BrowseName=\"Default XML\" SymbolicName=\"DefaultXml\">\n    <DisplayName>Default XML</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=76</Reference>\n      <Reference ReferenceType=\"HasEncoding\" IsForward=\"false\">ns=1;i=3021</Reference>\n      <Reference ReferenceType=\"HasDescription\">ns=1;i=6040</Reference>\n    </References>\n  </UAObject>\n  <UAObject NodeId=\"ns=1;i=5276\" BrowseName=\"Default Binary\" SymbolicName=\"DefaultBinary\">\n    <DisplayName>Default Binary</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=76</Reference>\n      <Reference ReferenceType=\"HasEncoding\" IsForward=\"false\">ns=1;i=3022</Reference>\n      <Reference ReferenceType=\"HasDescription\">ns=1;i=6127</Reference>\n    </References>\n  </UAObject>\n  <UAObject NodeId=\"ns=1;i=5277\" BrowseName=\"Default XML\" SymbolicName=\"DefaultXml\">\n    <DisplayName>Default XML</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=76</Reference>\n      <Reference ReferenceType=\"HasEncoding\" IsForward=\"false\">ns=1;i=3022</Reference>\n      <Reference ReferenceType=\"HasDescription\">ns=1;i=6128</Reference>\n    </References>\n  </UAObject>\n  <UAObject NodeId=\"ns=1;i=5278\" BrowseName=\"Default Binary\" SymbolicName=\"DefaultBinary\">\n    <DisplayName>Default Binary</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=76</Reference>\n      <Reference ReferenceType=\"HasEncoding\" IsForward=\"false\">ns=1;i=3024</Reference>\n      <Reference ReferenceType=\"HasDescription\">ns=1;i=6130</Reference>\n    </References>\n  </UAObject>\n  <UAObject NodeId=\"ns=1;i=5279\" BrowseName=\"Default XML\" SymbolicName=\"DefaultXml\">\n    <DisplayName>Default XML</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=76</Reference>\n      <Reference ReferenceType=\"HasEncoding\" IsForward=\"false\">ns=1;i=3024</Reference>\n      <Reference ReferenceType=\"HasDescription\">ns=1;i=6131</Reference>\n    </References>\n  </UAObject>\n</UANodeSet>\n"
  },
  {
    "path": "SemanticData/Tests/USNodeSetValidationUnitTestProject/XMLModels/ProblemsToReport/eoursel510/DoRecoverModelDesign.cmd",
    "content": "..\\asp \"Opc.Ua.NodeSet2.TriCycleType_V1.1.xml\" -e \"Opc.Ua.NodeSet2.TriCycleType_V1.1.ModelDesign.xml\" -s XMLstylesheet -n \"http://tricycleTypeV1\"\n"
  },
  {
    "path": "SemanticData/Tests/USNodeSetValidationUnitTestProject/XMLModels/ProblemsToReport/eoursel510/Opc.Ua.NodeSet2.TriCycleType_V1.1.ModelDesign/Prefix2.Classes.cs",
    "content": "/* ========================================================================\n * Copyright (c) 2005-2016 The OPC Foundation, Inc. All rights reserved.\n *\n * OPC Foundation MIT License 1.00\n *\n * Permission is hereby granted, free of charge, to any person\n * obtaining a copy of this software and associated documentation\n * files (the \"Software\"), to deal in the Software without\n * restriction, including without limitation the rights to use,\n * copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the\n * Software is furnished to do so, subject to the following\n * conditions:\n *\n * The above copyright notice and this permission notice shall be\n * included in all copies or substantial portions of the Software.\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND,\n * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES\n * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND\n * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT\n * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,\n * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING\n * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR\n * OTHER DEALINGS IN THE SOFTWARE.\n *\n * The complete license agreement can be found here:\n * http://opcfoundation.org/License/MIT/1.00/\n * ======================================================================*/\n\nusing System;\nusing System.Collections.Generic;\nusing System.Text;\nusing System.Xml;\nusing System.Runtime.Serialization;\nusing Prefix0;\n\nnamespace Prefix2\n{\n    #region DataType Identifiers\n    /// <summary>\n    /// A class that declares constants for all DataTypes in the Model Design.\n    /// </summary>\n    /// <exclude />\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"Opc.Ua.ModelCompiler\", \"1.0.0.0\")]\n    public static partial class DataTypes\n    {\n        /// <summary>\n        /// The identifier for the TireEnum DataType.\n        /// </summary>\n        public const uint TireEnum = 1;\n\n        /// <summary>\n        /// The identifier for the TriCycleDataType DataType.\n        /// </summary>\n        public const uint TriCycleDataType = 3;\n\n        /// <summary>\n        /// The identifier for the WheelDataType DataType.\n        /// </summary>\n        public const uint WheelDataType = 4;\n    }\n    #endregion\n\n    #region Object Identifiers\n    /// <summary>\n    /// A class that declares constants for all Objects in the Model Design.\n    /// </summary>\n    /// <exclude />\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"Opc.Ua.ModelCompiler\", \"1.0.0.0\")]\n    public static partial class Objects\n    {\n        /// <summary>\n        /// The identifier for the VehicleType_S_Owner_ Object.\n        /// </summary>\n        public const uint VehicleType_S_Owner_ = 47;\n\n        /// <summary>\n        /// The identifier for the TrailerType_S_Owner_ Object.\n        /// </summary>\n        public const uint TrailerType_S_Owner_ = 52;\n\n        /// <summary>\n        /// The identifier for the TriCycleType_S_Owner_ Object.\n        /// </summary>\n        public const uint TriCycleType_S_Owner_ = 57;\n\n        /// <summary>\n        /// The identifier for the TriCycleDataType_Encoding_DefaultXml Object.\n        /// </summary>\n        public const uint TriCycleDataType_Encoding_DefaultXml = 24;\n\n        /// <summary>\n        /// The identifier for the WheelDataType_Encoding_DefaultXml Object.\n        /// </summary>\n        public const uint WheelDataType_Encoding_DefaultXml = 25;\n\n        /// <summary>\n        /// The identifier for the TriCycleDataType_Encoding_DefaultBinary Object.\n        /// </summary>\n        public const uint TriCycleDataType_Encoding_DefaultBinary = 35;\n\n        /// <summary>\n        /// The identifier for the WheelDataType_Encoding_DefaultBinary Object.\n        /// </summary>\n        public const uint WheelDataType_Encoding_DefaultBinary = 36;\n    }\n    #endregion\n\n    #region ObjectType Identifiers\n    /// <summary>\n    /// A class that declares constants for all ObjectTypes in the Model Design.\n    /// </summary>\n    /// <exclude />\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"Opc.Ua.ModelCompiler\", \"1.0.0.0\")]\n    public static partial class ObjectTypes\n    {\n        /// <summary>\n        /// The identifier for the HumanType ObjectType.\n        /// </summary>\n        public const uint HumanType = 5;\n\n        /// <summary>\n        /// The identifier for the VehicleType ObjectType.\n        /// </summary>\n        public const uint VehicleType = 10;\n\n        /// <summary>\n        /// The identifier for the TrailerType ObjectType.\n        /// </summary>\n        public const uint TrailerType = 9;\n\n        /// <summary>\n        /// The identifier for the TriCycleType ObjectType.\n        /// </summary>\n        public const uint TriCycleType = 11;\n    }\n    #endregion\n\n    #region Variable Identifiers\n    /// <summary>\n    /// A class that declares constants for all Variables in the Model Design.\n    /// </summary>\n    /// <exclude />\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"Opc.Ua.ModelCompiler\", \"1.0.0.0\")]\n    public static partial class Variables\n    {\n        /// <summary>\n        /// The identifier for the TireEnum_EnumStrings Variable.\n        /// </summary>\n        public const uint TireEnum_EnumStrings = 2;\n\n        /// <summary>\n        /// The identifier for the HumanType_Name Variable.\n        /// </summary>\n        public const uint HumanType_Name = 6;\n\n        /// <summary>\n        /// The identifier for the HumanType_Age Variable.\n        /// </summary>\n        public const uint HumanType_Age = 7;\n\n        /// <summary>\n        /// The identifier for the HumanType_Gender Variable.\n        /// </summary>\n        public const uint HumanType_Gender = 8;\n\n        /// <summary>\n        /// The identifier for the VehicleType_buildDate Variable.\n        /// </summary>\n        public const uint VehicleType_buildDate = 46;\n\n        /// <summary>\n        /// The identifier for the VehicleType_S_Owner__Name Variable.\n        /// </summary>\n        public const uint VehicleType_S_Owner__Name = 48;\n\n        /// <summary>\n        /// The identifier for the VehicleType_S_Owner__Age Variable.\n        /// </summary>\n        public const uint VehicleType_S_Owner__Age = 49;\n\n        /// <summary>\n        /// The identifier for the VehicleType_S_Owner__Gender Variable.\n        /// </summary>\n        public const uint VehicleType_S_Owner__Gender = 50;\n\n        /// <summary>\n        /// The identifier for the TrailerType_S_Owner__Name Variable.\n        /// </summary>\n        public const uint TrailerType_S_Owner__Name = 53;\n\n        /// <summary>\n        /// The identifier for the TrailerType_S_Owner__Age Variable.\n        /// </summary>\n        public const uint TrailerType_S_Owner__Age = 54;\n\n        /// <summary>\n        /// The identifier for the TrailerType_S_Owner__Gender Variable.\n        /// </summary>\n        public const uint TrailerType_S_Owner__Gender = 55;\n\n        /// <summary>\n        /// The identifier for the TrailerType_LoadedTricycle Variable.\n        /// </summary>\n        public const uint TrailerType_LoadedTricycle = 61;\n\n        /// <summary>\n        /// The identifier for the TriCycleType_S_Owner__Name Variable.\n        /// </summary>\n        public const uint TriCycleType_S_Owner__Name = 58;\n\n        /// <summary>\n        /// The identifier for the TriCycleType_S_Owner__Age Variable.\n        /// </summary>\n        public const uint TriCycleType_S_Owner__Age = 59;\n\n        /// <summary>\n        /// The identifier for the TriCycleType_S_Owner__Gender Variable.\n        /// </summary>\n        public const uint TriCycleType_S_Owner__Gender = 60;\n\n        /// <summary>\n        /// The identifier for the TriCycleType_weight Variable.\n        /// </summary>\n        public const uint TriCycleType_weight = 12;\n\n        /// <summary>\n        /// The identifier for the TriCycleType_wheels Variable.\n        /// </summary>\n        public const uint TriCycleType_wheels = 13;\n\n        /// <summary>\n        /// The identifier for the TriCycleType_wheels_tickness Variable.\n        /// </summary>\n        public const uint TriCycleType_wheels_tickness = 14;\n\n        /// <summary>\n        /// The identifier for the TriCycleType_wheels_diameter Variable.\n        /// </summary>\n        public const uint TriCycleType_wheels_diameter = 15;\n\n        /// <summary>\n        /// The identifier for the TriCycleType_wheels_pressure Variable.\n        /// </summary>\n        public const uint TriCycleType_wheels_pressure = 16;\n\n        /// <summary>\n        /// The identifier for the TriCycleType_wheels_tiretype Variable.\n        /// </summary>\n        public const uint TriCycleType_wheels_tiretype = 17;\n\n        /// <summary>\n        /// The identifier for the TriCycleType_Model Variable.\n        /// </summary>\n        public const uint TriCycleType_Model = 18;\n\n        /// <summary>\n        /// The identifier for the WheelVariableType_tickness Variable.\n        /// </summary>\n        public const uint WheelVariableType_tickness = 20;\n\n        /// <summary>\n        /// The identifier for the WheelVariableType_diameter Variable.\n        /// </summary>\n        public const uint WheelVariableType_diameter = 21;\n\n        /// <summary>\n        /// The identifier for the WheelVariableType_pressure Variable.\n        /// </summary>\n        public const uint WheelVariableType_pressure = 22;\n\n        /// <summary>\n        /// The identifier for the WheelVariableType_tiretype Variable.\n        /// </summary>\n        public const uint WheelVariableType_tiretype = 23;\n\n        /// <summary>\n        /// The identifier for the Name2_XmlSchema Variable.\n        /// </summary>\n        public const uint Name2_XmlSchema = 26;\n\n        /// <summary>\n        /// The identifier for the Name2_XmlSchema_NamespaceUri Variable.\n        /// </summary>\n        public const uint Name2_XmlSchema_NamespaceUri = 28;\n\n        /// <summary>\n        /// The identifier for the Name2_XmlSchema_TriCycleDataType Variable.\n        /// </summary>\n        public const uint Name2_XmlSchema_TriCycleDataType = 29;\n\n        /// <summary>\n        /// The identifier for the Name2_XmlSchema_WheelDataType Variable.\n        /// </summary>\n        public const uint Name2_XmlSchema_WheelDataType = 32;\n\n        /// <summary>\n        /// The identifier for the Name2_BinarySchema Variable.\n        /// </summary>\n        public const uint Name2_BinarySchema = 37;\n\n        /// <summary>\n        /// The identifier for the Name2_BinarySchema_NamespaceUri Variable.\n        /// </summary>\n        public const uint Name2_BinarySchema_NamespaceUri = 39;\n\n        /// <summary>\n        /// The identifier for the Name2_BinarySchema_TriCycleDataType Variable.\n        /// </summary>\n        public const uint Name2_BinarySchema_TriCycleDataType = 40;\n\n        /// <summary>\n        /// The identifier for the Name2_BinarySchema_WheelDataType Variable.\n        /// </summary>\n        public const uint Name2_BinarySchema_WheelDataType = 43;\n    }\n    #endregion\n\n    #region VariableType Identifiers\n    /// <summary>\n    /// A class that declares constants for all VariableTypes in the Model Design.\n    /// </summary>\n    /// <exclude />\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"Opc.Ua.ModelCompiler\", \"1.0.0.0\")]\n    public static partial class VariableTypes\n    {\n        /// <summary>\n        /// The identifier for the WheelVariableType VariableType.\n        /// </summary>\n        public const uint WheelVariableType = 19;\n    }\n    #endregion\n\n    #region DataType Node Identifiers\n    /// <summary>\n    /// A class that declares constants for all DataTypes in the Model Design.\n    /// </summary>\n    /// <exclude />\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"Opc.Ua.ModelCompiler\", \"1.0.0.0\")]\n    public static partial class DataTypeIds\n    {\n        /// <summary>\n        /// The identifier for the TireEnum DataType.\n        /// </summary>\n        public static readonly ExpandedNodeId TireEnum = new ExpandedNodeId(Prefix2.DataTypes.TireEnum, Prefix2.Namespaces.Name2);\n\n        /// <summary>\n        /// The identifier for the TriCycleDataType DataType.\n        /// </summary>\n        public static readonly ExpandedNodeId TriCycleDataType = new ExpandedNodeId(Prefix2.DataTypes.TriCycleDataType, Prefix2.Namespaces.Name2);\n\n        /// <summary>\n        /// The identifier for the WheelDataType DataType.\n        /// </summary>\n        public static readonly ExpandedNodeId WheelDataType = new ExpandedNodeId(Prefix2.DataTypes.WheelDataType, Prefix2.Namespaces.Name2);\n    }\n    #endregion\n\n    #region Object Node Identifiers\n    /// <summary>\n    /// A class that declares constants for all Objects in the Model Design.\n    /// </summary>\n    /// <exclude />\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"Opc.Ua.ModelCompiler\", \"1.0.0.0\")]\n    public static partial class ObjectIds\n    {\n        /// <summary>\n        /// The identifier for the VehicleType_S_Owner_ Object.\n        /// </summary>\n        public static readonly ExpandedNodeId VehicleType_S_Owner_ = new ExpandedNodeId(Prefix2.Objects.VehicleType_S_Owner_, Prefix2.Namespaces.Name2);\n\n        /// <summary>\n        /// The identifier for the TrailerType_S_Owner_ Object.\n        /// </summary>\n        public static readonly ExpandedNodeId TrailerType_S_Owner_ = new ExpandedNodeId(Prefix2.Objects.TrailerType_S_Owner_, Prefix2.Namespaces.Name2);\n\n        /// <summary>\n        /// The identifier for the TriCycleType_S_Owner_ Object.\n        /// </summary>\n        public static readonly ExpandedNodeId TriCycleType_S_Owner_ = new ExpandedNodeId(Prefix2.Objects.TriCycleType_S_Owner_, Prefix2.Namespaces.Name2);\n\n        /// <summary>\n        /// The identifier for the TriCycleDataType_Encoding_DefaultXml Object.\n        /// </summary>\n        public static readonly ExpandedNodeId TriCycleDataType_Encoding_DefaultXml = new ExpandedNodeId(Prefix2.Objects.TriCycleDataType_Encoding_DefaultXml, Prefix2.Namespaces.Name2);\n\n        /// <summary>\n        /// The identifier for the WheelDataType_Encoding_DefaultXml Object.\n        /// </summary>\n        public static readonly ExpandedNodeId WheelDataType_Encoding_DefaultXml = new ExpandedNodeId(Prefix2.Objects.WheelDataType_Encoding_DefaultXml, Prefix2.Namespaces.Name2);\n\n        /// <summary>\n        /// The identifier for the TriCycleDataType_Encoding_DefaultBinary Object.\n        /// </summary>\n        public static readonly ExpandedNodeId TriCycleDataType_Encoding_DefaultBinary = new ExpandedNodeId(Prefix2.Objects.TriCycleDataType_Encoding_DefaultBinary, Prefix2.Namespaces.Name2);\n\n        /// <summary>\n        /// The identifier for the WheelDataType_Encoding_DefaultBinary Object.\n        /// </summary>\n        public static readonly ExpandedNodeId WheelDataType_Encoding_DefaultBinary = new ExpandedNodeId(Prefix2.Objects.WheelDataType_Encoding_DefaultBinary, Prefix2.Namespaces.Name2);\n    }\n    #endregion\n\n    #region ObjectType Node Identifiers\n    /// <summary>\n    /// A class that declares constants for all ObjectTypes in the Model Design.\n    /// </summary>\n    /// <exclude />\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"Opc.Ua.ModelCompiler\", \"1.0.0.0\")]\n    public static partial class ObjectTypeIds\n    {\n        /// <summary>\n        /// The identifier for the HumanType ObjectType.\n        /// </summary>\n        public static readonly ExpandedNodeId HumanType = new ExpandedNodeId(Prefix2.ObjectTypes.HumanType, Prefix2.Namespaces.Name2);\n\n        /// <summary>\n        /// The identifier for the VehicleType ObjectType.\n        /// </summary>\n        public static readonly ExpandedNodeId VehicleType = new ExpandedNodeId(Prefix2.ObjectTypes.VehicleType, Prefix2.Namespaces.Name2);\n\n        /// <summary>\n        /// The identifier for the TrailerType ObjectType.\n        /// </summary>\n        public static readonly ExpandedNodeId TrailerType = new ExpandedNodeId(Prefix2.ObjectTypes.TrailerType, Prefix2.Namespaces.Name2);\n\n        /// <summary>\n        /// The identifier for the TriCycleType ObjectType.\n        /// </summary>\n        public static readonly ExpandedNodeId TriCycleType = new ExpandedNodeId(Prefix2.ObjectTypes.TriCycleType, Prefix2.Namespaces.Name2);\n    }\n    #endregion\n\n    #region Variable Node Identifiers\n    /// <summary>\n    /// A class that declares constants for all Variables in the Model Design.\n    /// </summary>\n    /// <exclude />\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"Opc.Ua.ModelCompiler\", \"1.0.0.0\")]\n    public static partial class VariableIds\n    {\n        /// <summary>\n        /// The identifier for the TireEnum_EnumStrings Variable.\n        /// </summary>\n        public static readonly ExpandedNodeId TireEnum_EnumStrings = new ExpandedNodeId(Prefix2.Variables.TireEnum_EnumStrings, Prefix2.Namespaces.Name2);\n\n        /// <summary>\n        /// The identifier for the HumanType_Name Variable.\n        /// </summary>\n        public static readonly ExpandedNodeId HumanType_Name = new ExpandedNodeId(Prefix2.Variables.HumanType_Name, Prefix2.Namespaces.Name2);\n\n        /// <summary>\n        /// The identifier for the HumanType_Age Variable.\n        /// </summary>\n        public static readonly ExpandedNodeId HumanType_Age = new ExpandedNodeId(Prefix2.Variables.HumanType_Age, Prefix2.Namespaces.Name2);\n\n        /// <summary>\n        /// The identifier for the HumanType_Gender Variable.\n        /// </summary>\n        public static readonly ExpandedNodeId HumanType_Gender = new ExpandedNodeId(Prefix2.Variables.HumanType_Gender, Prefix2.Namespaces.Name2);\n\n        /// <summary>\n        /// The identifier for the VehicleType_buildDate Variable.\n        /// </summary>\n        public static readonly ExpandedNodeId VehicleType_buildDate = new ExpandedNodeId(Prefix2.Variables.VehicleType_buildDate, Prefix2.Namespaces.Name2);\n\n        /// <summary>\n        /// The identifier for the VehicleType_S_Owner__Name Variable.\n        /// </summary>\n        public static readonly ExpandedNodeId VehicleType_S_Owner__Name = new ExpandedNodeId(Prefix2.Variables.VehicleType_S_Owner__Name, Prefix2.Namespaces.Name2);\n\n        /// <summary>\n        /// The identifier for the VehicleType_S_Owner__Age Variable.\n        /// </summary>\n        public static readonly ExpandedNodeId VehicleType_S_Owner__Age = new ExpandedNodeId(Prefix2.Variables.VehicleType_S_Owner__Age, Prefix2.Namespaces.Name2);\n\n        /// <summary>\n        /// The identifier for the VehicleType_S_Owner__Gender Variable.\n        /// </summary>\n        public static readonly ExpandedNodeId VehicleType_S_Owner__Gender = new ExpandedNodeId(Prefix2.Variables.VehicleType_S_Owner__Gender, Prefix2.Namespaces.Name2);\n\n        /// <summary>\n        /// The identifier for the TrailerType_S_Owner__Name Variable.\n        /// </summary>\n        public static readonly ExpandedNodeId TrailerType_S_Owner__Name = new ExpandedNodeId(Prefix2.Variables.TrailerType_S_Owner__Name, Prefix2.Namespaces.Name2);\n\n        /// <summary>\n        /// The identifier for the TrailerType_S_Owner__Age Variable.\n        /// </summary>\n        public static readonly ExpandedNodeId TrailerType_S_Owner__Age = new ExpandedNodeId(Prefix2.Variables.TrailerType_S_Owner__Age, Prefix2.Namespaces.Name2);\n\n        /// <summary>\n        /// The identifier for the TrailerType_S_Owner__Gender Variable.\n        /// </summary>\n        public static readonly ExpandedNodeId TrailerType_S_Owner__Gender = new ExpandedNodeId(Prefix2.Variables.TrailerType_S_Owner__Gender, Prefix2.Namespaces.Name2);\n\n        /// <summary>\n        /// The identifier for the TrailerType_LoadedTricycle Variable.\n        /// </summary>\n        public static readonly ExpandedNodeId TrailerType_LoadedTricycle = new ExpandedNodeId(Prefix2.Variables.TrailerType_LoadedTricycle, Prefix2.Namespaces.Name2);\n\n        /// <summary>\n        /// The identifier for the TriCycleType_S_Owner__Name Variable.\n        /// </summary>\n        public static readonly ExpandedNodeId TriCycleType_S_Owner__Name = new ExpandedNodeId(Prefix2.Variables.TriCycleType_S_Owner__Name, Prefix2.Namespaces.Name2);\n\n        /// <summary>\n        /// The identifier for the TriCycleType_S_Owner__Age Variable.\n        /// </summary>\n        public static readonly ExpandedNodeId TriCycleType_S_Owner__Age = new ExpandedNodeId(Prefix2.Variables.TriCycleType_S_Owner__Age, Prefix2.Namespaces.Name2);\n\n        /// <summary>\n        /// The identifier for the TriCycleType_S_Owner__Gender Variable.\n        /// </summary>\n        public static readonly ExpandedNodeId TriCycleType_S_Owner__Gender = new ExpandedNodeId(Prefix2.Variables.TriCycleType_S_Owner__Gender, Prefix2.Namespaces.Name2);\n\n        /// <summary>\n        /// The identifier for the TriCycleType_weight Variable.\n        /// </summary>\n        public static readonly ExpandedNodeId TriCycleType_weight = new ExpandedNodeId(Prefix2.Variables.TriCycleType_weight, Prefix2.Namespaces.Name2);\n\n        /// <summary>\n        /// The identifier for the TriCycleType_wheels Variable.\n        /// </summary>\n        public static readonly ExpandedNodeId TriCycleType_wheels = new ExpandedNodeId(Prefix2.Variables.TriCycleType_wheels, Prefix2.Namespaces.Name2);\n\n        /// <summary>\n        /// The identifier for the TriCycleType_wheels_tickness Variable.\n        /// </summary>\n        public static readonly ExpandedNodeId TriCycleType_wheels_tickness = new ExpandedNodeId(Prefix2.Variables.TriCycleType_wheels_tickness, Prefix2.Namespaces.Name2);\n\n        /// <summary>\n        /// The identifier for the TriCycleType_wheels_diameter Variable.\n        /// </summary>\n        public static readonly ExpandedNodeId TriCycleType_wheels_diameter = new ExpandedNodeId(Prefix2.Variables.TriCycleType_wheels_diameter, Prefix2.Namespaces.Name2);\n\n        /// <summary>\n        /// The identifier for the TriCycleType_wheels_pressure Variable.\n        /// </summary>\n        public static readonly ExpandedNodeId TriCycleType_wheels_pressure = new ExpandedNodeId(Prefix2.Variables.TriCycleType_wheels_pressure, Prefix2.Namespaces.Name2);\n\n        /// <summary>\n        /// The identifier for the TriCycleType_wheels_tiretype Variable.\n        /// </summary>\n        public static readonly ExpandedNodeId TriCycleType_wheels_tiretype = new ExpandedNodeId(Prefix2.Variables.TriCycleType_wheels_tiretype, Prefix2.Namespaces.Name2);\n\n        /// <summary>\n        /// The identifier for the TriCycleType_Model Variable.\n        /// </summary>\n        public static readonly ExpandedNodeId TriCycleType_Model = new ExpandedNodeId(Prefix2.Variables.TriCycleType_Model, Prefix2.Namespaces.Name2);\n\n        /// <summary>\n        /// The identifier for the WheelVariableType_tickness Variable.\n        /// </summary>\n        public static readonly ExpandedNodeId WheelVariableType_tickness = new ExpandedNodeId(Prefix2.Variables.WheelVariableType_tickness, Prefix2.Namespaces.Name2);\n\n        /// <summary>\n        /// The identifier for the WheelVariableType_diameter Variable.\n        /// </summary>\n        public static readonly ExpandedNodeId WheelVariableType_diameter = new ExpandedNodeId(Prefix2.Variables.WheelVariableType_diameter, Prefix2.Namespaces.Name2);\n\n        /// <summary>\n        /// The identifier for the WheelVariableType_pressure Variable.\n        /// </summary>\n        public static readonly ExpandedNodeId WheelVariableType_pressure = new ExpandedNodeId(Prefix2.Variables.WheelVariableType_pressure, Prefix2.Namespaces.Name2);\n\n        /// <summary>\n        /// The identifier for the WheelVariableType_tiretype Variable.\n        /// </summary>\n        public static readonly ExpandedNodeId WheelVariableType_tiretype = new ExpandedNodeId(Prefix2.Variables.WheelVariableType_tiretype, Prefix2.Namespaces.Name2);\n\n        /// <summary>\n        /// The identifier for the Name2_XmlSchema Variable.\n        /// </summary>\n        public static readonly ExpandedNodeId Name2_XmlSchema = new ExpandedNodeId(Prefix2.Variables.Name2_XmlSchema, Prefix2.Namespaces.Name2);\n\n        /// <summary>\n        /// The identifier for the Name2_XmlSchema_NamespaceUri Variable.\n        /// </summary>\n        public static readonly ExpandedNodeId Name2_XmlSchema_NamespaceUri = new ExpandedNodeId(Prefix2.Variables.Name2_XmlSchema_NamespaceUri, Prefix2.Namespaces.Name2);\n\n        /// <summary>\n        /// The identifier for the Name2_XmlSchema_TriCycleDataType Variable.\n        /// </summary>\n        public static readonly ExpandedNodeId Name2_XmlSchema_TriCycleDataType = new ExpandedNodeId(Prefix2.Variables.Name2_XmlSchema_TriCycleDataType, Prefix2.Namespaces.Name2);\n\n        /// <summary>\n        /// The identifier for the Name2_XmlSchema_WheelDataType Variable.\n        /// </summary>\n        public static readonly ExpandedNodeId Name2_XmlSchema_WheelDataType = new ExpandedNodeId(Prefix2.Variables.Name2_XmlSchema_WheelDataType, Prefix2.Namespaces.Name2);\n\n        /// <summary>\n        /// The identifier for the Name2_BinarySchema Variable.\n        /// </summary>\n        public static readonly ExpandedNodeId Name2_BinarySchema = new ExpandedNodeId(Prefix2.Variables.Name2_BinarySchema, Prefix2.Namespaces.Name2);\n\n        /// <summary>\n        /// The identifier for the Name2_BinarySchema_NamespaceUri Variable.\n        /// </summary>\n        public static readonly ExpandedNodeId Name2_BinarySchema_NamespaceUri = new ExpandedNodeId(Prefix2.Variables.Name2_BinarySchema_NamespaceUri, Prefix2.Namespaces.Name2);\n\n        /// <summary>\n        /// The identifier for the Name2_BinarySchema_TriCycleDataType Variable.\n        /// </summary>\n        public static readonly ExpandedNodeId Name2_BinarySchema_TriCycleDataType = new ExpandedNodeId(Prefix2.Variables.Name2_BinarySchema_TriCycleDataType, Prefix2.Namespaces.Name2);\n\n        /// <summary>\n        /// The identifier for the Name2_BinarySchema_WheelDataType Variable.\n        /// </summary>\n        public static readonly ExpandedNodeId Name2_BinarySchema_WheelDataType = new ExpandedNodeId(Prefix2.Variables.Name2_BinarySchema_WheelDataType, Prefix2.Namespaces.Name2);\n    }\n    #endregion\n\n    #region VariableType Node Identifiers\n    /// <summary>\n    /// A class that declares constants for all VariableTypes in the Model Design.\n    /// </summary>\n    /// <exclude />\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"Opc.Ua.ModelCompiler\", \"1.0.0.0\")]\n    public static partial class VariableTypeIds\n    {\n        /// <summary>\n        /// The identifier for the WheelVariableType VariableType.\n        /// </summary>\n        public static readonly ExpandedNodeId WheelVariableType = new ExpandedNodeId(Prefix2.VariableTypes.WheelVariableType, Prefix2.Namespaces.Name2);\n    }\n    #endregion\n\n    #region BrowseName Declarations\n    /// <summary>\n    /// Declares all of the BrowseNames used in the Model Design.\n    /// </summary>\n    public static partial class BrowseNames\n    {\n        /// <summary>\n        /// The BrowseName for the HumanType component.\n        /// </summary>\n        public const string HumanType = \"HumanType\";\n\n        /// <summary>\n        /// The BrowseName for the Name2_BinarySchema component.\n        /// </summary>\n        public const string Name2_BinarySchema = \"Prefix2\";\n\n        /// <summary>\n        /// The BrowseName for the Name2_XmlSchema component.\n        /// </summary>\n        public const string Name2_XmlSchema = \"Prefix2\";\n\n        /// <summary>\n        /// The BrowseName for the TireEnum component.\n        /// </summary>\n        public const string TireEnum = \"TireEnum\";\n\n        /// <summary>\n        /// The BrowseName for the TrailerType component.\n        /// </summary>\n        public const string TrailerType = \"TrailerType\";\n\n        /// <summary>\n        /// The BrowseName for the TriCycleDataType component.\n        /// </summary>\n        public const string TriCycleDataType = \"TriCycleDataType\";\n\n        /// <summary>\n        /// The BrowseName for the TriCycleType component.\n        /// </summary>\n        public const string TriCycleType = \"TriCycleType\";\n\n        /// <summary>\n        /// The BrowseName for the VehicleType component.\n        /// </summary>\n        public const string VehicleType = \"VehicleType\";\n\n        /// <summary>\n        /// The BrowseName for the WheelDataType component.\n        /// </summary>\n        public const string WheelDataType = \"WheelDataType\";\n\n        /// <summary>\n        /// The BrowseName for the WheelVariableType component.\n        /// </summary>\n        public const string WheelVariableType = \"WheelVariableType\";\n    }\n    #endregion\n\n    #region Namespace Declarations\n    /// <summary>\n    /// Defines constants for all namespaces referenced by the model design.\n    /// </summary>\n    public static partial class Namespaces\n    {\n        /// <summary>\n        /// The URI for the Name0Xsd namespace (.NET code namespace is 'Prefix0').\n        /// </summary>\n        public const string Name0Xsd = \"http://opcfoundation.org/UA/\";\n\n        /// <summary>\n        /// The URI for the Name0Xsd namespace (.NET code namespace is 'Prefix0').\n        /// </summary>\n        public const string Name0Xsd = \"http://opcfoundation.org/UA/\";\n\n        /// <summary>\n        /// The URI for the Name2Xsd namespace (.NET code namespace is 'Prefix2').\n        /// </summary>\n        public const string Name2Xsd = \"http://tricycletypev1/\";\n\n        /// <summary>\n        /// The URI for the Name2Xsd namespace (.NET code namespace is 'Prefix2').\n        /// </summary>\n        public const string Name2Xsd = \"http://tricycletypev1/\";\n    }\n    #endregion\n\n    #region TireEnum Enumeration\n    #if (!OPCUA_EXCLUDE_TireEnum)\n    /// <summary>\n    /// A description for the TireEnum DataType.\n    /// </summary>\n    /// <exclude />\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"Opc.Ua.ModelCompiler\", \"1.0.0.0\")]\n    [DataContract(Namespace = Prefix2.Namespaces.Name2Xsd)]\n    public enum TireEnum\n    {\n        /// <summary>\n        /// A description for the Mud field.\n        /// </summary>\n        [EnumMember(Value = \"Mud_0\")]\n        Mud = 0,\n\n        /// <summary>\n        /// A description for the Ice field.\n        /// </summary>\n        [EnumMember(Value = \"Ice_1\")]\n        Ice = 1,\n\n        /// <summary>\n        /// A description for the Sand field.\n        /// </summary>\n        [EnumMember(Value = \"Sand_2\")]\n        Sand = 2,\n    }\n\n    #region TireEnumCollection Class\n    /// <summary>\n    /// A collection of TireEnum objects.\n    /// </summary>\n    /// <exclude />\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"Opc.Ua.ModelCompiler\", \"1.0.0.0\")]\n    [CollectionDataContract(Name = \"ListOfTireEnum\", Namespace = Prefix2.Namespaces.Name2Xsd, ItemName = \"TireEnum\")]\n    #if !NET_STANDARD\n    public partial class TireEnumCollection : List<TireEnum>, ICloneable\n    #else\n    public partial class TireEnumCollection : List<TireEnum>\n    #endif\n    {\n        #region Constructors\n        /// <summary>\n        /// Initializes the collection with default values.\n        /// </summary>\n        public TireEnumCollection() {}\n\n        /// <summary>\n        /// Initializes the collection with an initial capacity.\n        /// </summary>\n        public TireEnumCollection(int capacity) : base(capacity) {}\n\n        /// <summary>\n        /// Initializes the collection with another collection.\n        /// </summary>\n        public TireEnumCollection(IEnumerable<TireEnum> collection) : base(collection) {}\n        #endregion\n\n        #region Static Operators\n        /// <summary>\n        /// Converts an array to a collection.\n        /// </summary>\n        public static implicit operator TireEnumCollection(TireEnum[] values)\n        {\n            if (values != null)\n            {\n                return new TireEnumCollection(values);\n            }\n\n            return new TireEnumCollection();\n        }\n\n        /// <summary>\n        /// Converts a collection to an array.\n        /// </summary>\n        public static explicit operator TireEnum[](TireEnumCollection values)\n        {\n            if (values != null)\n            {\n                return values.ToArray();\n            }\n\n            return null;\n        }\n        #endregion\n\n        #if !NET_STANDARD\n        #region ICloneable Methods\n        /// <summary>\n        /// Creates a deep copy of the collection.\n        /// </summary>\n        public object Clone()\n        {\n            return (TireEnumCollection)this.MemberwiseClone();\n        }\n        #endregion\n        #endif\n\n        /// <summary cref=\"Object.MemberwiseClone\" />\n        public new object MemberwiseClone()\n        {\n            TireEnumCollection clone = new TireEnumCollection(this.Count);\n\n            for (int ii = 0; ii < this.Count; ii++)\n            {\n                clone.Add((TireEnum)Utils.Clone(this[ii]));\n            }\n\n            return clone;\n        }\n    }\n    #endregion\n    #endif\n    #endregion\n\n    #region TriCycleDataType Class\n    #if (!OPCUA_EXCLUDE_TriCycleDataType)\n    /// <summary>\n    /// A description for the TriCycleDataType DataType.\n    /// </summary>\n    /// <exclude />\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"Opc.Ua.ModelCompiler\", \"1.0.0.0\")]\n    [DataContract(Namespace = Prefix2.Namespaces.Name2Xsd)]\n    public partial class TriCycleDataType : IEncodeable\n    {\n        #region Constructors\n        /// <summary>\n        /// The default constructor.\n        /// </summary>\n        public TriCycleDataType()\n        {\n            Initialize();\n        }\n\n        /// <summary>\n        /// Called by the .NET framework during deserialization.\n        /// </summary>\n        [OnDeserializing]\n        private void Initialize(StreamingContext context)\n        {\n            Initialize();\n        }\n\n        /// <summary>\n        /// Sets private members to default values.\n        /// </summary>\n        private void Initialize()\n        {\n            m_weight = (float)0;\n            m_wheel = new WheelDataType();\n            m_model = null;\n        }\n        #endregion\n\n        #region Public Properties\n        /// <summary>\n        /// A description for the weight field.\n        /// </summary>\n        [DataMember(Name = \"weight\", IsRequired = false, Order = 1)]\n        public float weight\n        {\n            get { return m_weight;  }\n            set { m_weight = value; }\n        }\n\n        /// <summary>\n        /// A description for the wheel field.\n        /// </summary>\n        [DataMember(Name = \"wheel\", IsRequired = false, Order = 2)]\n        public WheelDataType wheel\n        {\n            get\n            {\n                return m_wheel;\n            }\n\n            set\n            {\n                m_wheel = value;\n\n                if (value == null)\n                {\n                    m_wheel = new WheelDataType();\n                }\n            }\n        }\n\n        /// <summary>\n        /// A description for the Model field.\n        /// </summary>\n        [DataMember(Name = \"Model\", IsRequired = false, Order = 3)]\n        public string Model\n        {\n            get { return m_model;  }\n            set { m_model = value; }\n        }\n        #endregion\n\n        #region IEncodeable Members\n        /// <summary cref=\"IEncodeable.TypeId\" />\n        public virtual ExpandedNodeId TypeId\n        {\n            get { return DataTypeIds.TriCycleDataType; }\n        }\n\n        /// <summary cref=\"IEncodeable.BinaryEncodingId\" />\n        public virtual ExpandedNodeId BinaryEncodingId\n        {\n            get { return ObjectIds.TriCycleDataType_Encoding_DefaultBinary; }\n        }\n\n        /// <summary cref=\"IEncodeable.XmlEncodingId\" />\n        public virtual ExpandedNodeId XmlEncodingId\n        {\n            get { return ObjectIds.TriCycleDataType_Encoding_DefaultXml; }\n        }\n\n        /// <summary cref=\"IEncodeable.Encode(IEncoder)\" />\n        public virtual void Encode(IEncoder encoder)\n        {\n            encoder.PushNamespace(Prefix2.Namespaces.Name2Xsd);\n\n            encoder.WriteFloat(\"weight\", weight);\n            encoder.WriteEncodeable(\"wheel\", wheel, typeof(WheelDataType));\n            encoder.WriteString(\"Model\", Model);\n\n            encoder.PopNamespace();\n        }\n\n        /// <summary cref=\"IEncodeable.Decode(IDecoder)\" />\n        public virtual void Decode(IDecoder decoder)\n        {\n            decoder.PushNamespace(Prefix2.Namespaces.Name2Xsd);\n\n            weight = decoder.ReadFloat(\"weight\");\n            wheel = (WheelDataType)decoder.ReadEncodeable(\"wheel\", typeof(WheelDataType));\n            Model = decoder.ReadString(\"Model\");\n\n            decoder.PopNamespace();\n        }\n\n        /// <summary cref=\"IEncodeable.IsEqual(IEncodeable)\" />\n        public virtual bool IsEqual(IEncodeable encodeable)\n        {\n            if (Object.ReferenceEquals(this, encodeable))\n            {\n                return true;\n            }\n\n            TriCycleDataType value = encodeable as TriCycleDataType;\n\n            if (value == null)\n            {\n                return false;\n            }\n\n            if (!Utils.IsEqual(m_weight, value.m_weight)) return false;\n            if (!Utils.IsEqual(m_wheel, value.m_wheel)) return false;\n            if (!Utils.IsEqual(m_model, value.m_model)) return false;\n\n            return true;\n        }\n\n        #if !NET_STANDARD\n        /// <summary cref=\"ICloneable.Clone\" />\n        public virtual object Clone()\n        {\n            return (TriCycleDataType)this.MemberwiseClone();\n        }\n        #endif\n\n        /// <summary cref=\"Object.MemberwiseClone\" />\n        public new object MemberwiseClone()\n        {\n            TriCycleDataType clone = (TriCycleDataType)base.MemberwiseClone();\n\n            clone.m_weight = (float)Utils.Clone(this.m_weight);\n            clone.m_wheel = (WheelDataType)Utils.Clone(this.m_wheel);\n            clone.m_model = (string)Utils.Clone(this.m_model);\n\n            return clone;\n        }\n        #endregion\n\n        #region Private Fields\n        private float m_weight;\n        private WheelDataType m_wheel;\n        private string m_model;\n        #endregion\n    }\n\n    #region TriCycleDataTypeCollection Class\n    /// <summary>\n    /// A collection of TriCycleDataType objects.\n    /// </summary>\n    /// <exclude />\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"Opc.Ua.ModelCompiler\", \"1.0.0.0\")]\n    [CollectionDataContract(Name = \"ListOfTriCycleDataType\", Namespace = Prefix2.Namespaces.Name2Xsd, ItemName = \"TriCycleDataType\")]\n    #if !NET_STANDARD\n    public partial class TriCycleDataTypeCollection : List<TriCycleDataType>, ICloneable\n    #else\n    public partial class TriCycleDataTypeCollection : List<TriCycleDataType>\n    #endif\n    {\n        #region Constructors\n        /// <summary>\n        /// Initializes the collection with default values.\n        /// </summary>\n        public TriCycleDataTypeCollection() {}\n\n        /// <summary>\n        /// Initializes the collection with an initial capacity.\n        /// </summary>\n        public TriCycleDataTypeCollection(int capacity) : base(capacity) {}\n\n        /// <summary>\n        /// Initializes the collection with another collection.\n        /// </summary>\n        public TriCycleDataTypeCollection(IEnumerable<TriCycleDataType> collection) : base(collection) {}\n        #endregion\n\n        #region Static Operators\n        /// <summary>\n        /// Converts an array to a collection.\n        /// </summary>\n        public static implicit operator TriCycleDataTypeCollection(TriCycleDataType[] values)\n        {\n            if (values != null)\n            {\n                return new TriCycleDataTypeCollection(values);\n            }\n\n            return new TriCycleDataTypeCollection();\n        }\n\n        /// <summary>\n        /// Converts a collection to an array.\n        /// </summary>\n        public static explicit operator TriCycleDataType[](TriCycleDataTypeCollection values)\n        {\n            if (values != null)\n            {\n                return values.ToArray();\n            }\n\n            return null;\n        }\n        #endregion\n\n        #if !NET_STANDARD\n        #region ICloneable Methods\n        /// <summary>\n        /// Creates a deep copy of the collection.\n        /// </summary>\n        public object Clone()\n        {\n            return (TriCycleDataTypeCollection)this.MemberwiseClone();\n        }\n        #endregion\n        #endif\n\n        /// <summary cref=\"Object.MemberwiseClone\" />\n        public new object MemberwiseClone()\n        {\n            TriCycleDataTypeCollection clone = new TriCycleDataTypeCollection(this.Count);\n\n            for (int ii = 0; ii < this.Count; ii++)\n            {\n                clone.Add((TriCycleDataType)Utils.Clone(this[ii]));\n            }\n\n            return clone;\n        }\n    }\n    #endregion\n    #endif\n    #endregion\n\n    #region WheelDataType Class\n    #if (!OPCUA_EXCLUDE_WheelDataType)\n    /// <summary>\n    /// Wheel datatype.\n    /// </summary>\n    /// <exclude />\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"Opc.Ua.ModelCompiler\", \"1.0.0.0\")]\n    [DataContract(Namespace = Prefix2.Namespaces.Name2Xsd)]\n    public partial class WheelDataType : IEncodeable\n    {\n        #region Constructors\n        /// <summary>\n        /// The default constructor.\n        /// </summary>\n        public WheelDataType()\n        {\n            Initialize();\n        }\n\n        /// <summary>\n        /// Called by the .NET framework during deserialization.\n        /// </summary>\n        [OnDeserializing]\n        private void Initialize(StreamingContext context)\n        {\n            Initialize();\n        }\n\n        /// <summary>\n        /// Sets private members to default values.\n        /// </summary>\n        private void Initialize()\n        {\n            m_tickness = (float)0;\n            m_diameter = (float)0;\n            m_pressure = (float)0;\n            m_tireType = TireEnum.Mud;\n            m_raysLen = (int)0;\n        }\n        #endregion\n\n        #region Public Properties\n        /// <summary>\n        /// A description for the tickness field.\n        /// </summary>\n        [DataMember(Name = \"tickness\", IsRequired = false, Order = 1)]\n        public float tickness\n        {\n            get { return m_tickness;  }\n            set { m_tickness = value; }\n        }\n\n        /// <summary>\n        /// A description for the diameter field.\n        /// </summary>\n        [DataMember(Name = \"diameter\", IsRequired = false, Order = 2)]\n        public float diameter\n        {\n            get { return m_diameter;  }\n            set { m_diameter = value; }\n        }\n\n        /// <summary>\n        /// A description for the pressure field.\n        /// </summary>\n        [DataMember(Name = \"pressure\", IsRequired = false, Order = 3)]\n        public float pressure\n        {\n            get { return m_pressure;  }\n            set { m_pressure = value; }\n        }\n\n        /// <summary>\n        /// A description for the TireType field.\n        /// </summary>\n        [DataMember(Name = \"TireType\", IsRequired = false, Order = 4)]\n        public TireEnum TireType\n        {\n            get { return m_tireType;  }\n            set { m_tireType = value; }\n        }\n\n        /// <summary>\n        /// A description for the raysLen field.\n        /// </summary>\n        [DataMember(Name = \"raysLen\", IsRequired = false, Order = 5)]\n        public int raysLen\n        {\n            get { return m_raysLen;  }\n            set { m_raysLen = value; }\n        }\n        #endregion\n\n        #region IEncodeable Members\n        /// <summary cref=\"IEncodeable.TypeId\" />\n        public virtual ExpandedNodeId TypeId\n        {\n            get { return DataTypeIds.WheelDataType; }\n        }\n\n        /// <summary cref=\"IEncodeable.BinaryEncodingId\" />\n        public virtual ExpandedNodeId BinaryEncodingId\n        {\n            get { return ObjectIds.WheelDataType_Encoding_DefaultBinary; }\n        }\n\n        /// <summary cref=\"IEncodeable.XmlEncodingId\" />\n        public virtual ExpandedNodeId XmlEncodingId\n        {\n            get { return ObjectIds.WheelDataType_Encoding_DefaultXml; }\n        }\n\n        /// <summary cref=\"IEncodeable.Encode(IEncoder)\" />\n        public virtual void Encode(IEncoder encoder)\n        {\n            encoder.PushNamespace(Prefix2.Namespaces.Name2Xsd);\n\n            encoder.WriteFloat(\"tickness\", tickness);\n            encoder.WriteFloat(\"diameter\", diameter);\n            encoder.WriteFloat(\"pressure\", pressure);\n            encoder.WriteEnumerated(\"TireType\", TireType);\n            encoder.WriteInt32(\"raysLen\", raysLen);\n\n            encoder.PopNamespace();\n        }\n\n        /// <summary cref=\"IEncodeable.Decode(IDecoder)\" />\n        public virtual void Decode(IDecoder decoder)\n        {\n            decoder.PushNamespace(Prefix2.Namespaces.Name2Xsd);\n\n            tickness = decoder.ReadFloat(\"tickness\");\n            diameter = decoder.ReadFloat(\"diameter\");\n            pressure = decoder.ReadFloat(\"pressure\");\n            TireType = (TireEnum)decoder.ReadEnumerated(\"TireType\", typeof(TireEnum));\n            raysLen = decoder.ReadInt32(\"raysLen\");\n\n            decoder.PopNamespace();\n        }\n\n        /// <summary cref=\"IEncodeable.IsEqual(IEncodeable)\" />\n        public virtual bool IsEqual(IEncodeable encodeable)\n        {\n            if (Object.ReferenceEquals(this, encodeable))\n            {\n                return true;\n            }\n\n            WheelDataType value = encodeable as WheelDataType;\n\n            if (value == null)\n            {\n                return false;\n            }\n\n            if (!Utils.IsEqual(m_tickness, value.m_tickness)) return false;\n            if (!Utils.IsEqual(m_diameter, value.m_diameter)) return false;\n            if (!Utils.IsEqual(m_pressure, value.m_pressure)) return false;\n            if (!Utils.IsEqual(m_tireType, value.m_tireType)) return false;\n            if (!Utils.IsEqual(m_raysLen, value.m_raysLen)) return false;\n\n            return true;\n        }\n\n        #if !NET_STANDARD\n        /// <summary cref=\"ICloneable.Clone\" />\n        public virtual object Clone()\n        {\n            return (WheelDataType)this.MemberwiseClone();\n        }\n        #endif\n\n        /// <summary cref=\"Object.MemberwiseClone\" />\n        public new object MemberwiseClone()\n        {\n            WheelDataType clone = (WheelDataType)base.MemberwiseClone();\n\n            clone.m_tickness = (float)Utils.Clone(this.m_tickness);\n            clone.m_diameter = (float)Utils.Clone(this.m_diameter);\n            clone.m_pressure = (float)Utils.Clone(this.m_pressure);\n            clone.m_tireType = (TireEnum)Utils.Clone(this.m_tireType);\n            clone.m_raysLen = (int)Utils.Clone(this.m_raysLen);\n\n            return clone;\n        }\n        #endregion\n\n        #region Private Fields\n        private float m_tickness;\n        private float m_diameter;\n        private float m_pressure;\n        private TireEnum m_tireType;\n        private int m_raysLen;\n        #endregion\n    }\n\n    #region WheelDataTypeCollection Class\n    /// <summary>\n    /// A collection of WheelDataType objects.\n    /// </summary>\n    /// <exclude />\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"Opc.Ua.ModelCompiler\", \"1.0.0.0\")]\n    [CollectionDataContract(Name = \"ListOfWheelDataType\", Namespace = Prefix2.Namespaces.Name2Xsd, ItemName = \"WheelDataType\")]\n    #if !NET_STANDARD\n    public partial class WheelDataTypeCollection : List<WheelDataType>, ICloneable\n    #else\n    public partial class WheelDataTypeCollection : List<WheelDataType>\n    #endif\n    {\n        #region Constructors\n        /// <summary>\n        /// Initializes the collection with default values.\n        /// </summary>\n        public WheelDataTypeCollection() {}\n\n        /// <summary>\n        /// Initializes the collection with an initial capacity.\n        /// </summary>\n        public WheelDataTypeCollection(int capacity) : base(capacity) {}\n\n        /// <summary>\n        /// Initializes the collection with another collection.\n        /// </summary>\n        public WheelDataTypeCollection(IEnumerable<WheelDataType> collection) : base(collection) {}\n        #endregion\n\n        #region Static Operators\n        /// <summary>\n        /// Converts an array to a collection.\n        /// </summary>\n        public static implicit operator WheelDataTypeCollection(WheelDataType[] values)\n        {\n            if (values != null)\n            {\n                return new WheelDataTypeCollection(values);\n            }\n\n            return new WheelDataTypeCollection();\n        }\n\n        /// <summary>\n        /// Converts a collection to an array.\n        /// </summary>\n        public static explicit operator WheelDataType[](WheelDataTypeCollection values)\n        {\n            if (values != null)\n            {\n                return values.ToArray();\n            }\n\n            return null;\n        }\n        #endregion\n\n        #if !NET_STANDARD\n        #region ICloneable Methods\n        /// <summary>\n        /// Creates a deep copy of the collection.\n        /// </summary>\n        public object Clone()\n        {\n            return (WheelDataTypeCollection)this.MemberwiseClone();\n        }\n        #endregion\n        #endif\n\n        /// <summary cref=\"Object.MemberwiseClone\" />\n        public new object MemberwiseClone()\n        {\n            WheelDataTypeCollection clone = new WheelDataTypeCollection(this.Count);\n\n            for (int ii = 0; ii < this.Count; ii++)\n            {\n                clone.Add((WheelDataType)Utils.Clone(this[ii]));\n            }\n\n            return clone;\n        }\n    }\n    #endregion\n    #endif\n    #endregion\n\n    #region HumanState Class\n    #if (!OPCUA_EXCLUDE_HumanState)\n    /// <summary>\n    /// Stores an instance of the HumanType ObjectType.\n    /// </summary>\n    /// <exclude />\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"Opc.Ua.ModelCompiler\", \"1.0.0.0\")]\n    public partial class HumanState : BaseObjectState\n    {\n        #region Constructors\n        /// <summary>\n        /// Initializes the type with its default attribute values.\n        /// </summary>\n        public HumanState(NodeState parent) : base(parent)\n        {\n        }\n\n        /// <summary>\n        /// Returns the id of the default type definition node for the instance.\n        /// </summary>\n        protected override NodeId GetDefaultTypeDefinitionId(NamespaceTable namespaceUris)\n        {\n            return Opc.Ua.NodeId.Create(Prefix2.ObjectTypes.HumanType, Prefix2.Namespaces.Name2, namespaceUris);\n        }\n\n        #if (!OPCUA_EXCLUDE_InitializationStrings)\n        /// <summary>\n        /// Initializes the instance.\n        /// </summary>\n        protected override void Initialize(ISystemContext context)\n        {\n            Initialize(context, InitializationString);\n            InitializeOptionalChildren(context);\n        }\n\n        protected override void Initialize(ISystemContext context, NodeState source)\n        {\n            InitializeOptionalChildren(context);\n            base.Initialize(context, source);\n        }\n\n        /// <summary>\n        /// Initializes the any option children defined for the instance.\n        /// </summary>\n        protected override void InitializeOptionalChildren(ISystemContext context)\n        {\n            base.InitializeOptionalChildren(context);\n        }\n\n        #region Initialization String\n        private const string InitializationString =\n           \"AQAAABYAAABodHRwOi8vdHJpY3ljbGV0eXBldjEv/////wRggAABAAAAAQARAAAASHVtYW5UeXBlSW5z\" +\n           \"dGFuY2UBAQUAAQEFAP////8DAAAAFWCJCgIAAAAAAAQAAABOYW1lAQEGAAAvAD8GAAAAAAz/////AQH/\" +\n           \"////AAAAABVgiQoCAAAAAAADAAAAQWdlAQEHAAAvAD8HAAAAAAb/////AQH/////AAAAABVgiQoCAAAA\" +\n           \"AAAGAAAAR2VuZGVyAQEIAAAuAEQIAAAAAAz/////AQH/////AAAAAA==\";\n        #endregion\n        #endif\n        #endregion\n\n        #region Public Properties\n        /// <summary>\n        /// A description for the Name Variable.\n        /// </summary>\n        public BaseDataVariableState<string> Name\n        {\n            get\n            {\n                return m_name;\n            }\n\n            set\n            {\n                if (!Object.ReferenceEquals(m_name, value))\n                {\n                    ChangeMasks |= NodeStateChangeMasks.Children;\n                }\n\n                m_name = value;\n            }\n        }\n\n        /// <summary>\n        /// A description for the Age Variable.\n        /// </summary>\n        public BaseDataVariableState<int> Age\n        {\n            get\n            {\n                return m_age;\n            }\n\n            set\n            {\n                if (!Object.ReferenceEquals(m_age, value))\n                {\n                    ChangeMasks |= NodeStateChangeMasks.Children;\n                }\n\n                m_age = value;\n            }\n        }\n\n        /// <summary>\n        /// A description for the Gender Property.\n        /// </summary>\n        public PropertyState<string> Gender\n        {\n            get\n            {\n                return m_gender;\n            }\n\n            set\n            {\n                if (!Object.ReferenceEquals(m_gender, value))\n                {\n                    ChangeMasks |= NodeStateChangeMasks.Children;\n                }\n\n                m_gender = value;\n            }\n        }\n        #endregion\n\n        #region Overridden Methods\n        /// <summary>\n        /// Populates a list with the children that belong to the node.\n        /// </summary>\n        /// <param name=\"context\">The context for the system being accessed.</param>\n        /// <param name=\"children\">The list of children to populate.</param>\n        public override void GetChildren(\n            ISystemContext context,\n            IList<BaseInstanceState> children)\n        {\n            if (m_name != null)\n            {\n                children.Add(m_name);\n            }\n\n            if (m_age != null)\n            {\n                children.Add(m_age);\n            }\n\n            if (m_gender != null)\n            {\n                children.Add(m_gender);\n            }\n\n            base.GetChildren(context, children);\n        }\n\n        /// <summary>\n        /// Finds the child with the specified browse name.\n        /// </summary>\n        protected override BaseInstanceState FindChild(\n            ISystemContext context,\n            QualifiedName browseName,\n            bool createOrReplace,\n            BaseInstanceState replacement)\n        {\n            if (QualifiedName.IsNull(browseName))\n            {\n                return null;\n            }\n\n            BaseInstanceState instance = null;\n\n            switch (browseName.Name)\n            {\n                case Prefix0.BrowseNames.Name:\n                {\n                    if (createOrReplace)\n                    {\n                        if (Name == null)\n                        {\n                            if (replacement == null)\n                            {\n                                Name = new BaseDataVariableState<string>(this);\n                            }\n                            else\n                            {\n                                Name = (BaseDataVariableState<string>)replacement;\n                            }\n                        }\n                    }\n\n                    instance = Name;\n                    break;\n                }\n\n                case Prefix0.BrowseNames.Age:\n                {\n                    if (createOrReplace)\n                    {\n                        if (Age == null)\n                        {\n                            if (replacement == null)\n                            {\n                                Age = new BaseDataVariableState<int>(this);\n                            }\n                            else\n                            {\n                                Age = (BaseDataVariableState<int>)replacement;\n                            }\n                        }\n                    }\n\n                    instance = Age;\n                    break;\n                }\n\n                case Prefix0.BrowseNames.Gender:\n                {\n                    if (createOrReplace)\n                    {\n                        if (Gender == null)\n                        {\n                            if (replacement == null)\n                            {\n                                Gender = new PropertyState<string>(this);\n                            }\n                            else\n                            {\n                                Gender = (PropertyState<string>)replacement;\n                            }\n                        }\n                    }\n\n                    instance = Gender;\n                    break;\n                }\n            }\n\n            if (instance != null)\n            {\n                return instance;\n            }\n\n            return base.FindChild(context, browseName, createOrReplace, replacement);\n        }\n        #endregion\n\n        #region Private Fields\n        private BaseDataVariableState<string> m_name;\n        private BaseDataVariableState<int> m_age;\n        private PropertyState<string> m_gender;\n        #endregion\n    }\n    #endif\n    #endregion\n\n    #region VehicleState Class\n    #if (!OPCUA_EXCLUDE_VehicleState)\n    /// <summary>\n    /// Stores an instance of the VehicleType ObjectType.\n    /// </summary>\n    /// <exclude />\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"Opc.Ua.ModelCompiler\", \"1.0.0.0\")]\n    public partial class VehicleState : BaseObjectState\n    {\n        #region Constructors\n        /// <summary>\n        /// Initializes the type with its default attribute values.\n        /// </summary>\n        public VehicleState(NodeState parent) : base(parent)\n        {\n        }\n\n        /// <summary>\n        /// Returns the id of the default type definition node for the instance.\n        /// </summary>\n        protected override NodeId GetDefaultTypeDefinitionId(NamespaceTable namespaceUris)\n        {\n            return Opc.Ua.NodeId.Create(Prefix2.ObjectTypes.VehicleType, Prefix2.Namespaces.Name2, namespaceUris);\n        }\n\n        #if (!OPCUA_EXCLUDE_InitializationStrings)\n        /// <summary>\n        /// Initializes the instance.\n        /// </summary>\n        protected override void Initialize(ISystemContext context)\n        {\n            Initialize(context, InitializationString);\n            InitializeOptionalChildren(context);\n        }\n\n        protected override void Initialize(ISystemContext context, NodeState source)\n        {\n            InitializeOptionalChildren(context);\n            base.Initialize(context, source);\n        }\n\n        /// <summary>\n        /// Initializes the any option children defined for the instance.\n        /// </summary>\n        protected override void InitializeOptionalChildren(ISystemContext context)\n        {\n            base.InitializeOptionalChildren(context);\n        }\n\n        #region Initialization String\n        private const string InitializationString =\n           \"AQAAABYAAABodHRwOi8vdHJpY3ljbGV0eXBldjEv/////wRggAABAAAAAQATAAAAVmVoaWNsZVR5cGVJ\" +\n           \"bnN0YW5jZQEBCgABAQoA/////wIAAAAVYIkKAgAAAAAACQAAAGJ1aWxkRGF0ZQEBLgAALgBELgAAAAAN\" +\n           \"/////wEB/////wAAAABEYMAKAQAAAAgAAABTX093bmVyXwAABgAAAE93bmVyPgEBLwADAAAAAAcAAAA8\" +\n           \"T3duZXI+AC8BAQUALwAAAP////8DAAAAFWCJCgIAAAAAAAQAAABOYW1lAQEwAAAvAD8wAAAAAAz/////\" +\n           \"AQH/////AAAAABVgiQoCAAAAAAADAAAAQWdlAQExAAAvAD8xAAAAAAb/////AQH/////AAAAABVgiQoC\" +\n           \"AAAAAAAGAAAAR2VuZGVyAQEyAAAuAEQyAAAAAAz/////AQH/////AAAAAA==\";\n        #endregion\n        #endif\n        #endregion\n\n        #region Public Properties\n        /// <summary>\n        /// A description for the buildDate Property.\n        /// </summary>\n        public PropertyState<DateTime> buildDate\n        {\n            get\n            {\n                return m_buildDate;\n            }\n\n            set\n            {\n                if (!Object.ReferenceEquals(m_buildDate, value))\n                {\n                    ChangeMasks |= NodeStateChangeMasks.Children;\n                }\n\n                m_buildDate = value;\n            }\n        }\n\n        /// <summary>\n        /// A description for the Owner> Object.\n        /// </summary>\n        public HumanState S_Owner_\n        {\n            get\n            {\n                return m_s_Owner_;\n            }\n\n            set\n            {\n                if (!Object.ReferenceEquals(m_s_Owner_, value))\n                {\n                    ChangeMasks |= NodeStateChangeMasks.Children;\n                }\n\n                m_s_Owner_ = value;\n            }\n        }\n        #endregion\n\n        #region Overridden Methods\n        /// <summary>\n        /// Populates a list with the children that belong to the node.\n        /// </summary>\n        /// <param name=\"context\">The context for the system being accessed.</param>\n        /// <param name=\"children\">The list of children to populate.</param>\n        public override void GetChildren(\n            ISystemContext context,\n            IList<BaseInstanceState> children)\n        {\n            if (m_buildDate != null)\n            {\n                children.Add(m_buildDate);\n            }\n\n            if (m_s_Owner_ != null)\n            {\n                children.Add(m_s_Owner_);\n            }\n\n            base.GetChildren(context, children);\n        }\n\n        /// <summary>\n        /// Finds the child with the specified browse name.\n        /// </summary>\n        protected override BaseInstanceState FindChild(\n            ISystemContext context,\n            QualifiedName browseName,\n            bool createOrReplace,\n            BaseInstanceState replacement)\n        {\n            if (QualifiedName.IsNull(browseName))\n            {\n                return null;\n            }\n\n            BaseInstanceState instance = null;\n\n            switch (browseName.Name)\n            {\n                case Prefix0.BrowseNames.buildDate:\n                {\n                    if (createOrReplace)\n                    {\n                        if (buildDate == null)\n                        {\n                            if (replacement == null)\n                            {\n                                buildDate = new PropertyState<DateTime>(this);\n                            }\n                            else\n                            {\n                                buildDate = (PropertyState<DateTime>)replacement;\n                            }\n                        }\n                    }\n\n                    instance = buildDate;\n                    break;\n                }\n\n                case Prefix0.BrowseNames.S_Owner_:\n                {\n                    if (createOrReplace)\n                    {\n                        if (S_Owner_ == null)\n                        {\n                            if (replacement == null)\n                            {\n                                S_Owner_ = new HumanState(this);\n                            }\n                            else\n                            {\n                                S_Owner_ = (HumanState)replacement;\n                            }\n                        }\n                    }\n\n                    instance = S_Owner_;\n                    break;\n                }\n            }\n\n            if (instance != null)\n            {\n                return instance;\n            }\n\n            return base.FindChild(context, browseName, createOrReplace, replacement);\n        }\n        #endregion\n\n        #region Private Fields\n        private PropertyState<DateTime> m_buildDate;\n        private HumanState m_s_Owner_;\n        #endregion\n    }\n    #endif\n    #endregion\n\n    #region TrailerState Class\n    #if (!OPCUA_EXCLUDE_TrailerState)\n    /// <summary>\n    /// Stores an instance of the TrailerType ObjectType.\n    /// </summary>\n    /// <exclude />\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"Opc.Ua.ModelCompiler\", \"1.0.0.0\")]\n    public partial class TrailerState : VehicleState\n    {\n        #region Constructors\n        /// <summary>\n        /// Initializes the type with its default attribute values.\n        /// </summary>\n        public TrailerState(NodeState parent) : base(parent)\n        {\n        }\n\n        /// <summary>\n        /// Returns the id of the default type definition node for the instance.\n        /// </summary>\n        protected override NodeId GetDefaultTypeDefinitionId(NamespaceTable namespaceUris)\n        {\n            return Opc.Ua.NodeId.Create(Prefix2.ObjectTypes.TrailerType, Prefix2.Namespaces.Name2, namespaceUris);\n        }\n\n        #if (!OPCUA_EXCLUDE_InitializationStrings)\n        /// <summary>\n        /// Initializes the instance.\n        /// </summary>\n        protected override void Initialize(ISystemContext context)\n        {\n            Initialize(context, InitializationString);\n            InitializeOptionalChildren(context);\n        }\n\n        protected override void Initialize(ISystemContext context, NodeState source)\n        {\n            InitializeOptionalChildren(context);\n            base.Initialize(context, source);\n        }\n\n        /// <summary>\n        /// Initializes the any option children defined for the instance.\n        /// </summary>\n        protected override void InitializeOptionalChildren(ISystemContext context)\n        {\n            base.InitializeOptionalChildren(context);\n        }\n\n        #region Initialization String\n        private const string InitializationString =\n           \"AQAAABYAAABodHRwOi8vdHJpY3ljbGV0eXBldjEv/////wRggAABAAAAAQATAAAAVHJhaWxlclR5cGVJ\" +\n           \"bnN0YW5jZQEBCQABAQkA/////wMAAAAVYIkKAgAAAAAACQAAAGJ1aWxkRGF0ZQEBMwAALgBEMwAAAAAN\" +\n           \"/////wEB/////wAAAABEYMAKAQAAAAgAAABTX093bmVyXwAABgAAAE93bmVyPgEBNAADAAAAAAcAAAA8\" +\n           \"T3duZXI+AC8BAQUANAAAAP////8DAAAAFWCJCgIAAAAAAAQAAABOYW1lAQE1AAAvAD81AAAAAAz/////\" +\n           \"AQH/////AAAAABVgiQoCAAAAAAADAAAAQWdlAQE2AAAvAD82AAAAAAb/////AQH/////AAAAABVgiQoC\" +\n           \"AAAAAAAGAAAAR2VuZGVyAQE3AAAuAEQ3AAAAAAz/////AQH/////AAAAABdgiQoCAAAAAAAOAAAATG9h\" +\n           \"ZGVkVHJpY3ljbGUBAT0AADEAPz0AAAABAQMAAQAAAAEAAAAAAAAAAQH/////AAAAAA==\";\n        #endregion\n        #endif\n        #endregion\n\n        #region Public Properties\n        /// <summary>\n        /// A description for the LoadedTricycle Variable.\n        /// </summary>\n        public BaseDataVariableState<TriCycleDataType[]> LoadedTricycle\n        {\n            get\n            {\n                return m_loadedTricycle;\n            }\n\n            set\n            {\n                if (!Object.ReferenceEquals(m_loadedTricycle, value))\n                {\n                    ChangeMasks |= NodeStateChangeMasks.Children;\n                }\n\n                m_loadedTricycle = value;\n            }\n        }\n        #endregion\n\n        #region Overridden Methods\n        /// <summary>\n        /// Populates a list with the children that belong to the node.\n        /// </summary>\n        /// <param name=\"context\">The context for the system being accessed.</param>\n        /// <param name=\"children\">The list of children to populate.</param>\n        public override void GetChildren(\n            ISystemContext context,\n            IList<BaseInstanceState> children)\n        {\n            if (m_loadedTricycle != null)\n            {\n                children.Add(m_loadedTricycle);\n            }\n\n            base.GetChildren(context, children);\n        }\n\n        /// <summary>\n        /// Finds the child with the specified browse name.\n        /// </summary>\n        protected override BaseInstanceState FindChild(\n            ISystemContext context,\n            QualifiedName browseName,\n            bool createOrReplace,\n            BaseInstanceState replacement)\n        {\n            if (QualifiedName.IsNull(browseName))\n            {\n                return null;\n            }\n\n            BaseInstanceState instance = null;\n\n            switch (browseName.Name)\n            {\n                case Prefix0.BrowseNames.LoadedTricycle:\n                {\n                    if (createOrReplace)\n                    {\n                        if (LoadedTricycle == null)\n                        {\n                            if (replacement == null)\n                            {\n                                LoadedTricycle = new BaseDataVariableState<TriCycleDataType[]>(this);\n                            }\n                            else\n                            {\n                                LoadedTricycle = (BaseDataVariableState<TriCycleDataType[]>)replacement;\n                            }\n                        }\n                    }\n\n                    instance = LoadedTricycle;\n                    break;\n                }\n            }\n\n            if (instance != null)\n            {\n                return instance;\n            }\n\n            return base.FindChild(context, browseName, createOrReplace, replacement);\n        }\n        #endregion\n\n        #region Private Fields\n        private BaseDataVariableState<TriCycleDataType[]> m_loadedTricycle;\n        #endregion\n    }\n    #endif\n    #endregion\n\n    #region TriCycleState Class\n    #if (!OPCUA_EXCLUDE_TriCycleState)\n    /// <summary>\n    /// Stores an instance of the TriCycleType ObjectType.\n    /// </summary>\n    /// <exclude />\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"Opc.Ua.ModelCompiler\", \"1.0.0.0\")]\n    public partial class TriCycleState : VehicleState\n    {\n        #region Constructors\n        /// <summary>\n        /// Initializes the type with its default attribute values.\n        /// </summary>\n        public TriCycleState(NodeState parent) : base(parent)\n        {\n        }\n\n        /// <summary>\n        /// Returns the id of the default type definition node for the instance.\n        /// </summary>\n        protected override NodeId GetDefaultTypeDefinitionId(NamespaceTable namespaceUris)\n        {\n            return Opc.Ua.NodeId.Create(Prefix2.ObjectTypes.TriCycleType, Prefix2.Namespaces.Name2, namespaceUris);\n        }\n\n        #if (!OPCUA_EXCLUDE_InitializationStrings)\n        /// <summary>\n        /// Initializes the instance.\n        /// </summary>\n        protected override void Initialize(ISystemContext context)\n        {\n            Initialize(context, InitializationString);\n            InitializeOptionalChildren(context);\n        }\n\n        protected override void Initialize(ISystemContext context, NodeState source)\n        {\n            InitializeOptionalChildren(context);\n            base.Initialize(context, source);\n        }\n\n        /// <summary>\n        /// Initializes the any option children defined for the instance.\n        /// </summary>\n        protected override void InitializeOptionalChildren(ISystemContext context)\n        {\n            base.InitializeOptionalChildren(context);\n        }\n\n        #region Initialization String\n        private const string InitializationString =\n           \"AQAAABYAAABodHRwOi8vdHJpY3ljbGV0eXBldjEv/////wRggAABAAAAAQAUAAAAVHJpQ3ljbGVUeXBl\" +\n           \"SW5zdGFuY2UBAQsAAQELAP////8FAAAAFWCJCgIAAAAAAAkAAABidWlsZERhdGUBATgAAC4ARDgAAAAA\" +\n           \"Df////8BAf////8AAAAARGDACgEAAAAIAAAAU19Pd25lcl8AAAYAAABPd25lcj4BATkAAwAAAAAHAAAA\" +\n           \"PE93bmVyPgAvAQEFADkAAAD/////AwAAABVgiQoCAAAAAAAEAAAATmFtZQEBOgAALwA/OgAAAAAM////\" +\n           \"/wEB/////wAAAAAVYIkKAgAAAAAAAwAAAEFnZQEBOwAALwA/OwAAAAAG/////wEB/////wAAAAAVYIkK\" +\n           \"AgAAAAAABgAAAEdlbmRlcgEBPAAALgBEPAAAAAAM/////wEB/////wAAAAAVYIkKAgAAAAAABgAAAHdl\" +\n           \"aWdodAEBDAAALgBEDAAAAAAK/////wEB/////wAAAAAXYIkKAgAAAAAABgAAAHdoZWVscwEBDQAALgEB\" +\n           \"EwANAAAAAQEEAAEAAAABAAAAAwAAAAEB/////wQAAAAVYIkKAgAAAAAACAAAAHRpY2tuZXNzAQEOAAAv\" +\n           \"AD8OAAAAAAr/////AQH/////AAAAABVgiQoCAAAAAAAIAAAAZGlhbWV0ZXIBAQ8AAC8APw8AAAAACv//\" +\n           \"//8BAf////8AAAAAFWCJCgIAAAAAAAgAAABwcmVzc3VyZQEBEAAALwA/EAAAAAAK/////wEB/////wAA\" +\n           \"AAAVYIkKAgAAAAAACAAAAHRpcmV0eXBlAQERAAAvAD8RAAAAAQEBAP////8BAf////8AAAAAFWCJCgIA\" +\n           \"AAAAAAUAAABNb2RlbAEBEgAALwA/EgAAAAAM/////wEB/////wAAAAA=\";\n        #endregion\n        #endif\n        #endregion\n\n        #region Public Properties\n        /// <summary>\n        /// A description for the weight Property.\n        /// </summary>\n        public PropertyState<float> weight\n        {\n            get\n            {\n                return m_weight;\n            }\n\n            set\n            {\n                if (!Object.ReferenceEquals(m_weight, value))\n                {\n                    ChangeMasks |= NodeStateChangeMasks.Children;\n                }\n\n                m_weight = value;\n            }\n        }\n\n        /// <summary>\n        /// A description for the wheels Property.\n        /// </summary>\n        public WheelVariableState wheels\n        {\n            get\n            {\n                return m_wheels;\n            }\n\n            set\n            {\n                if (!Object.ReferenceEquals(m_wheels, value))\n                {\n                    ChangeMasks |= NodeStateChangeMasks.Children;\n                }\n\n                m_wheels = value;\n            }\n        }\n\n        /// <summary>\n        /// A description for the Model Variable.\n        /// </summary>\n        public BaseDataVariableState<string> Model\n        {\n            get\n            {\n                return m_model;\n            }\n\n            set\n            {\n                if (!Object.ReferenceEquals(m_model, value))\n                {\n                    ChangeMasks |= NodeStateChangeMasks.Children;\n                }\n\n                m_model = value;\n            }\n        }\n        #endregion\n\n        #region Overridden Methods\n        /// <summary>\n        /// Populates a list with the children that belong to the node.\n        /// </summary>\n        /// <param name=\"context\">The context for the system being accessed.</param>\n        /// <param name=\"children\">The list of children to populate.</param>\n        public override void GetChildren(\n            ISystemContext context,\n            IList<BaseInstanceState> children)\n        {\n            if (m_weight != null)\n            {\n                children.Add(m_weight);\n            }\n\n            if (m_wheels != null)\n            {\n                children.Add(m_wheels);\n            }\n\n            if (m_model != null)\n            {\n                children.Add(m_model);\n            }\n\n            base.GetChildren(context, children);\n        }\n\n        /// <summary>\n        /// Finds the child with the specified browse name.\n        /// </summary>\n        protected override BaseInstanceState FindChild(\n            ISystemContext context,\n            QualifiedName browseName,\n            bool createOrReplace,\n            BaseInstanceState replacement)\n        {\n            if (QualifiedName.IsNull(browseName))\n            {\n                return null;\n            }\n\n            BaseInstanceState instance = null;\n\n            switch (browseName.Name)\n            {\n                case Prefix0.BrowseNames.weight:\n                {\n                    if (createOrReplace)\n                    {\n                        if (weight == null)\n                        {\n                            if (replacement == null)\n                            {\n                                weight = new PropertyState<float>(this);\n                            }\n                            else\n                            {\n                                weight = (PropertyState<float>)replacement;\n                            }\n                        }\n                    }\n\n                    instance = weight;\n                    break;\n                }\n\n                case Prefix0.BrowseNames.wheels:\n                {\n                    if (createOrReplace)\n                    {\n                        if (wheels == null)\n                        {\n                            if (replacement == null)\n                            {\n                                wheels = new WheelVariableState(this);\n                            }\n                            else\n                            {\n                                wheels = (WheelVariableState)replacement;\n                            }\n                        }\n                    }\n\n                    instance = wheels;\n                    break;\n                }\n\n                case Prefix0.BrowseNames.Model:\n                {\n                    if (createOrReplace)\n                    {\n                        if (Model == null)\n                        {\n                            if (replacement == null)\n                            {\n                                Model = new BaseDataVariableState<string>(this);\n                            }\n                            else\n                            {\n                                Model = (BaseDataVariableState<string>)replacement;\n                            }\n                        }\n                    }\n\n                    instance = Model;\n                    break;\n                }\n            }\n\n            if (instance != null)\n            {\n                return instance;\n            }\n\n            return base.FindChild(context, browseName, createOrReplace, replacement);\n        }\n        #endregion\n\n        #region Private Fields\n        private PropertyState<float> m_weight;\n        private WheelVariableState m_wheels;\n        private BaseDataVariableState<string> m_model;\n        #endregion\n    }\n    #endif\n    #endregion\n\n    #region WheelVariableState Class\n    #if (!OPCUA_EXCLUDE_WheelVariableState)\n    /// <summary>\n    /// Stores an instance of the WheelVariableType VariableType.\n    /// </summary>\n    /// <exclude />\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"Opc.Ua.ModelCompiler\", \"1.0.0.0\")]\n    public partial class WheelVariableState : BaseDataVariableState<WheelDataType>\n    {\n        #region Constructors\n        /// <summary>\n        /// Initializes the type with its default attribute values.\n        /// </summary>\n        public WheelVariableState(NodeState parent) : base(parent)\n        {\n        }\n\n        /// <summary>\n        /// Returns the id of the default type definition node for the instance.\n        /// </summary>\n        protected override NodeId GetDefaultTypeDefinitionId(NamespaceTable namespaceUris)\n        {\n            return Opc.Ua.NodeId.Create(Prefix2.VariableTypes.WheelVariableType, Prefix2.Namespaces.Name2, namespaceUris);\n        }\n\n        /// <summary>\n        /// Returns the id of the default data type node for the instance.\n        /// </summary>\n        protected override NodeId GetDefaultDataTypeId(NamespaceTable namespaceUris)\n        {\n            return Opc.Ua.NodeId.Create(Prefix2.DataTypes.WheelDataType, Prefix2.Namespaces.Name2, namespaceUris);\n        }\n\n        /// <summary>\n        /// Returns the id of the default value rank for the instance.\n        /// </summary>\n        protected override int GetDefaultValueRank()\n        {\n            return ValueRanks.Scalar;\n        }\n\n        #if (!OPCUA_EXCLUDE_InitializationStrings)\n        /// <summary>\n        /// Initializes the instance.\n        /// </summary>\n        protected override void Initialize(ISystemContext context)\n        {\n            Initialize(context, InitializationString);\n            InitializeOptionalChildren(context);\n        }\n\n        protected override void Initialize(ISystemContext context, NodeState source)\n        {\n            InitializeOptionalChildren(context);\n            base.Initialize(context, source);\n        }\n\n        /// <summary>\n        /// Initializes the any option children defined for the instance.\n        /// </summary>\n        protected override void InitializeOptionalChildren(ISystemContext context)\n        {\n            base.InitializeOptionalChildren(context);\n        }\n\n        #region Initialization String\n        private const string InitializationString =\n           \"AQAAABYAAABodHRwOi8vdHJpY3ljbGV0eXBldjEv/////xVggQACAAAAAQAZAAAAV2hlZWxWYXJpYWJs\" +\n           \"ZVR5cGVJbnN0YW5jZQEBEwABARMAAQEEAAEB/////wQAAAAVYIkKAgAAAAAACAAAAHRpY2tuZXNzAQEU\" +\n           \"AAAvAD8UAAAAAAr/////AQH/////AAAAABVgiQoCAAAAAAAIAAAAZGlhbWV0ZXIBARUAAC8APxUAAAAA\" +\n           \"Cv////8BAf////8AAAAAFWCJCgIAAAAAAAgAAABwcmVzc3VyZQEBFgAALwA/FgAAAAAK/////wEB////\" +\n           \"/wAAAAAVYIkKAgAAAAAACAAAAHRpcmV0eXBlAQEXAAAvAD8XAAAAAQEBAP////8BAf////8AAAAA\";\n        #endregion\n        #endif\n        #endregion\n\n        #region Public Properties\n        /// <summary>\n        /// A description for the tickness Variable.\n        /// </summary>\n        public BaseDataVariableState<float> tickness\n        {\n            get\n            {\n                return m_tickness;\n            }\n\n            set\n            {\n                if (!Object.ReferenceEquals(m_tickness, value))\n                {\n                    ChangeMasks |= NodeStateChangeMasks.Children;\n                }\n\n                m_tickness = value;\n            }\n        }\n\n        /// <summary>\n        /// A description for the diameter Variable.\n        /// </summary>\n        public BaseDataVariableState<float> diameter\n        {\n            get\n            {\n                return m_diameter;\n            }\n\n            set\n            {\n                if (!Object.ReferenceEquals(m_diameter, value))\n                {\n                    ChangeMasks |= NodeStateChangeMasks.Children;\n                }\n\n                m_diameter = value;\n            }\n        }\n\n        /// <summary>\n        /// A description for the pressure Variable.\n        /// </summary>\n        public BaseDataVariableState<float> pressure\n        {\n            get\n            {\n                return m_pressure;\n            }\n\n            set\n            {\n                if (!Object.ReferenceEquals(m_pressure, value))\n                {\n                    ChangeMasks |= NodeStateChangeMasks.Children;\n                }\n\n                m_pressure = value;\n            }\n        }\n\n        /// <summary>\n        /// A description for the tiretype Variable.\n        /// </summary>\n        public BaseDataVariableState<TireEnum> tiretype\n        {\n            get\n            {\n                return m_tiretype;\n            }\n\n            set\n            {\n                if (!Object.ReferenceEquals(m_tiretype, value))\n                {\n                    ChangeMasks |= NodeStateChangeMasks.Children;\n                }\n\n                m_tiretype = value;\n            }\n        }\n        #endregion\n\n        #region Overridden Methods\n        /// <summary>\n        /// Populates a list with the children that belong to the node.\n        /// </summary>\n        /// <param name=\"context\">The context for the system being accessed.</param>\n        /// <param name=\"children\">The list of children to populate.</param>\n        public override void GetChildren(\n            ISystemContext context,\n            IList<BaseInstanceState> children)\n        {\n            if (m_tickness != null)\n            {\n                children.Add(m_tickness);\n            }\n\n            if (m_diameter != null)\n            {\n                children.Add(m_diameter);\n            }\n\n            if (m_pressure != null)\n            {\n                children.Add(m_pressure);\n            }\n\n            if (m_tiretype != null)\n            {\n                children.Add(m_tiretype);\n            }\n\n            base.GetChildren(context, children);\n        }\n\n        /// <summary>\n        /// Finds the child with the specified browse name.\n        /// </summary>\n        protected override BaseInstanceState FindChild(\n            ISystemContext context,\n            QualifiedName browseName,\n            bool createOrReplace,\n            BaseInstanceState replacement)\n        {\n            if (QualifiedName.IsNull(browseName))\n            {\n                return null;\n            }\n\n            BaseInstanceState instance = null;\n\n            switch (browseName.Name)\n            {\n                case Prefix0.BrowseNames.tickness:\n                {\n                    if (createOrReplace)\n                    {\n                        if (tickness == null)\n                        {\n                            if (replacement == null)\n                            {\n                                tickness = new BaseDataVariableState<float>(this);\n                            }\n                            else\n                            {\n                                tickness = (BaseDataVariableState<float>)replacement;\n                            }\n                        }\n                    }\n\n                    instance = tickness;\n                    break;\n                }\n\n                case Prefix0.BrowseNames.diameter:\n                {\n                    if (createOrReplace)\n                    {\n                        if (diameter == null)\n                        {\n                            if (replacement == null)\n                            {\n                                diameter = new BaseDataVariableState<float>(this);\n                            }\n                            else\n                            {\n                                diameter = (BaseDataVariableState<float>)replacement;\n                            }\n                        }\n                    }\n\n                    instance = diameter;\n                    break;\n                }\n\n                case Prefix0.BrowseNames.pressure:\n                {\n                    if (createOrReplace)\n                    {\n                        if (pressure == null)\n                        {\n                            if (replacement == null)\n                            {\n                                pressure = new BaseDataVariableState<float>(this);\n                            }\n                            else\n                            {\n                                pressure = (BaseDataVariableState<float>)replacement;\n                            }\n                        }\n                    }\n\n                    instance = pressure;\n                    break;\n                }\n\n                case Prefix0.BrowseNames.tiretype:\n                {\n                    if (createOrReplace)\n                    {\n                        if (tiretype == null)\n                        {\n                            if (replacement == null)\n                            {\n                                tiretype = new BaseDataVariableState<TireEnum>(this);\n                            }\n                            else\n                            {\n                                tiretype = (BaseDataVariableState<TireEnum>)replacement;\n                            }\n                        }\n                    }\n\n                    instance = tiretype;\n                    break;\n                }\n            }\n\n            if (instance != null)\n            {\n                return instance;\n            }\n\n            return base.FindChild(context, browseName, createOrReplace, replacement);\n        }\n        #endregion\n\n        #region Private Fields\n        private BaseDataVariableState<float> m_tickness;\n        private BaseDataVariableState<float> m_diameter;\n        private BaseDataVariableState<float> m_pressure;\n        private BaseDataVariableState<TireEnum> m_tiretype;\n        #endregion\n    }\n\n    #region WheelVariableValue Class\n    /// <summary>\n    /// A typed version of the _BrowseName_ variable.\n    /// </summary>\n    /// <exclude />\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"Opc.Ua.ModelCompiler\", \"1.0.0.0\")]\n    public class WheelVariableValue : BaseVariableValue\n    {\n        #region Constructors\n        /// <summary>\n        /// Initializes the instance with its defalt attribute values.\n        /// </summary>\n        public WheelVariableValue(WheelVariableState variable, WheelDataType value, object dataLock) : base(dataLock)\n        {\n            m_value = value;\n\n            if (m_value == null)\n            {\n                m_value = new WheelDataType();\n            }\n\n            Initialize(variable);\n        }\n        #endregion\n\n        #region Public Members\n        /// <summary>\n        /// The variable that the value belongs to.\n        /// </summary>\n        public WheelVariableState Variable\n        {\n            get { return m_variable; }\n        }\n\n        /// <summary>\n        /// The value of the variable.\n        /// </summary>\n        public WheelDataType Value\n        {\n            get { return m_value;  }\n            set { m_value = value; }\n        }\n        #endregion\n\n        #region Private Methods\n        /// <summary>\n        /// Initializes the object.\n        /// </summary>\n        private void Initialize(WheelVariableState variable)\n        {\n            lock (Lock)\n            {\n                m_variable = variable;\n\n                variable.Value = m_value;\n\n                variable.OnReadValue = OnReadValue;\n                variable.OnSimpleWriteValue = OnWriteValue;\n\n                BaseVariableState instance = null;\n                List<BaseInstanceState> updateList = new List<BaseInstanceState>();\n                updateList.Add(variable);\n\n                instance = m_variable.tickness;\n                instance.OnReadValue = OnRead_tickness;\n                instance.OnSimpleWriteValue = OnWrite_tickness;\n                updateList.Add(instance);\n                instance = m_variable.diameter;\n                instance.OnReadValue = OnRead_diameter;\n                instance.OnSimpleWriteValue = OnWrite_diameter;\n                updateList.Add(instance);\n                instance = m_variable.pressure;\n                instance.OnReadValue = OnRead_pressure;\n                instance.OnSimpleWriteValue = OnWrite_pressure;\n                updateList.Add(instance);\n\n                SetUpdateList(updateList);\n            }\n        }\n\n        /// <summary>\n        /// Reads the value of the variable.\n        /// </summary>\n        protected ServiceResult OnReadValue(\n            ISystemContext context,\n            NodeState node,\n            NumericRange indexRange,\n            QualifiedName dataEncoding,\n            ref object value,\n            ref StatusCode statusCode,\n            ref DateTime timestamp)\n        {\n            lock (Lock)\n            {\n                DoBeforeReadProcessing(context, node);\n\n                if (m_value != null)\n                {\n                    value = m_value;\n                }\n\n                return Read(context, node, indexRange, dataEncoding, ref value, ref statusCode, ref timestamp);\n            }\n        }\n\n        /// <summary>\n        /// Writes the value of the variable.\n        /// </summary>\n        private ServiceResult OnWriteValue(ISystemContext context, NodeState node, ref object value)\n        {\n            lock (Lock)\n            {\n                m_value = (WheelDataType)Write(value);\n            }\n\n            return ServiceResult.Good;\n        }\n\n        #region tickness Access Methods\n        /// <summary>\n        /// Reads the value of the variable child.\n        /// </summary>\n        private ServiceResult OnRead_tickness(\n            ISystemContext context,\n            NodeState node,\n            NumericRange indexRange,\n            QualifiedName dataEncoding,\n            ref object value,\n            ref StatusCode statusCode,\n            ref DateTime timestamp)\n        {\n            lock (Lock)\n            {\n                DoBeforeReadProcessing(context, node);\n\n                if (m_value != null)\n                {\n                    value = m_value.tickness;\n                }\n\n                return Read(context, node, indexRange, dataEncoding, ref value, ref statusCode, ref timestamp);\n            }\n        }\n\n        /// <summary>\n        /// Writes the value of the variable child.\n        /// </summary>\n        private ServiceResult OnWrite_tickness(ISystemContext context, NodeState node, ref object value)\n        {\n            lock (Lock)\n            {\n                m_value.tickness = (float)Write(value);\n            }\n\n            return ServiceResult.Good;\n        }\n        #endregion\n\n        #region diameter Access Methods\n        /// <summary>\n        /// Reads the value of the variable child.\n        /// </summary>\n        private ServiceResult OnRead_diameter(\n            ISystemContext context,\n            NodeState node,\n            NumericRange indexRange,\n            QualifiedName dataEncoding,\n            ref object value,\n            ref StatusCode statusCode,\n            ref DateTime timestamp)\n        {\n            lock (Lock)\n            {\n                DoBeforeReadProcessing(context, node);\n\n                if (m_value != null)\n                {\n                    value = m_value.diameter;\n                }\n\n                return Read(context, node, indexRange, dataEncoding, ref value, ref statusCode, ref timestamp);\n            }\n        }\n\n        /// <summary>\n        /// Writes the value of the variable child.\n        /// </summary>\n        private ServiceResult OnWrite_diameter(ISystemContext context, NodeState node, ref object value)\n        {\n            lock (Lock)\n            {\n                m_value.diameter = (float)Write(value);\n            }\n\n            return ServiceResult.Good;\n        }\n        #endregion\n\n        #region pressure Access Methods\n        /// <summary>\n        /// Reads the value of the variable child.\n        /// </summary>\n        private ServiceResult OnRead_pressure(\n            ISystemContext context,\n            NodeState node,\n            NumericRange indexRange,\n            QualifiedName dataEncoding,\n            ref object value,\n            ref StatusCode statusCode,\n            ref DateTime timestamp)\n        {\n            lock (Lock)\n            {\n                DoBeforeReadProcessing(context, node);\n\n                if (m_value != null)\n                {\n                    value = m_value.pressure;\n                }\n\n                return Read(context, node, indexRange, dataEncoding, ref value, ref statusCode, ref timestamp);\n            }\n        }\n\n        /// <summary>\n        /// Writes the value of the variable child.\n        /// </summary>\n        private ServiceResult OnWrite_pressure(ISystemContext context, NodeState node, ref object value)\n        {\n            lock (Lock)\n            {\n                m_value.pressure = (float)Write(value);\n            }\n\n            return ServiceResult.Good;\n        }\n        #endregion\n        #endregion\n\n        #region Private Fields\n        private WheelDataType m_value;\n        private WheelVariableState m_variable;\n        #endregion\n    }\n    #endregion\n    #endif\n    #endregion\n}"
  },
  {
    "path": "SemanticData/Tests/USNodeSetValidationUnitTestProject/XMLModels/ProblemsToReport/eoursel510/Opc.Ua.NodeSet2.TriCycleType_V1.1.ModelDesign/Prefix2.NodeSet.xml",
    "content": "﻿<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<NodeSet xmlns:i=\"http://www.w3.org/2001/XMLSchema-instance\" xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n  <NamespaceUris>\n    <String>http://opcfoundation.org/UA/</String>\n    <String>http://tricycletypev1/</String>\n  </NamespaceUris>\n  <ServerUris />\n  <Nodes>\n    <Node i:type=\"DataTypeNode\">\n      <NodeId>\n        <Identifier>ns=1;i=1</Identifier>\n      </NodeId>\n      <NodeClass>DataType_64</NodeClass>\n      <BrowseName>\n        <NamespaceIndex>1</NamespaceIndex>\n        <Name>TireEnum</Name>\n      </BrowseName>\n      <DisplayName>\n        <Locale></Locale>\n        <Text>TireEnum</Text>\n      </DisplayName>\n      <Description i:nil=\"true\" />\n      <WriteMask>0</WriteMask>\n      <UserWriteMask>0</UserWriteMask>\n      <RolePermissions />\n      <UserRolePermissions />\n      <AccessRestrictions>0</AccessRestrictions>\n      <References>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=45</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>true</IsInverse>\n          <TargetId>\n            <Identifier>i=29</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=46</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=2</Identifier>\n          </TargetId>\n        </ReferenceNode>\n      </References>\n      <IsAbstract>false</IsAbstract>\n      <DataTypeDefinition i:nil=\"true\" />\n    </Node>\n    <Node i:type=\"VariableNode\">\n      <NodeId>\n        <Identifier>ns=1;i=2</Identifier>\n      </NodeId>\n      <NodeClass>Variable_2</NodeClass>\n      <BrowseName>\n        <NamespaceIndex>0</NamespaceIndex>\n        <Name>EnumStrings</Name>\n      </BrowseName>\n      <DisplayName>\n        <Locale></Locale>\n        <Text>EnumStrings</Text>\n      </DisplayName>\n      <Description i:nil=\"true\" />\n      <WriteMask>0</WriteMask>\n      <UserWriteMask>0</UserWriteMask>\n      <RolePermissions />\n      <UserRolePermissions />\n      <AccessRestrictions>0</AccessRestrictions>\n      <References>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=46</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>true</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=1</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=40</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>i=68</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=37</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>i=78</Identifier>\n          </TargetId>\n        </ReferenceNode>\n      </References>\n      <Value>\n        <Value>\n          <ListOfLocalizedText xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n            <LocalizedText>\n              <Locale></Locale>\n              <Text>Mud</Text>\n            </LocalizedText>\n            <LocalizedText>\n              <Locale></Locale>\n              <Text>Ice</Text>\n            </LocalizedText>\n            <LocalizedText>\n              <Locale></Locale>\n              <Text>Sand</Text>\n            </LocalizedText>\n          </ListOfLocalizedText>\n        </Value>\n      </Value>\n      <DataType>\n        <Identifier>i=21</Identifier>\n      </DataType>\n      <ValueRank>1</ValueRank>\n      <ArrayDimensions />\n      <AccessLevel>1</AccessLevel>\n      <UserAccessLevel>1</UserAccessLevel>\n      <MinimumSamplingInterval>0</MinimumSamplingInterval>\n      <Historizing>false</Historizing>\n      <AccessLevelEx>0</AccessLevelEx>\n    </Node>\n    <Node i:type=\"DataTypeNode\">\n      <NodeId>\n        <Identifier>ns=1;i=3</Identifier>\n      </NodeId>\n      <NodeClass>DataType_64</NodeClass>\n      <BrowseName>\n        <NamespaceIndex>1</NamespaceIndex>\n        <Name>TriCycleDataType</Name>\n      </BrowseName>\n      <DisplayName>\n        <Locale></Locale>\n        <Text>TriCycleDataType</Text>\n      </DisplayName>\n      <Description i:nil=\"true\" />\n      <WriteMask>0</WriteMask>\n      <UserWriteMask>0</UserWriteMask>\n      <RolePermissions />\n      <UserRolePermissions />\n      <AccessRestrictions>0</AccessRestrictions>\n      <References>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=45</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>true</IsInverse>\n          <TargetId>\n            <Identifier>i=22</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=38</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=24</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=38</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=35</Identifier>\n          </TargetId>\n        </ReferenceNode>\n      </References>\n      <IsAbstract>false</IsAbstract>\n      <DataTypeDefinition i:nil=\"true\" />\n    </Node>\n    <Node i:type=\"DataTypeNode\">\n      <NodeId>\n        <Identifier>ns=1;i=4</Identifier>\n      </NodeId>\n      <NodeClass>DataType_64</NodeClass>\n      <BrowseName>\n        <NamespaceIndex>1</NamespaceIndex>\n        <Name>WheelDataType</Name>\n      </BrowseName>\n      <DisplayName>\n        <Locale></Locale>\n        <Text>WheelDataType</Text>\n      </DisplayName>\n      <Description>\n        <Locale></Locale>\n        <Text>Wheel datatype.</Text>\n      </Description>\n      <WriteMask>0</WriteMask>\n      <UserWriteMask>0</UserWriteMask>\n      <RolePermissions />\n      <UserRolePermissions />\n      <AccessRestrictions>0</AccessRestrictions>\n      <References>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=45</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>true</IsInverse>\n          <TargetId>\n            <Identifier>i=22</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=38</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=25</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=38</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=36</Identifier>\n          </TargetId>\n        </ReferenceNode>\n      </References>\n      <IsAbstract>false</IsAbstract>\n      <DataTypeDefinition i:nil=\"true\" />\n    </Node>\n    <Node i:type=\"ObjectTypeNode\">\n      <NodeId>\n        <Identifier>ns=1;i=5</Identifier>\n      </NodeId>\n      <NodeClass>ObjectType_8</NodeClass>\n      <BrowseName>\n        <NamespaceIndex>1</NamespaceIndex>\n        <Name>HumanType</Name>\n      </BrowseName>\n      <DisplayName>\n        <Locale></Locale>\n        <Text>HumanType</Text>\n      </DisplayName>\n      <Description i:nil=\"true\" />\n      <WriteMask>0</WriteMask>\n      <UserWriteMask>0</UserWriteMask>\n      <RolePermissions />\n      <UserRolePermissions />\n      <AccessRestrictions>0</AccessRestrictions>\n      <References>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=45</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>true</IsInverse>\n          <TargetId>\n            <Identifier>i=58</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=47</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=6</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=47</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=7</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=46</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=8</Identifier>\n          </TargetId>\n        </ReferenceNode>\n      </References>\n      <IsAbstract>false</IsAbstract>\n    </Node>\n    <Node i:type=\"VariableNode\">\n      <NodeId>\n        <Identifier>ns=1;i=6</Identifier>\n      </NodeId>\n      <NodeClass>Variable_2</NodeClass>\n      <BrowseName>\n        <NamespaceIndex>0</NamespaceIndex>\n        <Name>Name</Name>\n      </BrowseName>\n      <DisplayName>\n        <Locale></Locale>\n        <Text>Name</Text>\n      </DisplayName>\n      <Description i:nil=\"true\" />\n      <WriteMask>0</WriteMask>\n      <UserWriteMask>0</UserWriteMask>\n      <RolePermissions />\n      <UserRolePermissions />\n      <AccessRestrictions>0</AccessRestrictions>\n      <References>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=47</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>true</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=5</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=40</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>i=63</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=37</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>i=78</Identifier>\n          </TargetId>\n        </ReferenceNode>\n      </References>\n      <Value>\n        <Value>\n          <Null xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\" />\n        </Value>\n      </Value>\n      <DataType>\n        <Identifier>i=12</Identifier>\n      </DataType>\n      <ValueRank>-1</ValueRank>\n      <ArrayDimensions />\n      <AccessLevel>1</AccessLevel>\n      <UserAccessLevel>1</UserAccessLevel>\n      <MinimumSamplingInterval>0</MinimumSamplingInterval>\n      <Historizing>false</Historizing>\n      <AccessLevelEx>0</AccessLevelEx>\n    </Node>\n    <Node i:type=\"VariableNode\">\n      <NodeId>\n        <Identifier>ns=1;i=7</Identifier>\n      </NodeId>\n      <NodeClass>Variable_2</NodeClass>\n      <BrowseName>\n        <NamespaceIndex>0</NamespaceIndex>\n        <Name>Age</Name>\n      </BrowseName>\n      <DisplayName>\n        <Locale></Locale>\n        <Text>Age</Text>\n      </DisplayName>\n      <Description i:nil=\"true\" />\n      <WriteMask>0</WriteMask>\n      <UserWriteMask>0</UserWriteMask>\n      <RolePermissions />\n      <UserRolePermissions />\n      <AccessRestrictions>0</AccessRestrictions>\n      <References>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=47</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>true</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=5</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=40</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>i=63</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=37</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>i=78</Identifier>\n          </TargetId>\n        </ReferenceNode>\n      </References>\n      <Value>\n        <Value>\n          <Int32 xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">0</Int32>\n        </Value>\n      </Value>\n      <DataType>\n        <Identifier>i=6</Identifier>\n      </DataType>\n      <ValueRank>-1</ValueRank>\n      <ArrayDimensions />\n      <AccessLevel>1</AccessLevel>\n      <UserAccessLevel>1</UserAccessLevel>\n      <MinimumSamplingInterval>0</MinimumSamplingInterval>\n      <Historizing>false</Historizing>\n      <AccessLevelEx>0</AccessLevelEx>\n    </Node>\n    <Node i:type=\"VariableNode\">\n      <NodeId>\n        <Identifier>ns=1;i=8</Identifier>\n      </NodeId>\n      <NodeClass>Variable_2</NodeClass>\n      <BrowseName>\n        <NamespaceIndex>0</NamespaceIndex>\n        <Name>Gender</Name>\n      </BrowseName>\n      <DisplayName>\n        <Locale></Locale>\n        <Text>Gender</Text>\n      </DisplayName>\n      <Description i:nil=\"true\" />\n      <WriteMask>0</WriteMask>\n      <UserWriteMask>0</UserWriteMask>\n      <RolePermissions />\n      <UserRolePermissions />\n      <AccessRestrictions>0</AccessRestrictions>\n      <References>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=46</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>true</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=5</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=40</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>i=68</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=37</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>i=78</Identifier>\n          </TargetId>\n        </ReferenceNode>\n      </References>\n      <Value>\n        <Value>\n          <Null xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\" />\n        </Value>\n      </Value>\n      <DataType>\n        <Identifier>i=12</Identifier>\n      </DataType>\n      <ValueRank>-1</ValueRank>\n      <ArrayDimensions />\n      <AccessLevel>1</AccessLevel>\n      <UserAccessLevel>1</UserAccessLevel>\n      <MinimumSamplingInterval>0</MinimumSamplingInterval>\n      <Historizing>false</Historizing>\n      <AccessLevelEx>0</AccessLevelEx>\n    </Node>\n    <Node i:type=\"ObjectTypeNode\">\n      <NodeId>\n        <Identifier>ns=1;i=9</Identifier>\n      </NodeId>\n      <NodeClass>ObjectType_8</NodeClass>\n      <BrowseName>\n        <NamespaceIndex>1</NamespaceIndex>\n        <Name>TrailerType</Name>\n      </BrowseName>\n      <DisplayName>\n        <Locale></Locale>\n        <Text>TrailerType</Text>\n      </DisplayName>\n      <Description i:nil=\"true\" />\n      <WriteMask>0</WriteMask>\n      <UserWriteMask>0</UserWriteMask>\n      <RolePermissions />\n      <UserRolePermissions />\n      <AccessRestrictions>0</AccessRestrictions>\n      <References>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=45</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>true</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=10</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=49</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=61</Identifier>\n          </TargetId>\n        </ReferenceNode>\n      </References>\n      <IsAbstract>false</IsAbstract>\n    </Node>\n    <Node i:type=\"ObjectTypeNode\">\n      <NodeId>\n        <Identifier>ns=1;i=10</Identifier>\n      </NodeId>\n      <NodeClass>ObjectType_8</NodeClass>\n      <BrowseName>\n        <NamespaceIndex>1</NamespaceIndex>\n        <Name>VehicleType</Name>\n      </BrowseName>\n      <DisplayName>\n        <Locale></Locale>\n        <Text>VehicleType</Text>\n      </DisplayName>\n      <Description i:nil=\"true\" />\n      <WriteMask>0</WriteMask>\n      <UserWriteMask>0</UserWriteMask>\n      <RolePermissions />\n      <UserRolePermissions />\n      <AccessRestrictions>0</AccessRestrictions>\n      <References>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=45</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>true</IsInverse>\n          <TargetId>\n            <Identifier>i=58</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=46</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=46</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=47</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=47</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=45</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=9</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=45</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=11</Identifier>\n          </TargetId>\n        </ReferenceNode>\n      </References>\n      <IsAbstract>false</IsAbstract>\n    </Node>\n    <Node i:type=\"ObjectTypeNode\">\n      <NodeId>\n        <Identifier>ns=1;i=11</Identifier>\n      </NodeId>\n      <NodeClass>ObjectType_8</NodeClass>\n      <BrowseName>\n        <NamespaceIndex>1</NamespaceIndex>\n        <Name>TriCycleType</Name>\n      </BrowseName>\n      <DisplayName>\n        <Locale></Locale>\n        <Text>TriCycleType</Text>\n      </DisplayName>\n      <Description>\n        <Locale></Locale>\n        <Text>This a simple Tricycle</Text>\n      </Description>\n      <WriteMask>0</WriteMask>\n      <UserWriteMask>0</UserWriteMask>\n      <RolePermissions />\n      <UserRolePermissions />\n      <AccessRestrictions>0</AccessRestrictions>\n      <References>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=45</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>true</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=10</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=46</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=12</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=46</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=13</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=47</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=18</Identifier>\n          </TargetId>\n        </ReferenceNode>\n      </References>\n      <IsAbstract>false</IsAbstract>\n    </Node>\n    <Node i:type=\"VariableNode\">\n      <NodeId>\n        <Identifier>ns=1;i=12</Identifier>\n      </NodeId>\n      <NodeClass>Variable_2</NodeClass>\n      <BrowseName>\n        <NamespaceIndex>0</NamespaceIndex>\n        <Name>weight</Name>\n      </BrowseName>\n      <DisplayName>\n        <Locale></Locale>\n        <Text>weight</Text>\n      </DisplayName>\n      <Description i:nil=\"true\" />\n      <WriteMask>0</WriteMask>\n      <UserWriteMask>0</UserWriteMask>\n      <RolePermissions />\n      <UserRolePermissions />\n      <AccessRestrictions>0</AccessRestrictions>\n      <References>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=46</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>true</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=11</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=40</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>i=68</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=37</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>i=78</Identifier>\n          </TargetId>\n        </ReferenceNode>\n      </References>\n      <Value>\n        <Value>\n          <Float xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">0</Float>\n        </Value>\n      </Value>\n      <DataType>\n        <Identifier>i=10</Identifier>\n      </DataType>\n      <ValueRank>-1</ValueRank>\n      <ArrayDimensions />\n      <AccessLevel>1</AccessLevel>\n      <UserAccessLevel>1</UserAccessLevel>\n      <MinimumSamplingInterval>0</MinimumSamplingInterval>\n      <Historizing>false</Historizing>\n      <AccessLevelEx>0</AccessLevelEx>\n    </Node>\n    <Node i:type=\"VariableNode\">\n      <NodeId>\n        <Identifier>ns=1;i=13</Identifier>\n      </NodeId>\n      <NodeClass>Variable_2</NodeClass>\n      <BrowseName>\n        <NamespaceIndex>0</NamespaceIndex>\n        <Name>wheels</Name>\n      </BrowseName>\n      <DisplayName>\n        <Locale></Locale>\n        <Text>wheels</Text>\n      </DisplayName>\n      <Description i:nil=\"true\" />\n      <WriteMask>0</WriteMask>\n      <UserWriteMask>0</UserWriteMask>\n      <RolePermissions />\n      <UserRolePermissions />\n      <AccessRestrictions>0</AccessRestrictions>\n      <References>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=46</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>true</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=11</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=40</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=19</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=37</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>i=78</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=47</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=14</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=47</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=15</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=47</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=16</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=47</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=17</Identifier>\n          </TargetId>\n        </ReferenceNode>\n      </References>\n      <Value>\n        <Value>\n          <Null xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\" />\n        </Value>\n      </Value>\n      <DataType>\n        <Identifier>ns=1;i=4</Identifier>\n      </DataType>\n      <ValueRank>1</ValueRank>\n      <ArrayDimensions>\n        <UInt32>3</UInt32>\n      </ArrayDimensions>\n      <AccessLevel>1</AccessLevel>\n      <UserAccessLevel>1</UserAccessLevel>\n      <MinimumSamplingInterval>0</MinimumSamplingInterval>\n      <Historizing>false</Historizing>\n      <AccessLevelEx>0</AccessLevelEx>\n    </Node>\n    <Node i:type=\"VariableNode\">\n      <NodeId>\n        <Identifier>ns=1;i=14</Identifier>\n      </NodeId>\n      <NodeClass>Variable_2</NodeClass>\n      <BrowseName>\n        <NamespaceIndex>0</NamespaceIndex>\n        <Name>tickness</Name>\n      </BrowseName>\n      <DisplayName>\n        <Locale></Locale>\n        <Text>tickness</Text>\n      </DisplayName>\n      <Description i:nil=\"true\" />\n      <WriteMask>0</WriteMask>\n      <UserWriteMask>0</UserWriteMask>\n      <RolePermissions />\n      <UserRolePermissions />\n      <AccessRestrictions>0</AccessRestrictions>\n      <References>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=47</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>true</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=13</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=40</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>i=63</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=37</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>i=78</Identifier>\n          </TargetId>\n        </ReferenceNode>\n      </References>\n      <Value>\n        <Value>\n          <Float xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">0</Float>\n        </Value>\n      </Value>\n      <DataType>\n        <Identifier>i=10</Identifier>\n      </DataType>\n      <ValueRank>-1</ValueRank>\n      <ArrayDimensions />\n      <AccessLevel>1</AccessLevel>\n      <UserAccessLevel>1</UserAccessLevel>\n      <MinimumSamplingInterval>0</MinimumSamplingInterval>\n      <Historizing>false</Historizing>\n      <AccessLevelEx>0</AccessLevelEx>\n    </Node>\n    <Node i:type=\"VariableNode\">\n      <NodeId>\n        <Identifier>ns=1;i=15</Identifier>\n      </NodeId>\n      <NodeClass>Variable_2</NodeClass>\n      <BrowseName>\n        <NamespaceIndex>0</NamespaceIndex>\n        <Name>diameter</Name>\n      </BrowseName>\n      <DisplayName>\n        <Locale></Locale>\n        <Text>diameter</Text>\n      </DisplayName>\n      <Description i:nil=\"true\" />\n      <WriteMask>0</WriteMask>\n      <UserWriteMask>0</UserWriteMask>\n      <RolePermissions />\n      <UserRolePermissions />\n      <AccessRestrictions>0</AccessRestrictions>\n      <References>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=47</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>true</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=13</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=40</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>i=63</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=37</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>i=78</Identifier>\n          </TargetId>\n        </ReferenceNode>\n      </References>\n      <Value>\n        <Value>\n          <Float xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">0</Float>\n        </Value>\n      </Value>\n      <DataType>\n        <Identifier>i=10</Identifier>\n      </DataType>\n      <ValueRank>-1</ValueRank>\n      <ArrayDimensions />\n      <AccessLevel>1</AccessLevel>\n      <UserAccessLevel>1</UserAccessLevel>\n      <MinimumSamplingInterval>0</MinimumSamplingInterval>\n      <Historizing>false</Historizing>\n      <AccessLevelEx>0</AccessLevelEx>\n    </Node>\n    <Node i:type=\"VariableNode\">\n      <NodeId>\n        <Identifier>ns=1;i=16</Identifier>\n      </NodeId>\n      <NodeClass>Variable_2</NodeClass>\n      <BrowseName>\n        <NamespaceIndex>0</NamespaceIndex>\n        <Name>pressure</Name>\n      </BrowseName>\n      <DisplayName>\n        <Locale></Locale>\n        <Text>pressure</Text>\n      </DisplayName>\n      <Description i:nil=\"true\" />\n      <WriteMask>0</WriteMask>\n      <UserWriteMask>0</UserWriteMask>\n      <RolePermissions />\n      <UserRolePermissions />\n      <AccessRestrictions>0</AccessRestrictions>\n      <References>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=47</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>true</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=13</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=40</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>i=63</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=37</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>i=78</Identifier>\n          </TargetId>\n        </ReferenceNode>\n      </References>\n      <Value>\n        <Value>\n          <Float xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">0</Float>\n        </Value>\n      </Value>\n      <DataType>\n        <Identifier>i=10</Identifier>\n      </DataType>\n      <ValueRank>-1</ValueRank>\n      <ArrayDimensions />\n      <AccessLevel>1</AccessLevel>\n      <UserAccessLevel>1</UserAccessLevel>\n      <MinimumSamplingInterval>0</MinimumSamplingInterval>\n      <Historizing>false</Historizing>\n      <AccessLevelEx>0</AccessLevelEx>\n    </Node>\n    <Node i:type=\"VariableNode\">\n      <NodeId>\n        <Identifier>ns=1;i=17</Identifier>\n      </NodeId>\n      <NodeClass>Variable_2</NodeClass>\n      <BrowseName>\n        <NamespaceIndex>0</NamespaceIndex>\n        <Name>tiretype</Name>\n      </BrowseName>\n      <DisplayName>\n        <Locale></Locale>\n        <Text>tiretype</Text>\n      </DisplayName>\n      <Description i:nil=\"true\" />\n      <WriteMask>0</WriteMask>\n      <UserWriteMask>0</UserWriteMask>\n      <RolePermissions />\n      <UserRolePermissions />\n      <AccessRestrictions>0</AccessRestrictions>\n      <References>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=47</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>true</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=13</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=40</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>i=63</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=37</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>i=78</Identifier>\n          </TargetId>\n        </ReferenceNode>\n      </References>\n      <Value>\n        <Value>\n          <Null xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\" />\n        </Value>\n      </Value>\n      <DataType>\n        <Identifier>ns=1;i=1</Identifier>\n      </DataType>\n      <ValueRank>-1</ValueRank>\n      <ArrayDimensions />\n      <AccessLevel>1</AccessLevel>\n      <UserAccessLevel>1</UserAccessLevel>\n      <MinimumSamplingInterval>0</MinimumSamplingInterval>\n      <Historizing>false</Historizing>\n      <AccessLevelEx>0</AccessLevelEx>\n    </Node>\n    <Node i:type=\"VariableNode\">\n      <NodeId>\n        <Identifier>ns=1;i=18</Identifier>\n      </NodeId>\n      <NodeClass>Variable_2</NodeClass>\n      <BrowseName>\n        <NamespaceIndex>0</NamespaceIndex>\n        <Name>Model</Name>\n      </BrowseName>\n      <DisplayName>\n        <Locale></Locale>\n        <Text>Model</Text>\n      </DisplayName>\n      <Description i:nil=\"true\" />\n      <WriteMask>0</WriteMask>\n      <UserWriteMask>0</UserWriteMask>\n      <RolePermissions />\n      <UserRolePermissions />\n      <AccessRestrictions>0</AccessRestrictions>\n      <References>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=47</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>true</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=11</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=40</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>i=63</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=37</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>i=78</Identifier>\n          </TargetId>\n        </ReferenceNode>\n      </References>\n      <Value>\n        <Value>\n          <Null xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\" />\n        </Value>\n      </Value>\n      <DataType>\n        <Identifier>i=12</Identifier>\n      </DataType>\n      <ValueRank>-1</ValueRank>\n      <ArrayDimensions />\n      <AccessLevel>1</AccessLevel>\n      <UserAccessLevel>1</UserAccessLevel>\n      <MinimumSamplingInterval>0</MinimumSamplingInterval>\n      <Historizing>false</Historizing>\n      <AccessLevelEx>0</AccessLevelEx>\n    </Node>\n    <Node i:type=\"VariableTypeNode\">\n      <NodeId>\n        <Identifier>ns=1;i=19</Identifier>\n      </NodeId>\n      <NodeClass>VariableType_16</NodeClass>\n      <BrowseName>\n        <NamespaceIndex>1</NamespaceIndex>\n        <Name>WheelVariableType</Name>\n      </BrowseName>\n      <DisplayName>\n        <Locale></Locale>\n        <Text>WheelVariableType</Text>\n      </DisplayName>\n      <Description i:nil=\"true\" />\n      <WriteMask>0</WriteMask>\n      <UserWriteMask>0</UserWriteMask>\n      <RolePermissions />\n      <UserRolePermissions />\n      <AccessRestrictions>0</AccessRestrictions>\n      <References>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=45</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>true</IsInverse>\n          <TargetId>\n            <Identifier>i=63</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=47</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=20</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=47</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=21</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=47</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=22</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=47</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=23</Identifier>\n          </TargetId>\n        </ReferenceNode>\n      </References>\n      <Value>\n        <Value>\n          <Null xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\" />\n        </Value>\n      </Value>\n      <DataType>\n        <Identifier>ns=1;i=4</Identifier>\n      </DataType>\n      <ValueRank>-2</ValueRank>\n      <ArrayDimensions />\n      <IsAbstract>false</IsAbstract>\n    </Node>\n    <Node i:type=\"VariableNode\">\n      <NodeId>\n        <Identifier>ns=1;i=20</Identifier>\n      </NodeId>\n      <NodeClass>Variable_2</NodeClass>\n      <BrowseName>\n        <NamespaceIndex>0</NamespaceIndex>\n        <Name>tickness</Name>\n      </BrowseName>\n      <DisplayName>\n        <Locale></Locale>\n        <Text>tickness</Text>\n      </DisplayName>\n      <Description i:nil=\"true\" />\n      <WriteMask>0</WriteMask>\n      <UserWriteMask>0</UserWriteMask>\n      <RolePermissions />\n      <UserRolePermissions />\n      <AccessRestrictions>0</AccessRestrictions>\n      <References>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=47</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>true</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=19</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=40</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>i=63</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=37</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>i=78</Identifier>\n          </TargetId>\n        </ReferenceNode>\n      </References>\n      <Value>\n        <Value>\n          <Float xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">0</Float>\n        </Value>\n      </Value>\n      <DataType>\n        <Identifier>i=10</Identifier>\n      </DataType>\n      <ValueRank>-1</ValueRank>\n      <ArrayDimensions />\n      <AccessLevel>1</AccessLevel>\n      <UserAccessLevel>1</UserAccessLevel>\n      <MinimumSamplingInterval>0</MinimumSamplingInterval>\n      <Historizing>false</Historizing>\n      <AccessLevelEx>0</AccessLevelEx>\n    </Node>\n    <Node i:type=\"VariableNode\">\n      <NodeId>\n        <Identifier>ns=1;i=21</Identifier>\n      </NodeId>\n      <NodeClass>Variable_2</NodeClass>\n      <BrowseName>\n        <NamespaceIndex>0</NamespaceIndex>\n        <Name>diameter</Name>\n      </BrowseName>\n      <DisplayName>\n        <Locale></Locale>\n        <Text>diameter</Text>\n      </DisplayName>\n      <Description i:nil=\"true\" />\n      <WriteMask>0</WriteMask>\n      <UserWriteMask>0</UserWriteMask>\n      <RolePermissions />\n      <UserRolePermissions />\n      <AccessRestrictions>0</AccessRestrictions>\n      <References>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=47</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>true</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=19</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=40</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>i=63</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=37</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>i=78</Identifier>\n          </TargetId>\n        </ReferenceNode>\n      </References>\n      <Value>\n        <Value>\n          <Float xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">0</Float>\n        </Value>\n      </Value>\n      <DataType>\n        <Identifier>i=10</Identifier>\n      </DataType>\n      <ValueRank>-1</ValueRank>\n      <ArrayDimensions />\n      <AccessLevel>1</AccessLevel>\n      <UserAccessLevel>1</UserAccessLevel>\n      <MinimumSamplingInterval>0</MinimumSamplingInterval>\n      <Historizing>false</Historizing>\n      <AccessLevelEx>0</AccessLevelEx>\n    </Node>\n    <Node i:type=\"VariableNode\">\n      <NodeId>\n        <Identifier>ns=1;i=22</Identifier>\n      </NodeId>\n      <NodeClass>Variable_2</NodeClass>\n      <BrowseName>\n        <NamespaceIndex>0</NamespaceIndex>\n        <Name>pressure</Name>\n      </BrowseName>\n      <DisplayName>\n        <Locale></Locale>\n        <Text>pressure</Text>\n      </DisplayName>\n      <Description i:nil=\"true\" />\n      <WriteMask>0</WriteMask>\n      <UserWriteMask>0</UserWriteMask>\n      <RolePermissions />\n      <UserRolePermissions />\n      <AccessRestrictions>0</AccessRestrictions>\n      <References>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=47</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>true</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=19</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=40</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>i=63</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=37</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>i=78</Identifier>\n          </TargetId>\n        </ReferenceNode>\n      </References>\n      <Value>\n        <Value>\n          <Float xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">0</Float>\n        </Value>\n      </Value>\n      <DataType>\n        <Identifier>i=10</Identifier>\n      </DataType>\n      <ValueRank>-1</ValueRank>\n      <ArrayDimensions />\n      <AccessLevel>1</AccessLevel>\n      <UserAccessLevel>1</UserAccessLevel>\n      <MinimumSamplingInterval>0</MinimumSamplingInterval>\n      <Historizing>false</Historizing>\n      <AccessLevelEx>0</AccessLevelEx>\n    </Node>\n    <Node i:type=\"VariableNode\">\n      <NodeId>\n        <Identifier>ns=1;i=23</Identifier>\n      </NodeId>\n      <NodeClass>Variable_2</NodeClass>\n      <BrowseName>\n        <NamespaceIndex>0</NamespaceIndex>\n        <Name>tiretype</Name>\n      </BrowseName>\n      <DisplayName>\n        <Locale></Locale>\n        <Text>tiretype</Text>\n      </DisplayName>\n      <Description i:nil=\"true\" />\n      <WriteMask>0</WriteMask>\n      <UserWriteMask>0</UserWriteMask>\n      <RolePermissions />\n      <UserRolePermissions />\n      <AccessRestrictions>0</AccessRestrictions>\n      <References>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=47</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>true</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=19</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=40</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>i=63</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=37</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>i=78</Identifier>\n          </TargetId>\n        </ReferenceNode>\n      </References>\n      <Value>\n        <Value>\n          <Null xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\" />\n        </Value>\n      </Value>\n      <DataType>\n        <Identifier>ns=1;i=1</Identifier>\n      </DataType>\n      <ValueRank>-1</ValueRank>\n      <ArrayDimensions />\n      <AccessLevel>1</AccessLevel>\n      <UserAccessLevel>1</UserAccessLevel>\n      <MinimumSamplingInterval>0</MinimumSamplingInterval>\n      <Historizing>false</Historizing>\n      <AccessLevelEx>0</AccessLevelEx>\n    </Node>\n    <Node i:type=\"ObjectNode\">\n      <NodeId>\n        <Identifier>ns=1;i=24</Identifier>\n      </NodeId>\n      <NodeClass>Object_1</NodeClass>\n      <BrowseName>\n        <NamespaceIndex>0</NamespaceIndex>\n        <Name>Default XML</Name>\n      </BrowseName>\n      <DisplayName>\n        <Locale></Locale>\n        <Text>Default XML</Text>\n      </DisplayName>\n      <Description i:nil=\"true\" />\n      <WriteMask>0</WriteMask>\n      <UserWriteMask>0</UserWriteMask>\n      <RolePermissions />\n      <UserRolePermissions />\n      <AccessRestrictions>0</AccessRestrictions>\n      <References>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=40</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>i=76</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=38</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>true</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=3</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=39</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=29</Identifier>\n          </TargetId>\n        </ReferenceNode>\n      </References>\n      <EventNotifier>0</EventNotifier>\n    </Node>\n    <Node i:type=\"ObjectNode\">\n      <NodeId>\n        <Identifier>ns=1;i=25</Identifier>\n      </NodeId>\n      <NodeClass>Object_1</NodeClass>\n      <BrowseName>\n        <NamespaceIndex>0</NamespaceIndex>\n        <Name>Default XML</Name>\n      </BrowseName>\n      <DisplayName>\n        <Locale></Locale>\n        <Text>Default XML</Text>\n      </DisplayName>\n      <Description i:nil=\"true\" />\n      <WriteMask>0</WriteMask>\n      <UserWriteMask>0</UserWriteMask>\n      <RolePermissions />\n      <UserRolePermissions />\n      <AccessRestrictions>0</AccessRestrictions>\n      <References>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=40</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>i=76</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=38</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>true</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=4</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=39</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=32</Identifier>\n          </TargetId>\n        </ReferenceNode>\n      </References>\n      <EventNotifier>0</EventNotifier>\n    </Node>\n    <Node i:type=\"VariableNode\">\n      <NodeId>\n        <Identifier>ns=1;i=26</Identifier>\n      </NodeId>\n      <NodeClass>Variable_2</NodeClass>\n      <BrowseName>\n        <NamespaceIndex>1</NamespaceIndex>\n        <Name>Prefix2</Name>\n      </BrowseName>\n      <DisplayName>\n        <Locale></Locale>\n        <Text>Prefix2</Text>\n      </DisplayName>\n      <Description i:nil=\"true\" />\n      <WriteMask>0</WriteMask>\n      <UserWriteMask>0</UserWriteMask>\n      <RolePermissions />\n      <UserRolePermissions />\n      <AccessRestrictions>0</AccessRestrictions>\n      <References>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=40</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>i=72</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=47</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>true</IsInverse>\n          <TargetId>\n            <Identifier>i=92</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=46</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=28</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=47</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=29</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=47</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=32</Identifier>\n          </TargetId>\n        </ReferenceNode>\n      </References>\n      <Value>\n        <Value>\n          <ByteString xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">PHhzOnNjaGVtYQ0KICB4bWxuczp4cz0iaHR0cDovL3d3dy53My5vcmcvMjAwMS9YTUxTY2hlbWEi\nDQogIHhtbG5zOnVhPSJodHRwOi8vb3BjZm91bmRhdGlvbi5vcmcvVUEvMjAwOC8wMi9UeXBlcy54\nc2QiDQogIHhtbG5zOnRucz0iaHR0cDovL3RyaWN5Y2xldHlwZXYxLyINCiAgdGFyZ2V0TmFtZXNw\nYWNlPSJodHRwOi8vdHJpY3ljbGV0eXBldjEvIg0KICBlbGVtZW50Rm9ybURlZmF1bHQ9InF1YWxp\nZmllZCINCj4NCiAgPHhzOmltcG9ydCBuYW1lc3BhY2U9Imh0dHA6Ly9vcGNmb3VuZGF0aW9uLm9y\nZy9VQS8iIC8+DQoNCiAgPHhzOnNpbXBsZVR5cGUgIG5hbWU9IlRpcmVFbnVtIj4NCiAgICA8eHM6\ncmVzdHJpY3Rpb24gYmFzZT0ieHM6c3RyaW5nIj4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1\nZT0iTXVkXzAiIC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IkljZV8xIiAvPg0KICAg\nICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJTYW5kXzIiIC8+DQogICAgPC94czpyZXN0cmljdGlv\nbj4NCiAgPC94czpzaW1wbGVUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJUaXJlRW51bSIgdHlw\nZT0idG5zOlRpcmVFbnVtIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJMaXN0T2ZUaXJl\nRW51bSI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iVGlyZUVu\ndW0iIHR5cGU9InRuczpUaXJlRW51bSIgbWluT2NjdXJzPSIwIiBtYXhPY2N1cnM9InVuYm91bmRl\nZCIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxl\nbWVudCBuYW1lPSJMaXN0T2ZUaXJlRW51bSIgdHlwZT0idG5zOkxpc3RPZlRpcmVFbnVtIiBuaWxs\nYWJsZT0idHJ1ZSI+PC94czplbGVtZW50Pg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJUcmlD\neWNsZURhdGFUeXBlIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1l\nPSJ3ZWlnaHQiIHR5cGU9InhzOmZsb2F0IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxl\nbWVudCBuYW1lPSJ3aGVlbCIgdHlwZT0idG5zOldoZWVsRGF0YVR5cGUiIG1pbk9jY3Vycz0iMCIg\nbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJNb2RlbCIgdHlwZT0i\neHM6c3RyaW5nIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2Vx\ndWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IlRyaUN5Y2xl\nRGF0YVR5cGUiIHR5cGU9InRuczpUcmlDeWNsZURhdGFUeXBlIiAvPg0KDQogIDx4czpjb21wbGV4\nVHlwZSBuYW1lPSJMaXN0T2ZUcmlDeWNsZURhdGFUeXBlIj4NCiAgICA8eHM6c2VxdWVuY2U+DQog\nICAgICA8eHM6ZWxlbWVudCBuYW1lPSJUcmlDeWNsZURhdGFUeXBlIiB0eXBlPSJ0bnM6VHJpQ3lj\nbGVEYXRhVHlwZSIgbWluT2NjdXJzPSIwIiBtYXhPY2N1cnM9InVuYm91bmRlZCIgbmlsbGFibGU9\nInRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhz\nOmVsZW1lbnQgbmFtZT0iTGlzdE9mVHJpQ3ljbGVEYXRhVHlwZSIgdHlwZT0idG5zOkxpc3RPZlRy\naUN5Y2xlRGF0YVR5cGUiIG5pbGxhYmxlPSJ0cnVlIj48L3hzOmVsZW1lbnQ+DQoNCiAgPHhzOmNv\nbXBsZXhUeXBlIG5hbWU9IldoZWVsRGF0YVR5cGUiPg0KICAgIDx4czphbm5vdGF0aW9uPg0KICAg\nICAgPHhzOmRvY3VtZW50YXRpb24+V2hlZWwgZGF0YXR5cGUuPC94czpkb2N1bWVudGF0aW9uPg0K\nICAgIDwveHM6YW5ub3RhdGlvbj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVu\ndCBuYW1lPSJ0aWNrbmVzcyIgdHlwZT0ieHM6ZmxvYXQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAg\nIDx4czplbGVtZW50IG5hbWU9ImRpYW1ldGVyIiB0eXBlPSJ4czpmbG9hdCIgbWluT2NjdXJzPSIw\nIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0icHJlc3N1cmUiIHR5cGU9InhzOmZsb2F0IiBt\naW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJUaXJlVHlwZSIgdHlwZT0i\ndG5zOlRpcmVFbnVtIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJy\nYXlzTGVuIiB0eXBlPSJ4czppbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICA8L3hzOnNlcXVlbmNl\nPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJXaGVlbERhdGFUeXBl\nIiB0eXBlPSJ0bnM6V2hlZWxEYXRhVHlwZSIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0i\nTGlzdE9mV2hlZWxEYXRhVHlwZSI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1l\nbnQgbmFtZT0iV2hlZWxEYXRhVHlwZSIgdHlwZT0idG5zOldoZWVsRGF0YVR5cGUiIG1pbk9jY3Vy\ncz0iMCIgbWF4T2NjdXJzPSJ1bmJvdW5kZWQiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6\nc2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ikxpc3RP\nZldoZWVsRGF0YVR5cGUiIHR5cGU9InRuczpMaXN0T2ZXaGVlbERhdGFUeXBlIiBuaWxsYWJsZT0i\ndHJ1ZSI+PC94czplbGVtZW50Pg0KDQo8L3hzOnNjaGVtYT4=</ByteString>\n        </Value>\n      </Value>\n      <DataType>\n        <Identifier>i=15</Identifier>\n      </DataType>\n      <ValueRank>-1</ValueRank>\n      <ArrayDimensions />\n      <AccessLevel>1</AccessLevel>\n      <UserAccessLevel>1</UserAccessLevel>\n      <MinimumSamplingInterval>0</MinimumSamplingInterval>\n      <Historizing>false</Historizing>\n      <AccessLevelEx>0</AccessLevelEx>\n    </Node>\n    <Node i:type=\"VariableNode\">\n      <NodeId>\n        <Identifier>ns=1;i=28</Identifier>\n      </NodeId>\n      <NodeClass>Variable_2</NodeClass>\n      <BrowseName>\n        <NamespaceIndex>0</NamespaceIndex>\n        <Name>NamespaceUri</Name>\n      </BrowseName>\n      <DisplayName>\n        <Locale></Locale>\n        <Text>NamespaceUri</Text>\n      </DisplayName>\n      <Description>\n        <Locale></Locale>\n        <Text>A URI that uniquely identifies the dictionary.</Text>\n      </Description>\n      <WriteMask>0</WriteMask>\n      <UserWriteMask>0</UserWriteMask>\n      <RolePermissions />\n      <UserRolePermissions />\n      <AccessRestrictions>0</AccessRestrictions>\n      <References>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=46</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>true</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=26</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=40</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>i=68</Identifier>\n          </TargetId>\n        </ReferenceNode>\n      </References>\n      <Value>\n        <Value>\n          <String xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">http://tricycletypev1/</String>\n        </Value>\n      </Value>\n      <DataType>\n        <Identifier>i=12</Identifier>\n      </DataType>\n      <ValueRank>-1</ValueRank>\n      <ArrayDimensions />\n      <AccessLevel>1</AccessLevel>\n      <UserAccessLevel>1</UserAccessLevel>\n      <MinimumSamplingInterval>0</MinimumSamplingInterval>\n      <Historizing>false</Historizing>\n      <AccessLevelEx>0</AccessLevelEx>\n    </Node>\n    <Node i:type=\"VariableNode\">\n      <NodeId>\n        <Identifier>ns=1;i=29</Identifier>\n      </NodeId>\n      <NodeClass>Variable_2</NodeClass>\n      <BrowseName>\n        <NamespaceIndex>1</NamespaceIndex>\n        <Name>TriCycleDataType</Name>\n      </BrowseName>\n      <DisplayName>\n        <Locale></Locale>\n        <Text>TriCycleDataType</Text>\n      </DisplayName>\n      <Description i:nil=\"true\" />\n      <WriteMask>0</WriteMask>\n      <UserWriteMask>0</UserWriteMask>\n      <RolePermissions />\n      <UserRolePermissions />\n      <AccessRestrictions>0</AccessRestrictions>\n      <References>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=47</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>true</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=26</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=40</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>i=69</Identifier>\n          </TargetId>\n        </ReferenceNode>\n      </References>\n      <Value>\n        <Value>\n          <String xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">//xs:element[@name='TriCycleDataType']</String>\n        </Value>\n      </Value>\n      <DataType>\n        <Identifier>i=12</Identifier>\n      </DataType>\n      <ValueRank>-1</ValueRank>\n      <ArrayDimensions />\n      <AccessLevel>1</AccessLevel>\n      <UserAccessLevel>1</UserAccessLevel>\n      <MinimumSamplingInterval>0</MinimumSamplingInterval>\n      <Historizing>false</Historizing>\n      <AccessLevelEx>0</AccessLevelEx>\n    </Node>\n    <Node i:type=\"VariableNode\">\n      <NodeId>\n        <Identifier>ns=1;i=32</Identifier>\n      </NodeId>\n      <NodeClass>Variable_2</NodeClass>\n      <BrowseName>\n        <NamespaceIndex>1</NamespaceIndex>\n        <Name>WheelDataType</Name>\n      </BrowseName>\n      <DisplayName>\n        <Locale></Locale>\n        <Text>WheelDataType</Text>\n      </DisplayName>\n      <Description i:nil=\"true\" />\n      <WriteMask>0</WriteMask>\n      <UserWriteMask>0</UserWriteMask>\n      <RolePermissions />\n      <UserRolePermissions />\n      <AccessRestrictions>0</AccessRestrictions>\n      <References>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=47</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>true</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=26</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=40</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>i=69</Identifier>\n          </TargetId>\n        </ReferenceNode>\n      </References>\n      <Value>\n        <Value>\n          <String xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">//xs:element[@name='WheelDataType']</String>\n        </Value>\n      </Value>\n      <DataType>\n        <Identifier>i=12</Identifier>\n      </DataType>\n      <ValueRank>-1</ValueRank>\n      <ArrayDimensions />\n      <AccessLevel>1</AccessLevel>\n      <UserAccessLevel>1</UserAccessLevel>\n      <MinimumSamplingInterval>0</MinimumSamplingInterval>\n      <Historizing>false</Historizing>\n      <AccessLevelEx>0</AccessLevelEx>\n    </Node>\n    <Node i:type=\"ObjectNode\">\n      <NodeId>\n        <Identifier>ns=1;i=35</Identifier>\n      </NodeId>\n      <NodeClass>Object_1</NodeClass>\n      <BrowseName>\n        <NamespaceIndex>0</NamespaceIndex>\n        <Name>Default Binary</Name>\n      </BrowseName>\n      <DisplayName>\n        <Locale></Locale>\n        <Text>Default Binary</Text>\n      </DisplayName>\n      <Description i:nil=\"true\" />\n      <WriteMask>0</WriteMask>\n      <UserWriteMask>0</UserWriteMask>\n      <RolePermissions />\n      <UserRolePermissions />\n      <AccessRestrictions>0</AccessRestrictions>\n      <References>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=40</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>i=76</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=38</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>true</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=3</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=39</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=40</Identifier>\n          </TargetId>\n        </ReferenceNode>\n      </References>\n      <EventNotifier>0</EventNotifier>\n    </Node>\n    <Node i:type=\"ObjectNode\">\n      <NodeId>\n        <Identifier>ns=1;i=36</Identifier>\n      </NodeId>\n      <NodeClass>Object_1</NodeClass>\n      <BrowseName>\n        <NamespaceIndex>0</NamespaceIndex>\n        <Name>Default Binary</Name>\n      </BrowseName>\n      <DisplayName>\n        <Locale></Locale>\n        <Text>Default Binary</Text>\n      </DisplayName>\n      <Description i:nil=\"true\" />\n      <WriteMask>0</WriteMask>\n      <UserWriteMask>0</UserWriteMask>\n      <RolePermissions />\n      <UserRolePermissions />\n      <AccessRestrictions>0</AccessRestrictions>\n      <References>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=40</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>i=76</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=38</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>true</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=4</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=39</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=43</Identifier>\n          </TargetId>\n        </ReferenceNode>\n      </References>\n      <EventNotifier>0</EventNotifier>\n    </Node>\n    <Node i:type=\"VariableNode\">\n      <NodeId>\n        <Identifier>ns=1;i=37</Identifier>\n      </NodeId>\n      <NodeClass>Variable_2</NodeClass>\n      <BrowseName>\n        <NamespaceIndex>1</NamespaceIndex>\n        <Name>Prefix2</Name>\n      </BrowseName>\n      <DisplayName>\n        <Locale></Locale>\n        <Text>Prefix2</Text>\n      </DisplayName>\n      <Description i:nil=\"true\" />\n      <WriteMask>0</WriteMask>\n      <UserWriteMask>0</UserWriteMask>\n      <RolePermissions />\n      <UserRolePermissions />\n      <AccessRestrictions>0</AccessRestrictions>\n      <References>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=40</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>i=72</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=47</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>true</IsInverse>\n          <TargetId>\n            <Identifier>i=93</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=46</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=39</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=47</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=40</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=47</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=43</Identifier>\n          </TargetId>\n        </ReferenceNode>\n      </References>\n      <Value>\n        <Value>\n          <ByteString xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">PG9wYzpUeXBlRGljdGlvbmFyeQ0KICB4bWxuczpvcGM9Imh0dHA6Ly9vcGNmb3VuZGF0aW9uLm9y\nZy9CaW5hcnlTY2hlbWEvIg0KICB4bWxuczp4c2k9Imh0dHA6Ly93d3cudzMub3JnLzIwMDEvWE1M\nU2NoZW1hLWluc3RhbmNlIg0KICB4bWxuczp1YT0iaHR0cDovL29wY2ZvdW5kYXRpb24ub3JnL1VB\nLyINCiAgeG1sbnM6dG5zPSJodHRwOi8vdHJpY3ljbGV0eXBldjEvIg0KICBEZWZhdWx0Qnl0ZU9y\nZGVyPSJMaXR0bGVFbmRpYW4iDQogIFRhcmdldE5hbWVzcGFjZT0iaHR0cDovL3RyaWN5Y2xldHlw\nZXYxLyINCj4NCiAgPCEtLSBUaGlzIEZpbGUgd2FzIGdlbmVyYXRlZCBvbiAyMDIxLTAzLTE4IGFu\nZCBzdXBwb3J0cyB0aGUgc3BlY2lmaWNhdGlvbnMgc3VwcG9ydGVkIGJ5IHZlcnNpb24gMS4xMS4z\nMzUuMTAgb2YgdGhlIE9QQyBVQSBkZWxpdmVyYWJsZXMuIC0tPg0KICA8b3BjOkltcG9ydCBOYW1l\nc3BhY2U9Imh0dHA6Ly9vcGNmb3VuZGF0aW9uLm9yZy9VQS8iIExvY2F0aW9uPSJQcmVmaXgwLkJp\nbmFyeVNjaGVtYS5ic2QiLz4NCg0KICA8b3BjOkVudW1lcmF0ZWRUeXBlIE5hbWU9IlRpcmVFbnVt\nIiBMZW5ndGhJbkJpdHM9IjMyIj4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJNdWQi\nIFZhbHVlPSIwIiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IkljZSIgVmFsdWU9\nIjEiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iU2FuZCIgVmFsdWU9IjIiIC8+\nDQogIDwvb3BjOkVudW1lcmF0ZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0i\nVHJpQ3ljbGVEYXRhVHlwZSIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9w\nYzpGaWVsZCBOYW1lPSJ3ZWlnaHQiIFR5cGVOYW1lPSJvcGM6RmxvYXQiIC8+DQogICAgPG9wYzpG\naWVsZCBOYW1lPSJ3aGVlbCIgVHlwZU5hbWU9InRuczpXaGVlbERhdGFUeXBlIiAvPg0KICAgIDxv\ncGM6RmllbGQgTmFtZT0iTW9kZWwiIFR5cGVOYW1lPSJvcGM6U3RyaW5nIiAvPg0KICA8L29wYzpT\ndHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IldoZWVsRGF0YVR5\ncGUiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RG9jdW1lbnRhdGlv\nbj5XaGVlbCBkYXRhdHlwZS48L29wYzpEb2N1bWVudGF0aW9uPg0KICAgIDxvcGM6RmllbGQgTmFt\nZT0idGlja25lc3MiIFR5cGVOYW1lPSJvcGM6RmxvYXQiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1l\nPSJkaWFtZXRlciIgVHlwZU5hbWU9Im9wYzpGbG9hdCIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9\nInByZXNzdXJlIiBUeXBlTmFtZT0ib3BjOkZsb2F0IiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0i\nVGlyZVR5cGUiIFR5cGVOYW1lPSJ0bnM6VGlyZUVudW0iIC8+DQogICAgPG9wYzpGaWVsZCBOYW1l\nPSJyYXlzTGVuIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlw\nZT4NCg0KPC9vcGM6VHlwZURpY3Rpb25hcnk+</ByteString>\n        </Value>\n      </Value>\n      <DataType>\n        <Identifier>i=15</Identifier>\n      </DataType>\n      <ValueRank>-1</ValueRank>\n      <ArrayDimensions />\n      <AccessLevel>1</AccessLevel>\n      <UserAccessLevel>1</UserAccessLevel>\n      <MinimumSamplingInterval>0</MinimumSamplingInterval>\n      <Historizing>false</Historizing>\n      <AccessLevelEx>0</AccessLevelEx>\n    </Node>\n    <Node i:type=\"VariableNode\">\n      <NodeId>\n        <Identifier>ns=1;i=39</Identifier>\n      </NodeId>\n      <NodeClass>Variable_2</NodeClass>\n      <BrowseName>\n        <NamespaceIndex>0</NamespaceIndex>\n        <Name>NamespaceUri</Name>\n      </BrowseName>\n      <DisplayName>\n        <Locale></Locale>\n        <Text>NamespaceUri</Text>\n      </DisplayName>\n      <Description>\n        <Locale></Locale>\n        <Text>A URI that uniquely identifies the dictionary.</Text>\n      </Description>\n      <WriteMask>0</WriteMask>\n      <UserWriteMask>0</UserWriteMask>\n      <RolePermissions />\n      <UserRolePermissions />\n      <AccessRestrictions>0</AccessRestrictions>\n      <References>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=46</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>true</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=37</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=40</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>i=68</Identifier>\n          </TargetId>\n        </ReferenceNode>\n      </References>\n      <Value>\n        <Value>\n          <String xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">http://tricycletypev1/</String>\n        </Value>\n      </Value>\n      <DataType>\n        <Identifier>i=12</Identifier>\n      </DataType>\n      <ValueRank>-1</ValueRank>\n      <ArrayDimensions />\n      <AccessLevel>1</AccessLevel>\n      <UserAccessLevel>1</UserAccessLevel>\n      <MinimumSamplingInterval>0</MinimumSamplingInterval>\n      <Historizing>false</Historizing>\n      <AccessLevelEx>0</AccessLevelEx>\n    </Node>\n    <Node i:type=\"VariableNode\">\n      <NodeId>\n        <Identifier>ns=1;i=40</Identifier>\n      </NodeId>\n      <NodeClass>Variable_2</NodeClass>\n      <BrowseName>\n        <NamespaceIndex>1</NamespaceIndex>\n        <Name>TriCycleDataType</Name>\n      </BrowseName>\n      <DisplayName>\n        <Locale></Locale>\n        <Text>TriCycleDataType</Text>\n      </DisplayName>\n      <Description i:nil=\"true\" />\n      <WriteMask>0</WriteMask>\n      <UserWriteMask>0</UserWriteMask>\n      <RolePermissions />\n      <UserRolePermissions />\n      <AccessRestrictions>0</AccessRestrictions>\n      <References>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=47</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>true</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=37</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=40</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>i=69</Identifier>\n          </TargetId>\n        </ReferenceNode>\n      </References>\n      <Value>\n        <Value>\n          <String xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">TriCycleDataType</String>\n        </Value>\n      </Value>\n      <DataType>\n        <Identifier>i=12</Identifier>\n      </DataType>\n      <ValueRank>-1</ValueRank>\n      <ArrayDimensions />\n      <AccessLevel>1</AccessLevel>\n      <UserAccessLevel>1</UserAccessLevel>\n      <MinimumSamplingInterval>0</MinimumSamplingInterval>\n      <Historizing>false</Historizing>\n      <AccessLevelEx>0</AccessLevelEx>\n    </Node>\n    <Node i:type=\"VariableNode\">\n      <NodeId>\n        <Identifier>ns=1;i=43</Identifier>\n      </NodeId>\n      <NodeClass>Variable_2</NodeClass>\n      <BrowseName>\n        <NamespaceIndex>1</NamespaceIndex>\n        <Name>WheelDataType</Name>\n      </BrowseName>\n      <DisplayName>\n        <Locale></Locale>\n        <Text>WheelDataType</Text>\n      </DisplayName>\n      <Description i:nil=\"true\" />\n      <WriteMask>0</WriteMask>\n      <UserWriteMask>0</UserWriteMask>\n      <RolePermissions />\n      <UserRolePermissions />\n      <AccessRestrictions>0</AccessRestrictions>\n      <References>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=47</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>true</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=37</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=40</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>i=69</Identifier>\n          </TargetId>\n        </ReferenceNode>\n      </References>\n      <Value>\n        <Value>\n          <String xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">WheelDataType</String>\n        </Value>\n      </Value>\n      <DataType>\n        <Identifier>i=12</Identifier>\n      </DataType>\n      <ValueRank>-1</ValueRank>\n      <ArrayDimensions />\n      <AccessLevel>1</AccessLevel>\n      <UserAccessLevel>1</UserAccessLevel>\n      <MinimumSamplingInterval>0</MinimumSamplingInterval>\n      <Historizing>false</Historizing>\n      <AccessLevelEx>0</AccessLevelEx>\n    </Node>\n    <Node i:type=\"VariableNode\">\n      <NodeId>\n        <Identifier>ns=1;i=46</Identifier>\n      </NodeId>\n      <NodeClass>Variable_2</NodeClass>\n      <BrowseName>\n        <NamespaceIndex>0</NamespaceIndex>\n        <Name>buildDate</Name>\n      </BrowseName>\n      <DisplayName>\n        <Locale></Locale>\n        <Text>buildDate</Text>\n      </DisplayName>\n      <Description i:nil=\"true\" />\n      <WriteMask>0</WriteMask>\n      <UserWriteMask>0</UserWriteMask>\n      <RolePermissions />\n      <UserRolePermissions />\n      <AccessRestrictions>0</AccessRestrictions>\n      <References>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=46</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>true</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=10</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=40</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>i=68</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=37</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>i=78</Identifier>\n          </TargetId>\n        </ReferenceNode>\n      </References>\n      <Value>\n        <Value>\n          <DateTime xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">0001-01-01T00:00:00</DateTime>\n        </Value>\n      </Value>\n      <DataType>\n        <Identifier>i=13</Identifier>\n      </DataType>\n      <ValueRank>-1</ValueRank>\n      <ArrayDimensions />\n      <AccessLevel>1</AccessLevel>\n      <UserAccessLevel>1</UserAccessLevel>\n      <MinimumSamplingInterval>0</MinimumSamplingInterval>\n      <Historizing>false</Historizing>\n      <AccessLevelEx>0</AccessLevelEx>\n    </Node>\n    <Node i:type=\"ObjectNode\">\n      <NodeId>\n        <Identifier>ns=1;i=47</Identifier>\n      </NodeId>\n      <NodeClass>Object_1</NodeClass>\n      <BrowseName>\n        <NamespaceIndex>0</NamespaceIndex>\n        <Name>Owner&gt;</Name>\n      </BrowseName>\n      <DisplayName>\n        <Locale></Locale>\n        <Text>&lt;Owner&gt;</Text>\n      </DisplayName>\n      <Description i:nil=\"true\" />\n      <WriteMask>0</WriteMask>\n      <UserWriteMask>0</UserWriteMask>\n      <RolePermissions />\n      <UserRolePermissions />\n      <AccessRestrictions>0</AccessRestrictions>\n      <References>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=47</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>true</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=10</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=40</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=5</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=37</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>i=78</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=47</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=48</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=47</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=49</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=46</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=50</Identifier>\n          </TargetId>\n        </ReferenceNode>\n      </References>\n      <EventNotifier>0</EventNotifier>\n    </Node>\n    <Node i:type=\"VariableNode\">\n      <NodeId>\n        <Identifier>ns=1;i=48</Identifier>\n      </NodeId>\n      <NodeClass>Variable_2</NodeClass>\n      <BrowseName>\n        <NamespaceIndex>0</NamespaceIndex>\n        <Name>Name</Name>\n      </BrowseName>\n      <DisplayName>\n        <Locale></Locale>\n        <Text>Name</Text>\n      </DisplayName>\n      <Description i:nil=\"true\" />\n      <WriteMask>0</WriteMask>\n      <UserWriteMask>0</UserWriteMask>\n      <RolePermissions />\n      <UserRolePermissions />\n      <AccessRestrictions>0</AccessRestrictions>\n      <References>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=47</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>true</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=47</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=40</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>i=63</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=37</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>i=78</Identifier>\n          </TargetId>\n        </ReferenceNode>\n      </References>\n      <Value>\n        <Value>\n          <Null xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\" />\n        </Value>\n      </Value>\n      <DataType>\n        <Identifier>i=12</Identifier>\n      </DataType>\n      <ValueRank>-1</ValueRank>\n      <ArrayDimensions />\n      <AccessLevel>1</AccessLevel>\n      <UserAccessLevel>1</UserAccessLevel>\n      <MinimumSamplingInterval>0</MinimumSamplingInterval>\n      <Historizing>false</Historizing>\n      <AccessLevelEx>0</AccessLevelEx>\n    </Node>\n    <Node i:type=\"VariableNode\">\n      <NodeId>\n        <Identifier>ns=1;i=49</Identifier>\n      </NodeId>\n      <NodeClass>Variable_2</NodeClass>\n      <BrowseName>\n        <NamespaceIndex>0</NamespaceIndex>\n        <Name>Age</Name>\n      </BrowseName>\n      <DisplayName>\n        <Locale></Locale>\n        <Text>Age</Text>\n      </DisplayName>\n      <Description i:nil=\"true\" />\n      <WriteMask>0</WriteMask>\n      <UserWriteMask>0</UserWriteMask>\n      <RolePermissions />\n      <UserRolePermissions />\n      <AccessRestrictions>0</AccessRestrictions>\n      <References>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=47</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>true</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=47</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=40</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>i=63</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=37</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>i=78</Identifier>\n          </TargetId>\n        </ReferenceNode>\n      </References>\n      <Value>\n        <Value>\n          <Int32 xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">0</Int32>\n        </Value>\n      </Value>\n      <DataType>\n        <Identifier>i=6</Identifier>\n      </DataType>\n      <ValueRank>-1</ValueRank>\n      <ArrayDimensions />\n      <AccessLevel>1</AccessLevel>\n      <UserAccessLevel>1</UserAccessLevel>\n      <MinimumSamplingInterval>0</MinimumSamplingInterval>\n      <Historizing>false</Historizing>\n      <AccessLevelEx>0</AccessLevelEx>\n    </Node>\n    <Node i:type=\"VariableNode\">\n      <NodeId>\n        <Identifier>ns=1;i=50</Identifier>\n      </NodeId>\n      <NodeClass>Variable_2</NodeClass>\n      <BrowseName>\n        <NamespaceIndex>0</NamespaceIndex>\n        <Name>Gender</Name>\n      </BrowseName>\n      <DisplayName>\n        <Locale></Locale>\n        <Text>Gender</Text>\n      </DisplayName>\n      <Description i:nil=\"true\" />\n      <WriteMask>0</WriteMask>\n      <UserWriteMask>0</UserWriteMask>\n      <RolePermissions />\n      <UserRolePermissions />\n      <AccessRestrictions>0</AccessRestrictions>\n      <References>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=46</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>true</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=47</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=40</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>i=68</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=37</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>i=78</Identifier>\n          </TargetId>\n        </ReferenceNode>\n      </References>\n      <Value>\n        <Value>\n          <Null xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\" />\n        </Value>\n      </Value>\n      <DataType>\n        <Identifier>i=12</Identifier>\n      </DataType>\n      <ValueRank>-1</ValueRank>\n      <ArrayDimensions />\n      <AccessLevel>1</AccessLevel>\n      <UserAccessLevel>1</UserAccessLevel>\n      <MinimumSamplingInterval>0</MinimumSamplingInterval>\n      <Historizing>false</Historizing>\n      <AccessLevelEx>0</AccessLevelEx>\n    </Node>\n    <Node i:type=\"VariableNode\">\n      <NodeId>\n        <Identifier>ns=1;i=61</Identifier>\n      </NodeId>\n      <NodeClass>Variable_2</NodeClass>\n      <BrowseName>\n        <NamespaceIndex>0</NamespaceIndex>\n        <Name>LoadedTricycle</Name>\n      </BrowseName>\n      <DisplayName>\n        <Locale></Locale>\n        <Text>LoadedTricycle</Text>\n      </DisplayName>\n      <Description i:nil=\"true\" />\n      <WriteMask>0</WriteMask>\n      <UserWriteMask>0</UserWriteMask>\n      <RolePermissions />\n      <UserRolePermissions />\n      <AccessRestrictions>0</AccessRestrictions>\n      <References>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=49</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>true</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=9</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=40</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>i=63</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=37</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>i=78</Identifier>\n          </TargetId>\n        </ReferenceNode>\n      </References>\n      <Value>\n        <Value>\n          <Null xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\" />\n        </Value>\n      </Value>\n      <DataType>\n        <Identifier>ns=1;i=3</Identifier>\n      </DataType>\n      <ValueRank>1</ValueRank>\n      <ArrayDimensions>\n        <UInt32>0</UInt32>\n      </ArrayDimensions>\n      <AccessLevel>1</AccessLevel>\n      <UserAccessLevel>1</UserAccessLevel>\n      <MinimumSamplingInterval>0</MinimumSamplingInterval>\n      <Historizing>false</Historizing>\n      <AccessLevelEx>0</AccessLevelEx>\n    </Node>\n  </Nodes>\n</NodeSet>"
  },
  {
    "path": "SemanticData/Tests/USNodeSetValidationUnitTestProject/XMLModels/ProblemsToReport/eoursel510/Opc.Ua.NodeSet2.TriCycleType_V1.1.ModelDesign/Prefix2.NodeSet2.xml",
    "content": "﻿<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<UANodeSet xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\" xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" LastModified=\"2021-04-04T00:00:00+02:00\" xmlns=\"http://opcfoundation.org/UA/2011/03/UANodeSet.xsd\">\n  <NamespaceUris>\n    <Uri>http://tricycletypev1/</Uri>\n  </NamespaceUris>\n  <Models>\n    <Model ModelUri=\"http://tricycletypev1/\" Version=\"\" PublicationDate=\"2021-04-04T00:00:00+02:00\">\n      <RequiredModel ModelUri=\"http://opcfoundation.org/UA/\" Version=\"1.04\" PublicationDate=\"2016-12-31T00:00:00Z\" />\n    </Model>\n  </Models>\n  <Aliases>\n    <Alias Alias=\"Boolean\">i=1</Alias>\n    <Alias Alias=\"SByte\">i=2</Alias>\n    <Alias Alias=\"Byte\">i=3</Alias>\n    <Alias Alias=\"Int16\">i=4</Alias>\n    <Alias Alias=\"UInt16\">i=5</Alias>\n    <Alias Alias=\"Int32\">i=6</Alias>\n    <Alias Alias=\"UInt32\">i=7</Alias>\n    <Alias Alias=\"Int64\">i=8</Alias>\n    <Alias Alias=\"UInt64\">i=9</Alias>\n    <Alias Alias=\"Float\">i=10</Alias>\n    <Alias Alias=\"Double\">i=11</Alias>\n    <Alias Alias=\"DateTime\">i=13</Alias>\n    <Alias Alias=\"String\">i=12</Alias>\n    <Alias Alias=\"ByteString\">i=15</Alias>\n    <Alias Alias=\"Guid\">i=14</Alias>\n    <Alias Alias=\"XmlElement\">i=16</Alias>\n    <Alias Alias=\"NodeId\">i=17</Alias>\n    <Alias Alias=\"ExpandedNodeId\">i=18</Alias>\n    <Alias Alias=\"QualifiedName\">i=20</Alias>\n    <Alias Alias=\"LocalizedText\">i=21</Alias>\n    <Alias Alias=\"StatusCode\">i=19</Alias>\n    <Alias Alias=\"Structure\">i=22</Alias>\n    <Alias Alias=\"Number\">i=26</Alias>\n    <Alias Alias=\"Integer\">i=27</Alias>\n    <Alias Alias=\"UInteger\">i=28</Alias>\n    <Alias Alias=\"HasComponent\">i=47</Alias>\n    <Alias Alias=\"HasProperty\">i=46</Alias>\n    <Alias Alias=\"Organizes\">i=35</Alias>\n    <Alias Alias=\"HasEventSource\">i=36</Alias>\n    <Alias Alias=\"HasNotifier\">i=48</Alias>\n    <Alias Alias=\"HasSubtype\">i=45</Alias>\n    <Alias Alias=\"HasTypeDefinition\">i=40</Alias>\n    <Alias Alias=\"HasModellingRule\">i=37</Alias>\n    <Alias Alias=\"HasEncoding\">i=38</Alias>\n    <Alias Alias=\"HasDescription\">i=39</Alias>\n  </Aliases>\n  <UADataType NodeId=\"ns=1;i=1\" BrowseName=\"1:TireEnum\">\n    <DisplayName>TireEnum</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=2</Reference>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=29</Reference>\n    </References>\n    <Definition Name=\"TireEnum\">\n      <Field Name=\"Mud\" Value=\"0\" />\n      <Field Name=\"Ice\" Value=\"1\" />\n      <Field Name=\"Sand\" Value=\"2\" />\n    </Definition>\n  </UADataType>\n  <UAVariable NodeId=\"ns=1;i=2\" BrowseName=\"EnumStrings\" ParentNodeId=\"ns=1;i=1\" DataType=\"LocalizedText\" ValueRank=\"1\">\n    <DisplayName>EnumStrings</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=1</Reference>\n    </References>\n    <Value>\n      <ListOfLocalizedText xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <LocalizedText>\n          <Locale>\n          </Locale>\n          <Text>Mud</Text>\n        </LocalizedText>\n        <LocalizedText>\n          <Locale>\n          </Locale>\n          <Text>Ice</Text>\n        </LocalizedText>\n        <LocalizedText>\n          <Locale>\n          </Locale>\n          <Text>Sand</Text>\n        </LocalizedText>\n      </ListOfLocalizedText>\n    </Value>\n  </UAVariable>\n  <UADataType NodeId=\"ns=1;i=3\" BrowseName=\"1:TriCycleDataType\">\n    <DisplayName>TriCycleDataType</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=22</Reference>\n    </References>\n    <Definition Name=\"TriCycleDataType\">\n      <Field Name=\"weight\" DataType=\"i=10\" />\n      <Field Name=\"wheel\" DataType=\"ns=1;i=4\" />\n      <Field Name=\"Model\" DataType=\"i=12\" />\n    </Definition>\n  </UADataType>\n  <UADataType NodeId=\"ns=1;i=4\" BrowseName=\"1:WheelDataType\">\n    <DisplayName>WheelDataType</DisplayName>\n    <Description>Wheel datatype.</Description>\n    <References>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=22</Reference>\n    </References>\n    <Definition Name=\"WheelDataType\">\n      <Field Name=\"tickness\" DataType=\"i=10\" />\n      <Field Name=\"diameter\" DataType=\"i=10\" />\n      <Field Name=\"pressure\" DataType=\"i=10\" />\n      <Field Name=\"TireType\" DataType=\"ns=1;i=1\" />\n      <Field Name=\"raysLen\" DataType=\"i=6\" />\n    </Definition>\n  </UADataType>\n  <UAObjectType NodeId=\"ns=1;i=5\" BrowseName=\"1:HumanType\">\n    <DisplayName>HumanType</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=6</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=7</Reference>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=8</Reference>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=58</Reference>\n    </References>\n  </UAObjectType>\n  <UAVariable NodeId=\"ns=1;i=6\" BrowseName=\"Name\" ParentNodeId=\"ns=1;i=5\" DataType=\"String\">\n    <DisplayName>Name</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=63</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=5</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=7\" BrowseName=\"Age\" ParentNodeId=\"ns=1;i=5\" DataType=\"Int32\">\n    <DisplayName>Age</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=63</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=5</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=8\" BrowseName=\"Gender\" ParentNodeId=\"ns=1;i=5\" DataType=\"String\">\n    <DisplayName>Gender</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=5</Reference>\n    </References>\n  </UAVariable>\n  <UAObjectType NodeId=\"ns=1;i=10\" BrowseName=\"1:VehicleType\">\n    <DisplayName>VehicleType</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=46</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=47</Reference>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=58</Reference>\n    </References>\n  </UAObjectType>\n  <UAVariable NodeId=\"ns=1;i=46\" BrowseName=\"buildDate\" ParentNodeId=\"ns=1;i=10\" DataType=\"DateTime\">\n    <DisplayName>buildDate</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=10</Reference>\n    </References>\n  </UAVariable>\n  <UAObject NodeId=\"ns=1;i=47\" BrowseName=\"Owner&gt;\" SymbolicName=\"S_Owner_\" ParentNodeId=\"ns=1;i=10\">\n    <DisplayName>&lt;Owner&gt;</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=48</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=49</Reference>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=50</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">ns=1;i=5</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=10</Reference>\n    </References>\n  </UAObject>\n  <UAVariable NodeId=\"ns=1;i=48\" BrowseName=\"Name\" ParentNodeId=\"ns=1;i=47\" DataType=\"String\">\n    <DisplayName>Name</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=63</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=47</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=49\" BrowseName=\"Age\" ParentNodeId=\"ns=1;i=47\" DataType=\"Int32\">\n    <DisplayName>Age</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=63</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=47</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=50\" BrowseName=\"Gender\" ParentNodeId=\"ns=1;i=47\" DataType=\"String\">\n    <DisplayName>Gender</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=47</Reference>\n    </References>\n  </UAVariable>\n  <UAObjectType NodeId=\"ns=1;i=9\" BrowseName=\"1:TrailerType\">\n    <DisplayName>TrailerType</DisplayName>\n    <References>\n      <Reference ReferenceType=\"i=49\">ns=1;i=61</Reference>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">ns=1;i=10</Reference>\n    </References>\n  </UAObjectType>\n  <UAVariable NodeId=\"ns=1;i=61\" BrowseName=\"LoadedTricycle\" ParentNodeId=\"ns=1;i=9\" DataType=\"ns=1;i=3\" ValueRank=\"1\" ArrayDimensions=\"0\">\n    <DisplayName>LoadedTricycle</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=63</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"i=49\" IsForward=\"false\">ns=1;i=9</Reference>\n    </References>\n  </UAVariable>\n  <UAObjectType NodeId=\"ns=1;i=11\" BrowseName=\"1:TriCycleType\">\n    <DisplayName>TriCycleType</DisplayName>\n    <Description>This a simple Tricycle</Description>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=12</Reference>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=13</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=18</Reference>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">ns=1;i=10</Reference>\n    </References>\n  </UAObjectType>\n  <UAVariable NodeId=\"ns=1;i=12\" BrowseName=\"weight\" ParentNodeId=\"ns=1;i=11\" DataType=\"Float\">\n    <DisplayName>weight</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=11</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=13\" BrowseName=\"wheels\" ParentNodeId=\"ns=1;i=11\" DataType=\"ns=1;i=4\" ValueRank=\"1\" ArrayDimensions=\"3\">\n    <DisplayName>wheels</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=14</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=15</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=16</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=17</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">ns=1;i=19</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=11</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=14\" BrowseName=\"tickness\" ParentNodeId=\"ns=1;i=13\" DataType=\"Float\">\n    <DisplayName>tickness</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=63</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=13</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=15\" BrowseName=\"diameter\" ParentNodeId=\"ns=1;i=13\" DataType=\"Float\">\n    <DisplayName>diameter</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=63</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=13</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=16\" BrowseName=\"pressure\" ParentNodeId=\"ns=1;i=13\" DataType=\"Float\">\n    <DisplayName>pressure</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=63</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=13</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=17\" BrowseName=\"tiretype\" ParentNodeId=\"ns=1;i=13\" DataType=\"ns=1;i=1\">\n    <DisplayName>tiretype</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=63</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=13</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=18\" BrowseName=\"Model\" ParentNodeId=\"ns=1;i=11\" DataType=\"String\">\n    <DisplayName>Model</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=63</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=11</Reference>\n    </References>\n  </UAVariable>\n  <UAVariableType NodeId=\"ns=1;i=19\" BrowseName=\"1:WheelVariableType\" DataType=\"ns=1;i=4\" ValueRank=\"-2\">\n    <DisplayName>WheelVariableType</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=20</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=21</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=22</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=23</Reference>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=63</Reference>\n    </References>\n  </UAVariableType>\n  <UAVariable NodeId=\"ns=1;i=20\" BrowseName=\"tickness\" ParentNodeId=\"ns=1;i=19\" DataType=\"Float\">\n    <DisplayName>tickness</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=63</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=19</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=21\" BrowseName=\"diameter\" ParentNodeId=\"ns=1;i=19\" DataType=\"Float\">\n    <DisplayName>diameter</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=63</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=19</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=22\" BrowseName=\"pressure\" ParentNodeId=\"ns=1;i=19\" DataType=\"Float\">\n    <DisplayName>pressure</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=63</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=19</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=23\" BrowseName=\"tiretype\" ParentNodeId=\"ns=1;i=19\" DataType=\"ns=1;i=1\">\n    <DisplayName>tiretype</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=63</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=19</Reference>\n    </References>\n  </UAVariable>\n  <UAObject NodeId=\"ns=1;i=24\" BrowseName=\"Default XML\" SymbolicName=\"DefaultXml\">\n    <DisplayName>Default XML</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasEncoding\" IsForward=\"false\">ns=1;i=3</Reference>\n      <Reference ReferenceType=\"HasDescription\">ns=1;i=29</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=76</Reference>\n    </References>\n  </UAObject>\n  <UAObject NodeId=\"ns=1;i=25\" BrowseName=\"Default XML\" SymbolicName=\"DefaultXml\">\n    <DisplayName>Default XML</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasEncoding\" IsForward=\"false\">ns=1;i=4</Reference>\n      <Reference ReferenceType=\"HasDescription\">ns=1;i=32</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=76</Reference>\n    </References>\n  </UAObject>\n  <UAVariable NodeId=\"ns=1;i=26\" BrowseName=\"1:Prefix2\" SymbolicName=\"Name2_XmlSchema\" DataType=\"ByteString\">\n    <DisplayName>Prefix2</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=28</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=29</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=32</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=92</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=72</Reference>\n    </References>\n    <Value>\n      <ByteString xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">PHhzOnNjaGVtYQ0KICB4bWxuczp4cz0iaHR0cDovL3d3dy53My5vcmcvMjAwMS9YTUxTY2hlbWEi\nDQogIHhtbG5zOnVhPSJodHRwOi8vb3BjZm91bmRhdGlvbi5vcmcvVUEvMjAwOC8wMi9UeXBlcy54\nc2QiDQogIHhtbG5zOnRucz0iaHR0cDovL3RyaWN5Y2xldHlwZXYxLyINCiAgdGFyZ2V0TmFtZXNw\nYWNlPSJodHRwOi8vdHJpY3ljbGV0eXBldjEvIg0KICBlbGVtZW50Rm9ybURlZmF1bHQ9InF1YWxp\nZmllZCINCj4NCiAgPHhzOmltcG9ydCBuYW1lc3BhY2U9Imh0dHA6Ly9vcGNmb3VuZGF0aW9uLm9y\nZy9VQS8iIC8+DQoNCiAgPHhzOnNpbXBsZVR5cGUgIG5hbWU9IlRpcmVFbnVtIj4NCiAgICA8eHM6\ncmVzdHJpY3Rpb24gYmFzZT0ieHM6c3RyaW5nIj4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1\nZT0iTXVkXzAiIC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IkljZV8xIiAvPg0KICAg\nICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJTYW5kXzIiIC8+DQogICAgPC94czpyZXN0cmljdGlv\nbj4NCiAgPC94czpzaW1wbGVUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJUaXJlRW51bSIgdHlw\nZT0idG5zOlRpcmVFbnVtIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJMaXN0T2ZUaXJl\nRW51bSI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iVGlyZUVu\ndW0iIHR5cGU9InRuczpUaXJlRW51bSIgbWluT2NjdXJzPSIwIiBtYXhPY2N1cnM9InVuYm91bmRl\nZCIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxl\nbWVudCBuYW1lPSJMaXN0T2ZUaXJlRW51bSIgdHlwZT0idG5zOkxpc3RPZlRpcmVFbnVtIiBuaWxs\nYWJsZT0idHJ1ZSI+PC94czplbGVtZW50Pg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJUcmlD\neWNsZURhdGFUeXBlIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1l\nPSJ3ZWlnaHQiIHR5cGU9InhzOmZsb2F0IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxl\nbWVudCBuYW1lPSJ3aGVlbCIgdHlwZT0idG5zOldoZWVsRGF0YVR5cGUiIG1pbk9jY3Vycz0iMCIg\nbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJNb2RlbCIgdHlwZT0i\neHM6c3RyaW5nIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2Vx\ndWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IlRyaUN5Y2xl\nRGF0YVR5cGUiIHR5cGU9InRuczpUcmlDeWNsZURhdGFUeXBlIiAvPg0KDQogIDx4czpjb21wbGV4\nVHlwZSBuYW1lPSJMaXN0T2ZUcmlDeWNsZURhdGFUeXBlIj4NCiAgICA8eHM6c2VxdWVuY2U+DQog\nICAgICA8eHM6ZWxlbWVudCBuYW1lPSJUcmlDeWNsZURhdGFUeXBlIiB0eXBlPSJ0bnM6VHJpQ3lj\nbGVEYXRhVHlwZSIgbWluT2NjdXJzPSIwIiBtYXhPY2N1cnM9InVuYm91bmRlZCIgbmlsbGFibGU9\nInRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhz\nOmVsZW1lbnQgbmFtZT0iTGlzdE9mVHJpQ3ljbGVEYXRhVHlwZSIgdHlwZT0idG5zOkxpc3RPZlRy\naUN5Y2xlRGF0YVR5cGUiIG5pbGxhYmxlPSJ0cnVlIj48L3hzOmVsZW1lbnQ+DQoNCiAgPHhzOmNv\nbXBsZXhUeXBlIG5hbWU9IldoZWVsRGF0YVR5cGUiPg0KICAgIDx4czphbm5vdGF0aW9uPg0KICAg\nICAgPHhzOmRvY3VtZW50YXRpb24+V2hlZWwgZGF0YXR5cGUuPC94czpkb2N1bWVudGF0aW9uPg0K\nICAgIDwveHM6YW5ub3RhdGlvbj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVu\ndCBuYW1lPSJ0aWNrbmVzcyIgdHlwZT0ieHM6ZmxvYXQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAg\nIDx4czplbGVtZW50IG5hbWU9ImRpYW1ldGVyIiB0eXBlPSJ4czpmbG9hdCIgbWluT2NjdXJzPSIw\nIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0icHJlc3N1cmUiIHR5cGU9InhzOmZsb2F0IiBt\naW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJUaXJlVHlwZSIgdHlwZT0i\ndG5zOlRpcmVFbnVtIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJy\nYXlzTGVuIiB0eXBlPSJ4czppbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICA8L3hzOnNlcXVlbmNl\nPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJXaGVlbERhdGFUeXBl\nIiB0eXBlPSJ0bnM6V2hlZWxEYXRhVHlwZSIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0i\nTGlzdE9mV2hlZWxEYXRhVHlwZSI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1l\nbnQgbmFtZT0iV2hlZWxEYXRhVHlwZSIgdHlwZT0idG5zOldoZWVsRGF0YVR5cGUiIG1pbk9jY3Vy\ncz0iMCIgbWF4T2NjdXJzPSJ1bmJvdW5kZWQiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6\nc2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ikxpc3RP\nZldoZWVsRGF0YVR5cGUiIHR5cGU9InRuczpMaXN0T2ZXaGVlbERhdGFUeXBlIiBuaWxsYWJsZT0i\ndHJ1ZSI+PC94czplbGVtZW50Pg0KDQo8L3hzOnNjaGVtYT4=</ByteString>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=28\" BrowseName=\"NamespaceUri\" ParentNodeId=\"ns=1;i=26\" DataType=\"String\">\n    <DisplayName>NamespaceUri</DisplayName>\n    <Description>A URI that uniquely identifies the dictionary.</Description>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=26</Reference>\n    </References>\n    <Value>\n      <String xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">http://tricycletypev1/</String>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=29\" BrowseName=\"1:TriCycleDataType\" ParentNodeId=\"ns=1;i=26\" DataType=\"String\">\n    <DisplayName>TriCycleDataType</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=69</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=26</Reference>\n    </References>\n    <Value>\n      <String xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">//xs:element[@name='TriCycleDataType']</String>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=32\" BrowseName=\"1:WheelDataType\" ParentNodeId=\"ns=1;i=26\" DataType=\"String\">\n    <DisplayName>WheelDataType</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=69</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=26</Reference>\n    </References>\n    <Value>\n      <String xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">//xs:element[@name='WheelDataType']</String>\n    </Value>\n  </UAVariable>\n  <UAObject NodeId=\"ns=1;i=35\" BrowseName=\"Default Binary\" SymbolicName=\"DefaultBinary\">\n    <DisplayName>Default Binary</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasEncoding\" IsForward=\"false\">ns=1;i=3</Reference>\n      <Reference ReferenceType=\"HasDescription\">ns=1;i=40</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=76</Reference>\n    </References>\n  </UAObject>\n  <UAObject NodeId=\"ns=1;i=36\" BrowseName=\"Default Binary\" SymbolicName=\"DefaultBinary\">\n    <DisplayName>Default Binary</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasEncoding\" IsForward=\"false\">ns=1;i=4</Reference>\n      <Reference ReferenceType=\"HasDescription\">ns=1;i=43</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=76</Reference>\n    </References>\n  </UAObject>\n  <UAVariable NodeId=\"ns=1;i=37\" BrowseName=\"1:Prefix2\" SymbolicName=\"Name2_BinarySchema\" DataType=\"ByteString\">\n    <DisplayName>Prefix2</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=39</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=40</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=43</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=93</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=72</Reference>\n    </References>\n    <Value>\n      <ByteString xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">PG9wYzpUeXBlRGljdGlvbmFyeQ0KICB4bWxuczpvcGM9Imh0dHA6Ly9vcGNmb3VuZGF0aW9uLm9y\nZy9CaW5hcnlTY2hlbWEvIg0KICB4bWxuczp4c2k9Imh0dHA6Ly93d3cudzMub3JnLzIwMDEvWE1M\nU2NoZW1hLWluc3RhbmNlIg0KICB4bWxuczp1YT0iaHR0cDovL29wY2ZvdW5kYXRpb24ub3JnL1VB\nLyINCiAgeG1sbnM6dG5zPSJodHRwOi8vdHJpY3ljbGV0eXBldjEvIg0KICBEZWZhdWx0Qnl0ZU9y\nZGVyPSJMaXR0bGVFbmRpYW4iDQogIFRhcmdldE5hbWVzcGFjZT0iaHR0cDovL3RyaWN5Y2xldHlw\nZXYxLyINCj4NCiAgPCEtLSBUaGlzIEZpbGUgd2FzIGdlbmVyYXRlZCBvbiAyMDIxLTAzLTE4IGFu\nZCBzdXBwb3J0cyB0aGUgc3BlY2lmaWNhdGlvbnMgc3VwcG9ydGVkIGJ5IHZlcnNpb24gMS4xMS4z\nMzUuMTAgb2YgdGhlIE9QQyBVQSBkZWxpdmVyYWJsZXMuIC0tPg0KICA8b3BjOkltcG9ydCBOYW1l\nc3BhY2U9Imh0dHA6Ly9vcGNmb3VuZGF0aW9uLm9yZy9VQS8iIExvY2F0aW9uPSJQcmVmaXgwLkJp\nbmFyeVNjaGVtYS5ic2QiLz4NCg0KICA8b3BjOkVudW1lcmF0ZWRUeXBlIE5hbWU9IlRpcmVFbnVt\nIiBMZW5ndGhJbkJpdHM9IjMyIj4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJNdWQi\nIFZhbHVlPSIwIiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IkljZSIgVmFsdWU9\nIjEiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iU2FuZCIgVmFsdWU9IjIiIC8+\nDQogIDwvb3BjOkVudW1lcmF0ZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0i\nVHJpQ3ljbGVEYXRhVHlwZSIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9w\nYzpGaWVsZCBOYW1lPSJ3ZWlnaHQiIFR5cGVOYW1lPSJvcGM6RmxvYXQiIC8+DQogICAgPG9wYzpG\naWVsZCBOYW1lPSJ3aGVlbCIgVHlwZU5hbWU9InRuczpXaGVlbERhdGFUeXBlIiAvPg0KICAgIDxv\ncGM6RmllbGQgTmFtZT0iTW9kZWwiIFR5cGVOYW1lPSJvcGM6U3RyaW5nIiAvPg0KICA8L29wYzpT\ndHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IldoZWVsRGF0YVR5\ncGUiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RG9jdW1lbnRhdGlv\nbj5XaGVlbCBkYXRhdHlwZS48L29wYzpEb2N1bWVudGF0aW9uPg0KICAgIDxvcGM6RmllbGQgTmFt\nZT0idGlja25lc3MiIFR5cGVOYW1lPSJvcGM6RmxvYXQiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1l\nPSJkaWFtZXRlciIgVHlwZU5hbWU9Im9wYzpGbG9hdCIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9\nInByZXNzdXJlIiBUeXBlTmFtZT0ib3BjOkZsb2F0IiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0i\nVGlyZVR5cGUiIFR5cGVOYW1lPSJ0bnM6VGlyZUVudW0iIC8+DQogICAgPG9wYzpGaWVsZCBOYW1l\nPSJyYXlzTGVuIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlw\nZT4NCg0KPC9vcGM6VHlwZURpY3Rpb25hcnk+</ByteString>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=39\" BrowseName=\"NamespaceUri\" ParentNodeId=\"ns=1;i=37\" DataType=\"String\">\n    <DisplayName>NamespaceUri</DisplayName>\n    <Description>A URI that uniquely identifies the dictionary.</Description>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=37</Reference>\n    </References>\n    <Value>\n      <String xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">http://tricycletypev1/</String>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=40\" BrowseName=\"1:TriCycleDataType\" ParentNodeId=\"ns=1;i=37\" DataType=\"String\">\n    <DisplayName>TriCycleDataType</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=69</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=37</Reference>\n    </References>\n    <Value>\n      <String xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">TriCycleDataType</String>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=43\" BrowseName=\"1:WheelDataType\" ParentNodeId=\"ns=1;i=37\" DataType=\"String\">\n    <DisplayName>WheelDataType</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=69</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=37</Reference>\n    </References>\n    <Value>\n      <String xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">WheelDataType</String>\n    </Value>\n  </UAVariable>\n</UANodeSet>"
  },
  {
    "path": "SemanticData/Tests/USNodeSetValidationUnitTestProject/XMLModels/ProblemsToReport/eoursel510/Opc.Ua.NodeSet2.TriCycleType_V1.1.ModelDesign/Prefix2.PredefinedNodes.xml",
    "content": "﻿<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<uax:ListOfNodeState xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xmlns:uax=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n  <uax:NamespaceUris>\n    <uax:NamespaceUri>http://tricycletypev1/</uax:NamespaceUri>\n  </uax:NamespaceUris>\n  <TireEnum xmlns=\"http://tricycletypev1/\">\n    <uax:NodeClass>DataType_64</uax:NodeClass>\n    <uax:NodeId>\n      <uax:Identifier>ns=1;i=1</uax:Identifier>\n    </uax:NodeId>\n    <uax:BrowseName>\n      <uax:NamespaceIndex>1</uax:NamespaceIndex>\n      <uax:Name>TireEnum</uax:Name>\n    </uax:BrowseName>\n    <uax:SuperTypeId>\n      <uax:Identifier>i=29</uax:Identifier>\n    </uax:SuperTypeId>\n    <EnumStrings xmlns=\"http://opcfoundation.org/UA/\">\n      <uax:NodeClass>Variable_2</uax:NodeClass>\n      <uax:NodeId>\n        <uax:Identifier>ns=1;i=2</uax:Identifier>\n      </uax:NodeId>\n      <uax:BrowseName>\n        <uax:NamespaceIndex>0</uax:NamespaceIndex>\n        <uax:Name>EnumStrings</uax:Name>\n      </uax:BrowseName>\n      <uax:ReferenceTypeId>\n        <uax:Identifier>i=46</uax:Identifier>\n      </uax:ReferenceTypeId>\n      <uax:TypeDefinitionId>\n        <uax:Identifier>i=68</uax:Identifier>\n      </uax:TypeDefinitionId>\n      <uax:ModellingRuleId>\n        <uax:Identifier>i=78</uax:Identifier>\n      </uax:ModellingRuleId>\n      <uax:NumericId>2</uax:NumericId>\n      <uax:Value>\n        <uax:Value>\n          <uax:ListOfLocalizedText>\n            <uax:LocalizedText>\n              <uax:Locale></uax:Locale>\n              <uax:Text>Mud</uax:Text>\n            </uax:LocalizedText>\n            <uax:LocalizedText>\n              <uax:Locale></uax:Locale>\n              <uax:Text>Ice</uax:Text>\n            </uax:LocalizedText>\n            <uax:LocalizedText>\n              <uax:Locale></uax:Locale>\n              <uax:Text>Sand</uax:Text>\n            </uax:LocalizedText>\n          </uax:ListOfLocalizedText>\n        </uax:Value>\n      </uax:Value>\n      <uax:DataType>\n        <uax:Identifier>i=21</uax:Identifier>\n      </uax:DataType>\n      <uax:ValueRank>1</uax:ValueRank>\n      <uax:AccessLevel>1</uax:AccessLevel>\n      <uax:UserAccessLevel>1</uax:UserAccessLevel>\n    </EnumStrings>\n  </TireEnum>\n  <TriCycleDataType xmlns=\"http://tricycletypev1/\">\n    <uax:NodeClass>DataType_64</uax:NodeClass>\n    <uax:NodeId>\n      <uax:Identifier>ns=1;i=3</uax:Identifier>\n    </uax:NodeId>\n    <uax:BrowseName>\n      <uax:NamespaceIndex>1</uax:NamespaceIndex>\n      <uax:Name>TriCycleDataType</uax:Name>\n    </uax:BrowseName>\n    <uax:SuperTypeId>\n      <uax:Identifier>i=22</uax:Identifier>\n    </uax:SuperTypeId>\n  </TriCycleDataType>\n  <WheelDataType xmlns=\"http://tricycletypev1/\">\n    <uax:NodeClass>DataType_64</uax:NodeClass>\n    <uax:NodeId>\n      <uax:Identifier>ns=1;i=4</uax:Identifier>\n    </uax:NodeId>\n    <uax:BrowseName>\n      <uax:NamespaceIndex>1</uax:NamespaceIndex>\n      <uax:Name>WheelDataType</uax:Name>\n    </uax:BrowseName>\n    <uax:Description>\n      <uax:Locale></uax:Locale>\n      <uax:Text>Wheel datatype.</uax:Text>\n    </uax:Description>\n    <uax:SuperTypeId>\n      <uax:Identifier>i=22</uax:Identifier>\n    </uax:SuperTypeId>\n  </WheelDataType>\n  <HumanType xmlns=\"http://tricycletypev1/\">\n    <uax:NodeClass>ObjectType_8</uax:NodeClass>\n    <uax:NodeId>\n      <uax:Identifier>ns=1;i=5</uax:Identifier>\n    </uax:NodeId>\n    <uax:BrowseName>\n      <uax:NamespaceIndex>1</uax:NamespaceIndex>\n      <uax:Name>HumanType</uax:Name>\n    </uax:BrowseName>\n    <uax:SuperTypeId>\n      <uax:Identifier>i=58</uax:Identifier>\n    </uax:SuperTypeId>\n    <Name xmlns=\"http://opcfoundation.org/UA/\">\n      <uax:NodeClass>Variable_2</uax:NodeClass>\n      <uax:NodeId>\n        <uax:Identifier>ns=1;i=6</uax:Identifier>\n      </uax:NodeId>\n      <uax:BrowseName>\n        <uax:NamespaceIndex>0</uax:NamespaceIndex>\n        <uax:Name>Name</uax:Name>\n      </uax:BrowseName>\n      <uax:ReferenceTypeId>\n        <uax:Identifier>i=47</uax:Identifier>\n      </uax:ReferenceTypeId>\n      <uax:TypeDefinitionId>\n        <uax:Identifier>i=63</uax:Identifier>\n      </uax:TypeDefinitionId>\n      <uax:ModellingRuleId>\n        <uax:Identifier>i=78</uax:Identifier>\n      </uax:ModellingRuleId>\n      <uax:NumericId>6</uax:NumericId>\n      <uax:DataType>\n        <uax:Identifier>i=12</uax:Identifier>\n      </uax:DataType>\n      <uax:ValueRank>-1</uax:ValueRank>\n      <uax:AccessLevel>1</uax:AccessLevel>\n      <uax:UserAccessLevel>1</uax:UserAccessLevel>\n    </Name>\n    <Age xmlns=\"http://opcfoundation.org/UA/\">\n      <uax:NodeClass>Variable_2</uax:NodeClass>\n      <uax:NodeId>\n        <uax:Identifier>ns=1;i=7</uax:Identifier>\n      </uax:NodeId>\n      <uax:BrowseName>\n        <uax:NamespaceIndex>0</uax:NamespaceIndex>\n        <uax:Name>Age</uax:Name>\n      </uax:BrowseName>\n      <uax:ReferenceTypeId>\n        <uax:Identifier>i=47</uax:Identifier>\n      </uax:ReferenceTypeId>\n      <uax:TypeDefinitionId>\n        <uax:Identifier>i=63</uax:Identifier>\n      </uax:TypeDefinitionId>\n      <uax:ModellingRuleId>\n        <uax:Identifier>i=78</uax:Identifier>\n      </uax:ModellingRuleId>\n      <uax:NumericId>7</uax:NumericId>\n      <uax:DataType>\n        <uax:Identifier>i=6</uax:Identifier>\n      </uax:DataType>\n      <uax:ValueRank>-1</uax:ValueRank>\n      <uax:AccessLevel>1</uax:AccessLevel>\n      <uax:UserAccessLevel>1</uax:UserAccessLevel>\n    </Age>\n    <Gender xmlns=\"http://opcfoundation.org/UA/\">\n      <uax:NodeClass>Variable_2</uax:NodeClass>\n      <uax:NodeId>\n        <uax:Identifier>ns=1;i=8</uax:Identifier>\n      </uax:NodeId>\n      <uax:BrowseName>\n        <uax:NamespaceIndex>0</uax:NamespaceIndex>\n        <uax:Name>Gender</uax:Name>\n      </uax:BrowseName>\n      <uax:ReferenceTypeId>\n        <uax:Identifier>i=46</uax:Identifier>\n      </uax:ReferenceTypeId>\n      <uax:TypeDefinitionId>\n        <uax:Identifier>i=68</uax:Identifier>\n      </uax:TypeDefinitionId>\n      <uax:ModellingRuleId>\n        <uax:Identifier>i=78</uax:Identifier>\n      </uax:ModellingRuleId>\n      <uax:NumericId>8</uax:NumericId>\n      <uax:DataType>\n        <uax:Identifier>i=12</uax:Identifier>\n      </uax:DataType>\n      <uax:ValueRank>-1</uax:ValueRank>\n      <uax:AccessLevel>1</uax:AccessLevel>\n      <uax:UserAccessLevel>1</uax:UserAccessLevel>\n    </Gender>\n  </HumanType>\n  <VehicleType xmlns=\"http://tricycletypev1/\">\n    <uax:NodeClass>ObjectType_8</uax:NodeClass>\n    <uax:NodeId>\n      <uax:Identifier>ns=1;i=10</uax:Identifier>\n    </uax:NodeId>\n    <uax:BrowseName>\n      <uax:NamespaceIndex>1</uax:NamespaceIndex>\n      <uax:Name>VehicleType</uax:Name>\n    </uax:BrowseName>\n    <uax:SuperTypeId>\n      <uax:Identifier>i=58</uax:Identifier>\n    </uax:SuperTypeId>\n    <buildDate xmlns=\"http://opcfoundation.org/UA/\">\n      <uax:NodeClass>Variable_2</uax:NodeClass>\n      <uax:NodeId>\n        <uax:Identifier>ns=1;i=46</uax:Identifier>\n      </uax:NodeId>\n      <uax:BrowseName>\n        <uax:NamespaceIndex>0</uax:NamespaceIndex>\n        <uax:Name>buildDate</uax:Name>\n      </uax:BrowseName>\n      <uax:ReferenceTypeId>\n        <uax:Identifier>i=46</uax:Identifier>\n      </uax:ReferenceTypeId>\n      <uax:TypeDefinitionId>\n        <uax:Identifier>i=68</uax:Identifier>\n      </uax:TypeDefinitionId>\n      <uax:ModellingRuleId>\n        <uax:Identifier>i=78</uax:Identifier>\n      </uax:ModellingRuleId>\n      <uax:NumericId>46</uax:NumericId>\n      <uax:DataType>\n        <uax:Identifier>i=13</uax:Identifier>\n      </uax:DataType>\n      <uax:ValueRank>-1</uax:ValueRank>\n      <uax:AccessLevel>1</uax:AccessLevel>\n      <uax:UserAccessLevel>1</uax:UserAccessLevel>\n    </buildDate>\n    <S_Owner_ xmlns=\"http://opcfoundation.org/UA/\">\n      <uax:NodeClass>Object_1</uax:NodeClass>\n      <uax:NodeId>\n        <uax:Identifier>ns=1;i=47</uax:Identifier>\n      </uax:NodeId>\n      <uax:BrowseName>\n        <uax:NamespaceIndex>0</uax:NamespaceIndex>\n        <uax:Name>Owner&gt;</uax:Name>\n      </uax:BrowseName>\n      <uax:DisplayName>\n        <uax:Locale></uax:Locale>\n        <uax:Text>&lt;Owner&gt;</uax:Text>\n      </uax:DisplayName>\n      <uax:ReferenceTypeId>\n        <uax:Identifier>i=47</uax:Identifier>\n      </uax:ReferenceTypeId>\n      <uax:TypeDefinitionId>\n        <uax:Identifier>ns=1;i=5</uax:Identifier>\n      </uax:TypeDefinitionId>\n      <uax:ModellingRuleId>\n        <uax:Identifier>i=78</uax:Identifier>\n      </uax:ModellingRuleId>\n      <uax:NumericId>47</uax:NumericId>\n      <Name>\n        <uax:NodeClass>Variable_2</uax:NodeClass>\n        <uax:NodeId>\n          <uax:Identifier>ns=1;i=48</uax:Identifier>\n        </uax:NodeId>\n        <uax:BrowseName>\n          <uax:NamespaceIndex>0</uax:NamespaceIndex>\n          <uax:Name>Name</uax:Name>\n        </uax:BrowseName>\n        <uax:ReferenceTypeId>\n          <uax:Identifier>i=47</uax:Identifier>\n        </uax:ReferenceTypeId>\n        <uax:TypeDefinitionId>\n          <uax:Identifier>i=63</uax:Identifier>\n        </uax:TypeDefinitionId>\n        <uax:ModellingRuleId>\n          <uax:Identifier>i=78</uax:Identifier>\n        </uax:ModellingRuleId>\n        <uax:NumericId>48</uax:NumericId>\n        <uax:DataType>\n          <uax:Identifier>i=12</uax:Identifier>\n        </uax:DataType>\n        <uax:ValueRank>-1</uax:ValueRank>\n        <uax:AccessLevel>1</uax:AccessLevel>\n        <uax:UserAccessLevel>1</uax:UserAccessLevel>\n      </Name>\n      <Age>\n        <uax:NodeClass>Variable_2</uax:NodeClass>\n        <uax:NodeId>\n          <uax:Identifier>ns=1;i=49</uax:Identifier>\n        </uax:NodeId>\n        <uax:BrowseName>\n          <uax:NamespaceIndex>0</uax:NamespaceIndex>\n          <uax:Name>Age</uax:Name>\n        </uax:BrowseName>\n        <uax:ReferenceTypeId>\n          <uax:Identifier>i=47</uax:Identifier>\n        </uax:ReferenceTypeId>\n        <uax:TypeDefinitionId>\n          <uax:Identifier>i=63</uax:Identifier>\n        </uax:TypeDefinitionId>\n        <uax:ModellingRuleId>\n          <uax:Identifier>i=78</uax:Identifier>\n        </uax:ModellingRuleId>\n        <uax:NumericId>49</uax:NumericId>\n        <uax:DataType>\n          <uax:Identifier>i=6</uax:Identifier>\n        </uax:DataType>\n        <uax:ValueRank>-1</uax:ValueRank>\n        <uax:AccessLevel>1</uax:AccessLevel>\n        <uax:UserAccessLevel>1</uax:UserAccessLevel>\n      </Age>\n      <Gender>\n        <uax:NodeClass>Variable_2</uax:NodeClass>\n        <uax:NodeId>\n          <uax:Identifier>ns=1;i=50</uax:Identifier>\n        </uax:NodeId>\n        <uax:BrowseName>\n          <uax:NamespaceIndex>0</uax:NamespaceIndex>\n          <uax:Name>Gender</uax:Name>\n        </uax:BrowseName>\n        <uax:ReferenceTypeId>\n          <uax:Identifier>i=46</uax:Identifier>\n        </uax:ReferenceTypeId>\n        <uax:TypeDefinitionId>\n          <uax:Identifier>i=68</uax:Identifier>\n        </uax:TypeDefinitionId>\n        <uax:ModellingRuleId>\n          <uax:Identifier>i=78</uax:Identifier>\n        </uax:ModellingRuleId>\n        <uax:NumericId>50</uax:NumericId>\n        <uax:DataType>\n          <uax:Identifier>i=12</uax:Identifier>\n        </uax:DataType>\n        <uax:ValueRank>-1</uax:ValueRank>\n        <uax:AccessLevel>1</uax:AccessLevel>\n        <uax:UserAccessLevel>1</uax:UserAccessLevel>\n      </Gender>\n    </S_Owner_>\n  </VehicleType>\n  <TrailerType xmlns=\"http://tricycletypev1/\">\n    <uax:NodeClass>ObjectType_8</uax:NodeClass>\n    <uax:NodeId>\n      <uax:Identifier>ns=1;i=9</uax:Identifier>\n    </uax:NodeId>\n    <uax:BrowseName>\n      <uax:NamespaceIndex>1</uax:NamespaceIndex>\n      <uax:Name>TrailerType</uax:Name>\n    </uax:BrowseName>\n    <uax:SuperTypeId>\n      <uax:Identifier>ns=1;i=10</uax:Identifier>\n    </uax:SuperTypeId>\n    <LoadedTricycle xmlns=\"http://opcfoundation.org/UA/\">\n      <uax:NodeClass>Variable_2</uax:NodeClass>\n      <uax:NodeId>\n        <uax:Identifier>ns=1;i=61</uax:Identifier>\n      </uax:NodeId>\n      <uax:BrowseName>\n        <uax:NamespaceIndex>0</uax:NamespaceIndex>\n        <uax:Name>LoadedTricycle</uax:Name>\n      </uax:BrowseName>\n      <uax:ReferenceTypeId>\n        <uax:Identifier>i=49</uax:Identifier>\n      </uax:ReferenceTypeId>\n      <uax:TypeDefinitionId>\n        <uax:Identifier>i=63</uax:Identifier>\n      </uax:TypeDefinitionId>\n      <uax:ModellingRuleId>\n        <uax:Identifier>i=78</uax:Identifier>\n      </uax:ModellingRuleId>\n      <uax:NumericId>61</uax:NumericId>\n      <uax:DataType>\n        <uax:Identifier>ns=1;i=3</uax:Identifier>\n      </uax:DataType>\n      <uax:ValueRank>1</uax:ValueRank>\n      <uax:ArrayDimensions>0</uax:ArrayDimensions>\n      <uax:AccessLevel>1</uax:AccessLevel>\n      <uax:UserAccessLevel>1</uax:UserAccessLevel>\n    </LoadedTricycle>\n  </TrailerType>\n  <TriCycleType xmlns=\"http://tricycletypev1/\">\n    <uax:NodeClass>ObjectType_8</uax:NodeClass>\n    <uax:NodeId>\n      <uax:Identifier>ns=1;i=11</uax:Identifier>\n    </uax:NodeId>\n    <uax:BrowseName>\n      <uax:NamespaceIndex>1</uax:NamespaceIndex>\n      <uax:Name>TriCycleType</uax:Name>\n    </uax:BrowseName>\n    <uax:Description>\n      <uax:Locale></uax:Locale>\n      <uax:Text>This a simple Tricycle</uax:Text>\n    </uax:Description>\n    <uax:SuperTypeId>\n      <uax:Identifier>ns=1;i=10</uax:Identifier>\n    </uax:SuperTypeId>\n    <weight xmlns=\"http://opcfoundation.org/UA/\">\n      <uax:NodeClass>Variable_2</uax:NodeClass>\n      <uax:NodeId>\n        <uax:Identifier>ns=1;i=12</uax:Identifier>\n      </uax:NodeId>\n      <uax:BrowseName>\n        <uax:NamespaceIndex>0</uax:NamespaceIndex>\n        <uax:Name>weight</uax:Name>\n      </uax:BrowseName>\n      <uax:ReferenceTypeId>\n        <uax:Identifier>i=46</uax:Identifier>\n      </uax:ReferenceTypeId>\n      <uax:TypeDefinitionId>\n        <uax:Identifier>i=68</uax:Identifier>\n      </uax:TypeDefinitionId>\n      <uax:ModellingRuleId>\n        <uax:Identifier>i=78</uax:Identifier>\n      </uax:ModellingRuleId>\n      <uax:NumericId>12</uax:NumericId>\n      <uax:DataType>\n        <uax:Identifier>i=10</uax:Identifier>\n      </uax:DataType>\n      <uax:ValueRank>-1</uax:ValueRank>\n      <uax:AccessLevel>1</uax:AccessLevel>\n      <uax:UserAccessLevel>1</uax:UserAccessLevel>\n    </weight>\n    <wheels xmlns=\"http://opcfoundation.org/UA/\">\n      <uax:NodeClass>Variable_2</uax:NodeClass>\n      <uax:NodeId>\n        <uax:Identifier>ns=1;i=13</uax:Identifier>\n      </uax:NodeId>\n      <uax:BrowseName>\n        <uax:NamespaceIndex>0</uax:NamespaceIndex>\n        <uax:Name>wheels</uax:Name>\n      </uax:BrowseName>\n      <uax:ReferenceTypeId>\n        <uax:Identifier>i=46</uax:Identifier>\n      </uax:ReferenceTypeId>\n      <uax:TypeDefinitionId>\n        <uax:Identifier>ns=1;i=19</uax:Identifier>\n      </uax:TypeDefinitionId>\n      <uax:ModellingRuleId>\n        <uax:Identifier>i=78</uax:Identifier>\n      </uax:ModellingRuleId>\n      <uax:NumericId>13</uax:NumericId>\n      <uax:DataType>\n        <uax:Identifier>ns=1;i=4</uax:Identifier>\n      </uax:DataType>\n      <uax:ValueRank>1</uax:ValueRank>\n      <uax:ArrayDimensions>3</uax:ArrayDimensions>\n      <uax:AccessLevel>1</uax:AccessLevel>\n      <uax:UserAccessLevel>1</uax:UserAccessLevel>\n      <tickness>\n        <uax:NodeClass>Variable_2</uax:NodeClass>\n        <uax:NodeId>\n          <uax:Identifier>ns=1;i=14</uax:Identifier>\n        </uax:NodeId>\n        <uax:BrowseName>\n          <uax:NamespaceIndex>0</uax:NamespaceIndex>\n          <uax:Name>tickness</uax:Name>\n        </uax:BrowseName>\n        <uax:ReferenceTypeId>\n          <uax:Identifier>i=47</uax:Identifier>\n        </uax:ReferenceTypeId>\n        <uax:TypeDefinitionId>\n          <uax:Identifier>i=63</uax:Identifier>\n        </uax:TypeDefinitionId>\n        <uax:ModellingRuleId>\n          <uax:Identifier>i=78</uax:Identifier>\n        </uax:ModellingRuleId>\n        <uax:NumericId>14</uax:NumericId>\n        <uax:DataType>\n          <uax:Identifier>i=10</uax:Identifier>\n        </uax:DataType>\n        <uax:ValueRank>-1</uax:ValueRank>\n        <uax:AccessLevel>1</uax:AccessLevel>\n        <uax:UserAccessLevel>1</uax:UserAccessLevel>\n      </tickness>\n      <diameter>\n        <uax:NodeClass>Variable_2</uax:NodeClass>\n        <uax:NodeId>\n          <uax:Identifier>ns=1;i=15</uax:Identifier>\n        </uax:NodeId>\n        <uax:BrowseName>\n          <uax:NamespaceIndex>0</uax:NamespaceIndex>\n          <uax:Name>diameter</uax:Name>\n        </uax:BrowseName>\n        <uax:ReferenceTypeId>\n          <uax:Identifier>i=47</uax:Identifier>\n        </uax:ReferenceTypeId>\n        <uax:TypeDefinitionId>\n          <uax:Identifier>i=63</uax:Identifier>\n        </uax:TypeDefinitionId>\n        <uax:ModellingRuleId>\n          <uax:Identifier>i=78</uax:Identifier>\n        </uax:ModellingRuleId>\n        <uax:NumericId>15</uax:NumericId>\n        <uax:DataType>\n          <uax:Identifier>i=10</uax:Identifier>\n        </uax:DataType>\n        <uax:ValueRank>-1</uax:ValueRank>\n        <uax:AccessLevel>1</uax:AccessLevel>\n        <uax:UserAccessLevel>1</uax:UserAccessLevel>\n      </diameter>\n      <pressure>\n        <uax:NodeClass>Variable_2</uax:NodeClass>\n        <uax:NodeId>\n          <uax:Identifier>ns=1;i=16</uax:Identifier>\n        </uax:NodeId>\n        <uax:BrowseName>\n          <uax:NamespaceIndex>0</uax:NamespaceIndex>\n          <uax:Name>pressure</uax:Name>\n        </uax:BrowseName>\n        <uax:ReferenceTypeId>\n          <uax:Identifier>i=47</uax:Identifier>\n        </uax:ReferenceTypeId>\n        <uax:TypeDefinitionId>\n          <uax:Identifier>i=63</uax:Identifier>\n        </uax:TypeDefinitionId>\n        <uax:ModellingRuleId>\n          <uax:Identifier>i=78</uax:Identifier>\n        </uax:ModellingRuleId>\n        <uax:NumericId>16</uax:NumericId>\n        <uax:DataType>\n          <uax:Identifier>i=10</uax:Identifier>\n        </uax:DataType>\n        <uax:ValueRank>-1</uax:ValueRank>\n        <uax:AccessLevel>1</uax:AccessLevel>\n        <uax:UserAccessLevel>1</uax:UserAccessLevel>\n      </pressure>\n      <tiretype>\n        <uax:NodeClass>Variable_2</uax:NodeClass>\n        <uax:NodeId>\n          <uax:Identifier>ns=1;i=17</uax:Identifier>\n        </uax:NodeId>\n        <uax:BrowseName>\n          <uax:NamespaceIndex>0</uax:NamespaceIndex>\n          <uax:Name>tiretype</uax:Name>\n        </uax:BrowseName>\n        <uax:ReferenceTypeId>\n          <uax:Identifier>i=47</uax:Identifier>\n        </uax:ReferenceTypeId>\n        <uax:TypeDefinitionId>\n          <uax:Identifier>i=63</uax:Identifier>\n        </uax:TypeDefinitionId>\n        <uax:ModellingRuleId>\n          <uax:Identifier>i=78</uax:Identifier>\n        </uax:ModellingRuleId>\n        <uax:NumericId>17</uax:NumericId>\n        <uax:DataType>\n          <uax:Identifier>ns=1;i=1</uax:Identifier>\n        </uax:DataType>\n        <uax:ValueRank>-1</uax:ValueRank>\n        <uax:AccessLevel>1</uax:AccessLevel>\n        <uax:UserAccessLevel>1</uax:UserAccessLevel>\n      </tiretype>\n    </wheels>\n    <Model xmlns=\"http://opcfoundation.org/UA/\">\n      <uax:NodeClass>Variable_2</uax:NodeClass>\n      <uax:NodeId>\n        <uax:Identifier>ns=1;i=18</uax:Identifier>\n      </uax:NodeId>\n      <uax:BrowseName>\n        <uax:NamespaceIndex>0</uax:NamespaceIndex>\n        <uax:Name>Model</uax:Name>\n      </uax:BrowseName>\n      <uax:ReferenceTypeId>\n        <uax:Identifier>i=47</uax:Identifier>\n      </uax:ReferenceTypeId>\n      <uax:TypeDefinitionId>\n        <uax:Identifier>i=63</uax:Identifier>\n      </uax:TypeDefinitionId>\n      <uax:ModellingRuleId>\n        <uax:Identifier>i=78</uax:Identifier>\n      </uax:ModellingRuleId>\n      <uax:NumericId>18</uax:NumericId>\n      <uax:DataType>\n        <uax:Identifier>i=12</uax:Identifier>\n      </uax:DataType>\n      <uax:ValueRank>-1</uax:ValueRank>\n      <uax:AccessLevel>1</uax:AccessLevel>\n      <uax:UserAccessLevel>1</uax:UserAccessLevel>\n    </Model>\n  </TriCycleType>\n  <WheelVariableType xmlns=\"http://tricycletypev1/\">\n    <uax:NodeClass>VariableType_16</uax:NodeClass>\n    <uax:NodeId>\n      <uax:Identifier>ns=1;i=19</uax:Identifier>\n    </uax:NodeId>\n    <uax:BrowseName>\n      <uax:NamespaceIndex>1</uax:NamespaceIndex>\n      <uax:Name>WheelVariableType</uax:Name>\n    </uax:BrowseName>\n    <uax:SuperTypeId>\n      <uax:Identifier>i=63</uax:Identifier>\n    </uax:SuperTypeId>\n    <uax:DataType>\n      <uax:Identifier>ns=1;i=4</uax:Identifier>\n    </uax:DataType>\n    <tickness xmlns=\"http://opcfoundation.org/UA/\">\n      <uax:NodeClass>Variable_2</uax:NodeClass>\n      <uax:NodeId>\n        <uax:Identifier>ns=1;i=20</uax:Identifier>\n      </uax:NodeId>\n      <uax:BrowseName>\n        <uax:NamespaceIndex>0</uax:NamespaceIndex>\n        <uax:Name>tickness</uax:Name>\n      </uax:BrowseName>\n      <uax:ReferenceTypeId>\n        <uax:Identifier>i=47</uax:Identifier>\n      </uax:ReferenceTypeId>\n      <uax:TypeDefinitionId>\n        <uax:Identifier>i=63</uax:Identifier>\n      </uax:TypeDefinitionId>\n      <uax:ModellingRuleId>\n        <uax:Identifier>i=78</uax:Identifier>\n      </uax:ModellingRuleId>\n      <uax:NumericId>20</uax:NumericId>\n      <uax:DataType>\n        <uax:Identifier>i=10</uax:Identifier>\n      </uax:DataType>\n      <uax:ValueRank>-1</uax:ValueRank>\n      <uax:AccessLevel>1</uax:AccessLevel>\n      <uax:UserAccessLevel>1</uax:UserAccessLevel>\n    </tickness>\n    <diameter xmlns=\"http://opcfoundation.org/UA/\">\n      <uax:NodeClass>Variable_2</uax:NodeClass>\n      <uax:NodeId>\n        <uax:Identifier>ns=1;i=21</uax:Identifier>\n      </uax:NodeId>\n      <uax:BrowseName>\n        <uax:NamespaceIndex>0</uax:NamespaceIndex>\n        <uax:Name>diameter</uax:Name>\n      </uax:BrowseName>\n      <uax:ReferenceTypeId>\n        <uax:Identifier>i=47</uax:Identifier>\n      </uax:ReferenceTypeId>\n      <uax:TypeDefinitionId>\n        <uax:Identifier>i=63</uax:Identifier>\n      </uax:TypeDefinitionId>\n      <uax:ModellingRuleId>\n        <uax:Identifier>i=78</uax:Identifier>\n      </uax:ModellingRuleId>\n      <uax:NumericId>21</uax:NumericId>\n      <uax:DataType>\n        <uax:Identifier>i=10</uax:Identifier>\n      </uax:DataType>\n      <uax:ValueRank>-1</uax:ValueRank>\n      <uax:AccessLevel>1</uax:AccessLevel>\n      <uax:UserAccessLevel>1</uax:UserAccessLevel>\n    </diameter>\n    <pressure xmlns=\"http://opcfoundation.org/UA/\">\n      <uax:NodeClass>Variable_2</uax:NodeClass>\n      <uax:NodeId>\n        <uax:Identifier>ns=1;i=22</uax:Identifier>\n      </uax:NodeId>\n      <uax:BrowseName>\n        <uax:NamespaceIndex>0</uax:NamespaceIndex>\n        <uax:Name>pressure</uax:Name>\n      </uax:BrowseName>\n      <uax:ReferenceTypeId>\n        <uax:Identifier>i=47</uax:Identifier>\n      </uax:ReferenceTypeId>\n      <uax:TypeDefinitionId>\n        <uax:Identifier>i=63</uax:Identifier>\n      </uax:TypeDefinitionId>\n      <uax:ModellingRuleId>\n        <uax:Identifier>i=78</uax:Identifier>\n      </uax:ModellingRuleId>\n      <uax:NumericId>22</uax:NumericId>\n      <uax:DataType>\n        <uax:Identifier>i=10</uax:Identifier>\n      </uax:DataType>\n      <uax:ValueRank>-1</uax:ValueRank>\n      <uax:AccessLevel>1</uax:AccessLevel>\n      <uax:UserAccessLevel>1</uax:UserAccessLevel>\n    </pressure>\n    <tiretype xmlns=\"http://opcfoundation.org/UA/\">\n      <uax:NodeClass>Variable_2</uax:NodeClass>\n      <uax:NodeId>\n        <uax:Identifier>ns=1;i=23</uax:Identifier>\n      </uax:NodeId>\n      <uax:BrowseName>\n        <uax:NamespaceIndex>0</uax:NamespaceIndex>\n        <uax:Name>tiretype</uax:Name>\n      </uax:BrowseName>\n      <uax:ReferenceTypeId>\n        <uax:Identifier>i=47</uax:Identifier>\n      </uax:ReferenceTypeId>\n      <uax:TypeDefinitionId>\n        <uax:Identifier>i=63</uax:Identifier>\n      </uax:TypeDefinitionId>\n      <uax:ModellingRuleId>\n        <uax:Identifier>i=78</uax:Identifier>\n      </uax:ModellingRuleId>\n      <uax:NumericId>23</uax:NumericId>\n      <uax:DataType>\n        <uax:Identifier>ns=1;i=1</uax:Identifier>\n      </uax:DataType>\n      <uax:ValueRank>-1</uax:ValueRank>\n      <uax:AccessLevel>1</uax:AccessLevel>\n      <uax:UserAccessLevel>1</uax:UserAccessLevel>\n    </tiretype>\n  </WheelVariableType>\n  <DefaultXml xmlns=\"http://opcfoundation.org/UA/\">\n    <uax:NodeClass>Object_1</uax:NodeClass>\n    <uax:NodeId>\n      <uax:Identifier>ns=1;i=24</uax:Identifier>\n    </uax:NodeId>\n    <uax:BrowseName>\n      <uax:NamespaceIndex>0</uax:NamespaceIndex>\n      <uax:Name>Default XML</uax:Name>\n    </uax:BrowseName>\n    <uax:TypeDefinitionId>\n      <uax:Identifier>i=76</uax:Identifier>\n    </uax:TypeDefinitionId>\n    <uax:NumericId>24</uax:NumericId>\n    <uax:References>\n      <uax:Reference>\n        <uax:ReferenceTypeId>\n          <uax:Identifier>i=38</uax:Identifier>\n        </uax:ReferenceTypeId>\n        <uax:IsInverse>true</uax:IsInverse>\n        <uax:TargetId>\n          <uax:Identifier>ns=1;i=3</uax:Identifier>\n        </uax:TargetId>\n      </uax:Reference>\n      <uax:Reference>\n        <uax:ReferenceTypeId>\n          <uax:Identifier>i=39</uax:Identifier>\n        </uax:ReferenceTypeId>\n        <uax:TargetId>\n          <uax:Identifier>ns=1;i=29</uax:Identifier>\n        </uax:TargetId>\n      </uax:Reference>\n    </uax:References>\n  </DefaultXml>\n  <DefaultXml xmlns=\"http://opcfoundation.org/UA/\">\n    <uax:NodeClass>Object_1</uax:NodeClass>\n    <uax:NodeId>\n      <uax:Identifier>ns=1;i=25</uax:Identifier>\n    </uax:NodeId>\n    <uax:BrowseName>\n      <uax:NamespaceIndex>0</uax:NamespaceIndex>\n      <uax:Name>Default XML</uax:Name>\n    </uax:BrowseName>\n    <uax:TypeDefinitionId>\n      <uax:Identifier>i=76</uax:Identifier>\n    </uax:TypeDefinitionId>\n    <uax:NumericId>25</uax:NumericId>\n    <uax:References>\n      <uax:Reference>\n        <uax:ReferenceTypeId>\n          <uax:Identifier>i=38</uax:Identifier>\n        </uax:ReferenceTypeId>\n        <uax:IsInverse>true</uax:IsInverse>\n        <uax:TargetId>\n          <uax:Identifier>ns=1;i=4</uax:Identifier>\n        </uax:TargetId>\n      </uax:Reference>\n      <uax:Reference>\n        <uax:ReferenceTypeId>\n          <uax:Identifier>i=39</uax:Identifier>\n        </uax:ReferenceTypeId>\n        <uax:TargetId>\n          <uax:Identifier>ns=1;i=32</uax:Identifier>\n        </uax:TargetId>\n      </uax:Reference>\n    </uax:References>\n  </DefaultXml>\n  <Name2_XmlSchema xmlns=\"http://tricycletypev1/\">\n    <uax:NodeClass>Variable_2</uax:NodeClass>\n    <uax:NodeId>\n      <uax:Identifier>ns=1;i=26</uax:Identifier>\n    </uax:NodeId>\n    <uax:BrowseName>\n      <uax:NamespaceIndex>1</uax:NamespaceIndex>\n      <uax:Name>Prefix2</uax:Name>\n    </uax:BrowseName>\n    <uax:TypeDefinitionId>\n      <uax:Identifier>i=72</uax:Identifier>\n    </uax:TypeDefinitionId>\n    <uax:NumericId>26</uax:NumericId>\n    <uax:Value>\n      <uax:Value>\n        <uax:ByteString>PHhzOnNjaGVtYQ0KICB4bWxuczp4cz0iaHR0cDovL3d3dy53My5vcmcvMjAwMS9YTUxTY2hlbWEi\nDQogIHhtbG5zOnVhPSJodHRwOi8vb3BjZm91bmRhdGlvbi5vcmcvVUEvMjAwOC8wMi9UeXBlcy54\nc2QiDQogIHhtbG5zOnRucz0iaHR0cDovL3RyaWN5Y2xldHlwZXYxLyINCiAgdGFyZ2V0TmFtZXNw\nYWNlPSJodHRwOi8vdHJpY3ljbGV0eXBldjEvIg0KICBlbGVtZW50Rm9ybURlZmF1bHQ9InF1YWxp\nZmllZCINCj4NCiAgPHhzOmltcG9ydCBuYW1lc3BhY2U9Imh0dHA6Ly9vcGNmb3VuZGF0aW9uLm9y\nZy9VQS8iIC8+DQoNCiAgPHhzOnNpbXBsZVR5cGUgIG5hbWU9IlRpcmVFbnVtIj4NCiAgICA8eHM6\ncmVzdHJpY3Rpb24gYmFzZT0ieHM6c3RyaW5nIj4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1\nZT0iTXVkXzAiIC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IkljZV8xIiAvPg0KICAg\nICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJTYW5kXzIiIC8+DQogICAgPC94czpyZXN0cmljdGlv\nbj4NCiAgPC94czpzaW1wbGVUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJUaXJlRW51bSIgdHlw\nZT0idG5zOlRpcmVFbnVtIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJMaXN0T2ZUaXJl\nRW51bSI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iVGlyZUVu\ndW0iIHR5cGU9InRuczpUaXJlRW51bSIgbWluT2NjdXJzPSIwIiBtYXhPY2N1cnM9InVuYm91bmRl\nZCIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxl\nbWVudCBuYW1lPSJMaXN0T2ZUaXJlRW51bSIgdHlwZT0idG5zOkxpc3RPZlRpcmVFbnVtIiBuaWxs\nYWJsZT0idHJ1ZSI+PC94czplbGVtZW50Pg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJUcmlD\neWNsZURhdGFUeXBlIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1l\nPSJ3ZWlnaHQiIHR5cGU9InhzOmZsb2F0IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxl\nbWVudCBuYW1lPSJ3aGVlbCIgdHlwZT0idG5zOldoZWVsRGF0YVR5cGUiIG1pbk9jY3Vycz0iMCIg\nbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJNb2RlbCIgdHlwZT0i\neHM6c3RyaW5nIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2Vx\ndWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IlRyaUN5Y2xl\nRGF0YVR5cGUiIHR5cGU9InRuczpUcmlDeWNsZURhdGFUeXBlIiAvPg0KDQogIDx4czpjb21wbGV4\nVHlwZSBuYW1lPSJMaXN0T2ZUcmlDeWNsZURhdGFUeXBlIj4NCiAgICA8eHM6c2VxdWVuY2U+DQog\nICAgICA8eHM6ZWxlbWVudCBuYW1lPSJUcmlDeWNsZURhdGFUeXBlIiB0eXBlPSJ0bnM6VHJpQ3lj\nbGVEYXRhVHlwZSIgbWluT2NjdXJzPSIwIiBtYXhPY2N1cnM9InVuYm91bmRlZCIgbmlsbGFibGU9\nInRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhz\nOmVsZW1lbnQgbmFtZT0iTGlzdE9mVHJpQ3ljbGVEYXRhVHlwZSIgdHlwZT0idG5zOkxpc3RPZlRy\naUN5Y2xlRGF0YVR5cGUiIG5pbGxhYmxlPSJ0cnVlIj48L3hzOmVsZW1lbnQ+DQoNCiAgPHhzOmNv\nbXBsZXhUeXBlIG5hbWU9IldoZWVsRGF0YVR5cGUiPg0KICAgIDx4czphbm5vdGF0aW9uPg0KICAg\nICAgPHhzOmRvY3VtZW50YXRpb24+V2hlZWwgZGF0YXR5cGUuPC94czpkb2N1bWVudGF0aW9uPg0K\nICAgIDwveHM6YW5ub3RhdGlvbj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVu\ndCBuYW1lPSJ0aWNrbmVzcyIgdHlwZT0ieHM6ZmxvYXQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAg\nIDx4czplbGVtZW50IG5hbWU9ImRpYW1ldGVyIiB0eXBlPSJ4czpmbG9hdCIgbWluT2NjdXJzPSIw\nIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0icHJlc3N1cmUiIHR5cGU9InhzOmZsb2F0IiBt\naW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJUaXJlVHlwZSIgdHlwZT0i\ndG5zOlRpcmVFbnVtIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJy\nYXlzTGVuIiB0eXBlPSJ4czppbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICA8L3hzOnNlcXVlbmNl\nPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJXaGVlbERhdGFUeXBl\nIiB0eXBlPSJ0bnM6V2hlZWxEYXRhVHlwZSIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0i\nTGlzdE9mV2hlZWxEYXRhVHlwZSI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1l\nbnQgbmFtZT0iV2hlZWxEYXRhVHlwZSIgdHlwZT0idG5zOldoZWVsRGF0YVR5cGUiIG1pbk9jY3Vy\ncz0iMCIgbWF4T2NjdXJzPSJ1bmJvdW5kZWQiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6\nc2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ikxpc3RP\nZldoZWVsRGF0YVR5cGUiIHR5cGU9InRuczpMaXN0T2ZXaGVlbERhdGFUeXBlIiBuaWxsYWJsZT0i\ndHJ1ZSI+PC94czplbGVtZW50Pg0KDQo8L3hzOnNjaGVtYT4=</uax:ByteString>\n      </uax:Value>\n    </uax:Value>\n    <uax:DataType>\n      <uax:Identifier>i=15</uax:Identifier>\n    </uax:DataType>\n    <uax:ValueRank>-1</uax:ValueRank>\n    <uax:AccessLevel>1</uax:AccessLevel>\n    <uax:UserAccessLevel>1</uax:UserAccessLevel>\n    <uax:References>\n      <uax:Reference>\n        <uax:ReferenceTypeId>\n          <uax:Identifier>i=47</uax:Identifier>\n        </uax:ReferenceTypeId>\n        <uax:IsInverse>true</uax:IsInverse>\n        <uax:TargetId>\n          <uax:Identifier>i=92</uax:Identifier>\n        </uax:TargetId>\n      </uax:Reference>\n    </uax:References>\n    <NamespaceUri xmlns=\"http://opcfoundation.org/UA/\">\n      <uax:NodeClass>Variable_2</uax:NodeClass>\n      <uax:NodeId>\n        <uax:Identifier>ns=1;i=28</uax:Identifier>\n      </uax:NodeId>\n      <uax:BrowseName>\n        <uax:NamespaceIndex>0</uax:NamespaceIndex>\n        <uax:Name>NamespaceUri</uax:Name>\n      </uax:BrowseName>\n      <uax:Description>\n        <uax:Locale></uax:Locale>\n        <uax:Text>A URI that uniquely identifies the dictionary.</uax:Text>\n      </uax:Description>\n      <uax:ReferenceTypeId>\n        <uax:Identifier>i=46</uax:Identifier>\n      </uax:ReferenceTypeId>\n      <uax:TypeDefinitionId>\n        <uax:Identifier>i=68</uax:Identifier>\n      </uax:TypeDefinitionId>\n      <uax:NumericId>28</uax:NumericId>\n      <uax:Value>\n        <uax:Value>\n          <uax:String>http://tricycletypev1/</uax:String>\n        </uax:Value>\n      </uax:Value>\n      <uax:DataType>\n        <uax:Identifier>i=12</uax:Identifier>\n      </uax:DataType>\n      <uax:ValueRank>-1</uax:ValueRank>\n      <uax:AccessLevel>1</uax:AccessLevel>\n      <uax:UserAccessLevel>1</uax:UserAccessLevel>\n    </NamespaceUri>\n    <TriCycleDataType>\n      <uax:NodeClass>Variable_2</uax:NodeClass>\n      <uax:NodeId>\n        <uax:Identifier>ns=1;i=29</uax:Identifier>\n      </uax:NodeId>\n      <uax:BrowseName>\n        <uax:NamespaceIndex>1</uax:NamespaceIndex>\n        <uax:Name>TriCycleDataType</uax:Name>\n      </uax:BrowseName>\n      <uax:ReferenceTypeId>\n        <uax:Identifier>i=47</uax:Identifier>\n      </uax:ReferenceTypeId>\n      <uax:TypeDefinitionId>\n        <uax:Identifier>i=69</uax:Identifier>\n      </uax:TypeDefinitionId>\n      <uax:NumericId>29</uax:NumericId>\n      <uax:Value>\n        <uax:Value>\n          <uax:String>//xs:element[@name='TriCycleDataType']</uax:String>\n        </uax:Value>\n      </uax:Value>\n      <uax:DataType>\n        <uax:Identifier>i=12</uax:Identifier>\n      </uax:DataType>\n      <uax:ValueRank>-1</uax:ValueRank>\n      <uax:AccessLevel>1</uax:AccessLevel>\n      <uax:UserAccessLevel>1</uax:UserAccessLevel>\n    </TriCycleDataType>\n    <WheelDataType>\n      <uax:NodeClass>Variable_2</uax:NodeClass>\n      <uax:NodeId>\n        <uax:Identifier>ns=1;i=32</uax:Identifier>\n      </uax:NodeId>\n      <uax:BrowseName>\n        <uax:NamespaceIndex>1</uax:NamespaceIndex>\n        <uax:Name>WheelDataType</uax:Name>\n      </uax:BrowseName>\n      <uax:ReferenceTypeId>\n        <uax:Identifier>i=47</uax:Identifier>\n      </uax:ReferenceTypeId>\n      <uax:TypeDefinitionId>\n        <uax:Identifier>i=69</uax:Identifier>\n      </uax:TypeDefinitionId>\n      <uax:NumericId>32</uax:NumericId>\n      <uax:Value>\n        <uax:Value>\n          <uax:String>//xs:element[@name='WheelDataType']</uax:String>\n        </uax:Value>\n      </uax:Value>\n      <uax:DataType>\n        <uax:Identifier>i=12</uax:Identifier>\n      </uax:DataType>\n      <uax:ValueRank>-1</uax:ValueRank>\n      <uax:AccessLevel>1</uax:AccessLevel>\n      <uax:UserAccessLevel>1</uax:UserAccessLevel>\n    </WheelDataType>\n  </Name2_XmlSchema>\n  <DefaultBinary xmlns=\"http://opcfoundation.org/UA/\">\n    <uax:NodeClass>Object_1</uax:NodeClass>\n    <uax:NodeId>\n      <uax:Identifier>ns=1;i=35</uax:Identifier>\n    </uax:NodeId>\n    <uax:BrowseName>\n      <uax:NamespaceIndex>0</uax:NamespaceIndex>\n      <uax:Name>Default Binary</uax:Name>\n    </uax:BrowseName>\n    <uax:TypeDefinitionId>\n      <uax:Identifier>i=76</uax:Identifier>\n    </uax:TypeDefinitionId>\n    <uax:NumericId>35</uax:NumericId>\n    <uax:References>\n      <uax:Reference>\n        <uax:ReferenceTypeId>\n          <uax:Identifier>i=38</uax:Identifier>\n        </uax:ReferenceTypeId>\n        <uax:IsInverse>true</uax:IsInverse>\n        <uax:TargetId>\n          <uax:Identifier>ns=1;i=3</uax:Identifier>\n        </uax:TargetId>\n      </uax:Reference>\n      <uax:Reference>\n        <uax:ReferenceTypeId>\n          <uax:Identifier>i=39</uax:Identifier>\n        </uax:ReferenceTypeId>\n        <uax:TargetId>\n          <uax:Identifier>ns=1;i=40</uax:Identifier>\n        </uax:TargetId>\n      </uax:Reference>\n    </uax:References>\n  </DefaultBinary>\n  <DefaultBinary xmlns=\"http://opcfoundation.org/UA/\">\n    <uax:NodeClass>Object_1</uax:NodeClass>\n    <uax:NodeId>\n      <uax:Identifier>ns=1;i=36</uax:Identifier>\n    </uax:NodeId>\n    <uax:BrowseName>\n      <uax:NamespaceIndex>0</uax:NamespaceIndex>\n      <uax:Name>Default Binary</uax:Name>\n    </uax:BrowseName>\n    <uax:TypeDefinitionId>\n      <uax:Identifier>i=76</uax:Identifier>\n    </uax:TypeDefinitionId>\n    <uax:NumericId>36</uax:NumericId>\n    <uax:References>\n      <uax:Reference>\n        <uax:ReferenceTypeId>\n          <uax:Identifier>i=38</uax:Identifier>\n        </uax:ReferenceTypeId>\n        <uax:IsInverse>true</uax:IsInverse>\n        <uax:TargetId>\n          <uax:Identifier>ns=1;i=4</uax:Identifier>\n        </uax:TargetId>\n      </uax:Reference>\n      <uax:Reference>\n        <uax:ReferenceTypeId>\n          <uax:Identifier>i=39</uax:Identifier>\n        </uax:ReferenceTypeId>\n        <uax:TargetId>\n          <uax:Identifier>ns=1;i=43</uax:Identifier>\n        </uax:TargetId>\n      </uax:Reference>\n    </uax:References>\n  </DefaultBinary>\n  <Name2_BinarySchema xmlns=\"http://tricycletypev1/\">\n    <uax:NodeClass>Variable_2</uax:NodeClass>\n    <uax:NodeId>\n      <uax:Identifier>ns=1;i=37</uax:Identifier>\n    </uax:NodeId>\n    <uax:BrowseName>\n      <uax:NamespaceIndex>1</uax:NamespaceIndex>\n      <uax:Name>Prefix2</uax:Name>\n    </uax:BrowseName>\n    <uax:TypeDefinitionId>\n      <uax:Identifier>i=72</uax:Identifier>\n    </uax:TypeDefinitionId>\n    <uax:NumericId>37</uax:NumericId>\n    <uax:Value>\n      <uax:Value>\n        <uax:ByteString>PG9wYzpUeXBlRGljdGlvbmFyeQ0KICB4bWxuczpvcGM9Imh0dHA6Ly9vcGNmb3VuZGF0aW9uLm9y\nZy9CaW5hcnlTY2hlbWEvIg0KICB4bWxuczp4c2k9Imh0dHA6Ly93d3cudzMub3JnLzIwMDEvWE1M\nU2NoZW1hLWluc3RhbmNlIg0KICB4bWxuczp1YT0iaHR0cDovL29wY2ZvdW5kYXRpb24ub3JnL1VB\nLyINCiAgeG1sbnM6dG5zPSJodHRwOi8vdHJpY3ljbGV0eXBldjEvIg0KICBEZWZhdWx0Qnl0ZU9y\nZGVyPSJMaXR0bGVFbmRpYW4iDQogIFRhcmdldE5hbWVzcGFjZT0iaHR0cDovL3RyaWN5Y2xldHlw\nZXYxLyINCj4NCiAgPCEtLSBUaGlzIEZpbGUgd2FzIGdlbmVyYXRlZCBvbiAyMDIxLTAzLTE4IGFu\nZCBzdXBwb3J0cyB0aGUgc3BlY2lmaWNhdGlvbnMgc3VwcG9ydGVkIGJ5IHZlcnNpb24gMS4xMS4z\nMzUuMTAgb2YgdGhlIE9QQyBVQSBkZWxpdmVyYWJsZXMuIC0tPg0KICA8b3BjOkltcG9ydCBOYW1l\nc3BhY2U9Imh0dHA6Ly9vcGNmb3VuZGF0aW9uLm9yZy9VQS8iIExvY2F0aW9uPSJQcmVmaXgwLkJp\nbmFyeVNjaGVtYS5ic2QiLz4NCg0KICA8b3BjOkVudW1lcmF0ZWRUeXBlIE5hbWU9IlRpcmVFbnVt\nIiBMZW5ndGhJbkJpdHM9IjMyIj4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJNdWQi\nIFZhbHVlPSIwIiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IkljZSIgVmFsdWU9\nIjEiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iU2FuZCIgVmFsdWU9IjIiIC8+\nDQogIDwvb3BjOkVudW1lcmF0ZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0i\nVHJpQ3ljbGVEYXRhVHlwZSIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9w\nYzpGaWVsZCBOYW1lPSJ3ZWlnaHQiIFR5cGVOYW1lPSJvcGM6RmxvYXQiIC8+DQogICAgPG9wYzpG\naWVsZCBOYW1lPSJ3aGVlbCIgVHlwZU5hbWU9InRuczpXaGVlbERhdGFUeXBlIiAvPg0KICAgIDxv\ncGM6RmllbGQgTmFtZT0iTW9kZWwiIFR5cGVOYW1lPSJvcGM6U3RyaW5nIiAvPg0KICA8L29wYzpT\ndHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IldoZWVsRGF0YVR5\ncGUiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RG9jdW1lbnRhdGlv\nbj5XaGVlbCBkYXRhdHlwZS48L29wYzpEb2N1bWVudGF0aW9uPg0KICAgIDxvcGM6RmllbGQgTmFt\nZT0idGlja25lc3MiIFR5cGVOYW1lPSJvcGM6RmxvYXQiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1l\nPSJkaWFtZXRlciIgVHlwZU5hbWU9Im9wYzpGbG9hdCIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9\nInByZXNzdXJlIiBUeXBlTmFtZT0ib3BjOkZsb2F0IiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0i\nVGlyZVR5cGUiIFR5cGVOYW1lPSJ0bnM6VGlyZUVudW0iIC8+DQogICAgPG9wYzpGaWVsZCBOYW1l\nPSJyYXlzTGVuIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlw\nZT4NCg0KPC9vcGM6VHlwZURpY3Rpb25hcnk+</uax:ByteString>\n      </uax:Value>\n    </uax:Value>\n    <uax:DataType>\n      <uax:Identifier>i=15</uax:Identifier>\n    </uax:DataType>\n    <uax:ValueRank>-1</uax:ValueRank>\n    <uax:AccessLevel>1</uax:AccessLevel>\n    <uax:UserAccessLevel>1</uax:UserAccessLevel>\n    <uax:References>\n      <uax:Reference>\n        <uax:ReferenceTypeId>\n          <uax:Identifier>i=47</uax:Identifier>\n        </uax:ReferenceTypeId>\n        <uax:IsInverse>true</uax:IsInverse>\n        <uax:TargetId>\n          <uax:Identifier>i=93</uax:Identifier>\n        </uax:TargetId>\n      </uax:Reference>\n    </uax:References>\n    <NamespaceUri xmlns=\"http://opcfoundation.org/UA/\">\n      <uax:NodeClass>Variable_2</uax:NodeClass>\n      <uax:NodeId>\n        <uax:Identifier>ns=1;i=39</uax:Identifier>\n      </uax:NodeId>\n      <uax:BrowseName>\n        <uax:NamespaceIndex>0</uax:NamespaceIndex>\n        <uax:Name>NamespaceUri</uax:Name>\n      </uax:BrowseName>\n      <uax:Description>\n        <uax:Locale></uax:Locale>\n        <uax:Text>A URI that uniquely identifies the dictionary.</uax:Text>\n      </uax:Description>\n      <uax:ReferenceTypeId>\n        <uax:Identifier>i=46</uax:Identifier>\n      </uax:ReferenceTypeId>\n      <uax:TypeDefinitionId>\n        <uax:Identifier>i=68</uax:Identifier>\n      </uax:TypeDefinitionId>\n      <uax:NumericId>39</uax:NumericId>\n      <uax:Value>\n        <uax:Value>\n          <uax:String>http://tricycletypev1/</uax:String>\n        </uax:Value>\n      </uax:Value>\n      <uax:DataType>\n        <uax:Identifier>i=12</uax:Identifier>\n      </uax:DataType>\n      <uax:ValueRank>-1</uax:ValueRank>\n      <uax:AccessLevel>1</uax:AccessLevel>\n      <uax:UserAccessLevel>1</uax:UserAccessLevel>\n    </NamespaceUri>\n    <TriCycleDataType>\n      <uax:NodeClass>Variable_2</uax:NodeClass>\n      <uax:NodeId>\n        <uax:Identifier>ns=1;i=40</uax:Identifier>\n      </uax:NodeId>\n      <uax:BrowseName>\n        <uax:NamespaceIndex>1</uax:NamespaceIndex>\n        <uax:Name>TriCycleDataType</uax:Name>\n      </uax:BrowseName>\n      <uax:ReferenceTypeId>\n        <uax:Identifier>i=47</uax:Identifier>\n      </uax:ReferenceTypeId>\n      <uax:TypeDefinitionId>\n        <uax:Identifier>i=69</uax:Identifier>\n      </uax:TypeDefinitionId>\n      <uax:NumericId>40</uax:NumericId>\n      <uax:Value>\n        <uax:Value>\n          <uax:String>TriCycleDataType</uax:String>\n        </uax:Value>\n      </uax:Value>\n      <uax:DataType>\n        <uax:Identifier>i=12</uax:Identifier>\n      </uax:DataType>\n      <uax:ValueRank>-1</uax:ValueRank>\n      <uax:AccessLevel>1</uax:AccessLevel>\n      <uax:UserAccessLevel>1</uax:UserAccessLevel>\n    </TriCycleDataType>\n    <WheelDataType>\n      <uax:NodeClass>Variable_2</uax:NodeClass>\n      <uax:NodeId>\n        <uax:Identifier>ns=1;i=43</uax:Identifier>\n      </uax:NodeId>\n      <uax:BrowseName>\n        <uax:NamespaceIndex>1</uax:NamespaceIndex>\n        <uax:Name>WheelDataType</uax:Name>\n      </uax:BrowseName>\n      <uax:ReferenceTypeId>\n        <uax:Identifier>i=47</uax:Identifier>\n      </uax:ReferenceTypeId>\n      <uax:TypeDefinitionId>\n        <uax:Identifier>i=69</uax:Identifier>\n      </uax:TypeDefinitionId>\n      <uax:NumericId>43</uax:NumericId>\n      <uax:Value>\n        <uax:Value>\n          <uax:String>WheelDataType</uax:String>\n        </uax:Value>\n      </uax:Value>\n      <uax:DataType>\n        <uax:Identifier>i=12</uax:Identifier>\n      </uax:DataType>\n      <uax:ValueRank>-1</uax:ValueRank>\n      <uax:AccessLevel>1</uax:AccessLevel>\n      <uax:UserAccessLevel>1</uax:UserAccessLevel>\n    </WheelDataType>\n  </Name2_BinarySchema>\n</uax:ListOfNodeState>"
  },
  {
    "path": "SemanticData/Tests/USNodeSetValidationUnitTestProject/XMLModels/ProblemsToReport/eoursel510/Opc.Ua.NodeSet2.TriCycleType_V1.1.ModelDesign/Prefix2.Types.bsd",
    "content": "<opc:TypeDictionary\n  xmlns:opc=\"http://opcfoundation.org/BinarySchema/\"\n  xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\"\n  xmlns:ua=\"http://opcfoundation.org/UA/\"\n  xmlns:tns=\"http://tricycletypev1/\"\n  DefaultByteOrder=\"LittleEndian\"\n  TargetNamespace=\"http://tricycletypev1/\"\n>\n  <!-- This File was generated on 2021-04-04 and supports the specifications supported by version 1.11.335.10 of the OPC UA deliverables. -->\n  <opc:Import Namespace=\"http://opcfoundation.org/UA/\" Location=\"Prefix0.BinarySchema.bsd\"/>\n\n  <opc:EnumeratedType Name=\"TireEnum\" LengthInBits=\"32\">\n    <opc:EnumeratedValue Name=\"Mud\" Value=\"0\" />\n    <opc:EnumeratedValue Name=\"Ice\" Value=\"1\" />\n    <opc:EnumeratedValue Name=\"Sand\" Value=\"2\" />\n  </opc:EnumeratedType>\n\n  <opc:StructuredType Name=\"TriCycleDataType\" BaseType=\"ua:ExtensionObject\">\n    <opc:Field Name=\"weight\" TypeName=\"opc:Float\" />\n    <opc:Field Name=\"wheel\" TypeName=\"tns:WheelDataType\" />\n    <opc:Field Name=\"Model\" TypeName=\"opc:String\" />\n  </opc:StructuredType>\n\n  <opc:StructuredType Name=\"WheelDataType\" BaseType=\"ua:ExtensionObject\">\n    <opc:Documentation>Wheel datatype.</opc:Documentation>\n    <opc:Field Name=\"tickness\" TypeName=\"opc:Float\" />\n    <opc:Field Name=\"diameter\" TypeName=\"opc:Float\" />\n    <opc:Field Name=\"pressure\" TypeName=\"opc:Float\" />\n    <opc:Field Name=\"TireType\" TypeName=\"tns:TireEnum\" />\n    <opc:Field Name=\"raysLen\" TypeName=\"opc:Int32\" />\n  </opc:StructuredType>\n\n</opc:TypeDictionary>"
  },
  {
    "path": "SemanticData/Tests/USNodeSetValidationUnitTestProject/XMLModels/ProblemsToReport/eoursel510/Opc.Ua.NodeSet2.TriCycleType_V1.1.ModelDesign/Prefix2.Types.xsd",
    "content": "<xs:schema\n  xmlns:xs=\"http://www.w3.org/2001/XMLSchema\"\n  xmlns:ua=\"http://opcfoundation.org/UA/2008/02/Types.xsd\"\n  xmlns:tns=\"http://tricycletypev1/\"\n  targetNamespace=\"http://tricycletypev1/\"\n  elementFormDefault=\"qualified\"\n>\n  <xs:import namespace=\"http://opcfoundation.org/UA/\" />\n\n  <xs:simpleType  name=\"TireEnum\">\n    <xs:restriction base=\"xs:string\">\n      <xs:enumeration value=\"Mud_0\" />\n      <xs:enumeration value=\"Ice_1\" />\n      <xs:enumeration value=\"Sand_2\" />\n    </xs:restriction>\n  </xs:simpleType>\n  <xs:element name=\"TireEnum\" type=\"tns:TireEnum\" />\n\n  <xs:complexType name=\"ListOfTireEnum\">\n    <xs:sequence>\n      <xs:element name=\"TireEnum\" type=\"tns:TireEnum\" minOccurs=\"0\" maxOccurs=\"unbounded\" />\n    </xs:sequence>\n  </xs:complexType>\n  <xs:element name=\"ListOfTireEnum\" type=\"tns:ListOfTireEnum\" nillable=\"true\"></xs:element>\n\n  <xs:complexType name=\"TriCycleDataType\">\n    <xs:sequence>\n      <xs:element name=\"weight\" type=\"xs:float\" minOccurs=\"0\" />\n      <xs:element name=\"wheel\" type=\"tns:WheelDataType\" minOccurs=\"0\" nillable=\"true\" />\n      <xs:element name=\"Model\" type=\"xs:string\" minOccurs=\"0\" nillable=\"true\" />\n    </xs:sequence>\n  </xs:complexType>\n  <xs:element name=\"TriCycleDataType\" type=\"tns:TriCycleDataType\" />\n\n  <xs:complexType name=\"ListOfTriCycleDataType\">\n    <xs:sequence>\n      <xs:element name=\"TriCycleDataType\" type=\"tns:TriCycleDataType\" minOccurs=\"0\" maxOccurs=\"unbounded\" nillable=\"true\" />\n    </xs:sequence>\n  </xs:complexType>\n  <xs:element name=\"ListOfTriCycleDataType\" type=\"tns:ListOfTriCycleDataType\" nillable=\"true\"></xs:element>\n\n  <xs:complexType name=\"WheelDataType\">\n    <xs:annotation>\n      <xs:documentation>Wheel datatype.</xs:documentation>\n    </xs:annotation>\n    <xs:sequence>\n      <xs:element name=\"tickness\" type=\"xs:float\" minOccurs=\"0\" />\n      <xs:element name=\"diameter\" type=\"xs:float\" minOccurs=\"0\" />\n      <xs:element name=\"pressure\" type=\"xs:float\" minOccurs=\"0\" />\n      <xs:element name=\"TireType\" type=\"tns:TireEnum\" minOccurs=\"0\" />\n      <xs:element name=\"raysLen\" type=\"xs:int\" minOccurs=\"0\" />\n    </xs:sequence>\n  </xs:complexType>\n  <xs:element name=\"WheelDataType\" type=\"tns:WheelDataType\" />\n\n  <xs:complexType name=\"ListOfWheelDataType\">\n    <xs:sequence>\n      <xs:element name=\"WheelDataType\" type=\"tns:WheelDataType\" minOccurs=\"0\" maxOccurs=\"unbounded\" nillable=\"true\" />\n    </xs:sequence>\n  </xs:complexType>\n  <xs:element name=\"ListOfWheelDataType\" type=\"tns:ListOfWheelDataType\" nillable=\"true\"></xs:element>\n\n</xs:schema>"
  },
  {
    "path": "SemanticData/Tests/USNodeSetValidationUnitTestProject/XMLModels/ProblemsToReport/eoursel510/Opc.Ua.NodeSet2.TriCycleType_V1.1.ModelDesign.csv",
    "content": "TireEnum,1,DataType\nTireEnum_EnumStrings,2,Variable\nTriCycleDataType,3,DataType\nWheelDataType,4,DataType\nHumanType,5,ObjectType\nHumanType_Name,6,Variable\nHumanType_Age,7,Variable\nHumanType_Gender,8,Variable\nTrailerType,9,ObjectType\nVehicleType,10,ObjectType\nTriCycleType,11,ObjectType\nTriCycleType_weight,12,Variable\nTriCycleType_wheels,13,Variable\nTriCycleType_wheels_tickness,14,Variable\nTriCycleType_wheels_diameter,15,Variable\nTriCycleType_wheels_pressure,16,Variable\nTriCycleType_wheels_tiretype,17,Variable\nTriCycleType_Model,18,Variable\nWheelVariableType,19,VariableType\nWheelVariableType_tickness,20,Variable\nWheelVariableType_diameter,21,Variable\nWheelVariableType_pressure,22,Variable\nWheelVariableType_tiretype,23,Variable\nTriCycleDataType_Encoding_DefaultXml,24,Object\nWheelDataType_Encoding_DefaultXml,25,Object\nName2_XmlSchema,26,Variable\nName2_XmlSchema_DataTypeVersion,27,Variable\nName2_XmlSchema_NamespaceUri,28,Variable\nName2_XmlSchema_TriCycleDataType,29,Variable\nName2_XmlSchema_TriCycleDataType_DataTypeVersion,30,Variable\nName2_XmlSchema_TriCycleDataType_DictionaryFragment,31,Variable\nName2_XmlSchema_WheelDataType,32,Variable\nName2_XmlSchema_WheelDataType_DataTypeVersion,33,Variable\nName2_XmlSchema_WheelDataType_DictionaryFragment,34,Variable\nTriCycleDataType_Encoding_DefaultBinary,35,Object\nWheelDataType_Encoding_DefaultBinary,36,Object\nName2_BinarySchema,37,Variable\nName2_BinarySchema_DataTypeVersion,38,Variable\nName2_BinarySchema_NamespaceUri,39,Variable\nName2_BinarySchema_TriCycleDataType,40,Variable\nName2_BinarySchema_TriCycleDataType_DataTypeVersion,41,Variable\nName2_BinarySchema_TriCycleDataType_DictionaryFragment,42,Variable\nName2_BinarySchema_WheelDataType,43,Variable\nName2_BinarySchema_WheelDataType_DataTypeVersion,44,Variable\nName2_BinarySchema_WheelDataType_DictionaryFragment,45,Variable\nVehicleType_buildDate,46,Variable\nVehicleType_S_Owner_,47,Object\nVehicleType_S_Owner__Name,48,Variable\nVehicleType_S_Owner__Age,49,Variable\nVehicleType_S_Owner__Gender,50,Variable\nTrailerType_buildDate,51,Variable\nTrailerType_S_Owner_,52,Object\nTrailerType_S_Owner__Name,53,Variable\nTrailerType_S_Owner__Age,54,Variable\nTrailerType_S_Owner__Gender,55,Variable\nTriCycleType_buildDate,56,Variable\nTriCycleType_S_Owner_,57,Object\nTriCycleType_S_Owner__Name,58,Variable\nTriCycleType_S_Owner__Age,59,Variable\nTriCycleType_S_Owner__Gender,60,Variable\nTrailerType_LoadedTricycle,61,Variable\n"
  },
  {
    "path": "SemanticData/Tests/USNodeSetValidationUnitTestProject/XMLModels/ProblemsToReport/eoursel510/Opc.Ua.NodeSet2.TriCycleType_V1.1.ModelDesign.xml",
    "content": "﻿<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<?xml-stylesheet type=\"text/xsl\" href=\"XMLstylesheet\"?>\n<ModelDesign xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\" TargetNamespace=\"http://tricycletypev1/\" TargetVersion=\"\" TargetPublicationDate=\"2021-04-10T00:00:00+02:00\" xmlns=\"http://opcfoundation.org/UA/ModelDesign.xsd\">\n  <Namespaces>\n    <Namespace Name=\"Name0\" Prefix=\"Prefix0\" InternalPrefix=\"http://opcfoundation.org/UA/\" XmlNamespace=\"http://opcfoundation.org/UA/\" XmlPrefix=\"Prefix1\" FilePath=\"\" Version=\"1.04.8\" PublicationDate=\"20.11.2020\">http://opcfoundation.org/UA/</Namespace>\n    <Namespace Name=\"Name2\" Prefix=\"Prefix2\" InternalPrefix=\"http://tricycletypev1/\" XmlNamespace=\"http://tricycletypev1/\" XmlPrefix=\"Prefix3\" FilePath=\"\" Version=\"1.00\" PublicationDate=\"25.11.2020\">http://tricycletypev1/</Namespace>\n  </Namespaces>\n  <DataType xmlns:q1=\"http://tricycletypev1/\" SymbolicName=\"q1:TireEnum\" xmlns:q2=\"http://opcfoundation.org/UA/\" BaseType=\"q2:Enumeration\">\n    <Children>\n      <Property SymbolicName=\"q2:EnumStrings\" DataType=\"q2:LocalizedText\" ValueRank=\"Array\">\n        <DefaultValue>\n          <uax:ListOfLocalizedText xmlns:uax=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n            <uax:LocalizedText>\n              <uax:Locale>en-us</uax:Locale>\n              <uax:Text>Mud</uax:Text>\n            </uax:LocalizedText>\n            <uax:LocalizedText>\n              <uax:Locale>en-us</uax:Locale>\n              <uax:Text>Ice</uax:Text>\n            </uax:LocalizedText>\n            <uax:LocalizedText>\n              <uax:Locale>en-us</uax:Locale>\n              <uax:Text>Sand</uax:Text>\n            </uax:LocalizedText>\n          </uax:ListOfLocalizedText>\n        </DefaultValue>\n      </Property>\n    </Children>\n    <ClassName />\n    <Fields>\n      <Field Name=\"Mud\" Identifier=\"0\" BitMask=\"\" ArrayDimensions=\"\" />\n      <Field Name=\"Ice\" Identifier=\"1\" BitMask=\"\" ArrayDimensions=\"\" />\n      <Field Name=\"Sand\" Identifier=\"2\" BitMask=\"\" ArrayDimensions=\"\" />\n    </Fields>\n  </DataType>\n  <DataType xmlns:q3=\"http://tricycletypev1/\" SymbolicName=\"q3:TriCycleDataType\" xmlns:q4=\"http://opcfoundation.org/UA/\" BaseType=\"q4:Structure\">\n    <ClassName />\n    <Fields>\n      <Field Name=\"weight\" BitMask=\"\" DataType=\"q4:Float\" ArrayDimensions=\"\" />\n      <Field Name=\"wheel\" BitMask=\"\" DataType=\"q3:WheelDataType\" ArrayDimensions=\"\" />\n      <Field Name=\"Model\" BitMask=\"\" DataType=\"q4:String\" ArrayDimensions=\"\" />\n    </Fields>\n  </DataType>\n  <DataType xmlns:q5=\"http://tricycletypev1/\" SymbolicName=\"q5:WheelDataType\" xmlns:q6=\"http://opcfoundation.org/UA/\" BaseType=\"q6:Structure\">\n    <Description>Wheel datatype.</Description>\n    <ClassName />\n    <Fields>\n      <Field Name=\"tickness\" BitMask=\"\" DataType=\"q6:Float\" ArrayDimensions=\"\" />\n      <Field Name=\"diameter\" BitMask=\"\" DataType=\"q6:Float\" ArrayDimensions=\"\" />\n      <Field Name=\"pressure\" BitMask=\"\" DataType=\"q6:Float\" ArrayDimensions=\"\" />\n      <Field Name=\"TireType\" BitMask=\"\" DataType=\"q5:TireEnum\" ArrayDimensions=\"\" />\n      <Field Name=\"raysLen\" BitMask=\"\" DataType=\"q6:Int32\" ArrayDimensions=\"\" />\n    </Fields>\n  </DataType>\n  <ObjectType xmlns:q7=\"http://tricycletypev1/\" SymbolicName=\"q7:HumanType\">\n    <Children>\n      <Variable xmlns:q8=\"http://opcfoundation.org/UA/\" SymbolicName=\"q8:Name\" ModellingRule=\"Mandatory\" DataType=\"q8:String\" />\n      <Variable xmlns:q9=\"http://opcfoundation.org/UA/\" SymbolicName=\"q9:Age\" ModellingRule=\"Mandatory\" DataType=\"q9:Int32\" />\n      <Property xmlns:q10=\"http://opcfoundation.org/UA/\" SymbolicName=\"q10:Gender\" ModellingRule=\"Mandatory\" DataType=\"q10:String\" />\n    </Children>\n    <ClassName />\n  </ObjectType>\n  <ObjectType xmlns:q11=\"http://tricycletypev1/\" SymbolicName=\"q11:TrailerType\" BaseType=\"q11:VehicleType\">\n    <Children>\n      <Variable xmlns:q12=\"http://opcfoundation.org/UA/\" SymbolicName=\"q12:LoadedTricycle\" ModellingRule=\"Mandatory\" DataType=\"q11:TriCycleDataType\" ValueRank=\"Array\" ArrayDimensions=\"0\">\n        <ReferenceType>q12:HasOrderedComponent</ReferenceType>\n      </Variable>\n    </Children>\n    <ClassName />\n  </ObjectType>\n  <ObjectType xmlns:q13=\"http://tricycletypev1/\" SymbolicName=\"q13:VehicleType\">\n    <Children>\n      <Property xmlns:q14=\"http://opcfoundation.org/UA/\" SymbolicName=\"q14:buildDate\" ModellingRule=\"Mandatory\" DataType=\"q14:DateTime\" />\n      <Object xmlns:q15=\"http://opcfoundation.org/UA/\" SymbolicName=\"q15:S_Owner_\" TypeDefinition=\"q13:HumanType\" ModellingRule=\"Mandatory\">\n        <BrowseName>Owner&gt;</BrowseName>\n        <DisplayName>&lt;Owner&gt;</DisplayName>\n      </Object>\n    </Children>\n    <ClassName />\n  </ObjectType>\n  <ObjectType xmlns:q16=\"http://tricycletypev1/\" SymbolicName=\"q16:TriCycleType\" BaseType=\"q16:VehicleType\">\n    <Description>This a simple Tricycle</Description>\n    <Children>\n      <Property xmlns:q17=\"http://opcfoundation.org/UA/\" SymbolicName=\"q17:weight\" ModellingRule=\"Mandatory\" DataType=\"q17:Float\" />\n      <Property xmlns:q18=\"http://opcfoundation.org/UA/\" SymbolicName=\"q18:wheels\" TypeDefinition=\"q16:WheelVariableType\" ModellingRule=\"Mandatory\" DataType=\"q16:WheelDataType\" ValueRank=\"Array\" ArrayDimensions=\"3\" />\n      <Variable xmlns:q19=\"http://opcfoundation.org/UA/\" SymbolicName=\"q19:Model\" ModellingRule=\"Mandatory\" DataType=\"q19:String\" />\n    </Children>\n    <ClassName />\n  </ObjectType>\n  <VariableType xmlns:q20=\"http://tricycletypev1/\" SymbolicName=\"q20:WheelVariableType\" DataType=\"q20:WheelDataType\">\n    <Children>\n      <Variable xmlns:q21=\"http://opcfoundation.org/UA/\" SymbolicName=\"q21:tickness\" ModellingRule=\"Mandatory\" DataType=\"q21:Float\" />\n      <Variable xmlns:q22=\"http://opcfoundation.org/UA/\" SymbolicName=\"q22:diameter\" ModellingRule=\"Mandatory\" DataType=\"q22:Float\" />\n      <Variable xmlns:q23=\"http://opcfoundation.org/UA/\" SymbolicName=\"q23:pressure\" ModellingRule=\"Mandatory\" DataType=\"q23:Float\" />\n      <Variable xmlns:q24=\"http://opcfoundation.org/UA/\" SymbolicName=\"q24:tiretype\" ModellingRule=\"Mandatory\" DataType=\"q20:TireEnum\" />\n    </Children>\n    <ClassName />\n  </VariableType>\n</ModelDesign>"
  },
  {
    "path": "SemanticData/Tests/USNodeSetValidationUnitTestProject/XMLModels/ProblemsToReport/eoursel510/Opc.Ua.NodeSet2.TriCycleType_V1.1.xml",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<UANodeSet LastModified=\"2020-11-25T11:52:36.296Z\" xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xmlns=\"http://opcfoundation.org/UA/2011/03/UANodeSet.xsd\" xmlns:uax=\"http://opcfoundation.org/UA/2008/02/Types.xsd\" xmlns:si=\"http://www.siemens.com/OPCUA/2017/SimaticNodeSetExtensions\" xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\">\n    <NamespaceUris>\n        <Uri>http://tricycleTypeV1</Uri>\n    </NamespaceUris>\n    <Models>\n        <Model ModelUri=\"http://tricycleTypeV1\" PublicationDate=\"2020-11-25T00:00:00Z\" Version=\"1.00\">\n            <RequiredModel ModelUri=\"http://opcfoundation.org/UA/\" PublicationDate=\"2020-04-14T00:00:00Z\" Version=\"1.04.6\"/>\n        </Model>\n    </Models>\n    <Aliases>\n        <Alias Alias=\"Int32\">i=6</Alias>\n        <Alias Alias=\"Float\">i=10</Alias>\n        <Alias Alias=\"DateTime\">i=13</Alias>\n        <Alias Alias=\"String\">i=12</Alias>\n        <Alias Alias=\"ByteString\">i=15</Alias>\n        <Alias Alias=\"LocalizedText\">i=21</Alias>\n        <Alias Alias=\"HasComponent\">i=47</Alias>\n        <Alias Alias=\"HasProperty\">i=46</Alias>\n        <Alias Alias=\"HasSubtype\">i=45</Alias>\n        <Alias Alias=\"HasTypeDefinition\">i=40</Alias>\n        <Alias Alias=\"HasModellingRule\">i=37</Alias>\n        <Alias Alias=\"HasEncoding\">i=38</Alias>\n        <Alias Alias=\"HasDescription\">i=39</Alias>\n        <Alias Alias=\"HasOrderedComponent\">i=49</Alias>\n        <Alias Alias=\"TireEnum\">ns=1;i=1</Alias>\n        <Alias Alias=\"TriCycleDataType\">ns=1;i=3</Alias>\n        <Alias Alias=\"WheelDataType\">ns=1;i=5</Alias>\n    </Aliases>\n    <Extensions>\n        <Extension>\n            <si:Generator Product=\"SiOME\" Edition=\"Standard\" Version=\"2.1.1\"/>\n        </Extension>\n    </Extensions>\n    <UADataType NodeId=\"ns=1;i=1\" BrowseName=\"1:TireEnum\">\n        <DisplayName>TireEnum</DisplayName>\n        <References>\n            <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=29</Reference>\n        </References>\n        <Definition Name=\"TireEnum\">\n            <Field DataType=\"i=24\" Name=\"Mud\" Value=\"0\"/>\n            <Field DataType=\"i=24\" Name=\"Ice\" Value=\"1\"/>\n            <Field DataType=\"i=24\" Name=\"Sand\" Value=\"2\"/>\n        </Definition>\n    </UADataType>\n    <UAVariable DataType=\"LocalizedText\" ValueRank=\"1\" NodeId=\"ns=1;i=2\" BrowseName=\"EnumStrings\" ParentNodeId=\"ns=1;i=1\">\n        <DisplayName>EnumStrings</DisplayName>\n        <References>\n            <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=1</Reference>\n            <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n        </References>\n        <Value>\n            <uax:ListOfLocalizedText>\n                <uax:LocalizedText>\n                    <uax:Locale>en-us</uax:Locale>\n                    <uax:Text>Mud</uax:Text>\n                </uax:LocalizedText>\n                <uax:LocalizedText>\n                    <uax:Locale>en-us</uax:Locale>\n                    <uax:Text>Ice</uax:Text>\n                </uax:LocalizedText>\n                <uax:LocalizedText>\n                    <uax:Locale>en-us</uax:Locale>\n                    <uax:Text>Sand</uax:Text>\n                </uax:LocalizedText>\n            </uax:ListOfLocalizedText>\n        </Value>\n    </UAVariable>\n    <UAObject SymbolicName=\"Default_Binary\" NodeId=\"ns=1;i=4\" BrowseName=\"Default Binary\">\n        <DisplayName>Default Binary</DisplayName>\n        <References>\n            <Reference ReferenceType=\"HasTypeDefinition\">i=76</Reference>\n            <Reference ReferenceType=\"HasDescription\">ns=1;i=6008</Reference>\n        </References>\n    </UAObject>\n    <UADataType NodeId=\"ns=1;i=3\" BrowseName=\"1:TriCycleDataType\">\n        <DisplayName>TriCycleDataType</DisplayName>\n        <References>\n            <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=22</Reference>\n            <Reference ReferenceType=\"HasEncoding\">ns=1;i=4</Reference>\n        </References>\n        <Definition Name=\"TriCycleDataType\">\n            <Field DataType=\"i=10\" Name=\"weight\"/>\n            <Field DataType=\"ns=1;i=5\" Name=\"wheel\"/>\n            <Field DataType=\"i=12\" Name=\"Model\"/>\n        </Definition>\n    </UADataType>\n    <UAObject SymbolicName=\"Default_Binary\" NodeId=\"ns=1;i=6\" BrowseName=\"Default Binary\">\n        <DisplayName>Default Binary</DisplayName>\n        <References>\n            <Reference ReferenceType=\"HasTypeDefinition\">i=76</Reference>\n            <Reference ReferenceType=\"HasDescription\">ns=1;i=6009</Reference>\n        </References>\n    </UAObject>\n    <UADataType NodeId=\"ns=1;i=5\" BrowseName=\"1:WheelDataType\">\n        <DisplayName>WheelDataType</DisplayName>\n        <Description>Wheel datatype.</Description>\n        <References>\n            <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=22</Reference>\n            <Reference ReferenceType=\"HasEncoding\">ns=1;i=6</Reference>\n        </References>\n        <Definition Name=\"WheelDataType\">\n            <Field DataType=\"i=10\" Name=\"tickness\"/>\n            <Field DataType=\"i=10\" Name=\"diameter\"/>\n            <Field DataType=\"i=10\" Name=\"pressure\"/>\n            <Field DataType=\"ns=1;i=1\" Name=\"TireType\"/>\n            <Field DataType=\"i=6\" Name=\"raysLen\"/>\n        </Definition>\n    </UADataType>\n    <UAObjectType NodeId=\"ns=1;i=7\" BrowseName=\"1:HumanType\">\n        <DisplayName>HumanType</DisplayName>\n        <References>\n            <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=58</Reference>\n        </References>\n    </UAObjectType>\n    <UAVariable DataType=\"String\" NodeId=\"ns=1;i=8\" BrowseName=\"Name\" ParentNodeId=\"ns=1;i=7\">\n        <DisplayName>Name</DisplayName>\n        <References>\n            <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=7</Reference>\n            <Reference ReferenceType=\"HasTypeDefinition\">i=63</Reference>\n            <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n        </References>\n    </UAVariable>\n    <UAVariable DataType=\"Int32\" NodeId=\"ns=1;i=9\" BrowseName=\"Age\" ParentNodeId=\"ns=1;i=7\">\n        <DisplayName>Age</DisplayName>\n        <References>\n            <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=7</Reference>\n            <Reference ReferenceType=\"HasTypeDefinition\">i=63</Reference>\n            <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n        </References>\n    </UAVariable>\n    <UAVariable DataType=\"String\" NodeId=\"ns=1;i=10\" BrowseName=\"Gender\" ParentNodeId=\"ns=1;i=7\">\n        <DisplayName>Gender</DisplayName>\n        <References>\n            <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=7</Reference>\n            <Reference ReferenceType=\"HasTypeDefinition\">i=63</Reference>\n            <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n        </References>\n    </UAVariable>\n    <UAObjectType NodeId=\"ns=1;i=11\" BrowseName=\"1:TrailerType\">\n        <DisplayName>TrailerType</DisplayName>\n        <References>\n            <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">ns=1;i=12</Reference>\n        </References>\n    </UAObjectType>\n    <UAObjectType NodeId=\"ns=1;i=12\" BrowseName=\"1:VehicleType\">\n        <DisplayName>VehicleType</DisplayName>\n        <References>\n            <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=58</Reference>\n        </References>\n    </UAObjectType>\n    <UAVariable DataType=\"DateTime\" NodeId=\"ns=1;i=13\" BrowseName=\"buildDate\" ParentNodeId=\"ns=1;i=12\">\n        <DisplayName>buildDate</DisplayName>\n        <References>\n            <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=12</Reference>\n            <Reference ReferenceType=\"HasTypeDefinition\">i=63</Reference>\n            <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n        </References>\n    </UAVariable>\n    <UAObject SymbolicName=\"S_Owner_\" NodeId=\"ns=1;i=14\" BrowseName=\"&lt;Owner&gt;\" ParentNodeId=\"ns=1;i=12\">\n        <DisplayName>&lt;Owner&gt;</DisplayName>\n        <References>\n            <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=12</Reference>\n            <Reference ReferenceType=\"HasTypeDefinition\">ns=1;i=7</Reference>\n            <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n        </References>\n    </UAObject>\n    <UAVariable DataType=\"String\" NodeId=\"ns=1;i=15\" BrowseName=\"Name\" ParentNodeId=\"ns=1;i=14\">\n        <DisplayName>Name</DisplayName>\n        <References>\n            <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=14</Reference>\n            <Reference ReferenceType=\"HasTypeDefinition\">i=63</Reference>\n            <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n        </References>\n    </UAVariable>\n    <UAVariable DataType=\"Int32\" NodeId=\"ns=1;i=16\" BrowseName=\"Age\" ParentNodeId=\"ns=1;i=14\">\n        <DisplayName>Age</DisplayName>\n        <References>\n            <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=14</Reference>\n            <Reference ReferenceType=\"HasTypeDefinition\">i=63</Reference>\n            <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n        </References>\n    </UAVariable>\n    <UAVariable DataType=\"String\" NodeId=\"ns=1;i=17\" BrowseName=\"Gender\" ParentNodeId=\"ns=1;i=14\">\n        <DisplayName>Gender</DisplayName>\n        <References>\n            <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=14</Reference>\n            <Reference ReferenceType=\"HasTypeDefinition\">i=63</Reference>\n            <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n        </References>\n    </UAVariable>\n    <UAVariable DataType=\"DateTime\" NodeId=\"ns=1;i=18\" BrowseName=\"buildDate\" ParentNodeId=\"ns=1;i=11\">\n        <DisplayName>buildDate</DisplayName>\n        <References>\n            <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=11</Reference>\n            <Reference ReferenceType=\"HasTypeDefinition\">i=63</Reference>\n            <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n        </References>\n    </UAVariable>\n    <UAObject SymbolicName=\"S_Owner_\" NodeId=\"ns=1;i=19\" BrowseName=\"&lt;Owner&gt;\" ParentNodeId=\"ns=1;i=11\">\n        <DisplayName>&lt;Owner&gt;</DisplayName>\n        <References>\n            <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=11</Reference>\n            <Reference ReferenceType=\"HasTypeDefinition\">ns=1;i=7</Reference>\n            <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n        </References>\n    </UAObject>\n    <UAVariable DataType=\"String\" NodeId=\"ns=1;i=20\" BrowseName=\"Name\" ParentNodeId=\"ns=1;i=19\">\n        <DisplayName>Name</DisplayName>\n        <References>\n            <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=19</Reference>\n            <Reference ReferenceType=\"HasTypeDefinition\">i=63</Reference>\n            <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n        </References>\n    </UAVariable>\n    <UAVariable DataType=\"Int32\" NodeId=\"ns=1;i=21\" BrowseName=\"Age\" ParentNodeId=\"ns=1;i=19\">\n        <DisplayName>Age</DisplayName>\n        <References>\n            <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=19</Reference>\n            <Reference ReferenceType=\"HasTypeDefinition\">i=63</Reference>\n            <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n        </References>\n    </UAVariable>\n    <UAVariable DataType=\"String\" NodeId=\"ns=1;i=22\" BrowseName=\"Gender\" ParentNodeId=\"ns=1;i=19\">\n        <DisplayName>Gender</DisplayName>\n        <References>\n            <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=19</Reference>\n            <Reference ReferenceType=\"HasTypeDefinition\">i=63</Reference>\n            <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n        </References>\n    </UAVariable>\n    <UAVariable DataType=\"TriCycleDataType\" ValueRank=\"1\" NodeId=\"ns=1;i=23\" ArrayDimensions=\"0\" BrowseName=\"LoadedTricycle\" ParentNodeId=\"ns=1;i=11\">\n        <DisplayName>LoadedTricycle</DisplayName>\n        <References>\n            <Reference ReferenceType=\"HasOrderedComponent\" IsForward=\"false\">ns=1;i=11</Reference>\n            <Reference ReferenceType=\"HasTypeDefinition\">i=63</Reference>\n            <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n        </References>\n    </UAVariable>\n    <UAObjectType NodeId=\"ns=1;i=24\" BrowseName=\"1:TriCycleType\">\n        <DisplayName>TriCycleType</DisplayName>\n        <Description>This a simple Tricycle</Description>\n        <References>\n            <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">ns=1;i=12</Reference>\n        </References>\n    </UAObjectType>\n    <UAVariable DataType=\"DateTime\" NodeId=\"ns=1;i=25\" BrowseName=\"buildDate\" ParentNodeId=\"ns=1;i=24\">\n        <DisplayName>buildDate</DisplayName>\n        <References>\n            <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=24</Reference>\n            <Reference ReferenceType=\"HasTypeDefinition\">i=63</Reference>\n            <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n        </References>\n    </UAVariable>\n    <UAObject SymbolicName=\"S_Owner_\" NodeId=\"ns=1;i=26\" BrowseName=\"&lt;Owner&gt;\" ParentNodeId=\"ns=1;i=24\">\n        <DisplayName>&lt;Owner&gt;</DisplayName>\n        <References>\n            <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=24</Reference>\n            <Reference ReferenceType=\"HasTypeDefinition\">ns=1;i=7</Reference>\n            <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n        </References>\n    </UAObject>\n    <UAVariable DataType=\"String\" NodeId=\"ns=1;i=27\" BrowseName=\"Name\" ParentNodeId=\"ns=1;i=26\">\n        <DisplayName>Name</DisplayName>\n        <References>\n            <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=26</Reference>\n            <Reference ReferenceType=\"HasTypeDefinition\">i=63</Reference>\n            <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n        </References>\n    </UAVariable>\n    <UAVariable DataType=\"Int32\" NodeId=\"ns=1;i=28\" BrowseName=\"Age\" ParentNodeId=\"ns=1;i=26\">\n        <DisplayName>Age</DisplayName>\n        <References>\n            <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=26</Reference>\n            <Reference ReferenceType=\"HasTypeDefinition\">i=63</Reference>\n            <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n        </References>\n    </UAVariable>\n    <UAVariable DataType=\"String\" NodeId=\"ns=1;i=29\" BrowseName=\"Gender\" ParentNodeId=\"ns=1;i=26\">\n        <DisplayName>Gender</DisplayName>\n        <References>\n            <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=26</Reference>\n            <Reference ReferenceType=\"HasTypeDefinition\">i=63</Reference>\n            <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n        </References>\n    </UAVariable>\n    <UAVariable DataType=\"Float\" NodeId=\"ns=1;i=30\" BrowseName=\"weight\" ParentNodeId=\"ns=1;i=24\">\n        <DisplayName>weight</DisplayName>\n        <References>\n            <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=24</Reference>\n            <Reference ReferenceType=\"HasTypeDefinition\">i=63</Reference>\n            <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n        </References>\n    </UAVariable>\n    <UAVariable DataType=\"WheelDataType\" ValueRank=\"1\" NodeId=\"ns=1;i=31\" ArrayDimensions=\"3\" BrowseName=\"wheels\" ParentNodeId=\"ns=1;i=24\">\n        <DisplayName>wheels</DisplayName>\n        <References>\n            <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=24</Reference>\n            <Reference ReferenceType=\"HasTypeDefinition\">ns=1;i=33</Reference>\n            <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n        </References>\n    </UAVariable>\n    <UAVariable DataType=\"String\" NodeId=\"ns=1;i=32\" BrowseName=\"Model\" ParentNodeId=\"ns=1;i=24\">\n        <DisplayName>Model</DisplayName>\n        <References>\n            <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=24</Reference>\n            <Reference ReferenceType=\"HasTypeDefinition\">i=63</Reference>\n            <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n        </References>\n    </UAVariable>\n    <UAVariableType DataType=\"ns=1;i=5\" NodeId=\"ns=1;i=33\" BrowseName=\"1:WheelVariableType\">\n        <DisplayName>WheelVariableType</DisplayName>\n        <References>\n            <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=63</Reference>\n        </References>\n    </UAVariableType>\n    <UAVariable DataType=\"Float\" NodeId=\"ns=1;i=34\" BrowseName=\"tickness\" ParentNodeId=\"ns=1;i=33\">\n        <DisplayName>tickness</DisplayName>\n        <References>\n            <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=33</Reference>\n            <Reference ReferenceType=\"HasTypeDefinition\">i=63</Reference>\n            <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n        </References>\n    </UAVariable>\n    <UAVariable DataType=\"Float\" NodeId=\"ns=1;i=35\" BrowseName=\"diameter\" ParentNodeId=\"ns=1;i=33\">\n        <DisplayName>diameter</DisplayName>\n        <References>\n            <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=33</Reference>\n            <Reference ReferenceType=\"HasTypeDefinition\">i=63</Reference>\n            <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n        </References>\n    </UAVariable>\n    <UAVariable DataType=\"Float\" NodeId=\"ns=1;i=36\" BrowseName=\"pressure\" ParentNodeId=\"ns=1;i=33\">\n        <DisplayName>pressure</DisplayName>\n        <References>\n            <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=33</Reference>\n            <Reference ReferenceType=\"HasTypeDefinition\">i=63</Reference>\n            <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n        </References>\n    </UAVariable>\n    <UAVariable DataType=\"TireEnum\" NodeId=\"ns=1;i=37\" BrowseName=\"tiretype\" ParentNodeId=\"ns=1;i=33\">\n        <DisplayName>tiretype</DisplayName>\n        <References>\n            <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=33</Reference>\n            <Reference ReferenceType=\"HasTypeDefinition\">i=63</Reference>\n            <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n        </References>\n    </UAVariable>\n    <UAVariable DataType=\"DateTime\" NodeId=\"ns=1;i=38\" BrowseName=\"buildDate\">\n        <DisplayName>buildDate</DisplayName>\n        <References>\n            <Reference ReferenceType=\"HasTypeDefinition\">i=63</Reference>\n        </References>\n    </UAVariable>\n    <UAObject SymbolicName=\"S_Owner_\" NodeId=\"ns=1;i=39\" BrowseName=\"&lt;Owner&gt;\">\n        <DisplayName>&lt;Owner&gt;</DisplayName>\n        <References>\n            <Reference ReferenceType=\"HasTypeDefinition\">ns=1;i=7</Reference>\n        </References>\n    </UAObject>\n    <UAVariable DataType=\"String\" NodeId=\"ns=1;i=40\" BrowseName=\"Name\" ParentNodeId=\"ns=1;i=39\">\n        <DisplayName>Name</DisplayName>\n        <References>\n            <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=39</Reference>\n            <Reference ReferenceType=\"HasTypeDefinition\">i=63</Reference>\n        </References>\n    </UAVariable>\n    <UAVariable DataType=\"Int32\" NodeId=\"ns=1;i=41\" BrowseName=\"Age\" ParentNodeId=\"ns=1;i=39\">\n        <DisplayName>Age</DisplayName>\n        <References>\n            <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=39</Reference>\n            <Reference ReferenceType=\"HasTypeDefinition\">i=63</Reference>\n        </References>\n    </UAVariable>\n    <UAVariable DataType=\"String\" NodeId=\"ns=1;i=42\" BrowseName=\"Gender\" ParentNodeId=\"ns=1;i=39\">\n        <DisplayName>Gender</DisplayName>\n        <References>\n            <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=39</Reference>\n            <Reference ReferenceType=\"HasTypeDefinition\">i=63</Reference>\n        </References>\n    </UAVariable>\n    <UAVariable DataType=\"Float\" NodeId=\"ns=1;i=6000\" BrowseName=\"diameter\" ParentNodeId=\"ns=1;i=31\">\n        <DisplayName>diameter</DisplayName>\n        <References>\n            <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=31</Reference>\n            <Reference ReferenceType=\"HasTypeDefinition\">i=63</Reference>\n            <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n        </References>\n    </UAVariable>\n    <UAVariable DataType=\"Float\" NodeId=\"ns=1;i=6001\" BrowseName=\"pressure\" ParentNodeId=\"ns=1;i=31\">\n        <DisplayName>pressure</DisplayName>\n        <References>\n            <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=31</Reference>\n            <Reference ReferenceType=\"HasTypeDefinition\">i=63</Reference>\n            <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n        </References>\n    </UAVariable>\n    <UAVariable DataType=\"Float\" NodeId=\"ns=1;i=6002\" BrowseName=\"tickness\" ParentNodeId=\"ns=1;i=31\">\n        <DisplayName>tickness</DisplayName>\n        <References>\n            <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=31</Reference>\n            <Reference ReferenceType=\"HasTypeDefinition\">i=63</Reference>\n            <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n        </References>\n    </UAVariable>\n    <UAVariable DataType=\"TireEnum\" NodeId=\"ns=1;i=6003\" BrowseName=\"tiretype\" ParentNodeId=\"ns=1;i=31\">\n        <DisplayName>tiretype</DisplayName>\n        <References>\n            <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=31</Reference>\n            <Reference ReferenceType=\"HasTypeDefinition\">i=63</Reference>\n            <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n        </References>\n    </UAVariable>\n    <UAVariable DataType=\"ByteString\" NodeId=\"ns=1;i=6004\" BrowseName=\"1:TypeDictionary\" UserAccessLevel=\"3\" AccessLevel=\"3\">\n        <DisplayName>TypeDictionary</DisplayName>\n        <Description>Collects the data type descriptions of http://tricycleTypeV1</Description>\n        <References>\n            <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=93</Reference>\n            <Reference ReferenceType=\"HasTypeDefinition\">i=72</Reference>\n        </References>\n        <Value>\n            <uax:ByteString>PG9wYzpUeXBlRGljdGlvbmFyeSB4bWxuczp4c2k9Imh0dHA6Ly93d3cudzMub3JnLzIwMDEvWE1MU2NoZW1hLWluc3RhbmNlIiB4bWxuczp0bnM9Imh0dHA6Ly90cmljeWNsZVR5cGVWMSIgRGVmYXVsdEJ5dGVPcmRlcj0iTGl0dGxlRW5kaWFuIiB4bWxuczpvcGM9Imh0dHA6Ly9vcGNmb3VuZGF0aW9uLm9yZy9CaW5hcnlTY2hlbWEvIiB4bWxuczp1YT0iaHR0cDovL29wY2ZvdW5kYXRpb24ub3JnL1VBLyIgVGFyZ2V0TmFtZXNwYWNlPSJodHRwOi8vdHJpY3ljbGVUeXBlVjEiPgogICAgPG9wYzpJbXBvcnQgTmFtZXNwYWNlPSJodHRwOi8vb3BjZm91bmRhdGlvbi5vcmcvVUEvIi8+CiAgICA8b3BjOkVudW1lcmF0ZWRUeXBlIExlbmd0aEluQml0cz0iMzIiIE5hbWU9IlRpcmVFbnVtIj4KICAgICAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJNdWQiIFZhbHVlPSIwIi8+CiAgICAgICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iSWNlIiBWYWx1ZT0iMSIvPgogICAgICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IlNhbmQiIFZhbHVlPSIyIi8+CiAgICA8L29wYzpFbnVtZXJhdGVkVHlwZT4KICAgIDxvcGM6U3RydWN0dXJlZFR5cGUgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCIgTmFtZT0iVHJpQ3ljbGVEYXRhVHlwZSI+CiAgICAgICAgPG9wYzpGaWVsZCBUeXBlTmFtZT0ib3BjOkZsb2F0IiBOYW1lPSJ3ZWlnaHQiLz4KICAgICAgICA8b3BjOkZpZWxkIFR5cGVOYW1lPSJ0bnM6V2hlZWxEYXRhVHlwZSIgTmFtZT0id2hlZWwiLz4KICAgICAgICA8b3BjOkZpZWxkIFR5cGVOYW1lPSJvcGM6U3RyaW5nIiBOYW1lPSJNb2RlbCIvPgogICAgPC9vcGM6U3RydWN0dXJlZFR5cGU+CiAgICA8b3BjOlN0cnVjdHVyZWRUeXBlIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiIE5hbWU9IldoZWVsRGF0YVR5cGUiPgogICAgICAgIDxvcGM6RmllbGQgVHlwZU5hbWU9Im9wYzpGbG9hdCIgTmFtZT0idGlja25lc3MiLz4KICAgICAgICA8b3BjOkZpZWxkIFR5cGVOYW1lPSJvcGM6RmxvYXQiIE5hbWU9ImRpYW1ldGVyIi8+CiAgICAgICAgPG9wYzpGaWVsZCBUeXBlTmFtZT0ib3BjOkZsb2F0IiBOYW1lPSJwcmVzc3VyZSIvPgogICAgICAgIDxvcGM6RmllbGQgVHlwZU5hbWU9InRuczpUaXJlRW51bSIgTmFtZT0iVGlyZVR5cGUiLz4KICAgICAgICA8b3BjOkZpZWxkIFR5cGVOYW1lPSJvcGM6SW50MzIiIE5hbWU9InJheXNMZW4iLz4KICAgIDwvb3BjOlN0cnVjdHVyZWRUeXBlPgo8L29wYzpUeXBlRGljdGlvbmFyeT4=</uax:ByteString>\n        </Value>\n    </UAVariable>\n    <UAVariable DataType=\"String\" ValueRank=\"-2\" NodeId=\"ns=1;i=6005\" BrowseName=\"NamespaceUri\" UserAccessLevel=\"3\" AccessLevel=\"3\">\n        <DisplayName>NamespaceUri</DisplayName>\n        <References>\n            <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=6004</Reference>\n            <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n        </References>\n        <Value>\n            <uax:String>http://tricycleTypeV1</uax:String>\n        </Value>\n    </UAVariable>\n    <UAVariable DataType=\"ByteString\" NodeId=\"ns=1;i=6006\" BrowseName=\"1:TypeDictionary\" UserAccessLevel=\"3\" AccessLevel=\"3\">\n        <DisplayName>TypeDictionary</DisplayName>\n        <Description>Collects the data type descriptions of http://tricycleTypeV1</Description>\n        <References>\n            <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=92</Reference>\n            <Reference ReferenceType=\"HasTypeDefinition\">i=72</Reference>\n        </References>\n    </UAVariable>\n    <UAVariable DataType=\"String\" ValueRank=\"-2\" NodeId=\"ns=1;i=6007\" BrowseName=\"NamespaceUri\" UserAccessLevel=\"3\" AccessLevel=\"3\">\n        <DisplayName>NamespaceUri</DisplayName>\n        <References>\n            <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=6006</Reference>\n            <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n        </References>\n        <Value>\n            <uax:String>http://tricycleTypeV1/Types.xsd</uax:String>\n        </Value>\n    </UAVariable>\n    <UAVariable DataType=\"String\" NodeId=\"ns=1;i=6008\" BrowseName=\"1:TriCycleDataType\" UserAccessLevel=\"3\" AccessLevel=\"3\">\n        <DisplayName>TriCycleDataType</DisplayName>\n        <References>\n            <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=6004</Reference>\n            <Reference ReferenceType=\"HasTypeDefinition\">i=69</Reference>\n        </References>\n        <Value>\n            <uax:String>TriCycleDataType</uax:String>\n        </Value>\n    </UAVariable>\n    <UAVariable DataType=\"String\" NodeId=\"ns=1;i=6009\" BrowseName=\"1:WheelDataType\" UserAccessLevel=\"3\" AccessLevel=\"3\">\n        <DisplayName>WheelDataType</DisplayName>\n        <References>\n            <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=6004</Reference>\n            <Reference ReferenceType=\"HasTypeDefinition\">i=69</Reference>\n        </References>\n        <Value>\n            <uax:String>WheelDataType</uax:String>\n        </Value>\n    </UAVariable>\n    <UAVariable DataType=\"String\" NodeId=\"ns=1;i=6010\" BrowseName=\"1:TriCycleDataType\" UserAccessLevel=\"3\" AccessLevel=\"3\">\n        <DisplayName>TriCycleDataType</DisplayName>\n        <References>\n            <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=6006</Reference>\n            <Reference ReferenceType=\"HasTypeDefinition\">i=69</Reference>\n        </References>\n        <Value>\n            <uax:String>//xs:element[@name='TriCycleDataType']</uax:String>\n        </Value>\n    </UAVariable>\n    <UAVariable DataType=\"String\" NodeId=\"ns=1;i=6011\" BrowseName=\"1:WheelDataType\" UserAccessLevel=\"3\" AccessLevel=\"3\">\n        <DisplayName>WheelDataType</DisplayName>\n        <References>\n            <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=6006</Reference>\n            <Reference ReferenceType=\"HasTypeDefinition\">i=69</Reference>\n        </References>\n        <Value>\n            <uax:String>//xs:element[@name='WheelDataType']</uax:String>\n        </Value>\n    </UAVariable>\n</UANodeSet>"
  },
  {
    "path": "SemanticData/Tests/USNodeSetValidationUnitTestProject/XMLModels/ProblemsToReport/eoursel510/UAModelDesignerSolution.uamdsl",
    "content": "﻿<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<?xml-stylesheet type=\"text/xsl\" href=\"UAModelDesignerSolution.xslt\"?>\n<UAModelDesignerSolution xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\" xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\">\n  <Name>Solution10</Name>\n  <Projects>\n    <UAModelDesignerProject ProjectIdentifier=\"61d34135-07eb-442b-948b-118cd5cc9dd9\">\n      <Name>Opc.Ua.NodeSet2.TriCycleType_V1.1.ModelDesign</Name>\n      <CSVFileName>$(ProjectFileName).csv</CSVFileName>\n      <BuildOutputDirectoryName>$(ProjectFileName)</BuildOutputDirectoryName>\n      <FileName>Opc.Ua.NodeSet2.TriCycleType_V1.1.ModelDesign.xml</FileName>\n    </UAModelDesignerProject>\n  </Projects>\n  <ServerDetails codebase=\"\" configuration=\"\" />\n</UAModelDesignerSolution>"
  },
  {
    "path": "SemanticData/Tests/USNodeSetValidationUnitTestProject/XMLModels/ProblemsToReport/fgolra177/Opc.Ua.Semi.NodeSet2.xml",
    "content": "﻿<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<UANodeSet xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\" xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" LastModified=\"2019-04-01T00:00:00Z\" xmlns=\"http://opcfoundation.org/UA/2011/03/UANodeSet.xsd\">\n  <NamespaceUris>\n    <Uri>https://agileo-automation.com/UA/Semi/</Uri>\n  </NamespaceUris>\n  <Models>\n    <Model ModelUri=\"https://agileo-automation.com/UA/Semi/\" Version=\"0.1\" PublicationDate=\"2019-04-01T00:00:00Z\">\n      <RequiredModel ModelUri=\"http://opcfoundation.org/UA/\" Version=\"1.04\" PublicationDate=\"2019-05-01T00:00:00Z\" />\n    </Model>\n  </Models>\n  <Aliases>\n    <Alias Alias=\"Boolean\">i=1</Alias>\n    <Alias Alias=\"SByte\">i=2</Alias>\n    <Alias Alias=\"Byte\">i=3</Alias>\n    <Alias Alias=\"Int16\">i=4</Alias>\n    <Alias Alias=\"UInt16\">i=5</Alias>\n    <Alias Alias=\"Int32\">i=6</Alias>\n    <Alias Alias=\"UInt32\">i=7</Alias>\n    <Alias Alias=\"Int64\">i=8</Alias>\n    <Alias Alias=\"UInt64\">i=9</Alias>\n    <Alias Alias=\"Float\">i=10</Alias>\n    <Alias Alias=\"Double\">i=11</Alias>\n    <Alias Alias=\"DateTime\">i=13</Alias>\n    <Alias Alias=\"String\">i=12</Alias>\n    <Alias Alias=\"ByteString\">i=15</Alias>\n    <Alias Alias=\"Guid\">i=14</Alias>\n    <Alias Alias=\"XmlElement\">i=16</Alias>\n    <Alias Alias=\"NodeId\">i=17</Alias>\n    <Alias Alias=\"ExpandedNodeId\">i=18</Alias>\n    <Alias Alias=\"QualifiedName\">i=20</Alias>\n    <Alias Alias=\"LocalizedText\">i=21</Alias>\n    <Alias Alias=\"StatusCode\">i=19</Alias>\n    <Alias Alias=\"Structure\">i=22</Alias>\n    <Alias Alias=\"Number\">i=26</Alias>\n    <Alias Alias=\"Integer\">i=27</Alias>\n    <Alias Alias=\"UInteger\">i=28</Alias>\n    <Alias Alias=\"HasComponent\">i=47</Alias>\n    <Alias Alias=\"HasProperty\">i=46</Alias>\n    <Alias Alias=\"Organizes\">i=35</Alias>\n    <Alias Alias=\"HasEventSource\">i=36</Alias>\n    <Alias Alias=\"HasNotifier\">i=48</Alias>\n    <Alias Alias=\"HasSubtype\">i=45</Alias>\n    <Alias Alias=\"HasTypeDefinition\">i=40</Alias>\n    <Alias Alias=\"HasModellingRule\">i=37</Alias>\n    <Alias Alias=\"HasEncoding\">i=38</Alias>\n    <Alias Alias=\"HasDescription\">i=39</Alias>\n  </Aliases>\n  <UAObject NodeId=\"ns=1;i=15001\" BrowseName=\"1:MyFolder\">\n    <DisplayName>MyFolder</DisplayName>\n    <Description>Contains all status variables used in GEM</Description>\n    <References>\n      <Reference ReferenceType=\"Organizes\" IsForward=\"false\">i=85</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=61</Reference>\n    </References>\n  </UAObject>\n</UANodeSet>"
  },
  {
    "path": "SemanticData/Tests/USNodeSetValidationUnitTestProject/XMLModels/ProblemsToReport/fgolra177/OpcUaGemModel.xml",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n\n<!--\n        xmlns:di=\"http://opcfoundation.org/UA/DI/\"\n        xmlns:dix=\"http://opcfoundation.org/UA/DI/Types.xsd\"\n        -->\n\n<ModelDesign\n        xmlns:uax=\"http://opcfoundation.org/UA/2008/02/Types.xsd\"\n        xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\"\n        xmlns:ua=\"http://opcfoundation.org/UA/\"\n        xmlns:di=\"http://opcfoundation.org/UA/DI/\"\n        xmlns:semi=\"https://agileo-automation.com/UA/Semi/\"\n        xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\"\n        TargetNamespace=\"https://agileo-automation.com/UA/Semi/\"\n        TargetXmlNamespace=\"https://agileo-automation.com/UA/Semi/\"\n        TargetVersion=\"0.1\"\n        TargetPublicationDate=\"2019-04-01T00:00:00Z\"\n        xmlns=\"http://opcfoundation.org/UA/ModelDesign.xsd\"\n        xsi:schemaLocation=\"http://opcfoundation.org/UA/ModelDesign.xsd ModelDesign.xsd\">\n\n  <Namespaces>\n    <Namespace Name=\"Semi\" Version=\"0.1\" Prefix=\"Opc.Ua.Semi\"\n           XmlNamespace=\"https://agileo-automation.com/UA/Semi/Types.xsd\"\n           XmlPrefix=\"Semi\">https://agileo-automation.com/UA/Semi/</Namespace>\n    <!--<Namespace Name=\"OpcUaDi\" Prefix=\"Opc.Ua.Di\"\n               XmlNamespace=\"http://opcfoundation.org/UA/DI/Types.xsd\"\n               XmlPrefix=\"DI\" FilePath=\"OpcUaDiModel\">http://opcfoundation.org/UA/DI/</Namespace>-->\n    <Namespace Name=\"OpcUa\" Version=\"1.04\" PublicationDate=\"2019-05-01T00:00:00Z\" Prefix=\"Opc.Ua\" InternalPrefix=\"Opc.Ua.Server\"\n           XmlNamespace=\"http://opcfoundation.org/UA/2008/02/Types.xsd\"\n           XmlPrefix=\"OpcUa\">http://opcfoundation.org/UA/</Namespace>\n  </Namespaces>\n\n\n  <Object SymbolicName=\"semi:MyFolder\" TypeDefinition=\"ua:FolderType\">\n    <Description>Contains all status variables used in GEM</Description>\n    <References>\n      <Reference IsInverse=\"true\">\n        <ReferenceType>ua:Organizes</ReferenceType>\n        <TargetId>ua:ObjectsFolder</TargetId>\n      </Reference>\n    </References>\n  </Object>\n\n </ModelDesign>"
  },
  {
    "path": "SemanticData/Tests/USNodeSetValidationUnitTestProject/XMLModelsCorrectModelsUnitTest.cs",
    "content": "﻿//__________________________________________________________________________________________________\n//\n//  Copyright (C) 2022, Mariusz Postol LODZ POLAND.\n//\n//  To be in touch join the community at GitHub: https://github.com/mpostol/OPC-UA-OOI/discussions\n//__________________________________________________________________________________________________\n\nusing Microsoft.VisualStudio.TestTools.UnitTesting;\nusing Moq;\nusing System;\nusing System.Collections.Generic;\nusing System.IO;\nusing System.Linq;\nusing UAOOI.SemanticData.AddressSpace.Abstractions;\nusing UAOOI.SemanticData.BuildingErrorsHandling;\nusing UAOOI.SemanticData.UANodeSetValidation.Helpers;\nusing UAOOI.SemanticData.UANodeSetValidation.XML;\n\nnamespace UAOOI.SemanticData.UANodeSetValidation\n{\n  [TestClass]\n  [DeploymentItem(@\"XMLModels\\CorrectModels\", @\"CorrectModels\\\")]\n  public class XMLModelsCorrectModelsUnitTest\n  {\n    #region TestMethod\n\n    [TestMethod]\n    [TestCategory(\"Deployment\")]\n    [ExpectedExceptionAttribute(typeof(System.InvalidOperationException))]\n    public void WrongFileNFormatTestMethod()\n    {\n      FileInfo _testDataFileInfo = new FileInfo(@\"CorrectModels\\ReferenceTest\\ReferenceTest.NodeSet.xml\");  //File not compliant with the schema.\n      Assert.IsTrue(_testDataFileInfo.Exists);\n      UANodeSet instance = UANodeSet.ReadModelFile(_testDataFileInfo);\n      List<TraceMessage> _trace = new List<TraceMessage>();\n      Mock<Diagnostic.IBuildErrorsHandling> mockTrace = new Mock<Diagnostic.IBuildErrorsHandling>();\n      IAddressSpaceContext _as = new AddressSpaceContext(mockTrace.Object);\n      _as.ImportUANodeSet(instance);\n    }\n\n    [TestMethod]\n    [TestCategory(\"Correct Model\")]\n    public void UAReferenceTestMethod()\n    {\n      List<IUANodeContext> _nodes = ValidateAndExportModelUnitTest(@\"CorrectModels\\ReferenceTest\\ReferenceTest.NodeSet2.xml\", 1, new UriBuilder(\"http://cas.eu/UA/CommServer/UnitTests/ReferenceTest\").Uri);\n      Assert.IsFalse(_nodes.Where<IUANodeContext>(x => x.UANode == null).Any<IUANodeContext>());\n      Assert.AreEqual<int>(1, _nodes.Where<IUANodeContext>(x => x.UANode is UAType).Count<IUANodeContext>());\n    }\n\n    [TestMethod]\n    [TestCategory(\"Correct Model\")]\n    public void UAObjectTypeTestMethod()\n    {\n      //TODO NetworkIdentifier is missing in generated Model Design for DI model #629\n      //TODO The exported model doesn't contain all nodes #653\n      List<IUANodeContext> _nodes = ValidateAndExportModelUnitTest(@\"CorrectModels\\ObjectTypeTest\\ObjectTypeTest.NodeSet2.xml\", 85, new UriBuilder(\"http://cas.eu/UA/CommServer/UnitTests/ObjectTypeTest\").Uri);\n      Assert.IsFalse(_nodes.Where<IUANodeContext>(x => x.UANode == null).Any<IUANodeContext>());\n      Assert.AreEqual<int>(3, _nodes.Where<IUANodeContext>(x => x.UANode is UAType).Count<IUANodeContext>());\n      Assert.AreEqual<int>(1, _nodes.Where<IUANodeContext>(x => x.NodeIdContext == new DataSerialization.NodeId(413, 1)).Count<IUANodeContext>());\n    }\n\n    [TestMethod]\n    [TestCategory(\"Correct Model\")]\n    public void UAVariableTypeTestMethod()\n    {\n      List<IUANodeContext> _nodes = ValidateAndExportModelUnitTest(@\"CorrectModels\\VariableTypeTest\\VariableTypeTest.NodeSet2.xml\", 5, new UriBuilder(\"http://cas.eu/UA/CommServer/UnitTests/VariableTypeTest\").Uri);\n      Assert.IsFalse(_nodes.Where<IUANodeContext>(x => x.UANode == null).Any<IUANodeContext>());\n      Assert.AreEqual<int>(3, _nodes.Where<IUANodeContext>(x => x.UANode is UAType).Count<IUANodeContext>());\n    }\n\n    [TestMethod]\n    [TestCategory(\"Correct Model\")]\n    public void UADataTypeTestMethod()\n    {\n      List<IUANodeContext> _nodes = ValidateAndExportModelUnitTest(@\"CorrectModels\\DataTypeTest\\DataTypeTest.NodeSet2.xml\", 22, new UriBuilder(\"http://cas.eu/UA/CommServer/UnitTests/DataTypeTest\").Uri);\n      Assert.IsFalse(_nodes.Where<IUANodeContext>(x => x.UANode == null).Any<IUANodeContext>());\n      Assert.AreEqual<int>(4, _nodes.Where<IUANodeContext>(x => x.UANode is UAType).Count<IUANodeContext>());\n    }\n\n    #endregion TestMethod\n\n    #region private\n\n    private List<IUANodeContext> ValidateAndExportModelUnitTest(string testDataFileInfo, int numberOfNodes, Uri model)\n    {\n      TracedAddressSpaceContext tracedAddressSpaceContext = new TracedAddressSpaceContext(testDataFileInfo);\n      tracedAddressSpaceContext.Clear();\n      tracedAddressSpaceContext.TestConsistency(0);\n      tracedAddressSpaceContext.UTAddressSpaceCheckConsistency(x => { Assert.Fail(); });\n      tracedAddressSpaceContext.UTReferencesCheckConsistency((x, y, z, v) => Assert.Fail());\n      IEnumerable<IUANodeContext> _nodes = null;\n      tracedAddressSpaceContext.UTValidateAndExportModel(1, x => _nodes = x);\n      Assert.AreEqual<int>(numberOfNodes, _nodes.Count<IUANodeContext>());\n      tracedAddressSpaceContext.ValidateAndExportModel(model);\n      tracedAddressSpaceContext.TestConsistency(0);\n      return _nodes.ToList<IUANodeContext>();\n    }\n\n    #endregion private\n  }\n}"
  },
  {
    "path": "SemanticData/Tests/USNodeSetValidationUnitTestProject/XMLModelsModelsWithErrorsUnitTest.cs",
    "content": "﻿//__________________________________________________________________________________________________\n//\n//  Copyright (C) 2022, Mariusz Postol LODZ POLAND.\n//\n//  To be in touch join the community at GitHub: https://github.com/mpostol/OPC-UA-OOI/discussions\n//__________________________________________________________________________________________________\n\nusing Microsoft.VisualStudio.TestTools.UnitTesting;\nusing System;\nusing System.IO;\nusing System.Linq;\nusing UAOOI.SemanticData.BuildingErrorsHandling;\nusing UAOOI.SemanticData.UANodeSetValidation.Helpers;\n\nnamespace UAOOI.SemanticData.UANodeSetValidation\n{\n  [TestClass]\n  [DeploymentItem(@\"XMLModels\\ModelsWithErrors\\\", @\"ModelsWithErrors\\\")]\n  public class XMLModelsModelsWithErrorsUnitTest\n  {\n    #region TestMethod\n\n    [TestMethod]\n    [TestCategory(\"Incorrect Model\")]\n    public void ObjectEventNotifierOutOfRangeTestMethod()\n    {\n      TracedAddressSpaceContext _log = new TracedAddressSpaceContext(@\"ModelsWithErrors\\WrongEventNotifier.xml\");\n      _log.TestConsistency(1);\n      Assert.AreEqual<string>(BuildError.ModelsCannotBeNull.Identifier, _log[0].BuildError.Identifier);\n      _log.Clear();\n      _log.ValidateAndExportModel(m_NameSpace);\n      _log.TestConsistency(2);\n      Assert.AreEqual<string>(BuildError.WrongEventNotifier.Identifier, _log[0].BuildError.Identifier);\n      Assert.AreEqual<string>(BuildError.NonCategorized.Identifier, _log[1].BuildError.Identifier);\n    }\n\n    [TestMethod]\n    [TestCategory(\"Incorrect Model\")]\n    public void WrongReference2PropertyTestMethod()\n    {\n      TracedAddressSpaceContext _log = new TracedAddressSpaceContext(@\"ModelsWithErrors\\WrongReference2Property.xml\");\n      _log.TestConsistency(1);\n      _log.Clear();\n      _log.ValidateAndExportModel(m_NameSpace);\n      _log.TestConsistency(2);\n      //TODO The exported model doesn't contain all nodes #653 review WrongReference2PropertyTestMethod\n      Assert.AreEqual<string>(BuildError.WrongReference2Property.Identifier, _log[0].BuildError.Identifier);\n      Assert.AreEqual<string>(BuildError.NonCategorized.Identifier, _log[1].BuildError.Identifier);\n    }\n\n    [TestMethod]\n    [TestCategory(\"Incorrect Model\")]\n    public void WrongValueRankTestMethod()\n    {\n      TracedAddressSpaceContext _log = new TracedAddressSpaceContext(@\"ModelsWithErrors\\WrongValueRank.xml\");\n      _log.TestConsistency(1);\n      _log.Clear();\n      _log.ValidateAndExportModel(m_NameSpace);\n      _log.TestConsistency(3);\n      Assert.AreEqual<string>(BuildError.WrongValueRank.Identifier, _log[0].BuildError.Identifier);\n      Assert.AreEqual<string>(BuildError.WrongValueRank.Identifier, _log[1].BuildError.Identifier);\n      Assert.AreEqual<string>(_log[0].Message, _log[1].Message); //Duplicated log entry\n      Assert.AreEqual<string>(\"The value -4 is not supported\", _log[0].Message);\n      Assert.AreEqual<string>(BuildError.NonCategorized.Identifier, _log[2].BuildError.Identifier);\n    }\n\n    [TestMethod]\n    [TestCategory(\"Incorrect Model\")]\n    public void WrongAccessLevelTestMethod()\n    {\n      TracedAddressSpaceContext _log = new TracedAddressSpaceContext(@\"ModelsWithErrors\\WrongAccessLevel.xml\");\n      _log.TestConsistency(1);\n      Assert.AreEqual<string>(BuildError.ModelsCannotBeNull.Identifier, _log[0].BuildError.Identifier);\n      _log.Clear();\n      _log.ValidateAndExportModel(m_NameSpace);\n      _log.TestConsistency(2);\n      Assert.AreEqual<string>(BuildError.WrongAccessLevel.Identifier, _log[0].BuildError.Identifier);\n      Assert.AreEqual<string>(BuildError.NonCategorized.Identifier, _log[1].BuildError.Identifier);\n    }\n\n    [TestMethod]\n    [TestCategory(\"Incorrect Model\")]\n    public void WrongInverseNameTestMethod()\n    {\n      TracedAddressSpaceContext _log = new TracedAddressSpaceContext(@\"ModelsWithErrors\\WrongInverseName.xml\");\n      _log.TestConsistency(1);\n      Assert.AreEqual<string>(BuildError.ModelsCannotBeNull.Identifier, _log[0].BuildError.Identifier);\n      _log.Clear();\n      _log.ValidateAndExportModel(m_NameSpace);\n      _log.TestConsistency(4);\n      Assert.AreEqual<string>(BuildError.WrongInverseName.Identifier, _log[0].BuildError.Identifier);\n      Assert.AreEqual<string>(BuildError.WrongInverseName.Identifier, _log[1].BuildError.Identifier);\n      Assert.AreEqual<string>(BuildError.WrongInverseName.Identifier, _log[2].BuildError.Identifier);\n      Assert.AreEqual<string>(BuildError.NonCategorized.Identifier, _log[3].BuildError.Identifier);\n    }\n\n    [TestMethod]\n    [TestCategory(\"Incorrect Model\")]\n    public void DuplicatedNodeIdTestMethod()\n    {\n      TracedAddressSpaceContext _log = new TracedAddressSpaceContext(@\"ModelsWithErrors\\DuplicatedNodeId.xml\");\n      _log.TestConsistency(2);\n      Assert.AreEqual<string>(BuildError.ModelsCannotBeNull.Identifier, _log[0].BuildError.Identifier);\n      Assert.AreEqual<string>(BuildError.NodeIdDuplicated.Identifier, _log[1].BuildError.Identifier);\n      _log.Clear();\n      _log.ValidateAndExportModel(m_NameSpace);\n      _log.TestConsistency(0);\n    }\n\n    [TestMethod]\n    [TestCategory(\"Incorrect Model\")]\n    public void WrongDisplayNameLength()\n    {\n      TracedAddressSpaceContext _log = new TracedAddressSpaceContext(@\"ModelsWithErrors\\WrongDisplayNameLength.xml\");\n      _log.TestConsistency(1);\n      Assert.AreEqual<string>(BuildError.ModelsCannotBeNull.Identifier, _log[0].BuildError.Identifier);\n      _log.Clear();\n      _log.ValidateAndExportModel(m_NameSpace);\n      _log.TestConsistency(2);\n      Assert.AreEqual<string>(BuildError.WrongDisplayNameLength.Identifier, _log[0].BuildError.Identifier);\n      Assert.AreEqual<string>(BuildError.NonCategorized.Identifier, _log[1].BuildError.Identifier);\n    }\n\n    [TestMethod]\n    [TestCategory(\"Incorrect Model\")]\n    public void WrongWriteMaskValue()\n    {\n      TracedAddressSpaceContext _log = new TracedAddressSpaceContext(@\"ModelsWithErrors\\WrongWriteMask.xml\");\n      _log.TestConsistency(1);\n      Assert.AreEqual<string>(BuildError.ModelsCannotBeNull.Identifier, _log[0].BuildError.Identifier);\n      _log.Clear();\n      _log.ValidateAndExportModel(m_NameSpace);\n      _log.TestConsistency(3);\n      Assert.AreEqual<string>(BuildError.WrongWriteMaskValue.Identifier, _log[0].BuildError.Identifier);\n      Assert.AreEqual<string>(BuildError.WrongWriteMaskValue.Identifier, _log[1].BuildError.Identifier);\n      Assert.AreEqual<string>(BuildError.NonCategorized.Identifier, _log[2].BuildError.Identifier);\n    }\n\n    [TestMethod]\n    [TestCategory(\"Incorrect Model\")]\n    public void NotSupportedFeature()\n    {\n      TracedAddressSpaceContext _log = new TracedAddressSpaceContext(@\"ModelsWithErrors\\NotSupportedFeature.xml\");\n      _log.TestConsistency(1);\n      Assert.AreEqual<string>(BuildError.ModelsCannotBeNull.Identifier, _log[0].BuildError.Identifier);\n      _log.Clear();\n      _log.ValidateAndExportModel(m_NameSpace);\n      _log.TestConsistency(0);\n      //Assert.AreEqual<int>(0, _log.Where<TraceMessage>(x => x.BuildError.Focus != Focus.Diagnostic).Count<TraceMessage>());\n    }\n\n    [TestMethod]\n    [TestCategory(\"Incorrect Model\")]\n    public void WrongBrowseName()\n    {\n      TracedAddressSpaceContext _log = new TracedAddressSpaceContext(@\"ModelsWithErrors\\WrongBrowseName.xml\");\n      _log.TestConsistency(2);\n      Assert.AreEqual<string>(BuildError.ModelsCannotBeNull.Identifier, _log[0].BuildError.Identifier);\n      Assert.AreEqual<string>(BuildError.EmptyBrowseName.Identifier, _log[1].BuildError.Identifier);\n      _log.Clear();\n      _log.ValidateAndExportModel(m_NameSpace);\n      Assert.AreEqual<string>(BuildError.WrongSymbolicName.Identifier, _log[0].BuildError.Identifier);\n      Assert.AreEqual<string>(BuildError.NonCategorized.Identifier, _log[1].BuildError.Identifier);\n    }\n\n    [TestMethod]\n    [TestCategory(\"Incorrect Model\")]\n    public void WrongNodeId()\n    {\n      TracedAddressSpaceContext _log = new TracedAddressSpaceContext(@\"ModelsWithErrors\\WrongNodeId.xml\");\n      _log.TestConsistency(1);\n      Assert.AreEqual<string>(BuildError.ModelsCannotBeNull.Identifier, _log[0].BuildError.Identifier);\n      _log.Clear();\n      _log.ValidateAndExportModel(m_NameSpace);\n      _log.TestConsistency(2);\n      Assert.AreEqual<string>(BuildError.NodeIdNotDefined.Identifier, _log[0].BuildError.Identifier);\n      Assert.AreEqual<string>(BuildError.NonCategorized.Identifier, _log[1].BuildError.Identifier);\n    }\n\n    [TestMethod]\n    [TestCategory(\"Incorrect Model\")]\n    public void UndefinedHasSubtypeTestMethod()\n    {\n      TracedAddressSpaceContext _log = new TracedAddressSpaceContext(@\"ModelsWithErrors\\UndefinedHasSubtype.xml\");\n      _log.TestConsistency(1);\n      Assert.AreEqual<string>(BuildError.ModelsCannotBeNull.Identifier, _log[0].BuildError.Identifier);\n      _log.Clear();\n      _log.ValidateAndExportModel(m_NameSpace);\n      _log.TestConsistency(2);\n      Assert.AreEqual<string>(BuildError.UndefinedHasSubtypeTarget.Identifier, _log[0].BuildError.Identifier);\n      Assert.AreEqual<string>(BuildError.NonCategorized.Identifier, _log[1].BuildError.Identifier);\n    }\n\n    [TestMethod]\n    [TestCategory(\"Incorrect Model\")]\n    public void UndefinedHasTypeDefinitionTestMethod()\n    {\n      FileInfo _testDataFileInfo = new FileInfo(@\"ModelsWithErrors\\UndefinedHasTypeDefinition.xml\");\n      TracedAddressSpaceContext _log = new TracedAddressSpaceContext(@\"ModelsWithErrors\\UndefinedHasTypeDefinition.xml\");\n      _log.TestConsistency(1);\n      Assert.AreEqual<string>(BuildError.ModelsCannotBeNull.Identifier, _log[0].BuildError.Identifier);\n      _log.Clear();\n      _log.ValidateAndExportModel(m_NameSpace);\n      _log.TestConsistency(0);\n      //TODO Recognize problems with P3.7.13 HasTypeDefinition ReferenceType #39\n    }\n\n    /// <summary>\n    /// Class UndefinedHasComponentTargetTestClass: Handle HasComponent ReferenceType errors. #42\n    /// </summary>\n    [TestMethod]\n    [TestCategory(\"Incorrect Model\")]\n    public void UndefinedHasComponentTargetTestMethod()\n    {\n      TracedAddressSpaceContext _log = new TracedAddressSpaceContext(@\"ModelsWithErrors\\UndefinedHasChildren.xml\");\n      _log.TestConsistency(1);\n      Assert.AreEqual<string>(BuildError.ModelsCannotBeNull.Identifier, _log[0].BuildError.Identifier);\n      _log.Clear();\n      _log.ValidateAndExportModel(m_NameSpace);\n      _log.TestConsistency(5);\n      Assert.AreEqual<string>(BuildError.NodeCannotBeNull.Identifier, _log[0].BuildError.Identifier);\n      Assert.AreEqual<string>(BuildError.NodeCannotBeNull.Identifier, _log[1].BuildError.Identifier);\n      Assert.AreEqual<string>(BuildError.DanglingReferenceTarget.Identifier, _log[2].BuildError.Identifier);\n      Assert.AreEqual<string>(BuildError.DanglingReferenceTarget.Identifier, _log[3].BuildError.Identifier);\n      Assert.AreEqual<string>(BuildError.NonCategorized.Identifier, _log[4].BuildError.Identifier);\n    }\n\n    #endregion TestMethod\n\n    #region private\n\n    private readonly Uri m_NameSpace = new Uri(@\"http://commsvr.com/OOIUA/SemanticData/UnitTest/UANodeSetValidationUnitTestProject\");\n\n    #endregion private\n  }\n}"
  },
  {
    "path": "SemanticData/Tests/USNodeSetValidationUnitTestProject/XMLModelsProblemsToReportUnitTest.cs",
    "content": "﻿//__________________________________________________________________________________________________\n//\n//  Copyright (C) 2022, Mariusz Postol LODZ POLAND.\n//\n//  To be in touch join the community at GitHub: https://github.com/mpostol/OPC-UA-OOI/discussions\n//__________________________________________________________________________________________________\n\nusing Microsoft.VisualStudio.TestTools.UnitTesting;\nusing System;\nusing System.Collections.Generic;\nusing System.Diagnostics;\nusing System.Linq;\nusing UAOOI.SemanticData.AddressSpace.Abstractions;\nusing UAOOI.SemanticData.BuildingErrorsHandling;\nusing UAOOI.SemanticData.UANodeSetValidation.Helpers;\nusing UAOOI.SemanticData.UANodeSetValidation.ModelFactoryTestingFixture;\n\nnamespace UAOOI.SemanticData.UANodeSetValidation\n{\n  [TestClass]\n  [DeploymentItem(@\"XMLModels\\ProblemsToReport\", @\"ProblemsToReport\\\")]\n  public class XMLModelsProblemsToReportUnitTest\n  {\n    //[TestMethod]\n    public void ADITest()\n    {\n      TracedAddressSpaceContext traceContext = new TracedAddressSpaceContext(@\"ProblemsToReport\\ADI#509\\Opc.Ua.Adi.NodeSet2.xml\");\n      traceContext.TestConsistency(1);\n      Assert.AreEqual<string>(BuildError.ModelsCannotBeNull.Identifier, traceContext[0].BuildError.Identifier);\n      traceContext.Clear();\n      traceContext.ValidateAndExportModel(new UriBuilder(\"http://opcfoundation.org/UA/ADI/\").Uri);\n      traceContext.TestConsistency(48);\n      Assert.AreEqual<int>(0, traceContext.Where(x => x.BuildError.Focus == Focus.DataEncoding));\n      Assert.AreEqual<int>(0, traceContext.Where(x => x.BuildError.Focus == Focus.DataType));\n      Assert.AreEqual<int>(0, traceContext.Where(x => x.BuildError.Focus == Focus.Naming));\n      Assert.AreEqual<int>(24, traceContext.Where(x => x.BuildError.Focus == Focus.NodeClass));\n      Assert.AreEqual<int>(0, traceContext.Where(x => x.BuildError.Focus == Focus.NonCategorized));\n      Assert.AreEqual<int>(23, traceContext.Where(x => x.BuildError.Focus == Focus.Reference));\n      Assert.AreEqual<int>(2, traceContext.Where(x => x.BuildError.Focus == Focus.XML));\n      //errors\n      Assert.AreEqual<int>(3, traceContext.Where(x => x.BuildError.Identifier == BuildError.NodeIdNotDefined.Identifier));\n      Assert.AreEqual<int>(5, traceContext.Where(x => x.BuildError.Identifier == BuildError.UndefinedHasSubtypeTarget.Identifier));\n      Assert.AreEqual<int>(18, traceContext.Where(x => x.BuildError.Identifier == BuildError.UndefinedHasTypeDefinition.Identifier));\n    }\n\n    [TestMethod]\n    public void NameInheritedFrom0Test()\n    {\n      TracedAddressSpaceContext traceContext = new TracedAddressSpaceContext(@\"ProblemsToReport\\BrowseNameInheritedFrom0\\BrowseNameInheritedFrom0.xml\");\n      IAddressSpaceContext addressSpace = traceContext.AddressSpace;\n      InformationModelFactoryBase testingModelFixture = new InformationModelFactoryBase();\n      traceContext.TestConsistency(0);\n      traceContext.Clear();\n      traceContext.ValidateAndExportModel(new UriBuilder(\"http://tricycleTypeV1\").Uri, testingModelFixture);\n      traceContext.TestConsistency(2);\n      IEnumerable<NodeFactoryBase> nodes = testingModelFixture.Export();\n      Assert.AreEqual(3, nodes.Count<NodeFactoryBase>());\n      Dictionary<string, NodeFactoryBase> nodesDictionary = nodes.ToDictionary<NodeFactoryBase, string>(x => x.SymbolicName.Name);\n      AddressSpaceContext asContext = addressSpace as AddressSpaceContext;\n      IEnumerable<IUANodeContext> allNodes = null;\n      asContext.UTValidateAndExportModel(1, x => allNodes = x);\n      Assert.IsNotNull(allNodes);\n      List<IUANodeContext> orphanedNodes = new List<IUANodeContext>();\n      List<IUANodeContext> processedNodes = new List<IUANodeContext>();\n      foreach (IUANodeContext item in allNodes)\n      {\n        if (!nodesDictionary.ContainsKey(item.UANode.BrowseName.Name))\n        {\n          orphanedNodes.Add(item);\n          Debug.WriteLine($\"The following node has been removed from the model: {item.ToString()}\");\n        }\n        else\n          processedNodes.Add(item);\n      }\n      Debug.WriteLine($\"The recovered information model contains {nodesDictionary.Count} nodes\");\n      Debug.WriteLine($\"The source information model contains {allNodes.Count<IUANodeContext>()} nodes\");\n      Debug.WriteLine($\"Number of nodes not considered for export {orphanedNodes.Count}\");\n      Debug.WriteLine($\"Number of processed nodes {processedNodes.Count}\");\n    }\n\n    [TestMethod]\n    public void eoursel510Test()\n    {\n      TracedAddressSpaceContext traceContext = new TracedAddressSpaceContext(@\"ProblemsToReport\\eoursel510\\Opc.Ua.NodeSet2.TriCycleType_V1.1.xml\");\n      IAddressSpaceContext addressSpace = traceContext.AddressSpace;\n      ModelFactoryTestingFixture.InformationModelFactoryBase testingModelFixture = new InformationModelFactoryBase();\n      traceContext.TestConsistency(0);\n      traceContext.Clear();\n      traceContext.ValidateAndExportModel(new UriBuilder(\"http://tricycleTypeV1\").Uri, testingModelFixture);\n      traceContext.TestConsistency(0);\n      IEnumerable<NodeFactoryBase> nodes = testingModelFixture.Export();\n      Assert.AreEqual(22, nodes.Count<NodeFactoryBase>());\n      Dictionary<string, NodeFactoryBase> nodesDictionary = nodes.ToDictionary<NodeFactoryBase, string>(x => x.SymbolicName.Name);\n      AddressSpaceContext asContext = addressSpace as AddressSpaceContext;\n      IEnumerable<IUANodeContext> allNodes = null;\n      asContext.UTValidateAndExportModel(1, x => allNodes = x);\n      Assert.IsNotNull(allNodes);\n      List<IUANodeContext> orphanedNodes = new List<IUANodeContext>();\n      List<IUANodeContext> processedNodes = new List<IUANodeContext>();\n      foreach (IUANodeContext item in allNodes)\n      {\n        if (!nodesDictionary.ContainsKey(item.UANode.BrowseName.Name))\n        {\n          orphanedNodes.Add(item);\n          Debug.WriteLine($\"The following node has been removed from the model: {item.ToString()}\");\n        }\n        else\n          processedNodes.Add(item);\n      }\n      Debug.WriteLine($\"The recovered information model contains {nodesDictionary.Count} nodes\");\n      Debug.WriteLine($\"The source information model contains {allNodes.Count<IUANodeContext>()} nodes\");\n      Debug.WriteLine($\"Number of nodes not considered for export {orphanedNodes.Count}\");\n      Debug.WriteLine($\"Number of processed nodes {processedNodes.Count}\");\n    }\n\n    [TestMethod]\n    public void fgolra177Test()\n    {\n      TracedAddressSpaceContext traceContext = new TracedAddressSpaceContext(@\"ProblemsToReport\\fgolra177\\Opc.Ua.Semi.NodeSet2.xml\");\n      traceContext.TestConsistency(0);\n      traceContext.Clear();\n      traceContext.ValidateAndExportModel(new UriBuilder(\"https://agileo-automation.com/UA/Semi/\").Uri);\n      traceContext.TestConsistency(0);\n    }\n\n    [TestMethod]\n    public void HasOrderedComponentTest()\n    {\n      TracedAddressSpaceContext traceContext = new TracedAddressSpaceContext(@\"ProblemsToReport\\HasOrderedComponent\\Opc.Ua.NodeSet2.TriCycleType_V1.1.xml\");\n      traceContext.TestConsistency(0);\n      traceContext.Clear();\n      traceContext.ValidateAndExportModel(new UriBuilder(\"http://tricycleTypeV1\").Uri);\n      traceContext.TestConsistency(0);\n    }\n\n    //[TestMethod]\n    public void MachineVisionTest()\n    {\n      TracedAddressSpaceContext traceContext = new TracedAddressSpaceContext(@\"ProblemsToReport\\MachineVision\\Opc.Ua.MachineVision.NodeSet2.xml\");\n      traceContext.TestConsistency(0);\n      traceContext.Clear();\n      traceContext.ValidateAndExportModel(new UriBuilder(\"http://opcfoundation.org/UA/MachineVision\").Uri);\n      traceContext.TestConsistency(2);\n      Assert.AreEqual<string>(BuildError.WrongInverseName.Identifier, traceContext[0].BuildError.Identifier);\n      Assert.AreEqual<string>(BuildError.WrongInverseName.Identifier, traceContext[1].BuildError.Identifier);\n    }\n  }\n}"
  },
  {
    "path": "SemanticData/Tests/USNodeSetValidationUnitTestProject/app.config",
    "content": "﻿<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<configuration>\n  <runtime>\n    <assemblyBinding xmlns=\"urn:schemas-microsoft-com:asm.v1\">\n      <dependentAssembly>\n        <assemblyIdentity name=\"System.Runtime.CompilerServices.Unsafe\" publicKeyToken=\"b03f5f7f11d50a3a\" culture=\"neutral\" />\n        <bindingRedirect oldVersion=\"0.0.0.0-6.0.0.0\" newVersion=\"6.0.0.0\" />\n      </dependentAssembly>\n      <dependentAssembly>\n        <assemblyIdentity name=\"Castle.Core\" publicKeyToken=\"407dd0808d44fbdc\" culture=\"neutral\" />\n        <bindingRedirect oldVersion=\"0.0.0.0-5.0.0.0\" newVersion=\"5.0.0.0\" />\n      </dependentAssembly>\n    </assemblyBinding>\n  </runtime>\n</configuration>"
  },
  {
    "path": "SemanticData/Tests/USNodeSetValidationUnitTestProject/packages.config",
    "content": "﻿<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<packages>\n  <package id=\"Castle.Core\" version=\"5.0.0\" targetFramework=\"net472\" />\n  <package id=\"Moq\" version=\"4.18.1\" targetFramework=\"net472\" />\n  <package id=\"MSTest.TestAdapter\" version=\"2.2.10\" targetFramework=\"net472\" />\n  <package id=\"MSTest.TestFramework\" version=\"2.2.10\" targetFramework=\"net472\" />\n  <package id=\"System.Runtime.CompilerServices.Unsafe\" version=\"6.0.0\" targetFramework=\"net472\" />\n  <package id=\"System.Threading.Tasks.Extensions\" version=\"4.5.4\" targetFramework=\"net472\" />\n  <package id=\"UAOOI.Common.Infrastructure\" version=\"6.4.7\" targetFramework=\"net472\" />\n</packages>"
  },
  {
    "path": "SemanticData/UAModelDesignExport/DataTypeDefinitionFactoryBase.cs",
    "content": "﻿//___________________________________________________________________________________\n//\n//  Copyright (C) 2019, Mariusz Postol LODZ POLAND.\n//\n//  To be in touch join the community at GITTER: https://gitter.im/mpostol/OPC-UA-OOI\n//___________________________________________________________________________________\n\n\nusing System;\nusing System.Collections.Generic;\nusing System.Diagnostics;\nusing System.Linq;\nusing System.Xml;\nusing UAOOI.SemanticData.BuildingErrorsHandling;\nusing UAOOI.SemanticData.InformationModelFactory;\n\nnamespace UAOOI.SemanticData.UAModelDesignExport\n{\n\n  /// <summary>\n  /// Class DataTypeDefinitionFactoryBase.\n  /// Implements the <see cref=\"UAOOI.SemanticData.InformationModelFactory.IDataTypeDefinitionFactory\" />\n  /// </summary>\n  /// <seealso cref=\"UAOOI.SemanticData.InformationModelFactory.IDataTypeDefinitionFactory\" />\n  internal class DataTypeDefinitionFactoryBase : IDataTypeDefinitionFactory\n  {\n\n    #region constructor\n    /// <summary>\n    /// Initializes a new instance of the <see cref=\"DataTypeDefinitionFactoryBase\"/> class.\n    /// </summary>\n    /// <param name=\"traceEvent\">The trace event.</param>\n    public DataTypeDefinitionFactoryBase(Action<TraceMessage> traceEvent)\n    {\n      Debug.Assert(traceEvent != null);\n      m_TraceEvent = traceEvent;\n    }\n    #endregion\n\n    #region IDataTypeDefinitionFactory\n    /// <summary>\n    /// Creates new field and provides an object of <see cref=\"T:UAOOI.SemanticData.InformationModelFactory.IDataTypeFieldFactory\" /> type encapsulating \n    /// information about the field data type. It is assumed that the structure has a sequential layout.For enumerations, the fields are simply a list of values.\n    /// </summary>\n    /// <returns>Returns new instance of the <see cref=\"T:UAOOI.SemanticData.InformationModelFactory.IDataTypeFieldFactory\" />.</returns>\n    public IDataTypeFieldFactory NewField()\n    {\n      DataTypeFieldFactoryBase _new = new DataTypeFieldFactoryBase(m_TraceEvent);\n      m_ListOfDataTypeFieldFactoryBase.Add(_new);\n      return _new;\n    }\n    /// <summary>\n    /// Sets a unique name of the DataType. This field is only specified for nested DataTypeDefinitions.\n    /// The BrowseName of the DataType Node is used otherwise.\n    /// This field is only specified for nested DataTypeDefinitions. The SymbolicName of the DataType Node is used otherwise.\n    /// </summary>\n    /// <remarks>\n    /// TODO Mantis Not supported by the UA Model Design\n    /// </remarks>\n    /// <value>The name represented as <see cref=\"T:System.Xml.XmlQualifiedName\" />.</value>\n    public XmlQualifiedName Name { set; private get; }\n    /// <summary>\n    /// A symbolic name for the data type. It should only be specified if the Name cannot be used for this purpose.\n    /// Only letters, digits or the underscore (‘_’) are permitted.\n    /// </summary>\n    /// <remarks>\n    /// TODO Mantis Not supported by the UA Model Design\n    /// </remarks>\n    /// <value>The symbolic name of thi entity.</value>\n    public string SymbolicName { set; private get; }\n    /// <summary>\n    /// Sets a value indicating whether this instance is option set. This flag indicates that the data type defines the OptionSetValues Property.\n    /// This field is optional.The default value is false.\n    /// </summary>\n    /// <value><c>true</c> if this instance is option set; otherwise, <c>false</c>.</value>\n    public bool IsOptionSet { set; private get; }\n    /// <summary>\n    /// Sets a value indicating whether this instance is union.\n    /// Only one of the Fields defined for the data type is encoded into a value.\n    /// This field is optional.The default value is false. If this value is true, the first field is the switch value.\n    /// </summary>\n    /// <remarks>\n    /// TODO Mantis Not supported by the UA Model Design\n    /// </remarks>\n    /// <value><c>true</c> if this instance is union; otherwise, <c>false</c>.</value>\n    public bool IsUnion { set; private get; } \n    #endregion\n\n    #region internal API\n    internal XML.DataTypeDesign Export()\n    {\n      return new XML.DataTypeDesign()\n      {\n        Fields = m_ListOfDataTypeFieldFactoryBase.Select<DataTypeFieldFactoryBase, XML.Parameter>(x => x.Export()).ToArray<XML.Parameter>(),\n        Encodings = null, //Not supported\n        NoArraysAllowed = false, //Not supported\n        IsOptionSet = IsOptionSet,\n      };\n    }\n    #endregion\n\n    #region private\n    private readonly Action<TraceMessage> m_TraceEvent = null;\n    private List<DataTypeFieldFactoryBase> m_ListOfDataTypeFieldFactoryBase = new List<DataTypeFieldFactoryBase>();\n    #endregion\n\n  }\n\n}\n"
  },
  {
    "path": "SemanticData/UAModelDesignExport/DataTypeFactoryBase.cs",
    "content": "﻿//___________________________________________________________________________________\n//\n//  Copyright (C) 2019, Mariusz Postol LODZ POLAND.\n//\n//  To be in touch join the community at GITTER: https://gitter.im/mpostol/OPC-UA-OOI\n//___________________________________________________________________________________\n\nusing System;\nusing System.Collections.Generic;\nusing System.Diagnostics;\nusing UAOOI.SemanticData.BuildingErrorsHandling;\nusing UAOOI.SemanticData.InformationModelFactory;\nusing UAOOI.SemanticData.UAModelDesignExport.XML;\n\nnamespace UAOOI.SemanticData.UAModelDesignExport\n{\n\n  internal class DataTypeFactoryBase : TypeFactoryBase, IDataTypeFactory\n  {\n\n    /// <summary>\n    /// Initializes a new instance of the <see cref=\"NodeFactoryBase\" /> class.\n    /// </summary>\n    /// <param name=\"traceEvent\">The trace event.</param>\n    public DataTypeFactoryBase(Action<TraceMessage> traceEvent)\n      : base(traceEvent)\n    { }\n\n    //IDataTypeFactory\n    public IDataTypeDefinitionFactory NewDefinition()\n    {\n      Debug.Assert(m_DataTypeDefinitionFactoryBase == null);\n      m_DataTypeDefinitionFactoryBase = new DataTypeDefinitionFactoryBase(TraceEvent);\n      return m_DataTypeDefinitionFactoryBase;\n    }\n\n    //internal  API\n    internal override NodeDesign Export(List<string> path, Action<InstanceDesign, List<string>> createInstanceType)\n    {\n      DataTypeDesign _new = m_DataTypeDefinitionFactoryBase.Export();\n      base.Update(_new, path, createInstanceType);\n      return _new;\n    }\n\n    //private\n    private DataTypeDefinitionFactoryBase m_DataTypeDefinitionFactoryBase = null;\n\n  }\n}\n"
  },
  {
    "path": "SemanticData/UAModelDesignExport/DataTypeFieldFactoryBase.cs",
    "content": "﻿//___________________________________________________________________________________\n//\n//  Copyright (C) 2019, Mariusz Postol LODZ POLAND.\n//\n//  To be in touch join the community at GITTER: https://gitter.im/mpostol/OPC-UA-OOI\n//___________________________________________________________________________________\n\nusing System;\nusing System.Diagnostics;\nusing System.Xml;\nusing UAOOI.SemanticData.InformationModelFactory;\nusing TraceMessage = UAOOI.SemanticData.BuildingErrorsHandling.TraceMessage;\n\nnamespace UAOOI.SemanticData.UAModelDesignExport\n{\n\n  /// <summary>\n  /// Class DataTypeFieldFactoryBase.\n  /// Implements the <see cref=\"UAOOI.SemanticData.InformationModelFactory.IDataTypeFieldFactory\" />\n  /// </summary>\n  /// <seealso cref=\"UAOOI.SemanticData.InformationModelFactory.IDataTypeFieldFactory\" />\n  internal class DataTypeFieldFactoryBase : IDataTypeFieldFactory\n  {\n\n    #region constructors\n    /// <summary>\n    /// Initializes a new instance of the <see cref=\"DataTypeFieldFactoryBase\"/> class.\n    /// </summary>\n    /// <param name=\"traceEvent\">The trace event.</param>\n    internal DataTypeFieldFactoryBase(Action<TraceMessage> traceEvent)\n    {\n      Debug.Assert(traceEvent != null);\n      TraceEvent = traceEvent;\n    }\n    #endregion\n\n    #region IDataTypeFieldFactory\n    /// <summary>\n    /// Sets the DataType name.\n    /// </summary>\n    /// <value>The type of the data.</value>\n    /// <remarks>This field is not specified for subtypes of Enumeration.</remarks>\n    public XmlQualifiedName DataType\n    {\n      set;\n      private get;\n    }\n    /// <summary>\n    /// Sets the name for the field that is unique within the <see cref=\"T:UAOOI.SemanticData.InformationModelFactory.IDataTypeDefinitionFactory\" />.\n    /// </summary>\n    /// <value>The name for the field.</value>\n    public string Name { set; private get; }\n    /// <summary>\n    /// Sets the value rank. It shall be Scalar (-1) or a fixed rank Array (&gt;=1). This field is not specified for subtypes of Enumeration.\n    /// </summary>\n    /// <value>The value rank.</value>\n    public int? ValueRank { set; private get; }\n    /// <summary>\n    /// The value associated with the field. This field is only specified for subtypes of Enumeration.\n    /// For OptionSets the value is the number of the bit associated with the field.\n    /// </summary>\n    /// <value>The value.</value>\n    public int Value { set; private get; }\n    /// <summary>\n    /// Sets the symbolic name of the field. A symbolic name for the field that can be used in auto-generated code. It should only be\n    /// specified if the Name cannot be used for this purpose. Only letters, digits or the underscore (‘_’) are permitted.\n    /// This value is not exposed in the OPC UA Address Space\n    /// </summary>\n    /// <value>The symbolic name to be used by the tool.</value>\n    public string SymbolicName { set; private get; }\n    /// <summary>\n    /// Adds the description for the field in multiple locales\n    /// </summary>\n    /// <param name=\"localeField\">The locale field specified as a string that is composed of a language component and a country/region component as specified by RFC 3066.</param>\n    /// <param name=\"valueField\">The localized text.</param>\n    public void AddDescription(string localeField, string valueField)\n    {\n      Extensions.AddLocalizedText(localeField, valueField, ref m_Description, TraceEvent);\n    }\n    /// <summary>\n    /// Adds the display name.\n    /// </summary>\n    /// <param name=\"localeField\">The locale field specified as a string that is composed of a language component and a country/region component as specified by RFC 3066.</param>\n    /// <param name=\"valueField\">The localized text.</param>\n    public void AddDisplayName(string localeField, string valueField)\n    {\n      Extensions.AddLocalizedText(localeField, valueField, ref m_Description, TraceEvent);\n    }\n    /// <summary>\n    /// Gets the array dimensions.\n    /// </summary>\n    /// <value>The array dimensions.</value>\n    /// <remarks>The maximum length of an array. This field is a comma separated list of unsigned integer values.The list has a number of elements equal to the ValueRank.\n    /// The value is 0 if the maximum is not known for a dimension. This field is not specified if the ValueRank less or equal 0.\n    /// This field is not specified for subtypes of Enumeration or for DataTypes</remarks>\n    public string ArrayDimensions { set; private get; }\n    /// <summary>\n    /// Sets the maximum length of the string.\n    /// </summary>\n    /// <value>The maximum length of the string.</value>\n    /// <remarks>The maximum length of a String or ByteString value. If not known the value is 0. The value is 0 if the DataType is not String or ByteString.\n    /// If the ValueRank &gt; 0 the maximum applies to each element in the array. This field is not specified for subtypes of Enumeration or for DataTypes with\n    /// the OptionSetValues Property.</remarks>\n    public uint MaxStringLength { set; private get; }\n    /// <summary>\n    /// Sets a value indicating whether this instance is optional.\n    /// </summary>\n    /// <value><c>true</c> if this instance is optional; otherwise, <c>false</c>.</value>\n    /// <remarks>The field indicates if a data type field in a structure is optional. This field is optional.The default value is false. This field is not specified for subtypes of Enumeration and Union.</remarks>\n    public bool IsOptional { set; private get; }\n    #endregion\n\n    #region internal API\n    /// <summary>\n    /// Exports this instance to <see cref=\"XML.Parameter \"/>.\n    /// </summary>\n    /// <returns>XML.Parameter.</returns>\n    internal XML.Parameter Export()\n    {\n      bool _ValueRankSpecified;\n      XML.Parameter _newParameter = new XML.Parameter()\n      {\n        DataType = DataType,\n        Description = m_Description,\n        Identifier = Value,\n        IdentifierSpecified = Value != -1,\n        Name = Name,\n        ValueRank = ValueRank.GetValueRank(x => _ValueRankSpecified = x, TraceEvent),\n        ArrayDimensions = ArrayDimensions,\n        BitMask = string.Empty,\n      };\n      return _newParameter;\n    }\n    #endregion\n\n    #region private\n    private Action<TraceMessage> TraceEvent { get; set; }\n    private XML.LocalizedText m_Description = null;\n    #endregion\n\n  }\n\n}\n"
  },
  {
    "path": "SemanticData/UAModelDesignExport/Diagnostic/AssemblyTraceSource.cs",
    "content": "﻿//__________________________________________________________________________________________________\n//\n//  Copyright (C) 2021, Mariusz Postol LODZ POLAND.\n//\n//  To be in touch join the community at GitHub: https://github.com/mpostol/OPC-UA-OOI/discussions\n//__________________________________________________________________________________________________\n\nusing System.Diagnostics;\nusing UAOOI.Common.Infrastructure.Diagnostic;\nusing UAOOI.SemanticData.BuildingErrorsHandling;\n\nnamespace UAOOI.SemanticData.UAModelDesignExport.Diagnostic\n{\n  /// <summary>\n  /// Class AssemblyTraceSource. Implements the <see cref=\"ITraceSource\" />\n  /// </summary>\n  /// <seealso cref=\"ITraceSource\" />\n  internal class AssemblyTraceSource : ITraceSource\n  {\n    /// <summary>\n    /// Initializes a new instance of the <see cref=\"AssemblyTraceSource\"/> class using the default of the <see cref=\"ITraceSource\"/>.\n    /// </summary>\n    internal AssemblyTraceSource()\n    {\n      traceSource = new TraceSourceBase(\"UAModelDesignExport\");\n    }\n\n    /// <summary>\n    /// Initializes a new instance of the <see cref=\"AssemblyTraceSource\"/> class using a provided implementation of the <see cref=\"ITraceSource\"/>.\n    /// </summary>\n    /// <param name=\"traceEvent\">The provided implementation of the <see cref=\"ITraceSource\"/>.</param>\n    internal AssemblyTraceSource(ITraceSource traceEvent)\n    {\n      traceSource = traceEvent;\n    }\n\n    /// <summary>\n    /// Writes the trace message.\n    /// </summary>\n    /// <param name=\"traceMessage\">The trace message.</param>\n    internal void WriteTraceMessage(TraceMessage traceMessage)\n    {\n      traceSource.TraceData(traceMessage.TraceLevel, 39445735, traceMessage.ToString());\n    }\n\n    #region ITraceSource\n\n    /// <summary>\n    /// Writes trace data to the trace listeners in the <see cref=\"P:System.Diagnostics.TraceSource.Listeners\" /> collection using the specified <paramref name=\"eventType\" />,\n    /// event identifier <paramref name=\"id\" />, and trace <paramref name=\"data\" />.\n    /// </summary>\n    /// <param name=\"eventType\">One of the enumeration values that specifies the event type of the trace data.</param>\n    /// <param name=\"id\">A numeric identifier for the event.</param>\n    /// <param name=\"data\">The trace data.</param>\n    public void TraceData(TraceEventType eventType, int id, object data)\n    {\n      traceSource.TraceData(eventType, id, data);\n    }\n\n    #endregion ITraceSource\n\n    private readonly ITraceSource traceSource;\n  }\n}"
  },
  {
    "path": "SemanticData/UAModelDesignExport/Extensions.cs",
    "content": "﻿//___________________________________________________________________________________\n//\n//  Copyright (C) 2019, Mariusz Postol LODZ POLAND.\n//\n//  To be in touch join the community at GITTER: https://gitter.im/mpostol/OPC-UA-OOI\n//___________________________________________________________________________________\n\n\nusing System;\nusing System.Collections.Generic;\nusing UAOOI.SemanticData.BuildingErrorsHandling;\nusing UAOOI.SemanticData.InformationModelFactory;\nusing UAOOI.SemanticData.InformationModelFactory.UAConstants;\n\nnamespace UAOOI.SemanticData.UAModelDesignExport\n{\n\n  /// <summary>\n  /// Class Extensions - provides helper extension functions\n  /// </summary>\n  internal static class Extensions\n  {\n\n    /// <summary>\n    /// Creates symbolics the name joining symbolic names on the path.\n    /// </summary>\n    /// <param name=\"path\">The path.</param>\n    /// <returns>System.String.</returns>\n    internal static string SymbolicName(this List<string> path)\n    {\n      path.Reverse();\n      return String.Join(\"_\", path.ToArray());\n    }\n    internal static void AddLocalizedText(string keyField, string valueField, ref XML.LocalizedText description, Action<TraceMessage> traceEvent)\n    {\n      if (description != null)\n      {\n        traceEvent(TraceMessage.BuildErrorTraceMessage(BuildError.NotSupportedFeature, \"Parameter.Description does not supports array. The description is skipped.\"));\n        return;\n      }\n      description = new XML.LocalizedText()\n      {\n        Key = keyField,\n        Value = valueField,\n      };\n    }\n    /// <summary>\n    /// Gets the value rank.\n    /// </summary>\n    /// <param name=\"valueRank\">The value rank.</param>\n    /// <param name=\"specified\">if set to <c>true</c> the parameter is specified.</param>\n    /// <param name=\"traceEvent\">An <see cref=\"Action\"/> delegate is used to trace event as the <see cref=\"TraceMessage\"/>.</param>\n    /// <returns>Returns value of <see cref=\"XML.ValueRank\" />.</returns>\n    internal static XML.ValueRank GetValueRank(this int? valueRank, Action<bool> specified, Action<TraceMessage> traceEvent)\n    {\n      XML.ValueRank _vr = XML.ValueRank.Scalar;\n      if (!valueRank.HasValue)\n      {\n        specified(false);\n        return _vr;\n      }\n      specified(true);\n      if (valueRank < -2)\n        traceEvent(TraceMessage.BuildErrorTraceMessage(BuildError.WrongValueRank, String.Format(\"The value {0} is not supported\", valueRank)));\n      else if (valueRank == -3)\n        traceEvent(TraceMessage.BuildErrorTraceMessage(BuildError.WrongValueRank, String.Format(\"The value {0} is not supported\", valueRank)));\n      //_vr = ModelDesign.ValueRank.ScalarOrOneDimension;\n      else if (valueRank == -2)\n        _vr = XML.ValueRank.ScalarOrArray;\n      else if (valueRank == -1)\n      {\n        _vr = XML.ValueRank.Scalar;\n        specified(false);\n      }\n      else if (valueRank == 0)\n        _vr = XML.ValueRank.OneOrMoreDimensions;\n      else if (valueRank == 1)\n        _vr = XML.ValueRank.Array;\n      else\n        _vr = XML.ValueRank.OneOrMoreDimensions;\n      return _vr;\n    }\n    internal static XML.AccessLevel GetAccessLevel(this uint? accessLevel, Action<bool> accessLevelSpecified, Action<TraceMessage> traceEvent)\n    {\n      XML.AccessLevel _ret = XML.AccessLevel.None;\n      if (!accessLevel.HasValue)\n      {\n        accessLevelSpecified(false);\n        return _ret;\n      }\n      if (accessLevel == AccessLevels.CurrentReadOrWrite)\n        _ret = XML.AccessLevel.ReadWrite;\n      else if (accessLevel == AccessLevels.CurrentRead)\n        _ret = XML.AccessLevel.Read;\n      else if (accessLevel == AccessLevels.CurrentWrite)\n        _ret = XML.AccessLevel.Write;\n      else\n        traceEvent(TraceMessage.BuildErrorTraceMessage(BuildError.NotSupportedFeature, String.Format(\"The AccessLevel value {0:X} is not supported\", accessLevel)));\n      accessLevelSpecified((int)_ret != 1);\n      return _ret;\n    }\n    internal static string Key(this XML.Reference value)\n    {\n      return $\"{ value.ReferenceType.ToString()} {value.TargetId.ToString()} IsInverse={value.IsInverse}\";\n    }\n    //Extensions for UAOOI\n    internal static XML.Parameter ExportArgument(this Parameter argument, Action<TraceMessage> traceEvent)\n    {\n      bool _ValueRankSpecified = false;\n      XML.ValueRank _ValueRank = argument.ValueRank.GetValueRank(x => _ValueRankSpecified = x, traceEvent);\n      return new XML.Parameter()\n      {\n        DataType = argument.DataType,\n        Description = argument.Descriptions == null || argument.Descriptions.Count == 0 ? null : new XML.LocalizedText() { Key = argument.Descriptions[0].Locale, Value = argument.Descriptions[0].Text },\n        Identifier = 0,\n        IdentifierSpecified = false,\n        Name = argument.Name,\n        ValueRank = _ValueRank,\n      };\n    }\n    internal static XML.ModellingRule ConvertModellingRule(this ModelingRules? modellingRule, Action<bool> isSpecified)\n    {\n      XML.ModellingRule _ret = default(XML.ModellingRule);\n      if (!modellingRule.HasValue)\n      {\n        isSpecified(false);\n        return _ret;\n      }\n      switch (modellingRule)\n      {\n        case ModelingRules.Mandatory:\n          _ret = XML.ModellingRule.Mandatory;\n          break;\n        case ModelingRules.Optional:\n          _ret = XML.ModellingRule.Optional;\n          break;\n        case ModelingRules.MandatoryPlaceholder:\n          _ret = XML.ModellingRule.MandatoryPlaceholder;\n          break;\n        case ModelingRules.OptionalPlaceholder:\n          _ret = XML.ModellingRule.OptionalPlaceholder;\n          break;\n        case ModelingRules.ExposesItsArray:\n          _ret = XML.ModellingRule.ExposesItsArray;\n          break;\n      }\n      isSpecified(true);\n      return _ret;\n    }\n    internal static XML.ReleaseStatus ConvertToReleaseStatus(this ReleaseStatus releaseStatus)\n    {\n      XML.ReleaseStatus _status = XML.ReleaseStatus.Released;\n      switch (releaseStatus)\n      {\n        case ReleaseStatus.Released:\n          _status = XML.ReleaseStatus.Released;\n          break;\n        case ReleaseStatus.Draft:\n          _status = XML.ReleaseStatus.Draft;\n          break;\n        case ReleaseStatus.Deprecated:\n          _status = XML.ReleaseStatus.Deprecated;\n          break;\n      }\n      return _status;\n    }\n    internal static XML.DataTypePurpose ConvertToDataTypePurpose(this DataTypePurpose releaseStatus)\n    {\n      XML.DataTypePurpose _status = XML.DataTypePurpose.Normal;\n      switch (releaseStatus)\n      {\n        case DataTypePurpose.CodeGenerator:\n          _status = XML.DataTypePurpose.CodeGenerator;\n          break;\n        case DataTypePurpose.Normal:\n          _status = XML.DataTypePurpose.Normal;\n          break;\n        case DataTypePurpose.ServicesOnly:\n          _status = XML.DataTypePurpose.ServicesOnly;\n          break;\n      }\n      return _status;\n    }\n  }\n\n}\n"
  },
  {
    "path": "SemanticData/UAModelDesignExport/IModelDesignExport.cs",
    "content": "﻿//__________________________________________________________________________________________________\n//\n//  Copyright (C) 2021, Mariusz Postol LODZ POLAND.\n//\n//  To be in touch join the community at GitHub: https://github.com/mpostol/OPC-UA-OOI/discussions\n//__________________________________________________________________________________________________\n\nusing UAOOI.SemanticData.InformationModelFactory;\nusing UAOOI.SemanticData.UAModelDesignExport.XML;\n\nnamespace UAOOI.SemanticData.UAModelDesignExport\n{\n  /// <summary>\n  /// Interface IModelDesignExport - abstract API of the UAModelDesignExport.\n  /// </summary>\n  public interface IModelDesignExport\n  {\n    /// <summary>\n    /// Gets the factory.\n    /// </summary>\n    /// <returns>An instance of the <see cref=\"IModelFactory\"/> to be used to generate the OPC UA Information Model captured as the <see cref=\"ModelDesign\"/>.</returns>\n    IModelFactory GetFactory();\n\n    /// <summary>\n    ///  Serializes the already generated model using the interface <see cref=\"IModelFactory\"/> and writes the XML document to a file.\n    /// </summary>\n    /// <param name=\"outputFilePtah\">A relative or absolute path for the file containing the serialized object.</param>\n    /// <param name=\"stylesheetName\">Name of the stylesheet document.</param>\n    void ExportToXMLFile(string outputFilePtah, string stylesheetName);\n\n    /// <summary>\n    ///  Serializes the already generated model using the interface <see cref=\"IModelFactory\"/> and writes the XML document to a file.\n    /// </summary>\n    /// <param name=\"outputFilePtah\">A relative or absolute path for the file containing the serialized object.</param>\n    void ExportToXMLFile(string outputFilePtah);\n\n    /// <summary>\n    /// Convert the UA Information Model to graph of objects\n    /// </summary>\n    /// <returns>Returns an instance of the type <see cref=\"ModelDesign\"/>.</returns>\n    ModelDesign ExportToObject();\n  }\n}"
  },
  {
    "path": "SemanticData/UAModelDesignExport/InstanceFactoryBase.cs",
    "content": "﻿//___________________________________________________________________________________\n//\n//  Copyright (C) 2019, Mariusz Postol LODZ POLAND.\n//\n//  To be in touch join the community at GITTER: https://gitter.im/mpostol/OPC-UA-OOI\n//___________________________________________________________________________________\n\nusing System;\nusing System.Collections.Generic;\nusing System.Xml;\nusing UAOOI.SemanticData.BuildingErrorsHandling;\nusing UAOOI.SemanticData.InformationModelFactory;\nusing UAOOI.SemanticData.UAModelDesignExport.XML;\n\nnamespace UAOOI.SemanticData.UAModelDesignExport\n{\n  /// <summary>\n  /// Class InstanceFactoryBase.\n  /// Implements the <see cref=\"UAOOI.SemanticData.UAModelDesignExport.NodeFactoryBase\" />\n  /// Implements the <see cref=\"UAOOI.SemanticData.InformationModelFactory.IInstanceFactory\" />\n  /// </summary>\n  /// <seealso cref=\"UAOOI.SemanticData.UAModelDesignExport.NodeFactoryBase\" />\n  /// <seealso cref=\"UAOOI.SemanticData.InformationModelFactory.IInstanceFactory\" />\n  internal abstract class InstanceFactoryBase : NodeFactoryBase, IInstanceFactory\n  {\n\n    /// <summary>\n    /// Initializes a new instance of the <see cref=\"InstanceFactoryBase\"/> class.\n    /// </summary>\n    /// <param name=\"traceEvent\">The trace event.</param>\n    public InstanceFactoryBase(Action<TraceMessage> traceEvent)\n      : base(traceEvent)\n    {}\n    /// <summary>\n    /// Sets the modeling rule, which defines whether the component of a complex type are instantiated.\n    /// This value is defined by processing the object pointed by the HasModelingRule reference.\n    /// </summary>\n    /// <value>The modeling rule.</value>\n    public ModelingRules? ModelingRule\n    {\n      set;\n      private get;\n    }\n    /// <summary>\n    /// Sets the type definition.\n    /// </summary>\n    /// <value>The type definition.</value>\n    public XmlQualifiedName TypeDefinition\n    {\n      set;\n      private get;\n    }\n    /// <summary>\n    /// Sets the type of the reference if it is component of a complex definition.\n    /// </summary>\n    /// <value>The type of the reference used for parent child relationship.</value>\n    public XmlQualifiedName ReferenceType\n    {\n      set;\n      private get;\n    }\n    /// <summary>\n    /// Updates the instance.\n    /// </summary>\n    /// <param name=\"nodeDesign\">The node design.</param>\n    /// <param name=\"path\">The path.</param>\n    /// <param name=\"traceEvent\">The trace event.</param>\n    /// <param name=\"createInstanceType\">Type of the create instance.</param>\n    protected void UpdateInstance(InstanceDesign nodeDesign, List<string> path, System.Action<TraceMessage> traceEvent, Action<InstanceDesign, List<string>> createInstanceType)\n    {\n      nodeDesign.Declaration = null;\n      nodeDesign.MaxCardinality = 0;\n      nodeDesign.MinCardinality = 0;\n      nodeDesign.ModellingRule = this.ModelingRule.ConvertModellingRule(x => nodeDesign.ModellingRuleSpecified = x);\n      nodeDesign.PreserveDefaultAttributes = false;\n      nodeDesign.ReferenceType = this.ReferenceType;\n      nodeDesign.TypeDefinition = this.TypeDefinition;\n      base.UpdateNode(nodeDesign, path, createInstanceType);\n    }\n\n  }\n}\n"
  },
  {
    "path": "SemanticData/UAModelDesignExport/MethodInstanceFactoryBase.cs",
    "content": "﻿//___________________________________________________________________________________\n//\n//  Copyright (C) 2019, Mariusz Postol LODZ POLAND.\n//\n//  To be in touch join the community at GITTER: https://gitter.im/mpostol/OPC-UA-OOI\n//___________________________________________________________________________________\n\nusing System;\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Xml;\nusing UAOOI.SemanticData.BuildingErrorsHandling;\nusing UAOOI.SemanticData.InformationModelFactory;\nusing UAOOI.SemanticData.InformationModelFactory.UAConstants;\n\nnamespace UAOOI.SemanticData.UAModelDesignExport\n{\n\n  /// <summary>\n  /// Class MethodInstanceFactoryBase.\n  /// Implements the <see cref=\"UAOOI.SemanticData.UAModelDesignExport.InstanceFactoryBase\" />\n  /// Implements the <see cref=\"UAOOI.SemanticData.InformationModelFactory.IMethodInstanceFactory\" />\n  /// </summary>\n  /// <seealso cref=\"UAOOI.SemanticData.UAModelDesignExport.InstanceFactoryBase\" />\n  /// <seealso cref=\"UAOOI.SemanticData.InformationModelFactory.IMethodInstanceFactory\" />\n  internal class MethodInstanceFactoryBase : InstanceFactoryBase, IMethodInstanceFactory\n  {\n\n    /// <summary>\n    /// Initializes a new instance of the <see cref=\"InstanceFactoryBase\" /> class.\n    /// </summary>\n    /// <param name=\"traceEvent\">The trace event.</param>\n    public MethodInstanceFactoryBase(Action<TraceMessage> traceEvent)\n      : base(traceEvent)\n    { }\n\n    #region IMethodInstanceFactory\n    /// <summary>\n    /// Sets a value indicating whether the Method node is executable (“False” means not executable, “True” means executable), not taking user access rights into account.\n    /// If the server cannot get the executable information from the underlying system, it should state that it is executable. If a Method is called, the server should transfer\n    /// this request and return the corresponding StatusCode if such a request is rejected.\n    /// </summary>\n    /// <value><c>true</c> if executable; otherwise, <c>false</c>. Default value is <c>true</c></value>\n    public bool? Executable\n    {\n      set;\n      private get;\n    }\n    /// <summary>\n    /// Sets a value indicating whether the Method is currently executable taking user access rights into account (“False” means not executable, “True” means executable).\n    /// </summary>\n    /// <value><c>true</c> if executable by current user; otherwise, <c>false</c>. Default value is <c>true</c></value>\n    public bool? UserExecutable\n    {\n      set;\n      private get;\n    }\n    /// <summary>\n    /// Gets or sets the method declaration identifier defined in Part 6  F.9. May be specified for Method Nodes that are a target of a HasComponent reference from a single Object Node.\n    /// It is the NodeId of the UAMethod with the same BrowseName contained in the TypeDefinition associated with the Object Node.\n    /// If the TypeDefinition overrides a Method inherited from a base ObjectType then this attribute shall reference the Method Node in the subtype.\n    /// </summary>\n    /// <value>The method declaration identifier.</value>\n    public string MethodDeclarationId { set; private get; }\n    /// <summary>\n    /// Adds the input arguments. The InputArgument specify the input argument of the Method. The Method contains an array of the Argument data type.\n    /// An empty array indicates that there are no input arguments for the Method.\n    /// </summary>\n    /// <param name=\"argument\">Encapsulates a method used to convert Argument represented as <see cref=\"T:System.Xml.XmlElement\" />.</param>\n    public void AddInputArguments(Func<XmlElement, Parameter[]> argument)\n    {\n      m_InputArguments = RemoveArguments(BrowseNames.InputArguments, argument);\n    }\n    /// <summary>\n    /// Adds the output argument. The OutputArgument specifies the output argument of the Method. The Method contains an array of the Argument data type.\n    /// An empty array indicates that there are no output arguments for the Method.\n    /// </summary>\n    /// <param name=\"argument\">Encapsulates a method used to convert Argument represented as <see cref=\"T:System.Xml.XmlElement\" />.</param>\n    public void AddOutputArguments(Func<System.Xml.XmlElement, Parameter[]> argument)\n    {\n      m_OutputArguments = RemoveArguments(BrowseNames.OutputArguments, argument);\n    }\n    /// <summary>\n    /// Adds the argument description.\n    /// </summary>\n    /// <param name=\"name\">The name.</param>\n    /// <param name=\"locale\">The locale.</param>\n    /// <param name=\"value\">The value.</param>\n    /// <exception cref=\"NotImplementedException\"></exception>\n    public void AddArgumentDescription(string name, string locale, string value)\n    {\n      if (m_ArgumentsDescription.ContainsKey(name))\n        m_ArgumentsDescription[name].Add(new XML.LocalizedText() { Key = locale, Value = value });\n      else\n        m_ArgumentsDescription.Add(name, new List<XML.LocalizedText>() { new XML.LocalizedText() { Key = locale, Value = value } });\n    }\n    #endregion\n\n    //internal API\n    /// <summary>\n    /// Exports the an instance of <see cref=\"XML.NodeDesign\"/>.\n    /// </summary>\n    /// <param name=\"path\">The path.</param>\n    /// <param name=\"createInstanceType\">Type of the create instance.</param>\n    /// <returns>XML.NodeDesign.</returns>\n    internal override XML.NodeDesign Export(List<string> path, Action<XML.InstanceDesign, List<string>> createInstanceType)\n    {\n      XML.MethodDesign _new = new XML.MethodDesign()\n      {\n        InputArguments = GetArguments(m_InputArguments),\n        OutputArguments = GetArguments(m_OutputArguments),\n        NonExecutable = Executable.GetValueOrDefault(false),\n        NonExecutableSpecified = Executable.HasValue\n      };\n      string MethodDeclarationId = this.MethodDeclarationId; //TODO it is not present in the XML.MethodDesign\n      base.UpdateInstance(_new, path, TraceEvent, createInstanceType);\n      createInstanceType(_new, path);\n      return _new;\n    }\n\n    #region private\n    //var\n    private IEnumerable<Parameter> m_InputArguments = null;\n    private IEnumerable<Parameter> m_OutputArguments = null;\n    private Dictionary<string, List<XML.LocalizedText>> m_ArgumentsDescription = new Dictionary<string, List<XML.LocalizedText>>();\n    //method\n    private XML.Parameter[] GetArguments(IEnumerable<Parameter> parameter)\n    {\n      XML.Parameter[] _arguments = parameter?.Select<Parameter, XML.Parameter>(x => x.ExportArgument(TraceEvent)).ToArray<XML.Parameter>();\n      if (_arguments != null)\n        foreach (XML.Parameter _item in _arguments)\n        {\n          if (m_ArgumentsDescription.ContainsKey(_item.Name))\n          {\n            List<XML.LocalizedText> _argumentDescription = m_ArgumentsDescription[_item.Name];\n            _argumentDescription.Add(_item.Description);\n            //TODO Report error - the model design doesn't support array of localized descriptions.\n            _item.Description = _argumentDescription.ToArray<XML.LocalizedText>()[0];\n          }\n        }\n      return _arguments;\n    }\n    private IEnumerable<Parameter> RemoveArguments(string parameterKind, Func<XmlElement, Parameter[]> getParameters)\n    {\n      Parameter[] _parameters = null;\n      List<NodeFactoryBase> _newChildrenCollection = new List<NodeFactoryBase>();\n      foreach (NodeFactoryBase _item in m_Nodes)\n      {\n        if (_item.SymbolicName.Equals(new XmlQualifiedName(parameterKind, Namespaces.OpcUa)))\n        {\n          PropertyInstanceFactoryBase _arg = (PropertyInstanceFactoryBase)_item;\n          _parameters = getParameters(_arg.DefaultValue);\n        }\n        else\n          _newChildrenCollection.Add(_item);\n      }\n      m_Nodes = _newChildrenCollection;\n      return _parameters == null || _parameters.Length == 0 ? null : _parameters.AsEnumerable<Parameter>();\n    }\n    #endregion\n  }\n\n}\n"
  },
  {
    "path": "SemanticData/UAModelDesignExport/ModelDesignExport.cs",
    "content": "﻿//__________________________________________________________________________________________________\n//\n//  Copyright (C) 2021, Mariusz Postol LODZ POLAND.\n//\n//  To be in touch join the community at GitHub: https://github.com/mpostol/OPC-UA-OOI/discussions\n//__________________________________________________________________________________________________\n\nusing System;\nusing System.Diagnostics;\nusing System.IO;\nusing UAOOI.Common.Infrastructure.Diagnostic;\nusing UAOOI.Common.Infrastructure.Serializers;\nusing UAOOI.SemanticData.InformationModelFactory;\nusing UAOOI.SemanticData.UAModelDesignExport.Diagnostic;\n\nnamespace UAOOI.SemanticData.UAModelDesignExport\n{\n  /// <summary>\n  /// Class ModelDesignExport - captures functionality supporting export functionality of the OPC UA Information Model represented by an XML file compliant with UA Model Design.\n  /// </summary>\n  public abstract class ModelDesignExportAPI\n  {\n    #region factory\n\n    /// <summary>\n    /// Gets the model design export.\n    /// </summary>\n    /// <returns>An instance capturing model design export implemented using the <see cref=\"IModelDesignExport\"/> interface.</returns>\n    public static IModelDesignExport GetModelDesignExport()\n    {\n      return new ModelDesignExport();\n    }\n\n    internal static IModelDesignExport GetModelDesignExport(ITraceSource traceSource)\n    {\n      return new ModelDesignExport(traceSource);\n    }\n\n    #endregion factory\n\n    private class ModelDesignExport : IModelDesignExport\n    {\n      #region IModelDesignExport\n\n      /// <summary>\n      /// Gets the factory.\n      /// </summary>\n      /// <returns>An instance of the <see cref=\"IModelFactory\"/> to be used to generate the OPC UA Information Model captured as the <see cref=\"XML.ModelDesign\"/>.</returns>\n      public IModelFactory GetFactory()\n      {\n        m_Model = new ModelFactory(m_traceEvent.WriteTraceMessage);\n        return m_Model;\n      }\n\n      /// <summary>\n      ///  Serializes the already generated model using the interface <see cref=\"IModelFactory\"/> and writes the XML document to a file.\n      /// </summary>\n      /// <param name=\"outputFilePtah\">A relative or absolute path for the file containing the serialized object.</param>\n      public void ExportToXMLFile(string outputFilePtah)\n      {\n        ExportToXMLFile(outputFilePtah, string.Empty);\n      }\n\n      /// <summary>\n      ///  Serializes the already generated model using the interface <see cref=\"IModelFactory\"/> and writes the XML document to a file.\n      /// </summary>\n      /// <param name=\"outputFilePtah\">A relative or absolute path for the file containing the serialized object.</param>\n      /// <param name=\"stylesheetName\">Name of the stylesheet document.</param>\n      public void ExportToXMLFile(string outputFilePtah, string stylesheetName)\n      {\n        if (m_Model == null)\n          throw new ArgumentNullException(\"UAModelDesign\", \"The model must be generated first.\");\n        if (string.IsNullOrEmpty(outputFilePtah))\n          throw new ArgumentNullException(nameof(outputFilePtah), $\"{nameof(outputFilePtah)} must be a valid file path.\");\n        XML.ModelDesign _model = m_Model.Export();\n        XmlFile.WriteXmlFile<XML.ModelDesign>(_model, outputFilePtah, FileMode.Create, stylesheetName);\n        m_traceEvent.TraceData(TraceEventType.Information, 279330276, $\"The ModelDesign XML has been saved to file {outputFilePtah} and decorated with the stylesheet {stylesheetName}\");\n      }\n\n      /// <summary>\n      /// Convert the UA Information Model to graph of objects\n      /// </summary>\n      /// <returns>Returns an instance of the type <see cref=\"XML.ModelDesign\"/>.</returns>\n      public XML.ModelDesign ExportToObject()\n      {\n        m_traceEvent.TraceData(TraceEventType.Information, 52892026, $\"The ModelDesign a graph of objects is exporting\");\n        return m_Model.Export();\n      }\n\n      #endregion IModelDesignExport\n\n      #region private\n\n      private ModelFactory m_Model = null;\n      private readonly AssemblyTraceSource m_traceEvent;\n\n      internal ModelDesignExport(ITraceSource traceEvent)\n      {\n        m_traceEvent = new AssemblyTraceSource(traceEvent);\n      }\n\n      internal ModelDesignExport()\n      {\n        m_traceEvent = new AssemblyTraceSource();\n      }\n\n      #endregion private\n    }\n  }\n}"
  },
  {
    "path": "SemanticData/UAModelDesignExport/ModelFactory.cs",
    "content": "﻿//__________________________________________________________________________________________________\n//\n//  Copyright (C) 2022, Mariusz Postol LODZ POLAND.\n//\n//  To be in touch join the community at GitHub: https://github.com/mpostol/OPC-UA-OOI/discussions\n//__________________________________________________________________________________________________\n\nusing System;\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Xml;\nusing UAOOI.SemanticData.InformationModelFactory;\nusing UAOOI.SemanticData.UAModelDesignExport.XML;\nusing TraceMessage = UAOOI.SemanticData.BuildingErrorsHandling.TraceMessage;\n\nnamespace UAOOI.SemanticData.UAModelDesignExport\n{\n  /// <summary>\n  /// Class ModelFactory.\n  /// Implements the <see cref=\"UAOOI.SemanticData.UAModelDesignExport.NodesContainer\" />\n  /// Implements the <see cref=\"UAOOI.SemanticData.InformationModelFactory.IModelFactory\" />\n  /// </summary>\n  /// <seealso cref=\"UAOOI.SemanticData.UAModelDesignExport.NodesContainer\" />\n  /// <seealso cref=\"UAOOI.SemanticData.InformationModelFactory.IModelFactory\" />\n  internal class ModelFactory : NodesContainer, IModelFactory\n  {\n    /// <summary>\n    /// Initializes a new instance of the <see cref=\"ModelFactory\"/> class.\n    /// </summary>\n    /// <param name=\"traceEvent\">The trace event.</param>\n    public ModelFactory(Action<TraceMessage> traceEvent)\n      : base(traceEvent)\n    { }\n\n    //IModelFactory\n    /// <summary>\n    /// Creates the namespace description for the provided <see cref=\"Uri\"/>.\n    /// </summary>\n    /// <param name=\"uri\">The <see cref=\"Uri\"/>.</param>\n    /// <param name=\"publicationDate\">The publication <seealso cref=\"DateTime\"/>- when the model was published. This value is used for comparisons if the Model is defined in multiple files.</param>\n    /// <param name=\"version\">The <seealso cref=\"Version\"/> of the model. This is a human readable string and not intended for programmatic comparisons.</param>\n    /// <remarks>The set of objects that the OPC Unified Architecture server makes available to clients is referred to as its Address Space. The namespace is provided to make the BrowseName unique in the Address Space.</remarks>\n    void IModelFactory.CreateNamespace(Uri uri, DateTime? publicationDate, Version version)\n    {\n      string uriString = uri == null ? string.Empty : uri.ToString();\n      Namespace _new = new Namespace()\n      {\n        FilePath = string.Empty,\n        InternalPrefix = uriString,\n        Name = string.Format(\"Name{0}\", m_Count),\n        Prefix = string.Format(\"Prefix{0}\", m_Count++),\n        Value = uriString,\n        XmlNamespace = uriString,\n        XmlPrefix = string.Format(\"Prefix{0}\", m_Count++),\n        PublicationDate = publicationDate.HasValue ? XmlConvert.ToString(publicationDate.Value, XmlDateTimeSerializationMode.Utc): null,\n        Version = version == null ? String.Empty : version.ToString()\n      };\n      m_Namespaces.Add(_new);\n    }\n\n    //internal  API\n    /// <summary>\n    /// Exports this instance.\n    /// </summary>\n    /// <returns>ModelDesign.</returns>\n    internal ModelDesign Export()\n    {\n      List<NodeDesign> _mdNodes = new List<NodeDesign>();\n      List<string> path = new List<string>();\n      base.ExportNodes(_mdNodes, path, (x, y) => CreateInstanceType(x, y, _mdNodes));\n      return new ModelDesign()\n      {\n        Items = _mdNodes.ToArray<NodeDesign>(),\n        Namespaces = m_Namespaces.ToArray<Namespace>(),\n        TargetNamespace = m_Namespaces[1].Value,\n        AnyAttr = null,\n        DefaultLocale = null,\n        TargetPublicationDate = DateTime.Today,\n        TargetPublicationDateSpecified = true,\n        TargetVersion = string.Empty,\n        TargetXmlNamespace = null\n      };\n    }\n\n    //private\n    private List<Namespace> m_Namespaces = new List<Namespace>();\n\n    private static int m_Count = 0;\n\n    private void CreateInstanceType(InstanceDesign instance, List<string> browsePath, List<NodeDesign> mdNodes)\n    {\n      return;\n    }\n  }\n}"
  },
  {
    "path": "SemanticData/UAModelDesignExport/NodeFactoryBase.cs",
    "content": "﻿//___________________________________________________________________________________\n//\n//  Copyright (C) 2019, Mariusz Postol LODZ POLAND.\n//\n//  To be in touch join the community at GITTER: https://gitter.im/mpostol/OPC-UA-OOI\n//___________________________________________________________________________________\n\nusing System;\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Xml;\nusing UAOOI.SemanticData.InformationModelFactory;\nusing UAOOI.SemanticData.InformationModelFactory.UAConstants;\nusing TraceMessage = UAOOI.SemanticData.BuildingErrorsHandling.TraceMessage;\n\nnamespace UAOOI.SemanticData.UAModelDesignExport\n{\n\n  internal abstract class NodeFactoryBase : NodesContainer, INodeFactory\n  {\n\n    /// <summary>\n    /// Initializes a new instance of the <see cref=\"NodeFactoryBase\"/> class.\n    /// </summary>\n    /// <param name=\"traceEvent\">Encapsulates an action used to trace events and model errors.</param>\n    public NodeFactoryBase(Action<TraceMessage> traceEvent) : base(traceEvent) { }\n\n    #region INodeFactory\n    /// <summary>\n    /// It holds the value of the BrowseName attribute of modes in the Address Space.\n    /// </summary>\n    /// <value>The BrowseName of the node.</value>\n    public string BrowseName\n    {\n      set;\n      private get;\n    }\n    /// <summary>\n    /// Add new reference to the references collection of the node. This collection represents all the references defined by the selected Information Model including\n    /// references to the instance declarations nodes. The References list specifies references that must be created for the node during Address Space instantiation.\n    /// The reference can be forward or inverse.\n    /// </summary>\n    /// <returns>IReferenceFactory.</returns>\n    public IReferenceFactory NewReference()\n    {\n      ReferenceFactoryBase _ret = new ReferenceFactoryBase();\n      m_References.Add(_ret);\n      return _ret;\n    }\n    /// <summary>\n    /// Sets the a symbolic name for the node that can be used as a class/field name by a design tools to enhance auto-generated code.\n    /// It should only be specified if the BrowseName cannot be used for this purpose. This field is not used directly to instantiate\n    /// Address Space and is intended for use by design tools. Only letters, digits or the underscore (‘_’) are permitted.\n    /// This attribute is not exposed in the Address Space.\n    /// </summary>\n    /// <value>The symbolic name for the node.</value>\n    public XmlQualifiedName SymbolicName\n    {\n      set;\n      internal get;\n    }\n    /// <summary>\n    /// Sets the write mask. The optional WriteMask attribute represents the WriteMask attribute of the Basic NodeClass, which exposes the possibilities of a client\n    /// to write the attributes of the node. The WriteMask attribute does not take any user access rights into account, that is, although an attribute is writable\n    /// this may be restricted to a certain user/user group.\n    /// </summary>\n    /// <value>The write access.</value>\n    /// <remarks>Default Value \"0\"</remarks>\n    public uint WriteAccess { set; private get; }\n    /// <summary>\n    /// Sets the access restrictions.\n    /// </summary>\n    /// <value>The access restrictions.</value>\n    /// <remarks>The AccessRestrictions that apply to the Node.</remarks>\n    public AccessRestrictions AccessRestrictions { set; private get; }\n    /// <summary>\n    /// Sets the release status of the node.\n    /// </summary>\n    /// <value>The release status.</value>\n    /// <remarks>It is not exposed in the address space.\n    /// Added in the Rel 1.04 to the specification.</remarks>\n    public ReleaseStatus ReleaseStatus { set; private get; }\n    /// <summary>\n    /// Sets the data type purpose.\n    /// </summary>\n    /// <value>The data type purpose.</value>\n    /// <exception cref=\"NotImplementedException\"></exception>\n    /// <remarks>Not defined in the specification Part 2, 5, 6 and Errata Release 1.04.2 September 25, 2018</remarks>\n    public DataTypePurpose DataTypePurpose { set; private get; } = DataTypePurpose.Normal;\n    /// <summary>\n    /// Sets the category. A list of identifiers used to group related UANodes together for use by tools that create/edit UANodeSet files.\n    /// </summary>\n    /// <remarks>\n    /// In the UA Model Design it is a comment separated list of categories assigned to the node (e.g. Part4/Services or Part5/StateMachines).\n    /// </remarks>\n    /// <value>The category.</value>\n    public string[] Category { set; private get; } = null;\n    /// <summary>\n    /// Adds new value for the Description. The optional Description element shall explain the meaning of the node in a localized text using the same mechanisms\n    /// for localization as described for the DisplayName.\n    /// </summary>\n    /// <param name=\"localeField\">The locale field.</param>\n    /// <param name=\"valueField\">The value field.</param>\n    public void AddDescription(string localeField, string valueField)\n    {\n      Extensions.AddLocalizedText(localeField, valueField, ref m_Description, TraceEvent);\n    }\n    /// <summary>\n    /// Adds new value for the DisplayName. The DisplayName attribute contains the localized name of the node.\n    /// Clients should use this attribute if they want to display the name of the node to the user. They should not use\n    /// the BrowseName for this purpose. The server may maintain one or more localized representations for each DisplayName.\n    /// Clients negotiate the locale to be returned when they open a session with the server. The section DisplayName defines the structure of the DisplayName.\n    /// The string part of the DisplayName is restricted to 512 characters.\n    /// </summary>\n    /// <param name=\"localeField\">The locale field.</param>\n    /// <param name=\"valueField\">The value field.</param>\n    public void AddDisplayName(string localeField, string valueField)\n    {\n      Extensions.AddLocalizedText(localeField, valueField, ref m_DisplayName, TraceEvent);\n    }\n    #endregion\n\n    #region internal API\n    /// <summary>\n    /// Exports an instance of <see cref=\"XML.NodeDesign\"/>.\n    /// </summary>\n    /// <param name=\"path\">The path.</param>\n    /// <param name=\"createInstanceType\">Type of the create instance.</param>\n    /// <returns>NodeDesign.</returns>\n    internal abstract XML.NodeDesign Export(List<string> path, Action<XML.InstanceDesign, List<string>> createInstanceType);\n    #endregion\n\n    #region private\n    protected void UpdateNode(XML.NodeDesign nodeDesign, List<string> path, Action<XML.InstanceDesign, List<string>> createInstanceType)\n    {\n      string _defaultDisplay = string.IsNullOrEmpty(BrowseName) ? SymbolicName.Name : BrowseName;\n      nodeDesign.BrowseName = BrowseName == SymbolicName.Name ? null : BrowseName;\n      List<XML.NodeDesign> _Members = new List<XML.NodeDesign>();\n      path.Add(SymbolicName.Name);\n      base.ExportNodes(_Members, path, createInstanceType);\n      XML.InstanceDesign[] _items = _Members.Cast<XML.InstanceDesign>().ToArray<XML.InstanceDesign>();\n      nodeDesign.Category = Category == null ? null : string.Join(\", \", Category);\n      nodeDesign.Children = _items == null || _items.Length == 0 ? null : new XML.ListOfChildren() { Items = _items };\n      nodeDesign.Description = m_Description;\n      nodeDesign.DisplayName = m_DisplayName == null || m_DisplayName.Value == _defaultDisplay ? null : m_DisplayName;\n      nodeDesign.IsDeclaration = false;\n      nodeDesign.NotInAddressSpace = false;\n      nodeDesign.NumericId = 0;\n      nodeDesign.NumericIdSpecified = false;\n      nodeDesign.PartNo = 0;\n      nodeDesign.Purpose = DataTypePurpose.ConvertToDataTypePurpose();\n      nodeDesign.References = m_References.Count == 0 ? null : m_References.Select<ReferenceFactoryBase, XML.Reference>(x => x.Export()).ToArray<XML.Reference>();\n      nodeDesign.ReleaseStatus = ReleaseStatus.ConvertToReleaseStatus();\n      nodeDesign.StringId = null;\n      nodeDesign.SymbolicId = null;\n      nodeDesign.SymbolicName = SymbolicName;\n      nodeDesign.WriteAccess = WriteAccess;\n      // AccessRestrictions _access = AccessRestrictions; model design doesn't support AccessRestrictions\n    }\n    private XML.LocalizedText m_Description = null;\n    private XML.LocalizedText m_DisplayName = null;\n    private List<ReferenceFactoryBase> m_References = new List<ReferenceFactoryBase>();\n    #endregion\n\n  }\n\n}\n"
  },
  {
    "path": "SemanticData/UAModelDesignExport/NodesContainer.cs",
    "content": "﻿//___________________________________________________________________________________\n//\n//  Copyright (C) 2019, Mariusz Postol LODZ POLAND.\n//\n//  To be in touch join the community at GITTER: https://gitter.im/mpostol/OPC-UA-OOI\n//___________________________________________________________________________________\n\nusing System;\nusing System.Collections.Generic;\nusing System.Diagnostics;\nusing UAOOI.SemanticData.BuildingErrorsHandling;\nusing UAOOI.SemanticData.InformationModelFactory;\nusing UAOOI.SemanticData.UAModelDesignExport.XML;\n\nnamespace UAOOI.SemanticData.UAModelDesignExport\n{\n  /// <summary>\n  /// Class NodesContainer.\n  /// Implements the <see cref=\"UAOOI.SemanticData.InformationModelFactory.INodeContainer\" />\n  /// </summary>\n  /// <seealso cref=\"UAOOI.SemanticData.InformationModelFactory.INodeContainer\" />\n  internal abstract class NodesContainer : INodeContainer\n  {\n\n    /// <summary>\n    /// Initializes a new instance of the <see cref=\"NodesContainer\"/> class.\n    /// </summary>\n    /// <param name=\"traceEvent\">The trace event.</param>\n    internal NodesContainer(Action<TraceMessage> traceEvent)\n    {\n      Debug.Assert(traceEvent != null);\n      this.TraceEvent = traceEvent;\n    }\n\n    //INodeContainer\n    /// <summary>\n    /// Creates and adds a new node instance of the <see cref=\"T:UAOOI.SemanticData.InformationModelFactory.INodeFactory\" />.\n    /// </summary>\n    /// <typeparam name=\"NodeFactory\">The type of the node factory must inherit from <see cref=\"T:UAOOI.SemanticData.InformationModelFactory.INodeFactory\" />.</typeparam>\n    /// <returns>Returns new object implementing <see cref=\"T:UAOOI.SemanticData.InformationModelFactory.INodeFactory\" />.</returns>\n    /// <exception cref=\"NotImplementedException\"></exception>\n    public NodeFactory AddNodeFactory<NodeFactory>() where NodeFactory : INodeFactory\n    {\n      NodeFactoryBase _df = default(NodeFactoryBase);\n      if (typeof(NodeFactory) == typeof(IReferenceTypeFactory))\n        _df = new ReferenceTypeFactoryBase(TraceEvent);\n      else if (typeof(NodeFactory) == typeof(IObjectTypeFactory))\n        _df = new ObjectTypeFactoryBase(TraceEvent);\n      else if (typeof(NodeFactory) == typeof(IVariableTypeFactory))\n        _df = new VariableTypeFactoryBase(TraceEvent);\n      else if (typeof(NodeFactory) == typeof(IDataTypeFactory))\n        _df = new DataTypeFactoryBase(TraceEvent);\n      else if (typeof(NodeFactory) == typeof(IObjectInstanceFactory))\n        _df = new ObjectInstanceFactoryBase(TraceEvent);\n      else if (typeof(NodeFactory) == typeof(IPropertyInstanceFactory))\n        _df = new PropertyInstanceFactoryBase(TraceEvent);\n      else if (typeof(NodeFactory) == typeof(IVariableInstanceFactory))\n        _df = new VariableInstanceFactoryBase(TraceEvent);\n      else if (typeof(NodeFactory) == typeof(IMethodInstanceFactory))\n        _df = new MethodInstanceFactoryBase(TraceEvent);\n      else if (typeof(NodeFactory) == typeof(IViewInstanceFactory))\n        _df = new ViewInstanceFactoryBase(TraceEvent);\n      else\n        throw new NotImplementedException();\n      m_Nodes.Add(_df);\n      return (NodeFactory)(INodeFactory)_df;\n    }\n\n    //private\n    protected void ExportNodes(List<NodeDesign> members, List<string> path, Action<InstanceDesign, List<string>> createInstanceType)\n    {\n      NodeFactoryBase _currItem = null;\n      foreach (NodeFactoryBase _item in m_Nodes)\n      {\n        try\n        {\n          _currItem = _item;\n          NodeDesign _newNode = _item.Export(new List<string>(path), createInstanceType);\n          members.Add(_newNode);\n        }\n        catch (Exception _ex)\n        {\n          string _msg = String.Format(\"Error caught while processing the node {0}. The message: {1} at {2}.\", _currItem.SymbolicName, _ex.Message, _ex.StackTrace);\n          TraceEvent(TraceMessage.BuildErrorTraceMessage(BuildError.NonCategorized, _msg));\n        }\n      }\n    }\n    protected Action<TraceMessage> TraceEvent { get; private set; }\n    protected List<NodeFactoryBase> m_Nodes = new List<NodeFactoryBase>();\n\n  }\n}\n"
  },
  {
    "path": "SemanticData/UAModelDesignExport/ObjectInstanceFactoryBase.cs",
    "content": "﻿//___________________________________________________________________________________\n//\n//  Copyright (C) 2019, Mariusz Postol LODZ POLAND.\n//\n//  To be in touch join the community at GITTER: https://gitter.im/mpostol/OPC-UA-OOI\n//___________________________________________________________________________________\n\nusing System;\nusing System.Collections.Generic;\nusing UAOOI.SemanticData.InformationModelFactory;\nusing UAOOI.SemanticData.UAModelDesignExport.XML;\nusing TraceMessage = UAOOI.SemanticData.BuildingErrorsHandling.TraceMessage;\n\nnamespace UAOOI.SemanticData.UAModelDesignExport\n{\n\n  /// <summary>\n  /// Class ObjectInstanceFactoryBase.\n  /// Implements the <see cref=\"UAOOI.SemanticData.UAModelDesignExport.InstanceFactoryBase\" />\n  /// Implements the <see cref=\"UAOOI.SemanticData.InformationModelFactory.IObjectInstanceFactory\" />\n  /// </summary>\n  /// <seealso cref=\"UAOOI.SemanticData.UAModelDesignExport.InstanceFactoryBase\" />\n  /// <seealso cref=\"UAOOI.SemanticData.InformationModelFactory.IObjectInstanceFactory\" />\n  internal class ObjectInstanceFactoryBase : InstanceFactoryBase, IObjectInstanceFactory\n  {\n\n    /// <summary>\n    /// Initializes a new instance of the <see cref=\"InstanceFactoryBase\" /> class.\n    /// </summary>\n    /// <param name=\"traceEvent\">The trace event.</param>\n    public ObjectInstanceFactoryBase(Action<TraceMessage> traceEvent)\n      : base(traceEvent)\n    { }\n\n    #region IObjectInstanceFactory\n    /// <summary>\n    /// Sets a value indicating whether the node supports events.\n    /// </summary>\n    /// <value><c>null</c> if supports events contains no value, <c>true</c> if [supports events]; otherwise, <c>false</c>.</value>\n    public bool? SupportsEvents\n    {\n      set;\n      private get;\n    }\n    #endregion\n\n    #region internal API\n    internal override NodeDesign Export(List<string> path, Action<InstanceDesign, List<string>> createInstanceType)\n    {\n      ObjectDesign _ret = new ObjectDesign()\n      {\n        SupportsEvents = this.SupportsEvents.GetValueOrDefault(),\n        SupportsEventsSpecified = this.SupportsEvents.HasValue\n      };\n      base.UpdateInstance(_ret, path, TraceEvent, createInstanceType);\n      return _ret;\n    }\n    #endregion\n\n  }\n}\n"
  },
  {
    "path": "SemanticData/UAModelDesignExport/ObjectTypeFactoryBase.cs",
    "content": "﻿//___________________________________________________________________________________\n//\n//  Copyright (C) Year of Copyright, Mariusz Postol LODZ POLAND.\n//\n//  To be in touch join the community at GITTER: https://gitter.im/mpostol/OPC-UA-OOI\n//___________________________________________________________________________________\n\nusing System;\nusing System.Collections.Generic;\nusing UAOOI.SemanticData.BuildingErrorsHandling;\nusing UAOOI.SemanticData.InformationModelFactory;\nusing UAOOI.SemanticData.UAModelDesignExport.XML;\n\nnamespace UAOOI.SemanticData.UAModelDesignExport\n{\n\n  internal class ObjectTypeFactoryBase : TypeFactoryBase, IObjectTypeFactory\n  {\n\n    /// <summary>\n    /// Initializes a new instance of the <see cref=\"NodeFactoryBase\" /> class.\n    /// </summary>\n    /// <param name=\"traceEvent\">The trace event.</param>\n    public ObjectTypeFactoryBase(Action<TraceMessage> traceEvent)\n      : base(traceEvent)\n    { }\n\n    //internal API\n    internal override NodeDesign Export(List<string> path, Action<InstanceDesign, List<string>> createInstanceType)\n    {\n      ObjectTypeDesign _ret = new ObjectTypeDesign()\n      {\n        SupportsEvents = false,\n        SupportsEventsSpecified = false\n      };\n      base.Update(_ret, path, createInstanceType);\n      return _ret;\n    }\n\n  }\n\n}\n"
  },
  {
    "path": "SemanticData/UAModelDesignExport/Properties/AssemblyInfo.cs",
    "content": "﻿//__________________________________________________________________________________________________\n//\n//  Copyright (C) 2021, Mariusz Postol LODZ POLAND.\n//\n//  To be in touch join the community at GitHub: https://github.com/mpostol/OPC-UA-OOI/discussions\n//__________________________________________________________________________________________________\n\nusing System.Runtime.CompilerServices;\n\n[assembly: InternalsVisibleTo(\n  \"UAOOI.SemanticData.UAModelDesignExport.UnitTest, PublicKey=\" +\n    \"00240000048000009400000006020000002400005253413100040000010001005b97a0972ff6b13a\" +\n    \"8a9ff9c09503aea0e5e2fe29cb2275a0c0942182f4c3431814b6bc9a556d9fe0d7e7823439c1ba28\" +\n    \"521f6318e4c936c4461604ef668e9686c2021571b093e1bfba071b373bc56a07a3afdc120c5313d3\" +\n    \"9a935cda64b759f857ebb3db483641444a5347e1564f8ba6d4fad2f968d3caf9991a4fa6aa019ebe\"\n)]"
  },
  {
    "path": "SemanticData/UAModelDesignExport/Properties/UAModelDesignExport.Nuget.nuspec",
    "content": "﻿<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<package xmlns=\"http://schemas.microsoft.com/packaging/2012/06/nuspec.xsd\">\n  <metadata>\n    <id>UAOOI.SemanticData.UAModelDesignExport</id>\n    <version>6.5.6-Oscar</version>\n    <title>Semantic-Data UAModelDesign Export</title>\n    <authors>Mariusz Postol</authors>\n    <owners>Mariusz Postol</owners>\n    <requireLicenseAcceptance>false</requireLicenseAcceptance>\n    <license type=\"expression\">MIT</license>\n    <projectUrl>https://commsvr.gitbook.io/ooi/semantic-data-processing/addressspacecompliancetesttool/uamodeldesignexport</projectUrl>\n    <icon>Logo64.PNG</icon>\n    <description>\n      This library provides an implementation of the export functionality of an XML file compliant with the UAModelDeign schema. By design, the UAModelDeign schema describes the syntax of an XML document representing the OPC UA Information Model that is used as the input for the https://github.com/OPCFoundation/UA-ModelCompiler.\n    </description>\n    <summary>\n      Object-Oriented Internet Semantic-Data UAModelDesign Export Library.\n    </summary>    \n    <copyright>Copyright (C) 2022 Mariusz Postol LODZ POLAND</copyright>\n    <tags>Object Oriented Internet, OOI, OPC UA, Information Model, IoT, M2M, DOA</tags>\n    <repository type=\"GitHub\" url=\"https://github.com/mpostol/OPC-UA-OOI\" />\n    <releaseNotes>Updated against OPC UA Rel 1.04</releaseNotes>\n    <copyright>Copyright (C) 2022 Mariusz Postol LODZ POLAND</copyright>\n    <dependencies>\n      <group targetFramework=\".NETStandard2.0\">\n        <dependency id=\"UAOOI.Common.Infrastructure\" version=\"6.3.3-Golf\" exclude=\"Build,Analyzers\" />\n        <dependency id=\"UAOOI.SemanticData.BuildingErrorsHandling\" version=\"6.3.3-Golf\" exclude=\"Build,Analyzers\" />\n        <dependency id=\"UAOOI.SemanticData.InformationModelFactory\" version=\"5.1.0\" exclude=\"Build,Analyzers\" />\n      </group>\n    </dependencies>\n  </metadata>\n  <files>\n    <file src=\"..\\..\\..\\CommonResources\\Media\\Logo64.PNG\" target=\"\"/>\n    <file src=\"..\\bin\\Release\\netstandard2.0\\UAOOI.SemanticData.UAModelDesignExport.dll\" target=\"lib\\netstandard2.0\\UAOOI.SemanticData.UAModelDesignExport.dll\" />\n    <file src=\"..\\bin\\Release\\netstandard2.0\\UAOOI.SemanticData.UAModelDesignExport.xml\" target=\"lib\\netstandard2.0\\UAOOI.SemanticData.UAModelDesignExport.xml\" />\n  </files>\n</package>\n\n"
  },
  {
    "path": "SemanticData/UAModelDesignExport/Properties/UAModelDesignExport.Nuget.tt",
    "content": "﻿<#@ template debug=\"false\" hostspecific=\"false\" language=\"C#\" #>\n<#@ output extension=\".nuspec\" #>\n<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<package xmlns=\"http://schemas.microsoft.com/packaging/2012/06/nuspec.xsd\">\n  <metadata>\n    <id><#=m_AssemblyTitle#></id>\n    <version><#= SemanticDataUAModelDesignExportVersion #><#= SemanticDataUAModelDesignExportPrerelease #></version>\n    <title>Semantic-Data UAModelDesign Export</title>\n    <authors><#=Authors#></authors>\n    <owners><#=Owner#></owners>\n    <requireLicenseAcceptance>false</requireLicenseAcceptance>\n    <license type=\"expression\">MIT</license>\n    <projectUrl>https://commsvr.gitbook.io/ooi/semantic-data-processing/addressspacecompliancetesttool/uamodeldesignexport</projectUrl>\n    <icon>Logo64.PNG</icon>\n    <description>\n      This library provides an implementation of the export functionality of an XML file compliant with the UAModelDeign schema. By design, the UAModelDeign schema describes the syntax of an XML document representing the OPC UA Information Model that is used as the input for the https://github.com/OPCFoundation/UA-ModelCompiler.\n    </description>\n    <summary>\n      Object-Oriented Internet Semantic-Data UAModelDesign Export Library.\n    </summary>    \n    <copyright><#=AssemblyCopyright#></copyright>\n    <tags>Object Oriented Internet, OOI, OPC UA, Information Model, IoT, M2M, DOA</tags>\n    <repository type=\"GitHub\" url=\"<#=Url#>\" />\n    <releaseNotes>Updated against OPC UA Rel 1.04</releaseNotes>\n    <copyright><#=AssemblyCopyright#></copyright>\n    <dependencies>\n      <group targetFramework=\".NETStandard2.0\">\n        <dependency id=\"UAOOI.Common.Infrastructure\" version=\"6.3.3-Golf\" exclude=\"Build,Analyzers\" />\n        <dependency id=\"UAOOI.SemanticData.BuildingErrorsHandling\" version=\"6.3.3-Golf\" exclude=\"Build,Analyzers\" />\n        <dependency id=\"UAOOI.SemanticData.InformationModelFactory\" version=\"5.1.0\" exclude=\"Build,Analyzers\" />\n      </group>\n    </dependencies>\n  </metadata>\n  <files>\n    <file src=\"..\\..\\..\\CommonResources\\Media\\Logo64.PNG\" target=\"\"/>\n    <file src=\"..\\bin\\Release\\netstandard2.0\\UAOOI.SemanticData.UAModelDesignExport.dll\" target=\"lib\\netstandard2.0\\UAOOI.SemanticData.UAModelDesignExport.dll\" />\n    <file src=\"..\\bin\\Release\\netstandard2.0\\UAOOI.SemanticData.UAModelDesignExport.xml\" target=\"lib\\netstandard2.0\\UAOOI.SemanticData.UAModelDesignExport.xml\" />\n  </files>\n</package>\n\n<#@ include file = \"..\\..\\..\\CommonResources\\T4Definitions\\Model.t4\" #>\n<#+\nstring m_AssemblyTitle = \"UAOOI.SemanticData.UAModelDesignExport\";\n#>"
  },
  {
    "path": "SemanticData/UAModelDesignExport/PropertyInstanceFactoryBase.cs",
    "content": "﻿//___________________________________________________________________________________\n//\n//  Copyright (C) 2019, Mariusz Postol LODZ POLAND.\n//\n//  To be in touch join the community at GITTER: https://gitter.im/mpostol/OPC-UA-OOI\n//___________________________________________________________________________________\n\nusing System;\nusing System.Collections.Generic;\nusing UAOOI.SemanticData.BuildingErrorsHandling;\nusing UAOOI.SemanticData.InformationModelFactory;\nusing UAOOI.SemanticData.UAModelDesignExport.XML;\n\nnamespace UAOOI.SemanticData.UAModelDesignExport\n{\n\n  /// <summary>\n  /// Class PropertyInstanceFactoryBase.\n  /// </summary>\n  internal class PropertyInstanceFactoryBase : VariableInstanceFactoryBase, IPropertyInstanceFactory\n  {\n\n    /// <summary>\n    /// Initializes a new instance of the <see cref=\"PropertyInstanceFactoryBase\"/> class.\n    /// </summary>\n    /// <param name=\"traceEvent\">The trace event.</param>\n    public PropertyInstanceFactoryBase(Action<TraceMessage> traceEvent)\n      : base(traceEvent)\n    { }\n\n    //internal API\n    internal override NodeDesign Export(List<string> path, Action<InstanceDesign, List<string>> createInstanceType)\n    {\n      PropertyDesign _ret = new PropertyDesign();\n      base.Update(_ret, path, createInstanceType);\n      return _ret;\n    }\n\n  }\n\n}\n"
  },
  {
    "path": "SemanticData/UAModelDesignExport/README.md",
    "content": "﻿# `UAModelDesignExport` Library\n\n## Preface\n\nThe Address Space concept based on types can be a foundation for exposing any process information. The main role of the Address Space is a selective replication of an underlying process, i.e.copying of data from a real process to one Address Space so that all users share the same process state and behavior description. Using the Address Space concept implementation (services) users could also control the underlying process. It is worth stressing that by design the replica hides selected details, hence we can recognize it as an abstract representation of the underlying process. The Address Space is also a cache of the real process data.The data stored in a cache might be the result of an earlier computation or a copy of data stored elsewhere. Concluding, it is a component that stores data so that future requests for that data can be served in a unified and more efficient way.\n\nTo make the Address Space a meaningful representation of the real process for a variety of generic data users it must expose data of the real process in the context of metadata. The Address Space is a collection of nodes that are instances of predefined types (`NodeClass`). Each `NodeClass` is defined as an invariable set of named attributes and a collection of references that shall be assigned (given) values when the node is instantiated.\n\nNumerous elements contribute to the overall process of creating and managing real process replication using the Address Space concept. A detailed description of this topic is covered by the section [Information Models Development](../../SemanticData/InformationModelsDevelopment.md).\n\nIn general, two scenarios can be applied to create an instance of the Address Space:\n\n1. **step-by-step**: users manage it using services available by the API (Application Program Interface)\n2. **en block**: a hosting software application instantiates the Address Space as one whole using a formal description\n\nAt run-time, the step-by-step approach can be applied using `NodeManagement Service Set` defined in [OPC UA Part 4: Services][Opc.UA.Part4].  This Service Set defines functionality to add and delete nodes and references between them in the Address Space that is part of the OPC UA Server application.\n\nBecause the step-by-step approach shall be recognized as the run-time custom approach where the Address Space nodes graph depends on the behavior of users functionality it will need a migration path targeting generation of reusable deliverables (subsection *How to reuse models created in a step-by-step scenario*).\n\nTo promote en block scenario and to create all nodes all together in a united group making up the Address Space content there is a need for a standard syntax that can be used to represent it in a form that can be read by a computer program. The [OPC UA Part 6 - Mappings][Opc.UA.Part6] defines an XML-based schema for this purpose:\n\n> `http://opcfoundation.org/UA/2011/03/UANodeSet.xsd`\n\nThe XML documents compliant with this schema are called `UANodeSet`. This schema can also be used to serialize (i.e. import or export) an arbitrary set of Nodes in the Server Address Space. This serialized form can be used to save Server state for use by the Server later or to exchange with other applications (e.g. to support out-of-band configuration by a Client). The `UANodeSet` documents could also be obtained as an output of a compiler processing OPC UA Information Model as the input.\n\n> Regardless of the method applied to the generation of the `UANodeSet` manual modification of the document compliant with this schema is impractical or even impossible.\n\nTo promote reusability, the publication of process real-time data and metadata in the Address Space requires a prior model development at design-time. From the section [Address Space Model Life-cycle][ASMLC], we can learn that design, development, deployment, and maintenance is a multi-phase engineering process. Moreover, the model deployment process varies depending on the server implementation.  From this section, we can learn that there is a need for a domain-specific language that can be used to represent the OPC UA Information Model in a form that can be suitable for a selected development environment helping architects, engineers, and developers accomplish the above-mentioned tasks and follow the best practice rules.  A domain-specific language is developed to meet a specific need. In this sense, a domain is a narrow area of interest, i.e. representation of the OPC UA Information Model.\n\nA language, domain-specific or not, consist of the following main ingredients:\n\n- **alphabet**: a set of readable letters or symbols in a fixed order\n- **syntax**: defines the notation with which users can express the relevant information (in this case the OPC UA Information Model). It may be textual, graphical, tabular or a mix of these\n- **semantics**: a set of rules that can be used to assign the meaning to the notation that is valid against syntax rules\n\nThe [OPC UA Part 3][Opc.UA.Part3] defines a graphical notation for this purpose. It is normative, however, it is not required to be used. Graphical languages have the following drawbacks:\n\n1. the drawing becomes huge and hard to maintain in case of complex models\n2. it is impractical or even impossible to track the model modifications\n3. the graphical representation is hard to be processed by computers\n\nAdditionally, according to the specification, this graphical notation provides no mechanism to represent some important information required by a generic OPC UA Information Model representation.\n\nIn some development environment, the Unified Modeling Language (UML) is also used instead. It is a standardized modeling language enabling developers to specify, visualize, construct and document artifacts of any information processing system.  Because it is a  generic language it doesn't have any related to the OPC UA Information Model  well-defined semantics rules, so the association of the diagrams and their meaning must be based on intuition limiting the possibility to share the models.\n\n> Therefore instead of graphical notation, a textual `UAModelDesign` notation is commonly used as the domain-specific language supporting OPC UA Information Model design.\n\n## `UAModelDesign` - what's this\n\nThis library provides an implementation of the functionality aimed at the generation of the XML files compliant with the following schema\n\n> `http://opcfoundation.org/UA/ModelDesign.xsd`\n\nThe documents compliant with this schema are referred to as `ModelDeign`. The schema definition is in the local file [UA Model Design.xsd](XML/UA%20Model%20Design.xsd) attached to the project.\n\nBy design, the `UAModelDesign` schema describes the syntax of XML documents that are to be a representation of the OPC UA Information Model. These models may be defined by standardization organizations, vendors or end-users. More on designing and deploying OPC UA Information Model is covered by the section [Information Models Development](../../SemanticData/InformationModelsDevelopment.md).\n\n## `UAModelDesign` - how to use it\n\n### Introduction\n\nFrom the above, we can learn that design, development, deployment, and maintenance of the OPC UA Information Model is a multi-phase engineering process. Moreover, the model deployment varies depending on the server implementation. All of that causes that configuration, behavior and process data binding of the server is a complex task and that is why a development environment is required to help architects, engineers, and developers accomplish this task following the best practice rules. This development tools should support all aspects of the model deployment process including edition, validation, visualization, behavior/data binding definition, and generation of all files allowing the server to expose real-time process data in the context of metadata.\n\nBefore nodes making up the Address Space can be instantiated by the server, the Address Space must be designed first. Model designing is a process aimed at defining a set of types and their associations and, next, creating an Address Space representation in a format appropriate for implementation. The `UAModelDesign` files are used by many tools to help:\n\n1. Design and instantiate the Address Space\n2. Add custom behavior represented in the Address Space by Method nodes\n3. Bidirectionally bind Variable nodes Value attribute with a real process data\n\nA more detailed description of this topic is captured in the section [Address Space Model Life-cycle][ASMLC]\n\nIn the next sections, two tools supporting the OPC UA Information Model deployment process are described. Both use the `UAModelDesign` files format as the input for further processing.\n\n### UA-ModelCompiler\n\nXML documents compliant with the `UAModelDesign` schema may be used as the input for the compiler tool [OPC UA Information Model Compiler][OPC.UA.ModelCompiler]. This compiler generates XML files that may be used to instantiate the UA Address Space complaint wit the [OPC UA Part 3][Opc.UA.Part3]. It also creates the C# and ANSI C source code files which include the UA Services, data-types, error codes, etc.; and variety of the CSV files that contain NodeIds, error codes, and attributes, etc. Visit the above-mentioned home page of this tool to learn more. It is command-line tools and doesn't provide any UA Information Model design functionality.\n\n### Address Space Model Designer\n\nThe main challenge of the project [OPC UA Address Space Model Designer (ASMD)][CAS.ASMD] is to offer the designers a user-friendly tool supporting all aspects of the OPC UA Address Space model designing process. It brings together: designing, learning, and deploying. Description of the main features of the tool is covered by the section [Design and Deployment Support][DDSupport].\n\nTo make this tool as useful as possible, the definition of the created Address Space can be saved to the XML file compatible with the `UAModelDesign` schema used by the OPC UA Software Development Kit released by the OPC Foundation.\n\nThe [ASMD][CAS.ASMD] implements conceptual containers called solutions and projects to apply their settings. Any solution contains one or more projects and it manages the way the designer configures, builds, and deploys sets of related projects. Any project includes source files containing the model representation and related metadata such as properties and references to other projects. The designer integrated development environment provides tools that help you edit and manipulate models, namespaces, and add references to external resources.\n\nDocuments compliant with the `UAModelDesign` schema may be opened as an existing project. Visit the help documentation to learn how to manage the solution [OPC UA Address Space Model Designer Online Help][ASMD.Help].\n\n## How to get started\n\nFigure 1 visualizes dependencies across the code available in the `SemanticData` solution folder on the code map. This code map helps you see how the code fits together without reading through files and lines of code.\n\n![Figure 1 Architecture](../../CommonResources/Media/SemanticData/UAOOI.SemanticData.Architecture.png)\n\n> For the sake of simplicity the unit tests have been removed from the diagram.\n\nThe library `UAOOI.SemanticData.UAModelDesignExport.dll` (`UAModelDesignExport`) is used by the `asp.exe` (`asp`) tool to export `UAModelDesign` files using the `UAOOI.SemanticData.UANodeSetValidation.dll` (`UANodeSetValidation`). The `UANodeSetValidation` implements functionality of the `Address Space Management` described in the section [Semantic-Data Processing Architecture][SDPA].\n\nThe following code snippet contains the most relevant lines of code copied from `asp.exe` that could help you to get started development of a custom application based on this library.\n\n``` C#\n\n  IAddressSpaceContext _as = AddressSpaceFactory.AddressSpace;  //Creates Address Space infrastructure exposed to the API clients using default messages handler.\n  ModelDesignExport _exporter = new ModelDesignExport(); //creates new instance of the ModelDesignExport class that captures functionality supporting export of the OPC UA Information Model represented by an xml file compliant with UAModelDesign schema.\n...\n  _as.InformationModelFactory = _exporter.GetFactory(options.ModelDesignFileName, BuildErrorsHandling.Log.TraceEvent);  //Sets the information model factory, which can be used to export a part of the OPC UA Address Space.\n...\n  _as.ImportUANodeSet(_fileToRead); //Imports a part of the OPC UA Address Space contained in the file compliant with the `UANodeSet` schema.\n...\n  _as.ValidateAndExportModel(options.IMNamespace); //Validates and exports the selected model.\n...\n  _exporter.ExportToXMLFile(options.Stylesheet); //Serializes the already generated model and writes the XML document to a file.\n\n```\n\n## How to install the library using NuGet package\n\nThis library is available as the NuGet package `UAOOI.SemanticData.UAModelDesignExport`. NuGet packages contain reusable code that other developers make available to you for use in your projects. See [What is NuGet?][nuget-intro] for background. Packages are installed into a Visual Studio project using the Package Manager UI or the Package Manager Console. The article [Quick start: Install and use a package in Visual Studio][nuget-install] demonstrates the process.\n\n## How to reuse models created in a step-by-step scenario\n\n1. Generate `UANodeSet` file using your favorite Software Development Kit (SDK)\n    - instantiate Address Space using the available functionality or custom code\n    - export the Address Space to `UANodeSet` file\n2. Generate `UAModelDesign` file using [Address Space Prototyping Tool (ASP) tool][asp.exe]\n    - import the already generated `UANodeSet`\n    - export the UA Information Model to `UAModelDesign` file\n3. Continue the model design using [ASMD tool][CAS.ASMD]\n    - create new or reuse existing solution\n    - open the `UAModelDesign` as the existing project\n4. You are ready to modify the model according to your needs using [ASMD tool][CAS.ASMD]\n5. If done generate all required files using build functionality offered by the [ASMD tool][CAS.ASMD]\n\n## How to reuse models designed in UML\n\n1. Design the UML model according to your needs\n    - using a favorite tool design UML diagrams representing expected OPC UA Information Model\n    - export the model to a suitable form supported as input by `UANodeSet` a custom generating tool\n    - generate `UANodeSet` using the custom `UANodeSet` generating tool\n2. Generate `UAModelDesign` file using [ASP tool][asp.exe]\n    - import the already generated `UANodeSet`\n    - export the UA Information Model to `UAModelDesign` file\n3. Continue the model design using [ASMD tool][CAS.ASMD]\n    - create a new or open existing solution\n    - open the `UAModelDesign` as the existing project\n4. You are ready to modify the model according to your needs using [ASMD tool][CAS.ASMD]\n5. If done generate all required files using build functionality offered by the [ASMD tool][CAS.ASMD]\n\n## XML External resources\n\n- [Index of /UA/schemas/1.04](https://opcfoundation.org/UA/schemas/1.04/)\n- [UAModelDesignExport](https://github.com/mpostol/OPC-UA-OOI/tree/master/SemanticData/UAModelDesignExport)\n- [OPC UA Information Model Compiler][OPC.UA.ModelCompiler]\n\n# TODO\n\n## See also\n\n- [OPC Unified Architecture Specification Part 3: Address Space Model, OPC Foundation, Rel. 1.04, 2017-11-22][Opc.UA.Part3]\n- [OPC Unified Architecture Specification Part 4: Services, OPC Foundation, Rel. 1.04, 2017-11-22][Opc.UA.Part4]\n- [OPC Unified Architecture Specification Part 6: Mappings, OPC Foundation, Rel. 1.04, 2017-11-22][OPC.UA.Part6]\n- [Information Models Development](../../SemanticData/InformationModelsDevelopment.md)\n- [An introduction to NuGet][nuget-intro]\n- [Quick start: Install and use a package in Visual Studio][nuget-install]\n- [Address Space Model Life-cycle][ASMLC]\n- [Design and Deployment Support][DDSupport]\n- [OPC UA Address Space Model Designer tool][CAS.ASMD]\n- [OPC UA Address Space Model Designer WIKI][ASMD.Help]\n- [Semantic-Data Processing Architecture][SDPA]\n- [Address Space Prototyping Tool (ase.exe)][asp.exe]\n\n[asp.exe]:../../SemanticData/AddressSpaceComplianceTestTool/README.md\n[SDPA]:../README.MD\n[ASMD.Help]:https://github.com/mpostol/ASMD/wiki\n[CAS.ASMD]: https://github.com/mpostol/ASMD\n[nuget-intro]:https://docs.microsoft.com/en-us/nuget/what-is-nuget\n[nuget-install]:https://docs.microsoft.com/en-us/nuget/quickstart/install-and-use-a-package-in-visual-studio\n[ASMLC]:../InformationModelLifecycle.md\n[Opc.UA.Part3]:https://opcfoundation.org/developer-tools/specifications-unified-architecture/part-3-address-space-model/\n[Opc.UA.Part6]:https://opcfoundation.org/developer-tools/specifications-unified-architecture/part-6-mappings/\n[Opc.UA.Part4]:https://opcfoundation.org/developer-tools/specifications-unified-architecture/part-4-services/\n[DDSupport]:../../SemanticData/DesignDeploymentSupport.md\n[OPC.UA.ModelCompiler]:https://github.com/mpostol/UA-ModelCompiler#opc-ua-information-model-compiler-\n"
  },
  {
    "path": "SemanticData/UAModelDesignExport/ReferenceFactoryBase.cs",
    "content": "﻿//___________________________________________________________________________________\n//\n//  Copyright (C) 2019, Mariusz Postol LODZ POLAND.\n//\n//  To be in touch join the community at GITTER: https://gitter.im/mpostol/OPC-UA-OOI\n//___________________________________________________________________________________\n\nusing System.Xml;\nusing UAOOI.SemanticData.InformationModelFactory;\nusing UAOOI.SemanticData.UAModelDesignExport.XML;\n\nnamespace UAOOI.SemanticData.UAModelDesignExport\n{\n\n  internal class ReferenceFactoryBase : IReferenceFactory\n  {\n\n    #region IReferenceFactory\n    /// <summary>\n    /// Sets the type of the reference.\n    /// </summary>\n    /// <value>The type of the reference.</value>\n    public XmlQualifiedName ReferenceType\n    {\n      set;\n      private get;\n    }\n    /// <summary>\n    /// Sets the target identifier.\n    /// </summary>\n    /// <value>The target identifier.</value>\n    public XmlQualifiedName TargetId\n    {\n      set;\n      private get;\n    }\n    /// <summary>\n    /// Sets a value indicating whether this instance is inverse.\n    /// </summary>\n    /// <value><c>true</c> if this instance is inverse; otherwise, <c>false</c>.</value>\n    public bool IsInverse\n    {\n      set;\n      private get;\n    }\n    #endregion\n\n    #region internal API\n    internal Reference Export()\n    {\n      return new Reference()\n      {\n        IsInverse = this.IsInverse,\n        IsOneWay = false, //Not supported\n        ReferenceType = this.ReferenceType,\n        TargetId = TargetId\n      };\n    }\n    #endregion\n\n  }\n}\n"
  },
  {
    "path": "SemanticData/UAModelDesignExport/ReferenceTypeFactoryBase.cs",
    "content": "﻿//___________________________________________________________________________________\n//\n//  Copyright (C) 2019, Mariusz Postol LODZ POLAND.\n//\n//  To be in touch join the community at GITTER: https://gitter.im/mpostol/OPC-UA-OOI\n//___________________________________________________________________________________\n\nusing System;\nusing System.Collections.Generic;\nusing UAOOI.SemanticData.BuildingErrorsHandling;\nusing UAOOI.SemanticData.InformationModelFactory;\nusing UAOOI.SemanticData.UAModelDesignExport.XML;\n\nnamespace UAOOI.SemanticData.UAModelDesignExport\n{\n\n  /// <summary>\n  /// Class ReferenceTypeFactoryBase.\n  /// Implements the <see cref=\"UAOOI.SemanticData.UAModelDesignExport.TypeFactoryBase\" />\n  /// Implements the <see cref=\"UAOOI.SemanticData.InformationModelFactory.IReferenceTypeFactory\" />\n  /// </summary>\n  /// <seealso cref=\"UAOOI.SemanticData.UAModelDesignExport.TypeFactoryBase\" />\n  /// <seealso cref=\"UAOOI.SemanticData.InformationModelFactory.IReferenceTypeFactory\" />\n  internal class ReferenceTypeFactoryBase : TypeFactoryBase, IReferenceTypeFactory\n  {\n\n    /// <summary>\n    /// Initializes a new instance of the <see cref=\"NodeFactoryBase\" /> class.\n    /// </summary>\n    /// <param name=\"traceEvent\">The trace event.</param>\n    public ReferenceTypeFactoryBase(Action<TraceMessage> traceEvent)\n      : base(traceEvent)\n    { }\n\n    //IReferenceTypeFactory\n    /// <summary>\n    /// Sets a value indicating whether this <see cref=\"T:UAOOI.SemanticData.InformationModelFactory.IReferenceTypeFactory\" /> is symmetric. The Symmetric attribute is used to indicate whether or not the meaning of the reference type is the same for both the source and target nodes.\n    /// If a reference type is symmetric, the InverseName attribute shall be omitted.Examples of symmetric reference types are “Connects To” and “Communicates With”. Both imply the same semantic coming from the source node or the target node.\n    /// If the ReferenceType is non-symmetric and not abstract, the InverseName attribute shall be set. The optional InverseName attribute of LocalizedText ia a inverse name of the reference,\n    /// i.e.the meaning of the type as seen from the target node. Examples of non-symmetric reference types include “Contains” and “Contained In”, and “Receives From” and “Sends To”.\n    /// </summary>\n    /// <value><c>true</c> if symmetric; otherwise, <c>false</c>.</value>\n    /// <remarks>Default Value is <b>false</b></remarks>\n    public bool Symmetric\n    {\n      set;\n      private get;\n    }\n    /// <summary>\n    /// Adds a new inverse name.\n    /// </summary>\n    /// <param name=\"localeField\">The locale field.</param>\n    /// <param name=\"valueField\">The value field.</param>\n    public void AddInverseName(string localeField, string valueField)\n    {\n      Extensions.AddLocalizedText(localeField, valueField, ref m_InverseName, TraceEvent);\n    }\n\n    //internal API\n    internal override NodeDesign Export(List<string> path, Action<InstanceDesign, List<string>> createInstanceType)\n    {\n      ReferenceTypeDesign _ret = new ReferenceTypeDesign()\n      {\n        InverseName = m_InverseName,\n        Symmetric = this.Symmetric,\n        SymmetricSpecified = this.Symmetric\n      };\n      Update(_ret, path, createInstanceType);\n      return _ret;\n    }\n\n    //private\n    private LocalizedText m_InverseName;\n  }\n\n}\n"
  },
  {
    "path": "SemanticData/UAModelDesignExport/SemanticData.UAModelDesignExport.csproj",
    "content": "<Project Sdk=\"Microsoft.NET.Sdk\">\n\n  <PropertyGroup>\n    <TargetFramework>netstandard2.0</TargetFramework>\n    <AssemblyName>UAOOI.SemanticData.UAModelDesignExport</AssemblyName>\n    <RootNamespace>UAOOI.SemanticData.UAModelDesignExport</RootNamespace>\n    <Description>This library provides implementation o f the export an XML file compliant with the UAModelDeign schema. By design The UAModelDeign schema describes the structure of an XML document representing the OPC UA Information Model that is used as the input for the [`UA-ModelCompiler`](https://github.com/OPCFoundation/UA-ModelCompiler).</Description>\n    <RepositoryType>GitHub</RepositoryType>\n    <Copyright>Copyright (C) 2022 Mariusz Postol LODZ POLAND</Copyright>\n    <Authors>Mariusz Postol</Authors>\n    <Company>commsvr.com</Company>\n    <Product>Object Oriented Internet</Product>\n    <PackageLicenseExpression>MIT</PackageLicenseExpression>\n    <PackageProjectUrl>https://commsvr.gitbook.io/ooi/readme</PackageProjectUrl>\n    <RepositoryUrl>https://github.com/mpostol/OPC-UA-OOI</RepositoryUrl>\n    <RepositoryType>GitHub</RepositoryType>\n    <PackageTags>Object Oriented Internet, OPC UA, Information Model, IoT, M2M, DOA</PackageTags>\n    <SignAssembly>true</SignAssembly>\n    <AssemblyOriginatorKeyFile>OPCUAOOIKey.snk</AssemblyOriginatorKeyFile>\n    <ApplicationIcon />\n    <OutputType>Library</OutputType>\n    <StartupObject />\n    <Version>6.4.6</Version>\n    <AssemblyVersion>6.5.0</AssemblyVersion>\n    <FileVersion>6.5.0</FileVersion>\n    <PackageIconUrl>https://github.com/mpostol/OPC-UA-OOI/blob/master/CommonResources/Media/Logo64.PNG?raw=true</PackageIconUrl>\n    <Title>Object-Oriented Internet Semantic-Data UAModelDesign Export</Title>\n    <GeneratePackageOnBuild>false</GeneratePackageOnBuild>\n  </PropertyGroup>\n\n  <PropertyGroup Condition=\"'$(Configuration)|$(Platform)'=='Debug|AnyCPU'\">\n    <DocumentationFile>bin\\Debug\\netstandard2.0\\UAOOI.SemanticData.UAModelDesignExport.xml</DocumentationFile>\n    <OutputPath>bin\\Debug\\netstandard2.0\\</OutputPath>\n    <NoWarn>1701;1702;IDE0001</NoWarn>\n  </PropertyGroup>\n\n  <PropertyGroup Condition=\"'$(Configuration)|$(Platform)'=='Release|AnyCPU'\">\n    <DocumentationFile>bin\\UAOOI.SemanticData.UAModelDesignExport.xml</DocumentationFile>\n  </PropertyGroup>\n\n  <ItemGroup>\n    <None Remove=\"XML\\UA Defined Types.xml\" />\n  </ItemGroup>\n\n  <ItemGroup>\n    <EmbeddedResource Include=\"XML\\UA Defined Types.xml\" />\n  </ItemGroup>\n\n  <ItemGroup>\n    <PackageReference Include=\"UAOOI.Common.Infrastructure\" Version=\"6.4.7\" />\n  </ItemGroup>\n\n  <ItemGroup>\n    <ProjectReference Include=\"..\\BuildingErrorsHandling\\SemanticData.BuildingErrorsHandling.csproj\" />\n    <ProjectReference Include=\"..\\InformationModelFactory\\SemanticData.InformationModelFactory.csproj\" />\n  </ItemGroup>\n\n  <ItemGroup>\n    <None Update=\"Properties\\UAModelDesignExport.Nuget.nuspec\">\n      <DesignTime>True</DesignTime>\n      <AutoGen>True</AutoGen>\n      <DependentUpon>UAModelDesignExport.Nuget.tt</DependentUpon>\n    </None>\n    <None Update=\"Properties\\UAModelDesignExport.Nuget.tt\">\n      <Generator>TextTemplatingFileGenerator</Generator>\n      <LastGenOutput>UAModelDesignExport.Nuget.nuspec</LastGenOutput>\n    </None>\n  </ItemGroup>\n\n  <ItemGroup>\n    <Service Include=\"{508349b6-6b84-4df5-91f0-309beebad82d}\" />\n  </ItemGroup>\n\n</Project>\n"
  },
  {
    "path": "SemanticData/UAModelDesignExport/TypeFactoryBase.cs",
    "content": "﻿//___________________________________________________________________________________\n//\n//  Copyright (C) 2019, Mariusz Postol LODZ POLAND.\n//\n//  To be in touch join the community at GITTER: https://gitter.im/mpostol/OPC-UA-OOI\n//___________________________________________________________________________________\n\nusing System;\nusing System.Collections.Generic;\nusing System.Xml;\nusing UAOOI.SemanticData.BuildingErrorsHandling;\nusing UAOOI.SemanticData.InformationModelFactory;\nusing UAOOI.SemanticData.UAModelDesignExport.XML;\n\nnamespace UAOOI.SemanticData.UAModelDesignExport\n{\n\n  /// <summary>\n  /// Class TypeFactoryBase.\n  /// Implements the <see cref=\"UAOOI.SemanticData.UAModelDesignExport.NodeFactoryBase\" />\n  /// Implements the <see cref=\"UAOOI.SemanticData.InformationModelFactory.ITypeFactory\" />\n  /// </summary>\n  /// <seealso cref=\"UAOOI.SemanticData.UAModelDesignExport.NodeFactoryBase\" />\n  /// <seealso cref=\"UAOOI.SemanticData.InformationModelFactory.ITypeFactory\" />\n  internal abstract class TypeFactoryBase : NodeFactoryBase, ITypeFactory\n  {\n\n    /// <summary>\n    /// Initializes a new instance of the <see cref=\"NodeFactoryBase\" /> class.\n    /// </summary>\n    /// <param name=\"traceEvent\">The trace event.</param>\n    public TypeFactoryBase(Action<TraceMessage> traceEvent)\n      : base(traceEvent)\n    { }\n\n    #region ITypeFactory\n    /// <summary>\n    /// Sets the base type of the node.\n    /// </summary>\n    /// <value>The base type represented by the <see cref=\"T:System.Xml.XmlQualifiedName\" />.</value>\n    public XmlQualifiedName BaseType\n    {\n      set;\n      private get;\n    }\n    /// <summary>\n    /// Sets a value indicating whether this instance is abstract.\n    /// </summary>\n    /// <value><c>true</c> if this instance is abstract; otherwise, <c>false</c>.</value>\n    /// <remarks>Default Value is false</remarks>\n    public bool IsAbstract\n    {\n      set;\n      private get;\n    }\n    #endregion\n\n    //internal API\n    internal void Update(TypeDesign nodeDesign, List<string> path, Action<InstanceDesign, List<string>> createInstanceType)\n    {\n      nodeDesign.BaseType = this.BaseType;\n      nodeDesign.ClassName = String.Empty;\n      nodeDesign.IsAbstract = this.IsAbstract;\n      nodeDesign.NoClassGeneration = false;\n      base.UpdateNode(nodeDesign, path, createInstanceType);\n    }\n\n  }\n}\n"
  },
  {
    "path": "SemanticData/UAModelDesignExport/VariableInstanceFactoryBase.cs",
    "content": "﻿//___________________________________________________________________________________\n//\n//  Copyright (C) 2019, Mariusz Postol LODZ POLAND.\n//\n//  To be in touch join the community at GITTER: https://gitter.im/mpostol/OPC-UA-OOI\n//___________________________________________________________________________________\n\nusing System;\nusing System.Collections.Generic;\nusing System.Xml;\nusing UAOOI.SemanticData.BuildingErrorsHandling;\nusing UAOOI.SemanticData.InformationModelFactory;\nusing UAOOI.SemanticData.UAModelDesignExport.XML;\n\nnamespace UAOOI.SemanticData.UAModelDesignExport\n{\n\n  internal class VariableInstanceFactoryBase : InstanceFactoryBase, IVariableInstanceFactory\n  {\n\n    /// <summary>\n    /// Initializes a new instance of the <see cref=\"InstanceFactoryBase\" /> class.\n    /// </summary>\n    /// <param name=\"traceEvent\">The trace event.</param>\n    public VariableInstanceFactoryBase(System.Action<TraceMessage> traceEvent)\n      : base(traceEvent)\n    { }\n\n    #region IVariableInstanceFactory\n    /// <summary>\n    /// Sets the access level. The AccessLevel attribute indicates the accessibility of the Value of a Variable node not taking user access rights into account and\n    /// applies only to a UAVariable element. The AccessLevel attribute is used to indicate how the Value of a Variable node can be accessed (read/write) and\n    /// if it contains current and/or historic data. The AccessLevel does not take any user access rights into account, i.e. although the Variable is writable this\n    /// may be restricted to a certain user / user group.\n    /// </summary>\n    /// <value>The access level.</value>\n    public uint? AccessLevel\n    {\n      set;\n      private get;\n    }\n    /// <summary>\n    /// Sets the array dimensions. This property specifies the length of each dimension for an array value. It is intended to describe the capability of the Variable, not the current size.\n    /// The number of elements shall be equal to the value defined by the ValueRank. It shall be null if ValueRank ≤ 0. The value of 0 for an individual dimension indicates that the dimension has\n    /// a variable length. For example, if a Variable is defined by the following C array:\n    /// Int32 myArray[346];\n    /// then the DataType would point to an Int32, the ValueRank has the value 1 and the ArrayDimensions is an array with one entry having the value 346.\n    /// Note that the maximum length of an array transferred on the wire is 2147483647 (max Int32) and a multidimensional array is encoded as a one dimensional array.\n    /// </summary>\n    /// <value>The array dimensions.</value>\n    /// <remarks>ArrayDimensions is ignored if ValueRank is not equal to the OneOrMoreDimensions.</remarks>\n    public string ArrayDimensions\n    {\n      set;\n      private get;\n    }\n    /// <summary>\n    /// Sets the type of the data. <see cref=\"T:System.Xml.XmlQualifiedName\" /> of the DataType definition for the Value. It is not required that the pointed out element is defined in the same document.\n    /// If that is the case many documents must be combined to resolve and validate this reference.\n    /// </summary>\n    /// <value>The type of the data.</value>\n    public XmlQualifiedName DataType\n    {\n      set;\n      private get;\n    }\n    /// <summary>\n    /// Sets the default value. The value of the Variable node that the server assigns while instantiating the node. Its data type is defined by the DataType field.\n    /// </summary>\n    /// <value>The default value.</value>\n    public XmlElement DefaultValue\n    {\n      set;\n      internal get;\n    }\n    /// <summary>\n    /// Sets a value indicating whether this <see cref=\"T:UAOOI.SemanticData.InformationModelFactory.IVariableInstanceFactory\" /> is historizing. The Historizing attribute indicates whether the server is actively\n    /// collecting data for the history of the Variable node. This differs from the AccessLevel which identifies if the Variable has any historical data. A value of <c>true</c>\n    /// indicates that the server is actively collecting data. A value of <c>false</c> indicates that  the server is not actively collecting data. Default value is <c>false</c>.\n    /// </summary>\n    /// <value><c>true</c> if historizing; otherwise, <c>false</c>.</value>\n    public bool? Historizing\n    {\n      set;\n      private get;\n    }\n    /// <summary>\n    /// Sets the minimum sampling interval. The MinimumSamplingInterval attribute indicates how “current” the Value of the Variable NodeClass will be kept.\n    /// It specifies (in milliseconds) how fast the server can reasonably sample the value for changes. The accuracy of this value (the ability of the server to attain\n    /// “best case” performance) can be greatly affected by the system load and other factors. A MinimumSamplingInterval of 0 indicates that the server is to monitor the\n    /// item continuously. A MinimumSamplingInterval of -1 means indeterminate value.\n    /// </summary>\n    /// <value>The minimum sampling interval.</value>\n    public int? MinimumSamplingInterval\n    {\n      set;\n      private get;\n    }\n    /// <summary>\n    /// Sets the user access level. The UserAccessLevel attribute is used to indicate how the Value attribute of a Variable NodeClass can be accessed (read/write)\n    /// and if it contains current or historic data taking user access rights into account. It applies only to a UAVariable element. If the OPC UA Server does not\n    /// have the ability to get any user access rights related information from the underlying system it should use the same bit mask as used in the AccessLevel attribute.\n    /// The UserAccessLevel attribute can restrict the accessibility indicated by the AccessLevel, but not exceed it.\n    /// </summary>\n    /// <value>The user access level.</value>\n    public byte? UserAccessLevel\n    {\n      set;\n      private get;\n    }\n    /// <summary>\n    /// Sets the value rank. This property indicates whether the value is an array and how many dimensions the array has.\n    /// It may have the following values:\n    /// - n &gt; 1: the Value is an array with the specified number of dimensions.\n    /// - <b>&gt;OneDimension (1)</b>: The value is an array with one dimension.\n    /// - OneOrMoreDimensions (0): The value is an array with one or more dimensions.\n    /// - Scalar (−1): The value is not an array.\n    /// - Any (−2): The value can be a scalar or an array with any number of dimensions.\n    /// - ScalarOrOneDimension (−3): The value can be a scalar or a one dimensional array.\n    /// NOTE: All build in DataTypes are considered to be scalar, even if they have array-like semantics like ByteString and String.\n    /// </summary>\n    /// <value>The value rank.</value>\n    public int? ValueRank\n    {\n      set;\n      private get;\n    }\n    #endregion\n\n    //internal API\n    internal override NodeDesign Export(List<string> path, Action<InstanceDesign, List<string>> createInstanceType)\n    {\n      VariableDesign _ret = new VariableDesign() { };\n      Update(_ret, path, createInstanceType);\n      return _ret;\n    }\n\n    //private\n    protected void Update(VariableDesign node, List<string> path, Action<InstanceDesign, List<string>> createInstanceType)\n    {\n      node.AccessLevel = this.AccessLevel.GetAccessLevel(x => node.AccessLevelSpecified = x, TraceEvent);\n      node.ValueRank = this.ValueRank.GetValueRank(x => node.ValueRankSpecified = x, TraceEvent);\n      node.ArrayDimensions = this.ArrayDimensions;\n      node.DataType = this.DataType; //TODO must be DataType, must not be abstract\n      node.DefaultValue = this.DefaultValue; //TODO must be of type defined by DataType\n      node.Historizing = this.Historizing.GetValueOrDefault();\n      node.HistorizingSpecified = this.Historizing.HasValue;\n      node.MinimumSamplingInterval = this.MinimumSamplingInterval.GetValueOrDefault();\n      node.MinimumSamplingIntervalSpecified = this.MinimumSamplingInterval.HasValue;\n      base.UpdateInstance(node, path, TraceEvent, createInstanceType);\n    }\n\n  }\n\n}\n"
  },
  {
    "path": "SemanticData/UAModelDesignExport/VariableTypeFactoryBase.cs",
    "content": "﻿//___________________________________________________________________________________\n//\n//  Copyright (C) 2019, Mariusz Postol LODZ POLAND.\n//\n//  To be in touch join the community at GITTER: https://gitter.im/mpostol/OPC-UA-OOI\n//___________________________________________________________________________________\n\nusing System;\nusing System.Collections.Generic;\nusing System.Xml;\nusing UAOOI.SemanticData.BuildingErrorsHandling;\nusing UAOOI.SemanticData.InformationModelFactory;\nusing UAOOI.SemanticData.UAModelDesignExport.XML;\n\n\nnamespace UAOOI.SemanticData.UAModelDesignExport\n{\n  /// <summary>\n  /// Class VariableTypeFactoryBase.\n  /// Implements the <see cref=\"UAOOI.SemanticData.UAModelDesignExport.TypeFactoryBase\" />\n  /// Implements the <see cref=\"UAOOI.SemanticData.InformationModelFactory.IVariableTypeFactory\" />\n  /// </summary>\n  /// <seealso cref=\"UAOOI.SemanticData.UAModelDesignExport.TypeFactoryBase\" />\n  /// <seealso cref=\"UAOOI.SemanticData.InformationModelFactory.IVariableTypeFactory\" />\n  internal class VariableTypeFactoryBase : TypeFactoryBase, IVariableTypeFactory\n  {\n    /// <summary>\n    /// Initializes a new instance of the <see cref=\"VariableTypeFactoryBase\"/> class.\n    /// </summary>\n    /// <param name=\"traceEvent\">The trace event.</param>\n    public VariableTypeFactoryBase(Action<TraceMessage> traceEvent)\n      : base(traceEvent)\n    { }\n\n    #region IVariableTypeFactory\n    /// <summary>\n    /// Sets the default value. The value of the Variable node that the server assigns while instantiating the node. Its data type is defined by the <see cref=\"P:UAOOI.SemanticData.InformationModelFactory.IDataDescriptor.DataType\" />.\n    /// </summary>\n    /// <value>The default value.</value>\n    public XmlElement DefaultValue\n    {\n      set;\n      private get;\n    }\n    /// <summary>\n    /// Sets the type of the data. <see cref=\"T:System.Xml.XmlQualifiedName\" /> of the DataType definition for the Value. It is not required that the pointed out element is defined in the same document.\n    /// If that is the case many documents must be combined to resolve and validate this reference.\n    /// </summary>\n    /// <value>The type of the data.</value>\n    public XmlQualifiedName DataType\n    {\n      set;\n      private get;\n    }\n    /// <summary>\n    /// Sets the value rank. This property indicates whether the value is an array and how many dimensions the array has.\n    /// It may have the following values:\n    /// - n &gt; 1: the Value is an array with the specified number of dimensions.\n    /// - <b>&gt;OneDimension (1)</b>: The value is an array with one dimension.\n    /// - OneOrMoreDimensions (0): The value is an array with one or more dimensions.\n    /// - Scalar (−1): The value is not an array.\n    /// - Any (−2): The value can be a scalar or an array with any number of dimensions.\n    /// - ScalarOrOneDimension (−3): The value can be a scalar or a one dimensional array.\n    /// NOTE: All build in DataTypes are considered to be scalar, even if they have array-like semantics like ByteString and String.\n    /// </summary>\n    /// <value>The value rank.</value>\n    public int? ValueRank\n    {\n      set;\n      private get;\n    }\n    /// <summary>\n    /// Sets the array dimensions. This property specifies the length of each dimension for an array value. It is intended to describe the capability of the Variable, not the current size.\n    /// The number of elements shall be equal to the value defined by the ValueRank. It shall be null if ValueRank ≤ 0. The value of 0 for an individual dimension indicates that the dimension has\n    /// a variable length. For example, if a Variable is defined by the following C array:\n    /// Int32 myArray[346];\n    /// then the DataType would point to an Int32, the ValueRank has the value 1 and the ArrayDimensions is an array with one entry having the value 346.\n    /// Note that the maximum length of an array transferred on the wire is 2147483647 (max Int32) and a multidimensional array is encoded as a one dimensional array.\n    /// </summary>\n    /// <value>The array dimensions.</value>\n    /// <remarks>ArrayDimensions is ignored if ValueRank is not equal to the OneOrMoreDimensions.</remarks>\n    public string ArrayDimensions\n    {\n      set;\n      private get;\n    }\n    #endregion\n\n    //internal API\n    internal override NodeDesign Export(List<string> path, Action<InstanceDesign, List<string>> createInstanceType)\n    {\n      VariableTypeDesign _ret = new VariableTypeDesign()\n      {\n        ArrayDimensions = this.ArrayDimensions,\n        DataType = this.DataType,\n        DefaultValue = this.DefaultValue,\n        //Not supported by the VariableType NodeClass \n        ExposesItsChildren = false,\n        AccessLevel =  AccessLevel.ReadWrite,\n        AccessLevelSpecified = false,\n        Historizing = false,\n        HistorizingSpecified = false,\n        MinimumSamplingInterval = 0,\n        MinimumSamplingIntervalSpecified = false,\n      };\n      _ret.ValueRank = this.ValueRank.GetValueRank(x => _ret.ValueRankSpecified = x, TraceEvent);\n      base.Update(_ret, path, createInstanceType);\n      return _ret;\n    }\n  }\n}\n"
  },
  {
    "path": "SemanticData/UAModelDesignExport/ViewInstanceFactoryBase.cs",
    "content": "﻿//___________________________________________________________________________________\n//\n//  Copyright (C) 2019, Mariusz Postol LODZ POLAND.\n//\n//  To be in touch join the community at GITTER: https://gitter.im/mpostol/OPC-UA-OOI\n//___________________________________________________________________________________\n\nusing System;\nusing System.Collections.Generic;\nusing UAOOI.SemanticData.BuildingErrorsHandling;\nusing UAOOI.SemanticData.InformationModelFactory;\nusing UAOOI.SemanticData.UAModelDesignExport.XML;\n\nnamespace UAOOI.SemanticData.UAModelDesignExport\n{\n\n  /// <summary>\n  /// Class ViewInstanceFactoryBase.\n  /// Implements the <see cref=\"UAOOI.SemanticData.UAModelDesignExport.InstanceFactoryBase\" />\n  /// Implements the <see cref=\"UAOOI.SemanticData.InformationModelFactory.IViewInstanceFactory\" />\n  /// </summary>\n  /// <seealso cref=\"UAOOI.SemanticData.UAModelDesignExport.InstanceFactoryBase\" />\n  /// <seealso cref=\"UAOOI.SemanticData.InformationModelFactory.IViewInstanceFactory\" />\n  internal class ViewInstanceFactoryBase : InstanceFactoryBase, IViewInstanceFactory\n  {\n\n    /// <summary>\n    /// Initializes a new instance of the <see cref=\"InstanceFactoryBase\" /> class.\n    /// </summary>\n    /// <param name=\"traceEvent\">The trace event.</param>\n    public ViewInstanceFactoryBase(Action<TraceMessage> traceEvent)\n      : base(traceEvent)\n    { }\n\n    //IViewInstanceFactory\n    /// <summary>\n    /// Sets a value indicating whether the events are supported.\n    /// </summary>\n    /// <value><c>null</c> if it contains no value, <c>true</c> if events are supported; otherwise, <c>false</c>.</value>\n    public bool? SupportsEvents\n    {\n      set;\n      private get;\n    }\n    /// <summary>\n    /// Sets a value indicating whether the part of the Address Space represented by View contains no loops.\n    /// The mandatory ContainsNoLoops attribute is set to false if the server is not able to identify if the view contains loops or not.\n    /// </summary>\n    /// <value><c>true</c> if the part of the Address Space represented by View contains no loops; otherwise, <c>false</c>.</value>\n    public bool ContainsNoLoops\n    {\n      set;\n      private get;\n    }\n\n    //internal API\n    internal override NodeDesign Export(List<string> path, Action<InstanceDesign, List<string>> createInstanceType)\n    {\n      ViewDesign _ret = new ViewDesign()\n      {\n        ContainsNoLoops = this.ContainsNoLoops, //TODO test against the loops.\n        SupportsEvents = this.SupportsEvents.GetValueOrDefault(),\n      };\n      UpdateInstance(_ret, path, TraceEvent, createInstanceType);\n      return _ret;\n    }\n\n  }\n}\n"
  },
  {
    "path": "SemanticData/UAModelDesignExport/XML/Resource.cs",
    "content": "﻿//__________________________________________________________________________________________________\n//\n//  Copyright (C) 2021, Mariusz Postol LODZ POLAND.\n//\n//  To be in touch join the community at GitHub: https://github.com/mpostol/OPC-UA-OOI/discussions\n//__________________________________________________________________________________________________\n\nusing System;\nusing System.Globalization;\nusing System.IO;\nusing System.Reflection;\nusing UAOOI.Common.Infrastructure.Serializers;\n\nnamespace UAOOI.SemanticData.UAModelDesignExport.XML\n{\n  /// <summary>\n  /// Resources management helper class\n  /// </summary>\n  public static class UAResources\n  {\n    /// <summary>\n    /// Loads the OPC UA defined types.\n    /// </summary>\n    /// <returns>An instance of <see cref=\"ModelDesign\"/> representing  UA defined types</returns>\n    public static ModelDesign LoadUADefinedTypes()\n    {\n      try\n      {\n        Assembly assembly = Assembly.GetExecutingAssembly();\n        using (Stream stream = assembly.GetManifestResourceStream(UADefinedTypesName))\n          return XmlFile.ReadXmlFile<ModelDesign>(stream);\n      }\n      catch (Exception e)\n      {\n        throw new FileNotFoundException(string.Format(CultureInfo.InvariantCulture, \"Could not load resource '{0}' because the exception {1} reports the error {2}.\", UADefinedTypesName, e.GetType().Name, e.Message), e);\n      }\n    }\n\n    private static string UADefinedTypesName => $\"{typeof(UAResources).Namespace}.UA Defined Types.xml\";\n  }\n}"
  },
  {
    "path": "SemanticData/UAModelDesignExport/XML/UA Defined Types.xml",
    "content": "﻿<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<ModelDesign xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\" TargetNamespace=\"http://opcfoundation.org/UA/\" TargetVersion=\"1.04.11-RC\" TargetPublicationDate=\"2021-11-25T00:00:00Z\" TargetXmlNamespace=\"http://opcfoundation.org/UA/\" tns:ns=\"http://opcfoundation.org/UA/\" uax:ns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\" xmlns:uax=\"http://opcfoundation.org/UA/2008/02/Types.xsd\" xmlns:tns=\"http://opcfoundation.org/UA/\" xmlns=\"http://opcfoundation.org/UA/ModelDesign.xsd\">\n  <Namespaces>\n    <Namespace Name=\"OpcUa\" Prefix=\"Opc.Ua\" XmlNamespace=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">http://opcfoundation.org/UA/</Namespace>\n  </Namespaces>\n  <Object SymbolicName=\"tns:DefaultBinary\" PartNo=\"3\">\n    <BrowseName>Default Binary</BrowseName>\n    <Description>The default binary encoding for a data type.</Description>\n  </Object>\n  <Object SymbolicName=\"tns:DefaultXml\" PartNo=\"3\">\n    <BrowseName>Default XML</BrowseName>\n    <Description>The default XML encoding for a data type.</Description>\n  </Object>\n  <DataType SymbolicName=\"tns:BaseDataType\" NumericId=\"24\" PartNo=\"3\" IsAbstract=\"true\">\n    <Description>Describes a value that can have any valid DataType.</Description>\n  </DataType>\n  <DataType SymbolicName=\"tns:Number\" PartNo=\"3\" BaseType=\"tns:BaseDataType\" IsAbstract=\"true\">\n    <Description>Describes a value that can have any numeric DataType.</Description>\n  </DataType>\n  <DataType SymbolicName=\"tns:Integer\" PartNo=\"3\" BaseType=\"tns:Number\" IsAbstract=\"true\">\n    <Description>Describes a value that can have any integer DataType.</Description>\n  </DataType>\n  <DataType SymbolicName=\"tns:UInteger\" PartNo=\"3\" BaseType=\"tns:Number\" IsAbstract=\"true\">\n    <Description>Describes a value that can have any unsigned integer DataType.</Description>\n  </DataType>\n  <DataType SymbolicName=\"tns:Enumeration\" PartNo=\"3\" BaseType=\"tns:BaseDataType\" IsAbstract=\"true\">\n    <Description>Describes a value that is an enumerated DataType.</Description>\n  </DataType>\n  <DataType SymbolicName=\"tns:Boolean\" NumericId=\"1\" PartNo=\"3\" BaseType=\"tns:BaseDataType\">\n    <Description>Describes a value that is either TRUE or FALSE.</Description>\n  </DataType>\n  <DataType SymbolicName=\"tns:SByte\" NumericId=\"2\" PartNo=\"3\" BaseType=\"tns:Integer\">\n    <Description>Describes a value that is an integer between -128 and 127.</Description>\n  </DataType>\n  <DataType SymbolicName=\"tns:Byte\" NumericId=\"3\" PartNo=\"3\" BaseType=\"tns:UInteger\">\n    <Description>Describes a value that is an integer between 0 and 255.</Description>\n  </DataType>\n  <DataType SymbolicName=\"tns:Int16\" NumericId=\"4\" PartNo=\"3\" BaseType=\"tns:Integer\">\n    <Description>Describes a value that is an integer between −32,768 and 32,767.</Description>\n  </DataType>\n  <DataType SymbolicName=\"tns:UInt16\" NumericId=\"5\" PartNo=\"3\" BaseType=\"tns:UInteger\">\n    <Description>Describes a value that is an integer between 0 and 65535.</Description>\n  </DataType>\n  <DataType SymbolicName=\"tns:Int32\" NumericId=\"6\" PartNo=\"3\" BaseType=\"tns:Integer\">\n    <Description>Describes a value that is an integer between −2,147,483,648  and 2,147,483,647.</Description>\n  </DataType>\n  <DataType SymbolicName=\"tns:UInt32\" NumericId=\"7\" PartNo=\"3\" BaseType=\"tns:UInteger\">\n    <Description>Describes a value that is an integer between 0 and 4,294,967,295.</Description>\n  </DataType>\n  <DataType SymbolicName=\"tns:Int64\" NumericId=\"8\" PartNo=\"3\" BaseType=\"tns:Integer\">\n    <Description>Describes a value that is an integer between −9,223,372,036,854,775,808 and 9,223,372,036,854,775,807.</Description>\n  </DataType>\n  <DataType SymbolicName=\"tns:UInt64\" NumericId=\"9\" PartNo=\"3\" BaseType=\"tns:UInteger\">\n    <Description>Describes a value that is an integer between 0 and 18,446,744,073,709,551,615.</Description>\n  </DataType>\n  <DataType SymbolicName=\"tns:Float\" NumericId=\"10\" PartNo=\"3\" BaseType=\"tns:Number\">\n    <Description>Describes a value that is an IEEE 754-1985 single precision floating point number.</Description>\n  </DataType>\n  <DataType SymbolicName=\"tns:Double\" NumericId=\"11\" PartNo=\"3\" BaseType=\"tns:Number\">\n    <Description>Describes a value that is an IEEE 754-1985 double precision floating point number.</Description>\n  </DataType>\n  <DataType SymbolicName=\"tns:String\" NumericId=\"12\" PartNo=\"3\" BaseType=\"tns:BaseDataType\">\n    <Description>Describes a value that is a sequence of printable Unicode characters.</Description>\n  </DataType>\n  <DataType SymbolicName=\"tns:DateTime\" NumericId=\"13\" PartNo=\"3\" BaseType=\"tns:BaseDataType\">\n    <Description>Describes a value that is a Gregorian calender date and time.</Description>\n  </DataType>\n  <DataType SymbolicName=\"tns:Guid\" NumericId=\"14\" PartNo=\"3\" BaseType=\"tns:BaseDataType\">\n    <Description>Describes a value that is a 128-bit globally unique identifier.</Description>\n  </DataType>\n  <DataType SymbolicName=\"tns:ByteString\" NumericId=\"15\" PartNo=\"3\" BaseType=\"tns:BaseDataType\">\n    <Description>Describes a value that is a sequence of bytes.</Description>\n  </DataType>\n  <DataType SymbolicName=\"tns:XmlElement\" NumericId=\"16\" PartNo=\"3\" BaseType=\"tns:BaseDataType\">\n    <Description>Describes a value that is an XML element.</Description>\n  </DataType>\n  <DataType SymbolicName=\"tns:NodeId\" NumericId=\"17\" PartNo=\"3\" BaseType=\"tns:BaseDataType\">\n    <Description>Describes a value that is an identifier for a node within a Server address space.</Description>\n  </DataType>\n  <DataType SymbolicName=\"tns:ExpandedNodeId\" NumericId=\"18\" PartNo=\"4\" BaseType=\"tns:BaseDataType\">\n    <Description>Describes a value that is an absolute identifier for a node.</Description>\n  </DataType>\n  <DataType SymbolicName=\"tns:StatusCode\" NumericId=\"19\" PartNo=\"4\" BaseType=\"tns:BaseDataType\">\n    <Description>Describes a value that is a code representing the outcome of an operation by a Server.</Description>\n  </DataType>\n  <DataType SymbolicName=\"tns:QualifiedName\" NumericId=\"20\" PartNo=\"3\" BaseType=\"tns:BaseDataType\">\n    <Description>Describes a value that is a name qualified by a namespace.</Description>\n  </DataType>\n  <DataType SymbolicName=\"tns:LocalizedText\" NumericId=\"21\" PartNo=\"3\" BaseType=\"tns:BaseDataType\">\n    <Description>Describes a value that is human readable Unicode text with a locale identifier.</Description>\n  </DataType>\n  <DataType SymbolicName=\"tns:Structure\" NumericId=\"22\" PartNo=\"3\" BaseType=\"tns:BaseDataType\" IsAbstract=\"true\">\n    <Description>Describes a value that is any type of structure that can be described with a data encoding.</Description>\n  </DataType>\n  <DataType SymbolicName=\"tns:DataValue\" NumericId=\"23\" PartNo=\"4\" BaseType=\"tns:BaseDataType\">\n    <Description>Describes a value that is a structure containing a value, a status code and timestamps.</Description>\n  </DataType>\n  <DataType SymbolicName=\"tns:DiagnosticInfo\" PartNo=\"4\" BaseType=\"tns:BaseDataType\">\n    <Description>Describes a value that is a structure containing diagnostics associated with a StatusCode.</Description>\n  </DataType>\n  <DataType SymbolicName=\"tns:Image\" PartNo=\"3\" BaseType=\"tns:ByteString\" IsAbstract=\"true\">\n    <Description>Describes a value that is an image encoded as a string of bytes.</Description>\n  </DataType>\n  <DataType SymbolicName=\"tns:Decimal\" PartNo=\"3\" BaseType=\"tns:Number\">\n    <Description>Describes an arbitrary precision decimal value.</Description>\n  </DataType>\n  <ReferenceType SymbolicName=\"tns:References\" PartNo=\"3\" IsAbstract=\"true\" Symmetric=\"true\">\n    <Description>The abstract base type for all references.</Description>\n  </ReferenceType>\n  <ReferenceType SymbolicName=\"tns:NonHierarchicalReferences\" PartNo=\"3\" BaseType=\"tns:References\" IsAbstract=\"true\" Symmetric=\"true\">\n    <Description>The abstract base type for all non-hierarchical references.</Description>\n  </ReferenceType>\n  <ReferenceType SymbolicName=\"tns:HierarchicalReferences\" PartNo=\"3\" BaseType=\"tns:References\" IsAbstract=\"true\">\n    <Description>The abstract base type for all hierarchical references.</Description>\n  </ReferenceType>\n  <ReferenceType SymbolicName=\"tns:HasChild\" PartNo=\"3\" BaseType=\"tns:HierarchicalReferences\" IsAbstract=\"true\">\n    <Description>The abstract base type for all non-looping hierarchical references.</Description>\n    <InverseName>ChildOf</InverseName>\n  </ReferenceType>\n  <ReferenceType SymbolicName=\"tns:Organizes\" PartNo=\"3\" BaseType=\"tns:HierarchicalReferences\">\n    <Description>The type for hierarchical references that are used to organize nodes.</Description>\n    <InverseName>OrganizedBy</InverseName>\n  </ReferenceType>\n  <ReferenceType SymbolicName=\"tns:HasEventSource\" PartNo=\"3\" BaseType=\"tns:HierarchicalReferences\">\n    <Description>The type for non-looping hierarchical references that are used to organize event sources.</Description>\n    <InverseName>EventSourceOf</InverseName>\n  </ReferenceType>\n  <ReferenceType SymbolicName=\"tns:HasModellingRule\" PartNo=\"3\" BaseType=\"tns:NonHierarchicalReferences\">\n    <Description>The type for references from instance declarations to modelling rule nodes.</Description>\n    <InverseName>ModellingRuleOf</InverseName>\n  </ReferenceType>\n  <ReferenceType SymbolicName=\"tns:HasEncoding\" PartNo=\"3\" BaseType=\"tns:NonHierarchicalReferences\">\n    <Description>The type for references from data type nodes to to data type encoding nodes.</Description>\n    <InverseName>EncodingOf</InverseName>\n  </ReferenceType>\n  <ReferenceType SymbolicName=\"tns:HasDescription\" PartNo=\"3\" BaseType=\"tns:NonHierarchicalReferences\">\n    <Description>The type for references from data type encoding nodes to data type description nodes.</Description>\n    <InverseName>DescriptionOf</InverseName>\n  </ReferenceType>\n  <ReferenceType SymbolicName=\"tns:HasTypeDefinition\" PartNo=\"3\" BaseType=\"tns:NonHierarchicalReferences\">\n    <Description>The type for references from a instance node its type defintion node.</Description>\n    <InverseName>TypeDefinitionOf</InverseName>\n  </ReferenceType>\n  <ReferenceType SymbolicName=\"tns:GeneratesEvent\" PartNo=\"3\" BaseType=\"tns:NonHierarchicalReferences\">\n    <Description>The type for references from a node to an event type that is raised by node.</Description>\n    <InverseName>GeneratedBy</InverseName>\n  </ReferenceType>\n  <ReferenceType SymbolicName=\"tns:AlwaysGeneratesEvent\" PartNo=\"3\" BaseType=\"tns:GeneratesEvent\">\n    <Description>The type for references from a node to an event type that is always raised by node.</Description>\n    <InverseName>AlwaysGeneratedBy</InverseName>\n  </ReferenceType>\n  <ReferenceType SymbolicName=\"tns:Aggregates\" PartNo=\"3\" BaseType=\"tns:HasChild\" IsAbstract=\"true\">\n    <Description>The type for non-looping hierarchical references that are used to aggregate nodes into complex types.</Description>\n    <InverseName>AggregatedBy</InverseName>\n  </ReferenceType>\n  <ReferenceType SymbolicName=\"tns:HasSubtype\" PartNo=\"3\" BaseType=\"tns:HasChild\">\n    <Description>The type for non-looping hierarchical references that are used to define sub types.</Description>\n    <InverseName>SubtypeOf</InverseName>\n  </ReferenceType>\n  <ReferenceType SymbolicName=\"tns:HasProperty\" PartNo=\"3\" BaseType=\"tns:Aggregates\">\n    <Description>The type for non-looping hierarchical reference from a node to its property.</Description>\n    <InverseName>PropertyOf</InverseName>\n  </ReferenceType>\n  <ReferenceType SymbolicName=\"tns:HasComponent\" PartNo=\"3\" BaseType=\"tns:Aggregates\">\n    <Description>The type for non-looping hierarchical reference from a node to its component.</Description>\n    <InverseName>ComponentOf</InverseName>\n  </ReferenceType>\n  <ReferenceType SymbolicName=\"tns:HasNotifier\" PartNo=\"3\" BaseType=\"tns:HasEventSource\">\n    <Description>The type for non-looping hierarchical references that are used to indicate how events propagate from node to node.</Description>\n    <InverseName>NotifierOf</InverseName>\n  </ReferenceType>\n  <ReferenceType SymbolicName=\"tns:HasOrderedComponent\" PartNo=\"3\" BaseType=\"tns:HasComponent\">\n    <Description>The type for non-looping hierarchical reference from a node to its component when the order of references matters.</Description>\n    <InverseName>OrderedComponentOf</InverseName>\n  </ReferenceType>\n  <ReferenceType SymbolicName=\"tns:FromState\" PartNo=\"5\" BaseType=\"tns:NonHierarchicalReferences\">\n    <Description>The type for a reference to the state before a transition.</Description>\n    <InverseName>ToTransition</InverseName>\n  </ReferenceType>\n  <ReferenceType SymbolicName=\"tns:ToState\" PartNo=\"5\" BaseType=\"tns:NonHierarchicalReferences\">\n    <Description>The type for a reference to the state after a transition.</Description>\n    <InverseName>FromTransition</InverseName>\n  </ReferenceType>\n  <ReferenceType SymbolicName=\"tns:HasCause\" PartNo=\"5\" BaseType=\"tns:NonHierarchicalReferences\">\n    <Description>The type for a reference to a method that can cause a transition to occur.</Description>\n    <InverseName>MayBeCausedBy</InverseName>\n  </ReferenceType>\n  <ReferenceType SymbolicName=\"tns:HasEffect\" PartNo=\"5\" BaseType=\"tns:NonHierarchicalReferences\">\n    <Description>The type for a reference to an event that may be raised when a transition occurs.</Description>\n    <InverseName>MayBeEffectedBy</InverseName>\n  </ReferenceType>\n  <ReferenceType SymbolicName=\"tns:HasSubStateMachine\" PartNo=\"5\" BaseType=\"tns:NonHierarchicalReferences\">\n    <Description>The type for a reference to a substate for a state.</Description>\n    <InverseName>SubStateMachineOf</InverseName>\n  </ReferenceType>\n  <ReferenceType SymbolicName=\"tns:HasHistoricalConfiguration\" PartNo=\"11\" BaseType=\"tns:Aggregates\">\n    <Description>The type for a reference to the historical configuration for a data variable.</Description>\n    <InverseName>HistoricalConfigurationOf</InverseName>\n  </ReferenceType>\n  <ObjectType SymbolicName=\"tns:BaseObjectType\" PartNo=\"5\">\n    <Description>The base type for all object nodes.</Description>\n  </ObjectType>\n  <ObjectType SymbolicName=\"tns:FolderType\" PartNo=\"5\" BaseType=\"tns:BaseObjectType\" NoClassGeneration=\"true\">\n    <Description>The type for objects that organize other nodes.</Description>\n  </ObjectType>\n  <VariableType SymbolicName=\"tns:BaseVariableType\" PartNo=\"5\" IsAbstract=\"true\" ValueRank=\"ScalarOrArray\">\n    <Description>The abstract base type for all variable nodes.</Description>\n  </VariableType>\n  <VariableType SymbolicName=\"tns:BaseDataVariableType\" PartNo=\"5\" BaseType=\"tns:BaseVariableType\" ValueRank=\"ScalarOrArray\">\n    <Description>The type for variable that represents a process value.</Description>\n  </VariableType>\n  <VariableType SymbolicName=\"tns:PropertyType\" PartNo=\"5\" BaseType=\"tns:BaseVariableType\" ValueRank=\"ScalarOrArray\">\n    <Description>The type for variable that represents a property of another node.</Description>\n  </VariableType>\n  <VariableType SymbolicName=\"tns:DataTypeDescriptionType\" PartNo=\"5\" ReleaseStatus=\"Deprecated\" BaseType=\"tns:BaseDataVariableType\" DataType=\"tns:String\" ValueRank=\"Scalar\">\n    <Description>The type for variable that represents the description of a data type encoding.</Description>\n    <Children>\n      <Property SymbolicName=\"tns:DataTypeVersion\" ModellingRule=\"Optional\" DataType=\"tns:String\">\n        <Description>The version number for the data type description.</Description>\n      </Property>\n      <Property SymbolicName=\"tns:DictionaryFragment\" ModellingRule=\"Optional\" DataType=\"tns:ByteString\">\n        <Description>A fragment of a data type dictionary that defines the data type.</Description>\n      </Property>\n    </Children>\n  </VariableType>\n  <VariableType SymbolicName=\"tns:DataTypeDictionaryType\" PartNo=\"5\" ReleaseStatus=\"Deprecated\" BaseType=\"tns:BaseDataVariableType\" DataType=\"tns:ByteString\" ValueRank=\"Scalar\">\n    <Description>The type for variable that represents the collection of data type decriptions.</Description>\n    <Children>\n      <Property SymbolicName=\"tns:DataTypeVersion\" ModellingRule=\"Optional\" DataType=\"tns:String\">\n        <Description>The version number for the data type dictionary.</Description>\n      </Property>\n      <Property SymbolicName=\"tns:NamespaceUri\" ModellingRule=\"Optional\" DataType=\"tns:String\">\n        <Description>A URI that uniquely identifies the dictionary.</Description>\n      </Property>\n      <Property SymbolicName=\"tns:Deprecated\" ModellingRule=\"Optional\" DataType=\"tns:Boolean\">\n        <Description>Indicates that all of the definitions for the dictionary are available through a DataTypeDefinition Attribute.</Description>\n      </Property>\n    </Children>\n  </VariableType>\n  <ObjectType SymbolicName=\"tns:DataTypeSystemType\" PartNo=\"5\" ReleaseStatus=\"Deprecated\" BaseType=\"tns:BaseObjectType\" />\n  <ObjectType SymbolicName=\"tns:DataTypeEncodingType\" PartNo=\"5\" BaseType=\"tns:BaseObjectType\" />\n  <DataType SymbolicName=\"tns:NamingRuleType\" PartNo=\"3\" BaseType=\"tns:Enumeration\">\n    <Description>Describes a value that specifies the significance of the BrowseName for an instance declaration.</Description>\n    <Fields>\n      <Field Name=\"Mandatory\" Identifier=\"1\">\n        <Description>The BrowseName must appear in all instances of the type.</Description>\n      </Field>\n      <Field Name=\"Optional\" Identifier=\"2\">\n        <Description>The BrowseName may appear in an instance of the type.</Description>\n      </Field>\n      <Field Name=\"Constraint\" Identifier=\"3\">\n        <Description>The modelling rule defines a constraint and the BrowseName is not used in an instance of the type.</Description>\n      </Field>\n    </Fields>\n  </DataType>\n  <ObjectType SymbolicName=\"tns:ModellingRuleType\" PartNo=\"5\" BaseType=\"tns:BaseObjectType\">\n    <Description>The type for an object that describes how an instance declaration is used when a type is instantiated.</Description>\n    <Children>\n      <Property SymbolicName=\"tns:NamingRule\" DataType=\"tns:NamingRuleType\">\n        <DefaultValue>\n          <uax:Int32>1</uax:Int32>\n        </DefaultValue>\n      </Property>\n    </Children>\n  </ObjectType>\n  <Object SymbolicName=\"tns:ModellingRule_Mandatory\" PartNo=\"5\" TypeDefinition=\"tns:ModellingRuleType\" ModellingRule=\"None\">\n    <BrowseName>Mandatory</BrowseName>\n    <Description>Specifies that an instance with the attributes and references of the instance declaration must appear when a type is instantiated.</Description>\n    <Children>\n      <Property Declaration=\"tns:ModellingRuleType_NamingRule\">\n        <DefaultValue>\n          <uax:Int32>1</uax:Int32>\n        </DefaultValue>\n      </Property>\n    </Children>\n  </Object>\n  <Object SymbolicName=\"tns:ModellingRule_Optional\" PartNo=\"5\" TypeDefinition=\"tns:ModellingRuleType\" ModellingRule=\"None\">\n    <BrowseName>Optional</BrowseName>\n    <Description>Specifies that an instance with the attributes and references of the instance declaration may appear when a type is instantiated.</Description>\n    <Children>\n      <Property Declaration=\"tns:ModellingRuleType_NamingRule\">\n        <DefaultValue>\n          <uax:Int32>2</uax:Int32>\n        </DefaultValue>\n      </Property>\n    </Children>\n  </Object>\n  <Object SymbolicName=\"tns:ModellingRule_ExposesItsArray\" PartNo=\"5\" TypeDefinition=\"tns:ModellingRuleType\" ModellingRule=\"None\">\n    <BrowseName>ExposesItsArray</BrowseName>\n    <Description>Specifies that an instance appears for each element of the containing array variable.</Description>\n    <Children>\n      <Property Declaration=\"tns:ModellingRuleType_NamingRule\">\n        <DefaultValue>\n          <uax:Int32>3</uax:Int32>\n        </DefaultValue>\n      </Property>\n    </Children>\n  </Object>\n  <Object SymbolicName=\"tns:ModellingRule_OptionalPlaceholder\" PartNo=\"5\" TypeDefinition=\"tns:ModellingRuleType\" ModellingRule=\"None\">\n    <BrowseName>OptionalPlaceholder</BrowseName>\n    <Description>Specifies that zero or more instances with the attributes and references of the instance declaration may appear when a type is instantiated.</Description>\n    <Children>\n      <Property Declaration=\"tns:ModellingRuleType_NamingRule\">\n        <DefaultValue>\n          <uax:Int32>2</uax:Int32>\n        </DefaultValue>\n      </Property>\n    </Children>\n  </Object>\n  <Object SymbolicName=\"tns:ModellingRule_MandatoryPlaceholder\" PartNo=\"5\" TypeDefinition=\"tns:ModellingRuleType\" ModellingRule=\"None\">\n    <BrowseName>MandatoryPlaceholder</BrowseName>\n    <Description>Specifies that one or more instances with the attributes and references of the instance declaration must appear when a type is instantiated.</Description>\n    <Children>\n      <Property Declaration=\"tns:ModellingRuleType_NamingRule\">\n        <DefaultValue>\n          <uax:Int32>1</uax:Int32>\n        </DefaultValue>\n      </Property>\n    </Children>\n  </Object>\n  <Object SymbolicName=\"tns:RootFolder\" PartNo=\"5\" TypeDefinition=\"tns:FolderType\" ModellingRule=\"None\">\n    <BrowseName>Root</BrowseName>\n    <Description>The root of the server address space.</Description>\n  </Object>\n  <Object SymbolicName=\"tns:ObjectsFolder\" PartNo=\"5\" TypeDefinition=\"tns:FolderType\" ModellingRule=\"None\">\n    <BrowseName>Objects</BrowseName>\n    <Description>The browse entry point when looking for objects in the server address space.</Description>\n    <References>\n      <Reference IsInverse=\"true\">\n        <ReferenceType>tns:Organizes</ReferenceType>\n        <TargetId>tns:RootFolder</TargetId>\n      </Reference>\n    </References>\n  </Object>\n  <Object SymbolicName=\"tns:TypesFolder\" PartNo=\"5\" TypeDefinition=\"tns:FolderType\" ModellingRule=\"None\">\n    <BrowseName>Types</BrowseName>\n    <Description>The browse entry point when looking for types in the server address space.</Description>\n    <References>\n      <Reference IsInverse=\"true\">\n        <ReferenceType>tns:Organizes</ReferenceType>\n        <TargetId>tns:RootFolder</TargetId>\n      </Reference>\n    </References>\n  </Object>\n  <Object SymbolicName=\"tns:ViewsFolder\" PartNo=\"5\" TypeDefinition=\"tns:FolderType\" ModellingRule=\"None\">\n    <BrowseName>Views</BrowseName>\n    <Description>The browse entry point when looking for views in the server address space.</Description>\n    <References>\n      <Reference IsInverse=\"true\">\n        <ReferenceType>tns:Organizes</ReferenceType>\n        <TargetId>tns:RootFolder</TargetId>\n      </Reference>\n    </References>\n  </Object>\n  <Object SymbolicName=\"tns:ObjectTypesFolder\" PartNo=\"5\" TypeDefinition=\"tns:FolderType\" ModellingRule=\"None\">\n    <BrowseName>ObjectTypes</BrowseName>\n    <Description>The browse entry point when looking for object types in the server address space.</Description>\n    <References>\n      <Reference IsInverse=\"true\">\n        <ReferenceType>tns:Organizes</ReferenceType>\n        <TargetId>tns:TypesFolder</TargetId>\n      </Reference>\n      <Reference>\n        <ReferenceType>tns:Organizes</ReferenceType>\n        <TargetId>tns:BaseObjectType</TargetId>\n      </Reference>\n    </References>\n  </Object>\n  <Object SymbolicName=\"tns:VariableTypesFolder\" PartNo=\"5\" TypeDefinition=\"tns:FolderType\" ModellingRule=\"None\">\n    <BrowseName>VariableTypes</BrowseName>\n    <Description>The browse entry point when looking for variable types in the server address space.</Description>\n    <References>\n      <Reference IsInverse=\"true\">\n        <ReferenceType>tns:Organizes</ReferenceType>\n        <TargetId>tns:TypesFolder</TargetId>\n      </Reference>\n      <Reference>\n        <ReferenceType>tns:Organizes</ReferenceType>\n        <TargetId>tns:BaseVariableType</TargetId>\n      </Reference>\n    </References>\n  </Object>\n  <Object SymbolicName=\"tns:DataTypesFolder\" PartNo=\"5\" TypeDefinition=\"tns:FolderType\" ModellingRule=\"None\">\n    <BrowseName>DataTypes</BrowseName>\n    <Description>The browse entry point when looking for data types in the server address space.</Description>\n    <References>\n      <Reference IsInverse=\"true\">\n        <ReferenceType>tns:Organizes</ReferenceType>\n        <TargetId>tns:TypesFolder</TargetId>\n      </Reference>\n      <Reference>\n        <ReferenceType>tns:Organizes</ReferenceType>\n        <TargetId>tns:BaseDataType</TargetId>\n      </Reference>\n    </References>\n  </Object>\n  <Object SymbolicName=\"tns:ReferenceTypesFolder\" PartNo=\"5\" TypeDefinition=\"tns:FolderType\" ModellingRule=\"None\">\n    <BrowseName>ReferenceTypes</BrowseName>\n    <Description>The browse entry point when looking for reference types in the server address space.</Description>\n    <References>\n      <Reference IsInverse=\"true\">\n        <ReferenceType>tns:Organizes</ReferenceType>\n        <TargetId>tns:TypesFolder</TargetId>\n      </Reference>\n      <Reference>\n        <ReferenceType>tns:Organizes</ReferenceType>\n        <TargetId>tns:References</TargetId>\n      </Reference>\n    </References>\n  </Object>\n  <Object SymbolicName=\"tns:XmlSchema_TypeSystem\" PartNo=\"5\" TypeDefinition=\"tns:DataTypeSystemType\" ModellingRule=\"None\">\n    <BrowseName>XML Schema</BrowseName>\n    <Description>A type system which uses XML schema to describe the encoding of data types.</Description>\n    <References>\n      <Reference IsInverse=\"true\">\n        <ReferenceType>tns:Organizes</ReferenceType>\n        <TargetId>tns:DataTypesFolder</TargetId>\n      </Reference>\n    </References>\n  </Object>\n  <Object SymbolicName=\"tns:OPCBinarySchema_TypeSystem\" PartNo=\"5\" TypeDefinition=\"tns:DataTypeSystemType\" ModellingRule=\"None\">\n    <BrowseName>OPC Binary</BrowseName>\n    <Description>A type system which uses OPC binary schema to describe the encoding of data types.</Description>\n    <References>\n      <Reference IsInverse=\"true\">\n        <ReferenceType>tns:Organizes</ReferenceType>\n        <TargetId>tns:DataTypesFolder</TargetId>\n      </Reference>\n    </References>\n  </Object>\n  <ReferenceType SymbolicName=\"tns:HasArgumentDescription\" PartNo=\"3\" BaseType=\"tns:HasComponent\">\n    <InverseName>ArgumentDescriptionOf</InverseName>\n  </ReferenceType>\n  <ReferenceType SymbolicName=\"tns:HasOptionalInputArgumentDescription\" PartNo=\"3\" BaseType=\"tns:HasArgumentDescription\">\n    <InverseName>OptionalInputArgumentDescriptionOf</InverseName>\n  </ReferenceType>\n  <Object SymbolicName=\"tns:OPCUANamespaceMetadata\" PartNo=\"5\" TypeDefinition=\"tns:NamespaceMetadataType\">\n    <BrowseName>http://opcfoundation.org/UA/</BrowseName>\n    <Children>\n      <Property SymbolicName=\"tns:NamespaceUri\" DataType=\"tns:String\">\n        <DefaultValue>\n          <uax:String>http://opcfoundation.org/UA/</uax:String>\n        </DefaultValue>\n      </Property>\n      <Property SymbolicName=\"tns:NamespaceVersion\" DataType=\"tns:String\">\n        <DefaultValue>\n          <uax:String>1.04.10</uax:String>\n        </DefaultValue>\n      </Property>\n      <Property SymbolicName=\"tns:NamespacePublicationDate\" DataType=\"tns:DateTime\">\n        <DefaultValue>\n          <uax:DateTime>2021-09-15T00:00:00</uax:DateTime>\n        </DefaultValue>\n      </Property>\n      <Property SymbolicName=\"tns:IsNamespaceSubset\" DataType=\"tns:Boolean\">\n        <DefaultValue>\n          <uax:Boolean>false</uax:Boolean>\n        </DefaultValue>\n      </Property>\n      <Property SymbolicName=\"tns:StaticNodeIdTypes\" DataType=\"tns:IdType\" ValueRank=\"Array\">\n        <DefaultValue>\n          <uax:ListOfInt32>\n            <uax:Int32>0</uax:Int32>\n          </uax:ListOfInt32>\n        </DefaultValue>\n      </Property>\n      <Property SymbolicName=\"tns:StaticNumericNodeIdRange\" DataType=\"tns:NumericRange\" ValueRank=\"Array\">\n        <DefaultValue>\n          <uax:ListOfString>\n            <uax:String>1:65535</uax:String>\n          </uax:ListOfString>\n        </DefaultValue>\n      </Property>\n      <Property SymbolicName=\"tns:StaticStringNodeIdPattern\" DataType=\"tns:String\">\n        <DefaultValue>\n          <uax:String></uax:String>\n        </DefaultValue>\n      </Property>\n      <Property SymbolicName=\"tns:DefaultRolePermissions\" ModellingRule=\"Mandatory\" />\n      <Property SymbolicName=\"tns:DefaultUserRolePermissions\" ModellingRule=\"Mandatory\" />\n      <Property SymbolicName=\"tns:DefaultAccessRestrictions\" ModellingRule=\"Mandatory\" />\n    </Children>\n    <References>\n      <Reference IsInverse=\"true\">\n        <ReferenceType>tns:HasComponent</ReferenceType>\n        <TargetId>tns:Server_Namespaces</TargetId>\n      </Reference>\n    </References>\n  </Object>\n  <Property SymbolicName=\"tns:NodeVersion\" PartNo=\"3\" DataType=\"tns:String\" ValueRank=\"Scalar\">\n    <Description>The version number of the node (used to indicate changes to references of the owning node).</Description>\n  </Property>\n  <Property SymbolicName=\"tns:ViewVersion\" PartNo=\"3\" DataType=\"tns:UInt32\" ValueRank=\"Scalar\">\n    <Description>The version number of the view.</Description>\n  </Property>\n  <Property SymbolicName=\"tns:Icon\" PartNo=\"3\" DataType=\"tns:Image\" ValueRank=\"Scalar\">\n    <Description>A small image representing the object.</Description>\n  </Property>\n  <Property SymbolicName=\"tns:LocalTime\" PartNo=\"3\" DataType=\"tns:TimeZoneDataType\" ValueRank=\"Scalar\">\n    <Description>The local time where the owning variable value was collected.</Description>\n  </Property>\n  <Property SymbolicName=\"tns:AllowNulls\" PartNo=\"3\" DataType=\"tns:Boolean\" ValueRank=\"Scalar\">\n    <Description>Whether the value of the owning variable is allowed to be null.</Description>\n  </Property>\n  <Property SymbolicName=\"tns:ValueAsText\" PartNo=\"3\" DataType=\"tns:LocalizedText\" ValueRank=\"Scalar\">\n    <Description>The string representation of the current value for a variable with an enumerated data type.</Description>\n  </Property>\n  <Property SymbolicName=\"tns:MaxStringLength\" PartNo=\"3\" DataType=\"tns:UInt32\" ValueRank=\"Scalar\">\n    <Description>The maximum number of bytes supported by the DataVariable.</Description>\n  </Property>\n  <Property SymbolicName=\"tns:MaxCharacters\" PartNo=\"3\" DataType=\"tns:UInt32\" ValueRank=\"Scalar\">\n    <Description>The maximum number of Unicode characters supported by the DataVariable.</Description>\n  </Property>\n  <Property SymbolicName=\"tns:MaxByteStringLength\" PartNo=\"3\" DataType=\"tns:UInt32\" ValueRank=\"Scalar\">\n    <Description>The maximum length for a byte string that can be stored in the owning variable.</Description>\n  </Property>\n  <Property SymbolicName=\"tns:MaxArrayLength\" PartNo=\"3\" DataType=\"tns:UInt32\" ValueRank=\"Scalar\">\n    <Description>The maximum length for an array that can be stored in the owning variable.</Description>\n  </Property>\n  <Property SymbolicName=\"tns:EngineeringUnits\" PartNo=\"3\" DataType=\"tns:EUInformation\" ValueRank=\"Scalar\">\n    <Description>The engineering units for the value of the owning variable.</Description>\n  </Property>\n  <Property SymbolicName=\"tns:EnumStrings\" PartNo=\"3\" DataType=\"tns:LocalizedText\" ValueRank=\"Array\">\n    <Description>The human readable strings associated with the values of an enumerated value (when values are sequential).</Description>\n  </Property>\n  <Property SymbolicName=\"tns:EnumValues\" PartNo=\"3\" DataType=\"tns:EnumValueType\" ValueRank=\"Array\">\n    <Description>The human readable strings associated with the values of an enumerated value (when values have no sequence).</Description>\n  </Property>\n  <Property SymbolicName=\"tns:OptionSetValues\" PartNo=\"3\" DataType=\"tns:LocalizedText\" ValueRank=\"Array\">\n    <Description>Contains the human-readable representation for each bit of the bit mask.</Description>\n  </Property>\n  <Property SymbolicName=\"tns:InputArguments\" PartNo=\"3\" DataType=\"tns:Argument\" ValueRank=\"Array\">\n    <Description>The input arguments for a method.</Description>\n  </Property>\n  <Property SymbolicName=\"tns:OutputArguments\" PartNo=\"3\" DataType=\"tns:Argument\" ValueRank=\"Array\">\n    <Description>The output arguments for a method.</Description>\n  </Property>\n  <Property SymbolicName=\"tns:DefaultInstanceBrowseName\" PartNo=\"3\" DataType=\"tns:QualifiedName\" ValueRank=\"Scalar\">\n    <Description>Allows the definition of BrowseName on an ObjectType that all instances should use by default.</Description>\n  </Property>\n  <DataType SymbolicName=\"tns:ImageBMP\" PartNo=\"3\" BaseType=\"tns:Image\">\n    <Description>An image encoded in BMP format.</Description>\n  </DataType>\n  <DataType SymbolicName=\"tns:ImageGIF\" PartNo=\"3\" BaseType=\"tns:Image\">\n    <Description>An image encoded in GIF format.</Description>\n  </DataType>\n  <DataType SymbolicName=\"tns:ImageJPG\" PartNo=\"3\" BaseType=\"tns:Image\">\n    <Description>An image encoded in JPEG format.</Description>\n  </DataType>\n  <DataType SymbolicName=\"tns:ImagePNG\" PartNo=\"3\" BaseType=\"tns:Image\">\n    <Description>An image encoded in PNG format.</Description>\n  </DataType>\n  <DataType SymbolicName=\"tns:AudioDataType\" PartNo=\"3\" BaseType=\"tns:ByteString\">\n    <Description>An image encoded in PNG format.</Description>\n  </DataType>\n  <DataType SymbolicName=\"tns:Union\" PartNo=\"3\" BaseType=\"tns:Structure\" IsAbstract=\"true\">\n    <Description>This abstract DataType is the base DataType for all union DataTypes.</Description>\n  </DataType>\n  <ObjectType SymbolicName=\"tns:ServerType\" PartNo=\"5\" BaseType=\"tns:BaseObjectType\">\n    <Description>Specifies the current status and capabilities of the server.</Description>\n    <Children>\n      <Property SymbolicName=\"tns:ServerArray\" DataType=\"tns:String\" ValueRank=\"Array\" MinimumSamplingInterval=\"1000\">\n        <Description>The list of server URIs used by the server.</Description>\n      </Property>\n      <Property SymbolicName=\"tns:NamespaceArray\" DataType=\"tns:String\" ValueRank=\"Array\" MinimumSamplingInterval=\"1000\">\n        <Description>The list of namespace URIs used by the server.</Description>\n      </Property>\n      <Property SymbolicName=\"tns:UrisVersion\" ModellingRule=\"Optional\" DataType=\"tns:VersionTime\" MinimumSamplingInterval=\"1000\">\n        <Description>Defines the version of the ServerArray and the NamespaceArray.</Description>\n      </Property>\n      <Variable SymbolicName=\"tns:ServerStatus\" TypeDefinition=\"tns:ServerStatusType\" MinimumSamplingInterval=\"1000\">\n        <Description>The current status of the server.</Description>\n      </Variable>\n      <Property SymbolicName=\"tns:ServiceLevel\" DataType=\"tns:Byte\" MinimumSamplingInterval=\"1000\">\n        <Description>A value indicating the level of service the server can provide. 255 indicates the best.</Description>\n      </Property>\n      <Property SymbolicName=\"tns:Auditing\" DataType=\"tns:Boolean\" MinimumSamplingInterval=\"1000\">\n        <Description>A flag indicating whether the server is currently generating audit events.</Description>\n      </Property>\n      <Property SymbolicName=\"tns:EstimatedReturnTime\" ModellingRule=\"Optional\" DataType=\"tns:DateTime\" MinimumSamplingInterval=\"1000\">\n        <Description>Indicates the time at which the Server is expected to be available in the state RUNNING.</Description>\n      </Property>\n      <Property SymbolicName=\"tns:LocalTime\" ModellingRule=\"Optional\" DataType=\"tns:TimeZoneDataType\" MinimumSamplingInterval=\"1000\">\n        <Description>Indicates the time zone the Server is is  running in.</Description>\n      </Property>\n      <Object SymbolicName=\"tns:ServerCapabilities\" TypeDefinition=\"tns:ServerCapabilitiesType\">\n        <Description>Describes capabilities supported by the server.</Description>\n      </Object>\n      <Object SymbolicName=\"tns:ServerDiagnostics\" TypeDefinition=\"tns:ServerDiagnosticsType\">\n        <Description>Reports diagnostics about the server.</Description>\n      </Object>\n      <Object SymbolicName=\"tns:VendorServerInfo\" TypeDefinition=\"tns:VendorServerInfoType\">\n        <Description>Server information provided by the vendor.</Description>\n      </Object>\n      <Object SymbolicName=\"tns:ServerRedundancy\" TypeDefinition=\"tns:ServerRedundancyType\">\n        <Description>Describes the redundancy capabilities of the server.</Description>\n      </Object>\n      <Object SymbolicName=\"tns:Namespaces\" TypeDefinition=\"tns:NamespacesType\" ModellingRule=\"Optional\">\n        <Description>Describes the namespaces supported by the server.</Description>\n      </Object>\n      <Method SymbolicName=\"tns:GetMonitoredItems\" TypeDefinition=\"tns:GetMonitoredItemsMethodType\" ModellingRule=\"Optional\">\n        <Description>Returns the monitored items for a subscription.</Description>\n      </Method>\n      <Method SymbolicName=\"tns:ResendData\" TypeDefinition=\"tns:ResendDataMethodType\" ModellingRule=\"Optional\">\n        <Description>Resends the last values cached for each data monitored item in the subscription.</Description>\n      </Method>\n      <Method SymbolicName=\"tns:SetSubscriptionDurable\" TypeDefinition=\"tns:SetSubscriptionDurableMethodType\" ModellingRule=\"Optional\">\n        <Description>Sets the durable state for the subscription.</Description>\n      </Method>\n      <Method SymbolicName=\"tns:RequestServerStateChange\" TypeDefinition=\"tns:RequestServerStateChangeMethodType\" ModellingRule=\"Optional\">\n        <Description>Requests a state change in the server.</Description>\n      </Method>\n    </Children>\n    <ClassName>ServerObject</ClassName>\n  </ObjectType>\n  <ObjectType SymbolicName=\"tns:ServerCapabilitiesType\" PartNo=\"5\" BaseType=\"tns:BaseObjectType\">\n    <Description>Describes the capabilities supported by the server.</Description>\n    <Children>\n      <Property SymbolicName=\"tns:ServerProfileArray\" DataType=\"tns:String\" ValueRank=\"Array\">\n        <Description>A list of profiles supported by the server.</Description>\n      </Property>\n      <Property SymbolicName=\"tns:LocaleIdArray\" DataType=\"tns:LocaleId\" ValueRank=\"Array\">\n        <Description>A list of locales supported by the server.</Description>\n      </Property>\n      <Property SymbolicName=\"tns:MinSupportedSampleRate\" DataType=\"tns:Duration\">\n        <Description>The minimum sampling interval supported by the server.</Description>\n      </Property>\n      <Property SymbolicName=\"tns:MaxBrowseContinuationPoints\" DataType=\"tns:UInt16\">\n        <Description>The maximum number of continuation points for Browse operations per session.</Description>\n      </Property>\n      <Property SymbolicName=\"tns:MaxQueryContinuationPoints\" DataType=\"tns:UInt16\">\n        <Description>The maximum number of continuation points for Query operations per session.</Description>\n      </Property>\n      <Property SymbolicName=\"tns:MaxHistoryContinuationPoints\" DataType=\"tns:UInt16\">\n        <Description>The maximum number of continuation points for ReadHistory operations per session.</Description>\n      </Property>\n      <Property SymbolicName=\"tns:SoftwareCertificates\" DataType=\"tns:SignedSoftwareCertificate\" ValueRank=\"Array\">\n        <Description>The software certificates owned by the server.</Description>\n      </Property>\n      <Property SymbolicName=\"tns:MaxArrayLength\" ModellingRule=\"Optional\" DataType=\"tns:UInt32\">\n        <Description>The maximum length for an array value supported by the server.</Description>\n      </Property>\n      <Property SymbolicName=\"tns:MaxStringLength\" ModellingRule=\"Optional\" DataType=\"tns:UInt32\">\n        <Description>The maximum length for a string value supported by the server.</Description>\n      </Property>\n      <Property SymbolicName=\"tns:MaxByteStringLength\" ModellingRule=\"Optional\" DataType=\"tns:UInt32\">\n        <Description>The maximum length for a byte string value supported by the server.</Description>\n      </Property>\n      <Object SymbolicName=\"tns:OperationLimits\" TypeDefinition=\"tns:OperationLimitsType\" ModellingRule=\"Optional\">\n        <Description>Defines the limits supported by the server for different operations.</Description>\n      </Object>\n      <Object SymbolicName=\"tns:ModellingRules\" TypeDefinition=\"tns:FolderType\">\n        <Description>A folder for the modelling rules supported by the server.</Description>\n      </Object>\n      <Object SymbolicName=\"tns:AggregateFunctions\" TypeDefinition=\"tns:FolderType\">\n        <Description>A folder for the real time aggregates supported by the server.</Description>\n      </Object>\n      <Variable SymbolicName=\"tns:VendorCapability_Placeholder\" TypeDefinition=\"tns:ServerVendorCapabilityType\" ModellingRule=\"OptionalPlaceholder\">\n        <BrowseName>&lt;VendorCapability&gt;</BrowseName>\n      </Variable>\n      <Object SymbolicName=\"tns:RoleSet\" TypeDefinition=\"tns:RoleSetType\" ModellingRule=\"Optional\">\n        <Description>Describes the roles supported by the server.</Description>\n      </Object>\n    </Children>\n  </ObjectType>\n  <ObjectType SymbolicName=\"tns:ServerDiagnosticsType\" PartNo=\"5\" BaseType=\"tns:BaseObjectType\">\n    <Description>The diagnostics information for a server.</Description>\n    <Children>\n      <Variable SymbolicName=\"tns:ServerDiagnosticsSummary\" TypeDefinition=\"tns:ServerDiagnosticsSummaryType\">\n        <Description>A summary of server level diagnostics.</Description>\n      </Variable>\n      <Variable SymbolicName=\"tns:SamplingIntervalDiagnosticsArray\" TypeDefinition=\"tns:SamplingIntervalDiagnosticsArrayType\" ModellingRule=\"Optional\">\n        <Description>A list of diagnostics for each sampling interval supported by the server.</Description>\n      </Variable>\n      <Variable SymbolicName=\"tns:SubscriptionDiagnosticsArray\" TypeDefinition=\"tns:SubscriptionDiagnosticsArrayType\">\n        <Description>A list of diagnostics for each active subscription.</Description>\n      </Variable>\n      <Object SymbolicName=\"tns:SessionsDiagnosticsSummary\" TypeDefinition=\"tns:SessionsDiagnosticsSummaryType\">\n        <Description>A summary of session level diagnostics.</Description>\n      </Object>\n      <Property SymbolicName=\"tns:EnabledFlag\" DataType=\"tns:Boolean\" AccessLevel=\"ReadWrite\">\n        <Description>If TRUE the diagnostics collection is enabled.</Description>\n      </Property>\n    </Children>\n  </ObjectType>\n  <ObjectType SymbolicName=\"tns:SessionsDiagnosticsSummaryType\" PartNo=\"5\" BaseType=\"tns:BaseObjectType\">\n    <Description>Provides a summary of session level diagnostics.</Description>\n    <Children>\n      <Variable SymbolicName=\"tns:SessionDiagnosticsArray\" TypeDefinition=\"tns:SessionDiagnosticsArrayType\">\n        <Description>A list of diagnostics for each active session.</Description>\n      </Variable>\n      <Variable SymbolicName=\"tns:SessionSecurityDiagnosticsArray\" TypeDefinition=\"tns:SessionSecurityDiagnosticsArrayType\">\n        <Description>A list of security related diagnostics for each active session.</Description>\n      </Variable>\n      <Object SymbolicName=\"tns:ClientName_Placeholder\" TypeDefinition=\"tns:SessionDiagnosticsObjectType\" ModellingRule=\"OptionalPlaceholder\">\n        <BrowseName>&lt;ClientName&gt;</BrowseName>\n      </Object>\n    </Children>\n  </ObjectType>\n  <ObjectType SymbolicName=\"tns:SessionDiagnosticsObjectType\" PartNo=\"5\" BaseType=\"tns:BaseObjectType\">\n    <Description>A container for session level diagnostics information.</Description>\n    <Children>\n      <Variable SymbolicName=\"tns:SessionDiagnostics\" TypeDefinition=\"tns:SessionDiagnosticsVariableType\">\n        <Description>Diagnostics information for an active session.</Description>\n      </Variable>\n      <Variable SymbolicName=\"tns:SessionSecurityDiagnostics\" TypeDefinition=\"tns:SessionSecurityDiagnosticsType\">\n        <Description>Security related diagnostics information for an active session.</Description>\n      </Variable>\n      <Variable SymbolicName=\"tns:SubscriptionDiagnosticsArray\" TypeDefinition=\"tns:SubscriptionDiagnosticsArrayType\" DataType=\"tns:SubscriptionDiagnosticsDataType\" ValueRank=\"Array\">\n        <Description>A list of diagnostics for each subscription owned by the session.</Description>\n      </Variable>\n    </Children>\n  </ObjectType>\n  <ObjectType SymbolicName=\"tns:VendorServerInfoType\" PartNo=\"5\" BaseType=\"tns:BaseObjectType\" NoClassGeneration=\"true\">\n    <Description>A base type for vendor specific server information.</Description>\n  </ObjectType>\n  <ObjectType SymbolicName=\"tns:ServerRedundancyType\" PartNo=\"5\" BaseType=\"tns:BaseObjectType\">\n    <Description>A base type for an object that describe how a server supports redundancy.</Description>\n    <Children>\n      <Property SymbolicName=\"tns:RedundancySupport\" DataType=\"tns:RedundancySupport\">\n        <Description>Indicates what style of redundancy is supported by the server.</Description>\n      </Property>\n    </Children>\n  </ObjectType>\n  <ObjectType SymbolicName=\"tns:TransparentRedundancyType\" PartNo=\"5\" BaseType=\"tns:ServerRedundancyType\">\n    <Description>Identifies the capabilties of server that supports transparent redundancy.</Description>\n    <Children>\n      <Property SymbolicName=\"tns:CurrentServerId\" DataType=\"tns:String\">\n        <Description>The ID of the server that is currently in use.</Description>\n      </Property>\n      <Property SymbolicName=\"tns:RedundantServerArray\" DataType=\"tns:RedundantServerDataType\" ValueRank=\"Array\">\n        <Description>A list of servers in the same redundant set.</Description>\n      </Property>\n    </Children>\n  </ObjectType>\n  <ObjectType SymbolicName=\"tns:NonTransparentRedundancyType\" PartNo=\"5\" BaseType=\"tns:ServerRedundancyType\">\n    <Description>Identifies the capabilties of server that supports non-transparent redundancy.</Description>\n    <Children>\n      <Property SymbolicName=\"tns:ServerUriArray\" DataType=\"tns:String\" ValueRank=\"Array\">\n        <Description>A list of servers in the same redundant set.</Description>\n      </Property>\n    </Children>\n  </ObjectType>\n  <ObjectType SymbolicName=\"tns:NonTransparentNetworkRedundancyType\" PartNo=\"5\" BaseType=\"tns:NonTransparentRedundancyType\">\n    <Children>\n      <Property SymbolicName=\"tns:ServerNetworkGroups\" DataType=\"tns:NetworkGroupDataType\" ValueRank=\"Array\" />\n    </Children>\n  </ObjectType>\n  <ObjectType SymbolicName=\"tns:OperationLimitsType\" PartNo=\"5\" BaseType=\"tns:FolderType\">\n    <Description>Identifies the operation limits imposed by the server.</Description>\n    <Children>\n      <Property SymbolicName=\"tns:MaxNodesPerRead\" ModellingRule=\"Optional\" DataType=\"tns:UInt32\">\n        <Description>The maximum number of operations in a single Read request.</Description>\n      </Property>\n      <Property SymbolicName=\"tns:MaxNodesPerHistoryReadData\" ModellingRule=\"Optional\" DataType=\"tns:UInt32\">\n        <Description>The maximum number of operations in a single data HistoryRead request.</Description>\n      </Property>\n      <Property SymbolicName=\"tns:MaxNodesPerHistoryReadEvents\" ModellingRule=\"Optional\" DataType=\"tns:UInt32\">\n        <Description>The maximum number of operations in a single event HistoryRead request.</Description>\n      </Property>\n      <Property SymbolicName=\"tns:MaxNodesPerWrite\" ModellingRule=\"Optional\" DataType=\"tns:UInt32\">\n        <Description>The maximum number of operations in a single Write request.</Description>\n      </Property>\n      <Property SymbolicName=\"tns:MaxNodesPerHistoryUpdateData\" ModellingRule=\"Optional\" DataType=\"tns:UInt32\">\n        <Description>The maximum number of operations in a single data HistoryUpdate request.</Description>\n      </Property>\n      <Property SymbolicName=\"tns:MaxNodesPerHistoryUpdateEvents\" ModellingRule=\"Optional\" DataType=\"tns:UInt32\">\n        <Description>The maximum number of operations in a single event HistoryUpdate request.</Description>\n      </Property>\n      <Property SymbolicName=\"tns:MaxNodesPerMethodCall\" ModellingRule=\"Optional\" DataType=\"tns:UInt32\">\n        <Description>The maximum number of operations in a single Call request.</Description>\n      </Property>\n      <Property SymbolicName=\"tns:MaxNodesPerBrowse\" ModellingRule=\"Optional\" DataType=\"tns:UInt32\">\n        <Description>The maximum number of operations in a single Browse request.</Description>\n      </Property>\n      <Property SymbolicName=\"tns:MaxNodesPerRegisterNodes\" ModellingRule=\"Optional\" DataType=\"tns:UInt32\">\n        <Description>The maximum number of operations in a single RegisterNodes request.</Description>\n      </Property>\n      <Property SymbolicName=\"tns:MaxNodesPerTranslateBrowsePathsToNodeIds\" ModellingRule=\"Optional\" DataType=\"tns:UInt32\">\n        <Description>The maximum number of operations in a single TranslateBrowsePathsToNodeIds request.</Description>\n      </Property>\n      <Property SymbolicName=\"tns:MaxNodesPerNodeManagement\" ModellingRule=\"Optional\" DataType=\"tns:UInt32\">\n        <Description>The maximum number of operations in a single AddNodes, AddReferences, DeleteNodes or DeleteReferences request.</Description>\n      </Property>\n      <Property SymbolicName=\"tns:MaxMonitoredItemsPerCall\" ModellingRule=\"Optional\" DataType=\"tns:UInt32\">\n        <Description>The maximum number of operations in a single MonitoredItem related request.</Description>\n      </Property>\n    </Children>\n  </ObjectType>\n  <ObjectType SymbolicName=\"tns:FileType\" PartNo=\"5\" BaseType=\"tns:BaseObjectType\">\n    <Description>An object that represents a file that can be accessed via the server.</Description>\n    <Children>\n      <Property SymbolicName=\"tns:Size\" DataType=\"tns:UInt64\" />\n      <Property SymbolicName=\"tns:Writable\" DataType=\"tns:Boolean\" />\n      <Property SymbolicName=\"tns:UserWritable\" DataType=\"tns:Boolean\" />\n      <Property SymbolicName=\"tns:OpenCount\" DataType=\"tns:UInt16\" />\n      <Property SymbolicName=\"tns:MimeType\" ModellingRule=\"Optional\" DataType=\"tns:String\" />\n      <Property SymbolicName=\"tns:MaxByteStringLength\" ModellingRule=\"Optional\" DataType=\"tns:UInt32\" />\n      <Method SymbolicName=\"tns:Open\" TypeDefinition=\"tns:OpenMethodType\" />\n      <Method SymbolicName=\"tns:Close\" TypeDefinition=\"tns:CloseMethodType\" />\n      <Method SymbolicName=\"tns:Read\" TypeDefinition=\"tns:ReadMethodType\" />\n      <Method SymbolicName=\"tns:Write\" TypeDefinition=\"tns:WriteMethodType\" />\n      <Method SymbolicName=\"tns:GetPosition\" TypeDefinition=\"tns:GetPositionMethodType\" />\n      <Method SymbolicName=\"tns:SetPosition\" TypeDefinition=\"tns:SetPositionMethodType\" />\n    </Children>\n  </ObjectType>\n  <ObjectType SymbolicName=\"tns:AddressSpaceFileType\" PartNo=\"5\" BaseType=\"tns:FileType\">\n    <Description>A file used to store a namespace exported from the server.</Description>\n    <Children>\n      <Method SymbolicName=\"tns:ExportNamespace\" ModellingRule=\"Optional\">\n        <Description>Updates the file by exporting the server namespace.</Description>\n      </Method>\n    </Children>\n  </ObjectType>\n  <ObjectType SymbolicName=\"tns:NamespaceMetadataType\" PartNo=\"5\" BaseType=\"tns:BaseObjectType\">\n    <Description>Provides the metadata for a namespace used by the server.</Description>\n    <Children>\n      <Property SymbolicName=\"tns:NamespaceUri\" DataType=\"tns:String\">\n        <Description>The URI of the namespace.</Description>\n      </Property>\n      <Property SymbolicName=\"tns:NamespaceVersion\" DataType=\"tns:String\">\n        <Description>The human readable string representing version of the namespace.</Description>\n      </Property>\n      <Property SymbolicName=\"tns:NamespacePublicationDate\" DataType=\"tns:DateTime\">\n        <Description>The publication date for the namespace.</Description>\n      </Property>\n      <Property SymbolicName=\"tns:IsNamespaceSubset\" DataType=\"tns:Boolean\">\n        <Description>If TRUE then the server only supports a subset of the namespace.</Description>\n      </Property>\n      <Property SymbolicName=\"tns:StaticNodeIdTypes\" DataType=\"tns:IdType\" ValueRank=\"Array\">\n        <Description>A list of IdTypes for nodes which are the same in every server that exposes them.</Description>\n      </Property>\n      <Property SymbolicName=\"tns:StaticNumericNodeIdRange\" DataType=\"tns:NumericRange\" ValueRank=\"Array\">\n        <Description>A list of ranges for numeric node ids which are the same in every server that exposes them.</Description>\n      </Property>\n      <Property SymbolicName=\"tns:StaticStringNodeIdPattern\" DataType=\"tns:String\" ValueRank=\"Scalar\">\n        <Description>A regular expression which matches string node ids are the same in every server that exposes them.</Description>\n      </Property>\n      <Object SymbolicName=\"tns:NamespaceFile\" TypeDefinition=\"tns:AddressSpaceFileType\" ModellingRule=\"Optional\">\n        <Description>A file containing the nodes of the namespace.</Description>\n      </Object>\n      <Property SymbolicName=\"tns:DefaultRolePermissions\" ModellingRule=\"Optional\" DataType=\"tns:RolePermissionType\" ValueRank=\"Array\" />\n      <Property SymbolicName=\"tns:DefaultUserRolePermissions\" ModellingRule=\"Optional\" DataType=\"tns:RolePermissionType\" ValueRank=\"Array\" />\n      <Property SymbolicName=\"tns:DefaultAccessRestrictions\" ModellingRule=\"Optional\" DataType=\"tns:AccessRestrictionType\" />\n    </Children>\n  </ObjectType>\n  <ObjectType SymbolicName=\"tns:NamespacesType\" PartNo=\"5\" BaseType=\"tns:BaseObjectType\">\n    <Description>A container for the namespace metadata provided by the server.</Description>\n    <Children>\n      <Object SymbolicName=\"tns:NamespaceIdentifier_Placeholder\" TypeDefinition=\"tns:NamespaceMetadataType\" ModellingRule=\"OptionalPlaceholder\">\n        <BrowseName>&lt;NamespaceIdentifier&gt;</BrowseName>\n      </Object>\n    </Children>\n  </ObjectType>\n  <ObjectType SymbolicName=\"tns:BaseEventType\" PartNo=\"5\" BaseType=\"tns:BaseObjectType\" IsAbstract=\"true\">\n    <Description>The base type for all events.</Description>\n    <Children>\n      <Property SymbolicName=\"tns:EventId\" DataType=\"tns:ByteString\">\n        <Description>A globally unique identifier for the event.</Description>\n      </Property>\n      <Property SymbolicName=\"tns:EventType\" DataType=\"tns:NodeId\">\n        <Description>The identifier for the event type.</Description>\n      </Property>\n      <Property SymbolicName=\"tns:SourceNode\" DataType=\"tns:NodeId\">\n        <Description>The source of the event.</Description>\n      </Property>\n      <Property SymbolicName=\"tns:SourceName\" DataType=\"tns:String\">\n        <Description>A description of the source of the event.</Description>\n      </Property>\n      <Property SymbolicName=\"tns:Time\" DataType=\"tns:UtcTime\">\n        <Description>When the event occurred.</Description>\n      </Property>\n      <Property SymbolicName=\"tns:ReceiveTime\" DataType=\"tns:UtcTime\">\n        <Description>When the server received the event from the underlying system.</Description>\n      </Property>\n      <Property SymbolicName=\"tns:LocalTime\" ModellingRule=\"Optional\" DataType=\"tns:TimeZoneDataType\">\n        <Description>Information about the local time where the event originated.</Description>\n      </Property>\n      <Property SymbolicName=\"tns:Message\" DataType=\"tns:LocalizedText\">\n        <Description>A localized description of the event.</Description>\n      </Property>\n      <Property SymbolicName=\"tns:Severity\" DataType=\"tns:UInt16\">\n        <Description>Indicates how urgent an event is.</Description>\n      </Property>\n    </Children>\n  </ObjectType>\n  <ObjectType SymbolicName=\"tns:AuditEventType\" PartNo=\"5\" BaseType=\"tns:BaseEventType\" IsAbstract=\"true\">\n    <Description>A base type for events used to track client initiated changes to the server state.</Description>\n    <Children>\n      <Property SymbolicName=\"tns:ActionTimeStamp\" DataType=\"tns:UtcTime\">\n        <Description>When the action triggering the event occurred.</Description>\n      </Property>\n      <Property SymbolicName=\"tns:Status\" DataType=\"tns:Boolean\">\n        <Description>If TRUE the action was performed. If FALSE the action failed and the server state did not change.</Description>\n      </Property>\n      <Property SymbolicName=\"tns:ServerId\" DataType=\"tns:String\">\n        <Description>The unique identifier for the server generating the event.</Description>\n      </Property>\n      <Property SymbolicName=\"tns:ClientAuditEntryId\" DataType=\"tns:String\">\n        <Description>The log entry id provided in the request that initiated the action.</Description>\n      </Property>\n      <Property SymbolicName=\"tns:ClientUserId\" DataType=\"tns:String\">\n        <Description>The user identity associated with the session that initiated the action.</Description>\n      </Property>\n    </Children>\n  </ObjectType>\n  <ObjectType SymbolicName=\"tns:AuditSecurityEventType\" PartNo=\"5\" BaseType=\"tns:AuditEventType\" IsAbstract=\"true\">\n    <Description>A base type for events used to track security related changes.</Description>\n    <Children>\n      <Property SymbolicName=\"tns:StatusCodeId\" ModellingRule=\"Optional\" DataType=\"tns:StatusCode\" />\n    </Children>\n  </ObjectType>\n  <ObjectType SymbolicName=\"tns:AuditChannelEventType\" PartNo=\"5\" BaseType=\"tns:AuditSecurityEventType\" IsAbstract=\"true\">\n    <Description>A base type for events used to track related changes to a secure channel.</Description>\n    <Children>\n      <Property SymbolicName=\"tns:SecureChannelId\" DataType=\"tns:String\">\n        <Description>The identifier for the secure channel that was changed.</Description>\n      </Property>\n    </Children>\n  </ObjectType>\n  <ObjectType SymbolicName=\"tns:AuditOpenSecureChannelEventType\" PartNo=\"5\" BaseType=\"tns:AuditChannelEventType\" IsAbstract=\"true\">\n    <Description>An event that is raised when a secure channel is opened.</Description>\n    <Children>\n      <Property SymbolicName=\"tns:ClientCertificate\" DataType=\"tns:ByteString\">\n        <Description>The certificate provided by the client.</Description>\n      </Property>\n      <Property SymbolicName=\"tns:ClientCertificateThumbprint\" DataType=\"tns:String\">\n        <Description>The thumbprint for certificate provided by the client.</Description>\n      </Property>\n      <Property SymbolicName=\"tns:RequestType\" DataType=\"tns:SecurityTokenRequestType\">\n        <Description>The type of request (NEW or RENEW).</Description>\n      </Property>\n      <Property SymbolicName=\"tns:SecurityPolicyUri\" DataType=\"tns:String\">\n        <Description>The security policy used by the channel.</Description>\n      </Property>\n      <Property SymbolicName=\"tns:SecurityMode\" DataType=\"tns:MessageSecurityMode\">\n        <Description>The security mode used by the channel.</Description>\n      </Property>\n      <Property SymbolicName=\"tns:RequestedLifetime\" DataType=\"tns:Duration\">\n        <Description>The lifetime of the channel requested by the client.</Description>\n      </Property>\n    </Children>\n  </ObjectType>\n  <ObjectType SymbolicName=\"tns:AuditSessionEventType\" PartNo=\"5\" BaseType=\"tns:AuditSecurityEventType\" IsAbstract=\"true\">\n    <Description>A base type for events used to track related changes to a session.</Description>\n    <Children>\n      <Property SymbolicName=\"tns:SessionId\" DataType=\"tns:NodeId\">\n        <Description>The unique identifier for the session,.</Description>\n      </Property>\n    </Children>\n  </ObjectType>\n  <ObjectType SymbolicName=\"tns:AuditCreateSessionEventType\" PartNo=\"5\" BaseType=\"tns:AuditSessionEventType\" IsAbstract=\"true\">\n    <Description>An event that is raised when a session is created.</Description>\n    <Children>\n      <Property SymbolicName=\"tns:SecureChannelId\" DataType=\"tns:String\">\n        <Description>The secure channel associated with the session.</Description>\n      </Property>\n      <Property SymbolicName=\"tns:ClientCertificate\" DataType=\"tns:ByteString\">\n        <Description>The certificate provided by the client.</Description>\n      </Property>\n      <Property SymbolicName=\"tns:ClientCertificateThumbprint\" DataType=\"tns:String\">\n        <Description>The thumbprint of the certificate provided by the client.</Description>\n      </Property>\n      <Property SymbolicName=\"tns:RevisedSessionTimeout\" DataType=\"tns:Duration\">\n        <Description>The timeout for the session.</Description>\n      </Property>\n    </Children>\n  </ObjectType>\n  <ObjectType SymbolicName=\"tns:AuditUrlMismatchEventType\" PartNo=\"5\" BaseType=\"tns:AuditCreateSessionEventType\" IsAbstract=\"true\">\n    <Children>\n      <Property SymbolicName=\"tns:EndpointUrl\" DataType=\"tns:String\" />\n    </Children>\n  </ObjectType>\n  <ObjectType SymbolicName=\"tns:AuditActivateSessionEventType\" PartNo=\"5\" BaseType=\"tns:AuditSessionEventType\" IsAbstract=\"true\">\n    <Children>\n      <Property SymbolicName=\"tns:ClientSoftwareCertificates\" DataType=\"tns:SignedSoftwareCertificate\" ValueRank=\"Array\" />\n      <Property SymbolicName=\"tns:UserIdentityToken\" DataType=\"tns:UserIdentityToken\" />\n      <Property SymbolicName=\"tns:SecureChannelId\" DataType=\"tns:String\" />\n    </Children>\n  </ObjectType>\n  <ObjectType SymbolicName=\"tns:AuditCancelEventType\" PartNo=\"5\" BaseType=\"tns:AuditSessionEventType\" IsAbstract=\"true\">\n    <Children>\n      <Property SymbolicName=\"tns:RequestHandle\" DataType=\"tns:UInt32\" />\n    </Children>\n  </ObjectType>\n  <ObjectType SymbolicName=\"tns:AuditCertificateEventType\" PartNo=\"5\" BaseType=\"tns:AuditSecurityEventType\" IsAbstract=\"true\">\n    <Children>\n      <Property SymbolicName=\"tns:Certificate\" DataType=\"tns:ByteString\" />\n    </Children>\n  </ObjectType>\n  <ObjectType SymbolicName=\"tns:AuditCertificateDataMismatchEventType\" PartNo=\"5\" BaseType=\"tns:AuditCertificateEventType\" IsAbstract=\"true\">\n    <Children>\n      <Property SymbolicName=\"tns:InvalidHostname\" DataType=\"tns:String\" />\n      <Property SymbolicName=\"tns:InvalidUri\" DataType=\"tns:String\" />\n    </Children>\n  </ObjectType>\n  <ObjectType SymbolicName=\"tns:AuditCertificateExpiredEventType\" PartNo=\"5\" BaseType=\"tns:AuditCertificateEventType\" IsAbstract=\"true\" />\n  <ObjectType SymbolicName=\"tns:AuditCertificateInvalidEventType\" PartNo=\"5\" BaseType=\"tns:AuditCertificateEventType\" IsAbstract=\"true\" />\n  <ObjectType SymbolicName=\"tns:AuditCertificateUntrustedEventType\" PartNo=\"5\" BaseType=\"tns:AuditCertificateEventType\" IsAbstract=\"true\" />\n  <ObjectType SymbolicName=\"tns:AuditCertificateRevokedEventType\" PartNo=\"5\" BaseType=\"tns:AuditCertificateEventType\" IsAbstract=\"true\" />\n  <ObjectType SymbolicName=\"tns:AuditCertificateMismatchEventType\" PartNo=\"5\" BaseType=\"tns:AuditCertificateEventType\" IsAbstract=\"true\" />\n  <ObjectType SymbolicName=\"tns:AuditNodeManagementEventType\" PartNo=\"5\" BaseType=\"tns:AuditEventType\" IsAbstract=\"true\" />\n  <ObjectType SymbolicName=\"tns:AuditAddNodesEventType\" PartNo=\"5\" BaseType=\"tns:AuditNodeManagementEventType\" IsAbstract=\"true\">\n    <Children>\n      <Property SymbolicName=\"tns:NodesToAdd\" DataType=\"tns:AddNodesItem\" ValueRank=\"Array\" />\n    </Children>\n  </ObjectType>\n  <ObjectType SymbolicName=\"tns:AuditDeleteNodesEventType\" PartNo=\"5\" BaseType=\"tns:AuditNodeManagementEventType\" IsAbstract=\"true\">\n    <Children>\n      <Property SymbolicName=\"tns:NodesToDelete\" DataType=\"tns:DeleteNodesItem\" ValueRank=\"Array\" />\n    </Children>\n  </ObjectType>\n  <ObjectType SymbolicName=\"tns:AuditAddReferencesEventType\" PartNo=\"5\" BaseType=\"tns:AuditNodeManagementEventType\" IsAbstract=\"true\">\n    <Children>\n      <Property SymbolicName=\"tns:ReferencesToAdd\" DataType=\"tns:AddReferencesItem\" ValueRank=\"Array\" />\n    </Children>\n  </ObjectType>\n  <ObjectType SymbolicName=\"tns:AuditDeleteReferencesEventType\" PartNo=\"5\" BaseType=\"tns:AuditNodeManagementEventType\" IsAbstract=\"true\">\n    <Children>\n      <Property SymbolicName=\"tns:ReferencesToDelete\" DataType=\"tns:DeleteReferencesItem\" ValueRank=\"Array\" />\n    </Children>\n  </ObjectType>\n  <ObjectType SymbolicName=\"tns:AuditUpdateEventType\" PartNo=\"5\" BaseType=\"tns:AuditEventType\" IsAbstract=\"true\" />\n  <ObjectType SymbolicName=\"tns:AuditWriteUpdateEventType\" PartNo=\"5\" BaseType=\"tns:AuditUpdateEventType\" IsAbstract=\"true\">\n    <Children>\n      <Property SymbolicName=\"tns:AttributeId\" DataType=\"tns:UInt32\" />\n      <Property SymbolicName=\"tns:IndexRange\" DataType=\"tns:NumericRange\" />\n      <Property SymbolicName=\"tns:OldValue\" DataType=\"tns:BaseDataType\" />\n      <Property SymbolicName=\"tns:NewValue\" DataType=\"tns:BaseDataType\" />\n    </Children>\n  </ObjectType>\n  <ObjectType SymbolicName=\"tns:AuditHistoryUpdateEventType\" PartNo=\"5\" BaseType=\"tns:AuditUpdateEventType\" IsAbstract=\"true\">\n    <Children>\n      <Property SymbolicName=\"tns:ParameterDataTypeId\" DataType=\"tns:NodeId\" />\n    </Children>\n  </ObjectType>\n  <ObjectType SymbolicName=\"tns:AuditUpdateMethodEventType\" PartNo=\"5\" BaseType=\"tns:AuditEventType\" IsAbstract=\"true\">\n    <Children>\n      <Property SymbolicName=\"tns:MethodId\" DataType=\"tns:NodeId\" />\n      <Property SymbolicName=\"tns:InputArguments\" DataType=\"tns:BaseDataType\" ValueRank=\"Array\" />\n    </Children>\n  </ObjectType>\n  <ObjectType SymbolicName=\"tns:SystemEventType\" PartNo=\"5\" BaseType=\"tns:BaseEventType\" IsAbstract=\"true\" />\n  <ObjectType SymbolicName=\"tns:DeviceFailureEventType\" PartNo=\"5\" BaseType=\"tns:SystemEventType\" IsAbstract=\"true\" />\n  <ObjectType SymbolicName=\"tns:SystemStatusChangeEventType\" PartNo=\"5\" BaseType=\"tns:SystemEventType\" IsAbstract=\"true\">\n    <Children>\n      <Property SymbolicName=\"tns:SystemState\" DataType=\"tns:ServerState\" />\n    </Children>\n  </ObjectType>\n  <ObjectType SymbolicName=\"tns:BaseModelChangeEventType\" PartNo=\"5\" BaseType=\"tns:BaseEventType\" IsAbstract=\"true\" />\n  <ObjectType SymbolicName=\"tns:GeneralModelChangeEventType\" PartNo=\"5\" BaseType=\"tns:BaseModelChangeEventType\" IsAbstract=\"true\">\n    <Children>\n      <Property SymbolicName=\"tns:Changes\" DataType=\"tns:ModelChangeStructureDataType\" ValueRank=\"Array\" />\n    </Children>\n  </ObjectType>\n  <ObjectType SymbolicName=\"tns:SemanticChangeEventType\" PartNo=\"5\" BaseType=\"tns:BaseEventType\" IsAbstract=\"true\">\n    <Children>\n      <Property SymbolicName=\"tns:Changes\" DataType=\"tns:SemanticChangeStructureDataType\" ValueRank=\"Array\" />\n    </Children>\n  </ObjectType>\n  <ObjectType SymbolicName=\"tns:EventQueueOverflowEventType\" PartNo=\"5\" BaseType=\"tns:BaseEventType\" IsAbstract=\"true\" />\n  <ObjectType SymbolicName=\"tns:ProgressEventType\" PartNo=\"5\" BaseType=\"tns:BaseEventType\" IsAbstract=\"true\">\n    <Children>\n      <Property SymbolicName=\"tns:Context\" DataType=\"tns:BaseDataType\" />\n      <Property SymbolicName=\"tns:Progress\" DataType=\"tns:UInt16\" />\n    </Children>\n  </ObjectType>\n  <ObjectType SymbolicName=\"tns:AggregateFunctionType\" PartNo=\"5\" BaseType=\"tns:BaseObjectType\" />\n  <VariableType SymbolicName=\"tns:ServerVendorCapabilityType\" PartNo=\"5\" BaseType=\"tns:BaseDataVariableType\" IsAbstract=\"true\" ValueRank=\"Scalar\" />\n  <VariableType SymbolicName=\"tns:ServerStatusType\" PartNo=\"5\" BaseType=\"tns:BaseDataVariableType\" DataType=\"tns:ServerStatusDataType\" ValueRank=\"Scalar\" ExposesItsChildren=\"true\">\n    <Children>\n      <Variable SymbolicName=\"tns:StartTime\" DataType=\"tns:UtcTime\" />\n      <Variable SymbolicName=\"tns:CurrentTime\" DataType=\"tns:UtcTime\" />\n      <Variable SymbolicName=\"tns:State\" DataType=\"tns:ServerState\" />\n      <Variable SymbolicName=\"tns:BuildInfo\" TypeDefinition=\"tns:BuildInfoType\" DataType=\"tns:BuildInfo\" />\n      <Variable SymbolicName=\"tns:SecondsTillShutdown\" DataType=\"tns:UInt32\" />\n      <Variable SymbolicName=\"tns:ShutdownReason\" DataType=\"tns:LocalizedText\" />\n    </Children>\n  </VariableType>\n  <VariableType SymbolicName=\"tns:BuildInfoType\" PartNo=\"5\" BaseType=\"tns:BaseDataVariableType\" DataType=\"tns:BuildInfo\" ValueRank=\"Scalar\" ExposesItsChildren=\"true\">\n    <Children>\n      <Variable SymbolicName=\"tns:ProductUri\" DataType=\"tns:String\" MinimumSamplingInterval=\"1000\" />\n      <Variable SymbolicName=\"tns:ManufacturerName\" DataType=\"tns:String\" MinimumSamplingInterval=\"1000\" />\n      <Variable SymbolicName=\"tns:ProductName\" DataType=\"tns:String\" MinimumSamplingInterval=\"1000\" />\n      <Variable SymbolicName=\"tns:SoftwareVersion\" DataType=\"tns:String\" MinimumSamplingInterval=\"1000\" />\n      <Variable SymbolicName=\"tns:BuildNumber\" DataType=\"tns:String\" MinimumSamplingInterval=\"1000\" />\n      <Variable SymbolicName=\"tns:BuildDate\" DataType=\"tns:UtcTime\" MinimumSamplingInterval=\"1000\" />\n    </Children>\n    <ClassName>BuildInfoVariable</ClassName>\n  </VariableType>\n  <VariableType SymbolicName=\"tns:ServerDiagnosticsSummaryType\" PartNo=\"5\" BaseType=\"tns:BaseDataVariableType\" DataType=\"tns:ServerDiagnosticsSummaryDataType\" ValueRank=\"Scalar\" ExposesItsChildren=\"true\">\n    <Children>\n      <Variable SymbolicName=\"tns:ServerViewCount\" DataType=\"tns:UInt32\" />\n      <Variable SymbolicName=\"tns:CurrentSessionCount\" DataType=\"tns:UInt32\" />\n      <Variable SymbolicName=\"tns:CumulatedSessionCount\" DataType=\"tns:UInt32\" />\n      <Variable SymbolicName=\"tns:SecurityRejectedSessionCount\" DataType=\"tns:UInt32\" />\n      <Variable SymbolicName=\"tns:RejectedSessionCount\" DataType=\"tns:UInt32\" />\n      <Variable SymbolicName=\"tns:SessionTimeoutCount\" DataType=\"tns:UInt32\" />\n      <Variable SymbolicName=\"tns:SessionAbortCount\" DataType=\"tns:UInt32\" />\n      <Variable SymbolicName=\"tns:PublishingIntervalCount\" DataType=\"tns:UInt32\" />\n      <Variable SymbolicName=\"tns:CurrentSubscriptionCount\" DataType=\"tns:UInt32\" />\n      <Variable SymbolicName=\"tns:CumulatedSubscriptionCount\" DataType=\"tns:UInt32\" />\n      <Variable SymbolicName=\"tns:SecurityRejectedRequestsCount\" DataType=\"tns:UInt32\" />\n      <Variable SymbolicName=\"tns:RejectedRequestsCount\" DataType=\"tns:UInt32\" />\n    </Children>\n  </VariableType>\n  <VariableType SymbolicName=\"tns:SamplingIntervalDiagnosticsArrayType\" PartNo=\"5\" BaseType=\"tns:BaseDataVariableType\" DataType=\"tns:SamplingIntervalDiagnosticsDataType\" ValueRank=\"Array\">\n    <Children>\n      <Variable SymbolicName=\"tns:SamplingIntervalDiagnostics\" TypeDefinition=\"tns:SamplingIntervalDiagnosticsType\" ModellingRule=\"ExposesItsArray\" DataType=\"tns:SamplingIntervalDiagnosticsDataType\" />\n    </Children>\n  </VariableType>\n  <VariableType SymbolicName=\"tns:SamplingIntervalDiagnosticsType\" PartNo=\"5\" BaseType=\"tns:BaseDataVariableType\" DataType=\"tns:SamplingIntervalDiagnosticsDataType\" ValueRank=\"Scalar\" ExposesItsChildren=\"true\">\n    <Children>\n      <Variable SymbolicName=\"tns:SamplingInterval\" DataType=\"tns:Duration\" />\n      <Variable SymbolicName=\"tns:SampledMonitoredItemsCount\" DataType=\"tns:UInt32\" />\n      <Variable SymbolicName=\"tns:MaxSampledMonitoredItemsCount\" DataType=\"tns:UInt32\" />\n      <Variable SymbolicName=\"tns:DisabledMonitoredItemsSamplingCount\" DataType=\"tns:UInt32\" />\n    </Children>\n  </VariableType>\n  <VariableType SymbolicName=\"tns:SubscriptionDiagnosticsArrayType\" PartNo=\"5\" BaseType=\"tns:BaseDataVariableType\" DataType=\"tns:SubscriptionDiagnosticsDataType\" ValueRank=\"Array\">\n    <Children>\n      <Variable SymbolicName=\"tns:SubscriptionDiagnostics\" TypeDefinition=\"tns:SubscriptionDiagnosticsType\" ModellingRule=\"ExposesItsArray\" DataType=\"tns:SubscriptionDiagnosticsDataType\" />\n    </Children>\n  </VariableType>\n  <VariableType SymbolicName=\"tns:SubscriptionDiagnosticsType\" PartNo=\"5\" BaseType=\"tns:BaseDataVariableType\" DataType=\"tns:SubscriptionDiagnosticsDataType\" ValueRank=\"Scalar\" ExposesItsChildren=\"true\">\n    <Children>\n      <Variable SymbolicName=\"tns:SessionId\" DataType=\"tns:NodeId\" />\n      <Variable SymbolicName=\"tns:SubscriptionId\" DataType=\"tns:UInt32\" />\n      <Variable SymbolicName=\"tns:Priority\" DataType=\"tns:Byte\" />\n      <Variable SymbolicName=\"tns:PublishingInterval\" DataType=\"tns:Duration\" />\n      <Variable SymbolicName=\"tns:MaxKeepAliveCount\" DataType=\"tns:UInt32\" />\n      <Variable SymbolicName=\"tns:MaxLifetimeCount\" DataType=\"tns:UInt32\" />\n      <Variable SymbolicName=\"tns:MaxNotificationsPerPublish\" DataType=\"tns:UInt32\" />\n      <Variable SymbolicName=\"tns:PublishingEnabled\" DataType=\"tns:Boolean\" />\n      <Variable SymbolicName=\"tns:ModifyCount\" DataType=\"tns:UInt32\" />\n      <Variable SymbolicName=\"tns:EnableCount\" DataType=\"tns:UInt32\" />\n      <Variable SymbolicName=\"tns:DisableCount\" DataType=\"tns:UInt32\" />\n      <Variable SymbolicName=\"tns:RepublishRequestCount\" DataType=\"tns:UInt32\" />\n      <Variable SymbolicName=\"tns:RepublishMessageRequestCount\" DataType=\"tns:UInt32\" />\n      <Variable SymbolicName=\"tns:RepublishMessageCount\" DataType=\"tns:UInt32\" />\n      <Variable SymbolicName=\"tns:TransferRequestCount\" DataType=\"tns:UInt32\" />\n      <Variable SymbolicName=\"tns:TransferredToAltClientCount\" DataType=\"tns:UInt32\" />\n      <Variable SymbolicName=\"tns:TransferredToSameClientCount\" DataType=\"tns:UInt32\" />\n      <Variable SymbolicName=\"tns:PublishRequestCount\" DataType=\"tns:UInt32\" />\n      <Variable SymbolicName=\"tns:DataChangeNotificationsCount\" DataType=\"tns:UInt32\" />\n      <Variable SymbolicName=\"tns:EventNotificationsCount\" DataType=\"tns:UInt32\" />\n      <Variable SymbolicName=\"tns:NotificationsCount\" DataType=\"tns:UInt32\" />\n      <Variable SymbolicName=\"tns:LatePublishRequestCount\" DataType=\"tns:UInt32\" />\n      <Variable SymbolicName=\"tns:CurrentKeepAliveCount\" DataType=\"tns:UInt32\" />\n      <Variable SymbolicName=\"tns:CurrentLifetimeCount\" DataType=\"tns:UInt32\" />\n      <Variable SymbolicName=\"tns:UnacknowledgedMessageCount\" DataType=\"tns:UInt32\" />\n      <Variable SymbolicName=\"tns:DiscardedMessageCount\" DataType=\"tns:UInt32\" />\n      <Variable SymbolicName=\"tns:MonitoredItemCount\" DataType=\"tns:UInt32\" />\n      <Variable SymbolicName=\"tns:DisabledMonitoredItemCount\" DataType=\"tns:UInt32\" />\n      <Variable SymbolicName=\"tns:MonitoringQueueOverflowCount\" DataType=\"tns:UInt32\" />\n      <Variable SymbolicName=\"tns:NextSequenceNumber\" DataType=\"tns:UInt32\" />\n      <Variable SymbolicName=\"tns:EventQueueOverflowCount\" DataType=\"tns:UInt32\" />\n    </Children>\n  </VariableType>\n  <VariableType SymbolicName=\"tns:SessionDiagnosticsArrayType\" PartNo=\"5\" BaseType=\"tns:BaseDataVariableType\" DataType=\"tns:SessionDiagnosticsDataType\" ValueRank=\"Array\">\n    <Children>\n      <Variable SymbolicName=\"tns:SessionDiagnostics\" TypeDefinition=\"tns:SessionDiagnosticsVariableType\" ModellingRule=\"ExposesItsArray\" DataType=\"tns:SessionDiagnosticsDataType\" />\n    </Children>\n  </VariableType>\n  <VariableType SymbolicName=\"tns:SessionDiagnosticsVariableType\" PartNo=\"5\" BaseType=\"tns:BaseDataVariableType\" DataType=\"tns:SessionDiagnosticsDataType\" ValueRank=\"Scalar\" ExposesItsChildren=\"true\">\n    <Children>\n      <Variable SymbolicName=\"tns:SessionId\" DataType=\"tns:NodeId\" />\n      <Variable SymbolicName=\"tns:SessionName\" DataType=\"tns:String\" />\n      <Variable SymbolicName=\"tns:ClientDescription\" DataType=\"tns:ApplicationDescription\" />\n      <Variable SymbolicName=\"tns:ServerUri\" DataType=\"tns:String\" />\n      <Variable SymbolicName=\"tns:EndpointUrl\" DataType=\"tns:String\" />\n      <Variable SymbolicName=\"tns:LocaleIds\" DataType=\"tns:LocaleId\" ValueRank=\"Array\" />\n      <Variable SymbolicName=\"tns:ActualSessionTimeout\" DataType=\"tns:Duration\" />\n      <Variable SymbolicName=\"tns:MaxResponseMessageSize\" DataType=\"tns:UInt32\" />\n      <Variable SymbolicName=\"tns:ClientConnectionTime\" DataType=\"tns:UtcTime\" />\n      <Variable SymbolicName=\"tns:ClientLastContactTime\" DataType=\"tns:UtcTime\" />\n      <Variable SymbolicName=\"tns:CurrentSubscriptionsCount\" DataType=\"tns:UInt32\" />\n      <Variable SymbolicName=\"tns:CurrentMonitoredItemsCount\" DataType=\"tns:UInt32\" />\n      <Variable SymbolicName=\"tns:CurrentPublishRequestsInQueue\" DataType=\"tns:UInt32\" />\n      <Variable SymbolicName=\"tns:TotalRequestCount\" DataType=\"tns:ServiceCounterDataType\" />\n      <Variable SymbolicName=\"tns:UnauthorizedRequestCount\" DataType=\"tns:UInt32\" />\n      <Variable SymbolicName=\"tns:ReadCount\" DataType=\"tns:ServiceCounterDataType\" />\n      <Variable SymbolicName=\"tns:HistoryReadCount\" DataType=\"tns:ServiceCounterDataType\" />\n      <Variable SymbolicName=\"tns:WriteCount\" DataType=\"tns:ServiceCounterDataType\" />\n      <Variable SymbolicName=\"tns:HistoryUpdateCount\" DataType=\"tns:ServiceCounterDataType\" />\n      <Variable SymbolicName=\"tns:CallCount\" DataType=\"tns:ServiceCounterDataType\" />\n      <Variable SymbolicName=\"tns:CreateMonitoredItemsCount\" DataType=\"tns:ServiceCounterDataType\" />\n      <Variable SymbolicName=\"tns:ModifyMonitoredItemsCount\" DataType=\"tns:ServiceCounterDataType\" />\n      <Variable SymbolicName=\"tns:SetMonitoringModeCount\" DataType=\"tns:ServiceCounterDataType\" />\n      <Variable SymbolicName=\"tns:SetTriggeringCount\" DataType=\"tns:ServiceCounterDataType\" />\n      <Variable SymbolicName=\"tns:DeleteMonitoredItemsCount\" DataType=\"tns:ServiceCounterDataType\" />\n      <Variable SymbolicName=\"tns:CreateSubscriptionCount\" DataType=\"tns:ServiceCounterDataType\" />\n      <Variable SymbolicName=\"tns:ModifySubscriptionCount\" DataType=\"tns:ServiceCounterDataType\" />\n      <Variable SymbolicName=\"tns:SetPublishingModeCount\" DataType=\"tns:ServiceCounterDataType\" />\n      <Variable SymbolicName=\"tns:PublishCount\" DataType=\"tns:ServiceCounterDataType\" />\n      <Variable SymbolicName=\"tns:RepublishCount\" DataType=\"tns:ServiceCounterDataType\" />\n      <Variable SymbolicName=\"tns:TransferSubscriptionsCount\" DataType=\"tns:ServiceCounterDataType\" />\n      <Variable SymbolicName=\"tns:DeleteSubscriptionsCount\" DataType=\"tns:ServiceCounterDataType\" />\n      <Variable SymbolicName=\"tns:AddNodesCount\" DataType=\"tns:ServiceCounterDataType\" />\n      <Variable SymbolicName=\"tns:AddReferencesCount\" DataType=\"tns:ServiceCounterDataType\" />\n      <Variable SymbolicName=\"tns:DeleteNodesCount\" DataType=\"tns:ServiceCounterDataType\" />\n      <Variable SymbolicName=\"tns:DeleteReferencesCount\" DataType=\"tns:ServiceCounterDataType\" />\n      <Variable SymbolicName=\"tns:BrowseCount\" DataType=\"tns:ServiceCounterDataType\" />\n      <Variable SymbolicName=\"tns:BrowseNextCount\" DataType=\"tns:ServiceCounterDataType\" />\n      <Variable SymbolicName=\"tns:TranslateBrowsePathsToNodeIdsCount\" DataType=\"tns:ServiceCounterDataType\" />\n      <Variable SymbolicName=\"tns:QueryFirstCount\" DataType=\"tns:ServiceCounterDataType\" />\n      <Variable SymbolicName=\"tns:QueryNextCount\" DataType=\"tns:ServiceCounterDataType\" />\n      <Variable SymbolicName=\"tns:RegisterNodesCount\" DataType=\"tns:ServiceCounterDataType\" />\n      <Variable SymbolicName=\"tns:UnregisterNodesCount\" DataType=\"tns:ServiceCounterDataType\" />\n    </Children>\n  </VariableType>\n  <VariableType SymbolicName=\"tns:SessionSecurityDiagnosticsArrayType\" PartNo=\"5\" BaseType=\"tns:BaseDataVariableType\" DataType=\"tns:SessionSecurityDiagnosticsDataType\" ValueRank=\"Array\">\n    <Children>\n      <Variable SymbolicName=\"tns:SessionSecurityDiagnostics\" TypeDefinition=\"tns:SessionSecurityDiagnosticsType\" ModellingRule=\"ExposesItsArray\" DataType=\"tns:SessionSecurityDiagnosticsDataType\" />\n    </Children>\n  </VariableType>\n  <VariableType SymbolicName=\"tns:SessionSecurityDiagnosticsType\" PartNo=\"5\" BaseType=\"tns:BaseDataVariableType\" DataType=\"tns:SessionSecurityDiagnosticsDataType\" ValueRank=\"Scalar\" ExposesItsChildren=\"true\">\n    <Children>\n      <Variable SymbolicName=\"tns:SessionId\" DataType=\"tns:NodeId\" />\n      <Variable SymbolicName=\"tns:ClientUserIdOfSession\" DataType=\"tns:String\" />\n      <Variable SymbolicName=\"tns:ClientUserIdHistory\" DataType=\"tns:String\" ValueRank=\"Array\" />\n      <Variable SymbolicName=\"tns:AuthenticationMechanism\" DataType=\"tns:String\" />\n      <Variable SymbolicName=\"tns:Encoding\" DataType=\"tns:String\" />\n      <Variable SymbolicName=\"tns:TransportProtocol\" DataType=\"tns:String\" />\n      <Variable SymbolicName=\"tns:SecurityMode\" DataType=\"tns:MessageSecurityMode\" />\n      <Variable SymbolicName=\"tns:SecurityPolicyUri\" DataType=\"tns:String\" />\n      <Variable SymbolicName=\"tns:ClientCertificate\" DataType=\"tns:ByteString\" />\n    </Children>\n  </VariableType>\n  <VariableType SymbolicName=\"tns:OptionSetType\" PartNo=\"5\" BaseType=\"tns:BaseDataVariableType\" DataType=\"tns:BaseDataType\" ValueRank=\"Scalar\">\n    <Children>\n      <Property SymbolicName=\"tns:OptionSetValues\" ModellingRule=\"Mandatory\" DataType=\"tns:LocalizedText\" ValueRank=\"Array\" />\n      <Property SymbolicName=\"tns:BitMask\" ModellingRule=\"Optional\" DataType=\"tns:Boolean\" ValueRank=\"Array\" />\n    </Children>\n  </VariableType>\n  <VariableType SymbolicName=\"tns:SelectionListType\" PartNo=\"5\" BaseType=\"tns:BaseDataVariableType\" DataType=\"tns:BaseDataType\" ValueRank=\"ScalarOrArray\" ExposesItsChildren=\"true\">\n    <Children>\n      <Property SymbolicName=\"tns:Selections\" DataType=\"tns:BaseDataType\" ValueRank=\"Array\" />\n      <Property SymbolicName=\"tns:SelectionDescriptions\" ModellingRule=\"Optional\" DataType=\"tns:LocalizedText\" ValueRank=\"Array\" />\n      <Property SymbolicName=\"tns:RestrictToList\" ModellingRule=\"Optional\" DataType=\"tns:Boolean\" />\n    </Children>\n  </VariableType>\n  <VariableType SymbolicName=\"tns:AudioVariableType\" PartNo=\"5\" DataType=\"tns:AudioDataType\" ValueRank=\"Scalar\">\n    <Children>\n      <Property SymbolicName=\"tns:ListId\" ModellingRule=\"Optional\" DataType=\"tns:String\" />\n      <Property SymbolicName=\"tns:AgencyId\" ModellingRule=\"Optional\" DataType=\"tns:String\" />\n      <Property SymbolicName=\"tns:VersionId\" ModellingRule=\"Optional\" DataType=\"tns:String\" />\n    </Children>\n  </VariableType>\n  <Object SymbolicName=\"tns:EventTypesFolder\" PartNo=\"5\" TypeDefinition=\"tns:FolderType\" ModellingRule=\"None\">\n    <BrowseName>EventTypes</BrowseName>\n    <References>\n      <Reference IsInverse=\"true\">\n        <ReferenceType>tns:Organizes</ReferenceType>\n        <TargetId>tns:TypesFolder</TargetId>\n      </Reference>\n      <Reference>\n        <ReferenceType>tns:Organizes</ReferenceType>\n        <TargetId>tns:BaseEventType</TargetId>\n      </Reference>\n    </References>\n  </Object>\n  <Object SymbolicName=\"tns:Server\" PartNo=\"5\" IsDynamic=\"true\" TypeDefinition=\"tns:ServerType\" ModellingRule=\"None\" SupportsEvents=\"true\">\n    <Children>\n      <Property SymbolicName=\"tns:EstimatedReturnTime\" ModellingRule=\"Mandatory\" />\n      <Property SymbolicName=\"tns:LocalTime\" ModellingRule=\"Mandatory\" />\n      <Object SymbolicName=\"tns:ServerCapabilities\">\n        <Children>\n          <Property SymbolicName=\"tns:MaxArrayLength\" ModellingRule=\"Mandatory\" />\n          <Property SymbolicName=\"tns:MaxStringLength\" ModellingRule=\"Mandatory\" />\n          <Property SymbolicName=\"tns:MaxByteStringLength\" ModellingRule=\"Mandatory\" />\n          <Object SymbolicName=\"tns:OperationLimits\" ModellingRule=\"Mandatory\">\n            <Children>\n              <Property SymbolicName=\"tns:MaxNodesPerRead\" ModellingRule=\"Mandatory\" />\n              <Property SymbolicName=\"tns:MaxNodesPerHistoryReadData\" ModellingRule=\"Mandatory\" />\n              <Property SymbolicName=\"tns:MaxNodesPerHistoryReadEvents\" ModellingRule=\"Mandatory\" />\n              <Property SymbolicName=\"tns:MaxNodesPerWrite\" ModellingRule=\"Mandatory\" />\n              <Property SymbolicName=\"tns:MaxNodesPerHistoryUpdateData\" ModellingRule=\"Mandatory\" />\n              <Property SymbolicName=\"tns:MaxNodesPerHistoryUpdateEvents\" ModellingRule=\"Mandatory\" />\n              <Property SymbolicName=\"tns:MaxNodesPerMethodCall\" ModellingRule=\"Mandatory\" />\n              <Property SymbolicName=\"tns:MaxNodesPerBrowse\" ModellingRule=\"Mandatory\" />\n              <Property SymbolicName=\"tns:MaxNodesPerRegisterNodes\" ModellingRule=\"Mandatory\" />\n              <Property SymbolicName=\"tns:MaxNodesPerTranslateBrowsePathsToNodeIds\" ModellingRule=\"Mandatory\" />\n              <Property SymbolicName=\"tns:MaxNodesPerNodeManagement\" ModellingRule=\"Mandatory\" />\n              <Property SymbolicName=\"tns:MaxMonitoredItemsPerCall\" ModellingRule=\"Mandatory\" />\n            </Children>\n          </Object>\n          <Object SymbolicName=\"tns:RoleSet\" ModellingRule=\"Mandatory\" />\n        </Children>\n      </Object>\n      <Object SymbolicName=\"tns:ServerDiagnostics\">\n        <Children>\n          <Variable SymbolicName=\"tns:SamplingIntervalDiagnosticsArray\" ModellingRule=\"Mandatory\" />\n        </Children>\n      </Object>\n      <Object SymbolicName=\"tns:VendorServerInfo\" TypeDefinition=\"tns:VendorServerInfoType\" />\n      <Object SymbolicName=\"tns:ServerRedundancy\" TypeDefinition=\"tns:ServerRedundancyType\" />\n      <Object SymbolicName=\"tns:Namespaces\" ModellingRule=\"Mandatory\" />\n      <Method SymbolicName=\"tns:GetMonitoredItems\" ModellingRule=\"Mandatory\" />\n      <Method SymbolicName=\"tns:ResendData\" ModellingRule=\"Mandatory\" />\n      <Method SymbolicName=\"tns:SetSubscriptionDurable\" ModellingRule=\"Mandatory\" />\n      <Method SymbolicName=\"tns:RequestServerStateChange\" ModellingRule=\"Mandatory\" />\n    </Children>\n    <References>\n      <Reference IsInverse=\"true\">\n        <ReferenceType>tns:Organizes</ReferenceType>\n        <TargetId>tns:ObjectsFolder</TargetId>\n      </Reference>\n    </References>\n  </Object>\n  <Variable SymbolicName=\"tns:Server_ServerRedundancy_CurrentServerId\" IsDynamic=\"true\" TypeDefinition=\"tns:PropertyType\" DataType=\"tns:String\" ValueRank=\"Scalar\">\n    <BrowseName>CurrentServerId</BrowseName>\n  </Variable>\n  <Variable SymbolicName=\"tns:Server_ServerRedundancy_RedundantServerArray\" IsDynamic=\"true\" TypeDefinition=\"tns:PropertyType\" DataType=\"tns:RedundantServerDataType\" ValueRank=\"Array\">\n    <BrowseName>RedundantServerArray</BrowseName>\n  </Variable>\n  <Variable SymbolicName=\"tns:Server_ServerRedundancy_ServerUriArray\" IsDynamic=\"true\" TypeDefinition=\"tns:PropertyType\" DataType=\"tns:String\" ValueRank=\"Array\">\n    <BrowseName>ServerUriArray</BrowseName>\n  </Variable>\n  <Variable SymbolicName=\"tns:Server_ServerRedundancy_ServerNetworkGroups\" IsDynamic=\"true\" TypeDefinition=\"tns:PropertyType\" DataType=\"tns:NetworkGroupDataType\" ValueRank=\"Array\">\n    <BrowseName>ServerNetworkGroups</BrowseName>\n  </Variable>\n  <Object SymbolicName=\"tns:HistoryServerCapabilities\" PartNo=\"11\" IsDynamic=\"true\" TypeDefinition=\"tns:HistoryServerCapabilitiesType\" ModellingRule=\"None\">\n    <BrowseName>HistoryServerCapabilities</BrowseName>\n    <References>\n      <Reference IsInverse=\"true\">\n        <ReferenceType>tns:HasComponent</ReferenceType>\n        <TargetId>tns:Server_ServerCapabilities</TargetId>\n      </Reference>\n    </References>\n  </Object>\n  <Method SymbolicName=\"tns:GetMonitoredItemsMethodType\" PartNo=\"5\">\n    <InputArguments>\n      <Argument Name=\"SubscriptionId\" DataType=\"tns:UInt32\" />\n    </InputArguments>\n    <OutputArguments>\n      <Argument Name=\"ServerHandles\" DataType=\"tns:UInt32\" ValueRank=\"Array\" />\n      <Argument Name=\"ClientHandles\" DataType=\"tns:UInt32\" ValueRank=\"Array\" />\n    </OutputArguments>\n  </Method>\n  <Method SymbolicName=\"tns:ResendDataMethodType\" PartNo=\"5\">\n    <InputArguments>\n      <Argument Name=\"SubscriptionId\" DataType=\"tns:UInt32\" />\n    </InputArguments>\n  </Method>\n  <Method SymbolicName=\"tns:SetSubscriptionDurableMethodType\" PartNo=\"5\">\n    <InputArguments>\n      <Argument Name=\"SubscriptionId\" DataType=\"tns:UInt32\" />\n      <Argument Name=\"LifetimeInHours\" DataType=\"tns:UInt32\" />\n    </InputArguments>\n    <OutputArguments>\n      <Argument Name=\"RevisedLifetimeInHours\" DataType=\"tns:UInt32\" />\n    </OutputArguments>\n  </Method>\n  <Method SymbolicName=\"tns:RequestServerStateChangeMethodType\" PartNo=\"5\">\n    <InputArguments>\n      <Argument Name=\"State\" DataType=\"tns:ServerState\" />\n      <Argument Name=\"EstimatedReturnTime\" DataType=\"tns:DateTime\" />\n      <Argument Name=\"SecondsTillShutdown\" DataType=\"tns:UInt32\" />\n      <Argument Name=\"Reason\" DataType=\"tns:LocalizedText\" />\n      <Argument Name=\"Restart\" DataType=\"tns:Boolean\" />\n    </InputArguments>\n  </Method>\n  <DataType SymbolicName=\"tns:BitFieldMaskDataType\" PartNo=\"5\" BaseType=\"tns:UInt64\">\n    <Description>A mask of 32 bits that can be updated individually by using the top 32 bits as a mask.</Description>\n  </DataType>\n  <DataType SymbolicName=\"tns:KeyValuePair\" PartNo=\"5\" BaseType=\"tns:Structure\">\n    <Fields>\n      <Field Name=\"Key\" DataType=\"tns:QualifiedName\" />\n      <Field Name=\"Value\" DataType=\"tns:BaseDataType\" />\n    </Fields>\n  </DataType>\n  <DataType SymbolicName=\"tns:AdditionalParametersType\" PartNo=\"5\" BaseType=\"tns:Structure\" NoArraysAllowed=\"true\">\n    <Fields>\n      <Field Name=\"Parameters\" DataType=\"tns:KeyValuePair\" ValueRank=\"Array\" />\n    </Fields>\n  </DataType>\n  <DataType SymbolicName=\"tns:EphemeralKeyType\" PartNo=\"5\" BaseType=\"tns:Structure\" NoArraysAllowed=\"true\">\n    <Fields>\n      <Field Name=\"PublicKey\" DataType=\"tns:ByteString\" />\n      <Field Name=\"Signature\" DataType=\"tns:ByteString\" />\n    </Fields>\n  </DataType>\n  <DataType SymbolicName=\"tns:EndpointType\" PartNo=\"5\" BaseType=\"tns:Structure\">\n    <Fields>\n      <Field Name=\"EndpointUrl\" DataType=\"tns:String\" />\n      <Field Name=\"SecurityMode\" DataType=\"tns:MessageSecurityMode\" />\n      <Field Name=\"SecurityPolicyUri\" DataType=\"tns:String\" />\n      <Field Name=\"TransportProfileUri\" DataType=\"tns:String\" />\n    </Fields>\n  </DataType>\n  <ObjectType SymbolicName=\"tns:StateMachineType\" PartNo=\"5\">\n    <Children>\n      <Variable SymbolicName=\"tns:CurrentState\" TypeDefinition=\"tns:StateVariableType\" ModellingRule=\"Mandatory\" />\n      <Variable SymbolicName=\"tns:LastTransition\" TypeDefinition=\"tns:TransitionVariableType\" ModellingRule=\"Optional\" />\n    </Children>\n  </ObjectType>\n  <VariableType SymbolicName=\"tns:StateVariableType\" PartNo=\"5\" DataType=\"tns:LocalizedText\" ValueRank=\"Scalar\">\n    <Children>\n      <Property SymbolicName=\"tns:Id\" ModellingRule=\"Mandatory\" DataType=\"tns:BaseDataType\" />\n      <Property SymbolicName=\"tns:Name\" ModellingRule=\"Optional\" DataType=\"tns:QualifiedName\" />\n      <Property SymbolicName=\"tns:Number\" ModellingRule=\"Optional\" DataType=\"tns:UInt32\" />\n      <Property SymbolicName=\"tns:EffectiveDisplayName\" ModellingRule=\"Optional\" DataType=\"tns:LocalizedText\" />\n    </Children>\n  </VariableType>\n  <VariableType SymbolicName=\"tns:TransitionVariableType\" PartNo=\"5\" DataType=\"tns:LocalizedText\" ValueRank=\"Scalar\">\n    <Children>\n      <Property SymbolicName=\"tns:Id\" ModellingRule=\"Mandatory\" DataType=\"tns:BaseDataType\" />\n      <Property SymbolicName=\"tns:Name\" ModellingRule=\"Optional\" DataType=\"tns:QualifiedName\" />\n      <Property SymbolicName=\"tns:Number\" ModellingRule=\"Optional\" DataType=\"tns:UInt32\" />\n      <Property SymbolicName=\"tns:TransitionTime\" ModellingRule=\"Optional\" DataType=\"tns:UtcTime\" />\n      <Property SymbolicName=\"tns:EffectiveTransitionTime\" ModellingRule=\"Optional\" DataType=\"tns:UtcTime\" />\n    </Children>\n  </VariableType>\n  <ObjectType SymbolicName=\"tns:FiniteStateMachineType\" PartNo=\"5\" BaseType=\"tns:StateMachineType\" IsAbstract=\"true\">\n    <Children>\n      <Variable SymbolicName=\"tns:CurrentState\" TypeDefinition=\"tns:FiniteStateVariableType\" ModellingRule=\"Mandatory\" />\n      <Variable SymbolicName=\"tns:LastTransition\" TypeDefinition=\"tns:FiniteTransitionVariableType\" ModellingRule=\"Optional\" />\n      <Variable SymbolicName=\"tns:AvailableStates\" ModellingRule=\"Optional\" DataType=\"tns:NodeId\" ValueRank=\"Array\" />\n      <Variable SymbolicName=\"tns:AvailableTransitions\" ModellingRule=\"Optional\" DataType=\"tns:NodeId\" ValueRank=\"Array\" />\n    </Children>\n  </ObjectType>\n  <VariableType SymbolicName=\"tns:FiniteStateVariableType\" PartNo=\"5\" BaseType=\"tns:StateVariableType\">\n    <Children>\n      <Property SymbolicName=\"tns:Id\" ModellingRule=\"Mandatory\" DataType=\"tns:NodeId\" />\n    </Children>\n  </VariableType>\n  <VariableType SymbolicName=\"tns:FiniteTransitionVariableType\" PartNo=\"5\" BaseType=\"tns:TransitionVariableType\">\n    <Children>\n      <Property SymbolicName=\"tns:Id\" ModellingRule=\"Mandatory\" DataType=\"tns:NodeId\" />\n    </Children>\n  </VariableType>\n  <ObjectType SymbolicName=\"tns:StateType\" PartNo=\"5\">\n    <Children>\n      <Property SymbolicName=\"tns:StateNumber\" ModellingRule=\"Mandatory\" DataType=\"tns:UInt32\" />\n    </Children>\n    <ClassName>StateMachineState</ClassName>\n  </ObjectType>\n  <ObjectType SymbolicName=\"tns:InitialStateType\" PartNo=\"5\" BaseType=\"tns:StateType\">\n    <ClassName>StateMachineInitialState</ClassName>\n  </ObjectType>\n  <ObjectType SymbolicName=\"tns:TransitionType\" PartNo=\"5\">\n    <Children>\n      <Property SymbolicName=\"tns:TransitionNumber\" ModellingRule=\"Mandatory\" DataType=\"tns:UInt32\" />\n    </Children>\n    <ClassName>StateMachineTransition</ClassName>\n  </ObjectType>\n  <ObjectType SymbolicName=\"tns:ChoiceStateType\" PartNo=\"5\" BaseType=\"tns:StateType\">\n    <ClassName>StateMachineChoiceStateType</ClassName>\n  </ObjectType>\n  <ReferenceType SymbolicName=\"tns:HasGuard\" PartNo=\"5\" BaseType=\"tns:HasComponent\">\n    <InverseName>GuardOf</InverseName>\n  </ReferenceType>\n  <VariableType SymbolicName=\"tns:GuardVariableType\" PartNo=\"5\" BaseType=\"tns:BaseDataVariableType\" DataType=\"tns:LocalizedText\" ValueRank=\"Scalar\" />\n  <VariableType SymbolicName=\"tns:ExpressionGuardVariableType\" PartNo=\"5\" BaseType=\"tns:GuardVariableType\" DataType=\"tns:LocalizedText\" ValueRank=\"Scalar\">\n    <Children>\n      <Property SymbolicName=\"tns:Expression\" ModellingRule=\"Mandatory\" DataType=\"tns:ContentFilter\" />\n    </Children>\n  </VariableType>\n  <VariableType SymbolicName=\"tns:ElseGuardVariableType\" PartNo=\"5\" BaseType=\"tns:GuardVariableType\" DataType=\"tns:LocalizedText\" ValueRank=\"Scalar\" />\n  <VariableType SymbolicName=\"tns:RationalNumberType\" PartNo=\"5\" BaseType=\"tns:BaseDataVariableType\" DataType=\"tns:RationalNumber\" ValueRank=\"Scalar\">\n    <Children>\n      <Variable SymbolicName=\"tns:Numerator\" ModellingRule=\"Mandatory\" DataType=\"tns:Int32\" />\n      <Variable SymbolicName=\"tns:Denominator\" ModellingRule=\"Mandatory\" DataType=\"tns:UInt32\" />\n    </Children>\n  </VariableType>\n  <VariableType SymbolicName=\"tns:VectorType\" PartNo=\"5\" BaseType=\"tns:BaseDataVariableType\" IsAbstract=\"true\" DataType=\"tns:Vector\" ValueRank=\"Scalar\">\n    <Children>\n      <Property SymbolicName=\"tns:VectorUnit\" ModellingRule=\"Optional\" DataType=\"tns:EUInformation\" />\n    </Children>\n  </VariableType>\n  <VariableType SymbolicName=\"tns:ThreeDVectorType\" PartNo=\"5\" BaseType=\"tns:VectorType\" DataType=\"tns:ThreeDVector\" ValueRank=\"Scalar\">\n    <BrowseName>3DVectorType</BrowseName>\n    <Children>\n      <Variable SymbolicName=\"tns:X\" ModellingRule=\"Mandatory\" DataType=\"tns:Double\" />\n      <Variable SymbolicName=\"tns:Y\" ModellingRule=\"Mandatory\" DataType=\"tns:Double\" />\n      <Variable SymbolicName=\"tns:Z\" ModellingRule=\"Mandatory\" DataType=\"tns:Double\" />\n    </Children>\n  </VariableType>\n  <VariableType SymbolicName=\"tns:CartesianCoordinatesType\" PartNo=\"5\" BaseType=\"tns:BaseDataVariableType\" IsAbstract=\"true\" DataType=\"tns:CartesianCoordinates\" ValueRank=\"Scalar\">\n    <Children>\n      <Property SymbolicName=\"tns:LengthUnit\" ModellingRule=\"Optional\" DataType=\"tns:EUInformation\" />\n    </Children>\n  </VariableType>\n  <VariableType SymbolicName=\"tns:ThreeDCartesianCoordinatesType\" PartNo=\"5\" BaseType=\"tns:CartesianCoordinatesType\" DataType=\"tns:ThreeDCartesianCoordinates\" ValueRank=\"Scalar\">\n    <BrowseName>3DCartesianCoordinatesType</BrowseName>\n    <Children>\n      <Variable SymbolicName=\"tns:X\" ModellingRule=\"Mandatory\" DataType=\"tns:Double\" />\n      <Variable SymbolicName=\"tns:Y\" ModellingRule=\"Mandatory\" DataType=\"tns:Double\" />\n      <Variable SymbolicName=\"tns:Z\" ModellingRule=\"Mandatory\" DataType=\"tns:Double\" />\n    </Children>\n  </VariableType>\n  <VariableType SymbolicName=\"tns:OrientationType\" PartNo=\"5\" BaseType=\"tns:BaseDataVariableType\" IsAbstract=\"true\" DataType=\"tns:Orientation\" ValueRank=\"Scalar\">\n    <Children>\n      <Property SymbolicName=\"tns:AngleUnit\" ModellingRule=\"Optional\" DataType=\"tns:EUInformation\" />\n    </Children>\n  </VariableType>\n  <VariableType SymbolicName=\"tns:ThreeDOrientationType\" PartNo=\"5\" BaseType=\"tns:OrientationType\" DataType=\"tns:ThreeDOrientation\" ValueRank=\"Scalar\">\n    <BrowseName>3DOrientationType</BrowseName>\n    <Children>\n      <Variable SymbolicName=\"tns:A\" ModellingRule=\"Mandatory\" DataType=\"tns:Double\" />\n      <Variable SymbolicName=\"tns:B\" ModellingRule=\"Mandatory\" DataType=\"tns:Double\" />\n      <Variable SymbolicName=\"tns:C\" ModellingRule=\"Mandatory\" DataType=\"tns:Double\" />\n    </Children>\n  </VariableType>\n  <VariableType SymbolicName=\"tns:FrameType\" PartNo=\"5\" BaseType=\"tns:BaseDataVariableType\" IsAbstract=\"true\" DataType=\"tns:Frame\" ValueRank=\"Scalar\">\n    <Children>\n      <Variable SymbolicName=\"tns:CartesianCoordinates\" TypeDefinition=\"tns:CartesianCoordinatesType\" ModellingRule=\"Mandatory\" DataType=\"tns:CartesianCoordinates\" />\n      <Variable SymbolicName=\"tns:Orientation\" TypeDefinition=\"tns:OrientationType\" ModellingRule=\"Mandatory\" DataType=\"tns:Orientation\" />\n      <Property SymbolicName=\"tns:Constant\" ModellingRule=\"Optional\" DataType=\"tns:Boolean\" />\n      <Variable SymbolicName=\"tns:BaseFrame\" ModellingRule=\"Optional\" DataType=\"tns:NodeId\" />\n      <Property SymbolicName=\"tns:FixedBase\" ModellingRule=\"Optional\" DataType=\"tns:Boolean\" />\n    </Children>\n  </VariableType>\n  <VariableType SymbolicName=\"tns:ThreeDFrameType\" PartNo=\"5\" BaseType=\"tns:FrameType\" DataType=\"tns:ThreeDFrame\" ValueRank=\"Scalar\">\n    <BrowseName>3DFrameType</BrowseName>\n    <Children>\n      <Variable SymbolicName=\"tns:CartesianCoordinates\" TypeDefinition=\"tns:ThreeDCartesianCoordinatesType\" ModellingRule=\"Mandatory\" DataType=\"tns:ThreeDCartesianCoordinates\" />\n      <Variable SymbolicName=\"tns:Orientation\" TypeDefinition=\"tns:ThreeDOrientationType\" ModellingRule=\"Mandatory\" DataType=\"tns:ThreeDOrientation\" />\n    </Children>\n  </VariableType>\n  <DataType SymbolicName=\"tns:RationalNumber\" PartNo=\"5\" BaseType=\"tns:Structure\">\n    <Fields>\n      <Field Name=\"Numerator\" DataType=\"tns:Int32\" />\n      <Field Name=\"Denominator\" DataType=\"tns:UInt32\" />\n    </Fields>\n  </DataType>\n  <DataType SymbolicName=\"tns:Vector\" PartNo=\"5\" BaseType=\"tns:Structure\" IsAbstract=\"true\" />\n  <DataType SymbolicName=\"tns:ThreeDVector\" PartNo=\"5\" BaseType=\"tns:Vector\">\n    <BrowseName>3DVector</BrowseName>\n    <Fields>\n      <Field Name=\"X\" DataType=\"tns:Double\" />\n      <Field Name=\"Y\" DataType=\"tns:Double\" />\n      <Field Name=\"Z\" DataType=\"tns:Double\" />\n    </Fields>\n  </DataType>\n  <DataType SymbolicName=\"tns:CartesianCoordinates\" PartNo=\"5\" BaseType=\"tns:Structure\" IsAbstract=\"true\" />\n  <DataType SymbolicName=\"tns:ThreeDCartesianCoordinates\" PartNo=\"5\" BaseType=\"tns:CartesianCoordinates\">\n    <BrowseName>3DCartesianCoordinates</BrowseName>\n    <Fields>\n      <Field Name=\"X\" DataType=\"tns:Double\" />\n      <Field Name=\"Y\" DataType=\"tns:Double\" />\n      <Field Name=\"Z\" DataType=\"tns:Double\" />\n    </Fields>\n  </DataType>\n  <DataType SymbolicName=\"tns:Orientation\" PartNo=\"5\" BaseType=\"tns:Structure\" IsAbstract=\"true\" />\n  <DataType SymbolicName=\"tns:ThreeDOrientation\" PartNo=\"5\" BaseType=\"tns:Orientation\">\n    <BrowseName>3DOrientation</BrowseName>\n    <Fields>\n      <Field Name=\"A\" DataType=\"tns:Double\" />\n      <Field Name=\"B\" DataType=\"tns:Double\" />\n      <Field Name=\"C\" DataType=\"tns:Double\" />\n    </Fields>\n  </DataType>\n  <DataType SymbolicName=\"tns:Frame\" PartNo=\"5\" BaseType=\"tns:Structure\" IsAbstract=\"true\" />\n  <DataType SymbolicName=\"tns:ThreeDFrame\" PartNo=\"5\" BaseType=\"tns:Frame\">\n    <BrowseName>3DFrame</BrowseName>\n    <Fields>\n      <Field Name=\"CartesianCoordinates\" DataType=\"tns:ThreeDCartesianCoordinates\" />\n      <Field Name=\"Orientation\" DataType=\"tns:ThreeDOrientation\" />\n    </Fields>\n  </DataType>\n  <ObjectType SymbolicName=\"tns:TransitionEventType\" PartNo=\"5\" BaseType=\"tns:BaseEventType\" IsAbstract=\"true\">\n    <Children>\n      <Variable SymbolicName=\"tns:Transition\" TypeDefinition=\"tns:TransitionVariableType\" DataType=\"tns:LocalizedText\" />\n      <Variable SymbolicName=\"tns:FromState\" TypeDefinition=\"tns:StateVariableType\" DataType=\"tns:LocalizedText\" />\n      <Variable SymbolicName=\"tns:ToState\" TypeDefinition=\"tns:StateVariableType\" DataType=\"tns:LocalizedText\" />\n    </Children>\n  </ObjectType>\n  <ObjectType SymbolicName=\"tns:AuditUpdateStateEventType\" PartNo=\"5\" BaseType=\"tns:AuditUpdateMethodEventType\" IsAbstract=\"true\">\n    <Children>\n      <Property SymbolicName=\"tns:OldStateId\" DataType=\"tns:BaseDataType\" />\n      <Property SymbolicName=\"tns:NewStateId\" DataType=\"tns:BaseDataType\" />\n    </Children>\n  </ObjectType>\n  <DataType SymbolicName=\"tns:OpenFileMode\" PartNo=\"5\" BaseType=\"tns:Enumeration\">\n    <Fields>\n      <Field Name=\"Read\" Identifier=\"1\" />\n      <Field Name=\"Write\" Identifier=\"2\" />\n      <Field Name=\"EraseExisting\" Identifier=\"4\" />\n      <Field Name=\"Append\" Identifier=\"8\" />\n    </Fields>\n  </DataType>\n  <Method SymbolicName=\"tns:OpenMethodType\" PartNo=\"5\">\n    <InputArguments>\n      <Argument Name=\"Mode\" DataType=\"tns:Byte\" />\n    </InputArguments>\n    <OutputArguments>\n      <Argument Name=\"FileHandle\" DataType=\"tns:UInt32\" />\n    </OutputArguments>\n  </Method>\n  <Method SymbolicName=\"tns:CloseMethodType\" PartNo=\"5\">\n    <InputArguments>\n      <Argument Name=\"FileHandle\" DataType=\"tns:UInt32\" />\n    </InputArguments>\n  </Method>\n  <Method SymbolicName=\"tns:ReadMethodType\" PartNo=\"5\">\n    <InputArguments>\n      <Argument Name=\"FileHandle\" DataType=\"tns:UInt32\" />\n      <Argument Name=\"Length\" DataType=\"tns:Int32\" />\n    </InputArguments>\n    <OutputArguments>\n      <Argument Name=\"Data\" DataType=\"tns:ByteString\" />\n    </OutputArguments>\n  </Method>\n  <Method SymbolicName=\"tns:WriteMethodType\" PartNo=\"5\">\n    <InputArguments>\n      <Argument Name=\"FileHandle\" DataType=\"tns:UInt32\" />\n      <Argument Name=\"Data\" DataType=\"tns:ByteString\" />\n    </InputArguments>\n  </Method>\n  <Method SymbolicName=\"tns:GetPositionMethodType\" PartNo=\"5\">\n    <InputArguments>\n      <Argument Name=\"FileHandle\" DataType=\"tns:UInt32\" />\n    </InputArguments>\n    <OutputArguments>\n      <Argument Name=\"Position\" DataType=\"tns:UInt64\" />\n    </OutputArguments>\n  </Method>\n  <Method SymbolicName=\"tns:SetPositionMethodType\" PartNo=\"5\">\n    <InputArguments>\n      <Argument Name=\"FileHandle\" DataType=\"tns:UInt32\" />\n      <Argument Name=\"Position\" DataType=\"tns:UInt64\" />\n    </InputArguments>\n  </Method>\n  <ObjectType SymbolicName=\"tns:FileDirectoryType\" PartNo=\"5\" BaseType=\"tns:FolderType\">\n    <Children>\n      <Object SymbolicName=\"tns:FileDirectoryName_Placeholder\" TypeDefinition=\"tns:FileDirectoryType\" ModellingRule=\"OptionalPlaceholder\">\n        <BrowseName>&lt;FileDirectoryName&gt;</BrowseName>\n        <ReferenceType>tns:Organizes</ReferenceType>\n      </Object>\n      <Object SymbolicName=\"tns:FileName_Placeholder\" TypeDefinition=\"tns:FileType\" ModellingRule=\"OptionalPlaceholder\">\n        <BrowseName>&lt;FileName&gt;</BrowseName>\n        <ReferenceType>tns:Organizes</ReferenceType>\n      </Object>\n      <Method SymbolicName=\"tns:CreateDirectory\" TypeDefinition=\"tns:CreateDirectoryMethodType\" />\n      <Method SymbolicName=\"tns:CreateFile\" TypeDefinition=\"tns:CreateFileMethodType\" />\n      <Method SymbolicName=\"tns:DeleteFileSystemObject\" TypeDefinition=\"tns:DeleteFileMethodType\">\n        <BrowseName>Delete</BrowseName>\n      </Method>\n      <Method SymbolicName=\"tns:MoveOrCopy\" TypeDefinition=\"tns:MoveOrCopyMethodType\" />\n    </Children>\n  </ObjectType>\n  <Object SymbolicName=\"tns:FileSystem\" PartNo=\"5\" TypeDefinition=\"tns:FileDirectoryType\" />\n  <Method SymbolicName=\"tns:CreateDirectoryMethodType\" PartNo=\"5\">\n    <InputArguments>\n      <Argument Name=\"DirectoryName\" DataType=\"tns:String\" />\n    </InputArguments>\n    <OutputArguments>\n      <Argument Name=\"DirectoryNodeId\" DataType=\"tns:NodeId\" />\n    </OutputArguments>\n  </Method>\n  <Method SymbolicName=\"tns:CreateFileMethodType\" PartNo=\"5\">\n    <InputArguments>\n      <Argument Name=\"FileName\" DataType=\"tns:String\" />\n      <Argument Name=\"RequestFileOpen\" DataType=\"tns:Boolean\" />\n    </InputArguments>\n    <OutputArguments>\n      <Argument Name=\"FileNodeId\" DataType=\"tns:NodeId\" />\n      <Argument Name=\"FileHandle\" DataType=\"tns:UInt32\" />\n    </OutputArguments>\n  </Method>\n  <Method SymbolicName=\"tns:DeleteFileMethodType\" PartNo=\"5\">\n    <InputArguments>\n      <Argument Name=\"ObjectToDelete\" DataType=\"tns:NodeId\" />\n    </InputArguments>\n  </Method>\n  <Method SymbolicName=\"tns:MoveOrCopyMethodType\" PartNo=\"5\">\n    <InputArguments>\n      <Argument Name=\"ObjectToMoveOrCopy\" DataType=\"tns:NodeId\" />\n      <Argument Name=\"TargetDirectory\" DataType=\"tns:NodeId\" />\n      <Argument Name=\"CreateCopy\" DataType=\"tns:Boolean\" />\n      <Argument Name=\"NewName\" DataType=\"tns:String\" />\n    </InputArguments>\n    <OutputArguments>\n      <Argument Name=\"NewNodeId\" DataType=\"tns:NodeId\" />\n    </OutputArguments>\n  </Method>\n  <ObjectType SymbolicName=\"tns:TemporaryFileTransferType\" PartNo=\"5\" BaseType=\"tns:BaseObjectType\">\n    <Children>\n      <Property SymbolicName=\"tns:ClientProcessingTimeout\" DataType=\"tns:Duration\" />\n      <Method SymbolicName=\"tns:GenerateFileForRead\" TypeDefinition=\"tns:GenerateFileForReadMethodType\" />\n      <Method SymbolicName=\"tns:GenerateFileForWrite\" TypeDefinition=\"tns:GenerateFileForWriteMethodType\" />\n      <Method SymbolicName=\"tns:CloseAndCommit\" TypeDefinition=\"tns:CloseAndCommitMethodType\" />\n      <Object SymbolicName=\"tns:TransferState_Placeholder\" TypeDefinition=\"tns:FileTransferStateMachineType\" ModellingRule=\"OptionalPlaceholder\">\n        <BrowseName>&lt;TransferState&gt;</BrowseName>\n      </Object>\n    </Children>\n  </ObjectType>\n  <Method SymbolicName=\"tns:GenerateFileForReadMethodType\" PartNo=\"5\">\n    <InputArguments>\n      <Argument Name=\"GenerateOptions\" DataType=\"tns:BaseDataType\" />\n    </InputArguments>\n    <OutputArguments>\n      <Argument Name=\"FileNodeId\" DataType=\"tns:NodeId\" />\n      <Argument Name=\"FileHandle\" DataType=\"tns:UInt32\" />\n      <Argument Name=\"CompletionStateMachine\" DataType=\"tns:NodeId\" />\n    </OutputArguments>\n  </Method>\n  <Method SymbolicName=\"tns:GenerateFileForWriteMethodType\" PartNo=\"5\">\n    <InputArguments>\n      <Argument Name=\"GenerateOptions\" DataType=\"tns:BaseDataType\" />\n    </InputArguments>\n    <OutputArguments>\n      <Argument Name=\"FileNodeId\" DataType=\"tns:NodeId\" />\n      <Argument Name=\"FileHandle\" DataType=\"tns:UInt32\" />\n    </OutputArguments>\n  </Method>\n  <Method SymbolicName=\"tns:CloseAndCommitMethodType\" PartNo=\"5\">\n    <InputArguments>\n      <Argument Name=\"FileHandle\" DataType=\"tns:UInt32\" />\n    </InputArguments>\n    <OutputArguments>\n      <Argument Name=\"CompletionStateMachine\" DataType=\"tns:NodeId\" />\n    </OutputArguments>\n  </Method>\n  <ObjectType SymbolicName=\"tns:FileTransferStateMachineType\" PartNo=\"5\" BaseType=\"tns:FiniteStateMachineType\">\n    <Children>\n      <Object SymbolicName=\"tns:Idle\" TypeDefinition=\"tns:InitialStateType\" ModellingRule=\"None\">\n        <Children>\n          <Property SymbolicName=\"tns:StateNumber\">\n            <DefaultValue>\n              <uax:UInt32>1</uax:UInt32>\n            </DefaultValue>\n          </Property>\n        </Children>\n      </Object>\n      <Object SymbolicName=\"tns:ReadPrepare\" TypeDefinition=\"tns:StateType\" ModellingRule=\"None\">\n        <Children>\n          <Property SymbolicName=\"tns:StateNumber\">\n            <DefaultValue>\n              <uax:UInt32>2</uax:UInt32>\n            </DefaultValue>\n          </Property>\n        </Children>\n      </Object>\n      <Object SymbolicName=\"tns:ReadTransfer\" TypeDefinition=\"tns:StateType\" ModellingRule=\"None\">\n        <Children>\n          <Property SymbolicName=\"tns:StateNumber\">\n            <DefaultValue>\n              <uax:UInt32>3</uax:UInt32>\n            </DefaultValue>\n          </Property>\n        </Children>\n      </Object>\n      <Object SymbolicName=\"tns:ApplyWrite\" TypeDefinition=\"tns:StateType\" ModellingRule=\"None\">\n        <Children>\n          <Property SymbolicName=\"tns:StateNumber\">\n            <DefaultValue>\n              <uax:UInt32>4</uax:UInt32>\n            </DefaultValue>\n          </Property>\n        </Children>\n      </Object>\n      <Object SymbolicName=\"tns:Error\" TypeDefinition=\"tns:StateType\" ModellingRule=\"None\">\n        <Children>\n          <Property SymbolicName=\"tns:StateNumber\">\n            <DefaultValue>\n              <uax:UInt32>5</uax:UInt32>\n            </DefaultValue>\n          </Property>\n        </Children>\n      </Object>\n      <Object SymbolicName=\"tns:IdleToReadPrepare\" TypeDefinition=\"tns:TransitionType\" ModellingRule=\"None\">\n        <Children>\n          <Property SymbolicName=\"tns:TransitionNumber\">\n            <DefaultValue>\n              <uax:UInt32>12</uax:UInt32>\n            </DefaultValue>\n          </Property>\n        </Children>\n        <References>\n          <Reference>\n            <ReferenceType>tns:FromState</ReferenceType>\n            <TargetId>tns:FileTransferStateMachineType_Idle</TargetId>\n          </Reference>\n          <Reference>\n            <ReferenceType>tns:ToState</ReferenceType>\n            <TargetId>tns:FileTransferStateMachineType_ReadPrepare</TargetId>\n          </Reference>\n          <Reference IsOneWay=\"true\">\n            <ReferenceType>tns:HasEffect</ReferenceType>\n            <TargetId>tns:TransitionEventType</TargetId>\n          </Reference>\n        </References>\n      </Object>\n      <Object SymbolicName=\"tns:ReadPrepareToReadTransfer\" TypeDefinition=\"tns:TransitionType\" ModellingRule=\"None\">\n        <Children>\n          <Property SymbolicName=\"tns:TransitionNumber\">\n            <DefaultValue>\n              <uax:UInt32>23</uax:UInt32>\n            </DefaultValue>\n          </Property>\n        </Children>\n        <References>\n          <Reference>\n            <ReferenceType>tns:FromState</ReferenceType>\n            <TargetId>tns:FileTransferStateMachineType_ReadPrepare</TargetId>\n          </Reference>\n          <Reference>\n            <ReferenceType>tns:ToState</ReferenceType>\n            <TargetId>tns:FileTransferStateMachineType_ReadTransfer</TargetId>\n          </Reference>\n          <Reference IsOneWay=\"true\">\n            <ReferenceType>tns:HasEffect</ReferenceType>\n            <TargetId>tns:TransitionEventType</TargetId>\n          </Reference>\n        </References>\n      </Object>\n      <Object SymbolicName=\"tns:ReadTransferToIdle\" TypeDefinition=\"tns:TransitionType\" ModellingRule=\"None\">\n        <Children>\n          <Property SymbolicName=\"tns:TransitionNumber\">\n            <DefaultValue>\n              <uax:UInt32>31</uax:UInt32>\n            </DefaultValue>\n          </Property>\n        </Children>\n        <References>\n          <Reference>\n            <ReferenceType>tns:FromState</ReferenceType>\n            <TargetId>tns:FileTransferStateMachineType_ReadTransfer</TargetId>\n          </Reference>\n          <Reference>\n            <ReferenceType>tns:ToState</ReferenceType>\n            <TargetId>tns:FileTransferStateMachineType_Idle</TargetId>\n          </Reference>\n          <Reference IsOneWay=\"true\">\n            <ReferenceType>tns:HasEffect</ReferenceType>\n            <TargetId>tns:TransitionEventType</TargetId>\n          </Reference>\n        </References>\n      </Object>\n      <Object SymbolicName=\"tns:IdleToApplyWrite\" TypeDefinition=\"tns:TransitionType\" ModellingRule=\"None\">\n        <Children>\n          <Property SymbolicName=\"tns:TransitionNumber\">\n            <DefaultValue>\n              <uax:UInt32>14</uax:UInt32>\n            </DefaultValue>\n          </Property>\n        </Children>\n        <References>\n          <Reference>\n            <ReferenceType>tns:FromState</ReferenceType>\n            <TargetId>tns:FileTransferStateMachineType_Idle</TargetId>\n          </Reference>\n          <Reference>\n            <ReferenceType>tns:ToState</ReferenceType>\n            <TargetId>tns:FileTransferStateMachineType_ApplyWrite</TargetId>\n          </Reference>\n          <Reference IsOneWay=\"true\">\n            <ReferenceType>tns:HasEffect</ReferenceType>\n            <TargetId>tns:TransitionEventType</TargetId>\n          </Reference>\n        </References>\n      </Object>\n      <Object SymbolicName=\"tns:ApplyWriteToIdle\" TypeDefinition=\"tns:TransitionType\" ModellingRule=\"None\">\n        <Children>\n          <Property SymbolicName=\"tns:TransitionNumber\">\n            <DefaultValue>\n              <uax:UInt32>41</uax:UInt32>\n            </DefaultValue>\n          </Property>\n        </Children>\n        <References>\n          <Reference>\n            <ReferenceType>tns:FromState</ReferenceType>\n            <TargetId>tns:FileTransferStateMachineType_ApplyWrite</TargetId>\n          </Reference>\n          <Reference>\n            <ReferenceType>tns:ToState</ReferenceType>\n            <TargetId>tns:FileTransferStateMachineType_Idle</TargetId>\n          </Reference>\n          <Reference IsOneWay=\"true\">\n            <ReferenceType>tns:HasEffect</ReferenceType>\n            <TargetId>tns:TransitionEventType</TargetId>\n          </Reference>\n        </References>\n      </Object>\n      <Object SymbolicName=\"tns:ReadPrepareToError\" TypeDefinition=\"tns:TransitionType\" ModellingRule=\"None\">\n        <Children>\n          <Property SymbolicName=\"tns:TransitionNumber\">\n            <DefaultValue>\n              <uax:UInt32>25</uax:UInt32>\n            </DefaultValue>\n          </Property>\n        </Children>\n        <References>\n          <Reference>\n            <ReferenceType>tns:FromState</ReferenceType>\n            <TargetId>tns:FileTransferStateMachineType_ReadPrepare</TargetId>\n          </Reference>\n          <Reference>\n            <ReferenceType>tns:ToState</ReferenceType>\n            <TargetId>tns:FileTransferStateMachineType_Error</TargetId>\n          </Reference>\n          <Reference IsOneWay=\"true\">\n            <ReferenceType>tns:HasEffect</ReferenceType>\n            <TargetId>tns:TransitionEventType</TargetId>\n          </Reference>\n        </References>\n      </Object>\n      <Object SymbolicName=\"tns:ReadTransferToError\" TypeDefinition=\"tns:TransitionType\" ModellingRule=\"None\">\n        <Children>\n          <Property SymbolicName=\"tns:TransitionNumber\">\n            <DefaultValue>\n              <uax:UInt32>35</uax:UInt32>\n            </DefaultValue>\n          </Property>\n        </Children>\n        <References>\n          <Reference>\n            <ReferenceType>tns:FromState</ReferenceType>\n            <TargetId>tns:FileTransferStateMachineType_ReadTransfer</TargetId>\n          </Reference>\n          <Reference>\n            <ReferenceType>tns:ToState</ReferenceType>\n            <TargetId>tns:FileTransferStateMachineType_Error</TargetId>\n          </Reference>\n          <Reference IsOneWay=\"true\">\n            <ReferenceType>tns:HasEffect</ReferenceType>\n            <TargetId>tns:TransitionEventType</TargetId>\n          </Reference>\n        </References>\n      </Object>\n      <Object SymbolicName=\"tns:ApplyWriteToError\" TypeDefinition=\"tns:TransitionType\" ModellingRule=\"None\">\n        <Children>\n          <Property SymbolicName=\"tns:TransitionNumber\">\n            <DefaultValue>\n              <uax:UInt32>45</uax:UInt32>\n            </DefaultValue>\n          </Property>\n        </Children>\n        <References>\n          <Reference>\n            <ReferenceType>tns:FromState</ReferenceType>\n            <TargetId>tns:FileTransferStateMachineType_ApplyWrite</TargetId>\n          </Reference>\n          <Reference>\n            <ReferenceType>tns:ToState</ReferenceType>\n            <TargetId>tns:FileTransferStateMachineType_Error</TargetId>\n          </Reference>\n          <Reference IsOneWay=\"true\">\n            <ReferenceType>tns:HasEffect</ReferenceType>\n            <TargetId>tns:TransitionEventType</TargetId>\n          </Reference>\n        </References>\n      </Object>\n      <Object SymbolicName=\"tns:ErrorToIdle\" TypeDefinition=\"tns:TransitionType\" ModellingRule=\"None\">\n        <Children>\n          <Property SymbolicName=\"tns:TransitionNumber\">\n            <DefaultValue>\n              <uax:UInt32>51</uax:UInt32>\n            </DefaultValue>\n          </Property>\n        </Children>\n        <References>\n          <Reference>\n            <ReferenceType>tns:FromState</ReferenceType>\n            <TargetId>tns:FileTransferStateMachineType_Error</TargetId>\n          </Reference>\n          <Reference>\n            <ReferenceType>tns:ToState</ReferenceType>\n            <TargetId>tns:FileTransferStateMachineType_Idle</TargetId>\n          </Reference>\n          <Reference IsOneWay=\"true\">\n            <ReferenceType>tns:HasEffect</ReferenceType>\n            <TargetId>tns:TransitionEventType</TargetId>\n          </Reference>\n        </References>\n      </Object>\n      <Method SymbolicName=\"tns:Reset\" />\n    </Children>\n  </ObjectType>\n  <ObjectType SymbolicName=\"tns:RoleSetType\" PartNo=\"5\" BaseType=\"tns:BaseObjectType\">\n    <Description>A container for the roles supported by the server.</Description>\n    <Children>\n      <Object SymbolicName=\"tns:RoleName_Placeholder\" TypeDefinition=\"tns:RoleType\" ModellingRule=\"OptionalPlaceholder\">\n        <BrowseName>&lt;RoleName&gt;</BrowseName>\n      </Object>\n      <Method SymbolicName=\"tns:AddRole\" TypeDefinition=\"tns:AddRoleMethodType\" ModellingRule=\"Mandatory\" />\n      <Method SymbolicName=\"tns:RemoveRole\" TypeDefinition=\"tns:RemoveRoleMethodType\" ModellingRule=\"Mandatory\" />\n    </Children>\n  </ObjectType>\n  <Method SymbolicName=\"tns:AddRoleMethodType\" PartNo=\"5\">\n    <InputArguments>\n      <Argument Name=\"RoleName\" DataType=\"tns:String\" />\n      <Argument Name=\"NamespaceUri\" DataType=\"tns:String\" />\n    </InputArguments>\n    <OutputArguments>\n      <Argument Name=\"RoleNodeId\" DataType=\"tns:NodeId\" />\n    </OutputArguments>\n  </Method>\n  <Method SymbolicName=\"tns:RemoveRoleMethodType\" PartNo=\"5\">\n    <InputArguments>\n      <Argument Name=\"RoleNodeId\" DataType=\"tns:NodeId\" />\n    </InputArguments>\n  </Method>\n  <ObjectType SymbolicName=\"tns:RoleType\" PartNo=\"5\" BaseType=\"tns:BaseObjectType\">\n    <Children>\n      <Property SymbolicName=\"tns:Identities\" DataType=\"tns:IdentityMappingRuleType\" ValueRank=\"Array\" />\n      <Property SymbolicName=\"tns:Applications\" ModellingRule=\"Optional\" DataType=\"tns:String\" ValueRank=\"Array\" />\n      <Property SymbolicName=\"tns:ApplicationsExclude\" ModellingRule=\"Optional\" DataType=\"tns:Boolean\" />\n      <Property SymbolicName=\"tns:Endpoints\" ModellingRule=\"Optional\" DataType=\"tns:EndpointType\" ValueRank=\"Array\" />\n      <Property SymbolicName=\"tns:EndpointsExclude\" ModellingRule=\"Optional\" DataType=\"tns:Boolean\" />\n      <Method SymbolicName=\"tns:AddIdentity\" TypeDefinition=\"tns:AddIdentityMethodType\" ModellingRule=\"Optional\" />\n      <Method SymbolicName=\"tns:RemoveIdentity\" TypeDefinition=\"tns:RemoveIdentityMethodType\" ModellingRule=\"Optional\" />\n      <Method SymbolicName=\"tns:AddApplication\" TypeDefinition=\"tns:AddApplicationMethodType\" ModellingRule=\"Optional\" />\n      <Method SymbolicName=\"tns:RemoveApplication\" TypeDefinition=\"tns:RemoveApplicationMethodType\" ModellingRule=\"Optional\" />\n      <Method SymbolicName=\"tns:AddEndpoint\" TypeDefinition=\"tns:AddEndpointMethodType\" ModellingRule=\"Optional\" />\n      <Method SymbolicName=\"tns:RemoveEndpoint\" TypeDefinition=\"tns:RemoveEndpointMethodType\" ModellingRule=\"Optional\" />\n    </Children>\n  </ObjectType>\n  <DataType SymbolicName=\"tns:IdentityCriteriaType\" PartNo=\"5\" BaseType=\"tns:Enumeration\">\n    <Fields>\n      <Field Name=\"UserName\" Identifier=\"1\" />\n      <Field Name=\"Thumbprint\" Identifier=\"2\" />\n      <Field Name=\"Role\" Identifier=\"3\" />\n      <Field Name=\"GroupId\" Identifier=\"4\" />\n      <Field Name=\"Anonymous\" Identifier=\"5\" />\n      <Field Name=\"AuthenticatedUser\" Identifier=\"6\" />\n      <Field Name=\"Application\" Identifier=\"7\" />\n    </Fields>\n  </DataType>\n  <DataType SymbolicName=\"tns:IdentityMappingRuleType\" PartNo=\"5\" BaseType=\"tns:Structure\">\n    <Fields>\n      <Field Name=\"CriteriaType\" DataType=\"tns:IdentityCriteriaType\" />\n      <Field Name=\"Criteria\" DataType=\"tns:String\" />\n    </Fields>\n  </DataType>\n  <Method SymbolicName=\"tns:AddIdentityMethodType\" PartNo=\"5\">\n    <InputArguments>\n      <Argument Name=\"Rule\" DataType=\"tns:IdentityMappingRuleType\" />\n    </InputArguments>\n  </Method>\n  <Method SymbolicName=\"tns:RemoveIdentityMethodType\" PartNo=\"5\">\n    <InputArguments>\n      <Argument Name=\"Rule\" DataType=\"tns:IdentityMappingRuleType\" />\n    </InputArguments>\n  </Method>\n  <Method SymbolicName=\"tns:AddApplicationMethodType\" PartNo=\"5\">\n    <InputArguments>\n      <Argument Name=\"ApplicationUri\" DataType=\"tns:String\" />\n    </InputArguments>\n  </Method>\n  <Method SymbolicName=\"tns:RemoveApplicationMethodType\" PartNo=\"5\">\n    <InputArguments>\n      <Argument Name=\"ApplicationUri\" DataType=\"tns:String\" />\n    </InputArguments>\n  </Method>\n  <Method SymbolicName=\"tns:AddEndpointMethodType\" PartNo=\"5\">\n    <InputArguments>\n      <Argument Name=\"Endpoint\" DataType=\"tns:EndpointType\" />\n    </InputArguments>\n  </Method>\n  <Method SymbolicName=\"tns:RemoveEndpointMethodType\" PartNo=\"5\">\n    <InputArguments>\n      <Argument Name=\"Endpoint\" DataType=\"tns:EndpointType\" />\n    </InputArguments>\n  </Method>\n  <ObjectType SymbolicName=\"tns:RoleMappingRuleChangedAuditEventType\" PartNo=\"5\" BaseType=\"tns:AuditUpdateMethodEventType\" IsAbstract=\"true\" />\n  <Object SymbolicName=\"tns:WellKnownRole_Anonymous\" PartNo=\"5\" TypeDefinition=\"tns:RoleType\">\n    <BrowseName>Anonymous</BrowseName>\n    <DisplayName>Anonymous</DisplayName>\n    <Description>The Role has very limited access for use when a Session has anonymous credentials.</Description>\n    <Children>\n      <Property SymbolicName=\"tns:Applications\" ModellingRule=\"Mandatory\" />\n      <Property SymbolicName=\"tns:ApplicationsExclude\" ModellingRule=\"Mandatory\" />\n      <Property SymbolicName=\"tns:Endpoints\" ModellingRule=\"Mandatory\" />\n      <Property SymbolicName=\"tns:EndpointsExclude\" ModellingRule=\"Mandatory\" />\n      <Method SymbolicName=\"tns:AddIdentity\" ModellingRule=\"Mandatory\" />\n      <Method SymbolicName=\"tns:RemoveIdentity\" ModellingRule=\"Mandatory\" />\n      <Method SymbolicName=\"tns:AddApplication\" ModellingRule=\"Mandatory\" />\n      <Method SymbolicName=\"tns:RemoveApplication\" ModellingRule=\"Mandatory\" />\n      <Method SymbolicName=\"tns:AddEndpoint\" ModellingRule=\"Mandatory\" />\n      <Method SymbolicName=\"tns:RemoveEndpoint\" ModellingRule=\"Mandatory\" />\n    </Children>\n    <References>\n      <Reference IsInverse=\"true\">\n        <ReferenceType>tns:HasComponent</ReferenceType>\n        <TargetId>tns:Server_ServerCapabilities_RoleSet</TargetId>\n      </Reference>\n    </References>\n  </Object>\n  <Object SymbolicName=\"tns:WellKnownRole_AuthenticatedUser\" PartNo=\"5\" TypeDefinition=\"tns:RoleType\">\n    <BrowseName>AuthenticatedUser</BrowseName>\n    <DisplayName>AuthenticatedUser</DisplayName>\n    <Description>The Role has limited access for use when a Session has valid non-anonymous credentials but has not been explicity granted access to a Role.</Description>\n    <Children>\n      <Property SymbolicName=\"tns:Applications\" ModellingRule=\"Mandatory\" />\n      <Property SymbolicName=\"tns:ApplicationsExclude\" ModellingRule=\"Mandatory\" />\n      <Property SymbolicName=\"tns:Endpoints\" ModellingRule=\"Mandatory\" />\n      <Property SymbolicName=\"tns:EndpointsExclude\" ModellingRule=\"Mandatory\" />\n      <Method SymbolicName=\"tns:AddIdentity\" ModellingRule=\"Mandatory\" />\n      <Method SymbolicName=\"tns:RemoveIdentity\" ModellingRule=\"Mandatory\" />\n      <Method SymbolicName=\"tns:AddApplication\" ModellingRule=\"Mandatory\" />\n      <Method SymbolicName=\"tns:RemoveApplication\" ModellingRule=\"Mandatory\" />\n      <Method SymbolicName=\"tns:AddEndpoint\" ModellingRule=\"Mandatory\" />\n      <Method SymbolicName=\"tns:RemoveEndpoint\" ModellingRule=\"Mandatory\" />\n    </Children>\n    <References>\n      <Reference IsInverse=\"true\">\n        <ReferenceType>tns:HasComponent</ReferenceType>\n        <TargetId>tns:Server_ServerCapabilities_RoleSet</TargetId>\n      </Reference>\n    </References>\n  </Object>\n  <Object SymbolicName=\"tns:WellKnownRole_Observer\" PartNo=\"5\" TypeDefinition=\"tns:RoleType\">\n    <BrowseName>Observer</BrowseName>\n    <DisplayName>Observer</DisplayName>\n    <Description>The Role is allowed to browse, read live data, read historical data/events or subscribe to data/events.</Description>\n    <Children>\n      <Property SymbolicName=\"tns:Applications\" ModellingRule=\"Mandatory\" />\n      <Property SymbolicName=\"tns:ApplicationsExclude\" ModellingRule=\"Mandatory\" />\n      <Property SymbolicName=\"tns:Endpoints\" ModellingRule=\"Mandatory\" />\n      <Property SymbolicName=\"tns:EndpointsExclude\" ModellingRule=\"Mandatory\" />\n      <Method SymbolicName=\"tns:AddIdentity\" ModellingRule=\"Mandatory\" />\n      <Method SymbolicName=\"tns:RemoveIdentity\" ModellingRule=\"Mandatory\" />\n      <Method SymbolicName=\"tns:AddApplication\" ModellingRule=\"Mandatory\" />\n      <Method SymbolicName=\"tns:RemoveApplication\" ModellingRule=\"Mandatory\" />\n      <Method SymbolicName=\"tns:AddEndpoint\" ModellingRule=\"Mandatory\" />\n      <Method SymbolicName=\"tns:RemoveEndpoint\" ModellingRule=\"Mandatory\" />\n    </Children>\n    <References>\n      <Reference IsInverse=\"true\">\n        <ReferenceType>tns:HasComponent</ReferenceType>\n        <TargetId>tns:Server_ServerCapabilities_RoleSet</TargetId>\n      </Reference>\n    </References>\n  </Object>\n  <Object SymbolicName=\"tns:WellKnownRole_Operator\" PartNo=\"5\" TypeDefinition=\"tns:RoleType\">\n    <BrowseName>Operator</BrowseName>\n    <DisplayName>Operator</DisplayName>\n    <Description>The Role is allowed to browse, read live data, read historical data/events or subscribe to data/events.</Description>\n    <Children>\n      <Property SymbolicName=\"tns:Applications\" ModellingRule=\"Mandatory\" />\n      <Property SymbolicName=\"tns:ApplicationsExclude\" ModellingRule=\"Mandatory\" />\n      <Property SymbolicName=\"tns:Endpoints\" ModellingRule=\"Mandatory\" />\n      <Property SymbolicName=\"tns:EndpointsExclude\" ModellingRule=\"Mandatory\" />\n      <Method SymbolicName=\"tns:AddIdentity\" ModellingRule=\"Mandatory\" />\n      <Method SymbolicName=\"tns:RemoveIdentity\" ModellingRule=\"Mandatory\" />\n      <Method SymbolicName=\"tns:AddApplication\" ModellingRule=\"Mandatory\" />\n      <Method SymbolicName=\"tns:RemoveApplication\" ModellingRule=\"Mandatory\" />\n      <Method SymbolicName=\"tns:AddEndpoint\" ModellingRule=\"Mandatory\" />\n      <Method SymbolicName=\"tns:RemoveEndpoint\" ModellingRule=\"Mandatory\" />\n    </Children>\n    <References>\n      <Reference IsInverse=\"true\">\n        <ReferenceType>tns:HasComponent</ReferenceType>\n        <TargetId>tns:Server_ServerCapabilities_RoleSet</TargetId>\n      </Reference>\n    </References>\n  </Object>\n  <Object SymbolicName=\"tns:WellKnownRole_Engineer\" PartNo=\"5\" TypeDefinition=\"tns:RoleType\">\n    <BrowseName>Engineer</BrowseName>\n    <DisplayName>Engineer</DisplayName>\n    <Description>The Role is allowed to browse, read live data, read and update historical data/events, call methods or subscribe to data/events.</Description>\n    <Children>\n      <Property SymbolicName=\"tns:Applications\" ModellingRule=\"Mandatory\" />\n      <Property SymbolicName=\"tns:ApplicationsExclude\" ModellingRule=\"Mandatory\" />\n      <Property SymbolicName=\"tns:Endpoints\" ModellingRule=\"Mandatory\" />\n      <Property SymbolicName=\"tns:EndpointsExclude\" ModellingRule=\"Mandatory\" />\n      <Method SymbolicName=\"tns:AddIdentity\" ModellingRule=\"Mandatory\" />\n      <Method SymbolicName=\"tns:RemoveIdentity\" ModellingRule=\"Mandatory\" />\n      <Method SymbolicName=\"tns:AddApplication\" ModellingRule=\"Mandatory\" />\n      <Method SymbolicName=\"tns:RemoveApplication\" ModellingRule=\"Mandatory\" />\n      <Method SymbolicName=\"tns:AddEndpoint\" ModellingRule=\"Mandatory\" />\n      <Method SymbolicName=\"tns:RemoveEndpoint\" ModellingRule=\"Mandatory\" />\n    </Children>\n    <References>\n      <Reference IsInverse=\"true\">\n        <ReferenceType>tns:HasComponent</ReferenceType>\n        <TargetId>tns:Server_ServerCapabilities_RoleSet</TargetId>\n      </Reference>\n    </References>\n  </Object>\n  <Object SymbolicName=\"tns:WellKnownRole_Supervisor\" PartNo=\"5\" TypeDefinition=\"tns:RoleType\">\n    <BrowseName>Supervisor</BrowseName>\n    <DisplayName>Supervisor</DisplayName>\n    <Description>The Role is allowed to browse, read live data, read and historical data/events, call methods or subscribe to data/events.</Description>\n    <Children>\n      <Property SymbolicName=\"tns:Applications\" ModellingRule=\"Mandatory\" />\n      <Property SymbolicName=\"tns:ApplicationsExclude\" ModellingRule=\"Mandatory\" />\n      <Property SymbolicName=\"tns:Endpoints\" ModellingRule=\"Mandatory\" />\n      <Property SymbolicName=\"tns:EndpointsExclude\" ModellingRule=\"Mandatory\" />\n      <Method SymbolicName=\"tns:AddIdentity\" ModellingRule=\"Mandatory\" />\n      <Method SymbolicName=\"tns:RemoveIdentity\" ModellingRule=\"Mandatory\" />\n      <Method SymbolicName=\"tns:AddApplication\" ModellingRule=\"Mandatory\" />\n      <Method SymbolicName=\"tns:RemoveApplication\" ModellingRule=\"Mandatory\" />\n      <Method SymbolicName=\"tns:AddEndpoint\" ModellingRule=\"Mandatory\" />\n      <Method SymbolicName=\"tns:RemoveEndpoint\" ModellingRule=\"Mandatory\" />\n    </Children>\n    <References>\n      <Reference IsInverse=\"true\">\n        <ReferenceType>tns:HasComponent</ReferenceType>\n        <TargetId>tns:Server_ServerCapabilities_RoleSet</TargetId>\n      </Reference>\n    </References>\n  </Object>\n  <Object SymbolicName=\"tns:WellKnownRole_ConfigureAdmin\" PartNo=\"5\" TypeDefinition=\"tns:RoleType\">\n    <BrowseName>ConfigureAdmin</BrowseName>\n    <DisplayName>ConfigureAdmin</DisplayName>\n    <Description>The Role is allowed to change the non-security related configuration settings.</Description>\n    <Children>\n      <Property SymbolicName=\"tns:Applications\" ModellingRule=\"Mandatory\" />\n      <Property SymbolicName=\"tns:ApplicationsExclude\" ModellingRule=\"Mandatory\" />\n      <Property SymbolicName=\"tns:Endpoints\" ModellingRule=\"Mandatory\" />\n      <Property SymbolicName=\"tns:EndpointsExclude\" ModellingRule=\"Mandatory\" />\n      <Method SymbolicName=\"tns:AddIdentity\" ModellingRule=\"Mandatory\" />\n      <Method SymbolicName=\"tns:RemoveIdentity\" ModellingRule=\"Mandatory\" />\n      <Method SymbolicName=\"tns:AddApplication\" ModellingRule=\"Mandatory\" />\n      <Method SymbolicName=\"tns:RemoveApplication\" ModellingRule=\"Mandatory\" />\n      <Method SymbolicName=\"tns:AddEndpoint\" ModellingRule=\"Mandatory\" />\n      <Method SymbolicName=\"tns:RemoveEndpoint\" ModellingRule=\"Mandatory\" />\n    </Children>\n    <References>\n      <Reference IsInverse=\"true\">\n        <ReferenceType>tns:HasComponent</ReferenceType>\n        <TargetId>tns:Server_ServerCapabilities_RoleSet</TargetId>\n      </Reference>\n    </References>\n  </Object>\n  <Object SymbolicName=\"tns:WellKnownRole_SecurityAdmin\" PartNo=\"5\" TypeDefinition=\"tns:RoleType\">\n    <BrowseName>SecurityAdmin</BrowseName>\n    <DisplayName>SecurityAdmin</DisplayName>\n    <Description>The Role is allowed to change security related settings.</Description>\n    <Children>\n      <Property SymbolicName=\"tns:Applications\" ModellingRule=\"Mandatory\" />\n      <Property SymbolicName=\"tns:ApplicationsExclude\" ModellingRule=\"Mandatory\" />\n      <Property SymbolicName=\"tns:Endpoints\" ModellingRule=\"Mandatory\" />\n      <Property SymbolicName=\"tns:EndpointsExclude\" ModellingRule=\"Mandatory\" />\n      <Method SymbolicName=\"tns:AddIdentity\" ModellingRule=\"Mandatory\" />\n      <Method SymbolicName=\"tns:RemoveIdentity\" ModellingRule=\"Mandatory\" />\n      <Method SymbolicName=\"tns:AddApplication\" ModellingRule=\"Mandatory\" />\n      <Method SymbolicName=\"tns:RemoveApplication\" ModellingRule=\"Mandatory\" />\n      <Method SymbolicName=\"tns:AddEndpoint\" ModellingRule=\"Mandatory\" />\n      <Method SymbolicName=\"tns:RemoveEndpoint\" ModellingRule=\"Mandatory\" />\n    </Children>\n    <References>\n      <Reference IsInverse=\"true\">\n        <ReferenceType>tns:HasComponent</ReferenceType>\n        <TargetId>tns:Server_ServerCapabilities_RoleSet</TargetId>\n      </Reference>\n    </References>\n  </Object>\n  <ObjectType SymbolicName=\"tns:DictionaryEntryType\" PartNo=\"5\" BaseType=\"tns:BaseObjectType\" IsAbstract=\"true\">\n    <Children>\n      <Object SymbolicName=\"tns:DictionaryEntryName_Placeholder\" TypeDefinition=\"tns:DictionaryEntryType\" ModellingRule=\"OptionalPlaceholder\">\n        <BrowseName>&lt;DictionaryEntryName&gt;</BrowseName>\n      </Object>\n    </Children>\n  </ObjectType>\n  <ObjectType SymbolicName=\"tns:DictionaryFolderType\" PartNo=\"5\" BaseType=\"tns:FolderType\">\n    <Children>\n      <Object SymbolicName=\"tns:DictionaryFolderName_Placeholder\" TypeDefinition=\"tns:DictionaryFolderType\" ModellingRule=\"OptionalPlaceholder\">\n        <BrowseName>&lt;DictionaryFolderName&gt;</BrowseName>\n      </Object>\n      <Object SymbolicName=\"tns:DictionaryEntryName_Placeholder\" TypeDefinition=\"tns:DictionaryEntryType\" ModellingRule=\"OptionalPlaceholder\">\n        <BrowseName>&lt;DictionaryEntryName&gt;</BrowseName>\n      </Object>\n    </Children>\n  </ObjectType>\n  <Object SymbolicName=\"tns:Dictionaries\" PartNo=\"5\" TypeDefinition=\"tns:DictionaryFolderType\" ModellingRule=\"None\">\n    <References>\n      <Reference IsInverse=\"true\">\n        <ReferenceType>tns:HasComponent</ReferenceType>\n        <TargetId>tns:Server</TargetId>\n      </Reference>\n    </References>\n  </Object>\n  <ReferenceType SymbolicName=\"tns:HasDictionaryEntry\" PartNo=\"5\" BaseType=\"tns:NonHierarchicalReferences\">\n    <InverseName>DictionaryEntryOf</InverseName>\n  </ReferenceType>\n  <ObjectType SymbolicName=\"tns:IrdiDictionaryEntryType\" PartNo=\"5\" BaseType=\"tns:DictionaryEntryType\" />\n  <ObjectType SymbolicName=\"tns:UriDictionaryEntryType\" PartNo=\"5\" BaseType=\"tns:DictionaryEntryType\" />\n  <ObjectType SymbolicName=\"tns:BaseInterfaceType\" PartNo=\"5\" BaseType=\"tns:BaseObjectType\" IsAbstract=\"true\" />\n  <Object SymbolicName=\"tns:InterfaceTypes\" PartNo=\"5\" TypeDefinition=\"tns:FolderType\" ModellingRule=\"None\">\n    <References>\n      <Reference>\n        <ReferenceType>tns:Organizes</ReferenceType>\n        <TargetId>tns:BaseInterfaceType</TargetId>\n      </Reference>\n      <Reference IsInverse=\"true\">\n        <ReferenceType>tns:Organizes</ReferenceType>\n        <TargetId>tns:TypesFolder</TargetId>\n      </Reference>\n    </References>\n  </Object>\n  <ReferenceType SymbolicName=\"tns:HasInterface\" PartNo=\"5\" BaseType=\"tns:NonHierarchicalReferences\">\n    <InverseName>InterfaceOf</InverseName>\n  </ReferenceType>\n  <ReferenceType SymbolicName=\"tns:HasAddIn\" PartNo=\"5\" BaseType=\"tns:HasComponent\">\n    <InverseName>AddInOf</InverseName>\n  </ReferenceType>\n  <DataType SymbolicName=\"tns:CurrencyUnitType\" PartNo=\"5\" BaseType=\"tns:Structure\">\n    <Fields>\n      <Field Name=\"NumericCode\" DataType=\"tns:Int16\" />\n      <Field Name=\"Exponent\" DataType=\"tns:SByte\" />\n      <Field Name=\"AlphabeticCode\" DataType=\"tns:String\" />\n      <Field Name=\"Currency\" DataType=\"tns:LocalizedText\" />\n    </Fields>\n  </DataType>\n  <Property SymbolicName=\"tns:CurrencyUnit\" PartNo=\"3\" DataType=\"tns:CurrencyUnitType\" />\n  <ObjectType SymbolicName=\"tns:IOrderedObjectType\" PartNo=\"5\" BaseType=\"tns:BaseInterfaceType\" IsAbstract=\"true\">\n    <Children>\n      <Property SymbolicName=\"tns:NumberInList\" ModellingRule=\"Mandatory\" DataType=\"tns:Number\" />\n    </Children>\n  </ObjectType>\n  <ObjectType SymbolicName=\"tns:OrderedListType\" PartNo=\"5\" BaseType=\"tns:BaseObjectType\">\n    <Children>\n      <Object SymbolicName=\"tns:OrderedObject_Placeholder\" TypeDefinition=\"tns:BaseObjectType\" ModellingRule=\"OptionalPlaceholder\">\n        <BrowseName>&lt;OrderedObject&gt;</BrowseName>\n        <Children>\n          <Property SymbolicName=\"tns:NumberInList\" ModellingRule=\"Mandatory\" DataType=\"tns:Number\" />\n        </Children>\n        <References>\n          <Reference>\n            <ReferenceType>tns:HasInterface</ReferenceType>\n            <TargetId>tns:IOrderedObjectType</TargetId>\n          </Reference>\n        </References>\n        <ReferenceType>tns:HasOrderedComponent</ReferenceType>\n      </Object>\n      <Property SymbolicName=\"tns:NodeVersion\" ModellingRule=\"Optional\" DataType=\"tns:String\" />\n    </Children>\n    <References>\n      <Reference>\n        <ReferenceType>tns:GeneratesEvent</ReferenceType>\n        <TargetId>tns:GeneralModelChangeEventType</TargetId>\n      </Reference>\n    </References>\n  </ObjectType>\n  <VariableType SymbolicName=\"tns:DataItemType\" PartNo=\"8\" BaseType=\"tns:BaseDataVariableType\" DataType=\"tns:BaseDataType\" ValueRank=\"ScalarOrArray\">\n    <Description>\n      A variable that contains live automation data.\n    </Description>\n    <Children>\n      <Property SymbolicName=\"tns:Definition\" ModellingRule=\"Optional\" DataType=\"tns:String\">\n        <Description>\n          A vendor-specific, human readable string that specifies how the value of this DataItem is calculated.\n        </Description>\n      </Property>\n      <Property SymbolicName=\"tns:ValuePrecision\" ModellingRule=\"Optional\" DataType=\"tns:Double\">\n        <Description>\n          The maximum precision that the server can maintain for the item based on restrictions in the target environment.\n        </Description>\n      </Property>\n    </Children>\n  </VariableType>\n  <VariableType SymbolicName=\"tns:BaseAnalogType\" PartNo=\"8\" BaseType=\"tns:DataItemType\" DataType=\"tns:Number\">\n    <Children>\n      <Property SymbolicName=\"tns:InstrumentRange\" ModellingRule=\"Optional\" DataType=\"tns:Range\" />\n      <Property SymbolicName=\"tns:EURange\" ModellingRule=\"Optional\" DataType=\"tns:Range\" />\n      <Property SymbolicName=\"tns:EngineeringUnits\" ModellingRule=\"Optional\" DataType=\"tns:EUInformation\" />\n    </Children>\n  </VariableType>\n  <VariableType SymbolicName=\"tns:AnalogItemType\" PartNo=\"8\" BaseType=\"tns:BaseAnalogType\" DataType=\"tns:Number\">\n    <Children>\n      <Property SymbolicName=\"tns:EURange\" ModellingRule=\"Mandatory\" DataType=\"tns:Range\" />\n    </Children>\n  </VariableType>\n  <VariableType SymbolicName=\"tns:AnalogUnitType\" PartNo=\"8\" BaseType=\"tns:BaseAnalogType\" DataType=\"tns:Number\">\n    <Children>\n      <Property SymbolicName=\"tns:EngineeringUnits\" ModellingRule=\"Mandatory\" DataType=\"tns:EUInformation\" />\n    </Children>\n  </VariableType>\n  <VariableType SymbolicName=\"tns:AnalogUnitRangeType\" PartNo=\"8\" BaseType=\"tns:AnalogItemType\" DataType=\"tns:Number\">\n    <Children>\n      <Property SymbolicName=\"tns:EngineeringUnits\" ModellingRule=\"Mandatory\" DataType=\"tns:EUInformation\" />\n    </Children>\n  </VariableType>\n  <VariableType SymbolicName=\"tns:DiscreteItemType\" PartNo=\"8\" BaseType=\"tns:DataItemType\" IsAbstract=\"true\" />\n  <VariableType SymbolicName=\"tns:TwoStateDiscreteType\" PartNo=\"8\" BaseType=\"tns:DiscreteItemType\" DataType=\"tns:Boolean\">\n    <Children>\n      <Property SymbolicName=\"tns:FalseState\" DataType=\"tns:LocalizedText\" />\n      <Property SymbolicName=\"tns:TrueState\" DataType=\"tns:LocalizedText\" />\n    </Children>\n  </VariableType>\n  <VariableType SymbolicName=\"tns:MultiStateDiscreteType\" PartNo=\"8\" BaseType=\"tns:DiscreteItemType\" DataType=\"tns:UInteger\">\n    <Children>\n      <Property SymbolicName=\"tns:EnumStrings\" DataType=\"tns:LocalizedText\" ValueRank=\"Array\" />\n    </Children>\n  </VariableType>\n  <VariableType SymbolicName=\"tns:MultiStateValueDiscreteType\" PartNo=\"8\" BaseType=\"tns:DiscreteItemType\" DataType=\"tns:Number\" ValueRank=\"ScalarOrArray\">\n    <Children>\n      <Property SymbolicName=\"tns:EnumValues\" DataType=\"tns:EnumValueType\" ValueRank=\"Array\" />\n      <Property SymbolicName=\"tns:ValueAsText\" DataType=\"tns:LocalizedText\" />\n    </Children>\n  </VariableType>\n  <VariableType SymbolicName=\"tns:ArrayItemType\" PartNo=\"8\" BaseType=\"tns:DataItemType\" IsAbstract=\"true\" DataType=\"tns:BaseDataType\" ValueRank=\"OneOrMoreDimensions\">\n    <Children>\n      <Property SymbolicName=\"tns:InstrumentRange\" ModellingRule=\"Optional\" DataType=\"tns:Range\" />\n      <Property SymbolicName=\"tns:EURange\" ModellingRule=\"Mandatory\" DataType=\"tns:Range\" />\n      <Property SymbolicName=\"tns:EngineeringUnits\" ModellingRule=\"Mandatory\" DataType=\"tns:EUInformation\" />\n      <Property SymbolicName=\"tns:Title\" ModellingRule=\"Mandatory\" DataType=\"tns:LocalizedText\" />\n      <Property SymbolicName=\"tns:AxisScaleType\" ModellingRule=\"Mandatory\" DataType=\"tns:AxisScaleEnumeration\" />\n    </Children>\n  </VariableType>\n  <VariableType SymbolicName=\"tns:YArrayItemType\" PartNo=\"8\" BaseType=\"tns:ArrayItemType\" DataType=\"tns:BaseDataType\" ValueRank=\"OneOrMoreDimensions\" ArrayDimensions=\"0\">\n    <Children>\n      <Property SymbolicName=\"tns:XAxisDefinition\" ModellingRule=\"Mandatory\" DataType=\"tns:AxisInformation\" />\n    </Children>\n  </VariableType>\n  <VariableType SymbolicName=\"tns:XYArrayItemType\" PartNo=\"8\" BaseType=\"tns:ArrayItemType\" DataType=\"tns:XVType\" ValueRank=\"OneOrMoreDimensions\" ArrayDimensions=\"0\">\n    <Children>\n      <Property SymbolicName=\"tns:XAxisDefinition\" ModellingRule=\"Mandatory\" DataType=\"tns:AxisInformation\" />\n    </Children>\n  </VariableType>\n  <VariableType SymbolicName=\"tns:ImageItemType\" PartNo=\"8\" BaseType=\"tns:ArrayItemType\" DataType=\"tns:BaseDataType\" ValueRank=\"OneOrMoreDimensions\" ArrayDimensions=\"0,0\">\n    <Children>\n      <Property SymbolicName=\"tns:XAxisDefinition\" ModellingRule=\"Mandatory\" DataType=\"tns:AxisInformation\" />\n      <Property SymbolicName=\"tns:YAxisDefinition\" ModellingRule=\"Mandatory\" DataType=\"tns:AxisInformation\" />\n    </Children>\n  </VariableType>\n  <VariableType SymbolicName=\"tns:CubeItemType\" PartNo=\"8\" BaseType=\"tns:ArrayItemType\" DataType=\"tns:BaseDataType\" ValueRank=\"OneOrMoreDimensions\" ArrayDimensions=\"0,0,0\">\n    <Children>\n      <Property SymbolicName=\"tns:XAxisDefinition\" ModellingRule=\"Mandatory\" DataType=\"tns:AxisInformation\" />\n      <Property SymbolicName=\"tns:YAxisDefinition\" ModellingRule=\"Mandatory\" DataType=\"tns:AxisInformation\" />\n      <Property SymbolicName=\"tns:ZAxisDefinition\" ModellingRule=\"Mandatory\" DataType=\"tns:AxisInformation\" />\n    </Children>\n  </VariableType>\n  <VariableType SymbolicName=\"tns:NDimensionArrayItemType\" PartNo=\"8\" BaseType=\"tns:ArrayItemType\" DataType=\"tns:BaseDataType\" ValueRank=\"OneOrMoreDimensions\">\n    <Children>\n      <Property SymbolicName=\"tns:AxisDefinition\" ModellingRule=\"Mandatory\" DataType=\"tns:AxisInformation\" ValueRank=\"Array\" />\n    </Children>\n  </VariableType>\n  <VariableType SymbolicName=\"tns:TwoStateVariableType\" PartNo=\"9\" BaseType=\"tns:StateVariableType\">\n    <Children>\n      <Property SymbolicName=\"tns:Id\" ModellingRule=\"Mandatory\" DataType=\"tns:Boolean\" />\n      <Property SymbolicName=\"tns:TransitionTime\" ModellingRule=\"Optional\" DataType=\"tns:UtcTime\" />\n      <Property SymbolicName=\"tns:EffectiveTransitionTime\" ModellingRule=\"Optional\" DataType=\"tns:UtcTime\" />\n      <Property SymbolicName=\"tns:TrueState\" ModellingRule=\"Optional\" DataType=\"tns:LocalizedText\" />\n      <Property SymbolicName=\"tns:FalseState\" ModellingRule=\"Optional\" DataType=\"tns:LocalizedText\" />\n    </Children>\n  </VariableType>\n  <VariableType SymbolicName=\"tns:ConditionVariableType\" PartNo=\"9\" BaseType=\"tns:BaseDataVariableType\">\n    <Children>\n      <Property SymbolicName=\"tns:SourceTimestamp\" ModellingRule=\"Mandatory\" DataType=\"tns:UtcTime\" />\n    </Children>\n  </VariableType>\n  <ReferenceType SymbolicName=\"tns:HasTrueSubState\" PartNo=\"9\" BaseType=\"tns:NonHierarchicalReferences\">\n    <InverseName>IsTrueSubStateOf</InverseName>\n  </ReferenceType>\n  <ReferenceType SymbolicName=\"tns:HasFalseSubState\" PartNo=\"9\" BaseType=\"tns:NonHierarchicalReferences\">\n    <InverseName>IsFalseSubStateOf</InverseName>\n  </ReferenceType>\n  <ReferenceType SymbolicName=\"tns:HasAlarmSuppressionGroup\" PartNo=\"9\" BaseType=\"tns:HasComponent\">\n    <InverseName>IsAlarmSuppressionGroupOf</InverseName>\n  </ReferenceType>\n  <ReferenceType SymbolicName=\"tns:AlarmGroupMember\" PartNo=\"9\" BaseType=\"tns:Organizes\">\n    <InverseName>MemberOfAlarmGroup</InverseName>\n  </ReferenceType>\n  <ObjectType SymbolicName=\"tns:ConditionType\" PartNo=\"9\" BaseType=\"tns:BaseEventType\" IsAbstract=\"true\">\n    <Children>\n      <Property SymbolicName=\"tns:ConditionClassId\" ModellingRule=\"Mandatory\" DataType=\"tns:NodeId\" />\n      <Property SymbolicName=\"tns:ConditionClassName\" ModellingRule=\"Mandatory\" DataType=\"tns:LocalizedText\" />\n      <Property SymbolicName=\"tns:ConditionSubClassId\" ModellingRule=\"Optional\" DataType=\"tns:NodeId\" ValueRank=\"Array\" />\n      <Property SymbolicName=\"tns:ConditionSubClassName\" ModellingRule=\"Optional\" DataType=\"tns:LocalizedText\" ValueRank=\"Array\" />\n      <Property SymbolicName=\"tns:ConditionName\" ModellingRule=\"Mandatory\" DataType=\"tns:String\" />\n      <Property SymbolicName=\"tns:BranchId\" ModellingRule=\"Mandatory\" DataType=\"tns:NodeId\" />\n      <Property SymbolicName=\"tns:Retain\" ModellingRule=\"Mandatory\" DataType=\"tns:Boolean\" />\n      <Variable SymbolicName=\"tns:EnabledState\" TypeDefinition=\"tns:TwoStateVariableType\" ModellingRule=\"Mandatory\">\n        <Children>\n          <Property SymbolicName=\"tns:Id\" ModellingRule=\"Mandatory\" DataType=\"tns:Boolean\" />\n          <Property SymbolicName=\"tns:EffectiveDisplayName\" ModellingRule=\"Optional\" DataType=\"tns:LocalizedText\" />\n          <Property SymbolicName=\"tns:TransitionTime\" ModellingRule=\"Optional\" DataType=\"tns:UtcTime\" />\n          <Property SymbolicName=\"tns:EffectiveTransitionTime\" ModellingRule=\"Optional\" DataType=\"tns:UtcTime\" />\n          <Property SymbolicName=\"tns:TrueState\" ModellingRule=\"Optional\" DataType=\"tns:LocalizedText\">\n            <DefaultValue>\n              <uax:LocalizedText>\n                <uax:Locale>en</uax:Locale>\n                <uax:Text>Enabled</uax:Text>\n              </uax:LocalizedText>\n            </DefaultValue>\n          </Property>\n          <Property SymbolicName=\"tns:FalseState\" ModellingRule=\"Optional\" DataType=\"tns:LocalizedText\">\n            <DefaultValue>\n              <uax:LocalizedText>\n                <uax:Locale>en</uax:Locale>\n                <uax:Text>Disabled</uax:Text>\n              </uax:LocalizedText>\n            </DefaultValue>\n          </Property>\n        </Children>\n      </Variable>\n      <Variable SymbolicName=\"tns:Quality\" TypeDefinition=\"tns:ConditionVariableType\" ModellingRule=\"Mandatory\" DataType=\"tns:StatusCode\" />\n      <Variable SymbolicName=\"tns:LastSeverity\" TypeDefinition=\"tns:ConditionVariableType\" ModellingRule=\"Mandatory\" DataType=\"tns:UInt16\" />\n      <Variable SymbolicName=\"tns:Comment\" TypeDefinition=\"tns:ConditionVariableType\" ModellingRule=\"Mandatory\" DataType=\"tns:LocalizedText\" />\n      <Property SymbolicName=\"tns:ClientUserId\" ModellingRule=\"Mandatory\" DataType=\"tns:String\" />\n      <Method SymbolicName=\"tns:Disable\" ModellingRule=\"Mandatory\">\n        <References>\n          <Reference IsOneWay=\"true\">\n            <ReferenceType>tns:AlwaysGeneratesEvent</ReferenceType>\n            <TargetId>tns:AuditConditionEnableEventType</TargetId>\n          </Reference>\n        </References>\n      </Method>\n      <Method SymbolicName=\"tns:Enable\" ModellingRule=\"Mandatory\">\n        <References>\n          <Reference IsOneWay=\"true\">\n            <ReferenceType>tns:AlwaysGeneratesEvent</ReferenceType>\n            <TargetId>tns:AuditConditionEnableEventType</TargetId>\n          </Reference>\n        </References>\n      </Method>\n      <Method SymbolicName=\"tns:AddComment\" TypeDefinition=\"tns:AddCommentMethodType\" ModellingRule=\"Mandatory\">\n        <References>\n          <Reference IsOneWay=\"true\">\n            <ReferenceType>tns:AlwaysGeneratesEvent</ReferenceType>\n            <TargetId>tns:AuditConditionCommentEventType</TargetId>\n          </Reference>\n        </References>\n      </Method>\n      <Method SymbolicName=\"tns:ConditionRefresh\" TypeDefinition=\"tns:ConditionRefreshMethodType\" ModellingRule=\"None\">\n        <References>\n          <Reference IsOneWay=\"true\">\n            <ReferenceType>tns:AlwaysGeneratesEvent</ReferenceType>\n            <TargetId>tns:RefreshStartEventType</TargetId>\n          </Reference>\n          <Reference IsOneWay=\"true\">\n            <ReferenceType>tns:AlwaysGeneratesEvent</ReferenceType>\n            <TargetId>tns:RefreshEndEventType</TargetId>\n          </Reference>\n        </References>\n      </Method>\n      <Method SymbolicName=\"tns:ConditionRefresh2\" TypeDefinition=\"tns:ConditionRefresh2MethodType\" ModellingRule=\"None\">\n        <References>\n          <Reference IsOneWay=\"true\">\n            <ReferenceType>tns:AlwaysGeneratesEvent</ReferenceType>\n            <TargetId>tns:RefreshStartEventType</TargetId>\n          </Reference>\n          <Reference IsOneWay=\"true\">\n            <ReferenceType>tns:AlwaysGeneratesEvent</ReferenceType>\n            <TargetId>tns:RefreshEndEventType</TargetId>\n          </Reference>\n        </References>\n      </Method>\n    </Children>\n  </ObjectType>\n  <Method SymbolicName=\"tns:ConditionRefresh2MethodType\" PartNo=\"9\">\n    <InputArguments>\n      <Argument Name=\"SubscriptionId\" DataType=\"tns:IntegerId\">\n        <Description>The identifier for the subscription to refresh.</Description>\n      </Argument>\n      <Argument Name=\"MonitoredItemId\" DataType=\"tns:IntegerId\">\n        <Description>The identifier for the monitored item to refresh.</Description>\n      </Argument>\n    </InputArguments>\n  </Method>\n  <Method SymbolicName=\"tns:ConditionRefreshMethodType\" PartNo=\"9\">\n    <InputArguments>\n      <Argument Name=\"SubscriptionId\" DataType=\"tns:IntegerId\">\n        <Description>The identifier for the subscription to refresh.</Description>\n      </Argument>\n    </InputArguments>\n  </Method>\n  <Method SymbolicName=\"tns:AddCommentMethodType\" PartNo=\"9\" ModellingRule=\"Mandatory\">\n    <InputArguments>\n      <Argument Name=\"EventId\" DataType=\"tns:ByteString\">\n        <Description>The identifier for the event to comment.</Description>\n      </Argument>\n      <Argument Name=\"Comment\" DataType=\"tns:LocalizedText\">\n        <Description>The comment to add to the condition.</Description>\n      </Argument>\n    </InputArguments>\n  </Method>\n  <ObjectType SymbolicName=\"tns:DialogConditionType\" PartNo=\"9\" BaseType=\"tns:ConditionType\">\n    <Children>\n      <Variable SymbolicName=\"tns:EnabledState\" TypeDefinition=\"tns:TwoStateVariableType\" ModellingRule=\"Mandatory\">\n        <References>\n          <Reference>\n            <ReferenceType>tns:HasTrueSubState</ReferenceType>\n            <TargetId>tns:DialogConditionType_DialogState</TargetId>\n          </Reference>\n        </References>\n      </Variable>\n      <Variable SymbolicName=\"tns:DialogState\" TypeDefinition=\"tns:TwoStateVariableType\" ModellingRule=\"Mandatory\">\n        <Children>\n          <Property SymbolicName=\"tns:Id\" ModellingRule=\"Mandatory\" DataType=\"tns:Boolean\" />\n          <Property SymbolicName=\"tns:TransitionTime\" ModellingRule=\"Optional\" DataType=\"tns:UtcTime\" />\n          <Property SymbolicName=\"tns:TrueState\" ModellingRule=\"Optional\" DataType=\"tns:LocalizedText\">\n            <DefaultValue>\n              <uax:LocalizedText>\n                <uax:Locale>en</uax:Locale>\n                <uax:Text>Active</uax:Text>\n              </uax:LocalizedText>\n            </DefaultValue>\n          </Property>\n          <Property SymbolicName=\"tns:FalseState\" ModellingRule=\"Optional\" DataType=\"tns:LocalizedText\">\n            <DefaultValue>\n              <uax:LocalizedText>\n                <uax:Locale>en</uax:Locale>\n                <uax:Text>Inactive</uax:Text>\n              </uax:LocalizedText>\n            </DefaultValue>\n          </Property>\n        </Children>\n      </Variable>\n      <Property SymbolicName=\"tns:Prompt\" ModellingRule=\"Mandatory\" DataType=\"tns:LocalizedText\" />\n      <Property SymbolicName=\"tns:ResponseOptionSet\" ModellingRule=\"Mandatory\" DataType=\"tns:LocalizedText\" ValueRank=\"Array\" />\n      <Property SymbolicName=\"tns:DefaultResponse\" ModellingRule=\"Mandatory\" DataType=\"tns:Int32\" />\n      <Property SymbolicName=\"tns:OkResponse\" ModellingRule=\"Mandatory\" DataType=\"tns:Int32\" />\n      <Property SymbolicName=\"tns:CancelResponse\" ModellingRule=\"Mandatory\" DataType=\"tns:Int32\" />\n      <Property SymbolicName=\"tns:LastResponse\" ModellingRule=\"Mandatory\" DataType=\"tns:Int32\" />\n      <Method SymbolicName=\"tns:Respond\" TypeDefinition=\"tns:DialogResponseMethodType\" ModellingRule=\"Mandatory\">\n        <References>\n          <Reference IsOneWay=\"true\">\n            <ReferenceType>tns:AlwaysGeneratesEvent</ReferenceType>\n            <TargetId>tns:AuditConditionRespondEventType</TargetId>\n          </Reference>\n        </References>\n      </Method>\n    </Children>\n  </ObjectType>\n  <Method SymbolicName=\"tns:DialogResponseMethodType\" PartNo=\"9\" ModellingRule=\"Mandatory\">\n    <InputArguments>\n      <Argument Name=\"SelectedResponse\" DataType=\"tns:Int32\">\n        <Description>The response to the dialog condition.</Description>\n      </Argument>\n    </InputArguments>\n  </Method>\n  <ObjectType SymbolicName=\"tns:AcknowledgeableConditionType\" PartNo=\"9\" BaseType=\"tns:ConditionType\">\n    <Children>\n      <Variable SymbolicName=\"tns:EnabledState\" TypeDefinition=\"tns:TwoStateVariableType\" ModellingRule=\"Mandatory\">\n        <References>\n          <Reference>\n            <ReferenceType>tns:HasTrueSubState</ReferenceType>\n            <TargetId>tns:AcknowledgeableConditionType_AckedState</TargetId>\n          </Reference>\n          <Reference>\n            <ReferenceType>tns:HasTrueSubState</ReferenceType>\n            <TargetId>tns:AcknowledgeableConditionType_ConfirmedState</TargetId>\n          </Reference>\n        </References>\n      </Variable>\n      <Variable SymbolicName=\"tns:AckedState\" TypeDefinition=\"tns:TwoStateVariableType\" ModellingRule=\"Mandatory\">\n        <Children>\n          <Property SymbolicName=\"tns:Id\" ModellingRule=\"Mandatory\" DataType=\"tns:Boolean\" />\n          <Property SymbolicName=\"tns:TransitionTime\" ModellingRule=\"Optional\" DataType=\"tns:UtcTime\" />\n          <Property SymbolicName=\"tns:TrueState\" ModellingRule=\"Optional\" DataType=\"tns:LocalizedText\">\n            <DefaultValue>\n              <uax:LocalizedText>\n                <uax:Locale>en</uax:Locale>\n                <uax:Text>Acknowledged</uax:Text>\n              </uax:LocalizedText>\n            </DefaultValue>\n          </Property>\n          <Property SymbolicName=\"tns:FalseState\" ModellingRule=\"Optional\" DataType=\"tns:LocalizedText\">\n            <DefaultValue>\n              <uax:LocalizedText>\n                <uax:Locale>en</uax:Locale>\n                <uax:Text>Unacknowledged</uax:Text>\n              </uax:LocalizedText>\n            </DefaultValue>\n          </Property>\n        </Children>\n      </Variable>\n      <Variable SymbolicName=\"tns:ConfirmedState\" TypeDefinition=\"tns:TwoStateVariableType\" ModellingRule=\"Optional\">\n        <Children>\n          <Property SymbolicName=\"tns:Id\" ModellingRule=\"Mandatory\" DataType=\"tns:Boolean\" />\n          <Property SymbolicName=\"tns:TransitionTime\" ModellingRule=\"Optional\" DataType=\"tns:UtcTime\" />\n          <Property SymbolicName=\"tns:TrueState\" ModellingRule=\"Optional\" DataType=\"tns:LocalizedText\">\n            <DefaultValue>\n              <uax:LocalizedText>\n                <uax:Locale>en</uax:Locale>\n                <uax:Text>Confirmed</uax:Text>\n              </uax:LocalizedText>\n            </DefaultValue>\n          </Property>\n          <Property SymbolicName=\"tns:FalseState\" ModellingRule=\"Optional\" DataType=\"tns:LocalizedText\">\n            <DefaultValue>\n              <uax:LocalizedText>\n                <uax:Locale>en</uax:Locale>\n                <uax:Text>Unconfirmed</uax:Text>\n              </uax:LocalizedText>\n            </DefaultValue>\n          </Property>\n        </Children>\n      </Variable>\n      <Method SymbolicName=\"tns:Acknowledge\" TypeDefinition=\"tns:AddCommentMethodType\" ModellingRule=\"Mandatory\">\n        <References>\n          <Reference IsOneWay=\"true\">\n            <ReferenceType>tns:AlwaysGeneratesEvent</ReferenceType>\n            <TargetId>tns:AuditConditionAcknowledgeEventType</TargetId>\n          </Reference>\n        </References>\n      </Method>\n      <Method SymbolicName=\"tns:Confirm\" TypeDefinition=\"tns:AddCommentMethodType\" ModellingRule=\"Optional\">\n        <References>\n          <Reference IsOneWay=\"true\">\n            <ReferenceType>tns:AlwaysGeneratesEvent</ReferenceType>\n            <TargetId>tns:AuditConditionConfirmEventType</TargetId>\n          </Reference>\n        </References>\n      </Method>\n    </Children>\n  </ObjectType>\n  <ObjectType SymbolicName=\"tns:AlarmConditionType\" PartNo=\"9\" BaseType=\"tns:AcknowledgeableConditionType\">\n    <Children>\n      <Variable SymbolicName=\"tns:EnabledState\" TypeDefinition=\"tns:TwoStateVariableType\" ModellingRule=\"Mandatory\">\n        <References>\n          <Reference>\n            <ReferenceType>tns:HasTrueSubState</ReferenceType>\n            <TargetId>tns:AlarmConditionType_ActiveState</TargetId>\n          </Reference>\n          <Reference>\n            <ReferenceType>tns:HasTrueSubState</ReferenceType>\n            <TargetId>tns:AlarmConditionType_SuppressedState</TargetId>\n          </Reference>\n          <Reference>\n            <ReferenceType>tns:HasTrueSubState</ReferenceType>\n            <TargetId>tns:AlarmConditionType_ShelvingState</TargetId>\n          </Reference>\n        </References>\n      </Variable>\n      <Variable SymbolicName=\"tns:ActiveState\" TypeDefinition=\"tns:TwoStateVariableType\" ModellingRule=\"Mandatory\">\n        <Children>\n          <Property SymbolicName=\"tns:Id\" ModellingRule=\"Mandatory\" DataType=\"tns:Boolean\" />\n          <Property SymbolicName=\"tns:EffectiveDisplayName\" ModellingRule=\"Optional\" DataType=\"tns:LocalizedText\" />\n          <Property SymbolicName=\"tns:TransitionTime\" ModellingRule=\"Optional\" DataType=\"tns:UtcTime\" />\n          <Property SymbolicName=\"tns:EffectiveTransitionTime\" ModellingRule=\"Optional\" DataType=\"tns:UtcTime\" />\n          <Property SymbolicName=\"tns:TrueState\" ModellingRule=\"Optional\" DataType=\"tns:LocalizedText\">\n            <DefaultValue>\n              <uax:LocalizedText>\n                <uax:Locale>en</uax:Locale>\n                <uax:Text>Active</uax:Text>\n              </uax:LocalizedText>\n            </DefaultValue>\n          </Property>\n          <Property SymbolicName=\"tns:FalseState\" ModellingRule=\"Optional\" DataType=\"tns:LocalizedText\">\n            <DefaultValue>\n              <uax:LocalizedText>\n                <uax:Locale>en</uax:Locale>\n                <uax:Text>Inactive</uax:Text>\n              </uax:LocalizedText>\n            </DefaultValue>\n          </Property>\n        </Children>\n      </Variable>\n      <Property SymbolicName=\"tns:InputNode\" ModellingRule=\"Mandatory\" DataType=\"tns:NodeId\" />\n      <Variable SymbolicName=\"tns:SuppressedState\" TypeDefinition=\"tns:TwoStateVariableType\" ModellingRule=\"Optional\">\n        <Children>\n          <Property SymbolicName=\"tns:TransitionTime\" ModellingRule=\"Optional\" DataType=\"tns:UtcTime\" />\n          <Property SymbolicName=\"tns:TrueState\" ModellingRule=\"Optional\" DataType=\"tns:LocalizedText\">\n            <DefaultValue>\n              <uax:LocalizedText>\n                <uax:Locale>en</uax:Locale>\n                <uax:Text>Suppressed</uax:Text>\n              </uax:LocalizedText>\n            </DefaultValue>\n          </Property>\n          <Property SymbolicName=\"tns:FalseState\" ModellingRule=\"Optional\" DataType=\"tns:LocalizedText\">\n            <DefaultValue>\n              <uax:LocalizedText>\n                <uax:Locale>en</uax:Locale>\n                <uax:Text>Unsuppressed</uax:Text>\n              </uax:LocalizedText>\n            </DefaultValue>\n          </Property>\n        </Children>\n      </Variable>\n      <Variable SymbolicName=\"tns:OutOfServiceState\" TypeDefinition=\"tns:TwoStateVariableType\" ModellingRule=\"Optional\">\n        <Children>\n          <Property SymbolicName=\"tns:TransitionTime\" ModellingRule=\"Optional\" DataType=\"tns:UtcTime\" />\n          <Property SymbolicName=\"tns:TrueState\" ModellingRule=\"Optional\" DataType=\"tns:LocalizedText\">\n            <DefaultValue>\n              <uax:LocalizedText>\n                <uax:Locale>en</uax:Locale>\n                <uax:Text>Out of Service</uax:Text>\n              </uax:LocalizedText>\n            </DefaultValue>\n          </Property>\n          <Property SymbolicName=\"tns:FalseState\" ModellingRule=\"Optional\" DataType=\"tns:LocalizedText\">\n            <DefaultValue>\n              <uax:LocalizedText>\n                <uax:Locale>en</uax:Locale>\n                <uax:Text>In Service</uax:Text>\n              </uax:LocalizedText>\n            </DefaultValue>\n          </Property>\n        </Children>\n      </Variable>\n      <Object SymbolicName=\"tns:ShelvingState\" TypeDefinition=\"tns:ShelvedStateMachineType\" ModellingRule=\"Optional\">\n        <Children>\n          <Variable SymbolicName=\"tns:LastTransition\" TypeDefinition=\"tns:FiniteTransitionVariableType\" ModellingRule=\"Optional\">\n            <Children>\n              <Property SymbolicName=\"tns:TransitionTime\" ModellingRule=\"Optional\" DataType=\"tns:UtcTime\" />\n            </Children>\n          </Variable>\n        </Children>\n      </Object>\n      <Property SymbolicName=\"tns:SuppressedOrShelved\" ModellingRule=\"Mandatory\" DataType=\"tns:Boolean\" />\n      <Property SymbolicName=\"tns:MaxTimeShelved\" ModellingRule=\"Optional\" DataType=\"tns:Duration\" />\n      <Property SymbolicName=\"tns:AudibleEnabled\" ModellingRule=\"Optional\" DataType=\"tns:Boolean\" />\n      <Variable SymbolicName=\"tns:AudibleSound\" TypeDefinition=\"tns:AudioVariableType\" ModellingRule=\"Optional\" DataType=\"tns:AudioDataType\" />\n      <Variable SymbolicName=\"tns:SilenceState\" TypeDefinition=\"tns:TwoStateVariableType\" ModellingRule=\"Optional\">\n        <Children>\n          <Property SymbolicName=\"tns:TransitionTime\" ModellingRule=\"Optional\" DataType=\"tns:UtcTime\" />\n          <Property SymbolicName=\"tns:TrueState\" ModellingRule=\"Optional\" DataType=\"tns:LocalizedText\">\n            <DefaultValue>\n              <uax:LocalizedText>\n                <uax:Locale>en</uax:Locale>\n                <uax:Text>Silenced</uax:Text>\n              </uax:LocalizedText>\n            </DefaultValue>\n          </Property>\n          <Property SymbolicName=\"tns:FalseState\" ModellingRule=\"Optional\" DataType=\"tns:LocalizedText\">\n            <DefaultValue>\n              <uax:LocalizedText>\n                <uax:Locale>en</uax:Locale>\n                <uax:Text>Not Silenced</uax:Text>\n              </uax:LocalizedText>\n            </DefaultValue>\n          </Property>\n        </Children>\n      </Variable>\n      <Property SymbolicName=\"tns:OnDelay\" ModellingRule=\"Optional\" DataType=\"tns:Duration\" />\n      <Property SymbolicName=\"tns:OffDelay\" ModellingRule=\"Optional\" DataType=\"tns:Duration\" />\n      <Variable SymbolicName=\"tns:FirstInGroupFlag\" ModellingRule=\"Optional\" DataType=\"tns:Boolean\" />\n      <Object SymbolicName=\"tns:FirstInGroup\" TypeDefinition=\"tns:AlarmGroupType\" ModellingRule=\"Optional\" />\n      <Variable SymbolicName=\"tns:LatchedState\" TypeDefinition=\"tns:TwoStateVariableType\" ModellingRule=\"Optional\">\n        <Children>\n          <Property SymbolicName=\"tns:TransitionTime\" ModellingRule=\"Optional\" DataType=\"tns:UtcTime\" />\n          <Property SymbolicName=\"tns:TrueState\" ModellingRule=\"Optional\" DataType=\"tns:LocalizedText\">\n            <DefaultValue>\n              <uax:LocalizedText>\n                <uax:Locale>en</uax:Locale>\n                <uax:Text>Latched</uax:Text>\n              </uax:LocalizedText>\n            </DefaultValue>\n          </Property>\n          <Property SymbolicName=\"tns:FalseState\" ModellingRule=\"Optional\" DataType=\"tns:LocalizedText\">\n            <DefaultValue>\n              <uax:LocalizedText>\n                <uax:Locale>en</uax:Locale>\n                <uax:Text>Unlatched</uax:Text>\n              </uax:LocalizedText>\n            </DefaultValue>\n          </Property>\n        </Children>\n      </Variable>\n      <Object SymbolicName=\"tns:AlarmGroup_Placeholder\" TypeDefinition=\"tns:AlarmGroupType\" ModellingRule=\"OptionalPlaceholder\">\n        <BrowseName>&lt;AlarmGroup&gt;</BrowseName>\n        <ReferenceType>tns:HasAlarmSuppressionGroup</ReferenceType>\n      </Object>\n      <Property SymbolicName=\"tns:ReAlarmTime\" ModellingRule=\"Optional\" DataType=\"tns:Duration\" />\n      <Variable SymbolicName=\"tns:ReAlarmRepeatCount\" ModellingRule=\"Optional\" DataType=\"tns:Int16\" />\n      <Method SymbolicName=\"tns:Silence\" ModellingRule=\"Optional\">\n        <References>\n          <Reference IsOneWay=\"true\">\n            <ReferenceType>tns:AlwaysGeneratesEvent</ReferenceType>\n            <TargetId>tns:AuditConditionSilenceEventType</TargetId>\n          </Reference>\n        </References>\n      </Method>\n      <Method SymbolicName=\"tns:Suppress\" ModellingRule=\"Optional\">\n        <References>\n          <Reference IsOneWay=\"true\">\n            <ReferenceType>tns:AlwaysGeneratesEvent</ReferenceType>\n            <TargetId>tns:AuditConditionSuppressionEventType</TargetId>\n          </Reference>\n        </References>\n      </Method>\n      <Method SymbolicName=\"tns:Unsuppress\" ModellingRule=\"Optional\">\n        <References>\n          <Reference IsOneWay=\"true\">\n            <ReferenceType>tns:AlwaysGeneratesEvent</ReferenceType>\n            <TargetId>tns:AuditConditionSuppressionEventType</TargetId>\n          </Reference>\n        </References>\n      </Method>\n      <Method SymbolicName=\"tns:RemoveFromService\" ModellingRule=\"Optional\">\n        <References>\n          <Reference IsOneWay=\"true\">\n            <ReferenceType>tns:AlwaysGeneratesEvent</ReferenceType>\n            <TargetId>tns:AuditConditionOutOfServiceEventType</TargetId>\n          </Reference>\n        </References>\n      </Method>\n      <Method SymbolicName=\"tns:PlaceInService\" ModellingRule=\"Optional\">\n        <References>\n          <Reference IsOneWay=\"true\">\n            <ReferenceType>tns:AlwaysGeneratesEvent</ReferenceType>\n            <TargetId>tns:AuditConditionOutOfServiceEventType</TargetId>\n          </Reference>\n        </References>\n      </Method>\n      <Method SymbolicName=\"tns:Reset\" ModellingRule=\"Optional\">\n        <References>\n          <Reference IsOneWay=\"true\">\n            <ReferenceType>tns:AlwaysGeneratesEvent</ReferenceType>\n            <TargetId>tns:AuditConditionResetEventType</TargetId>\n          </Reference>\n        </References>\n      </Method>\n    </Children>\n  </ObjectType>\n  <ObjectType SymbolicName=\"tns:AlarmGroupType\" PartNo=\"9\" BaseType=\"tns:FolderType\">\n    <Children>\n      <Object SymbolicName=\"tns:AlarmConditionInstance_Placeholder\" TypeDefinition=\"tns:AlarmConditionType\" ModellingRule=\"OptionalPlaceholder\">\n        <BrowseName>&lt;AlarmConditionInstance&gt;</BrowseName>\n        <ReferenceType>tns:AlarmGroupMember</ReferenceType>\n      </Object>\n    </Children>\n  </ObjectType>\n  <ObjectType SymbolicName=\"tns:ShelvedStateMachineType\" PartNo=\"9\" BaseType=\"tns:FiniteStateMachineType\">\n    <Children>\n      <Property SymbolicName=\"tns:UnshelveTime\" ModellingRule=\"Mandatory\" DataType=\"tns:Duration\" />\n      <Object SymbolicName=\"tns:Unshelved\" TypeDefinition=\"tns:StateType\" ModellingRule=\"None\">\n        <Children>\n          <Property SymbolicName=\"tns:StateNumber\">\n            <DefaultValue>\n              <uax:UInt32>1</uax:UInt32>\n            </DefaultValue>\n          </Property>\n        </Children>\n      </Object>\n      <Object SymbolicName=\"tns:TimedShelved\" TypeDefinition=\"tns:StateType\" ModellingRule=\"None\">\n        <Children>\n          <Property SymbolicName=\"tns:StateNumber\">\n            <DefaultValue>\n              <uax:UInt32>2</uax:UInt32>\n            </DefaultValue>\n          </Property>\n        </Children>\n      </Object>\n      <Object SymbolicName=\"tns:OneShotShelved\" TypeDefinition=\"tns:StateType\" ModellingRule=\"None\">\n        <Children>\n          <Property SymbolicName=\"tns:StateNumber\">\n            <DefaultValue>\n              <uax:UInt32>3</uax:UInt32>\n            </DefaultValue>\n          </Property>\n        </Children>\n      </Object>\n      <Object SymbolicName=\"tns:UnshelvedToTimedShelved\" TypeDefinition=\"tns:TransitionType\" ModellingRule=\"None\">\n        <Children>\n          <Property SymbolicName=\"tns:TransitionNumber\">\n            <DefaultValue>\n              <uax:UInt32>12</uax:UInt32>\n            </DefaultValue>\n          </Property>\n        </Children>\n        <References>\n          <Reference>\n            <ReferenceType>tns:FromState</ReferenceType>\n            <TargetId>tns:ShelvedStateMachineType_Unshelved</TargetId>\n          </Reference>\n          <Reference>\n            <ReferenceType>tns:ToState</ReferenceType>\n            <TargetId>tns:ShelvedStateMachineType_TimedShelved</TargetId>\n          </Reference>\n          <Reference IsOneWay=\"true\">\n            <ReferenceType>tns:HasEffect</ReferenceType>\n            <TargetId>tns:AlarmConditionType</TargetId>\n          </Reference>\n          <Reference>\n            <ReferenceType>tns:HasCause</ReferenceType>\n            <TargetId>tns:ShelvedStateMachineType_TimedShelve</TargetId>\n          </Reference>\n        </References>\n      </Object>\n      <Object SymbolicName=\"tns:UnshelvedToOneShotShelved\" TypeDefinition=\"tns:TransitionType\" ModellingRule=\"None\">\n        <Children>\n          <Property SymbolicName=\"tns:TransitionNumber\">\n            <DefaultValue>\n              <uax:UInt32>13</uax:UInt32>\n            </DefaultValue>\n          </Property>\n        </Children>\n        <References>\n          <Reference>\n            <ReferenceType>tns:FromState</ReferenceType>\n            <TargetId>tns:ShelvedStateMachineType_Unshelved</TargetId>\n          </Reference>\n          <Reference>\n            <ReferenceType>tns:ToState</ReferenceType>\n            <TargetId>tns:ShelvedStateMachineType_OneShotShelved</TargetId>\n          </Reference>\n          <Reference IsOneWay=\"true\">\n            <ReferenceType>tns:HasEffect</ReferenceType>\n            <TargetId>tns:AlarmConditionType</TargetId>\n          </Reference>\n          <Reference>\n            <ReferenceType>tns:HasCause</ReferenceType>\n            <TargetId>tns:ShelvedStateMachineType_OneShotShelve</TargetId>\n          </Reference>\n        </References>\n      </Object>\n      <Object SymbolicName=\"tns:TimedShelvedToUnshelved\" TypeDefinition=\"tns:TransitionType\" ModellingRule=\"None\">\n        <Children>\n          <Property SymbolicName=\"tns:TransitionNumber\">\n            <DefaultValue>\n              <uax:UInt32>21</uax:UInt32>\n            </DefaultValue>\n          </Property>\n        </Children>\n        <References>\n          <Reference>\n            <ReferenceType>tns:FromState</ReferenceType>\n            <TargetId>tns:ShelvedStateMachineType_TimedShelved</TargetId>\n          </Reference>\n          <Reference>\n            <ReferenceType>tns:ToState</ReferenceType>\n            <TargetId>tns:ShelvedStateMachineType_Unshelved</TargetId>\n          </Reference>\n          <Reference IsOneWay=\"true\">\n            <ReferenceType>tns:HasEffect</ReferenceType>\n            <TargetId>tns:AlarmConditionType</TargetId>\n          </Reference>\n          <Reference>\n            <ReferenceType>tns:HasCause</ReferenceType>\n            <TargetId>tns:ShelvedStateMachineType_Unshelve</TargetId>\n          </Reference>\n        </References>\n      </Object>\n      <Object SymbolicName=\"tns:TimedShelvedToOneShotShelved\" TypeDefinition=\"tns:TransitionType\" ModellingRule=\"None\">\n        <Children>\n          <Property SymbolicName=\"tns:TransitionNumber\">\n            <DefaultValue>\n              <uax:UInt32>23</uax:UInt32>\n            </DefaultValue>\n          </Property>\n        </Children>\n        <References>\n          <Reference>\n            <ReferenceType>tns:FromState</ReferenceType>\n            <TargetId>tns:ShelvedStateMachineType_TimedShelved</TargetId>\n          </Reference>\n          <Reference>\n            <ReferenceType>tns:ToState</ReferenceType>\n            <TargetId>tns:ShelvedStateMachineType_OneShotShelved</TargetId>\n          </Reference>\n          <Reference IsOneWay=\"true\">\n            <ReferenceType>tns:HasEffect</ReferenceType>\n            <TargetId>tns:AlarmConditionType</TargetId>\n          </Reference>\n          <Reference>\n            <ReferenceType>tns:HasCause</ReferenceType>\n            <TargetId>tns:ShelvedStateMachineType_OneShotShelve</TargetId>\n          </Reference>\n        </References>\n      </Object>\n      <Object SymbolicName=\"tns:OneShotShelvedToUnshelved\" TypeDefinition=\"tns:TransitionType\" ModellingRule=\"None\">\n        <Children>\n          <Property SymbolicName=\"tns:TransitionNumber\">\n            <DefaultValue>\n              <uax:UInt32>31</uax:UInt32>\n            </DefaultValue>\n          </Property>\n        </Children>\n        <References>\n          <Reference>\n            <ReferenceType>tns:FromState</ReferenceType>\n            <TargetId>tns:ShelvedStateMachineType_OneShotShelved</TargetId>\n          </Reference>\n          <Reference>\n            <ReferenceType>tns:ToState</ReferenceType>\n            <TargetId>tns:ShelvedStateMachineType_Unshelved</TargetId>\n          </Reference>\n          <Reference IsOneWay=\"true\">\n            <ReferenceType>tns:HasEffect</ReferenceType>\n            <TargetId>tns:AlarmConditionType</TargetId>\n          </Reference>\n          <Reference>\n            <ReferenceType>tns:HasCause</ReferenceType>\n            <TargetId>tns:ShelvedStateMachineType_Unshelve</TargetId>\n          </Reference>\n        </References>\n      </Object>\n      <Object SymbolicName=\"tns:OneShotShelvedToTimedShelved\" TypeDefinition=\"tns:TransitionType\" ModellingRule=\"None\">\n        <Children>\n          <Property SymbolicName=\"tns:TransitionNumber\">\n            <DefaultValue>\n              <uax:UInt32>32</uax:UInt32>\n            </DefaultValue>\n          </Property>\n        </Children>\n        <References>\n          <Reference>\n            <ReferenceType>tns:FromState</ReferenceType>\n            <TargetId>tns:ShelvedStateMachineType_OneShotShelved</TargetId>\n          </Reference>\n          <Reference>\n            <ReferenceType>tns:ToState</ReferenceType>\n            <TargetId>tns:ShelvedStateMachineType_TimedShelved</TargetId>\n          </Reference>\n          <Reference IsOneWay=\"true\">\n            <ReferenceType>tns:HasEffect</ReferenceType>\n            <TargetId>tns:AlarmConditionType</TargetId>\n          </Reference>\n          <Reference>\n            <ReferenceType>tns:HasCause</ReferenceType>\n            <TargetId>tns:ShelvedStateMachineType_TimedShelve</TargetId>\n          </Reference>\n        </References>\n      </Object>\n      <Method SymbolicName=\"tns:TimedShelve\" TypeDefinition=\"tns:TimedShelveMethodType\" ModellingRule=\"Mandatory\">\n        <References>\n          <Reference IsOneWay=\"true\">\n            <ReferenceType>tns:AlwaysGeneratesEvent</ReferenceType>\n            <TargetId>tns:AuditConditionShelvingEventType</TargetId>\n          </Reference>\n        </References>\n      </Method>\n      <Method SymbolicName=\"tns:Unshelve\" ModellingRule=\"Mandatory\">\n        <References>\n          <Reference IsOneWay=\"true\">\n            <ReferenceType>tns:AlwaysGeneratesEvent</ReferenceType>\n            <TargetId>tns:AuditConditionShelvingEventType</TargetId>\n          </Reference>\n        </References>\n      </Method>\n      <Method SymbolicName=\"tns:OneShotShelve\" ModellingRule=\"Mandatory\">\n        <References>\n          <Reference IsOneWay=\"true\">\n            <ReferenceType>tns:AlwaysGeneratesEvent</ReferenceType>\n            <TargetId>tns:AuditConditionShelvingEventType</TargetId>\n          </Reference>\n        </References>\n      </Method>\n    </Children>\n  </ObjectType>\n  <Method SymbolicName=\"tns:TimedShelveMethodType\" PartNo=\"9\" ModellingRule=\"Mandatory\">\n    <InputArguments>\n      <Argument Name=\"ShelvingTime\" DataType=\"tns:Duration\">\n        <Description>If not 0, this parameter specifies a fixed time for which the Alarm is to be shelved.</Description>\n      </Argument>\n    </InputArguments>\n  </Method>\n  <ObjectType SymbolicName=\"tns:LimitAlarmType\" PartNo=\"9\" BaseType=\"tns:AlarmConditionType\">\n    <Children>\n      <Property SymbolicName=\"tns:HighHighLimit\" ModellingRule=\"Optional\" DataType=\"tns:Double\" />\n      <Property SymbolicName=\"tns:HighLimit\" ModellingRule=\"Optional\" DataType=\"tns:Double\" />\n      <Property SymbolicName=\"tns:LowLimit\" ModellingRule=\"Optional\" DataType=\"tns:Double\" />\n      <Property SymbolicName=\"tns:LowLowLimit\" ModellingRule=\"Optional\" DataType=\"tns:Double\" />\n      <Property SymbolicName=\"tns:BaseHighHighLimit\" ModellingRule=\"Optional\" DataType=\"tns:Double\" />\n      <Property SymbolicName=\"tns:BaseHighLimit\" ModellingRule=\"Optional\" DataType=\"tns:Double\" />\n      <Property SymbolicName=\"tns:BaseLowLimit\" ModellingRule=\"Optional\" DataType=\"tns:Double\" />\n      <Property SymbolicName=\"tns:BaseLowLowLimit\" ModellingRule=\"Optional\" DataType=\"tns:Double\" />\n    </Children>\n  </ObjectType>\n  <ObjectType SymbolicName=\"tns:ExclusiveLimitStateMachineType\" PartNo=\"9\" BaseType=\"tns:FiniteStateMachineType\">\n    <Children>\n      <Object SymbolicName=\"tns:HighHigh\" TypeDefinition=\"tns:StateType\" ModellingRule=\"None\">\n        <Children>\n          <Property SymbolicName=\"tns:StateNumber\">\n            <DefaultValue>\n              <uax:UInt32>1</uax:UInt32>\n            </DefaultValue>\n          </Property>\n        </Children>\n      </Object>\n      <Object SymbolicName=\"tns:High\" TypeDefinition=\"tns:StateType\" ModellingRule=\"None\">\n        <Children>\n          <Property SymbolicName=\"tns:StateNumber\">\n            <DefaultValue>\n              <uax:UInt32>2</uax:UInt32>\n            </DefaultValue>\n          </Property>\n        </Children>\n      </Object>\n      <Object SymbolicName=\"tns:Low\" TypeDefinition=\"tns:StateType\" ModellingRule=\"None\">\n        <Children>\n          <Property SymbolicName=\"tns:StateNumber\">\n            <DefaultValue>\n              <uax:UInt32>3</uax:UInt32>\n            </DefaultValue>\n          </Property>\n        </Children>\n      </Object>\n      <Object SymbolicName=\"tns:LowLow\" TypeDefinition=\"tns:StateType\" ModellingRule=\"None\">\n        <Children>\n          <Property SymbolicName=\"tns:StateNumber\">\n            <DefaultValue>\n              <uax:UInt32>4</uax:UInt32>\n            </DefaultValue>\n          </Property>\n        </Children>\n      </Object>\n      <Object SymbolicName=\"tns:LowLowToLow\" TypeDefinition=\"tns:TransitionType\" ModellingRule=\"None\">\n        <Children>\n          <Property SymbolicName=\"tns:TransitionNumber\">\n            <DefaultValue>\n              <uax:UInt32>43</uax:UInt32>\n            </DefaultValue>\n          </Property>\n        </Children>\n        <References>\n          <Reference>\n            <ReferenceType>tns:FromState</ReferenceType>\n            <TargetId>tns:ExclusiveLimitStateMachineType_LowLow</TargetId>\n          </Reference>\n          <Reference>\n            <ReferenceType>tns:ToState</ReferenceType>\n            <TargetId>tns:ExclusiveLimitStateMachineType_Low</TargetId>\n          </Reference>\n        </References>\n      </Object>\n      <Object SymbolicName=\"tns:LowToLowLow\" TypeDefinition=\"tns:TransitionType\" ModellingRule=\"None\">\n        <Children>\n          <Property SymbolicName=\"tns:TransitionNumber\">\n            <DefaultValue>\n              <uax:UInt32>34</uax:UInt32>\n            </DefaultValue>\n          </Property>\n        </Children>\n        <References>\n          <Reference>\n            <ReferenceType>tns:FromState</ReferenceType>\n            <TargetId>tns:ExclusiveLimitStateMachineType_Low</TargetId>\n          </Reference>\n          <Reference>\n            <ReferenceType>tns:ToState</ReferenceType>\n            <TargetId>tns:ExclusiveLimitStateMachineType_LowLow</TargetId>\n          </Reference>\n        </References>\n      </Object>\n      <Object SymbolicName=\"tns:HighHighToHigh\" TypeDefinition=\"tns:TransitionType\" ModellingRule=\"None\">\n        <Children>\n          <Property SymbolicName=\"tns:TransitionNumber\">\n            <DefaultValue>\n              <uax:UInt32>12</uax:UInt32>\n            </DefaultValue>\n          </Property>\n        </Children>\n        <References>\n          <Reference>\n            <ReferenceType>tns:FromState</ReferenceType>\n            <TargetId>tns:ExclusiveLimitStateMachineType_HighHigh</TargetId>\n          </Reference>\n          <Reference>\n            <ReferenceType>tns:ToState</ReferenceType>\n            <TargetId>tns:ExclusiveLimitStateMachineType_High</TargetId>\n          </Reference>\n        </References>\n      </Object>\n      <Object SymbolicName=\"tns:HighToHighHigh\" TypeDefinition=\"tns:TransitionType\" ModellingRule=\"None\">\n        <Children>\n          <Property SymbolicName=\"tns:TransitionNumber\">\n            <DefaultValue>\n              <uax:UInt32>21</uax:UInt32>\n            </DefaultValue>\n          </Property>\n        </Children>\n        <References>\n          <Reference>\n            <ReferenceType>tns:FromState</ReferenceType>\n            <TargetId>tns:ExclusiveLimitStateMachineType_High</TargetId>\n          </Reference>\n          <Reference>\n            <ReferenceType>tns:ToState</ReferenceType>\n            <TargetId>tns:ExclusiveLimitStateMachineType_HighHigh</TargetId>\n          </Reference>\n        </References>\n      </Object>\n    </Children>\n  </ObjectType>\n  <ObjectType SymbolicName=\"tns:ExclusiveLimitAlarmType\" PartNo=\"9\" BaseType=\"tns:LimitAlarmType\">\n    <Children>\n      <Variable SymbolicName=\"tns:ActiveState\" TypeDefinition=\"tns:TwoStateVariableType\" ModellingRule=\"Mandatory\">\n        <References>\n          <Reference>\n            <ReferenceType>tns:HasTrueSubState</ReferenceType>\n            <TargetId>tns:ExclusiveLimitAlarmType_LimitState</TargetId>\n          </Reference>\n        </References>\n      </Variable>\n      <Object SymbolicName=\"tns:LimitState\" TypeDefinition=\"tns:ExclusiveLimitStateMachineType\" ModellingRule=\"Mandatory\">\n        <Children>\n          <Variable SymbolicName=\"tns:LastTransition\" TypeDefinition=\"tns:FiniteTransitionVariableType\" ModellingRule=\"Optional\">\n            <Children>\n              <Property SymbolicName=\"tns:TransitionTime\" ModellingRule=\"Optional\" DataType=\"tns:UtcTime\" />\n            </Children>\n          </Variable>\n        </Children>\n      </Object>\n    </Children>\n  </ObjectType>\n  <ObjectType SymbolicName=\"tns:NonExclusiveLimitAlarmType\" PartNo=\"9\" BaseType=\"tns:LimitAlarmType\">\n    <Children>\n      <Variable SymbolicName=\"tns:ActiveState\" TypeDefinition=\"tns:TwoStateVariableType\" ModellingRule=\"Mandatory\">\n        <References>\n          <Reference>\n            <ReferenceType>tns:HasTrueSubState</ReferenceType>\n            <TargetId>tns:NonExclusiveLimitAlarmType_HighHighState</TargetId>\n          </Reference>\n          <Reference>\n            <ReferenceType>tns:HasTrueSubState</ReferenceType>\n            <TargetId>tns:NonExclusiveLimitAlarmType_HighState</TargetId>\n          </Reference>\n          <Reference>\n            <ReferenceType>tns:HasTrueSubState</ReferenceType>\n            <TargetId>tns:NonExclusiveLimitAlarmType_LowState</TargetId>\n          </Reference>\n          <Reference>\n            <ReferenceType>tns:HasTrueSubState</ReferenceType>\n            <TargetId>tns:NonExclusiveLimitAlarmType_LowLowState</TargetId>\n          </Reference>\n        </References>\n      </Variable>\n      <Variable SymbolicName=\"tns:HighHighState\" TypeDefinition=\"tns:TwoStateVariableType\" ModellingRule=\"Optional\">\n        <Children>\n          <Property SymbolicName=\"tns:TransitionTime\" ModellingRule=\"Optional\" DataType=\"tns:UtcTime\" />\n          <Property SymbolicName=\"tns:TrueState\" ModellingRule=\"Optional\" DataType=\"tns:LocalizedText\">\n            <DefaultValue>\n              <uax:LocalizedText>\n                <uax:Locale>en</uax:Locale>\n                <uax:Text>HighHigh active</uax:Text>\n              </uax:LocalizedText>\n            </DefaultValue>\n          </Property>\n          <Property SymbolicName=\"tns:FalseState\" ModellingRule=\"Optional\" DataType=\"tns:LocalizedText\">\n            <DefaultValue>\n              <uax:LocalizedText>\n                <uax:Locale>en</uax:Locale>\n                <uax:Text>HighHigh inactive</uax:Text>\n              </uax:LocalizedText>\n            </DefaultValue>\n          </Property>\n        </Children>\n      </Variable>\n      <Variable SymbolicName=\"tns:HighState\" TypeDefinition=\"tns:TwoStateVariableType\" ModellingRule=\"Optional\">\n        <Children>\n          <Property SymbolicName=\"tns:TransitionTime\" ModellingRule=\"Optional\" DataType=\"tns:UtcTime\" />\n          <Property SymbolicName=\"tns:TrueState\" ModellingRule=\"Optional\" DataType=\"tns:LocalizedText\">\n            <DefaultValue>\n              <uax:LocalizedText>\n                <uax:Locale>en</uax:Locale>\n                <uax:Text>High active</uax:Text>\n              </uax:LocalizedText>\n            </DefaultValue>\n          </Property>\n          <Property SymbolicName=\"tns:FalseState\" ModellingRule=\"Optional\" DataType=\"tns:LocalizedText\">\n            <DefaultValue>\n              <uax:LocalizedText>\n                <uax:Locale>en</uax:Locale>\n                <uax:Text>High inactive</uax:Text>\n              </uax:LocalizedText>\n            </DefaultValue>\n          </Property>\n        </Children>\n      </Variable>\n      <Variable SymbolicName=\"tns:LowState\" TypeDefinition=\"tns:TwoStateVariableType\" ModellingRule=\"Optional\">\n        <Children>\n          <Property SymbolicName=\"tns:TransitionTime\" ModellingRule=\"Optional\" DataType=\"tns:UtcTime\" />\n          <Property SymbolicName=\"tns:TrueState\" ModellingRule=\"Optional\" DataType=\"tns:LocalizedText\">\n            <DefaultValue>\n              <uax:LocalizedText>\n                <uax:Locale>en</uax:Locale>\n                <uax:Text>Low active</uax:Text>\n              </uax:LocalizedText>\n            </DefaultValue>\n          </Property>\n          <Property SymbolicName=\"tns:FalseState\" ModellingRule=\"Optional\" DataType=\"tns:LocalizedText\">\n            <DefaultValue>\n              <uax:LocalizedText>\n                <uax:Locale>en</uax:Locale>\n                <uax:Text>Low inactive</uax:Text>\n              </uax:LocalizedText>\n            </DefaultValue>\n          </Property>\n        </Children>\n      </Variable>\n      <Variable SymbolicName=\"tns:LowLowState\" TypeDefinition=\"tns:TwoStateVariableType\" ModellingRule=\"Optional\">\n        <Children>\n          <Property SymbolicName=\"tns:TransitionTime\" ModellingRule=\"Optional\" DataType=\"tns:UtcTime\" />\n          <Property SymbolicName=\"tns:TrueState\" ModellingRule=\"Optional\" DataType=\"tns:LocalizedText\">\n            <DefaultValue>\n              <uax:LocalizedText>\n                <uax:Locale>en</uax:Locale>\n                <uax:Text>LowLow active</uax:Text>\n              </uax:LocalizedText>\n            </DefaultValue>\n          </Property>\n          <Property SymbolicName=\"tns:FalseState\" ModellingRule=\"Optional\" DataType=\"tns:LocalizedText\">\n            <DefaultValue>\n              <uax:LocalizedText>\n                <uax:Locale>en</uax:Locale>\n                <uax:Text>LowLow inactive</uax:Text>\n              </uax:LocalizedText>\n            </DefaultValue>\n          </Property>\n        </Children>\n      </Variable>\n    </Children>\n  </ObjectType>\n  <ObjectType SymbolicName=\"tns:NonExclusiveLevelAlarmType\" PartNo=\"9\" BaseType=\"tns:NonExclusiveLimitAlarmType\" />\n  <ObjectType SymbolicName=\"tns:ExclusiveLevelAlarmType\" PartNo=\"9\" BaseType=\"tns:ExclusiveLimitAlarmType\" />\n  <ObjectType SymbolicName=\"tns:NonExclusiveDeviationAlarmType\" PartNo=\"9\" BaseType=\"tns:NonExclusiveLimitAlarmType\">\n    <Children>\n      <Property SymbolicName=\"tns:SetpointNode\" ModellingRule=\"Mandatory\" DataType=\"tns:NodeId\" />\n      <Property SymbolicName=\"tns:BaseSetpointNode\" ModellingRule=\"Optional\" DataType=\"tns:NodeId\" />\n    </Children>\n  </ObjectType>\n  <ObjectType SymbolicName=\"tns:NonExclusiveRateOfChangeAlarmType\" PartNo=\"9\" BaseType=\"tns:NonExclusiveLimitAlarmType\">\n    <Children>\n      <Property SymbolicName=\"tns:EngineeringUnits\" ModellingRule=\"Optional\" DataType=\"tns:EUInformation\" />\n    </Children>\n  </ObjectType>\n  <ObjectType SymbolicName=\"tns:ExclusiveDeviationAlarmType\" PartNo=\"9\" BaseType=\"tns:ExclusiveLimitAlarmType\">\n    <Children>\n      <Property SymbolicName=\"tns:SetpointNode\" ModellingRule=\"Mandatory\" DataType=\"tns:NodeId\" />\n      <Property SymbolicName=\"tns:BaseSetpointNode\" ModellingRule=\"Optional\" DataType=\"tns:NodeId\" />\n    </Children>\n  </ObjectType>\n  <ObjectType SymbolicName=\"tns:ExclusiveRateOfChangeAlarmType\" PartNo=\"9\" BaseType=\"tns:ExclusiveLimitAlarmType\">\n    <Children>\n      <Property SymbolicName=\"tns:EngineeringUnits\" ModellingRule=\"Optional\" DataType=\"tns:EUInformation\" />\n    </Children>\n  </ObjectType>\n  <ObjectType SymbolicName=\"tns:DiscreteAlarmType\" PartNo=\"9\" BaseType=\"tns:AlarmConditionType\" />\n  <ObjectType SymbolicName=\"tns:OffNormalAlarmType\" PartNo=\"9\" BaseType=\"tns:DiscreteAlarmType\">\n    <Children>\n      <Property SymbolicName=\"tns:NormalState\" ModellingRule=\"Mandatory\" DataType=\"tns:NodeId\" />\n    </Children>\n  </ObjectType>\n  <ObjectType SymbolicName=\"tns:SystemOffNormalAlarmType\" PartNo=\"9\" BaseType=\"tns:OffNormalAlarmType\" />\n  <ObjectType SymbolicName=\"tns:TripAlarmType\" PartNo=\"9\" BaseType=\"tns:OffNormalAlarmType\" />\n  <ObjectType SymbolicName=\"tns:InstrumentDiagnosticAlarmType\" PartNo=\"9\" BaseType=\"tns:OffNormalAlarmType\" />\n  <ObjectType SymbolicName=\"tns:SystemDiagnosticAlarmType\" PartNo=\"9\" BaseType=\"tns:OffNormalAlarmType\" />\n  <ObjectType SymbolicName=\"tns:CertificateExpirationAlarmType\" PartNo=\"9\" BaseType=\"tns:SystemOffNormalAlarmType\">\n    <Children>\n      <Property SymbolicName=\"tns:ExpirationDate\" ModellingRule=\"Mandatory\" DataType=\"tns:DateTime\" />\n      <Property SymbolicName=\"tns:ExpirationLimit\" ModellingRule=\"Optional\" DataType=\"tns:Duration\" />\n      <Property SymbolicName=\"tns:CertificateType\" ModellingRule=\"Mandatory\" DataType=\"tns:NodeId\" />\n      <Property SymbolicName=\"tns:Certificate\" ModellingRule=\"Mandatory\" DataType=\"tns:ByteString\" />\n    </Children>\n  </ObjectType>\n  <ObjectType SymbolicName=\"tns:DiscrepancyAlarmType\" PartNo=\"9\" BaseType=\"tns:AlarmConditionType\">\n    <Children>\n      <Property SymbolicName=\"tns:TargetValueNode\" ModellingRule=\"Mandatory\" DataType=\"tns:NodeId\" />\n      <Property SymbolicName=\"tns:ExpectedTime\" ModellingRule=\"Mandatory\" DataType=\"tns:Duration\" />\n      <Property SymbolicName=\"tns:Tolerance\" ModellingRule=\"Optional\" DataType=\"tns:Double\" />\n    </Children>\n  </ObjectType>\n  <ObjectType SymbolicName=\"tns:BaseConditionClassType\" PartNo=\"9\" BaseType=\"tns:BaseObjectType\" IsAbstract=\"true\" />\n  <ObjectType SymbolicName=\"tns:ProcessConditionClassType\" PartNo=\"9\" BaseType=\"tns:BaseConditionClassType\" IsAbstract=\"true\" />\n  <ObjectType SymbolicName=\"tns:MaintenanceConditionClassType\" PartNo=\"9\" BaseType=\"tns:BaseConditionClassType\" IsAbstract=\"true\" />\n  <ObjectType SymbolicName=\"tns:SystemConditionClassType\" PartNo=\"9\" BaseType=\"tns:BaseConditionClassType\" IsAbstract=\"true\" />\n  <ObjectType SymbolicName=\"tns:SafetyConditionClassType\" PartNo=\"9\" BaseType=\"tns:BaseConditionClassType\" IsAbstract=\"true\" />\n  <ObjectType SymbolicName=\"tns:HighlyManagedAlarmConditionClassType\" PartNo=\"9\" BaseType=\"tns:BaseConditionClassType\" IsAbstract=\"true\" />\n  <ObjectType SymbolicName=\"tns:TrainingConditionClassType\" PartNo=\"9\" BaseType=\"tns:BaseConditionClassType\" IsAbstract=\"true\" />\n  <ObjectType SymbolicName=\"tns:StatisticalConditionClassType\" PartNo=\"9\" BaseType=\"tns:BaseConditionClassType\" IsAbstract=\"true\" />\n  <ObjectType SymbolicName=\"tns:TestingConditionClassType\" PartNo=\"9\" BaseType=\"tns:BaseConditionClassType\" IsAbstract=\"true\" />\n  <ObjectType SymbolicName=\"tns:AuditConditionEventType\" PartNo=\"9\" BaseType=\"tns:AuditUpdateMethodEventType\" />\n  <ObjectType SymbolicName=\"tns:AuditConditionEnableEventType\" PartNo=\"9\" BaseType=\"tns:AuditConditionEventType\" />\n  <ObjectType SymbolicName=\"tns:AuditConditionCommentEventType\" PartNo=\"9\" BaseType=\"tns:AuditConditionEventType\">\n    <Children>\n      <Property SymbolicName=\"tns:ConditionEventId\" ModellingRule=\"Mandatory\" DataType=\"tns:ByteString\" />\n      <Property SymbolicName=\"tns:Comment\" ModellingRule=\"Mandatory\" DataType=\"tns:LocalizedText\" />\n    </Children>\n  </ObjectType>\n  <ObjectType SymbolicName=\"tns:AuditConditionRespondEventType\" PartNo=\"9\" BaseType=\"tns:AuditConditionEventType\">\n    <Children>\n      <Property SymbolicName=\"tns:SelectedResponse\" ModellingRule=\"Mandatory\" DataType=\"tns:UInt32\" />\n    </Children>\n  </ObjectType>\n  <ObjectType SymbolicName=\"tns:AuditConditionAcknowledgeEventType\" PartNo=\"9\" BaseType=\"tns:AuditConditionEventType\">\n    <Children>\n      <Property SymbolicName=\"tns:ConditionEventId\" ModellingRule=\"Mandatory\" DataType=\"tns:ByteString\" />\n      <Property SymbolicName=\"tns:Comment\" ModellingRule=\"Mandatory\" DataType=\"tns:LocalizedText\" />\n    </Children>\n  </ObjectType>\n  <ObjectType SymbolicName=\"tns:AuditConditionConfirmEventType\" PartNo=\"9\" BaseType=\"tns:AuditConditionEventType\">\n    <Children>\n      <Property SymbolicName=\"tns:ConditionEventId\" ModellingRule=\"Mandatory\" DataType=\"tns:ByteString\" />\n      <Property SymbolicName=\"tns:Comment\" ModellingRule=\"Mandatory\" DataType=\"tns:LocalizedText\" />\n    </Children>\n  </ObjectType>\n  <ObjectType SymbolicName=\"tns:AuditConditionShelvingEventType\" PartNo=\"9\" BaseType=\"tns:AuditConditionEventType\">\n    <Children>\n      <Property SymbolicName=\"tns:ShelvingTime\" ModellingRule=\"Optional\" DataType=\"tns:Duration\" />\n    </Children>\n  </ObjectType>\n  <ObjectType SymbolicName=\"tns:AuditConditionSuppressionEventType\" PartNo=\"9\" BaseType=\"tns:AuditConditionEventType\" />\n  <ObjectType SymbolicName=\"tns:AuditConditionSilenceEventType\" PartNo=\"9\" BaseType=\"tns:AuditConditionEventType\" />\n  <ObjectType SymbolicName=\"tns:AuditConditionResetEventType\" PartNo=\"9\" BaseType=\"tns:AuditConditionEventType\" />\n  <ObjectType SymbolicName=\"tns:AuditConditionOutOfServiceEventType\" PartNo=\"9\" BaseType=\"tns:AuditConditionEventType\" />\n  <ObjectType SymbolicName=\"tns:RefreshStartEventType\" PartNo=\"9\" BaseType=\"tns:SystemEventType\" IsAbstract=\"true\" />\n  <ObjectType SymbolicName=\"tns:RefreshEndEventType\" PartNo=\"9\" BaseType=\"tns:SystemEventType\" IsAbstract=\"true\" />\n  <ObjectType SymbolicName=\"tns:RefreshRequiredEventType\" PartNo=\"9\" BaseType=\"tns:SystemEventType\" IsAbstract=\"true\" />\n  <ReferenceType SymbolicName=\"tns:HasCondition\" PartNo=\"9\" BaseType=\"tns:NonHierarchicalReferences\">\n    <InverseName>IsConditionOf</InverseName>\n  </ReferenceType>\n  <ReferenceType SymbolicName=\"tns:HasEffectDisable\" PartNo=\"9\" BaseType=\"tns:HasEffect\">\n    <InverseName>MayBeDisabledBy</InverseName>\n  </ReferenceType>\n  <ReferenceType SymbolicName=\"tns:HasEffectEnable\" PartNo=\"9\" BaseType=\"tns:HasEffect\">\n    <InverseName>MayBeEnabledBy</InverseName>\n  </ReferenceType>\n  <ReferenceType SymbolicName=\"tns:HasEffectSuppressed\" PartNo=\"9\" BaseType=\"tns:HasEffect\">\n    <InverseName>MayBeSuppressedBy</InverseName>\n  </ReferenceType>\n  <ReferenceType SymbolicName=\"tns:HasEffectUnsuppressed\" PartNo=\"9\" BaseType=\"tns:HasEffect\">\n    <InverseName>MayBeUnsuppressedBy</InverseName>\n  </ReferenceType>\n  <ObjectType SymbolicName=\"tns:AlarmMetricsType\" PartNo=\"9\" BaseType=\"tns:BaseObjectType\">\n    <Children>\n      <Variable SymbolicName=\"tns:AlarmCount\" DataType=\"tns:UInt32\" />\n      <Variable SymbolicName=\"tns:StartTime\" DataType=\"tns:UtcTime\" />\n      <Variable SymbolicName=\"tns:MaximumActiveState\" DataType=\"tns:Duration\" />\n      <Variable SymbolicName=\"tns:MaximumUnAck\" DataType=\"tns:Duration\" />\n      <Variable SymbolicName=\"tns:CurrentAlarmRate\" TypeDefinition=\"tns:AlarmRateVariableType\" DataType=\"tns:Double\" />\n      <Variable SymbolicName=\"tns:MaximumAlarmRate\" TypeDefinition=\"tns:AlarmRateVariableType\" DataType=\"tns:Double\" />\n      <Variable SymbolicName=\"tns:MaximumReAlarmCount\" DataType=\"tns:UInt32\" />\n      <Variable SymbolicName=\"tns:AverageAlarmRate\" TypeDefinition=\"tns:AlarmRateVariableType\" DataType=\"tns:Double\" />\n      <Method SymbolicName=\"tns:Reset\" ModellingRule=\"Mandatory\">\n        <References>\n          <Reference IsOneWay=\"true\">\n            <ReferenceType>tns:AlwaysGeneratesEvent</ReferenceType>\n            <TargetId>tns:AuditUpdateMethodEventType</TargetId>\n          </Reference>\n        </References>\n      </Method>\n    </Children>\n  </ObjectType>\n  <VariableType SymbolicName=\"tns:AlarmRateVariableType\" PartNo=\"9\" DataType=\"tns:Double\" ValueRank=\"Scalar\">\n    <Children>\n      <Property SymbolicName=\"tns:Rate\" DataType=\"tns:UInt16\" />\n    </Children>\n  </VariableType>\n  <ObjectType SymbolicName=\"tns:ProgramStateMachineType\" PartNo=\"10\" BaseType=\"tns:FiniteStateMachineType\">\n    <Description>A state machine for a program.</Description>\n    <Children>\n      <Variable SymbolicName=\"tns:CurrentState\" ModellingRule=\"Mandatory\">\n        <Children>\n          <Property SymbolicName=\"tns:Number\" ModellingRule=\"Mandatory\" />\n        </Children>\n      </Variable>\n      <Variable SymbolicName=\"tns:LastTransition\" ModellingRule=\"Mandatory\">\n        <Children>\n          <Property SymbolicName=\"tns:Number\" ModellingRule=\"Mandatory\" />\n          <Property SymbolicName=\"tns:TransitionTime\" ModellingRule=\"Mandatory\" />\n        </Children>\n      </Variable>\n      <Property SymbolicName=\"tns:Creatable\" ModellingRule=\"None\" DataType=\"tns:Boolean\" />\n      <Property SymbolicName=\"tns:Deletable\" ModellingRule=\"Mandatory\" DataType=\"tns:Boolean\" />\n      <Property SymbolicName=\"tns:AutoDelete\" ModellingRule=\"Mandatory\" DataType=\"tns:Boolean\" />\n      <Property SymbolicName=\"tns:RecycleCount\" ModellingRule=\"Mandatory\" DataType=\"tns:Int32\" />\n      <Property SymbolicName=\"tns:InstanceCount\" ModellingRule=\"None\" DataType=\"tns:UInt32\" />\n      <Property SymbolicName=\"tns:MaxInstanceCount\" ModellingRule=\"None\" DataType=\"tns:UInt32\" />\n      <Property SymbolicName=\"tns:MaxRecycleCount\" ModellingRule=\"None\" DataType=\"tns:UInt32\" />\n      <Variable SymbolicName=\"tns:ProgramDiagnostic\" TypeDefinition=\"tns:ProgramDiagnostic2Type\" ModellingRule=\"Optional\" />\n      <Object SymbolicName=\"tns:FinalResultData\" TypeDefinition=\"tns:BaseObjectType\" ModellingRule=\"Optional\" />\n      <Object SymbolicName=\"tns:Halted\" TypeDefinition=\"tns:StateType\" ModellingRule=\"None\">\n        <Description>The Program is in a terminal or failed state, and it cannot be started or resumed without being reset.</Description>\n        <Children>\n          <Property SymbolicName=\"tns:StateNumber\">\n            <DefaultValue>\n              <uax:UInt32>11</uax:UInt32>\n            </DefaultValue>\n          </Property>\n        </Children>\n      </Object>\n      <Object SymbolicName=\"tns:Ready\" TypeDefinition=\"tns:StateType\" ModellingRule=\"None\">\n        <Description>The Program is properly initialized and may be started.</Description>\n        <Children>\n          <Property SymbolicName=\"tns:StateNumber\">\n            <DefaultValue>\n              <uax:UInt32>12</uax:UInt32>\n            </DefaultValue>\n          </Property>\n        </Children>\n      </Object>\n      <Object SymbolicName=\"tns:Running\" TypeDefinition=\"tns:StateType\" ModellingRule=\"None\">\n        <Description>The Program is executing making progress towards completion.</Description>\n        <Children>\n          <Property SymbolicName=\"tns:StateNumber\">\n            <DefaultValue>\n              <uax:UInt32>13</uax:UInt32>\n            </DefaultValue>\n          </Property>\n        </Children>\n      </Object>\n      <Object SymbolicName=\"tns:Suspended\" TypeDefinition=\"tns:StateType\" ModellingRule=\"None\">\n        <Description>The Program has been stopped prior to reaching a terminal state but may be resumed.</Description>\n        <Children>\n          <Property SymbolicName=\"tns:StateNumber\">\n            <DefaultValue>\n              <uax:UInt32>14</uax:UInt32>\n            </DefaultValue>\n          </Property>\n        </Children>\n      </Object>\n      <Object SymbolicName=\"tns:HaltedToReady\" TypeDefinition=\"tns:TransitionType\" ModellingRule=\"None\">\n        <Children>\n          <Property SymbolicName=\"tns:TransitionNumber\">\n            <DefaultValue>\n              <uax:UInt32>1</uax:UInt32>\n            </DefaultValue>\n          </Property>\n        </Children>\n        <References>\n          <Reference>\n            <ReferenceType>tns:FromState</ReferenceType>\n            <TargetId>tns:ProgramStateMachineType_Halted</TargetId>\n          </Reference>\n          <Reference>\n            <ReferenceType>tns:ToState</ReferenceType>\n            <TargetId>tns:ProgramStateMachineType_Ready</TargetId>\n          </Reference>\n          <Reference>\n            <ReferenceType>tns:HasCause</ReferenceType>\n            <TargetId>tns:ProgramStateMachineType_Reset</TargetId>\n          </Reference>\n          <Reference>\n            <ReferenceType>tns:HasEffect</ReferenceType>\n            <TargetId>tns:ProgramTransitionEventType</TargetId>\n          </Reference>\n        </References>\n      </Object>\n      <Object SymbolicName=\"tns:ReadyToRunning\" TypeDefinition=\"tns:TransitionType\" ModellingRule=\"None\">\n        <Children>\n          <Property SymbolicName=\"tns:TransitionNumber\">\n            <DefaultValue>\n              <uax:UInt32>2</uax:UInt32>\n            </DefaultValue>\n          </Property>\n        </Children>\n        <References>\n          <Reference>\n            <ReferenceType>tns:FromState</ReferenceType>\n            <TargetId>tns:ProgramStateMachineType_Ready</TargetId>\n          </Reference>\n          <Reference>\n            <ReferenceType>tns:ToState</ReferenceType>\n            <TargetId>tns:ProgramStateMachineType_Running</TargetId>\n          </Reference>\n          <Reference>\n            <ReferenceType>tns:HasCause</ReferenceType>\n            <TargetId>tns:ProgramStateMachineType_Start</TargetId>\n          </Reference>\n          <Reference>\n            <ReferenceType>tns:HasEffect</ReferenceType>\n            <TargetId>tns:ProgramTransitionEventType</TargetId>\n          </Reference>\n        </References>\n      </Object>\n      <Object SymbolicName=\"tns:RunningToHalted\" TypeDefinition=\"tns:TransitionType\" ModellingRule=\"None\">\n        <Children>\n          <Property SymbolicName=\"tns:TransitionNumber\">\n            <DefaultValue>\n              <uax:UInt32>3</uax:UInt32>\n            </DefaultValue>\n          </Property>\n        </Children>\n        <References>\n          <Reference>\n            <ReferenceType>tns:FromState</ReferenceType>\n            <TargetId>tns:ProgramStateMachineType_Running</TargetId>\n          </Reference>\n          <Reference>\n            <ReferenceType>tns:ToState</ReferenceType>\n            <TargetId>tns:ProgramStateMachineType_Halted</TargetId>\n          </Reference>\n          <Reference>\n            <ReferenceType>tns:HasCause</ReferenceType>\n            <TargetId>tns:ProgramStateMachineType_Halt</TargetId>\n          </Reference>\n          <Reference>\n            <ReferenceType>tns:HasEffect</ReferenceType>\n            <TargetId>tns:ProgramTransitionEventType</TargetId>\n          </Reference>\n        </References>\n      </Object>\n      <Object SymbolicName=\"tns:RunningToReady\" TypeDefinition=\"tns:TransitionType\" ModellingRule=\"None\">\n        <Children>\n          <Property SymbolicName=\"tns:TransitionNumber\">\n            <DefaultValue>\n              <uax:UInt32>4</uax:UInt32>\n            </DefaultValue>\n          </Property>\n        </Children>\n        <References>\n          <Reference>\n            <ReferenceType>tns:FromState</ReferenceType>\n            <TargetId>tns:ProgramStateMachineType_Running</TargetId>\n          </Reference>\n          <Reference>\n            <ReferenceType>tns:ToState</ReferenceType>\n            <TargetId>tns:ProgramStateMachineType_Ready</TargetId>\n          </Reference>\n          <Reference>\n            <ReferenceType>tns:HasEffect</ReferenceType>\n            <TargetId>tns:ProgramTransitionEventType</TargetId>\n          </Reference>\n        </References>\n      </Object>\n      <Object SymbolicName=\"tns:RunningToSuspended\" TypeDefinition=\"tns:TransitionType\" ModellingRule=\"None\">\n        <Children>\n          <Property SymbolicName=\"tns:TransitionNumber\">\n            <DefaultValue>\n              <uax:UInt32>5</uax:UInt32>\n            </DefaultValue>\n          </Property>\n        </Children>\n        <References>\n          <Reference>\n            <ReferenceType>tns:FromState</ReferenceType>\n            <TargetId>tns:ProgramStateMachineType_Running</TargetId>\n          </Reference>\n          <Reference>\n            <ReferenceType>tns:ToState</ReferenceType>\n            <TargetId>tns:ProgramStateMachineType_Suspended</TargetId>\n          </Reference>\n          <Reference>\n            <ReferenceType>tns:HasCause</ReferenceType>\n            <TargetId>tns:ProgramStateMachineType_Suspend</TargetId>\n          </Reference>\n          <Reference>\n            <ReferenceType>tns:HasEffect</ReferenceType>\n            <TargetId>tns:ProgramTransitionEventType</TargetId>\n          </Reference>\n        </References>\n      </Object>\n      <Object SymbolicName=\"tns:SuspendedToRunning\" TypeDefinition=\"tns:TransitionType\" ModellingRule=\"None\">\n        <Children>\n          <Property SymbolicName=\"tns:TransitionNumber\">\n            <DefaultValue>\n              <uax:UInt32>6</uax:UInt32>\n            </DefaultValue>\n          </Property>\n        </Children>\n        <References>\n          <Reference>\n            <ReferenceType>tns:FromState</ReferenceType>\n            <TargetId>tns:ProgramStateMachineType_Suspended</TargetId>\n          </Reference>\n          <Reference>\n            <ReferenceType>tns:ToState</ReferenceType>\n            <TargetId>tns:ProgramStateMachineType_Running</TargetId>\n          </Reference>\n          <Reference>\n            <ReferenceType>tns:HasCause</ReferenceType>\n            <TargetId>tns:ProgramStateMachineType_Resume</TargetId>\n          </Reference>\n          <Reference>\n            <ReferenceType>tns:HasEffect</ReferenceType>\n            <TargetId>tns:ProgramTransitionEventType</TargetId>\n          </Reference>\n        </References>\n      </Object>\n      <Object SymbolicName=\"tns:SuspendedToHalted\" TypeDefinition=\"tns:TransitionType\" ModellingRule=\"None\">\n        <Children>\n          <Property SymbolicName=\"tns:TransitionNumber\">\n            <DefaultValue>\n              <uax:UInt32>7</uax:UInt32>\n            </DefaultValue>\n          </Property>\n        </Children>\n        <References>\n          <Reference>\n            <ReferenceType>tns:FromState</ReferenceType>\n            <TargetId>tns:ProgramStateMachineType_Suspended</TargetId>\n          </Reference>\n          <Reference>\n            <ReferenceType>tns:ToState</ReferenceType>\n            <TargetId>tns:ProgramStateMachineType_Halted</TargetId>\n          </Reference>\n          <Reference>\n            <ReferenceType>tns:HasCause</ReferenceType>\n            <TargetId>tns:ProgramStateMachineType_Halt</TargetId>\n          </Reference>\n          <Reference>\n            <ReferenceType>tns:HasEffect</ReferenceType>\n            <TargetId>tns:ProgramTransitionEventType</TargetId>\n          </Reference>\n        </References>\n      </Object>\n      <Object SymbolicName=\"tns:SuspendedToReady\" TypeDefinition=\"tns:TransitionType\" ModellingRule=\"None\">\n        <Children>\n          <Property SymbolicName=\"tns:TransitionNumber\">\n            <DefaultValue>\n              <uax:UInt32>8</uax:UInt32>\n            </DefaultValue>\n          </Property>\n        </Children>\n        <References>\n          <Reference>\n            <ReferenceType>tns:FromState</ReferenceType>\n            <TargetId>tns:ProgramStateMachineType_Suspended</TargetId>\n          </Reference>\n          <Reference>\n            <ReferenceType>tns:ToState</ReferenceType>\n            <TargetId>tns:ProgramStateMachineType_Ready</TargetId>\n          </Reference>\n          <Reference>\n            <ReferenceType>tns:HasEffect</ReferenceType>\n            <TargetId>tns:ProgramTransitionEventType</TargetId>\n          </Reference>\n        </References>\n      </Object>\n      <Object SymbolicName=\"tns:ReadyToHalted\" TypeDefinition=\"tns:TransitionType\" ModellingRule=\"None\">\n        <Children>\n          <Property SymbolicName=\"tns:TransitionNumber\">\n            <DefaultValue>\n              <uax:UInt32>9</uax:UInt32>\n            </DefaultValue>\n          </Property>\n        </Children>\n        <References>\n          <Reference>\n            <ReferenceType>tns:FromState</ReferenceType>\n            <TargetId>tns:ProgramStateMachineType_Ready</TargetId>\n          </Reference>\n          <Reference>\n            <ReferenceType>tns:ToState</ReferenceType>\n            <TargetId>tns:ProgramStateMachineType_Halted</TargetId>\n          </Reference>\n          <Reference>\n            <ReferenceType>tns:HasCause</ReferenceType>\n            <TargetId>tns:ProgramStateMachineType_Halt</TargetId>\n          </Reference>\n          <Reference>\n            <ReferenceType>tns:HasEffect</ReferenceType>\n            <TargetId>tns:ProgramTransitionEventType</TargetId>\n          </Reference>\n        </References>\n      </Object>\n      <Method SymbolicName=\"tns:Start\" ModellingRule=\"OptionalPlaceholder\">\n        <Description>Causes the Program to transition from the Ready state to the Running state.</Description>\n      </Method>\n      <Method SymbolicName=\"tns:Suspend\" ModellingRule=\"OptionalPlaceholder\">\n        <Description>Causes the Program to transition from the Running state to the Suspended state.</Description>\n      </Method>\n      <Method SymbolicName=\"tns:Resume\" ModellingRule=\"OptionalPlaceholder\">\n        <Description>Causes the Program to transition from the Suspended state to the Running state.</Description>\n      </Method>\n      <Method SymbolicName=\"tns:Halt\" ModellingRule=\"OptionalPlaceholder\">\n        <Description>Causes the Program to transition from the Ready, Running or Suspended state to the Halted state.</Description>\n      </Method>\n      <Method SymbolicName=\"tns:Reset\" ModellingRule=\"OptionalPlaceholder\">\n        <Description>Causes the Program to transition from the Halted state to the Ready state.</Description>\n      </Method>\n    </Children>\n  </ObjectType>\n  <ObjectType SymbolicName=\"tns:ProgramTransitionEventType\" PartNo=\"10\" BaseType=\"tns:TransitionEventType\" IsAbstract=\"true\">\n    <Children>\n      <Variable SymbolicName=\"tns:IntermediateResult\" DataType=\"tns:BaseDataType\" />\n    </Children>\n  </ObjectType>\n  <ObjectType SymbolicName=\"tns:AuditProgramTransitionEventType\" PartNo=\"10\" BaseType=\"tns:AuditUpdateStateEventType\" IsAbstract=\"true\">\n    <Children>\n      <Property SymbolicName=\"tns:TransitionNumber\" DataType=\"tns:UInt32\" />\n    </Children>\n  </ObjectType>\n  <ObjectType SymbolicName=\"tns:ProgramTransitionAuditEventType\" PartNo=\"10\" BaseType=\"tns:AuditUpdateStateEventType\">\n    <Children>\n      <Variable SymbolicName=\"tns:Transition\" TypeDefinition=\"tns:FiniteTransitionVariableType\" />\n    </Children>\n  </ObjectType>\n  <VariableType SymbolicName=\"tns:ProgramDiagnosticType\" PartNo=\"10\" BaseType=\"tns:BaseDataVariableType\" DataType=\"tns:ProgramDiagnosticDataType\" ValueRank=\"Scalar\">\n    <Children>\n      <Property SymbolicName=\"tns:CreateSessionId\" DataType=\"tns:NodeId\" />\n      <Property SymbolicName=\"tns:CreateClientName\" DataType=\"tns:String\" />\n      <Property SymbolicName=\"tns:InvocationCreationTime\" DataType=\"tns:UtcTime\" />\n      <Property SymbolicName=\"tns:LastTransitionTime\" DataType=\"tns:UtcTime\" />\n      <Property SymbolicName=\"tns:LastMethodCall\" DataType=\"tns:String\" />\n      <Property SymbolicName=\"tns:LastMethodSessionId\" DataType=\"tns:NodeId\" />\n      <Property SymbolicName=\"tns:LastMethodInputArguments\" DataType=\"tns:BaseDataType\" ValueRank=\"Array\" />\n      <Property SymbolicName=\"tns:LastMethodOutputArguments\" DataType=\"tns:BaseDataType\" ValueRank=\"Array\" />\n      <Property SymbolicName=\"tns:LastMethodCallTime\" DataType=\"tns:UtcTime\" />\n      <Property SymbolicName=\"tns:LastMethodReturnStatus\" DataType=\"tns:StatusResult\" />\n    </Children>\n  </VariableType>\n  <VariableType SymbolicName=\"tns:ProgramDiagnostic2Type\" PartNo=\"10\" BaseType=\"tns:BaseDataVariableType\" DataType=\"tns:ProgramDiagnostic2DataType\" ValueRank=\"Scalar\">\n    <Children>\n      <Variable SymbolicName=\"tns:CreateSessionId\" DataType=\"tns:NodeId\" />\n      <Variable SymbolicName=\"tns:CreateClientName\" DataType=\"tns:String\" />\n      <Variable SymbolicName=\"tns:InvocationCreationTime\" DataType=\"tns:UtcTime\" />\n      <Property SymbolicName=\"tns:LastTransitionTime\" DataType=\"tns:UtcTime\" />\n      <Variable SymbolicName=\"tns:LastMethodCall\" DataType=\"tns:String\" />\n      <Variable SymbolicName=\"tns:LastMethodSessionId\" DataType=\"tns:NodeId\" />\n      <Variable SymbolicName=\"tns:LastMethodInputArguments\" DataType=\"tns:Argument\" ValueRank=\"Array\" />\n      <Variable SymbolicName=\"tns:LastMethodOutputArguments\" DataType=\"tns:Argument\" ValueRank=\"Array\" />\n      <Variable SymbolicName=\"tns:LastMethodInputValues\" DataType=\"tns:BaseDataType\" ValueRank=\"Array\" />\n      <Variable SymbolicName=\"tns:LastMethodOutputValues\" DataType=\"tns:BaseDataType\" ValueRank=\"Array\" />\n      <Variable SymbolicName=\"tns:LastMethodCallTime\" DataType=\"tns:UtcTime\" />\n      <Variable SymbolicName=\"tns:LastMethodReturnStatus\" DataType=\"tns:StatusCode\" />\n    </Children>\n  </VariableType>\n  <Variable SymbolicName=\"tns:Annotations\" PartNo=\"11\" TypeDefinition=\"tns:PropertyType\" ModellingRule=\"None\" DataType=\"tns:Annotation\">\n    <BrowseName>Annotations</BrowseName>\n  </Variable>\n  <ObjectType SymbolicName=\"tns:HistoricalDataConfigurationType\" PartNo=\"11\" BaseType=\"tns:BaseObjectType\">\n    <Children>\n      <Object SymbolicName=\"tns:AggregateConfiguration\" TypeDefinition=\"tns:AggregateConfigurationType\" ModellingRule=\"Mandatory\" />\n      <Object SymbolicName=\"tns:AggregateFunctions\" TypeDefinition=\"tns:FolderType\" ModellingRule=\"Optional\" />\n      <Property SymbolicName=\"tns:Stepped\" ModellingRule=\"Mandatory\" DataType=\"tns:Boolean\" />\n      <Property SymbolicName=\"tns:Definition\" ModellingRule=\"Optional\" DataType=\"tns:String\" />\n      <Property SymbolicName=\"tns:MaxTimeInterval\" ModellingRule=\"Optional\" DataType=\"tns:Duration\" />\n      <Property SymbolicName=\"tns:MinTimeInterval\" ModellingRule=\"Optional\" DataType=\"tns:Duration\" />\n      <Property SymbolicName=\"tns:ExceptionDeviation\" ModellingRule=\"Optional\" DataType=\"tns:Double\" />\n      <Property SymbolicName=\"tns:ExceptionDeviationFormat\" ModellingRule=\"Optional\" DataType=\"tns:ExceptionDeviationFormat\" />\n      <Property SymbolicName=\"tns:StartOfArchive\" ModellingRule=\"Optional\" DataType=\"tns:UtcTime\" />\n      <Property SymbolicName=\"tns:StartOfOnlineArchive\" ModellingRule=\"Optional\" DataType=\"tns:UtcTime\" />\n      <Property SymbolicName=\"tns:ServerTimestampSupported\" ModellingRule=\"Optional\" DataType=\"tns:Boolean\" />\n    </Children>\n  </ObjectType>\n  <Object SymbolicName=\"tns:HAConfiguration\" PartNo=\"11\" TypeDefinition=\"tns:HistoricalDataConfigurationType\" ModellingRule=\"None\">\n    <BrowseName>HA Configuration</BrowseName>\n  </Object>\n  <Variable SymbolicName=\"tns:HistoricalEventFilter\" PartNo=\"11\" TypeDefinition=\"tns:PropertyType\" ModellingRule=\"None\" DataType=\"tns:EventFilter\">\n    <BrowseName>HistoricalEventFilter</BrowseName>\n  </Variable>\n  <ObjectType SymbolicName=\"tns:HistoryServerCapabilitiesType\" PartNo=\"11\" BaseType=\"tns:BaseObjectType\">\n    <Children>\n      <Property SymbolicName=\"tns:AccessHistoryDataCapability\" DataType=\"tns:Boolean\" />\n      <Property SymbolicName=\"tns:AccessHistoryEventsCapability\" DataType=\"tns:Boolean\" />\n      <Property SymbolicName=\"tns:MaxReturnDataValues\" DataType=\"tns:UInt32\" />\n      <Property SymbolicName=\"tns:MaxReturnEventValues\" DataType=\"tns:UInt32\" />\n      <Property SymbolicName=\"tns:InsertDataCapability\" DataType=\"tns:Boolean\" />\n      <Property SymbolicName=\"tns:ReplaceDataCapability\" DataType=\"tns:Boolean\" />\n      <Property SymbolicName=\"tns:UpdateDataCapability\" DataType=\"tns:Boolean\" />\n      <Property SymbolicName=\"tns:DeleteRawCapability\" DataType=\"tns:Boolean\" />\n      <Property SymbolicName=\"tns:DeleteAtTimeCapability\" DataType=\"tns:Boolean\" />\n      <Property SymbolicName=\"tns:InsertEventCapability\" DataType=\"tns:Boolean\" />\n      <Property SymbolicName=\"tns:ReplaceEventCapability\" DataType=\"tns:Boolean\" />\n      <Property SymbolicName=\"tns:UpdateEventCapability\" DataType=\"tns:Boolean\" />\n      <Property SymbolicName=\"tns:DeleteEventCapability\" DataType=\"tns:Boolean\" />\n      <Property SymbolicName=\"tns:InsertAnnotationCapability\" DataType=\"tns:Boolean\" />\n      <Object SymbolicName=\"tns:AggregateFunctions\" TypeDefinition=\"tns:FolderType\" />\n      <Property SymbolicName=\"tns:ServerTimestampSupported\" DataType=\"tns:Boolean\" />\n    </Children>\n  </ObjectType>\n  <ObjectType SymbolicName=\"tns:AuditHistoryEventUpdateEventType\" PartNo=\"11\" BaseType=\"tns:AuditHistoryUpdateEventType\" IsAbstract=\"true\">\n    <Children>\n      <Property SymbolicName=\"tns:UpdatedNode\" DataType=\"tns:NodeId\" />\n      <Property SymbolicName=\"tns:PerformInsertReplace\" DataType=\"tns:PerformUpdateType\" />\n      <Property SymbolicName=\"tns:Filter\" DataType=\"tns:EventFilter\" />\n      <Property SymbolicName=\"tns:NewValues\" DataType=\"tns:HistoryEventFieldList\" ValueRank=\"Array\" />\n      <Property SymbolicName=\"tns:OldValues\" DataType=\"tns:HistoryEventFieldList\" ValueRank=\"Array\" />\n    </Children>\n  </ObjectType>\n  <ObjectType SymbolicName=\"tns:AuditHistoryValueUpdateEventType\" PartNo=\"11\" BaseType=\"tns:AuditHistoryUpdateEventType\" IsAbstract=\"true\">\n    <Children>\n      <Property SymbolicName=\"tns:UpdatedNode\" DataType=\"tns:NodeId\" />\n      <Property SymbolicName=\"tns:PerformInsertReplace\" DataType=\"tns:PerformUpdateType\" />\n      <Property SymbolicName=\"tns:NewValues\" DataType=\"tns:DataValue\" ValueRank=\"Array\" />\n      <Property SymbolicName=\"tns:OldValues\" DataType=\"tns:DataValue\" ValueRank=\"Array\" />\n    </Children>\n  </ObjectType>\n  <ObjectType SymbolicName=\"tns:AuditHistoryAnnotationUpdateEventType\" PartNo=\"11\" BaseType=\"tns:AuditHistoryUpdateEventType\" IsAbstract=\"true\">\n    <Children>\n      <Property SymbolicName=\"tns:PerformInsertReplace\" DataType=\"tns:PerformUpdateType\" />\n      <Property SymbolicName=\"tns:NewValues\" DataType=\"tns:DataValue\" ValueRank=\"Array\" />\n      <Property SymbolicName=\"tns:OldValues\" DataType=\"tns:DataValue\" ValueRank=\"Array\" />\n    </Children>\n  </ObjectType>\n  <ObjectType SymbolicName=\"tns:AuditHistoryDeleteEventType\" PartNo=\"11\" BaseType=\"tns:AuditHistoryUpdateEventType\" IsAbstract=\"true\">\n    <Children>\n      <Property SymbolicName=\"tns:UpdatedNode\" DataType=\"tns:NodeId\" />\n    </Children>\n  </ObjectType>\n  <ObjectType SymbolicName=\"tns:AuditHistoryRawModifyDeleteEventType\" PartNo=\"11\" BaseType=\"tns:AuditHistoryDeleteEventType\" IsAbstract=\"true\">\n    <Children>\n      <Property SymbolicName=\"tns:IsDeleteModified\" DataType=\"tns:Boolean\" />\n      <Property SymbolicName=\"tns:StartTime\" DataType=\"tns:UtcTime\" />\n      <Property SymbolicName=\"tns:EndTime\" DataType=\"tns:UtcTime\" />\n      <Property SymbolicName=\"tns:OldValues\" DataType=\"tns:DataValue\" ValueRank=\"Array\" />\n    </Children>\n  </ObjectType>\n  <ObjectType SymbolicName=\"tns:AuditHistoryAtTimeDeleteEventType\" PartNo=\"11\" BaseType=\"tns:AuditHistoryDeleteEventType\" IsAbstract=\"true\">\n    <Children>\n      <Property SymbolicName=\"tns:ReqTimes\" DataType=\"tns:UtcTime\" ValueRank=\"Array\" />\n      <Property SymbolicName=\"tns:OldValues\" DataType=\"tns:DataValue\" ValueRank=\"Array\" />\n    </Children>\n  </ObjectType>\n  <ObjectType SymbolicName=\"tns:AuditHistoryEventDeleteEventType\" PartNo=\"11\" BaseType=\"tns:AuditHistoryDeleteEventType\" IsAbstract=\"true\">\n    <Children>\n      <Property SymbolicName=\"tns:EventIds\" DataType=\"tns:ByteString\" ValueRank=\"Array\" />\n      <Property SymbolicName=\"tns:OldValues\" DataType=\"tns:HistoryEventFieldList\" />\n    </Children>\n  </ObjectType>\n  <Method SymbolicName=\"tns:OpenWithMasksMethodType\">\n    <InputArguments>\n      <Argument Name=\"Masks\" DataType=\"tns:UInt32\" />\n    </InputArguments>\n    <OutputArguments>\n      <Argument Name=\"FileHandle\" DataType=\"tns:UInt32\" />\n    </OutputArguments>\n  </Method>\n  <Method SymbolicName=\"tns:CloseAndUpdateMethodType\">\n    <InputArguments>\n      <Argument Name=\"FileHandle\" DataType=\"tns:UInt32\" />\n    </InputArguments>\n    <OutputArguments>\n      <Argument Name=\"ApplyChangesRequired\" DataType=\"tns:Boolean\" />\n    </OutputArguments>\n  </Method>\n  <Method SymbolicName=\"tns:AddCertificateMethodType\">\n    <InputArguments>\n      <Argument Name=\"Certificate\" DataType=\"tns:ByteString\" />\n      <Argument Name=\"IsTrustedCertificate\" DataType=\"tns:Boolean\" />\n    </InputArguments>\n  </Method>\n  <Method SymbolicName=\"tns:RemoveCertificateMethodType\">\n    <InputArguments>\n      <Argument Name=\"Thumbprint\" DataType=\"tns:String\" />\n      <Argument Name=\"IsTrustedCertificate\" DataType=\"tns:Boolean\" />\n    </InputArguments>\n  </Method>\n  <ObjectType SymbolicName=\"tns:TrustListType\" PartNo=\"12\" BaseType=\"tns:FileType\">\n    <Children>\n      <Property SymbolicName=\"tns:LastUpdateTime\" DataType=\"tns:UtcTime\" />\n      <Property SymbolicName=\"tns:UpdateFrequency\" ModellingRule=\"Optional\" DataType=\"tns:Duration\" />\n      <Method SymbolicName=\"tns:OpenWithMasks\" TypeDefinition=\"tns:OpenWithMasksMethodType\" ModellingRule=\"Mandatory\" />\n      <Method SymbolicName=\"tns:CloseAndUpdate\" TypeDefinition=\"tns:CloseAndUpdateMethodType\" ModellingRule=\"Optional\" />\n      <Method SymbolicName=\"tns:AddCertificate\" TypeDefinition=\"tns:AddCertificateMethodType\" ModellingRule=\"Optional\" />\n      <Method SymbolicName=\"tns:RemoveCertificate\" TypeDefinition=\"tns:RemoveCertificateMethodType\" ModellingRule=\"Optional\" />\n    </Children>\n  </ObjectType>\n  <DataType SymbolicName=\"tns:TrustListMasks\" PartNo=\"12\" BaseType=\"tns:Enumeration\" NoArraysAllowed=\"true\">\n    <Fields>\n      <Field Name=\"None\" Identifier=\"0\" />\n      <Field Name=\"TrustedCertificates\" Identifier=\"1\" />\n      <Field Name=\"TrustedCrls\" Identifier=\"2\" />\n      <Field Name=\"IssuerCertificates\" Identifier=\"4\" />\n      <Field Name=\"IssuerCrls\" Identifier=\"8\" />\n      <Field Name=\"All\" Identifier=\"15\" />\n    </Fields>\n  </DataType>\n  <DataType SymbolicName=\"tns:TrustListDataType\" PartNo=\"12\" BaseType=\"tns:Structure\">\n    <Fields>\n      <Field Name=\"SpecifiedLists\" DataType=\"tns:UInt32\" />\n      <Field Name=\"TrustedCertificates\" DataType=\"tns:ByteString\" ValueRank=\"Array\" />\n      <Field Name=\"TrustedCrls\" DataType=\"tns:ByteString\" ValueRank=\"Array\" />\n      <Field Name=\"IssuerCertificates\" DataType=\"tns:ByteString\" ValueRank=\"Array\" />\n      <Field Name=\"IssuerCrls\" DataType=\"tns:ByteString\" ValueRank=\"Array\" />\n    </Fields>\n  </DataType>\n  <ObjectType SymbolicName=\"tns:TrustListOutOfDateAlarmType\" PartNo=\"12\" BaseType=\"tns:SystemOffNormalAlarmType\">\n    <Children>\n      <Property SymbolicName=\"tns:TrustListId\" ModellingRule=\"Mandatory\" DataType=\"tns:NodeId\" />\n      <Property SymbolicName=\"tns:LastUpdateTime\" ModellingRule=\"Mandatory\" DataType=\"tns:UtcTime\" />\n      <Property SymbolicName=\"tns:UpdateFrequency\" ModellingRule=\"Mandatory\" DataType=\"tns:Duration\" />\n    </Children>\n  </ObjectType>\n  <ObjectType SymbolicName=\"tns:CertificateGroupType\" PartNo=\"12\" BaseType=\"tns:BaseObjectType\">\n    <Children>\n      <Object SymbolicName=\"tns:TrustList\" TypeDefinition=\"tns:TrustListType\" ModellingRule=\"Mandatory\" />\n      <Property SymbolicName=\"tns:CertificateTypes\" ModellingRule=\"Mandatory\" DataType=\"tns:NodeId\" ValueRank=\"Array\" />\n      <Object SymbolicName=\"tns:CertificateExpired\" TypeDefinition=\"tns:CertificateExpirationAlarmType\" ModellingRule=\"Optional\" />\n      <Object SymbolicName=\"tns:TrustListOutOfDate\" TypeDefinition=\"tns:TrustListOutOfDateAlarmType\" ModellingRule=\"Optional\" />\n      <Method SymbolicName=\"tns:GetRejectedList\" TypeDefinition=\"tns:GetRejectedListMethodType\" ModellingRule=\"Optional\" />\n    </Children>\n  </ObjectType>\n  <ObjectType SymbolicName=\"tns:CertificateGroupFolderType\" PartNo=\"12\" BaseType=\"tns:FolderType\">\n    <Children>\n      <Object SymbolicName=\"tns:DefaultApplicationGroup\" TypeDefinition=\"tns:CertificateGroupType\" ModellingRule=\"Mandatory\" />\n      <Object SymbolicName=\"tns:DefaultHttpsGroup\" TypeDefinition=\"tns:CertificateGroupType\" ModellingRule=\"Optional\" />\n      <Object SymbolicName=\"tns:DefaultUserTokenGroup\" TypeDefinition=\"tns:CertificateGroupType\" ModellingRule=\"Optional\" />\n      <Object SymbolicName=\"tns:AdditionalGroup_Placeholder\" TypeDefinition=\"tns:CertificateGroupType\" ModellingRule=\"OptionalPlaceholder\">\n        <BrowseName>&lt;AdditionalGroup&gt;</BrowseName>\n        <ReferenceType>tns:Organizes</ReferenceType>\n      </Object>\n    </Children>\n  </ObjectType>\n  <ObjectType SymbolicName=\"tns:CertificateType\" PartNo=\"12\" BaseType=\"tns:BaseObjectType\" IsAbstract=\"true\" />\n  <ObjectType SymbolicName=\"tns:ApplicationCertificateType\" PartNo=\"12\" BaseType=\"tns:CertificateType\" IsAbstract=\"true\" />\n  <ObjectType SymbolicName=\"tns:HttpsCertificateType\" PartNo=\"12\" BaseType=\"tns:CertificateType\" />\n  <ObjectType SymbolicName=\"tns:UserCredentialCertificateType\" PartNo=\"12\" BaseType=\"tns:CertificateType\" />\n  <ObjectType SymbolicName=\"tns:RsaMinApplicationCertificateType\" PartNo=\"12\" BaseType=\"tns:ApplicationCertificateType\" />\n  <ObjectType SymbolicName=\"tns:RsaSha256ApplicationCertificateType\" PartNo=\"12\" BaseType=\"tns:ApplicationCertificateType\" />\n  <ObjectType SymbolicName=\"tns:EccApplicationCertificateType\" PartNo=\"12\" BaseType=\"tns:ApplicationCertificateType\" />\n  <ObjectType SymbolicName=\"tns:EccNistP256ApplicationCertificateType\" PartNo=\"12\" BaseType=\"tns:EccApplicationCertificateType\" />\n  <ObjectType SymbolicName=\"tns:EccNistP384ApplicationCertificateType\" PartNo=\"12\" BaseType=\"tns:EccApplicationCertificateType\" />\n  <ObjectType SymbolicName=\"tns:EccBrainpoolP256r1ApplicationCertificateType\" PartNo=\"12\" BaseType=\"tns:EccApplicationCertificateType\" />\n  <ObjectType SymbolicName=\"tns:EccBrainpoolP384r1ApplicationCertificateType\" PartNo=\"12\" BaseType=\"tns:EccApplicationCertificateType\" />\n  <ObjectType SymbolicName=\"tns:EccCurve25519ApplicationCertificateType\" PartNo=\"12\" BaseType=\"tns:EccApplicationCertificateType\" />\n  <ObjectType SymbolicName=\"tns:EccCurve448ApplicationCertificateType\" PartNo=\"12\" BaseType=\"tns:EccApplicationCertificateType\" />\n  <ObjectType SymbolicName=\"tns:TrustListUpdatedAuditEventType\" PartNo=\"12\" BaseType=\"tns:AuditUpdateMethodEventType\" IsAbstract=\"true\" />\n  <Method SymbolicName=\"tns:UpdateCertificateMethodType\">\n    <InputArguments>\n      <Argument Name=\"CertificateGroupId\" DataType=\"tns:NodeId\" />\n      <Argument Name=\"CertificateTypeId\" DataType=\"tns:NodeId\" />\n      <Argument Name=\"Certificate\" DataType=\"tns:ByteString\" />\n      <Argument Name=\"IssuerCertificates\" DataType=\"tns:ByteString\" ValueRank=\"Array\" />\n      <Argument Name=\"PrivateKeyFormat\" DataType=\"tns:String\" />\n      <Argument Name=\"PrivateKey\" DataType=\"tns:ByteString\" />\n    </InputArguments>\n    <OutputArguments>\n      <Argument Name=\"ApplyChangesRequired\" DataType=\"tns:Boolean\" />\n    </OutputArguments>\n  </Method>\n  <Method SymbolicName=\"tns:CreateSigningRequestMethodType\">\n    <InputArguments>\n      <Argument Name=\"CertificateGroupId\" DataType=\"tns:NodeId\" />\n      <Argument Name=\"CertificateTypeId\" DataType=\"tns:NodeId\" />\n      <Argument Name=\"SubjectName\" DataType=\"tns:String\" />\n      <Argument Name=\"RegeneratePrivateKey\" DataType=\"tns:Boolean\" />\n      <Argument Name=\"Nonce\" DataType=\"tns:ByteString\" />\n    </InputArguments>\n    <OutputArguments>\n      <Argument Name=\"CertificateRequest\" DataType=\"tns:ByteString\" />\n    </OutputArguments>\n  </Method>\n  <Method SymbolicName=\"tns:GetRejectedListMethodType\">\n    <OutputArguments>\n      <Argument Name=\"Certificates\" DataType=\"tns:ByteString\" ValueRank=\"Array\" />\n    </OutputArguments>\n  </Method>\n  <ObjectType SymbolicName=\"tns:ServerConfigurationType\" PartNo=\"12\" BaseType=\"tns:BaseObjectType\">\n    <Children>\n      <Object SymbolicName=\"tns:CertificateGroups\" TypeDefinition=\"tns:CertificateGroupFolderType\" ModellingRule=\"Mandatory\">\n        <ReferenceType>tns:HasComponent</ReferenceType>\n      </Object>\n      <Property SymbolicName=\"tns:ServerCapabilities\" DataType=\"tns:String\" ValueRank=\"Array\" />\n      <Property SymbolicName=\"tns:SupportedPrivateKeyFormats\" DataType=\"tns:String\" ValueRank=\"Array\" />\n      <Property SymbolicName=\"tns:MaxTrustListSize\" DataType=\"tns:UInt32\" />\n      <Property SymbolicName=\"tns:MulticastDnsEnabled\" DataType=\"tns:Boolean\" />\n      <Method SymbolicName=\"tns:UpdateCertificate\" TypeDefinition=\"tns:UpdateCertificateMethodType\" ModellingRule=\"Mandatory\" />\n      <Method SymbolicName=\"tns:ApplyChanges\" ModellingRule=\"Mandatory\" />\n      <Method SymbolicName=\"tns:CreateSigningRequest\" TypeDefinition=\"tns:CreateSigningRequestMethodType\" ModellingRule=\"Mandatory\" />\n      <Method SymbolicName=\"tns:GetRejectedList\" TypeDefinition=\"tns:GetRejectedListMethodType\" ModellingRule=\"Mandatory\" />\n    </Children>\n  </ObjectType>\n  <ObjectType SymbolicName=\"tns:CertificateUpdatedAuditEventType\" PartNo=\"12\" BaseType=\"tns:AuditUpdateMethodEventType\" IsAbstract=\"true\">\n    <Children>\n      <Property SymbolicName=\"tns:CertificateGroup\" ModellingRule=\"Mandatory\" DataType=\"tns:NodeId\" />\n      <Property SymbolicName=\"tns:CertificateType\" ModellingRule=\"Mandatory\" DataType=\"tns:NodeId\" />\n    </Children>\n  </ObjectType>\n  <Object SymbolicName=\"tns:ServerConfiguration\" TypeDefinition=\"tns:ServerConfigurationType\">\n    <Children>\n      <Object SymbolicName=\"tns:CertificateGroups\" TypeDefinition=\"tns:CertificateGroupFolderType\" ModellingRule=\"Mandatory\">\n        <Children>\n          <Object SymbolicName=\"tns:DefaultApplicationGroup\" ModellingRule=\"Mandatory\">\n            <Children>\n              <Object SymbolicName=\"tns:TrustList\" ModellingRule=\"Mandatory\">\n                <Children>\n                  <Method SymbolicName=\"tns:OpenWithMasks\" ModellingRule=\"Mandatory\" />\n                  <Method SymbolicName=\"tns:CloseAndUpdate\" ModellingRule=\"Mandatory\" />\n                  <Method SymbolicName=\"tns:AddCertificate\" ModellingRule=\"Mandatory\" />\n                  <Method SymbolicName=\"tns:RemoveCertificate\" ModellingRule=\"Mandatory\" />\n                </Children>\n              </Object>\n            </Children>\n          </Object>\n          <Object SymbolicName=\"tns:DefaultHttpsGroup\" ModellingRule=\"Mandatory\">\n            <Children>\n              <Object SymbolicName=\"tns:TrustList\" ModellingRule=\"Mandatory\">\n                <Children>\n                  <Method SymbolicName=\"tns:OpenWithMasks\" ModellingRule=\"Mandatory\" />\n                  <Method SymbolicName=\"tns:CloseAndUpdate\" ModellingRule=\"Mandatory\" />\n                  <Method SymbolicName=\"tns:AddCertificate\" ModellingRule=\"Mandatory\" />\n                  <Method SymbolicName=\"tns:RemoveCertificate\" ModellingRule=\"Mandatory\" />\n                </Children>\n              </Object>\n            </Children>\n          </Object>\n          <Object SymbolicName=\"tns:DefaultUserTokenGroup\" ModellingRule=\"Mandatory\">\n            <Children>\n              <Object SymbolicName=\"tns:TrustList\" ModellingRule=\"Mandatory\">\n                <Children>\n                  <Method SymbolicName=\"tns:OpenWithMasks\" ModellingRule=\"Mandatory\" />\n                  <Method SymbolicName=\"tns:CloseAndUpdate\" ModellingRule=\"Mandatory\" />\n                  <Method SymbolicName=\"tns:AddCertificate\" ModellingRule=\"Mandatory\" />\n                  <Method SymbolicName=\"tns:RemoveCertificate\" ModellingRule=\"Mandatory\" />\n                </Children>\n              </Object>\n            </Children>\n          </Object>\n        </Children>\n      </Object>\n      <Property SymbolicName=\"tns:ServerCapabilities\" />\n      <Property SymbolicName=\"tns:SupportedPrivateKeyFormats\" />\n      <Property SymbolicName=\"tns:MaxTrustListSize\" />\n      <Property SymbolicName=\"tns:MulticastDnsEnabled\" />\n    </Children>\n    <References>\n      <Reference IsInverse=\"true\">\n        <ReferenceType>tns:HasComponent</ReferenceType>\n        <TargetId>tns:Server</TargetId>\n      </Reference>\n    </References>\n  </Object>\n  <Method SymbolicName=\"tns:CreateCredentialMethodType\" PartNo=\"12\">\n    <InputArguments>\n      <Argument Name=\"ResourceUri\" DataType=\"tns:String\" />\n      <Argument Name=\"ProfileUri\" DataType=\"tns:String\" />\n      <Argument Name=\"EndpointUrls\" DataType=\"tns:String\" ValueRank=\"Array\" />\n    </InputArguments>\n    <OutputArguments>\n      <Argument Name=\"CredentialNodeId\" DataType=\"tns:NodeId\" />\n    </OutputArguments>\n  </Method>\n  <ObjectType SymbolicName=\"tns:KeyCredentialConfigurationFolderType\" PartNo=\"12\" BaseType=\"tns:FolderType\">\n    <Children>\n      <Object SymbolicName=\"tns:ServiceName_Placeholder\" TypeDefinition=\"tns:KeyCredentialConfigurationType\" ModellingRule=\"OptionalPlaceholder\">\n        <BrowseName>&lt;ServiceName&gt;</BrowseName>\n        <ReferenceType>tns:HasComponent</ReferenceType>\n      </Object>\n      <Method SymbolicName=\"tns:CreateCredential\" TypeDefinition=\"tns:CreateCredentialMethodType\" ModellingRule=\"Optional\" />\n    </Children>\n  </ObjectType>\n  <Object SymbolicName=\"tns:KeyCredentialConfiguration\" PartNo=\"12\" TypeDefinition=\"tns:KeyCredentialConfigurationFolderType\">\n    <References>\n      <Reference IsInverse=\"true\">\n        <ReferenceType>tns:HasComponent</ReferenceType>\n        <TargetId>tns:ServerConfiguration</TargetId>\n      </Reference>\n    </References>\n  </Object>\n  <Method SymbolicName=\"tns:GetEncryptingKeyMethodType\" PartNo=\"12\">\n    <InputArguments>\n      <Argument Name=\"CredentialId\" DataType=\"tns:String\" />\n      <Argument Name=\"RequestedSecurityPolicyUri\" DataType=\"tns:String\" />\n    </InputArguments>\n    <OutputArguments>\n      <Argument Name=\"PublicKey\" DataType=\"tns:ByteString\" />\n      <Argument Name=\"RevisedSecurityPolicyUri\" DataType=\"tns:NodeId\" />\n    </OutputArguments>\n  </Method>\n  <ObjectType SymbolicName=\"tns:KeyCredentialConfigurationType\" PartNo=\"12\" BaseType=\"tns:BaseObjectType\">\n    <Children>\n      <Property SymbolicName=\"tns:ResourceUri\" ModellingRule=\"Mandatory\" DataType=\"tns:String\" ValueRank=\"Scalar\" />\n      <Property SymbolicName=\"tns:ProfileUri\" ModellingRule=\"Mandatory\" DataType=\"tns:String\" ValueRank=\"Scalar\" />\n      <Property SymbolicName=\"tns:EndpointUrls\" ModellingRule=\"Optional\" DataType=\"tns:String\" ValueRank=\"Array\" />\n      <Property SymbolicName=\"tns:ServiceStatus\" ModellingRule=\"Optional\" DataType=\"tns:StatusCode\" ValueRank=\"Scalar\" />\n      <Method SymbolicName=\"tns:GetEncryptingKey\" TypeDefinition=\"tns:GetEncryptingKeyMethodType\" ModellingRule=\"Optional\" />\n      <Method SymbolicName=\"tns:UpdateCredential\" TypeDefinition=\"tns:KeyCredentialUpdateMethodType\" ModellingRule=\"Optional\" />\n      <Method SymbolicName=\"tns:DeleteCredential\" ModellingRule=\"Optional\" />\n    </Children>\n  </ObjectType>\n  <Method SymbolicName=\"tns:KeyCredentialUpdateMethodType\" PartNo=\"12\">\n    <InputArguments>\n      <Argument Name=\"CredentialId\" DataType=\"tns:String\" />\n      <Argument Name=\"CredentialSecret\" DataType=\"tns:ByteString\" />\n      <Argument Name=\"CertificateThumbprint\" DataType=\"tns:String\" />\n      <Argument Name=\"SecurityPolicyUri\" DataType=\"tns:String\" />\n    </InputArguments>\n  </Method>\n  <ObjectType SymbolicName=\"tns:KeyCredentialAuditEventType\" PartNo=\"12\" BaseType=\"tns:AuditUpdateMethodEventType\" IsAbstract=\"true\">\n    <Children>\n      <Property SymbolicName=\"tns:ResourceUri\" ModellingRule=\"Mandatory\" DataType=\"tns:String\" />\n    </Children>\n  </ObjectType>\n  <ObjectType SymbolicName=\"tns:KeyCredentialUpdatedAuditEventType\" PartNo=\"12\" BaseType=\"tns:KeyCredentialAuditEventType\" />\n  <ObjectType SymbolicName=\"tns:KeyCredentialDeletedAuditEventType\" PartNo=\"12\" BaseType=\"tns:KeyCredentialAuditEventType\" />\n  <ObjectType SymbolicName=\"tns:AuthorizationServicesConfigurationFolderType\" BaseType=\"tns:FolderType\">\n    <Children>\n      <Object SymbolicName=\"tns:ServiceName_Placeholder\" TypeDefinition=\"tns:AuthorizationServiceConfigurationType\" ModellingRule=\"OptionalPlaceholder\">\n        <BrowseName>&lt;ServiceName&gt;</BrowseName>\n        <ReferenceType>tns:Organizes</ReferenceType>\n      </Object>\n    </Children>\n  </ObjectType>\n  <Object SymbolicName=\"tns:AuthorizationServices\" PartNo=\"12\" TypeDefinition=\"tns:FolderType\">\n    <References>\n      <Reference IsInverse=\"true\">\n        <ReferenceType>tns:HasComponent</ReferenceType>\n        <TargetId>tns:ServerConfiguration</TargetId>\n      </Reference>\n    </References>\n  </Object>\n  <ObjectType SymbolicName=\"tns:AuthorizationServiceConfigurationType\" PartNo=\"12\" BaseType=\"tns:BaseObjectType\">\n    <Children>\n      <Property SymbolicName=\"tns:ServiceUri\" ModellingRule=\"Mandatory\" DataType=\"tns:String\" ValueRank=\"Scalar\" />\n      <Property SymbolicName=\"tns:ServiceCertificate\" ModellingRule=\"Mandatory\" DataType=\"tns:ByteString\" ValueRank=\"Scalar\" />\n      <Property SymbolicName=\"tns:IssuerEndpointUrl\" ModellingRule=\"Mandatory\" DataType=\"tns:String\" ValueRank=\"Scalar\" />\n    </Children>\n  </ObjectType>\n  <ObjectType SymbolicName=\"tns:AggregateConfigurationType\" PartNo=\"13\" BaseType=\"tns:BaseObjectType\">\n    <Children>\n      <Property SymbolicName=\"tns:TreatUncertainAsBad\" ModellingRule=\"Mandatory\" DataType=\"tns:Boolean\" />\n      <Property SymbolicName=\"tns:PercentDataBad\" ModellingRule=\"Mandatory\" DataType=\"tns:Byte\" />\n      <Property SymbolicName=\"tns:PercentDataGood\" ModellingRule=\"Mandatory\" DataType=\"tns:Byte\" />\n      <Property SymbolicName=\"tns:UseSlopedExtrapolation\" ModellingRule=\"Mandatory\" DataType=\"tns:Boolean\" />\n    </Children>\n  </ObjectType>\n  <Object SymbolicName=\"tns:AggregateFunction_Interpolative\" PartNo=\"13\" TypeDefinition=\"tns:AggregateFunctionType\" ModellingRule=\"None\">\n    <BrowseName>Interpolative</BrowseName>\n    <Description>At the beginning of each interval, retrieve the calculated value from the data points on either side of the requested timestamp.</Description>\n  </Object>\n  <Object SymbolicName=\"tns:AggregateFunction_Average\" PartNo=\"13\" TypeDefinition=\"tns:AggregateFunctionType\" ModellingRule=\"None\">\n    <BrowseName>Average</BrowseName>\n    <Description>Retrieve the average value of the data over the interval.</Description>\n  </Object>\n  <Object SymbolicName=\"tns:AggregateFunction_TimeAverage\" PartNo=\"13\" TypeDefinition=\"tns:AggregateFunctionType\" ModellingRule=\"None\">\n    <BrowseName>TimeAverage</BrowseName>\n    <Description>Retrieve the time weighted average data over the interval using Interpolated Bounding Values.</Description>\n  </Object>\n  <Object SymbolicName=\"tns:AggregateFunction_TimeAverage2\" PartNo=\"13\" TypeDefinition=\"tns:AggregateFunctionType\" ModellingRule=\"None\">\n    <BrowseName>TimeAverage2</BrowseName>\n    <Description>Retrieve the time weighted average data over the interval using Simple Bounding Values.</Description>\n  </Object>\n  <Object SymbolicName=\"tns:AggregateFunction_Total\" PartNo=\"13\" TypeDefinition=\"tns:AggregateFunctionType\" ModellingRule=\"None\">\n    <BrowseName>Total</BrowseName>\n    <Description>Retrieve the total (time integral) of the data over the interval using Interpolated Bounding Values.</Description>\n  </Object>\n  <Object SymbolicName=\"tns:AggregateFunction_Total2\" PartNo=\"13\" TypeDefinition=\"tns:AggregateFunctionType\" ModellingRule=\"None\">\n    <BrowseName>Total2</BrowseName>\n    <Description>Retrieve the total (time integral) of the data over the interval using Simple Bounding Values.</Description>\n  </Object>\n  <Object SymbolicName=\"tns:AggregateFunction_Minimum\" PartNo=\"13\" TypeDefinition=\"tns:AggregateFunctionType\" ModellingRule=\"None\">\n    <BrowseName>Minimum</BrowseName>\n    <Description>Retrieve the minimum raw value in the interval with the timestamp of the start of the interval.</Description>\n  </Object>\n  <Object SymbolicName=\"tns:AggregateFunction_Maximum\" PartNo=\"13\" TypeDefinition=\"tns:AggregateFunctionType\" ModellingRule=\"None\">\n    <BrowseName>Maximum</BrowseName>\n    <Description>Retrieve the maximum raw value in the interval with the timestamp of the start of the interval.</Description>\n  </Object>\n  <Object SymbolicName=\"tns:AggregateFunction_MinimumActualTime\" PartNo=\"13\" TypeDefinition=\"tns:AggregateFunctionType\" ModellingRule=\"None\">\n    <BrowseName>MinimumActualTime</BrowseName>\n    <Description>Retrieve the minimum value in the interval and the Timestamp of the minimum value.</Description>\n  </Object>\n  <Object SymbolicName=\"tns:AggregateFunction_MaximumActualTime\" PartNo=\"13\" TypeDefinition=\"tns:AggregateFunctionType\" ModellingRule=\"None\">\n    <BrowseName>MaximumActualTime</BrowseName>\n    <Description>Retrieve the maximum value in the interval and the Timestamp of the maximum value.</Description>\n  </Object>\n  <Object SymbolicName=\"tns:AggregateFunction_Range\" PartNo=\"13\" TypeDefinition=\"tns:AggregateFunctionType\" ModellingRule=\"None\">\n    <BrowseName>Range</BrowseName>\n    <Description>Retrieve the difference between the minimum and maximum Value over the interval.</Description>\n  </Object>\n  <Object SymbolicName=\"tns:AggregateFunction_Minimum2\" PartNo=\"13\" TypeDefinition=\"tns:AggregateFunctionType\" ModellingRule=\"None\">\n    <BrowseName>Minimum2</BrowseName>\n    <Description>Retrieve the minimum value in the interval including the Simple Bounding Values.</Description>\n  </Object>\n  <Object SymbolicName=\"tns:AggregateFunction_Maximum2\" PartNo=\"13\" TypeDefinition=\"tns:AggregateFunctionType\" ModellingRule=\"None\">\n    <BrowseName>Maximum2</BrowseName>\n    <Description>Retrieve the maximum value in the interval including the Simple Bounding Values.</Description>\n  </Object>\n  <Object SymbolicName=\"tns:AggregateFunction_MinimumActualTime2\" PartNo=\"13\" TypeDefinition=\"tns:AggregateFunctionType\" ModellingRule=\"None\">\n    <BrowseName>MinimumActualTime2</BrowseName>\n    <Description>Retrieve the minimum value with the actual timestamp including the Simple Bounding Values.</Description>\n  </Object>\n  <Object SymbolicName=\"tns:AggregateFunction_MaximumActualTime2\" PartNo=\"13\" TypeDefinition=\"tns:AggregateFunctionType\" ModellingRule=\"None\">\n    <BrowseName>MaximumActualTime2</BrowseName>\n    <Description>Retrieve the maximum value with the actual timestamp including the Simple Bounding Values.</Description>\n  </Object>\n  <Object SymbolicName=\"tns:AggregateFunction_Range2\" PartNo=\"13\" TypeDefinition=\"tns:AggregateFunctionType\" ModellingRule=\"None\">\n    <BrowseName>Range2</BrowseName>\n    <Description>Retrieve the difference between the Minimum2 and Maximum2 value over the interval.</Description>\n  </Object>\n  <Object SymbolicName=\"tns:AggregateFunction_AnnotationCount\" PartNo=\"13\" TypeDefinition=\"tns:AggregateFunctionType\" ModellingRule=\"None\">\n    <BrowseName>AnnotationCount</BrowseName>\n    <Description>Retrieve the number of Annotations in the interval.</Description>\n  </Object>\n  <Object SymbolicName=\"tns:AggregateFunction_Count\" PartNo=\"13\" TypeDefinition=\"tns:AggregateFunctionType\" ModellingRule=\"None\">\n    <BrowseName>Count</BrowseName>\n    <Description>Retrieve the number of raw values over the interval.</Description>\n  </Object>\n  <Object SymbolicName=\"tns:AggregateFunction_DurationInStateZero\" PartNo=\"13\" TypeDefinition=\"tns:AggregateFunctionType\" ModellingRule=\"None\">\n    <BrowseName>DurationInStateZero</BrowseName>\n    <Description>Retrieve the time a Boolean or numeric was in a zero state using Simple Bounding Values.</Description>\n  </Object>\n  <Object SymbolicName=\"tns:AggregateFunction_DurationInStateNonZero\" PartNo=\"13\" TypeDefinition=\"tns:AggregateFunctionType\" ModellingRule=\"None\">\n    <BrowseName>DurationInStateNonZero</BrowseName>\n    <Description>Retrieve the time a Boolean or numeric was in a non-zero state using Simple Bounding Values.</Description>\n  </Object>\n  <Object SymbolicName=\"tns:AggregateFunction_NumberOfTransitions\" PartNo=\"13\" TypeDefinition=\"tns:AggregateFunctionType\" ModellingRule=\"None\">\n    <BrowseName>NumberOfTransitions</BrowseName>\n    <Description>Retrieve the number of changes between zero and non-zero that a Boolean or Numeric value experienced in the interval.</Description>\n  </Object>\n  <Object SymbolicName=\"tns:AggregateFunction_Start\" PartNo=\"13\" TypeDefinition=\"tns:AggregateFunctionType\" ModellingRule=\"None\">\n    <BrowseName>Start</BrowseName>\n    <Description>Retrieve the value at the beginning of the interval using Interpolated Bounding Values.</Description>\n  </Object>\n  <Object SymbolicName=\"tns:AggregateFunction_End\" PartNo=\"13\" TypeDefinition=\"tns:AggregateFunctionType\" ModellingRule=\"None\">\n    <BrowseName>End</BrowseName>\n    <Description>Retrieve the value at the end of the interval using Interpolated Bounding Values.</Description>\n  </Object>\n  <Object SymbolicName=\"tns:AggregateFunction_Delta\" PartNo=\"13\" TypeDefinition=\"tns:AggregateFunctionType\" ModellingRule=\"None\">\n    <BrowseName>Delta</BrowseName>\n    <Description>Retrieve the difference between the Start and End value in the interval.</Description>\n  </Object>\n  <Object SymbolicName=\"tns:AggregateFunction_StartBound\" PartNo=\"13\" TypeDefinition=\"tns:AggregateFunctionType\" ModellingRule=\"None\">\n    <BrowseName>StartBound</BrowseName>\n    <Description>Retrieve the value at the beginning of the interval using Simple Bounding Values.</Description>\n  </Object>\n  <Object SymbolicName=\"tns:AggregateFunction_EndBound\" PartNo=\"13\" TypeDefinition=\"tns:AggregateFunctionType\" ModellingRule=\"None\">\n    <BrowseName>EndBound</BrowseName>\n    <Description>Retrieve the value at the end of the interval using Simple Bounding Values.</Description>\n  </Object>\n  <Object SymbolicName=\"tns:AggregateFunction_DeltaBounds\" PartNo=\"13\" TypeDefinition=\"tns:AggregateFunctionType\" ModellingRule=\"None\">\n    <BrowseName>DeltaBounds</BrowseName>\n    <Description>Retrieve the difference between the StartBound and EndBound value in the interval.</Description>\n  </Object>\n  <Object SymbolicName=\"tns:AggregateFunction_DurationGood\" PartNo=\"13\" TypeDefinition=\"tns:AggregateFunctionType\" ModellingRule=\"None\">\n    <BrowseName>DurationGood</BrowseName>\n    <Description>Retrieve the total duration of time in the interval during which the data is good.</Description>\n  </Object>\n  <Object SymbolicName=\"tns:AggregateFunction_DurationBad\" PartNo=\"13\" TypeDefinition=\"tns:AggregateFunctionType\" ModellingRule=\"None\">\n    <BrowseName>DurationBad</BrowseName>\n    <Description>Retrieve the total duration of time in the interval during which the data is bad.</Description>\n  </Object>\n  <Object SymbolicName=\"tns:AggregateFunction_PercentGood\" PartNo=\"13\" TypeDefinition=\"tns:AggregateFunctionType\" ModellingRule=\"None\">\n    <BrowseName>PercentGood</BrowseName>\n    <Description>Retrieve the percent of data (0 to 100) in the interval which has a good StatusCode.</Description>\n  </Object>\n  <Object SymbolicName=\"tns:AggregateFunction_PercentBad\" PartNo=\"13\" TypeDefinition=\"tns:AggregateFunctionType\" ModellingRule=\"None\">\n    <BrowseName>PercentBad</BrowseName>\n    <Description>Retrieve the percent of data (0 to 100) in the interval which has a bad StatusCode.</Description>\n  </Object>\n  <Object SymbolicName=\"tns:AggregateFunction_WorstQuality\" PartNo=\"13\" TypeDefinition=\"tns:AggregateFunctionType\" ModellingRule=\"None\">\n    <BrowseName>WorstQuality</BrowseName>\n    <Description>Retrieve the worst StatusCode of data in the interval.</Description>\n  </Object>\n  <Object SymbolicName=\"tns:AggregateFunction_WorstQuality2\" PartNo=\"13\" TypeDefinition=\"tns:AggregateFunctionType\" ModellingRule=\"None\">\n    <BrowseName>WorstQuality2</BrowseName>\n    <Description>Retrieve the worst StatusCode of data in the interval including the Simple Bounding Values.</Description>\n  </Object>\n  <Object SymbolicName=\"tns:AggregateFunction_StandardDeviationSample\" PartNo=\"13\" TypeDefinition=\"tns:AggregateFunctionType\" ModellingRule=\"None\">\n    <BrowseName>StandardDeviationSample</BrowseName>\n    <Description>Retrieve the standard deviation for the interval for a sample of the population (n-1).</Description>\n  </Object>\n  <Object SymbolicName=\"tns:AggregateFunction_StandardDeviationPopulation\" PartNo=\"13\" TypeDefinition=\"tns:AggregateFunctionType\" ModellingRule=\"None\">\n    <BrowseName>StandardDeviationPopulation</BrowseName>\n    <Description>Retrieve the standard deviation for the interval for a complete population (n) which includes Simple Bounding Values.</Description>\n  </Object>\n  <Object SymbolicName=\"tns:AggregateFunction_VarianceSample\" PartNo=\"13\" TypeDefinition=\"tns:AggregateFunctionType\" ModellingRule=\"None\">\n    <BrowseName>VarianceSample</BrowseName>\n    <Description>Retrieve the variance for the interval as calculated by the StandardDeviationSample.</Description>\n  </Object>\n  <Object SymbolicName=\"tns:AggregateFunction_VariancePopulation\" PartNo=\"13\" TypeDefinition=\"tns:AggregateFunctionType\" ModellingRule=\"None\">\n    <BrowseName>VariancePopulation</BrowseName>\n    <Description>Retrieve the variance for the interval as calculated by the StandardDeviationPopulation which includes Simple Bounding Values.</Description>\n  </Object>\n  <DataType SymbolicName=\"tns:DecimalDataType\" PartNo=\"3\" NotInAddressSpace=\"true\" Purpose=\"CodeGenerator\" BaseType=\"tns:Structure\" NoArraysAllowed=\"true\">\n    <Fields>\n      <Field Name=\"Scale\" DataType=\"tns:Int16\" />\n      <Field Name=\"Value\" DataType=\"tns:ByteString\" />\n    </Fields>\n  </DataType>\n  <DataType SymbolicName=\"tns:DataTypeSchemaHeader\" PartNo=\"14\" BaseType=\"tns:Structure\" IsAbstract=\"true\">\n    <Fields>\n      <Field Name=\"Namespaces\" DataType=\"tns:String\" ValueRank=\"Array\" />\n      <Field Name=\"StructureDataTypes\" DataType=\"tns:StructureDescription\" ValueRank=\"Array\" />\n      <Field Name=\"EnumDataTypes\" DataType=\"tns:EnumDescription\" ValueRank=\"Array\" />\n      <Field Name=\"SimpleDataTypes\" DataType=\"tns:SimpleTypeDescription\" ValueRank=\"Array\" />\n    </Fields>\n  </DataType>\n  <DataType SymbolicName=\"tns:DataTypeDescription\" PartNo=\"14\" BaseType=\"tns:Structure\" IsAbstract=\"true\">\n    <Fields>\n      <Field Name=\"DataTypeId\" DataType=\"tns:NodeId\" />\n      <Field Name=\"Name\" DataType=\"tns:QualifiedName\" />\n    </Fields>\n  </DataType>\n  <DataType SymbolicName=\"tns:StructureDescription\" PartNo=\"14\" BaseType=\"tns:DataTypeDescription\">\n    <Fields>\n      <Field Name=\"StructureDefinition\" DataType=\"tns:StructureDefinition\" />\n    </Fields>\n  </DataType>\n  <DataType SymbolicName=\"tns:EnumDescription\" PartNo=\"14\" BaseType=\"tns:DataTypeDescription\">\n    <Fields>\n      <Field Name=\"EnumDefinition\" DataType=\"tns:EnumDefinition\" />\n      <Field Name=\"BuiltInType\" DataType=\"tns:Byte\" />\n    </Fields>\n  </DataType>\n  <DataType SymbolicName=\"tns:SimpleTypeDescription\" PartNo=\"14\" BaseType=\"tns:DataTypeDescription\">\n    <Fields>\n      <Field Name=\"BaseDataType\" DataType=\"tns:NodeId\" />\n      <Field Name=\"BuiltInType\" DataType=\"tns:Byte\" />\n    </Fields>\n  </DataType>\n  <DataType SymbolicName=\"tns:UABinaryFileDataType\" PartNo=\"14\" BaseType=\"tns:DataTypeSchemaHeader\">\n    <Fields>\n      <Field Name=\"SchemaLocation\" DataType=\"tns:String\" />\n      <Field Name=\"FileHeader\" DataType=\"tns:KeyValuePair\" ValueRank=\"Array\" />\n      <Field Name=\"Body\" DataType=\"tns:BaseDataType\" />\n    </Fields>\n  </DataType>\n  <DataType SymbolicName=\"tns:PubSubState\" PartNo=\"14\" BaseType=\"tns:Enumeration\">\n    <Fields>\n      <Field Name=\"Disabled\" Identifier=\"0\" />\n      <Field Name=\"Paused\" Identifier=\"1\" />\n      <Field Name=\"Operational\" Identifier=\"2\" />\n      <Field Name=\"Error\" Identifier=\"3\" />\n      <Field Name=\"PreOperational\" Identifier=\"4\" />\n    </Fields>\n  </DataType>\n  <DataType SymbolicName=\"tns:DataSetMetaDataType\" PartNo=\"14\" BaseType=\"tns:DataTypeSchemaHeader\">\n    <Fields>\n      <Field Name=\"Name\" DataType=\"tns:String\" />\n      <Field Name=\"Description\" DataType=\"tns:LocalizedText\" />\n      <Field Name=\"Fields\" DataType=\"tns:FieldMetaData\" ValueRank=\"Array\" />\n      <Field Name=\"DataSetClassId\" DataType=\"tns:Guid\" />\n      <Field Name=\"ConfigurationVersion\" DataType=\"tns:ConfigurationVersionDataType\" />\n    </Fields>\n  </DataType>\n  <DataType SymbolicName=\"tns:FieldMetaData\" PartNo=\"14\" BaseType=\"tns:Structure\">\n    <Fields>\n      <Field Name=\"Name\" DataType=\"tns:String\" />\n      <Field Name=\"Description\" DataType=\"tns:LocalizedText\" />\n      <Field Name=\"FieldFlags\" DataType=\"tns:DataSetFieldFlags\" />\n      <Field Name=\"BuiltInType\" DataType=\"tns:Byte\" />\n      <Field Name=\"DataType\" DataType=\"tns:NodeId\" />\n      <Field Name=\"ValueRank\" DataType=\"tns:Int32\" />\n      <Field Name=\"ArrayDimensions\" DataType=\"tns:UInt32\" ValueRank=\"Array\" />\n      <Field Name=\"MaxStringLength\" DataType=\"tns:UInt32\" />\n      <Field Name=\"DataSetFieldId\" DataType=\"tns:Guid\" />\n      <Field Name=\"Properties\" DataType=\"tns:KeyValuePair\" ValueRank=\"Array\" />\n    </Fields>\n  </DataType>\n  <DataType SymbolicName=\"tns:DataSetFieldFlags\" PartNo=\"14\" BaseType=\"tns:UInt16\" IsOptionSet=\"true\" NoArraysAllowed=\"true\">\n    <Fields>\n      <Field Name=\"PromotedField\" BitMask=\"0001\" />\n    </Fields>\n  </DataType>\n  <DataType SymbolicName=\"tns:ConfigurationVersionDataType\" PartNo=\"14\" BaseType=\"tns:Structure\">\n    <Fields>\n      <Field Name=\"MajorVersion\" DataType=\"tns:VersionTime\" />\n      <Field Name=\"MinorVersion\" DataType=\"tns:VersionTime\" />\n    </Fields>\n  </DataType>\n  <DataType SymbolicName=\"tns:PublishedDataSetDataType\" PartNo=\"14\" BaseType=\"tns:Structure\">\n    <Fields>\n      <Field Name=\"Name\" DataType=\"tns:String\" />\n      <Field Name=\"DataSetFolder\" DataType=\"tns:String\" ValueRank=\"Array\" />\n      <Field Name=\"DataSetMetaData\" DataType=\"tns:DataSetMetaDataType\" />\n      <Field Name=\"ExtensionFields\" DataType=\"tns:KeyValuePair\" ValueRank=\"Array\" />\n      <Field Name=\"DataSetSource\" DataType=\"tns:PublishedDataSetSourceDataType\" AllowSubTypes=\"true\" />\n    </Fields>\n  </DataType>\n  <DataType SymbolicName=\"tns:PublishedDataSetSourceDataType\" PartNo=\"14\" BaseType=\"tns:Structure\" IsAbstract=\"true\" />\n  <DataType SymbolicName=\"tns:PublishedVariableDataType\" PartNo=\"14\" BaseType=\"tns:Structure\">\n    <Fields>\n      <Field Name=\"PublishedVariable\" DataType=\"tns:NodeId\" />\n      <Field Name=\"AttributeId\" DataType=\"tns:IntegerId\" />\n      <Field Name=\"SamplingIntervalHint\" DataType=\"tns:Duration\" />\n      <Field Name=\"DeadbandType\" DataType=\"tns:UInt32\" />\n      <Field Name=\"DeadbandValue\" DataType=\"tns:Double\" />\n      <Field Name=\"IndexRange\" DataType=\"tns:NumericRange\" />\n      <Field Name=\"SubstituteValue\" DataType=\"tns:BaseDataType\" />\n      <Field Name=\"MetaDataProperties\" DataType=\"tns:QualifiedName\" ValueRank=\"Array\" />\n    </Fields>\n  </DataType>\n  <DataType SymbolicName=\"tns:PublishedDataItemsDataType\" PartNo=\"14\" BaseType=\"tns:PublishedDataSetSourceDataType\">\n    <Fields>\n      <Field Name=\"PublishedData\" DataType=\"tns:PublishedVariableDataType\" ValueRank=\"Array\" />\n    </Fields>\n  </DataType>\n  <DataType SymbolicName=\"tns:PublishedEventsDataType\" PartNo=\"14\" BaseType=\"tns:PublishedDataSetSourceDataType\">\n    <Fields>\n      <Field Name=\"EventNotifier\" DataType=\"tns:NodeId\" />\n      <Field Name=\"SelectedFields\" DataType=\"tns:SimpleAttributeOperand\" ValueRank=\"Array\" />\n      <Field Name=\"Filter\" DataType=\"tns:ContentFilter\" />\n    </Fields>\n  </DataType>\n  <DataType SymbolicName=\"tns:DataSetFieldContentMask\" PartNo=\"14\" BaseType=\"tns:UInt32\" IsOptionSet=\"true\">\n    <Fields>\n      <Field Name=\"StatusCode\" BitMask=\"0001\" />\n      <Field Name=\"SourceTimestamp\" BitMask=\"0002\" />\n      <Field Name=\"ServerTimestamp\" BitMask=\"0004\" />\n      <Field Name=\"SourcePicoSeconds\" BitMask=\"0008\" />\n      <Field Name=\"ServerPicoSeconds\" BitMask=\"0010\" />\n      <Field Name=\"RawData\" BitMask=\"0020\" />\n    </Fields>\n  </DataType>\n  <DataType SymbolicName=\"tns:DataSetWriterDataType\" PartNo=\"14\" BaseType=\"tns:Structure\">\n    <Fields>\n      <Field Name=\"Name\" DataType=\"tns:String\" />\n      <Field Name=\"Enabled\" DataType=\"tns:Boolean\" />\n      <Field Name=\"DataSetWriterId\" DataType=\"tns:UInt16\" />\n      <Field Name=\"DataSetFieldContentMask\" DataType=\"tns:DataSetFieldContentMask\" />\n      <Field Name=\"KeyFrameCount\" DataType=\"tns:UInt32\" />\n      <Field Name=\"DataSetName\" DataType=\"tns:String\" />\n      <Field Name=\"DataSetWriterProperties\" DataType=\"tns:KeyValuePair\" ValueRank=\"Array\" />\n      <Field Name=\"TransportSettings\" DataType=\"tns:DataSetWriterTransportDataType\" AllowSubTypes=\"true\" />\n      <Field Name=\"MessageSettings\" DataType=\"tns:DataSetWriterMessageDataType\" AllowSubTypes=\"true\" />\n    </Fields>\n  </DataType>\n  <DataType SymbolicName=\"tns:DataSetWriterTransportDataType\" PartNo=\"14\" BaseType=\"tns:Structure\" IsAbstract=\"true\" />\n  <DataType SymbolicName=\"tns:DataSetWriterMessageDataType\" PartNo=\"14\" BaseType=\"tns:Structure\" IsAbstract=\"true\" />\n  <DataType SymbolicName=\"tns:PubSubGroupDataType\" PartNo=\"14\" BaseType=\"tns:Structure\" IsAbstract=\"true\">\n    <Fields>\n      <Field Name=\"Name\" DataType=\"tns:String\" />\n      <Field Name=\"Enabled\" DataType=\"tns:Boolean\" />\n      <Field Name=\"SecurityMode\" DataType=\"tns:MessageSecurityMode\" />\n      <Field Name=\"SecurityGroupId\" DataType=\"tns:String\" />\n      <Field Name=\"SecurityKeyServices\" DataType=\"tns:EndpointDescription\" ValueRank=\"Array\" />\n      <Field Name=\"MaxNetworkMessageSize\" DataType=\"tns:UInt32\" />\n      <Field Name=\"GroupProperties\" DataType=\"tns:KeyValuePair\" ValueRank=\"Array\" />\n    </Fields>\n  </DataType>\n  <DataType SymbolicName=\"tns:WriterGroupDataType\" PartNo=\"14\" BaseType=\"tns:PubSubGroupDataType\">\n    <Fields>\n      <Field Name=\"WriterGroupId\" DataType=\"tns:UInt16\" />\n      <Field Name=\"PublishingInterval\" DataType=\"tns:Duration\" />\n      <Field Name=\"KeepAliveTime\" DataType=\"tns:Duration\" />\n      <Field Name=\"Priority\" DataType=\"tns:Byte\" />\n      <Field Name=\"LocaleIds\" DataType=\"tns:LocaleId\" ValueRank=\"Array\" />\n      <Field Name=\"HeaderLayoutUri\" DataType=\"tns:String\" />\n      <Field Name=\"TransportSettings\" DataType=\"tns:WriterGroupTransportDataType\" AllowSubTypes=\"true\" />\n      <Field Name=\"MessageSettings\" DataType=\"tns:WriterGroupMessageDataType\" AllowSubTypes=\"true\" />\n      <Field Name=\"DataSetWriters\" DataType=\"tns:DataSetWriterDataType\" ValueRank=\"Array\" />\n    </Fields>\n  </DataType>\n  <DataType SymbolicName=\"tns:WriterGroupTransportDataType\" PartNo=\"14\" BaseType=\"tns:Structure\" IsAbstract=\"true\" />\n  <DataType SymbolicName=\"tns:WriterGroupMessageDataType\" PartNo=\"14\" BaseType=\"tns:Structure\" IsAbstract=\"true\" />\n  <DataType SymbolicName=\"tns:PubSubConnectionDataType\" PartNo=\"14\" BaseType=\"tns:Structure\">\n    <Fields>\n      <Field Name=\"Name\" DataType=\"tns:String\" />\n      <Field Name=\"Enabled\" DataType=\"tns:Boolean\" />\n      <Field Name=\"PublisherId\" DataType=\"tns:BaseDataType\" />\n      <Field Name=\"TransportProfileUri\" DataType=\"tns:String\" />\n      <Field Name=\"Address\" DataType=\"tns:NetworkAddressDataType\" AllowSubTypes=\"true\" />\n      <Field Name=\"ConnectionProperties\" DataType=\"tns:KeyValuePair\" ValueRank=\"Array\" />\n      <Field Name=\"TransportSettings\" DataType=\"tns:ConnectionTransportDataType\" AllowSubTypes=\"true\" />\n      <Field Name=\"WriterGroups\" DataType=\"tns:WriterGroupDataType\" ValueRank=\"Array\" />\n      <Field Name=\"ReaderGroups\" DataType=\"tns:ReaderGroupDataType\" ValueRank=\"Array\" />\n    </Fields>\n  </DataType>\n  <DataType SymbolicName=\"tns:ConnectionTransportDataType\" PartNo=\"14\" BaseType=\"tns:Structure\" IsAbstract=\"true\" />\n  <DataType SymbolicName=\"tns:NetworkAddressDataType\" PartNo=\"14\" BaseType=\"tns:Structure\" IsAbstract=\"true\">\n    <Fields>\n      <Field Name=\"NetworkInterface\" DataType=\"tns:String\" />\n    </Fields>\n  </DataType>\n  <DataType SymbolicName=\"tns:NetworkAddressUrlDataType\" PartNo=\"14\" BaseType=\"tns:NetworkAddressDataType\">\n    <Fields>\n      <Field Name=\"Url\" DataType=\"tns:String\" />\n    </Fields>\n  </DataType>\n  <DataType SymbolicName=\"tns:ReaderGroupDataType\" PartNo=\"14\" BaseType=\"tns:PubSubGroupDataType\">\n    <Fields>\n      <Field Name=\"TransportSettings\" DataType=\"tns:ReaderGroupTransportDataType\" AllowSubTypes=\"true\" />\n      <Field Name=\"MessageSettings\" DataType=\"tns:ReaderGroupMessageDataType\" AllowSubTypes=\"true\" />\n      <Field Name=\"DataSetReaders\" DataType=\"tns:DataSetReaderDataType\" ValueRank=\"Array\" />\n    </Fields>\n  </DataType>\n  <DataType SymbolicName=\"tns:ReaderGroupTransportDataType\" PartNo=\"14\" BaseType=\"tns:Structure\" IsAbstract=\"true\" />\n  <DataType SymbolicName=\"tns:ReaderGroupMessageDataType\" PartNo=\"14\" BaseType=\"tns:Structure\" IsAbstract=\"true\" />\n  <DataType SymbolicName=\"tns:DataSetReaderDataType\" PartNo=\"14\" BaseType=\"tns:Structure\">\n    <Fields>\n      <Field Name=\"Name\" DataType=\"tns:String\" />\n      <Field Name=\"Enabled\" DataType=\"tns:Boolean\" />\n      <Field Name=\"PublisherId\" DataType=\"tns:BaseDataType\" />\n      <Field Name=\"WriterGroupId\" DataType=\"tns:UInt16\" />\n      <Field Name=\"DataSetWriterId\" DataType=\"tns:UInt16\" />\n      <Field Name=\"DataSetMetaData\" DataType=\"tns:DataSetMetaDataType\" />\n      <Field Name=\"DataSetFieldContentMask\" DataType=\"tns:DataSetFieldContentMask\" />\n      <Field Name=\"MessageReceiveTimeout\" DataType=\"tns:Duration\" />\n      <Field Name=\"KeyFrameCount\" DataType=\"tns:UInt32\" />\n      <Field Name=\"HeaderLayoutUri\" DataType=\"tns:String\" />\n      <Field Name=\"SecurityMode\" DataType=\"tns:MessageSecurityMode\" />\n      <Field Name=\"SecurityGroupId\" DataType=\"tns:String\" />\n      <Field Name=\"SecurityKeyServices\" DataType=\"tns:EndpointDescription\" ValueRank=\"Array\" />\n      <Field Name=\"DataSetReaderProperties\" DataType=\"tns:KeyValuePair\" ValueRank=\"Array\" />\n      <Field Name=\"TransportSettings\" DataType=\"tns:DataSetReaderTransportDataType\" AllowSubTypes=\"true\" />\n      <Field Name=\"MessageSettings\" DataType=\"tns:DataSetReaderMessageDataType\" AllowSubTypes=\"true\" />\n      <Field Name=\"SubscribedDataSet\" DataType=\"tns:SubscribedDataSetDataType\" AllowSubTypes=\"true\" />\n    </Fields>\n  </DataType>\n  <DataType SymbolicName=\"tns:DataSetReaderTransportDataType\" PartNo=\"14\" BaseType=\"tns:Structure\" IsAbstract=\"true\" />\n  <DataType SymbolicName=\"tns:DataSetReaderMessageDataType\" PartNo=\"14\" BaseType=\"tns:Structure\" IsAbstract=\"true\" />\n  <DataType SymbolicName=\"tns:SubscribedDataSetDataType\" PartNo=\"14\" BaseType=\"tns:Structure\" IsAbstract=\"true\" />\n  <DataType SymbolicName=\"tns:TargetVariablesDataType\" PartNo=\"14\" BaseType=\"tns:SubscribedDataSetDataType\">\n    <Fields>\n      <Field Name=\"TargetVariables\" DataType=\"tns:FieldTargetDataType\" ValueRank=\"Array\" />\n    </Fields>\n  </DataType>\n  <DataType SymbolicName=\"tns:FieldTargetDataType\" PartNo=\"14\" BaseType=\"tns:Structure\">\n    <Fields>\n      <Field Name=\"DataSetFieldId\" DataType=\"tns:Guid\" />\n      <Field Name=\"ReceiverIndexRange\" DataType=\"tns:NumericRange\" />\n      <Field Name=\"TargetNodeId\" DataType=\"tns:NodeId\" />\n      <Field Name=\"AttributeId\" DataType=\"tns:IntegerId\" />\n      <Field Name=\"WriteIndexRange\" DataType=\"tns:NumericRange\" />\n      <Field Name=\"OverrideValueHandling\" DataType=\"tns:OverrideValueHandling\" />\n      <Field Name=\"OverrideValue\" DataType=\"tns:BaseDataType\" />\n    </Fields>\n  </DataType>\n  <DataType SymbolicName=\"tns:OverrideValueHandling\" PartNo=\"14\" BaseType=\"tns:Enumeration\">\n    <Fields>\n      <Field Name=\"Disabled\" Identifier=\"0\" />\n      <Field Name=\"LastUsableValue\" Identifier=\"1\" />\n      <Field Name=\"OverrideValue\" Identifier=\"2\" />\n    </Fields>\n  </DataType>\n  <DataType SymbolicName=\"tns:SubscribedDataSetMirrorDataType\" PartNo=\"14\" BaseType=\"tns:SubscribedDataSetDataType\">\n    <Fields>\n      <Field Name=\"ParentNodeName\" DataType=\"tns:String\" />\n      <Field Name=\"RolePermissions\" DataType=\"tns:RolePermissionType\" ValueRank=\"Array\" />\n    </Fields>\n  </DataType>\n  <DataType SymbolicName=\"tns:PubSubConfigurationDataType\" PartNo=\"14\" BaseType=\"tns:Structure\">\n    <Fields>\n      <Field Name=\"PublishedDataSets\" DataType=\"tns:PublishedDataSetDataType\" ValueRank=\"Array\" />\n      <Field Name=\"Connections\" DataType=\"tns:PubSubConnectionDataType\" ValueRank=\"Array\" />\n      <Field Name=\"Enabled\" DataType=\"tns:Boolean\" />\n    </Fields>\n  </DataType>\n  <DataType SymbolicName=\"tns:DataSetOrderingType\" PartNo=\"14\" BaseType=\"tns:Enumeration\">\n    <Fields>\n      <Field Name=\"Undefined\" Identifier=\"0\" />\n      <Field Name=\"AscendingWriterId\" Identifier=\"1\" />\n      <Field Name=\"AscendingWriterIdSingle\" Identifier=\"2\" />\n    </Fields>\n  </DataType>\n  <DataType SymbolicName=\"tns:UadpNetworkMessageContentMask\" PartNo=\"14\" BaseType=\"tns:UInt32\" IsOptionSet=\"true\">\n    <Fields>\n      <Field Name=\"PublisherId\" BitMask=\"0001\" />\n      <Field Name=\"GroupHeader\" BitMask=\"0002\" />\n      <Field Name=\"WriterGroupId\" BitMask=\"0004\" />\n      <Field Name=\"GroupVersion\" BitMask=\"0008\" />\n      <Field Name=\"NetworkMessageNumber\" BitMask=\"0010\" />\n      <Field Name=\"SequenceNumber\" BitMask=\"0020\" />\n      <Field Name=\"PayloadHeader\" BitMask=\"0040\" />\n      <Field Name=\"Timestamp\" BitMask=\"0080\" />\n      <Field Name=\"PicoSeconds\" BitMask=\"0100\" />\n      <Field Name=\"DataSetClassId\" BitMask=\"0200\" />\n      <Field Name=\"PromotedFields\" BitMask=\"0400\" />\n    </Fields>\n  </DataType>\n  <DataType SymbolicName=\"tns:UadpWriterGroupMessageDataType\" PartNo=\"14\" BaseType=\"tns:WriterGroupMessageDataType\">\n    <Fields>\n      <Field Name=\"GroupVersion\" DataType=\"tns:VersionTime\" />\n      <Field Name=\"DataSetOrdering\" DataType=\"tns:DataSetOrderingType\" />\n      <Field Name=\"NetworkMessageContentMask\" DataType=\"tns:UadpNetworkMessageContentMask\" />\n      <Field Name=\"SamplingOffset\" DataType=\"tns:Duration\" />\n      <Field Name=\"PublishingOffset\" DataType=\"tns:Duration\" ValueRank=\"Array\" />\n    </Fields>\n  </DataType>\n  <DataType SymbolicName=\"tns:UadpDataSetMessageContentMask\" PartNo=\"14\" BaseType=\"tns:UInt32\" IsOptionSet=\"true\">\n    <Fields>\n      <Field Name=\"Timestamp\" BitMask=\"0001\" />\n      <Field Name=\"PicoSeconds\" BitMask=\"0002\" />\n      <Field Name=\"Status\" BitMask=\"0004\" />\n      <Field Name=\"MajorVersion\" BitMask=\"0008\" />\n      <Field Name=\"MinorVersion\" BitMask=\"0010\" />\n      <Field Name=\"SequenceNumber\" BitMask=\"0020\" />\n    </Fields>\n  </DataType>\n  <DataType SymbolicName=\"tns:UadpDataSetWriterMessageDataType\" PartNo=\"14\" BaseType=\"tns:DataSetWriterMessageDataType\">\n    <Fields>\n      <Field Name=\"DataSetMessageContentMask\" DataType=\"tns:UadpDataSetMessageContentMask\" />\n      <Field Name=\"ConfiguredSize\" DataType=\"tns:UInt16\" />\n      <Field Name=\"NetworkMessageNumber\" DataType=\"tns:UInt16\" />\n      <Field Name=\"DataSetOffset\" DataType=\"tns:UInt16\" />\n    </Fields>\n  </DataType>\n  <DataType SymbolicName=\"tns:UadpDataSetReaderMessageDataType\" PartNo=\"14\" BaseType=\"tns:DataSetReaderMessageDataType\">\n    <Fields>\n      <Field Name=\"GroupVersion\" DataType=\"tns:VersionTime\" />\n      <Field Name=\"NetworkMessageNumber\" DataType=\"tns:UInt16\" />\n      <Field Name=\"DataSetOffset\" DataType=\"tns:UInt16\" />\n      <Field Name=\"DataSetClassId\" DataType=\"tns:Guid\" />\n      <Field Name=\"NetworkMessageContentMask\" DataType=\"tns:UadpNetworkMessageContentMask\" />\n      <Field Name=\"DataSetMessageContentMask\" DataType=\"tns:UadpDataSetMessageContentMask\" />\n      <Field Name=\"PublishingInterval\" DataType=\"tns:Duration\" />\n      <Field Name=\"ReceiveOffset\" DataType=\"tns:Duration\" />\n      <Field Name=\"ProcessingOffset\" DataType=\"tns:Duration\" />\n    </Fields>\n  </DataType>\n  <DataType SymbolicName=\"tns:JsonNetworkMessageContentMask\" PartNo=\"14\" BaseType=\"tns:UInt32\" IsOptionSet=\"true\">\n    <Fields>\n      <Field Name=\"NetworkMessageHeader\" BitMask=\"0001\" />\n      <Field Name=\"DataSetMessageHeader\" BitMask=\"0002\" />\n      <Field Name=\"SingleDataSetMessage\" BitMask=\"0004\" />\n      <Field Name=\"PublisherId\" BitMask=\"0008\" />\n      <Field Name=\"DataSetClassId\" BitMask=\"0010\" />\n      <Field Name=\"ReplyTo\" BitMask=\"0020\" />\n    </Fields>\n  </DataType>\n  <DataType SymbolicName=\"tns:JsonWriterGroupMessageDataType\" PartNo=\"14\" BaseType=\"tns:WriterGroupMessageDataType\">\n    <Fields>\n      <Field Name=\"NetworkMessageContentMask\" DataType=\"tns:JsonNetworkMessageContentMask\" />\n    </Fields>\n  </DataType>\n  <DataType SymbolicName=\"tns:JsonDataSetMessageContentMask\" PartNo=\"14\" BaseType=\"tns:UInt32\" IsOptionSet=\"true\">\n    <Fields>\n      <Field Name=\"DataSetWriterId\" BitMask=\"0001\" />\n      <Field Name=\"MetaDataVersion\" BitMask=\"0002\" />\n      <Field Name=\"SequenceNumber\" BitMask=\"0004\" />\n      <Field Name=\"Timestamp\" BitMask=\"0008\" />\n      <Field Name=\"Status\" BitMask=\"0010\" />\n      <Field Name=\"MessageType\" BitMask=\"0020\" />\n    </Fields>\n  </DataType>\n  <DataType SymbolicName=\"tns:JsonDataSetWriterMessageDataType\" PartNo=\"14\" BaseType=\"tns:DataSetWriterMessageDataType\">\n    <Fields>\n      <Field Name=\"DataSetMessageContentMask\" DataType=\"tns:JsonDataSetMessageContentMask\" />\n    </Fields>\n  </DataType>\n  <DataType SymbolicName=\"tns:JsonDataSetReaderMessageDataType\" PartNo=\"14\" BaseType=\"tns:DataSetReaderMessageDataType\">\n    <Fields>\n      <Field Name=\"NetworkMessageContentMask\" DataType=\"tns:JsonNetworkMessageContentMask\" />\n      <Field Name=\"DataSetMessageContentMask\" DataType=\"tns:JsonDataSetMessageContentMask\" />\n    </Fields>\n  </DataType>\n  <DataType SymbolicName=\"tns:DatagramConnectionTransportDataType\" PartNo=\"14\" BaseType=\"tns:ConnectionTransportDataType\">\n    <Fields>\n      <Field Name=\"DiscoveryAddress\" DataType=\"tns:Structure\" />\n    </Fields>\n  </DataType>\n  <DataType SymbolicName=\"tns:DatagramWriterGroupTransportDataType\" PartNo=\"14\" BaseType=\"tns:WriterGroupTransportDataType\">\n    <Fields>\n      <Field Name=\"MessageRepeatCount\" DataType=\"tns:Byte\" />\n      <Field Name=\"MessageRepeatDelay\" DataType=\"tns:Duration\" />\n    </Fields>\n  </DataType>\n  <DataType SymbolicName=\"tns:BrokerConnectionTransportDataType\" PartNo=\"14\" BaseType=\"tns:ConnectionTransportDataType\">\n    <Fields>\n      <Field Name=\"ResourceUri\" DataType=\"tns:String\" />\n      <Field Name=\"AuthenticationProfileUri\" DataType=\"tns:String\" />\n    </Fields>\n  </DataType>\n  <DataType SymbolicName=\"tns:BrokerTransportQualityOfService\" PartNo=\"14\" BaseType=\"tns:Enumeration\">\n    <Fields>\n      <Field Name=\"NotSpecified\" Identifier=\"0\" />\n      <Field Name=\"BestEffort\" Identifier=\"1\" />\n      <Field Name=\"AtLeastOnce\" Identifier=\"2\" />\n      <Field Name=\"AtMostOnce\" Identifier=\"3\" />\n      <Field Name=\"ExactlyOnce\" Identifier=\"4\" />\n    </Fields>\n  </DataType>\n  <DataType SymbolicName=\"tns:BrokerWriterGroupTransportDataType\" PartNo=\"14\" BaseType=\"tns:WriterGroupTransportDataType\">\n    <Fields>\n      <Field Name=\"QueueName\" DataType=\"tns:String\" />\n      <Field Name=\"ResourceUri\" DataType=\"tns:String\" />\n      <Field Name=\"AuthenticationProfileUri\" DataType=\"tns:String\" />\n      <Field Name=\"RequestedDeliveryGuarantee\" DataType=\"tns:BrokerTransportQualityOfService\" />\n    </Fields>\n  </DataType>\n  <DataType SymbolicName=\"tns:BrokerDataSetWriterTransportDataType\" PartNo=\"14\" BaseType=\"tns:DataSetWriterTransportDataType\">\n    <Fields>\n      <Field Name=\"QueueName\" DataType=\"tns:String\" />\n      <Field Name=\"ResourceUri\" DataType=\"tns:String\" />\n      <Field Name=\"AuthenticationProfileUri\" DataType=\"tns:String\" />\n      <Field Name=\"RequestedDeliveryGuarantee\" DataType=\"tns:BrokerTransportQualityOfService\" />\n      <Field Name=\"MetaDataQueueName\" DataType=\"tns:String\" />\n      <Field Name=\"MetaDataUpdateTime\" DataType=\"tns:Duration\" />\n    </Fields>\n  </DataType>\n  <DataType SymbolicName=\"tns:BrokerDataSetReaderTransportDataType\" PartNo=\"14\" BaseType=\"tns:DataSetReaderTransportDataType\">\n    <Fields>\n      <Field Name=\"QueueName\" DataType=\"tns:String\" />\n      <Field Name=\"ResourceUri\" DataType=\"tns:String\" />\n      <Field Name=\"AuthenticationProfileUri\" DataType=\"tns:String\" />\n      <Field Name=\"RequestedDeliveryGuarantee\" DataType=\"tns:BrokerTransportQualityOfService\" />\n      <Field Name=\"MetaDataQueueName\" DataType=\"tns:String\" />\n    </Fields>\n  </DataType>\n  <ObjectType SymbolicName=\"tns:PubSubKeyServiceType\" PartNo=\"14\" BaseType=\"tns:BaseObjectType\">\n    <Children>\n      <Method SymbolicName=\"tns:GetSecurityKeys\" TypeDefinition=\"tns:GetSecurityKeysMethodType\" ModellingRule=\"Optional\" />\n      <Method SymbolicName=\"tns:GetSecurityGroup\" TypeDefinition=\"tns:GetSecurityGroupMethodType\" ModellingRule=\"Optional\" />\n      <Object SymbolicName=\"tns:SecurityGroups\" TypeDefinition=\"tns:SecurityGroupFolderType\" ModellingRule=\"Optional\" />\n    </Children>\n  </ObjectType>\n  <Method SymbolicName=\"tns:GetSecurityKeysMethodType\">\n    <InputArguments>\n      <Argument Name=\"SecurityGroupId\" DataType=\"tns:String\" />\n      <Argument Name=\"StartingTokenId\" DataType=\"tns:IntegerId\" />\n      <Argument Name=\"RequestedKeyCount\" DataType=\"tns:UInt32\" />\n    </InputArguments>\n    <OutputArguments>\n      <Argument Name=\"SecurityPolicyUri\" DataType=\"tns:String\" />\n      <Argument Name=\"FirstTokenId\" DataType=\"tns:IntegerId\" />\n      <Argument Name=\"Keys\" DataType=\"tns:ByteString\" ValueRank=\"Array\" />\n      <Argument Name=\"TimeToNextKey\" DataType=\"tns:Duration\" />\n      <Argument Name=\"KeyLifetime\" DataType=\"tns:Duration\" />\n    </OutputArguments>\n  </Method>\n  <Method SymbolicName=\"tns:GetSecurityGroupMethodType\">\n    <InputArguments>\n      <Argument Name=\"SecurityGroupId\" DataType=\"tns:String\" />\n    </InputArguments>\n    <OutputArguments>\n      <Argument Name=\"SecurityGroupNodeId\" DataType=\"tns:NodeId\" />\n    </OutputArguments>\n  </Method>\n  <Method SymbolicName=\"tns:AddSecurityGroupMethodType\">\n    <InputArguments>\n      <Argument Name=\"SecurityGroupName\" DataType=\"tns:String\" />\n      <Argument Name=\"KeyLifetime\" DataType=\"tns:Duration\" />\n      <Argument Name=\"SecurityPolicyUri\" DataType=\"tns:String\" />\n      <Argument Name=\"MaxFutureKeyCount\" DataType=\"tns:UInt32\" />\n      <Argument Name=\"MaxPastKeyCount\" DataType=\"tns:UInt32\" />\n    </InputArguments>\n    <OutputArguments>\n      <Argument Name=\"SecurityGroupId\" DataType=\"tns:String\" />\n      <Argument Name=\"SecurityGroupNodeId\" DataType=\"tns:NodeId\" />\n    </OutputArguments>\n  </Method>\n  <Method SymbolicName=\"tns:RemoveSecurityGroupMethodType\">\n    <InputArguments>\n      <Argument Name=\"SecurityGroupNodeId\" DataType=\"tns:NodeId\" />\n    </InputArguments>\n  </Method>\n  <ObjectType SymbolicName=\"tns:SecurityGroupFolderType\" PartNo=\"14\" BaseType=\"tns:FolderType\">\n    <Children>\n      <Object SymbolicName=\"tns:SecurityGroupFolderName_Placeholder\" TypeDefinition=\"tns:SecurityGroupFolderType\" ModellingRule=\"OptionalPlaceholder\">\n        <BrowseName>&lt;SecurityGroupFolderName&gt;</BrowseName>\n        <ReferenceType>tns:Organizes</ReferenceType>\n      </Object>\n      <Object SymbolicName=\"tns:SecurityGroupName_Placeholder\" TypeDefinition=\"tns:SecurityGroupType\" ModellingRule=\"OptionalPlaceholder\">\n        <BrowseName>&lt;SecurityGroupName&gt;</BrowseName>\n      </Object>\n      <Method SymbolicName=\"tns:AddSecurityGroup\" TypeDefinition=\"tns:AddSecurityGroupMethodType\" ModellingRule=\"Mandatory\" />\n      <Method SymbolicName=\"tns:RemoveSecurityGroup\" TypeDefinition=\"tns:RemoveSecurityGroupMethodType\" ModellingRule=\"Mandatory\" />\n    </Children>\n  </ObjectType>\n  <ObjectType SymbolicName=\"tns:SecurityGroupType\" PartNo=\"14\" BaseType=\"tns:BaseObjectType\">\n    <Children>\n      <Property SymbolicName=\"tns:SecurityGroupId\" ModellingRule=\"Mandatory\" DataType=\"tns:String\" />\n      <Property SymbolicName=\"tns:KeyLifetime\" ModellingRule=\"Mandatory\" DataType=\"tns:Duration\" />\n      <Property SymbolicName=\"tns:SecurityPolicyUri\" ModellingRule=\"Mandatory\" DataType=\"tns:String\" />\n      <Property SymbolicName=\"tns:MaxFutureKeyCount\" ModellingRule=\"Mandatory\" DataType=\"tns:UInt32\" />\n      <Property SymbolicName=\"tns:MaxPastKeyCount\" ModellingRule=\"Mandatory\" DataType=\"tns:UInt32\" />\n    </Children>\n  </ObjectType>\n  <ObjectType SymbolicName=\"tns:PublishSubscribeType\" PartNo=\"14\" BaseType=\"tns:PubSubKeyServiceType\">\n    <Children>\n      <Object SymbolicName=\"tns:ConnectionName_Placeholder\" TypeDefinition=\"tns:PubSubConnectionType\" ModellingRule=\"OptionalPlaceholder\">\n        <BrowseName>&lt;ConnectionName&gt;</BrowseName>\n        <ReferenceType>tns:HasPubSubConnection</ReferenceType>\n      </Object>\n      <Method SymbolicName=\"tns:SetSecurityKeys\" TypeDefinition=\"tns:SetSecurityKeysMethodType\" ModellingRule=\"Optional\" />\n      <Method SymbolicName=\"tns:AddConnection\" TypeDefinition=\"tns:AddConnectionMethodType\" ModellingRule=\"Optional\" />\n      <Method SymbolicName=\"tns:RemoveConnection\" TypeDefinition=\"tns:RemoveConnectionMethodType\" ModellingRule=\"Optional\" />\n      <Object SymbolicName=\"tns:PublishedDataSets\" TypeDefinition=\"tns:DataSetFolderType\" ModellingRule=\"Mandatory\" />\n      <Object SymbolicName=\"tns:Status\" TypeDefinition=\"tns:PubSubStatusType\" ModellingRule=\"Mandatory\" />\n      <Object SymbolicName=\"tns:Diagnostics\" TypeDefinition=\"tns:PubSubDiagnosticsRootType\" ModellingRule=\"Optional\" />\n      <Property SymbolicName=\"tns:SupportedTransportProfiles\" ModellingRule=\"Mandatory\" DataType=\"tns:String\" ValueRank=\"Array\" />\n    </Children>\n  </ObjectType>\n  <Object SymbolicName=\"tns:PublishSubscribe\" PartNo=\"14\" TypeDefinition=\"tns:PublishSubscribeType\">\n    <Children>\n      <Method SymbolicName=\"tns:GetSecurityKeys\" ModellingRule=\"Mandatory\" />\n      <Method SymbolicName=\"tns:GetSecurityGroup\" ModellingRule=\"Mandatory\" />\n      <Object SymbolicName=\"tns:SecurityGroups\" ModellingRule=\"Mandatory\" />\n      <Method SymbolicName=\"tns:AddConnection\" ModellingRule=\"Mandatory\" />\n      <Method SymbolicName=\"tns:RemoveConnection\" ModellingRule=\"Mandatory\" />\n      <Object SymbolicName=\"tns:PublishedDataSets\" ModellingRule=\"Mandatory\" />\n      <Object SymbolicName=\"tns:Status\" ModellingRule=\"Mandatory\" />\n      <Object SymbolicName=\"tns:Diagnostics\" ModellingRule=\"Mandatory\" />\n    </Children>\n    <References>\n      <Reference IsInverse=\"true\">\n        <ReferenceType>tns:HasComponent</ReferenceType>\n        <TargetId>tns:Server</TargetId>\n      </Reference>\n    </References>\n  </Object>\n  <Method SymbolicName=\"tns:SetSecurityKeysMethodType\" PartNo=\"14\">\n    <InputArguments>\n      <Argument Name=\"SecurityGroupId\" DataType=\"tns:String\" />\n      <Argument Name=\"SecurityPolicyUri\" DataType=\"tns:String\" />\n      <Argument Name=\"CurrentTokenId\" DataType=\"tns:IntegerId\" />\n      <Argument Name=\"CurrentKey\" DataType=\"tns:ByteString\" />\n      <Argument Name=\"FutureKeys\" DataType=\"tns:ByteString\" ValueRank=\"Array\" />\n      <Argument Name=\"TimeToNextKey\" DataType=\"tns:Duration\" />\n      <Argument Name=\"KeyLifetime\" DataType=\"tns:Duration\" />\n    </InputArguments>\n  </Method>\n  <Method SymbolicName=\"tns:AddConnectionMethodType\" PartNo=\"14\">\n    <InputArguments>\n      <Argument Name=\"Configuration\" DataType=\"tns:PubSubConnectionDataType\" />\n    </InputArguments>\n    <OutputArguments>\n      <Argument Name=\"ConnectionId\" DataType=\"tns:NodeId\" />\n    </OutputArguments>\n  </Method>\n  <Method SymbolicName=\"tns:RemoveConnectionMethodType\" PartNo=\"14\">\n    <InputArguments>\n      <Argument Name=\"ConnectionId\" DataType=\"tns:NodeId\" />\n    </InputArguments>\n  </Method>\n  <ReferenceType SymbolicName=\"tns:HasPubSubConnection\" PartNo=\"14\" BaseType=\"tns:HasComponent\" Symmetric=\"false\">\n    <InverseName>PubSubConnectionOf</InverseName>\n  </ReferenceType>\n  <ObjectType SymbolicName=\"tns:PublishedDataSetType\" PartNo=\"14\" BaseType=\"tns:BaseObjectType\">\n    <Children>\n      <Object SymbolicName=\"tns:DataSetWriterName_Placeholder\" TypeDefinition=\"tns:DataSetWriterType\" ModellingRule=\"OptionalPlaceholder\">\n        <BrowseName>&lt;DataSetWriterName&gt;</BrowseName>\n        <ReferenceType>tns:DataSetToWriter</ReferenceType>\n      </Object>\n      <Property SymbolicName=\"tns:ConfigurationVersion\" ModellingRule=\"Mandatory\" DataType=\"tns:ConfigurationVersionDataType\" />\n      <Property SymbolicName=\"tns:DataSetMetaData\" ModellingRule=\"Mandatory\" DataType=\"tns:DataSetMetaDataType\" />\n      <Property SymbolicName=\"tns:DataSetClassId\" ModellingRule=\"Optional\" DataType=\"tns:Guid\" />\n      <Object SymbolicName=\"tns:ExtensionFields\" TypeDefinition=\"tns:ExtensionFieldsType\" ModellingRule=\"Optional\" />\n    </Children>\n  </ObjectType>\n  <ObjectType SymbolicName=\"tns:ExtensionFieldsType\" PartNo=\"14\" BaseType=\"tns:BaseObjectType\">\n    <Children>\n      <Property SymbolicName=\"tns:ExtensionFieldName_Placeholder\" ModellingRule=\"OptionalPlaceholder\">\n        <BrowseName>&lt;ExtensionFieldName&gt;</BrowseName>\n      </Property>\n      <Method SymbolicName=\"tns:AddExtensionField\" TypeDefinition=\"tns:AddExtensionFieldMethodType\" ModellingRule=\"Mandatory\" />\n      <Method SymbolicName=\"tns:RemoveExtensionField\" TypeDefinition=\"tns:RemoveExtensionFieldMethodType\" ModellingRule=\"Mandatory\" />\n    </Children>\n  </ObjectType>\n  <Method SymbolicName=\"tns:AddExtensionFieldMethodType\" PartNo=\"14\">\n    <InputArguments>\n      <Argument Name=\"FieldName\" DataType=\"tns:QualifiedName\" />\n      <Argument Name=\"FieldValue\" DataType=\"tns:BaseDataType\" ValueRank=\"ScalarOrArray\" />\n    </InputArguments>\n    <OutputArguments>\n      <Argument Name=\"FieldId\" DataType=\"tns:NodeId\" />\n    </OutputArguments>\n  </Method>\n  <Method SymbolicName=\"tns:RemoveExtensionFieldMethodType\" PartNo=\"14\">\n    <InputArguments>\n      <Argument Name=\"FieldId\" DataType=\"tns:NodeId\" />\n    </InputArguments>\n  </Method>\n  <ReferenceType SymbolicName=\"tns:DataSetToWriter\" PartNo=\"14\" BaseType=\"tns:HierarchicalReferences\" Symmetric=\"false\">\n    <InverseName>WriterToDataSet</InverseName>\n  </ReferenceType>\n  <ObjectType SymbolicName=\"tns:PublishedDataItemsType\" PartNo=\"14\" BaseType=\"tns:PublishedDataSetType\">\n    <Children>\n      <Property SymbolicName=\"tns:PublishedData\" ModellingRule=\"Mandatory\" DataType=\"tns:PublishedVariableDataType\" ValueRank=\"Array\" />\n      <Method SymbolicName=\"tns:AddVariables\" TypeDefinition=\"tns:PublishedDataItemsAddVariablesMethodType\" ModellingRule=\"Optional\" />\n      <Method SymbolicName=\"tns:RemoveVariables\" TypeDefinition=\"tns:PublishedDataItemsRemoveVariablesMethodType\" ModellingRule=\"Optional\" />\n    </Children>\n  </ObjectType>\n  <Method SymbolicName=\"tns:PublishedDataItemsAddVariablesMethodType\" PartNo=\"14\">\n    <InputArguments>\n      <Argument Name=\"ConfigurationVersion\" DataType=\"tns:ConfigurationVersionDataType\" />\n      <Argument Name=\"FieldNameAliases\" DataType=\"tns:String\" ValueRank=\"Array\" />\n      <Argument Name=\"PromotedFields\" DataType=\"tns:Boolean\" ValueRank=\"Array\" />\n      <Argument Name=\"VariablesToAdd\" DataType=\"tns:PublishedVariableDataType\" ValueRank=\"Array\" />\n    </InputArguments>\n    <OutputArguments>\n      <Argument Name=\"NewConfigurationVersion\" DataType=\"tns:ConfigurationVersionDataType\" />\n      <Argument Name=\"AddResults\" DataType=\"tns:StatusCode\" ValueRank=\"Array\" />\n    </OutputArguments>\n  </Method>\n  <Method SymbolicName=\"tns:PublishedDataItemsRemoveVariablesMethodType\" PartNo=\"14\">\n    <InputArguments>\n      <Argument Name=\"ConfigurationVersion\" DataType=\"tns:ConfigurationVersionDataType\" />\n      <Argument Name=\"VariablesToRemove\" DataType=\"tns:UInt32\" ValueRank=\"Array\" />\n    </InputArguments>\n    <OutputArguments>\n      <Argument Name=\"NewConfigurationVersion\" DataType=\"tns:ConfigurationVersionDataType\" />\n      <Argument Name=\"RemoveResults\" DataType=\"tns:StatusCode\" ValueRank=\"Array\" />\n    </OutputArguments>\n  </Method>\n  <ObjectType SymbolicName=\"tns:PublishedEventsType\" PartNo=\"14\" BaseType=\"tns:PublishedDataSetType\">\n    <Children>\n      <Property SymbolicName=\"tns:PubSubEventNotifier\" ModellingRule=\"Mandatory\" DataType=\"tns:NodeId\">\n        <BrowseName>EventNotifier</BrowseName>\n      </Property>\n      <Property SymbolicName=\"tns:SelectedFields\" ModellingRule=\"Mandatory\" DataType=\"tns:SimpleAttributeOperand\" ValueRank=\"Array\" />\n      <Property SymbolicName=\"tns:Filter\" ModellingRule=\"Mandatory\" DataType=\"tns:ContentFilter\" />\n      <Method SymbolicName=\"tns:ModifyFieldSelection\" TypeDefinition=\"tns:PublishedEventsTypeModifyFieldSelectionMethodType\" ModellingRule=\"Optional\" />\n    </Children>\n  </ObjectType>\n  <Method SymbolicName=\"tns:PublishedEventsTypeModifyFieldSelectionMethodType\" PartNo=\"14\">\n    <InputArguments>\n      <Argument Name=\"ConfigurationVersion\" DataType=\"tns:ConfigurationVersionDataType\" />\n      <Argument Name=\"FieldNameAliases\" DataType=\"tns:String\" ValueRank=\"Array\" />\n      <Argument Name=\"PromotedFields\" DataType=\"tns:Boolean\" ValueRank=\"Array\" />\n      <Argument Name=\"SelectedFields\" DataType=\"tns:SimpleAttributeOperand\" ValueRank=\"Array\" />\n    </InputArguments>\n    <OutputArguments>\n      <Argument Name=\"NewConfigurationVersion\" DataType=\"tns:ConfigurationVersionDataType\" />\n    </OutputArguments>\n  </Method>\n  <ObjectType SymbolicName=\"tns:DataSetFolderType\" PartNo=\"14\" BaseType=\"tns:FolderType\">\n    <Children>\n      <Object SymbolicName=\"tns:DataSetFolderName_Placeholder\" TypeDefinition=\"tns:DataSetFolderType\" ModellingRule=\"OptionalPlaceholder\">\n        <BrowseName>&lt;DataSetFolderName&gt;</BrowseName>\n        <ReferenceType>tns:Organizes</ReferenceType>\n      </Object>\n      <Object SymbolicName=\"tns:PublishedDataSetName_Placeholder\" TypeDefinition=\"tns:PublishedDataSetType\" ModellingRule=\"OptionalPlaceholder\">\n        <BrowseName>&lt;PublishedDataSetName&gt;</BrowseName>\n      </Object>\n      <Method SymbolicName=\"tns:AddPublishedDataItems\" TypeDefinition=\"tns:AddPublishedDataItemsMethodType\" ModellingRule=\"Optional\" />\n      <Method SymbolicName=\"tns:AddPublishedEvents\" TypeDefinition=\"tns:AddPublishedEventsMethodType\" ModellingRule=\"Optional\" />\n      <Method SymbolicName=\"tns:AddPublishedDataItemsTemplate\" TypeDefinition=\"tns:AddPublishedDataItemsTemplateMethodType\" ModellingRule=\"Optional\" />\n      <Method SymbolicName=\"tns:AddPublishedEventsTemplate\" TypeDefinition=\"tns:AddPublishedEventsTemplateMethodType\" ModellingRule=\"Optional\" />\n      <Method SymbolicName=\"tns:RemovePublishedDataSet\" TypeDefinition=\"tns:RemovePublishedDataSetMethodType\" ModellingRule=\"Optional\" />\n      <Method SymbolicName=\"tns:AddDataSetFolder\" TypeDefinition=\"tns:AddDataSetFolderMethodType\" ModellingRule=\"Optional\" />\n      <Method SymbolicName=\"tns:RemoveDataSetFolder\" TypeDefinition=\"tns:RemoveDataSetFolderMethodType\" ModellingRule=\"Optional\" />\n    </Children>\n  </ObjectType>\n  <Method SymbolicName=\"tns:AddPublishedDataItemsMethodType\" PartNo=\"14\">\n    <InputArguments>\n      <Argument Name=\"Name\" DataType=\"tns:String\" />\n      <Argument Name=\"FieldNameAliases\" DataType=\"tns:String\" ValueRank=\"Array\" />\n      <Argument Name=\"FieldFlags\" DataType=\"tns:DataSetFieldFlags\" ValueRank=\"Array\" />\n      <Argument Name=\"VariablesToAdd\" DataType=\"tns:PublishedVariableDataType\" ValueRank=\"Array\" />\n    </InputArguments>\n    <OutputArguments>\n      <Argument Name=\"DataSetNodeId\" DataType=\"tns:NodeId\" />\n      <Argument Name=\"ConfigurationVersion\" DataType=\"tns:ConfigurationVersionDataType\" />\n      <Argument Name=\"AddResults\" DataType=\"tns:StatusCode\" ValueRank=\"Array\" />\n    </OutputArguments>\n  </Method>\n  <Method SymbolicName=\"tns:AddPublishedEventsMethodType\" PartNo=\"14\">\n    <InputArguments>\n      <Argument Name=\"Name\" DataType=\"tns:String\" />\n      <Argument Name=\"EventNotifier\" DataType=\"tns:NodeId\" />\n      <Argument Name=\"FieldNameAliases\" DataType=\"tns:String\" ValueRank=\"Array\" />\n      <Argument Name=\"FieldFlags\" DataType=\"tns:DataSetFieldFlags\" ValueRank=\"Array\" />\n      <Argument Name=\"SelectedFields\" DataType=\"tns:SimpleAttributeOperand\" ValueRank=\"Array\" />\n      <Argument Name=\"Filter\" DataType=\"tns:ContentFilter\" />\n    </InputArguments>\n    <OutputArguments>\n      <Argument Name=\"ConfigurationVersion\" DataType=\"tns:ConfigurationVersionDataType\" />\n      <Argument Name=\"DataSetNodeId\" DataType=\"tns:NodeId\" />\n    </OutputArguments>\n  </Method>\n  <Method SymbolicName=\"tns:AddPublishedDataItemsTemplateMethodType\" PartNo=\"14\">\n    <InputArguments>\n      <Argument Name=\"Name\" DataType=\"tns:String\" />\n      <Argument Name=\"DataSetMetaData\" DataType=\"tns:DataSetMetaDataType\" />\n      <Argument Name=\"VariablesToAdd\" DataType=\"tns:PublishedVariableDataType\" ValueRank=\"Array\" />\n    </InputArguments>\n    <OutputArguments>\n      <Argument Name=\"DataSetNodeId\" DataType=\"tns:NodeId\" />\n      <Argument Name=\"AddResults\" DataType=\"tns:StatusCode\" ValueRank=\"Array\" />\n    </OutputArguments>\n  </Method>\n  <Method SymbolicName=\"tns:AddPublishedEventsTemplateMethodType\" PartNo=\"14\">\n    <InputArguments>\n      <Argument Name=\"Name\" DataType=\"tns:String\" />\n      <Argument Name=\"DataSetMetaData\" DataType=\"tns:DataSetMetaDataType\" />\n      <Argument Name=\"EventNotifier\" DataType=\"tns:NodeId\" />\n      <Argument Name=\"SelectedFields\" DataType=\"tns:SimpleAttributeOperand\" ValueRank=\"Array\" />\n      <Argument Name=\"Filter\" DataType=\"tns:ContentFilter\" />\n    </InputArguments>\n    <OutputArguments>\n      <Argument Name=\"DataSetNodeId\" DataType=\"tns:NodeId\" />\n    </OutputArguments>\n  </Method>\n  <Method SymbolicName=\"tns:RemovePublishedDataSetMethodType\" PartNo=\"14\">\n    <InputArguments>\n      <Argument Name=\"DataSetNodeId\" DataType=\"tns:NodeId\" />\n    </InputArguments>\n  </Method>\n  <Method SymbolicName=\"tns:AddDataSetFolderMethodType\" PartNo=\"14\">\n    <InputArguments>\n      <Argument Name=\"Name\" DataType=\"tns:String\" />\n    </InputArguments>\n    <OutputArguments>\n      <Argument Name=\"DataSetFolderNodeId\" DataType=\"tns:NodeId\" />\n    </OutputArguments>\n  </Method>\n  <Method SymbolicName=\"tns:RemoveDataSetFolderMethodType\" PartNo=\"14\">\n    <InputArguments>\n      <Argument Name=\"DataSetFolderNodeId\" DataType=\"tns:NodeId\" />\n    </InputArguments>\n  </Method>\n  <ObjectType SymbolicName=\"tns:PubSubConnectionType\" PartNo=\"14\" BaseType=\"tns:BaseObjectType\">\n    <Children>\n      <Property SymbolicName=\"tns:PublisherId\" ModellingRule=\"Mandatory\" DataType=\"tns:BaseDataType\" />\n      <Variable SymbolicName=\"tns:TransportProfileUri\" TypeDefinition=\"tns:SelectionListType\" ModellingRule=\"Mandatory\" DataType=\"tns:String\" />\n      <Property SymbolicName=\"tns:ConnectionProperties\" ModellingRule=\"Mandatory\" DataType=\"tns:KeyValuePair\" ValueRank=\"Array\" />\n      <Object SymbolicName=\"tns:Address\" TypeDefinition=\"tns:NetworkAddressType\" ModellingRule=\"Mandatory\" />\n      <Object SymbolicName=\"tns:TransportSettings\" TypeDefinition=\"tns:ConnectionTransportType\" ModellingRule=\"Optional\" />\n      <Object SymbolicName=\"tns:WriterGroupName_Placeholder\" TypeDefinition=\"tns:WriterGroupType\" ModellingRule=\"OptionalPlaceholder\">\n        <BrowseName>&lt;WriterGroupName&gt;</BrowseName>\n        <ReferenceType>tns:HasWriterGroup</ReferenceType>\n      </Object>\n      <Object SymbolicName=\"tns:ReaderGroupName_Placeholder\" TypeDefinition=\"tns:ReaderGroupType\" ModellingRule=\"OptionalPlaceholder\">\n        <BrowseName>&lt;ReaderGroupName&gt;</BrowseName>\n        <ReferenceType>tns:HasReaderGroup</ReferenceType>\n      </Object>\n      <Object SymbolicName=\"tns:Status\" TypeDefinition=\"tns:PubSubStatusType\" ModellingRule=\"Mandatory\" />\n      <Object SymbolicName=\"tns:Diagnostics\" TypeDefinition=\"tns:PubSubDiagnosticsConnectionType\" ModellingRule=\"Optional\" />\n      <Method SymbolicName=\"tns:AddWriterGroup\" TypeDefinition=\"tns:PubSubConnectionTypeAddWriterGroupMethodType\" ModellingRule=\"Optional\" />\n      <Method SymbolicName=\"tns:AddReaderGroup\" TypeDefinition=\"tns:PubSubConnectionAddReaderGroupGroupMethodType\" ModellingRule=\"Optional\" />\n      <Method SymbolicName=\"tns:RemoveGroup\" TypeDefinition=\"tns:PubSubConnectionTypeRemoveGroupMethodType\" ModellingRule=\"Optional\" />\n    </Children>\n  </ObjectType>\n  <Method SymbolicName=\"tns:PubSubConnectionTypeAddWriterGroupMethodType\" PartNo=\"14\">\n    <InputArguments>\n      <Argument Name=\"Configuration\" DataType=\"tns:WriterGroupDataType\" />\n    </InputArguments>\n    <OutputArguments>\n      <Argument Name=\"GroupId\" DataType=\"tns:NodeId\" />\n    </OutputArguments>\n  </Method>\n  <Method SymbolicName=\"tns:PubSubConnectionAddReaderGroupGroupMethodType\" PartNo=\"14\">\n    <InputArguments>\n      <Argument Name=\"Configuration\" DataType=\"tns:ReaderGroupDataType\" />\n    </InputArguments>\n    <OutputArguments>\n      <Argument Name=\"GroupId\" DataType=\"tns:NodeId\" />\n    </OutputArguments>\n  </Method>\n  <Method SymbolicName=\"tns:PubSubConnectionTypeRemoveGroupMethodType\" PartNo=\"14\">\n    <InputArguments>\n      <Argument Name=\"GroupId\" DataType=\"tns:NodeId\" />\n    </InputArguments>\n  </Method>\n  <ObjectType SymbolicName=\"tns:ConnectionTransportType\" PartNo=\"14\" BaseType=\"tns:BaseObjectType\" IsAbstract=\"true\" />\n  <ObjectType SymbolicName=\"tns:PubSubGroupType\" PartNo=\"14\" BaseType=\"tns:BaseObjectType\" IsAbstract=\"true\">\n    <Children>\n      <Property SymbolicName=\"tns:SecurityMode\" ModellingRule=\"Mandatory\" DataType=\"tns:MessageSecurityMode\" />\n      <Property SymbolicName=\"tns:SecurityGroupId\" ModellingRule=\"Optional\" DataType=\"tns:String\" />\n      <Property SymbolicName=\"tns:SecurityKeyServices\" ModellingRule=\"Optional\" DataType=\"tns:EndpointDescription\" ValueRank=\"Array\" />\n      <Property SymbolicName=\"tns:MaxNetworkMessageSize\" ModellingRule=\"Mandatory\" DataType=\"tns:UInt32\" />\n      <Property SymbolicName=\"tns:GroupProperties\" ModellingRule=\"Mandatory\" DataType=\"tns:KeyValuePair\" ValueRank=\"Array\" />\n      <Object SymbolicName=\"tns:Status\" TypeDefinition=\"tns:PubSubStatusType\" ModellingRule=\"Mandatory\" />\n    </Children>\n  </ObjectType>\n  <ObjectType SymbolicName=\"tns:WriterGroupType\" PartNo=\"14\" BaseType=\"tns:PubSubGroupType\">\n    <Children>\n      <Property SymbolicName=\"tns:WriterGroupId\" ModellingRule=\"Mandatory\" DataType=\"tns:UInt16\" />\n      <Property SymbolicName=\"tns:PublishingInterval\" ModellingRule=\"Mandatory\" DataType=\"tns:Duration\" />\n      <Property SymbolicName=\"tns:KeepAliveTime\" ModellingRule=\"Mandatory\" DataType=\"tns:Duration\" />\n      <Property SymbolicName=\"tns:Priority\" ModellingRule=\"Mandatory\" DataType=\"tns:Byte\" />\n      <Property SymbolicName=\"tns:LocaleIds\" ModellingRule=\"Mandatory\" DataType=\"tns:LocaleId\" ValueRank=\"Array\" />\n      <Property SymbolicName=\"tns:HeaderLayoutUri\" ModellingRule=\"Mandatory\" DataType=\"tns:String\" />\n      <Object SymbolicName=\"tns:TransportSettings\" TypeDefinition=\"tns:WriterGroupTransportType\" ModellingRule=\"Optional\" />\n      <Object SymbolicName=\"tns:MessageSettings\" TypeDefinition=\"tns:WriterGroupMessageType\" ModellingRule=\"Optional\" />\n      <Object SymbolicName=\"tns:DataSetWriterName_Placeholder\" TypeDefinition=\"tns:DataSetWriterType\" ModellingRule=\"OptionalPlaceholder\">\n        <BrowseName>&lt;DataSetWriterName&gt;</BrowseName>\n        <ReferenceType>tns:HasDataSetWriter</ReferenceType>\n      </Object>\n      <Object SymbolicName=\"tns:Diagnostics\" TypeDefinition=\"tns:PubSubDiagnosticsWriterGroupType\" ModellingRule=\"Optional\" />\n      <Method SymbolicName=\"tns:AddDataSetWriter\" TypeDefinition=\"tns:PubSubGroupTypeAddWriterMethodType\" ModellingRule=\"Optional\" />\n      <Method SymbolicName=\"tns:RemoveDataSetWriter\" TypeDefinition=\"tns:PubSubGroupTypeRemoveWriterMethodType\" ModellingRule=\"Optional\" />\n    </Children>\n  </ObjectType>\n  <Method SymbolicName=\"tns:PubSubGroupTypeAddWriterMethodType\" PartNo=\"14\">\n    <InputArguments>\n      <Argument Name=\"Configuration\" DataType=\"tns:DataSetWriterDataType\" />\n    </InputArguments>\n    <OutputArguments>\n      <Argument Name=\"DataSetWriterNodeId\" DataType=\"tns:NodeId\" />\n    </OutputArguments>\n  </Method>\n  <Method SymbolicName=\"tns:PubSubGroupTypeRemoveWriterMethodType\" PartNo=\"14\">\n    <InputArguments>\n      <Argument Name=\"DataSetWriterNodeId\" DataType=\"tns:NodeId\" />\n    </InputArguments>\n  </Method>\n  <ReferenceType SymbolicName=\"tns:HasDataSetWriter\" PartNo=\"14\" BaseType=\"tns:HasComponent\" Symmetric=\"false\">\n    <InverseName>IsWriterInGroup</InverseName>\n  </ReferenceType>\n  <ReferenceType SymbolicName=\"tns:HasWriterGroup\" PartNo=\"14\" BaseType=\"tns:HasComponent\" Symmetric=\"false\">\n    <InverseName>IsWriterGroupOf</InverseName>\n  </ReferenceType>\n  <ObjectType SymbolicName=\"tns:WriterGroupTransportType\" PartNo=\"14\" BaseType=\"tns:BaseObjectType\" IsAbstract=\"true\" />\n  <ObjectType SymbolicName=\"tns:WriterGroupMessageType\" PartNo=\"14\" BaseType=\"tns:BaseObjectType\" IsAbstract=\"true\" />\n  <ObjectType SymbolicName=\"tns:ReaderGroupType\" PartNo=\"14\" BaseType=\"tns:PubSubGroupType\">\n    <Children>\n      <Object SymbolicName=\"tns:DataSetReaderName_Placeholder\" TypeDefinition=\"tns:DataSetReaderType\" ModellingRule=\"OptionalPlaceholder\">\n        <BrowseName>&lt;DataSetReaderName&gt;</BrowseName>\n        <ReferenceType>tns:HasDataSetReader</ReferenceType>\n      </Object>\n      <Object SymbolicName=\"tns:Diagnostics\" TypeDefinition=\"tns:PubSubDiagnosticsReaderGroupType\" ModellingRule=\"Optional\" />\n      <Object SymbolicName=\"tns:TransportSettings\" TypeDefinition=\"tns:ReaderGroupTransportType\" ModellingRule=\"Optional\" />\n      <Object SymbolicName=\"tns:MessageSettings\" TypeDefinition=\"tns:ReaderGroupMessageType\" ModellingRule=\"Optional\" />\n      <Method SymbolicName=\"tns:AddDataSetReader\" TypeDefinition=\"tns:PubSubGroupTypeAddReaderMethodType\" ModellingRule=\"Optional\" />\n      <Method SymbolicName=\"tns:RemoveDataSetReader\" TypeDefinition=\"tns:PubSubGroupTypeRemoveReaderMethodType\" ModellingRule=\"Optional\" />\n    </Children>\n  </ObjectType>\n  <Method SymbolicName=\"tns:PubSubGroupTypeAddReaderMethodType\" PartNo=\"14\">\n    <InputArguments>\n      <Argument Name=\"Configuration\" DataType=\"tns:DataSetReaderDataType\" />\n    </InputArguments>\n    <OutputArguments>\n      <Argument Name=\"DataSetReaderNodeId\" DataType=\"tns:NodeId\" />\n    </OutputArguments>\n  </Method>\n  <Method SymbolicName=\"tns:PubSubGroupTypeRemoveReaderMethodType\" PartNo=\"14\">\n    <InputArguments>\n      <Argument Name=\"DataSetReaderNodeId\" DataType=\"tns:NodeId\" />\n    </InputArguments>\n  </Method>\n  <ReferenceType SymbolicName=\"tns:HasDataSetReader\" PartNo=\"14\" BaseType=\"tns:HasComponent\" Symmetric=\"false\">\n    <InverseName>IsReaderInGroup</InverseName>\n  </ReferenceType>\n  <ReferenceType SymbolicName=\"tns:HasReaderGroup\" PartNo=\"14\" BaseType=\"tns:HasComponent\" Symmetric=\"false\">\n    <InverseName>IsReaderGroupOf</InverseName>\n  </ReferenceType>\n  <ObjectType SymbolicName=\"tns:ReaderGroupTransportType\" PartNo=\"14\" BaseType=\"tns:BaseObjectType\" IsAbstract=\"true\" />\n  <ObjectType SymbolicName=\"tns:ReaderGroupMessageType\" PartNo=\"14\" BaseType=\"tns:BaseObjectType\" IsAbstract=\"true\" />\n  <ObjectType SymbolicName=\"tns:DataSetWriterType\" PartNo=\"14\" BaseType=\"tns:BaseObjectType\">\n    <Children>\n      <Property SymbolicName=\"tns:DataSetWriterId\" ModellingRule=\"Mandatory\" DataType=\"tns:UInt16\" />\n      <Property SymbolicName=\"tns:DataSetFieldContentMask\" ModellingRule=\"Mandatory\" DataType=\"tns:DataSetFieldContentMask\" />\n      <Property SymbolicName=\"tns:KeyFrameCount\" ModellingRule=\"Optional\" DataType=\"tns:UInt32\" />\n      <Property SymbolicName=\"tns:DataSetWriterProperties\" ModellingRule=\"Mandatory\" DataType=\"tns:KeyValuePair\" ValueRank=\"Array\" />\n      <Object SymbolicName=\"tns:TransportSettings\" TypeDefinition=\"tns:DataSetWriterTransportType\" ModellingRule=\"Optional\" />\n      <Object SymbolicName=\"tns:MessageSettings\" TypeDefinition=\"tns:DataSetWriterMessageType\" ModellingRule=\"Optional\" />\n      <Object SymbolicName=\"tns:Status\" TypeDefinition=\"tns:PubSubStatusType\" ModellingRule=\"Mandatory\" />\n      <Object SymbolicName=\"tns:Diagnostics\" TypeDefinition=\"tns:PubSubDiagnosticsDataSetWriterType\" ModellingRule=\"Optional\" />\n    </Children>\n  </ObjectType>\n  <ObjectType SymbolicName=\"tns:DataSetWriterTransportType\" PartNo=\"14\" BaseType=\"tns:BaseObjectType\" IsAbstract=\"true\" />\n  <ObjectType SymbolicName=\"tns:DataSetWriterMessageType\" PartNo=\"14\" BaseType=\"tns:BaseObjectType\" IsAbstract=\"true\" />\n  <ObjectType SymbolicName=\"tns:DataSetReaderType\" PartNo=\"14\" BaseType=\"tns:BaseObjectType\">\n    <Children>\n      <Property SymbolicName=\"tns:PublisherId\" ModellingRule=\"Mandatory\" DataType=\"tns:BaseDataType\" />\n      <Property SymbolicName=\"tns:WriterGroupId\" ModellingRule=\"Mandatory\" DataType=\"tns:UInt16\" />\n      <Property SymbolicName=\"tns:DataSetWriterId\" ModellingRule=\"Mandatory\" DataType=\"tns:UInt16\" />\n      <Property SymbolicName=\"tns:DataSetMetaData\" ModellingRule=\"Mandatory\" DataType=\"tns:DataSetMetaDataType\" />\n      <Property SymbolicName=\"tns:DataSetFieldContentMask\" ModellingRule=\"Mandatory\" DataType=\"tns:DataSetFieldContentMask\" />\n      <Property SymbolicName=\"tns:MessageReceiveTimeout\" ModellingRule=\"Mandatory\" DataType=\"tns:Duration\" />\n      <Property SymbolicName=\"tns:KeyFrameCount\" ModellingRule=\"Mandatory\" DataType=\"tns:UInt32\" />\n      <Property SymbolicName=\"tns:HeaderLayoutUri\" ModellingRule=\"Mandatory\" DataType=\"tns:String\" />\n      <Property SymbolicName=\"tns:SecurityMode\" ModellingRule=\"Optional\" DataType=\"tns:MessageSecurityMode\" />\n      <Property SymbolicName=\"tns:SecurityGroupId\" ModellingRule=\"Optional\" DataType=\"tns:String\" />\n      <Property SymbolicName=\"tns:SecurityKeyServices\" ModellingRule=\"Optional\" DataType=\"tns:EndpointDescription\" ValueRank=\"Array\" />\n      <Property SymbolicName=\"tns:DataSetReaderProperties\" ModellingRule=\"Mandatory\" DataType=\"tns:KeyValuePair\" ValueRank=\"Array\" />\n      <Object SymbolicName=\"tns:TransportSettings\" TypeDefinition=\"tns:DataSetReaderTransportType\" ModellingRule=\"Optional\" />\n      <Object SymbolicName=\"tns:MessageSettings\" TypeDefinition=\"tns:DataSetReaderMessageType\" ModellingRule=\"Optional\" />\n      <Object SymbolicName=\"tns:Status\" TypeDefinition=\"tns:PubSubStatusType\" ModellingRule=\"Mandatory\" />\n      <Object SymbolicName=\"tns:Diagnostics\" TypeDefinition=\"tns:PubSubDiagnosticsDataSetReaderType\" ModellingRule=\"Optional\" />\n      <Object SymbolicName=\"tns:SubscribedDataSet\" TypeDefinition=\"tns:SubscribedDataSetType\" ModellingRule=\"Mandatory\" />\n      <Method SymbolicName=\"tns:CreateTargetVariables\" TypeDefinition=\"tns:DataSetReaderTypeCreateTargetVariablesMethodType\" ModellingRule=\"Optional\" />\n      <Method SymbolicName=\"tns:CreateDataSetMirror\" TypeDefinition=\"tns:DataSetReaderTypeCreateDataSetMirrorMethodType\" ModellingRule=\"Optional\" />\n    </Children>\n  </ObjectType>\n  <ObjectType SymbolicName=\"tns:DataSetReaderTransportType\" PartNo=\"14\" BaseType=\"tns:BaseObjectType\" IsAbstract=\"true\" />\n  <ObjectType SymbolicName=\"tns:DataSetReaderMessageType\" PartNo=\"14\" BaseType=\"tns:BaseObjectType\" IsAbstract=\"true\" />\n  <Method SymbolicName=\"tns:DataSetReaderTypeCreateTargetVariablesMethodType\" PartNo=\"14\">\n    <InputArguments>\n      <Argument Name=\"ConfigurationVersion\" DataType=\"tns:ConfigurationVersionDataType\" />\n      <Argument Name=\"TargetVariablesToAdd\" DataType=\"tns:FieldTargetDataType\" ValueRank=\"Array\" />\n    </InputArguments>\n    <OutputArguments>\n      <Argument Name=\"AddResults\" DataType=\"tns:StatusCode\" ValueRank=\"Array\" />\n    </OutputArguments>\n  </Method>\n  <Method SymbolicName=\"tns:DataSetReaderTypeCreateDataSetMirrorMethodType\" PartNo=\"14\">\n    <InputArguments>\n      <Argument Name=\"ParentNodeName\" DataType=\"tns:String\" />\n      <Argument Name=\"RolePermissions\" DataType=\"tns:RolePermissionType\" ValueRank=\"Array\" />\n    </InputArguments>\n    <OutputArguments>\n      <Argument Name=\"ParentNodeId\" DataType=\"tns:NodeId\" />\n    </OutputArguments>\n  </Method>\n  <ObjectType SymbolicName=\"tns:SubscribedDataSetType\" PartNo=\"14\" BaseType=\"tns:BaseObjectType\" />\n  <ObjectType SymbolicName=\"tns:TargetVariablesType\" PartNo=\"14\" BaseType=\"tns:SubscribedDataSetType\">\n    <Children>\n      <Property SymbolicName=\"tns:TargetVariables\" ModellingRule=\"Mandatory\" DataType=\"tns:FieldTargetDataType\" ValueRank=\"Array\" />\n      <Method SymbolicName=\"tns:AddTargetVariables\" TypeDefinition=\"tns:TargetVariablesTypeAddTargetVariablesMethodType\" ModellingRule=\"Optional\" />\n      <Method SymbolicName=\"tns:RemoveTargetVariables\" TypeDefinition=\"tns:TargetVariablesTypeRemoveTargetVariablesMethodType\" ModellingRule=\"Optional\" />\n    </Children>\n  </ObjectType>\n  <Method SymbolicName=\"tns:TargetVariablesTypeAddTargetVariablesMethodType\" PartNo=\"14\">\n    <InputArguments>\n      <Argument Name=\"ConfigurationVersion\" DataType=\"tns:ConfigurationVersionDataType\" />\n      <Argument Name=\"TargetVariablesToAdd\" DataType=\"tns:FieldTargetDataType\" ValueRank=\"Array\" />\n    </InputArguments>\n    <OutputArguments>\n      <Argument Name=\"AddResults\" DataType=\"tns:StatusCode\" ValueRank=\"Array\" />\n    </OutputArguments>\n  </Method>\n  <Method SymbolicName=\"tns:TargetVariablesTypeRemoveTargetVariablesMethodType\" PartNo=\"14\">\n    <InputArguments>\n      <Argument Name=\"ConfigurationVersion\" DataType=\"tns:ConfigurationVersionDataType\" />\n      <Argument Name=\"TargetsToRemove\" DataType=\"tns:UInt32\" ValueRank=\"Array\" />\n    </InputArguments>\n    <OutputArguments>\n      <Argument Name=\"RemoveResults\" DataType=\"tns:StatusCode\" ValueRank=\"Array\" />\n    </OutputArguments>\n  </Method>\n  <ObjectType SymbolicName=\"tns:SubscribedDataSetMirrorType\" PartNo=\"14\" BaseType=\"tns:SubscribedDataSetType\" />\n  <ObjectType SymbolicName=\"tns:PubSubStatusType\" PartNo=\"14\" BaseType=\"tns:BaseObjectType\">\n    <Children>\n      <Variable SymbolicName=\"tns:State\" ModellingRule=\"Mandatory\" DataType=\"tns:PubSubState\" />\n      <Method SymbolicName=\"tns:Enable\" ModellingRule=\"Optional\" />\n      <Method SymbolicName=\"tns:Disable\" ModellingRule=\"Optional\" />\n    </Children>\n  </ObjectType>\n  <ObjectType SymbolicName=\"tns:PubSubDiagnosticsType\" PartNo=\"14\" BaseType=\"tns:BaseObjectType\" IsAbstract=\"true\">\n    <Children>\n      <Variable SymbolicName=\"tns:DiagnosticsLevel\" ModellingRule=\"Mandatory\" DataType=\"tns:DiagnosticsLevel\" />\n      <Variable SymbolicName=\"tns:TotalInformation\" TypeDefinition=\"tns:PubSubDiagnosticsCounterType\" ModellingRule=\"Mandatory\" DataType=\"tns:UInt32\" />\n      <Variable SymbolicName=\"tns:TotalError\" TypeDefinition=\"tns:PubSubDiagnosticsCounterType\" ModellingRule=\"Mandatory\" DataType=\"tns:UInt32\" />\n      <Method SymbolicName=\"tns:Reset\" ModellingRule=\"Mandatory\" />\n      <Variable SymbolicName=\"tns:SubError\" ModellingRule=\"Mandatory\" DataType=\"tns:Boolean\" />\n      <Object SymbolicName=\"tns:Counters\" ModellingRule=\"Mandatory\">\n        <Children>\n          <Variable SymbolicName=\"tns:StateError\" TypeDefinition=\"tns:PubSubDiagnosticsCounterType\" ModellingRule=\"Mandatory\" DataType=\"tns:UInt32\">\n            <Children>\n              <Property SymbolicName=\"tns:Classification\" ModellingRule=\"Mandatory\" DataType=\"tns:PubSubDiagnosticsCounterClassification\">\n                <DefaultValue>\n                  <uax:Int32>1</uax:Int32>\n                </DefaultValue>\n              </Property>\n              <Property SymbolicName=\"tns:DiagnosticsLevel\" ModellingRule=\"Mandatory\" DataType=\"tns:DiagnosticsLevel\">\n                <DefaultValue>\n                  <uax:Int32>0</uax:Int32>\n                </DefaultValue>\n              </Property>\n            </Children>\n          </Variable>\n          <Variable SymbolicName=\"tns:StateOperationalByMethod\" TypeDefinition=\"tns:PubSubDiagnosticsCounterType\" ModellingRule=\"Mandatory\" DataType=\"tns:UInt32\">\n            <Children>\n              <Property SymbolicName=\"tns:Classification\" ModellingRule=\"Mandatory\" DataType=\"tns:PubSubDiagnosticsCounterClassification\">\n                <DefaultValue>\n                  <uax:Int32>0</uax:Int32>\n                </DefaultValue>\n              </Property>\n              <Property SymbolicName=\"tns:DiagnosticsLevel\" ModellingRule=\"Mandatory\" DataType=\"tns:DiagnosticsLevel\">\n                <DefaultValue>\n                  <uax:Int32>0</uax:Int32>\n                </DefaultValue>\n              </Property>\n            </Children>\n          </Variable>\n          <Variable SymbolicName=\"tns:StateOperationalByParent\" TypeDefinition=\"tns:PubSubDiagnosticsCounterType\" ModellingRule=\"Mandatory\" DataType=\"tns:UInt32\">\n            <Children>\n              <Property SymbolicName=\"tns:Classification\" ModellingRule=\"Mandatory\" DataType=\"tns:PubSubDiagnosticsCounterClassification\">\n                <DefaultValue>\n                  <uax:Int32>0</uax:Int32>\n                </DefaultValue>\n              </Property>\n              <Property SymbolicName=\"tns:DiagnosticsLevel\" ModellingRule=\"Mandatory\" DataType=\"tns:DiagnosticsLevel\">\n                <DefaultValue>\n                  <uax:Int32>0</uax:Int32>\n                </DefaultValue>\n              </Property>\n            </Children>\n          </Variable>\n          <Variable SymbolicName=\"tns:StateOperationalFromError\" TypeDefinition=\"tns:PubSubDiagnosticsCounterType\" ModellingRule=\"Mandatory\" DataType=\"tns:UInt32\">\n            <Children>\n              <Property SymbolicName=\"tns:Classification\" ModellingRule=\"Mandatory\" DataType=\"tns:PubSubDiagnosticsCounterClassification\">\n                <DefaultValue>\n                  <uax:Int32>0</uax:Int32>\n                </DefaultValue>\n              </Property>\n              <Property SymbolicName=\"tns:DiagnosticsLevel\" ModellingRule=\"Mandatory\" DataType=\"tns:DiagnosticsLevel\">\n                <DefaultValue>\n                  <uax:Int32>0</uax:Int32>\n                </DefaultValue>\n              </Property>\n            </Children>\n          </Variable>\n          <Variable SymbolicName=\"tns:StatePausedByParent\" TypeDefinition=\"tns:PubSubDiagnosticsCounterType\" ModellingRule=\"Mandatory\" DataType=\"tns:UInt32\">\n            <Children>\n              <Property SymbolicName=\"tns:Classification\" ModellingRule=\"Mandatory\" DataType=\"tns:PubSubDiagnosticsCounterClassification\">\n                <DefaultValue>\n                  <uax:Int32>0</uax:Int32>\n                </DefaultValue>\n              </Property>\n              <Property SymbolicName=\"tns:DiagnosticsLevel\" ModellingRule=\"Mandatory\" DataType=\"tns:DiagnosticsLevel\">\n                <DefaultValue>\n                  <uax:Int32>0</uax:Int32>\n                </DefaultValue>\n              </Property>\n            </Children>\n          </Variable>\n          <Variable SymbolicName=\"tns:StateDisabledByMethod\" TypeDefinition=\"tns:PubSubDiagnosticsCounterType\" ModellingRule=\"Mandatory\" DataType=\"tns:UInt32\">\n            <Children>\n              <Property SymbolicName=\"tns:Classification\" ModellingRule=\"Mandatory\" DataType=\"tns:PubSubDiagnosticsCounterClassification\">\n                <DefaultValue>\n                  <uax:Int32>0</uax:Int32>\n                </DefaultValue>\n              </Property>\n              <Property SymbolicName=\"tns:DiagnosticsLevel\" ModellingRule=\"Mandatory\" DataType=\"tns:DiagnosticsLevel\">\n                <DefaultValue>\n                  <uax:Int32>0</uax:Int32>\n                </DefaultValue>\n              </Property>\n            </Children>\n          </Variable>\n        </Children>\n      </Object>\n      <Object SymbolicName=\"tns:LiveValues\" ModellingRule=\"Mandatory\" />\n    </Children>\n  </ObjectType>\n  <DataType SymbolicName=\"tns:DiagnosticsLevel\" PartNo=\"14\" BaseType=\"tns:Enumeration\">\n    <Fields>\n      <Field Name=\"Basic\" Identifier=\"0\" />\n      <Field Name=\"Advanced\" Identifier=\"1\" />\n      <Field Name=\"Info\" Identifier=\"2\" />\n      <Field Name=\"Log\" Identifier=\"3\" />\n      <Field Name=\"Debug\" Identifier=\"4\" />\n    </Fields>\n  </DataType>\n  <VariableType SymbolicName=\"tns:PubSubDiagnosticsCounterType\" PartNo=\"14\" BaseType=\"tns:BaseDataVariableType\" DataType=\"tns:UInt32\" ValueRank=\"Scalar\">\n    <Children>\n      <Property SymbolicName=\"tns:Active\" DataType=\"tns:Boolean\" />\n      <Property SymbolicName=\"tns:Classification\" DataType=\"tns:PubSubDiagnosticsCounterClassification\" />\n      <Property SymbolicName=\"tns:DiagnosticsLevel\" DataType=\"tns:DiagnosticsLevel\" />\n      <Property SymbolicName=\"tns:TimeFirstChange\" ModellingRule=\"Optional\" DataType=\"tns:DateTime\" />\n    </Children>\n  </VariableType>\n  <DataType SymbolicName=\"tns:PubSubDiagnosticsCounterClassification\" PartNo=\"14\" BaseType=\"tns:Enumeration\">\n    <Fields>\n      <Field Name=\"Information\" Identifier=\"0\" />\n      <Field Name=\"Error\" Identifier=\"1\" />\n    </Fields>\n  </DataType>\n  <ObjectType SymbolicName=\"tns:PubSubDiagnosticsRootType\" PartNo=\"14\" BaseType=\"tns:PubSubDiagnosticsType\">\n    <Children>\n      <Object SymbolicName=\"tns:LiveValues\" ModellingRule=\"Mandatory\">\n        <Children>\n          <Variable SymbolicName=\"tns:ConfiguredDataSetWriters\" ModellingRule=\"Mandatory\" DataType=\"tns:UInt16\">\n            <Children>\n              <Property SymbolicName=\"tns:DiagnosticsLevel\" DataType=\"tns:DiagnosticsLevel\">\n                <DefaultValue>\n                  <uax:Int32>0</uax:Int32>\n                </DefaultValue>\n              </Property>\n            </Children>\n          </Variable>\n          <Variable SymbolicName=\"tns:ConfiguredDataSetReaders\" ModellingRule=\"Mandatory\" DataType=\"tns:UInt16\">\n            <Children>\n              <Property SymbolicName=\"tns:DiagnosticsLevel\" DataType=\"tns:DiagnosticsLevel\">\n                <DefaultValue>\n                  <uax:Int32>0</uax:Int32>\n                </DefaultValue>\n              </Property>\n            </Children>\n          </Variable>\n          <Variable SymbolicName=\"tns:OperationalDataSetWriters\" ModellingRule=\"Mandatory\" DataType=\"tns:UInt16\">\n            <Children>\n              <Property SymbolicName=\"tns:DiagnosticsLevel\" DataType=\"tns:DiagnosticsLevel\">\n                <DefaultValue>\n                  <uax:Int32>0</uax:Int32>\n                </DefaultValue>\n              </Property>\n            </Children>\n          </Variable>\n          <Variable SymbolicName=\"tns:OperationalDataSetReaders\" ModellingRule=\"Mandatory\" DataType=\"tns:UInt16\">\n            <Children>\n              <Property SymbolicName=\"tns:DiagnosticsLevel\" DataType=\"tns:DiagnosticsLevel\">\n                <DefaultValue>\n                  <uax:Int32>0</uax:Int32>\n                </DefaultValue>\n              </Property>\n            </Children>\n          </Variable>\n        </Children>\n      </Object>\n    </Children>\n  </ObjectType>\n  <ObjectType SymbolicName=\"tns:PubSubDiagnosticsConnectionType\" PartNo=\"14\" BaseType=\"tns:PubSubDiagnosticsType\">\n    <Children>\n      <Object SymbolicName=\"tns:LiveValues\" ModellingRule=\"Mandatory\">\n        <Children>\n          <Variable SymbolicName=\"tns:ResolvedAddress\" ModellingRule=\"Mandatory\" DataType=\"tns:String\">\n            <Children>\n              <Property SymbolicName=\"tns:DiagnosticsLevel\" DataType=\"tns:DiagnosticsLevel\">\n                <DefaultValue>\n                  <uax:Int32>0</uax:Int32>\n                </DefaultValue>\n              </Property>\n            </Children>\n          </Variable>\n        </Children>\n      </Object>\n    </Children>\n  </ObjectType>\n  <ObjectType SymbolicName=\"tns:PubSubDiagnosticsWriterGroupType\" PartNo=\"14\" BaseType=\"tns:PubSubDiagnosticsType\">\n    <Children>\n      <Object SymbolicName=\"tns:Counters\" ModellingRule=\"Mandatory\">\n        <Children>\n          <Variable SymbolicName=\"tns:SentNetworkMessages\" TypeDefinition=\"tns:PubSubDiagnosticsCounterType\" ModellingRule=\"Mandatory\" DataType=\"tns:UInt32\">\n            <Children>\n              <Property SymbolicName=\"tns:Classification\" ModellingRule=\"Mandatory\" DataType=\"tns:PubSubDiagnosticsCounterClassification\">\n                <DefaultValue>\n                  <uax:Int32>0</uax:Int32>\n                </DefaultValue>\n              </Property>\n              <Property SymbolicName=\"tns:DiagnosticsLevel\" ModellingRule=\"Mandatory\" DataType=\"tns:DiagnosticsLevel\">\n                <DefaultValue>\n                  <uax:Int32>0</uax:Int32>\n                </DefaultValue>\n              </Property>\n            </Children>\n          </Variable>\n          <Variable SymbolicName=\"tns:FailedTransmissions\" TypeDefinition=\"tns:PubSubDiagnosticsCounterType\" ModellingRule=\"Mandatory\" DataType=\"tns:UInt32\">\n            <Children>\n              <Property SymbolicName=\"tns:Classification\" ModellingRule=\"Mandatory\" DataType=\"tns:PubSubDiagnosticsCounterClassification\">\n                <DefaultValue>\n                  <uax:Int32>1</uax:Int32>\n                </DefaultValue>\n              </Property>\n              <Property SymbolicName=\"tns:DiagnosticsLevel\" ModellingRule=\"Mandatory\" DataType=\"tns:DiagnosticsLevel\">\n                <DefaultValue>\n                  <uax:Int32>0</uax:Int32>\n                </DefaultValue>\n              </Property>\n            </Children>\n          </Variable>\n          <Variable SymbolicName=\"tns:EncryptionErrors\" TypeDefinition=\"tns:PubSubDiagnosticsCounterType\" ModellingRule=\"Mandatory\" DataType=\"tns:UInt32\">\n            <Children>\n              <Property SymbolicName=\"tns:Classification\" ModellingRule=\"Mandatory\" DataType=\"tns:PubSubDiagnosticsCounterClassification\">\n                <DefaultValue>\n                  <uax:Int32>1</uax:Int32>\n                </DefaultValue>\n              </Property>\n              <Property SymbolicName=\"tns:DiagnosticsLevel\" ModellingRule=\"Mandatory\" DataType=\"tns:DiagnosticsLevel\">\n                <DefaultValue>\n                  <uax:Int32>1</uax:Int32>\n                </DefaultValue>\n              </Property>\n            </Children>\n          </Variable>\n        </Children>\n      </Object>\n      <Object SymbolicName=\"tns:LiveValues\" ModellingRule=\"Mandatory\">\n        <Children>\n          <Variable SymbolicName=\"tns:ConfiguredDataSetWriters\" ModellingRule=\"Mandatory\" DataType=\"tns:UInt16\">\n            <Children>\n              <Property SymbolicName=\"tns:DiagnosticsLevel\" DataType=\"tns:DiagnosticsLevel\">\n                <DefaultValue>\n                  <uax:Int32>0</uax:Int32>\n                </DefaultValue>\n              </Property>\n            </Children>\n          </Variable>\n          <Variable SymbolicName=\"tns:OperationalDataSetWriters\" ModellingRule=\"Mandatory\" DataType=\"tns:UInt16\">\n            <Children>\n              <Property SymbolicName=\"tns:DiagnosticsLevel\" DataType=\"tns:DiagnosticsLevel\">\n                <DefaultValue>\n                  <uax:Int32>0</uax:Int32>\n                </DefaultValue>\n              </Property>\n            </Children>\n          </Variable>\n          <Variable SymbolicName=\"tns:SecurityTokenID\" ModellingRule=\"Optional\" DataType=\"tns:UInt32\">\n            <Children>\n              <Property SymbolicName=\"tns:DiagnosticsLevel\" DataType=\"tns:DiagnosticsLevel\">\n                <DefaultValue>\n                  <uax:Int32>2</uax:Int32>\n                </DefaultValue>\n              </Property>\n            </Children>\n          </Variable>\n          <Variable SymbolicName=\"tns:TimeToNextTokenID\" ModellingRule=\"Optional\" DataType=\"tns:Duration\">\n            <Children>\n              <Property SymbolicName=\"tns:DiagnosticsLevel\" DataType=\"tns:DiagnosticsLevel\">\n                <DefaultValue>\n                  <uax:Int32>2</uax:Int32>\n                </DefaultValue>\n              </Property>\n            </Children>\n          </Variable>\n        </Children>\n      </Object>\n    </Children>\n  </ObjectType>\n  <ObjectType SymbolicName=\"tns:PubSubDiagnosticsReaderGroupType\" PartNo=\"14\" BaseType=\"tns:PubSubDiagnosticsType\">\n    <Children>\n      <Object SymbolicName=\"tns:Counters\" ModellingRule=\"Mandatory\">\n        <Children>\n          <Variable SymbolicName=\"tns:ReceivedNetworkMessages\" TypeDefinition=\"tns:PubSubDiagnosticsCounterType\" ModellingRule=\"Mandatory\" DataType=\"tns:UInt32\">\n            <Children>\n              <Property SymbolicName=\"tns:Classification\" ModellingRule=\"Mandatory\" DataType=\"tns:PubSubDiagnosticsCounterClassification\">\n                <DefaultValue>\n                  <uax:Int32>0</uax:Int32>\n                </DefaultValue>\n              </Property>\n              <Property SymbolicName=\"tns:DiagnosticsLevel\" ModellingRule=\"Mandatory\" DataType=\"tns:DiagnosticsLevel\">\n                <DefaultValue>\n                  <uax:Int32>0</uax:Int32>\n                </DefaultValue>\n              </Property>\n            </Children>\n          </Variable>\n          <Variable SymbolicName=\"tns:ReceivedInvalidNetworkMessages\" TypeDefinition=\"tns:PubSubDiagnosticsCounterType\" ModellingRule=\"Optional\" DataType=\"tns:UInt32\">\n            <Children>\n              <Property SymbolicName=\"tns:Classification\" ModellingRule=\"Mandatory\" DataType=\"tns:PubSubDiagnosticsCounterClassification\">\n                <DefaultValue>\n                  <uax:Int32>1</uax:Int32>\n                </DefaultValue>\n              </Property>\n              <Property SymbolicName=\"tns:DiagnosticsLevel\" ModellingRule=\"Mandatory\" DataType=\"tns:DiagnosticsLevel\">\n                <DefaultValue>\n                  <uax:Int32>1</uax:Int32>\n                </DefaultValue>\n              </Property>\n            </Children>\n          </Variable>\n          <Variable SymbolicName=\"tns:DecryptionErrors\" TypeDefinition=\"tns:PubSubDiagnosticsCounterType\" ModellingRule=\"Optional\" DataType=\"tns:UInt32\">\n            <Children>\n              <Property SymbolicName=\"tns:Classification\" ModellingRule=\"Mandatory\" DataType=\"tns:PubSubDiagnosticsCounterClassification\">\n                <DefaultValue>\n                  <uax:Int32>1</uax:Int32>\n                </DefaultValue>\n              </Property>\n              <Property SymbolicName=\"tns:DiagnosticsLevel\" ModellingRule=\"Mandatory\" DataType=\"tns:DiagnosticsLevel\">\n                <DefaultValue>\n                  <uax:Int32>1</uax:Int32>\n                </DefaultValue>\n              </Property>\n            </Children>\n          </Variable>\n        </Children>\n      </Object>\n      <Object SymbolicName=\"tns:LiveValues\" ModellingRule=\"Mandatory\">\n        <Children>\n          <Variable SymbolicName=\"tns:ConfiguredDataSetReaders\" ModellingRule=\"Mandatory\" DataType=\"tns:UInt16\">\n            <Children>\n              <Property SymbolicName=\"tns:DiagnosticsLevel\" DataType=\"tns:DiagnosticsLevel\">\n                <DefaultValue>\n                  <uax:Int32>0</uax:Int32>\n                </DefaultValue>\n              </Property>\n            </Children>\n          </Variable>\n          <Variable SymbolicName=\"tns:OperationalDataSetReaders\" ModellingRule=\"Mandatory\" DataType=\"tns:UInt16\">\n            <Children>\n              <Property SymbolicName=\"tns:DiagnosticsLevel\" DataType=\"tns:DiagnosticsLevel\">\n                <DefaultValue>\n                  <uax:Int32>0</uax:Int32>\n                </DefaultValue>\n              </Property>\n            </Children>\n          </Variable>\n        </Children>\n      </Object>\n    </Children>\n  </ObjectType>\n  <ObjectType SymbolicName=\"tns:PubSubDiagnosticsDataSetWriterType\" PartNo=\"14\" BaseType=\"tns:PubSubDiagnosticsType\">\n    <Children>\n      <Object SymbolicName=\"tns:Counters\" ModellingRule=\"Mandatory\">\n        <Children>\n          <Variable SymbolicName=\"tns:FailedDataSetMessages\" TypeDefinition=\"tns:PubSubDiagnosticsCounterType\" ModellingRule=\"Mandatory\" DataType=\"tns:UInt32\">\n            <Children>\n              <Property SymbolicName=\"tns:Classification\" ModellingRule=\"Mandatory\" DataType=\"tns:PubSubDiagnosticsCounterClassification\">\n                <DefaultValue>\n                  <uax:Int32>1</uax:Int32>\n                </DefaultValue>\n              </Property>\n              <Property SymbolicName=\"tns:DiagnosticsLevel\" ModellingRule=\"Mandatory\" DataType=\"tns:DiagnosticsLevel\">\n                <DefaultValue>\n                  <uax:Int32>0</uax:Int32>\n                </DefaultValue>\n              </Property>\n            </Children>\n          </Variable>\n        </Children>\n      </Object>\n      <Object SymbolicName=\"tns:LiveValues\" ModellingRule=\"Mandatory\">\n        <Children>\n          <Variable SymbolicName=\"tns:MessageSequenceNumber\" ModellingRule=\"Optional\" DataType=\"tns:UInt16\">\n            <Children>\n              <Property SymbolicName=\"tns:DiagnosticsLevel\" DataType=\"tns:DiagnosticsLevel\">\n                <DefaultValue>\n                  <uax:Int32>2</uax:Int32>\n                </DefaultValue>\n              </Property>\n            </Children>\n          </Variable>\n          <Variable SymbolicName=\"tns:StatusCode\" ModellingRule=\"Optional\" DataType=\"tns:StatusCode\">\n            <Children>\n              <Property SymbolicName=\"tns:DiagnosticsLevel\" DataType=\"tns:DiagnosticsLevel\">\n                <DefaultValue>\n                  <uax:Int32>2</uax:Int32>\n                </DefaultValue>\n              </Property>\n            </Children>\n          </Variable>\n          <Variable SymbolicName=\"tns:MajorVersion\" ModellingRule=\"Optional\" DataType=\"tns:UInt32\">\n            <Children>\n              <Property SymbolicName=\"tns:DiagnosticsLevel\" DataType=\"tns:DiagnosticsLevel\">\n                <DefaultValue>\n                  <uax:Int32>2</uax:Int32>\n                </DefaultValue>\n              </Property>\n            </Children>\n          </Variable>\n          <Variable SymbolicName=\"tns:MinorVersion\" ModellingRule=\"Optional\" DataType=\"tns:UInt32\">\n            <Children>\n              <Property SymbolicName=\"tns:DiagnosticsLevel\" DataType=\"tns:DiagnosticsLevel\">\n                <DefaultValue>\n                  <uax:Int32>2</uax:Int32>\n                </DefaultValue>\n              </Property>\n            </Children>\n          </Variable>\n        </Children>\n      </Object>\n    </Children>\n  </ObjectType>\n  <ObjectType SymbolicName=\"tns:PubSubDiagnosticsDataSetReaderType\" PartNo=\"14\" BaseType=\"tns:PubSubDiagnosticsType\">\n    <Children>\n      <Object SymbolicName=\"tns:Counters\" ModellingRule=\"Mandatory\">\n        <Children>\n          <Variable SymbolicName=\"tns:FailedDataSetMessages\" TypeDefinition=\"tns:PubSubDiagnosticsCounterType\" ModellingRule=\"Mandatory\" DataType=\"tns:UInt32\">\n            <Children>\n              <Property SymbolicName=\"tns:Classification\" ModellingRule=\"Mandatory\" DataType=\"tns:PubSubDiagnosticsCounterClassification\">\n                <DefaultValue>\n                  <uax:Int32>1</uax:Int32>\n                </DefaultValue>\n              </Property>\n              <Property SymbolicName=\"tns:DiagnosticsLevel\" ModellingRule=\"Mandatory\" DataType=\"tns:DiagnosticsLevel\">\n                <DefaultValue>\n                  <uax:Int32>0</uax:Int32>\n                </DefaultValue>\n              </Property>\n            </Children>\n          </Variable>\n          <Variable SymbolicName=\"tns:DecryptionErrors\" TypeDefinition=\"tns:PubSubDiagnosticsCounterType\" ModellingRule=\"Optional\" DataType=\"tns:UInt32\">\n            <Children>\n              <Property SymbolicName=\"tns:Classification\" ModellingRule=\"Mandatory\" DataType=\"tns:PubSubDiagnosticsCounterClassification\">\n                <DefaultValue>\n                  <uax:Int32>1</uax:Int32>\n                </DefaultValue>\n              </Property>\n              <Property SymbolicName=\"tns:DiagnosticsLevel\" ModellingRule=\"Mandatory\" DataType=\"tns:DiagnosticsLevel\">\n                <DefaultValue>\n                  <uax:Int32>1</uax:Int32>\n                </DefaultValue>\n              </Property>\n            </Children>\n          </Variable>\n        </Children>\n      </Object>\n      <Object SymbolicName=\"tns:LiveValues\" ModellingRule=\"Mandatory\">\n        <Children>\n          <Variable SymbolicName=\"tns:MessageSequenceNumber\" ModellingRule=\"Optional\" DataType=\"tns:UInt16\">\n            <Children>\n              <Property SymbolicName=\"tns:DiagnosticsLevel\" DataType=\"tns:DiagnosticsLevel\">\n                <DefaultValue>\n                  <uax:Int32>2</uax:Int32>\n                </DefaultValue>\n              </Property>\n            </Children>\n          </Variable>\n          <Variable SymbolicName=\"tns:StatusCode\" ModellingRule=\"Optional\" DataType=\"tns:StatusCode\">\n            <Children>\n              <Property SymbolicName=\"tns:DiagnosticsLevel\" DataType=\"tns:DiagnosticsLevel\">\n                <DefaultValue>\n                  <uax:Int32>2</uax:Int32>\n                </DefaultValue>\n              </Property>\n            </Children>\n          </Variable>\n          <Variable SymbolicName=\"tns:MajorVersion\" ModellingRule=\"Optional\" DataType=\"tns:UInt32\">\n            <Children>\n              <Property SymbolicName=\"tns:DiagnosticsLevel\" DataType=\"tns:DiagnosticsLevel\">\n                <DefaultValue>\n                  <uax:Int32>2</uax:Int32>\n                </DefaultValue>\n              </Property>\n            </Children>\n          </Variable>\n          <Variable SymbolicName=\"tns:MinorVersion\" ModellingRule=\"Optional\" DataType=\"tns:UInt32\">\n            <Children>\n              <Property SymbolicName=\"tns:DiagnosticsLevel\" DataType=\"tns:DiagnosticsLevel\">\n                <DefaultValue>\n                  <uax:Int32>2</uax:Int32>\n                </DefaultValue>\n              </Property>\n            </Children>\n          </Variable>\n          <Variable SymbolicName=\"tns:SecurityTokenID\" ModellingRule=\"Optional\" DataType=\"tns:UInt32\">\n            <Children>\n              <Property SymbolicName=\"tns:DiagnosticsLevel\" DataType=\"tns:DiagnosticsLevel\">\n                <DefaultValue>\n                  <uax:Int32>2</uax:Int32>\n                </DefaultValue>\n              </Property>\n            </Children>\n          </Variable>\n          <Variable SymbolicName=\"tns:TimeToNextTokenID\" ModellingRule=\"Optional\" DataType=\"tns:Duration\">\n            <Children>\n              <Property SymbolicName=\"tns:DiagnosticsLevel\" DataType=\"tns:DiagnosticsLevel\">\n                <DefaultValue>\n                  <uax:Int32>2</uax:Int32>\n                </DefaultValue>\n              </Property>\n            </Children>\n          </Variable>\n        </Children>\n      </Object>\n    </Children>\n  </ObjectType>\n  <ObjectType SymbolicName=\"tns:PubSubStatusEventType\" PartNo=\"14\" BaseType=\"tns:SystemEventType\" IsAbstract=\"true\">\n    <Children>\n      <Property SymbolicName=\"tns:ConnectionId\" ModellingRule=\"Mandatory\" DataType=\"tns:NodeId\" />\n      <Property SymbolicName=\"tns:GroupId\" ModellingRule=\"Mandatory\" DataType=\"tns:NodeId\" />\n      <Property SymbolicName=\"tns:State\" ModellingRule=\"Mandatory\" DataType=\"tns:PubSubState\" />\n    </Children>\n  </ObjectType>\n  <ObjectType SymbolicName=\"tns:PubSubTransportLimitsExceedEventType\" PartNo=\"14\" BaseType=\"tns:PubSubStatusEventType\" IsAbstract=\"true\">\n    <Children>\n      <Property SymbolicName=\"tns:Actual\" ModellingRule=\"Mandatory\" DataType=\"tns:UInt32\" />\n      <Property SymbolicName=\"tns:Maximum\" ModellingRule=\"Mandatory\" DataType=\"tns:UInt32\" />\n    </Children>\n  </ObjectType>\n  <ObjectType SymbolicName=\"tns:PubSubCommunicationFailureEventType\" PartNo=\"14\" BaseType=\"tns:PubSubStatusEventType\" IsAbstract=\"true\">\n    <Children>\n      <Property SymbolicName=\"tns:Error\" ModellingRule=\"Mandatory\" DataType=\"tns:StatusCode\" />\n    </Children>\n  </ObjectType>\n  <ObjectType SymbolicName=\"tns:UadpWriterGroupMessageType\" PartNo=\"14\" BaseType=\"tns:WriterGroupMessageType\">\n    <Children>\n      <Property SymbolicName=\"tns:GroupVersion\" ModellingRule=\"Mandatory\" DataType=\"tns:VersionTime\" />\n      <Property SymbolicName=\"tns:DataSetOrdering\" ModellingRule=\"Mandatory\" DataType=\"tns:DataSetOrderingType\" />\n      <Property SymbolicName=\"tns:NetworkMessageContentMask\" ModellingRule=\"Mandatory\" DataType=\"tns:UadpNetworkMessageContentMask\" />\n      <Property SymbolicName=\"tns:SamplingOffset\" ModellingRule=\"Optional\" DataType=\"tns:Duration\" />\n      <Property SymbolicName=\"tns:PublishingOffset\" ModellingRule=\"Mandatory\" DataType=\"tns:Duration\" ValueRank=\"Array\" />\n    </Children>\n  </ObjectType>\n  <ObjectType SymbolicName=\"tns:UadpDataSetWriterMessageType\" PartNo=\"14\" BaseType=\"tns:DataSetWriterMessageType\">\n    <Children>\n      <Property SymbolicName=\"tns:DataSetMessageContentMask\" ModellingRule=\"Mandatory\" DataType=\"tns:UadpDataSetMessageContentMask\" />\n      <Property SymbolicName=\"tns:ConfiguredSize\" ModellingRule=\"Mandatory\" DataType=\"tns:UInt16\" />\n      <Property SymbolicName=\"tns:NetworkMessageNumber\" ModellingRule=\"Mandatory\" DataType=\"tns:UInt16\" />\n      <Property SymbolicName=\"tns:DataSetOffset\" ModellingRule=\"Mandatory\" DataType=\"tns:UInt16\" />\n    </Children>\n  </ObjectType>\n  <ObjectType SymbolicName=\"tns:UadpDataSetReaderMessageType\" PartNo=\"14\" BaseType=\"tns:DataSetReaderMessageType\">\n    <Children>\n      <Property SymbolicName=\"tns:GroupVersion\" ModellingRule=\"Mandatory\" DataType=\"tns:VersionTime\" />\n      <Property SymbolicName=\"tns:NetworkMessageNumber\" ModellingRule=\"Mandatory\" DataType=\"tns:UInt16\" />\n      <Property SymbolicName=\"tns:DataSetOffset\" ModellingRule=\"Mandatory\" DataType=\"tns:UInt16\" />\n      <Property SymbolicName=\"tns:DataSetClassId\" ModellingRule=\"Mandatory\" DataType=\"tns:Guid\" />\n      <Property SymbolicName=\"tns:NetworkMessageContentMask\" ModellingRule=\"Mandatory\" DataType=\"tns:UadpNetworkMessageContentMask\" />\n      <Property SymbolicName=\"tns:DataSetMessageContentMask\" ModellingRule=\"Mandatory\" DataType=\"tns:UadpDataSetMessageContentMask\" />\n      <Property SymbolicName=\"tns:PublishingInterval\" ModellingRule=\"Mandatory\" DataType=\"tns:Duration\" />\n      <Property SymbolicName=\"tns:ProcessingOffset\" ModellingRule=\"Mandatory\" DataType=\"tns:Duration\" />\n      <Property SymbolicName=\"tns:ReceiveOffset\" ModellingRule=\"Mandatory\" DataType=\"tns:Duration\" />\n    </Children>\n  </ObjectType>\n  <ObjectType SymbolicName=\"tns:JsonWriterGroupMessageType\" PartNo=\"14\" BaseType=\"tns:WriterGroupMessageType\">\n    <Children>\n      <Property SymbolicName=\"tns:NetworkMessageContentMask\" ModellingRule=\"Mandatory\" DataType=\"tns:JsonNetworkMessageContentMask\" />\n    </Children>\n  </ObjectType>\n  <ObjectType SymbolicName=\"tns:JsonDataSetWriterMessageType\" PartNo=\"14\" BaseType=\"tns:DataSetWriterMessageType\">\n    <Children>\n      <Property SymbolicName=\"tns:DataSetMessageContentMask\" ModellingRule=\"Mandatory\" DataType=\"tns:JsonDataSetMessageContentMask\" />\n    </Children>\n  </ObjectType>\n  <ObjectType SymbolicName=\"tns:JsonDataSetReaderMessageType\" PartNo=\"14\" BaseType=\"tns:DataSetReaderMessageType\">\n    <Children>\n      <Property SymbolicName=\"tns:NetworkMessageContentMask\" ModellingRule=\"Mandatory\" DataType=\"tns:JsonNetworkMessageContentMask\" />\n      <Property SymbolicName=\"tns:DataSetMessageContentMask\" ModellingRule=\"Mandatory\" DataType=\"tns:JsonDataSetMessageContentMask\" />\n    </Children>\n  </ObjectType>\n  <ObjectType SymbolicName=\"tns:DatagramConnectionTransportType\" PartNo=\"14\" BaseType=\"tns:ConnectionTransportType\">\n    <Children>\n      <Object SymbolicName=\"tns:DiscoveryAddress\" TypeDefinition=\"tns:NetworkAddressType\" ModellingRule=\"Mandatory\" />\n    </Children>\n  </ObjectType>\n  <ObjectType SymbolicName=\"tns:DatagramWriterGroupTransportType\" PartNo=\"14\" BaseType=\"tns:WriterGroupTransportType\">\n    <Children>\n      <Property SymbolicName=\"tns:MessageRepeatCount\" ModellingRule=\"Optional\" DataType=\"tns:Byte\" />\n      <Property SymbolicName=\"tns:MessageRepeatDelay\" ModellingRule=\"Optional\" DataType=\"tns:Duration\" />\n    </Children>\n  </ObjectType>\n  <ObjectType SymbolicName=\"tns:BrokerConnectionTransportType\" PartNo=\"14\" BaseType=\"tns:ConnectionTransportType\">\n    <Children>\n      <Property SymbolicName=\"tns:ResourceUri\" ModellingRule=\"Mandatory\" DataType=\"tns:String\" />\n      <Property SymbolicName=\"tns:AuthenticationProfileUri\" ModellingRule=\"Mandatory\" DataType=\"tns:String\" />\n    </Children>\n  </ObjectType>\n  <ObjectType SymbolicName=\"tns:BrokerWriterGroupTransportType\" PartNo=\"14\" BaseType=\"tns:WriterGroupTransportType\">\n    <Children>\n      <Property SymbolicName=\"tns:QueueName\" ModellingRule=\"Mandatory\" DataType=\"tns:String\" />\n      <Property SymbolicName=\"tns:ResourceUri\" ModellingRule=\"Mandatory\" DataType=\"tns:String\" />\n      <Property SymbolicName=\"tns:AuthenticationProfileUri\" ModellingRule=\"Mandatory\" DataType=\"tns:String\" />\n      <Property SymbolicName=\"tns:RequestedDeliveryGuarantee\" ModellingRule=\"Mandatory\" DataType=\"tns:BrokerTransportQualityOfService\" />\n    </Children>\n  </ObjectType>\n  <ObjectType SymbolicName=\"tns:BrokerDataSetWriterTransportType\" PartNo=\"14\" BaseType=\"tns:DataSetWriterTransportType\">\n    <Children>\n      <Property SymbolicName=\"tns:QueueName\" ModellingRule=\"Mandatory\" DataType=\"tns:String\" />\n      <Property SymbolicName=\"tns:MetaDataQueueName\" ModellingRule=\"Mandatory\" DataType=\"tns:String\" />\n      <Property SymbolicName=\"tns:ResourceUri\" ModellingRule=\"Mandatory\" DataType=\"tns:String\" />\n      <Property SymbolicName=\"tns:AuthenticationProfileUri\" ModellingRule=\"Mandatory\" DataType=\"tns:String\" />\n      <Property SymbolicName=\"tns:RequestedDeliveryGuarantee\" ModellingRule=\"Mandatory\" DataType=\"tns:BrokerTransportQualityOfService\" />\n      <Property SymbolicName=\"tns:MetaDataUpdateTime\" ModellingRule=\"Mandatory\" DataType=\"tns:Duration\" />\n    </Children>\n  </ObjectType>\n  <ObjectType SymbolicName=\"tns:BrokerDataSetReaderTransportType\" PartNo=\"14\" BaseType=\"tns:DataSetReaderTransportType\">\n    <Children>\n      <Property SymbolicName=\"tns:QueueName\" ModellingRule=\"Mandatory\" DataType=\"tns:String\" />\n      <Property SymbolicName=\"tns:ResourceUri\" ModellingRule=\"Mandatory\" DataType=\"tns:String\" />\n      <Property SymbolicName=\"tns:AuthenticationProfileUri\" ModellingRule=\"Mandatory\" DataType=\"tns:String\" />\n      <Property SymbolicName=\"tns:RequestedDeliveryGuarantee\" ModellingRule=\"Mandatory\" DataType=\"tns:BrokerTransportQualityOfService\" />\n      <Property SymbolicName=\"tns:MetaDataQueueName\" ModellingRule=\"Mandatory\" DataType=\"tns:String\" />\n    </Children>\n  </ObjectType>\n  <ObjectType SymbolicName=\"tns:NetworkAddressType\" PartNo=\"14\" BaseType=\"tns:BaseObjectType\" IsAbstract=\"true\">\n    <Children>\n      <Variable SymbolicName=\"tns:NetworkInterface\" TypeDefinition=\"tns:SelectionListType\" ModellingRule=\"Mandatory\" DataType=\"tns:String\" />\n    </Children>\n  </ObjectType>\n  <ObjectType SymbolicName=\"tns:NetworkAddressUrlType\" PartNo=\"14\" BaseType=\"tns:NetworkAddressType\">\n    <Children>\n      <Variable SymbolicName=\"tns:Url\" ModellingRule=\"Mandatory\" DataType=\"tns:String\" />\n    </Children>\n  </ObjectType>\n  <ObjectType SymbolicName=\"tns:AliasNameType\" PartNo=\"17\" BaseType=\"tns:BaseObjectType\" />\n  <ObjectType SymbolicName=\"tns:AliasNameCategoryType\" PartNo=\"17\" BaseType=\"tns:FolderType\">\n    <Children>\n      <Object SymbolicName=\"tns:Alias_Placeholder\" TypeDefinition=\"tns:AliasNameType\" ModellingRule=\"OptionalPlaceholder\">\n        <BrowseName>&lt;Alias&gt;</BrowseName>\n        <ReferenceType>tns:Organizes</ReferenceType>\n      </Object>\n      <Object SymbolicName=\"tns:SubAliasNameCategories_Placeholder\" TypeDefinition=\"tns:AliasNameCategoryType\" ModellingRule=\"OptionalPlaceholder\">\n        <BrowseName>&lt;SubAliasNameCategories&gt;</BrowseName>\n        <ReferenceType>tns:Organizes</ReferenceType>\n      </Object>\n      <Method SymbolicName=\"tns:FindAlias\" TypeDefinition=\"tns:FindAliasMethodType\" ModellingRule=\"Mandatory\" />\n    </Children>\n  </ObjectType>\n  <Method SymbolicName=\"tns:FindAliasMethodType\" PartNo=\"17\">\n    <InputArguments>\n      <Argument Name=\"AliasNameSearchPattern\" DataType=\"tns:String\" />\n      <Argument Name=\"ReferenceTypeFilter\" DataType=\"tns:NodeId\" />\n    </InputArguments>\n    <OutputArguments>\n      <Argument Name=\"AliasNodeList\" DataType=\"tns:AliasNameDataType\" ValueRank=\"Array\" />\n    </OutputArguments>\n  </Method>\n  <DataType SymbolicName=\"tns:AliasNameDataType\" PartNo=\"17\" BaseType=\"tns:Structure\">\n    <Fields>\n      <Field Name=\"AliasName\" DataType=\"tns:QualifiedName\" />\n      <Field Name=\"ReferencedNodes\" DataType=\"tns:ExpandedNodeId\" ValueRank=\"Array\" />\n    </Fields>\n  </DataType>\n  <ReferenceType SymbolicName=\"tns:AliasFor\" PartNo=\"17\" BaseType=\"tns:NonHierarchicalReferences\">\n    <InverseName>HasAlias</InverseName>\n  </ReferenceType>\n  <Object SymbolicName=\"tns:Aliases\" PartNo=\"17\" TypeDefinition=\"tns:AliasNameCategoryType\" ModellingRule=\"None\">\n    <BrowseName>Aliases</BrowseName>\n    <References>\n      <Reference IsInverse=\"true\">\n        <ReferenceType>tns:Organizes</ReferenceType>\n        <TargetId>tns:ObjectsFolder</TargetId>\n      </Reference>\n    </References>\n  </Object>\n  <Object SymbolicName=\"tns:TagVariables\" PartNo=\"17\" TypeDefinition=\"tns:AliasNameCategoryType\" ModellingRule=\"None\">\n    <BrowseName>TagVariables</BrowseName>\n    <References>\n      <Reference IsInverse=\"true\">\n        <ReferenceType>tns:Organizes</ReferenceType>\n        <TargetId>tns:Aliases</TargetId>\n      </Reference>\n    </References>\n  </Object>\n  <Object SymbolicName=\"tns:Topics\" PartNo=\"17\" TypeDefinition=\"tns:AliasNameCategoryType\" ModellingRule=\"None\">\n    <BrowseName>Topics</BrowseName>\n    <References>\n      <Reference IsInverse=\"true\">\n        <ReferenceType>tns:Organizes</ReferenceType>\n        <TargetId>tns:Aliases</TargetId>\n      </Reference>\n    </References>\n  </Object>\n  <VariableType SymbolicName=\"tns:MultiStateDictionaryEntryDiscreteBaseType\" PartNo=\"19\" BaseType=\"tns:MultiStateValueDiscreteType\" DataType=\"tns:Number\" ValueRank=\"ScalarOrArray\">\n    <Children>\n      <Property SymbolicName=\"tns:EnumDictionaryEntries\" ModellingRule=\"Mandatory\" DataType=\"tns:NodeId\" ValueRank=\"OneOrMoreDimensions\" ArrayDimensions=\"0,0\" />\n      <Property SymbolicName=\"tns:ValueAsDictionaryEntries\" ModellingRule=\"Optional\" DataType=\"tns:NodeId\" ValueRank=\"Array\" ArrayDimensions=\"0\" />\n    </Children>\n  </VariableType>\n  <VariableType SymbolicName=\"tns:MultiStateDictionaryEntryDiscreteType\" PartNo=\"19\" BaseType=\"tns:MultiStateDictionaryEntryDiscreteBaseType\" DataType=\"tns:Number\" ValueRank=\"ScalarOrArray\">\n    <Children>\n      <Property SymbolicName=\"tns:ValueAsDictionaryEntries\" ModellingRule=\"Mandatory\" />\n    </Children>\n  </VariableType>\n  <ObjectType SymbolicName=\"tns:IIetfBaseNetworkInterfaceType\" PartNo=\"22\" BaseType=\"tns:BaseInterfaceType\" IsAbstract=\"true\">\n    <Children>\n      <Variable SymbolicName=\"tns:AdminStatus\" ModellingRule=\"Mandatory\" DataType=\"tns:InterfaceAdminStatus\" />\n      <Variable SymbolicName=\"tns:OperStatus\" ModellingRule=\"Mandatory\" DataType=\"tns:InterfaceOperStatus\" />\n      <Variable SymbolicName=\"tns:PhysAddress\" ModellingRule=\"Optional\" DataType=\"tns:String\" />\n      <Variable SymbolicName=\"tns:Speed\" TypeDefinition=\"tns:AnalogUnitType\" ModellingRule=\"Mandatory\" DataType=\"tns:UInt64\">\n        <Children>\n          <Property SymbolicName=\"tns:EngineeringUnits\" ModellingRule=\"Mandatory\" DataType=\"tns:EUInformation\">\n            <DefaultValue>\n              <uax:ExtensionObject>\n                <uax:TypeId>\n                  <uax:Identifier>i=888</uax:Identifier>\n                </uax:TypeId>\n                <uax:Body>\n                  <uax:EUInformation>\n                    <uax:NamespaceUri>http://www.opcfoundation.org/UA/units/un/cefact</uax:NamespaceUri>\n                    <uax:UnitId>4337968</uax:UnitId>\n                    <uax:DisplayName>\n                      <uax:Locale>en</uax:Locale>\n                      <uax:Text>bit/s</uax:Text>\n                    </uax:DisplayName>\n                    <uax:Description>\n                      <uax:Locale>en</uax:Locale>\n                      <uax:Text>bit per second</uax:Text>\n                    </uax:Description>\n                  </uax:EUInformation>\n                </uax:Body>\n              </uax:ExtensionObject>\n            </DefaultValue>\n          </Property>\n        </Children>\n      </Variable>\n    </Children>\n  </ObjectType>\n  <ObjectType SymbolicName=\"tns:IIeeeBaseEthernetPortType\" PartNo=\"22\" BaseType=\"tns:BaseInterfaceType\" IsAbstract=\"true\">\n    <Children>\n      <Variable SymbolicName=\"tns:Speed\" TypeDefinition=\"tns:AnalogUnitType\" ModellingRule=\"Mandatory\" DataType=\"tns:UInt64\">\n        <Children>\n          <Property SymbolicName=\"tns:EngineeringUnits\" ModellingRule=\"Mandatory\" DataType=\"tns:EUInformation\">\n            <DefaultValue>\n              <uax:ExtensionObject>\n                <uax:TypeId>\n                  <uax:Identifier>i=888</uax:Identifier>\n                </uax:TypeId>\n                <uax:Body>\n                  <uax:EUInformation>\n                    <uax:NamespaceUri>http://www.opcfoundation.org/UA/units/un/cefact</uax:NamespaceUri>\n                    <uax:UnitId>4534832</uax:UnitId>\n                    <uax:DisplayName>\n                      <uax:Locale>en</uax:Locale>\n                      <uax:Text>Mbit/s</uax:Text>\n                    </uax:DisplayName>\n                    <uax:Description>\n                      <uax:Locale>en</uax:Locale>\n                      <uax:Text>megabit per second</uax:Text>\n                    </uax:Description>\n                  </uax:EUInformation>\n                </uax:Body>\n              </uax:ExtensionObject>\n            </DefaultValue>\n          </Property>\n        </Children>\n      </Variable>\n      <Variable SymbolicName=\"tns:Duplex\" ModellingRule=\"Mandatory\" DataType=\"tns:Duplex\" />\n      <Variable SymbolicName=\"tns:MaxFrameLength\" ModellingRule=\"Mandatory\" DataType=\"tns:UInt16\" />\n    </Children>\n  </ObjectType>\n  <ObjectType SymbolicName=\"tns:IIeeeAutoNegotiationStatusType\" PartNo=\"22\" BaseType=\"tns:BaseInterfaceType\" IsAbstract=\"true\">\n    <Children>\n      <Variable SymbolicName=\"tns:NegotiationStatus\" ModellingRule=\"Mandatory\" DataType=\"tns:NegotiationStatus\" />\n    </Children>\n  </ObjectType>\n  <ObjectType SymbolicName=\"tns:IBaseEthernetCapabilitiesType\" PartNo=\"22\" BaseType=\"tns:BaseInterfaceType\" IsAbstract=\"true\">\n    <Children>\n      <Variable SymbolicName=\"tns:VlanTagCapable\" ModellingRule=\"Mandatory\" DataType=\"tns:Boolean\" />\n    </Children>\n  </ObjectType>\n  <ObjectType SymbolicName=\"tns:ISrClassType\" PartNo=\"22\" BaseType=\"tns:BaseInterfaceType\" IsAbstract=\"true\">\n    <Children>\n      <Variable SymbolicName=\"tns:Id\" ModellingRule=\"Mandatory\" DataType=\"tns:Byte\" />\n      <Variable SymbolicName=\"tns:Priority\" ModellingRule=\"Mandatory\" DataType=\"tns:Byte\" />\n      <Variable SymbolicName=\"tns:Vid\" ModellingRule=\"Mandatory\" DataType=\"tns:UInt16\" />\n    </Children>\n  </ObjectType>\n  <ObjectType SymbolicName=\"tns:IIeeeBaseTsnStreamType\" PartNo=\"22\" BaseType=\"tns:BaseInterfaceType\" IsAbstract=\"true\">\n    <Children>\n      <Variable SymbolicName=\"tns:StreamId\" ModellingRule=\"Mandatory\" DataType=\"tns:Byte\" ValueRank=\"Array\" ArrayDimensions=\"8\" />\n      <Variable SymbolicName=\"tns:StreamName\" ModellingRule=\"Mandatory\" DataType=\"tns:String\" />\n      <Variable SymbolicName=\"tns:State\" ModellingRule=\"Mandatory\" DataType=\"tns:TsnStreamState\" />\n      <Variable SymbolicName=\"tns:AccumulatedLatency\" ModellingRule=\"Optional\" DataType=\"tns:UInt32\" />\n      <Variable SymbolicName=\"tns:SrClassId\" ModellingRule=\"Optional\" DataType=\"tns:Byte\" />\n    </Children>\n  </ObjectType>\n  <ObjectType SymbolicName=\"tns:IIeeeBaseTsnTrafficSpecificationType\" PartNo=\"22\" BaseType=\"tns:BaseInterfaceType\" IsAbstract=\"true\">\n    <Children>\n      <Variable SymbolicName=\"tns:MaxIntervalFrames\" ModellingRule=\"Mandatory\" DataType=\"tns:UInt16\" />\n      <Variable SymbolicName=\"tns:MaxFrameSize\" ModellingRule=\"Mandatory\" DataType=\"tns:UInt32\" />\n      <Variable SymbolicName=\"tns:Interval\" ModellingRule=\"Mandatory\" DataType=\"tns:UnsignedRationalNumber\" />\n    </Children>\n  </ObjectType>\n  <ObjectType SymbolicName=\"tns:IIeeeBaseTsnStatusStreamType\" PartNo=\"22\" BaseType=\"tns:BaseInterfaceType\" IsAbstract=\"true\">\n    <Children>\n      <Variable SymbolicName=\"tns:TalkerStatus\" ModellingRule=\"Optional\" DataType=\"tns:TsnTalkerStatus\" />\n      <Variable SymbolicName=\"tns:ListenerStatus\" ModellingRule=\"Optional\" DataType=\"tns:TsnListenerStatus\" />\n      <Variable SymbolicName=\"tns:FailureCode\" ModellingRule=\"Mandatory\" DataType=\"tns:TsnFailureCode\" />\n      <Variable SymbolicName=\"tns:FailureSystemIdentifier\" ModellingRule=\"Mandatory\" DataType=\"tns:Byte\" ValueRank=\"OneOrMoreDimensions\" ArrayDimensions=\"0,8\" />\n    </Children>\n  </ObjectType>\n  <ObjectType SymbolicName=\"tns:IIeeeTsnInterfaceConfigurationType\" PartNo=\"22\" BaseType=\"tns:BaseInterfaceType\" IsAbstract=\"true\">\n    <Children>\n      <Variable SymbolicName=\"tns:MacAddress\" ModellingRule=\"Mandatory\" DataType=\"tns:String\" />\n      <Variable SymbolicName=\"tns:InterfaceName\" ModellingRule=\"Optional\" DataType=\"tns:String\" />\n    </Children>\n  </ObjectType>\n  <ObjectType SymbolicName=\"tns:IIeeeTsnInterfaceConfigurationTalkerType\" PartNo=\"22\" BaseType=\"tns:IIeeeTsnInterfaceConfigurationType\" IsAbstract=\"true\">\n    <Children>\n      <Variable SymbolicName=\"tns:TimeAwareOffset\" ModellingRule=\"Optional\" DataType=\"tns:UInt32\" />\n    </Children>\n  </ObjectType>\n  <ObjectType SymbolicName=\"tns:IIeeeTsnInterfaceConfigurationListenerType\" PartNo=\"22\" BaseType=\"tns:IIeeeTsnInterfaceConfigurationType\" IsAbstract=\"true\">\n    <Children>\n      <Variable SymbolicName=\"tns:ReceiveOffset\" ModellingRule=\"Optional\" DataType=\"tns:UInt32\" />\n    </Children>\n  </ObjectType>\n  <ObjectType SymbolicName=\"tns:IIeeeTsnMacAddressType\" PartNo=\"22\" BaseType=\"tns:BaseInterfaceType\" IsAbstract=\"true\">\n    <Children>\n      <Variable SymbolicName=\"tns:DestinationAddress\" ModellingRule=\"Mandatory\" DataType=\"tns:Byte\" ValueRank=\"Array\" ArrayDimensions=\"6\" />\n      <Variable SymbolicName=\"tns:SourceAddress\" ModellingRule=\"Optional\" DataType=\"tns:Byte\" ValueRank=\"Array\" ArrayDimensions=\"6\" />\n    </Children>\n  </ObjectType>\n  <ObjectType SymbolicName=\"tns:IIeeeTsnVlanTagType\" PartNo=\"22\" BaseType=\"tns:BaseInterfaceType\" IsAbstract=\"true\">\n    <Children>\n      <Variable SymbolicName=\"tns:VlanId\" ModellingRule=\"Mandatory\" DataType=\"tns:UInt16\" />\n      <Variable SymbolicName=\"tns:PriorityCodePoint\" ModellingRule=\"Mandatory\" DataType=\"tns:Byte\" />\n    </Children>\n  </ObjectType>\n  <ObjectType SymbolicName=\"tns:IPriorityMappingEntryType\" PartNo=\"22\" BaseType=\"tns:BaseInterfaceType\" IsAbstract=\"true\">\n    <Children>\n      <Variable SymbolicName=\"tns:MappingUri\" ModellingRule=\"Mandatory\" DataType=\"tns:String\" />\n      <Variable SymbolicName=\"tns:PriorityLabel\" ModellingRule=\"Mandatory\" DataType=\"tns:String\" />\n      <Variable SymbolicName=\"tns:PriorityValue_PCP\" ModellingRule=\"Optional\" DataType=\"tns:Byte\" />\n      <Variable SymbolicName=\"tns:PriorityValue_DSCP\" ModellingRule=\"Optional\" DataType=\"tns:UInt32\" />\n    </Children>\n  </ObjectType>\n  <DataType SymbolicName=\"tns:Duplex\" PartNo=\"22\" BaseType=\"tns:Enumeration\" ForceEnumValues=\"true\">\n    <Fields>\n      <Field Name=\"Full\" Identifier=\"0\">\n        <Description>Full duplex.</Description>\n      </Field>\n      <Field Name=\"Half\" Identifier=\"1\">\n        <Description>Half duplex.</Description>\n      </Field>\n      <Field Name=\"Unknown\" Identifier=\"2\">\n        <Description>Link is currently disconnected or initializing.</Description>\n      </Field>\n    </Fields>\n  </DataType>\n  <DataType SymbolicName=\"tns:InterfaceAdminStatus\" PartNo=\"22\" BaseType=\"tns:Enumeration\" ForceEnumValues=\"true\">\n    <Fields>\n      <Field Name=\"Up\" Identifier=\"0\">\n        <Description>Ready to pass packets.</Description>\n      </Field>\n      <Field Name=\"Down\" Identifier=\"1\">\n        <Description>Not ready to pass packets and not in some test mode.</Description>\n      </Field>\n      <Field Name=\"Testing\" Identifier=\"2\">\n        <Description>In some test mode.</Description>\n      </Field>\n    </Fields>\n  </DataType>\n  <DataType SymbolicName=\"tns:InterfaceOperStatus\" PartNo=\"22\" BaseType=\"tns:Enumeration\" ForceEnumValues=\"true\">\n    <Fields>\n      <Field Name=\"Up\" Identifier=\"0\">\n        <Description>Ready to pass packets.</Description>\n      </Field>\n      <Field Name=\"Down\" Identifier=\"1\">\n        <Description>The interface does not pass any packets.</Description>\n      </Field>\n      <Field Name=\"Testing\" Identifier=\"2\">\n        <Description>In some test mode. No operational packets can be passed.</Description>\n      </Field>\n      <Field Name=\"Unknown\" Identifier=\"3\">\n        <Description>Status cannot be determined for some reason.</Description>\n      </Field>\n      <Field Name=\"Dormant\" Identifier=\"4\">\n        <Description>Waiting for some external event.</Description>\n      </Field>\n      <Field Name=\"NotPresent\" Identifier=\"5\">\n        <Description>Some component (typically hardware) is missing.</Description>\n      </Field>\n      <Field Name=\"LowerLayerDown\" Identifier=\"6\">\n        <Description>Down due to state of lower-layer interface(s).</Description>\n      </Field>\n    </Fields>\n  </DataType>\n  <DataType SymbolicName=\"tns:NegotiationStatus\" PartNo=\"22\" BaseType=\"tns:Enumeration\" ForceEnumValues=\"true\">\n    <Fields>\n      <Field Name=\"InProgress\" Identifier=\"0\">\n        <Description>The auto-negotiation protocol is running and negotiation is currently in-progress.</Description>\n      </Field>\n      <Field Name=\"Complete\" Identifier=\"1\">\n        <Description>The auto-negotiation protocol has completed successfully.</Description>\n      </Field>\n      <Field Name=\"Failed\" Identifier=\"2\">\n        <Description>The auto-negotiation protocol has failed.</Description>\n      </Field>\n      <Field Name=\"Unknown\" Identifier=\"3\">\n        <Description>The auto-negotiation status is not currently known, this could be because it is still negotiating or the protocol cannot run (e.g., if no medium is present).</Description>\n      </Field>\n      <Field Name=\"NoNegotiation\" Identifier=\"4\">\n        <Description>No auto-negotiation is executed. The auto-negotiation function is either not supported on this interface or has not been enabled.</Description>\n      </Field>\n    </Fields>\n  </DataType>\n  <DataType SymbolicName=\"tns:TsnFailureCode\" PartNo=\"22\" BaseType=\"tns:Enumeration\" ForceEnumValues=\"true\">\n    <Fields>\n      <Field Name=\"NoFailure\" Identifier=\"0\">\n        <Description>No failure</Description>\n      </Field>\n      <Field Name=\"InsufficientBandwidth\" Identifier=\"1\">\n        <Description>Insufficient bandwidth</Description>\n      </Field>\n      <Field Name=\"InsufficientResources\" Identifier=\"2\">\n        <Description>Insufficient bridge resources</Description>\n      </Field>\n      <Field Name=\"InsufficientTrafficClassBandwidth\" Identifier=\"3\">\n        <Description>Insufficient bandwidth for Traffic Class</Description>\n      </Field>\n      <Field Name=\"StreamIdInUse\" Identifier=\"4\">\n        <Description>StreamID in use by another Talker</Description>\n      </Field>\n      <Field Name=\"StreamDestinationAddressInUse\" Identifier=\"5\">\n        <Description>Stream destination address already in use</Description>\n      </Field>\n      <Field Name=\"StreamPreemptedByHigherRank\" Identifier=\"6\">\n        <Description>Stream pre-empted by higher rank</Description>\n      </Field>\n      <Field Name=\"LatencyHasChanged\" Identifier=\"7\">\n        <Description>Reported latency has changed</Description>\n      </Field>\n      <Field Name=\"EgressPortNotAvbCapable\" Identifier=\"8\">\n        <Description>Egress port is not AVBCapable</Description>\n      </Field>\n      <Field Name=\"UseDifferentDestinationAddress\" Identifier=\"9\">\n        <Description>Use a different destination address</Description>\n      </Field>\n      <Field Name=\"OutOfMsrpResources\" Identifier=\"10\">\n        <Description>Out of MSRP resources</Description>\n      </Field>\n      <Field Name=\"OutOfMmrpResources\" Identifier=\"11\">\n        <Description>Out of MMRP resources</Description>\n      </Field>\n      <Field Name=\"CannotStoreDestinationAddress\" Identifier=\"12\">\n        <Description>Cannot store destination address</Description>\n      </Field>\n      <Field Name=\"PriorityIsNotAnSrcClass\" Identifier=\"13\">\n        <Description>Requested priority is not an SR Class priority</Description>\n      </Field>\n      <Field Name=\"MaxFrameSizeTooLarge\" Identifier=\"14\">\n        <Description>MaxFrameSize is too large for media</Description>\n      </Field>\n      <Field Name=\"MaxFanInPortsLimitReached\" Identifier=\"15\">\n        <Description>MaxFanInPorts limit has been reached</Description>\n      </Field>\n      <Field Name=\"FirstValueChangedForStreamId\" Identifier=\"16\">\n        <Description>Changes in FirstValue for a registered StreamID</Description>\n      </Field>\n      <Field Name=\"VlanBlockedOnEgress\" Identifier=\"17\">\n        <Description>VLAN is blocked on this egress port (Registration Forbidden)</Description>\n      </Field>\n      <Field Name=\"VlanTaggingDisabledOnEgress\" Identifier=\"18\">\n        <Description>VLAN tagging is disabled on this egress port (untagged set)</Description>\n      </Field>\n      <Field Name=\"SrClassPriorityMismatch\" Identifier=\"19\">\n        <Description>SR class priority mismatch</Description>\n      </Field>\n      <Field Name=\"FeatureNotPropagated\" Identifier=\"20\">\n        <Description>Enhanced feature cannot be propagated to original Port</Description>\n      </Field>\n      <Field Name=\"MaxLatencyExceeded\" Identifier=\"21\">\n        <Description>MaxLatency exceeded</Description>\n      </Field>\n      <Field Name=\"BridgeDoesNotProvideNetworkId\" Identifier=\"22\">\n        <Description>Nearest Bridge cannot provide network identification for stream transformation</Description>\n      </Field>\n      <Field Name=\"StreamTransformNotSupported\" Identifier=\"23\">\n        <Description>Stream transformation not supported</Description>\n      </Field>\n      <Field Name=\"StreamIdTypeNotSupported\" Identifier=\"24\">\n        <Description>Stream identification type not supported for stream transformation</Description>\n      </Field>\n      <Field Name=\"FeatureNotSupported\" Identifier=\"25\">\n        <Description>Enhanced feature cannot be supported without a CNC</Description>\n      </Field>\n    </Fields>\n  </DataType>\n  <DataType SymbolicName=\"tns:TsnStreamState\" PartNo=\"22\" BaseType=\"tns:Enumeration\" ForceEnumValues=\"true\">\n    <Fields>\n      <Field Name=\"Disabled\" Identifier=\"0\">\n        <Description>The related TSN Stream is currently disabled.</Description>\n      </Field>\n      <Field Name=\"Configuring\" Identifier=\"1\">\n        <Description>The related TSN Stream is in the process of receiving configuration parameters from the TSN Control Layer.</Description>\n      </Field>\n      <Field Name=\"Ready\" Identifier=\"2\">\n        <Description>The related TSN Stream has successfully received and applied the configuration from the TSN Control Layer. The related TSN Stream is not fully operational as long as local preconditions (e.g. synchronization state) are not valid.</Description>\n      </Field>\n      <Field Name=\"Operational\" Identifier=\"3\">\n        <Description>The related TSN Stream object is configured and all other required preconditions (e.g. synchronization state) for sending / receiving data are valid.</Description>\n      </Field>\n      <Field Name=\"Error\" Identifier=\"4\">\n        <Description>The related TSN Stream object is in an error state.</Description>\n      </Field>\n    </Fields>\n  </DataType>\n  <DataType SymbolicName=\"tns:TsnTalkerStatus\" PartNo=\"22\" BaseType=\"tns:Enumeration\" ForceEnumValues=\"true\">\n    <Fields>\n      <Field Name=\"None\" Identifier=\"0\">\n        <Description>No Talker detected.</Description>\n      </Field>\n      <Field Name=\"Ready\" Identifier=\"1\">\n        <Description>Talker ready (configured).</Description>\n      </Field>\n      <Field Name=\"Failed\" Identifier=\"2\">\n        <Description>Talker failed.</Description>\n      </Field>\n    </Fields>\n  </DataType>\n  <DataType SymbolicName=\"tns:TsnListenerStatus\" PartNo=\"22\" BaseType=\"tns:Enumeration\" ForceEnumValues=\"true\">\n    <Fields>\n      <Field Name=\"None\" Identifier=\"0\">\n        <Description>No Listener detected.</Description>\n      </Field>\n      <Field Name=\"Ready\" Identifier=\"1\">\n        <Description>Listener ready (configured).</Description>\n      </Field>\n      <Field Name=\"PartialFailed\" Identifier=\"2\">\n        <Description>One or more Listeners ready, and one or more Listeners failed.</Description>\n      </Field>\n      <Field Name=\"Failed\" Identifier=\"3\">\n        <Description>Listener failed.</Description>\n      </Field>\n    </Fields>\n  </DataType>\n  <DataType SymbolicName=\"tns:UnsignedRationalNumber\" PartNo=\"22\" BaseType=\"tns:Structure\">\n    <Fields>\n      <Field Name=\"Numerator\" DataType=\"tns:UInt32\" />\n      <Field Name=\"Denominator\" DataType=\"tns:UInt32\" />\n    </Fields>\n  </DataType>\n  <Object SymbolicName=\"tns:Resources\" PartNo=\"22\" TypeDefinition=\"tns:FolderType\" ModellingRule=\"None\">\n    <References>\n      <Reference IsInverse=\"true\">\n        <ReferenceType>tns:HasComponent</ReferenceType>\n        <TargetId>tns:Server</TargetId>\n      </Reference>\n    </References>\n  </Object>\n  <Object SymbolicName=\"tns:Communication\" PartNo=\"22\" TypeDefinition=\"tns:FolderType\" ModellingRule=\"None\">\n    <References>\n      <Reference IsInverse=\"true\">\n        <ReferenceType>tns:Organizes</ReferenceType>\n        <TargetId>tns:Resources</TargetId>\n      </Reference>\n    </References>\n  </Object>\n  <Object SymbolicName=\"tns:MappingTables\" PartNo=\"22\" TypeDefinition=\"tns:FolderType\" ModellingRule=\"None\">\n    <References>\n      <Reference IsInverse=\"true\">\n        <ReferenceType>tns:Organizes</ReferenceType>\n        <TargetId>tns:Communication</TargetId>\n      </Reference>\n    </References>\n  </Object>\n  <Object SymbolicName=\"tns:NetworkInterfaces\" PartNo=\"22\" TypeDefinition=\"tns:FolderType\" ModellingRule=\"None\">\n    <References>\n      <Reference IsInverse=\"true\">\n        <ReferenceType>tns:Organizes</ReferenceType>\n        <TargetId>tns:Communication</TargetId>\n      </Reference>\n    </References>\n  </Object>\n  <Object SymbolicName=\"tns:Streams\" PartNo=\"22\" TypeDefinition=\"tns:FolderType\" ModellingRule=\"None\">\n    <References>\n      <Reference IsInverse=\"true\">\n        <ReferenceType>tns:Organizes</ReferenceType>\n        <TargetId>tns:Communication</TargetId>\n      </Reference>\n    </References>\n  </Object>\n  <Object SymbolicName=\"tns:TalkerStreams\" PartNo=\"22\" TypeDefinition=\"tns:FolderType\" ModellingRule=\"None\">\n    <References>\n      <Reference IsInverse=\"true\">\n        <ReferenceType>tns:Organizes</ReferenceType>\n        <TargetId>tns:Streams</TargetId>\n      </Reference>\n    </References>\n  </Object>\n  <Object SymbolicName=\"tns:ListenerStreams\" PartNo=\"22\" TypeDefinition=\"tns:FolderType\" ModellingRule=\"None\">\n    <References>\n      <Reference IsInverse=\"true\">\n        <ReferenceType>tns:Organizes</ReferenceType>\n        <TargetId>tns:Streams</TargetId>\n      </Reference>\n    </References>\n  </Object>\n  <DataType SymbolicName=\"tns:IdType\" SymbolicId=\"tns:IdType\" PartNo=\"3\" BaseType=\"tns:Enumeration\">\n    <Fields>\n      <Field Name=\"Numeric\" Identifier=\"0\" />\n      <Field Name=\"String\" Identifier=\"1\" />\n      <Field Name=\"Guid\" Identifier=\"2\" />\n      <Field Name=\"Opaque\" Identifier=\"3\" />\n    </Fields>\n  </DataType>\n  <DataType SymbolicName=\"tns:NodeClass\" SymbolicId=\"tns:NodeClass\" PartNo=\"3\" BaseType=\"tns:Enumeration\" NoArraysAllowed=\"true\">\n    <Fields>\n      <Field Name=\"Unspecified\" Identifier=\"0\" />\n      <Field Name=\"Object\" Identifier=\"1\" />\n      <Field Name=\"Variable\" Identifier=\"2\" />\n      <Field Name=\"Method\" Identifier=\"4\" />\n      <Field Name=\"ObjectType\" Identifier=\"8\" />\n      <Field Name=\"VariableType\" Identifier=\"16\" />\n      <Field Name=\"ReferenceType\" Identifier=\"32\" />\n      <Field Name=\"DataType\" Identifier=\"64\" />\n      <Field Name=\"View\" Identifier=\"128\" />\n    </Fields>\n  </DataType>\n  <DataType SymbolicName=\"tns:PermissionType\" SymbolicId=\"tns:PermissionType\" PartNo=\"3\" BaseType=\"tns:UInt32\" IsOptionSet=\"true\" NoArraysAllowed=\"true\">\n    <Fields>\n      <Field Name=\"Browse\" BitMask=\"0001\" />\n      <Field Name=\"ReadRolePermissions\" BitMask=\"0002\" />\n      <Field Name=\"WriteAttribute\" BitMask=\"0004\" />\n      <Field Name=\"WriteRolePermissions\" BitMask=\"0008\" />\n      <Field Name=\"WriteHistorizing\" BitMask=\"0010\" />\n      <Field Name=\"Read\" BitMask=\"0020\" />\n      <Field Name=\"Write\" BitMask=\"0040\" />\n      <Field Name=\"ReadHistory\" BitMask=\"0080\" />\n      <Field Name=\"InsertHistory\" BitMask=\"0100\" />\n      <Field Name=\"ModifyHistory\" BitMask=\"0200\" />\n      <Field Name=\"DeleteHistory\" BitMask=\"0400\" />\n      <Field Name=\"ReceiveEvents\" BitMask=\"0800\" />\n      <Field Name=\"Call\" BitMask=\"1000\" />\n      <Field Name=\"AddReference\" BitMask=\"2000\" />\n      <Field Name=\"RemoveReference\" BitMask=\"4000\" />\n      <Field Name=\"DeleteNode\" BitMask=\"8000\" />\n      <Field Name=\"AddNode\" BitMask=\"10000\" />\n    </Fields>\n  </DataType>\n  <DataType SymbolicName=\"tns:AccessLevelType\" SymbolicId=\"tns:AccessLevelType\" PartNo=\"3\" BaseType=\"tns:Byte\" IsOptionSet=\"true\" NoArraysAllowed=\"true\">\n    <Fields>\n      <Field Name=\"CurrentRead\" BitMask=\"0001\" />\n      <Field Name=\"CurrentWrite\" BitMask=\"0002\" />\n      <Field Name=\"HistoryRead\" BitMask=\"0004\" />\n      <Field Name=\"HistoryWrite\" BitMask=\"0008\" />\n      <Field Name=\"SemanticChange\" BitMask=\"0010\" />\n      <Field Name=\"StatusWrite\" BitMask=\"0020\" />\n      <Field Name=\"TimestampWrite\" BitMask=\"0040\" />\n    </Fields>\n  </DataType>\n  <DataType SymbolicName=\"tns:AccessLevelExType\" SymbolicId=\"tns:AccessLevelExType\" PartNo=\"3\" BaseType=\"tns:UInt32\" IsOptionSet=\"true\" NoArraysAllowed=\"true\">\n    <Fields>\n      <Field Name=\"CurrentRead\" BitMask=\"0001\" />\n      <Field Name=\"CurrentWrite\" BitMask=\"0002\" />\n      <Field Name=\"HistoryRead\" BitMask=\"0004\" />\n      <Field Name=\"HistoryWrite\" BitMask=\"0008\" />\n      <Field Name=\"SemanticChange\" BitMask=\"0010\" />\n      <Field Name=\"StatusWrite\" BitMask=\"0020\" />\n      <Field Name=\"TimestampWrite\" BitMask=\"0040\" />\n      <Field Name=\"NonatomicRead\" BitMask=\"000100\" />\n      <Field Name=\"NonatomicWrite\" BitMask=\"000200\" />\n      <Field Name=\"WriteFullArrayOnly\" BitMask=\"000400\" />\n      <Field Name=\"NoSubDataTypes\" BitMask=\"000800\" />\n    </Fields>\n  </DataType>\n  <DataType SymbolicName=\"tns:EventNotifierType\" SymbolicId=\"tns:EventNotifierType\" PartNo=\"3\" BaseType=\"tns:Byte\" IsOptionSet=\"true\" NoArraysAllowed=\"true\">\n    <Fields>\n      <Field Name=\"SubscribeToEvents\" BitMask=\"0001\" />\n      <Field Name=\"HistoryRead\" BitMask=\"0004\" />\n      <Field Name=\"HistoryWrite\" BitMask=\"0008\" />\n    </Fields>\n  </DataType>\n  <DataType SymbolicName=\"tns:AccessRestrictionType\" SymbolicId=\"tns:AccessRestrictionType\" PartNo=\"3\" BaseType=\"tns:UInt16\" IsOptionSet=\"true\" NoArraysAllowed=\"true\">\n    <Fields>\n      <Field Name=\"SigningRequired\" BitMask=\"0001\" />\n      <Field Name=\"EncryptionRequired\" BitMask=\"0002\" />\n      <Field Name=\"SessionRequired\" BitMask=\"0004\" />\n      <Field Name=\"ApplyRestrictionsToBrowse\" BitMask=\"0008\" />\n    </Fields>\n  </DataType>\n  <DataType SymbolicName=\"tns:RolePermissionType\" SymbolicId=\"tns:RolePermissionType\" PartNo=\"3\" BaseType=\"tns:Structure\">\n    <Fields>\n      <Field Name=\"RoleId\" DataType=\"tns:NodeId\" />\n      <Field Name=\"Permissions\" DataType=\"tns:PermissionType\" />\n    </Fields>\n  </DataType>\n  <DataType SymbolicName=\"tns:DataTypeDefinition\" SymbolicId=\"tns:DataTypeDefinition\" PartNo=\"3\" BaseType=\"tns:Structure\" IsAbstract=\"true\" />\n  <DataType SymbolicName=\"tns:StructureType\" SymbolicId=\"tns:StructureType\" PartNo=\"3\" BaseType=\"tns:Enumeration\" NoArraysAllowed=\"true\">\n    <Fields>\n      <Field Name=\"Structure\" Identifier=\"0\" />\n      <Field Name=\"StructureWithOptionalFields\" Identifier=\"1\" />\n      <Field Name=\"Union\" Identifier=\"2\" />\n      <Field Name=\"StructureWithSubtypedValues\" Identifier=\"3\" />\n      <Field Name=\"UnionWithSubtypedValues\" Identifier=\"4\" />\n    </Fields>\n  </DataType>\n  <DataType SymbolicName=\"tns:StructureField\" SymbolicId=\"tns:StructureField\" PartNo=\"3\" BaseType=\"tns:Structure\">\n    <Fields>\n      <Field Name=\"Name\" DataType=\"tns:String\" />\n      <Field Name=\"Description\" DataType=\"tns:LocalizedText\" />\n      <Field Name=\"DataType\" DataType=\"tns:NodeId\" />\n      <Field Name=\"ValueRank\" DataType=\"tns:Int32\" />\n      <Field Name=\"ArrayDimensions\" DataType=\"tns:UInt32\" ValueRank=\"Array\" />\n      <Field Name=\"MaxStringLength\" DataType=\"tns:UInt32\" />\n      <Field Name=\"IsOptional\" DataType=\"tns:Boolean\">\n        <DefaultValue>\n          <uax:Boolean>false</uax:Boolean>\n        </DefaultValue>\n      </Field>\n    </Fields>\n  </DataType>\n  <DataType SymbolicName=\"tns:StructureDefinition\" SymbolicId=\"tns:StructureDefinition\" PartNo=\"3\" BaseType=\"tns:DataTypeDefinition\">\n    <Fields>\n      <Field Name=\"DefaultEncodingId\" DataType=\"tns:NodeId\" />\n      <Field Name=\"BaseDataType\" DataType=\"tns:NodeId\" />\n      <Field Name=\"StructureType\" DataType=\"tns:StructureType\" />\n      <Field Name=\"Fields\" DataType=\"tns:StructureField\" ValueRank=\"Array\" />\n    </Fields>\n  </DataType>\n  <DataType SymbolicName=\"tns:EnumDefinition\" SymbolicId=\"tns:EnumDefinition\" PartNo=\"3\" BaseType=\"tns:DataTypeDefinition\">\n    <Fields>\n      <Field Name=\"Fields\" DataType=\"tns:EnumField\" ValueRank=\"Array\" />\n    </Fields>\n  </DataType>\n  <DataType SymbolicName=\"tns:Node\" SymbolicId=\"tns:Node\" PartNo=\"3\" NotInAddressSpace=\"true\" Purpose=\"CodeGenerator\" BaseType=\"tns:Structure\" NoClassGeneration=\"true\">\n    <Fields>\n      <Field Name=\"NodeId\" DataType=\"tns:NodeId\" />\n      <Field Name=\"NodeClass\" DataType=\"tns:NodeClass\" />\n      <Field Name=\"BrowseName\" DataType=\"tns:QualifiedName\" />\n      <Field Name=\"DisplayName\" DataType=\"tns:LocalizedText\" />\n      <Field Name=\"Description\" DataType=\"tns:LocalizedText\" />\n      <Field Name=\"WriteMask\" DataType=\"tns:UInt32\" />\n      <Field Name=\"UserWriteMask\" DataType=\"tns:UInt32\" />\n      <Field Name=\"RolePermissions\" DataType=\"tns:RolePermissionType\" ValueRank=\"Array\" />\n      <Field Name=\"UserRolePermissions\" DataType=\"tns:RolePermissionType\" ValueRank=\"Array\" />\n      <Field Name=\"AccessRestrictions\" DataType=\"tns:UInt16\" />\n      <Field Name=\"References\" DataType=\"tns:ReferenceNode\" ValueRank=\"Array\" />\n    </Fields>\n  </DataType>\n  <DataType SymbolicName=\"tns:InstanceNode\" SymbolicId=\"tns:InstanceNode\" PartNo=\"3\" NotInAddressSpace=\"true\" Purpose=\"CodeGenerator\" BaseType=\"tns:Node\" NoClassGeneration=\"true\" NoArraysAllowed=\"true\" />\n  <DataType SymbolicName=\"tns:TypeNode\" SymbolicId=\"tns:TypeNode\" PartNo=\"3\" NotInAddressSpace=\"true\" Purpose=\"CodeGenerator\" BaseType=\"tns:Node\" NoClassGeneration=\"true\" NoArraysAllowed=\"true\" />\n  <DataType SymbolicName=\"tns:ObjectNode\" SymbolicId=\"tns:ObjectNode\" PartNo=\"3\" NotInAddressSpace=\"true\" Purpose=\"CodeGenerator\" BaseType=\"tns:InstanceNode\" NoClassGeneration=\"true\" NoArraysAllowed=\"true\">\n    <Fields>\n      <Field Name=\"EventNotifier\" DataType=\"tns:Byte\" />\n    </Fields>\n  </DataType>\n  <DataType SymbolicName=\"tns:ObjectTypeNode\" SymbolicId=\"tns:ObjectTypeNode\" PartNo=\"3\" NotInAddressSpace=\"true\" Purpose=\"CodeGenerator\" BaseType=\"tns:TypeNode\" NoClassGeneration=\"true\" NoArraysAllowed=\"true\">\n    <Fields>\n      <Field Name=\"IsAbstract\" DataType=\"tns:Boolean\" />\n    </Fields>\n  </DataType>\n  <DataType SymbolicName=\"tns:VariableNode\" SymbolicId=\"tns:VariableNode\" PartNo=\"3\" NotInAddressSpace=\"true\" Purpose=\"CodeGenerator\" BaseType=\"tns:InstanceNode\" NoClassGeneration=\"true\" NoArraysAllowed=\"true\">\n    <Fields>\n      <Field Name=\"Value\" DataType=\"tns:BaseDataType\" />\n      <Field Name=\"DataType\" DataType=\"tns:NodeId\" />\n      <Field Name=\"ValueRank\" DataType=\"tns:Int32\" />\n      <Field Name=\"ArrayDimensions\" DataType=\"tns:UInt32\" ValueRank=\"Array\" />\n      <Field Name=\"AccessLevel\" DataType=\"tns:Byte\" />\n      <Field Name=\"UserAccessLevel\" DataType=\"tns:Byte\" />\n      <Field Name=\"MinimumSamplingInterval\" DataType=\"tns:Duration\" />\n      <Field Name=\"Historizing\" DataType=\"tns:Boolean\" />\n      <Field Name=\"AccessLevelEx\" DataType=\"tns:UInt32\" />\n    </Fields>\n  </DataType>\n  <DataType SymbolicName=\"tns:VariableTypeNode\" SymbolicId=\"tns:VariableTypeNode\" PartNo=\"3\" NotInAddressSpace=\"true\" Purpose=\"CodeGenerator\" BaseType=\"tns:TypeNode\" NoClassGeneration=\"true\" NoArraysAllowed=\"true\">\n    <Fields>\n      <Field Name=\"Value\" DataType=\"tns:BaseDataType\" />\n      <Field Name=\"DataType\" DataType=\"tns:NodeId\" />\n      <Field Name=\"ValueRank\" DataType=\"tns:Int32\" />\n      <Field Name=\"ArrayDimensions\" DataType=\"tns:UInt32\" ValueRank=\"Array\" />\n      <Field Name=\"IsAbstract\" DataType=\"tns:Boolean\" />\n    </Fields>\n  </DataType>\n  <DataType SymbolicName=\"tns:ReferenceTypeNode\" SymbolicId=\"tns:ReferenceTypeNode\" PartNo=\"3\" NotInAddressSpace=\"true\" Purpose=\"CodeGenerator\" BaseType=\"tns:TypeNode\" NoClassGeneration=\"true\" NoArraysAllowed=\"true\">\n    <Fields>\n      <Field Name=\"IsAbstract\" DataType=\"tns:Boolean\" />\n      <Field Name=\"Symmetric\" DataType=\"tns:Boolean\" />\n      <Field Name=\"InverseName\" DataType=\"tns:LocalizedText\" />\n    </Fields>\n  </DataType>\n  <DataType SymbolicName=\"tns:MethodNode\" SymbolicId=\"tns:MethodNode\" PartNo=\"3\" NotInAddressSpace=\"true\" Purpose=\"CodeGenerator\" BaseType=\"tns:InstanceNode\" NoClassGeneration=\"true\" NoArraysAllowed=\"true\">\n    <Fields>\n      <Field Name=\"Executable\" DataType=\"tns:Boolean\" />\n      <Field Name=\"UserExecutable\" DataType=\"tns:Boolean\" />\n    </Fields>\n  </DataType>\n  <DataType SymbolicName=\"tns:ViewNode\" SymbolicId=\"tns:ViewNode\" PartNo=\"3\" NotInAddressSpace=\"true\" Purpose=\"CodeGenerator\" BaseType=\"tns:InstanceNode\" NoClassGeneration=\"true\" NoArraysAllowed=\"true\">\n    <Fields>\n      <Field Name=\"ContainsNoLoops\" DataType=\"tns:Boolean\" />\n      <Field Name=\"EventNotifier\" DataType=\"tns:Byte\" />\n    </Fields>\n  </DataType>\n  <DataType SymbolicName=\"tns:DataTypeNode\" SymbolicId=\"tns:DataTypeNode\" PartNo=\"3\" NotInAddressSpace=\"true\" Purpose=\"CodeGenerator\" BaseType=\"tns:TypeNode\" NoClassGeneration=\"true\" NoArraysAllowed=\"true\">\n    <Fields>\n      <Field Name=\"IsAbstract\" DataType=\"tns:Boolean\" />\n      <Field Name=\"DataTypeDefinition\" DataType=\"tns:Structure\" />\n    </Fields>\n  </DataType>\n  <DataType SymbolicName=\"tns:ReferenceNode\" SymbolicId=\"tns:ReferenceNode\" PartNo=\"3\" NotInAddressSpace=\"true\" Purpose=\"CodeGenerator\" BaseType=\"tns:Structure\" NoClassGeneration=\"true\">\n    <Fields>\n      <Field Name=\"ReferenceTypeId\" DataType=\"tns:NodeId\" />\n      <Field Name=\"IsInverse\" DataType=\"tns:Boolean\" />\n      <Field Name=\"TargetId\" DataType=\"tns:ExpandedNodeId\" />\n    </Fields>\n  </DataType>\n  <DataType SymbolicName=\"tns:Argument\" SymbolicId=\"tns:Argument\" PartNo=\"3\" BaseType=\"tns:Structure\">\n    <Fields>\n      <Field Name=\"Name\" DataType=\"tns:String\" />\n      <Field Name=\"DataType\" DataType=\"tns:NodeId\" />\n      <Field Name=\"ValueRank\" DataType=\"tns:Int32\" />\n      <Field Name=\"ArrayDimensions\" DataType=\"tns:UInt32\" ValueRank=\"Array\" />\n      <Field Name=\"Description\" DataType=\"tns:LocalizedText\" />\n    </Fields>\n  </DataType>\n  <DataType SymbolicName=\"tns:EnumValueType\" SymbolicId=\"tns:EnumValueType\" PartNo=\"3\" BaseType=\"tns:Structure\">\n    <Fields>\n      <Field Name=\"Value\" DataType=\"tns:Int64\" />\n      <Field Name=\"DisplayName\" DataType=\"tns:LocalizedText\" />\n      <Field Name=\"Description\" DataType=\"tns:LocalizedText\" />\n    </Fields>\n  </DataType>\n  <DataType SymbolicName=\"tns:EnumField\" SymbolicId=\"tns:EnumField\" PartNo=\"3\" BaseType=\"tns:EnumValueType\">\n    <Fields>\n      <Field Name=\"Name\" DataType=\"tns:String\" />\n    </Fields>\n  </DataType>\n  <DataType SymbolicName=\"tns:OptionSet\" SymbolicId=\"tns:OptionSet\" PartNo=\"3\" BaseType=\"tns:Structure\" IsAbstract=\"true\">\n    <Fields>\n      <Field Name=\"Value\" DataType=\"tns:ByteString\" />\n      <Field Name=\"ValidBits\" DataType=\"tns:ByteString\" />\n    </Fields>\n  </DataType>\n  <DataType SymbolicName=\"tns:NormalizedString\" SymbolicId=\"tns:NormalizedString\" PartNo=\"3\" BaseType=\"tns:String\" NoArraysAllowed=\"true\" />\n  <DataType SymbolicName=\"tns:DecimalString\" SymbolicId=\"tns:DecimalString\" PartNo=\"3\" BaseType=\"tns:String\" NoArraysAllowed=\"true\" />\n  <DataType SymbolicName=\"tns:DurationString\" SymbolicId=\"tns:DurationString\" PartNo=\"3\" BaseType=\"tns:String\" NoArraysAllowed=\"true\" />\n  <DataType SymbolicName=\"tns:TimeString\" SymbolicId=\"tns:TimeString\" PartNo=\"3\" BaseType=\"tns:String\" NoArraysAllowed=\"true\" />\n  <DataType SymbolicName=\"tns:DateString\" SymbolicId=\"tns:DateString\" PartNo=\"3\" BaseType=\"tns:String\" NoArraysAllowed=\"true\" />\n  <DataType SymbolicName=\"tns:Duration\" SymbolicId=\"tns:Duration\" PartNo=\"3\" BaseType=\"tns:Double\" NoArraysAllowed=\"true\" />\n  <DataType SymbolicName=\"tns:UtcTime\" SymbolicId=\"tns:UtcTime\" PartNo=\"3\" BaseType=\"tns:DateTime\" NoArraysAllowed=\"true\" />\n  <DataType SymbolicName=\"tns:Time\" SymbolicId=\"tns:Time\" PartNo=\"3\" ReleaseStatus=\"Deprecated\" BaseType=\"tns:String\" NoArraysAllowed=\"true\" />\n  <DataType SymbolicName=\"tns:Date\" SymbolicId=\"tns:Date\" PartNo=\"3\" ReleaseStatus=\"Deprecated\" BaseType=\"tns:DateTime\" NoArraysAllowed=\"true\" />\n  <DataType SymbolicName=\"tns:LocaleId\" SymbolicId=\"tns:LocaleId\" PartNo=\"3\" BaseType=\"tns:String\" NoArraysAllowed=\"true\" />\n  <DataType SymbolicName=\"tns:TimeZoneDataType\" SymbolicId=\"tns:TimeZoneDataType\" PartNo=\"3\" BaseType=\"tns:Structure\">\n    <Fields>\n      <Field Name=\"Offset\" DataType=\"tns:Int16\" />\n      <Field Name=\"DaylightSavingInOffset\" DataType=\"tns:Boolean\" />\n    </Fields>\n  </DataType>\n  <DataType SymbolicName=\"tns:Index\" SymbolicId=\"tns:Index\" PartNo=\"4\" BaseType=\"tns:UInt32\" NoArraysAllowed=\"true\" />\n  <DataType SymbolicName=\"tns:IntegerId\" SymbolicId=\"tns:IntegerId\" PartNo=\"4\" BaseType=\"tns:UInt32\" NoArraysAllowed=\"true\" />\n  <DataType SymbolicName=\"tns:ApplicationType\" SymbolicId=\"tns:ApplicationType\" PartNo=\"4\" BaseType=\"tns:Enumeration\" NoArraysAllowed=\"true\">\n    <Fields>\n      <Field Name=\"Server\" Identifier=\"0\" />\n      <Field Name=\"Client\" Identifier=\"1\" />\n      <Field Name=\"ClientAndServer\" Identifier=\"2\" />\n      <Field Name=\"DiscoveryServer\" Identifier=\"3\" />\n    </Fields>\n  </DataType>\n  <DataType SymbolicName=\"tns:ApplicationDescription\" SymbolicId=\"tns:ApplicationDescription\" PartNo=\"4\" BaseType=\"tns:Structure\">\n    <Fields>\n      <Field Name=\"ApplicationUri\" DataType=\"tns:String\" />\n      <Field Name=\"ProductUri\" DataType=\"tns:String\" />\n      <Field Name=\"ApplicationName\" DataType=\"tns:LocalizedText\" />\n      <Field Name=\"ApplicationType\" DataType=\"tns:ApplicationType\" />\n      <Field Name=\"GatewayServerUri\" DataType=\"tns:String\" />\n      <Field Name=\"DiscoveryProfileUri\" DataType=\"tns:String\" />\n      <Field Name=\"DiscoveryUrls\" DataType=\"tns:String\" ValueRank=\"Array\" />\n    </Fields>\n  </DataType>\n  <DataType SymbolicName=\"tns:RequestHeader\" SymbolicId=\"tns:RequestHeader\" PartNo=\"4\" NotInAddressSpace=\"true\" Purpose=\"ServicesOnly\" BaseType=\"tns:Structure\" NoClassGeneration=\"true\" NoArraysAllowed=\"true\">\n    <Fields>\n      <Field Name=\"AuthenticationToken\" DataType=\"tns:SessionAuthenticationToken\" />\n      <Field Name=\"Timestamp\" DataType=\"tns:UtcTime\" />\n      <Field Name=\"RequestHandle\" DataType=\"tns:IntegerId\" />\n      <Field Name=\"ReturnDiagnostics\" DataType=\"tns:UInt32\" />\n      <Field Name=\"AuditEntryId\" DataType=\"tns:String\" />\n      <Field Name=\"TimeoutHint\" DataType=\"tns:UInt32\" />\n      <Field Name=\"AdditionalHeader\" DataType=\"tns:Structure\" />\n    </Fields>\n  </DataType>\n  <DataType SymbolicName=\"tns:ResponseHeader\" SymbolicId=\"tns:ResponseHeader\" PartNo=\"4\" NotInAddressSpace=\"true\" Purpose=\"ServicesOnly\" BaseType=\"tns:Structure\" NoClassGeneration=\"true\" NoArraysAllowed=\"true\">\n    <Fields>\n      <Field Name=\"Timestamp\" DataType=\"tns:UtcTime\" />\n      <Field Name=\"RequestHandle\" DataType=\"tns:IntegerId\" />\n      <Field Name=\"ServiceResult\" DataType=\"tns:StatusCode\" />\n      <Field Name=\"ServiceDiagnostics\" DataType=\"tns:DiagnosticInfo\" />\n      <Field Name=\"StringTable\" DataType=\"tns:String\" ValueRank=\"Array\" />\n      <Field Name=\"AdditionalHeader\" DataType=\"tns:Structure\" />\n    </Fields>\n  </DataType>\n  <DataType SymbolicName=\"tns:VersionTime\" SymbolicId=\"tns:VersionTime\" PartNo=\"4\" BaseType=\"tns:UInt32\" NoArraysAllowed=\"true\" />\n  <DataType SymbolicName=\"tns:ServiceFault\" SymbolicId=\"tns:ServiceFault\" PartNo=\"4\" NotInAddressSpace=\"true\" Purpose=\"ServicesOnly\" BaseType=\"tns:Structure\" NoClassGeneration=\"true\" NoArraysAllowed=\"true\">\n    <Fields>\n      <Field Name=\"ResponseHeader\" DataType=\"tns:ResponseHeader\" />\n    </Fields>\n  </DataType>\n  <DataType SymbolicName=\"tns:SessionlessInvokeRequestType\" SymbolicId=\"tns:SessionlessInvokeRequestType\" PartNo=\"4\" NotInAddressSpace=\"true\" Purpose=\"ServicesOnly\" BaseType=\"tns:Structure\" NoClassGeneration=\"true\" NoArraysAllowed=\"true\">\n    <Fields>\n      <Field Name=\"UrisVersion\" DataType=\"tns:VersionTime\" />\n      <Field Name=\"NamespaceUris\" DataType=\"tns:String\" ValueRank=\"Array\" />\n      <Field Name=\"ServerUris\" DataType=\"tns:String\" ValueRank=\"Array\" />\n      <Field Name=\"LocaleIds\" DataType=\"tns:LocaleId\" ValueRank=\"Array\" />\n      <Field Name=\"ServiceId\" DataType=\"tns:UInt32\" />\n    </Fields>\n  </DataType>\n  <DataType SymbolicName=\"tns:SessionlessInvokeResponseType\" SymbolicId=\"tns:SessionlessInvokeResponseType\" PartNo=\"4\" NotInAddressSpace=\"true\" Purpose=\"ServicesOnly\" BaseType=\"tns:Structure\" NoClassGeneration=\"true\" NoArraysAllowed=\"true\">\n    <Fields>\n      <Field Name=\"NamespaceUris\" DataType=\"tns:String\" ValueRank=\"Array\" />\n      <Field Name=\"ServerUris\" DataType=\"tns:String\" ValueRank=\"Array\" />\n      <Field Name=\"ServiceId\" DataType=\"tns:UInt32\" />\n    </Fields>\n  </DataType>\n  <DataType SymbolicName=\"tns:FindServersRequest\" SymbolicId=\"tns:FindServersRequest\" PartNo=\"4\" NotInAddressSpace=\"true\" Purpose=\"ServicesOnly\" BaseType=\"tns:Structure\" NoArraysAllowed=\"true\">\n    <Fields>\n      <Field Name=\"RequestHeader\" DataType=\"tns:RequestHeader\" />\n      <Field Name=\"EndpointUrl\" DataType=\"tns:String\" />\n      <Field Name=\"LocaleIds\" DataType=\"tns:LocaleId\" ValueRank=\"Array\" />\n      <Field Name=\"ServerUris\" DataType=\"tns:String\" ValueRank=\"Array\" />\n    </Fields>\n  </DataType>\n  <DataType SymbolicName=\"tns:FindServersResponse\" SymbolicId=\"tns:FindServersResponse\" PartNo=\"4\" NotInAddressSpace=\"true\" Purpose=\"ServicesOnly\" BaseType=\"tns:Structure\" NoArraysAllowed=\"true\">\n    <Fields>\n      <Field Name=\"ResponseHeader\" DataType=\"tns:ResponseHeader\" />\n      <Field Name=\"Servers\" DataType=\"tns:ApplicationDescription\" ValueRank=\"Array\" />\n    </Fields>\n  </DataType>\n  <DataType SymbolicName=\"tns:ServerOnNetwork\" SymbolicId=\"tns:ServerOnNetwork\" PartNo=\"4\" BaseType=\"tns:Structure\">\n    <Fields>\n      <Field Name=\"RecordId\" DataType=\"tns:UInt32\" />\n      <Field Name=\"ServerName\" DataType=\"tns:String\" />\n      <Field Name=\"DiscoveryUrl\" DataType=\"tns:String\" />\n      <Field Name=\"ServerCapabilities\" DataType=\"tns:String\" ValueRank=\"Array\" />\n    </Fields>\n  </DataType>\n  <DataType SymbolicName=\"tns:FindServersOnNetworkRequest\" SymbolicId=\"tns:FindServersOnNetworkRequest\" PartNo=\"4\" NotInAddressSpace=\"true\" Purpose=\"ServicesOnly\" BaseType=\"tns:Structure\" NoArraysAllowed=\"true\">\n    <Fields>\n      <Field Name=\"RequestHeader\" DataType=\"tns:RequestHeader\" />\n      <Field Name=\"StartingRecordId\" DataType=\"tns:Counter\" />\n      <Field Name=\"MaxRecordsToReturn\" DataType=\"tns:UInt32\" />\n      <Field Name=\"ServerCapabilityFilter\" DataType=\"tns:String\" ValueRank=\"Array\" />\n    </Fields>\n  </DataType>\n  <DataType SymbolicName=\"tns:FindServersOnNetworkResponse\" SymbolicId=\"tns:FindServersOnNetworkResponse\" PartNo=\"4\" NotInAddressSpace=\"true\" Purpose=\"ServicesOnly\" BaseType=\"tns:Structure\" NoArraysAllowed=\"true\">\n    <Fields>\n      <Field Name=\"ResponseHeader\" DataType=\"tns:ResponseHeader\" />\n      <Field Name=\"LastCounterResetTime\" DataType=\"tns:UtcTime\" />\n      <Field Name=\"Servers\" DataType=\"tns:ServerOnNetwork\" ValueRank=\"Array\" />\n    </Fields>\n  </DataType>\n  <DataType SymbolicName=\"tns:ApplicationInstanceCertificate\" SymbolicId=\"tns:ApplicationInstanceCertificate\" PartNo=\"4\" BaseType=\"tns:ByteString\" NoArraysAllowed=\"true\" />\n  <DataType SymbolicName=\"tns:MessageSecurityMode\" SymbolicId=\"tns:MessageSecurityMode\" PartNo=\"4\" BaseType=\"tns:Enumeration\" NoArraysAllowed=\"true\">\n    <Fields>\n      <Field Name=\"Invalid\" Identifier=\"0\" />\n      <Field Name=\"None\" Identifier=\"1\" />\n      <Field Name=\"Sign\" Identifier=\"2\" />\n      <Field Name=\"SignAndEncrypt\" Identifier=\"3\" />\n    </Fields>\n  </DataType>\n  <DataType SymbolicName=\"tns:UserTokenType\" SymbolicId=\"tns:UserTokenType\" PartNo=\"4\" BaseType=\"tns:Enumeration\" NoArraysAllowed=\"true\">\n    <Fields>\n      <Field Name=\"Anonymous\" Identifier=\"0\" />\n      <Field Name=\"UserName\" Identifier=\"1\" />\n      <Field Name=\"Certificate\" Identifier=\"2\" />\n      <Field Name=\"IssuedToken\" Identifier=\"3\" />\n    </Fields>\n  </DataType>\n  <DataType SymbolicName=\"tns:UserTokenPolicy\" SymbolicId=\"tns:UserTokenPolicy\" PartNo=\"4\" BaseType=\"tns:Structure\">\n    <Fields>\n      <Field Name=\"PolicyId\" DataType=\"tns:String\" />\n      <Field Name=\"TokenType\" DataType=\"tns:UserTokenType\" />\n      <Field Name=\"IssuedTokenType\" DataType=\"tns:String\" />\n      <Field Name=\"IssuerEndpointUrl\" DataType=\"tns:String\" />\n      <Field Name=\"SecurityPolicyUri\" DataType=\"tns:String\" />\n    </Fields>\n  </DataType>\n  <DataType SymbolicName=\"tns:EndpointDescription\" SymbolicId=\"tns:EndpointDescription\" PartNo=\"4\" BaseType=\"tns:Structure\">\n    <Fields>\n      <Field Name=\"EndpointUrl\" DataType=\"tns:String\" />\n      <Field Name=\"Server\" DataType=\"tns:ApplicationDescription\" />\n      <Field Name=\"ServerCertificate\" DataType=\"tns:ApplicationInstanceCertificate\" />\n      <Field Name=\"SecurityMode\" DataType=\"tns:MessageSecurityMode\" />\n      <Field Name=\"SecurityPolicyUri\" DataType=\"tns:String\" />\n      <Field Name=\"UserIdentityTokens\" DataType=\"tns:UserTokenPolicy\" ValueRank=\"Array\" />\n      <Field Name=\"TransportProfileUri\" DataType=\"tns:String\" />\n      <Field Name=\"SecurityLevel\" DataType=\"tns:Byte\" />\n    </Fields>\n  </DataType>\n  <DataType SymbolicName=\"tns:GetEndpointsRequest\" SymbolicId=\"tns:GetEndpointsRequest\" PartNo=\"4\" NotInAddressSpace=\"true\" Purpose=\"ServicesOnly\" BaseType=\"tns:Structure\" NoArraysAllowed=\"true\">\n    <Fields>\n      <Field Name=\"RequestHeader\" DataType=\"tns:RequestHeader\" />\n      <Field Name=\"EndpointUrl\" DataType=\"tns:String\" />\n      <Field Name=\"LocaleIds\" DataType=\"tns:LocaleId\" ValueRank=\"Array\" />\n      <Field Name=\"ProfileUris\" DataType=\"tns:String\" ValueRank=\"Array\" />\n    </Fields>\n  </DataType>\n  <DataType SymbolicName=\"tns:GetEndpointsResponse\" SymbolicId=\"tns:GetEndpointsResponse\" PartNo=\"4\" NotInAddressSpace=\"true\" Purpose=\"ServicesOnly\" BaseType=\"tns:Structure\" NoArraysAllowed=\"true\">\n    <Fields>\n      <Field Name=\"ResponseHeader\" DataType=\"tns:ResponseHeader\" />\n      <Field Name=\"Endpoints\" DataType=\"tns:EndpointDescription\" ValueRank=\"Array\" />\n    </Fields>\n  </DataType>\n  <DataType SymbolicName=\"tns:RegisteredServer\" SymbolicId=\"tns:RegisteredServer\" PartNo=\"4\" BaseType=\"tns:Structure\">\n    <Fields>\n      <Field Name=\"ServerUri\" DataType=\"tns:String\" />\n      <Field Name=\"ProductUri\" DataType=\"tns:String\" />\n      <Field Name=\"ServerNames\" DataType=\"tns:LocalizedText\" ValueRank=\"Array\" />\n      <Field Name=\"ServerType\" DataType=\"tns:ApplicationType\" />\n      <Field Name=\"GatewayServerUri\" DataType=\"tns:String\" />\n      <Field Name=\"DiscoveryUrls\" DataType=\"tns:String\" ValueRank=\"Array\" />\n      <Field Name=\"SemaphoreFilePath\" DataType=\"tns:String\" />\n      <Field Name=\"IsOnline\" DataType=\"tns:Boolean\" />\n    </Fields>\n  </DataType>\n  <DataType SymbolicName=\"tns:RegisterServerRequest\" SymbolicId=\"tns:RegisterServerRequest\" PartNo=\"4\" NotInAddressSpace=\"true\" Purpose=\"ServicesOnly\" BaseType=\"tns:Structure\" NoArraysAllowed=\"true\">\n    <Fields>\n      <Field Name=\"RequestHeader\" DataType=\"tns:RequestHeader\" />\n      <Field Name=\"Server\" DataType=\"tns:RegisteredServer\" />\n    </Fields>\n  </DataType>\n  <DataType SymbolicName=\"tns:RegisterServerResponse\" SymbolicId=\"tns:RegisterServerResponse\" PartNo=\"4\" NotInAddressSpace=\"true\" Purpose=\"ServicesOnly\" BaseType=\"tns:Structure\" NoArraysAllowed=\"true\">\n    <Fields>\n      <Field Name=\"ResponseHeader\" DataType=\"tns:ResponseHeader\" />\n    </Fields>\n  </DataType>\n  <DataType SymbolicName=\"tns:DiscoveryConfiguration\" SymbolicId=\"tns:DiscoveryConfiguration\" PartNo=\"4\" BaseType=\"tns:Structure\" NoArraysAllowed=\"true\" />\n  <DataType SymbolicName=\"tns:MdnsDiscoveryConfiguration\" SymbolicId=\"tns:MdnsDiscoveryConfiguration\" PartNo=\"4\" BaseType=\"tns:DiscoveryConfiguration\" NoArraysAllowed=\"true\">\n    <Fields>\n      <Field Name=\"MdnsServerName\" DataType=\"tns:String\" />\n      <Field Name=\"ServerCapabilities\" DataType=\"tns:String\" ValueRank=\"Array\" />\n    </Fields>\n  </DataType>\n  <DataType SymbolicName=\"tns:RegisterServer2Request\" SymbolicId=\"tns:RegisterServer2Request\" PartNo=\"4\" NotInAddressSpace=\"true\" Purpose=\"ServicesOnly\" BaseType=\"tns:Structure\" NoArraysAllowed=\"true\">\n    <Fields>\n      <Field Name=\"RequestHeader\" DataType=\"tns:RequestHeader\" />\n      <Field Name=\"Server\" DataType=\"tns:RegisteredServer\" />\n      <Field Name=\"DiscoveryConfiguration\" DataType=\"tns:Structure\" ValueRank=\"Array\" />\n    </Fields>\n  </DataType>\n  <DataType SymbolicName=\"tns:RegisterServer2Response\" SymbolicId=\"tns:RegisterServer2Response\" PartNo=\"4\" NotInAddressSpace=\"true\" Purpose=\"ServicesOnly\" BaseType=\"tns:Structure\" NoArraysAllowed=\"true\">\n    <Fields>\n      <Field Name=\"ResponseHeader\" DataType=\"tns:ResponseHeader\" />\n      <Field Name=\"ConfigurationResults\" DataType=\"tns:StatusCode\" ValueRank=\"Array\" />\n      <Field Name=\"DiagnosticInfos\" DataType=\"tns:DiagnosticInfo\" ValueRank=\"Array\" />\n    </Fields>\n  </DataType>\n  <DataType SymbolicName=\"tns:SecurityTokenRequestType\" SymbolicId=\"tns:SecurityTokenRequestType\" PartNo=\"4\" BaseType=\"tns:Enumeration\" NoArraysAllowed=\"true\">\n    <Fields>\n      <Field Name=\"Issue\" Identifier=\"0\" />\n      <Field Name=\"Renew\" Identifier=\"1\" />\n    </Fields>\n  </DataType>\n  <DataType SymbolicName=\"tns:ChannelSecurityToken\" SymbolicId=\"tns:ChannelSecurityToken\" PartNo=\"4\" NotInAddressSpace=\"true\" Purpose=\"ServicesOnly\" BaseType=\"tns:Structure\" NoClassGeneration=\"true\" NoArraysAllowed=\"true\">\n    <Fields>\n      <Field Name=\"ChannelId\" DataType=\"tns:UInt32\" />\n      <Field Name=\"TokenId\" DataType=\"tns:UInt32\" />\n      <Field Name=\"CreatedAt\" DataType=\"tns:UtcTime\" />\n      <Field Name=\"RevisedLifetime\" DataType=\"tns:UInt32\" />\n    </Fields>\n  </DataType>\n  <DataType SymbolicName=\"tns:OpenSecureChannelRequest\" SymbolicId=\"tns:OpenSecureChannelRequest\" PartNo=\"4\" NotInAddressSpace=\"true\" Purpose=\"ServicesOnly\" BaseType=\"tns:Structure\" NoArraysAllowed=\"true\">\n    <Fields>\n      <Field Name=\"RequestHeader\" DataType=\"tns:RequestHeader\" />\n      <Field Name=\"ClientProtocolVersion\" DataType=\"tns:UInt32\" />\n      <Field Name=\"RequestType\" DataType=\"tns:SecurityTokenRequestType\" />\n      <Field Name=\"SecurityMode\" DataType=\"tns:MessageSecurityMode\" />\n      <Field Name=\"ClientNonce\" DataType=\"tns:ByteString\" />\n      <Field Name=\"RequestedLifetime\" DataType=\"tns:UInt32\" />\n    </Fields>\n  </DataType>\n  <DataType SymbolicName=\"tns:OpenSecureChannelResponse\" SymbolicId=\"tns:OpenSecureChannelResponse\" PartNo=\"4\" NotInAddressSpace=\"true\" Purpose=\"ServicesOnly\" BaseType=\"tns:Structure\" NoArraysAllowed=\"true\">\n    <Fields>\n      <Field Name=\"ResponseHeader\" DataType=\"tns:ResponseHeader\" />\n      <Field Name=\"ServerProtocolVersion\" DataType=\"tns:UInt32\" />\n      <Field Name=\"SecurityToken\" DataType=\"tns:ChannelSecurityToken\" />\n      <Field Name=\"ServerNonce\" DataType=\"tns:ByteString\" />\n    </Fields>\n  </DataType>\n  <DataType SymbolicName=\"tns:CloseSecureChannelRequest\" SymbolicId=\"tns:CloseSecureChannelRequest\" PartNo=\"4\" NotInAddressSpace=\"true\" Purpose=\"ServicesOnly\" BaseType=\"tns:Structure\" NoArraysAllowed=\"true\">\n    <Fields>\n      <Field Name=\"RequestHeader\" DataType=\"tns:RequestHeader\" />\n    </Fields>\n  </DataType>\n  <DataType SymbolicName=\"tns:CloseSecureChannelResponse\" SymbolicId=\"tns:CloseSecureChannelResponse\" PartNo=\"4\" NotInAddressSpace=\"true\" Purpose=\"ServicesOnly\" BaseType=\"tns:Structure\" NoArraysAllowed=\"true\">\n    <Fields>\n      <Field Name=\"ResponseHeader\" DataType=\"tns:ResponseHeader\" />\n    </Fields>\n  </DataType>\n  <DataType SymbolicName=\"tns:SignedSoftwareCertificate\" SymbolicId=\"tns:SignedSoftwareCertificate\" PartNo=\"4\" BaseType=\"tns:Structure\">\n    <Fields>\n      <Field Name=\"CertificateData\" DataType=\"tns:ByteString\" />\n      <Field Name=\"Signature\" DataType=\"tns:ByteString\" />\n    </Fields>\n  </DataType>\n  <DataType SymbolicName=\"tns:SessionAuthenticationToken\" SymbolicId=\"tns:SessionAuthenticationToken\" PartNo=\"4\" BaseType=\"tns:NodeId\" NoArraysAllowed=\"true\" />\n  <DataType SymbolicName=\"tns:SignatureData\" SymbolicId=\"tns:SignatureData\" PartNo=\"4\" NotInAddressSpace=\"true\" Purpose=\"ServicesOnly\" BaseType=\"tns:Structure\" NoClassGeneration=\"true\" NoArraysAllowed=\"true\">\n    <Fields>\n      <Field Name=\"Algorithm\" DataType=\"tns:String\" />\n      <Field Name=\"Signature\" DataType=\"tns:ByteString\" />\n    </Fields>\n  </DataType>\n  <DataType SymbolicName=\"tns:CreateSessionRequest\" SymbolicId=\"tns:CreateSessionRequest\" PartNo=\"4\" NotInAddressSpace=\"true\" Purpose=\"ServicesOnly\" BaseType=\"tns:Structure\" NoArraysAllowed=\"true\">\n    <Fields>\n      <Field Name=\"RequestHeader\" DataType=\"tns:RequestHeader\" />\n      <Field Name=\"ClientDescription\" DataType=\"tns:ApplicationDescription\" />\n      <Field Name=\"ServerUri\" DataType=\"tns:String\" />\n      <Field Name=\"EndpointUrl\" DataType=\"tns:String\" />\n      <Field Name=\"SessionName\" DataType=\"tns:String\" />\n      <Field Name=\"ClientNonce\" DataType=\"tns:ByteString\" />\n      <Field Name=\"ClientCertificate\" DataType=\"tns:ApplicationInstanceCertificate\" />\n      <Field Name=\"RequestedSessionTimeout\" DataType=\"tns:Duration\" />\n      <Field Name=\"MaxResponseMessageSize\" DataType=\"tns:UInt32\" />\n    </Fields>\n  </DataType>\n  <DataType SymbolicName=\"tns:CreateSessionResponse\" SymbolicId=\"tns:CreateSessionResponse\" PartNo=\"4\" NotInAddressSpace=\"true\" Purpose=\"ServicesOnly\" BaseType=\"tns:Structure\" NoArraysAllowed=\"true\">\n    <Fields>\n      <Field Name=\"ResponseHeader\" DataType=\"tns:ResponseHeader\" />\n      <Field Name=\"SessionId\" DataType=\"tns:NodeId\" />\n      <Field Name=\"AuthenticationToken\" DataType=\"tns:SessionAuthenticationToken\" />\n      <Field Name=\"RevisedSessionTimeout\" DataType=\"tns:Duration\" />\n      <Field Name=\"ServerNonce\" DataType=\"tns:ByteString\" />\n      <Field Name=\"ServerCertificate\" DataType=\"tns:ApplicationInstanceCertificate\" />\n      <Field Name=\"ServerEndpoints\" DataType=\"tns:EndpointDescription\" ValueRank=\"Array\" />\n      <Field Name=\"ServerSoftwareCertificates\" DataType=\"tns:SignedSoftwareCertificate\" ValueRank=\"Array\" />\n      <Field Name=\"ServerSignature\" DataType=\"tns:SignatureData\" />\n      <Field Name=\"MaxRequestMessageSize\" DataType=\"tns:UInt32\" />\n    </Fields>\n  </DataType>\n  <DataType SymbolicName=\"tns:UserIdentityToken\" SymbolicId=\"tns:UserIdentityToken\" PartNo=\"4\" BaseType=\"tns:Structure\" IsAbstract=\"true\" NoArraysAllowed=\"true\">\n    <Fields>\n      <Field Name=\"PolicyId\" DataType=\"tns:String\" />\n    </Fields>\n  </DataType>\n  <DataType SymbolicName=\"tns:AnonymousIdentityToken\" SymbolicId=\"tns:AnonymousIdentityToken\" PartNo=\"4\" BaseType=\"tns:UserIdentityToken\" NoArraysAllowed=\"true\" />\n  <DataType SymbolicName=\"tns:UserNameIdentityToken\" SymbolicId=\"tns:UserNameIdentityToken\" PartNo=\"4\" BaseType=\"tns:UserIdentityToken\" NoArraysAllowed=\"true\">\n    <Fields>\n      <Field Name=\"UserName\" DataType=\"tns:String\" />\n      <Field Name=\"Password\" DataType=\"tns:ByteString\" />\n      <Field Name=\"EncryptionAlgorithm\" DataType=\"tns:String\" />\n    </Fields>\n  </DataType>\n  <DataType SymbolicName=\"tns:X509IdentityToken\" SymbolicId=\"tns:X509IdentityToken\" PartNo=\"4\" BaseType=\"tns:UserIdentityToken\" NoArraysAllowed=\"true\">\n    <Fields>\n      <Field Name=\"CertificateData\" DataType=\"tns:ByteString\" />\n    </Fields>\n  </DataType>\n  <DataType SymbolicName=\"tns:IssuedIdentityToken\" SymbolicId=\"tns:IssuedIdentityToken\" PartNo=\"4\" BaseType=\"tns:UserIdentityToken\" NoArraysAllowed=\"true\">\n    <Fields>\n      <Field Name=\"TokenData\" DataType=\"tns:ByteString\" />\n      <Field Name=\"EncryptionAlgorithm\" DataType=\"tns:String\" />\n    </Fields>\n  </DataType>\n  <DataType SymbolicName=\"tns:RsaEncryptedSecret\" SymbolicId=\"tns:RsaEncryptedSecret\" PartNo=\"4\" NotInAddressSpace=\"true\" Purpose=\"ServicesOnly\" BaseType=\"tns:BaseDataType\" NoClassGeneration=\"true\" NoArraysAllowed=\"true\" />\n  <DataType SymbolicName=\"tns:EccEncryptedSecret\" SymbolicId=\"tns:EccEncryptedSecret\" PartNo=\"4\" NotInAddressSpace=\"true\" Purpose=\"ServicesOnly\" BaseType=\"tns:BaseDataType\" NoClassGeneration=\"true\" NoArraysAllowed=\"true\" />\n  <DataType SymbolicName=\"tns:ActivateSessionRequest\" SymbolicId=\"tns:ActivateSessionRequest\" PartNo=\"4\" NotInAddressSpace=\"true\" Purpose=\"ServicesOnly\" BaseType=\"tns:Structure\" NoArraysAllowed=\"true\">\n    <Fields>\n      <Field Name=\"RequestHeader\" DataType=\"tns:RequestHeader\" />\n      <Field Name=\"ClientSignature\" DataType=\"tns:SignatureData\" />\n      <Field Name=\"ClientSoftwareCertificates\" DataType=\"tns:SignedSoftwareCertificate\" ValueRank=\"Array\" />\n      <Field Name=\"LocaleIds\" DataType=\"tns:LocaleId\" ValueRank=\"Array\" />\n      <Field Name=\"UserIdentityToken\" DataType=\"tns:Structure\" />\n      <Field Name=\"UserTokenSignature\" DataType=\"tns:SignatureData\" />\n    </Fields>\n  </DataType>\n  <DataType SymbolicName=\"tns:ActivateSessionResponse\" SymbolicId=\"tns:ActivateSessionResponse\" PartNo=\"4\" NotInAddressSpace=\"true\" Purpose=\"ServicesOnly\" BaseType=\"tns:Structure\" NoArraysAllowed=\"true\">\n    <Fields>\n      <Field Name=\"ResponseHeader\" DataType=\"tns:ResponseHeader\" />\n      <Field Name=\"ServerNonce\" DataType=\"tns:ByteString\" />\n      <Field Name=\"Results\" DataType=\"tns:StatusCode\" ValueRank=\"Array\" />\n      <Field Name=\"DiagnosticInfos\" DataType=\"tns:DiagnosticInfo\" ValueRank=\"Array\" />\n    </Fields>\n  </DataType>\n  <DataType SymbolicName=\"tns:CloseSessionRequest\" SymbolicId=\"tns:CloseSessionRequest\" PartNo=\"4\" NotInAddressSpace=\"true\" Purpose=\"ServicesOnly\" BaseType=\"tns:Structure\" NoArraysAllowed=\"true\">\n    <Fields>\n      <Field Name=\"RequestHeader\" DataType=\"tns:RequestHeader\" />\n      <Field Name=\"DeleteSubscriptions\" DataType=\"tns:Boolean\" />\n    </Fields>\n  </DataType>\n  <DataType SymbolicName=\"tns:CloseSessionResponse\" SymbolicId=\"tns:CloseSessionResponse\" PartNo=\"4\" NotInAddressSpace=\"true\" Purpose=\"ServicesOnly\" BaseType=\"tns:Structure\" NoArraysAllowed=\"true\">\n    <Fields>\n      <Field Name=\"ResponseHeader\" DataType=\"tns:ResponseHeader\" />\n    </Fields>\n  </DataType>\n  <DataType SymbolicName=\"tns:CancelRequest\" SymbolicId=\"tns:CancelRequest\" PartNo=\"4\" NotInAddressSpace=\"true\" Purpose=\"ServicesOnly\" BaseType=\"tns:Structure\" NoArraysAllowed=\"true\">\n    <Fields>\n      <Field Name=\"RequestHeader\" DataType=\"tns:RequestHeader\" />\n      <Field Name=\"RequestHandle\" DataType=\"tns:IntegerId\" />\n    </Fields>\n  </DataType>\n  <DataType SymbolicName=\"tns:CancelResponse\" SymbolicId=\"tns:CancelResponse\" PartNo=\"4\" NotInAddressSpace=\"true\" Purpose=\"ServicesOnly\" BaseType=\"tns:Structure\" NoArraysAllowed=\"true\">\n    <Fields>\n      <Field Name=\"ResponseHeader\" DataType=\"tns:ResponseHeader\" />\n      <Field Name=\"CancelCount\" DataType=\"tns:UInt32\" />\n    </Fields>\n  </DataType>\n  <DataType SymbolicName=\"tns:NodeAttributesMask\" SymbolicId=\"tns:NodeAttributesMask\" PartNo=\"4\" BaseType=\"tns:Enumeration\" NoArraysAllowed=\"true\">\n    <Fields>\n      <Field Name=\"None\" Identifier=\"0\" />\n      <Field Name=\"AccessLevel\" Identifier=\"1\" />\n      <Field Name=\"ArrayDimensions\" Identifier=\"2\" />\n      <Field Name=\"BrowseName\" Identifier=\"4\" />\n      <Field Name=\"ContainsNoLoops\" Identifier=\"8\" />\n      <Field Name=\"DataType\" Identifier=\"16\" />\n      <Field Name=\"Description\" Identifier=\"32\" />\n      <Field Name=\"DisplayName\" Identifier=\"64\" />\n      <Field Name=\"EventNotifier\" Identifier=\"128\" />\n      <Field Name=\"Executable\" Identifier=\"256\" />\n      <Field Name=\"Historizing\" Identifier=\"512\" />\n      <Field Name=\"InverseName\" Identifier=\"1024\" />\n      <Field Name=\"IsAbstract\" Identifier=\"2048\" />\n      <Field Name=\"MinimumSamplingInterval\" Identifier=\"4096\" />\n      <Field Name=\"NodeClass\" Identifier=\"8192\" />\n      <Field Name=\"NodeId\" Identifier=\"16384\" />\n      <Field Name=\"Symmetric\" Identifier=\"32768\" />\n      <Field Name=\"UserAccessLevel\" Identifier=\"65536\" />\n      <Field Name=\"UserExecutable\" Identifier=\"131072\" />\n      <Field Name=\"UserWriteMask\" Identifier=\"262144\" />\n      <Field Name=\"ValueRank\" Identifier=\"524288\" />\n      <Field Name=\"WriteMask\" Identifier=\"1048576\" />\n      <Field Name=\"Value\" Identifier=\"2097152\" />\n      <Field Name=\"DataTypeDefinition\" Identifier=\"4194304\" />\n      <Field Name=\"RolePermissions\" Identifier=\"8388608\" />\n      <Field Name=\"AccessRestrictions\" Identifier=\"16777216\" />\n      <Field Name=\"All\" Identifier=\"33554431\" />\n      <Field Name=\"BaseNode\" Identifier=\"26501220\" />\n      <Field Name=\"Object\" Identifier=\"26501348\" />\n      <Field Name=\"ObjectType\" Identifier=\"26503268\" />\n      <Field Name=\"Variable\" Identifier=\"26571383\" />\n      <Field Name=\"VariableType\" Identifier=\"28600438\" />\n      <Field Name=\"Method\" Identifier=\"26632548\" />\n      <Field Name=\"ReferenceType\" Identifier=\"26537060\" />\n      <Field Name=\"View\" Identifier=\"26501356\" />\n    </Fields>\n  </DataType>\n  <DataType SymbolicName=\"tns:NodeAttributes\" SymbolicId=\"tns:NodeAttributes\" PartNo=\"4\" NotInAddressSpace=\"true\" Purpose=\"ServicesOnly\" BaseType=\"tns:Structure\" NoClassGeneration=\"true\" NoArraysAllowed=\"true\">\n    <Fields>\n      <Field Name=\"SpecifiedAttributes\" DataType=\"tns:UInt32\" />\n      <Field Name=\"DisplayName\" DataType=\"tns:LocalizedText\" />\n      <Field Name=\"Description\" DataType=\"tns:LocalizedText\" />\n      <Field Name=\"WriteMask\" DataType=\"tns:UInt32\" />\n      <Field Name=\"UserWriteMask\" DataType=\"tns:UInt32\" />\n    </Fields>\n  </DataType>\n  <DataType SymbolicName=\"tns:ObjectAttributes\" SymbolicId=\"tns:ObjectAttributes\" PartNo=\"4\" NotInAddressSpace=\"true\" Purpose=\"ServicesOnly\" BaseType=\"tns:NodeAttributes\" NoClassGeneration=\"true\" NoArraysAllowed=\"true\">\n    <Fields>\n      <Field Name=\"EventNotifier\" DataType=\"tns:Byte\" />\n    </Fields>\n  </DataType>\n  <DataType SymbolicName=\"tns:VariableAttributes\" SymbolicId=\"tns:VariableAttributes\" PartNo=\"4\" NotInAddressSpace=\"true\" Purpose=\"ServicesOnly\" BaseType=\"tns:NodeAttributes\" NoClassGeneration=\"true\" NoArraysAllowed=\"true\">\n    <Fields>\n      <Field Name=\"Value\" DataType=\"tns:BaseDataType\" />\n      <Field Name=\"DataType\" DataType=\"tns:NodeId\" />\n      <Field Name=\"ValueRank\" DataType=\"tns:Int32\" />\n      <Field Name=\"ArrayDimensions\" DataType=\"tns:UInt32\" ValueRank=\"Array\" />\n      <Field Name=\"AccessLevel\" DataType=\"tns:Byte\" />\n      <Field Name=\"UserAccessLevel\" DataType=\"tns:Byte\" />\n      <Field Name=\"MinimumSamplingInterval\" DataType=\"tns:Duration\" />\n      <Field Name=\"Historizing\" DataType=\"tns:Boolean\" />\n    </Fields>\n  </DataType>\n  <DataType SymbolicName=\"tns:MethodAttributes\" SymbolicId=\"tns:MethodAttributes\" PartNo=\"4\" NotInAddressSpace=\"true\" Purpose=\"ServicesOnly\" BaseType=\"tns:NodeAttributes\" NoClassGeneration=\"true\" NoArraysAllowed=\"true\">\n    <Fields>\n      <Field Name=\"Executable\" DataType=\"tns:Boolean\" />\n      <Field Name=\"UserExecutable\" DataType=\"tns:Boolean\" />\n    </Fields>\n  </DataType>\n  <DataType SymbolicName=\"tns:ObjectTypeAttributes\" SymbolicId=\"tns:ObjectTypeAttributes\" PartNo=\"4\" NotInAddressSpace=\"true\" Purpose=\"ServicesOnly\" BaseType=\"tns:NodeAttributes\" NoClassGeneration=\"true\" NoArraysAllowed=\"true\">\n    <Fields>\n      <Field Name=\"IsAbstract\" DataType=\"tns:Boolean\" />\n    </Fields>\n  </DataType>\n  <DataType SymbolicName=\"tns:VariableTypeAttributes\" SymbolicId=\"tns:VariableTypeAttributes\" PartNo=\"4\" NotInAddressSpace=\"true\" Purpose=\"ServicesOnly\" BaseType=\"tns:NodeAttributes\" NoClassGeneration=\"true\" NoArraysAllowed=\"true\">\n    <Fields>\n      <Field Name=\"Value\" DataType=\"tns:BaseDataType\" />\n      <Field Name=\"DataType\" DataType=\"tns:NodeId\" />\n      <Field Name=\"ValueRank\" DataType=\"tns:Int32\" />\n      <Field Name=\"ArrayDimensions\" DataType=\"tns:UInt32\" ValueRank=\"Array\" />\n      <Field Name=\"IsAbstract\" DataType=\"tns:Boolean\" />\n    </Fields>\n  </DataType>\n  <DataType SymbolicName=\"tns:ReferenceTypeAttributes\" SymbolicId=\"tns:ReferenceTypeAttributes\" PartNo=\"4\" NotInAddressSpace=\"true\" Purpose=\"ServicesOnly\" BaseType=\"tns:NodeAttributes\" NoClassGeneration=\"true\" NoArraysAllowed=\"true\">\n    <Fields>\n      <Field Name=\"IsAbstract\" DataType=\"tns:Boolean\" />\n      <Field Name=\"Symmetric\" DataType=\"tns:Boolean\" />\n      <Field Name=\"InverseName\" DataType=\"tns:LocalizedText\" />\n    </Fields>\n  </DataType>\n  <DataType SymbolicName=\"tns:DataTypeAttributes\" SymbolicId=\"tns:DataTypeAttributes\" PartNo=\"4\" NotInAddressSpace=\"true\" Purpose=\"ServicesOnly\" BaseType=\"tns:NodeAttributes\" NoClassGeneration=\"true\" NoArraysAllowed=\"true\">\n    <Fields>\n      <Field Name=\"IsAbstract\" DataType=\"tns:Boolean\" />\n    </Fields>\n  </DataType>\n  <DataType SymbolicName=\"tns:ViewAttributes\" SymbolicId=\"tns:ViewAttributes\" PartNo=\"4\" NotInAddressSpace=\"true\" Purpose=\"ServicesOnly\" BaseType=\"tns:NodeAttributes\" NoClassGeneration=\"true\" NoArraysAllowed=\"true\">\n    <Fields>\n      <Field Name=\"ContainsNoLoops\" DataType=\"tns:Boolean\" />\n      <Field Name=\"EventNotifier\" DataType=\"tns:Byte\" />\n    </Fields>\n  </DataType>\n  <DataType SymbolicName=\"tns:GenericAttributeValue\" SymbolicId=\"tns:GenericAttributeValue\" PartNo=\"4\" NotInAddressSpace=\"true\" Purpose=\"ServicesOnly\" BaseType=\"tns:Structure\" NoClassGeneration=\"true\">\n    <Fields>\n      <Field Name=\"AttributeId\" DataType=\"tns:IntegerId\" />\n      <Field Name=\"Value\" DataType=\"tns:BaseDataType\" />\n    </Fields>\n  </DataType>\n  <DataType SymbolicName=\"tns:GenericAttributes\" SymbolicId=\"tns:GenericAttributes\" PartNo=\"4\" NotInAddressSpace=\"true\" Purpose=\"ServicesOnly\" BaseType=\"tns:NodeAttributes\" NoClassGeneration=\"true\" NoArraysAllowed=\"true\">\n    <Fields>\n      <Field Name=\"AttributeValues\" DataType=\"tns:GenericAttributeValue\" ValueRank=\"Array\" />\n    </Fields>\n  </DataType>\n  <DataType SymbolicName=\"tns:AddNodesItem\" SymbolicId=\"tns:AddNodesItem\" PartNo=\"4\" BaseType=\"tns:Structure\">\n    <Fields>\n      <Field Name=\"ParentNodeId\" DataType=\"tns:ExpandedNodeId\" />\n      <Field Name=\"ReferenceTypeId\" DataType=\"tns:NodeId\" />\n      <Field Name=\"RequestedNewNodeId\" DataType=\"tns:ExpandedNodeId\" />\n      <Field Name=\"BrowseName\" DataType=\"tns:QualifiedName\" />\n      <Field Name=\"NodeClass\" DataType=\"tns:NodeClass\" />\n      <Field Name=\"NodeAttributes\" DataType=\"tns:Structure\" />\n      <Field Name=\"TypeDefinition\" DataType=\"tns:ExpandedNodeId\" />\n    </Fields>\n  </DataType>\n  <DataType SymbolicName=\"tns:AddNodesResult\" SymbolicId=\"tns:AddNodesResult\" PartNo=\"4\" NotInAddressSpace=\"true\" Purpose=\"ServicesOnly\" BaseType=\"tns:Structure\" NoClassGeneration=\"true\">\n    <Fields>\n      <Field Name=\"StatusCode\" DataType=\"tns:StatusCode\" />\n      <Field Name=\"AddedNodeId\" DataType=\"tns:NodeId\" />\n    </Fields>\n  </DataType>\n  <DataType SymbolicName=\"tns:AddNodesRequest\" SymbolicId=\"tns:AddNodesRequest\" PartNo=\"4\" NotInAddressSpace=\"true\" Purpose=\"ServicesOnly\" BaseType=\"tns:Structure\" NoArraysAllowed=\"true\">\n    <Fields>\n      <Field Name=\"RequestHeader\" DataType=\"tns:RequestHeader\" />\n      <Field Name=\"NodesToAdd\" DataType=\"tns:AddNodesItem\" ValueRank=\"Array\" />\n    </Fields>\n  </DataType>\n  <DataType SymbolicName=\"tns:AddNodesResponse\" SymbolicId=\"tns:AddNodesResponse\" PartNo=\"4\" NotInAddressSpace=\"true\" Purpose=\"ServicesOnly\" BaseType=\"tns:Structure\" NoArraysAllowed=\"true\">\n    <Fields>\n      <Field Name=\"ResponseHeader\" DataType=\"tns:ResponseHeader\" />\n      <Field Name=\"Results\" DataType=\"tns:AddNodesResult\" ValueRank=\"Array\" />\n      <Field Name=\"DiagnosticInfos\" DataType=\"tns:DiagnosticInfo\" ValueRank=\"Array\" />\n    </Fields>\n  </DataType>\n  <DataType SymbolicName=\"tns:AddReferencesItem\" SymbolicId=\"tns:AddReferencesItem\" PartNo=\"4\" BaseType=\"tns:Structure\">\n    <Fields>\n      <Field Name=\"SourceNodeId\" DataType=\"tns:NodeId\" />\n      <Field Name=\"ReferenceTypeId\" DataType=\"tns:NodeId\" />\n      <Field Name=\"IsForward\" DataType=\"tns:Boolean\" />\n      <Field Name=\"TargetServerUri\" DataType=\"tns:String\" />\n      <Field Name=\"TargetNodeId\" DataType=\"tns:ExpandedNodeId\" />\n      <Field Name=\"TargetNodeClass\" DataType=\"tns:NodeClass\" />\n    </Fields>\n  </DataType>\n  <DataType SymbolicName=\"tns:AddReferencesRequest\" SymbolicId=\"tns:AddReferencesRequest\" PartNo=\"4\" NotInAddressSpace=\"true\" Purpose=\"ServicesOnly\" BaseType=\"tns:Structure\" NoArraysAllowed=\"true\">\n    <Fields>\n      <Field Name=\"RequestHeader\" DataType=\"tns:RequestHeader\" />\n      <Field Name=\"ReferencesToAdd\" DataType=\"tns:AddReferencesItem\" ValueRank=\"Array\" />\n    </Fields>\n  </DataType>\n  <DataType SymbolicName=\"tns:AddReferencesResponse\" SymbolicId=\"tns:AddReferencesResponse\" PartNo=\"4\" NotInAddressSpace=\"true\" Purpose=\"ServicesOnly\" BaseType=\"tns:Structure\" NoArraysAllowed=\"true\">\n    <Fields>\n      <Field Name=\"ResponseHeader\" DataType=\"tns:ResponseHeader\" />\n      <Field Name=\"Results\" DataType=\"tns:StatusCode\" ValueRank=\"Array\" />\n      <Field Name=\"DiagnosticInfos\" DataType=\"tns:DiagnosticInfo\" ValueRank=\"Array\" />\n    </Fields>\n  </DataType>\n  <DataType SymbolicName=\"tns:DeleteNodesItem\" SymbolicId=\"tns:DeleteNodesItem\" PartNo=\"4\" BaseType=\"tns:Structure\">\n    <Fields>\n      <Field Name=\"NodeId\" DataType=\"tns:NodeId\" />\n      <Field Name=\"DeleteTargetReferences\" DataType=\"tns:Boolean\" />\n    </Fields>\n  </DataType>\n  <DataType SymbolicName=\"tns:DeleteNodesRequest\" SymbolicId=\"tns:DeleteNodesRequest\" PartNo=\"4\" NotInAddressSpace=\"true\" Purpose=\"ServicesOnly\" BaseType=\"tns:Structure\" NoArraysAllowed=\"true\">\n    <Fields>\n      <Field Name=\"RequestHeader\" DataType=\"tns:RequestHeader\" />\n      <Field Name=\"NodesToDelete\" DataType=\"tns:DeleteNodesItem\" ValueRank=\"Array\" />\n    </Fields>\n  </DataType>\n  <DataType SymbolicName=\"tns:DeleteNodesResponse\" SymbolicId=\"tns:DeleteNodesResponse\" PartNo=\"4\" NotInAddressSpace=\"true\" Purpose=\"ServicesOnly\" BaseType=\"tns:Structure\" NoArraysAllowed=\"true\">\n    <Fields>\n      <Field Name=\"ResponseHeader\" DataType=\"tns:ResponseHeader\" />\n      <Field Name=\"Results\" DataType=\"tns:StatusCode\" ValueRank=\"Array\" />\n      <Field Name=\"DiagnosticInfos\" DataType=\"tns:DiagnosticInfo\" ValueRank=\"Array\" />\n    </Fields>\n  </DataType>\n  <DataType SymbolicName=\"tns:DeleteReferencesItem\" SymbolicId=\"tns:DeleteReferencesItem\" PartNo=\"4\" BaseType=\"tns:Structure\">\n    <Fields>\n      <Field Name=\"SourceNodeId\" DataType=\"tns:NodeId\" />\n      <Field Name=\"ReferenceTypeId\" DataType=\"tns:NodeId\" />\n      <Field Name=\"IsForward\" DataType=\"tns:Boolean\" />\n      <Field Name=\"TargetNodeId\" DataType=\"tns:ExpandedNodeId\" />\n      <Field Name=\"DeleteBidirectional\" DataType=\"tns:Boolean\" />\n    </Fields>\n  </DataType>\n  <DataType SymbolicName=\"tns:DeleteReferencesRequest\" SymbolicId=\"tns:DeleteReferencesRequest\" PartNo=\"4\" NotInAddressSpace=\"true\" Purpose=\"ServicesOnly\" BaseType=\"tns:Structure\" NoArraysAllowed=\"true\">\n    <Fields>\n      <Field Name=\"RequestHeader\" DataType=\"tns:RequestHeader\" />\n      <Field Name=\"ReferencesToDelete\" DataType=\"tns:DeleteReferencesItem\" ValueRank=\"Array\" />\n    </Fields>\n  </DataType>\n  <DataType SymbolicName=\"tns:DeleteReferencesResponse\" SymbolicId=\"tns:DeleteReferencesResponse\" PartNo=\"4\" NotInAddressSpace=\"true\" Purpose=\"ServicesOnly\" BaseType=\"tns:Structure\" NoArraysAllowed=\"true\">\n    <Fields>\n      <Field Name=\"ResponseHeader\" DataType=\"tns:ResponseHeader\" />\n      <Field Name=\"Results\" DataType=\"tns:StatusCode\" ValueRank=\"Array\" />\n      <Field Name=\"DiagnosticInfos\" DataType=\"tns:DiagnosticInfo\" ValueRank=\"Array\" />\n    </Fields>\n  </DataType>\n  <DataType SymbolicName=\"tns:AttributeWriteMask\" SymbolicId=\"tns:AttributeWriteMask\" PartNo=\"4\" BaseType=\"tns:UInt32\" IsOptionSet=\"true\" NoArraysAllowed=\"true\">\n    <Fields>\n      <Field Name=\"AccessLevel\" BitMask=\"0001\" />\n      <Field Name=\"ArrayDimensions\" BitMask=\"0002\" />\n      <Field Name=\"BrowseName\" BitMask=\"0004\" />\n      <Field Name=\"ContainsNoLoops\" BitMask=\"0008\" />\n      <Field Name=\"DataType\" BitMask=\"0010\" />\n      <Field Name=\"Description\" BitMask=\"0020\" />\n      <Field Name=\"DisplayName\" BitMask=\"0040\" />\n      <Field Name=\"EventNotifier\" BitMask=\"0080\" />\n      <Field Name=\"Executable\" BitMask=\"0100\" />\n      <Field Name=\"Historizing\" BitMask=\"0200\" />\n      <Field Name=\"InverseName\" BitMask=\"0400\" />\n      <Field Name=\"IsAbstract\" BitMask=\"0800\" />\n      <Field Name=\"MinimumSamplingInterval\" BitMask=\"1000\" />\n      <Field Name=\"NodeClass\" BitMask=\"2000\" />\n      <Field Name=\"NodeId\" BitMask=\"4000\" />\n      <Field Name=\"Symmetric\" BitMask=\"8000\" />\n      <Field Name=\"UserAccessLevel\" BitMask=\"00010000\" />\n      <Field Name=\"UserExecutable\" BitMask=\"00020000\" />\n      <Field Name=\"UserWriteMask\" BitMask=\"00040000\" />\n      <Field Name=\"ValueRank\" BitMask=\"00080000\" />\n      <Field Name=\"WriteMask\" BitMask=\"00100000\" />\n      <Field Name=\"ValueForVariableType\" BitMask=\"00200000\" />\n      <Field Name=\"DataTypeDefinition\" BitMask=\"00400000\" />\n      <Field Name=\"RolePermissions\" BitMask=\"00800000\" />\n      <Field Name=\"AccessRestrictions\" BitMask=\"01000000\" />\n      <Field Name=\"AccessLevelEx\" BitMask=\"02000000\" />\n    </Fields>\n  </DataType>\n  <DataType SymbolicName=\"tns:BrowseDirection\" SymbolicId=\"tns:BrowseDirection\" PartNo=\"4\" NotInAddressSpace=\"true\" Purpose=\"ServicesOnly\" BaseType=\"tns:Enumeration\" NoClassGeneration=\"true\" NoArraysAllowed=\"true\">\n    <Fields>\n      <Field Name=\"Forward\" Identifier=\"0\" />\n      <Field Name=\"Inverse\" Identifier=\"1\" />\n      <Field Name=\"Both\" Identifier=\"2\" />\n      <Field Name=\"Invalid\" Identifier=\"3\" />\n    </Fields>\n  </DataType>\n  <DataType SymbolicName=\"tns:ViewDescription\" SymbolicId=\"tns:ViewDescription\" PartNo=\"4\" NotInAddressSpace=\"true\" Purpose=\"ServicesOnly\" BaseType=\"tns:Structure\" NoClassGeneration=\"true\" NoArraysAllowed=\"true\">\n    <Fields>\n      <Field Name=\"ViewId\" DataType=\"tns:NodeId\" />\n      <Field Name=\"Timestamp\" DataType=\"tns:UtcTime\" />\n      <Field Name=\"ViewVersion\" DataType=\"tns:UInt32\" />\n    </Fields>\n  </DataType>\n  <DataType SymbolicName=\"tns:BrowseDescription\" SymbolicId=\"tns:BrowseDescription\" PartNo=\"4\" NotInAddressSpace=\"true\" Purpose=\"ServicesOnly\" BaseType=\"tns:Structure\" NoClassGeneration=\"true\">\n    <Fields>\n      <Field Name=\"NodeId\" DataType=\"tns:NodeId\" />\n      <Field Name=\"BrowseDirection\" DataType=\"tns:BrowseDirection\" />\n      <Field Name=\"ReferenceTypeId\" DataType=\"tns:NodeId\" />\n      <Field Name=\"IncludeSubtypes\" DataType=\"tns:Boolean\" />\n      <Field Name=\"NodeClassMask\" DataType=\"tns:UInt32\" />\n      <Field Name=\"ResultMask\" DataType=\"tns:UInt32\" />\n    </Fields>\n  </DataType>\n  <DataType SymbolicName=\"tns:BrowseResultMask\" SymbolicId=\"tns:BrowseResultMask\" PartNo=\"4\" NotInAddressSpace=\"true\" Purpose=\"ServicesOnly\" BaseType=\"tns:Enumeration\" NoClassGeneration=\"true\" NoArraysAllowed=\"true\">\n    <Fields>\n      <Field Name=\"None\" Identifier=\"0\" />\n      <Field Name=\"ReferenceTypeId\" Identifier=\"1\" />\n      <Field Name=\"IsForward\" Identifier=\"2\" />\n      <Field Name=\"NodeClass\" Identifier=\"4\" />\n      <Field Name=\"BrowseName\" Identifier=\"8\" />\n      <Field Name=\"DisplayName\" Identifier=\"16\" />\n      <Field Name=\"TypeDefinition\" Identifier=\"32\" />\n      <Field Name=\"All\" Identifier=\"63\" />\n      <Field Name=\"ReferenceTypeInfo\" Identifier=\"3\" />\n      <Field Name=\"TargetInfo\" Identifier=\"60\" />\n    </Fields>\n  </DataType>\n  <DataType SymbolicName=\"tns:ReferenceDescription\" SymbolicId=\"tns:ReferenceDescription\" PartNo=\"4\" NotInAddressSpace=\"true\" Purpose=\"ServicesOnly\" BaseType=\"tns:Structure\" NoClassGeneration=\"true\">\n    <Fields>\n      <Field Name=\"ReferenceTypeId\" DataType=\"tns:NodeId\" />\n      <Field Name=\"IsForward\" DataType=\"tns:Boolean\" />\n      <Field Name=\"NodeId\" DataType=\"tns:ExpandedNodeId\" />\n      <Field Name=\"BrowseName\" DataType=\"tns:QualifiedName\" />\n      <Field Name=\"DisplayName\" DataType=\"tns:LocalizedText\" />\n      <Field Name=\"NodeClass\" DataType=\"tns:NodeClass\" />\n      <Field Name=\"TypeDefinition\" DataType=\"tns:ExpandedNodeId\" />\n    </Fields>\n  </DataType>\n  <DataType SymbolicName=\"tns:ContinuationPoint\" SymbolicId=\"tns:ContinuationPoint\" PartNo=\"4\" BaseType=\"tns:ByteString\" NoArraysAllowed=\"true\" />\n  <DataType SymbolicName=\"tns:BrowseResult\" SymbolicId=\"tns:BrowseResult\" PartNo=\"4\" NotInAddressSpace=\"true\" Purpose=\"ServicesOnly\" BaseType=\"tns:Structure\" NoClassGeneration=\"true\">\n    <Fields>\n      <Field Name=\"StatusCode\" DataType=\"tns:StatusCode\" />\n      <Field Name=\"ContinuationPoint\" DataType=\"tns:ContinuationPoint\" />\n      <Field Name=\"References\" DataType=\"tns:ReferenceDescription\" ValueRank=\"Array\" />\n    </Fields>\n  </DataType>\n  <DataType SymbolicName=\"tns:BrowseRequest\" SymbolicId=\"tns:BrowseRequest\" PartNo=\"4\" NotInAddressSpace=\"true\" Purpose=\"ServicesOnly\" BaseType=\"tns:Structure\" NoArraysAllowed=\"true\">\n    <Fields>\n      <Field Name=\"RequestHeader\" DataType=\"tns:RequestHeader\" />\n      <Field Name=\"View\" DataType=\"tns:ViewDescription\" />\n      <Field Name=\"RequestedMaxReferencesPerNode\" DataType=\"tns:Counter\" />\n      <Field Name=\"NodesToBrowse\" DataType=\"tns:BrowseDescription\" ValueRank=\"Array\" />\n    </Fields>\n  </DataType>\n  <DataType SymbolicName=\"tns:BrowseResponse\" SymbolicId=\"tns:BrowseResponse\" PartNo=\"4\" NotInAddressSpace=\"true\" Purpose=\"ServicesOnly\" BaseType=\"tns:Structure\" NoArraysAllowed=\"true\">\n    <Fields>\n      <Field Name=\"ResponseHeader\" DataType=\"tns:ResponseHeader\" />\n      <Field Name=\"Results\" DataType=\"tns:BrowseResult\" ValueRank=\"Array\" />\n      <Field Name=\"DiagnosticInfos\" DataType=\"tns:DiagnosticInfo\" ValueRank=\"Array\" />\n    </Fields>\n  </DataType>\n  <DataType SymbolicName=\"tns:BrowseNextRequest\" SymbolicId=\"tns:BrowseNextRequest\" PartNo=\"4\" NotInAddressSpace=\"true\" Purpose=\"ServicesOnly\" BaseType=\"tns:Structure\" NoArraysAllowed=\"true\">\n    <Fields>\n      <Field Name=\"RequestHeader\" DataType=\"tns:RequestHeader\" />\n      <Field Name=\"ReleaseContinuationPoints\" DataType=\"tns:Boolean\" />\n      <Field Name=\"ContinuationPoints\" DataType=\"tns:ContinuationPoint\" ValueRank=\"Array\" />\n    </Fields>\n  </DataType>\n  <DataType SymbolicName=\"tns:BrowseNextResponse\" SymbolicId=\"tns:BrowseNextResponse\" PartNo=\"4\" NotInAddressSpace=\"true\" Purpose=\"ServicesOnly\" BaseType=\"tns:Structure\" NoArraysAllowed=\"true\">\n    <Fields>\n      <Field Name=\"ResponseHeader\" DataType=\"tns:ResponseHeader\" />\n      <Field Name=\"Results\" DataType=\"tns:BrowseResult\" ValueRank=\"Array\" />\n      <Field Name=\"DiagnosticInfos\" DataType=\"tns:DiagnosticInfo\" ValueRank=\"Array\" />\n    </Fields>\n  </DataType>\n  <DataType SymbolicName=\"tns:RelativePathElement\" SymbolicId=\"tns:RelativePathElement\" PartNo=\"4\" BaseType=\"tns:Structure\">\n    <Fields>\n      <Field Name=\"ReferenceTypeId\" DataType=\"tns:NodeId\" />\n      <Field Name=\"IsInverse\" DataType=\"tns:Boolean\" />\n      <Field Name=\"IncludeSubtypes\" DataType=\"tns:Boolean\" />\n      <Field Name=\"TargetName\" DataType=\"tns:QualifiedName\" />\n    </Fields>\n  </DataType>\n  <DataType SymbolicName=\"tns:RelativePath\" SymbolicId=\"tns:RelativePath\" PartNo=\"4\" BaseType=\"tns:Structure\" NoArraysAllowed=\"true\">\n    <Fields>\n      <Field Name=\"Elements\" DataType=\"tns:RelativePathElement\" ValueRank=\"Array\" />\n    </Fields>\n  </DataType>\n  <DataType SymbolicName=\"tns:BrowsePath\" SymbolicId=\"tns:BrowsePath\" PartNo=\"4\" NotInAddressSpace=\"true\" Purpose=\"ServicesOnly\" BaseType=\"tns:Structure\" NoClassGeneration=\"true\">\n    <Fields>\n      <Field Name=\"StartingNode\" DataType=\"tns:NodeId\" />\n      <Field Name=\"RelativePath\" DataType=\"tns:RelativePath\" />\n    </Fields>\n  </DataType>\n  <DataType SymbolicName=\"tns:BrowsePathTarget\" SymbolicId=\"tns:BrowsePathTarget\" PartNo=\"4\" NotInAddressSpace=\"true\" Purpose=\"ServicesOnly\" BaseType=\"tns:Structure\" NoClassGeneration=\"true\">\n    <Fields>\n      <Field Name=\"TargetId\" DataType=\"tns:ExpandedNodeId\" />\n      <Field Name=\"RemainingPathIndex\" DataType=\"tns:Index\" />\n    </Fields>\n  </DataType>\n  <DataType SymbolicName=\"tns:BrowsePathResult\" SymbolicId=\"tns:BrowsePathResult\" PartNo=\"4\" NotInAddressSpace=\"true\" Purpose=\"ServicesOnly\" BaseType=\"tns:Structure\" NoClassGeneration=\"true\">\n    <Fields>\n      <Field Name=\"StatusCode\" DataType=\"tns:StatusCode\" />\n      <Field Name=\"Targets\" DataType=\"tns:BrowsePathTarget\" ValueRank=\"Array\" />\n    </Fields>\n  </DataType>\n  <DataType SymbolicName=\"tns:TranslateBrowsePathsToNodeIdsRequest\" SymbolicId=\"tns:TranslateBrowsePathsToNodeIdsRequest\" PartNo=\"4\" NotInAddressSpace=\"true\" Purpose=\"ServicesOnly\" BaseType=\"tns:Structure\" NoArraysAllowed=\"true\">\n    <Fields>\n      <Field Name=\"RequestHeader\" DataType=\"tns:RequestHeader\" />\n      <Field Name=\"BrowsePaths\" DataType=\"tns:BrowsePath\" ValueRank=\"Array\" />\n    </Fields>\n  </DataType>\n  <DataType SymbolicName=\"tns:TranslateBrowsePathsToNodeIdsResponse\" SymbolicId=\"tns:TranslateBrowsePathsToNodeIdsResponse\" PartNo=\"4\" NotInAddressSpace=\"true\" Purpose=\"ServicesOnly\" BaseType=\"tns:Structure\" NoArraysAllowed=\"true\">\n    <Fields>\n      <Field Name=\"ResponseHeader\" DataType=\"tns:ResponseHeader\" />\n      <Field Name=\"Results\" DataType=\"tns:BrowsePathResult\" ValueRank=\"Array\" />\n      <Field Name=\"DiagnosticInfos\" DataType=\"tns:DiagnosticInfo\" ValueRank=\"Array\" />\n    </Fields>\n  </DataType>\n  <DataType SymbolicName=\"tns:RegisterNodesRequest\" SymbolicId=\"tns:RegisterNodesRequest\" PartNo=\"4\" NotInAddressSpace=\"true\" Purpose=\"ServicesOnly\" BaseType=\"tns:Structure\" NoArraysAllowed=\"true\">\n    <Fields>\n      <Field Name=\"RequestHeader\" DataType=\"tns:RequestHeader\" />\n      <Field Name=\"NodesToRegister\" DataType=\"tns:NodeId\" ValueRank=\"Array\" />\n    </Fields>\n  </DataType>\n  <DataType SymbolicName=\"tns:RegisterNodesResponse\" SymbolicId=\"tns:RegisterNodesResponse\" PartNo=\"4\" NotInAddressSpace=\"true\" Purpose=\"ServicesOnly\" BaseType=\"tns:Structure\" NoArraysAllowed=\"true\">\n    <Fields>\n      <Field Name=\"ResponseHeader\" DataType=\"tns:ResponseHeader\" />\n      <Field Name=\"RegisteredNodeIds\" DataType=\"tns:NodeId\" ValueRank=\"Array\" />\n    </Fields>\n  </DataType>\n  <DataType SymbolicName=\"tns:UnregisterNodesRequest\" SymbolicId=\"tns:UnregisterNodesRequest\" PartNo=\"4\" NotInAddressSpace=\"true\" Purpose=\"ServicesOnly\" BaseType=\"tns:Structure\" NoArraysAllowed=\"true\">\n    <Fields>\n      <Field Name=\"RequestHeader\" DataType=\"tns:RequestHeader\" />\n      <Field Name=\"NodesToUnregister\" DataType=\"tns:NodeId\" ValueRank=\"Array\" />\n    </Fields>\n  </DataType>\n  <DataType SymbolicName=\"tns:UnregisterNodesResponse\" SymbolicId=\"tns:UnregisterNodesResponse\" PartNo=\"4\" NotInAddressSpace=\"true\" Purpose=\"ServicesOnly\" BaseType=\"tns:Structure\" NoArraysAllowed=\"true\">\n    <Fields>\n      <Field Name=\"ResponseHeader\" DataType=\"tns:ResponseHeader\" />\n    </Fields>\n  </DataType>\n  <DataType SymbolicName=\"tns:Counter\" SymbolicId=\"tns:Counter\" PartNo=\"4\" BaseType=\"tns:UInt32\" NoArraysAllowed=\"true\" />\n  <DataType SymbolicName=\"tns:NumericRange\" SymbolicId=\"tns:NumericRange\" PartNo=\"4\" BaseType=\"tns:String\" NoArraysAllowed=\"true\" />\n  <DataType SymbolicName=\"tns:EndpointConfiguration\" SymbolicId=\"tns:EndpointConfiguration\" PartNo=\"4\" BaseType=\"tns:Structure\">\n    <Fields>\n      <Field Name=\"OperationTimeout\" DataType=\"tns:Int32\" />\n      <Field Name=\"UseBinaryEncoding\" DataType=\"tns:Boolean\" />\n      <Field Name=\"MaxStringLength\" DataType=\"tns:Int32\" />\n      <Field Name=\"MaxByteStringLength\" DataType=\"tns:Int32\" />\n      <Field Name=\"MaxArrayLength\" DataType=\"tns:Int32\" />\n      <Field Name=\"MaxMessageSize\" DataType=\"tns:Int32\" />\n      <Field Name=\"MaxBufferSize\" DataType=\"tns:Int32\" />\n      <Field Name=\"ChannelLifetime\" DataType=\"tns:Int32\" />\n      <Field Name=\"SecurityTokenLifetime\" DataType=\"tns:Int32\" />\n    </Fields>\n  </DataType>\n  <DataType SymbolicName=\"tns:QueryDataDescription\" SymbolicId=\"tns:QueryDataDescription\" PartNo=\"4\" NotInAddressSpace=\"true\" Purpose=\"ServicesOnly\" BaseType=\"tns:Structure\" NoClassGeneration=\"true\">\n    <Fields>\n      <Field Name=\"RelativePath\" DataType=\"tns:RelativePath\" />\n      <Field Name=\"AttributeId\" DataType=\"tns:IntegerId\" />\n      <Field Name=\"IndexRange\" DataType=\"tns:NumericRange\" />\n    </Fields>\n  </DataType>\n  <DataType SymbolicName=\"tns:NodeTypeDescription\" SymbolicId=\"tns:NodeTypeDescription\" PartNo=\"4\" NotInAddressSpace=\"true\" Purpose=\"ServicesOnly\" BaseType=\"tns:Structure\" NoClassGeneration=\"true\">\n    <Fields>\n      <Field Name=\"TypeDefinitionNode\" DataType=\"tns:ExpandedNodeId\" />\n      <Field Name=\"IncludeSubTypes\" DataType=\"tns:Boolean\" />\n      <Field Name=\"DataToReturn\" DataType=\"tns:QueryDataDescription\" ValueRank=\"Array\" />\n    </Fields>\n  </DataType>\n  <DataType SymbolicName=\"tns:FilterOperator\" SymbolicId=\"tns:FilterOperator\" PartNo=\"4\" BaseType=\"tns:Enumeration\" NoArraysAllowed=\"true\">\n    <Fields>\n      <Field Name=\"Equals\" Identifier=\"0\" />\n      <Field Name=\"IsNull\" Identifier=\"1\" />\n      <Field Name=\"GreaterThan\" Identifier=\"2\" />\n      <Field Name=\"LessThan\" Identifier=\"3\" />\n      <Field Name=\"GreaterThanOrEqual\" Identifier=\"4\" />\n      <Field Name=\"LessThanOrEqual\" Identifier=\"5\" />\n      <Field Name=\"Like\" Identifier=\"6\" />\n      <Field Name=\"Not\" Identifier=\"7\" />\n      <Field Name=\"Between\" Identifier=\"8\" />\n      <Field Name=\"InList\" Identifier=\"9\" />\n      <Field Name=\"And\" Identifier=\"10\" />\n      <Field Name=\"Or\" Identifier=\"11\" />\n      <Field Name=\"Cast\" Identifier=\"12\" />\n      <Field Name=\"InView\" Identifier=\"13\" />\n      <Field Name=\"OfType\" Identifier=\"14\" />\n      <Field Name=\"RelatedTo\" Identifier=\"15\" />\n      <Field Name=\"BitwiseAnd\" Identifier=\"16\" />\n      <Field Name=\"BitwiseOr\" Identifier=\"17\" />\n    </Fields>\n  </DataType>\n  <DataType SymbolicName=\"tns:QueryDataSet\" SymbolicId=\"tns:QueryDataSet\" PartNo=\"4\" NotInAddressSpace=\"true\" Purpose=\"ServicesOnly\" BaseType=\"tns:Structure\" NoClassGeneration=\"true\">\n    <Fields>\n      <Field Name=\"NodeId\" DataType=\"tns:ExpandedNodeId\" />\n      <Field Name=\"TypeDefinitionNode\" DataType=\"tns:ExpandedNodeId\" />\n      <Field Name=\"Values\" DataType=\"tns:BaseDataType\" ValueRank=\"Array\" />\n    </Fields>\n  </DataType>\n  <DataType SymbolicName=\"tns:NodeReference\" SymbolicId=\"tns:NodeReference\" PartNo=\"4\" NotInAddressSpace=\"true\" Purpose=\"ServicesOnly\" BaseType=\"tns:Structure\" NoClassGeneration=\"true\">\n    <Fields>\n      <Field Name=\"NodeId\" DataType=\"tns:NodeId\" />\n      <Field Name=\"ReferenceTypeId\" DataType=\"tns:NodeId\" />\n      <Field Name=\"IsForward\" DataType=\"tns:Boolean\" />\n      <Field Name=\"ReferencedNodeIds\" DataType=\"tns:NodeId\" ValueRank=\"Array\" />\n    </Fields>\n  </DataType>\n  <DataType SymbolicName=\"tns:ContentFilterElement\" SymbolicId=\"tns:ContentFilterElement\" PartNo=\"4\" BaseType=\"tns:Structure\">\n    <Fields>\n      <Field Name=\"FilterOperator\" DataType=\"tns:FilterOperator\" />\n      <Field Name=\"FilterOperands\" DataType=\"tns:Structure\" ValueRank=\"Array\" />\n    </Fields>\n  </DataType>\n  <DataType SymbolicName=\"tns:ContentFilter\" SymbolicId=\"tns:ContentFilter\" PartNo=\"4\" BaseType=\"tns:Structure\">\n    <Fields>\n      <Field Name=\"Elements\" DataType=\"tns:ContentFilterElement\" ValueRank=\"Array\" />\n    </Fields>\n  </DataType>\n  <DataType SymbolicName=\"tns:FilterOperand\" SymbolicId=\"tns:FilterOperand\" PartNo=\"4\" BaseType=\"tns:Structure\" NoArraysAllowed=\"true\" />\n  <DataType SymbolicName=\"tns:ElementOperand\" SymbolicId=\"tns:ElementOperand\" PartNo=\"4\" BaseType=\"tns:FilterOperand\" NoArraysAllowed=\"true\">\n    <Fields>\n      <Field Name=\"Index\" DataType=\"tns:UInt32\" />\n    </Fields>\n  </DataType>\n  <DataType SymbolicName=\"tns:LiteralOperand\" SymbolicId=\"tns:LiteralOperand\" PartNo=\"4\" BaseType=\"tns:FilterOperand\" NoArraysAllowed=\"true\">\n    <Fields>\n      <Field Name=\"Value\" DataType=\"tns:BaseDataType\" />\n    </Fields>\n  </DataType>\n  <DataType SymbolicName=\"tns:AttributeOperand\" SymbolicId=\"tns:AttributeOperand\" PartNo=\"4\" BaseType=\"tns:FilterOperand\" NoArraysAllowed=\"true\">\n    <Fields>\n      <Field Name=\"NodeId\" DataType=\"tns:NodeId\" />\n      <Field Name=\"Alias\" DataType=\"tns:String\" />\n      <Field Name=\"BrowsePath\" DataType=\"tns:RelativePath\" />\n      <Field Name=\"AttributeId\" DataType=\"tns:IntegerId\" />\n      <Field Name=\"IndexRange\" DataType=\"tns:NumericRange\" />\n    </Fields>\n  </DataType>\n  <DataType SymbolicName=\"tns:SimpleAttributeOperand\" SymbolicId=\"tns:SimpleAttributeOperand\" PartNo=\"4\" BaseType=\"tns:FilterOperand\">\n    <Fields>\n      <Field Name=\"TypeDefinitionId\" DataType=\"tns:NodeId\" />\n      <Field Name=\"BrowsePath\" DataType=\"tns:QualifiedName\" ValueRank=\"Array\" />\n      <Field Name=\"AttributeId\" DataType=\"tns:IntegerId\" />\n      <Field Name=\"IndexRange\" DataType=\"tns:NumericRange\" />\n    </Fields>\n  </DataType>\n  <DataType SymbolicName=\"tns:ContentFilterElementResult\" SymbolicId=\"tns:ContentFilterElementResult\" PartNo=\"4\" NotInAddressSpace=\"true\" Purpose=\"ServicesOnly\" BaseType=\"tns:Structure\" NoClassGeneration=\"true\">\n    <Fields>\n      <Field Name=\"StatusCode\" DataType=\"tns:StatusCode\" />\n      <Field Name=\"OperandStatusCodes\" DataType=\"tns:StatusCode\" ValueRank=\"Array\" />\n      <Field Name=\"OperandDiagnosticInfos\" DataType=\"tns:DiagnosticInfo\" ValueRank=\"Array\" />\n    </Fields>\n  </DataType>\n  <DataType SymbolicName=\"tns:ContentFilterResult\" SymbolicId=\"tns:ContentFilterResult\" PartNo=\"4\" NotInAddressSpace=\"true\" Purpose=\"ServicesOnly\" BaseType=\"tns:Structure\" NoClassGeneration=\"true\" NoArraysAllowed=\"true\">\n    <Fields>\n      <Field Name=\"ElementResults\" DataType=\"tns:ContentFilterElementResult\" ValueRank=\"Array\" />\n      <Field Name=\"ElementDiagnosticInfos\" DataType=\"tns:DiagnosticInfo\" ValueRank=\"Array\" />\n    </Fields>\n  </DataType>\n  <DataType SymbolicName=\"tns:ParsingResult\" SymbolicId=\"tns:ParsingResult\" PartNo=\"4\" NotInAddressSpace=\"true\" Purpose=\"ServicesOnly\" BaseType=\"tns:Structure\" NoClassGeneration=\"true\">\n    <Fields>\n      <Field Name=\"StatusCode\" DataType=\"tns:StatusCode\" />\n      <Field Name=\"DataStatusCodes\" DataType=\"tns:StatusCode\" ValueRank=\"Array\" />\n      <Field Name=\"DataDiagnosticInfos\" DataType=\"tns:DiagnosticInfo\" ValueRank=\"Array\" />\n    </Fields>\n  </DataType>\n  <DataType SymbolicName=\"tns:QueryFirstRequest\" SymbolicId=\"tns:QueryFirstRequest\" PartNo=\"4\" NotInAddressSpace=\"true\" Purpose=\"ServicesOnly\" BaseType=\"tns:Structure\" NoArraysAllowed=\"true\">\n    <Fields>\n      <Field Name=\"RequestHeader\" DataType=\"tns:RequestHeader\" />\n      <Field Name=\"View\" DataType=\"tns:ViewDescription\" />\n      <Field Name=\"NodeTypes\" DataType=\"tns:NodeTypeDescription\" ValueRank=\"Array\" />\n      <Field Name=\"Filter\" DataType=\"tns:ContentFilter\" />\n      <Field Name=\"MaxDataSetsToReturn\" DataType=\"tns:Counter\" />\n      <Field Name=\"MaxReferencesToReturn\" DataType=\"tns:Counter\" />\n    </Fields>\n  </DataType>\n  <DataType SymbolicName=\"tns:QueryFirstResponse\" SymbolicId=\"tns:QueryFirstResponse\" PartNo=\"4\" NotInAddressSpace=\"true\" Purpose=\"ServicesOnly\" BaseType=\"tns:Structure\" NoArraysAllowed=\"true\">\n    <Fields>\n      <Field Name=\"ResponseHeader\" DataType=\"tns:ResponseHeader\" />\n      <Field Name=\"QueryDataSets\" DataType=\"tns:QueryDataSet\" ValueRank=\"Array\" />\n      <Field Name=\"ContinuationPoint\" DataType=\"tns:ContinuationPoint\" />\n      <Field Name=\"ParsingResults\" DataType=\"tns:ParsingResult\" ValueRank=\"Array\" />\n      <Field Name=\"DiagnosticInfos\" DataType=\"tns:DiagnosticInfo\" ValueRank=\"Array\" />\n      <Field Name=\"FilterResult\" DataType=\"tns:ContentFilterResult\" />\n    </Fields>\n  </DataType>\n  <DataType SymbolicName=\"tns:QueryNextRequest\" SymbolicId=\"tns:QueryNextRequest\" PartNo=\"4\" NotInAddressSpace=\"true\" Purpose=\"ServicesOnly\" BaseType=\"tns:Structure\" NoArraysAllowed=\"true\">\n    <Fields>\n      <Field Name=\"RequestHeader\" DataType=\"tns:RequestHeader\" />\n      <Field Name=\"ReleaseContinuationPoint\" DataType=\"tns:Boolean\" />\n      <Field Name=\"ContinuationPoint\" DataType=\"tns:ContinuationPoint\" />\n    </Fields>\n  </DataType>\n  <DataType SymbolicName=\"tns:QueryNextResponse\" SymbolicId=\"tns:QueryNextResponse\" PartNo=\"4\" NotInAddressSpace=\"true\" Purpose=\"ServicesOnly\" BaseType=\"tns:Structure\" NoArraysAllowed=\"true\">\n    <Fields>\n      <Field Name=\"ResponseHeader\" DataType=\"tns:ResponseHeader\" />\n      <Field Name=\"QueryDataSets\" DataType=\"tns:QueryDataSet\" ValueRank=\"Array\" />\n      <Field Name=\"RevisedContinuationPoint\" DataType=\"tns:ContinuationPoint\" />\n    </Fields>\n  </DataType>\n  <DataType SymbolicName=\"tns:TimestampsToReturn\" SymbolicId=\"tns:TimestampsToReturn\" PartNo=\"4\" NotInAddressSpace=\"true\" Purpose=\"ServicesOnly\" BaseType=\"tns:Enumeration\" NoClassGeneration=\"true\" NoArraysAllowed=\"true\">\n    <Fields>\n      <Field Name=\"Source\" Identifier=\"0\" />\n      <Field Name=\"Server\" Identifier=\"1\" />\n      <Field Name=\"Both\" Identifier=\"2\" />\n      <Field Name=\"Neither\" Identifier=\"3\" />\n      <Field Name=\"Invalid\" Identifier=\"4\" />\n    </Fields>\n  </DataType>\n  <DataType SymbolicName=\"tns:ReadValueId\" SymbolicId=\"tns:ReadValueId\" PartNo=\"4\" NotInAddressSpace=\"true\" Purpose=\"ServicesOnly\" BaseType=\"tns:Structure\" NoClassGeneration=\"true\">\n    <Fields>\n      <Field Name=\"NodeId\" DataType=\"tns:NodeId\" />\n      <Field Name=\"AttributeId\" DataType=\"tns:IntegerId\" />\n      <Field Name=\"IndexRange\" DataType=\"tns:NumericRange\" />\n      <Field Name=\"DataEncoding\" DataType=\"tns:QualifiedName\" />\n    </Fields>\n  </DataType>\n  <DataType SymbolicName=\"tns:ReadRequest\" SymbolicId=\"tns:ReadRequest\" PartNo=\"4\" NotInAddressSpace=\"true\" Purpose=\"ServicesOnly\" BaseType=\"tns:Structure\" NoArraysAllowed=\"true\">\n    <Fields>\n      <Field Name=\"RequestHeader\" DataType=\"tns:RequestHeader\" />\n      <Field Name=\"MaxAge\" DataType=\"tns:Duration\" />\n      <Field Name=\"TimestampsToReturn\" DataType=\"tns:TimestampsToReturn\" />\n      <Field Name=\"NodesToRead\" DataType=\"tns:ReadValueId\" ValueRank=\"Array\" />\n    </Fields>\n  </DataType>\n  <DataType SymbolicName=\"tns:ReadResponse\" SymbolicId=\"tns:ReadResponse\" PartNo=\"4\" NotInAddressSpace=\"true\" Purpose=\"ServicesOnly\" BaseType=\"tns:Structure\" NoArraysAllowed=\"true\">\n    <Fields>\n      <Field Name=\"ResponseHeader\" DataType=\"tns:ResponseHeader\" />\n      <Field Name=\"Results\" DataType=\"tns:DataValue\" ValueRank=\"Array\" />\n      <Field Name=\"DiagnosticInfos\" DataType=\"tns:DiagnosticInfo\" ValueRank=\"Array\" />\n    </Fields>\n  </DataType>\n  <DataType SymbolicName=\"tns:HistoryReadValueId\" SymbolicId=\"tns:HistoryReadValueId\" PartNo=\"4\" NotInAddressSpace=\"true\" Purpose=\"ServicesOnly\" BaseType=\"tns:Structure\" NoClassGeneration=\"true\">\n    <Fields>\n      <Field Name=\"NodeId\" DataType=\"tns:NodeId\" />\n      <Field Name=\"IndexRange\" DataType=\"tns:NumericRange\" />\n      <Field Name=\"DataEncoding\" DataType=\"tns:QualifiedName\" />\n      <Field Name=\"ContinuationPoint\" DataType=\"tns:ContinuationPoint\" />\n    </Fields>\n  </DataType>\n  <DataType SymbolicName=\"tns:HistoryReadResult\" SymbolicId=\"tns:HistoryReadResult\" PartNo=\"4\" NotInAddressSpace=\"true\" Purpose=\"ServicesOnly\" BaseType=\"tns:Structure\" NoClassGeneration=\"true\">\n    <Fields>\n      <Field Name=\"StatusCode\" DataType=\"tns:StatusCode\" />\n      <Field Name=\"ContinuationPoint\" DataType=\"tns:ContinuationPoint\" />\n      <Field Name=\"HistoryData\" DataType=\"tns:Structure\" />\n    </Fields>\n  </DataType>\n  <DataType SymbolicName=\"tns:HistoryReadDetails\" SymbolicId=\"tns:HistoryReadDetails\" PartNo=\"4\" NotInAddressSpace=\"true\" Purpose=\"ServicesOnly\" BaseType=\"tns:Structure\" NoClassGeneration=\"true\" NoArraysAllowed=\"true\" />\n  <DataType SymbolicName=\"tns:ReadEventDetails\" SymbolicId=\"tns:ReadEventDetails\" PartNo=\"4\" NotInAddressSpace=\"true\" Purpose=\"ServicesOnly\" BaseType=\"tns:HistoryReadDetails\" NoClassGeneration=\"true\" NoArraysAllowed=\"true\">\n    <Fields>\n      <Field Name=\"NumValuesPerNode\" DataType=\"tns:Counter\" />\n      <Field Name=\"StartTime\" DataType=\"tns:UtcTime\" />\n      <Field Name=\"EndTime\" DataType=\"tns:UtcTime\" />\n      <Field Name=\"Filter\" DataType=\"tns:EventFilter\" />\n    </Fields>\n  </DataType>\n  <DataType SymbolicName=\"tns:ReadRawModifiedDetails\" SymbolicId=\"tns:ReadRawModifiedDetails\" PartNo=\"4\" NotInAddressSpace=\"true\" Purpose=\"ServicesOnly\" BaseType=\"tns:HistoryReadDetails\" NoClassGeneration=\"true\" NoArraysAllowed=\"true\">\n    <Fields>\n      <Field Name=\"IsReadModified\" DataType=\"tns:Boolean\" />\n      <Field Name=\"StartTime\" DataType=\"tns:UtcTime\" />\n      <Field Name=\"EndTime\" DataType=\"tns:UtcTime\" />\n      <Field Name=\"NumValuesPerNode\" DataType=\"tns:Counter\" />\n      <Field Name=\"ReturnBounds\" DataType=\"tns:Boolean\" />\n    </Fields>\n  </DataType>\n  <DataType SymbolicName=\"tns:ReadProcessedDetails\" SymbolicId=\"tns:ReadProcessedDetails\" PartNo=\"4\" NotInAddressSpace=\"true\" Purpose=\"ServicesOnly\" BaseType=\"tns:HistoryReadDetails\" NoClassGeneration=\"true\" NoArraysAllowed=\"true\">\n    <Fields>\n      <Field Name=\"StartTime\" DataType=\"tns:UtcTime\" />\n      <Field Name=\"EndTime\" DataType=\"tns:UtcTime\" />\n      <Field Name=\"ProcessingInterval\" DataType=\"tns:Duration\" />\n      <Field Name=\"AggregateType\" DataType=\"tns:NodeId\" ValueRank=\"Array\" />\n      <Field Name=\"AggregateConfiguration\" DataType=\"tns:AggregateConfiguration\" />\n    </Fields>\n  </DataType>\n  <DataType SymbolicName=\"tns:ReadAtTimeDetails\" SymbolicId=\"tns:ReadAtTimeDetails\" PartNo=\"4\" NotInAddressSpace=\"true\" Purpose=\"ServicesOnly\" BaseType=\"tns:HistoryReadDetails\" NoClassGeneration=\"true\" NoArraysAllowed=\"true\">\n    <Fields>\n      <Field Name=\"ReqTimes\" DataType=\"tns:UtcTime\" ValueRank=\"Array\" />\n      <Field Name=\"UseSimpleBounds\" DataType=\"tns:Boolean\" />\n    </Fields>\n  </DataType>\n  <DataType SymbolicName=\"tns:ReadAnnotationDataDetails\" SymbolicId=\"tns:ReadAnnotationDataDetails\" PartNo=\"4\" NotInAddressSpace=\"true\" Purpose=\"ServicesOnly\" BaseType=\"tns:HistoryReadDetails\" NoClassGeneration=\"true\" NoArraysAllowed=\"true\">\n    <Fields>\n      <Field Name=\"ReqTimes\" DataType=\"tns:UtcTime\" ValueRank=\"Array\" />\n    </Fields>\n  </DataType>\n  <DataType SymbolicName=\"tns:HistoryData\" SymbolicId=\"tns:HistoryData\" PartNo=\"4\" NotInAddressSpace=\"true\" Purpose=\"ServicesOnly\" BaseType=\"tns:Structure\" NoClassGeneration=\"true\" NoArraysAllowed=\"true\">\n    <Fields>\n      <Field Name=\"DataValues\" DataType=\"tns:DataValue\" ValueRank=\"Array\" />\n    </Fields>\n  </DataType>\n  <DataType SymbolicName=\"tns:ModificationInfo\" SymbolicId=\"tns:ModificationInfo\" PartNo=\"4\" NotInAddressSpace=\"true\" Purpose=\"ServicesOnly\" BaseType=\"tns:Structure\" NoClassGeneration=\"true\">\n    <Fields>\n      <Field Name=\"ModificationTime\" DataType=\"tns:UtcTime\" />\n      <Field Name=\"UpdateType\" DataType=\"tns:HistoryUpdateType\" />\n      <Field Name=\"UserName\" DataType=\"tns:String\" />\n    </Fields>\n  </DataType>\n  <DataType SymbolicName=\"tns:HistoryModifiedData\" SymbolicId=\"tns:HistoryModifiedData\" PartNo=\"4\" NotInAddressSpace=\"true\" Purpose=\"ServicesOnly\" BaseType=\"tns:HistoryData\" NoClassGeneration=\"true\" NoArraysAllowed=\"true\">\n    <Fields>\n      <Field Name=\"ModificationInfos\" DataType=\"tns:ModificationInfo\" ValueRank=\"Array\" />\n    </Fields>\n  </DataType>\n  <DataType SymbolicName=\"tns:HistoryEvent\" SymbolicId=\"tns:HistoryEvent\" PartNo=\"4\" BaseType=\"tns:Structure\" NoArraysAllowed=\"true\">\n    <Fields>\n      <Field Name=\"Events\" DataType=\"tns:HistoryEventFieldList\" ValueRank=\"Array\" />\n    </Fields>\n  </DataType>\n  <DataType SymbolicName=\"tns:HistoryReadRequest\" SymbolicId=\"tns:HistoryReadRequest\" PartNo=\"4\" NotInAddressSpace=\"true\" Purpose=\"ServicesOnly\" BaseType=\"tns:Structure\" NoArraysAllowed=\"true\">\n    <Fields>\n      <Field Name=\"RequestHeader\" DataType=\"tns:RequestHeader\" />\n      <Field Name=\"HistoryReadDetails\" DataType=\"tns:Structure\" />\n      <Field Name=\"TimestampsToReturn\" DataType=\"tns:TimestampsToReturn\" />\n      <Field Name=\"ReleaseContinuationPoints\" DataType=\"tns:Boolean\" />\n      <Field Name=\"NodesToRead\" DataType=\"tns:HistoryReadValueId\" ValueRank=\"Array\" />\n    </Fields>\n  </DataType>\n  <DataType SymbolicName=\"tns:HistoryReadResponse\" SymbolicId=\"tns:HistoryReadResponse\" PartNo=\"4\" NotInAddressSpace=\"true\" Purpose=\"ServicesOnly\" BaseType=\"tns:Structure\" NoArraysAllowed=\"true\">\n    <Fields>\n      <Field Name=\"ResponseHeader\" DataType=\"tns:ResponseHeader\" />\n      <Field Name=\"Results\" DataType=\"tns:HistoryReadResult\" ValueRank=\"Array\" />\n      <Field Name=\"DiagnosticInfos\" DataType=\"tns:DiagnosticInfo\" ValueRank=\"Array\" />\n    </Fields>\n  </DataType>\n  <DataType SymbolicName=\"tns:WriteValue\" SymbolicId=\"tns:WriteValue\" PartNo=\"4\" NotInAddressSpace=\"true\" Purpose=\"ServicesOnly\" BaseType=\"tns:Structure\" NoClassGeneration=\"true\">\n    <Fields>\n      <Field Name=\"NodeId\" DataType=\"tns:NodeId\" />\n      <Field Name=\"AttributeId\" DataType=\"tns:IntegerId\" />\n      <Field Name=\"IndexRange\" DataType=\"tns:NumericRange\" />\n      <Field Name=\"Value\" DataType=\"tns:DataValue\" />\n    </Fields>\n  </DataType>\n  <DataType SymbolicName=\"tns:WriteRequest\" SymbolicId=\"tns:WriteRequest\" PartNo=\"4\" NotInAddressSpace=\"true\" Purpose=\"ServicesOnly\" BaseType=\"tns:Structure\" NoArraysAllowed=\"true\">\n    <Fields>\n      <Field Name=\"RequestHeader\" DataType=\"tns:RequestHeader\" />\n      <Field Name=\"NodesToWrite\" DataType=\"tns:WriteValue\" ValueRank=\"Array\" />\n    </Fields>\n  </DataType>\n  <DataType SymbolicName=\"tns:WriteResponse\" SymbolicId=\"tns:WriteResponse\" PartNo=\"4\" NotInAddressSpace=\"true\" Purpose=\"ServicesOnly\" BaseType=\"tns:Structure\" NoArraysAllowed=\"true\">\n    <Fields>\n      <Field Name=\"ResponseHeader\" DataType=\"tns:ResponseHeader\" />\n      <Field Name=\"Results\" DataType=\"tns:StatusCode\" ValueRank=\"Array\" />\n      <Field Name=\"DiagnosticInfos\" DataType=\"tns:DiagnosticInfo\" ValueRank=\"Array\" />\n    </Fields>\n  </DataType>\n  <DataType SymbolicName=\"tns:HistoryUpdateDetails\" SymbolicId=\"tns:HistoryUpdateDetails\" PartNo=\"4\" NotInAddressSpace=\"true\" Purpose=\"ServicesOnly\" BaseType=\"tns:Structure\" NoClassGeneration=\"true\" NoArraysAllowed=\"true\">\n    <Fields>\n      <Field Name=\"NodeId\" DataType=\"tns:NodeId\" />\n    </Fields>\n  </DataType>\n  <DataType SymbolicName=\"tns:HistoryUpdateType\" SymbolicId=\"tns:HistoryUpdateType\" PartNo=\"4\" BaseType=\"tns:Enumeration\" NoArraysAllowed=\"true\">\n    <Fields>\n      <Field Name=\"Insert\" Identifier=\"1\" />\n      <Field Name=\"Replace\" Identifier=\"2\" />\n      <Field Name=\"Update\" Identifier=\"3\" />\n      <Field Name=\"Delete\" Identifier=\"4\" />\n    </Fields>\n  </DataType>\n  <DataType SymbolicName=\"tns:PerformUpdateType\" SymbolicId=\"tns:PerformUpdateType\" PartNo=\"4\" BaseType=\"tns:Enumeration\" NoArraysAllowed=\"true\">\n    <Fields>\n      <Field Name=\"Insert\" Identifier=\"1\" />\n      <Field Name=\"Replace\" Identifier=\"2\" />\n      <Field Name=\"Update\" Identifier=\"3\" />\n      <Field Name=\"Remove\" Identifier=\"4\" />\n    </Fields>\n  </DataType>\n  <DataType SymbolicName=\"tns:UpdateDataDetails\" SymbolicId=\"tns:UpdateDataDetails\" PartNo=\"4\" NotInAddressSpace=\"true\" Purpose=\"ServicesOnly\" BaseType=\"tns:HistoryUpdateDetails\" NoClassGeneration=\"true\" NoArraysAllowed=\"true\">\n    <Fields>\n      <Field Name=\"PerformInsertReplace\" DataType=\"tns:PerformUpdateType\" />\n      <Field Name=\"UpdateValues\" DataType=\"tns:DataValue\" ValueRank=\"Array\" />\n    </Fields>\n  </DataType>\n  <DataType SymbolicName=\"tns:UpdateStructureDataDetails\" SymbolicId=\"tns:UpdateStructureDataDetails\" PartNo=\"4\" NotInAddressSpace=\"true\" Purpose=\"ServicesOnly\" BaseType=\"tns:HistoryUpdateDetails\" NoClassGeneration=\"true\" NoArraysAllowed=\"true\">\n    <Fields>\n      <Field Name=\"PerformInsertReplace\" DataType=\"tns:PerformUpdateType\" />\n      <Field Name=\"UpdateValues\" DataType=\"tns:DataValue\" ValueRank=\"Array\" />\n    </Fields>\n  </DataType>\n  <DataType SymbolicName=\"tns:UpdateEventDetails\" SymbolicId=\"tns:UpdateEventDetails\" PartNo=\"4\" NotInAddressSpace=\"true\" Purpose=\"ServicesOnly\" BaseType=\"tns:HistoryUpdateDetails\" NoClassGeneration=\"true\" NoArraysAllowed=\"true\">\n    <Fields>\n      <Field Name=\"PerformInsertReplace\" DataType=\"tns:PerformUpdateType\" />\n      <Field Name=\"Filter\" DataType=\"tns:EventFilter\" />\n      <Field Name=\"EventData\" DataType=\"tns:HistoryEventFieldList\" ValueRank=\"Array\" />\n    </Fields>\n  </DataType>\n  <DataType SymbolicName=\"tns:DeleteRawModifiedDetails\" SymbolicId=\"tns:DeleteRawModifiedDetails\" PartNo=\"4\" NotInAddressSpace=\"true\" Purpose=\"ServicesOnly\" BaseType=\"tns:HistoryUpdateDetails\" NoClassGeneration=\"true\" NoArraysAllowed=\"true\">\n    <Fields>\n      <Field Name=\"IsDeleteModified\" DataType=\"tns:Boolean\" />\n      <Field Name=\"StartTime\" DataType=\"tns:UtcTime\" />\n      <Field Name=\"EndTime\" DataType=\"tns:UtcTime\" />\n    </Fields>\n  </DataType>\n  <DataType SymbolicName=\"tns:DeleteAtTimeDetails\" SymbolicId=\"tns:DeleteAtTimeDetails\" PartNo=\"4\" NotInAddressSpace=\"true\" Purpose=\"ServicesOnly\" BaseType=\"tns:HistoryUpdateDetails\" NoClassGeneration=\"true\" NoArraysAllowed=\"true\">\n    <Fields>\n      <Field Name=\"ReqTimes\" DataType=\"tns:UtcTime\" ValueRank=\"Array\" />\n    </Fields>\n  </DataType>\n  <DataType SymbolicName=\"tns:DeleteEventDetails\" SymbolicId=\"tns:DeleteEventDetails\" PartNo=\"4\" NotInAddressSpace=\"true\" Purpose=\"ServicesOnly\" BaseType=\"tns:HistoryUpdateDetails\" NoClassGeneration=\"true\" NoArraysAllowed=\"true\">\n    <Fields>\n      <Field Name=\"EventIds\" DataType=\"tns:ByteString\" ValueRank=\"Array\" />\n    </Fields>\n  </DataType>\n  <DataType SymbolicName=\"tns:HistoryUpdateResult\" SymbolicId=\"tns:HistoryUpdateResult\" PartNo=\"4\" NotInAddressSpace=\"true\" Purpose=\"ServicesOnly\" BaseType=\"tns:Structure\" NoClassGeneration=\"true\">\n    <Fields>\n      <Field Name=\"StatusCode\" DataType=\"tns:StatusCode\" />\n      <Field Name=\"OperationResults\" DataType=\"tns:StatusCode\" ValueRank=\"Array\" />\n      <Field Name=\"DiagnosticInfos\" DataType=\"tns:DiagnosticInfo\" ValueRank=\"Array\" />\n    </Fields>\n  </DataType>\n  <DataType SymbolicName=\"tns:HistoryUpdateRequest\" SymbolicId=\"tns:HistoryUpdateRequest\" PartNo=\"4\" NotInAddressSpace=\"true\" Purpose=\"ServicesOnly\" BaseType=\"tns:Structure\" NoArraysAllowed=\"true\">\n    <Fields>\n      <Field Name=\"RequestHeader\" DataType=\"tns:RequestHeader\" />\n      <Field Name=\"HistoryUpdateDetails\" DataType=\"tns:Structure\" ValueRank=\"Array\" />\n    </Fields>\n  </DataType>\n  <DataType SymbolicName=\"tns:HistoryUpdateResponse\" SymbolicId=\"tns:HistoryUpdateResponse\" PartNo=\"4\" NotInAddressSpace=\"true\" Purpose=\"ServicesOnly\" BaseType=\"tns:Structure\" NoArraysAllowed=\"true\">\n    <Fields>\n      <Field Name=\"ResponseHeader\" DataType=\"tns:ResponseHeader\" />\n      <Field Name=\"Results\" DataType=\"tns:HistoryUpdateResult\" ValueRank=\"Array\" />\n      <Field Name=\"DiagnosticInfos\" DataType=\"tns:DiagnosticInfo\" ValueRank=\"Array\" />\n    </Fields>\n  </DataType>\n  <DataType SymbolicName=\"tns:CallMethodRequest\" SymbolicId=\"tns:CallMethodRequest\" PartNo=\"4\" NotInAddressSpace=\"true\" Purpose=\"ServicesOnly\" BaseType=\"tns:Structure\" NoClassGeneration=\"true\">\n    <Fields>\n      <Field Name=\"ObjectId\" DataType=\"tns:NodeId\" />\n      <Field Name=\"MethodId\" DataType=\"tns:NodeId\" />\n      <Field Name=\"InputArguments\" DataType=\"tns:BaseDataType\" ValueRank=\"Array\" />\n    </Fields>\n  </DataType>\n  <DataType SymbolicName=\"tns:CallMethodResult\" SymbolicId=\"tns:CallMethodResult\" PartNo=\"4\" NotInAddressSpace=\"true\" Purpose=\"ServicesOnly\" BaseType=\"tns:Structure\" NoClassGeneration=\"true\">\n    <Fields>\n      <Field Name=\"StatusCode\" DataType=\"tns:StatusCode\" />\n      <Field Name=\"InputArgumentResults\" DataType=\"tns:StatusCode\" ValueRank=\"Array\" />\n      <Field Name=\"InputArgumentDiagnosticInfos\" DataType=\"tns:DiagnosticInfo\" ValueRank=\"Array\" />\n      <Field Name=\"OutputArguments\" DataType=\"tns:BaseDataType\" ValueRank=\"Array\" />\n    </Fields>\n  </DataType>\n  <DataType SymbolicName=\"tns:CallRequest\" SymbolicId=\"tns:CallRequest\" PartNo=\"4\" NotInAddressSpace=\"true\" Purpose=\"ServicesOnly\" BaseType=\"tns:Structure\" NoArraysAllowed=\"true\">\n    <Fields>\n      <Field Name=\"RequestHeader\" DataType=\"tns:RequestHeader\" />\n      <Field Name=\"MethodsToCall\" DataType=\"tns:CallMethodRequest\" ValueRank=\"Array\" />\n    </Fields>\n  </DataType>\n  <DataType SymbolicName=\"tns:CallResponse\" SymbolicId=\"tns:CallResponse\" PartNo=\"4\" NotInAddressSpace=\"true\" Purpose=\"ServicesOnly\" BaseType=\"tns:Structure\" NoArraysAllowed=\"true\">\n    <Fields>\n      <Field Name=\"ResponseHeader\" DataType=\"tns:ResponseHeader\" />\n      <Field Name=\"Results\" DataType=\"tns:CallMethodResult\" ValueRank=\"Array\" />\n      <Field Name=\"DiagnosticInfos\" DataType=\"tns:DiagnosticInfo\" ValueRank=\"Array\" />\n    </Fields>\n  </DataType>\n  <DataType SymbolicName=\"tns:MonitoringMode\" SymbolicId=\"tns:MonitoringMode\" PartNo=\"4\" NotInAddressSpace=\"true\" Purpose=\"ServicesOnly\" BaseType=\"tns:Enumeration\" NoClassGeneration=\"true\" NoArraysAllowed=\"true\">\n    <Fields>\n      <Field Name=\"Disabled\" Identifier=\"0\" />\n      <Field Name=\"Sampling\" Identifier=\"1\" />\n      <Field Name=\"Reporting\" Identifier=\"2\" />\n    </Fields>\n  </DataType>\n  <DataType SymbolicName=\"tns:DataChangeTrigger\" SymbolicId=\"tns:DataChangeTrigger\" PartNo=\"4\" NotInAddressSpace=\"true\" Purpose=\"ServicesOnly\" BaseType=\"tns:Enumeration\" NoClassGeneration=\"true\" NoArraysAllowed=\"true\">\n    <Fields>\n      <Field Name=\"Status\" Identifier=\"0\" />\n      <Field Name=\"StatusValue\" Identifier=\"1\" />\n      <Field Name=\"StatusValueTimestamp\" Identifier=\"2\" />\n    </Fields>\n  </DataType>\n  <DataType SymbolicName=\"tns:DeadbandType\" SymbolicId=\"tns:DeadbandType\" PartNo=\"4\" NotInAddressSpace=\"true\" Purpose=\"ServicesOnly\" BaseType=\"tns:Enumeration\" NoClassGeneration=\"true\" NoArraysAllowed=\"true\">\n    <Fields>\n      <Field Name=\"None\" Identifier=\"0\" />\n      <Field Name=\"Absolute\" Identifier=\"1\" />\n      <Field Name=\"Percent\" Identifier=\"2\" />\n    </Fields>\n  </DataType>\n  <DataType SymbolicName=\"tns:MonitoringFilter\" SymbolicId=\"tns:MonitoringFilter\" PartNo=\"4\" BaseType=\"tns:Structure\" NoArraysAllowed=\"true\" />\n  <DataType SymbolicName=\"tns:DataChangeFilter\" SymbolicId=\"tns:DataChangeFilter\" PartNo=\"4\" NotInAddressSpace=\"true\" Purpose=\"ServicesOnly\" BaseType=\"tns:MonitoringFilter\" NoClassGeneration=\"true\" NoArraysAllowed=\"true\">\n    <Fields>\n      <Field Name=\"Trigger\" DataType=\"tns:DataChangeTrigger\" />\n      <Field Name=\"DeadbandType\" DataType=\"tns:UInt32\" />\n      <Field Name=\"DeadbandValue\" DataType=\"tns:Double\" />\n    </Fields>\n  </DataType>\n  <DataType SymbolicName=\"tns:EventFilter\" SymbolicId=\"tns:EventFilter\" PartNo=\"4\" BaseType=\"tns:MonitoringFilter\" NoArraysAllowed=\"true\">\n    <Fields>\n      <Field Name=\"SelectClauses\" DataType=\"tns:SimpleAttributeOperand\" ValueRank=\"Array\" />\n      <Field Name=\"WhereClause\" DataType=\"tns:ContentFilter\" />\n    </Fields>\n  </DataType>\n  <DataType SymbolicName=\"tns:AggregateConfiguration\" SymbolicId=\"tns:AggregateConfiguration\" PartNo=\"4\" BaseType=\"tns:Structure\" NoArraysAllowed=\"true\">\n    <Fields>\n      <Field Name=\"UseServerCapabilitiesDefaults\" DataType=\"tns:Boolean\" />\n      <Field Name=\"TreatUncertainAsBad\" DataType=\"tns:Boolean\" />\n      <Field Name=\"PercentDataBad\" DataType=\"tns:Byte\" />\n      <Field Name=\"PercentDataGood\" DataType=\"tns:Byte\" />\n      <Field Name=\"UseSlopedExtrapolation\" DataType=\"tns:Boolean\" />\n    </Fields>\n  </DataType>\n  <DataType SymbolicName=\"tns:AggregateFilter\" SymbolicId=\"tns:AggregateFilter\" PartNo=\"4\" NotInAddressSpace=\"true\" Purpose=\"ServicesOnly\" BaseType=\"tns:MonitoringFilter\" NoClassGeneration=\"true\" NoArraysAllowed=\"true\">\n    <Fields>\n      <Field Name=\"StartTime\" DataType=\"tns:UtcTime\" />\n      <Field Name=\"AggregateType\" DataType=\"tns:NodeId\" />\n      <Field Name=\"ProcessingInterval\" DataType=\"tns:Duration\" />\n      <Field Name=\"AggregateConfiguration\" DataType=\"tns:AggregateConfiguration\" />\n    </Fields>\n  </DataType>\n  <DataType SymbolicName=\"tns:MonitoringFilterResult\" SymbolicId=\"tns:MonitoringFilterResult\" PartNo=\"4\" NotInAddressSpace=\"true\" Purpose=\"ServicesOnly\" BaseType=\"tns:Structure\" NoClassGeneration=\"true\" NoArraysAllowed=\"true\" />\n  <DataType SymbolicName=\"tns:EventFilterResult\" SymbolicId=\"tns:EventFilterResult\" PartNo=\"4\" NotInAddressSpace=\"true\" Purpose=\"ServicesOnly\" BaseType=\"tns:MonitoringFilterResult\" NoClassGeneration=\"true\" NoArraysAllowed=\"true\">\n    <Fields>\n      <Field Name=\"SelectClauseResults\" DataType=\"tns:StatusCode\" ValueRank=\"Array\" />\n      <Field Name=\"SelectClauseDiagnosticInfos\" DataType=\"tns:DiagnosticInfo\" ValueRank=\"Array\" />\n      <Field Name=\"WhereClauseResult\" DataType=\"tns:ContentFilterResult\" />\n    </Fields>\n  </DataType>\n  <DataType SymbolicName=\"tns:AggregateFilterResult\" SymbolicId=\"tns:AggregateFilterResult\" PartNo=\"4\" NotInAddressSpace=\"true\" Purpose=\"ServicesOnly\" BaseType=\"tns:MonitoringFilterResult\" NoClassGeneration=\"true\" NoArraysAllowed=\"true\">\n    <Fields>\n      <Field Name=\"RevisedStartTime\" DataType=\"tns:UtcTime\" />\n      <Field Name=\"RevisedProcessingInterval\" DataType=\"tns:Duration\" />\n      <Field Name=\"RevisedAggregateConfiguration\" DataType=\"tns:AggregateConfiguration\" />\n    </Fields>\n  </DataType>\n  <DataType SymbolicName=\"tns:MonitoringParameters\" SymbolicId=\"tns:MonitoringParameters\" PartNo=\"4\" NotInAddressSpace=\"true\" Purpose=\"ServicesOnly\" BaseType=\"tns:Structure\" NoClassGeneration=\"true\" NoArraysAllowed=\"true\">\n    <Fields>\n      <Field Name=\"ClientHandle\" DataType=\"tns:IntegerId\" />\n      <Field Name=\"SamplingInterval\" DataType=\"tns:Duration\" />\n      <Field Name=\"Filter\" DataType=\"tns:Structure\" />\n      <Field Name=\"QueueSize\" DataType=\"tns:Counter\" />\n      <Field Name=\"DiscardOldest\" DataType=\"tns:Boolean\" />\n    </Fields>\n  </DataType>\n  <DataType SymbolicName=\"tns:MonitoredItemCreateRequest\" SymbolicId=\"tns:MonitoredItemCreateRequest\" PartNo=\"4\" NotInAddressSpace=\"true\" Purpose=\"ServicesOnly\" BaseType=\"tns:Structure\" NoClassGeneration=\"true\">\n    <Fields>\n      <Field Name=\"ItemToMonitor\" DataType=\"tns:ReadValueId\" />\n      <Field Name=\"MonitoringMode\" DataType=\"tns:MonitoringMode\" />\n      <Field Name=\"RequestedParameters\" DataType=\"tns:MonitoringParameters\" />\n    </Fields>\n  </DataType>\n  <DataType SymbolicName=\"tns:MonitoredItemCreateResult\" SymbolicId=\"tns:MonitoredItemCreateResult\" PartNo=\"4\" NotInAddressSpace=\"true\" Purpose=\"ServicesOnly\" BaseType=\"tns:Structure\" NoClassGeneration=\"true\">\n    <Fields>\n      <Field Name=\"StatusCode\" DataType=\"tns:StatusCode\" />\n      <Field Name=\"MonitoredItemId\" DataType=\"tns:IntegerId\" />\n      <Field Name=\"RevisedSamplingInterval\" DataType=\"tns:Duration\" />\n      <Field Name=\"RevisedQueueSize\" DataType=\"tns:Counter\" />\n      <Field Name=\"FilterResult\" DataType=\"tns:Structure\" />\n    </Fields>\n  </DataType>\n  <DataType SymbolicName=\"tns:CreateMonitoredItemsRequest\" SymbolicId=\"tns:CreateMonitoredItemsRequest\" PartNo=\"4\" NotInAddressSpace=\"true\" Purpose=\"ServicesOnly\" BaseType=\"tns:Structure\" NoArraysAllowed=\"true\">\n    <Fields>\n      <Field Name=\"RequestHeader\" DataType=\"tns:RequestHeader\" />\n      <Field Name=\"SubscriptionId\" DataType=\"tns:IntegerId\" />\n      <Field Name=\"TimestampsToReturn\" DataType=\"tns:TimestampsToReturn\" />\n      <Field Name=\"ItemsToCreate\" DataType=\"tns:MonitoredItemCreateRequest\" ValueRank=\"Array\" />\n    </Fields>\n  </DataType>\n  <DataType SymbolicName=\"tns:CreateMonitoredItemsResponse\" SymbolicId=\"tns:CreateMonitoredItemsResponse\" PartNo=\"4\" NotInAddressSpace=\"true\" Purpose=\"ServicesOnly\" BaseType=\"tns:Structure\" NoArraysAllowed=\"true\">\n    <Fields>\n      <Field Name=\"ResponseHeader\" DataType=\"tns:ResponseHeader\" />\n      <Field Name=\"Results\" DataType=\"tns:MonitoredItemCreateResult\" ValueRank=\"Array\" />\n      <Field Name=\"DiagnosticInfos\" DataType=\"tns:DiagnosticInfo\" ValueRank=\"Array\" />\n    </Fields>\n  </DataType>\n  <DataType SymbolicName=\"tns:MonitoredItemModifyRequest\" SymbolicId=\"tns:MonitoredItemModifyRequest\" PartNo=\"4\" NotInAddressSpace=\"true\" Purpose=\"ServicesOnly\" BaseType=\"tns:Structure\" NoClassGeneration=\"true\">\n    <Fields>\n      <Field Name=\"MonitoredItemId\" DataType=\"tns:IntegerId\" />\n      <Field Name=\"RequestedParameters\" DataType=\"tns:MonitoringParameters\" />\n    </Fields>\n  </DataType>\n  <DataType SymbolicName=\"tns:MonitoredItemModifyResult\" SymbolicId=\"tns:MonitoredItemModifyResult\" PartNo=\"4\" NotInAddressSpace=\"true\" Purpose=\"ServicesOnly\" BaseType=\"tns:Structure\" NoClassGeneration=\"true\">\n    <Fields>\n      <Field Name=\"StatusCode\" DataType=\"tns:StatusCode\" />\n      <Field Name=\"RevisedSamplingInterval\" DataType=\"tns:Duration\" />\n      <Field Name=\"RevisedQueueSize\" DataType=\"tns:Counter\" />\n      <Field Name=\"FilterResult\" DataType=\"tns:Structure\" />\n    </Fields>\n  </DataType>\n  <DataType SymbolicName=\"tns:ModifyMonitoredItemsRequest\" SymbolicId=\"tns:ModifyMonitoredItemsRequest\" PartNo=\"4\" NotInAddressSpace=\"true\" Purpose=\"ServicesOnly\" BaseType=\"tns:Structure\" NoArraysAllowed=\"true\">\n    <Fields>\n      <Field Name=\"RequestHeader\" DataType=\"tns:RequestHeader\" />\n      <Field Name=\"SubscriptionId\" DataType=\"tns:IntegerId\" />\n      <Field Name=\"TimestampsToReturn\" DataType=\"tns:TimestampsToReturn\" />\n      <Field Name=\"ItemsToModify\" DataType=\"tns:MonitoredItemModifyRequest\" ValueRank=\"Array\" />\n    </Fields>\n  </DataType>\n  <DataType SymbolicName=\"tns:ModifyMonitoredItemsResponse\" SymbolicId=\"tns:ModifyMonitoredItemsResponse\" PartNo=\"4\" NotInAddressSpace=\"true\" Purpose=\"ServicesOnly\" BaseType=\"tns:Structure\" NoArraysAllowed=\"true\">\n    <Fields>\n      <Field Name=\"ResponseHeader\" DataType=\"tns:ResponseHeader\" />\n      <Field Name=\"Results\" DataType=\"tns:MonitoredItemModifyResult\" ValueRank=\"Array\" />\n      <Field Name=\"DiagnosticInfos\" DataType=\"tns:DiagnosticInfo\" ValueRank=\"Array\" />\n    </Fields>\n  </DataType>\n  <DataType SymbolicName=\"tns:SetMonitoringModeRequest\" SymbolicId=\"tns:SetMonitoringModeRequest\" PartNo=\"4\" NotInAddressSpace=\"true\" Purpose=\"ServicesOnly\" BaseType=\"tns:Structure\" NoArraysAllowed=\"true\">\n    <Fields>\n      <Field Name=\"RequestHeader\" DataType=\"tns:RequestHeader\" />\n      <Field Name=\"SubscriptionId\" DataType=\"tns:IntegerId\" />\n      <Field Name=\"MonitoringMode\" DataType=\"tns:MonitoringMode\" />\n      <Field Name=\"MonitoredItemIds\" DataType=\"tns:IntegerId\" ValueRank=\"Array\" />\n    </Fields>\n  </DataType>\n  <DataType SymbolicName=\"tns:SetMonitoringModeResponse\" SymbolicId=\"tns:SetMonitoringModeResponse\" PartNo=\"4\" NotInAddressSpace=\"true\" Purpose=\"ServicesOnly\" BaseType=\"tns:Structure\" NoArraysAllowed=\"true\">\n    <Fields>\n      <Field Name=\"ResponseHeader\" DataType=\"tns:ResponseHeader\" />\n      <Field Name=\"Results\" DataType=\"tns:StatusCode\" ValueRank=\"Array\" />\n      <Field Name=\"DiagnosticInfos\" DataType=\"tns:DiagnosticInfo\" ValueRank=\"Array\" />\n    </Fields>\n  </DataType>\n  <DataType SymbolicName=\"tns:SetTriggeringRequest\" SymbolicId=\"tns:SetTriggeringRequest\" PartNo=\"4\" NotInAddressSpace=\"true\" Purpose=\"ServicesOnly\" BaseType=\"tns:Structure\" NoArraysAllowed=\"true\">\n    <Fields>\n      <Field Name=\"RequestHeader\" DataType=\"tns:RequestHeader\" />\n      <Field Name=\"SubscriptionId\" DataType=\"tns:IntegerId\" />\n      <Field Name=\"TriggeringItemId\" DataType=\"tns:IntegerId\" />\n      <Field Name=\"LinksToAdd\" DataType=\"tns:IntegerId\" ValueRank=\"Array\" />\n      <Field Name=\"LinksToRemove\" DataType=\"tns:IntegerId\" ValueRank=\"Array\" />\n    </Fields>\n  </DataType>\n  <DataType SymbolicName=\"tns:SetTriggeringResponse\" SymbolicId=\"tns:SetTriggeringResponse\" PartNo=\"4\" NotInAddressSpace=\"true\" Purpose=\"ServicesOnly\" BaseType=\"tns:Structure\" NoArraysAllowed=\"true\">\n    <Fields>\n      <Field Name=\"ResponseHeader\" DataType=\"tns:ResponseHeader\" />\n      <Field Name=\"AddResults\" DataType=\"tns:StatusCode\" ValueRank=\"Array\" />\n      <Field Name=\"AddDiagnosticInfos\" DataType=\"tns:DiagnosticInfo\" ValueRank=\"Array\" />\n      <Field Name=\"RemoveResults\" DataType=\"tns:StatusCode\" ValueRank=\"Array\" />\n      <Field Name=\"RemoveDiagnosticInfos\" DataType=\"tns:DiagnosticInfo\" ValueRank=\"Array\" />\n    </Fields>\n  </DataType>\n  <DataType SymbolicName=\"tns:DeleteMonitoredItemsRequest\" SymbolicId=\"tns:DeleteMonitoredItemsRequest\" PartNo=\"4\" NotInAddressSpace=\"true\" Purpose=\"ServicesOnly\" BaseType=\"tns:Structure\" NoArraysAllowed=\"true\">\n    <Fields>\n      <Field Name=\"RequestHeader\" DataType=\"tns:RequestHeader\" />\n      <Field Name=\"SubscriptionId\" DataType=\"tns:IntegerId\" />\n      <Field Name=\"MonitoredItemIds\" DataType=\"tns:IntegerId\" ValueRank=\"Array\" />\n    </Fields>\n  </DataType>\n  <DataType SymbolicName=\"tns:DeleteMonitoredItemsResponse\" SymbolicId=\"tns:DeleteMonitoredItemsResponse\" PartNo=\"4\" NotInAddressSpace=\"true\" Purpose=\"ServicesOnly\" BaseType=\"tns:Structure\" NoArraysAllowed=\"true\">\n    <Fields>\n      <Field Name=\"ResponseHeader\" DataType=\"tns:ResponseHeader\" />\n      <Field Name=\"Results\" DataType=\"tns:StatusCode\" ValueRank=\"Array\" />\n      <Field Name=\"DiagnosticInfos\" DataType=\"tns:DiagnosticInfo\" ValueRank=\"Array\" />\n    </Fields>\n  </DataType>\n  <DataType SymbolicName=\"tns:CreateSubscriptionRequest\" SymbolicId=\"tns:CreateSubscriptionRequest\" PartNo=\"4\" NotInAddressSpace=\"true\" Purpose=\"ServicesOnly\" BaseType=\"tns:Structure\" NoArraysAllowed=\"true\">\n    <Fields>\n      <Field Name=\"RequestHeader\" DataType=\"tns:RequestHeader\" />\n      <Field Name=\"RequestedPublishingInterval\" DataType=\"tns:Duration\" />\n      <Field Name=\"RequestedLifetimeCount\" DataType=\"tns:Counter\" />\n      <Field Name=\"RequestedMaxKeepAliveCount\" DataType=\"tns:Counter\" />\n      <Field Name=\"MaxNotificationsPerPublish\" DataType=\"tns:Counter\" />\n      <Field Name=\"PublishingEnabled\" DataType=\"tns:Boolean\" />\n      <Field Name=\"Priority\" DataType=\"tns:Byte\" />\n    </Fields>\n  </DataType>\n  <DataType SymbolicName=\"tns:CreateSubscriptionResponse\" SymbolicId=\"tns:CreateSubscriptionResponse\" PartNo=\"4\" NotInAddressSpace=\"true\" Purpose=\"ServicesOnly\" BaseType=\"tns:Structure\" NoArraysAllowed=\"true\">\n    <Fields>\n      <Field Name=\"ResponseHeader\" DataType=\"tns:ResponseHeader\" />\n      <Field Name=\"SubscriptionId\" DataType=\"tns:IntegerId\" />\n      <Field Name=\"RevisedPublishingInterval\" DataType=\"tns:Duration\" />\n      <Field Name=\"RevisedLifetimeCount\" DataType=\"tns:Counter\" />\n      <Field Name=\"RevisedMaxKeepAliveCount\" DataType=\"tns:Counter\" />\n    </Fields>\n  </DataType>\n  <DataType SymbolicName=\"tns:ModifySubscriptionRequest\" SymbolicId=\"tns:ModifySubscriptionRequest\" PartNo=\"4\" NotInAddressSpace=\"true\" Purpose=\"ServicesOnly\" BaseType=\"tns:Structure\" NoArraysAllowed=\"true\">\n    <Fields>\n      <Field Name=\"RequestHeader\" DataType=\"tns:RequestHeader\" />\n      <Field Name=\"SubscriptionId\" DataType=\"tns:IntegerId\" />\n      <Field Name=\"RequestedPublishingInterval\" DataType=\"tns:Duration\" />\n      <Field Name=\"RequestedLifetimeCount\" DataType=\"tns:Counter\" />\n      <Field Name=\"RequestedMaxKeepAliveCount\" DataType=\"tns:Counter\" />\n      <Field Name=\"MaxNotificationsPerPublish\" DataType=\"tns:Counter\" />\n      <Field Name=\"Priority\" DataType=\"tns:Byte\" />\n    </Fields>\n  </DataType>\n  <DataType SymbolicName=\"tns:ModifySubscriptionResponse\" SymbolicId=\"tns:ModifySubscriptionResponse\" PartNo=\"4\" NotInAddressSpace=\"true\" Purpose=\"ServicesOnly\" BaseType=\"tns:Structure\" NoArraysAllowed=\"true\">\n    <Fields>\n      <Field Name=\"ResponseHeader\" DataType=\"tns:ResponseHeader\" />\n      <Field Name=\"RevisedPublishingInterval\" DataType=\"tns:Duration\" />\n      <Field Name=\"RevisedLifetimeCount\" DataType=\"tns:Counter\" />\n      <Field Name=\"RevisedMaxKeepAliveCount\" DataType=\"tns:Counter\" />\n    </Fields>\n  </DataType>\n  <DataType SymbolicName=\"tns:SetPublishingModeRequest\" SymbolicId=\"tns:SetPublishingModeRequest\" PartNo=\"4\" NotInAddressSpace=\"true\" Purpose=\"ServicesOnly\" BaseType=\"tns:Structure\" NoArraysAllowed=\"true\">\n    <Fields>\n      <Field Name=\"RequestHeader\" DataType=\"tns:RequestHeader\" />\n      <Field Name=\"PublishingEnabled\" DataType=\"tns:Boolean\" />\n      <Field Name=\"SubscriptionIds\" DataType=\"tns:IntegerId\" ValueRank=\"Array\" />\n    </Fields>\n  </DataType>\n  <DataType SymbolicName=\"tns:SetPublishingModeResponse\" SymbolicId=\"tns:SetPublishingModeResponse\" PartNo=\"4\" NotInAddressSpace=\"true\" Purpose=\"ServicesOnly\" BaseType=\"tns:Structure\" NoArraysAllowed=\"true\">\n    <Fields>\n      <Field Name=\"ResponseHeader\" DataType=\"tns:ResponseHeader\" />\n      <Field Name=\"Results\" DataType=\"tns:StatusCode\" ValueRank=\"Array\" />\n      <Field Name=\"DiagnosticInfos\" DataType=\"tns:DiagnosticInfo\" ValueRank=\"Array\" />\n    </Fields>\n  </DataType>\n  <DataType SymbolicName=\"tns:NotificationMessage\" SymbolicId=\"tns:NotificationMessage\" PartNo=\"4\" NotInAddressSpace=\"true\" Purpose=\"ServicesOnly\" BaseType=\"tns:Structure\" NoClassGeneration=\"true\" NoArraysAllowed=\"true\">\n    <Fields>\n      <Field Name=\"SequenceNumber\" DataType=\"tns:Counter\" />\n      <Field Name=\"PublishTime\" DataType=\"tns:UtcTime\" />\n      <Field Name=\"NotificationData\" DataType=\"tns:Structure\" ValueRank=\"Array\" />\n    </Fields>\n  </DataType>\n  <DataType SymbolicName=\"tns:NotificationData\" SymbolicId=\"tns:NotificationData\" PartNo=\"4\" NotInAddressSpace=\"true\" Purpose=\"ServicesOnly\" BaseType=\"tns:Structure\" NoClassGeneration=\"true\" NoArraysAllowed=\"true\" />\n  <DataType SymbolicName=\"tns:DataChangeNotification\" SymbolicId=\"tns:DataChangeNotification\" PartNo=\"4\" NotInAddressSpace=\"true\" Purpose=\"ServicesOnly\" BaseType=\"tns:NotificationData\" NoClassGeneration=\"true\" NoArraysAllowed=\"true\">\n    <Fields>\n      <Field Name=\"MonitoredItems\" DataType=\"tns:MonitoredItemNotification\" ValueRank=\"Array\" />\n      <Field Name=\"DiagnosticInfos\" DataType=\"tns:DiagnosticInfo\" ValueRank=\"Array\" />\n    </Fields>\n  </DataType>\n  <DataType SymbolicName=\"tns:MonitoredItemNotification\" SymbolicId=\"tns:MonitoredItemNotification\" PartNo=\"4\" NotInAddressSpace=\"true\" Purpose=\"ServicesOnly\" BaseType=\"tns:Structure\" NoClassGeneration=\"true\">\n    <Fields>\n      <Field Name=\"ClientHandle\" DataType=\"tns:IntegerId\" />\n      <Field Name=\"Value\" DataType=\"tns:DataValue\" />\n    </Fields>\n  </DataType>\n  <DataType SymbolicName=\"tns:EventNotificationList\" SymbolicId=\"tns:EventNotificationList\" PartNo=\"4\" NotInAddressSpace=\"true\" Purpose=\"ServicesOnly\" BaseType=\"tns:NotificationData\" NoClassGeneration=\"true\" NoArraysAllowed=\"true\">\n    <Fields>\n      <Field Name=\"Events\" DataType=\"tns:EventFieldList\" ValueRank=\"Array\" />\n    </Fields>\n  </DataType>\n  <DataType SymbolicName=\"tns:EventFieldList\" SymbolicId=\"tns:EventFieldList\" PartNo=\"4\" NotInAddressSpace=\"true\" Purpose=\"ServicesOnly\" BaseType=\"tns:Structure\" NoClassGeneration=\"true\">\n    <Fields>\n      <Field Name=\"ClientHandle\" DataType=\"tns:IntegerId\" />\n      <Field Name=\"EventFields\" DataType=\"tns:BaseDataType\" ValueRank=\"Array\" />\n    </Fields>\n  </DataType>\n  <DataType SymbolicName=\"tns:HistoryEventFieldList\" SymbolicId=\"tns:HistoryEventFieldList\" PartNo=\"4\" BaseType=\"tns:Structure\">\n    <Fields>\n      <Field Name=\"EventFields\" DataType=\"tns:BaseDataType\" ValueRank=\"Array\" />\n    </Fields>\n  </DataType>\n  <DataType SymbolicName=\"tns:StatusChangeNotification\" SymbolicId=\"tns:StatusChangeNotification\" PartNo=\"4\" NotInAddressSpace=\"true\" Purpose=\"ServicesOnly\" BaseType=\"tns:NotificationData\" NoClassGeneration=\"true\" NoArraysAllowed=\"true\">\n    <Fields>\n      <Field Name=\"Status\" DataType=\"tns:StatusCode\" />\n      <Field Name=\"DiagnosticInfo\" DataType=\"tns:DiagnosticInfo\" />\n    </Fields>\n  </DataType>\n  <DataType SymbolicName=\"tns:SubscriptionAcknowledgement\" SymbolicId=\"tns:SubscriptionAcknowledgement\" PartNo=\"4\" NotInAddressSpace=\"true\" Purpose=\"ServicesOnly\" BaseType=\"tns:Structure\" NoClassGeneration=\"true\">\n    <Fields>\n      <Field Name=\"SubscriptionId\" DataType=\"tns:IntegerId\" />\n      <Field Name=\"SequenceNumber\" DataType=\"tns:Counter\" />\n    </Fields>\n  </DataType>\n  <DataType SymbolicName=\"tns:PublishRequest\" SymbolicId=\"tns:PublishRequest\" PartNo=\"4\" NotInAddressSpace=\"true\" Purpose=\"ServicesOnly\" BaseType=\"tns:Structure\" NoArraysAllowed=\"true\">\n    <Fields>\n      <Field Name=\"RequestHeader\" DataType=\"tns:RequestHeader\" />\n      <Field Name=\"SubscriptionAcknowledgements\" DataType=\"tns:SubscriptionAcknowledgement\" ValueRank=\"Array\" />\n    </Fields>\n  </DataType>\n  <DataType SymbolicName=\"tns:PublishResponse\" SymbolicId=\"tns:PublishResponse\" PartNo=\"4\" NotInAddressSpace=\"true\" Purpose=\"ServicesOnly\" BaseType=\"tns:Structure\" NoArraysAllowed=\"true\">\n    <Fields>\n      <Field Name=\"ResponseHeader\" DataType=\"tns:ResponseHeader\" />\n      <Field Name=\"SubscriptionId\" DataType=\"tns:IntegerId\" />\n      <Field Name=\"AvailableSequenceNumbers\" DataType=\"tns:Counter\" ValueRank=\"Array\" />\n      <Field Name=\"MoreNotifications\" DataType=\"tns:Boolean\" />\n      <Field Name=\"NotificationMessage\" DataType=\"tns:NotificationMessage\" />\n      <Field Name=\"Results\" DataType=\"tns:StatusCode\" ValueRank=\"Array\" />\n      <Field Name=\"DiagnosticInfos\" DataType=\"tns:DiagnosticInfo\" ValueRank=\"Array\" />\n    </Fields>\n  </DataType>\n  <DataType SymbolicName=\"tns:RepublishRequest\" SymbolicId=\"tns:RepublishRequest\" PartNo=\"4\" NotInAddressSpace=\"true\" Purpose=\"ServicesOnly\" BaseType=\"tns:Structure\" NoArraysAllowed=\"true\">\n    <Fields>\n      <Field Name=\"RequestHeader\" DataType=\"tns:RequestHeader\" />\n      <Field Name=\"SubscriptionId\" DataType=\"tns:IntegerId\" />\n      <Field Name=\"RetransmitSequenceNumber\" DataType=\"tns:Counter\" />\n    </Fields>\n  </DataType>\n  <DataType SymbolicName=\"tns:RepublishResponse\" SymbolicId=\"tns:RepublishResponse\" PartNo=\"4\" NotInAddressSpace=\"true\" Purpose=\"ServicesOnly\" BaseType=\"tns:Structure\" NoArraysAllowed=\"true\">\n    <Fields>\n      <Field Name=\"ResponseHeader\" DataType=\"tns:ResponseHeader\" />\n      <Field Name=\"NotificationMessage\" DataType=\"tns:NotificationMessage\" />\n    </Fields>\n  </DataType>\n  <DataType SymbolicName=\"tns:TransferResult\" SymbolicId=\"tns:TransferResult\" PartNo=\"4\" NotInAddressSpace=\"true\" Purpose=\"ServicesOnly\" BaseType=\"tns:Structure\" NoClassGeneration=\"true\">\n    <Fields>\n      <Field Name=\"StatusCode\" DataType=\"tns:StatusCode\" />\n      <Field Name=\"AvailableSequenceNumbers\" DataType=\"tns:Counter\" ValueRank=\"Array\" />\n    </Fields>\n  </DataType>\n  <DataType SymbolicName=\"tns:TransferSubscriptionsRequest\" SymbolicId=\"tns:TransferSubscriptionsRequest\" PartNo=\"4\" NotInAddressSpace=\"true\" Purpose=\"ServicesOnly\" BaseType=\"tns:Structure\" NoArraysAllowed=\"true\">\n    <Fields>\n      <Field Name=\"RequestHeader\" DataType=\"tns:RequestHeader\" />\n      <Field Name=\"SubscriptionIds\" DataType=\"tns:IntegerId\" ValueRank=\"Array\" />\n      <Field Name=\"SendInitialValues\" DataType=\"tns:Boolean\" />\n    </Fields>\n  </DataType>\n  <DataType SymbolicName=\"tns:TransferSubscriptionsResponse\" SymbolicId=\"tns:TransferSubscriptionsResponse\" PartNo=\"4\" NotInAddressSpace=\"true\" Purpose=\"ServicesOnly\" BaseType=\"tns:Structure\" NoArraysAllowed=\"true\">\n    <Fields>\n      <Field Name=\"ResponseHeader\" DataType=\"tns:ResponseHeader\" />\n      <Field Name=\"Results\" DataType=\"tns:TransferResult\" ValueRank=\"Array\" />\n      <Field Name=\"DiagnosticInfos\" DataType=\"tns:DiagnosticInfo\" ValueRank=\"Array\" />\n    </Fields>\n  </DataType>\n  <DataType SymbolicName=\"tns:DeleteSubscriptionsRequest\" SymbolicId=\"tns:DeleteSubscriptionsRequest\" PartNo=\"4\" NotInAddressSpace=\"true\" Purpose=\"ServicesOnly\" BaseType=\"tns:Structure\" NoArraysAllowed=\"true\">\n    <Fields>\n      <Field Name=\"RequestHeader\" DataType=\"tns:RequestHeader\" />\n      <Field Name=\"SubscriptionIds\" DataType=\"tns:IntegerId\" ValueRank=\"Array\" />\n    </Fields>\n  </DataType>\n  <DataType SymbolicName=\"tns:DeleteSubscriptionsResponse\" SymbolicId=\"tns:DeleteSubscriptionsResponse\" PartNo=\"4\" NotInAddressSpace=\"true\" Purpose=\"ServicesOnly\" BaseType=\"tns:Structure\" NoArraysAllowed=\"true\">\n    <Fields>\n      <Field Name=\"ResponseHeader\" DataType=\"tns:ResponseHeader\" />\n      <Field Name=\"Results\" DataType=\"tns:StatusCode\" ValueRank=\"Array\" />\n      <Field Name=\"DiagnosticInfos\" DataType=\"tns:DiagnosticInfo\" ValueRank=\"Array\" />\n    </Fields>\n  </DataType>\n  <DataType SymbolicName=\"tns:BuildInfo\" SymbolicId=\"tns:BuildInfo\" PartNo=\"5\" BaseType=\"tns:Structure\" NoArraysAllowed=\"true\">\n    <Fields>\n      <Field Name=\"ProductUri\" DataType=\"tns:String\" />\n      <Field Name=\"ManufacturerName\" DataType=\"tns:String\" />\n      <Field Name=\"ProductName\" DataType=\"tns:String\" />\n      <Field Name=\"SoftwareVersion\" DataType=\"tns:String\" />\n      <Field Name=\"BuildNumber\" DataType=\"tns:String\" />\n      <Field Name=\"BuildDate\" DataType=\"tns:UtcTime\" />\n    </Fields>\n  </DataType>\n  <DataType SymbolicName=\"tns:RedundancySupport\" SymbolicId=\"tns:RedundancySupport\" PartNo=\"5\" BaseType=\"tns:Enumeration\" NoArraysAllowed=\"true\">\n    <Fields>\n      <Field Name=\"None\" Identifier=\"0\" />\n      <Field Name=\"Cold\" Identifier=\"1\" />\n      <Field Name=\"Warm\" Identifier=\"2\" />\n      <Field Name=\"Hot\" Identifier=\"3\" />\n      <Field Name=\"Transparent\" Identifier=\"4\" />\n      <Field Name=\"HotAndMirrored\" Identifier=\"5\" />\n    </Fields>\n  </DataType>\n  <DataType SymbolicName=\"tns:ServerState\" SymbolicId=\"tns:ServerState\" PartNo=\"5\" BaseType=\"tns:Enumeration\" NoArraysAllowed=\"true\">\n    <Fields>\n      <Field Name=\"Running\" Identifier=\"0\" />\n      <Field Name=\"Failed\" Identifier=\"1\" />\n      <Field Name=\"NoConfiguration\" Identifier=\"2\" />\n      <Field Name=\"Suspended\" Identifier=\"3\" />\n      <Field Name=\"Shutdown\" Identifier=\"4\" />\n      <Field Name=\"Test\" Identifier=\"5\" />\n      <Field Name=\"CommunicationFault\" Identifier=\"6\" />\n      <Field Name=\"Unknown\" Identifier=\"7\" />\n    </Fields>\n  </DataType>\n  <DataType SymbolicName=\"tns:RedundantServerDataType\" SymbolicId=\"tns:RedundantServerDataType\" PartNo=\"5\" BaseType=\"tns:Structure\">\n    <Fields>\n      <Field Name=\"ServerId\" DataType=\"tns:String\" />\n      <Field Name=\"ServiceLevel\" DataType=\"tns:Byte\" />\n      <Field Name=\"ServerState\" DataType=\"tns:ServerState\" />\n    </Fields>\n  </DataType>\n  <DataType SymbolicName=\"tns:EndpointUrlListDataType\" SymbolicId=\"tns:EndpointUrlListDataType\" PartNo=\"5\" BaseType=\"tns:Structure\">\n    <Fields>\n      <Field Name=\"EndpointUrlList\" DataType=\"tns:String\" ValueRank=\"Array\" />\n    </Fields>\n  </DataType>\n  <DataType SymbolicName=\"tns:NetworkGroupDataType\" SymbolicId=\"tns:NetworkGroupDataType\" PartNo=\"5\" BaseType=\"tns:Structure\">\n    <Fields>\n      <Field Name=\"ServerUri\" DataType=\"tns:String\" />\n      <Field Name=\"NetworkPaths\" DataType=\"tns:EndpointUrlListDataType\" ValueRank=\"Array\" />\n    </Fields>\n  </DataType>\n  <DataType SymbolicName=\"tns:SamplingIntervalDiagnosticsDataType\" SymbolicId=\"tns:SamplingIntervalDiagnosticsDataType\" PartNo=\"5\" BaseType=\"tns:Structure\">\n    <Fields>\n      <Field Name=\"SamplingInterval\" DataType=\"tns:Duration\" />\n      <Field Name=\"MonitoredItemCount\" DataType=\"tns:UInt32\" />\n      <Field Name=\"MaxMonitoredItemCount\" DataType=\"tns:UInt32\" />\n      <Field Name=\"DisabledMonitoredItemCount\" DataType=\"tns:UInt32\" />\n    </Fields>\n  </DataType>\n  <DataType SymbolicName=\"tns:ServerDiagnosticsSummaryDataType\" SymbolicId=\"tns:ServerDiagnosticsSummaryDataType\" PartNo=\"5\" BaseType=\"tns:Structure\" NoArraysAllowed=\"true\">\n    <Fields>\n      <Field Name=\"ServerViewCount\" DataType=\"tns:UInt32\" />\n      <Field Name=\"CurrentSessionCount\" DataType=\"tns:UInt32\" />\n      <Field Name=\"CumulatedSessionCount\" DataType=\"tns:UInt32\" />\n      <Field Name=\"SecurityRejectedSessionCount\" DataType=\"tns:UInt32\" />\n      <Field Name=\"RejectedSessionCount\" DataType=\"tns:UInt32\" />\n      <Field Name=\"SessionTimeoutCount\" DataType=\"tns:UInt32\" />\n      <Field Name=\"SessionAbortCount\" DataType=\"tns:UInt32\" />\n      <Field Name=\"CurrentSubscriptionCount\" DataType=\"tns:UInt32\" />\n      <Field Name=\"CumulatedSubscriptionCount\" DataType=\"tns:UInt32\" />\n      <Field Name=\"PublishingIntervalCount\" DataType=\"tns:UInt32\" />\n      <Field Name=\"SecurityRejectedRequestsCount\" DataType=\"tns:UInt32\" />\n      <Field Name=\"RejectedRequestsCount\" DataType=\"tns:UInt32\" />\n    </Fields>\n  </DataType>\n  <DataType SymbolicName=\"tns:ServerStatusDataType\" SymbolicId=\"tns:ServerStatusDataType\" PartNo=\"5\" BaseType=\"tns:Structure\" NoArraysAllowed=\"true\">\n    <Fields>\n      <Field Name=\"StartTime\" DataType=\"tns:UtcTime\" />\n      <Field Name=\"CurrentTime\" DataType=\"tns:UtcTime\" />\n      <Field Name=\"State\" DataType=\"tns:ServerState\" />\n      <Field Name=\"BuildInfo\" DataType=\"tns:BuildInfo\" />\n      <Field Name=\"SecondsTillShutdown\" DataType=\"tns:UInt32\" />\n      <Field Name=\"ShutdownReason\" DataType=\"tns:LocalizedText\" />\n    </Fields>\n  </DataType>\n  <DataType SymbolicName=\"tns:SessionDiagnosticsDataType\" SymbolicId=\"tns:SessionDiagnosticsDataType\" PartNo=\"5\" BaseType=\"tns:Structure\">\n    <Fields>\n      <Field Name=\"SessionId\" DataType=\"tns:NodeId\" />\n      <Field Name=\"SessionName\" DataType=\"tns:String\" />\n      <Field Name=\"ClientDescription\" DataType=\"tns:ApplicationDescription\" />\n      <Field Name=\"ServerUri\" DataType=\"tns:String\" />\n      <Field Name=\"EndpointUrl\" DataType=\"tns:String\" />\n      <Field Name=\"LocaleIds\" DataType=\"tns:LocaleId\" ValueRank=\"Array\" />\n      <Field Name=\"ActualSessionTimeout\" DataType=\"tns:Duration\" />\n      <Field Name=\"MaxResponseMessageSize\" DataType=\"tns:UInt32\" />\n      <Field Name=\"ClientConnectionTime\" DataType=\"tns:UtcTime\" />\n      <Field Name=\"ClientLastContactTime\" DataType=\"tns:UtcTime\" />\n      <Field Name=\"CurrentSubscriptionsCount\" DataType=\"tns:UInt32\" />\n      <Field Name=\"CurrentMonitoredItemsCount\" DataType=\"tns:UInt32\" />\n      <Field Name=\"CurrentPublishRequestsInQueue\" DataType=\"tns:UInt32\" />\n      <Field Name=\"TotalRequestCount\" DataType=\"tns:ServiceCounterDataType\" />\n      <Field Name=\"UnauthorizedRequestCount\" DataType=\"tns:UInt32\" />\n      <Field Name=\"ReadCount\" DataType=\"tns:ServiceCounterDataType\" />\n      <Field Name=\"HistoryReadCount\" DataType=\"tns:ServiceCounterDataType\" />\n      <Field Name=\"WriteCount\" DataType=\"tns:ServiceCounterDataType\" />\n      <Field Name=\"HistoryUpdateCount\" DataType=\"tns:ServiceCounterDataType\" />\n      <Field Name=\"CallCount\" DataType=\"tns:ServiceCounterDataType\" />\n      <Field Name=\"CreateMonitoredItemsCount\" DataType=\"tns:ServiceCounterDataType\" />\n      <Field Name=\"ModifyMonitoredItemsCount\" DataType=\"tns:ServiceCounterDataType\" />\n      <Field Name=\"SetMonitoringModeCount\" DataType=\"tns:ServiceCounterDataType\" />\n      <Field Name=\"SetTriggeringCount\" DataType=\"tns:ServiceCounterDataType\" />\n      <Field Name=\"DeleteMonitoredItemsCount\" DataType=\"tns:ServiceCounterDataType\" />\n      <Field Name=\"CreateSubscriptionCount\" DataType=\"tns:ServiceCounterDataType\" />\n      <Field Name=\"ModifySubscriptionCount\" DataType=\"tns:ServiceCounterDataType\" />\n      <Field Name=\"SetPublishingModeCount\" DataType=\"tns:ServiceCounterDataType\" />\n      <Field Name=\"PublishCount\" DataType=\"tns:ServiceCounterDataType\" />\n      <Field Name=\"RepublishCount\" DataType=\"tns:ServiceCounterDataType\" />\n      <Field Name=\"TransferSubscriptionsCount\" DataType=\"tns:ServiceCounterDataType\" />\n      <Field Name=\"DeleteSubscriptionsCount\" DataType=\"tns:ServiceCounterDataType\" />\n      <Field Name=\"AddNodesCount\" DataType=\"tns:ServiceCounterDataType\" />\n      <Field Name=\"AddReferencesCount\" DataType=\"tns:ServiceCounterDataType\" />\n      <Field Name=\"DeleteNodesCount\" DataType=\"tns:ServiceCounterDataType\" />\n      <Field Name=\"DeleteReferencesCount\" DataType=\"tns:ServiceCounterDataType\" />\n      <Field Name=\"BrowseCount\" DataType=\"tns:ServiceCounterDataType\" />\n      <Field Name=\"BrowseNextCount\" DataType=\"tns:ServiceCounterDataType\" />\n      <Field Name=\"TranslateBrowsePathsToNodeIdsCount\" DataType=\"tns:ServiceCounterDataType\" />\n      <Field Name=\"QueryFirstCount\" DataType=\"tns:ServiceCounterDataType\" />\n      <Field Name=\"QueryNextCount\" DataType=\"tns:ServiceCounterDataType\" />\n      <Field Name=\"RegisterNodesCount\" DataType=\"tns:ServiceCounterDataType\" />\n      <Field Name=\"UnregisterNodesCount\" DataType=\"tns:ServiceCounterDataType\" />\n    </Fields>\n  </DataType>\n  <DataType SymbolicName=\"tns:SessionSecurityDiagnosticsDataType\" SymbolicId=\"tns:SessionSecurityDiagnosticsDataType\" PartNo=\"5\" BaseType=\"tns:Structure\">\n    <Fields>\n      <Field Name=\"SessionId\" DataType=\"tns:NodeId\" />\n      <Field Name=\"ClientUserIdOfSession\" DataType=\"tns:String\" />\n      <Field Name=\"ClientUserIdHistory\" DataType=\"tns:String\" ValueRank=\"Array\" />\n      <Field Name=\"AuthenticationMechanism\" DataType=\"tns:String\" />\n      <Field Name=\"Encoding\" DataType=\"tns:String\" />\n      <Field Name=\"TransportProtocol\" DataType=\"tns:String\" />\n      <Field Name=\"SecurityMode\" DataType=\"tns:MessageSecurityMode\" />\n      <Field Name=\"SecurityPolicyUri\" DataType=\"tns:String\" />\n      <Field Name=\"ClientCertificate\" DataType=\"tns:ByteString\" />\n    </Fields>\n  </DataType>\n  <DataType SymbolicName=\"tns:ServiceCounterDataType\" SymbolicId=\"tns:ServiceCounterDataType\" PartNo=\"5\" BaseType=\"tns:Structure\" NoArraysAllowed=\"true\">\n    <Fields>\n      <Field Name=\"TotalCount\" DataType=\"tns:UInt32\" />\n      <Field Name=\"ErrorCount\" DataType=\"tns:UInt32\" />\n    </Fields>\n  </DataType>\n  <DataType SymbolicName=\"tns:StatusResult\" SymbolicId=\"tns:StatusResult\" PartNo=\"5\" BaseType=\"tns:Structure\">\n    <Fields>\n      <Field Name=\"StatusCode\" DataType=\"tns:StatusCode\" />\n      <Field Name=\"DiagnosticInfo\" DataType=\"tns:DiagnosticInfo\" />\n    </Fields>\n  </DataType>\n  <DataType SymbolicName=\"tns:SubscriptionDiagnosticsDataType\" SymbolicId=\"tns:SubscriptionDiagnosticsDataType\" PartNo=\"5\" BaseType=\"tns:Structure\">\n    <Fields>\n      <Field Name=\"SessionId\" DataType=\"tns:NodeId\" />\n      <Field Name=\"SubscriptionId\" DataType=\"tns:UInt32\" />\n      <Field Name=\"Priority\" DataType=\"tns:Byte\" />\n      <Field Name=\"PublishingInterval\" DataType=\"tns:Duration\" />\n      <Field Name=\"MaxKeepAliveCount\" DataType=\"tns:UInt32\" />\n      <Field Name=\"MaxLifetimeCount\" DataType=\"tns:UInt32\" />\n      <Field Name=\"MaxNotificationsPerPublish\" DataType=\"tns:UInt32\" />\n      <Field Name=\"PublishingEnabled\" DataType=\"tns:Boolean\" />\n      <Field Name=\"ModifyCount\" DataType=\"tns:UInt32\" />\n      <Field Name=\"EnableCount\" DataType=\"tns:UInt32\" />\n      <Field Name=\"DisableCount\" DataType=\"tns:UInt32\" />\n      <Field Name=\"RepublishRequestCount\" DataType=\"tns:UInt32\" />\n      <Field Name=\"RepublishMessageRequestCount\" DataType=\"tns:UInt32\" />\n      <Field Name=\"RepublishMessageCount\" DataType=\"tns:UInt32\" />\n      <Field Name=\"TransferRequestCount\" DataType=\"tns:UInt32\" />\n      <Field Name=\"TransferredToAltClientCount\" DataType=\"tns:UInt32\" />\n      <Field Name=\"TransferredToSameClientCount\" DataType=\"tns:UInt32\" />\n      <Field Name=\"PublishRequestCount\" DataType=\"tns:UInt32\" />\n      <Field Name=\"DataChangeNotificationsCount\" DataType=\"tns:UInt32\" />\n      <Field Name=\"EventNotificationsCount\" DataType=\"tns:UInt32\" />\n      <Field Name=\"NotificationsCount\" DataType=\"tns:UInt32\" />\n      <Field Name=\"LatePublishRequestCount\" DataType=\"tns:UInt32\" />\n      <Field Name=\"CurrentKeepAliveCount\" DataType=\"tns:UInt32\" />\n      <Field Name=\"CurrentLifetimeCount\" DataType=\"tns:UInt32\" />\n      <Field Name=\"UnacknowledgedMessageCount\" DataType=\"tns:UInt32\" />\n      <Field Name=\"DiscardedMessageCount\" DataType=\"tns:UInt32\" />\n      <Field Name=\"MonitoredItemCount\" DataType=\"tns:UInt32\" />\n      <Field Name=\"DisabledMonitoredItemCount\" DataType=\"tns:UInt32\" />\n      <Field Name=\"MonitoringQueueOverflowCount\" DataType=\"tns:UInt32\" />\n      <Field Name=\"NextSequenceNumber\" DataType=\"tns:UInt32\" />\n      <Field Name=\"EventQueueOverFlowCount\" DataType=\"tns:UInt32\" />\n    </Fields>\n  </DataType>\n  <DataType SymbolicName=\"tns:ModelChangeStructureVerbMask\" SymbolicId=\"tns:ModelChangeStructureVerbMask\" PartNo=\"5\" NotInAddressSpace=\"true\" Purpose=\"ServicesOnly\" BaseType=\"tns:Enumeration\" NoClassGeneration=\"true\" NoArraysAllowed=\"true\">\n    <Fields>\n      <Field Name=\"NodeAdded\" Identifier=\"1\" />\n      <Field Name=\"NodeDeleted\" Identifier=\"2\" />\n      <Field Name=\"ReferenceAdded\" Identifier=\"4\" />\n      <Field Name=\"ReferenceDeleted\" Identifier=\"8\" />\n      <Field Name=\"DataTypeChanged\" Identifier=\"16\" />\n    </Fields>\n  </DataType>\n  <DataType SymbolicName=\"tns:ModelChangeStructureDataType\" SymbolicId=\"tns:ModelChangeStructureDataType\" PartNo=\"5\" BaseType=\"tns:Structure\">\n    <Fields>\n      <Field Name=\"Affected\" DataType=\"tns:NodeId\" />\n      <Field Name=\"AffectedType\" DataType=\"tns:NodeId\" />\n      <Field Name=\"Verb\" DataType=\"tns:Byte\" />\n    </Fields>\n  </DataType>\n  <DataType SymbolicName=\"tns:SemanticChangeStructureDataType\" SymbolicId=\"tns:SemanticChangeStructureDataType\" PartNo=\"5\" BaseType=\"tns:Structure\">\n    <Fields>\n      <Field Name=\"Affected\" DataType=\"tns:NodeId\" />\n      <Field Name=\"AffectedType\" DataType=\"tns:NodeId\" />\n    </Fields>\n  </DataType>\n  <DataType SymbolicName=\"tns:Range\" SymbolicId=\"tns:Range\" PartNo=\"8\" BaseType=\"tns:Structure\" NoArraysAllowed=\"true\">\n    <Fields>\n      <Field Name=\"Low\" DataType=\"tns:Double\" />\n      <Field Name=\"High\" DataType=\"tns:Double\" />\n    </Fields>\n  </DataType>\n  <DataType SymbolicName=\"tns:EUInformation\" SymbolicId=\"tns:EUInformation\" PartNo=\"8\" BaseType=\"tns:Structure\" NoArraysAllowed=\"true\">\n    <Fields>\n      <Field Name=\"NamespaceUri\" DataType=\"tns:String\" />\n      <Field Name=\"UnitId\" DataType=\"tns:Int32\" />\n      <Field Name=\"DisplayName\" DataType=\"tns:LocalizedText\" />\n      <Field Name=\"Description\" DataType=\"tns:LocalizedText\" />\n    </Fields>\n  </DataType>\n  <DataType SymbolicName=\"tns:AxisScaleEnumeration\" SymbolicId=\"tns:AxisScaleEnumeration\" PartNo=\"8\" BaseType=\"tns:Enumeration\" NoArraysAllowed=\"true\">\n    <Fields>\n      <Field Name=\"Linear\" Identifier=\"0\" />\n      <Field Name=\"Log\" Identifier=\"1\" />\n      <Field Name=\"Ln\" Identifier=\"2\" />\n    </Fields>\n  </DataType>\n  <DataType SymbolicName=\"tns:ComplexNumberType\" SymbolicId=\"tns:ComplexNumberType\" PartNo=\"8\" BaseType=\"tns:Structure\" NoArraysAllowed=\"true\">\n    <Fields>\n      <Field Name=\"Real\" DataType=\"tns:Float\" />\n      <Field Name=\"Imaginary\" DataType=\"tns:Float\" />\n    </Fields>\n  </DataType>\n  <DataType SymbolicName=\"tns:DoubleComplexNumberType\" SymbolicId=\"tns:DoubleComplexNumberType\" PartNo=\"8\" BaseType=\"tns:Structure\" NoArraysAllowed=\"true\">\n    <Fields>\n      <Field Name=\"Real\" DataType=\"tns:Double\" />\n      <Field Name=\"Imaginary\" DataType=\"tns:Double\" />\n    </Fields>\n  </DataType>\n  <DataType SymbolicName=\"tns:AxisInformation\" SymbolicId=\"tns:AxisInformation\" PartNo=\"8\" BaseType=\"tns:Structure\" NoArraysAllowed=\"true\">\n    <Fields>\n      <Field Name=\"EngineeringUnits\" DataType=\"tns:EUInformation\" />\n      <Field Name=\"EURange\" DataType=\"tns:Range\" />\n      <Field Name=\"Title\" DataType=\"tns:LocalizedText\" />\n      <Field Name=\"AxisScaleType\" DataType=\"tns:AxisScaleEnumeration\" />\n      <Field Name=\"AxisSteps\" DataType=\"tns:Double\" ValueRank=\"Array\" />\n    </Fields>\n  </DataType>\n  <DataType SymbolicName=\"tns:XVType\" SymbolicId=\"tns:XVType\" PartNo=\"8\" BaseType=\"tns:Structure\" NoArraysAllowed=\"true\">\n    <Fields>\n      <Field Name=\"X\" DataType=\"tns:Double\" />\n      <Field Name=\"Value\" DataType=\"tns:Float\" />\n    </Fields>\n  </DataType>\n  <DataType SymbolicName=\"tns:ProgramDiagnosticDataType\" SymbolicId=\"tns:ProgramDiagnosticDataType\" PartNo=\"10\" BaseType=\"tns:Structure\" NoArraysAllowed=\"true\">\n    <Fields>\n      <Field Name=\"CreateSessionId\" DataType=\"tns:NodeId\" />\n      <Field Name=\"CreateClientName\" DataType=\"tns:String\" />\n      <Field Name=\"InvocationCreationTime\" DataType=\"tns:UtcTime\" />\n      <Field Name=\"LastTransitionTime\" DataType=\"tns:UtcTime\" />\n      <Field Name=\"LastMethodCall\" DataType=\"tns:String\" />\n      <Field Name=\"LastMethodSessionId\" DataType=\"tns:NodeId\" />\n      <Field Name=\"LastMethodInputArguments\" DataType=\"tns:Argument\" ValueRank=\"Array\" />\n      <Field Name=\"LastMethodOutputArguments\" DataType=\"tns:Argument\" ValueRank=\"Array\" />\n      <Field Name=\"LastMethodCallTime\" DataType=\"tns:UtcTime\" />\n      <Field Name=\"LastMethodReturnStatus\" DataType=\"tns:StatusResult\" />\n    </Fields>\n  </DataType>\n  <DataType SymbolicName=\"tns:ProgramDiagnostic2DataType\" SymbolicId=\"tns:ProgramDiagnostic2DataType\" PartNo=\"10\" BaseType=\"tns:Structure\" NoArraysAllowed=\"true\">\n    <Fields>\n      <Field Name=\"CreateSessionId\" DataType=\"tns:NodeId\" />\n      <Field Name=\"CreateClientName\" DataType=\"tns:String\" />\n      <Field Name=\"InvocationCreationTime\" DataType=\"tns:UtcTime\" />\n      <Field Name=\"LastTransitionTime\" DataType=\"tns:UtcTime\" />\n      <Field Name=\"LastMethodCall\" DataType=\"tns:String\" />\n      <Field Name=\"LastMethodSessionId\" DataType=\"tns:NodeId\" />\n      <Field Name=\"LastMethodInputArguments\" DataType=\"tns:Argument\" ValueRank=\"Array\" />\n      <Field Name=\"LastMethodOutputArguments\" DataType=\"tns:Argument\" ValueRank=\"Array\" />\n      <Field Name=\"LastMethodInputValues\" DataType=\"tns:BaseDataType\" ValueRank=\"Array\" />\n      <Field Name=\"LastMethodOutputValues\" DataType=\"tns:BaseDataType\" ValueRank=\"Array\" />\n      <Field Name=\"LastMethodCallTime\" DataType=\"tns:UtcTime\" />\n      <Field Name=\"LastMethodReturnStatus\" DataType=\"tns:StatusCode\" />\n    </Fields>\n  </DataType>\n  <DataType SymbolicName=\"tns:Annotation\" SymbolicId=\"tns:Annotation\" PartNo=\"11\" BaseType=\"tns:Structure\" NoArraysAllowed=\"true\">\n    <Fields>\n      <Field Name=\"Message\" DataType=\"tns:String\" />\n      <Field Name=\"UserName\" DataType=\"tns:String\" />\n      <Field Name=\"AnnotationTime\" DataType=\"tns:UtcTime\" />\n    </Fields>\n  </DataType>\n  <DataType SymbolicName=\"tns:ExceptionDeviationFormat\" SymbolicId=\"tns:ExceptionDeviationFormat\" PartNo=\"11\" BaseType=\"tns:Enumeration\" NoArraysAllowed=\"true\">\n    <Fields>\n      <Field Name=\"AbsoluteValue\" Identifier=\"0\" />\n      <Field Name=\"PercentOfValue\" Identifier=\"1\" />\n      <Field Name=\"PercentOfRange\" Identifier=\"2\" />\n      <Field Name=\"PercentOfEURange\" Identifier=\"3\" />\n      <Field Name=\"Unknown\" Identifier=\"4\" />\n    </Fields>\n  </DataType>\n</ModelDesign>"
  },
  {
    "path": "SemanticData/UAModelDesignExport/XML/UA Model Design.cs",
    "content": "﻿//------------------------------------------------------------------------------\n// <auto-generated>\n//     This code was generated by a tool.\n//     Runtime Version:4.0.30319.42000\n//\n//     Changes to this file may cause incorrect behavior and will be lost if\n//     the code is regenerated.\n// </auto-generated>\n//------------------------------------------------------------------------------\n#pragma warning disable 1591\n\n// \n// This source code was auto-generated by xsd, Version=4.6.1055.0.\n// \nnamespace UAOOI.SemanticData.UAModelDesignExport.XML {\n    using System.Xml.Serialization;\n    \n    \n    /// <remarks/>\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"xsd\", \"4.6.1055.0\")]\n    [System.SerializableAttribute()]\n    [System.Diagnostics.DebuggerStepThroughAttribute()]\n    [System.ComponentModel.DesignerCategoryAttribute(\"code\")]\n    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace=\"http://opcfoundation.org/UA/ModelDesign.xsd\")]\n    [System.Xml.Serialization.XmlRootAttribute(Namespace=\"http://opcfoundation.org/UA/ModelDesign.xsd\", IsNullable=false)]\n    public partial class ModelDesign {\n        \n        private Namespace[] namespacesField;\n        \n        private NodeDesign[] itemsField;\n        \n        private string targetNamespaceField;\n        \n        private string targetVersionField;\n        \n        private System.DateTime targetPublicationDateField;\n        \n        private bool targetPublicationDateFieldSpecified;\n        \n        private string targetXmlNamespaceField;\n        \n        private string defaultLocaleField;\n        \n        private System.Xml.XmlAttribute[] anyAttrField;\n        \n        public ModelDesign() {\n            this.defaultLocaleField = \"en\";\n        }\n        \n        /// <remarks/>\n        [System.Xml.Serialization.XmlArrayItemAttribute(IsNullable=false)]\n        public Namespace[] Namespaces {\n            get {\n                return this.namespacesField;\n            }\n            set {\n                this.namespacesField = value;\n            }\n        }\n        \n        /// <remarks/>\n        [System.Xml.Serialization.XmlElementAttribute(\"DataType\", typeof(DataTypeDesign))]\n        [System.Xml.Serialization.XmlElementAttribute(\"Dictionary\", typeof(DictionaryDesign))]\n        [System.Xml.Serialization.XmlElementAttribute(\"Method\", typeof(MethodDesign))]\n        [System.Xml.Serialization.XmlElementAttribute(\"Object\", typeof(ObjectDesign))]\n        [System.Xml.Serialization.XmlElementAttribute(\"ObjectType\", typeof(ObjectTypeDesign))]\n        [System.Xml.Serialization.XmlElementAttribute(\"Property\", typeof(PropertyDesign))]\n        [System.Xml.Serialization.XmlElementAttribute(\"ReferenceType\", typeof(ReferenceTypeDesign))]\n        [System.Xml.Serialization.XmlElementAttribute(\"Variable\", typeof(VariableDesign))]\n        [System.Xml.Serialization.XmlElementAttribute(\"VariableType\", typeof(VariableTypeDesign))]\n        [System.Xml.Serialization.XmlElementAttribute(\"View\", typeof(ViewDesign))]\n        public NodeDesign[] Items {\n            get {\n                return this.itemsField;\n            }\n            set {\n                this.itemsField = value;\n            }\n        }\n        \n        /// <remarks/>\n        [System.Xml.Serialization.XmlAttributeAttribute()]\n        public string TargetNamespace {\n            get {\n                return this.targetNamespaceField;\n            }\n            set {\n                this.targetNamespaceField = value;\n            }\n        }\n        \n        /// <remarks/>\n        [System.Xml.Serialization.XmlAttributeAttribute()]\n        public string TargetVersion {\n            get {\n                return this.targetVersionField;\n            }\n            set {\n                this.targetVersionField = value;\n            }\n        }\n        \n        /// <remarks/>\n        [System.Xml.Serialization.XmlAttributeAttribute()]\n        public System.DateTime TargetPublicationDate {\n            get {\n                return this.targetPublicationDateField;\n            }\n            set {\n                this.targetPublicationDateField = value;\n            }\n        }\n        \n        /// <remarks/>\n        [System.Xml.Serialization.XmlIgnoreAttribute()]\n        public bool TargetPublicationDateSpecified {\n            get {\n                return this.targetPublicationDateFieldSpecified;\n            }\n            set {\n                this.targetPublicationDateFieldSpecified = value;\n            }\n        }\n        \n        /// <remarks/>\n        [System.Xml.Serialization.XmlAttributeAttribute()]\n        public string TargetXmlNamespace {\n            get {\n                return this.targetXmlNamespaceField;\n            }\n            set {\n                this.targetXmlNamespaceField = value;\n            }\n        }\n        \n        /// <remarks/>\n        [System.Xml.Serialization.XmlAttributeAttribute()]\n        [System.ComponentModel.DefaultValueAttribute(\"en\")]\n        public string DefaultLocale {\n            get {\n                return this.defaultLocaleField;\n            }\n            set {\n                this.defaultLocaleField = value;\n            }\n        }\n        \n        /// <remarks/>\n        [System.Xml.Serialization.XmlAnyAttributeAttribute()]\n        public System.Xml.XmlAttribute[] AnyAttr {\n            get {\n                return this.anyAttrField;\n            }\n            set {\n                this.anyAttrField = value;\n            }\n        }\n    }\n    \n    /// <remarks/>\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"xsd\", \"4.6.1055.0\")]\n    [System.SerializableAttribute()]\n    [System.Diagnostics.DebuggerStepThroughAttribute()]\n    [System.ComponentModel.DesignerCategoryAttribute(\"code\")]\n    [System.Xml.Serialization.XmlTypeAttribute(Namespace=\"http://opcfoundation.org/UA/ModelDesign.xsd\")]\n    public partial class Namespace {\n        \n        private string nameField;\n        \n        private string prefixField;\n        \n        private string internalPrefixField;\n        \n        private string xmlNamespaceField;\n        \n        private string xmlPrefixField;\n        \n        private string filePathField;\n        \n        private string versionField;\n        \n        private string publicationDateField;\n        \n        private string valueField;\n        \n        /// <remarks/>\n        [System.Xml.Serialization.XmlAttributeAttribute()]\n        public string Name {\n            get {\n                return this.nameField;\n            }\n            set {\n                this.nameField = value;\n            }\n        }\n        \n        /// <remarks/>\n        [System.Xml.Serialization.XmlAttributeAttribute()]\n        public string Prefix {\n            get {\n                return this.prefixField;\n            }\n            set {\n                this.prefixField = value;\n            }\n        }\n        \n        /// <remarks/>\n        [System.Xml.Serialization.XmlAttributeAttribute()]\n        public string InternalPrefix {\n            get {\n                return this.internalPrefixField;\n            }\n            set {\n                this.internalPrefixField = value;\n            }\n        }\n        \n        /// <remarks/>\n        [System.Xml.Serialization.XmlAttributeAttribute()]\n        public string XmlNamespace {\n            get {\n                return this.xmlNamespaceField;\n            }\n            set {\n                this.xmlNamespaceField = value;\n            }\n        }\n        \n        /// <remarks/>\n        [System.Xml.Serialization.XmlAttributeAttribute()]\n        public string XmlPrefix {\n            get {\n                return this.xmlPrefixField;\n            }\n            set {\n                this.xmlPrefixField = value;\n            }\n        }\n        \n        /// <remarks/>\n        [System.Xml.Serialization.XmlAttributeAttribute()]\n        public string FilePath {\n            get {\n                return this.filePathField;\n            }\n            set {\n                this.filePathField = value;\n            }\n        }\n        \n        /// <remarks/>\n        [System.Xml.Serialization.XmlAttributeAttribute()]\n        public string Version {\n            get {\n                return this.versionField;\n            }\n            set {\n                this.versionField = value;\n            }\n        }\n        \n        /// <remarks/>\n        [System.Xml.Serialization.XmlAttributeAttribute()]\n        public string PublicationDate {\n            get {\n                return this.publicationDateField;\n            }\n            set {\n                this.publicationDateField = value;\n            }\n        }\n        \n        /// <remarks/>\n        [System.Xml.Serialization.XmlTextAttribute()]\n        public string Value {\n            get {\n                return this.valueField;\n            }\n            set {\n                this.valueField = value;\n            }\n        }\n    }\n    \n    /// <remarks/>\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"xsd\", \"4.6.1055.0\")]\n    [System.SerializableAttribute()]\n    [System.Diagnostics.DebuggerStepThroughAttribute()]\n    [System.ComponentModel.DesignerCategoryAttribute(\"code\")]\n    [System.Xml.Serialization.XmlTypeAttribute(Namespace=\"http://opcfoundation.org/UA/ModelDesign.xsd\")]\n    public partial class Reference {\n        \n        private System.Xml.XmlQualifiedName referenceTypeField;\n        \n        private System.Xml.XmlQualifiedName targetIdField;\n        \n        private bool isInverseField;\n        \n        private bool isOneWayField;\n        \n        public Reference() {\n            this.isInverseField = false;\n            this.isOneWayField = false;\n        }\n        \n        /// <remarks/>\n        public System.Xml.XmlQualifiedName ReferenceType {\n            get {\n                return this.referenceTypeField;\n            }\n            set {\n                this.referenceTypeField = value;\n            }\n        }\n        \n        /// <remarks/>\n        public System.Xml.XmlQualifiedName TargetId {\n            get {\n                return this.targetIdField;\n            }\n            set {\n                this.targetIdField = value;\n            }\n        }\n        \n        /// <remarks/>\n        [System.Xml.Serialization.XmlAttributeAttribute()]\n        [System.ComponentModel.DefaultValueAttribute(false)]\n        public bool IsInverse {\n            get {\n                return this.isInverseField;\n            }\n            set {\n                this.isInverseField = value;\n            }\n        }\n        \n        /// <remarks/>\n        [System.Xml.Serialization.XmlAttributeAttribute()]\n        [System.ComponentModel.DefaultValueAttribute(false)]\n        public bool IsOneWay {\n            get {\n                return this.isOneWayField;\n            }\n            set {\n                this.isOneWayField = value;\n            }\n        }\n    }\n    \n    /// <remarks/>\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"xsd\", \"4.6.1055.0\")]\n    [System.SerializableAttribute()]\n    [System.Diagnostics.DebuggerStepThroughAttribute()]\n    [System.ComponentModel.DesignerCategoryAttribute(\"code\")]\n    [System.Xml.Serialization.XmlTypeAttribute(Namespace=\"http://opcfoundation.org/UA/ModelDesign.xsd\")]\n    public partial class Parameter {\n        \n        private LocalizedText descriptionField;\n        \n        private string nameField;\n        \n        private int identifierField;\n        \n        private bool identifierFieldSpecified;\n        \n        private string bitMaskField;\n        \n        private System.Xml.XmlQualifiedName dataTypeField;\n        \n        private ValueRank valueRankField;\n        \n        private string arrayDimensionsField;\n        \n        public Parameter() {\n            this.valueRankField = ValueRank.Scalar;\n        }\n        \n        /// <remarks/>\n        public LocalizedText Description {\n            get {\n                return this.descriptionField;\n            }\n            set {\n                this.descriptionField = value;\n            }\n        }\n        \n        /// <remarks/>\n        [System.Xml.Serialization.XmlAttributeAttribute()]\n        public string Name {\n            get {\n                return this.nameField;\n            }\n            set {\n                this.nameField = value;\n            }\n        }\n        \n        /// <remarks/>\n        [System.Xml.Serialization.XmlAttributeAttribute()]\n        public int Identifier {\n            get {\n                return this.identifierField;\n            }\n            set {\n                this.identifierField = value;\n            }\n        }\n        \n        /// <remarks/>\n        [System.Xml.Serialization.XmlIgnoreAttribute()]\n        public bool IdentifierSpecified {\n            get {\n                return this.identifierFieldSpecified;\n            }\n            set {\n                this.identifierFieldSpecified = value;\n            }\n        }\n        \n        /// <remarks/>\n        [System.Xml.Serialization.XmlAttributeAttribute()]\n        public string BitMask {\n            get {\n                return this.bitMaskField;\n            }\n            set {\n                this.bitMaskField = value;\n            }\n        }\n        \n        /// <remarks/>\n        [System.Xml.Serialization.XmlAttributeAttribute()]\n        public System.Xml.XmlQualifiedName DataType {\n            get {\n                return this.dataTypeField;\n            }\n            set {\n                this.dataTypeField = value;\n            }\n        }\n        \n        /// <remarks/>\n        [System.Xml.Serialization.XmlAttributeAttribute()]\n        [System.ComponentModel.DefaultValueAttribute(ValueRank.Scalar)]\n        public ValueRank ValueRank {\n            get {\n                return this.valueRankField;\n            }\n            set {\n                this.valueRankField = value;\n            }\n        }\n        \n        /// <remarks/>\n        [System.Xml.Serialization.XmlAttributeAttribute()]\n        public string ArrayDimensions {\n            get {\n                return this.arrayDimensionsField;\n            }\n            set {\n                this.arrayDimensionsField = value;\n            }\n        }\n    }\n    \n    /// <remarks/>\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"xsd\", \"4.6.1055.0\")]\n    [System.SerializableAttribute()]\n    [System.Diagnostics.DebuggerStepThroughAttribute()]\n    [System.ComponentModel.DesignerCategoryAttribute(\"code\")]\n    [System.Xml.Serialization.XmlTypeAttribute(Namespace=\"http://opcfoundation.org/UA/ModelDesign.xsd\")]\n    public partial class LocalizedText {\n        \n        private string keyField;\n        \n        private string valueField;\n        \n        public LocalizedText() {\n            this.keyField = \"\";\n        }\n        \n        /// <remarks/>\n        [System.Xml.Serialization.XmlAttributeAttribute()]\n        [System.ComponentModel.DefaultValueAttribute(\"\")]\n        public string Key {\n            get {\n                return this.keyField;\n            }\n            set {\n                this.keyField = value;\n            }\n        }\n        \n        /// <remarks/>\n        [System.Xml.Serialization.XmlTextAttribute()]\n        public string Value {\n            get {\n                return this.valueField;\n            }\n            set {\n                this.valueField = value;\n            }\n        }\n    }\n    \n    /// <remarks/>\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"xsd\", \"4.6.1055.0\")]\n    [System.SerializableAttribute()]\n    [System.Xml.Serialization.XmlTypeAttribute(Namespace=\"http://opcfoundation.org/UA/ModelDesign.xsd\")]\n    public enum ValueRank {\n        \n        /// <remarks/>\n        Scalar,\n        \n        /// <remarks/>\n        Array,\n        \n        /// <remarks/>\n        ScalarOrArray,\n        \n        /// <remarks/>\n        OneOrMoreDimensions,\n    }\n    \n    /// <remarks/>\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"xsd\", \"4.6.1055.0\")]\n    [System.SerializableAttribute()]\n    [System.Diagnostics.DebuggerStepThroughAttribute()]\n    [System.ComponentModel.DesignerCategoryAttribute(\"code\")]\n    [System.Xml.Serialization.XmlTypeAttribute(Namespace=\"http://opcfoundation.org/UA/ModelDesign.xsd\")]\n    public partial class ListOfChildren {\n        \n        private InstanceDesign[] itemsField;\n        \n        /// <remarks/>\n        [System.Xml.Serialization.XmlElementAttribute(\"Method\", typeof(MethodDesign))]\n        [System.Xml.Serialization.XmlElementAttribute(\"Object\", typeof(ObjectDesign))]\n        [System.Xml.Serialization.XmlElementAttribute(\"Property\", typeof(PropertyDesign))]\n        [System.Xml.Serialization.XmlElementAttribute(\"Variable\", typeof(VariableDesign))]\n        public InstanceDesign[] Items {\n            get {\n                return this.itemsField;\n            }\n            set {\n                this.itemsField = value;\n            }\n        }\n    }\n    \n    /// <remarks/>\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"xsd\", \"4.6.1055.0\")]\n    [System.SerializableAttribute()]\n    [System.Diagnostics.DebuggerStepThroughAttribute()]\n    [System.ComponentModel.DesignerCategoryAttribute(\"code\")]\n    [System.Xml.Serialization.XmlTypeAttribute(Namespace=\"http://opcfoundation.org/UA/ModelDesign.xsd\")]\n    public partial class MethodDesign : InstanceDesign {\n        \n        private Parameter[] inputArgumentsField;\n        \n        private Parameter[] outputArgumentsField;\n        \n        private bool nonExecutableField;\n        \n        private bool nonExecutableFieldSpecified;\n        \n        /// <remarks/>\n        [System.Xml.Serialization.XmlArrayItemAttribute(\"Argument\", IsNullable=false)]\n        public Parameter[] InputArguments {\n            get {\n                return this.inputArgumentsField;\n            }\n            set {\n                this.inputArgumentsField = value;\n            }\n        }\n        \n        /// <remarks/>\n        [System.Xml.Serialization.XmlArrayItemAttribute(\"Argument\", IsNullable=false)]\n        public Parameter[] OutputArguments {\n            get {\n                return this.outputArgumentsField;\n            }\n            set {\n                this.outputArgumentsField = value;\n            }\n        }\n        \n        /// <remarks/>\n        [System.Xml.Serialization.XmlAttributeAttribute()]\n        public bool NonExecutable {\n            get {\n                return this.nonExecutableField;\n            }\n            set {\n                this.nonExecutableField = value;\n            }\n        }\n        \n        /// <remarks/>\n        [System.Xml.Serialization.XmlIgnoreAttribute()]\n        public bool NonExecutableSpecified {\n            get {\n                return this.nonExecutableFieldSpecified;\n            }\n            set {\n                this.nonExecutableFieldSpecified = value;\n            }\n        }\n    }\n    \n    /// <remarks/>\n    [System.Xml.Serialization.XmlIncludeAttribute(typeof(MethodDesign))]\n    [System.Xml.Serialization.XmlIncludeAttribute(typeof(VariableDesign))]\n    [System.Xml.Serialization.XmlIncludeAttribute(typeof(DictionaryDesign))]\n    [System.Xml.Serialization.XmlIncludeAttribute(typeof(PropertyDesign))]\n    [System.Xml.Serialization.XmlIncludeAttribute(typeof(ObjectDesign))]\n    [System.Xml.Serialization.XmlIncludeAttribute(typeof(EncodingDesign))]\n    [System.Xml.Serialization.XmlIncludeAttribute(typeof(ViewDesign))]\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"xsd\", \"4.6.1055.0\")]\n    [System.SerializableAttribute()]\n    [System.Diagnostics.DebuggerStepThroughAttribute()]\n    [System.ComponentModel.DesignerCategoryAttribute(\"code\")]\n    [System.Xml.Serialization.XmlTypeAttribute(Namespace=\"http://opcfoundation.org/UA/ModelDesign.xsd\")]\n    public partial class InstanceDesign : NodeDesign {\n        \n        private System.Xml.XmlQualifiedName referenceTypeField;\n        \n        private System.Xml.XmlQualifiedName declarationField;\n        \n        private System.Xml.XmlQualifiedName typeDefinitionField;\n        \n        private ModellingRule modellingRuleField;\n        \n        private bool modellingRuleFieldSpecified;\n        \n        private uint minCardinalityField;\n        \n        private uint maxCardinalityField;\n        \n        private bool preserveDefaultAttributesField;\n        \n        public InstanceDesign() {\n            this.minCardinalityField = ((uint)(0));\n            this.maxCardinalityField = ((uint)(0));\n            this.preserveDefaultAttributesField = false;\n        }\n        \n        /// <remarks/>\n        public System.Xml.XmlQualifiedName ReferenceType {\n            get {\n                return this.referenceTypeField;\n            }\n            set {\n                this.referenceTypeField = value;\n            }\n        }\n        \n        /// <remarks/>\n        [System.Xml.Serialization.XmlAttributeAttribute()]\n        public System.Xml.XmlQualifiedName Declaration {\n            get {\n                return this.declarationField;\n            }\n            set {\n                this.declarationField = value;\n            }\n        }\n        \n        /// <remarks/>\n        [System.Xml.Serialization.XmlAttributeAttribute()]\n        public System.Xml.XmlQualifiedName TypeDefinition {\n            get {\n                return this.typeDefinitionField;\n            }\n            set {\n                this.typeDefinitionField = value;\n            }\n        }\n        \n        /// <remarks/>\n        [System.Xml.Serialization.XmlAttributeAttribute()]\n        public ModellingRule ModellingRule {\n            get {\n                return this.modellingRuleField;\n            }\n            set {\n                this.modellingRuleField = value;\n            }\n        }\n        \n        /// <remarks/>\n        [System.Xml.Serialization.XmlIgnoreAttribute()]\n        public bool ModellingRuleSpecified {\n            get {\n                return this.modellingRuleFieldSpecified;\n            }\n            set {\n                this.modellingRuleFieldSpecified = value;\n            }\n        }\n        \n        /// <remarks/>\n        [System.Xml.Serialization.XmlAttributeAttribute()]\n        [System.ComponentModel.DefaultValueAttribute(typeof(uint), \"0\")]\n        public uint MinCardinality {\n            get {\n                return this.minCardinalityField;\n            }\n            set {\n                this.minCardinalityField = value;\n            }\n        }\n        \n        /// <remarks/>\n        [System.Xml.Serialization.XmlAttributeAttribute()]\n        [System.ComponentModel.DefaultValueAttribute(typeof(uint), \"0\")]\n        public uint MaxCardinality {\n            get {\n                return this.maxCardinalityField;\n            }\n            set {\n                this.maxCardinalityField = value;\n            }\n        }\n        \n        /// <remarks/>\n        [System.Xml.Serialization.XmlAttributeAttribute()]\n        [System.ComponentModel.DefaultValueAttribute(false)]\n        public bool PreserveDefaultAttributes {\n            get {\n                return this.preserveDefaultAttributesField;\n            }\n            set {\n                this.preserveDefaultAttributesField = value;\n            }\n        }\n    }\n    \n    /// <remarks/>\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"xsd\", \"4.6.1055.0\")]\n    [System.SerializableAttribute()]\n    [System.Xml.Serialization.XmlTypeAttribute(Namespace=\"http://opcfoundation.org/UA/ModelDesign.xsd\")]\n    public enum ModellingRule {\n        \n        /// <remarks/>\n        None,\n        \n        /// <remarks/>\n        Mandatory,\n        \n        /// <remarks/>\n        Optional,\n        \n        /// <remarks/>\n        ExposesItsArray,\n        \n        /// <remarks/>\n        CardinalityRestriction,\n        \n        /// <remarks/>\n        MandatoryShared,\n        \n        /// <remarks/>\n        OptionalPlaceholder,\n        \n        /// <remarks/>\n        MandatoryPlaceholder,\n    }\n    \n    /// <remarks/>\n    [System.Xml.Serialization.XmlIncludeAttribute(typeof(TypeDesign))]\n    [System.Xml.Serialization.XmlIncludeAttribute(typeof(ReferenceTypeDesign))]\n    [System.Xml.Serialization.XmlIncludeAttribute(typeof(DataTypeDesign))]\n    [System.Xml.Serialization.XmlIncludeAttribute(typeof(VariableTypeDesign))]\n    [System.Xml.Serialization.XmlIncludeAttribute(typeof(ObjectTypeDesign))]\n    [System.Xml.Serialization.XmlIncludeAttribute(typeof(InstanceDesign))]\n    [System.Xml.Serialization.XmlIncludeAttribute(typeof(MethodDesign))]\n    [System.Xml.Serialization.XmlIncludeAttribute(typeof(VariableDesign))]\n    [System.Xml.Serialization.XmlIncludeAttribute(typeof(DictionaryDesign))]\n    [System.Xml.Serialization.XmlIncludeAttribute(typeof(PropertyDesign))]\n    [System.Xml.Serialization.XmlIncludeAttribute(typeof(ObjectDesign))]\n    [System.Xml.Serialization.XmlIncludeAttribute(typeof(EncodingDesign))]\n    [System.Xml.Serialization.XmlIncludeAttribute(typeof(ViewDesign))]\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"xsd\", \"4.6.1055.0\")]\n    [System.SerializableAttribute()]\n    [System.Diagnostics.DebuggerStepThroughAttribute()]\n    [System.ComponentModel.DesignerCategoryAttribute(\"code\")]\n    [System.Xml.Serialization.XmlTypeAttribute(Namespace=\"http://opcfoundation.org/UA/ModelDesign.xsd\")]\n    public partial class NodeDesign {\n        \n        private string browseNameField;\n        \n        private LocalizedText displayNameField;\n        \n        private LocalizedText descriptionField;\n        \n        private ListOfChildren childrenField;\n        \n        private Reference[] referencesField;\n        \n        private System.Xml.XmlQualifiedName symbolicNameField;\n        \n        private System.Xml.XmlQualifiedName symbolicIdField;\n        \n        private bool isDeclarationField;\n        \n        private uint numericIdField;\n        \n        private bool numericIdFieldSpecified;\n        \n        private string stringIdField;\n        \n        private uint writeAccessField;\n        \n        private uint partNoField;\n        \n        private string categoryField;\n        \n        private bool notInAddressSpaceField;\n        \n        private ReleaseStatus releaseStatusField;\n        \n        private DataTypePurpose purposeField;\n        \n        public NodeDesign() {\n            this.isDeclarationField = false;\n            this.writeAccessField = ((uint)(0));\n            this.partNoField = ((uint)(0));\n            this.categoryField = \"\";\n            this.notInAddressSpaceField = false;\n            this.releaseStatusField = ReleaseStatus.Released;\n            this.purposeField = DataTypePurpose.Normal;\n        }\n        \n        /// <remarks/>\n        public string BrowseName {\n            get {\n                return this.browseNameField;\n            }\n            set {\n                this.browseNameField = value;\n            }\n        }\n        \n        /// <remarks/>\n        public LocalizedText DisplayName {\n            get {\n                return this.displayNameField;\n            }\n            set {\n                this.displayNameField = value;\n            }\n        }\n        \n        /// <remarks/>\n        public LocalizedText Description {\n            get {\n                return this.descriptionField;\n            }\n            set {\n                this.descriptionField = value;\n            }\n        }\n        \n        /// <remarks/>\n        public ListOfChildren Children {\n            get {\n                return this.childrenField;\n            }\n            set {\n                this.childrenField = value;\n            }\n        }\n        \n        /// <remarks/>\n        [System.Xml.Serialization.XmlArrayItemAttribute(IsNullable=false)]\n        public Reference[] References {\n            get {\n                return this.referencesField;\n            }\n            set {\n                this.referencesField = value;\n            }\n        }\n        \n        /// <remarks/>\n        [System.Xml.Serialization.XmlAttributeAttribute()]\n        public System.Xml.XmlQualifiedName SymbolicName {\n            get {\n                return this.symbolicNameField;\n            }\n            set {\n                this.symbolicNameField = value;\n            }\n        }\n        \n        /// <remarks/>\n        [System.Xml.Serialization.XmlAttributeAttribute()]\n        public System.Xml.XmlQualifiedName SymbolicId {\n            get {\n                return this.symbolicIdField;\n            }\n            set {\n                this.symbolicIdField = value;\n            }\n        }\n        \n        /// <remarks/>\n        [System.Xml.Serialization.XmlAttributeAttribute()]\n        [System.ComponentModel.DefaultValueAttribute(false)]\n        public bool IsDeclaration {\n            get {\n                return this.isDeclarationField;\n            }\n            set {\n                this.isDeclarationField = value;\n            }\n        }\n        \n        /// <remarks/>\n        [System.Xml.Serialization.XmlAttributeAttribute()]\n        public uint NumericId {\n            get {\n                return this.numericIdField;\n            }\n            set {\n                this.numericIdField = value;\n            }\n        }\n        \n        /// <remarks/>\n        [System.Xml.Serialization.XmlIgnoreAttribute()]\n        public bool NumericIdSpecified {\n            get {\n                return this.numericIdFieldSpecified;\n            }\n            set {\n                this.numericIdFieldSpecified = value;\n            }\n        }\n        \n        /// <remarks/>\n        [System.Xml.Serialization.XmlAttributeAttribute()]\n        public string StringId {\n            get {\n                return this.stringIdField;\n            }\n            set {\n                this.stringIdField = value;\n            }\n        }\n        \n        /// <remarks/>\n        [System.Xml.Serialization.XmlAttributeAttribute()]\n        [System.ComponentModel.DefaultValueAttribute(typeof(uint), \"0\")]\n        public uint WriteAccess {\n            get {\n                return this.writeAccessField;\n            }\n            set {\n                this.writeAccessField = value;\n            }\n        }\n        \n        /// <remarks/>\n        [System.Xml.Serialization.XmlAttributeAttribute()]\n        [System.ComponentModel.DefaultValueAttribute(typeof(uint), \"0\")]\n        public uint PartNo {\n            get {\n                return this.partNoField;\n            }\n            set {\n                this.partNoField = value;\n            }\n        }\n        \n        /// <remarks/>\n        [System.Xml.Serialization.XmlAttributeAttribute()]\n        [System.ComponentModel.DefaultValueAttribute(\"\")]\n        public string Category {\n            get {\n                return this.categoryField;\n            }\n            set {\n                this.categoryField = value;\n            }\n        }\n        \n        /// <remarks/>\n        [System.Xml.Serialization.XmlAttributeAttribute()]\n        [System.ComponentModel.DefaultValueAttribute(false)]\n        public bool NotInAddressSpace {\n            get {\n                return this.notInAddressSpaceField;\n            }\n            set {\n                this.notInAddressSpaceField = value;\n            }\n        }\n        \n        /// <remarks/>\n        [System.Xml.Serialization.XmlAttributeAttribute()]\n        [System.ComponentModel.DefaultValueAttribute(ReleaseStatus.Released)]\n        public ReleaseStatus ReleaseStatus {\n            get {\n                return this.releaseStatusField;\n            }\n            set {\n                this.releaseStatusField = value;\n            }\n        }\n        \n        /// <remarks/>\n        [System.Xml.Serialization.XmlAttributeAttribute()]\n        [System.ComponentModel.DefaultValueAttribute(DataTypePurpose.Normal)]\n        public DataTypePurpose Purpose {\n            get {\n                return this.purposeField;\n            }\n            set {\n                this.purposeField = value;\n            }\n        }\n    }\n    \n    /// <remarks/>\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"xsd\", \"4.6.1055.0\")]\n    [System.SerializableAttribute()]\n    [System.Xml.Serialization.XmlTypeAttribute(Namespace=\"http://opcfoundation.org/UA/ModelDesign.xsd\")]\n    public enum ReleaseStatus {\n        \n        /// <remarks/>\n        Released,\n        \n        /// <remarks/>\n        Draft,\n        \n        /// <remarks/>\n        Deprecated,\n    }\n    \n    /// <remarks/>\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"xsd\", \"4.6.1055.0\")]\n    [System.SerializableAttribute()]\n    [System.Xml.Serialization.XmlTypeAttribute(Namespace=\"http://opcfoundation.org/UA/ModelDesign.xsd\")]\n    public enum DataTypePurpose {\n        \n        /// <remarks/>\n        Normal,\n        \n        /// <remarks/>\n        ServicesOnly,\n        \n        /// <remarks/>\n        CodeGenerator,\n    }\n    \n    /// <remarks/>\n    [System.Xml.Serialization.XmlIncludeAttribute(typeof(ReferenceTypeDesign))]\n    [System.Xml.Serialization.XmlIncludeAttribute(typeof(DataTypeDesign))]\n    [System.Xml.Serialization.XmlIncludeAttribute(typeof(VariableTypeDesign))]\n    [System.Xml.Serialization.XmlIncludeAttribute(typeof(ObjectTypeDesign))]\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"xsd\", \"4.6.1055.0\")]\n    [System.SerializableAttribute()]\n    [System.Diagnostics.DebuggerStepThroughAttribute()]\n    [System.ComponentModel.DesignerCategoryAttribute(\"code\")]\n    [System.Xml.Serialization.XmlTypeAttribute(Namespace=\"http://opcfoundation.org/UA/ModelDesign.xsd\")]\n    public partial class TypeDesign : NodeDesign {\n        \n        private string classNameField;\n        \n        private System.Xml.XmlQualifiedName baseTypeField;\n        \n        private bool isAbstractField;\n        \n        private bool noClassGenerationField;\n        \n        public TypeDesign() {\n            this.isAbstractField = false;\n            this.noClassGenerationField = false;\n        }\n        \n        /// <remarks/>\n        public string ClassName {\n            get {\n                return this.classNameField;\n            }\n            set {\n                this.classNameField = value;\n            }\n        }\n        \n        /// <remarks/>\n        [System.Xml.Serialization.XmlAttributeAttribute()]\n        public System.Xml.XmlQualifiedName BaseType {\n            get {\n                return this.baseTypeField;\n            }\n            set {\n                this.baseTypeField = value;\n            }\n        }\n        \n        /// <remarks/>\n        [System.Xml.Serialization.XmlAttributeAttribute()]\n        [System.ComponentModel.DefaultValueAttribute(false)]\n        public bool IsAbstract {\n            get {\n                return this.isAbstractField;\n            }\n            set {\n                this.isAbstractField = value;\n            }\n        }\n        \n        /// <remarks/>\n        [System.Xml.Serialization.XmlAttributeAttribute()]\n        [System.ComponentModel.DefaultValueAttribute(false)]\n        public bool NoClassGeneration {\n            get {\n                return this.noClassGenerationField;\n            }\n            set {\n                this.noClassGenerationField = value;\n            }\n        }\n    }\n    \n    /// <remarks/>\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"xsd\", \"4.6.1055.0\")]\n    [System.SerializableAttribute()]\n    [System.Diagnostics.DebuggerStepThroughAttribute()]\n    [System.ComponentModel.DesignerCategoryAttribute(\"code\")]\n    [System.Xml.Serialization.XmlTypeAttribute(Namespace=\"http://opcfoundation.org/UA/ModelDesign.xsd\")]\n    public partial class ReferenceTypeDesign : TypeDesign {\n        \n        private LocalizedText inverseNameField;\n        \n        private bool symmetricField;\n        \n        private bool symmetricFieldSpecified;\n        \n        /// <remarks/>\n        public LocalizedText InverseName {\n            get {\n                return this.inverseNameField;\n            }\n            set {\n                this.inverseNameField = value;\n            }\n        }\n        \n        /// <remarks/>\n        [System.Xml.Serialization.XmlAttributeAttribute()]\n        public bool Symmetric {\n            get {\n                return this.symmetricField;\n            }\n            set {\n                this.symmetricField = value;\n            }\n        }\n        \n        /// <remarks/>\n        [System.Xml.Serialization.XmlIgnoreAttribute()]\n        public bool SymmetricSpecified {\n            get {\n                return this.symmetricFieldSpecified;\n            }\n            set {\n                this.symmetricFieldSpecified = value;\n            }\n        }\n    }\n    \n    /// <remarks/>\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"xsd\", \"4.6.1055.0\")]\n    [System.SerializableAttribute()]\n    [System.Diagnostics.DebuggerStepThroughAttribute()]\n    [System.ComponentModel.DesignerCategoryAttribute(\"code\")]\n    [System.Xml.Serialization.XmlTypeAttribute(Namespace=\"http://opcfoundation.org/UA/ModelDesign.xsd\")]\n    public partial class DataTypeDesign : TypeDesign {\n        \n        private Parameter[] fieldsField;\n        \n        private EncodingDesign[] encodingsField;\n        \n        private bool isOptionSetField;\n        \n        private bool noArraysAllowedField;\n        \n        public DataTypeDesign() {\n            this.isOptionSetField = false;\n            this.noArraysAllowedField = false;\n        }\n        \n        /// <remarks/>\n        [System.Xml.Serialization.XmlArrayItemAttribute(\"Field\", IsNullable=false)]\n        public Parameter[] Fields {\n            get {\n                return this.fieldsField;\n            }\n            set {\n                this.fieldsField = value;\n            }\n        }\n        \n        /// <remarks/>\n        [System.Xml.Serialization.XmlArrayItemAttribute(\"Encoding\", IsNullable=false)]\n        public EncodingDesign[] Encodings {\n            get {\n                return this.encodingsField;\n            }\n            set {\n                this.encodingsField = value;\n            }\n        }\n        \n        /// <remarks/>\n        [System.Xml.Serialization.XmlAttributeAttribute()]\n        [System.ComponentModel.DefaultValueAttribute(false)]\n        public bool IsOptionSet {\n            get {\n                return this.isOptionSetField;\n            }\n            set {\n                this.isOptionSetField = value;\n            }\n        }\n        \n        /// <remarks/>\n        [System.Xml.Serialization.XmlAttributeAttribute()]\n        [System.ComponentModel.DefaultValueAttribute(false)]\n        public bool NoArraysAllowed {\n            get {\n                return this.noArraysAllowedField;\n            }\n            set {\n                this.noArraysAllowedField = value;\n            }\n        }\n    }\n    \n    /// <remarks/>\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"xsd\", \"4.6.1055.0\")]\n    [System.SerializableAttribute()]\n    [System.Diagnostics.DebuggerStepThroughAttribute()]\n    [System.ComponentModel.DesignerCategoryAttribute(\"code\")]\n    [System.Xml.Serialization.XmlTypeAttribute(Namespace=\"http://opcfoundation.org/UA/ModelDesign.xsd\")]\n    public partial class EncodingDesign : ObjectDesign {\n    }\n    \n    /// <remarks/>\n    [System.Xml.Serialization.XmlIncludeAttribute(typeof(EncodingDesign))]\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"xsd\", \"4.6.1055.0\")]\n    [System.SerializableAttribute()]\n    [System.Diagnostics.DebuggerStepThroughAttribute()]\n    [System.ComponentModel.DesignerCategoryAttribute(\"code\")]\n    [System.Xml.Serialization.XmlTypeAttribute(Namespace=\"http://opcfoundation.org/UA/ModelDesign.xsd\")]\n    public partial class ObjectDesign : InstanceDesign {\n        \n        private bool supportsEventsField;\n        \n        private bool supportsEventsFieldSpecified;\n        \n        /// <remarks/>\n        [System.Xml.Serialization.XmlAttributeAttribute()]\n        public bool SupportsEvents {\n            get {\n                return this.supportsEventsField;\n            }\n            set {\n                this.supportsEventsField = value;\n            }\n        }\n        \n        /// <remarks/>\n        [System.Xml.Serialization.XmlIgnoreAttribute()]\n        public bool SupportsEventsSpecified {\n            get {\n                return this.supportsEventsFieldSpecified;\n            }\n            set {\n                this.supportsEventsFieldSpecified = value;\n            }\n        }\n    }\n    \n    /// <remarks/>\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"xsd\", \"4.6.1055.0\")]\n    [System.SerializableAttribute()]\n    [System.Diagnostics.DebuggerStepThroughAttribute()]\n    [System.ComponentModel.DesignerCategoryAttribute(\"code\")]\n    [System.Xml.Serialization.XmlTypeAttribute(Namespace=\"http://opcfoundation.org/UA/ModelDesign.xsd\")]\n    public partial class VariableTypeDesign : TypeDesign {\n        \n        private System.Xml.XmlElement defaultValueField;\n        \n        private System.Xml.XmlQualifiedName dataTypeField;\n        \n        private ValueRank valueRankField;\n        \n        private bool valueRankFieldSpecified;\n        \n        private string arrayDimensionsField;\n        \n        private AccessLevel accessLevelField;\n        \n        private bool accessLevelFieldSpecified;\n        \n        private int minimumSamplingIntervalField;\n        \n        private bool minimumSamplingIntervalFieldSpecified;\n        \n        private bool historizingField;\n        \n        private bool historizingFieldSpecified;\n        \n        private bool exposesItsChildrenField;\n        \n        public VariableTypeDesign() {\n            this.exposesItsChildrenField = false;\n        }\n        \n        /// <remarks/>\n        public System.Xml.XmlElement DefaultValue {\n            get {\n                return this.defaultValueField;\n            }\n            set {\n                this.defaultValueField = value;\n            }\n        }\n        \n        /// <remarks/>\n        [System.Xml.Serialization.XmlAttributeAttribute()]\n        public System.Xml.XmlQualifiedName DataType {\n            get {\n                return this.dataTypeField;\n            }\n            set {\n                this.dataTypeField = value;\n            }\n        }\n        \n        /// <remarks/>\n        [System.Xml.Serialization.XmlAttributeAttribute()]\n        public ValueRank ValueRank {\n            get {\n                return this.valueRankField;\n            }\n            set {\n                this.valueRankField = value;\n            }\n        }\n        \n        /// <remarks/>\n        [System.Xml.Serialization.XmlIgnoreAttribute()]\n        public bool ValueRankSpecified {\n            get {\n                return this.valueRankFieldSpecified;\n            }\n            set {\n                this.valueRankFieldSpecified = value;\n            }\n        }\n        \n        /// <remarks/>\n        [System.Xml.Serialization.XmlAttributeAttribute()]\n        public string ArrayDimensions {\n            get {\n                return this.arrayDimensionsField;\n            }\n            set {\n                this.arrayDimensionsField = value;\n            }\n        }\n        \n        /// <remarks/>\n        [System.Xml.Serialization.XmlAttributeAttribute()]\n        public AccessLevel AccessLevel {\n            get {\n                return this.accessLevelField;\n            }\n            set {\n                this.accessLevelField = value;\n            }\n        }\n        \n        /// <remarks/>\n        [System.Xml.Serialization.XmlIgnoreAttribute()]\n        public bool AccessLevelSpecified {\n            get {\n                return this.accessLevelFieldSpecified;\n            }\n            set {\n                this.accessLevelFieldSpecified = value;\n            }\n        }\n        \n        /// <remarks/>\n        [System.Xml.Serialization.XmlAttributeAttribute()]\n        public int MinimumSamplingInterval {\n            get {\n                return this.minimumSamplingIntervalField;\n            }\n            set {\n                this.minimumSamplingIntervalField = value;\n            }\n        }\n        \n        /// <remarks/>\n        [System.Xml.Serialization.XmlIgnoreAttribute()]\n        public bool MinimumSamplingIntervalSpecified {\n            get {\n                return this.minimumSamplingIntervalFieldSpecified;\n            }\n            set {\n                this.minimumSamplingIntervalFieldSpecified = value;\n            }\n        }\n        \n        /// <remarks/>\n        [System.Xml.Serialization.XmlAttributeAttribute()]\n        public bool Historizing {\n            get {\n                return this.historizingField;\n            }\n            set {\n                this.historizingField = value;\n            }\n        }\n        \n        /// <remarks/>\n        [System.Xml.Serialization.XmlIgnoreAttribute()]\n        public bool HistorizingSpecified {\n            get {\n                return this.historizingFieldSpecified;\n            }\n            set {\n                this.historizingFieldSpecified = value;\n            }\n        }\n        \n        /// <remarks/>\n        [System.Xml.Serialization.XmlAttributeAttribute()]\n        [System.ComponentModel.DefaultValueAttribute(false)]\n        public bool ExposesItsChildren {\n            get {\n                return this.exposesItsChildrenField;\n            }\n            set {\n                this.exposesItsChildrenField = value;\n            }\n        }\n    }\n    \n    /// <remarks/>\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"xsd\", \"4.6.1055.0\")]\n    [System.SerializableAttribute()]\n    [System.Xml.Serialization.XmlTypeAttribute(Namespace=\"http://opcfoundation.org/UA/ModelDesign.xsd\")]\n    public enum AccessLevel {\n        \n        /// <remarks/>\n        None,\n        \n        /// <remarks/>\n        Read,\n        \n        /// <remarks/>\n        Write,\n        \n        /// <remarks/>\n        ReadWrite,\n        \n        /// <remarks/>\n        HistoryRead,\n        \n        /// <remarks/>\n        HistoryWrite,\n        \n        /// <remarks/>\n        HistoryReadWrite,\n    }\n    \n    /// <remarks/>\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"xsd\", \"4.6.1055.0\")]\n    [System.SerializableAttribute()]\n    [System.Diagnostics.DebuggerStepThroughAttribute()]\n    [System.ComponentModel.DesignerCategoryAttribute(\"code\")]\n    [System.Xml.Serialization.XmlTypeAttribute(Namespace=\"http://opcfoundation.org/UA/ModelDesign.xsd\")]\n    public partial class ObjectTypeDesign : TypeDesign {\n        \n        private bool supportsEventsField;\n        \n        private bool supportsEventsFieldSpecified;\n        \n        /// <remarks/>\n        [System.Xml.Serialization.XmlAttributeAttribute()]\n        public bool SupportsEvents {\n            get {\n                return this.supportsEventsField;\n            }\n            set {\n                this.supportsEventsField = value;\n            }\n        }\n        \n        /// <remarks/>\n        [System.Xml.Serialization.XmlIgnoreAttribute()]\n        public bool SupportsEventsSpecified {\n            get {\n                return this.supportsEventsFieldSpecified;\n            }\n            set {\n                this.supportsEventsFieldSpecified = value;\n            }\n        }\n    }\n    \n    /// <remarks/>\n    [System.Xml.Serialization.XmlIncludeAttribute(typeof(DictionaryDesign))]\n    [System.Xml.Serialization.XmlIncludeAttribute(typeof(PropertyDesign))]\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"xsd\", \"4.6.1055.0\")]\n    [System.SerializableAttribute()]\n    [System.Diagnostics.DebuggerStepThroughAttribute()]\n    [System.ComponentModel.DesignerCategoryAttribute(\"code\")]\n    [System.Xml.Serialization.XmlTypeAttribute(Namespace=\"http://opcfoundation.org/UA/ModelDesign.xsd\")]\n    public partial class VariableDesign : InstanceDesign {\n        \n        private System.Xml.XmlElement defaultValueField;\n        \n        private System.Xml.XmlQualifiedName dataTypeField;\n        \n        private ValueRank valueRankField;\n        \n        private bool valueRankFieldSpecified;\n        \n        private string arrayDimensionsField;\n        \n        private AccessLevel accessLevelField;\n        \n        private bool accessLevelFieldSpecified;\n        \n        private int minimumSamplingIntervalField;\n        \n        private bool minimumSamplingIntervalFieldSpecified;\n        \n        private bool historizingField;\n        \n        private bool historizingFieldSpecified;\n        \n        /// <remarks/>\n        public System.Xml.XmlElement DefaultValue {\n            get {\n                return this.defaultValueField;\n            }\n            set {\n                this.defaultValueField = value;\n            }\n        }\n        \n        /// <remarks/>\n        [System.Xml.Serialization.XmlAttributeAttribute()]\n        public System.Xml.XmlQualifiedName DataType {\n            get {\n                return this.dataTypeField;\n            }\n            set {\n                this.dataTypeField = value;\n            }\n        }\n        \n        /// <remarks/>\n        [System.Xml.Serialization.XmlAttributeAttribute()]\n        public ValueRank ValueRank {\n            get {\n                return this.valueRankField;\n            }\n            set {\n                this.valueRankField = value;\n            }\n        }\n        \n        /// <remarks/>\n        [System.Xml.Serialization.XmlIgnoreAttribute()]\n        public bool ValueRankSpecified {\n            get {\n                return this.valueRankFieldSpecified;\n            }\n            set {\n                this.valueRankFieldSpecified = value;\n            }\n        }\n        \n        /// <remarks/>\n        [System.Xml.Serialization.XmlAttributeAttribute()]\n        public string ArrayDimensions {\n            get {\n                return this.arrayDimensionsField;\n            }\n            set {\n                this.arrayDimensionsField = value;\n            }\n        }\n        \n        /// <remarks/>\n        [System.Xml.Serialization.XmlAttributeAttribute()]\n        public AccessLevel AccessLevel {\n            get {\n                return this.accessLevelField;\n            }\n            set {\n                this.accessLevelField = value;\n            }\n        }\n        \n        /// <remarks/>\n        [System.Xml.Serialization.XmlIgnoreAttribute()]\n        public bool AccessLevelSpecified {\n            get {\n                return this.accessLevelFieldSpecified;\n            }\n            set {\n                this.accessLevelFieldSpecified = value;\n            }\n        }\n        \n        /// <remarks/>\n        [System.Xml.Serialization.XmlAttributeAttribute()]\n        public int MinimumSamplingInterval {\n            get {\n                return this.minimumSamplingIntervalField;\n            }\n            set {\n                this.minimumSamplingIntervalField = value;\n            }\n        }\n        \n        /// <remarks/>\n        [System.Xml.Serialization.XmlIgnoreAttribute()]\n        public bool MinimumSamplingIntervalSpecified {\n            get {\n                return this.minimumSamplingIntervalFieldSpecified;\n            }\n            set {\n                this.minimumSamplingIntervalFieldSpecified = value;\n            }\n        }\n        \n        /// <remarks/>\n        [System.Xml.Serialization.XmlAttributeAttribute()]\n        public bool Historizing {\n            get {\n                return this.historizingField;\n            }\n            set {\n                this.historizingField = value;\n            }\n        }\n        \n        /// <remarks/>\n        [System.Xml.Serialization.XmlIgnoreAttribute()]\n        public bool HistorizingSpecified {\n            get {\n                return this.historizingFieldSpecified;\n            }\n            set {\n                this.historizingFieldSpecified = value;\n            }\n        }\n    }\n    \n    /// <remarks/>\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"xsd\", \"4.6.1055.0\")]\n    [System.SerializableAttribute()]\n    [System.Diagnostics.DebuggerStepThroughAttribute()]\n    [System.ComponentModel.DesignerCategoryAttribute(\"code\")]\n    [System.Xml.Serialization.XmlTypeAttribute(Namespace=\"http://opcfoundation.org/UA/ModelDesign.xsd\")]\n    public partial class DictionaryDesign : VariableDesign {\n        \n        private System.Xml.XmlQualifiedName encodingNameField;\n        \n        /// <remarks/>\n        [System.Xml.Serialization.XmlAttributeAttribute()]\n        public System.Xml.XmlQualifiedName EncodingName {\n            get {\n                return this.encodingNameField;\n            }\n            set {\n                this.encodingNameField = value;\n            }\n        }\n    }\n    \n    /// <remarks/>\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"xsd\", \"4.6.1055.0\")]\n    [System.SerializableAttribute()]\n    [System.Diagnostics.DebuggerStepThroughAttribute()]\n    [System.ComponentModel.DesignerCategoryAttribute(\"code\")]\n    [System.Xml.Serialization.XmlTypeAttribute(Namespace=\"http://opcfoundation.org/UA/ModelDesign.xsd\")]\n    public partial class PropertyDesign : VariableDesign {\n    }\n    \n    /// <remarks/>\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"xsd\", \"4.6.1055.0\")]\n    [System.SerializableAttribute()]\n    [System.Diagnostics.DebuggerStepThroughAttribute()]\n    [System.ComponentModel.DesignerCategoryAttribute(\"code\")]\n    [System.Xml.Serialization.XmlTypeAttribute(Namespace=\"http://opcfoundation.org/UA/ModelDesign.xsd\")]\n    public partial class ViewDesign : InstanceDesign {\n        \n        private bool supportsEventsField;\n        \n        private bool containsNoLoopsField;\n        \n        public ViewDesign() {\n            this.supportsEventsField = false;\n            this.containsNoLoopsField = false;\n        }\n        \n        /// <remarks/>\n        [System.Xml.Serialization.XmlAttributeAttribute()]\n        [System.ComponentModel.DefaultValueAttribute(false)]\n        public bool SupportsEvents {\n            get {\n                return this.supportsEventsField;\n            }\n            set {\n                this.supportsEventsField = value;\n            }\n        }\n        \n        /// <remarks/>\n        [System.Xml.Serialization.XmlAttributeAttribute()]\n        [System.ComponentModel.DefaultValueAttribute(false)]\n        public bool ContainsNoLoops {\n            get {\n                return this.containsNoLoopsField;\n            }\n            set {\n                this.containsNoLoopsField = value;\n            }\n        }\n    }\n}\n\n#pragma warning restore 1591"
  },
  {
    "path": "SemanticData/UAModelDesignExport/XML/UA Model Design.md",
    "content": "# UA Model Design Semantics\n\n## `ModelDesign`\n\nThe root element for the information model. This scheme allows information model designers to define UA types and instances in a machine readable form. This definition can be used to generate code and documentation.\n\nThe file is expected to contain a number of types and their instance declarations. Objects which are unique in the address space can also be defined.\n\nA validator is available verify consistency of the model generator and to create suitable values or optional information. Once the design is validated it can be passed to a generator which creates different types of code or documentation.\n\nThis XSD File contains comments describing the available scheme for defining models. The comments provide an explanation of the scheme, they do not explain the concept that is being model. It is assumed that the designer is familiar with these concepts via the UA specifications.\n\nA XML file used for generating a model must start with a  Model definition. The below list is a list of the valid constructs where each construct map to a model concept in UA definition using these construct must be assigned to a UA namespace, by the use of the TargetNamespace attribute, they can further be assigned to an XML namespace and have a default Locale assigned.\n\n## `NamespaceTable`\n\nThis defines the namespaces used in the model. Each namespace listed should also have a namespace prefix defined in the `xs:schema` element. The order of the namespaces is significant and used to assigned a numeric index to namespaces when they are used in BrowsePaths specified in the ModelDesign.\n\n## `Namespace` element\n\nDefines a single namespace along with identifiers for the namespace. The following table contains an explanation of the attributes.\n\n| Attribute         | description |\n| ---------         | ----------- |\n|`Name`             | A symbolic name for the namespace that can be used as a variable name. The Name is used to create a program constant for the URL.|\n|`Prefix`           | The .NET namespace used for the classes produced by the generator. The `Prefix` is the C# namespace that qualifies the generated types.\n|`InternalPrefix`   | The .NET namespace used for classes that are only used within a server application. The `InternalPrefix` is an optional C# namespace that qualifies the generated types used only by the server.\n|`XmlNamespace`     | The URI for the XML namespace to which the data types belong if it is different from the URI for the model namespace.\n|`XmlPrefix`        | The prefix to be used in the XML file for the XML namespace to which the data types belong. Used only XmlNamespace is set.\n|`FilePath`         | The path to the file containing the design file for the namespace.\n| `Version`         | no description\n| `PublicationDate` | no description\n\n## NodeDesign\n\nThe base type of all node designs.\n\n## BrowseName\n\nThe BrowseName is the name used in the information model. The validator will create the BrowseName automatically from the SymbolicName. The BrowseName is qualified by the namespace used for the SymbolicName.\n\n## DisplayName\n\nThe DisplayName human readable name for the Node. This element includes an optional key that can be used to look up the display name for other locales in a resource DB. The validator automatically creates the DisplayName from the BrowseName.\n\n## Description\n\nThe Description the value of the Description attribute for the Node. This element includes an optional key that can be used to look up the Description for other locales in a resource DB. The validator automatically creates a generic Description from the BrowseName and NodeClass.\n\n## Children\n\nThe Children are the Properties or Components of a Node.\n\n## References\n\nThe References specify additional references from the Node. These references may refer to other children of the same Node or children of other Nodes defined in the ModelDesign.\n\n## SymbolicName\n\nThe SymbolicName identifies the Node within the the ModelDesign or within the containing Node. The SymbolicName should always be specified. It is used to create the BrowseName and SymbolicId if they are not specified.\n\n## SymbolicId\n\nThe SymbolicId is a globally unique identifier for the Node. The validator will create the SymbolicId automatically from the SymbolicName if it is not specified.\n\n## IsDeclaration\n\nThe `IsDeclaration` flag indicates that the Node is defined elsewhere and no code will be generated. Nodes that are declarations do not need to be completely defined. They only need to have the information required to generate code for nodes that reference it (e.g. the BaseType).\n\n## NumericId\n\nThe `NumericId` specifies the unique numeric id for the Node. It is filled in automatically by reading a CSV file containing the `SymbolicIds` and an associated UInt32. The validator will automatically assign a unique id if no CSV input is provided.\n\nThe `NumericId` or `StringId` are combined with the `Namespace` used for the SymbolicId to create the well known UA NodeId for the Node. The generator will create programmatic constants that can be used to reference the Node in code.\n\n## StringId\n\nThe StringId is an alternate unique identifer for the node. It is used instead of the NumericId if it is specified in the CSV input file.\n\n## WriteAccess\n\nThe bit mask which indicates which attributes are writeable.\n\n## PartNo\n\nThe part that defines the node.\n\n## Category\n\nA coma separated list of categories assigned to the node (e.g. Part4/Services or Part5/StateMachines).\n\n## TypeDesign\n\nA base type for all Type Nodes (ObjectType, VariableType, DataType and ReferenceType).\n\n### ClassName\n\nThis is the name for the instance of the type. If not specified the validator creates it by removing the 'Type' suffix from the SymbolicName for the Node.\n\n### BaseType\n\nThe SymbolicId for the BaseType.\n\n### IsAbstract\n\nWhether the Type is abstract.\n\n### NoClassGeneration\n\nWhether to suppress class generation for the type.\n\n## ObjectTypeDesign\n\n`ObjectTypes` define structure of an Object in the information model.\n\n## VariableTypeDesign\n\nVariableTypes define structure of a Variable in the information model.\n\n## DataTypeDesign\n\nDataTypes define structure of a Value for Variables in the information model.\n\n## ReferenceTypeDesign\n\nReferenceType define typed references between Nodes.\n\n## InstanceDesign\n\nA base type for all Instance Nodes (Object, Variable, and Method).\n\n## ViewDesign\n\nA View Node.\n\n### SupportsEvents\n\nWhether the View generates events.\n\n### ContainsNoLoops\n\nSpecifies that the View contains a non-looping hierarchy.\n\n## ObjectDesign\n\nDefines the structure of an Object in the information model.\n\n## VariableDesign\n\nDefines the structure of a Variable in the information model.\n\n## MethodDesign\n\nDefines the a Method in the information model.\n\n## PropertyDesign\n\nDefines a Variable which is a Property for a Node.\n\n## EncodingDesign\n\nDefines an `Object` which is a `DataTypeEncoding` for a `DataType`.\n\n## DictionaryDesign\n\nDefines an Variable which is a DataTypeDictionary.\n\n## Reference\n\nDefines a reference between two nodes.\n\nThe SourceId is the `SymbolicId` of the Node that contains the Reference.<html:br />\n\nThe SourcePath and TargetPath are RelativePaths specified using the syntax defined in Part 4. The order of the Namespaces defined in the Namespaces element is used to determine the namespace index used in the RelativePaths.\n\n## Parameter\n\nDefines a Field in a DataType or Argument of a Method.\n"
  },
  {
    "path": "SemanticData/UAModelDesignExport/XML/UA Model Design.xsd",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\" ?>\n<xs:schema\n  targetNamespace=\"http://opcfoundation.org/UA/ModelDesign.xsd\"\n  elementFormDefault=\"qualified\"\n  xmlns=\"http://opcfoundation.org/UA/ModelDesign.xsd\"\n  xmlns:mstns=\"http://opcfoundation.org/UA/ModelDesign.xsd\"\n  xmlns:xs=\"http://www.w3.org/2001/XMLSchema\"\n  xmlns:html=\"http://www.w3.org/1999/xhtml\"\n>\n  <xs:element name=\"ModelDesign\">\n    <xs:annotation>\n      <xs:documentation>\n        <html:p>\n        The root element for the information model.<html:br />\n\n        This scheme allows information modellers to defined UA type in a machine readable form. This\n        definition can be used to generate code and documentation.<html:br />\n\n        The file is expected to contain a number of types and their instance declarations. Objects which are\n        unique in the address space can also be defined.<html:br />\n\n        A validator is available verify consistancy of the model generator and to create suitable values\n        for optional information. Once the design is validated it can be passed to a generator which\n        creates different types of code or documentation.<html:br />\n\n        This XSD File contains comments describing the available scheme for defining models.  the comments\n        provide an explination of the scheme, they do not explain the concept that is being model.  It is assumed\n        that the modeller is familur with thiese concepts via the UA specifications.\n\n        A XML file used for generating a model must start with a  Model definition\n        The below list is a list of the valid constructs where each construct map to a model concept in UA\n        definition using these construct must be assigned to a UA namespace, by the use of the TargetNamespace\n        attribute, they can further be assigned to an XML namespace and have a default Locale assigned.\n\n        </html:p>\n      </xs:documentation>\n    </xs:annotation>\n    <xs:complexType>\n      <xs:sequence>\n        <xs:element name=\"Namespaces\" type=\"NamespaceTable\" minOccurs=\"0\" />\n        <xs:choice minOccurs=\"0\" maxOccurs=\"unbounded\">\n          <xs:element name=\"ObjectType\" type=\"ObjectTypeDesign\" minOccurs=\"0\" />\n          <xs:element name=\"VariableType\" type=\"VariableTypeDesign\" minOccurs=\"0\" />\n          <xs:element name=\"ReferenceType\" type=\"ReferenceTypeDesign\" minOccurs=\"0\" />\n          <xs:element name=\"DataType\" type=\"DataTypeDesign\" minOccurs=\"0\" />\n          <xs:element name=\"Method\" type=\"MethodDesign\" minOccurs=\"0\" />\n          <xs:element name=\"Object\" type=\"ObjectDesign\" minOccurs=\"0\" />\n          <xs:element name=\"Variable\" type=\"VariableDesign\" minOccurs=\"0\" />\n          <xs:element name=\"Property\" type=\"PropertyDesign\" minOccurs=\"0\" />\n          <xs:element name=\"Dictionary\" type=\"DictionaryDesign\" minOccurs=\"0\" />\n          <xs:element name=\"View\" type=\"ViewDesign\" minOccurs=\"0\" />\n        </xs:choice>\n      </xs:sequence>\n      <xs:attribute name=\"TargetNamespace\" type=\"xs:string\" use=\"required\" />\n      <xs:attribute name=\"TargetVersion\" type=\"xs:string\" use=\"optional\" />\n      <xs:attribute name=\"TargetPublicationDate\" type=\"xs:dateTime\" use=\"optional\" />\n      <xs:attribute name=\"TargetXmlNamespace\" type=\"xs:string\" use=\"optional\" />\n      <xs:attribute name=\"DefaultLocale\" type=\"xs:string\" use=\"optional\" default=\"en\" />\n      <xs:anyAttribute processContents=\"lax\" />\n    </xs:complexType>\n  </xs:element>\n\n  <xs:complexType name=\"NamespaceTable\">\n    <xs:annotation>\n      <xs:documentation>\n        <html:p>\n        This defines the namespaces used in the model.<html:br />\n\n        Each namespace listed should also have a namespace prefix defined in the xs:schema element.<html:br />\n\n        The order of the namespaces is significant and used to assigned a numeric index to namespaces when\n        they are used in BrowsePaths specified in the ModelDesign.\n        </html:p>\n      </xs:documentation>\n    </xs:annotation>\n    <xs:sequence>\n      <xs:element name=\"Namespace\" type=\"Namespace\" minOccurs=\"0\" maxOccurs=\"unbounded\" />\n    </xs:sequence>\n  </xs:complexType>\n\n  <xs:complexType name=\"Namespace\">\n    <xs:annotation>\n      <xs:documentation>\n        <html:p>\n          Defines a single namespace along with identifiers for the namespace.<html:br />\n\n          The Name is used to create a progam constant for the URL.<html:br />\n\n          The Prefix is the C# namespace which qualifies the generated types.<html:br />\n\n          The InternalPrefix is an optional C# namespace which qualifies the generated types\n          used only by the server.<html:br />\n\n          The XmlNamespace is <html:br />\n\n          The FilePath is <html:br />\n\n        </html:p>\n      </xs:documentation>\n    </xs:annotation>\n    <xs:simpleContent>\n      <xs:extension base=\"xs:string\">\n        <xs:attribute name=\"Name\" type=\"xs:string\" use=\"optional\">\n          <xs:annotation>\n            <xs:documentation>\n              A symbolic name for the namespace that can used as a variable name.\n            </xs:documentation>\n          </xs:annotation>\n        </xs:attribute>\n        <xs:attribute name=\"Prefix\" type=\"xs:string\" use=\"optional\">\n          <xs:annotation>\n            <xs:documentation>\n              The .NET namespace used for the classes produced by the generator.\n            </xs:documentation>\n          </xs:annotation>\n        </xs:attribute>\n        <xs:attribute name=\"InternalPrefix\" type=\"xs:string\" use=\"optional\">\n          <xs:annotation>\n            <xs:documentation>\n              The .NET namespace used for classes that are only used within a server application.\n            </xs:documentation>\n          </xs:annotation>\n        </xs:attribute>\n        <xs:attribute name=\"XmlNamespace\" type=\"xs:string\" use=\"optional\">\n          <xs:annotation>\n            <xs:documentation>\n              The URI for the XML namespace which the data types belong to if it is different from the URI for the model namespace.\n            </xs:documentation>\n          </xs:annotation>\n        </xs:attribute>\n        <xs:attribute name=\"XmlPrefix\" type=\"xs:string\" use=\"optional\">\n          <xs:annotation>\n            <xs:documentation>\n              The prefix to be used in the XML file for the XML namespace which the data types belong to. Used only XmlNamespace is set.\n            </xs:documentation>\n          </xs:annotation>\n        </xs:attribute>\n        <xs:attribute name=\"FilePath\" type=\"xs:string\" use=\"optional\">\n          <xs:annotation>\n            <xs:documentation>\n              The path to the file containing the design file for the namespace.\n            </xs:documentation>\n          </xs:annotation>\n        </xs:attribute>\n        <xs:attribute name=\"Version\" type=\"xs:string\" use=\"optional\" />\n        <xs:attribute name=\"PublicationDate\" type=\"xs:string\" use=\"optional\" />\n      </xs:extension>\n    </xs:simpleContent>\n  </xs:complexType>\n\n  <xs:simpleType name=\"ReleaseStatus\">\n    <xs:restriction base=\"xs:string\">\n      <xs:enumeration value=\"Released\" />\n      <xs:enumeration value=\"Draft\" />\n      <xs:enumeration value=\"Deprecated\" />\n    </xs:restriction>\n  </xs:simpleType>\n\n  <xs:simpleType name=\"DataTypePurpose\">\n    <xs:restriction base=\"xs:string\">\n      <xs:enumeration value=\"Normal\" />\n      <xs:enumeration value=\"ServicesOnly\" />\n      <xs:enumeration value=\"CodeGenerator\" />\n    </xs:restriction>\n  </xs:simpleType>\n  \n  <xs:complexType name=\"NodeDesign\">\n    <xs:annotation>\n      <xs:documentation>\n        <html:p>\n          The base type of all node designs.\n        </html:p>\n      </xs:documentation>\n    </xs:annotation>\n    <xs:sequence>\n      <xs:element name=\"BrowseName\" type=\"xs:string\" minOccurs=\"0\">\n        <xs:annotation>\n          <xs:documentation>\n            <html:p>\n              The BrowseName is the name used in the information model. The validator will create the BrowseName\n              automatically from the SymbolicName. The BrowseName is qualified by the namespace used for the\n              SymbolicName.\n            </html:p>\n          </xs:documentation>\n        </xs:annotation>\n      </xs:element>\n      <xs:element name=\"DisplayName\" type=\"LocalizedText\" minOccurs=\"0\">\n        <xs:annotation>\n          <xs:documentation>\n            <html:p>\n              The DisplayName human readable name for the Node. This element includes an optional key\n              that can be used to look up the display name for other locales in a resource DB. The validator\n              automatically creates the DisplayName from the BrowseName.\n            </html:p>\n          </xs:documentation>\n        </xs:annotation>\n      </xs:element>\n      <xs:element name=\"Description\" type=\"LocalizedText\" minOccurs=\"0\">\n        <xs:annotation>\n          <xs:documentation>\n            <html:p>\n              The Description the value of the Description attribute for the Node. This element includes an\n              optional key that can be used to look up the Description for other locales in a resource DB.\n              The validator automatically creates a generic Description from the BrowseName and NodeClass.\n            </html:p>\n          </xs:documentation>\n        </xs:annotation>\n      </xs:element>\n      <xs:element name=\"Children\" type=\"ListOfChildren\" minOccurs=\"0\">\n        <xs:annotation>\n          <xs:documentation>\n            <html:p>\n              The Children are the Properties or Components of a Node.\n            </html:p>\n          </xs:documentation>\n        </xs:annotation>\n      </xs:element>\n      <xs:element name=\"References\" type=\"ListOfReferences\" minOccurs=\"0\">\n        <xs:annotation>\n          <xs:documentation>\n            <html:p>\n              The References specify additional references from the Node. These references may refer to\n              other children of the same Node or children of other Nodes defined in the ModelDesign.\n            </html:p>\n          </xs:documentation>\n        </xs:annotation>\n      </xs:element>\n    </xs:sequence>\n    <xs:attribute name=\"SymbolicName\" type=\"xs:QName\" use=\"optional\">\n      <xs:annotation>\n        <xs:documentation>\n          <html:p>\n            The SymbolicName identifies the Node within the the ModelDesign or within the\n            containing Node. The SymbolicName should always be specified. It is used to create\n            the BrowseName and SymbolicId if they are not specified.\n          </html:p>\n        </xs:documentation>\n      </xs:annotation>\n    </xs:attribute>\n    <xs:attribute name=\"SymbolicId\" type=\"xs:QName\" use=\"optional\">\n      <xs:annotation>\n        <xs:documentation>\n          <html:p>\n            The SymbolicId is a globally unique identifier for the Node. The validator will create\n            the SymbolicId automatically from the SymbolicName if it is not specified.\n          </html:p>\n        </xs:documentation>\n      </xs:annotation>\n    </xs:attribute>\n    <xs:attribute name=\"IsDeclaration\" type=\"xs:boolean\" use=\"optional\" default=\"false\">\n      <xs:annotation>\n        <xs:documentation>\n          <html:p>\n            The IsDeclaration flag indicates that the Node is defined elsewhere and no code will be generated.\n            Nodes that are declarations do not need to be completely defined. They only need to have the\n            information required to generate code for nodes that reference it (e.g. the BaseType).\n          </html:p>\n        </xs:documentation>\n      </xs:annotation>\n    </xs:attribute>\n    <xs:attribute name=\"NumericId\" type=\"xs:unsignedInt\" use=\"optional\">\n      <xs:annotation>\n        <xs:documentation>\n          <html:p>\n            The NumericId specifies the unique numeric id for the Node. It is filled in automatically by reading\n            a CSV file containing the SymbolicIds and an associated UInt32. The validator will automatically assign\n            a unique id if no CSV input is provided.<html:br />\n\n            The NumericId or StringId are combined with the Namespace used for the SymbolicId to create the\n            well known UA NodeId for the Node. The generator will create programmatic constants that can be\n            used to reference the Node in code.\n          </html:p>\n        </xs:documentation>\n      </xs:annotation>\n    </xs:attribute>\n    <xs:attribute name=\"StringId\" type=\"xs:string\" use=\"optional\">\n      <xs:annotation>\n        <xs:documentation>\n          <html:p>\n            The StringId is an alternate unique identfier for the node. It is used instead of the NumericId if it is\n            specified in the CSV input file.\n          </html:p>\n        </xs:documentation>\n      </xs:annotation>\n    </xs:attribute>\n    <xs:attribute name=\"WriteAccess\" type=\"xs:unsignedInt\" use=\"optional\" default=\"0\">\n      <xs:annotation>\n        <xs:documentation>\n          <html:p>\n            The bit mask which indicates which attributes are writeable.\n          </html:p>\n        </xs:documentation>\n      </xs:annotation>\n    </xs:attribute>\n\n    <xs:attribute name=\"PartNo\" type=\"xs:unsignedInt\" use=\"optional\" default=\"0\">\n      <xs:annotation>\n        <xs:documentation>\n          <html:p>\n            The part that defines the node.\n          </html:p>\n        </xs:documentation>\n      </xs:annotation>\n    </xs:attribute>\n\n    <xs:attribute name=\"Category\" type=\"xs:string\" use=\"optional\" default=\"\">\n      <xs:annotation>\n        <xs:documentation>\n          <html:p>\n            A comment seperated list of categories assigned to the node (e.g. Part4/Services or Part5/StateMachines).\n          </html:p>\n        </xs:documentation>\n      </xs:annotation>\n    </xs:attribute>\n\n    <xs:attribute name=\"NotInAddressSpace\" type=\"xs:boolean\" use=\"optional\" default=\"false\" />\n    <xs:attribute name=\"ReleaseStatus\" type=\"ReleaseStatus\" use=\"optional\" default=\"Released\" />\n    <xs:attribute name=\"Purpose\" type=\"DataTypePurpose\" use=\"optional\" default=\"Normal\" />\n\n  </xs:complexType>\n\n  <xs:complexType name=\"TypeDesign\">\n    <xs:annotation>\n      <xs:documentation>\n        <html:p>\n          A base type for all Type Nodes (ObjectType, VariableType, DataType and ReferenceType).\n        </html:p>\n      </xs:documentation>\n    </xs:annotation>\n    <xs:complexContent mixed=\"false\">\n      <xs:extension base=\"NodeDesign\">\n        <xs:sequence>\n          <xs:element name=\"ClassName\" type=\"xs:string\" minOccurs=\"0\">\n            <xs:annotation>\n              <xs:documentation>\n                <html:p>\n                  This is the name for the instance of the type. If not specified the validator\n                  creates it by removing the 'Type' suffix from the SymbolicName for the Node.\n                </html:p>\n              </xs:documentation>\n            </xs:annotation>\n          </xs:element>\n        </xs:sequence>\n        <xs:attribute name=\"BaseType\" type=\"xs:QName\" use=\"optional\">\n          <xs:annotation>\n            <xs:documentation>\n              <html:p>\n                The SymbolicId for the BaseType.\n              </html:p>\n            </xs:documentation>\n          </xs:annotation>\n        </xs:attribute>\n        <xs:attribute name=\"IsAbstract\" type=\"xs:boolean\" use=\"optional\" default=\"false\">\n          <xs:annotation>\n            <xs:documentation>\n              <html:p>\n                Whether the Type is abstract.\n              </html:p>\n            </xs:documentation>\n          </xs:annotation>\n        </xs:attribute>\n        <xs:attribute name=\"NoClassGeneration\" type=\"xs:boolean\" use=\"optional\" default=\"false\">\n          <xs:annotation>\n            <xs:documentation>\n              <html:p>\n                Whether to supress class generation for the type.\n              </html:p>\n            </xs:documentation>\n          </xs:annotation>\n        </xs:attribute>\n      </xs:extension>\n    </xs:complexContent>\n  </xs:complexType>\n\n  <xs:complexType name=\"ObjectTypeDesign\">\n    <xs:annotation>\n      <xs:documentation>\n        <html:p>\n          ObjectTypes define structure of an Object in the information model.\n        </html:p>\n      </xs:documentation>\n    </xs:annotation>\n    <xs:complexContent mixed=\"false\">\n      <xs:extension base=\"TypeDesign\">\n        <xs:attribute name=\"SupportsEvents\" type=\"xs:boolean\" use=\"optional\" />\n      </xs:extension>\n    </xs:complexContent>\n  </xs:complexType>\n\n  <xs:complexType name=\"VariableTypeDesign\">\n    <xs:annotation>\n      <xs:documentation>\n        <html:p>\n          VariableTypes define structure of a Variable in the information model.\n        </html:p>\n      </xs:documentation>\n    </xs:annotation>\n    <xs:complexContent mixed=\"false\">\n      <xs:extension base=\"TypeDesign\">\n        <xs:sequence>\n          <xs:element name=\"DefaultValue\" type=\"DefaultValue\" minOccurs=\"0\" />\n        </xs:sequence>\n        <xs:attribute name=\"DataType\" type=\"xs:QName\" use=\"optional\" />\n        <xs:attribute name=\"ValueRank\" type=\"ValueRank\" use=\"optional\" />\n        <xs:attribute name=\"ArrayDimensions\" type=\"xs:string\" use=\"optional\" />\n        <xs:attribute name=\"AccessLevel\" type=\"AccessLevel\" use=\"optional\" />\n        <xs:attribute name=\"MinimumSamplingInterval\" type=\"xs:int\" use=\"optional\" />\n        <xs:attribute name=\"Historizing\" type=\"xs:boolean\" use=\"optional\" />\n        <xs:attribute name=\"ExposesItsChildren\" type=\"xs:boolean\" use=\"optional\" default=\"false\" />\n      </xs:extension>\n    </xs:complexContent>\n  </xs:complexType>\n\n  <xs:complexType name=\"DataTypeDesign\">\n    <xs:annotation>\n      <xs:documentation>\n        <html:p>\n          DataTypes define structure of a Value for Variables in the information model.\n        </html:p>\n      </xs:documentation>\n    </xs:annotation>\n    <xs:complexContent mixed=\"false\">\n      <xs:extension base=\"TypeDesign\">\n        <xs:sequence>\n          <xs:element name=\"Fields\" type=\"ListOfFields\" minOccurs=\"0\" />\n          <xs:element name=\"Encodings\" type=\"ListOfEncodings\" minOccurs=\"0\" />\n        </xs:sequence>\n        <xs:attribute name=\"IsOptionSet\" type=\"xs:boolean\" use=\"optional\" default=\"false\" />\n        <xs:attribute name=\"NoArraysAllowed\" type=\"xs:boolean\" use=\"optional\" default=\"false\" />\n      </xs:extension>\n    </xs:complexContent>\n  </xs:complexType>\n\n  <xs:complexType name=\"ReferenceTypeDesign\">\n    <xs:annotation>\n      <xs:documentation>\n        <html:p>\n          ReferenceType define typed references between Nodes.\n        </html:p>\n      </xs:documentation>\n    </xs:annotation>\n    <xs:complexContent mixed=\"false\">\n      <xs:extension base=\"TypeDesign\">\n        <xs:sequence>\n          <xs:element name=\"InverseName\" type=\"LocalizedText\" minOccurs=\"0\" />\n        </xs:sequence>\n        <xs:attribute name=\"Symmetric\" type=\"xs:boolean\" use=\"optional\" />\n      </xs:extension>\n    </xs:complexContent>\n  </xs:complexType>\n\n  <xs:complexType name=\"InstanceDesign\">\n    <xs:annotation>\n      <xs:documentation>\n        <html:p>\n          A base type for all Instance Nodes (Object, Variable, and Method).\n        </html:p>\n      </xs:documentation>\n    </xs:annotation>\n    <xs:complexContent mixed=\"false\">\n      <xs:extension base=\"NodeDesign\">\n        <xs:sequence>\n          <xs:element name=\"ReferenceType\" type=\"xs:QName\" minOccurs=\"0\" />\n        </xs:sequence>\n        <xs:attribute name=\"Declaration\" type=\"xs:QName\" use=\"optional\" />\n        <xs:attribute name=\"TypeDefinition\" type=\"xs:QName\" use=\"optional\" />\n        <xs:attribute name=\"ModellingRule\" type=\"ModellingRule\" use=\"optional\" />\n        <xs:attribute name=\"MinCardinality\" type=\"xs:unsignedInt\" use=\"optional\" default=\"0\" />\n        <xs:attribute name=\"MaxCardinality\" type=\"xs:unsignedInt\" use=\"optional\" default=\"0\" />\n        <xs:attribute name=\"PreserveDefaultAttributes\" type=\"xs:boolean\" use=\"optional\" default=\"false\" />\n      </xs:extension>\n    </xs:complexContent>\n  </xs:complexType>\n\n  <xs:complexType name=\"ViewDesign\">\n    <xs:annotation>\n      <xs:documentation>\n        <html:p>\n          A View Node.\n        </html:p>\n      </xs:documentation>\n    </xs:annotation>\n    <xs:complexContent mixed=\"false\">\n      <xs:extension base=\"InstanceDesign\">\n        <xs:attribute name=\"SupportsEvents\" type=\"xs:boolean\" use=\"optional\" default=\"false\">\n          <xs:annotation>\n            <xs:documentation>\n              <html:p>\n                Whether the View generates events.\n              </html:p>\n            </xs:documentation>\n          </xs:annotation>\n        </xs:attribute>\n        <xs:attribute name=\"ContainsNoLoops\" type=\"xs:boolean\" use=\"optional\" default=\"false\">\n          <xs:annotation>\n            <xs:documentation>\n              <html:p>\n                Specifies that the View contains a non-looping hierarchy.\n              </html:p>\n            </xs:documentation>\n          </xs:annotation>\n        </xs:attribute>\n      </xs:extension>\n    </xs:complexContent>\n  </xs:complexType>\n\n  <xs:complexType name=\"ObjectDesign\">\n    <xs:annotation>\n      <xs:documentation>\n        <html:p>\n          Defines the structure of an Object in the information model.\n        </html:p>\n      </xs:documentation>\n    </xs:annotation>\n    <xs:complexContent mixed=\"false\">\n      <xs:extension base=\"InstanceDesign\">\n        <xs:attribute name=\"SupportsEvents\" type=\"xs:boolean\" use=\"optional\" />\n      </xs:extension>\n    </xs:complexContent>\n  </xs:complexType>\n\n  <xs:complexType name=\"VariableDesign\">\n    <xs:annotation>\n      <xs:documentation>\n        <html:p>\n          Defines the structure of a Variable in the information model.\n        </html:p>\n      </xs:documentation>\n    </xs:annotation>\n    <xs:complexContent mixed=\"false\">\n      <xs:extension base=\"InstanceDesign\">\n        <xs:sequence>\n          <xs:element name=\"DefaultValue\" type=\"DefaultValue\" minOccurs=\"0\" />\n        </xs:sequence>\n        <xs:attribute name=\"DataType\" type=\"xs:QName\" use=\"optional\" />\n        <xs:attribute name=\"ValueRank\" type=\"ValueRank\" use=\"optional\" />\n        <xs:attribute name=\"ArrayDimensions\" type=\"xs:string\" use=\"optional\" />\n        <xs:attribute name=\"AccessLevel\" type=\"AccessLevel\" use=\"optional\" />\n        <xs:attribute name=\"MinimumSamplingInterval\" type=\"xs:int\" use=\"optional\" />\n        <xs:attribute name=\"Historizing\" type=\"xs:boolean\" use=\"optional\" />\n      </xs:extension>\n    </xs:complexContent>\n  </xs:complexType>\n\n  <xs:complexType name=\"MethodDesign\">\n    <xs:annotation>\n      <xs:documentation>\n        <html:p>\n          Defines the a Method in the information model.\n        </html:p>\n      </xs:documentation>\n    </xs:annotation>\n    <xs:complexContent mixed=\"false\">\n      <xs:extension base=\"InstanceDesign\">\n        <xs:sequence>\n          <xs:element name=\"InputArguments\" type=\"ListOfArguments\" minOccurs=\"0\" />\n          <xs:element name=\"OutputArguments\" type=\"ListOfArguments\" minOccurs=\"0\" />\n        </xs:sequence>\n        <xs:attribute name=\"NonExecutable\" type=\"xs:boolean\" use=\"optional\" />\n      </xs:extension>\n    </xs:complexContent>\n  </xs:complexType>\n\n  <xs:complexType name=\"PropertyDesign\">\n    <xs:annotation>\n      <xs:documentation>\n        <html:p>\n          Defines a Variable which is a Property for a Node.\n        </html:p>\n      </xs:documentation>\n    </xs:annotation>\n    <xs:complexContent mixed=\"false\">\n      <xs:extension base=\"VariableDesign\">\n      </xs:extension>\n    </xs:complexContent>\n  </xs:complexType>\n\n  <xs:complexType name=\"EncodingDesign\">\n    <xs:annotation>\n      <xs:documentation>\n        <html:p>\n          Defines an Object which is a DataTypeEncoding for a DataType.\n        </html:p>\n      </xs:documentation>\n    </xs:annotation>\n    <xs:complexContent mixed=\"false\">\n      <xs:extension base=\"ObjectDesign\" />\n    </xs:complexContent>\n  </xs:complexType>\n\n  <xs:complexType name=\"DictionaryDesign\">\n    <xs:annotation>\n      <xs:documentation>\n        <html:p>\n          Defines an Variable which is a DataTypeDictionary.\n        </html:p>\n      </xs:documentation>\n    </xs:annotation>\n    <xs:complexContent mixed=\"false\">\n      <xs:extension base=\"VariableDesign\">\n        <xs:attribute name=\"EncodingName\" type=\"xs:QName\" use=\"required\" />\n      </xs:extension>\n    </xs:complexContent>\n  </xs:complexType>\n\n  <xs:complexType name=\"Reference\">\n    <xs:annotation>\n      <xs:documentation>\n        <html:p>\n          Defines a reference between two nodes.<html:br />\n\n          The SourceId is the SymbolicId of the Node that contains the Reference.<html:br />\n\n          The SourcePath and TargetPath are RelativePaths specified using the syntax defined in Part 4.\n          The order of the Namespaces defined in the Namespaces element is used to determine the namespace\n          index used in the RelativePaths.\n        </html:p>\n      </xs:documentation>\n    </xs:annotation>\n    <xs:sequence>\n      <xs:element name=\"ReferenceType\" type=\"xs:QName\" minOccurs=\"1\" />\n      <xs:element name=\"TargetId\" type=\"xs:QName\" minOccurs=\"1\" />\n    </xs:sequence>\n    <xs:attribute name=\"IsInverse\" type=\"xs:boolean\" use=\"optional\" default=\"false\" />\n    <xs:attribute name=\"IsOneWay\" type=\"xs:boolean\" use=\"optional\" default=\"false\" />\n  </xs:complexType>\n\n  <xs:complexType name=\"ListOfReferences\">\n    <xs:sequence>\n      <xs:element name=\"Reference\" type=\"Reference\" minOccurs=\"0\" maxOccurs=\"unbounded\" />\n    </xs:sequence>\n  </xs:complexType>\n\n  <xs:complexType name=\"Parameter\">\n    <xs:annotation>\n      <xs:documentation>\n        <html:p>\n          Defines a Field in a DataType or Argument of a Method.\n        </html:p>\n      </xs:documentation>\n    </xs:annotation>\n    <xs:sequence>\n      <xs:element name=\"Description\" type=\"LocalizedText\" minOccurs=\"0\" />\n    </xs:sequence>\n    <xs:attribute name=\"Name\" type=\"xs:string\" use=\"optional\" />\n    <xs:attribute name=\"Identifier\" type=\"xs:int\" use=\"optional\" />\n    <xs:attribute name=\"BitMask\" type=\"xs:string\" use=\"optional\" />\n    <xs:attribute name=\"DataType\" type=\"xs:QName\" use=\"optional\" />\n    <xs:attribute name=\"ValueRank\" type=\"ValueRank\" use=\"optional\" default=\"Scalar\" />\n    <xs:attribute name=\"ArrayDimensions\" type=\"xs:string\" use=\"optional\" />\n  </xs:complexType>\n\n  <xs:complexType name=\"ListOfArguments\">\n    <xs:sequence>\n      <xs:element name=\"Argument\" type=\"Parameter\" minOccurs=\"0\" maxOccurs=\"unbounded\" />\n    </xs:sequence>\n  </xs:complexType>\n\n  <xs:complexType name=\"ListOfFields\">\n    <xs:sequence>\n      <xs:element name=\"Field\" type=\"Parameter\" minOccurs=\"0\" maxOccurs=\"unbounded\" />\n    </xs:sequence>\n  </xs:complexType>\n\n  <xs:complexType name=\"ListOfEncodings\">\n    <xs:sequence>\n      <xs:element name=\"Encoding\" type=\"EncodingDesign\" minOccurs=\"0\" maxOccurs=\"unbounded\" />\n    </xs:sequence>\n  </xs:complexType>\n\n  <xs:complexType name=\"ListOfChildren\">\n    <xs:sequence>\n      <xs:choice minOccurs=\"0\" maxOccurs=\"unbounded\">\n        <xs:element name=\"Object\" type=\"ObjectDesign\" minOccurs=\"0\" />\n        <xs:element name=\"Variable\" type=\"VariableDesign\" minOccurs=\"0\" />\n        <xs:element name=\"Property\" type=\"PropertyDesign\" minOccurs=\"0\" />\n        <xs:element name=\"Method\" type=\"MethodDesign\" minOccurs=\"0\" />\n      </xs:choice>\n    </xs:sequence>\n  </xs:complexType>\n\n  <xs:complexType name=\"LocalizedText\">\n    <xs:simpleContent>\n      <xs:extension base=\"xs:string\">\n        <xs:attribute name=\"Key\" type=\"xs:string\" use=\"optional\" default=\"\" />\n      </xs:extension>\n    </xs:simpleContent>\n  </xs:complexType>\n\n  <xs:complexType name=\"DefaultValue\">\n    <xs:sequence>\n      <xs:any minOccurs=\"0\" processContents=\"lax\"/>\n    </xs:sequence>\n  </xs:complexType>\n\n  <xs:simpleType name=\"AccessLevel\">\n    <xs:restriction base=\"xs:string\">\n      <xs:enumeration value=\"None\" />\n      <xs:enumeration value=\"Read\" />\n      <xs:enumeration value=\"Write\" />\n      <xs:enumeration value=\"ReadWrite\" />\n      <xs:enumeration value=\"HistoryRead\" />\n      <xs:enumeration value=\"HistoryWrite\" />\n      <xs:enumeration value=\"HistoryReadWrite\" />\n    </xs:restriction>\n  </xs:simpleType>\n\n  <xs:simpleType name=\"ValueRank\">\n    <xs:restriction base=\"xs:string\">\n      <xs:enumeration value=\"Scalar\" />\n      <xs:enumeration value=\"Array\" />\n      <xs:enumeration value=\"ScalarOrArray\" />\n      <xs:enumeration value=\"OneOrMoreDimensions\" />\n    </xs:restriction>\n  </xs:simpleType>\n\n  <xs:simpleType name=\"ModellingRule\">\n    <xs:restriction base=\"xs:string\">\n        <xs:enumeration value=\"None\" />\n        <xs:enumeration value=\"Mandatory\" />\n        <xs:enumeration value=\"Optional\" />\n        <xs:enumeration value=\"ExposesItsArray\" />\n        <xs:enumeration value=\"CardinalityRestriction\" />\n        <xs:enumeration value=\"MandatoryShared\" />\n        <xs:enumeration value=\"OptionalPlaceholder\" />\n        <xs:enumeration value=\"MandatoryPlaceholder\" />\n    </xs:restriction>\n  </xs:simpleType>\n\n</xs:schema>\n"
  },
  {
    "path": "SemanticData/UAModelDesignExport/XML/UA Model Design.xsd.cs",
    "content": "﻿//__________________________________________________________________________________________________\n//\n//  Copyright (C) 2021, Mariusz Postol LODZ POLAND.\n//\n//  To be in touch join the community at GitHub: https://github.com/mpostol/OPC-UA-OOI/discussions\n//__________________________________________________________________________________________________\n\nusing System.Collections.Generic;\nusing System.Xml;\nusing UAOOI.Common.Infrastructure.Serializers;\n\nnamespace UAOOI.SemanticData.UAModelDesignExport.XML\n{\n  public partial class ModelDesign : INamespaces\n  {\n    /// <summary>\n    /// Gets the namespaces that is to be used to parametrize XML document.\n    /// </summary>\n    /// <returns>An instance of IEnumerable[XmlQualifiedName] containing the XML namespaces and prefixes that a serializer uses to generate qualified names in an XML-document instance.</returns>\n    public IEnumerable<XmlQualifiedName> GetNamespaces()\n    {\n      List<XmlQualifiedName> ret = new List<XmlQualifiedName>\n      {\n        new XmlQualifiedName(\"xsd\", \"http://www.w3.org/2001/XMLSchema\"),\n        new XmlQualifiedName(\"xsi\", \"http://www.w3.org/2001/XMLSchema-instance\"),\n        new XmlQualifiedName(\"uax\", \"http://opcfoundation.org/UA/2008/02/Types.xsd\")\n      };\n      foreach (Namespace item in Namespaces)\n        ret.Add(new XmlQualifiedName(item.XmlPrefix, item.Value));\n      return ret;\n    }\n  }\n}"
  },
  {
    "path": "SemanticData/UAModelDesignExport/XML/UA_Model_Design.GoCS.cmd",
    "content": ":: convert the scheme DomainDescriptor.xsd to cs code\nxsd.exe \"UA Model Design.xsd\" /N:UAOOI.SemanticData.UAModelDesignExport.XML /c  "
  },
  {
    "path": "SemanticData/UAModelDesignExport.UnitTest/DataTypeDefinitionFactoryBaseUnitTest.cs",
    "content": "﻿//___________________________________________________________________________________\n//\n//  Copyright (C) 2019, Mariusz Postol LODZ POLAND.\n//\n//  To be in touch join the community at GITTER: https://gitter.im/mpostol/OPC-UA-OOI\n//___________________________________________________________________________________\n\nusing Microsoft.VisualStudio.TestTools.UnitTesting;\nusing System.Linq;\nusing System.Xml;\nusing UAOOI.SemanticData.InformationModelFactory;\n\nnamespace UAOOI.SemanticData.UAModelDesignExport\n{\n  [TestClass]\n  public class DataTypeDefinitionFactoryBaseUnitTest\n  {\n\n    [TestMethod]\n    public void ConstructorTest()\n    {\n      DataTypeDefinitionFactoryBase _newInstance = new DataTypeDefinitionFactoryBase(x => { })\n      {\n        IsOptionSet = true,\n        IsUnion = true, //Is not supported by the UA Model Design\n        Name = new XmlQualifiedName(\"XmlQualifiedName\"), // Is not supported by the UA Model Design\n        SymbolicName = \"SymbolicName\" // Is not supported by the UA Model Design\n      };\n      XML.DataTypeDesign _dataType = _newInstance.Export();\n      Assert.IsNotNull(_dataType);\n      Assert.IsNotNull(_dataType.Fields);\n      Assert.AreEqual<int>(0, _dataType.Fields.Count());\n      Assert.IsNull(_dataType.Encodings);\n      Assert.IsTrue(_dataType.IsOptionSet);\n      Assert.IsFalse(_dataType.NoArraysAllowed);\n    }\n    [TestMethod]\n    public void NewFieldTest()\n    {\n      DataTypeDefinitionFactoryBase _newInstance = new DataTypeDefinitionFactoryBase(x => { }) { };\n      IDataTypeFieldFactory _newField = _newInstance.NewField();\n      XML.DataTypeDesign _dataType = _newInstance.Export();\n      Assert.IsNotNull(_dataType);\n      Assert.IsNotNull(_dataType.Fields);\n      Assert.AreEqual<int>(1, _dataType.Fields.Count());\n    }\n\n  }\n}\n"
  },
  {
    "path": "SemanticData/UAModelDesignExport.UnitTest/ExtensionsUnitTest.cs",
    "content": "﻿//___________________________________________________________________________________\n//\n//  Copyright (C) 2019, Mariusz Postol LODZ POLAND.\n//\n//  To be in touch join the community at GITTER: https://gitter.im/mpostol/OPC-UA-OOI\n//___________________________________________________________________________________\n\nusing Microsoft.VisualStudio.TestTools.UnitTesting;\nusing System.Xml;\nusing UAOOI.SemanticData.UAModelDesignExport.XML;\n\nnamespace UAOOI.SemanticData.UAModelDesignExport\n{\n  [TestClass]\n  public class ExtensionsUnitTest\n  {\n    [TestMethod]\n    public void AddLocalizedTextTestMethod()\n    {\n      LocalizedText _description = null;\n      int _counter = 0;\n      Extensions.AddLocalizedText(\"localeField1\", \"valueField1\", ref _description, x => _counter++);\n      Assert.AreEqual<int>(0, _counter);\n      Assert.IsNotNull(_description);\n      Assert.AreEqual<string>(\"localeField1\", _description.Key);\n      Assert.AreEqual<string>(\"valueField1\", _description.Value);\n      LocalizedText _descriptionCopy = _description;\n      Extensions.AddLocalizedText(\"localeField1\", \"valueField1\", ref _description, x => _counter++);\n      Assert.AreEqual<int>(1, _counter);\n      Assert.IsNotNull(_description);\n      Assert.AreSame(_descriptionCopy, _description);\n    }\n\n    [TestMethod]\n    public void KeyTest()\n    {\n      Reference value1 = new Reference() { IsInverse = false, IsOneWay = true, ReferenceType = new XmlQualifiedName(\"Type Name\"), TargetId = new XmlQualifiedName(\"TargetId\") };\n      Reference value2 = new Reference() { IsInverse = true, IsOneWay = true, ReferenceType = new XmlQualifiedName(\"Type Name\"), TargetId = new XmlQualifiedName(\"TargetId\") };\n      Assert.AreNotEqual<string>(value1.Key(), value2.Key());\n    }\n  }\n}"
  },
  {
    "path": "SemanticData/UAModelDesignExport.UnitTest/Instrumentation/Extensions.cs",
    "content": "﻿//___________________________________________________________________________________\n//\n//  Copyright (C) 2021, Mariusz Postol LODZ POLAND.\n//\n//  To be in touch join the community at GITTER: https://gitter.im/mpostol/OPC-UA-OOI\n//___________________________________________________________________________________\n\nusing System;\n\nnamespace UAOOI.SemanticData.UAModelDesignExport.Instrumentation\n{\n  internal static class Extensions\n  {\n    internal static bool AreEqual(this string first, string second)\n    {\n      if (String.IsNullOrEmpty(first))\n        return String.IsNullOrEmpty(second);\n      return String.Compare(first, second) == 0;\n    }\n  }\n}"
  },
  {
    "path": "SemanticData/UAModelDesignExport.UnitTest/Instrumentation/IStylesheetNameProvider.cs",
    "content": "﻿//___________________________________________________________________________________\n//\n//  Copyright (C) 2019, Mariusz Postol LODZ POLAND.\n//\n//  To be in touch join the community at GITTER: https://gitter.im/mpostol/OPC-UA-OOI\n//___________________________________________________________________________________\n\n\nnamespace UAOOI.SemanticData.UAModelDesignExport.Instrumentation\n{\n  \n  /// <summary>\n  /// Represents XML file style sheet name provider\n  /// </summary>\n  public interface IStylesheetNameProvider\n  {\n    /// <summary>\n    /// The style sheet name\n    /// </summary>\n    string StylesheetName { get; }\n\n  }\n}\n"
  },
  {
    "path": "SemanticData/UAModelDesignExport.UnitTest/Instrumentation/TracedAddressSpaceContext.cs",
    "content": "﻿//__________________________________________________________________________________________________\n//\n//  Copyright (C) 2022, Mariusz Postol LODZ POLAND.\n//\n//  To be in touch join the community at GitHub: https://github.com/mpostol/OPC-UA-OOI/discussions\n//__________________________________________________________________________________________________\n\nusing System;\nusing System.Collections.Generic;\nusing System.Diagnostics;\nusing System.IO;\nusing UAOOI.SemanticData.AddressSpace.Abstractions;\nusing UAOOI.SemanticData.BuildingErrorsHandling;\nusing UAOOI.SemanticData.UAModelDesignExport.XML;\nusing UAOOI.SemanticData.UANodeSetValidation;\nusing UAOOI.SemanticData.UANodeSetValidation.Diagnostic;\nusing UAOOI.SemanticData.UANodeSetValidation.XML;\n\nnamespace UAOOI.SemanticData.UAModelDesignExport.Instrumentation\n{\n  internal class TracedAddressSpaceContext : IBuildErrorsHandling, IDisposable\n  {\n    public ModelDesign CreateInstance(FileInfo filePath, string URI)\n    {\n      if (!filePath.Exists)\n        throw new FileNotFoundException(\"The imported file does not exist\", filePath.FullName);\n      IUANodeSet iUANodeSet = UANodeSet.ReadModelFile(filePath);\n      IAddressSpaceContext _as = new AddressSpaceContext(this);\n      IUANodeSet uaDefinedTypes = UANodeSet.ReadUADefinedTypes();\n      ModelFactory _factory = new ModelFactory(WriteTraceMessage);\n      _as.ImportUANodeSet(uaDefinedTypes);\n      _as.ImportUANodeSet(iUANodeSet);\n      _as.ValidateAndExportModel(new Uri(URI), _factory);\n      return _factory.Export();\n    }\n\n    internal readonly List<TraceMessage> TraceList = new List<TraceMessage>();\n\n    public void Dispose()\n    {\n    }\n\n    internal void Clear()\n    {\n      Errors = 0;\n      TraceList.Clear();\n    }\n\n    #region IBuildErrorsHandling\n\n    public int Errors { get; private set; }\n\n    public void WriteTraceMessage(TraceMessage traceMessage)\n    {\n      Debug.WriteLine(traceMessage.ToString());\n      if (traceMessage.BuildError.Focus == Focus.Diagnostic)\n        return;\n      Errors++;\n      TraceList.Add(traceMessage);\n    }\n\n    public void TraceData(TraceEventType eventType, int id, object data)\n    {\n      throw new NotImplementedException(\"It is intentionally not implemented\");\n      if ((eventType == TraceEventType.Verbose) || (eventType == TraceEventType.Information))\n        Errors++;\n      else\n      {\n        string message = $\"Unexpected error: eventType = {eventType} id = {id} data = {data}\";\n        Debug.WriteLine(message);\n        //throw new ApplicationException(message);\n      }\n    }\n\n    #endregion IBuildErrorsHandling\n  }\n}"
  },
  {
    "path": "SemanticData/UAModelDesignExport.UnitTest/Instrumentation/UnitTestsExtensions.cs",
    "content": "﻿//___________________________________________________________________________________\n//\n//  Copyright (C) 2019, Mariusz Postol LODZ POLAND.\n//\n//  To be in touch join the community at GITTER: https://gitter.im/mpostol/OPC-UA-OOI\n//___________________________________________________________________________________\n\nusing Microsoft.VisualStudio.TestTools.UnitTesting;\nusing UAOOI.SemanticData.UAModelDesignExport.XML;\n\nnamespace UAOOI.SemanticData.UAModelDesignExport.Instrumentation\n{\n\n  internal static class UnitTestsExtensions\n  {\n\n    internal static void Compare(this LocalizedText expected, LocalizedText actual)\n    {\n      if (expected == null && actual == null)\n        return;\n      Assert.IsNotNull(expected);\n      Assert.IsNotNull(actual);\n      Assert.AreEqual<string>(expected.Key, actual.Key);\n      Assert.AreEqual<string>(expected.Value.Trim(), actual.Value.Trim());\n    }\n\n  }\n}\n"
  },
  {
    "path": "SemanticData/UAModelDesignExport.UnitTest/ModelDesignExportUnitTest.cs",
    "content": "﻿//__________________________________________________________________________________________________\n//\n//  Copyright (C) 2021, Mariusz Postol LODZ POLAND.\n//\n//  To be in touch join the community at GitHub: https://github.com/mpostol/OPC-UA-OOI/discussions\n//__________________________________________________________________________________________________\n\nusing Microsoft.VisualStudio.TestTools.UnitTesting;\nusing Moq;\nusing System;\nusing System.Diagnostics;\nusing System.IO;\nusing UAOOI.Common.Infrastructure.Diagnostic;\nusing UAOOI.SemanticData.InformationModelFactory;\n\nnamespace UAOOI.SemanticData.UAModelDesignExport\n{\n  [TestClass]\n  public class ModelDesignExportUnitTest\n  {\n    [TestMethod]\n    public void ConstructorTestMethod()\n    {\n      Mock<ITraceSource> mock = new Mock<ITraceSource>();\n      mock.Setup(x => x.TraceData(It.IsAny<TraceEventType>(), It.IsAny<int>(), It.IsAny<string>()));\n      IModelDesignExport _exporter = ModelDesignExportAPI.GetModelDesignExport(mock.Object);\n      string _filePath = \"ConstructorTestMethodPtah.xml\";\n      IModelFactory _factory = _exporter.GetFactory();\n      _factory.CreateNamespace(new Uri(\"NameSpace1\", UriKind.Relative), DateTime.UtcNow, null);\n      _factory.CreateNamespace(new Uri(\"NameSpace2\", UriKind.Relative), DateTime.UtcNow, null);\n      _exporter.ExportToXMLFile(_filePath);\n      FileInfo _outputFile = new FileInfo(_filePath);\n      Assert.IsTrue(_outputFile.Exists);\n      mock.Verify(x => x.TraceData(It.IsAny<TraceEventType>(), It.IsAny<int>(), It.IsAny<string>()), Times.Once);\n      Assert.IsTrue(670 < _outputFile.Length, $\"File length is {_outputFile.Length}\");\n    }\n  }\n}"
  },
  {
    "path": "SemanticData/UAModelDesignExport.UnitTest/ModelDesignUnitTest.cs",
    "content": "﻿//___________________________________________________________________________________\n//\n//  Copyright (C) 2019, Mariusz Postol LODZ POLAND.\n//\n//  To be in touch join the community at GITTER: https://gitter.im/mpostol/OPC-UA-OOI\n//___________________________________________________________________________________\n\nusing Microsoft.VisualStudio.TestTools.UnitTesting;\nusing UAOOI.SemanticData.UAModelDesignExport.XML;\n\nnamespace UAOOI.SemanticData.UAModelDesignExport\n{\n  [TestClass]\n  public class ModelDesignUnitTest\n  {\n    [TestMethod]\n    public void ConstructorTest()\n    {\n      ModelDesign _newInstance = new ModelDesign();\n      Assert.IsNull(_newInstance.AnyAttr);\n    }\n  }\n}\n"
  },
  {
    "path": "SemanticData/UAModelDesignExport.UnitTest/ModelFactoryUnitTest.cs",
    "content": "﻿//__________________________________________________________________________________________________\n//\n//  Copyright (C) 2022, Mariusz Postol LODZ POLAND.\n//\n//  To be in touch join the community at GitHub: https://github.com/mpostol/OPC-UA-OOI/discussions\n//__________________________________________________________________________________________________\n\nusing Microsoft.VisualStudio.TestTools.UnitTesting;\nusing System;\nusing System.Collections.Generic;\nusing System.Xml;\nusing UAOOI.SemanticData.BuildingErrorsHandling;\nusing UAOOI.SemanticData.InformationModelFactory;\nusing UAOOI.SemanticData.UAModelDesignExport.XML;\n\nnamespace UAOOI.SemanticData.UAModelDesignExport\n{\n  [TestClass]\n  public class ModelFactoryUnitTest\n  {\n    [TestMethod]\n    [ExpectedException(typeof(ArgumentOutOfRangeException))]\n    public void EEmptyModelTest()\n    {\n      ModelFactory _instance = new ModelFactory(_message => { });\n      ModelDesign _createdModel = _instance.Export();\n    }\n\n    [TestMethod]\n    public void NamespaceTest()\n    {\n      List<TraceMessage> _traceBuffer = new List<TraceMessage>();\n      ModelFactory _instance = new ModelFactory(_message => _traceBuffer.Add(_message));\n      ((IModelFactory)_instance).CreateNamespace(new Uri(\"NameSpace1\", UriKind.Relative), DateTime.UtcNow, null);\n      ((IModelFactory)_instance).CreateNamespace(new Uri(\"NameSpace2\", UriKind.Relative), DateTime.UtcNow, null);\n\n      ModelDesign _createdModel = _instance.Export();\n      Assert.IsNotNull(_createdModel);\n      Assert.IsNotNull(_createdModel.Items);\n      Assert.IsNull(_createdModel.AnyAttr);\n      Assert.AreEqual<int>(0, _createdModel.Items.Length);\n      Assert.AreEqual<int>(2, _createdModel.Namespaces.Length);\n      Assert.AreEqual<string>(\"NameSpace2\", _createdModel.TargetNamespace);\n      Assert.AreEqual<DateTime>(DateTime.Now.Date, _createdModel.TargetPublicationDate.Date);\n      Assert.IsTrue(_createdModel.TargetPublicationDateSpecified);\n      Assert.AreEqual<int>(0, _traceBuffer.Count);\n    }\n\n    [TestMethod]\n    public void NamespacesVersionTest()\n    {\n      List<TraceMessage> _traceBuffer = new List<TraceMessage>();\n      ModelFactory _instance = new ModelFactory(_message => _traceBuffer.Add(_message));\n      ((IModelFactory)_instance).CreateNamespace(new Uri(\"NameSpace1\", UriKind.Relative), DateTime.UtcNow, new Version(1, 0, 0));\n      ((IModelFactory)_instance).CreateNamespace(new Uri(\"NameSpace2\", UriKind.Relative), DateTime.UtcNow, new Version(1, 0, 0));\n      ModelDesign model = _instance.Export();\n      Assert.AreEqual<int>(2, model.Namespaces.Length);\n      Assert.AreEqual<int>(0, _traceBuffer.Count);\n      Assert.AreEqual<string>(\"1.0.0\", model.Namespaces[0].Version);\n      Assert.AreEqual<string>(\"1.0.0\", model.Namespaces[1].Version);\n    }\n\n    [TestMethod]\n    public void ChildrenGeneration()\n    {\n      List<TraceMessage> _traceBuffer = new List<TraceMessage>();\n      ModelFactory _instance = new ModelFactory(_message => _traceBuffer.Add(_message));\n      ((IModelFactory)_instance).CreateNamespace(new Uri(\"NameSpace1\", UriKind.Relative), DateTime.UtcNow, new Version(1, 0, 0));\n      ((IModelFactory)_instance).CreateNamespace(new Uri(\"NameSpace2\", UriKind.Relative), DateTime.UtcNow, new Version(1, 0, 0));\n\n      IObjectInstanceFactory objectInstanceFactory = ((IModelFactory)_instance).AddNodeFactory<IObjectInstanceFactory>();\n      objectInstanceFactory.SymbolicName = new XmlQualifiedName(\"objectInstanceFactory\", \"http://a.b.c\");\n      IVariableInstanceFactory variableInstanceFactory = objectInstanceFactory.AddNodeFactory<IVariableInstanceFactory>();\n      variableInstanceFactory.SymbolicName = new XmlQualifiedName(\"variableInstanceFactory\", \"http://a.b.c\");\n      IObjectTypeFactory objectTypeFactory = ((IModelFactory)_instance).AddNodeFactory<IObjectTypeFactory>();\n      objectTypeFactory.SymbolicName = new XmlQualifiedName(\"objectTypeFactory\", \"http://a.b.c\");\n\n      ModelDesign model = _instance.Export();\n      Assert.AreEqual<int>(2, model.Items.Length);\n      Assert.AreEqual<int>(2, model.Namespaces.Length);\n      Assert.AreEqual<int>(0, _traceBuffer.Count);\n    }\n  }\n}"
  },
  {
    "path": "SemanticData/UAModelDesignExport.UnitTest/Models/DataTypeTest/DataTypeTest.Classes.cs",
    "content": "/* ========================================================================\n * Copyright (c) 2005-2021 The OPC Foundation, Inc. All rights reserved.\n *\n * OPC Foundation MIT License 1.00\n *\n * Permission is hereby granted, free of charge, to any person\n * obtaining a copy of this software and associated documentation\n * files (the \"Software\"), to deal in the Software without\n * restriction, including without limitation the rights to use,\n * copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the\n * Software is furnished to do so, subject to the following\n * conditions:\n *\n * The above copyright notice and this permission notice shall be\n * included in all copies or substantial portions of the Software.\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND,\n * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES\n * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND\n * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT\n * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,\n * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING\n * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR\n * OTHER DEALINGS IN THE SOFTWARE.\n *\n * The complete license agreement can be found here:\n * http://opcfoundation.org/License/MIT/1.00/\n * ======================================================================*/\n\nusing System;\nusing System.Collections.Generic;\nusing System.Text;\nusing System.Xml;\nusing System.Runtime.Serialization;\nusing ;\n\nnamespace DataTypeTest\n{\n}"
  },
  {
    "path": "SemanticData/UAModelDesignExport.UnitTest/Models/DataTypeTest/DataTypeTest.Constants.cs",
    "content": "/* ========================================================================\n * Copyright (c) 2005-2021 The OPC Foundation, Inc. All rights reserved.\n *\n * OPC Foundation MIT License 1.00\n *\n * Permission is hereby granted, free of charge, to any person\n * obtaining a copy of this software and associated documentation\n * files (the \"Software\"), to deal in the Software without\n * restriction, including without limitation the rights to use,\n * copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the\n * Software is furnished to do so, subject to the following\n * conditions:\n *\n * The above copyright notice and this permission notice shall be\n * included in all copies or substantial portions of the Software.\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND,\n * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES\n * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND\n * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT\n * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,\n * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING\n * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR\n * OTHER DEALINGS IN THE SOFTWARE.\n *\n * The complete license agreement can be found here:\n * http://opcfoundation.org/License/MIT/1.00/\n * ======================================================================*/\n\nusing System;\nusing System.Collections.Generic;\nusing System.Text;\nusing System.Reflection;\nusing System.Xml;\nusing System.Runtime.Serialization;\nusing ;\n\nnamespace DataTypeTest\n{\n    #region DataType Identifiers\n    /// <summary>\n    /// A class that declares constants for all DataTypes in the Model Design.\n    /// </summary>\n    /// <exclude />\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"Opc.Ua.ModelCompiler\", \"1.0.0.0\")]\n    public static partial class DataTypes\n    {\n        /// <summary>\n        /// The identifier for the AbstractEnumerationDataType DataType.\n        /// </summary>\n        public const uint AbstractEnumerationDataType = 9;\n\n        /// <summary>\n        /// The identifier for the EnumerationDataType DataType.\n        /// </summary>\n        public const uint EnumerationDataType = 11;\n\n        /// <summary>\n        /// The identifier for the AbstractStructure DataType.\n        /// </summary>\n        public const uint AbstractStructure = 13;\n\n        /// <summary>\n        /// The identifier for the DerivedStructure DataType.\n        /// </summary>\n        public const uint DerivedStructure = 22;\n    }\n    #endregion\n\n    #region Object Identifiers\n    /// <summary>\n    /// A class that declares constants for all Objects in the Model Design.\n    /// </summary>\n    /// <exclude />\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"Opc.Ua.ModelCompiler\", \"1.0.0.0\")]\n    public static partial class Objects\n    {\n        /// <summary>\n        /// The identifier for the AbstractStructure_Encoding_DefaultBinary Object.\n        /// </summary>\n        public const uint AbstractStructure_Encoding_DefaultBinary = 18;\n\n        /// <summary>\n        /// The identifier for the DerivedStructure_Encoding_DefaultBinary Object.\n        /// </summary>\n        public const uint DerivedStructure_Encoding_DefaultBinary = 27;\n\n        /// <summary>\n        /// The identifier for the AbstractStructure_Encoding_DefaultXml Object.\n        /// </summary>\n        public const uint AbstractStructure_Encoding_DefaultXml = 14;\n\n        /// <summary>\n        /// The identifier for the DerivedStructure_Encoding_DefaultXml Object.\n        /// </summary>\n        public const uint DerivedStructure_Encoding_DefaultXml = 23;\n\n        /// <summary>\n        /// The identifier for the AbstractStructure_Encoding_DefaultJson Object.\n        /// </summary>\n        public const uint AbstractStructure_Encoding_DefaultJson = 31;\n\n        /// <summary>\n        /// The identifier for the DerivedStructure_Encoding_DefaultJson Object.\n        /// </summary>\n        public const uint DerivedStructure_Encoding_DefaultJson = 32;\n    }\n    #endregion\n\n    #region Variable Identifiers\n    /// <summary>\n    /// A class that declares constants for all Variables in the Model Design.\n    /// </summary>\n    /// <exclude />\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"Opc.Ua.ModelCompiler\", \"1.0.0.0\")]\n    public static partial class Variables\n    {\n        /// <summary>\n        /// The identifier for the AbstractEnumerationDataType_EnumStrings Variable.\n        /// </summary>\n        public const uint AbstractEnumerationDataType_EnumStrings = 10;\n\n        /// <summary>\n        /// The identifier for the EnumerationDataType_EnumValues Variable.\n        /// </summary>\n        public const uint EnumerationDataType_EnumValues = 12;\n\n        /// <summary>\n        /// The identifier for the cas_BinarySchema Variable.\n        /// </summary>\n        public const uint cas_BinarySchema = 5;\n\n        /// <summary>\n        /// The identifier for the cas_BinarySchema_NamespaceUri Variable.\n        /// </summary>\n        public const uint cas_BinarySchema_NamespaceUri = 7;\n\n        /// <summary>\n        /// The identifier for the cas_BinarySchema_Deprecated Variable.\n        /// </summary>\n        public const uint cas_BinarySchema_Deprecated = 1;\n\n        /// <summary>\n        /// The identifier for the cas_BinarySchema_AbstractStructure Variable.\n        /// </summary>\n        public const uint cas_BinarySchema_AbstractStructure = 19;\n\n        /// <summary>\n        /// The identifier for the cas_BinarySchema_DerivedStructure Variable.\n        /// </summary>\n        public const uint cas_BinarySchema_DerivedStructure = 28;\n\n        /// <summary>\n        /// The identifier for the cas_XmlSchema Variable.\n        /// </summary>\n        public const uint cas_XmlSchema = 2;\n\n        /// <summary>\n        /// The identifier for the cas_XmlSchema_NamespaceUri Variable.\n        /// </summary>\n        public const uint cas_XmlSchema_NamespaceUri = 4;\n\n        /// <summary>\n        /// The identifier for the cas_XmlSchema_Deprecated Variable.\n        /// </summary>\n        public const uint cas_XmlSchema_Deprecated = 8;\n\n        /// <summary>\n        /// The identifier for the cas_XmlSchema_AbstractStructure Variable.\n        /// </summary>\n        public const uint cas_XmlSchema_AbstractStructure = 15;\n\n        /// <summary>\n        /// The identifier for the cas_XmlSchema_DerivedStructure Variable.\n        /// </summary>\n        public const uint cas_XmlSchema_DerivedStructure = 24;\n    }\n    #endregion\n\n    #region DataType Node Identifiers\n    /// <summary>\n    /// A class that declares constants for all DataTypes in the Model Design.\n    /// </summary>\n    /// <exclude />\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"Opc.Ua.ModelCompiler\", \"1.0.0.0\")]\n    public static partial class DataTypeIds\n    {\n        /// <summary>\n        /// The identifier for the AbstractEnumerationDataType DataType.\n        /// </summary>\n        public static readonly ExpandedNodeId AbstractEnumerationDataType = new ExpandedNodeId(DataTypeTest.DataTypes.AbstractEnumerationDataType, DataTypeTest.Namespaces.cas);\n\n        /// <summary>\n        /// The identifier for the EnumerationDataType DataType.\n        /// </summary>\n        public static readonly ExpandedNodeId EnumerationDataType = new ExpandedNodeId(DataTypeTest.DataTypes.EnumerationDataType, DataTypeTest.Namespaces.cas);\n\n        /// <summary>\n        /// The identifier for the AbstractStructure DataType.\n        /// </summary>\n        public static readonly ExpandedNodeId AbstractStructure = new ExpandedNodeId(DataTypeTest.DataTypes.AbstractStructure, DataTypeTest.Namespaces.cas);\n\n        /// <summary>\n        /// The identifier for the DerivedStructure DataType.\n        /// </summary>\n        public static readonly ExpandedNodeId DerivedStructure = new ExpandedNodeId(DataTypeTest.DataTypes.DerivedStructure, DataTypeTest.Namespaces.cas);\n    }\n    #endregion\n\n    #region Object Node Identifiers\n    /// <summary>\n    /// A class that declares constants for all Objects in the Model Design.\n    /// </summary>\n    /// <exclude />\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"Opc.Ua.ModelCompiler\", \"1.0.0.0\")]\n    public static partial class ObjectIds\n    {\n        /// <summary>\n        /// The identifier for the AbstractStructure_Encoding_DefaultBinary Object.\n        /// </summary>\n        public static readonly ExpandedNodeId AbstractStructure_Encoding_DefaultBinary = new ExpandedNodeId(DataTypeTest.Objects.AbstractStructure_Encoding_DefaultBinary, DataTypeTest.Namespaces.cas);\n\n        /// <summary>\n        /// The identifier for the DerivedStructure_Encoding_DefaultBinary Object.\n        /// </summary>\n        public static readonly ExpandedNodeId DerivedStructure_Encoding_DefaultBinary = new ExpandedNodeId(DataTypeTest.Objects.DerivedStructure_Encoding_DefaultBinary, DataTypeTest.Namespaces.cas);\n\n        /// <summary>\n        /// The identifier for the AbstractStructure_Encoding_DefaultXml Object.\n        /// </summary>\n        public static readonly ExpandedNodeId AbstractStructure_Encoding_DefaultXml = new ExpandedNodeId(DataTypeTest.Objects.AbstractStructure_Encoding_DefaultXml, DataTypeTest.Namespaces.cas);\n\n        /// <summary>\n        /// The identifier for the DerivedStructure_Encoding_DefaultXml Object.\n        /// </summary>\n        public static readonly ExpandedNodeId DerivedStructure_Encoding_DefaultXml = new ExpandedNodeId(DataTypeTest.Objects.DerivedStructure_Encoding_DefaultXml, DataTypeTest.Namespaces.cas);\n\n        /// <summary>\n        /// The identifier for the AbstractStructure_Encoding_DefaultJson Object.\n        /// </summary>\n        public static readonly ExpandedNodeId AbstractStructure_Encoding_DefaultJson = new ExpandedNodeId(DataTypeTest.Objects.AbstractStructure_Encoding_DefaultJson, DataTypeTest.Namespaces.cas);\n\n        /// <summary>\n        /// The identifier for the DerivedStructure_Encoding_DefaultJson Object.\n        /// </summary>\n        public static readonly ExpandedNodeId DerivedStructure_Encoding_DefaultJson = new ExpandedNodeId(DataTypeTest.Objects.DerivedStructure_Encoding_DefaultJson, DataTypeTest.Namespaces.cas);\n    }\n    #endregion\n\n    #region Variable Node Identifiers\n    /// <summary>\n    /// A class that declares constants for all Variables in the Model Design.\n    /// </summary>\n    /// <exclude />\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"Opc.Ua.ModelCompiler\", \"1.0.0.0\")]\n    public static partial class VariableIds\n    {\n        /// <summary>\n        /// The identifier for the AbstractEnumerationDataType_EnumStrings Variable.\n        /// </summary>\n        public static readonly ExpandedNodeId AbstractEnumerationDataType_EnumStrings = new ExpandedNodeId(DataTypeTest.Variables.AbstractEnumerationDataType_EnumStrings, DataTypeTest.Namespaces.cas);\n\n        /// <summary>\n        /// The identifier for the EnumerationDataType_EnumValues Variable.\n        /// </summary>\n        public static readonly ExpandedNodeId EnumerationDataType_EnumValues = new ExpandedNodeId(DataTypeTest.Variables.EnumerationDataType_EnumValues, DataTypeTest.Namespaces.cas);\n\n        /// <summary>\n        /// The identifier for the cas_BinarySchema Variable.\n        /// </summary>\n        public static readonly ExpandedNodeId cas_BinarySchema = new ExpandedNodeId(DataTypeTest.Variables.cas_BinarySchema, DataTypeTest.Namespaces.cas);\n\n        /// <summary>\n        /// The identifier for the cas_BinarySchema_NamespaceUri Variable.\n        /// </summary>\n        public static readonly ExpandedNodeId cas_BinarySchema_NamespaceUri = new ExpandedNodeId(DataTypeTest.Variables.cas_BinarySchema_NamespaceUri, DataTypeTest.Namespaces.cas);\n\n        /// <summary>\n        /// The identifier for the cas_BinarySchema_Deprecated Variable.\n        /// </summary>\n        public static readonly ExpandedNodeId cas_BinarySchema_Deprecated = new ExpandedNodeId(DataTypeTest.Variables.cas_BinarySchema_Deprecated, DataTypeTest.Namespaces.cas);\n\n        /// <summary>\n        /// The identifier for the cas_BinarySchema_AbstractStructure Variable.\n        /// </summary>\n        public static readonly ExpandedNodeId cas_BinarySchema_AbstractStructure = new ExpandedNodeId(DataTypeTest.Variables.cas_BinarySchema_AbstractStructure, DataTypeTest.Namespaces.cas);\n\n        /// <summary>\n        /// The identifier for the cas_BinarySchema_DerivedStructure Variable.\n        /// </summary>\n        public static readonly ExpandedNodeId cas_BinarySchema_DerivedStructure = new ExpandedNodeId(DataTypeTest.Variables.cas_BinarySchema_DerivedStructure, DataTypeTest.Namespaces.cas);\n\n        /// <summary>\n        /// The identifier for the cas_XmlSchema Variable.\n        /// </summary>\n        public static readonly ExpandedNodeId cas_XmlSchema = new ExpandedNodeId(DataTypeTest.Variables.cas_XmlSchema, DataTypeTest.Namespaces.cas);\n\n        /// <summary>\n        /// The identifier for the cas_XmlSchema_NamespaceUri Variable.\n        /// </summary>\n        public static readonly ExpandedNodeId cas_XmlSchema_NamespaceUri = new ExpandedNodeId(DataTypeTest.Variables.cas_XmlSchema_NamespaceUri, DataTypeTest.Namespaces.cas);\n\n        /// <summary>\n        /// The identifier for the cas_XmlSchema_Deprecated Variable.\n        /// </summary>\n        public static readonly ExpandedNodeId cas_XmlSchema_Deprecated = new ExpandedNodeId(DataTypeTest.Variables.cas_XmlSchema_Deprecated, DataTypeTest.Namespaces.cas);\n\n        /// <summary>\n        /// The identifier for the cas_XmlSchema_AbstractStructure Variable.\n        /// </summary>\n        public static readonly ExpandedNodeId cas_XmlSchema_AbstractStructure = new ExpandedNodeId(DataTypeTest.Variables.cas_XmlSchema_AbstractStructure, DataTypeTest.Namespaces.cas);\n\n        /// <summary>\n        /// The identifier for the cas_XmlSchema_DerivedStructure Variable.\n        /// </summary>\n        public static readonly ExpandedNodeId cas_XmlSchema_DerivedStructure = new ExpandedNodeId(DataTypeTest.Variables.cas_XmlSchema_DerivedStructure, DataTypeTest.Namespaces.cas);\n    }\n    #endregion\n\n    #region BrowseName Declarations\n    /// <summary>\n    /// Declares all of the BrowseNames used in the Model Design.\n    /// </summary>\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"Opc.Ua.ModelCompiler\", \"1.0.0.0\")]\n    public static partial class BrowseNames\n    {\n        /// <summary>\n        /// The BrowseName for the AbstractEnumerationDataType component.\n        /// </summary>\n        public const string AbstractEnumerationDataType = \"AbstractEnumerationDataType\";\n\n        /// <summary>\n        /// The BrowseName for the AbstractStructure component.\n        /// </summary>\n        public const string AbstractStructure = \"AbstractStructure\";\n\n        /// <summary>\n        /// The BrowseName for the cas_BinarySchema component.\n        /// </summary>\n        public const string cas_BinarySchema = \"DataTypeTest\";\n\n        /// <summary>\n        /// The BrowseName for the cas_XmlSchema component.\n        /// </summary>\n        public const string cas_XmlSchema = \"DataTypeTest\";\n\n        /// <summary>\n        /// The BrowseName for the DerivedStructure component.\n        /// </summary>\n        public const string DerivedStructure = \"DerivedStructure\";\n\n        /// <summary>\n        /// The BrowseName for the EnumerationDataType component.\n        /// </summary>\n        public const string EnumerationDataType = \"EnumerationDataType\";\n    }\n    #endregion\n\n    #region Namespace Declarations\n    /// <summary>\n    /// Defines constants for all namespaces referenced by the model design.\n    /// </summary>\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"Opc.Ua.ModelCompiler\", \"1.0.0.0\")]\n    public static partial class Namespaces\n    {\n        /// <summary>\n        /// The URI for the cas namespace (.NET code namespace is 'DataTypeTest').\n        /// </summary>\n        public const string cas = \"http://cas.eu/UA/CommServer/UnitTests/DataTypeTest\";\n\n        /// <summary>\n        /// The URI for the ua namespace (.NET code namespace is '').\n        /// </summary>\n        public const string ua = \"http://opcfoundation.org/UA/\";\n    }\n    #endregion\n}"
  },
  {
    "path": "SemanticData/UAModelDesignExport.UnitTest/Models/DataTypeTest/DataTypeTest.DataTypes.cs",
    "content": "/* ========================================================================\n * Copyright (c) 2005-2021 The OPC Foundation, Inc. All rights reserved.\n *\n * OPC Foundation MIT License 1.00\n *\n * Permission is hereby granted, free of charge, to any person\n * obtaining a copy of this software and associated documentation\n * files (the \"Software\"), to deal in the Software without\n * restriction, including without limitation the rights to use,\n * copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the\n * Software is furnished to do so, subject to the following\n * conditions:\n *\n * The above copyright notice and this permission notice shall be\n * included in all copies or substantial portions of the Software.\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND,\n * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES\n * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND\n * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT\n * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,\n * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING\n * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR\n * OTHER DEALINGS IN THE SOFTWARE.\n *\n * The complete license agreement can be found here:\n * http://opcfoundation.org/License/MIT/1.00/\n * ======================================================================*/\n\nusing System;\nusing System.Collections.Generic;\nusing System.Text;\nusing System.Xml;\nusing System.Runtime.Serialization;\nusing ;\n\nnamespace DataTypeTest\n{\n    #region AbstractEnumerationDataType Enumeration\n    #if (!OPCUA_EXCLUDE_AbstractEnumerationDataType)\n    /// <summary>\n    /// \n    /// </summary>\n    /// <exclude />\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"Opc.Ua.ModelCompiler\", \"1.0.0.0\")]\n    [DataContract(Namespace = DataTypeTest.Namespaces.cas)]\n    public enum AbstractEnumerationDataType\n    {\n        /// <remarks />\n        [EnumMember(Value = \"Field1_0\")]\n        Field1 = 0,\n\n        /// <remarks />\n        [EnumMember(Value = \"Field2_1\")]\n        Field2 = 1,\n    }\n\n    #region AbstractEnumerationDataTypeCollection Class\n    /// <summary>\n    /// A collection of AbstractEnumerationDataType objects.\n    /// </summary>\n    /// <exclude />\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"Opc.Ua.ModelCompiler\", \"1.0.0.0\")]\n    [CollectionDataContract(Name = \"ListOfAbstractEnumerationDataType\", Namespace = DataTypeTest.Namespaces.cas, ItemName = \"AbstractEnumerationDataType\")]\n    #if !NET_STANDARD\n    public partial class AbstractEnumerationDataTypeCollection : List<AbstractEnumerationDataType>, ICloneable\n    #else\n    public partial class AbstractEnumerationDataTypeCollection : List<AbstractEnumerationDataType>\n    #endif\n    {\n        #region Constructors\n        /// <summary>\n        /// Initializes the collection with default values.\n        /// </summary>\n        public AbstractEnumerationDataTypeCollection() {}\n\n        /// <summary>\n        /// Initializes the collection with an initial capacity.\n        /// </summary>\n        public AbstractEnumerationDataTypeCollection(int capacity) : base(capacity) {}\n\n        /// <summary>\n        /// Initializes the collection with another collection.\n        /// </summary>\n        public AbstractEnumerationDataTypeCollection(IEnumerable<AbstractEnumerationDataType> collection) : base(collection) {}\n        #endregion\n\n        #region Static Operators\n        /// <summary>\n        /// Converts an array to a collection.\n        /// </summary>\n        public static implicit operator AbstractEnumerationDataTypeCollection(AbstractEnumerationDataType[] values)\n        {\n            if (values != null)\n            {\n                return new AbstractEnumerationDataTypeCollection(values);\n            }\n\n            return new AbstractEnumerationDataTypeCollection();\n        }\n\n        /// <summary>\n        /// Converts a collection to an array.\n        /// </summary>\n        public static explicit operator AbstractEnumerationDataType[](AbstractEnumerationDataTypeCollection values)\n        {\n            if (values != null)\n            {\n                return values.ToArray();\n            }\n\n            return null;\n        }\n        #endregion\n\n        #if !NET_STANDARD\n        #region ICloneable Methods\n        /// <summary>\n        /// Creates a deep copy of the collection.\n        /// </summary>\n        public object Clone()\n        {\n            return (AbstractEnumerationDataTypeCollection)this.MemberwiseClone();\n        }\n        #endregion\n        #endif\n\n        /// <summary cref=\"Object.MemberwiseClone\" />\n        public new object MemberwiseClone()\n        {\n            AbstractEnumerationDataTypeCollection clone = new AbstractEnumerationDataTypeCollection(this.Count);\n\n            for (int ii = 0; ii < this.Count; ii++)\n            {\n                clone.Add((AbstractEnumerationDataType)Utils.Clone(this[ii]));\n            }\n\n            return clone;\n        }\n    }\n    #endregion\n    #endif\n    #endregion\n\n    #region EnumerationDataType Enumeration\n    #if (!OPCUA_EXCLUDE_EnumerationDataType)\n    /// <summary>\n    /// Enumeration DataType derived from abstract type\n    /// </summary>\n    /// <exclude />\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"Opc.Ua.ModelCompiler\", \"1.0.0.0\")]\n    [DataContract(Namespace = DataTypeTest.Namespaces.cas)]\n    public enum EnumerationDataType\n    {\n        /// <remarks />\n        [EnumMember(Value = \"Field3_1\")]\n        Field3 = 1,\n    }\n\n    #region EnumerationDataTypeCollection Class\n    /// <summary>\n    /// A collection of EnumerationDataType objects.\n    /// </summary>\n    /// <exclude />\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"Opc.Ua.ModelCompiler\", \"1.0.0.0\")]\n    [CollectionDataContract(Name = \"ListOfEnumerationDataType\", Namespace = DataTypeTest.Namespaces.cas, ItemName = \"EnumerationDataType\")]\n    #if !NET_STANDARD\n    public partial class EnumerationDataTypeCollection : List<EnumerationDataType>, ICloneable\n    #else\n    public partial class EnumerationDataTypeCollection : List<EnumerationDataType>\n    #endif\n    {\n        #region Constructors\n        /// <summary>\n        /// Initializes the collection with default values.\n        /// </summary>\n        public EnumerationDataTypeCollection() {}\n\n        /// <summary>\n        /// Initializes the collection with an initial capacity.\n        /// </summary>\n        public EnumerationDataTypeCollection(int capacity) : base(capacity) {}\n\n        /// <summary>\n        /// Initializes the collection with another collection.\n        /// </summary>\n        public EnumerationDataTypeCollection(IEnumerable<EnumerationDataType> collection) : base(collection) {}\n        #endregion\n\n        #region Static Operators\n        /// <summary>\n        /// Converts an array to a collection.\n        /// </summary>\n        public static implicit operator EnumerationDataTypeCollection(EnumerationDataType[] values)\n        {\n            if (values != null)\n            {\n                return new EnumerationDataTypeCollection(values);\n            }\n\n            return new EnumerationDataTypeCollection();\n        }\n\n        /// <summary>\n        /// Converts a collection to an array.\n        /// </summary>\n        public static explicit operator EnumerationDataType[](EnumerationDataTypeCollection values)\n        {\n            if (values != null)\n            {\n                return values.ToArray();\n            }\n\n            return null;\n        }\n        #endregion\n\n        #if !NET_STANDARD\n        #region ICloneable Methods\n        /// <summary>\n        /// Creates a deep copy of the collection.\n        /// </summary>\n        public object Clone()\n        {\n            return (EnumerationDataTypeCollection)this.MemberwiseClone();\n        }\n        #endregion\n        #endif\n\n        /// <summary cref=\"Object.MemberwiseClone\" />\n        public new object MemberwiseClone()\n        {\n            EnumerationDataTypeCollection clone = new EnumerationDataTypeCollection(this.Count);\n\n            for (int ii = 0; ii < this.Count; ii++)\n            {\n                clone.Add((EnumerationDataType)Utils.Clone(this[ii]));\n            }\n\n            return clone;\n        }\n    }\n    #endregion\n    #endif\n    #endregion\n\n    #region AbstractStructure Class\n    #if (!OPCUA_EXCLUDE_AbstractStructure)\n    /// <summary>\n    /// Abstract structure\n    /// </summary>\n    /// <exclude />\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"Opc.Ua.ModelCompiler\", \"1.0.0.0\")]\n    [DataContract(Namespace = DataTypeTest.Namespaces.cas)]\n    public partial class AbstractStructure : IEncodeable\n    {\n        #region Constructors\n        /// <summary>\n        /// The default constructor.\n        /// </summary>\n        public AbstractStructure()\n        {\n            Initialize();\n        }\n\n        /// <summary>\n        /// Called by the .NET framework during deserialization.\n        /// </summary>\n        [OnDeserializing]\n        private void Initialize(StreamingContext context)\n        {\n            Initialize();\n        }\n\n        /// <summary>\n        /// Sets private members to default values.\n        /// </summary>\n        private void Initialize()\n        {\n            m_number = (double)0;\n        }\n        #endregion\n\n        #region Public Properties\n        /// <remarks />\n        [DataMember(Name = \"Number\", IsRequired = false, Order = 1)]\n        public Variant Number\n        {\n            get { return m_number;  }\n            set { m_number = value; }\n        }\n        #endregion\n\n        #region IEncodeable Members\n        /// <summary cref=\"IEncodeable.TypeId\" />\n        public virtual ExpandedNodeId TypeId\n        {\n            get { return DataTypeIds.AbstractStructure; }\n        }\n\n        /// <summary cref=\"IEncodeable.BinaryEncodingId\" />\n        public virtual ExpandedNodeId BinaryEncodingId\n        {\n            get { return ObjectIds.AbstractStructure_Encoding_DefaultBinary; }\n        }\n\n        /// <summary cref=\"IEncodeable.XmlEncodingId\" />\n        public virtual ExpandedNodeId XmlEncodingId\n        {\n            get { return ObjectIds.AbstractStructure_Encoding_DefaultXml; }\n        }\n\n        /// <summary cref=\"IEncodeable.Encode(IEncoder)\" />\n        public virtual void Encode(IEncoder encoder)\n        {\n            encoder.PushNamespace(DataTypeTest.Namespaces.cas);\n\n            encoder.WriteVariant(\"Number\", Number);\n\n            encoder.PopNamespace();\n        }\n\n        /// <summary cref=\"IEncodeable.Decode(IDecoder)\" />\n        public virtual void Decode(IDecoder decoder)\n        {\n            decoder.PushNamespace(DataTypeTest.Namespaces.cas);\n\n            Number = decoder.ReadVariant(\"Number\");\n\n            decoder.PopNamespace();\n        }\n\n        /// <summary cref=\"IEncodeable.IsEqual(IEncodeable)\" />\n        public virtual bool IsEqual(IEncodeable encodeable)\n        {\n            if (Object.ReferenceEquals(this, encodeable))\n            {\n                return true;\n            }\n\n            AbstractStructure value = encodeable as AbstractStructure;\n\n            if (value == null)\n            {\n                return false;\n            }\n\n            if (!Utils.IsEqual(m_number, value.m_number)) return false;\n\n            return true;\n        }\n\n        #if !NET_STANDARD\n        /// <summary cref=\"ICloneable.Clone\" />\n        public virtual object Clone()\n        {\n            return (AbstractStructure)this.MemberwiseClone();\n        }\n        #endif\n\n        /// <summary cref=\"Object.MemberwiseClone\" />\n        public new object MemberwiseClone()\n        {\n            AbstractStructure clone = (AbstractStructure)base.MemberwiseClone();\n\n            clone.m_number = (Variant)Utils.Clone(this.m_number);\n\n            return clone;\n        }\n        #endregion\n\n        #region Private Fields\n        private Variant m_number;\n        #endregion\n    }\n\n    #region AbstractStructureCollection Class\n    /// <summary>\n    /// A collection of AbstractStructure objects.\n    /// </summary>\n    /// <exclude />\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"Opc.Ua.ModelCompiler\", \"1.0.0.0\")]\n    [CollectionDataContract(Name = \"ListOfAbstractStructure\", Namespace = DataTypeTest.Namespaces.cas, ItemName = \"AbstractStructure\")]\n    #if !NET_STANDARD\n    public partial class AbstractStructureCollection : List<AbstractStructure>, ICloneable\n    #else\n    public partial class AbstractStructureCollection : List<AbstractStructure>\n    #endif\n    {\n        #region Constructors\n        /// <summary>\n        /// Initializes the collection with default values.\n        /// </summary>\n        public AbstractStructureCollection() {}\n\n        /// <summary>\n        /// Initializes the collection with an initial capacity.\n        /// </summary>\n        public AbstractStructureCollection(int capacity) : base(capacity) {}\n\n        /// <summary>\n        /// Initializes the collection with another collection.\n        /// </summary>\n        public AbstractStructureCollection(IEnumerable<AbstractStructure> collection) : base(collection) {}\n        #endregion\n\n        #region Static Operators\n        /// <summary>\n        /// Converts an array to a collection.\n        /// </summary>\n        public static implicit operator AbstractStructureCollection(AbstractStructure[] values)\n        {\n            if (values != null)\n            {\n                return new AbstractStructureCollection(values);\n            }\n\n            return new AbstractStructureCollection();\n        }\n\n        /// <summary>\n        /// Converts a collection to an array.\n        /// </summary>\n        public static explicit operator AbstractStructure[](AbstractStructureCollection values)\n        {\n            if (values != null)\n            {\n                return values.ToArray();\n            }\n\n            return null;\n        }\n        #endregion\n\n        #if !NET_STANDARD\n        #region ICloneable Methods\n        /// <summary>\n        /// Creates a deep copy of the collection.\n        /// </summary>\n        public object Clone()\n        {\n            return (AbstractStructureCollection)this.MemberwiseClone();\n        }\n        #endregion\n        #endif\n\n        /// <summary cref=\"Object.MemberwiseClone\" />\n        public new object MemberwiseClone()\n        {\n            AbstractStructureCollection clone = new AbstractStructureCollection(this.Count);\n\n            for (int ii = 0; ii < this.Count; ii++)\n            {\n                clone.Add((AbstractStructure)Utils.Clone(this[ii]));\n            }\n\n            return clone;\n        }\n    }\n    #endregion\n    #endif\n    #endregion\n\n    #region DerivedStructure Class\n    #if (!OPCUA_EXCLUDE_DerivedStructure)\n    /// <summary>\n    /// \n    /// </summary>\n    /// <exclude />\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"Opc.Ua.ModelCompiler\", \"1.0.0.0\")]\n    [DataContract(Namespace = DataTypeTest.Namespaces.cas)]\n    public partial class DerivedStructure : AbstractStructure\n    {\n        #region Constructors\n        /// <summary>\n        /// The default constructor.\n        /// </summary>\n        public DerivedStructure()\n        {\n            Initialize();\n        }\n\n        /// <summary>\n        /// Called by the .NET framework during deserialization.\n        /// </summary>\n        [OnDeserializing]\n        private void Initialize(StreamingContext context)\n        {\n            Initialize();\n        }\n\n        /// <summary>\n        /// Sets private members to default values.\n        /// </summary>\n        private void Initialize()\n        {\n            m_number = (int)0;\n        }\n        #endregion\n\n        #region Public Properties\n        /// <remarks />\n        [DataMember(Name = \"Number\", IsRequired = false, Order = 1)]\n        public int Number\n        {\n            get { return m_number;  }\n            set { m_number = value; }\n        }\n        #endregion\n\n        #region IEncodeable Members\n        /// <summary cref=\"IEncodeable.TypeId\" />\n        public override ExpandedNodeId TypeId\n        {\n            get { return DataTypeIds.DerivedStructure; }\n        }\n\n        /// <summary cref=\"IEncodeable.BinaryEncodingId\" />\n        public override ExpandedNodeId BinaryEncodingId\n        {\n            get { return ObjectIds.DerivedStructure_Encoding_DefaultBinary; }\n        }\n\n        /// <summary cref=\"IEncodeable.XmlEncodingId\" />\n        public override ExpandedNodeId XmlEncodingId\n        {\n            get { return ObjectIds.DerivedStructure_Encoding_DefaultXml; }\n        }\n\n        /// <summary cref=\"IEncodeable.Encode(IEncoder)\" />\n        public override void Encode(IEncoder encoder)\n        {\n            base.Encode(encoder);\n\n            encoder.PushNamespace(DataTypeTest.Namespaces.cas);\n\n            encoder.WriteInt32(\"Number\", Number);\n\n            encoder.PopNamespace();\n        }\n\n        /// <summary cref=\"IEncodeable.Decode(IDecoder)\" />\n        public override void Decode(IDecoder decoder)\n        {\n            base.Decode(decoder);\n\n            decoder.PushNamespace(DataTypeTest.Namespaces.cas);\n\n            Number = decoder.ReadInt32(\"Number\");\n\n            decoder.PopNamespace();\n        }\n\n        /// <summary cref=\"IEncodeable.IsEqual(IEncodeable)\" />\n        public override bool IsEqual(IEncodeable encodeable)\n        {\n            if (Object.ReferenceEquals(this, encodeable))\n            {\n                return true;\n            }\n\n            DerivedStructure value = encodeable as DerivedStructure;\n\n            if (value == null)\n            {\n                return false;\n            }\n\n            if (!base.IsEqual(encodeable)) return false;\n            if (!Utils.IsEqual(m_number, value.m_number)) return false;\n\n            return true;\n        }    \n\n        #if !NET_STANDARD\n        /// <summary cref=\"ICloneable.Clone\" />\n        public override object Clone()\n        {\n            return (DerivedStructure)this.MemberwiseClone();\n        }\n        #endif\n\n        /// <summary cref=\"Object.MemberwiseClone\" />\n        public new object MemberwiseClone()\n        {\n            DerivedStructure clone = (DerivedStructure)base.MemberwiseClone();\n\n            clone.m_number = (int)Utils.Clone(this.m_number);\n\n            return clone;\n        }\n        #endregion\n\n        #region Private Fields\n        private int m_number;\n        #endregion\n    }\n\n    #region DerivedStructureCollection Class\n    /// <summary>\n    /// A collection of DerivedStructure objects.\n    /// </summary>\n    /// <exclude />\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"Opc.Ua.ModelCompiler\", \"1.0.0.0\")]\n    [CollectionDataContract(Name = \"ListOfDerivedStructure\", Namespace = DataTypeTest.Namespaces.cas, ItemName = \"DerivedStructure\")]\n    #if !NET_STANDARD\n    public partial class DerivedStructureCollection : List<DerivedStructure>, ICloneable\n    #else\n    public partial class DerivedStructureCollection : List<DerivedStructure>\n    #endif\n    {\n        #region Constructors\n        /// <summary>\n        /// Initializes the collection with default values.\n        /// </summary>\n        public DerivedStructureCollection() {}\n\n        /// <summary>\n        /// Initializes the collection with an initial capacity.\n        /// </summary>\n        public DerivedStructureCollection(int capacity) : base(capacity) {}\n\n        /// <summary>\n        /// Initializes the collection with another collection.\n        /// </summary>\n        public DerivedStructureCollection(IEnumerable<DerivedStructure> collection) : base(collection) {}\n        #endregion\n\n        #region Static Operators\n        /// <summary>\n        /// Converts an array to a collection.\n        /// </summary>\n        public static implicit operator DerivedStructureCollection(DerivedStructure[] values)\n        {\n            if (values != null)\n            {\n                return new DerivedStructureCollection(values);\n            }\n\n            return new DerivedStructureCollection();\n        }\n\n        /// <summary>\n        /// Converts a collection to an array.\n        /// </summary>\n        public static explicit operator DerivedStructure[](DerivedStructureCollection values)\n        {\n            if (values != null)\n            {\n                return values.ToArray();\n            }\n\n            return null;\n        }\n        #endregion\n\n        #if !NET_STANDARD\n        #region ICloneable Methods\n        /// <summary>\n        /// Creates a deep copy of the collection.\n        /// </summary>\n        public object Clone()\n        {\n            return (DerivedStructureCollection)this.MemberwiseClone();\n        }\n        #endregion\n        #endif\n\n        /// <summary cref=\"Object.MemberwiseClone\" />\n        public new object MemberwiseClone()\n        {\n            DerivedStructureCollection clone = new DerivedStructureCollection(this.Count);\n\n            for (int ii = 0; ii < this.Count; ii++)\n            {\n                clone.Add((DerivedStructure)Utils.Clone(this[ii]));\n            }\n\n            return clone;\n        }\n    }\n    #endregion\n    #endif\n    #endregion\n}"
  },
  {
    "path": "SemanticData/UAModelDesignExport.UnitTest/Models/DataTypeTest/DataTypeTest.NodeIds.csv",
    "content": "AbstractEnumerationDataType,9,DataType\nAbstractStructure,13,DataType\nAbstractStructure_Encoding_DefaultBinary,18,Object\nAbstractStructure_Encoding_DefaultJson,31,Object\nAbstractStructure_Encoding_DefaultXml,14,Object\ncas_BinarySchema,5,Variable\ncas_XmlSchema,2,Variable\nDerivedStructure,22,DataType\nDerivedStructure_Encoding_DefaultBinary,27,Object\nDerivedStructure_Encoding_DefaultJson,32,Object\nDerivedStructure_Encoding_DefaultXml,23,Object\nEnumerationDataType,11,DataType\n"
  },
  {
    "path": "SemanticData/UAModelDesignExport.UnitTest/Models/DataTypeTest/DataTypeTest.NodeSet.xml",
    "content": "﻿<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<NodeSet xmlns:i=\"http://www.w3.org/2001/XMLSchema-instance\" xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n  <NamespaceUris>\n    <String>http://opcfoundation.org/UA/</String>\n    <String>http://cas.eu/UA/CommServer/UnitTests/DataTypeTest</String>\n  </NamespaceUris>\n  <ServerUris />\n  <Nodes>\n    <Node i:type=\"VariableNode\">\n      <NodeId>\n        <Identifier>ns=1;i=1</Identifier>\n      </NodeId>\n      <NodeClass>Variable_2</NodeClass>\n      <BrowseName>\n        <NamespaceIndex>0</NamespaceIndex>\n        <Name>Deprecated</Name>\n      </BrowseName>\n      <DisplayName>\n        <Locale></Locale>\n        <Text>Deprecated</Text>\n      </DisplayName>\n      <Description i:nil=\"true\" />\n      <WriteMask>0</WriteMask>\n      <UserWriteMask>0</UserWriteMask>\n      <RolePermissions />\n      <UserRolePermissions />\n      <AccessRestrictions>0</AccessRestrictions>\n      <References>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=46</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>true</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=5</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=40</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>i=68</Identifier>\n          </TargetId>\n        </ReferenceNode>\n      </References>\n      <Value>\n        <Value>\n          <Boolean xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">true</Boolean>\n        </Value>\n      </Value>\n      <DataType>\n        <Identifier>i=1</Identifier>\n      </DataType>\n      <ValueRank>-1</ValueRank>\n      <ArrayDimensions />\n      <AccessLevel>1</AccessLevel>\n      <UserAccessLevel>1</UserAccessLevel>\n      <MinimumSamplingInterval>0</MinimumSamplingInterval>\n      <Historizing>false</Historizing>\n      <AccessLevelEx>0</AccessLevelEx>\n    </Node>\n    <Node i:type=\"VariableNode\">\n      <NodeId>\n        <Identifier>ns=1;i=2</Identifier>\n      </NodeId>\n      <NodeClass>Variable_2</NodeClass>\n      <BrowseName>\n        <NamespaceIndex>1</NamespaceIndex>\n        <Name>DataTypeTest</Name>\n      </BrowseName>\n      <DisplayName>\n        <Locale></Locale>\n        <Text>DataTypeTest</Text>\n      </DisplayName>\n      <Description i:nil=\"true\" />\n      <WriteMask>0</WriteMask>\n      <UserWriteMask>0</UserWriteMask>\n      <RolePermissions />\n      <UserRolePermissions />\n      <AccessRestrictions>0</AccessRestrictions>\n      <References>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=40</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>i=72</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=47</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>true</IsInverse>\n          <TargetId>\n            <Identifier>i=92</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=46</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=4</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=46</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=8</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=47</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=15</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=47</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=24</Identifier>\n          </TargetId>\n        </ReferenceNode>\n      </References>\n      <Value>\n        <Value>\n          <ByteString xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">PHhzOnNjaGVtYQ0KICB4bWxuczp4cz0iaHR0cDovL3d3dy53My5vcmcvMjAwMS9YTUxTY2hlbWEi\nDQogIHhtbG5zOnVhPSJodHRwOi8vb3BjZm91bmRhdGlvbi5vcmcvVUEvMjAwOC8wMi9UeXBlcy54\nc2QiDQogIHhtbG5zOnRucz0iaHR0cDovL2Nhcy5ldS9VQS9Db21tU2VydmVyL1VuaXRUZXN0cy9E\nYXRhVHlwZVRlc3QiDQogIHRhcmdldE5hbWVzcGFjZT0iaHR0cDovL2Nhcy5ldS9VQS9Db21tU2Vy\ndmVyL1VuaXRUZXN0cy9EYXRhVHlwZVRlc3QiDQogIGVsZW1lbnRGb3JtRGVmYXVsdD0icXVhbGlm\naWVkIg0KPg0KICA8eHM6aW1wb3J0IG5hbWVzcGFjZT0iaHR0cDovL29wY2ZvdW5kYXRpb24ub3Jn\nL1VBLyIgLz4NCg0KICA8eHM6c2ltcGxlVHlwZSAgbmFtZT0iQWJzdHJhY3RFbnVtZXJhdGlvbkRh\ndGFUeXBlIj4NCiAgICA8eHM6cmVzdHJpY3Rpb24gYmFzZT0ieHM6c3RyaW5nIj4NCiAgICAgIDx4\nczplbnVtZXJhdGlvbiB2YWx1ZT0iRmllbGQxXzAiIC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24g\ndmFsdWU9IkZpZWxkMl8xIiAvPg0KICAgIDwveHM6cmVzdHJpY3Rpb24+DQogIDwveHM6c2ltcGxl\nVHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iQWJzdHJhY3RFbnVtZXJhdGlvbkRhdGFUeXBlIiB0\neXBlPSJ0bnM6QWJzdHJhY3RFbnVtZXJhdGlvbkRhdGFUeXBlIiAvPg0KDQogIDx4czpjb21wbGV4\nVHlwZSBuYW1lPSJMaXN0T2ZBYnN0cmFjdEVudW1lcmF0aW9uRGF0YVR5cGUiPg0KICAgIDx4czpz\nZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkFic3RyYWN0RW51bWVyYXRpb25EYXRh\nVHlwZSIgdHlwZT0idG5zOkFic3RyYWN0RW51bWVyYXRpb25EYXRhVHlwZSIgbWluT2NjdXJzPSIw\nIiBtYXhPY2N1cnM9InVuYm91bmRlZCIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNv\nbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJMaXN0T2ZBYnN0cmFjdEVudW1lcmF0aW9u\nRGF0YVR5cGUiIHR5cGU9InRuczpMaXN0T2ZBYnN0cmFjdEVudW1lcmF0aW9uRGF0YVR5cGUiIG5p\nbGxhYmxlPSJ0cnVlIj48L3hzOmVsZW1lbnQ+DQoNCiAgPHhzOnNpbXBsZVR5cGUgIG5hbWU9IkVu\ndW1lcmF0aW9uRGF0YVR5cGUiPg0KICAgIDx4czphbm5vdGF0aW9uPg0KICAgICAgPHhzOmRvY3Vt\nZW50YXRpb24+RW51bWVyYXRpb24gRGF0YVR5cGUgZGVyaXZlZCBmcm9tIGFic3RyYWN0IHR5cGU8\nL3hzOmRvY3VtZW50YXRpb24+DQogICAgPC94czphbm5vdGF0aW9uPg0KICAgIDx4czpyZXN0cmlj\ndGlvbiBiYXNlPSJ4czpzdHJpbmciPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJGaWVs\nZDNfMSIgLz4NCiAgICA8L3hzOnJlc3RyaWN0aW9uPg0KICA8L3hzOnNpbXBsZVR5cGU+DQogIDx4\nczplbGVtZW50IG5hbWU9IkVudW1lcmF0aW9uRGF0YVR5cGUiIHR5cGU9InRuczpFbnVtZXJhdGlv\nbkRhdGFUeXBlIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJMaXN0T2ZFbnVtZXJhdGlv\nbkRhdGFUeXBlIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJF\nbnVtZXJhdGlvbkRhdGFUeXBlIiB0eXBlPSJ0bnM6RW51bWVyYXRpb25EYXRhVHlwZSIgbWluT2Nj\ndXJzPSIwIiBtYXhPY2N1cnM9InVuYm91bmRlZCIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8\nL3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJMaXN0T2ZFbnVtZXJhdGlvbkRh\ndGFUeXBlIiB0eXBlPSJ0bnM6TGlzdE9mRW51bWVyYXRpb25EYXRhVHlwZSIgbmlsbGFibGU9InRy\ndWUiPjwveHM6ZWxlbWVudD4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iQWJzdHJhY3RTdHJ1\nY3R1cmUiPg0KICAgIDx4czphbm5vdGF0aW9uPg0KICAgICAgPHhzOmRvY3VtZW50YXRpb24+QWJz\ndHJhY3Qgc3RydWN0dXJlPC94czpkb2N1bWVudGF0aW9uPg0KICAgIDwveHM6YW5ub3RhdGlvbj4N\nCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJOdW1iZXIiIHR5cGU9\nInVhOlZhcmlhbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hz\nOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJBYnN0cmFjdFN0cnVjdHVyZSIgdHlw\nZT0idG5zOkFic3RyYWN0U3RydWN0dXJlIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJM\naXN0T2ZBYnN0cmFjdFN0cnVjdHVyZSI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVs\nZW1lbnQgbmFtZT0iQWJzdHJhY3RTdHJ1Y3R1cmUiIHR5cGU9InRuczpBYnN0cmFjdFN0cnVjdHVy\nZSIgbWluT2NjdXJzPSIwIiBtYXhPY2N1cnM9InVuYm91bmRlZCIgbmlsbGFibGU9InRydWUiIC8+\nDQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQg\nbmFtZT0iTGlzdE9mQWJzdHJhY3RTdHJ1Y3R1cmUiIHR5cGU9InRuczpMaXN0T2ZBYnN0cmFjdFN0\ncnVjdHVyZSIgbmlsbGFibGU9InRydWUiPjwveHM6ZWxlbWVudD4NCg0KICA8eHM6Y29tcGxleFR5\ncGUgbmFtZT0iRGVyaXZlZFN0cnVjdHVyZSI+DQogICAgPHhzOmNvbXBsZXhDb250ZW50IG1peGVk\nPSJmYWxzZSI+DQogICAgICA8eHM6ZXh0ZW5zaW9uIGJhc2U9InRuczpBYnN0cmFjdFN0cnVjdHVy\nZSI+DQogICAgICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJO\ndW1iZXIiIHR5cGU9InhzOmludCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgICA8L3hzOnNlcXVl\nbmNlPg0KICAgICAgPC94czpleHRlbnNpb24+DQogICAgPC94czpjb21wbGV4Q29udGVudD4NCiAg\nPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iRGVyaXZlZFN0cnVjdHVyZSIg\ndHlwZT0idG5zOkRlcml2ZWRTdHJ1Y3R1cmUiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9\nIkxpc3RPZkRlcml2ZWRTdHJ1Y3R1cmUiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czpl\nbGVtZW50IG5hbWU9IkRlcml2ZWRTdHJ1Y3R1cmUiIHR5cGU9InRuczpEZXJpdmVkU3RydWN0dXJl\nIiBtaW5PY2N1cnM9IjAiIG1heE9jY3Vycz0idW5ib3VuZGVkIiBuaWxsYWJsZT0idHJ1ZSIgLz4N\nCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBu\nYW1lPSJMaXN0T2ZEZXJpdmVkU3RydWN0dXJlIiB0eXBlPSJ0bnM6TGlzdE9mRGVyaXZlZFN0cnVj\ndHVyZSIgbmlsbGFibGU9InRydWUiPjwveHM6ZWxlbWVudD4NCg0KPC94czpzY2hlbWE+</ByteString>\n        </Value>\n      </Value>\n      <DataType>\n        <Identifier>i=15</Identifier>\n      </DataType>\n      <ValueRank>-1</ValueRank>\n      <ArrayDimensions />\n      <AccessLevel>1</AccessLevel>\n      <UserAccessLevel>1</UserAccessLevel>\n      <MinimumSamplingInterval>0</MinimumSamplingInterval>\n      <Historizing>false</Historizing>\n      <AccessLevelEx>0</AccessLevelEx>\n    </Node>\n    <Node i:type=\"VariableNode\">\n      <NodeId>\n        <Identifier>ns=1;i=4</Identifier>\n      </NodeId>\n      <NodeClass>Variable_2</NodeClass>\n      <BrowseName>\n        <NamespaceIndex>0</NamespaceIndex>\n        <Name>NamespaceUri</Name>\n      </BrowseName>\n      <DisplayName>\n        <Locale></Locale>\n        <Text>NamespaceUri</Text>\n      </DisplayName>\n      <Description i:nil=\"true\" />\n      <WriteMask>0</WriteMask>\n      <UserWriteMask>0</UserWriteMask>\n      <RolePermissions />\n      <UserRolePermissions />\n      <AccessRestrictions>0</AccessRestrictions>\n      <References>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=46</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>true</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=2</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=40</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>i=68</Identifier>\n          </TargetId>\n        </ReferenceNode>\n      </References>\n      <Value>\n        <Value>\n          <String xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">http://cas.eu/UA/CommServer/UnitTests/DataTypeTest</String>\n        </Value>\n      </Value>\n      <DataType>\n        <Identifier>i=12</Identifier>\n      </DataType>\n      <ValueRank>-1</ValueRank>\n      <ArrayDimensions />\n      <AccessLevel>1</AccessLevel>\n      <UserAccessLevel>1</UserAccessLevel>\n      <MinimumSamplingInterval>0</MinimumSamplingInterval>\n      <Historizing>false</Historizing>\n      <AccessLevelEx>0</AccessLevelEx>\n    </Node>\n    <Node i:type=\"VariableNode\">\n      <NodeId>\n        <Identifier>ns=1;i=5</Identifier>\n      </NodeId>\n      <NodeClass>Variable_2</NodeClass>\n      <BrowseName>\n        <NamespaceIndex>1</NamespaceIndex>\n        <Name>DataTypeTest</Name>\n      </BrowseName>\n      <DisplayName>\n        <Locale></Locale>\n        <Text>DataTypeTest</Text>\n      </DisplayName>\n      <Description i:nil=\"true\" />\n      <WriteMask>0</WriteMask>\n      <UserWriteMask>0</UserWriteMask>\n      <RolePermissions />\n      <UserRolePermissions />\n      <AccessRestrictions>0</AccessRestrictions>\n      <References>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=40</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>i=72</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=47</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>true</IsInverse>\n          <TargetId>\n            <Identifier>i=93</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=46</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=7</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=46</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=1</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=47</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=19</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=47</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=28</Identifier>\n          </TargetId>\n        </ReferenceNode>\n      </References>\n      <Value>\n        <Value>\n          <ByteString xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">PG9wYzpUeXBlRGljdGlvbmFyeQ0KICB4bWxuczpvcGM9Imh0dHA6Ly9vcGNmb3VuZGF0aW9uLm9y\nZy9CaW5hcnlTY2hlbWEvIg0KICB4bWxuczp4c2k9Imh0dHA6Ly93d3cudzMub3JnLzIwMDEvWE1M\nU2NoZW1hLWluc3RhbmNlIg0KICB4bWxuczp1YT0iaHR0cDovL29wY2ZvdW5kYXRpb24ub3JnL1VB\nLyINCiAgeG1sbnM6dG5zPSJodHRwOi8vY2FzLmV1L1VBL0NvbW1TZXJ2ZXIvVW5pdFRlc3RzL0Rh\ndGFUeXBlVGVzdCINCiAgRGVmYXVsdEJ5dGVPcmRlcj0iTGl0dGxlRW5kaWFuIg0KICBUYXJnZXRO\nYW1lc3BhY2U9Imh0dHA6Ly9jYXMuZXUvVUEvQ29tbVNlcnZlci9Vbml0VGVzdHMvRGF0YVR5cGVU\nZXN0Ig0KPg0KICA8b3BjOkltcG9ydCBOYW1lc3BhY2U9Imh0dHA6Ly9vcGNmb3VuZGF0aW9uLm9y\nZy9VQS8iIExvY2F0aW9uPSIuQmluYXJ5U2NoZW1hLmJzZCIvPg0KDQogIDxvcGM6RW51bWVyYXRl\nZFR5cGUgTmFtZT0iQWJzdHJhY3RFbnVtZXJhdGlvbkRhdGFUeXBlIiBMZW5ndGhJbkJpdHM9IjMy\nIj4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJGaWVsZDEiIFZhbHVlPSIwIiAvPg0K\nICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IkZpZWxkMiIgVmFsdWU9IjEiIC8+DQogIDwv\nb3BjOkVudW1lcmF0ZWRUeXBlPg0KDQogIDxvcGM6RW51bWVyYXRlZFR5cGUgTmFtZT0iRW51bWVy\nYXRpb25EYXRhVHlwZSIgTGVuZ3RoSW5CaXRzPSIzMiI+DQogICAgPG9wYzpEb2N1bWVudGF0aW9u\nPkVudW1lcmF0aW9uIERhdGFUeXBlIGRlcml2ZWQgZnJvbSBhYnN0cmFjdCB0eXBlPC9vcGM6RG9j\ndW1lbnRhdGlvbj4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJGaWVsZDEiIFZhbHVl\nPSIwIiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IkZpZWxkMiIgVmFsdWU9IjEi\nIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iRmllbGQzIiBWYWx1ZT0iMSIgLz4N\nCiAgPC9vcGM6RW51bWVyYXRlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJB\nYnN0cmFjdFN0cnVjdHVyZSIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9w\nYzpEb2N1bWVudGF0aW9uPkFic3RyYWN0IHN0cnVjdHVyZTwvb3BjOkRvY3VtZW50YXRpb24+DQog\nICAgPG9wYzpGaWVsZCBOYW1lPSJOdW1iZXIiIFR5cGVOYW1lPSJ1YTpWYXJpYW50IiAvPg0KICA8\nL29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IkRlcml2\nZWRTdHJ1Y3R1cmUiIEJhc2VUeXBlPSJ0bnM6QWJzdHJhY3RTdHJ1Y3R1cmUiPg0KICAgIDxvcGM6\nRmllbGQgTmFtZT0iTnVtYmVyIiBUeXBlTmFtZT0idWE6VmFyaWFudCIgU291cmNlVHlwZT0idG5z\nOkFic3RyYWN0U3RydWN0dXJlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTnVtYmVyIiBUeXBl\nTmFtZT0ib3BjOkludDMyIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KPC9vcGM6VHlw\nZURpY3Rpb25hcnk+</ByteString>\n        </Value>\n      </Value>\n      <DataType>\n        <Identifier>i=15</Identifier>\n      </DataType>\n      <ValueRank>-1</ValueRank>\n      <ArrayDimensions />\n      <AccessLevel>1</AccessLevel>\n      <UserAccessLevel>1</UserAccessLevel>\n      <MinimumSamplingInterval>0</MinimumSamplingInterval>\n      <Historizing>false</Historizing>\n      <AccessLevelEx>0</AccessLevelEx>\n    </Node>\n    <Node i:type=\"VariableNode\">\n      <NodeId>\n        <Identifier>ns=1;i=7</Identifier>\n      </NodeId>\n      <NodeClass>Variable_2</NodeClass>\n      <BrowseName>\n        <NamespaceIndex>0</NamespaceIndex>\n        <Name>NamespaceUri</Name>\n      </BrowseName>\n      <DisplayName>\n        <Locale></Locale>\n        <Text>NamespaceUri</Text>\n      </DisplayName>\n      <Description i:nil=\"true\" />\n      <WriteMask>0</WriteMask>\n      <UserWriteMask>0</UserWriteMask>\n      <RolePermissions />\n      <UserRolePermissions />\n      <AccessRestrictions>0</AccessRestrictions>\n      <References>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=46</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>true</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=5</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=40</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>i=68</Identifier>\n          </TargetId>\n        </ReferenceNode>\n      </References>\n      <Value>\n        <Value>\n          <String xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">http://cas.eu/UA/CommServer/UnitTests/DataTypeTest</String>\n        </Value>\n      </Value>\n      <DataType>\n        <Identifier>i=12</Identifier>\n      </DataType>\n      <ValueRank>-1</ValueRank>\n      <ArrayDimensions />\n      <AccessLevel>1</AccessLevel>\n      <UserAccessLevel>1</UserAccessLevel>\n      <MinimumSamplingInterval>0</MinimumSamplingInterval>\n      <Historizing>false</Historizing>\n      <AccessLevelEx>0</AccessLevelEx>\n    </Node>\n    <Node i:type=\"VariableNode\">\n      <NodeId>\n        <Identifier>ns=1;i=8</Identifier>\n      </NodeId>\n      <NodeClass>Variable_2</NodeClass>\n      <BrowseName>\n        <NamespaceIndex>0</NamespaceIndex>\n        <Name>Deprecated</Name>\n      </BrowseName>\n      <DisplayName>\n        <Locale></Locale>\n        <Text>Deprecated</Text>\n      </DisplayName>\n      <Description i:nil=\"true\" />\n      <WriteMask>0</WriteMask>\n      <UserWriteMask>0</UserWriteMask>\n      <RolePermissions />\n      <UserRolePermissions />\n      <AccessRestrictions>0</AccessRestrictions>\n      <References>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=46</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>true</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=2</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=40</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>i=68</Identifier>\n          </TargetId>\n        </ReferenceNode>\n      </References>\n      <Value>\n        <Value>\n          <Boolean xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">true</Boolean>\n        </Value>\n      </Value>\n      <DataType>\n        <Identifier>i=1</Identifier>\n      </DataType>\n      <ValueRank>-1</ValueRank>\n      <ArrayDimensions />\n      <AccessLevel>1</AccessLevel>\n      <UserAccessLevel>1</UserAccessLevel>\n      <MinimumSamplingInterval>0</MinimumSamplingInterval>\n      <Historizing>false</Historizing>\n      <AccessLevelEx>0</AccessLevelEx>\n    </Node>\n    <Node i:type=\"DataTypeNode\">\n      <NodeId>\n        <Identifier>ns=1;i=9</Identifier>\n      </NodeId>\n      <NodeClass>DataType_64</NodeClass>\n      <BrowseName>\n        <NamespaceIndex>1</NamespaceIndex>\n        <Name>AbstractEnumerationDataType</Name>\n      </BrowseName>\n      <DisplayName>\n        <Locale></Locale>\n        <Text>AbstractEnumerationDataType</Text>\n      </DisplayName>\n      <Description i:nil=\"true\" />\n      <WriteMask>0</WriteMask>\n      <UserWriteMask>0</UserWriteMask>\n      <RolePermissions />\n      <UserRolePermissions />\n      <AccessRestrictions>0</AccessRestrictions>\n      <References>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=45</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>true</IsInverse>\n          <TargetId>\n            <Identifier>i=29</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=46</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=10</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=45</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=11</Identifier>\n          </TargetId>\n        </ReferenceNode>\n      </References>\n      <IsAbstract>true</IsAbstract>\n      <DataTypeDefinition i:nil=\"true\" />\n    </Node>\n    <Node i:type=\"VariableNode\">\n      <NodeId>\n        <Identifier>ns=1;i=10</Identifier>\n      </NodeId>\n      <NodeClass>Variable_2</NodeClass>\n      <BrowseName>\n        <NamespaceIndex>0</NamespaceIndex>\n        <Name>EnumStrings</Name>\n      </BrowseName>\n      <DisplayName>\n        <Locale></Locale>\n        <Text>EnumStrings</Text>\n      </DisplayName>\n      <Description i:nil=\"true\" />\n      <WriteMask>0</WriteMask>\n      <UserWriteMask>0</UserWriteMask>\n      <RolePermissions />\n      <UserRolePermissions />\n      <AccessRestrictions>0</AccessRestrictions>\n      <References>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=46</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>true</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=9</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=40</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>i=68</Identifier>\n          </TargetId>\n        </ReferenceNode>\n      </References>\n      <Value>\n        <Value>\n          <ListOfLocalizedText xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n            <LocalizedText>\n              <Text>Field1</Text>\n            </LocalizedText>\n            <LocalizedText>\n              <Text>Field2</Text>\n            </LocalizedText>\n          </ListOfLocalizedText>\n        </Value>\n      </Value>\n      <DataType>\n        <Identifier>i=21</Identifier>\n      </DataType>\n      <ValueRank>1</ValueRank>\n      <ArrayDimensions>\n        <UInt32>0</UInt32>\n      </ArrayDimensions>\n      <AccessLevel>1</AccessLevel>\n      <UserAccessLevel>1</UserAccessLevel>\n      <MinimumSamplingInterval>0</MinimumSamplingInterval>\n      <Historizing>false</Historizing>\n      <AccessLevelEx>0</AccessLevelEx>\n    </Node>\n    <Node i:type=\"DataTypeNode\">\n      <NodeId>\n        <Identifier>ns=1;i=11</Identifier>\n      </NodeId>\n      <NodeClass>DataType_64</NodeClass>\n      <BrowseName>\n        <NamespaceIndex>1</NamespaceIndex>\n        <Name>EnumerationDataType</Name>\n      </BrowseName>\n      <DisplayName>\n        <Locale></Locale>\n        <Text>EnumerationDataType</Text>\n      </DisplayName>\n      <Description>\n        <Locale></Locale>\n        <Text>Enumeration DataType derived from abstract type</Text>\n      </Description>\n      <WriteMask>0</WriteMask>\n      <UserWriteMask>0</UserWriteMask>\n      <RolePermissions />\n      <UserRolePermissions />\n      <AccessRestrictions>0</AccessRestrictions>\n      <References>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=45</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>true</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=9</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=46</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=12</Identifier>\n          </TargetId>\n        </ReferenceNode>\n      </References>\n      <IsAbstract>false</IsAbstract>\n      <DataTypeDefinition i:nil=\"true\" />\n    </Node>\n    <Node i:type=\"VariableNode\">\n      <NodeId>\n        <Identifier>ns=1;i=12</Identifier>\n      </NodeId>\n      <NodeClass>Variable_2</NodeClass>\n      <BrowseName>\n        <NamespaceIndex>0</NamespaceIndex>\n        <Name>EnumValues</Name>\n      </BrowseName>\n      <DisplayName>\n        <Locale></Locale>\n        <Text>EnumValues</Text>\n      </DisplayName>\n      <Description i:nil=\"true\" />\n      <WriteMask>0</WriteMask>\n      <UserWriteMask>0</UserWriteMask>\n      <RolePermissions />\n      <UserRolePermissions />\n      <AccessRestrictions>0</AccessRestrictions>\n      <References>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=46</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>true</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=11</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=40</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>i=68</Identifier>\n          </TargetId>\n        </ReferenceNode>\n      </References>\n      <Value>\n        <Value>\n          <ListOfExtensionObject xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n            <ExtensionObject>\n              <TypeId>\n                <Identifier>i=7616</Identifier>\n              </TypeId>\n              <Body>\n                <EnumValueType>\n                  <Value>1</Value>\n                  <DisplayName>\n                    <Text>Field3</Text>\n                  </DisplayName>\n                </EnumValueType>\n              </Body>\n            </ExtensionObject>\n          </ListOfExtensionObject>\n        </Value>\n      </Value>\n      <DataType>\n        <Identifier>i=7594</Identifier>\n      </DataType>\n      <ValueRank>1</ValueRank>\n      <ArrayDimensions>\n        <UInt32>0</UInt32>\n      </ArrayDimensions>\n      <AccessLevel>1</AccessLevel>\n      <UserAccessLevel>1</UserAccessLevel>\n      <MinimumSamplingInterval>0</MinimumSamplingInterval>\n      <Historizing>false</Historizing>\n      <AccessLevelEx>0</AccessLevelEx>\n    </Node>\n    <Node i:type=\"DataTypeNode\">\n      <NodeId>\n        <Identifier>ns=1;i=13</Identifier>\n      </NodeId>\n      <NodeClass>DataType_64</NodeClass>\n      <BrowseName>\n        <NamespaceIndex>1</NamespaceIndex>\n        <Name>AbstractStructure</Name>\n      </BrowseName>\n      <DisplayName>\n        <Locale></Locale>\n        <Text>AbstractStructure</Text>\n      </DisplayName>\n      <Description>\n        <Locale></Locale>\n        <Text>Abstract structure</Text>\n      </Description>\n      <WriteMask>0</WriteMask>\n      <UserWriteMask>0</UserWriteMask>\n      <RolePermissions />\n      <UserRolePermissions />\n      <AccessRestrictions>0</AccessRestrictions>\n      <References>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=45</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>true</IsInverse>\n          <TargetId>\n            <Identifier>i=22</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=45</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=22</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=38</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=18</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=38</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=14</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=38</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=31</Identifier>\n          </TargetId>\n        </ReferenceNode>\n      </References>\n      <IsAbstract>true</IsAbstract>\n      <DataTypeDefinition i:nil=\"true\" />\n    </Node>\n    <Node i:type=\"ObjectNode\">\n      <NodeId>\n        <Identifier>ns=1;i=14</Identifier>\n      </NodeId>\n      <NodeClass>Object_1</NodeClass>\n      <BrowseName>\n        <NamespaceIndex>0</NamespaceIndex>\n        <Name>Default XML</Name>\n      </BrowseName>\n      <DisplayName>\n        <Locale></Locale>\n        <Text>Default XML</Text>\n      </DisplayName>\n      <Description i:nil=\"true\" />\n      <WriteMask>0</WriteMask>\n      <UserWriteMask>0</UserWriteMask>\n      <RolePermissions />\n      <UserRolePermissions />\n      <AccessRestrictions>0</AccessRestrictions>\n      <References>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=40</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>i=76</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=38</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>true</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=13</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=39</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=15</Identifier>\n          </TargetId>\n        </ReferenceNode>\n      </References>\n      <EventNotifier>0</EventNotifier>\n    </Node>\n    <Node i:type=\"VariableNode\">\n      <NodeId>\n        <Identifier>ns=1;i=15</Identifier>\n      </NodeId>\n      <NodeClass>Variable_2</NodeClass>\n      <BrowseName>\n        <NamespaceIndex>1</NamespaceIndex>\n        <Name>AbstractStructure</Name>\n      </BrowseName>\n      <DisplayName>\n        <Locale></Locale>\n        <Text>AbstractStructure</Text>\n      </DisplayName>\n      <Description i:nil=\"true\" />\n      <WriteMask>0</WriteMask>\n      <UserWriteMask>0</UserWriteMask>\n      <RolePermissions />\n      <UserRolePermissions />\n      <AccessRestrictions>0</AccessRestrictions>\n      <References>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=47</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>true</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=2</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=40</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>i=69</Identifier>\n          </TargetId>\n        </ReferenceNode>\n      </References>\n      <Value>\n        <Value>\n          <String xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">//xs:element[@name='AbstractStructure']</String>\n        </Value>\n      </Value>\n      <DataType>\n        <Identifier>i=12</Identifier>\n      </DataType>\n      <ValueRank>-1</ValueRank>\n      <ArrayDimensions />\n      <AccessLevel>1</AccessLevel>\n      <UserAccessLevel>1</UserAccessLevel>\n      <MinimumSamplingInterval>0</MinimumSamplingInterval>\n      <Historizing>false</Historizing>\n      <AccessLevelEx>0</AccessLevelEx>\n    </Node>\n    <Node i:type=\"ObjectNode\">\n      <NodeId>\n        <Identifier>ns=1;i=18</Identifier>\n      </NodeId>\n      <NodeClass>Object_1</NodeClass>\n      <BrowseName>\n        <NamespaceIndex>0</NamespaceIndex>\n        <Name>Default Binary</Name>\n      </BrowseName>\n      <DisplayName>\n        <Locale></Locale>\n        <Text>Default Binary</Text>\n      </DisplayName>\n      <Description i:nil=\"true\" />\n      <WriteMask>0</WriteMask>\n      <UserWriteMask>0</UserWriteMask>\n      <RolePermissions />\n      <UserRolePermissions />\n      <AccessRestrictions>0</AccessRestrictions>\n      <References>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=40</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>i=76</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=38</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>true</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=13</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=39</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=19</Identifier>\n          </TargetId>\n        </ReferenceNode>\n      </References>\n      <EventNotifier>0</EventNotifier>\n    </Node>\n    <Node i:type=\"VariableNode\">\n      <NodeId>\n        <Identifier>ns=1;i=19</Identifier>\n      </NodeId>\n      <NodeClass>Variable_2</NodeClass>\n      <BrowseName>\n        <NamespaceIndex>1</NamespaceIndex>\n        <Name>AbstractStructure</Name>\n      </BrowseName>\n      <DisplayName>\n        <Locale></Locale>\n        <Text>AbstractStructure</Text>\n      </DisplayName>\n      <Description i:nil=\"true\" />\n      <WriteMask>0</WriteMask>\n      <UserWriteMask>0</UserWriteMask>\n      <RolePermissions />\n      <UserRolePermissions />\n      <AccessRestrictions>0</AccessRestrictions>\n      <References>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=47</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>true</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=5</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=40</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>i=69</Identifier>\n          </TargetId>\n        </ReferenceNode>\n      </References>\n      <Value>\n        <Value>\n          <String xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">AbstractStructure</String>\n        </Value>\n      </Value>\n      <DataType>\n        <Identifier>i=12</Identifier>\n      </DataType>\n      <ValueRank>-1</ValueRank>\n      <ArrayDimensions />\n      <AccessLevel>1</AccessLevel>\n      <UserAccessLevel>1</UserAccessLevel>\n      <MinimumSamplingInterval>0</MinimumSamplingInterval>\n      <Historizing>false</Historizing>\n      <AccessLevelEx>0</AccessLevelEx>\n    </Node>\n    <Node i:type=\"DataTypeNode\">\n      <NodeId>\n        <Identifier>ns=1;i=22</Identifier>\n      </NodeId>\n      <NodeClass>DataType_64</NodeClass>\n      <BrowseName>\n        <NamespaceIndex>1</NamespaceIndex>\n        <Name>DerivedStructure</Name>\n      </BrowseName>\n      <DisplayName>\n        <Locale></Locale>\n        <Text>DerivedStructure</Text>\n      </DisplayName>\n      <Description i:nil=\"true\" />\n      <WriteMask>0</WriteMask>\n      <UserWriteMask>0</UserWriteMask>\n      <RolePermissions />\n      <UserRolePermissions />\n      <AccessRestrictions>0</AccessRestrictions>\n      <References>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=45</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>true</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=13</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=38</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=27</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=38</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=23</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=38</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=32</Identifier>\n          </TargetId>\n        </ReferenceNode>\n      </References>\n      <IsAbstract>false</IsAbstract>\n      <DataTypeDefinition i:nil=\"true\" />\n    </Node>\n    <Node i:type=\"ObjectNode\">\n      <NodeId>\n        <Identifier>ns=1;i=23</Identifier>\n      </NodeId>\n      <NodeClass>Object_1</NodeClass>\n      <BrowseName>\n        <NamespaceIndex>0</NamespaceIndex>\n        <Name>Default XML</Name>\n      </BrowseName>\n      <DisplayName>\n        <Locale></Locale>\n        <Text>Default XML</Text>\n      </DisplayName>\n      <Description i:nil=\"true\" />\n      <WriteMask>0</WriteMask>\n      <UserWriteMask>0</UserWriteMask>\n      <RolePermissions />\n      <UserRolePermissions />\n      <AccessRestrictions>0</AccessRestrictions>\n      <References>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=40</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>i=76</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=38</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>true</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=22</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=39</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=24</Identifier>\n          </TargetId>\n        </ReferenceNode>\n      </References>\n      <EventNotifier>0</EventNotifier>\n    </Node>\n    <Node i:type=\"VariableNode\">\n      <NodeId>\n        <Identifier>ns=1;i=24</Identifier>\n      </NodeId>\n      <NodeClass>Variable_2</NodeClass>\n      <BrowseName>\n        <NamespaceIndex>1</NamespaceIndex>\n        <Name>DerivedStructure</Name>\n      </BrowseName>\n      <DisplayName>\n        <Locale></Locale>\n        <Text>DerivedStructure</Text>\n      </DisplayName>\n      <Description i:nil=\"true\" />\n      <WriteMask>0</WriteMask>\n      <UserWriteMask>0</UserWriteMask>\n      <RolePermissions />\n      <UserRolePermissions />\n      <AccessRestrictions>0</AccessRestrictions>\n      <References>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=47</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>true</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=2</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=40</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>i=69</Identifier>\n          </TargetId>\n        </ReferenceNode>\n      </References>\n      <Value>\n        <Value>\n          <String xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">//xs:element[@name='DerivedStructure']</String>\n        </Value>\n      </Value>\n      <DataType>\n        <Identifier>i=12</Identifier>\n      </DataType>\n      <ValueRank>-1</ValueRank>\n      <ArrayDimensions />\n      <AccessLevel>1</AccessLevel>\n      <UserAccessLevel>1</UserAccessLevel>\n      <MinimumSamplingInterval>0</MinimumSamplingInterval>\n      <Historizing>false</Historizing>\n      <AccessLevelEx>0</AccessLevelEx>\n    </Node>\n    <Node i:type=\"ObjectNode\">\n      <NodeId>\n        <Identifier>ns=1;i=27</Identifier>\n      </NodeId>\n      <NodeClass>Object_1</NodeClass>\n      <BrowseName>\n        <NamespaceIndex>0</NamespaceIndex>\n        <Name>Default Binary</Name>\n      </BrowseName>\n      <DisplayName>\n        <Locale></Locale>\n        <Text>Default Binary</Text>\n      </DisplayName>\n      <Description i:nil=\"true\" />\n      <WriteMask>0</WriteMask>\n      <UserWriteMask>0</UserWriteMask>\n      <RolePermissions />\n      <UserRolePermissions />\n      <AccessRestrictions>0</AccessRestrictions>\n      <References>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=40</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>i=76</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=38</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>true</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=22</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=39</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=28</Identifier>\n          </TargetId>\n        </ReferenceNode>\n      </References>\n      <EventNotifier>0</EventNotifier>\n    </Node>\n    <Node i:type=\"VariableNode\">\n      <NodeId>\n        <Identifier>ns=1;i=28</Identifier>\n      </NodeId>\n      <NodeClass>Variable_2</NodeClass>\n      <BrowseName>\n        <NamespaceIndex>1</NamespaceIndex>\n        <Name>DerivedStructure</Name>\n      </BrowseName>\n      <DisplayName>\n        <Locale></Locale>\n        <Text>DerivedStructure</Text>\n      </DisplayName>\n      <Description i:nil=\"true\" />\n      <WriteMask>0</WriteMask>\n      <UserWriteMask>0</UserWriteMask>\n      <RolePermissions />\n      <UserRolePermissions />\n      <AccessRestrictions>0</AccessRestrictions>\n      <References>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=47</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>true</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=5</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=40</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>i=69</Identifier>\n          </TargetId>\n        </ReferenceNode>\n      </References>\n      <Value>\n        <Value>\n          <String xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">DerivedStructure</String>\n        </Value>\n      </Value>\n      <DataType>\n        <Identifier>i=12</Identifier>\n      </DataType>\n      <ValueRank>-1</ValueRank>\n      <ArrayDimensions />\n      <AccessLevel>1</AccessLevel>\n      <UserAccessLevel>1</UserAccessLevel>\n      <MinimumSamplingInterval>0</MinimumSamplingInterval>\n      <Historizing>false</Historizing>\n      <AccessLevelEx>0</AccessLevelEx>\n    </Node>\n    <Node i:type=\"ObjectNode\">\n      <NodeId>\n        <Identifier>ns=1;i=31</Identifier>\n      </NodeId>\n      <NodeClass>Object_1</NodeClass>\n      <BrowseName>\n        <NamespaceIndex>0</NamespaceIndex>\n        <Name>Default JSON</Name>\n      </BrowseName>\n      <DisplayName>\n        <Locale></Locale>\n        <Text>Default JSON</Text>\n      </DisplayName>\n      <Description i:nil=\"true\" />\n      <WriteMask>0</WriteMask>\n      <UserWriteMask>0</UserWriteMask>\n      <RolePermissions />\n      <UserRolePermissions />\n      <AccessRestrictions>0</AccessRestrictions>\n      <References>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=40</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>i=76</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=38</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>true</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=13</Identifier>\n          </TargetId>\n        </ReferenceNode>\n      </References>\n      <EventNotifier>0</EventNotifier>\n    </Node>\n    <Node i:type=\"ObjectNode\">\n      <NodeId>\n        <Identifier>ns=1;i=32</Identifier>\n      </NodeId>\n      <NodeClass>Object_1</NodeClass>\n      <BrowseName>\n        <NamespaceIndex>0</NamespaceIndex>\n        <Name>Default JSON</Name>\n      </BrowseName>\n      <DisplayName>\n        <Locale></Locale>\n        <Text>Default JSON</Text>\n      </DisplayName>\n      <Description i:nil=\"true\" />\n      <WriteMask>0</WriteMask>\n      <UserWriteMask>0</UserWriteMask>\n      <RolePermissions />\n      <UserRolePermissions />\n      <AccessRestrictions>0</AccessRestrictions>\n      <References>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=40</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>i=76</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=38</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>true</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=22</Identifier>\n          </TargetId>\n        </ReferenceNode>\n      </References>\n      <EventNotifier>0</EventNotifier>\n    </Node>\n  </Nodes>\n</NodeSet>"
  },
  {
    "path": "SemanticData/UAModelDesignExport.UnitTest/Models/DataTypeTest/DataTypeTest.NodeSet2.xml",
    "content": "﻿<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<UANodeSet xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\" xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xmlns=\"http://opcfoundation.org/UA/2011/03/UANodeSet.xsd\">\n  <NamespaceUris>\n    <Uri>http://cas.eu/UA/CommServer/UnitTests/DataTypeTest</Uri>\n  </NamespaceUris>\n  <Models>\n    <Model ModelUri=\"http://cas.eu/UA/CommServer/UnitTests/DataTypeTest\">\n      <RequiredModel ModelUri=\"http://opcfoundation.org/UA/\" XmlSchemaUri=\"http://opcfoundation.org/UA/2008/02/Types.xsd\" Version=\"1.04.10\" PublicationDate=\"2021-09-15T00:00:00Z\" />\n    </Model>\n  </Models>\n  <Aliases>\n    <Alias Alias=\"Boolean\">i=1</Alias>\n    <Alias Alias=\"SByte\">i=2</Alias>\n    <Alias Alias=\"Byte\">i=3</Alias>\n    <Alias Alias=\"Int16\">i=4</Alias>\n    <Alias Alias=\"UInt16\">i=5</Alias>\n    <Alias Alias=\"Int32\">i=6</Alias>\n    <Alias Alias=\"UInt32\">i=7</Alias>\n    <Alias Alias=\"Int64\">i=8</Alias>\n    <Alias Alias=\"UInt64\">i=9</Alias>\n    <Alias Alias=\"Float\">i=10</Alias>\n    <Alias Alias=\"Double\">i=11</Alias>\n    <Alias Alias=\"DateTime\">i=13</Alias>\n    <Alias Alias=\"String\">i=12</Alias>\n    <Alias Alias=\"ByteString\">i=15</Alias>\n    <Alias Alias=\"Guid\">i=14</Alias>\n    <Alias Alias=\"XmlElement\">i=16</Alias>\n    <Alias Alias=\"NodeId\">i=17</Alias>\n    <Alias Alias=\"ExpandedNodeId\">i=18</Alias>\n    <Alias Alias=\"QualifiedName\">i=20</Alias>\n    <Alias Alias=\"LocalizedText\">i=21</Alias>\n    <Alias Alias=\"StatusCode\">i=19</Alias>\n    <Alias Alias=\"Structure\">i=22</Alias>\n    <Alias Alias=\"Number\">i=26</Alias>\n    <Alias Alias=\"Integer\">i=27</Alias>\n    <Alias Alias=\"UInteger\">i=28</Alias>\n    <Alias Alias=\"HasComponent\">i=47</Alias>\n    <Alias Alias=\"HasProperty\">i=46</Alias>\n    <Alias Alias=\"Organizes\">i=35</Alias>\n    <Alias Alias=\"HasEventSource\">i=36</Alias>\n    <Alias Alias=\"HasNotifier\">i=48</Alias>\n    <Alias Alias=\"HasSubtype\">i=45</Alias>\n    <Alias Alias=\"HasTypeDefinition\">i=40</Alias>\n    <Alias Alias=\"HasModellingRule\">i=37</Alias>\n    <Alias Alias=\"HasEncoding\">i=38</Alias>\n    <Alias Alias=\"HasDescription\">i=39</Alias>\n    <Alias Alias=\"HasCause\">i=53</Alias>\n    <Alias Alias=\"ToState\">i=52</Alias>\n    <Alias Alias=\"FromState\">i=51</Alias>\n    <Alias Alias=\"HasEffect\">i=54</Alias>\n    <Alias Alias=\"HasTrueSubState\">i=9004</Alias>\n    <Alias Alias=\"HasFalseSubState\">i=9005</Alias>\n    <Alias Alias=\"HasDictionaryEntry\">i=17597</Alias>\n    <Alias Alias=\"HasCondition\">i=9006</Alias>\n    <Alias Alias=\"HasGuard\">i=15112</Alias>\n    <Alias Alias=\"HasAddIn\">i=17604</Alias>\n    <Alias Alias=\"HasInterface\">i=17603</Alias>\n  </Aliases>\n  <UADataType NodeId=\"ns=1;i=9\" BrowseName=\"1:AbstractEnumerationDataType\" IsAbstract=\"true\">\n    <DisplayName>AbstractEnumerationDataType</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=10</Reference>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=29</Reference>\n    </References>\n    <Definition Name=\"1:AbstractEnumerationDataType\">\n      <Field Name=\"Field1\" Value=\"0\" />\n      <Field Name=\"Field2\" Value=\"1\" />\n    </Definition>\n  </UADataType>\n  <UAVariable NodeId=\"ns=1;i=10\" BrowseName=\"EnumStrings\" ParentNodeId=\"ns=1;i=9\" DataType=\"LocalizedText\" ValueRank=\"1\" ArrayDimensions=\"0\">\n    <DisplayName>EnumStrings</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=9</Reference>\n    </References>\n    <Value>\n      <ListOfLocalizedText xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <LocalizedText>\n          <Text>Field1</Text>\n        </LocalizedText>\n        <LocalizedText>\n          <Text>Field2</Text>\n        </LocalizedText>\n      </ListOfLocalizedText>\n    </Value>\n  </UAVariable>\n  <UADataType NodeId=\"ns=1;i=11\" BrowseName=\"1:EnumerationDataType\">\n    <DisplayName>EnumerationDataType</DisplayName>\n    <Description>Enumeration DataType derived from abstract type</Description>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=12</Reference>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">ns=1;i=9</Reference>\n    </References>\n    <Definition Name=\"1:EnumerationDataType\">\n      <Field Name=\"Field3\" Value=\"1\" />\n    </Definition>\n  </UADataType>\n  <UAVariable NodeId=\"ns=1;i=12\" BrowseName=\"EnumValues\" ParentNodeId=\"ns=1;i=11\" DataType=\"i=7594\" ValueRank=\"1\" ArrayDimensions=\"0\">\n    <DisplayName>EnumValues</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=11</Reference>\n    </References>\n    <Value>\n      <ListOfExtensionObject xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=7616</Identifier>\n          </TypeId>\n          <Body>\n            <EnumValueType>\n              <Value>1</Value>\n              <DisplayName>\n                <Text>Field3</Text>\n              </DisplayName>\n            </EnumValueType>\n          </Body>\n        </ExtensionObject>\n      </ListOfExtensionObject>\n    </Value>\n  </UAVariable>\n  <UADataType NodeId=\"ns=1;i=13\" BrowseName=\"1:AbstractStructure\" IsAbstract=\"true\">\n    <DisplayName>AbstractStructure</DisplayName>\n    <Description>Abstract structure</Description>\n    <References>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=22</Reference>\n    </References>\n    <Definition Name=\"1:AbstractStructure\">\n      <Field Name=\"Number\" DataType=\"i=26\" />\n    </Definition>\n  </UADataType>\n  <UADataType NodeId=\"ns=1;i=22\" BrowseName=\"1:DerivedStructure\">\n    <DisplayName>DerivedStructure</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">ns=1;i=13</Reference>\n    </References>\n    <Definition Name=\"1:DerivedStructure\">\n      <Field Name=\"Number\" DataType=\"i=6\">\n        <Description>Derived from Number</Description>\n      </Field>\n    </Definition>\n  </UADataType>\n  <UAObject NodeId=\"ns=1;i=18\" BrowseName=\"Default Binary\" SymbolicName=\"DefaultBinary\">\n    <DisplayName>Default Binary</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasEncoding\" IsForward=\"false\">ns=1;i=13</Reference>\n      <Reference ReferenceType=\"HasDescription\">ns=1;i=19</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=76</Reference>\n    </References>\n  </UAObject>\n  <UAObject NodeId=\"ns=1;i=27\" BrowseName=\"Default Binary\" SymbolicName=\"DefaultBinary\">\n    <DisplayName>Default Binary</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasEncoding\" IsForward=\"false\">ns=1;i=22</Reference>\n      <Reference ReferenceType=\"HasDescription\">ns=1;i=28</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=76</Reference>\n    </References>\n  </UAObject>\n  <UAVariable NodeId=\"ns=1;i=5\" BrowseName=\"1:DataTypeTest\" SymbolicName=\"cas_BinarySchema\" ReleaseStatus=\"Deprecated\" DataType=\"ByteString\">\n    <DisplayName>DataTypeTest</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=7</Reference>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=1</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=19</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=28</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=93</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=72</Reference>\n    </References>\n    <Value>\n      <ByteString xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">PG9wYzpUeXBlRGljdGlvbmFyeQ0KICB4bWxuczpvcGM9Imh0dHA6Ly9vcGNmb3VuZGF0aW9uLm9y\nZy9CaW5hcnlTY2hlbWEvIg0KICB4bWxuczp4c2k9Imh0dHA6Ly93d3cudzMub3JnLzIwMDEvWE1M\nU2NoZW1hLWluc3RhbmNlIg0KICB4bWxuczp1YT0iaHR0cDovL29wY2ZvdW5kYXRpb24ub3JnL1VB\nLyINCiAgeG1sbnM6dG5zPSJodHRwOi8vY2FzLmV1L1VBL0NvbW1TZXJ2ZXIvVW5pdFRlc3RzL0Rh\ndGFUeXBlVGVzdCINCiAgRGVmYXVsdEJ5dGVPcmRlcj0iTGl0dGxlRW5kaWFuIg0KICBUYXJnZXRO\nYW1lc3BhY2U9Imh0dHA6Ly9jYXMuZXUvVUEvQ29tbVNlcnZlci9Vbml0VGVzdHMvRGF0YVR5cGVU\nZXN0Ig0KPg0KICA8b3BjOkltcG9ydCBOYW1lc3BhY2U9Imh0dHA6Ly9vcGNmb3VuZGF0aW9uLm9y\nZy9VQS8iIExvY2F0aW9uPSIuQmluYXJ5U2NoZW1hLmJzZCIvPg0KDQogIDxvcGM6RW51bWVyYXRl\nZFR5cGUgTmFtZT0iQWJzdHJhY3RFbnVtZXJhdGlvbkRhdGFUeXBlIiBMZW5ndGhJbkJpdHM9IjMy\nIj4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJGaWVsZDEiIFZhbHVlPSIwIiAvPg0K\nICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IkZpZWxkMiIgVmFsdWU9IjEiIC8+DQogIDwv\nb3BjOkVudW1lcmF0ZWRUeXBlPg0KDQogIDxvcGM6RW51bWVyYXRlZFR5cGUgTmFtZT0iRW51bWVy\nYXRpb25EYXRhVHlwZSIgTGVuZ3RoSW5CaXRzPSIzMiI+DQogICAgPG9wYzpEb2N1bWVudGF0aW9u\nPkVudW1lcmF0aW9uIERhdGFUeXBlIGRlcml2ZWQgZnJvbSBhYnN0cmFjdCB0eXBlPC9vcGM6RG9j\ndW1lbnRhdGlvbj4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJGaWVsZDEiIFZhbHVl\nPSIwIiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IkZpZWxkMiIgVmFsdWU9IjEi\nIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iRmllbGQzIiBWYWx1ZT0iMSIgLz4N\nCiAgPC9vcGM6RW51bWVyYXRlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJB\nYnN0cmFjdFN0cnVjdHVyZSIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9w\nYzpEb2N1bWVudGF0aW9uPkFic3RyYWN0IHN0cnVjdHVyZTwvb3BjOkRvY3VtZW50YXRpb24+DQog\nICAgPG9wYzpGaWVsZCBOYW1lPSJOdW1iZXIiIFR5cGVOYW1lPSJ1YTpWYXJpYW50IiAvPg0KICA8\nL29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IkRlcml2\nZWRTdHJ1Y3R1cmUiIEJhc2VUeXBlPSJ0bnM6QWJzdHJhY3RTdHJ1Y3R1cmUiPg0KICAgIDxvcGM6\nRmllbGQgTmFtZT0iTnVtYmVyIiBUeXBlTmFtZT0idWE6VmFyaWFudCIgU291cmNlVHlwZT0idG5z\nOkFic3RyYWN0U3RydWN0dXJlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTnVtYmVyIiBUeXBl\nTmFtZT0ib3BjOkludDMyIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KPC9vcGM6VHlw\nZURpY3Rpb25hcnk+</ByteString>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=7\" BrowseName=\"NamespaceUri\" ReleaseStatus=\"Deprecated\" ParentNodeId=\"ns=1;i=5\" DataType=\"String\">\n    <DisplayName>NamespaceUri</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=5</Reference>\n    </References>\n    <Value>\n      <String xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">http://cas.eu/UA/CommServer/UnitTests/DataTypeTest</String>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=1\" BrowseName=\"Deprecated\" ReleaseStatus=\"Deprecated\" ParentNodeId=\"ns=1;i=5\" DataType=\"Boolean\">\n    <DisplayName>Deprecated</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=5</Reference>\n    </References>\n    <Value>\n      <Boolean xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">true</Boolean>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=19\" BrowseName=\"1:AbstractStructure\" ReleaseStatus=\"Deprecated\" ParentNodeId=\"ns=1;i=5\" DataType=\"String\">\n    <DisplayName>AbstractStructure</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=69</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=5</Reference>\n    </References>\n    <Value>\n      <String xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">AbstractStructure</String>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=28\" BrowseName=\"1:DerivedStructure\" ReleaseStatus=\"Deprecated\" ParentNodeId=\"ns=1;i=5\" DataType=\"String\">\n    <DisplayName>DerivedStructure</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=69</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=5</Reference>\n    </References>\n    <Value>\n      <String xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">DerivedStructure</String>\n    </Value>\n  </UAVariable>\n  <UAObject NodeId=\"ns=1;i=14\" BrowseName=\"Default XML\" SymbolicName=\"DefaultXml\">\n    <DisplayName>Default XML</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasEncoding\" IsForward=\"false\">ns=1;i=13</Reference>\n      <Reference ReferenceType=\"HasDescription\">ns=1;i=15</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=76</Reference>\n    </References>\n  </UAObject>\n  <UAObject NodeId=\"ns=1;i=23\" BrowseName=\"Default XML\" SymbolicName=\"DefaultXml\">\n    <DisplayName>Default XML</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasEncoding\" IsForward=\"false\">ns=1;i=22</Reference>\n      <Reference ReferenceType=\"HasDescription\">ns=1;i=24</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=76</Reference>\n    </References>\n  </UAObject>\n  <UAVariable NodeId=\"ns=1;i=2\" BrowseName=\"1:DataTypeTest\" SymbolicName=\"cas_XmlSchema\" ReleaseStatus=\"Deprecated\" DataType=\"ByteString\">\n    <DisplayName>DataTypeTest</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=4</Reference>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=8</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=15</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=24</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=92</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=72</Reference>\n    </References>\n    <Value>\n      <ByteString xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">PHhzOnNjaGVtYQ0KICB4bWxuczp4cz0iaHR0cDovL3d3dy53My5vcmcvMjAwMS9YTUxTY2hlbWEi\nDQogIHhtbG5zOnVhPSJodHRwOi8vb3BjZm91bmRhdGlvbi5vcmcvVUEvMjAwOC8wMi9UeXBlcy54\nc2QiDQogIHhtbG5zOnRucz0iaHR0cDovL2Nhcy5ldS9VQS9Db21tU2VydmVyL1VuaXRUZXN0cy9E\nYXRhVHlwZVRlc3QiDQogIHRhcmdldE5hbWVzcGFjZT0iaHR0cDovL2Nhcy5ldS9VQS9Db21tU2Vy\ndmVyL1VuaXRUZXN0cy9EYXRhVHlwZVRlc3QiDQogIGVsZW1lbnRGb3JtRGVmYXVsdD0icXVhbGlm\naWVkIg0KPg0KICA8eHM6aW1wb3J0IG5hbWVzcGFjZT0iaHR0cDovL29wY2ZvdW5kYXRpb24ub3Jn\nL1VBLyIgLz4NCg0KICA8eHM6c2ltcGxlVHlwZSAgbmFtZT0iQWJzdHJhY3RFbnVtZXJhdGlvbkRh\ndGFUeXBlIj4NCiAgICA8eHM6cmVzdHJpY3Rpb24gYmFzZT0ieHM6c3RyaW5nIj4NCiAgICAgIDx4\nczplbnVtZXJhdGlvbiB2YWx1ZT0iRmllbGQxXzAiIC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24g\ndmFsdWU9IkZpZWxkMl8xIiAvPg0KICAgIDwveHM6cmVzdHJpY3Rpb24+DQogIDwveHM6c2ltcGxl\nVHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iQWJzdHJhY3RFbnVtZXJhdGlvbkRhdGFUeXBlIiB0\neXBlPSJ0bnM6QWJzdHJhY3RFbnVtZXJhdGlvbkRhdGFUeXBlIiAvPg0KDQogIDx4czpjb21wbGV4\nVHlwZSBuYW1lPSJMaXN0T2ZBYnN0cmFjdEVudW1lcmF0aW9uRGF0YVR5cGUiPg0KICAgIDx4czpz\nZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkFic3RyYWN0RW51bWVyYXRpb25EYXRh\nVHlwZSIgdHlwZT0idG5zOkFic3RyYWN0RW51bWVyYXRpb25EYXRhVHlwZSIgbWluT2NjdXJzPSIw\nIiBtYXhPY2N1cnM9InVuYm91bmRlZCIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNv\nbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJMaXN0T2ZBYnN0cmFjdEVudW1lcmF0aW9u\nRGF0YVR5cGUiIHR5cGU9InRuczpMaXN0T2ZBYnN0cmFjdEVudW1lcmF0aW9uRGF0YVR5cGUiIG5p\nbGxhYmxlPSJ0cnVlIj48L3hzOmVsZW1lbnQ+DQoNCiAgPHhzOnNpbXBsZVR5cGUgIG5hbWU9IkVu\ndW1lcmF0aW9uRGF0YVR5cGUiPg0KICAgIDx4czphbm5vdGF0aW9uPg0KICAgICAgPHhzOmRvY3Vt\nZW50YXRpb24+RW51bWVyYXRpb24gRGF0YVR5cGUgZGVyaXZlZCBmcm9tIGFic3RyYWN0IHR5cGU8\nL3hzOmRvY3VtZW50YXRpb24+DQogICAgPC94czphbm5vdGF0aW9uPg0KICAgIDx4czpyZXN0cmlj\ndGlvbiBiYXNlPSJ4czpzdHJpbmciPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJGaWVs\nZDNfMSIgLz4NCiAgICA8L3hzOnJlc3RyaWN0aW9uPg0KICA8L3hzOnNpbXBsZVR5cGU+DQogIDx4\nczplbGVtZW50IG5hbWU9IkVudW1lcmF0aW9uRGF0YVR5cGUiIHR5cGU9InRuczpFbnVtZXJhdGlv\nbkRhdGFUeXBlIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJMaXN0T2ZFbnVtZXJhdGlv\nbkRhdGFUeXBlIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJF\nbnVtZXJhdGlvbkRhdGFUeXBlIiB0eXBlPSJ0bnM6RW51bWVyYXRpb25EYXRhVHlwZSIgbWluT2Nj\ndXJzPSIwIiBtYXhPY2N1cnM9InVuYm91bmRlZCIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8\nL3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJMaXN0T2ZFbnVtZXJhdGlvbkRh\ndGFUeXBlIiB0eXBlPSJ0bnM6TGlzdE9mRW51bWVyYXRpb25EYXRhVHlwZSIgbmlsbGFibGU9InRy\ndWUiPjwveHM6ZWxlbWVudD4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iQWJzdHJhY3RTdHJ1\nY3R1cmUiPg0KICAgIDx4czphbm5vdGF0aW9uPg0KICAgICAgPHhzOmRvY3VtZW50YXRpb24+QWJz\ndHJhY3Qgc3RydWN0dXJlPC94czpkb2N1bWVudGF0aW9uPg0KICAgIDwveHM6YW5ub3RhdGlvbj4N\nCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJOdW1iZXIiIHR5cGU9\nInVhOlZhcmlhbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hz\nOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJBYnN0cmFjdFN0cnVjdHVyZSIgdHlw\nZT0idG5zOkFic3RyYWN0U3RydWN0dXJlIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJM\naXN0T2ZBYnN0cmFjdFN0cnVjdHVyZSI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVs\nZW1lbnQgbmFtZT0iQWJzdHJhY3RTdHJ1Y3R1cmUiIHR5cGU9InRuczpBYnN0cmFjdFN0cnVjdHVy\nZSIgbWluT2NjdXJzPSIwIiBtYXhPY2N1cnM9InVuYm91bmRlZCIgbmlsbGFibGU9InRydWUiIC8+\nDQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQg\nbmFtZT0iTGlzdE9mQWJzdHJhY3RTdHJ1Y3R1cmUiIHR5cGU9InRuczpMaXN0T2ZBYnN0cmFjdFN0\ncnVjdHVyZSIgbmlsbGFibGU9InRydWUiPjwveHM6ZWxlbWVudD4NCg0KICA8eHM6Y29tcGxleFR5\ncGUgbmFtZT0iRGVyaXZlZFN0cnVjdHVyZSI+DQogICAgPHhzOmNvbXBsZXhDb250ZW50IG1peGVk\nPSJmYWxzZSI+DQogICAgICA8eHM6ZXh0ZW5zaW9uIGJhc2U9InRuczpBYnN0cmFjdFN0cnVjdHVy\nZSI+DQogICAgICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJO\ndW1iZXIiIHR5cGU9InhzOmludCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgICA8L3hzOnNlcXVl\nbmNlPg0KICAgICAgPC94czpleHRlbnNpb24+DQogICAgPC94czpjb21wbGV4Q29udGVudD4NCiAg\nPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iRGVyaXZlZFN0cnVjdHVyZSIg\ndHlwZT0idG5zOkRlcml2ZWRTdHJ1Y3R1cmUiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9\nIkxpc3RPZkRlcml2ZWRTdHJ1Y3R1cmUiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czpl\nbGVtZW50IG5hbWU9IkRlcml2ZWRTdHJ1Y3R1cmUiIHR5cGU9InRuczpEZXJpdmVkU3RydWN0dXJl\nIiBtaW5PY2N1cnM9IjAiIG1heE9jY3Vycz0idW5ib3VuZGVkIiBuaWxsYWJsZT0idHJ1ZSIgLz4N\nCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBu\nYW1lPSJMaXN0T2ZEZXJpdmVkU3RydWN0dXJlIiB0eXBlPSJ0bnM6TGlzdE9mRGVyaXZlZFN0cnVj\ndHVyZSIgbmlsbGFibGU9InRydWUiPjwveHM6ZWxlbWVudD4NCg0KPC94czpzY2hlbWE+</ByteString>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=4\" BrowseName=\"NamespaceUri\" ReleaseStatus=\"Deprecated\" ParentNodeId=\"ns=1;i=2\" DataType=\"String\">\n    <DisplayName>NamespaceUri</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=2</Reference>\n    </References>\n    <Value>\n      <String xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">http://cas.eu/UA/CommServer/UnitTests/DataTypeTest</String>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=8\" BrowseName=\"Deprecated\" ReleaseStatus=\"Deprecated\" ParentNodeId=\"ns=1;i=2\" DataType=\"Boolean\">\n    <DisplayName>Deprecated</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=2</Reference>\n    </References>\n    <Value>\n      <Boolean xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">true</Boolean>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=15\" BrowseName=\"1:AbstractStructure\" ReleaseStatus=\"Deprecated\" ParentNodeId=\"ns=1;i=2\" DataType=\"String\">\n    <DisplayName>AbstractStructure</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=69</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=2</Reference>\n    </References>\n    <Value>\n      <String xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">//xs:element[@name='AbstractStructure']</String>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=24\" BrowseName=\"1:DerivedStructure\" ReleaseStatus=\"Deprecated\" ParentNodeId=\"ns=1;i=2\" DataType=\"String\">\n    <DisplayName>DerivedStructure</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=69</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=2</Reference>\n    </References>\n    <Value>\n      <String xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">//xs:element[@name='DerivedStructure']</String>\n    </Value>\n  </UAVariable>\n  <UAObject NodeId=\"ns=1;i=31\" BrowseName=\"Default JSON\" SymbolicName=\"DefaultJson\">\n    <DisplayName>Default JSON</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasEncoding\" IsForward=\"false\">ns=1;i=13</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=76</Reference>\n    </References>\n  </UAObject>\n  <UAObject NodeId=\"ns=1;i=32\" BrowseName=\"Default JSON\" SymbolicName=\"DefaultJson\">\n    <DisplayName>Default JSON</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasEncoding\" IsForward=\"false\">ns=1;i=22</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=76</Reference>\n    </References>\n  </UAObject>\n</UANodeSet>"
  },
  {
    "path": "SemanticData/UAModelDesignExport.UnitTest/Models/DataTypeTest/DataTypeTest.PredefinedNodes.xml",
    "content": "﻿<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<uax:ListOfNodeState xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xmlns:uax=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n  <uax:NamespaceUris>\n    <uax:NamespaceUri>http://cas.eu/UA/CommServer/UnitTests/DataTypeTest</uax:NamespaceUri>\n  </uax:NamespaceUris>\n  <AbstractEnumerationDataType xmlns=\"http://cas.eu/UA/CommServer/UnitTests/DataTypeTest\">\n    <uax:NodeClass>DataType_64</uax:NodeClass>\n    <uax:NodeId>\n      <uax:Identifier>ns=1;i=9</uax:Identifier>\n    </uax:NodeId>\n    <uax:BrowseName>\n      <uax:NamespaceIndex>1</uax:NamespaceIndex>\n      <uax:Name>AbstractEnumerationDataType</uax:Name>\n    </uax:BrowseName>\n    <uax:SuperTypeId>\n      <uax:Identifier>i=29</uax:Identifier>\n    </uax:SuperTypeId>\n    <uax:IsAbstract>true</uax:IsAbstract>\n    <uax:DataTypeDefinition>\n      <uax:TypeId>\n        <uax:Identifier>i=14799</uax:Identifier>\n      </uax:TypeId>\n      <uax:Body>\n        <uax:EnumDefinition>\n          <uax:Fields>\n            <uax:EnumField>\n              <uax:Value>0</uax:Value>\n              <uax:DisplayName>\n                <uax:Text>Field1</uax:Text>\n              </uax:DisplayName>\n              <uax:Name>Field1</uax:Name>\n            </uax:EnumField>\n            <uax:EnumField>\n              <uax:Value>1</uax:Value>\n              <uax:DisplayName>\n                <uax:Text>Field2</uax:Text>\n              </uax:DisplayName>\n              <uax:Name>Field2</uax:Name>\n            </uax:EnumField>\n          </uax:Fields>\n        </uax:EnumDefinition>\n      </uax:Body>\n    </uax:DataTypeDefinition>\n    <EnumStrings xmlns=\"http://opcfoundation.org/UA/\">\n      <uax:NodeClass>Variable_2</uax:NodeClass>\n      <uax:NodeId>\n        <uax:Identifier>ns=1;i=10</uax:Identifier>\n      </uax:NodeId>\n      <uax:BrowseName>\n        <uax:NamespaceIndex>0</uax:NamespaceIndex>\n        <uax:Name>EnumStrings</uax:Name>\n      </uax:BrowseName>\n      <uax:ReferenceTypeId>\n        <uax:Identifier>i=46</uax:Identifier>\n      </uax:ReferenceTypeId>\n      <uax:TypeDefinitionId>\n        <uax:Identifier>i=68</uax:Identifier>\n      </uax:TypeDefinitionId>\n      <uax:NumericId>10</uax:NumericId>\n      <uax:Value>\n        <uax:Value>\n          <uax:ListOfLocalizedText>\n            <uax:LocalizedText>\n              <uax:Text>Field1</uax:Text>\n            </uax:LocalizedText>\n            <uax:LocalizedText>\n              <uax:Text>Field2</uax:Text>\n            </uax:LocalizedText>\n          </uax:ListOfLocalizedText>\n        </uax:Value>\n      </uax:Value>\n      <uax:DataType>\n        <uax:Identifier>i=21</uax:Identifier>\n      </uax:DataType>\n      <uax:ValueRank>1</uax:ValueRank>\n      <uax:ArrayDimensions>0</uax:ArrayDimensions>\n      <uax:AccessLevel>1</uax:AccessLevel>\n      <uax:UserAccessLevel>1</uax:UserAccessLevel>\n    </EnumStrings>\n  </AbstractEnumerationDataType>\n  <EnumerationDataType xmlns=\"http://cas.eu/UA/CommServer/UnitTests/DataTypeTest\">\n    <uax:NodeClass>DataType_64</uax:NodeClass>\n    <uax:NodeId>\n      <uax:Identifier>ns=1;i=11</uax:Identifier>\n    </uax:NodeId>\n    <uax:BrowseName>\n      <uax:NamespaceIndex>1</uax:NamespaceIndex>\n      <uax:Name>EnumerationDataType</uax:Name>\n    </uax:BrowseName>\n    <uax:Description>\n      <uax:Text>Enumeration DataType derived from abstract type</uax:Text>\n    </uax:Description>\n    <uax:SuperTypeId>\n      <uax:Identifier>ns=1;i=9</uax:Identifier>\n    </uax:SuperTypeId>\n    <uax:DataTypeDefinition>\n      <uax:TypeId>\n        <uax:Identifier>i=14799</uax:Identifier>\n      </uax:TypeId>\n      <uax:Body>\n        <uax:EnumDefinition>\n          <uax:Fields>\n            <uax:EnumField>\n              <uax:Value>1</uax:Value>\n              <uax:DisplayName>\n                <uax:Text>Field3</uax:Text>\n              </uax:DisplayName>\n              <uax:Name>Field3</uax:Name>\n            </uax:EnumField>\n          </uax:Fields>\n        </uax:EnumDefinition>\n      </uax:Body>\n    </uax:DataTypeDefinition>\n    <EnumValues xmlns=\"http://opcfoundation.org/UA/\">\n      <uax:NodeClass>Variable_2</uax:NodeClass>\n      <uax:NodeId>\n        <uax:Identifier>ns=1;i=12</uax:Identifier>\n      </uax:NodeId>\n      <uax:BrowseName>\n        <uax:NamespaceIndex>0</uax:NamespaceIndex>\n        <uax:Name>EnumValues</uax:Name>\n      </uax:BrowseName>\n      <uax:ReferenceTypeId>\n        <uax:Identifier>i=46</uax:Identifier>\n      </uax:ReferenceTypeId>\n      <uax:TypeDefinitionId>\n        <uax:Identifier>i=68</uax:Identifier>\n      </uax:TypeDefinitionId>\n      <uax:NumericId>12</uax:NumericId>\n      <uax:Value>\n        <uax:Value>\n          <uax:ListOfExtensionObject>\n            <uax:ExtensionObject>\n              <uax:TypeId>\n                <uax:Identifier>i=7616</uax:Identifier>\n              </uax:TypeId>\n              <uax:Body>\n                <uax:EnumValueType>\n                  <uax:Value>1</uax:Value>\n                  <uax:DisplayName>\n                    <uax:Text>Field3</uax:Text>\n                  </uax:DisplayName>\n                </uax:EnumValueType>\n              </uax:Body>\n            </uax:ExtensionObject>\n          </uax:ListOfExtensionObject>\n        </uax:Value>\n      </uax:Value>\n      <uax:DataType>\n        <uax:Identifier>i=7594</uax:Identifier>\n      </uax:DataType>\n      <uax:ValueRank>1</uax:ValueRank>\n      <uax:ArrayDimensions>0</uax:ArrayDimensions>\n      <uax:AccessLevel>1</uax:AccessLevel>\n      <uax:UserAccessLevel>1</uax:UserAccessLevel>\n    </EnumValues>\n  </EnumerationDataType>\n  <AbstractStructure xmlns=\"http://cas.eu/UA/CommServer/UnitTests/DataTypeTest\">\n    <uax:NodeClass>DataType_64</uax:NodeClass>\n    <uax:NodeId>\n      <uax:Identifier>ns=1;i=13</uax:Identifier>\n    </uax:NodeId>\n    <uax:BrowseName>\n      <uax:NamespaceIndex>1</uax:NamespaceIndex>\n      <uax:Name>AbstractStructure</uax:Name>\n    </uax:BrowseName>\n    <uax:Description>\n      <uax:Text>Abstract structure</uax:Text>\n    </uax:Description>\n    <uax:SuperTypeId>\n      <uax:Identifier>i=22</uax:Identifier>\n    </uax:SuperTypeId>\n    <uax:IsAbstract>true</uax:IsAbstract>\n    <uax:DataTypeDefinition>\n      <uax:TypeId>\n        <uax:Identifier>i=14798</uax:Identifier>\n      </uax:TypeId>\n      <uax:Body>\n        <uax:StructureDefinition>\n          <uax:BaseDataType>\n            <uax:Identifier>i=22</uax:Identifier>\n          </uax:BaseDataType>\n          <uax:StructureType>Structure_0</uax:StructureType>\n          <uax:Fields>\n            <uax:StructureField>\n              <uax:Name>Number</uax:Name>\n              <uax:DataType>\n                <uax:Identifier>i=26</uax:Identifier>\n              </uax:DataType>\n              <uax:ValueRank>-1</uax:ValueRank>\n              <uax:ArrayDimensions />\n              <uax:MaxStringLength>0</uax:MaxStringLength>\n              <uax:IsOptional>false</uax:IsOptional>\n            </uax:StructureField>\n          </uax:Fields>\n        </uax:StructureDefinition>\n      </uax:Body>\n    </uax:DataTypeDefinition>\n  </AbstractStructure>\n  <DerivedStructure xmlns=\"http://cas.eu/UA/CommServer/UnitTests/DataTypeTest\">\n    <uax:NodeClass>DataType_64</uax:NodeClass>\n    <uax:NodeId>\n      <uax:Identifier>ns=1;i=22</uax:Identifier>\n    </uax:NodeId>\n    <uax:BrowseName>\n      <uax:NamespaceIndex>1</uax:NamespaceIndex>\n      <uax:Name>DerivedStructure</uax:Name>\n    </uax:BrowseName>\n    <uax:SuperTypeId>\n      <uax:Identifier>ns=1;i=13</uax:Identifier>\n    </uax:SuperTypeId>\n    <uax:DataTypeDefinition>\n      <uax:TypeId>\n        <uax:Identifier>i=14798</uax:Identifier>\n      </uax:TypeId>\n      <uax:Body>\n        <uax:StructureDefinition>\n          <uax:BaseDataType>\n            <uax:Identifier>ns=1;i=13</uax:Identifier>\n          </uax:BaseDataType>\n          <uax:StructureType>Structure_0</uax:StructureType>\n          <uax:Fields>\n            <uax:StructureField>\n              <uax:Name>Number</uax:Name>\n              <uax:DataType>\n                <uax:Identifier>i=26</uax:Identifier>\n              </uax:DataType>\n              <uax:ValueRank>-1</uax:ValueRank>\n              <uax:ArrayDimensions />\n              <uax:MaxStringLength>0</uax:MaxStringLength>\n              <uax:IsOptional>false</uax:IsOptional>\n            </uax:StructureField>\n            <uax:StructureField>\n              <uax:Name>Number</uax:Name>\n              <uax:Description>\n                <uax:Text>Derived from Number</uax:Text>\n              </uax:Description>\n              <uax:DataType>\n                <uax:Identifier>i=6</uax:Identifier>\n              </uax:DataType>\n              <uax:ValueRank>-1</uax:ValueRank>\n              <uax:ArrayDimensions />\n              <uax:MaxStringLength>0</uax:MaxStringLength>\n              <uax:IsOptional>false</uax:IsOptional>\n            </uax:StructureField>\n          </uax:Fields>\n        </uax:StructureDefinition>\n      </uax:Body>\n    </uax:DataTypeDefinition>\n  </DerivedStructure>\n  <DefaultBinary xmlns=\"http://opcfoundation.org/UA/\">\n    <uax:NodeClass>Object_1</uax:NodeClass>\n    <uax:NodeId>\n      <uax:Identifier>ns=1;i=18</uax:Identifier>\n    </uax:NodeId>\n    <uax:BrowseName>\n      <uax:NamespaceIndex>0</uax:NamespaceIndex>\n      <uax:Name>Default Binary</uax:Name>\n    </uax:BrowseName>\n    <uax:TypeDefinitionId>\n      <uax:Identifier>i=76</uax:Identifier>\n    </uax:TypeDefinitionId>\n    <uax:NumericId>18</uax:NumericId>\n    <uax:References>\n      <uax:Reference>\n        <uax:ReferenceTypeId>\n          <uax:Identifier>i=38</uax:Identifier>\n        </uax:ReferenceTypeId>\n        <uax:IsInverse>true</uax:IsInverse>\n        <uax:TargetId>\n          <uax:Identifier>ns=1;i=13</uax:Identifier>\n        </uax:TargetId>\n      </uax:Reference>\n      <uax:Reference>\n        <uax:ReferenceTypeId>\n          <uax:Identifier>i=39</uax:Identifier>\n        </uax:ReferenceTypeId>\n        <uax:TargetId>\n          <uax:Identifier>ns=1;i=19</uax:Identifier>\n        </uax:TargetId>\n      </uax:Reference>\n    </uax:References>\n  </DefaultBinary>\n  <DefaultBinary xmlns=\"http://opcfoundation.org/UA/\">\n    <uax:NodeClass>Object_1</uax:NodeClass>\n    <uax:NodeId>\n      <uax:Identifier>ns=1;i=27</uax:Identifier>\n    </uax:NodeId>\n    <uax:BrowseName>\n      <uax:NamespaceIndex>0</uax:NamespaceIndex>\n      <uax:Name>Default Binary</uax:Name>\n    </uax:BrowseName>\n    <uax:TypeDefinitionId>\n      <uax:Identifier>i=76</uax:Identifier>\n    </uax:TypeDefinitionId>\n    <uax:NumericId>27</uax:NumericId>\n    <uax:References>\n      <uax:Reference>\n        <uax:ReferenceTypeId>\n          <uax:Identifier>i=38</uax:Identifier>\n        </uax:ReferenceTypeId>\n        <uax:IsInverse>true</uax:IsInverse>\n        <uax:TargetId>\n          <uax:Identifier>ns=1;i=22</uax:Identifier>\n        </uax:TargetId>\n      </uax:Reference>\n      <uax:Reference>\n        <uax:ReferenceTypeId>\n          <uax:Identifier>i=39</uax:Identifier>\n        </uax:ReferenceTypeId>\n        <uax:TargetId>\n          <uax:Identifier>ns=1;i=28</uax:Identifier>\n        </uax:TargetId>\n      </uax:Reference>\n    </uax:References>\n  </DefaultBinary>\n  <cas_BinarySchema xmlns=\"http://cas.eu/UA/CommServer/UnitTests/DataTypeTest\">\n    <uax:NodeClass>Variable_2</uax:NodeClass>\n    <uax:NodeId>\n      <uax:Identifier>ns=1;i=5</uax:Identifier>\n    </uax:NodeId>\n    <uax:BrowseName>\n      <uax:NamespaceIndex>1</uax:NamespaceIndex>\n      <uax:Name>DataTypeTest</uax:Name>\n    </uax:BrowseName>\n    <uax:TypeDefinitionId>\n      <uax:Identifier>i=72</uax:Identifier>\n    </uax:TypeDefinitionId>\n    <uax:NumericId>5</uax:NumericId>\n    <uax:Value>\n      <uax:Value>\n        <uax:ByteString>PG9wYzpUeXBlRGljdGlvbmFyeQ0KICB4bWxuczpvcGM9Imh0dHA6Ly9vcGNmb3VuZGF0aW9uLm9y\nZy9CaW5hcnlTY2hlbWEvIg0KICB4bWxuczp4c2k9Imh0dHA6Ly93d3cudzMub3JnLzIwMDEvWE1M\nU2NoZW1hLWluc3RhbmNlIg0KICB4bWxuczp1YT0iaHR0cDovL29wY2ZvdW5kYXRpb24ub3JnL1VB\nLyINCiAgeG1sbnM6dG5zPSJodHRwOi8vY2FzLmV1L1VBL0NvbW1TZXJ2ZXIvVW5pdFRlc3RzL0Rh\ndGFUeXBlVGVzdCINCiAgRGVmYXVsdEJ5dGVPcmRlcj0iTGl0dGxlRW5kaWFuIg0KICBUYXJnZXRO\nYW1lc3BhY2U9Imh0dHA6Ly9jYXMuZXUvVUEvQ29tbVNlcnZlci9Vbml0VGVzdHMvRGF0YVR5cGVU\nZXN0Ig0KPg0KICA8b3BjOkltcG9ydCBOYW1lc3BhY2U9Imh0dHA6Ly9vcGNmb3VuZGF0aW9uLm9y\nZy9VQS8iIExvY2F0aW9uPSIuQmluYXJ5U2NoZW1hLmJzZCIvPg0KDQogIDxvcGM6RW51bWVyYXRl\nZFR5cGUgTmFtZT0iQWJzdHJhY3RFbnVtZXJhdGlvbkRhdGFUeXBlIiBMZW5ndGhJbkJpdHM9IjMy\nIj4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJGaWVsZDEiIFZhbHVlPSIwIiAvPg0K\nICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IkZpZWxkMiIgVmFsdWU9IjEiIC8+DQogIDwv\nb3BjOkVudW1lcmF0ZWRUeXBlPg0KDQogIDxvcGM6RW51bWVyYXRlZFR5cGUgTmFtZT0iRW51bWVy\nYXRpb25EYXRhVHlwZSIgTGVuZ3RoSW5CaXRzPSIzMiI+DQogICAgPG9wYzpEb2N1bWVudGF0aW9u\nPkVudW1lcmF0aW9uIERhdGFUeXBlIGRlcml2ZWQgZnJvbSBhYnN0cmFjdCB0eXBlPC9vcGM6RG9j\ndW1lbnRhdGlvbj4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJGaWVsZDEiIFZhbHVl\nPSIwIiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IkZpZWxkMiIgVmFsdWU9IjEi\nIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iRmllbGQzIiBWYWx1ZT0iMSIgLz4N\nCiAgPC9vcGM6RW51bWVyYXRlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJB\nYnN0cmFjdFN0cnVjdHVyZSIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9w\nYzpEb2N1bWVudGF0aW9uPkFic3RyYWN0IHN0cnVjdHVyZTwvb3BjOkRvY3VtZW50YXRpb24+DQog\nICAgPG9wYzpGaWVsZCBOYW1lPSJOdW1iZXIiIFR5cGVOYW1lPSJ1YTpWYXJpYW50IiAvPg0KICA8\nL29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IkRlcml2\nZWRTdHJ1Y3R1cmUiIEJhc2VUeXBlPSJ0bnM6QWJzdHJhY3RTdHJ1Y3R1cmUiPg0KICAgIDxvcGM6\nRmllbGQgTmFtZT0iTnVtYmVyIiBUeXBlTmFtZT0idWE6VmFyaWFudCIgU291cmNlVHlwZT0idG5z\nOkFic3RyYWN0U3RydWN0dXJlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTnVtYmVyIiBUeXBl\nTmFtZT0ib3BjOkludDMyIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KPC9vcGM6VHlw\nZURpY3Rpb25hcnk+</uax:ByteString>\n      </uax:Value>\n    </uax:Value>\n    <uax:DataType>\n      <uax:Identifier>i=15</uax:Identifier>\n    </uax:DataType>\n    <uax:ValueRank>-1</uax:ValueRank>\n    <uax:AccessLevel>1</uax:AccessLevel>\n    <uax:UserAccessLevel>1</uax:UserAccessLevel>\n    <uax:References>\n      <uax:Reference>\n        <uax:ReferenceTypeId>\n          <uax:Identifier>i=47</uax:Identifier>\n        </uax:ReferenceTypeId>\n        <uax:IsInverse>true</uax:IsInverse>\n        <uax:TargetId>\n          <uax:Identifier>i=93</uax:Identifier>\n        </uax:TargetId>\n      </uax:Reference>\n    </uax:References>\n    <NamespaceUri xmlns=\"http://opcfoundation.org/UA/\">\n      <uax:NodeClass>Variable_2</uax:NodeClass>\n      <uax:NodeId>\n        <uax:Identifier>ns=1;i=7</uax:Identifier>\n      </uax:NodeId>\n      <uax:BrowseName>\n        <uax:NamespaceIndex>0</uax:NamespaceIndex>\n        <uax:Name>NamespaceUri</uax:Name>\n      </uax:BrowseName>\n      <uax:ReferenceTypeId>\n        <uax:Identifier>i=46</uax:Identifier>\n      </uax:ReferenceTypeId>\n      <uax:TypeDefinitionId>\n        <uax:Identifier>i=68</uax:Identifier>\n      </uax:TypeDefinitionId>\n      <uax:NumericId>7</uax:NumericId>\n      <uax:Value>\n        <uax:Value>\n          <uax:String>http://cas.eu/UA/CommServer/UnitTests/DataTypeTest</uax:String>\n        </uax:Value>\n      </uax:Value>\n      <uax:DataType>\n        <uax:Identifier>i=12</uax:Identifier>\n      </uax:DataType>\n      <uax:ValueRank>-1</uax:ValueRank>\n      <uax:AccessLevel>1</uax:AccessLevel>\n      <uax:UserAccessLevel>1</uax:UserAccessLevel>\n    </NamespaceUri>\n    <Deprecated xmlns=\"http://opcfoundation.org/UA/\">\n      <uax:NodeClass>Variable_2</uax:NodeClass>\n      <uax:NodeId>\n        <uax:Identifier>ns=1;i=1</uax:Identifier>\n      </uax:NodeId>\n      <uax:BrowseName>\n        <uax:NamespaceIndex>0</uax:NamespaceIndex>\n        <uax:Name>Deprecated</uax:Name>\n      </uax:BrowseName>\n      <uax:ReferenceTypeId>\n        <uax:Identifier>i=46</uax:Identifier>\n      </uax:ReferenceTypeId>\n      <uax:TypeDefinitionId>\n        <uax:Identifier>i=68</uax:Identifier>\n      </uax:TypeDefinitionId>\n      <uax:NumericId>1</uax:NumericId>\n      <uax:Value>\n        <uax:Value>\n          <uax:Boolean>true</uax:Boolean>\n        </uax:Value>\n      </uax:Value>\n      <uax:DataType>\n        <uax:Identifier>i=1</uax:Identifier>\n      </uax:DataType>\n      <uax:ValueRank>-1</uax:ValueRank>\n      <uax:AccessLevel>1</uax:AccessLevel>\n      <uax:UserAccessLevel>1</uax:UserAccessLevel>\n    </Deprecated>\n    <AbstractStructure>\n      <uax:NodeClass>Variable_2</uax:NodeClass>\n      <uax:NodeId>\n        <uax:Identifier>ns=1;i=19</uax:Identifier>\n      </uax:NodeId>\n      <uax:BrowseName>\n        <uax:NamespaceIndex>1</uax:NamespaceIndex>\n        <uax:Name>AbstractStructure</uax:Name>\n      </uax:BrowseName>\n      <uax:ReferenceTypeId>\n        <uax:Identifier>i=47</uax:Identifier>\n      </uax:ReferenceTypeId>\n      <uax:TypeDefinitionId>\n        <uax:Identifier>i=69</uax:Identifier>\n      </uax:TypeDefinitionId>\n      <uax:NumericId>19</uax:NumericId>\n      <uax:Value>\n        <uax:Value>\n          <uax:String>AbstractStructure</uax:String>\n        </uax:Value>\n      </uax:Value>\n      <uax:DataType>\n        <uax:Identifier>i=12</uax:Identifier>\n      </uax:DataType>\n      <uax:ValueRank>-1</uax:ValueRank>\n      <uax:AccessLevel>1</uax:AccessLevel>\n      <uax:UserAccessLevel>1</uax:UserAccessLevel>\n    </AbstractStructure>\n    <DerivedStructure>\n      <uax:NodeClass>Variable_2</uax:NodeClass>\n      <uax:NodeId>\n        <uax:Identifier>ns=1;i=28</uax:Identifier>\n      </uax:NodeId>\n      <uax:BrowseName>\n        <uax:NamespaceIndex>1</uax:NamespaceIndex>\n        <uax:Name>DerivedStructure</uax:Name>\n      </uax:BrowseName>\n      <uax:ReferenceTypeId>\n        <uax:Identifier>i=47</uax:Identifier>\n      </uax:ReferenceTypeId>\n      <uax:TypeDefinitionId>\n        <uax:Identifier>i=69</uax:Identifier>\n      </uax:TypeDefinitionId>\n      <uax:NumericId>28</uax:NumericId>\n      <uax:Value>\n        <uax:Value>\n          <uax:String>DerivedStructure</uax:String>\n        </uax:Value>\n      </uax:Value>\n      <uax:DataType>\n        <uax:Identifier>i=12</uax:Identifier>\n      </uax:DataType>\n      <uax:ValueRank>-1</uax:ValueRank>\n      <uax:AccessLevel>1</uax:AccessLevel>\n      <uax:UserAccessLevel>1</uax:UserAccessLevel>\n    </DerivedStructure>\n  </cas_BinarySchema>\n  <DefaultXml xmlns=\"http://opcfoundation.org/UA/\">\n    <uax:NodeClass>Object_1</uax:NodeClass>\n    <uax:NodeId>\n      <uax:Identifier>ns=1;i=14</uax:Identifier>\n    </uax:NodeId>\n    <uax:BrowseName>\n      <uax:NamespaceIndex>0</uax:NamespaceIndex>\n      <uax:Name>Default XML</uax:Name>\n    </uax:BrowseName>\n    <uax:TypeDefinitionId>\n      <uax:Identifier>i=76</uax:Identifier>\n    </uax:TypeDefinitionId>\n    <uax:NumericId>14</uax:NumericId>\n    <uax:References>\n      <uax:Reference>\n        <uax:ReferenceTypeId>\n          <uax:Identifier>i=38</uax:Identifier>\n        </uax:ReferenceTypeId>\n        <uax:IsInverse>true</uax:IsInverse>\n        <uax:TargetId>\n          <uax:Identifier>ns=1;i=13</uax:Identifier>\n        </uax:TargetId>\n      </uax:Reference>\n      <uax:Reference>\n        <uax:ReferenceTypeId>\n          <uax:Identifier>i=39</uax:Identifier>\n        </uax:ReferenceTypeId>\n        <uax:TargetId>\n          <uax:Identifier>ns=1;i=15</uax:Identifier>\n        </uax:TargetId>\n      </uax:Reference>\n    </uax:References>\n  </DefaultXml>\n  <DefaultXml xmlns=\"http://opcfoundation.org/UA/\">\n    <uax:NodeClass>Object_1</uax:NodeClass>\n    <uax:NodeId>\n      <uax:Identifier>ns=1;i=23</uax:Identifier>\n    </uax:NodeId>\n    <uax:BrowseName>\n      <uax:NamespaceIndex>0</uax:NamespaceIndex>\n      <uax:Name>Default XML</uax:Name>\n    </uax:BrowseName>\n    <uax:TypeDefinitionId>\n      <uax:Identifier>i=76</uax:Identifier>\n    </uax:TypeDefinitionId>\n    <uax:NumericId>23</uax:NumericId>\n    <uax:References>\n      <uax:Reference>\n        <uax:ReferenceTypeId>\n          <uax:Identifier>i=38</uax:Identifier>\n        </uax:ReferenceTypeId>\n        <uax:IsInverse>true</uax:IsInverse>\n        <uax:TargetId>\n          <uax:Identifier>ns=1;i=22</uax:Identifier>\n        </uax:TargetId>\n      </uax:Reference>\n      <uax:Reference>\n        <uax:ReferenceTypeId>\n          <uax:Identifier>i=39</uax:Identifier>\n        </uax:ReferenceTypeId>\n        <uax:TargetId>\n          <uax:Identifier>ns=1;i=24</uax:Identifier>\n        </uax:TargetId>\n      </uax:Reference>\n    </uax:References>\n  </DefaultXml>\n  <cas_XmlSchema xmlns=\"http://cas.eu/UA/CommServer/UnitTests/DataTypeTest\">\n    <uax:NodeClass>Variable_2</uax:NodeClass>\n    <uax:NodeId>\n      <uax:Identifier>ns=1;i=2</uax:Identifier>\n    </uax:NodeId>\n    <uax:BrowseName>\n      <uax:NamespaceIndex>1</uax:NamespaceIndex>\n      <uax:Name>DataTypeTest</uax:Name>\n    </uax:BrowseName>\n    <uax:TypeDefinitionId>\n      <uax:Identifier>i=72</uax:Identifier>\n    </uax:TypeDefinitionId>\n    <uax:NumericId>2</uax:NumericId>\n    <uax:Value>\n      <uax:Value>\n        <uax:ByteString>PHhzOnNjaGVtYQ0KICB4bWxuczp4cz0iaHR0cDovL3d3dy53My5vcmcvMjAwMS9YTUxTY2hlbWEi\nDQogIHhtbG5zOnVhPSJodHRwOi8vb3BjZm91bmRhdGlvbi5vcmcvVUEvMjAwOC8wMi9UeXBlcy54\nc2QiDQogIHhtbG5zOnRucz0iaHR0cDovL2Nhcy5ldS9VQS9Db21tU2VydmVyL1VuaXRUZXN0cy9E\nYXRhVHlwZVRlc3QiDQogIHRhcmdldE5hbWVzcGFjZT0iaHR0cDovL2Nhcy5ldS9VQS9Db21tU2Vy\ndmVyL1VuaXRUZXN0cy9EYXRhVHlwZVRlc3QiDQogIGVsZW1lbnRGb3JtRGVmYXVsdD0icXVhbGlm\naWVkIg0KPg0KICA8eHM6aW1wb3J0IG5hbWVzcGFjZT0iaHR0cDovL29wY2ZvdW5kYXRpb24ub3Jn\nL1VBLyIgLz4NCg0KICA8eHM6c2ltcGxlVHlwZSAgbmFtZT0iQWJzdHJhY3RFbnVtZXJhdGlvbkRh\ndGFUeXBlIj4NCiAgICA8eHM6cmVzdHJpY3Rpb24gYmFzZT0ieHM6c3RyaW5nIj4NCiAgICAgIDx4\nczplbnVtZXJhdGlvbiB2YWx1ZT0iRmllbGQxXzAiIC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24g\ndmFsdWU9IkZpZWxkMl8xIiAvPg0KICAgIDwveHM6cmVzdHJpY3Rpb24+DQogIDwveHM6c2ltcGxl\nVHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iQWJzdHJhY3RFbnVtZXJhdGlvbkRhdGFUeXBlIiB0\neXBlPSJ0bnM6QWJzdHJhY3RFbnVtZXJhdGlvbkRhdGFUeXBlIiAvPg0KDQogIDx4czpjb21wbGV4\nVHlwZSBuYW1lPSJMaXN0T2ZBYnN0cmFjdEVudW1lcmF0aW9uRGF0YVR5cGUiPg0KICAgIDx4czpz\nZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkFic3RyYWN0RW51bWVyYXRpb25EYXRh\nVHlwZSIgdHlwZT0idG5zOkFic3RyYWN0RW51bWVyYXRpb25EYXRhVHlwZSIgbWluT2NjdXJzPSIw\nIiBtYXhPY2N1cnM9InVuYm91bmRlZCIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNv\nbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJMaXN0T2ZBYnN0cmFjdEVudW1lcmF0aW9u\nRGF0YVR5cGUiIHR5cGU9InRuczpMaXN0T2ZBYnN0cmFjdEVudW1lcmF0aW9uRGF0YVR5cGUiIG5p\nbGxhYmxlPSJ0cnVlIj48L3hzOmVsZW1lbnQ+DQoNCiAgPHhzOnNpbXBsZVR5cGUgIG5hbWU9IkVu\ndW1lcmF0aW9uRGF0YVR5cGUiPg0KICAgIDx4czphbm5vdGF0aW9uPg0KICAgICAgPHhzOmRvY3Vt\nZW50YXRpb24+RW51bWVyYXRpb24gRGF0YVR5cGUgZGVyaXZlZCBmcm9tIGFic3RyYWN0IHR5cGU8\nL3hzOmRvY3VtZW50YXRpb24+DQogICAgPC94czphbm5vdGF0aW9uPg0KICAgIDx4czpyZXN0cmlj\ndGlvbiBiYXNlPSJ4czpzdHJpbmciPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJGaWVs\nZDNfMSIgLz4NCiAgICA8L3hzOnJlc3RyaWN0aW9uPg0KICA8L3hzOnNpbXBsZVR5cGU+DQogIDx4\nczplbGVtZW50IG5hbWU9IkVudW1lcmF0aW9uRGF0YVR5cGUiIHR5cGU9InRuczpFbnVtZXJhdGlv\nbkRhdGFUeXBlIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJMaXN0T2ZFbnVtZXJhdGlv\nbkRhdGFUeXBlIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJF\nbnVtZXJhdGlvbkRhdGFUeXBlIiB0eXBlPSJ0bnM6RW51bWVyYXRpb25EYXRhVHlwZSIgbWluT2Nj\ndXJzPSIwIiBtYXhPY2N1cnM9InVuYm91bmRlZCIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8\nL3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJMaXN0T2ZFbnVtZXJhdGlvbkRh\ndGFUeXBlIiB0eXBlPSJ0bnM6TGlzdE9mRW51bWVyYXRpb25EYXRhVHlwZSIgbmlsbGFibGU9InRy\ndWUiPjwveHM6ZWxlbWVudD4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iQWJzdHJhY3RTdHJ1\nY3R1cmUiPg0KICAgIDx4czphbm5vdGF0aW9uPg0KICAgICAgPHhzOmRvY3VtZW50YXRpb24+QWJz\ndHJhY3Qgc3RydWN0dXJlPC94czpkb2N1bWVudGF0aW9uPg0KICAgIDwveHM6YW5ub3RhdGlvbj4N\nCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJOdW1iZXIiIHR5cGU9\nInVhOlZhcmlhbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hz\nOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJBYnN0cmFjdFN0cnVjdHVyZSIgdHlw\nZT0idG5zOkFic3RyYWN0U3RydWN0dXJlIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJM\naXN0T2ZBYnN0cmFjdFN0cnVjdHVyZSI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVs\nZW1lbnQgbmFtZT0iQWJzdHJhY3RTdHJ1Y3R1cmUiIHR5cGU9InRuczpBYnN0cmFjdFN0cnVjdHVy\nZSIgbWluT2NjdXJzPSIwIiBtYXhPY2N1cnM9InVuYm91bmRlZCIgbmlsbGFibGU9InRydWUiIC8+\nDQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQg\nbmFtZT0iTGlzdE9mQWJzdHJhY3RTdHJ1Y3R1cmUiIHR5cGU9InRuczpMaXN0T2ZBYnN0cmFjdFN0\ncnVjdHVyZSIgbmlsbGFibGU9InRydWUiPjwveHM6ZWxlbWVudD4NCg0KICA8eHM6Y29tcGxleFR5\ncGUgbmFtZT0iRGVyaXZlZFN0cnVjdHVyZSI+DQogICAgPHhzOmNvbXBsZXhDb250ZW50IG1peGVk\nPSJmYWxzZSI+DQogICAgICA8eHM6ZXh0ZW5zaW9uIGJhc2U9InRuczpBYnN0cmFjdFN0cnVjdHVy\nZSI+DQogICAgICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJO\ndW1iZXIiIHR5cGU9InhzOmludCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgICA8L3hzOnNlcXVl\nbmNlPg0KICAgICAgPC94czpleHRlbnNpb24+DQogICAgPC94czpjb21wbGV4Q29udGVudD4NCiAg\nPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iRGVyaXZlZFN0cnVjdHVyZSIg\ndHlwZT0idG5zOkRlcml2ZWRTdHJ1Y3R1cmUiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9\nIkxpc3RPZkRlcml2ZWRTdHJ1Y3R1cmUiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czpl\nbGVtZW50IG5hbWU9IkRlcml2ZWRTdHJ1Y3R1cmUiIHR5cGU9InRuczpEZXJpdmVkU3RydWN0dXJl\nIiBtaW5PY2N1cnM9IjAiIG1heE9jY3Vycz0idW5ib3VuZGVkIiBuaWxsYWJsZT0idHJ1ZSIgLz4N\nCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBu\nYW1lPSJMaXN0T2ZEZXJpdmVkU3RydWN0dXJlIiB0eXBlPSJ0bnM6TGlzdE9mRGVyaXZlZFN0cnVj\ndHVyZSIgbmlsbGFibGU9InRydWUiPjwveHM6ZWxlbWVudD4NCg0KPC94czpzY2hlbWE+</uax:ByteString>\n      </uax:Value>\n    </uax:Value>\n    <uax:DataType>\n      <uax:Identifier>i=15</uax:Identifier>\n    </uax:DataType>\n    <uax:ValueRank>-1</uax:ValueRank>\n    <uax:AccessLevel>1</uax:AccessLevel>\n    <uax:UserAccessLevel>1</uax:UserAccessLevel>\n    <uax:References>\n      <uax:Reference>\n        <uax:ReferenceTypeId>\n          <uax:Identifier>i=47</uax:Identifier>\n        </uax:ReferenceTypeId>\n        <uax:IsInverse>true</uax:IsInverse>\n        <uax:TargetId>\n          <uax:Identifier>i=92</uax:Identifier>\n        </uax:TargetId>\n      </uax:Reference>\n    </uax:References>\n    <NamespaceUri xmlns=\"http://opcfoundation.org/UA/\">\n      <uax:NodeClass>Variable_2</uax:NodeClass>\n      <uax:NodeId>\n        <uax:Identifier>ns=1;i=4</uax:Identifier>\n      </uax:NodeId>\n      <uax:BrowseName>\n        <uax:NamespaceIndex>0</uax:NamespaceIndex>\n        <uax:Name>NamespaceUri</uax:Name>\n      </uax:BrowseName>\n      <uax:ReferenceTypeId>\n        <uax:Identifier>i=46</uax:Identifier>\n      </uax:ReferenceTypeId>\n      <uax:TypeDefinitionId>\n        <uax:Identifier>i=68</uax:Identifier>\n      </uax:TypeDefinitionId>\n      <uax:NumericId>4</uax:NumericId>\n      <uax:Value>\n        <uax:Value>\n          <uax:String>http://cas.eu/UA/CommServer/UnitTests/DataTypeTest</uax:String>\n        </uax:Value>\n      </uax:Value>\n      <uax:DataType>\n        <uax:Identifier>i=12</uax:Identifier>\n      </uax:DataType>\n      <uax:ValueRank>-1</uax:ValueRank>\n      <uax:AccessLevel>1</uax:AccessLevel>\n      <uax:UserAccessLevel>1</uax:UserAccessLevel>\n    </NamespaceUri>\n    <Deprecated xmlns=\"http://opcfoundation.org/UA/\">\n      <uax:NodeClass>Variable_2</uax:NodeClass>\n      <uax:NodeId>\n        <uax:Identifier>ns=1;i=8</uax:Identifier>\n      </uax:NodeId>\n      <uax:BrowseName>\n        <uax:NamespaceIndex>0</uax:NamespaceIndex>\n        <uax:Name>Deprecated</uax:Name>\n      </uax:BrowseName>\n      <uax:ReferenceTypeId>\n        <uax:Identifier>i=46</uax:Identifier>\n      </uax:ReferenceTypeId>\n      <uax:TypeDefinitionId>\n        <uax:Identifier>i=68</uax:Identifier>\n      </uax:TypeDefinitionId>\n      <uax:NumericId>8</uax:NumericId>\n      <uax:Value>\n        <uax:Value>\n          <uax:Boolean>true</uax:Boolean>\n        </uax:Value>\n      </uax:Value>\n      <uax:DataType>\n        <uax:Identifier>i=1</uax:Identifier>\n      </uax:DataType>\n      <uax:ValueRank>-1</uax:ValueRank>\n      <uax:AccessLevel>1</uax:AccessLevel>\n      <uax:UserAccessLevel>1</uax:UserAccessLevel>\n    </Deprecated>\n    <AbstractStructure>\n      <uax:NodeClass>Variable_2</uax:NodeClass>\n      <uax:NodeId>\n        <uax:Identifier>ns=1;i=15</uax:Identifier>\n      </uax:NodeId>\n      <uax:BrowseName>\n        <uax:NamespaceIndex>1</uax:NamespaceIndex>\n        <uax:Name>AbstractStructure</uax:Name>\n      </uax:BrowseName>\n      <uax:ReferenceTypeId>\n        <uax:Identifier>i=47</uax:Identifier>\n      </uax:ReferenceTypeId>\n      <uax:TypeDefinitionId>\n        <uax:Identifier>i=69</uax:Identifier>\n      </uax:TypeDefinitionId>\n      <uax:NumericId>15</uax:NumericId>\n      <uax:Value>\n        <uax:Value>\n          <uax:String>//xs:element[@name='AbstractStructure']</uax:String>\n        </uax:Value>\n      </uax:Value>\n      <uax:DataType>\n        <uax:Identifier>i=12</uax:Identifier>\n      </uax:DataType>\n      <uax:ValueRank>-1</uax:ValueRank>\n      <uax:AccessLevel>1</uax:AccessLevel>\n      <uax:UserAccessLevel>1</uax:UserAccessLevel>\n    </AbstractStructure>\n    <DerivedStructure>\n      <uax:NodeClass>Variable_2</uax:NodeClass>\n      <uax:NodeId>\n        <uax:Identifier>ns=1;i=24</uax:Identifier>\n      </uax:NodeId>\n      <uax:BrowseName>\n        <uax:NamespaceIndex>1</uax:NamespaceIndex>\n        <uax:Name>DerivedStructure</uax:Name>\n      </uax:BrowseName>\n      <uax:ReferenceTypeId>\n        <uax:Identifier>i=47</uax:Identifier>\n      </uax:ReferenceTypeId>\n      <uax:TypeDefinitionId>\n        <uax:Identifier>i=69</uax:Identifier>\n      </uax:TypeDefinitionId>\n      <uax:NumericId>24</uax:NumericId>\n      <uax:Value>\n        <uax:Value>\n          <uax:String>//xs:element[@name='DerivedStructure']</uax:String>\n        </uax:Value>\n      </uax:Value>\n      <uax:DataType>\n        <uax:Identifier>i=12</uax:Identifier>\n      </uax:DataType>\n      <uax:ValueRank>-1</uax:ValueRank>\n      <uax:AccessLevel>1</uax:AccessLevel>\n      <uax:UserAccessLevel>1</uax:UserAccessLevel>\n    </DerivedStructure>\n  </cas_XmlSchema>\n  <DefaultJson xmlns=\"http://opcfoundation.org/UA/\">\n    <uax:NodeClass>Object_1</uax:NodeClass>\n    <uax:NodeId>\n      <uax:Identifier>ns=1;i=31</uax:Identifier>\n    </uax:NodeId>\n    <uax:BrowseName>\n      <uax:NamespaceIndex>0</uax:NamespaceIndex>\n      <uax:Name>Default JSON</uax:Name>\n    </uax:BrowseName>\n    <uax:TypeDefinitionId>\n      <uax:Identifier>i=76</uax:Identifier>\n    </uax:TypeDefinitionId>\n    <uax:NumericId>31</uax:NumericId>\n    <uax:References>\n      <uax:Reference>\n        <uax:ReferenceTypeId>\n          <uax:Identifier>i=38</uax:Identifier>\n        </uax:ReferenceTypeId>\n        <uax:IsInverse>true</uax:IsInverse>\n        <uax:TargetId>\n          <uax:Identifier>ns=1;i=13</uax:Identifier>\n        </uax:TargetId>\n      </uax:Reference>\n    </uax:References>\n  </DefaultJson>\n  <DefaultJson xmlns=\"http://opcfoundation.org/UA/\">\n    <uax:NodeClass>Object_1</uax:NodeClass>\n    <uax:NodeId>\n      <uax:Identifier>ns=1;i=32</uax:Identifier>\n    </uax:NodeId>\n    <uax:BrowseName>\n      <uax:NamespaceIndex>0</uax:NamespaceIndex>\n      <uax:Name>Default JSON</uax:Name>\n    </uax:BrowseName>\n    <uax:TypeDefinitionId>\n      <uax:Identifier>i=76</uax:Identifier>\n    </uax:TypeDefinitionId>\n    <uax:NumericId>32</uax:NumericId>\n    <uax:References>\n      <uax:Reference>\n        <uax:ReferenceTypeId>\n          <uax:Identifier>i=38</uax:Identifier>\n        </uax:ReferenceTypeId>\n        <uax:IsInverse>true</uax:IsInverse>\n        <uax:TargetId>\n          <uax:Identifier>ns=1;i=22</uax:Identifier>\n        </uax:TargetId>\n      </uax:Reference>\n    </uax:References>\n  </DefaultJson>\n</uax:ListOfNodeState>"
  },
  {
    "path": "SemanticData/UAModelDesignExport.UnitTest/Models/DataTypeTest/DataTypeTest.Types.bsd",
    "content": "<opc:TypeDictionary\n  xmlns:opc=\"http://opcfoundation.org/BinarySchema/\"\n  xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\"\n  xmlns:ua=\"http://opcfoundation.org/UA/\"\n  xmlns:tns=\"http://cas.eu/UA/CommServer/UnitTests/DataTypeTest\"\n  DefaultByteOrder=\"LittleEndian\"\n  TargetNamespace=\"http://cas.eu/UA/CommServer/UnitTests/DataTypeTest\"\n>\n  <opc:Import Namespace=\"http://opcfoundation.org/UA/\" Location=\".BinarySchema.bsd\"/>\n\n  <opc:EnumeratedType Name=\"AbstractEnumerationDataType\" LengthInBits=\"32\">\n    <opc:EnumeratedValue Name=\"Field1\" Value=\"0\" />\n    <opc:EnumeratedValue Name=\"Field2\" Value=\"1\" />\n  </opc:EnumeratedType>\n\n  <opc:EnumeratedType Name=\"EnumerationDataType\" LengthInBits=\"32\">\n    <opc:Documentation>Enumeration DataType derived from abstract type</opc:Documentation>\n    <opc:EnumeratedValue Name=\"Field1\" Value=\"0\" />\n    <opc:EnumeratedValue Name=\"Field2\" Value=\"1\" />\n    <opc:EnumeratedValue Name=\"Field3\" Value=\"1\" />\n  </opc:EnumeratedType>\n\n  <opc:StructuredType Name=\"AbstractStructure\" BaseType=\"ua:ExtensionObject\">\n    <opc:Documentation>Abstract structure</opc:Documentation>\n    <opc:Field Name=\"Number\" TypeName=\"ua:Variant\" />\n  </opc:StructuredType>\n\n  <opc:StructuredType Name=\"DerivedStructure\" BaseType=\"tns:AbstractStructure\">\n    <opc:Field Name=\"Number\" TypeName=\"ua:Variant\" SourceType=\"tns:AbstractStructure\" />\n    <opc:Field Name=\"Number\" TypeName=\"opc:Int32\" />\n  </opc:StructuredType>\n\n</opc:TypeDictionary>"
  },
  {
    "path": "SemanticData/UAModelDesignExport.UnitTest/Models/DataTypeTest/DataTypeTest.Types.xsd",
    "content": "<xs:schema\n  xmlns:xs=\"http://www.w3.org/2001/XMLSchema\"\n  xmlns:ua=\"http://opcfoundation.org/UA/2008/02/Types.xsd\"\n  xmlns:tns=\"http://cas.eu/UA/CommServer/UnitTests/DataTypeTest\"\n  targetNamespace=\"http://cas.eu/UA/CommServer/UnitTests/DataTypeTest\"\n  elementFormDefault=\"qualified\"\n>\n  <xs:import namespace=\"http://opcfoundation.org/UA/\" />\n\n  <xs:simpleType  name=\"AbstractEnumerationDataType\">\n    <xs:restriction base=\"xs:string\">\n      <xs:enumeration value=\"Field1_0\" />\n      <xs:enumeration value=\"Field2_1\" />\n    </xs:restriction>\n  </xs:simpleType>\n  <xs:element name=\"AbstractEnumerationDataType\" type=\"tns:AbstractEnumerationDataType\" />\n\n  <xs:complexType name=\"ListOfAbstractEnumerationDataType\">\n    <xs:sequence>\n      <xs:element name=\"AbstractEnumerationDataType\" type=\"tns:AbstractEnumerationDataType\" minOccurs=\"0\" maxOccurs=\"unbounded\" />\n    </xs:sequence>\n  </xs:complexType>\n  <xs:element name=\"ListOfAbstractEnumerationDataType\" type=\"tns:ListOfAbstractEnumerationDataType\" nillable=\"true\"></xs:element>\n\n  <xs:simpleType  name=\"EnumerationDataType\">\n    <xs:annotation>\n      <xs:documentation>Enumeration DataType derived from abstract type</xs:documentation>\n    </xs:annotation>\n    <xs:restriction base=\"xs:string\">\n      <xs:enumeration value=\"Field3_1\" />\n    </xs:restriction>\n  </xs:simpleType>\n  <xs:element name=\"EnumerationDataType\" type=\"tns:EnumerationDataType\" />\n\n  <xs:complexType name=\"ListOfEnumerationDataType\">\n    <xs:sequence>\n      <xs:element name=\"EnumerationDataType\" type=\"tns:EnumerationDataType\" minOccurs=\"0\" maxOccurs=\"unbounded\" />\n    </xs:sequence>\n  </xs:complexType>\n  <xs:element name=\"ListOfEnumerationDataType\" type=\"tns:ListOfEnumerationDataType\" nillable=\"true\"></xs:element>\n\n  <xs:complexType name=\"AbstractStructure\">\n    <xs:annotation>\n      <xs:documentation>Abstract structure</xs:documentation>\n    </xs:annotation>\n    <xs:sequence>\n      <xs:element name=\"Number\" type=\"ua:Variant\" minOccurs=\"0\" />\n    </xs:sequence>\n  </xs:complexType>\n  <xs:element name=\"AbstractStructure\" type=\"tns:AbstractStructure\" />\n\n  <xs:complexType name=\"ListOfAbstractStructure\">\n    <xs:sequence>\n      <xs:element name=\"AbstractStructure\" type=\"tns:AbstractStructure\" minOccurs=\"0\" maxOccurs=\"unbounded\" nillable=\"true\" />\n    </xs:sequence>\n  </xs:complexType>\n  <xs:element name=\"ListOfAbstractStructure\" type=\"tns:ListOfAbstractStructure\" nillable=\"true\"></xs:element>\n\n  <xs:complexType name=\"DerivedStructure\">\n    <xs:complexContent mixed=\"false\">\n      <xs:extension base=\"tns:AbstractStructure\">\n        <xs:sequence>\n          <xs:element name=\"Number\" type=\"xs:int\" minOccurs=\"0\" />\n        </xs:sequence>\n      </xs:extension>\n    </xs:complexContent>\n  </xs:complexType>\n  <xs:element name=\"DerivedStructure\" type=\"tns:DerivedStructure\" />\n\n  <xs:complexType name=\"ListOfDerivedStructure\">\n    <xs:sequence>\n      <xs:element name=\"DerivedStructure\" type=\"tns:DerivedStructure\" minOccurs=\"0\" maxOccurs=\"unbounded\" nillable=\"true\" />\n    </xs:sequence>\n  </xs:complexType>\n  <xs:element name=\"ListOfDerivedStructure\" type=\"tns:ListOfDerivedStructure\" nillable=\"true\"></xs:element>\n\n</xs:schema>"
  },
  {
    "path": "SemanticData/UAModelDesignExport.UnitTest/Models/DataTypeTest.asp.xml",
    "content": "﻿<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<?xml-stylesheet type=\"text/xsl\" href=\"XMLstylesheet\"?>\n<ModelDesign xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\" xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xmlns:Prefix1=\"http://opcfoundation.org/UA/\" xmlns:uax=\"http://opcfoundation.org/UA/2008/02/Types.xsd\" xmlns:Prefix3=\"http://cas.eu/UA/CommServer/UnitTests/DataTypeTest\" TargetNamespace=\"http://cas.eu/UA/CommServer/UnitTests/DataTypeTest\" TargetVersion=\"\" TargetPublicationDate=\"2022-04-06T00:00:00+02:00\" xmlns=\"http://opcfoundation.org/UA/ModelDesign.xsd\">\n  <Namespaces>\n    <Namespace Name=\"Name0\" Prefix=\"Prefix0\" InternalPrefix=\"http://opcfoundation.org/UA/\" XmlNamespace=\"http://opcfoundation.org/UA/\" XmlPrefix=\"Prefix1\" FilePath=\"\" Version=\"v104\" PublicationDate=\"15.09.2021\">http://opcfoundation.org/UA/</Namespace>\n    <Namespace Name=\"Name2\" Prefix=\"Prefix2\" InternalPrefix=\"http://cas.eu/UA/CommServer/UnitTests/DataTypeTest\" XmlNamespace=\"http://cas.eu/UA/CommServer/UnitTests/DataTypeTest\" XmlPrefix=\"Prefix3\" FilePath=\"\" PublicationDate=\"06.04.2022\">http://cas.eu/UA/CommServer/UnitTests/DataTypeTest</Namespace>\n  </Namespaces>\n  <DataType SymbolicName=\"Prefix3:AbstractEnumerationDataType\" BaseType=\"Prefix1:Enumeration\" IsAbstract=\"true\">\n    <Children>\n      <Property SymbolicName=\"Prefix1:EnumStrings\" DataType=\"Prefix1:LocalizedText\" ValueRank=\"Array\" ArrayDimensions=\"0\">\n        <DefaultValue>\n          <ListOfLocalizedText xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <LocalizedText>\n          <Text>Field1</Text>\n        </LocalizedText>\n        <LocalizedText>\n          <Text>Field2</Text>\n        </LocalizedText>\n      </ListOfLocalizedText>\n        </DefaultValue>\n      </Property>\n    </Children>\n    <ClassName />\n    <Fields>\n      <Field Name=\"Field1\" Identifier=\"0\" BitMask=\"\" ArrayDimensions=\"\" />\n      <Field Name=\"Field2\" Identifier=\"1\" BitMask=\"\" ArrayDimensions=\"\" />\n    </Fields>\n  </DataType>\n  <DataType SymbolicName=\"Prefix3:EnumerationDataType\" BaseType=\"Prefix3:AbstractEnumerationDataType\">\n    <Description>Enumeration DataType derived from abstract type</Description>\n    <Children>\n      <Property SymbolicName=\"Prefix1:EnumValues\" DataType=\"Prefix1:EnumValueType\" ValueRank=\"Array\" ArrayDimensions=\"0\">\n        <DefaultValue>\n          <ListOfExtensionObject xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=7616</Identifier>\n          </TypeId>\n          <Body>\n            <EnumValueType>\n              <Value>1</Value>\n              <DisplayName>\n                <Text>Field3</Text>\n              </DisplayName>\n            </EnumValueType>\n          </Body>\n        </ExtensionObject>\n      </ListOfExtensionObject>\n        </DefaultValue>\n      </Property>\n    </Children>\n    <ClassName />\n    <Fields>\n      <Field Name=\"Field3\" Identifier=\"1\" BitMask=\"\" ArrayDimensions=\"\" />\n    </Fields>\n  </DataType>\n  <DataType SymbolicName=\"Prefix3:AbstractStructure\" BaseType=\"Prefix1:Structure\" IsAbstract=\"true\">\n    <Description>Abstract structure</Description>\n    <ClassName />\n    <Fields>\n      <Field Name=\"Number\" BitMask=\"\" DataType=\"Prefix1:Number\" ArrayDimensions=\"\" />\n    </Fields>\n  </DataType>\n  <DataType SymbolicName=\"Prefix3:DerivedStructure\" BaseType=\"Prefix3:AbstractStructure\">\n    <ClassName />\n    <Fields>\n      <Field Name=\"Number\" BitMask=\"\" DataType=\"Prefix1:Int32\" ArrayDimensions=\"\">\n        <Description>Derived from Number</Description>\n      </Field>\n    </Fields>\n  </DataType>\n</ModelDesign>"
  },
  {
    "path": "SemanticData/UAModelDesignExport.UnitTest/Models/DataTypeTest.csv",
    "content": "cas_BinarySchema_Deprecated,1,Variable\ncas_XmlSchema,2,Variable\ncas_XmlSchema_DataTypeVersion,3,Variable\ncas_XmlSchema_NamespaceUri,4,Variable\ncas_BinarySchema,5,Variable\ncas_BinarySchema_DataTypeVersion,6,Variable\ncas_BinarySchema_NamespaceUri,7,Variable\ncas_XmlSchema_Deprecated,8,Variable\nAbstractEnumerationDataType,9,DataType\nAbstractEnumerationDataType_EnumStrings,10,Variable\nEnumerationDataType,11,DataType\nEnumerationDataType_EnumValues,12,Variable\nAbstractStructure,13,DataType\nAbstractStructure_Encoding_DefaultXml,14,Object\ncas_XmlSchema_AbstractStructure,15,Variable\ncas_XmlSchema_AbstractStructure_DataTypeVersion,16,Variable\ncas_XmlSchema_AbstractStructure_DictionaryFragment,17,Variable\nAbstractStructure_Encoding_DefaultBinary,18,Object\ncas_BinarySchema_AbstractStructure,19,Variable\ncas_BinarySchema_AbstractStructure_DataTypeVersion,20,Variable\ncas_BinarySchema_AbstractStructure_DictionaryFragment,21,Variable\nDerivedStructure,22,DataType\nDerivedStructure_Encoding_DefaultXml,23,Object\ncas_XmlSchema_DerivedStructure,24,Variable\ncas_XmlSchema_DerivedStructure_DataTypeVersion,25,Variable\ncas_XmlSchema_DerivedStructure_DictionaryFragment,26,Variable\nDerivedStructure_Encoding_DefaultBinary,27,Object\ncas_BinarySchema_DerivedStructure,28,Variable\ncas_BinarySchema_DerivedStructure_DataTypeVersion,29,Variable\ncas_BinarySchema_DerivedStructure_DictionaryFragment,30,Variable\nAbstractStructure_Encoding_DefaultJson,31,Object\nDerivedStructure_Encoding_DefaultJson,32,Object\n"
  },
  {
    "path": "SemanticData/UAModelDesignExport.UnitTest/Models/DataTypeTest.xml",
    "content": "﻿<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<ModelDesign xmlns:cas=\"http://cas.eu/UA/CommServer/UnitTests/DataTypeTest\" xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\" xmlns:uax=\"http://opcfoundation.org/UA/2008/02/Types.xsd\" xmlns:ua=\"http://opcfoundation.org/UA/\" TargetNamespace=\"http://cas.eu/UA/CommServer/UnitTests/DataTypeTest\" xmlns=\"http://opcfoundation.org/UA/ModelDesign.xsd\">\n  <Namespaces>\n    <Namespace Name=\"cas\" Prefix=\"DataTypeTest\" XmlPrefix=\"cas\">http://cas.eu/UA/CommServer/UnitTests/DataTypeTest</Namespace>\n    <Namespace Name=\"ua\" XmlPrefix=\"ua\">http://opcfoundation.org/UA/</Namespace>\n  </Namespaces>\n  <DataType SymbolicName=\"cas:AbstractEnumerationDataType\" BaseType=\"ua:Enumeration\" IsAbstract=\"true\">\n    <Fields>\n      <Field Name=\"Field1\" Identifier=\"0\" />\n      <Field Name=\"Field2\" Identifier=\"1\" />\n    </Fields>\n  </DataType>\n  <DataType SymbolicName=\"cas:EnumerationDataType\" BaseType=\"cas:AbstractEnumerationDataType\">\n    <Description>Enumeration DataType derived from abstract type</Description>\n    <Fields>\n      <Field Name=\"Field3\" Identifier=\"1\" />\n    </Fields>\n  </DataType>\n  <DataType SymbolicName=\"cas:AbstractStructure\" BaseType=\"ua:Structure\" IsAbstract=\"true\">\n    <Description>Abstract structure</Description>\n    <Fields>\n      <Field Name=\"Number\" DataType=\"ua:Number\" />\n    </Fields>\n  </DataType>\n  <DataType SymbolicName=\"cas:DerivedStructure\" BaseType=\"cas:AbstractStructure\">\n    <Fields>\n      <Field Name=\"Number\" DataType=\"ua:Int32\">\n        <Description>Derived from Number</Description>\n      </Field>\n    </Fields>\n  </DataType>\n</ModelDesign>"
  },
  {
    "path": "SemanticData/UAModelDesignExport.UnitTest/Models/DoRecoverModelDesign.cmd",
    "content": ":: Recovering ModelDesign from UANodeSet OPC UA Model Information\n:: %1 - location of the asp.exe \n\ndel %1\\asp.log  /q\ndel %1\\asp.warnings.log /q\n%1\\asp \"DataTypeTest\\DataTypeTest.NodeSet2.xml\" -e \"DataTypeTest.asp.xml\" -s XMLstylesheet -n \"http://cas.eu/UA/CommServer/UnitTests/DataTypeTest\"\nxcopy %1\\asp.log DataTypeTest\\asp.log /y\nxcopy %1\\asp.warnings.log DataTypeTest\\asp.warnings.log /y /i\n\ndel %1\\asp.log  /q\ndel %1\\asp.warnings.log /q\n%1\\asp \"ObjectTypeTest\\ObjectTypeTest.NodeSet2.xml\" -e \"ObjectTypeTest.asp.xml\" -s XMLstylesheet -n \"http://cas.eu/UA/CommServer/UnitTests/ObjectTypeTest\"\nxcopy %1\\asp.log ObjectTypeTest\\asp.log /y\nxcopy %1\\asp.warnings.log ObjectTypeTest\\asp.warnings.log /y /i\n\ndel %1\\asp.log  /q\ndel %1\\asp.warnings.log /q\n%1\\asp \"ReferenceTest\\ReferenceTest.NodeSet2.xml\" -e \"ReferenceTest.asp.xml\" -s XMLstylesheet -n \"http://cas.eu/UA/CommServer/UnitTests/ReferenceTest\"\nxcopy %1\\asp.log ReferenceTest\\asp.log/y\nxcopy %1\\asp.warnings.log ReferenceTest\\asp.warnings.log /y /i\n\ndel %1\\asp.log  /q\ndel %1\\asp.warnings.log /q\n%1\\asp \"VariableTypeTest\\VariableTypeTest.NodeSet2.xml\" -e \"VariableTypeTest.asp.xml\" -s XMLstylesheet -n \"http://cas.eu/UA/CommServer/UnitTests/VariableTypeTest\"\nxcopy %1\\asp.log VariableTypeTest\\asp.log /y\nxcopy %1\\asp.warnings.log VariableTypeTest\\asp.warnings.log /y /i\n"
  },
  {
    "path": "SemanticData/UAModelDesignExport.UnitTest/Models/GoNodeSet.cmd",
    "content": "set COMPILER=mdc\n\ndel %1\\mdc.log  /q\ndel %1\\mdc.warnings.log /q\n\"%1\\%COMPILER%\" compile --d2 \"ReferenceTest.xml\" -c \"ReferenceTest.csv\" --o2 \"ReferenceTest\"\nxcopy %1\\mdc.log .\\ReferenceTest\\mdc.log /y /i\nxcopy %1\\mdc.warnings.log .\\ReferenceTest\\mdc.warnings.log /y /i\n\ndel %1\\mdc.log  /q\ndel %1\\mdc.warnings.log /q\n\"%1\\%COMPILER%\" compile --d2 \"ObjectTypeTest.xml\" -c \"ObjectTypeTest.csv\" --o2 \"ObjectTypeTest\"\nxcopy %1\\mdc.log .\\ObjectTypeTest\\mdc.log /y /i\nxcopy %1\\mdc.warnings.log .\\ObjectTypeTest\\mdc.warnings.log /y /i\n\ndel %1\\mdc.log  /q\ndel %1\\mdc.warnings.log /q\n\"%1\\%COMPILER%\" compile --d2 \"VariableTypeTest.xml\" -c \"VariableTypeTest.csv\" --o2 \"VariableTypeTest\"\nxcopy %1\\mdc.log .\\VariableTypeTest\\mdc.log /y /i\nxcopy %1\\mdc.warnings.log .\\VariableTypeTest\\mdc.warnings.log /y /i\n\ndel %1\\mdc.log  /q\ndel %1\\mdc.warnings.log /q\n\"%1\\%COMPILER%\" compile --d2 \"DataTypeTest.xml\" -c \"DataTypeTest.csv\" --o2 \"DataTypeTest\"\nxcopy %1\\mdc.log .\\DataTypeTest\\mdc.log /y /i\nxcopy %1\\mdc.warnings.log .\\DataTypeTest\\mdc.warnings.log /y /i\n\n"
  },
  {
    "path": "SemanticData/UAModelDesignExport.UnitTest/Models/ObjectTypeTest/ObjectTypeTest.Classes.cs",
    "content": "/* ========================================================================\n * Copyright (c) 2005-2021 The OPC Foundation, Inc. All rights reserved.\n *\n * OPC Foundation MIT License 1.00\n *\n * Permission is hereby granted, free of charge, to any person\n * obtaining a copy of this software and associated documentation\n * files (the \"Software\"), to deal in the Software without\n * restriction, including without limitation the rights to use,\n * copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the\n * Software is furnished to do so, subject to the following\n * conditions:\n *\n * The above copyright notice and this permission notice shall be\n * included in all copies or substantial portions of the Software.\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND,\n * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES\n * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND\n * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT\n * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,\n * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING\n * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR\n * OTHER DEALINGS IN THE SOFTWARE.\n *\n * The complete license agreement can be found here:\n * http://opcfoundation.org/License/MIT/1.00/\n * ======================================================================*/\n\nusing System;\nusing System.Collections.Generic;\nusing System.Text;\nusing System.Xml;\nusing System.Runtime.Serialization;\nusing ;\n\nnamespace ObjectTypeTest\n{\n    #region ComplexObjectState Class\n    #if (!OPCUA_EXCLUDE_ComplexObjectState)\n    /// <summary>\n    /// Stores an instance of the ComplexObjectType ObjectType.\n    /// </summary>\n    /// <exclude />\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"Opc.Ua.ModelCompiler\", \"1.0.0.0\")]\n    public partial class ComplexObjectState : BaseObjectState\n    {\n        #region Constructors\n        /// <summary>\n        /// Initializes the type with its default attribute values.\n        /// </summary>\n        public ComplexObjectState(NodeState parent) : base(parent)\n        {\n        }\n\n        /// <summary>\n        /// Returns the id of the default type definition node for the instance.\n        /// </summary>\n        protected override NodeId GetDefaultTypeDefinitionId(NamespaceTable namespaceUris)\n        {\n            return Opc.Ua.NodeId.Create(ObjectTypeTest.ObjectTypes.ComplexObjectType, ObjectTypeTest.Namespaces.cas, namespaceUris);\n        }\n\n        #if (!OPCUA_EXCLUDE_InitializationStrings)\n        /// <summary>\n        /// Initializes the instance.\n        /// </summary>\n        protected override void Initialize(ISystemContext context)\n        {\n            base.Initialize(context);\n            Initialize(context, InitializationString);\n            InitializeOptionalChildren(context);\n        }\n\n        /// <summary>\n        /// Initializes the instance with a node.\n        /// </summary>\n        protected override void Initialize(ISystemContext context, NodeState source)\n        {\n            InitializeOptionalChildren(context);\n            base.Initialize(context, source);\n        }\n\n        /// <summary>\n        /// Initializes the any option children defined for the instance.\n        /// </summary>\n        protected override void InitializeOptionalChildren(ISystemContext context)\n        {\n            base.InitializeOptionalChildren(context);\n        }\n\n        #region Initialization String\n        private const string InitializationString =\n           \"AQAAADQAAABodHRwOi8vY2FzLmV1L1VBL0NvbW1TZXJ2ZXIvVW5pdFRlc3RzL09iamVjdFR5cGVUZXN0\" +\n           \"/////wRggAIBAAAAAQAZAAAAQ29tcGxleE9iamVjdFR5cGVJbnN0YW5jZQEBAQABAQEAAQAAAP////8D\" +\n           \"AAAAFWDJCgIAAAARAAAAQnJvd3NlTmFtZTRub2RlNjYBAA0AAABDaGlsZFByb3BlcnR5AQEDAAAuAEQD\" +\n           \"AAAAABX/////AQH/////AAAAABVgiQoCAAAAAQANAAAAQ2hpbGRWYXJpYWJsZQEBKwAALwEAQAkrAAAA\" +\n           \"ABr/////AQH/////AQAAABVgiQoCAAAAAAAHAAAARVVSYW5nZQEBLwAALgBELwAAAAEAdAP/////AQH/\" +\n           \"////AAAAAARhggoEAAAAAQALAAAAQ2hpbGRNZXRob2QBAQoAAC8BAQoACgAAAAEB/////wAAAAA=\";\n        #endregion\n        #endif\n        #endregion\n\n        #region Public Properties\n        /// <remarks />\n        public PropertyState<LocalizedText> BrowseName4node66\n        {\n            get\n            {\n                return m_browseName4node66;\n            }\n\n            set\n            {\n                if (!Object.ReferenceEquals(m_browseName4node66, value))\n                {\n                    ChangeMasks |= NodeStateChangeMasks.Children;\n                }\n\n                m_browseName4node66 = value;\n            }\n        }\n\n        /// <remarks />\n        public AnalogItemState ChildVariable\n        {\n            get\n            {\n                return m_childVariable;\n            }\n\n            set\n            {\n                if (!Object.ReferenceEquals(m_childVariable, value))\n                {\n                    ChangeMasks |= NodeStateChangeMasks.Children;\n                }\n\n                m_childVariable = value;\n            }\n        }\n\n        /// <remarks />\n        public ChildMethodMethodState ChildMethod\n        {\n            get\n            {\n                return m_childMethodMethod;\n            }\n\n            set\n            {\n                if (!Object.ReferenceEquals(m_childMethodMethod, value))\n                {\n                    ChangeMasks |= NodeStateChangeMasks.Children;\n                }\n\n                m_childMethodMethod = value;\n            }\n        }\n        #endregion\n\n        #region Overridden Methods\n        /// <summary>\n        /// Populates a list with the children that belong to the node.\n        /// </summary>\n        /// <param name=\"context\">The context for the system being accessed.</param>\n        /// <param name=\"children\">The list of children to populate.</param>\n        public override void GetChildren(\n            ISystemContext context,\n            IList<BaseInstanceState> children)\n        {\n            if (m_browseName4node66 != null)\n            {\n                children.Add(m_browseName4node66);\n            }\n\n            if (m_childVariable != null)\n            {\n                children.Add(m_childVariable);\n            }\n\n            if (m_childMethodMethod != null)\n            {\n                children.Add(m_childMethodMethod);\n            }\n\n            base.GetChildren(context, children);\n        }\n\n        /// <summary>\n        /// Finds the child with the specified browse name.\n        /// </summary>\n        protected override BaseInstanceState FindChild(\n            ISystemContext context,\n            QualifiedName browseName,\n            bool createOrReplace,\n            BaseInstanceState replacement)\n        {\n            if (QualifiedName.IsNull(browseName))\n            {\n                return null;\n            }\n\n            BaseInstanceState instance = null;\n\n            switch (browseName.Name)\n            {\n                case ObjectTypeTest.BrowseNames.BrowseName4node66:\n                {\n                    if (createOrReplace)\n                    {\n                        if (BrowseName4node66 == null)\n                        {\n                            if (replacement == null)\n                            {\n                                BrowseName4node66 = new PropertyState<LocalizedText>(this);\n                            }\n                            else\n                            {\n                                BrowseName4node66 = (PropertyState<LocalizedText>)replacement;\n                            }\n                        }\n                    }\n\n                    instance = BrowseName4node66;\n                    break;\n                }\n\n                case ObjectTypeTest.BrowseNames.ChildVariable:\n                {\n                    if (createOrReplace)\n                    {\n                        if (ChildVariable == null)\n                        {\n                            if (replacement == null)\n                            {\n                                ChildVariable = new AnalogItemState(this);\n                            }\n                            else\n                            {\n                                ChildVariable = (AnalogItemState)replacement;\n                            }\n                        }\n                    }\n\n                    instance = ChildVariable;\n                    break;\n                }\n\n                case ObjectTypeTest.BrowseNames.ChildMethod:\n                {\n                    if (createOrReplace)\n                    {\n                        if (ChildMethod == null)\n                        {\n                            if (replacement == null)\n                            {\n                                ChildMethod = new ChildMethodMethodState(this);\n                            }\n                            else\n                            {\n                                ChildMethod = (ChildMethodMethodState)replacement;\n                            }\n                        }\n                    }\n\n                    instance = ChildMethod;\n                    break;\n                }\n            }\n\n            if (instance != null)\n            {\n                return instance;\n            }\n\n            return base.FindChild(context, browseName, createOrReplace, replacement);\n        }\n        #endregion\n\n        #region Private Fields\n        private PropertyState<LocalizedText> m_browseName4node66;\n        private AnalogItemState m_childVariable;\n        private ChildMethodMethodState m_childMethodMethod;\n        #endregion\n    }\n    #endif\n    #endregion\n\n    #region DerivedFromComplexObjectState Class\n    #if (!OPCUA_EXCLUDE_DerivedFromComplexObjectState)\n    /// <summary>\n    /// Stores an instance of the DerivedFromComplexObjectType ObjectType.\n    /// </summary>\n    /// <exclude />\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"Opc.Ua.ModelCompiler\", \"1.0.0.0\")]\n    public partial class DerivedFromComplexObjectState : ComplexObjectState\n    {\n        #region Constructors\n        /// <summary>\n        /// Initializes the type with its default attribute values.\n        /// </summary>\n        public DerivedFromComplexObjectState(NodeState parent) : base(parent)\n        {\n        }\n\n        /// <summary>\n        /// Returns the id of the default type definition node for the instance.\n        /// </summary>\n        protected override NodeId GetDefaultTypeDefinitionId(NamespaceTable namespaceUris)\n        {\n            return Opc.Ua.NodeId.Create(ObjectTypeTest.ObjectTypes.DerivedFromComplexObjectType, ObjectTypeTest.Namespaces.cas, namespaceUris);\n        }\n\n        #if (!OPCUA_EXCLUDE_InitializationStrings)\n        /// <summary>\n        /// Initializes the instance.\n        /// </summary>\n        protected override void Initialize(ISystemContext context)\n        {\n            base.Initialize(context);\n            Initialize(context, InitializationString);\n            InitializeOptionalChildren(context);\n        }\n\n        /// <summary>\n        /// Initializes the instance with a node.\n        /// </summary>\n        protected override void Initialize(ISystemContext context, NodeState source)\n        {\n            InitializeOptionalChildren(context);\n            base.Initialize(context, source);\n        }\n\n        /// <summary>\n        /// Initializes the any option children defined for the instance.\n        /// </summary>\n        protected override void InitializeOptionalChildren(ISystemContext context)\n        {\n            base.InitializeOptionalChildren(context);\n        }\n\n        #region Initialization String\n        private const string InitializationString =\n           \"AQAAADQAAABodHRwOi8vY2FzLmV1L1VBL0NvbW1TZXJ2ZXIvVW5pdFRlc3RzL09iamVjdFR5cGVUZXN0\" +\n           \"/////wRggAIBAAAAAQAkAAAARGVyaXZlZEZyb21Db21wbGV4T2JqZWN0VHlwZUluc3RhbmNlAQEQAAEB\" +\n           \"EAAQAAAA/////wMAAAAVYMkKAgAAABEAAABCcm93c2VOYW1lNG5vZGU2NgEADQAAAENoaWxkUHJvcGVy\" +\n           \"dHkBARIAAC4ARBIAAAAAFf////8BAf////8AAAAAFWCJCgIAAAABAA0AAABDaGlsZFZhcmlhYmxlAQEx\" +\n           \"AAAvAQBACTEAAAAAGv////8BAf////8BAAAAFWCJCgIAAAAAAAcAAABFVVJhbmdlAQE1AAAuAEQ1AAAA\" +\n           \"AQB0A/////8BAf////8AAAAARGGCCgQAAAABAAsAAABDaGlsZE1ldGhvZAEBGQADAAAAABIAAABDaGls\" +\n           \"ZE1ldGhvZE5ld05hbWUALwEBCgAZAAAAAQH/////AAAAAA==\";\n        #endregion\n        #endif\n        #endregion\n\n        #region Public Properties\n        #endregion\n\n        #region Overridden Methods\n        #endregion\n\n        #region Private Fields\n        #endregion\n    }\n    #endif\n    #endregion\n}"
  },
  {
    "path": "SemanticData/UAModelDesignExport.UnitTest/Models/ObjectTypeTest/ObjectTypeTest.Constants.cs",
    "content": "/* ========================================================================\n * Copyright (c) 2005-2021 The OPC Foundation, Inc. All rights reserved.\n *\n * OPC Foundation MIT License 1.00\n *\n * Permission is hereby granted, free of charge, to any person\n * obtaining a copy of this software and associated documentation\n * files (the \"Software\"), to deal in the Software without\n * restriction, including without limitation the rights to use,\n * copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the\n * Software is furnished to do so, subject to the following\n * conditions:\n *\n * The above copyright notice and this permission notice shall be\n * included in all copies or substantial portions of the Software.\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND,\n * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES\n * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND\n * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT\n * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,\n * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING\n * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR\n * OTHER DEALINGS IN THE SOFTWARE.\n *\n * The complete license agreement can be found here:\n * http://opcfoundation.org/License/MIT/1.00/\n * ======================================================================*/\n\nusing System;\nusing System.Collections.Generic;\nusing System.Text;\nusing System.Reflection;\nusing System.Xml;\nusing System.Runtime.Serialization;\nusing ;\n\nnamespace ObjectTypeTest\n{\n    #region Method Identifiers\n    /// <summary>\n    /// A class that declares constants for all Methods in the Model Design.\n    /// </summary>\n    /// <exclude />\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"Opc.Ua.ModelCompiler\", \"1.0.0.0\")]\n    public static partial class Methods\n    {\n        /// <summary>\n        /// The identifier for the ComplexObjectType_ChildMethod Method.\n        /// </summary>\n        public const uint ComplexObjectType_ChildMethod = 10;\n\n        /// <summary>\n        /// The identifier for the DerivedFromComplexObjectType_ChildMethod Method.\n        /// </summary>\n        public const uint DerivedFromComplexObjectType_ChildMethod = 25;\n\n        /// <summary>\n        /// The identifier for the InstanceOfDerivedFromComplexObjectType_ChildMethod Method.\n        /// </summary>\n        public const uint InstanceOfDerivedFromComplexObjectType_ChildMethod = 39;\n    }\n    #endregion\n\n    #region Object Identifiers\n    /// <summary>\n    /// A class that declares constants for all Objects in the Model Design.\n    /// </summary>\n    /// <exclude />\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"Opc.Ua.ModelCompiler\", \"1.0.0.0\")]\n    public static partial class Objects\n    {\n        /// <summary>\n        /// The identifier for the ComplexObjectType_ChildObject Object.\n        /// </summary>\n        public const uint ComplexObjectType_ChildObject = 2;\n\n        /// <summary>\n        /// The identifier for the InstanceOfDerivedFromComplexObjectType Object.\n        /// </summary>\n        public const uint InstanceOfDerivedFromComplexObjectType = 30;\n    }\n    #endregion\n\n    #region ObjectType Identifiers\n    /// <summary>\n    /// A class that declares constants for all ObjectTypes in the Model Design.\n    /// </summary>\n    /// <exclude />\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"Opc.Ua.ModelCompiler\", \"1.0.0.0\")]\n    public static partial class ObjectTypes\n    {\n        /// <summary>\n        /// The identifier for the ComplexObjectType ObjectType.\n        /// </summary>\n        public const uint ComplexObjectType = 1;\n\n        /// <summary>\n        /// The identifier for the DerivedFromComplexObjectType ObjectType.\n        /// </summary>\n        public const uint DerivedFromComplexObjectType = 16;\n    }\n    #endregion\n\n    #region Variable Identifiers\n    /// <summary>\n    /// A class that declares constants for all Variables in the Model Design.\n    /// </summary>\n    /// <exclude />\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"Opc.Ua.ModelCompiler\", \"1.0.0.0\")]\n    public static partial class Variables\n    {\n        /// <summary>\n        /// The identifier for the ComplexObjectType_BrowseName4node66 Variable.\n        /// </summary>\n        public const uint ComplexObjectType_BrowseName4node66 = 3;\n\n        /// <summary>\n        /// The identifier for the ComplexObjectType_ChildVariable Variable.\n        /// </summary>\n        public const uint ComplexObjectType_ChildVariable = 43;\n\n        /// <summary>\n        /// The identifier for the ComplexObjectType_ChildVariable_EURange Variable.\n        /// </summary>\n        public const uint ComplexObjectType_ChildVariable_EURange = 47;\n\n        /// <summary>\n        /// The identifier for the ComplexObjectType_ChildMethod_InputArguments Variable.\n        /// </summary>\n        public const uint ComplexObjectType_ChildMethod_InputArguments = 11;\n\n        /// <summary>\n        /// The identifier for the ComplexObjectType_ChildMethod_OutputArguments Variable.\n        /// </summary>\n        public const uint ComplexObjectType_ChildMethod_OutputArguments = 12;\n\n        /// <summary>\n        /// The identifier for the DerivedFromComplexObjectType_BrowseName4node66 Variable.\n        /// </summary>\n        public const uint DerivedFromComplexObjectType_BrowseName4node66 = 18;\n\n        /// <summary>\n        /// The identifier for the DerivedFromComplexObjectType_ChildVariable_EURange Variable.\n        /// </summary>\n        public const uint DerivedFromComplexObjectType_ChildVariable_EURange = 53;\n\n        /// <summary>\n        /// The identifier for the InstanceOfDerivedFromComplexObjectType_BrowseName4node66 Variable.\n        /// </summary>\n        public const uint InstanceOfDerivedFromComplexObjectType_BrowseName4node66 = 32;\n\n        /// <summary>\n        /// The identifier for the InstanceOfDerivedFromComplexObjectType_ChildVariable Variable.\n        /// </summary>\n        public const uint InstanceOfDerivedFromComplexObjectType_ChildVariable = 55;\n\n        /// <summary>\n        /// The identifier for the InstanceOfDerivedFromComplexObjectType_ChildVariable_EURange Variable.\n        /// </summary>\n        public const uint InstanceOfDerivedFromComplexObjectType_ChildVariable_EURange = 59;\n    }\n    #endregion\n\n    #region Method Node Identifiers\n    /// <summary>\n    /// A class that declares constants for all Methods in the Model Design.\n    /// </summary>\n    /// <exclude />\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"Opc.Ua.ModelCompiler\", \"1.0.0.0\")]\n    public static partial class MethodIds\n    {\n        /// <summary>\n        /// The identifier for the ComplexObjectType_ChildMethod Method.\n        /// </summary>\n        public static readonly ExpandedNodeId ComplexObjectType_ChildMethod = new ExpandedNodeId(ObjectTypeTest.Methods.ComplexObjectType_ChildMethod, ObjectTypeTest.Namespaces.cas);\n\n        /// <summary>\n        /// The identifier for the DerivedFromComplexObjectType_ChildMethod Method.\n        /// </summary>\n        public static readonly ExpandedNodeId DerivedFromComplexObjectType_ChildMethod = new ExpandedNodeId(ObjectTypeTest.Methods.DerivedFromComplexObjectType_ChildMethod, ObjectTypeTest.Namespaces.cas);\n\n        /// <summary>\n        /// The identifier for the InstanceOfDerivedFromComplexObjectType_ChildMethod Method.\n        /// </summary>\n        public static readonly ExpandedNodeId InstanceOfDerivedFromComplexObjectType_ChildMethod = new ExpandedNodeId(ObjectTypeTest.Methods.InstanceOfDerivedFromComplexObjectType_ChildMethod, ObjectTypeTest.Namespaces.cas);\n    }\n    #endregion\n\n    #region Object Node Identifiers\n    /// <summary>\n    /// A class that declares constants for all Objects in the Model Design.\n    /// </summary>\n    /// <exclude />\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"Opc.Ua.ModelCompiler\", \"1.0.0.0\")]\n    public static partial class ObjectIds\n    {\n        /// <summary>\n        /// The identifier for the ComplexObjectType_ChildObject Object.\n        /// </summary>\n        public static readonly ExpandedNodeId ComplexObjectType_ChildObject = new ExpandedNodeId(ObjectTypeTest.Objects.ComplexObjectType_ChildObject, ObjectTypeTest.Namespaces.cas);\n\n        /// <summary>\n        /// The identifier for the InstanceOfDerivedFromComplexObjectType Object.\n        /// </summary>\n        public static readonly ExpandedNodeId InstanceOfDerivedFromComplexObjectType = new ExpandedNodeId(ObjectTypeTest.Objects.InstanceOfDerivedFromComplexObjectType, ObjectTypeTest.Namespaces.cas);\n    }\n    #endregion\n\n    #region ObjectType Node Identifiers\n    /// <summary>\n    /// A class that declares constants for all ObjectTypes in the Model Design.\n    /// </summary>\n    /// <exclude />\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"Opc.Ua.ModelCompiler\", \"1.0.0.0\")]\n    public static partial class ObjectTypeIds\n    {\n        /// <summary>\n        /// The identifier for the ComplexObjectType ObjectType.\n        /// </summary>\n        public static readonly ExpandedNodeId ComplexObjectType = new ExpandedNodeId(ObjectTypeTest.ObjectTypes.ComplexObjectType, ObjectTypeTest.Namespaces.cas);\n\n        /// <summary>\n        /// The identifier for the DerivedFromComplexObjectType ObjectType.\n        /// </summary>\n        public static readonly ExpandedNodeId DerivedFromComplexObjectType = new ExpandedNodeId(ObjectTypeTest.ObjectTypes.DerivedFromComplexObjectType, ObjectTypeTest.Namespaces.cas);\n    }\n    #endregion\n\n    #region Variable Node Identifiers\n    /// <summary>\n    /// A class that declares constants for all Variables in the Model Design.\n    /// </summary>\n    /// <exclude />\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"Opc.Ua.ModelCompiler\", \"1.0.0.0\")]\n    public static partial class VariableIds\n    {\n        /// <summary>\n        /// The identifier for the ComplexObjectType_BrowseName4node66 Variable.\n        /// </summary>\n        public static readonly ExpandedNodeId ComplexObjectType_BrowseName4node66 = new ExpandedNodeId(ObjectTypeTest.Variables.ComplexObjectType_BrowseName4node66, ObjectTypeTest.Namespaces.cas);\n\n        /// <summary>\n        /// The identifier for the ComplexObjectType_ChildVariable Variable.\n        /// </summary>\n        public static readonly ExpandedNodeId ComplexObjectType_ChildVariable = new ExpandedNodeId(ObjectTypeTest.Variables.ComplexObjectType_ChildVariable, ObjectTypeTest.Namespaces.cas);\n\n        /// <summary>\n        /// The identifier for the ComplexObjectType_ChildVariable_EURange Variable.\n        /// </summary>\n        public static readonly ExpandedNodeId ComplexObjectType_ChildVariable_EURange = new ExpandedNodeId(ObjectTypeTest.Variables.ComplexObjectType_ChildVariable_EURange, ObjectTypeTest.Namespaces.cas);\n\n        /// <summary>\n        /// The identifier for the ComplexObjectType_ChildMethod_InputArguments Variable.\n        /// </summary>\n        public static readonly ExpandedNodeId ComplexObjectType_ChildMethod_InputArguments = new ExpandedNodeId(ObjectTypeTest.Variables.ComplexObjectType_ChildMethod_InputArguments, ObjectTypeTest.Namespaces.cas);\n\n        /// <summary>\n        /// The identifier for the ComplexObjectType_ChildMethod_OutputArguments Variable.\n        /// </summary>\n        public static readonly ExpandedNodeId ComplexObjectType_ChildMethod_OutputArguments = new ExpandedNodeId(ObjectTypeTest.Variables.ComplexObjectType_ChildMethod_OutputArguments, ObjectTypeTest.Namespaces.cas);\n\n        /// <summary>\n        /// The identifier for the DerivedFromComplexObjectType_BrowseName4node66 Variable.\n        /// </summary>\n        public static readonly ExpandedNodeId DerivedFromComplexObjectType_BrowseName4node66 = new ExpandedNodeId(ObjectTypeTest.Variables.DerivedFromComplexObjectType_BrowseName4node66, ObjectTypeTest.Namespaces.cas);\n\n        /// <summary>\n        /// The identifier for the DerivedFromComplexObjectType_ChildVariable_EURange Variable.\n        /// </summary>\n        public static readonly ExpandedNodeId DerivedFromComplexObjectType_ChildVariable_EURange = new ExpandedNodeId(ObjectTypeTest.Variables.DerivedFromComplexObjectType_ChildVariable_EURange, ObjectTypeTest.Namespaces.cas);\n\n        /// <summary>\n        /// The identifier for the InstanceOfDerivedFromComplexObjectType_BrowseName4node66 Variable.\n        /// </summary>\n        public static readonly ExpandedNodeId InstanceOfDerivedFromComplexObjectType_BrowseName4node66 = new ExpandedNodeId(ObjectTypeTest.Variables.InstanceOfDerivedFromComplexObjectType_BrowseName4node66, ObjectTypeTest.Namespaces.cas);\n\n        /// <summary>\n        /// The identifier for the InstanceOfDerivedFromComplexObjectType_ChildVariable Variable.\n        /// </summary>\n        public static readonly ExpandedNodeId InstanceOfDerivedFromComplexObjectType_ChildVariable = new ExpandedNodeId(ObjectTypeTest.Variables.InstanceOfDerivedFromComplexObjectType_ChildVariable, ObjectTypeTest.Namespaces.cas);\n\n        /// <summary>\n        /// The identifier for the InstanceOfDerivedFromComplexObjectType_ChildVariable_EURange Variable.\n        /// </summary>\n        public static readonly ExpandedNodeId InstanceOfDerivedFromComplexObjectType_ChildVariable_EURange = new ExpandedNodeId(ObjectTypeTest.Variables.InstanceOfDerivedFromComplexObjectType_ChildVariable_EURange, ObjectTypeTest.Namespaces.cas);\n    }\n    #endregion\n\n    #region BrowseName Declarations\n    /// <summary>\n    /// Declares all of the BrowseNames used in the Model Design.\n    /// </summary>\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"Opc.Ua.ModelCompiler\", \"1.0.0.0\")]\n    public static partial class BrowseNames\n    {\n        /// <summary>\n        /// The BrowseName for the BrowseName4node66 component.\n        /// </summary>\n        public const string BrowseName4node66 = \"ChildProperty\";\n\n        /// <summary>\n        /// The BrowseName for the ChildMethod component.\n        /// </summary>\n        public const string ChildMethod = \"ChildMethod\";\n\n        /// <summary>\n        /// The BrowseName for the ChildObject component.\n        /// </summary>\n        public const string ChildObject = \"ChildObject\";\n\n        /// <summary>\n        /// The BrowseName for the ChildVariable component.\n        /// </summary>\n        public const string ChildVariable = \"ChildVariable\";\n\n        /// <summary>\n        /// The BrowseName for the ComplexObjectType component.\n        /// </summary>\n        public const string ComplexObjectType = \"ComplexObjectType\";\n\n        /// <summary>\n        /// The BrowseName for the DerivedFromComplexObjectType component.\n        /// </summary>\n        public const string DerivedFromComplexObjectType = \"DerivedFromComplexObjectType\";\n\n        /// <summary>\n        /// The BrowseName for the InstanceOfDerivedFromComplexObjectType component.\n        /// </summary>\n        public const string InstanceOfDerivedFromComplexObjectType = \"InstanceOfDerivedFromComplexObjectType\";\n    }\n    #endregion\n\n    #region Namespace Declarations\n    /// <summary>\n    /// Defines constants for all namespaces referenced by the model design.\n    /// </summary>\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"Opc.Ua.ModelCompiler\", \"1.0.0.0\")]\n    public static partial class Namespaces\n    {\n        /// <summary>\n        /// The URI for the cas namespace (.NET code namespace is 'ObjectTypeTest').\n        /// </summary>\n        public const string cas = \"http://cas.eu/UA/CommServer/UnitTests/ObjectTypeTest\";\n\n        /// <summary>\n        /// The URI for the ua namespace (.NET code namespace is '').\n        /// </summary>\n        public const string ua = \"http://opcfoundation.org/UA/\";\n    }\n    #endregion\n}"
  },
  {
    "path": "SemanticData/UAModelDesignExport.UnitTest/Models/ObjectTypeTest/ObjectTypeTest.DataTypes.cs",
    "content": "/* ========================================================================\n * Copyright (c) 2005-2021 The OPC Foundation, Inc. All rights reserved.\n *\n * OPC Foundation MIT License 1.00\n *\n * Permission is hereby granted, free of charge, to any person\n * obtaining a copy of this software and associated documentation\n * files (the \"Software\"), to deal in the Software without\n * restriction, including without limitation the rights to use,\n * copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the\n * Software is furnished to do so, subject to the following\n * conditions:\n *\n * The above copyright notice and this permission notice shall be\n * included in all copies or substantial portions of the Software.\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND,\n * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES\n * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND\n * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT\n * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,\n * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING\n * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR\n * OTHER DEALINGS IN THE SOFTWARE.\n *\n * The complete license agreement can be found here:\n * http://opcfoundation.org/License/MIT/1.00/\n * ======================================================================*/\n\nusing System;\nusing System.Collections.Generic;\nusing System.Text;\nusing System.Xml;\nusing System.Runtime.Serialization;\nusing ;\n\nnamespace ObjectTypeTest\n{\n}"
  },
  {
    "path": "SemanticData/UAModelDesignExport.UnitTest/Models/ObjectTypeTest/ObjectTypeTest.NodeIds.csv",
    "content": "ComplexObjectType,1,ObjectType\nDerivedFromComplexObjectType,16,ObjectType\nInstanceOfDerivedFromComplexObjectType,30,Object\n"
  },
  {
    "path": "SemanticData/UAModelDesignExport.UnitTest/Models/ObjectTypeTest/ObjectTypeTest.NodeSet.xml",
    "content": "﻿<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<NodeSet xmlns:i=\"http://www.w3.org/2001/XMLSchema-instance\" xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n  <NamespaceUris>\n    <String>http://opcfoundation.org/UA/</String>\n    <String>http://cas.eu/UA/CommServer/UnitTests/ObjectTypeTest</String>\n  </NamespaceUris>\n  <ServerUris />\n  <Nodes>\n    <Node i:type=\"ObjectTypeNode\">\n      <NodeId>\n        <Identifier>ns=1;i=1</Identifier>\n      </NodeId>\n      <NodeClass>ObjectType_8</NodeClass>\n      <BrowseName>\n        <NamespaceIndex>1</NamespaceIndex>\n        <Name>ComplexObjectType</Name>\n      </BrowseName>\n      <DisplayName>\n        <Locale></Locale>\n        <Text>ComplexObjectType</Text>\n      </DisplayName>\n      <Description i:nil=\"true\" />\n      <WriteMask>0</WriteMask>\n      <UserWriteMask>0</UserWriteMask>\n      <RolePermissions />\n      <UserRolePermissions />\n      <AccessRestrictions>0</AccessRestrictions>\n      <References>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=45</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>true</IsInverse>\n          <TargetId>\n            <Identifier>i=58</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=47</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=2</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=46</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=3</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=47</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=43</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=47</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=10</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=45</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=16</Identifier>\n          </TargetId>\n        </ReferenceNode>\n      </References>\n      <IsAbstract>false</IsAbstract>\n    </Node>\n    <Node i:type=\"ObjectNode\">\n      <NodeId>\n        <Identifier>ns=1;i=2</Identifier>\n      </NodeId>\n      <NodeClass>Object_1</NodeClass>\n      <BrowseName>\n        <NamespaceIndex>1</NamespaceIndex>\n        <Name>ChildObject</Name>\n      </BrowseName>\n      <DisplayName>\n        <Locale></Locale>\n        <Text>ChildObject</Text>\n      </DisplayName>\n      <Description i:nil=\"true\" />\n      <WriteMask>0</WriteMask>\n      <UserWriteMask>0</UserWriteMask>\n      <RolePermissions />\n      <UserRolePermissions />\n      <AccessRestrictions>0</AccessRestrictions>\n      <References>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=47</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>true</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=1</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=40</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>i=58</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=37</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>i=11510</Identifier>\n          </TargetId>\n        </ReferenceNode>\n      </References>\n      <EventNotifier>1</EventNotifier>\n    </Node>\n    <Node i:type=\"VariableNode\">\n      <NodeId>\n        <Identifier>ns=1;i=3</Identifier>\n      </NodeId>\n      <NodeClass>Variable_2</NodeClass>\n      <BrowseName>\n        <NamespaceIndex>1</NamespaceIndex>\n        <Name>ChildProperty</Name>\n      </BrowseName>\n      <DisplayName>\n        <Locale></Locale>\n        <Text>ChildProperty</Text>\n      </DisplayName>\n      <Description i:nil=\"true\" />\n      <WriteMask>0</WriteMask>\n      <UserWriteMask>0</UserWriteMask>\n      <RolePermissions />\n      <UserRolePermissions />\n      <AccessRestrictions>0</AccessRestrictions>\n      <References>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=46</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>true</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=1</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=40</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>i=68</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=37</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>i=78</Identifier>\n          </TargetId>\n        </ReferenceNode>\n      </References>\n      <Value>\n        <Value>\n          <LocalizedText xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\" />\n        </Value>\n      </Value>\n      <DataType>\n        <Identifier>i=21</Identifier>\n      </DataType>\n      <ValueRank>-1</ValueRank>\n      <ArrayDimensions />\n      <AccessLevel>1</AccessLevel>\n      <UserAccessLevel>1</UserAccessLevel>\n      <MinimumSamplingInterval>0</MinimumSamplingInterval>\n      <Historizing>false</Historizing>\n      <AccessLevelEx>0</AccessLevelEx>\n    </Node>\n    <Node i:type=\"MethodNode\">\n      <NodeId>\n        <Identifier>ns=1;i=10</Identifier>\n      </NodeId>\n      <NodeClass>Method_4</NodeClass>\n      <BrowseName>\n        <NamespaceIndex>1</NamespaceIndex>\n        <Name>ChildMethod</Name>\n      </BrowseName>\n      <DisplayName>\n        <Locale></Locale>\n        <Text>ChildMethod</Text>\n      </DisplayName>\n      <Description i:nil=\"true\" />\n      <WriteMask>0</WriteMask>\n      <UserWriteMask>0</UserWriteMask>\n      <RolePermissions />\n      <UserRolePermissions />\n      <AccessRestrictions>0</AccessRestrictions>\n      <References>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=47</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>true</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=1</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=37</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>i=78</Identifier>\n          </TargetId>\n        </ReferenceNode>\n      </References>\n      <Executable>true</Executable>\n      <UserExecutable>true</UserExecutable>\n    </Node>\n    <Node i:type=\"ObjectTypeNode\">\n      <NodeId>\n        <Identifier>ns=1;i=16</Identifier>\n      </NodeId>\n      <NodeClass>ObjectType_8</NodeClass>\n      <BrowseName>\n        <NamespaceIndex>1</NamespaceIndex>\n        <Name>DerivedFromComplexObjectType</Name>\n      </BrowseName>\n      <DisplayName>\n        <Locale></Locale>\n        <Text>DerivedFromComplexObjectType</Text>\n      </DisplayName>\n      <Description i:nil=\"true\" />\n      <WriteMask>0</WriteMask>\n      <UserWriteMask>0</UserWriteMask>\n      <RolePermissions />\n      <UserRolePermissions />\n      <AccessRestrictions>0</AccessRestrictions>\n      <References>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=45</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>true</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=1</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=47</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=25</Identifier>\n          </TargetId>\n        </ReferenceNode>\n      </References>\n      <IsAbstract>false</IsAbstract>\n    </Node>\n    <Node i:type=\"MethodNode\">\n      <NodeId>\n        <Identifier>ns=1;i=25</Identifier>\n      </NodeId>\n      <NodeClass>Method_4</NodeClass>\n      <BrowseName>\n        <NamespaceIndex>1</NamespaceIndex>\n        <Name>ChildMethod</Name>\n      </BrowseName>\n      <DisplayName>\n        <Locale></Locale>\n        <Text>ChildMethodNewName</Text>\n      </DisplayName>\n      <Description i:nil=\"true\" />\n      <WriteMask>0</WriteMask>\n      <UserWriteMask>0</UserWriteMask>\n      <RolePermissions />\n      <UserRolePermissions />\n      <AccessRestrictions>0</AccessRestrictions>\n      <References>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=47</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>true</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=16</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=37</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>i=78</Identifier>\n          </TargetId>\n        </ReferenceNode>\n      </References>\n      <Executable>true</Executable>\n      <UserExecutable>true</UserExecutable>\n    </Node>\n    <Node i:type=\"ObjectNode\">\n      <NodeId>\n        <Identifier>ns=1;i=30</Identifier>\n      </NodeId>\n      <NodeClass>Object_1</NodeClass>\n      <BrowseName>\n        <NamespaceIndex>1</NamespaceIndex>\n        <Name>InstanceOfDerivedFromComplexObjectType</Name>\n      </BrowseName>\n      <DisplayName>\n        <Locale></Locale>\n        <Text>InstanceOfDerivedFromComplexObjectType</Text>\n      </DisplayName>\n      <Description i:nil=\"true\" />\n      <WriteMask>0</WriteMask>\n      <UserWriteMask>0</UserWriteMask>\n      <RolePermissions />\n      <UserRolePermissions />\n      <AccessRestrictions>0</AccessRestrictions>\n      <References>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=40</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=16</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=35</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>true</IsInverse>\n          <TargetId>\n            <Identifier>i=85</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=46</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=32</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=47</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=55</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=47</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=39</Identifier>\n          </TargetId>\n        </ReferenceNode>\n      </References>\n      <EventNotifier>0</EventNotifier>\n    </Node>\n    <Node i:type=\"VariableNode\">\n      <NodeId>\n        <Identifier>ns=1;i=32</Identifier>\n      </NodeId>\n      <NodeClass>Variable_2</NodeClass>\n      <BrowseName>\n        <NamespaceIndex>1</NamespaceIndex>\n        <Name>ChildProperty</Name>\n      </BrowseName>\n      <DisplayName>\n        <Locale></Locale>\n        <Text>ChildProperty</Text>\n      </DisplayName>\n      <Description i:nil=\"true\" />\n      <WriteMask>0</WriteMask>\n      <UserWriteMask>0</UserWriteMask>\n      <RolePermissions />\n      <UserRolePermissions />\n      <AccessRestrictions>0</AccessRestrictions>\n      <References>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=46</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>true</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=30</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=40</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>i=68</Identifier>\n          </TargetId>\n        </ReferenceNode>\n      </References>\n      <Value>\n        <Value>\n          <LocalizedText xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\" />\n        </Value>\n      </Value>\n      <DataType>\n        <Identifier>i=21</Identifier>\n      </DataType>\n      <ValueRank>-1</ValueRank>\n      <ArrayDimensions />\n      <AccessLevel>1</AccessLevel>\n      <UserAccessLevel>1</UserAccessLevel>\n      <MinimumSamplingInterval>0</MinimumSamplingInterval>\n      <Historizing>false</Historizing>\n      <AccessLevelEx>0</AccessLevelEx>\n    </Node>\n    <Node i:type=\"MethodNode\">\n      <NodeId>\n        <Identifier>ns=1;i=39</Identifier>\n      </NodeId>\n      <NodeClass>Method_4</NodeClass>\n      <BrowseName>\n        <NamespaceIndex>1</NamespaceIndex>\n        <Name>ChildMethod</Name>\n      </BrowseName>\n      <DisplayName>\n        <Locale></Locale>\n        <Text>ChildMethodNewName</Text>\n      </DisplayName>\n      <Description i:nil=\"true\" />\n      <WriteMask>0</WriteMask>\n      <UserWriteMask>0</UserWriteMask>\n      <RolePermissions />\n      <UserRolePermissions />\n      <AccessRestrictions>0</AccessRestrictions>\n      <References>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=47</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>true</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=30</Identifier>\n          </TargetId>\n        </ReferenceNode>\n      </References>\n      <Executable>true</Executable>\n      <UserExecutable>true</UserExecutable>\n    </Node>\n    <Node i:type=\"VariableNode\">\n      <NodeId>\n        <Identifier>ns=1;i=43</Identifier>\n      </NodeId>\n      <NodeClass>Variable_2</NodeClass>\n      <BrowseName>\n        <NamespaceIndex>1</NamespaceIndex>\n        <Name>ChildVariable</Name>\n      </BrowseName>\n      <DisplayName>\n        <Locale></Locale>\n        <Text>ChildVariable</Text>\n      </DisplayName>\n      <Description i:nil=\"true\" />\n      <WriteMask>0</WriteMask>\n      <UserWriteMask>0</UserWriteMask>\n      <RolePermissions />\n      <UserRolePermissions />\n      <AccessRestrictions>0</AccessRestrictions>\n      <References>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=47</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>true</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=1</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=40</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>i=2368</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=37</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>i=78</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=46</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=47</Identifier>\n          </TargetId>\n        </ReferenceNode>\n      </References>\n      <Value>\n        <Value>\n          <Double xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">0</Double>\n        </Value>\n      </Value>\n      <DataType>\n        <Identifier>i=26</Identifier>\n      </DataType>\n      <ValueRank>-1</ValueRank>\n      <ArrayDimensions />\n      <AccessLevel>1</AccessLevel>\n      <UserAccessLevel>1</UserAccessLevel>\n      <MinimumSamplingInterval>0</MinimumSamplingInterval>\n      <Historizing>false</Historizing>\n      <AccessLevelEx>0</AccessLevelEx>\n    </Node>\n    <Node i:type=\"VariableNode\">\n      <NodeId>\n        <Identifier>ns=1;i=47</Identifier>\n      </NodeId>\n      <NodeClass>Variable_2</NodeClass>\n      <BrowseName>\n        <NamespaceIndex>0</NamespaceIndex>\n        <Name>EURange</Name>\n      </BrowseName>\n      <DisplayName>\n        <Locale></Locale>\n        <Text>EURange</Text>\n      </DisplayName>\n      <Description i:nil=\"true\" />\n      <WriteMask>0</WriteMask>\n      <UserWriteMask>0</UserWriteMask>\n      <RolePermissions />\n      <UserRolePermissions />\n      <AccessRestrictions>0</AccessRestrictions>\n      <References>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=46</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>true</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=43</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=40</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>i=68</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=37</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>i=78</Identifier>\n          </TargetId>\n        </ReferenceNode>\n      </References>\n      <Value>\n        <Value>\n          <Null xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\" />\n        </Value>\n      </Value>\n      <DataType>\n        <Identifier>i=884</Identifier>\n      </DataType>\n      <ValueRank>-1</ValueRank>\n      <ArrayDimensions />\n      <AccessLevel>1</AccessLevel>\n      <UserAccessLevel>1</UserAccessLevel>\n      <MinimumSamplingInterval>0</MinimumSamplingInterval>\n      <Historizing>false</Historizing>\n      <AccessLevelEx>0</AccessLevelEx>\n    </Node>\n    <Node i:type=\"VariableNode\">\n      <NodeId>\n        <Identifier>ns=1;i=55</Identifier>\n      </NodeId>\n      <NodeClass>Variable_2</NodeClass>\n      <BrowseName>\n        <NamespaceIndex>1</NamespaceIndex>\n        <Name>ChildVariable</Name>\n      </BrowseName>\n      <DisplayName>\n        <Locale></Locale>\n        <Text>ChildVariable</Text>\n      </DisplayName>\n      <Description i:nil=\"true\" />\n      <WriteMask>0</WriteMask>\n      <UserWriteMask>0</UserWriteMask>\n      <RolePermissions />\n      <UserRolePermissions />\n      <AccessRestrictions>0</AccessRestrictions>\n      <References>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=47</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>true</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=30</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=40</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>i=2368</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=46</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=59</Identifier>\n          </TargetId>\n        </ReferenceNode>\n      </References>\n      <Value>\n        <Value>\n          <Double xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">0</Double>\n        </Value>\n      </Value>\n      <DataType>\n        <Identifier>i=26</Identifier>\n      </DataType>\n      <ValueRank>-1</ValueRank>\n      <ArrayDimensions />\n      <AccessLevel>1</AccessLevel>\n      <UserAccessLevel>1</UserAccessLevel>\n      <MinimumSamplingInterval>0</MinimumSamplingInterval>\n      <Historizing>false</Historizing>\n      <AccessLevelEx>0</AccessLevelEx>\n    </Node>\n    <Node i:type=\"VariableNode\">\n      <NodeId>\n        <Identifier>ns=1;i=59</Identifier>\n      </NodeId>\n      <NodeClass>Variable_2</NodeClass>\n      <BrowseName>\n        <NamespaceIndex>0</NamespaceIndex>\n        <Name>EURange</Name>\n      </BrowseName>\n      <DisplayName>\n        <Locale></Locale>\n        <Text>EURange</Text>\n      </DisplayName>\n      <Description i:nil=\"true\" />\n      <WriteMask>0</WriteMask>\n      <UserWriteMask>0</UserWriteMask>\n      <RolePermissions />\n      <UserRolePermissions />\n      <AccessRestrictions>0</AccessRestrictions>\n      <References>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=46</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>true</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=55</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=40</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>i=68</Identifier>\n          </TargetId>\n        </ReferenceNode>\n      </References>\n      <Value>\n        <Value>\n          <Null xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\" />\n        </Value>\n      </Value>\n      <DataType>\n        <Identifier>i=884</Identifier>\n      </DataType>\n      <ValueRank>-1</ValueRank>\n      <ArrayDimensions />\n      <AccessLevel>1</AccessLevel>\n      <UserAccessLevel>1</UserAccessLevel>\n      <MinimumSamplingInterval>0</MinimumSamplingInterval>\n      <Historizing>false</Historizing>\n      <AccessLevelEx>0</AccessLevelEx>\n    </Node>\n  </Nodes>\n</NodeSet>"
  },
  {
    "path": "SemanticData/UAModelDesignExport.UnitTest/Models/ObjectTypeTest/ObjectTypeTest.NodeSet2.xml",
    "content": "﻿<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<UANodeSet xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\" xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xmlns=\"http://opcfoundation.org/UA/2011/03/UANodeSet.xsd\">\n  <NamespaceUris>\n    <Uri>http://cas.eu/UA/CommServer/UnitTests/ObjectTypeTest</Uri>\n  </NamespaceUris>\n  <Models>\n    <Model ModelUri=\"http://cas.eu/UA/CommServer/UnitTests/ObjectTypeTest\">\n      <RequiredModel ModelUri=\"http://opcfoundation.org/UA/\" XmlSchemaUri=\"http://opcfoundation.org/UA/2008/02/Types.xsd\" Version=\"1.04.10\" PublicationDate=\"2021-09-15T00:00:00Z\" />\n    </Model>\n  </Models>\n  <Aliases>\n    <Alias Alias=\"Boolean\">i=1</Alias>\n    <Alias Alias=\"SByte\">i=2</Alias>\n    <Alias Alias=\"Byte\">i=3</Alias>\n    <Alias Alias=\"Int16\">i=4</Alias>\n    <Alias Alias=\"UInt16\">i=5</Alias>\n    <Alias Alias=\"Int32\">i=6</Alias>\n    <Alias Alias=\"UInt32\">i=7</Alias>\n    <Alias Alias=\"Int64\">i=8</Alias>\n    <Alias Alias=\"UInt64\">i=9</Alias>\n    <Alias Alias=\"Float\">i=10</Alias>\n    <Alias Alias=\"Double\">i=11</Alias>\n    <Alias Alias=\"DateTime\">i=13</Alias>\n    <Alias Alias=\"String\">i=12</Alias>\n    <Alias Alias=\"ByteString\">i=15</Alias>\n    <Alias Alias=\"Guid\">i=14</Alias>\n    <Alias Alias=\"XmlElement\">i=16</Alias>\n    <Alias Alias=\"NodeId\">i=17</Alias>\n    <Alias Alias=\"ExpandedNodeId\">i=18</Alias>\n    <Alias Alias=\"QualifiedName\">i=20</Alias>\n    <Alias Alias=\"LocalizedText\">i=21</Alias>\n    <Alias Alias=\"StatusCode\">i=19</Alias>\n    <Alias Alias=\"Structure\">i=22</Alias>\n    <Alias Alias=\"Number\">i=26</Alias>\n    <Alias Alias=\"Integer\">i=27</Alias>\n    <Alias Alias=\"UInteger\">i=28</Alias>\n    <Alias Alias=\"HasComponent\">i=47</Alias>\n    <Alias Alias=\"HasProperty\">i=46</Alias>\n    <Alias Alias=\"Organizes\">i=35</Alias>\n    <Alias Alias=\"HasEventSource\">i=36</Alias>\n    <Alias Alias=\"HasNotifier\">i=48</Alias>\n    <Alias Alias=\"HasSubtype\">i=45</Alias>\n    <Alias Alias=\"HasTypeDefinition\">i=40</Alias>\n    <Alias Alias=\"HasModellingRule\">i=37</Alias>\n    <Alias Alias=\"HasEncoding\">i=38</Alias>\n    <Alias Alias=\"HasDescription\">i=39</Alias>\n    <Alias Alias=\"HasCause\">i=53</Alias>\n    <Alias Alias=\"ToState\">i=52</Alias>\n    <Alias Alias=\"FromState\">i=51</Alias>\n    <Alias Alias=\"HasEffect\">i=54</Alias>\n    <Alias Alias=\"HasTrueSubState\">i=9004</Alias>\n    <Alias Alias=\"HasFalseSubState\">i=9005</Alias>\n    <Alias Alias=\"HasDictionaryEntry\">i=17597</Alias>\n    <Alias Alias=\"HasCondition\">i=9006</Alias>\n    <Alias Alias=\"HasGuard\">i=15112</Alias>\n    <Alias Alias=\"HasAddIn\">i=17604</Alias>\n    <Alias Alias=\"HasInterface\">i=17603</Alias>\n  </Aliases>\n  <UAObjectType NodeId=\"ns=1;i=1\" BrowseName=\"1:ComplexObjectType\">\n    <DisplayName>ComplexObjectType</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=2</Reference>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=3</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=43</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=10</Reference>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=58</Reference>\n    </References>\n  </UAObjectType>\n  <UAObject NodeId=\"ns=1;i=2\" BrowseName=\"1:ChildObject\" ParentNodeId=\"ns=1;i=1\" EventNotifier=\"1\">\n    <DisplayName>ChildObject</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=58</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=11510</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=1</Reference>\n    </References>\n  </UAObject>\n  <UAVariable NodeId=\"ns=1;i=3\" BrowseName=\"1:ChildProperty\" SymbolicName=\"BrowseName4node66\" ParentNodeId=\"ns=1;i=1\" DataType=\"LocalizedText\">\n    <DisplayName>ChildProperty</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=1</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=43\" BrowseName=\"1:ChildVariable\" ParentNodeId=\"ns=1;i=1\" DataType=\"Number\">\n    <DisplayName>ChildVariable</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=47</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=2368</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=1</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=47\" BrowseName=\"EURange\" ParentNodeId=\"ns=1;i=43\" DataType=\"i=884\">\n    <DisplayName>EURange</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=43</Reference>\n    </References>\n  </UAVariable>\n  <UAMethod NodeId=\"ns=1;i=10\" BrowseName=\"1:ChildMethod\" ParentNodeId=\"ns=1;i=1\">\n    <DisplayName>ChildMethod</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=1</Reference>\n    </References>\n  </UAMethod>\n  <UAObjectType NodeId=\"ns=1;i=16\" BrowseName=\"1:DerivedFromComplexObjectType\">\n    <DisplayName>DerivedFromComplexObjectType</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=25</Reference>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">ns=1;i=1</Reference>\n    </References>\n  </UAObjectType>\n  <UAMethod NodeId=\"ns=1;i=25\" BrowseName=\"1:ChildMethod\" ParentNodeId=\"ns=1;i=16\" MethodDeclarationId=\"ns=1;i=10\">\n    <DisplayName>ChildMethodNewName</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=16</Reference>\n    </References>\n  </UAMethod>\n  <UAObject NodeId=\"ns=1;i=30\" BrowseName=\"1:InstanceOfDerivedFromComplexObjectType\">\n    <DisplayName>InstanceOfDerivedFromComplexObjectType</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=32</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=55</Reference>\n      <Reference ReferenceType=\"HasComponent\">ns=1;i=39</Reference>\n      <Reference ReferenceType=\"Organizes\" IsForward=\"false\">i=85</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">ns=1;i=16</Reference>\n    </References>\n  </UAObject>\n  <UAVariable NodeId=\"ns=1;i=32\" BrowseName=\"1:ChildProperty\" SymbolicName=\"BrowseName4node66\" ParentNodeId=\"ns=1;i=30\" DataType=\"LocalizedText\">\n    <DisplayName>ChildProperty</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=30</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=55\" BrowseName=\"1:ChildVariable\" ParentNodeId=\"ns=1;i=30\" DataType=\"Number\">\n    <DisplayName>ChildVariable</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=59</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=2368</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=30</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=59\" BrowseName=\"EURange\" ParentNodeId=\"ns=1;i=55\" DataType=\"i=884\">\n    <DisplayName>EURange</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=55</Reference>\n    </References>\n  </UAVariable>\n  <UAMethod NodeId=\"ns=1;i=39\" BrowseName=\"1:ChildMethod\" ParentNodeId=\"ns=1;i=30\" MethodDeclarationId=\"ns=1;i=10\">\n    <DisplayName>ChildMethodNewName</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">ns=1;i=30</Reference>\n    </References>\n  </UAMethod>\n</UANodeSet>"
  },
  {
    "path": "SemanticData/UAModelDesignExport.UnitTest/Models/ObjectTypeTest/ObjectTypeTest.PredefinedNodes.xml",
    "content": "﻿<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<uax:ListOfNodeState xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xmlns:uax=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n  <uax:NamespaceUris>\n    <uax:NamespaceUri>http://cas.eu/UA/CommServer/UnitTests/ObjectTypeTest</uax:NamespaceUri>\n  </uax:NamespaceUris>\n  <ComplexObjectType xmlns=\"http://cas.eu/UA/CommServer/UnitTests/ObjectTypeTest\">\n    <uax:NodeClass>ObjectType_8</uax:NodeClass>\n    <uax:NodeId>\n      <uax:Identifier>ns=1;i=1</uax:Identifier>\n    </uax:NodeId>\n    <uax:BrowseName>\n      <uax:NamespaceIndex>1</uax:NamespaceIndex>\n      <uax:Name>ComplexObjectType</uax:Name>\n    </uax:BrowseName>\n    <uax:SuperTypeId>\n      <uax:Identifier>i=58</uax:Identifier>\n    </uax:SuperTypeId>\n    <ChildObject>\n      <uax:NodeClass>Object_1</uax:NodeClass>\n      <uax:NodeId>\n        <uax:Identifier>ns=1;i=2</uax:Identifier>\n      </uax:NodeId>\n      <uax:BrowseName>\n        <uax:NamespaceIndex>1</uax:NamespaceIndex>\n        <uax:Name>ChildObject</uax:Name>\n      </uax:BrowseName>\n      <uax:ReferenceTypeId>\n        <uax:Identifier>i=47</uax:Identifier>\n      </uax:ReferenceTypeId>\n      <uax:TypeDefinitionId>\n        <uax:Identifier>i=58</uax:Identifier>\n      </uax:TypeDefinitionId>\n      <uax:ModellingRuleId>\n        <uax:Identifier>i=11510</uax:Identifier>\n      </uax:ModellingRuleId>\n      <uax:NumericId>2</uax:NumericId>\n      <uax:EventNotifier>1</uax:EventNotifier>\n    </ChildObject>\n    <BrowseName4node66>\n      <uax:NodeClass>Variable_2</uax:NodeClass>\n      <uax:NodeId>\n        <uax:Identifier>ns=1;i=3</uax:Identifier>\n      </uax:NodeId>\n      <uax:BrowseName>\n        <uax:NamespaceIndex>1</uax:NamespaceIndex>\n        <uax:Name>ChildProperty</uax:Name>\n      </uax:BrowseName>\n      <uax:ReferenceTypeId>\n        <uax:Identifier>i=46</uax:Identifier>\n      </uax:ReferenceTypeId>\n      <uax:TypeDefinitionId>\n        <uax:Identifier>i=68</uax:Identifier>\n      </uax:TypeDefinitionId>\n      <uax:ModellingRuleId>\n        <uax:Identifier>i=78</uax:Identifier>\n      </uax:ModellingRuleId>\n      <uax:NumericId>3</uax:NumericId>\n      <uax:DataType>\n        <uax:Identifier>i=21</uax:Identifier>\n      </uax:DataType>\n      <uax:ValueRank>-1</uax:ValueRank>\n      <uax:AccessLevel>1</uax:AccessLevel>\n      <uax:UserAccessLevel>1</uax:UserAccessLevel>\n    </BrowseName4node66>\n    <ChildVariable>\n      <uax:NodeClass>Variable_2</uax:NodeClass>\n      <uax:NodeId>\n        <uax:Identifier>ns=1;i=43</uax:Identifier>\n      </uax:NodeId>\n      <uax:BrowseName>\n        <uax:NamespaceIndex>1</uax:NamespaceIndex>\n        <uax:Name>ChildVariable</uax:Name>\n      </uax:BrowseName>\n      <uax:ReferenceTypeId>\n        <uax:Identifier>i=47</uax:Identifier>\n      </uax:ReferenceTypeId>\n      <uax:TypeDefinitionId>\n        <uax:Identifier>i=2368</uax:Identifier>\n      </uax:TypeDefinitionId>\n      <uax:ModellingRuleId>\n        <uax:Identifier>i=78</uax:Identifier>\n      </uax:ModellingRuleId>\n      <uax:NumericId>43</uax:NumericId>\n      <uax:DataType>\n        <uax:Identifier>i=26</uax:Identifier>\n      </uax:DataType>\n      <uax:ValueRank>-1</uax:ValueRank>\n      <uax:AccessLevel>1</uax:AccessLevel>\n      <uax:UserAccessLevel>1</uax:UserAccessLevel>\n      <EURange xmlns=\"http://opcfoundation.org/UA/\">\n        <uax:NodeClass>Variable_2</uax:NodeClass>\n        <uax:NodeId>\n          <uax:Identifier>ns=1;i=47</uax:Identifier>\n        </uax:NodeId>\n        <uax:BrowseName>\n          <uax:NamespaceIndex>0</uax:NamespaceIndex>\n          <uax:Name>EURange</uax:Name>\n        </uax:BrowseName>\n        <uax:ReferenceTypeId>\n          <uax:Identifier>i=46</uax:Identifier>\n        </uax:ReferenceTypeId>\n        <uax:TypeDefinitionId>\n          <uax:Identifier>i=68</uax:Identifier>\n        </uax:TypeDefinitionId>\n        <uax:ModellingRuleId>\n          <uax:Identifier>i=78</uax:Identifier>\n        </uax:ModellingRuleId>\n        <uax:NumericId>47</uax:NumericId>\n        <uax:DataType>\n          <uax:Identifier>i=884</uax:Identifier>\n        </uax:DataType>\n        <uax:ValueRank>-1</uax:ValueRank>\n        <uax:AccessLevel>1</uax:AccessLevel>\n        <uax:UserAccessLevel>1</uax:UserAccessLevel>\n      </EURange>\n    </ChildVariable>\n    <ChildMethod>\n      <uax:NodeClass>Method_4</uax:NodeClass>\n      <uax:NodeId>\n        <uax:Identifier>ns=1;i=10</uax:Identifier>\n      </uax:NodeId>\n      <uax:BrowseName>\n        <uax:NamespaceIndex>1</uax:NamespaceIndex>\n        <uax:Name>ChildMethod</uax:Name>\n      </uax:BrowseName>\n      <uax:ReferenceTypeId>\n        <uax:Identifier>i=47</uax:Identifier>\n      </uax:ReferenceTypeId>\n      <uax:TypeDefinitionId>\n        <uax:Identifier>ns=1;i=10</uax:Identifier>\n      </uax:TypeDefinitionId>\n      <uax:ModellingRuleId>\n        <uax:Identifier>i=78</uax:Identifier>\n      </uax:ModellingRuleId>\n      <uax:NumericId>10</uax:NumericId>\n      <uax:Executable>true</uax:Executable>\n      <uax:UserExecutable>true</uax:UserExecutable>\n    </ChildMethod>\n  </ComplexObjectType>\n  <DerivedFromComplexObjectType xmlns=\"http://cas.eu/UA/CommServer/UnitTests/ObjectTypeTest\">\n    <uax:NodeClass>ObjectType_8</uax:NodeClass>\n    <uax:NodeId>\n      <uax:Identifier>ns=1;i=16</uax:Identifier>\n    </uax:NodeId>\n    <uax:BrowseName>\n      <uax:NamespaceIndex>1</uax:NamespaceIndex>\n      <uax:Name>DerivedFromComplexObjectType</uax:Name>\n    </uax:BrowseName>\n    <uax:SuperTypeId>\n      <uax:Identifier>ns=1;i=1</uax:Identifier>\n    </uax:SuperTypeId>\n    <ChildMethod>\n      <uax:NodeClass>Method_4</uax:NodeClass>\n      <uax:NodeId>\n        <uax:Identifier>ns=1;i=25</uax:Identifier>\n      </uax:NodeId>\n      <uax:BrowseName>\n        <uax:NamespaceIndex>1</uax:NamespaceIndex>\n        <uax:Name>ChildMethod</uax:Name>\n      </uax:BrowseName>\n      <uax:DisplayName>\n        <uax:Text>ChildMethodNewName</uax:Text>\n      </uax:DisplayName>\n      <uax:ReferenceTypeId>\n        <uax:Identifier>i=47</uax:Identifier>\n      </uax:ReferenceTypeId>\n      <uax:TypeDefinitionId>\n        <uax:Identifier>ns=1;i=10</uax:Identifier>\n      </uax:TypeDefinitionId>\n      <uax:ModellingRuleId>\n        <uax:Identifier>i=78</uax:Identifier>\n      </uax:ModellingRuleId>\n      <uax:NumericId>25</uax:NumericId>\n      <uax:Executable>true</uax:Executable>\n      <uax:UserExecutable>true</uax:UserExecutable>\n    </ChildMethod>\n  </DerivedFromComplexObjectType>\n  <InstanceOfDerivedFromComplexObjectType xmlns=\"http://cas.eu/UA/CommServer/UnitTests/ObjectTypeTest\">\n    <uax:NodeClass>Object_1</uax:NodeClass>\n    <uax:NodeId>\n      <uax:Identifier>ns=1;i=30</uax:Identifier>\n    </uax:NodeId>\n    <uax:BrowseName>\n      <uax:NamespaceIndex>1</uax:NamespaceIndex>\n      <uax:Name>InstanceOfDerivedFromComplexObjectType</uax:Name>\n    </uax:BrowseName>\n    <uax:ReferenceTypeId>\n      <uax:Identifier>i=47</uax:Identifier>\n    </uax:ReferenceTypeId>\n    <uax:TypeDefinitionId>\n      <uax:Identifier>ns=1;i=16</uax:Identifier>\n    </uax:TypeDefinitionId>\n    <uax:NumericId>30</uax:NumericId>\n    <uax:References>\n      <uax:Reference>\n        <uax:ReferenceTypeId>\n          <uax:Identifier>i=35</uax:Identifier>\n        </uax:ReferenceTypeId>\n        <uax:IsInverse>true</uax:IsInverse>\n        <uax:TargetId>\n          <uax:Identifier>i=85</uax:Identifier>\n        </uax:TargetId>\n      </uax:Reference>\n    </uax:References>\n    <BrowseName4node66>\n      <uax:NodeClass>Variable_2</uax:NodeClass>\n      <uax:NodeId>\n        <uax:Identifier>ns=1;i=32</uax:Identifier>\n      </uax:NodeId>\n      <uax:BrowseName>\n        <uax:NamespaceIndex>1</uax:NamespaceIndex>\n        <uax:Name>ChildProperty</uax:Name>\n      </uax:BrowseName>\n      <uax:ReferenceTypeId>\n        <uax:Identifier>i=46</uax:Identifier>\n      </uax:ReferenceTypeId>\n      <uax:TypeDefinitionId>\n        <uax:Identifier>i=68</uax:Identifier>\n      </uax:TypeDefinitionId>\n      <uax:NumericId>32</uax:NumericId>\n      <uax:DataType>\n        <uax:Identifier>i=21</uax:Identifier>\n      </uax:DataType>\n      <uax:ValueRank>-1</uax:ValueRank>\n      <uax:AccessLevel>1</uax:AccessLevel>\n      <uax:UserAccessLevel>1</uax:UserAccessLevel>\n    </BrowseName4node66>\n    <ChildVariable>\n      <uax:NodeClass>Variable_2</uax:NodeClass>\n      <uax:NodeId>\n        <uax:Identifier>ns=1;i=55</uax:Identifier>\n      </uax:NodeId>\n      <uax:BrowseName>\n        <uax:NamespaceIndex>1</uax:NamespaceIndex>\n        <uax:Name>ChildVariable</uax:Name>\n      </uax:BrowseName>\n      <uax:ReferenceTypeId>\n        <uax:Identifier>i=47</uax:Identifier>\n      </uax:ReferenceTypeId>\n      <uax:TypeDefinitionId>\n        <uax:Identifier>i=2368</uax:Identifier>\n      </uax:TypeDefinitionId>\n      <uax:NumericId>55</uax:NumericId>\n      <uax:DataType>\n        <uax:Identifier>i=26</uax:Identifier>\n      </uax:DataType>\n      <uax:ValueRank>-1</uax:ValueRank>\n      <uax:AccessLevel>1</uax:AccessLevel>\n      <uax:UserAccessLevel>1</uax:UserAccessLevel>\n      <EURange xmlns=\"http://opcfoundation.org/UA/\">\n        <uax:NodeClass>Variable_2</uax:NodeClass>\n        <uax:NodeId>\n          <uax:Identifier>ns=1;i=59</uax:Identifier>\n        </uax:NodeId>\n        <uax:BrowseName>\n          <uax:NamespaceIndex>0</uax:NamespaceIndex>\n          <uax:Name>EURange</uax:Name>\n        </uax:BrowseName>\n        <uax:ReferenceTypeId>\n          <uax:Identifier>i=46</uax:Identifier>\n        </uax:ReferenceTypeId>\n        <uax:TypeDefinitionId>\n          <uax:Identifier>i=68</uax:Identifier>\n        </uax:TypeDefinitionId>\n        <uax:NumericId>59</uax:NumericId>\n        <uax:DataType>\n          <uax:Identifier>i=884</uax:Identifier>\n        </uax:DataType>\n        <uax:ValueRank>-1</uax:ValueRank>\n        <uax:AccessLevel>1</uax:AccessLevel>\n        <uax:UserAccessLevel>1</uax:UserAccessLevel>\n      </EURange>\n    </ChildVariable>\n    <ChildMethod>\n      <uax:NodeClass>Method_4</uax:NodeClass>\n      <uax:NodeId>\n        <uax:Identifier>ns=1;i=39</uax:Identifier>\n      </uax:NodeId>\n      <uax:BrowseName>\n        <uax:NamespaceIndex>1</uax:NamespaceIndex>\n        <uax:Name>ChildMethod</uax:Name>\n      </uax:BrowseName>\n      <uax:DisplayName>\n        <uax:Text>ChildMethodNewName</uax:Text>\n      </uax:DisplayName>\n      <uax:ReferenceTypeId>\n        <uax:Identifier>i=47</uax:Identifier>\n      </uax:ReferenceTypeId>\n      <uax:TypeDefinitionId>\n        <uax:Identifier>ns=1;i=10</uax:Identifier>\n      </uax:TypeDefinitionId>\n      <uax:NumericId>39</uax:NumericId>\n      <uax:Executable>true</uax:Executable>\n      <uax:UserExecutable>true</uax:UserExecutable>\n    </ChildMethod>\n  </InstanceOfDerivedFromComplexObjectType>\n</uax:ListOfNodeState>"
  },
  {
    "path": "SemanticData/UAModelDesignExport.UnitTest/Models/ObjectTypeTest/ObjectTypeTest.Types.bsd",
    "content": "<opc:TypeDictionary\n  xmlns:opc=\"http://opcfoundation.org/BinarySchema/\"\n  xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\"\n  xmlns:ua=\"http://opcfoundation.org/UA/\"\n  xmlns:tns=\"http://cas.eu/UA/CommServer/UnitTests/ObjectTypeTest\"\n  DefaultByteOrder=\"LittleEndian\"\n  TargetNamespace=\"http://cas.eu/UA/CommServer/UnitTests/ObjectTypeTest\"\n>\n  <opc:Import Namespace=\"http://opcfoundation.org/UA/\" Location=\".BinarySchema.bsd\"/>\n\n</opc:TypeDictionary>"
  },
  {
    "path": "SemanticData/UAModelDesignExport.UnitTest/Models/ObjectTypeTest/ObjectTypeTest.Types.xsd",
    "content": "<xs:schema\n  xmlns:xs=\"http://www.w3.org/2001/XMLSchema\"\n  xmlns:ua=\"http://opcfoundation.org/UA/2008/02/Types.xsd\"\n  xmlns:tns=\"http://cas.eu/UA/CommServer/UnitTests/ObjectTypeTest\"\n  targetNamespace=\"http://cas.eu/UA/CommServer/UnitTests/ObjectTypeTest\"\n  elementFormDefault=\"qualified\"\n>\n  <xs:import namespace=\"http://opcfoundation.org/UA/\" />\n\n</xs:schema>"
  },
  {
    "path": "SemanticData/UAModelDesignExport.UnitTest/Models/ObjectTypeTest.asp.xml",
    "content": "﻿<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<?xml-stylesheet type=\"text/xsl\" href=\"XMLstylesheet\"?>\n<ModelDesign xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\" xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xmlns:Prefix1=\"http://opcfoundation.org/UA/\" xmlns:uax=\"http://opcfoundation.org/UA/2008/02/Types.xsd\" xmlns:Prefix3=\"http://cas.eu/UA/CommServer/UnitTests/ObjectTypeTest\" TargetNamespace=\"http://cas.eu/UA/CommServer/UnitTests/ObjectTypeTest\" TargetVersion=\"\" TargetPublicationDate=\"2022-04-06T00:00:00+02:00\" xmlns=\"http://opcfoundation.org/UA/ModelDesign.xsd\">\n  <Namespaces>\n    <Namespace Name=\"Name0\" Prefix=\"Prefix0\" InternalPrefix=\"http://opcfoundation.org/UA/\" XmlNamespace=\"http://opcfoundation.org/UA/\" XmlPrefix=\"Prefix1\" FilePath=\"\" Version=\"v104\" PublicationDate=\"15.09.2021\">http://opcfoundation.org/UA/</Namespace>\n    <Namespace Name=\"Name2\" Prefix=\"Prefix2\" InternalPrefix=\"http://cas.eu/UA/CommServer/UnitTests/ObjectTypeTest\" XmlNamespace=\"http://cas.eu/UA/CommServer/UnitTests/ObjectTypeTest\" XmlPrefix=\"Prefix3\" FilePath=\"\" PublicationDate=\"06.04.2022\">http://cas.eu/UA/CommServer/UnitTests/ObjectTypeTest</Namespace>\n  </Namespaces>\n  <ObjectType SymbolicName=\"Prefix3:ComplexObjectType\">\n    <Children>\n      <Object SymbolicName=\"Prefix3:ChildObject\" ModellingRule=\"MandatoryPlaceholder\" SupportsEvents=\"true\" />\n      <Property SymbolicName=\"Prefix3:BrowseName4node66\" ModellingRule=\"Mandatory\" DataType=\"Prefix1:LocalizedText\">\n        <BrowseName>ChildProperty</BrowseName>\n      </Property>\n      <Variable SymbolicName=\"Prefix3:ChildVariable\" TypeDefinition=\"Prefix1:AnalogItemType\" ModellingRule=\"Mandatory\" />\n      <Method SymbolicName=\"Prefix3:ChildMethod\" ModellingRule=\"Mandatory\" />\n    </Children>\n    <ClassName />\n  </ObjectType>\n  <ObjectType SymbolicName=\"Prefix3:DerivedFromComplexObjectType\" BaseType=\"Prefix3:ComplexObjectType\">\n    <Children>\n      <Method SymbolicName=\"Prefix3:ChildMethod\">\n        <DisplayName>ChildMethodNewName</DisplayName>\n      </Method>\n    </Children>\n    <ClassName />\n  </ObjectType>\n  <Object SymbolicName=\"Prefix3:InstanceOfDerivedFromComplexObjectType\" TypeDefinition=\"Prefix3:DerivedFromComplexObjectType\" />\n</ModelDesign>"
  },
  {
    "path": "SemanticData/UAModelDesignExport.UnitTest/Models/ObjectTypeTest.csv",
    "content": "ComplexObjectType,1,ObjectType\nComplexObjectType_ChildObject,2,Object\nComplexObjectType_BrowseName4node66,3,Variable\nComplexObjectType_ChildMethod,10,Method\nComplexObjectType_ChildMethod_InputArguments,11,Variable\nComplexObjectType_ChildMethod_OutputArguments,12,Variable\nDerivedFromComplexObjectType,16,ObjectType\nDerivedFromComplexObjectType_ChildObject,17,Object\nDerivedFromComplexObjectType_BrowseName4node66,18,Variable\nDerivedFromComplexObjectType_ChildMethod,25,Method\nDerivedFromComplexObjectType_ChildMethod_InputArguments,26,Variable\nDerivedFromComplexObjectType_ChildMethod_OutputArguments,27,Variable\nInstanceOfDerivedFromComplexObjectType,30,Object\nInstanceOfDerivedFromComplexObjectType_ChildObject,31,Object\nInstanceOfDerivedFromComplexObjectType_BrowseName4node66,32,Variable\nInstanceOfDerivedFromComplexObjectType_ChildMethod,39,Method\nInstanceOfDerivedFromComplexObjectType_ChildMethod_InputArguments,40,Variable\nInstanceOfDerivedFromComplexObjectType_ChildMethod_OutputArguments,41,Variable\nComplexObjectType_ChildVariable,43,Variable\nComplexObjectType_ChildVariable_Definition,44,Variable\nComplexObjectType_ChildVariable_ValuePrecision,45,Variable\nComplexObjectType_ChildVariable_InstrumentRange,46,Variable\nComplexObjectType_ChildVariable_EURange,47,Variable\nComplexObjectType_ChildVariable_EngineeringUnits,48,Variable\nDerivedFromComplexObjectType_ChildVariable,49,Variable\nDerivedFromComplexObjectType_ChildVariable_Definition,50,Variable\nDerivedFromComplexObjectType_ChildVariable_ValuePrecision,51,Variable\nDerivedFromComplexObjectType_ChildVariable_InstrumentRange,52,Variable\nDerivedFromComplexObjectType_ChildVariable_EURange,53,Variable\nDerivedFromComplexObjectType_ChildVariable_EngineeringUnits,54,Variable\nInstanceOfDerivedFromComplexObjectType_ChildVariable,55,Variable\nInstanceOfDerivedFromComplexObjectType_ChildVariable_Definition,56,Variable\nInstanceOfDerivedFromComplexObjectType_ChildVariable_ValuePrecision,57,Variable\nInstanceOfDerivedFromComplexObjectType_ChildVariable_InstrumentRange,58,Variable\nInstanceOfDerivedFromComplexObjectType_ChildVariable_EURange,59,Variable\nInstanceOfDerivedFromComplexObjectType_ChildVariable_EngineeringUnits,60,Variable\n"
  },
  {
    "path": "SemanticData/UAModelDesignExport.UnitTest/Models/ObjectTypeTest.xml",
    "content": "﻿<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<ModelDesign xmlns:cas=\"http://cas.eu/UA/CommServer/UnitTests/ObjectTypeTest\" xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\" xmlns:uax=\"http://opcfoundation.org/UA/2008/02/Types.xsd\" xmlns:ua=\"http://opcfoundation.org/UA/\" TargetNamespace=\"http://cas.eu/UA/CommServer/UnitTests/ObjectTypeTest\" xmlns=\"http://opcfoundation.org/UA/ModelDesign.xsd\">\n  <Namespaces>\n    <Namespace Name=\"cas\" Prefix=\"ObjectTypeTest\" XmlPrefix=\"cas\">http://cas.eu/UA/CommServer/UnitTests/ObjectTypeTest</Namespace>\n    <Namespace Name=\"ua\" XmlPrefix=\"ua\">http://opcfoundation.org/UA/</Namespace>\n  </Namespaces>\n  <ObjectType SymbolicName=\"cas:ComplexObjectType\">\n    <Children>\n      <Object SymbolicName=\"cas:ChildObject\" ModellingRule=\"MandatoryPlaceholder\" SupportsEvents=\"true\" />\n      <Property SymbolicName=\"cas:BrowseName4node66\" ModellingRule=\"Mandatory\" DataType=\"ua:LocalizedText\">\n        <BrowseName>ChildProperty</BrowseName>\n      </Property>\n      <Variable SymbolicName=\"cas:ChildVariable\" TypeDefinition=\"ua:AnalogItemType\" ModellingRule=\"Mandatory\">\n        <BrowseName />\n      </Variable>\n      <Method SymbolicName=\"cas:ChildMethod\" ModellingRule=\"Mandatory\">\n        <InputArguments>\n          <Argument Name=\"Input1\" DataType=\"ua:Int32\" />\n          <Argument Name=\"Input2\" DataType=\"ua:Int32\" />\n        </InputArguments>\n        <OutputArguments>\n          <Argument Name=\"Output1\" DataType=\"ua:Int32\" />\n        </OutputArguments>\n      </Method>\n    </Children>\n  </ObjectType>\n  <ObjectType SymbolicName=\"cas:DerivedFromComplexObjectType\" BaseType=\"cas:ComplexObjectType\">\n    <Children>\n      <Method SymbolicName=\"cas:ChildMethod\">\n        <DisplayName>ChildMethodNewName</DisplayName>\n      </Method>\n    </Children>\n  </ObjectType>\n  <Object SymbolicName=\"cas:InstanceOfDerivedFromComplexObjectType\" TypeDefinition=\"cas:DerivedFromComplexObjectType\">\n    <References>\n      <Reference IsInverse=\"true\">\n        <ReferenceType>ua:Organizes</ReferenceType>\n        <TargetId>ua:ObjectsFolder</TargetId>\n      </Reference>\n    </References>\n  </Object>\n</ModelDesign>"
  },
  {
    "path": "SemanticData/UAModelDesignExport.UnitTest/Models/ReadMe.txt",
    "content": "﻿\nReference \n\tIsOneWay is ignored by the compiler. It is assigned always false.\n\tSymmetric - default value is false and after serialization it always exist.\n\tTo test customs references duplicated references must be removed manualy to make sure the preserved are associated with the orginal nodes.\nUAVariableType\n\tValue is not descrobed in the specyfication - it is assumed it represents default value.\nVariableDesign\n\tUserAccessLevel - is not supported.\nMethodDesign\n    InputArguments, OutputArguments: Identifier is not supported by the compiler and IdentifierSpecified should be always false.\n\tNonExecutable is compiled to the attributes Executable, UserExecutable of an alone (not atached) node that is added to the model = both are set to false if NonExecutable is false. It is not supported by the recovery mechanizm. \nReserwed Browse names: InputArguments, OutputArguments For the reserwer BrowseName identifiers the Opc.UA namespace is assigned while QualifiedName is created.\nModelDesign notes\n\nInstanceDesign\n\tnot supported attributes: Declaration, PreserveDefaultAttributes, MinCardinality, MaxCardinality.\nDataTypeDesign:\n\tnot supported attributes: NotInAddressSpace, NoArraysAllowed. \n\t\tNotInAddressSpace: compiler omots this node.\n\t\tNoArraysAllowed: do not generate ListOf... from the schema. To recover schema must be anlized.\n\t\tEncodingDesign - is not supported - it is not used in any model I have.\n"
  },
  {
    "path": "SemanticData/UAModelDesignExport.UnitTest/Models/ReferenceTest/ReferenceTest.Classes.cs",
    "content": "/* ========================================================================\n * Copyright (c) 2005-2021 The OPC Foundation, Inc. All rights reserved.\n *\n * OPC Foundation MIT License 1.00\n *\n * Permission is hereby granted, free of charge, to any person\n * obtaining a copy of this software and associated documentation\n * files (the \"Software\"), to deal in the Software without\n * restriction, including without limitation the rights to use,\n * copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the\n * Software is furnished to do so, subject to the following\n * conditions:\n *\n * The above copyright notice and this permission notice shall be\n * included in all copies or substantial portions of the Software.\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND,\n * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES\n * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND\n * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT\n * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,\n * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING\n * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR\n * OTHER DEALINGS IN THE SOFTWARE.\n *\n * The complete license agreement can be found here:\n * http://opcfoundation.org/License/MIT/1.00/\n * ======================================================================*/\n\nusing System;\nusing System.Collections.Generic;\nusing System.Text;\nusing System.Xml;\nusing System.Runtime.Serialization;\nusing ;\n\nnamespace ReferenceTest\n{\n}"
  },
  {
    "path": "SemanticData/UAModelDesignExport.UnitTest/Models/ReferenceTest/ReferenceTest.Constants.cs",
    "content": "/* ========================================================================\n * Copyright (c) 2005-2021 The OPC Foundation, Inc. All rights reserved.\n *\n * OPC Foundation MIT License 1.00\n *\n * Permission is hereby granted, free of charge, to any person\n * obtaining a copy of this software and associated documentation\n * files (the \"Software\"), to deal in the Software without\n * restriction, including without limitation the rights to use,\n * copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the\n * Software is furnished to do so, subject to the following\n * conditions:\n *\n * The above copyright notice and this permission notice shall be\n * included in all copies or substantial portions of the Software.\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND,\n * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES\n * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND\n * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT\n * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,\n * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING\n * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR\n * OTHER DEALINGS IN THE SOFTWARE.\n *\n * The complete license agreement can be found here:\n * http://opcfoundation.org/License/MIT/1.00/\n * ======================================================================*/\n\nusing System;\nusing System.Collections.Generic;\nusing System.Text;\nusing System.Reflection;\nusing System.Xml;\nusing System.Runtime.Serialization;\nusing ;\n\nnamespace ReferenceTest\n{\n    #region ReferenceType Identifiers\n    /// <summary>\n    /// A class that declares constants for all ReferenceTypes in the Model Design.\n    /// </summary>\n    /// <exclude />\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"Opc.Ua.ModelCompiler\", \"1.0.0.0\")]\n    public static partial class ReferenceTypes\n    {\n        /// <summary>\n        /// The identifier for the ReferenceTypeTest ReferenceType.\n        /// </summary>\n        public const uint ReferenceTypeTest = 1;\n    }\n    #endregion\n\n    #region ReferenceType Node Identifiers\n    /// <summary>\n    /// A class that declares constants for all ReferenceTypes in the Model Design.\n    /// </summary>\n    /// <exclude />\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"Opc.Ua.ModelCompiler\", \"1.0.0.0\")]\n    public static partial class ReferenceTypeIds\n    {\n        /// <summary>\n        /// The identifier for the ReferenceTypeTest ReferenceType.\n        /// </summary>\n        public static readonly ExpandedNodeId ReferenceTypeTest = new ExpandedNodeId(ReferenceTest.ReferenceTypes.ReferenceTypeTest, ReferenceTest.Namespaces.cas);\n    }\n    #endregion\n\n    #region BrowseName Declarations\n    /// <summary>\n    /// Declares all of the BrowseNames used in the Model Design.\n    /// </summary>\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"Opc.Ua.ModelCompiler\", \"1.0.0.0\")]\n    public static partial class BrowseNames\n    {\n        /// <summary>\n        /// The BrowseName for the ReferenceTypeTest component.\n        /// </summary>\n        public const string ReferenceTypeTest = \"ReferenceTypeTest\";\n    }\n    #endregion\n\n    #region Namespace Declarations\n    /// <summary>\n    /// Defines constants for all namespaces referenced by the model design.\n    /// </summary>\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"Opc.Ua.ModelCompiler\", \"1.0.0.0\")]\n    public static partial class Namespaces\n    {\n        /// <summary>\n        /// The URI for the cas namespace (.NET code namespace is 'ReferenceTest').\n        /// </summary>\n        public const string cas = \"http://cas.eu/UA/CommServer/UnitTests/ReferenceTest\";\n\n        /// <summary>\n        /// The URI for the ua namespace (.NET code namespace is '').\n        /// </summary>\n        public const string ua = \"http://opcfoundation.org/UA/\";\n    }\n    #endregion\n}"
  },
  {
    "path": "SemanticData/UAModelDesignExport.UnitTest/Models/ReferenceTest/ReferenceTest.DataTypes.cs",
    "content": "/* ========================================================================\n * Copyright (c) 2005-2021 The OPC Foundation, Inc. All rights reserved.\n *\n * OPC Foundation MIT License 1.00\n *\n * Permission is hereby granted, free of charge, to any person\n * obtaining a copy of this software and associated documentation\n * files (the \"Software\"), to deal in the Software without\n * restriction, including without limitation the rights to use,\n * copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the\n * Software is furnished to do so, subject to the following\n * conditions:\n *\n * The above copyright notice and this permission notice shall be\n * included in all copies or substantial portions of the Software.\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND,\n * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES\n * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND\n * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT\n * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,\n * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING\n * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR\n * OTHER DEALINGS IN THE SOFTWARE.\n *\n * The complete license agreement can be found here:\n * http://opcfoundation.org/License/MIT/1.00/\n * ======================================================================*/\n\nusing System;\nusing System.Collections.Generic;\nusing System.Text;\nusing System.Xml;\nusing System.Runtime.Serialization;\nusing ;\n\nnamespace ReferenceTest\n{\n}"
  },
  {
    "path": "SemanticData/UAModelDesignExport.UnitTest/Models/ReferenceTest/ReferenceTest.NodeIds.csv",
    "content": "ReferenceTypeTest,1,ReferenceType\n"
  },
  {
    "path": "SemanticData/UAModelDesignExport.UnitTest/Models/ReferenceTest/ReferenceTest.NodeSet.xml",
    "content": "﻿<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<NodeSet xmlns:i=\"http://www.w3.org/2001/XMLSchema-instance\" xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n  <NamespaceUris>\n    <String>http://opcfoundation.org/UA/</String>\n    <String>http://cas.eu/UA/CommServer/UnitTests/ReferenceTest</String>\n  </NamespaceUris>\n  <ServerUris />\n  <Nodes>\n    <Node i:type=\"ReferenceTypeNode\">\n      <NodeId>\n        <Identifier>ns=1;i=1</Identifier>\n      </NodeId>\n      <NodeClass>ReferenceType_32</NodeClass>\n      <BrowseName>\n        <NamespaceIndex>1</NamespaceIndex>\n        <Name>ReferenceTypeTest</Name>\n      </BrowseName>\n      <DisplayName>\n        <Locale></Locale>\n        <Text>ReferenceTypeTest</Text>\n      </DisplayName>\n      <Description i:nil=\"true\" />\n      <WriteMask>0</WriteMask>\n      <UserWriteMask>0</UserWriteMask>\n      <RolePermissions />\n      <UserRolePermissions />\n      <AccessRestrictions>0</AccessRestrictions>\n      <References>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=45</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>true</IsInverse>\n          <TargetId>\n            <Identifier>i=46</Identifier>\n          </TargetId>\n        </ReferenceNode>\n      </References>\n      <IsAbstract>false</IsAbstract>\n      <Symmetric>false</Symmetric>\n      <InverseName>\n        <Locale></Locale>\n        <Text>FromSomwhere</Text>\n      </InverseName>\n    </Node>\n  </Nodes>\n</NodeSet>"
  },
  {
    "path": "SemanticData/UAModelDesignExport.UnitTest/Models/ReferenceTest/ReferenceTest.NodeSet2.xml",
    "content": "﻿<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<UANodeSet xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\" xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xmlns=\"http://opcfoundation.org/UA/2011/03/UANodeSet.xsd\">\n  <NamespaceUris>\n    <Uri>http://cas.eu/UA/CommServer/UnitTests/ReferenceTest</Uri>\n  </NamespaceUris>\n  <Models>\n    <Model ModelUri=\"http://cas.eu/UA/CommServer/UnitTests/ReferenceTest\">\n      <RequiredModel ModelUri=\"http://opcfoundation.org/UA/\" XmlSchemaUri=\"http://opcfoundation.org/UA/2008/02/Types.xsd\" Version=\"1.04.10\" PublicationDate=\"2021-09-15T00:00:00Z\" />\n    </Model>\n  </Models>\n  <Aliases>\n    <Alias Alias=\"Boolean\">i=1</Alias>\n    <Alias Alias=\"SByte\">i=2</Alias>\n    <Alias Alias=\"Byte\">i=3</Alias>\n    <Alias Alias=\"Int16\">i=4</Alias>\n    <Alias Alias=\"UInt16\">i=5</Alias>\n    <Alias Alias=\"Int32\">i=6</Alias>\n    <Alias Alias=\"UInt32\">i=7</Alias>\n    <Alias Alias=\"Int64\">i=8</Alias>\n    <Alias Alias=\"UInt64\">i=9</Alias>\n    <Alias Alias=\"Float\">i=10</Alias>\n    <Alias Alias=\"Double\">i=11</Alias>\n    <Alias Alias=\"DateTime\">i=13</Alias>\n    <Alias Alias=\"String\">i=12</Alias>\n    <Alias Alias=\"ByteString\">i=15</Alias>\n    <Alias Alias=\"Guid\">i=14</Alias>\n    <Alias Alias=\"XmlElement\">i=16</Alias>\n    <Alias Alias=\"NodeId\">i=17</Alias>\n    <Alias Alias=\"ExpandedNodeId\">i=18</Alias>\n    <Alias Alias=\"QualifiedName\">i=20</Alias>\n    <Alias Alias=\"LocalizedText\">i=21</Alias>\n    <Alias Alias=\"StatusCode\">i=19</Alias>\n    <Alias Alias=\"Structure\">i=22</Alias>\n    <Alias Alias=\"Number\">i=26</Alias>\n    <Alias Alias=\"Integer\">i=27</Alias>\n    <Alias Alias=\"UInteger\">i=28</Alias>\n    <Alias Alias=\"HasComponent\">i=47</Alias>\n    <Alias Alias=\"HasProperty\">i=46</Alias>\n    <Alias Alias=\"Organizes\">i=35</Alias>\n    <Alias Alias=\"HasEventSource\">i=36</Alias>\n    <Alias Alias=\"HasNotifier\">i=48</Alias>\n    <Alias Alias=\"HasSubtype\">i=45</Alias>\n    <Alias Alias=\"HasTypeDefinition\">i=40</Alias>\n    <Alias Alias=\"HasModellingRule\">i=37</Alias>\n    <Alias Alias=\"HasEncoding\">i=38</Alias>\n    <Alias Alias=\"HasDescription\">i=39</Alias>\n    <Alias Alias=\"HasCause\">i=53</Alias>\n    <Alias Alias=\"ToState\">i=52</Alias>\n    <Alias Alias=\"FromState\">i=51</Alias>\n    <Alias Alias=\"HasEffect\">i=54</Alias>\n    <Alias Alias=\"HasTrueSubState\">i=9004</Alias>\n    <Alias Alias=\"HasFalseSubState\">i=9005</Alias>\n    <Alias Alias=\"HasDictionaryEntry\">i=17597</Alias>\n    <Alias Alias=\"HasCondition\">i=9006</Alias>\n    <Alias Alias=\"HasGuard\">i=15112</Alias>\n    <Alias Alias=\"HasAddIn\">i=17604</Alias>\n    <Alias Alias=\"HasInterface\">i=17603</Alias>\n  </Aliases>\n  <UAReferenceType NodeId=\"ns=1;i=1\" BrowseName=\"1:ReferenceTypeTest\">\n    <DisplayName>ReferenceTypeTest</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=46</Reference>\n    </References>\n    <InverseName>FromSomwhere</InverseName>\n  </UAReferenceType>\n</UANodeSet>"
  },
  {
    "path": "SemanticData/UAModelDesignExport.UnitTest/Models/ReferenceTest/ReferenceTest.PredefinedNodes.xml",
    "content": "﻿<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<uax:ListOfNodeState xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xmlns:uax=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n  <uax:NamespaceUris>\n    <uax:NamespaceUri>http://cas.eu/UA/CommServer/UnitTests/ReferenceTest</uax:NamespaceUri>\n  </uax:NamespaceUris>\n  <ReferenceTypeTest xmlns=\"http://cas.eu/UA/CommServer/UnitTests/ReferenceTest\">\n    <uax:NodeClass>ReferenceType_32</uax:NodeClass>\n    <uax:NodeId>\n      <uax:Identifier>ns=1;i=1</uax:Identifier>\n    </uax:NodeId>\n    <uax:BrowseName>\n      <uax:NamespaceIndex>1</uax:NamespaceIndex>\n      <uax:Name>ReferenceTypeTest</uax:Name>\n    </uax:BrowseName>\n    <uax:SuperTypeId>\n      <uax:Identifier>i=46</uax:Identifier>\n    </uax:SuperTypeId>\n    <uax:InverseName>\n      <uax:Text>FromSomwhere</uax:Text>\n    </uax:InverseName>\n  </ReferenceTypeTest>\n</uax:ListOfNodeState>"
  },
  {
    "path": "SemanticData/UAModelDesignExport.UnitTest/Models/ReferenceTest/ReferenceTest.Types.bsd",
    "content": "<opc:TypeDictionary\n  xmlns:opc=\"http://opcfoundation.org/BinarySchema/\"\n  xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\"\n  xmlns:ua=\"http://opcfoundation.org/UA/\"\n  xmlns:tns=\"http://cas.eu/UA/CommServer/UnitTests/ReferenceTest\"\n  DefaultByteOrder=\"LittleEndian\"\n  TargetNamespace=\"http://cas.eu/UA/CommServer/UnitTests/ReferenceTest\"\n>\n  <opc:Import Namespace=\"http://opcfoundation.org/UA/\" Location=\".BinarySchema.bsd\"/>\n\n</opc:TypeDictionary>"
  },
  {
    "path": "SemanticData/UAModelDesignExport.UnitTest/Models/ReferenceTest/ReferenceTest.Types.xsd",
    "content": "<xs:schema\n  xmlns:xs=\"http://www.w3.org/2001/XMLSchema\"\n  xmlns:ua=\"http://opcfoundation.org/UA/2008/02/Types.xsd\"\n  xmlns:tns=\"http://cas.eu/UA/CommServer/UnitTests/ReferenceTest\"\n  targetNamespace=\"http://cas.eu/UA/CommServer/UnitTests/ReferenceTest\"\n  elementFormDefault=\"qualified\"\n>\n  <xs:import namespace=\"http://opcfoundation.org/UA/\" />\n\n</xs:schema>"
  },
  {
    "path": "SemanticData/UAModelDesignExport.UnitTest/Models/ReferenceTest.asp.xml",
    "content": "﻿<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<?xml-stylesheet type=\"text/xsl\" href=\"XMLstylesheet\"?>\n<ModelDesign xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\" xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xmlns:Prefix1=\"http://opcfoundation.org/UA/\" xmlns:uax=\"http://opcfoundation.org/UA/2008/02/Types.xsd\" xmlns:Prefix3=\"http://cas.eu/UA/CommServer/UnitTests/ReferenceTest\" TargetNamespace=\"http://cas.eu/UA/CommServer/UnitTests/ReferenceTest\" TargetVersion=\"\" TargetPublicationDate=\"2022-04-06T00:00:00+02:00\" xmlns=\"http://opcfoundation.org/UA/ModelDesign.xsd\">\n  <Namespaces>\n    <Namespace Name=\"Name0\" Prefix=\"Prefix0\" InternalPrefix=\"http://opcfoundation.org/UA/\" XmlNamespace=\"http://opcfoundation.org/UA/\" XmlPrefix=\"Prefix1\" FilePath=\"\" Version=\"v104\" PublicationDate=\"15.09.2021\">http://opcfoundation.org/UA/</Namespace>\n    <Namespace Name=\"Name2\" Prefix=\"Prefix2\" InternalPrefix=\"http://cas.eu/UA/CommServer/UnitTests/ReferenceTest\" XmlNamespace=\"http://cas.eu/UA/CommServer/UnitTests/ReferenceTest\" XmlPrefix=\"Prefix3\" FilePath=\"\" PublicationDate=\"06.04.2022\">http://cas.eu/UA/CommServer/UnitTests/ReferenceTest</Namespace>\n  </Namespaces>\n  <ReferenceType SymbolicName=\"Prefix3:ReferenceTypeTest\" BaseType=\"Prefix1:HasProperty\">\n    <ClassName />\n    <InverseName>FromSomwhere</InverseName>\n  </ReferenceType>\n</ModelDesign>"
  },
  {
    "path": "SemanticData/UAModelDesignExport.UnitTest/Models/ReferenceTest.csv",
    "content": "ReferenceTypeTest,1,ReferenceType\n"
  },
  {
    "path": "SemanticData/UAModelDesignExport.UnitTest/Models/ReferenceTest.xml",
    "content": "﻿<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<ModelDesign xmlns:cas=\"http://cas.eu/UA/CommServer/UnitTests/ReferenceTest\" xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\" xmlns:uax=\"http://opcfoundation.org/UA/2008/02/Types.xsd\" xmlns:ua=\"http://opcfoundation.org/UA/\" TargetNamespace=\"http://cas.eu/UA/CommServer/UnitTests/ReferenceTest\" xmlns=\"http://opcfoundation.org/UA/ModelDesign.xsd\">\n  <Namespaces>\n    <Namespace Name=\"cas\" Prefix=\"ReferenceTest\" XmlPrefix=\"cas\">http://cas.eu/UA/CommServer/UnitTests/ReferenceTest</Namespace>\n    <Namespace Name=\"ua\" XmlPrefix=\"ua\">http://opcfoundation.org/UA/</Namespace>\n  </Namespaces>\n  <ReferenceType SymbolicName=\"cas:ReferenceTypeTest\" BaseType=\"ua:HasProperty\" Symmetric=\"false\">\n    <InverseName>FromSomwhere</InverseName>\n  </ReferenceType>\n</ModelDesign>"
  },
  {
    "path": "SemanticData/UAModelDesignExport.UnitTest/Models/TestModels.uamdsl",
    "content": "﻿<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<?xml-stylesheet type=\"text/xsl\" href=\"UAModelDesignerSolution.xslt\"?>\n<UAModelDesignerSolution xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\" xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\">\n  <Name>UnitTestsData</Name>\n  <Projects>\n    <UAModelDesignerProject ProjectIdentifier=\"f94e41c2-dbc6-48c3-a374-81615b1bf0de\">\n      <Name>ReferenceTest</Name>\n      <CSVFileName>$(ProjectFileName).csv</CSVFileName>\n      <BuildOutputDirectoryName>$(ProjectFileName)</BuildOutputDirectoryName>\n      <FileName>ReferenceTest.xml</FileName>\n    </UAModelDesignerProject>\n    <UAModelDesignerProject ProjectIdentifier=\"66dc1a63-f9f4-411f-8866-07b8e6a54f99\">\n      <Name>ObjectTypeTest</Name>\n      <CSVFileName>$(ProjectFileName).csv</CSVFileName>\n      <BuildOutputDirectoryName>$(ProjectFileName)</BuildOutputDirectoryName>\n      <FileName>ObjectTypeTest.xml</FileName>\n    </UAModelDesignerProject>\n    <UAModelDesignerProject ProjectIdentifier=\"72861b24-ae2a-4ea2-973d-9d8193e317bb\">\n      <Name>VariableTypeTest</Name>\n      <CSVFileName>$(ProjectFileName).csv</CSVFileName>\n      <BuildOutputDirectoryName>$(ProjectFileName)</BuildOutputDirectoryName>\n      <FileName>VariableTypeTest.xml</FileName>\n    </UAModelDesignerProject>\n    <UAModelDesignerProject ProjectIdentifier=\"be767e1a-245c-4051-a151-b3708704f464\">\n      <Name>DataTypeTest</Name>\n      <CSVFileName>$(ProjectFileName).csv</CSVFileName>\n      <BuildOutputDirectoryName>$(ProjectFileName)</BuildOutputDirectoryName>\n      <FileName>DataTypeTest.xml</FileName>\n    </UAModelDesignerProject>\n  </Projects>\n  <ServerDetails codebase=\"\" configuration=\"\" />\n</UAModelDesignerSolution>"
  },
  {
    "path": "SemanticData/UAModelDesignExport.UnitTest/Models/VariableTypeTest/VariableTypeTest.Classes.cs",
    "content": "/* ========================================================================\n * Copyright (c) 2005-2021 The OPC Foundation, Inc. All rights reserved.\n *\n * OPC Foundation MIT License 1.00\n *\n * Permission is hereby granted, free of charge, to any person\n * obtaining a copy of this software and associated documentation\n * files (the \"Software\"), to deal in the Software without\n * restriction, including without limitation the rights to use,\n * copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the\n * Software is furnished to do so, subject to the following\n * conditions:\n *\n * The above copyright notice and this permission notice shall be\n * included in all copies or substantial portions of the Software.\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND,\n * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES\n * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND\n * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT\n * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,\n * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING\n * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR\n * OTHER DEALINGS IN THE SOFTWARE.\n *\n * The complete license agreement can be found here:\n * http://opcfoundation.org/License/MIT/1.00/\n * ======================================================================*/\n\nusing System;\nusing System.Collections.Generic;\nusing System.Text;\nusing System.Xml;\nusing System.Runtime.Serialization;\nusing ;\n\nnamespace VariableTypeTest\n{\n    #region ComplexVariableState Class\n    #if (!OPCUA_EXCLUDE_ComplexVariableState)\n    /// <summary>\n    /// Stores an instance of the ComplexVariableType VariableType.\n    /// </summary>\n    /// <exclude />\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"Opc.Ua.ModelCompiler\", \"1.0.0.0\")]\n    public partial class ComplexVariableState : AnalogItemState\n    {\n        #region Constructors\n        /// <summary>\n        /// Initializes the type with its default attribute values.\n        /// </summary>\n        public ComplexVariableState(NodeState parent) : base(parent)\n        {\n        }\n\n        /// <summary>\n        /// Returns the id of the default type definition node for the instance.\n        /// </summary>\n        protected override NodeId GetDefaultTypeDefinitionId(NamespaceTable namespaceUris)\n        {\n            return Opc.Ua.NodeId.Create(VariableTypeTest.VariableTypes.ComplexVariableType, VariableTypeTest.Namespaces.cas, namespaceUris);\n        }\n\n        /// <summary>\n        /// Returns the id of the default data type node for the instance.\n        /// </summary>\n        protected override NodeId GetDefaultDataTypeId(NamespaceTable namespaceUris)\n        {\n            return Opc.Ua.NodeId.Create(.DataTypes.Number, .Namespaces.ua, namespaceUris);\n        }\n\n        /// <summary>\n        /// Returns the id of the default value rank for the instance.\n        /// </summary>\n        protected override int GetDefaultValueRank()\n        {\n            return ValueRanks.Scalar;\n        }\n\n        #if (!OPCUA_EXCLUDE_InitializationStrings)\n        /// <summary>\n        /// Initializes the instance.\n        /// </summary>\n        protected override void Initialize(ISystemContext context)\n        {\n            base.Initialize(context);\n            Initialize(context, InitializationString);\n            InitializeOptionalChildren(context);\n        }\n\n        /// <summary>\n        /// Initializes the instance with a node.\n        /// </summary>\n        protected override void Initialize(ISystemContext context, NodeState source)\n        {\n            InitializeOptionalChildren(context);\n            base.Initialize(context, source);\n        }\n\n        /// <summary>\n        /// Initializes the any option children defined for the instance.\n        /// </summary>\n        protected override void InitializeOptionalChildren(ISystemContext context)\n        {\n            base.InitializeOptionalChildren(context);\n        }\n\n        #region Initialization String\n        private const string InitializationString =\n           \"AQAAADYAAABodHRwOi8vY2FzLmV1L1VBL0NvbW1TZXJ2ZXIvVW5pdFRlc3RzL1ZhcmlhYmxlVHlwZVRl\" +\n           \"c3T/////FWCJAgIAAAABABsAAABDb21wbGV4VmFyaWFibGVUeXBlSW5zdGFuY2UBAQgAAQEIAAgAAAAA\" +\n           \"Gv////8BAf////8CAAAAVWCJCgIAAAAAAAcAAABFVVJhbmdlAQEMAAMAAAAADgAAAE5ld0Rpc3BsYXlO\" +\n           \"YW1lAC4ARAwAAAABAHQD/////wEB/////wAAAAAVYIkKAgAAAAEADQAAAFZhcmlhYmxlQ2hpbGQBAQ4A\" +\n           \"AC4ARA4AAAAABv////8CAv////8AAAAA\";\n        #endregion\n        #endif\n        #endregion\n\n        #region Public Properties\n        /// <remarks />\n        public PropertyState<int> VariableChild\n        {\n            get\n            {\n                return m_variableChild;\n            }\n\n            set\n            {\n                if (!Object.ReferenceEquals(m_variableChild, value))\n                {\n                    ChangeMasks |= NodeStateChangeMasks.Children;\n                }\n\n                m_variableChild = value;\n            }\n        }\n        #endregion\n\n        #region Overridden Methods\n        /// <summary>\n        /// Populates a list with the children that belong to the node.\n        /// </summary>\n        /// <param name=\"context\">The context for the system being accessed.</param>\n        /// <param name=\"children\">The list of children to populate.</param>\n        public override void GetChildren(\n            ISystemContext context,\n            IList<BaseInstanceState> children)\n        {\n            if (m_variableChild != null)\n            {\n                children.Add(m_variableChild);\n            }\n\n            base.GetChildren(context, children);\n        }\n\n        /// <summary>\n        /// Finds the child with the specified browse name.\n        /// </summary>\n        protected override BaseInstanceState FindChild(\n            ISystemContext context,\n            QualifiedName browseName,\n            bool createOrReplace,\n            BaseInstanceState replacement)\n        {\n            if (QualifiedName.IsNull(browseName))\n            {\n                return null;\n            }\n\n            BaseInstanceState instance = null;\n\n            switch (browseName.Name)\n            {\n                case VariableTypeTest.BrowseNames.VariableChild:\n                {\n                    if (createOrReplace)\n                    {\n                        if (VariableChild == null)\n                        {\n                            if (replacement == null)\n                            {\n                                VariableChild = new PropertyState<int>(this);\n                            }\n                            else\n                            {\n                                VariableChild = (PropertyState<int>)replacement;\n                            }\n                        }\n                    }\n\n                    instance = VariableChild;\n                    break;\n                }\n            }\n\n            if (instance != null)\n            {\n                return instance;\n            }\n\n            return base.FindChild(context, browseName, createOrReplace, replacement);\n        }\n        #endregion\n\n        #region Private Fields\n        private PropertyState<int> m_variableChild;\n        #endregion\n    }\n\n    #region ComplexVariableState<T> Class\n    /// <summary>\n    /// A typed version of the ComplexVariableType variable.\n    /// </summary>\n    /// <exclude />\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"Opc.Ua.ModelCompiler\", \"1.0.0.0\")]\n    public class ComplexVariableState<T> : ComplexVariableState\n    {\n        #region Constructors\n        /// <summary>\n        /// Initializes the instance with its defalt attribute values.\n        /// </summary>\n        public ComplexVariableState(NodeState parent) : base(parent)\n        {\n            Value = default(T);\n        }\n\n        /// <summary>\n        /// Initializes the instance with the default values.\n        /// </summary>\n        protected override void Initialize(ISystemContext context)\n        {\n            base.Initialize(context);\n\n            Value = default(T);\n            DataType = TypeInfo.GetDataTypeId(typeof(T));\n            ValueRank = TypeInfo.GetValueRank(typeof(T));\n        }\n\n        /// <summary>\n        /// Initializes the instance with a node.\n        /// </summary>\n        protected override void Initialize(ISystemContext context, NodeState source)\n        {\n            InitializeOptionalChildren(context);\n            base.Initialize(context, source);\n        }\n        #endregion\n\n        #region Public Members\n        /// <summary>\n        /// The value of the variable.\n        /// </summary>\n        public new T Value\n        {\n            get\n            {\n                return CheckTypeBeforeCast<T>(base.Value, true);\n            }\n\n            set\n            {\n                base.Value = value;\n            }\n        }\n        #endregion\n    }\n    #endregion\n    #endif\n    #endregion\n\n    #region ArrayVariableState Class\n    #if (!OPCUA_EXCLUDE_ArrayVariableState)\n    /// <summary>\n    /// Stores an instance of the ArrayVariableType VariableType.\n    /// </summary>\n    /// <exclude />\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"Opc.Ua.ModelCompiler\", \"1.0.0.0\")]\n    public partial class ArrayVariableState : BaseDataVariableState<int[]>\n    {\n        #region Constructors\n        /// <summary>\n        /// Initializes the type with its default attribute values.\n        /// </summary>\n        public ArrayVariableState(NodeState parent) : base(parent)\n        {\n        }\n\n        /// <summary>\n        /// Returns the id of the default type definition node for the instance.\n        /// </summary>\n        protected override NodeId GetDefaultTypeDefinitionId(NamespaceTable namespaceUris)\n        {\n            return Opc.Ua.NodeId.Create(VariableTypeTest.VariableTypes.ArrayVariableType, VariableTypeTest.Namespaces.cas, namespaceUris);\n        }\n\n        /// <summary>\n        /// Returns the id of the default data type node for the instance.\n        /// </summary>\n        protected override NodeId GetDefaultDataTypeId(NamespaceTable namespaceUris)\n        {\n            return Opc.Ua.NodeId.Create(.DataTypes.Int32, .Namespaces.ua, namespaceUris);\n        }\n\n        /// <summary>\n        /// Returns the id of the default value rank for the instance.\n        /// </summary>\n        protected override int GetDefaultValueRank()\n        {\n            return 4;\n        }\n\n        #if (!OPCUA_EXCLUDE_InitializationStrings)\n        /// <summary>\n        /// Initializes the instance.\n        /// </summary>\n        protected override void Initialize(ISystemContext context)\n        {\n            base.Initialize(context);\n            Initialize(context, InitializationString);\n            InitializeOptionalChildren(context);\n        }\n\n        /// <summary>\n        /// Initializes the instance with a node.\n        /// </summary>\n        protected override void Initialize(ISystemContext context, NodeState source)\n        {\n            InitializeOptionalChildren(context);\n            base.Initialize(context, source);\n        }\n\n        /// <summary>\n        /// Initializes the any option children defined for the instance.\n        /// </summary>\n        protected override void InitializeOptionalChildren(ISystemContext context)\n        {\n            base.InitializeOptionalChildren(context);\n        }\n\n        #region Initialization String\n        private const string InitializationString =\n           \"AQAAADYAAABodHRwOi8vY2FzLmV1L1VBL0NvbW1TZXJ2ZXIvVW5pdFRlc3RzL1ZhcmlhYmxlVHlwZVRl\" +\n           \"c3T/////F2CJAgIAAAABABkAAABBcnJheVZhcmlhYmxlVHlwZUluc3RhbmNlAQEPAAEBDwAPAAAAAAYD\" +\n           \"AAAAAwAAAAAAAAAAAAAAAAAAAAEB/////wAAAAA=\";\n        #endregion\n        #endif\n        #endregion\n\n        #region Public Properties\n        #endregion\n\n        #region Overridden Methods\n        #endregion\n\n        #region Private Fields\n        #endregion\n    }\n    #endif\n    #endregion\n\n    #region SimpleVariableWithValueState Class\n    #if (!OPCUA_EXCLUDE_SimpleVariableWithValueState)\n    /// <summary>\n    /// Stores an instance of the SimpleVariableWithValueType VariableType.\n    /// </summary>\n    /// <exclude />\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"Opc.Ua.ModelCompiler\", \"1.0.0.0\")]\n    public partial class SimpleVariableWithValueState : BaseDataVariableState<int>\n    {\n        #region Constructors\n        /// <summary>\n        /// Initializes the type with its default attribute values.\n        /// </summary>\n        public SimpleVariableWithValueState(NodeState parent) : base(parent)\n        {\n        }\n\n        /// <summary>\n        /// Returns the id of the default type definition node for the instance.\n        /// </summary>\n        protected override NodeId GetDefaultTypeDefinitionId(NamespaceTable namespaceUris)\n        {\n            return Opc.Ua.NodeId.Create(VariableTypeTest.VariableTypes.SimpleVariableWithValueType, VariableTypeTest.Namespaces.cas, namespaceUris);\n        }\n\n        /// <summary>\n        /// Returns the id of the default data type node for the instance.\n        /// </summary>\n        protected override NodeId GetDefaultDataTypeId(NamespaceTable namespaceUris)\n        {\n            return Opc.Ua.NodeId.Create(.DataTypes.Int32, .Namespaces.ua, namespaceUris);\n        }\n\n        /// <summary>\n        /// Returns the id of the default value rank for the instance.\n        /// </summary>\n        protected override int GetDefaultValueRank()\n        {\n            return ValueRanks.Scalar;\n        }\n\n        #if (!OPCUA_EXCLUDE_InitializationStrings)\n        /// <summary>\n        /// Initializes the instance.\n        /// </summary>\n        protected override void Initialize(ISystemContext context)\n        {\n            base.Initialize(context);\n            Initialize(context, InitializationString);\n            InitializeOptionalChildren(context);\n        }\n\n        /// <summary>\n        /// Initializes the instance with a node.\n        /// </summary>\n        protected override void Initialize(ISystemContext context, NodeState source)\n        {\n            InitializeOptionalChildren(context);\n            base.Initialize(context, source);\n        }\n\n        /// <summary>\n        /// Initializes the any option children defined for the instance.\n        /// </summary>\n        protected override void InitializeOptionalChildren(ISystemContext context)\n        {\n            base.InitializeOptionalChildren(context);\n        }\n\n        #region Initialization String\n        private const string InitializationString =\n           \"AQAAADYAAABodHRwOi8vY2FzLmV1L1VBL0NvbW1TZXJ2ZXIvVW5pdFRlc3RzL1ZhcmlhYmxlVHlwZVRl\" +\n           \"c3T/////FWCpAgIAAAABACMAAABTaW1wbGVWYXJpYWJsZVdpdGhWYWx1ZVR5cGVJbnN0YW5jZQEBEAAB\" +\n           \"ARAAEAAAAAYBAAAAAAb/////AQH/////AAAAAA==\";\n        #endregion\n        #endif\n        #endregion\n\n        #region Public Properties\n        #endregion\n\n        #region Overridden Methods\n        #endregion\n\n        #region Private Fields\n        #endregion\n    }\n    #endif\n    #endregion\n}"
  },
  {
    "path": "SemanticData/UAModelDesignExport.UnitTest/Models/VariableTypeTest/VariableTypeTest.Constants.cs",
    "content": "/* ========================================================================\n * Copyright (c) 2005-2021 The OPC Foundation, Inc. All rights reserved.\n *\n * OPC Foundation MIT License 1.00\n *\n * Permission is hereby granted, free of charge, to any person\n * obtaining a copy of this software and associated documentation\n * files (the \"Software\"), to deal in the Software without\n * restriction, including without limitation the rights to use,\n * copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the\n * Software is furnished to do so, subject to the following\n * conditions:\n *\n * The above copyright notice and this permission notice shall be\n * included in all copies or substantial portions of the Software.\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND,\n * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES\n * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND\n * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT\n * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,\n * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING\n * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR\n * OTHER DEALINGS IN THE SOFTWARE.\n *\n * The complete license agreement can be found here:\n * http://opcfoundation.org/License/MIT/1.00/\n * ======================================================================*/\n\nusing System;\nusing System.Collections.Generic;\nusing System.Text;\nusing System.Reflection;\nusing System.Xml;\nusing System.Runtime.Serialization;\nusing ;\n\nnamespace VariableTypeTest\n{\n    #region Variable Identifiers\n    /// <summary>\n    /// A class that declares constants for all Variables in the Model Design.\n    /// </summary>\n    /// <exclude />\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"Opc.Ua.ModelCompiler\", \"1.0.0.0\")]\n    public static partial class Variables\n    {\n        /// <summary>\n        /// The identifier for the ComplexVariableType_EURange Variable.\n        /// </summary>\n        public const uint ComplexVariableType_EURange = 12;\n\n        /// <summary>\n        /// The identifier for the ComplexVariableType_VariableChild Variable.\n        /// </summary>\n        public const uint ComplexVariableType_VariableChild = 14;\n    }\n    #endregion\n\n    #region VariableType Identifiers\n    /// <summary>\n    /// A class that declares constants for all VariableTypes in the Model Design.\n    /// </summary>\n    /// <exclude />\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"Opc.Ua.ModelCompiler\", \"1.0.0.0\")]\n    public static partial class VariableTypes\n    {\n        /// <summary>\n        /// The identifier for the ComplexVariableType VariableType.\n        /// </summary>\n        public const uint ComplexVariableType = 8;\n\n        /// <summary>\n        /// The identifier for the ArrayVariableType VariableType.\n        /// </summary>\n        public const uint ArrayVariableType = 15;\n\n        /// <summary>\n        /// The identifier for the SimpleVariableWithValueType VariableType.\n        /// </summary>\n        public const uint SimpleVariableWithValueType = 16;\n    }\n    #endregion\n\n    #region Variable Node Identifiers\n    /// <summary>\n    /// A class that declares constants for all Variables in the Model Design.\n    /// </summary>\n    /// <exclude />\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"Opc.Ua.ModelCompiler\", \"1.0.0.0\")]\n    public static partial class VariableIds\n    {\n        /// <summary>\n        /// The identifier for the ComplexVariableType_EURange Variable.\n        /// </summary>\n        public static readonly ExpandedNodeId ComplexVariableType_EURange = new ExpandedNodeId(VariableTypeTest.Variables.ComplexVariableType_EURange, VariableTypeTest.Namespaces.cas);\n\n        /// <summary>\n        /// The identifier for the ComplexVariableType_VariableChild Variable.\n        /// </summary>\n        public static readonly ExpandedNodeId ComplexVariableType_VariableChild = new ExpandedNodeId(VariableTypeTest.Variables.ComplexVariableType_VariableChild, VariableTypeTest.Namespaces.cas);\n    }\n    #endregion\n\n    #region VariableType Node Identifiers\n    /// <summary>\n    /// A class that declares constants for all VariableTypes in the Model Design.\n    /// </summary>\n    /// <exclude />\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"Opc.Ua.ModelCompiler\", \"1.0.0.0\")]\n    public static partial class VariableTypeIds\n    {\n        /// <summary>\n        /// The identifier for the ComplexVariableType VariableType.\n        /// </summary>\n        public static readonly ExpandedNodeId ComplexVariableType = new ExpandedNodeId(VariableTypeTest.VariableTypes.ComplexVariableType, VariableTypeTest.Namespaces.cas);\n\n        /// <summary>\n        /// The identifier for the ArrayVariableType VariableType.\n        /// </summary>\n        public static readonly ExpandedNodeId ArrayVariableType = new ExpandedNodeId(VariableTypeTest.VariableTypes.ArrayVariableType, VariableTypeTest.Namespaces.cas);\n\n        /// <summary>\n        /// The identifier for the SimpleVariableWithValueType VariableType.\n        /// </summary>\n        public static readonly ExpandedNodeId SimpleVariableWithValueType = new ExpandedNodeId(VariableTypeTest.VariableTypes.SimpleVariableWithValueType, VariableTypeTest.Namespaces.cas);\n    }\n    #endregion\n\n    #region BrowseName Declarations\n    /// <summary>\n    /// Declares all of the BrowseNames used in the Model Design.\n    /// </summary>\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"Opc.Ua.ModelCompiler\", \"1.0.0.0\")]\n    public static partial class BrowseNames\n    {\n        /// <summary>\n        /// The BrowseName for the ArrayVariableType component.\n        /// </summary>\n        public const string ArrayVariableType = \"ArrayVariableType\";\n\n        /// <summary>\n        /// The BrowseName for the ComplexVariableType component.\n        /// </summary>\n        public const string ComplexVariableType = \"ComplexVariableType\";\n\n        /// <summary>\n        /// The BrowseName for the SimpleVariableWithValueType component.\n        /// </summary>\n        public const string SimpleVariableWithValueType = \"SimpleVariableWithValueType\";\n\n        /// <summary>\n        /// The BrowseName for the VariableChild component.\n        /// </summary>\n        public const string VariableChild = \"VariableChild\";\n    }\n    #endregion\n\n    #region Namespace Declarations\n    /// <summary>\n    /// Defines constants for all namespaces referenced by the model design.\n    /// </summary>\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"Opc.Ua.ModelCompiler\", \"1.0.0.0\")]\n    public static partial class Namespaces\n    {\n        /// <summary>\n        /// The URI for the cas namespace (.NET code namespace is 'VariableTypeTest').\n        /// </summary>\n        public const string cas = \"http://cas.eu/UA/CommServer/UnitTests/VariableTypeTest\";\n\n        /// <summary>\n        /// The URI for the ua namespace (.NET code namespace is '').\n        /// </summary>\n        public const string ua = \"http://opcfoundation.org/UA/\";\n    }\n    #endregion\n}"
  },
  {
    "path": "SemanticData/UAModelDesignExport.UnitTest/Models/VariableTypeTest/VariableTypeTest.DataTypes.cs",
    "content": "/* ========================================================================\n * Copyright (c) 2005-2021 The OPC Foundation, Inc. All rights reserved.\n *\n * OPC Foundation MIT License 1.00\n *\n * Permission is hereby granted, free of charge, to any person\n * obtaining a copy of this software and associated documentation\n * files (the \"Software\"), to deal in the Software without\n * restriction, including without limitation the rights to use,\n * copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the\n * Software is furnished to do so, subject to the following\n * conditions:\n *\n * The above copyright notice and this permission notice shall be\n * included in all copies or substantial portions of the Software.\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND,\n * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES\n * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND\n * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT\n * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,\n * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING\n * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR\n * OTHER DEALINGS IN THE SOFTWARE.\n *\n * The complete license agreement can be found here:\n * http://opcfoundation.org/License/MIT/1.00/\n * ======================================================================*/\n\nusing System;\nusing System.Collections.Generic;\nusing System.Text;\nusing System.Xml;\nusing System.Runtime.Serialization;\nusing ;\n\nnamespace VariableTypeTest\n{\n}"
  },
  {
    "path": "SemanticData/UAModelDesignExport.UnitTest/Models/VariableTypeTest/VariableTypeTest.NodeIds.csv",
    "content": "ArrayVariableType,15,VariableType\nComplexVariableType,8,VariableType\nSimpleVariableWithValueType,16,VariableType\n"
  },
  {
    "path": "SemanticData/UAModelDesignExport.UnitTest/Models/VariableTypeTest/VariableTypeTest.NodeSet.xml",
    "content": "﻿<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<NodeSet xmlns:i=\"http://www.w3.org/2001/XMLSchema-instance\" xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n  <NamespaceUris>\n    <String>http://opcfoundation.org/UA/</String>\n    <String>http://cas.eu/UA/CommServer/UnitTests/VariableTypeTest</String>\n  </NamespaceUris>\n  <ServerUris />\n  <Nodes>\n    <Node i:type=\"VariableTypeNode\">\n      <NodeId>\n        <Identifier>ns=1;i=8</Identifier>\n      </NodeId>\n      <NodeClass>VariableType_16</NodeClass>\n      <BrowseName>\n        <NamespaceIndex>1</NamespaceIndex>\n        <Name>ComplexVariableType</Name>\n      </BrowseName>\n      <DisplayName>\n        <Locale></Locale>\n        <Text>ComplexVariableType</Text>\n      </DisplayName>\n      <Description i:nil=\"true\" />\n      <WriteMask>0</WriteMask>\n      <UserWriteMask>0</UserWriteMask>\n      <RolePermissions />\n      <UserRolePermissions />\n      <AccessRestrictions>0</AccessRestrictions>\n      <References>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=45</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>true</IsInverse>\n          <TargetId>\n            <Identifier>i=2368</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=46</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=12</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=46</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=14</Identifier>\n          </TargetId>\n        </ReferenceNode>\n      </References>\n      <Value>\n        <Value>\n          <Null xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\" />\n        </Value>\n      </Value>\n      <DataType>\n        <Identifier>i=26</Identifier>\n      </DataType>\n      <ValueRank>-1</ValueRank>\n      <ArrayDimensions />\n      <IsAbstract>false</IsAbstract>\n    </Node>\n    <Node i:type=\"VariableNode\">\n      <NodeId>\n        <Identifier>ns=1;i=12</Identifier>\n      </NodeId>\n      <NodeClass>Variable_2</NodeClass>\n      <BrowseName>\n        <NamespaceIndex>0</NamespaceIndex>\n        <Name>EURange</Name>\n      </BrowseName>\n      <DisplayName>\n        <Locale></Locale>\n        <Text>NewDisplayName</Text>\n      </DisplayName>\n      <Description i:nil=\"true\" />\n      <WriteMask>0</WriteMask>\n      <UserWriteMask>0</UserWriteMask>\n      <RolePermissions />\n      <UserRolePermissions />\n      <AccessRestrictions>0</AccessRestrictions>\n      <References>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=46</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>true</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=8</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=40</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>i=68</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=37</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>i=78</Identifier>\n          </TargetId>\n        </ReferenceNode>\n      </References>\n      <Value>\n        <Value>\n          <Null xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\" />\n        </Value>\n      </Value>\n      <DataType>\n        <Identifier>i=884</Identifier>\n      </DataType>\n      <ValueRank>-1</ValueRank>\n      <ArrayDimensions />\n      <AccessLevel>1</AccessLevel>\n      <UserAccessLevel>1</UserAccessLevel>\n      <MinimumSamplingInterval>0</MinimumSamplingInterval>\n      <Historizing>false</Historizing>\n      <AccessLevelEx>0</AccessLevelEx>\n    </Node>\n    <Node i:type=\"VariableNode\">\n      <NodeId>\n        <Identifier>ns=1;i=14</Identifier>\n      </NodeId>\n      <NodeClass>Variable_2</NodeClass>\n      <BrowseName>\n        <NamespaceIndex>1</NamespaceIndex>\n        <Name>VariableChild</Name>\n      </BrowseName>\n      <DisplayName>\n        <Locale></Locale>\n        <Text>VariableChild</Text>\n      </DisplayName>\n      <Description i:nil=\"true\" />\n      <WriteMask>0</WriteMask>\n      <UserWriteMask>0</UserWriteMask>\n      <RolePermissions />\n      <UserRolePermissions />\n      <AccessRestrictions>0</AccessRestrictions>\n      <References>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=46</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>true</IsInverse>\n          <TargetId>\n            <Identifier>ns=1;i=8</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=40</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>i=68</Identifier>\n          </TargetId>\n        </ReferenceNode>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=37</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>false</IsInverse>\n          <TargetId>\n            <Identifier>i=78</Identifier>\n          </TargetId>\n        </ReferenceNode>\n      </References>\n      <Value>\n        <Value>\n          <Int32 xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">0</Int32>\n        </Value>\n      </Value>\n      <DataType>\n        <Identifier>i=6</Identifier>\n      </DataType>\n      <ValueRank>-1</ValueRank>\n      <ArrayDimensions />\n      <AccessLevel>2</AccessLevel>\n      <UserAccessLevel>2</UserAccessLevel>\n      <MinimumSamplingInterval>0</MinimumSamplingInterval>\n      <Historizing>false</Historizing>\n      <AccessLevelEx>0</AccessLevelEx>\n    </Node>\n    <Node i:type=\"VariableTypeNode\">\n      <NodeId>\n        <Identifier>ns=1;i=15</Identifier>\n      </NodeId>\n      <NodeClass>VariableType_16</NodeClass>\n      <BrowseName>\n        <NamespaceIndex>1</NamespaceIndex>\n        <Name>ArrayVariableType</Name>\n      </BrowseName>\n      <DisplayName>\n        <Locale></Locale>\n        <Text>ArrayVariableType</Text>\n      </DisplayName>\n      <Description i:nil=\"true\" />\n      <WriteMask>0</WriteMask>\n      <UserWriteMask>0</UserWriteMask>\n      <RolePermissions />\n      <UserRolePermissions />\n      <AccessRestrictions>0</AccessRestrictions>\n      <References>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=45</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>true</IsInverse>\n          <TargetId>\n            <Identifier>i=63</Identifier>\n          </TargetId>\n        </ReferenceNode>\n      </References>\n      <Value>\n        <Value>\n          <Null xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\" />\n        </Value>\n      </Value>\n      <DataType>\n        <Identifier>i=6</Identifier>\n      </DataType>\n      <ValueRank>3</ValueRank>\n      <ArrayDimensions>\n        <UInt32>0</UInt32>\n        <UInt32>0</UInt32>\n        <UInt32>0</UInt32>\n      </ArrayDimensions>\n      <IsAbstract>false</IsAbstract>\n    </Node>\n    <Node i:type=\"VariableTypeNode\">\n      <NodeId>\n        <Identifier>ns=1;i=16</Identifier>\n      </NodeId>\n      <NodeClass>VariableType_16</NodeClass>\n      <BrowseName>\n        <NamespaceIndex>1</NamespaceIndex>\n        <Name>SimpleVariableWithValueType</Name>\n      </BrowseName>\n      <DisplayName>\n        <Locale></Locale>\n        <Text>SimpleVariableWithValueType</Text>\n      </DisplayName>\n      <Description i:nil=\"true\" />\n      <WriteMask>0</WriteMask>\n      <UserWriteMask>0</UserWriteMask>\n      <RolePermissions />\n      <UserRolePermissions />\n      <AccessRestrictions>0</AccessRestrictions>\n      <References>\n        <ReferenceNode>\n          <ReferenceTypeId>\n            <Identifier>i=45</Identifier>\n          </ReferenceTypeId>\n          <IsInverse>true</IsInverse>\n          <TargetId>\n            <Identifier>i=63</Identifier>\n          </TargetId>\n        </ReferenceNode>\n      </References>\n      <Value>\n        <Value>\n          <Int32 xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">1</Int32>\n        </Value>\n      </Value>\n      <DataType>\n        <Identifier>i=6</Identifier>\n      </DataType>\n      <ValueRank>-1</ValueRank>\n      <ArrayDimensions />\n      <IsAbstract>false</IsAbstract>\n    </Node>\n  </Nodes>\n</NodeSet>"
  },
  {
    "path": "SemanticData/UAModelDesignExport.UnitTest/Models/VariableTypeTest/VariableTypeTest.NodeSet2.xml",
    "content": "﻿<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<UANodeSet xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\" xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xmlns=\"http://opcfoundation.org/UA/2011/03/UANodeSet.xsd\">\n  <NamespaceUris>\n    <Uri>http://cas.eu/UA/CommServer/UnitTests/VariableTypeTest</Uri>\n  </NamespaceUris>\n  <Models>\n    <Model ModelUri=\"http://cas.eu/UA/CommServer/UnitTests/VariableTypeTest\">\n      <RequiredModel ModelUri=\"http://opcfoundation.org/UA/\" XmlSchemaUri=\"http://opcfoundation.org/UA/2008/02/Types.xsd\" Version=\"1.04.10\" PublicationDate=\"2021-09-15T00:00:00Z\" />\n    </Model>\n  </Models>\n  <Aliases>\n    <Alias Alias=\"Boolean\">i=1</Alias>\n    <Alias Alias=\"SByte\">i=2</Alias>\n    <Alias Alias=\"Byte\">i=3</Alias>\n    <Alias Alias=\"Int16\">i=4</Alias>\n    <Alias Alias=\"UInt16\">i=5</Alias>\n    <Alias Alias=\"Int32\">i=6</Alias>\n    <Alias Alias=\"UInt32\">i=7</Alias>\n    <Alias Alias=\"Int64\">i=8</Alias>\n    <Alias Alias=\"UInt64\">i=9</Alias>\n    <Alias Alias=\"Float\">i=10</Alias>\n    <Alias Alias=\"Double\">i=11</Alias>\n    <Alias Alias=\"DateTime\">i=13</Alias>\n    <Alias Alias=\"String\">i=12</Alias>\n    <Alias Alias=\"ByteString\">i=15</Alias>\n    <Alias Alias=\"Guid\">i=14</Alias>\n    <Alias Alias=\"XmlElement\">i=16</Alias>\n    <Alias Alias=\"NodeId\">i=17</Alias>\n    <Alias Alias=\"ExpandedNodeId\">i=18</Alias>\n    <Alias Alias=\"QualifiedName\">i=20</Alias>\n    <Alias Alias=\"LocalizedText\">i=21</Alias>\n    <Alias Alias=\"StatusCode\">i=19</Alias>\n    <Alias Alias=\"Structure\">i=22</Alias>\n    <Alias Alias=\"Number\">i=26</Alias>\n    <Alias Alias=\"Integer\">i=27</Alias>\n    <Alias Alias=\"UInteger\">i=28</Alias>\n    <Alias Alias=\"HasComponent\">i=47</Alias>\n    <Alias Alias=\"HasProperty\">i=46</Alias>\n    <Alias Alias=\"Organizes\">i=35</Alias>\n    <Alias Alias=\"HasEventSource\">i=36</Alias>\n    <Alias Alias=\"HasNotifier\">i=48</Alias>\n    <Alias Alias=\"HasSubtype\">i=45</Alias>\n    <Alias Alias=\"HasTypeDefinition\">i=40</Alias>\n    <Alias Alias=\"HasModellingRule\">i=37</Alias>\n    <Alias Alias=\"HasEncoding\">i=38</Alias>\n    <Alias Alias=\"HasDescription\">i=39</Alias>\n    <Alias Alias=\"HasCause\">i=53</Alias>\n    <Alias Alias=\"ToState\">i=52</Alias>\n    <Alias Alias=\"FromState\">i=51</Alias>\n    <Alias Alias=\"HasEffect\">i=54</Alias>\n    <Alias Alias=\"HasTrueSubState\">i=9004</Alias>\n    <Alias Alias=\"HasFalseSubState\">i=9005</Alias>\n    <Alias Alias=\"HasDictionaryEntry\">i=17597</Alias>\n    <Alias Alias=\"HasCondition\">i=9006</Alias>\n    <Alias Alias=\"HasGuard\">i=15112</Alias>\n    <Alias Alias=\"HasAddIn\">i=17604</Alias>\n    <Alias Alias=\"HasInterface\">i=17603</Alias>\n  </Aliases>\n  <UAVariableType NodeId=\"ns=1;i=8\" BrowseName=\"1:ComplexVariableType\" DataType=\"Number\">\n    <DisplayName>ComplexVariableType</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=12</Reference>\n      <Reference ReferenceType=\"HasProperty\">ns=1;i=14</Reference>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=2368</Reference>\n    </References>\n  </UAVariableType>\n  <UAVariable NodeId=\"ns=1;i=12\" BrowseName=\"EURange\" ParentNodeId=\"ns=1;i=8\" DataType=\"i=884\">\n    <DisplayName>NewDisplayName</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=8</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"ns=1;i=14\" BrowseName=\"1:VariableChild\" ParentNodeId=\"ns=1;i=8\" DataType=\"Int32\" AccessLevel=\"2\">\n    <DisplayName>VariableChild</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">ns=1;i=8</Reference>\n    </References>\n  </UAVariable>\n  <UAVariableType NodeId=\"ns=1;i=15\" BrowseName=\"1:ArrayVariableType\" DataType=\"Int32\" ValueRank=\"3\" ArrayDimensions=\"0,0,0\">\n    <DisplayName>ArrayVariableType</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=63</Reference>\n    </References>\n  </UAVariableType>\n  <UAVariableType NodeId=\"ns=1;i=16\" BrowseName=\"1:SimpleVariableWithValueType\" DataType=\"Int32\">\n    <DisplayName>SimpleVariableWithValueType</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=63</Reference>\n    </References>\n    <Value>\n      <Int32 xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">1</Int32>\n    </Value>\n  </UAVariableType>\n</UANodeSet>"
  },
  {
    "path": "SemanticData/UAModelDesignExport.UnitTest/Models/VariableTypeTest/VariableTypeTest.PredefinedNodes.xml",
    "content": "﻿<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<uax:ListOfNodeState xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xmlns:uax=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n  <uax:NamespaceUris>\n    <uax:NamespaceUri>http://cas.eu/UA/CommServer/UnitTests/VariableTypeTest</uax:NamespaceUri>\n  </uax:NamespaceUris>\n  <ComplexVariableType xmlns=\"http://cas.eu/UA/CommServer/UnitTests/VariableTypeTest\">\n    <uax:NodeClass>VariableType_16</uax:NodeClass>\n    <uax:NodeId>\n      <uax:Identifier>ns=1;i=8</uax:Identifier>\n    </uax:NodeId>\n    <uax:BrowseName>\n      <uax:NamespaceIndex>1</uax:NamespaceIndex>\n      <uax:Name>ComplexVariableType</uax:Name>\n    </uax:BrowseName>\n    <uax:SuperTypeId>\n      <uax:Identifier>i=2368</uax:Identifier>\n    </uax:SuperTypeId>\n    <uax:DataType>\n      <uax:Identifier>i=26</uax:Identifier>\n    </uax:DataType>\n    <uax:ValueRank>-1</uax:ValueRank>\n    <EURange xmlns=\"http://opcfoundation.org/UA/\">\n      <uax:NodeClass>Variable_2</uax:NodeClass>\n      <uax:NodeId>\n        <uax:Identifier>ns=1;i=12</uax:Identifier>\n      </uax:NodeId>\n      <uax:BrowseName>\n        <uax:NamespaceIndex>0</uax:NamespaceIndex>\n        <uax:Name>EURange</uax:Name>\n      </uax:BrowseName>\n      <uax:DisplayName>\n        <uax:Text>NewDisplayName</uax:Text>\n      </uax:DisplayName>\n      <uax:ReferenceTypeId>\n        <uax:Identifier>i=46</uax:Identifier>\n      </uax:ReferenceTypeId>\n      <uax:TypeDefinitionId>\n        <uax:Identifier>i=68</uax:Identifier>\n      </uax:TypeDefinitionId>\n      <uax:ModellingRuleId>\n        <uax:Identifier>i=78</uax:Identifier>\n      </uax:ModellingRuleId>\n      <uax:NumericId>12</uax:NumericId>\n      <uax:DataType>\n        <uax:Identifier>i=884</uax:Identifier>\n      </uax:DataType>\n      <uax:ValueRank>-1</uax:ValueRank>\n      <uax:AccessLevel>1</uax:AccessLevel>\n      <uax:UserAccessLevel>1</uax:UserAccessLevel>\n    </EURange>\n    <VariableChild>\n      <uax:NodeClass>Variable_2</uax:NodeClass>\n      <uax:NodeId>\n        <uax:Identifier>ns=1;i=14</uax:Identifier>\n      </uax:NodeId>\n      <uax:BrowseName>\n        <uax:NamespaceIndex>1</uax:NamespaceIndex>\n        <uax:Name>VariableChild</uax:Name>\n      </uax:BrowseName>\n      <uax:ReferenceTypeId>\n        <uax:Identifier>i=46</uax:Identifier>\n      </uax:ReferenceTypeId>\n      <uax:TypeDefinitionId>\n        <uax:Identifier>i=68</uax:Identifier>\n      </uax:TypeDefinitionId>\n      <uax:ModellingRuleId>\n        <uax:Identifier>i=78</uax:Identifier>\n      </uax:ModellingRuleId>\n      <uax:NumericId>14</uax:NumericId>\n      <uax:DataType>\n        <uax:Identifier>i=6</uax:Identifier>\n      </uax:DataType>\n      <uax:ValueRank>-1</uax:ValueRank>\n      <uax:AccessLevel>2</uax:AccessLevel>\n      <uax:UserAccessLevel>2</uax:UserAccessLevel>\n    </VariableChild>\n  </ComplexVariableType>\n  <ArrayVariableType xmlns=\"http://cas.eu/UA/CommServer/UnitTests/VariableTypeTest\">\n    <uax:NodeClass>VariableType_16</uax:NodeClass>\n    <uax:NodeId>\n      <uax:Identifier>ns=1;i=15</uax:Identifier>\n    </uax:NodeId>\n    <uax:BrowseName>\n      <uax:NamespaceIndex>1</uax:NamespaceIndex>\n      <uax:Name>ArrayVariableType</uax:Name>\n    </uax:BrowseName>\n    <uax:SuperTypeId>\n      <uax:Identifier>i=63</uax:Identifier>\n    </uax:SuperTypeId>\n    <uax:DataType>\n      <uax:Identifier>i=6</uax:Identifier>\n    </uax:DataType>\n    <uax:ValueRank>3</uax:ValueRank>\n    <uax:ArrayDimensions>0,0,0</uax:ArrayDimensions>\n  </ArrayVariableType>\n  <SimpleVariableWithValueType xmlns=\"http://cas.eu/UA/CommServer/UnitTests/VariableTypeTest\">\n    <uax:NodeClass>VariableType_16</uax:NodeClass>\n    <uax:NodeId>\n      <uax:Identifier>ns=1;i=16</uax:Identifier>\n    </uax:NodeId>\n    <uax:BrowseName>\n      <uax:NamespaceIndex>1</uax:NamespaceIndex>\n      <uax:Name>SimpleVariableWithValueType</uax:Name>\n    </uax:BrowseName>\n    <uax:SuperTypeId>\n      <uax:Identifier>i=63</uax:Identifier>\n    </uax:SuperTypeId>\n    <uax:Value>\n      <uax:Value>\n        <uax:Int32>1</uax:Int32>\n      </uax:Value>\n    </uax:Value>\n    <uax:DataType>\n      <uax:Identifier>i=6</uax:Identifier>\n    </uax:DataType>\n    <uax:ValueRank>-1</uax:ValueRank>\n  </SimpleVariableWithValueType>\n</uax:ListOfNodeState>"
  },
  {
    "path": "SemanticData/UAModelDesignExport.UnitTest/Models/VariableTypeTest/VariableTypeTest.Types.bsd",
    "content": "<opc:TypeDictionary\n  xmlns:opc=\"http://opcfoundation.org/BinarySchema/\"\n  xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\"\n  xmlns:ua=\"http://opcfoundation.org/UA/\"\n  xmlns:tns=\"http://cas.eu/UA/CommServer/UnitTests/VariableTypeTest\"\n  DefaultByteOrder=\"LittleEndian\"\n  TargetNamespace=\"http://cas.eu/UA/CommServer/UnitTests/VariableTypeTest\"\n>\n  <opc:Import Namespace=\"http://opcfoundation.org/UA/\" Location=\".BinarySchema.bsd\"/>\n\n</opc:TypeDictionary>"
  },
  {
    "path": "SemanticData/UAModelDesignExport.UnitTest/Models/VariableTypeTest/VariableTypeTest.Types.xsd",
    "content": "<xs:schema\n  xmlns:xs=\"http://www.w3.org/2001/XMLSchema\"\n  xmlns:ua=\"http://opcfoundation.org/UA/2008/02/Types.xsd\"\n  xmlns:tns=\"http://cas.eu/UA/CommServer/UnitTests/VariableTypeTest\"\n  targetNamespace=\"http://cas.eu/UA/CommServer/UnitTests/VariableTypeTest\"\n  elementFormDefault=\"qualified\"\n>\n  <xs:import namespace=\"http://opcfoundation.org/UA/\" />\n\n</xs:schema>"
  },
  {
    "path": "SemanticData/UAModelDesignExport.UnitTest/Models/VariableTypeTest.asp.xml",
    "content": "﻿<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<?xml-stylesheet type=\"text/xsl\" href=\"XMLstylesheet\"?>\n<ModelDesign xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\" xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xmlns:Prefix1=\"http://opcfoundation.org/UA/\" xmlns:uax=\"http://opcfoundation.org/UA/2008/02/Types.xsd\" xmlns:Prefix3=\"http://cas.eu/UA/CommServer/UnitTests/VariableTypeTest\" TargetNamespace=\"http://cas.eu/UA/CommServer/UnitTests/VariableTypeTest\" TargetVersion=\"\" TargetPublicationDate=\"2022-04-06T00:00:00+02:00\" xmlns=\"http://opcfoundation.org/UA/ModelDesign.xsd\">\n  <Namespaces>\n    <Namespace Name=\"Name0\" Prefix=\"Prefix0\" InternalPrefix=\"http://opcfoundation.org/UA/\" XmlNamespace=\"http://opcfoundation.org/UA/\" XmlPrefix=\"Prefix1\" FilePath=\"\" Version=\"v104\" PublicationDate=\"15.09.2021\">http://opcfoundation.org/UA/</Namespace>\n    <Namespace Name=\"Name2\" Prefix=\"Prefix2\" InternalPrefix=\"http://cas.eu/UA/CommServer/UnitTests/VariableTypeTest\" XmlNamespace=\"http://cas.eu/UA/CommServer/UnitTests/VariableTypeTest\" XmlPrefix=\"Prefix3\" FilePath=\"\" PublicationDate=\"06.04.2022\">http://cas.eu/UA/CommServer/UnitTests/VariableTypeTest</Namespace>\n  </Namespaces>\n  <VariableType SymbolicName=\"Prefix3:ComplexVariableType\" BaseType=\"Prefix1:AnalogItemType\">\n    <Children>\n      <Property SymbolicName=\"Prefix1:EURange\">\n        <DisplayName>NewDisplayName</DisplayName>\n      </Property>\n      <Property SymbolicName=\"Prefix3:VariableChild\" ModellingRule=\"Mandatory\" DataType=\"Prefix1:Int32\" AccessLevel=\"Write\" />\n    </Children>\n    <ClassName />\n  </VariableType>\n  <VariableType SymbolicName=\"Prefix3:ArrayVariableType\" DataType=\"Prefix1:Int32\" ValueRank=\"OneOrMoreDimensions\" ArrayDimensions=\"0,0,0\">\n    <ClassName />\n  </VariableType>\n  <VariableType SymbolicName=\"Prefix3:SimpleVariableWithValueType\" DataType=\"Prefix1:Int32\">\n    <ClassName />\n    <DefaultValue>\n      <Int32 xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">1</Int32>\n    </DefaultValue>\n  </VariableType>\n</ModelDesign>"
  },
  {
    "path": "SemanticData/UAModelDesignExport.UnitTest/Models/VariableTypeTest.csv",
    "content": "ComplexVariableType,8,VariableType\nComplexVariableType_Definition,9,Variable\nComplexVariableType_ValuePrecision,10,Variable\nComplexVariableType_InstrumentRange,11,Variable\nComplexVariableType_EURange,12,Variable\nComplexVariableType_EngineeringUnits,13,Variable\nComplexVariableType_VariableChild,14,Variable\nArrayVariableType,15,VariableType\nSimpleVariableWithValueType,16,VariableType\n"
  },
  {
    "path": "SemanticData/UAModelDesignExport.UnitTest/Models/VariableTypeTest.xml",
    "content": "﻿<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<ModelDesign xmlns:cas=\"http://cas.eu/UA/CommServer/UnitTests/VariableTypeTest\" xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\" xmlns:uax=\"http://opcfoundation.org/UA/2008/02/Types.xsd\" xmlns:ua=\"http://opcfoundation.org/UA/\" TargetNamespace=\"http://cas.eu/UA/CommServer/UnitTests/VariableTypeTest\" xmlns=\"http://opcfoundation.org/UA/ModelDesign.xsd\">\n  <Namespaces>\n    <Namespace Name=\"cas\" Prefix=\"VariableTypeTest\" XmlPrefix=\"cas\">http://cas.eu/UA/CommServer/UnitTests/VariableTypeTest</Namespace>\n    <Namespace Name=\"ua\" XmlPrefix=\"ua\">http://opcfoundation.org/UA/</Namespace>\n  </Namespaces>\n  <VariableType SymbolicName=\"cas:ComplexVariableType\" BaseType=\"ua:AnalogItemType\">\n    <Children>\n      <Property SymbolicName=\"cas:VariableChild\" ModellingRule=\"Mandatory\" DataType=\"ua:Int32\" AccessLevel=\"Write\" />\n      <Property SymbolicName=\"ua:EURange\">\n        <DisplayName> NewDisplayName</DisplayName>\n      </Property>\n    </Children>\n  </VariableType>\n  <VariableType SymbolicName=\"cas:ArrayVariableType\" DataType=\"ua:Int32\" ValueRank=\"OneOrMoreDimensions\" ArrayDimensions=\"0,0,0\" />\n  <VariableType SymbolicName=\"cas:SimpleVariableWithValueType\" DataType=\"ua:Int32\">\n    <DefaultValue>\n      <Int32 xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">1</Int32>\n    </DefaultValue>\n  </VariableType>\n</ModelDesign>"
  },
  {
    "path": "SemanticData/UAModelDesignExport.UnitTest/NodeFactoryBaseUnitTest.cs",
    "content": "﻿//___________________________________________________________________________________\n//\n//  Copyright (C) 2019, Mariusz Postol LODZ POLAND.\n//\n//  To be in touch join the community at GITTER: https://gitter.im/mpostol/OPC-UA-OOI\n//___________________________________________________________________________________\n\nusing Microsoft.VisualStudio.TestTools.UnitTesting;\nusing System;\nusing System.Collections.Generic;\nusing System.Xml;\nusing UAOOI.SemanticData.BuildingErrorsHandling;\nusing UAOOI.SemanticData.InformationModelFactory.UAConstants;\nusing UAOOI.SemanticData.UAModelDesignExport.Instrumentation;\nusing UAOOI.SemanticData.UAModelDesignExport.XML;\n\nnamespace UAOOI.SemanticData.UAModelDesignExport\n{\n  [TestClass]\n  public class NodeFactoryBaseUnitTest\n  {\n    [TestMethod]\n    public void CreatorTestMethod()\n    {\n      NodeFactory _nf = new NodeFactory(x => { });\n      Assert.IsNotNull(_nf);\n    }\n    [TestMethod]\n    public void DescriptionTestMethod()\n    {\n      int _counter = 0;\n      NodeFactory _nf = new NodeFactory(x => _counter++);\n      Assert.AreEqual<int>(0, _counter);\n      LocalizedText _lt = new LocalizedText() { Key = \"localeField\", Value = \"valueField\" };\n      _nf.AddDescription(_lt.Key, _lt.Value);\n      Assert.AreEqual<int>(0, _counter);\n      _nf.AddDescription(_lt.Key, _lt.Value);\n      Assert.AreEqual<int>(1, _counter);\n      _nf.AddDescription(_lt.Key, _lt.Value);\n      Assert.AreEqual<int>(2, _counter);\n      List<string> _path = new List<string>();\n      NodeDesign _nd = _nf.Export(_path, (x, Y) => { });\n      _lt.Compare(_nd.Description);\n    }\n    [TestMethod]\n    public void DisplayNameTestMethod()\n    {\n      int _counter = 0;\n      NodeFactory _nf = new NodeFactory(x => _counter++);\n      Assert.AreEqual<int>(0, _counter);\n      LocalizedText _lt = new LocalizedText() { Key = \"localeField\", Value = \"valueField\" };\n      _nf.AddDisplayName(_lt.Key, _lt.Value);\n      Assert.AreEqual<int>(0, _counter);\n      _nf.AddDisplayName(_lt.Key, _lt.Value);\n      Assert.AreEqual<int>(1, _counter);\n      _nf.AddDisplayName(_lt.Key, _lt.Value);\n      Assert.AreEqual<int>(2, _counter);\n      List<string> _path = new List<string>();\n      NodeDesign _nd = _nf.Export(_path, (x, Y) => { });\n      _lt.Compare(_nd.DisplayName);\n    }\n    [TestMethod]\n    public void NodeFactoryExportTest()\n    {\n      int _counter = 0;\n      NodeFactory _nf = new NodeFactory(x => _counter++);\n      _nf.AccessRestrictions = AccessRestrictions.EncryptionRequired | AccessRestrictions.SessionRequired | AccessRestrictions.SigningRequired;\n      _nf.BrowseName = BrowseNames.AggregateFunction_MinimumActualTime.ToString();\n      _nf.Category = new string[] { \"cat1\", \"cat2\" };\n      _nf.DataTypePurpose = InformationModelFactory.DataTypePurpose.ServicesOnly;\n      _nf.ReleaseStatus = InformationModelFactory.ReleaseStatus.Draft;\n      _nf.SymbolicName = new XmlQualifiedName(\"name\", \"ns\");\n      List<string> _path = new List<string>();\n      NodeDesign _md = _nf.Export(_path, (x, Y) => { });\n      Assert.AreEqual<string>(BrowseNames.AggregateFunction_MinimumActualTime.ToString(), _md.BrowseName);\n      Assert.AreEqual<string>(\"cat1, cat2\", _md.Category);\n      Assert.IsNull(_md.Children);\n      Assert.IsFalse(_md.NumericIdSpecified);\n      Assert.AreEqual<uint>(0, _md.PartNo);  //is not copied form the UANodeSet; \n      Assert.AreEqual<XML.DataTypePurpose>(DataTypePurpose.ServicesOnly, _md.Purpose);\n      Assert.AreEqual<XML.ReleaseStatus>(XML.ReleaseStatus.Draft, _md.ReleaseStatus);\n      Assert.AreEqual<XmlQualifiedName>(new XmlQualifiedName(\"name\", \"ns\"), _md.SymbolicName);\n    }\n    private class NodeFactory : NodeFactoryBase\n    {\n      public NodeFactory(Action<TraceMessage> traceEvent)\n        : base(traceEvent)\n      {\n        SymbolicName = new System.Xml.XmlQualifiedName( \"Name\", \"NameSpace\");\n      }\n      internal override NodeDesign Export(List<string> path, Action<InstanceDesign, List<string>> createInstanceType)\n      {\n        NodeDesign _nd = new NodeDesign() {  };\n        base.UpdateNode(_nd, path, createInstanceType);\n        return _nd;\n      }\n    }\n  }\n}\n"
  },
  {
    "path": "SemanticData/UAModelDesignExport.UnitTest/NodeSetUnitTest.cs",
    "content": "﻿//___________________________________________________________________________________\n//\n//  Copyright (C) 2021, Mariusz Postol LODZ POLAND.\n//\n//  To be in touch join the community at GITTER: https://gitter.im/mpostol/OPC-UA-OOI\n//___________________________________________________________________________________\n\nusing Microsoft.VisualStudio.TestTools.UnitTesting;\nusing System;\nusing System.Collections.Generic;\nusing System.IO;\nusing System.Linq;\nusing System.Xml;\nusing UAOOI.Common.Infrastructure.Serializers;\nusing UAOOI.SemanticData.BuildingErrorsHandling;\nusing UAOOI.SemanticData.UAModelDesignExport.Instrumentation;\nusing UAOOI.SemanticData.UAModelDesignExport.XML;\n\nnamespace UAOOI.SemanticData.UAModelDesignExport\n{\n  [TestClass]\n  [DeploymentItem(@\"Models\\\", @\"Models\\\")]\n  public class NodeSetIntegrationTest\n  {\n    /// <summary>\n    ///Gets or sets the test context which provides\n    ///information about and functionality for the current test run.\n    ///</summary>\n    //public TestContext TestContext { get; set; }\n\n    #region TestMethod\n\n    [TestMethod]\n    public void FileNotFoundTestMethod()\n    {\n      FileInfo _testDataFileInfo = new FileInfo(@\"sajlajsjljjjjk.sasa.sasa.sasa\");\n      Assert.IsFalse(_testDataFileInfo.Exists);\n      using (TracedAddressSpaceContext addressSpace = new Instrumentation.TracedAddressSpaceContext())\n      {\n        Assert.ThrowsException<FileNotFoundException>(() => addressSpace.CreateInstance(_testDataFileInfo, String.Empty));\n        _testDataFileInfo = new FileInfo(@\"Models\\ReferenceTest\\ReferenceTest.NodeSet.xml\");\n        Assert.IsTrue(_testDataFileInfo.Exists);\n        Assert.ThrowsException<InvalidOperationException>(() => addressSpace.CreateInstance(_testDataFileInfo, String.Empty));\n      }\n    }\n\n    [TestMethod]\n    public void UAReferenceTestMethod()\n    {\n      FileInfo _testDataFileInfo = new FileInfo(@\"Models\\ReferenceTest\\ReferenceTest.NodeSet2.xml\");\n      Assert.IsTrue(_testDataFileInfo.Exists);\n      ModelDesign _expected = XmlFile.ReadXmlFile<ModelDesign>(@\"Models\\ReferenceTest.asp.xml\");\n      List<TraceMessage> _trace = new List<TraceMessage>();\n      string uri = \"http://cas.eu/UA/CommServer/UnitTests/ReferenceTest\";\n      using (TracedAddressSpaceContext addressSpace = new Instrumentation.TracedAddressSpaceContext())\n      {\n        ModelDesign _actual = addressSpace.CreateInstance(_testDataFileInfo, uri);\n        CompareModelDesign(_expected, _actual);\n      }\n    }\n\n    [TestMethod]\n    //TODO The exported model doesn't contain all nodes #653\n    public void UAObjectTypeTestMethod()\n    {\n      FileInfo _testDataFileInfo = new FileInfo(@\"Models\\ObjectTypeTest\\ObjectTypeTest.NodeSet2.xml\");\n      Assert.IsTrue(_testDataFileInfo.Exists);\n      ModelDesign _expected = XmlFile.ReadXmlFile<ModelDesign>(@\"Models\\ObjectTypeTest.asp.xml\");\n      string uri = \"http://cas.eu/UA/CommServer/UnitTests/ObjectTypeTest\";\n      using (TracedAddressSpaceContext addressSpace = new Instrumentation.TracedAddressSpaceContext())\n      {\n        ModelDesign _actual = addressSpace.CreateInstance(_testDataFileInfo, uri);\n        CompareModelDesign(_expected, _actual);\n        Assert.AreEqual<int>(0, addressSpace.TraceList.Count);\n        Assert.AreEqual<int>(3, _expected.Items.Length);\n        CompareModelDesign(_expected, _actual);\n      }\n    }\n\n    [TestMethod]\n    public void UAVariableTypeTestMethod()\n    {\n      FileInfo _testDataFileInfo = new FileInfo(@\"Models\\VariableTypeTest\\VariableTypeTest.NodeSet2.xml\");\n      Assert.IsTrue(_testDataFileInfo.Exists);\n      ModelDesign _expected = XmlFile.ReadXmlFile<ModelDesign>(@\"Models\\VariableTypeTest.asp.xml\");\n      string uri = \"http://cas.eu/UA/CommServer/UnitTests/VariableTypeTest\";\n      using (TracedAddressSpaceContext addressSpace = new Instrumentation.TracedAddressSpaceContext())\n      {\n        ModelDesign _actual = addressSpace.CreateInstance(_testDataFileInfo, uri);\n        CompareModelDesign(_expected, _actual);\n        Assert.AreEqual<int>(0, addressSpace.TraceList.Where<TraceMessage>(x => x.BuildError.Focus != Focus.Diagnostic).Count<TraceMessage>());\n        Assert.AreEqual<int>(3, _expected.Items.Length);\n        CompareModelDesign(_expected, _actual);\n      }\n    }\n\n    [TestMethod]\n    public void UADataTypeTestMethod()\n    {\n      FileInfo _testDataFileInfo = new FileInfo(@\"Models\\DataTypeTest\\DataTypeTest.NodeSet2.xml\");\n      Assert.IsTrue(_testDataFileInfo.Exists);\n      ModelDesign _expected = XmlFile.ReadXmlFile<ModelDesign>(@\"Models\\DataTypeTest.asp.xml\");\n      string uri = \"http://cas.eu/UA/CommServer/UnitTests/DataTypeTest\";\n      using (TracedAddressSpaceContext addressSpace = new Instrumentation.TracedAddressSpaceContext())\n      {\n        ModelDesign _actual = addressSpace.CreateInstance(_testDataFileInfo, uri);\n        CompareModelDesign(_expected, _actual);\n        Assert.AreEqual<int>(0, addressSpace.TraceList.Count);\n        Assert.AreEqual<int>(4, _expected.Items.Length);\n        Assert.AreEqual<int>(4, _actual.Items.Length);\n        CompareModelDesign(_expected, _actual);\n      }\n    }\n\n    #endregion TestMethod\n\n    #region Test instrumentation\n\n    #region ModelDesign\n    //TODO UANodeSet prepare a semantic diff #565\n    //TODO ModelDesign prepare a semantic diff #566\n\n    private static void CompareModelDesign(ModelDesign expected, ModelDesign actual)\n    {\n      Assert.AreEqual<int>(expected.Items.Length, actual.Items.Length);\n      Assert.AreEqual<string>(expected.TargetNamespace, actual.TargetNamespace);\n      Dictionary<string, NodeDesign> _items = expected.Items.ToDictionary<NodeDesign, string>(x => x.SymbolicName.ToString());\n      foreach (NodeDesign _node in actual.Items)\n        CompareNode(_items[_node.SymbolicName.ToString()], _node);\n    }\n\n    public static void CompareNode(NodeDesign expected, NodeDesign actual)\n    {\n      if (expected.GetType() == typeof(ObjectTypeDesign))\n        CompareObjectTypeDesign((ObjectTypeDesign)expected, (ObjectTypeDesign)actual);\n      else if (expected.GetType() == typeof(VariableTypeDesign))\n        CompareVariableTypeDesign((VariableTypeDesign)expected, (VariableTypeDesign)actual);\n      else if (expected.GetType() == typeof(DataTypeDesign))\n        CompareDataTypeDesign((DataTypeDesign)expected, (DataTypeDesign)actual);\n      else if (expected.GetType() == typeof(ObjectDesign))\n        CompareObjectDesign((ObjectDesign)expected, (ObjectDesign)actual);\n      else if (expected.GetType() == typeof(PropertyDesign))\n        ComparePropertyDesign((PropertyDesign)expected, (PropertyDesign)actual);\n      else if (expected.GetType() == typeof(VariableDesign))\n        CompareVariableDesign((VariableDesign)expected, (VariableDesign)actual);\n      else if (expected.GetType() == typeof(MethodDesign))\n        CompareMethodDesign((MethodDesign)expected, (MethodDesign)actual);\n      else if (expected.GetType() == typeof(ReferenceTypeDesign))\n        CompareReferenceTypeDesign((ReferenceTypeDesign)expected, (ReferenceTypeDesign)actual);\n      else\n        throw new NotImplementedException();\n    }\n\n    //Types\n    private static void CompareDataTypeDesign(DataTypeDesign expected, DataTypeDesign actual)\n    {\n      Assert.AreEqual<bool>(expected.NoArraysAllowed, actual.NoArraysAllowed);\n      Assert.IsFalse(actual.NotInAddressSpace);\n      Compare(expected.Fields, actual.Fields);\n      CompareTypeDesign(expected, actual);\n    }\n\n    private static void CompareReferenceTypeDesign(ReferenceTypeDesign expected, ReferenceTypeDesign actual)\n    {\n      CompareTypeDesign(expected, actual);\n      UnitTestsExtensions.Compare(expected.InverseName, actual.InverseName);\n      expected.SymmetricSpecified = expected.Symmetric; // false is default, if set must be ignored.\n      Assert.AreEqual<bool>(expected.SymmetricSpecified, actual.SymmetricSpecified);\n      Assert.AreEqual<bool>(expected.Symmetric, actual.Symmetric);\n    }\n\n    private static void CompareObjectTypeDesign(ObjectTypeDesign expected, ObjectTypeDesign actual)\n    {\n      CompareTypeDesign(expected, actual);\n      Assert.IsFalse(expected.SupportsEventsSpecified, \"Field not supported for types - should always be false\");\n      Assert.IsFalse(actual.SupportsEventsSpecified, \"Field not supported for types - should always be false\");\n      Assert.IsFalse(expected.SupportsEvents, \"Field not supported for types - should always be false\");\n      Assert.IsFalse(actual.SupportsEvents, \"Field not supported for types - should always be false\");\n    }\n\n    private static void CompareVariableTypeDesign(VariableTypeDesign expected, VariableTypeDesign actual)\n    {\n      CompareTypeDesign(expected, actual);\n      Compare(expected.DefaultValue, actual.DefaultValue);\n      Compare(expected.DataType, actual.DataType, \"DataType\");\n      if (expected.ValueRankSpecified && expected.ValueRank == ValueRank.Scalar)\n        expected.ValueRankSpecified = false;\n      Assert.AreEqual<bool>(expected.ValueRankSpecified, actual.ValueRankSpecified);\n      if (expected.ValueRankSpecified)\n        Assert.AreEqual<ValueRank>(expected.ValueRank, actual.ValueRank);\n      Assert.AreEqual<string>(expected.ArrayDimensions, actual.ArrayDimensions);\n      //Not supported by the VariableType NodeClass\n      Assert.IsFalse(expected.ExposesItsChildren);\n      Assert.IsFalse(actual.ExposesItsChildren);\n      Assert.IsFalse(expected.AccessLevelSpecified);\n      Assert.IsFalse(actual.AccessLevelSpecified);\n      Assert.IsFalse(expected.HistorizingSpecified);\n      Assert.IsFalse(actual.HistorizingSpecified);\n      Assert.IsFalse(expected.MinimumSamplingIntervalSpecified);\n      Assert.IsFalse(actual.MinimumSamplingIntervalSpecified);\n    }\n\n    //Instances\n    private static void CompareObjectDesign(ObjectDesign expected, ObjectDesign actual)\n    {\n      Assert.AreEqual<bool>(expected.SupportsEventsSpecified, actual.SupportsEventsSpecified);\n      if (expected.SupportsEventsSpecified)\n        Assert.AreEqual<bool>(expected.SupportsEvents, actual.SupportsEvents);\n      CompareInstanceDesign(expected, actual);\n    }\n\n    private static void CompareVariableDesign(VariableDesign expected, VariableDesign actual)\n    {\n      Compare(expected.DefaultValue, actual.DefaultValue);\n      Compare(expected.DataType, actual.DataType, \"VariableDesign.DataType\");\n      if (expected.ValueRankSpecified && expected.ValueRank == ValueRank.Scalar)\n        expected.ValueRankSpecified = false;\n      Assert.AreEqual<bool>(expected.ValueRankSpecified, actual.ValueRankSpecified);\n      if (expected.ValueRankSpecified)\n        Assert.AreEqual<ValueRank>(expected.ValueRank, actual.ValueRank);\n      Assert.AreEqual<string>(expected.ArrayDimensions, actual.ArrayDimensions);\n      Assert.AreEqual<bool>(expected.AccessLevelSpecified, actual.AccessLevelSpecified, actual.SymbolicName.ToString());\n      if (expected.AccessLevelSpecified)\n        Assert.AreEqual<AccessLevel>(expected.AccessLevel, actual.AccessLevel);\n      Assert.AreEqual<bool>(expected.MinimumSamplingIntervalSpecified, actual.MinimumSamplingIntervalSpecified);\n      if (expected.MinimumSamplingIntervalSpecified)\n        Assert.AreEqual<int>(expected.MinimumSamplingInterval, actual.MinimumSamplingInterval);\n      Assert.AreEqual<bool>(expected.HistorizingSpecified, actual.HistorizingSpecified);\n      if (expected.HistorizingSpecified)\n        Assert.AreEqual<bool>(expected.Historizing, actual.Historizing);\n      CompareInstanceDesign(expected, actual);\n    }\n\n    private static void ComparePropertyDesign(PropertyDesign expected, PropertyDesign actual)\n    {\n      Assert.IsNotNull(expected);\n      Assert.IsNotNull(actual);\n      CompareVariableDesign((VariableDesign)expected, (VariableDesign)actual);\n    }\n\n    private static void CompareMethodDesign(MethodDesign expected, MethodDesign actual)\n    {\n      Compare(expected.InputArguments, actual.InputArguments);\n      Compare(expected.OutputArguments, actual.OutputArguments);\n      Assert.IsFalse(actual.NonExecutableSpecified); //is not supported - cannot be recovered from NodeSet\n      Assert.IsFalse(actual.NonExecutable);\n      CompareInstanceDesign(expected, actual);\n    }\n\n    //base types\n    private static void CompareTypeDesign(TypeDesign expected, TypeDesign actual)\n    {\n      CompareNodeDesign(expected, actual);\n      if (expected.BaseType == null && actual.BaseType == null)\n        return;\n      Assert.IsNotNull(expected.BaseType);\n      Assert.IsNotNull(actual.BaseType);\n      Assert.AreEqual<string>(expected.BaseType.ToString(), actual.BaseType.ToString());\n    }\n\n    private static void CompareInstanceDesign(InstanceDesign expected, InstanceDesign actual)\n    {\n      Assert.IsTrue(expected.GetType() == actual.GetType());\n      Compare(expected.ReferenceType, actual.ReferenceType, \"InstanceDesign.ReferenceType\");\n      Compare(expected.TypeDefinition, actual.TypeDefinition, \"InstanceDesign.TypeDefinition\");\n      Assert.AreEqual<bool>(expected.ModellingRuleSpecified, actual.ModellingRuleSpecified, actual.SymbolicName.ToString());\n      if (expected.ModellingRuleSpecified)\n        Assert.AreEqual<ModellingRule>(expected.ModellingRule, actual.ModellingRule);\n      //test base type\n      CompareNodeDesign(expected, actual);\n      //Not supported attributes\n      Assert.IsNull(actual.Declaration, \"InstanceDesign.Declaration\");\n      Assert.AreEqual<uint>(0, actual.MinCardinality);\n      Assert.AreEqual<uint>(0, actual.MaxCardinality);\n      Assert.IsFalse(actual.PreserveDefaultAttributes);\n    }\n\n    private static void CompareNodeDesign(NodeDesign expected, NodeDesign actual)\n    {\n      Assert.IsTrue(expected.BrowseName.AreEqual(actual.BrowseName));\n      UnitTestsExtensions.Compare(expected.DisplayName, actual.DisplayName);\n      UnitTestsExtensions.Compare(expected.Description, actual.Description);\n      CompareListOfChildren(expected.Children, actual.Children);\n      Compare(expected.References, actual.References);\n      Compare(expected.SymbolicName, actual.SymbolicName, \"NodeDesign.SymbolicName\");\n      Compare(expected.SymbolicId, actual.SymbolicId, \"NodeDesign.SymbolicId\");\n      Assert.AreEqual<bool>(expected.IsDeclaration, actual.IsDeclaration);\n      Assert.AreEqual<uint>(expected.NumericId, actual.NumericId);\n      Assert.AreEqual<bool>(expected.NumericIdSpecified, actual.NumericIdSpecified);\n      Assert.AreEqual<string>(expected.StringId, actual.StringId);\n      Assert.AreEqual<uint>(expected.WriteAccess, actual.WriteAccess);\n      Assert.AreEqual<string>(expected.StringId, actual.StringId);\n      Assert.AreEqual<uint>(expected.PartNo, actual.PartNo);\n    }\n\n    #endregion ModelDesign\n\n    #region private helper\n\n    /// <summary>\n    /// Compares the parameters of a method.\n    /// </summary>\n    /// <remarks>\n    /// ModelCompiler doesn't generate parameters if TypeDefinition for the method is not set.\n    /// TypeDefinition is not defined in the specification, but has to refer to a method defined top most level.\n    /// The ModelDesign contains parameters but the UANodeSet doesn't have.\n    /// </remarks>\n    /// <param name=\"expected\">The expected.</param>\n    /// <param name=\"actual\">The actual.</param>\n    private static void Compare(Parameter[] expected, Parameter[] actual)\n    {\n      if (expected == null || actual == null)\n        return;\n      if (expected.Length != actual.Length)\n        return;\n      for (int i = 0; i < expected.Length; i++)\n      {\n        Compare(expected[i].DataType, actual[i].DataType, \"Parameter.DataType\");\n        UnitTestsExtensions.Compare(expected[i].Description, actual[i].Description);\n        Assert.AreEqual<bool>(expected[i].IdentifierSpecified, actual[i].IdentifierSpecified);\n        if (expected[i].IdentifierSpecified)\n          Assert.AreEqual<int>(expected[i].Identifier, actual[i].Identifier);\n        Assert.AreEqual<string>(expected[i].Name, actual[i].Name);\n        Assert.AreEqual<ValueRank>(expected[i].ValueRank, actual[i].ValueRank);\n      }\n    }\n\n    private static void CompareListOfChildren(ListOfChildren expected, ListOfChildren actual)\n    {\n      if (expected == null && actual == null)\n        return;\n      Assert.IsNotNull(expected);\n      Assert.IsNotNull(actual);\n      Assert.AreEqual<int>(expected.Items.Length, actual.Items.Length);\n      List<InstanceDesign> _expectedList = new List<InstanceDesign>(expected.Items);\n      _expectedList.Sort((x, y) => x.SymbolicName.ToString().CompareTo(y.SymbolicName.ToString()));\n      List<InstanceDesign> _actualList = new List<InstanceDesign>(actual.Items);\n      _actualList.Sort((x, y) => x.SymbolicName.ToString().CompareTo(y.SymbolicName.ToString()));\n      for (int i = 0; i < _expectedList.Count; i++)\n      {\n        //CompareInstanceDesign(, );\n        Type _expectedType = _expectedList[i].GetType();\n        Type _actualType = _actualList[i].GetType();\n        Assert.AreSame(_expectedType, _actualType);\n        CompareNode(_expectedList[i], _actualList[i]);\n      }\n    }\n\n    private static void Compare(Reference[] expected, Reference[] actual)\n    {\n      if (expected == null && actual == null)\n        return;\n      Assert.IsNotNull(expected);\n      Assert.IsNotNull(actual);\n      Assert.AreEqual<int>(expected.Length, actual.Length);\n      Assert.IsTrue(!expected.Where<Reference>(x => x.ReferenceType == null || x.ReferenceType.IsEmpty).Any<Reference>());\n      Assert.IsTrue(!actual.Where<Reference>(x => x.ReferenceType == null || x.ReferenceType.IsEmpty).Any<Reference>());\n      Assert.IsTrue(!expected.Where<Reference>(x => x.TargetId == null || x.TargetId.IsEmpty).Any<Reference>());\n      Assert.IsTrue(!actual.Where<Reference>(x => x.TargetId == null || x.TargetId.IsEmpty).Any<Reference>());\n      Dictionary<string, Reference> _actualDictionary = actual.ToDictionary<Reference, string>(x => x.Key());\n      foreach (Reference _rf in expected)\n      {\n        Assert.IsTrue(_actualDictionary.ContainsKey(_rf.Key()), _rf.Key());\n        Assert.AreEqual<bool>(_rf.IsInverse, _actualDictionary[_rf.Key()].IsInverse, _rf.Key());\n        Assert.IsFalse(_actualDictionary[_rf.Key()].IsOneWay, _rf.Key());\n      }\n    }\n\n    private static void Compare(XmlQualifiedName expected, XmlQualifiedName actual, string parameter)\n    {\n      if ((expected == null || expected.IsEmpty) && (actual == null || actual.IsEmpty))\n        return;\n      Assert.IsNotNull(expected, parameter);\n      Assert.IsNotNull(actual, parameter);\n      Assert.IsFalse(expected.IsEmpty, parameter);\n      Assert.IsFalse(actual.IsEmpty, parameter);\n      Assert.AreEqual<string>(expected.Name, actual.Name.Replace(\"_\", \"\"), parameter);\n      Assert.AreEqual<string>(expected.Namespace, actual.Namespace, parameter);\n    }\n\n    private static void Compare(XmlElement expected, XmlElement actual)\n    {\n      return;\n      if (expected == null && actual == null)\n        return;\n      Assert.IsNotNull(expected);\n      Assert.IsNotNull(actual);\n      Assert.AreEqual<string>(expected.InnerText, actual.InnerText);\n      Compare(expected.Attributes, actual.Attributes);\n    }\n\n    private static void Compare(XmlAttributeCollection expected, XmlAttributeCollection actual)\n    {\n      if (expected == null && actual == null)\n        return;\n      Assert.IsNotNull(expected);\n      Assert.IsNotNull(actual);\n      Dictionary<string, XmlAttribute> _ad = expected.Cast<XmlAttribute>().ToDictionary<XmlAttribute, string>(x => x.Name);\n      foreach (XmlAttribute _atr in actual)\n      {\n        Assert.IsTrue(_ad.ContainsKey(_atr.Name), _atr.InnerText);\n        Assert.AreEqual<string>(_ad[_atr.Name].InnerText, _atr.InnerText);\n      }\n    }\n\n    private void TraceDiagnostic(TraceMessage msg, List<TraceMessage> errors, ref int diagnosticCounter)\n    {\n      Console.WriteLine(msg.ToString());\n      if (msg.BuildError.Focus == Focus.Diagnostic)\n      {\n        diagnosticCounter++;\n      }\n      else\n        errors.Add(msg);\n    }\n\n    #endregion private helper\n\n    #endregion Test instrumentation\n  }\n}"
  },
  {
    "path": "SemanticData/UAModelDesignExport.UnitTest/Properties/AssemblyInfo.cs",
    "content": "//___________________________________________________________________________________\n//\n//  Copyright (C) 2019, Mariusz Postol LODZ POLAND.\n//\n//  To be in touch join the community at GITTER: https://gitter.im/mpostol/OPC-UA-OOI\n//___________________________________________________________________________________\n\nusing System.Reflection;\nusing System.Runtime.InteropServices;\n\n[assembly: AssemblyTitle(\"UAOOI.SemanticData.UAModelDesignExport\")]\n[assembly: AssemblyDescription(\"Unit tests for UAOOI.SemanticData.UAModelDesignExport\")]\n[assembly: AssemblyConfiguration(\"\")]\n[assembly: AssemblyCompany(\"commsvr.com\")]\n[assembly: AssemblyProduct(\"Object Oriented Internet\")]\n[assembly: AssemblyCopyright(\"Copyright (c) 2019 Mariusz Postol\")]\n[assembly: AssemblyTrademark(\"Object Oriented Internet\")]\n[assembly: AssemblyCulture(\"\")]\n[assembly: ComVisible(false)]\n[assembly: Guid(\"abb9d4e2-568c-483e-8a77-2de5f4ff886a\")]\n[assembly: AssemblyVersion(\"5.0.2.*\")]\n[assembly: AssemblyFileVersion(\"5.0.2.0\")]\n"
  },
  {
    "path": "SemanticData/UAModelDesignExport.UnitTest/SemanticData.UAModelDesignExport.UnitTest.csproj",
    "content": "﻿<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<Project ToolsVersion=\"15.0\" DefaultTargets=\"Build\" xmlns=\"http://schemas.microsoft.com/developer/msbuild/2003\">\n  <Import Project=\"..\\..\\packages\\MSTest.TestAdapter.2.2.10\\build\\net46\\MSTest.TestAdapter.props\" Condition=\"Exists('..\\..\\packages\\MSTest.TestAdapter.2.2.10\\build\\net46\\MSTest.TestAdapter.props')\" />\n  <Import Project=\"$(MSBuildExtensionsPath)\\$(MSBuildToolsVersion)\\Microsoft.Common.props\" Condition=\"Exists('$(MSBuildExtensionsPath)\\$(MSBuildToolsVersion)\\Microsoft.Common.props')\" />\n  <PropertyGroup>\n    <Configuration Condition=\" '$(Configuration)' == '' \">Debug</Configuration>\n    <Platform Condition=\" '$(Platform)' == '' \">AnyCPU</Platform>\n    <ProjectGuid>{ABB9D4E2-568C-483E-8A77-2DE5F4FF886A}</ProjectGuid>\n    <OutputType>Library</OutputType>\n    <AppDesignerFolder>Properties</AppDesignerFolder>\n    <RootNamespace>UAOOI.SemanticData.UAModelDesignExport</RootNamespace>\n    <AssemblyName>UAOOI.SemanticData.UAModelDesignExport.UnitTest</AssemblyName>\n    <TargetFrameworkVersion>v4.7.2</TargetFrameworkVersion>\n    <FileAlignment>512</FileAlignment>\n    <ProjectTypeGuids>{3AC096D0-A1C2-E12C-1390-A8335801FDAB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>\n    <VisualStudioVersion Condition=\"'$(VisualStudioVersion)' == ''\">15.0</VisualStudioVersion>\n    <VSToolsPath Condition=\"'$(VSToolsPath)' == ''\">$(MSBuildExtensionsPath32)\\Microsoft\\VisualStudio\\v$(VisualStudioVersion)</VSToolsPath>\n    <ReferencePath>$(ProgramFiles)\\Common Files\\microsoft shared\\VSTT\\$(VisualStudioVersion)\\UITestExtensionPackages</ReferencePath>\n    <IsCodedUITest>False</IsCodedUITest>\n    <TestProjectType>UnitTest</TestProjectType>\n    <NuGetPackageImportStamp>\n    </NuGetPackageImportStamp>\n    <TargetFrameworkProfile />\n  </PropertyGroup>\n  <PropertyGroup Condition=\" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' \">\n    <DebugSymbols>true</DebugSymbols>\n    <DebugType>full</DebugType>\n    <Optimize>false</Optimize>\n    <OutputPath>bin\\Debug\\</OutputPath>\n    <DefineConstants>DEBUG;TRACE</DefineConstants>\n    <ErrorReport>prompt</ErrorReport>\n    <WarningLevel>4</WarningLevel>\n    <NoWarn>IDE0001,IDE0002,IDE0003,IDE0049</NoWarn>\n  </PropertyGroup>\n  <PropertyGroup Condition=\" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' \">\n    <DebugType>pdbonly</DebugType>\n    <Optimize>true</Optimize>\n    <OutputPath>bin\\Release\\</OutputPath>\n    <DefineConstants>TRACE</DefineConstants>\n    <ErrorReport>prompt</ErrorReport>\n    <WarningLevel>4</WarningLevel>\n  </PropertyGroup>\n  <PropertyGroup>\n    <SignAssembly>true</SignAssembly>\n  </PropertyGroup>\n  <PropertyGroup>\n    <AssemblyOriginatorKeyFile>OPCUAOOIKey.snk</AssemblyOriginatorKeyFile>\n  </PropertyGroup>\n  <ItemGroup>\n    <Reference Include=\"Castle.Core, Version=5.0.0.0, Culture=neutral, PublicKeyToken=407dd0808d44fbdc, processorArchitecture=MSIL\">\n      <HintPath>..\\..\\packages\\Castle.Core.5.0.0\\lib\\net462\\Castle.Core.dll</HintPath>\n    </Reference>\n    <Reference Include=\"Microsoft.VisualStudio.TestPlatform.TestFramework, Version=14.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL\">\n      <HintPath>..\\..\\packages\\MSTest.TestFramework.2.2.10\\lib\\net45\\Microsoft.VisualStudio.TestPlatform.TestFramework.dll</HintPath>\n    </Reference>\n    <Reference Include=\"Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions, Version=14.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL\">\n      <HintPath>..\\..\\packages\\MSTest.TestFramework.2.2.10\\lib\\net45\\Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.dll</HintPath>\n    </Reference>\n    <Reference Include=\"Moq, Version=4.18.0.0, Culture=neutral, PublicKeyToken=69f491c39445e920, processorArchitecture=MSIL\">\n      <HintPath>..\\..\\packages\\Moq.4.18.1\\lib\\net462\\Moq.dll</HintPath>\n    </Reference>\n    <Reference Include=\"System\" />\n    <Reference Include=\"System.Configuration\" />\n    <Reference Include=\"System.Core\" />\n    <Reference Include=\"System.Runtime.CompilerServices.Unsafe, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL\">\n      <HintPath>..\\..\\packages\\System.Runtime.CompilerServices.Unsafe.6.0.0\\lib\\net461\\System.Runtime.CompilerServices.Unsafe.dll</HintPath>\n    </Reference>\n    <Reference Include=\"System.Threading.Tasks.Extensions, Version=4.2.0.1, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL\">\n      <HintPath>..\\..\\packages\\System.Threading.Tasks.Extensions.4.5.4\\lib\\net461\\System.Threading.Tasks.Extensions.dll</HintPath>\n    </Reference>\n    <Reference Include=\"System.Xml\" />\n    <Reference Include=\"UAOOI.Common.Infrastructure, Version=6.4.6.0, Culture=neutral, PublicKeyToken=deede3c2df331bb0, processorArchitecture=MSIL\">\n      <HintPath>..\\..\\packages\\UAOOI.Common.Infrastructure.6.4.7\\lib\\netstandard2.0\\UAOOI.Common.Infrastructure.dll</HintPath>\n    </Reference>\n  </ItemGroup>\n  <ItemGroup>\n    <Compile Include=\"ExtensionsUnitTest.cs\" />\n    <Compile Include=\"Instrumentation\\Extensions.cs\" />\n    <Compile Include=\"Instrumentation\\IStylesheetNameProvider.cs\" />\n    <Compile Include=\"Instrumentation\\TracedAddressSpaceContext.cs\" />\n    <Compile Include=\"Instrumentation\\UnitTestsExtensions.cs\" />\n    <Compile Include=\"DataTypeDefinitionFactoryBaseUnitTest.cs\" />\n    <Compile Include=\"ModelDesignExportUnitTest.cs\" />\n    <Compile Include=\"UAResourcesUnitTestUnitTest.cs\" />\n    <None Include=\"app.config\" />\n    <None Include=\"Models\\DataTypeTest\\DataTypeTest.Classes.cs\" />\n    <None Include=\"Models\\GoNodeSet.cmd\" />\n    <None Include=\"Models\\ObjectTypeTest\\ObjectTypeTest.Classes.cs\" />\n    <None Include=\"Models\\ReferenceTest\\ReferenceTest.Classes.cs\" />\n    <None Include=\"Models\\VariableTypeTest\\VariableTypeTest.Classes.cs\" />\n    <Compile Include=\"NodeFactoryBaseUnitTest.cs\" />\n    <Compile Include=\"NodeSetUnitTest.cs\" />\n    <Compile Include=\"Properties\\AssemblyInfo.cs\" />\n    <Compile Include=\"ModelDesignUnitTest.cs\" />\n    <Compile Include=\"ModelFactoryUnitTest.cs\" />\n    <None Include=\"packages.config\" />\n    <None Include=\"UAResourcesUnitTestUnitTest.cs.md\" />\n  </ItemGroup>\n  <ItemGroup>\n    <None Include=\"Models\\DataTypeTest.csv\" />\n    <None Include=\"Models\\DataTypeTest\\DataTypeTest.PredefinedNodes.uanodes\" />\n    <None Include=\"Models\\DataTypeTest\\DataTypeTest.Types.bsd\" />\n    <None Include=\"Models\\DataTypeTest\\DataTypeTest.Types.xsd\">\n      <SubType>Designer</SubType>\n    </None>\n    <None Include=\"Models\\ObjectTypeTest.csv\" />\n    <None Include=\"Models\\ObjectTypeTest\\ObjectTypeTest.PredefinedNodes.uanodes\" />\n    <None Include=\"Models\\ObjectTypeTest\\ObjectTypeTest.Types.bsd\" />\n    <None Include=\"Models\\ObjectTypeTest\\ObjectTypeTest.Types.xsd\">\n      <SubType>Designer</SubType>\n    </None>\n    <None Include=\"Models\\ReferenceTest.csv\" />\n    <None Include=\"Models\\ReferenceTest\\ReferenceTest.PredefinedNodes.uanodes\" />\n    <None Include=\"Models\\ReferenceTest\\ReferenceTest.Types.bsd\" />\n    <None Include=\"Models\\ReferenceTest\\ReferenceTest.Types.xsd\">\n      <SubType>Designer</SubType>\n    </None>\n    <None Include=\"Models\\TestModels.uamdsl\" />\n    <None Include=\"Models\\VariableTypeTest.csv\" />\n    <None Include=\"Models\\VariableTypeTest\\VariableTypeTest.PredefinedNodes.uanodes\" />\n    <None Include=\"Models\\VariableTypeTest\\VariableTypeTest.Types.bsd\" />\n    <None Include=\"Models\\VariableTypeTest\\VariableTypeTest.Types.xsd\">\n      <SubType>Designer</SubType>\n    </None>\n    <None Include=\"OPCUAOOIKey.snk\" />\n  </ItemGroup>\n  <ItemGroup>\n    <ProjectReference Include=\"..\\BuildingErrorsHandling\\SemanticData.BuildingErrorsHandling.csproj\">\n      <Project>{9ca2f05b-fb18-49ad-8520-1bcc838f748c}</Project>\n      <Name>SemanticData.BuildingErrorsHandling</Name>\n    </ProjectReference>\n    <ProjectReference Include=\"..\\InformationModelFactory\\SemanticData.InformationModelFactory.csproj\">\n      <Project>{6d20785d-0451-46a9-9ac2-ec66b7c0d18a}</Project>\n      <Name>SemanticData.InformationModelFactory</Name>\n    </ProjectReference>\n    <ProjectReference Include=\"..\\UAModelDesignExport\\SemanticData.UAModelDesignExport.csproj\">\n      <Project>{c970c14c-98aa-48a9-9f6f-d00c92fa6cef}</Project>\n      <Name>SemanticData.UAModelDesignExport</Name>\n    </ProjectReference>\n    <ProjectReference Include=\"..\\UANodeSetValidation\\SemanticData.UANodeSetValidation.csproj\">\n      <Project>{352378a0-8b2e-4679-bb44-fd0bcc8467d9}</Project>\n      <Name>SemanticData.UANodeSetValidation</Name>\n    </ProjectReference>\n  </ItemGroup>\n  <ItemGroup>\n    <None Include=\"Models\\DataTypeTest.xml\" />\n    <None Include=\"Models\\DataTypeTest.asp.xml\">\n      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>\n      <SubType>Designer</SubType>\n    </None>\n    <Content Include=\"Models\\DataTypeTest\\DataTypeTest.NodeSet.xml\" />\n    <None Include=\"Models\\DataTypeTest\\DataTypeTest.NodeSet2.xml\">\n      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>\n      <SubType>Designer</SubType>\n    </None>\n    <Content Include=\"Models\\DataTypeTest\\DataTypeTest.PredefinedNodes.xml\" />\n    <None Include=\"Models\\ObjectTypeTest.xml\">\n      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>\n    </None>\n    <None Include=\"Models\\ObjectTypeTest.asp.xml\">\n      <CopyToOutputDirectory>Always</CopyToOutputDirectory>\n    </None>\n    <Content Include=\"Models\\ObjectTypeTest\\ObjectTypeTest.NodeSet.xml\" />\n    <None Include=\"Models\\ObjectTypeTest\\ObjectTypeTest.NodeSet2.xml\">\n      <CopyToOutputDirectory>Always</CopyToOutputDirectory>\n    </None>\n    <Content Include=\"Models\\ObjectTypeTest\\ObjectTypeTest.PredefinedNodes.xml\" />\n    <Content Include=\"Models\\ReadMe.txt\" />\n    <None Include=\"Models\\ReferenceTest.xml\">\n      <CopyToOutputDirectory>Always</CopyToOutputDirectory>\n    </None>\n    <None Include=\"Models\\ReferenceTest\\ReferenceTest.NodeSet.xml\">\n      <CopyToOutputDirectory>Always</CopyToOutputDirectory>\n    </None>\n    <None Include=\"Models\\ReferenceTest\\ReferenceTest.NodeSet2.xml\">\n      <CopyToOutputDirectory>Always</CopyToOutputDirectory>\n    </None>\n    <None Include=\"Models\\ReferenceTest\\ReferenceTest.PredefinedNodes.xml\" />\n    <None Include=\"Models\\VariableTypeTest.xml\">\n      <CopyToOutputDirectory>Always</CopyToOutputDirectory>\n    </None>\n    <None Include=\"Models\\ReferenceTest.asp.xml\">\n      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>\n    </None>\n    <None Include=\"Models\\VariableTypeTest.asp.xml\">\n      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>\n    </None>\n    <Content Include=\"Models\\VariableTypeTest\\VariableTypeTest.NodeSet.xml\" />\n    <None Include=\"Models\\VariableTypeTest\\VariableTypeTest.NodeSet2.xml\">\n      <CopyToOutputDirectory>Always</CopyToOutputDirectory>\n    </None>\n    <Content Include=\"Models\\VariableTypeTest\\VariableTypeTest.PredefinedNodes.xml\" />\n  </ItemGroup>\n  <Import Project=\"$(VSToolsPath)\\TeamTest\\Microsoft.TestTools.targets\" Condition=\"Exists('$(VSToolsPath)\\TeamTest\\Microsoft.TestTools.targets')\" />\n  <Import Project=\"$(MSBuildToolsPath)\\Microsoft.CSharp.targets\" />\n  <Target Name=\"EnsureNuGetPackageBuildImports\" BeforeTargets=\"PrepareForBuild\">\n    <PropertyGroup>\n      <ErrorText>This project references NuGet package(s) that are missing on this computer. Use NuGet Package Restore to download them.  For more information, see http://go.microsoft.com/fwlink/?LinkID=322105. The missing file is {0}.</ErrorText>\n    </PropertyGroup>\n    <Error Condition=\"!Exists('..\\..\\packages\\MSTest.TestAdapter.2.2.10\\build\\net46\\MSTest.TestAdapter.props')\" Text=\"$([System.String]::Format('$(ErrorText)', '..\\..\\packages\\MSTest.TestAdapter.2.2.10\\build\\net46\\MSTest.TestAdapter.props'))\" />\n    <Error Condition=\"!Exists('..\\..\\packages\\MSTest.TestAdapter.2.2.10\\build\\net46\\MSTest.TestAdapter.targets')\" Text=\"$([System.String]::Format('$(ErrorText)', '..\\..\\packages\\MSTest.TestAdapter.2.2.10\\build\\net46\\MSTest.TestAdapter.targets'))\" />\n  </Target>\n  <Import Project=\"..\\..\\packages\\MSTest.TestAdapter.2.2.10\\build\\net46\\MSTest.TestAdapter.targets\" Condition=\"Exists('..\\..\\packages\\MSTest.TestAdapter.2.2.10\\build\\net46\\MSTest.TestAdapter.targets')\" />\n</Project>"
  },
  {
    "path": "SemanticData/UAModelDesignExport.UnitTest/UAResourcesUnitTestUnitTest.cs",
    "content": "﻿//___________________________________________________________________________________\n//\n//  Copyright (C) 2021, Mariusz Postol LODZ POLAND.\n//\n//  To be in touch join the community at GITTER: https://gitter.im/mpostol/OPC-UA-OOI\n//___________________________________________________________________________________\n\nusing Microsoft.VisualStudio.TestTools.UnitTesting;\nusing System.Linq;\n\nnamespace UAOOI.SemanticData.UAModelDesignExport.XML\n{\n  [TestClass]\n  public class UAResourcesUnitTest\n  {\n    [TestMethod]\n    public void LoadUADefinedTypesTestMethod()\n    {\n      ModelDesign newInstance = UAResources.LoadUADefinedTypes();\n      Assert.IsNotNull(newInstance);\n      Assert.AreEqual<int>(749, newInstance.Items.Where<NodeDesign>(x => !x.NotInAddressSpace).Count<NodeDesign>());\n      Assert.AreEqual<int>(17, newInstance.Items.Where<NodeDesign>(x => !x.NotInAddressSpace && x.PartNo == 0).Count<NodeDesign>());\n      Assert.AreEqual<int>(0, newInstance.Items.Where<NodeDesign>(x => !x.NotInAddressSpace && x.PartNo == 1).Count<NodeDesign>());\n      Assert.AreEqual<int>(0, newInstance.Items.Where<NodeDesign>(x => !x.NotInAddressSpace && x.PartNo == 2).Count<NodeDesign>());\n      Assert.AreEqual<int>(102, newInstance.Items.Where<NodeDesign>(x => !x.NotInAddressSpace && x.PartNo == 3).Count<NodeDesign>());\n      Assert.AreEqual<int>(53, newInstance.Items.Where<NodeDesign>(x => !x.NotInAddressSpace && x.PartNo == 4).Count<NodeDesign>());\n      Assert.AreEqual<int>(209, newInstance.Items.Where<NodeDesign>(x => !x.NotInAddressSpace && x.PartNo == 5).Count<NodeDesign>());\n      Assert.AreEqual<int>(0, newInstance.Items.Where<NodeDesign>(x => !x.NotInAddressSpace && x.PartNo == 6).Count<NodeDesign>());\n      Assert.AreEqual<int>(0, newInstance.Items.Where<NodeDesign>(x => !x.NotInAddressSpace && x.PartNo == 7).Count<NodeDesign>());\n      Assert.AreEqual<int>(22, newInstance.Items.Where<NodeDesign>(x => !x.NotInAddressSpace && x.PartNo == 8).Count<NodeDesign>());\n      Assert.AreEqual<int>(65, newInstance.Items.Where<NodeDesign>(x => !x.NotInAddressSpace && x.PartNo == 9).Count<NodeDesign>());\n      Assert.AreEqual<int>(8, newInstance.Items.Where<NodeDesign>(x => !x.NotInAddressSpace && x.PartNo == 10).Count<NodeDesign>());\n      Assert.AreEqual<int>(16, newInstance.Items.Where<NodeDesign>(x => !x.NotInAddressSpace && x.PartNo == 11).Count<NodeDesign>());\n      Assert.AreEqual<int>(33, newInstance.Items.Where<NodeDesign>(x => !x.NotInAddressSpace && x.PartNo == 12).Count<NodeDesign>());\n      Assert.AreEqual<int>(38, newInstance.Items.Where<NodeDesign>(x => !x.NotInAddressSpace && x.PartNo == 13).Count<NodeDesign>());\n      Assert.AreEqual<int>(146, newInstance.Items.Where<NodeDesign>(x => !x.NotInAddressSpace && x.PartNo == 14).Count<NodeDesign>());\n      Assert.AreEqual<int>(0, newInstance.Items.Where<NodeDesign>(x => !x.NotInAddressSpace && x.PartNo == 15).Count<NodeDesign>());\n      Assert.AreEqual<int>(8, newInstance.Items.Where<NodeDesign>(x => !x.NotInAddressSpace && x.PartNo == 17).Count<NodeDesign>());\n      Assert.AreEqual<int>(2, newInstance.Items.Where<NodeDesign>(x => !x.NotInAddressSpace && x.PartNo == 19).Count<NodeDesign>());\n      Assert.AreEqual<int>(1, newInstance.Namespaces.Length);\n      Assert.AreEqual<string>(@\"http://opcfoundation.org/UA/\", newInstance.TargetNamespace);\n      Assert.AreEqual<string>(@\"http://opcfoundation.org/UA/\", newInstance.TargetXmlNamespace);\n    }\n  }\n}"
  },
  {
    "path": "SemanticData/UAModelDesignExport.UnitTest/UAResourcesUnitTestUnitTest.cs.md",
    "content": "﻿# Modification table\n\n`Compared Items.Where<NodeDesign>(x => !x.NotInAddressSpace)`\n\n| Part  | 1.04 2016-12-31 | 1.04.7 2020-07-1T `UA-1.04.7-2020-07-15` |\n| :---: | :-------------: | :--------------------------------------: |\n|   0   |       20        |                    12                    |\n|   1   |        0        |                    0                     |\n|   2   |        0        |                    0                     |\n|   3   |       90        |                   101                    |\n|   4   |       53        |                    55                    |\n|   5   |       169       |                   209                    |\n|   6   |        0        |                    0                     |\n|   7   |        0        |                    0                     |\n|   8   |       19        |                    22                    |\n|   9   |       58        |                    65                    |\n|  10   |        6        |                    8                     |\n|  11   |       15        |                    16                    |\n|  12   |       13        |                    26                    |\n|  13   |       38        |                    38                    |\n|  14   |       76        |                   146                    |\n|  15   |        0        |                    0                     |\n|  17   |        0        |                    0                     |\n|  19   |        0        |                    2                     |\n| Total |       557       |                   708                    |\n"
  },
  {
    "path": "SemanticData/UAModelDesignExport.UnitTest/app.config",
    "content": "﻿<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<configuration>\n  <runtime>\n    <assemblyBinding xmlns=\"urn:schemas-microsoft-com:asm.v1\">\n      <dependentAssembly>\n        <assemblyIdentity name=\"System.Runtime.CompilerServices.Unsafe\" publicKeyToken=\"b03f5f7f11d50a3a\" culture=\"neutral\" />\n        <bindingRedirect oldVersion=\"0.0.0.0-6.0.0.0\" newVersion=\"6.0.0.0\" />\n      </dependentAssembly>\n      <dependentAssembly>\n        <assemblyIdentity name=\"Castle.Core\" publicKeyToken=\"407dd0808d44fbdc\" culture=\"neutral\" />\n        <bindingRedirect oldVersion=\"0.0.0.0-5.0.0.0\" newVersion=\"5.0.0.0\" />\n      </dependentAssembly>\n    </assemblyBinding>\n  </runtime>\n</configuration>"
  },
  {
    "path": "SemanticData/UAModelDesignExport.UnitTest/packages.config",
    "content": "﻿<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<packages>\n  <package id=\"Castle.Core\" version=\"5.0.0\" targetFramework=\"net472\" />\n  <package id=\"Moq\" version=\"4.18.1\" targetFramework=\"net472\" />\n  <package id=\"MSTest.TestAdapter\" version=\"2.2.10\" targetFramework=\"net472\" />\n  <package id=\"MSTest.TestFramework\" version=\"2.2.10\" targetFramework=\"net472\" />\n  <package id=\"System.Runtime.CompilerServices.Unsafe\" version=\"6.0.0\" targetFramework=\"net472\" />\n  <package id=\"System.Threading.Tasks.Extensions\" version=\"4.5.4\" targetFramework=\"net472\" />\n  <package id=\"UAOOI.Common.Infrastructure\" version=\"6.4.7\" targetFramework=\"net472\" />\n</packages>"
  },
  {
    "path": "SemanticData/UANodeSetValidation/AddressSpace.Abstractions/AttributeWriteMask.cs",
    "content": "﻿//__________________________________________________________________________________________________\n//\n//  Copyright (C) 2022, Mariusz Postol LODZ POLAND.\n//\n//  To be in touch join the community at GitHub: https://github.com/mpostol/OPC-UA-OOI/discussions\n//__________________________________________________________________________________________________\n\nusing System;\nusing System.Runtime.Serialization;\n\nnamespace UAOOI.SemanticData.AddressSpace.Abstractions\n{\n  //[DataContract(Namespace = Opc.Ua.Namespaces.OpcUaXsd)]\n  /// <summary>\n  /// This is a subtype of the UInt32 DataType with the OptionSetValues Property defined. It is used to define the Attribute access restrictions of a Node. \n  /// The AttributeWriteMask is formally defined in Part 3 8.60 Table 43.\n  /// \n  /// If a bit is set to 0, it means the Attribute is not writable. If a bit is set to 1, it means it is writable. If a Node does not support a specific Attribute, the corresponding bit has to be \n  /// set to 0.\n  /// </summary>\n  public enum AttributeWriteMask : UInt32\n  {\n    /// <remarks />\n    [EnumMember(Value = \"None_0\")]\n    None = 0,\n\n    /// <remarks />\n    [EnumMember(Value = \"AccessLevel_1\")]\n    AccessLevel = 1,\n\n    /// <remarks />\n    [EnumMember(Value = \"ArrayDimensions_2\")]\n    ArrayDimensions = 2,\n\n    /// <remarks />\n    [EnumMember(Value = \"BrowseName_4\")]\n    BrowseName = 4,\n\n    /// <remarks />\n    [EnumMember(Value = \"ContainsNoLoops_8\")]\n    ContainsNoLoops = 8,\n\n    /// <remarks />\n    [EnumMember(Value = \"DataType_16\")]\n    DataType = 16,\n\n    /// <remarks />\n    [EnumMember(Value = \"Description_32\")]\n    Description = 32,\n\n    /// <remarks />\n    [EnumMember(Value = \"DisplayName_64\")]\n    DisplayName = 64,\n\n    /// <remarks />\n    [EnumMember(Value = \"EventNotifier_128\")]\n    EventNotifier = 128,\n\n    /// <remarks />\n    [EnumMember(Value = \"Executable_256\")]\n    Executable = 256,\n\n    /// <remarks />\n    [EnumMember(Value = \"Historizing_512\")]\n    Historizing = 512,\n\n    /// <remarks />\n    [EnumMember(Value = \"InverseName_1024\")]\n    InverseName = 1024,\n\n    /// <remarks />\n    [EnumMember(Value = \"IsAbstract_2048\")]\n    IsAbstract = 2048,\n\n    /// <remarks />\n    [EnumMember(Value = \"MinimumSamplingInterval_4096\")]\n    MinimumSamplingInterval = 4096,\n\n    /// <remarks />\n    [EnumMember(Value = \"NodeClass_8192\")]\n    NodeClass = 8192,\n\n    /// <remarks />\n    [EnumMember(Value = \"NodeId_16384\")]\n    NodeId = 16384,\n\n    /// <remarks />\n    [EnumMember(Value = \"Symmetric_32768\")]\n    Symmetric = 32768,\n\n    /// <remarks />\n    [EnumMember(Value = \"UserAccessLevel_65536\")]\n    UserAccessLevel = 65536,\n\n    /// <remarks />\n    [EnumMember(Value = \"UserExecutable_131072\")]\n    UserExecutable = 131072,\n\n    /// <remarks />\n    [EnumMember(Value = \"UserWriteMask_262144\")]\n    UserWriteMask = 262144,\n\n    /// <remarks />\n    [EnumMember(Value = \"ValueRank_524288\")]\n    ValueRank = 524288,\n\n    /// <remarks />\n    [EnumMember(Value = \"WriteMask_1048576\")]\n    WriteMask = 1048576,\n\n    /// <remarks />\n    [EnumMember(Value = \"ValueForVariableType_2097152\")]\n    ValueForVariableType = 2097152,\n\n    /// <remarks />\n    [EnumMember(Value = \"DataTypeDefinition_4194304\")]\n    DataTypeDefinition = 4194304,\n\n    /// <remarks />\n    [EnumMember(Value = \"RolePermissions_8388608\")]\n    RolePermissions = 8388608,\n\n    /// <remarks />\n    [EnumMember(Value = \"AccessRestrictions_16777216\")]\n    AccessRestrictions = 16777216,\n\n    /// <remarks />\n    [EnumMember(Value = \"AccessLevelEx_33554432\")]\n    AccessLevelEx = 33554432,\n  }\n}"
  },
  {
    "path": "SemanticData/UANodeSetValidation/AddressSpace.Abstractions/IAddressSpaceContext.cs",
    "content": "﻿//__________________________________________________________________________________________________\n//\n//  Copyright (C) 2022, Mariusz Postol LODZ POLAND.\n//\n//  To be in touch join the community at GitHub: https://github.com/mpostol/OPC-UA-OOI/discussions\n//__________________________________________________________________________________________________\n\nusing System;\nusing UAOOI.SemanticData.InformationModelFactory;\n\nnamespace UAOOI.SemanticData.AddressSpace.Abstractions\n{\n  /// <summary>\n  /// Interface IAddressSpaceContext - represents a service used to buildup OPC UA Address Space and export information model\n  /// </summary>\n  public interface IAddressSpaceContext\n  {\n    /// <summary>\n    /// Imports all OPC UA Address Space models contained in the <see cref=\"IUANodeSet\" /> XML document, and populates internal OPC UA Address Space.\n    /// </summary>\n    /// <param name=\"model\">The model to be imported.</param>\n    /// <returns>Return a default <see cref=\"Uri\"/> for the model defined in <see cref=\"IUANodeSet\"/>.</returns>\n    Uri ImportUANodeSet(IUANodeSet model);\n\n    /// <summary>\n    /// Validates and exports the selected model using <see cref=\"IModelFactory\"/>.\n    /// </summary>\n    /// <param name=\"informationModelFactory\">\n    /// Information model factory, which can be used to export a part of the OPC UA Address Space using a selected language. If not set or set to null an internal stub implementation will be used.\n    /// </param>\n    /// <param name=\"targetNamespace\">The target namespace of the validated model.</param>\n    void ValidateAndExportModel(Uri targetNamespace, IModelFactory informationModelFactory);\n  }\n}"
  },
  {
    "path": "SemanticData/UANodeSetValidation/AddressSpace.Abstractions/IDataTypeDefinition.cs",
    "content": "﻿//__________________________________________________________________________________________________\n//\n//  Copyright (C) 2022, Mariusz Postol LODZ POLAND.\n//\n//  To be in touch join the community at GitHub: https://github.com/mpostol/OPC-UA-OOI/discussions\n//__________________________________________________________________________________________________\n\nusing UAOOI.SemanticData.UANodeSetValidation.DataSerialization;\n\nnamespace UAOOI.SemanticData.AddressSpace.Abstractions\n{\n  /// <summary>\n  /// A DataTypeDefinition defines an abstract representation of a UADataType that can be used by design tools to automatically create serialization code.\n  /// The definition is according to UANodeset xml schema defined in part 6\n  /// </summary>\n  public interface IDataTypeDefinition\n  {\n    /// <summary>\n    /// This flag indicates that the data type defines the OptionSetValues Property. This field is optional. The default value is false.\n    /// </summary>\n    /// <remarks>\n    /// New, added according to Release 1.05.01 2022-02-21\n    /// </remarks>\n    bool IsOptionSet { get; set; }\n\n    /// <summary>\n    /// This flag indicates if the data type represents a union.\n    /// Only one of the Fields defined for the data type is encoded into a value.\n    /// If this value is true the first field is the switch value.\n    /// </summary>\n    /// <remarks>\n    /// This field is optional.The default value is false.\n    /// </remarks>\n    bool IsUnion { get; set; }\n\n    /// <summary>\n    /// The list of fields that make up the data type. This definition assumes the structure has a sequential layout.\n    /// For enumerations the fields are simply a list of values.\n    /// </summary>\n    IDataTypeField[] Field { get; }\n\n    /// <summary>\n    /// A unique name for the data type encoded using the syntax QualifiedName.\n    /// This field is only specified for nested DataTypeDefinitions.\n    /// The BrowseName of the DataType node is used otherwise.\n    /// </summary>\n    string Name { get; set; }\n\n    /// <summary>\n    /// A symbolic name for the data type that can be used as a class/structure name in autogenerated code. It should only be specified if the Name cannot be used for this purpose.\n    /// Only letters, digits or the underscore(‘_’) are permitted.\n    /// This field is only specified for nested DataTypeDefinitions.\n    /// The SymbolicName of the DataType node is used otherwise.\n    /// </summary>\n    string SymbolicName { get; set; }\n\n    /// <summary>\n    /// The name of any base type. Note that the BaseType can refer to types defined in other files.\n    /// The NamespaceUri associated with the Name should indicate where to look for the BaseType definition.\n    /// This field is only specified for nested DataTypeDefinitions.\n    /// The HasSubtype reference of the DataType NodeClass is used otherwise.\n    /// </summary>\n    string BaseType { get; set; }\n  }\n\n  /// <summary>\n  /// The Field element of the DataTypeField type defines an abstract representation of a field within a UADataType that can be used by design tools to automatically create serialization code.\n  /// </summary>\n  public partial interface IDataTypeField\n  {\n    /// <summary>\n    /// A name for the field that is unique within the DataTypeDefinition.\n    /// </summary>\n    LocalizedText[] DisplayName { get; set; }\n\n    /// <summary>\n    /// A description for the field in multiple locales.\n    /// </summary>\n    LocalizedText[] Description { get; set; }\n\n    /// <summary>\n    /// A name for the field that is unique within the DataTypeDefinition.\n    /// </summary>\n    string Name { get; set; }\n\n    ///<summary>\n    /// A symbolic name for the field that can be used in autogenerated code.\n    /// It should only be specified if the Name cannot be used for this purpose.\n    /// Only letters, digits or the underscore (‘_’) are permitted.\n    ///</summary>\n    string SymbolicName { get; set; }\n\n    /// <summary>\n    /// The NodeId of the DataType for the field.\n    /// This NodeId can refer to another Node with its own DataTypeDefinition.\n    /// This field is not specified for subtypes of Enumeration.\n    /// </summary>\n    string DataType { get; set; }\n\n    /// <summary>\n    /// The value rank for the field.\n    /// It shall be Scalar(-1) or a fixed rank Array (>= 1).\n    /// This field is not specified for subtypes of Enumeration.\n    /// </summary>\n    int ValueRank { get; set; }\n\n    /// <summary>\n    /// The maximum length of an array. This field is a comma separated list of unsigned integer values. The list has a number of elements equal to the ValueRank.\n    /// The value is 0 if the maximum is not known for a dimension.\n    /// This field is not specified if the ValueRank <= 0.This field is not specified for Enumeration or OptionSet DataTypes.\n    /// </summary>\n    string ArrayDimensions { get; set; }\n\n    /// <summary>\n    /// The maximum length of a String or ByteString value. If not known the value is 0. The value is 0 if the DataType is not String or ByteString.\n    /// If the ValueRank > 0 the maximum applies to each element in the array.This field is not specified for Enumeration or OptionSet DataTypes.\n    /// </summary>\n    uint MaxStringLength { get; set; }\n\n    /// <summary>\n    /// The value associated with the field. This value is only specified for Enumeration or OptionSet DataTypes.\n    /// </summary>\n    int Value { get; set; }\n\n    /// <summary>\n    /// The field indicates if a data type field in a structure is optional.\n    /// The default value is false. This field is not specified for Enumeration, Union or OptionSet DataTypes.\n    /// </summary>\n    bool IsOptional { get; set; }\n  }\n\n  /// <summary>\n  /// Calculated part of the definition\n  /// </summary>\n  public partial interface IDataTypeField\n  {\n    /// <summary>\n    /// The NodeId of the DataType for the field.\n    /// This NodeId can refer to another Node with its own DataTypeDefinition.\n    /// This field is not specified for subtypes of Enumeration.\n    /// </summary>\n    NodeId DataTypeNodeId { get; }\n  }\n}"
  },
  {
    "path": "SemanticData/UANodeSetValidation/AddressSpace.Abstractions/IModelTableEntry.cs",
    "content": "﻿//__________________________________________________________________________________________________\n//\n//  Copyright (C) 2022, Mariusz Postol LODZ POLAND.\n//\n//  To be in touch join the community at GitHub: https://github.com/mpostol/OPC-UA-OOI/discussions\n//__________________________________________________________________________________________________\n\nusing System;\n\nnamespace UAOOI.SemanticData.AddressSpace.Abstractions\n{\n  /// <summary>\n  /// Interface IModelTableEntry \n  /// </summary>\n  public interface IModelTableEntry\n  {\n    /// <summary>\n    /// Gets or sets the access restrictions. The default <c>AccessRestrictions</c> that apply to all <c>Nodes</c> in the model.\n    /// </summary>\n    /// <value>The access restrictions.</value>\n    byte AccessRestrictions { get; }\n\n    /// <summary>\n    /// Gets the <see cref=\"Uri\"/> for the model. This URI should be one of the entries in the namespace table.\n    /// </summary>\n    /// <value>The model <see cref=\"Uri\"/>.</value>\n    Uri ModelUri { get; }\n\n    /// <summary>\n    /// Gets or sets the publication date. When the model was published. This value is used for comparisons if the model is defined in multiple UANodeSet files.\n    /// </summary>\n    /// <value>The publication date.</value>\n    DateTime? PublicationDate { get; }\n\n    /// <summary>\n    /// Gets or sets the required model. A list of dependencies for the model. If the model requires a minimum version the PublicationDate shall be specified.\n    /// Tools which attempt to resolve these dependencies may accept any PublicationDate after this date.\n    /// </summary>\n    /// <value>The required model.</value>\n    IModelTableEntry[] RequiredModel { get; }\n\n    /// <summary>\n    /// Gets or sets the role permissions. The list of default RolePermissions for all Nodes in the model.\n    /// </summary>\n    /// <value>The role permissions.</value>\n    IRolePermission[] RolePermissions { get; }\n\n    /// <summary>\n    /// Gets or sets the version. The version of the model defined in the UANodeSet. This is a human readable string and not intended for programmatic comparisons.\n    /// </summary>\n    /// <value>The version.</value>\n    Version Version { get; }\n  }\n}"
  },
  {
    "path": "SemanticData/UANodeSetValidation/AddressSpace.Abstractions/INamespaceTable.cs",
    "content": "﻿//__________________________________________________________________________________________________\n//\n//  Copyright (C) 2021, Mariusz Postol LODZ POLAND.\n//\n//  To be in touch join the community at GitHub: https://github.com/mpostol/OPC-UA-OOI/discussions\n//__________________________________________________________________________________________________\n\nusing System;\n\nnamespace UAOOI.SemanticData.AddressSpace.Abstractions\n{\n  /// <summary>\n  /// The INamespaceTable interface to decouple the code from implementation of the <see cref=\"NamespaceTable\"/>.\n  /// </summary>\n  public interface INamespaceTable\n  {\n    /// <summary>\n    /// Updates the model or append it to the existing collection\n    /// </summary>\n    /// <param name=\"model\">The model in concern.</param>\n    void RegisterModel(IModelTableEntry model);\n\n    /// <summary>\n    /// Registers the dependency.\n    /// </summary>\n    /// <param name=\"model\">The model that is required.</param>\n    void RegisterDependency(IModelTableEntry model);\n\n    /// <summary>\n    /// Searches for an index that matches the <paramref name=\"URI\"/>, and returns the zero-based index of the first occurrence within the namespace table.\n    /// </summary>\n    /// <param name=\"URI\">The URI to search for in the namespace table.</param>\n    /// <returns>\n    /// The zero-based index of the first occurrence of <paramref name=\"URI\"/>, if found; otherwise, it is appended.\n    /// </returns>\n    ushort GetURIIndexOrAppend(Uri URI);\n\n    /// <summary>\n    /// Searches for an <paramref name=\"URI\"/>, and returns the zero-based index of the first occurrence within the <see cref=\"INamespaceTable\"/>.\n    /// </summary>\n    /// <param name=\"URI\">The URI.</param>\n    /// <returns>The zero-based index of the first occurrence of an <paramref name=\"URI\"/>, if found; otherwise, –1.</returns>\n    int GetURIIndex(Uri URI);\n\n    /// <summary>\n    /// Gets the model <see cref=\"Uri\"/>.\n    /// </summary>\n    /// <param name=\"namespaceIndex\">Index of the namespace.</param>\n    /// <returns>An instance that captures <see cref=\"Uri\"/> of the requested model if already registered, otherwise, null.</returns>\n    Uri GetModelTableEntry(ushort namespaceIndex);\n  }\n}"
  },
  {
    "path": "SemanticData/UANodeSetValidation/AddressSpace.Abstractions/IReference.cs",
    "content": "﻿//__________________________________________________________________________________________________\n//\n//  Copyright (C) 2022, Mariusz Postol LODZ POLAND.\n//\n//  To be in touch join the community at GitHub: https://github.com/mpostol/OPC-UA-OOI/discussions\n//__________________________________________________________________________________________________\n\nusing UAOOI.SemanticData.UANodeSetValidation.DataSerialization;\n\nnamespace UAOOI.SemanticData.AddressSpace.Abstractions\n{\n  public interface IReference\n  {\n    bool IsForward { get; set; }\n    //TODO Define independent Address Space API #645 move NodeId definition to the OPCUA.Common\n    NodeId ReferenceTypeNodeid { get; }\n    NodeId ValueNodeId { get; }\n  }\n}"
  },
  {
    "path": "SemanticData/UANodeSetValidation/AddressSpace.Abstractions/IRolePermission.cs",
    "content": "﻿//__________________________________________________________________________________________________\n//\n//  Copyright (C) 2022, Mariusz Postol LODZ POLAND.\n//\n//  To be in touch join the community at GitHub: https://github.com/mpostol/OPC-UA-OOI/discussions\n//__________________________________________________________________________________________________\n\nnamespace UAOOI.SemanticData.AddressSpace.Abstractions\n{\n  /// <summary>\n  /// Class RolePermission - default RolePermissions for all Nodes in the model.\n  /// </summary>\n  /// <remarks>\n  /// This type is defined in Part 6 F.5 but the definition is not compliant with the UANodeSet schema.\n  /// This type is also defined in the Part 3 5.2.9 but the definition is not compliant.\n  /// </remarks>\n  public interface IRolePermission\n  {\n    /// <summary>\n    /// Gets or sets the permissions.\n    /// </summary>\n    /// <remarks>\n    /// This is a subtype of the UInt32 DataType with the OptionSetValues Property defined. It is used to define the permissions of a Node. The <c>PermissionType</c> is formally defined in Part3 8.55 Table 38.\n    /// </remarks>\n    /// <value>The permissions.</value>\n    uint Permissions { get; set; }\n\n    /// <summary>\n    /// Gets or sets the value.\n    /// </summary>\n    /// <remarks>\n    /// Not defined in the spec.\n    /// </remarks>\n    /// <value>The value.</value>\n    string Value { get; set; }\n  }\n}"
  },
  {
    "path": "SemanticData/UANodeSetValidation/AddressSpace.Abstractions/IUADataType.cs",
    "content": "﻿//__________________________________________________________________________________________________\n//\n//  Copyright (C) 2022, Mariusz Postol LODZ POLAND.\n//\n//  To be in touch join the community at GitHub: https://github.com/mpostol/OPC-UA-OOI/discussions\n//__________________________________________________________________________________________________\n\n//TODO Define independent Address Space API #645 - Remove dependency on InformationModelFactory\nusing UAOOI.SemanticData.InformationModelFactory;\n\nnamespace UAOOI.SemanticData.AddressSpace.Abstractions\n{\n  public interface IUADataType : IUADataTypeNodeClass, IUAType\n  {\n\n    //TODO Mantis - report error \n    /// <summary>\n    /// Sets the data type purpose.\n    /// </summary>\n    /// <remarks>\n    /// Not defined in the specification Part 2, 5, 6 and Errata Release 1.04.2 September 25, 2018\n    /// This field is defined in the UADataType in the <c>UADataType</c> but in UA Model Design in the <c>NodeDesign</c>\n    /// </remarks>\n    /// <value>The data type purpose.</value>\n    DataTypePurpose Purpose { get; }\n  }\n  /// <summary>\n  /// DataTypes are defined using the DataType NodeClass. The DataType NodeClass describes the syntax of a Variable Value. \n  /// </summary>\n  public interface IUADataTypeNodeClass\n  {\n    /// <summary>\n    /// The DataTypeDefinition Attribute is used to provide the meta data and encoding information for custom DataTypes. The abstract DataTypeDefinition DataType is defined in 8.47.\n    /// Structure and Union DataTypes\n    /// The Attribute is mandatory for DataTypes derived from Structure and Union. For such DataTypes, the Attribute contains a structure of the DataType StructureDefinition. \n    /// The StructureDefinition DataType is defined in 8.48. It is a subtype of DataTypeDefinition.\n    /// Enumeration and OptionSet DataTypes\n    /// The Attribute is mandatory for DataTypes derived from Enumeration, OptionSet and subtypes of UInteger representing an OptionSet. For such DataTypes, the Attribute contains \n    /// a structure of the DataType EnumDefinition. The EnumDefinition DataType is defined in 8.49. It is a subtype of DataTypeDefinition.\n    /// </summary>\n    IDataTypeDefinition Definition { get; }\n  }\n}"
  },
  {
    "path": "SemanticData/UANodeSetValidation/AddressSpace.Abstractions/IUAMethod.cs",
    "content": "﻿//__________________________________________________________________________________________________\n//\n//  Copyright (C) 2022, Mariusz Postol LODZ POLAND.\n//\n//  To be in touch join the community at GitHub: https://github.com/mpostol/OPC-UA-OOI/discussions\n//__________________________________________________________________________________________________\n\nusing UAOOI.SemanticData.UANodeSetValidation.DataSerialization;\n\nnamespace UAOOI.SemanticData.AddressSpace.Abstractions\n{\n  /// <summary>\n  /// Interface IUAMethod representing a Method in the Information Model. Methods are lightweight functions, whose scope is bounded by an owning object,\n  /// similar to the methods of a class in object-oriented programming or an owning object type, similar to static methods of a class.\n  /// </summary>\n  /// <remarks>\n  /// This interface may be specified for a Method node that is a target of a HasComponent reference from a single TypeObject or Object node.\n  /// </remarks>\n  public interface IUAMethod : IUANode\n  {\n    /// <summary>\n    /// Sets a value indicating whether the Method node is executable (“False” means not executable, “True” means executable).The Executable does not take any user access rights into account,\n    /// i.e. although the Method is executable this may be restricted to a certain user/user group.\n    /// If the server cannot get the executable information from the underlying system, it should state that it is executable. If a Method is called, the server should transfer\n    /// this request and return the corresponding StatusCode if such a request is rejected.\n    /// </summary>\n    /// <value><c>true</c> if executable; otherwise, <c>false</c>. Default value is <c>true</c></value>\n    bool Executable { set; get; }\n\n    /// <summary>\n    /// Sets a value indicating whether the Method is currently executable taking user access rights into account (“False” means not executable, “True” means executable).\n    /// </summary>\n    /// <value><c>true</c> if executable by current user; otherwise, <c>false</c>. Default value is <c>true</c></value>\n    bool UserExecutable { set; get; }\n\n    /// <summary>\n    /// Gets or sets the method declaration identifier defined in Part 6  F.9. May be specified for Method Nodes that are a target of a HasComponent reference from a single Object Node.\n    /// It is the NodeId of the UAMethod with the same BrowseName contained in the TypeDefinition associated with the Object Node.\n    /// If the TypeDefinition overrides a Method inherited from a base ObjectType then this attribute shall reference the Method Node in the subtype.\n    /// </summary>\n    /// <remarks>\n    /// It is not exposed in the Address Space\n    /// </remarks>\n    /// <value>The method declaration identifier.</value>\n    string MethodDeclarationId { set; get; }\n\n    /// <summary>\n    /// The property is used to specify the arguments that shall be used by a client when calling the Method.\n    /// </summary>\n    /// <remarks>\n    /// It is not exposed in the Address Space\n    /// </remarks>\n    UAMethodArgument[] ArgumentDescription { get; set; }\n  }\n\n  /// <summary>\n  /// This UAMethodArgument defines a method input or output argument specification. It is for example used in the input and output argument Properties for Methods.\n  /// </summary>\n  /// <remarks>\n  /// It is standard type defined in P3 8.6 Argument\n  /// </remarks>\n  public class UAMethodArgument\n  {\n    /// <remarks/>\n    public string Name { set; get; }\n\n    /// <remarks/>\n    //TODO Define independent Address Space API #645 - move the LocalizedText definition to OPCUA.Common\n    public LocalizedText[] Description { set; get; }\n  }\n}"
  },
  {
    "path": "SemanticData/UANodeSetValidation/AddressSpace.Abstractions/IUANode.cs",
    "content": "﻿//__________________________________________________________________________________________________\n//\n//  Copyright (C) 2022, Mariusz Postol LODZ POLAND.\n//\n//  To be in touch join the community at GitHub: https://github.com/mpostol/OPC-UA-OOI/discussions\n//__________________________________________________________________________________________________\n\nusing System;\nusing UAOOI.SemanticData.InformationModelFactory;\nusing UAOOI.SemanticData.InformationModelFactory.UAConstants;\nusing UAOOI.SemanticData.UANodeSetValidation.DataSerialization;\n\nnamespace UAOOI.SemanticData.AddressSpace.Abstractions\n{\n  /// <summary>\n  /// Interface IUANode -  a base type that defines a set of fields representing attributes and references of any node in the Address Space.\n  /// </summary>\n  public partial interface IUANode: IEquatable<IUANode>\n  {\n    /// <summary>\n    /// Sets or gets a symbolic name for the node that can be used as a class/field name by a design tools to enhance auto-generated code.\n    /// It should only be specified if the BrowseName cannot be used for this purpose. This field is not used directly to instantiate\n    /// Address Space and is intended for use by design tools. Only letters, digits or the underscore (‘_’) are permitted.\n    /// </summary>\n    /// <remarks>\n    /// This attribute is not exposed in the Address Space.\n    /// </remarks>\n    /// <value>The symbolic name for the node.</value>\n    string SymbolicName { set; get; }\n\n    /// <summary>\n    /// Sets the release status of the node.\n    /// </summary>\n    /// <remarks>\n    /// It is not exposed in the address space.\n    /// Added in the Rel 1.04 to the specification.\n    /// </remarks>\n    /// <value>The release status.</value>\n    ReleaseStatus ReleaseStatus { set; get; }\n\n    /// <summary>\n    /// Sets the category. A list of identifiers used to group related UANodes together for use by tools that create/edit UANodeSet files.\n    /// </summary>\n    /// <value>The category.</value>\n    string[] Category { set; get; }\n\n    string Documentation { get; set; }\n\n    void RemoveInheritedValues(IUANode baseNode);\n  }\n\n  /// <summary>\n  /// This part is defined according to Part3 5.2 Base NodeClass\n  /// </summary>\n  public partial interface IUANode\n  {\n    /// <summary>\n    /// Nodes are unambiguously identified using a constructed identifier called the <see cref=\"NodeId\"/> . Some implementations may accept alternative NodeIds in addition to the canonical\n    /// NodeId represented in this Attribute. An application shall persist the identifierType and identifier NodeId elements of a Node as well as the Namespace Uri which the\n    /// namespaceIndex NodeId element references. An application may change the namespaceIndex NodeId element of a Node with future address space instantiation and therefore a user shall\n    /// not assume the namespaceIndex will not change.\n    /// </summary>\n    NodeId NodeId { get; }\n\n    /// <summary>\n    /// The NodeClass identifies the NodeClass of a Node.\n    /// </summary>\n    /// <value>Returns NodeClassEnum</value>\n    NodeClassEnum NodeClass { get; }\n\n    /// <summary>\n    /// It holds the value of the BrowseName attribute of modes in the Address Space. The BrowseName is the name used in the information model.\n    /// The BrowseName is qualified by the namespace used for the SymbolicName\n    ///\n    /// Nodes have a BrowseName Attribute that is used as a non-localized human-readable name when browsing the AddressSpace to create paths out of BrowseNames.\n    /// The TranslateBrowsePathsToNodeIds Service defined in OPC 10000-4 can be used to follow a path constructed of BrowseNames.\n    ///\n    /// A BrowseName should never be used to display the name of a Node.The DisplayName should be used instead for this purpose.\n    ///\n    /// Unlike NodeIds, the BrowseName cannot be used to unambiguously identify a Node. Different Nodes may have the same BrowseName.\n    /// Section 8.3 defines the structure of the BrowseName.It contains a namespace and a string. The namespace is provided to make the BrowseName unique in some cases in the context\n    /// of a Node (e.g.Properties of a Node) although not unique in the context of the Server.If different organizations define BrowseNames for Properties, the namespace of the BrowseName\n    /// provided by the organization makes the BrowseName unique, although different organizations may use the same string having a slightly different meaning.\n    ///\n    /// Applications may often choose to use the same namespace for the NodeId and the BrowseName.However, if they want to provide a standard Property, its BrowseName shall have the namespace\n    /// of the standards body although the namespace of the NodeId reflects something else, for example the local Server.\n    ///\n    /// Standards bodies defining standard type definitions shall use their namespace(s) for the NodeId of the TypeDefinitionNode as well as for the BrowseName of the TypeDefinitionNode.\n    /// BrowseNames of TypeDefinitionNodes, ReferenceTypes, and DataTypes shall be unique. Any well-known instances used as entry points shall also be unique. For example, the Root Node defined in\n    /// OPC 10000-5.\n    /// The string-part of the BrowseName is case sensitive. That is, users shall consider them case sensitive.Servers are allowed to handle BrowseNames passed in Service requests as case\n    /// insensitive. Examples are the TranslateBrowsePathsToNodeIds Service or Event filter. If a Server accepts a case insensitive BrowseName it needs to ensure that the uniqueness of the BrowseName\n    /// does not depend on case.\n    /// </summary>\n    QualifiedName BrowseName { get; }\n\n    /// <summary>\n    /// The DisplayName Attribute contains the localized name of the Node. Users should use this property if they want to display the name of the Node. They should not use the BrowseName for this purpose.\n    /// The application may maintain one or more localized representations for each DisplayName. The API user selects the locale to be returned when they open a session with the Server.\n    /// Refer to OPC 10000-4 for a description of session establishment and locales. Section 8.5 defines the structure of the DisplayName.\n    /// The string part of the DisplayName is restricted to 512 characters.\n    /// </summary>\n    LocalizedText[] DisplayName { get; }\n\n    /// <summary>\n    /// The optional Description Attribute shall explain the meaning of the Node in a localised text using the same mechanisms for localization as described for the DisplayName\n    /// </summary>\n    LocalizedText[] Description { get; }\n\n    /// <summary>\n    /// The optional WriteMask Attribute exposes the possibilities of a client to write the Attributes of the Node. The WriteMask Attribute does not take any user access rights into account,\n    /// that is, although an Attribute is writable this may be restricted to a certain user/user group.\n    ///\n    /// If the OPC UA Server does not have the ability to get the WriteMask information for a specific Attribute from the underlying system, it should state that it is writable.If a write\n    /// operation is called on the Attribute, the Server should transfer this request and return the corresponding StatusCode if such a request is rejected.StatusCodes are defined in OPC 10000-4.\n    ///\n    /// The AttributeWriteMask DataType is defined in 8.60.\n    /// </summary>\n    AttributeWriteMask WriteMask { set; get; }\n\n    /// <summary>\n    /// The optional UserWriteMask Attribute exposes the possibilities of a client to write the Attributes of the Node taking user access rights into account. It uses the AttributeWriteMask\n    /// DataType which is defined in 8.60.\n    ///\n    /// The UserWriteMask Attribute can only further restrict the WriteMask Attribute, when it is set to not writable in the general case that applies for every user.\n    /// Clients cannot assume an Attribute can be written based on the UserWriteMask Attribute.It is possible that the Server may return an access denied error due to some server\n    /// specific change which was not reflected in the state of this Attribute at the time the Client accessed it.\n    /// </summary>\n    AttributeWriteMask UserWriteMask { set; get; }\n\n    /// <summary>\n    /// The optional RolePermissions Attribute specifies the Permissions that apply to a Node for all Roles which have access to the Node. The value of the Attribute is an array of\n    /// RolePermissionType Structures\n    /// </summary>\n    IRolePermission[] RolePermissions { get; set; }\n\n    /// <summary>\n    /// The optional UserRolePermissions attribute specifies the permissions that apply to a node for all roles granted to current Session. The value of the Attribute is an array of\n    /// RolePermissionType Structures (see Table 8).\n    ///\n    /// Clients may determine their effective permissions by performing a logical OR of permissions for each role in the array.\n    ///\n    /// The value of this Attribute is derived from the rules used by the hosting application to map sessions to roles. This mapping may be vendor specific or it may use the standard\n    /// role model defined in Part 3 Section 4.8.\n    ///\n    /// This Attribute shall not be writable.\n    ///\n    /// If not specified, the value of DefaultUserRolePermissions property from the Namespace Metadata Object associated with the node is used instead. If the NamespaceMetadata Object does not\n    /// define the Property or does not exist, then the hosting application does not publish any information about roles mapped to the current Session.\n    /// </summary>\n    IRolePermission[] UserRolePermissions { get; set; }\n\n    /// <summary>\n    /// Sets or gets the access restrictions. See also Part 3 section 5.2.11\n    /// </summary>\n    /// <remarks>\n    /// The optional AccessRestrictions attribute specifies the AccessRestrictions that apply to a node. If a hosting application supports AccessRestrictions\n    /// for a particular namespace it adds the DefaultAccessRestrictions Property to the NamespaceMetadata Object for that Namespace. If a particular node in the\n    /// Namespace needs to override the default value the hosting application adds the AccessRestrictions attribute to the node.\n    ///\n    /// If a Server implements a vendor specific access restriction model for a Namespace, it does not add the DefaultAccessRestrictions Property to the NamespaceMetadata Object.\n    /// </remarks>\n    /// <value>The access restrictions.</value>\n    AccessRestrictions AccessRestrictions { set; get; }\n\n    /// <summary>\n    /// Reference of the node.\n    /// </summary>\n    IReference[] References { get; }\n  }\n}"
  },
  {
    "path": "SemanticData/UANodeSetValidation/AddressSpace.Abstractions/IUANodeSet.cs",
    "content": "﻿//__________________________________________________________________________________________________\n//\n//  Copyright (C) 2022, Mariusz Postol LODZ POLAND.\n//\n//  To be in touch join the community at GitHub: https://github.com/mpostol/OPC-UA-OOI/discussions\n//__________________________________________________________________________________________________\n\nusing System;\nusing System.Xml;\n\n//TODO Define independent Address Space API #645 - this dependency must be removed\nusing UAOOI.SemanticData.BuildingErrorsHandling;\n\nnamespace UAOOI.SemanticData.AddressSpace.Abstractions\n{\n  /// <summary>\n  /// The UANodeSet is the root element of the XML document.\n  /// </summary>\n  /// <remarks>\n  /// Dependency on UANodeSet must be removed form the Address Space API\n  /// </remarks>\n  public interface IUANodeSet\n  {\n    /// <summary>\n    /// Parse the model expressed as the UANodeset XML file compliant with the UANodeset schema.\n    /// </summary>\n    /// <param name=\"addressSpaceContext\"></param>\n    /// <param name=\"traceEvent\"></param>\n    /// <returns></returns>\n    Uri ParseUAModelContext(INamespaceTable addressSpaceContext, Action<TraceMessage> traceEvent);\n\n    /// <summary>\n    /// A list of namespaces represented by URI referred in the document. External references are allowed.\n    /// </summary>\n    string[] NamespaceUris { get; set; }\n\n    /// <summary>\n    /// list of ServerUri entries used in the UANodeSet document\n    /// </summary>\n    string[] ServerUris { get; set; }\n\n    /// <summary>\n    /// An element containing any vendor defined extensions to the UANodeSet.\n    /// </summary>\n    XmlElement[] Extensions { get; set; }\n\n    /// <summary>\n    /// The Address Space nodes collection representation in the UANodeSet.\n    /// </summary>\n    IUANode[] Items { get; }\n\n    /// <summary>\n    /// The last time a document was modified.\n    /// </summary>\n    DateTime LastModified { get; set; }\n\n    /// <summary>\n    /// Determines if the <see cref=\"IUANodeSet.LastModified\"/> is specified.\n    /// </summary>\n    bool LastModifiedSpecified { get; set; }\n  }\n}"
  },
  {
    "path": "SemanticData/UANodeSetValidation/AddressSpace.Abstractions/IUAObject.cs",
    "content": "﻿//__________________________________________________________________________________________________\n//\n//  Copyright (C) 2022, Mariusz Postol LODZ POLAND.\n//\n//  To be in touch join the community at GitHub: https://github.com/mpostol/OPC-UA-OOI/discussions\n//__________________________________________________________________________________________________\n\nnamespace UAOOI.SemanticData.AddressSpace.Abstractions\n{\n  /// <summary>\n  /// Objects are used to represent systems, system components, real-world objects and software objects. Objects are defined using the Object NodeClass.\n  /// </summary>\n  public interface IUAObject : IUANode\n  {\n    /// <summary>\n    /// The EventNotifier is used to indicate if the node can be used to subscribe to events or the read/write historic Events.\n    /// The EventNotifierType is defined in P 3 - 8.59.\n    /// </summary>\n    // TODO UANodeSetValidation - Define independent Address Space API replace byte by the EventNotifierType according to the definition in the spec.\n    byte EventNotifier { get; set; }\n  }\n}"
  },
  {
    "path": "SemanticData/UANodeSetValidation/AddressSpace.Abstractions/IUAObjectType.cs",
    "content": "﻿//__________________________________________________________________________________________________\n//\n//  Copyright (C) 2022, Mariusz Postol LODZ POLAND.\n//\n//  To be in touch join the community at GitHub: https://github.com/mpostol/OPC-UA-OOI/discussions\n//__________________________________________________________________________________________________\n\nnamespace UAOOI.SemanticData.AddressSpace.Abstractions\n{\n  /// <summary>\n  /// ObjectTypes provide definitions for objects. ObjectTypes are defined using the ObjectType NodeClass.\n  /// </summary>\n  public interface IUAObjectType : IUAType\n  { }\n}"
  },
  {
    "path": "SemanticData/UANodeSetValidation/AddressSpace.Abstractions/IUAReferenceType.cs",
    "content": "﻿//__________________________________________________________________________________________________\n//\n//  Copyright (C) 2022, Mariusz Postol LODZ POLAND.\n//\n//  To be in touch join the community at GitHub: https://github.com/mpostol/OPC-UA-OOI/discussions\n//__________________________________________________________________________________________________\n\nusing UAOOI.SemanticData.UANodeSetValidation.DataSerialization;\n\nnamespace UAOOI.SemanticData.AddressSpace.Abstractions\n{\n  /// <summary>\n  /// Interface IUAReferenceType - encapsulates a reference type definition.\n  /// </summary>\n  /// <remarks>\n  /// References are defined as instances of ReferenceType nodes. ReferenceType nodes are visible in the Address Space and are defined using the ReferenceType node class.\n  /// In contrast, a reference instance is an inherent part of a node and no node class is used to represent references.\n  /// See also 5.3 ReferenceType NodeClass\n  /// </remarks>\n  public interface IUAReferenceType : IUAType\n  {\n    /// <summary>\n    /// If a ReferenceType is symmetric, the InverseName Attribute shall be omitted. Therefore both directions are considered to be forward References.\n    /// If the ReferenceType is non-symmetric and not abstract, the InverseName Attribute shall be set. The InverseName Attribute specifies the meaning of the ReferenceType as seen from the\n    /// target node.\n    /// </summary>\n    LocalizedText[] InverseName { get; }\n\n    /// <summary>\n    /// The Symmetric Attribute is used to indicate whether or not the meaning of the ReferenceType is the same for both the source and target nodes.\n    /// </summary>\n    bool Symmetric { get; set; }\n  }\n}"
  },
  {
    "path": "SemanticData/UANodeSetValidation/AddressSpace.Abstractions/IUAType.cs",
    "content": "﻿//__________________________________________________________________________________________________\n//\n//  Copyright (C) 2022, Mariusz Postol LODZ POLAND.\n//\n//  To be in touch join the community at GitHub: https://github.com/mpostol/OPC-UA-OOI/discussions\n//__________________________________________________________________________________________________\n\nnamespace UAOOI.SemanticData.AddressSpace.Abstractions\n{\n  /// <summary>\n  /// Interface IUAType - instances implementing this interface supports type definition factoring.\n  /// </summary>\n  public interface IUAType : IUANode\n  {\n    /// <summary>\n    /// Sets a value indicating whether this instance is abstract.\n    /// A boolean Attribute with the following values:\n    ///   TRUE it is an abstract type, i.e. no instances of this type shall exist, only of its subtypes.\n    ///   FALSE it is not an abstract type, i.e. instances of this type can exist in the Address Space.\n    /// </summary>\n    /// <remarks>Default Value is false</remarks>\n    /// <value><c>true</c> if this type is abstract; otherwise, <c>false</c>.</value>\n    bool IsAbstract { get; set; }\n  }\n}"
  },
  {
    "path": "SemanticData/UANodeSetValidation/AddressSpace.Abstractions/IUAVariable.cs",
    "content": "﻿//__________________________________________________________________________________________________\n//\n//  Copyright (C) 2022, Mariusz Postol LODZ POLAND.\n//\n//  To be in touch join the community at GitHub: https://github.com/mpostol/OPC-UA-OOI/discussions\n//__________________________________________________________________________________________________\n\nusing System.Xml;\nusing UAOOI.SemanticData.UANodeSetValidation.DataSerialization;\n\nnamespace UAOOI.SemanticData.AddressSpace.Abstractions\n{\n  internal interface IUAVariable : IUANode\n  {\n    /// <summary>\n    /// The most recent value of the Variable that the Server has. Its data type is defined by the DataType Attribute. It is the only Attribute that does not have a data type associated with it.\n    /// This allows all Variables to have a value defined by the same Value Attribute.\n    /// </summary>\n    XmlElement Value\n    {\n      set; get;\n    }\n\n    /// <summary>\n    /// NodeId of the DataType definition for the Value Attribute. Standard DataTypes are defined in Clause 7.23.\n    /// </summary>\n    //string DataType { get; set; }\n    NodeId DataType { get; }\n\n    /// <summary>\n    /// This Attribute indicates whether the Value Attribute of the Variable is an array and how many dimensions the array has.\n    /// It may have the following values:\n    ///    n > 1: the Value is an array with the specified number of dimensions.\n    ///    OneDimension (1): The value is an array with one dimension.\n    ///    OneOrMoreDimensions (0): The value is an array with one or more dimensions.\n    ///    Scalar (−1): The value is not an array.\n    ///    Any (−2): The value can be a scalar or an array with any number of dimensions.\n    ///    ScalarOrOneDimension (−3): The value can be a scalar or a one dimensional array.\n    ///NOTE: All DataTypes are considered to be scalar, even if they have array-like semantics like ByteString and String.\n    /// </summary>\n    int ValueRank { get; set; }\n\n    /// <summary>\n    /// This Attribute specifies the maximum supported length of each dimension. If the maximum is unknown the value shall be 0.\n    /// The number of elements shall be equal to the number of dimensions of the Value. This Attribute shall be null if the Value is not an array.\n    /// For example, if a Variable is defined by the following C array:\n    ///     Int32 myArray[346];\n    /// then this Variable’s DataType would be set to Int32, and the Variable’s ValueRank has the value 1. The ArrayDimensions is an array with a length of one where the element has the value 346.\n    /// Regardless of the number of dimensions, the maximum number of elements of an array transferred on the wire is 2147483647 (max Int32).\n    /// </summary>\n    string ArrayDimensions { get; set; }\n\n    /// <summary>\n    /// The AccessLevel attribute indicates the accessibility of the Value of a Variable node not taking user access rights into account and\n    /// applies only to a UAVariable element. The AccessLevel attribute is used to indicate how the Value of a Variable node can be accessed (read/write) and\n    /// if it contains current and/or historic data. The AccessLevel does not take any user access rights into account, i.e. although the Variable is writable this\n    /// may be restricted to a certain user / user group.\n    /// </summary>\n    /// <remarks>\n    /// Exposed using the type AccessLevelType. The AccessLevelType is defined in P 3 8.57. as the Standard DataType.\n    /// </remarks>\n    /// <value>The access level.</value>\n    //TODO AccessLevelType must be defined for IUAVariable and IUAVariableType #673\n    uint? AccessLevel\n    {\n      set; get;\n    }\n\n    /// <summary>\n    /// The UserAccessLevel attribute is used to indicate how the Value attribute of a Variable NodeClass can be accessed (read/write)\n    /// and if it contains current or historic data taking user access rights into account. It applies only to a UAVariable element. If the OPC UA Server does not\n    /// have the ability to get any user access rights related information from the underlying system it should use the same bit mask as used in the AccessLevel attribute.\n    /// The UserAccessLevel attribute can restrict the accessibility indicated by the AccessLevel, but not exceed it.\n    /// </summary>\n    /// <remarks>\n    /// Exposed using the type AccessLevelType. The AccessLevelType is defined in P 3 8.57. as the Standard DataType.\n    /// </remarks>\n    /// <value>The user access level.</value>\n    //TODO AccessLevelType must be defined for IUAVariable and IUAVariableType #673\n    byte? UserAccessLevel\n    {\n      set; get;\n    }\n\n    /// <summary>\n    /// Sets the minimum sampling interval. The MinimumSamplingInterval attribute indicates how “current” the Value of the Variable NodeClass will be kept.\n    /// It specifies (in milliseconds) how fast the server can reasonably sample the value for changes. The accuracy of this value (the ability of the server to attain\n    /// “best case” performance) can be greatly affected by the system load and other factors. A MinimumSamplingInterval of 0 indicates that the server is to monitor the\n    /// item continuously. A MinimumSamplingInterval of -1 means indeterminate value.\n    /// </summary>\n    /// <value>The minimum sampling interval.</value>\n    double MinimumSamplingInterval\n    {\n      set; get;\n    }\n\n    /// <summary>\n    /// Sets a value indicating whether this <see cref=\"IUAVariable\"/> is historizing. The Historizing attribute indicates whether the server is actively\n    /// collecting data for the history of the Variable node. This differs from the AccessLevel which identifies if the Variable has any historical data. A value of <c>true</c>\n    /// indicates that the server is actively collecting data. A value of <c>false</c> indicates that  the server is not actively collecting data. Default value is <c>false</c>.\n    /// </summary>\n    /// <value><c>true</c> if historizing; otherwise, <c>false</c>.</value>\n    bool Historizing\n    {\n      set; get;\n    }\n    /// <summary>\n    /// Not Supported Feature\n    /// Not exposed in the AS\n    /// </summary>\n    bool Translation { get; }\n  }\n}"
  },
  {
    "path": "SemanticData/UANodeSetValidation/AddressSpace.Abstractions/IUAVariableType.cs",
    "content": "﻿//__________________________________________________________________________________________________\n//\n//  Copyright (C) 2022, Mariusz Postol LODZ POLAND.\n//\n//  To be in touch join the community at GitHub: https://github.com/mpostol/OPC-UA-OOI/discussions\n//__________________________________________________________________________________________________\n\nusing System.Xml;\nusing UAOOI.SemanticData.InformationModelFactory;\nusing UAOOI.SemanticData.UANodeSetValidation.DataSerialization;\n\nnamespace UAOOI.SemanticData.AddressSpace.Abstractions\n{\n  /// <summary>\n  /// Interface IUAVariableType - In the OPC UA Address Space the Variable NodeClass is used to provide a value, which may be simple or complex.\n  /// </summary>\n  public interface IUAVariableType : IUAType\n  {\n    /// <summary>\n    /// Sets the default value. The value of the Variable node that the server assigns while instantiating the node. Its data type is defined by the <see cref=\"IDataDescriptor.DataType\"/>.\n    /// </summary>\n    /// <value>The default value.</value>\n    XmlElement Value\n    {\n      set; get;\n    }\n\n    /// <summary>\n    /// NodeId of the data type definition for instances of this type.\n    /// </summary>\n    NodeId DataType { get; }\n\n    /// <summary>\n    /// This Attribute indicates whether the Value Attribute of the VariableType is an array and how many dimensions the array has.\n    /// It may have the following values:\n    ///   n > 1: the Value is an array with the specified number of dimensions.\n    ///   OneDimension(1): The value is an array with one dimension.\n    ///   OneOrMoreDimensions(0): The value is an array with one or more dimensions.\n    ///   Scalar(−1): The value is not an array.\n    ///   Any(−2): The value can be a scalar or an array with any number of dimensions.\n    ///   ScalarOrOneDimension(−3): The value can be a scalar or a one dimensional array.\n    /// NOTE All DataTypes are considered to be scalar, even if they have array-like semantics like ByteString and String.\n    /// </summary>\n    int ValueRank { get; set; }\n\n    /// <summary>\n    /// This Attribute specifies the length of each dimension for an array value. The Attribute specifies the maximum supported length of each dimension. If the maximum is unknown the value is 0.\n    /// The number of elements shall be equal to the value of the ValueRank Attribute.This Attribute shall be null if ValueRank ≤ 0.\n    /// For example, if a VariableType is defined by the following C array:\n    ///   Int32 myArray[346];\n    /// then this VariableType’s DataType would point to an Int32, the VariableType’s ValueRank has the value 1 and the ArrayDimensions is an array with one entry having the value 346.\n    /// </summary>\n    string ArrayDimensions { get; set; }\n  }\n}"
  },
  {
    "path": "SemanticData/UANodeSetValidation/AddressSpace.Abstractions/IUAView.cs",
    "content": "﻿//__________________________________________________________________________________________________\n//\n//  Copyright (C) 2022, Mariusz Postol LODZ POLAND.\n//\n//  To be in touch join the community at GitHub: https://github.com/mpostol/OPC-UA-OOI/discussions\n//__________________________________________________________________________________________________\n\nnamespace UAOOI.SemanticData.AddressSpace.Abstractions\n{\n  /// <summary>\n  /// Interface IUAView - encapsulates definition of a View NodeClass\n  /// </summary>\n  public interface IUAView : IUANode\n  {\n    /// <summary>\n    /// If set to “TRUE” this Attribute indicates that by following the References in the context of the View there are no loops, i.e. starting from a Node “A” contained in the View and following the forward References in the context of the View Node “A” will not be reached again. It does not specify that there is only one path starting from the View Node to reach a Node contained in the View.If set to FALSE this Attribute indicates that following References in the context of the View may lead to loops.\n    /// Sets or gets a value indicating whether the part of the Address Space represented by View contains no loops.\n    /// The mandatory ContainsNoLoops attribute is set to false if the server is not able to identify if the view contains loops or not.\n    /// </summary>\n    /// <value><c>true</c> if the part of the Address Space represented by View contains no loops; otherwise, <c>false</c>.</value>\n    bool ContainsNoLoops { get; set; }\n\n    /// <summary>\n    /// Sets a value indicating whether the events are supported.\n    /// </summary>\n    /// <remarks>\n    /// The EventNotifier is used to indicate if the node can be used to subscribe to events or the read/write historic events.\n    /// Must return EventNotifierType defined in the P 3 8.59\n    /// </remarks>\n    //TODO UANodeSetValidation - Define independent Address Space API #672 - replace byte by the EventNotifierType according to the definition in the spec\n    byte EventNotifier { get; set; }\n  }\n}"
  },
  {
    "path": "SemanticData/UANodeSetValidation/AddressSpace.Abstractions/NodeClassEnum.cs",
    "content": "﻿//__________________________________________________________________________________________________\n//\n//  Copyright (C) 2022, Mariusz Postol LODZ POLAND.\n//\n//  To be in touch join the community at GitHub: https://github.com/mpostol/OPC-UA-OOI/discussions\n//__________________________________________________________________________________________________\n\nnamespace UAOOI.SemanticData.AddressSpace.Abstractions\n{\n  /// <summary>\n  /// Enum NodeClassEnum - enumerates all kinds on nodes.\n  /// </summary>\n  public enum NodeClassEnum\n  {\n    UADataType, UAMethod, UAObject, UAObjectType, UAReferenceType, UAVariable, UAVariableType, UAView, Unknown\n  }\n}"
  },
  {
    "path": "SemanticData/UANodeSetValidation/AddressSpaceContext.cs",
    "content": "﻿//__________________________________________________________________________________________________\n//\n//  Copyright (C) 2022, Mariusz Postol LODZ POLAND.\n//\n//  To be in touch join the community at GitHub: https://github.com/mpostol/OPC-UA-OOI/discussions\n//__________________________________________________________________________________________________\n\nusing System;\nusing System.Collections.Generic;\nusing System.Diagnostics;\nusing System.Linq;\nusing System.Xml;\nusing UAOOI.SemanticData.AddressSpace.Abstractions;\nusing UAOOI.SemanticData.BuildingErrorsHandling;\nusing UAOOI.SemanticData.InformationModelFactory;\nusing UAOOI.SemanticData.UANodeSetValidation.DataSerialization;\nusing UAOOI.SemanticData.UANodeSetValidation.Diagnostic;\nusing UAOOI.SemanticData.UANodeSetValidation.InformationModelFactory;\nusing UAOOI.SemanticData.UANodeSetValidation.UAInformationModel;\n\nnamespace UAOOI.SemanticData.UANodeSetValidation\n{\n  /// <summary>\n  /// Class AddressSpaceContext - responsible to manage all nodes in the OPC UA Address Space.\n  /// </summary>\n  // TODO Define independent Address Space API #645\n  internal class AddressSpaceContext : IAddressSpaceContext, IAddressSpaceBuildContext\n  {\n    #region constructor\n\n    /// <summary>\n    /// Initializes a new instance of the <see cref=\"AddressSpaceContext\" /> class.\n    /// </summary>\n    /// <param name=\"traceEvent\">Encapsulates an action to trace the progress and validation issues.</param>\n    /// <exception cref=\"ArgumentNullException\">traceEvent - traceEvent - cannot be null</exception>\n    internal AddressSpaceContext(IBuildErrorsHandling traceEvent)\n    {\n      m_TraceEvent = traceEvent ?? throw new ArgumentNullException(nameof(traceEvent), $\"{nameof(traceEvent)} cannot be null\");\n      m_TraceEvent.WriteTraceMessage(TraceMessage.DiagnosticTraceMessage(\"Address Space - has bee created successfully.\"));\n    }\n\n    #endregion constructor\n\n    #region IAddressSpaceContext\n\n    /// <summary>\n    /// Imports all OPC UA Address Space models contained in the <see cref=\"IUANodeSet\" /> XML document, and populates internal OPC UA Address Space.\n    /// </summary>\n    /// <remarks>\n    /// The input document must be compliant with the `UANodeSet` schema.\n    /// </remarks>\n    /// <param name=\"model\">The model to be imported.</param>\n    /// <returns>Return a default <see cref=\"Uri\" /> for the model defined in <see cref=\"IUANodeSet\" />.</returns>\n    /// <exception cref=\"ArgumentNullException\">model - the model cannot be null</exception>\n    //TODO IAddressSpaceContext.ImportUANodeSet(System.IO.FileInfo) returned result must be tested. #626\n    Uri IAddressSpaceContext.ImportUANodeSet(IUANodeSet model)\n    {\n      m_TraceEvent.WriteTraceMessage(TraceMessage.DiagnosticTraceMessage($\"{359517792}, Entering {nameof(IAddressSpaceContext.ImportUANodeSet)} - importing from object model.\"));\n      if (model == null)\n        throw new ArgumentNullException(\"model\", \"the model cannot be null\");\n      return ImportNodeSet(model);\n    }\n\n    /// <summary>\n    /// Validates and exports the selected model using <see cref=\"IModelFactory\"/>, or alternatively a stub embedded implementation.\n    /// </summary>\n    /// <param name=\"informationModelFactory\">\n    /// Information model factory, which can be used to export a part of the OPC UA Address Space using a selected language.\n    /// </param>\n    /// <param name=\"targetNamespace\">The target namespace of the validated model.</param>\n    void IAddressSpaceContext.ValidateAndExportModel(Uri targetNamespace, IModelFactory informationModelFactory)\n    {\n      m_TraceEvent.WriteTraceMessage(TraceMessage.DiagnosticTraceMessage($\"{856488909}, Entering IAddressSpaceContext.ValidateAndExportModel - starting for the {targetNamespace} namespace.\"));\n      m_InformationModelFactory = informationModelFactory ?? new InformationModelFactoryBase();\n      List<Uri> undefinedUriLists = new List<Uri>();\n      if (!m_NamespaceTable.ValidateNamesapceTable(x => undefinedUriLists.Add(x)))\n        foreach (Uri item in undefinedUriLists)\n          m_TraceEvent.WriteTraceMessage(TraceMessage.BuildErrorTraceMessage(BuildError.LackOfRequiredModel, $\"I cannot find definition of the required model {item}\"));\n      int _nsIndex = m_NamespaceTable.GetURIIndex(targetNamespace);\n      //TODO This example doesn't work #583 - handle this exception\n      if (_nsIndex == -1)\n        throw new ArgumentOutOfRangeException(\"targetNamespace\", $\"Cannot find this {targetNamespace} namespace\");\n      ValidateAndExportModel(_nsIndex);\n    }\n\n    #endregion IAddressSpaceContext\n\n    #region IAddressSpaceBuildContext\n\n    /// <summary>\n    /// Search the address space to find the node <paramref name=\"nodeId\" /> and returns <see cref=\"XmlQualifiedName\" />\n    /// encapsulating the <see cref=\"IUANode.BrowseName\" /> of this node if exist. Returns<c>null</c> otherwise.\n    /// </summary>\n    /// <param name=\"nodeId\">The identifier of the node to find.</param>\n    /// <param name=\"defaultValue\">The default value.</param>\n    /// <returns>An instance of <see cref=\"XmlQualifiedName\" /> representing the <see cref=\"IUANode.BrowseName\" /> of the node indexed by <paramref name=\"nodeId\" /></returns>\n    public XmlQualifiedName ExportBrowseName(NodeId nodeId, NodeId defaultValue)\n    {\n      if (nodeId == defaultValue)\n        return null;\n      IUANodeContext _context = TryGetUANodeContext(nodeId);\n      if (_context == null)\n        return null;\n      return _context.ExportNodeBrowseName();\n    }\n\n    /// <summary>\n    /// Exports the argument for a method.\n    /// </summary>\n    /// <param name=\"argument\">The argument - it defines a Method input or output argument specification. It is for example used in the input and output argument Properties for Methods.</param>\n    /// <param name=\"dataType\">Type of the data.</param>\n    /// <returns>Parameter.</returns>\n    public Parameter ExportArgument(DataSerialization.Argument argument, XmlQualifiedName dataType)\n    {\n      Parameter _ret = new Parameter()\n      {\n        ArrayDimensions = argument.ArrayDimensions.ArrayDimensionsToString(),\n        DataType = dataType,\n        Identifier = new Nullable<int>(),\n        Name = argument.Name,\n        ValueRank = argument.ValueRank.ParseValueRank(m_TraceEvent.WriteTraceMessage)\n      };\n      if (argument.Description != null)\n        _ret.AddDescription(argument.Description.Locale, argument.Description.Text);\n      return _ret;\n    }\n\n    /// <summary>\n    /// Gets the or create node context.\n    /// </summary>\n    /// <param name=\"nodeId\">The node identifier.</param>\n    /// <param name=\"createUAModelContext\">Delegated capturing functionality to create ua model context.</param>\n    /// <returns>Returns an instance of <see cref=\"IUANodeContext\" />.</returns>\n    public IUANodeContext GetOrCreateNodeContext(NodeId nodeId, Func<NodeId, IUANodeContext> createUAModelContext)\n    {\n      string _idKey = nodeId.ToString();\n      if (!m_NodesDictionary.TryGetValue(_idKey, out IUANodeContext _ret))\n      {\n        _ret = createUAModelContext(nodeId);\n        m_NodesDictionary.Add(_idKey, _ret);\n      }\n      return _ret;\n    }\n\n    /// <summary>\n    /// Gets the namespace.\n    /// </summary>\n    /// <param name=\"namespaceIndex\">Index of the namespace.</param>\n    public string GetNamespace(ushort namespaceIndex)\n    {\n      return m_NamespaceTable.GetModelTableEntry(namespaceIndex).ToString();\n    }\n\n    /// <summary>\n    /// Gets my references.\n    /// </summary>\n    /// <param name=\"node\">The source node</param>\n    /// <returns>Returns <see cref=\"IEnumerable{UAReferenceContex}\"/> containing references attached to the <paramref name=\"node\"/>.</returns>\n    IEnumerable<UAReferenceContext> IAddressSpaceBuildContext.GetMyReferences(IUANodeBase node)\n    {\n      return m_References.Values.Where<UAReferenceContext>(x => (Object.ReferenceEquals(x.SourceNode, node)));\n    }\n\n    /// <summary>\n    /// Gets the references2 me.\n    /// </summary>\n    /// <param name=\"node\">The index.</param>\n    /// <returns>IEnumerable&lt;UAReferenceContext&gt;.</returns>\n    IEnumerable<UAReferenceContext> IAddressSpaceBuildContext.GetReferences2Me(IUANodeBase node)\n    {\n      return m_References.Values.Where<UAReferenceContext>(x => Object.ReferenceEquals(x.TargetNode, node) && !Object.ReferenceEquals(x.ParentNode, node));\n    }\n\n    /// <summary>\n    /// Gets the children nodes (<see cref=\"ReferenceKindEnum.HasProperty\" /> or <see cref=\"ReferenceKindEnum.HasComponent\" />) for the <paramref name=\"node\" />.\n    /// </summary>\n    /// <param name=\"node\">The root node of the requested children.</param>\n    /// <returns>Return an instance of <see cref=\"IEnumerable{IUANodeBase}\" /> capturing all children of the selected node.</returns>\n    public IEnumerable<IUANodeBase> GetChildren(IUANodeBase node)\n    {\n      return m_References.Values.Where<UAReferenceContext>(x => Object.ReferenceEquals(x.SourceNode, node)).\n                                                           Where<UAReferenceContext>(x => x.ChildConnector).\n                                                           Select<UAReferenceContext, IUANodeContext>(x => x.TargetNode);\n    }\n\n    public Parameter ExportArgument(DataSerialization.Argument argument)\n    {\n      XmlQualifiedName _dataType = ExportBrowseName(argument.DataType.Identifier.ParseNodeId(m_TraceEvent.WriteTraceMessage), DataTypeIds.BaseDataType);\n      return ExportArgument(argument, _dataType);\n    }\n\n    public void GetBaseTypes(IUANodeContext rootNode, List<IUANodeContext> inheritanceChain)\n    {\n      if (rootNode == null)\n        throw new ArgumentNullException(\"rootNode\");\n      inheritanceChain.Add(rootNode);\n      if (rootNode.InRecursionChain)\n        throw new ArgumentOutOfRangeException(\"Circular reference\");\n      rootNode.InRecursionChain = true;\n      IEnumerable<IUANodeContext> _derived = m_References.Values.Where<UAReferenceContext>(x => (x.TypeNode.NodeIdContext == ReferenceTypeIds.HasSubtype) && (x.TargetNode == rootNode)).\n                                                                 Select<UAReferenceContext, IUANodeContext>(x => x.SourceNode);\n      if (_derived.Count<IUANodeContext>() > 1)\n        throw new ArgumentOutOfRangeException(\"To many subtypes\");\n      else if (_derived.Count<IUANodeContext>() == 1)\n        GetBaseTypes(_derived.First<IUANodeContext>(), inheritanceChain);\n      rootNode.InRecursionChain = false;\n    }\n\n    #endregion IAddressSpaceBuildContext\n\n    #region private\n\n    //vars\n\n    private IModelFactory m_InformationModelFactory = new InformationModelFactoryBase();\n    private Dictionary<string, UAReferenceContext> m_References = new Dictionary<string, UAReferenceContext>();\n    private NamespaceTable m_NamespaceTable = new NamespaceTable();\n    private Dictionary<string, IUANodeContext> m_NodesDictionary = new Dictionary<string, IUANodeContext>();\n    private readonly IBuildErrorsHandling m_TraceEvent = null;\n\n    //methods\n\n    //TODO Define independent Address Space API #645\n    private Uri ImportNodeSet(IUANodeSet model)\n    {\n      Uri defaultModelUri = model.ParseUAModelContext(m_NamespaceTable, m_TraceEvent.WriteTraceMessage);\n      Dictionary<NodeId, IUANode> itemsDictionary = new Dictionary<NodeId, IUANode>();\n      foreach (IUANode node in model.Items)\n      {\n        if (itemsDictionary.ContainsKey(node.NodeId))\n          m_TraceEvent.WriteTraceMessage(TraceMessage.BuildErrorTraceMessage(BuildError.NodeIdDuplicated, $\"The {node.NodeId} is already defined in the imported model and is removed from further processing.\"));\n        else\n          ImportUANode(node);\n      }\n      m_TraceEvent.WriteTraceMessage(TraceMessage.DiagnosticTraceMessage($\"Finished import UANodeSet for {defaultModelUri}; Imported {model.Items.Length} nodes.\"));\n      return defaultModelUri;\n    }\n\n    private void ImportUANode(IUANode node)\n    {\n      try\n      {\n        NodeId _nodeId = node.NodeId;\n        IUANodeContext _newNode = GetOrCreateNodeContext(_nodeId, x => new UANodeContext(_nodeId, this, m_TraceEvent.WriteTraceMessage));\n        _newNode.Update(node, _reference =>\n              {\n                if (!m_References.ContainsKey(_reference.Key))\n                  m_References.Add(_reference.Key, _reference);\n              });\n      }\n      catch (Exception _ex)\n      {\n        string _msg = string.Format(\"ImportUANode {1} is interrupted by exception {0}\", _ex.Message, node.NodeId);\n        m_TraceEvent.TraceData(TraceEventType.Critical, 298461119, _msg);\n      }\n    }\n\n    private IUANodeContext TryGetUANodeContext(NodeId nodeId)\n    {\n      if (!m_NodesDictionary.TryGetValue(nodeId.ToString(), out IUANodeContext _ret))\n      {\n        m_TraceEvent.WriteTraceMessage(TraceMessage.BuildErrorTraceMessage(BuildError.NodeIdNotDefined, string.Format(\"References to node with NodeId: {0} is omitted during the import.\", nodeId)));\n        return null;\n      }\n      if (_ret.UANode == null)\n      {\n        m_TraceEvent.WriteTraceMessage(TraceMessage.BuildErrorTraceMessage(BuildError.NodeIdNotDefined, string.Format(\"NodeId: {0} is omitted during the import.\", nodeId)));\n        return null;\n      }\n      return _ret;\n    }\n\n    private void ValidateAndExportModel(int nameSpaceIndex)\n    {\n      IValidator validator = new Validator(this, m_TraceEvent);\n      IEnumerable<IUANodeBase> stubs = from _key in m_NodesDictionary.Values where _key.NodeIdContext.NamespaceIndex == nameSpaceIndex select _key;\n      IEnumerable<IUANodeBase> undefindNodes = from node in stubs\n                                               where Object.ReferenceEquals(node.UANode, null)\n                                               select node;\n      foreach (IUANodeBase item in undefindNodes)\n        m_TraceEvent.WriteTraceMessage(TraceMessage.BuildErrorTraceMessage(BuildError.NodeCannotBeNull, $\"the node {item.ToString()} is not defined in the UANodeSet model\"));\n      List<IUANodeBase> allNodesInConcern = (from _node in stubs where _node.UANode != null select _node).ToList<IUANodeBase>();\n      List<IUANodeBase> nodes = (from _node in stubs where _node.UANode != null && (_node.UANode is XML.UAType) select _node).ToList<IUANodeBase>();\n      m_TraceEvent.WriteTraceMessage(TraceMessage.DiagnosticTraceMessage($\"938023414, Selected {nodes.Count} types to be validated.\"));\n      IUANodeBase _objects = TryGetUANodeContext(UAInformationModel.ObjectIds.ObjectsFolder);\n      if (_objects is null)\n        throw new ArgumentNullException(\"Cannot find ObjectsFolder in the standard information model\");\n      IEnumerable<IUANodeContext> _allInstances = m_References.Values.Where<UAReferenceContext>(x => (x.SourceNode.NodeIdContext == ObjectIds.ObjectsFolder) &&\n                                                                                                     (x.TypeNode.NodeIdContext == ReferenceTypeIds.Organizes) &&\n                                                                                                     (x.TargetNode.NodeIdContext.NamespaceIndex == nameSpaceIndex))\n                                                                                                     .Select<UAReferenceContext, IUANodeContext>(x => x.TargetNode);\n      m_TraceEvent.WriteTraceMessage(TraceMessage.DiagnosticTraceMessage($\"863907859, Selected {_allInstances.Count<IUANodeContext>()} instances referenced by the ObjectsFolder to be validated.\"));\n      nodes.AddRange(_allInstances);\n      foreach (IModelTableEntry modelTableEntry in m_NamespaceTable.Models)\n      {\n        DateTime _publicationDate = modelTableEntry.PublicationDate.HasValue ? modelTableEntry.PublicationDate.Value : DateTime.UtcNow;\n        Version _version = modelTableEntry.Version;\n        m_InformationModelFactory.CreateNamespace(modelTableEntry.ModelUri, _publicationDate, _version);\n      }\n      int nodesCount = nodes.Count;\n      do\n      {\n        string doMessage = $\"1606585634, Do Validator.ValidateExportModel - now the model contains {nodesCount} nodes\";\n        m_TraceEvent.WriteTraceMessage(TraceMessage.DiagnosticTraceMessage(doMessage));\n        NodesCollection embededNodes = new NodesCollection();\n        foreach (IUANodeBase item in nodes)\n        {\n          try\n          {\n            validator.ValidateExportNode(item, allNodesInConcern, m_InformationModelFactory, y => { if (y.NodeIdContext.NamespaceIndex == nameSpaceIndex) embededNodes.AddOrReplace(y, false); });\n          }\n          catch (Exception ex)\n          {\n            string msg = string.Format(\"Error caught while processing the node {0}. The message: {1} at {2}.\", item.UANode.NodeId, ex.Message, ex.StackTrace);\n            m_TraceEvent.WriteTraceMessage(TraceMessage.BuildErrorTraceMessage(BuildError.NonCategorized, msg));\n          }\n        }\n        List<IUANodeBase> notReferencedNodes = embededNodes.Values.ToList<IUANodeBase>(); //.ToList<IUANodeContext>();\n        //foreach (IUANodeBase node in notReferencedNodes)\n        //{\n        //  string message = $\"{514697109} the {node} is reported as orphan\";\n        //  m_TraceEvent.WriteTraceMessage(TraceMessage.BuildErrorTraceMessage(BuildError.NonCategorized, message));\n        //}\n        nodes.Clear();// = embededNodes.ToList();\n        nodesCount += nodes.Count;\n      } while (nodes.Count > 0);\n      //TODO The exported model doesn't contain all nodes #653 - uncomment and check all UT\n      //foreach (IUANodeBase node in allNodesInConcern)\n      //{\n      //  string message = $\"{1594962400} the {node} is not added to the exported model\";\n      //  m_TraceEvent.WriteTraceMessage(TraceMessage.BuildErrorTraceMessage(BuildError.NonCategorized, message));\n      //}\n      if (m_TraceEvent.Errors == 0)\n      {\n        string message = $\"711552454, Finishing Validator.ValidateExportModel - the model contains {nodesCount} nodes and no errors/warnings reported\";\n        m_TraceEvent.WriteTraceMessage(TraceMessage.DiagnosticTraceMessage(message));\n      }\n      else\n      {\n        string message = $\"226242104, Finishing Validator.ValidateExportModel - the model contains {nodesCount} nodes and {m_TraceEvent.Errors} errors reported.\";\n        m_TraceEvent.WriteTraceMessage(TraceMessage.BuildErrorTraceMessage(BuildError.NonCategorized, message));\n      }\n    }\n\n    #endregion private\n\n    #region Unit Test\n\n    [Conditional(\"DEBUG\")]\n    internal void UTAddressSpaceCheckConsistency(Action<IUANodeContext> returnValue)\n    {\n      foreach (IUANodeContext _node in m_NodesDictionary.Values.Where<IUANodeBase>(x => x.UANode is null))\n        returnValue(_node);\n    }\n\n    [Conditional(\"DEBUG\")]\n    internal void UTReferencesCheckConsistency(Action<IUANodeContext, IUANodeContext, IUANodeContext, IUANodeContext> returnValue)\n    {\n      foreach (UAReferenceContext _node in m_References.Values)\n        if (_node.SourceNode is null || _node.ParentNode is null || _node.TargetNode is null || _node.TypeNode is null)\n          returnValue(_node?.SourceNode, _node?.ParentNode, _node?.TargetNode, _node?.TargetNode);\n    }\n\n    [Conditional(\"DEBUG\")]\n    internal void UTTryGetUANodeContext(NodeId nodeId, Action<IUANodeContext> returnValue)\n    {\n      returnValue(TryGetUANodeContext(nodeId));\n    }\n\n    [Conditional(\"DEBUG\")]\n    internal void UTGetReferences(NodeId source, Action<UAReferenceContext> returnValue)\n    {\n      foreach (UAReferenceContext _ref in m_References.Values.Where<UAReferenceContext>(x => (x.SourceNode.NodeIdContext == source)))\n        returnValue(_ref);\n    }\n\n    [Conditional(\"DEBUG\")]\n    internal void UTValidateAndExportModel(int nameSpaceIndex, Action<IEnumerable<IUANodeContext>> returnValue)\n    {\n      returnValue((from _key in m_NodesDictionary.Values where _key.NodeIdContext.NamespaceIndex == nameSpaceIndex select _key));\n    }\n\n    #endregion Unit Test\n  }\n}"
  },
  {
    "path": "SemanticData/UANodeSetValidation/AddressSpaceFactory.cs",
    "content": "﻿//__________________________________________________________________________________________________\n//\n//  Copyright (C) 2022, Mariusz Postol LODZ POLAND.\n//\n//  To be in touch join the community at GitHub: https://github.com/mpostol/OPC-UA-OOI/discussions\n//__________________________________________________________________________________________________\n\nusing UAOOI.SemanticData.AddressSpace.Abstractions;\nusing UAOOI.SemanticData.UANodeSetValidation.Diagnostic;\n\nnamespace UAOOI.SemanticData.UANodeSetValidation\n{\n  /// <summary>\n  /// Class AddressSpaceFactory - provides entry point for UA Address Space Management\n  /// </summary>\n  public abstract class AddressSpaceFactory\n  {\n    /// <summary>\n    /// Creates Address Space infrastructure exposed to the API clients as the <see cref=\"IAddressSpaceContext\"/> interface using default tracing infrastructure.\n    /// </summary>\n    // TODO Define independent Address Space API #645\n    public static IAddressSpaceContext AddressSpace()\n    {\n      return new AddressSpaceContext(new AssemblyTraceSource());\n    }\n\n    /// <summary>\n    /// Creates Address Space infrastructure exposed to the API clients as the <see cref=\"IAddressSpaceContext\"/> interface using default tracing infrastructure.\n    /// </summary>\n    internal static IAddressSpaceContext AddressSpace(IBuildErrorsHandling traceEvent)\n    {\n      return new AddressSpaceContext(traceEvent);\n    }\n  }\n}"
  },
  {
    "path": "SemanticData/UANodeSetValidation/DataSerialization/AttributeValues.cs",
    "content": "//___________________________________________________________________________________\n//\n//  Copyright (C) 2019, Mariusz Postol LODZ POLAND.\n//\n//  To be in touch join the community at GITTER: https://gitter.im/mpostol/OPC-UA-OOI\n//___________________________________________________________________________________\n\nusing System.Collections.Generic;\n\nnamespace UAOOI.SemanticData.UANodeSetValidation.DataSerialization\n{\n  /// <summary>\n  /// Flags that can be set for the EventNotifier attribute.\n  /// </summary>\n  /// <remarks>\n  /// Flags that can be set for the EventNotifier attribute.\n  /// </remarks>\n  public static class EventNotifiers\n  {\n    /// <summary>\n    /// The Object or View produces no event and has no event history.\n    /// </summary>\n    public const byte None = 0x0;\n\n    /// <summary>\n    /// The Object or View produces event notifications.\n    /// </summary>\n    public const byte SubscribeToEvents = 0x1;\n\n    /// <summary>\n    /// The Object has an event history which may be read.\n    /// </summary>\n    public const byte HistoryRead = 0x4;\n\n    /// <summary>\n    /// The Object has an event history which may be updated.\n    /// </summary>\n    public const byte HistoryWrite = 0x8;\n  }\n\n  /// <summary>\n  /// Constants defined for the ValueRank attribute.\n  /// </summary>\n  /// <remarks>\n  /// Constants defined for the ValueRank attribute.\n  /// </remarks>\n  public static class ValueRanks\n  {\n    /// <summary>\n    /// The variable may be a scalar or a one dimensional array.\n    /// </summary>\n    public const int ScalarOrOneDimension = -3;\n\n    /// <summary>\n    /// The variable may be a scalar or an array of any dimension.\n    /// </summary>\n    public const int Any = -2;\n\n    /// <summary>\n    /// The variable is always a scalar.\n    /// </summary>\n    public const int Scalar = -1;\n\n    /// <summary>\n    /// The variable is always an array with one or more dimensions.\n    /// </summary>\n    public const int OneOrMoreDimensions = 0;\n\n    /// <summary>\n    /// The variable is always one dimensional array.\n    /// </summary>\n    public const int OneDimension = 1;\n\n    /// <summary>\n    /// The variable is always an array with two or more dimensions.\n    /// </summary>\n    public const int TwoDimensions = 2;\n\n    /// <summary>\n    /// Checks if the actual value rank is compatible with the expected value rank.\n    /// </summary>\n    public static bool IsValid(int actualValueRank, int expectedValueRank)\n    {\n      if (actualValueRank == expectedValueRank)\n      {\n        return true;\n      }\n\n      switch (expectedValueRank)\n      {\n        case ValueRanks.Any:\n          {\n            return true;\n          }\n\n        case ValueRanks.OneOrMoreDimensions:\n          {\n            if (actualValueRank < 0)\n            {\n              return false;\n            }\n\n            break;\n          }\n\n        case ValueRanks.ScalarOrOneDimension:\n          {\n            if (actualValueRank != ValueRanks.Scalar && actualValueRank != ValueRanks.OneDimension)\n            {\n              return false;\n            }\n\n            break;\n          }\n\n        default:\n          {\n            return false;\n          }\n      }\n\n      return true;\n    }\n\n    /// <summary>\n    /// Checks if the actual array diminesions is compatible with the expected value rank and array dimensions.\n    /// </summary>\n    public static bool IsValid(IList<uint> actualArrayDimensions, int valueRank, IList<uint> expectedArrayDimensions)\n    {\n      // check if parameter omitted.\n      if (actualArrayDimensions == null || actualArrayDimensions.Count == 0)\n      {\n        return expectedArrayDimensions == null || expectedArrayDimensions.Count == 0;\n      }\n\n      // no array dimensions allowed for scalars.\n      if (valueRank == ValueRanks.Scalar)\n      {\n        return false;\n      }\n\n      // check if one dimension required.\n      if (valueRank == ValueRanks.OneDimension || valueRank == ValueRanks.ScalarOrOneDimension)\n      {\n        if (actualArrayDimensions.Count != 1)\n        {\n          return false;\n        }\n      }\n\n      // check number of dimensions.\n      if (valueRank != ValueRanks.OneOrMoreDimensions)\n      {\n        if (actualArrayDimensions.Count != valueRank)\n        {\n          return false;\n        }\n      }\n\n      // nothing more to do if expected dimensions omitted.\n      if (expectedArrayDimensions == null || expectedArrayDimensions.Count == 0)\n      {\n        return true;\n      }\n\n      // check dimensions.\n      if (expectedArrayDimensions.Count != actualArrayDimensions.Count)\n      {\n        return false;\n      }\n\n      // check length of each dimension.\n      for (int ii = 0; ii < expectedArrayDimensions.Count; ii++)\n      {\n        if (expectedArrayDimensions[ii] != actualArrayDimensions[ii] && expectedArrayDimensions[ii] != 0)\n        {\n          return false;\n        }\n      }\n\n      // everything ok.\n      return true;\n    }\n  }\n\n  /// <summary>\n  /// Constants defined for the MinimumSamplingInterval attribute.\n  /// </summary>\n  /// <remarks>\n  /// Constants defined for the MinimumSamplingInterval attribute.\n  /// </remarks>\n  public static class MinimumSamplingIntervals\n  {\n    /// <summary>\n    /// The server does not know how fast the value can be sampled.\n    /// </summary>\n    public const double Indeterminate = -1;\n\n    /// <summary>\n    /// TThe server can sample the variable continuously.\n    /// </summary>\n    public const double Continuous = 0;\n  }\n\n}//namespace\n"
  },
  {
    "path": "SemanticData/UANodeSetValidation/DataSerialization/ExpandedNodeId.cs",
    "content": "//__________________________________________________________________________________________________\n//\n//  Copyright (C) 2021, Mariusz Postol LODZ POLAND.\n//\n//  To be in touch join the community at GitHub: https://github.com/mpostol/OPC-UA-OOI/discussions\n//__________________________________________________________________________________________________\n\nusing System;\nusing System.Collections.Generic;\nusing System.Globalization;\nusing System.Text;\nusing UAOOI.SemanticData.AddressSpace.Abstractions;\nusing UAOOI.SemanticData.BuildingErrorsHandling;\n\nnamespace UAOOI.SemanticData.UANodeSetValidation.DataSerialization\n{\n  /// <summary>\n  /// Extends a node id by adding a complete namespace URI.\n  /// </summary>\n  /// <remarks>\n  /// Extends a node id by adding a complete namespace URI.\n  /// </remarks>\n  public partial class ExpandedNodeId : IComparable, IFormattable, ICloneable\n  {\n    #region Constructors\n\n    /// <summary>\n    /// Initializes the object with default values.\n    /// </summary>\n    /// <remarks>\n    /// Creates a new instance of the object, accepting the default values.\n    /// </remarks>\n    internal ExpandedNodeId()\n    {\n      Initialize();\n    }\n\n    /// <summary>\n    /// Creates a deep copy of the value.\n    /// </summary>\n    /// <remarks>\n    /// Creates a new instance of the object, while copying the properties of the specified object.\n    /// </remarks>\n    /// <param name=\"value\">The ExpandedNodeId to copy</param>\n    /// <exception cref=\"ArgumentNullException\">Thrown when the parameter is null</exception>\n    public ExpandedNodeId(ExpandedNodeId value)\n    {\n      if (value == null) throw new ArgumentNullException(\"value\");\n      m_namespaceUri = value.m_namespaceUri;\n      if (value.m_nodeId != null)\n        m_nodeId = value.m_nodeId;\n    }\n\n    /// <summary>\n    /// Initializes an expanded node identifier with a node id.\n    /// </summary>\n    /// <remarks>\n    /// Creates a new instance of the object, while wrapping the specified <see cref=\"NodeId\"/>.\n    /// </remarks>\n    /// <param name=\"nodeId\">The <see cref=\"NodeId\"/> to wrap</param>\n    public ExpandedNodeId(NodeId nodeId)\n    {\n      Initialize();\n      if (nodeId != null)\n        m_nodeId = nodeId;\n    }\n\n    /// <summary>\n    /// Initializes a new instance of the <see cref=\"ExpandedNodeId\"/> class.\n    /// </summary>\n    /// <param name=\"identifier\">The identifier.</param>\n    /// <param name=\"namespaceIndex\">The namespace index.</param>\n    /// <param name=\"namespaceUri\">The namespace URI.</param>\n    /// <param name=\"serverIndex\">The server index.</param>\n    public ExpandedNodeId(object identifier, ushort namespaceIndex, string namespaceUri, uint serverIndex)\n    {\n      m_nodeId = new NodeId(identifier, namespaceIndex);\n      m_namespaceUri = namespaceUri;\n      m_serverIndex = serverIndex;\n    }\n\n    /// <summary>\n    /// Initializes an expanded node identifier with a node id and a namespace URI.\n    /// </summary>\n    /// <remarks>\n    /// Creates a new instance of the object while allowing you to specify both the\n    /// <see cref=\"NodeId\"/> and the Namespace URI that applies to the NodeID.\n    /// </remarks>\n    /// <param name=\"namespaceUri\">The namespace that this node belongs to</param>\n    /// <param name=\"nodeId\">The <see cref=\"NodeId\"/> to wrap.</param>\n    public ExpandedNodeId(NodeId nodeId, string namespaceUri)\n    {\n      Initialize();\n      if (nodeId != null)\n        m_nodeId = nodeId;\n      if (!String.IsNullOrEmpty(namespaceUri))\n        SetNamespaceUri(namespaceUri);\n    }\n\n    /// <summary>\n    /// Initializes an expanded node identifier with a node id and a namespace URI.\n    /// </summary>\n    /// <remarks>\n    /// Creates a new instance of the object while allowing you to specify both the\n    /// <see cref=\"NodeId\"/> and the Namespace URI that applies to the NodeID.\n    /// </remarks>\n    /// <param name=\"nodeId\">The <see cref=\"NodeId\"/> to wrap.</param>\n    /// <param name=\"namespaceUri\">The namespace that this node belongs to</param>\n    /// <param name=\"serverIndex\">The server that the node belongs to</param>\n    public ExpandedNodeId(NodeId nodeId, string namespaceUri, uint serverIndex)\n    {\n      Initialize();\n      if (nodeId != null)\n        m_nodeId = nodeId;\n      if (!String.IsNullOrEmpty(namespaceUri))\n        SetNamespaceUri(namespaceUri);\n      m_serverIndex = serverIndex;\n    }\n\n    /// <summary>\n    /// Initializes a numeric node identifier.\n    /// </summary>\n    /// <remarks>\n    /// Creates a new instance of the object while accepting the numeric id/value of\n    /// the NodeID we are wrapping.\n    /// </remarks>\n    /// <param name=\"value\">The numeric id of a node to wrap</param>\n    public ExpandedNodeId(uint value)\n    {\n      Initialize();\n      m_nodeId = new NodeId(value);\n    }\n\n    /// <summary>\n    /// Initializes a guid node identifier with a namespace index.\n    /// </summary>\n    /// <remarks>\n    /// Creates a new instance of the class while accepting both the id and namespace\n    /// of the node we are wrapping.\n    /// </remarks>\n    /// <param name=\"namespaceIndex\">The namspace index that this node belongs to</param>\n    /// <param name=\"value\">The numeric id of the node we are wrapping</param>\n    public ExpandedNodeId(uint value, ushort namespaceIndex)\n    {\n      Initialize();\n      m_nodeId = new NodeId(value, namespaceIndex);\n    }\n\n    /// <summary>\n    /// Initializes a guid node identifier with a namespace URI.\n    /// </summary>\n    /// <remarks>\n    /// Creates a new instance of the class while accepting both the numeric id of the\n    /// node, along with the actual namespace that this node belongs to.\n    /// </remarks>\n    /// <param name=\"namespaceUri\">The namespace that this node belongs to</param>\n    /// <param name=\"value\">The numeric id of the node we are wrapping</param>\n    public ExpandedNodeId(uint value, string namespaceUri)\n    {\n      Initialize();\n      m_nodeId = new NodeId(value);\n      SetNamespaceUri(namespaceUri);\n    }\n\n    /// <summary>\n    /// Initializes a string node identifier with a namespace index.\n    /// </summary>\n    /// <remarks>\n    /// Creates a new instance of the class while allowing you to specify both the\n    /// node and the namespace.\n    /// </remarks>\n    /// <param name=\"namespaceIndex\">The numeric index of the namespace within the table, that this node belongs to</param>\n    /// <param name=\"value\">The string id/value of the node we are wrapping</param>\n    public ExpandedNodeId(string value, ushort namespaceIndex)\n    {\n      Initialize();\n      m_nodeId = new NodeId(value, namespaceIndex);\n    }\n\n    /// <summary>\n    /// Initializes a string node identifier with a namespace URI.\n    /// </summary>\n    /// <remarks>\n    /// Creates a new instance of the class while allowing you to specify both the node and namespace\n    /// </remarks>\n    /// <param name=\"namespaceUri\">The actual namespace URI that this node belongs to</param>\n    /// <param name=\"value\">The string value/id of the node we are wrapping</param>\n    public ExpandedNodeId(string value, string namespaceUri)\n    {\n      Initialize();\n      m_nodeId = new NodeId(value, 0);\n      SetNamespaceUri(namespaceUri);\n    }\n\n    /// <summary>\n    /// Initializes a guid node identifier.\n    /// </summary>\n    /// <remarks>\n    /// Creates a new instance of the class while specifying the <see cref=\"Guid\"/> value\n    /// of the node we are wrapping.\n    /// </remarks>\n    /// <param name=\"value\">The Guid value of the node we are wrapping</param>\n    public ExpandedNodeId(System.Guid value)\n    {\n      Initialize();\n      m_nodeId = new NodeId(value);\n    }\n\n    /// <summary>\n    /// Initializes a guid node identifier.\n    /// </summary>\n    /// <remarks>\n    /// Creates a new instance of the class while allowing you to specify the byte[] id\n    /// of the node.\n    /// </remarks>\n    /// <param name=\"value\">The id of the node we are wrapping</param>\n    public ExpandedNodeId(byte[] value)\n    {\n      Initialize();\n      m_nodeId = new NodeId(value);\n    }\n\n    /// <summary>\n    /// Initializes an opaque node identifier with a namespace index.\n    /// </summary>\n    /// <remarks>\n    /// Creates a new instance of the class while allowing you to specify the node\n    /// and namespace index.\n    /// </remarks>\n    /// <param name=\"namespaceIndex\">The index of the namespace that this node should belong to</param>\n    /// <param name=\"value\">The id of the node we are wrapping</param>\n    public ExpandedNodeId(byte[] value, ushort namespaceIndex)\n    {\n      Initialize();\n      m_nodeId = new NodeId(value, namespaceIndex);\n    }\n\n    /// <summary>\n    /// Initializes an opaque node identifier with a namespace index.\n    /// </summary>\n    /// <remarks>\n    /// Creates a new instance of the class while allowing you to specify the node and namespace.\n    /// </remarks>\n    /// <param name=\"namespaceUri\">The namespace that this node belongs to</param>\n    /// <param name=\"value\">The node we are wrapping</param>\n    public ExpandedNodeId(byte[] value, string namespaceUri)\n    {\n      Initialize();\n      m_nodeId = new NodeId(value);\n      SetNamespaceUri(namespaceUri);\n    }\n\n    /// <summary>\n    /// Initializes a node id by parsing a node id string.\n    /// </summary>\n    /// <remarks>\n    /// Creates a new instance of the class while allowing you to specify the id of the node.\n    /// </remarks>\n    /// <param name=\"text\">The textual id of the node being wrapped</param>\n    public ExpandedNodeId(string text)\n    {\n      Initialize();\n      m_nodeId = new NodeId(text);\n    }\n\n    /// <summary>\n    /// Sets the private members to default values.\n    /// </summary>\n    /// <remarks>\n    /// Sets the private members to default values.\n    /// </remarks>\n    private void Initialize()\n    {\n      m_nodeId = null;\n      m_namespaceUri = null;\n      m_serverIndex = 0;\n    }\n\n    #endregion Constructors\n\n    #region Public Properties\n\n    /// <summary>\n    /// The index of the namespace URI in the server's namespace array.\n    /// </summary>\n    /// <remarks>\n    /// The index of the namespace URI in the server's namespace array.\n    /// </remarks>\n    public virtual ushort NamespaceIndex\n    {\n      get\n      {\n        if (m_nodeId != null)\n          return m_nodeId.NamespaceIndex;\n        return 0;\n      }\n    }\n\n    /// <summary>\n    /// The type of node identifier used.\n    /// </summary>\n    /// <remarks>\n    /// The type of node identifier used.\n    /// </remarks>\n    public IdType IdType\n    {\n      get\n      {\n        if (m_nodeId != null)\n          return m_nodeId.IdType;\n        return IdType.Numeric_0;\n      }\n    }\n\n    /// <summary>\n    /// The node identifier.\n    /// </summary>\n    /// <remarks>\n    /// Returns the node id in whatever form, i.e.\n    /// string, Guid, byte[] or uint.\n    /// </remarks>\n    public object IdentifierPart\n    {\n      get\n      {\n        if (m_nodeId != null)\n          return m_nodeId.IdentifierPart;\n        return null;\n      }\n    }\n\n    /// <summary>\n    /// The namespace that qualifies the node identifier.\n    /// </summary>\n    /// <remarks>\n    /// Returns the namespace that the node belongs to\n    /// </remarks>\n    public string NamespaceUri => m_namespaceUri;\n\n    /// <summary>\n    /// The index of the server where the node exists.\n    /// </summary>\n    /// <remarks>\n    /// Returns the index of the server where the node resides\n    /// </remarks>\n    public uint ServerIndex => m_serverIndex;\n\n    /// <summary>\n    /// Whether the object represents a Null NodeId.\n    /// </summary>\n    /// <remarks>\n    /// Returns whether or not the <see cref=\"NodeId\"/> is null\n    /// </remarks>\n    public bool IsNull\n    {\n      get\n      {\n        if (!String.IsNullOrEmpty(m_namespaceUri))\n          return false;\n        if (m_serverIndex > 0)\n          return false;\n        return NodeId.IsNull(m_nodeId);\n      }\n    }\n\n    /// <summary>\n    /// Returns true if the expanded node id is an absolute identifier that contains a namespace URI instead of a server dependent index.\n    /// </summary>\n    /// <remarks>\n    /// Returns true if the expanded node id is an absolute identifier that contains a namespace URI instead of a server dependent index.\n    /// </remarks>\n    public bool IsAbsolute\n    {\n      get\n      {\n        if (!String.IsNullOrEmpty(m_namespaceUri) || m_serverIndex > 0)\n          return true;\n        return false;\n      }\n    }\n\n    /// <summary>\n    /// Returns the inner node id.\n    /// </summary>\n    /// <remarks>\n    /// Returns the inner node id.\n    /// </remarks>\n    internal NodeId InnerNodeId\n    {\n      get => m_nodeId;\n      set => m_nodeId = value;\n    }\n\n    /// <summary>\n    /// The node identifier formatted as a URI.\n    /// </summary>\n    /// <remarks>\n    /// The node identifier formatted as a URI.\n    /// </remarks>\n    internal string IdentifierText\n    {\n      get => Format();\n      set\n      {\n        ExpandedNodeId nodeId = ExpandedNodeId.Parse(value);\n        m_nodeId = nodeId.m_nodeId;\n        m_namespaceUri = nodeId.m_namespaceUri;\n        m_serverIndex = nodeId.m_serverIndex;\n      }\n    }\n\n    #endregion Public Properties\n\n    #region public string Format()\n\n    /// <summary>\n    /// Formats a expanded node id as a string.\n    /// </summary>\n    /// <remarks>\n    /// <para>\n    /// Formats a ExpandedNodeId as a string.\n    /// <br/></para>\n    /// <para>\n    /// An example of this would be:\n    /// <br/></para>\n    /// <para>\n    /// NodeId = \"hello123\"<br/>\n    /// NamespaceUri = \"http://mycompany/\"<br/>\n    /// <br/> This would translate into: <br/>\n    /// nsu=http://mycompany/;str=hello123 <br/>\n    /// </para>\n    /// </remarks>\n    public string Format()\n    {\n      StringBuilder buffer = new StringBuilder();\n      Format(buffer);\n      return buffer.ToString();\n    }\n\n    /// <summary>\n    /// Formats the node ids as string and adds it to the buffer.\n    /// </summary>\n    public void Format(StringBuilder buffer)\n    {\n      if (m_nodeId != null)\n        Format(buffer, m_nodeId.IdentifierPart, m_nodeId.IdType, m_nodeId.NamespaceIndex, m_namespaceUri, m_serverIndex);\n      else\n        Format(buffer, null, IdType.Numeric_0, 0, m_namespaceUri, m_serverIndex);\n    }\n\n    /// <summary>\n    /// Formats the node ids as string and adds it to the buffer.\n    /// </summary>\n    public static void Format(StringBuilder buffer, object identifier, IdType identifierType, ushort namespaceIndex, string namespaceUri, uint serverIndex)\n    {\n      if (serverIndex != 0)\n        buffer.AppendFormat(CultureInfo.InvariantCulture, \"svr={0};\", serverIndex);\n      if (!String.IsNullOrEmpty(namespaceUri))\n      {\n        buffer.Append(\"nsu=\");\n        for (int ii = 0; ii < namespaceUri.Length; ii++)\n        {\n          char ch = namespaceUri[ii];\n          switch (ch)\n          {\n            case ';':\n            case '%':\n              {\n                buffer.AppendFormat(CultureInfo.InvariantCulture, \"%{0:X2}\", Convert.ToInt16(ch));\n                break;\n              }\n            default:\n              {\n                buffer.Append(ch);\n                break;\n              }\n          }\n        }\n        buffer.Append(\";\");\n      }\n      NodeId.Format(buffer, identifier, identifierType, namespaceIndex);\n    }\n\n    #endregion public string Format()\n\n    #region static Parse\n\n    /// <summary>\n    /// Parses the <paramref name=\"text\" /> to recover an instance of the <see cref=\"ExpandedNodeId\" />.\n    /// </summary>\n    /// <remarks>Namespace is translated to get current index.</remarks>\n    /// <param name=\"text\">The text.</param>\n    /// <param name=\"currentNamespaces\">The current namespaces table.</param>\n    /// <param name=\"targetNamespaces\">The target namespaces table.</param>\n    /// <returns>An instance of the <see cref=\"ExpandedNodeId\"/> recovered from the string representation.</returns>\n    internal static ExpandedNodeId Parse(string text, INamespaceTable currentNamespaces, INamespaceTable targetNamespaces)\n    {\n      // parse the string.\n      ExpandedNodeId nodeId = Parse(text);\n      // lookup the namespace uri.\n      string uri = nodeId.m_namespaceUri;\n      if (nodeId.m_nodeId.NamespaceIndex != 0)\n        uri = currentNamespaces.GetModelTableEntry(nodeId.m_nodeId.NamespaceIndex).ToString();\n      // translate the namespace Uri.\n      ushort namespaceIndex = 0;\n      if (!String.IsNullOrEmpty(uri))\n      {\n        int index = targetNamespaces.GetURIIndex(new Uri(uri));\n        if (index == -1)\n          throw GetResultException(String.Format(\"Cannot map namespace URI onto an index in the target namespace table: {0}\", uri));\n        namespaceIndex = (ushort)index;\n      }\n      // check for absolute node id.\n      if (nodeId.ServerIndex != 0)\n      {\n        nodeId.m_nodeId = new NodeId(nodeId.m_nodeId.IdentifierPart, 0);\n        nodeId.m_namespaceUri = uri;\n        return nodeId;\n      }\n      // local node id.\n      nodeId.m_nodeId = new NodeId(nodeId.m_nodeId.IdentifierPart, namespaceIndex);\n      nodeId.m_namespaceUri = null;\n      return nodeId;\n    }\n\n    /// <summary>\n    /// Parses a expanded node id string and returns a node id object.\n    /// </summary>\n    /// <remarks>\n    /// Parses a ExpandedNodeId String and returns a NodeId object\n    /// </remarks>\n    /// <param name=\"text\">The ExpandedNodeId value as a string.</param>\n    /// <exception cref=\"ServiceResultException\">Thrown under a variety of circumstances, each time with a specific message.</exception>\n    public static ExpandedNodeId Parse(string text)\n    {\n      try\n      {\n        // check for null.\n        if (String.IsNullOrEmpty(text))\n          return ExpandedNodeId.Null;\n        uint serverIndex = 0;\n        // parse the server index if present.\n        if (text.StartsWith(\"svr=\", StringComparison.Ordinal))\n        {\n          int index = text.IndexOf(';');\n          if (index == -1)\n            throw new ServiceResultException(TraceMessage.BuildErrorTraceMessage(BuildError.ExpandedNodeIdInvalidSyntax, \"Invalid server index.\"), \"ExpandedNodeId invalid syntax: invalid server index.\");\n          serverIndex = Convert.ToUInt32(text.Substring(4, index - 4), CultureInfo.InvariantCulture);\n          text = text.Substring(index + 1);\n        }\n        string namespaceUri = null;\n        // parse the namespace uri if present.\n        if (text.StartsWith(\"nsu=\", StringComparison.Ordinal))\n        {\n          int index = text.IndexOf(';');\n          if (index == -1)\n            throw GetResultException(\"Invalid namespace uri.\");\n          StringBuilder buffer = new StringBuilder();\n          UnescapeUri(text, 4, index, buffer);\n          namespaceUri = buffer.ToString();\n          text = text.Substring(index + 1);\n        }\n        // parse the node id.\n        NodeId nodeId = NodeId.Parse(text);\n        // crete the node id.\n        return new ExpandedNodeId(nodeId, namespaceUri, serverIndex);\n      }\n      catch (Exception _ex)\n      {\n        throw GetResultException(String.Format(\"Cannot parse expanded node id text: '{0}' because of error {1}\", text, _ex.Message));\n      }\n    }\n\n    /// <summary>\n    /// Unescapes any reserved characters in the uri.\n    /// </summary>\n    [Obsolete(\"Replace by WebUtility.HtmlDecode\")]\n    internal static void UnescapeUri(string text, int start, int index, StringBuilder buffer)\n    {\n      for (int ii = start; ii < index; ii++)\n      {\n        char ch = text[ii];\n        switch (ch)\n        {\n          case '%':\n            {\n              if (ii + 2 >= index)\n                throw GetResultException(\"Invalid escaped character in namespace uri.\");\n              ushort value = 0;\n              int digit = s_HexDigits.IndexOf(Char.ToUpperInvariant(text[++ii]));\n              if (digit == -1)\n                throw GetResultException(\"Invalid escaped character in namespace uri.\");\n              value += (ushort)digit;\n              value <<= 4;\n              digit = s_HexDigits.IndexOf(Char.ToUpperInvariant(text[++ii]));\n              if (digit == -1)\n                throw GetResultException(\"Invalid escaped character in namespace uri.\");\n              value += (ushort)digit;\n              char unencodedChar = Convert.ToChar(value);\n              buffer.Append(unencodedChar);\n              break;\n            }\n          default:\n            {\n              buffer.Append(ch);\n              break;\n            }\n        }\n      }\n    }\n\n    #endregion static Parse\n\n    #region IComparable Members\n\n    /// <summary>\n    /// Compares the current instance to the object.\n    /// </summary>\n    /// <remarks>\n    /// Compares the current instance to the object.\n    /// </remarks>\n    public int CompareTo(object obj)\n    {\n      // check for null.\n      if (Object.ReferenceEquals(obj, null))\n        return -1;\n      // check for reference comparisons.\n      if (Object.ReferenceEquals(this, obj))\n        return 0;\n      // just compare node ids.\n      if (String.IsNullOrEmpty(m_namespaceUri) && this.m_nodeId != null)\n        return this.m_nodeId.CompareTo(obj);\n      NodeId nodeId = obj as NodeId;\n      // check for expanded node ids.\n      ExpandedNodeId expandedId = obj as ExpandedNodeId;\n      if (expandedId != null)\n      {\n        if (this.ServerIndex != expandedId.ServerIndex)\n          return this.ServerIndex.CompareTo(expandedId.ServerIndex);\n        if (this.NamespaceUri != expandedId.NamespaceUri)\n        {\n          if (this.NamespaceUri != null)\n            return String.CompareOrdinal(NamespaceUri, expandedId.NamespaceUri);\n          return -1;\n        }\n        nodeId = expandedId.m_nodeId;\n      }\n      // check for null.\n      if (this.m_nodeId != null)\n        return this.m_nodeId.CompareTo(nodeId);\n      // compare node ids.\n      return (nodeId == null) ? 0 : -1;\n    }\n\n    /// <summary>\n    /// Returns true if a is greater than b.\n    /// </summary>\n    /// <remarks>\n    /// Returns true if a is greater than b.\n    /// </remarks>\n    public static bool operator >(ExpandedNodeId value1, object value2)\n    {\n      if (!Object.ReferenceEquals(value1, null))\n        return value1.CompareTo(value2) > 0;\n      return false;\n    }\n\n    /// <summary>\n    /// Returns true if a is less than b.\n    /// </summary>\n    /// <remarks>\n    /// Returns true if a is less than b.\n    /// </remarks>\n    public static bool operator <(ExpandedNodeId value1, object value2)\n    {\n      if (!Object.ReferenceEquals(value1, null))\n        return value1.CompareTo(value2) < 0;\n      return true;\n    }\n\n    #endregion IComparable Members\n\n    #region Comparison Functions\n\n    /// <summary>\n    /// Determines if the specified object is equal to the ExpandedNodeId.\n    /// </summary>\n    /// <remarks>\n    /// Determines if the specified object is equal to the ExpandedNodeId.\n    /// </remarks>\n    public override bool Equals(object obj)\n    {\n      return (CompareTo(obj) == 0);\n    }\n\n    /// <summary>\n    /// Returns a unique hashcode for the ExpandedNodeId\n    /// </summary>\n    /// <remarks>\n    /// Returns a unique hashcode for the ExpandedNodeId\n    /// </remarks>\n    public override int GetHashCode()\n    {\n      if (m_nodeId == null)\n        return 0;\n      return m_nodeId.GetHashCode();\n    }\n\n    /// <summary>\n    /// Returns true if the objects are equal.\n    /// </summary>\n    /// <remarks>\n    /// Returns true if the objects are equal.\n    /// </remarks>\n    public static bool operator ==(ExpandedNodeId value1, object value2)\n    {\n      if (Object.ReferenceEquals(value1, null))\n        return Object.ReferenceEquals(value2, null);\n      return (value1.CompareTo(value2) == 0);\n    }\n\n    /// <summary>\n    /// Returns true if the objects are not equal.\n    /// </summary>\n    /// <remarks>\n    /// Returns true if the objects are not equal.\n    /// </remarks>\n    public static bool operator !=(ExpandedNodeId value1, object value2)\n    {\n      if (Object.ReferenceEquals(value1, null))\n        return !Object.ReferenceEquals(value2, null);\n      return (value1.CompareTo(value2) != 0);\n    }\n\n    #endregion Comparison Functions\n\n    #region IFormattable Members\n\n    /// <summary>\n    /// Returns the string representation of an ExpandedNodeId.\n    /// </summary>\n    /// <remarks>\n    /// Returns the string representation of an ExpandedNodeId.\n    /// </remarks>\n    /// <returns>The <see cref=\"ExpandedNodeId\"/> as a formatted string</returns>\n    /// <param name=\"format\">(Unused) The format string.</param>\n    /// <param name=\"formatProvider\">(Unused) The format-provider.</param>\n    /// <exception cref=\"FormatException\">Thrown when the 'format' parameter is NOT null. So leave that parameter null.</exception>\n    public string ToString(string format, IFormatProvider formatProvider)\n    {\n      if (format == null)\n        return Format();\n      throw new FormatException(String.Format(\"Invalid format string: '{0}'.\", format));\n    }\n\n    #endregion IFormattable Members\n\n    #region ICloneable Members\n\n    /// <summary>\n    /// Makes a deep copy of the object.\n    /// </summary>\n    /// <remarks>\n    /// Returns a reference to *this* object. This means that no copy is being made of this object.\n    /// </remarks>\n    public object Clone()\n    {\n      // this object cannot be altered after it is created so no new allocation is necessary.\n      return this;\n    }\n\n    #endregion ICloneable Members\n\n    #region Public Methods\n\n    /// <summary>\n    /// Returns the string representation of am ExpandedNodeId.\n    /// </summary>\n    /// <remarks>\n    /// Returns the string representation of am ExpandedNodeId.\n    /// </remarks>\n    public override string ToString()\n    {\n      return ToString(null, null);\n    }\n\n    /// <summary>\n    /// Converts an expanded node id to a node id using a namespace table.\n    /// </summary>\n    /// <remarks>\n    /// Converts an <see cref=\"ExpandedNodeId\"/> to a <see cref=\"NodeId\"/> using a namespace table.\n    /// </remarks>\n    /// <param name=\"namespaceTable\">The namespace table that contains all the namespaces needed to resolve the namespace index as encoded within this object.</param>\n    /// <param name=\"nodeId\">The ExpandedNodeId to convert to a NodeId</param>\n    internal static NodeId ToNodeId(ExpandedNodeId nodeId, INamespaceTable namespaceTable)\n    {\n      // check for null.\n      if (nodeId == null)\n        return null;\n      // return a reference to the internal node id object.\n      if (String.IsNullOrEmpty(nodeId.m_namespaceUri) && nodeId.m_serverIndex == 0)\n        return nodeId.m_nodeId;\n      // create copy.\n      NodeId localId = new NodeId(nodeId.m_nodeId);\n      int index = -1;\n      if (namespaceTable != null)\n        index = namespaceTable.GetURIIndex(new Uri(nodeId.NamespaceUri));\n      if (index < 0)\n        return null;\n      localId.SetNamespaceIndex((ushort)index);\n      return localId;\n    }\n\n    /// <summary>\n    /// Updates the namespace index.\n    /// </summary>\n    /// <remarks>\n    /// Updates the namespace index.\n    /// </remarks>\n    internal void SetNamespaceIndex(ushort namespaceIndex)\n    {\n      m_nodeId.SetNamespaceIndex(namespaceIndex);\n      m_namespaceUri = null;\n    }\n\n    /// <summary>\n    /// Updates the namespace uri.\n    /// </summary>\n    internal void SetNamespaceUri(string uri)\n    {\n      m_nodeId.SetNamespaceIndex(0);\n      m_namespaceUri = uri;\n    }\n\n    /// <summary>\n    /// Updates the server index.\n    /// </summary>\n    internal void SetServerIndex(uint serverIndex)\n    {\n      m_serverIndex = serverIndex;\n    }\n\n    #endregion Public Methods\n\n    #region Static Members\n\n    /// <summary>\n    /// Parses an absolute NodeId formatted as a string and converts it a local NodeId.\n    /// </summary>\n    /// <param name=\"namespaceUris\">The current namespace table.</param>\n    /// <param name=\"text\">The text to parse.</param>\n    /// <returns>The local identifier.</returns>\n    /// <exception cref=\"ServiceResultException\">Thrown if the namespace URI is not in the namespace table.</exception>\n    internal static NodeId Parse(string text, INamespaceTable namespaceUris)\n    {\n      ExpandedNodeId nodeId = ExpandedNodeId.Parse(text);\n      if (!nodeId.IsAbsolute)\n        return nodeId.InnerNodeId;\n      NodeId localId = ExpandedNodeId.ToNodeId(nodeId, namespaceUris);\n      if (localId == null)\n        throw new ServiceResultException(\n          TraceMessage.BuildErrorTraceMessage(BuildError.ExpandedNodeIdInvalidSyntax, String.Format(\"NamespaceUri ({0}) is not in the namespace table.\", nodeId.NamespaceUri)),\n          \"ExpandedNodeId invalid syntax: namespace URI is not in the namespace table. \");\n      return localId;\n    }\n\n    /// <summary>\n    /// Converts an ExpandedNodeId to a NodeId.\n    /// </summary>\n    /// <remarks>\n    /// Converts an ExpandedNodeId to a NodeId.\n    /// </remarks>\n    /// <exception cref=\"InvalidCastException\">Thrown if the ExpandedNodeId is an absolute node identifier.</exception>\n    public static explicit operator NodeId(ExpandedNodeId value)\n    {\n      if (value == null)\n        return null;\n      if (value.IsAbsolute)\n        throw new InvalidCastException(\"Cannot cast an absolute ExpandedNodeId to a NodeId. Use ExpandedNodeId.ToNodeId instead.\");\n      return value.InnerNodeId;\n    }\n\n    /// <summary>\n    /// Converts an integer to a numeric node identifier.\n    /// </summary>\n    /// <remarks>\n    /// Converts an integer to a numeric node identifier.\n    /// </remarks>\n    public static implicit operator ExpandedNodeId(uint value)\n    {\n      return new ExpandedNodeId(value);\n    }\n\n    /// <summary>\n    /// Converts a guid to a guid node identifier.\n    /// </summary>\n    /// <remarks>\n    /// Converts a guid to a guid node identifier.\n    /// </remarks>\n    public static implicit operator ExpandedNodeId(Guid value)\n    {\n      return new ExpandedNodeId(value);\n    }\n\n    /// <summary>\n    /// Converts a byte array to an opaque node identifier.\n    /// </summary>\n    /// <remarks>\n    /// Converts a byte array to an opaque node identifier.\n    /// </remarks>\n    public static implicit operator ExpandedNodeId(byte[] value)\n    {\n      return new ExpandedNodeId(value);\n    }\n\n    /// <summary>\n    /// Parses a node id string and initializes a node id.\n    /// </summary>\n    /// <remarks>\n    /// Parses a node id string and initializes a node id.\n    /// </remarks>\n    public static implicit operator ExpandedNodeId(string text)\n    {\n      return new ExpandedNodeId(text);\n    }\n\n    /// <summary>\n    /// Converts a NodeId to an ExpandedNodeId\n    /// </summary>\n    /// <remarks>\n    /// Converts a NodeId to an ExpandedNodeId\n    /// </remarks>\n    public static implicit operator ExpandedNodeId(NodeId nodeId)\n    {\n      return new ExpandedNodeId(nodeId);\n    }\n\n    /// <summary>\n    /// Returns an instance of a null ExpandedNodeId.\n    /// </summary>\n    public static ExpandedNodeId Null => s_Null;\n\n    #endregion Static Members\n\n    #region private\n\n    //fields\n    private static readonly ExpandedNodeId s_Null = new ExpandedNodeId();\n\n    private NodeId m_nodeId;\n    private string m_namespaceUri;\n    private uint m_serverIndex;\n\n    /// <summary>\n    /// The set of hexadecimal digits used for decoding escaped URIs.\n    /// </summary>\n    private const string s_HexDigits = \"0123456789ABCDEF\";\n\n    //methods\n    private static Exception GetResultException(string _msg)\n    {\n      BuildError _be = BuildError.ExpandedNodeIdInvalidSyntax;\n      Exception _ex = new ServiceResultException(TraceMessage.BuildErrorTraceMessage(_be, _msg), _be.ToString() + _msg);\n      return _ex;\n    }\n\n    #endregion private\n  }\n\n  /// <summary>\n  /// A collection of ExpandedNodeId objects.\n  /// </summary>\n  public partial class ExpandedNodeIdCollection : List<ExpandedNodeId>, ICloneable\n  {\n    /// <summary>\n    /// Initializes an empty collection.\n    /// </summary>\n    /// <remarks>\n    /// Creates a new [empty] collection.\n    /// </remarks>\n    public ExpandedNodeIdCollection() { }\n\n    /// <summary>\n    /// Initializes the collection from another collection.\n    /// </summary>\n    /// <remarks>\n    /// Initializes the collection from another collection.\n    /// </remarks>\n    public ExpandedNodeIdCollection(IEnumerable<ExpandedNodeId> collection) : base(collection) { }\n\n    /// <summary>\n    /// Initializes the collection with the specified capacity.\n    /// </summary>\n    /// <remarks>\n    /// Initializes the collection with the specified capacity.\n    /// </remarks>\n    public ExpandedNodeIdCollection(int capacity) : base(capacity) { }\n\n    /// <summary>\n    /// Converts an array to a collection.\n    /// </summary>\n    /// <remarks>\n    /// This static method converts an array of <see cref=\"ExpandedNodeId\"/> objects to\n    /// an <see cref=\"ExpandedNodeIdCollection\"/>.\n    /// </remarks>\n    /// <param name=\"values\">An array of <see cref=\"ExpandedNodeId\"/> values to return as a collection</param>\n    public static ExpandedNodeIdCollection ToExpandedNodeIdCollection(ExpandedNodeId[] values)\n    {\n      if (values != null)\n        return new ExpandedNodeIdCollection(values);\n      return new ExpandedNodeIdCollection();\n    }\n\n    /// <summary>\n    /// Converts an array to a collection.\n    /// </summary>\n    /// <remarks>\n    /// Converts an array to a collection.\n    /// </remarks>\n    /// <param name=\"values\">An array of <see cref=\"ExpandedNodeId\"/> values to return as a collection</param>\n    public static implicit operator ExpandedNodeIdCollection(ExpandedNodeId[] values)\n    {\n      return ToExpandedNodeIdCollection(values);\n    }\n\n    /// <summary>\n    /// Creates a deep copy of the collection.\n    /// </summary>\n    /// <remarks>\n    /// Creates a deep copy of the collection.\n    /// </remarks>\n    public object Clone()\n    {\n      ExpandedNodeIdCollection _cloneCollection = new ExpandedNodeIdCollection(this.Count);\n      foreach (ExpandedNodeId element in this)\n        _cloneCollection.Add((ExpandedNodeId)element.Clone());\n      return _cloneCollection;\n    }\n  }//class\n}//namespace"
  },
  {
    "path": "SemanticData/UANodeSetValidation/DataSerialization/Extensions.cs",
    "content": "﻿//__________________________________________________________________________________________________\n//\n//  Copyright (C) 2022, Mariusz Postol LODZ POLAND.\n//\n//  To be in touch join the community at GitHub: https://github.com/mpostol/OPC-UA-OOI/discussions\n//__________________________________________________________________________________________________\n\nusing System;\nusing UAOOI.SemanticData.BuildingErrorsHandling;\n\nnamespace UAOOI.SemanticData.UANodeSetValidation.DataSerialization\n{\n  /// <summary>\n  /// Class Extensions - contains helper functions to parse values of built-in data types.\n  /// </summary>\n  internal static class Extensions\n  {\n    internal static QualifiedName ParseBrowseName(this string qualifiedName, NodeId nodeId, Action<TraceMessage> traceEvent)\n    {\n      if ((nodeId == null) || nodeId == NodeId.Null) throw new ArgumentNullException(nameof(nodeId));\n      QualifiedName qualifiedNameToReturn;\n      if (string.IsNullOrEmpty(qualifiedName))\n      {\n        qualifiedNameToReturn = nodeId.RandomQualifiedName();\n        traceEvent(TraceMessage.BuildErrorTraceMessage(BuildError.EmptyBrowseName, $\"new identifier {qualifiedNameToReturn.ToString()} is generated to proceed.\"));\n      }\n      else\n        try\n        {\n          qualifiedNameToReturn = QualifiedName.Parse(qualifiedName);\n        }\n        catch (Exception ex)\n        {\n          qualifiedNameToReturn = nodeId.RandomQualifiedName();\n          traceEvent(TraceMessage.BuildErrorTraceMessage(BuildError.QualifiedNameInvalidSyntax, $\"Error message: {ex.Message} - new identifier {qualifiedNameToReturn.ToString()} is generated to proceed.\"));\n        }\n      return qualifiedNameToReturn;\n    }\n\n    //Enhance/Improve NodeId parser #541 rewrite and add to UT\n    /// <summary>\n    /// Parses the node identifier with the syntax defined in Part 3-8.2 and Part 6-5.3.1.10\n    /// </summary>\n    /// <param name=\"nodeId\">The node identifier.</param>\n    /// <param name=\"traceEvent\">The trace event.</param>\n    /// <returns>NodeId.</returns>\n    internal static NodeId ParseNodeId(this string nodeId, Action<TraceMessage> traceEvent)\n    {\n      NodeId nodeId2Return = null;\n      try\n      {\n        nodeId2Return = NodeId.Parse(nodeId);\n      }\n      catch (ServiceResultException se)\n      {\n        traceEvent(se.TraceMessage);\n      }\n      if (nodeId2Return == null)\n      {\n        nodeId2Return = new NodeId(System.Guid.NewGuid());\n        traceEvent(TraceMessage.DiagnosticTraceMessage($\"Generated random NodeId = {nodeId2Return.ToString()}\"));\n      }\n      return nodeId2Return;\n    }\n\n    /// <summary>\n    /// Gets the <see cref=\"NodeId.IdentifierPart\" /> as uint number.\n    /// </summary>\n    /// <param name=\"nodeId\">The node identifier.</param>\n    /// <returns>Returns <see cref=\"NodeId.IdentifierPart\" /> as the System.UInt32.</returns>\n    /// <exception cref=\"System.ArgumentNullException\">NodeId must not be null</exception>\n    /// <exception cref=\"System.ApplicationException\">To get the identifier as uint the NodeId must be Numeric</exception>\n    internal static uint? UintIdentifier(this NodeId nodeId)\n    {\n      if (nodeId == null || nodeId.IdType != IdType.Numeric_0)\n        return new Nullable<uint>();\n      return (uint)nodeId.IdentifierPart;\n    }\n\n    /// <summary>\n    /// Gets the supports events.\n    /// </summary>\n    /// <param name=\"eventNotifier\">The event notifier. The EventNotifier represents the mandatory EventNotifier attribute of the Object NodeClass and identifies whether\n    /// the object can be used to subscribe to events or to read and write the history of the events.</param>\n    /// <param name=\"traceEvent\">The trace event.</param>\n    /// <returns><c>true</c> if supports events, <c>false</c> otherwise.</returns>\n    internal static bool? ParseSupportsEvents(this byte eventNotifier, Action<TraceMessage> traceEvent)\n    {\n      if (eventNotifier > EventNotifiers.SubscribeToEvents + EventNotifiers.HistoryRead + EventNotifiers.HistoryWrite)\n        traceEvent(TraceMessage.BuildErrorTraceMessage(BuildError.WrongEventNotifier, String.Format(\"EventNotifier value: {0}\", eventNotifier)));\n      else if (eventNotifier > EventNotifiers.SubscribeToEvents)\n        traceEvent(TraceMessage.BuildErrorTraceMessage(BuildError.EventNotifierValueNotSupported, String.Format(\"EventNotifier value: {0}\", eventNotifier)));\n      return eventNotifier != 0 ? (eventNotifier & EventNotifiers.SubscribeToEvents) != 0 : new Nullable<bool>();\n    }\n\n    internal static uint? ParseAccessLevel(this uint accessLevel, Action<TraceMessage> traceEvent)\n    {\n      uint? _ret = new Nullable<byte>();\n      if (accessLevel <= 0x7F)\n        _ret = accessLevel;\n      else\n        traceEvent(TraceMessage.BuildErrorTraceMessage(BuildError.WrongAccessLevel, String.Format(\"The AccessLevel value {0:X} is not supported\", accessLevel)));\n      return _ret;\n    }\n\n    /// <summary>\n    /// Gets the value rank.\n    /// </summary>\n    /// <param name=\"valueRank\">The value rank.</param>\n    /// <param name=\"traceEvent\">An <see cref=\"Action\" /> delegate is used to trace event as the <see cref=\"TraceMessage\" />.</param>\n    /// <returns>Returns validated value.</returns>\n    internal static int? ParseValueRank(this int valueRank, Action<TraceMessage> traceEvent)\n    {\n      int? _vr = new Nullable<int>();\n      if (valueRank < -2)\n        traceEvent(TraceMessage.BuildErrorTraceMessage(BuildError.WrongValueRank, String.Format(\"The value {0} is not supported\", valueRank)));\n      else if (valueRank == -3)\n        traceEvent(TraceMessage.BuildErrorTraceMessage(BuildError.WrongValueRank, String.Format(\"The value {0} is not supported\", valueRank)));\n      else if (valueRank != -1)\n        _vr = valueRank;\n      return _vr;\n    }\n\n    #region private\n\n    private static QualifiedName RandomQualifiedName(this NodeId nodeId)\n    {\n      return new QualifiedName()\n      {\n        Name = $\"EmptyBrowseName_{nodeId.IdentifierPart.ToString()}_{RandomNumber.Next(-9999, 0)}\",\n        NamespaceIndex = nodeId.NamespaceIndex,\n        NamespaceIndexSpecified = true,\n      };\n    }\n\n    private static Random RandomNumber = new Random();\n\n    #endregion private\n  }\n}"
  },
  {
    "path": "SemanticData/UANodeSetValidation/DataSerialization/NodeId.cs",
    "content": "﻿//__________________________________________________________________________________________________\n//\n//  Copyright (C) 2022, Mariusz Postol LODZ POLAND.\n//\n//  To be in touch join the community at GitHub: https://github.com/mpostol/OPC-UA-OOI/discussions\n//__________________________________________________________________________________________________\n\nusing System;\nusing System.Globalization;\nusing System.Text;\nusing UAOOI.SemanticData.AddressSpace.Abstractions;\nusing UAOOI.SemanticData.BuildingErrorsHandling;\n\nnamespace UAOOI.SemanticData.UANodeSetValidation.DataSerialization\n{\n  /// <summary>\n  /// Stores an identifier for a node in a server's address space.\n  /// </summary>\n  /// <remarks>\n  /// <para>\n  /// <b>Please refer to OPC Specifications</b>:\n  /// <list type=\"bullet\">\n  /// <item><b>Address Space Model</b> section <b>8.2</b></item>\n  /// <item><b>Address Space Model</b> section <b>5.2.2</b></item>\n  /// </list>\n  /// </para>\n  /// <para>\n  /// Stores the id of a Node, which resides within the server's address space.\n  /// <br/></para>\n  /// <para>\n  /// The NodeId can be either:\n  /// <list type=\"bullet\">\n  /// <item><see cref=\"uint\"/></item>\n  /// <item><see cref=\"Guid\"/></item>\n  /// <item><see cref=\"string\"/></item>\n  /// <item><see cref=\"byte\"/>[]</item>\n  /// </list>\n  /// <br/></para>\n  /// <note>\n  /// <b>Important:</b> Keep in mind that the actual ID's of nodes should be unique such that no two\n  /// nodes within an address-space share the same ID's.\n  /// </note>\n  /// <para>\n  /// The NodeId can be assigned to a particular namespace index. This index is merely just a number and does\n  /// not represent some index within a collection that this node has any knowledge of. The assumption is\n  /// that the host of this object will manage that directly.\n  /// <br/></para>\n  /// </remarks>\n  public partial class NodeId : IFormattable, IEquatable<NodeId>, IComparable\n  {\n    #region constructors\n\n    /// <summary>\n    /// Initializes the object with default values.\n    /// </summary>\n    /// <remarks>\n    /// Creates a new instance of the class which will have the default values. The actual\n    /// NodeId will need to be defined as this constructor does not specify the id.\n    /// </remarks>\n    internal NodeId()\n    {\n      m_namespaceIndex = 0;\n      m_identifierType = IdType.Numeric_0;\n      m_identifierPart = null;\n      m_GlobalHashCode++;\n    }\n\n    /// <summary>\n    /// Creates a deep copy of the value.\n    /// </summary>\n    /// <remarks>\n    /// Creates a new NodeId by copying the properties of the node specified in the parameter.\n    /// </remarks>\n    /// <param name=\"value\">The NodeId object whose properties will be copied.</param>\n    /// <exception cref=\"ArgumentNullException\">Thrown when <i>value</i> is null</exception>\n    public NodeId(NodeId value)\n    {\n      if (value == null) throw new ArgumentNullException(\"value\");\n      m_namespaceIndex = value.m_namespaceIndex;\n      m_identifierType = value.m_identifierType;\n      m_identifierPart = value.MemberwiseClone();\n    }\n\n    /// <summary>\n    /// Initializes a numeric node identifier.\n    /// </summary>\n    /// <remarks>\n    /// Creates a new NodeId that will have a numeric (unsigned-int) id\n    /// </remarks>\n    /// <param name=\"value\">The numeric value of the id</param>\n    public NodeId(uint value)\n    {\n      m_namespaceIndex = 0;\n      m_identifierType = IdType.Numeric_0;\n      m_identifierPart = value;\n    }\n\n    /// <summary>\n    /// Initializes a guid node identifier with a namespace index.\n    /// </summary>\n    /// <remarks>\n    /// Creates a new NodeId that will use a numeric (unsigned int) for its Id, but also\n    /// specifies which namespace this node should belong to.\n    /// </remarks>\n    /// <param name=\"value\">The new (numeric) Id for the node being created</param>\n    /// <param name=\"namespaceIndex\">The index of the namespace that this node should belong to</param>\n    /// <seealso cref=\"SetNamespaceIndex\"/>\n    public NodeId(uint value, ushort namespaceIndex)\n    {\n      m_namespaceIndex = namespaceIndex;\n      m_identifierType = IdType.Numeric_0;\n      m_identifierPart = value;\n    }\n\n    /// <summary>\n    /// Initializes a string node identifier with a namespace index.\n    /// </summary>\n    /// <remarks>\n    /// Creates a new NodeId that will use a string for its Id, but also\n    /// specifies if the Id is a URI, and which namespace this node belongs to.\n    /// </remarks>\n    /// <param name=\"value\">The new (string) Id for the node being created</param>\n    /// <param name=\"namespaceIndex\">The index of the namespace that this node belongs to</param>\n    public NodeId(string value, ushort namespaceIndex)\n    {\n      m_namespaceIndex = namespaceIndex;\n      m_identifierType = IdType.String_1;\n      m_identifierPart = value;\n    }\n\n    /// <summary>\n    /// Initializes a guid node identifier.\n    /// </summary>\n    /// <remarks>\n    /// Creates a new node whose Id will be a <see cref=\"Guid\"/>.\n    /// </remarks>\n    /// <param name=\"value\">The new Guid value of this nodes Id.</param>\n    public NodeId(System.Guid value)\n    {\n      m_namespaceIndex = 0;\n      m_identifierType = IdType.Guid_2;\n      m_identifierPart = value;\n    }\n\n    /// <summary>\n    /// Initializes a guid node identifier.\n    /// </summary>\n    /// <remarks>\n    /// Creates a new node whose Id will be a <see cref=\"Guid\"/>.\n    /// </remarks>\n    /// <param name=\"value\">The new Guid value of this nodes Id.</param>\n    /// <param name=\"namespaceIndex\">The index of the namespace that this node belongs to</param>\n    public NodeId(global::System.Guid value, ushort namespaceIndex)\n    {\n      m_namespaceIndex = namespaceIndex;\n      m_identifierType = IdType.Guid_2;\n      m_identifierPart = value;\n    }\n\n    /// <summary>\n    /// Initializes a guid node identifier.\n    /// </summary>\n    /// <remarks>\n    /// Creates a new node whose Id will be a series of <see cref=\"Byte\"/>.\n    /// </remarks>\n    /// <param name=\"value\">An array of <see cref=\"Byte\"/> that will become this Node's ID</param>\n    public NodeId(byte[] value)\n    {\n      m_namespaceIndex = 0;\n      m_identifierType = IdType.Opaque_3;\n      m_identifierPart = null;\n      if (value != null)\n      {\n        byte[] copy = new byte[value.Length];\n        Array.Copy(value, copy, value.Length);\n        m_identifierPart = copy;\n      }\n    }\n\n    /// <summary>\n    /// Initializes an opaque node identifier with a namespace index.\n    /// </summary>\n    /// <remarks>\n    /// Creates a new node whose Id will be a series of <see cref=\"Byte\"/>, while specifying\n    /// the index of the namespace that this node belongs to.\n    /// </remarks>\n    /// <param name=\"value\">An array of <see cref=\"Byte\"/> that will become this Node's ID</param>\n    /// <param name=\"namespaceIndex\">The index of the namespace that this node belongs to</param>\n    public NodeId(byte[] value, ushort namespaceIndex)\n    {\n      m_namespaceIndex = namespaceIndex;\n      m_identifierType = IdType.Opaque_3;\n      m_identifierPart = null;\n      if (value != null)\n      {\n        byte[] copy = new byte[value.Length];\n        Array.Copy(value, copy, value.Length);\n        m_identifierPart = copy;\n      }\n    }\n\n    /// <summary>\n    /// Initializes a node id by parsing a node id string.\n    /// </summary>\n    /// <remarks>\n    /// Creates a new node with a String id.\n    /// </remarks>\n    /// <param name=\"text\">The string id of this new node</param>\n    public NodeId(string text)\n    {\n      NodeId nodeId = NodeId.Parse(text);\n      m_namespaceIndex = nodeId.NamespaceIndex;\n      m_identifierType = nodeId.IdType;\n      m_identifierPart = nodeId.IdentifierPart;\n    }\n\n    /// <summary>\n    /// Initializes a node identifier with a namespace index.\n    /// </summary>\n    /// <remarks>\n    /// Throws an exception if the identifier type is not supported.\n    /// </remarks>\n    /// <param name=\"value\">The identifier</param>\n    /// <param name=\"namespaceIndex\">The index of the namespace that qualifies the node</param>\n    public NodeId(object value, ushort namespaceIndex)\n    {\n      m_namespaceIndex = namespaceIndex;\n      if (value is uint)\n      {\n        SetIdentifier(IdType.Numeric_0, value);\n        return;\n      }\n      if (value == null || value is string)\n      {\n        SetIdentifier(IdType.String_1, value);\n        return;\n      }\n      if (value is System.Guid)\n      {\n        SetIdentifier(IdType.Guid_2, value);\n        return;\n      }\n      if (value is byte[])\n      {\n        SetIdentifier(IdType.Opaque_3, value);\n        return;\n      }\n    }\n\n    #endregion constructors\n\n    #region public\n\n    /// <summary>\n    /// Converts an integer to a numeric node identifier.\n    /// </summary>\n    /// <param name=\"value\">The <see cref=\"uint\" /> to compare this node to.</param>\n    /// <returns>The <see cref=\"NodeId\"/> object as the result of the conversion.</returns>\n    /// <remarks>Converts an integer to a numeric node identifier for comparisons.</remarks>\n    public static implicit operator NodeId(uint value)\n    {\n      return new NodeId(value);\n    }\n\n    /// <summary>\n    /// Returns an instance of a null NodeId.\n    /// </summary>\n    /// <summary>\n    /// Checks if the node id represents a 'Null' node id.\n    /// </summary>\n    /// <remarks>\n    /// Returns a true/false value to indicate if the specified NodeId is null.\n    /// </remarks>\n    /// <param name=\"nodeId\">The NodeId to validate</param>\n    public static bool IsNull(NodeId nodeId)\n    {\n      if (nodeId == null)\n        return true;\n      return nodeId.IsNullNodeId;\n    }\n\n    /// <summary>\n    /// Gets the <see cref=\"NodeId\"/> representing <b>null</b>.\n    /// </summary>\n    /// <value>The null.</value>\n    public static NodeId Null => s_Null;\n\n    /// <summary>\n    /// Parses a node id string and returns a node id object.\n    /// </summary>\n    /// <remarks>\n    /// Parses a NodeId String and returns a NodeId object\n    /// </remarks>\n    /// <param name=\"text\">The NodeId value as a string.</param>\n    /// <exception cref=\"ServiceResultException\">Thrown under a variety of circumstances, each time with a specific message.</exception>\n    public static NodeId Parse(string text)\n    {\n      try\n      {\n        if (String.IsNullOrEmpty(text))\n          return NodeId.Null;\n        ushort namespaceIndex = 0;\n        // parse the namespace index if present.\n        if (text.StartsWith(\"ns=\", StringComparison.Ordinal))\n        {\n          int index = text.IndexOf(';');\n          if (index == -1)\n            throw new ServiceResultException\n              (TraceMessage.BuildErrorTraceMessage(BuildError.NodeIdInvalidSyntax, String.Format(\"Cannot parse node id text: '{0}'\", text)), \"BuildError_BadNodeIdInvalid\");\n          namespaceIndex = Convert.ToUInt16(text.Substring(3, index - 3), CultureInfo.InvariantCulture);\n          text = text.Substring(index + 1);\n        }\n        // parse numeric node identifier.\n        if (text.StartsWith(\"i=\", StringComparison.Ordinal))\n          return new NodeId(Convert.ToUInt32(text.Substring(2), CultureInfo.InvariantCulture), namespaceIndex);\n        // parse string node identifier.\n        if (text.StartsWith(\"s=\", StringComparison.Ordinal))\n          return new NodeId(text.Substring(2), namespaceIndex);\n        // parse GUID node identifier.\n        if (text.StartsWith(\"g=\", StringComparison.Ordinal))\n          return new NodeId(new System.Guid(text.Substring(2)), namespaceIndex);\n        // parse opaque node identifier.\n        if (text.StartsWith(\"b=\", StringComparison.Ordinal))\n          return new NodeId(Convert.FromBase64String(text.Substring(2)), namespaceIndex);\n        // treat as a string identifier if a namespace was specified.\n        if (namespaceIndex != 0)\n          return new NodeId(text, namespaceIndex);\n        // treat as URI identifier.\n        return new NodeId(text, 0);\n      }\n      catch (Exception e)\n      {\n        throw new ServiceResultException\n          (TraceMessage.BuildErrorTraceMessage(BuildError.NodeIdInvalidSyntax, String.Format(\"Cannot parse node id text: '{0}'\", text)), \"BuildError_BadNodeIdInvalid\", e);\n      }\n    }\n\n    /// <summary>\n    /// Updates the namespace index.\n    /// </summary>\n    internal void SetNamespaceIndex(ushort value)\n    {\n      m_namespaceIndex = value;\n    }\n\n    /// <summary>\n    /// Updates the identifier.\n    /// </summary>\n    internal void SetIdentifier(IdType idType, object value)\n    {\n      m_identifierType = idType;\n      switch (idType)\n      {\n        case IdType.Opaque_3:\n          throw new NotImplementedException(\" m_identifier = Utils.Clone(value);\");\n        default:\n          m_identifierPart = value;\n          break;\n      }\n    }\n\n    /// <summary>\n    /// Updates the identifier.\n    /// </summary>\n    internal void SetIdentifier(string value, IdType idType)\n    {\n      m_identifierType = idType;\n      SetIdentifier(IdType.String_1, value);\n    }\n\n    ///<summary>\n    /// The index of the namespace URI in the server's namespace array.\n    /// </summary>\n    /// <remarks>\n    /// The index of the namespace URI in the server's namespace array.\n    /// </remarks>\n    public ushort NamespaceIndex => m_namespaceIndex;\n\n    /// <summary>\n    /// The type of node identifier used.\n    /// </summary>\n    /// <remarks>\n    /// Returns the type of Id, whether it is:\n    /// <list type=\"bullet\">\n    /// <item><see cref=\"uint\"/></item>\n    /// <item><see cref=\"Guid\"/></item>\n    /// <item><see cref=\"string\"/></item>\n    /// <item><see cref=\"byte\"/>[]</item>\n    /// </list>\n    /// </remarks>\n    /// <seealso cref=\"IdType\"/>\n    public IdType IdType => m_identifierType;\n\n    /// <summary>\n    /// The node identifier.\n    /// </summary>\n    /// <remarks>\n    /// Returns the Id in its native format, i.e. UInt, GUID, String etc.\n    /// </remarks>\n    public object IdentifierPart\n    {\n      get\n      {\n        if (m_identifierPart == null)\n        {\n          switch (m_identifierType)\n          {\n            case IdType.Numeric_0: { return (uint)0; }\n            case IdType.Guid_2: { return global::System.Guid.Empty; }\n          }\n        }\n        return m_identifierPart;\n      }\n    }\n\n    /// <summary>\n    /// Whether the object represents a Null NodeId.\n    /// </summary>\n    /// <remarks>\n    /// Whether the NodeId represents a Null NodeId.\n    /// </remarks>\n    public bool IsNullNodeId\n    {\n      get\n      {\n        // non-zero namespace means it can't be null.\n        if (m_namespaceIndex != 0)\n          return false;\n        // the definition of a null identifier depends on the identifier type.\n        if (IdentifierPart == null)\n          return true;\n        bool _ret = true;\n        switch (m_identifierType)\n        {\n          case IdType.Numeric_0:\n            _ret = !!IdentifierPart.Equals((uint)0);\n            break;\n\n          case IdType.String_1:\n            _ret = String.IsNullOrEmpty((string)IdentifierPart);\n            break;\n\n          case IdType.Guid_2:\n            _ret = IdentifierPart.Equals(System.Guid.Empty);\n            break;\n\n          case IdType.Opaque_3:\n            _ret = !(IdentifierPart != null && ((byte[])IdentifierPart).Length > 0);\n            break;\n        }\n        // must be null.\n        return _ret;\n      }\n    }\n\n    /// <summary>\n    /// Returns true if the objects are equal.\n    /// </summary>\n    /// <remarks>\n    /// Returns true if the objects are equal.\n    /// </remarks>\n    public static bool operator ==(NodeId value1, object value2)\n    {\n      if (Object.ReferenceEquals(value1, null))\n        return Object.ReferenceEquals(value2, null);\n      return (value1.CompareTo(value2) == 0);\n    }\n\n    /// <summary>\n    /// Returns true if the objects are not equal.\n    /// </summary>\n    /// <remarks>\n    /// Returns true if the objects are not equal.\n    /// </remarks>\n    public static bool operator !=(NodeId value1, object value2)\n    {\n      if (Object.ReferenceEquals(value1, null))\n        return !Object.ReferenceEquals(value2, null);\n      return (value1.CompareTo(value2) != 0);\n    }\n\n    /// <summary>\n    /// Converts an identifier and a namespaceUri to a local NodeId using the namespaceTable.\n    /// </summary>\n    /// <param name=\"identifier\">The identifier for the node.</param>\n    /// <param name=\"namespaceUri\">The URI to look up.</param>\n    /// <param name=\"namespaceTable\">The table to use for the URI lookup.</param>\n    /// <returns>A local NodeId</returns>\n    /// <exception cref=\"ServiceResultException\">Thrown when the namespace cannot be found</exception>\n    public static NodeId Create(object identifier, string namespaceUri, INamespaceTable namespaceTable)\n    {\n      int index = -1;\n      if (namespaceTable != null)\n        index = namespaceTable.GetURIIndex(new Uri(namespaceUri));\n      if (index < 0)\n        throw new ServiceResultException(TraceMessage.BuildErrorTraceMessage(BuildError.NodeIdNotDefined, $\"NamespaceUri ({namespaceUri}) is not in the namespace table.\"), \"BuildError_BadNodeIdInvalid\");\n      return new NodeId(identifier, (ushort)index);\n    }\n\n    #region Format()\n\n    /// <summary>\n    /// Formats a node id as a string.\n    /// </summary>\n    /// <remarks>\n    /// <para>\n    /// Formats a NodeId as a string.\n    /// <br/></para>\n    /// <para>\n    /// An example of this would be:\n    /// <br/></para>\n    /// <para>\n    /// NodeId = \"hello123\"<br/>\n    /// NamespaceId = 1;<br/>\n    /// <br/> This would translate into:<br/>\n    /// ns=1;s=hello123\n    /// <br/></para>\n    /// </remarks>\n    public string Format()\n    {\n      StringBuilder buffer = new StringBuilder();\n      Format(buffer);\n      return buffer.ToString();\n    }\n\n    /// <summary>\n    /// Formats the NodeId as a string and appends it to the buffer.\n    /// </summary>\n    public void Format(StringBuilder buffer)\n    {\n      Format(buffer, IdentifierPart, m_identifierType, m_namespaceIndex);\n    }\n\n    /// <summary>\n    /// Formats the NodeId as a string and appends it to the buffer.\n    /// </summary>\n    public static void Format(StringBuilder buffer, object identifier, IdType identifierType, ushort namespaceIndex)\n    {\n      if (namespaceIndex != 0)\n        buffer.AppendFormat(CultureInfo.InvariantCulture, \"ns={0};\", namespaceIndex);\n      // add identifier type prefix.\n      switch (identifierType)\n      {\n        case IdType.Numeric_0:\n          buffer.Append(\"i=\");\n          break;\n\n        case IdType.String_1:\n          buffer.Append(\"s=\");\n          break;\n\n        case IdType.Guid_2:\n          buffer.Append(\"g=\");\n          break;\n\n        case IdType.Opaque_3:\n          buffer.Append(\"b=\");\n          break;\n      }\n      // add identifier.\n      FormatIdentifier(buffer, identifier, identifierType);\n    }\n\n    #endregion Format()\n\n    #endregion public\n\n    #region IComparable\n\n    /// <summary>\n    /// Compares the current instance to the object.\n    /// </summary>\n    /// <remarks>\n    /// Enables this object type to be compared to other types of object.\n    /// </remarks>\n    public int CompareTo(object obj)\n    {\n      // check for null.\n      if (Object.ReferenceEquals(obj, null))\n        return -1;\n      // check for reference comparisons.\n      if (Object.ReferenceEquals(this, obj))\n        return 0;\n      ushort namespaceIndex = this.m_namespaceIndex;\n      IdType idType = this.m_identifierType;\n      object id = null;\n      // check for expanded node ids.\n      NodeId nodeId = obj as NodeId;\n      if (nodeId != null)\n      {\n        namespaceIndex = nodeId.NamespaceIndex;\n        idType = nodeId.IdType;\n        id = nodeId.IdentifierPart;\n      }\n      else\n      {\n        UInt32? uid = obj as UInt32?;\n        // check for numeric contains.\n        if (uid != null)\n        {\n          if (namespaceIndex != 0 || idType != IdType.Numeric_0)\n            return -1;\n          uint id1 = (uint)m_identifierPart;\n          uint id2 = uid.Value;\n          if (id1 == id2)\n            return 0;\n          return (id1 < id2) ? -1 : +1;\n        }\n        ExpandedNodeId expandedId = obj as ExpandedNodeId;\n        if (!Object.ReferenceEquals(expandedId, null))\n        {\n          if (expandedId.IsAbsolute)\n            return -1;\n          namespaceIndex = expandedId.NamespaceIndex;\n          idType = expandedId.IdType;\n          id = expandedId.IdentifierPart;\n        }\n      }\n      // check for different namespace.\n      if (namespaceIndex != m_namespaceIndex)\n        return (m_namespaceIndex < namespaceIndex) ? -1 : +1;\n      // check for different id type.\n      if (idType != m_identifierType)\n        return (m_identifierType < idType) ? -1 : +1;\n      // check for two nulls.\n      if (IdentifierPart == null && id == null)\n        return 0;\n      // check for a single null.\n      if (IdentifierPart == null && id != null)\n      {\n        switch (idType)\n        {\n          case IdType.String_1:\n            string stringId = id as string;\n            if (stringId.Length == 0)\n              return 0;\n            break;\n\n          case IdType.Opaque_3:\n            byte[] opaqueId = id as byte[];\n            if (opaqueId.Length == 0)\n              return 0;\n            break;\n\n          case IdType.Numeric_0:\n            uint? numericId = id as uint?;\n            if (numericId.Value == 0)\n              return 0;\n            break;\n        }\n        return -1;\n      }\n      else if (IdentifierPart != null && id == null) // check for a single null.\n      {\n        switch (idType)\n        {\n          case IdType.String_1:\n            string stringId = IdentifierPart as string;\n            if (stringId.Length == 0)\n              return 0;\n            break;\n\n          case IdType.Opaque_3:\n            byte[] opaqueId = IdentifierPart as byte[];\n            if (opaqueId.Length == 0)\n              return 0;\n            break;\n\n          case IdType.Numeric_0:\n            uint? numericId = IdentifierPart as uint?;\n            if (numericId.Value == 0)\n              return 0;\n            break;\n        }\n        return +1;\n      }\n      // compare ids.\n      switch (idType)\n      {\n        case IdType.Numeric_0:\n          {\n            uint id1 = (uint)IdentifierPart;\n            uint id2 = (uint)id;\n            if (id1 == id2)\n              return 0;\n            return (id1 < id2) ? -1 : +1;\n          }\n        case IdType.String_1:\n          {\n            string id1 = (string)IdentifierPart;\n            string id2 = (string)id;\n            return String.CompareOrdinal(id1, id2);\n          }\n        case IdType.Guid_2:\n          {\n            System.Guid id1 = (System.Guid)IdentifierPart;\n            return id1.CompareTo(id);\n          }\n        case IdType.Opaque_3:\n          {\n            byte[] id1 = (byte[])IdentifierPart;\n            byte[] id2 = (byte[])id;\n            if (id1.Length == id2.Length)\n            {\n              for (int ii = 0; ii < id1.Length; ii++)\n                if (id1[ii] != id2[ii])\n                  return (id1[ii] < id2[ii]) ? -1 : +1;\n              return 0;\n            }\n            return (id1.Length < id2.Length) ? -1 : +1;\n          }\n      }\n      // invalid id type - should never get here.\n      return +1;\n    }\n\n    #endregion IComparable\n\n    #region IFormattable\n\n    /// <summary>\n    /// Returns the string representation of a NodeId.\n    /// </summary>\n    /// <remarks>\n    /// Returns the string representation of a NodeId. This is the same as calling\n    /// <see cref=\"Format()\"/>.\n    /// </remarks>\n    /// <exception cref=\"FormatException\">Thrown when the format is not null</exception>\n    public string ToString(string format, IFormatProvider formatProvider)\n    {\n      if (format == null)\n        return String.Format(formatProvider, \"{0}\", Format());\n      throw new FormatException(String.Format(\"Invalid format string: '{0}'.\", format));\n    }\n\n    #endregion IFormattable\n\n    #region object\n\n    /// <summary>\n    /// Returns a hash code for this instance.\n    /// </summary>\n    /// <returns>A hash code for this instance, suitable for use in hashing algorithms and data structures like a hash table.</returns>\n    public override int GetHashCode()\n    {\n      return m_HashCode;\n    }\n\n    /// <summary>\n    /// Returns a <see cref=\"System.String\" /> that represents this instance.\n    /// </summary>\n    /// <returns>A <see cref=\"System.String\" /> that represents this instance.</returns>\n    public override string ToString()\n    {\n      return Format();\n    }\n\n    #endregion object\n\n    #region private\n\n    /// <summary>\n    /// Formats a node id as a string.\n    /// </summary>\n    private static void FormatIdentifier(StringBuilder buffer, object identifier, IdType identifierType)\n    {\n      switch (identifierType)\n      {\n        case IdType.Numeric_0:\n          if (identifier == null)\n          {\n            buffer.Append('0');\n            break;\n          }\n          buffer.AppendFormat(CultureInfo.InvariantCulture, \"{0}\", identifier);\n          break;\n\n        case IdType.String_1:\n          buffer.AppendFormat(CultureInfo.InvariantCulture, \"{0}\", identifier);\n          break;\n\n        case IdType.Guid_2:\n          if (identifier == null)\n          {\n            buffer.Append(System.Guid.Empty);\n            break;\n          }\n          buffer.AppendFormat(CultureInfo.InvariantCulture, \"{0}\", identifier);\n          break;\n\n        case IdType.Opaque_3:\n          if (identifier != null)\n            buffer.AppendFormat(CultureInfo.InvariantCulture, \"{0}\", Convert.ToBase64String((byte[])identifier));\n          break;\n      }\n    }\n\n    private ushort m_namespaceIndex;\n    private IdType m_identifierType;\n    private object m_identifierPart;\n    private static NodeId s_Null = new NodeId();\n    private static int m_GlobalHashCode = 0;\n    private int m_HashCode = m_GlobalHashCode;\n\n    #endregion private\n\n    #region IEquatable<NodeId>\n\n    /// <summary>\n    /// Indicates whether the current object is equal to another object of the same type.\n    /// </summary>\n    /// <param name=\"other\">An object to compare with this object.</param>\n    /// <returns>true if the current object is equal to the <paramref name=\"other\" /> parameter; otherwise, false.</returns>\n    public bool Equals(NodeId other)\n    {\n      return this.CompareTo(other) == 0;\n    }\n\n    #endregion IEquatable<NodeId>\n  }\n}"
  },
  {
    "path": "SemanticData/UANodeSetValidation/DataSerialization/Opc.Ua.Types.xsd",
    "content": "<xs:schema \n  xmlns:xs=\"http://www.w3.org/2001/XMLSchema\"\n  xmlns:ua=\"http://opcfoundation.org/UA/2008/02/Types.xsd\" \n  xmlns:tns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\" \n  targetNamespace=\"http://opcfoundation.org/UA/2008/02/Types.xsd\" \n  elementFormDefault=\"qualified\"\n>\n    <xs:element name=\"Boolean\" nillable=\"true\" type=\"xs:boolean\" />\n\n    <xs:complexType name=\"ListOfBoolean\">\n      <xs:sequence>\n        <xs:element name=\"Boolean\" type=\"xs:boolean\" minOccurs=\"0\" maxOccurs=\"unbounded\" />\n      </xs:sequence>\n    </xs:complexType>\n    <xs:element name=\"ListOfBoolean\" type=\"tns:ListOfBoolean\" nillable=\"true\"></xs:element>\n\n    <xs:element name=\"SByte\" nillable=\"true\" type=\"xs:byte\" />\n\n    <xs:complexType name=\"ListOfSByte\">\n      <xs:sequence>\n        <xs:element name=\"SByte\" type=\"xs:byte\" minOccurs=\"0\" maxOccurs=\"unbounded\" />\n      </xs:sequence>\n    </xs:complexType>\n    <xs:element name=\"ListOfSByte\" type=\"tns:ListOfSByte\" nillable=\"true\"></xs:element>\n\n    <xs:element name=\"Byte\" nillable=\"true\" type=\"xs:unsignedByte\" />\n\n    <xs:complexType name=\"ListOfByte\">\n      <xs:sequence>\n        <xs:element name=\"Byte\" type=\"xs:unsignedByte\" minOccurs=\"0\" maxOccurs=\"unbounded\" />\n      </xs:sequence>\n    </xs:complexType>\n    <xs:element name=\"ListOfByte\" type=\"tns:ListOfByte\" nillable=\"true\"></xs:element>\n\n    <xs:element name=\"Int16\" nillable=\"true\" type=\"xs:short\" />\n\n    <xs:complexType name=\"ListOfInt16\">\n      <xs:sequence>\n        <xs:element name=\"Int16\" type=\"xs:short\" minOccurs=\"0\" maxOccurs=\"unbounded\" />\n      </xs:sequence>\n    </xs:complexType>\n    <xs:element name=\"ListOfInt16\" type=\"tns:ListOfInt16\" nillable=\"true\"></xs:element>\n\n    <xs:element name=\"UInt16\" nillable=\"true\" type=\"xs:unsignedShort\" />\n\n    <xs:complexType name=\"ListOfUInt16\">\n      <xs:sequence>\n        <xs:element name=\"UInt16\" type=\"xs:unsignedShort\" minOccurs=\"0\" maxOccurs=\"unbounded\" />\n      </xs:sequence>\n    </xs:complexType>\n    <xs:element name=\"ListOfUInt16\" type=\"tns:ListOfUInt16\" nillable=\"true\"></xs:element>\n\n    <xs:element name=\"Int32\" nillable=\"true\" type=\"xs:int\" />\n\n    <xs:complexType name=\"ListOfInt32\">\n      <xs:sequence>\n        <xs:element name=\"Int32\" type=\"xs:int\" minOccurs=\"0\" maxOccurs=\"unbounded\" />\n      </xs:sequence>\n    </xs:complexType>\n    <xs:element name=\"ListOfInt32\" type=\"tns:ListOfInt32\" nillable=\"true\"></xs:element>\n\n    <xs:element name=\"UInt32\" nillable=\"true\" type=\"xs:unsignedInt\" />\n\n    <xs:complexType name=\"ListOfUInt32\">\n      <xs:sequence>\n        <xs:element name=\"UInt32\" type=\"xs:unsignedInt\" minOccurs=\"0\" maxOccurs=\"unbounded\" />\n      </xs:sequence>\n    </xs:complexType>\n    <xs:element name=\"ListOfUInt32\" type=\"tns:ListOfUInt32\" nillable=\"true\"></xs:element>\n\n    <xs:element name=\"Int64\" nillable=\"true\" type=\"xs:long\" />\n\n    <xs:complexType name=\"ListOfInt64\">\n      <xs:sequence>\n        <xs:element name=\"Int64\" type=\"xs:long\" minOccurs=\"0\" maxOccurs=\"unbounded\" />\n      </xs:sequence>\n    </xs:complexType>\n    <xs:element name=\"ListOfInt64\" type=\"tns:ListOfInt64\" nillable=\"true\"></xs:element>\n\n    <xs:element name=\"UInt64\" nillable=\"true\" type=\"xs:unsignedLong\" />\n\n    <xs:complexType name=\"ListOfUInt64\">\n      <xs:sequence>\n        <xs:element name=\"UInt64\" type=\"xs:unsignedLong\" minOccurs=\"0\" maxOccurs=\"unbounded\" />\n      </xs:sequence>\n    </xs:complexType>\n    <xs:element name=\"ListOfUInt64\" type=\"tns:ListOfUInt64\" nillable=\"true\"></xs:element>\n\n    <xs:element name=\"Float\" nillable=\"true\" type=\"xs:float\" />\n\n    <xs:complexType name=\"ListOfFloat\">\n      <xs:sequence>\n        <xs:element name=\"Float\" type=\"xs:float\" minOccurs=\"0\" maxOccurs=\"unbounded\" />\n      </xs:sequence>\n    </xs:complexType>\n    <xs:element name=\"ListOfFloat\" type=\"tns:ListOfFloat\" nillable=\"true\"></xs:element>\n\n    <xs:element name=\"Double\" nillable=\"true\" type=\"xs:double\" />\n\n    <xs:complexType name=\"ListOfDouble\">\n      <xs:sequence>\n        <xs:element name=\"Double\" type=\"xs:double\" minOccurs=\"0\" maxOccurs=\"unbounded\" />\n      </xs:sequence>\n    </xs:complexType>\n    <xs:element name=\"ListOfDouble\" type=\"tns:ListOfDouble\" nillable=\"true\"></xs:element>\n\n    <xs:element name=\"String\" nillable=\"true\" type=\"xs:string\" />\n\n    <xs:complexType name=\"ListOfString\">\n      <xs:sequence>\n        <xs:element name=\"String\" type=\"xs:string\" minOccurs=\"0\" maxOccurs=\"unbounded\" />\n      </xs:sequence>\n    </xs:complexType>\n    <xs:element name=\"ListOfString\" type=\"tns:ListOfString\" nillable=\"true\"></xs:element>\n\n    <xs:element name=\"DateTime\" nillable=\"true\" type=\"xs:dateTime\" />\n\n    <xs:complexType name=\"ListOfDateTime\">\n      <xs:sequence>\n        <xs:element name=\"DateTime\" type=\"xs:dateTime\" minOccurs=\"0\" maxOccurs=\"unbounded\" />\n      </xs:sequence>\n    </xs:complexType>\n    <xs:element name=\"ListOfDateTime\" type=\"tns:ListOfDateTime\" nillable=\"true\"></xs:element>\n\n    <xs:complexType name=\"Guid\">\n      <xs:sequence>\n        <xs:element name=\"String\" type=\"xs:string\" minOccurs=\"0\" maxOccurs=\"1\" nillable=\"true\" />\n      </xs:sequence>\n    </xs:complexType>\n    <xs:element name=\"Guid\" type=\"tns:Guid\" nillable=\"true\"></xs:element>\n\n    <xs:complexType name=\"ListOfGuid\">\n      <xs:sequence>\n        <xs:element name=\"Guid\" type=\"tns:Guid\" minOccurs=\"0\" maxOccurs=\"unbounded\" />\n      </xs:sequence>\n    </xs:complexType>\n    <xs:element name=\"ListOfGuid\" type=\"tns:ListOfGuid\" nillable=\"true\"></xs:element>\n\n    <xs:element name=\"ByteString\" nillable=\"true\" type=\"xs:base64Binary\" />\n\n    <xs:complexType name=\"ListOfByteString\">\n      <xs:sequence>\n        <xs:element name=\"ByteString\" type=\"xs:base64Binary\" minOccurs=\"0\" maxOccurs=\"unbounded\" nillable=\"true\" />\n      </xs:sequence>\n    </xs:complexType>\n    <xs:element name=\"ListOfByteString\" type=\"tns:ListOfByteString\" nillable=\"true\"></xs:element>\n\n    <xs:complexType name=\"ListOfXmlElement\">\n      <xs:sequence>\n        <xs:element name=\"XmlElement\" minOccurs=\"0\" maxOccurs=\"unbounded\" nillable=\"true\">\n          <xs:complexType>\n            <xs:sequence>\n              <xs:any minOccurs=\"0\" processContents=\"lax\"/>\n            </xs:sequence>\n          </xs:complexType>\n        </xs:element>\n      </xs:sequence>\n    </xs:complexType>\n    <xs:element name=\"ListOfXmlElement\" type=\"tns:ListOfXmlElement\" nillable=\"true\"></xs:element>\n\n    <xs:complexType name=\"NodeId\">\n      <xs:sequence>\n        <xs:element name=\"Identifier\" type=\"xs:string\" minOccurs=\"0\" maxOccurs=\"1\" nillable=\"true\" />\n      </xs:sequence>\n    </xs:complexType>\n    <xs:element name=\"NodeId\" type=\"tns:NodeId\" nillable=\"true\"></xs:element>\n\n    <xs:complexType name=\"ListOfNodeId\">\n      <xs:sequence>\n        <xs:element name=\"NodeId\" type=\"tns:NodeId\" minOccurs=\"0\" maxOccurs=\"unbounded\" nillable=\"true\" />\n      </xs:sequence>\n    </xs:complexType>\n    <xs:element name=\"ListOfNodeId\" type=\"tns:ListOfNodeId\" nillable=\"true\"></xs:element>\n\n    <xs:complexType name=\"ExpandedNodeId\">\n      <xs:sequence>\n        <xs:element name=\"Identifier\" type=\"xs:string\" minOccurs=\"0\" maxOccurs=\"1\" nillable=\"true\" />\n      </xs:sequence>\n    </xs:complexType>\n    <xs:element name=\"ExpandedNodeId\" type=\"tns:ExpandedNodeId\" nillable=\"true\"></xs:element>\n\n    <xs:complexType name=\"ListOfExpandedNodeId\">\n      <xs:sequence>\n        <xs:element name=\"ExpandedNodeId\" type=\"tns:ExpandedNodeId\" minOccurs=\"0\" maxOccurs=\"unbounded\" nillable=\"true\" />\n      </xs:sequence>\n    </xs:complexType>\n    <xs:element name=\"ListOfExpandedNodeId\" type=\"tns:ListOfExpandedNodeId\" nillable=\"true\"></xs:element>\n\n    <xs:complexType name=\"StatusCode\">\n      <xs:sequence>\n        <xs:element name=\"Code\" type=\"xs:unsignedInt\" minOccurs=\"0\" maxOccurs=\"1\" />\n      </xs:sequence>\n    </xs:complexType>\n    <xs:element name=\"StatusCode\" type=\"tns:StatusCode\" nillable=\"true\"></xs:element>\n\n    <xs:complexType name=\"ListOfStatusCode\">\n      <xs:sequence>\n        <xs:element name=\"StatusCode\" type=\"tns:StatusCode\" minOccurs=\"0\" maxOccurs=\"unbounded\" nillable=\"true\" />\n      </xs:sequence>\n    </xs:complexType>\n    <xs:element name=\"ListOfStatusCode\" type=\"tns:ListOfStatusCode\" nillable=\"true\"></xs:element>\n\n    <xs:complexType name=\"DiagnosticInfo\">\n      <xs:sequence>\n        <xs:element name=\"SymbolicId\" type=\"xs:int\" minOccurs=\"0\" maxOccurs=\"1\" />\n        <xs:element name=\"NamespaceUri\" type=\"xs:int\" minOccurs=\"0\" maxOccurs=\"1\" />\n        <xs:element name=\"Locale\" type=\"xs:int\" minOccurs=\"0\" maxOccurs=\"1\" />\n        <xs:element name=\"LocalizedText\" type=\"xs:int\" minOccurs=\"0\" maxOccurs=\"1\" />\n        <xs:element name=\"AdditionalInfo\" type=\"xs:string\" minOccurs=\"0\" maxOccurs=\"1\" />\n        <xs:element name=\"InnerStatusCode\" type=\"tns:StatusCode\" minOccurs=\"0\" maxOccurs=\"1\" />\n        <xs:element name=\"InnerDiagnosticInfo\" type=\"tns:DiagnosticInfo\" minOccurs=\"0\" maxOccurs=\"1\" nillable=\"true\" />\n      </xs:sequence>\n    </xs:complexType>\n    <xs:element name=\"DiagnosticInfo\" type=\"tns:DiagnosticInfo\" nillable=\"true\"></xs:element>\n\n    <xs:complexType name=\"ListOfDiagnosticInfo\">\n      <xs:sequence>\n        <xs:element name=\"DiagnosticInfo\" type=\"tns:DiagnosticInfo\" minOccurs=\"0\" maxOccurs=\"unbounded\" nillable=\"true\" />\n      </xs:sequence>\n    </xs:complexType>\n    <xs:element name=\"ListOfDiagnosticInfo\" type=\"tns:ListOfDiagnosticInfo\" nillable=\"true\"></xs:element>\n\n    <xs:complexType name=\"LocalizedText\">\n      <xs:sequence>\n        <xs:element name=\"Locale\" type=\"xs:string\" minOccurs=\"0\" nillable=\"true\" />\n        <xs:element name=\"Text\" type=\"xs:string\" minOccurs=\"0\"  nillable=\"true\" />\n      </xs:sequence>\n    </xs:complexType>\n    <xs:element name=\"LocalizedText\" type=\"tns:LocalizedText\" nillable=\"true\" />\n\n    <xs:complexType name=\"ListOfLocalizedText\">\n      <xs:sequence>\n        <xs:element name=\"LocalizedText\" type=\"tns:LocalizedText\" minOccurs=\"0\" maxOccurs=\"unbounded\" nillable=\"true\" />\n      </xs:sequence>\n    </xs:complexType>\n    <xs:element name=\"ListOfLocalizedText\" type=\"tns:ListOfLocalizedText\" nillable=\"true\"></xs:element>\n\n    <xs:complexType name=\"QualifiedName\">\n      <xs:sequence>\n        <xs:element name=\"NamespaceIndex\" type=\"xs:unsignedShort\" minOccurs=\"0\" />\n        <xs:element name=\"Name\" type=\"xs:string\" minOccurs=\"0\" nillable=\"true\" />\n      </xs:sequence>\n    </xs:complexType>\n    <xs:element name=\"QualifiedName\" type=\"tns:QualifiedName\" nillable=\"true\" />\n\n    <xs:complexType name=\"ListOfQualifiedName\">\n      <xs:sequence>\n        <xs:element name=\"QualifiedName\" type=\"tns:QualifiedName\" minOccurs=\"0\" maxOccurs=\"unbounded\" nillable=\"true\" />\n      </xs:sequence>\n    </xs:complexType>\n    <xs:element name=\"ListOfQualifiedName\" type=\"tns:ListOfQualifiedName\" nillable=\"true\"></xs:element>\n\n    <!-- \n    Some environments require a WSDL/XSD which explicitly defines all possible types. \n    The UA WSDL/XSD can be modified to support these environments by replacing the \n    definitions of the ExtensionObjectBody and VariantValue complex types with the \n    definitions in the comments shown here. Developers would then define subtypes\n    of the ExtensionObjectBody type which explicitly declare a choice between all of the\n    complex types used by the system. The ExampleExtensionObjectBody subtype is provides\n    a template based on a few common UA-defined complex types.\n    -->\n    \n    <!--\n    <xs:complexType name=\"ExtensionObjectBody\" />\n\n    <xs:complexType name=\"ExampleExtensionObjectBody\">\n      <xs:complexContent>\n        <xs:extension base=\"tns:ExtensionObjectBody\">\n          <xs:choice>\n            <xs:element name=\"Argument\" type=\"tns:Argument\" minOccurs=\"0\" nillable=\"true\" />\n            <xs:element name=\"UserIdentityToken\" type=\"tns:UserIdentityToken\" minOccurs=\"0\" nillable=\"true\" />\n            <xs:element name=\"UserNameIdentityToken\" type=\"tns:UserNameIdentityToken\" minOccurs=\"0\" nillable=\"true\" />\n          </xs:choice>        \n        </xs:extension>\n      </xs:complexContent>\n    </xs:complexType>\n    \n    <xs:complexType name=\"ExtensionObject\">\n      <xs:sequence>\n        <xs:element name=\"TypeId\" type=\"tns:ExpandedNodeId\" minOccurs=\"0\" nillable=\"true\" />\n        <xs:element name=\"Body\" minOccurs=\"0\" type=\"tns:ExtensionObjectBody\" nillable=\"true\" />\n      </xs:sequence>\n    </xs:complexType>\n    <xs:element name=\"ExtensionObject\" type=\"tns:ExtensionObject\" nillable=\"true\" />\n    -->\n\n    <xs:complexType name=\"ExtensionObject\">\n      <xs:sequence>\n        <xs:element name=\"TypeId\" type=\"tns:ExpandedNodeId\" minOccurs=\"0\" nillable=\"true\" />\n        <xs:element name=\"Body\" minOccurs=\"0\" nillable=\"true\">\n          <xs:complexType>\n            <xs:sequence>\n              <xs:any minOccurs=\"0\" processContents=\"lax\"/>\n            </xs:sequence>\n          </xs:complexType>\n        </xs:element>\n      </xs:sequence>\n    </xs:complexType>\n    <xs:element name=\"ExtensionObject\" type=\"tns:ExtensionObject\" nillable=\"true\" />\n\n    <xs:complexType name=\"ListOfExtensionObject\">\n      <xs:sequence>\n        <xs:element name=\"ExtensionObject\" type=\"tns:ExtensionObject\" minOccurs=\"0\" maxOccurs=\"unbounded\" nillable=\"true\" />\n      </xs:sequence>\n    </xs:complexType>\n    <xs:element name=\"ListOfExtensionObject\" type=\"tns:ListOfExtensionObject\" nillable=\"true\"></xs:element>\n\n    <!-- \n    Some WSDL/XML compilers have issues with the xs:choice construct. For that reason\n    the default declaration of a Variant uses xs:any construct. The schema acutually \n    defined by the specification is provided by the Matrix and VariantValue complex types\n    shown in comments below. Application developers can replace the VariantValue declaration\n    with the specific declaration if they have a development environment that can handle\n    the xs:choice construct in a reasonable way.\n    -->\n    \n    <!--\n    <xs:complexType name=\"Matrix\">\n      <xs:sequence>\n        <xs:element name=\"Dimensions\" type=\"tns:ListOfUInt32\" minOccurs=\"0\" nillable=\"true\" />\n        <xs:element name=\"Value\" minOccurs=\"0\" nillable=\"true\">\n          <xs:complexType mixed=\"false\">\n            <xs:choice maxOccurs=\"unbounded\">\n              <xs:element name=\"Boolean\" type=\"xs:boolean\" minOccurs=\"0\" />\n              <xs:element name=\"SByte\" type=\"xs:byte\" minOccurs=\"0\" />\n              <xs:element name=\"Byte\" type=\"xs:unsignedByte\" minOccurs=\"0\" />\n              <xs:element name=\"Int16\" type=\"xs:short\" minOccurs=\"0\" />\n              <xs:element name=\"UInt16\" type=\"xs:unsignedShort\" minOccurs=\"0\" />\n              <xs:element name=\"Int32\" type=\"xs:int\" minOccurs=\"0\" />\n              <xs:element name=\"UInt32\" type=\"xs:unsignedInt\" minOccurs=\"0\" />\n              <xs:element name=\"Int64\" type=\"xs:long\" minOccurs=\"0\" />\n              <xs:element name=\"UInt64\" type=\"xs:unsignedLong\" minOccurs=\"0\" />\n              <xs:element name=\"Float\" type=\"xs:float\" minOccurs=\"0\" />\n              <xs:element name=\"Double\" type=\"xs:double\" minOccurs=\"0\" />\n              <xs:element name=\"String\" type=\"xs:string\" minOccurs=\"0\" />\n              <xs:element name=\"DateTime\" type=\"xs:dateTime\" minOccurs=\"0\" />\n              <xs:element name=\"Guid\" type=\"tns:Guid\" minOccurs=\"0\" />\n              <xs:element name=\"ByteString\" type=\"xs:base64Binary\" minOccurs=\"0\" />\n              <xs:element name=\"XmlElement\" minOccurs=\"0\" nillable=\"true\">\n                <xs:complexType>\n                  <xs:sequence>\n                    <xs:any minOccurs=\"0\" processContents=\"lax\" />\n                  </xs:sequence>\n                </xs:complexType>\n              </xs:element>\n              <xs:element name=\"StatusCode\" type=\"tns:StatusCode\" minOccurs=\"0\" />\n              <xs:element name=\"NodeId\" type=\"tns:NodeId\" minOccurs=\"0\" />\n              <xs:element name=\"ExpandedNodeId\" type=\"tns:ExpandedNodeId\" minOccurs=\"0\" />\n              <xs:element name=\"QualifiedName\" type=\"tns:QualifiedName\" minOccurs=\"0\" />\n              <xs:element name=\"LocalizedText\" type=\"tns:LocalizedText\" minOccurs=\"0\" />\n              <xs:element name=\"ExtensionObject\" type=\"tns:ExtensionObject\" minOccurs=\"0\" />\n              <xs:element name=\"Variant\" type=\"tns:Variant\" minOccurs=\"0\" />\n            </xs:choice>\n          </xs:complexType>\n        </xs:element>\n      </xs:sequence>\n    </xs:complexType>\n    <xs:element name=\"Matrix\" type=\"tns:Matrix\" nillable=\"true\" />\n\n    <xs:complexType name=\"VariantValue\">\n      <xs:choice>\n        <xs:element name=\"Boolean\" type=\"xs:boolean\" minOccurs=\"0\" />\n        <xs:element name=\"SByte\" type=\"xs:byte\" minOccurs=\"0\" />\n        <xs:element name=\"Byte\" type=\"xs:unsignedByte\" minOccurs=\"0\" />\n        <xs:element name=\"Int16\" type=\"xs:short\" minOccurs=\"0\" />\n        <xs:element name=\"UInt16\" type=\"xs:unsignedShort\" minOccurs=\"0\" />\n        <xs:element name=\"Int32\" type=\"xs:int\" minOccurs=\"0\" />\n        <xs:element name=\"UInt32\" type=\"xs:unsignedInt\" minOccurs=\"0\" />\n        <xs:element name=\"Int64\" type=\"xs:long\" minOccurs=\"0\" />\n        <xs:element name=\"UInt64\" type=\"xs:unsignedLong\" minOccurs=\"0\" />\n        <xs:element name=\"Float\" type=\"xs:float\" minOccurs=\"0\" />\n        <xs:element name=\"Double\" type=\"xs:double\" minOccurs=\"0\" />\n        <xs:element name=\"String\" type=\"xs:string\" minOccurs=\"0\" />\n        <xs:element name=\"DateTime\" type=\"xs:dateTime\" minOccurs=\"0\" />\n        <xs:element name=\"Guid\" type=\"tns:Guid\" minOccurs=\"0\" />\n        <xs:element name=\"ByteString\" type=\"xs:base64Binary\" minOccurs=\"0\" />\n        <xs:element name=\"XmlElement\" minOccurs=\"0\" nillable=\"true\">\n          <xs:complexType>\n            <xs:sequence>\n              <xs:any minOccurs=\"0\" processContents=\"lax\" />\n            </xs:sequence>\n          </xs:complexType>\n        </xs:element>\n        <xs:element name=\"StatusCode\" type=\"tns:StatusCode\" minOccurs=\"0\" />\n        <xs:element name=\"NodeId\" type=\"tns:NodeId\" minOccurs=\"0\" />\n        <xs:element name=\"ExpandedNodeId\" type=\"tns:ExpandedNodeId\" minOccurs=\"0\" />\n        <xs:element name=\"QualifiedName\" type=\"tns:QualifiedName\" minOccurs=\"0\" />\n        <xs:element name=\"LocalizedText\" type=\"tns:LocalizedText\" minOccurs=\"0\" />\n        <xs:element name=\"ExtensionObject\" type=\"tns:ExtensionObject\" minOccurs=\"0\" />\n        <xs:element name=\"ListOfBoolean\" type=\"tns:ListOfBoolean\" minOccurs=\"0\" />\n        <xs:element name=\"ListOfSByte\" type=\"tns:ListOfSByte\" minOccurs=\"0\" />\n        <xs:element name=\"ListOfByte\" type=\"tns:ListOfByte\" minOccurs=\"0\" />\n        <xs:element name=\"ListOfInt16\" type=\"tns:ListOfInt16\" minOccurs=\"0\" />\n        <xs:element name=\"ListOfUInt16\" type=\"tns:ListOfUInt16\" minOccurs=\"0\" />\n        <xs:element name=\"ListOfInt32\" type=\"tns:ListOfInt32\" minOccurs=\"0\" />\n        <xs:element name=\"ListOfUInt32\" type=\"tns:ListOfUInt32\" minOccurs=\"0\" />\n        <xs:element name=\"ListOfInt64\" type=\"tns:ListOfInt64\" minOccurs=\"0\" />\n        <xs:element name=\"ListOfUInt64\" type=\"tns:ListOfUInt64\" minOccurs=\"0\" />\n        <xs:element name=\"ListOfFloat\" type=\"tns:ListOfFloat\" minOccurs=\"0\" />\n        <xs:element name=\"ListOfDouble\" type=\"tns:ListOfDouble\" minOccurs=\"0\" />\n        <xs:element name=\"ListOfString\" type=\"tns:ListOfString\" minOccurs=\"0\" />\n        <xs:element name=\"ListOfDateTime\" type=\"tns:ListOfDateTime\" minOccurs=\"0\" />\n        <xs:element name=\"ListOfGuid\" type=\"tns:ListOfGuid\" minOccurs=\"0\" />\n        <xs:element name=\"ListOfByteString\" type=\"tns:ListOfByteString\" minOccurs=\"0\" />\n        <xs:element name=\"ListOfXmlElement\" type=\"tns:ListOfXmlElement\" minOccurs=\"0\" />\n        <xs:element name=\"ListOfStatusCode\" type=\"tns:ListOfStatusCode\" minOccurs=\"0\" />\n        <xs:element name=\"ListOfNodeId\" type=\"tns:ListOfNodeId\" minOccurs=\"0\" />\n        <xs:element name=\"ListOfExpandedNodeId\" type=\"tns:ListOfExpandedNodeId\" minOccurs=\"0\" />\n        <xs:element name=\"ListOfQualifiedName\" type=\"tns:ListOfQualifiedName\" minOccurs=\"0\" />\n        <xs:element name=\"ListOfLocalizedText\" type=\"tns:ListOfLocalizedText\" minOccurs=\"0\" />\n        <xs:element name=\"ListOfExtensionObject\" type=\"tns:ListOfExtensionObject\" minOccurs=\"0\" />\n        <xs:element name=\"ListOfVariant\" type=\"tns:ListOfVariant\" minOccurs=\"0\" />\n        <xs:element name=\"Matrix\" type=\"tns:Matrix\" minOccurs=\"0\" />\n      </xs:choice>\n    </xs:complexType>\n\n    <xs:complexType name=\"Variant\">\n      <xs:sequence>\n        <xs:element name=\"Value\" type=\"tns:VariantValue\" minOccurs=\"0\" nillable=\"true\" />\n      </xs:sequence>\n    </xs:complexType>\n    <xs:element name=\"Variant\" type=\"tns:Variant\" nillable=\"true\" />\n    -->\n\n    <xs:complexType name=\"Variant\">\n      <xs:sequence>\n        <xs:element name=\"Value\" minOccurs=\"0\" nillable=\"true\">\n          <xs:complexType>\n            <xs:sequence>\n              <xs:any minOccurs=\"0\" processContents=\"lax\" />\n            </xs:sequence>\n          </xs:complexType>\n        </xs:element>\n      </xs:sequence>\n    </xs:complexType>\n    <xs:element name=\"Variant\" type=\"tns:Variant\" nillable=\"true\" />\n\n    <xs:complexType name=\"ListOfVariant\">\n      <xs:sequence>\n        <xs:element name=\"Variant\" type=\"tns:Variant\" minOccurs=\"0\" maxOccurs=\"unbounded\" nillable=\"true\" />\n      </xs:sequence>\n    </xs:complexType>\n    <xs:element name=\"ListOfVariant\" type=\"tns:ListOfVariant\" nillable=\"true\"></xs:element>\n\n    <xs:complexType name=\"DataValue\">\n      <xs:sequence>\n        <xs:element name=\"Value\" type=\"tns:Variant\" minOccurs=\"0\" nillable=\"true\" />\n        <xs:element name=\"StatusCode\" type=\"tns:StatusCode\" minOccurs=\"0\" />\n        <xs:element name=\"SourceTimestamp\" type=\"xs:dateTime\" minOccurs=\"0\" />\n        <xs:element name=\"ServerTimestamp\" type=\"xs:dateTime\" minOccurs=\"0\" />\n      </xs:sequence>\n    </xs:complexType>\n    <xs:element name=\"DataValue\" type=\"tns:DataValue\" nillable=\"true\"/>\n\n    <xs:complexType name=\"ListOfDataValue\">\n      <xs:sequence>\n        <xs:element name=\"DataValue\" type=\"tns:DataValue\" minOccurs=\"0\" maxOccurs=\"unbounded\" nillable=\"true\" />\n      </xs:sequence>\n    </xs:complexType>\n    <xs:element name=\"ListOfDataValue\" type=\"tns:ListOfDataValue\" nillable=\"true\"></xs:element>\n    \n    <xs:element name=\"InvokeServiceRequest\" type=\"xs:base64Binary\" nillable=\"true\" />\n    <xs:element name=\"InvokeServiceResponse\" type=\"xs:base64Binary\" nillable=\"true\" />\n  \n  <xs:element name=\"ImageBMP\" type=\"xs:base64Binary\" />\n\n  <xs:element name=\"ImageGIF\" type=\"xs:base64Binary\" />\n\n  <xs:element name=\"ImageJPG\" type=\"xs:base64Binary\" />\n\n  <xs:element name=\"ImagePNG\" type=\"xs:base64Binary\" />\n\n  <xs:simpleType  name=\"IdType\">\n    <xs:restriction base=\"xs:string\">\n      <xs:enumeration value=\"Numeric_0\" />\n      <xs:enumeration value=\"String_1\" />\n      <xs:enumeration value=\"Guid_2\" />\n      <xs:enumeration value=\"Opaque_3\" />\n    </xs:restriction>\n  </xs:simpleType>\n  <xs:element name=\"IdType\" type=\"tns:IdType\" />\n\n  <xs:complexType name=\"ListOfIdType\">\n    <xs:sequence>\n      <xs:element name=\"IdType\" type=\"tns:IdType\" minOccurs=\"0\" maxOccurs=\"unbounded\" nillable=\"true\" />\n    </xs:sequence>\n  </xs:complexType>\n  <xs:element name=\"ListOfIdType\" type=\"tns:ListOfIdType\" nillable=\"true\"></xs:element>\n\n  <xs:simpleType  name=\"NodeClass\">\n    <xs:restriction base=\"xs:string\">\n      <xs:enumeration value=\"Unspecified_0\" />\n      <xs:enumeration value=\"Object_1\" />\n      <xs:enumeration value=\"Variable_2\" />\n      <xs:enumeration value=\"Method_4\" />\n      <xs:enumeration value=\"ObjectType_8\" />\n      <xs:enumeration value=\"VariableType_16\" />\n      <xs:enumeration value=\"ReferenceType_32\" />\n      <xs:enumeration value=\"DataType_64\" />\n      <xs:enumeration value=\"View_128\" />\n    </xs:restriction>\n  </xs:simpleType>\n  <xs:element name=\"NodeClass\" type=\"tns:NodeClass\" />\n\n  <xs:complexType name=\"Node\">\n  \t<xs:sequence>\n      <xs:element name=\"NodeId\" type=\"ua:NodeId\" minOccurs=\"0\" nillable=\"true\" />\n      <xs:element name=\"NodeClass\" type=\"tns:NodeClass\" minOccurs=\"1\" />\n      <xs:element name=\"BrowseName\" type=\"ua:QualifiedName\" minOccurs=\"0\" nillable=\"true\" />\n      <xs:element name=\"DisplayName\" type=\"ua:LocalizedText\" minOccurs=\"0\" nillable=\"true\" />\n      <xs:element name=\"Description\" type=\"ua:LocalizedText\" minOccurs=\"0\" nillable=\"true\" />\n      <xs:element name=\"WriteMask\" type=\"xs:unsignedInt\" minOccurs=\"1\" />\n      <xs:element name=\"UserWriteMask\" type=\"xs:unsignedInt\" minOccurs=\"1\" />\n      <xs:element name=\"References\" type=\"tns:ListOfReferenceNode\" minOccurs=\"1\" />\n  \t</xs:sequence>\n  </xs:complexType>\n  <xs:element name=\"Node\" type=\"tns:Node\" />\n\n  <xs:complexType name=\"ListOfNode\">\n    <xs:sequence>\n      <xs:element name=\"Node\" type=\"tns:Node\" minOccurs=\"0\" maxOccurs=\"unbounded\" nillable=\"true\" />\n    </xs:sequence>\n  </xs:complexType>\n  <xs:element name=\"ListOfNode\" type=\"tns:ListOfNode\" nillable=\"true\"></xs:element>\n\n  <xs:complexType name=\"ObjectNode\">\n    <xs:complexContent mixed=\"false\">\n      <xs:extension base=\"tns:Node\">\n        <xs:sequence>\n          <xs:element name=\"EventNotifier\" type=\"xs:unsignedByte\" minOccurs=\"1\" />\n        </xs:sequence>\n      </xs:extension>\n    </xs:complexContent>\n  </xs:complexType>\n  <xs:element name=\"ObjectNode\" type=\"tns:ObjectNode\" />\n\n  <xs:complexType name=\"ObjectTypeNode\">\n    <xs:complexContent mixed=\"false\">\n      <xs:extension base=\"tns:Node\">\n        <xs:sequence>\n          <xs:element name=\"IsAbstract\" type=\"xs:boolean\" minOccurs=\"1\" />\n        </xs:sequence>\n      </xs:extension>\n    </xs:complexContent>\n  </xs:complexType>\n  <xs:element name=\"ObjectTypeNode\" type=\"tns:ObjectTypeNode\" />\n\n  <xs:complexType name=\"VariableNode\">\n    <xs:complexContent mixed=\"false\">\n      <xs:extension base=\"tns:Node\">\n        <xs:sequence>\n          <xs:element name=\"Value\" type=\"ua:Variant\" minOccurs=\"1\" />\n          <xs:element name=\"DataType\" type=\"ua:NodeId\" minOccurs=\"0\" nillable=\"true\" />\n          <xs:element name=\"ValueRank\" type=\"xs:int\" minOccurs=\"1\" />\n          <xs:element name=\"ArrayDimensions\" type=\"ua:ListOfUInt32\" minOccurs=\"1\" />\n          <xs:element name=\"AccessLevel\" type=\"xs:unsignedByte\" minOccurs=\"1\" />\n          <xs:element name=\"UserAccessLevel\" type=\"xs:unsignedByte\" minOccurs=\"1\" />\n          <xs:element name=\"MinimumSamplingInterval\" type=\"xs:double\" minOccurs=\"1\" />\n          <xs:element name=\"Historizing\" type=\"xs:boolean\" minOccurs=\"1\" />\n        </xs:sequence>\n      </xs:extension>\n    </xs:complexContent>\n  </xs:complexType>\n  <xs:element name=\"VariableNode\" type=\"tns:VariableNode\" />\n\n  <xs:complexType name=\"VariableTypeNode\">\n    <xs:complexContent mixed=\"false\">\n      <xs:extension base=\"tns:Node\">\n        <xs:sequence>\n          <xs:element name=\"Value\" type=\"ua:Variant\" minOccurs=\"1\" />\n          <xs:element name=\"DataType\" type=\"ua:NodeId\" minOccurs=\"0\" nillable=\"true\" />\n          <xs:element name=\"ValueRank\" type=\"xs:int\" minOccurs=\"1\" />\n          <xs:element name=\"ArrayDimensions\" type=\"ua:ListOfUInt32\" minOccurs=\"1\" />\n          <xs:element name=\"IsAbstract\" type=\"xs:boolean\" minOccurs=\"1\" />\n        </xs:sequence>\n      </xs:extension>\n    </xs:complexContent>\n  </xs:complexType>\n  <xs:element name=\"VariableTypeNode\" type=\"tns:VariableTypeNode\" />\n\n  <xs:complexType name=\"ReferenceTypeNode\">\n    <xs:complexContent mixed=\"false\">\n      <xs:extension base=\"tns:Node\">\n        <xs:sequence>\n          <xs:element name=\"IsAbstract\" type=\"xs:boolean\" minOccurs=\"1\" />\n          <xs:element name=\"Symmetric\" type=\"xs:boolean\" minOccurs=\"1\" />\n          <xs:element name=\"InverseName\" type=\"ua:LocalizedText\" minOccurs=\"0\" nillable=\"true\" />\n        </xs:sequence>\n      </xs:extension>\n    </xs:complexContent>\n  </xs:complexType>\n  <xs:element name=\"ReferenceTypeNode\" type=\"tns:ReferenceTypeNode\" />\n\n  <xs:complexType name=\"MethodNode\">\n    <xs:complexContent mixed=\"false\">\n      <xs:extension base=\"tns:Node\">\n        <xs:sequence>\n          <xs:element name=\"Executable\" type=\"xs:boolean\" minOccurs=\"1\" />\n          <xs:element name=\"UserExecutable\" type=\"xs:boolean\" minOccurs=\"1\" />\n        </xs:sequence>\n      </xs:extension>\n    </xs:complexContent>\n  </xs:complexType>\n  <xs:element name=\"MethodNode\" type=\"tns:MethodNode\" />\n\n  <xs:complexType name=\"ViewNode\">\n    <xs:complexContent mixed=\"false\">\n      <xs:extension base=\"tns:Node\">\n        <xs:sequence>\n          <xs:element name=\"ContainsNoLoops\" type=\"xs:boolean\" minOccurs=\"1\" />\n          <xs:element name=\"EventNotifier\" type=\"xs:unsignedByte\" minOccurs=\"1\" />\n        </xs:sequence>\n      </xs:extension>\n    </xs:complexContent>\n  </xs:complexType>\n  <xs:element name=\"ViewNode\" type=\"tns:ViewNode\" />\n\n  <xs:complexType name=\"DataTypeNode\">\n    <xs:complexContent mixed=\"false\">\n      <xs:extension base=\"tns:Node\">\n        <xs:sequence>\n          <xs:element name=\"IsAbstract\" type=\"xs:boolean\" minOccurs=\"1\" />\n        </xs:sequence>\n      </xs:extension>\n    </xs:complexContent>\n  </xs:complexType>\n  <xs:element name=\"DataTypeNode\" type=\"tns:DataTypeNode\" />\n\n  <xs:complexType name=\"ReferenceNode\">\n  \t<xs:sequence>\n      <xs:element name=\"ReferenceTypeId\" type=\"ua:NodeId\" minOccurs=\"0\" nillable=\"true\" />\n      <xs:element name=\"IsInverse\" type=\"xs:boolean\" minOccurs=\"1\" />\n      <xs:element name=\"TargetId\" type=\"ua:ExpandedNodeId\" minOccurs=\"0\" nillable=\"true\" />\n  \t</xs:sequence>\n  </xs:complexType>\n  <xs:element name=\"ReferenceNode\" type=\"tns:ReferenceNode\" />\n\n  <xs:complexType name=\"ListOfReferenceNode\">\n    <xs:sequence>\n      <xs:element name=\"ReferenceNode\" type=\"tns:ReferenceNode\" minOccurs=\"0\" maxOccurs=\"unbounded\" nillable=\"true\" />\n    </xs:sequence>\n  </xs:complexType>\n  <xs:element name=\"ListOfReferenceNode\" type=\"tns:ListOfReferenceNode\" nillable=\"true\"></xs:element>\n\n  <xs:element name=\"IntegerId\" type=\"xs:unsignedInt\" />\n\n  <xs:element name=\"Counter\" type=\"xs:unsignedInt\" />\n\n  <xs:element name=\"Duration\" type=\"xs:double\" />\n\n  <xs:element name=\"NumericRange\" type=\"xs:string\" />\n\n  <xs:element name=\"Time\" type=\"xs:string\" />\n\n  <xs:element name=\"Date\" type=\"xs:dateTime\" />\n\n  <xs:element name=\"UtcTime\" type=\"xs:dateTime\" />\n\n  <xs:element name=\"LocaleId\" type=\"xs:string\" />\n\n  <xs:complexType name=\"Argument\">\n  \t<xs:sequence>\n      <xs:element name=\"Name\" type=\"xs:string\" minOccurs=\"0\" nillable=\"true\" />\n      <xs:element name=\"DataType\" type=\"ua:NodeId\" minOccurs=\"0\" nillable=\"true\" />\n      <xs:element name=\"ValueRank\" type=\"xs:int\" minOccurs=\"1\" />\n      <xs:element name=\"ArrayDimensions\" type=\"ua:ListOfUInt32\" minOccurs=\"1\" />\n      <xs:element name=\"Description\" type=\"ua:LocalizedText\" minOccurs=\"0\" nillable=\"true\" />\n  \t</xs:sequence>\n  </xs:complexType>\n  <xs:element name=\"Argument\" type=\"tns:Argument\" />\n\n  <xs:complexType name=\"ListOfArgument\">\n    <xs:sequence>\n      <xs:element name=\"Argument\" type=\"tns:Argument\" minOccurs=\"0\" maxOccurs=\"unbounded\" nillable=\"true\" />\n    </xs:sequence>\n  </xs:complexType>\n  <xs:element name=\"ListOfArgument\" type=\"tns:ListOfArgument\" nillable=\"true\"></xs:element>\n\n  <xs:complexType name=\"TimeZoneDataType\">\n  \t<xs:sequence>\n      <xs:element name=\"Offset\" type=\"xs:short\" minOccurs=\"1\" />\n      <xs:element name=\"DaylightSavingInOffset\" type=\"xs:boolean\" minOccurs=\"1\" />\n  \t</xs:sequence>\n  </xs:complexType>\n  <xs:element name=\"TimeZoneDataType\" type=\"tns:TimeZoneDataType\" />\n\n  <xs:complexType name=\"ListOfTimeZoneDataType\">\n    <xs:sequence>\n      <xs:element name=\"TimeZoneDataType\" type=\"tns:TimeZoneDataType\" minOccurs=\"0\" maxOccurs=\"unbounded\" nillable=\"true\" />\n    </xs:sequence>\n  </xs:complexType>\n  <xs:element name=\"ListOfTimeZoneDataType\" type=\"tns:ListOfTimeZoneDataType\" nillable=\"true\"></xs:element>\n\n  <xs:complexType name=\"EnumValueInfo\">\n  \t<xs:sequence>\n      <xs:element name=\"Name\" type=\"ua:LocalizedText\" minOccurs=\"0\" nillable=\"true\" />\n      <xs:element name=\"Value\" type=\"xs:int\" minOccurs=\"1\" />\n  \t</xs:sequence>\n  </xs:complexType>\n  <xs:element name=\"EnumValueInfo\" type=\"tns:EnumValueInfo\" />\n\n  <xs:complexType name=\"ListOfEnumValueInfo\">\n    <xs:sequence>\n      <xs:element name=\"EnumValueInfo\" type=\"tns:EnumValueInfo\" minOccurs=\"0\" maxOccurs=\"unbounded\" nillable=\"true\" />\n    </xs:sequence>\n  </xs:complexType>\n  <xs:element name=\"ListOfEnumValueInfo\" type=\"tns:ListOfEnumValueInfo\" nillable=\"true\"></xs:element>\n\n  <xs:complexType name=\"StatusResult\">\n  \t<xs:sequence>\n      <xs:element name=\"StatusCode\" type=\"ua:StatusCode\" minOccurs=\"0\" />\n      <xs:element name=\"DiagnosticInfo\" type=\"ua:DiagnosticInfo\" minOccurs=\"0\" nillable=\"true\" />\n  \t</xs:sequence>\n  </xs:complexType>\n  <xs:element name=\"StatusResult\" type=\"tns:StatusResult\" />\n\n  <xs:complexType name=\"ListOfStatusResult\">\n    <xs:sequence>\n      <xs:element name=\"StatusResult\" type=\"tns:StatusResult\" minOccurs=\"0\" maxOccurs=\"unbounded\" nillable=\"true\" />\n    </xs:sequence>\n  </xs:complexType>\n  <xs:element name=\"ListOfStatusResult\" type=\"tns:ListOfStatusResult\" nillable=\"true\"></xs:element>\n\n  <xs:simpleType  name=\"MessageSecurityMode\">\n    <xs:restriction base=\"xs:string\">\n      <xs:enumeration value=\"Invalid_0\" />\n      <xs:enumeration value=\"None_1\" />\n      <xs:enumeration value=\"Sign_2\" />\n      <xs:enumeration value=\"SignAndEncrypt_3\" />\n    </xs:restriction>\n  </xs:simpleType>\n  <xs:element name=\"MessageSecurityMode\" type=\"tns:MessageSecurityMode\" />\n\n  <xs:simpleType  name=\"UserTokenType\">\n    <xs:restriction base=\"xs:string\">\n      <xs:enumeration value=\"Anonymous_0\" />\n      <xs:enumeration value=\"UserName_1\" />\n      <xs:enumeration value=\"Certificate_2\" />\n      <xs:enumeration value=\"IssuedToken_3\" />\n    </xs:restriction>\n  </xs:simpleType>\n  <xs:element name=\"UserTokenType\" type=\"tns:UserTokenType\" />\n\n  <xs:complexType name=\"UserTokenPolicy\">\n  \t<xs:sequence>\n      <xs:element name=\"PolicyId\" type=\"xs:string\" minOccurs=\"0\" nillable=\"true\" />\n      <xs:element name=\"TokenType\" type=\"tns:UserTokenType\" minOccurs=\"1\" />\n      <xs:element name=\"IssuedTokenType\" type=\"xs:string\" minOccurs=\"0\" nillable=\"true\" />\n      <xs:element name=\"IssuerEndpointUrl\" type=\"xs:string\" minOccurs=\"0\" nillable=\"true\" />\n      <xs:element name=\"SecurityPolicyUri\" type=\"xs:string\" minOccurs=\"0\" nillable=\"true\" />\n  \t</xs:sequence>\n  </xs:complexType>\n  <xs:element name=\"UserTokenPolicy\" type=\"tns:UserTokenPolicy\" />\n\n  <xs:complexType name=\"ListOfUserTokenPolicy\">\n    <xs:sequence>\n      <xs:element name=\"UserTokenPolicy\" type=\"tns:UserTokenPolicy\" minOccurs=\"0\" maxOccurs=\"unbounded\" nillable=\"true\" />\n    </xs:sequence>\n  </xs:complexType>\n  <xs:element name=\"ListOfUserTokenPolicy\" type=\"tns:ListOfUserTokenPolicy\" nillable=\"true\"></xs:element>\n\n  <xs:simpleType  name=\"ApplicationType\">\n    <xs:restriction base=\"xs:string\">\n      <xs:enumeration value=\"Server_0\" />\n      <xs:enumeration value=\"Client_1\" />\n      <xs:enumeration value=\"ClientAndServer_2\" />\n      <xs:enumeration value=\"DiscoveryServer_3\" />\n    </xs:restriction>\n  </xs:simpleType>\n  <xs:element name=\"ApplicationType\" type=\"tns:ApplicationType\" />\n\n  <xs:complexType name=\"ApplicationDescription\">\n  \t<xs:sequence>\n      <xs:element name=\"ApplicationUri\" type=\"xs:string\" minOccurs=\"0\" nillable=\"true\" />\n      <xs:element name=\"ProductUri\" type=\"xs:string\" minOccurs=\"0\" nillable=\"true\" />\n      <xs:element name=\"ApplicationName\" type=\"ua:LocalizedText\" minOccurs=\"0\" nillable=\"true\" />\n      <xs:element name=\"ApplicationType\" type=\"tns:ApplicationType\" minOccurs=\"1\" />\n      <xs:element name=\"GatewayServerUri\" type=\"xs:string\" minOccurs=\"0\" nillable=\"true\" />\n      <xs:element name=\"DiscoveryProfileUri\" type=\"xs:string\" minOccurs=\"0\" nillable=\"true\" />\n      <xs:element name=\"DiscoveryUrls\" type=\"ua:ListOfString\" minOccurs=\"0\" nillable=\"true\" />\n  \t</xs:sequence>\n  </xs:complexType>\n  <xs:element name=\"ApplicationDescription\" type=\"tns:ApplicationDescription\" />\n\n  <xs:complexType name=\"ListOfApplicationDescription\">\n    <xs:sequence>\n      <xs:element name=\"ApplicationDescription\" type=\"tns:ApplicationDescription\" minOccurs=\"0\" maxOccurs=\"unbounded\" nillable=\"true\" />\n    </xs:sequence>\n  </xs:complexType>\n  <xs:element name=\"ListOfApplicationDescription\" type=\"tns:ListOfApplicationDescription\" nillable=\"true\"></xs:element>\n\n  <xs:element name=\"ApplicationInstanceCertificate\" type=\"xs:base64Binary\" />\n\n  <xs:complexType name=\"EndpointDescription\">\n  \t<xs:sequence>\n      <xs:element name=\"EndpointUrl\" type=\"xs:string\" minOccurs=\"0\" nillable=\"true\" />\n      <xs:element name=\"Server\" type=\"tns:ApplicationDescription\" minOccurs=\"1\" />\n      <xs:element name=\"ServerCertificate\" type=\"xs:base64Binary\" minOccurs=\"0\" nillable=\"true\" />\n      <xs:element name=\"SecurityMode\" type=\"tns:MessageSecurityMode\" minOccurs=\"1\" />\n      <xs:element name=\"SecurityPolicyUri\" type=\"xs:string\" minOccurs=\"0\" nillable=\"true\" />\n      <xs:element name=\"UserIdentityTokens\" type=\"tns:ListOfUserTokenPolicy\" minOccurs=\"1\" />\n      <xs:element name=\"TransportProfileUri\" type=\"xs:string\" minOccurs=\"0\" nillable=\"true\" />\n      <xs:element name=\"SecurityLevel\" type=\"xs:unsignedByte\" minOccurs=\"1\" />\n  \t</xs:sequence>\n  </xs:complexType>\n  <xs:element name=\"EndpointDescription\" type=\"tns:EndpointDescription\" />\n\n  <xs:complexType name=\"ListOfEndpointDescription\">\n    <xs:sequence>\n      <xs:element name=\"EndpointDescription\" type=\"tns:EndpointDescription\" minOccurs=\"0\" maxOccurs=\"unbounded\" nillable=\"true\" />\n    </xs:sequence>\n  </xs:complexType>\n  <xs:element name=\"ListOfEndpointDescription\" type=\"tns:ListOfEndpointDescription\" nillable=\"true\"></xs:element>\n\n  <xs:simpleType  name=\"SecurityTokenRequestType\">\n    <xs:restriction base=\"xs:string\">\n      <xs:enumeration value=\"Issue_0\" />\n      <xs:enumeration value=\"Renew_1\" />\n    </xs:restriction>\n  </xs:simpleType>\n  <xs:element name=\"SecurityTokenRequestType\" type=\"tns:SecurityTokenRequestType\" />\n\n  <xs:complexType name=\"UserIdentityToken\">\n  \t<xs:sequence>\n      <xs:element name=\"PolicyId\" type=\"xs:string\" minOccurs=\"0\" nillable=\"true\" />\n  \t</xs:sequence>\n  </xs:complexType>\n  <xs:element name=\"UserIdentityToken\" type=\"tns:UserIdentityToken\" />\n\n  <xs:complexType name=\"AnonymousIdentityToken\">\n    <xs:complexContent mixed=\"false\">\n      <xs:extension base=\"tns:UserIdentityToken\">\n        <xs:sequence>        \n        </xs:sequence>\n      </xs:extension>\n    </xs:complexContent>\n  </xs:complexType>\n  <xs:element name=\"AnonymousIdentityToken\" type=\"tns:AnonymousIdentityToken\" />\n\n  <xs:complexType name=\"UserNameIdentityToken\">\n    <xs:complexContent mixed=\"false\">\n      <xs:extension base=\"tns:UserIdentityToken\">\n        <xs:sequence>\n          <xs:element name=\"UserName\" type=\"xs:string\" minOccurs=\"0\" nillable=\"true\" />\n          <xs:element name=\"Password\" type=\"xs:base64Binary\" minOccurs=\"0\" nillable=\"true\" />\n          <xs:element name=\"EncryptionAlgorithm\" type=\"xs:string\" minOccurs=\"0\" nillable=\"true\" />\n        </xs:sequence>\n      </xs:extension>\n    </xs:complexContent>\n  </xs:complexType>\n  <xs:element name=\"UserNameIdentityToken\" type=\"tns:UserNameIdentityToken\" />\n\n  <xs:complexType name=\"X509IdentityToken\">\n    <xs:complexContent mixed=\"false\">\n      <xs:extension base=\"tns:UserIdentityToken\">\n        <xs:sequence>\n          <xs:element name=\"CertificateData\" type=\"xs:base64Binary\" minOccurs=\"0\" nillable=\"true\" />\n        </xs:sequence>\n      </xs:extension>\n    </xs:complexContent>\n  </xs:complexType>\n  <xs:element name=\"X509IdentityToken\" type=\"tns:X509IdentityToken\" />\n\n  <xs:complexType name=\"IssuedIdentityToken\">\n    <xs:complexContent mixed=\"false\">\n      <xs:extension base=\"tns:UserIdentityToken\">\n        <xs:sequence>\n          <xs:element name=\"TokenData\" type=\"xs:base64Binary\" minOccurs=\"0\" nillable=\"true\" />\n          <xs:element name=\"EncryptionAlgorithm\" type=\"xs:string\" minOccurs=\"0\" nillable=\"true\" />\n        </xs:sequence>\n      </xs:extension>\n    </xs:complexContent>\n  </xs:complexType>\n  <xs:element name=\"IssuedIdentityToken\" type=\"tns:IssuedIdentityToken\" />\n\n  <xs:complexType name=\"EndpointConfiguration\">\n  \t<xs:sequence>\n      <xs:element name=\"OperationTimeout\" type=\"xs:int\" minOccurs=\"1\" />\n      <xs:element name=\"UseBinaryEncoding\" type=\"xs:boolean\" minOccurs=\"1\" />\n      <xs:element name=\"MaxStringLength\" type=\"xs:int\" minOccurs=\"1\" />\n      <xs:element name=\"MaxByteStringLength\" type=\"xs:int\" minOccurs=\"1\" />\n      <xs:element name=\"MaxArrayLength\" type=\"xs:int\" minOccurs=\"1\" />\n      <xs:element name=\"MaxMessageSize\" type=\"xs:int\" minOccurs=\"1\" />\n      <xs:element name=\"MaxBufferSize\" type=\"xs:int\" minOccurs=\"1\" />\n      <xs:element name=\"ChannelLifetime\" type=\"xs:int\" minOccurs=\"1\" />\n      <xs:element name=\"SecurityTokenLifetime\" type=\"xs:int\" minOccurs=\"1\" />\n  \t</xs:sequence>\n  </xs:complexType>\n  <xs:element name=\"EndpointConfiguration\" type=\"tns:EndpointConfiguration\" />\n\n  <xs:complexType name=\"ListOfEndpointConfiguration\">\n    <xs:sequence>\n      <xs:element name=\"EndpointConfiguration\" type=\"tns:EndpointConfiguration\" minOccurs=\"0\" maxOccurs=\"unbounded\" nillable=\"true\" />\n    </xs:sequence>\n  </xs:complexType>\n  <xs:element name=\"ListOfEndpointConfiguration\" type=\"tns:ListOfEndpointConfiguration\" nillable=\"true\"></xs:element>\n\n  <xs:simpleType  name=\"ComplianceLevel\">\n    <xs:restriction base=\"xs:string\">\n      <xs:enumeration value=\"Untested_0\" />\n      <xs:enumeration value=\"Partial_1\" />\n      <xs:enumeration value=\"SelfTested_2\" />\n      <xs:enumeration value=\"Certified_3\" />\n    </xs:restriction>\n  </xs:simpleType>\n  <xs:element name=\"ComplianceLevel\" type=\"tns:ComplianceLevel\" />\n\n  <xs:complexType name=\"SupportedProfile\">\n  \t<xs:sequence>\n      <xs:element name=\"OrganizationUri\" type=\"xs:string\" minOccurs=\"0\" nillable=\"true\" />\n      <xs:element name=\"ProfileId\" type=\"xs:string\" minOccurs=\"0\" nillable=\"true\" />\n      <xs:element name=\"ComplianceTool\" type=\"xs:string\" minOccurs=\"0\" nillable=\"true\" />\n      <xs:element name=\"ComplianceDate\" type=\"xs:dateTime\" minOccurs=\"1\" />\n      <xs:element name=\"ComplianceLevel\" type=\"tns:ComplianceLevel\" minOccurs=\"1\" />\n      <xs:element name=\"UnsupportedUnitIds\" type=\"ua:ListOfString\" minOccurs=\"0\" nillable=\"true\" />\n  \t</xs:sequence>\n  </xs:complexType>\n  <xs:element name=\"SupportedProfile\" type=\"tns:SupportedProfile\" />\n\n  <xs:complexType name=\"ListOfSupportedProfile\">\n    <xs:sequence>\n      <xs:element name=\"SupportedProfile\" type=\"tns:SupportedProfile\" minOccurs=\"0\" maxOccurs=\"unbounded\" nillable=\"true\" />\n    </xs:sequence>\n  </xs:complexType>\n  <xs:element name=\"ListOfSupportedProfile\" type=\"tns:ListOfSupportedProfile\" nillable=\"true\"></xs:element>\n\n  <xs:complexType name=\"BuildInfo\">\n  \t<xs:sequence>\n      <xs:element name=\"ProductUri\" type=\"xs:string\" minOccurs=\"0\" nillable=\"true\" />\n      <xs:element name=\"ManufacturerName\" type=\"xs:string\" minOccurs=\"0\" nillable=\"true\" />\n      <xs:element name=\"ProductName\" type=\"xs:string\" minOccurs=\"0\" nillable=\"true\" />\n      <xs:element name=\"SoftwareVersion\" type=\"xs:string\" minOccurs=\"0\" nillable=\"true\" />\n      <xs:element name=\"BuildNumber\" type=\"xs:string\" minOccurs=\"0\" nillable=\"true\" />\n      <xs:element name=\"BuildDate\" type=\"xs:dateTime\" minOccurs=\"1\" />\n  \t</xs:sequence>\n  </xs:complexType>\n  <xs:element name=\"BuildInfo\" type=\"tns:BuildInfo\" />\n\n  <xs:complexType name=\"SoftwareCertificate\">\n  \t<xs:sequence>\n      <xs:element name=\"ProductName\" type=\"xs:string\" minOccurs=\"0\" nillable=\"true\" />\n      <xs:element name=\"ProductUri\" type=\"xs:string\" minOccurs=\"0\" nillable=\"true\" />\n      <xs:element name=\"VendorName\" type=\"xs:string\" minOccurs=\"0\" nillable=\"true\" />\n      <xs:element name=\"VendorProductCertificate\" type=\"xs:base64Binary\" minOccurs=\"0\" nillable=\"true\" />\n      <xs:element name=\"SoftwareVersion\" type=\"xs:string\" minOccurs=\"0\" nillable=\"true\" />\n      <xs:element name=\"BuildNumber\" type=\"xs:string\" minOccurs=\"0\" nillable=\"true\" />\n      <xs:element name=\"BuildDate\" type=\"xs:dateTime\" minOccurs=\"1\" />\n      <xs:element name=\"IssuedBy\" type=\"xs:string\" minOccurs=\"0\" nillable=\"true\" />\n      <xs:element name=\"IssueDate\" type=\"xs:dateTime\" minOccurs=\"1\" />\n      <xs:element name=\"SupportedProfiles\" type=\"tns:ListOfSupportedProfile\" minOccurs=\"1\" />\n  \t</xs:sequence>\n  </xs:complexType>\n  <xs:element name=\"SoftwareCertificate\" type=\"tns:SoftwareCertificate\" />\n\n  <xs:complexType name=\"SignedSoftwareCertificate\">\n  \t<xs:sequence>\n      <xs:element name=\"CertificateData\" type=\"xs:base64Binary\" minOccurs=\"0\" nillable=\"true\" />\n      <xs:element name=\"Signature\" type=\"xs:base64Binary\" minOccurs=\"0\" nillable=\"true\" />\n  \t</xs:sequence>\n  </xs:complexType>\n  <xs:element name=\"SignedSoftwareCertificate\" type=\"tns:SignedSoftwareCertificate\" />\n\n  <xs:complexType name=\"ListOfSignedSoftwareCertificate\">\n    <xs:sequence>\n      <xs:element name=\"SignedSoftwareCertificate\" type=\"tns:SignedSoftwareCertificate\" minOccurs=\"0\" maxOccurs=\"unbounded\" nillable=\"true\" />\n    </xs:sequence>\n  </xs:complexType>\n  <xs:element name=\"ListOfSignedSoftwareCertificate\" type=\"tns:ListOfSignedSoftwareCertificate\" nillable=\"true\"></xs:element>\n\n  <xs:simpleType  name=\"AttributeWriteMask\">\n    <xs:restriction base=\"xs:string\">\n      <xs:enumeration value=\"None_0\" />\n      <xs:enumeration value=\"AccessLevel_1\" />\n      <xs:enumeration value=\"ArrayDimensions_2\" />\n      <xs:enumeration value=\"BrowseName_4\" />\n      <xs:enumeration value=\"ContainsNoLoops_8\" />\n      <xs:enumeration value=\"DataType_16\" />\n      <xs:enumeration value=\"Description_32\" />\n      <xs:enumeration value=\"DisplayName_64\" />\n      <xs:enumeration value=\"EventNotifier_128\" />\n      <xs:enumeration value=\"Executable_256\" />\n      <xs:enumeration value=\"Historizing_512\" />\n      <xs:enumeration value=\"InverseName_1024\" />\n      <xs:enumeration value=\"IsAbstract_2048\" />\n      <xs:enumeration value=\"MinimumSamplingInterval_4096\" />\n      <xs:enumeration value=\"NodeClass_8192\" />\n      <xs:enumeration value=\"NodeId_16384\" />\n      <xs:enumeration value=\"Symmetric_32768\" />\n      <xs:enumeration value=\"UserAccessLevel_65536\" />\n      <xs:enumeration value=\"UserExecutable_131072\" />\n      <xs:enumeration value=\"UserWriteMask_262144\" />\n      <xs:enumeration value=\"ValueRank_524288\" />\n      <xs:enumeration value=\"WriteMask_1048576\" />\n      <xs:enumeration value=\"ValueForVariableType_2097152\" />\n    </xs:restriction>\n  </xs:simpleType>\n  <xs:element name=\"AttributeWriteMask\" type=\"tns:AttributeWriteMask\" />\n\n  <xs:simpleType  name=\"NodeAttributesMask\">\n    <xs:restriction base=\"xs:string\">\n      <xs:enumeration value=\"None_0\" />\n      <xs:enumeration value=\"AccessLevel_1\" />\n      <xs:enumeration value=\"ArrayDimensions_2\" />\n      <xs:enumeration value=\"ContainsNoLoops_8\" />\n      <xs:enumeration value=\"DataType_16\" />\n      <xs:enumeration value=\"Description_32\" />\n      <xs:enumeration value=\"DisplayName_64\" />\n      <xs:enumeration value=\"EventNotifier_128\" />\n      <xs:enumeration value=\"Executable_256\" />\n      <xs:enumeration value=\"Historizing_512\" />\n      <xs:enumeration value=\"InverseName_1024\" />\n      <xs:enumeration value=\"IsAbstract_2048\" />\n      <xs:enumeration value=\"MinimumSamplingInterval_4096\" />\n      <xs:enumeration value=\"Symmetric_32768\" />\n      <xs:enumeration value=\"UserAccessLevel_65536\" />\n      <xs:enumeration value=\"UserExecutable_131072\" />\n      <xs:enumeration value=\"UserWriteMask_262144\" />\n      <xs:enumeration value=\"ValueRank_524288\" />\n      <xs:enumeration value=\"WriteMask_1048576\" />\n      <xs:enumeration value=\"Value_2097152\" />\n      <xs:enumeration value=\"All_4194303\" />\n      <xs:enumeration value=\"BaseNode_1335396\" />\n      <xs:enumeration value=\"Object_1335524\" />\n      <xs:enumeration value=\"ObjectTypeOrDataType_1337444\" />\n      <xs:enumeration value=\"Variable_4026999\" />\n      <xs:enumeration value=\"VariableType_3958902\" />\n      <xs:enumeration value=\"Method_1466724\" />\n      <xs:enumeration value=\"ReferenceType_1371236\" />\n      <xs:enumeration value=\"View_1335532\" />\n    </xs:restriction>\n  </xs:simpleType>\n  <xs:element name=\"NodeAttributesMask\" type=\"tns:NodeAttributesMask\" />\n\n  <xs:complexType name=\"NodeAttributes\">\n  \t<xs:sequence>\n      <xs:element name=\"SpecifiedAttributes\" type=\"xs:unsignedInt\" minOccurs=\"1\" />\n      <xs:element name=\"DisplayName\" type=\"ua:LocalizedText\" minOccurs=\"0\" nillable=\"true\" />\n      <xs:element name=\"Description\" type=\"ua:LocalizedText\" minOccurs=\"0\" nillable=\"true\" />\n      <xs:element name=\"WriteMask\" type=\"xs:unsignedInt\" minOccurs=\"1\" />\n      <xs:element name=\"UserWriteMask\" type=\"xs:unsignedInt\" minOccurs=\"1\" />\n  \t</xs:sequence>\n  </xs:complexType>\n  <xs:element name=\"NodeAttributes\" type=\"tns:NodeAttributes\" />\n\n  <xs:complexType name=\"ObjectAttributes\">\n    <xs:complexContent mixed=\"false\">\n      <xs:extension base=\"tns:NodeAttributes\">\n        <xs:sequence>\n          <xs:element name=\"EventNotifier\" type=\"xs:unsignedByte\" minOccurs=\"1\" />\n        </xs:sequence>\n      </xs:extension>\n    </xs:complexContent>\n  </xs:complexType>\n  <xs:element name=\"ObjectAttributes\" type=\"tns:ObjectAttributes\" />\n\n  <xs:complexType name=\"VariableAttributes\">\n    <xs:complexContent mixed=\"false\">\n      <xs:extension base=\"tns:NodeAttributes\">\n        <xs:sequence>\n          <xs:element name=\"Value\" type=\"ua:Variant\" minOccurs=\"1\" />\n          <xs:element name=\"DataType\" type=\"ua:NodeId\" minOccurs=\"0\" nillable=\"true\" />\n          <xs:element name=\"ValueRank\" type=\"xs:int\" minOccurs=\"1\" />\n          <xs:element name=\"ArrayDimensions\" type=\"ua:ListOfUInt32\" minOccurs=\"1\" />\n          <xs:element name=\"AccessLevel\" type=\"xs:unsignedByte\" minOccurs=\"1\" />\n          <xs:element name=\"UserAccessLevel\" type=\"xs:unsignedByte\" minOccurs=\"1\" />\n          <xs:element name=\"MinimumSamplingInterval\" type=\"xs:double\" minOccurs=\"1\" />\n          <xs:element name=\"Historizing\" type=\"xs:boolean\" minOccurs=\"1\" />\n        </xs:sequence>\n      </xs:extension>\n    </xs:complexContent>\n  </xs:complexType>\n  <xs:element name=\"VariableAttributes\" type=\"tns:VariableAttributes\" />\n\n  <xs:complexType name=\"MethodAttributes\">\n    <xs:complexContent mixed=\"false\">\n      <xs:extension base=\"tns:NodeAttributes\">\n        <xs:sequence>\n          <xs:element name=\"Executable\" type=\"xs:boolean\" minOccurs=\"1\" />\n          <xs:element name=\"UserExecutable\" type=\"xs:boolean\" minOccurs=\"1\" />\n        </xs:sequence>\n      </xs:extension>\n    </xs:complexContent>\n  </xs:complexType>\n  <xs:element name=\"MethodAttributes\" type=\"tns:MethodAttributes\" />\n\n  <xs:complexType name=\"ObjectTypeAttributes\">\n    <xs:complexContent mixed=\"false\">\n      <xs:extension base=\"tns:NodeAttributes\">\n        <xs:sequence>\n          <xs:element name=\"IsAbstract\" type=\"xs:boolean\" minOccurs=\"1\" />\n        </xs:sequence>\n      </xs:extension>\n    </xs:complexContent>\n  </xs:complexType>\n  <xs:element name=\"ObjectTypeAttributes\" type=\"tns:ObjectTypeAttributes\" />\n\n  <xs:complexType name=\"VariableTypeAttributes\">\n    <xs:complexContent mixed=\"false\">\n      <xs:extension base=\"tns:NodeAttributes\">\n        <xs:sequence>\n          <xs:element name=\"Value\" type=\"ua:Variant\" minOccurs=\"1\" />\n          <xs:element name=\"DataType\" type=\"ua:NodeId\" minOccurs=\"0\" nillable=\"true\" />\n          <xs:element name=\"ValueRank\" type=\"xs:int\" minOccurs=\"1\" />\n          <xs:element name=\"ArrayDimensions\" type=\"ua:ListOfUInt32\" minOccurs=\"1\" />\n          <xs:element name=\"IsAbstract\" type=\"xs:boolean\" minOccurs=\"1\" />\n        </xs:sequence>\n      </xs:extension>\n    </xs:complexContent>\n  </xs:complexType>\n  <xs:element name=\"VariableTypeAttributes\" type=\"tns:VariableTypeAttributes\" />\n\n  <xs:complexType name=\"ReferenceTypeAttributes\">\n    <xs:complexContent mixed=\"false\">\n      <xs:extension base=\"tns:NodeAttributes\">\n        <xs:sequence>\n          <xs:element name=\"IsAbstract\" type=\"xs:boolean\" minOccurs=\"1\" />\n          <xs:element name=\"Symmetric\" type=\"xs:boolean\" minOccurs=\"1\" />\n          <xs:element name=\"InverseName\" type=\"ua:LocalizedText\" minOccurs=\"0\" nillable=\"true\" />\n        </xs:sequence>\n      </xs:extension>\n    </xs:complexContent>\n  </xs:complexType>\n  <xs:element name=\"ReferenceTypeAttributes\" type=\"tns:ReferenceTypeAttributes\" />\n\n  <xs:complexType name=\"DataTypeAttributes\">\n    <xs:complexContent mixed=\"false\">\n      <xs:extension base=\"tns:NodeAttributes\">\n        <xs:sequence>\n          <xs:element name=\"IsAbstract\" type=\"xs:boolean\" minOccurs=\"1\" />\n        </xs:sequence>\n      </xs:extension>\n    </xs:complexContent>\n  </xs:complexType>\n  <xs:element name=\"DataTypeAttributes\" type=\"tns:DataTypeAttributes\" />\n\n  <xs:complexType name=\"ViewAttributes\">\n    <xs:complexContent mixed=\"false\">\n      <xs:extension base=\"tns:NodeAttributes\">\n        <xs:sequence>\n          <xs:element name=\"ContainsNoLoops\" type=\"xs:boolean\" minOccurs=\"1\" />\n          <xs:element name=\"EventNotifier\" type=\"xs:unsignedByte\" minOccurs=\"1\" />\n        </xs:sequence>\n      </xs:extension>\n    </xs:complexContent>\n  </xs:complexType>\n  <xs:element name=\"ViewAttributes\" type=\"tns:ViewAttributes\" />\n\n  <xs:complexType name=\"AddNodesItem\">\n  \t<xs:sequence>\n      <xs:element name=\"ParentNodeId\" type=\"ua:ExpandedNodeId\" minOccurs=\"0\" nillable=\"true\" />\n      <xs:element name=\"ReferenceTypeId\" type=\"ua:NodeId\" minOccurs=\"0\" nillable=\"true\" />\n      <xs:element name=\"RequestedNewNodeId\" type=\"ua:ExpandedNodeId\" minOccurs=\"0\" nillable=\"true\" />\n      <xs:element name=\"BrowseName\" type=\"ua:QualifiedName\" minOccurs=\"0\" nillable=\"true\" />\n      <xs:element name=\"NodeClass\" type=\"tns:NodeClass\" minOccurs=\"1\" />\n      <xs:element name=\"NodeAttributes\" type=\"ua:ExtensionObject\" minOccurs=\"1\" />\n      <xs:element name=\"TypeDefinition\" type=\"ua:ExpandedNodeId\" minOccurs=\"0\" nillable=\"true\" />\n  \t</xs:sequence>\n  </xs:complexType>\n  <xs:element name=\"AddNodesItem\" type=\"tns:AddNodesItem\" />\n\n  <xs:complexType name=\"ListOfAddNodesItem\">\n    <xs:sequence>\n      <xs:element name=\"AddNodesItem\" type=\"tns:AddNodesItem\" minOccurs=\"0\" maxOccurs=\"unbounded\" nillable=\"true\" />\n    </xs:sequence>\n  </xs:complexType>\n  <xs:element name=\"ListOfAddNodesItem\" type=\"tns:ListOfAddNodesItem\" nillable=\"true\"></xs:element>\n\n  <xs:complexType name=\"AddReferencesItem\">\n  \t<xs:sequence>\n      <xs:element name=\"SourceNodeId\" type=\"ua:NodeId\" minOccurs=\"0\" nillable=\"true\" />\n      <xs:element name=\"ReferenceTypeId\" type=\"ua:NodeId\" minOccurs=\"0\" nillable=\"true\" />\n      <xs:element name=\"IsForward\" type=\"xs:boolean\" minOccurs=\"1\" />\n      <xs:element name=\"TargetServerUri\" type=\"xs:string\" minOccurs=\"0\" nillable=\"true\" />\n      <xs:element name=\"TargetNodeId\" type=\"ua:ExpandedNodeId\" minOccurs=\"0\" nillable=\"true\" />\n      <xs:element name=\"TargetNodeClass\" type=\"tns:NodeClass\" minOccurs=\"1\" />\n  \t</xs:sequence>\n  </xs:complexType>\n  <xs:element name=\"AddReferencesItem\" type=\"tns:AddReferencesItem\" />\n\n  <xs:complexType name=\"ListOfAddReferencesItem\">\n    <xs:sequence>\n      <xs:element name=\"AddReferencesItem\" type=\"tns:AddReferencesItem\" minOccurs=\"0\" maxOccurs=\"unbounded\" nillable=\"true\" />\n    </xs:sequence>\n  </xs:complexType>\n  <xs:element name=\"ListOfAddReferencesItem\" type=\"tns:ListOfAddReferencesItem\" nillable=\"true\"></xs:element>\n\n  <xs:complexType name=\"DeleteNodesItem\">\n  \t<xs:sequence>\n      <xs:element name=\"NodeId\" type=\"ua:NodeId\" minOccurs=\"0\" nillable=\"true\" />\n      <xs:element name=\"DeleteTargetReferences\" type=\"xs:boolean\" minOccurs=\"1\" />\n  \t</xs:sequence>\n  </xs:complexType>\n  <xs:element name=\"DeleteNodesItem\" type=\"tns:DeleteNodesItem\" />\n\n  <xs:complexType name=\"ListOfDeleteNodesItem\">\n    <xs:sequence>\n      <xs:element name=\"DeleteNodesItem\" type=\"tns:DeleteNodesItem\" minOccurs=\"0\" maxOccurs=\"unbounded\" nillable=\"true\" />\n    </xs:sequence>\n  </xs:complexType>\n  <xs:element name=\"ListOfDeleteNodesItem\" type=\"tns:ListOfDeleteNodesItem\" nillable=\"true\"></xs:element>\n\n  <xs:complexType name=\"DeleteReferencesItem\">\n  \t<xs:sequence>\n      <xs:element name=\"SourceNodeId\" type=\"ua:NodeId\" minOccurs=\"0\" nillable=\"true\" />\n      <xs:element name=\"ReferenceTypeId\" type=\"ua:NodeId\" minOccurs=\"0\" nillable=\"true\" />\n      <xs:element name=\"IsForward\" type=\"xs:boolean\" minOccurs=\"1\" />\n      <xs:element name=\"TargetNodeId\" type=\"ua:ExpandedNodeId\" minOccurs=\"0\" nillable=\"true\" />\n      <xs:element name=\"DeleteBidirectional\" type=\"xs:boolean\" minOccurs=\"1\" />\n  \t</xs:sequence>\n  </xs:complexType>\n  <xs:element name=\"DeleteReferencesItem\" type=\"tns:DeleteReferencesItem\" />\n\n  <xs:complexType name=\"ListOfDeleteReferencesItem\">\n    <xs:sequence>\n      <xs:element name=\"DeleteReferencesItem\" type=\"tns:DeleteReferencesItem\" minOccurs=\"0\" maxOccurs=\"unbounded\" nillable=\"true\" />\n    </xs:sequence>\n  </xs:complexType>\n  <xs:element name=\"ListOfDeleteReferencesItem\" type=\"tns:ListOfDeleteReferencesItem\" nillable=\"true\"></xs:element>\n\n  <xs:element name=\"SessionAuthenticationToken\" type=\"ua:NodeId\" />\n\n  <xs:complexType name=\"RequestHeader\">\n  \t<xs:sequence>\n      <xs:element name=\"AuthenticationToken\" type=\"ua:NodeId\" minOccurs=\"0\" nillable=\"true\" />\n      <xs:element name=\"Timestamp\" type=\"xs:dateTime\" minOccurs=\"1\" />\n      <xs:element name=\"RequestHandle\" type=\"xs:unsignedInt\" minOccurs=\"1\" />\n      <xs:element name=\"ReturnDiagnostics\" type=\"xs:unsignedInt\" minOccurs=\"1\" />\n      <xs:element name=\"AuditEntryId\" type=\"xs:string\" minOccurs=\"0\" nillable=\"true\" />\n      <xs:element name=\"TimeoutHint\" type=\"xs:unsignedInt\" minOccurs=\"1\" />\n      <xs:element name=\"AdditionalHeader\" type=\"ua:ExtensionObject\" minOccurs=\"1\" />\n  \t</xs:sequence>\n  </xs:complexType>\n  <xs:element name=\"RequestHeader\" type=\"tns:RequestHeader\" />\n\n  <xs:complexType name=\"ResponseHeader\">\n  \t<xs:sequence>\n      <xs:element name=\"Timestamp\" type=\"xs:dateTime\" minOccurs=\"1\" />\n      <xs:element name=\"RequestHandle\" type=\"xs:unsignedInt\" minOccurs=\"1\" />\n      <xs:element name=\"ServiceResult\" type=\"ua:StatusCode\" minOccurs=\"0\" />\n      <xs:element name=\"ServiceDiagnostics\" type=\"ua:DiagnosticInfo\" minOccurs=\"0\" nillable=\"true\" />\n      <xs:element name=\"StringTable\" type=\"ua:ListOfString\" minOccurs=\"0\" nillable=\"true\" />\n      <xs:element name=\"AdditionalHeader\" type=\"ua:ExtensionObject\" minOccurs=\"1\" />\n  \t</xs:sequence>\n  </xs:complexType>\n  <xs:element name=\"ResponseHeader\" type=\"tns:ResponseHeader\" />\n\n  <xs:complexType name=\"ServiceFault\">\n  \t<xs:sequence>\n      <xs:element name=\"ResponseHeader\" type=\"tns:ResponseHeader\" minOccurs=\"1\" />\n  \t</xs:sequence>\n  </xs:complexType>\n  <xs:element name=\"ServiceFault\" type=\"tns:ServiceFault\" />\n\n  <xs:simpleType  name=\"EnumeratedTestType\">\n    <xs:annotation>\n      <xs:documentation>A simple enumerated type used for testing.</xs:documentation>\n    </xs:annotation>\n    <xs:restriction base=\"xs:string\">\n      <xs:enumeration value=\"Red_1\" />\n      <xs:enumeration value=\"Yellow_4\" />\n      <xs:enumeration value=\"Green_5\" />\n    </xs:restriction>\n  </xs:simpleType>\n  <xs:element name=\"EnumeratedTestType\" type=\"tns:EnumeratedTestType\" />\n\n  <xs:complexType name=\"ListOfEnumeratedTestType\">\n    <xs:sequence>\n      <xs:element name=\"EnumeratedTestType\" type=\"tns:EnumeratedTestType\" minOccurs=\"0\" maxOccurs=\"unbounded\" nillable=\"true\" />\n    </xs:sequence>\n  </xs:complexType>\n  <xs:element name=\"ListOfEnumeratedTestType\" type=\"tns:ListOfEnumeratedTestType\" nillable=\"true\"></xs:element>\n\n  <xs:complexType name=\"ScalarTestType\">\n  \t<xs:annotation>\n  \t  <xs:documentation>A complex type containing all possible scalar types used for testing.</xs:documentation>\n  \t</xs:annotation>\n  \t<xs:sequence>\n      <xs:element name=\"Boolean\" type=\"xs:boolean\" minOccurs=\"1\" />\n      <xs:element name=\"SByte\" type=\"xs:byte\" minOccurs=\"1\" />\n      <xs:element name=\"Byte\" type=\"xs:unsignedByte\" minOccurs=\"1\" />\n      <xs:element name=\"Int16\" type=\"xs:short\" minOccurs=\"1\" />\n      <xs:element name=\"UInt16\" type=\"xs:unsignedShort\" minOccurs=\"1\" />\n      <xs:element name=\"Int32\" type=\"xs:int\" minOccurs=\"1\" />\n      <xs:element name=\"UInt32\" type=\"xs:unsignedInt\" minOccurs=\"1\" />\n      <xs:element name=\"Int64\" type=\"xs:long\" minOccurs=\"1\" />\n      <xs:element name=\"UInt64\" type=\"xs:unsignedLong\" minOccurs=\"1\" />\n      <xs:element name=\"Float\" type=\"xs:float\" minOccurs=\"1\" />\n      <xs:element name=\"Double\" type=\"xs:double\" minOccurs=\"1\" />\n      <xs:element name=\"String\" type=\"xs:string\" minOccurs=\"0\" nillable=\"true\" />\n      <xs:element name=\"DateTime\" type=\"xs:dateTime\" minOccurs=\"1\" />\n      <xs:element name=\"Guid\" type=\"ua:Guid\" minOccurs=\"0\" />\n      <xs:element name=\"ByteString\" type=\"xs:base64Binary\" minOccurs=\"0\" nillable=\"true\" />\n      <xs:element name=\"XmlElement\" >\n        <xs:complexType>\n          <xs:sequence>\n            <xs:any minOccurs=\"0\" processContents=\"lax\" />\n          </xs:sequence>\n        </xs:complexType>\n      </xs:element>\n      <xs:element name=\"NodeId\" type=\"ua:NodeId\" minOccurs=\"0\" nillable=\"true\" />\n      <xs:element name=\"ExpandedNodeId\" type=\"ua:ExpandedNodeId\" minOccurs=\"0\" nillable=\"true\" />\n      <xs:element name=\"StatusCode\" type=\"ua:StatusCode\" minOccurs=\"0\" />\n      <xs:element name=\"DiagnosticInfo\" type=\"ua:DiagnosticInfo\" minOccurs=\"0\" nillable=\"true\" />\n      <xs:element name=\"QualifiedName\" type=\"ua:QualifiedName\" minOccurs=\"0\" nillable=\"true\" />\n      <xs:element name=\"LocalizedText\" type=\"ua:LocalizedText\" minOccurs=\"0\" nillable=\"true\" />\n      <xs:element name=\"ExtensionObject\" type=\"ua:ExtensionObject\" minOccurs=\"1\" />\n      <xs:element name=\"DataValue\" type=\"ua:DataValue\" minOccurs=\"1\" />\n      <xs:element name=\"EnumeratedValue\" type=\"tns:EnumeratedTestType\" minOccurs=\"1\" />\n  \t</xs:sequence>\n  </xs:complexType>\n  <xs:element name=\"ScalarTestType\" type=\"tns:ScalarTestType\" />\n\n  <xs:complexType name=\"ListOfScalarTestType\">\n    <xs:sequence>\n      <xs:element name=\"ScalarTestType\" type=\"tns:ScalarTestType\" minOccurs=\"0\" maxOccurs=\"unbounded\" nillable=\"true\" />\n    </xs:sequence>\n  </xs:complexType>\n  <xs:element name=\"ListOfScalarTestType\" type=\"tns:ListOfScalarTestType\" nillable=\"true\"></xs:element>\n\n  <xs:complexType name=\"ArrayTestType\">\n  \t<xs:annotation>\n  \t  <xs:documentation>A complex type containing all possible array types used for testing.</xs:documentation>\n  \t</xs:annotation>\n  \t<xs:sequence>\n      <xs:element name=\"Booleans\" type=\"ua:ListOfBoolean\" minOccurs=\"1\" />\n      <xs:element name=\"SBytes\" type=\"ua:ListOfSByte\" minOccurs=\"1\" />\n      <xs:element name=\"Int16s\" type=\"ua:ListOfInt16\" minOccurs=\"1\" />\n      <xs:element name=\"UInt16s\" type=\"ua:ListOfUInt16\" minOccurs=\"1\" />\n      <xs:element name=\"Int32s\" type=\"ua:ListOfInt32\" minOccurs=\"1\" />\n      <xs:element name=\"UInt32s\" type=\"ua:ListOfUInt32\" minOccurs=\"1\" />\n      <xs:element name=\"Int64s\" type=\"ua:ListOfInt64\" minOccurs=\"1\" />\n      <xs:element name=\"UInt64s\" type=\"ua:ListOfUInt64\" minOccurs=\"1\" />\n      <xs:element name=\"Floats\" type=\"ua:ListOfFloat\" minOccurs=\"1\" />\n      <xs:element name=\"Doubles\" type=\"ua:ListOfDouble\" minOccurs=\"1\" />\n      <xs:element name=\"Strings\" type=\"ua:ListOfString\" minOccurs=\"0\" nillable=\"true\" />\n      <xs:element name=\"DateTimes\" type=\"ua:ListOfDateTime\" minOccurs=\"1\" />\n      <xs:element name=\"Guids\" type=\"ua:ListOfGuid\" minOccurs=\"0\" />\n      <xs:element name=\"ByteStrings\" type=\"ua:ListOfByteString\" minOccurs=\"0\" nillable=\"true\" />\n      <xs:element name=\"XmlElements\" >\n        <xs:complexType>\n          <xs:sequence>\n            <xs:any minOccurs=\"0\" processContents=\"lax\" />\n          </xs:sequence>\n        </xs:complexType>\n      </xs:element>\n      <xs:element name=\"NodeIds\" type=\"ua:ListOfNodeId\" minOccurs=\"0\" nillable=\"true\" />\n      <xs:element name=\"ExpandedNodeIds\" type=\"ua:ListOfExpandedNodeId\" minOccurs=\"0\" nillable=\"true\" />\n      <xs:element name=\"StatusCodes\" type=\"ua:ListOfStatusCode\" minOccurs=\"0\" />\n      <xs:element name=\"DiagnosticInfos\" type=\"ua:ListOfDiagnosticInfo\" minOccurs=\"0\" nillable=\"true\" />\n      <xs:element name=\"QualifiedNames\" type=\"ua:ListOfQualifiedName\" minOccurs=\"0\" nillable=\"true\" />\n      <xs:element name=\"LocalizedTexts\" type=\"ua:ListOfLocalizedText\" minOccurs=\"0\" nillable=\"true\" />\n      <xs:element name=\"ExtensionObjects\" type=\"ua:ListOfExtensionObject\" minOccurs=\"1\" />\n      <xs:element name=\"DataValues\" type=\"ua:ListOfDataValue\" minOccurs=\"1\" />\n      <xs:element name=\"Variants\" type=\"ua:ListOfVariant\" minOccurs=\"1\" />\n      <xs:element name=\"EnumeratedValues\" type=\"tns:ListOfEnumeratedTestType\" minOccurs=\"1\" />\n  \t</xs:sequence>\n  </xs:complexType>\n  <xs:element name=\"ArrayTestType\" type=\"tns:ArrayTestType\" />\n\n  <xs:complexType name=\"ListOfArrayTestType\">\n    <xs:sequence>\n      <xs:element name=\"ArrayTestType\" type=\"tns:ArrayTestType\" minOccurs=\"0\" maxOccurs=\"unbounded\" nillable=\"true\" />\n    </xs:sequence>\n  </xs:complexType>\n  <xs:element name=\"ListOfArrayTestType\" type=\"tns:ListOfArrayTestType\" nillable=\"true\"></xs:element>\n\n  <xs:complexType name=\"CompositeTestType\">\n  \t<xs:sequence>\n      <xs:element name=\"Field1\" type=\"tns:ScalarTestType\" minOccurs=\"1\" />\n      <xs:element name=\"Field2\" type=\"tns:ArrayTestType\" minOccurs=\"1\" />\n  \t</xs:sequence>\n  </xs:complexType>\n  <xs:element name=\"CompositeTestType\" type=\"tns:CompositeTestType\" />\n\n  <xs:complexType name=\"TestStackRequest\">\n  \t<xs:sequence>\n      <xs:element name=\"RequestHeader\" type=\"tns:RequestHeader\" minOccurs=\"1\" />\n      <xs:element name=\"TestId\" type=\"xs:unsignedInt\" minOccurs=\"1\" />\n      <xs:element name=\"Iteration\" type=\"xs:int\" minOccurs=\"1\" />\n      <xs:element name=\"Input\" type=\"ua:Variant\" minOccurs=\"1\" />\n  \t</xs:sequence>\n  </xs:complexType>\n  <xs:element name=\"TestStackRequest\" type=\"tns:TestStackRequest\" />\n\n  <xs:complexType name=\"TestStackResponse\">\n  \t<xs:sequence>\n      <xs:element name=\"ResponseHeader\" type=\"tns:ResponseHeader\" minOccurs=\"1\" />\n      <xs:element name=\"Output\" type=\"ua:Variant\" minOccurs=\"1\" />\n  \t</xs:sequence>\n  </xs:complexType>\n  <xs:element name=\"TestStackResponse\" type=\"tns:TestStackResponse\" />\n\n  <xs:complexType name=\"TestStackExRequest\">\n  \t<xs:sequence>\n      <xs:element name=\"RequestHeader\" type=\"tns:RequestHeader\" minOccurs=\"1\" />\n      <xs:element name=\"TestId\" type=\"xs:unsignedInt\" minOccurs=\"1\" />\n      <xs:element name=\"Iteration\" type=\"xs:int\" minOccurs=\"1\" />\n      <xs:element name=\"Input\" type=\"tns:CompositeTestType\" minOccurs=\"1\" />\n  \t</xs:sequence>\n  </xs:complexType>\n  <xs:element name=\"TestStackExRequest\" type=\"tns:TestStackExRequest\" />\n\n  <xs:complexType name=\"TestStackExResponse\">\n  \t<xs:sequence>\n      <xs:element name=\"ResponseHeader\" type=\"tns:ResponseHeader\" minOccurs=\"1\" />\n      <xs:element name=\"Output\" type=\"tns:CompositeTestType\" minOccurs=\"1\" />\n  \t</xs:sequence>\n  </xs:complexType>\n  <xs:element name=\"TestStackExResponse\" type=\"tns:TestStackExResponse\" />\n\n  <xs:complexType name=\"FindServersRequest\">\n  \t<xs:sequence>\n      <xs:element name=\"RequestHeader\" type=\"tns:RequestHeader\" minOccurs=\"1\" />\n      <xs:element name=\"EndpointUrl\" type=\"xs:string\" minOccurs=\"0\" nillable=\"true\" />\n      <xs:element name=\"LocaleIds\" type=\"ua:ListOfString\" minOccurs=\"0\" nillable=\"true\" />\n      <xs:element name=\"ServerUris\" type=\"ua:ListOfString\" minOccurs=\"0\" nillable=\"true\" />\n  \t</xs:sequence>\n  </xs:complexType>\n  <xs:element name=\"FindServersRequest\" type=\"tns:FindServersRequest\" />\n\n  <xs:complexType name=\"FindServersResponse\">\n  \t<xs:sequence>\n      <xs:element name=\"ResponseHeader\" type=\"tns:ResponseHeader\" minOccurs=\"1\" />\n      <xs:element name=\"Servers\" type=\"tns:ListOfApplicationDescription\" minOccurs=\"1\" />\n  \t</xs:sequence>\n  </xs:complexType>\n  <xs:element name=\"FindServersResponse\" type=\"tns:FindServersResponse\" />\n\n  <xs:complexType name=\"GetEndpointsRequest\">\n  \t<xs:sequence>\n      <xs:element name=\"RequestHeader\" type=\"tns:RequestHeader\" minOccurs=\"1\" />\n      <xs:element name=\"EndpointUrl\" type=\"xs:string\" minOccurs=\"0\" nillable=\"true\" />\n      <xs:element name=\"LocaleIds\" type=\"ua:ListOfString\" minOccurs=\"0\" nillable=\"true\" />\n      <xs:element name=\"ProfileUris\" type=\"ua:ListOfString\" minOccurs=\"0\" nillable=\"true\" />\n  \t</xs:sequence>\n  </xs:complexType>\n  <xs:element name=\"GetEndpointsRequest\" type=\"tns:GetEndpointsRequest\" />\n\n  <xs:complexType name=\"GetEndpointsResponse\">\n  \t<xs:sequence>\n      <xs:element name=\"ResponseHeader\" type=\"tns:ResponseHeader\" minOccurs=\"1\" />\n      <xs:element name=\"Endpoints\" type=\"tns:ListOfEndpointDescription\" minOccurs=\"1\" />\n  \t</xs:sequence>\n  </xs:complexType>\n  <xs:element name=\"GetEndpointsResponse\" type=\"tns:GetEndpointsResponse\" />\n\n  <xs:complexType name=\"RegisteredServer\">\n  \t<xs:sequence>\n      <xs:element name=\"ServerUri\" type=\"xs:string\" minOccurs=\"0\" nillable=\"true\" />\n      <xs:element name=\"ProductUri\" type=\"xs:string\" minOccurs=\"0\" nillable=\"true\" />\n      <xs:element name=\"ServerNames\" type=\"ua:ListOfLocalizedText\" minOccurs=\"0\" nillable=\"true\" />\n      <xs:element name=\"ServerType\" type=\"tns:ApplicationType\" minOccurs=\"1\" />\n      <xs:element name=\"GatewayServerUri\" type=\"xs:string\" minOccurs=\"0\" nillable=\"true\" />\n      <xs:element name=\"DiscoveryUrls\" type=\"ua:ListOfString\" minOccurs=\"0\" nillable=\"true\" />\n      <xs:element name=\"SemaphoreFilePath\" type=\"xs:string\" minOccurs=\"0\" nillable=\"true\" />\n      <xs:element name=\"IsOnline\" type=\"xs:boolean\" minOccurs=\"1\" />\n  \t</xs:sequence>\n  </xs:complexType>\n  <xs:element name=\"RegisteredServer\" type=\"tns:RegisteredServer\" />\n\n  <xs:complexType name=\"ListOfRegisteredServer\">\n    <xs:sequence>\n      <xs:element name=\"RegisteredServer\" type=\"tns:RegisteredServer\" minOccurs=\"0\" maxOccurs=\"unbounded\" nillable=\"true\" />\n    </xs:sequence>\n  </xs:complexType>\n  <xs:element name=\"ListOfRegisteredServer\" type=\"tns:ListOfRegisteredServer\" nillable=\"true\"></xs:element>\n\n  <xs:complexType name=\"RegisterServerRequest\">\n  \t<xs:sequence>\n      <xs:element name=\"RequestHeader\" type=\"tns:RequestHeader\" minOccurs=\"1\" />\n      <xs:element name=\"Server\" type=\"tns:RegisteredServer\" minOccurs=\"1\" />\n  \t</xs:sequence>\n  </xs:complexType>\n  <xs:element name=\"RegisterServerRequest\" type=\"tns:RegisterServerRequest\" />\n\n  <xs:complexType name=\"RegisterServerResponse\">\n  \t<xs:sequence>\n      <xs:element name=\"ResponseHeader\" type=\"tns:ResponseHeader\" minOccurs=\"1\" />\n  \t</xs:sequence>\n  </xs:complexType>\n  <xs:element name=\"RegisterServerResponse\" type=\"tns:RegisterServerResponse\" />\n\n  <xs:complexType name=\"ChannelSecurityToken\">\n  \t<xs:sequence>\n      <xs:element name=\"ChannelId\" type=\"xs:unsignedInt\" minOccurs=\"1\" />\n      <xs:element name=\"TokenId\" type=\"xs:unsignedInt\" minOccurs=\"1\" />\n      <xs:element name=\"CreatedAt\" type=\"xs:dateTime\" minOccurs=\"1\" />\n      <xs:element name=\"RevisedLifetime\" type=\"xs:unsignedInt\" minOccurs=\"1\" />\n  \t</xs:sequence>\n  </xs:complexType>\n  <xs:element name=\"ChannelSecurityToken\" type=\"tns:ChannelSecurityToken\" />\n\n  <xs:complexType name=\"OpenSecureChannelRequest\">\n  \t<xs:sequence>\n      <xs:element name=\"RequestHeader\" type=\"tns:RequestHeader\" minOccurs=\"1\" />\n      <xs:element name=\"ClientProtocolVersion\" type=\"xs:unsignedInt\" minOccurs=\"1\" />\n      <xs:element name=\"RequestType\" type=\"tns:SecurityTokenRequestType\" minOccurs=\"1\" />\n      <xs:element name=\"SecurityMode\" type=\"tns:MessageSecurityMode\" minOccurs=\"1\" />\n      <xs:element name=\"ClientNonce\" type=\"xs:base64Binary\" minOccurs=\"0\" nillable=\"true\" />\n      <xs:element name=\"RequestedLifetime\" type=\"xs:unsignedInt\" minOccurs=\"1\" />\n  \t</xs:sequence>\n  </xs:complexType>\n  <xs:element name=\"OpenSecureChannelRequest\" type=\"tns:OpenSecureChannelRequest\" />\n\n  <xs:complexType name=\"OpenSecureChannelResponse\">\n  \t<xs:sequence>\n      <xs:element name=\"ResponseHeader\" type=\"tns:ResponseHeader\" minOccurs=\"1\" />\n      <xs:element name=\"ServerProtocolVersion\" type=\"xs:unsignedInt\" minOccurs=\"1\" />\n      <xs:element name=\"SecurityToken\" type=\"tns:ChannelSecurityToken\" minOccurs=\"1\" />\n      <xs:element name=\"ServerNonce\" type=\"xs:base64Binary\" minOccurs=\"0\" nillable=\"true\" />\n  \t</xs:sequence>\n  </xs:complexType>\n  <xs:element name=\"OpenSecureChannelResponse\" type=\"tns:OpenSecureChannelResponse\" />\n\n  <xs:complexType name=\"CloseSecureChannelRequest\">\n  \t<xs:sequence>\n      <xs:element name=\"RequestHeader\" type=\"tns:RequestHeader\" minOccurs=\"1\" />\n  \t</xs:sequence>\n  </xs:complexType>\n  <xs:element name=\"CloseSecureChannelRequest\" type=\"tns:CloseSecureChannelRequest\" />\n\n  <xs:complexType name=\"CloseSecureChannelResponse\">\n  \t<xs:sequence>\n      <xs:element name=\"ResponseHeader\" type=\"tns:ResponseHeader\" minOccurs=\"1\" />\n  \t</xs:sequence>\n  </xs:complexType>\n  <xs:element name=\"CloseSecureChannelResponse\" type=\"tns:CloseSecureChannelResponse\" />\n\n  <xs:complexType name=\"SignatureData\">\n  \t<xs:sequence>\n      <xs:element name=\"Algorithm\" type=\"xs:string\" minOccurs=\"0\" nillable=\"true\" />\n      <xs:element name=\"Signature\" type=\"xs:base64Binary\" minOccurs=\"0\" nillable=\"true\" />\n  \t</xs:sequence>\n  </xs:complexType>\n  <xs:element name=\"SignatureData\" type=\"tns:SignatureData\" />\n\n  <xs:complexType name=\"CreateSessionRequest\">\n  \t<xs:sequence>\n      <xs:element name=\"RequestHeader\" type=\"tns:RequestHeader\" minOccurs=\"1\" />\n      <xs:element name=\"ClientDescription\" type=\"tns:ApplicationDescription\" minOccurs=\"1\" />\n      <xs:element name=\"ServerUri\" type=\"xs:string\" minOccurs=\"0\" nillable=\"true\" />\n      <xs:element name=\"EndpointUrl\" type=\"xs:string\" minOccurs=\"0\" nillable=\"true\" />\n      <xs:element name=\"SessionName\" type=\"xs:string\" minOccurs=\"0\" nillable=\"true\" />\n      <xs:element name=\"ClientNonce\" type=\"xs:base64Binary\" minOccurs=\"0\" nillable=\"true\" />\n      <xs:element name=\"ClientCertificate\" type=\"xs:base64Binary\" minOccurs=\"0\" nillable=\"true\" />\n      <xs:element name=\"RequestedSessionTimeout\" type=\"xs:double\" minOccurs=\"1\" />\n      <xs:element name=\"MaxResponseMessageSize\" type=\"xs:unsignedInt\" minOccurs=\"1\" />\n  \t</xs:sequence>\n  </xs:complexType>\n  <xs:element name=\"CreateSessionRequest\" type=\"tns:CreateSessionRequest\" />\n\n  <xs:complexType name=\"CreateSessionResponse\">\n  \t<xs:sequence>\n      <xs:element name=\"ResponseHeader\" type=\"tns:ResponseHeader\" minOccurs=\"1\" />\n      <xs:element name=\"SessionId\" type=\"ua:NodeId\" minOccurs=\"0\" nillable=\"true\" />\n      <xs:element name=\"AuthenticationToken\" type=\"ua:NodeId\" minOccurs=\"0\" nillable=\"true\" />\n      <xs:element name=\"RevisedSessionTimeout\" type=\"xs:double\" minOccurs=\"1\" />\n      <xs:element name=\"ServerNonce\" type=\"xs:base64Binary\" minOccurs=\"0\" nillable=\"true\" />\n      <xs:element name=\"ServerCertificate\" type=\"xs:base64Binary\" minOccurs=\"0\" nillable=\"true\" />\n      <xs:element name=\"ServerEndpoints\" type=\"tns:ListOfEndpointDescription\" minOccurs=\"1\" />\n      <xs:element name=\"ServerSoftwareCertificates\" type=\"tns:ListOfSignedSoftwareCertificate\" minOccurs=\"1\" />\n      <xs:element name=\"ServerSignature\" type=\"tns:SignatureData\" minOccurs=\"1\" />\n      <xs:element name=\"MaxRequestMessageSize\" type=\"xs:unsignedInt\" minOccurs=\"1\" />\n  \t</xs:sequence>\n  </xs:complexType>\n  <xs:element name=\"CreateSessionResponse\" type=\"tns:CreateSessionResponse\" />\n\n  <xs:complexType name=\"ActivateSessionRequest\">\n  \t<xs:sequence>\n      <xs:element name=\"RequestHeader\" type=\"tns:RequestHeader\" minOccurs=\"1\" />\n      <xs:element name=\"ClientSignature\" type=\"tns:SignatureData\" minOccurs=\"1\" />\n      <xs:element name=\"ClientSoftwareCertificates\" type=\"tns:ListOfSignedSoftwareCertificate\" minOccurs=\"1\" />\n      <xs:element name=\"LocaleIds\" type=\"ua:ListOfString\" minOccurs=\"0\" nillable=\"true\" />\n      <xs:element name=\"UserIdentityToken\" type=\"ua:ExtensionObject\" minOccurs=\"1\" />\n      <xs:element name=\"UserTokenSignature\" type=\"tns:SignatureData\" minOccurs=\"1\" />\n  \t</xs:sequence>\n  </xs:complexType>\n  <xs:element name=\"ActivateSessionRequest\" type=\"tns:ActivateSessionRequest\" />\n\n  <xs:complexType name=\"ActivateSessionResponse\">\n  \t<xs:sequence>\n      <xs:element name=\"ResponseHeader\" type=\"tns:ResponseHeader\" minOccurs=\"1\" />\n      <xs:element name=\"ServerNonce\" type=\"xs:base64Binary\" minOccurs=\"0\" nillable=\"true\" />\n      <xs:element name=\"Results\" type=\"ua:ListOfStatusCode\" minOccurs=\"0\" />\n      <xs:element name=\"DiagnosticInfos\" type=\"ua:ListOfDiagnosticInfo\" minOccurs=\"0\" nillable=\"true\" />\n  \t</xs:sequence>\n  </xs:complexType>\n  <xs:element name=\"ActivateSessionResponse\" type=\"tns:ActivateSessionResponse\" />\n\n  <xs:complexType name=\"CloseSessionRequest\">\n  \t<xs:sequence>\n      <xs:element name=\"RequestHeader\" type=\"tns:RequestHeader\" minOccurs=\"1\" />\n      <xs:element name=\"DeleteSubscriptions\" type=\"xs:boolean\" minOccurs=\"1\" />\n  \t</xs:sequence>\n  </xs:complexType>\n  <xs:element name=\"CloseSessionRequest\" type=\"tns:CloseSessionRequest\" />\n\n  <xs:complexType name=\"CloseSessionResponse\">\n  \t<xs:sequence>\n      <xs:element name=\"ResponseHeader\" type=\"tns:ResponseHeader\" minOccurs=\"1\" />\n  \t</xs:sequence>\n  </xs:complexType>\n  <xs:element name=\"CloseSessionResponse\" type=\"tns:CloseSessionResponse\" />\n\n  <xs:complexType name=\"CancelRequest\">\n  \t<xs:sequence>\n      <xs:element name=\"RequestHeader\" type=\"tns:RequestHeader\" minOccurs=\"1\" />\n      <xs:element name=\"RequestHandle\" type=\"xs:unsignedInt\" minOccurs=\"1\" />\n  \t</xs:sequence>\n  </xs:complexType>\n  <xs:element name=\"CancelRequest\" type=\"tns:CancelRequest\" />\n\n  <xs:complexType name=\"CancelResponse\">\n  \t<xs:sequence>\n      <xs:element name=\"ResponseHeader\" type=\"tns:ResponseHeader\" minOccurs=\"1\" />\n      <xs:element name=\"CancelCount\" type=\"xs:unsignedInt\" minOccurs=\"1\" />\n  \t</xs:sequence>\n  </xs:complexType>\n  <xs:element name=\"CancelResponse\" type=\"tns:CancelResponse\" />\n\n  <xs:complexType name=\"AddNodesResult\">\n  \t<xs:sequence>\n      <xs:element name=\"StatusCode\" type=\"ua:StatusCode\" minOccurs=\"0\" />\n      <xs:element name=\"AddedNodeId\" type=\"ua:NodeId\" minOccurs=\"0\" nillable=\"true\" />\n  \t</xs:sequence>\n  </xs:complexType>\n  <xs:element name=\"AddNodesResult\" type=\"tns:AddNodesResult\" />\n\n  <xs:complexType name=\"ListOfAddNodesResult\">\n    <xs:sequence>\n      <xs:element name=\"AddNodesResult\" type=\"tns:AddNodesResult\" minOccurs=\"0\" maxOccurs=\"unbounded\" nillable=\"true\" />\n    </xs:sequence>\n  </xs:complexType>\n  <xs:element name=\"ListOfAddNodesResult\" type=\"tns:ListOfAddNodesResult\" nillable=\"true\"></xs:element>\n\n  <xs:complexType name=\"AddNodesRequest\">\n  \t<xs:sequence>\n      <xs:element name=\"RequestHeader\" type=\"tns:RequestHeader\" minOccurs=\"1\" />\n      <xs:element name=\"NodesToAdd\" type=\"tns:ListOfAddNodesItem\" minOccurs=\"1\" />\n  \t</xs:sequence>\n  </xs:complexType>\n  <xs:element name=\"AddNodesRequest\" type=\"tns:AddNodesRequest\" />\n\n  <xs:complexType name=\"AddNodesResponse\">\n  \t<xs:sequence>\n      <xs:element name=\"ResponseHeader\" type=\"tns:ResponseHeader\" minOccurs=\"1\" />\n      <xs:element name=\"Results\" type=\"tns:ListOfAddNodesResult\" minOccurs=\"1\" />\n      <xs:element name=\"DiagnosticInfos\" type=\"ua:ListOfDiagnosticInfo\" minOccurs=\"0\" nillable=\"true\" />\n  \t</xs:sequence>\n  </xs:complexType>\n  <xs:element name=\"AddNodesResponse\" type=\"tns:AddNodesResponse\" />\n\n  <xs:complexType name=\"AddReferencesRequest\">\n  \t<xs:sequence>\n      <xs:element name=\"RequestHeader\" type=\"tns:RequestHeader\" minOccurs=\"1\" />\n      <xs:element name=\"ReferencesToAdd\" type=\"tns:ListOfAddReferencesItem\" minOccurs=\"1\" />\n  \t</xs:sequence>\n  </xs:complexType>\n  <xs:element name=\"AddReferencesRequest\" type=\"tns:AddReferencesRequest\" />\n\n  <xs:complexType name=\"AddReferencesResponse\">\n  \t<xs:sequence>\n      <xs:element name=\"ResponseHeader\" type=\"tns:ResponseHeader\" minOccurs=\"1\" />\n      <xs:element name=\"Results\" type=\"ua:ListOfStatusCode\" minOccurs=\"0\" />\n      <xs:element name=\"DiagnosticInfos\" type=\"ua:ListOfDiagnosticInfo\" minOccurs=\"0\" nillable=\"true\" />\n  \t</xs:sequence>\n  </xs:complexType>\n  <xs:element name=\"AddReferencesResponse\" type=\"tns:AddReferencesResponse\" />\n\n  <xs:complexType name=\"DeleteNodesRequest\">\n  \t<xs:sequence>\n      <xs:element name=\"RequestHeader\" type=\"tns:RequestHeader\" minOccurs=\"1\" />\n      <xs:element name=\"NodesToDelete\" type=\"tns:ListOfDeleteNodesItem\" minOccurs=\"1\" />\n  \t</xs:sequence>\n  </xs:complexType>\n  <xs:element name=\"DeleteNodesRequest\" type=\"tns:DeleteNodesRequest\" />\n\n  <xs:complexType name=\"DeleteNodesResponse\">\n  \t<xs:sequence>\n      <xs:element name=\"ResponseHeader\" type=\"tns:ResponseHeader\" minOccurs=\"1\" />\n      <xs:element name=\"Results\" type=\"ua:ListOfStatusCode\" minOccurs=\"0\" />\n      <xs:element name=\"DiagnosticInfos\" type=\"ua:ListOfDiagnosticInfo\" minOccurs=\"0\" nillable=\"true\" />\n  \t</xs:sequence>\n  </xs:complexType>\n  <xs:element name=\"DeleteNodesResponse\" type=\"tns:DeleteNodesResponse\" />\n\n  <xs:complexType name=\"DeleteReferencesRequest\">\n  \t<xs:sequence>\n      <xs:element name=\"RequestHeader\" type=\"tns:RequestHeader\" minOccurs=\"1\" />\n      <xs:element name=\"ReferencesToDelete\" type=\"tns:ListOfDeleteReferencesItem\" minOccurs=\"1\" />\n  \t</xs:sequence>\n  </xs:complexType>\n  <xs:element name=\"DeleteReferencesRequest\" type=\"tns:DeleteReferencesRequest\" />\n\n  <xs:complexType name=\"DeleteReferencesResponse\">\n  \t<xs:sequence>\n      <xs:element name=\"ResponseHeader\" type=\"tns:ResponseHeader\" minOccurs=\"1\" />\n      <xs:element name=\"Results\" type=\"ua:ListOfStatusCode\" minOccurs=\"0\" />\n      <xs:element name=\"DiagnosticInfos\" type=\"ua:ListOfDiagnosticInfo\" minOccurs=\"0\" nillable=\"true\" />\n  \t</xs:sequence>\n  </xs:complexType>\n  <xs:element name=\"DeleteReferencesResponse\" type=\"tns:DeleteReferencesResponse\" />\n\n  <xs:simpleType  name=\"BrowseDirection\">\n    <xs:restriction base=\"xs:string\">\n      <xs:enumeration value=\"Forward_0\" />\n      <xs:enumeration value=\"Inverse_1\" />\n      <xs:enumeration value=\"Both_2\" />\n    </xs:restriction>\n  </xs:simpleType>\n  <xs:element name=\"BrowseDirection\" type=\"tns:BrowseDirection\" />\n\n  <xs:complexType name=\"ViewDescription\">\n  \t<xs:sequence>\n      <xs:element name=\"ViewId\" type=\"ua:NodeId\" minOccurs=\"0\" nillable=\"true\" />\n      <xs:element name=\"Timestamp\" type=\"xs:dateTime\" minOccurs=\"1\" />\n      <xs:element name=\"ViewVersion\" type=\"xs:unsignedInt\" minOccurs=\"1\" />\n  \t</xs:sequence>\n  </xs:complexType>\n  <xs:element name=\"ViewDescription\" type=\"tns:ViewDescription\" />\n\n  <xs:complexType name=\"BrowseDescription\">\n  \t<xs:sequence>\n      <xs:element name=\"NodeId\" type=\"ua:NodeId\" minOccurs=\"0\" nillable=\"true\" />\n      <xs:element name=\"BrowseDirection\" type=\"tns:BrowseDirection\" minOccurs=\"1\" />\n      <xs:element name=\"ReferenceTypeId\" type=\"ua:NodeId\" minOccurs=\"0\" nillable=\"true\" />\n      <xs:element name=\"IncludeSubtypes\" type=\"xs:boolean\" minOccurs=\"1\" />\n      <xs:element name=\"NodeClassMask\" type=\"xs:unsignedInt\" minOccurs=\"1\" />\n      <xs:element name=\"ResultMask\" type=\"xs:unsignedInt\" minOccurs=\"1\" />\n  \t</xs:sequence>\n  </xs:complexType>\n  <xs:element name=\"BrowseDescription\" type=\"tns:BrowseDescription\" />\n\n  <xs:complexType name=\"ListOfBrowseDescription\">\n    <xs:sequence>\n      <xs:element name=\"BrowseDescription\" type=\"tns:BrowseDescription\" minOccurs=\"0\" maxOccurs=\"unbounded\" nillable=\"true\" />\n    </xs:sequence>\n  </xs:complexType>\n  <xs:element name=\"ListOfBrowseDescription\" type=\"tns:ListOfBrowseDescription\" nillable=\"true\"></xs:element>\n\n  <xs:simpleType  name=\"BrowseResultMask\">\n    <xs:restriction base=\"xs:string\">\n      <xs:enumeration value=\"None_0\" />\n      <xs:enumeration value=\"ReferenceTypeId_1\" />\n      <xs:enumeration value=\"IsForward_2\" />\n      <xs:enumeration value=\"NodeClass_4\" />\n      <xs:enumeration value=\"BrowseName_8\" />\n      <xs:enumeration value=\"DisplayName_16\" />\n      <xs:enumeration value=\"TypeDefinition_32\" />\n      <xs:enumeration value=\"All_63\" />\n      <xs:enumeration value=\"ReferenceTypeInfo_3\" />\n      <xs:enumeration value=\"TargetInfo_60\" />\n    </xs:restriction>\n  </xs:simpleType>\n  <xs:element name=\"BrowseResultMask\" type=\"tns:BrowseResultMask\" />\n\n  <xs:complexType name=\"ReferenceDescription\">\n  \t<xs:sequence>\n      <xs:element name=\"ReferenceTypeId\" type=\"ua:NodeId\" minOccurs=\"0\" nillable=\"true\" />\n      <xs:element name=\"IsForward\" type=\"xs:boolean\" minOccurs=\"1\" />\n      <xs:element name=\"NodeId\" type=\"ua:ExpandedNodeId\" minOccurs=\"0\" nillable=\"true\" />\n      <xs:element name=\"BrowseName\" type=\"ua:QualifiedName\" minOccurs=\"0\" nillable=\"true\" />\n      <xs:element name=\"DisplayName\" type=\"ua:LocalizedText\" minOccurs=\"0\" nillable=\"true\" />\n      <xs:element name=\"NodeClass\" type=\"tns:NodeClass\" minOccurs=\"1\" />\n      <xs:element name=\"TypeDefinition\" type=\"ua:ExpandedNodeId\" minOccurs=\"0\" nillable=\"true\" />\n  \t</xs:sequence>\n  </xs:complexType>\n  <xs:element name=\"ReferenceDescription\" type=\"tns:ReferenceDescription\" />\n\n  <xs:complexType name=\"ListOfReferenceDescription\">\n    <xs:sequence>\n      <xs:element name=\"ReferenceDescription\" type=\"tns:ReferenceDescription\" minOccurs=\"0\" maxOccurs=\"unbounded\" nillable=\"true\" />\n    </xs:sequence>\n  </xs:complexType>\n  <xs:element name=\"ListOfReferenceDescription\" type=\"tns:ListOfReferenceDescription\" nillable=\"true\"></xs:element>\n\n  <xs:element name=\"ContinuationPoint\" type=\"xs:base64Binary\" />\n\n  <xs:complexType name=\"BrowseResult\">\n  \t<xs:sequence>\n      <xs:element name=\"StatusCode\" type=\"ua:StatusCode\" minOccurs=\"0\" />\n      <xs:element name=\"ContinuationPoint\" type=\"xs:base64Binary\" minOccurs=\"0\" nillable=\"true\" />\n      <xs:element name=\"References\" type=\"tns:ListOfReferenceDescription\" minOccurs=\"1\" />\n  \t</xs:sequence>\n  </xs:complexType>\n  <xs:element name=\"BrowseResult\" type=\"tns:BrowseResult\" />\n\n  <xs:complexType name=\"ListOfBrowseResult\">\n    <xs:sequence>\n      <xs:element name=\"BrowseResult\" type=\"tns:BrowseResult\" minOccurs=\"0\" maxOccurs=\"unbounded\" nillable=\"true\" />\n    </xs:sequence>\n  </xs:complexType>\n  <xs:element name=\"ListOfBrowseResult\" type=\"tns:ListOfBrowseResult\" nillable=\"true\"></xs:element>\n\n  <xs:complexType name=\"BrowseRequest\">\n  \t<xs:sequence>\n      <xs:element name=\"RequestHeader\" type=\"tns:RequestHeader\" minOccurs=\"1\" />\n      <xs:element name=\"View\" type=\"tns:ViewDescription\" minOccurs=\"1\" />\n      <xs:element name=\"RequestedMaxReferencesPerNode\" type=\"xs:unsignedInt\" minOccurs=\"1\" />\n      <xs:element name=\"NodesToBrowse\" type=\"tns:ListOfBrowseDescription\" minOccurs=\"1\" />\n  \t</xs:sequence>\n  </xs:complexType>\n  <xs:element name=\"BrowseRequest\" type=\"tns:BrowseRequest\" />\n\n  <xs:complexType name=\"BrowseResponse\">\n  \t<xs:sequence>\n      <xs:element name=\"ResponseHeader\" type=\"tns:ResponseHeader\" minOccurs=\"1\" />\n      <xs:element name=\"Results\" type=\"tns:ListOfBrowseResult\" minOccurs=\"1\" />\n      <xs:element name=\"DiagnosticInfos\" type=\"ua:ListOfDiagnosticInfo\" minOccurs=\"0\" nillable=\"true\" />\n  \t</xs:sequence>\n  </xs:complexType>\n  <xs:element name=\"BrowseResponse\" type=\"tns:BrowseResponse\" />\n\n  <xs:complexType name=\"BrowseNextRequest\">\n  \t<xs:sequence>\n      <xs:element name=\"RequestHeader\" type=\"tns:RequestHeader\" minOccurs=\"1\" />\n      <xs:element name=\"ReleaseContinuationPoints\" type=\"xs:boolean\" minOccurs=\"1\" />\n      <xs:element name=\"ContinuationPoints\" type=\"ua:ListOfByteString\" minOccurs=\"0\" nillable=\"true\" />\n  \t</xs:sequence>\n  </xs:complexType>\n  <xs:element name=\"BrowseNextRequest\" type=\"tns:BrowseNextRequest\" />\n\n  <xs:complexType name=\"BrowseNextResponse\">\n  \t<xs:sequence>\n      <xs:element name=\"ResponseHeader\" type=\"tns:ResponseHeader\" minOccurs=\"1\" />\n      <xs:element name=\"Results\" type=\"tns:ListOfBrowseResult\" minOccurs=\"1\" />\n      <xs:element name=\"DiagnosticInfos\" type=\"ua:ListOfDiagnosticInfo\" minOccurs=\"0\" nillable=\"true\" />\n  \t</xs:sequence>\n  </xs:complexType>\n  <xs:element name=\"BrowseNextResponse\" type=\"tns:BrowseNextResponse\" />\n\n  <xs:complexType name=\"RelativePathElement\">\n  \t<xs:sequence>\n      <xs:element name=\"ReferenceTypeId\" type=\"ua:NodeId\" minOccurs=\"0\" nillable=\"true\" />\n      <xs:element name=\"IsInverse\" type=\"xs:boolean\" minOccurs=\"1\" />\n      <xs:element name=\"IncludeSubtypes\" type=\"xs:boolean\" minOccurs=\"1\" />\n      <xs:element name=\"TargetName\" type=\"ua:QualifiedName\" minOccurs=\"0\" nillable=\"true\" />\n  \t</xs:sequence>\n  </xs:complexType>\n  <xs:element name=\"RelativePathElement\" type=\"tns:RelativePathElement\" />\n\n  <xs:complexType name=\"ListOfRelativePathElement\">\n    <xs:sequence>\n      <xs:element name=\"RelativePathElement\" type=\"tns:RelativePathElement\" minOccurs=\"0\" maxOccurs=\"unbounded\" nillable=\"true\" />\n    </xs:sequence>\n  </xs:complexType>\n  <xs:element name=\"ListOfRelativePathElement\" type=\"tns:ListOfRelativePathElement\" nillable=\"true\"></xs:element>\n\n  <xs:complexType name=\"RelativePath\">\n  \t<xs:sequence>\n      <xs:element name=\"Elements\" type=\"tns:ListOfRelativePathElement\" minOccurs=\"1\" />\n  \t</xs:sequence>\n  </xs:complexType>\n  <xs:element name=\"RelativePath\" type=\"tns:RelativePath\" />\n\n  <xs:complexType name=\"BrowsePath\">\n  \t<xs:sequence>\n      <xs:element name=\"StartingNode\" type=\"ua:NodeId\" minOccurs=\"0\" nillable=\"true\" />\n      <xs:element name=\"RelativePath\" type=\"tns:RelativePath\" minOccurs=\"1\" />\n  \t</xs:sequence>\n  </xs:complexType>\n  <xs:element name=\"BrowsePath\" type=\"tns:BrowsePath\" />\n\n  <xs:complexType name=\"ListOfBrowsePath\">\n    <xs:sequence>\n      <xs:element name=\"BrowsePath\" type=\"tns:BrowsePath\" minOccurs=\"0\" maxOccurs=\"unbounded\" nillable=\"true\" />\n    </xs:sequence>\n  </xs:complexType>\n  <xs:element name=\"ListOfBrowsePath\" type=\"tns:ListOfBrowsePath\" nillable=\"true\"></xs:element>\n\n  <xs:complexType name=\"BrowsePathTarget\">\n  \t<xs:sequence>\n      <xs:element name=\"TargetId\" type=\"ua:ExpandedNodeId\" minOccurs=\"0\" nillable=\"true\" />\n      <xs:element name=\"RemainingPathIndex\" type=\"xs:unsignedInt\" minOccurs=\"1\" />\n  \t</xs:sequence>\n  </xs:complexType>\n  <xs:element name=\"BrowsePathTarget\" type=\"tns:BrowsePathTarget\" />\n\n  <xs:complexType name=\"ListOfBrowsePathTarget\">\n    <xs:sequence>\n      <xs:element name=\"BrowsePathTarget\" type=\"tns:BrowsePathTarget\" minOccurs=\"0\" maxOccurs=\"unbounded\" nillable=\"true\" />\n    </xs:sequence>\n  </xs:complexType>\n  <xs:element name=\"ListOfBrowsePathTarget\" type=\"tns:ListOfBrowsePathTarget\" nillable=\"true\"></xs:element>\n\n  <xs:complexType name=\"BrowsePathResult\">\n  \t<xs:sequence>\n      <xs:element name=\"StatusCode\" type=\"ua:StatusCode\" minOccurs=\"0\" />\n      <xs:element name=\"Targets\" type=\"tns:ListOfBrowsePathTarget\" minOccurs=\"1\" />\n  \t</xs:sequence>\n  </xs:complexType>\n  <xs:element name=\"BrowsePathResult\" type=\"tns:BrowsePathResult\" />\n\n  <xs:complexType name=\"ListOfBrowsePathResult\">\n    <xs:sequence>\n      <xs:element name=\"BrowsePathResult\" type=\"tns:BrowsePathResult\" minOccurs=\"0\" maxOccurs=\"unbounded\" nillable=\"true\" />\n    </xs:sequence>\n  </xs:complexType>\n  <xs:element name=\"ListOfBrowsePathResult\" type=\"tns:ListOfBrowsePathResult\" nillable=\"true\"></xs:element>\n\n  <xs:complexType name=\"TranslateBrowsePathsToNodeIdsRequest\">\n  \t<xs:sequence>\n      <xs:element name=\"RequestHeader\" type=\"tns:RequestHeader\" minOccurs=\"1\" />\n      <xs:element name=\"BrowsePaths\" type=\"tns:ListOfBrowsePath\" minOccurs=\"1\" />\n  \t</xs:sequence>\n  </xs:complexType>\n  <xs:element name=\"TranslateBrowsePathsToNodeIdsRequest\" type=\"tns:TranslateBrowsePathsToNodeIdsRequest\" />\n\n  <xs:complexType name=\"TranslateBrowsePathsToNodeIdsResponse\">\n  \t<xs:sequence>\n      <xs:element name=\"ResponseHeader\" type=\"tns:ResponseHeader\" minOccurs=\"1\" />\n      <xs:element name=\"Results\" type=\"tns:ListOfBrowsePathResult\" minOccurs=\"1\" />\n      <xs:element name=\"DiagnosticInfos\" type=\"ua:ListOfDiagnosticInfo\" minOccurs=\"0\" nillable=\"true\" />\n  \t</xs:sequence>\n  </xs:complexType>\n  <xs:element name=\"TranslateBrowsePathsToNodeIdsResponse\" type=\"tns:TranslateBrowsePathsToNodeIdsResponse\" />\n\n  <xs:complexType name=\"RegisterNodesRequest\">\n  \t<xs:sequence>\n      <xs:element name=\"RequestHeader\" type=\"tns:RequestHeader\" minOccurs=\"1\" />\n      <xs:element name=\"NodesToRegister\" type=\"ua:ListOfNodeId\" minOccurs=\"0\" nillable=\"true\" />\n  \t</xs:sequence>\n  </xs:complexType>\n  <xs:element name=\"RegisterNodesRequest\" type=\"tns:RegisterNodesRequest\" />\n\n  <xs:complexType name=\"RegisterNodesResponse\">\n  \t<xs:sequence>\n      <xs:element name=\"ResponseHeader\" type=\"tns:ResponseHeader\" minOccurs=\"1\" />\n      <xs:element name=\"RegisteredNodeIds\" type=\"ua:ListOfNodeId\" minOccurs=\"0\" nillable=\"true\" />\n  \t</xs:sequence>\n  </xs:complexType>\n  <xs:element name=\"RegisterNodesResponse\" type=\"tns:RegisterNodesResponse\" />\n\n  <xs:complexType name=\"UnregisterNodesRequest\">\n  \t<xs:sequence>\n      <xs:element name=\"RequestHeader\" type=\"tns:RequestHeader\" minOccurs=\"1\" />\n      <xs:element name=\"NodesToUnregister\" type=\"ua:ListOfNodeId\" minOccurs=\"0\" nillable=\"true\" />\n  \t</xs:sequence>\n  </xs:complexType>\n  <xs:element name=\"UnregisterNodesRequest\" type=\"tns:UnregisterNodesRequest\" />\n\n  <xs:complexType name=\"UnregisterNodesResponse\">\n  \t<xs:sequence>\n      <xs:element name=\"ResponseHeader\" type=\"tns:ResponseHeader\" minOccurs=\"1\" />\n  \t</xs:sequence>\n  </xs:complexType>\n  <xs:element name=\"UnregisterNodesResponse\" type=\"tns:UnregisterNodesResponse\" />\n\n  <xs:complexType name=\"QueryDataDescription\">\n  \t<xs:sequence>\n      <xs:element name=\"RelativePath\" type=\"tns:RelativePath\" minOccurs=\"1\" />\n      <xs:element name=\"AttributeId\" type=\"xs:unsignedInt\" minOccurs=\"1\" />\n      <xs:element name=\"IndexRange\" type=\"xs:string\" minOccurs=\"0\" nillable=\"true\" />\n  \t</xs:sequence>\n  </xs:complexType>\n  <xs:element name=\"QueryDataDescription\" type=\"tns:QueryDataDescription\" />\n\n  <xs:complexType name=\"ListOfQueryDataDescription\">\n    <xs:sequence>\n      <xs:element name=\"QueryDataDescription\" type=\"tns:QueryDataDescription\" minOccurs=\"0\" maxOccurs=\"unbounded\" nillable=\"true\" />\n    </xs:sequence>\n  </xs:complexType>\n  <xs:element name=\"ListOfQueryDataDescription\" type=\"tns:ListOfQueryDataDescription\" nillable=\"true\"></xs:element>\n\n  <xs:complexType name=\"NodeTypeDescription\">\n  \t<xs:sequence>\n      <xs:element name=\"TypeDefinitionNode\" type=\"ua:ExpandedNodeId\" minOccurs=\"0\" nillable=\"true\" />\n      <xs:element name=\"IncludeSubTypes\" type=\"xs:boolean\" minOccurs=\"1\" />\n      <xs:element name=\"DataToReturn\" type=\"tns:ListOfQueryDataDescription\" minOccurs=\"1\" />\n  \t</xs:sequence>\n  </xs:complexType>\n  <xs:element name=\"NodeTypeDescription\" type=\"tns:NodeTypeDescription\" />\n\n  <xs:complexType name=\"ListOfNodeTypeDescription\">\n    <xs:sequence>\n      <xs:element name=\"NodeTypeDescription\" type=\"tns:NodeTypeDescription\" minOccurs=\"0\" maxOccurs=\"unbounded\" nillable=\"true\" />\n    </xs:sequence>\n  </xs:complexType>\n  <xs:element name=\"ListOfNodeTypeDescription\" type=\"tns:ListOfNodeTypeDescription\" nillable=\"true\"></xs:element>\n\n  <xs:simpleType  name=\"FilterOperator\">\n    <xs:restriction base=\"xs:string\">\n      <xs:enumeration value=\"Equals_0\" />\n      <xs:enumeration value=\"IsNull_1\" />\n      <xs:enumeration value=\"GreaterThan_2\" />\n      <xs:enumeration value=\"LessThan_3\" />\n      <xs:enumeration value=\"GreaterThanOrEqual_4\" />\n      <xs:enumeration value=\"LessThanOrEqual_5\" />\n      <xs:enumeration value=\"Like_6\" />\n      <xs:enumeration value=\"Not_7\" />\n      <xs:enumeration value=\"Between_8\" />\n      <xs:enumeration value=\"InList_9\" />\n      <xs:enumeration value=\"And_10\" />\n      <xs:enumeration value=\"Or_11\" />\n      <xs:enumeration value=\"Cast_12\" />\n      <xs:enumeration value=\"InView_13\" />\n      <xs:enumeration value=\"OfType_14\" />\n      <xs:enumeration value=\"RelatedTo_15\" />\n      <xs:enumeration value=\"BitwiseAnd_16\" />\n      <xs:enumeration value=\"BitwiseOr_17\" />\n    </xs:restriction>\n  </xs:simpleType>\n  <xs:element name=\"FilterOperator\" type=\"tns:FilterOperator\" />\n\n  <xs:complexType name=\"QueryDataSet\">\n  \t<xs:sequence>\n      <xs:element name=\"NodeId\" type=\"ua:ExpandedNodeId\" minOccurs=\"0\" nillable=\"true\" />\n      <xs:element name=\"TypeDefinitionNode\" type=\"ua:ExpandedNodeId\" minOccurs=\"0\" nillable=\"true\" />\n      <xs:element name=\"Values\" type=\"ua:ListOfVariant\" minOccurs=\"1\" />\n  \t</xs:sequence>\n  </xs:complexType>\n  <xs:element name=\"QueryDataSet\" type=\"tns:QueryDataSet\" />\n\n  <xs:complexType name=\"ListOfQueryDataSet\">\n    <xs:sequence>\n      <xs:element name=\"QueryDataSet\" type=\"tns:QueryDataSet\" minOccurs=\"0\" maxOccurs=\"unbounded\" nillable=\"true\" />\n    </xs:sequence>\n  </xs:complexType>\n  <xs:element name=\"ListOfQueryDataSet\" type=\"tns:ListOfQueryDataSet\" nillable=\"true\"></xs:element>\n\n  <xs:complexType name=\"NodeReference\">\n  \t<xs:sequence>\n      <xs:element name=\"NodeId\" type=\"ua:NodeId\" minOccurs=\"0\" nillable=\"true\" />\n      <xs:element name=\"ReferenceTypeId\" type=\"ua:NodeId\" minOccurs=\"0\" nillable=\"true\" />\n      <xs:element name=\"IsForward\" type=\"xs:boolean\" minOccurs=\"1\" />\n      <xs:element name=\"ReferencedNodeIds\" type=\"ua:ListOfNodeId\" minOccurs=\"0\" nillable=\"true\" />\n  \t</xs:sequence>\n  </xs:complexType>\n  <xs:element name=\"NodeReference\" type=\"tns:NodeReference\" />\n\n  <xs:complexType name=\"ListOfNodeReference\">\n    <xs:sequence>\n      <xs:element name=\"NodeReference\" type=\"tns:NodeReference\" minOccurs=\"0\" maxOccurs=\"unbounded\" nillable=\"true\" />\n    </xs:sequence>\n  </xs:complexType>\n  <xs:element name=\"ListOfNodeReference\" type=\"tns:ListOfNodeReference\" nillable=\"true\"></xs:element>\n\n  <xs:complexType name=\"ContentFilterElement\">\n  \t<xs:sequence>\n      <xs:element name=\"FilterOperator\" type=\"tns:FilterOperator\" minOccurs=\"1\" />\n      <xs:element name=\"FilterOperands\" type=\"ua:ListOfExtensionObject\" minOccurs=\"1\" />\n  \t</xs:sequence>\n  </xs:complexType>\n  <xs:element name=\"ContentFilterElement\" type=\"tns:ContentFilterElement\" />\n\n  <xs:complexType name=\"ListOfContentFilterElement\">\n    <xs:sequence>\n      <xs:element name=\"ContentFilterElement\" type=\"tns:ContentFilterElement\" minOccurs=\"0\" maxOccurs=\"unbounded\" nillable=\"true\" />\n    </xs:sequence>\n  </xs:complexType>\n  <xs:element name=\"ListOfContentFilterElement\" type=\"tns:ListOfContentFilterElement\" nillable=\"true\"></xs:element>\n\n  <xs:complexType name=\"ContentFilter\">\n  \t<xs:sequence>\n      <xs:element name=\"Elements\" type=\"tns:ListOfContentFilterElement\" minOccurs=\"1\" />\n  \t</xs:sequence>\n  </xs:complexType>\n  <xs:element name=\"ContentFilter\" type=\"tns:ContentFilter\" />\n\n  <xs:complexType name=\"ListOfContentFilter\">\n    <xs:sequence>\n      <xs:element name=\"ContentFilter\" type=\"tns:ContentFilter\" minOccurs=\"0\" maxOccurs=\"unbounded\" nillable=\"true\" />\n    </xs:sequence>\n  </xs:complexType>\n  <xs:element name=\"ListOfContentFilter\" type=\"tns:ListOfContentFilter\" nillable=\"true\"></xs:element>\n\n  <xs:complexType name=\"FilterOperand\">\n  \t<xs:sequence>\n  \t</xs:sequence>\n  </xs:complexType>\n  <xs:element name=\"FilterOperand\" type=\"tns:FilterOperand\" />\n\n  <xs:complexType name=\"ElementOperand\">\n    <xs:complexContent mixed=\"false\">\n      <xs:extension base=\"tns:FilterOperand\">\n        <xs:sequence>\n          <xs:element name=\"Index\" type=\"xs:unsignedInt\" minOccurs=\"1\" />\n        </xs:sequence>\n      </xs:extension>\n    </xs:complexContent>\n  </xs:complexType>\n  <xs:element name=\"ElementOperand\" type=\"tns:ElementOperand\" />\n\n  <xs:complexType name=\"LiteralOperand\">\n    <xs:complexContent mixed=\"false\">\n      <xs:extension base=\"tns:FilterOperand\">\n        <xs:sequence>\n          <xs:element name=\"Value\" type=\"ua:Variant\" minOccurs=\"1\" />\n        </xs:sequence>\n      </xs:extension>\n    </xs:complexContent>\n  </xs:complexType>\n  <xs:element name=\"LiteralOperand\" type=\"tns:LiteralOperand\" />\n\n  <xs:complexType name=\"AttributeOperand\">\n    <xs:complexContent mixed=\"false\">\n      <xs:extension base=\"tns:FilterOperand\">\n        <xs:sequence>\n          <xs:element name=\"NodeId\" type=\"ua:NodeId\" minOccurs=\"0\" nillable=\"true\" />\n          <xs:element name=\"Alias\" type=\"xs:string\" minOccurs=\"0\" nillable=\"true\" />\n          <xs:element name=\"BrowsePath\" type=\"tns:RelativePath\" minOccurs=\"1\" />\n          <xs:element name=\"AttributeId\" type=\"xs:unsignedInt\" minOccurs=\"1\" />\n          <xs:element name=\"IndexRange\" type=\"xs:string\" minOccurs=\"0\" nillable=\"true\" />\n        </xs:sequence>\n      </xs:extension>\n    </xs:complexContent>\n  </xs:complexType>\n  <xs:element name=\"AttributeOperand\" type=\"tns:AttributeOperand\" />\n\n  <xs:complexType name=\"SimpleAttributeOperand\">\n    <xs:complexContent mixed=\"false\">\n      <xs:extension base=\"tns:FilterOperand\">\n        <xs:sequence>\n          <xs:element name=\"TypeDefinitionId\" type=\"ua:NodeId\" minOccurs=\"0\" nillable=\"true\" />\n          <xs:element name=\"BrowsePath\" type=\"ua:ListOfQualifiedName\" minOccurs=\"0\" nillable=\"true\" />\n          <xs:element name=\"AttributeId\" type=\"xs:unsignedInt\" minOccurs=\"1\" />\n          <xs:element name=\"IndexRange\" type=\"xs:string\" minOccurs=\"0\" nillable=\"true\" />\n        </xs:sequence>\n      </xs:extension>\n    </xs:complexContent>\n  </xs:complexType>\n  <xs:element name=\"SimpleAttributeOperand\" type=\"tns:SimpleAttributeOperand\" />\n\n  <xs:complexType name=\"ListOfSimpleAttributeOperand\">\n    <xs:sequence>\n      <xs:element name=\"SimpleAttributeOperand\" type=\"tns:SimpleAttributeOperand\" minOccurs=\"0\" maxOccurs=\"unbounded\" nillable=\"true\" />\n    </xs:sequence>\n  </xs:complexType>\n  <xs:element name=\"ListOfSimpleAttributeOperand\" type=\"tns:ListOfSimpleAttributeOperand\" nillable=\"true\"></xs:element>\n\n  <xs:complexType name=\"ContentFilterElementResult\">\n  \t<xs:sequence>\n      <xs:element name=\"StatusCode\" type=\"ua:StatusCode\" minOccurs=\"0\" />\n      <xs:element name=\"OperandStatusCodes\" type=\"ua:ListOfStatusCode\" minOccurs=\"0\" />\n      <xs:element name=\"OperandDiagnosticInfos\" type=\"ua:ListOfDiagnosticInfo\" minOccurs=\"0\" nillable=\"true\" />\n  \t</xs:sequence>\n  </xs:complexType>\n  <xs:element name=\"ContentFilterElementResult\" type=\"tns:ContentFilterElementResult\" />\n\n  <xs:complexType name=\"ListOfContentFilterElementResult\">\n    <xs:sequence>\n      <xs:element name=\"ContentFilterElementResult\" type=\"tns:ContentFilterElementResult\" minOccurs=\"0\" maxOccurs=\"unbounded\" nillable=\"true\" />\n    </xs:sequence>\n  </xs:complexType>\n  <xs:element name=\"ListOfContentFilterElementResult\" type=\"tns:ListOfContentFilterElementResult\" nillable=\"true\"></xs:element>\n\n  <xs:complexType name=\"ContentFilterResult\">\n  \t<xs:sequence>\n      <xs:element name=\"ElementResults\" type=\"tns:ListOfContentFilterElementResult\" minOccurs=\"1\" />\n      <xs:element name=\"ElementDiagnosticInfos\" type=\"ua:ListOfDiagnosticInfo\" minOccurs=\"0\" nillable=\"true\" />\n  \t</xs:sequence>\n  </xs:complexType>\n  <xs:element name=\"ContentFilterResult\" type=\"tns:ContentFilterResult\" />\n\n  <xs:complexType name=\"ParsingResult\">\n  \t<xs:sequence>\n      <xs:element name=\"StatusCode\" type=\"ua:StatusCode\" minOccurs=\"0\" />\n      <xs:element name=\"DataStatusCodes\" type=\"ua:ListOfStatusCode\" minOccurs=\"0\" />\n      <xs:element name=\"DataDiagnosticInfos\" type=\"ua:ListOfDiagnosticInfo\" minOccurs=\"0\" nillable=\"true\" />\n  \t</xs:sequence>\n  </xs:complexType>\n  <xs:element name=\"ParsingResult\" type=\"tns:ParsingResult\" />\n\n  <xs:complexType name=\"ListOfParsingResult\">\n    <xs:sequence>\n      <xs:element name=\"ParsingResult\" type=\"tns:ParsingResult\" minOccurs=\"0\" maxOccurs=\"unbounded\" nillable=\"true\" />\n    </xs:sequence>\n  </xs:complexType>\n  <xs:element name=\"ListOfParsingResult\" type=\"tns:ListOfParsingResult\" nillable=\"true\"></xs:element>\n\n  <xs:complexType name=\"QueryFirstRequest\">\n  \t<xs:sequence>\n      <xs:element name=\"RequestHeader\" type=\"tns:RequestHeader\" minOccurs=\"1\" />\n      <xs:element name=\"View\" type=\"tns:ViewDescription\" minOccurs=\"1\" />\n      <xs:element name=\"NodeTypes\" type=\"tns:ListOfNodeTypeDescription\" minOccurs=\"1\" />\n      <xs:element name=\"Filter\" type=\"tns:ContentFilter\" minOccurs=\"1\" />\n      <xs:element name=\"MaxDataSetsToReturn\" type=\"xs:unsignedInt\" minOccurs=\"1\" />\n      <xs:element name=\"MaxReferencesToReturn\" type=\"xs:unsignedInt\" minOccurs=\"1\" />\n  \t</xs:sequence>\n  </xs:complexType>\n  <xs:element name=\"QueryFirstRequest\" type=\"tns:QueryFirstRequest\" />\n\n  <xs:complexType name=\"QueryFirstResponse\">\n  \t<xs:sequence>\n      <xs:element name=\"ResponseHeader\" type=\"tns:ResponseHeader\" minOccurs=\"1\" />\n      <xs:element name=\"QueryDataSets\" type=\"tns:ListOfQueryDataSet\" minOccurs=\"1\" />\n      <xs:element name=\"ContinuationPoint\" type=\"xs:base64Binary\" minOccurs=\"0\" nillable=\"true\" />\n      <xs:element name=\"ParsingResults\" type=\"tns:ListOfParsingResult\" minOccurs=\"1\" />\n      <xs:element name=\"DiagnosticInfos\" type=\"ua:ListOfDiagnosticInfo\" minOccurs=\"0\" nillable=\"true\" />\n      <xs:element name=\"FilterResult\" type=\"tns:ContentFilterResult\" minOccurs=\"1\" />\n  \t</xs:sequence>\n  </xs:complexType>\n  <xs:element name=\"QueryFirstResponse\" type=\"tns:QueryFirstResponse\" />\n\n  <xs:complexType name=\"QueryNextRequest\">\n  \t<xs:sequence>\n      <xs:element name=\"RequestHeader\" type=\"tns:RequestHeader\" minOccurs=\"1\" />\n      <xs:element name=\"ReleaseContinuationPoint\" type=\"xs:boolean\" minOccurs=\"1\" />\n      <xs:element name=\"ContinuationPoint\" type=\"xs:base64Binary\" minOccurs=\"0\" nillable=\"true\" />\n  \t</xs:sequence>\n  </xs:complexType>\n  <xs:element name=\"QueryNextRequest\" type=\"tns:QueryNextRequest\" />\n\n  <xs:complexType name=\"QueryNextResponse\">\n  \t<xs:sequence>\n      <xs:element name=\"ResponseHeader\" type=\"tns:ResponseHeader\" minOccurs=\"1\" />\n      <xs:element name=\"QueryDataSets\" type=\"tns:ListOfQueryDataSet\" minOccurs=\"1\" />\n      <xs:element name=\"RevisedContinuationPoint\" type=\"xs:base64Binary\" minOccurs=\"0\" nillable=\"true\" />\n  \t</xs:sequence>\n  </xs:complexType>\n  <xs:element name=\"QueryNextResponse\" type=\"tns:QueryNextResponse\" />\n\n  <xs:simpleType  name=\"TimestampsToReturn\">\n    <xs:restriction base=\"xs:string\">\n      <xs:enumeration value=\"Source_0\" />\n      <xs:enumeration value=\"Server_1\" />\n      <xs:enumeration value=\"Both_2\" />\n      <xs:enumeration value=\"Neither_3\" />\n    </xs:restriction>\n  </xs:simpleType>\n  <xs:element name=\"TimestampsToReturn\" type=\"tns:TimestampsToReturn\" />\n\n  <xs:complexType name=\"ReadValueId\">\n  \t<xs:sequence>\n      <xs:element name=\"NodeId\" type=\"ua:NodeId\" minOccurs=\"0\" nillable=\"true\" />\n      <xs:element name=\"AttributeId\" type=\"xs:unsignedInt\" minOccurs=\"1\" />\n      <xs:element name=\"IndexRange\" type=\"xs:string\" minOccurs=\"0\" nillable=\"true\" />\n      <xs:element name=\"DataEncoding\" type=\"ua:QualifiedName\" minOccurs=\"0\" nillable=\"true\" />\n  \t</xs:sequence>\n  </xs:complexType>\n  <xs:element name=\"ReadValueId\" type=\"tns:ReadValueId\" />\n\n  <xs:complexType name=\"ListOfReadValueId\">\n    <xs:sequence>\n      <xs:element name=\"ReadValueId\" type=\"tns:ReadValueId\" minOccurs=\"0\" maxOccurs=\"unbounded\" nillable=\"true\" />\n    </xs:sequence>\n  </xs:complexType>\n  <xs:element name=\"ListOfReadValueId\" type=\"tns:ListOfReadValueId\" nillable=\"true\"></xs:element>\n\n  <xs:complexType name=\"ReadRequest\">\n  \t<xs:sequence>\n      <xs:element name=\"RequestHeader\" type=\"tns:RequestHeader\" minOccurs=\"1\" />\n      <xs:element name=\"MaxAge\" type=\"xs:double\" minOccurs=\"1\" />\n      <xs:element name=\"TimestampsToReturn\" type=\"tns:TimestampsToReturn\" minOccurs=\"1\" />\n      <xs:element name=\"NodesToRead\" type=\"tns:ListOfReadValueId\" minOccurs=\"1\" />\n  \t</xs:sequence>\n  </xs:complexType>\n  <xs:element name=\"ReadRequest\" type=\"tns:ReadRequest\" />\n\n  <xs:complexType name=\"ReadResponse\">\n  \t<xs:sequence>\n      <xs:element name=\"ResponseHeader\" type=\"tns:ResponseHeader\" minOccurs=\"1\" />\n      <xs:element name=\"Results\" type=\"ua:ListOfDataValue\" minOccurs=\"1\" />\n      <xs:element name=\"DiagnosticInfos\" type=\"ua:ListOfDiagnosticInfo\" minOccurs=\"0\" nillable=\"true\" />\n  \t</xs:sequence>\n  </xs:complexType>\n  <xs:element name=\"ReadResponse\" type=\"tns:ReadResponse\" />\n\n  <xs:complexType name=\"HistoryReadValueId\">\n  \t<xs:sequence>\n      <xs:element name=\"NodeId\" type=\"ua:NodeId\" minOccurs=\"0\" nillable=\"true\" />\n      <xs:element name=\"IndexRange\" type=\"xs:string\" minOccurs=\"0\" nillable=\"true\" />\n      <xs:element name=\"DataEncoding\" type=\"ua:QualifiedName\" minOccurs=\"0\" nillable=\"true\" />\n      <xs:element name=\"ContinuationPoint\" type=\"xs:base64Binary\" minOccurs=\"0\" nillable=\"true\" />\n  \t</xs:sequence>\n  </xs:complexType>\n  <xs:element name=\"HistoryReadValueId\" type=\"tns:HistoryReadValueId\" />\n\n  <xs:complexType name=\"ListOfHistoryReadValueId\">\n    <xs:sequence>\n      <xs:element name=\"HistoryReadValueId\" type=\"tns:HistoryReadValueId\" minOccurs=\"0\" maxOccurs=\"unbounded\" nillable=\"true\" />\n    </xs:sequence>\n  </xs:complexType>\n  <xs:element name=\"ListOfHistoryReadValueId\" type=\"tns:ListOfHistoryReadValueId\" nillable=\"true\"></xs:element>\n\n  <xs:complexType name=\"HistoryReadResult\">\n  \t<xs:sequence>\n      <xs:element name=\"StatusCode\" type=\"ua:StatusCode\" minOccurs=\"0\" />\n      <xs:element name=\"ContinuationPoint\" type=\"xs:base64Binary\" minOccurs=\"0\" nillable=\"true\" />\n      <xs:element name=\"HistoryData\" type=\"ua:ExtensionObject\" minOccurs=\"1\" />\n  \t</xs:sequence>\n  </xs:complexType>\n  <xs:element name=\"HistoryReadResult\" type=\"tns:HistoryReadResult\" />\n\n  <xs:complexType name=\"ListOfHistoryReadResult\">\n    <xs:sequence>\n      <xs:element name=\"HistoryReadResult\" type=\"tns:HistoryReadResult\" minOccurs=\"0\" maxOccurs=\"unbounded\" nillable=\"true\" />\n    </xs:sequence>\n  </xs:complexType>\n  <xs:element name=\"ListOfHistoryReadResult\" type=\"tns:ListOfHistoryReadResult\" nillable=\"true\"></xs:element>\n\n  <xs:complexType name=\"HistoryReadDetails\">\n  \t<xs:sequence>\n  \t</xs:sequence>\n  </xs:complexType>\n  <xs:element name=\"HistoryReadDetails\" type=\"tns:HistoryReadDetails\" />\n\n  <xs:complexType name=\"ReadEventDetails\">\n    <xs:complexContent mixed=\"false\">\n      <xs:extension base=\"tns:HistoryReadDetails\">\n        <xs:sequence>\n          <xs:element name=\"NumValuesPerNode\" type=\"xs:unsignedInt\" minOccurs=\"1\" />\n          <xs:element name=\"StartTime\" type=\"xs:dateTime\" minOccurs=\"1\" />\n          <xs:element name=\"EndTime\" type=\"xs:dateTime\" minOccurs=\"1\" />\n          <xs:element name=\"Filter\" type=\"tns:EventFilter\" minOccurs=\"1\" />\n        </xs:sequence>\n      </xs:extension>\n    </xs:complexContent>\n  </xs:complexType>\n  <xs:element name=\"ReadEventDetails\" type=\"tns:ReadEventDetails\" />\n\n  <xs:complexType name=\"ReadRawModifiedDetails\">\n    <xs:complexContent mixed=\"false\">\n      <xs:extension base=\"tns:HistoryReadDetails\">\n        <xs:sequence>\n          <xs:element name=\"IsReadModified\" type=\"xs:boolean\" minOccurs=\"1\" />\n          <xs:element name=\"StartTime\" type=\"xs:dateTime\" minOccurs=\"1\" />\n          <xs:element name=\"EndTime\" type=\"xs:dateTime\" minOccurs=\"1\" />\n          <xs:element name=\"NumValuesPerNode\" type=\"xs:unsignedInt\" minOccurs=\"1\" />\n          <xs:element name=\"ReturnBounds\" type=\"xs:boolean\" minOccurs=\"1\" />\n        </xs:sequence>\n      </xs:extension>\n    </xs:complexContent>\n  </xs:complexType>\n  <xs:element name=\"ReadRawModifiedDetails\" type=\"tns:ReadRawModifiedDetails\" />\n\n  <xs:complexType name=\"ReadProcessedDetails\">\n    <xs:complexContent mixed=\"false\">\n      <xs:extension base=\"tns:HistoryReadDetails\">\n        <xs:sequence>\n          <xs:element name=\"StartTime\" type=\"xs:dateTime\" minOccurs=\"1\" />\n          <xs:element name=\"EndTime\" type=\"xs:dateTime\" minOccurs=\"1\" />\n          <xs:element name=\"ResampleInterval\" type=\"xs:double\" minOccurs=\"1\" />\n          <xs:element name=\"AggregateType\" type=\"ua:ListOfNodeId\" minOccurs=\"0\" nillable=\"true\" />\n          <xs:element name=\"AggregateConfiguration\" type=\"tns:AggregateConfiguration\" minOccurs=\"1\" />\n        </xs:sequence>\n      </xs:extension>\n    </xs:complexContent>\n  </xs:complexType>\n  <xs:element name=\"ReadProcessedDetails\" type=\"tns:ReadProcessedDetails\" />\n\n  <xs:complexType name=\"ReadAtTimeDetails\">\n    <xs:complexContent mixed=\"false\">\n      <xs:extension base=\"tns:HistoryReadDetails\">\n        <xs:sequence>\n          <xs:element name=\"ReqTimes\" type=\"ua:ListOfDateTime\" minOccurs=\"1\" />\n        </xs:sequence>\n      </xs:extension>\n    </xs:complexContent>\n  </xs:complexType>\n  <xs:element name=\"ReadAtTimeDetails\" type=\"tns:ReadAtTimeDetails\" />\n\n  <xs:complexType name=\"HistoryData\">\n  \t<xs:sequence>\n      <xs:element name=\"DataValues\" type=\"ua:ListOfDataValue\" minOccurs=\"1\" />\n  \t</xs:sequence>\n  </xs:complexType>\n  <xs:element name=\"HistoryData\" type=\"tns:HistoryData\" />\n\n  <xs:complexType name=\"ModificationInfo\">\n  \t<xs:sequence>\n      <xs:element name=\"ModificationTime\" type=\"xs:dateTime\" minOccurs=\"1\" />\n      <xs:element name=\"UpdateType\" type=\"tns:HistoryUpdateType\" minOccurs=\"1\" />\n      <xs:element name=\"UserName\" type=\"xs:string\" minOccurs=\"0\" nillable=\"true\" />\n  \t</xs:sequence>\n  </xs:complexType>\n  <xs:element name=\"ModificationInfo\" type=\"tns:ModificationInfo\" />\n\n  <xs:complexType name=\"ListOfModificationInfo\">\n    <xs:sequence>\n      <xs:element name=\"ModificationInfo\" type=\"tns:ModificationInfo\" minOccurs=\"0\" maxOccurs=\"unbounded\" nillable=\"true\" />\n    </xs:sequence>\n  </xs:complexType>\n  <xs:element name=\"ListOfModificationInfo\" type=\"tns:ListOfModificationInfo\" nillable=\"true\"></xs:element>\n\n  <xs:complexType name=\"HistoryModifiedData\">\n    <xs:complexContent mixed=\"false\">\n      <xs:extension base=\"tns:HistoryData\">\n        <xs:sequence>\n          <xs:element name=\"ModificationInfos\" type=\"tns:ListOfModificationInfo\" minOccurs=\"1\" />\n        </xs:sequence>\n      </xs:extension>\n    </xs:complexContent>\n  </xs:complexType>\n  <xs:element name=\"HistoryModifiedData\" type=\"tns:HistoryModifiedData\" />\n\n  <xs:complexType name=\"HistoryEvent\">\n  \t<xs:sequence>\n      <xs:element name=\"Events\" type=\"tns:ListOfHistoryEventFieldList\" minOccurs=\"1\" />\n  \t</xs:sequence>\n  </xs:complexType>\n  <xs:element name=\"HistoryEvent\" type=\"tns:HistoryEvent\" />\n\n  <xs:complexType name=\"HistoryReadRequest\">\n  \t<xs:sequence>\n      <xs:element name=\"RequestHeader\" type=\"tns:RequestHeader\" minOccurs=\"1\" />\n      <xs:element name=\"HistoryReadDetails\" type=\"ua:ExtensionObject\" minOccurs=\"1\" />\n      <xs:element name=\"TimestampsToReturn\" type=\"tns:TimestampsToReturn\" minOccurs=\"1\" />\n      <xs:element name=\"ReleaseContinuationPoints\" type=\"xs:boolean\" minOccurs=\"1\" />\n      <xs:element name=\"NodesToRead\" type=\"tns:ListOfHistoryReadValueId\" minOccurs=\"1\" />\n  \t</xs:sequence>\n  </xs:complexType>\n  <xs:element name=\"HistoryReadRequest\" type=\"tns:HistoryReadRequest\" />\n\n  <xs:complexType name=\"HistoryReadResponse\">\n  \t<xs:sequence>\n      <xs:element name=\"ResponseHeader\" type=\"tns:ResponseHeader\" minOccurs=\"1\" />\n      <xs:element name=\"Results\" type=\"tns:ListOfHistoryReadResult\" minOccurs=\"1\" />\n      <xs:element name=\"DiagnosticInfos\" type=\"ua:ListOfDiagnosticInfo\" minOccurs=\"0\" nillable=\"true\" />\n  \t</xs:sequence>\n  </xs:complexType>\n  <xs:element name=\"HistoryReadResponse\" type=\"tns:HistoryReadResponse\" />\n\n  <xs:complexType name=\"WriteValue\">\n  \t<xs:sequence>\n      <xs:element name=\"NodeId\" type=\"ua:NodeId\" minOccurs=\"0\" nillable=\"true\" />\n      <xs:element name=\"AttributeId\" type=\"xs:unsignedInt\" minOccurs=\"1\" />\n      <xs:element name=\"IndexRange\" type=\"xs:string\" minOccurs=\"0\" nillable=\"true\" />\n      <xs:element name=\"Value\" type=\"ua:DataValue\" minOccurs=\"1\" />\n  \t</xs:sequence>\n  </xs:complexType>\n  <xs:element name=\"WriteValue\" type=\"tns:WriteValue\" />\n\n  <xs:complexType name=\"ListOfWriteValue\">\n    <xs:sequence>\n      <xs:element name=\"WriteValue\" type=\"tns:WriteValue\" minOccurs=\"0\" maxOccurs=\"unbounded\" nillable=\"true\" />\n    </xs:sequence>\n  </xs:complexType>\n  <xs:element name=\"ListOfWriteValue\" type=\"tns:ListOfWriteValue\" nillable=\"true\"></xs:element>\n\n  <xs:complexType name=\"WriteRequest\">\n  \t<xs:sequence>\n      <xs:element name=\"RequestHeader\" type=\"tns:RequestHeader\" minOccurs=\"1\" />\n      <xs:element name=\"NodesToWrite\" type=\"tns:ListOfWriteValue\" minOccurs=\"1\" />\n  \t</xs:sequence>\n  </xs:complexType>\n  <xs:element name=\"WriteRequest\" type=\"tns:WriteRequest\" />\n\n  <xs:complexType name=\"WriteResponse\">\n  \t<xs:sequence>\n      <xs:element name=\"ResponseHeader\" type=\"tns:ResponseHeader\" minOccurs=\"1\" />\n      <xs:element name=\"Results\" type=\"ua:ListOfStatusCode\" minOccurs=\"0\" />\n      <xs:element name=\"DiagnosticInfos\" type=\"ua:ListOfDiagnosticInfo\" minOccurs=\"0\" nillable=\"true\" />\n  \t</xs:sequence>\n  </xs:complexType>\n  <xs:element name=\"WriteResponse\" type=\"tns:WriteResponse\" />\n\n  <xs:complexType name=\"HistoryUpdateDetails\">\n  \t<xs:sequence>\n      <xs:element name=\"NodeId\" type=\"ua:NodeId\" minOccurs=\"0\" nillable=\"true\" />\n  \t</xs:sequence>\n  </xs:complexType>\n  <xs:element name=\"HistoryUpdateDetails\" type=\"tns:HistoryUpdateDetails\" />\n\n  <xs:simpleType  name=\"HistoryUpdateType\">\n    <xs:restriction base=\"xs:string\">\n      <xs:enumeration value=\"Insert_1\" />\n      <xs:enumeration value=\"Replace_2\" />\n      <xs:enumeration value=\"Update_3\" />\n      <xs:enumeration value=\"Delete_4\" />\n    </xs:restriction>\n  </xs:simpleType>\n  <xs:element name=\"HistoryUpdateType\" type=\"tns:HistoryUpdateType\" />\n\n  <xs:simpleType  name=\"PerformInsertReplaceType\">\n    <xs:restriction base=\"xs:string\">\n      <xs:enumeration value=\"Insert_1\" />\n      <xs:enumeration value=\"Replace_2\" />\n      <xs:enumeration value=\"Update_3\" />\n    </xs:restriction>\n  </xs:simpleType>\n  <xs:element name=\"PerformInsertReplaceType\" type=\"tns:PerformInsertReplaceType\" />\n\n  <xs:complexType name=\"UpdateDataDetails\">\n    <xs:complexContent mixed=\"false\">\n      <xs:extension base=\"tns:HistoryUpdateDetails\">\n        <xs:sequence>\n          <xs:element name=\"PerformInsertReplace\" type=\"tns:PerformInsertReplaceType\" minOccurs=\"1\" />\n          <xs:element name=\"UpdateValue\" type=\"tns:HistoryData\" minOccurs=\"1\" />\n        </xs:sequence>\n      </xs:extension>\n    </xs:complexContent>\n  </xs:complexType>\n  <xs:element name=\"UpdateDataDetails\" type=\"tns:UpdateDataDetails\" />\n\n  <xs:complexType name=\"UpdateEventDetails\">\n    <xs:complexContent mixed=\"false\">\n      <xs:extension base=\"tns:HistoryUpdateDetails\">\n        <xs:sequence>\n          <xs:element name=\"PerformInsertReplace\" type=\"tns:PerformInsertReplaceType\" minOccurs=\"1\" />\n          <xs:element name=\"Filter\" type=\"tns:EventFilter\" minOccurs=\"1\" />\n          <xs:element name=\"EventData\" type=\"tns:HistoryEventFieldList\" minOccurs=\"1\" />\n        </xs:sequence>\n      </xs:extension>\n    </xs:complexContent>\n  </xs:complexType>\n  <xs:element name=\"UpdateEventDetails\" type=\"tns:UpdateEventDetails\" />\n\n  <xs:complexType name=\"DeleteRawModifiedDetails\">\n    <xs:complexContent mixed=\"false\">\n      <xs:extension base=\"tns:HistoryUpdateDetails\">\n        <xs:sequence>\n          <xs:element name=\"IsDeleteModified\" type=\"xs:boolean\" minOccurs=\"1\" />\n          <xs:element name=\"StartTime\" type=\"xs:dateTime\" minOccurs=\"1\" />\n          <xs:element name=\"EndTime\" type=\"xs:dateTime\" minOccurs=\"1\" />\n        </xs:sequence>\n      </xs:extension>\n    </xs:complexContent>\n  </xs:complexType>\n  <xs:element name=\"DeleteRawModifiedDetails\" type=\"tns:DeleteRawModifiedDetails\" />\n\n  <xs:complexType name=\"DeleteAtTimeDetails\">\n    <xs:complexContent mixed=\"false\">\n      <xs:extension base=\"tns:HistoryUpdateDetails\">\n        <xs:sequence>\n          <xs:element name=\"ReqTimes\" type=\"ua:ListOfDateTime\" minOccurs=\"1\" />\n        </xs:sequence>\n      </xs:extension>\n    </xs:complexContent>\n  </xs:complexType>\n  <xs:element name=\"DeleteAtTimeDetails\" type=\"tns:DeleteAtTimeDetails\" />\n\n  <xs:complexType name=\"DeleteEventDetails\">\n    <xs:complexContent mixed=\"false\">\n      <xs:extension base=\"tns:HistoryUpdateDetails\">\n        <xs:sequence>\n          <xs:element name=\"EventIds\" type=\"xs:base64Binary\" minOccurs=\"0\" nillable=\"true\" />\n        </xs:sequence>\n      </xs:extension>\n    </xs:complexContent>\n  </xs:complexType>\n  <xs:element name=\"DeleteEventDetails\" type=\"tns:DeleteEventDetails\" />\n\n  <xs:complexType name=\"HistoryUpdateResult\">\n  \t<xs:sequence>\n      <xs:element name=\"StatusCode\" type=\"ua:StatusCode\" minOccurs=\"0\" />\n      <xs:element name=\"OperationResults\" type=\"ua:ListOfStatusCode\" minOccurs=\"0\" />\n      <xs:element name=\"DiagnosticInfos\" type=\"ua:ListOfDiagnosticInfo\" minOccurs=\"0\" nillable=\"true\" />\n  \t</xs:sequence>\n  </xs:complexType>\n  <xs:element name=\"HistoryUpdateResult\" type=\"tns:HistoryUpdateResult\" />\n\n  <xs:complexType name=\"ListOfHistoryUpdateResult\">\n    <xs:sequence>\n      <xs:element name=\"HistoryUpdateResult\" type=\"tns:HistoryUpdateResult\" minOccurs=\"0\" maxOccurs=\"unbounded\" nillable=\"true\" />\n    </xs:sequence>\n  </xs:complexType>\n  <xs:element name=\"ListOfHistoryUpdateResult\" type=\"tns:ListOfHistoryUpdateResult\" nillable=\"true\"></xs:element>\n\n  <xs:complexType name=\"HistoryUpdateEventResult\">\n  \t<xs:sequence>\n      <xs:element name=\"StatusCode\" type=\"ua:StatusCode\" minOccurs=\"0\" />\n      <xs:element name=\"EventFilterResult\" type=\"tns:EventFilterResult\" minOccurs=\"1\" />\n  \t</xs:sequence>\n  </xs:complexType>\n  <xs:element name=\"HistoryUpdateEventResult\" type=\"tns:HistoryUpdateEventResult\" />\n\n  <xs:complexType name=\"ListOfHistoryUpdateEventResult\">\n    <xs:sequence>\n      <xs:element name=\"HistoryUpdateEventResult\" type=\"tns:HistoryUpdateEventResult\" minOccurs=\"0\" maxOccurs=\"unbounded\" nillable=\"true\" />\n    </xs:sequence>\n  </xs:complexType>\n  <xs:element name=\"ListOfHistoryUpdateEventResult\" type=\"tns:ListOfHistoryUpdateEventResult\" nillable=\"true\"></xs:element>\n\n  <xs:complexType name=\"HistoryUpdateRequest\">\n  \t<xs:sequence>\n      <xs:element name=\"RequestHeader\" type=\"tns:RequestHeader\" minOccurs=\"1\" />\n      <xs:element name=\"HistoryUpdateDetails\" type=\"ua:ListOfExtensionObject\" minOccurs=\"1\" />\n  \t</xs:sequence>\n  </xs:complexType>\n  <xs:element name=\"HistoryUpdateRequest\" type=\"tns:HistoryUpdateRequest\" />\n\n  <xs:complexType name=\"HistoryUpdateResponse\">\n  \t<xs:sequence>\n      <xs:element name=\"ResponseHeader\" type=\"tns:ResponseHeader\" minOccurs=\"1\" />\n      <xs:element name=\"Results\" type=\"tns:ListOfHistoryUpdateResult\" minOccurs=\"1\" />\n      <xs:element name=\"DiagnosticInfos\" type=\"ua:ListOfDiagnosticInfo\" minOccurs=\"0\" nillable=\"true\" />\n  \t</xs:sequence>\n  </xs:complexType>\n  <xs:element name=\"HistoryUpdateResponse\" type=\"tns:HistoryUpdateResponse\" />\n\n  <xs:complexType name=\"CallMethodRequest\">\n  \t<xs:sequence>\n      <xs:element name=\"ObjectId\" type=\"ua:NodeId\" minOccurs=\"0\" nillable=\"true\" />\n      <xs:element name=\"MethodId\" type=\"ua:NodeId\" minOccurs=\"0\" nillable=\"true\" />\n      <xs:element name=\"InputArguments\" type=\"ua:ListOfVariant\" minOccurs=\"1\" />\n  \t</xs:sequence>\n  </xs:complexType>\n  <xs:element name=\"CallMethodRequest\" type=\"tns:CallMethodRequest\" />\n\n  <xs:complexType name=\"ListOfCallMethodRequest\">\n    <xs:sequence>\n      <xs:element name=\"CallMethodRequest\" type=\"tns:CallMethodRequest\" minOccurs=\"0\" maxOccurs=\"unbounded\" nillable=\"true\" />\n    </xs:sequence>\n  </xs:complexType>\n  <xs:element name=\"ListOfCallMethodRequest\" type=\"tns:ListOfCallMethodRequest\" nillable=\"true\"></xs:element>\n\n  <xs:complexType name=\"CallMethodResult\">\n  \t<xs:sequence>\n      <xs:element name=\"StatusCode\" type=\"ua:StatusCode\" minOccurs=\"0\" />\n      <xs:element name=\"InputArgumentResults\" type=\"ua:ListOfStatusCode\" minOccurs=\"0\" />\n      <xs:element name=\"InputArgumentDiagnosticInfos\" type=\"ua:ListOfDiagnosticInfo\" minOccurs=\"0\" nillable=\"true\" />\n      <xs:element name=\"OutputArguments\" type=\"ua:ListOfVariant\" minOccurs=\"1\" />\n  \t</xs:sequence>\n  </xs:complexType>\n  <xs:element name=\"CallMethodResult\" type=\"tns:CallMethodResult\" />\n\n  <xs:complexType name=\"ListOfCallMethodResult\">\n    <xs:sequence>\n      <xs:element name=\"CallMethodResult\" type=\"tns:CallMethodResult\" minOccurs=\"0\" maxOccurs=\"unbounded\" nillable=\"true\" />\n    </xs:sequence>\n  </xs:complexType>\n  <xs:element name=\"ListOfCallMethodResult\" type=\"tns:ListOfCallMethodResult\" nillable=\"true\"></xs:element>\n\n  <xs:complexType name=\"CallRequest\">\n  \t<xs:sequence>\n      <xs:element name=\"RequestHeader\" type=\"tns:RequestHeader\" minOccurs=\"1\" />\n      <xs:element name=\"MethodsToCall\" type=\"tns:ListOfCallMethodRequest\" minOccurs=\"1\" />\n  \t</xs:sequence>\n  </xs:complexType>\n  <xs:element name=\"CallRequest\" type=\"tns:CallRequest\" />\n\n  <xs:complexType name=\"CallResponse\">\n  \t<xs:sequence>\n      <xs:element name=\"ResponseHeader\" type=\"tns:ResponseHeader\" minOccurs=\"1\" />\n      <xs:element name=\"Results\" type=\"tns:ListOfCallMethodResult\" minOccurs=\"1\" />\n      <xs:element name=\"DiagnosticInfos\" type=\"ua:ListOfDiagnosticInfo\" minOccurs=\"0\" nillable=\"true\" />\n  \t</xs:sequence>\n  </xs:complexType>\n  <xs:element name=\"CallResponse\" type=\"tns:CallResponse\" />\n\n  <xs:simpleType  name=\"MonitoringMode\">\n    <xs:restriction base=\"xs:string\">\n      <xs:enumeration value=\"Disabled_0\" />\n      <xs:enumeration value=\"Sampling_1\" />\n      <xs:enumeration value=\"Reporting_2\" />\n    </xs:restriction>\n  </xs:simpleType>\n  <xs:element name=\"MonitoringMode\" type=\"tns:MonitoringMode\" />\n\n  <xs:simpleType  name=\"DataChangeTrigger\">\n    <xs:restriction base=\"xs:string\">\n      <xs:enumeration value=\"Status_0\" />\n      <xs:enumeration value=\"StatusValue_1\" />\n      <xs:enumeration value=\"StatusValueTimestamp_2\" />\n    </xs:restriction>\n  </xs:simpleType>\n  <xs:element name=\"DataChangeTrigger\" type=\"tns:DataChangeTrigger\" />\n\n  <xs:simpleType  name=\"DeadbandType\">\n    <xs:restriction base=\"xs:string\">\n      <xs:enumeration value=\"None_0\" />\n      <xs:enumeration value=\"Absolute_1\" />\n      <xs:enumeration value=\"Percent_2\" />\n    </xs:restriction>\n  </xs:simpleType>\n  <xs:element name=\"DeadbandType\" type=\"tns:DeadbandType\" />\n\n  <xs:complexType name=\"MonitoringFilter\">\n  \t<xs:sequence>\n  \t</xs:sequence>\n  </xs:complexType>\n  <xs:element name=\"MonitoringFilter\" type=\"tns:MonitoringFilter\" />\n\n  <xs:complexType name=\"DataChangeFilter\">\n    <xs:complexContent mixed=\"false\">\n      <xs:extension base=\"tns:MonitoringFilter\">\n        <xs:sequence>\n          <xs:element name=\"Trigger\" type=\"tns:DataChangeTrigger\" minOccurs=\"1\" />\n          <xs:element name=\"DeadbandType\" type=\"xs:unsignedInt\" minOccurs=\"1\" />\n          <xs:element name=\"DeadbandValue\" type=\"xs:double\" minOccurs=\"1\" />\n        </xs:sequence>\n      </xs:extension>\n    </xs:complexContent>\n  </xs:complexType>\n  <xs:element name=\"DataChangeFilter\" type=\"tns:DataChangeFilter\" />\n\n  <xs:complexType name=\"EventFilter\">\n    <xs:complexContent mixed=\"false\">\n      <xs:extension base=\"tns:MonitoringFilter\">\n        <xs:sequence>\n          <xs:element name=\"SelectClauses\" type=\"tns:ListOfSimpleAttributeOperand\" minOccurs=\"1\" />\n          <xs:element name=\"WhereClause\" type=\"tns:ContentFilter\" minOccurs=\"1\" />\n        </xs:sequence>\n      </xs:extension>\n    </xs:complexContent>\n  </xs:complexType>\n  <xs:element name=\"EventFilter\" type=\"tns:EventFilter\" />\n\n  <xs:complexType name=\"AggregateConfiguration\">\n  \t<xs:sequence>\n      <xs:element name=\"TreatUncertainAsBad\" type=\"xs:boolean\" minOccurs=\"1\" />\n      <xs:element name=\"PercentDataBad\" type=\"xs:unsignedByte\" minOccurs=\"1\" />\n      <xs:element name=\"PercentDataGood\" type=\"xs:unsignedByte\" minOccurs=\"1\" />\n      <xs:element name=\"SteppedSlopedExtrapolation\" type=\"xs:boolean\" minOccurs=\"1\" />\n  \t</xs:sequence>\n  </xs:complexType>\n  <xs:element name=\"AggregateConfiguration\" type=\"tns:AggregateConfiguration\" />\n\n  <xs:complexType name=\"AggregateFilter\">\n    <xs:complexContent mixed=\"false\">\n      <xs:extension base=\"tns:MonitoringFilter\">\n        <xs:sequence>\n          <xs:element name=\"StartTime\" type=\"xs:dateTime\" minOccurs=\"1\" />\n          <xs:element name=\"AggregateType\" type=\"ua:NodeId\" minOccurs=\"0\" nillable=\"true\" />\n          <xs:element name=\"ProcessingInterval\" type=\"xs:double\" minOccurs=\"1\" />\n          <xs:element name=\"AggregateConfiguration\" type=\"tns:AggregateConfiguration\" minOccurs=\"1\" />\n        </xs:sequence>\n      </xs:extension>\n    </xs:complexContent>\n  </xs:complexType>\n  <xs:element name=\"AggregateFilter\" type=\"tns:AggregateFilter\" />\n\n  <xs:complexType name=\"MonitoringFilterResult\">\n  \t<xs:sequence>\n  \t</xs:sequence>\n  </xs:complexType>\n  <xs:element name=\"MonitoringFilterResult\" type=\"tns:MonitoringFilterResult\" />\n\n  <xs:complexType name=\"EventFilterResult\">\n    <xs:complexContent mixed=\"false\">\n      <xs:extension base=\"tns:MonitoringFilterResult\">\n        <xs:sequence>\n          <xs:element name=\"SelectClauseResults\" type=\"ua:ListOfStatusCode\" minOccurs=\"0\" />\n          <xs:element name=\"SelectClauseDiagnosticInfos\" type=\"ua:ListOfDiagnosticInfo\" minOccurs=\"0\" nillable=\"true\" />\n          <xs:element name=\"WhereClauseResult\" type=\"tns:ContentFilterResult\" minOccurs=\"1\" />\n        </xs:sequence>\n      </xs:extension>\n    </xs:complexContent>\n  </xs:complexType>\n  <xs:element name=\"EventFilterResult\" type=\"tns:EventFilterResult\" />\n\n  <xs:complexType name=\"AggregateFilterResult\">\n    <xs:complexContent mixed=\"false\">\n      <xs:extension base=\"tns:MonitoringFilterResult\">\n        <xs:sequence>\n          <xs:element name=\"RevisedStartTime\" type=\"xs:dateTime\" minOccurs=\"1\" />\n          <xs:element name=\"RevisedProcessingInterval\" type=\"xs:double\" minOccurs=\"1\" />\n          <xs:element name=\"RevisedAggregateConfiguration\" type=\"tns:AggregateConfiguration\" minOccurs=\"1\" />\n        </xs:sequence>\n      </xs:extension>\n    </xs:complexContent>\n  </xs:complexType>\n  <xs:element name=\"AggregateFilterResult\" type=\"tns:AggregateFilterResult\" />\n\n  <xs:complexType name=\"MonitoringParameters\">\n  \t<xs:sequence>\n      <xs:element name=\"ClientHandle\" type=\"xs:unsignedInt\" minOccurs=\"1\" />\n      <xs:element name=\"SamplingInterval\" type=\"xs:double\" minOccurs=\"1\" />\n      <xs:element name=\"Filter\" type=\"ua:ExtensionObject\" minOccurs=\"1\" />\n      <xs:element name=\"QueueSize\" type=\"xs:unsignedInt\" minOccurs=\"1\" />\n      <xs:element name=\"DiscardOldest\" type=\"xs:boolean\" minOccurs=\"1\" />\n  \t</xs:sequence>\n  </xs:complexType>\n  <xs:element name=\"MonitoringParameters\" type=\"tns:MonitoringParameters\" />\n\n  <xs:complexType name=\"MonitoredItemCreateRequest\">\n  \t<xs:sequence>\n      <xs:element name=\"ItemToMonitor\" type=\"tns:ReadValueId\" minOccurs=\"1\" />\n      <xs:element name=\"MonitoringMode\" type=\"tns:MonitoringMode\" minOccurs=\"1\" />\n      <xs:element name=\"RequestedParameters\" type=\"tns:MonitoringParameters\" minOccurs=\"1\" />\n  \t</xs:sequence>\n  </xs:complexType>\n  <xs:element name=\"MonitoredItemCreateRequest\" type=\"tns:MonitoredItemCreateRequest\" />\n\n  <xs:complexType name=\"ListOfMonitoredItemCreateRequest\">\n    <xs:sequence>\n      <xs:element name=\"MonitoredItemCreateRequest\" type=\"tns:MonitoredItemCreateRequest\" minOccurs=\"0\" maxOccurs=\"unbounded\" nillable=\"true\" />\n    </xs:sequence>\n  </xs:complexType>\n  <xs:element name=\"ListOfMonitoredItemCreateRequest\" type=\"tns:ListOfMonitoredItemCreateRequest\" nillable=\"true\"></xs:element>\n\n  <xs:complexType name=\"MonitoredItemCreateResult\">\n  \t<xs:sequence>\n      <xs:element name=\"StatusCode\" type=\"ua:StatusCode\" minOccurs=\"0\" />\n      <xs:element name=\"MonitoredItemId\" type=\"xs:unsignedInt\" minOccurs=\"1\" />\n      <xs:element name=\"RevisedSamplingInterval\" type=\"xs:double\" minOccurs=\"1\" />\n      <xs:element name=\"RevisedQueueSize\" type=\"xs:unsignedInt\" minOccurs=\"1\" />\n      <xs:element name=\"FilterResult\" type=\"ua:ExtensionObject\" minOccurs=\"1\" />\n  \t</xs:sequence>\n  </xs:complexType>\n  <xs:element name=\"MonitoredItemCreateResult\" type=\"tns:MonitoredItemCreateResult\" />\n\n  <xs:complexType name=\"ListOfMonitoredItemCreateResult\">\n    <xs:sequence>\n      <xs:element name=\"MonitoredItemCreateResult\" type=\"tns:MonitoredItemCreateResult\" minOccurs=\"0\" maxOccurs=\"unbounded\" nillable=\"true\" />\n    </xs:sequence>\n  </xs:complexType>\n  <xs:element name=\"ListOfMonitoredItemCreateResult\" type=\"tns:ListOfMonitoredItemCreateResult\" nillable=\"true\"></xs:element>\n\n  <xs:complexType name=\"CreateMonitoredItemsRequest\">\n  \t<xs:sequence>\n      <xs:element name=\"RequestHeader\" type=\"tns:RequestHeader\" minOccurs=\"1\" />\n      <xs:element name=\"SubscriptionId\" type=\"xs:unsignedInt\" minOccurs=\"1\" />\n      <xs:element name=\"TimestampsToReturn\" type=\"tns:TimestampsToReturn\" minOccurs=\"1\" />\n      <xs:element name=\"ItemsToCreate\" type=\"tns:ListOfMonitoredItemCreateRequest\" minOccurs=\"1\" />\n  \t</xs:sequence>\n  </xs:complexType>\n  <xs:element name=\"CreateMonitoredItemsRequest\" type=\"tns:CreateMonitoredItemsRequest\" />\n\n  <xs:complexType name=\"CreateMonitoredItemsResponse\">\n  \t<xs:sequence>\n      <xs:element name=\"ResponseHeader\" type=\"tns:ResponseHeader\" minOccurs=\"1\" />\n      <xs:element name=\"Results\" type=\"tns:ListOfMonitoredItemCreateResult\" minOccurs=\"1\" />\n      <xs:element name=\"DiagnosticInfos\" type=\"ua:ListOfDiagnosticInfo\" minOccurs=\"0\" nillable=\"true\" />\n  \t</xs:sequence>\n  </xs:complexType>\n  <xs:element name=\"CreateMonitoredItemsResponse\" type=\"tns:CreateMonitoredItemsResponse\" />\n\n  <xs:complexType name=\"MonitoredItemModifyRequest\">\n  \t<xs:sequence>\n      <xs:element name=\"MonitoredItemId\" type=\"xs:unsignedInt\" minOccurs=\"1\" />\n      <xs:element name=\"RequestedParameters\" type=\"tns:MonitoringParameters\" minOccurs=\"1\" />\n  \t</xs:sequence>\n  </xs:complexType>\n  <xs:element name=\"MonitoredItemModifyRequest\" type=\"tns:MonitoredItemModifyRequest\" />\n\n  <xs:complexType name=\"ListOfMonitoredItemModifyRequest\">\n    <xs:sequence>\n      <xs:element name=\"MonitoredItemModifyRequest\" type=\"tns:MonitoredItemModifyRequest\" minOccurs=\"0\" maxOccurs=\"unbounded\" nillable=\"true\" />\n    </xs:sequence>\n  </xs:complexType>\n  <xs:element name=\"ListOfMonitoredItemModifyRequest\" type=\"tns:ListOfMonitoredItemModifyRequest\" nillable=\"true\"></xs:element>\n\n  <xs:complexType name=\"MonitoredItemModifyResult\">\n  \t<xs:sequence>\n      <xs:element name=\"StatusCode\" type=\"ua:StatusCode\" minOccurs=\"0\" />\n      <xs:element name=\"RevisedSamplingInterval\" type=\"xs:double\" minOccurs=\"1\" />\n      <xs:element name=\"RevisedQueueSize\" type=\"xs:unsignedInt\" minOccurs=\"1\" />\n      <xs:element name=\"FilterResult\" type=\"ua:ExtensionObject\" minOccurs=\"1\" />\n  \t</xs:sequence>\n  </xs:complexType>\n  <xs:element name=\"MonitoredItemModifyResult\" type=\"tns:MonitoredItemModifyResult\" />\n\n  <xs:complexType name=\"ListOfMonitoredItemModifyResult\">\n    <xs:sequence>\n      <xs:element name=\"MonitoredItemModifyResult\" type=\"tns:MonitoredItemModifyResult\" minOccurs=\"0\" maxOccurs=\"unbounded\" nillable=\"true\" />\n    </xs:sequence>\n  </xs:complexType>\n  <xs:element name=\"ListOfMonitoredItemModifyResult\" type=\"tns:ListOfMonitoredItemModifyResult\" nillable=\"true\"></xs:element>\n\n  <xs:complexType name=\"ModifyMonitoredItemsRequest\">\n  \t<xs:sequence>\n      <xs:element name=\"RequestHeader\" type=\"tns:RequestHeader\" minOccurs=\"1\" />\n      <xs:element name=\"SubscriptionId\" type=\"xs:unsignedInt\" minOccurs=\"1\" />\n      <xs:element name=\"TimestampsToReturn\" type=\"tns:TimestampsToReturn\" minOccurs=\"1\" />\n      <xs:element name=\"ItemsToModify\" type=\"tns:ListOfMonitoredItemModifyRequest\" minOccurs=\"1\" />\n  \t</xs:sequence>\n  </xs:complexType>\n  <xs:element name=\"ModifyMonitoredItemsRequest\" type=\"tns:ModifyMonitoredItemsRequest\" />\n\n  <xs:complexType name=\"ModifyMonitoredItemsResponse\">\n  \t<xs:sequence>\n      <xs:element name=\"ResponseHeader\" type=\"tns:ResponseHeader\" minOccurs=\"1\" />\n      <xs:element name=\"Results\" type=\"tns:ListOfMonitoredItemModifyResult\" minOccurs=\"1\" />\n      <xs:element name=\"DiagnosticInfos\" type=\"ua:ListOfDiagnosticInfo\" minOccurs=\"0\" nillable=\"true\" />\n  \t</xs:sequence>\n  </xs:complexType>\n  <xs:element name=\"ModifyMonitoredItemsResponse\" type=\"tns:ModifyMonitoredItemsResponse\" />\n\n  <xs:complexType name=\"SetMonitoringModeRequest\">\n  \t<xs:sequence>\n      <xs:element name=\"RequestHeader\" type=\"tns:RequestHeader\" minOccurs=\"1\" />\n      <xs:element name=\"SubscriptionId\" type=\"xs:unsignedInt\" minOccurs=\"1\" />\n      <xs:element name=\"MonitoringMode\" type=\"tns:MonitoringMode\" minOccurs=\"1\" />\n      <xs:element name=\"MonitoredItemIds\" type=\"ua:ListOfUInt32\" minOccurs=\"1\" />\n  \t</xs:sequence>\n  </xs:complexType>\n  <xs:element name=\"SetMonitoringModeRequest\" type=\"tns:SetMonitoringModeRequest\" />\n\n  <xs:complexType name=\"SetMonitoringModeResponse\">\n  \t<xs:sequence>\n      <xs:element name=\"ResponseHeader\" type=\"tns:ResponseHeader\" minOccurs=\"1\" />\n      <xs:element name=\"Results\" type=\"ua:ListOfStatusCode\" minOccurs=\"0\" />\n      <xs:element name=\"DiagnosticInfos\" type=\"ua:ListOfDiagnosticInfo\" minOccurs=\"0\" nillable=\"true\" />\n  \t</xs:sequence>\n  </xs:complexType>\n  <xs:element name=\"SetMonitoringModeResponse\" type=\"tns:SetMonitoringModeResponse\" />\n\n  <xs:complexType name=\"SetTriggeringRequest\">\n  \t<xs:sequence>\n      <xs:element name=\"RequestHeader\" type=\"tns:RequestHeader\" minOccurs=\"1\" />\n      <xs:element name=\"SubscriptionId\" type=\"xs:unsignedInt\" minOccurs=\"1\" />\n      <xs:element name=\"TriggeringItemId\" type=\"xs:unsignedInt\" minOccurs=\"1\" />\n      <xs:element name=\"LinksToAdd\" type=\"ua:ListOfUInt32\" minOccurs=\"1\" />\n      <xs:element name=\"LinksToRemove\" type=\"ua:ListOfUInt32\" minOccurs=\"1\" />\n  \t</xs:sequence>\n  </xs:complexType>\n  <xs:element name=\"SetTriggeringRequest\" type=\"tns:SetTriggeringRequest\" />\n\n  <xs:complexType name=\"SetTriggeringResponse\">\n  \t<xs:sequence>\n      <xs:element name=\"ResponseHeader\" type=\"tns:ResponseHeader\" minOccurs=\"1\" />\n      <xs:element name=\"AddResults\" type=\"ua:ListOfStatusCode\" minOccurs=\"0\" />\n      <xs:element name=\"AddDiagnosticInfos\" type=\"ua:ListOfDiagnosticInfo\" minOccurs=\"0\" nillable=\"true\" />\n      <xs:element name=\"RemoveResults\" type=\"ua:ListOfStatusCode\" minOccurs=\"0\" />\n      <xs:element name=\"RemoveDiagnosticInfos\" type=\"ua:ListOfDiagnosticInfo\" minOccurs=\"0\" nillable=\"true\" />\n  \t</xs:sequence>\n  </xs:complexType>\n  <xs:element name=\"SetTriggeringResponse\" type=\"tns:SetTriggeringResponse\" />\n\n  <xs:complexType name=\"DeleteMonitoredItemsRequest\">\n  \t<xs:sequence>\n      <xs:element name=\"RequestHeader\" type=\"tns:RequestHeader\" minOccurs=\"1\" />\n      <xs:element name=\"SubscriptionId\" type=\"xs:unsignedInt\" minOccurs=\"1\" />\n      <xs:element name=\"MonitoredItemIds\" type=\"ua:ListOfUInt32\" minOccurs=\"1\" />\n  \t</xs:sequence>\n  </xs:complexType>\n  <xs:element name=\"DeleteMonitoredItemsRequest\" type=\"tns:DeleteMonitoredItemsRequest\" />\n\n  <xs:complexType name=\"DeleteMonitoredItemsResponse\">\n  \t<xs:sequence>\n      <xs:element name=\"ResponseHeader\" type=\"tns:ResponseHeader\" minOccurs=\"1\" />\n      <xs:element name=\"Results\" type=\"ua:ListOfStatusCode\" minOccurs=\"0\" />\n      <xs:element name=\"DiagnosticInfos\" type=\"ua:ListOfDiagnosticInfo\" minOccurs=\"0\" nillable=\"true\" />\n  \t</xs:sequence>\n  </xs:complexType>\n  <xs:element name=\"DeleteMonitoredItemsResponse\" type=\"tns:DeleteMonitoredItemsResponse\" />\n\n  <xs:complexType name=\"CreateSubscriptionRequest\">\n  \t<xs:sequence>\n      <xs:element name=\"RequestHeader\" type=\"tns:RequestHeader\" minOccurs=\"1\" />\n      <xs:element name=\"RequestedPublishingInterval\" type=\"xs:double\" minOccurs=\"1\" />\n      <xs:element name=\"RequestedLifetimeCount\" type=\"xs:unsignedInt\" minOccurs=\"1\" />\n      <xs:element name=\"RequestedMaxKeepAliveCount\" type=\"xs:unsignedInt\" minOccurs=\"1\" />\n      <xs:element name=\"MaxNotificationsPerPublish\" type=\"xs:unsignedInt\" minOccurs=\"1\" />\n      <xs:element name=\"PublishingEnabled\" type=\"xs:boolean\" minOccurs=\"1\" />\n      <xs:element name=\"Priority\" type=\"xs:unsignedByte\" minOccurs=\"1\" />\n  \t</xs:sequence>\n  </xs:complexType>\n  <xs:element name=\"CreateSubscriptionRequest\" type=\"tns:CreateSubscriptionRequest\" />\n\n  <xs:complexType name=\"CreateSubscriptionResponse\">\n  \t<xs:sequence>\n      <xs:element name=\"ResponseHeader\" type=\"tns:ResponseHeader\" minOccurs=\"1\" />\n      <xs:element name=\"SubscriptionId\" type=\"xs:unsignedInt\" minOccurs=\"1\" />\n      <xs:element name=\"RevisedPublishingInterval\" type=\"xs:double\" minOccurs=\"1\" />\n      <xs:element name=\"RevisedLifetimeCount\" type=\"xs:unsignedInt\" minOccurs=\"1\" />\n      <xs:element name=\"RevisedMaxKeepAliveCount\" type=\"xs:unsignedInt\" minOccurs=\"1\" />\n  \t</xs:sequence>\n  </xs:complexType>\n  <xs:element name=\"CreateSubscriptionResponse\" type=\"tns:CreateSubscriptionResponse\" />\n\n  <xs:complexType name=\"ModifySubscriptionRequest\">\n  \t<xs:sequence>\n      <xs:element name=\"RequestHeader\" type=\"tns:RequestHeader\" minOccurs=\"1\" />\n      <xs:element name=\"SubscriptionId\" type=\"xs:unsignedInt\" minOccurs=\"1\" />\n      <xs:element name=\"RequestedPublishingInterval\" type=\"xs:double\" minOccurs=\"1\" />\n      <xs:element name=\"RequestedLifetimeCount\" type=\"xs:unsignedInt\" minOccurs=\"1\" />\n      <xs:element name=\"RequestedMaxKeepAliveCount\" type=\"xs:unsignedInt\" minOccurs=\"1\" />\n      <xs:element name=\"MaxNotificationsPerPublish\" type=\"xs:unsignedInt\" minOccurs=\"1\" />\n      <xs:element name=\"Priority\" type=\"xs:unsignedByte\" minOccurs=\"1\" />\n  \t</xs:sequence>\n  </xs:complexType>\n  <xs:element name=\"ModifySubscriptionRequest\" type=\"tns:ModifySubscriptionRequest\" />\n\n  <xs:complexType name=\"ModifySubscriptionResponse\">\n  \t<xs:sequence>\n      <xs:element name=\"ResponseHeader\" type=\"tns:ResponseHeader\" minOccurs=\"1\" />\n      <xs:element name=\"RevisedPublishingInterval\" type=\"xs:double\" minOccurs=\"1\" />\n      <xs:element name=\"RevisedLifetimeCount\" type=\"xs:unsignedInt\" minOccurs=\"1\" />\n      <xs:element name=\"RevisedMaxKeepAliveCount\" type=\"xs:unsignedInt\" minOccurs=\"1\" />\n  \t</xs:sequence>\n  </xs:complexType>\n  <xs:element name=\"ModifySubscriptionResponse\" type=\"tns:ModifySubscriptionResponse\" />\n\n  <xs:complexType name=\"SetPublishingModeRequest\">\n  \t<xs:sequence>\n      <xs:element name=\"RequestHeader\" type=\"tns:RequestHeader\" minOccurs=\"1\" />\n      <xs:element name=\"PublishingEnabled\" type=\"xs:boolean\" minOccurs=\"1\" />\n      <xs:element name=\"SubscriptionIds\" type=\"ua:ListOfUInt32\" minOccurs=\"1\" />\n  \t</xs:sequence>\n  </xs:complexType>\n  <xs:element name=\"SetPublishingModeRequest\" type=\"tns:SetPublishingModeRequest\" />\n\n  <xs:complexType name=\"SetPublishingModeResponse\">\n  \t<xs:sequence>\n      <xs:element name=\"ResponseHeader\" type=\"tns:ResponseHeader\" minOccurs=\"1\" />\n      <xs:element name=\"Results\" type=\"ua:ListOfStatusCode\" minOccurs=\"0\" />\n      <xs:element name=\"DiagnosticInfos\" type=\"ua:ListOfDiagnosticInfo\" minOccurs=\"0\" nillable=\"true\" />\n  \t</xs:sequence>\n  </xs:complexType>\n  <xs:element name=\"SetPublishingModeResponse\" type=\"tns:SetPublishingModeResponse\" />\n\n  <xs:complexType name=\"NotificationMessage\">\n  \t<xs:sequence>\n      <xs:element name=\"SequenceNumber\" type=\"xs:unsignedInt\" minOccurs=\"1\" />\n      <xs:element name=\"PublishTime\" type=\"xs:dateTime\" minOccurs=\"1\" />\n      <xs:element name=\"NotificationData\" type=\"ua:ListOfExtensionObject\" minOccurs=\"1\" />\n  \t</xs:sequence>\n  </xs:complexType>\n  <xs:element name=\"NotificationMessage\" type=\"tns:NotificationMessage\" />\n\n  <xs:complexType name=\"NotificationData\">\n  \t<xs:sequence>\n  \t</xs:sequence>\n  </xs:complexType>\n  <xs:element name=\"NotificationData\" type=\"tns:NotificationData\" />\n\n  <xs:complexType name=\"DataChangeNotification\">\n    <xs:complexContent mixed=\"false\">\n      <xs:extension base=\"tns:NotificationData\">\n        <xs:sequence>\n          <xs:element name=\"MonitoredItems\" type=\"tns:ListOfMonitoredItemNotification\" minOccurs=\"1\" />\n          <xs:element name=\"DiagnosticInfos\" type=\"ua:ListOfDiagnosticInfo\" minOccurs=\"0\" nillable=\"true\" />\n        </xs:sequence>\n      </xs:extension>\n    </xs:complexContent>\n  </xs:complexType>\n  <xs:element name=\"DataChangeNotification\" type=\"tns:DataChangeNotification\" />\n\n  <xs:complexType name=\"MonitoredItemNotification\">\n  \t<xs:sequence>\n      <xs:element name=\"ClientHandle\" type=\"xs:unsignedInt\" minOccurs=\"1\" />\n      <xs:element name=\"Value\" type=\"ua:DataValue\" minOccurs=\"1\" />\n  \t</xs:sequence>\n  </xs:complexType>\n  <xs:element name=\"MonitoredItemNotification\" type=\"tns:MonitoredItemNotification\" />\n\n  <xs:complexType name=\"ListOfMonitoredItemNotification\">\n    <xs:sequence>\n      <xs:element name=\"MonitoredItemNotification\" type=\"tns:MonitoredItemNotification\" minOccurs=\"0\" maxOccurs=\"unbounded\" nillable=\"true\" />\n    </xs:sequence>\n  </xs:complexType>\n  <xs:element name=\"ListOfMonitoredItemNotification\" type=\"tns:ListOfMonitoredItemNotification\" nillable=\"true\"></xs:element>\n\n  <xs:complexType name=\"EventNotificationList\">\n    <xs:complexContent mixed=\"false\">\n      <xs:extension base=\"tns:NotificationData\">\n        <xs:sequence>\n          <xs:element name=\"Events\" type=\"tns:ListOfEventFieldList\" minOccurs=\"1\" />\n        </xs:sequence>\n      </xs:extension>\n    </xs:complexContent>\n  </xs:complexType>\n  <xs:element name=\"EventNotificationList\" type=\"tns:EventNotificationList\" />\n\n  <xs:complexType name=\"EventFieldList\">\n  \t<xs:sequence>\n      <xs:element name=\"ClientHandle\" type=\"xs:unsignedInt\" minOccurs=\"1\" />\n      <xs:element name=\"EventFields\" type=\"ua:ListOfVariant\" minOccurs=\"1\" />\n  \t</xs:sequence>\n  </xs:complexType>\n  <xs:element name=\"EventFieldList\" type=\"tns:EventFieldList\" />\n\n  <xs:complexType name=\"ListOfEventFieldList\">\n    <xs:sequence>\n      <xs:element name=\"EventFieldList\" type=\"tns:EventFieldList\" minOccurs=\"0\" maxOccurs=\"unbounded\" nillable=\"true\" />\n    </xs:sequence>\n  </xs:complexType>\n  <xs:element name=\"ListOfEventFieldList\" type=\"tns:ListOfEventFieldList\" nillable=\"true\"></xs:element>\n\n  <xs:complexType name=\"HistoryEventFieldList\">\n  \t<xs:sequence>\n      <xs:element name=\"EventFields\" type=\"ua:ListOfVariant\" minOccurs=\"1\" />\n  \t</xs:sequence>\n  </xs:complexType>\n  <xs:element name=\"HistoryEventFieldList\" type=\"tns:HistoryEventFieldList\" />\n\n  <xs:complexType name=\"ListOfHistoryEventFieldList\">\n    <xs:sequence>\n      <xs:element name=\"HistoryEventFieldList\" type=\"tns:HistoryEventFieldList\" minOccurs=\"0\" maxOccurs=\"unbounded\" nillable=\"true\" />\n    </xs:sequence>\n  </xs:complexType>\n  <xs:element name=\"ListOfHistoryEventFieldList\" type=\"tns:ListOfHistoryEventFieldList\" nillable=\"true\"></xs:element>\n\n  <xs:complexType name=\"StatusChangeNotification\">\n    <xs:complexContent mixed=\"false\">\n      <xs:extension base=\"tns:NotificationData\">\n        <xs:sequence>\n          <xs:element name=\"Status\" type=\"ua:StatusCode\" minOccurs=\"0\" />\n          <xs:element name=\"DiagnosticInfo\" type=\"ua:DiagnosticInfo\" minOccurs=\"0\" nillable=\"true\" />\n        </xs:sequence>\n      </xs:extension>\n    </xs:complexContent>\n  </xs:complexType>\n  <xs:element name=\"StatusChangeNotification\" type=\"tns:StatusChangeNotification\" />\n\n  <xs:complexType name=\"SubscriptionAcknowledgement\">\n  \t<xs:sequence>\n      <xs:element name=\"SubscriptionId\" type=\"xs:unsignedInt\" minOccurs=\"1\" />\n      <xs:element name=\"SequenceNumber\" type=\"xs:unsignedInt\" minOccurs=\"1\" />\n  \t</xs:sequence>\n  </xs:complexType>\n  <xs:element name=\"SubscriptionAcknowledgement\" type=\"tns:SubscriptionAcknowledgement\" />\n\n  <xs:complexType name=\"ListOfSubscriptionAcknowledgement\">\n    <xs:sequence>\n      <xs:element name=\"SubscriptionAcknowledgement\" type=\"tns:SubscriptionAcknowledgement\" minOccurs=\"0\" maxOccurs=\"unbounded\" nillable=\"true\" />\n    </xs:sequence>\n  </xs:complexType>\n  <xs:element name=\"ListOfSubscriptionAcknowledgement\" type=\"tns:ListOfSubscriptionAcknowledgement\" nillable=\"true\"></xs:element>\n\n  <xs:complexType name=\"PublishRequest\">\n  \t<xs:sequence>\n      <xs:element name=\"RequestHeader\" type=\"tns:RequestHeader\" minOccurs=\"1\" />\n      <xs:element name=\"SubscriptionAcknowledgements\" type=\"tns:ListOfSubscriptionAcknowledgement\" minOccurs=\"1\" />\n  \t</xs:sequence>\n  </xs:complexType>\n  <xs:element name=\"PublishRequest\" type=\"tns:PublishRequest\" />\n\n  <xs:complexType name=\"PublishResponse\">\n  \t<xs:sequence>\n      <xs:element name=\"ResponseHeader\" type=\"tns:ResponseHeader\" minOccurs=\"1\" />\n      <xs:element name=\"SubscriptionId\" type=\"xs:unsignedInt\" minOccurs=\"1\" />\n      <xs:element name=\"AvailableSequenceNumbers\" type=\"ua:ListOfUInt32\" minOccurs=\"1\" />\n      <xs:element name=\"MoreNotifications\" type=\"xs:boolean\" minOccurs=\"1\" />\n      <xs:element name=\"NotificationMessage\" type=\"tns:NotificationMessage\" minOccurs=\"1\" />\n      <xs:element name=\"Results\" type=\"ua:ListOfStatusCode\" minOccurs=\"0\" />\n      <xs:element name=\"DiagnosticInfos\" type=\"ua:ListOfDiagnosticInfo\" minOccurs=\"0\" nillable=\"true\" />\n  \t</xs:sequence>\n  </xs:complexType>\n  <xs:element name=\"PublishResponse\" type=\"tns:PublishResponse\" />\n\n  <xs:complexType name=\"RepublishRequest\">\n  \t<xs:sequence>\n      <xs:element name=\"RequestHeader\" type=\"tns:RequestHeader\" minOccurs=\"1\" />\n      <xs:element name=\"SubscriptionId\" type=\"xs:unsignedInt\" minOccurs=\"1\" />\n      <xs:element name=\"RetransmitSequenceNumber\" type=\"xs:unsignedInt\" minOccurs=\"1\" />\n  \t</xs:sequence>\n  </xs:complexType>\n  <xs:element name=\"RepublishRequest\" type=\"tns:RepublishRequest\" />\n\n  <xs:complexType name=\"RepublishResponse\">\n  \t<xs:sequence>\n      <xs:element name=\"ResponseHeader\" type=\"tns:ResponseHeader\" minOccurs=\"1\" />\n      <xs:element name=\"NotificationMessage\" type=\"tns:NotificationMessage\" minOccurs=\"1\" />\n  \t</xs:sequence>\n  </xs:complexType>\n  <xs:element name=\"RepublishResponse\" type=\"tns:RepublishResponse\" />\n\n  <xs:complexType name=\"TransferResult\">\n  \t<xs:sequence>\n      <xs:element name=\"StatusCode\" type=\"ua:StatusCode\" minOccurs=\"0\" />\n      <xs:element name=\"AvailableSequenceNumbers\" type=\"ua:ListOfUInt32\" minOccurs=\"1\" />\n  \t</xs:sequence>\n  </xs:complexType>\n  <xs:element name=\"TransferResult\" type=\"tns:TransferResult\" />\n\n  <xs:complexType name=\"ListOfTransferResult\">\n    <xs:sequence>\n      <xs:element name=\"TransferResult\" type=\"tns:TransferResult\" minOccurs=\"0\" maxOccurs=\"unbounded\" nillable=\"true\" />\n    </xs:sequence>\n  </xs:complexType>\n  <xs:element name=\"ListOfTransferResult\" type=\"tns:ListOfTransferResult\" nillable=\"true\"></xs:element>\n\n  <xs:complexType name=\"TransferSubscriptionsRequest\">\n  \t<xs:sequence>\n      <xs:element name=\"RequestHeader\" type=\"tns:RequestHeader\" minOccurs=\"1\" />\n      <xs:element name=\"SubscriptionIds\" type=\"ua:ListOfUInt32\" minOccurs=\"1\" />\n      <xs:element name=\"SendInitialValues\" type=\"xs:boolean\" minOccurs=\"1\" />\n  \t</xs:sequence>\n  </xs:complexType>\n  <xs:element name=\"TransferSubscriptionsRequest\" type=\"tns:TransferSubscriptionsRequest\" />\n\n  <xs:complexType name=\"TransferSubscriptionsResponse\">\n  \t<xs:sequence>\n      <xs:element name=\"ResponseHeader\" type=\"tns:ResponseHeader\" minOccurs=\"1\" />\n      <xs:element name=\"Results\" type=\"tns:ListOfTransferResult\" minOccurs=\"1\" />\n      <xs:element name=\"DiagnosticInfos\" type=\"ua:ListOfDiagnosticInfo\" minOccurs=\"0\" nillable=\"true\" />\n  \t</xs:sequence>\n  </xs:complexType>\n  <xs:element name=\"TransferSubscriptionsResponse\" type=\"tns:TransferSubscriptionsResponse\" />\n\n  <xs:complexType name=\"DeleteSubscriptionsRequest\">\n  \t<xs:sequence>\n      <xs:element name=\"RequestHeader\" type=\"tns:RequestHeader\" minOccurs=\"1\" />\n      <xs:element name=\"SubscriptionIds\" type=\"ua:ListOfUInt32\" minOccurs=\"1\" />\n  \t</xs:sequence>\n  </xs:complexType>\n  <xs:element name=\"DeleteSubscriptionsRequest\" type=\"tns:DeleteSubscriptionsRequest\" />\n\n  <xs:complexType name=\"DeleteSubscriptionsResponse\">\n  \t<xs:sequence>\n      <xs:element name=\"ResponseHeader\" type=\"tns:ResponseHeader\" minOccurs=\"1\" />\n      <xs:element name=\"Results\" type=\"ua:ListOfStatusCode\" minOccurs=\"0\" />\n      <xs:element name=\"DiagnosticInfos\" type=\"ua:ListOfDiagnosticInfo\" minOccurs=\"0\" nillable=\"true\" />\n  \t</xs:sequence>\n  </xs:complexType>\n  <xs:element name=\"DeleteSubscriptionsResponse\" type=\"tns:DeleteSubscriptionsResponse\" />\n\n  <xs:simpleType  name=\"RedundancySupport\">\n    <xs:restriction base=\"xs:string\">\n      <xs:enumeration value=\"None_0\" />\n      <xs:enumeration value=\"Cold_1\" />\n      <xs:enumeration value=\"Warm_2\" />\n      <xs:enumeration value=\"Hot_3\" />\n      <xs:enumeration value=\"Transparent_4\" />\n    </xs:restriction>\n  </xs:simpleType>\n  <xs:element name=\"RedundancySupport\" type=\"tns:RedundancySupport\" />\n\n  <xs:simpleType  name=\"ServerState\">\n    <xs:restriction base=\"xs:string\">\n      <xs:enumeration value=\"Running_0\" />\n      <xs:enumeration value=\"Failed_1\" />\n      <xs:enumeration value=\"NoConfiguration_2\" />\n      <xs:enumeration value=\"Suspended_3\" />\n      <xs:enumeration value=\"Shutdown_4\" />\n      <xs:enumeration value=\"Test_5\" />\n      <xs:enumeration value=\"CommunicationFault_6\" />\n      <xs:enumeration value=\"Unknown_7\" />\n    </xs:restriction>\n  </xs:simpleType>\n  <xs:element name=\"ServerState\" type=\"tns:ServerState\" />\n\n  <xs:complexType name=\"RedundantServerDataType\">\n  \t<xs:sequence>\n      <xs:element name=\"ServerId\" type=\"xs:string\" minOccurs=\"0\" nillable=\"true\" />\n      <xs:element name=\"ServiceLevel\" type=\"xs:unsignedByte\" minOccurs=\"1\" />\n      <xs:element name=\"ServerState\" type=\"tns:ServerState\" minOccurs=\"1\" />\n  \t</xs:sequence>\n  </xs:complexType>\n  <xs:element name=\"RedundantServerDataType\" type=\"tns:RedundantServerDataType\" />\n\n  <xs:complexType name=\"ListOfRedundantServerDataType\">\n    <xs:sequence>\n      <xs:element name=\"RedundantServerDataType\" type=\"tns:RedundantServerDataType\" minOccurs=\"0\" maxOccurs=\"unbounded\" nillable=\"true\" />\n    </xs:sequence>\n  </xs:complexType>\n  <xs:element name=\"ListOfRedundantServerDataType\" type=\"tns:ListOfRedundantServerDataType\" nillable=\"true\"></xs:element>\n\n  <xs:complexType name=\"SamplingIntervalDiagnosticsDataType\">\n  \t<xs:sequence>\n      <xs:element name=\"SamplingInterval\" type=\"xs:double\" minOccurs=\"1\" />\n      <xs:element name=\"MonitoredItemCount\" type=\"xs:unsignedInt\" minOccurs=\"1\" />\n      <xs:element name=\"MaxMonitoredItemCount\" type=\"xs:unsignedInt\" minOccurs=\"1\" />\n      <xs:element name=\"DisabledMonitoredItemCount\" type=\"xs:unsignedInt\" minOccurs=\"1\" />\n  \t</xs:sequence>\n  </xs:complexType>\n  <xs:element name=\"SamplingIntervalDiagnosticsDataType\" type=\"tns:SamplingIntervalDiagnosticsDataType\" />\n\n  <xs:complexType name=\"ServerDiagnosticsSummaryDataType\">\n  \t<xs:sequence>\n      <xs:element name=\"ServerViewCount\" type=\"xs:unsignedInt\" minOccurs=\"1\" />\n      <xs:element name=\"CurrentSessionCount\" type=\"xs:unsignedInt\" minOccurs=\"1\" />\n      <xs:element name=\"CumulatedSessionCount\" type=\"xs:unsignedInt\" minOccurs=\"1\" />\n      <xs:element name=\"SecurityRejectedSessionCount\" type=\"xs:unsignedInt\" minOccurs=\"1\" />\n      <xs:element name=\"RejectedSessionCount\" type=\"xs:unsignedInt\" minOccurs=\"1\" />\n      <xs:element name=\"SessionTimeoutCount\" type=\"xs:unsignedInt\" minOccurs=\"1\" />\n      <xs:element name=\"SessionAbortCount\" type=\"xs:unsignedInt\" minOccurs=\"1\" />\n      <xs:element name=\"CurrentSubscriptionCount\" type=\"xs:unsignedInt\" minOccurs=\"1\" />\n      <xs:element name=\"CumulatedSubscriptionCount\" type=\"xs:unsignedInt\" minOccurs=\"1\" />\n      <xs:element name=\"PublishingIntervalCount\" type=\"xs:unsignedInt\" minOccurs=\"1\" />\n      <xs:element name=\"SecurityRejectedRequestsCount\" type=\"xs:unsignedInt\" minOccurs=\"1\" />\n      <xs:element name=\"RejectedRequestsCount\" type=\"xs:unsignedInt\" minOccurs=\"1\" />\n  \t</xs:sequence>\n  </xs:complexType>\n  <xs:element name=\"ServerDiagnosticsSummaryDataType\" type=\"tns:ServerDiagnosticsSummaryDataType\" />\n\n  <xs:complexType name=\"ServerStatusDataType\">\n  \t<xs:sequence>\n      <xs:element name=\"StartTime\" type=\"xs:dateTime\" minOccurs=\"1\" />\n      <xs:element name=\"CurrentTime\" type=\"xs:dateTime\" minOccurs=\"1\" />\n      <xs:element name=\"State\" type=\"tns:ServerState\" minOccurs=\"1\" />\n      <xs:element name=\"BuildInfo\" type=\"tns:BuildInfo\" minOccurs=\"1\" />\n      <xs:element name=\"SecondsTillShutdown\" type=\"xs:unsignedInt\" minOccurs=\"1\" />\n      <xs:element name=\"ShutdownReason\" type=\"ua:LocalizedText\" minOccurs=\"0\" nillable=\"true\" />\n  \t</xs:sequence>\n  </xs:complexType>\n  <xs:element name=\"ServerStatusDataType\" type=\"tns:ServerStatusDataType\" />\n\n  <xs:complexType name=\"SessionDiagnosticsDataType\">\n  \t<xs:sequence>\n      <xs:element name=\"SessionId\" type=\"ua:NodeId\" minOccurs=\"0\" nillable=\"true\" />\n      <xs:element name=\"SessionName\" type=\"xs:string\" minOccurs=\"0\" nillable=\"true\" />\n      <xs:element name=\"ClientDescription\" type=\"tns:ApplicationDescription\" minOccurs=\"1\" />\n      <xs:element name=\"ServerUri\" type=\"xs:string\" minOccurs=\"0\" nillable=\"true\" />\n      <xs:element name=\"EndpointUrl\" type=\"xs:string\" minOccurs=\"0\" nillable=\"true\" />\n      <xs:element name=\"LocaleIds\" type=\"ua:ListOfString\" minOccurs=\"0\" nillable=\"true\" />\n      <xs:element name=\"ActualSessionTimeout\" type=\"xs:double\" minOccurs=\"1\" />\n      <xs:element name=\"MaxResponseMessageSize\" type=\"xs:unsignedInt\" minOccurs=\"1\" />\n      <xs:element name=\"ClientConnectionTime\" type=\"xs:dateTime\" minOccurs=\"1\" />\n      <xs:element name=\"ClientLastContactTime\" type=\"xs:dateTime\" minOccurs=\"1\" />\n      <xs:element name=\"CurrentSubscriptionsCount\" type=\"xs:unsignedInt\" minOccurs=\"1\" />\n      <xs:element name=\"CurrentMonitoredItemsCount\" type=\"xs:unsignedInt\" minOccurs=\"1\" />\n      <xs:element name=\"CurrentPublishRequestsInQueue\" type=\"xs:unsignedInt\" minOccurs=\"1\" />\n      <xs:element name=\"TotalRequestCount\" type=\"tns:ServiceCounterDataType\" minOccurs=\"1\" />\n      <xs:element name=\"UnauthorizedRequestCount\" type=\"xs:unsignedInt\" minOccurs=\"1\" />\n      <xs:element name=\"ReadCount\" type=\"tns:ServiceCounterDataType\" minOccurs=\"1\" />\n      <xs:element name=\"HistoryReadCount\" type=\"tns:ServiceCounterDataType\" minOccurs=\"1\" />\n      <xs:element name=\"WriteCount\" type=\"tns:ServiceCounterDataType\" minOccurs=\"1\" />\n      <xs:element name=\"HistoryUpdateCount\" type=\"tns:ServiceCounterDataType\" minOccurs=\"1\" />\n      <xs:element name=\"CallCount\" type=\"tns:ServiceCounterDataType\" minOccurs=\"1\" />\n      <xs:element name=\"CreateMonitoredItemsCount\" type=\"tns:ServiceCounterDataType\" minOccurs=\"1\" />\n      <xs:element name=\"ModifyMonitoredItemsCount\" type=\"tns:ServiceCounterDataType\" minOccurs=\"1\" />\n      <xs:element name=\"SetMonitoringModeCount\" type=\"tns:ServiceCounterDataType\" minOccurs=\"1\" />\n      <xs:element name=\"SetTriggeringCount\" type=\"tns:ServiceCounterDataType\" minOccurs=\"1\" />\n      <xs:element name=\"DeleteMonitoredItemsCount\" type=\"tns:ServiceCounterDataType\" minOccurs=\"1\" />\n      <xs:element name=\"CreateSubscriptionCount\" type=\"tns:ServiceCounterDataType\" minOccurs=\"1\" />\n      <xs:element name=\"ModifySubscriptionCount\" type=\"tns:ServiceCounterDataType\" minOccurs=\"1\" />\n      <xs:element name=\"SetPublishingModeCount\" type=\"tns:ServiceCounterDataType\" minOccurs=\"1\" />\n      <xs:element name=\"PublishCount\" type=\"tns:ServiceCounterDataType\" minOccurs=\"1\" />\n      <xs:element name=\"RepublishCount\" type=\"tns:ServiceCounterDataType\" minOccurs=\"1\" />\n      <xs:element name=\"TransferSubscriptionsCount\" type=\"tns:ServiceCounterDataType\" minOccurs=\"1\" />\n      <xs:element name=\"DeleteSubscriptionsCount\" type=\"tns:ServiceCounterDataType\" minOccurs=\"1\" />\n      <xs:element name=\"AddNodesCount\" type=\"tns:ServiceCounterDataType\" minOccurs=\"1\" />\n      <xs:element name=\"AddReferencesCount\" type=\"tns:ServiceCounterDataType\" minOccurs=\"1\" />\n      <xs:element name=\"DeleteNodesCount\" type=\"tns:ServiceCounterDataType\" minOccurs=\"1\" />\n      <xs:element name=\"DeleteReferencesCount\" type=\"tns:ServiceCounterDataType\" minOccurs=\"1\" />\n      <xs:element name=\"BrowseCount\" type=\"tns:ServiceCounterDataType\" minOccurs=\"1\" />\n      <xs:element name=\"BrowseNextCount\" type=\"tns:ServiceCounterDataType\" minOccurs=\"1\" />\n      <xs:element name=\"TranslateBrowsePathsToNodeIdsCount\" type=\"tns:ServiceCounterDataType\" minOccurs=\"1\" />\n      <xs:element name=\"QueryFirstCount\" type=\"tns:ServiceCounterDataType\" minOccurs=\"1\" />\n      <xs:element name=\"QueryNextCount\" type=\"tns:ServiceCounterDataType\" minOccurs=\"1\" />\n      <xs:element name=\"RegisterNodesCount\" type=\"tns:ServiceCounterDataType\" minOccurs=\"1\" />\n      <xs:element name=\"UnregisterNodesCount\" type=\"tns:ServiceCounterDataType\" minOccurs=\"1\" />\n  \t</xs:sequence>\n  </xs:complexType>\n  <xs:element name=\"SessionDiagnosticsDataType\" type=\"tns:SessionDiagnosticsDataType\" />\n\n  <xs:complexType name=\"SessionSecurityDiagnosticsDataType\">\n  \t<xs:sequence>\n      <xs:element name=\"SessionId\" type=\"ua:NodeId\" minOccurs=\"0\" nillable=\"true\" />\n      <xs:element name=\"ClientUserIdOfSession\" type=\"xs:string\" minOccurs=\"0\" nillable=\"true\" />\n      <xs:element name=\"ClientUserIdHistory\" type=\"ua:ListOfString\" minOccurs=\"0\" nillable=\"true\" />\n      <xs:element name=\"AuthenticationMechanism\" type=\"xs:string\" minOccurs=\"0\" nillable=\"true\" />\n      <xs:element name=\"Encoding\" type=\"xs:string\" minOccurs=\"0\" nillable=\"true\" />\n      <xs:element name=\"TransportProtocol\" type=\"xs:string\" minOccurs=\"0\" nillable=\"true\" />\n      <xs:element name=\"SecurityMode\" type=\"tns:MessageSecurityMode\" minOccurs=\"1\" />\n      <xs:element name=\"SecurityPolicyUri\" type=\"xs:string\" minOccurs=\"0\" nillable=\"true\" />\n      <xs:element name=\"ClientCertificate\" type=\"xs:base64Binary\" minOccurs=\"0\" nillable=\"true\" />\n  \t</xs:sequence>\n  </xs:complexType>\n  <xs:element name=\"SessionSecurityDiagnosticsDataType\" type=\"tns:SessionSecurityDiagnosticsDataType\" />\n\n  <xs:complexType name=\"ServiceCounterDataType\">\n  \t<xs:sequence>\n      <xs:element name=\"TotalCount\" type=\"xs:unsignedInt\" minOccurs=\"1\" />\n      <xs:element name=\"ErrorCount\" type=\"xs:unsignedInt\" minOccurs=\"1\" />\n  \t</xs:sequence>\n  </xs:complexType>\n  <xs:element name=\"ServiceCounterDataType\" type=\"tns:ServiceCounterDataType\" />\n\n  <xs:complexType name=\"SubscriptionDiagnosticsDataType\">\n  \t<xs:sequence>\n      <xs:element name=\"SessionId\" type=\"ua:NodeId\" minOccurs=\"0\" nillable=\"true\" />\n      <xs:element name=\"SubscriptionId\" type=\"xs:unsignedInt\" minOccurs=\"1\" />\n      <xs:element name=\"Priority\" type=\"xs:unsignedByte\" minOccurs=\"1\" />\n      <xs:element name=\"PublishingInterval\" type=\"xs:double\" minOccurs=\"1\" />\n      <xs:element name=\"MaxKeepAliveCount\" type=\"xs:unsignedInt\" minOccurs=\"1\" />\n      <xs:element name=\"MaxLifetimeCount\" type=\"xs:unsignedInt\" minOccurs=\"1\" />\n      <xs:element name=\"MaxNotificationsPerPublish\" type=\"xs:unsignedInt\" minOccurs=\"1\" />\n      <xs:element name=\"PublishingEnabled\" type=\"xs:boolean\" minOccurs=\"1\" />\n      <xs:element name=\"ModifyCount\" type=\"xs:unsignedInt\" minOccurs=\"1\" />\n      <xs:element name=\"EnableCount\" type=\"xs:unsignedInt\" minOccurs=\"1\" />\n      <xs:element name=\"DisableCount\" type=\"xs:unsignedInt\" minOccurs=\"1\" />\n      <xs:element name=\"RepublishRequestCount\" type=\"xs:unsignedInt\" minOccurs=\"1\" />\n      <xs:element name=\"RepublishMessageRequestCount\" type=\"xs:unsignedInt\" minOccurs=\"1\" />\n      <xs:element name=\"RepublishMessageCount\" type=\"xs:unsignedInt\" minOccurs=\"1\" />\n      <xs:element name=\"TransferRequestCount\" type=\"xs:unsignedInt\" minOccurs=\"1\" />\n      <xs:element name=\"TransferredToAltClientCount\" type=\"xs:unsignedInt\" minOccurs=\"1\" />\n      <xs:element name=\"TransferredToSameClientCount\" type=\"xs:unsignedInt\" minOccurs=\"1\" />\n      <xs:element name=\"PublishRequestCount\" type=\"xs:unsignedInt\" minOccurs=\"1\" />\n      <xs:element name=\"DataChangeNotificationsCount\" type=\"xs:unsignedInt\" minOccurs=\"1\" />\n      <xs:element name=\"EventNotificationsCount\" type=\"xs:unsignedInt\" minOccurs=\"1\" />\n      <xs:element name=\"NotificationsCount\" type=\"xs:unsignedInt\" minOccurs=\"1\" />\n      <xs:element name=\"LatePublishRequestCount\" type=\"xs:unsignedInt\" minOccurs=\"1\" />\n      <xs:element name=\"CurrentKeepAliveCount\" type=\"xs:unsignedInt\" minOccurs=\"1\" />\n      <xs:element name=\"CurrentLifetimeCount\" type=\"xs:unsignedInt\" minOccurs=\"1\" />\n      <xs:element name=\"UnacknowledgedMessageCount\" type=\"xs:unsignedInt\" minOccurs=\"1\" />\n      <xs:element name=\"DiscardedMessageCount\" type=\"xs:unsignedInt\" minOccurs=\"1\" />\n      <xs:element name=\"MonitoredItemCount\" type=\"xs:unsignedInt\" minOccurs=\"1\" />\n      <xs:element name=\"DisabledMonitoredItemCount\" type=\"xs:unsignedInt\" minOccurs=\"1\" />\n      <xs:element name=\"MonitoringQueueOverflowCount\" type=\"xs:unsignedInt\" minOccurs=\"1\" />\n      <xs:element name=\"NextSequenceNumber\" type=\"xs:unsignedInt\" minOccurs=\"1\" />\n      <xs:element name=\"EventQueueOverFlowCount\" type=\"xs:unsignedInt\" minOccurs=\"1\" />\n  \t</xs:sequence>\n  </xs:complexType>\n  <xs:element name=\"SubscriptionDiagnosticsDataType\" type=\"tns:SubscriptionDiagnosticsDataType\" />\n\n  <xs:complexType name=\"ModelChangeStructureDataType\">\n  \t<xs:sequence>\n      <xs:element name=\"Affected\" type=\"ua:NodeId\" minOccurs=\"0\" nillable=\"true\" />\n      <xs:element name=\"AffectedType\" type=\"ua:NodeId\" minOccurs=\"0\" nillable=\"true\" />\n      <xs:element name=\"Verb\" type=\"xs:unsignedByte\" minOccurs=\"1\" />\n  \t</xs:sequence>\n  </xs:complexType>\n  <xs:element name=\"ModelChangeStructureDataType\" type=\"tns:ModelChangeStructureDataType\" />\n\n  <xs:complexType name=\"ListOfModelChangeStructureDataType\">\n    <xs:sequence>\n      <xs:element name=\"ModelChangeStructureDataType\" type=\"tns:ModelChangeStructureDataType\" minOccurs=\"0\" maxOccurs=\"unbounded\" nillable=\"true\" />\n    </xs:sequence>\n  </xs:complexType>\n  <xs:element name=\"ListOfModelChangeStructureDataType\" type=\"tns:ListOfModelChangeStructureDataType\" nillable=\"true\"></xs:element>\n\n  <xs:simpleType  name=\"ModelChangeStructureVerbMask\">\n    <xs:restriction base=\"xs:string\">\n      <xs:enumeration value=\"NodeAdded_1\" />\n      <xs:enumeration value=\"NodeDeleted_2\" />\n      <xs:enumeration value=\"ReferenceAdded_4\" />\n      <xs:enumeration value=\"ReferenceDeleted_8\" />\n      <xs:enumeration value=\"DataTypeChanged_16\" />\n    </xs:restriction>\n  </xs:simpleType>\n  <xs:element name=\"ModelChangeStructureVerbMask\" type=\"tns:ModelChangeStructureVerbMask\" />\n\n  <xs:complexType name=\"SemanticChangeStructureDataType\">\n  \t<xs:sequence>\n      <xs:element name=\"Affected\" type=\"ua:NodeId\" minOccurs=\"0\" nillable=\"true\" />\n      <xs:element name=\"AffectedType\" type=\"ua:NodeId\" minOccurs=\"0\" nillable=\"true\" />\n  \t</xs:sequence>\n  </xs:complexType>\n  <xs:element name=\"SemanticChangeStructureDataType\" type=\"tns:SemanticChangeStructureDataType\" />\n\n  <xs:complexType name=\"ListOfSemanticChangeStructureDataType\">\n    <xs:sequence>\n      <xs:element name=\"SemanticChangeStructureDataType\" type=\"tns:SemanticChangeStructureDataType\" minOccurs=\"0\" maxOccurs=\"unbounded\" nillable=\"true\" />\n    </xs:sequence>\n  </xs:complexType>\n  <xs:element name=\"ListOfSemanticChangeStructureDataType\" type=\"tns:ListOfSemanticChangeStructureDataType\" nillable=\"true\"></xs:element>\n\n  <xs:complexType name=\"Range\">\n  \t<xs:sequence>\n      <xs:element name=\"Low\" type=\"xs:double\" minOccurs=\"1\" />\n      <xs:element name=\"High\" type=\"xs:double\" minOccurs=\"1\" />\n  \t</xs:sequence>\n  </xs:complexType>\n  <xs:element name=\"Range\" type=\"tns:Range\" />\n\n  <xs:complexType name=\"EUInformation\">\n  \t<xs:sequence>\n      <xs:element name=\"NamespaceUri\" type=\"xs:string\" minOccurs=\"0\" nillable=\"true\" />\n      <xs:element name=\"UnitId\" type=\"xs:int\" minOccurs=\"1\" />\n      <xs:element name=\"DisplayName\" type=\"ua:LocalizedText\" minOccurs=\"0\" nillable=\"true\" />\n      <xs:element name=\"Description\" type=\"ua:LocalizedText\" minOccurs=\"0\" nillable=\"true\" />\n  \t</xs:sequence>\n  </xs:complexType>\n  <xs:element name=\"EUInformation\" type=\"tns:EUInformation\" />\n\n  <xs:simpleType  name=\"ExceptionDeviationFormat\">\n    <xs:restriction base=\"xs:string\">\n      <xs:enumeration value=\"AbsoluteValue_0\" />\n      <xs:enumeration value=\"PercentOfRange_1\" />\n      <xs:enumeration value=\"PercentOfValue_2\" />\n      <xs:enumeration value=\"PercentOfEURange_3\" />\n      <xs:enumeration value=\"Unknown_4\" />\n    </xs:restriction>\n  </xs:simpleType>\n  <xs:element name=\"ExceptionDeviationFormat\" type=\"tns:ExceptionDeviationFormat\" />\n\n  <xs:complexType name=\"Annotation\">\n  \t<xs:sequence>\n      <xs:element name=\"Message\" type=\"xs:string\" minOccurs=\"0\" nillable=\"true\" />\n      <xs:element name=\"UserName\" type=\"xs:string\" minOccurs=\"0\" nillable=\"true\" />\n      <xs:element name=\"AnnotationTime\" type=\"xs:dateTime\" minOccurs=\"1\" />\n  \t</xs:sequence>\n  </xs:complexType>\n  <xs:element name=\"Annotation\" type=\"tns:Annotation\" />\n\n  <xs:complexType name=\"ProgramDiagnosticDataType\">\n  \t<xs:sequence>\n      <xs:element name=\"CreateSessionId\" type=\"ua:NodeId\" minOccurs=\"0\" nillable=\"true\" />\n      <xs:element name=\"CreateClientName\" type=\"xs:string\" minOccurs=\"0\" nillable=\"true\" />\n      <xs:element name=\"InvocationCreationTime\" type=\"xs:dateTime\" minOccurs=\"1\" />\n      <xs:element name=\"LastTransitionTime\" type=\"xs:dateTime\" minOccurs=\"1\" />\n      <xs:element name=\"LastMethodCall\" type=\"xs:string\" minOccurs=\"0\" nillable=\"true\" />\n      <xs:element name=\"LastMethodSessionId\" type=\"ua:NodeId\" minOccurs=\"0\" nillable=\"true\" />\n      <xs:element name=\"LastMethodInputArguments\" type=\"tns:ListOfArgument\" minOccurs=\"1\" />\n      <xs:element name=\"LastMethodOutputArguments\" type=\"tns:ListOfArgument\" minOccurs=\"1\" />\n      <xs:element name=\"LastMethodCallTime\" type=\"xs:dateTime\" minOccurs=\"1\" />\n      <xs:element name=\"LastMethodReturnStatus\" type=\"tns:StatusResult\" minOccurs=\"1\" />\n  \t</xs:sequence>\n  </xs:complexType>\n  <xs:element name=\"ProgramDiagnosticDataType\" type=\"tns:ProgramDiagnosticDataType\" />\n  \n</xs:schema>"
  },
  {
    "path": "SemanticData/UANodeSetValidation/DataSerialization/Opc_Ua_Types.cs",
    "content": "﻿//------------------------------------------------------------------------------\n// <auto-generated>\n//     Ten kod został wygenerowany przez narzędzie.\n//     Wersja wykonawcza:2.0.50727.3053\n//\n//     Zmiany w tym pliku mogą spowodować nieprawidłowe zachowanie i zostaną utracone, jeśli\n//     kod zostanie ponownie wygenerowany.\n// </auto-generated>\n//------------------------------------------------------------------------------\n\nusing System.Xml.Serialization;\n\nnamespace UAOOI.SemanticData.UANodeSetValidation.DataSerialization\n{\n  // \n  // This source code was auto-generated by xsd, Version=2.0.50727.42.\n  // \n\n\n  /// <uwagi/>\n  [System.CodeDom.Compiler.GeneratedCodeAttribute( \"xsd\", \"2.0.50727.42\" )]\n  [System.SerializableAttribute()]\n  [System.Diagnostics.DebuggerStepThroughAttribute()]\n  [System.ComponentModel.DesignerCategoryAttribute( \"code\" )]\n  [System.Xml.Serialization.XmlTypeAttribute( Namespace = \"http://opcfoundation.org/UA/2008/02/Types.xsd\" )]\n  [System.Xml.Serialization.XmlRootAttribute( Namespace = \"http://opcfoundation.org/UA/2008/02/Types.xsd\", IsNullable = true )]\n  public partial class ListOfBoolean\n  {\n\n    private bool[] booleanField;\n\n    /// <uwagi/>\n    [System.Xml.Serialization.XmlElementAttribute( \"Boolean\" )]\n    public bool[] Boolean\n    {\n      get\n      {\n        return this.booleanField;\n      }\n      set\n      {\n        this.booleanField = value;\n      }\n    }\n  }\n\n  /// <uwagi/>\n  [System.CodeDom.Compiler.GeneratedCodeAttribute( \"xsd\", \"2.0.50727.42\" )]\n  [System.SerializableAttribute()]\n  [System.Diagnostics.DebuggerStepThroughAttribute()]\n  [System.ComponentModel.DesignerCategoryAttribute( \"code\" )]\n  [System.Xml.Serialization.XmlTypeAttribute( Namespace = \"http://opcfoundation.org/UA/2008/02/Types.xsd\" )]\n  [System.Xml.Serialization.XmlRootAttribute( Namespace = \"http://opcfoundation.org/UA/2008/02/Types.xsd\", IsNullable = true )]\n  public partial class ListOfSByte\n  {\n\n    private sbyte[] sByteField;\n\n    /// <uwagi/>\n    [System.Xml.Serialization.XmlElementAttribute( \"SByte\" )]\n    public sbyte[] SByte\n    {\n      get\n      {\n        return this.sByteField;\n      }\n      set\n      {\n        this.sByteField = value;\n      }\n    }\n  }\n\n  /// <uwagi/>\n  [System.CodeDom.Compiler.GeneratedCodeAttribute( \"xsd\", \"2.0.50727.42\" )]\n  [System.SerializableAttribute()]\n  [System.Diagnostics.DebuggerStepThroughAttribute()]\n  [System.ComponentModel.DesignerCategoryAttribute( \"code\" )]\n  [System.Xml.Serialization.XmlTypeAttribute( Namespace = \"http://opcfoundation.org/UA/2008/02/Types.xsd\" )]\n  [System.Xml.Serialization.XmlRootAttribute( Namespace = \"http://opcfoundation.org/UA/2008/02/Types.xsd\", IsNullable = true )]\n  public partial class ListOfByte\n  {\n\n    private byte[] byteField;\n\n    /// <uwagi/>\n    [System.Xml.Serialization.XmlElementAttribute( \"Byte\" )]\n    public byte[] Byte\n    {\n      get\n      {\n        return this.byteField;\n      }\n      set\n      {\n        this.byteField = value;\n      }\n    }\n  }\n\n  /// <uwagi/>\n  [System.CodeDom.Compiler.GeneratedCodeAttribute( \"xsd\", \"2.0.50727.42\" )]\n  [System.SerializableAttribute()]\n  [System.Diagnostics.DebuggerStepThroughAttribute()]\n  [System.ComponentModel.DesignerCategoryAttribute( \"code\" )]\n  [System.Xml.Serialization.XmlTypeAttribute( Namespace = \"http://opcfoundation.org/UA/2008/02/Types.xsd\" )]\n  [System.Xml.Serialization.XmlRootAttribute( Namespace = \"http://opcfoundation.org/UA/2008/02/Types.xsd\", IsNullable = true )]\n  public partial class ListOfInt16\n  {\n\n    private short[] int16Field;\n\n    /// <uwagi/>\n    [System.Xml.Serialization.XmlElementAttribute( \"Int16\" )]\n    public short[] Int16\n    {\n      get\n      {\n        return this.int16Field;\n      }\n      set\n      {\n        this.int16Field = value;\n      }\n    }\n  }\n\n  /// <uwagi/>\n  [System.CodeDom.Compiler.GeneratedCodeAttribute( \"xsd\", \"2.0.50727.42\" )]\n  [System.SerializableAttribute()]\n  [System.Diagnostics.DebuggerStepThroughAttribute()]\n  [System.ComponentModel.DesignerCategoryAttribute( \"code\" )]\n  [System.Xml.Serialization.XmlTypeAttribute( Namespace = \"http://opcfoundation.org/UA/2008/02/Types.xsd\" )]\n  [System.Xml.Serialization.XmlRootAttribute( Namespace = \"http://opcfoundation.org/UA/2008/02/Types.xsd\", IsNullable = true )]\n  public partial class ListOfUInt16\n  {\n\n    private ushort[] uInt16Field;\n\n    /// <uwagi/>\n    [System.Xml.Serialization.XmlElementAttribute( \"UInt16\" )]\n    public ushort[] UInt16\n    {\n      get\n      {\n        return this.uInt16Field;\n      }\n      set\n      {\n        this.uInt16Field = value;\n      }\n    }\n  }\n\n  /// <uwagi/>\n  [System.CodeDom.Compiler.GeneratedCodeAttribute( \"xsd\", \"2.0.50727.42\" )]\n  [System.SerializableAttribute()]\n  [System.Diagnostics.DebuggerStepThroughAttribute()]\n  [System.ComponentModel.DesignerCategoryAttribute( \"code\" )]\n  [System.Xml.Serialization.XmlTypeAttribute( Namespace = \"http://opcfoundation.org/UA/2008/02/Types.xsd\" )]\n  [System.Xml.Serialization.XmlRootAttribute( Namespace = \"http://opcfoundation.org/UA/2008/02/Types.xsd\", IsNullable = true )]\n  public partial class ListOfInt32\n  {\n\n    private int[] int32Field;\n\n    /// <uwagi/>\n    [System.Xml.Serialization.XmlElementAttribute( \"Int32\" )]\n    public int[] Int32\n    {\n      get\n      {\n        return this.int32Field;\n      }\n      set\n      {\n        this.int32Field = value;\n      }\n    }\n  }\n\n  /// <uwagi/>\n  [System.CodeDom.Compiler.GeneratedCodeAttribute( \"xsd\", \"2.0.50727.42\" )]\n  [System.SerializableAttribute()]\n  [System.Diagnostics.DebuggerStepThroughAttribute()]\n  [System.ComponentModel.DesignerCategoryAttribute( \"code\" )]\n  [System.Xml.Serialization.XmlTypeAttribute( Namespace = \"http://opcfoundation.org/UA/2008/02/Types.xsd\" )]\n  [System.Xml.Serialization.XmlRootAttribute( Namespace = \"http://opcfoundation.org/UA/2008/02/Types.xsd\", IsNullable = true )]\n  public partial class ListOfUInt32\n  {\n\n    private uint[] uInt32Field;\n\n    /// <uwagi/>\n    [System.Xml.Serialization.XmlElementAttribute( \"UInt32\" )]\n    public uint[] UInt32\n    {\n      get\n      {\n        return this.uInt32Field;\n      }\n      set\n      {\n        this.uInt32Field = value;\n      }\n    }\n  }\n\n  /// <uwagi/>\n  [System.CodeDom.Compiler.GeneratedCodeAttribute( \"xsd\", \"2.0.50727.42\" )]\n  [System.SerializableAttribute()]\n  [System.Diagnostics.DebuggerStepThroughAttribute()]\n  [System.ComponentModel.DesignerCategoryAttribute( \"code\" )]\n  [System.Xml.Serialization.XmlTypeAttribute( Namespace = \"http://opcfoundation.org/UA/2008/02/Types.xsd\" )]\n  [System.Xml.Serialization.XmlRootAttribute( Namespace = \"http://opcfoundation.org/UA/2008/02/Types.xsd\", IsNullable = true )]\n  public partial class ListOfInt64\n  {\n\n    private long[] int64Field;\n\n    /// <uwagi/>\n    [System.Xml.Serialization.XmlElementAttribute( \"Int64\" )]\n    public long[] Int64\n    {\n      get\n      {\n        return this.int64Field;\n      }\n      set\n      {\n        this.int64Field = value;\n      }\n    }\n  }\n\n  /// <uwagi/>\n  [System.CodeDom.Compiler.GeneratedCodeAttribute( \"xsd\", \"2.0.50727.42\" )]\n  [System.SerializableAttribute()]\n  [System.Diagnostics.DebuggerStepThroughAttribute()]\n  [System.ComponentModel.DesignerCategoryAttribute( \"code\" )]\n  [System.Xml.Serialization.XmlTypeAttribute( Namespace = \"http://opcfoundation.org/UA/2008/02/Types.xsd\" )]\n  [System.Xml.Serialization.XmlRootAttribute( Namespace = \"http://opcfoundation.org/UA/2008/02/Types.xsd\", IsNullable = true )]\n  public partial class ListOfUInt64\n  {\n\n    private ulong[] uInt64Field;\n\n    /// <uwagi/>\n    [System.Xml.Serialization.XmlElementAttribute( \"UInt64\" )]\n    public ulong[] UInt64\n    {\n      get\n      {\n        return this.uInt64Field;\n      }\n      set\n      {\n        this.uInt64Field = value;\n      }\n    }\n  }\n\n  /// <uwagi/>\n  [System.CodeDom.Compiler.GeneratedCodeAttribute( \"xsd\", \"2.0.50727.42\" )]\n  [System.SerializableAttribute()]\n  [System.Diagnostics.DebuggerStepThroughAttribute()]\n  [System.ComponentModel.DesignerCategoryAttribute( \"code\" )]\n  [System.Xml.Serialization.XmlTypeAttribute( Namespace = \"http://opcfoundation.org/UA/2008/02/Types.xsd\" )]\n  [System.Xml.Serialization.XmlRootAttribute( Namespace = \"http://opcfoundation.org/UA/2008/02/Types.xsd\", IsNullable = true )]\n  public partial class ListOfFloat\n  {\n\n    private float[] floatField;\n\n    /// <uwagi/>\n    [System.Xml.Serialization.XmlElementAttribute( \"Float\" )]\n    public float[] Float\n    {\n      get\n      {\n        return this.floatField;\n      }\n      set\n      {\n        this.floatField = value;\n      }\n    }\n  }\n\n  /// <uwagi/>\n  [System.CodeDom.Compiler.GeneratedCodeAttribute( \"xsd\", \"2.0.50727.42\" )]\n  [System.SerializableAttribute()]\n  [System.Diagnostics.DebuggerStepThroughAttribute()]\n  [System.ComponentModel.DesignerCategoryAttribute( \"code\" )]\n  [System.Xml.Serialization.XmlTypeAttribute( Namespace = \"http://opcfoundation.org/UA/2008/02/Types.xsd\" )]\n  [System.Xml.Serialization.XmlRootAttribute( Namespace = \"http://opcfoundation.org/UA/2008/02/Types.xsd\", IsNullable = true )]\n  public partial class ListOfDouble\n  {\n\n    private double[] doubleField;\n\n    /// <uwagi/>\n    [System.Xml.Serialization.XmlElementAttribute( \"Double\" )]\n    public double[] Double\n    {\n      get\n      {\n        return this.doubleField;\n      }\n      set\n      {\n        this.doubleField = value;\n      }\n    }\n  }\n\n  /// <uwagi/>\n  [System.CodeDom.Compiler.GeneratedCodeAttribute( \"xsd\", \"2.0.50727.42\" )]\n  [System.SerializableAttribute()]\n  [System.Diagnostics.DebuggerStepThroughAttribute()]\n  [System.ComponentModel.DesignerCategoryAttribute( \"code\" )]\n  [System.Xml.Serialization.XmlTypeAttribute( Namespace = \"http://opcfoundation.org/UA/2008/02/Types.xsd\" )]\n  [System.Xml.Serialization.XmlRootAttribute( Namespace = \"http://opcfoundation.org/UA/2008/02/Types.xsd\", IsNullable = true )]\n  public partial class ListOfString\n  {\n\n    private string[] stringField;\n\n    /// <uwagi/>\n    [System.Xml.Serialization.XmlElementAttribute( \"String\" )]\n    public string[] String\n    {\n      get\n      {\n        return this.stringField;\n      }\n      set\n      {\n        this.stringField = value;\n      }\n    }\n  }\n\n  /// <uwagi/>\n  [System.CodeDom.Compiler.GeneratedCodeAttribute( \"xsd\", \"2.0.50727.42\" )]\n  [System.SerializableAttribute()]\n  [System.Diagnostics.DebuggerStepThroughAttribute()]\n  [System.ComponentModel.DesignerCategoryAttribute( \"code\" )]\n  [System.Xml.Serialization.XmlTypeAttribute( Namespace = \"http://opcfoundation.org/UA/2008/02/Types.xsd\" )]\n  [System.Xml.Serialization.XmlRootAttribute( Namespace = \"http://opcfoundation.org/UA/2008/02/Types.xsd\", IsNullable = true )]\n  public partial class ListOfDateTime\n  {\n\n    private System.DateTime[] dateTimeField;\n\n    /// <uwagi/>\n    [System.Xml.Serialization.XmlElementAttribute( \"DateTime\" )]\n    public System.DateTime[] DateTime\n    {\n      get\n      {\n        return this.dateTimeField;\n      }\n      set\n      {\n        this.dateTimeField = value;\n      }\n    }\n  }\n\n  /// <uwagi/>\n  [System.CodeDom.Compiler.GeneratedCodeAttribute( \"xsd\", \"2.0.50727.42\" )]\n  [System.SerializableAttribute()]\n  [System.Diagnostics.DebuggerStepThroughAttribute()]\n  [System.ComponentModel.DesignerCategoryAttribute( \"code\" )]\n  [System.Xml.Serialization.XmlTypeAttribute( Namespace = \"http://opcfoundation.org/UA/2008/02/Types.xsd\" )]\n  [System.Xml.Serialization.XmlRootAttribute( Namespace = \"http://opcfoundation.org/UA/2008/02/Types.xsd\", IsNullable = true )]\n  public partial class Guid\n  {\n\n    private string stringField;\n\n    /// <uwagi/>\n    [System.Xml.Serialization.XmlElementAttribute( IsNullable = true )]\n    public string String\n    {\n      get\n      {\n        return this.stringField;\n      }\n      set\n      {\n        this.stringField = value;\n      }\n    }\n  }\n\n  /// <uwagi/>\n  [System.CodeDom.Compiler.GeneratedCodeAttribute( \"xsd\", \"2.0.50727.42\" )]\n  [System.SerializableAttribute()]\n  [System.Diagnostics.DebuggerStepThroughAttribute()]\n  [System.ComponentModel.DesignerCategoryAttribute( \"code\" )]\n  [System.Xml.Serialization.XmlTypeAttribute( Namespace = \"http://opcfoundation.org/UA/2008/02/Types.xsd\" )]\n  [System.Xml.Serialization.XmlRootAttribute( Namespace = \"http://opcfoundation.org/UA/2008/02/Types.xsd\", IsNullable = true )]\n  public partial class ListOfGuid\n  {\n\n    private Guid[] guidField;\n\n    /// <uwagi/>\n    [System.Xml.Serialization.XmlElementAttribute( \"Guid\" )]\n    public Guid[] Guid\n    {\n      get\n      {\n        return this.guidField;\n      }\n      set\n      {\n        this.guidField = value;\n      }\n    }\n  }\n\n  /// <uwagi/>\n  [System.CodeDom.Compiler.GeneratedCodeAttribute( \"xsd\", \"2.0.50727.42\" )]\n  [System.SerializableAttribute()]\n  [System.Diagnostics.DebuggerStepThroughAttribute()]\n  [System.ComponentModel.DesignerCategoryAttribute( \"code\" )]\n  [System.Xml.Serialization.XmlTypeAttribute( Namespace = \"http://opcfoundation.org/UA/2008/02/Types.xsd\" )]\n  [System.Xml.Serialization.XmlRootAttribute( Namespace = \"http://opcfoundation.org/UA/2008/02/Types.xsd\", IsNullable = true )]\n  public partial class ListOfByteString\n  {\n\n    private byte[][] byteStringField;\n\n    /// <uwagi/>\n    [System.Xml.Serialization.XmlElementAttribute( \"ByteString\", DataType = \"base64Binary\", IsNullable = true )]\n    public byte[][] ByteString\n    {\n      get\n      {\n        return this.byteStringField;\n      }\n      set\n      {\n        this.byteStringField = value;\n      }\n    }\n  }\n\n  /// <uwagi/>\n  [System.CodeDom.Compiler.GeneratedCodeAttribute( \"xsd\", \"2.0.50727.42\" )]\n  [System.SerializableAttribute()]\n  [System.Diagnostics.DebuggerStepThroughAttribute()]\n  [System.ComponentModel.DesignerCategoryAttribute( \"code\" )]\n  [System.Xml.Serialization.XmlTypeAttribute( Namespace = \"http://opcfoundation.org/UA/2008/02/Types.xsd\" )]\n  [System.Xml.Serialization.XmlRootAttribute( Namespace = \"http://opcfoundation.org/UA/2008/02/Types.xsd\", IsNullable = true )]\n  public partial class ListOfXmlElement\n  {\n\n    private System.Xml.XmlElement[] xmlElementField;\n\n    /// <uwagi/>\n    [System.Xml.Serialization.XmlElementAttribute( \"XmlElement\", IsNullable = true )]\n    public System.Xml.XmlElement[] XmlElement\n    {\n      get\n      {\n        return this.xmlElementField;\n      }\n      set\n      {\n        this.xmlElementField = value;\n      }\n    }\n  }\n\n  /// <uwagi/>\n  [System.CodeDom.Compiler.GeneratedCodeAttribute( \"xsd\", \"2.0.50727.42\" )]\n  [System.SerializableAttribute()]\n  [System.Diagnostics.DebuggerStepThroughAttribute()]\n  [System.ComponentModel.DesignerCategoryAttribute( \"code\" )]\n  [System.Xml.Serialization.XmlTypeAttribute( Namespace = \"http://opcfoundation.org/UA/2008/02/Types.xsd\" )]\n  [System.Xml.Serialization.XmlRootAttribute( Namespace = \"http://opcfoundation.org/UA/2008/02/Types.xsd\", IsNullable = true )]\n  public partial class NodeId\n  {\n\n    private string identifierField;\n\n    /// <uwagi/>\n    [System.Xml.Serialization.XmlElementAttribute( IsNullable = true )]\n    public string Identifier\n    {\n      get\n      {\n        return this.identifierField;\n      }\n      set\n      {\n        this.identifierField = value;\n      }\n    }\n  }\n\n  /// <uwagi/>\n  [System.CodeDom.Compiler.GeneratedCodeAttribute( \"xsd\", \"2.0.50727.42\" )]\n  [System.SerializableAttribute()]\n  [System.Diagnostics.DebuggerStepThroughAttribute()]\n  [System.ComponentModel.DesignerCategoryAttribute( \"code\" )]\n  [System.Xml.Serialization.XmlTypeAttribute( Namespace = \"http://opcfoundation.org/UA/2008/02/Types.xsd\" )]\n  [System.Xml.Serialization.XmlRootAttribute( Namespace = \"http://opcfoundation.org/UA/2008/02/Types.xsd\", IsNullable = true )]\n  public partial class ListOfNodeId\n  {\n\n    private NodeId[] nodeIdField;\n\n    /// <uwagi/>\n    [System.Xml.Serialization.XmlElementAttribute( \"NodeId\", IsNullable = true )]\n    public NodeId[] NodeId\n    {\n      get\n      {\n        return this.nodeIdField;\n      }\n      set\n      {\n        this.nodeIdField = value;\n      }\n    }\n  }\n\n  /// <uwagi/>\n  [System.CodeDom.Compiler.GeneratedCodeAttribute( \"xsd\", \"2.0.50727.42\" )]\n  [System.SerializableAttribute()]\n  [System.Diagnostics.DebuggerStepThroughAttribute()]\n  [System.ComponentModel.DesignerCategoryAttribute( \"code\" )]\n  [System.Xml.Serialization.XmlTypeAttribute( Namespace = \"http://opcfoundation.org/UA/2008/02/Types.xsd\" )]\n  [System.Xml.Serialization.XmlRootAttribute( Namespace = \"http://opcfoundation.org/UA/2008/02/Types.xsd\", IsNullable = true )]\n  public partial class ExpandedNodeId\n  {\n\n    private string identifierField;\n\n    /// <uwagi/>\n    [System.Xml.Serialization.XmlElementAttribute( IsNullable = true )]\n    public string Identifier\n    {\n      get\n      {\n        return this.identifierField;\n      }\n      set\n      {\n        this.identifierField = value;\n      }\n    }\n  }\n\n  /// <uwagi/>\n  [System.CodeDom.Compiler.GeneratedCodeAttribute( \"xsd\", \"2.0.50727.42\" )]\n  [System.SerializableAttribute()]\n  [System.Diagnostics.DebuggerStepThroughAttribute()]\n  [System.ComponentModel.DesignerCategoryAttribute( \"code\" )]\n  [System.Xml.Serialization.XmlTypeAttribute( Namespace = \"http://opcfoundation.org/UA/2008/02/Types.xsd\" )]\n  [System.Xml.Serialization.XmlRootAttribute( Namespace = \"http://opcfoundation.org/UA/2008/02/Types.xsd\", IsNullable = true )]\n  public partial class ListOfExpandedNodeId\n  {\n\n    private ExpandedNodeId[] expandedNodeIdField;\n\n    /// <uwagi/>\n    [System.Xml.Serialization.XmlElementAttribute( \"ExpandedNodeId\", IsNullable = true )]\n    public ExpandedNodeId[] ExpandedNodeId\n    {\n      get\n      {\n        return this.expandedNodeIdField;\n      }\n      set\n      {\n        this.expandedNodeIdField = value;\n      }\n    }\n  }\n\n  /// <uwagi/>\n  [System.CodeDom.Compiler.GeneratedCodeAttribute( \"xsd\", \"2.0.50727.42\" )]\n  [System.SerializableAttribute()]\n  [System.Diagnostics.DebuggerStepThroughAttribute()]\n  [System.ComponentModel.DesignerCategoryAttribute( \"code\" )]\n  [System.Xml.Serialization.XmlTypeAttribute( Namespace = \"http://opcfoundation.org/UA/2008/02/Types.xsd\" )]\n  [System.Xml.Serialization.XmlRootAttribute( Namespace = \"http://opcfoundation.org/UA/2008/02/Types.xsd\", IsNullable = true )]\n  public partial class StatusCode\n  {\n\n    private uint codeField;\n\n    private bool codeFieldSpecified;\n\n    /// <uwagi/>\n    public uint Code\n    {\n      get\n      {\n        return this.codeField;\n      }\n      set\n      {\n        this.codeField = value;\n      }\n    }\n\n    /// <uwagi/>\n    [System.Xml.Serialization.XmlIgnoreAttribute()]\n    public bool CodeSpecified\n    {\n      get\n      {\n        return this.codeFieldSpecified;\n      }\n      set\n      {\n        this.codeFieldSpecified = value;\n      }\n    }\n  }\n\n  /// <uwagi/>\n  [System.CodeDom.Compiler.GeneratedCodeAttribute( \"xsd\", \"2.0.50727.42\" )]\n  [System.SerializableAttribute()]\n  [System.Diagnostics.DebuggerStepThroughAttribute()]\n  [System.ComponentModel.DesignerCategoryAttribute( \"code\" )]\n  [System.Xml.Serialization.XmlTypeAttribute( Namespace = \"http://opcfoundation.org/UA/2008/02/Types.xsd\" )]\n  [System.Xml.Serialization.XmlRootAttribute( Namespace = \"http://opcfoundation.org/UA/2008/02/Types.xsd\", IsNullable = true )]\n  public partial class ListOfStatusCode\n  {\n\n    private StatusCode[] statusCodeField;\n\n    /// <uwagi/>\n    [System.Xml.Serialization.XmlElementAttribute( \"StatusCode\", IsNullable = true )]\n    public StatusCode[] StatusCode\n    {\n      get\n      {\n        return this.statusCodeField;\n      }\n      set\n      {\n        this.statusCodeField = value;\n      }\n    }\n  }\n\n  /// <uwagi/>\n  [System.CodeDom.Compiler.GeneratedCodeAttribute( \"xsd\", \"2.0.50727.42\" )]\n  [System.SerializableAttribute()]\n  [System.Diagnostics.DebuggerStepThroughAttribute()]\n  [System.ComponentModel.DesignerCategoryAttribute( \"code\" )]\n  [System.Xml.Serialization.XmlTypeAttribute( Namespace = \"http://opcfoundation.org/UA/2008/02/Types.xsd\" )]\n  [System.Xml.Serialization.XmlRootAttribute( Namespace = \"http://opcfoundation.org/UA/2008/02/Types.xsd\", IsNullable = true )]\n  public partial class DiagnosticInfo\n  {\n\n    private int symbolicIdField;\n\n    private bool symbolicIdFieldSpecified;\n\n    private int namespaceUriField;\n\n    private bool namespaceUriFieldSpecified;\n\n    private int localeField;\n\n    private bool localeFieldSpecified;\n\n    private int localizedTextField;\n\n    private bool localizedTextFieldSpecified;\n\n    private string additionalInfoField;\n\n    private StatusCode innerStatusCodeField;\n\n    private DiagnosticInfo innerDiagnosticInfoField;\n\n    /// <uwagi/>\n    public int SymbolicId\n    {\n      get\n      {\n        return this.symbolicIdField;\n      }\n      set\n      {\n        this.symbolicIdField = value;\n      }\n    }\n\n    /// <uwagi/>\n    [System.Xml.Serialization.XmlIgnoreAttribute()]\n    public bool SymbolicIdSpecified\n    {\n      get\n      {\n        return this.symbolicIdFieldSpecified;\n      }\n      set\n      {\n        this.symbolicIdFieldSpecified = value;\n      }\n    }\n\n    /// <uwagi/>\n    public int NamespaceUri\n    {\n      get\n      {\n        return this.namespaceUriField;\n      }\n      set\n      {\n        this.namespaceUriField = value;\n      }\n    }\n\n    /// <uwagi/>\n    [System.Xml.Serialization.XmlIgnoreAttribute()]\n    public bool NamespaceUriSpecified\n    {\n      get\n      {\n        return this.namespaceUriFieldSpecified;\n      }\n      set\n      {\n        this.namespaceUriFieldSpecified = value;\n      }\n    }\n\n    /// <uwagi/>\n    public int Locale\n    {\n      get\n      {\n        return this.localeField;\n      }\n      set\n      {\n        this.localeField = value;\n      }\n    }\n\n    /// <uwagi/>\n    [System.Xml.Serialization.XmlIgnoreAttribute()]\n    public bool LocaleSpecified\n    {\n      get\n      {\n        return this.localeFieldSpecified;\n      }\n      set\n      {\n        this.localeFieldSpecified = value;\n      }\n    }\n\n    /// <uwagi/>\n    public int LocalizedText\n    {\n      get\n      {\n        return this.localizedTextField;\n      }\n      set\n      {\n        this.localizedTextField = value;\n      }\n    }\n\n    /// <uwagi/>\n    [System.Xml.Serialization.XmlIgnoreAttribute()]\n    public bool LocalizedTextSpecified\n    {\n      get\n      {\n        return this.localizedTextFieldSpecified;\n      }\n      set\n      {\n        this.localizedTextFieldSpecified = value;\n      }\n    }\n\n    /// <uwagi/>\n    public string AdditionalInfo\n    {\n      get\n      {\n        return this.additionalInfoField;\n      }\n      set\n      {\n        this.additionalInfoField = value;\n      }\n    }\n\n    /// <uwagi/>\n    public StatusCode InnerStatusCode\n    {\n      get\n      {\n        return this.innerStatusCodeField;\n      }\n      set\n      {\n        this.innerStatusCodeField = value;\n      }\n    }\n\n    /// <uwagi/>\n    [System.Xml.Serialization.XmlElementAttribute( IsNullable = true )]\n    public DiagnosticInfo InnerDiagnosticInfo\n    {\n      get\n      {\n        return this.innerDiagnosticInfoField;\n      }\n      set\n      {\n        this.innerDiagnosticInfoField = value;\n      }\n    }\n  }\n\n  /// <uwagi/>\n  [System.CodeDom.Compiler.GeneratedCodeAttribute( \"xsd\", \"2.0.50727.42\" )]\n  [System.SerializableAttribute()]\n  [System.Diagnostics.DebuggerStepThroughAttribute()]\n  [System.ComponentModel.DesignerCategoryAttribute( \"code\" )]\n  [System.Xml.Serialization.XmlTypeAttribute( Namespace = \"http://opcfoundation.org/UA/2008/02/Types.xsd\" )]\n  [System.Xml.Serialization.XmlRootAttribute( Namespace = \"http://opcfoundation.org/UA/2008/02/Types.xsd\", IsNullable = true )]\n  public partial class ListOfDiagnosticInfo\n  {\n\n    private DiagnosticInfo[] diagnosticInfoField;\n\n    /// <uwagi/>\n    [System.Xml.Serialization.XmlElementAttribute( \"DiagnosticInfo\", IsNullable = true )]\n    public DiagnosticInfo[] DiagnosticInfo\n    {\n      get\n      {\n        return this.diagnosticInfoField;\n      }\n      set\n      {\n        this.diagnosticInfoField = value;\n      }\n    }\n  }\n\n  /// <uwagi/>\n  [System.CodeDom.Compiler.GeneratedCodeAttribute( \"xsd\", \"2.0.50727.42\" )]\n  [System.SerializableAttribute()]\n  [System.Diagnostics.DebuggerStepThroughAttribute()]\n  [System.ComponentModel.DesignerCategoryAttribute( \"code\" )]\n  [System.Xml.Serialization.XmlTypeAttribute( Namespace = \"http://opcfoundation.org/UA/2008/02/Types.xsd\" )]\n  [System.Xml.Serialization.XmlRootAttribute( Namespace = \"http://opcfoundation.org/UA/2008/02/Types.xsd\", IsNullable = true )]\n  public partial class LocalizedText\n  {\n\n    private string localeField;\n\n    private string textField;\n\n    /// <uwagi/>\n    [System.Xml.Serialization.XmlElementAttribute( IsNullable = true )]\n    public string Locale\n    {\n      get\n      {\n        return this.localeField;\n      }\n      set\n      {\n        this.localeField = value;\n      }\n    }\n\n    /// <uwagi/>\n    [System.Xml.Serialization.XmlElementAttribute( IsNullable = true )]\n    public string Text\n    {\n      get\n      {\n        return this.textField;\n      }\n      set\n      {\n        this.textField = value;\n      }\n    }\n  }\n\n  /// <uwagi/>\n  [System.CodeDom.Compiler.GeneratedCodeAttribute( \"xsd\", \"2.0.50727.42\" )]\n  [System.SerializableAttribute()]\n  [System.Diagnostics.DebuggerStepThroughAttribute()]\n  [System.ComponentModel.DesignerCategoryAttribute( \"code\" )]\n  [System.Xml.Serialization.XmlTypeAttribute( Namespace = \"http://opcfoundation.org/UA/2008/02/Types.xsd\" )]\n  [System.Xml.Serialization.XmlRootAttribute( Namespace = \"http://opcfoundation.org/UA/2008/02/Types.xsd\", IsNullable = true )]\n  public partial class ListOfLocalizedText\n  {\n\n    private LocalizedText[] localizedTextField;\n\n    /// <uwagi/>\n    [System.Xml.Serialization.XmlElementAttribute( \"LocalizedText\", IsNullable = true )]\n    public LocalizedText[] LocalizedText\n    {\n      get\n      {\n        return this.localizedTextField;\n      }\n      set\n      {\n        this.localizedTextField = value;\n      }\n    }\n  }\n\n  /// <uwagi/>\n  [System.CodeDom.Compiler.GeneratedCodeAttribute( \"xsd\", \"2.0.50727.42\" )]\n  [System.SerializableAttribute()]\n  [System.Diagnostics.DebuggerStepThroughAttribute()]\n  [System.ComponentModel.DesignerCategoryAttribute( \"code\" )]\n  [System.Xml.Serialization.XmlTypeAttribute( Namespace = \"http://opcfoundation.org/UA/2008/02/Types.xsd\" )]\n  [System.Xml.Serialization.XmlRootAttribute( Namespace = \"http://opcfoundation.org/UA/2008/02/Types.xsd\", IsNullable = true )]\n  public partial class QualifiedName\n  {\n\n    private ushort namespaceIndexField;\n\n    private bool namespaceIndexFieldSpecified;\n\n    private string nameField;\n\n    /// <uwagi/>\n    public ushort NamespaceIndex\n    {\n      get\n      {\n        return this.namespaceIndexField;\n      }\n      set\n      {\n        this.namespaceIndexField = value;\n      }\n    }\n\n    /// <uwagi/>\n    [System.Xml.Serialization.XmlIgnoreAttribute()]\n    public bool NamespaceIndexSpecified\n    {\n      get\n      {\n        return this.namespaceIndexFieldSpecified;\n      }\n      set\n      {\n        this.namespaceIndexFieldSpecified = value;\n      }\n    }\n\n    /// <uwagi/>\n    [System.Xml.Serialization.XmlElementAttribute( IsNullable = true )]\n    public string Name\n    {\n      get\n      {\n        return this.nameField;\n      }\n      set\n      {\n        this.nameField = value;\n      }\n    }\n  }\n\n  /// <uwagi/>\n  [System.CodeDom.Compiler.GeneratedCodeAttribute( \"xsd\", \"2.0.50727.42\" )]\n  [System.SerializableAttribute()]\n  [System.Diagnostics.DebuggerStepThroughAttribute()]\n  [System.ComponentModel.DesignerCategoryAttribute( \"code\" )]\n  [System.Xml.Serialization.XmlTypeAttribute( Namespace = \"http://opcfoundation.org/UA/2008/02/Types.xsd\" )]\n  [System.Xml.Serialization.XmlRootAttribute( Namespace = \"http://opcfoundation.org/UA/2008/02/Types.xsd\", IsNullable = true )]\n  public partial class ListOfQualifiedName\n  {\n\n    private QualifiedName[] qualifiedNameField;\n\n    /// <uwagi/>\n    [System.Xml.Serialization.XmlElementAttribute( \"QualifiedName\", IsNullable = true )]\n    public QualifiedName[] QualifiedName\n    {\n      get\n      {\n        return this.qualifiedNameField;\n      }\n      set\n      {\n        this.qualifiedNameField = value;\n      }\n    }\n  }\n\n  /// <uwagi/>\n  [System.CodeDom.Compiler.GeneratedCodeAttribute( \"xsd\", \"2.0.50727.42\" )]\n  [System.SerializableAttribute()]\n  [System.Diagnostics.DebuggerStepThroughAttribute()]\n  [System.ComponentModel.DesignerCategoryAttribute( \"code\" )]\n  [System.Xml.Serialization.XmlTypeAttribute( Namespace = \"http://opcfoundation.org/UA/2008/02/Types.xsd\" )]\n  [System.Xml.Serialization.XmlRootAttribute( Namespace = \"http://opcfoundation.org/UA/2008/02/Types.xsd\", IsNullable = true )]\n  public partial class ExtensionObject\n  {\n\n    private ExpandedNodeId typeIdField;\n\n    private System.Xml.XmlElement bodyField;\n\n    /// <uwagi/>\n    [System.Xml.Serialization.XmlElementAttribute( IsNullable = true )]\n    public ExpandedNodeId TypeId\n    {\n      get\n      {\n        return this.typeIdField;\n      }\n      set\n      {\n        this.typeIdField = value;\n      }\n    }\n\n    /// <uwagi/>\n    [System.Xml.Serialization.XmlElementAttribute( IsNullable = true )]\n    public System.Xml.XmlElement Body\n    {\n      get\n      {\n        return this.bodyField;\n      }\n      set\n      {\n        this.bodyField = value;\n      }\n    }\n  }\n\n  /// <uwagi/>\n  [System.CodeDom.Compiler.GeneratedCodeAttribute( \"xsd\", \"2.0.50727.42\" )]\n  [System.SerializableAttribute()]\n  [System.Diagnostics.DebuggerStepThroughAttribute()]\n  [System.ComponentModel.DesignerCategoryAttribute( \"code\" )]\n  [System.Xml.Serialization.XmlTypeAttribute( Namespace = \"http://opcfoundation.org/UA/2008/02/Types.xsd\" )]\n  [System.Xml.Serialization.XmlRootAttribute( Namespace = \"http://opcfoundation.org/UA/2008/02/Types.xsd\", IsNullable = true )]\n  public partial class ListOfExtensionObject\n  {\n\n    private ExtensionObject[] extensionObjectField;\n\n    /// <uwagi/>\n    [System.Xml.Serialization.XmlElementAttribute( \"ExtensionObject\", IsNullable = true )]\n    public ExtensionObject[] ExtensionObject\n    {\n      get\n      {\n        return this.extensionObjectField;\n      }\n      set\n      {\n        this.extensionObjectField = value;\n      }\n    }\n  }\n\n  /// <uwagi/>\n  [System.CodeDom.Compiler.GeneratedCodeAttribute( \"xsd\", \"2.0.50727.42\" )]\n  [System.SerializableAttribute()]\n  [System.Diagnostics.DebuggerStepThroughAttribute()]\n  [System.ComponentModel.DesignerCategoryAttribute( \"code\" )]\n  [System.Xml.Serialization.XmlTypeAttribute( Namespace = \"http://opcfoundation.org/UA/2008/02/Types.xsd\" )]\n  [System.Xml.Serialization.XmlRootAttribute( Namespace = \"http://opcfoundation.org/UA/2008/02/Types.xsd\", IsNullable = true )]\n  public partial class Variant\n  {\n\n    private System.Xml.XmlElement valueField;\n\n    /// <uwagi/>\n    [System.Xml.Serialization.XmlElementAttribute( IsNullable = true )]\n    public System.Xml.XmlElement Value\n    {\n      get\n      {\n        return this.valueField;\n      }\n      set\n      {\n        this.valueField = value;\n      }\n    }\n  }\n\n  /// <uwagi/>\n  [System.CodeDom.Compiler.GeneratedCodeAttribute( \"xsd\", \"2.0.50727.42\" )]\n  [System.SerializableAttribute()]\n  [System.Diagnostics.DebuggerStepThroughAttribute()]\n  [System.ComponentModel.DesignerCategoryAttribute( \"code\" )]\n  [System.Xml.Serialization.XmlTypeAttribute( Namespace = \"http://opcfoundation.org/UA/2008/02/Types.xsd\" )]\n  [System.Xml.Serialization.XmlRootAttribute( Namespace = \"http://opcfoundation.org/UA/2008/02/Types.xsd\", IsNullable = true )]\n  public partial class ListOfVariant\n  {\n\n    private Variant[] variantField;\n\n    /// <uwagi/>\n    [System.Xml.Serialization.XmlElementAttribute( \"Variant\", IsNullable = true )]\n    public Variant[] Variant\n    {\n      get\n      {\n        return this.variantField;\n      }\n      set\n      {\n        this.variantField = value;\n      }\n    }\n  }\n\n  /// <uwagi/>\n  [System.CodeDom.Compiler.GeneratedCodeAttribute( \"xsd\", \"2.0.50727.42\" )]\n  [System.SerializableAttribute()]\n  [System.Diagnostics.DebuggerStepThroughAttribute()]\n  [System.ComponentModel.DesignerCategoryAttribute( \"code\" )]\n  [System.Xml.Serialization.XmlTypeAttribute( Namespace = \"http://opcfoundation.org/UA/2008/02/Types.xsd\" )]\n  [System.Xml.Serialization.XmlRootAttribute( Namespace = \"http://opcfoundation.org/UA/2008/02/Types.xsd\", IsNullable = true )]\n  public partial class DataValue\n  {\n\n    private Variant valueField;\n\n    private StatusCode statusCodeField;\n\n    private System.DateTime sourceTimestampField;\n\n    private bool sourceTimestampFieldSpecified;\n\n    private System.DateTime serverTimestampField;\n\n    private bool serverTimestampFieldSpecified;\n\n    /// <uwagi/>\n    [System.Xml.Serialization.XmlElementAttribute( IsNullable = true )]\n    public Variant Value\n    {\n      get\n      {\n        return this.valueField;\n      }\n      set\n      {\n        this.valueField = value;\n      }\n    }\n\n    /// <uwagi/>\n    public StatusCode StatusCode\n    {\n      get\n      {\n        return this.statusCodeField;\n      }\n      set\n      {\n        this.statusCodeField = value;\n      }\n    }\n\n    /// <uwagi/>\n    public System.DateTime SourceTimestamp\n    {\n      get\n      {\n        return this.sourceTimestampField;\n      }\n      set\n      {\n        this.sourceTimestampField = value;\n      }\n    }\n\n    /// <uwagi/>\n    [System.Xml.Serialization.XmlIgnoreAttribute()]\n    public bool SourceTimestampSpecified\n    {\n      get\n      {\n        return this.sourceTimestampFieldSpecified;\n      }\n      set\n      {\n        this.sourceTimestampFieldSpecified = value;\n      }\n    }\n\n    /// <uwagi/>\n    public System.DateTime ServerTimestamp\n    {\n      get\n      {\n        return this.serverTimestampField;\n      }\n      set\n      {\n        this.serverTimestampField = value;\n      }\n    }\n\n    /// <uwagi/>\n    [System.Xml.Serialization.XmlIgnoreAttribute()]\n    public bool ServerTimestampSpecified\n    {\n      get\n      {\n        return this.serverTimestampFieldSpecified;\n      }\n      set\n      {\n        this.serverTimestampFieldSpecified = value;\n      }\n    }\n  }\n\n  /// <uwagi/>\n  [System.CodeDom.Compiler.GeneratedCodeAttribute( \"xsd\", \"2.0.50727.42\" )]\n  [System.SerializableAttribute()]\n  [System.Diagnostics.DebuggerStepThroughAttribute()]\n  [System.ComponentModel.DesignerCategoryAttribute( \"code\" )]\n  [System.Xml.Serialization.XmlTypeAttribute( Namespace = \"http://opcfoundation.org/UA/2008/02/Types.xsd\" )]\n  [System.Xml.Serialization.XmlRootAttribute( Namespace = \"http://opcfoundation.org/UA/2008/02/Types.xsd\", IsNullable = true )]\n  public partial class ListOfDataValue\n  {\n\n    private DataValue[] dataValueField;\n\n    /// <uwagi/>\n    [System.Xml.Serialization.XmlElementAttribute( \"DataValue\", IsNullable = true )]\n    public DataValue[] DataValue\n    {\n      get\n      {\n        return this.dataValueField;\n      }\n      set\n      {\n        this.dataValueField = value;\n      }\n    }\n  }\n\n  /// <uwagi/>\n  [System.CodeDom.Compiler.GeneratedCodeAttribute( \"xsd\", \"2.0.50727.42\" )]\n  [System.SerializableAttribute()]\n  [System.Xml.Serialization.XmlTypeAttribute( Namespace = \"http://opcfoundation.org/UA/2008/02/Types.xsd\" )]\n  [System.Xml.Serialization.XmlRootAttribute( Namespace = \"http://opcfoundation.org/UA/2008/02/Types.xsd\", IsNullable = false )]\n  public enum IdType\n  {\n\n    /// <uwagi/>\n    Numeric_0,\n\n    /// <uwagi/>\n    String_1,\n\n    /// <uwagi/>\n    Guid_2,\n\n    /// <uwagi/>\n    Opaque_3,\n  }\n\n  /// <uwagi/>\n  [System.CodeDom.Compiler.GeneratedCodeAttribute( \"xsd\", \"2.0.50727.42\" )]\n  [System.SerializableAttribute()]\n  [System.Diagnostics.DebuggerStepThroughAttribute()]\n  [System.ComponentModel.DesignerCategoryAttribute( \"code\" )]\n  [System.Xml.Serialization.XmlTypeAttribute( Namespace = \"http://opcfoundation.org/UA/2008/02/Types.xsd\" )]\n  [System.Xml.Serialization.XmlRootAttribute( Namespace = \"http://opcfoundation.org/UA/2008/02/Types.xsd\", IsNullable = true )]\n  public partial class ListOfIdType\n  {\n\n    private System.Nullable<IdType>[] idTypeField;\n\n    /// <uwagi/>\n    [System.Xml.Serialization.XmlElementAttribute( \"IdType\", IsNullable = true )]\n    public System.Nullable<IdType>[] IdType\n    {\n      get\n      {\n        return this.idTypeField;\n      }\n      set\n      {\n        this.idTypeField = value;\n      }\n    }\n  }\n\n  /// <uwagi/>\n  [System.CodeDom.Compiler.GeneratedCodeAttribute( \"xsd\", \"2.0.50727.42\" )]\n  [System.SerializableAttribute()]\n  [System.Xml.Serialization.XmlTypeAttribute( Namespace = \"http://opcfoundation.org/UA/2008/02/Types.xsd\" )]\n  [System.Xml.Serialization.XmlRootAttribute( Namespace = \"http://opcfoundation.org/UA/2008/02/Types.xsd\", IsNullable = false )]\n  public enum NodeClass\n  {\n\n    /// <uwagi/>\n    Unspecified_0,\n\n    /// <uwagi/>\n    Object_1,\n\n    /// <uwagi/>\n    Variable_2,\n\n    /// <uwagi/>\n    Method_4,\n\n    /// <uwagi/>\n    ObjectType_8,\n\n    /// <uwagi/>\n    VariableType_16,\n\n    /// <uwagi/>\n    ReferenceType_32,\n\n    /// <uwagi/>\n    DataType_64,\n\n    /// <uwagi/>\n    View_128,\n  }\n\n  /// <uwagi/>\n  [System.Xml.Serialization.XmlIncludeAttribute( typeof( DataTypeNode ) )]\n  [System.Xml.Serialization.XmlIncludeAttribute( typeof( ViewNode ) )]\n  [System.Xml.Serialization.XmlIncludeAttribute( typeof( MethodNode ) )]\n  [System.Xml.Serialization.XmlIncludeAttribute( typeof( ReferenceTypeNode ) )]\n  [System.Xml.Serialization.XmlIncludeAttribute( typeof( VariableTypeNode ) )]\n  [System.Xml.Serialization.XmlIncludeAttribute( typeof( VariableNode ) )]\n  [System.Xml.Serialization.XmlIncludeAttribute( typeof( ObjectTypeNode ) )]\n  [System.Xml.Serialization.XmlIncludeAttribute( typeof( ObjectNode ) )]\n  [System.CodeDom.Compiler.GeneratedCodeAttribute( \"xsd\", \"2.0.50727.42\" )]\n  [System.SerializableAttribute()]\n  [System.Diagnostics.DebuggerStepThroughAttribute()]\n  [System.ComponentModel.DesignerCategoryAttribute( \"code\" )]\n  [System.Xml.Serialization.XmlTypeAttribute( Namespace = \"http://opcfoundation.org/UA/2008/02/Types.xsd\" )]\n  [System.Xml.Serialization.XmlRootAttribute( Namespace = \"http://opcfoundation.org/UA/2008/02/Types.xsd\", IsNullable = false )]\n  public partial class Node\n  {\n\n    private NodeId nodeIdField;\n\n    private NodeClass nodeClassField;\n\n    private QualifiedName browseNameField;\n\n    private LocalizedText displayNameField;\n\n    private LocalizedText descriptionField;\n\n    private uint writeMaskField;\n\n    private uint userWriteMaskField;\n\n    private ReferenceNode[] referencesField;\n\n    /// <uwagi/>\n    [System.Xml.Serialization.XmlElementAttribute( IsNullable = true )]\n    public NodeId NodeId\n    {\n      get\n      {\n        return this.nodeIdField;\n      }\n      set\n      {\n        this.nodeIdField = value;\n      }\n    }\n\n    /// <uwagi/>\n    public NodeClass NodeClass\n    {\n      get\n      {\n        return this.nodeClassField;\n      }\n      set\n      {\n        this.nodeClassField = value;\n      }\n    }\n\n    /// <uwagi/>\n    [System.Xml.Serialization.XmlElementAttribute( IsNullable = true )]\n    public QualifiedName BrowseName\n    {\n      get\n      {\n        return this.browseNameField;\n      }\n      set\n      {\n        this.browseNameField = value;\n      }\n    }\n\n    /// <uwagi/>\n    [System.Xml.Serialization.XmlElementAttribute( IsNullable = true )]\n    public LocalizedText DisplayName\n    {\n      get\n      {\n        return this.displayNameField;\n      }\n      set\n      {\n        this.displayNameField = value;\n      }\n    }\n\n    /// <uwagi/>\n    [System.Xml.Serialization.XmlElementAttribute( IsNullable = true )]\n    public LocalizedText Description\n    {\n      get\n      {\n        return this.descriptionField;\n      }\n      set\n      {\n        this.descriptionField = value;\n      }\n    }\n\n    /// <uwagi/>\n    public uint WriteMask\n    {\n      get\n      {\n        return this.writeMaskField;\n      }\n      set\n      {\n        this.writeMaskField = value;\n      }\n    }\n\n    /// <uwagi/>\n    public uint UserWriteMask\n    {\n      get\n      {\n        return this.userWriteMaskField;\n      }\n      set\n      {\n        this.userWriteMaskField = value;\n      }\n    }\n\n    /// <uwagi/>\n    public ReferenceNode[] References\n    {\n      get\n      {\n        return this.referencesField;\n      }\n      set\n      {\n        this.referencesField = value;\n      }\n    }\n  }\n\n  /// <uwagi/>\n  [System.CodeDom.Compiler.GeneratedCodeAttribute( \"xsd\", \"2.0.50727.42\" )]\n  [System.SerializableAttribute()]\n  [System.Diagnostics.DebuggerStepThroughAttribute()]\n  [System.ComponentModel.DesignerCategoryAttribute( \"code\" )]\n  [System.Xml.Serialization.XmlTypeAttribute( Namespace = \"http://opcfoundation.org/UA/2008/02/Types.xsd\" )]\n  [System.Xml.Serialization.XmlRootAttribute( Namespace = \"http://opcfoundation.org/UA/2008/02/Types.xsd\", IsNullable = false )]\n  public partial class ReferenceNode\n  {\n\n    private NodeId referenceTypeIdField;\n\n    private bool isInverseField;\n\n    private ExpandedNodeId targetIdField;\n\n    /// <uwagi/>\n    [System.Xml.Serialization.XmlElementAttribute( IsNullable = true )]\n    public NodeId ReferenceTypeId\n    {\n      get\n      {\n        return this.referenceTypeIdField;\n      }\n      set\n      {\n        this.referenceTypeIdField = value;\n      }\n    }\n\n    /// <uwagi/>\n    public bool IsInverse\n    {\n      get\n      {\n        return this.isInverseField;\n      }\n      set\n      {\n        this.isInverseField = value;\n      }\n    }\n\n    /// <uwagi/>\n    [System.Xml.Serialization.XmlElementAttribute( IsNullable = true )]\n    public ExpandedNodeId TargetId\n    {\n      get\n      {\n        return this.targetIdField;\n      }\n      set\n      {\n        this.targetIdField = value;\n      }\n    }\n  }\n\n  /// <uwagi/>\n  [System.CodeDom.Compiler.GeneratedCodeAttribute( \"xsd\", \"2.0.50727.42\" )]\n  [System.SerializableAttribute()]\n  [System.Diagnostics.DebuggerStepThroughAttribute()]\n  [System.ComponentModel.DesignerCategoryAttribute( \"code\" )]\n  [System.Xml.Serialization.XmlTypeAttribute( Namespace = \"http://opcfoundation.org/UA/2008/02/Types.xsd\" )]\n  [System.Xml.Serialization.XmlRootAttribute( Namespace = \"http://opcfoundation.org/UA/2008/02/Types.xsd\", IsNullable = true )]\n  public partial class ListOfNode\n  {\n\n    private Node[] nodeField;\n\n    /// <uwagi/>\n    [System.Xml.Serialization.XmlElementAttribute( \"Node\", IsNullable = true )]\n    public Node[] Node\n    {\n      get\n      {\n        return this.nodeField;\n      }\n      set\n      {\n        this.nodeField = value;\n      }\n    }\n  }\n\n  /// <uwagi/>\n  [System.CodeDom.Compiler.GeneratedCodeAttribute( \"xsd\", \"2.0.50727.42\" )]\n  [System.SerializableAttribute()]\n  [System.Diagnostics.DebuggerStepThroughAttribute()]\n  [System.ComponentModel.DesignerCategoryAttribute( \"code\" )]\n  [System.Xml.Serialization.XmlTypeAttribute( Namespace = \"http://opcfoundation.org/UA/2008/02/Types.xsd\" )]\n  [System.Xml.Serialization.XmlRootAttribute( Namespace = \"http://opcfoundation.org/UA/2008/02/Types.xsd\", IsNullable = false )]\n  public partial class ObjectNode: Node\n  {\n\n    private byte eventNotifierField;\n\n    /// <uwagi/>\n    public byte EventNotifier\n    {\n      get\n      {\n        return this.eventNotifierField;\n      }\n      set\n      {\n        this.eventNotifierField = value;\n      }\n    }\n  }\n\n  /// <uwagi/>\n  [System.CodeDom.Compiler.GeneratedCodeAttribute( \"xsd\", \"2.0.50727.42\" )]\n  [System.SerializableAttribute()]\n  [System.Diagnostics.DebuggerStepThroughAttribute()]\n  [System.ComponentModel.DesignerCategoryAttribute( \"code\" )]\n  [System.Xml.Serialization.XmlTypeAttribute( Namespace = \"http://opcfoundation.org/UA/2008/02/Types.xsd\" )]\n  [System.Xml.Serialization.XmlRootAttribute( Namespace = \"http://opcfoundation.org/UA/2008/02/Types.xsd\", IsNullable = false )]\n  public partial class ObjectTypeNode: Node\n  {\n\n    private bool isAbstractField;\n\n    /// <uwagi/>\n    public bool IsAbstract\n    {\n      get\n      {\n        return this.isAbstractField;\n      }\n      set\n      {\n        this.isAbstractField = value;\n      }\n    }\n  }\n\n  /// <uwagi/>\n  [System.CodeDom.Compiler.GeneratedCodeAttribute( \"xsd\", \"2.0.50727.42\" )]\n  [System.SerializableAttribute()]\n  [System.Diagnostics.DebuggerStepThroughAttribute()]\n  [System.ComponentModel.DesignerCategoryAttribute( \"code\" )]\n  [System.Xml.Serialization.XmlTypeAttribute( Namespace = \"http://opcfoundation.org/UA/2008/02/Types.xsd\" )]\n  [System.Xml.Serialization.XmlRootAttribute( Namespace = \"http://opcfoundation.org/UA/2008/02/Types.xsd\", IsNullable = false )]\n  public partial class VariableNode: Node\n  {\n\n    private Variant valueField;\n\n    private NodeId dataTypeField;\n\n    private int valueRankField;\n\n    private uint[] arrayDimensionsField;\n\n    private byte accessLevelField;\n\n    private byte userAccessLevelField;\n\n    private double minimumSamplingIntervalField;\n\n    private bool historizingField;\n\n    /// <uwagi/>\n    public Variant Value\n    {\n      get\n      {\n        return this.valueField;\n      }\n      set\n      {\n        this.valueField = value;\n      }\n    }\n\n    /// <uwagi/>\n    [System.Xml.Serialization.XmlElementAttribute( IsNullable = true )]\n    public NodeId DataType\n    {\n      get\n      {\n        return this.dataTypeField;\n      }\n      set\n      {\n        this.dataTypeField = value;\n      }\n    }\n\n    /// <uwagi/>\n    public int ValueRank\n    {\n      get\n      {\n        return this.valueRankField;\n      }\n      set\n      {\n        this.valueRankField = value;\n      }\n    }\n\n    /// <uwagi/>\n    [System.Xml.Serialization.XmlArrayItemAttribute( \"UInt32\", IsNullable = false )]\n    public uint[] ArrayDimensions\n    {\n      get\n      {\n        return this.arrayDimensionsField;\n      }\n      set\n      {\n        this.arrayDimensionsField = value;\n      }\n    }\n\n    /// <uwagi/>\n    public byte AccessLevel\n    {\n      get\n      {\n        return this.accessLevelField;\n      }\n      set\n      {\n        this.accessLevelField = value;\n      }\n    }\n\n    /// <uwagi/>\n    public byte UserAccessLevel\n    {\n      get\n      {\n        return this.userAccessLevelField;\n      }\n      set\n      {\n        this.userAccessLevelField = value;\n      }\n    }\n\n    /// <uwagi/>\n    public double MinimumSamplingInterval\n    {\n      get\n      {\n        return this.minimumSamplingIntervalField;\n      }\n      set\n      {\n        this.minimumSamplingIntervalField = value;\n      }\n    }\n\n    /// <uwagi/>\n    public bool Historizing\n    {\n      get\n      {\n        return this.historizingField;\n      }\n      set\n      {\n        this.historizingField = value;\n      }\n    }\n  }\n\n  /// <uwagi/>\n  [System.CodeDom.Compiler.GeneratedCodeAttribute( \"xsd\", \"2.0.50727.42\" )]\n  [System.SerializableAttribute()]\n  [System.Diagnostics.DebuggerStepThroughAttribute()]\n  [System.ComponentModel.DesignerCategoryAttribute( \"code\" )]\n  [System.Xml.Serialization.XmlTypeAttribute( Namespace = \"http://opcfoundation.org/UA/2008/02/Types.xsd\" )]\n  [System.Xml.Serialization.XmlRootAttribute( Namespace = \"http://opcfoundation.org/UA/2008/02/Types.xsd\", IsNullable = false )]\n  public partial class VariableTypeNode: Node\n  {\n\n    private Variant valueField;\n\n    private NodeId dataTypeField;\n\n    private int valueRankField;\n\n    private uint[] arrayDimensionsField;\n\n    private bool isAbstractField;\n\n    /// <uwagi/>\n    public Variant Value\n    {\n      get\n      {\n        return this.valueField;\n      }\n      set\n      {\n        this.valueField = value;\n      }\n    }\n\n    /// <uwagi/>\n    [System.Xml.Serialization.XmlElementAttribute( IsNullable = true )]\n    public NodeId DataType\n    {\n      get\n      {\n        return this.dataTypeField;\n      }\n      set\n      {\n        this.dataTypeField = value;\n      }\n    }\n\n    /// <uwagi/>\n    public int ValueRank\n    {\n      get\n      {\n        return this.valueRankField;\n      }\n      set\n      {\n        this.valueRankField = value;\n      }\n    }\n\n    /// <uwagi/>\n    [System.Xml.Serialization.XmlArrayItemAttribute( \"UInt32\", IsNullable = false )]\n    public uint[] ArrayDimensions\n    {\n      get\n      {\n        return this.arrayDimensionsField;\n      }\n      set\n      {\n        this.arrayDimensionsField = value;\n      }\n    }\n\n    /// <uwagi/>\n    public bool IsAbstract\n    {\n      get\n      {\n        return this.isAbstractField;\n      }\n      set\n      {\n        this.isAbstractField = value;\n      }\n    }\n  }\n\n  /// <uwagi/>\n  [System.CodeDom.Compiler.GeneratedCodeAttribute( \"xsd\", \"2.0.50727.42\" )]\n  [System.SerializableAttribute()]\n  [System.Diagnostics.DebuggerStepThroughAttribute()]\n  [System.ComponentModel.DesignerCategoryAttribute( \"code\" )]\n  [System.Xml.Serialization.XmlTypeAttribute( Namespace = \"http://opcfoundation.org/UA/2008/02/Types.xsd\" )]\n  [System.Xml.Serialization.XmlRootAttribute( Namespace = \"http://opcfoundation.org/UA/2008/02/Types.xsd\", IsNullable = false )]\n  public partial class ReferenceTypeNode: Node\n  {\n\n    private bool isAbstractField;\n\n    private bool symmetricField;\n\n    private LocalizedText inverseNameField;\n\n    /// <uwagi/>\n    public bool IsAbstract\n    {\n      get\n      {\n        return this.isAbstractField;\n      }\n      set\n      {\n        this.isAbstractField = value;\n      }\n    }\n\n    /// <uwagi/>\n    public bool Symmetric\n    {\n      get\n      {\n        return this.symmetricField;\n      }\n      set\n      {\n        this.symmetricField = value;\n      }\n    }\n\n    /// <uwagi/>\n    [System.Xml.Serialization.XmlElementAttribute( IsNullable = true )]\n    public LocalizedText InverseName\n    {\n      get\n      {\n        return this.inverseNameField;\n      }\n      set\n      {\n        this.inverseNameField = value;\n      }\n    }\n  }\n\n  /// <uwagi/>\n  [System.CodeDom.Compiler.GeneratedCodeAttribute( \"xsd\", \"2.0.50727.42\" )]\n  [System.SerializableAttribute()]\n  [System.Diagnostics.DebuggerStepThroughAttribute()]\n  [System.ComponentModel.DesignerCategoryAttribute( \"code\" )]\n  [System.Xml.Serialization.XmlTypeAttribute( Namespace = \"http://opcfoundation.org/UA/2008/02/Types.xsd\" )]\n  [System.Xml.Serialization.XmlRootAttribute( Namespace = \"http://opcfoundation.org/UA/2008/02/Types.xsd\", IsNullable = false )]\n  public partial class MethodNode: Node\n  {\n\n    private bool executableField;\n\n    private bool userExecutableField;\n\n    /// <uwagi/>\n    public bool Executable\n    {\n      get\n      {\n        return this.executableField;\n      }\n      set\n      {\n        this.executableField = value;\n      }\n    }\n\n    /// <uwagi/>\n    public bool UserExecutable\n    {\n      get\n      {\n        return this.userExecutableField;\n      }\n      set\n      {\n        this.userExecutableField = value;\n      }\n    }\n  }\n\n  /// <uwagi/>\n  [System.CodeDom.Compiler.GeneratedCodeAttribute( \"xsd\", \"2.0.50727.42\" )]\n  [System.SerializableAttribute()]\n  [System.Diagnostics.DebuggerStepThroughAttribute()]\n  [System.ComponentModel.DesignerCategoryAttribute( \"code\" )]\n  [System.Xml.Serialization.XmlTypeAttribute( Namespace = \"http://opcfoundation.org/UA/2008/02/Types.xsd\" )]\n  [System.Xml.Serialization.XmlRootAttribute( Namespace = \"http://opcfoundation.org/UA/2008/02/Types.xsd\", IsNullable = false )]\n  public partial class ViewNode: Node\n  {\n\n    private bool containsNoLoopsField;\n\n    private byte eventNotifierField;\n\n    /// <uwagi/>\n    public bool ContainsNoLoops\n    {\n      get\n      {\n        return this.containsNoLoopsField;\n      }\n      set\n      {\n        this.containsNoLoopsField = value;\n      }\n    }\n\n    /// <uwagi/>\n    public byte EventNotifier\n    {\n      get\n      {\n        return this.eventNotifierField;\n      }\n      set\n      {\n        this.eventNotifierField = value;\n      }\n    }\n  }\n\n  /// <uwagi/>\n  [System.CodeDom.Compiler.GeneratedCodeAttribute( \"xsd\", \"2.0.50727.42\" )]\n  [System.SerializableAttribute()]\n  [System.Diagnostics.DebuggerStepThroughAttribute()]\n  [System.ComponentModel.DesignerCategoryAttribute( \"code\" )]\n  [System.Xml.Serialization.XmlTypeAttribute( Namespace = \"http://opcfoundation.org/UA/2008/02/Types.xsd\" )]\n  [System.Xml.Serialization.XmlRootAttribute( Namespace = \"http://opcfoundation.org/UA/2008/02/Types.xsd\", IsNullable = false )]\n  public partial class DataTypeNode: Node\n  {\n\n    private bool isAbstractField;\n\n    /// <uwagi/>\n    public bool IsAbstract\n    {\n      get\n      {\n        return this.isAbstractField;\n      }\n      set\n      {\n        this.isAbstractField = value;\n      }\n    }\n  }\n\n  /// <uwagi/>\n  [System.CodeDom.Compiler.GeneratedCodeAttribute( \"xsd\", \"2.0.50727.42\" )]\n  [System.SerializableAttribute()]\n  [System.Diagnostics.DebuggerStepThroughAttribute()]\n  [System.ComponentModel.DesignerCategoryAttribute( \"code\" )]\n  [System.Xml.Serialization.XmlTypeAttribute( Namespace = \"http://opcfoundation.org/UA/2008/02/Types.xsd\" )]\n  [System.Xml.Serialization.XmlRootAttribute( Namespace = \"http://opcfoundation.org/UA/2008/02/Types.xsd\", IsNullable = true )]\n  public partial class ListOfReferenceNode\n  {\n\n    private ReferenceNode[] referenceNodeField;\n\n    /// <uwagi/>\n    [System.Xml.Serialization.XmlElementAttribute( \"ReferenceNode\", IsNullable = true )]\n    public ReferenceNode[] ReferenceNode\n    {\n      get\n      {\n        return this.referenceNodeField;\n      }\n      set\n      {\n        this.referenceNodeField = value;\n      }\n    }\n  }\n\n  /// <uwagi/>\n  [System.CodeDom.Compiler.GeneratedCodeAttribute( \"xsd\", \"2.0.50727.42\" )]\n  [System.SerializableAttribute()]\n  [System.Diagnostics.DebuggerStepThroughAttribute()]\n  [System.ComponentModel.DesignerCategoryAttribute( \"code\" )]\n  [System.Xml.Serialization.XmlTypeAttribute( Namespace = \"http://opcfoundation.org/UA/2008/02/Types.xsd\" )]\n  [System.Xml.Serialization.XmlRootAttribute( Namespace = \"http://opcfoundation.org/UA/2008/02/Types.xsd\", IsNullable = false )]\n  public partial class Argument\n  {\n\n    private string nameField;\n\n    private NodeId dataTypeField;\n\n    private int valueRankField;\n\n    private uint[] arrayDimensionsField;\n\n    private LocalizedText descriptionField;\n\n    /// <uwagi/>\n    [System.Xml.Serialization.XmlElementAttribute( IsNullable = true )]\n    public string Name\n    {\n      get\n      {\n        return this.nameField;\n      }\n      set\n      {\n        this.nameField = value;\n      }\n    }\n\n    /// <uwagi/>\n    [System.Xml.Serialization.XmlElementAttribute( IsNullable = true )]\n    public NodeId DataType\n    {\n      get\n      {\n        return this.dataTypeField;\n      }\n      set\n      {\n        this.dataTypeField = value;\n      }\n    }\n\n    /// <uwagi/>\n    public int ValueRank\n    {\n      get\n      {\n        return this.valueRankField;\n      }\n      set\n      {\n        this.valueRankField = value;\n      }\n    }\n\n    /// <uwagi/>\n    [System.Xml.Serialization.XmlArrayItemAttribute( \"UInt32\", IsNullable = false )]\n    public uint[] ArrayDimensions\n    {\n      get\n      {\n        return this.arrayDimensionsField;\n      }\n      set\n      {\n        this.arrayDimensionsField = value;\n      }\n    }\n\n    /// <uwagi/>\n    [System.Xml.Serialization.XmlElementAttribute( IsNullable = true )]\n    public LocalizedText Description\n    {\n      get\n      {\n        return this.descriptionField;\n      }\n      set\n      {\n        this.descriptionField = value;\n      }\n    }\n  }\n\n  /// <uwagi/>\n  [System.CodeDom.Compiler.GeneratedCodeAttribute( \"xsd\", \"2.0.50727.42\" )]\n  [System.SerializableAttribute()]\n  [System.Diagnostics.DebuggerStepThroughAttribute()]\n  [System.ComponentModel.DesignerCategoryAttribute( \"code\" )]\n  [System.Xml.Serialization.XmlTypeAttribute( Namespace = \"http://opcfoundation.org/UA/2008/02/Types.xsd\" )]\n  [System.Xml.Serialization.XmlRootAttribute( Namespace = \"http://opcfoundation.org/UA/2008/02/Types.xsd\", IsNullable = true )]\n  public partial class ListOfArgument\n  {\n\n    private Argument[] argumentField;\n\n    /// <uwagi/>\n    [System.Xml.Serialization.XmlElementAttribute( \"Argument\", IsNullable = true )]\n    public Argument[] Argument\n    {\n      get\n      {\n        return this.argumentField;\n      }\n      set\n      {\n        this.argumentField = value;\n      }\n    }\n  }\n\n  /// <uwagi/>\n  [System.CodeDom.Compiler.GeneratedCodeAttribute( \"xsd\", \"2.0.50727.42\" )]\n  [System.SerializableAttribute()]\n  [System.Diagnostics.DebuggerStepThroughAttribute()]\n  [System.ComponentModel.DesignerCategoryAttribute( \"code\" )]\n  [System.Xml.Serialization.XmlTypeAttribute( Namespace = \"http://opcfoundation.org/UA/2008/02/Types.xsd\" )]\n  [System.Xml.Serialization.XmlRootAttribute( Namespace = \"http://opcfoundation.org/UA/2008/02/Types.xsd\", IsNullable = false )]\n  public partial class TimeZoneDataType\n  {\n\n    private short offsetField;\n\n    private bool daylightSavingInOffsetField;\n\n    /// <uwagi/>\n    public short Offset\n    {\n      get\n      {\n        return this.offsetField;\n      }\n      set\n      {\n        this.offsetField = value;\n      }\n    }\n\n    /// <uwagi/>\n    public bool DaylightSavingInOffset\n    {\n      get\n      {\n        return this.daylightSavingInOffsetField;\n      }\n      set\n      {\n        this.daylightSavingInOffsetField = value;\n      }\n    }\n  }\n\n  /// <uwagi/>\n  [System.CodeDom.Compiler.GeneratedCodeAttribute( \"xsd\", \"2.0.50727.42\" )]\n  [System.SerializableAttribute()]\n  [System.Diagnostics.DebuggerStepThroughAttribute()]\n  [System.ComponentModel.DesignerCategoryAttribute( \"code\" )]\n  [System.Xml.Serialization.XmlTypeAttribute( Namespace = \"http://opcfoundation.org/UA/2008/02/Types.xsd\" )]\n  [System.Xml.Serialization.XmlRootAttribute( Namespace = \"http://opcfoundation.org/UA/2008/02/Types.xsd\", IsNullable = true )]\n  public partial class ListOfTimeZoneDataType\n  {\n\n    private TimeZoneDataType[] timeZoneDataTypeField;\n\n    /// <uwagi/>\n    [System.Xml.Serialization.XmlElementAttribute( \"TimeZoneDataType\", IsNullable = true )]\n    public TimeZoneDataType[] TimeZoneDataType\n    {\n      get\n      {\n        return this.timeZoneDataTypeField;\n      }\n      set\n      {\n        this.timeZoneDataTypeField = value;\n      }\n    }\n  }\n\n  /// <uwagi/>\n  [System.CodeDom.Compiler.GeneratedCodeAttribute( \"xsd\", \"2.0.50727.42\" )]\n  [System.SerializableAttribute()]\n  [System.Diagnostics.DebuggerStepThroughAttribute()]\n  [System.ComponentModel.DesignerCategoryAttribute( \"code\" )]\n  [System.Xml.Serialization.XmlTypeAttribute( Namespace = \"http://opcfoundation.org/UA/2008/02/Types.xsd\" )]\n  [System.Xml.Serialization.XmlRootAttribute( Namespace = \"http://opcfoundation.org/UA/2008/02/Types.xsd\", IsNullable = false )]\n  public partial class EnumValueInfo\n  {\n\n    private LocalizedText nameField;\n\n    private int valueField;\n\n    /// <uwagi/>\n    [System.Xml.Serialization.XmlElementAttribute( IsNullable = true )]\n    public LocalizedText Name\n    {\n      get\n      {\n        return this.nameField;\n      }\n      set\n      {\n        this.nameField = value;\n      }\n    }\n\n    /// <uwagi/>\n    public int Value\n    {\n      get\n      {\n        return this.valueField;\n      }\n      set\n      {\n        this.valueField = value;\n      }\n    }\n  }\n\n  /// <uwagi/>\n  [System.CodeDom.Compiler.GeneratedCodeAttribute( \"xsd\", \"2.0.50727.42\" )]\n  [System.SerializableAttribute()]\n  [System.Diagnostics.DebuggerStepThroughAttribute()]\n  [System.ComponentModel.DesignerCategoryAttribute( \"code\" )]\n  [System.Xml.Serialization.XmlTypeAttribute( Namespace = \"http://opcfoundation.org/UA/2008/02/Types.xsd\" )]\n  [System.Xml.Serialization.XmlRootAttribute( Namespace = \"http://opcfoundation.org/UA/2008/02/Types.xsd\", IsNullable = true )]\n  public partial class ListOfEnumValueInfo\n  {\n\n    private EnumValueInfo[] enumValueInfoField;\n\n    /// <uwagi/>\n    [System.Xml.Serialization.XmlElementAttribute( \"EnumValueInfo\", IsNullable = true )]\n    public EnumValueInfo[] EnumValueInfo\n    {\n      get\n      {\n        return this.enumValueInfoField;\n      }\n      set\n      {\n        this.enumValueInfoField = value;\n      }\n    }\n  }\n\n  /// <uwagi/>\n  [System.CodeDom.Compiler.GeneratedCodeAttribute( \"xsd\", \"2.0.50727.42\" )]\n  [System.SerializableAttribute()]\n  [System.Diagnostics.DebuggerStepThroughAttribute()]\n  [System.ComponentModel.DesignerCategoryAttribute( \"code\" )]\n  [System.Xml.Serialization.XmlTypeAttribute( Namespace = \"http://opcfoundation.org/UA/2008/02/Types.xsd\" )]\n  [System.Xml.Serialization.XmlRootAttribute( Namespace = \"http://opcfoundation.org/UA/2008/02/Types.xsd\", IsNullable = false )]\n  public partial class StatusResult\n  {\n\n    private StatusCode statusCodeField;\n\n    private DiagnosticInfo diagnosticInfoField;\n\n    /// <uwagi/>\n    public StatusCode StatusCode\n    {\n      get\n      {\n        return this.statusCodeField;\n      }\n      set\n      {\n        this.statusCodeField = value;\n      }\n    }\n\n    /// <uwagi/>\n    [System.Xml.Serialization.XmlElementAttribute( IsNullable = true )]\n    public DiagnosticInfo DiagnosticInfo\n    {\n      get\n      {\n        return this.diagnosticInfoField;\n      }\n      set\n      {\n        this.diagnosticInfoField = value;\n      }\n    }\n  }\n\n  /// <uwagi/>\n  [System.CodeDom.Compiler.GeneratedCodeAttribute( \"xsd\", \"2.0.50727.42\" )]\n  [System.SerializableAttribute()]\n  [System.Diagnostics.DebuggerStepThroughAttribute()]\n  [System.ComponentModel.DesignerCategoryAttribute( \"code\" )]\n  [System.Xml.Serialization.XmlTypeAttribute( Namespace = \"http://opcfoundation.org/UA/2008/02/Types.xsd\" )]\n  [System.Xml.Serialization.XmlRootAttribute( Namespace = \"http://opcfoundation.org/UA/2008/02/Types.xsd\", IsNullable = true )]\n  public partial class ListOfStatusResult\n  {\n\n    private StatusResult[] statusResultField;\n\n    /// <uwagi/>\n    [System.Xml.Serialization.XmlElementAttribute( \"StatusResult\", IsNullable = true )]\n    public StatusResult[] StatusResult\n    {\n      get\n      {\n        return this.statusResultField;\n      }\n      set\n      {\n        this.statusResultField = value;\n      }\n    }\n  }\n\n  /// <uwagi/>\n  [System.CodeDom.Compiler.GeneratedCodeAttribute( \"xsd\", \"2.0.50727.42\" )]\n  [System.SerializableAttribute()]\n  [System.Xml.Serialization.XmlTypeAttribute( Namespace = \"http://opcfoundation.org/UA/2008/02/Types.xsd\" )]\n  [System.Xml.Serialization.XmlRootAttribute( Namespace = \"http://opcfoundation.org/UA/2008/02/Types.xsd\", IsNullable = false )]\n  public enum MessageSecurityMode\n  {\n\n    /// <uwagi/>\n    Invalid_0,\n\n    /// <uwagi/>\n    None_1,\n\n    /// <uwagi/>\n    Sign_2,\n\n    /// <uwagi/>\n    SignAndEncrypt_3,\n  }\n\n  /// <uwagi/>\n  [System.CodeDom.Compiler.GeneratedCodeAttribute( \"xsd\", \"2.0.50727.42\" )]\n  [System.SerializableAttribute()]\n  [System.Xml.Serialization.XmlTypeAttribute( Namespace = \"http://opcfoundation.org/UA/2008/02/Types.xsd\" )]\n  [System.Xml.Serialization.XmlRootAttribute( Namespace = \"http://opcfoundation.org/UA/2008/02/Types.xsd\", IsNullable = false )]\n  public enum UserTokenType\n  {\n\n    /// <uwagi/>\n    Anonymous_0,\n\n    /// <uwagi/>\n    UserName_1,\n\n    /// <uwagi/>\n    Certificate_2,\n\n    /// <uwagi/>\n    IssuedToken_3,\n  }\n\n  /// <uwagi/>\n  [System.CodeDom.Compiler.GeneratedCodeAttribute( \"xsd\", \"2.0.50727.42\" )]\n  [System.SerializableAttribute()]\n  [System.Diagnostics.DebuggerStepThroughAttribute()]\n  [System.ComponentModel.DesignerCategoryAttribute( \"code\" )]\n  [System.Xml.Serialization.XmlTypeAttribute( Namespace = \"http://opcfoundation.org/UA/2008/02/Types.xsd\" )]\n  [System.Xml.Serialization.XmlRootAttribute( Namespace = \"http://opcfoundation.org/UA/2008/02/Types.xsd\", IsNullable = false )]\n  public partial class UserTokenPolicy\n  {\n\n    private string policyIdField;\n\n    private UserTokenType tokenTypeField;\n\n    private string issuedTokenTypeField;\n\n    private string issuerEndpointUrlField;\n\n    private string securityPolicyUriField;\n\n    /// <uwagi/>\n    [System.Xml.Serialization.XmlElementAttribute( IsNullable = true )]\n    public string PolicyId\n    {\n      get\n      {\n        return this.policyIdField;\n      }\n      set\n      {\n        this.policyIdField = value;\n      }\n    }\n\n    /// <uwagi/>\n    public UserTokenType TokenType\n    {\n      get\n      {\n        return this.tokenTypeField;\n      }\n      set\n      {\n        this.tokenTypeField = value;\n      }\n    }\n\n    /// <uwagi/>\n    [System.Xml.Serialization.XmlElementAttribute( IsNullable = true )]\n    public string IssuedTokenType\n    {\n      get\n      {\n        return this.issuedTokenTypeField;\n      }\n      set\n      {\n        this.issuedTokenTypeField = value;\n      }\n    }\n\n    /// <uwagi/>\n    [System.Xml.Serialization.XmlElementAttribute( IsNullable = true )]\n    public string IssuerEndpointUrl\n    {\n      get\n      {\n        return this.issuerEndpointUrlField;\n      }\n      set\n      {\n        this.issuerEndpointUrlField = value;\n      }\n    }\n\n    /// <uwagi/>\n    [System.Xml.Serialization.XmlElementAttribute( IsNullable = true )]\n    public string SecurityPolicyUri\n    {\n      get\n      {\n        return this.securityPolicyUriField;\n      }\n      set\n      {\n        this.securityPolicyUriField = value;\n      }\n    }\n  }\n\n  /// <uwagi/>\n  [System.CodeDom.Compiler.GeneratedCodeAttribute( \"xsd\", \"2.0.50727.42\" )]\n  [System.SerializableAttribute()]\n  [System.Diagnostics.DebuggerStepThroughAttribute()]\n  [System.ComponentModel.DesignerCategoryAttribute( \"code\" )]\n  [System.Xml.Serialization.XmlTypeAttribute( Namespace = \"http://opcfoundation.org/UA/2008/02/Types.xsd\" )]\n  [System.Xml.Serialization.XmlRootAttribute( Namespace = \"http://opcfoundation.org/UA/2008/02/Types.xsd\", IsNullable = true )]\n  public partial class ListOfUserTokenPolicy\n  {\n\n    private UserTokenPolicy[] userTokenPolicyField;\n\n    /// <uwagi/>\n    [System.Xml.Serialization.XmlElementAttribute( \"UserTokenPolicy\", IsNullable = true )]\n    public UserTokenPolicy[] UserTokenPolicy\n    {\n      get\n      {\n        return this.userTokenPolicyField;\n      }\n      set\n      {\n        this.userTokenPolicyField = value;\n      }\n    }\n  }\n\n  /// <uwagi/>\n  [System.CodeDom.Compiler.GeneratedCodeAttribute( \"xsd\", \"2.0.50727.42\" )]\n  [System.SerializableAttribute()]\n  [System.Xml.Serialization.XmlTypeAttribute( Namespace = \"http://opcfoundation.org/UA/2008/02/Types.xsd\" )]\n  [System.Xml.Serialization.XmlRootAttribute( Namespace = \"http://opcfoundation.org/UA/2008/02/Types.xsd\", IsNullable = false )]\n  public enum ApplicationType\n  {\n\n    /// <uwagi/>\n    Server_0,\n\n    /// <uwagi/>\n    Client_1,\n\n    /// <uwagi/>\n    ClientAndServer_2,\n\n    /// <uwagi/>\n    DiscoveryServer_3,\n  }\n\n  /// <uwagi/>\n  [System.CodeDom.Compiler.GeneratedCodeAttribute( \"xsd\", \"2.0.50727.42\" )]\n  [System.SerializableAttribute()]\n  [System.Diagnostics.DebuggerStepThroughAttribute()]\n  [System.ComponentModel.DesignerCategoryAttribute( \"code\" )]\n  [System.Xml.Serialization.XmlTypeAttribute( Namespace = \"http://opcfoundation.org/UA/2008/02/Types.xsd\" )]\n  [System.Xml.Serialization.XmlRootAttribute( Namespace = \"http://opcfoundation.org/UA/2008/02/Types.xsd\", IsNullable = false )]\n  public partial class ApplicationDescription\n  {\n\n    private string applicationUriField;\n\n    private string productUriField;\n\n    private LocalizedText applicationNameField;\n\n    private ApplicationType applicationTypeField;\n\n    private string gatewayServerUriField;\n\n    private string discoveryProfileUriField;\n\n    private string[] discoveryUrlsField;\n\n    /// <uwagi/>\n    [System.Xml.Serialization.XmlElementAttribute( IsNullable = true )]\n    public string ApplicationUri\n    {\n      get\n      {\n        return this.applicationUriField;\n      }\n      set\n      {\n        this.applicationUriField = value;\n      }\n    }\n\n    /// <uwagi/>\n    [System.Xml.Serialization.XmlElementAttribute( IsNullable = true )]\n    public string ProductUri\n    {\n      get\n      {\n        return this.productUriField;\n      }\n      set\n      {\n        this.productUriField = value;\n      }\n    }\n\n    /// <uwagi/>\n    [System.Xml.Serialization.XmlElementAttribute( IsNullable = true )]\n    public LocalizedText ApplicationName\n    {\n      get\n      {\n        return this.applicationNameField;\n      }\n      set\n      {\n        this.applicationNameField = value;\n      }\n    }\n\n    /// <uwagi/>\n    public ApplicationType ApplicationType\n    {\n      get\n      {\n        return this.applicationTypeField;\n      }\n      set\n      {\n        this.applicationTypeField = value;\n      }\n    }\n\n    /// <uwagi/>\n    [System.Xml.Serialization.XmlElementAttribute( IsNullable = true )]\n    public string GatewayServerUri\n    {\n      get\n      {\n        return this.gatewayServerUriField;\n      }\n      set\n      {\n        this.gatewayServerUriField = value;\n      }\n    }\n\n    /// <uwagi/>\n    [System.Xml.Serialization.XmlElementAttribute( IsNullable = true )]\n    public string DiscoveryProfileUri\n    {\n      get\n      {\n        return this.discoveryProfileUriField;\n      }\n      set\n      {\n        this.discoveryProfileUriField = value;\n      }\n    }\n\n    /// <uwagi/>\n    [System.Xml.Serialization.XmlArrayAttribute( IsNullable = true )]\n    [System.Xml.Serialization.XmlArrayItemAttribute( \"String\", IsNullable = false )]\n    public string[] DiscoveryUrls\n    {\n      get\n      {\n        return this.discoveryUrlsField;\n      }\n      set\n      {\n        this.discoveryUrlsField = value;\n      }\n    }\n  }\n\n  /// <uwagi/>\n  [System.CodeDom.Compiler.GeneratedCodeAttribute( \"xsd\", \"2.0.50727.42\" )]\n  [System.SerializableAttribute()]\n  [System.Diagnostics.DebuggerStepThroughAttribute()]\n  [System.ComponentModel.DesignerCategoryAttribute( \"code\" )]\n  [System.Xml.Serialization.XmlTypeAttribute( Namespace = \"http://opcfoundation.org/UA/2008/02/Types.xsd\" )]\n  [System.Xml.Serialization.XmlRootAttribute( Namespace = \"http://opcfoundation.org/UA/2008/02/Types.xsd\", IsNullable = true )]\n  public partial class ListOfApplicationDescription\n  {\n\n    private ApplicationDescription[] applicationDescriptionField;\n\n    /// <uwagi/>\n    [System.Xml.Serialization.XmlElementAttribute( \"ApplicationDescription\", IsNullable = true )]\n    public ApplicationDescription[] ApplicationDescription\n    {\n      get\n      {\n        return this.applicationDescriptionField;\n      }\n      set\n      {\n        this.applicationDescriptionField = value;\n      }\n    }\n  }\n\n  /// <uwagi/>\n  [System.CodeDom.Compiler.GeneratedCodeAttribute( \"xsd\", \"2.0.50727.42\" )]\n  [System.SerializableAttribute()]\n  [System.Diagnostics.DebuggerStepThroughAttribute()]\n  [System.ComponentModel.DesignerCategoryAttribute( \"code\" )]\n  [System.Xml.Serialization.XmlTypeAttribute( Namespace = \"http://opcfoundation.org/UA/2008/02/Types.xsd\" )]\n  [System.Xml.Serialization.XmlRootAttribute( Namespace = \"http://opcfoundation.org/UA/2008/02/Types.xsd\", IsNullable = false )]\n  public partial class EndpointDescription\n  {\n\n    private string endpointUrlField;\n\n    private ApplicationDescription serverField;\n\n    private byte[] serverCertificateField;\n\n    private MessageSecurityMode securityModeField;\n\n    private string securityPolicyUriField;\n\n    private UserTokenPolicy[] userIdentityTokensField;\n\n    private string transportProfileUriField;\n\n    private byte securityLevelField;\n\n    /// <uwagi/>\n    [System.Xml.Serialization.XmlElementAttribute( IsNullable = true )]\n    public string EndpointUrl\n    {\n      get\n      {\n        return this.endpointUrlField;\n      }\n      set\n      {\n        this.endpointUrlField = value;\n      }\n    }\n\n    /// <uwagi/>\n    public ApplicationDescription Server\n    {\n      get\n      {\n        return this.serverField;\n      }\n      set\n      {\n        this.serverField = value;\n      }\n    }\n\n    /// <uwagi/>\n    [System.Xml.Serialization.XmlElementAttribute( DataType = \"base64Binary\", IsNullable = true )]\n    public byte[] ServerCertificate\n    {\n      get\n      {\n        return this.serverCertificateField;\n      }\n      set\n      {\n        this.serverCertificateField = value;\n      }\n    }\n\n    /// <uwagi/>\n    public MessageSecurityMode SecurityMode\n    {\n      get\n      {\n        return this.securityModeField;\n      }\n      set\n      {\n        this.securityModeField = value;\n      }\n    }\n\n    /// <uwagi/>\n    [System.Xml.Serialization.XmlElementAttribute( IsNullable = true )]\n    public string SecurityPolicyUri\n    {\n      get\n      {\n        return this.securityPolicyUriField;\n      }\n      set\n      {\n        this.securityPolicyUriField = value;\n      }\n    }\n\n    /// <uwagi/>\n    public UserTokenPolicy[] UserIdentityTokens\n    {\n      get\n      {\n        return this.userIdentityTokensField;\n      }\n      set\n      {\n        this.userIdentityTokensField = value;\n      }\n    }\n\n    /// <uwagi/>\n    [System.Xml.Serialization.XmlElementAttribute( IsNullable = true )]\n    public string TransportProfileUri\n    {\n      get\n      {\n        return this.transportProfileUriField;\n      }\n      set\n      {\n        this.transportProfileUriField = value;\n      }\n    }\n\n    /// <uwagi/>\n    public byte SecurityLevel\n    {\n      get\n      {\n        return this.securityLevelField;\n      }\n      set\n      {\n        this.securityLevelField = value;\n      }\n    }\n  }\n\n  /// <uwagi/>\n  [System.CodeDom.Compiler.GeneratedCodeAttribute( \"xsd\", \"2.0.50727.42\" )]\n  [System.SerializableAttribute()]\n  [System.Diagnostics.DebuggerStepThroughAttribute()]\n  [System.ComponentModel.DesignerCategoryAttribute( \"code\" )]\n  [System.Xml.Serialization.XmlTypeAttribute( Namespace = \"http://opcfoundation.org/UA/2008/02/Types.xsd\" )]\n  [System.Xml.Serialization.XmlRootAttribute( Namespace = \"http://opcfoundation.org/UA/2008/02/Types.xsd\", IsNullable = true )]\n  public partial class ListOfEndpointDescription\n  {\n\n    private EndpointDescription[] endpointDescriptionField;\n\n    /// <uwagi/>\n    [System.Xml.Serialization.XmlElementAttribute( \"EndpointDescription\", IsNullable = true )]\n    public EndpointDescription[] EndpointDescription\n    {\n      get\n      {\n        return this.endpointDescriptionField;\n      }\n      set\n      {\n        this.endpointDescriptionField = value;\n      }\n    }\n  }\n\n  /// <uwagi/>\n  [System.CodeDom.Compiler.GeneratedCodeAttribute( \"xsd\", \"2.0.50727.42\" )]\n  [System.SerializableAttribute()]\n  [System.Xml.Serialization.XmlTypeAttribute( Namespace = \"http://opcfoundation.org/UA/2008/02/Types.xsd\" )]\n  [System.Xml.Serialization.XmlRootAttribute( Namespace = \"http://opcfoundation.org/UA/2008/02/Types.xsd\", IsNullable = false )]\n  public enum SecurityTokenRequestType\n  {\n\n    /// <uwagi/>\n    Issue_0,\n\n    /// <uwagi/>\n    Renew_1,\n  }\n\n  /// <uwagi/>\n  [System.Xml.Serialization.XmlIncludeAttribute( typeof( IssuedIdentityToken ) )]\n  [System.Xml.Serialization.XmlIncludeAttribute( typeof( X509IdentityToken ) )]\n  [System.Xml.Serialization.XmlIncludeAttribute( typeof( UserNameIdentityToken ) )]\n  [System.Xml.Serialization.XmlIncludeAttribute( typeof( AnonymousIdentityToken ) )]\n  [System.CodeDom.Compiler.GeneratedCodeAttribute( \"xsd\", \"2.0.50727.42\" )]\n  [System.SerializableAttribute()]\n  [System.Diagnostics.DebuggerStepThroughAttribute()]\n  [System.ComponentModel.DesignerCategoryAttribute( \"code\" )]\n  [System.Xml.Serialization.XmlTypeAttribute( Namespace = \"http://opcfoundation.org/UA/2008/02/Types.xsd\" )]\n  [System.Xml.Serialization.XmlRootAttribute( Namespace = \"http://opcfoundation.org/UA/2008/02/Types.xsd\", IsNullable = false )]\n  public partial class UserIdentityToken\n  {\n\n    private string policyIdField;\n\n    /// <uwagi/>\n    [System.Xml.Serialization.XmlElementAttribute( IsNullable = true )]\n    public string PolicyId\n    {\n      get\n      {\n        return this.policyIdField;\n      }\n      set\n      {\n        this.policyIdField = value;\n      }\n    }\n  }\n\n  /// <uwagi/>\n  [System.CodeDom.Compiler.GeneratedCodeAttribute( \"xsd\", \"2.0.50727.42\" )]\n  [System.SerializableAttribute()]\n  [System.Diagnostics.DebuggerStepThroughAttribute()]\n  [System.ComponentModel.DesignerCategoryAttribute( \"code\" )]\n  [System.Xml.Serialization.XmlTypeAttribute( Namespace = \"http://opcfoundation.org/UA/2008/02/Types.xsd\" )]\n  [System.Xml.Serialization.XmlRootAttribute( Namespace = \"http://opcfoundation.org/UA/2008/02/Types.xsd\", IsNullable = false )]\n  public partial class AnonymousIdentityToken: UserIdentityToken\n  {\n  }\n\n  /// <uwagi/>\n  [System.CodeDom.Compiler.GeneratedCodeAttribute( \"xsd\", \"2.0.50727.42\" )]\n  [System.SerializableAttribute()]\n  [System.Diagnostics.DebuggerStepThroughAttribute()]\n  [System.ComponentModel.DesignerCategoryAttribute( \"code\" )]\n  [System.Xml.Serialization.XmlTypeAttribute( Namespace = \"http://opcfoundation.org/UA/2008/02/Types.xsd\" )]\n  [System.Xml.Serialization.XmlRootAttribute( Namespace = \"http://opcfoundation.org/UA/2008/02/Types.xsd\", IsNullable = false )]\n  public partial class UserNameIdentityToken: UserIdentityToken\n  {\n\n    private string userNameField;\n\n    private byte[] passwordField;\n\n    private string encryptionAlgorithmField;\n\n    /// <uwagi/>\n    [System.Xml.Serialization.XmlElementAttribute( IsNullable = true )]\n    public string UserName\n    {\n      get\n      {\n        return this.userNameField;\n      }\n      set\n      {\n        this.userNameField = value;\n      }\n    }\n\n    /// <uwagi/>\n    [System.Xml.Serialization.XmlElementAttribute( DataType = \"base64Binary\", IsNullable = true )]\n    public byte[] Password\n    {\n      get\n      {\n        return this.passwordField;\n      }\n      set\n      {\n        this.passwordField = value;\n      }\n    }\n\n    /// <uwagi/>\n    [System.Xml.Serialization.XmlElementAttribute( IsNullable = true )]\n    public string EncryptionAlgorithm\n    {\n      get\n      {\n        return this.encryptionAlgorithmField;\n      }\n      set\n      {\n        this.encryptionAlgorithmField = value;\n      }\n    }\n  }\n\n  /// <uwagi/>\n  [System.CodeDom.Compiler.GeneratedCodeAttribute( \"xsd\", \"2.0.50727.42\" )]\n  [System.SerializableAttribute()]\n  [System.Diagnostics.DebuggerStepThroughAttribute()]\n  [System.ComponentModel.DesignerCategoryAttribute( \"code\" )]\n  [System.Xml.Serialization.XmlTypeAttribute( Namespace = \"http://opcfoundation.org/UA/2008/02/Types.xsd\" )]\n  [System.Xml.Serialization.XmlRootAttribute( Namespace = \"http://opcfoundation.org/UA/2008/02/Types.xsd\", IsNullable = false )]\n  public partial class X509IdentityToken: UserIdentityToken\n  {\n\n    private byte[] certificateDataField;\n\n    /// <uwagi/>\n    [System.Xml.Serialization.XmlElementAttribute( DataType = \"base64Binary\", IsNullable = true )]\n    public byte[] CertificateData\n    {\n      get\n      {\n        return this.certificateDataField;\n      }\n      set\n      {\n        this.certificateDataField = value;\n      }\n    }\n  }\n\n  /// <uwagi/>\n  [System.CodeDom.Compiler.GeneratedCodeAttribute( \"xsd\", \"2.0.50727.42\" )]\n  [System.SerializableAttribute()]\n  [System.Diagnostics.DebuggerStepThroughAttribute()]\n  [System.ComponentModel.DesignerCategoryAttribute( \"code\" )]\n  [System.Xml.Serialization.XmlTypeAttribute( Namespace = \"http://opcfoundation.org/UA/2008/02/Types.xsd\" )]\n  [System.Xml.Serialization.XmlRootAttribute( Namespace = \"http://opcfoundation.org/UA/2008/02/Types.xsd\", IsNullable = false )]\n  public partial class IssuedIdentityToken: UserIdentityToken\n  {\n\n    private byte[] tokenDataField;\n\n    private string encryptionAlgorithmField;\n\n    /// <uwagi/>\n    [System.Xml.Serialization.XmlElementAttribute( DataType = \"base64Binary\", IsNullable = true )]\n    public byte[] TokenData\n    {\n      get\n      {\n        return this.tokenDataField;\n      }\n      set\n      {\n        this.tokenDataField = value;\n      }\n    }\n\n    /// <uwagi/>\n    [System.Xml.Serialization.XmlElementAttribute( IsNullable = true )]\n    public string EncryptionAlgorithm\n    {\n      get\n      {\n        return this.encryptionAlgorithmField;\n      }\n      set\n      {\n        this.encryptionAlgorithmField = value;\n      }\n    }\n  }\n\n  /// <uwagi/>\n  [System.CodeDom.Compiler.GeneratedCodeAttribute( \"xsd\", \"2.0.50727.42\" )]\n  [System.SerializableAttribute()]\n  [System.Diagnostics.DebuggerStepThroughAttribute()]\n  [System.ComponentModel.DesignerCategoryAttribute( \"code\" )]\n  [System.Xml.Serialization.XmlTypeAttribute( Namespace = \"http://opcfoundation.org/UA/2008/02/Types.xsd\" )]\n  [System.Xml.Serialization.XmlRootAttribute( Namespace = \"http://opcfoundation.org/UA/2008/02/Types.xsd\", IsNullable = false )]\n  public partial class EndpointConfiguration\n  {\n\n    private int operationTimeoutField;\n\n    private bool useBinaryEncodingField;\n\n    private int maxStringLengthField;\n\n    private int maxByteStringLengthField;\n\n    private int maxArrayLengthField;\n\n    private int maxMessageSizeField;\n\n    private int maxBufferSizeField;\n\n    private int channelLifetimeField;\n\n    private int securityTokenLifetimeField;\n\n    /// <uwagi/>\n    public int OperationTimeout\n    {\n      get\n      {\n        return this.operationTimeoutField;\n      }\n      set\n      {\n        this.operationTimeoutField = value;\n      }\n    }\n\n    /// <uwagi/>\n    public bool UseBinaryEncoding\n    {\n      get\n      {\n        return this.useBinaryEncodingField;\n      }\n      set\n      {\n        this.useBinaryEncodingField = value;\n      }\n    }\n\n    /// <uwagi/>\n    public int MaxStringLength\n    {\n      get\n      {\n        return this.maxStringLengthField;\n      }\n      set\n      {\n        this.maxStringLengthField = value;\n      }\n    }\n\n    /// <uwagi/>\n    public int MaxByteStringLength\n    {\n      get\n      {\n        return this.maxByteStringLengthField;\n      }\n      set\n      {\n        this.maxByteStringLengthField = value;\n      }\n    }\n\n    /// <uwagi/>\n    public int MaxArrayLength\n    {\n      get\n      {\n        return this.maxArrayLengthField;\n      }\n      set\n      {\n        this.maxArrayLengthField = value;\n      }\n    }\n\n    /// <uwagi/>\n    public int MaxMessageSize\n    {\n      get\n      {\n        return this.maxMessageSizeField;\n      }\n      set\n      {\n        this.maxMessageSizeField = value;\n      }\n    }\n\n    /// <uwagi/>\n    public int MaxBufferSize\n    {\n      get\n      {\n        return this.maxBufferSizeField;\n      }\n      set\n      {\n        this.maxBufferSizeField = value;\n      }\n    }\n\n    /// <uwagi/>\n    public int ChannelLifetime\n    {\n      get\n      {\n        return this.channelLifetimeField;\n      }\n      set\n      {\n        this.channelLifetimeField = value;\n      }\n    }\n\n    /// <uwagi/>\n    public int SecurityTokenLifetime\n    {\n      get\n      {\n        return this.securityTokenLifetimeField;\n      }\n      set\n      {\n        this.securityTokenLifetimeField = value;\n      }\n    }\n  }\n\n  /// <uwagi/>\n  [System.CodeDom.Compiler.GeneratedCodeAttribute( \"xsd\", \"2.0.50727.42\" )]\n  [System.SerializableAttribute()]\n  [System.Diagnostics.DebuggerStepThroughAttribute()]\n  [System.ComponentModel.DesignerCategoryAttribute( \"code\" )]\n  [System.Xml.Serialization.XmlTypeAttribute( Namespace = \"http://opcfoundation.org/UA/2008/02/Types.xsd\" )]\n  [System.Xml.Serialization.XmlRootAttribute( Namespace = \"http://opcfoundation.org/UA/2008/02/Types.xsd\", IsNullable = true )]\n  public partial class ListOfEndpointConfiguration\n  {\n\n    private EndpointConfiguration[] endpointConfigurationField;\n\n    /// <uwagi/>\n    [System.Xml.Serialization.XmlElementAttribute( \"EndpointConfiguration\", IsNullable = true )]\n    public EndpointConfiguration[] EndpointConfiguration\n    {\n      get\n      {\n        return this.endpointConfigurationField;\n      }\n      set\n      {\n        this.endpointConfigurationField = value;\n      }\n    }\n  }\n\n  /// <uwagi/>\n  [System.CodeDom.Compiler.GeneratedCodeAttribute( \"xsd\", \"2.0.50727.42\" )]\n  [System.SerializableAttribute()]\n  [System.Xml.Serialization.XmlTypeAttribute( Namespace = \"http://opcfoundation.org/UA/2008/02/Types.xsd\" )]\n  [System.Xml.Serialization.XmlRootAttribute( Namespace = \"http://opcfoundation.org/UA/2008/02/Types.xsd\", IsNullable = false )]\n  public enum ComplianceLevel\n  {\n\n    /// <uwagi/>\n    Untested_0,\n\n    /// <uwagi/>\n    Partial_1,\n\n    /// <uwagi/>\n    SelfTested_2,\n\n    /// <uwagi/>\n    Certified_3,\n  }\n\n  /// <uwagi/>\n  [System.CodeDom.Compiler.GeneratedCodeAttribute( \"xsd\", \"2.0.50727.42\" )]\n  [System.SerializableAttribute()]\n  [System.Diagnostics.DebuggerStepThroughAttribute()]\n  [System.ComponentModel.DesignerCategoryAttribute( \"code\" )]\n  [System.Xml.Serialization.XmlTypeAttribute( Namespace = \"http://opcfoundation.org/UA/2008/02/Types.xsd\" )]\n  [System.Xml.Serialization.XmlRootAttribute( Namespace = \"http://opcfoundation.org/UA/2008/02/Types.xsd\", IsNullable = false )]\n  public partial class SupportedProfile\n  {\n\n    private string organizationUriField;\n\n    private string profileIdField;\n\n    private string complianceToolField;\n\n    private System.DateTime complianceDateField;\n\n    private ComplianceLevel complianceLevelField;\n\n    private string[] unsupportedUnitIdsField;\n\n    /// <uwagi/>\n    [System.Xml.Serialization.XmlElementAttribute( IsNullable = true )]\n    public string OrganizationUri\n    {\n      get\n      {\n        return this.organizationUriField;\n      }\n      set\n      {\n        this.organizationUriField = value;\n      }\n    }\n\n    /// <uwagi/>\n    [System.Xml.Serialization.XmlElementAttribute( IsNullable = true )]\n    public string ProfileId\n    {\n      get\n      {\n        return this.profileIdField;\n      }\n      set\n      {\n        this.profileIdField = value;\n      }\n    }\n\n    /// <uwagi/>\n    [System.Xml.Serialization.XmlElementAttribute( IsNullable = true )]\n    public string ComplianceTool\n    {\n      get\n      {\n        return this.complianceToolField;\n      }\n      set\n      {\n        this.complianceToolField = value;\n      }\n    }\n\n    /// <uwagi/>\n    public System.DateTime ComplianceDate\n    {\n      get\n      {\n        return this.complianceDateField;\n      }\n      set\n      {\n        this.complianceDateField = value;\n      }\n    }\n\n    /// <uwagi/>\n    public ComplianceLevel ComplianceLevel\n    {\n      get\n      {\n        return this.complianceLevelField;\n      }\n      set\n      {\n        this.complianceLevelField = value;\n      }\n    }\n\n    /// <uwagi/>\n    [System.Xml.Serialization.XmlArrayAttribute( IsNullable = true )]\n    [System.Xml.Serialization.XmlArrayItemAttribute( \"String\", IsNullable = false )]\n    public string[] UnsupportedUnitIds\n    {\n      get\n      {\n        return this.unsupportedUnitIdsField;\n      }\n      set\n      {\n        this.unsupportedUnitIdsField = value;\n      }\n    }\n  }\n\n  /// <uwagi/>\n  [System.CodeDom.Compiler.GeneratedCodeAttribute( \"xsd\", \"2.0.50727.42\" )]\n  [System.SerializableAttribute()]\n  [System.Diagnostics.DebuggerStepThroughAttribute()]\n  [System.ComponentModel.DesignerCategoryAttribute( \"code\" )]\n  [System.Xml.Serialization.XmlTypeAttribute( Namespace = \"http://opcfoundation.org/UA/2008/02/Types.xsd\" )]\n  [System.Xml.Serialization.XmlRootAttribute( Namespace = \"http://opcfoundation.org/UA/2008/02/Types.xsd\", IsNullable = true )]\n  public partial class ListOfSupportedProfile\n  {\n\n    private SupportedProfile[] supportedProfileField;\n\n    /// <uwagi/>\n    [System.Xml.Serialization.XmlElementAttribute( \"SupportedProfile\", IsNullable = true )]\n    public SupportedProfile[] SupportedProfile\n    {\n      get\n      {\n        return this.supportedProfileField;\n      }\n      set\n      {\n        this.supportedProfileField = value;\n      }\n    }\n  }\n\n  /// <uwagi/>\n  [System.CodeDom.Compiler.GeneratedCodeAttribute( \"xsd\", \"2.0.50727.42\" )]\n  [System.SerializableAttribute()]\n  [System.Diagnostics.DebuggerStepThroughAttribute()]\n  [System.ComponentModel.DesignerCategoryAttribute( \"code\" )]\n  [System.Xml.Serialization.XmlTypeAttribute( Namespace = \"http://opcfoundation.org/UA/2008/02/Types.xsd\" )]\n  [System.Xml.Serialization.XmlRootAttribute( Namespace = \"http://opcfoundation.org/UA/2008/02/Types.xsd\", IsNullable = false )]\n  public partial class BuildInfo\n  {\n\n    private string productUriField;\n\n    private string manufacturerNameField;\n\n    private string productNameField;\n\n    private string softwareVersionField;\n\n    private string buildNumberField;\n\n    private System.DateTime buildDateField;\n\n    /// <uwagi/>\n    [System.Xml.Serialization.XmlElementAttribute( IsNullable = true )]\n    public string ProductUri\n    {\n      get\n      {\n        return this.productUriField;\n      }\n      set\n      {\n        this.productUriField = value;\n      }\n    }\n\n    /// <uwagi/>\n    [System.Xml.Serialization.XmlElementAttribute( IsNullable = true )]\n    public string ManufacturerName\n    {\n      get\n      {\n        return this.manufacturerNameField;\n      }\n      set\n      {\n        this.manufacturerNameField = value;\n      }\n    }\n\n    /// <uwagi/>\n    [System.Xml.Serialization.XmlElementAttribute( IsNullable = true )]\n    public string ProductName\n    {\n      get\n      {\n        return this.productNameField;\n      }\n      set\n      {\n        this.productNameField = value;\n      }\n    }\n\n    /// <uwagi/>\n    [System.Xml.Serialization.XmlElementAttribute( IsNullable = true )]\n    public string SoftwareVersion\n    {\n      get\n      {\n        return this.softwareVersionField;\n      }\n      set\n      {\n        this.softwareVersionField = value;\n      }\n    }\n\n    /// <uwagi/>\n    [System.Xml.Serialization.XmlElementAttribute( IsNullable = true )]\n    public string BuildNumber\n    {\n      get\n      {\n        return this.buildNumberField;\n      }\n      set\n      {\n        this.buildNumberField = value;\n      }\n    }\n\n    /// <uwagi/>\n    public System.DateTime BuildDate\n    {\n      get\n      {\n        return this.buildDateField;\n      }\n      set\n      {\n        this.buildDateField = value;\n      }\n    }\n  }\n\n  /// <uwagi/>\n  [System.CodeDom.Compiler.GeneratedCodeAttribute( \"xsd\", \"2.0.50727.42\" )]\n  [System.SerializableAttribute()]\n  [System.Diagnostics.DebuggerStepThroughAttribute()]\n  [System.ComponentModel.DesignerCategoryAttribute( \"code\" )]\n  [System.Xml.Serialization.XmlTypeAttribute( Namespace = \"http://opcfoundation.org/UA/2008/02/Types.xsd\" )]\n  [System.Xml.Serialization.XmlRootAttribute( Namespace = \"http://opcfoundation.org/UA/2008/02/Types.xsd\", IsNullable = false )]\n  public partial class SoftwareCertificate\n  {\n\n    private string productNameField;\n\n    private string productUriField;\n\n    private string vendorNameField;\n\n    private byte[] vendorProductCertificateField;\n\n    private string softwareVersionField;\n\n    private string buildNumberField;\n\n    private System.DateTime buildDateField;\n\n    private string issuedByField;\n\n    private System.DateTime issueDateField;\n\n    private SupportedProfile[] supportedProfilesField;\n\n    /// <uwagi/>\n    [System.Xml.Serialization.XmlElementAttribute( IsNullable = true )]\n    public string ProductName\n    {\n      get\n      {\n        return this.productNameField;\n      }\n      set\n      {\n        this.productNameField = value;\n      }\n    }\n\n    /// <uwagi/>\n    [System.Xml.Serialization.XmlElementAttribute( IsNullable = true )]\n    public string ProductUri\n    {\n      get\n      {\n        return this.productUriField;\n      }\n      set\n      {\n        this.productUriField = value;\n      }\n    }\n\n    /// <uwagi/>\n    [System.Xml.Serialization.XmlElementAttribute( IsNullable = true )]\n    public string VendorName\n    {\n      get\n      {\n        return this.vendorNameField;\n      }\n      set\n      {\n        this.vendorNameField = value;\n      }\n    }\n\n    /// <uwagi/>\n    [System.Xml.Serialization.XmlElementAttribute( DataType = \"base64Binary\", IsNullable = true )]\n    public byte[] VendorProductCertificate\n    {\n      get\n      {\n        return this.vendorProductCertificateField;\n      }\n      set\n      {\n        this.vendorProductCertificateField = value;\n      }\n    }\n\n    /// <uwagi/>\n    [System.Xml.Serialization.XmlElementAttribute( IsNullable = true )]\n    public string SoftwareVersion\n    {\n      get\n      {\n        return this.softwareVersionField;\n      }\n      set\n      {\n        this.softwareVersionField = value;\n      }\n    }\n\n    /// <uwagi/>\n    [System.Xml.Serialization.XmlElementAttribute( IsNullable = true )]\n    public string BuildNumber\n    {\n      get\n      {\n        return this.buildNumberField;\n      }\n      set\n      {\n        this.buildNumberField = value;\n      }\n    }\n\n    /// <uwagi/>\n    public System.DateTime BuildDate\n    {\n      get\n      {\n        return this.buildDateField;\n      }\n      set\n      {\n        this.buildDateField = value;\n      }\n    }\n\n    /// <uwagi/>\n    [System.Xml.Serialization.XmlElementAttribute( IsNullable = true )]\n    public string IssuedBy\n    {\n      get\n      {\n        return this.issuedByField;\n      }\n      set\n      {\n        this.issuedByField = value;\n      }\n    }\n\n    /// <uwagi/>\n    public System.DateTime IssueDate\n    {\n      get\n      {\n        return this.issueDateField;\n      }\n      set\n      {\n        this.issueDateField = value;\n      }\n    }\n\n    /// <uwagi/>\n    public SupportedProfile[] SupportedProfiles\n    {\n      get\n      {\n        return this.supportedProfilesField;\n      }\n      set\n      {\n        this.supportedProfilesField = value;\n      }\n    }\n  }\n\n  /// <uwagi/>\n  [System.CodeDom.Compiler.GeneratedCodeAttribute( \"xsd\", \"2.0.50727.42\" )]\n  [System.SerializableAttribute()]\n  [System.Diagnostics.DebuggerStepThroughAttribute()]\n  [System.ComponentModel.DesignerCategoryAttribute( \"code\" )]\n  [System.Xml.Serialization.XmlTypeAttribute( Namespace = \"http://opcfoundation.org/UA/2008/02/Types.xsd\" )]\n  [System.Xml.Serialization.XmlRootAttribute( Namespace = \"http://opcfoundation.org/UA/2008/02/Types.xsd\", IsNullable = false )]\n  public partial class SignedSoftwareCertificate\n  {\n\n    private byte[] certificateDataField;\n\n    private byte[] signatureField;\n\n    /// <uwagi/>\n    [System.Xml.Serialization.XmlElementAttribute( DataType = \"base64Binary\", IsNullable = true )]\n    public byte[] CertificateData\n    {\n      get\n      {\n        return this.certificateDataField;\n      }\n      set\n      {\n        this.certificateDataField = value;\n      }\n    }\n\n    /// <uwagi/>\n    [System.Xml.Serialization.XmlElementAttribute( DataType = \"base64Binary\", IsNullable = true )]\n    public byte[] Signature\n    {\n      get\n      {\n        return this.signatureField;\n      }\n      set\n      {\n        this.signatureField = value;\n      }\n    }\n  }\n\n  /// <uwagi/>\n  [System.CodeDom.Compiler.GeneratedCodeAttribute( \"xsd\", \"2.0.50727.42\" )]\n  [System.SerializableAttribute()]\n  [System.Diagnostics.DebuggerStepThroughAttribute()]\n  [System.ComponentModel.DesignerCategoryAttribute( \"code\" )]\n  [System.Xml.Serialization.XmlTypeAttribute( Namespace = \"http://opcfoundation.org/UA/2008/02/Types.xsd\" )]\n  [System.Xml.Serialization.XmlRootAttribute( Namespace = \"http://opcfoundation.org/UA/2008/02/Types.xsd\", IsNullable = true )]\n  public partial class ListOfSignedSoftwareCertificate\n  {\n\n    private SignedSoftwareCertificate[] signedSoftwareCertificateField;\n\n    /// <uwagi/>\n    [System.Xml.Serialization.XmlElementAttribute( \"SignedSoftwareCertificate\", IsNullable = true )]\n    public SignedSoftwareCertificate[] SignedSoftwareCertificate\n    {\n      get\n      {\n        return this.signedSoftwareCertificateField;\n      }\n      set\n      {\n        this.signedSoftwareCertificateField = value;\n      }\n    }\n  }\n\n  //TODO Define independent Address Space API #645 - must be updated\n  /// <uwagi/>\n  //[System.CodeDom.Compiler.GeneratedCodeAttribute( \"xsd\", \"2.0.50727.42\" )]\n  //[System.SerializableAttribute()]\n  //[System.Xml.Serialization.XmlTypeAttribute( Namespace = \"http://opcfoundation.org/UA/2008/02/Types.xsd\" )]\n  //[System.Xml.Serialization.XmlRootAttribute( Namespace = \"http://opcfoundation.org/UA/2008/02/Types.xsd\", IsNullable = false )]\n  //public enum AttributeWriteMask\n  //{\n\n  //  /// <uwagi/>\n  //  None_0,\n\n  //  /// <uwagi/>\n  //  AccessLevel_1,\n\n  //  /// <uwagi/>\n  //  ArrayDimensions_2,\n\n  //  /// <uwagi/>\n  //  BrowseName_4,\n\n  //  /// <uwagi/>\n  //  ContainsNoLoops_8,\n\n  //  /// <uwagi/>\n  //  DataType_16,\n\n  //  /// <uwagi/>\n  //  Description_32,\n\n  //  /// <uwagi/>\n  //  DisplayName_64,\n\n  //  /// <uwagi/>\n  //  EventNotifier_128,\n\n  //  /// <uwagi/>\n  //  Executable_256,\n\n  //  /// <uwagi/>\n  //  Historizing_512,\n\n  //  /// <uwagi/>\n  //  InverseName_1024,\n\n  //  /// <uwagi/>\n  //  IsAbstract_2048,\n\n  //  /// <uwagi/>\n  //  MinimumSamplingInterval_4096,\n\n  //  /// <uwagi/>\n  //  NodeClass_8192,\n\n  //  /// <uwagi/>\n  //  NodeId_16384,\n\n  //  /// <uwagi/>\n  //  Symmetric_32768,\n\n  //  /// <uwagi/>\n  //  UserAccessLevel_65536,\n\n  //  /// <uwagi/>\n  //  UserExecutable_131072,\n\n  //  /// <uwagi/>\n  //  UserWriteMask_262144,\n\n  //  /// <uwagi/>\n  //  ValueRank_524288,\n\n  //  /// <uwagi/>\n  //  WriteMask_1048576,\n\n  //  /// <uwagi/>\n  //  ValueForVariableType_2097152,\n  //}\n\n  /// <uwagi/>\n  [System.CodeDom.Compiler.GeneratedCodeAttribute( \"xsd\", \"2.0.50727.42\" )]\n  [System.SerializableAttribute()]\n  [System.Xml.Serialization.XmlTypeAttribute( Namespace = \"http://opcfoundation.org/UA/2008/02/Types.xsd\" )]\n  [System.Xml.Serialization.XmlRootAttribute( Namespace = \"http://opcfoundation.org/UA/2008/02/Types.xsd\", IsNullable = false )]\n  public enum NodeAttributesMask\n  {\n\n    /// <uwagi/>\n    None_0,\n\n    /// <uwagi/>\n    AccessLevel_1,\n\n    /// <uwagi/>\n    ArrayDimensions_2,\n\n    /// <uwagi/>\n    ContainsNoLoops_8,\n\n    /// <uwagi/>\n    DataType_16,\n\n    /// <uwagi/>\n    Description_32,\n\n    /// <uwagi/>\n    DisplayName_64,\n\n    /// <uwagi/>\n    EventNotifier_128,\n\n    /// <uwagi/>\n    Executable_256,\n\n    /// <uwagi/>\n    Historizing_512,\n\n    /// <uwagi/>\n    InverseName_1024,\n\n    /// <uwagi/>\n    IsAbstract_2048,\n\n    /// <uwagi/>\n    MinimumSamplingInterval_4096,\n\n    /// <uwagi/>\n    Symmetric_32768,\n\n    /// <uwagi/>\n    UserAccessLevel_65536,\n\n    /// <uwagi/>\n    UserExecutable_131072,\n\n    /// <uwagi/>\n    UserWriteMask_262144,\n\n    /// <uwagi/>\n    ValueRank_524288,\n\n    /// <uwagi/>\n    WriteMask_1048576,\n\n    /// <uwagi/>\n    Value_2097152,\n\n    /// <uwagi/>\n    All_4194303,\n\n    /// <uwagi/>\n    BaseNode_1335396,\n\n    /// <uwagi/>\n    Object_1335524,\n\n    /// <uwagi/>\n    ObjectTypeOrDataType_1337444,\n\n    /// <uwagi/>\n    Variable_4026999,\n\n    /// <uwagi/>\n    VariableType_3958902,\n\n    /// <uwagi/>\n    Method_1466724,\n\n    /// <uwagi/>\n    ReferenceType_1371236,\n\n    /// <uwagi/>\n    View_1335532,\n  }\n\n  /// <uwagi/>\n  [System.Xml.Serialization.XmlIncludeAttribute( typeof( ViewAttributes ) )]\n  [System.Xml.Serialization.XmlIncludeAttribute( typeof( DataTypeAttributes ) )]\n  [System.Xml.Serialization.XmlIncludeAttribute( typeof( ReferenceTypeAttributes ) )]\n  [System.Xml.Serialization.XmlIncludeAttribute( typeof( VariableTypeAttributes ) )]\n  [System.Xml.Serialization.XmlIncludeAttribute( typeof( ObjectTypeAttributes ) )]\n  [System.Xml.Serialization.XmlIncludeAttribute( typeof( MethodAttributes ) )]\n  [System.Xml.Serialization.XmlIncludeAttribute( typeof( VariableAttributes ) )]\n  [System.Xml.Serialization.XmlIncludeAttribute( typeof( ObjectAttributes ) )]\n  [System.CodeDom.Compiler.GeneratedCodeAttribute( \"xsd\", \"2.0.50727.42\" )]\n  [System.SerializableAttribute()]\n  [System.Diagnostics.DebuggerStepThroughAttribute()]\n  [System.ComponentModel.DesignerCategoryAttribute( \"code\" )]\n  [System.Xml.Serialization.XmlTypeAttribute( Namespace = \"http://opcfoundation.org/UA/2008/02/Types.xsd\" )]\n  [System.Xml.Serialization.XmlRootAttribute( Namespace = \"http://opcfoundation.org/UA/2008/02/Types.xsd\", IsNullable = false )]\n  public partial class NodeAttributes\n  {\n\n    private uint specifiedAttributesField;\n\n    private LocalizedText displayNameField;\n\n    private LocalizedText descriptionField;\n\n    private uint writeMaskField;\n\n    private uint userWriteMaskField;\n\n    /// <uwagi/>\n    public uint SpecifiedAttributes\n    {\n      get\n      {\n        return this.specifiedAttributesField;\n      }\n      set\n      {\n        this.specifiedAttributesField = value;\n      }\n    }\n\n    /// <uwagi/>\n    [System.Xml.Serialization.XmlElementAttribute( IsNullable = true )]\n    public LocalizedText DisplayName\n    {\n      get\n      {\n        return this.displayNameField;\n      }\n      set\n      {\n        this.displayNameField = value;\n      }\n    }\n\n    /// <uwagi/>\n    [System.Xml.Serialization.XmlElementAttribute( IsNullable = true )]\n    public LocalizedText Description\n    {\n      get\n      {\n        return this.descriptionField;\n      }\n      set\n      {\n        this.descriptionField = value;\n      }\n    }\n\n    /// <uwagi/>\n    public uint WriteMask\n    {\n      get\n      {\n        return this.writeMaskField;\n      }\n      set\n      {\n        this.writeMaskField = value;\n      }\n    }\n\n    /// <uwagi/>\n    public uint UserWriteMask\n    {\n      get\n      {\n        return this.userWriteMaskField;\n      }\n      set\n      {\n        this.userWriteMaskField = value;\n      }\n    }\n  }\n\n  /// <uwagi/>\n  [System.CodeDom.Compiler.GeneratedCodeAttribute( \"xsd\", \"2.0.50727.42\" )]\n  [System.SerializableAttribute()]\n  [System.Diagnostics.DebuggerStepThroughAttribute()]\n  [System.ComponentModel.DesignerCategoryAttribute( \"code\" )]\n  [System.Xml.Serialization.XmlTypeAttribute( Namespace = \"http://opcfoundation.org/UA/2008/02/Types.xsd\" )]\n  [System.Xml.Serialization.XmlRootAttribute( Namespace = \"http://opcfoundation.org/UA/2008/02/Types.xsd\", IsNullable = false )]\n  public partial class ObjectAttributes: NodeAttributes\n  {\n\n    private byte eventNotifierField;\n\n    /// <uwagi/>\n    public byte EventNotifier\n    {\n      get\n      {\n        return this.eventNotifierField;\n      }\n      set\n      {\n        this.eventNotifierField = value;\n      }\n    }\n  }\n\n  /// <uwagi/>\n  [System.CodeDom.Compiler.GeneratedCodeAttribute( \"xsd\", \"2.0.50727.42\" )]\n  [System.SerializableAttribute()]\n  [System.Diagnostics.DebuggerStepThroughAttribute()]\n  [System.ComponentModel.DesignerCategoryAttribute( \"code\" )]\n  [System.Xml.Serialization.XmlTypeAttribute( Namespace = \"http://opcfoundation.org/UA/2008/02/Types.xsd\" )]\n  [System.Xml.Serialization.XmlRootAttribute( Namespace = \"http://opcfoundation.org/UA/2008/02/Types.xsd\", IsNullable = false )]\n  public partial class VariableAttributes: NodeAttributes\n  {\n\n    private Variant valueField;\n\n    private NodeId dataTypeField;\n\n    private int valueRankField;\n\n    private uint[] arrayDimensionsField;\n\n    private byte accessLevelField;\n\n    private byte userAccessLevelField;\n\n    private double minimumSamplingIntervalField;\n\n    private bool historizingField;\n\n    /// <uwagi/>\n    public Variant Value\n    {\n      get\n      {\n        return this.valueField;\n      }\n      set\n      {\n        this.valueField = value;\n      }\n    }\n\n    /// <uwagi/>\n    [System.Xml.Serialization.XmlElementAttribute( IsNullable = true )]\n    public NodeId DataType\n    {\n      get\n      {\n        return this.dataTypeField;\n      }\n      set\n      {\n        this.dataTypeField = value;\n      }\n    }\n\n    /// <uwagi/>\n    public int ValueRank\n    {\n      get\n      {\n        return this.valueRankField;\n      }\n      set\n      {\n        this.valueRankField = value;\n      }\n    }\n\n    /// <uwagi/>\n    [System.Xml.Serialization.XmlArrayItemAttribute( \"UInt32\", IsNullable = false )]\n    public uint[] ArrayDimensions\n    {\n      get\n      {\n        return this.arrayDimensionsField;\n      }\n      set\n      {\n        this.arrayDimensionsField = value;\n      }\n    }\n\n    /// <uwagi/>\n    public byte AccessLevel\n    {\n      get\n      {\n        return this.accessLevelField;\n      }\n      set\n      {\n        this.accessLevelField = value;\n      }\n    }\n\n    /// <uwagi/>\n    public byte UserAccessLevel\n    {\n      get\n      {\n        return this.userAccessLevelField;\n      }\n      set\n      {\n        this.userAccessLevelField = value;\n      }\n    }\n\n    /// <uwagi/>\n    public double MinimumSamplingInterval\n    {\n      get\n      {\n        return this.minimumSamplingIntervalField;\n      }\n      set\n      {\n        this.minimumSamplingIntervalField = value;\n      }\n    }\n\n    /// <uwagi/>\n    public bool Historizing\n    {\n      get\n      {\n        return this.historizingField;\n      }\n      set\n      {\n        this.historizingField = value;\n      }\n    }\n  }\n\n  /// <uwagi/>\n  [System.CodeDom.Compiler.GeneratedCodeAttribute( \"xsd\", \"2.0.50727.42\" )]\n  [System.SerializableAttribute()]\n  [System.Diagnostics.DebuggerStepThroughAttribute()]\n  [System.ComponentModel.DesignerCategoryAttribute( \"code\" )]\n  [System.Xml.Serialization.XmlTypeAttribute( Namespace = \"http://opcfoundation.org/UA/2008/02/Types.xsd\" )]\n  [System.Xml.Serialization.XmlRootAttribute( Namespace = \"http://opcfoundation.org/UA/2008/02/Types.xsd\", IsNullable = false )]\n  public partial class MethodAttributes: NodeAttributes\n  {\n\n    private bool executableField;\n\n    private bool userExecutableField;\n\n    /// <uwagi/>\n    public bool Executable\n    {\n      get\n      {\n        return this.executableField;\n      }\n      set\n      {\n        this.executableField = value;\n      }\n    }\n\n    /// <uwagi/>\n    public bool UserExecutable\n    {\n      get\n      {\n        return this.userExecutableField;\n      }\n      set\n      {\n        this.userExecutableField = value;\n      }\n    }\n  }\n\n  /// <uwagi/>\n  [System.CodeDom.Compiler.GeneratedCodeAttribute( \"xsd\", \"2.0.50727.42\" )]\n  [System.SerializableAttribute()]\n  [System.Diagnostics.DebuggerStepThroughAttribute()]\n  [System.ComponentModel.DesignerCategoryAttribute( \"code\" )]\n  [System.Xml.Serialization.XmlTypeAttribute( Namespace = \"http://opcfoundation.org/UA/2008/02/Types.xsd\" )]\n  [System.Xml.Serialization.XmlRootAttribute( Namespace = \"http://opcfoundation.org/UA/2008/02/Types.xsd\", IsNullable = false )]\n  public partial class ObjectTypeAttributes: NodeAttributes\n  {\n\n    private bool isAbstractField;\n\n    /// <uwagi/>\n    public bool IsAbstract\n    {\n      get\n      {\n        return this.isAbstractField;\n      }\n      set\n      {\n        this.isAbstractField = value;\n      }\n    }\n  }\n\n  /// <uwagi/>\n  [System.CodeDom.Compiler.GeneratedCodeAttribute( \"xsd\", \"2.0.50727.42\" )]\n  [System.SerializableAttribute()]\n  [System.Diagnostics.DebuggerStepThroughAttribute()]\n  [System.ComponentModel.DesignerCategoryAttribute( \"code\" )]\n  [System.Xml.Serialization.XmlTypeAttribute( Namespace = \"http://opcfoundation.org/UA/2008/02/Types.xsd\" )]\n  [System.Xml.Serialization.XmlRootAttribute( Namespace = \"http://opcfoundation.org/UA/2008/02/Types.xsd\", IsNullable = false )]\n  public partial class VariableTypeAttributes: NodeAttributes\n  {\n\n    private Variant valueField;\n\n    private NodeId dataTypeField;\n\n    private int valueRankField;\n\n    private uint[] arrayDimensionsField;\n\n    private bool isAbstractField;\n\n    /// <uwagi/>\n    public Variant Value\n    {\n      get\n      {\n        return this.valueField;\n      }\n      set\n      {\n        this.valueField = value;\n      }\n    }\n\n    /// <uwagi/>\n    [System.Xml.Serialization.XmlElementAttribute( IsNullable = true )]\n    public NodeId DataType\n    {\n      get\n      {\n        return this.dataTypeField;\n      }\n      set\n      {\n        this.dataTypeField = value;\n      }\n    }\n\n    /// <uwagi/>\n    public int ValueRank\n    {\n      get\n      {\n        return this.valueRankField;\n      }\n      set\n      {\n        this.valueRankField = value;\n      }\n    }\n\n    /// <uwagi/>\n    [System.Xml.Serialization.XmlArrayItemAttribute( \"UInt32\", IsNullable = false )]\n    public uint[] ArrayDimensions\n    {\n      get\n      {\n        return this.arrayDimensionsField;\n      }\n      set\n      {\n        this.arrayDimensionsField = value;\n      }\n    }\n\n    /// <uwagi/>\n    public bool IsAbstract\n    {\n      get\n      {\n        return this.isAbstractField;\n      }\n      set\n      {\n        this.isAbstractField = value;\n      }\n    }\n  }\n\n  /// <uwagi/>\n  [System.CodeDom.Compiler.GeneratedCodeAttribute( \"xsd\", \"2.0.50727.42\" )]\n  [System.SerializableAttribute()]\n  [System.Diagnostics.DebuggerStepThroughAttribute()]\n  [System.ComponentModel.DesignerCategoryAttribute( \"code\" )]\n  [System.Xml.Serialization.XmlTypeAttribute( Namespace = \"http://opcfoundation.org/UA/2008/02/Types.xsd\" )]\n  [System.Xml.Serialization.XmlRootAttribute( Namespace = \"http://opcfoundation.org/UA/2008/02/Types.xsd\", IsNullable = false )]\n  public partial class ReferenceTypeAttributes: NodeAttributes\n  {\n\n    private bool isAbstractField;\n\n    private bool symmetricField;\n\n    private LocalizedText inverseNameField;\n\n    /// <uwagi/>\n    public bool IsAbstract\n    {\n      get\n      {\n        return this.isAbstractField;\n      }\n      set\n      {\n        this.isAbstractField = value;\n      }\n    }\n\n    /// <uwagi/>\n    public bool Symmetric\n    {\n      get\n      {\n        return this.symmetricField;\n      }\n      set\n      {\n        this.symmetricField = value;\n      }\n    }\n\n    /// <uwagi/>\n    [System.Xml.Serialization.XmlElementAttribute( IsNullable = true )]\n    public LocalizedText InverseName\n    {\n      get\n      {\n        return this.inverseNameField;\n      }\n      set\n      {\n        this.inverseNameField = value;\n      }\n    }\n  }\n\n  /// <uwagi/>\n  [System.CodeDom.Compiler.GeneratedCodeAttribute( \"xsd\", \"2.0.50727.42\" )]\n  [System.SerializableAttribute()]\n  [System.Diagnostics.DebuggerStepThroughAttribute()]\n  [System.ComponentModel.DesignerCategoryAttribute( \"code\" )]\n  [System.Xml.Serialization.XmlTypeAttribute( Namespace = \"http://opcfoundation.org/UA/2008/02/Types.xsd\" )]\n  [System.Xml.Serialization.XmlRootAttribute( Namespace = \"http://opcfoundation.org/UA/2008/02/Types.xsd\", IsNullable = false )]\n  public partial class DataTypeAttributes: NodeAttributes\n  {\n\n    private bool isAbstractField;\n\n    /// <uwagi/>\n    public bool IsAbstract\n    {\n      get\n      {\n        return this.isAbstractField;\n      }\n      set\n      {\n        this.isAbstractField = value;\n      }\n    }\n  }\n\n  /// <uwagi/>\n  [System.CodeDom.Compiler.GeneratedCodeAttribute( \"xsd\", \"2.0.50727.42\" )]\n  [System.SerializableAttribute()]\n  [System.Diagnostics.DebuggerStepThroughAttribute()]\n  [System.ComponentModel.DesignerCategoryAttribute( \"code\" )]\n  [System.Xml.Serialization.XmlTypeAttribute( Namespace = \"http://opcfoundation.org/UA/2008/02/Types.xsd\" )]\n  [System.Xml.Serialization.XmlRootAttribute( Namespace = \"http://opcfoundation.org/UA/2008/02/Types.xsd\", IsNullable = false )]\n  public partial class ViewAttributes: NodeAttributes\n  {\n\n    private bool containsNoLoopsField;\n\n    private byte eventNotifierField;\n\n    /// <uwagi/>\n    public bool ContainsNoLoops\n    {\n      get\n      {\n        return this.containsNoLoopsField;\n      }\n      set\n      {\n        this.containsNoLoopsField = value;\n      }\n    }\n\n    /// <uwagi/>\n    public byte EventNotifier\n    {\n      get\n      {\n        return this.eventNotifierField;\n      }\n      set\n      {\n        this.eventNotifierField = value;\n      }\n    }\n  }\n\n  /// <uwagi/>\n  [System.CodeDom.Compiler.GeneratedCodeAttribute( \"xsd\", \"2.0.50727.42\" )]\n  [System.SerializableAttribute()]\n  [System.Diagnostics.DebuggerStepThroughAttribute()]\n  [System.ComponentModel.DesignerCategoryAttribute( \"code\" )]\n  [System.Xml.Serialization.XmlTypeAttribute( Namespace = \"http://opcfoundation.org/UA/2008/02/Types.xsd\" )]\n  [System.Xml.Serialization.XmlRootAttribute( Namespace = \"http://opcfoundation.org/UA/2008/02/Types.xsd\", IsNullable = false )]\n  public partial class AddNodesItem\n  {\n\n    private ExpandedNodeId parentNodeIdField;\n\n    private NodeId referenceTypeIdField;\n\n    private ExpandedNodeId requestedNewNodeIdField;\n\n    private QualifiedName browseNameField;\n\n    private NodeClass nodeClassField;\n\n    private ExtensionObject nodeAttributesField;\n\n    private ExpandedNodeId typeDefinitionField;\n\n    /// <uwagi/>\n    [System.Xml.Serialization.XmlElementAttribute( IsNullable = true )]\n    public ExpandedNodeId ParentNodeId\n    {\n      get\n      {\n        return this.parentNodeIdField;\n      }\n      set\n      {\n        this.parentNodeIdField = value;\n      }\n    }\n\n    /// <uwagi/>\n    [System.Xml.Serialization.XmlElementAttribute( IsNullable = true )]\n    public NodeId ReferenceTypeId\n    {\n      get\n      {\n        return this.referenceTypeIdField;\n      }\n      set\n      {\n        this.referenceTypeIdField = value;\n      }\n    }\n\n    /// <uwagi/>\n    [System.Xml.Serialization.XmlElementAttribute( IsNullable = true )]\n    public ExpandedNodeId RequestedNewNodeId\n    {\n      get\n      {\n        return this.requestedNewNodeIdField;\n      }\n      set\n      {\n        this.requestedNewNodeIdField = value;\n      }\n    }\n\n    /// <uwagi/>\n    [System.Xml.Serialization.XmlElementAttribute( IsNullable = true )]\n    public QualifiedName BrowseName\n    {\n      get\n      {\n        return this.browseNameField;\n      }\n      set\n      {\n        this.browseNameField = value;\n      }\n    }\n\n    /// <uwagi/>\n    public NodeClass NodeClass\n    {\n      get\n      {\n        return this.nodeClassField;\n      }\n      set\n      {\n        this.nodeClassField = value;\n      }\n    }\n\n    /// <uwagi/>\n    public ExtensionObject NodeAttributes\n    {\n      get\n      {\n        return this.nodeAttributesField;\n      }\n      set\n      {\n        this.nodeAttributesField = value;\n      }\n    }\n\n    /// <uwagi/>\n    [System.Xml.Serialization.XmlElementAttribute( IsNullable = true )]\n    public ExpandedNodeId TypeDefinition\n    {\n      get\n      {\n        return this.typeDefinitionField;\n      }\n      set\n      {\n        this.typeDefinitionField = value;\n      }\n    }\n  }\n\n  /// <uwagi/>\n  [System.CodeDom.Compiler.GeneratedCodeAttribute( \"xsd\", \"2.0.50727.42\" )]\n  [System.SerializableAttribute()]\n  [System.Diagnostics.DebuggerStepThroughAttribute()]\n  [System.ComponentModel.DesignerCategoryAttribute( \"code\" )]\n  [System.Xml.Serialization.XmlTypeAttribute( Namespace = \"http://opcfoundation.org/UA/2008/02/Types.xsd\" )]\n  [System.Xml.Serialization.XmlRootAttribute( Namespace = \"http://opcfoundation.org/UA/2008/02/Types.xsd\", IsNullable = true )]\n  public partial class ListOfAddNodesItem\n  {\n\n    private AddNodesItem[] addNodesItemField;\n\n    /// <uwagi/>\n    [System.Xml.Serialization.XmlElementAttribute( \"AddNodesItem\", IsNullable = true )]\n    public AddNodesItem[] AddNodesItem\n    {\n      get\n      {\n        return this.addNodesItemField;\n      }\n      set\n      {\n        this.addNodesItemField = value;\n      }\n    }\n  }\n\n  /// <uwagi/>\n  [System.CodeDom.Compiler.GeneratedCodeAttribute( \"xsd\", \"2.0.50727.42\" )]\n  [System.SerializableAttribute()]\n  [System.Diagnostics.DebuggerStepThroughAttribute()]\n  [System.ComponentModel.DesignerCategoryAttribute( \"code\" )]\n  [System.Xml.Serialization.XmlTypeAttribute( Namespace = \"http://opcfoundation.org/UA/2008/02/Types.xsd\" )]\n  [System.Xml.Serialization.XmlRootAttribute( Namespace = \"http://opcfoundation.org/UA/2008/02/Types.xsd\", IsNullable = false )]\n  public partial class AddReferencesItem\n  {\n\n    private NodeId sourceNodeIdField;\n\n    private NodeId referenceTypeIdField;\n\n    private bool isForwardField;\n\n    private string targetServerUriField;\n\n    private ExpandedNodeId targetNodeIdField;\n\n    private NodeClass targetNodeClassField;\n\n    /// <uwagi/>\n    [System.Xml.Serialization.XmlElementAttribute( IsNullable = true )]\n    public NodeId SourceNodeId\n    {\n      get\n      {\n        return this.sourceNodeIdField;\n      }\n      set\n      {\n        this.sourceNodeIdField = value;\n      }\n    }\n\n    /// <uwagi/>\n    [System.Xml.Serialization.XmlElementAttribute( IsNullable = true )]\n    public NodeId ReferenceTypeId\n    {\n      get\n      {\n        return this.referenceTypeIdField;\n      }\n      set\n      {\n        this.referenceTypeIdField = value;\n      }\n    }\n\n    /// <uwagi/>\n    public bool IsForward\n    {\n      get\n      {\n        return this.isForwardField;\n      }\n      set\n      {\n        this.isForwardField = value;\n      }\n    }\n\n    /// <uwagi/>\n    [System.Xml.Serialization.XmlElementAttribute( IsNullable = true )]\n    public string TargetServerUri\n    {\n      get\n      {\n        return this.targetServerUriField;\n      }\n      set\n      {\n        this.targetServerUriField = value;\n      }\n    }\n\n    /// <uwagi/>\n    [System.Xml.Serialization.XmlElementAttribute( IsNullable = true )]\n    public ExpandedNodeId TargetNodeId\n    {\n      get\n      {\n        return this.targetNodeIdField;\n      }\n      set\n      {\n        this.targetNodeIdField = value;\n      }\n    }\n\n    /// <uwagi/>\n    public NodeClass TargetNodeClass\n    {\n      get\n      {\n        return this.targetNodeClassField;\n      }\n      set\n      {\n        this.targetNodeClassField = value;\n      }\n    }\n  }\n\n  /// <uwagi/>\n  [System.CodeDom.Compiler.GeneratedCodeAttribute( \"xsd\", \"2.0.50727.42\" )]\n  [System.SerializableAttribute()]\n  [System.Diagnostics.DebuggerStepThroughAttribute()]\n  [System.ComponentModel.DesignerCategoryAttribute( \"code\" )]\n  [System.Xml.Serialization.XmlTypeAttribute( Namespace = \"http://opcfoundation.org/UA/2008/02/Types.xsd\" )]\n  [System.Xml.Serialization.XmlRootAttribute( Namespace = \"http://opcfoundation.org/UA/2008/02/Types.xsd\", IsNullable = true )]\n  public partial class ListOfAddReferencesItem\n  {\n\n    private AddReferencesItem[] addReferencesItemField;\n\n    /// <uwagi/>\n    [System.Xml.Serialization.XmlElementAttribute( \"AddReferencesItem\", IsNullable = true )]\n    public AddReferencesItem[] AddReferencesItem\n    {\n      get\n      {\n        return this.addReferencesItemField;\n      }\n      set\n      {\n        this.addReferencesItemField = value;\n      }\n    }\n  }\n\n  /// <uwagi/>\n  [System.CodeDom.Compiler.GeneratedCodeAttribute( \"xsd\", \"2.0.50727.42\" )]\n  [System.SerializableAttribute()]\n  [System.Diagnostics.DebuggerStepThroughAttribute()]\n  [System.ComponentModel.DesignerCategoryAttribute( \"code\" )]\n  [System.Xml.Serialization.XmlTypeAttribute( Namespace = \"http://opcfoundation.org/UA/2008/02/Types.xsd\" )]\n  [System.Xml.Serialization.XmlRootAttribute( Namespace = \"http://opcfoundation.org/UA/2008/02/Types.xsd\", IsNullable = false )]\n  public partial class DeleteNodesItem\n  {\n\n    private NodeId nodeIdField;\n\n    private bool deleteTargetReferencesField;\n\n    /// <uwagi/>\n    [System.Xml.Serialization.XmlElementAttribute( IsNullable = true )]\n    public NodeId NodeId\n    {\n      get\n      {\n        return this.nodeIdField;\n      }\n      set\n      {\n        this.nodeIdField = value;\n      }\n    }\n\n    /// <uwagi/>\n    public bool DeleteTargetReferences\n    {\n      get\n      {\n        return this.deleteTargetReferencesField;\n      }\n      set\n      {\n        this.deleteTargetReferencesField = value;\n      }\n    }\n  }\n\n  /// <uwagi/>\n  [System.CodeDom.Compiler.GeneratedCodeAttribute( \"xsd\", \"2.0.50727.42\" )]\n  [System.SerializableAttribute()]\n  [System.Diagnostics.DebuggerStepThroughAttribute()]\n  [System.ComponentModel.DesignerCategoryAttribute( \"code\" )]\n  [System.Xml.Serialization.XmlTypeAttribute( Namespace = \"http://opcfoundation.org/UA/2008/02/Types.xsd\" )]\n  [System.Xml.Serialization.XmlRootAttribute( Namespace = \"http://opcfoundation.org/UA/2008/02/Types.xsd\", IsNullable = true )]\n  public partial class ListOfDeleteNodesItem\n  {\n\n    private DeleteNodesItem[] deleteNodesItemField;\n\n    /// <uwagi/>\n    [System.Xml.Serialization.XmlElementAttribute( \"DeleteNodesItem\", IsNullable = true )]\n    public DeleteNodesItem[] DeleteNodesItem\n    {\n      get\n      {\n        return this.deleteNodesItemField;\n      }\n      set\n      {\n        this.deleteNodesItemField = value;\n      }\n    }\n  }\n\n  /// <uwagi/>\n  [System.CodeDom.Compiler.GeneratedCodeAttribute( \"xsd\", \"2.0.50727.42\" )]\n  [System.SerializableAttribute()]\n  [System.Diagnostics.DebuggerStepThroughAttribute()]\n  [System.ComponentModel.DesignerCategoryAttribute( \"code\" )]\n  [System.Xml.Serialization.XmlTypeAttribute( Namespace = \"http://opcfoundation.org/UA/2008/02/Types.xsd\" )]\n  [System.Xml.Serialization.XmlRootAttribute( Namespace = \"http://opcfoundation.org/UA/2008/02/Types.xsd\", IsNullable = false )]\n  public partial class DeleteReferencesItem\n  {\n\n    private NodeId sourceNodeIdField;\n\n    private NodeId referenceTypeIdField;\n\n    private bool isForwardField;\n\n    private ExpandedNodeId targetNodeIdField;\n\n    private bool deleteBidirectionalField;\n\n    /// <uwagi/>\n    [System.Xml.Serialization.XmlElementAttribute( IsNullable = true )]\n    public NodeId SourceNodeId\n    {\n      get\n      {\n        return this.sourceNodeIdField;\n      }\n      set\n      {\n        this.sourceNodeIdField = value;\n      }\n    }\n\n    /// <uwagi/>\n    [System.Xml.Serialization.XmlElementAttribute( IsNullable = true )]\n    public NodeId ReferenceTypeId\n    {\n      get\n      {\n        return this.referenceTypeIdField;\n      }\n      set\n      {\n        this.referenceTypeIdField = value;\n      }\n    }\n\n    /// <uwagi/>\n    public bool IsForward\n    {\n      get\n      {\n        return this.isForwardField;\n      }\n      set\n      {\n        this.isForwardField = value;\n      }\n    }\n\n    /// <uwagi/>\n    [System.Xml.Serialization.XmlElementAttribute( IsNullable = true )]\n    public ExpandedNodeId TargetNodeId\n    {\n      get\n      {\n        return this.targetNodeIdField;\n      }\n      set\n      {\n        this.targetNodeIdField = value;\n      }\n    }\n\n    /// <uwagi/>\n    public bool DeleteBidirectional\n    {\n      get\n      {\n        return this.deleteBidirectionalField;\n      }\n      set\n      {\n        this.deleteBidirectionalField = value;\n      }\n    }\n  }\n\n  /// <uwagi/>\n  [System.CodeDom.Compiler.GeneratedCodeAttribute( \"xsd\", \"2.0.50727.42\" )]\n  [System.SerializableAttribute()]\n  [System.Diagnostics.DebuggerStepThroughAttribute()]\n  [System.ComponentModel.DesignerCategoryAttribute( \"code\" )]\n  [System.Xml.Serialization.XmlTypeAttribute( Namespace = \"http://opcfoundation.org/UA/2008/02/Types.xsd\" )]\n  [System.Xml.Serialization.XmlRootAttribute( Namespace = \"http://opcfoundation.org/UA/2008/02/Types.xsd\", IsNullable = true )]\n  public partial class ListOfDeleteReferencesItem\n  {\n\n    private DeleteReferencesItem[] deleteReferencesItemField;\n\n    /// <uwagi/>\n    [System.Xml.Serialization.XmlElementAttribute( \"DeleteReferencesItem\", IsNullable = true )]\n    public DeleteReferencesItem[] DeleteReferencesItem\n    {\n      get\n      {\n        return this.deleteReferencesItemField;\n      }\n      set\n      {\n        this.deleteReferencesItemField = value;\n      }\n    }\n  }\n\n  /// <uwagi/>\n  [System.CodeDom.Compiler.GeneratedCodeAttribute( \"xsd\", \"2.0.50727.42\" )]\n  [System.SerializableAttribute()]\n  [System.Diagnostics.DebuggerStepThroughAttribute()]\n  [System.ComponentModel.DesignerCategoryAttribute( \"code\" )]\n  [System.Xml.Serialization.XmlTypeAttribute( Namespace = \"http://opcfoundation.org/UA/2008/02/Types.xsd\" )]\n  [System.Xml.Serialization.XmlRootAttribute( Namespace = \"http://opcfoundation.org/UA/2008/02/Types.xsd\", IsNullable = false )]\n  public partial class RequestHeader\n  {\n\n    private NodeId authenticationTokenField;\n\n    private System.DateTime timestampField;\n\n    private uint requestHandleField;\n\n    private uint returnDiagnosticsField;\n\n    private string auditEntryIdField;\n\n    private uint timeoutHintField;\n\n    private ExtensionObject additionalHeaderField;\n\n    /// <uwagi/>\n    [System.Xml.Serialization.XmlElementAttribute( IsNullable = true )]\n    public NodeId AuthenticationToken\n    {\n      get\n      {\n        return this.authenticationTokenField;\n      }\n      set\n      {\n        this.authenticationTokenField = value;\n      }\n    }\n\n    /// <uwagi/>\n    public System.DateTime Timestamp\n    {\n      get\n      {\n        return this.timestampField;\n      }\n      set\n      {\n        this.timestampField = value;\n      }\n    }\n\n    /// <uwagi/>\n    public uint RequestHandle\n    {\n      get\n      {\n        return this.requestHandleField;\n      }\n      set\n      {\n        this.requestHandleField = value;\n      }\n    }\n\n    /// <uwagi/>\n    public uint ReturnDiagnostics\n    {\n      get\n      {\n        return this.returnDiagnosticsField;\n      }\n      set\n      {\n        this.returnDiagnosticsField = value;\n      }\n    }\n\n    /// <uwagi/>\n    [System.Xml.Serialization.XmlElementAttribute( IsNullable = true )]\n    public string AuditEntryId\n    {\n      get\n      {\n        return this.auditEntryIdField;\n      }\n      set\n      {\n        this.auditEntryIdField = value;\n      }\n    }\n\n    /// <uwagi/>\n    public uint TimeoutHint\n    {\n      get\n      {\n        return this.timeoutHintField;\n      }\n      set\n      {\n        this.timeoutHintField = value;\n      }\n    }\n\n    /// <uwagi/>\n    public ExtensionObject AdditionalHeader\n    {\n      get\n      {\n        return this.additionalHeaderField;\n      }\n      set\n      {\n        this.additionalHeaderField = value;\n      }\n    }\n  }\n\n  /// <uwagi/>\n  [System.CodeDom.Compiler.GeneratedCodeAttribute( \"xsd\", \"2.0.50727.42\" )]\n  [System.SerializableAttribute()]\n  [System.Diagnostics.DebuggerStepThroughAttribute()]\n  [System.ComponentModel.DesignerCategoryAttribute( \"code\" )]\n  [System.Xml.Serialization.XmlTypeAttribute( Namespace = \"http://opcfoundation.org/UA/2008/02/Types.xsd\" )]\n  [System.Xml.Serialization.XmlRootAttribute( Namespace = \"http://opcfoundation.org/UA/2008/02/Types.xsd\", IsNullable = false )]\n  public partial class ResponseHeader\n  {\n\n    private System.DateTime timestampField;\n\n    private uint requestHandleField;\n\n    private StatusCode serviceResultField;\n\n    private DiagnosticInfo serviceDiagnosticsField;\n\n    private string[] stringTableField;\n\n    private ExtensionObject additionalHeaderField;\n\n    /// <uwagi/>\n    public System.DateTime Timestamp\n    {\n      get\n      {\n        return this.timestampField;\n      }\n      set\n      {\n        this.timestampField = value;\n      }\n    }\n\n    /// <uwagi/>\n    public uint RequestHandle\n    {\n      get\n      {\n        return this.requestHandleField;\n      }\n      set\n      {\n        this.requestHandleField = value;\n      }\n    }\n\n    /// <uwagi/>\n    public StatusCode ServiceResult\n    {\n      get\n      {\n        return this.serviceResultField;\n      }\n      set\n      {\n        this.serviceResultField = value;\n      }\n    }\n\n    /// <uwagi/>\n    [System.Xml.Serialization.XmlElementAttribute( IsNullable = true )]\n    public DiagnosticInfo ServiceDiagnostics\n    {\n      get\n      {\n        return this.serviceDiagnosticsField;\n      }\n      set\n      {\n        this.serviceDiagnosticsField = value;\n      }\n    }\n\n    /// <uwagi/>\n    [System.Xml.Serialization.XmlArrayAttribute( IsNullable = true )]\n    [System.Xml.Serialization.XmlArrayItemAttribute( \"String\", IsNullable = false )]\n    public string[] StringTable\n    {\n      get\n      {\n        return this.stringTableField;\n      }\n      set\n      {\n        this.stringTableField = value;\n      }\n    }\n\n    /// <uwagi/>\n    public ExtensionObject AdditionalHeader\n    {\n      get\n      {\n        return this.additionalHeaderField;\n      }\n      set\n      {\n        this.additionalHeaderField = value;\n      }\n    }\n  }\n\n  /// <uwagi/>\n  [System.CodeDom.Compiler.GeneratedCodeAttribute( \"xsd\", \"2.0.50727.42\" )]\n  [System.SerializableAttribute()]\n  [System.Diagnostics.DebuggerStepThroughAttribute()]\n  [System.ComponentModel.DesignerCategoryAttribute( \"code\" )]\n  [System.Xml.Serialization.XmlTypeAttribute( Namespace = \"http://opcfoundation.org/UA/2008/02/Types.xsd\" )]\n  [System.Xml.Serialization.XmlRootAttribute( Namespace = \"http://opcfoundation.org/UA/2008/02/Types.xsd\", IsNullable = false )]\n  public partial class ServiceFault\n  {\n\n    private ResponseHeader responseHeaderField;\n\n    /// <uwagi/>\n    public ResponseHeader ResponseHeader\n    {\n      get\n      {\n        return this.responseHeaderField;\n      }\n      set\n      {\n        this.responseHeaderField = value;\n      }\n    }\n  }\n\n  /// <uwagi/>\n  [System.CodeDom.Compiler.GeneratedCodeAttribute( \"xsd\", \"2.0.50727.42\" )]\n  [System.SerializableAttribute()]\n  [System.Xml.Serialization.XmlTypeAttribute( Namespace = \"http://opcfoundation.org/UA/2008/02/Types.xsd\" )]\n  [System.Xml.Serialization.XmlRootAttribute( Namespace = \"http://opcfoundation.org/UA/2008/02/Types.xsd\", IsNullable = false )]\n  public enum EnumeratedTestType\n  {\n\n    /// <uwagi/>\n    Red_1,\n\n    /// <uwagi/>\n    Yellow_4,\n\n    /// <uwagi/>\n    Green_5,\n  }\n\n  /// <uwagi/>\n  [System.CodeDom.Compiler.GeneratedCodeAttribute( \"xsd\", \"2.0.50727.42\" )]\n  [System.SerializableAttribute()]\n  [System.Diagnostics.DebuggerStepThroughAttribute()]\n  [System.ComponentModel.DesignerCategoryAttribute( \"code\" )]\n  [System.Xml.Serialization.XmlTypeAttribute( Namespace = \"http://opcfoundation.org/UA/2008/02/Types.xsd\" )]\n  [System.Xml.Serialization.XmlRootAttribute( Namespace = \"http://opcfoundation.org/UA/2008/02/Types.xsd\", IsNullable = true )]\n  public partial class ListOfEnumeratedTestType\n  {\n\n    private System.Nullable<EnumeratedTestType>[] enumeratedTestTypeField;\n\n    /// <uwagi/>\n    [System.Xml.Serialization.XmlElementAttribute( \"EnumeratedTestType\", IsNullable = true )]\n    public System.Nullable<EnumeratedTestType>[] EnumeratedTestType\n    {\n      get\n      {\n        return this.enumeratedTestTypeField;\n      }\n      set\n      {\n        this.enumeratedTestTypeField = value;\n      }\n    }\n  }\n\n  /// <uwagi/>\n  [System.CodeDom.Compiler.GeneratedCodeAttribute( \"xsd\", \"2.0.50727.42\" )]\n  [System.SerializableAttribute()]\n  [System.Diagnostics.DebuggerStepThroughAttribute()]\n  [System.ComponentModel.DesignerCategoryAttribute( \"code\" )]\n  [System.Xml.Serialization.XmlTypeAttribute( Namespace = \"http://opcfoundation.org/UA/2008/02/Types.xsd\" )]\n  [System.Xml.Serialization.XmlRootAttribute( Namespace = \"http://opcfoundation.org/UA/2008/02/Types.xsd\", IsNullable = false )]\n  public partial class ScalarTestType\n  {\n\n    private bool booleanField;\n\n    private sbyte sByteField;\n\n    private byte byteField;\n\n    private short int16Field;\n\n    private ushort uInt16Field;\n\n    private int int32Field;\n\n    private uint uInt32Field;\n\n    private long int64Field;\n\n    private ulong uInt64Field;\n\n    private float floatField;\n\n    private double doubleField;\n\n    private string stringField;\n\n    private System.DateTime dateTimeField;\n\n    private Guid guidField;\n\n    private byte[] byteStringField;\n\n    private System.Xml.XmlElement xmlElementField;\n\n    private NodeId nodeIdField;\n\n    private ExpandedNodeId expandedNodeIdField;\n\n    private StatusCode statusCodeField;\n\n    private DiagnosticInfo diagnosticInfoField;\n\n    private QualifiedName qualifiedNameField;\n\n    private LocalizedText localizedTextField;\n\n    private ExtensionObject extensionObjectField;\n\n    private DataValue dataValueField;\n\n    private EnumeratedTestType enumeratedValueField;\n\n    /// <uwagi/>\n    public bool Boolean\n    {\n      get\n      {\n        return this.booleanField;\n      }\n      set\n      {\n        this.booleanField = value;\n      }\n    }\n\n    /// <uwagi/>\n    public sbyte SByte\n    {\n      get\n      {\n        return this.sByteField;\n      }\n      set\n      {\n        this.sByteField = value;\n      }\n    }\n\n    /// <uwagi/>\n    public byte Byte\n    {\n      get\n      {\n        return this.byteField;\n      }\n      set\n      {\n        this.byteField = value;\n      }\n    }\n\n    /// <uwagi/>\n    public short Int16\n    {\n      get\n      {\n        return this.int16Field;\n      }\n      set\n      {\n        this.int16Field = value;\n      }\n    }\n\n    /// <uwagi/>\n    public ushort UInt16\n    {\n      get\n      {\n        return this.uInt16Field;\n      }\n      set\n      {\n        this.uInt16Field = value;\n      }\n    }\n\n    /// <uwagi/>\n    public int Int32\n    {\n      get\n      {\n        return this.int32Field;\n      }\n      set\n      {\n        this.int32Field = value;\n      }\n    }\n\n    /// <uwagi/>\n    public uint UInt32\n    {\n      get\n      {\n        return this.uInt32Field;\n      }\n      set\n      {\n        this.uInt32Field = value;\n      }\n    }\n\n    /// <uwagi/>\n    public long Int64\n    {\n      get\n      {\n        return this.int64Field;\n      }\n      set\n      {\n        this.int64Field = value;\n      }\n    }\n\n    /// <uwagi/>\n    public ulong UInt64\n    {\n      get\n      {\n        return this.uInt64Field;\n      }\n      set\n      {\n        this.uInt64Field = value;\n      }\n    }\n\n    /// <uwagi/>\n    public float Float\n    {\n      get\n      {\n        return this.floatField;\n      }\n      set\n      {\n        this.floatField = value;\n      }\n    }\n\n    /// <uwagi/>\n    public double Double\n    {\n      get\n      {\n        return this.doubleField;\n      }\n      set\n      {\n        this.doubleField = value;\n      }\n    }\n\n    /// <uwagi/>\n    [System.Xml.Serialization.XmlElementAttribute( IsNullable = true )]\n    public string String\n    {\n      get\n      {\n        return this.stringField;\n      }\n      set\n      {\n        this.stringField = value;\n      }\n    }\n\n    /// <uwagi/>\n    public System.DateTime DateTime\n    {\n      get\n      {\n        return this.dateTimeField;\n      }\n      set\n      {\n        this.dateTimeField = value;\n      }\n    }\n\n    /// <uwagi/>\n    public Guid Guid\n    {\n      get\n      {\n        return this.guidField;\n      }\n      set\n      {\n        this.guidField = value;\n      }\n    }\n\n    /// <uwagi/>\n    [System.Xml.Serialization.XmlElementAttribute( DataType = \"base64Binary\", IsNullable = true )]\n    public byte[] ByteString\n    {\n      get\n      {\n        return this.byteStringField;\n      }\n      set\n      {\n        this.byteStringField = value;\n      }\n    }\n\n    /// <uwagi/>\n    public System.Xml.XmlElement XmlElement\n    {\n      get\n      {\n        return this.xmlElementField;\n      }\n      set\n      {\n        this.xmlElementField = value;\n      }\n    }\n\n    /// <uwagi/>\n    [System.Xml.Serialization.XmlElementAttribute( IsNullable = true )]\n    public NodeId NodeId\n    {\n      get\n      {\n        return this.nodeIdField;\n      }\n      set\n      {\n        this.nodeIdField = value;\n      }\n    }\n\n    /// <uwagi/>\n    [System.Xml.Serialization.XmlElementAttribute( IsNullable = true )]\n    public ExpandedNodeId ExpandedNodeId\n    {\n      get\n      {\n        return this.expandedNodeIdField;\n      }\n      set\n      {\n        this.expandedNodeIdField = value;\n      }\n    }\n\n    /// <uwagi/>\n    public StatusCode StatusCode\n    {\n      get\n      {\n        return this.statusCodeField;\n      }\n      set\n      {\n        this.statusCodeField = value;\n      }\n    }\n\n    /// <uwagi/>\n    [System.Xml.Serialization.XmlElementAttribute( IsNullable = true )]\n    public DiagnosticInfo DiagnosticInfo\n    {\n      get\n      {\n        return this.diagnosticInfoField;\n      }\n      set\n      {\n        this.diagnosticInfoField = value;\n      }\n    }\n\n    /// <uwagi/>\n    [System.Xml.Serialization.XmlElementAttribute( IsNullable = true )]\n    public QualifiedName QualifiedName\n    {\n      get\n      {\n        return this.qualifiedNameField;\n      }\n      set\n      {\n        this.qualifiedNameField = value;\n      }\n    }\n\n    /// <uwagi/>\n    [System.Xml.Serialization.XmlElementAttribute( IsNullable = true )]\n    public LocalizedText LocalizedText\n    {\n      get\n      {\n        return this.localizedTextField;\n      }\n      set\n      {\n        this.localizedTextField = value;\n      }\n    }\n\n    /// <uwagi/>\n    public ExtensionObject ExtensionObject\n    {\n      get\n      {\n        return this.extensionObjectField;\n      }\n      set\n      {\n        this.extensionObjectField = value;\n      }\n    }\n\n    /// <uwagi/>\n    public DataValue DataValue\n    {\n      get\n      {\n        return this.dataValueField;\n      }\n      set\n      {\n        this.dataValueField = value;\n      }\n    }\n\n    /// <uwagi/>\n    public EnumeratedTestType EnumeratedValue\n    {\n      get\n      {\n        return this.enumeratedValueField;\n      }\n      set\n      {\n        this.enumeratedValueField = value;\n      }\n    }\n  }\n\n  /// <uwagi/>\n  [System.CodeDom.Compiler.GeneratedCodeAttribute( \"xsd\", \"2.0.50727.42\" )]\n  [System.SerializableAttribute()]\n  [System.Diagnostics.DebuggerStepThroughAttribute()]\n  [System.ComponentModel.DesignerCategoryAttribute( \"code\" )]\n  [System.Xml.Serialization.XmlTypeAttribute( Namespace = \"http://opcfoundation.org/UA/2008/02/Types.xsd\" )]\n  [System.Xml.Serialization.XmlRootAttribute( Namespace = \"http://opcfoundation.org/UA/2008/02/Types.xsd\", IsNullable = true )]\n  public partial class ListOfScalarTestType\n  {\n\n    private ScalarTestType[] scalarTestTypeField;\n\n    /// <uwagi/>\n    [System.Xml.Serialization.XmlElementAttribute( \"ScalarTestType\", IsNullable = true )]\n    public ScalarTestType[] ScalarTestType\n    {\n      get\n      {\n        return this.scalarTestTypeField;\n      }\n      set\n      {\n        this.scalarTestTypeField = value;\n      }\n    }\n  }\n\n  /// <uwagi/>\n  [System.CodeDom.Compiler.GeneratedCodeAttribute( \"xsd\", \"2.0.50727.42\" )]\n  [System.SerializableAttribute()]\n  [System.Diagnostics.DebuggerStepThroughAttribute()]\n  [System.ComponentModel.DesignerCategoryAttribute( \"code\" )]\n  [System.Xml.Serialization.XmlTypeAttribute( Namespace = \"http://opcfoundation.org/UA/2008/02/Types.xsd\" )]\n  [System.Xml.Serialization.XmlRootAttribute( Namespace = \"http://opcfoundation.org/UA/2008/02/Types.xsd\", IsNullable = false )]\n  public partial class ArrayTestType\n  {\n\n    private bool[] booleansField;\n\n    private sbyte[] sBytesField;\n\n    private short[] int16sField;\n\n    private ushort[] uInt16sField;\n\n    private int[] int32sField;\n\n    private uint[] uInt32sField;\n\n    private long[] int64sField;\n\n    private ulong[] uInt64sField;\n\n    private float[] floatsField;\n\n    private double[] doublesField;\n\n    private string[] stringsField;\n\n    private System.DateTime[] dateTimesField;\n\n    private Guid[] guidsField;\n\n    private byte[][] byteStringsField;\n\n    private System.Xml.XmlElement xmlElementsField;\n\n    private NodeId[] nodeIdsField;\n\n    private ExpandedNodeId[] expandedNodeIdsField;\n\n    private StatusCode[] statusCodesField;\n\n    private DiagnosticInfo[] diagnosticInfosField;\n\n    private QualifiedName[] qualifiedNamesField;\n\n    private LocalizedText[] localizedTextsField;\n\n    private ExtensionObject[] extensionObjectsField;\n\n    private DataValue[] dataValuesField;\n\n    private Variant[] variantsField;\n\n    private System.Nullable<EnumeratedTestType>[] enumeratedValuesField;\n\n    /// <uwagi/>\n    [System.Xml.Serialization.XmlArrayItemAttribute( \"Boolean\", IsNullable = false )]\n    public bool[] Booleans\n    {\n      get\n      {\n        return this.booleansField;\n      }\n      set\n      {\n        this.booleansField = value;\n      }\n    }\n\n    /// <uwagi/>\n    [System.Xml.Serialization.XmlArrayItemAttribute( \"SByte\", IsNullable = false )]\n    public sbyte[] SBytes\n    {\n      get\n      {\n        return this.sBytesField;\n      }\n      set\n      {\n        this.sBytesField = value;\n      }\n    }\n\n    /// <uwagi/>\n    [System.Xml.Serialization.XmlArrayItemAttribute( \"Int16\", IsNullable = false )]\n    public short[] Int16s\n    {\n      get\n      {\n        return this.int16sField;\n      }\n      set\n      {\n        this.int16sField = value;\n      }\n    }\n\n    /// <uwagi/>\n    [System.Xml.Serialization.XmlArrayItemAttribute( \"UInt16\", IsNullable = false )]\n    public ushort[] UInt16s\n    {\n      get\n      {\n        return this.uInt16sField;\n      }\n      set\n      {\n        this.uInt16sField = value;\n      }\n    }\n\n    /// <uwagi/>\n    [System.Xml.Serialization.XmlArrayItemAttribute( \"Int32\", IsNullable = false )]\n    public int[] Int32s\n    {\n      get\n      {\n        return this.int32sField;\n      }\n      set\n      {\n        this.int32sField = value;\n      }\n    }\n\n    /// <uwagi/>\n    [System.Xml.Serialization.XmlArrayItemAttribute( \"UInt32\", IsNullable = false )]\n    public uint[] UInt32s\n    {\n      get\n      {\n        return this.uInt32sField;\n      }\n      set\n      {\n        this.uInt32sField = value;\n      }\n    }\n\n    /// <uwagi/>\n    [System.Xml.Serialization.XmlArrayItemAttribute( \"Int64\", IsNullable = false )]\n    public long[] Int64s\n    {\n      get\n      {\n        return this.int64sField;\n      }\n      set\n      {\n        this.int64sField = value;\n      }\n    }\n\n    /// <uwagi/>\n    [System.Xml.Serialization.XmlArrayItemAttribute( \"UInt64\", IsNullable = false )]\n    public ulong[] UInt64s\n    {\n      get\n      {\n        return this.uInt64sField;\n      }\n      set\n      {\n        this.uInt64sField = value;\n      }\n    }\n\n    /// <uwagi/>\n    [System.Xml.Serialization.XmlArrayItemAttribute( \"Float\", IsNullable = false )]\n    public float[] Floats\n    {\n      get\n      {\n        return this.floatsField;\n      }\n      set\n      {\n        this.floatsField = value;\n      }\n    }\n\n    /// <uwagi/>\n    [System.Xml.Serialization.XmlArrayItemAttribute( \"Double\", IsNullable = false )]\n    public double[] Doubles\n    {\n      get\n      {\n        return this.doublesField;\n      }\n      set\n      {\n        this.doublesField = value;\n      }\n    }\n\n    /// <uwagi/>\n    [System.Xml.Serialization.XmlArrayAttribute( IsNullable = true )]\n    [System.Xml.Serialization.XmlArrayItemAttribute( \"String\", IsNullable = false )]\n    public string[] Strings\n    {\n      get\n      {\n        return this.stringsField;\n      }\n      set\n      {\n        this.stringsField = value;\n      }\n    }\n\n    /// <uwagi/>\n    [System.Xml.Serialization.XmlArrayItemAttribute( \"DateTime\", IsNullable = false )]\n    public System.DateTime[] DateTimes\n    {\n      get\n      {\n        return this.dateTimesField;\n      }\n      set\n      {\n        this.dateTimesField = value;\n      }\n    }\n\n    /// <uwagi/>\n    [System.Xml.Serialization.XmlArrayItemAttribute( IsNullable = false )]\n    public Guid[] Guids\n    {\n      get\n      {\n        return this.guidsField;\n      }\n      set\n      {\n        this.guidsField = value;\n      }\n    }\n\n    /// <uwagi/>\n    [System.Xml.Serialization.XmlArrayAttribute( IsNullable = true )]\n    [System.Xml.Serialization.XmlArrayItemAttribute( \"ByteString\", DataType = \"base64Binary\" )]\n    public byte[][] ByteStrings\n    {\n      get\n      {\n        return this.byteStringsField;\n      }\n      set\n      {\n        this.byteStringsField = value;\n      }\n    }\n\n    /// <uwagi/>\n    public System.Xml.XmlElement XmlElements\n    {\n      get\n      {\n        return this.xmlElementsField;\n      }\n      set\n      {\n        this.xmlElementsField = value;\n      }\n    }\n\n    /// <uwagi/>\n    [System.Xml.Serialization.XmlArrayAttribute( IsNullable = true )]\n    public NodeId[] NodeIds\n    {\n      get\n      {\n        return this.nodeIdsField;\n      }\n      set\n      {\n        this.nodeIdsField = value;\n      }\n    }\n\n    /// <uwagi/>\n    [System.Xml.Serialization.XmlArrayAttribute( IsNullable = true )]\n    public ExpandedNodeId[] ExpandedNodeIds\n    {\n      get\n      {\n        return this.expandedNodeIdsField;\n      }\n      set\n      {\n        this.expandedNodeIdsField = value;\n      }\n    }\n\n    /// <uwagi/>\n    public StatusCode[] StatusCodes\n    {\n      get\n      {\n        return this.statusCodesField;\n      }\n      set\n      {\n        this.statusCodesField = value;\n      }\n    }\n\n    /// <uwagi/>\n    [System.Xml.Serialization.XmlArrayAttribute( IsNullable = true )]\n    public DiagnosticInfo[] DiagnosticInfos\n    {\n      get\n      {\n        return this.diagnosticInfosField;\n      }\n      set\n      {\n        this.diagnosticInfosField = value;\n      }\n    }\n\n    /// <uwagi/>\n    [System.Xml.Serialization.XmlArrayAttribute( IsNullable = true )]\n    public QualifiedName[] QualifiedNames\n    {\n      get\n      {\n        return this.qualifiedNamesField;\n      }\n      set\n      {\n        this.qualifiedNamesField = value;\n      }\n    }\n\n    /// <uwagi/>\n    [System.Xml.Serialization.XmlArrayAttribute( IsNullable = true )]\n    public LocalizedText[] LocalizedTexts\n    {\n      get\n      {\n        return this.localizedTextsField;\n      }\n      set\n      {\n        this.localizedTextsField = value;\n      }\n    }\n\n    /// <uwagi/>\n    public ExtensionObject[] ExtensionObjects\n    {\n      get\n      {\n        return this.extensionObjectsField;\n      }\n      set\n      {\n        this.extensionObjectsField = value;\n      }\n    }\n\n    /// <uwagi/>\n    public DataValue[] DataValues\n    {\n      get\n      {\n        return this.dataValuesField;\n      }\n      set\n      {\n        this.dataValuesField = value;\n      }\n    }\n\n    /// <uwagi/>\n    public Variant[] Variants\n    {\n      get\n      {\n        return this.variantsField;\n      }\n      set\n      {\n        this.variantsField = value;\n      }\n    }\n\n    /// <uwagi/>\n    [System.Xml.Serialization.XmlArrayItemAttribute()]\n    public System.Nullable<EnumeratedTestType>[] EnumeratedValues\n    {\n      get\n      {\n        return this.enumeratedValuesField;\n      }\n      set\n      {\n        this.enumeratedValuesField = value;\n      }\n    }\n  }\n\n  /// <uwagi/>\n  [System.CodeDom.Compiler.GeneratedCodeAttribute( \"xsd\", \"2.0.50727.42\" )]\n  [System.SerializableAttribute()]\n  [System.Diagnostics.DebuggerStepThroughAttribute()]\n  [System.ComponentModel.DesignerCategoryAttribute( \"code\" )]\n  [System.Xml.Serialization.XmlTypeAttribute( Namespace = \"http://opcfoundation.org/UA/2008/02/Types.xsd\" )]\n  [System.Xml.Serialization.XmlRootAttribute( Namespace = \"http://opcfoundation.org/UA/2008/02/Types.xsd\", IsNullable = true )]\n  public partial class ListOfArrayTestType\n  {\n\n    private ArrayTestType[] arrayTestTypeField;\n\n    /// <uwagi/>\n    [System.Xml.Serialization.XmlElementAttribute( \"ArrayTestType\", IsNullable = true )]\n    public ArrayTestType[] ArrayTestType\n    {\n      get\n      {\n        return this.arrayTestTypeField;\n      }\n      set\n      {\n        this.arrayTestTypeField = value;\n      }\n    }\n  }\n\n  /// <uwagi/>\n  [System.CodeDom.Compiler.GeneratedCodeAttribute( \"xsd\", \"2.0.50727.42\" )]\n  [System.SerializableAttribute()]\n  [System.Diagnostics.DebuggerStepThroughAttribute()]\n  [System.ComponentModel.DesignerCategoryAttribute( \"code\" )]\n  [System.Xml.Serialization.XmlTypeAttribute( Namespace = \"http://opcfoundation.org/UA/2008/02/Types.xsd\" )]\n  [System.Xml.Serialization.XmlRootAttribute( Namespace = \"http://opcfoundation.org/UA/2008/02/Types.xsd\", IsNullable = false )]\n  public partial class CompositeTestType\n  {\n\n    private ScalarTestType field1Field;\n\n    private ArrayTestType field2Field;\n\n    /// <uwagi/>\n    public ScalarTestType Field1\n    {\n      get\n      {\n        return this.field1Field;\n      }\n      set\n      {\n        this.field1Field = value;\n      }\n    }\n\n    /// <uwagi/>\n    public ArrayTestType Field2\n    {\n      get\n      {\n        return this.field2Field;\n      }\n      set\n      {\n        this.field2Field = value;\n      }\n    }\n  }\n\n  /// <uwagi/>\n  [System.CodeDom.Compiler.GeneratedCodeAttribute( \"xsd\", \"2.0.50727.42\" )]\n  [System.SerializableAttribute()]\n  [System.Diagnostics.DebuggerStepThroughAttribute()]\n  [System.ComponentModel.DesignerCategoryAttribute( \"code\" )]\n  [System.Xml.Serialization.XmlTypeAttribute( Namespace = \"http://opcfoundation.org/UA/2008/02/Types.xsd\" )]\n  [System.Xml.Serialization.XmlRootAttribute( Namespace = \"http://opcfoundation.org/UA/2008/02/Types.xsd\", IsNullable = false )]\n  public partial class TestStackRequest\n  {\n\n    private RequestHeader requestHeaderField;\n\n    private uint testIdField;\n\n    private int iterationField;\n\n    private Variant inputField;\n\n    /// <uwagi/>\n    public RequestHeader RequestHeader\n    {\n      get\n      {\n        return this.requestHeaderField;\n      }\n      set\n      {\n        this.requestHeaderField = value;\n      }\n    }\n\n    /// <uwagi/>\n    public uint TestId\n    {\n      get\n      {\n        return this.testIdField;\n      }\n      set\n      {\n        this.testIdField = value;\n      }\n    }\n\n    /// <uwagi/>\n    public int Iteration\n    {\n      get\n      {\n        return this.iterationField;\n      }\n      set\n      {\n        this.iterationField = value;\n      }\n    }\n\n    /// <uwagi/>\n    public Variant Input\n    {\n      get\n      {\n        return this.inputField;\n      }\n      set\n      {\n        this.inputField = value;\n      }\n    }\n  }\n\n  /// <uwagi/>\n  [System.CodeDom.Compiler.GeneratedCodeAttribute( \"xsd\", \"2.0.50727.42\" )]\n  [System.SerializableAttribute()]\n  [System.Diagnostics.DebuggerStepThroughAttribute()]\n  [System.ComponentModel.DesignerCategoryAttribute( \"code\" )]\n  [System.Xml.Serialization.XmlTypeAttribute( Namespace = \"http://opcfoundation.org/UA/2008/02/Types.xsd\" )]\n  [System.Xml.Serialization.XmlRootAttribute( Namespace = \"http://opcfoundation.org/UA/2008/02/Types.xsd\", IsNullable = false )]\n  public partial class TestStackResponse\n  {\n\n    private ResponseHeader responseHeaderField;\n\n    private Variant outputField;\n\n    /// <uwagi/>\n    public ResponseHeader ResponseHeader\n    {\n      get\n      {\n        return this.responseHeaderField;\n      }\n      set\n      {\n        this.responseHeaderField = value;\n      }\n    }\n\n    /// <uwagi/>\n    public Variant Output\n    {\n      get\n      {\n        return this.outputField;\n      }\n      set\n      {\n        this.outputField = value;\n      }\n    }\n  }\n\n  /// <uwagi/>\n  [System.CodeDom.Compiler.GeneratedCodeAttribute( \"xsd\", \"2.0.50727.42\" )]\n  [System.SerializableAttribute()]\n  [System.Diagnostics.DebuggerStepThroughAttribute()]\n  [System.ComponentModel.DesignerCategoryAttribute( \"code\" )]\n  [System.Xml.Serialization.XmlTypeAttribute( Namespace = \"http://opcfoundation.org/UA/2008/02/Types.xsd\" )]\n  [System.Xml.Serialization.XmlRootAttribute( Namespace = \"http://opcfoundation.org/UA/2008/02/Types.xsd\", IsNullable = false )]\n  public partial class TestStackExRequest\n  {\n\n    private RequestHeader requestHeaderField;\n\n    private uint testIdField;\n\n    private int iterationField;\n\n    private CompositeTestType inputField;\n\n    /// <uwagi/>\n    public RequestHeader RequestHeader\n    {\n      get\n      {\n        return this.requestHeaderField;\n      }\n      set\n      {\n        this.requestHeaderField = value;\n      }\n    }\n\n    /// <uwagi/>\n    public uint TestId\n    {\n      get\n      {\n        return this.testIdField;\n      }\n      set\n      {\n        this.testIdField = value;\n      }\n    }\n\n    /// <uwagi/>\n    public int Iteration\n    {\n      get\n      {\n        return this.iterationField;\n      }\n      set\n      {\n        this.iterationField = value;\n      }\n    }\n\n    /// <uwagi/>\n    public CompositeTestType Input\n    {\n      get\n      {\n        return this.inputField;\n      }\n      set\n      {\n        this.inputField = value;\n      }\n    }\n  }\n\n  /// <uwagi/>\n  [System.CodeDom.Compiler.GeneratedCodeAttribute( \"xsd\", \"2.0.50727.42\" )]\n  [System.SerializableAttribute()]\n  [System.Diagnostics.DebuggerStepThroughAttribute()]\n  [System.ComponentModel.DesignerCategoryAttribute( \"code\" )]\n  [System.Xml.Serialization.XmlTypeAttribute( Namespace = \"http://opcfoundation.org/UA/2008/02/Types.xsd\" )]\n  [System.Xml.Serialization.XmlRootAttribute( Namespace = \"http://opcfoundation.org/UA/2008/02/Types.xsd\", IsNullable = false )]\n  public partial class TestStackExResponse\n  {\n\n    private ResponseHeader responseHeaderField;\n\n    private CompositeTestType outputField;\n\n    /// <uwagi/>\n    public ResponseHeader ResponseHeader\n    {\n      get\n      {\n        return this.responseHeaderField;\n      }\n      set\n      {\n        this.responseHeaderField = value;\n      }\n    }\n\n    /// <uwagi/>\n    public CompositeTestType Output\n    {\n      get\n      {\n        return this.outputField;\n      }\n      set\n      {\n        this.outputField = value;\n      }\n    }\n  }\n\n  /// <uwagi/>\n  [System.CodeDom.Compiler.GeneratedCodeAttribute( \"xsd\", \"2.0.50727.42\" )]\n  [System.SerializableAttribute()]\n  [System.Diagnostics.DebuggerStepThroughAttribute()]\n  [System.ComponentModel.DesignerCategoryAttribute( \"code\" )]\n  [System.Xml.Serialization.XmlTypeAttribute( Namespace = \"http://opcfoundation.org/UA/2008/02/Types.xsd\" )]\n  [System.Xml.Serialization.XmlRootAttribute( Namespace = \"http://opcfoundation.org/UA/2008/02/Types.xsd\", IsNullable = false )]\n  public partial class FindServersRequest\n  {\n\n    private RequestHeader requestHeaderField;\n\n    private string endpointUrlField;\n\n    private string[] localeIdsField;\n\n    private string[] serverUrisField;\n\n    /// <uwagi/>\n    public RequestHeader RequestHeader\n    {\n      get\n      {\n        return this.requestHeaderField;\n      }\n      set\n      {\n        this.requestHeaderField = value;\n      }\n    }\n\n    /// <uwagi/>\n    [System.Xml.Serialization.XmlElementAttribute( IsNullable = true )]\n    public string EndpointUrl\n    {\n      get\n      {\n        return this.endpointUrlField;\n      }\n      set\n      {\n        this.endpointUrlField = value;\n      }\n    }\n\n    /// <uwagi/>\n    [System.Xml.Serialization.XmlArrayAttribute( IsNullable = true )]\n    [System.Xml.Serialization.XmlArrayItemAttribute( \"String\", IsNullable = false )]\n    public string[] LocaleIds\n    {\n      get\n      {\n        return this.localeIdsField;\n      }\n      set\n      {\n        this.localeIdsField = value;\n      }\n    }\n\n    /// <uwagi/>\n    [System.Xml.Serialization.XmlArrayAttribute( IsNullable = true )]\n    [System.Xml.Serialization.XmlArrayItemAttribute( \"String\", IsNullable = false )]\n    public string[] ServerUris\n    {\n      get\n      {\n        return this.serverUrisField;\n      }\n      set\n      {\n        this.serverUrisField = value;\n      }\n    }\n  }\n\n  /// <uwagi/>\n  [System.CodeDom.Compiler.GeneratedCodeAttribute( \"xsd\", \"2.0.50727.42\" )]\n  [System.SerializableAttribute()]\n  [System.Diagnostics.DebuggerStepThroughAttribute()]\n  [System.ComponentModel.DesignerCategoryAttribute( \"code\" )]\n  [System.Xml.Serialization.XmlTypeAttribute( Namespace = \"http://opcfoundation.org/UA/2008/02/Types.xsd\" )]\n  [System.Xml.Serialization.XmlRootAttribute( Namespace = \"http://opcfoundation.org/UA/2008/02/Types.xsd\", IsNullable = false )]\n  public partial class FindServersResponse\n  {\n\n    private ResponseHeader responseHeaderField;\n\n    private ApplicationDescription[] serversField;\n\n    /// <uwagi/>\n    public ResponseHeader ResponseHeader\n    {\n      get\n      {\n        return this.responseHeaderField;\n      }\n      set\n      {\n        this.responseHeaderField = value;\n      }\n    }\n\n    /// <uwagi/>\n    public ApplicationDescription[] Servers\n    {\n      get\n      {\n        return this.serversField;\n      }\n      set\n      {\n        this.serversField = value;\n      }\n    }\n  }\n\n  /// <uwagi/>\n  [System.CodeDom.Compiler.GeneratedCodeAttribute( \"xsd\", \"2.0.50727.42\" )]\n  [System.SerializableAttribute()]\n  [System.Diagnostics.DebuggerStepThroughAttribute()]\n  [System.ComponentModel.DesignerCategoryAttribute( \"code\" )]\n  [System.Xml.Serialization.XmlTypeAttribute( Namespace = \"http://opcfoundation.org/UA/2008/02/Types.xsd\" )]\n  [System.Xml.Serialization.XmlRootAttribute( Namespace = \"http://opcfoundation.org/UA/2008/02/Types.xsd\", IsNullable = false )]\n  public partial class GetEndpointsRequest\n  {\n\n    private RequestHeader requestHeaderField;\n\n    private string endpointUrlField;\n\n    private string[] localeIdsField;\n\n    private string[] profileUrisField;\n\n    /// <uwagi/>\n    public RequestHeader RequestHeader\n    {\n      get\n      {\n        return this.requestHeaderField;\n      }\n      set\n      {\n        this.requestHeaderField = value;\n      }\n    }\n\n    /// <uwagi/>\n    [System.Xml.Serialization.XmlElementAttribute( IsNullable = true )]\n    public string EndpointUrl\n    {\n      get\n      {\n        return this.endpointUrlField;\n      }\n      set\n      {\n        this.endpointUrlField = value;\n      }\n    }\n\n    /// <uwagi/>\n    [System.Xml.Serialization.XmlArrayAttribute( IsNullable = true )]\n    [System.Xml.Serialization.XmlArrayItemAttribute( \"String\", IsNullable = false )]\n    public string[] LocaleIds\n    {\n      get\n      {\n        return this.localeIdsField;\n      }\n      set\n      {\n        this.localeIdsField = value;\n      }\n    }\n\n    /// <uwagi/>\n    [System.Xml.Serialization.XmlArrayAttribute( IsNullable = true )]\n    [System.Xml.Serialization.XmlArrayItemAttribute( \"String\", IsNullable = false )]\n    public string[] ProfileUris\n    {\n      get\n      {\n        return this.profileUrisField;\n      }\n      set\n      {\n        this.profileUrisField = value;\n      }\n    }\n  }\n\n  /// <uwagi/>\n  [System.CodeDom.Compiler.GeneratedCodeAttribute( \"xsd\", \"2.0.50727.42\" )]\n  [System.SerializableAttribute()]\n  [System.Diagnostics.DebuggerStepThroughAttribute()]\n  [System.ComponentModel.DesignerCategoryAttribute( \"code\" )]\n  [System.Xml.Serialization.XmlTypeAttribute( Namespace = \"http://opcfoundation.org/UA/2008/02/Types.xsd\" )]\n  [System.Xml.Serialization.XmlRootAttribute( Namespace = \"http://opcfoundation.org/UA/2008/02/Types.xsd\", IsNullable = false )]\n  public partial class GetEndpointsResponse\n  {\n\n    private ResponseHeader responseHeaderField;\n\n    private EndpointDescription[] endpointsField;\n\n    /// <uwagi/>\n    public ResponseHeader ResponseHeader\n    {\n      get\n      {\n        return this.responseHeaderField;\n      }\n      set\n      {\n        this.responseHeaderField = value;\n      }\n    }\n\n    /// <uwagi/>\n    public EndpointDescription[] Endpoints\n    {\n      get\n      {\n        return this.endpointsField;\n      }\n      set\n      {\n        this.endpointsField = value;\n      }\n    }\n  }\n\n  /// <uwagi/>\n  [System.CodeDom.Compiler.GeneratedCodeAttribute( \"xsd\", \"2.0.50727.42\" )]\n  [System.SerializableAttribute()]\n  [System.Diagnostics.DebuggerStepThroughAttribute()]\n  [System.ComponentModel.DesignerCategoryAttribute( \"code\" )]\n  [System.Xml.Serialization.XmlTypeAttribute( Namespace = \"http://opcfoundation.org/UA/2008/02/Types.xsd\" )]\n  [System.Xml.Serialization.XmlRootAttribute( Namespace = \"http://opcfoundation.org/UA/2008/02/Types.xsd\", IsNullable = false )]\n  public partial class RegisteredServer\n  {\n\n    private string serverUriField;\n\n    private string productUriField;\n\n    private LocalizedText[] serverNamesField;\n\n    private ApplicationType serverTypeField;\n\n    private string gatewayServerUriField;\n\n    private string[] discoveryUrlsField;\n\n    private string semaphoreFilePathField;\n\n    private bool isOnlineField;\n\n    /// <uwagi/>\n    [System.Xml.Serialization.XmlElementAttribute( IsNullable = true )]\n    public string ServerUri\n    {\n      get\n      {\n        return this.serverUriField;\n      }\n      set\n      {\n        this.serverUriField = value;\n      }\n    }\n\n    /// <uwagi/>\n    [System.Xml.Serialization.XmlElementAttribute( IsNullable = true )]\n    public string ProductUri\n    {\n      get\n      {\n        return this.productUriField;\n      }\n      set\n      {\n        this.productUriField = value;\n      }\n    }\n\n    /// <uwagi/>\n    [System.Xml.Serialization.XmlArrayAttribute( IsNullable = true )]\n    public LocalizedText[] ServerNames\n    {\n      get\n      {\n        return this.serverNamesField;\n      }\n      set\n      {\n        this.serverNamesField = value;\n      }\n    }\n\n    /// <uwagi/>\n    public ApplicationType ServerType\n    {\n      get\n      {\n        return this.serverTypeField;\n      }\n      set\n      {\n        this.serverTypeField = value;\n      }\n    }\n\n    /// <uwagi/>\n    [System.Xml.Serialization.XmlElementAttribute( IsNullable = true )]\n    public string GatewayServerUri\n    {\n      get\n      {\n        return this.gatewayServerUriField;\n      }\n      set\n      {\n        this.gatewayServerUriField = value;\n      }\n    }\n\n    /// <uwagi/>\n    [System.Xml.Serialization.XmlArrayAttribute( IsNullable = true )]\n    [System.Xml.Serialization.XmlArrayItemAttribute( \"String\", IsNullable = false )]\n    public string[] DiscoveryUrls\n    {\n      get\n      {\n        return this.discoveryUrlsField;\n      }\n      set\n      {\n        this.discoveryUrlsField = value;\n      }\n    }\n\n    /// <uwagi/>\n    [System.Xml.Serialization.XmlElementAttribute( IsNullable = true )]\n    public string SemaphoreFilePath\n    {\n      get\n      {\n        return this.semaphoreFilePathField;\n      }\n      set\n      {\n        this.semaphoreFilePathField = value;\n      }\n    }\n\n    /// <uwagi/>\n    public bool IsOnline\n    {\n      get\n      {\n        return this.isOnlineField;\n      }\n      set\n      {\n        this.isOnlineField = value;\n      }\n    }\n  }\n\n  /// <uwagi/>\n  [System.CodeDom.Compiler.GeneratedCodeAttribute( \"xsd\", \"2.0.50727.42\" )]\n  [System.SerializableAttribute()]\n  [System.Diagnostics.DebuggerStepThroughAttribute()]\n  [System.ComponentModel.DesignerCategoryAttribute( \"code\" )]\n  [System.Xml.Serialization.XmlTypeAttribute( Namespace = \"http://opcfoundation.org/UA/2008/02/Types.xsd\" )]\n  [System.Xml.Serialization.XmlRootAttribute( Namespace = \"http://opcfoundation.org/UA/2008/02/Types.xsd\", IsNullable = true )]\n  public partial class ListOfRegisteredServer\n  {\n\n    private RegisteredServer[] registeredServerField;\n\n    /// <uwagi/>\n    [System.Xml.Serialization.XmlElementAttribute( \"RegisteredServer\", IsNullable = true )]\n    public RegisteredServer[] RegisteredServer\n    {\n      get\n      {\n        return this.registeredServerField;\n      }\n      set\n      {\n        this.registeredServerField = value;\n      }\n    }\n  }\n\n  /// <uwagi/>\n  [System.CodeDom.Compiler.GeneratedCodeAttribute( \"xsd\", \"2.0.50727.42\" )]\n  [System.SerializableAttribute()]\n  [System.Diagnostics.DebuggerStepThroughAttribute()]\n  [System.ComponentModel.DesignerCategoryAttribute( \"code\" )]\n  [System.Xml.Serialization.XmlTypeAttribute( Namespace = \"http://opcfoundation.org/UA/2008/02/Types.xsd\" )]\n  [System.Xml.Serialization.XmlRootAttribute( Namespace = \"http://opcfoundation.org/UA/2008/02/Types.xsd\", IsNullable = false )]\n  public partial class RegisterServerRequest\n  {\n\n    private RequestHeader requestHeaderField;\n\n    private RegisteredServer serverField;\n\n    /// <uwagi/>\n    public RequestHeader RequestHeader\n    {\n      get\n      {\n        return this.requestHeaderField;\n      }\n      set\n      {\n        this.requestHeaderField = value;\n      }\n    }\n\n    /// <uwagi/>\n    public RegisteredServer Server\n    {\n      get\n      {\n        return this.serverField;\n      }\n      set\n      {\n        this.serverField = value;\n      }\n    }\n  }\n\n  /// <uwagi/>\n  [System.CodeDom.Compiler.GeneratedCodeAttribute( \"xsd\", \"2.0.50727.42\" )]\n  [System.SerializableAttribute()]\n  [System.Diagnostics.DebuggerStepThroughAttribute()]\n  [System.ComponentModel.DesignerCategoryAttribute( \"code\" )]\n  [System.Xml.Serialization.XmlTypeAttribute( Namespace = \"http://opcfoundation.org/UA/2008/02/Types.xsd\" )]\n  [System.Xml.Serialization.XmlRootAttribute( Namespace = \"http://opcfoundation.org/UA/2008/02/Types.xsd\", IsNullable = false )]\n  public partial class RegisterServerResponse\n  {\n\n    private ResponseHeader responseHeaderField;\n\n    /// <uwagi/>\n    public ResponseHeader ResponseHeader\n    {\n      get\n      {\n        return this.responseHeaderField;\n      }\n      set\n      {\n        this.responseHeaderField = value;\n      }\n    }\n  }\n\n  /// <uwagi/>\n  [System.CodeDom.Compiler.GeneratedCodeAttribute( \"xsd\", \"2.0.50727.42\" )]\n  [System.SerializableAttribute()]\n  [System.Diagnostics.DebuggerStepThroughAttribute()]\n  [System.ComponentModel.DesignerCategoryAttribute( \"code\" )]\n  [System.Xml.Serialization.XmlTypeAttribute( Namespace = \"http://opcfoundation.org/UA/2008/02/Types.xsd\" )]\n  [System.Xml.Serialization.XmlRootAttribute( Namespace = \"http://opcfoundation.org/UA/2008/02/Types.xsd\", IsNullable = false )]\n  public partial class ChannelSecurityToken\n  {\n\n    private uint channelIdField;\n\n    private uint tokenIdField;\n\n    private System.DateTime createdAtField;\n\n    private uint revisedLifetimeField;\n\n    /// <uwagi/>\n    public uint ChannelId\n    {\n      get\n      {\n        return this.channelIdField;\n      }\n      set\n      {\n        this.channelIdField = value;\n      }\n    }\n\n    /// <uwagi/>\n    public uint TokenId\n    {\n      get\n      {\n        return this.tokenIdField;\n      }\n      set\n      {\n        this.tokenIdField = value;\n      }\n    }\n\n    /// <uwagi/>\n    public System.DateTime CreatedAt\n    {\n      get\n      {\n        return this.createdAtField;\n      }\n      set\n      {\n        this.createdAtField = value;\n      }\n    }\n\n    /// <uwagi/>\n    public uint RevisedLifetime\n    {\n      get\n      {\n        return this.revisedLifetimeField;\n      }\n      set\n      {\n        this.revisedLifetimeField = value;\n      }\n    }\n  }\n\n  /// <uwagi/>\n  [System.CodeDom.Compiler.GeneratedCodeAttribute( \"xsd\", \"2.0.50727.42\" )]\n  [System.SerializableAttribute()]\n  [System.Diagnostics.DebuggerStepThroughAttribute()]\n  [System.ComponentModel.DesignerCategoryAttribute( \"code\" )]\n  [System.Xml.Serialization.XmlTypeAttribute( Namespace = \"http://opcfoundation.org/UA/2008/02/Types.xsd\" )]\n  [System.Xml.Serialization.XmlRootAttribute( Namespace = \"http://opcfoundation.org/UA/2008/02/Types.xsd\", IsNullable = false )]\n  public partial class OpenSecureChannelRequest\n  {\n\n    private RequestHeader requestHeaderField;\n\n    private uint clientProtocolVersionField;\n\n    private SecurityTokenRequestType requestTypeField;\n\n    private MessageSecurityMode securityModeField;\n\n    private byte[] clientNonceField;\n\n    private uint requestedLifetimeField;\n\n    /// <uwagi/>\n    public RequestHeader RequestHeader\n    {\n      get\n      {\n        return this.requestHeaderField;\n      }\n      set\n      {\n        this.requestHeaderField = value;\n      }\n    }\n\n    /// <uwagi/>\n    public uint ClientProtocolVersion\n    {\n      get\n      {\n        return this.clientProtocolVersionField;\n      }\n      set\n      {\n        this.clientProtocolVersionField = value;\n      }\n    }\n\n    /// <uwagi/>\n    public SecurityTokenRequestType RequestType\n    {\n      get\n      {\n        return this.requestTypeField;\n      }\n      set\n      {\n        this.requestTypeField = value;\n      }\n    }\n\n    /// <uwagi/>\n    public MessageSecurityMode SecurityMode\n    {\n      get\n      {\n        return this.securityModeField;\n      }\n      set\n      {\n        this.securityModeField = value;\n      }\n    }\n\n    /// <uwagi/>\n    [System.Xml.Serialization.XmlElementAttribute( DataType = \"base64Binary\", IsNullable = true )]\n    public byte[] ClientNonce\n    {\n      get\n      {\n        return this.clientNonceField;\n      }\n      set\n      {\n        this.clientNonceField = value;\n      }\n    }\n\n    /// <uwagi/>\n    public uint RequestedLifetime\n    {\n      get\n      {\n        return this.requestedLifetimeField;\n      }\n      set\n      {\n        this.requestedLifetimeField = value;\n      }\n    }\n  }\n\n  /// <uwagi/>\n  [System.CodeDom.Compiler.GeneratedCodeAttribute( \"xsd\", \"2.0.50727.42\" )]\n  [System.SerializableAttribute()]\n  [System.Diagnostics.DebuggerStepThroughAttribute()]\n  [System.ComponentModel.DesignerCategoryAttribute( \"code\" )]\n  [System.Xml.Serialization.XmlTypeAttribute( Namespace = \"http://opcfoundation.org/UA/2008/02/Types.xsd\" )]\n  [System.Xml.Serialization.XmlRootAttribute( Namespace = \"http://opcfoundation.org/UA/2008/02/Types.xsd\", IsNullable = false )]\n  public partial class OpenSecureChannelResponse\n  {\n\n    private ResponseHeader responseHeaderField;\n\n    private uint serverProtocolVersionField;\n\n    private ChannelSecurityToken securityTokenField;\n\n    private byte[] serverNonceField;\n\n    /// <uwagi/>\n    public ResponseHeader ResponseHeader\n    {\n      get\n      {\n        return this.responseHeaderField;\n      }\n      set\n      {\n        this.responseHeaderField = value;\n      }\n    }\n\n    /// <uwagi/>\n    public uint ServerProtocolVersion\n    {\n      get\n      {\n        return this.serverProtocolVersionField;\n      }\n      set\n      {\n        this.serverProtocolVersionField = value;\n      }\n    }\n\n    /// <uwagi/>\n    public ChannelSecurityToken SecurityToken\n    {\n      get\n      {\n        return this.securityTokenField;\n      }\n      set\n      {\n        this.securityTokenField = value;\n      }\n    }\n\n    /// <uwagi/>\n    [System.Xml.Serialization.XmlElementAttribute( DataType = \"base64Binary\", IsNullable = true )]\n    public byte[] ServerNonce\n    {\n      get\n      {\n        return this.serverNonceField;\n      }\n      set\n      {\n        this.serverNonceField = value;\n      }\n    }\n  }\n\n  /// <uwagi/>\n  [System.CodeDom.Compiler.GeneratedCodeAttribute( \"xsd\", \"2.0.50727.42\" )]\n  [System.SerializableAttribute()]\n  [System.Diagnostics.DebuggerStepThroughAttribute()]\n  [System.ComponentModel.DesignerCategoryAttribute( \"code\" )]\n  [System.Xml.Serialization.XmlTypeAttribute( Namespace = \"http://opcfoundation.org/UA/2008/02/Types.xsd\" )]\n  [System.Xml.Serialization.XmlRootAttribute( Namespace = \"http://opcfoundation.org/UA/2008/02/Types.xsd\", IsNullable = false )]\n  public partial class CloseSecureChannelRequest\n  {\n\n    private RequestHeader requestHeaderField;\n\n    /// <uwagi/>\n    public RequestHeader RequestHeader\n    {\n      get\n      {\n        return this.requestHeaderField;\n      }\n      set\n      {\n        this.requestHeaderField = value;\n      }\n    }\n  }\n\n  /// <uwagi/>\n  [System.CodeDom.Compiler.GeneratedCodeAttribute( \"xsd\", \"2.0.50727.42\" )]\n  [System.SerializableAttribute()]\n  [System.Diagnostics.DebuggerStepThroughAttribute()]\n  [System.ComponentModel.DesignerCategoryAttribute( \"code\" )]\n  [System.Xml.Serialization.XmlTypeAttribute( Namespace = \"http://opcfoundation.org/UA/2008/02/Types.xsd\" )]\n  [System.Xml.Serialization.XmlRootAttribute( Namespace = \"http://opcfoundation.org/UA/2008/02/Types.xsd\", IsNullable = false )]\n  public partial class CloseSecureChannelResponse\n  {\n\n    private ResponseHeader responseHeaderField;\n\n    /// <uwagi/>\n    public ResponseHeader ResponseHeader\n    {\n      get\n      {\n        return this.responseHeaderField;\n      }\n      set\n      {\n        this.responseHeaderField = value;\n      }\n    }\n  }\n\n  /// <uwagi/>\n  [System.CodeDom.Compiler.GeneratedCodeAttribute( \"xsd\", \"2.0.50727.42\" )]\n  [System.SerializableAttribute()]\n  [System.Diagnostics.DebuggerStepThroughAttribute()]\n  [System.ComponentModel.DesignerCategoryAttribute( \"code\" )]\n  [System.Xml.Serialization.XmlTypeAttribute( Namespace = \"http://opcfoundation.org/UA/2008/02/Types.xsd\" )]\n  [System.Xml.Serialization.XmlRootAttribute( Namespace = \"http://opcfoundation.org/UA/2008/02/Types.xsd\", IsNullable = false )]\n  public partial class SignatureData\n  {\n\n    private string algorithmField;\n\n    private byte[] signatureField;\n\n    /// <uwagi/>\n    [System.Xml.Serialization.XmlElementAttribute( IsNullable = true )]\n    public string Algorithm\n    {\n      get\n      {\n        return this.algorithmField;\n      }\n      set\n      {\n        this.algorithmField = value;\n      }\n    }\n\n    /// <uwagi/>\n    [System.Xml.Serialization.XmlElementAttribute( DataType = \"base64Binary\", IsNullable = true )]\n    public byte[] Signature\n    {\n      get\n      {\n        return this.signatureField;\n      }\n      set\n      {\n        this.signatureField = value;\n      }\n    }\n  }\n\n  /// <uwagi/>\n  [System.CodeDom.Compiler.GeneratedCodeAttribute( \"xsd\", \"2.0.50727.42\" )]\n  [System.SerializableAttribute()]\n  [System.Diagnostics.DebuggerStepThroughAttribute()]\n  [System.ComponentModel.DesignerCategoryAttribute( \"code\" )]\n  [System.Xml.Serialization.XmlTypeAttribute( Namespace = \"http://opcfoundation.org/UA/2008/02/Types.xsd\" )]\n  [System.Xml.Serialization.XmlRootAttribute( Namespace = \"http://opcfoundation.org/UA/2008/02/Types.xsd\", IsNullable = false )]\n  public partial class CreateSessionRequest\n  {\n\n    private RequestHeader requestHeaderField;\n\n    private ApplicationDescription clientDescriptionField;\n\n    private string serverUriField;\n\n    private string endpointUrlField;\n\n    private string sessionNameField;\n\n    private byte[] clientNonceField;\n\n    private byte[] clientCertificateField;\n\n    private double requestedSessionTimeoutField;\n\n    private uint maxResponseMessageSizeField;\n\n    /// <uwagi/>\n    public RequestHeader RequestHeader\n    {\n      get\n      {\n        return this.requestHeaderField;\n      }\n      set\n      {\n        this.requestHeaderField = value;\n      }\n    }\n\n    /// <uwagi/>\n    public ApplicationDescription ClientDescription\n    {\n      get\n      {\n        return this.clientDescriptionField;\n      }\n      set\n      {\n        this.clientDescriptionField = value;\n      }\n    }\n\n    /// <uwagi/>\n    [System.Xml.Serialization.XmlElementAttribute( IsNullable = true )]\n    public string ServerUri\n    {\n      get\n      {\n        return this.serverUriField;\n      }\n      set\n      {\n        this.serverUriField = value;\n      }\n    }\n\n    /// <uwagi/>\n    [System.Xml.Serialization.XmlElementAttribute( IsNullable = true )]\n    public string EndpointUrl\n    {\n      get\n      {\n        return this.endpointUrlField;\n      }\n      set\n      {\n        this.endpointUrlField = value;\n      }\n    }\n\n    /// <uwagi/>\n    [System.Xml.Serialization.XmlElementAttribute( IsNullable = true )]\n    public string SessionName\n    {\n      get\n      {\n        return this.sessionNameField;\n      }\n      set\n      {\n        this.sessionNameField = value;\n      }\n    }\n\n    /// <uwagi/>\n    [System.Xml.Serialization.XmlElementAttribute( DataType = \"base64Binary\", IsNullable = true )]\n    public byte[] ClientNonce\n    {\n      get\n      {\n        return this.clientNonceField;\n      }\n      set\n      {\n        this.clientNonceField = value;\n      }\n    }\n\n    /// <uwagi/>\n    [System.Xml.Serialization.XmlElementAttribute( DataType = \"base64Binary\", IsNullable = true )]\n    public byte[] ClientCertificate\n    {\n      get\n      {\n        return this.clientCertificateField;\n      }\n      set\n      {\n        this.clientCertificateField = value;\n      }\n    }\n\n    /// <uwagi/>\n    public double RequestedSessionTimeout\n    {\n      get\n      {\n        return this.requestedSessionTimeoutField;\n      }\n      set\n      {\n        this.requestedSessionTimeoutField = value;\n      }\n    }\n\n    /// <uwagi/>\n    public uint MaxResponseMessageSize\n    {\n      get\n      {\n        return this.maxResponseMessageSizeField;\n      }\n      set\n      {\n        this.maxResponseMessageSizeField = value;\n      }\n    }\n  }\n\n  /// <uwagi/>\n  [System.CodeDom.Compiler.GeneratedCodeAttribute( \"xsd\", \"2.0.50727.42\" )]\n  [System.SerializableAttribute()]\n  [System.Diagnostics.DebuggerStepThroughAttribute()]\n  [System.ComponentModel.DesignerCategoryAttribute( \"code\" )]\n  [System.Xml.Serialization.XmlTypeAttribute( Namespace = \"http://opcfoundation.org/UA/2008/02/Types.xsd\" )]\n  [System.Xml.Serialization.XmlRootAttribute( Namespace = \"http://opcfoundation.org/UA/2008/02/Types.xsd\", IsNullable = false )]\n  public partial class CreateSessionResponse\n  {\n\n    private ResponseHeader responseHeaderField;\n\n    private NodeId sessionIdField;\n\n    private NodeId authenticationTokenField;\n\n    private double revisedSessionTimeoutField;\n\n    private byte[] serverNonceField;\n\n    private byte[] serverCertificateField;\n\n    private EndpointDescription[] serverEndpointsField;\n\n    private SignedSoftwareCertificate[] serverSoftwareCertificatesField;\n\n    private SignatureData serverSignatureField;\n\n    private uint maxRequestMessageSizeField;\n\n    /// <uwagi/>\n    public ResponseHeader ResponseHeader\n    {\n      get\n      {\n        return this.responseHeaderField;\n      }\n      set\n      {\n        this.responseHeaderField = value;\n      }\n    }\n\n    /// <uwagi/>\n    [System.Xml.Serialization.XmlElementAttribute( IsNullable = true )]\n    public NodeId SessionId\n    {\n      get\n      {\n        return this.sessionIdField;\n      }\n      set\n      {\n        this.sessionIdField = value;\n      }\n    }\n\n    /// <uwagi/>\n    [System.Xml.Serialization.XmlElementAttribute( IsNullable = true )]\n    public NodeId AuthenticationToken\n    {\n      get\n      {\n        return this.authenticationTokenField;\n      }\n      set\n      {\n        this.authenticationTokenField = value;\n      }\n    }\n\n    /// <uwagi/>\n    public double RevisedSessionTimeout\n    {\n      get\n      {\n        return this.revisedSessionTimeoutField;\n      }\n      set\n      {\n        this.revisedSessionTimeoutField = value;\n      }\n    }\n\n    /// <uwagi/>\n    [System.Xml.Serialization.XmlElementAttribute( DataType = \"base64Binary\", IsNullable = true )]\n    public byte[] ServerNonce\n    {\n      get\n      {\n        return this.serverNonceField;\n      }\n      set\n      {\n        this.serverNonceField = value;\n      }\n    }\n\n    /// <uwagi/>\n    [System.Xml.Serialization.XmlElementAttribute( DataType = \"base64Binary\", IsNullable = true )]\n    public byte[] ServerCertificate\n    {\n      get\n      {\n        return this.serverCertificateField;\n      }\n      set\n      {\n        this.serverCertificateField = value;\n      }\n    }\n\n    /// <uwagi/>\n    public EndpointDescription[] ServerEndpoints\n    {\n      get\n      {\n        return this.serverEndpointsField;\n      }\n      set\n      {\n        this.serverEndpointsField = value;\n      }\n    }\n\n    /// <uwagi/>\n    public SignedSoftwareCertificate[] ServerSoftwareCertificates\n    {\n      get\n      {\n        return this.serverSoftwareCertificatesField;\n      }\n      set\n      {\n        this.serverSoftwareCertificatesField = value;\n      }\n    }\n\n    /// <uwagi/>\n    public SignatureData ServerSignature\n    {\n      get\n      {\n        return this.serverSignatureField;\n      }\n      set\n      {\n        this.serverSignatureField = value;\n      }\n    }\n\n    /// <uwagi/>\n    public uint MaxRequestMessageSize\n    {\n      get\n      {\n        return this.maxRequestMessageSizeField;\n      }\n      set\n      {\n        this.maxRequestMessageSizeField = value;\n      }\n    }\n  }\n\n  /// <uwagi/>\n  [System.CodeDom.Compiler.GeneratedCodeAttribute( \"xsd\", \"2.0.50727.42\" )]\n  [System.SerializableAttribute()]\n  [System.Diagnostics.DebuggerStepThroughAttribute()]\n  [System.ComponentModel.DesignerCategoryAttribute( \"code\" )]\n  [System.Xml.Serialization.XmlTypeAttribute( Namespace = \"http://opcfoundation.org/UA/2008/02/Types.xsd\" )]\n  [System.Xml.Serialization.XmlRootAttribute( Namespace = \"http://opcfoundation.org/UA/2008/02/Types.xsd\", IsNullable = false )]\n  public partial class ActivateSessionRequest\n  {\n\n    private RequestHeader requestHeaderField;\n\n    private SignatureData clientSignatureField;\n\n    private SignedSoftwareCertificate[] clientSoftwareCertificatesField;\n\n    private string[] localeIdsField;\n\n    private ExtensionObject userIdentityTokenField;\n\n    private SignatureData userTokenSignatureField;\n\n    /// <uwagi/>\n    public RequestHeader RequestHeader\n    {\n      get\n      {\n        return this.requestHeaderField;\n      }\n      set\n      {\n        this.requestHeaderField = value;\n      }\n    }\n\n    /// <uwagi/>\n    public SignatureData ClientSignature\n    {\n      get\n      {\n        return this.clientSignatureField;\n      }\n      set\n      {\n        this.clientSignatureField = value;\n      }\n    }\n\n    /// <uwagi/>\n    public SignedSoftwareCertificate[] ClientSoftwareCertificates\n    {\n      get\n      {\n        return this.clientSoftwareCertificatesField;\n      }\n      set\n      {\n        this.clientSoftwareCertificatesField = value;\n      }\n    }\n\n    /// <uwagi/>\n    [System.Xml.Serialization.XmlArrayAttribute( IsNullable = true )]\n    [System.Xml.Serialization.XmlArrayItemAttribute( \"String\", IsNullable = false )]\n    public string[] LocaleIds\n    {\n      get\n      {\n        return this.localeIdsField;\n      }\n      set\n      {\n        this.localeIdsField = value;\n      }\n    }\n\n    /// <uwagi/>\n    public ExtensionObject UserIdentityToken\n    {\n      get\n      {\n        return this.userIdentityTokenField;\n      }\n      set\n      {\n        this.userIdentityTokenField = value;\n      }\n    }\n\n    /// <uwagi/>\n    public SignatureData UserTokenSignature\n    {\n      get\n      {\n        return this.userTokenSignatureField;\n      }\n      set\n      {\n        this.userTokenSignatureField = value;\n      }\n    }\n  }\n\n  /// <uwagi/>\n  [System.CodeDom.Compiler.GeneratedCodeAttribute( \"xsd\", \"2.0.50727.42\" )]\n  [System.SerializableAttribute()]\n  [System.Diagnostics.DebuggerStepThroughAttribute()]\n  [System.ComponentModel.DesignerCategoryAttribute( \"code\" )]\n  [System.Xml.Serialization.XmlTypeAttribute( Namespace = \"http://opcfoundation.org/UA/2008/02/Types.xsd\" )]\n  [System.Xml.Serialization.XmlRootAttribute( Namespace = \"http://opcfoundation.org/UA/2008/02/Types.xsd\", IsNullable = false )]\n  public partial class ActivateSessionResponse\n  {\n\n    private ResponseHeader responseHeaderField;\n\n    private byte[] serverNonceField;\n\n    private StatusCode[] resultsField;\n\n    private DiagnosticInfo[] diagnosticInfosField;\n\n    /// <uwagi/>\n    public ResponseHeader ResponseHeader\n    {\n      get\n      {\n        return this.responseHeaderField;\n      }\n      set\n      {\n        this.responseHeaderField = value;\n      }\n    }\n\n    /// <uwagi/>\n    [System.Xml.Serialization.XmlElementAttribute( DataType = \"base64Binary\", IsNullable = true )]\n    public byte[] ServerNonce\n    {\n      get\n      {\n        return this.serverNonceField;\n      }\n      set\n      {\n        this.serverNonceField = value;\n      }\n    }\n\n    /// <uwagi/>\n    public StatusCode[] Results\n    {\n      get\n      {\n        return this.resultsField;\n      }\n      set\n      {\n        this.resultsField = value;\n      }\n    }\n\n    /// <uwagi/>\n    [System.Xml.Serialization.XmlArrayAttribute( IsNullable = true )]\n    public DiagnosticInfo[] DiagnosticInfos\n    {\n      get\n      {\n        return this.diagnosticInfosField;\n      }\n      set\n      {\n        this.diagnosticInfosField = value;\n      }\n    }\n  }\n\n  /// <uwagi/>\n  [System.CodeDom.Compiler.GeneratedCodeAttribute( \"xsd\", \"2.0.50727.42\" )]\n  [System.SerializableAttribute()]\n  [System.Diagnostics.DebuggerStepThroughAttribute()]\n  [System.ComponentModel.DesignerCategoryAttribute( \"code\" )]\n  [System.Xml.Serialization.XmlTypeAttribute( Namespace = \"http://opcfoundation.org/UA/2008/02/Types.xsd\" )]\n  [System.Xml.Serialization.XmlRootAttribute( Namespace = \"http://opcfoundation.org/UA/2008/02/Types.xsd\", IsNullable = false )]\n  public partial class CloseSessionRequest\n  {\n\n    private RequestHeader requestHeaderField;\n\n    private bool deleteSubscriptionsField;\n\n    /// <uwagi/>\n    public RequestHeader RequestHeader\n    {\n      get\n      {\n        return this.requestHeaderField;\n      }\n      set\n      {\n        this.requestHeaderField = value;\n      }\n    }\n\n    /// <uwagi/>\n    public bool DeleteSubscriptions\n    {\n      get\n      {\n        return this.deleteSubscriptionsField;\n      }\n      set\n      {\n        this.deleteSubscriptionsField = value;\n      }\n    }\n  }\n\n  /// <uwagi/>\n  [System.CodeDom.Compiler.GeneratedCodeAttribute( \"xsd\", \"2.0.50727.42\" )]\n  [System.SerializableAttribute()]\n  [System.Diagnostics.DebuggerStepThroughAttribute()]\n  [System.ComponentModel.DesignerCategoryAttribute( \"code\" )]\n  [System.Xml.Serialization.XmlTypeAttribute( Namespace = \"http://opcfoundation.org/UA/2008/02/Types.xsd\" )]\n  [System.Xml.Serialization.XmlRootAttribute( Namespace = \"http://opcfoundation.org/UA/2008/02/Types.xsd\", IsNullable = false )]\n  public partial class CloseSessionResponse\n  {\n\n    private ResponseHeader responseHeaderField;\n\n    /// <uwagi/>\n    public ResponseHeader ResponseHeader\n    {\n      get\n      {\n        return this.responseHeaderField;\n      }\n      set\n      {\n        this.responseHeaderField = value;\n      }\n    }\n  }\n\n  /// <uwagi/>\n  [System.CodeDom.Compiler.GeneratedCodeAttribute( \"xsd\", \"2.0.50727.42\" )]\n  [System.SerializableAttribute()]\n  [System.Diagnostics.DebuggerStepThroughAttribute()]\n  [System.ComponentModel.DesignerCategoryAttribute( \"code\" )]\n  [System.Xml.Serialization.XmlTypeAttribute( Namespace = \"http://opcfoundation.org/UA/2008/02/Types.xsd\" )]\n  [System.Xml.Serialization.XmlRootAttribute( Namespace = \"http://opcfoundation.org/UA/2008/02/Types.xsd\", IsNullable = false )]\n  public partial class CancelRequest\n  {\n\n    private RequestHeader requestHeaderField;\n\n    private uint requestHandleField;\n\n    /// <uwagi/>\n    public RequestHeader RequestHeader\n    {\n      get\n      {\n        return this.requestHeaderField;\n      }\n      set\n      {\n        this.requestHeaderField = value;\n      }\n    }\n\n    /// <uwagi/>\n    public uint RequestHandle\n    {\n      get\n      {\n        return this.requestHandleField;\n      }\n      set\n      {\n        this.requestHandleField = value;\n      }\n    }\n  }\n\n  /// <uwagi/>\n  [System.CodeDom.Compiler.GeneratedCodeAttribute( \"xsd\", \"2.0.50727.42\" )]\n  [System.SerializableAttribute()]\n  [System.Diagnostics.DebuggerStepThroughAttribute()]\n  [System.ComponentModel.DesignerCategoryAttribute( \"code\" )]\n  [System.Xml.Serialization.XmlTypeAttribute( Namespace = \"http://opcfoundation.org/UA/2008/02/Types.xsd\" )]\n  [System.Xml.Serialization.XmlRootAttribute( Namespace = \"http://opcfoundation.org/UA/2008/02/Types.xsd\", IsNullable = false )]\n  public partial class CancelResponse\n  {\n\n    private ResponseHeader responseHeaderField;\n\n    private uint cancelCountField;\n\n    /// <uwagi/>\n    public ResponseHeader ResponseHeader\n    {\n      get\n      {\n        return this.responseHeaderField;\n      }\n      set\n      {\n        this.responseHeaderField = value;\n      }\n    }\n\n    /// <uwagi/>\n    public uint CancelCount\n    {\n      get\n      {\n        return this.cancelCountField;\n      }\n      set\n      {\n        this.cancelCountField = value;\n      }\n    }\n  }\n\n  /// <uwagi/>\n  [System.CodeDom.Compiler.GeneratedCodeAttribute( \"xsd\", \"2.0.50727.42\" )]\n  [System.SerializableAttribute()]\n  [System.Diagnostics.DebuggerStepThroughAttribute()]\n  [System.ComponentModel.DesignerCategoryAttribute( \"code\" )]\n  [System.Xml.Serialization.XmlTypeAttribute( Namespace = \"http://opcfoundation.org/UA/2008/02/Types.xsd\" )]\n  [System.Xml.Serialization.XmlRootAttribute( Namespace = \"http://opcfoundation.org/UA/2008/02/Types.xsd\", IsNullable = false )]\n  public partial class AddNodesResult\n  {\n\n    private StatusCode statusCodeField;\n\n    private NodeId addedNodeIdField;\n\n    /// <uwagi/>\n    public StatusCode StatusCode\n    {\n      get\n      {\n        return this.statusCodeField;\n      }\n      set\n      {\n        this.statusCodeField = value;\n      }\n    }\n\n    /// <uwagi/>\n    [System.Xml.Serialization.XmlElementAttribute( IsNullable = true )]\n    public NodeId AddedNodeId\n    {\n      get\n      {\n        return this.addedNodeIdField;\n      }\n      set\n      {\n        this.addedNodeIdField = value;\n      }\n    }\n  }\n\n  /// <uwagi/>\n  [System.CodeDom.Compiler.GeneratedCodeAttribute( \"xsd\", \"2.0.50727.42\" )]\n  [System.SerializableAttribute()]\n  [System.Diagnostics.DebuggerStepThroughAttribute()]\n  [System.ComponentModel.DesignerCategoryAttribute( \"code\" )]\n  [System.Xml.Serialization.XmlTypeAttribute( Namespace = \"http://opcfoundation.org/UA/2008/02/Types.xsd\" )]\n  [System.Xml.Serialization.XmlRootAttribute( Namespace = \"http://opcfoundation.org/UA/2008/02/Types.xsd\", IsNullable = true )]\n  public partial class ListOfAddNodesResult\n  {\n\n    private AddNodesResult[] addNodesResultField;\n\n    /// <uwagi/>\n    [System.Xml.Serialization.XmlElementAttribute( \"AddNodesResult\", IsNullable = true )]\n    public AddNodesResult[] AddNodesResult\n    {\n      get\n      {\n        return this.addNodesResultField;\n      }\n      set\n      {\n        this.addNodesResultField = value;\n      }\n    }\n  }\n\n  /// <uwagi/>\n  [System.CodeDom.Compiler.GeneratedCodeAttribute( \"xsd\", \"2.0.50727.42\" )]\n  [System.SerializableAttribute()]\n  [System.Diagnostics.DebuggerStepThroughAttribute()]\n  [System.ComponentModel.DesignerCategoryAttribute( \"code\" )]\n  [System.Xml.Serialization.XmlTypeAttribute( Namespace = \"http://opcfoundation.org/UA/2008/02/Types.xsd\" )]\n  [System.Xml.Serialization.XmlRootAttribute( Namespace = \"http://opcfoundation.org/UA/2008/02/Types.xsd\", IsNullable = false )]\n  public partial class AddNodesRequest\n  {\n\n    private RequestHeader requestHeaderField;\n\n    private AddNodesItem[] nodesToAddField;\n\n    /// <uwagi/>\n    public RequestHeader RequestHeader\n    {\n      get\n      {\n        return this.requestHeaderField;\n      }\n      set\n      {\n        this.requestHeaderField = value;\n      }\n    }\n\n    /// <uwagi/>\n    public AddNodesItem[] NodesToAdd\n    {\n      get\n      {\n        return this.nodesToAddField;\n      }\n      set\n      {\n        this.nodesToAddField = value;\n      }\n    }\n  }\n\n  /// <uwagi/>\n  [System.CodeDom.Compiler.GeneratedCodeAttribute( \"xsd\", \"2.0.50727.42\" )]\n  [System.SerializableAttribute()]\n  [System.Diagnostics.DebuggerStepThroughAttribute()]\n  [System.ComponentModel.DesignerCategoryAttribute( \"code\" )]\n  [System.Xml.Serialization.XmlTypeAttribute( Namespace = \"http://opcfoundation.org/UA/2008/02/Types.xsd\" )]\n  [System.Xml.Serialization.XmlRootAttribute( Namespace = \"http://opcfoundation.org/UA/2008/02/Types.xsd\", IsNullable = false )]\n  public partial class AddNodesResponse\n  {\n\n    private ResponseHeader responseHeaderField;\n\n    private AddNodesResult[] resultsField;\n\n    private DiagnosticInfo[] diagnosticInfosField;\n\n    /// <uwagi/>\n    public ResponseHeader ResponseHeader\n    {\n      get\n      {\n        return this.responseHeaderField;\n      }\n      set\n      {\n        this.responseHeaderField = value;\n      }\n    }\n\n    /// <uwagi/>\n    public AddNodesResult[] Results\n    {\n      get\n      {\n        return this.resultsField;\n      }\n      set\n      {\n        this.resultsField = value;\n      }\n    }\n\n    /// <uwagi/>\n    [System.Xml.Serialization.XmlArrayAttribute( IsNullable = true )]\n    public DiagnosticInfo[] DiagnosticInfos\n    {\n      get\n      {\n        return this.diagnosticInfosField;\n      }\n      set\n      {\n        this.diagnosticInfosField = value;\n      }\n    }\n  }\n\n  /// <uwagi/>\n  [System.CodeDom.Compiler.GeneratedCodeAttribute( \"xsd\", \"2.0.50727.42\" )]\n  [System.SerializableAttribute()]\n  [System.Diagnostics.DebuggerStepThroughAttribute()]\n  [System.ComponentModel.DesignerCategoryAttribute( \"code\" )]\n  [System.Xml.Serialization.XmlTypeAttribute( Namespace = \"http://opcfoundation.org/UA/2008/02/Types.xsd\" )]\n  [System.Xml.Serialization.XmlRootAttribute( Namespace = \"http://opcfoundation.org/UA/2008/02/Types.xsd\", IsNullable = false )]\n  public partial class AddReferencesRequest\n  {\n\n    private RequestHeader requestHeaderField;\n\n    private AddReferencesItem[] referencesToAddField;\n\n    /// <uwagi/>\n    public RequestHeader RequestHeader\n    {\n      get\n      {\n        return this.requestHeaderField;\n      }\n      set\n      {\n        this.requestHeaderField = value;\n      }\n    }\n\n    /// <uwagi/>\n    public AddReferencesItem[] ReferencesToAdd\n    {\n      get\n      {\n        return this.referencesToAddField;\n      }\n      set\n      {\n        this.referencesToAddField = value;\n      }\n    }\n  }\n\n  /// <uwagi/>\n  [System.CodeDom.Compiler.GeneratedCodeAttribute( \"xsd\", \"2.0.50727.42\" )]\n  [System.SerializableAttribute()]\n  [System.Diagnostics.DebuggerStepThroughAttribute()]\n  [System.ComponentModel.DesignerCategoryAttribute( \"code\" )]\n  [System.Xml.Serialization.XmlTypeAttribute( Namespace = \"http://opcfoundation.org/UA/2008/02/Types.xsd\" )]\n  [System.Xml.Serialization.XmlRootAttribute( Namespace = \"http://opcfoundation.org/UA/2008/02/Types.xsd\", IsNullable = false )]\n  public partial class AddReferencesResponse\n  {\n\n    private ResponseHeader responseHeaderField;\n\n    private StatusCode[] resultsField;\n\n    private DiagnosticInfo[] diagnosticInfosField;\n\n    /// <uwagi/>\n    public ResponseHeader ResponseHeader\n    {\n      get\n      {\n        return this.responseHeaderField;\n      }\n      set\n      {\n        this.responseHeaderField = value;\n      }\n    }\n\n    /// <uwagi/>\n    public StatusCode[] Results\n    {\n      get\n      {\n        return this.resultsField;\n      }\n      set\n      {\n        this.resultsField = value;\n      }\n    }\n\n    /// <uwagi/>\n    [System.Xml.Serialization.XmlArrayAttribute( IsNullable = true )]\n    public DiagnosticInfo[] DiagnosticInfos\n    {\n      get\n      {\n        return this.diagnosticInfosField;\n      }\n      set\n      {\n        this.diagnosticInfosField = value;\n      }\n    }\n  }\n\n  /// <uwagi/>\n  [System.CodeDom.Compiler.GeneratedCodeAttribute( \"xsd\", \"2.0.50727.42\" )]\n  [System.SerializableAttribute()]\n  [System.Diagnostics.DebuggerStepThroughAttribute()]\n  [System.ComponentModel.DesignerCategoryAttribute( \"code\" )]\n  [System.Xml.Serialization.XmlTypeAttribute( Namespace = \"http://opcfoundation.org/UA/2008/02/Types.xsd\" )]\n  [System.Xml.Serialization.XmlRootAttribute( Namespace = \"http://opcfoundation.org/UA/2008/02/Types.xsd\", IsNullable = false )]\n  public partial class DeleteNodesRequest\n  {\n\n    private RequestHeader requestHeaderField;\n\n    private DeleteNodesItem[] nodesToDeleteField;\n\n    /// <uwagi/>\n    public RequestHeader RequestHeader\n    {\n      get\n      {\n        return this.requestHeaderField;\n      }\n      set\n      {\n        this.requestHeaderField = value;\n      }\n    }\n\n    /// <uwagi/>\n    public DeleteNodesItem[] NodesToDelete\n    {\n      get\n      {\n        return this.nodesToDeleteField;\n      }\n      set\n      {\n        this.nodesToDeleteField = value;\n      }\n    }\n  }\n\n  /// <uwagi/>\n  [System.CodeDom.Compiler.GeneratedCodeAttribute( \"xsd\", \"2.0.50727.42\" )]\n  [System.SerializableAttribute()]\n  [System.Diagnostics.DebuggerStepThroughAttribute()]\n  [System.ComponentModel.DesignerCategoryAttribute( \"code\" )]\n  [System.Xml.Serialization.XmlTypeAttribute( Namespace = \"http://opcfoundation.org/UA/2008/02/Types.xsd\" )]\n  [System.Xml.Serialization.XmlRootAttribute( Namespace = \"http://opcfoundation.org/UA/2008/02/Types.xsd\", IsNullable = false )]\n  public partial class DeleteNodesResponse\n  {\n\n    private ResponseHeader responseHeaderField;\n\n    private StatusCode[] resultsField;\n\n    private DiagnosticInfo[] diagnosticInfosField;\n\n    /// <uwagi/>\n    public ResponseHeader ResponseHeader\n    {\n      get\n      {\n        return this.responseHeaderField;\n      }\n      set\n      {\n        this.responseHeaderField = value;\n      }\n    }\n\n    /// <uwagi/>\n    public StatusCode[] Results\n    {\n      get\n      {\n        return this.resultsField;\n      }\n      set\n      {\n        this.resultsField = value;\n      }\n    }\n\n    /// <uwagi/>\n    [System.Xml.Serialization.XmlArrayAttribute( IsNullable = true )]\n    public DiagnosticInfo[] DiagnosticInfos\n    {\n      get\n      {\n        return this.diagnosticInfosField;\n      }\n      set\n      {\n        this.diagnosticInfosField = value;\n      }\n    }\n  }\n\n  /// <uwagi/>\n  [System.CodeDom.Compiler.GeneratedCodeAttribute( \"xsd\", \"2.0.50727.42\" )]\n  [System.SerializableAttribute()]\n  [System.Diagnostics.DebuggerStepThroughAttribute()]\n  [System.ComponentModel.DesignerCategoryAttribute( \"code\" )]\n  [System.Xml.Serialization.XmlTypeAttribute( Namespace = \"http://opcfoundation.org/UA/2008/02/Types.xsd\" )]\n  [System.Xml.Serialization.XmlRootAttribute( Namespace = \"http://opcfoundation.org/UA/2008/02/Types.xsd\", IsNullable = false )]\n  public partial class DeleteReferencesRequest\n  {\n\n    private RequestHeader requestHeaderField;\n\n    private DeleteReferencesItem[] referencesToDeleteField;\n\n    /// <uwagi/>\n    public RequestHeader RequestHeader\n    {\n      get\n      {\n        return this.requestHeaderField;\n      }\n      set\n      {\n        this.requestHeaderField = value;\n      }\n    }\n\n    /// <uwagi/>\n    public DeleteReferencesItem[] ReferencesToDelete\n    {\n      get\n      {\n        return this.referencesToDeleteField;\n      }\n      set\n      {\n        this.referencesToDeleteField = value;\n      }\n    }\n  }\n\n  /// <uwagi/>\n  [System.CodeDom.Compiler.GeneratedCodeAttribute( \"xsd\", \"2.0.50727.42\" )]\n  [System.SerializableAttribute()]\n  [System.Diagnostics.DebuggerStepThroughAttribute()]\n  [System.ComponentModel.DesignerCategoryAttribute( \"code\" )]\n  [System.Xml.Serialization.XmlTypeAttribute( Namespace = \"http://opcfoundation.org/UA/2008/02/Types.xsd\" )]\n  [System.Xml.Serialization.XmlRootAttribute( Namespace = \"http://opcfoundation.org/UA/2008/02/Types.xsd\", IsNullable = false )]\n  public partial class DeleteReferencesResponse\n  {\n\n    private ResponseHeader responseHeaderField;\n\n    private StatusCode[] resultsField;\n\n    private DiagnosticInfo[] diagnosticInfosField;\n\n    /// <uwagi/>\n    public ResponseHeader ResponseHeader\n    {\n      get\n      {\n        return this.responseHeaderField;\n      }\n      set\n      {\n        this.responseHeaderField = value;\n      }\n    }\n\n    /// <uwagi/>\n    public StatusCode[] Results\n    {\n      get\n      {\n        return this.resultsField;\n      }\n      set\n      {\n        this.resultsField = value;\n      }\n    }\n\n    /// <uwagi/>\n    [System.Xml.Serialization.XmlArrayAttribute( IsNullable = true )]\n    public DiagnosticInfo[] DiagnosticInfos\n    {\n      get\n      {\n        return this.diagnosticInfosField;\n      }\n      set\n      {\n        this.diagnosticInfosField = value;\n      }\n    }\n  }\n\n  /// <uwagi/>\n  [System.CodeDom.Compiler.GeneratedCodeAttribute( \"xsd\", \"2.0.50727.42\" )]\n  [System.SerializableAttribute()]\n  [System.Xml.Serialization.XmlTypeAttribute( Namespace = \"http://opcfoundation.org/UA/2008/02/Types.xsd\" )]\n  [System.Xml.Serialization.XmlRootAttribute( Namespace = \"http://opcfoundation.org/UA/2008/02/Types.xsd\", IsNullable = false )]\n  public enum BrowseDirection\n  {\n\n    /// <uwagi/>\n    Forward_0,\n\n    /// <uwagi/>\n    Inverse_1,\n\n    /// <uwagi/>\n    Both_2,\n  }\n\n  /// <uwagi/>\n  [System.CodeDom.Compiler.GeneratedCodeAttribute( \"xsd\", \"2.0.50727.42\" )]\n  [System.SerializableAttribute()]\n  [System.Diagnostics.DebuggerStepThroughAttribute()]\n  [System.ComponentModel.DesignerCategoryAttribute( \"code\" )]\n  [System.Xml.Serialization.XmlTypeAttribute( Namespace = \"http://opcfoundation.org/UA/2008/02/Types.xsd\" )]\n  [System.Xml.Serialization.XmlRootAttribute( Namespace = \"http://opcfoundation.org/UA/2008/02/Types.xsd\", IsNullable = false )]\n  public partial class ViewDescription\n  {\n\n    private NodeId viewIdField;\n\n    private System.DateTime timestampField;\n\n    private uint viewVersionField;\n\n    /// <uwagi/>\n    [System.Xml.Serialization.XmlElementAttribute( IsNullable = true )]\n    public NodeId ViewId\n    {\n      get\n      {\n        return this.viewIdField;\n      }\n      set\n      {\n        this.viewIdField = value;\n      }\n    }\n\n    /// <uwagi/>\n    public System.DateTime Timestamp\n    {\n      get\n      {\n        return this.timestampField;\n      }\n      set\n      {\n        this.timestampField = value;\n      }\n    }\n\n    /// <uwagi/>\n    public uint ViewVersion\n    {\n      get\n      {\n        return this.viewVersionField;\n      }\n      set\n      {\n        this.viewVersionField = value;\n      }\n    }\n  }\n\n  /// <uwagi/>\n  [System.CodeDom.Compiler.GeneratedCodeAttribute( \"xsd\", \"2.0.50727.42\" )]\n  [System.SerializableAttribute()]\n  [System.Diagnostics.DebuggerStepThroughAttribute()]\n  [System.ComponentModel.DesignerCategoryAttribute( \"code\" )]\n  [System.Xml.Serialization.XmlTypeAttribute( Namespace = \"http://opcfoundation.org/UA/2008/02/Types.xsd\" )]\n  [System.Xml.Serialization.XmlRootAttribute( Namespace = \"http://opcfoundation.org/UA/2008/02/Types.xsd\", IsNullable = false )]\n  public partial class BrowseDescription\n  {\n\n    private NodeId nodeIdField;\n\n    private BrowseDirection browseDirectionField;\n\n    private NodeId referenceTypeIdField;\n\n    private bool includeSubtypesField;\n\n    private uint nodeClassMaskField;\n\n    private uint resultMaskField;\n\n    /// <uwagi/>\n    [System.Xml.Serialization.XmlElementAttribute( IsNullable = true )]\n    public NodeId NodeId\n    {\n      get\n      {\n        return this.nodeIdField;\n      }\n      set\n      {\n        this.nodeIdField = value;\n      }\n    }\n\n    /// <uwagi/>\n    public BrowseDirection BrowseDirection\n    {\n      get\n      {\n        return this.browseDirectionField;\n      }\n      set\n      {\n        this.browseDirectionField = value;\n      }\n    }\n\n    /// <uwagi/>\n    [System.Xml.Serialization.XmlElementAttribute( IsNullable = true )]\n    public NodeId ReferenceTypeId\n    {\n      get\n      {\n        return this.referenceTypeIdField;\n      }\n      set\n      {\n        this.referenceTypeIdField = value;\n      }\n    }\n\n    /// <uwagi/>\n    public bool IncludeSubtypes\n    {\n      get\n      {\n        return this.includeSubtypesField;\n      }\n      set\n      {\n        this.includeSubtypesField = value;\n      }\n    }\n\n    /// <uwagi/>\n    public uint NodeClassMask\n    {\n      get\n      {\n        return this.nodeClassMaskField;\n      }\n      set\n      {\n        this.nodeClassMaskField = value;\n      }\n    }\n\n    /// <uwagi/>\n    public uint ResultMask\n    {\n      get\n      {\n        return this.resultMaskField;\n      }\n      set\n      {\n        this.resultMaskField = value;\n      }\n    }\n  }\n\n  /// <uwagi/>\n  [System.CodeDom.Compiler.GeneratedCodeAttribute( \"xsd\", \"2.0.50727.42\" )]\n  [System.SerializableAttribute()]\n  [System.Diagnostics.DebuggerStepThroughAttribute()]\n  [System.ComponentModel.DesignerCategoryAttribute( \"code\" )]\n  [System.Xml.Serialization.XmlTypeAttribute( Namespace = \"http://opcfoundation.org/UA/2008/02/Types.xsd\" )]\n  [System.Xml.Serialization.XmlRootAttribute( Namespace = \"http://opcfoundation.org/UA/2008/02/Types.xsd\", IsNullable = true )]\n  public partial class ListOfBrowseDescription\n  {\n\n    private BrowseDescription[] browseDescriptionField;\n\n    /// <uwagi/>\n    [System.Xml.Serialization.XmlElementAttribute( \"BrowseDescription\", IsNullable = true )]\n    public BrowseDescription[] BrowseDescription\n    {\n      get\n      {\n        return this.browseDescriptionField;\n      }\n      set\n      {\n        this.browseDescriptionField = value;\n      }\n    }\n  }\n\n  /// <uwagi/>\n  [System.CodeDom.Compiler.GeneratedCodeAttribute( \"xsd\", \"2.0.50727.42\" )]\n  [System.SerializableAttribute()]\n  [System.Xml.Serialization.XmlTypeAttribute( Namespace = \"http://opcfoundation.org/UA/2008/02/Types.xsd\" )]\n  [System.Xml.Serialization.XmlRootAttribute( Namespace = \"http://opcfoundation.org/UA/2008/02/Types.xsd\", IsNullable = false )]\n  public enum BrowseResultMask\n  {\n\n    /// <uwagi/>\n    None_0,\n\n    /// <uwagi/>\n    ReferenceTypeId_1,\n\n    /// <uwagi/>\n    IsForward_2,\n\n    /// <uwagi/>\n    NodeClass_4,\n\n    /// <uwagi/>\n    BrowseName_8,\n\n    /// <uwagi/>\n    DisplayName_16,\n\n    /// <uwagi/>\n    TypeDefinition_32,\n\n    /// <uwagi/>\n    All_63,\n\n    /// <uwagi/>\n    ReferenceTypeInfo_3,\n\n    /// <uwagi/>\n    TargetInfo_60,\n  }\n\n  /// <uwagi/>\n  [System.CodeDom.Compiler.GeneratedCodeAttribute( \"xsd\", \"2.0.50727.42\" )]\n  [System.SerializableAttribute()]\n  [System.Diagnostics.DebuggerStepThroughAttribute()]\n  [System.ComponentModel.DesignerCategoryAttribute( \"code\" )]\n  [System.Xml.Serialization.XmlTypeAttribute( Namespace = \"http://opcfoundation.org/UA/2008/02/Types.xsd\" )]\n  [System.Xml.Serialization.XmlRootAttribute( Namespace = \"http://opcfoundation.org/UA/2008/02/Types.xsd\", IsNullable = false )]\n  public partial class ReferenceDescription\n  {\n\n    private NodeId referenceTypeIdField;\n\n    private bool isForwardField;\n\n    private ExpandedNodeId nodeIdField;\n\n    private QualifiedName browseNameField;\n\n    private LocalizedText displayNameField;\n\n    private NodeClass nodeClassField;\n\n    private ExpandedNodeId typeDefinitionField;\n\n    /// <uwagi/>\n    [System.Xml.Serialization.XmlElementAttribute( IsNullable = true )]\n    public NodeId ReferenceTypeId\n    {\n      get\n      {\n        return this.referenceTypeIdField;\n      }\n      set\n      {\n        this.referenceTypeIdField = value;\n      }\n    }\n\n    /// <uwagi/>\n    public bool IsForward\n    {\n      get\n      {\n        return this.isForwardField;\n      }\n      set\n      {\n        this.isForwardField = value;\n      }\n    }\n\n    /// <uwagi/>\n    [System.Xml.Serialization.XmlElementAttribute( IsNullable = true )]\n    public ExpandedNodeId NodeId\n    {\n      get\n      {\n        return this.nodeIdField;\n      }\n      set\n      {\n        this.nodeIdField = value;\n      }\n    }\n\n    /// <uwagi/>\n    [System.Xml.Serialization.XmlElementAttribute( IsNullable = true )]\n    public QualifiedName BrowseName\n    {\n      get\n      {\n        return this.browseNameField;\n      }\n      set\n      {\n        this.browseNameField = value;\n      }\n    }\n\n    /// <uwagi/>\n    [System.Xml.Serialization.XmlElementAttribute( IsNullable = true )]\n    public LocalizedText DisplayName\n    {\n      get\n      {\n        return this.displayNameField;\n      }\n      set\n      {\n        this.displayNameField = value;\n      }\n    }\n\n    /// <uwagi/>\n    public NodeClass NodeClass\n    {\n      get\n      {\n        return this.nodeClassField;\n      }\n      set\n      {\n        this.nodeClassField = value;\n      }\n    }\n\n    /// <uwagi/>\n    [System.Xml.Serialization.XmlElementAttribute( IsNullable = true )]\n    public ExpandedNodeId TypeDefinition\n    {\n      get\n      {\n        return this.typeDefinitionField;\n      }\n      set\n      {\n        this.typeDefinitionField = value;\n      }\n    }\n  }\n\n  /// <uwagi/>\n  [System.CodeDom.Compiler.GeneratedCodeAttribute( \"xsd\", \"2.0.50727.42\" )]\n  [System.SerializableAttribute()]\n  [System.Diagnostics.DebuggerStepThroughAttribute()]\n  [System.ComponentModel.DesignerCategoryAttribute( \"code\" )]\n  [System.Xml.Serialization.XmlTypeAttribute( Namespace = \"http://opcfoundation.org/UA/2008/02/Types.xsd\" )]\n  [System.Xml.Serialization.XmlRootAttribute( Namespace = \"http://opcfoundation.org/UA/2008/02/Types.xsd\", IsNullable = true )]\n  public partial class ListOfReferenceDescription\n  {\n\n    private ReferenceDescription[] referenceDescriptionField;\n\n    /// <uwagi/>\n    [System.Xml.Serialization.XmlElementAttribute( \"ReferenceDescription\", IsNullable = true )]\n    public ReferenceDescription[] ReferenceDescription\n    {\n      get\n      {\n        return this.referenceDescriptionField;\n      }\n      set\n      {\n        this.referenceDescriptionField = value;\n      }\n    }\n  }\n\n  /// <uwagi/>\n  [System.CodeDom.Compiler.GeneratedCodeAttribute( \"xsd\", \"2.0.50727.42\" )]\n  [System.SerializableAttribute()]\n  [System.Diagnostics.DebuggerStepThroughAttribute()]\n  [System.ComponentModel.DesignerCategoryAttribute( \"code\" )]\n  [System.Xml.Serialization.XmlTypeAttribute( Namespace = \"http://opcfoundation.org/UA/2008/02/Types.xsd\" )]\n  [System.Xml.Serialization.XmlRootAttribute( Namespace = \"http://opcfoundation.org/UA/2008/02/Types.xsd\", IsNullable = false )]\n  public partial class BrowseResult\n  {\n\n    private StatusCode statusCodeField;\n\n    private byte[] continuationPointField;\n\n    private ReferenceDescription[] referencesField;\n\n    /// <uwagi/>\n    public StatusCode StatusCode\n    {\n      get\n      {\n        return this.statusCodeField;\n      }\n      set\n      {\n        this.statusCodeField = value;\n      }\n    }\n\n    /// <uwagi/>\n    [System.Xml.Serialization.XmlElementAttribute( DataType = \"base64Binary\", IsNullable = true )]\n    public byte[] ContinuationPoint\n    {\n      get\n      {\n        return this.continuationPointField;\n      }\n      set\n      {\n        this.continuationPointField = value;\n      }\n    }\n\n    /// <uwagi/>\n    public ReferenceDescription[] References\n    {\n      get\n      {\n        return this.referencesField;\n      }\n      set\n      {\n        this.referencesField = value;\n      }\n    }\n  }\n\n  /// <uwagi/>\n  [System.CodeDom.Compiler.GeneratedCodeAttribute( \"xsd\", \"2.0.50727.42\" )]\n  [System.SerializableAttribute()]\n  [System.Diagnostics.DebuggerStepThroughAttribute()]\n  [System.ComponentModel.DesignerCategoryAttribute( \"code\" )]\n  [System.Xml.Serialization.XmlTypeAttribute( Namespace = \"http://opcfoundation.org/UA/2008/02/Types.xsd\" )]\n  [System.Xml.Serialization.XmlRootAttribute( Namespace = \"http://opcfoundation.org/UA/2008/02/Types.xsd\", IsNullable = true )]\n  public partial class ListOfBrowseResult\n  {\n\n    private BrowseResult[] browseResultField;\n\n    /// <uwagi/>\n    [System.Xml.Serialization.XmlElementAttribute( \"BrowseResult\", IsNullable = true )]\n    public BrowseResult[] BrowseResult\n    {\n      get\n      {\n        return this.browseResultField;\n      }\n      set\n      {\n        this.browseResultField = value;\n      }\n    }\n  }\n\n  /// <uwagi/>\n  [System.CodeDom.Compiler.GeneratedCodeAttribute( \"xsd\", \"2.0.50727.42\" )]\n  [System.SerializableAttribute()]\n  [System.Diagnostics.DebuggerStepThroughAttribute()]\n  [System.ComponentModel.DesignerCategoryAttribute( \"code\" )]\n  [System.Xml.Serialization.XmlTypeAttribute( Namespace = \"http://opcfoundation.org/UA/2008/02/Types.xsd\" )]\n  [System.Xml.Serialization.XmlRootAttribute( Namespace = \"http://opcfoundation.org/UA/2008/02/Types.xsd\", IsNullable = false )]\n  public partial class BrowseRequest\n  {\n\n    private RequestHeader requestHeaderField;\n\n    private ViewDescription viewField;\n\n    private uint requestedMaxReferencesPerNodeField;\n\n    private BrowseDescription[] nodesToBrowseField;\n\n    /// <uwagi/>\n    public RequestHeader RequestHeader\n    {\n      get\n      {\n        return this.requestHeaderField;\n      }\n      set\n      {\n        this.requestHeaderField = value;\n      }\n    }\n\n    /// <uwagi/>\n    public ViewDescription View\n    {\n      get\n      {\n        return this.viewField;\n      }\n      set\n      {\n        this.viewField = value;\n      }\n    }\n\n    /// <uwagi/>\n    public uint RequestedMaxReferencesPerNode\n    {\n      get\n      {\n        return this.requestedMaxReferencesPerNodeField;\n      }\n      set\n      {\n        this.requestedMaxReferencesPerNodeField = value;\n      }\n    }\n\n    /// <uwagi/>\n    public BrowseDescription[] NodesToBrowse\n    {\n      get\n      {\n        return this.nodesToBrowseField;\n      }\n      set\n      {\n        this.nodesToBrowseField = value;\n      }\n    }\n  }\n\n  /// <uwagi/>\n  [System.CodeDom.Compiler.GeneratedCodeAttribute( \"xsd\", \"2.0.50727.42\" )]\n  [System.SerializableAttribute()]\n  [System.Diagnostics.DebuggerStepThroughAttribute()]\n  [System.ComponentModel.DesignerCategoryAttribute( \"code\" )]\n  [System.Xml.Serialization.XmlTypeAttribute( Namespace = \"http://opcfoundation.org/UA/2008/02/Types.xsd\" )]\n  [System.Xml.Serialization.XmlRootAttribute( Namespace = \"http://opcfoundation.org/UA/2008/02/Types.xsd\", IsNullable = false )]\n  public partial class BrowseResponse\n  {\n\n    private ResponseHeader responseHeaderField;\n\n    private BrowseResult[] resultsField;\n\n    private DiagnosticInfo[] diagnosticInfosField;\n\n    /// <uwagi/>\n    public ResponseHeader ResponseHeader\n    {\n      get\n      {\n        return this.responseHeaderField;\n      }\n      set\n      {\n        this.responseHeaderField = value;\n      }\n    }\n\n    /// <uwagi/>\n    public BrowseResult[] Results\n    {\n      get\n      {\n        return this.resultsField;\n      }\n      set\n      {\n        this.resultsField = value;\n      }\n    }\n\n    /// <uwagi/>\n    [System.Xml.Serialization.XmlArrayAttribute( IsNullable = true )]\n    public DiagnosticInfo[] DiagnosticInfos\n    {\n      get\n      {\n        return this.diagnosticInfosField;\n      }\n      set\n      {\n        this.diagnosticInfosField = value;\n      }\n    }\n  }\n\n  /// <uwagi/>\n  [System.CodeDom.Compiler.GeneratedCodeAttribute( \"xsd\", \"2.0.50727.42\" )]\n  [System.SerializableAttribute()]\n  [System.Diagnostics.DebuggerStepThroughAttribute()]\n  [System.ComponentModel.DesignerCategoryAttribute( \"code\" )]\n  [System.Xml.Serialization.XmlTypeAttribute( Namespace = \"http://opcfoundation.org/UA/2008/02/Types.xsd\" )]\n  [System.Xml.Serialization.XmlRootAttribute( Namespace = \"http://opcfoundation.org/UA/2008/02/Types.xsd\", IsNullable = false )]\n  public partial class BrowseNextRequest\n  {\n\n    private RequestHeader requestHeaderField;\n\n    private bool releaseContinuationPointsField;\n\n    private byte[][] continuationPointsField;\n\n    /// <uwagi/>\n    public RequestHeader RequestHeader\n    {\n      get\n      {\n        return this.requestHeaderField;\n      }\n      set\n      {\n        this.requestHeaderField = value;\n      }\n    }\n\n    /// <uwagi/>\n    public bool ReleaseContinuationPoints\n    {\n      get\n      {\n        return this.releaseContinuationPointsField;\n      }\n      set\n      {\n        this.releaseContinuationPointsField = value;\n      }\n    }\n\n    /// <uwagi/>\n    [System.Xml.Serialization.XmlArrayAttribute( IsNullable = true )]\n    [System.Xml.Serialization.XmlArrayItemAttribute( \"ByteString\", DataType = \"base64Binary\" )]\n    public byte[][] ContinuationPoints\n    {\n      get\n      {\n        return this.continuationPointsField;\n      }\n      set\n      {\n        this.continuationPointsField = value;\n      }\n    }\n  }\n\n  /// <uwagi/>\n  [System.CodeDom.Compiler.GeneratedCodeAttribute( \"xsd\", \"2.0.50727.42\" )]\n  [System.SerializableAttribute()]\n  [System.Diagnostics.DebuggerStepThroughAttribute()]\n  [System.ComponentModel.DesignerCategoryAttribute( \"code\" )]\n  [System.Xml.Serialization.XmlTypeAttribute( Namespace = \"http://opcfoundation.org/UA/2008/02/Types.xsd\" )]\n  [System.Xml.Serialization.XmlRootAttribute( Namespace = \"http://opcfoundation.org/UA/2008/02/Types.xsd\", IsNullable = false )]\n  public partial class BrowseNextResponse\n  {\n\n    private ResponseHeader responseHeaderField;\n\n    private BrowseResult[] resultsField;\n\n    private DiagnosticInfo[] diagnosticInfosField;\n\n    /// <uwagi/>\n    public ResponseHeader ResponseHeader\n    {\n      get\n      {\n        return this.responseHeaderField;\n      }\n      set\n      {\n        this.responseHeaderField = value;\n      }\n    }\n\n    /// <uwagi/>\n    public BrowseResult[] Results\n    {\n      get\n      {\n        return this.resultsField;\n      }\n      set\n      {\n        this.resultsField = value;\n      }\n    }\n\n    /// <uwagi/>\n    [System.Xml.Serialization.XmlArrayAttribute( IsNullable = true )]\n    public DiagnosticInfo[] DiagnosticInfos\n    {\n      get\n      {\n        return this.diagnosticInfosField;\n      }\n      set\n      {\n        this.diagnosticInfosField = value;\n      }\n    }\n  }\n\n  /// <uwagi/>\n  [System.CodeDom.Compiler.GeneratedCodeAttribute( \"xsd\", \"2.0.50727.42\" )]\n  [System.SerializableAttribute()]\n  [System.Diagnostics.DebuggerStepThroughAttribute()]\n  [System.ComponentModel.DesignerCategoryAttribute( \"code\" )]\n  [System.Xml.Serialization.XmlTypeAttribute( Namespace = \"http://opcfoundation.org/UA/2008/02/Types.xsd\" )]\n  [System.Xml.Serialization.XmlRootAttribute( Namespace = \"http://opcfoundation.org/UA/2008/02/Types.xsd\", IsNullable = false )]\n  public partial class RelativePathElement\n  {\n\n    private NodeId referenceTypeIdField;\n\n    private bool isInverseField;\n\n    private bool includeSubtypesField;\n\n    private QualifiedName targetNameField;\n\n    /// <uwagi/>\n    [System.Xml.Serialization.XmlElementAttribute( IsNullable = true )]\n    public NodeId ReferenceTypeId\n    {\n      get\n      {\n        return this.referenceTypeIdField;\n      }\n      set\n      {\n        this.referenceTypeIdField = value;\n      }\n    }\n\n    /// <uwagi/>\n    public bool IsInverse\n    {\n      get\n      {\n        return this.isInverseField;\n      }\n      set\n      {\n        this.isInverseField = value;\n      }\n    }\n\n    /// <uwagi/>\n    public bool IncludeSubtypes\n    {\n      get\n      {\n        return this.includeSubtypesField;\n      }\n      set\n      {\n        this.includeSubtypesField = value;\n      }\n    }\n\n    /// <uwagi/>\n    [System.Xml.Serialization.XmlElementAttribute( IsNullable = true )]\n    public QualifiedName TargetName\n    {\n      get\n      {\n        return this.targetNameField;\n      }\n      set\n      {\n        this.targetNameField = value;\n      }\n    }\n  }\n\n  /// <uwagi/>\n  [System.CodeDom.Compiler.GeneratedCodeAttribute( \"xsd\", \"2.0.50727.42\" )]\n  [System.SerializableAttribute()]\n  [System.Diagnostics.DebuggerStepThroughAttribute()]\n  [System.ComponentModel.DesignerCategoryAttribute( \"code\" )]\n  [System.Xml.Serialization.XmlTypeAttribute( Namespace = \"http://opcfoundation.org/UA/2008/02/Types.xsd\" )]\n  [System.Xml.Serialization.XmlRootAttribute( Namespace = \"http://opcfoundation.org/UA/2008/02/Types.xsd\", IsNullable = true )]\n  public partial class ListOfRelativePathElement\n  {\n\n    private RelativePathElement[] relativePathElementField;\n\n    /// <uwagi/>\n    [System.Xml.Serialization.XmlElementAttribute( \"RelativePathElement\", IsNullable = true )]\n    public RelativePathElement[] RelativePathElement\n    {\n      get\n      {\n        return this.relativePathElementField;\n      }\n      set\n      {\n        this.relativePathElementField = value;\n      }\n    }\n  }\n\n  /// <uwagi/>\n  [System.CodeDom.Compiler.GeneratedCodeAttribute( \"xsd\", \"2.0.50727.42\" )]\n  [System.SerializableAttribute()]\n  [System.Diagnostics.DebuggerStepThroughAttribute()]\n  [System.ComponentModel.DesignerCategoryAttribute( \"code\" )]\n  [System.Xml.Serialization.XmlTypeAttribute( Namespace = \"http://opcfoundation.org/UA/2008/02/Types.xsd\" )]\n  [System.Xml.Serialization.XmlRootAttribute( Namespace = \"http://opcfoundation.org/UA/2008/02/Types.xsd\", IsNullable = false )]\n  public partial class RelativePath\n  {\n\n    private RelativePathElement[] elementsField;\n\n    /// <uwagi/>\n    public RelativePathElement[] Elements\n    {\n      get\n      {\n        return this.elementsField;\n      }\n      set\n      {\n        this.elementsField = value;\n      }\n    }\n  }\n\n  /// <uwagi/>\n  [System.CodeDom.Compiler.GeneratedCodeAttribute( \"xsd\", \"2.0.50727.42\" )]\n  [System.SerializableAttribute()]\n  [System.Diagnostics.DebuggerStepThroughAttribute()]\n  [System.ComponentModel.DesignerCategoryAttribute( \"code\" )]\n  [System.Xml.Serialization.XmlTypeAttribute( Namespace = \"http://opcfoundation.org/UA/2008/02/Types.xsd\" )]\n  [System.Xml.Serialization.XmlRootAttribute( Namespace = \"http://opcfoundation.org/UA/2008/02/Types.xsd\", IsNullable = false )]\n  public partial class BrowsePath\n  {\n\n    private NodeId startingNodeField;\n\n    private RelativePath relativePathField;\n\n    /// <uwagi/>\n    [System.Xml.Serialization.XmlElementAttribute( IsNullable = true )]\n    public NodeId StartingNode\n    {\n      get\n      {\n        return this.startingNodeField;\n      }\n      set\n      {\n        this.startingNodeField = value;\n      }\n    }\n\n    /// <uwagi/>\n    public RelativePath RelativePath\n    {\n      get\n      {\n        return this.relativePathField;\n      }\n      set\n      {\n        this.relativePathField = value;\n      }\n    }\n  }\n\n  /// <uwagi/>\n  [System.CodeDom.Compiler.GeneratedCodeAttribute( \"xsd\", \"2.0.50727.42\" )]\n  [System.SerializableAttribute()]\n  [System.Diagnostics.DebuggerStepThroughAttribute()]\n  [System.ComponentModel.DesignerCategoryAttribute( \"code\" )]\n  [System.Xml.Serialization.XmlTypeAttribute( Namespace = \"http://opcfoundation.org/UA/2008/02/Types.xsd\" )]\n  [System.Xml.Serialization.XmlRootAttribute( Namespace = \"http://opcfoundation.org/UA/2008/02/Types.xsd\", IsNullable = true )]\n  public partial class ListOfBrowsePath\n  {\n\n    private BrowsePath[] browsePathField;\n\n    /// <uwagi/>\n    [System.Xml.Serialization.XmlElementAttribute( \"BrowsePath\", IsNullable = true )]\n    public BrowsePath[] BrowsePath\n    {\n      get\n      {\n        return this.browsePathField;\n      }\n      set\n      {\n        this.browsePathField = value;\n      }\n    }\n  }\n\n  /// <uwagi/>\n  [System.CodeDom.Compiler.GeneratedCodeAttribute( \"xsd\", \"2.0.50727.42\" )]\n  [System.SerializableAttribute()]\n  [System.Diagnostics.DebuggerStepThroughAttribute()]\n  [System.ComponentModel.DesignerCategoryAttribute( \"code\" )]\n  [System.Xml.Serialization.XmlTypeAttribute( Namespace = \"http://opcfoundation.org/UA/2008/02/Types.xsd\" )]\n  [System.Xml.Serialization.XmlRootAttribute( Namespace = \"http://opcfoundation.org/UA/2008/02/Types.xsd\", IsNullable = false )]\n  public partial class BrowsePathTarget\n  {\n\n    private ExpandedNodeId targetIdField;\n\n    private uint remainingPathIndexField;\n\n    /// <uwagi/>\n    [System.Xml.Serialization.XmlElementAttribute( IsNullable = true )]\n    public ExpandedNodeId TargetId\n    {\n      get\n      {\n        return this.targetIdField;\n      }\n      set\n      {\n        this.targetIdField = value;\n      }\n    }\n\n    /// <uwagi/>\n    public uint RemainingPathIndex\n    {\n      get\n      {\n        return this.remainingPathIndexField;\n      }\n      set\n      {\n        this.remainingPathIndexField = value;\n      }\n    }\n  }\n\n  /// <uwagi/>\n  [System.CodeDom.Compiler.GeneratedCodeAttribute( \"xsd\", \"2.0.50727.42\" )]\n  [System.SerializableAttribute()]\n  [System.Diagnostics.DebuggerStepThroughAttribute()]\n  [System.ComponentModel.DesignerCategoryAttribute( \"code\" )]\n  [System.Xml.Serialization.XmlTypeAttribute( Namespace = \"http://opcfoundation.org/UA/2008/02/Types.xsd\" )]\n  [System.Xml.Serialization.XmlRootAttribute( Namespace = \"http://opcfoundation.org/UA/2008/02/Types.xsd\", IsNullable = true )]\n  public partial class ListOfBrowsePathTarget\n  {\n\n    private BrowsePathTarget[] browsePathTargetField;\n\n    /// <uwagi/>\n    [System.Xml.Serialization.XmlElementAttribute( \"BrowsePathTarget\", IsNullable = true )]\n    public BrowsePathTarget[] BrowsePathTarget\n    {\n      get\n      {\n        return this.browsePathTargetField;\n      }\n      set\n      {\n        this.browsePathTargetField = value;\n      }\n    }\n  }\n\n  /// <uwagi/>\n  [System.CodeDom.Compiler.GeneratedCodeAttribute( \"xsd\", \"2.0.50727.42\" )]\n  [System.SerializableAttribute()]\n  [System.Diagnostics.DebuggerStepThroughAttribute()]\n  [System.ComponentModel.DesignerCategoryAttribute( \"code\" )]\n  [System.Xml.Serialization.XmlTypeAttribute( Namespace = \"http://opcfoundation.org/UA/2008/02/Types.xsd\" )]\n  [System.Xml.Serialization.XmlRootAttribute( Namespace = \"http://opcfoundation.org/UA/2008/02/Types.xsd\", IsNullable = false )]\n  public partial class BrowsePathResult\n  {\n\n    private StatusCode statusCodeField;\n\n    private BrowsePathTarget[] targetsField;\n\n    /// <uwagi/>\n    public StatusCode StatusCode\n    {\n      get\n      {\n        return this.statusCodeField;\n      }\n      set\n      {\n        this.statusCodeField = value;\n      }\n    }\n\n    /// <uwagi/>\n    public BrowsePathTarget[] Targets\n    {\n      get\n      {\n        return this.targetsField;\n      }\n      set\n      {\n        this.targetsField = value;\n      }\n    }\n  }\n\n  /// <uwagi/>\n  [System.CodeDom.Compiler.GeneratedCodeAttribute( \"xsd\", \"2.0.50727.42\" )]\n  [System.SerializableAttribute()]\n  [System.Diagnostics.DebuggerStepThroughAttribute()]\n  [System.ComponentModel.DesignerCategoryAttribute( \"code\" )]\n  [System.Xml.Serialization.XmlTypeAttribute( Namespace = \"http://opcfoundation.org/UA/2008/02/Types.xsd\" )]\n  [System.Xml.Serialization.XmlRootAttribute( Namespace = \"http://opcfoundation.org/UA/2008/02/Types.xsd\", IsNullable = true )]\n  public partial class ListOfBrowsePathResult\n  {\n\n    private BrowsePathResult[] browsePathResultField;\n\n    /// <uwagi/>\n    [System.Xml.Serialization.XmlElementAttribute( \"BrowsePathResult\", IsNullable = true )]\n    public BrowsePathResult[] BrowsePathResult\n    {\n      get\n      {\n        return this.browsePathResultField;\n      }\n      set\n      {\n        this.browsePathResultField = value;\n      }\n    }\n  }\n\n  /// <uwagi/>\n  [System.CodeDom.Compiler.GeneratedCodeAttribute( \"xsd\", \"2.0.50727.42\" )]\n  [System.SerializableAttribute()]\n  [System.Diagnostics.DebuggerStepThroughAttribute()]\n  [System.ComponentModel.DesignerCategoryAttribute( \"code\" )]\n  [System.Xml.Serialization.XmlTypeAttribute( Namespace = \"http://opcfoundation.org/UA/2008/02/Types.xsd\" )]\n  [System.Xml.Serialization.XmlRootAttribute( Namespace = \"http://opcfoundation.org/UA/2008/02/Types.xsd\", IsNullable = false )]\n  public partial class TranslateBrowsePathsToNodeIdsRequest\n  {\n\n    private RequestHeader requestHeaderField;\n\n    private BrowsePath[] browsePathsField;\n\n    /// <uwagi/>\n    public RequestHeader RequestHeader\n    {\n      get\n      {\n        return this.requestHeaderField;\n      }\n      set\n      {\n        this.requestHeaderField = value;\n      }\n    }\n\n    /// <uwagi/>\n    public BrowsePath[] BrowsePaths\n    {\n      get\n      {\n        return this.browsePathsField;\n      }\n      set\n      {\n        this.browsePathsField = value;\n      }\n    }\n  }\n\n  /// <uwagi/>\n  [System.CodeDom.Compiler.GeneratedCodeAttribute( \"xsd\", \"2.0.50727.42\" )]\n  [System.SerializableAttribute()]\n  [System.Diagnostics.DebuggerStepThroughAttribute()]\n  [System.ComponentModel.DesignerCategoryAttribute( \"code\" )]\n  [System.Xml.Serialization.XmlTypeAttribute( Namespace = \"http://opcfoundation.org/UA/2008/02/Types.xsd\" )]\n  [System.Xml.Serialization.XmlRootAttribute( Namespace = \"http://opcfoundation.org/UA/2008/02/Types.xsd\", IsNullable = false )]\n  public partial class TranslateBrowsePathsToNodeIdsResponse\n  {\n\n    private ResponseHeader responseHeaderField;\n\n    private BrowsePathResult[] resultsField;\n\n    private DiagnosticInfo[] diagnosticInfosField;\n\n    /// <uwagi/>\n    public ResponseHeader ResponseHeader\n    {\n      get\n      {\n        return this.responseHeaderField;\n      }\n      set\n      {\n        this.responseHeaderField = value;\n      }\n    }\n\n    /// <uwagi/>\n    public BrowsePathResult[] Results\n    {\n      get\n      {\n        return this.resultsField;\n      }\n      set\n      {\n        this.resultsField = value;\n      }\n    }\n\n    /// <uwagi/>\n    [System.Xml.Serialization.XmlArrayAttribute( IsNullable = true )]\n    public DiagnosticInfo[] DiagnosticInfos\n    {\n      get\n      {\n        return this.diagnosticInfosField;\n      }\n      set\n      {\n        this.diagnosticInfosField = value;\n      }\n    }\n  }\n\n  /// <uwagi/>\n  [System.CodeDom.Compiler.GeneratedCodeAttribute( \"xsd\", \"2.0.50727.42\" )]\n  [System.SerializableAttribute()]\n  [System.Diagnostics.DebuggerStepThroughAttribute()]\n  [System.ComponentModel.DesignerCategoryAttribute( \"code\" )]\n  [System.Xml.Serialization.XmlTypeAttribute( Namespace = \"http://opcfoundation.org/UA/2008/02/Types.xsd\" )]\n  [System.Xml.Serialization.XmlRootAttribute( Namespace = \"http://opcfoundation.org/UA/2008/02/Types.xsd\", IsNullable = false )]\n  public partial class RegisterNodesRequest\n  {\n\n    private RequestHeader requestHeaderField;\n\n    private NodeId[] nodesToRegisterField;\n\n    /// <uwagi/>\n    public RequestHeader RequestHeader\n    {\n      get\n      {\n        return this.requestHeaderField;\n      }\n      set\n      {\n        this.requestHeaderField = value;\n      }\n    }\n\n    /// <uwagi/>\n    [System.Xml.Serialization.XmlArrayAttribute( IsNullable = true )]\n    public NodeId[] NodesToRegister\n    {\n      get\n      {\n        return this.nodesToRegisterField;\n      }\n      set\n      {\n        this.nodesToRegisterField = value;\n      }\n    }\n  }\n\n  /// <uwagi/>\n  [System.CodeDom.Compiler.GeneratedCodeAttribute( \"xsd\", \"2.0.50727.42\" )]\n  [System.SerializableAttribute()]\n  [System.Diagnostics.DebuggerStepThroughAttribute()]\n  [System.ComponentModel.DesignerCategoryAttribute( \"code\" )]\n  [System.Xml.Serialization.XmlTypeAttribute( Namespace = \"http://opcfoundation.org/UA/2008/02/Types.xsd\" )]\n  [System.Xml.Serialization.XmlRootAttribute( Namespace = \"http://opcfoundation.org/UA/2008/02/Types.xsd\", IsNullable = false )]\n  public partial class RegisterNodesResponse\n  {\n\n    private ResponseHeader responseHeaderField;\n\n    private NodeId[] registeredNodeIdsField;\n\n    /// <uwagi/>\n    public ResponseHeader ResponseHeader\n    {\n      get\n      {\n        return this.responseHeaderField;\n      }\n      set\n      {\n        this.responseHeaderField = value;\n      }\n    }\n\n    /// <uwagi/>\n    [System.Xml.Serialization.XmlArrayAttribute( IsNullable = true )]\n    public NodeId[] RegisteredNodeIds\n    {\n      get\n      {\n        return this.registeredNodeIdsField;\n      }\n      set\n      {\n        this.registeredNodeIdsField = value;\n      }\n    }\n  }\n\n  /// <uwagi/>\n  [System.CodeDom.Compiler.GeneratedCodeAttribute( \"xsd\", \"2.0.50727.42\" )]\n  [System.SerializableAttribute()]\n  [System.Diagnostics.DebuggerStepThroughAttribute()]\n  [System.ComponentModel.DesignerCategoryAttribute( \"code\" )]\n  [System.Xml.Serialization.XmlTypeAttribute( Namespace = \"http://opcfoundation.org/UA/2008/02/Types.xsd\" )]\n  [System.Xml.Serialization.XmlRootAttribute( Namespace = \"http://opcfoundation.org/UA/2008/02/Types.xsd\", IsNullable = false )]\n  public partial class UnregisterNodesRequest\n  {\n\n    private RequestHeader requestHeaderField;\n\n    private NodeId[] nodesToUnregisterField;\n\n    /// <uwagi/>\n    public RequestHeader RequestHeader\n    {\n      get\n      {\n        return this.requestHeaderField;\n      }\n      set\n      {\n        this.requestHeaderField = value;\n      }\n    }\n\n    /// <uwagi/>\n    [System.Xml.Serialization.XmlArrayAttribute( IsNullable = true )]\n    public NodeId[] NodesToUnregister\n    {\n      get\n      {\n        return this.nodesToUnregisterField;\n      }\n      set\n      {\n        this.nodesToUnregisterField = value;\n      }\n    }\n  }\n\n  /// <uwagi/>\n  [System.CodeDom.Compiler.GeneratedCodeAttribute( \"xsd\", \"2.0.50727.42\" )]\n  [System.SerializableAttribute()]\n  [System.Diagnostics.DebuggerStepThroughAttribute()]\n  [System.ComponentModel.DesignerCategoryAttribute( \"code\" )]\n  [System.Xml.Serialization.XmlTypeAttribute( Namespace = \"http://opcfoundation.org/UA/2008/02/Types.xsd\" )]\n  [System.Xml.Serialization.XmlRootAttribute( Namespace = \"http://opcfoundation.org/UA/2008/02/Types.xsd\", IsNullable = false )]\n  public partial class UnregisterNodesResponse\n  {\n\n    private ResponseHeader responseHeaderField;\n\n    /// <uwagi/>\n    public ResponseHeader ResponseHeader\n    {\n      get\n      {\n        return this.responseHeaderField;\n      }\n      set\n      {\n        this.responseHeaderField = value;\n      }\n    }\n  }\n\n  /// <uwagi/>\n  [System.CodeDom.Compiler.GeneratedCodeAttribute( \"xsd\", \"2.0.50727.42\" )]\n  [System.SerializableAttribute()]\n  [System.Diagnostics.DebuggerStepThroughAttribute()]\n  [System.ComponentModel.DesignerCategoryAttribute( \"code\" )]\n  [System.Xml.Serialization.XmlTypeAttribute( Namespace = \"http://opcfoundation.org/UA/2008/02/Types.xsd\" )]\n  [System.Xml.Serialization.XmlRootAttribute( Namespace = \"http://opcfoundation.org/UA/2008/02/Types.xsd\", IsNullable = false )]\n  public partial class QueryDataDescription\n  {\n\n    private RelativePath relativePathField;\n\n    private uint attributeIdField;\n\n    private string indexRangeField;\n\n    /// <uwagi/>\n    public RelativePath RelativePath\n    {\n      get\n      {\n        return this.relativePathField;\n      }\n      set\n      {\n        this.relativePathField = value;\n      }\n    }\n\n    /// <uwagi/>\n    public uint AttributeId\n    {\n      get\n      {\n        return this.attributeIdField;\n      }\n      set\n      {\n        this.attributeIdField = value;\n      }\n    }\n\n    /// <uwagi/>\n    [System.Xml.Serialization.XmlElementAttribute( IsNullable = true )]\n    public string IndexRange\n    {\n      get\n      {\n        return this.indexRangeField;\n      }\n      set\n      {\n        this.indexRangeField = value;\n      }\n    }\n  }\n\n  /// <uwagi/>\n  [System.CodeDom.Compiler.GeneratedCodeAttribute( \"xsd\", \"2.0.50727.42\" )]\n  [System.SerializableAttribute()]\n  [System.Diagnostics.DebuggerStepThroughAttribute()]\n  [System.ComponentModel.DesignerCategoryAttribute( \"code\" )]\n  [System.Xml.Serialization.XmlTypeAttribute( Namespace = \"http://opcfoundation.org/UA/2008/02/Types.xsd\" )]\n  [System.Xml.Serialization.XmlRootAttribute( Namespace = \"http://opcfoundation.org/UA/2008/02/Types.xsd\", IsNullable = true )]\n  public partial class ListOfQueryDataDescription\n  {\n\n    private QueryDataDescription[] queryDataDescriptionField;\n\n    /// <uwagi/>\n    [System.Xml.Serialization.XmlElementAttribute( \"QueryDataDescription\", IsNullable = true )]\n    public QueryDataDescription[] QueryDataDescription\n    {\n      get\n      {\n        return this.queryDataDescriptionField;\n      }\n      set\n      {\n        this.queryDataDescriptionField = value;\n      }\n    }\n  }\n\n  /// <uwagi/>\n  [System.CodeDom.Compiler.GeneratedCodeAttribute( \"xsd\", \"2.0.50727.42\" )]\n  [System.SerializableAttribute()]\n  [System.Diagnostics.DebuggerStepThroughAttribute()]\n  [System.ComponentModel.DesignerCategoryAttribute( \"code\" )]\n  [System.Xml.Serialization.XmlTypeAttribute( Namespace = \"http://opcfoundation.org/UA/2008/02/Types.xsd\" )]\n  [System.Xml.Serialization.XmlRootAttribute( Namespace = \"http://opcfoundation.org/UA/2008/02/Types.xsd\", IsNullable = false )]\n  public partial class NodeTypeDescription\n  {\n\n    private ExpandedNodeId typeDefinitionNodeField;\n\n    private bool includeSubTypesField;\n\n    private QueryDataDescription[] dataToReturnField;\n\n    /// <uwagi/>\n    [System.Xml.Serialization.XmlElementAttribute( IsNullable = true )]\n    public ExpandedNodeId TypeDefinitionNode\n    {\n      get\n      {\n        return this.typeDefinitionNodeField;\n      }\n      set\n      {\n        this.typeDefinitionNodeField = value;\n      }\n    }\n\n    /// <uwagi/>\n    public bool IncludeSubTypes\n    {\n      get\n      {\n        return this.includeSubTypesField;\n      }\n      set\n      {\n        this.includeSubTypesField = value;\n      }\n    }\n\n    /// <uwagi/>\n    public QueryDataDescription[] DataToReturn\n    {\n      get\n      {\n        return this.dataToReturnField;\n      }\n      set\n      {\n        this.dataToReturnField = value;\n      }\n    }\n  }\n\n  /// <uwagi/>\n  [System.CodeDom.Compiler.GeneratedCodeAttribute( \"xsd\", \"2.0.50727.42\" )]\n  [System.SerializableAttribute()]\n  [System.Diagnostics.DebuggerStepThroughAttribute()]\n  [System.ComponentModel.DesignerCategoryAttribute( \"code\" )]\n  [System.Xml.Serialization.XmlTypeAttribute( Namespace = \"http://opcfoundation.org/UA/2008/02/Types.xsd\" )]\n  [System.Xml.Serialization.XmlRootAttribute( Namespace = \"http://opcfoundation.org/UA/2008/02/Types.xsd\", IsNullable = true )]\n  public partial class ListOfNodeTypeDescription\n  {\n\n    private NodeTypeDescription[] nodeTypeDescriptionField;\n\n    /// <uwagi/>\n    [System.Xml.Serialization.XmlElementAttribute( \"NodeTypeDescription\", IsNullable = true )]\n    public NodeTypeDescription[] NodeTypeDescription\n    {\n      get\n      {\n        return this.nodeTypeDescriptionField;\n      }\n      set\n      {\n        this.nodeTypeDescriptionField = value;\n      }\n    }\n  }\n\n  /// <uwagi/>\n  [System.CodeDom.Compiler.GeneratedCodeAttribute( \"xsd\", \"2.0.50727.42\" )]\n  [System.SerializableAttribute()]\n  [System.Xml.Serialization.XmlTypeAttribute( Namespace = \"http://opcfoundation.org/UA/2008/02/Types.xsd\" )]\n  [System.Xml.Serialization.XmlRootAttribute( Namespace = \"http://opcfoundation.org/UA/2008/02/Types.xsd\", IsNullable = false )]\n  public enum FilterOperator\n  {\n\n    /// <uwagi/>\n    Equals_0,\n\n    /// <uwagi/>\n    IsNull_1,\n\n    /// <uwagi/>\n    GreaterThan_2,\n\n    /// <uwagi/>\n    LessThan_3,\n\n    /// <uwagi/>\n    GreaterThanOrEqual_4,\n\n    /// <uwagi/>\n    LessThanOrEqual_5,\n\n    /// <uwagi/>\n    Like_6,\n\n    /// <uwagi/>\n    Not_7,\n\n    /// <uwagi/>\n    Between_8,\n\n    /// <uwagi/>\n    InList_9,\n\n    /// <uwagi/>\n    And_10,\n\n    /// <uwagi/>\n    Or_11,\n\n    /// <uwagi/>\n    Cast_12,\n\n    /// <uwagi/>\n    InView_13,\n\n    /// <uwagi/>\n    OfType_14,\n\n    /// <uwagi/>\n    RelatedTo_15,\n\n    /// <uwagi/>\n    BitwiseAnd_16,\n\n    /// <uwagi/>\n    BitwiseOr_17,\n  }\n\n  /// <uwagi/>\n  [System.CodeDom.Compiler.GeneratedCodeAttribute( \"xsd\", \"2.0.50727.42\" )]\n  [System.SerializableAttribute()]\n  [System.Diagnostics.DebuggerStepThroughAttribute()]\n  [System.ComponentModel.DesignerCategoryAttribute( \"code\" )]\n  [System.Xml.Serialization.XmlTypeAttribute( Namespace = \"http://opcfoundation.org/UA/2008/02/Types.xsd\" )]\n  [System.Xml.Serialization.XmlRootAttribute( Namespace = \"http://opcfoundation.org/UA/2008/02/Types.xsd\", IsNullable = false )]\n  public partial class QueryDataSet\n  {\n\n    private ExpandedNodeId nodeIdField;\n\n    private ExpandedNodeId typeDefinitionNodeField;\n\n    private Variant[] valuesField;\n\n    /// <uwagi/>\n    [System.Xml.Serialization.XmlElementAttribute( IsNullable = true )]\n    public ExpandedNodeId NodeId\n    {\n      get\n      {\n        return this.nodeIdField;\n      }\n      set\n      {\n        this.nodeIdField = value;\n      }\n    }\n\n    /// <uwagi/>\n    [System.Xml.Serialization.XmlElementAttribute( IsNullable = true )]\n    public ExpandedNodeId TypeDefinitionNode\n    {\n      get\n      {\n        return this.typeDefinitionNodeField;\n      }\n      set\n      {\n        this.typeDefinitionNodeField = value;\n      }\n    }\n\n    /// <uwagi/>\n    public Variant[] Values\n    {\n      get\n      {\n        return this.valuesField;\n      }\n      set\n      {\n        this.valuesField = value;\n      }\n    }\n  }\n\n  /// <uwagi/>\n  [System.CodeDom.Compiler.GeneratedCodeAttribute( \"xsd\", \"2.0.50727.42\" )]\n  [System.SerializableAttribute()]\n  [System.Diagnostics.DebuggerStepThroughAttribute()]\n  [System.ComponentModel.DesignerCategoryAttribute( \"code\" )]\n  [System.Xml.Serialization.XmlTypeAttribute( Namespace = \"http://opcfoundation.org/UA/2008/02/Types.xsd\" )]\n  [System.Xml.Serialization.XmlRootAttribute( Namespace = \"http://opcfoundation.org/UA/2008/02/Types.xsd\", IsNullable = true )]\n  public partial class ListOfQueryDataSet\n  {\n\n    private QueryDataSet[] queryDataSetField;\n\n    /// <uwagi/>\n    [System.Xml.Serialization.XmlElementAttribute( \"QueryDataSet\", IsNullable = true )]\n    public QueryDataSet[] QueryDataSet\n    {\n      get\n      {\n        return this.queryDataSetField;\n      }\n      set\n      {\n        this.queryDataSetField = value;\n      }\n    }\n  }\n\n  /// <uwagi/>\n  [System.CodeDom.Compiler.GeneratedCodeAttribute( \"xsd\", \"2.0.50727.42\" )]\n  [System.SerializableAttribute()]\n  [System.Diagnostics.DebuggerStepThroughAttribute()]\n  [System.ComponentModel.DesignerCategoryAttribute( \"code\" )]\n  [System.Xml.Serialization.XmlTypeAttribute( Namespace = \"http://opcfoundation.org/UA/2008/02/Types.xsd\" )]\n  [System.Xml.Serialization.XmlRootAttribute( Namespace = \"http://opcfoundation.org/UA/2008/02/Types.xsd\", IsNullable = false )]\n  public partial class NodeReference\n  {\n\n    private NodeId nodeIdField;\n\n    private NodeId referenceTypeIdField;\n\n    private bool isForwardField;\n\n    private NodeId[] referencedNodeIdsField;\n\n    /// <uwagi/>\n    [System.Xml.Serialization.XmlElementAttribute( IsNullable = true )]\n    public NodeId NodeId\n    {\n      get\n      {\n        return this.nodeIdField;\n      }\n      set\n      {\n        this.nodeIdField = value;\n      }\n    }\n\n    /// <uwagi/>\n    [System.Xml.Serialization.XmlElementAttribute( IsNullable = true )]\n    public NodeId ReferenceTypeId\n    {\n      get\n      {\n        return this.referenceTypeIdField;\n      }\n      set\n      {\n        this.referenceTypeIdField = value;\n      }\n    }\n\n    /// <uwagi/>\n    public bool IsForward\n    {\n      get\n      {\n        return this.isForwardField;\n      }\n      set\n      {\n        this.isForwardField = value;\n      }\n    }\n\n    /// <uwagi/>\n    [System.Xml.Serialization.XmlArrayAttribute( IsNullable = true )]\n    public NodeId[] ReferencedNodeIds\n    {\n      get\n      {\n        return this.referencedNodeIdsField;\n      }\n      set\n      {\n        this.referencedNodeIdsField = value;\n      }\n    }\n  }\n\n  /// <uwagi/>\n  [System.CodeDom.Compiler.GeneratedCodeAttribute( \"xsd\", \"2.0.50727.42\" )]\n  [System.SerializableAttribute()]\n  [System.Diagnostics.DebuggerStepThroughAttribute()]\n  [System.ComponentModel.DesignerCategoryAttribute( \"code\" )]\n  [System.Xml.Serialization.XmlTypeAttribute( Namespace = \"http://opcfoundation.org/UA/2008/02/Types.xsd\" )]\n  [System.Xml.Serialization.XmlRootAttribute( Namespace = \"http://opcfoundation.org/UA/2008/02/Types.xsd\", IsNullable = true )]\n  public partial class ListOfNodeReference\n  {\n\n    private NodeReference[] nodeReferenceField;\n\n    /// <uwagi/>\n    [System.Xml.Serialization.XmlElementAttribute( \"NodeReference\", IsNullable = true )]\n    public NodeReference[] NodeReference\n    {\n      get\n      {\n        return this.nodeReferenceField;\n      }\n      set\n      {\n        this.nodeReferenceField = value;\n      }\n    }\n  }\n\n  /// <uwagi/>\n  [System.CodeDom.Compiler.GeneratedCodeAttribute( \"xsd\", \"2.0.50727.42\" )]\n  [System.SerializableAttribute()]\n  [System.Diagnostics.DebuggerStepThroughAttribute()]\n  [System.ComponentModel.DesignerCategoryAttribute( \"code\" )]\n  [System.Xml.Serialization.XmlTypeAttribute( Namespace = \"http://opcfoundation.org/UA/2008/02/Types.xsd\" )]\n  [System.Xml.Serialization.XmlRootAttribute( Namespace = \"http://opcfoundation.org/UA/2008/02/Types.xsd\", IsNullable = false )]\n  public partial class ContentFilterElement\n  {\n\n    private FilterOperator filterOperatorField;\n\n    private ExtensionObject[] filterOperandsField;\n\n    /// <uwagi/>\n    public FilterOperator FilterOperator\n    {\n      get\n      {\n        return this.filterOperatorField;\n      }\n      set\n      {\n        this.filterOperatorField = value;\n      }\n    }\n\n    /// <uwagi/>\n    public ExtensionObject[] FilterOperands\n    {\n      get\n      {\n        return this.filterOperandsField;\n      }\n      set\n      {\n        this.filterOperandsField = value;\n      }\n    }\n  }\n\n  /// <uwagi/>\n  [System.CodeDom.Compiler.GeneratedCodeAttribute( \"xsd\", \"2.0.50727.42\" )]\n  [System.SerializableAttribute()]\n  [System.Diagnostics.DebuggerStepThroughAttribute()]\n  [System.ComponentModel.DesignerCategoryAttribute( \"code\" )]\n  [System.Xml.Serialization.XmlTypeAttribute( Namespace = \"http://opcfoundation.org/UA/2008/02/Types.xsd\" )]\n  [System.Xml.Serialization.XmlRootAttribute( Namespace = \"http://opcfoundation.org/UA/2008/02/Types.xsd\", IsNullable = true )]\n  public partial class ListOfContentFilterElement\n  {\n\n    private ContentFilterElement[] contentFilterElementField;\n\n    /// <uwagi/>\n    [System.Xml.Serialization.XmlElementAttribute( \"ContentFilterElement\", IsNullable = true )]\n    public ContentFilterElement[] ContentFilterElement\n    {\n      get\n      {\n        return this.contentFilterElementField;\n      }\n      set\n      {\n        this.contentFilterElementField = value;\n      }\n    }\n  }\n\n  /// <uwagi/>\n  [System.CodeDom.Compiler.GeneratedCodeAttribute( \"xsd\", \"2.0.50727.42\" )]\n  [System.SerializableAttribute()]\n  [System.Diagnostics.DebuggerStepThroughAttribute()]\n  [System.ComponentModel.DesignerCategoryAttribute( \"code\" )]\n  [System.Xml.Serialization.XmlTypeAttribute( Namespace = \"http://opcfoundation.org/UA/2008/02/Types.xsd\" )]\n  [System.Xml.Serialization.XmlRootAttribute( Namespace = \"http://opcfoundation.org/UA/2008/02/Types.xsd\", IsNullable = false )]\n  public partial class ContentFilter\n  {\n\n    private ContentFilterElement[] elementsField;\n\n    /// <uwagi/>\n    public ContentFilterElement[] Elements\n    {\n      get\n      {\n        return this.elementsField;\n      }\n      set\n      {\n        this.elementsField = value;\n      }\n    }\n  }\n\n  /// <uwagi/>\n  [System.CodeDom.Compiler.GeneratedCodeAttribute( \"xsd\", \"2.0.50727.42\" )]\n  [System.SerializableAttribute()]\n  [System.Diagnostics.DebuggerStepThroughAttribute()]\n  [System.ComponentModel.DesignerCategoryAttribute( \"code\" )]\n  [System.Xml.Serialization.XmlTypeAttribute( Namespace = \"http://opcfoundation.org/UA/2008/02/Types.xsd\" )]\n  [System.Xml.Serialization.XmlRootAttribute( Namespace = \"http://opcfoundation.org/UA/2008/02/Types.xsd\", IsNullable = true )]\n  public partial class ListOfContentFilter\n  {\n\n    private ContentFilter[] contentFilterField;\n\n    /// <uwagi/>\n    [System.Xml.Serialization.XmlElementAttribute( \"ContentFilter\", IsNullable = true )]\n    public ContentFilter[] ContentFilter\n    {\n      get\n      {\n        return this.contentFilterField;\n      }\n      set\n      {\n        this.contentFilterField = value;\n      }\n    }\n  }\n\n  /// <uwagi/>\n  [System.Xml.Serialization.XmlIncludeAttribute( typeof( SimpleAttributeOperand ) )]\n  [System.Xml.Serialization.XmlIncludeAttribute( typeof( AttributeOperand ) )]\n  [System.Xml.Serialization.XmlIncludeAttribute( typeof( LiteralOperand ) )]\n  [System.Xml.Serialization.XmlIncludeAttribute( typeof( ElementOperand ) )]\n  [System.CodeDom.Compiler.GeneratedCodeAttribute( \"xsd\", \"2.0.50727.42\" )]\n  [System.SerializableAttribute()]\n  [System.Diagnostics.DebuggerStepThroughAttribute()]\n  [System.ComponentModel.DesignerCategoryAttribute( \"code\" )]\n  [System.Xml.Serialization.XmlTypeAttribute( Namespace = \"http://opcfoundation.org/UA/2008/02/Types.xsd\" )]\n  [System.Xml.Serialization.XmlRootAttribute( Namespace = \"http://opcfoundation.org/UA/2008/02/Types.xsd\", IsNullable = false )]\n  public partial class FilterOperand\n  {\n  }\n\n  /// <uwagi/>\n  [System.CodeDom.Compiler.GeneratedCodeAttribute( \"xsd\", \"2.0.50727.42\" )]\n  [System.SerializableAttribute()]\n  [System.Diagnostics.DebuggerStepThroughAttribute()]\n  [System.ComponentModel.DesignerCategoryAttribute( \"code\" )]\n  [System.Xml.Serialization.XmlTypeAttribute( Namespace = \"http://opcfoundation.org/UA/2008/02/Types.xsd\" )]\n  [System.Xml.Serialization.XmlRootAttribute( Namespace = \"http://opcfoundation.org/UA/2008/02/Types.xsd\", IsNullable = false )]\n  public partial class ElementOperand: FilterOperand\n  {\n\n    private uint indexField;\n\n    /// <uwagi/>\n    public uint Index\n    {\n      get\n      {\n        return this.indexField;\n      }\n      set\n      {\n        this.indexField = value;\n      }\n    }\n  }\n\n  /// <uwagi/>\n  [System.CodeDom.Compiler.GeneratedCodeAttribute( \"xsd\", \"2.0.50727.42\" )]\n  [System.SerializableAttribute()]\n  [System.Diagnostics.DebuggerStepThroughAttribute()]\n  [System.ComponentModel.DesignerCategoryAttribute( \"code\" )]\n  [System.Xml.Serialization.XmlTypeAttribute( Namespace = \"http://opcfoundation.org/UA/2008/02/Types.xsd\" )]\n  [System.Xml.Serialization.XmlRootAttribute( Namespace = \"http://opcfoundation.org/UA/2008/02/Types.xsd\", IsNullable = false )]\n  public partial class LiteralOperand: FilterOperand\n  {\n\n    private Variant valueField;\n\n    /// <uwagi/>\n    public Variant Value\n    {\n      get\n      {\n        return this.valueField;\n      }\n      set\n      {\n        this.valueField = value;\n      }\n    }\n  }\n\n  /// <uwagi/>\n  [System.CodeDom.Compiler.GeneratedCodeAttribute( \"xsd\", \"2.0.50727.42\" )]\n  [System.SerializableAttribute()]\n  [System.Diagnostics.DebuggerStepThroughAttribute()]\n  [System.ComponentModel.DesignerCategoryAttribute( \"code\" )]\n  [System.Xml.Serialization.XmlTypeAttribute( Namespace = \"http://opcfoundation.org/UA/2008/02/Types.xsd\" )]\n  [System.Xml.Serialization.XmlRootAttribute( Namespace = \"http://opcfoundation.org/UA/2008/02/Types.xsd\", IsNullable = false )]\n  public partial class AttributeOperand: FilterOperand\n  {\n\n    private NodeId nodeIdField;\n\n    private string aliasField;\n\n    private RelativePath browsePathField;\n\n    private uint attributeIdField;\n\n    private string indexRangeField;\n\n    /// <uwagi/>\n    [System.Xml.Serialization.XmlElementAttribute( IsNullable = true )]\n    public NodeId NodeId\n    {\n      get\n      {\n        return this.nodeIdField;\n      }\n      set\n      {\n        this.nodeIdField = value;\n      }\n    }\n\n    /// <uwagi/>\n    [System.Xml.Serialization.XmlElementAttribute( IsNullable = true )]\n    public string Alias\n    {\n      get\n      {\n        return this.aliasField;\n      }\n      set\n      {\n        this.aliasField = value;\n      }\n    }\n\n    /// <uwagi/>\n    public RelativePath BrowsePath\n    {\n      get\n      {\n        return this.browsePathField;\n      }\n      set\n      {\n        this.browsePathField = value;\n      }\n    }\n\n    /// <uwagi/>\n    public uint AttributeId\n    {\n      get\n      {\n        return this.attributeIdField;\n      }\n      set\n      {\n        this.attributeIdField = value;\n      }\n    }\n\n    /// <uwagi/>\n    [System.Xml.Serialization.XmlElementAttribute( IsNullable = true )]\n    public string IndexRange\n    {\n      get\n      {\n        return this.indexRangeField;\n      }\n      set\n      {\n        this.indexRangeField = value;\n      }\n    }\n  }\n\n  /// <uwagi/>\n  [System.CodeDom.Compiler.GeneratedCodeAttribute( \"xsd\", \"2.0.50727.42\" )]\n  [System.SerializableAttribute()]\n  [System.Diagnostics.DebuggerStepThroughAttribute()]\n  [System.ComponentModel.DesignerCategoryAttribute( \"code\" )]\n  [System.Xml.Serialization.XmlTypeAttribute( Namespace = \"http://opcfoundation.org/UA/2008/02/Types.xsd\" )]\n  [System.Xml.Serialization.XmlRootAttribute( Namespace = \"http://opcfoundation.org/UA/2008/02/Types.xsd\", IsNullable = false )]\n  public partial class SimpleAttributeOperand: FilterOperand\n  {\n\n    private NodeId typeDefinitionIdField;\n\n    private QualifiedName[] browsePathField;\n\n    private uint attributeIdField;\n\n    private string indexRangeField;\n\n    /// <uwagi/>\n    [System.Xml.Serialization.XmlElementAttribute( IsNullable = true )]\n    public NodeId TypeDefinitionId\n    {\n      get\n      {\n        return this.typeDefinitionIdField;\n      }\n      set\n      {\n        this.typeDefinitionIdField = value;\n      }\n    }\n\n    /// <uwagi/>\n    [System.Xml.Serialization.XmlArrayAttribute( IsNullable = true )]\n    public QualifiedName[] BrowsePath\n    {\n      get\n      {\n        return this.browsePathField;\n      }\n      set\n      {\n        this.browsePathField = value;\n      }\n    }\n\n    /// <uwagi/>\n    public uint AttributeId\n    {\n      get\n      {\n        return this.attributeIdField;\n      }\n      set\n      {\n        this.attributeIdField = value;\n      }\n    }\n\n    /// <uwagi/>\n    [System.Xml.Serialization.XmlElementAttribute( IsNullable = true )]\n    public string IndexRange\n    {\n      get\n      {\n        return this.indexRangeField;\n      }\n      set\n      {\n        this.indexRangeField = value;\n      }\n    }\n  }\n\n  /// <uwagi/>\n  [System.CodeDom.Compiler.GeneratedCodeAttribute( \"xsd\", \"2.0.50727.42\" )]\n  [System.SerializableAttribute()]\n  [System.Diagnostics.DebuggerStepThroughAttribute()]\n  [System.ComponentModel.DesignerCategoryAttribute( \"code\" )]\n  [System.Xml.Serialization.XmlTypeAttribute( Namespace = \"http://opcfoundation.org/UA/2008/02/Types.xsd\" )]\n  [System.Xml.Serialization.XmlRootAttribute( Namespace = \"http://opcfoundation.org/UA/2008/02/Types.xsd\", IsNullable = true )]\n  public partial class ListOfSimpleAttributeOperand\n  {\n\n    private SimpleAttributeOperand[] simpleAttributeOperandField;\n\n    /// <uwagi/>\n    [System.Xml.Serialization.XmlElementAttribute( \"SimpleAttributeOperand\", IsNullable = true )]\n    public SimpleAttributeOperand[] SimpleAttributeOperand\n    {\n      get\n      {\n        return this.simpleAttributeOperandField;\n      }\n      set\n      {\n        this.simpleAttributeOperandField = value;\n      }\n    }\n  }\n\n  /// <uwagi/>\n  [System.CodeDom.Compiler.GeneratedCodeAttribute( \"xsd\", \"2.0.50727.42\" )]\n  [System.SerializableAttribute()]\n  [System.Diagnostics.DebuggerStepThroughAttribute()]\n  [System.ComponentModel.DesignerCategoryAttribute( \"code\" )]\n  [System.Xml.Serialization.XmlTypeAttribute( Namespace = \"http://opcfoundation.org/UA/2008/02/Types.xsd\" )]\n  [System.Xml.Serialization.XmlRootAttribute( Namespace = \"http://opcfoundation.org/UA/2008/02/Types.xsd\", IsNullable = false )]\n  public partial class ContentFilterElementResult\n  {\n\n    private StatusCode statusCodeField;\n\n    private StatusCode[] operandStatusCodesField;\n\n    private DiagnosticInfo[] operandDiagnosticInfosField;\n\n    /// <uwagi/>\n    public StatusCode StatusCode\n    {\n      get\n      {\n        return this.statusCodeField;\n      }\n      set\n      {\n        this.statusCodeField = value;\n      }\n    }\n\n    /// <uwagi/>\n    public StatusCode[] OperandStatusCodes\n    {\n      get\n      {\n        return this.operandStatusCodesField;\n      }\n      set\n      {\n        this.operandStatusCodesField = value;\n      }\n    }\n\n    /// <uwagi/>\n    [System.Xml.Serialization.XmlArrayAttribute( IsNullable = true )]\n    public DiagnosticInfo[] OperandDiagnosticInfos\n    {\n      get\n      {\n        return this.operandDiagnosticInfosField;\n      }\n      set\n      {\n        this.operandDiagnosticInfosField = value;\n      }\n    }\n  }\n\n  /// <uwagi/>\n  [System.CodeDom.Compiler.GeneratedCodeAttribute( \"xsd\", \"2.0.50727.42\" )]\n  [System.SerializableAttribute()]\n  [System.Diagnostics.DebuggerStepThroughAttribute()]\n  [System.ComponentModel.DesignerCategoryAttribute( \"code\" )]\n  [System.Xml.Serialization.XmlTypeAttribute( Namespace = \"http://opcfoundation.org/UA/2008/02/Types.xsd\" )]\n  [System.Xml.Serialization.XmlRootAttribute( Namespace = \"http://opcfoundation.org/UA/2008/02/Types.xsd\", IsNullable = true )]\n  public partial class ListOfContentFilterElementResult\n  {\n\n    private ContentFilterElementResult[] contentFilterElementResultField;\n\n    /// <uwagi/>\n    [System.Xml.Serialization.XmlElementAttribute( \"ContentFilterElementResult\", IsNullable = true )]\n    public ContentFilterElementResult[] ContentFilterElementResult\n    {\n      get\n      {\n        return this.contentFilterElementResultField;\n      }\n      set\n      {\n        this.contentFilterElementResultField = value;\n      }\n    }\n  }\n\n  /// <uwagi/>\n  [System.CodeDom.Compiler.GeneratedCodeAttribute( \"xsd\", \"2.0.50727.42\" )]\n  [System.SerializableAttribute()]\n  [System.Diagnostics.DebuggerStepThroughAttribute()]\n  [System.ComponentModel.DesignerCategoryAttribute( \"code\" )]\n  [System.Xml.Serialization.XmlTypeAttribute( Namespace = \"http://opcfoundation.org/UA/2008/02/Types.xsd\" )]\n  [System.Xml.Serialization.XmlRootAttribute( Namespace = \"http://opcfoundation.org/UA/2008/02/Types.xsd\", IsNullable = false )]\n  public partial class ContentFilterResult\n  {\n\n    private ContentFilterElementResult[] elementResultsField;\n\n    private DiagnosticInfo[] elementDiagnosticInfosField;\n\n    /// <uwagi/>\n    public ContentFilterElementResult[] ElementResults\n    {\n      get\n      {\n        return this.elementResultsField;\n      }\n      set\n      {\n        this.elementResultsField = value;\n      }\n    }\n\n    /// <uwagi/>\n    [System.Xml.Serialization.XmlArrayAttribute( IsNullable = true )]\n    public DiagnosticInfo[] ElementDiagnosticInfos\n    {\n      get\n      {\n        return this.elementDiagnosticInfosField;\n      }\n      set\n      {\n        this.elementDiagnosticInfosField = value;\n      }\n    }\n  }\n\n  /// <uwagi/>\n  [System.CodeDom.Compiler.GeneratedCodeAttribute( \"xsd\", \"2.0.50727.42\" )]\n  [System.SerializableAttribute()]\n  [System.Diagnostics.DebuggerStepThroughAttribute()]\n  [System.ComponentModel.DesignerCategoryAttribute( \"code\" )]\n  [System.Xml.Serialization.XmlTypeAttribute( Namespace = \"http://opcfoundation.org/UA/2008/02/Types.xsd\" )]\n  [System.Xml.Serialization.XmlRootAttribute( Namespace = \"http://opcfoundation.org/UA/2008/02/Types.xsd\", IsNullable = false )]\n  public partial class ParsingResult\n  {\n\n    private StatusCode statusCodeField;\n\n    private StatusCode[] dataStatusCodesField;\n\n    private DiagnosticInfo[] dataDiagnosticInfosField;\n\n    /// <uwagi/>\n    public StatusCode StatusCode\n    {\n      get\n      {\n        return this.statusCodeField;\n      }\n      set\n      {\n        this.statusCodeField = value;\n      }\n    }\n\n    /// <uwagi/>\n    public StatusCode[] DataStatusCodes\n    {\n      get\n      {\n        return this.dataStatusCodesField;\n      }\n      set\n      {\n        this.dataStatusCodesField = value;\n      }\n    }\n\n    /// <uwagi/>\n    [System.Xml.Serialization.XmlArrayAttribute( IsNullable = true )]\n    public DiagnosticInfo[] DataDiagnosticInfos\n    {\n      get\n      {\n        return this.dataDiagnosticInfosField;\n      }\n      set\n      {\n        this.dataDiagnosticInfosField = value;\n      }\n    }\n  }\n\n  /// <uwagi/>\n  [System.CodeDom.Compiler.GeneratedCodeAttribute( \"xsd\", \"2.0.50727.42\" )]\n  [System.SerializableAttribute()]\n  [System.Diagnostics.DebuggerStepThroughAttribute()]\n  [System.ComponentModel.DesignerCategoryAttribute( \"code\" )]\n  [System.Xml.Serialization.XmlTypeAttribute( Namespace = \"http://opcfoundation.org/UA/2008/02/Types.xsd\" )]\n  [System.Xml.Serialization.XmlRootAttribute( Namespace = \"http://opcfoundation.org/UA/2008/02/Types.xsd\", IsNullable = true )]\n  public partial class ListOfParsingResult\n  {\n\n    private ParsingResult[] parsingResultField;\n\n    /// <uwagi/>\n    [System.Xml.Serialization.XmlElementAttribute( \"ParsingResult\", IsNullable = true )]\n    public ParsingResult[] ParsingResult\n    {\n      get\n      {\n        return this.parsingResultField;\n      }\n      set\n      {\n        this.parsingResultField = value;\n      }\n    }\n  }\n\n  /// <uwagi/>\n  [System.CodeDom.Compiler.GeneratedCodeAttribute( \"xsd\", \"2.0.50727.42\" )]\n  [System.SerializableAttribute()]\n  [System.Diagnostics.DebuggerStepThroughAttribute()]\n  [System.ComponentModel.DesignerCategoryAttribute( \"code\" )]\n  [System.Xml.Serialization.XmlTypeAttribute( Namespace = \"http://opcfoundation.org/UA/2008/02/Types.xsd\" )]\n  [System.Xml.Serialization.XmlRootAttribute( Namespace = \"http://opcfoundation.org/UA/2008/02/Types.xsd\", IsNullable = false )]\n  public partial class QueryFirstRequest\n  {\n\n    private RequestHeader requestHeaderField;\n\n    private ViewDescription viewField;\n\n    private NodeTypeDescription[] nodeTypesField;\n\n    private ContentFilter filterField;\n\n    private uint maxDataSetsToReturnField;\n\n    private uint maxReferencesToReturnField;\n\n    /// <uwagi/>\n    public RequestHeader RequestHeader\n    {\n      get\n      {\n        return this.requestHeaderField;\n      }\n      set\n      {\n        this.requestHeaderField = value;\n      }\n    }\n\n    /// <uwagi/>\n    public ViewDescription View\n    {\n      get\n      {\n        return this.viewField;\n      }\n      set\n      {\n        this.viewField = value;\n      }\n    }\n\n    /// <uwagi/>\n    public NodeTypeDescription[] NodeTypes\n    {\n      get\n      {\n        return this.nodeTypesField;\n      }\n      set\n      {\n        this.nodeTypesField = value;\n      }\n    }\n\n    /// <uwagi/>\n    public ContentFilter Filter\n    {\n      get\n      {\n        return this.filterField;\n      }\n      set\n      {\n        this.filterField = value;\n      }\n    }\n\n    /// <uwagi/>\n    public uint MaxDataSetsToReturn\n    {\n      get\n      {\n        return this.maxDataSetsToReturnField;\n      }\n      set\n      {\n        this.maxDataSetsToReturnField = value;\n      }\n    }\n\n    /// <uwagi/>\n    public uint MaxReferencesToReturn\n    {\n      get\n      {\n        return this.maxReferencesToReturnField;\n      }\n      set\n      {\n        this.maxReferencesToReturnField = value;\n      }\n    }\n  }\n\n  /// <uwagi/>\n  [System.CodeDom.Compiler.GeneratedCodeAttribute( \"xsd\", \"2.0.50727.42\" )]\n  [System.SerializableAttribute()]\n  [System.Diagnostics.DebuggerStepThroughAttribute()]\n  [System.ComponentModel.DesignerCategoryAttribute( \"code\" )]\n  [System.Xml.Serialization.XmlTypeAttribute( Namespace = \"http://opcfoundation.org/UA/2008/02/Types.xsd\" )]\n  [System.Xml.Serialization.XmlRootAttribute( Namespace = \"http://opcfoundation.org/UA/2008/02/Types.xsd\", IsNullable = false )]\n  public partial class QueryFirstResponse\n  {\n\n    private ResponseHeader responseHeaderField;\n\n    private QueryDataSet[] queryDataSetsField;\n\n    private byte[] continuationPointField;\n\n    private ParsingResult[] parsingResultsField;\n\n    private DiagnosticInfo[] diagnosticInfosField;\n\n    private ContentFilterResult filterResultField;\n\n    /// <uwagi/>\n    public ResponseHeader ResponseHeader\n    {\n      get\n      {\n        return this.responseHeaderField;\n      }\n      set\n      {\n        this.responseHeaderField = value;\n      }\n    }\n\n    /// <uwagi/>\n    public QueryDataSet[] QueryDataSets\n    {\n      get\n      {\n        return this.queryDataSetsField;\n      }\n      set\n      {\n        this.queryDataSetsField = value;\n      }\n    }\n\n    /// <uwagi/>\n    [System.Xml.Serialization.XmlElementAttribute( DataType = \"base64Binary\", IsNullable = true )]\n    public byte[] ContinuationPoint\n    {\n      get\n      {\n        return this.continuationPointField;\n      }\n      set\n      {\n        this.continuationPointField = value;\n      }\n    }\n\n    /// <uwagi/>\n    public ParsingResult[] ParsingResults\n    {\n      get\n      {\n        return this.parsingResultsField;\n      }\n      set\n      {\n        this.parsingResultsField = value;\n      }\n    }\n\n    /// <uwagi/>\n    [System.Xml.Serialization.XmlArrayAttribute( IsNullable = true )]\n    public DiagnosticInfo[] DiagnosticInfos\n    {\n      get\n      {\n        return this.diagnosticInfosField;\n      }\n      set\n      {\n        this.diagnosticInfosField = value;\n      }\n    }\n\n    /// <uwagi/>\n    public ContentFilterResult FilterResult\n    {\n      get\n      {\n        return this.filterResultField;\n      }\n      set\n      {\n        this.filterResultField = value;\n      }\n    }\n  }\n\n  /// <uwagi/>\n  [System.CodeDom.Compiler.GeneratedCodeAttribute( \"xsd\", \"2.0.50727.42\" )]\n  [System.SerializableAttribute()]\n  [System.Diagnostics.DebuggerStepThroughAttribute()]\n  [System.ComponentModel.DesignerCategoryAttribute( \"code\" )]\n  [System.Xml.Serialization.XmlTypeAttribute( Namespace = \"http://opcfoundation.org/UA/2008/02/Types.xsd\" )]\n  [System.Xml.Serialization.XmlRootAttribute( Namespace = \"http://opcfoundation.org/UA/2008/02/Types.xsd\", IsNullable = false )]\n  public partial class QueryNextRequest\n  {\n\n    private RequestHeader requestHeaderField;\n\n    private bool releaseContinuationPointField;\n\n    private byte[] continuationPointField;\n\n    /// <uwagi/>\n    public RequestHeader RequestHeader\n    {\n      get\n      {\n        return this.requestHeaderField;\n      }\n      set\n      {\n        this.requestHeaderField = value;\n      }\n    }\n\n    /// <uwagi/>\n    public bool ReleaseContinuationPoint\n    {\n      get\n      {\n        return this.releaseContinuationPointField;\n      }\n      set\n      {\n        this.releaseContinuationPointField = value;\n      }\n    }\n\n    /// <uwagi/>\n    [System.Xml.Serialization.XmlElementAttribute( DataType = \"base64Binary\", IsNullable = true )]\n    public byte[] ContinuationPoint\n    {\n      get\n      {\n        return this.continuationPointField;\n      }\n      set\n      {\n        this.continuationPointField = value;\n      }\n    }\n  }\n\n  /// <uwagi/>\n  [System.CodeDom.Compiler.GeneratedCodeAttribute( \"xsd\", \"2.0.50727.42\" )]\n  [System.SerializableAttribute()]\n  [System.Diagnostics.DebuggerStepThroughAttribute()]\n  [System.ComponentModel.DesignerCategoryAttribute( \"code\" )]\n  [System.Xml.Serialization.XmlTypeAttribute( Namespace = \"http://opcfoundation.org/UA/2008/02/Types.xsd\" )]\n  [System.Xml.Serialization.XmlRootAttribute( Namespace = \"http://opcfoundation.org/UA/2008/02/Types.xsd\", IsNullable = false )]\n  public partial class QueryNextResponse\n  {\n\n    private ResponseHeader responseHeaderField;\n\n    private QueryDataSet[] queryDataSetsField;\n\n    private byte[] revisedContinuationPointField;\n\n    /// <uwagi/>\n    public ResponseHeader ResponseHeader\n    {\n      get\n      {\n        return this.responseHeaderField;\n      }\n      set\n      {\n        this.responseHeaderField = value;\n      }\n    }\n\n    /// <uwagi/>\n    public QueryDataSet[] QueryDataSets\n    {\n      get\n      {\n        return this.queryDataSetsField;\n      }\n      set\n      {\n        this.queryDataSetsField = value;\n      }\n    }\n\n    /// <uwagi/>\n    [System.Xml.Serialization.XmlElementAttribute( DataType = \"base64Binary\", IsNullable = true )]\n    public byte[] RevisedContinuationPoint\n    {\n      get\n      {\n        return this.revisedContinuationPointField;\n      }\n      set\n      {\n        this.revisedContinuationPointField = value;\n      }\n    }\n  }\n\n  /// <uwagi/>\n  [System.CodeDom.Compiler.GeneratedCodeAttribute( \"xsd\", \"2.0.50727.42\" )]\n  [System.SerializableAttribute()]\n  [System.Xml.Serialization.XmlTypeAttribute( Namespace = \"http://opcfoundation.org/UA/2008/02/Types.xsd\" )]\n  [System.Xml.Serialization.XmlRootAttribute( Namespace = \"http://opcfoundation.org/UA/2008/02/Types.xsd\", IsNullable = false )]\n  public enum TimestampsToReturn\n  {\n\n    /// <uwagi/>\n    Source_0,\n\n    /// <uwagi/>\n    Server_1,\n\n    /// <uwagi/>\n    Both_2,\n\n    /// <uwagi/>\n    Neither_3,\n  }\n\n  /// <uwagi/>\n  [System.CodeDom.Compiler.GeneratedCodeAttribute( \"xsd\", \"2.0.50727.42\" )]\n  [System.SerializableAttribute()]\n  [System.Diagnostics.DebuggerStepThroughAttribute()]\n  [System.ComponentModel.DesignerCategoryAttribute( \"code\" )]\n  [System.Xml.Serialization.XmlTypeAttribute( Namespace = \"http://opcfoundation.org/UA/2008/02/Types.xsd\" )]\n  [System.Xml.Serialization.XmlRootAttribute( Namespace = \"http://opcfoundation.org/UA/2008/02/Types.xsd\", IsNullable = false )]\n  public partial class ReadValueId\n  {\n\n    private NodeId nodeIdField;\n\n    private uint attributeIdField;\n\n    private string indexRangeField;\n\n    private QualifiedName dataEncodingField;\n\n    /// <uwagi/>\n    [System.Xml.Serialization.XmlElementAttribute( IsNullable = true )]\n    public NodeId NodeId\n    {\n      get\n      {\n        return this.nodeIdField;\n      }\n      set\n      {\n        this.nodeIdField = value;\n      }\n    }\n\n    /// <uwagi/>\n    public uint AttributeId\n    {\n      get\n      {\n        return this.attributeIdField;\n      }\n      set\n      {\n        this.attributeIdField = value;\n      }\n    }\n\n    /// <uwagi/>\n    [System.Xml.Serialization.XmlElementAttribute( IsNullable = true )]\n    public string IndexRange\n    {\n      get\n      {\n        return this.indexRangeField;\n      }\n      set\n      {\n        this.indexRangeField = value;\n      }\n    }\n\n    /// <uwagi/>\n    [System.Xml.Serialization.XmlElementAttribute( IsNullable = true )]\n    public QualifiedName DataEncoding\n    {\n      get\n      {\n        return this.dataEncodingField;\n      }\n      set\n      {\n        this.dataEncodingField = value;\n      }\n    }\n  }\n\n  /// <uwagi/>\n  [System.CodeDom.Compiler.GeneratedCodeAttribute( \"xsd\", \"2.0.50727.42\" )]\n  [System.SerializableAttribute()]\n  [System.Diagnostics.DebuggerStepThroughAttribute()]\n  [System.ComponentModel.DesignerCategoryAttribute( \"code\" )]\n  [System.Xml.Serialization.XmlTypeAttribute( Namespace = \"http://opcfoundation.org/UA/2008/02/Types.xsd\" )]\n  [System.Xml.Serialization.XmlRootAttribute( Namespace = \"http://opcfoundation.org/UA/2008/02/Types.xsd\", IsNullable = true )]\n  public partial class ListOfReadValueId\n  {\n\n    private ReadValueId[] readValueIdField;\n\n    /// <uwagi/>\n    [System.Xml.Serialization.XmlElementAttribute( \"ReadValueId\", IsNullable = true )]\n    public ReadValueId[] ReadValueId\n    {\n      get\n      {\n        return this.readValueIdField;\n      }\n      set\n      {\n        this.readValueIdField = value;\n      }\n    }\n  }\n\n  /// <uwagi/>\n  [System.CodeDom.Compiler.GeneratedCodeAttribute( \"xsd\", \"2.0.50727.42\" )]\n  [System.SerializableAttribute()]\n  [System.Diagnostics.DebuggerStepThroughAttribute()]\n  [System.ComponentModel.DesignerCategoryAttribute( \"code\" )]\n  [System.Xml.Serialization.XmlTypeAttribute( Namespace = \"http://opcfoundation.org/UA/2008/02/Types.xsd\" )]\n  [System.Xml.Serialization.XmlRootAttribute( Namespace = \"http://opcfoundation.org/UA/2008/02/Types.xsd\", IsNullable = false )]\n  public partial class ReadRequest\n  {\n\n    private RequestHeader requestHeaderField;\n\n    private double maxAgeField;\n\n    private TimestampsToReturn timestampsToReturnField;\n\n    private ReadValueId[] nodesToReadField;\n\n    /// <uwagi/>\n    public RequestHeader RequestHeader\n    {\n      get\n      {\n        return this.requestHeaderField;\n      }\n      set\n      {\n        this.requestHeaderField = value;\n      }\n    }\n\n    /// <uwagi/>\n    public double MaxAge\n    {\n      get\n      {\n        return this.maxAgeField;\n      }\n      set\n      {\n        this.maxAgeField = value;\n      }\n    }\n\n    /// <uwagi/>\n    public TimestampsToReturn TimestampsToReturn\n    {\n      get\n      {\n        return this.timestampsToReturnField;\n      }\n      set\n      {\n        this.timestampsToReturnField = value;\n      }\n    }\n\n    /// <uwagi/>\n    public ReadValueId[] NodesToRead\n    {\n      get\n      {\n        return this.nodesToReadField;\n      }\n      set\n      {\n        this.nodesToReadField = value;\n      }\n    }\n  }\n\n  /// <uwagi/>\n  [System.CodeDom.Compiler.GeneratedCodeAttribute( \"xsd\", \"2.0.50727.42\" )]\n  [System.SerializableAttribute()]\n  [System.Diagnostics.DebuggerStepThroughAttribute()]\n  [System.ComponentModel.DesignerCategoryAttribute( \"code\" )]\n  [System.Xml.Serialization.XmlTypeAttribute( Namespace = \"http://opcfoundation.org/UA/2008/02/Types.xsd\" )]\n  [System.Xml.Serialization.XmlRootAttribute( Namespace = \"http://opcfoundation.org/UA/2008/02/Types.xsd\", IsNullable = false )]\n  public partial class ReadResponse\n  {\n\n    private ResponseHeader responseHeaderField;\n\n    private DataValue[] resultsField;\n\n    private DiagnosticInfo[] diagnosticInfosField;\n\n    /// <uwagi/>\n    public ResponseHeader ResponseHeader\n    {\n      get\n      {\n        return this.responseHeaderField;\n      }\n      set\n      {\n        this.responseHeaderField = value;\n      }\n    }\n\n    /// <uwagi/>\n    public DataValue[] Results\n    {\n      get\n      {\n        return this.resultsField;\n      }\n      set\n      {\n        this.resultsField = value;\n      }\n    }\n\n    /// <uwagi/>\n    [System.Xml.Serialization.XmlArrayAttribute( IsNullable = true )]\n    public DiagnosticInfo[] DiagnosticInfos\n    {\n      get\n      {\n        return this.diagnosticInfosField;\n      }\n      set\n      {\n        this.diagnosticInfosField = value;\n      }\n    }\n  }\n\n  /// <uwagi/>\n  [System.CodeDom.Compiler.GeneratedCodeAttribute( \"xsd\", \"2.0.50727.42\" )]\n  [System.SerializableAttribute()]\n  [System.Diagnostics.DebuggerStepThroughAttribute()]\n  [System.ComponentModel.DesignerCategoryAttribute( \"code\" )]\n  [System.Xml.Serialization.XmlTypeAttribute( Namespace = \"http://opcfoundation.org/UA/2008/02/Types.xsd\" )]\n  [System.Xml.Serialization.XmlRootAttribute( Namespace = \"http://opcfoundation.org/UA/2008/02/Types.xsd\", IsNullable = false )]\n  public partial class HistoryReadValueId\n  {\n\n    private NodeId nodeIdField;\n\n    private string indexRangeField;\n\n    private QualifiedName dataEncodingField;\n\n    private byte[] continuationPointField;\n\n    /// <uwagi/>\n    [System.Xml.Serialization.XmlElementAttribute( IsNullable = true )]\n    public NodeId NodeId\n    {\n      get\n      {\n        return this.nodeIdField;\n      }\n      set\n      {\n        this.nodeIdField = value;\n      }\n    }\n\n    /// <uwagi/>\n    [System.Xml.Serialization.XmlElementAttribute( IsNullable = true )]\n    public string IndexRange\n    {\n      get\n      {\n        return this.indexRangeField;\n      }\n      set\n      {\n        this.indexRangeField = value;\n      }\n    }\n\n    /// <uwagi/>\n    [System.Xml.Serialization.XmlElementAttribute( IsNullable = true )]\n    public QualifiedName DataEncoding\n    {\n      get\n      {\n        return this.dataEncodingField;\n      }\n      set\n      {\n        this.dataEncodingField = value;\n      }\n    }\n\n    /// <uwagi/>\n    [System.Xml.Serialization.XmlElementAttribute( DataType = \"base64Binary\", IsNullable = true )]\n    public byte[] ContinuationPoint\n    {\n      get\n      {\n        return this.continuationPointField;\n      }\n      set\n      {\n        this.continuationPointField = value;\n      }\n    }\n  }\n\n  /// <uwagi/>\n  [System.CodeDom.Compiler.GeneratedCodeAttribute( \"xsd\", \"2.0.50727.42\" )]\n  [System.SerializableAttribute()]\n  [System.Diagnostics.DebuggerStepThroughAttribute()]\n  [System.ComponentModel.DesignerCategoryAttribute( \"code\" )]\n  [System.Xml.Serialization.XmlTypeAttribute( Namespace = \"http://opcfoundation.org/UA/2008/02/Types.xsd\" )]\n  [System.Xml.Serialization.XmlRootAttribute( Namespace = \"http://opcfoundation.org/UA/2008/02/Types.xsd\", IsNullable = true )]\n  public partial class ListOfHistoryReadValueId\n  {\n\n    private HistoryReadValueId[] historyReadValueIdField;\n\n    /// <uwagi/>\n    [System.Xml.Serialization.XmlElementAttribute( \"HistoryReadValueId\", IsNullable = true )]\n    public HistoryReadValueId[] HistoryReadValueId\n    {\n      get\n      {\n        return this.historyReadValueIdField;\n      }\n      set\n      {\n        this.historyReadValueIdField = value;\n      }\n    }\n  }\n\n  /// <uwagi/>\n  [System.CodeDom.Compiler.GeneratedCodeAttribute( \"xsd\", \"2.0.50727.42\" )]\n  [System.SerializableAttribute()]\n  [System.Diagnostics.DebuggerStepThroughAttribute()]\n  [System.ComponentModel.DesignerCategoryAttribute( \"code\" )]\n  [System.Xml.Serialization.XmlTypeAttribute( Namespace = \"http://opcfoundation.org/UA/2008/02/Types.xsd\" )]\n  [System.Xml.Serialization.XmlRootAttribute( Namespace = \"http://opcfoundation.org/UA/2008/02/Types.xsd\", IsNullable = false )]\n  public partial class HistoryReadResult\n  {\n\n    private StatusCode statusCodeField;\n\n    private byte[] continuationPointField;\n\n    private ExtensionObject historyDataField;\n\n    /// <uwagi/>\n    public StatusCode StatusCode\n    {\n      get\n      {\n        return this.statusCodeField;\n      }\n      set\n      {\n        this.statusCodeField = value;\n      }\n    }\n\n    /// <uwagi/>\n    [System.Xml.Serialization.XmlElementAttribute( DataType = \"base64Binary\", IsNullable = true )]\n    public byte[] ContinuationPoint\n    {\n      get\n      {\n        return this.continuationPointField;\n      }\n      set\n      {\n        this.continuationPointField = value;\n      }\n    }\n\n    /// <uwagi/>\n    public ExtensionObject HistoryData\n    {\n      get\n      {\n        return this.historyDataField;\n      }\n      set\n      {\n        this.historyDataField = value;\n      }\n    }\n  }\n\n  /// <uwagi/>\n  [System.CodeDom.Compiler.GeneratedCodeAttribute( \"xsd\", \"2.0.50727.42\" )]\n  [System.SerializableAttribute()]\n  [System.Diagnostics.DebuggerStepThroughAttribute()]\n  [System.ComponentModel.DesignerCategoryAttribute( \"code\" )]\n  [System.Xml.Serialization.XmlTypeAttribute( Namespace = \"http://opcfoundation.org/UA/2008/02/Types.xsd\" )]\n  [System.Xml.Serialization.XmlRootAttribute( Namespace = \"http://opcfoundation.org/UA/2008/02/Types.xsd\", IsNullable = true )]\n  public partial class ListOfHistoryReadResult\n  {\n\n    private HistoryReadResult[] historyReadResultField;\n\n    /// <uwagi/>\n    [System.Xml.Serialization.XmlElementAttribute( \"HistoryReadResult\", IsNullable = true )]\n    public HistoryReadResult[] HistoryReadResult\n    {\n      get\n      {\n        return this.historyReadResultField;\n      }\n      set\n      {\n        this.historyReadResultField = value;\n      }\n    }\n  }\n\n  /// <uwagi/>\n  [System.Xml.Serialization.XmlIncludeAttribute( typeof( ReadAtTimeDetails ) )]\n  [System.Xml.Serialization.XmlIncludeAttribute( typeof( ReadProcessedDetails ) )]\n  [System.Xml.Serialization.XmlIncludeAttribute( typeof( ReadRawModifiedDetails ) )]\n  [System.Xml.Serialization.XmlIncludeAttribute( typeof( ReadEventDetails ) )]\n  [System.CodeDom.Compiler.GeneratedCodeAttribute( \"xsd\", \"2.0.50727.42\" )]\n  [System.SerializableAttribute()]\n  [System.Diagnostics.DebuggerStepThroughAttribute()]\n  [System.ComponentModel.DesignerCategoryAttribute( \"code\" )]\n  [System.Xml.Serialization.XmlTypeAttribute( Namespace = \"http://opcfoundation.org/UA/2008/02/Types.xsd\" )]\n  [System.Xml.Serialization.XmlRootAttribute( Namespace = \"http://opcfoundation.org/UA/2008/02/Types.xsd\", IsNullable = false )]\n  public partial class HistoryReadDetails\n  {\n  }\n\n  /// <uwagi/>\n  [System.CodeDom.Compiler.GeneratedCodeAttribute( \"xsd\", \"2.0.50727.42\" )]\n  [System.SerializableAttribute()]\n  [System.Diagnostics.DebuggerStepThroughAttribute()]\n  [System.ComponentModel.DesignerCategoryAttribute( \"code\" )]\n  [System.Xml.Serialization.XmlTypeAttribute( Namespace = \"http://opcfoundation.org/UA/2008/02/Types.xsd\" )]\n  [System.Xml.Serialization.XmlRootAttribute( Namespace = \"http://opcfoundation.org/UA/2008/02/Types.xsd\", IsNullable = false )]\n  public partial class ReadEventDetails: HistoryReadDetails\n  {\n\n    private uint numValuesPerNodeField;\n\n    private System.DateTime startTimeField;\n\n    private System.DateTime endTimeField;\n\n    private EventFilter filterField;\n\n    /// <uwagi/>\n    public uint NumValuesPerNode\n    {\n      get\n      {\n        return this.numValuesPerNodeField;\n      }\n      set\n      {\n        this.numValuesPerNodeField = value;\n      }\n    }\n\n    /// <uwagi/>\n    public System.DateTime StartTime\n    {\n      get\n      {\n        return this.startTimeField;\n      }\n      set\n      {\n        this.startTimeField = value;\n      }\n    }\n\n    /// <uwagi/>\n    public System.DateTime EndTime\n    {\n      get\n      {\n        return this.endTimeField;\n      }\n      set\n      {\n        this.endTimeField = value;\n      }\n    }\n\n    /// <uwagi/>\n    public EventFilter Filter\n    {\n      get\n      {\n        return this.filterField;\n      }\n      set\n      {\n        this.filterField = value;\n      }\n    }\n  }\n\n  /// <uwagi/>\n  [System.CodeDom.Compiler.GeneratedCodeAttribute( \"xsd\", \"2.0.50727.42\" )]\n  [System.SerializableAttribute()]\n  [System.Diagnostics.DebuggerStepThroughAttribute()]\n  [System.ComponentModel.DesignerCategoryAttribute( \"code\" )]\n  [System.Xml.Serialization.XmlTypeAttribute( Namespace = \"http://opcfoundation.org/UA/2008/02/Types.xsd\" )]\n  [System.Xml.Serialization.XmlRootAttribute( Namespace = \"http://opcfoundation.org/UA/2008/02/Types.xsd\", IsNullable = false )]\n  public partial class EventFilter: MonitoringFilter\n  {\n\n    private SimpleAttributeOperand[] selectClausesField;\n\n    private ContentFilter whereClauseField;\n\n    /// <uwagi/>\n    public SimpleAttributeOperand[] SelectClauses\n    {\n      get\n      {\n        return this.selectClausesField;\n      }\n      set\n      {\n        this.selectClausesField = value;\n      }\n    }\n\n    /// <uwagi/>\n    public ContentFilter WhereClause\n    {\n      get\n      {\n        return this.whereClauseField;\n      }\n      set\n      {\n        this.whereClauseField = value;\n      }\n    }\n  }\n\n  /// <uwagi/>\n  [System.Xml.Serialization.XmlIncludeAttribute( typeof( AggregateFilter ) )]\n  [System.Xml.Serialization.XmlIncludeAttribute( typeof( EventFilter ) )]\n  [System.Xml.Serialization.XmlIncludeAttribute( typeof( DataChangeFilter ) )]\n  [System.CodeDom.Compiler.GeneratedCodeAttribute( \"xsd\", \"2.0.50727.42\" )]\n  [System.SerializableAttribute()]\n  [System.Diagnostics.DebuggerStepThroughAttribute()]\n  [System.ComponentModel.DesignerCategoryAttribute( \"code\" )]\n  [System.Xml.Serialization.XmlTypeAttribute( Namespace = \"http://opcfoundation.org/UA/2008/02/Types.xsd\" )]\n  [System.Xml.Serialization.XmlRootAttribute( Namespace = \"http://opcfoundation.org/UA/2008/02/Types.xsd\", IsNullable = false )]\n  public partial class MonitoringFilter\n  {\n  }\n\n  /// <uwagi/>\n  [System.CodeDom.Compiler.GeneratedCodeAttribute( \"xsd\", \"2.0.50727.42\" )]\n  [System.SerializableAttribute()]\n  [System.Diagnostics.DebuggerStepThroughAttribute()]\n  [System.ComponentModel.DesignerCategoryAttribute( \"code\" )]\n  [System.Xml.Serialization.XmlTypeAttribute( Namespace = \"http://opcfoundation.org/UA/2008/02/Types.xsd\" )]\n  [System.Xml.Serialization.XmlRootAttribute( Namespace = \"http://opcfoundation.org/UA/2008/02/Types.xsd\", IsNullable = false )]\n  public partial class ReadRawModifiedDetails: HistoryReadDetails\n  {\n\n    private bool isReadModifiedField;\n\n    private System.DateTime startTimeField;\n\n    private System.DateTime endTimeField;\n\n    private uint numValuesPerNodeField;\n\n    private bool returnBoundsField;\n\n    /// <uwagi/>\n    public bool IsReadModified\n    {\n      get\n      {\n        return this.isReadModifiedField;\n      }\n      set\n      {\n        this.isReadModifiedField = value;\n      }\n    }\n\n    /// <uwagi/>\n    public System.DateTime StartTime\n    {\n      get\n      {\n        return this.startTimeField;\n      }\n      set\n      {\n        this.startTimeField = value;\n      }\n    }\n\n    /// <uwagi/>\n    public System.DateTime EndTime\n    {\n      get\n      {\n        return this.endTimeField;\n      }\n      set\n      {\n        this.endTimeField = value;\n      }\n    }\n\n    /// <uwagi/>\n    public uint NumValuesPerNode\n    {\n      get\n      {\n        return this.numValuesPerNodeField;\n      }\n      set\n      {\n        this.numValuesPerNodeField = value;\n      }\n    }\n\n    /// <uwagi/>\n    public bool ReturnBounds\n    {\n      get\n      {\n        return this.returnBoundsField;\n      }\n      set\n      {\n        this.returnBoundsField = value;\n      }\n    }\n  }\n\n  /// <uwagi/>\n  [System.CodeDom.Compiler.GeneratedCodeAttribute( \"xsd\", \"2.0.50727.42\" )]\n  [System.SerializableAttribute()]\n  [System.Diagnostics.DebuggerStepThroughAttribute()]\n  [System.ComponentModel.DesignerCategoryAttribute( \"code\" )]\n  [System.Xml.Serialization.XmlTypeAttribute( Namespace = \"http://opcfoundation.org/UA/2008/02/Types.xsd\" )]\n  [System.Xml.Serialization.XmlRootAttribute( Namespace = \"http://opcfoundation.org/UA/2008/02/Types.xsd\", IsNullable = false )]\n  public partial class ReadProcessedDetails: HistoryReadDetails\n  {\n\n    private System.DateTime startTimeField;\n\n    private System.DateTime endTimeField;\n\n    private double resampleIntervalField;\n\n    private NodeId[] aggregateTypeField;\n\n    private AggregateConfiguration aggregateConfigurationField;\n\n    /// <uwagi/>\n    public System.DateTime StartTime\n    {\n      get\n      {\n        return this.startTimeField;\n      }\n      set\n      {\n        this.startTimeField = value;\n      }\n    }\n\n    /// <uwagi/>\n    public System.DateTime EndTime\n    {\n      get\n      {\n        return this.endTimeField;\n      }\n      set\n      {\n        this.endTimeField = value;\n      }\n    }\n\n    /// <uwagi/>\n    public double ResampleInterval\n    {\n      get\n      {\n        return this.resampleIntervalField;\n      }\n      set\n      {\n        this.resampleIntervalField = value;\n      }\n    }\n\n    /// <uwagi/>\n    [System.Xml.Serialization.XmlArrayAttribute( IsNullable = true )]\n    public NodeId[] AggregateType\n    {\n      get\n      {\n        return this.aggregateTypeField;\n      }\n      set\n      {\n        this.aggregateTypeField = value;\n      }\n    }\n\n    /// <uwagi/>\n    public AggregateConfiguration AggregateConfiguration\n    {\n      get\n      {\n        return this.aggregateConfigurationField;\n      }\n      set\n      {\n        this.aggregateConfigurationField = value;\n      }\n    }\n  }\n\n  /// <uwagi/>\n  [System.CodeDom.Compiler.GeneratedCodeAttribute( \"xsd\", \"2.0.50727.42\" )]\n  [System.SerializableAttribute()]\n  [System.Diagnostics.DebuggerStepThroughAttribute()]\n  [System.ComponentModel.DesignerCategoryAttribute( \"code\" )]\n  [System.Xml.Serialization.XmlTypeAttribute( Namespace = \"http://opcfoundation.org/UA/2008/02/Types.xsd\" )]\n  [System.Xml.Serialization.XmlRootAttribute( Namespace = \"http://opcfoundation.org/UA/2008/02/Types.xsd\", IsNullable = false )]\n  public partial class AggregateConfiguration\n  {\n\n    private bool treatUncertainAsBadField;\n\n    private byte percentDataBadField;\n\n    private byte percentDataGoodField;\n\n    private bool steppedSlopedExtrapolationField;\n\n    /// <uwagi/>\n    public bool TreatUncertainAsBad\n    {\n      get\n      {\n        return this.treatUncertainAsBadField;\n      }\n      set\n      {\n        this.treatUncertainAsBadField = value;\n      }\n    }\n\n    /// <uwagi/>\n    public byte PercentDataBad\n    {\n      get\n      {\n        return this.percentDataBadField;\n      }\n      set\n      {\n        this.percentDataBadField = value;\n      }\n    }\n\n    /// <uwagi/>\n    public byte PercentDataGood\n    {\n      get\n      {\n        return this.percentDataGoodField;\n      }\n      set\n      {\n        this.percentDataGoodField = value;\n      }\n    }\n\n    /// <uwagi/>\n    public bool SteppedSlopedExtrapolation\n    {\n      get\n      {\n        return this.steppedSlopedExtrapolationField;\n      }\n      set\n      {\n        this.steppedSlopedExtrapolationField = value;\n      }\n    }\n  }\n\n  /// <uwagi/>\n  [System.CodeDom.Compiler.GeneratedCodeAttribute( \"xsd\", \"2.0.50727.42\" )]\n  [System.SerializableAttribute()]\n  [System.Diagnostics.DebuggerStepThroughAttribute()]\n  [System.ComponentModel.DesignerCategoryAttribute( \"code\" )]\n  [System.Xml.Serialization.XmlTypeAttribute( Namespace = \"http://opcfoundation.org/UA/2008/02/Types.xsd\" )]\n  [System.Xml.Serialization.XmlRootAttribute( Namespace = \"http://opcfoundation.org/UA/2008/02/Types.xsd\", IsNullable = false )]\n  public partial class ReadAtTimeDetails: HistoryReadDetails\n  {\n\n    private System.DateTime[] reqTimesField;\n\n    /// <uwagi/>\n    [System.Xml.Serialization.XmlArrayItemAttribute( \"DateTime\", IsNullable = false )]\n    public System.DateTime[] ReqTimes\n    {\n      get\n      {\n        return this.reqTimesField;\n      }\n      set\n      {\n        this.reqTimesField = value;\n      }\n    }\n  }\n\n  /// <uwagi/>\n  [System.Xml.Serialization.XmlIncludeAttribute( typeof( HistoryModifiedData ) )]\n  [System.CodeDom.Compiler.GeneratedCodeAttribute( \"xsd\", \"2.0.50727.42\" )]\n  [System.SerializableAttribute()]\n  [System.Diagnostics.DebuggerStepThroughAttribute()]\n  [System.ComponentModel.DesignerCategoryAttribute( \"code\" )]\n  [System.Xml.Serialization.XmlTypeAttribute( Namespace = \"http://opcfoundation.org/UA/2008/02/Types.xsd\" )]\n  [System.Xml.Serialization.XmlRootAttribute( Namespace = \"http://opcfoundation.org/UA/2008/02/Types.xsd\", IsNullable = false )]\n  public partial class HistoryData\n  {\n\n    private DataValue[] dataValuesField;\n\n    /// <uwagi/>\n    public DataValue[] DataValues\n    {\n      get\n      {\n        return this.dataValuesField;\n      }\n      set\n      {\n        this.dataValuesField = value;\n      }\n    }\n  }\n\n  /// <uwagi/>\n  [System.CodeDom.Compiler.GeneratedCodeAttribute( \"xsd\", \"2.0.50727.42\" )]\n  [System.SerializableAttribute()]\n  [System.Diagnostics.DebuggerStepThroughAttribute()]\n  [System.ComponentModel.DesignerCategoryAttribute( \"code\" )]\n  [System.Xml.Serialization.XmlTypeAttribute( Namespace = \"http://opcfoundation.org/UA/2008/02/Types.xsd\" )]\n  [System.Xml.Serialization.XmlRootAttribute( Namespace = \"http://opcfoundation.org/UA/2008/02/Types.xsd\", IsNullable = false )]\n  public partial class ModificationInfo\n  {\n\n    private System.DateTime modificationTimeField;\n\n    private HistoryUpdateType updateTypeField;\n\n    private string userNameField;\n\n    /// <uwagi/>\n    public System.DateTime ModificationTime\n    {\n      get\n      {\n        return this.modificationTimeField;\n      }\n      set\n      {\n        this.modificationTimeField = value;\n      }\n    }\n\n    /// <uwagi/>\n    public HistoryUpdateType UpdateType\n    {\n      get\n      {\n        return this.updateTypeField;\n      }\n      set\n      {\n        this.updateTypeField = value;\n      }\n    }\n\n    /// <uwagi/>\n    [System.Xml.Serialization.XmlElementAttribute( IsNullable = true )]\n    public string UserName\n    {\n      get\n      {\n        return this.userNameField;\n      }\n      set\n      {\n        this.userNameField = value;\n      }\n    }\n  }\n\n  /// <uwagi/>\n  [System.CodeDom.Compiler.GeneratedCodeAttribute( \"xsd\", \"2.0.50727.42\" )]\n  [System.SerializableAttribute()]\n  [System.Xml.Serialization.XmlTypeAttribute( Namespace = \"http://opcfoundation.org/UA/2008/02/Types.xsd\" )]\n  [System.Xml.Serialization.XmlRootAttribute( Namespace = \"http://opcfoundation.org/UA/2008/02/Types.xsd\", IsNullable = false )]\n  public enum HistoryUpdateType\n  {\n\n    /// <uwagi/>\n    Insert_1,\n\n    /// <uwagi/>\n    Replace_2,\n\n    /// <uwagi/>\n    Update_3,\n\n    /// <uwagi/>\n    Delete_4,\n  }\n\n  /// <uwagi/>\n  [System.CodeDom.Compiler.GeneratedCodeAttribute( \"xsd\", \"2.0.50727.42\" )]\n  [System.SerializableAttribute()]\n  [System.Diagnostics.DebuggerStepThroughAttribute()]\n  [System.ComponentModel.DesignerCategoryAttribute( \"code\" )]\n  [System.Xml.Serialization.XmlTypeAttribute( Namespace = \"http://opcfoundation.org/UA/2008/02/Types.xsd\" )]\n  [System.Xml.Serialization.XmlRootAttribute( Namespace = \"http://opcfoundation.org/UA/2008/02/Types.xsd\", IsNullable = true )]\n  public partial class ListOfModificationInfo\n  {\n\n    private ModificationInfo[] modificationInfoField;\n\n    /// <uwagi/>\n    [System.Xml.Serialization.XmlElementAttribute( \"ModificationInfo\", IsNullable = true )]\n    public ModificationInfo[] ModificationInfo\n    {\n      get\n      {\n        return this.modificationInfoField;\n      }\n      set\n      {\n        this.modificationInfoField = value;\n      }\n    }\n  }\n\n  /// <uwagi/>\n  [System.CodeDom.Compiler.GeneratedCodeAttribute( \"xsd\", \"2.0.50727.42\" )]\n  [System.SerializableAttribute()]\n  [System.Diagnostics.DebuggerStepThroughAttribute()]\n  [System.ComponentModel.DesignerCategoryAttribute( \"code\" )]\n  [System.Xml.Serialization.XmlTypeAttribute( Namespace = \"http://opcfoundation.org/UA/2008/02/Types.xsd\" )]\n  [System.Xml.Serialization.XmlRootAttribute( Namespace = \"http://opcfoundation.org/UA/2008/02/Types.xsd\", IsNullable = false )]\n  public partial class HistoryModifiedData: HistoryData\n  {\n\n    private ModificationInfo[] modificationInfosField;\n\n    /// <uwagi/>\n    public ModificationInfo[] ModificationInfos\n    {\n      get\n      {\n        return this.modificationInfosField;\n      }\n      set\n      {\n        this.modificationInfosField = value;\n      }\n    }\n  }\n\n  /// <uwagi/>\n  [System.CodeDom.Compiler.GeneratedCodeAttribute( \"xsd\", \"2.0.50727.42\" )]\n  [System.SerializableAttribute()]\n  [System.Diagnostics.DebuggerStepThroughAttribute()]\n  [System.ComponentModel.DesignerCategoryAttribute( \"code\" )]\n  [System.Xml.Serialization.XmlTypeAttribute( Namespace = \"http://opcfoundation.org/UA/2008/02/Types.xsd\" )]\n  [System.Xml.Serialization.XmlRootAttribute( Namespace = \"http://opcfoundation.org/UA/2008/02/Types.xsd\", IsNullable = false )]\n  public partial class HistoryEvent\n  {\n\n    private HistoryEventFieldList[] eventsField;\n\n    /// <uwagi/>\n    public HistoryEventFieldList[] Events\n    {\n      get\n      {\n        return this.eventsField;\n      }\n      set\n      {\n        this.eventsField = value;\n      }\n    }\n  }\n\n  /// <uwagi/>\n  [System.CodeDom.Compiler.GeneratedCodeAttribute( \"xsd\", \"2.0.50727.42\" )]\n  [System.SerializableAttribute()]\n  [System.Diagnostics.DebuggerStepThroughAttribute()]\n  [System.ComponentModel.DesignerCategoryAttribute( \"code\" )]\n  [System.Xml.Serialization.XmlTypeAttribute( Namespace = \"http://opcfoundation.org/UA/2008/02/Types.xsd\" )]\n  [System.Xml.Serialization.XmlRootAttribute( Namespace = \"http://opcfoundation.org/UA/2008/02/Types.xsd\", IsNullable = false )]\n  public partial class HistoryEventFieldList\n  {\n\n    private Variant[] eventFieldsField;\n\n    /// <uwagi/>\n    public Variant[] EventFields\n    {\n      get\n      {\n        return this.eventFieldsField;\n      }\n      set\n      {\n        this.eventFieldsField = value;\n      }\n    }\n  }\n\n  /// <uwagi/>\n  [System.CodeDom.Compiler.GeneratedCodeAttribute( \"xsd\", \"2.0.50727.42\" )]\n  [System.SerializableAttribute()]\n  [System.Diagnostics.DebuggerStepThroughAttribute()]\n  [System.ComponentModel.DesignerCategoryAttribute( \"code\" )]\n  [System.Xml.Serialization.XmlTypeAttribute( Namespace = \"http://opcfoundation.org/UA/2008/02/Types.xsd\" )]\n  [System.Xml.Serialization.XmlRootAttribute( Namespace = \"http://opcfoundation.org/UA/2008/02/Types.xsd\", IsNullable = false )]\n  public partial class HistoryReadRequest\n  {\n\n    private RequestHeader requestHeaderField;\n\n    private ExtensionObject historyReadDetailsField;\n\n    private TimestampsToReturn timestampsToReturnField;\n\n    private bool releaseContinuationPointsField;\n\n    private HistoryReadValueId[] nodesToReadField;\n\n    /// <uwagi/>\n    public RequestHeader RequestHeader\n    {\n      get\n      {\n        return this.requestHeaderField;\n      }\n      set\n      {\n        this.requestHeaderField = value;\n      }\n    }\n\n    /// <uwagi/>\n    public ExtensionObject HistoryReadDetails\n    {\n      get\n      {\n        return this.historyReadDetailsField;\n      }\n      set\n      {\n        this.historyReadDetailsField = value;\n      }\n    }\n\n    /// <uwagi/>\n    public TimestampsToReturn TimestampsToReturn\n    {\n      get\n      {\n        return this.timestampsToReturnField;\n      }\n      set\n      {\n        this.timestampsToReturnField = value;\n      }\n    }\n\n    /// <uwagi/>\n    public bool ReleaseContinuationPoints\n    {\n      get\n      {\n        return this.releaseContinuationPointsField;\n      }\n      set\n      {\n        this.releaseContinuationPointsField = value;\n      }\n    }\n\n    /// <uwagi/>\n    public HistoryReadValueId[] NodesToRead\n    {\n      get\n      {\n        return this.nodesToReadField;\n      }\n      set\n      {\n        this.nodesToReadField = value;\n      }\n    }\n  }\n\n  /// <uwagi/>\n  [System.CodeDom.Compiler.GeneratedCodeAttribute( \"xsd\", \"2.0.50727.42\" )]\n  [System.SerializableAttribute()]\n  [System.Diagnostics.DebuggerStepThroughAttribute()]\n  [System.ComponentModel.DesignerCategoryAttribute( \"code\" )]\n  [System.Xml.Serialization.XmlTypeAttribute( Namespace = \"http://opcfoundation.org/UA/2008/02/Types.xsd\" )]\n  [System.Xml.Serialization.XmlRootAttribute( Namespace = \"http://opcfoundation.org/UA/2008/02/Types.xsd\", IsNullable = false )]\n  public partial class HistoryReadResponse\n  {\n\n    private ResponseHeader responseHeaderField;\n\n    private HistoryReadResult[] resultsField;\n\n    private DiagnosticInfo[] diagnosticInfosField;\n\n    /// <uwagi/>\n    public ResponseHeader ResponseHeader\n    {\n      get\n      {\n        return this.responseHeaderField;\n      }\n      set\n      {\n        this.responseHeaderField = value;\n      }\n    }\n\n    /// <uwagi/>\n    public HistoryReadResult[] Results\n    {\n      get\n      {\n        return this.resultsField;\n      }\n      set\n      {\n        this.resultsField = value;\n      }\n    }\n\n    /// <uwagi/>\n    [System.Xml.Serialization.XmlArrayAttribute( IsNullable = true )]\n    public DiagnosticInfo[] DiagnosticInfos\n    {\n      get\n      {\n        return this.diagnosticInfosField;\n      }\n      set\n      {\n        this.diagnosticInfosField = value;\n      }\n    }\n  }\n\n  /// <uwagi/>\n  [System.CodeDom.Compiler.GeneratedCodeAttribute( \"xsd\", \"2.0.50727.42\" )]\n  [System.SerializableAttribute()]\n  [System.Diagnostics.DebuggerStepThroughAttribute()]\n  [System.ComponentModel.DesignerCategoryAttribute( \"code\" )]\n  [System.Xml.Serialization.XmlTypeAttribute( Namespace = \"http://opcfoundation.org/UA/2008/02/Types.xsd\" )]\n  [System.Xml.Serialization.XmlRootAttribute( Namespace = \"http://opcfoundation.org/UA/2008/02/Types.xsd\", IsNullable = false )]\n  public partial class WriteValue\n  {\n\n    private NodeId nodeIdField;\n\n    private uint attributeIdField;\n\n    private string indexRangeField;\n\n    private DataValue valueField;\n\n    /// <uwagi/>\n    [System.Xml.Serialization.XmlElementAttribute( IsNullable = true )]\n    public NodeId NodeId\n    {\n      get\n      {\n        return this.nodeIdField;\n      }\n      set\n      {\n        this.nodeIdField = value;\n      }\n    }\n\n    /// <uwagi/>\n    public uint AttributeId\n    {\n      get\n      {\n        return this.attributeIdField;\n      }\n      set\n      {\n        this.attributeIdField = value;\n      }\n    }\n\n    /// <uwagi/>\n    [System.Xml.Serialization.XmlElementAttribute( IsNullable = true )]\n    public string IndexRange\n    {\n      get\n      {\n        return this.indexRangeField;\n      }\n      set\n      {\n        this.indexRangeField = value;\n      }\n    }\n\n    /// <uwagi/>\n    public DataValue Value\n    {\n      get\n      {\n        return this.valueField;\n      }\n      set\n      {\n        this.valueField = value;\n      }\n    }\n  }\n\n  /// <uwagi/>\n  [System.CodeDom.Compiler.GeneratedCodeAttribute( \"xsd\", \"2.0.50727.42\" )]\n  [System.SerializableAttribute()]\n  [System.Diagnostics.DebuggerStepThroughAttribute()]\n  [System.ComponentModel.DesignerCategoryAttribute( \"code\" )]\n  [System.Xml.Serialization.XmlTypeAttribute( Namespace = \"http://opcfoundation.org/UA/2008/02/Types.xsd\" )]\n  [System.Xml.Serialization.XmlRootAttribute( Namespace = \"http://opcfoundation.org/UA/2008/02/Types.xsd\", IsNullable = true )]\n  public partial class ListOfWriteValue\n  {\n\n    private WriteValue[] writeValueField;\n\n    /// <uwagi/>\n    [System.Xml.Serialization.XmlElementAttribute( \"WriteValue\", IsNullable = true )]\n    public WriteValue[] WriteValue\n    {\n      get\n      {\n        return this.writeValueField;\n      }\n      set\n      {\n        this.writeValueField = value;\n      }\n    }\n  }\n\n  /// <uwagi/>\n  [System.CodeDom.Compiler.GeneratedCodeAttribute( \"xsd\", \"2.0.50727.42\" )]\n  [System.SerializableAttribute()]\n  [System.Diagnostics.DebuggerStepThroughAttribute()]\n  [System.ComponentModel.DesignerCategoryAttribute( \"code\" )]\n  [System.Xml.Serialization.XmlTypeAttribute( Namespace = \"http://opcfoundation.org/UA/2008/02/Types.xsd\" )]\n  [System.Xml.Serialization.XmlRootAttribute( Namespace = \"http://opcfoundation.org/UA/2008/02/Types.xsd\", IsNullable = false )]\n  public partial class WriteRequest\n  {\n\n    private RequestHeader requestHeaderField;\n\n    private WriteValue[] nodesToWriteField;\n\n    /// <uwagi/>\n    public RequestHeader RequestHeader\n    {\n      get\n      {\n        return this.requestHeaderField;\n      }\n      set\n      {\n        this.requestHeaderField = value;\n      }\n    }\n\n    /// <uwagi/>\n    public WriteValue[] NodesToWrite\n    {\n      get\n      {\n        return this.nodesToWriteField;\n      }\n      set\n      {\n        this.nodesToWriteField = value;\n      }\n    }\n  }\n\n  /// <uwagi/>\n  [System.CodeDom.Compiler.GeneratedCodeAttribute( \"xsd\", \"2.0.50727.42\" )]\n  [System.SerializableAttribute()]\n  [System.Diagnostics.DebuggerStepThroughAttribute()]\n  [System.ComponentModel.DesignerCategoryAttribute( \"code\" )]\n  [System.Xml.Serialization.XmlTypeAttribute( Namespace = \"http://opcfoundation.org/UA/2008/02/Types.xsd\" )]\n  [System.Xml.Serialization.XmlRootAttribute( Namespace = \"http://opcfoundation.org/UA/2008/02/Types.xsd\", IsNullable = false )]\n  public partial class WriteResponse\n  {\n\n    private ResponseHeader responseHeaderField;\n\n    private StatusCode[] resultsField;\n\n    private DiagnosticInfo[] diagnosticInfosField;\n\n    /// <uwagi/>\n    public ResponseHeader ResponseHeader\n    {\n      get\n      {\n        return this.responseHeaderField;\n      }\n      set\n      {\n        this.responseHeaderField = value;\n      }\n    }\n\n    /// <uwagi/>\n    public StatusCode[] Results\n    {\n      get\n      {\n        return this.resultsField;\n      }\n      set\n      {\n        this.resultsField = value;\n      }\n    }\n\n    /// <uwagi/>\n    [System.Xml.Serialization.XmlArrayAttribute( IsNullable = true )]\n    public DiagnosticInfo[] DiagnosticInfos\n    {\n      get\n      {\n        return this.diagnosticInfosField;\n      }\n      set\n      {\n        this.diagnosticInfosField = value;\n      }\n    }\n  }\n\n  /// <uwagi/>\n  [System.Xml.Serialization.XmlIncludeAttribute( typeof( DeleteEventDetails ) )]\n  [System.Xml.Serialization.XmlIncludeAttribute( typeof( DeleteAtTimeDetails ) )]\n  [System.Xml.Serialization.XmlIncludeAttribute( typeof( DeleteRawModifiedDetails ) )]\n  [System.Xml.Serialization.XmlIncludeAttribute( typeof( UpdateEventDetails ) )]\n  [System.Xml.Serialization.XmlIncludeAttribute( typeof( UpdateDataDetails ) )]\n  [System.CodeDom.Compiler.GeneratedCodeAttribute( \"xsd\", \"2.0.50727.42\" )]\n  [System.SerializableAttribute()]\n  [System.Diagnostics.DebuggerStepThroughAttribute()]\n  [System.ComponentModel.DesignerCategoryAttribute( \"code\" )]\n  [System.Xml.Serialization.XmlTypeAttribute( Namespace = \"http://opcfoundation.org/UA/2008/02/Types.xsd\" )]\n  [System.Xml.Serialization.XmlRootAttribute( Namespace = \"http://opcfoundation.org/UA/2008/02/Types.xsd\", IsNullable = false )]\n  public partial class HistoryUpdateDetails\n  {\n\n    private NodeId nodeIdField;\n\n    /// <uwagi/>\n    [System.Xml.Serialization.XmlElementAttribute( IsNullable = true )]\n    public NodeId NodeId\n    {\n      get\n      {\n        return this.nodeIdField;\n      }\n      set\n      {\n        this.nodeIdField = value;\n      }\n    }\n  }\n\n  /// <uwagi/>\n  [System.CodeDom.Compiler.GeneratedCodeAttribute( \"xsd\", \"2.0.50727.42\" )]\n  [System.SerializableAttribute()]\n  [System.Xml.Serialization.XmlTypeAttribute( Namespace = \"http://opcfoundation.org/UA/2008/02/Types.xsd\" )]\n  [System.Xml.Serialization.XmlRootAttribute( Namespace = \"http://opcfoundation.org/UA/2008/02/Types.xsd\", IsNullable = false )]\n  public enum PerformInsertReplaceType\n  {\n\n    /// <uwagi/>\n    Insert_1,\n\n    /// <uwagi/>\n    Replace_2,\n\n    /// <uwagi/>\n    Update_3,\n  }\n\n  /// <uwagi/>\n  [System.CodeDom.Compiler.GeneratedCodeAttribute( \"xsd\", \"2.0.50727.42\" )]\n  [System.SerializableAttribute()]\n  [System.Diagnostics.DebuggerStepThroughAttribute()]\n  [System.ComponentModel.DesignerCategoryAttribute( \"code\" )]\n  [System.Xml.Serialization.XmlTypeAttribute( Namespace = \"http://opcfoundation.org/UA/2008/02/Types.xsd\" )]\n  [System.Xml.Serialization.XmlRootAttribute( Namespace = \"http://opcfoundation.org/UA/2008/02/Types.xsd\", IsNullable = false )]\n  public partial class UpdateDataDetails: HistoryUpdateDetails\n  {\n\n    private PerformInsertReplaceType performInsertReplaceField;\n\n    private HistoryData updateValueField;\n\n    /// <uwagi/>\n    public PerformInsertReplaceType PerformInsertReplace\n    {\n      get\n      {\n        return this.performInsertReplaceField;\n      }\n      set\n      {\n        this.performInsertReplaceField = value;\n      }\n    }\n\n    /// <uwagi/>\n    public HistoryData UpdateValue\n    {\n      get\n      {\n        return this.updateValueField;\n      }\n      set\n      {\n        this.updateValueField = value;\n      }\n    }\n  }\n\n  /// <uwagi/>\n  [System.CodeDom.Compiler.GeneratedCodeAttribute( \"xsd\", \"2.0.50727.42\" )]\n  [System.SerializableAttribute()]\n  [System.Diagnostics.DebuggerStepThroughAttribute()]\n  [System.ComponentModel.DesignerCategoryAttribute( \"code\" )]\n  [System.Xml.Serialization.XmlTypeAttribute( Namespace = \"http://opcfoundation.org/UA/2008/02/Types.xsd\" )]\n  [System.Xml.Serialization.XmlRootAttribute( Namespace = \"http://opcfoundation.org/UA/2008/02/Types.xsd\", IsNullable = false )]\n  public partial class UpdateEventDetails: HistoryUpdateDetails\n  {\n\n    private PerformInsertReplaceType performInsertReplaceField;\n\n    private EventFilter filterField;\n\n    private HistoryEventFieldList eventDataField;\n\n    /// <uwagi/>\n    public PerformInsertReplaceType PerformInsertReplace\n    {\n      get\n      {\n        return this.performInsertReplaceField;\n      }\n      set\n      {\n        this.performInsertReplaceField = value;\n      }\n    }\n\n    /// <uwagi/>\n    public EventFilter Filter\n    {\n      get\n      {\n        return this.filterField;\n      }\n      set\n      {\n        this.filterField = value;\n      }\n    }\n\n    /// <uwagi/>\n    public HistoryEventFieldList EventData\n    {\n      get\n      {\n        return this.eventDataField;\n      }\n      set\n      {\n        this.eventDataField = value;\n      }\n    }\n  }\n\n  /// <uwagi/>\n  [System.CodeDom.Compiler.GeneratedCodeAttribute( \"xsd\", \"2.0.50727.42\" )]\n  [System.SerializableAttribute()]\n  [System.Diagnostics.DebuggerStepThroughAttribute()]\n  [System.ComponentModel.DesignerCategoryAttribute( \"code\" )]\n  [System.Xml.Serialization.XmlTypeAttribute( Namespace = \"http://opcfoundation.org/UA/2008/02/Types.xsd\" )]\n  [System.Xml.Serialization.XmlRootAttribute( Namespace = \"http://opcfoundation.org/UA/2008/02/Types.xsd\", IsNullable = false )]\n  public partial class DeleteRawModifiedDetails: HistoryUpdateDetails\n  {\n\n    private bool isDeleteModifiedField;\n\n    private System.DateTime startTimeField;\n\n    private System.DateTime endTimeField;\n\n    /// <uwagi/>\n    public bool IsDeleteModified\n    {\n      get\n      {\n        return this.isDeleteModifiedField;\n      }\n      set\n      {\n        this.isDeleteModifiedField = value;\n      }\n    }\n\n    /// <uwagi/>\n    public System.DateTime StartTime\n    {\n      get\n      {\n        return this.startTimeField;\n      }\n      set\n      {\n        this.startTimeField = value;\n      }\n    }\n\n    /// <uwagi/>\n    public System.DateTime EndTime\n    {\n      get\n      {\n        return this.endTimeField;\n      }\n      set\n      {\n        this.endTimeField = value;\n      }\n    }\n  }\n\n  /// <uwagi/>\n  [System.CodeDom.Compiler.GeneratedCodeAttribute( \"xsd\", \"2.0.50727.42\" )]\n  [System.SerializableAttribute()]\n  [System.Diagnostics.DebuggerStepThroughAttribute()]\n  [System.ComponentModel.DesignerCategoryAttribute( \"code\" )]\n  [System.Xml.Serialization.XmlTypeAttribute( Namespace = \"http://opcfoundation.org/UA/2008/02/Types.xsd\" )]\n  [System.Xml.Serialization.XmlRootAttribute( Namespace = \"http://opcfoundation.org/UA/2008/02/Types.xsd\", IsNullable = false )]\n  public partial class DeleteAtTimeDetails: HistoryUpdateDetails\n  {\n\n    private System.DateTime[] reqTimesField;\n\n    /// <uwagi/>\n    [System.Xml.Serialization.XmlArrayItemAttribute( \"DateTime\", IsNullable = false )]\n    public System.DateTime[] ReqTimes\n    {\n      get\n      {\n        return this.reqTimesField;\n      }\n      set\n      {\n        this.reqTimesField = value;\n      }\n    }\n  }\n\n  /// <uwagi/>\n  [System.CodeDom.Compiler.GeneratedCodeAttribute( \"xsd\", \"2.0.50727.42\" )]\n  [System.SerializableAttribute()]\n  [System.Diagnostics.DebuggerStepThroughAttribute()]\n  [System.ComponentModel.DesignerCategoryAttribute( \"code\" )]\n  [System.Xml.Serialization.XmlTypeAttribute( Namespace = \"http://opcfoundation.org/UA/2008/02/Types.xsd\" )]\n  [System.Xml.Serialization.XmlRootAttribute( Namespace = \"http://opcfoundation.org/UA/2008/02/Types.xsd\", IsNullable = false )]\n  public partial class DeleteEventDetails: HistoryUpdateDetails\n  {\n\n    private byte[] eventIdsField;\n\n    /// <uwagi/>\n    [System.Xml.Serialization.XmlElementAttribute( DataType = \"base64Binary\", IsNullable = true )]\n    public byte[] EventIds\n    {\n      get\n      {\n        return this.eventIdsField;\n      }\n      set\n      {\n        this.eventIdsField = value;\n      }\n    }\n  }\n\n  /// <uwagi/>\n  [System.CodeDom.Compiler.GeneratedCodeAttribute( \"xsd\", \"2.0.50727.42\" )]\n  [System.SerializableAttribute()]\n  [System.Diagnostics.DebuggerStepThroughAttribute()]\n  [System.ComponentModel.DesignerCategoryAttribute( \"code\" )]\n  [System.Xml.Serialization.XmlTypeAttribute( Namespace = \"http://opcfoundation.org/UA/2008/02/Types.xsd\" )]\n  [System.Xml.Serialization.XmlRootAttribute( Namespace = \"http://opcfoundation.org/UA/2008/02/Types.xsd\", IsNullable = false )]\n  public partial class HistoryUpdateResult\n  {\n\n    private StatusCode statusCodeField;\n\n    private StatusCode[] operationResultsField;\n\n    private DiagnosticInfo[] diagnosticInfosField;\n\n    /// <uwagi/>\n    public StatusCode StatusCode\n    {\n      get\n      {\n        return this.statusCodeField;\n      }\n      set\n      {\n        this.statusCodeField = value;\n      }\n    }\n\n    /// <uwagi/>\n    public StatusCode[] OperationResults\n    {\n      get\n      {\n        return this.operationResultsField;\n      }\n      set\n      {\n        this.operationResultsField = value;\n      }\n    }\n\n    /// <uwagi/>\n    [System.Xml.Serialization.XmlArrayAttribute( IsNullable = true )]\n    public DiagnosticInfo[] DiagnosticInfos\n    {\n      get\n      {\n        return this.diagnosticInfosField;\n      }\n      set\n      {\n        this.diagnosticInfosField = value;\n      }\n    }\n  }\n\n  /// <uwagi/>\n  [System.CodeDom.Compiler.GeneratedCodeAttribute( \"xsd\", \"2.0.50727.42\" )]\n  [System.SerializableAttribute()]\n  [System.Diagnostics.DebuggerStepThroughAttribute()]\n  [System.ComponentModel.DesignerCategoryAttribute( \"code\" )]\n  [System.Xml.Serialization.XmlTypeAttribute( Namespace = \"http://opcfoundation.org/UA/2008/02/Types.xsd\" )]\n  [System.Xml.Serialization.XmlRootAttribute( Namespace = \"http://opcfoundation.org/UA/2008/02/Types.xsd\", IsNullable = true )]\n  public partial class ListOfHistoryUpdateResult\n  {\n\n    private HistoryUpdateResult[] historyUpdateResultField;\n\n    /// <uwagi/>\n    [System.Xml.Serialization.XmlElementAttribute( \"HistoryUpdateResult\", IsNullable = true )]\n    public HistoryUpdateResult[] HistoryUpdateResult\n    {\n      get\n      {\n        return this.historyUpdateResultField;\n      }\n      set\n      {\n        this.historyUpdateResultField = value;\n      }\n    }\n  }\n\n  /// <uwagi/>\n  [System.CodeDom.Compiler.GeneratedCodeAttribute( \"xsd\", \"2.0.50727.42\" )]\n  [System.SerializableAttribute()]\n  [System.Diagnostics.DebuggerStepThroughAttribute()]\n  [System.ComponentModel.DesignerCategoryAttribute( \"code\" )]\n  [System.Xml.Serialization.XmlTypeAttribute( Namespace = \"http://opcfoundation.org/UA/2008/02/Types.xsd\" )]\n  [System.Xml.Serialization.XmlRootAttribute( Namespace = \"http://opcfoundation.org/UA/2008/02/Types.xsd\", IsNullable = false )]\n  public partial class HistoryUpdateEventResult\n  {\n\n    private StatusCode statusCodeField;\n\n    private EventFilterResult eventFilterResultField;\n\n    /// <uwagi/>\n    public StatusCode StatusCode\n    {\n      get\n      {\n        return this.statusCodeField;\n      }\n      set\n      {\n        this.statusCodeField = value;\n      }\n    }\n\n    /// <uwagi/>\n    public EventFilterResult EventFilterResult\n    {\n      get\n      {\n        return this.eventFilterResultField;\n      }\n      set\n      {\n        this.eventFilterResultField = value;\n      }\n    }\n  }\n\n  /// <uwagi/>\n  [System.CodeDom.Compiler.GeneratedCodeAttribute( \"xsd\", \"2.0.50727.42\" )]\n  [System.SerializableAttribute()]\n  [System.Diagnostics.DebuggerStepThroughAttribute()]\n  [System.ComponentModel.DesignerCategoryAttribute( \"code\" )]\n  [System.Xml.Serialization.XmlTypeAttribute( Namespace = \"http://opcfoundation.org/UA/2008/02/Types.xsd\" )]\n  [System.Xml.Serialization.XmlRootAttribute( Namespace = \"http://opcfoundation.org/UA/2008/02/Types.xsd\", IsNullable = false )]\n  public partial class EventFilterResult: MonitoringFilterResult\n  {\n\n    private StatusCode[] selectClauseResultsField;\n\n    private DiagnosticInfo[] selectClauseDiagnosticInfosField;\n\n    private ContentFilterResult whereClauseResultField;\n\n    /// <uwagi/>\n    public StatusCode[] SelectClauseResults\n    {\n      get\n      {\n        return this.selectClauseResultsField;\n      }\n      set\n      {\n        this.selectClauseResultsField = value;\n      }\n    }\n\n    /// <uwagi/>\n    [System.Xml.Serialization.XmlArrayAttribute( IsNullable = true )]\n    public DiagnosticInfo[] SelectClauseDiagnosticInfos\n    {\n      get\n      {\n        return this.selectClauseDiagnosticInfosField;\n      }\n      set\n      {\n        this.selectClauseDiagnosticInfosField = value;\n      }\n    }\n\n    /// <uwagi/>\n    public ContentFilterResult WhereClauseResult\n    {\n      get\n      {\n        return this.whereClauseResultField;\n      }\n      set\n      {\n        this.whereClauseResultField = value;\n      }\n    }\n  }\n\n  /// <uwagi/>\n  [System.Xml.Serialization.XmlIncludeAttribute( typeof( AggregateFilterResult ) )]\n  [System.Xml.Serialization.XmlIncludeAttribute( typeof( EventFilterResult ) )]\n  [System.CodeDom.Compiler.GeneratedCodeAttribute( \"xsd\", \"2.0.50727.42\" )]\n  [System.SerializableAttribute()]\n  [System.Diagnostics.DebuggerStepThroughAttribute()]\n  [System.ComponentModel.DesignerCategoryAttribute( \"code\" )]\n  [System.Xml.Serialization.XmlTypeAttribute( Namespace = \"http://opcfoundation.org/UA/2008/02/Types.xsd\" )]\n  [System.Xml.Serialization.XmlRootAttribute( Namespace = \"http://opcfoundation.org/UA/2008/02/Types.xsd\", IsNullable = false )]\n  public partial class MonitoringFilterResult\n  {\n  }\n\n  /// <uwagi/>\n  [System.CodeDom.Compiler.GeneratedCodeAttribute( \"xsd\", \"2.0.50727.42\" )]\n  [System.SerializableAttribute()]\n  [System.Diagnostics.DebuggerStepThroughAttribute()]\n  [System.ComponentModel.DesignerCategoryAttribute( \"code\" )]\n  [System.Xml.Serialization.XmlTypeAttribute( Namespace = \"http://opcfoundation.org/UA/2008/02/Types.xsd\" )]\n  [System.Xml.Serialization.XmlRootAttribute( Namespace = \"http://opcfoundation.org/UA/2008/02/Types.xsd\", IsNullable = true )]\n  public partial class ListOfHistoryUpdateEventResult\n  {\n\n    private HistoryUpdateEventResult[] historyUpdateEventResultField;\n\n    /// <uwagi/>\n    [System.Xml.Serialization.XmlElementAttribute( \"HistoryUpdateEventResult\", IsNullable = true )]\n    public HistoryUpdateEventResult[] HistoryUpdateEventResult\n    {\n      get\n      {\n        return this.historyUpdateEventResultField;\n      }\n      set\n      {\n        this.historyUpdateEventResultField = value;\n      }\n    }\n  }\n\n  /// <uwagi/>\n  [System.CodeDom.Compiler.GeneratedCodeAttribute( \"xsd\", \"2.0.50727.42\" )]\n  [System.SerializableAttribute()]\n  [System.Diagnostics.DebuggerStepThroughAttribute()]\n  [System.ComponentModel.DesignerCategoryAttribute( \"code\" )]\n  [System.Xml.Serialization.XmlTypeAttribute( Namespace = \"http://opcfoundation.org/UA/2008/02/Types.xsd\" )]\n  [System.Xml.Serialization.XmlRootAttribute( Namespace = \"http://opcfoundation.org/UA/2008/02/Types.xsd\", IsNullable = false )]\n  public partial class HistoryUpdateRequest\n  {\n\n    private RequestHeader requestHeaderField;\n\n    private ExtensionObject[] historyUpdateDetailsField;\n\n    /// <uwagi/>\n    public RequestHeader RequestHeader\n    {\n      get\n      {\n        return this.requestHeaderField;\n      }\n      set\n      {\n        this.requestHeaderField = value;\n      }\n    }\n\n    /// <uwagi/>\n    public ExtensionObject[] HistoryUpdateDetails\n    {\n      get\n      {\n        return this.historyUpdateDetailsField;\n      }\n      set\n      {\n        this.historyUpdateDetailsField = value;\n      }\n    }\n  }\n\n  /// <uwagi/>\n  [System.CodeDom.Compiler.GeneratedCodeAttribute( \"xsd\", \"2.0.50727.42\" )]\n  [System.SerializableAttribute()]\n  [System.Diagnostics.DebuggerStepThroughAttribute()]\n  [System.ComponentModel.DesignerCategoryAttribute( \"code\" )]\n  [System.Xml.Serialization.XmlTypeAttribute( Namespace = \"http://opcfoundation.org/UA/2008/02/Types.xsd\" )]\n  [System.Xml.Serialization.XmlRootAttribute( Namespace = \"http://opcfoundation.org/UA/2008/02/Types.xsd\", IsNullable = false )]\n  public partial class HistoryUpdateResponse\n  {\n\n    private ResponseHeader responseHeaderField;\n\n    private HistoryUpdateResult[] resultsField;\n\n    private DiagnosticInfo[] diagnosticInfosField;\n\n    /// <uwagi/>\n    public ResponseHeader ResponseHeader\n    {\n      get\n      {\n        return this.responseHeaderField;\n      }\n      set\n      {\n        this.responseHeaderField = value;\n      }\n    }\n\n    /// <uwagi/>\n    public HistoryUpdateResult[] Results\n    {\n      get\n      {\n        return this.resultsField;\n      }\n      set\n      {\n        this.resultsField = value;\n      }\n    }\n\n    /// <uwagi/>\n    [System.Xml.Serialization.XmlArrayAttribute( IsNullable = true )]\n    public DiagnosticInfo[] DiagnosticInfos\n    {\n      get\n      {\n        return this.diagnosticInfosField;\n      }\n      set\n      {\n        this.diagnosticInfosField = value;\n      }\n    }\n  }\n\n  /// <uwagi/>\n  [System.CodeDom.Compiler.GeneratedCodeAttribute( \"xsd\", \"2.0.50727.42\" )]\n  [System.SerializableAttribute()]\n  [System.Diagnostics.DebuggerStepThroughAttribute()]\n  [System.ComponentModel.DesignerCategoryAttribute( \"code\" )]\n  [System.Xml.Serialization.XmlTypeAttribute( Namespace = \"http://opcfoundation.org/UA/2008/02/Types.xsd\" )]\n  [System.Xml.Serialization.XmlRootAttribute( Namespace = \"http://opcfoundation.org/UA/2008/02/Types.xsd\", IsNullable = false )]\n  public partial class CallMethodRequest\n  {\n\n    private NodeId objectIdField;\n\n    private NodeId methodIdField;\n\n    private Variant[] inputArgumentsField;\n\n    /// <uwagi/>\n    [System.Xml.Serialization.XmlElementAttribute( IsNullable = true )]\n    public NodeId ObjectId\n    {\n      get\n      {\n        return this.objectIdField;\n      }\n      set\n      {\n        this.objectIdField = value;\n      }\n    }\n\n    /// <uwagi/>\n    [System.Xml.Serialization.XmlElementAttribute( IsNullable = true )]\n    public NodeId MethodId\n    {\n      get\n      {\n        return this.methodIdField;\n      }\n      set\n      {\n        this.methodIdField = value;\n      }\n    }\n\n    /// <uwagi/>\n    public Variant[] InputArguments\n    {\n      get\n      {\n        return this.inputArgumentsField;\n      }\n      set\n      {\n        this.inputArgumentsField = value;\n      }\n    }\n  }\n\n  /// <uwagi/>\n  [System.CodeDom.Compiler.GeneratedCodeAttribute( \"xsd\", \"2.0.50727.42\" )]\n  [System.SerializableAttribute()]\n  [System.Diagnostics.DebuggerStepThroughAttribute()]\n  [System.ComponentModel.DesignerCategoryAttribute( \"code\" )]\n  [System.Xml.Serialization.XmlTypeAttribute( Namespace = \"http://opcfoundation.org/UA/2008/02/Types.xsd\" )]\n  [System.Xml.Serialization.XmlRootAttribute( Namespace = \"http://opcfoundation.org/UA/2008/02/Types.xsd\", IsNullable = true )]\n  public partial class ListOfCallMethodRequest\n  {\n\n    private CallMethodRequest[] callMethodRequestField;\n\n    /// <uwagi/>\n    [System.Xml.Serialization.XmlElementAttribute( \"CallMethodRequest\", IsNullable = true )]\n    public CallMethodRequest[] CallMethodRequest\n    {\n      get\n      {\n        return this.callMethodRequestField;\n      }\n      set\n      {\n        this.callMethodRequestField = value;\n      }\n    }\n  }\n\n  /// <uwagi/>\n  [System.CodeDom.Compiler.GeneratedCodeAttribute( \"xsd\", \"2.0.50727.42\" )]\n  [System.SerializableAttribute()]\n  [System.Diagnostics.DebuggerStepThroughAttribute()]\n  [System.ComponentModel.DesignerCategoryAttribute( \"code\" )]\n  [System.Xml.Serialization.XmlTypeAttribute( Namespace = \"http://opcfoundation.org/UA/2008/02/Types.xsd\" )]\n  [System.Xml.Serialization.XmlRootAttribute( Namespace = \"http://opcfoundation.org/UA/2008/02/Types.xsd\", IsNullable = false )]\n  public partial class CallMethodResult\n  {\n\n    private StatusCode statusCodeField;\n\n    private StatusCode[] inputArgumentResultsField;\n\n    private DiagnosticInfo[] inputArgumentDiagnosticInfosField;\n\n    private Variant[] outputArgumentsField;\n\n    /// <uwagi/>\n    public StatusCode StatusCode\n    {\n      get\n      {\n        return this.statusCodeField;\n      }\n      set\n      {\n        this.statusCodeField = value;\n      }\n    }\n\n    /// <uwagi/>\n    public StatusCode[] InputArgumentResults\n    {\n      get\n      {\n        return this.inputArgumentResultsField;\n      }\n      set\n      {\n        this.inputArgumentResultsField = value;\n      }\n    }\n\n    /// <uwagi/>\n    [System.Xml.Serialization.XmlArrayAttribute( IsNullable = true )]\n    public DiagnosticInfo[] InputArgumentDiagnosticInfos\n    {\n      get\n      {\n        return this.inputArgumentDiagnosticInfosField;\n      }\n      set\n      {\n        this.inputArgumentDiagnosticInfosField = value;\n      }\n    }\n\n    /// <uwagi/>\n    public Variant[] OutputArguments\n    {\n      get\n      {\n        return this.outputArgumentsField;\n      }\n      set\n      {\n        this.outputArgumentsField = value;\n      }\n    }\n  }\n\n  /// <uwagi/>\n  [System.CodeDom.Compiler.GeneratedCodeAttribute( \"xsd\", \"2.0.50727.42\" )]\n  [System.SerializableAttribute()]\n  [System.Diagnostics.DebuggerStepThroughAttribute()]\n  [System.ComponentModel.DesignerCategoryAttribute( \"code\" )]\n  [System.Xml.Serialization.XmlTypeAttribute( Namespace = \"http://opcfoundation.org/UA/2008/02/Types.xsd\" )]\n  [System.Xml.Serialization.XmlRootAttribute( Namespace = \"http://opcfoundation.org/UA/2008/02/Types.xsd\", IsNullable = true )]\n  public partial class ListOfCallMethodResult\n  {\n\n    private CallMethodResult[] callMethodResultField;\n\n    /// <uwagi/>\n    [System.Xml.Serialization.XmlElementAttribute( \"CallMethodResult\", IsNullable = true )]\n    public CallMethodResult[] CallMethodResult\n    {\n      get\n      {\n        return this.callMethodResultField;\n      }\n      set\n      {\n        this.callMethodResultField = value;\n      }\n    }\n  }\n\n  /// <uwagi/>\n  [System.CodeDom.Compiler.GeneratedCodeAttribute( \"xsd\", \"2.0.50727.42\" )]\n  [System.SerializableAttribute()]\n  [System.Diagnostics.DebuggerStepThroughAttribute()]\n  [System.ComponentModel.DesignerCategoryAttribute( \"code\" )]\n  [System.Xml.Serialization.XmlTypeAttribute( Namespace = \"http://opcfoundation.org/UA/2008/02/Types.xsd\" )]\n  [System.Xml.Serialization.XmlRootAttribute( Namespace = \"http://opcfoundation.org/UA/2008/02/Types.xsd\", IsNullable = false )]\n  public partial class CallRequest\n  {\n\n    private RequestHeader requestHeaderField;\n\n    private CallMethodRequest[] methodsToCallField;\n\n    /// <uwagi/>\n    public RequestHeader RequestHeader\n    {\n      get\n      {\n        return this.requestHeaderField;\n      }\n      set\n      {\n        this.requestHeaderField = value;\n      }\n    }\n\n    /// <uwagi/>\n    public CallMethodRequest[] MethodsToCall\n    {\n      get\n      {\n        return this.methodsToCallField;\n      }\n      set\n      {\n        this.methodsToCallField = value;\n      }\n    }\n  }\n\n  /// <uwagi/>\n  [System.CodeDom.Compiler.GeneratedCodeAttribute( \"xsd\", \"2.0.50727.42\" )]\n  [System.SerializableAttribute()]\n  [System.Diagnostics.DebuggerStepThroughAttribute()]\n  [System.ComponentModel.DesignerCategoryAttribute( \"code\" )]\n  [System.Xml.Serialization.XmlTypeAttribute( Namespace = \"http://opcfoundation.org/UA/2008/02/Types.xsd\" )]\n  [System.Xml.Serialization.XmlRootAttribute( Namespace = \"http://opcfoundation.org/UA/2008/02/Types.xsd\", IsNullable = false )]\n  public partial class CallResponse\n  {\n\n    private ResponseHeader responseHeaderField;\n\n    private CallMethodResult[] resultsField;\n\n    private DiagnosticInfo[] diagnosticInfosField;\n\n    /// <uwagi/>\n    public ResponseHeader ResponseHeader\n    {\n      get\n      {\n        return this.responseHeaderField;\n      }\n      set\n      {\n        this.responseHeaderField = value;\n      }\n    }\n\n    /// <uwagi/>\n    public CallMethodResult[] Results\n    {\n      get\n      {\n        return this.resultsField;\n      }\n      set\n      {\n        this.resultsField = value;\n      }\n    }\n\n    /// <uwagi/>\n    [System.Xml.Serialization.XmlArrayAttribute( IsNullable = true )]\n    public DiagnosticInfo[] DiagnosticInfos\n    {\n      get\n      {\n        return this.diagnosticInfosField;\n      }\n      set\n      {\n        this.diagnosticInfosField = value;\n      }\n    }\n  }\n\n  /// <uwagi/>\n  [System.CodeDom.Compiler.GeneratedCodeAttribute( \"xsd\", \"2.0.50727.42\" )]\n  [System.SerializableAttribute()]\n  [System.Xml.Serialization.XmlTypeAttribute( Namespace = \"http://opcfoundation.org/UA/2008/02/Types.xsd\" )]\n  [System.Xml.Serialization.XmlRootAttribute( Namespace = \"http://opcfoundation.org/UA/2008/02/Types.xsd\", IsNullable = false )]\n  public enum MonitoringMode\n  {\n\n    /// <uwagi/>\n    Disabled_0,\n\n    /// <uwagi/>\n    Sampling_1,\n\n    /// <uwagi/>\n    Reporting_2,\n  }\n\n  /// <uwagi/>\n  [System.CodeDom.Compiler.GeneratedCodeAttribute( \"xsd\", \"2.0.50727.42\" )]\n  [System.SerializableAttribute()]\n  [System.Xml.Serialization.XmlTypeAttribute( Namespace = \"http://opcfoundation.org/UA/2008/02/Types.xsd\" )]\n  [System.Xml.Serialization.XmlRootAttribute( Namespace = \"http://opcfoundation.org/UA/2008/02/Types.xsd\", IsNullable = false )]\n  public enum DataChangeTrigger\n  {\n\n    /// <uwagi/>\n    Status_0,\n\n    /// <uwagi/>\n    StatusValue_1,\n\n    /// <uwagi/>\n    StatusValueTimestamp_2,\n  }\n\n  /// <uwagi/>\n  [System.CodeDom.Compiler.GeneratedCodeAttribute( \"xsd\", \"2.0.50727.42\" )]\n  [System.SerializableAttribute()]\n  [System.Xml.Serialization.XmlTypeAttribute( Namespace = \"http://opcfoundation.org/UA/2008/02/Types.xsd\" )]\n  [System.Xml.Serialization.XmlRootAttribute( Namespace = \"http://opcfoundation.org/UA/2008/02/Types.xsd\", IsNullable = false )]\n  public enum DeadbandType\n  {\n\n    /// <uwagi/>\n    None_0,\n\n    /// <uwagi/>\n    Absolute_1,\n\n    /// <uwagi/>\n    Percent_2,\n  }\n\n  /// <uwagi/>\n  [System.CodeDom.Compiler.GeneratedCodeAttribute( \"xsd\", \"2.0.50727.42\" )]\n  [System.SerializableAttribute()]\n  [System.Diagnostics.DebuggerStepThroughAttribute()]\n  [System.ComponentModel.DesignerCategoryAttribute( \"code\" )]\n  [System.Xml.Serialization.XmlTypeAttribute( Namespace = \"http://opcfoundation.org/UA/2008/02/Types.xsd\" )]\n  [System.Xml.Serialization.XmlRootAttribute( Namespace = \"http://opcfoundation.org/UA/2008/02/Types.xsd\", IsNullable = false )]\n  public partial class DataChangeFilter: MonitoringFilter\n  {\n\n    private DataChangeTrigger triggerField;\n\n    private uint deadbandTypeField;\n\n    private double deadbandValueField;\n\n    /// <uwagi/>\n    public DataChangeTrigger Trigger\n    {\n      get\n      {\n        return this.triggerField;\n      }\n      set\n      {\n        this.triggerField = value;\n      }\n    }\n\n    /// <uwagi/>\n    public uint DeadbandType\n    {\n      get\n      {\n        return this.deadbandTypeField;\n      }\n      set\n      {\n        this.deadbandTypeField = value;\n      }\n    }\n\n    /// <uwagi/>\n    public double DeadbandValue\n    {\n      get\n      {\n        return this.deadbandValueField;\n      }\n      set\n      {\n        this.deadbandValueField = value;\n      }\n    }\n  }\n\n  /// <uwagi/>\n  [System.CodeDom.Compiler.GeneratedCodeAttribute( \"xsd\", \"2.0.50727.42\" )]\n  [System.SerializableAttribute()]\n  [System.Diagnostics.DebuggerStepThroughAttribute()]\n  [System.ComponentModel.DesignerCategoryAttribute( \"code\" )]\n  [System.Xml.Serialization.XmlTypeAttribute( Namespace = \"http://opcfoundation.org/UA/2008/02/Types.xsd\" )]\n  [System.Xml.Serialization.XmlRootAttribute( Namespace = \"http://opcfoundation.org/UA/2008/02/Types.xsd\", IsNullable = false )]\n  public partial class AggregateFilter: MonitoringFilter\n  {\n\n    private System.DateTime startTimeField;\n\n    private NodeId aggregateTypeField;\n\n    private double processingIntervalField;\n\n    private AggregateConfiguration aggregateConfigurationField;\n\n    /// <uwagi/>\n    public System.DateTime StartTime\n    {\n      get\n      {\n        return this.startTimeField;\n      }\n      set\n      {\n        this.startTimeField = value;\n      }\n    }\n\n    /// <uwagi/>\n    [System.Xml.Serialization.XmlElementAttribute( IsNullable = true )]\n    public NodeId AggregateType\n    {\n      get\n      {\n        return this.aggregateTypeField;\n      }\n      set\n      {\n        this.aggregateTypeField = value;\n      }\n    }\n\n    /// <uwagi/>\n    public double ProcessingInterval\n    {\n      get\n      {\n        return this.processingIntervalField;\n      }\n      set\n      {\n        this.processingIntervalField = value;\n      }\n    }\n\n    /// <uwagi/>\n    public AggregateConfiguration AggregateConfiguration\n    {\n      get\n      {\n        return this.aggregateConfigurationField;\n      }\n      set\n      {\n        this.aggregateConfigurationField = value;\n      }\n    }\n  }\n\n  /// <uwagi/>\n  [System.CodeDom.Compiler.GeneratedCodeAttribute( \"xsd\", \"2.0.50727.42\" )]\n  [System.SerializableAttribute()]\n  [System.Diagnostics.DebuggerStepThroughAttribute()]\n  [System.ComponentModel.DesignerCategoryAttribute( \"code\" )]\n  [System.Xml.Serialization.XmlTypeAttribute( Namespace = \"http://opcfoundation.org/UA/2008/02/Types.xsd\" )]\n  [System.Xml.Serialization.XmlRootAttribute( Namespace = \"http://opcfoundation.org/UA/2008/02/Types.xsd\", IsNullable = false )]\n  public partial class AggregateFilterResult: MonitoringFilterResult\n  {\n\n    private System.DateTime revisedStartTimeField;\n\n    private double revisedProcessingIntervalField;\n\n    private AggregateConfiguration revisedAggregateConfigurationField;\n\n    /// <uwagi/>\n    public System.DateTime RevisedStartTime\n    {\n      get\n      {\n        return this.revisedStartTimeField;\n      }\n      set\n      {\n        this.revisedStartTimeField = value;\n      }\n    }\n\n    /// <uwagi/>\n    public double RevisedProcessingInterval\n    {\n      get\n      {\n        return this.revisedProcessingIntervalField;\n      }\n      set\n      {\n        this.revisedProcessingIntervalField = value;\n      }\n    }\n\n    /// <uwagi/>\n    public AggregateConfiguration RevisedAggregateConfiguration\n    {\n      get\n      {\n        return this.revisedAggregateConfigurationField;\n      }\n      set\n      {\n        this.revisedAggregateConfigurationField = value;\n      }\n    }\n  }\n\n  /// <uwagi/>\n  [System.CodeDom.Compiler.GeneratedCodeAttribute( \"xsd\", \"2.0.50727.42\" )]\n  [System.SerializableAttribute()]\n  [System.Diagnostics.DebuggerStepThroughAttribute()]\n  [System.ComponentModel.DesignerCategoryAttribute( \"code\" )]\n  [System.Xml.Serialization.XmlTypeAttribute( Namespace = \"http://opcfoundation.org/UA/2008/02/Types.xsd\" )]\n  [System.Xml.Serialization.XmlRootAttribute( Namespace = \"http://opcfoundation.org/UA/2008/02/Types.xsd\", IsNullable = false )]\n  public partial class MonitoringParameters\n  {\n\n    private uint clientHandleField;\n\n    private double samplingIntervalField;\n\n    private ExtensionObject filterField;\n\n    private uint queueSizeField;\n\n    private bool discardOldestField;\n\n    /// <uwagi/>\n    public uint ClientHandle\n    {\n      get\n      {\n        return this.clientHandleField;\n      }\n      set\n      {\n        this.clientHandleField = value;\n      }\n    }\n\n    /// <uwagi/>\n    public double SamplingInterval\n    {\n      get\n      {\n        return this.samplingIntervalField;\n      }\n      set\n      {\n        this.samplingIntervalField = value;\n      }\n    }\n\n    /// <uwagi/>\n    public ExtensionObject Filter\n    {\n      get\n      {\n        return this.filterField;\n      }\n      set\n      {\n        this.filterField = value;\n      }\n    }\n\n    /// <uwagi/>\n    public uint QueueSize\n    {\n      get\n      {\n        return this.queueSizeField;\n      }\n      set\n      {\n        this.queueSizeField = value;\n      }\n    }\n\n    /// <uwagi/>\n    public bool DiscardOldest\n    {\n      get\n      {\n        return this.discardOldestField;\n      }\n      set\n      {\n        this.discardOldestField = value;\n      }\n    }\n  }\n\n  /// <uwagi/>\n  [System.CodeDom.Compiler.GeneratedCodeAttribute( \"xsd\", \"2.0.50727.42\" )]\n  [System.SerializableAttribute()]\n  [System.Diagnostics.DebuggerStepThroughAttribute()]\n  [System.ComponentModel.DesignerCategoryAttribute( \"code\" )]\n  [System.Xml.Serialization.XmlTypeAttribute( Namespace = \"http://opcfoundation.org/UA/2008/02/Types.xsd\" )]\n  [System.Xml.Serialization.XmlRootAttribute( Namespace = \"http://opcfoundation.org/UA/2008/02/Types.xsd\", IsNullable = false )]\n  public partial class MonitoredItemCreateRequest\n  {\n\n    private ReadValueId itemToMonitorField;\n\n    private MonitoringMode monitoringModeField;\n\n    private MonitoringParameters requestedParametersField;\n\n    /// <uwagi/>\n    public ReadValueId ItemToMonitor\n    {\n      get\n      {\n        return this.itemToMonitorField;\n      }\n      set\n      {\n        this.itemToMonitorField = value;\n      }\n    }\n\n    /// <uwagi/>\n    public MonitoringMode MonitoringMode\n    {\n      get\n      {\n        return this.monitoringModeField;\n      }\n      set\n      {\n        this.monitoringModeField = value;\n      }\n    }\n\n    /// <uwagi/>\n    public MonitoringParameters RequestedParameters\n    {\n      get\n      {\n        return this.requestedParametersField;\n      }\n      set\n      {\n        this.requestedParametersField = value;\n      }\n    }\n  }\n\n  /// <uwagi/>\n  [System.CodeDom.Compiler.GeneratedCodeAttribute( \"xsd\", \"2.0.50727.42\" )]\n  [System.SerializableAttribute()]\n  [System.Diagnostics.DebuggerStepThroughAttribute()]\n  [System.ComponentModel.DesignerCategoryAttribute( \"code\" )]\n  [System.Xml.Serialization.XmlTypeAttribute( Namespace = \"http://opcfoundation.org/UA/2008/02/Types.xsd\" )]\n  [System.Xml.Serialization.XmlRootAttribute( Namespace = \"http://opcfoundation.org/UA/2008/02/Types.xsd\", IsNullable = true )]\n  public partial class ListOfMonitoredItemCreateRequest\n  {\n\n    private MonitoredItemCreateRequest[] monitoredItemCreateRequestField;\n\n    /// <uwagi/>\n    [System.Xml.Serialization.XmlElementAttribute( \"MonitoredItemCreateRequest\", IsNullable = true )]\n    public MonitoredItemCreateRequest[] MonitoredItemCreateRequest\n    {\n      get\n      {\n        return this.monitoredItemCreateRequestField;\n      }\n      set\n      {\n        this.monitoredItemCreateRequestField = value;\n      }\n    }\n  }\n\n  /// <uwagi/>\n  [System.CodeDom.Compiler.GeneratedCodeAttribute( \"xsd\", \"2.0.50727.42\" )]\n  [System.SerializableAttribute()]\n  [System.Diagnostics.DebuggerStepThroughAttribute()]\n  [System.ComponentModel.DesignerCategoryAttribute( \"code\" )]\n  [System.Xml.Serialization.XmlTypeAttribute( Namespace = \"http://opcfoundation.org/UA/2008/02/Types.xsd\" )]\n  [System.Xml.Serialization.XmlRootAttribute( Namespace = \"http://opcfoundation.org/UA/2008/02/Types.xsd\", IsNullable = false )]\n  public partial class MonitoredItemCreateResult\n  {\n\n    private StatusCode statusCodeField;\n\n    private uint monitoredItemIdField;\n\n    private double revisedSamplingIntervalField;\n\n    private uint revisedQueueSizeField;\n\n    private ExtensionObject filterResultField;\n\n    /// <uwagi/>\n    public StatusCode StatusCode\n    {\n      get\n      {\n        return this.statusCodeField;\n      }\n      set\n      {\n        this.statusCodeField = value;\n      }\n    }\n\n    /// <uwagi/>\n    public uint MonitoredItemId\n    {\n      get\n      {\n        return this.monitoredItemIdField;\n      }\n      set\n      {\n        this.monitoredItemIdField = value;\n      }\n    }\n\n    /// <uwagi/>\n    public double RevisedSamplingInterval\n    {\n      get\n      {\n        return this.revisedSamplingIntervalField;\n      }\n      set\n      {\n        this.revisedSamplingIntervalField = value;\n      }\n    }\n\n    /// <uwagi/>\n    public uint RevisedQueueSize\n    {\n      get\n      {\n        return this.revisedQueueSizeField;\n      }\n      set\n      {\n        this.revisedQueueSizeField = value;\n      }\n    }\n\n    /// <uwagi/>\n    public ExtensionObject FilterResult\n    {\n      get\n      {\n        return this.filterResultField;\n      }\n      set\n      {\n        this.filterResultField = value;\n      }\n    }\n  }\n\n  /// <uwagi/>\n  [System.CodeDom.Compiler.GeneratedCodeAttribute( \"xsd\", \"2.0.50727.42\" )]\n  [System.SerializableAttribute()]\n  [System.Diagnostics.DebuggerStepThroughAttribute()]\n  [System.ComponentModel.DesignerCategoryAttribute( \"code\" )]\n  [System.Xml.Serialization.XmlTypeAttribute( Namespace = \"http://opcfoundation.org/UA/2008/02/Types.xsd\" )]\n  [System.Xml.Serialization.XmlRootAttribute( Namespace = \"http://opcfoundation.org/UA/2008/02/Types.xsd\", IsNullable = true )]\n  public partial class ListOfMonitoredItemCreateResult\n  {\n\n    private MonitoredItemCreateResult[] monitoredItemCreateResultField;\n\n    /// <uwagi/>\n    [System.Xml.Serialization.XmlElementAttribute( \"MonitoredItemCreateResult\", IsNullable = true )]\n    public MonitoredItemCreateResult[] MonitoredItemCreateResult\n    {\n      get\n      {\n        return this.monitoredItemCreateResultField;\n      }\n      set\n      {\n        this.monitoredItemCreateResultField = value;\n      }\n    }\n  }\n\n  /// <uwagi/>\n  [System.CodeDom.Compiler.GeneratedCodeAttribute( \"xsd\", \"2.0.50727.42\" )]\n  [System.SerializableAttribute()]\n  [System.Diagnostics.DebuggerStepThroughAttribute()]\n  [System.ComponentModel.DesignerCategoryAttribute( \"code\" )]\n  [System.Xml.Serialization.XmlTypeAttribute( Namespace = \"http://opcfoundation.org/UA/2008/02/Types.xsd\" )]\n  [System.Xml.Serialization.XmlRootAttribute( Namespace = \"http://opcfoundation.org/UA/2008/02/Types.xsd\", IsNullable = false )]\n  public partial class CreateMonitoredItemsRequest\n  {\n\n    private RequestHeader requestHeaderField;\n\n    private uint subscriptionIdField;\n\n    private TimestampsToReturn timestampsToReturnField;\n\n    private MonitoredItemCreateRequest[] itemsToCreateField;\n\n    /// <uwagi/>\n    public RequestHeader RequestHeader\n    {\n      get\n      {\n        return this.requestHeaderField;\n      }\n      set\n      {\n        this.requestHeaderField = value;\n      }\n    }\n\n    /// <uwagi/>\n    public uint SubscriptionId\n    {\n      get\n      {\n        return this.subscriptionIdField;\n      }\n      set\n      {\n        this.subscriptionIdField = value;\n      }\n    }\n\n    /// <uwagi/>\n    public TimestampsToReturn TimestampsToReturn\n    {\n      get\n      {\n        return this.timestampsToReturnField;\n      }\n      set\n      {\n        this.timestampsToReturnField = value;\n      }\n    }\n\n    /// <uwagi/>\n    public MonitoredItemCreateRequest[] ItemsToCreate\n    {\n      get\n      {\n        return this.itemsToCreateField;\n      }\n      set\n      {\n        this.itemsToCreateField = value;\n      }\n    }\n  }\n\n  /// <uwagi/>\n  [System.CodeDom.Compiler.GeneratedCodeAttribute( \"xsd\", \"2.0.50727.42\" )]\n  [System.SerializableAttribute()]\n  [System.Diagnostics.DebuggerStepThroughAttribute()]\n  [System.ComponentModel.DesignerCategoryAttribute( \"code\" )]\n  [System.Xml.Serialization.XmlTypeAttribute( Namespace = \"http://opcfoundation.org/UA/2008/02/Types.xsd\" )]\n  [System.Xml.Serialization.XmlRootAttribute( Namespace = \"http://opcfoundation.org/UA/2008/02/Types.xsd\", IsNullable = false )]\n  public partial class CreateMonitoredItemsResponse\n  {\n\n    private ResponseHeader responseHeaderField;\n\n    private MonitoredItemCreateResult[] resultsField;\n\n    private DiagnosticInfo[] diagnosticInfosField;\n\n    /// <uwagi/>\n    public ResponseHeader ResponseHeader\n    {\n      get\n      {\n        return this.responseHeaderField;\n      }\n      set\n      {\n        this.responseHeaderField = value;\n      }\n    }\n\n    /// <uwagi/>\n    public MonitoredItemCreateResult[] Results\n    {\n      get\n      {\n        return this.resultsField;\n      }\n      set\n      {\n        this.resultsField = value;\n      }\n    }\n\n    /// <uwagi/>\n    [System.Xml.Serialization.XmlArrayAttribute( IsNullable = true )]\n    public DiagnosticInfo[] DiagnosticInfos\n    {\n      get\n      {\n        return this.diagnosticInfosField;\n      }\n      set\n      {\n        this.diagnosticInfosField = value;\n      }\n    }\n  }\n\n  /// <uwagi/>\n  [System.CodeDom.Compiler.GeneratedCodeAttribute( \"xsd\", \"2.0.50727.42\" )]\n  [System.SerializableAttribute()]\n  [System.Diagnostics.DebuggerStepThroughAttribute()]\n  [System.ComponentModel.DesignerCategoryAttribute( \"code\" )]\n  [System.Xml.Serialization.XmlTypeAttribute( Namespace = \"http://opcfoundation.org/UA/2008/02/Types.xsd\" )]\n  [System.Xml.Serialization.XmlRootAttribute( Namespace = \"http://opcfoundation.org/UA/2008/02/Types.xsd\", IsNullable = false )]\n  public partial class MonitoredItemModifyRequest\n  {\n\n    private uint monitoredItemIdField;\n\n    private MonitoringParameters requestedParametersField;\n\n    /// <uwagi/>\n    public uint MonitoredItemId\n    {\n      get\n      {\n        return this.monitoredItemIdField;\n      }\n      set\n      {\n        this.monitoredItemIdField = value;\n      }\n    }\n\n    /// <uwagi/>\n    public MonitoringParameters RequestedParameters\n    {\n      get\n      {\n        return this.requestedParametersField;\n      }\n      set\n      {\n        this.requestedParametersField = value;\n      }\n    }\n  }\n\n  /// <uwagi/>\n  [System.CodeDom.Compiler.GeneratedCodeAttribute( \"xsd\", \"2.0.50727.42\" )]\n  [System.SerializableAttribute()]\n  [System.Diagnostics.DebuggerStepThroughAttribute()]\n  [System.ComponentModel.DesignerCategoryAttribute( \"code\" )]\n  [System.Xml.Serialization.XmlTypeAttribute( Namespace = \"http://opcfoundation.org/UA/2008/02/Types.xsd\" )]\n  [System.Xml.Serialization.XmlRootAttribute( Namespace = \"http://opcfoundation.org/UA/2008/02/Types.xsd\", IsNullable = true )]\n  public partial class ListOfMonitoredItemModifyRequest\n  {\n\n    private MonitoredItemModifyRequest[] monitoredItemModifyRequestField;\n\n    /// <uwagi/>\n    [System.Xml.Serialization.XmlElementAttribute( \"MonitoredItemModifyRequest\", IsNullable = true )]\n    public MonitoredItemModifyRequest[] MonitoredItemModifyRequest\n    {\n      get\n      {\n        return this.monitoredItemModifyRequestField;\n      }\n      set\n      {\n        this.monitoredItemModifyRequestField = value;\n      }\n    }\n  }\n\n  /// <uwagi/>\n  [System.CodeDom.Compiler.GeneratedCodeAttribute( \"xsd\", \"2.0.50727.42\" )]\n  [System.SerializableAttribute()]\n  [System.Diagnostics.DebuggerStepThroughAttribute()]\n  [System.ComponentModel.DesignerCategoryAttribute( \"code\" )]\n  [System.Xml.Serialization.XmlTypeAttribute( Namespace = \"http://opcfoundation.org/UA/2008/02/Types.xsd\" )]\n  [System.Xml.Serialization.XmlRootAttribute( Namespace = \"http://opcfoundation.org/UA/2008/02/Types.xsd\", IsNullable = false )]\n  public partial class MonitoredItemModifyResult\n  {\n\n    private StatusCode statusCodeField;\n\n    private double revisedSamplingIntervalField;\n\n    private uint revisedQueueSizeField;\n\n    private ExtensionObject filterResultField;\n\n    /// <uwagi/>\n    public StatusCode StatusCode\n    {\n      get\n      {\n        return this.statusCodeField;\n      }\n      set\n      {\n        this.statusCodeField = value;\n      }\n    }\n\n    /// <uwagi/>\n    public double RevisedSamplingInterval\n    {\n      get\n      {\n        return this.revisedSamplingIntervalField;\n      }\n      set\n      {\n        this.revisedSamplingIntervalField = value;\n      }\n    }\n\n    /// <uwagi/>\n    public uint RevisedQueueSize\n    {\n      get\n      {\n        return this.revisedQueueSizeField;\n      }\n      set\n      {\n        this.revisedQueueSizeField = value;\n      }\n    }\n\n    /// <uwagi/>\n    public ExtensionObject FilterResult\n    {\n      get\n      {\n        return this.filterResultField;\n      }\n      set\n      {\n        this.filterResultField = value;\n      }\n    }\n  }\n\n  /// <uwagi/>\n  [System.CodeDom.Compiler.GeneratedCodeAttribute( \"xsd\", \"2.0.50727.42\" )]\n  [System.SerializableAttribute()]\n  [System.Diagnostics.DebuggerStepThroughAttribute()]\n  [System.ComponentModel.DesignerCategoryAttribute( \"code\" )]\n  [System.Xml.Serialization.XmlTypeAttribute( Namespace = \"http://opcfoundation.org/UA/2008/02/Types.xsd\" )]\n  [System.Xml.Serialization.XmlRootAttribute( Namespace = \"http://opcfoundation.org/UA/2008/02/Types.xsd\", IsNullable = true )]\n  public partial class ListOfMonitoredItemModifyResult\n  {\n\n    private MonitoredItemModifyResult[] monitoredItemModifyResultField;\n\n    /// <uwagi/>\n    [System.Xml.Serialization.XmlElementAttribute( \"MonitoredItemModifyResult\", IsNullable = true )]\n    public MonitoredItemModifyResult[] MonitoredItemModifyResult\n    {\n      get\n      {\n        return this.monitoredItemModifyResultField;\n      }\n      set\n      {\n        this.monitoredItemModifyResultField = value;\n      }\n    }\n  }\n\n  /// <uwagi/>\n  [System.CodeDom.Compiler.GeneratedCodeAttribute( \"xsd\", \"2.0.50727.42\" )]\n  [System.SerializableAttribute()]\n  [System.Diagnostics.DebuggerStepThroughAttribute()]\n  [System.ComponentModel.DesignerCategoryAttribute( \"code\" )]\n  [System.Xml.Serialization.XmlTypeAttribute( Namespace = \"http://opcfoundation.org/UA/2008/02/Types.xsd\" )]\n  [System.Xml.Serialization.XmlRootAttribute( Namespace = \"http://opcfoundation.org/UA/2008/02/Types.xsd\", IsNullable = false )]\n  public partial class ModifyMonitoredItemsRequest\n  {\n\n    private RequestHeader requestHeaderField;\n\n    private uint subscriptionIdField;\n\n    private TimestampsToReturn timestampsToReturnField;\n\n    private MonitoredItemModifyRequest[] itemsToModifyField;\n\n    /// <uwagi/>\n    public RequestHeader RequestHeader\n    {\n      get\n      {\n        return this.requestHeaderField;\n      }\n      set\n      {\n        this.requestHeaderField = value;\n      }\n    }\n\n    /// <uwagi/>\n    public uint SubscriptionId\n    {\n      get\n      {\n        return this.subscriptionIdField;\n      }\n      set\n      {\n        this.subscriptionIdField = value;\n      }\n    }\n\n    /// <uwagi/>\n    public TimestampsToReturn TimestampsToReturn\n    {\n      get\n      {\n        return this.timestampsToReturnField;\n      }\n      set\n      {\n        this.timestampsToReturnField = value;\n      }\n    }\n\n    /// <uwagi/>\n    public MonitoredItemModifyRequest[] ItemsToModify\n    {\n      get\n      {\n        return this.itemsToModifyField;\n      }\n      set\n      {\n        this.itemsToModifyField = value;\n      }\n    }\n  }\n\n  /// <uwagi/>\n  [System.CodeDom.Compiler.GeneratedCodeAttribute( \"xsd\", \"2.0.50727.42\" )]\n  [System.SerializableAttribute()]\n  [System.Diagnostics.DebuggerStepThroughAttribute()]\n  [System.ComponentModel.DesignerCategoryAttribute( \"code\" )]\n  [System.Xml.Serialization.XmlTypeAttribute( Namespace = \"http://opcfoundation.org/UA/2008/02/Types.xsd\" )]\n  [System.Xml.Serialization.XmlRootAttribute( Namespace = \"http://opcfoundation.org/UA/2008/02/Types.xsd\", IsNullable = false )]\n  public partial class ModifyMonitoredItemsResponse\n  {\n\n    private ResponseHeader responseHeaderField;\n\n    private MonitoredItemModifyResult[] resultsField;\n\n    private DiagnosticInfo[] diagnosticInfosField;\n\n    /// <uwagi/>\n    public ResponseHeader ResponseHeader\n    {\n      get\n      {\n        return this.responseHeaderField;\n      }\n      set\n      {\n        this.responseHeaderField = value;\n      }\n    }\n\n    /// <uwagi/>\n    public MonitoredItemModifyResult[] Results\n    {\n      get\n      {\n        return this.resultsField;\n      }\n      set\n      {\n        this.resultsField = value;\n      }\n    }\n\n    /// <uwagi/>\n    [System.Xml.Serialization.XmlArrayAttribute( IsNullable = true )]\n    public DiagnosticInfo[] DiagnosticInfos\n    {\n      get\n      {\n        return this.diagnosticInfosField;\n      }\n      set\n      {\n        this.diagnosticInfosField = value;\n      }\n    }\n  }\n\n  /// <uwagi/>\n  [System.CodeDom.Compiler.GeneratedCodeAttribute( \"xsd\", \"2.0.50727.42\" )]\n  [System.SerializableAttribute()]\n  [System.Diagnostics.DebuggerStepThroughAttribute()]\n  [System.ComponentModel.DesignerCategoryAttribute( \"code\" )]\n  [System.Xml.Serialization.XmlTypeAttribute( Namespace = \"http://opcfoundation.org/UA/2008/02/Types.xsd\" )]\n  [System.Xml.Serialization.XmlRootAttribute( Namespace = \"http://opcfoundation.org/UA/2008/02/Types.xsd\", IsNullable = false )]\n  public partial class SetMonitoringModeRequest\n  {\n\n    private RequestHeader requestHeaderField;\n\n    private uint subscriptionIdField;\n\n    private MonitoringMode monitoringModeField;\n\n    private uint[] monitoredItemIdsField;\n\n    /// <uwagi/>\n    public RequestHeader RequestHeader\n    {\n      get\n      {\n        return this.requestHeaderField;\n      }\n      set\n      {\n        this.requestHeaderField = value;\n      }\n    }\n\n    /// <uwagi/>\n    public uint SubscriptionId\n    {\n      get\n      {\n        return this.subscriptionIdField;\n      }\n      set\n      {\n        this.subscriptionIdField = value;\n      }\n    }\n\n    /// <uwagi/>\n    public MonitoringMode MonitoringMode\n    {\n      get\n      {\n        return this.monitoringModeField;\n      }\n      set\n      {\n        this.monitoringModeField = value;\n      }\n    }\n\n    /// <uwagi/>\n    [System.Xml.Serialization.XmlArrayItemAttribute( \"UInt32\", IsNullable = false )]\n    public uint[] MonitoredItemIds\n    {\n      get\n      {\n        return this.monitoredItemIdsField;\n      }\n      set\n      {\n        this.monitoredItemIdsField = value;\n      }\n    }\n  }\n\n  /// <uwagi/>\n  [System.CodeDom.Compiler.GeneratedCodeAttribute( \"xsd\", \"2.0.50727.42\" )]\n  [System.SerializableAttribute()]\n  [System.Diagnostics.DebuggerStepThroughAttribute()]\n  [System.ComponentModel.DesignerCategoryAttribute( \"code\" )]\n  [System.Xml.Serialization.XmlTypeAttribute( Namespace = \"http://opcfoundation.org/UA/2008/02/Types.xsd\" )]\n  [System.Xml.Serialization.XmlRootAttribute( Namespace = \"http://opcfoundation.org/UA/2008/02/Types.xsd\", IsNullable = false )]\n  public partial class SetMonitoringModeResponse\n  {\n\n    private ResponseHeader responseHeaderField;\n\n    private StatusCode[] resultsField;\n\n    private DiagnosticInfo[] diagnosticInfosField;\n\n    /// <uwagi/>\n    public ResponseHeader ResponseHeader\n    {\n      get\n      {\n        return this.responseHeaderField;\n      }\n      set\n      {\n        this.responseHeaderField = value;\n      }\n    }\n\n    /// <uwagi/>\n    public StatusCode[] Results\n    {\n      get\n      {\n        return this.resultsField;\n      }\n      set\n      {\n        this.resultsField = value;\n      }\n    }\n\n    /// <uwagi/>\n    [System.Xml.Serialization.XmlArrayAttribute( IsNullable = true )]\n    public DiagnosticInfo[] DiagnosticInfos\n    {\n      get\n      {\n        return this.diagnosticInfosField;\n      }\n      set\n      {\n        this.diagnosticInfosField = value;\n      }\n    }\n  }\n\n  /// <uwagi/>\n  [System.CodeDom.Compiler.GeneratedCodeAttribute( \"xsd\", \"2.0.50727.42\" )]\n  [System.SerializableAttribute()]\n  [System.Diagnostics.DebuggerStepThroughAttribute()]\n  [System.ComponentModel.DesignerCategoryAttribute( \"code\" )]\n  [System.Xml.Serialization.XmlTypeAttribute( Namespace = \"http://opcfoundation.org/UA/2008/02/Types.xsd\" )]\n  [System.Xml.Serialization.XmlRootAttribute( Namespace = \"http://opcfoundation.org/UA/2008/02/Types.xsd\", IsNullable = false )]\n  public partial class SetTriggeringRequest\n  {\n\n    private RequestHeader requestHeaderField;\n\n    private uint subscriptionIdField;\n\n    private uint triggeringItemIdField;\n\n    private uint[] linksToAddField;\n\n    private uint[] linksToRemoveField;\n\n    /// <uwagi/>\n    public RequestHeader RequestHeader\n    {\n      get\n      {\n        return this.requestHeaderField;\n      }\n      set\n      {\n        this.requestHeaderField = value;\n      }\n    }\n\n    /// <uwagi/>\n    public uint SubscriptionId\n    {\n      get\n      {\n        return this.subscriptionIdField;\n      }\n      set\n      {\n        this.subscriptionIdField = value;\n      }\n    }\n\n    /// <uwagi/>\n    public uint TriggeringItemId\n    {\n      get\n      {\n        return this.triggeringItemIdField;\n      }\n      set\n      {\n        this.triggeringItemIdField = value;\n      }\n    }\n\n    /// <uwagi/>\n    [System.Xml.Serialization.XmlArrayItemAttribute( \"UInt32\", IsNullable = false )]\n    public uint[] LinksToAdd\n    {\n      get\n      {\n        return this.linksToAddField;\n      }\n      set\n      {\n        this.linksToAddField = value;\n      }\n    }\n\n    /// <uwagi/>\n    [System.Xml.Serialization.XmlArrayItemAttribute( \"UInt32\", IsNullable = false )]\n    public uint[] LinksToRemove\n    {\n      get\n      {\n        return this.linksToRemoveField;\n      }\n      set\n      {\n        this.linksToRemoveField = value;\n      }\n    }\n  }\n\n  /// <uwagi/>\n  [System.CodeDom.Compiler.GeneratedCodeAttribute( \"xsd\", \"2.0.50727.42\" )]\n  [System.SerializableAttribute()]\n  [System.Diagnostics.DebuggerStepThroughAttribute()]\n  [System.ComponentModel.DesignerCategoryAttribute( \"code\" )]\n  [System.Xml.Serialization.XmlTypeAttribute( Namespace = \"http://opcfoundation.org/UA/2008/02/Types.xsd\" )]\n  [System.Xml.Serialization.XmlRootAttribute( Namespace = \"http://opcfoundation.org/UA/2008/02/Types.xsd\", IsNullable = false )]\n  public partial class SetTriggeringResponse\n  {\n\n    private ResponseHeader responseHeaderField;\n\n    private StatusCode[] addResultsField;\n\n    private DiagnosticInfo[] addDiagnosticInfosField;\n\n    private StatusCode[] removeResultsField;\n\n    private DiagnosticInfo[] removeDiagnosticInfosField;\n\n    /// <uwagi/>\n    public ResponseHeader ResponseHeader\n    {\n      get\n      {\n        return this.responseHeaderField;\n      }\n      set\n      {\n        this.responseHeaderField = value;\n      }\n    }\n\n    /// <uwagi/>\n    public StatusCode[] AddResults\n    {\n      get\n      {\n        return this.addResultsField;\n      }\n      set\n      {\n        this.addResultsField = value;\n      }\n    }\n\n    /// <uwagi/>\n    [System.Xml.Serialization.XmlArrayAttribute( IsNullable = true )]\n    public DiagnosticInfo[] AddDiagnosticInfos\n    {\n      get\n      {\n        return this.addDiagnosticInfosField;\n      }\n      set\n      {\n        this.addDiagnosticInfosField = value;\n      }\n    }\n\n    /// <uwagi/>\n    public StatusCode[] RemoveResults\n    {\n      get\n      {\n        return this.removeResultsField;\n      }\n      set\n      {\n        this.removeResultsField = value;\n      }\n    }\n\n    /// <uwagi/>\n    [System.Xml.Serialization.XmlArrayAttribute( IsNullable = true )]\n    public DiagnosticInfo[] RemoveDiagnosticInfos\n    {\n      get\n      {\n        return this.removeDiagnosticInfosField;\n      }\n      set\n      {\n        this.removeDiagnosticInfosField = value;\n      }\n    }\n  }\n\n  /// <uwagi/>\n  [System.CodeDom.Compiler.GeneratedCodeAttribute( \"xsd\", \"2.0.50727.42\" )]\n  [System.SerializableAttribute()]\n  [System.Diagnostics.DebuggerStepThroughAttribute()]\n  [System.ComponentModel.DesignerCategoryAttribute( \"code\" )]\n  [System.Xml.Serialization.XmlTypeAttribute( Namespace = \"http://opcfoundation.org/UA/2008/02/Types.xsd\" )]\n  [System.Xml.Serialization.XmlRootAttribute( Namespace = \"http://opcfoundation.org/UA/2008/02/Types.xsd\", IsNullable = false )]\n  public partial class DeleteMonitoredItemsRequest\n  {\n\n    private RequestHeader requestHeaderField;\n\n    private uint subscriptionIdField;\n\n    private uint[] monitoredItemIdsField;\n\n    /// <uwagi/>\n    public RequestHeader RequestHeader\n    {\n      get\n      {\n        return this.requestHeaderField;\n      }\n      set\n      {\n        this.requestHeaderField = value;\n      }\n    }\n\n    /// <uwagi/>\n    public uint SubscriptionId\n    {\n      get\n      {\n        return this.subscriptionIdField;\n      }\n      set\n      {\n        this.subscriptionIdField = value;\n      }\n    }\n\n    /// <uwagi/>\n    [System.Xml.Serialization.XmlArrayItemAttribute( \"UInt32\", IsNullable = false )]\n    public uint[] MonitoredItemIds\n    {\n      get\n      {\n        return this.monitoredItemIdsField;\n      }\n      set\n      {\n        this.monitoredItemIdsField = value;\n      }\n    }\n  }\n\n  /// <uwagi/>\n  [System.CodeDom.Compiler.GeneratedCodeAttribute( \"xsd\", \"2.0.50727.42\" )]\n  [System.SerializableAttribute()]\n  [System.Diagnostics.DebuggerStepThroughAttribute()]\n  [System.ComponentModel.DesignerCategoryAttribute( \"code\" )]\n  [System.Xml.Serialization.XmlTypeAttribute( Namespace = \"http://opcfoundation.org/UA/2008/02/Types.xsd\" )]\n  [System.Xml.Serialization.XmlRootAttribute( Namespace = \"http://opcfoundation.org/UA/2008/02/Types.xsd\", IsNullable = false )]\n  public partial class DeleteMonitoredItemsResponse\n  {\n\n    private ResponseHeader responseHeaderField;\n\n    private StatusCode[] resultsField;\n\n    private DiagnosticInfo[] diagnosticInfosField;\n\n    /// <uwagi/>\n    public ResponseHeader ResponseHeader\n    {\n      get\n      {\n        return this.responseHeaderField;\n      }\n      set\n      {\n        this.responseHeaderField = value;\n      }\n    }\n\n    /// <uwagi/>\n    public StatusCode[] Results\n    {\n      get\n      {\n        return this.resultsField;\n      }\n      set\n      {\n        this.resultsField = value;\n      }\n    }\n\n    /// <uwagi/>\n    [System.Xml.Serialization.XmlArrayAttribute( IsNullable = true )]\n    public DiagnosticInfo[] DiagnosticInfos\n    {\n      get\n      {\n        return this.diagnosticInfosField;\n      }\n      set\n      {\n        this.diagnosticInfosField = value;\n      }\n    }\n  }\n\n  /// <uwagi/>\n  [System.CodeDom.Compiler.GeneratedCodeAttribute( \"xsd\", \"2.0.50727.42\" )]\n  [System.SerializableAttribute()]\n  [System.Diagnostics.DebuggerStepThroughAttribute()]\n  [System.ComponentModel.DesignerCategoryAttribute( \"code\" )]\n  [System.Xml.Serialization.XmlTypeAttribute( Namespace = \"http://opcfoundation.org/UA/2008/02/Types.xsd\" )]\n  [System.Xml.Serialization.XmlRootAttribute( Namespace = \"http://opcfoundation.org/UA/2008/02/Types.xsd\", IsNullable = false )]\n  public partial class CreateSubscriptionRequest\n  {\n\n    private RequestHeader requestHeaderField;\n\n    private double requestedPublishingIntervalField;\n\n    private uint requestedLifetimeCountField;\n\n    private uint requestedMaxKeepAliveCountField;\n\n    private uint maxNotificationsPerPublishField;\n\n    private bool publishingEnabledField;\n\n    private byte priorityField;\n\n    /// <uwagi/>\n    public RequestHeader RequestHeader\n    {\n      get\n      {\n        return this.requestHeaderField;\n      }\n      set\n      {\n        this.requestHeaderField = value;\n      }\n    }\n\n    /// <uwagi/>\n    public double RequestedPublishingInterval\n    {\n      get\n      {\n        return this.requestedPublishingIntervalField;\n      }\n      set\n      {\n        this.requestedPublishingIntervalField = value;\n      }\n    }\n\n    /// <uwagi/>\n    public uint RequestedLifetimeCount\n    {\n      get\n      {\n        return this.requestedLifetimeCountField;\n      }\n      set\n      {\n        this.requestedLifetimeCountField = value;\n      }\n    }\n\n    /// <uwagi/>\n    public uint RequestedMaxKeepAliveCount\n    {\n      get\n      {\n        return this.requestedMaxKeepAliveCountField;\n      }\n      set\n      {\n        this.requestedMaxKeepAliveCountField = value;\n      }\n    }\n\n    /// <uwagi/>\n    public uint MaxNotificationsPerPublish\n    {\n      get\n      {\n        return this.maxNotificationsPerPublishField;\n      }\n      set\n      {\n        this.maxNotificationsPerPublishField = value;\n      }\n    }\n\n    /// <uwagi/>\n    public bool PublishingEnabled\n    {\n      get\n      {\n        return this.publishingEnabledField;\n      }\n      set\n      {\n        this.publishingEnabledField = value;\n      }\n    }\n\n    /// <uwagi/>\n    public byte Priority\n    {\n      get\n      {\n        return this.priorityField;\n      }\n      set\n      {\n        this.priorityField = value;\n      }\n    }\n  }\n\n  /// <uwagi/>\n  [System.CodeDom.Compiler.GeneratedCodeAttribute( \"xsd\", \"2.0.50727.42\" )]\n  [System.SerializableAttribute()]\n  [System.Diagnostics.DebuggerStepThroughAttribute()]\n  [System.ComponentModel.DesignerCategoryAttribute( \"code\" )]\n  [System.Xml.Serialization.XmlTypeAttribute( Namespace = \"http://opcfoundation.org/UA/2008/02/Types.xsd\" )]\n  [System.Xml.Serialization.XmlRootAttribute( Namespace = \"http://opcfoundation.org/UA/2008/02/Types.xsd\", IsNullable = false )]\n  public partial class CreateSubscriptionResponse\n  {\n\n    private ResponseHeader responseHeaderField;\n\n    private uint subscriptionIdField;\n\n    private double revisedPublishingIntervalField;\n\n    private uint revisedLifetimeCountField;\n\n    private uint revisedMaxKeepAliveCountField;\n\n    /// <uwagi/>\n    public ResponseHeader ResponseHeader\n    {\n      get\n      {\n        return this.responseHeaderField;\n      }\n      set\n      {\n        this.responseHeaderField = value;\n      }\n    }\n\n    /// <uwagi/>\n    public uint SubscriptionId\n    {\n      get\n      {\n        return this.subscriptionIdField;\n      }\n      set\n      {\n        this.subscriptionIdField = value;\n      }\n    }\n\n    /// <uwagi/>\n    public double RevisedPublishingInterval\n    {\n      get\n      {\n        return this.revisedPublishingIntervalField;\n      }\n      set\n      {\n        this.revisedPublishingIntervalField = value;\n      }\n    }\n\n    /// <uwagi/>\n    public uint RevisedLifetimeCount\n    {\n      get\n      {\n        return this.revisedLifetimeCountField;\n      }\n      set\n      {\n        this.revisedLifetimeCountField = value;\n      }\n    }\n\n    /// <uwagi/>\n    public uint RevisedMaxKeepAliveCount\n    {\n      get\n      {\n        return this.revisedMaxKeepAliveCountField;\n      }\n      set\n      {\n        this.revisedMaxKeepAliveCountField = value;\n      }\n    }\n  }\n\n  /// <uwagi/>\n  [System.CodeDom.Compiler.GeneratedCodeAttribute( \"xsd\", \"2.0.50727.42\" )]\n  [System.SerializableAttribute()]\n  [System.Diagnostics.DebuggerStepThroughAttribute()]\n  [System.ComponentModel.DesignerCategoryAttribute( \"code\" )]\n  [System.Xml.Serialization.XmlTypeAttribute( Namespace = \"http://opcfoundation.org/UA/2008/02/Types.xsd\" )]\n  [System.Xml.Serialization.XmlRootAttribute( Namespace = \"http://opcfoundation.org/UA/2008/02/Types.xsd\", IsNullable = false )]\n  public partial class ModifySubscriptionRequest\n  {\n\n    private RequestHeader requestHeaderField;\n\n    private uint subscriptionIdField;\n\n    private double requestedPublishingIntervalField;\n\n    private uint requestedLifetimeCountField;\n\n    private uint requestedMaxKeepAliveCountField;\n\n    private uint maxNotificationsPerPublishField;\n\n    private byte priorityField;\n\n    /// <uwagi/>\n    public RequestHeader RequestHeader\n    {\n      get\n      {\n        return this.requestHeaderField;\n      }\n      set\n      {\n        this.requestHeaderField = value;\n      }\n    }\n\n    /// <uwagi/>\n    public uint SubscriptionId\n    {\n      get\n      {\n        return this.subscriptionIdField;\n      }\n      set\n      {\n        this.subscriptionIdField = value;\n      }\n    }\n\n    /// <uwagi/>\n    public double RequestedPublishingInterval\n    {\n      get\n      {\n        return this.requestedPublishingIntervalField;\n      }\n      set\n      {\n        this.requestedPublishingIntervalField = value;\n      }\n    }\n\n    /// <uwagi/>\n    public uint RequestedLifetimeCount\n    {\n      get\n      {\n        return this.requestedLifetimeCountField;\n      }\n      set\n      {\n        this.requestedLifetimeCountField = value;\n      }\n    }\n\n    /// <uwagi/>\n    public uint RequestedMaxKeepAliveCount\n    {\n      get\n      {\n        return this.requestedMaxKeepAliveCountField;\n      }\n      set\n      {\n        this.requestedMaxKeepAliveCountField = value;\n      }\n    }\n\n    /// <uwagi/>\n    public uint MaxNotificationsPerPublish\n    {\n      get\n      {\n        return this.maxNotificationsPerPublishField;\n      }\n      set\n      {\n        this.maxNotificationsPerPublishField = value;\n      }\n    }\n\n    /// <uwagi/>\n    public byte Priority\n    {\n      get\n      {\n        return this.priorityField;\n      }\n      set\n      {\n        this.priorityField = value;\n      }\n    }\n  }\n\n  /// <uwagi/>\n  [System.CodeDom.Compiler.GeneratedCodeAttribute( \"xsd\", \"2.0.50727.42\" )]\n  [System.SerializableAttribute()]\n  [System.Diagnostics.DebuggerStepThroughAttribute()]\n  [System.ComponentModel.DesignerCategoryAttribute( \"code\" )]\n  [System.Xml.Serialization.XmlTypeAttribute( Namespace = \"http://opcfoundation.org/UA/2008/02/Types.xsd\" )]\n  [System.Xml.Serialization.XmlRootAttribute( Namespace = \"http://opcfoundation.org/UA/2008/02/Types.xsd\", IsNullable = false )]\n  public partial class ModifySubscriptionResponse\n  {\n\n    private ResponseHeader responseHeaderField;\n\n    private double revisedPublishingIntervalField;\n\n    private uint revisedLifetimeCountField;\n\n    private uint revisedMaxKeepAliveCountField;\n\n    /// <uwagi/>\n    public ResponseHeader ResponseHeader\n    {\n      get\n      {\n        return this.responseHeaderField;\n      }\n      set\n      {\n        this.responseHeaderField = value;\n      }\n    }\n\n    /// <uwagi/>\n    public double RevisedPublishingInterval\n    {\n      get\n      {\n        return this.revisedPublishingIntervalField;\n      }\n      set\n      {\n        this.revisedPublishingIntervalField = value;\n      }\n    }\n\n    /// <uwagi/>\n    public uint RevisedLifetimeCount\n    {\n      get\n      {\n        return this.revisedLifetimeCountField;\n      }\n      set\n      {\n        this.revisedLifetimeCountField = value;\n      }\n    }\n\n    /// <uwagi/>\n    public uint RevisedMaxKeepAliveCount\n    {\n      get\n      {\n        return this.revisedMaxKeepAliveCountField;\n      }\n      set\n      {\n        this.revisedMaxKeepAliveCountField = value;\n      }\n    }\n  }\n\n  /// <uwagi/>\n  [System.CodeDom.Compiler.GeneratedCodeAttribute( \"xsd\", \"2.0.50727.42\" )]\n  [System.SerializableAttribute()]\n  [System.Diagnostics.DebuggerStepThroughAttribute()]\n  [System.ComponentModel.DesignerCategoryAttribute( \"code\" )]\n  [System.Xml.Serialization.XmlTypeAttribute( Namespace = \"http://opcfoundation.org/UA/2008/02/Types.xsd\" )]\n  [System.Xml.Serialization.XmlRootAttribute( Namespace = \"http://opcfoundation.org/UA/2008/02/Types.xsd\", IsNullable = false )]\n  public partial class SetPublishingModeRequest\n  {\n\n    private RequestHeader requestHeaderField;\n\n    private bool publishingEnabledField;\n\n    private uint[] subscriptionIdsField;\n\n    /// <uwagi/>\n    public RequestHeader RequestHeader\n    {\n      get\n      {\n        return this.requestHeaderField;\n      }\n      set\n      {\n        this.requestHeaderField = value;\n      }\n    }\n\n    /// <uwagi/>\n    public bool PublishingEnabled\n    {\n      get\n      {\n        return this.publishingEnabledField;\n      }\n      set\n      {\n        this.publishingEnabledField = value;\n      }\n    }\n\n    /// <uwagi/>\n    [System.Xml.Serialization.XmlArrayItemAttribute( \"UInt32\", IsNullable = false )]\n    public uint[] SubscriptionIds\n    {\n      get\n      {\n        return this.subscriptionIdsField;\n      }\n      set\n      {\n        this.subscriptionIdsField = value;\n      }\n    }\n  }\n\n  /// <uwagi/>\n  [System.CodeDom.Compiler.GeneratedCodeAttribute( \"xsd\", \"2.0.50727.42\" )]\n  [System.SerializableAttribute()]\n  [System.Diagnostics.DebuggerStepThroughAttribute()]\n  [System.ComponentModel.DesignerCategoryAttribute( \"code\" )]\n  [System.Xml.Serialization.XmlTypeAttribute( Namespace = \"http://opcfoundation.org/UA/2008/02/Types.xsd\" )]\n  [System.Xml.Serialization.XmlRootAttribute( Namespace = \"http://opcfoundation.org/UA/2008/02/Types.xsd\", IsNullable = false )]\n  public partial class SetPublishingModeResponse\n  {\n\n    private ResponseHeader responseHeaderField;\n\n    private StatusCode[] resultsField;\n\n    private DiagnosticInfo[] diagnosticInfosField;\n\n    /// <uwagi/>\n    public ResponseHeader ResponseHeader\n    {\n      get\n      {\n        return this.responseHeaderField;\n      }\n      set\n      {\n        this.responseHeaderField = value;\n      }\n    }\n\n    /// <uwagi/>\n    public StatusCode[] Results\n    {\n      get\n      {\n        return this.resultsField;\n      }\n      set\n      {\n        this.resultsField = value;\n      }\n    }\n\n    /// <uwagi/>\n    [System.Xml.Serialization.XmlArrayAttribute( IsNullable = true )]\n    public DiagnosticInfo[] DiagnosticInfos\n    {\n      get\n      {\n        return this.diagnosticInfosField;\n      }\n      set\n      {\n        this.diagnosticInfosField = value;\n      }\n    }\n  }\n\n  /// <uwagi/>\n  [System.CodeDom.Compiler.GeneratedCodeAttribute( \"xsd\", \"2.0.50727.42\" )]\n  [System.SerializableAttribute()]\n  [System.Diagnostics.DebuggerStepThroughAttribute()]\n  [System.ComponentModel.DesignerCategoryAttribute( \"code\" )]\n  [System.Xml.Serialization.XmlTypeAttribute( Namespace = \"http://opcfoundation.org/UA/2008/02/Types.xsd\" )]\n  [System.Xml.Serialization.XmlRootAttribute( Namespace = \"http://opcfoundation.org/UA/2008/02/Types.xsd\", IsNullable = false )]\n  public partial class NotificationMessage\n  {\n\n    private uint sequenceNumberField;\n\n    private System.DateTime publishTimeField;\n\n    private ExtensionObject[] notificationDataField;\n\n    /// <uwagi/>\n    public uint SequenceNumber\n    {\n      get\n      {\n        return this.sequenceNumberField;\n      }\n      set\n      {\n        this.sequenceNumberField = value;\n      }\n    }\n\n    /// <uwagi/>\n    public System.DateTime PublishTime\n    {\n      get\n      {\n        return this.publishTimeField;\n      }\n      set\n      {\n        this.publishTimeField = value;\n      }\n    }\n\n    /// <uwagi/>\n    public ExtensionObject[] NotificationData\n    {\n      get\n      {\n        return this.notificationDataField;\n      }\n      set\n      {\n        this.notificationDataField = value;\n      }\n    }\n  }\n\n  /// <uwagi/>\n  [System.Xml.Serialization.XmlIncludeAttribute( typeof( StatusChangeNotification ) )]\n  [System.Xml.Serialization.XmlIncludeAttribute( typeof( EventNotificationList ) )]\n  [System.Xml.Serialization.XmlIncludeAttribute( typeof( DataChangeNotification ) )]\n  [System.CodeDom.Compiler.GeneratedCodeAttribute( \"xsd\", \"2.0.50727.42\" )]\n  [System.SerializableAttribute()]\n  [System.Diagnostics.DebuggerStepThroughAttribute()]\n  [System.ComponentModel.DesignerCategoryAttribute( \"code\" )]\n  [System.Xml.Serialization.XmlTypeAttribute( Namespace = \"http://opcfoundation.org/UA/2008/02/Types.xsd\" )]\n  [System.Xml.Serialization.XmlRootAttribute( Namespace = \"http://opcfoundation.org/UA/2008/02/Types.xsd\", IsNullable = false )]\n  public partial class NotificationData\n  {\n  }\n\n  /// <uwagi/>\n  [System.CodeDom.Compiler.GeneratedCodeAttribute( \"xsd\", \"2.0.50727.42\" )]\n  [System.SerializableAttribute()]\n  [System.Diagnostics.DebuggerStepThroughAttribute()]\n  [System.ComponentModel.DesignerCategoryAttribute( \"code\" )]\n  [System.Xml.Serialization.XmlTypeAttribute( Namespace = \"http://opcfoundation.org/UA/2008/02/Types.xsd\" )]\n  [System.Xml.Serialization.XmlRootAttribute( Namespace = \"http://opcfoundation.org/UA/2008/02/Types.xsd\", IsNullable = false )]\n  public partial class DataChangeNotification: NotificationData\n  {\n\n    private MonitoredItemNotification[] monitoredItemsField;\n\n    private DiagnosticInfo[] diagnosticInfosField;\n\n    /// <uwagi/>\n    public MonitoredItemNotification[] MonitoredItems\n    {\n      get\n      {\n        return this.monitoredItemsField;\n      }\n      set\n      {\n        this.monitoredItemsField = value;\n      }\n    }\n\n    /// <uwagi/>\n    [System.Xml.Serialization.XmlArrayAttribute( IsNullable = true )]\n    public DiagnosticInfo[] DiagnosticInfos\n    {\n      get\n      {\n        return this.diagnosticInfosField;\n      }\n      set\n      {\n        this.diagnosticInfosField = value;\n      }\n    }\n  }\n\n  /// <uwagi/>\n  [System.CodeDom.Compiler.GeneratedCodeAttribute( \"xsd\", \"2.0.50727.42\" )]\n  [System.SerializableAttribute()]\n  [System.Diagnostics.DebuggerStepThroughAttribute()]\n  [System.ComponentModel.DesignerCategoryAttribute( \"code\" )]\n  [System.Xml.Serialization.XmlTypeAttribute( Namespace = \"http://opcfoundation.org/UA/2008/02/Types.xsd\" )]\n  [System.Xml.Serialization.XmlRootAttribute( Namespace = \"http://opcfoundation.org/UA/2008/02/Types.xsd\", IsNullable = false )]\n  public partial class MonitoredItemNotification\n  {\n\n    private uint clientHandleField;\n\n    private DataValue valueField;\n\n    /// <uwagi/>\n    public uint ClientHandle\n    {\n      get\n      {\n        return this.clientHandleField;\n      }\n      set\n      {\n        this.clientHandleField = value;\n      }\n    }\n\n    /// <uwagi/>\n    public DataValue Value\n    {\n      get\n      {\n        return this.valueField;\n      }\n      set\n      {\n        this.valueField = value;\n      }\n    }\n  }\n\n  /// <uwagi/>\n  [System.CodeDom.Compiler.GeneratedCodeAttribute( \"xsd\", \"2.0.50727.42\" )]\n  [System.SerializableAttribute()]\n  [System.Diagnostics.DebuggerStepThroughAttribute()]\n  [System.ComponentModel.DesignerCategoryAttribute( \"code\" )]\n  [System.Xml.Serialization.XmlTypeAttribute( Namespace = \"http://opcfoundation.org/UA/2008/02/Types.xsd\" )]\n  [System.Xml.Serialization.XmlRootAttribute( Namespace = \"http://opcfoundation.org/UA/2008/02/Types.xsd\", IsNullable = true )]\n  public partial class ListOfMonitoredItemNotification\n  {\n\n    private MonitoredItemNotification[] monitoredItemNotificationField;\n\n    /// <uwagi/>\n    [System.Xml.Serialization.XmlElementAttribute( \"MonitoredItemNotification\", IsNullable = true )]\n    public MonitoredItemNotification[] MonitoredItemNotification\n    {\n      get\n      {\n        return this.monitoredItemNotificationField;\n      }\n      set\n      {\n        this.monitoredItemNotificationField = value;\n      }\n    }\n  }\n\n  /// <uwagi/>\n  [System.CodeDom.Compiler.GeneratedCodeAttribute( \"xsd\", \"2.0.50727.42\" )]\n  [System.SerializableAttribute()]\n  [System.Diagnostics.DebuggerStepThroughAttribute()]\n  [System.ComponentModel.DesignerCategoryAttribute( \"code\" )]\n  [System.Xml.Serialization.XmlTypeAttribute( Namespace = \"http://opcfoundation.org/UA/2008/02/Types.xsd\" )]\n  [System.Xml.Serialization.XmlRootAttribute( Namespace = \"http://opcfoundation.org/UA/2008/02/Types.xsd\", IsNullable = false )]\n  public partial class EventNotificationList: NotificationData\n  {\n\n    private EventFieldList[] eventsField;\n\n    /// <uwagi/>\n    public EventFieldList[] Events\n    {\n      get\n      {\n        return this.eventsField;\n      }\n      set\n      {\n        this.eventsField = value;\n      }\n    }\n  }\n\n  /// <uwagi/>\n  [System.CodeDom.Compiler.GeneratedCodeAttribute( \"xsd\", \"2.0.50727.42\" )]\n  [System.SerializableAttribute()]\n  [System.Diagnostics.DebuggerStepThroughAttribute()]\n  [System.ComponentModel.DesignerCategoryAttribute( \"code\" )]\n  [System.Xml.Serialization.XmlTypeAttribute( Namespace = \"http://opcfoundation.org/UA/2008/02/Types.xsd\" )]\n  [System.Xml.Serialization.XmlRootAttribute( Namespace = \"http://opcfoundation.org/UA/2008/02/Types.xsd\", IsNullable = false )]\n  public partial class EventFieldList\n  {\n\n    private uint clientHandleField;\n\n    private Variant[] eventFieldsField;\n\n    /// <uwagi/>\n    public uint ClientHandle\n    {\n      get\n      {\n        return this.clientHandleField;\n      }\n      set\n      {\n        this.clientHandleField = value;\n      }\n    }\n\n    /// <uwagi/>\n    public Variant[] EventFields\n    {\n      get\n      {\n        return this.eventFieldsField;\n      }\n      set\n      {\n        this.eventFieldsField = value;\n      }\n    }\n  }\n\n  /// <uwagi/>\n  [System.CodeDom.Compiler.GeneratedCodeAttribute( \"xsd\", \"2.0.50727.42\" )]\n  [System.SerializableAttribute()]\n  [System.Diagnostics.DebuggerStepThroughAttribute()]\n  [System.ComponentModel.DesignerCategoryAttribute( \"code\" )]\n  [System.Xml.Serialization.XmlTypeAttribute( Namespace = \"http://opcfoundation.org/UA/2008/02/Types.xsd\" )]\n  [System.Xml.Serialization.XmlRootAttribute( Namespace = \"http://opcfoundation.org/UA/2008/02/Types.xsd\", IsNullable = true )]\n  public partial class ListOfEventFieldList\n  {\n\n    private EventFieldList[] eventFieldListField;\n\n    /// <uwagi/>\n    [System.Xml.Serialization.XmlElementAttribute( \"EventFieldList\", IsNullable = true )]\n    public EventFieldList[] EventFieldList\n    {\n      get\n      {\n        return this.eventFieldListField;\n      }\n      set\n      {\n        this.eventFieldListField = value;\n      }\n    }\n  }\n\n  /// <uwagi/>\n  [System.CodeDom.Compiler.GeneratedCodeAttribute( \"xsd\", \"2.0.50727.42\" )]\n  [System.SerializableAttribute()]\n  [System.Diagnostics.DebuggerStepThroughAttribute()]\n  [System.ComponentModel.DesignerCategoryAttribute( \"code\" )]\n  [System.Xml.Serialization.XmlTypeAttribute( Namespace = \"http://opcfoundation.org/UA/2008/02/Types.xsd\" )]\n  [System.Xml.Serialization.XmlRootAttribute( Namespace = \"http://opcfoundation.org/UA/2008/02/Types.xsd\", IsNullable = true )]\n  public partial class ListOfHistoryEventFieldList\n  {\n\n    private HistoryEventFieldList[] historyEventFieldListField;\n\n    /// <uwagi/>\n    [System.Xml.Serialization.XmlElementAttribute( \"HistoryEventFieldList\", IsNullable = true )]\n    public HistoryEventFieldList[] HistoryEventFieldList\n    {\n      get\n      {\n        return this.historyEventFieldListField;\n      }\n      set\n      {\n        this.historyEventFieldListField = value;\n      }\n    }\n  }\n\n  /// <uwagi/>\n  [System.CodeDom.Compiler.GeneratedCodeAttribute( \"xsd\", \"2.0.50727.42\" )]\n  [System.SerializableAttribute()]\n  [System.Diagnostics.DebuggerStepThroughAttribute()]\n  [System.ComponentModel.DesignerCategoryAttribute( \"code\" )]\n  [System.Xml.Serialization.XmlTypeAttribute( Namespace = \"http://opcfoundation.org/UA/2008/02/Types.xsd\" )]\n  [System.Xml.Serialization.XmlRootAttribute( Namespace = \"http://opcfoundation.org/UA/2008/02/Types.xsd\", IsNullable = false )]\n  public partial class StatusChangeNotification: NotificationData\n  {\n\n    private StatusCode statusField;\n\n    private DiagnosticInfo diagnosticInfoField;\n\n    /// <uwagi/>\n    public StatusCode Status\n    {\n      get\n      {\n        return this.statusField;\n      }\n      set\n      {\n        this.statusField = value;\n      }\n    }\n\n    /// <uwagi/>\n    [System.Xml.Serialization.XmlElementAttribute( IsNullable = true )]\n    public DiagnosticInfo DiagnosticInfo\n    {\n      get\n      {\n        return this.diagnosticInfoField;\n      }\n      set\n      {\n        this.diagnosticInfoField = value;\n      }\n    }\n  }\n\n  /// <uwagi/>\n  [System.CodeDom.Compiler.GeneratedCodeAttribute( \"xsd\", \"2.0.50727.42\" )]\n  [System.SerializableAttribute()]\n  [System.Diagnostics.DebuggerStepThroughAttribute()]\n  [System.ComponentModel.DesignerCategoryAttribute( \"code\" )]\n  [System.Xml.Serialization.XmlTypeAttribute( Namespace = \"http://opcfoundation.org/UA/2008/02/Types.xsd\" )]\n  [System.Xml.Serialization.XmlRootAttribute( Namespace = \"http://opcfoundation.org/UA/2008/02/Types.xsd\", IsNullable = false )]\n  public partial class SubscriptionAcknowledgement\n  {\n\n    private uint subscriptionIdField;\n\n    private uint sequenceNumberField;\n\n    /// <uwagi/>\n    public uint SubscriptionId\n    {\n      get\n      {\n        return this.subscriptionIdField;\n      }\n      set\n      {\n        this.subscriptionIdField = value;\n      }\n    }\n\n    /// <uwagi/>\n    public uint SequenceNumber\n    {\n      get\n      {\n        return this.sequenceNumberField;\n      }\n      set\n      {\n        this.sequenceNumberField = value;\n      }\n    }\n  }\n\n  /// <uwagi/>\n  [System.CodeDom.Compiler.GeneratedCodeAttribute( \"xsd\", \"2.0.50727.42\" )]\n  [System.SerializableAttribute()]\n  [System.Diagnostics.DebuggerStepThroughAttribute()]\n  [System.ComponentModel.DesignerCategoryAttribute( \"code\" )]\n  [System.Xml.Serialization.XmlTypeAttribute( Namespace = \"http://opcfoundation.org/UA/2008/02/Types.xsd\" )]\n  [System.Xml.Serialization.XmlRootAttribute( Namespace = \"http://opcfoundation.org/UA/2008/02/Types.xsd\", IsNullable = true )]\n  public partial class ListOfSubscriptionAcknowledgement\n  {\n\n    private SubscriptionAcknowledgement[] subscriptionAcknowledgementField;\n\n    /// <uwagi/>\n    [System.Xml.Serialization.XmlElementAttribute( \"SubscriptionAcknowledgement\", IsNullable = true )]\n    public SubscriptionAcknowledgement[] SubscriptionAcknowledgement\n    {\n      get\n      {\n        return this.subscriptionAcknowledgementField;\n      }\n      set\n      {\n        this.subscriptionAcknowledgementField = value;\n      }\n    }\n  }\n\n  /// <uwagi/>\n  [System.CodeDom.Compiler.GeneratedCodeAttribute( \"xsd\", \"2.0.50727.42\" )]\n  [System.SerializableAttribute()]\n  [System.Diagnostics.DebuggerStepThroughAttribute()]\n  [System.ComponentModel.DesignerCategoryAttribute( \"code\" )]\n  [System.Xml.Serialization.XmlTypeAttribute( Namespace = \"http://opcfoundation.org/UA/2008/02/Types.xsd\" )]\n  [System.Xml.Serialization.XmlRootAttribute( Namespace = \"http://opcfoundation.org/UA/2008/02/Types.xsd\", IsNullable = false )]\n  public partial class PublishRequest\n  {\n\n    private RequestHeader requestHeaderField;\n\n    private SubscriptionAcknowledgement[] subscriptionAcknowledgementsField;\n\n    /// <uwagi/>\n    public RequestHeader RequestHeader\n    {\n      get\n      {\n        return this.requestHeaderField;\n      }\n      set\n      {\n        this.requestHeaderField = value;\n      }\n    }\n\n    /// <uwagi/>\n    public SubscriptionAcknowledgement[] SubscriptionAcknowledgements\n    {\n      get\n      {\n        return this.subscriptionAcknowledgementsField;\n      }\n      set\n      {\n        this.subscriptionAcknowledgementsField = value;\n      }\n    }\n  }\n\n  /// <uwagi/>\n  [System.CodeDom.Compiler.GeneratedCodeAttribute( \"xsd\", \"2.0.50727.42\" )]\n  [System.SerializableAttribute()]\n  [System.Diagnostics.DebuggerStepThroughAttribute()]\n  [System.ComponentModel.DesignerCategoryAttribute( \"code\" )]\n  [System.Xml.Serialization.XmlTypeAttribute( Namespace = \"http://opcfoundation.org/UA/2008/02/Types.xsd\" )]\n  [System.Xml.Serialization.XmlRootAttribute( Namespace = \"http://opcfoundation.org/UA/2008/02/Types.xsd\", IsNullable = false )]\n  public partial class PublishResponse\n  {\n\n    private ResponseHeader responseHeaderField;\n\n    private uint subscriptionIdField;\n\n    private uint[] availableSequenceNumbersField;\n\n    private bool moreNotificationsField;\n\n    private NotificationMessage notificationMessageField;\n\n    private StatusCode[] resultsField;\n\n    private DiagnosticInfo[] diagnosticInfosField;\n\n    /// <uwagi/>\n    public ResponseHeader ResponseHeader\n    {\n      get\n      {\n        return this.responseHeaderField;\n      }\n      set\n      {\n        this.responseHeaderField = value;\n      }\n    }\n\n    /// <uwagi/>\n    public uint SubscriptionId\n    {\n      get\n      {\n        return this.subscriptionIdField;\n      }\n      set\n      {\n        this.subscriptionIdField = value;\n      }\n    }\n\n    /// <uwagi/>\n    [System.Xml.Serialization.XmlArrayItemAttribute( \"UInt32\", IsNullable = false )]\n    public uint[] AvailableSequenceNumbers\n    {\n      get\n      {\n        return this.availableSequenceNumbersField;\n      }\n      set\n      {\n        this.availableSequenceNumbersField = value;\n      }\n    }\n\n    /// <uwagi/>\n    public bool MoreNotifications\n    {\n      get\n      {\n        return this.moreNotificationsField;\n      }\n      set\n      {\n        this.moreNotificationsField = value;\n      }\n    }\n\n    /// <uwagi/>\n    public NotificationMessage NotificationMessage\n    {\n      get\n      {\n        return this.notificationMessageField;\n      }\n      set\n      {\n        this.notificationMessageField = value;\n      }\n    }\n\n    /// <uwagi/>\n    public StatusCode[] Results\n    {\n      get\n      {\n        return this.resultsField;\n      }\n      set\n      {\n        this.resultsField = value;\n      }\n    }\n\n    /// <uwagi/>\n    [System.Xml.Serialization.XmlArrayAttribute( IsNullable = true )]\n    public DiagnosticInfo[] DiagnosticInfos\n    {\n      get\n      {\n        return this.diagnosticInfosField;\n      }\n      set\n      {\n        this.diagnosticInfosField = value;\n      }\n    }\n  }\n\n  /// <uwagi/>\n  [System.CodeDom.Compiler.GeneratedCodeAttribute( \"xsd\", \"2.0.50727.42\" )]\n  [System.SerializableAttribute()]\n  [System.Diagnostics.DebuggerStepThroughAttribute()]\n  [System.ComponentModel.DesignerCategoryAttribute( \"code\" )]\n  [System.Xml.Serialization.XmlTypeAttribute( Namespace = \"http://opcfoundation.org/UA/2008/02/Types.xsd\" )]\n  [System.Xml.Serialization.XmlRootAttribute( Namespace = \"http://opcfoundation.org/UA/2008/02/Types.xsd\", IsNullable = false )]\n  public partial class RepublishRequest\n  {\n\n    private RequestHeader requestHeaderField;\n\n    private uint subscriptionIdField;\n\n    private uint retransmitSequenceNumberField;\n\n    /// <uwagi/>\n    public RequestHeader RequestHeader\n    {\n      get\n      {\n        return this.requestHeaderField;\n      }\n      set\n      {\n        this.requestHeaderField = value;\n      }\n    }\n\n    /// <uwagi/>\n    public uint SubscriptionId\n    {\n      get\n      {\n        return this.subscriptionIdField;\n      }\n      set\n      {\n        this.subscriptionIdField = value;\n      }\n    }\n\n    /// <uwagi/>\n    public uint RetransmitSequenceNumber\n    {\n      get\n      {\n        return this.retransmitSequenceNumberField;\n      }\n      set\n      {\n        this.retransmitSequenceNumberField = value;\n      }\n    }\n  }\n\n  /// <uwagi/>\n  [System.CodeDom.Compiler.GeneratedCodeAttribute( \"xsd\", \"2.0.50727.42\" )]\n  [System.SerializableAttribute()]\n  [System.Diagnostics.DebuggerStepThroughAttribute()]\n  [System.ComponentModel.DesignerCategoryAttribute( \"code\" )]\n  [System.Xml.Serialization.XmlTypeAttribute( Namespace = \"http://opcfoundation.org/UA/2008/02/Types.xsd\" )]\n  [System.Xml.Serialization.XmlRootAttribute( Namespace = \"http://opcfoundation.org/UA/2008/02/Types.xsd\", IsNullable = false )]\n  public partial class RepublishResponse\n  {\n\n    private ResponseHeader responseHeaderField;\n\n    private NotificationMessage notificationMessageField;\n\n    /// <uwagi/>\n    public ResponseHeader ResponseHeader\n    {\n      get\n      {\n        return this.responseHeaderField;\n      }\n      set\n      {\n        this.responseHeaderField = value;\n      }\n    }\n\n    /// <uwagi/>\n    public NotificationMessage NotificationMessage\n    {\n      get\n      {\n        return this.notificationMessageField;\n      }\n      set\n      {\n        this.notificationMessageField = value;\n      }\n    }\n  }\n\n  /// <uwagi/>\n  [System.CodeDom.Compiler.GeneratedCodeAttribute( \"xsd\", \"2.0.50727.42\" )]\n  [System.SerializableAttribute()]\n  [System.Diagnostics.DebuggerStepThroughAttribute()]\n  [System.ComponentModel.DesignerCategoryAttribute( \"code\" )]\n  [System.Xml.Serialization.XmlTypeAttribute( Namespace = \"http://opcfoundation.org/UA/2008/02/Types.xsd\" )]\n  [System.Xml.Serialization.XmlRootAttribute( Namespace = \"http://opcfoundation.org/UA/2008/02/Types.xsd\", IsNullable = false )]\n  public partial class TransferResult\n  {\n\n    private StatusCode statusCodeField;\n\n    private uint[] availableSequenceNumbersField;\n\n    /// <uwagi/>\n    public StatusCode StatusCode\n    {\n      get\n      {\n        return this.statusCodeField;\n      }\n      set\n      {\n        this.statusCodeField = value;\n      }\n    }\n\n    /// <uwagi/>\n    [System.Xml.Serialization.XmlArrayItemAttribute( \"UInt32\", IsNullable = false )]\n    public uint[] AvailableSequenceNumbers\n    {\n      get\n      {\n        return this.availableSequenceNumbersField;\n      }\n      set\n      {\n        this.availableSequenceNumbersField = value;\n      }\n    }\n  }\n\n  /// <uwagi/>\n  [System.CodeDom.Compiler.GeneratedCodeAttribute( \"xsd\", \"2.0.50727.42\" )]\n  [System.SerializableAttribute()]\n  [System.Diagnostics.DebuggerStepThroughAttribute()]\n  [System.ComponentModel.DesignerCategoryAttribute( \"code\" )]\n  [System.Xml.Serialization.XmlTypeAttribute( Namespace = \"http://opcfoundation.org/UA/2008/02/Types.xsd\" )]\n  [System.Xml.Serialization.XmlRootAttribute( Namespace = \"http://opcfoundation.org/UA/2008/02/Types.xsd\", IsNullable = true )]\n  public partial class ListOfTransferResult\n  {\n\n    private TransferResult[] transferResultField;\n\n    /// <uwagi/>\n    [System.Xml.Serialization.XmlElementAttribute( \"TransferResult\", IsNullable = true )]\n    public TransferResult[] TransferResult\n    {\n      get\n      {\n        return this.transferResultField;\n      }\n      set\n      {\n        this.transferResultField = value;\n      }\n    }\n  }\n\n  /// <uwagi/>\n  [System.CodeDom.Compiler.GeneratedCodeAttribute( \"xsd\", \"2.0.50727.42\" )]\n  [System.SerializableAttribute()]\n  [System.Diagnostics.DebuggerStepThroughAttribute()]\n  [System.ComponentModel.DesignerCategoryAttribute( \"code\" )]\n  [System.Xml.Serialization.XmlTypeAttribute( Namespace = \"http://opcfoundation.org/UA/2008/02/Types.xsd\" )]\n  [System.Xml.Serialization.XmlRootAttribute( Namespace = \"http://opcfoundation.org/UA/2008/02/Types.xsd\", IsNullable = false )]\n  public partial class TransferSubscriptionsRequest\n  {\n\n    private RequestHeader requestHeaderField;\n\n    private uint[] subscriptionIdsField;\n\n    private bool sendInitialValuesField;\n\n    /// <uwagi/>\n    public RequestHeader RequestHeader\n    {\n      get\n      {\n        return this.requestHeaderField;\n      }\n      set\n      {\n        this.requestHeaderField = value;\n      }\n    }\n\n    /// <uwagi/>\n    [System.Xml.Serialization.XmlArrayItemAttribute( \"UInt32\", IsNullable = false )]\n    public uint[] SubscriptionIds\n    {\n      get\n      {\n        return this.subscriptionIdsField;\n      }\n      set\n      {\n        this.subscriptionIdsField = value;\n      }\n    }\n\n    /// <uwagi/>\n    public bool SendInitialValues\n    {\n      get\n      {\n        return this.sendInitialValuesField;\n      }\n      set\n      {\n        this.sendInitialValuesField = value;\n      }\n    }\n  }\n\n  /// <uwagi/>\n  [System.CodeDom.Compiler.GeneratedCodeAttribute( \"xsd\", \"2.0.50727.42\" )]\n  [System.SerializableAttribute()]\n  [System.Diagnostics.DebuggerStepThroughAttribute()]\n  [System.ComponentModel.DesignerCategoryAttribute( \"code\" )]\n  [System.Xml.Serialization.XmlTypeAttribute( Namespace = \"http://opcfoundation.org/UA/2008/02/Types.xsd\" )]\n  [System.Xml.Serialization.XmlRootAttribute( Namespace = \"http://opcfoundation.org/UA/2008/02/Types.xsd\", IsNullable = false )]\n  public partial class TransferSubscriptionsResponse\n  {\n\n    private ResponseHeader responseHeaderField;\n\n    private TransferResult[] resultsField;\n\n    private DiagnosticInfo[] diagnosticInfosField;\n\n    /// <uwagi/>\n    public ResponseHeader ResponseHeader\n    {\n      get\n      {\n        return this.responseHeaderField;\n      }\n      set\n      {\n        this.responseHeaderField = value;\n      }\n    }\n\n    /// <uwagi/>\n    public TransferResult[] Results\n    {\n      get\n      {\n        return this.resultsField;\n      }\n      set\n      {\n        this.resultsField = value;\n      }\n    }\n\n    /// <uwagi/>\n    [System.Xml.Serialization.XmlArrayAttribute( IsNullable = true )]\n    public DiagnosticInfo[] DiagnosticInfos\n    {\n      get\n      {\n        return this.diagnosticInfosField;\n      }\n      set\n      {\n        this.diagnosticInfosField = value;\n      }\n    }\n  }\n\n  /// <uwagi/>\n  [System.CodeDom.Compiler.GeneratedCodeAttribute( \"xsd\", \"2.0.50727.42\" )]\n  [System.SerializableAttribute()]\n  [System.Diagnostics.DebuggerStepThroughAttribute()]\n  [System.ComponentModel.DesignerCategoryAttribute( \"code\" )]\n  [System.Xml.Serialization.XmlTypeAttribute( Namespace = \"http://opcfoundation.org/UA/2008/02/Types.xsd\" )]\n  [System.Xml.Serialization.XmlRootAttribute( Namespace = \"http://opcfoundation.org/UA/2008/02/Types.xsd\", IsNullable = false )]\n  public partial class DeleteSubscriptionsRequest\n  {\n\n    private RequestHeader requestHeaderField;\n\n    private uint[] subscriptionIdsField;\n\n    /// <uwagi/>\n    public RequestHeader RequestHeader\n    {\n      get\n      {\n        return this.requestHeaderField;\n      }\n      set\n      {\n        this.requestHeaderField = value;\n      }\n    }\n\n    /// <uwagi/>\n    [System.Xml.Serialization.XmlArrayItemAttribute( \"UInt32\", IsNullable = false )]\n    public uint[] SubscriptionIds\n    {\n      get\n      {\n        return this.subscriptionIdsField;\n      }\n      set\n      {\n        this.subscriptionIdsField = value;\n      }\n    }\n  }\n\n  /// <uwagi/>\n  [System.CodeDom.Compiler.GeneratedCodeAttribute( \"xsd\", \"2.0.50727.42\" )]\n  [System.SerializableAttribute()]\n  [System.Diagnostics.DebuggerStepThroughAttribute()]\n  [System.ComponentModel.DesignerCategoryAttribute( \"code\" )]\n  [System.Xml.Serialization.XmlTypeAttribute( Namespace = \"http://opcfoundation.org/UA/2008/02/Types.xsd\" )]\n  [System.Xml.Serialization.XmlRootAttribute( Namespace = \"http://opcfoundation.org/UA/2008/02/Types.xsd\", IsNullable = false )]\n  public partial class DeleteSubscriptionsResponse\n  {\n\n    private ResponseHeader responseHeaderField;\n\n    private StatusCode[] resultsField;\n\n    private DiagnosticInfo[] diagnosticInfosField;\n\n    /// <uwagi/>\n    public ResponseHeader ResponseHeader\n    {\n      get\n      {\n        return this.responseHeaderField;\n      }\n      set\n      {\n        this.responseHeaderField = value;\n      }\n    }\n\n    /// <uwagi/>\n    public StatusCode[] Results\n    {\n      get\n      {\n        return this.resultsField;\n      }\n      set\n      {\n        this.resultsField = value;\n      }\n    }\n\n    /// <uwagi/>\n    [System.Xml.Serialization.XmlArrayAttribute( IsNullable = true )]\n    public DiagnosticInfo[] DiagnosticInfos\n    {\n      get\n      {\n        return this.diagnosticInfosField;\n      }\n      set\n      {\n        this.diagnosticInfosField = value;\n      }\n    }\n  }\n\n  /// <uwagi/>\n  [System.CodeDom.Compiler.GeneratedCodeAttribute( \"xsd\", \"2.0.50727.42\" )]\n  [System.SerializableAttribute()]\n  [System.Xml.Serialization.XmlTypeAttribute( Namespace = \"http://opcfoundation.org/UA/2008/02/Types.xsd\" )]\n  [System.Xml.Serialization.XmlRootAttribute( Namespace = \"http://opcfoundation.org/UA/2008/02/Types.xsd\", IsNullable = false )]\n  public enum RedundancySupport\n  {\n\n    /// <uwagi/>\n    None_0,\n\n    /// <uwagi/>\n    Cold_1,\n\n    /// <uwagi/>\n    Warm_2,\n\n    /// <uwagi/>\n    Hot_3,\n\n    /// <uwagi/>\n    Transparent_4,\n  }\n\n  /// <uwagi/>\n  [System.CodeDom.Compiler.GeneratedCodeAttribute( \"xsd\", \"2.0.50727.42\" )]\n  [System.SerializableAttribute()]\n  [System.Xml.Serialization.XmlTypeAttribute( Namespace = \"http://opcfoundation.org/UA/2008/02/Types.xsd\" )]\n  [System.Xml.Serialization.XmlRootAttribute( Namespace = \"http://opcfoundation.org/UA/2008/02/Types.xsd\", IsNullable = false )]\n  public enum ServerState\n  {\n\n    /// <uwagi/>\n    Running_0,\n\n    /// <uwagi/>\n    Failed_1,\n\n    /// <uwagi/>\n    NoConfiguration_2,\n\n    /// <uwagi/>\n    Suspended_3,\n\n    /// <uwagi/>\n    Shutdown_4,\n\n    /// <uwagi/>\n    Test_5,\n\n    /// <uwagi/>\n    CommunicationFault_6,\n\n    /// <uwagi/>\n    Unknown_7,\n  }\n\n  /// <uwagi/>\n  [System.CodeDom.Compiler.GeneratedCodeAttribute( \"xsd\", \"2.0.50727.42\" )]\n  [System.SerializableAttribute()]\n  [System.Diagnostics.DebuggerStepThroughAttribute()]\n  [System.ComponentModel.DesignerCategoryAttribute( \"code\" )]\n  [System.Xml.Serialization.XmlTypeAttribute( Namespace = \"http://opcfoundation.org/UA/2008/02/Types.xsd\" )]\n  [System.Xml.Serialization.XmlRootAttribute( Namespace = \"http://opcfoundation.org/UA/2008/02/Types.xsd\", IsNullable = false )]\n  public partial class RedundantServerDataType\n  {\n\n    private string serverIdField;\n\n    private byte serviceLevelField;\n\n    private ServerState serverStateField;\n\n    /// <uwagi/>\n    [System.Xml.Serialization.XmlElementAttribute( IsNullable = true )]\n    public string ServerId\n    {\n      get\n      {\n        return this.serverIdField;\n      }\n      set\n      {\n        this.serverIdField = value;\n      }\n    }\n\n    /// <uwagi/>\n    public byte ServiceLevel\n    {\n      get\n      {\n        return this.serviceLevelField;\n      }\n      set\n      {\n        this.serviceLevelField = value;\n      }\n    }\n\n    /// <uwagi/>\n    public ServerState ServerState\n    {\n      get\n      {\n        return this.serverStateField;\n      }\n      set\n      {\n        this.serverStateField = value;\n      }\n    }\n  }\n\n  /// <uwagi/>\n  [System.CodeDom.Compiler.GeneratedCodeAttribute( \"xsd\", \"2.0.50727.42\" )]\n  [System.SerializableAttribute()]\n  [System.Diagnostics.DebuggerStepThroughAttribute()]\n  [System.ComponentModel.DesignerCategoryAttribute( \"code\" )]\n  [System.Xml.Serialization.XmlTypeAttribute( Namespace = \"http://opcfoundation.org/UA/2008/02/Types.xsd\" )]\n  [System.Xml.Serialization.XmlRootAttribute( Namespace = \"http://opcfoundation.org/UA/2008/02/Types.xsd\", IsNullable = true )]\n  public partial class ListOfRedundantServerDataType\n  {\n\n    private RedundantServerDataType[] redundantServerDataTypeField;\n\n    /// <uwagi/>\n    [System.Xml.Serialization.XmlElementAttribute( \"RedundantServerDataType\", IsNullable = true )]\n    public RedundantServerDataType[] RedundantServerDataType\n    {\n      get\n      {\n        return this.redundantServerDataTypeField;\n      }\n      set\n      {\n        this.redundantServerDataTypeField = value;\n      }\n    }\n  }\n\n  /// <uwagi/>\n  [System.CodeDom.Compiler.GeneratedCodeAttribute( \"xsd\", \"2.0.50727.42\" )]\n  [System.SerializableAttribute()]\n  [System.Diagnostics.DebuggerStepThroughAttribute()]\n  [System.ComponentModel.DesignerCategoryAttribute( \"code\" )]\n  [System.Xml.Serialization.XmlTypeAttribute( Namespace = \"http://opcfoundation.org/UA/2008/02/Types.xsd\" )]\n  [System.Xml.Serialization.XmlRootAttribute( Namespace = \"http://opcfoundation.org/UA/2008/02/Types.xsd\", IsNullable = false )]\n  public partial class SamplingIntervalDiagnosticsDataType\n  {\n\n    private double samplingIntervalField;\n\n    private uint monitoredItemCountField;\n\n    private uint maxMonitoredItemCountField;\n\n    private uint disabledMonitoredItemCountField;\n\n    /// <uwagi/>\n    public double SamplingInterval\n    {\n      get\n      {\n        return this.samplingIntervalField;\n      }\n      set\n      {\n        this.samplingIntervalField = value;\n      }\n    }\n\n    /// <uwagi/>\n    public uint MonitoredItemCount\n    {\n      get\n      {\n        return this.monitoredItemCountField;\n      }\n      set\n      {\n        this.monitoredItemCountField = value;\n      }\n    }\n\n    /// <uwagi/>\n    public uint MaxMonitoredItemCount\n    {\n      get\n      {\n        return this.maxMonitoredItemCountField;\n      }\n      set\n      {\n        this.maxMonitoredItemCountField = value;\n      }\n    }\n\n    /// <uwagi/>\n    public uint DisabledMonitoredItemCount\n    {\n      get\n      {\n        return this.disabledMonitoredItemCountField;\n      }\n      set\n      {\n        this.disabledMonitoredItemCountField = value;\n      }\n    }\n  }\n\n  /// <uwagi/>\n  [System.CodeDom.Compiler.GeneratedCodeAttribute( \"xsd\", \"2.0.50727.42\" )]\n  [System.SerializableAttribute()]\n  [System.Diagnostics.DebuggerStepThroughAttribute()]\n  [System.ComponentModel.DesignerCategoryAttribute( \"code\" )]\n  [System.Xml.Serialization.XmlTypeAttribute( Namespace = \"http://opcfoundation.org/UA/2008/02/Types.xsd\" )]\n  [System.Xml.Serialization.XmlRootAttribute( Namespace = \"http://opcfoundation.org/UA/2008/02/Types.xsd\", IsNullable = false )]\n  public partial class ServerDiagnosticsSummaryDataType\n  {\n\n    private uint serverViewCountField;\n\n    private uint currentSessionCountField;\n\n    private uint cumulatedSessionCountField;\n\n    private uint securityRejectedSessionCountField;\n\n    private uint rejectedSessionCountField;\n\n    private uint sessionTimeoutCountField;\n\n    private uint sessionAbortCountField;\n\n    private uint currentSubscriptionCountField;\n\n    private uint cumulatedSubscriptionCountField;\n\n    private uint publishingIntervalCountField;\n\n    private uint securityRejectedRequestsCountField;\n\n    private uint rejectedRequestsCountField;\n\n    /// <uwagi/>\n    public uint ServerViewCount\n    {\n      get\n      {\n        return this.serverViewCountField;\n      }\n      set\n      {\n        this.serverViewCountField = value;\n      }\n    }\n\n    /// <uwagi/>\n    public uint CurrentSessionCount\n    {\n      get\n      {\n        return this.currentSessionCountField;\n      }\n      set\n      {\n        this.currentSessionCountField = value;\n      }\n    }\n\n    /// <uwagi/>\n    public uint CumulatedSessionCount\n    {\n      get\n      {\n        return this.cumulatedSessionCountField;\n      }\n      set\n      {\n        this.cumulatedSessionCountField = value;\n      }\n    }\n\n    /// <uwagi/>\n    public uint SecurityRejectedSessionCount\n    {\n      get\n      {\n        return this.securityRejectedSessionCountField;\n      }\n      set\n      {\n        this.securityRejectedSessionCountField = value;\n      }\n    }\n\n    /// <uwagi/>\n    public uint RejectedSessionCount\n    {\n      get\n      {\n        return this.rejectedSessionCountField;\n      }\n      set\n      {\n        this.rejectedSessionCountField = value;\n      }\n    }\n\n    /// <uwagi/>\n    public uint SessionTimeoutCount\n    {\n      get\n      {\n        return this.sessionTimeoutCountField;\n      }\n      set\n      {\n        this.sessionTimeoutCountField = value;\n      }\n    }\n\n    /// <uwagi/>\n    public uint SessionAbortCount\n    {\n      get\n      {\n        return this.sessionAbortCountField;\n      }\n      set\n      {\n        this.sessionAbortCountField = value;\n      }\n    }\n\n    /// <uwagi/>\n    public uint CurrentSubscriptionCount\n    {\n      get\n      {\n        return this.currentSubscriptionCountField;\n      }\n      set\n      {\n        this.currentSubscriptionCountField = value;\n      }\n    }\n\n    /// <uwagi/>\n    public uint CumulatedSubscriptionCount\n    {\n      get\n      {\n        return this.cumulatedSubscriptionCountField;\n      }\n      set\n      {\n        this.cumulatedSubscriptionCountField = value;\n      }\n    }\n\n    /// <uwagi/>\n    public uint PublishingIntervalCount\n    {\n      get\n      {\n        return this.publishingIntervalCountField;\n      }\n      set\n      {\n        this.publishingIntervalCountField = value;\n      }\n    }\n\n    /// <uwagi/>\n    public uint SecurityRejectedRequestsCount\n    {\n      get\n      {\n        return this.securityRejectedRequestsCountField;\n      }\n      set\n      {\n        this.securityRejectedRequestsCountField = value;\n      }\n    }\n\n    /// <uwagi/>\n    public uint RejectedRequestsCount\n    {\n      get\n      {\n        return this.rejectedRequestsCountField;\n      }\n      set\n      {\n        this.rejectedRequestsCountField = value;\n      }\n    }\n  }\n\n  /// <uwagi/>\n  [System.CodeDom.Compiler.GeneratedCodeAttribute( \"xsd\", \"2.0.50727.42\" )]\n  [System.SerializableAttribute()]\n  [System.Diagnostics.DebuggerStepThroughAttribute()]\n  [System.ComponentModel.DesignerCategoryAttribute( \"code\" )]\n  [System.Xml.Serialization.XmlTypeAttribute( Namespace = \"http://opcfoundation.org/UA/2008/02/Types.xsd\" )]\n  [System.Xml.Serialization.XmlRootAttribute( Namespace = \"http://opcfoundation.org/UA/2008/02/Types.xsd\", IsNullable = false )]\n  public partial class ServerStatusDataType\n  {\n\n    private System.DateTime startTimeField;\n\n    private System.DateTime currentTimeField;\n\n    private ServerState stateField;\n\n    private BuildInfo buildInfoField;\n\n    private uint secondsTillShutdownField;\n\n    private LocalizedText shutdownReasonField;\n\n    /// <uwagi/>\n    public System.DateTime StartTime\n    {\n      get\n      {\n        return this.startTimeField;\n      }\n      set\n      {\n        this.startTimeField = value;\n      }\n    }\n\n    /// <uwagi/>\n    public System.DateTime CurrentTime\n    {\n      get\n      {\n        return this.currentTimeField;\n      }\n      set\n      {\n        this.currentTimeField = value;\n      }\n    }\n\n    /// <uwagi/>\n    public ServerState State\n    {\n      get\n      {\n        return this.stateField;\n      }\n      set\n      {\n        this.stateField = value;\n      }\n    }\n\n    /// <uwagi/>\n    public BuildInfo BuildInfo\n    {\n      get\n      {\n        return this.buildInfoField;\n      }\n      set\n      {\n        this.buildInfoField = value;\n      }\n    }\n\n    /// <uwagi/>\n    public uint SecondsTillShutdown\n    {\n      get\n      {\n        return this.secondsTillShutdownField;\n      }\n      set\n      {\n        this.secondsTillShutdownField = value;\n      }\n    }\n\n    /// <uwagi/>\n    [System.Xml.Serialization.XmlElementAttribute( IsNullable = true )]\n    public LocalizedText ShutdownReason\n    {\n      get\n      {\n        return this.shutdownReasonField;\n      }\n      set\n      {\n        this.shutdownReasonField = value;\n      }\n    }\n  }\n\n  /// <uwagi/>\n  [System.CodeDom.Compiler.GeneratedCodeAttribute( \"xsd\", \"2.0.50727.42\" )]\n  [System.SerializableAttribute()]\n  [System.Diagnostics.DebuggerStepThroughAttribute()]\n  [System.ComponentModel.DesignerCategoryAttribute( \"code\" )]\n  [System.Xml.Serialization.XmlTypeAttribute( Namespace = \"http://opcfoundation.org/UA/2008/02/Types.xsd\" )]\n  [System.Xml.Serialization.XmlRootAttribute( Namespace = \"http://opcfoundation.org/UA/2008/02/Types.xsd\", IsNullable = false )]\n  public partial class SessionDiagnosticsDataType\n  {\n\n    private NodeId sessionIdField;\n\n    private string sessionNameField;\n\n    private ApplicationDescription clientDescriptionField;\n\n    private string serverUriField;\n\n    private string endpointUrlField;\n\n    private string[] localeIdsField;\n\n    private double actualSessionTimeoutField;\n\n    private uint maxResponseMessageSizeField;\n\n    private System.DateTime clientConnectionTimeField;\n\n    private System.DateTime clientLastContactTimeField;\n\n    private uint currentSubscriptionsCountField;\n\n    private uint currentMonitoredItemsCountField;\n\n    private uint currentPublishRequestsInQueueField;\n\n    private ServiceCounterDataType totalRequestCountField;\n\n    private uint unauthorizedRequestCountField;\n\n    private ServiceCounterDataType readCountField;\n\n    private ServiceCounterDataType historyReadCountField;\n\n    private ServiceCounterDataType writeCountField;\n\n    private ServiceCounterDataType historyUpdateCountField;\n\n    private ServiceCounterDataType callCountField;\n\n    private ServiceCounterDataType createMonitoredItemsCountField;\n\n    private ServiceCounterDataType modifyMonitoredItemsCountField;\n\n    private ServiceCounterDataType setMonitoringModeCountField;\n\n    private ServiceCounterDataType setTriggeringCountField;\n\n    private ServiceCounterDataType deleteMonitoredItemsCountField;\n\n    private ServiceCounterDataType createSubscriptionCountField;\n\n    private ServiceCounterDataType modifySubscriptionCountField;\n\n    private ServiceCounterDataType setPublishingModeCountField;\n\n    private ServiceCounterDataType publishCountField;\n\n    private ServiceCounterDataType republishCountField;\n\n    private ServiceCounterDataType transferSubscriptionsCountField;\n\n    private ServiceCounterDataType deleteSubscriptionsCountField;\n\n    private ServiceCounterDataType addNodesCountField;\n\n    private ServiceCounterDataType addReferencesCountField;\n\n    private ServiceCounterDataType deleteNodesCountField;\n\n    private ServiceCounterDataType deleteReferencesCountField;\n\n    private ServiceCounterDataType browseCountField;\n\n    private ServiceCounterDataType browseNextCountField;\n\n    private ServiceCounterDataType translateBrowsePathsToNodeIdsCountField;\n\n    private ServiceCounterDataType queryFirstCountField;\n\n    private ServiceCounterDataType queryNextCountField;\n\n    private ServiceCounterDataType registerNodesCountField;\n\n    private ServiceCounterDataType unregisterNodesCountField;\n\n    /// <uwagi/>\n    [System.Xml.Serialization.XmlElementAttribute( IsNullable = true )]\n    public NodeId SessionId\n    {\n      get\n      {\n        return this.sessionIdField;\n      }\n      set\n      {\n        this.sessionIdField = value;\n      }\n    }\n\n    /// <uwagi/>\n    [System.Xml.Serialization.XmlElementAttribute( IsNullable = true )]\n    public string SessionName\n    {\n      get\n      {\n        return this.sessionNameField;\n      }\n      set\n      {\n        this.sessionNameField = value;\n      }\n    }\n\n    /// <uwagi/>\n    public ApplicationDescription ClientDescription\n    {\n      get\n      {\n        return this.clientDescriptionField;\n      }\n      set\n      {\n        this.clientDescriptionField = value;\n      }\n    }\n\n    /// <uwagi/>\n    [System.Xml.Serialization.XmlElementAttribute( IsNullable = true )]\n    public string ServerUri\n    {\n      get\n      {\n        return this.serverUriField;\n      }\n      set\n      {\n        this.serverUriField = value;\n      }\n    }\n\n    /// <uwagi/>\n    [System.Xml.Serialization.XmlElementAttribute( IsNullable = true )]\n    public string EndpointUrl\n    {\n      get\n      {\n        return this.endpointUrlField;\n      }\n      set\n      {\n        this.endpointUrlField = value;\n      }\n    }\n\n    /// <uwagi/>\n    [System.Xml.Serialization.XmlArrayAttribute( IsNullable = true )]\n    [System.Xml.Serialization.XmlArrayItemAttribute( \"String\", IsNullable = false )]\n    public string[] LocaleIds\n    {\n      get\n      {\n        return this.localeIdsField;\n      }\n      set\n      {\n        this.localeIdsField = value;\n      }\n    }\n\n    /// <uwagi/>\n    public double ActualSessionTimeout\n    {\n      get\n      {\n        return this.actualSessionTimeoutField;\n      }\n      set\n      {\n        this.actualSessionTimeoutField = value;\n      }\n    }\n\n    /// <uwagi/>\n    public uint MaxResponseMessageSize\n    {\n      get\n      {\n        return this.maxResponseMessageSizeField;\n      }\n      set\n      {\n        this.maxResponseMessageSizeField = value;\n      }\n    }\n\n    /// <uwagi/>\n    public System.DateTime ClientConnectionTime\n    {\n      get\n      {\n        return this.clientConnectionTimeField;\n      }\n      set\n      {\n        this.clientConnectionTimeField = value;\n      }\n    }\n\n    /// <uwagi/>\n    public System.DateTime ClientLastContactTime\n    {\n      get\n      {\n        return this.clientLastContactTimeField;\n      }\n      set\n      {\n        this.clientLastContactTimeField = value;\n      }\n    }\n\n    /// <uwagi/>\n    public uint CurrentSubscriptionsCount\n    {\n      get\n      {\n        return this.currentSubscriptionsCountField;\n      }\n      set\n      {\n        this.currentSubscriptionsCountField = value;\n      }\n    }\n\n    /// <uwagi/>\n    public uint CurrentMonitoredItemsCount\n    {\n      get\n      {\n        return this.currentMonitoredItemsCountField;\n      }\n      set\n      {\n        this.currentMonitoredItemsCountField = value;\n      }\n    }\n\n    /// <uwagi/>\n    public uint CurrentPublishRequestsInQueue\n    {\n      get\n      {\n        return this.currentPublishRequestsInQueueField;\n      }\n      set\n      {\n        this.currentPublishRequestsInQueueField = value;\n      }\n    }\n\n    /// <uwagi/>\n    public ServiceCounterDataType TotalRequestCount\n    {\n      get\n      {\n        return this.totalRequestCountField;\n      }\n      set\n      {\n        this.totalRequestCountField = value;\n      }\n    }\n\n    /// <uwagi/>\n    public uint UnauthorizedRequestCount\n    {\n      get\n      {\n        return this.unauthorizedRequestCountField;\n      }\n      set\n      {\n        this.unauthorizedRequestCountField = value;\n      }\n    }\n\n    /// <uwagi/>\n    public ServiceCounterDataType ReadCount\n    {\n      get\n      {\n        return this.readCountField;\n      }\n      set\n      {\n        this.readCountField = value;\n      }\n    }\n\n    /// <uwagi/>\n    public ServiceCounterDataType HistoryReadCount\n    {\n      get\n      {\n        return this.historyReadCountField;\n      }\n      set\n      {\n        this.historyReadCountField = value;\n      }\n    }\n\n    /// <uwagi/>\n    public ServiceCounterDataType WriteCount\n    {\n      get\n      {\n        return this.writeCountField;\n      }\n      set\n      {\n        this.writeCountField = value;\n      }\n    }\n\n    /// <uwagi/>\n    public ServiceCounterDataType HistoryUpdateCount\n    {\n      get\n      {\n        return this.historyUpdateCountField;\n      }\n      set\n      {\n        this.historyUpdateCountField = value;\n      }\n    }\n\n    /// <uwagi/>\n    public ServiceCounterDataType CallCount\n    {\n      get\n      {\n        return this.callCountField;\n      }\n      set\n      {\n        this.callCountField = value;\n      }\n    }\n\n    /// <uwagi/>\n    public ServiceCounterDataType CreateMonitoredItemsCount\n    {\n      get\n      {\n        return this.createMonitoredItemsCountField;\n      }\n      set\n      {\n        this.createMonitoredItemsCountField = value;\n      }\n    }\n\n    /// <uwagi/>\n    public ServiceCounterDataType ModifyMonitoredItemsCount\n    {\n      get\n      {\n        return this.modifyMonitoredItemsCountField;\n      }\n      set\n      {\n        this.modifyMonitoredItemsCountField = value;\n      }\n    }\n\n    /// <uwagi/>\n    public ServiceCounterDataType SetMonitoringModeCount\n    {\n      get\n      {\n        return this.setMonitoringModeCountField;\n      }\n      set\n      {\n        this.setMonitoringModeCountField = value;\n      }\n    }\n\n    /// <uwagi/>\n    public ServiceCounterDataType SetTriggeringCount\n    {\n      get\n      {\n        return this.setTriggeringCountField;\n      }\n      set\n      {\n        this.setTriggeringCountField = value;\n      }\n    }\n\n    /// <uwagi/>\n    public ServiceCounterDataType DeleteMonitoredItemsCount\n    {\n      get\n      {\n        return this.deleteMonitoredItemsCountField;\n      }\n      set\n      {\n        this.deleteMonitoredItemsCountField = value;\n      }\n    }\n\n    /// <uwagi/>\n    public ServiceCounterDataType CreateSubscriptionCount\n    {\n      get\n      {\n        return this.createSubscriptionCountField;\n      }\n      set\n      {\n        this.createSubscriptionCountField = value;\n      }\n    }\n\n    /// <uwagi/>\n    public ServiceCounterDataType ModifySubscriptionCount\n    {\n      get\n      {\n        return this.modifySubscriptionCountField;\n      }\n      set\n      {\n        this.modifySubscriptionCountField = value;\n      }\n    }\n\n    /// <uwagi/>\n    public ServiceCounterDataType SetPublishingModeCount\n    {\n      get\n      {\n        return this.setPublishingModeCountField;\n      }\n      set\n      {\n        this.setPublishingModeCountField = value;\n      }\n    }\n\n    /// <uwagi/>\n    public ServiceCounterDataType PublishCount\n    {\n      get\n      {\n        return this.publishCountField;\n      }\n      set\n      {\n        this.publishCountField = value;\n      }\n    }\n\n    /// <uwagi/>\n    public ServiceCounterDataType RepublishCount\n    {\n      get\n      {\n        return this.republishCountField;\n      }\n      set\n      {\n        this.republishCountField = value;\n      }\n    }\n\n    /// <uwagi/>\n    public ServiceCounterDataType TransferSubscriptionsCount\n    {\n      get\n      {\n        return this.transferSubscriptionsCountField;\n      }\n      set\n      {\n        this.transferSubscriptionsCountField = value;\n      }\n    }\n\n    /// <uwagi/>\n    public ServiceCounterDataType DeleteSubscriptionsCount\n    {\n      get\n      {\n        return this.deleteSubscriptionsCountField;\n      }\n      set\n      {\n        this.deleteSubscriptionsCountField = value;\n      }\n    }\n\n    /// <uwagi/>\n    public ServiceCounterDataType AddNodesCount\n    {\n      get\n      {\n        return this.addNodesCountField;\n      }\n      set\n      {\n        this.addNodesCountField = value;\n      }\n    }\n\n    /// <uwagi/>\n    public ServiceCounterDataType AddReferencesCount\n    {\n      get\n      {\n        return this.addReferencesCountField;\n      }\n      set\n      {\n        this.addReferencesCountField = value;\n      }\n    }\n\n    /// <uwagi/>\n    public ServiceCounterDataType DeleteNodesCount\n    {\n      get\n      {\n        return this.deleteNodesCountField;\n      }\n      set\n      {\n        this.deleteNodesCountField = value;\n      }\n    }\n\n    /// <uwagi/>\n    public ServiceCounterDataType DeleteReferencesCount\n    {\n      get\n      {\n        return this.deleteReferencesCountField;\n      }\n      set\n      {\n        this.deleteReferencesCountField = value;\n      }\n    }\n\n    /// <uwagi/>\n    public ServiceCounterDataType BrowseCount\n    {\n      get\n      {\n        return this.browseCountField;\n      }\n      set\n      {\n        this.browseCountField = value;\n      }\n    }\n\n    /// <uwagi/>\n    public ServiceCounterDataType BrowseNextCount\n    {\n      get\n      {\n        return this.browseNextCountField;\n      }\n      set\n      {\n        this.browseNextCountField = value;\n      }\n    }\n\n    /// <uwagi/>\n    public ServiceCounterDataType TranslateBrowsePathsToNodeIdsCount\n    {\n      get\n      {\n        return this.translateBrowsePathsToNodeIdsCountField;\n      }\n      set\n      {\n        this.translateBrowsePathsToNodeIdsCountField = value;\n      }\n    }\n\n    /// <uwagi/>\n    public ServiceCounterDataType QueryFirstCount\n    {\n      get\n      {\n        return this.queryFirstCountField;\n      }\n      set\n      {\n        this.queryFirstCountField = value;\n      }\n    }\n\n    /// <uwagi/>\n    public ServiceCounterDataType QueryNextCount\n    {\n      get\n      {\n        return this.queryNextCountField;\n      }\n      set\n      {\n        this.queryNextCountField = value;\n      }\n    }\n\n    /// <uwagi/>\n    public ServiceCounterDataType RegisterNodesCount\n    {\n      get\n      {\n        return this.registerNodesCountField;\n      }\n      set\n      {\n        this.registerNodesCountField = value;\n      }\n    }\n\n    /// <uwagi/>\n    public ServiceCounterDataType UnregisterNodesCount\n    {\n      get\n      {\n        return this.unregisterNodesCountField;\n      }\n      set\n      {\n        this.unregisterNodesCountField = value;\n      }\n    }\n  }\n\n  /// <uwagi/>\n  [System.CodeDom.Compiler.GeneratedCodeAttribute( \"xsd\", \"2.0.50727.42\" )]\n  [System.SerializableAttribute()]\n  [System.Diagnostics.DebuggerStepThroughAttribute()]\n  [System.ComponentModel.DesignerCategoryAttribute( \"code\" )]\n  [System.Xml.Serialization.XmlTypeAttribute( Namespace = \"http://opcfoundation.org/UA/2008/02/Types.xsd\" )]\n  [System.Xml.Serialization.XmlRootAttribute( Namespace = \"http://opcfoundation.org/UA/2008/02/Types.xsd\", IsNullable = false )]\n  public partial class ServiceCounterDataType\n  {\n\n    private uint totalCountField;\n\n    private uint errorCountField;\n\n    /// <uwagi/>\n    public uint TotalCount\n    {\n      get\n      {\n        return this.totalCountField;\n      }\n      set\n      {\n        this.totalCountField = value;\n      }\n    }\n\n    /// <uwagi/>\n    public uint ErrorCount\n    {\n      get\n      {\n        return this.errorCountField;\n      }\n      set\n      {\n        this.errorCountField = value;\n      }\n    }\n  }\n\n  /// <uwagi/>\n  [System.CodeDom.Compiler.GeneratedCodeAttribute( \"xsd\", \"2.0.50727.42\" )]\n  [System.SerializableAttribute()]\n  [System.Diagnostics.DebuggerStepThroughAttribute()]\n  [System.ComponentModel.DesignerCategoryAttribute( \"code\" )]\n  [System.Xml.Serialization.XmlTypeAttribute( Namespace = \"http://opcfoundation.org/UA/2008/02/Types.xsd\" )]\n  [System.Xml.Serialization.XmlRootAttribute( Namespace = \"http://opcfoundation.org/UA/2008/02/Types.xsd\", IsNullable = false )]\n  public partial class SessionSecurityDiagnosticsDataType\n  {\n\n    private NodeId sessionIdField;\n\n    private string clientUserIdOfSessionField;\n\n    private string[] clientUserIdHistoryField;\n\n    private string authenticationMechanismField;\n\n    private string encodingField;\n\n    private string transportProtocolField;\n\n    private MessageSecurityMode securityModeField;\n\n    private string securityPolicyUriField;\n\n    private byte[] clientCertificateField;\n\n    /// <uwagi/>\n    [System.Xml.Serialization.XmlElementAttribute( IsNullable = true )]\n    public NodeId SessionId\n    {\n      get\n      {\n        return this.sessionIdField;\n      }\n      set\n      {\n        this.sessionIdField = value;\n      }\n    }\n\n    /// <uwagi/>\n    [System.Xml.Serialization.XmlElementAttribute( IsNullable = true )]\n    public string ClientUserIdOfSession\n    {\n      get\n      {\n        return this.clientUserIdOfSessionField;\n      }\n      set\n      {\n        this.clientUserIdOfSessionField = value;\n      }\n    }\n\n    /// <uwagi/>\n    [System.Xml.Serialization.XmlArrayAttribute( IsNullable = true )]\n    [System.Xml.Serialization.XmlArrayItemAttribute( \"String\", IsNullable = false )]\n    public string[] ClientUserIdHistory\n    {\n      get\n      {\n        return this.clientUserIdHistoryField;\n      }\n      set\n      {\n        this.clientUserIdHistoryField = value;\n      }\n    }\n\n    /// <uwagi/>\n    [System.Xml.Serialization.XmlElementAttribute( IsNullable = true )]\n    public string AuthenticationMechanism\n    {\n      get\n      {\n        return this.authenticationMechanismField;\n      }\n      set\n      {\n        this.authenticationMechanismField = value;\n      }\n    }\n\n    /// <uwagi/>\n    [System.Xml.Serialization.XmlElementAttribute( IsNullable = true )]\n    public string Encoding\n    {\n      get\n      {\n        return this.encodingField;\n      }\n      set\n      {\n        this.encodingField = value;\n      }\n    }\n\n    /// <uwagi/>\n    [System.Xml.Serialization.XmlElementAttribute( IsNullable = true )]\n    public string TransportProtocol\n    {\n      get\n      {\n        return this.transportProtocolField;\n      }\n      set\n      {\n        this.transportProtocolField = value;\n      }\n    }\n\n    /// <uwagi/>\n    public MessageSecurityMode SecurityMode\n    {\n      get\n      {\n        return this.securityModeField;\n      }\n      set\n      {\n        this.securityModeField = value;\n      }\n    }\n\n    /// <uwagi/>\n    [System.Xml.Serialization.XmlElementAttribute( IsNullable = true )]\n    public string SecurityPolicyUri\n    {\n      get\n      {\n        return this.securityPolicyUriField;\n      }\n      set\n      {\n        this.securityPolicyUriField = value;\n      }\n    }\n\n    /// <uwagi/>\n    [System.Xml.Serialization.XmlElementAttribute( DataType = \"base64Binary\", IsNullable = true )]\n    public byte[] ClientCertificate\n    {\n      get\n      {\n        return this.clientCertificateField;\n      }\n      set\n      {\n        this.clientCertificateField = value;\n      }\n    }\n  }\n\n  /// <uwagi/>\n  [System.CodeDom.Compiler.GeneratedCodeAttribute( \"xsd\", \"2.0.50727.42\" )]\n  [System.SerializableAttribute()]\n  [System.Diagnostics.DebuggerStepThroughAttribute()]\n  [System.ComponentModel.DesignerCategoryAttribute( \"code\" )]\n  [System.Xml.Serialization.XmlTypeAttribute( Namespace = \"http://opcfoundation.org/UA/2008/02/Types.xsd\" )]\n  [System.Xml.Serialization.XmlRootAttribute( Namespace = \"http://opcfoundation.org/UA/2008/02/Types.xsd\", IsNullable = false )]\n  public partial class SubscriptionDiagnosticsDataType\n  {\n\n    private NodeId sessionIdField;\n\n    private uint subscriptionIdField;\n\n    private byte priorityField;\n\n    private double publishingIntervalField;\n\n    private uint maxKeepAliveCountField;\n\n    private uint maxLifetimeCountField;\n\n    private uint maxNotificationsPerPublishField;\n\n    private bool publishingEnabledField;\n\n    private uint modifyCountField;\n\n    private uint enableCountField;\n\n    private uint disableCountField;\n\n    private uint republishRequestCountField;\n\n    private uint republishMessageRequestCountField;\n\n    private uint republishMessageCountField;\n\n    private uint transferRequestCountField;\n\n    private uint transferredToAltClientCountField;\n\n    private uint transferredToSameClientCountField;\n\n    private uint publishRequestCountField;\n\n    private uint dataChangeNotificationsCountField;\n\n    private uint eventNotificationsCountField;\n\n    private uint notificationsCountField;\n\n    private uint latePublishRequestCountField;\n\n    private uint currentKeepAliveCountField;\n\n    private uint currentLifetimeCountField;\n\n    private uint unacknowledgedMessageCountField;\n\n    private uint discardedMessageCountField;\n\n    private uint monitoredItemCountField;\n\n    private uint disabledMonitoredItemCountField;\n\n    private uint monitoringQueueOverflowCountField;\n\n    private uint nextSequenceNumberField;\n\n    private uint eventQueueOverFlowCountField;\n\n    /// <uwagi/>\n    [System.Xml.Serialization.XmlElementAttribute( IsNullable = true )]\n    public NodeId SessionId\n    {\n      get\n      {\n        return this.sessionIdField;\n      }\n      set\n      {\n        this.sessionIdField = value;\n      }\n    }\n\n    /// <uwagi/>\n    public uint SubscriptionId\n    {\n      get\n      {\n        return this.subscriptionIdField;\n      }\n      set\n      {\n        this.subscriptionIdField = value;\n      }\n    }\n\n    /// <uwagi/>\n    public byte Priority\n    {\n      get\n      {\n        return this.priorityField;\n      }\n      set\n      {\n        this.priorityField = value;\n      }\n    }\n\n    /// <uwagi/>\n    public double PublishingInterval\n    {\n      get\n      {\n        return this.publishingIntervalField;\n      }\n      set\n      {\n        this.publishingIntervalField = value;\n      }\n    }\n\n    /// <uwagi/>\n    public uint MaxKeepAliveCount\n    {\n      get\n      {\n        return this.maxKeepAliveCountField;\n      }\n      set\n      {\n        this.maxKeepAliveCountField = value;\n      }\n    }\n\n    /// <uwagi/>\n    public uint MaxLifetimeCount\n    {\n      get\n      {\n        return this.maxLifetimeCountField;\n      }\n      set\n      {\n        this.maxLifetimeCountField = value;\n      }\n    }\n\n    /// <uwagi/>\n    public uint MaxNotificationsPerPublish\n    {\n      get\n      {\n        return this.maxNotificationsPerPublishField;\n      }\n      set\n      {\n        this.maxNotificationsPerPublishField = value;\n      }\n    }\n\n    /// <uwagi/>\n    public bool PublishingEnabled\n    {\n      get\n      {\n        return this.publishingEnabledField;\n      }\n      set\n      {\n        this.publishingEnabledField = value;\n      }\n    }\n\n    /// <uwagi/>\n    public uint ModifyCount\n    {\n      get\n      {\n        return this.modifyCountField;\n      }\n      set\n      {\n        this.modifyCountField = value;\n      }\n    }\n\n    /// <uwagi/>\n    public uint EnableCount\n    {\n      get\n      {\n        return this.enableCountField;\n      }\n      set\n      {\n        this.enableCountField = value;\n      }\n    }\n\n    /// <uwagi/>\n    public uint DisableCount\n    {\n      get\n      {\n        return this.disableCountField;\n      }\n      set\n      {\n        this.disableCountField = value;\n      }\n    }\n\n    /// <uwagi/>\n    public uint RepublishRequestCount\n    {\n      get\n      {\n        return this.republishRequestCountField;\n      }\n      set\n      {\n        this.republishRequestCountField = value;\n      }\n    }\n\n    /// <uwagi/>\n    public uint RepublishMessageRequestCount\n    {\n      get\n      {\n        return this.republishMessageRequestCountField;\n      }\n      set\n      {\n        this.republishMessageRequestCountField = value;\n      }\n    }\n\n    /// <uwagi/>\n    public uint RepublishMessageCount\n    {\n      get\n      {\n        return this.republishMessageCountField;\n      }\n      set\n      {\n        this.republishMessageCountField = value;\n      }\n    }\n\n    /// <uwagi/>\n    public uint TransferRequestCount\n    {\n      get\n      {\n        return this.transferRequestCountField;\n      }\n      set\n      {\n        this.transferRequestCountField = value;\n      }\n    }\n\n    /// <uwagi/>\n    public uint TransferredToAltClientCount\n    {\n      get\n      {\n        return this.transferredToAltClientCountField;\n      }\n      set\n      {\n        this.transferredToAltClientCountField = value;\n      }\n    }\n\n    /// <uwagi/>\n    public uint TransferredToSameClientCount\n    {\n      get\n      {\n        return this.transferredToSameClientCountField;\n      }\n      set\n      {\n        this.transferredToSameClientCountField = value;\n      }\n    }\n\n    /// <uwagi/>\n    public uint PublishRequestCount\n    {\n      get\n      {\n        return this.publishRequestCountField;\n      }\n      set\n      {\n        this.publishRequestCountField = value;\n      }\n    }\n\n    /// <uwagi/>\n    public uint DataChangeNotificationsCount\n    {\n      get\n      {\n        return this.dataChangeNotificationsCountField;\n      }\n      set\n      {\n        this.dataChangeNotificationsCountField = value;\n      }\n    }\n\n    /// <uwagi/>\n    public uint EventNotificationsCount\n    {\n      get\n      {\n        return this.eventNotificationsCountField;\n      }\n      set\n      {\n        this.eventNotificationsCountField = value;\n      }\n    }\n\n    /// <uwagi/>\n    public uint NotificationsCount\n    {\n      get\n      {\n        return this.notificationsCountField;\n      }\n      set\n      {\n        this.notificationsCountField = value;\n      }\n    }\n\n    /// <uwagi/>\n    public uint LatePublishRequestCount\n    {\n      get\n      {\n        return this.latePublishRequestCountField;\n      }\n      set\n      {\n        this.latePublishRequestCountField = value;\n      }\n    }\n\n    /// <uwagi/>\n    public uint CurrentKeepAliveCount\n    {\n      get\n      {\n        return this.currentKeepAliveCountField;\n      }\n      set\n      {\n        this.currentKeepAliveCountField = value;\n      }\n    }\n\n    /// <uwagi/>\n    public uint CurrentLifetimeCount\n    {\n      get\n      {\n        return this.currentLifetimeCountField;\n      }\n      set\n      {\n        this.currentLifetimeCountField = value;\n      }\n    }\n\n    /// <uwagi/>\n    public uint UnacknowledgedMessageCount\n    {\n      get\n      {\n        return this.unacknowledgedMessageCountField;\n      }\n      set\n      {\n        this.unacknowledgedMessageCountField = value;\n      }\n    }\n\n    /// <uwagi/>\n    public uint DiscardedMessageCount\n    {\n      get\n      {\n        return this.discardedMessageCountField;\n      }\n      set\n      {\n        this.discardedMessageCountField = value;\n      }\n    }\n\n    /// <uwagi/>\n    public uint MonitoredItemCount\n    {\n      get\n      {\n        return this.monitoredItemCountField;\n      }\n      set\n      {\n        this.monitoredItemCountField = value;\n      }\n    }\n\n    /// <uwagi/>\n    public uint DisabledMonitoredItemCount\n    {\n      get\n      {\n        return this.disabledMonitoredItemCountField;\n      }\n      set\n      {\n        this.disabledMonitoredItemCountField = value;\n      }\n    }\n\n    /// <uwagi/>\n    public uint MonitoringQueueOverflowCount\n    {\n      get\n      {\n        return this.monitoringQueueOverflowCountField;\n      }\n      set\n      {\n        this.monitoringQueueOverflowCountField = value;\n      }\n    }\n\n    /// <uwagi/>\n    public uint NextSequenceNumber\n    {\n      get\n      {\n        return this.nextSequenceNumberField;\n      }\n      set\n      {\n        this.nextSequenceNumberField = value;\n      }\n    }\n\n    /// <uwagi/>\n    public uint EventQueueOverFlowCount\n    {\n      get\n      {\n        return this.eventQueueOverFlowCountField;\n      }\n      set\n      {\n        this.eventQueueOverFlowCountField = value;\n      }\n    }\n  }\n\n  /// <uwagi/>\n  [System.CodeDom.Compiler.GeneratedCodeAttribute( \"xsd\", \"2.0.50727.42\" )]\n  [System.SerializableAttribute()]\n  [System.Diagnostics.DebuggerStepThroughAttribute()]\n  [System.ComponentModel.DesignerCategoryAttribute( \"code\" )]\n  [System.Xml.Serialization.XmlTypeAttribute( Namespace = \"http://opcfoundation.org/UA/2008/02/Types.xsd\" )]\n  [System.Xml.Serialization.XmlRootAttribute( Namespace = \"http://opcfoundation.org/UA/2008/02/Types.xsd\", IsNullable = false )]\n  public partial class ModelChangeStructureDataType\n  {\n\n    private NodeId affectedField;\n\n    private NodeId affectedTypeField;\n\n    private byte verbField;\n\n    /// <uwagi/>\n    [System.Xml.Serialization.XmlElementAttribute( IsNullable = true )]\n    public NodeId Affected\n    {\n      get\n      {\n        return this.affectedField;\n      }\n      set\n      {\n        this.affectedField = value;\n      }\n    }\n\n    /// <uwagi/>\n    [System.Xml.Serialization.XmlElementAttribute( IsNullable = true )]\n    public NodeId AffectedType\n    {\n      get\n      {\n        return this.affectedTypeField;\n      }\n      set\n      {\n        this.affectedTypeField = value;\n      }\n    }\n\n    /// <uwagi/>\n    public byte Verb\n    {\n      get\n      {\n        return this.verbField;\n      }\n      set\n      {\n        this.verbField = value;\n      }\n    }\n  }\n\n  /// <uwagi/>\n  [System.CodeDom.Compiler.GeneratedCodeAttribute( \"xsd\", \"2.0.50727.42\" )]\n  [System.SerializableAttribute()]\n  [System.Diagnostics.DebuggerStepThroughAttribute()]\n  [System.ComponentModel.DesignerCategoryAttribute( \"code\" )]\n  [System.Xml.Serialization.XmlTypeAttribute( Namespace = \"http://opcfoundation.org/UA/2008/02/Types.xsd\" )]\n  [System.Xml.Serialization.XmlRootAttribute( Namespace = \"http://opcfoundation.org/UA/2008/02/Types.xsd\", IsNullable = true )]\n  public partial class ListOfModelChangeStructureDataType\n  {\n\n    private ModelChangeStructureDataType[] modelChangeStructureDataTypeField;\n\n    /// <uwagi/>\n    [System.Xml.Serialization.XmlElementAttribute( \"ModelChangeStructureDataType\", IsNullable = true )]\n    public ModelChangeStructureDataType[] ModelChangeStructureDataType\n    {\n      get\n      {\n        return this.modelChangeStructureDataTypeField;\n      }\n      set\n      {\n        this.modelChangeStructureDataTypeField = value;\n      }\n    }\n  }\n\n  /// <uwagi/>\n  [System.CodeDom.Compiler.GeneratedCodeAttribute( \"xsd\", \"2.0.50727.42\" )]\n  [System.SerializableAttribute()]\n  [System.Xml.Serialization.XmlTypeAttribute( Namespace = \"http://opcfoundation.org/UA/2008/02/Types.xsd\" )]\n  [System.Xml.Serialization.XmlRootAttribute( Namespace = \"http://opcfoundation.org/UA/2008/02/Types.xsd\", IsNullable = false )]\n  public enum ModelChangeStructureVerbMask\n  {\n\n    /// <uwagi/>\n    NodeAdded_1,\n\n    /// <uwagi/>\n    NodeDeleted_2,\n\n    /// <uwagi/>\n    ReferenceAdded_4,\n\n    /// <uwagi/>\n    ReferenceDeleted_8,\n\n    /// <uwagi/>\n    DataTypeChanged_16,\n  }\n\n  /// <uwagi/>\n  [System.CodeDom.Compiler.GeneratedCodeAttribute( \"xsd\", \"2.0.50727.42\" )]\n  [System.SerializableAttribute()]\n  [System.Diagnostics.DebuggerStepThroughAttribute()]\n  [System.ComponentModel.DesignerCategoryAttribute( \"code\" )]\n  [System.Xml.Serialization.XmlTypeAttribute( Namespace = \"http://opcfoundation.org/UA/2008/02/Types.xsd\" )]\n  [System.Xml.Serialization.XmlRootAttribute( Namespace = \"http://opcfoundation.org/UA/2008/02/Types.xsd\", IsNullable = false )]\n  public partial class SemanticChangeStructureDataType\n  {\n\n    private NodeId affectedField;\n\n    private NodeId affectedTypeField;\n\n    /// <uwagi/>\n    [System.Xml.Serialization.XmlElementAttribute( IsNullable = true )]\n    public NodeId Affected\n    {\n      get\n      {\n        return this.affectedField;\n      }\n      set\n      {\n        this.affectedField = value;\n      }\n    }\n\n    /// <uwagi/>\n    [System.Xml.Serialization.XmlElementAttribute( IsNullable = true )]\n    public NodeId AffectedType\n    {\n      get\n      {\n        return this.affectedTypeField;\n      }\n      set\n      {\n        this.affectedTypeField = value;\n      }\n    }\n  }\n\n  /// <uwagi/>\n  [System.CodeDom.Compiler.GeneratedCodeAttribute( \"xsd\", \"2.0.50727.42\" )]\n  [System.SerializableAttribute()]\n  [System.Diagnostics.DebuggerStepThroughAttribute()]\n  [System.ComponentModel.DesignerCategoryAttribute( \"code\" )]\n  [System.Xml.Serialization.XmlTypeAttribute( Namespace = \"http://opcfoundation.org/UA/2008/02/Types.xsd\" )]\n  [System.Xml.Serialization.XmlRootAttribute( Namespace = \"http://opcfoundation.org/UA/2008/02/Types.xsd\", IsNullable = true )]\n  public partial class ListOfSemanticChangeStructureDataType\n  {\n\n    private SemanticChangeStructureDataType[] semanticChangeStructureDataTypeField;\n\n    /// <uwagi/>\n    [System.Xml.Serialization.XmlElementAttribute( \"SemanticChangeStructureDataType\", IsNullable = true )]\n    public SemanticChangeStructureDataType[] SemanticChangeStructureDataType\n    {\n      get\n      {\n        return this.semanticChangeStructureDataTypeField;\n      }\n      set\n      {\n        this.semanticChangeStructureDataTypeField = value;\n      }\n    }\n  }\n\n  /// <uwagi/>\n  [System.CodeDom.Compiler.GeneratedCodeAttribute( \"xsd\", \"2.0.50727.42\" )]\n  [System.SerializableAttribute()]\n  [System.Diagnostics.DebuggerStepThroughAttribute()]\n  [System.ComponentModel.DesignerCategoryAttribute( \"code\" )]\n  [System.Xml.Serialization.XmlTypeAttribute( Namespace = \"http://opcfoundation.org/UA/2008/02/Types.xsd\" )]\n  [System.Xml.Serialization.XmlRootAttribute( Namespace = \"http://opcfoundation.org/UA/2008/02/Types.xsd\", IsNullable = false )]\n  public partial class Range\n  {\n\n    private double lowField;\n\n    private double highField;\n\n    /// <uwagi/>\n    public double Low\n    {\n      get\n      {\n        return this.lowField;\n      }\n      set\n      {\n        this.lowField = value;\n      }\n    }\n\n    /// <uwagi/>\n    public double High\n    {\n      get\n      {\n        return this.highField;\n      }\n      set\n      {\n        this.highField = value;\n      }\n    }\n  }\n\n  /// <uwagi/>\n  [System.CodeDom.Compiler.GeneratedCodeAttribute( \"xsd\", \"2.0.50727.42\" )]\n  [System.SerializableAttribute()]\n  [System.Diagnostics.DebuggerStepThroughAttribute()]\n  [System.ComponentModel.DesignerCategoryAttribute( \"code\" )]\n  [System.Xml.Serialization.XmlTypeAttribute( Namespace = \"http://opcfoundation.org/UA/2008/02/Types.xsd\" )]\n  [System.Xml.Serialization.XmlRootAttribute( Namespace = \"http://opcfoundation.org/UA/2008/02/Types.xsd\", IsNullable = false )]\n  public partial class EUInformation\n  {\n\n    private string namespaceUriField;\n\n    private int unitIdField;\n\n    private LocalizedText displayNameField;\n\n    private LocalizedText descriptionField;\n\n    /// <uwagi/>\n    [System.Xml.Serialization.XmlElementAttribute( IsNullable = true )]\n    public string NamespaceUri\n    {\n      get\n      {\n        return this.namespaceUriField;\n      }\n      set\n      {\n        this.namespaceUriField = value;\n      }\n    }\n\n    /// <uwagi/>\n    public int UnitId\n    {\n      get\n      {\n        return this.unitIdField;\n      }\n      set\n      {\n        this.unitIdField = value;\n      }\n    }\n\n    /// <uwagi/>\n    [System.Xml.Serialization.XmlElementAttribute( IsNullable = true )]\n    public LocalizedText DisplayName\n    {\n      get\n      {\n        return this.displayNameField;\n      }\n      set\n      {\n        this.displayNameField = value;\n      }\n    }\n\n    /// <uwagi/>\n    [System.Xml.Serialization.XmlElementAttribute( IsNullable = true )]\n    public LocalizedText Description\n    {\n      get\n      {\n        return this.descriptionField;\n      }\n      set\n      {\n        this.descriptionField = value;\n      }\n    }\n  }\n\n  /// <uwagi/>\n  [System.CodeDom.Compiler.GeneratedCodeAttribute( \"xsd\", \"2.0.50727.42\" )]\n  [System.SerializableAttribute()]\n  [System.Xml.Serialization.XmlTypeAttribute( Namespace = \"http://opcfoundation.org/UA/2008/02/Types.xsd\" )]\n  [System.Xml.Serialization.XmlRootAttribute( Namespace = \"http://opcfoundation.org/UA/2008/02/Types.xsd\", IsNullable = false )]\n  public enum ExceptionDeviationFormat\n  {\n\n    /// <uwagi/>\n    AbsoluteValue_0,\n\n    /// <uwagi/>\n    PercentOfRange_1,\n\n    /// <uwagi/>\n    PercentOfValue_2,\n\n    /// <uwagi/>\n    PercentOfEURange_3,\n\n    /// <uwagi/>\n    Unknown_4,\n  }\n\n  /// <uwagi/>\n  [System.CodeDom.Compiler.GeneratedCodeAttribute( \"xsd\", \"2.0.50727.42\" )]\n  [System.SerializableAttribute()]\n  [System.Diagnostics.DebuggerStepThroughAttribute()]\n  [System.ComponentModel.DesignerCategoryAttribute( \"code\" )]\n  [System.Xml.Serialization.XmlTypeAttribute( Namespace = \"http://opcfoundation.org/UA/2008/02/Types.xsd\" )]\n  [System.Xml.Serialization.XmlRootAttribute( Namespace = \"http://opcfoundation.org/UA/2008/02/Types.xsd\", IsNullable = false )]\n  public partial class Annotation\n  {\n\n    private string messageField;\n\n    private string userNameField;\n\n    private System.DateTime annotationTimeField;\n\n    /// <uwagi/>\n    [System.Xml.Serialization.XmlElementAttribute( IsNullable = true )]\n    public string Message\n    {\n      get\n      {\n        return this.messageField;\n      }\n      set\n      {\n        this.messageField = value;\n      }\n    }\n\n    /// <uwagi/>\n    [System.Xml.Serialization.XmlElementAttribute( IsNullable = true )]\n    public string UserName\n    {\n      get\n      {\n        return this.userNameField;\n      }\n      set\n      {\n        this.userNameField = value;\n      }\n    }\n\n    /// <uwagi/>\n    public System.DateTime AnnotationTime\n    {\n      get\n      {\n        return this.annotationTimeField;\n      }\n      set\n      {\n        this.annotationTimeField = value;\n      }\n    }\n  }\n\n  /// <uwagi/>\n  [System.CodeDom.Compiler.GeneratedCodeAttribute( \"xsd\", \"2.0.50727.42\" )]\n  [System.SerializableAttribute()]\n  [System.Diagnostics.DebuggerStepThroughAttribute()]\n  [System.ComponentModel.DesignerCategoryAttribute( \"code\" )]\n  [System.Xml.Serialization.XmlTypeAttribute( Namespace = \"http://opcfoundation.org/UA/2008/02/Types.xsd\" )]\n  [System.Xml.Serialization.XmlRootAttribute( Namespace = \"http://opcfoundation.org/UA/2008/02/Types.xsd\", IsNullable = false )]\n  public partial class ProgramDiagnosticDataType\n  {\n\n    private NodeId createSessionIdField;\n\n    private string createClientNameField;\n\n    private System.DateTime invocationCreationTimeField;\n\n    private System.DateTime lastTransitionTimeField;\n\n    private string lastMethodCallField;\n\n    private NodeId lastMethodSessionIdField;\n\n    private Argument[] lastMethodInputArgumentsField;\n\n    private Argument[] lastMethodOutputArgumentsField;\n\n    private System.DateTime lastMethodCallTimeField;\n\n    private StatusResult lastMethodReturnStatusField;\n\n    /// <uwagi/>\n    [System.Xml.Serialization.XmlElementAttribute( IsNullable = true )]\n    public NodeId CreateSessionId\n    {\n      get\n      {\n        return this.createSessionIdField;\n      }\n      set\n      {\n        this.createSessionIdField = value;\n      }\n    }\n\n    /// <uwagi/>\n    [System.Xml.Serialization.XmlElementAttribute( IsNullable = true )]\n    public string CreateClientName\n    {\n      get\n      {\n        return this.createClientNameField;\n      }\n      set\n      {\n        this.createClientNameField = value;\n      }\n    }\n\n    /// <uwagi/>\n    public System.DateTime InvocationCreationTime\n    {\n      get\n      {\n        return this.invocationCreationTimeField;\n      }\n      set\n      {\n        this.invocationCreationTimeField = value;\n      }\n    }\n\n    /// <uwagi/>\n    public System.DateTime LastTransitionTime\n    {\n      get\n      {\n        return this.lastTransitionTimeField;\n      }\n      set\n      {\n        this.lastTransitionTimeField = value;\n      }\n    }\n\n    /// <uwagi/>\n    [System.Xml.Serialization.XmlElementAttribute( IsNullable = true )]\n    public string LastMethodCall\n    {\n      get\n      {\n        return this.lastMethodCallField;\n      }\n      set\n      {\n        this.lastMethodCallField = value;\n      }\n    }\n\n    /// <uwagi/>\n    [System.Xml.Serialization.XmlElementAttribute( IsNullable = true )]\n    public NodeId LastMethodSessionId\n    {\n      get\n      {\n        return this.lastMethodSessionIdField;\n      }\n      set\n      {\n        this.lastMethodSessionIdField = value;\n      }\n    }\n\n    /// <uwagi/>\n    public Argument[] LastMethodInputArguments\n    {\n      get\n      {\n        return this.lastMethodInputArgumentsField;\n      }\n      set\n      {\n        this.lastMethodInputArgumentsField = value;\n      }\n    }\n\n    /// <uwagi/>\n    public Argument[] LastMethodOutputArguments\n    {\n      get\n      {\n        return this.lastMethodOutputArgumentsField;\n      }\n      set\n      {\n        this.lastMethodOutputArgumentsField = value;\n      }\n    }\n\n    /// <uwagi/>\n    public System.DateTime LastMethodCallTime\n    {\n      get\n      {\n        return this.lastMethodCallTimeField;\n      }\n      set\n      {\n        this.lastMethodCallTimeField = value;\n      }\n    }\n\n    /// <uwagi/>\n    public StatusResult LastMethodReturnStatus\n    {\n      get\n      {\n        return this.lastMethodReturnStatusField;\n      }\n      set\n      {\n        this.lastMethodReturnStatusField = value;\n      }\n    }\n  }\n}"
  },
  {
    "path": "SemanticData/UANodeSetValidation/DataSerialization/QualifiedName.cs",
    "content": "//__________________________________________________________________________________________________\n//\n//  Copyright (C) 2022, Mariusz Postol LODZ POLAND.\n//\n//  To be in touch join the community at GitHub: https://github.com/mpostol/OPC-UA-OOI/discussions\n//__________________________________________________________________________________________________\n\nusing System;\nusing System.Collections.Generic;\nusing System.Text;\nusing System.Text.RegularExpressions;\nusing UAOOI.SemanticData.AddressSpace.Abstractions;\nusing UAOOI.SemanticData.BuildingErrorsHandling;\n\nnamespace UAOOI.SemanticData.UANodeSetValidation.DataSerialization\n{\n  /// <summary>\n  /// A name qualified with a namespace.\n  /// </summary>\n  /// <remarks>\n  /// <para>\n  /// The QualifiedName is defined in <b>Part 3 - Address Space Model, Section 7.3</b>, titled\n  /// <b>Qualified Name</b>.\n  /// <br/></para>\n  /// <para>\n  /// The QualifiedName is a simple wrapper class that is used to generate a fully-qualified name\n  /// for any type that has a name.\n  /// <br/></para>\n  /// <para>\n  /// A <i>Fully Qualified</i> name is one that consists of a name, and an index of which namespace\n  /// (within a namespace table) this name belongs to.\n  /// For example<br/>\n  /// <b>Namespace Index</b> = 1<br/>\n  /// <b>Name</b> = MyName<br/>\n  /// becomes:<br/>\n  /// <i>1:MyName</i>\n  /// <br/></para>\n  /// </remarks>\n\n  public partial class QualifiedName : IFormattable, ICloneable, IComparable\n  {\n    #region Constructors\n\n    /// <summary>\n    /// Initializes the object with default values.\n    /// </summary>\n    /// <remarks>\n    /// Initializes the object with default values.\n    /// </remarks>\n    internal QualifiedName()\n    {\n      NamespaceIndex = 0;\n      Name = null;\n    }\n\n    /// <summary>\n    /// Creates a deep copy of the value.\n    /// </summary>\n    /// <remarks>\n    /// Creates a deep copy of the value.\n    /// </remarks>\n    /// <param name=\"value\">The qualified name to copy</param>\n    /// <exception cref=\"ArgumentNullException\">Thrown if the provided value is null</exception>\n    public QualifiedName(QualifiedName value)\n    {\n      if (value == null) throw new ArgumentNullException(\"value\");\n      Name = value.Name;\n      NamespaceIndex = value.NamespaceIndex;\n      NamespaceIndexSpecified = value.NamespaceIndexSpecified;\n    }\n\n    /// <summary>\n    /// Initializes the object with a name.\n    /// </summary>\n    /// <remarks>\n    /// Initializes the object with a name.\n    /// </remarks>\n    /// <param name=\"name\">The name-portion to store as part of the fully qualified name</param>\n    public QualifiedName(string name)\n    {\n      NamespaceIndex = 0;\n      Name = name;\n      NamespaceIndexSpecified = false;\n    }\n\n    /// <summary>\n    /// Initializes the object with a name and a namespace index.\n    /// </summary>\n    /// <remarks>\n    /// Initializes the object with a name and a namespace index.\n    /// </remarks>\n    /// <param name=\"name\">The name-portion of the fully qualified name</param>\n    /// <param name=\"namespaceIndex\">The index of the namespace within the namespace-table</param>\n    public QualifiedName(string name, ushort namespaceIndex)\n    {\n      NamespaceIndex = namespaceIndex;\n      Name = name;\n      NamespaceIndexSpecified = namespaceIndex != 0;\n    }\n\n    #endregion Constructors\n\n    #region Public Properties\n\n    /// <summary cref=\"QualifiedName.NamespaceIndex\" />\n    internal ushort XmlEncodedNamespaceIndex\n    {\n      get => NamespaceIndex;\n      set => NamespaceIndex = value;\n    }\n\n    #endregion Public Properties\n\n    #region IComparable Members\n\n    /// <summary>\n    /// Compares two QualifiedNames.\n    /// </summary>\n    /// <param name=\"obj\">The object to compare to.</param>\n    /// <returns>\n    /// Less than zero if the instance is less than the object.\n    /// Zero if the instance is equal to the object.\n    /// Greater than zero if the instance is greater than the object.\n    /// </returns>\n    public int CompareTo(object obj)\n    {\n      if (Object.ReferenceEquals(obj, null))\n        return -1;\n      if (Object.ReferenceEquals(this, obj))\n        return 0;\n      QualifiedName _qualifiedName = obj as QualifiedName;\n      if (_qualifiedName == null)\n        return typeof(QualifiedName).GUID.CompareTo(obj.GetType().GUID);\n      if (_qualifiedName.NamespaceIndex != NamespaceIndex)\n        return NamespaceIndex.CompareTo(_qualifiedName.NamespaceIndex);\n      if (Name != null)\n        return String.CompareOrdinal(Name, _qualifiedName.Name);\n      return -1;\n    }\n\n    /// <summary>\n    /// Implements the operator &gt;.\n    /// </summary>\n    /// <param name=\"value1\">The value1.</param>\n    /// <param name=\"value2\">The value2.</param>\n    /// <returns>The result of the operator.</returns>\n    public static bool operator >(QualifiedName value1, QualifiedName value2)\n    {\n      if (!Object.ReferenceEquals(value1, null))\n        return value1.CompareTo(value2) > 0;\n      return false;\n    }\n\n    /// <summary>\n    /// Implements the operator &lt;.\n    /// </summary>\n    /// <param name=\"value1\">The value1.</param>\n    /// <param name=\"value2\">The value2.</param>\n    /// <returns>The result of the operator.</returns>\n    public static bool operator <(QualifiedName value1, QualifiedName value2)\n    {\n      if (!Object.ReferenceEquals(value1, null))\n        return value1.CompareTo(value2) < 0;\n      return true;\n    }\n\n    #endregion IComparable Members\n\n    #region Overridden Methods\n\n    /// <summary>\n    /// Returns a suitable hash value for the instance.\n    /// </summary>\n    public override int GetHashCode()\n    {\n      if (Name != null)\n        return Name.GetHashCode();\n      return 0;\n    }\n\n    /// <summary>\n    /// Returns true if the objects are equal.\n    /// </summary>\n    /// <remarks>\n    /// Returns true if the objects are equal.\n    /// </remarks>\n    /// <param name=\"obj\">The object to compare to this/me</param>\n    public override bool Equals(object obj)\n    {\n      if (Object.ReferenceEquals(obj, null))\n        return false;\n      if (Object.ReferenceEquals(this, obj))\n        return true;\n      QualifiedName _qualifiedName = obj as QualifiedName;\n      if (_qualifiedName == null)\n        return false;\n      if (_qualifiedName.NamespaceIndex != NamespaceIndex)\n        return false;\n      return _qualifiedName.Name == Name;\n    }\n\n    /// <summary>\n    /// Returns true if the objects are equal.\n    /// </summary>\n    /// <remarks>\n    /// Returns true if the objects are equal.\n    /// </remarks>\n    /// <param name=\"value1\">The first value to compare</param>\n    /// <param name=\"value2\">The second value to compare</param>\n    public static bool operator ==(QualifiedName value1, QualifiedName value2)\n    {\n      if (Object.ReferenceEquals(value1, null))\n        return Object.ReferenceEquals(value2, null);\n      return value1.Equals(value2);\n    }\n\n    /// <summary>\n    /// Returns true if the objects are not equal.\n    /// </summary>\n    /// <remarks>\n    /// Returns true if the objects are equal.\n    /// </remarks>\n    /// <param name=\"value1\">The first value to compare</param>\n    /// <param name=\"value2\">The second value to compare</param>\n    public static bool operator !=(QualifiedName value1, QualifiedName value2)\n    {\n      if (Object.ReferenceEquals(value1, null))\n        return !Object.ReferenceEquals(value2, null);\n      return !value1.Equals(value2);\n    }\n\n    /// <summary>\n    /// Returns the string representation of the object.\n    /// </summary>\n    /// <remarks>\n    /// Returns the string representation of the object.\n    /// </remarks>\n    public override string ToString()\n    {\n      return ToString(null, null);\n    }\n\n    #endregion Overridden Methods\n\n    #region IFormattable Members\n\n    /// <summary>\n    /// Returns the string representation of the object.\n    /// </summary>\n    /// <remarks>\n    /// Returns the string representation of the object.\n    /// </remarks>\n    /// <param name=\"format\">(Unused) Always pass null</param>\n    /// <param name=\"formatProvider\">(Unused) Always pass null</param>\n    /// <exception cref=\"FormatException\">Thrown if non-null parameters are passed</exception>\n    public string ToString(string format, IFormatProvider formatProvider)\n    {\n      if (format == null)\n      {\n        int capacity = (Name != null) ? Name.Length : 0;\n        StringBuilder builder = new StringBuilder(capacity + 10);\n        if (this.NamespaceIndex == 0)\n        {\n          // prepend the namespace index if the name contains a colon.\n          if (Name != null)\n          {\n            int index = Name.IndexOf(':');\n            if (index != -1)\n              builder.Append(\"0:\");\n          }\n        }\n        else\n        {\n          builder.Append(NamespaceIndex);\n          builder.Append(':');\n        }\n        if (Name != null)\n          builder.Append(Name);\n        return builder.ToString();\n      }\n      throw new FormatException(String.Format(\"Invalid format string: '{0}'.\", format));\n    }\n\n    #endregion IFormattable Members\n\n    #region ICloneable Members\n\n    /// <summary>\n    /// Makes a deep copy of the object.\n    /// </summary>\n    /// <remarks>\n    /// Makes a deep copy of the object.\n    /// </remarks>\n    public object Clone()\n    {\n      // this object cannot be altered after it is created so no new allocation is necessary.\n      return this;\n    }\n\n    #endregion ICloneable Members\n\n    #region Static Methods\n\n    /// <summary>\n    /// Converts an expanded node id to a node id using a namespace table.\n    /// </summary>\n    internal static QualifiedName Create(string name, string namespaceUri, INamespaceTable namespaceTable)\n    {\n      // check for null.\n      if (String.IsNullOrEmpty(name))\n        return QualifiedName.Null;\n      // return a name using the default namespace.\n      if (String.IsNullOrEmpty(namespaceUri))\n        return new QualifiedName(name);\n      // find the namespace index.\n      int namespaceIndex = -1;\n      if (namespaceTable != null)\n        namespaceIndex = namespaceTable.GetURIIndex(new Uri(namespaceUri));\n      // oops - not found.\n      if (namespaceIndex < 0)\n        throw new ServiceResultException\n          (TraceMessage.BuildErrorTraceMessage(BuildError.QualifiedNameInvalidSyntax, String.Format(\"NamespaceUri ({0}) is not in the NamespaceTable.\", namespaceUri)), \"Cannot create the QualifiedName because NamespaceUri is not in the NamespaceTable.\");\n      // return the name.\n      return new QualifiedName(name, (ushort)namespaceIndex);\n    }\n\n    /// <summary>\n    /// Returns true if the QualifiedName is valid.\n    /// </summary>\n    /// <param name=\"value\">The name to be validated.</param>\n    /// <param name=\"namespaceUris\">The table namespaces known to the server.</param>\n    /// <returns>True if the name is value.</returns>\n    internal static bool IsValid(QualifiedName value, INamespaceTable namespaceUris)\n    {\n      if (value == null || String.IsNullOrEmpty(value.Name))\n        return false;\n      if (namespaceUris != null && namespaceUris.GetModelTableEntry(value.NamespaceIndex) == null)\n        return false;\n      return true;\n    }\n\n    /// <summary>\n    /// Parses a string containing a <see cref=\"QualifiedName\"/> with the syntax <code>n:qname</code>\n    /// </summary>\n    /// <param name=\"text\">The QualifiedName value as a string.</param>\n    internal static QualifiedName Parse(string text)\n    {\n      ushort defaultNamespaceIndex = 0;\n      string pattern = @\"\\b((\\d{1,}):)?(.+)\";\n      RegexOptions options = RegexOptions.Singleline;\n      MatchCollection parseResult = Regex.Matches(text, pattern, options);\n      if (parseResult.Count == 0)\n        throw new ArgumentOutOfRangeException(nameof(text), $\"The entry text {text} cannot be resolved to create a valid instance of the {nameof(QualifiedName)}.\");\n      else if (parseResult.Count > 1)\n        throw new ArgumentOutOfRangeException(nameof(text), $\"Ambiguous entry - {text} contains {parseResult.Count} parts that match the {nameof(QualifiedName)} syntax.\");\n      if (!parseResult[0].Groups[3].Success)\n        throw new ArgumentOutOfRangeException(nameof(text), $\"The entry text {text} doesn't contain a required {nameof(QualifiedName.Name)} field.\");\n      if (ushort.TryParse(parseResult[0].Groups[2].Value, out ushort index))\n        defaultNamespaceIndex = index;\n      return new QualifiedName() { Name = parseResult[0].Groups[3].Value, namespaceIndexFieldSpecified = true, NamespaceIndex = defaultNamespaceIndex };\n    }\n\n    /// <summary>\n    /// Returns true if the value is null.\n    /// </summary>\n    /// <param name=\"value\">The qualified name to check</param>\n    public static bool IsNull(QualifiedName value)\n    {\n      if (value != null)\n      {\n        if (value.NamespaceIndex != 0 || !String.IsNullOrEmpty(value.Name))\n        {\n          return false;\n        }\n      }\n      return true;\n    }\n\n    /// <summary>\n    /// Converts a string to a qualified name.\n    /// </summary>\n    /// <remarks>\n    /// Converts a string to a qualified name.\n    /// </remarks>\n    /// <param name=\"value\">The string to turn into a fully qualified name</param>\n    public static QualifiedName ToQualifiedName(string value)\n    {\n      return new QualifiedName(value);\n    }\n\n    /// <summary>\n    /// Converts a string to a qualified name.\n    /// </summary>\n    /// <remarks>\n    /// Converts a string to a qualified name.\n    /// </remarks>\n    /// <param name=\"value\">The string to turn into a fully qualified name</param>\n    public static implicit operator QualifiedName(string value)\n    {\n      return new QualifiedName(value);\n    }\n\n    /// <summary>\n    /// Returns an instance of a null QualifiedName.\n    /// </summary>\n    public static QualifiedName Null => s_Null;\n\n    private static readonly QualifiedName s_Null = new QualifiedName();\n\n    #endregion Static Methods\n  }\n\n  /// <summary>\n  /// A collection of QualifiedName objects.\n  /// </summary>\n  /// <remarks>\n  /// A strongly-typed collection of QualifiedName objects.\n  /// </remarks>\n  public partial class QualifiedNameCollection : List<QualifiedName>, ICloneable\n  {\n    /// <summary>\n    /// Initializes an empty collection.\n    /// </summary>\n    /// <remarks>\n    /// Initializes an empty collection.\n    /// </remarks>\n    public QualifiedNameCollection()\n    { }\n\n    /// <summary>\n    /// Initializes the collection from another collection.\n    /// </summary>\n    /// <remarks>\n    /// Initializes the collection from another collection.\n    /// </remarks>\n    /// <param name=\"collection\">The enumerated collection of qualified names to add to this new collection</param>\n    public QualifiedNameCollection(IEnumerable<QualifiedName> collection) : base(collection) { }\n\n    /// <summary>\n    /// Initializes the collection with the specified capacity.\n    /// </summary>\n    /// <remarks>\n    /// Initializes the collection with the specified capacity.\n    /// </remarks>\n    /// <param name=\"capacity\">Max capacity of this collection</param>\n    public QualifiedNameCollection(int capacity) : base(capacity) { }\n\n    /// <summary>\n    /// Converts an array to a collection.\n    /// </summary>\n    /// <remarks>\n    /// Converts an array to a collection.\n    /// </remarks>\n    /// <param name=\"values\">The array to turn into a collection</param>\n    public static QualifiedNameCollection ToQualifiedNameCollection(QualifiedName[] values)\n    {\n      if (values != null)\n        return new QualifiedNameCollection(values);\n      return new QualifiedNameCollection();\n    }\n\n    /// <summary>\n    /// Converts an array to a collection.\n    /// </summary>\n    /// <remarks>\n    /// Converts an array to a collection.\n    /// </remarks>\n    /// <param name=\"values\">The array to turn into a collection</param>\n    public static implicit operator QualifiedNameCollection(QualifiedName[] values)\n    {\n      return ToQualifiedNameCollection(values);\n    }\n\n    #region ICloneable Methods\n\n    /// <summary>\n    /// Creates a deep copy of the collection.\n    /// </summary>\n    /// <remarks>\n    /// Creates a deep copy of the collection.\n    /// </remarks>\n    public object Clone()\n    {\n      QualifiedNameCollection _clonedCollection = new QualifiedNameCollection(this.Count);\n      foreach (QualifiedName _item in this)\n        _clonedCollection.Add((QualifiedName)_item.Clone());\n      return _clonedCollection;\n    }\n\n    #endregion ICloneable Methods\n  }//QualifiedNameCollection\n}//namespace"
  },
  {
    "path": "SemanticData/UANodeSetValidation/DataSerialization/ServiceResultException.cs",
    "content": "﻿//___________________________________________________________________________________\n//\n//  Copyright (C) 2019, Mariusz Postol LODZ POLAND.\n//\n//  To be in touch join the community at GITTER: https://gitter.im/mpostol/OPC-UA-OOI\n//___________________________________________________________________________________\n\nusing System;\nusing System.Runtime.Serialization;\nusing System.Security.Permissions;\nusing UAOOI.SemanticData.BuildingErrorsHandling;\n\nnamespace UAOOI.SemanticData.UANodeSetValidation.DataSerialization\n{\n  /// <summary>\n  /// Class ServiceResultException.\n  /// </summary>\n  [Serializable]\n  public class ServiceResultException : Exception\n  {\n    /// <summary>\n    /// Initializes a new instance of the <see cref=\"ServiceResultException\"/> class.\n    /// </summary>\n    public ServiceResultException() { }\n    /// <summary>\n    /// Initializes a new instance of the <see cref=\"ServiceResultException\"/> class.\n    /// </summary>\n    /// <param name=\"traceMessage\">The trace message.</param>\n    /// <param name=\"message\">The message.</param>\n    public ServiceResultException(TraceMessage traceMessage, string message)\n      : base(message)\n    {\n      TraceMessage = traceMessage;\n    }\n    /// <summary>\n    /// Initializes a new instance of the <see cref=\"ServiceResultException\"/> class.\n    /// </summary>\n    /// <param name=\"traceMessage\">The trace message.</param>\n    /// <param name=\"message\">The message.</param>\n    /// <param name=\"inner\">The inner.</param>\n    public ServiceResultException(TraceMessage traceMessage, string message, Exception inner)\n      : base(message, inner)\n    {\n      TraceMessage = traceMessage;\n    }\n    /// <summary>\n    /// Gets the trace message.\n    /// </summary>\n    /// <value>The trace message.</value>\n    public TraceMessage TraceMessage { get; private set; }\n    /// <summary>\n    /// Initializes a new instance of the <see cref=\"ServiceResultException\" /> class with serialized data.\n    /// </summary>\n    /// <param name=\"info\">The <see cref=\"T:System.Runtime.Serialization.SerializationInfo\" /> that holds the serialized object data about the exception being thrown.</param>\n    /// <param name=\"context\">The <see cref=\"T:System.Runtime.Serialization.StreamingContext\" /> that contains contextual information about the source or destination.</param>\n    protected ServiceResultException(SerializationInfo info, StreamingContext context)\n      : base(info, context)\n    {\n      throw new NotImplementedException();\n    }\n    /// <summary>\n    /// When overridden in a derived class, sets the <see cref=\"T:System.Runtime.Serialization.SerializationInfo\" /> with information about the exception.\n    /// </summary>\n    /// <param name=\"info\">The <see cref=\"T:System.Runtime.Serialization.SerializationInfo\" /> that holds the serialized object data about the exception being thrown.</param>\n    /// <param name=\"context\">The <see cref=\"T:System.Runtime.Serialization.StreamingContext\" /> that contains contextual information about the source or destination.</param>\n    /// <PermissionSet>\n    ///   <IPermission class=\"System.Security.Permissions.FileIOPermission, mscorlib, Version=2.0.3600.0, Culture=neutral, PublicKeyToken=b77a5c561934e089\" version=\"1\" Read=\"*AllFiles*\" PathDiscovery=\"*AllFiles*\" />\n    ///   <IPermission class=\"System.Security.Permissions.SecurityPermission, mscorlib, Version=2.0.3600.0, Culture=neutral, PublicKeyToken=b77a5c561934e089\" version=\"1\" Flags=\"SerializationFormatter\" />\n    /// </PermissionSet>\n    [SecurityPermissionAttribute(SecurityAction.Demand, SerializationFormatter = true)]\n    public override void GetObjectData(SerializationInfo info, StreamingContext context)\n    {\n      base.GetObjectData(info, context);\n      //TODO implement GetObjectData\n    }\n  }\n\n}\n\n"
  },
  {
    "path": "SemanticData/UANodeSetValidation/Diagnostic/AssemblyTraceSource.cs",
    "content": "﻿//__________________________________________________________________________________________________\n//\n//  Copyright (C) 2021, Mariusz Postol LODZ POLAND.\n//\n//  To be in touch join the community at GitHub: https://github.com/mpostol/OPC-UA-OOI/discussions\n//__________________________________________________________________________________________________\n\nusing System.Diagnostics;\nusing UAOOI.Common.Infrastructure.Diagnostic;\nusing UAOOI.SemanticData.BuildingErrorsHandling;\n\nnamespace UAOOI.SemanticData.UANodeSetValidation.Diagnostic\n{\n  /// <summary>\n  /// Class AssemblyTraceSource. Implements the <see cref=\"ITraceSource\" />\n  /// </summary>\n  /// <seealso cref=\"ITraceSource\" />\n  internal class AssemblyTraceSource : IBuildErrorsHandling\n  {\n    #region constructors\n\n    /// <summary>\n    /// Initializes a new instance of the <see cref=\"AssemblyTraceSource\"/> class using the default of the <see cref=\"ITraceSource\"/>.\n    /// </summary>\n    internal AssemblyTraceSource()\n    {\n      traceSource = new TraceSourceBase(\"UANodeSetValidation\");\n    }\n\n    /// <summary>\n    /// Initializes a new instance of the <see cref=\"AssemblyTraceSource\"/> class using a provided implementation of the <see cref=\"ITraceSource\"/>.\n    /// </summary>\n    /// <param name=\"traceEvent\">The provided implementation of the <see cref=\"ITraceSource\"/>.</param>\n    internal AssemblyTraceSource(ITraceSource traceEvent)\n    {\n      traceSource = traceEvent;\n    }\n\n    #endregion constructors\n\n    #region IBuildErrorsHandling\n\n    /// <summary>\n    /// Writes the trace message.\n    /// </summary>\n    /// <param name=\"traceMessage\">The trace message.</param>\n    public void WriteTraceMessage(TraceMessage traceMessage)\n    {\n      traceSource.TraceData(traceMessage.TraceLevel, 43988162, traceMessage.ToString());\n      if (traceMessage.BuildError.Focus != Focus.Diagnostic)\n        Errors++;\n    }\n\n    public int Errors { get; private set; } = 0;\n\n    #endregion IBuildErrorsHandling\n\n    #region ITraceSource\n\n    /// <summary>\n    /// Writes trace data to the trace listeners in the <see cref=\"P:System.Diagnostics.TraceSource.Listeners\" /> collection using the specified <paramref name=\"eventType\" />,\n    /// event identifier <paramref name=\"id\" />, and trace <paramref name=\"data\" />.\n    /// </summary>\n    /// <param name=\"eventType\">One of the enumeration values that specifies the event type of the trace data.</param>\n    /// <param name=\"id\">A numeric identifier for the event.</param>\n    /// <param name=\"data\">The trace data.</param>\n    public void TraceData(TraceEventType eventType, int id, object data)\n    {\n      traceSource.TraceData(eventType, id, data);\n    }\n\n    #endregion ITraceSource\n\n    #region private\n\n    private readonly ITraceSource traceSource;\n\n    #endregion private\n  }\n}"
  },
  {
    "path": "SemanticData/UANodeSetValidation/Diagnostic/IBuildErrorsHandling.cs",
    "content": "﻿//__________________________________________________________________________________________________\n//\n//  Copyright (C) 2021, Mariusz Postol LODZ POLAND.\n//\n//  To be in touch join the community at GitHub: https://github.com/mpostol/OPC-UA-OOI/discussions\n//__________________________________________________________________________________________________\n\nusing UAOOI.Common.Infrastructure.Diagnostic;\nusing UAOOI.SemanticData.BuildingErrorsHandling;\n\nnamespace UAOOI.SemanticData.UANodeSetValidation.Diagnostic\n{\n  internal interface IBuildErrorsHandling : ITraceSource\n  {\n    /// <summary>\n    /// Traces the event using <see cref=\"TraceMessage\"/>.\n    /// </summary>\n    /// <param name=\"traceMessage\">The message to be send to trace.</param>\n    void WriteTraceMessage(TraceMessage traceMessage);\n\n    /// <summary>\n    /// Gets the number of traced errors.\n    /// </summary>\n    /// <value>The errors.</value>\n    int Errors { get; }\n  }\n}"
  },
  {
    "path": "SemanticData/UANodeSetValidation/Extensions.cs",
    "content": "﻿//__________________________________________________________________________________________________\n//\n//  Copyright (C) 2022, Mariusz Postol LODZ POLAND.\n//\n//  To be in touch join the community at GitHub: https://github.com/mpostol/OPC-UA-OOI/discussions\n//__________________________________________________________________________________________________\n\nusing System;\nusing System.Collections.Generic;\nusing System.Diagnostics;\nusing System.Globalization;\nusing System.IO;\nusing System.Linq;\nusing System.Xml;\nusing System.Xml.Serialization;\nusing UAOOI.Common.Infrastructure.Serializers;\nusing UAOOI.SemanticData.AddressSpace.Abstractions;\nusing UAOOI.SemanticData.BuildingErrorsHandling;\nusing UAOOI.SemanticData.InformationModelFactory;\nusing UAOOI.SemanticData.UANodeSetValidation.DataSerialization;\nusing UAOOI.SemanticData.UANodeSetValidation.UAInformationModel;\n\nnamespace UAOOI.SemanticData.UANodeSetValidation\n{\n  /// <summary>\n  /// Delegate LocalizedTextFactory - encapsulates a method that must be used to create localized text using <paramref name=\"localeField\"/> and <paramref name=\"valueField\"/>\n  /// </summary>\n  /// <param name=\"localeField\">The locale field. This argument is specified as a <see cref=\"string\"/>  that is composed of a language component and a country/region\n  /// component as specified by RFC 3066. The country/region component is always preceded by a hyphen. The format of the LocaleId string is shown below:\n  /// <c>\n  /// &lt;language&gt;[-&lt;country/region&gt;],\n  /// where:\n  ///   &lt;language&gt; is the two letter ISO 639 code for a language,\n  ///   &lt;country/region&gt; is the two letter ISO 3166 code for the country/region.\n  /// </c>\n  /// </param>\n  /// <param name=\"valueField\">The value field.</param>\n  internal delegate void LocalizedTextFactory(string localeField, string valueField);\n\n  /// <summary>\n  /// Class Extensions - provides helper functions for this namespace\n  /// </summary>\n  internal static class Extensions\n  {\n    //string\n    internal static string SymbolicName(this List<string> path)\n    {\n      return string.Join(\"_\", path.ToArray());\n    }\n\n    /// <summary>\n    /// Exports the string and filter out the default value.\n    /// </summary>\n    /// <param name=\"value\">The value.</param>\n    /// <param name=\"defaultValue\">The default value.</param>\n    /// <returns>Returns <paramref name=\"value\"/> if not equal to <paramref name=\"defaultValue\"/>, otherwise it returns <see cref=\"string.Empty\"/>.</returns>\n    internal static string ExportString(this string value, string defaultValue)\n    {\n      if (string.IsNullOrEmpty(value))\n        return null;\n      return string.Compare(value, defaultValue) == 0 ? null : value;\n    }\n\n    internal static bool? Export(this bool value, bool defaultValue)\n    {\n      return !value.Equals(defaultValue) ? value : new Nullable<bool>();\n    }\n\n    internal static int? Export(this double value, double defaultValue)\n    {\n      return !value.Equals(defaultValue) ? Convert.ToInt32(value) : new Nullable<int>();\n    }\n\n    internal static AttributeWriteMask Validate(this AttributeWriteMask value, AttributeWriteMask maxValue, Action<AttributeWriteMask> reportError)\n    {\n      if (value.CompareTo(maxValue) >= 0)\n        reportError(value);\n      return value & maxValue - 1;\n    }\n\n    //TODO IsValidLanguageIndependentIdentifier is not supported by the .NET standard #340\n    /// <summary>\n    /// Gets a value indicating whether the specified value is a valid language independent identifier.\n    /// </summary>\n    /// <remarks>\n    /// it is implemented using\n    /// https://raw.githubusercontent.com/Microsoft/referencesource/3b1eaf5203992df69de44c783a3eda37d3d4cd10/System/compmod/system/codedom/compiler/CodeGenerator.cs as the starting point.\n    /// </remarks>\n    private static bool IsValidLanguageIndependentIdentifier(this string value)\n    {\n      if (value.Length == 0)\n        return false;\n      // each char must be Lu, Ll, Lt, Lm, Lo, Nd, Mn, Mc, Pc\n      for (int i = 0; i < value.Length; i++)\n      {\n        char ch = value[i];\n        UnicodeCategory uc = char.GetUnicodeCategory(ch);\n        switch (uc)\n        {\n          case UnicodeCategory.UppercaseLetter:        // Lu\n          case UnicodeCategory.LowercaseLetter:        // Ll\n          case UnicodeCategory.TitlecaseLetter:        // Lt\n          case UnicodeCategory.ModifierLetter:         // Lm\n          case UnicodeCategory.LetterNumber:           // Lm\n          case UnicodeCategory.OtherLetter:            // Lo\n            break;\n\n          case UnicodeCategory.NonSpacingMark:         // Mn\n          case UnicodeCategory.SpacingCombiningMark:   // Mc\n          case UnicodeCategory.ConnectorPunctuation:   // Pc\n          case UnicodeCategory.DecimalDigitNumber:     // Nd\n                                                       // Underscore is a valid starting character, even though it is a ConnectorPunctuation.\n                                                       //if (nextMustBeStartChar && ch != '_')\n                                                       //  return false;\n            break;\n\n          default:\n            return false;\n        }\n      }\n      return true;\n    }\n\n    internal static string ValidateIdentifier(this string name, Action<TraceMessage> reportError)\n    {\n      if (!name.IsValidLanguageIndependentIdentifier())\n        reportError(TraceMessage.BuildErrorTraceMessage(BuildError.WrongSymbolicName, string.Format(\"SymbolicName: '{0}'.\", name)));\n      return name;\n    }\n\n    internal static string NodeIdentifier(this IUANode node)\n    {\n      if (node.BrowseName == null)\n        return node.SymbolicName;\n      return node.BrowseName.ToString();\n    }\n\n    internal static string ConvertToString(this LocalizedText localizedText)\n    {\n      if (localizedText == null)\n        return \"Empty LocalizedText\";\n      return string.Format(\"{0}:{1}\", localizedText.Locale, localizedText.Text);\n    }\n\n    /// <summary>\n    /// Converts the ArrayDimensions represented as the array of <seealso cref=\"uint\"/> to string.\n    /// </summary>\n    /// <remarks>\n    /// The maximum length of an array.\n    /// This value is a comma separated list of unsigned integer values.The list has a number of elements equal to the ValueRank.\n    /// The value is 0 if the maximum is not known for a dimension.\n    /// This field is not specified if the ValueRank less or equal 0.\n    /// This field is not specified for subtypes of Enumeration or for DataTypes with the OptionSetValues Property.\n    /// </remarks>\n    /// <param name=\"arrayDimensions\">The array dimensions represented as the string.</param>\n    /// <returns>System.String.</returns>\n    internal static string ArrayDimensionsToString(this uint[] arrayDimensions)\n    {\n      return string.Join(\", \", arrayDimensions);\n    }\n\n    internal static void GetParameters(this IDataTypeDefinition dataTypeDefinition,\n                                            IDataTypeDefinitionFactory dataTypeDefinitionFactory,\n                                            IAddressSpaceBuildContext nodeContext,\n                                            Action<TraceMessage> traceEvent)\n    {\n      if (dataTypeDefinition is null)\n        return;\n      //xsd comment  < !--BaseType is obsolete and no longer used.Left in for backwards compatibility. -->\n      //definition.BaseType = modelContext.ExportBrowseName(dataTypeDefinition.BaseType, DataTypes.BaseDataType);\n      dataTypeDefinitionFactory.IsOptionSet = dataTypeDefinition.IsOptionSet;\n      dataTypeDefinitionFactory.IsUnion = dataTypeDefinition.IsUnion;\n      dataTypeDefinitionFactory.Name = null; //TODO UADataType.Definition.Name wrong value #341 modelContext.ExportBrowseName( dataTypeDefinition.Name, DataTypes.BaseDataType);\n      dataTypeDefinitionFactory.SymbolicName = dataTypeDefinition.SymbolicName;\n      if (dataTypeDefinition.Field == null || dataTypeDefinition.Field.Length == 0)\n        return;\n      foreach (IDataTypeField _item in dataTypeDefinition.Field)\n      {\n        IDataTypeFieldFactory _nP = dataTypeDefinitionFactory.NewField();\n        _nP.Name = _item.Name;\n        _nP.SymbolicName = _item.SymbolicName;\n        _item.DisplayName.ExportLocalizedTextArray(_nP.AddDisplayName);\n        _nP.DataType = nodeContext.ExportBrowseName(_item.DataTypeNodeId, DataTypes.BaseDataType);\n        _nP.ValueRank = _item.ValueRank.ParseValueRank(traceEvent);\n        _nP.ArrayDimensions = _item.ArrayDimensions;\n        _nP.MaxStringLength = _item.MaxStringLength;\n        _item.Description.ExportLocalizedTextArray(_nP.AddDescription);\n        _nP.Value = _item.Value;\n        _nP.IsOptional = _item.IsOptional;\n      }\n    }\n\n    //TODO Define independent Address Space API #645 - move it to the InformationModelFactory\n    internal static void ExportLocalizedTextArray(this LocalizedText[] text, LocalizedTextFactory createLocalizedText)\n    {\n      if (text == null || text.Length == 0)\n        return;\n      foreach (LocalizedText item in text)\n        createLocalizedText(item.Locale, item.Text);\n    }\n\n    internal static LocalizedText[] Truncate(this LocalizedText[] localizedText, int maxLength, Action<TraceMessage> reportError)\n    {\n      if (localizedText == null || localizedText.Length == 0)\n        return null;\n      List<LocalizedText> _ret = new List<LocalizedText>();\n      foreach (LocalizedText _item in localizedText)\n      {\n        if (_item.Text.Length > maxLength)\n        {\n          reportError(TraceMessage.BuildErrorTraceMessage(BuildError.WrongDisplayNameLength, string.Format\n            (\"The localized text starting with '{0}:{1}' of length {2} is too long.\", _item.Locale, _item.Text.Substring(0, 20), _item.Text.Length)));\n          LocalizedText _localizedText = new LocalizedText()\n          {\n            Locale = _item.Locale,\n            Text = _item.Text.Substring(0, maxLength)\n          };\n          _ret.Add(_localizedText);\n        }\n      }\n      return _ret.ToArray();\n    }\n\n    internal static List<DataSerialization.Argument> GetParameters(this XmlElement xmlElement)\n    {\n      //TODO UANodeSetValidation.Extensions.GetObject - object reference not set #624\n      ListOfExtensionObject _wrapper = xmlElement.GetObject<ListOfExtensionObject>();\n      Debug.Assert(_wrapper != null);\n      if (_wrapper.ExtensionObject.AsEnumerable<ExtensionObject>().Where<ExtensionObject>(x => !((string)x.TypeId.Identifier).Equals(\"i=297\")).Any())\n        throw new ArgumentOutOfRangeException(\"ExtensionObject.TypeId.Identifier\");\n      List<DataSerialization.Argument> _ret = new List<DataSerialization.Argument>();\n      foreach (ExtensionObject item in _wrapper.ExtensionObject)\n        _ret.Add(item.Body.GetObject<DataSerialization.Argument>());\n      return _ret;\n    }\n\n    internal static bool LocalizedTextArraysEqual(this LocalizedText[] first, LocalizedText[] second)\n    {\n      if (Object.ReferenceEquals(first, null))\n        return Object.ReferenceEquals(second, null);\n      if (Object.ReferenceEquals(second, null))\n        return false;\n      if (first.Length != second.Length)\n        return false;\n      try\n      {\n        Dictionary<string, LocalizedText> _dictionaryForFirst = first.ToDictionary(x => ConvertToString(x));\n        foreach (LocalizedText _text in second)\n          if (!_dictionaryForFirst.ContainsKey(ConvertToString(_text)))\n            return false;\n      }\n      catch (Exception)\n      {\n        return false;\n      }\n      return true;\n    }\n\n    internal static bool RolePermissionsEquals(this IRolePermission[] first, IRolePermission[] second)\n    {\n      if (Object.ReferenceEquals(first, null))\n        return Object.ReferenceEquals(second, null);\n      if (first.Length != second.Length)\n        return false;\n      Dictionary<uint, IRolePermission> _dictionaryForFirst = first.ToDictionary<IRolePermission, uint>(x => x.Permissions);\n      foreach (IRolePermission _permission in second)\n      {\n        if (!_dictionaryForFirst.ContainsKey(_permission.Permissions))\n          return false;\n        if (_dictionaryForFirst[_permission.Permissions].Value != _permission.Value)\n          return false;\n      }\n      return true;\n    }\n\n    internal static bool ReferencesEquals(this IReference[] first, IReference[] second)\n    {\n      return true;\n    }\n\n    internal static bool AreEqual(this string first, string second)\n    {\n      if (String.IsNullOrEmpty(first))\n        return String.IsNullOrEmpty(second);\n      return String.Compare(first, second) == 0;\n    }\n\n    #region private\n\n    //private static string ConvertToString(LocalizedText x)\n    //{\n    //  return $\"{x.Locale}:{x.Text}\";\n    //}\n\n    /// <summary>\n    /// Deserialize <see cref=\"XmlElement\" /> object using <see cref=\"XmlSerializer\" />\n    /// </summary>\n    /// <typeparam name=\"type\">The type of the type.</typeparam>\n    /// <param name=\"xmlElement\">The object to be deserialized.</param>\n    /// <returns>Deserialized object</returns>\n    private static type GetObject<type>(this XmlElement xmlElement)\n    {\n      using (MemoryStream _memoryBuffer = new MemoryStream(1000))\n      {\n        XmlWriterSettings _settings = new XmlWriterSettings() { ConformanceLevel = ConformanceLevel.Fragment };\n        using (XmlWriter wrt = XmlWriter.Create(_memoryBuffer, _settings))\n          //TODO UANodeSetValidation.Extensions.GetObject - object reference not set #624\n          xmlElement.WriteTo(wrt);\n        _memoryBuffer.Flush();\n        _memoryBuffer.Position = 0;\n        return XmlFile.ReadXmlFile<type>(_memoryBuffer);\n      }\n    }\n\n    #endregion private\n  }\n}"
  },
  {
    "path": "SemanticData/UANodeSetValidation/IAddressSpaceBuildContext.cs",
    "content": "﻿//___________________________________________________________________________________\n//\n//  Copyright (C) 2021, Mariusz Postol LODZ POLAND.\n//\n//  To be in touch join the community at GITTER: https://gitter.im/mpostol/OPC-UA-OOI\n//___________________________________________________________________________________\n\nusing System;\nusing System.Collections.Generic;\nusing System.Xml;\nusing UAOOI.SemanticData.InformationModelFactory;\nusing UAOOI.SemanticData.UANodeSetValidation.DataSerialization;\n\nnamespace UAOOI.SemanticData.UANodeSetValidation\n{\n  /// <summary>\n  /// Interface IAddressSpaceBuildContext representing the Address Space Context used during build operation\n  /// </summary>\n  internal interface IAddressSpaceBuildContext\n  {\n    /// <summary>\n    /// Exports the browse name if it is not default value, otherwise null.\n    /// </summary>\n    /// <param name=\"id\">The identifier.</param>\n    /// <param name=\"defaultValue\">The default value.</param>\n    /// <returns>XmlQualifiedName.</returns>\n    XmlQualifiedName ExportBrowseName(NodeId id, NodeId defaultValue);\n\n    /// <summary>\n    /// Exports the argument for a method.\n    /// </summary>\n    /// <param name=\"argument\">The argument - it defines a Method input or output argument specification. It is for example used in the input and output argument Properties for Methods.</param>\n    /// <param name=\"dataType\">Type of the data.</param>\n    Parameter ExportArgument(DataSerialization.Argument argument, XmlQualifiedName dataType);\n\n    /// <summary>\n    /// Gets the or create node context.\n    /// </summary>\n    /// <param name=\"nodeId\">The node identifier.</param>\n    /// <param name=\"createUAModelContext\">Delegated capturing functionality to create UA model context.</param>\n    /// <returns>Returns an instance of <see cref=\"IUANodeContext\"/>.</returns>\n    IUANodeContext GetOrCreateNodeContext(NodeId nodeId, Func<NodeId, IUANodeContext> createUAModelContext);\n\n    /// <summary>\n    /// Gets the namespace value as the <see cref=\"string\"/>.\n    /// </summary>\n    /// <param name=\"namespaceIndex\">Index of the namespace.</param>\n    /// <returns>The namespace of the index pointed out by the <paramref name=\"namespaceIndex\"/></returns>\n    string GetNamespace(ushort namespaceIndex);\n\n    /// <summary>\n    /// Gets my references.\n    /// </summary>\n    /// <param name=\"node\">The source node</param>\n    /// <returns>Returns <see cref=\"IEnumerable{UAReferenceContex}\"/> containing references attached to the <paramref name=\"node\"/>.</returns>\n    IEnumerable<UAReferenceContext> GetMyReferences(IUANodeBase node);\n\n    /// <summary>\n    /// Gets the references to me.\n    /// </summary>\n    /// <param name=\"node\">The node in concern.</param>\n    /// <returns>All references targeting the <paramref name=\"node\"/> node</returns>\n    IEnumerable<UAReferenceContext> GetReferences2Me(IUANodeBase node);\n\n    /// <summary>\n    /// Gets the children nodes (<see cref=\"ReferenceKindEnum.HasProperty\"/> or <see cref=\"ReferenceKindEnum.HasComponent\"/>) for the <paramref name=\"node\" />.\n    /// </summary>\n    /// <param name=\"node\">The root node of the requested children.</param>\n    /// <returns>Return an instance of <see cref=\"IEnumerable{IUANodeBase}\"/> capturing all children of the selected node.</returns>\n    IEnumerable<IUANodeBase> GetChildren(IUANodeBase node);\n\n    /// <summary>\n    /// Exports the argument.\n    /// </summary>\n    /// <param name=\"argument\">The argument.</param>\n    /// <returns>An instance encapsulating <see cref=\"Parameter\"/>.</returns>\n    Parameter ExportArgument(Argument argument);\n\n    void GetBaseTypes(IUANodeContext rootNode, List<IUANodeContext> inheritanceChain);\n  }\n}"
  },
  {
    "path": "SemanticData/UANodeSetValidation/IUANodeBase.cs",
    "content": "﻿//__________________________________________________________________________________________________\n//\n//  Copyright (C) 2022, Mariusz Postol LODZ POLAND.\n//\n//  To be in touch join the community at GitHub: https://github.com/mpostol/OPC-UA-OOI/discussions\n//__________________________________________________________________________________________________\n\nusing System;\nusing System.Collections.Generic;\nusing System.Xml;\nusing UAOOI.SemanticData.AddressSpace.Abstractions;\nusing UAOOI.SemanticData.InformationModelFactory;\nusing UAOOI.SemanticData.UANodeSetValidation.DataSerialization;\n\nnamespace UAOOI.SemanticData.UANodeSetValidation\n{\n  /// <summary>\n  /// Interface IUANodeBase - if implemented captures all basic information represented by the UA Node\n  /// </summary>\n  internal interface IUANodeBase : IEquatable<IUANodeBase>\n  {\n    /// <summary>\n    /// Calculates the node references.\n    /// </summary>\n    /// <param name=\"nodeFactory\">The node factory.</param>\n    /// <param name=\"allNodesInConcern\">list of selected members to export.</param>\n    /// <param name=\"validator\">The validator.</param>\n    /// <param name=\"validateExportNode2Model\">It creates the node at the top level of the model. Called if the node has reference to another node that cannot be defined as a child.</param>\n    void CalculateNodeReferences(INodeFactory nodeFactory, List<IUANodeBase> allNodesInConcern, IValidator validator, Action<IUANodeContext> validateExportNode2Model);\n\n    /// <summary>\n    /// Gets the node identifier.\n    /// </summary>\n    /// <value>The imported node identifier.</value>\n    NodeId NodeIdContext { get; }\n\n    /// <summary>\n    /// Gets the wrapped node described by the <see cref=\"UANode\"/> type.\n    /// </summary>\n    IUANode UANode { get; }\n\n    /// <summary>\n    /// Exports the browse name of the wrapped node by this instance.\n    /// </summary>\n    /// <returns>An instance of <see cref=\"XmlQualifiedName\" /> representing the browse name of the node.</returns>\n    XmlQualifiedName ExportNodeBrowseName();\n\n    /// <summary>\n    /// Gets a value indicating whether this instance is a property.\n    /// </summary>\n    /// <value><c>true</c> if this instance is property; otherwise, <c>false</c>.</value>\n    bool IsProperty { get; }\n\n    /// <summary>\n    /// Gets a value indicating whether this instance is property variable type.\n    /// </summary>\n    /// <value><c>true</c> if this instance is property variable type; otherwise, <c>false</c>.</value>\n    bool IsPropertyVariableType { get; }\n\n    /// <summary>\n    /// Exports the browse name of this node recognized as <see cref=\"ReferenceKindEnum.HasSubtype\"/> or <see cref=\"ReferenceKindEnum.HasTypeDefinition\"/> target.\n    /// </summary>\n    /// <param name=\"traceEvent\">The trace event.</param>\n    /// <returns>An instance of <see cref=\"XmlQualifiedName\"/> representing subtype or type of an instance.</returns>\n    XmlQualifiedName ExportBrowseNameBaseType(Action<NodeId> traceEvent);\n\n    /// <summary>\n    /// Gets the derived instances.\n    /// </summary>\n    NodesCollection GetDerivedInstances();\n\n    /// <summary>\n    ///  Exports the BrowseName of the BaseType.\n    /// </summary>\n    /// <returns>An instance of <see cref=\"XmlQualifiedName\" /> representing the base type..</returns>\n    XmlQualifiedName ExportBaseTypeBrowseName();\n\n    /// <summary>\n    /// Gets the modeling rule associated with this node.\n    /// </summary>\n    /// <value>The <see cref=\"ModelingRules\"/> associated with the node. Null if valid modeling rule cannot be recognized.</value>\n    ModelingRules? ModelingRule { get; }\n\n    /// <summary>\n    /// Removes the inherited values.\n    /// </summary>\n    /// <param name=\"instanceDeclaration\">The instance declaration.</param>\n    /// <remarks>\n    /// If a member is overridden all inherited values of the node attributes must be removed.\n    /// </remarks>\n    void RemoveInheritedValues(IUANodeBase instanceDeclaration);\n  }\n}"
  },
  {
    "path": "SemanticData/UANodeSetValidation/IUANodeContext.cs",
    "content": "﻿//__________________________________________________________________________________________________\n//\n//  Copyright (C) 2022, Mariusz Postol LODZ POLAND.\n//\n//  To be in touch join the community at GitHub: https://github.com/mpostol/OPC-UA-OOI/discussions\n//__________________________________________________________________________________________________\n\nusing System;\nusing System.Collections.Generic;\nusing UAOOI.SemanticData.AddressSpace.Abstractions;\nusing UAOOI.SemanticData.UANodeSetValidation.DataSerialization;\n\nnamespace UAOOI.SemanticData.UANodeSetValidation\n{\n  /// <summary>\n  /// Interface IUANodeContext - captures all information about the <see cref=\"IUANode\"/> required by the Address Space build process\n  /// Implements the <see cref=\"UAOOI.SemanticData.UANodeSetValidation.IUANodeBase\" />\n  /// </summary>\n  /// <seealso cref=\"UAOOI.SemanticData.UANodeSetValidation.IUANodeBase\" />\n  internal interface IUANodeContext : IUANodeBase\n  {\n    /// <summary>\n    /// Builds the symbolic identifier.\n    /// </summary>\n    /// <param name=\"path\">The browse path.</param>\n    void BuildSymbolicId(List<string> path);\n\n    /// <summary>\n    /// Gets or sets a value indicating whether the node is in recursion chain - selected for analysis second time.\n    /// </summary>\n    /// <value><c>true</c> if the node is in recursion chain; otherwise, <c>false</c>.</value>\n    bool InRecursionChain { get; set; }\n\n    /// <summary>\n    /// Updates this instance in case the wrapped <see cref=\"IUANode\" /> is recognized in the model.\n    /// </summary>\n    /// <param name=\"node\">The node <see cref=\"IUANode\" /> containing definition to be added to the model.</param>\n    /// <param name=\"addReference\">Used to add new reference to the common collection of references.</param>\n    void Update(IUANode node, Action<UAReferenceContext> addReference);\n\n    /// <summary>\n    /// Creates new embedded node exposed as the <see cref=\"IUANodeContext\"/>.\n    /// </summary>\n    /// <param name=\"id\">The identifier of the new node.</param>\n    /// <returns>An instance of the <see cref=\"IUANodeContext\"/>. representing the new embedded node.</returns>\n    IUANodeContext CreateUANodeContext(NodeId id);\n  }\n}"
  },
  {
    "path": "SemanticData/UANodeSetValidation/IValidator.cs",
    "content": "﻿//__________________________________________________________________________________________________\n//\n//  Copyright (C) 2022, Mariusz Postol LODZ POLAND.\n//\n//  To be in touch join the community at GitHub: https://github.com/mpostol/OPC-UA-OOI/discussions\n//__________________________________________________________________________________________________\n\nusing System;\nusing System.Collections.Generic;\nusing UAOOI.SemanticData.InformationModelFactory;\n\nnamespace UAOOI.SemanticData.UANodeSetValidation\n{\n  /// <summary>\n  /// Interface IValidator - interface capturing functionality supporting the Ind=formation Model export and validation from the Address Space\n  /// </summary>\n  internal interface IValidator\n  {\n    /// <summary>\n    /// Validates <paramref name=\"nodeContext\" /> and exports it using an object of <see cref=\"IModelFactory\" />  type.\n    /// </summary>\n    /// <param name=\"nodeContext\">The node context to be validated and exported.</param>\n    /// <param name=\"allNodesInConcern\">list of selected members to export.</param>\n    /// <param name=\"exportFactory\">A model export factory.</param>\n    /// <param name=\"parentReference\">The reference to parent node.</param>\n    /// <param name=\"validateExportNode2Model\">It creates the node at the top level of the model. Called if the node has reference to another node that cannot be defined as a child.</param>\n    void ValidateExportNode(IUANodeBase nodeContext, List<IUANodeBase> allNodesInConcern, INodeContainer exportFactory, Action<IUANodeContext> validateExportNode2Model, UAReferenceContext parentReference);\n\n    /// <summary>\n    /// Validates <paramref name=\"nodeContext\" /> and exports it using an object of <see cref=\"IModelFactory\" />  type.\n    /// </summary>\n    /// <param name=\"nodeContext\">The node context to be validated and exported.</param>\n    /// <param name=\"allNodesInConcern\">list of selected members to export.</param>\n    /// <param name=\"exportFactory\">A model export factory.</param>\n    /// <param name=\"validateExportNode2Model\">It creates the node at the top level of the model. Called if the node has reference to another node that cannot be defined as a child.</param>\n    void ValidateExportNode(IUANodeBase nodeContext, List<IUANodeBase> allNodesInConcern, INodeContainer exportFactory, Action<IUANodeContext> validateExportNode2Model);\n  }\n}"
  },
  {
    "path": "SemanticData/UANodeSetValidation/InformationModelFactory/DataTypeDefinitionFactoryBase.cs",
    "content": "﻿//___________________________________________________________________________________\n//\n//  Copyright (C) 2019, Mariusz Postol LODZ POLAND.\n//\n//  To be in touch join the community at GITTER: https://gitter.im/mpostol/OPC-UA-OOI\n//___________________________________________________________________________________\n\nusing System.Xml;\nusing UAOOI.SemanticData.InformationModelFactory;\n\nnamespace UAOOI.SemanticData.UANodeSetValidation.InformationModelFactory\n{\n  /// <summary>\n  /// Class DataTypeDefinitionFactoryBase.\n  /// Implements the <see cref=\"UAOOI.SemanticData.InformationModelFactory.IDataTypeDefinitionFactory\" />\n  /// </summary>\n  /// <seealso cref=\"UAOOI.SemanticData.InformationModelFactory.IDataTypeDefinitionFactory\" />\n  internal class DataTypeDefinitionFactoryBase : IDataTypeDefinitionFactory\n  {\n    /// <summary>\n    /// Creates new field and provides an object of <see cref=\"T:UAOOI.SemanticData.InformationModelFactory.IDataTypeFieldFactory\" /> type encapsulating information about the field data type.\n    /// </summary>\n    /// <returns>Returns <see cref=\"T:UAOOI.SemanticData.InformationModelFactory.IDataTypeFieldFactory\" /> .</returns>\n    public IDataTypeFieldFactory NewField()\n    {\n      return new DataTypeFieldFactoryBase();\n    }\n    /// <summary>\n    /// Sets the name of the DataType.\n    /// </summary>\n    /// <value>The name represented as <see cref=\"T:System.Xml.XmlQualifiedName\" />.</value>\n    public XmlQualifiedName Name { set { } }\n    /// <summary>\n    /// A symbolic name for the data type. It should only be specified if the Name cannot be used for this purpose.\n    /// Only letters, digits or the underscore (‘_’) are permitted.\n    /// </summary>\n    /// <value>The symbolic name of this entity.</value>\n    public string SymbolicName { set { } }\n    /// <summary>\n    /// Sets a value indicating whether this instance is option set. This flag indicates that the data type defines the OptionSetValues Property.\n    /// This field is optional.The default value is false.\n    /// </summary>\n    /// <value><c>true</c> if this instance is option set; otherwise, <c>false</c>.</value>\n    public bool IsOptionSet { set { } }\n    /// <summary>\n    /// Sets a value indicating whether this instance is union.\n    /// Only one of the Fields defined for the data type is encoded into a value.\n    /// This field is optional.The default value is false. If this value is true, the first field is the switch value.\n    /// </summary>\n    /// <value><c>true</c> if this instance is union; otherwise, <c>false</c>.</value>\n    public bool IsUnion { set { } }\n  }\n}\n"
  },
  {
    "path": "SemanticData/UANodeSetValidation/InformationModelFactory/DataTypeFactoryBase.cs",
    "content": "﻿//___________________________________________________________________________________\n//\n//  Copyright (C) 2019, Mariusz Postol LODZ POLAND.\n//\n//  To be in touch join the community at GITTER: https://gitter.im/mpostol/OPC-UA-OOI\n//___________________________________________________________________________________\n\nusing UAOOI.SemanticData.InformationModelFactory;\n\nnamespace UAOOI.SemanticData.UANodeSetValidation.InformationModelFactory\n{\n  /// <summary>\n  /// Class DataTypeFactoryBase.\n  /// Implements the <see cref=\"UAOOI.SemanticData.UANodeSetValidation.InformationModelFactory.TypeFactoryBase\" />\n  /// Implements the <see cref=\"UAOOI.SemanticData.InformationModelFactory.IDataTypeFactory\" />\n  /// </summary>\n  /// <seealso cref=\"UAOOI.SemanticData.UANodeSetValidation.InformationModelFactory.TypeFactoryBase\" />\n  /// <seealso cref=\"UAOOI.SemanticData.InformationModelFactory.IDataTypeFactory\" />\n  internal class DataTypeFactoryBase : TypeFactoryBase, IDataTypeFactory\n  {\n\n    /// <summary>\n    /// Sets a value indicating whether this instance is option set. This flag indicates that the data type defines the OptionSetValues Property. \n    /// This field is optional.The default value is false.\n    /// </summary>\n    /// <value><c>true</c> if this instance is option set; otherwise, <c>false</c>.</value>\n    public bool IsOptionSet { set; private get; }\n    /// <summary>\n    /// Creates new implementation dependent object implementing the <see cref=\"T:UAOOI.SemanticData.InformationModelFactory.IDataTypeDefinitionFactory\" /> interface.\n    /// The data type model is used to define simple and complex data types. Types are used to describe the structure of the Value attribute of variables and their types.\n    /// Therefore each Variable and VariableType node is pointing with its DataType attribute to a node of the DataType node class.\n    /// </summary>\n    /// <returns>IDataTypeDefinitionFactory.</returns>\n    /// <value>Returns new object of <see cref=\"T:UAOOI.SemanticData.InformationModelFactory.IDataTypeDefinitionFactory\" /> type encapsulating DataType definition factory.</value>\n    public IDataTypeDefinitionFactory NewDefinition()\n    {\n      return new DataTypeDefinitionFactoryBase();\n    }\n  }\n}\n"
  },
  {
    "path": "SemanticData/UANodeSetValidation/InformationModelFactory/DataTypeFieldFactoryBase.cs",
    "content": "﻿//___________________________________________________________________________________\n//\n//  Copyright (C) 2019, Mariusz Postol LODZ POLAND.\n//\n//  To be in touch join the community at GITTER: https://gitter.im/mpostol/OPC-UA-OOI\n//___________________________________________________________________________________\n\nusing System.Xml;\nusing UAOOI.SemanticData.InformationModelFactory;\n\nnamespace UAOOI.SemanticData.UANodeSetValidation.InformationModelFactory\n{\n\n  /// <summary>\n  /// Class DataTypeFieldFactoryBase.\n  /// Implements the <see cref=\"UAOOI.SemanticData.InformationModelFactory.IDataTypeFieldFactory\" />\n  /// </summary>\n  /// <seealso cref=\"UAOOI.SemanticData.InformationModelFactory.IDataTypeFieldFactory\" />\n  internal class DataTypeFieldFactoryBase : IDataTypeFieldFactory\n  {\n\n    /// <summary>\n    /// Sets the DataType name.\n    /// </summary>\n    /// <value>The type of the data.</value>\n    public XmlQualifiedName DataType { set { } }\n    /// <summary>\n    /// Sets the identifier the value associated with the field.\n    /// </summary>\n    /// <value>The identifier.</value>\n    public int? Identifier { set { } }\n    /// <summary>\n    /// Sets the name for the field that is unique within the <see cref=\"T:UAOOI.SemanticData.InformationModelFactory.IDataTypeDefinitionFactory\" />.\n    /// </summary>\n    /// <value>The name for the field.</value>\n    public string Name { set { } }\n    /// <summary>\n    /// Sets the value rank. It shall be Scalar (-1) or a fixed rank Array (&gt;=1). This field is not specified for subtypes of Enumeration.\n    /// </summary>\n    /// <value>The value rank.</value>\n    public int? ValueRank { set { } }\n    /// <summary>\n    /// Creates new object of <see cref=\"T:UAOOI.SemanticData.InformationModelFactory.IDataTypeDefinitionFactory\" /> for anonymous definition of the DatType.\n    /// The field is a structure with a layout specified by the <see cref=\"T:UAOOI.SemanticData.InformationModelFactory.IDataTypeDefinitionFactory\" />.\n    /// This field is optional.\n    /// This field allows designers to create nested structures without defining a new DataType Node for each structure.\n    /// This field is not specified for subtypes of Enumeration.\n    /// </summary>\n    /// <returns>IDataTypeDefinitionFactory.</returns>\n    /// <value>A new instance of <see cref=\"T:UAOOI.SemanticData.InformationModelFactory.IDataTypeDefinitionFactory\" /> encapsulating the DatType definition.</value>\n    public IDataTypeDefinitionFactory NewDefinition()\n    {\n      return new DataTypeDefinitionFactoryBase();\n    }\n    /// <summary>\n    /// The value associated with the field. This field is only specified for subtypes of Enumeration.\n    /// For OptionSets the value is the number of the bit associated with the field.\n    /// </summary>\n    /// <value>The value.</value>\n    public int Value\n    {\n      set { }\n    }\n    /// <summary>\n    /// Sets the symbolic name of the field. A symbolic name for the field that can be used in auto-generated code. It should only be\n    /// specified if the Name cannot be used for this purpose. Only letters, digits or the underscore (‘_’) are permitted.\n    /// This value is not exposed in the OPC UA Address Space\n    /// </summary>\n    /// <value>The symbolic name to be used by the tool.</value>\n    public string SymbolicName { set { } }\n    /// <summary>\n    /// Adds the description for the field in multiple locales\n    /// </summary>\n    /// <param name=\"localeField\">The locale field specified as a string that is composed of a language component and a country/region component as specified by RFC 3066.</param>\n    /// <param name=\"valueField\">The localized text.</param>\n    public void AddDescription(string localeField, string valueField) { }\n    /// <summary>\n    /// Adds the display name.\n    /// </summary>\n    /// <param name=\"localeField\">The locale field specified as a string that is composed of a language component and a country/region component as specified by RFC 3066.</param>\n    /// <param name=\"valueField\">The localized text.</param>\n    public void AddDisplayName(string localeField, string valueField) { }\n    /// <summary>\n    /// Creates new instance of <see cref=\"IDataTypeDefinitionFactory\"/>.\n    /// </summary>\n    /// <returns>IDataTypeDefinitionFactory.</returns>\n    public IDataTypeDefinitionFactory NewDataTypeDefinitionFactory() { return new DataTypeDefinitionFactoryBase(); }\n    /// <summary>\n    /// Gets the array dimensions.\n    /// </summary>\n    /// <value>The array dimensions.</value>\n    /// <remarks>The maximum length of an array. This field is a comma separated list of unsigned integer values.The list has a number of elements equal to the ValueRank.\n    /// The value is 0 if the maximum is not known for a dimension. This field is not specified if the ValueRank less or equal 0.\n    /// This field is not specified for subtypes of Enumeration or for DataTypes</remarks>\n    public string ArrayDimensions { set { } }\n    /// <summary>\n    /// Sets the maximum length of the string.\n    /// </summary>\n    /// <value>The maximum length of the string.</value>\n    /// <remarks>The maximum length of a String or ByteString value. If not known the value is 0. The value is 0 if the DataType is not String or ByteString.\n    /// If the ValueRank &gt; 0 the maximum applies to each element in the array. This field is not specified for subtypes of Enumeration or for DataTypes with\n    /// the OptionSetValues Property.</remarks>\n    public uint MaxStringLength { set { } }\n    /// <summary>\n    /// Sets a value indicating whether this instance is optional.\n    /// </summary>\n    /// <value><c>true</c> if this instance is optional; otherwise, <c>false</c>.</value>\n    /// <remarks>The field indicates if a data type field in a structure is optional. This field is optional.The default value is false. This field is not specified for subtypes of Enumeration and Union.</remarks>\n    public bool IsOptional { set { } }\n\n  }\n}\n"
  },
  {
    "path": "SemanticData/UANodeSetValidation/InformationModelFactory/InformationModelFactoryBase.cs",
    "content": "﻿//__________________________________________________________________________________________________\n//\n//  Copyright (C) 2022, Mariusz Postol LODZ POLAND.\n//\n//  To be in touch join the community at GitHub: https://github.com/mpostol/OPC-UA-OOI/discussions\n//__________________________________________________________________________________________________\n\nusing System;\nusing UAOOI.SemanticData.InformationModelFactory;\n\nnamespace UAOOI.SemanticData.UANodeSetValidation.InformationModelFactory\n{\n  /// <summary>\n  /// Class InformationModelFactoryBase.\n  /// Implements the <see cref=\"UAOOI.SemanticData.UANodeSetValidation.InformationModelFactory.NodesContainer\" />\n  /// Implements the <see cref=\"UAOOI.SemanticData.InformationModelFactory.IModelFactory\" />\n  /// </summary>\n  /// <seealso cref=\"UAOOI.SemanticData.UANodeSetValidation.InformationModelFactory.NodesContainer\" />\n  /// <seealso cref=\"UAOOI.SemanticData.InformationModelFactory.IModelFactory\" />\n  internal class InformationModelFactoryBase : NodesContainer, IModelFactory\n  {\n    /// <summary>\n    /// Creates the namespace description for the provided <see cref=\"Uri\"/>.\n    /// </summary>\n    /// <param name=\"uri\">The <see cref=\"Uri\"/>.</param>\n    /// <param name=\"publicationDate\">The publication <seealso cref=\"DateTime\"/>- when the model was published. This value is used for comparisons if the Model is defined in multiple files.</param>\n    /// <param name=\"version\">The <seealso cref=\"Version\"/> of the model. This is a human readable string and not intended for programmatic comparisons.</param>\n    /// <remarks>The set of objects that the OPC Unified Architecture server makes available to clients is referred to as its Address Space. The namespace is provided to make the BrowseName unique in the Address Space.</remarks>\n    public void CreateNamespace(Uri uri, DateTime? publicationDate, Version version)\n    { }\n  }\n}"
  },
  {
    "path": "SemanticData/UANodeSetValidation/InformationModelFactory/InstanceFactoryBase.cs",
    "content": "﻿//___________________________________________________________________________________\n//\n//  Copyright (C) 2019, Mariusz Postol LODZ POLAND.\n//\n//  To be in touch join the community at GITTER: https://gitter.im/mpostol/OPC-UA-OOI\n//___________________________________________________________________________________\n\nusing UAOOI.SemanticData.InformationModelFactory;\n\nnamespace UAOOI.SemanticData.UANodeSetValidation.InformationModelFactory\n{\n  /// <summary>\n  /// Class InstanceFactoryBase.\n  /// Implements the <see cref=\"UAOOI.SemanticData.UANodeSetValidation.InformationModelFactory.NodeFactoryBase\" />\n  /// Implements the <see cref=\"UAOOI.SemanticData.InformationModelFactory.IInstanceFactory\" />\n  /// </summary>\n  /// <seealso cref=\"UAOOI.SemanticData.UANodeSetValidation.InformationModelFactory.NodeFactoryBase\" />\n  /// <seealso cref=\"UAOOI.SemanticData.InformationModelFactory.IInstanceFactory\" />\n  internal class InstanceFactoryBase : NodeFactoryBase, IInstanceFactory\n  {\n    /// <summary>\n    /// Sets the modeling rule, which defines whether the component of a complex type are instantiated.\n    /// This value is defined by processing the object pointed by the HasModelingRule reference.\n    /// </summary>\n    /// <value>The modeling rule.</value>\n    public ModelingRules? ModelingRule\n    {\n      set { }\n    }\n    /// <summary>\n    /// Sets the type definition.\n    /// </summary>\n    /// <value>The type definition.</value>\n    public System.Xml.XmlQualifiedName TypeDefinition\n    {\n      set { }\n    }\n    /// <summary>\n    /// Sets the type of the reference if it is component of a complex definition.\n    /// </summary>\n    /// <value>The type of the reference used for parent child relationship.</value>\n    public System.Xml.XmlQualifiedName ReferenceType\n    {\n      set { }\n    }\n  }\n}\n"
  },
  {
    "path": "SemanticData/UANodeSetValidation/InformationModelFactory/MethodInstanceFactoryBase.cs",
    "content": "﻿//___________________________________________________________________________________\n//\n//  Copyright (C) 2019, Mariusz Postol LODZ POLAND.\n//\n//  To be in touch join the community at GITTER: https://gitter.im/mpostol/OPC-UA-OOI\n//___________________________________________________________________________________\n\nusing System;\nusing System.Collections.Generic;\nusing System.Xml;\nusing UAOOI.SemanticData.InformationModelFactory;\nusing UAOOI.SemanticData.UANodeSetValidation.UAInformationModel;\n\nnamespace UAOOI.SemanticData.UANodeSetValidation.InformationModelFactory\n{\n  /// <summary>\n  /// Class MethodInstanceFactoryBase - basic implementation of the <see cref=\"IMethodInstanceFactory\"/>.\n  /// </summary>\n  internal class MethodInstanceFactoryBase : InstanceFactoryBase, IMethodInstanceFactory\n  {\n\n    #region IMethodInstanceFactory\n    /// <summary>\n    /// Sets a value indicating whether the Method node is executable (“False” means not executable, “True” means executable), not taking user access rights into account.\n    /// If the server cannot get the executable information from the underlying system, it should state that it is executable. If a Method is called, the server should transfer\n    /// this request and return the corresponding StatusCode if such a request is rejected.\n    /// </summary>\n    /// <value><c>true</c> if executable; otherwise, <c>false</c>. Default value is <c>true</c></value>\n    public bool? Executable\n    {\n      set { }\n    }\n    /// <summary>\n    /// Sets a value indicating whether the Method is currently executable taking user access rights into account (“False” means not executable, “True” means executable).\n    /// </summary>\n    /// <value><c>true</c> if executable by current user; otherwise, <c>false</c>. Default value is <c>true</c></value>\n    public bool? UserExecutable { set { } }\n    /// <summary>\n    /// Gets or sets the method declaration identifier defined in Part 6  F.9. May be specified for Method Nodes that are a target of a HasComponent reference from a single Object Node.\n    /// It is the NodeId of the UAMethod with the same BrowseName contained in the TypeDefinition associated with the Object Node.\n    /// If the TypeDefinition overrides a Method inherited from a base ObjectType then this attribute shall reference the Method Node in the subtype.\n    /// </summary>\n    /// <value>The method declaration identifier.</value>\n    public string MethodDeclarationId { set { } }\n    /// <summary>\n    /// Adds the input arguments. The InputArgument specify the input argument of the Method. The Method contains an array of the Argument data type.\n    /// An empty array indicates that there are no input arguments for the Method.\n    /// </summary>\n    /// <param name=\"argument\">Encapsulates a method used to convert Argument represented as <see cref=\"XmlElement\" />.</param>\n    public void AddInputArguments(System.Func<XmlElement, Parameter[]> argument)\n    {\n      RemoveArguments(BrowseNames.InputArguments, argument);\n    }\n    /// <summary>\n    /// Adds the output argument. The OutputArgument specifies the output argument of the Method. The Method contains an array of the Argument data type.\n    /// An empty array indicates that there are no output arguments for the Method.\n    /// </summary>\n    /// <param name=\"argument\">Encapsulates a method used to convert Argument represented as <see cref=\"XmlElement\" />.</param>\n    public void AddOutputArguments(System.Func<XmlElement, Parameter[]> argument)\n    {\n      RemoveArguments(BrowseNames.OutputArguments, argument);\n    }\n    /// <summary>\n    /// Adds the argument description.\n    /// </summary>\n    /// <param name=\"name\">The name.</param>\n    /// <param name=\"locale\">The locale.</param>\n    /// <param name=\"value\">The value.</param>\n    public void AddArgumentDescription(string name, string locale, string value) { }\n    #endregion\n\n    private Parameter[] RemoveArguments(string parameterKind, Func<XmlElement, Parameter[]> getParameters)\n    {\n      Parameter[] _parameters = null;\n      List<NodeFactoryBase> _newChildrenCollection = new List<NodeFactoryBase>();\n      foreach (NodeFactoryBase _item in m_Nodes)\n      {\n        if (_item.SymbolicName.Equals(new XmlQualifiedName(parameterKind, Namespaces.OpcUa)))\n        {\n          PropertyInstanceFactoryBase _arg = (PropertyInstanceFactoryBase)_item;\n          _parameters = getParameters(_arg.DefaultValue);\n        }\n        else\n          _newChildrenCollection.Add(_item);\n      }\n      m_Nodes = _newChildrenCollection;\n      return _parameters;\n    }\n\n  }\n}\n"
  },
  {
    "path": "SemanticData/UANodeSetValidation/InformationModelFactory/NodeFactoryBase.cs",
    "content": "﻿//___________________________________________________________________________________\n//\n//  Copyright (C) 2019, Mariusz Postol LODZ POLAND.\n//\n//  To be in touch join the community at GITTER: https://gitter.im/mpostol/OPC-UA-OOI\n//___________________________________________________________________________________\n\nusing System.Collections.Generic;\nusing System.Xml;\nusing UAOOI.SemanticData.InformationModelFactory;\nusing UAOOI.SemanticData.InformationModelFactory.UAConstants;\n\nnamespace UAOOI.SemanticData.UANodeSetValidation.InformationModelFactory\n{\n  /// <summary>\n  /// Class NodeFactoryBase.\n  /// Implements the <see cref=\"UAOOI.SemanticData.UANodeSetValidation.InformationModelFactory.NodesContainer\" />\n  /// Implements the <see cref=\"UAOOI.SemanticData.InformationModelFactory.INodeFactory\" />\n  /// </summary>\n  /// <seealso cref=\"UAOOI.SemanticData.UANodeSetValidation.InformationModelFactory.NodesContainer\" />\n  /// <seealso cref=\"UAOOI.SemanticData.InformationModelFactory.INodeFactory\" />\n  internal class NodeFactoryBase : NodesContainer, INodeFactory\n  {\n\n    /// <summary>\n    /// It holds the value of the BrowseName attribute of modes in the Address Space.\n    /// </summary>\n    /// <value>The BrowseName of the node.</value>\n    public string BrowseName\n    {\n      set { }\n    }\n    /// <summary>\n    /// Add new reference to the references collection of the node. This collection represents all the references defined by the selected Information Model including\n    /// references to the instance declarations nodes. The References list specifies references that must be created for the node during Address Space instantiation.\n    /// The reference can be forward or inverse.\n    /// </summary>\n    /// <returns>IReferenceFactory.</returns>\n    public IReferenceFactory NewReference()\n    {\n      ReferenceFactoryBase _ret = new ReferenceFactoryBase();\n      m_References.Add(_ret);\n      return _ret;\n    }\n    /// <summary>\n    /// Sets the a symbolic name for the node that can be used as a class/field name by a design tools to enhance auto-generated code.\n    /// It should only be specified if the BrowseName cannot be used for this purpose. This field is not used directly to instantiate\n    /// Address Space and is intended for use by design tools. Only letters, digits or the underscore (‘_’) are permitted.\n    /// This attribute is not exposed in the Address Space.\n    /// </summary>\n    /// <value>The symbolic name for the node.</value>\n    public XmlQualifiedName SymbolicName\n    {\n      set;\n      internal get;\n    }\n    /// <summary>\n    /// Sets the write mask. The optional WriteMask attribute represents the WriteMask attribute of the Basic NodeClass, which exposes the possibilities of a client\n    /// to write the attributes of the node. The WriteMask attribute does not take any user access rights into account, that is, although an attribute is writable\n    /// this may be restricted to a certain user/user group.\n    /// </summary>\n    /// <value>The write access.</value>\n    /// <remarks>Default Value \"0\"</remarks>\n    public uint WriteAccess { set { } }\n    /// <summary>\n    /// Sets the access restrictions.\n    /// </summary>\n    /// <value>The access restrictions.</value>\n    /// <remarks>The AccessRestrictions that apply to the Node.</remarks>\n    public AccessRestrictions AccessRestrictions { set { } }\n    /// <summary>\n    /// Sets the release status of the node.\n    /// </summary>\n    /// <value>The release status.</value>\n    /// <remarks>It is not exposed in the address space.\n    /// Added in the Rel 1.04 to the specification.</remarks>\n    public ReleaseStatus ReleaseStatus { set { } }\n    /// <summary>\n    /// Sets the data type purpose.\n    /// </summary>\n    /// <value>The data type purpose.</value>\n    /// <remarks>Not defined in the specification Part 2, 5, 6 and Errata Release 1.04.2 September 25, 2018</remarks>\n    public DataTypePurpose DataTypePurpose { set { } }\n    /// <summary>\n    /// Sets the category. A list of identifiers used to group related UANodes together for use by tools that create/edit UANodeSet files.\n    /// </summary>\n    /// <value>The category.</value>\n    /// <exception cref=\"System.NotImplementedException\"></exception>\n    public string[] Category { set { } }\n    /// <summary>\n    /// Adds new value for the Description. The optional Description element shall explain the meaning of the node in a localized text using the same mechanisms\n    /// for localization as described for the DisplayName.\n    /// </summary>\n    /// <param name=\"localeField\">The locale field.</param>\n    /// <param name=\"valueField\">The value field.</param>\n    public void AddDescription(string localeField, string valueField) { }\n    /// <summary>\n    /// Adds new value for the DisplayName. The DisplayName attribute contains the localized name of the node.\n    /// Clients should use this attribute if they want to display the name of the node to the user. They should not use\n    /// the BrowseName for this purpose. The server may maintain one or more localized representations for each DisplayName.\n    /// Clients negotiate the locale to be returned when they open a session with the server. The section DisplayName defines the structure of the DisplayName.\n    /// The string part of the DisplayName is restricted to 512 characters.\n    /// </summary>\n    /// <param name=\"localeField\">The locale field.</param>\n    /// <param name=\"valueField\">The value field.</param>\n    public void AddDisplayName(string localeField, string valueField) { }\n\n    protected List<ReferenceFactoryBase> m_References = new List<ReferenceFactoryBase>();\n  }\n}\n"
  },
  {
    "path": "SemanticData/UANodeSetValidation/InformationModelFactory/NodesContainer.cs",
    "content": "﻿//___________________________________________________________________________________\n//\n//  Copyright (C) 2021, Mariusz Postol LODZ POLAND.\n//\n//  To be in touch join the community at GITTER: https://gitter.im/mpostol/OPC-UA-OOI\n//___________________________________________________________________________________\n\nusing System;\nusing System.Collections.Generic;\nusing UAOOI.SemanticData.InformationModelFactory;\n\nnamespace UAOOI.SemanticData.UANodeSetValidation.InformationModelFactory\n{\n  /// <summary>\n  /// Class NodesContainer.\n  /// Implements the <see cref=\"UAOOI.SemanticData.InformationModelFactory.INodeContainer\" />\n  /// </summary>\n  /// <seealso cref=\"UAOOI.SemanticData.InformationModelFactory.INodeContainer\" />\n  internal abstract class NodesContainer : INodeContainer\n  {\n    /// <summary>\n    /// Creates and adds a new node instance of the <see cref=\"T:UAOOI.SemanticData.InformationModelFactory.INodeFactory\" />.\n    /// </summary>\n    /// <typeparam name=\"NodeFactory\">The type of the node factory must inherit from <see cref=\"T:UAOOI.SemanticData.InformationModelFactory.INodeFactory\" />.</typeparam>\n    /// <returns>Returns new object implementing <see cref=\"T:UAOOI.SemanticData.InformationModelFactory.INodeFactory\" />.</returns>\n    /// <exception cref=\"NotImplementedException\"></exception>\n    public NodeFactory AddNodeFactory<NodeFactory>() where NodeFactory : INodeFactory\n    {\n      NodeFactoryBase _df = null;\n      if (typeof(NodeFactory) == typeof(IReferenceTypeFactory))\n        _df = new ReferenceTypeFactoryBase();\n      else if (typeof(NodeFactory) == typeof(IObjectTypeFactory))\n        _df = new ObjectTypeFactoryBase();\n      else if (typeof(NodeFactory) == typeof(IVariableTypeFactory))\n        _df = new VariableTypeFactoryBase();\n      else if (typeof(NodeFactory) == typeof(IDataTypeFactory))\n        _df = new DataTypeFactoryBase();\n      else if (typeof(NodeFactory) == typeof(IObjectInstanceFactory))\n        _df = new ObjectInstanceFactoryBase();\n      else if (typeof(NodeFactory) == typeof(IPropertyInstanceFactory))\n        _df = new PropertyInstanceFactoryBase();\n      else if (typeof(NodeFactory) == typeof(IVariableInstanceFactory))\n        _df = new VariableInstanceFactoryBase();\n      else if (typeof(NodeFactory) == typeof(IMethodInstanceFactory))\n        _df = new MethodInstanceFactoryBase();\n      else if (typeof(NodeFactory) == typeof(IViewInstanceFactory))\n        _df = new ViewInstanceFactoryBase();\n      else\n        throw new NotImplementedException();\n      m_Nodes.Add(_df);\n      return (NodeFactory)(INodeFactory)_df;\n    }\n\n    protected List<NodeFactoryBase> m_Nodes = new List<NodeFactoryBase>();\n  }\n}"
  },
  {
    "path": "SemanticData/UANodeSetValidation/InformationModelFactory/ObjectInstanceFactoryBase.cs",
    "content": "﻿//___________________________________________________________________________________\n//\n//  Copyright (C) 2019, Mariusz Postol LODZ POLAND.\n//\n//  To be in touch join the community at GITTER: https://gitter.im/mpostol/OPC-UA-OOI\n//___________________________________________________________________________________\n\nusing UAOOI.SemanticData.InformationModelFactory;\n\nnamespace UAOOI.SemanticData.UANodeSetValidation.InformationModelFactory\n{\n  /// <summary>\n  /// Class ObjectInstanceFactoryBase.\n  /// Implements the <see cref=\"UAOOI.SemanticData.UANodeSetValidation.InformationModelFactory.InstanceFactoryBase\" />\n  /// Implements the <see cref=\"UAOOI.SemanticData.InformationModelFactory.IObjectInstanceFactory\" />\n  /// </summary>\n  /// <seealso cref=\"UAOOI.SemanticData.UANodeSetValidation.InformationModelFactory.InstanceFactoryBase\" />\n  /// <seealso cref=\"UAOOI.SemanticData.InformationModelFactory.IObjectInstanceFactory\" />\n  internal class ObjectInstanceFactoryBase : InstanceFactoryBase, IObjectInstanceFactory\n  {\n\n    /// <summary>\n    /// Sets a value indicating whether the node supports events.\n    /// </summary>\n    /// <value><c>null</c> if supports events contains no value, <c>true</c> if [supports events]; otherwise, <c>false</c>.</value>\n    public bool? SupportsEvents\n    {\n      set { }\n    }\n\n  }\n}\n"
  },
  {
    "path": "SemanticData/UANodeSetValidation/InformationModelFactory/ObjectTypeFactoryBase.cs",
    "content": "﻿//___________________________________________________________________________________\n//\n//  Copyright (C) 2019, Mariusz Postol LODZ POLAND.\n//\n//  To be in touch join the community at GITTER: https://gitter.im/mpostol/OPC-UA-OOI\n//___________________________________________________________________________________\n\nusing UAOOI.SemanticData.InformationModelFactory;\n\nnamespace UAOOI.SemanticData.UANodeSetValidation.InformationModelFactory\n{\n\n  /// <summary>\n  /// Class ObjectTypeFactoryBase.\n  /// Implements the <see cref=\"UAOOI.SemanticData.UANodeSetValidation.InformationModelFactory.TypeFactoryBase\" />\n  /// Implements the <see cref=\"UAOOI.SemanticData.InformationModelFactory.IObjectTypeFactory\" />\n  /// </summary>\n  /// <seealso cref=\"UAOOI.SemanticData.UANodeSetValidation.InformationModelFactory.TypeFactoryBase\" />\n  /// <seealso cref=\"UAOOI.SemanticData.InformationModelFactory.IObjectTypeFactory\" />\n  internal class ObjectTypeFactoryBase : TypeFactoryBase, IObjectTypeFactory { }\n\n}\n"
  },
  {
    "path": "SemanticData/UANodeSetValidation/InformationModelFactory/PropertyInstanceFactoryBase.cs",
    "content": "﻿//___________________________________________________________________________________\n//\n//  Copyright (C) 2019, Mariusz Postol LODZ POLAND.\n//\n//  To be in touch join the community at GITTER: https://gitter.im/mpostol/OPC-UA-OOI\n//___________________________________________________________________________________\n\nusing UAOOI.SemanticData.InformationModelFactory;\n\nnamespace UAOOI.SemanticData.UANodeSetValidation.InformationModelFactory\n{\n\n  /// <summary>\n  /// Class PropertyInstanceFactoryBase.\n  /// Implements the <see cref=\"UAOOI.SemanticData.UANodeSetValidation.InformationModelFactory.VariableInstanceFactoryBase\" />\n  /// Implements the <see cref=\"UAOOI.SemanticData.InformationModelFactory.IPropertyInstanceFactory\" />\n  /// </summary>\n  /// <seealso cref=\"UAOOI.SemanticData.UANodeSetValidation.InformationModelFactory.VariableInstanceFactoryBase\" />\n  /// <seealso cref=\"UAOOI.SemanticData.InformationModelFactory.IPropertyInstanceFactory\" />\n  internal class PropertyInstanceFactoryBase : VariableInstanceFactoryBase, IPropertyInstanceFactory { }\n\n}\n"
  },
  {
    "path": "SemanticData/UANodeSetValidation/InformationModelFactory/ReferenceFactoryBase.cs",
    "content": "﻿//___________________________________________________________________________________\n//\n//  Copyright (C) 2019, Mariusz Postol LODZ POLAND.\n//\n//  To be in touch join the community at GITTER: https://gitter.im/mpostol/OPC-UA-OOI\n//___________________________________________________________________________________\n\nusing System.Xml;\nusing UAOOI.SemanticData.InformationModelFactory;\n\nnamespace UAOOI.SemanticData.UANodeSetValidation.InformationModelFactory\n{\n  /// <summary>\n  /// Class ReferenceFactoryBase.\n  /// Implements the <see cref=\"UAOOI.SemanticData.InformationModelFactory.IReferenceFactory\" />\n  /// </summary>\n  /// <seealso cref=\"UAOOI.SemanticData.InformationModelFactory.IReferenceFactory\" />\n  internal class ReferenceFactoryBase : IReferenceFactory\n  {\n\n    /// <summary>\n    /// Sets the type of the reference.\n    /// </summary>\n    /// <value>The type of the reference.</value>\n    public XmlQualifiedName ReferenceType\n    {\n      set { }\n    }\n    /// <summary>\n    /// Sets the target identifier.\n    /// </summary>\n    /// <value>The target identifier.</value>\n    public XmlQualifiedName TargetId\n    {\n      set { }\n    }\n    /// <summary>\n    /// Sets a value indicating whether this instance is inverse.\n    /// </summary>\n    /// <value><c>true</c> if this instance is inverse; otherwise, <c>false</c>.</value>\n    public bool IsInverse\n    {\n      set { }\n    }\n\n  }\n}\n"
  },
  {
    "path": "SemanticData/UANodeSetValidation/InformationModelFactory/ReferenceTypeFactoryBase.cs",
    "content": "﻿//___________________________________________________________________________________\n//\n//  Copyright (C) 2019, Mariusz Postol LODZ POLAND.\n//\n//  To be in touch join the community at GITTER: https://gitter.im/mpostol/OPC-UA-OOI\n//___________________________________________________________________________________\n\nusing UAOOI.SemanticData.InformationModelFactory;\n\nnamespace UAOOI.SemanticData.UANodeSetValidation.InformationModelFactory\n{\n\n  /// <summary>\n  /// Class ReferenceTypeFactoryBase.\n  /// Implements the <see cref=\"UAOOI.SemanticData.UANodeSetValidation.InformationModelFactory.TypeFactoryBase\" />\n  /// Implements the <see cref=\"UAOOI.SemanticData.InformationModelFactory.IReferenceTypeFactory\" />\n  /// </summary>\n  /// <seealso cref=\"UAOOI.SemanticData.UANodeSetValidation.InformationModelFactory.TypeFactoryBase\" />\n  /// <seealso cref=\"UAOOI.SemanticData.InformationModelFactory.IReferenceTypeFactory\" />\n  internal class ReferenceTypeFactoryBase : TypeFactoryBase, IReferenceTypeFactory\n  {\n\n    /// <summary>\n    /// Sets a value indicating whether this <see cref=\"T:UAOOI.SemanticData.InformationModelFactory.IReferenceTypeFactory\" /> is symmetric. The Symmetric attribute is used to indicate whether or not the meaning of the reference type is the same for both the source and target nodes.\n    /// If a reference type is symmetric, the InverseName attribute shall be omitted.Examples of symmetric reference types are “Connects To” and “Communicates With”. Both imply the same semantic coming from the source node or the target node.\n    /// If the ReferenceType is non-symmetric and not abstract, the InverseName attribute shall be set. The optional InverseName attribute of LocalizedText ia a inverse name of the reference,\n    /// i.e.the meaning of the type as seen from the target node. Examples of non-symmetric reference types include “Contains” and “Contained In”, and “Receives From” and “Sends To”.\n    /// </summary>\n    /// <value><c>true</c> if symmetric; otherwise, <c>false</c>.</value>\n    /// <remarks>Default Value is <b>false</b></remarks>\n    public bool Symmetric\n    {\n      set { }\n    }\n    /// <summary>\n    /// Adds a new inverse name.\n    /// </summary>\n    /// <param name=\"localeField\">The locale field.</param>\n    /// <param name=\"valueField\">The value field.</param>\n    public void AddInverseName(string localeField, string valueField) { }\n\n  }\n\n}\n"
  },
  {
    "path": "SemanticData/UANodeSetValidation/InformationModelFactory/TypeFactoryBase.cs",
    "content": "﻿//___________________________________________________________________________________\n//\n//  Copyright (C) 2019, Mariusz Postol LODZ POLAND.\n//\n//  To be in touch join the community at GITTER: https://gitter.im/mpostol/OPC-UA-OOI\n//___________________________________________________________________________________\n\nusing System.Xml;\nusing UAOOI.SemanticData.InformationModelFactory;\n\nnamespace UAOOI.SemanticData.UANodeSetValidation.InformationModelFactory\n{\n\n  /// <summary>\n  /// Class TypeFactoryBase.\n  /// Implements the <see cref=\"UAOOI.SemanticData.UANodeSetValidation.InformationModelFactory.NodeFactoryBase\" />\n  /// Implements the <see cref=\"UAOOI.SemanticData.InformationModelFactory.ITypeFactory\" />\n  /// </summary>\n  /// <seealso cref=\"UAOOI.SemanticData.UANodeSetValidation.InformationModelFactory.NodeFactoryBase\" />\n  /// <seealso cref=\"UAOOI.SemanticData.InformationModelFactory.ITypeFactory\" />\n  internal class TypeFactoryBase : NodeFactoryBase, ITypeFactory\n  {\n\n    /// <summary>\n    /// Sets the base type of the node.\n    /// </summary>\n    /// <value>The base type represented by the <see cref=\"T:System.Xml.XmlQualifiedName\" />.</value>\n    public XmlQualifiedName BaseType\n    {\n      set { }\n    }\n    /// <summary>\n    /// Sets a value indicating whether this instance is abstract.\n    /// </summary>\n    /// <value><c>true</c> if this instance is abstract; otherwise, <c>false</c>.</value>\n    /// <remarks>Default Value is false</remarks>\n    public bool IsAbstract\n    {\n      set { }\n    }\n\n  }\n}\n"
  },
  {
    "path": "SemanticData/UANodeSetValidation/InformationModelFactory/VariableInstanceFactoryBase.cs",
    "content": "﻿//___________________________________________________________________________________\n//\n//  Copyright (C) 2019, Mariusz Postol LODZ POLAND.\n//\n//  To be in touch join the community at GITTER: https://gitter.im/mpostol/OPC-UA-OOI\n//___________________________________________________________________________________\n\nusing System.Xml;\nusing UAOOI.SemanticData.InformationModelFactory;\n\nnamespace UAOOI.SemanticData.UANodeSetValidation.InformationModelFactory\n{\n\n  /// <summary>\n  /// Class VariableInstanceFactoryBase.\n  /// Implements the <see cref=\"UAOOI.SemanticData.UANodeSetValidation.InformationModelFactory.InstanceFactoryBase\" />\n  /// Implements the <see cref=\"UAOOI.SemanticData.InformationModelFactory.IVariableInstanceFactory\" />\n  /// </summary>\n  /// <seealso cref=\"UAOOI.SemanticData.UANodeSetValidation.InformationModelFactory.InstanceFactoryBase\" />\n  /// <seealso cref=\"UAOOI.SemanticData.InformationModelFactory.IVariableInstanceFactory\" />\n  internal class VariableInstanceFactoryBase : InstanceFactoryBase, IVariableInstanceFactory\n  {\n\n    /// <summary>\n    /// Sets the access level. The AccessLevel attribute indicates the accessibility of the Value of a Variable node not taking user access rights into account and\n    /// applies only to a UAVariable element. The AccessLevel attribute is used to indicate how the Value of a Variable node can be accessed (read/write) and\n    /// if it contains current and/or historic data. The AccessLevel does not take any user access rights into account, i.e. although the Variable is writable this\n    /// may be restricted to a certain user / user group.\n    /// </summary>\n    /// <value>The access level.</value>\n    public uint? AccessLevel\n    {\n      set { }\n    }\n    /// <summary>\n    /// Sets the array dimensions. This property specifies the length of each dimension for an array value. It is intended to describe the capability of the Variable, not the current size.\n    /// The number of elements shall be equal to the value defined by the ValueRank. It shall be null if ValueRank ≤ 0. The value of 0 for an individual dimension indicates that the dimension has\n    /// a variable length. For example, if a Variable is defined by the following C array:\n    /// Int32 myArray[346];\n    /// then the DataType would point to an Int32, the ValueRank has the value 1 and the ArrayDimensions is an array with one entry having the value 346.\n    /// Note that the maximum length of an array transferred on the wire is 2147483647 (max Int32) and a multidimensional array is encoded as a one dimensional array.\n    /// </summary>\n    /// <value>The array dimensions.</value>\n    /// <remarks>ArrayDimensions is ignored if ValueRank is not equal to the OneOrMoreDimensions.</remarks>\n    public string ArrayDimensions\n    {\n      set { }\n    }\n    /// <summary>\n    /// Sets the type of the data. <see cref=\"T:System.Xml.XmlQualifiedName\" /> of the DataType definition for the Value. It is not required that the pointed out element is defined in the same document.\n    /// If that is the case many documents must be combined to resolve and validate this reference.\n    /// </summary>\n    /// <value>The type of the data.</value>\n    public XmlQualifiedName DataType\n    {\n      set { }\n    }\n    /// <summary>\n    /// Sets the default value. The value of the Variable node that the server assigns while instantiating the node. Its data type is defined by the DataType field.\n    /// </summary>\n    /// <value>The default value.</value>\n    public XmlElement DefaultValue\n    {\n      set;\n      internal get;\n    }\n    /// <summary>\n    /// Sets a value indicating whether this <see cref=\"T:UAOOI.SemanticData.InformationModelFactory.IVariableInstanceFactory\" /> is historizing. The Historizing attribute indicates whether the server is actively\n    /// collecting data for the history of the Variable node. This differs from the AccessLevel which identifies if the Variable has any historical data. A value of <c>true</c>\n    /// indicates that the server is actively collecting data. A value of <c>false</c> indicates that  the server is not actively collecting data. Default value is <c>false</c>.\n    /// </summary>\n    /// <value><c>true</c> if historizing; otherwise, <c>false</c>.</value>\n    public bool? Historizing\n    {\n      set { }\n    }\n    /// <summary>\n    /// Sets the minimum sampling interval. The MinimumSamplingInterval attribute indicates how “current” the Value of the Variable NodeClass will be kept.\n    /// It specifies (in milliseconds) how fast the server can reasonably sample the value for changes. The accuracy of this value (the ability of the server to attain\n    /// “best case” performance) can be greatly affected by the system load and other factors. A MinimumSamplingInterval of 0 indicates that the server is to monitor the\n    /// item continuously. A MinimumSamplingInterval of -1 means indeterminate value.\n    /// </summary>\n    /// <value>The minimum sampling interval.</value>\n    public int? MinimumSamplingInterval\n    {\n      set { }\n    }\n    /// <summary>\n    /// Sets the user access level. The UserAccessLevel attribute is used to indicate how the Value attribute of a Variable NodeClass can be accessed (read/write)\n    /// and if it contains current or historic data taking user access rights into account. It applies only to a UAVariable element. If the OPC UA Server does not\n    /// have the ability to get any user access rights related information from the underlying system it should use the same bit mask as used in the AccessLevel attribute.\n    /// The UserAccessLevel attribute can restrict the accessibility indicated by the AccessLevel, but not exceed it.\n    /// </summary>\n    /// <value>The user access level.</value>\n    public byte? UserAccessLevel\n    {\n      set { }\n    }\n    /// <summary>\n    /// Sets the value rank. This property indicates whether the value is an array and how many dimensions the array has.\n    /// It may have the following values:\n    /// - n &gt; 1: the Value is an array with the specified number of dimensions.\n    /// - <b>&gt;OneDimension (1)</b>: The value is an array with one dimension.\n    /// - OneOrMoreDimensions (0): The value is an array with one or more dimensions.\n    /// - Scalar (−1): The value is not an array.\n    /// - Any (−2): The value can be a scalar or an array with any number of dimensions.\n    /// - ScalarOrOneDimension (−3): The value can be a scalar or a one dimensional array.\n    /// NOTE: All build in DataTypes are considered to be scalar, even if they have array-like semantics like ByteString and String.\n    /// </summary>\n    /// <value>The value rank.</value>\n    public int? ValueRank\n    {\n      set { }\n    }\n\n  }\n}\n"
  },
  {
    "path": "SemanticData/UANodeSetValidation/InformationModelFactory/VariableTypeFactoryBase.cs",
    "content": "﻿//___________________________________________________________________________________\n//\n//  Copyright (C) 2019, Mariusz Postol LODZ POLAND.\n//\n//  To be in touch join the community at GITTER: https://gitter.im/mpostol/OPC-UA-OOI\n//___________________________________________________________________________________\n\nusing System;\nusing UAOOI.SemanticData.InformationModelFactory;\n\nnamespace UAOOI.SemanticData.UANodeSetValidation.InformationModelFactory\n{\n  /// <summary>\n  /// Class VariableTypeFactoryBase.\n  /// Implements the <see cref=\"UAOOI.SemanticData.UANodeSetValidation.InformationModelFactory.TypeFactoryBase\" />\n  /// Implements the <see cref=\"UAOOI.SemanticData.InformationModelFactory.IVariableTypeFactory\" />\n  /// </summary>\n  /// <seealso cref=\"UAOOI.SemanticData.UANodeSetValidation.InformationModelFactory.TypeFactoryBase\" />\n  /// <seealso cref=\"UAOOI.SemanticData.InformationModelFactory.IVariableTypeFactory\" />\n  internal class VariableTypeFactoryBase : TypeFactoryBase, IVariableTypeFactory\n  {\n\n    /// <summary>\n    /// Sets the default value. The value of the Variable node that the server assigns while instantiating the node. Its data type is defined by the <see cref=\"P:UAOOI.SemanticData.InformationModelFactory.IDataDescriptor.DataType\" />.\n    /// </summary>\n    /// <value>The default value.</value>\n    public System.Xml.XmlElement DefaultValue\n    {\n      set { }\n    }\n    /// <summary>\n    /// Sets the type of the data. <see cref=\"T:System.Xml.XmlQualifiedName\" /> of the DataType definition for the Value. It is not required that the pointed out element is defined in the same document.\n    /// If that is the case many documents must be combined to resolve and validate this reference.\n    /// </summary>\n    /// <value>The type of the data.</value>\n    public System.Xml.XmlQualifiedName DataType\n    {\n      set { }\n    }\n    /// <summary>\n    /// Sets the value rank. This property indicates whether the value is an array and how many dimensions the array has.\n    /// It may have the following values:\n    /// - n &gt; 1: the Value is an array with the specified number of dimensions.\n    /// - <b>&gt;OneDimension (1)</b>: The value is an array with one dimension.\n    /// - OneOrMoreDimensions (0): The value is an array with one or more dimensions.\n    /// - Scalar (−1): The value is not an array.\n    /// - Any (−2): The value can be a scalar or an array with any number of dimensions.\n    /// - ScalarOrOneDimension (−3): The value can be a scalar or a one dimensional array.\n    /// NOTE: All build in DataTypes are considered to be scalar, even if they have array-like semantics like ByteString and String.\n    /// </summary>\n    /// <value>The value rank.</value>\n    public int? ValueRank\n    {\n      set { }\n    }\n    /// <summary>\n    /// Sets the array dimensions. This property specifies the length of each dimension for an array value. It is intended to describe the capability of the Variable, not the current size.\n    /// The number of elements shall be equal to the value defined by the ValueRank. It shall be null if ValueRank ≤ 0. The value of 0 for an individual dimension indicates that the dimension has\n    /// a variable length. For example, if a Variable is defined by the following C array:\n    /// Int32 myArray[346];\n    /// then the DataType would point to an Int32, the ValueRank has the value 1 and the ArrayDimensions is an array with one entry having the value 346.\n    /// Note that the maximum length of an array transferred on the wire is 2147483647 (max Int32) and a multidimensional array is encoded as a one dimensional array.\n    /// </summary>\n    /// <value>The array dimensions.</value>\n    /// <remarks>ArrayDimensions is ignored if ValueRank is not equal to the OneOrMoreDimensions.</remarks>\n    public string ArrayDimensions\n    {\n      set { }\n    }\n\n  }\n}\n"
  },
  {
    "path": "SemanticData/UANodeSetValidation/InformationModelFactory/ViewInstanceFactoryBase.cs",
    "content": "﻿//___________________________________________________________________________________\n//\n//  Copyright (C) 2019, Mariusz Postol LODZ POLAND.\n//\n//  To be in touch join the community at GITTER: https://gitter.im/mpostol/OPC-UA-OOI\n//___________________________________________________________________________________\n\nusing UAOOI.SemanticData.InformationModelFactory;\n\nnamespace UAOOI.SemanticData.UANodeSetValidation.InformationModelFactory\n{\n\n  /// <summary>\n  /// TODO Class ViewInstanceFactoryBase.\n  /// </summary>\n  internal class ViewInstanceFactoryBase : InstanceFactoryBase, IViewInstanceFactory\n  {\n\n    /// <summary>\n    /// Sets a value indicating whether the View NodeClass supports events.\n    /// </summary>\n    /// <value><c>null</c> if supports events contains no value, <c>true</c> if the view supports events; otherwise, <c>false</c>. Default value is <c>false</c></value>\n    public bool? SupportsEvents\n    {\n      set { }\n    }\n    /// <summary>\n    /// Sets a value indicating whether the Address Space represented by the View NodeClass contains no loops.\n    /// </summary>\n    /// <value><c>true</c> if the partial Address Space contains no loops; otherwise, <c>false</c>. Default value is <c>false</c></value>\n    public bool ContainsNoLoops\n    {\n      set { }\n    }\n\n  }\n}\n"
  },
  {
    "path": "SemanticData/UANodeSetValidation/NamespaceTable.cs",
    "content": "//__________________________________________________________________________________________________\n//\n//  Copyright (C) 2022, Mariusz Postol LODZ POLAND.\n//\n//  To be in touch join the community at GitHub: https://github.com/mpostol/OPC-UA-OOI/discussions\n//__________________________________________________________________________________________________\n\nusing System;\nusing System.Collections.Generic;\nusing UAOOI.SemanticData.AddressSpace.Abstractions;\nusing UAOOI.SemanticData.UANodeSetValidation.UAInformationModel;\n\nnamespace UAOOI.SemanticData.UANodeSetValidation\n{\n  /// <summary>\n  /// The table of URI entities for the Address Space. The <see cref=\"Namespaces.OpcUa\"/> namespace has index = 0.\n  /// </summary>\n  public class NamespaceTable : INamespaceTable\n  {\n    #region Constructors\n\n    /// <summary>\n    /// Creates the <see cref=\"NamespaceTable\"/> instance containing <see cref=\"Namespaces.OpcUa\"/> namespace.\n    /// </summary>\n    internal NamespaceTable()\n    {\n      Append(new Uri(Namespaces.OpcUa));\n    }\n\n    #endregion Constructors\n\n    #region INamespaceTable\n\n    /// <summary>\n    /// Searches for an index that matches the <paramref name=\"URI\" />, and returns the zero-based index of the first occurrence within the namespace table.\n    /// </summary>\n    /// <param name=\"URI\">The URI to search for in the namespace table.</param>\n    /// <returns>The zero-based index of the first occurrence of <paramref name=\"URI\" />, if found; otherwise, it is appended.</returns>\n    ushort INamespaceTable.GetURIIndexOrAppend(Uri URI)\n    {\n      int _index = GetURIIndex(URI);\n      if (_index == -1)\n        _index = Append(URI);\n      return (ushort)_index;\n    }\n\n    /// <summary>\n    /// Updates the model or append it to the existing collection\n    /// </summary>\n    /// <param name=\"model\">The model in concern.</param>\n    /// <exception cref=\"ArgumentNullException\">model - Model table entry must not be null</exception>\n    public void RegisterModel(IModelTableEntry model)\n    {\n      int index = GetURIIndex((model ?? throw new ArgumentNullException(\"model\", \"Model table entry must not be null\")).ModelUri);\n      if (index >= 0)\n        modelsList[index] = model;\n      else\n        modelsList.Add(model);\n    }\n\n    /// <summary>\n    /// Registers the dependency.\n    /// </summary>\n    /// <param name=\"model\">The model that is required.</param>\n    /// <exception cref=\"ArgumentNullException\">Model table entry must not be null</exception>\n    public void RegisterDependency(IModelTableEntry model)\n    {\n      int index = GetURIIndex((model ?? throw new ArgumentNullException(\"model\", \"Model table entry must not be null\")).ModelUri);\n      if (index == -1)\n        modelsList.Add(new ModelTableEntryFixture(model));\n    }\n\n    /// <summary>\n    /// Gets the model <see cref=\"Uri\" />.\n    /// </summary>\n    /// <param name=\"namespaceIndex\">Index of the namespace.</param>\n    /// <returns>An instance that captures <see cref=\"Uri\" /> of the requested model if already registered, otherwise, null.</returns>\n    public Uri GetModelTableEntry(ushort namespaceIndex)\n    {\n      if (namespaceIndex >= modelsList.Count)\n        return null;\n      return modelsList[namespaceIndex].ModelUri;\n    }\n\n    /// <summary>\n    /// Searches for an <paramref name=\"URI\" />, and returns the zero-based index of the first occurrence within the <see cref=\"INamespaceTable\" />.\n    /// </summary>\n    /// <param name=\"URI\">The URI.</param>\n    /// <returns>The zero-based index of the first occurrence of an <paramref name=\"URI\" />, if found; otherwise, 1.</returns>\n    public int GetURIIndex(Uri URI)\n    {\n      return modelsList.FindIndex(x => x.ModelUri == URI);\n    }\n\n    #endregion INamespaceTable\n\n    #region Public Members\n\n    internal IEnumerable<IModelTableEntry> Models => modelsList;\n\n    internal bool ValidateNamesapceTable(Action<Uri> add2UndefinedModelUriList)\n    {\n      if (modelsList.Count == 0)\n        return false;\n      bool returnValue = true;\n      foreach (IModelTableEntry item in modelsList)\n      {\n        if (item is ModelTableEntryFixture)\n        {\n          add2UndefinedModelUriList(item.ModelUri);\n          returnValue = false;\n        }\n      };\n      return returnValue;\n    }\n\n    #endregion Public Members\n\n    #region private\n\n    private class RolePermission : IRolePermission\n    {\n      public uint Permissions { get; set; }\n      public string Value { get; set; }\n    }\n\n    private class ModelTableEntryFixture : IModelTableEntry\n    {\n      public ModelTableEntryFixture(Uri URI)\n      {\n        ModelUri = URI;\n      }\n\n      public ModelTableEntryFixture(IModelTableEntry modelTableEntry)\n      {\n        AccessRestrictions = modelTableEntry.AccessRestrictions;\n        ModelUri = modelTableEntry.ModelUri;\n        PublicationDate = modelTableEntry.PublicationDate;\n        RequiredModel = modelTableEntry.RequiredModel;\n        RolePermissions = modelTableEntry.RolePermissions;\n        Version = modelTableEntry.Version;\n      }\n\n      #region IModelTableEntry\n\n      public byte AccessRestrictions { get; private set; } = 0xC;\n      public Uri ModelUri { get; private set; }\n      public DateTime? PublicationDate { get; private set; } = DateTime.UtcNow.Date;\n      public IModelTableEntry[] RequiredModel { get; private set; }\n      public IRolePermission[] RolePermissions { get; } = new RolePermission[] { new RolePermission() };\n      public Version Version { get; } = new Version();\n\n      #endregion IModelTableEntry\n    }\n\n    private List<IModelTableEntry> modelsList = new List<IModelTableEntry>();\n\n    private int Append(Uri URI)\n    {\n      int index = GetURIIndex(URI);\n      if (index == -1)\n      {\n        modelsList.Add(new ModelTableEntryFixture(URI));\n        index = modelsList.Count - 1;\n      }\n      return index;\n    }\n\n    #endregion private\n  }\n}"
  },
  {
    "path": "SemanticData/UANodeSetValidation/NodesCollection.cs",
    "content": "﻿//__________________________________________________________________________________________________\n//\n//  Copyright (C) 2022, Mariusz Postol LODZ POLAND.\n//\n//  To be in touch join the community at GitHub: https://github.com/mpostol/OPC-UA-OOI/discussions\n//__________________________________________________________________________________________________\n\nusing System.Collections.Generic;\nusing System.Linq;\n\nnamespace UAOOI.SemanticData.UANodeSetValidation\n{\n  /// <summary>\n  /// Class NodesCollection - manages a collection of nodes.\n  /// Implements the <see cref=\"Dictionary{String, IUANodeBase}\" />\n  /// </summary>\n  /// <seealso cref=\"Dictionary{String, IUANodeBase}\" />\n  internal class NodesCollection : Dictionary<string, IUANodeBase>\n  {\n    /// <summary>\n    /// Adds the {<paramref name=\"item\"/> to the collection. Replace existing if required.\n    /// </summary>\n    /// <param name=\"item\">The item to be added to the collection.</param>\n    /// <param name=\"replaceIfExist\">if set to <c>true</c> replace the existing entity in the collection</param>\n    internal void AddOrReplace(IUANodeBase item, bool replaceIfExist)\n    {\n      string _key = item.UANode.BrowseName.Name;\n      if (!this.ContainsKey(_key))\n      {\n        this.Add(_key, item); //add derived item\n        return;\n      }\n      if (replaceIfExist)\n        this[_key] = item; //replace by current item that overrides the base one\n    }\n\n    /// <summary>\n    /// Converts to list.\n    /// </summary>\n    /// <returns>returns an instance of <see cref=\"List{IUANodeBase}\"/></returns>\n    internal List<IUANodeBase> ToList()\n    {\n      return this.Values.ToList<IUANodeBase>();\n    }\n  }\n}"
  },
  {
    "path": "SemanticData/UANodeSetValidation/Properties/AssemblyInfo.cs",
    "content": "﻿//___________________________________________________________________________________\n//\n//  Copyright (C) 2019, Mariusz Postol LODZ POLAND.\n//\n//  To be in touch join the community at GITTER: https://gitter.im/mpostol/OPC-UA-OOI\n//___________________________________________________________________________________\n\nusing System.Reflection;\nusing System.Runtime.CompilerServices;\nusing System.Runtime.InteropServices;\n\n[assembly: AssemblyTrademark(\"Object Oriented Internet\")]\n[assembly: AssemblyCulture(\"\")]\n[assembly: ComVisible(false)]\n[assembly: InternalsVisibleToAttribute(\"UAOOI.SemanticData.UANodeSetValidation.UnitTests, PublicKey=00240000048000009400000006020000002400005253413100040000010001005b97a0972ff6b1\" +\n                                                                                                   \"3a8a9ff9c09503aea0e5e2fe29cb2275a0c0942182f4c3431814b6bc9a556d9fe0d7e7823439c1\" +\n                                                                                                   \"ba28521f6318e4c936c4461604ef668e9686c2021571b093e1bfba071b373bc56a07a3afdc120c\" +\n                                                                                                   \"5313d39a935cda64b759f857ebb3db483641444a5347e1564f8ba6d4fad2f968d3caf9991a4fa6\" +\n                                                                                                   \"aa019ebe\")]\n[assembly: InternalsVisibleTo(\"DynamicProxyGenAssembly2, PublicKey=0024000004800000940000000602000000240000525341310004000001000100c547cac37abd99c8db225ef2f6c8a3602f3b3606cc9891605d02baa56104f4cfc0734aa39b93bf7852f7d9266654753cc297e7d2edfe0bac1cdcf9f717241550e0a7b191195b7667bb4f64bcb8e2121380fd1d9d46ad2d92d2d15605093924cceaf74c4861eff62abf69b9291ed0a340e113be11e6a7d3113e92484cf7045cc7\")]\n[assembly: InternalsVisibleTo(\n  \"UAOOI.SemanticData.UAModelDesignExport.UnitTest, PublicKey=\" +\n    \"00240000048000009400000006020000002400005253413100040000010001005b97a0972ff6b13a\" +\n    \"8a9ff9c09503aea0e5e2fe29cb2275a0c0942182f4c3431814b6bc9a556d9fe0d7e7823439c1ba28\" +\n    \"521f6318e4c936c4461604ef668e9686c2021571b093e1bfba071b373bc56a07a3afdc120c5313d3\" +\n    \"9a935cda64b759f857ebb3db483641444a5347e1564f8ba6d4fad2f968d3caf9991a4fa6aa019ebe\"\n)]\n"
  },
  {
    "path": "SemanticData/UANodeSetValidation/Properties/UANodeSetValidation.Nuget.nuspec",
    "content": "﻿<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<package xmlns=\"http://schemas.microsoft.com/packaging/2012/06/nuspec.xsd\">\n  <metadata>\n    <id>UAOOI.SemanticData.UANodeSetValidation</id>\n    <version>\n      6.5.6-Oscar\n    </version>\n    <title>Semantic-Data UANodeSet Validation</title>\n    <authors>Mariusz Postol</authors>\n    <owners>Mariusz Postol</owners>\n    <requireLicenseAcceptance>false</requireLicenseAcceptance>\n    <license type=\"expression\">MIT</license>\n    <licenseUrl>https://licenses.nuget.org/MIT</licenseUrl>\n    <projectUrl>https://commsvr.gitbook.io/ooi/readme</projectUrl>\n    <icon>Logo64.PNG</icon>\n    <description>\n      This library supports validation of the OPC UA Address Space captured in the XML file against the OPC UA Specification. It is assumed that the Address Space is represented as an XML file compliant with the UANodeSet schema. This library is dedicated to creating a plug-in aimed at importing models based on the OPC UA Information Model. It is part of the project supporting Object-Oriented Internet paradigm.\n    </description>\n    <summary>\n      Object-Oriented Internet Semantic-Data UANodeSet Validation Library\n    </summary>    \n    <copyright>Copyright (C) 2022 Mariusz Postol LODZ POLAND</copyright>\n    <tags>Object Oriented Internet, OPC UA, Information Model, IoT, M2M, DOA,</tags>\n    <repository type=\"GitHub\" url=\"https://github.com/mpostol/OPC-UA-OOI\" />\n    <releaseNotes>Updated against OPC UA Rel 1.04</releaseNotes>\n    <copyright>Copyright (C) 2022 Mariusz Postol LODZ POLAND</copyright>\n    <dependencies>\n      <group targetFramework=\".NETStandard2.0\">\n        <dependency id=\"UAOOI.Common.Infrastructure\" version=\"6.4.1-Hotel\" exclude=\"Build,Analyzers\" />\n        <dependency id=\"UAOOI.SemanticData.BuildingErrorsHandling\" version=\"6.3.3-Golf\" exclude=\"Build,Analyzers\" />\n        <dependency id=\"UAOOI.SemanticData.InformationModelFactory\" version=\"5.1.0\" exclude=\"Build,Analyzers\" />\n      </group>\n    </dependencies>\n  </metadata>\n  <files>\n    <file src=\"..\\..\\..\\CommonResources\\Media\\Logo64.PNG\" target=\"Logo64.PNG\"/>\n    <file src=\"..\\bin\\Release\\netstandard2.0\\UAOOI.SemanticData.UANodeSetValidation.dll\" target=\"lib\\netstandard2.0\\UAOOI.SemanticData.UANodeSetValidation.dll\" />\n    <file src=\"..\\bin\\Release\\netstandard2.0\\UAOOI.SemanticData.UANodeSetValidation.xml\" target=\"lib\\netstandard2.0\\UAOOI.SemanticData.UANodeSetValidation.xml\" />\n  </files>\n</package>\n\n"
  },
  {
    "path": "SemanticData/UANodeSetValidation/Properties/UANodeSetValidation.Nuget.tt",
    "content": "﻿<#@ template debug=\"false\" hostspecific=\"false\" language=\"C#\" #>\n<#@ output extension=\".nuspec\" #>\n<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<package xmlns=\"http://schemas.microsoft.com/packaging/2012/06/nuspec.xsd\">\n  <metadata>\n    <id><#=m_AssemblyTitle#></id>\n    <version>\n      <#= SemanticDataUANodeSetValidationVersion #><#= SemanticDataUANodeSetValidationPrerelease #>\n    </version>\n    <title>Semantic-Data UANodeSet Validation</title>\n    <authors><#=Authors#></authors>\n    <owners><#=Owner#></owners>\n    <requireLicenseAcceptance>false</requireLicenseAcceptance>\n    <license type=\"expression\">MIT</license>\n    <licenseUrl>https://licenses.nuget.org/MIT</licenseUrl>\n    <projectUrl>https://commsvr.gitbook.io/ooi/readme</projectUrl>\n    <icon>Logo64.PNG</icon>\n    <description>\n      This library supports validation of the OPC UA Address Space captured in the XML file against the OPC UA Specification. It is assumed that the Address Space is represented as an XML file compliant with the UANodeSet schema. This library is dedicated to creating a plug-in aimed at importing models based on the OPC UA Information Model. It is part of the project supporting Object-Oriented Internet paradigm.\n    </description>\n    <summary>\n      Object-Oriented Internet Semantic-Data UANodeSet Validation Library\n    </summary>    \n    <copyright><#=AssemblyCopyright#></copyright>\n    <tags>Object Oriented Internet, OPC UA, Information Model, IoT, M2M, DOA,</tags>\n    <repository type=\"GitHub\" url=\"<#=Url#>\" />\n    <releaseNotes>Updated against OPC UA Rel 1.04</releaseNotes>\n    <copyright><#=AssemblyCopyright#></copyright>\n    <dependencies>\n      <group targetFramework=\".NETStandard2.0\">\n        <dependency id=\"UAOOI.Common.Infrastructure\" version=\"6.4.1-Hotel\" exclude=\"Build,Analyzers\" />\n        <dependency id=\"UAOOI.SemanticData.BuildingErrorsHandling\" version=\"6.3.3-Golf\" exclude=\"Build,Analyzers\" />\n        <dependency id=\"UAOOI.SemanticData.InformationModelFactory\" version=\"5.1.0\" exclude=\"Build,Analyzers\" />\n      </group>\n    </dependencies>\n  </metadata>\n  <files>\n    <file src=\"..\\..\\..\\CommonResources\\Media\\Logo64.PNG\" target=\"Logo64.PNG\"/>\n    <file src=\"..\\bin\\Release\\netstandard2.0\\UAOOI.SemanticData.UANodeSetValidation.dll\" target=\"lib\\netstandard2.0\\UAOOI.SemanticData.UANodeSetValidation.dll\" />\n    <file src=\"..\\bin\\Release\\netstandard2.0\\UAOOI.SemanticData.UANodeSetValidation.xml\" target=\"lib\\netstandard2.0\\UAOOI.SemanticData.UANodeSetValidation.xml\" />\n  </files>\n</package>\n\n<#@ include file = \"..\\..\\..\\CommonResources\\T4Definitions\\Model.t4\" #>\n<#+\nstring m_AssemblyTitle = \"UAOOI.SemanticData.UANodeSetValidation\";\n  #>"
  },
  {
    "path": "SemanticData/UANodeSetValidation/README.MD",
    "content": "# Address Space Management Implementation\n\nThis library project implements functionality of the `Address Space Management` domain model class described in the section [Semantic-Data Processing Architecture](../README.md). This library supports the following functionality:\n\n- creates `Address Space` instance populated using input XML NodeSet files, which conforms to the schema `UANodeSet` defined in Part 6 Annex F\n- validates consistency of the `Address Space` instance against the OPC UA specifications set 1.04\n- supports the OPC UA Information Model export, for example XML file compliant with the `ModelDesign` schema that is input format for the [UA-ModelCompiler][UA-ModelCompiler].\n\n> **Note**: The OPC Foundation Model Compiler generates C# and ANSI C source code from XML files which include the UA Services, data-types, error codes, etc.; and numerous CSV files that contain NodeIds, error codes, and attributes etc.\n\n## See also\n\n- [M.Postol, Address Space Interchange XML](https://www.researchgate.net/publication/334259707_OPC_UA_Address_Space_Interchange_XML); DOI: DOI: 10.13140/RG.2.2.12228.37768\n- [OPC Unified Architecture eBook](http://goo.gl/y4EHUn)\n\n[UA-ModelCompiler]:https://github.com/mpostol/UA-ModelCompiler\n"
  },
  {
    "path": "SemanticData/UANodeSetValidation/ReferenceKindEnum.cs",
    "content": "﻿//__________________________________________________________________________________________________\n//\n//  Copyright (C) 2022, Mariusz Postol LODZ POLAND.\n//\n//  To be in touch join the community at GitHub: https://github.com/mpostol/OPC-UA-OOI/discussions\n//__________________________________________________________________________________________________\n\nnamespace UAOOI.SemanticData.UANodeSetValidation\n{\n  /// <summary>\n  /// Enum ReferenceKindEnum\n  /// </summary>\n  internal enum ReferenceKindEnum\n  {\n    /// <summary>\n    /// The custom reference\n    /// </summary>\n    Custom,\n\n    /// <summary>\n    /// The HasComponent\n    /// </summary>\n    HasComponent,\n\n    /// <summary>\n    /// The HasModellingRule\n    /// </summary>\n    HasModellingRule,\n\n    /// <summary>\n    /// The HasTypeDefinition\n    /// </summary>\n    HasTypeDefinition,\n\n    /// <summary>\n    /// The HasSubtype\n    /// </summary>\n    HasSubtype,\n\n    /// <summary>\n    /// The HasProperty\n    /// </summary>\n    HasProperty\n  };\n}"
  },
  {
    "path": "SemanticData/UANodeSetValidation/SemanticData.UANodeSetValidation.csproj",
    "content": "﻿<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<Project Sdk=\"Microsoft.NET.Sdk\">\n\n  <PropertyGroup>\n    <TargetFramework>netstandard2.0</TargetFramework>\n    <AssemblyName>UAOOI.SemanticData.UANodeSetValidation</AssemblyName>\n    <RootNamespace>UAOOI.SemanticData.UANodeSetValidation</RootNamespace>\n    <SignAssembly>true</SignAssembly>\n    <AssemblyOriginatorKeyFile>OPCUAOOIKey.snk</AssemblyOriginatorKeyFile>\n    <PackageId>UAOOI.SemanticData.UANodeSetValidation</PackageId>\n    <Version>6.4.6</Version>\n    <Authors>MPostol</Authors>\n    <Product>commsvr.com</Product>\n    <Description>This project supports validation of the OPC UA Address Space captured in the xml file against the OPC UA Specyfication. It is assumed that the Address Space is represented as a XML file compliant with the UANodeSet schema.\nThis library is dedicated to create a plug-in aimed at importing models based on the OPC UA Information Model.\nIt is part of the project supporting OPC UA Object Oriented Internet paradigm.</Description>\n    <Copyright>Copyright (C) 2022 Mariusz Postol LODZ POLAND</Copyright>\n    <PackageLicenseExpression>MIT</PackageLicenseExpression>\n    <PackageProjectUrl>https://commsvr.gitbook.io/ooi/readme</PackageProjectUrl>\n    <RepositoryUrl>https://github.com/mpostol/OPC-UA-OOI</RepositoryUrl>\n    <RepositoryType>GitHub</RepositoryType>\n    <PackageTags>Object Oriented Internet, OPC UA, Information Model, IoT, M2M, DOA,</PackageTags>\n    <AssemblyVersion>6.5.0</AssemblyVersion>\n    <GeneratePackageOnBuild>false</GeneratePackageOnBuild>\n    <FileVersion>6.5.0</FileVersion>\n    <Company>commsvr.com</Company>\n    <PackageIconUrl>https://github.com/mpostol/OPC-UA-OOI/blob/master/CommonResources/Media/Logo64.PNG?raw=true</PackageIconUrl>\n  </PropertyGroup>\n\n  <PropertyGroup Condition=\"'$(Configuration)|$(Platform)'=='Debug|AnyCPU'\">\n    <NoWarn>1701;1702;1705;IDE0001;IDE0002;IDE0003;IDE0049</NoWarn>\n    <DocumentationFile>bin\\Debug\\netstandard2.0\\UAOOI.SemanticData.UANodeSetValidation.xml</DocumentationFile>\n    <OutputPath>bin\\Debug\\netstandard2.0\\</OutputPath>\n  </PropertyGroup>\n\n  <PropertyGroup Condition=\"'$(Configuration)|$(Platform)'=='Release|AnyCPU'\">\n    <DocumentationFile>.\\bin\\UAOOI.SemanticData.UANodeSetValidation.xml</DocumentationFile>\n  </PropertyGroup>\n\n  <ItemGroup>\n    <Compile Remove=\"Argument.cs\" />\n    <Compile Remove=\"IUANodeValidator.cs\" />\n    <Compile Remove=\"Properties\\Resources.Designer.cs\" />\n    <Compile Remove=\"Utilities\\ModelTableEntry.cs\" />\n    <Compile Remove=\"Utilities\\StringTable.cs\" />\n  </ItemGroup>\n\n  <ItemGroup>\n    <EmbeddedResource Remove=\"Properties\\Resources.resx\" />\n  </ItemGroup>\n\n  <ItemGroup>\n    <None Remove=\"packages.config\" />\n    <None Remove=\"XML\\Opc.Ua.NodeSet2.xml\" />\n  </ItemGroup>\n\n  <ItemGroup>\n    <EmbeddedResource Include=\"XML\\Opc.Ua.NodeSet2.xml\" />\n  </ItemGroup>\n\n  <ItemGroup>\n    <PackageReference Include=\"UAOOI.Common.Infrastructure\" Version=\"6.4.7\" />\n  </ItemGroup>\n\n  <ItemGroup>\n    <ProjectReference Include=\"..\\BuildingErrorsHandling\\SemanticData.BuildingErrorsHandling.csproj\" />\n    <ProjectReference Include=\"..\\InformationModelFactory\\SemanticData.InformationModelFactory.csproj\" />\n  </ItemGroup>\n\n  <ItemGroup>\n    <None Update=\"BuildErrors.tt\">\n      <Generator>TextTemplatingFileGenerator</Generator>\n      <LastGenOutput>BuildErrors.cs</LastGenOutput>\n    </None>\n    <None Update=\"Properties\\Template.nuspec.tt\">\n      <Generator>TextTemplatingFileGenerator</Generator>\n      <LastGenOutput>Template.nuspec.nuspec</LastGenOutput>\n    </None>\n    <None Update=\"Properties\\UANodeSetValidation.Nuget.nuspec\">\n      <DesignTime>True</DesignTime>\n      <AutoGen>True</AutoGen>\n      <DependentUpon>UANodeSetValidation.Nuget.tt</DependentUpon>\n    </None>\n    <None Update=\"Properties\\UANodeSetValidation.Nuget.tt\">\n      <Generator>TextTemplatingFileGenerator</Generator>\n      <LastGenOutput>UANodeSetValidation.Nuget.nuspec</LastGenOutput>\n    </None>\n  </ItemGroup>\n\n  <ItemGroup>\n    <Service Include=\"{508349b6-6b84-4df5-91f0-309beebad82d}\" />\n  </ItemGroup>\n\n  <ItemGroup>\n    <Compile Update=\"BuildErrors.cs\">\n      <DesignTime>True</DesignTime>\n      <AutoGen>True</AutoGen>\n      <DependentUpon>BuildErrors.tt</DependentUpon>\n    </Compile>\n  </ItemGroup>\n\n</Project>"
  },
  {
    "path": "SemanticData/UANodeSetValidation/UAInformationModel/Opc.Ua.Constants.cs",
    "content": "/* ========================================================================\n * Copyright (c) 2005-2011 The OPC Foundation, Inc. All rights reserved.\n *\n * OPC Foundation MIT License 1.00\n *\n * Permission is hereby granted, free of charge, to any person\n * obtaining a copy of this software and associated documentation\n * files (the \"Software\"), to deal in the Software without\n * restriction, including without limitation the rights to use,\n * copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the\n * Software is furnished to do so, subject to the following\n * conditions:\n *\n * The above copyright notice and this permission notice shall be\n * included in all copies or substantial portions of the Software.\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND,\n * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES\n * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND\n * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT\n * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,\n * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING\n * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR\n * OTHER DEALINGS IN THE SOFTWARE.\n *\n * The complete license agreement can be found here:\n * http://opcfoundation.org/License/MIT/1.00/\n * ======================================================================*/\n\nusing UAOOI.SemanticData.UANodeSetValidation.DataSerialization;\n\nnamespace UAOOI.SemanticData.UANodeSetValidation.UAInformationModel\n{\n  #region DataType Identifiers\n  /// <summary>\n  /// A class that declares constants for all DataTypes in the Model Design.\n  /// </summary>\n  /// <exclude />\n  [System.CodeDom.Compiler.GeneratedCodeAttribute(\"Opc.Ua.ModelCompiler\", \"1.0.0.0\")]\n  public static partial class DataTypes\n  {\n    /// <summary>\n    /// The identifier for the BaseDataType DataType.\n    /// </summary>\n    public const uint BaseDataType = 24;\n\n    /// <summary>\n    /// The identifier for the Number DataType.\n    /// </summary>\n    public const uint Number = 26;\n\n    /// <summary>\n    /// The identifier for the Integer DataType.\n    /// </summary>\n    public const uint Integer = 27;\n\n    /// <summary>\n    /// The identifier for the UInteger DataType.\n    /// </summary>\n    public const uint UInteger = 28;\n\n    /// <summary>\n    /// The identifier for the Enumeration DataType.\n    /// </summary>\n    public const uint Enumeration = 29;\n\n    /// <summary>\n    /// The identifier for the Boolean DataType.\n    /// </summary>\n    public const uint Boolean = 1;\n\n    /// <summary>\n    /// The identifier for the SByte DataType.\n    /// </summary>\n    public const uint SByte = 2;\n\n    /// <summary>\n    /// The identifier for the Byte DataType.\n    /// </summary>\n    public const uint Byte = 3;\n\n    /// <summary>\n    /// The identifier for the Int16 DataType.\n    /// </summary>\n    public const uint Int16 = 4;\n\n    /// <summary>\n    /// The identifier for the UInt16 DataType.\n    /// </summary>\n    public const uint UInt16 = 5;\n\n    /// <summary>\n    /// The identifier for the Int32 DataType.\n    /// </summary>\n    public const uint Int32 = 6;\n\n    /// <summary>\n    /// The identifier for the UInt32 DataType.\n    /// </summary>\n    public const uint UInt32 = 7;\n\n    /// <summary>\n    /// The identifier for the Int64 DataType.\n    /// </summary>\n    public const uint Int64 = 8;\n\n    /// <summary>\n    /// The identifier for the UInt64 DataType.\n    /// </summary>\n    public const uint UInt64 = 9;\n\n    /// <summary>\n    /// The identifier for the Float DataType.\n    /// </summary>\n    public const uint Float = 10;\n\n    /// <summary>\n    /// The identifier for the Double DataType.\n    /// </summary>\n    public const uint Double = 11;\n\n    /// <summary>\n    /// The identifier for the String DataType.\n    /// </summary>\n    public const uint String = 12;\n\n    /// <summary>\n    /// The identifier for the DateTime DataType.\n    /// </summary>\n    public const uint DateTime = 13;\n\n    /// <summary>\n    /// The identifier for the Guid DataType.\n    /// </summary>\n    public const uint Guid = 14;\n\n    /// <summary>\n    /// The identifier for the ByteString DataType.\n    /// </summary>\n    public const uint ByteString = 15;\n\n    /// <summary>\n    /// The identifier for the XmlElement DataType.\n    /// </summary>\n    public const uint XmlElement = 16;\n\n    /// <summary>\n    /// The identifier for the NodeId DataType.\n    /// </summary>\n    public const uint NodeId = 17;\n\n    /// <summary>\n    /// The identifier for the ExpandedNodeId DataType.\n    /// </summary>\n    public const uint ExpandedNodeId = 18;\n\n    /// <summary>\n    /// The identifier for the StatusCode DataType.\n    /// </summary>\n    public const uint StatusCode = 19;\n\n    /// <summary>\n    /// The identifier for the QualifiedName DataType.\n    /// </summary>\n    public const uint QualifiedName = 20;\n\n    /// <summary>\n    /// The identifier for the LocalizedText DataType.\n    /// </summary>\n    public const uint LocalizedText = 21;\n\n    /// <summary>\n    /// The identifier for the Structure DataType.\n    /// </summary>\n    public const uint Structure = 22;\n\n    /// <summary>\n    /// The identifier for the DataValue DataType.\n    /// </summary>\n    public const uint DataValue = 23;\n\n    /// <summary>\n    /// The identifier for the DiagnosticInfo DataType.\n    /// </summary>\n    public const uint DiagnosticInfo = 25;\n\n    /// <summary>\n    /// The identifier for the Image DataType.\n    /// </summary>\n    public const uint Image = 30;\n\n    /// <summary>\n    /// The identifier for the NamingRuleType DataType.\n    /// </summary>\n    public const uint NamingRuleType = 120;\n\n    /// <summary>\n    /// The identifier for the ImageBMP DataType.\n    /// </summary>\n    public const uint ImageBMP = 2000;\n\n    /// <summary>\n    /// The identifier for the ImageGIF DataType.\n    /// </summary>\n    public const uint ImageGIF = 2001;\n\n    /// <summary>\n    /// The identifier for the ImageJPG DataType.\n    /// </summary>\n    public const uint ImageJPG = 2002;\n\n    /// <summary>\n    /// The identifier for the ImagePNG DataType.\n    /// </summary>\n    public const uint ImagePNG = 2003;\n\n    /// <summary>\n    /// The identifier for the BitFieldMaskDataType DataType.\n    /// </summary>\n    public const uint BitFieldMaskDataType = 11737;\n\n    /// <summary>\n    /// The identifier for the OpenFileMode DataType.\n    /// </summary>\n    public const uint OpenFileMode = 11939;\n\n    /// <summary>\n    /// The identifier for the IdType DataType.\n    /// </summary>\n    public const uint IdType = 256;\n\n    /// <summary>\n    /// The identifier for the NodeClass DataType.\n    /// </summary>\n    public const uint NodeClass = 257;\n\n    /// <summary>\n    /// The identifier for the Node DataType.\n    /// </summary>\n    public const uint Node = 258;\n\n    /// <summary>\n    /// The identifier for the InstanceNode DataType.\n    /// </summary>\n    public const uint InstanceNode = 11879;\n\n    /// <summary>\n    /// The identifier for the TypeNode DataType.\n    /// </summary>\n    public const uint TypeNode = 11880;\n\n    /// <summary>\n    /// The identifier for the ObjectNode DataType.\n    /// </summary>\n    public const uint ObjectNode = 261;\n\n    /// <summary>\n    /// The identifier for the ObjectTypeNode DataType.\n    /// </summary>\n    public const uint ObjectTypeNode = 264;\n\n    /// <summary>\n    /// The identifier for the VariableNode DataType.\n    /// </summary>\n    public const uint VariableNode = 267;\n\n    /// <summary>\n    /// The identifier for the VariableTypeNode DataType.\n    /// </summary>\n    public const uint VariableTypeNode = 270;\n\n    /// <summary>\n    /// The identifier for the ReferenceTypeNode DataType.\n    /// </summary>\n    public const uint ReferenceTypeNode = 273;\n\n    /// <summary>\n    /// The identifier for the MethodNode DataType.\n    /// </summary>\n    public const uint MethodNode = 276;\n\n    /// <summary>\n    /// The identifier for the ViewNode DataType.\n    /// </summary>\n    public const uint ViewNode = 279;\n\n    /// <summary>\n    /// The identifier for the DataTypeNode DataType.\n    /// </summary>\n    public const uint DataTypeNode = 282;\n\n    /// <summary>\n    /// The identifier for the ReferenceNode DataType.\n    /// </summary>\n    public const uint ReferenceNode = 285;\n\n    /// <summary>\n    /// The identifier for the Argument DataType.\n    /// </summary>\n    public const uint Argument = 296;\n\n    /// <summary>\n    /// The identifier for the EnumValueType DataType.\n    /// </summary>\n    public const uint EnumValueType = 7594;\n\n    /// <summary>\n    /// The identifier for the Duration DataType.\n    /// </summary>\n    public const uint Duration = 290;\n\n    /// <summary>\n    /// The identifier for the UtcTime DataType.\n    /// </summary>\n    public const uint UtcTime = 294;\n\n    /// <summary>\n    /// The identifier for the LocaleId DataType.\n    /// </summary>\n    public const uint LocaleId = 295;\n\n    /// <summary>\n    /// The identifier for the TimeZoneDataType DataType.\n    /// </summary>\n    public const uint TimeZoneDataType = 8912;\n\n    /// <summary>\n    /// The identifier for the IntegerId DataType.\n    /// </summary>\n    public const uint IntegerId = 288;\n\n    /// <summary>\n    /// The identifier for the ApplicationType DataType.\n    /// </summary>\n    public const uint ApplicationType = 307;\n\n    /// <summary>\n    /// The identifier for the ApplicationDescription DataType.\n    /// </summary>\n    public const uint ApplicationDescription = 308;\n\n    /// <summary>\n    /// The identifier for the RequestHeader DataType.\n    /// </summary>\n    public const uint RequestHeader = 389;\n\n    /// <summary>\n    /// The identifier for the ResponseHeader DataType.\n    /// </summary>\n    public const uint ResponseHeader = 392;\n\n    /// <summary>\n    /// The identifier for the ServiceFault DataType.\n    /// </summary>\n    public const uint ServiceFault = 395;\n\n    /// <summary>\n    /// The identifier for the DnsServiceRecord DataType.\n    /// </summary>\n    public const uint DnsServiceRecord = 12189;\n\n    /// <summary>\n    /// The identifier for the FindDnsServicesRequest DataType.\n    /// </summary>\n    public const uint FindDnsServicesRequest = 12190;\n\n    /// <summary>\n    /// The identifier for the FindDnsServicesResponse DataType.\n    /// </summary>\n    public const uint FindDnsServicesResponse = 12191;\n\n    /// <summary>\n    /// The identifier for the FindServersRequest DataType.\n    /// </summary>\n    public const uint FindServersRequest = 420;\n\n    /// <summary>\n    /// The identifier for the FindServersResponse DataType.\n    /// </summary>\n    public const uint FindServersResponse = 423;\n\n    /// <summary>\n    /// The identifier for the ApplicationInstanceCertificate DataType.\n    /// </summary>\n    public const uint ApplicationInstanceCertificate = 311;\n\n    /// <summary>\n    /// The identifier for the MessageSecurityMode DataType.\n    /// </summary>\n    public const uint MessageSecurityMode = 302;\n\n    /// <summary>\n    /// The identifier for the UserTokenType DataType.\n    /// </summary>\n    public const uint UserTokenType = 303;\n\n    /// <summary>\n    /// The identifier for the UserTokenPolicy DataType.\n    /// </summary>\n    public const uint UserTokenPolicy = 304;\n\n    /// <summary>\n    /// The identifier for the EndpointDescription DataType.\n    /// </summary>\n    public const uint EndpointDescription = 312;\n\n    /// <summary>\n    /// The identifier for the GetEndpointsRequest DataType.\n    /// </summary>\n    public const uint GetEndpointsRequest = 426;\n\n    /// <summary>\n    /// The identifier for the GetEndpointsResponse DataType.\n    /// </summary>\n    public const uint GetEndpointsResponse = 429;\n\n    /// <summary>\n    /// The identifier for the RegisteredServer DataType.\n    /// </summary>\n    public const uint RegisteredServer = 432;\n\n    /// <summary>\n    /// The identifier for the RegisterServerRequest DataType.\n    /// </summary>\n    public const uint RegisterServerRequest = 435;\n\n    /// <summary>\n    /// The identifier for the RegisterServerResponse DataType.\n    /// </summary>\n    public const uint RegisterServerResponse = 438;\n\n    /// <summary>\n    /// The identifier for the SecurityTokenRequestType DataType.\n    /// </summary>\n    public const uint SecurityTokenRequestType = 315;\n\n    /// <summary>\n    /// The identifier for the ChannelSecurityToken DataType.\n    /// </summary>\n    public const uint ChannelSecurityToken = 441;\n\n    /// <summary>\n    /// The identifier for the OpenSecureChannelRequest DataType.\n    /// </summary>\n    public const uint OpenSecureChannelRequest = 444;\n\n    /// <summary>\n    /// The identifier for the OpenSecureChannelResponse DataType.\n    /// </summary>\n    public const uint OpenSecureChannelResponse = 447;\n\n    /// <summary>\n    /// The identifier for the CloseSecureChannelRequest DataType.\n    /// </summary>\n    public const uint CloseSecureChannelRequest = 450;\n\n    /// <summary>\n    /// The identifier for the CloseSecureChannelResponse DataType.\n    /// </summary>\n    public const uint CloseSecureChannelResponse = 453;\n\n    /// <summary>\n    /// The identifier for the SignedSoftwareCertificate DataType.\n    /// </summary>\n    public const uint SignedSoftwareCertificate = 344;\n\n    /// <summary>\n    /// The identifier for the SessionAuthenticationToken DataType.\n    /// </summary>\n    public const uint SessionAuthenticationToken = 388;\n\n    /// <summary>\n    /// The identifier for the SignatureData DataType.\n    /// </summary>\n    public const uint SignatureData = 456;\n\n    /// <summary>\n    /// The identifier for the CreateSessionRequest DataType.\n    /// </summary>\n    public const uint CreateSessionRequest = 459;\n\n    /// <summary>\n    /// The identifier for the CreateSessionResponse DataType.\n    /// </summary>\n    public const uint CreateSessionResponse = 462;\n\n    /// <summary>\n    /// The identifier for the UserIdentityToken DataType.\n    /// </summary>\n    public const uint UserIdentityToken = 316;\n\n    /// <summary>\n    /// The identifier for the AnonymousIdentityToken DataType.\n    /// </summary>\n    public const uint AnonymousIdentityToken = 319;\n\n    /// <summary>\n    /// The identifier for the UserNameIdentityToken DataType.\n    /// </summary>\n    public const uint UserNameIdentityToken = 322;\n\n    /// <summary>\n    /// The identifier for the X509IdentityToken DataType.\n    /// </summary>\n    public const uint X509IdentityToken = 325;\n\n    /// <summary>\n    /// The identifier for the IssuedIdentityToken DataType.\n    /// </summary>\n    public const uint IssuedIdentityToken = 938;\n\n    /// <summary>\n    /// The identifier for the ActivateSessionRequest DataType.\n    /// </summary>\n    public const uint ActivateSessionRequest = 465;\n\n    /// <summary>\n    /// The identifier for the ActivateSessionResponse DataType.\n    /// </summary>\n    public const uint ActivateSessionResponse = 468;\n\n    /// <summary>\n    /// The identifier for the CloseSessionRequest DataType.\n    /// </summary>\n    public const uint CloseSessionRequest = 471;\n\n    /// <summary>\n    /// The identifier for the CloseSessionResponse DataType.\n    /// </summary>\n    public const uint CloseSessionResponse = 474;\n\n    /// <summary>\n    /// The identifier for the CancelRequest DataType.\n    /// </summary>\n    public const uint CancelRequest = 477;\n\n    /// <summary>\n    /// The identifier for the CancelResponse DataType.\n    /// </summary>\n    public const uint CancelResponse = 480;\n\n    /// <summary>\n    /// The identifier for the NodeAttributesMask DataType.\n    /// </summary>\n    public const uint NodeAttributesMask = 348;\n\n    /// <summary>\n    /// The identifier for the NodeAttributes DataType.\n    /// </summary>\n    public const uint NodeAttributes = 349;\n\n    /// <summary>\n    /// The identifier for the ObjectAttributes DataType.\n    /// </summary>\n    public const uint ObjectAttributes = 352;\n\n    /// <summary>\n    /// The identifier for the VariableAttributes DataType.\n    /// </summary>\n    public const uint VariableAttributes = 355;\n\n    /// <summary>\n    /// The identifier for the MethodAttributes DataType.\n    /// </summary>\n    public const uint MethodAttributes = 358;\n\n    /// <summary>\n    /// The identifier for the ObjectTypeAttributes DataType.\n    /// </summary>\n    public const uint ObjectTypeAttributes = 361;\n\n    /// <summary>\n    /// The identifier for the VariableTypeAttributes DataType.\n    /// </summary>\n    public const uint VariableTypeAttributes = 364;\n\n    /// <summary>\n    /// The identifier for the ReferenceTypeAttributes DataType.\n    /// </summary>\n    public const uint ReferenceTypeAttributes = 367;\n\n    /// <summary>\n    /// The identifier for the DataTypeAttributes DataType.\n    /// </summary>\n    public const uint DataTypeAttributes = 370;\n\n    /// <summary>\n    /// The identifier for the ViewAttributes DataType.\n    /// </summary>\n    public const uint ViewAttributes = 373;\n\n    /// <summary>\n    /// The identifier for the AddNodesItem DataType.\n    /// </summary>\n    public const uint AddNodesItem = 376;\n\n    /// <summary>\n    /// The identifier for the AddNodesResult DataType.\n    /// </summary>\n    public const uint AddNodesResult = 483;\n\n    /// <summary>\n    /// The identifier for the AddNodesRequest DataType.\n    /// </summary>\n    public const uint AddNodesRequest = 486;\n\n    /// <summary>\n    /// The identifier for the AddNodesResponse DataType.\n    /// </summary>\n    public const uint AddNodesResponse = 489;\n\n    /// <summary>\n    /// The identifier for the AddReferencesItem DataType.\n    /// </summary>\n    public const uint AddReferencesItem = 379;\n\n    /// <summary>\n    /// The identifier for the AddReferencesRequest DataType.\n    /// </summary>\n    public const uint AddReferencesRequest = 492;\n\n    /// <summary>\n    /// The identifier for the AddReferencesResponse DataType.\n    /// </summary>\n    public const uint AddReferencesResponse = 495;\n\n    /// <summary>\n    /// The identifier for the DeleteNodesItem DataType.\n    /// </summary>\n    public const uint DeleteNodesItem = 382;\n\n    /// <summary>\n    /// The identifier for the DeleteNodesRequest DataType.\n    /// </summary>\n    public const uint DeleteNodesRequest = 498;\n\n    /// <summary>\n    /// The identifier for the DeleteNodesResponse DataType.\n    /// </summary>\n    public const uint DeleteNodesResponse = 501;\n\n    /// <summary>\n    /// The identifier for the DeleteReferencesItem DataType.\n    /// </summary>\n    public const uint DeleteReferencesItem = 385;\n\n    /// <summary>\n    /// The identifier for the DeleteReferencesRequest DataType.\n    /// </summary>\n    public const uint DeleteReferencesRequest = 504;\n\n    /// <summary>\n    /// The identifier for the DeleteReferencesResponse DataType.\n    /// </summary>\n    public const uint DeleteReferencesResponse = 507;\n\n    /// <summary>\n    /// The identifier for the AttributeWriteMask DataType.\n    /// </summary>\n    public const uint AttributeWriteMask = 347;\n\n    /// <summary>\n    /// The identifier for the BrowseDirection DataType.\n    /// </summary>\n    public const uint BrowseDirection = 510;\n\n    /// <summary>\n    /// The identifier for the ViewDescription DataType.\n    /// </summary>\n    public const uint ViewDescription = 511;\n\n    /// <summary>\n    /// The identifier for the BrowseDescription DataType.\n    /// </summary>\n    public const uint BrowseDescription = 514;\n\n    /// <summary>\n    /// The identifier for the BrowseResultMask DataType.\n    /// </summary>\n    public const uint BrowseResultMask = 517;\n\n    /// <summary>\n    /// The identifier for the ReferenceDescription DataType.\n    /// </summary>\n    public const uint ReferenceDescription = 518;\n\n    /// <summary>\n    /// The identifier for the ContinuationPoint DataType.\n    /// </summary>\n    public const uint ContinuationPoint = 521;\n\n    /// <summary>\n    /// The identifier for the BrowseResult DataType.\n    /// </summary>\n    public const uint BrowseResult = 522;\n\n    /// <summary>\n    /// The identifier for the BrowseRequest DataType.\n    /// </summary>\n    public const uint BrowseRequest = 525;\n\n    /// <summary>\n    /// The identifier for the BrowseResponse DataType.\n    /// </summary>\n    public const uint BrowseResponse = 528;\n\n    /// <summary>\n    /// The identifier for the BrowseNextRequest DataType.\n    /// </summary>\n    public const uint BrowseNextRequest = 531;\n\n    /// <summary>\n    /// The identifier for the BrowseNextResponse DataType.\n    /// </summary>\n    public const uint BrowseNextResponse = 534;\n\n    /// <summary>\n    /// The identifier for the RelativePathElement DataType.\n    /// </summary>\n    public const uint RelativePathElement = 537;\n\n    /// <summary>\n    /// The identifier for the RelativePath DataType.\n    /// </summary>\n    public const uint RelativePath = 540;\n\n    /// <summary>\n    /// The identifier for the BrowsePath DataType.\n    /// </summary>\n    public const uint BrowsePath = 543;\n\n    /// <summary>\n    /// The identifier for the BrowsePathTarget DataType.\n    /// </summary>\n    public const uint BrowsePathTarget = 546;\n\n    /// <summary>\n    /// The identifier for the BrowsePathResult DataType.\n    /// </summary>\n    public const uint BrowsePathResult = 549;\n\n    /// <summary>\n    /// The identifier for the TranslateBrowsePathsToNodeIdsRequest DataType.\n    /// </summary>\n    public const uint TranslateBrowsePathsToNodeIdsRequest = 552;\n\n    /// <summary>\n    /// The identifier for the TranslateBrowsePathsToNodeIdsResponse DataType.\n    /// </summary>\n    public const uint TranslateBrowsePathsToNodeIdsResponse = 555;\n\n    /// <summary>\n    /// The identifier for the RegisterNodesRequest DataType.\n    /// </summary>\n    public const uint RegisterNodesRequest = 558;\n\n    /// <summary>\n    /// The identifier for the RegisterNodesResponse DataType.\n    /// </summary>\n    public const uint RegisterNodesResponse = 561;\n\n    /// <summary>\n    /// The identifier for the UnregisterNodesRequest DataType.\n    /// </summary>\n    public const uint UnregisterNodesRequest = 564;\n\n    /// <summary>\n    /// The identifier for the UnregisterNodesResponse DataType.\n    /// </summary>\n    public const uint UnregisterNodesResponse = 567;\n\n    /// <summary>\n    /// The identifier for the Counter DataType.\n    /// </summary>\n    public const uint Counter = 289;\n\n    /// <summary>\n    /// The identifier for the NumericRange DataType.\n    /// </summary>\n    public const uint NumericRange = 291;\n\n    /// <summary>\n    /// The identifier for the Time DataType.\n    /// </summary>\n    public const uint Time = 292;\n\n    /// <summary>\n    /// The identifier for the Date DataType.\n    /// </summary>\n    public const uint Date = 293;\n\n    /// <summary>\n    /// The identifier for the EndpointConfiguration DataType.\n    /// </summary>\n    public const uint EndpointConfiguration = 331;\n\n    /// <summary>\n    /// The identifier for the ComplianceLevel DataType.\n    /// </summary>\n    public const uint ComplianceLevel = 334;\n\n    /// <summary>\n    /// The identifier for the SupportedProfile DataType.\n    /// </summary>\n    public const uint SupportedProfile = 335;\n\n    /// <summary>\n    /// The identifier for the SoftwareCertificate DataType.\n    /// </summary>\n    public const uint SoftwareCertificate = 341;\n\n    /// <summary>\n    /// The identifier for the QueryDataDescription DataType.\n    /// </summary>\n    public const uint QueryDataDescription = 570;\n\n    /// <summary>\n    /// The identifier for the NodeTypeDescription DataType.\n    /// </summary>\n    public const uint NodeTypeDescription = 573;\n\n    /// <summary>\n    /// The identifier for the FilterOperator DataType.\n    /// </summary>\n    public const uint FilterOperator = 576;\n\n    /// <summary>\n    /// The identifier for the QueryDataSet DataType.\n    /// </summary>\n    public const uint QueryDataSet = 577;\n\n    /// <summary>\n    /// The identifier for the NodeReference DataType.\n    /// </summary>\n    public const uint NodeReference = 580;\n\n    /// <summary>\n    /// The identifier for the ContentFilterElement DataType.\n    /// </summary>\n    public const uint ContentFilterElement = 583;\n\n    /// <summary>\n    /// The identifier for the ContentFilter DataType.\n    /// </summary>\n    public const uint ContentFilter = 586;\n\n    /// <summary>\n    /// The identifier for the FilterOperand DataType.\n    /// </summary>\n    public const uint FilterOperand = 589;\n\n    /// <summary>\n    /// The identifier for the ElementOperand DataType.\n    /// </summary>\n    public const uint ElementOperand = 592;\n\n    /// <summary>\n    /// The identifier for the LiteralOperand DataType.\n    /// </summary>\n    public const uint LiteralOperand = 595;\n\n    /// <summary>\n    /// The identifier for the AttributeOperand DataType.\n    /// </summary>\n    public const uint AttributeOperand = 598;\n\n    /// <summary>\n    /// The identifier for the SimpleAttributeOperand DataType.\n    /// </summary>\n    public const uint SimpleAttributeOperand = 601;\n\n    /// <summary>\n    /// The identifier for the ContentFilterElementResult DataType.\n    /// </summary>\n    public const uint ContentFilterElementResult = 604;\n\n    /// <summary>\n    /// The identifier for the ContentFilterResult DataType.\n    /// </summary>\n    public const uint ContentFilterResult = 607;\n\n    /// <summary>\n    /// The identifier for the ParsingResult DataType.\n    /// </summary>\n    public const uint ParsingResult = 610;\n\n    /// <summary>\n    /// The identifier for the QueryFirstRequest DataType.\n    /// </summary>\n    public const uint QueryFirstRequest = 613;\n\n    /// <summary>\n    /// The identifier for the QueryFirstResponse DataType.\n    /// </summary>\n    public const uint QueryFirstResponse = 616;\n\n    /// <summary>\n    /// The identifier for the QueryNextRequest DataType.\n    /// </summary>\n    public const uint QueryNextRequest = 619;\n\n    /// <summary>\n    /// The identifier for the QueryNextResponse DataType.\n    /// </summary>\n    public const uint QueryNextResponse = 622;\n\n    /// <summary>\n    /// The identifier for the TimestampsToReturn DataType.\n    /// </summary>\n    public const uint TimestampsToReturn = 625;\n\n    /// <summary>\n    /// The identifier for the ReadValueId DataType.\n    /// </summary>\n    public const uint ReadValueId = 626;\n\n    /// <summary>\n    /// The identifier for the ReadRequest DataType.\n    /// </summary>\n    public const uint ReadRequest = 629;\n\n    /// <summary>\n    /// The identifier for the ReadResponse DataType.\n    /// </summary>\n    public const uint ReadResponse = 632;\n\n    /// <summary>\n    /// The identifier for the HistoryReadValueId DataType.\n    /// </summary>\n    public const uint HistoryReadValueId = 635;\n\n    /// <summary>\n    /// The identifier for the HistoryReadResult DataType.\n    /// </summary>\n    public const uint HistoryReadResult = 638;\n\n    /// <summary>\n    /// The identifier for the HistoryReadDetails DataType.\n    /// </summary>\n    public const uint HistoryReadDetails = 641;\n\n    /// <summary>\n    /// The identifier for the ReadEventDetails DataType.\n    /// </summary>\n    public const uint ReadEventDetails = 644;\n\n    /// <summary>\n    /// The identifier for the ReadRawModifiedDetails DataType.\n    /// </summary>\n    public const uint ReadRawModifiedDetails = 647;\n\n    /// <summary>\n    /// The identifier for the ReadProcessedDetails DataType.\n    /// </summary>\n    public const uint ReadProcessedDetails = 650;\n\n    /// <summary>\n    /// The identifier for the ReadAtTimeDetails DataType.\n    /// </summary>\n    public const uint ReadAtTimeDetails = 653;\n\n    /// <summary>\n    /// The identifier for the HistoryData DataType.\n    /// </summary>\n    public const uint HistoryData = 656;\n\n    /// <summary>\n    /// The identifier for the ModificationInfo DataType.\n    /// </summary>\n    public const uint ModificationInfo = 11216;\n\n    /// <summary>\n    /// The identifier for the HistoryModifiedData DataType.\n    /// </summary>\n    public const uint HistoryModifiedData = 11217;\n\n    /// <summary>\n    /// The identifier for the HistoryEvent DataType.\n    /// </summary>\n    public const uint HistoryEvent = 659;\n\n    /// <summary>\n    /// The identifier for the HistoryReadRequest DataType.\n    /// </summary>\n    public const uint HistoryReadRequest = 662;\n\n    /// <summary>\n    /// The identifier for the HistoryReadResponse DataType.\n    /// </summary>\n    public const uint HistoryReadResponse = 665;\n\n    /// <summary>\n    /// The identifier for the WriteValue DataType.\n    /// </summary>\n    public const uint WriteValue = 668;\n\n    /// <summary>\n    /// The identifier for the WriteRequest DataType.\n    /// </summary>\n    public const uint WriteRequest = 671;\n\n    /// <summary>\n    /// The identifier for the WriteResponse DataType.\n    /// </summary>\n    public const uint WriteResponse = 674;\n\n    /// <summary>\n    /// The identifier for the HistoryUpdateDetails DataType.\n    /// </summary>\n    public const uint HistoryUpdateDetails = 677;\n\n    /// <summary>\n    /// The identifier for the HistoryUpdateType DataType.\n    /// </summary>\n    public const uint HistoryUpdateType = 11234;\n\n    /// <summary>\n    /// The identifier for the PerformUpdateType DataType.\n    /// </summary>\n    public const uint PerformUpdateType = 11293;\n\n    /// <summary>\n    /// The identifier for the UpdateDataDetails DataType.\n    /// </summary>\n    public const uint UpdateDataDetails = 680;\n\n    /// <summary>\n    /// The identifier for the UpdateStructureDataDetails DataType.\n    /// </summary>\n    public const uint UpdateStructureDataDetails = 11295;\n\n    /// <summary>\n    /// The identifier for the UpdateEventDetails DataType.\n    /// </summary>\n    public const uint UpdateEventDetails = 683;\n\n    /// <summary>\n    /// The identifier for the DeleteRawModifiedDetails DataType.\n    /// </summary>\n    public const uint DeleteRawModifiedDetails = 686;\n\n    /// <summary>\n    /// The identifier for the DeleteAtTimeDetails DataType.\n    /// </summary>\n    public const uint DeleteAtTimeDetails = 689;\n\n    /// <summary>\n    /// The identifier for the DeleteEventDetails DataType.\n    /// </summary>\n    public const uint DeleteEventDetails = 692;\n\n    /// <summary>\n    /// The identifier for the HistoryUpdateResult DataType.\n    /// </summary>\n    public const uint HistoryUpdateResult = 695;\n\n    /// <summary>\n    /// The identifier for the HistoryUpdateEventResult DataType.\n    /// </summary>\n    public const uint HistoryUpdateEventResult = 929;\n\n    /// <summary>\n    /// The identifier for the HistoryUpdateRequest DataType.\n    /// </summary>\n    public const uint HistoryUpdateRequest = 698;\n\n    /// <summary>\n    /// The identifier for the HistoryUpdateResponse DataType.\n    /// </summary>\n    public const uint HistoryUpdateResponse = 701;\n\n    /// <summary>\n    /// The identifier for the CallMethodRequest DataType.\n    /// </summary>\n    public const uint CallMethodRequest = 704;\n\n    /// <summary>\n    /// The identifier for the CallMethodResult DataType.\n    /// </summary>\n    public const uint CallMethodResult = 707;\n\n    /// <summary>\n    /// The identifier for the CallRequest DataType.\n    /// </summary>\n    public const uint CallRequest = 710;\n\n    /// <summary>\n    /// The identifier for the CallResponse DataType.\n    /// </summary>\n    public const uint CallResponse = 713;\n\n    /// <summary>\n    /// The identifier for the MonitoringMode DataType.\n    /// </summary>\n    public const uint MonitoringMode = 716;\n\n    /// <summary>\n    /// The identifier for the DataChangeTrigger DataType.\n    /// </summary>\n    public const uint DataChangeTrigger = 717;\n\n    /// <summary>\n    /// The identifier for the DeadbandType DataType.\n    /// </summary>\n    public const uint DeadbandType = 718;\n\n    /// <summary>\n    /// The identifier for the MonitoringFilter DataType.\n    /// </summary>\n    public const uint MonitoringFilter = 719;\n\n    /// <summary>\n    /// The identifier for the DataChangeFilter DataType.\n    /// </summary>\n    public const uint DataChangeFilter = 722;\n\n    /// <summary>\n    /// The identifier for the EventFilter DataType.\n    /// </summary>\n    public const uint EventFilter = 725;\n\n    /// <summary>\n    /// The identifier for the AggregateConfiguration DataType.\n    /// </summary>\n    public const uint AggregateConfiguration = 948;\n\n    /// <summary>\n    /// The identifier for the AggregateFilter DataType.\n    /// </summary>\n    public const uint AggregateFilter = 728;\n\n    /// <summary>\n    /// The identifier for the MonitoringFilterResult DataType.\n    /// </summary>\n    public const uint MonitoringFilterResult = 731;\n\n    /// <summary>\n    /// The identifier for the EventFilterResult DataType.\n    /// </summary>\n    public const uint EventFilterResult = 734;\n\n    /// <summary>\n    /// The identifier for the AggregateFilterResult DataType.\n    /// </summary>\n    public const uint AggregateFilterResult = 737;\n\n    /// <summary>\n    /// The identifier for the MonitoringParameters DataType.\n    /// </summary>\n    public const uint MonitoringParameters = 740;\n\n    /// <summary>\n    /// The identifier for the MonitoredItemCreateRequest DataType.\n    /// </summary>\n    public const uint MonitoredItemCreateRequest = 743;\n\n    /// <summary>\n    /// The identifier for the MonitoredItemCreateResult DataType.\n    /// </summary>\n    public const uint MonitoredItemCreateResult = 746;\n\n    /// <summary>\n    /// The identifier for the CreateMonitoredItemsRequest DataType.\n    /// </summary>\n    public const uint CreateMonitoredItemsRequest = 749;\n\n    /// <summary>\n    /// The identifier for the CreateMonitoredItemsResponse DataType.\n    /// </summary>\n    public const uint CreateMonitoredItemsResponse = 752;\n\n    /// <summary>\n    /// The identifier for the MonitoredItemModifyRequest DataType.\n    /// </summary>\n    public const uint MonitoredItemModifyRequest = 755;\n\n    /// <summary>\n    /// The identifier for the MonitoredItemModifyResult DataType.\n    /// </summary>\n    public const uint MonitoredItemModifyResult = 758;\n\n    /// <summary>\n    /// The identifier for the ModifyMonitoredItemsRequest DataType.\n    /// </summary>\n    public const uint ModifyMonitoredItemsRequest = 761;\n\n    /// <summary>\n    /// The identifier for the ModifyMonitoredItemsResponse DataType.\n    /// </summary>\n    public const uint ModifyMonitoredItemsResponse = 764;\n\n    /// <summary>\n    /// The identifier for the SetMonitoringModeRequest DataType.\n    /// </summary>\n    public const uint SetMonitoringModeRequest = 767;\n\n    /// <summary>\n    /// The identifier for the SetMonitoringModeResponse DataType.\n    /// </summary>\n    public const uint SetMonitoringModeResponse = 770;\n\n    /// <summary>\n    /// The identifier for the SetTriggeringRequest DataType.\n    /// </summary>\n    public const uint SetTriggeringRequest = 773;\n\n    /// <summary>\n    /// The identifier for the SetTriggeringResponse DataType.\n    /// </summary>\n    public const uint SetTriggeringResponse = 776;\n\n    /// <summary>\n    /// The identifier for the DeleteMonitoredItemsRequest DataType.\n    /// </summary>\n    public const uint DeleteMonitoredItemsRequest = 779;\n\n    /// <summary>\n    /// The identifier for the DeleteMonitoredItemsResponse DataType.\n    /// </summary>\n    public const uint DeleteMonitoredItemsResponse = 782;\n\n    /// <summary>\n    /// The identifier for the CreateSubscriptionRequest DataType.\n    /// </summary>\n    public const uint CreateSubscriptionRequest = 785;\n\n    /// <summary>\n    /// The identifier for the CreateSubscriptionResponse DataType.\n    /// </summary>\n    public const uint CreateSubscriptionResponse = 788;\n\n    /// <summary>\n    /// The identifier for the ModifySubscriptionRequest DataType.\n    /// </summary>\n    public const uint ModifySubscriptionRequest = 791;\n\n    /// <summary>\n    /// The identifier for the ModifySubscriptionResponse DataType.\n    /// </summary>\n    public const uint ModifySubscriptionResponse = 794;\n\n    /// <summary>\n    /// The identifier for the SetPublishingModeRequest DataType.\n    /// </summary>\n    public const uint SetPublishingModeRequest = 797;\n\n    /// <summary>\n    /// The identifier for the SetPublishingModeResponse DataType.\n    /// </summary>\n    public const uint SetPublishingModeResponse = 800;\n\n    /// <summary>\n    /// The identifier for the NotificationMessage DataType.\n    /// </summary>\n    public const uint NotificationMessage = 803;\n\n    /// <summary>\n    /// The identifier for the NotificationData DataType.\n    /// </summary>\n    public const uint NotificationData = 945;\n\n    /// <summary>\n    /// The identifier for the DataChangeNotification DataType.\n    /// </summary>\n    public const uint DataChangeNotification = 809;\n\n    /// <summary>\n    /// The identifier for the MonitoredItemNotification DataType.\n    /// </summary>\n    public const uint MonitoredItemNotification = 806;\n\n    /// <summary>\n    /// The identifier for the EventNotificationList DataType.\n    /// </summary>\n    public const uint EventNotificationList = 914;\n\n    /// <summary>\n    /// The identifier for the EventFieldList DataType.\n    /// </summary>\n    public const uint EventFieldList = 917;\n\n    /// <summary>\n    /// The identifier for the HistoryEventFieldList DataType.\n    /// </summary>\n    public const uint HistoryEventFieldList = 920;\n\n    /// <summary>\n    /// The identifier for the StatusChangeNotification DataType.\n    /// </summary>\n    public const uint StatusChangeNotification = 818;\n\n    /// <summary>\n    /// The identifier for the SubscriptionAcknowledgement DataType.\n    /// </summary>\n    public const uint SubscriptionAcknowledgement = 821;\n\n    /// <summary>\n    /// The identifier for the PublishRequest DataType.\n    /// </summary>\n    public const uint PublishRequest = 824;\n\n    /// <summary>\n    /// The identifier for the PublishResponse DataType.\n    /// </summary>\n    public const uint PublishResponse = 827;\n\n    /// <summary>\n    /// The identifier for the RepublishRequest DataType.\n    /// </summary>\n    public const uint RepublishRequest = 830;\n\n    /// <summary>\n    /// The identifier for the RepublishResponse DataType.\n    /// </summary>\n    public const uint RepublishResponse = 833;\n\n    /// <summary>\n    /// The identifier for the TransferResult DataType.\n    /// </summary>\n    public const uint TransferResult = 836;\n\n    /// <summary>\n    /// The identifier for the TransferSubscriptionsRequest DataType.\n    /// </summary>\n    public const uint TransferSubscriptionsRequest = 839;\n\n    /// <summary>\n    /// The identifier for the TransferSubscriptionsResponse DataType.\n    /// </summary>\n    public const uint TransferSubscriptionsResponse = 842;\n\n    /// <summary>\n    /// The identifier for the DeleteSubscriptionsRequest DataType.\n    /// </summary>\n    public const uint DeleteSubscriptionsRequest = 845;\n\n    /// <summary>\n    /// The identifier for the DeleteSubscriptionsResponse DataType.\n    /// </summary>\n    public const uint DeleteSubscriptionsResponse = 848;\n\n    /// <summary>\n    /// The identifier for the EnumeratedTestType DataType.\n    /// </summary>\n    public const uint EnumeratedTestType = 398;\n\n    /// <summary>\n    /// The identifier for the ScalarTestType DataType.\n    /// </summary>\n    public const uint ScalarTestType = 399;\n\n    /// <summary>\n    /// The identifier for the ArrayTestType DataType.\n    /// </summary>\n    public const uint ArrayTestType = 402;\n\n    /// <summary>\n    /// The identifier for the CompositeTestType DataType.\n    /// </summary>\n    public const uint CompositeTestType = 405;\n\n    /// <summary>\n    /// The identifier for the TestStackRequest DataType.\n    /// </summary>\n    public const uint TestStackRequest = 408;\n\n    /// <summary>\n    /// The identifier for the TestStackResponse DataType.\n    /// </summary>\n    public const uint TestStackResponse = 411;\n\n    /// <summary>\n    /// The identifier for the TestStackExRequest DataType.\n    /// </summary>\n    public const uint TestStackExRequest = 414;\n\n    /// <summary>\n    /// The identifier for the TestStackExResponse DataType.\n    /// </summary>\n    public const uint TestStackExResponse = 417;\n\n    /// <summary>\n    /// The identifier for the BuildInfo DataType.\n    /// </summary>\n    public const uint BuildInfo = 338;\n\n    /// <summary>\n    /// The identifier for the RedundancySupport DataType.\n    /// </summary>\n    public const uint RedundancySupport = 851;\n\n    /// <summary>\n    /// The identifier for the ServerState DataType.\n    /// </summary>\n    public const uint ServerState = 852;\n\n    /// <summary>\n    /// The identifier for the RedundantServerDataType DataType.\n    /// </summary>\n    public const uint RedundantServerDataType = 853;\n\n    /// <summary>\n    /// The identifier for the EndpointUrlListDataType DataType.\n    /// </summary>\n    public const uint EndpointUrlListDataType = 11943;\n\n    /// <summary>\n    /// The identifier for the NetworkGroupDataType DataType.\n    /// </summary>\n    public const uint NetworkGroupDataType = 11944;\n\n    /// <summary>\n    /// The identifier for the SamplingIntervalDiagnosticsDataType DataType.\n    /// </summary>\n    public const uint SamplingIntervalDiagnosticsDataType = 856;\n\n    /// <summary>\n    /// The identifier for the ServerDiagnosticsSummaryDataType DataType.\n    /// </summary>\n    public const uint ServerDiagnosticsSummaryDataType = 859;\n\n    /// <summary>\n    /// The identifier for the ServerStatusDataType DataType.\n    /// </summary>\n    public const uint ServerStatusDataType = 862;\n\n    /// <summary>\n    /// The identifier for the SessionDiagnosticsDataType DataType.\n    /// </summary>\n    public const uint SessionDiagnosticsDataType = 865;\n\n    /// <summary>\n    /// The identifier for the SessionSecurityDiagnosticsDataType DataType.\n    /// </summary>\n    public const uint SessionSecurityDiagnosticsDataType = 868;\n\n    /// <summary>\n    /// The identifier for the ServiceCounterDataType DataType.\n    /// </summary>\n    public const uint ServiceCounterDataType = 871;\n\n    /// <summary>\n    /// The identifier for the StatusResult DataType.\n    /// </summary>\n    public const uint StatusResult = 299;\n\n    /// <summary>\n    /// The identifier for the SubscriptionDiagnosticsDataType DataType.\n    /// </summary>\n    public const uint SubscriptionDiagnosticsDataType = 874;\n\n    /// <summary>\n    /// The identifier for the ModelChangeStructureVerbMask DataType.\n    /// </summary>\n    public const uint ModelChangeStructureVerbMask = 11941;\n\n    /// <summary>\n    /// The identifier for the ModelChangeStructureDataType DataType.\n    /// </summary>\n    public const uint ModelChangeStructureDataType = 877;\n\n    /// <summary>\n    /// The identifier for the SemanticChangeStructureDataType DataType.\n    /// </summary>\n    public const uint SemanticChangeStructureDataType = 897;\n\n    /// <summary>\n    /// The identifier for the Range DataType.\n    /// </summary>\n    public const uint Range = 884;\n\n    /// <summary>\n    /// The identifier for the EUInformation DataType.\n    /// </summary>\n    public const uint EUInformation = 887;\n\n    /// <summary>\n    /// The identifier for the AxisScaleEnumeration DataType.\n    /// </summary>\n    public const uint AxisScaleEnumeration = 12077;\n\n    /// <summary>\n    /// The identifier for the ComplexNumberType DataType.\n    /// </summary>\n    public const uint ComplexNumberType = 12171;\n\n    /// <summary>\n    /// The identifier for the DoubleComplexNumberType DataType.\n    /// </summary>\n    public const uint DoubleComplexNumberType = 12172;\n\n    /// <summary>\n    /// The identifier for the AxisInformation DataType.\n    /// </summary>\n    public const uint AxisInformation = 12079;\n\n    /// <summary>\n    /// The identifier for the XVType DataType.\n    /// </summary>\n    public const uint XVType = 12080;\n\n    /// <summary>\n    /// The identifier for the ProgramDiagnosticDataType DataType.\n    /// </summary>\n    public const uint ProgramDiagnosticDataType = 894;\n\n    /// <summary>\n    /// The identifier for the Annotation DataType.\n    /// </summary>\n    public const uint Annotation = 891;\n\n    /// <summary>\n    /// The identifier for the ExceptionDeviationFormat DataType.\n    /// </summary>\n    public const uint ExceptionDeviationFormat = 890;\n  }\n  #endregion\n\n  #region Method Identifiers\n  /// <summary>\n  /// A class that declares constants for all Methods in the Model Design.\n  /// </summary>\n  /// <exclude />\n  [System.CodeDom.Compiler.GeneratedCodeAttribute(\"Opc.Ua.ModelCompiler\", \"1.0.0.0\")]\n  public static partial class Methods\n  {\n    /// <summary>\n    /// The identifier for the ServerType_GetMonitoredItems Method.\n    /// </summary>\n    public const uint ServerType_GetMonitoredItems = 11489;\n\n    /// <summary>\n    /// The identifier for the FileType_Open Method.\n    /// </summary>\n    public const uint FileType_Open = 11580;\n\n    /// <summary>\n    /// The identifier for the FileType_Close Method.\n    /// </summary>\n    public const uint FileType_Close = 11583;\n\n    /// <summary>\n    /// The identifier for the FileType_Read Method.\n    /// </summary>\n    public const uint FileType_Read = 11585;\n\n    /// <summary>\n    /// The identifier for the FileType_Write Method.\n    /// </summary>\n    public const uint FileType_Write = 11588;\n\n    /// <summary>\n    /// The identifier for the FileType_GetPosition Method.\n    /// </summary>\n    public const uint FileType_GetPosition = 11590;\n\n    /// <summary>\n    /// The identifier for the FileType_SetPosition Method.\n    /// </summary>\n    public const uint FileType_SetPosition = 11593;\n\n    /// <summary>\n    /// The identifier for the AddressSpaceFileType_ExportNamespace Method.\n    /// </summary>\n    public const uint AddressSpaceFileType_ExportNamespace = 11615;\n\n    /// <summary>\n    /// The identifier for the Server_Namespaces_AddressSpaceFile_Open Method.\n    /// </summary>\n    public const uint Server_Namespaces_AddressSpaceFile_Open = 11721;\n\n    /// <summary>\n    /// The identifier for the Server_Namespaces_AddressSpaceFile_Close Method.\n    /// </summary>\n    public const uint Server_Namespaces_AddressSpaceFile_Close = 11724;\n\n    /// <summary>\n    /// The identifier for the Server_Namespaces_AddressSpaceFile_Read Method.\n    /// </summary>\n    public const uint Server_Namespaces_AddressSpaceFile_Read = 11726;\n\n    /// <summary>\n    /// The identifier for the Server_Namespaces_AddressSpaceFile_Write Method.\n    /// </summary>\n    public const uint Server_Namespaces_AddressSpaceFile_Write = 11729;\n\n    /// <summary>\n    /// The identifier for the Server_Namespaces_AddressSpaceFile_GetPosition Method.\n    /// </summary>\n    public const uint Server_Namespaces_AddressSpaceFile_GetPosition = 11731;\n\n    /// <summary>\n    /// The identifier for the Server_Namespaces_AddressSpaceFile_SetPosition Method.\n    /// </summary>\n    public const uint Server_Namespaces_AddressSpaceFile_SetPosition = 11734;\n\n    /// <summary>\n    /// The identifier for the Server_GetMonitoredItems Method.\n    /// </summary>\n    public const uint Server_GetMonitoredItems = 11492;\n\n    /// <summary>\n    /// The identifier for the GetMonitoredItemsMethodType Method.\n    /// </summary>\n    public const uint GetMonitoredItemsMethodType = 11495;\n\n    /// <summary>\n    /// The identifier for the OpenMethodType Method.\n    /// </summary>\n    public const uint OpenMethodType = 11738;\n\n    /// <summary>\n    /// The identifier for the CloseMethodType Method.\n    /// </summary>\n    public const uint CloseMethodType = 11741;\n\n    /// <summary>\n    /// The identifier for the ReadMethodType Method.\n    /// </summary>\n    public const uint ReadMethodType = 11743;\n\n    /// <summary>\n    /// The identifier for the WriteMethodType Method.\n    /// </summary>\n    public const uint WriteMethodType = 11746;\n\n    /// <summary>\n    /// The identifier for the GetPositionMethodType Method.\n    /// </summary>\n    public const uint GetPositionMethodType = 11748;\n\n    /// <summary>\n    /// The identifier for the SetPositionMethodType Method.\n    /// </summary>\n    public const uint SetPositionMethodType = 11751;\n\n    /// <summary>\n    /// The identifier for the ConditionType_Disable Method.\n    /// </summary>\n    public const uint ConditionType_Disable = 9028;\n\n    /// <summary>\n    /// The identifier for the ConditionType_Enable Method.\n    /// </summary>\n    public const uint ConditionType_Enable = 9027;\n\n    /// <summary>\n    /// The identifier for the ConditionType_AddComment Method.\n    /// </summary>\n    public const uint ConditionType_AddComment = 9029;\n\n    /// <summary>\n    /// The identifier for the ConditionType_ConditionRefresh Method.\n    /// </summary>\n    public const uint ConditionType_ConditionRefresh = 3875;\n\n    /// <summary>\n    /// The identifier for the ConditionRefreshMethodType Method.\n    /// </summary>\n    public const uint ConditionRefreshMethodType = 9007;\n\n    /// <summary>\n    /// The identifier for the AddCommentMethodType Method.\n    /// </summary>\n    public const uint AddCommentMethodType = 3863;\n\n    /// <summary>\n    /// The identifier for the DialogConditionType_Respond Method.\n    /// </summary>\n    public const uint DialogConditionType_Respond = 9069;\n\n    /// <summary>\n    /// The identifier for the DialogResponseMethodType Method.\n    /// </summary>\n    public const uint DialogResponseMethodType = 9031;\n\n    /// <summary>\n    /// The identifier for the AcknowledgeableConditionType_Acknowledge Method.\n    /// </summary>\n    public const uint AcknowledgeableConditionType_Acknowledge = 9111;\n\n    /// <summary>\n    /// The identifier for the AcknowledgeableConditionType_Confirm Method.\n    /// </summary>\n    public const uint AcknowledgeableConditionType_Confirm = 9113;\n\n    /// <summary>\n    /// The identifier for the AlarmConditionType_ShelvingState_Unshelve Method.\n    /// </summary>\n    public const uint AlarmConditionType_ShelvingState_Unshelve = 9211;\n\n    /// <summary>\n    /// The identifier for the AlarmConditionType_ShelvingState_OneShotShelve Method.\n    /// </summary>\n    public const uint AlarmConditionType_ShelvingState_OneShotShelve = 9212;\n\n    /// <summary>\n    /// The identifier for the AlarmConditionType_ShelvingState_TimedShelve Method.\n    /// </summary>\n    public const uint AlarmConditionType_ShelvingState_TimedShelve = 9213;\n\n    /// <summary>\n    /// The identifier for the ShelvedStateMachineType_Unshelve Method.\n    /// </summary>\n    public const uint ShelvedStateMachineType_Unshelve = 2947;\n\n    /// <summary>\n    /// The identifier for the ShelvedStateMachineType_OneShotShelve Method.\n    /// </summary>\n    public const uint ShelvedStateMachineType_OneShotShelve = 2948;\n\n    /// <summary>\n    /// The identifier for the ShelvedStateMachineType_TimedShelve Method.\n    /// </summary>\n    public const uint ShelvedStateMachineType_TimedShelve = 2949;\n\n    /// <summary>\n    /// The identifier for the TimedShelveMethodType Method.\n    /// </summary>\n    public const uint TimedShelveMethodType = 6102;\n\n    /// <summary>\n    /// The identifier for the ProgramStateMachineType_Start Method.\n    /// </summary>\n    public const uint ProgramStateMachineType_Start = 2426;\n\n    /// <summary>\n    /// The identifier for the ProgramStateMachineType_Suspend Method.\n    /// </summary>\n    public const uint ProgramStateMachineType_Suspend = 2427;\n\n    /// <summary>\n    /// The identifier for the ProgramStateMachineType_Resume Method.\n    /// </summary>\n    public const uint ProgramStateMachineType_Resume = 2428;\n\n    /// <summary>\n    /// The identifier for the ProgramStateMachineType_Halt Method.\n    /// </summary>\n    public const uint ProgramStateMachineType_Halt = 2429;\n\n    /// <summary>\n    /// The identifier for the ProgramStateMachineType_Reset Method.\n    /// </summary>\n    public const uint ProgramStateMachineType_Reset = 2430;\n\n    /// <summary>\n    /// The identifier for the LockType_Lock Method.\n    /// </summary>\n    public const uint LockType_Lock = 8922;\n\n    /// <summary>\n    /// The identifier for the LockType_Unlock Method.\n    /// </summary>\n    public const uint LockType_Unlock = 8923;\n\n    /// <summary>\n    /// The identifier for the ServerLock_Lock Method.\n    /// </summary>\n    public const uint ServerLock_Lock = 8925;\n\n    /// <summary>\n    /// The identifier for the ServerLock_Unlock Method.\n    /// </summary>\n    public const uint ServerLock_Unlock = 8926;\n  }\n  #endregion\n\n  #region Object Identifiers\n  /// <summary>\n  /// A class that declares constants for all Objects in the Model Design.\n  /// </summary>\n  /// <exclude />\n  [System.CodeDom.Compiler.GeneratedCodeAttribute(\"Opc.Ua.ModelCompiler\", \"1.0.0.0\")]\n  public static partial class Objects\n  {\n    /// <summary>\n    /// The identifier for the DefaultBinary Object.\n    /// </summary>\n    public const uint DefaultBinary = 3062;\n\n    /// <summary>\n    /// The identifier for the DefaultXml Object.\n    /// </summary>\n    public const uint DefaultXml = 3063;\n\n    /// <summary>\n    /// The identifier for the ModellingRule_Mandatory Object.\n    /// </summary>\n    public const uint ModellingRule_Mandatory = 78;\n\n    /// <summary>\n    /// The identifier for the ModellingRule_Optional Object.\n    /// </summary>\n    public const uint ModellingRule_Optional = 80;\n\n    /// <summary>\n    /// The identifier for the ModellingRule_ExposesItsArray Object.\n    /// </summary>\n    public const uint ModellingRule_ExposesItsArray = 83;\n\n    /// <summary>\n    /// The identifier for the ModellingRule_MandatoryShared Object.\n    /// </summary>\n    public const uint ModellingRule_MandatoryShared = 79;\n\n    /// <summary>\n    /// The identifier for the ModellingRule_OptionalPlaceholder Object.\n    /// </summary>\n    public const uint ModellingRule_OptionalPlaceholder = 11508;\n\n    /// <summary>\n    /// The identifier for the ModellingRule_MandatoryPlaceholder Object.\n    /// </summary>\n    public const uint ModellingRule_MandatoryPlaceholder = 11510;\n\n    /// <summary>\n    /// The identifier for the RootFolder Object.\n    /// </summary>\n    public const uint RootFolder = 84;\n\n    /// <summary>\n    /// The identifier for the ObjectsFolder Object.\n    /// </summary>\n    public const uint ObjectsFolder = 85;\n\n    /// <summary>\n    /// The identifier for the TypesFolder Object.\n    /// </summary>\n    public const uint TypesFolder = 86;\n\n    /// <summary>\n    /// The identifier for the ViewsFolder Object.\n    /// </summary>\n    public const uint ViewsFolder = 87;\n\n    /// <summary>\n    /// The identifier for the ObjectTypesFolder Object.\n    /// </summary>\n    public const uint ObjectTypesFolder = 88;\n\n    /// <summary>\n    /// The identifier for the VariableTypesFolder Object.\n    /// </summary>\n    public const uint VariableTypesFolder = 89;\n\n    /// <summary>\n    /// The identifier for the DataTypesFolder Object.\n    /// </summary>\n    public const uint DataTypesFolder = 90;\n\n    /// <summary>\n    /// The identifier for the ReferenceTypesFolder Object.\n    /// </summary>\n    public const uint ReferenceTypesFolder = 91;\n\n    /// <summary>\n    /// The identifier for the XmlSchema_TypeSystem Object.\n    /// </summary>\n    public const uint XmlSchema_TypeSystem = 92;\n\n    /// <summary>\n    /// The identifier for the OPCBinarySchema_TypeSystem Object.\n    /// </summary>\n    public const uint OPCBinarySchema_TypeSystem = 93;\n\n    /// <summary>\n    /// The identifier for the ServerType_ServerCapabilities Object.\n    /// </summary>\n    public const uint ServerType_ServerCapabilities = 2009;\n\n    /// <summary>\n    /// The identifier for the ServerType_ServerCapabilities_ModellingRules Object.\n    /// </summary>\n    public const uint ServerType_ServerCapabilities_ModellingRules = 3093;\n\n    /// <summary>\n    /// The identifier for the ServerType_ServerCapabilities_AggregateFunctions Object.\n    /// </summary>\n    public const uint ServerType_ServerCapabilities_AggregateFunctions = 3094;\n\n    /// <summary>\n    /// The identifier for the ServerType_ServerDiagnostics Object.\n    /// </summary>\n    public const uint ServerType_ServerDiagnostics = 2010;\n\n    /// <summary>\n    /// The identifier for the ServerType_ServerDiagnostics_SessionsDiagnosticsSummary Object.\n    /// </summary>\n    public const uint ServerType_ServerDiagnostics_SessionsDiagnosticsSummary = 3111;\n\n    /// <summary>\n    /// The identifier for the ServerType_VendorServerInfo Object.\n    /// </summary>\n    public const uint ServerType_VendorServerInfo = 2011;\n\n    /// <summary>\n    /// The identifier for the ServerType_ServerRedundancy Object.\n    /// </summary>\n    public const uint ServerType_ServerRedundancy = 2012;\n\n    /// <summary>\n    /// The identifier for the ServerType_Namespaces Object.\n    /// </summary>\n    public const uint ServerType_Namespaces = 11527;\n\n    /// <summary>\n    /// The identifier for the ServerCapabilitiesType_OperationLimits Object.\n    /// </summary>\n    public const uint ServerCapabilitiesType_OperationLimits = 11551;\n\n    /// <summary>\n    /// The identifier for the ServerCapabilitiesType_ModellingRules Object.\n    /// </summary>\n    public const uint ServerCapabilitiesType_ModellingRules = 2019;\n\n    /// <summary>\n    /// The identifier for the ServerCapabilitiesType_AggregateFunctions Object.\n    /// </summary>\n    public const uint ServerCapabilitiesType_AggregateFunctions = 2754;\n\n    /// <summary>\n    /// The identifier for the ServerDiagnosticsType_SessionsDiagnosticsSummary Object.\n    /// </summary>\n    public const uint ServerDiagnosticsType_SessionsDiagnosticsSummary = 2744;\n\n    /// <summary>\n    /// The identifier for the SessionsDiagnosticsSummaryType_SessionPlaceholder Object.\n    /// </summary>\n    public const uint SessionsDiagnosticsSummaryType_SessionPlaceholder = 12097;\n\n    /// <summary>\n    /// The identifier for the NamespaceMetadataType_NamespaceFile Object.\n    /// </summary>\n    public const uint NamespaceMetadataType_NamespaceFile = 11624;\n\n    /// <summary>\n    /// The identifier for the NamespacesType_NamespaceIdentifier Object.\n    /// </summary>\n    public const uint NamespacesType_NamespaceIdentifier = 11646;\n\n    /// <summary>\n    /// The identifier for the NamespacesType_AddressSpaceFile Object.\n    /// </summary>\n    public const uint NamespacesType_AddressSpaceFile = 11675;\n\n    /// <summary>\n    /// The identifier for the EventTypesFolder Object.\n    /// </summary>\n    public const uint EventTypesFolder = 3048;\n\n    /// <summary>\n    /// The identifier for the Server Object.\n    /// </summary>\n    public const uint Server = 2253;\n\n    /// <summary>\n    /// The identifier for the Server_ServerCapabilities Object.\n    /// </summary>\n    public const uint Server_ServerCapabilities = 2268;\n\n    /// <summary>\n    /// The identifier for the Server_ServerCapabilities_ModellingRules Object.\n    /// </summary>\n    public const uint Server_ServerCapabilities_ModellingRules = 2996;\n\n    /// <summary>\n    /// The identifier for the Server_ServerCapabilities_AggregateFunctions Object.\n    /// </summary>\n    public const uint Server_ServerCapabilities_AggregateFunctions = 2997;\n\n    /// <summary>\n    /// The identifier for the Server_ServerDiagnostics Object.\n    /// </summary>\n    public const uint Server_ServerDiagnostics = 2274;\n\n    /// <summary>\n    /// The identifier for the Server_ServerDiagnostics_SessionsDiagnosticsSummary Object.\n    /// </summary>\n    public const uint Server_ServerDiagnostics_SessionsDiagnosticsSummary = 3706;\n\n    /// <summary>\n    /// The identifier for the Server_VendorServerInfo Object.\n    /// </summary>\n    public const uint Server_VendorServerInfo = 2295;\n\n    /// <summary>\n    /// The identifier for the Server_ServerRedundancy Object.\n    /// </summary>\n    public const uint Server_ServerRedundancy = 2296;\n\n    /// <summary>\n    /// The identifier for the Server_Namespaces Object.\n    /// </summary>\n    public const uint Server_Namespaces = 11715;\n\n    /// <summary>\n    /// The identifier for the HistoryServerCapabilities Object.\n    /// </summary>\n    public const uint HistoryServerCapabilities = 11192;\n\n    /// <summary>\n    /// The identifier for the HistoryServerCapabilities_AggregateFunctions Object.\n    /// </summary>\n    public const uint HistoryServerCapabilities_AggregateFunctions = 11201;\n\n    /// <summary>\n    /// The identifier for the AlarmConditionType_ShelvingState Object.\n    /// </summary>\n    public const uint AlarmConditionType_ShelvingState = 9178;\n\n    /// <summary>\n    /// The identifier for the ShelvedStateMachineType_Unshelved Object.\n    /// </summary>\n    public const uint ShelvedStateMachineType_Unshelved = 2930;\n\n    /// <summary>\n    /// The identifier for the ShelvedStateMachineType_TimedShelved Object.\n    /// </summary>\n    public const uint ShelvedStateMachineType_TimedShelved = 2932;\n\n    /// <summary>\n    /// The identifier for the ShelvedStateMachineType_OneShotShelved Object.\n    /// </summary>\n    public const uint ShelvedStateMachineType_OneShotShelved = 2933;\n\n    /// <summary>\n    /// The identifier for the ShelvedStateMachineType_UnshelvedToTimedShelved Object.\n    /// </summary>\n    public const uint ShelvedStateMachineType_UnshelvedToTimedShelved = 2935;\n\n    /// <summary>\n    /// The identifier for the ShelvedStateMachineType_UnshelvedToOneShotShelved Object.\n    /// </summary>\n    public const uint ShelvedStateMachineType_UnshelvedToOneShotShelved = 2936;\n\n    /// <summary>\n    /// The identifier for the ShelvedStateMachineType_TimedShelvedToUnshelved Object.\n    /// </summary>\n    public const uint ShelvedStateMachineType_TimedShelvedToUnshelved = 2940;\n\n    /// <summary>\n    /// The identifier for the ShelvedStateMachineType_TimedShelvedToOneShotShelved Object.\n    /// </summary>\n    public const uint ShelvedStateMachineType_TimedShelvedToOneShotShelved = 2942;\n\n    /// <summary>\n    /// The identifier for the ShelvedStateMachineType_OneShotShelvedToUnshelved Object.\n    /// </summary>\n    public const uint ShelvedStateMachineType_OneShotShelvedToUnshelved = 2943;\n\n    /// <summary>\n    /// The identifier for the ShelvedStateMachineType_OneShotShelvedToTimedShelved Object.\n    /// </summary>\n    public const uint ShelvedStateMachineType_OneShotShelvedToTimedShelved = 2945;\n\n    /// <summary>\n    /// The identifier for the ExclusiveLimitStateMachineType_HighHigh Object.\n    /// </summary>\n    public const uint ExclusiveLimitStateMachineType_HighHigh = 9329;\n\n    /// <summary>\n    /// The identifier for the ExclusiveLimitStateMachineType_High Object.\n    /// </summary>\n    public const uint ExclusiveLimitStateMachineType_High = 9331;\n\n    /// <summary>\n    /// The identifier for the ExclusiveLimitStateMachineType_Low Object.\n    /// </summary>\n    public const uint ExclusiveLimitStateMachineType_Low = 9333;\n\n    /// <summary>\n    /// The identifier for the ExclusiveLimitStateMachineType_LowLow Object.\n    /// </summary>\n    public const uint ExclusiveLimitStateMachineType_LowLow = 9335;\n\n    /// <summary>\n    /// The identifier for the ExclusiveLimitStateMachineType_LowLowToLow Object.\n    /// </summary>\n    public const uint ExclusiveLimitStateMachineType_LowLowToLow = 9337;\n\n    /// <summary>\n    /// The identifier for the ExclusiveLimitStateMachineType_LowToLowLow Object.\n    /// </summary>\n    public const uint ExclusiveLimitStateMachineType_LowToLowLow = 9338;\n\n    /// <summary>\n    /// The identifier for the ExclusiveLimitStateMachineType_HighHighToHigh Object.\n    /// </summary>\n    public const uint ExclusiveLimitStateMachineType_HighHighToHigh = 9339;\n\n    /// <summary>\n    /// The identifier for the ExclusiveLimitStateMachineType_HighToHighHigh Object.\n    /// </summary>\n    public const uint ExclusiveLimitStateMachineType_HighToHighHigh = 9340;\n\n    /// <summary>\n    /// The identifier for the ExclusiveLimitAlarmType_LimitState Object.\n    /// </summary>\n    public const uint ExclusiveLimitAlarmType_LimitState = 9455;\n\n    /// <summary>\n    /// The identifier for the ProgramStateMachineType_FinalResultData Object.\n    /// </summary>\n    public const uint ProgramStateMachineType_FinalResultData = 3850;\n\n    /// <summary>\n    /// The identifier for the ProgramStateMachineType_Ready Object.\n    /// </summary>\n    public const uint ProgramStateMachineType_Ready = 2400;\n\n    /// <summary>\n    /// The identifier for the ProgramStateMachineType_Running Object.\n    /// </summary>\n    public const uint ProgramStateMachineType_Running = 2402;\n\n    /// <summary>\n    /// The identifier for the ProgramStateMachineType_Suspended Object.\n    /// </summary>\n    public const uint ProgramStateMachineType_Suspended = 2404;\n\n    /// <summary>\n    /// The identifier for the ProgramStateMachineType_Halted Object.\n    /// </summary>\n    public const uint ProgramStateMachineType_Halted = 2406;\n\n    /// <summary>\n    /// The identifier for the ProgramStateMachineType_HaltedToReady Object.\n    /// </summary>\n    public const uint ProgramStateMachineType_HaltedToReady = 2408;\n\n    /// <summary>\n    /// The identifier for the ProgramStateMachineType_ReadyToRunning Object.\n    /// </summary>\n    public const uint ProgramStateMachineType_ReadyToRunning = 2410;\n\n    /// <summary>\n    /// The identifier for the ProgramStateMachineType_RunningToHalted Object.\n    /// </summary>\n    public const uint ProgramStateMachineType_RunningToHalted = 2412;\n\n    /// <summary>\n    /// The identifier for the ProgramStateMachineType_RunningToReady Object.\n    /// </summary>\n    public const uint ProgramStateMachineType_RunningToReady = 2414;\n\n    /// <summary>\n    /// The identifier for the ProgramStateMachineType_RunningToSuspended Object.\n    /// </summary>\n    public const uint ProgramStateMachineType_RunningToSuspended = 2416;\n\n    /// <summary>\n    /// The identifier for the ProgramStateMachineType_SuspendedToRunning Object.\n    /// </summary>\n    public const uint ProgramStateMachineType_SuspendedToRunning = 2418;\n\n    /// <summary>\n    /// The identifier for the ProgramStateMachineType_SuspendedToHalted Object.\n    /// </summary>\n    public const uint ProgramStateMachineType_SuspendedToHalted = 2420;\n\n    /// <summary>\n    /// The identifier for the ProgramStateMachineType_SuspendedToReady Object.\n    /// </summary>\n    public const uint ProgramStateMachineType_SuspendedToReady = 2422;\n\n    /// <summary>\n    /// The identifier for the ProgramStateMachineType_ReadyToHalted Object.\n    /// </summary>\n    public const uint ProgramStateMachineType_ReadyToHalted = 2424;\n\n    /// <summary>\n    /// The identifier for the HistoricalDataConfigurationType_AggregateConfiguration Object.\n    /// </summary>\n    public const uint HistoricalDataConfigurationType_AggregateConfiguration = 3059;\n\n    /// <summary>\n    /// The identifier for the HistoricalDataConfigurationType_AggregateFunctions Object.\n    /// </summary>\n    public const uint HistoricalDataConfigurationType_AggregateFunctions = 11876;\n\n    /// <summary>\n    /// The identifier for the HAConfiguration Object.\n    /// </summary>\n    public const uint HAConfiguration = 11202;\n\n    /// <summary>\n    /// The identifier for the HAConfiguration_AggregateConfiguration Object.\n    /// </summary>\n    public const uint HAConfiguration_AggregateConfiguration = 11203;\n\n    /// <summary>\n    /// The identifier for the HistoryServerCapabilitiesType_AggregateFunctions Object.\n    /// </summary>\n    public const uint HistoryServerCapabilitiesType_AggregateFunctions = 11172;\n\n    /// <summary>\n    /// The identifier for the AggregateFunction_Interpolative Object.\n    /// </summary>\n    public const uint AggregateFunction_Interpolative = 2341;\n\n    /// <summary>\n    /// The identifier for the AggregateFunction_Average Object.\n    /// </summary>\n    public const uint AggregateFunction_Average = 2342;\n\n    /// <summary>\n    /// The identifier for the AggregateFunction_TimeAverage Object.\n    /// </summary>\n    public const uint AggregateFunction_TimeAverage = 2343;\n\n    /// <summary>\n    /// The identifier for the AggregateFunction_TimeAverage2 Object.\n    /// </summary>\n    public const uint AggregateFunction_TimeAverage2 = 11285;\n\n    /// <summary>\n    /// The identifier for the AggregateFunction_Total Object.\n    /// </summary>\n    public const uint AggregateFunction_Total = 2344;\n\n    /// <summary>\n    /// The identifier for the AggregateFunction_Total2 Object.\n    /// </summary>\n    public const uint AggregateFunction_Total2 = 11304;\n\n    /// <summary>\n    /// The identifier for the AggregateFunction_Minimum Object.\n    /// </summary>\n    public const uint AggregateFunction_Minimum = 2346;\n\n    /// <summary>\n    /// The identifier for the AggregateFunction_Maximum Object.\n    /// </summary>\n    public const uint AggregateFunction_Maximum = 2347;\n\n    /// <summary>\n    /// The identifier for the AggregateFunction_MinimumActualTime Object.\n    /// </summary>\n    public const uint AggregateFunction_MinimumActualTime = 2348;\n\n    /// <summary>\n    /// The identifier for the AggregateFunction_MaximumActualTime Object.\n    /// </summary>\n    public const uint AggregateFunction_MaximumActualTime = 2349;\n\n    /// <summary>\n    /// The identifier for the AggregateFunction_Range Object.\n    /// </summary>\n    public const uint AggregateFunction_Range = 2350;\n\n    /// <summary>\n    /// The identifier for the AggregateFunction_Minimum2 Object.\n    /// </summary>\n    public const uint AggregateFunction_Minimum2 = 11286;\n\n    /// <summary>\n    /// The identifier for the AggregateFunction_Maximum2 Object.\n    /// </summary>\n    public const uint AggregateFunction_Maximum2 = 11287;\n\n    /// <summary>\n    /// The identifier for the AggregateFunction_MinimumActualTime2 Object.\n    /// </summary>\n    public const uint AggregateFunction_MinimumActualTime2 = 11305;\n\n    /// <summary>\n    /// The identifier for the AggregateFunction_MaximumActualTime2 Object.\n    /// </summary>\n    public const uint AggregateFunction_MaximumActualTime2 = 11306;\n\n    /// <summary>\n    /// The identifier for the AggregateFunction_Range2 Object.\n    /// </summary>\n    public const uint AggregateFunction_Range2 = 11288;\n\n    /// <summary>\n    /// The identifier for the AggregateFunction_AnnotationCount Object.\n    /// </summary>\n    public const uint AggregateFunction_AnnotationCount = 2351;\n\n    /// <summary>\n    /// The identifier for the AggregateFunction_Count Object.\n    /// </summary>\n    public const uint AggregateFunction_Count = 2352;\n\n    /// <summary>\n    /// The identifier for the AggregateFunction_DurationInStateZero Object.\n    /// </summary>\n    public const uint AggregateFunction_DurationInStateZero = 11307;\n\n    /// <summary>\n    /// The identifier for the AggregateFunction_DurationInStateNonZero Object.\n    /// </summary>\n    public const uint AggregateFunction_DurationInStateNonZero = 11308;\n\n    /// <summary>\n    /// The identifier for the AggregateFunction_NumberOfTransitions Object.\n    /// </summary>\n    public const uint AggregateFunction_NumberOfTransitions = 2355;\n\n    /// <summary>\n    /// The identifier for the AggregateFunction_Start Object.\n    /// </summary>\n    public const uint AggregateFunction_Start = 2357;\n\n    /// <summary>\n    /// The identifier for the AggregateFunction_End Object.\n    /// </summary>\n    public const uint AggregateFunction_End = 2358;\n\n    /// <summary>\n    /// The identifier for the AggregateFunction_Delta Object.\n    /// </summary>\n    public const uint AggregateFunction_Delta = 2359;\n\n    /// <summary>\n    /// The identifier for the AggregateFunction_StartBound Object.\n    /// </summary>\n    public const uint AggregateFunction_StartBound = 11505;\n\n    /// <summary>\n    /// The identifier for the AggregateFunction_EndBound Object.\n    /// </summary>\n    public const uint AggregateFunction_EndBound = 11506;\n\n    /// <summary>\n    /// The identifier for the AggregateFunction_DeltaBounds Object.\n    /// </summary>\n    public const uint AggregateFunction_DeltaBounds = 11507;\n\n    /// <summary>\n    /// The identifier for the AggregateFunction_DurationGood Object.\n    /// </summary>\n    public const uint AggregateFunction_DurationGood = 2360;\n\n    /// <summary>\n    /// The identifier for the AggregateFunction_DurationBad Object.\n    /// </summary>\n    public const uint AggregateFunction_DurationBad = 2361;\n\n    /// <summary>\n    /// The identifier for the AggregateFunction_PercentGood Object.\n    /// </summary>\n    public const uint AggregateFunction_PercentGood = 2362;\n\n    /// <summary>\n    /// The identifier for the AggregateFunction_PercentBad Object.\n    /// </summary>\n    public const uint AggregateFunction_PercentBad = 2363;\n\n    /// <summary>\n    /// The identifier for the AggregateFunction_WorstQuality Object.\n    /// </summary>\n    public const uint AggregateFunction_WorstQuality = 2364;\n\n    /// <summary>\n    /// The identifier for the AggregateFunction_WorstQuality2 Object.\n    /// </summary>\n    public const uint AggregateFunction_WorstQuality2 = 11292;\n\n    /// <summary>\n    /// The identifier for the AggregateFunction_StandardDeviationSample Object.\n    /// </summary>\n    public const uint AggregateFunction_StandardDeviationSample = 11426;\n\n    /// <summary>\n    /// The identifier for the AggregateFunction_StandardDeviationPopulation Object.\n    /// </summary>\n    public const uint AggregateFunction_StandardDeviationPopulation = 11427;\n\n    /// <summary>\n    /// The identifier for the AggregateFunction_VarianceSample Object.\n    /// </summary>\n    public const uint AggregateFunction_VarianceSample = 11428;\n\n    /// <summary>\n    /// The identifier for the AggregateFunction_VariancePopulation Object.\n    /// </summary>\n    public const uint AggregateFunction_VariancePopulation = 11429;\n\n    /// <summary>\n    /// The identifier for the ServerLock Object.\n    /// </summary>\n    public const uint ServerLock = 8924;\n\n    /// <summary>\n    /// The identifier for the Node_Encoding_DefaultXml Object.\n    /// </summary>\n    public const uint Node_Encoding_DefaultXml = 259;\n\n    /// <summary>\n    /// The identifier for the InstanceNode_Encoding_DefaultXml Object.\n    /// </summary>\n    public const uint InstanceNode_Encoding_DefaultXml = 11887;\n\n    /// <summary>\n    /// The identifier for the TypeNode_Encoding_DefaultXml Object.\n    /// </summary>\n    public const uint TypeNode_Encoding_DefaultXml = 11888;\n\n    /// <summary>\n    /// The identifier for the ObjectNode_Encoding_DefaultXml Object.\n    /// </summary>\n    public const uint ObjectNode_Encoding_DefaultXml = 262;\n\n    /// <summary>\n    /// The identifier for the ObjectTypeNode_Encoding_DefaultXml Object.\n    /// </summary>\n    public const uint ObjectTypeNode_Encoding_DefaultXml = 265;\n\n    /// <summary>\n    /// The identifier for the VariableNode_Encoding_DefaultXml Object.\n    /// </summary>\n    public const uint VariableNode_Encoding_DefaultXml = 268;\n\n    /// <summary>\n    /// The identifier for the VariableTypeNode_Encoding_DefaultXml Object.\n    /// </summary>\n    public const uint VariableTypeNode_Encoding_DefaultXml = 271;\n\n    /// <summary>\n    /// The identifier for the ReferenceTypeNode_Encoding_DefaultXml Object.\n    /// </summary>\n    public const uint ReferenceTypeNode_Encoding_DefaultXml = 274;\n\n    /// <summary>\n    /// The identifier for the MethodNode_Encoding_DefaultXml Object.\n    /// </summary>\n    public const uint MethodNode_Encoding_DefaultXml = 277;\n\n    /// <summary>\n    /// The identifier for the ViewNode_Encoding_DefaultXml Object.\n    /// </summary>\n    public const uint ViewNode_Encoding_DefaultXml = 280;\n\n    /// <summary>\n    /// The identifier for the DataTypeNode_Encoding_DefaultXml Object.\n    /// </summary>\n    public const uint DataTypeNode_Encoding_DefaultXml = 283;\n\n    /// <summary>\n    /// The identifier for the ReferenceNode_Encoding_DefaultXml Object.\n    /// </summary>\n    public const uint ReferenceNode_Encoding_DefaultXml = 286;\n\n    /// <summary>\n    /// The identifier for the Argument_Encoding_DefaultXml Object.\n    /// </summary>\n    public const uint Argument_Encoding_DefaultXml = 297;\n\n    /// <summary>\n    /// The identifier for the EnumValueType_Encoding_DefaultXml Object.\n    /// </summary>\n    public const uint EnumValueType_Encoding_DefaultXml = 7616;\n\n    /// <summary>\n    /// The identifier for the TimeZoneDataType_Encoding_DefaultXml Object.\n    /// </summary>\n    public const uint TimeZoneDataType_Encoding_DefaultXml = 8913;\n\n    /// <summary>\n    /// The identifier for the ApplicationDescription_Encoding_DefaultXml Object.\n    /// </summary>\n    public const uint ApplicationDescription_Encoding_DefaultXml = 309;\n\n    /// <summary>\n    /// The identifier for the RequestHeader_Encoding_DefaultXml Object.\n    /// </summary>\n    public const uint RequestHeader_Encoding_DefaultXml = 390;\n\n    /// <summary>\n    /// The identifier for the ResponseHeader_Encoding_DefaultXml Object.\n    /// </summary>\n    public const uint ResponseHeader_Encoding_DefaultXml = 393;\n\n    /// <summary>\n    /// The identifier for the ServiceFault_Encoding_DefaultXml Object.\n    /// </summary>\n    public const uint ServiceFault_Encoding_DefaultXml = 396;\n\n    /// <summary>\n    /// The identifier for the DnsServiceRecord_Encoding_DefaultXml Object.\n    /// </summary>\n    public const uint DnsServiceRecord_Encoding_DefaultXml = 12192;\n\n    /// <summary>\n    /// The identifier for the FindDnsServicesRequest_Encoding_DefaultXml Object.\n    /// </summary>\n    public const uint FindDnsServicesRequest_Encoding_DefaultXml = 12193;\n\n    /// <summary>\n    /// The identifier for the FindDnsServicesResponse_Encoding_DefaultXml Object.\n    /// </summary>\n    public const uint FindDnsServicesResponse_Encoding_DefaultXml = 12194;\n\n    /// <summary>\n    /// The identifier for the FindServersRequest_Encoding_DefaultXml Object.\n    /// </summary>\n    public const uint FindServersRequest_Encoding_DefaultXml = 421;\n\n    /// <summary>\n    /// The identifier for the FindServersResponse_Encoding_DefaultXml Object.\n    /// </summary>\n    public const uint FindServersResponse_Encoding_DefaultXml = 424;\n\n    /// <summary>\n    /// The identifier for the UserTokenPolicy_Encoding_DefaultXml Object.\n    /// </summary>\n    public const uint UserTokenPolicy_Encoding_DefaultXml = 305;\n\n    /// <summary>\n    /// The identifier for the EndpointDescription_Encoding_DefaultXml Object.\n    /// </summary>\n    public const uint EndpointDescription_Encoding_DefaultXml = 313;\n\n    /// <summary>\n    /// The identifier for the GetEndpointsRequest_Encoding_DefaultXml Object.\n    /// </summary>\n    public const uint GetEndpointsRequest_Encoding_DefaultXml = 427;\n\n    /// <summary>\n    /// The identifier for the GetEndpointsResponse_Encoding_DefaultXml Object.\n    /// </summary>\n    public const uint GetEndpointsResponse_Encoding_DefaultXml = 430;\n\n    /// <summary>\n    /// The identifier for the RegisteredServer_Encoding_DefaultXml Object.\n    /// </summary>\n    public const uint RegisteredServer_Encoding_DefaultXml = 433;\n\n    /// <summary>\n    /// The identifier for the RegisterServerRequest_Encoding_DefaultXml Object.\n    /// </summary>\n    public const uint RegisterServerRequest_Encoding_DefaultXml = 436;\n\n    /// <summary>\n    /// The identifier for the RegisterServerResponse_Encoding_DefaultXml Object.\n    /// </summary>\n    public const uint RegisterServerResponse_Encoding_DefaultXml = 439;\n\n    /// <summary>\n    /// The identifier for the ChannelSecurityToken_Encoding_DefaultXml Object.\n    /// </summary>\n    public const uint ChannelSecurityToken_Encoding_DefaultXml = 442;\n\n    /// <summary>\n    /// The identifier for the OpenSecureChannelRequest_Encoding_DefaultXml Object.\n    /// </summary>\n    public const uint OpenSecureChannelRequest_Encoding_DefaultXml = 445;\n\n    /// <summary>\n    /// The identifier for the OpenSecureChannelResponse_Encoding_DefaultXml Object.\n    /// </summary>\n    public const uint OpenSecureChannelResponse_Encoding_DefaultXml = 448;\n\n    /// <summary>\n    /// The identifier for the CloseSecureChannelRequest_Encoding_DefaultXml Object.\n    /// </summary>\n    public const uint CloseSecureChannelRequest_Encoding_DefaultXml = 451;\n\n    /// <summary>\n    /// The identifier for the CloseSecureChannelResponse_Encoding_DefaultXml Object.\n    /// </summary>\n    public const uint CloseSecureChannelResponse_Encoding_DefaultXml = 454;\n\n    /// <summary>\n    /// The identifier for the SignedSoftwareCertificate_Encoding_DefaultXml Object.\n    /// </summary>\n    public const uint SignedSoftwareCertificate_Encoding_DefaultXml = 345;\n\n    /// <summary>\n    /// The identifier for the SignatureData_Encoding_DefaultXml Object.\n    /// </summary>\n    public const uint SignatureData_Encoding_DefaultXml = 457;\n\n    /// <summary>\n    /// The identifier for the CreateSessionRequest_Encoding_DefaultXml Object.\n    /// </summary>\n    public const uint CreateSessionRequest_Encoding_DefaultXml = 460;\n\n    /// <summary>\n    /// The identifier for the CreateSessionResponse_Encoding_DefaultXml Object.\n    /// </summary>\n    public const uint CreateSessionResponse_Encoding_DefaultXml = 463;\n\n    /// <summary>\n    /// The identifier for the UserIdentityToken_Encoding_DefaultXml Object.\n    /// </summary>\n    public const uint UserIdentityToken_Encoding_DefaultXml = 317;\n\n    /// <summary>\n    /// The identifier for the AnonymousIdentityToken_Encoding_DefaultXml Object.\n    /// </summary>\n    public const uint AnonymousIdentityToken_Encoding_DefaultXml = 320;\n\n    /// <summary>\n    /// The identifier for the UserNameIdentityToken_Encoding_DefaultXml Object.\n    /// </summary>\n    public const uint UserNameIdentityToken_Encoding_DefaultXml = 323;\n\n    /// <summary>\n    /// The identifier for the X509IdentityToken_Encoding_DefaultXml Object.\n    /// </summary>\n    public const uint X509IdentityToken_Encoding_DefaultXml = 326;\n\n    /// <summary>\n    /// The identifier for the IssuedIdentityToken_Encoding_DefaultXml Object.\n    /// </summary>\n    public const uint IssuedIdentityToken_Encoding_DefaultXml = 939;\n\n    /// <summary>\n    /// The identifier for the ActivateSessionRequest_Encoding_DefaultXml Object.\n    /// </summary>\n    public const uint ActivateSessionRequest_Encoding_DefaultXml = 466;\n\n    /// <summary>\n    /// The identifier for the ActivateSessionResponse_Encoding_DefaultXml Object.\n    /// </summary>\n    public const uint ActivateSessionResponse_Encoding_DefaultXml = 469;\n\n    /// <summary>\n    /// The identifier for the CloseSessionRequest_Encoding_DefaultXml Object.\n    /// </summary>\n    public const uint CloseSessionRequest_Encoding_DefaultXml = 472;\n\n    /// <summary>\n    /// The identifier for the CloseSessionResponse_Encoding_DefaultXml Object.\n    /// </summary>\n    public const uint CloseSessionResponse_Encoding_DefaultXml = 475;\n\n    /// <summary>\n    /// The identifier for the CancelRequest_Encoding_DefaultXml Object.\n    /// </summary>\n    public const uint CancelRequest_Encoding_DefaultXml = 478;\n\n    /// <summary>\n    /// The identifier for the CancelResponse_Encoding_DefaultXml Object.\n    /// </summary>\n    public const uint CancelResponse_Encoding_DefaultXml = 481;\n\n    /// <summary>\n    /// The identifier for the NodeAttributes_Encoding_DefaultXml Object.\n    /// </summary>\n    public const uint NodeAttributes_Encoding_DefaultXml = 350;\n\n    /// <summary>\n    /// The identifier for the ObjectAttributes_Encoding_DefaultXml Object.\n    /// </summary>\n    public const uint ObjectAttributes_Encoding_DefaultXml = 353;\n\n    /// <summary>\n    /// The identifier for the VariableAttributes_Encoding_DefaultXml Object.\n    /// </summary>\n    public const uint VariableAttributes_Encoding_DefaultXml = 356;\n\n    /// <summary>\n    /// The identifier for the MethodAttributes_Encoding_DefaultXml Object.\n    /// </summary>\n    public const uint MethodAttributes_Encoding_DefaultXml = 359;\n\n    /// <summary>\n    /// The identifier for the ObjectTypeAttributes_Encoding_DefaultXml Object.\n    /// </summary>\n    public const uint ObjectTypeAttributes_Encoding_DefaultXml = 362;\n\n    /// <summary>\n    /// The identifier for the VariableTypeAttributes_Encoding_DefaultXml Object.\n    /// </summary>\n    public const uint VariableTypeAttributes_Encoding_DefaultXml = 365;\n\n    /// <summary>\n    /// The identifier for the ReferenceTypeAttributes_Encoding_DefaultXml Object.\n    /// </summary>\n    public const uint ReferenceTypeAttributes_Encoding_DefaultXml = 368;\n\n    /// <summary>\n    /// The identifier for the DataTypeAttributes_Encoding_DefaultXml Object.\n    /// </summary>\n    public const uint DataTypeAttributes_Encoding_DefaultXml = 371;\n\n    /// <summary>\n    /// The identifier for the ViewAttributes_Encoding_DefaultXml Object.\n    /// </summary>\n    public const uint ViewAttributes_Encoding_DefaultXml = 374;\n\n    /// <summary>\n    /// The identifier for the AddNodesItem_Encoding_DefaultXml Object.\n    /// </summary>\n    public const uint AddNodesItem_Encoding_DefaultXml = 377;\n\n    /// <summary>\n    /// The identifier for the AddNodesResult_Encoding_DefaultXml Object.\n    /// </summary>\n    public const uint AddNodesResult_Encoding_DefaultXml = 484;\n\n    /// <summary>\n    /// The identifier for the AddNodesRequest_Encoding_DefaultXml Object.\n    /// </summary>\n    public const uint AddNodesRequest_Encoding_DefaultXml = 487;\n\n    /// <summary>\n    /// The identifier for the AddNodesResponse_Encoding_DefaultXml Object.\n    /// </summary>\n    public const uint AddNodesResponse_Encoding_DefaultXml = 490;\n\n    /// <summary>\n    /// The identifier for the AddReferencesItem_Encoding_DefaultXml Object.\n    /// </summary>\n    public const uint AddReferencesItem_Encoding_DefaultXml = 380;\n\n    /// <summary>\n    /// The identifier for the AddReferencesRequest_Encoding_DefaultXml Object.\n    /// </summary>\n    public const uint AddReferencesRequest_Encoding_DefaultXml = 493;\n\n    /// <summary>\n    /// The identifier for the AddReferencesResponse_Encoding_DefaultXml Object.\n    /// </summary>\n    public const uint AddReferencesResponse_Encoding_DefaultXml = 496;\n\n    /// <summary>\n    /// The identifier for the DeleteNodesItem_Encoding_DefaultXml Object.\n    /// </summary>\n    public const uint DeleteNodesItem_Encoding_DefaultXml = 383;\n\n    /// <summary>\n    /// The identifier for the DeleteNodesRequest_Encoding_DefaultXml Object.\n    /// </summary>\n    public const uint DeleteNodesRequest_Encoding_DefaultXml = 499;\n\n    /// <summary>\n    /// The identifier for the DeleteNodesResponse_Encoding_DefaultXml Object.\n    /// </summary>\n    public const uint DeleteNodesResponse_Encoding_DefaultXml = 502;\n\n    /// <summary>\n    /// The identifier for the DeleteReferencesItem_Encoding_DefaultXml Object.\n    /// </summary>\n    public const uint DeleteReferencesItem_Encoding_DefaultXml = 386;\n\n    /// <summary>\n    /// The identifier for the DeleteReferencesRequest_Encoding_DefaultXml Object.\n    /// </summary>\n    public const uint DeleteReferencesRequest_Encoding_DefaultXml = 505;\n\n    /// <summary>\n    /// The identifier for the DeleteReferencesResponse_Encoding_DefaultXml Object.\n    /// </summary>\n    public const uint DeleteReferencesResponse_Encoding_DefaultXml = 508;\n\n    /// <summary>\n    /// The identifier for the ViewDescription_Encoding_DefaultXml Object.\n    /// </summary>\n    public const uint ViewDescription_Encoding_DefaultXml = 512;\n\n    /// <summary>\n    /// The identifier for the BrowseDescription_Encoding_DefaultXml Object.\n    /// </summary>\n    public const uint BrowseDescription_Encoding_DefaultXml = 515;\n\n    /// <summary>\n    /// The identifier for the ReferenceDescription_Encoding_DefaultXml Object.\n    /// </summary>\n    public const uint ReferenceDescription_Encoding_DefaultXml = 519;\n\n    /// <summary>\n    /// The identifier for the BrowseResult_Encoding_DefaultXml Object.\n    /// </summary>\n    public const uint BrowseResult_Encoding_DefaultXml = 523;\n\n    /// <summary>\n    /// The identifier for the BrowseRequest_Encoding_DefaultXml Object.\n    /// </summary>\n    public const uint BrowseRequest_Encoding_DefaultXml = 526;\n\n    /// <summary>\n    /// The identifier for the BrowseResponse_Encoding_DefaultXml Object.\n    /// </summary>\n    public const uint BrowseResponse_Encoding_DefaultXml = 529;\n\n    /// <summary>\n    /// The identifier for the BrowseNextRequest_Encoding_DefaultXml Object.\n    /// </summary>\n    public const uint BrowseNextRequest_Encoding_DefaultXml = 532;\n\n    /// <summary>\n    /// The identifier for the BrowseNextResponse_Encoding_DefaultXml Object.\n    /// </summary>\n    public const uint BrowseNextResponse_Encoding_DefaultXml = 535;\n\n    /// <summary>\n    /// The identifier for the RelativePathElement_Encoding_DefaultXml Object.\n    /// </summary>\n    public const uint RelativePathElement_Encoding_DefaultXml = 538;\n\n    /// <summary>\n    /// The identifier for the RelativePath_Encoding_DefaultXml Object.\n    /// </summary>\n    public const uint RelativePath_Encoding_DefaultXml = 541;\n\n    /// <summary>\n    /// The identifier for the BrowsePath_Encoding_DefaultXml Object.\n    /// </summary>\n    public const uint BrowsePath_Encoding_DefaultXml = 544;\n\n    /// <summary>\n    /// The identifier for the BrowsePathTarget_Encoding_DefaultXml Object.\n    /// </summary>\n    public const uint BrowsePathTarget_Encoding_DefaultXml = 547;\n\n    /// <summary>\n    /// The identifier for the BrowsePathResult_Encoding_DefaultXml Object.\n    /// </summary>\n    public const uint BrowsePathResult_Encoding_DefaultXml = 550;\n\n    /// <summary>\n    /// The identifier for the TranslateBrowsePathsToNodeIdsRequest_Encoding_DefaultXml Object.\n    /// </summary>\n    public const uint TranslateBrowsePathsToNodeIdsRequest_Encoding_DefaultXml = 553;\n\n    /// <summary>\n    /// The identifier for the TranslateBrowsePathsToNodeIdsResponse_Encoding_DefaultXml Object.\n    /// </summary>\n    public const uint TranslateBrowsePathsToNodeIdsResponse_Encoding_DefaultXml = 556;\n\n    /// <summary>\n    /// The identifier for the RegisterNodesRequest_Encoding_DefaultXml Object.\n    /// </summary>\n    public const uint RegisterNodesRequest_Encoding_DefaultXml = 559;\n\n    /// <summary>\n    /// The identifier for the RegisterNodesResponse_Encoding_DefaultXml Object.\n    /// </summary>\n    public const uint RegisterNodesResponse_Encoding_DefaultXml = 562;\n\n    /// <summary>\n    /// The identifier for the UnregisterNodesRequest_Encoding_DefaultXml Object.\n    /// </summary>\n    public const uint UnregisterNodesRequest_Encoding_DefaultXml = 565;\n\n    /// <summary>\n    /// The identifier for the UnregisterNodesResponse_Encoding_DefaultXml Object.\n    /// </summary>\n    public const uint UnregisterNodesResponse_Encoding_DefaultXml = 568;\n\n    /// <summary>\n    /// The identifier for the EndpointConfiguration_Encoding_DefaultXml Object.\n    /// </summary>\n    public const uint EndpointConfiguration_Encoding_DefaultXml = 332;\n\n    /// <summary>\n    /// The identifier for the SupportedProfile_Encoding_DefaultXml Object.\n    /// </summary>\n    public const uint SupportedProfile_Encoding_DefaultXml = 336;\n\n    /// <summary>\n    /// The identifier for the SoftwareCertificate_Encoding_DefaultXml Object.\n    /// </summary>\n    public const uint SoftwareCertificate_Encoding_DefaultXml = 342;\n\n    /// <summary>\n    /// The identifier for the QueryDataDescription_Encoding_DefaultXml Object.\n    /// </summary>\n    public const uint QueryDataDescription_Encoding_DefaultXml = 571;\n\n    /// <summary>\n    /// The identifier for the NodeTypeDescription_Encoding_DefaultXml Object.\n    /// </summary>\n    public const uint NodeTypeDescription_Encoding_DefaultXml = 574;\n\n    /// <summary>\n    /// The identifier for the QueryDataSet_Encoding_DefaultXml Object.\n    /// </summary>\n    public const uint QueryDataSet_Encoding_DefaultXml = 578;\n\n    /// <summary>\n    /// The identifier for the NodeReference_Encoding_DefaultXml Object.\n    /// </summary>\n    public const uint NodeReference_Encoding_DefaultXml = 581;\n\n    /// <summary>\n    /// The identifier for the ContentFilterElement_Encoding_DefaultXml Object.\n    /// </summary>\n    public const uint ContentFilterElement_Encoding_DefaultXml = 584;\n\n    /// <summary>\n    /// The identifier for the ContentFilter_Encoding_DefaultXml Object.\n    /// </summary>\n    public const uint ContentFilter_Encoding_DefaultXml = 587;\n\n    /// <summary>\n    /// The identifier for the FilterOperand_Encoding_DefaultXml Object.\n    /// </summary>\n    public const uint FilterOperand_Encoding_DefaultXml = 590;\n\n    /// <summary>\n    /// The identifier for the ElementOperand_Encoding_DefaultXml Object.\n    /// </summary>\n    public const uint ElementOperand_Encoding_DefaultXml = 593;\n\n    /// <summary>\n    /// The identifier for the LiteralOperand_Encoding_DefaultXml Object.\n    /// </summary>\n    public const uint LiteralOperand_Encoding_DefaultXml = 596;\n\n    /// <summary>\n    /// The identifier for the AttributeOperand_Encoding_DefaultXml Object.\n    /// </summary>\n    public const uint AttributeOperand_Encoding_DefaultXml = 599;\n\n    /// <summary>\n    /// The identifier for the SimpleAttributeOperand_Encoding_DefaultXml Object.\n    /// </summary>\n    public const uint SimpleAttributeOperand_Encoding_DefaultXml = 602;\n\n    /// <summary>\n    /// The identifier for the ContentFilterElementResult_Encoding_DefaultXml Object.\n    /// </summary>\n    public const uint ContentFilterElementResult_Encoding_DefaultXml = 605;\n\n    /// <summary>\n    /// The identifier for the ContentFilterResult_Encoding_DefaultXml Object.\n    /// </summary>\n    public const uint ContentFilterResult_Encoding_DefaultXml = 608;\n\n    /// <summary>\n    /// The identifier for the ParsingResult_Encoding_DefaultXml Object.\n    /// </summary>\n    public const uint ParsingResult_Encoding_DefaultXml = 611;\n\n    /// <summary>\n    /// The identifier for the QueryFirstRequest_Encoding_DefaultXml Object.\n    /// </summary>\n    public const uint QueryFirstRequest_Encoding_DefaultXml = 614;\n\n    /// <summary>\n    /// The identifier for the QueryFirstResponse_Encoding_DefaultXml Object.\n    /// </summary>\n    public const uint QueryFirstResponse_Encoding_DefaultXml = 617;\n\n    /// <summary>\n    /// The identifier for the QueryNextRequest_Encoding_DefaultXml Object.\n    /// </summary>\n    public const uint QueryNextRequest_Encoding_DefaultXml = 620;\n\n    /// <summary>\n    /// The identifier for the QueryNextResponse_Encoding_DefaultXml Object.\n    /// </summary>\n    public const uint QueryNextResponse_Encoding_DefaultXml = 623;\n\n    /// <summary>\n    /// The identifier for the ReadValueId_Encoding_DefaultXml Object.\n    /// </summary>\n    public const uint ReadValueId_Encoding_DefaultXml = 627;\n\n    /// <summary>\n    /// The identifier for the ReadRequest_Encoding_DefaultXml Object.\n    /// </summary>\n    public const uint ReadRequest_Encoding_DefaultXml = 630;\n\n    /// <summary>\n    /// The identifier for the ReadResponse_Encoding_DefaultXml Object.\n    /// </summary>\n    public const uint ReadResponse_Encoding_DefaultXml = 633;\n\n    /// <summary>\n    /// The identifier for the HistoryReadValueId_Encoding_DefaultXml Object.\n    /// </summary>\n    public const uint HistoryReadValueId_Encoding_DefaultXml = 636;\n\n    /// <summary>\n    /// The identifier for the HistoryReadResult_Encoding_DefaultXml Object.\n    /// </summary>\n    public const uint HistoryReadResult_Encoding_DefaultXml = 639;\n\n    /// <summary>\n    /// The identifier for the HistoryReadDetails_Encoding_DefaultXml Object.\n    /// </summary>\n    public const uint HistoryReadDetails_Encoding_DefaultXml = 642;\n\n    /// <summary>\n    /// The identifier for the ReadEventDetails_Encoding_DefaultXml Object.\n    /// </summary>\n    public const uint ReadEventDetails_Encoding_DefaultXml = 645;\n\n    /// <summary>\n    /// The identifier for the ReadRawModifiedDetails_Encoding_DefaultXml Object.\n    /// </summary>\n    public const uint ReadRawModifiedDetails_Encoding_DefaultXml = 648;\n\n    /// <summary>\n    /// The identifier for the ReadProcessedDetails_Encoding_DefaultXml Object.\n    /// </summary>\n    public const uint ReadProcessedDetails_Encoding_DefaultXml = 651;\n\n    /// <summary>\n    /// The identifier for the ReadAtTimeDetails_Encoding_DefaultXml Object.\n    /// </summary>\n    public const uint ReadAtTimeDetails_Encoding_DefaultXml = 654;\n\n    /// <summary>\n    /// The identifier for the HistoryData_Encoding_DefaultXml Object.\n    /// </summary>\n    public const uint HistoryData_Encoding_DefaultXml = 657;\n\n    /// <summary>\n    /// The identifier for the ModificationInfo_Encoding_DefaultXml Object.\n    /// </summary>\n    public const uint ModificationInfo_Encoding_DefaultXml = 11218;\n\n    /// <summary>\n    /// The identifier for the HistoryModifiedData_Encoding_DefaultXml Object.\n    /// </summary>\n    public const uint HistoryModifiedData_Encoding_DefaultXml = 11219;\n\n    /// <summary>\n    /// The identifier for the HistoryEvent_Encoding_DefaultXml Object.\n    /// </summary>\n    public const uint HistoryEvent_Encoding_DefaultXml = 660;\n\n    /// <summary>\n    /// The identifier for the HistoryReadRequest_Encoding_DefaultXml Object.\n    /// </summary>\n    public const uint HistoryReadRequest_Encoding_DefaultXml = 663;\n\n    /// <summary>\n    /// The identifier for the HistoryReadResponse_Encoding_DefaultXml Object.\n    /// </summary>\n    public const uint HistoryReadResponse_Encoding_DefaultXml = 666;\n\n    /// <summary>\n    /// The identifier for the WriteValue_Encoding_DefaultXml Object.\n    /// </summary>\n    public const uint WriteValue_Encoding_DefaultXml = 669;\n\n    /// <summary>\n    /// The identifier for the WriteRequest_Encoding_DefaultXml Object.\n    /// </summary>\n    public const uint WriteRequest_Encoding_DefaultXml = 672;\n\n    /// <summary>\n    /// The identifier for the WriteResponse_Encoding_DefaultXml Object.\n    /// </summary>\n    public const uint WriteResponse_Encoding_DefaultXml = 675;\n\n    /// <summary>\n    /// The identifier for the HistoryUpdateDetails_Encoding_DefaultXml Object.\n    /// </summary>\n    public const uint HistoryUpdateDetails_Encoding_DefaultXml = 678;\n\n    /// <summary>\n    /// The identifier for the UpdateDataDetails_Encoding_DefaultXml Object.\n    /// </summary>\n    public const uint UpdateDataDetails_Encoding_DefaultXml = 681;\n\n    /// <summary>\n    /// The identifier for the UpdateStructureDataDetails_Encoding_DefaultXml Object.\n    /// </summary>\n    public const uint UpdateStructureDataDetails_Encoding_DefaultXml = 11296;\n\n    /// <summary>\n    /// The identifier for the UpdateEventDetails_Encoding_DefaultXml Object.\n    /// </summary>\n    public const uint UpdateEventDetails_Encoding_DefaultXml = 684;\n\n    /// <summary>\n    /// The identifier for the DeleteRawModifiedDetails_Encoding_DefaultXml Object.\n    /// </summary>\n    public const uint DeleteRawModifiedDetails_Encoding_DefaultXml = 687;\n\n    /// <summary>\n    /// The identifier for the DeleteAtTimeDetails_Encoding_DefaultXml Object.\n    /// </summary>\n    public const uint DeleteAtTimeDetails_Encoding_DefaultXml = 690;\n\n    /// <summary>\n    /// The identifier for the DeleteEventDetails_Encoding_DefaultXml Object.\n    /// </summary>\n    public const uint DeleteEventDetails_Encoding_DefaultXml = 693;\n\n    /// <summary>\n    /// The identifier for the HistoryUpdateResult_Encoding_DefaultXml Object.\n    /// </summary>\n    public const uint HistoryUpdateResult_Encoding_DefaultXml = 696;\n\n    /// <summary>\n    /// The identifier for the HistoryUpdateEventResult_Encoding_DefaultXml Object.\n    /// </summary>\n    public const uint HistoryUpdateEventResult_Encoding_DefaultXml = 930;\n\n    /// <summary>\n    /// The identifier for the HistoryUpdateRequest_Encoding_DefaultXml Object.\n    /// </summary>\n    public const uint HistoryUpdateRequest_Encoding_DefaultXml = 699;\n\n    /// <summary>\n    /// The identifier for the HistoryUpdateResponse_Encoding_DefaultXml Object.\n    /// </summary>\n    public const uint HistoryUpdateResponse_Encoding_DefaultXml = 702;\n\n    /// <summary>\n    /// The identifier for the CallMethodRequest_Encoding_DefaultXml Object.\n    /// </summary>\n    public const uint CallMethodRequest_Encoding_DefaultXml = 705;\n\n    /// <summary>\n    /// The identifier for the CallMethodResult_Encoding_DefaultXml Object.\n    /// </summary>\n    public const uint CallMethodResult_Encoding_DefaultXml = 708;\n\n    /// <summary>\n    /// The identifier for the CallRequest_Encoding_DefaultXml Object.\n    /// </summary>\n    public const uint CallRequest_Encoding_DefaultXml = 711;\n\n    /// <summary>\n    /// The identifier for the CallResponse_Encoding_DefaultXml Object.\n    /// </summary>\n    public const uint CallResponse_Encoding_DefaultXml = 714;\n\n    /// <summary>\n    /// The identifier for the MonitoringFilter_Encoding_DefaultXml Object.\n    /// </summary>\n    public const uint MonitoringFilter_Encoding_DefaultXml = 720;\n\n    /// <summary>\n    /// The identifier for the DataChangeFilter_Encoding_DefaultXml Object.\n    /// </summary>\n    public const uint DataChangeFilter_Encoding_DefaultXml = 723;\n\n    /// <summary>\n    /// The identifier for the EventFilter_Encoding_DefaultXml Object.\n    /// </summary>\n    public const uint EventFilter_Encoding_DefaultXml = 726;\n\n    /// <summary>\n    /// The identifier for the AggregateConfiguration_Encoding_DefaultXml Object.\n    /// </summary>\n    public const uint AggregateConfiguration_Encoding_DefaultXml = 949;\n\n    /// <summary>\n    /// The identifier for the AggregateFilter_Encoding_DefaultXml Object.\n    /// </summary>\n    public const uint AggregateFilter_Encoding_DefaultXml = 729;\n\n    /// <summary>\n    /// The identifier for the MonitoringFilterResult_Encoding_DefaultXml Object.\n    /// </summary>\n    public const uint MonitoringFilterResult_Encoding_DefaultXml = 732;\n\n    /// <summary>\n    /// The identifier for the EventFilterResult_Encoding_DefaultXml Object.\n    /// </summary>\n    public const uint EventFilterResult_Encoding_DefaultXml = 735;\n\n    /// <summary>\n    /// The identifier for the AggregateFilterResult_Encoding_DefaultXml Object.\n    /// </summary>\n    public const uint AggregateFilterResult_Encoding_DefaultXml = 738;\n\n    /// <summary>\n    /// The identifier for the MonitoringParameters_Encoding_DefaultXml Object.\n    /// </summary>\n    public const uint MonitoringParameters_Encoding_DefaultXml = 741;\n\n    /// <summary>\n    /// The identifier for the MonitoredItemCreateRequest_Encoding_DefaultXml Object.\n    /// </summary>\n    public const uint MonitoredItemCreateRequest_Encoding_DefaultXml = 744;\n\n    /// <summary>\n    /// The identifier for the MonitoredItemCreateResult_Encoding_DefaultXml Object.\n    /// </summary>\n    public const uint MonitoredItemCreateResult_Encoding_DefaultXml = 747;\n\n    /// <summary>\n    /// The identifier for the CreateMonitoredItemsRequest_Encoding_DefaultXml Object.\n    /// </summary>\n    public const uint CreateMonitoredItemsRequest_Encoding_DefaultXml = 750;\n\n    /// <summary>\n    /// The identifier for the CreateMonitoredItemsResponse_Encoding_DefaultXml Object.\n    /// </summary>\n    public const uint CreateMonitoredItemsResponse_Encoding_DefaultXml = 753;\n\n    /// <summary>\n    /// The identifier for the MonitoredItemModifyRequest_Encoding_DefaultXml Object.\n    /// </summary>\n    public const uint MonitoredItemModifyRequest_Encoding_DefaultXml = 756;\n\n    /// <summary>\n    /// The identifier for the MonitoredItemModifyResult_Encoding_DefaultXml Object.\n    /// </summary>\n    public const uint MonitoredItemModifyResult_Encoding_DefaultXml = 759;\n\n    /// <summary>\n    /// The identifier for the ModifyMonitoredItemsRequest_Encoding_DefaultXml Object.\n    /// </summary>\n    public const uint ModifyMonitoredItemsRequest_Encoding_DefaultXml = 762;\n\n    /// <summary>\n    /// The identifier for the ModifyMonitoredItemsResponse_Encoding_DefaultXml Object.\n    /// </summary>\n    public const uint ModifyMonitoredItemsResponse_Encoding_DefaultXml = 765;\n\n    /// <summary>\n    /// The identifier for the SetMonitoringModeRequest_Encoding_DefaultXml Object.\n    /// </summary>\n    public const uint SetMonitoringModeRequest_Encoding_DefaultXml = 768;\n\n    /// <summary>\n    /// The identifier for the SetMonitoringModeResponse_Encoding_DefaultXml Object.\n    /// </summary>\n    public const uint SetMonitoringModeResponse_Encoding_DefaultXml = 771;\n\n    /// <summary>\n    /// The identifier for the SetTriggeringRequest_Encoding_DefaultXml Object.\n    /// </summary>\n    public const uint SetTriggeringRequest_Encoding_DefaultXml = 774;\n\n    /// <summary>\n    /// The identifier for the SetTriggeringResponse_Encoding_DefaultXml Object.\n    /// </summary>\n    public const uint SetTriggeringResponse_Encoding_DefaultXml = 777;\n\n    /// <summary>\n    /// The identifier for the DeleteMonitoredItemsRequest_Encoding_DefaultXml Object.\n    /// </summary>\n    public const uint DeleteMonitoredItemsRequest_Encoding_DefaultXml = 780;\n\n    /// <summary>\n    /// The identifier for the DeleteMonitoredItemsResponse_Encoding_DefaultXml Object.\n    /// </summary>\n    public const uint DeleteMonitoredItemsResponse_Encoding_DefaultXml = 783;\n\n    /// <summary>\n    /// The identifier for the CreateSubscriptionRequest_Encoding_DefaultXml Object.\n    /// </summary>\n    public const uint CreateSubscriptionRequest_Encoding_DefaultXml = 786;\n\n    /// <summary>\n    /// The identifier for the CreateSubscriptionResponse_Encoding_DefaultXml Object.\n    /// </summary>\n    public const uint CreateSubscriptionResponse_Encoding_DefaultXml = 789;\n\n    /// <summary>\n    /// The identifier for the ModifySubscriptionRequest_Encoding_DefaultXml Object.\n    /// </summary>\n    public const uint ModifySubscriptionRequest_Encoding_DefaultXml = 792;\n\n    /// <summary>\n    /// The identifier for the ModifySubscriptionResponse_Encoding_DefaultXml Object.\n    /// </summary>\n    public const uint ModifySubscriptionResponse_Encoding_DefaultXml = 795;\n\n    /// <summary>\n    /// The identifier for the SetPublishingModeRequest_Encoding_DefaultXml Object.\n    /// </summary>\n    public const uint SetPublishingModeRequest_Encoding_DefaultXml = 798;\n\n    /// <summary>\n    /// The identifier for the SetPublishingModeResponse_Encoding_DefaultXml Object.\n    /// </summary>\n    public const uint SetPublishingModeResponse_Encoding_DefaultXml = 801;\n\n    /// <summary>\n    /// The identifier for the NotificationMessage_Encoding_DefaultXml Object.\n    /// </summary>\n    public const uint NotificationMessage_Encoding_DefaultXml = 804;\n\n    /// <summary>\n    /// The identifier for the NotificationData_Encoding_DefaultXml Object.\n    /// </summary>\n    public const uint NotificationData_Encoding_DefaultXml = 946;\n\n    /// <summary>\n    /// The identifier for the DataChangeNotification_Encoding_DefaultXml Object.\n    /// </summary>\n    public const uint DataChangeNotification_Encoding_DefaultXml = 810;\n\n    /// <summary>\n    /// The identifier for the MonitoredItemNotification_Encoding_DefaultXml Object.\n    /// </summary>\n    public const uint MonitoredItemNotification_Encoding_DefaultXml = 807;\n\n    /// <summary>\n    /// The identifier for the EventNotificationList_Encoding_DefaultXml Object.\n    /// </summary>\n    public const uint EventNotificationList_Encoding_DefaultXml = 915;\n\n    /// <summary>\n    /// The identifier for the EventFieldList_Encoding_DefaultXml Object.\n    /// </summary>\n    public const uint EventFieldList_Encoding_DefaultXml = 918;\n\n    /// <summary>\n    /// The identifier for the HistoryEventFieldList_Encoding_DefaultXml Object.\n    /// </summary>\n    public const uint HistoryEventFieldList_Encoding_DefaultXml = 921;\n\n    /// <summary>\n    /// The identifier for the StatusChangeNotification_Encoding_DefaultXml Object.\n    /// </summary>\n    public const uint StatusChangeNotification_Encoding_DefaultXml = 819;\n\n    /// <summary>\n    /// The identifier for the SubscriptionAcknowledgement_Encoding_DefaultXml Object.\n    /// </summary>\n    public const uint SubscriptionAcknowledgement_Encoding_DefaultXml = 822;\n\n    /// <summary>\n    /// The identifier for the PublishRequest_Encoding_DefaultXml Object.\n    /// </summary>\n    public const uint PublishRequest_Encoding_DefaultXml = 825;\n\n    /// <summary>\n    /// The identifier for the PublishResponse_Encoding_DefaultXml Object.\n    /// </summary>\n    public const uint PublishResponse_Encoding_DefaultXml = 828;\n\n    /// <summary>\n    /// The identifier for the RepublishRequest_Encoding_DefaultXml Object.\n    /// </summary>\n    public const uint RepublishRequest_Encoding_DefaultXml = 831;\n\n    /// <summary>\n    /// The identifier for the RepublishResponse_Encoding_DefaultXml Object.\n    /// </summary>\n    public const uint RepublishResponse_Encoding_DefaultXml = 834;\n\n    /// <summary>\n    /// The identifier for the TransferResult_Encoding_DefaultXml Object.\n    /// </summary>\n    public const uint TransferResult_Encoding_DefaultXml = 837;\n\n    /// <summary>\n    /// The identifier for the TransferSubscriptionsRequest_Encoding_DefaultXml Object.\n    /// </summary>\n    public const uint TransferSubscriptionsRequest_Encoding_DefaultXml = 840;\n\n    /// <summary>\n    /// The identifier for the TransferSubscriptionsResponse_Encoding_DefaultXml Object.\n    /// </summary>\n    public const uint TransferSubscriptionsResponse_Encoding_DefaultXml = 843;\n\n    /// <summary>\n    /// The identifier for the DeleteSubscriptionsRequest_Encoding_DefaultXml Object.\n    /// </summary>\n    public const uint DeleteSubscriptionsRequest_Encoding_DefaultXml = 846;\n\n    /// <summary>\n    /// The identifier for the DeleteSubscriptionsResponse_Encoding_DefaultXml Object.\n    /// </summary>\n    public const uint DeleteSubscriptionsResponse_Encoding_DefaultXml = 849;\n\n    /// <summary>\n    /// The identifier for the ScalarTestType_Encoding_DefaultXml Object.\n    /// </summary>\n    public const uint ScalarTestType_Encoding_DefaultXml = 400;\n\n    /// <summary>\n    /// The identifier for the ArrayTestType_Encoding_DefaultXml Object.\n    /// </summary>\n    public const uint ArrayTestType_Encoding_DefaultXml = 403;\n\n    /// <summary>\n    /// The identifier for the CompositeTestType_Encoding_DefaultXml Object.\n    /// </summary>\n    public const uint CompositeTestType_Encoding_DefaultXml = 406;\n\n    /// <summary>\n    /// The identifier for the TestStackRequest_Encoding_DefaultXml Object.\n    /// </summary>\n    public const uint TestStackRequest_Encoding_DefaultXml = 409;\n\n    /// <summary>\n    /// The identifier for the TestStackResponse_Encoding_DefaultXml Object.\n    /// </summary>\n    public const uint TestStackResponse_Encoding_DefaultXml = 412;\n\n    /// <summary>\n    /// The identifier for the TestStackExRequest_Encoding_DefaultXml Object.\n    /// </summary>\n    public const uint TestStackExRequest_Encoding_DefaultXml = 415;\n\n    /// <summary>\n    /// The identifier for the TestStackExResponse_Encoding_DefaultXml Object.\n    /// </summary>\n    public const uint TestStackExResponse_Encoding_DefaultXml = 418;\n\n    /// <summary>\n    /// The identifier for the BuildInfo_Encoding_DefaultXml Object.\n    /// </summary>\n    public const uint BuildInfo_Encoding_DefaultXml = 339;\n\n    /// <summary>\n    /// The identifier for the RedundantServerDataType_Encoding_DefaultXml Object.\n    /// </summary>\n    public const uint RedundantServerDataType_Encoding_DefaultXml = 854;\n\n    /// <summary>\n    /// The identifier for the EndpointUrlListDataType_Encoding_DefaultXml Object.\n    /// </summary>\n    public const uint EndpointUrlListDataType_Encoding_DefaultXml = 11949;\n\n    /// <summary>\n    /// The identifier for the NetworkGroupDataType_Encoding_DefaultXml Object.\n    /// </summary>\n    public const uint NetworkGroupDataType_Encoding_DefaultXml = 11950;\n\n    /// <summary>\n    /// The identifier for the SamplingIntervalDiagnosticsDataType_Encoding_DefaultXml Object.\n    /// </summary>\n    public const uint SamplingIntervalDiagnosticsDataType_Encoding_DefaultXml = 857;\n\n    /// <summary>\n    /// The identifier for the ServerDiagnosticsSummaryDataType_Encoding_DefaultXml Object.\n    /// </summary>\n    public const uint ServerDiagnosticsSummaryDataType_Encoding_DefaultXml = 860;\n\n    /// <summary>\n    /// The identifier for the ServerStatusDataType_Encoding_DefaultXml Object.\n    /// </summary>\n    public const uint ServerStatusDataType_Encoding_DefaultXml = 863;\n\n    /// <summary>\n    /// The identifier for the SessionDiagnosticsDataType_Encoding_DefaultXml Object.\n    /// </summary>\n    public const uint SessionDiagnosticsDataType_Encoding_DefaultXml = 866;\n\n    /// <summary>\n    /// The identifier for the SessionSecurityDiagnosticsDataType_Encoding_DefaultXml Object.\n    /// </summary>\n    public const uint SessionSecurityDiagnosticsDataType_Encoding_DefaultXml = 869;\n\n    /// <summary>\n    /// The identifier for the ServiceCounterDataType_Encoding_DefaultXml Object.\n    /// </summary>\n    public const uint ServiceCounterDataType_Encoding_DefaultXml = 872;\n\n    /// <summary>\n    /// The identifier for the StatusResult_Encoding_DefaultXml Object.\n    /// </summary>\n    public const uint StatusResult_Encoding_DefaultXml = 300;\n\n    /// <summary>\n    /// The identifier for the SubscriptionDiagnosticsDataType_Encoding_DefaultXml Object.\n    /// </summary>\n    public const uint SubscriptionDiagnosticsDataType_Encoding_DefaultXml = 875;\n\n    /// <summary>\n    /// The identifier for the ModelChangeStructureDataType_Encoding_DefaultXml Object.\n    /// </summary>\n    public const uint ModelChangeStructureDataType_Encoding_DefaultXml = 878;\n\n    /// <summary>\n    /// The identifier for the SemanticChangeStructureDataType_Encoding_DefaultXml Object.\n    /// </summary>\n    public const uint SemanticChangeStructureDataType_Encoding_DefaultXml = 898;\n\n    /// <summary>\n    /// The identifier for the Range_Encoding_DefaultXml Object.\n    /// </summary>\n    public const uint Range_Encoding_DefaultXml = 885;\n\n    /// <summary>\n    /// The identifier for the EUInformation_Encoding_DefaultXml Object.\n    /// </summary>\n    public const uint EUInformation_Encoding_DefaultXml = 888;\n\n    /// <summary>\n    /// The identifier for the ComplexNumberType_Encoding_DefaultXml Object.\n    /// </summary>\n    public const uint ComplexNumberType_Encoding_DefaultXml = 12173;\n\n    /// <summary>\n    /// The identifier for the DoubleComplexNumberType_Encoding_DefaultXml Object.\n    /// </summary>\n    public const uint DoubleComplexNumberType_Encoding_DefaultXml = 12174;\n\n    /// <summary>\n    /// The identifier for the AxisInformation_Encoding_DefaultXml Object.\n    /// </summary>\n    public const uint AxisInformation_Encoding_DefaultXml = 12081;\n\n    /// <summary>\n    /// The identifier for the XVType_Encoding_DefaultXml Object.\n    /// </summary>\n    public const uint XVType_Encoding_DefaultXml = 12082;\n\n    /// <summary>\n    /// The identifier for the ProgramDiagnosticDataType_Encoding_DefaultXml Object.\n    /// </summary>\n    public const uint ProgramDiagnosticDataType_Encoding_DefaultXml = 895;\n\n    /// <summary>\n    /// The identifier for the Annotation_Encoding_DefaultXml Object.\n    /// </summary>\n    public const uint Annotation_Encoding_DefaultXml = 892;\n\n    /// <summary>\n    /// The identifier for the Node_Encoding_DefaultBinary Object.\n    /// </summary>\n    public const uint Node_Encoding_DefaultBinary = 260;\n\n    /// <summary>\n    /// The identifier for the InstanceNode_Encoding_DefaultBinary Object.\n    /// </summary>\n    public const uint InstanceNode_Encoding_DefaultBinary = 11889;\n\n    /// <summary>\n    /// The identifier for the TypeNode_Encoding_DefaultBinary Object.\n    /// </summary>\n    public const uint TypeNode_Encoding_DefaultBinary = 11890;\n\n    /// <summary>\n    /// The identifier for the ObjectNode_Encoding_DefaultBinary Object.\n    /// </summary>\n    public const uint ObjectNode_Encoding_DefaultBinary = 263;\n\n    /// <summary>\n    /// The identifier for the ObjectTypeNode_Encoding_DefaultBinary Object.\n    /// </summary>\n    public const uint ObjectTypeNode_Encoding_DefaultBinary = 266;\n\n    /// <summary>\n    /// The identifier for the VariableNode_Encoding_DefaultBinary Object.\n    /// </summary>\n    public const uint VariableNode_Encoding_DefaultBinary = 269;\n\n    /// <summary>\n    /// The identifier for the VariableTypeNode_Encoding_DefaultBinary Object.\n    /// </summary>\n    public const uint VariableTypeNode_Encoding_DefaultBinary = 272;\n\n    /// <summary>\n    /// The identifier for the ReferenceTypeNode_Encoding_DefaultBinary Object.\n    /// </summary>\n    public const uint ReferenceTypeNode_Encoding_DefaultBinary = 275;\n\n    /// <summary>\n    /// The identifier for the MethodNode_Encoding_DefaultBinary Object.\n    /// </summary>\n    public const uint MethodNode_Encoding_DefaultBinary = 278;\n\n    /// <summary>\n    /// The identifier for the ViewNode_Encoding_DefaultBinary Object.\n    /// </summary>\n    public const uint ViewNode_Encoding_DefaultBinary = 281;\n\n    /// <summary>\n    /// The identifier for the DataTypeNode_Encoding_DefaultBinary Object.\n    /// </summary>\n    public const uint DataTypeNode_Encoding_DefaultBinary = 284;\n\n    /// <summary>\n    /// The identifier for the ReferenceNode_Encoding_DefaultBinary Object.\n    /// </summary>\n    public const uint ReferenceNode_Encoding_DefaultBinary = 287;\n\n    /// <summary>\n    /// The identifier for the Argument_Encoding_DefaultBinary Object.\n    /// </summary>\n    public const uint Argument_Encoding_DefaultBinary = 298;\n\n    /// <summary>\n    /// The identifier for the EnumValueType_Encoding_DefaultBinary Object.\n    /// </summary>\n    public const uint EnumValueType_Encoding_DefaultBinary = 8251;\n\n    /// <summary>\n    /// The identifier for the TimeZoneDataType_Encoding_DefaultBinary Object.\n    /// </summary>\n    public const uint TimeZoneDataType_Encoding_DefaultBinary = 8917;\n\n    /// <summary>\n    /// The identifier for the ApplicationDescription_Encoding_DefaultBinary Object.\n    /// </summary>\n    public const uint ApplicationDescription_Encoding_DefaultBinary = 310;\n\n    /// <summary>\n    /// The identifier for the RequestHeader_Encoding_DefaultBinary Object.\n    /// </summary>\n    public const uint RequestHeader_Encoding_DefaultBinary = 391;\n\n    /// <summary>\n    /// The identifier for the ResponseHeader_Encoding_DefaultBinary Object.\n    /// </summary>\n    public const uint ResponseHeader_Encoding_DefaultBinary = 394;\n\n    /// <summary>\n    /// The identifier for the ServiceFault_Encoding_DefaultBinary Object.\n    /// </summary>\n    public const uint ServiceFault_Encoding_DefaultBinary = 397;\n\n    /// <summary>\n    /// The identifier for the DnsServiceRecord_Encoding_DefaultBinary Object.\n    /// </summary>\n    public const uint DnsServiceRecord_Encoding_DefaultBinary = 12198;\n\n    /// <summary>\n    /// The identifier for the FindDnsServicesRequest_Encoding_DefaultBinary Object.\n    /// </summary>\n    public const uint FindDnsServicesRequest_Encoding_DefaultBinary = 12199;\n\n    /// <summary>\n    /// The identifier for the FindDnsServicesResponse_Encoding_DefaultBinary Object.\n    /// </summary>\n    public const uint FindDnsServicesResponse_Encoding_DefaultBinary = 12200;\n\n    /// <summary>\n    /// The identifier for the FindServersRequest_Encoding_DefaultBinary Object.\n    /// </summary>\n    public const uint FindServersRequest_Encoding_DefaultBinary = 422;\n\n    /// <summary>\n    /// The identifier for the FindServersResponse_Encoding_DefaultBinary Object.\n    /// </summary>\n    public const uint FindServersResponse_Encoding_DefaultBinary = 425;\n\n    /// <summary>\n    /// The identifier for the UserTokenPolicy_Encoding_DefaultBinary Object.\n    /// </summary>\n    public const uint UserTokenPolicy_Encoding_DefaultBinary = 306;\n\n    /// <summary>\n    /// The identifier for the EndpointDescription_Encoding_DefaultBinary Object.\n    /// </summary>\n    public const uint EndpointDescription_Encoding_DefaultBinary = 314;\n\n    /// <summary>\n    /// The identifier for the GetEndpointsRequest_Encoding_DefaultBinary Object.\n    /// </summary>\n    public const uint GetEndpointsRequest_Encoding_DefaultBinary = 428;\n\n    /// <summary>\n    /// The identifier for the GetEndpointsResponse_Encoding_DefaultBinary Object.\n    /// </summary>\n    public const uint GetEndpointsResponse_Encoding_DefaultBinary = 431;\n\n    /// <summary>\n    /// The identifier for the RegisteredServer_Encoding_DefaultBinary Object.\n    /// </summary>\n    public const uint RegisteredServer_Encoding_DefaultBinary = 434;\n\n    /// <summary>\n    /// The identifier for the RegisterServerRequest_Encoding_DefaultBinary Object.\n    /// </summary>\n    public const uint RegisterServerRequest_Encoding_DefaultBinary = 437;\n\n    /// <summary>\n    /// The identifier for the RegisterServerResponse_Encoding_DefaultBinary Object.\n    /// </summary>\n    public const uint RegisterServerResponse_Encoding_DefaultBinary = 440;\n\n    /// <summary>\n    /// The identifier for the ChannelSecurityToken_Encoding_DefaultBinary Object.\n    /// </summary>\n    public const uint ChannelSecurityToken_Encoding_DefaultBinary = 443;\n\n    /// <summary>\n    /// The identifier for the OpenSecureChannelRequest_Encoding_DefaultBinary Object.\n    /// </summary>\n    public const uint OpenSecureChannelRequest_Encoding_DefaultBinary = 446;\n\n    /// <summary>\n    /// The identifier for the OpenSecureChannelResponse_Encoding_DefaultBinary Object.\n    /// </summary>\n    public const uint OpenSecureChannelResponse_Encoding_DefaultBinary = 449;\n\n    /// <summary>\n    /// The identifier for the CloseSecureChannelRequest_Encoding_DefaultBinary Object.\n    /// </summary>\n    public const uint CloseSecureChannelRequest_Encoding_DefaultBinary = 452;\n\n    /// <summary>\n    /// The identifier for the CloseSecureChannelResponse_Encoding_DefaultBinary Object.\n    /// </summary>\n    public const uint CloseSecureChannelResponse_Encoding_DefaultBinary = 455;\n\n    /// <summary>\n    /// The identifier for the SignedSoftwareCertificate_Encoding_DefaultBinary Object.\n    /// </summary>\n    public const uint SignedSoftwareCertificate_Encoding_DefaultBinary = 346;\n\n    /// <summary>\n    /// The identifier for the SignatureData_Encoding_DefaultBinary Object.\n    /// </summary>\n    public const uint SignatureData_Encoding_DefaultBinary = 458;\n\n    /// <summary>\n    /// The identifier for the CreateSessionRequest_Encoding_DefaultBinary Object.\n    /// </summary>\n    public const uint CreateSessionRequest_Encoding_DefaultBinary = 461;\n\n    /// <summary>\n    /// The identifier for the CreateSessionResponse_Encoding_DefaultBinary Object.\n    /// </summary>\n    public const uint CreateSessionResponse_Encoding_DefaultBinary = 464;\n\n    /// <summary>\n    /// The identifier for the UserIdentityToken_Encoding_DefaultBinary Object.\n    /// </summary>\n    public const uint UserIdentityToken_Encoding_DefaultBinary = 318;\n\n    /// <summary>\n    /// The identifier for the AnonymousIdentityToken_Encoding_DefaultBinary Object.\n    /// </summary>\n    public const uint AnonymousIdentityToken_Encoding_DefaultBinary = 321;\n\n    /// <summary>\n    /// The identifier for the UserNameIdentityToken_Encoding_DefaultBinary Object.\n    /// </summary>\n    public const uint UserNameIdentityToken_Encoding_DefaultBinary = 324;\n\n    /// <summary>\n    /// The identifier for the X509IdentityToken_Encoding_DefaultBinary Object.\n    /// </summary>\n    public const uint X509IdentityToken_Encoding_DefaultBinary = 327;\n\n    /// <summary>\n    /// The identifier for the IssuedIdentityToken_Encoding_DefaultBinary Object.\n    /// </summary>\n    public const uint IssuedIdentityToken_Encoding_DefaultBinary = 940;\n\n    /// <summary>\n    /// The identifier for the ActivateSessionRequest_Encoding_DefaultBinary Object.\n    /// </summary>\n    public const uint ActivateSessionRequest_Encoding_DefaultBinary = 467;\n\n    /// <summary>\n    /// The identifier for the ActivateSessionResponse_Encoding_DefaultBinary Object.\n    /// </summary>\n    public const uint ActivateSessionResponse_Encoding_DefaultBinary = 470;\n\n    /// <summary>\n    /// The identifier for the CloseSessionRequest_Encoding_DefaultBinary Object.\n    /// </summary>\n    public const uint CloseSessionRequest_Encoding_DefaultBinary = 473;\n\n    /// <summary>\n    /// The identifier for the CloseSessionResponse_Encoding_DefaultBinary Object.\n    /// </summary>\n    public const uint CloseSessionResponse_Encoding_DefaultBinary = 476;\n\n    /// <summary>\n    /// The identifier for the CancelRequest_Encoding_DefaultBinary Object.\n    /// </summary>\n    public const uint CancelRequest_Encoding_DefaultBinary = 479;\n\n    /// <summary>\n    /// The identifier for the CancelResponse_Encoding_DefaultBinary Object.\n    /// </summary>\n    public const uint CancelResponse_Encoding_DefaultBinary = 482;\n\n    /// <summary>\n    /// The identifier for the NodeAttributes_Encoding_DefaultBinary Object.\n    /// </summary>\n    public const uint NodeAttributes_Encoding_DefaultBinary = 351;\n\n    /// <summary>\n    /// The identifier for the ObjectAttributes_Encoding_DefaultBinary Object.\n    /// </summary>\n    public const uint ObjectAttributes_Encoding_DefaultBinary = 354;\n\n    /// <summary>\n    /// The identifier for the VariableAttributes_Encoding_DefaultBinary Object.\n    /// </summary>\n    public const uint VariableAttributes_Encoding_DefaultBinary = 357;\n\n    /// <summary>\n    /// The identifier for the MethodAttributes_Encoding_DefaultBinary Object.\n    /// </summary>\n    public const uint MethodAttributes_Encoding_DefaultBinary = 360;\n\n    /// <summary>\n    /// The identifier for the ObjectTypeAttributes_Encoding_DefaultBinary Object.\n    /// </summary>\n    public const uint ObjectTypeAttributes_Encoding_DefaultBinary = 363;\n\n    /// <summary>\n    /// The identifier for the VariableTypeAttributes_Encoding_DefaultBinary Object.\n    /// </summary>\n    public const uint VariableTypeAttributes_Encoding_DefaultBinary = 366;\n\n    /// <summary>\n    /// The identifier for the ReferenceTypeAttributes_Encoding_DefaultBinary Object.\n    /// </summary>\n    public const uint ReferenceTypeAttributes_Encoding_DefaultBinary = 369;\n\n    /// <summary>\n    /// The identifier for the DataTypeAttributes_Encoding_DefaultBinary Object.\n    /// </summary>\n    public const uint DataTypeAttributes_Encoding_DefaultBinary = 372;\n\n    /// <summary>\n    /// The identifier for the ViewAttributes_Encoding_DefaultBinary Object.\n    /// </summary>\n    public const uint ViewAttributes_Encoding_DefaultBinary = 375;\n\n    /// <summary>\n    /// The identifier for the AddNodesItem_Encoding_DefaultBinary Object.\n    /// </summary>\n    public const uint AddNodesItem_Encoding_DefaultBinary = 378;\n\n    /// <summary>\n    /// The identifier for the AddNodesResult_Encoding_DefaultBinary Object.\n    /// </summary>\n    public const uint AddNodesResult_Encoding_DefaultBinary = 485;\n\n    /// <summary>\n    /// The identifier for the AddNodesRequest_Encoding_DefaultBinary Object.\n    /// </summary>\n    public const uint AddNodesRequest_Encoding_DefaultBinary = 488;\n\n    /// <summary>\n    /// The identifier for the AddNodesResponse_Encoding_DefaultBinary Object.\n    /// </summary>\n    public const uint AddNodesResponse_Encoding_DefaultBinary = 491;\n\n    /// <summary>\n    /// The identifier for the AddReferencesItem_Encoding_DefaultBinary Object.\n    /// </summary>\n    public const uint AddReferencesItem_Encoding_DefaultBinary = 381;\n\n    /// <summary>\n    /// The identifier for the AddReferencesRequest_Encoding_DefaultBinary Object.\n    /// </summary>\n    public const uint AddReferencesRequest_Encoding_DefaultBinary = 494;\n\n    /// <summary>\n    /// The identifier for the AddReferencesResponse_Encoding_DefaultBinary Object.\n    /// </summary>\n    public const uint AddReferencesResponse_Encoding_DefaultBinary = 497;\n\n    /// <summary>\n    /// The identifier for the DeleteNodesItem_Encoding_DefaultBinary Object.\n    /// </summary>\n    public const uint DeleteNodesItem_Encoding_DefaultBinary = 384;\n\n    /// <summary>\n    /// The identifier for the DeleteNodesRequest_Encoding_DefaultBinary Object.\n    /// </summary>\n    public const uint DeleteNodesRequest_Encoding_DefaultBinary = 500;\n\n    /// <summary>\n    /// The identifier for the DeleteNodesResponse_Encoding_DefaultBinary Object.\n    /// </summary>\n    public const uint DeleteNodesResponse_Encoding_DefaultBinary = 503;\n\n    /// <summary>\n    /// The identifier for the DeleteReferencesItem_Encoding_DefaultBinary Object.\n    /// </summary>\n    public const uint DeleteReferencesItem_Encoding_DefaultBinary = 387;\n\n    /// <summary>\n    /// The identifier for the DeleteReferencesRequest_Encoding_DefaultBinary Object.\n    /// </summary>\n    public const uint DeleteReferencesRequest_Encoding_DefaultBinary = 506;\n\n    /// <summary>\n    /// The identifier for the DeleteReferencesResponse_Encoding_DefaultBinary Object.\n    /// </summary>\n    public const uint DeleteReferencesResponse_Encoding_DefaultBinary = 509;\n\n    /// <summary>\n    /// The identifier for the ViewDescription_Encoding_DefaultBinary Object.\n    /// </summary>\n    public const uint ViewDescription_Encoding_DefaultBinary = 513;\n\n    /// <summary>\n    /// The identifier for the BrowseDescription_Encoding_DefaultBinary Object.\n    /// </summary>\n    public const uint BrowseDescription_Encoding_DefaultBinary = 516;\n\n    /// <summary>\n    /// The identifier for the ReferenceDescription_Encoding_DefaultBinary Object.\n    /// </summary>\n    public const uint ReferenceDescription_Encoding_DefaultBinary = 520;\n\n    /// <summary>\n    /// The identifier for the BrowseResult_Encoding_DefaultBinary Object.\n    /// </summary>\n    public const uint BrowseResult_Encoding_DefaultBinary = 524;\n\n    /// <summary>\n    /// The identifier for the BrowseRequest_Encoding_DefaultBinary Object.\n    /// </summary>\n    public const uint BrowseRequest_Encoding_DefaultBinary = 527;\n\n    /// <summary>\n    /// The identifier for the BrowseResponse_Encoding_DefaultBinary Object.\n    /// </summary>\n    public const uint BrowseResponse_Encoding_DefaultBinary = 530;\n\n    /// <summary>\n    /// The identifier for the BrowseNextRequest_Encoding_DefaultBinary Object.\n    /// </summary>\n    public const uint BrowseNextRequest_Encoding_DefaultBinary = 533;\n\n    /// <summary>\n    /// The identifier for the BrowseNextResponse_Encoding_DefaultBinary Object.\n    /// </summary>\n    public const uint BrowseNextResponse_Encoding_DefaultBinary = 536;\n\n    /// <summary>\n    /// The identifier for the RelativePathElement_Encoding_DefaultBinary Object.\n    /// </summary>\n    public const uint RelativePathElement_Encoding_DefaultBinary = 539;\n\n    /// <summary>\n    /// The identifier for the RelativePath_Encoding_DefaultBinary Object.\n    /// </summary>\n    public const uint RelativePath_Encoding_DefaultBinary = 542;\n\n    /// <summary>\n    /// The identifier for the BrowsePath_Encoding_DefaultBinary Object.\n    /// </summary>\n    public const uint BrowsePath_Encoding_DefaultBinary = 545;\n\n    /// <summary>\n    /// The identifier for the BrowsePathTarget_Encoding_DefaultBinary Object.\n    /// </summary>\n    public const uint BrowsePathTarget_Encoding_DefaultBinary = 548;\n\n    /// <summary>\n    /// The identifier for the BrowsePathResult_Encoding_DefaultBinary Object.\n    /// </summary>\n    public const uint BrowsePathResult_Encoding_DefaultBinary = 551;\n\n    /// <summary>\n    /// The identifier for the TranslateBrowsePathsToNodeIdsRequest_Encoding_DefaultBinary Object.\n    /// </summary>\n    public const uint TranslateBrowsePathsToNodeIdsRequest_Encoding_DefaultBinary = 554;\n\n    /// <summary>\n    /// The identifier for the TranslateBrowsePathsToNodeIdsResponse_Encoding_DefaultBinary Object.\n    /// </summary>\n    public const uint TranslateBrowsePathsToNodeIdsResponse_Encoding_DefaultBinary = 557;\n\n    /// <summary>\n    /// The identifier for the RegisterNodesRequest_Encoding_DefaultBinary Object.\n    /// </summary>\n    public const uint RegisterNodesRequest_Encoding_DefaultBinary = 560;\n\n    /// <summary>\n    /// The identifier for the RegisterNodesResponse_Encoding_DefaultBinary Object.\n    /// </summary>\n    public const uint RegisterNodesResponse_Encoding_DefaultBinary = 563;\n\n    /// <summary>\n    /// The identifier for the UnregisterNodesRequest_Encoding_DefaultBinary Object.\n    /// </summary>\n    public const uint UnregisterNodesRequest_Encoding_DefaultBinary = 566;\n\n    /// <summary>\n    /// The identifier for the UnregisterNodesResponse_Encoding_DefaultBinary Object.\n    /// </summary>\n    public const uint UnregisterNodesResponse_Encoding_DefaultBinary = 569;\n\n    /// <summary>\n    /// The identifier for the EndpointConfiguration_Encoding_DefaultBinary Object.\n    /// </summary>\n    public const uint EndpointConfiguration_Encoding_DefaultBinary = 333;\n\n    /// <summary>\n    /// The identifier for the SupportedProfile_Encoding_DefaultBinary Object.\n    /// </summary>\n    public const uint SupportedProfile_Encoding_DefaultBinary = 337;\n\n    /// <summary>\n    /// The identifier for the SoftwareCertificate_Encoding_DefaultBinary Object.\n    /// </summary>\n    public const uint SoftwareCertificate_Encoding_DefaultBinary = 343;\n\n    /// <summary>\n    /// The identifier for the QueryDataDescription_Encoding_DefaultBinary Object.\n    /// </summary>\n    public const uint QueryDataDescription_Encoding_DefaultBinary = 572;\n\n    /// <summary>\n    /// The identifier for the NodeTypeDescription_Encoding_DefaultBinary Object.\n    /// </summary>\n    public const uint NodeTypeDescription_Encoding_DefaultBinary = 575;\n\n    /// <summary>\n    /// The identifier for the QueryDataSet_Encoding_DefaultBinary Object.\n    /// </summary>\n    public const uint QueryDataSet_Encoding_DefaultBinary = 579;\n\n    /// <summary>\n    /// The identifier for the NodeReference_Encoding_DefaultBinary Object.\n    /// </summary>\n    public const uint NodeReference_Encoding_DefaultBinary = 582;\n\n    /// <summary>\n    /// The identifier for the ContentFilterElement_Encoding_DefaultBinary Object.\n    /// </summary>\n    public const uint ContentFilterElement_Encoding_DefaultBinary = 585;\n\n    /// <summary>\n    /// The identifier for the ContentFilter_Encoding_DefaultBinary Object.\n    /// </summary>\n    public const uint ContentFilter_Encoding_DefaultBinary = 588;\n\n    /// <summary>\n    /// The identifier for the FilterOperand_Encoding_DefaultBinary Object.\n    /// </summary>\n    public const uint FilterOperand_Encoding_DefaultBinary = 591;\n\n    /// <summary>\n    /// The identifier for the ElementOperand_Encoding_DefaultBinary Object.\n    /// </summary>\n    public const uint ElementOperand_Encoding_DefaultBinary = 594;\n\n    /// <summary>\n    /// The identifier for the LiteralOperand_Encoding_DefaultBinary Object.\n    /// </summary>\n    public const uint LiteralOperand_Encoding_DefaultBinary = 597;\n\n    /// <summary>\n    /// The identifier for the AttributeOperand_Encoding_DefaultBinary Object.\n    /// </summary>\n    public const uint AttributeOperand_Encoding_DefaultBinary = 600;\n\n    /// <summary>\n    /// The identifier for the SimpleAttributeOperand_Encoding_DefaultBinary Object.\n    /// </summary>\n    public const uint SimpleAttributeOperand_Encoding_DefaultBinary = 603;\n\n    /// <summary>\n    /// The identifier for the ContentFilterElementResult_Encoding_DefaultBinary Object.\n    /// </summary>\n    public const uint ContentFilterElementResult_Encoding_DefaultBinary = 606;\n\n    /// <summary>\n    /// The identifier for the ContentFilterResult_Encoding_DefaultBinary Object.\n    /// </summary>\n    public const uint ContentFilterResult_Encoding_DefaultBinary = 609;\n\n    /// <summary>\n    /// The identifier for the ParsingResult_Encoding_DefaultBinary Object.\n    /// </summary>\n    public const uint ParsingResult_Encoding_DefaultBinary = 612;\n\n    /// <summary>\n    /// The identifier for the QueryFirstRequest_Encoding_DefaultBinary Object.\n    /// </summary>\n    public const uint QueryFirstRequest_Encoding_DefaultBinary = 615;\n\n    /// <summary>\n    /// The identifier for the QueryFirstResponse_Encoding_DefaultBinary Object.\n    /// </summary>\n    public const uint QueryFirstResponse_Encoding_DefaultBinary = 618;\n\n    /// <summary>\n    /// The identifier for the QueryNextRequest_Encoding_DefaultBinary Object.\n    /// </summary>\n    public const uint QueryNextRequest_Encoding_DefaultBinary = 621;\n\n    /// <summary>\n    /// The identifier for the QueryNextResponse_Encoding_DefaultBinary Object.\n    /// </summary>\n    public const uint QueryNextResponse_Encoding_DefaultBinary = 624;\n\n    /// <summary>\n    /// The identifier for the ReadValueId_Encoding_DefaultBinary Object.\n    /// </summary>\n    public const uint ReadValueId_Encoding_DefaultBinary = 628;\n\n    /// <summary>\n    /// The identifier for the ReadRequest_Encoding_DefaultBinary Object.\n    /// </summary>\n    public const uint ReadRequest_Encoding_DefaultBinary = 631;\n\n    /// <summary>\n    /// The identifier for the ReadResponse_Encoding_DefaultBinary Object.\n    /// </summary>\n    public const uint ReadResponse_Encoding_DefaultBinary = 634;\n\n    /// <summary>\n    /// The identifier for the HistoryReadValueId_Encoding_DefaultBinary Object.\n    /// </summary>\n    public const uint HistoryReadValueId_Encoding_DefaultBinary = 637;\n\n    /// <summary>\n    /// The identifier for the HistoryReadResult_Encoding_DefaultBinary Object.\n    /// </summary>\n    public const uint HistoryReadResult_Encoding_DefaultBinary = 640;\n\n    /// <summary>\n    /// The identifier for the HistoryReadDetails_Encoding_DefaultBinary Object.\n    /// </summary>\n    public const uint HistoryReadDetails_Encoding_DefaultBinary = 643;\n\n    /// <summary>\n    /// The identifier for the ReadEventDetails_Encoding_DefaultBinary Object.\n    /// </summary>\n    public const uint ReadEventDetails_Encoding_DefaultBinary = 646;\n\n    /// <summary>\n    /// The identifier for the ReadRawModifiedDetails_Encoding_DefaultBinary Object.\n    /// </summary>\n    public const uint ReadRawModifiedDetails_Encoding_DefaultBinary = 649;\n\n    /// <summary>\n    /// The identifier for the ReadProcessedDetails_Encoding_DefaultBinary Object.\n    /// </summary>\n    public const uint ReadProcessedDetails_Encoding_DefaultBinary = 652;\n\n    /// <summary>\n    /// The identifier for the ReadAtTimeDetails_Encoding_DefaultBinary Object.\n    /// </summary>\n    public const uint ReadAtTimeDetails_Encoding_DefaultBinary = 655;\n\n    /// <summary>\n    /// The identifier for the HistoryData_Encoding_DefaultBinary Object.\n    /// </summary>\n    public const uint HistoryData_Encoding_DefaultBinary = 658;\n\n    /// <summary>\n    /// The identifier for the ModificationInfo_Encoding_DefaultBinary Object.\n    /// </summary>\n    public const uint ModificationInfo_Encoding_DefaultBinary = 11226;\n\n    /// <summary>\n    /// The identifier for the HistoryModifiedData_Encoding_DefaultBinary Object.\n    /// </summary>\n    public const uint HistoryModifiedData_Encoding_DefaultBinary = 11227;\n\n    /// <summary>\n    /// The identifier for the HistoryEvent_Encoding_DefaultBinary Object.\n    /// </summary>\n    public const uint HistoryEvent_Encoding_DefaultBinary = 661;\n\n    /// <summary>\n    /// The identifier for the HistoryReadRequest_Encoding_DefaultBinary Object.\n    /// </summary>\n    public const uint HistoryReadRequest_Encoding_DefaultBinary = 664;\n\n    /// <summary>\n    /// The identifier for the HistoryReadResponse_Encoding_DefaultBinary Object.\n    /// </summary>\n    public const uint HistoryReadResponse_Encoding_DefaultBinary = 667;\n\n    /// <summary>\n    /// The identifier for the WriteValue_Encoding_DefaultBinary Object.\n    /// </summary>\n    public const uint WriteValue_Encoding_DefaultBinary = 670;\n\n    /// <summary>\n    /// The identifier for the WriteRequest_Encoding_DefaultBinary Object.\n    /// </summary>\n    public const uint WriteRequest_Encoding_DefaultBinary = 673;\n\n    /// <summary>\n    /// The identifier for the WriteResponse_Encoding_DefaultBinary Object.\n    /// </summary>\n    public const uint WriteResponse_Encoding_DefaultBinary = 676;\n\n    /// <summary>\n    /// The identifier for the HistoryUpdateDetails_Encoding_DefaultBinary Object.\n    /// </summary>\n    public const uint HistoryUpdateDetails_Encoding_DefaultBinary = 679;\n\n    /// <summary>\n    /// The identifier for the UpdateDataDetails_Encoding_DefaultBinary Object.\n    /// </summary>\n    public const uint UpdateDataDetails_Encoding_DefaultBinary = 682;\n\n    /// <summary>\n    /// The identifier for the UpdateStructureDataDetails_Encoding_DefaultBinary Object.\n    /// </summary>\n    public const uint UpdateStructureDataDetails_Encoding_DefaultBinary = 11300;\n\n    /// <summary>\n    /// The identifier for the UpdateEventDetails_Encoding_DefaultBinary Object.\n    /// </summary>\n    public const uint UpdateEventDetails_Encoding_DefaultBinary = 685;\n\n    /// <summary>\n    /// The identifier for the DeleteRawModifiedDetails_Encoding_DefaultBinary Object.\n    /// </summary>\n    public const uint DeleteRawModifiedDetails_Encoding_DefaultBinary = 688;\n\n    /// <summary>\n    /// The identifier for the DeleteAtTimeDetails_Encoding_DefaultBinary Object.\n    /// </summary>\n    public const uint DeleteAtTimeDetails_Encoding_DefaultBinary = 691;\n\n    /// <summary>\n    /// The identifier for the DeleteEventDetails_Encoding_DefaultBinary Object.\n    /// </summary>\n    public const uint DeleteEventDetails_Encoding_DefaultBinary = 694;\n\n    /// <summary>\n    /// The identifier for the HistoryUpdateResult_Encoding_DefaultBinary Object.\n    /// </summary>\n    public const uint HistoryUpdateResult_Encoding_DefaultBinary = 697;\n\n    /// <summary>\n    /// The identifier for the HistoryUpdateEventResult_Encoding_DefaultBinary Object.\n    /// </summary>\n    public const uint HistoryUpdateEventResult_Encoding_DefaultBinary = 931;\n\n    /// <summary>\n    /// The identifier for the HistoryUpdateRequest_Encoding_DefaultBinary Object.\n    /// </summary>\n    public const uint HistoryUpdateRequest_Encoding_DefaultBinary = 700;\n\n    /// <summary>\n    /// The identifier for the HistoryUpdateResponse_Encoding_DefaultBinary Object.\n    /// </summary>\n    public const uint HistoryUpdateResponse_Encoding_DefaultBinary = 703;\n\n    /// <summary>\n    /// The identifier for the CallMethodRequest_Encoding_DefaultBinary Object.\n    /// </summary>\n    public const uint CallMethodRequest_Encoding_DefaultBinary = 706;\n\n    /// <summary>\n    /// The identifier for the CallMethodResult_Encoding_DefaultBinary Object.\n    /// </summary>\n    public const uint CallMethodResult_Encoding_DefaultBinary = 709;\n\n    /// <summary>\n    /// The identifier for the CallRequest_Encoding_DefaultBinary Object.\n    /// </summary>\n    public const uint CallRequest_Encoding_DefaultBinary = 712;\n\n    /// <summary>\n    /// The identifier for the CallResponse_Encoding_DefaultBinary Object.\n    /// </summary>\n    public const uint CallResponse_Encoding_DefaultBinary = 715;\n\n    /// <summary>\n    /// The identifier for the MonitoringFilter_Encoding_DefaultBinary Object.\n    /// </summary>\n    public const uint MonitoringFilter_Encoding_DefaultBinary = 721;\n\n    /// <summary>\n    /// The identifier for the DataChangeFilter_Encoding_DefaultBinary Object.\n    /// </summary>\n    public const uint DataChangeFilter_Encoding_DefaultBinary = 724;\n\n    /// <summary>\n    /// The identifier for the EventFilter_Encoding_DefaultBinary Object.\n    /// </summary>\n    public const uint EventFilter_Encoding_DefaultBinary = 727;\n\n    /// <summary>\n    /// The identifier for the AggregateConfiguration_Encoding_DefaultBinary Object.\n    /// </summary>\n    public const uint AggregateConfiguration_Encoding_DefaultBinary = 950;\n\n    /// <summary>\n    /// The identifier for the AggregateFilter_Encoding_DefaultBinary Object.\n    /// </summary>\n    public const uint AggregateFilter_Encoding_DefaultBinary = 730;\n\n    /// <summary>\n    /// The identifier for the MonitoringFilterResult_Encoding_DefaultBinary Object.\n    /// </summary>\n    public const uint MonitoringFilterResult_Encoding_DefaultBinary = 733;\n\n    /// <summary>\n    /// The identifier for the EventFilterResult_Encoding_DefaultBinary Object.\n    /// </summary>\n    public const uint EventFilterResult_Encoding_DefaultBinary = 736;\n\n    /// <summary>\n    /// The identifier for the AggregateFilterResult_Encoding_DefaultBinary Object.\n    /// </summary>\n    public const uint AggregateFilterResult_Encoding_DefaultBinary = 739;\n\n    /// <summary>\n    /// The identifier for the MonitoringParameters_Encoding_DefaultBinary Object.\n    /// </summary>\n    public const uint MonitoringParameters_Encoding_DefaultBinary = 742;\n\n    /// <summary>\n    /// The identifier for the MonitoredItemCreateRequest_Encoding_DefaultBinary Object.\n    /// </summary>\n    public const uint MonitoredItemCreateRequest_Encoding_DefaultBinary = 745;\n\n    /// <summary>\n    /// The identifier for the MonitoredItemCreateResult_Encoding_DefaultBinary Object.\n    /// </summary>\n    public const uint MonitoredItemCreateResult_Encoding_DefaultBinary = 748;\n\n    /// <summary>\n    /// The identifier for the CreateMonitoredItemsRequest_Encoding_DefaultBinary Object.\n    /// </summary>\n    public const uint CreateMonitoredItemsRequest_Encoding_DefaultBinary = 751;\n\n    /// <summary>\n    /// The identifier for the CreateMonitoredItemsResponse_Encoding_DefaultBinary Object.\n    /// </summary>\n    public const uint CreateMonitoredItemsResponse_Encoding_DefaultBinary = 754;\n\n    /// <summary>\n    /// The identifier for the MonitoredItemModifyRequest_Encoding_DefaultBinary Object.\n    /// </summary>\n    public const uint MonitoredItemModifyRequest_Encoding_DefaultBinary = 757;\n\n    /// <summary>\n    /// The identifier for the MonitoredItemModifyResult_Encoding_DefaultBinary Object.\n    /// </summary>\n    public const uint MonitoredItemModifyResult_Encoding_DefaultBinary = 760;\n\n    /// <summary>\n    /// The identifier for the ModifyMonitoredItemsRequest_Encoding_DefaultBinary Object.\n    /// </summary>\n    public const uint ModifyMonitoredItemsRequest_Encoding_DefaultBinary = 763;\n\n    /// <summary>\n    /// The identifier for the ModifyMonitoredItemsResponse_Encoding_DefaultBinary Object.\n    /// </summary>\n    public const uint ModifyMonitoredItemsResponse_Encoding_DefaultBinary = 766;\n\n    /// <summary>\n    /// The identifier for the SetMonitoringModeRequest_Encoding_DefaultBinary Object.\n    /// </summary>\n    public const uint SetMonitoringModeRequest_Encoding_DefaultBinary = 769;\n\n    /// <summary>\n    /// The identifier for the SetMonitoringModeResponse_Encoding_DefaultBinary Object.\n    /// </summary>\n    public const uint SetMonitoringModeResponse_Encoding_DefaultBinary = 772;\n\n    /// <summary>\n    /// The identifier for the SetTriggeringRequest_Encoding_DefaultBinary Object.\n    /// </summary>\n    public const uint SetTriggeringRequest_Encoding_DefaultBinary = 775;\n\n    /// <summary>\n    /// The identifier for the SetTriggeringResponse_Encoding_DefaultBinary Object.\n    /// </summary>\n    public const uint SetTriggeringResponse_Encoding_DefaultBinary = 778;\n\n    /// <summary>\n    /// The identifier for the DeleteMonitoredItemsRequest_Encoding_DefaultBinary Object.\n    /// </summary>\n    public const uint DeleteMonitoredItemsRequest_Encoding_DefaultBinary = 781;\n\n    /// <summary>\n    /// The identifier for the DeleteMonitoredItemsResponse_Encoding_DefaultBinary Object.\n    /// </summary>\n    public const uint DeleteMonitoredItemsResponse_Encoding_DefaultBinary = 784;\n\n    /// <summary>\n    /// The identifier for the CreateSubscriptionRequest_Encoding_DefaultBinary Object.\n    /// </summary>\n    public const uint CreateSubscriptionRequest_Encoding_DefaultBinary = 787;\n\n    /// <summary>\n    /// The identifier for the CreateSubscriptionResponse_Encoding_DefaultBinary Object.\n    /// </summary>\n    public const uint CreateSubscriptionResponse_Encoding_DefaultBinary = 790;\n\n    /// <summary>\n    /// The identifier for the ModifySubscriptionRequest_Encoding_DefaultBinary Object.\n    /// </summary>\n    public const uint ModifySubscriptionRequest_Encoding_DefaultBinary = 793;\n\n    /// <summary>\n    /// The identifier for the ModifySubscriptionResponse_Encoding_DefaultBinary Object.\n    /// </summary>\n    public const uint ModifySubscriptionResponse_Encoding_DefaultBinary = 796;\n\n    /// <summary>\n    /// The identifier for the SetPublishingModeRequest_Encoding_DefaultBinary Object.\n    /// </summary>\n    public const uint SetPublishingModeRequest_Encoding_DefaultBinary = 799;\n\n    /// <summary>\n    /// The identifier for the SetPublishingModeResponse_Encoding_DefaultBinary Object.\n    /// </summary>\n    public const uint SetPublishingModeResponse_Encoding_DefaultBinary = 802;\n\n    /// <summary>\n    /// The identifier for the NotificationMessage_Encoding_DefaultBinary Object.\n    /// </summary>\n    public const uint NotificationMessage_Encoding_DefaultBinary = 805;\n\n    /// <summary>\n    /// The identifier for the NotificationData_Encoding_DefaultBinary Object.\n    /// </summary>\n    public const uint NotificationData_Encoding_DefaultBinary = 947;\n\n    /// <summary>\n    /// The identifier for the DataChangeNotification_Encoding_DefaultBinary Object.\n    /// </summary>\n    public const uint DataChangeNotification_Encoding_DefaultBinary = 811;\n\n    /// <summary>\n    /// The identifier for the MonitoredItemNotification_Encoding_DefaultBinary Object.\n    /// </summary>\n    public const uint MonitoredItemNotification_Encoding_DefaultBinary = 808;\n\n    /// <summary>\n    /// The identifier for the EventNotificationList_Encoding_DefaultBinary Object.\n    /// </summary>\n    public const uint EventNotificationList_Encoding_DefaultBinary = 916;\n\n    /// <summary>\n    /// The identifier for the EventFieldList_Encoding_DefaultBinary Object.\n    /// </summary>\n    public const uint EventFieldList_Encoding_DefaultBinary = 919;\n\n    /// <summary>\n    /// The identifier for the HistoryEventFieldList_Encoding_DefaultBinary Object.\n    /// </summary>\n    public const uint HistoryEventFieldList_Encoding_DefaultBinary = 922;\n\n    /// <summary>\n    /// The identifier for the StatusChangeNotification_Encoding_DefaultBinary Object.\n    /// </summary>\n    public const uint StatusChangeNotification_Encoding_DefaultBinary = 820;\n\n    /// <summary>\n    /// The identifier for the SubscriptionAcknowledgement_Encoding_DefaultBinary Object.\n    /// </summary>\n    public const uint SubscriptionAcknowledgement_Encoding_DefaultBinary = 823;\n\n    /// <summary>\n    /// The identifier for the PublishRequest_Encoding_DefaultBinary Object.\n    /// </summary>\n    public const uint PublishRequest_Encoding_DefaultBinary = 826;\n\n    /// <summary>\n    /// The identifier for the PublishResponse_Encoding_DefaultBinary Object.\n    /// </summary>\n    public const uint PublishResponse_Encoding_DefaultBinary = 829;\n\n    /// <summary>\n    /// The identifier for the RepublishRequest_Encoding_DefaultBinary Object.\n    /// </summary>\n    public const uint RepublishRequest_Encoding_DefaultBinary = 832;\n\n    /// <summary>\n    /// The identifier for the RepublishResponse_Encoding_DefaultBinary Object.\n    /// </summary>\n    public const uint RepublishResponse_Encoding_DefaultBinary = 835;\n\n    /// <summary>\n    /// The identifier for the TransferResult_Encoding_DefaultBinary Object.\n    /// </summary>\n    public const uint TransferResult_Encoding_DefaultBinary = 838;\n\n    /// <summary>\n    /// The identifier for the TransferSubscriptionsRequest_Encoding_DefaultBinary Object.\n    /// </summary>\n    public const uint TransferSubscriptionsRequest_Encoding_DefaultBinary = 841;\n\n    /// <summary>\n    /// The identifier for the TransferSubscriptionsResponse_Encoding_DefaultBinary Object.\n    /// </summary>\n    public const uint TransferSubscriptionsResponse_Encoding_DefaultBinary = 844;\n\n    /// <summary>\n    /// The identifier for the DeleteSubscriptionsRequest_Encoding_DefaultBinary Object.\n    /// </summary>\n    public const uint DeleteSubscriptionsRequest_Encoding_DefaultBinary = 847;\n\n    /// <summary>\n    /// The identifier for the DeleteSubscriptionsResponse_Encoding_DefaultBinary Object.\n    /// </summary>\n    public const uint DeleteSubscriptionsResponse_Encoding_DefaultBinary = 850;\n\n    /// <summary>\n    /// The identifier for the ScalarTestType_Encoding_DefaultBinary Object.\n    /// </summary>\n    public const uint ScalarTestType_Encoding_DefaultBinary = 401;\n\n    /// <summary>\n    /// The identifier for the ArrayTestType_Encoding_DefaultBinary Object.\n    /// </summary>\n    public const uint ArrayTestType_Encoding_DefaultBinary = 404;\n\n    /// <summary>\n    /// The identifier for the CompositeTestType_Encoding_DefaultBinary Object.\n    /// </summary>\n    public const uint CompositeTestType_Encoding_DefaultBinary = 407;\n\n    /// <summary>\n    /// The identifier for the TestStackRequest_Encoding_DefaultBinary Object.\n    /// </summary>\n    public const uint TestStackRequest_Encoding_DefaultBinary = 410;\n\n    /// <summary>\n    /// The identifier for the TestStackResponse_Encoding_DefaultBinary Object.\n    /// </summary>\n    public const uint TestStackResponse_Encoding_DefaultBinary = 413;\n\n    /// <summary>\n    /// The identifier for the TestStackExRequest_Encoding_DefaultBinary Object.\n    /// </summary>\n    public const uint TestStackExRequest_Encoding_DefaultBinary = 416;\n\n    /// <summary>\n    /// The identifier for the TestStackExResponse_Encoding_DefaultBinary Object.\n    /// </summary>\n    public const uint TestStackExResponse_Encoding_DefaultBinary = 419;\n\n    /// <summary>\n    /// The identifier for the BuildInfo_Encoding_DefaultBinary Object.\n    /// </summary>\n    public const uint BuildInfo_Encoding_DefaultBinary = 340;\n\n    /// <summary>\n    /// The identifier for the RedundantServerDataType_Encoding_DefaultBinary Object.\n    /// </summary>\n    public const uint RedundantServerDataType_Encoding_DefaultBinary = 855;\n\n    /// <summary>\n    /// The identifier for the EndpointUrlListDataType_Encoding_DefaultBinary Object.\n    /// </summary>\n    public const uint EndpointUrlListDataType_Encoding_DefaultBinary = 11957;\n\n    /// <summary>\n    /// The identifier for the NetworkGroupDataType_Encoding_DefaultBinary Object.\n    /// </summary>\n    public const uint NetworkGroupDataType_Encoding_DefaultBinary = 11958;\n\n    /// <summary>\n    /// The identifier for the SamplingIntervalDiagnosticsDataType_Encoding_DefaultBinary Object.\n    /// </summary>\n    public const uint SamplingIntervalDiagnosticsDataType_Encoding_DefaultBinary = 858;\n\n    /// <summary>\n    /// The identifier for the ServerDiagnosticsSummaryDataType_Encoding_DefaultBinary Object.\n    /// </summary>\n    public const uint ServerDiagnosticsSummaryDataType_Encoding_DefaultBinary = 861;\n\n    /// <summary>\n    /// The identifier for the ServerStatusDataType_Encoding_DefaultBinary Object.\n    /// </summary>\n    public const uint ServerStatusDataType_Encoding_DefaultBinary = 864;\n\n    /// <summary>\n    /// The identifier for the SessionDiagnosticsDataType_Encoding_DefaultBinary Object.\n    /// </summary>\n    public const uint SessionDiagnosticsDataType_Encoding_DefaultBinary = 867;\n\n    /// <summary>\n    /// The identifier for the SessionSecurityDiagnosticsDataType_Encoding_DefaultBinary Object.\n    /// </summary>\n    public const uint SessionSecurityDiagnosticsDataType_Encoding_DefaultBinary = 870;\n\n    /// <summary>\n    /// The identifier for the ServiceCounterDataType_Encoding_DefaultBinary Object.\n    /// </summary>\n    public const uint ServiceCounterDataType_Encoding_DefaultBinary = 873;\n\n    /// <summary>\n    /// The identifier for the StatusResult_Encoding_DefaultBinary Object.\n    /// </summary>\n    public const uint StatusResult_Encoding_DefaultBinary = 301;\n\n    /// <summary>\n    /// The identifier for the SubscriptionDiagnosticsDataType_Encoding_DefaultBinary Object.\n    /// </summary>\n    public const uint SubscriptionDiagnosticsDataType_Encoding_DefaultBinary = 876;\n\n    /// <summary>\n    /// The identifier for the ModelChangeStructureDataType_Encoding_DefaultBinary Object.\n    /// </summary>\n    public const uint ModelChangeStructureDataType_Encoding_DefaultBinary = 879;\n\n    /// <summary>\n    /// The identifier for the SemanticChangeStructureDataType_Encoding_DefaultBinary Object.\n    /// </summary>\n    public const uint SemanticChangeStructureDataType_Encoding_DefaultBinary = 899;\n\n    /// <summary>\n    /// The identifier for the Range_Encoding_DefaultBinary Object.\n    /// </summary>\n    public const uint Range_Encoding_DefaultBinary = 886;\n\n    /// <summary>\n    /// The identifier for the EUInformation_Encoding_DefaultBinary Object.\n    /// </summary>\n    public const uint EUInformation_Encoding_DefaultBinary = 889;\n\n    /// <summary>\n    /// The identifier for the ComplexNumberType_Encoding_DefaultBinary Object.\n    /// </summary>\n    public const uint ComplexNumberType_Encoding_DefaultBinary = 12181;\n\n    /// <summary>\n    /// The identifier for the DoubleComplexNumberType_Encoding_DefaultBinary Object.\n    /// </summary>\n    public const uint DoubleComplexNumberType_Encoding_DefaultBinary = 12182;\n\n    /// <summary>\n    /// The identifier for the AxisInformation_Encoding_DefaultBinary Object.\n    /// </summary>\n    public const uint AxisInformation_Encoding_DefaultBinary = 12089;\n\n    /// <summary>\n    /// The identifier for the XVType_Encoding_DefaultBinary Object.\n    /// </summary>\n    public const uint XVType_Encoding_DefaultBinary = 12090;\n\n    /// <summary>\n    /// The identifier for the ProgramDiagnosticDataType_Encoding_DefaultBinary Object.\n    /// </summary>\n    public const uint ProgramDiagnosticDataType_Encoding_DefaultBinary = 896;\n\n    /// <summary>\n    /// The identifier for the Annotation_Encoding_DefaultBinary Object.\n    /// </summary>\n    public const uint Annotation_Encoding_DefaultBinary = 893;\n  }\n  #endregion\n\n  #region ObjectType Identifiers\n  /// <summary>\n  /// A class that declares constants for all ObjectTypes in the Model Design.\n  /// </summary>\n  /// <exclude />\n  [System.CodeDom.Compiler.GeneratedCodeAttribute(\"Opc.Ua.ModelCompiler\", \"1.0.0.0\")]\n  public static partial class ObjectTypes\n  {\n    /// <summary>\n    /// The identifier for the BaseObjectType ObjectType.\n    /// </summary>\n    public const uint BaseObjectType = 58;\n\n    /// <summary>\n    /// The identifier for the FolderType ObjectType.\n    /// </summary>\n    public const uint FolderType = 61;\n\n    /// <summary>\n    /// The identifier for the DataTypeSystemType ObjectType.\n    /// </summary>\n    public const uint DataTypeSystemType = 75;\n\n    /// <summary>\n    /// The identifier for the DataTypeEncodingType ObjectType.\n    /// </summary>\n    public const uint DataTypeEncodingType = 76;\n\n    /// <summary>\n    /// The identifier for the ModellingRuleType ObjectType.\n    /// </summary>\n    public const uint ModellingRuleType = 77;\n\n    /// <summary>\n    /// The identifier for the ServerType ObjectType.\n    /// </summary>\n    public const uint ServerType = 2004;\n\n    /// <summary>\n    /// The identifier for the ServerCapabilitiesType ObjectType.\n    /// </summary>\n    public const uint ServerCapabilitiesType = 2013;\n\n    /// <summary>\n    /// The identifier for the ServerDiagnosticsType ObjectType.\n    /// </summary>\n    public const uint ServerDiagnosticsType = 2020;\n\n    /// <summary>\n    /// The identifier for the SessionsDiagnosticsSummaryType ObjectType.\n    /// </summary>\n    public const uint SessionsDiagnosticsSummaryType = 2026;\n\n    /// <summary>\n    /// The identifier for the SessionDiagnosticsObjectType ObjectType.\n    /// </summary>\n    public const uint SessionDiagnosticsObjectType = 2029;\n\n    /// <summary>\n    /// The identifier for the VendorServerInfoType ObjectType.\n    /// </summary>\n    public const uint VendorServerInfoType = 2033;\n\n    /// <summary>\n    /// The identifier for the ServerRedundancyType ObjectType.\n    /// </summary>\n    public const uint ServerRedundancyType = 2034;\n\n    /// <summary>\n    /// The identifier for the TransparentRedundancyType ObjectType.\n    /// </summary>\n    public const uint TransparentRedundancyType = 2036;\n\n    /// <summary>\n    /// The identifier for the NonTransparentRedundancyType ObjectType.\n    /// </summary>\n    public const uint NonTransparentRedundancyType = 2039;\n\n    /// <summary>\n    /// The identifier for the NonTransparentNetworkRedundancyType ObjectType.\n    /// </summary>\n    public const uint NonTransparentNetworkRedundancyType = 11945;\n\n    /// <summary>\n    /// The identifier for the OperationLimitsType ObjectType.\n    /// </summary>\n    public const uint OperationLimitsType = 11564;\n\n    /// <summary>\n    /// The identifier for the FileType ObjectType.\n    /// </summary>\n    public const uint FileType = 11575;\n\n    /// <summary>\n    /// The identifier for the AddressSpaceFileType ObjectType.\n    /// </summary>\n    public const uint AddressSpaceFileType = 11595;\n\n    /// <summary>\n    /// The identifier for the NamespaceMetadataType ObjectType.\n    /// </summary>\n    public const uint NamespaceMetadataType = 11616;\n\n    /// <summary>\n    /// The identifier for the NamespacesType ObjectType.\n    /// </summary>\n    public const uint NamespacesType = 11645;\n\n    /// <summary>\n    /// The identifier for the BaseEventType ObjectType.\n    /// </summary>\n    public const uint BaseEventType = 2041;\n\n    /// <summary>\n    /// The identifier for the AuditEventType ObjectType.\n    /// </summary>\n    public const uint AuditEventType = 2052;\n\n    /// <summary>\n    /// The identifier for the AuditSecurityEventType ObjectType.\n    /// </summary>\n    public const uint AuditSecurityEventType = 2058;\n\n    /// <summary>\n    /// The identifier for the AuditChannelEventType ObjectType.\n    /// </summary>\n    public const uint AuditChannelEventType = 2059;\n\n    /// <summary>\n    /// The identifier for the AuditOpenSecureChannelEventType ObjectType.\n    /// </summary>\n    public const uint AuditOpenSecureChannelEventType = 2060;\n\n    /// <summary>\n    /// The identifier for the AuditSessionEventType ObjectType.\n    /// </summary>\n    public const uint AuditSessionEventType = 2069;\n\n    /// <summary>\n    /// The identifier for the AuditCreateSessionEventType ObjectType.\n    /// </summary>\n    public const uint AuditCreateSessionEventType = 2071;\n\n    /// <summary>\n    /// The identifier for the AuditUrlMismatchEventType ObjectType.\n    /// </summary>\n    public const uint AuditUrlMismatchEventType = 2748;\n\n    /// <summary>\n    /// The identifier for the AuditActivateSessionEventType ObjectType.\n    /// </summary>\n    public const uint AuditActivateSessionEventType = 2075;\n\n    /// <summary>\n    /// The identifier for the AuditCancelEventType ObjectType.\n    /// </summary>\n    public const uint AuditCancelEventType = 2078;\n\n    /// <summary>\n    /// The identifier for the AuditCertificateEventType ObjectType.\n    /// </summary>\n    public const uint AuditCertificateEventType = 2080;\n\n    /// <summary>\n    /// The identifier for the AuditCertificateDataMismatchEventType ObjectType.\n    /// </summary>\n    public const uint AuditCertificateDataMismatchEventType = 2082;\n\n    /// <summary>\n    /// The identifier for the AuditCertificateExpiredEventType ObjectType.\n    /// </summary>\n    public const uint AuditCertificateExpiredEventType = 2085;\n\n    /// <summary>\n    /// The identifier for the AuditCertificateInvalidEventType ObjectType.\n    /// </summary>\n    public const uint AuditCertificateInvalidEventType = 2086;\n\n    /// <summary>\n    /// The identifier for the AuditCertificateUntrustedEventType ObjectType.\n    /// </summary>\n    public const uint AuditCertificateUntrustedEventType = 2087;\n\n    /// <summary>\n    /// The identifier for the AuditCertificateRevokedEventType ObjectType.\n    /// </summary>\n    public const uint AuditCertificateRevokedEventType = 2088;\n\n    /// <summary>\n    /// The identifier for the AuditCertificateMismatchEventType ObjectType.\n    /// </summary>\n    public const uint AuditCertificateMismatchEventType = 2089;\n\n    /// <summary>\n    /// The identifier for the AuditNodeManagementEventType ObjectType.\n    /// </summary>\n    public const uint AuditNodeManagementEventType = 2090;\n\n    /// <summary>\n    /// The identifier for the AuditAddNodesEventType ObjectType.\n    /// </summary>\n    public const uint AuditAddNodesEventType = 2091;\n\n    /// <summary>\n    /// The identifier for the AuditDeleteNodesEventType ObjectType.\n    /// </summary>\n    public const uint AuditDeleteNodesEventType = 2093;\n\n    /// <summary>\n    /// The identifier for the AuditAddReferencesEventType ObjectType.\n    /// </summary>\n    public const uint AuditAddReferencesEventType = 2095;\n\n    /// <summary>\n    /// The identifier for the AuditDeleteReferencesEventType ObjectType.\n    /// </summary>\n    public const uint AuditDeleteReferencesEventType = 2097;\n\n    /// <summary>\n    /// The identifier for the AuditUpdateEventType ObjectType.\n    /// </summary>\n    public const uint AuditUpdateEventType = 2099;\n\n    /// <summary>\n    /// The identifier for the AuditWriteUpdateEventType ObjectType.\n    /// </summary>\n    public const uint AuditWriteUpdateEventType = 2100;\n\n    /// <summary>\n    /// The identifier for the AuditHistoryUpdateEventType ObjectType.\n    /// </summary>\n    public const uint AuditHistoryUpdateEventType = 2104;\n\n    /// <summary>\n    /// The identifier for the AuditUpdateMethodEventType ObjectType.\n    /// </summary>\n    public const uint AuditUpdateMethodEventType = 2127;\n\n    /// <summary>\n    /// The identifier for the SystemEventType ObjectType.\n    /// </summary>\n    public const uint SystemEventType = 2130;\n\n    /// <summary>\n    /// The identifier for the DeviceFailureEventType ObjectType.\n    /// </summary>\n    public const uint DeviceFailureEventType = 2131;\n\n    /// <summary>\n    /// The identifier for the SystemStatusChangeEventType ObjectType.\n    /// </summary>\n    public const uint SystemStatusChangeEventType = 11446;\n\n    /// <summary>\n    /// The identifier for the BaseModelChangeEventType ObjectType.\n    /// </summary>\n    public const uint BaseModelChangeEventType = 2132;\n\n    /// <summary>\n    /// The identifier for the GeneralModelChangeEventType ObjectType.\n    /// </summary>\n    public const uint GeneralModelChangeEventType = 2133;\n\n    /// <summary>\n    /// The identifier for the SemanticChangeEventType ObjectType.\n    /// </summary>\n    public const uint SemanticChangeEventType = 2738;\n\n    /// <summary>\n    /// The identifier for the EventQueueOverflowEventType ObjectType.\n    /// </summary>\n    public const uint EventQueueOverflowEventType = 3035;\n\n    /// <summary>\n    /// The identifier for the ProgressEventType ObjectType.\n    /// </summary>\n    public const uint ProgressEventType = 11436;\n\n    /// <summary>\n    /// The identifier for the AggregateFunctionType ObjectType.\n    /// </summary>\n    public const uint AggregateFunctionType = 2340;\n\n    /// <summary>\n    /// The identifier for the StateMachineType ObjectType.\n    /// </summary>\n    public const uint StateMachineType = 2299;\n\n    /// <summary>\n    /// The identifier for the FiniteStateMachineType ObjectType.\n    /// </summary>\n    public const uint FiniteStateMachineType = 2771;\n\n    /// <summary>\n    /// The identifier for the StateType ObjectType.\n    /// </summary>\n    public const uint StateType = 2307;\n\n    /// <summary>\n    /// The identifier for the InitialStateType ObjectType.\n    /// </summary>\n    public const uint InitialStateType = 2309;\n\n    /// <summary>\n    /// The identifier for the TransitionType ObjectType.\n    /// </summary>\n    public const uint TransitionType = 2310;\n\n    /// <summary>\n    /// The identifier for the TransitionEventType ObjectType.\n    /// </summary>\n    public const uint TransitionEventType = 2311;\n\n    /// <summary>\n    /// The identifier for the AuditUpdateStateEventType ObjectType.\n    /// </summary>\n    public const uint AuditUpdateStateEventType = 2315;\n\n    /// <summary>\n    /// The identifier for the ConditionType ObjectType.\n    /// </summary>\n    public const uint ConditionType = 2782;\n\n    /// <summary>\n    /// The identifier for the DialogConditionType ObjectType.\n    /// </summary>\n    public const uint DialogConditionType = 2830;\n\n    /// <summary>\n    /// The identifier for the AcknowledgeableConditionType ObjectType.\n    /// </summary>\n    public const uint AcknowledgeableConditionType = 2881;\n\n    /// <summary>\n    /// The identifier for the AlarmConditionType ObjectType.\n    /// </summary>\n    public const uint AlarmConditionType = 2915;\n\n    /// <summary>\n    /// The identifier for the ShelvedStateMachineType ObjectType.\n    /// </summary>\n    public const uint ShelvedStateMachineType = 2929;\n\n    /// <summary>\n    /// The identifier for the LimitAlarmType ObjectType.\n    /// </summary>\n    public const uint LimitAlarmType = 2955;\n\n    /// <summary>\n    /// The identifier for the ExclusiveLimitStateMachineType ObjectType.\n    /// </summary>\n    public const uint ExclusiveLimitStateMachineType = 9318;\n\n    /// <summary>\n    /// The identifier for the ExclusiveLimitAlarmType ObjectType.\n    /// </summary>\n    public const uint ExclusiveLimitAlarmType = 9341;\n\n    /// <summary>\n    /// The identifier for the NonExclusiveLimitAlarmType ObjectType.\n    /// </summary>\n    public const uint NonExclusiveLimitAlarmType = 9906;\n\n    /// <summary>\n    /// The identifier for the NonExclusiveLevelAlarmType ObjectType.\n    /// </summary>\n    public const uint NonExclusiveLevelAlarmType = 10060;\n\n    /// <summary>\n    /// The identifier for the ExclusiveLevelAlarmType ObjectType.\n    /// </summary>\n    public const uint ExclusiveLevelAlarmType = 9482;\n\n    /// <summary>\n    /// The identifier for the NonExclusiveDeviationAlarmType ObjectType.\n    /// </summary>\n    public const uint NonExclusiveDeviationAlarmType = 10368;\n\n    /// <summary>\n    /// The identifier for the ExclusiveDeviationAlarmType ObjectType.\n    /// </summary>\n    public const uint ExclusiveDeviationAlarmType = 9764;\n\n    /// <summary>\n    /// The identifier for the NonExclusiveRateOfChangeAlarmType ObjectType.\n    /// </summary>\n    public const uint NonExclusiveRateOfChangeAlarmType = 10214;\n\n    /// <summary>\n    /// The identifier for the ExclusiveRateOfChangeAlarmType ObjectType.\n    /// </summary>\n    public const uint ExclusiveRateOfChangeAlarmType = 9623;\n\n    /// <summary>\n    /// The identifier for the DiscreteAlarmType ObjectType.\n    /// </summary>\n    public const uint DiscreteAlarmType = 10523;\n\n    /// <summary>\n    /// The identifier for the OffNormalAlarmType ObjectType.\n    /// </summary>\n    public const uint OffNormalAlarmType = 10637;\n\n    /// <summary>\n    /// The identifier for the SystemOffNormalAlarmType ObjectType.\n    /// </summary>\n    public const uint SystemOffNormalAlarmType = 11753;\n\n    /// <summary>\n    /// The identifier for the TripAlarmType ObjectType.\n    /// </summary>\n    public const uint TripAlarmType = 10751;\n\n    /// <summary>\n    /// The identifier for the BaseConditionClassType ObjectType.\n    /// </summary>\n    public const uint BaseConditionClassType = 11163;\n\n    /// <summary>\n    /// The identifier for the ProcessConditionClassType ObjectType.\n    /// </summary>\n    public const uint ProcessConditionClassType = 11164;\n\n    /// <summary>\n    /// The identifier for the MaintenanceConditionClassType ObjectType.\n    /// </summary>\n    public const uint MaintenanceConditionClassType = 11165;\n\n    /// <summary>\n    /// The identifier for the SystemConditionClassType ObjectType.\n    /// </summary>\n    public const uint SystemConditionClassType = 11166;\n\n    /// <summary>\n    /// The identifier for the AuditConditionEventType ObjectType.\n    /// </summary>\n    public const uint AuditConditionEventType = 2790;\n\n    /// <summary>\n    /// The identifier for the AuditConditionEnableEventType ObjectType.\n    /// </summary>\n    public const uint AuditConditionEnableEventType = 2803;\n\n    /// <summary>\n    /// The identifier for the AuditConditionCommentEventType ObjectType.\n    /// </summary>\n    public const uint AuditConditionCommentEventType = 2829;\n\n    /// <summary>\n    /// The identifier for the AuditConditionRespondEventType ObjectType.\n    /// </summary>\n    public const uint AuditConditionRespondEventType = 8927;\n\n    /// <summary>\n    /// The identifier for the AuditConditionAcknowledgeEventType ObjectType.\n    /// </summary>\n    public const uint AuditConditionAcknowledgeEventType = 8944;\n\n    /// <summary>\n    /// The identifier for the AuditConditionConfirmEventType ObjectType.\n    /// </summary>\n    public const uint AuditConditionConfirmEventType = 8961;\n\n    /// <summary>\n    /// The identifier for the AuditConditionShelvingEventType ObjectType.\n    /// </summary>\n    public const uint AuditConditionShelvingEventType = 11093;\n\n    /// <summary>\n    /// The identifier for the RefreshStartEventType ObjectType.\n    /// </summary>\n    public const uint RefreshStartEventType = 2787;\n\n    /// <summary>\n    /// The identifier for the RefreshEndEventType ObjectType.\n    /// </summary>\n    public const uint RefreshEndEventType = 2788;\n\n    /// <summary>\n    /// The identifier for the RefreshRequiredEventType ObjectType.\n    /// </summary>\n    public const uint RefreshRequiredEventType = 2789;\n\n    /// <summary>\n    /// The identifier for the ProgramStateMachineType ObjectType.\n    /// </summary>\n    public const uint ProgramStateMachineType = 2391;\n\n    /// <summary>\n    /// The identifier for the ProgramTransitionEventType ObjectType.\n    /// </summary>\n    public const uint ProgramTransitionEventType = 2378;\n\n    /// <summary>\n    /// The identifier for the AuditProgramTransitionEventType ObjectType.\n    /// </summary>\n    public const uint AuditProgramTransitionEventType = 11856;\n\n    /// <summary>\n    /// The identifier for the ProgramTransitionAuditEventType ObjectType.\n    /// </summary>\n    public const uint ProgramTransitionAuditEventType = 3806;\n\n    /// <summary>\n    /// The identifier for the HistoricalDataConfigurationType ObjectType.\n    /// </summary>\n    public const uint HistoricalDataConfigurationType = 2318;\n\n    /// <summary>\n    /// The identifier for the HistoryServerCapabilitiesType ObjectType.\n    /// </summary>\n    public const uint HistoryServerCapabilitiesType = 2330;\n\n    /// <summary>\n    /// The identifier for the AuditHistoryEventUpdateEventType ObjectType.\n    /// </summary>\n    public const uint AuditHistoryEventUpdateEventType = 2999;\n\n    /// <summary>\n    /// The identifier for the AuditHistoryValueUpdateEventType ObjectType.\n    /// </summary>\n    public const uint AuditHistoryValueUpdateEventType = 3006;\n\n    /// <summary>\n    /// The identifier for the AuditHistoryDeleteEventType ObjectType.\n    /// </summary>\n    public const uint AuditHistoryDeleteEventType = 3012;\n\n    /// <summary>\n    /// The identifier for the AuditHistoryRawModifyDeleteEventType ObjectType.\n    /// </summary>\n    public const uint AuditHistoryRawModifyDeleteEventType = 3014;\n\n    /// <summary>\n    /// The identifier for the AuditHistoryAtTimeDeleteEventType ObjectType.\n    /// </summary>\n    public const uint AuditHistoryAtTimeDeleteEventType = 3019;\n\n    /// <summary>\n    /// The identifier for the AuditHistoryEventDeleteEventType ObjectType.\n    /// </summary>\n    public const uint AuditHistoryEventDeleteEventType = 3022;\n\n    /// <summary>\n    /// The identifier for the AggregateConfigurationType ObjectType.\n    /// </summary>\n    public const uint AggregateConfigurationType = 11187;\n\n    /// <summary>\n    /// The identifier for the LockType ObjectType.\n    /// </summary>\n    public const uint LockType = 8921;\n  }\n  #endregion\n\n  #region ReferenceType Identifiers\n  /// <summary>\n  /// A class that declares constants for all ReferenceTypes in the Model Design.\n  /// </summary>\n  /// <exclude />\n  [System.CodeDom.Compiler.GeneratedCodeAttribute(\"Opc.Ua.ModelCompiler\", \"1.0.0.0\")]\n  public static partial class ReferenceTypes\n  {\n    /// <summary>\n    /// The identifier for the References ReferenceType.\n    /// </summary>\n    public const uint References = 31;\n\n    /// <summary>\n    /// The identifier for the NonHierarchicalReferences ReferenceType.\n    /// </summary>\n    public const uint NonHierarchicalReferences = 32;\n\n    /// <summary>\n    /// The identifier for the HierarchicalReferences ReferenceType.\n    /// </summary>\n    public const uint HierarchicalReferences = 33;\n\n    /// <summary>\n    /// The identifier for the HasChild ReferenceType.\n    /// </summary>\n    public const uint HasChild = 34;\n\n    /// <summary>\n    /// The identifier for the Organizes ReferenceType.\n    /// </summary>\n    public const uint Organizes = 35;\n\n    /// <summary>\n    /// The identifier for the HasEventSource ReferenceType.\n    /// </summary>\n    public const uint HasEventSource = 36;\n\n    /// <summary>\n    /// The identifier for the HasModellingRule ReferenceType.\n    /// </summary>\n    public const uint HasModellingRule = 37;\n\n    /// <summary>\n    /// The identifier for the HasEncoding ReferenceType.\n    /// </summary>\n    public const uint HasEncoding = 38;\n\n    /// <summary>\n    /// The identifier for the HasDescription ReferenceType.\n    /// </summary>\n    public const uint HasDescription = 39;\n\n    /// <summary>\n    /// The identifier for the HasTypeDefinition ReferenceType.\n    /// </summary>\n    public const uint HasTypeDefinition = 40;\n\n    /// <summary>\n    /// The identifier for the GeneratesEvent ReferenceType.\n    /// </summary>\n    public const uint GeneratesEvent = 41;\n\n    /// <summary>\n    /// The identifier for the AlwaysGeneratesEvent ReferenceType.\n    /// </summary>\n    public const uint AlwaysGeneratesEvent = 3065;\n\n    /// <summary>\n    /// The identifier for the Aggregates ReferenceType.\n    /// </summary>\n    public const uint Aggregates = 44;\n\n    /// <summary>\n    /// The identifier for the HasSubtype ReferenceType.\n    /// </summary>\n    public const uint HasSubtype = 45;\n\n    /// <summary>\n    /// The identifier for the HasProperty ReferenceType.\n    /// </summary>\n    public const uint HasProperty = 46;\n\n    /// <summary>\n    /// The identifier for the HasComponent ReferenceType.\n    /// </summary>\n    public const uint HasComponent = 47;\n\n    /// <summary>\n    /// The identifier for the HasNotifier ReferenceType.\n    /// </summary>\n    public const uint HasNotifier = 48;\n\n    /// <summary>\n    /// The identifier for the HasOrderedComponent ReferenceType.\n    /// </summary>\n    public const uint HasOrderedComponent = 49;\n\n    /// <summary>\n    /// The identifier for the FromState ReferenceType.\n    /// </summary>\n    public const uint FromState = 51;\n\n    /// <summary>\n    /// The identifier for the ToState ReferenceType.\n    /// </summary>\n    public const uint ToState = 52;\n\n    /// <summary>\n    /// The identifier for the HasCause ReferenceType.\n    /// </summary>\n    public const uint HasCause = 53;\n\n    /// <summary>\n    /// The identifier for the HasEffect ReferenceType.\n    /// </summary>\n    public const uint HasEffect = 54;\n\n    /// <summary>\n    /// The identifier for the HasSubStateMachine ReferenceType.\n    /// </summary>\n    public const uint HasSubStateMachine = 117;\n\n    /// <summary>\n    /// The identifier for the HasHistoricalConfiguration ReferenceType.\n    /// </summary>\n    public const uint HasHistoricalConfiguration = 56;\n\n    /// <summary>\n    /// The identifier for the HasTrueSubState ReferenceType.\n    /// </summary>\n    public const uint HasTrueSubState = 9004;\n\n    /// <summary>\n    /// The identifier for the HasFalseSubState ReferenceType.\n    /// </summary>\n    public const uint HasFalseSubState = 9005;\n\n    /// <summary>\n    /// The identifier for the HasCondition ReferenceType.\n    /// </summary>\n    public const uint HasCondition = 9006;\n  }\n  #endregion\n\n  #region Variable Identifiers\n  /// <summary>\n  /// A class that declares constants for all Variables in the Model Design.\n  /// </summary>\n  /// <exclude />\n  [System.CodeDom.Compiler.GeneratedCodeAttribute(\"Opc.Ua.ModelCompiler\", \"1.0.0.0\")]\n  public static partial class Variables\n  {\n    /// <summary>\n    /// The identifier for the DataTypeDescriptionType_DataTypeVersion Variable.\n    /// </summary>\n    public const uint DataTypeDescriptionType_DataTypeVersion = 104;\n\n    /// <summary>\n    /// The identifier for the DataTypeDescriptionType_DictionaryFragment Variable.\n    /// </summary>\n    public const uint DataTypeDescriptionType_DictionaryFragment = 105;\n\n    /// <summary>\n    /// The identifier for the DataTypeDictionaryType_DataTypeVersion Variable.\n    /// </summary>\n    public const uint DataTypeDictionaryType_DataTypeVersion = 106;\n\n    /// <summary>\n    /// The identifier for the DataTypeDictionaryType_NamespaceUri Variable.\n    /// </summary>\n    public const uint DataTypeDictionaryType_NamespaceUri = 107;\n\n    /// <summary>\n    /// The identifier for the NamingRuleType_EnumValues Variable.\n    /// </summary>\n    public const uint NamingRuleType_EnumValues = 12169;\n\n    /// <summary>\n    /// The identifier for the ModellingRuleType_NamingRule Variable.\n    /// </summary>\n    public const uint ModellingRuleType_NamingRule = 111;\n\n    /// <summary>\n    /// The identifier for the ModellingRule_Mandatory_NamingRule Variable.\n    /// </summary>\n    public const uint ModellingRule_Mandatory_NamingRule = 112;\n\n    /// <summary>\n    /// The identifier for the ModellingRule_Optional_NamingRule Variable.\n    /// </summary>\n    public const uint ModellingRule_Optional_NamingRule = 113;\n\n    /// <summary>\n    /// The identifier for the ModellingRule_ExposesItsArray_NamingRule Variable.\n    /// </summary>\n    public const uint ModellingRule_ExposesItsArray_NamingRule = 114;\n\n    /// <summary>\n    /// The identifier for the ModellingRule_MandatoryShared_NamingRule Variable.\n    /// </summary>\n    public const uint ModellingRule_MandatoryShared_NamingRule = 116;\n\n    /// <summary>\n    /// The identifier for the ModellingRule_OptionalPlaceholder_NamingRule Variable.\n    /// </summary>\n    public const uint ModellingRule_OptionalPlaceholder_NamingRule = 11509;\n\n    /// <summary>\n    /// The identifier for the ModellingRule_MandatoryPlaceholder_NamingRule Variable.\n    /// </summary>\n    public const uint ModellingRule_MandatoryPlaceholder_NamingRule = 11511;\n\n    /// <summary>\n    /// The identifier for the NodeVersion Variable.\n    /// </summary>\n    public const uint NodeVersion = 3068;\n\n    /// <summary>\n    /// The identifier for the ViewVersion Variable.\n    /// </summary>\n    public const uint ViewVersion = 12170;\n\n    /// <summary>\n    /// The identifier for the Icon Variable.\n    /// </summary>\n    public const uint Icon = 3067;\n\n    /// <summary>\n    /// The identifier for the LocalTime Variable.\n    /// </summary>\n    public const uint LocalTime = 3069;\n\n    /// <summary>\n    /// The identifier for the AllowNulls Variable.\n    /// </summary>\n    public const uint AllowNulls = 3070;\n\n    /// <summary>\n    /// The identifier for the ValueAsText Variable.\n    /// </summary>\n    public const uint ValueAsText = 11433;\n\n    /// <summary>\n    /// The identifier for the MaxStringLength Variable.\n    /// </summary>\n    public const uint MaxStringLength = 11498;\n\n    /// <summary>\n    /// The identifier for the MaxArrayLength Variable.\n    /// </summary>\n    public const uint MaxArrayLength = 11512;\n\n    /// <summary>\n    /// The identifier for the EngineeringUnits Variable.\n    /// </summary>\n    public const uint EngineeringUnits = 11513;\n\n    /// <summary>\n    /// The identifier for the EnumStrings Variable.\n    /// </summary>\n    public const uint EnumStrings = 11432;\n\n    /// <summary>\n    /// The identifier for the EnumValues Variable.\n    /// </summary>\n    public const uint EnumValues = 3071;\n\n    /// <summary>\n    /// The identifier for the InputArguments Variable.\n    /// </summary>\n    public const uint InputArguments = 3072;\n\n    /// <summary>\n    /// The identifier for the OutputArguments Variable.\n    /// </summary>\n    public const uint OutputArguments = 3073;\n\n    /// <summary>\n    /// The identifier for the ServerType_ServerArray Variable.\n    /// </summary>\n    public const uint ServerType_ServerArray = 2005;\n\n    /// <summary>\n    /// The identifier for the ServerType_NamespaceArray Variable.\n    /// </summary>\n    public const uint ServerType_NamespaceArray = 2006;\n\n    /// <summary>\n    /// The identifier for the ServerType_ServerStatus Variable.\n    /// </summary>\n    public const uint ServerType_ServerStatus = 2007;\n\n    /// <summary>\n    /// The identifier for the ServerType_ServerStatus_StartTime Variable.\n    /// </summary>\n    public const uint ServerType_ServerStatus_StartTime = 3074;\n\n    /// <summary>\n    /// The identifier for the ServerType_ServerStatus_CurrentTime Variable.\n    /// </summary>\n    public const uint ServerType_ServerStatus_CurrentTime = 3075;\n\n    /// <summary>\n    /// The identifier for the ServerType_ServerStatus_State Variable.\n    /// </summary>\n    public const uint ServerType_ServerStatus_State = 3076;\n\n    /// <summary>\n    /// The identifier for the ServerType_ServerStatus_BuildInfo Variable.\n    /// </summary>\n    public const uint ServerType_ServerStatus_BuildInfo = 3077;\n\n    /// <summary>\n    /// The identifier for the ServerType_ServerStatus_BuildInfo_ProductUri Variable.\n    /// </summary>\n    public const uint ServerType_ServerStatus_BuildInfo_ProductUri = 3078;\n\n    /// <summary>\n    /// The identifier for the ServerType_ServerStatus_BuildInfo_ManufacturerName Variable.\n    /// </summary>\n    public const uint ServerType_ServerStatus_BuildInfo_ManufacturerName = 3079;\n\n    /// <summary>\n    /// The identifier for the ServerType_ServerStatus_BuildInfo_ProductName Variable.\n    /// </summary>\n    public const uint ServerType_ServerStatus_BuildInfo_ProductName = 3080;\n\n    /// <summary>\n    /// The identifier for the ServerType_ServerStatus_BuildInfo_SoftwareVersion Variable.\n    /// </summary>\n    public const uint ServerType_ServerStatus_BuildInfo_SoftwareVersion = 3081;\n\n    /// <summary>\n    /// The identifier for the ServerType_ServerStatus_BuildInfo_BuildNumber Variable.\n    /// </summary>\n    public const uint ServerType_ServerStatus_BuildInfo_BuildNumber = 3082;\n\n    /// <summary>\n    /// The identifier for the ServerType_ServerStatus_BuildInfo_BuildDate Variable.\n    /// </summary>\n    public const uint ServerType_ServerStatus_BuildInfo_BuildDate = 3083;\n\n    /// <summary>\n    /// The identifier for the ServerType_ServerStatus_SecondsTillShutdown Variable.\n    /// </summary>\n    public const uint ServerType_ServerStatus_SecondsTillShutdown = 3084;\n\n    /// <summary>\n    /// The identifier for the ServerType_ServerStatus_ShutdownReason Variable.\n    /// </summary>\n    public const uint ServerType_ServerStatus_ShutdownReason = 3085;\n\n    /// <summary>\n    /// The identifier for the ServerType_ServiceLevel Variable.\n    /// </summary>\n    public const uint ServerType_ServiceLevel = 2008;\n\n    /// <summary>\n    /// The identifier for the ServerType_Auditing Variable.\n    /// </summary>\n    public const uint ServerType_Auditing = 2742;\n\n    /// <summary>\n    /// The identifier for the ServerType_ServerCapabilities_ServerProfileArray Variable.\n    /// </summary>\n    public const uint ServerType_ServerCapabilities_ServerProfileArray = 3086;\n\n    /// <summary>\n    /// The identifier for the ServerType_ServerCapabilities_LocaleIdArray Variable.\n    /// </summary>\n    public const uint ServerType_ServerCapabilities_LocaleIdArray = 3087;\n\n    /// <summary>\n    /// The identifier for the ServerType_ServerCapabilities_MinSupportedSampleRate Variable.\n    /// </summary>\n    public const uint ServerType_ServerCapabilities_MinSupportedSampleRate = 3088;\n\n    /// <summary>\n    /// The identifier for the ServerType_ServerCapabilities_MaxBrowseContinuationPoints Variable.\n    /// </summary>\n    public const uint ServerType_ServerCapabilities_MaxBrowseContinuationPoints = 3089;\n\n    /// <summary>\n    /// The identifier for the ServerType_ServerCapabilities_MaxQueryContinuationPoints Variable.\n    /// </summary>\n    public const uint ServerType_ServerCapabilities_MaxQueryContinuationPoints = 3090;\n\n    /// <summary>\n    /// The identifier for the ServerType_ServerCapabilities_MaxHistoryContinuationPoints Variable.\n    /// </summary>\n    public const uint ServerType_ServerCapabilities_MaxHistoryContinuationPoints = 3091;\n\n    /// <summary>\n    /// The identifier for the ServerType_ServerCapabilities_SoftwareCertificates Variable.\n    /// </summary>\n    public const uint ServerType_ServerCapabilities_SoftwareCertificates = 3092;\n\n    /// <summary>\n    /// The identifier for the ServerType_ServerDiagnostics_ServerDiagnosticsSummary Variable.\n    /// </summary>\n    public const uint ServerType_ServerDiagnostics_ServerDiagnosticsSummary = 3095;\n\n    /// <summary>\n    /// The identifier for the ServerType_ServerDiagnostics_ServerDiagnosticsSummary_ServerViewCount Variable.\n    /// </summary>\n    public const uint ServerType_ServerDiagnostics_ServerDiagnosticsSummary_ServerViewCount = 3096;\n\n    /// <summary>\n    /// The identifier for the ServerType_ServerDiagnostics_ServerDiagnosticsSummary_CurrentSessionCount Variable.\n    /// </summary>\n    public const uint ServerType_ServerDiagnostics_ServerDiagnosticsSummary_CurrentSessionCount = 3097;\n\n    /// <summary>\n    /// The identifier for the ServerType_ServerDiagnostics_ServerDiagnosticsSummary_CumulatedSessionCount Variable.\n    /// </summary>\n    public const uint ServerType_ServerDiagnostics_ServerDiagnosticsSummary_CumulatedSessionCount = 3098;\n\n    /// <summary>\n    /// The identifier for the ServerType_ServerDiagnostics_ServerDiagnosticsSummary_SecurityRejectedSessionCount Variable.\n    /// </summary>\n    public const uint ServerType_ServerDiagnostics_ServerDiagnosticsSummary_SecurityRejectedSessionCount = 3099;\n\n    /// <summary>\n    /// The identifier for the ServerType_ServerDiagnostics_ServerDiagnosticsSummary_RejectedSessionCount Variable.\n    /// </summary>\n    public const uint ServerType_ServerDiagnostics_ServerDiagnosticsSummary_RejectedSessionCount = 3100;\n\n    /// <summary>\n    /// The identifier for the ServerType_ServerDiagnostics_ServerDiagnosticsSummary_SessionTimeoutCount Variable.\n    /// </summary>\n    public const uint ServerType_ServerDiagnostics_ServerDiagnosticsSummary_SessionTimeoutCount = 3101;\n\n    /// <summary>\n    /// The identifier for the ServerType_ServerDiagnostics_ServerDiagnosticsSummary_SessionAbortCount Variable.\n    /// </summary>\n    public const uint ServerType_ServerDiagnostics_ServerDiagnosticsSummary_SessionAbortCount = 3102;\n\n    /// <summary>\n    /// The identifier for the ServerType_ServerDiagnostics_ServerDiagnosticsSummary_PublishingIntervalCount Variable.\n    /// </summary>\n    public const uint ServerType_ServerDiagnostics_ServerDiagnosticsSummary_PublishingIntervalCount = 3104;\n\n    /// <summary>\n    /// The identifier for the ServerType_ServerDiagnostics_ServerDiagnosticsSummary_CurrentSubscriptionCount Variable.\n    /// </summary>\n    public const uint ServerType_ServerDiagnostics_ServerDiagnosticsSummary_CurrentSubscriptionCount = 3105;\n\n    /// <summary>\n    /// The identifier for the ServerType_ServerDiagnostics_ServerDiagnosticsSummary_CumulatedSubscriptionCount Variable.\n    /// </summary>\n    public const uint ServerType_ServerDiagnostics_ServerDiagnosticsSummary_CumulatedSubscriptionCount = 3106;\n\n    /// <summary>\n    /// The identifier for the ServerType_ServerDiagnostics_ServerDiagnosticsSummary_SecurityRejectedRequestsCount Variable.\n    /// </summary>\n    public const uint ServerType_ServerDiagnostics_ServerDiagnosticsSummary_SecurityRejectedRequestsCount = 3107;\n\n    /// <summary>\n    /// The identifier for the ServerType_ServerDiagnostics_ServerDiagnosticsSummary_RejectedRequestsCount Variable.\n    /// </summary>\n    public const uint ServerType_ServerDiagnostics_ServerDiagnosticsSummary_RejectedRequestsCount = 3108;\n\n    /// <summary>\n    /// The identifier for the ServerType_ServerDiagnostics_SubscriptionDiagnosticsArray Variable.\n    /// </summary>\n    public const uint ServerType_ServerDiagnostics_SubscriptionDiagnosticsArray = 3110;\n\n    /// <summary>\n    /// The identifier for the ServerType_ServerDiagnostics_SessionsDiagnosticsSummary_SessionDiagnosticsArray Variable.\n    /// </summary>\n    public const uint ServerType_ServerDiagnostics_SessionsDiagnosticsSummary_SessionDiagnosticsArray = 3112;\n\n    /// <summary>\n    /// The identifier for the ServerType_ServerDiagnostics_SessionsDiagnosticsSummary_SessionSecurityDiagnosticsArray Variable.\n    /// </summary>\n    public const uint ServerType_ServerDiagnostics_SessionsDiagnosticsSummary_SessionSecurityDiagnosticsArray = 3113;\n\n    /// <summary>\n    /// The identifier for the ServerType_ServerDiagnostics_EnabledFlag Variable.\n    /// </summary>\n    public const uint ServerType_ServerDiagnostics_EnabledFlag = 3114;\n\n    /// <summary>\n    /// The identifier for the ServerType_ServerRedundancy_RedundancySupport Variable.\n    /// </summary>\n    public const uint ServerType_ServerRedundancy_RedundancySupport = 3115;\n\n    /// <summary>\n    /// The identifier for the ServerType_GetMonitoredItems_InputArguments Variable.\n    /// </summary>\n    public const uint ServerType_GetMonitoredItems_InputArguments = 11490;\n\n    /// <summary>\n    /// The identifier for the ServerType_GetMonitoredItems_OutputArguments Variable.\n    /// </summary>\n    public const uint ServerType_GetMonitoredItems_OutputArguments = 11491;\n\n    /// <summary>\n    /// The identifier for the ServerCapabilitiesType_ServerProfileArray Variable.\n    /// </summary>\n    public const uint ServerCapabilitiesType_ServerProfileArray = 2014;\n\n    /// <summary>\n    /// The identifier for the ServerCapabilitiesType_LocaleIdArray Variable.\n    /// </summary>\n    public const uint ServerCapabilitiesType_LocaleIdArray = 2016;\n\n    /// <summary>\n    /// The identifier for the ServerCapabilitiesType_MinSupportedSampleRate Variable.\n    /// </summary>\n    public const uint ServerCapabilitiesType_MinSupportedSampleRate = 2017;\n\n    /// <summary>\n    /// The identifier for the ServerCapabilitiesType_MaxBrowseContinuationPoints Variable.\n    /// </summary>\n    public const uint ServerCapabilitiesType_MaxBrowseContinuationPoints = 2732;\n\n    /// <summary>\n    /// The identifier for the ServerCapabilitiesType_MaxQueryContinuationPoints Variable.\n    /// </summary>\n    public const uint ServerCapabilitiesType_MaxQueryContinuationPoints = 2733;\n\n    /// <summary>\n    /// The identifier for the ServerCapabilitiesType_MaxHistoryContinuationPoints Variable.\n    /// </summary>\n    public const uint ServerCapabilitiesType_MaxHistoryContinuationPoints = 2734;\n\n    /// <summary>\n    /// The identifier for the ServerCapabilitiesType_SoftwareCertificates Variable.\n    /// </summary>\n    public const uint ServerCapabilitiesType_SoftwareCertificates = 3049;\n\n    /// <summary>\n    /// The identifier for the ServerCapabilitiesType_MaxArrayLength Variable.\n    /// </summary>\n    public const uint ServerCapabilitiesType_MaxArrayLength = 11549;\n\n    /// <summary>\n    /// The identifier for the ServerCapabilitiesType_MaxStringLength Variable.\n    /// </summary>\n    public const uint ServerCapabilitiesType_MaxStringLength = 11550;\n\n    /// <summary>\n    /// The identifier for the ServerCapabilitiesType_VendorCapability Variable.\n    /// </summary>\n    public const uint ServerCapabilitiesType_VendorCapability = 11562;\n\n    /// <summary>\n    /// The identifier for the ServerDiagnosticsType_ServerDiagnosticsSummary Variable.\n    /// </summary>\n    public const uint ServerDiagnosticsType_ServerDiagnosticsSummary = 2021;\n\n    /// <summary>\n    /// The identifier for the ServerDiagnosticsType_ServerDiagnosticsSummary_ServerViewCount Variable.\n    /// </summary>\n    public const uint ServerDiagnosticsType_ServerDiagnosticsSummary_ServerViewCount = 3116;\n\n    /// <summary>\n    /// The identifier for the ServerDiagnosticsType_ServerDiagnosticsSummary_CurrentSessionCount Variable.\n    /// </summary>\n    public const uint ServerDiagnosticsType_ServerDiagnosticsSummary_CurrentSessionCount = 3117;\n\n    /// <summary>\n    /// The identifier for the ServerDiagnosticsType_ServerDiagnosticsSummary_CumulatedSessionCount Variable.\n    /// </summary>\n    public const uint ServerDiagnosticsType_ServerDiagnosticsSummary_CumulatedSessionCount = 3118;\n\n    /// <summary>\n    /// The identifier for the ServerDiagnosticsType_ServerDiagnosticsSummary_SecurityRejectedSessionCount Variable.\n    /// </summary>\n    public const uint ServerDiagnosticsType_ServerDiagnosticsSummary_SecurityRejectedSessionCount = 3119;\n\n    /// <summary>\n    /// The identifier for the ServerDiagnosticsType_ServerDiagnosticsSummary_RejectedSessionCount Variable.\n    /// </summary>\n    public const uint ServerDiagnosticsType_ServerDiagnosticsSummary_RejectedSessionCount = 3120;\n\n    /// <summary>\n    /// The identifier for the ServerDiagnosticsType_ServerDiagnosticsSummary_SessionTimeoutCount Variable.\n    /// </summary>\n    public const uint ServerDiagnosticsType_ServerDiagnosticsSummary_SessionTimeoutCount = 3121;\n\n    /// <summary>\n    /// The identifier for the ServerDiagnosticsType_ServerDiagnosticsSummary_SessionAbortCount Variable.\n    /// </summary>\n    public const uint ServerDiagnosticsType_ServerDiagnosticsSummary_SessionAbortCount = 3122;\n\n    /// <summary>\n    /// The identifier for the ServerDiagnosticsType_ServerDiagnosticsSummary_PublishingIntervalCount Variable.\n    /// </summary>\n    public const uint ServerDiagnosticsType_ServerDiagnosticsSummary_PublishingIntervalCount = 3124;\n\n    /// <summary>\n    /// The identifier for the ServerDiagnosticsType_ServerDiagnosticsSummary_CurrentSubscriptionCount Variable.\n    /// </summary>\n    public const uint ServerDiagnosticsType_ServerDiagnosticsSummary_CurrentSubscriptionCount = 3125;\n\n    /// <summary>\n    /// The identifier for the ServerDiagnosticsType_ServerDiagnosticsSummary_CumulatedSubscriptionCount Variable.\n    /// </summary>\n    public const uint ServerDiagnosticsType_ServerDiagnosticsSummary_CumulatedSubscriptionCount = 3126;\n\n    /// <summary>\n    /// The identifier for the ServerDiagnosticsType_ServerDiagnosticsSummary_SecurityRejectedRequestsCount Variable.\n    /// </summary>\n    public const uint ServerDiagnosticsType_ServerDiagnosticsSummary_SecurityRejectedRequestsCount = 3127;\n\n    /// <summary>\n    /// The identifier for the ServerDiagnosticsType_ServerDiagnosticsSummary_RejectedRequestsCount Variable.\n    /// </summary>\n    public const uint ServerDiagnosticsType_ServerDiagnosticsSummary_RejectedRequestsCount = 3128;\n\n    /// <summary>\n    /// The identifier for the ServerDiagnosticsType_SamplingIntervalDiagnosticsArray Variable.\n    /// </summary>\n    public const uint ServerDiagnosticsType_SamplingIntervalDiagnosticsArray = 2022;\n\n    /// <summary>\n    /// The identifier for the ServerDiagnosticsType_SubscriptionDiagnosticsArray Variable.\n    /// </summary>\n    public const uint ServerDiagnosticsType_SubscriptionDiagnosticsArray = 2023;\n\n    /// <summary>\n    /// The identifier for the ServerDiagnosticsType_SessionsDiagnosticsSummary_SessionDiagnosticsArray Variable.\n    /// </summary>\n    public const uint ServerDiagnosticsType_SessionsDiagnosticsSummary_SessionDiagnosticsArray = 3129;\n\n    /// <summary>\n    /// The identifier for the ServerDiagnosticsType_SessionsDiagnosticsSummary_SessionSecurityDiagnosticsArray Variable.\n    /// </summary>\n    public const uint ServerDiagnosticsType_SessionsDiagnosticsSummary_SessionSecurityDiagnosticsArray = 3130;\n\n    /// <summary>\n    /// The identifier for the ServerDiagnosticsType_EnabledFlag Variable.\n    /// </summary>\n    public const uint ServerDiagnosticsType_EnabledFlag = 2025;\n\n    /// <summary>\n    /// The identifier for the SessionsDiagnosticsSummaryType_SessionDiagnosticsArray Variable.\n    /// </summary>\n    public const uint SessionsDiagnosticsSummaryType_SessionDiagnosticsArray = 2027;\n\n    /// <summary>\n    /// The identifier for the SessionsDiagnosticsSummaryType_SessionSecurityDiagnosticsArray Variable.\n    /// </summary>\n    public const uint SessionsDiagnosticsSummaryType_SessionSecurityDiagnosticsArray = 2028;\n\n    /// <summary>\n    /// The identifier for the SessionsDiagnosticsSummaryType_SessionPlaceholder_SessionDiagnostics Variable.\n    /// </summary>\n    public const uint SessionsDiagnosticsSummaryType_SessionPlaceholder_SessionDiagnostics = 12098;\n\n    /// <summary>\n    /// The identifier for the SessionsDiagnosticsSummaryType_SessionPlaceholder_SessionDiagnostics_SessionId Variable.\n    /// </summary>\n    public const uint SessionsDiagnosticsSummaryType_SessionPlaceholder_SessionDiagnostics_SessionId = 12099;\n\n    /// <summary>\n    /// The identifier for the SessionsDiagnosticsSummaryType_SessionPlaceholder_SessionDiagnostics_SessionName Variable.\n    /// </summary>\n    public const uint SessionsDiagnosticsSummaryType_SessionPlaceholder_SessionDiagnostics_SessionName = 12100;\n\n    /// <summary>\n    /// The identifier for the SessionsDiagnosticsSummaryType_SessionPlaceholder_SessionDiagnostics_ClientDescription Variable.\n    /// </summary>\n    public const uint SessionsDiagnosticsSummaryType_SessionPlaceholder_SessionDiagnostics_ClientDescription = 12101;\n\n    /// <summary>\n    /// The identifier for the SessionsDiagnosticsSummaryType_SessionPlaceholder_SessionDiagnostics_ServerUri Variable.\n    /// </summary>\n    public const uint SessionsDiagnosticsSummaryType_SessionPlaceholder_SessionDiagnostics_ServerUri = 12102;\n\n    /// <summary>\n    /// The identifier for the SessionsDiagnosticsSummaryType_SessionPlaceholder_SessionDiagnostics_EndpointUrl Variable.\n    /// </summary>\n    public const uint SessionsDiagnosticsSummaryType_SessionPlaceholder_SessionDiagnostics_EndpointUrl = 12103;\n\n    /// <summary>\n    /// The identifier for the SessionsDiagnosticsSummaryType_SessionPlaceholder_SessionDiagnostics_LocaleIds Variable.\n    /// </summary>\n    public const uint SessionsDiagnosticsSummaryType_SessionPlaceholder_SessionDiagnostics_LocaleIds = 12104;\n\n    /// <summary>\n    /// The identifier for the SessionsDiagnosticsSummaryType_SessionPlaceholder_SessionDiagnostics_ActualSessionTimeout Variable.\n    /// </summary>\n    public const uint SessionsDiagnosticsSummaryType_SessionPlaceholder_SessionDiagnostics_ActualSessionTimeout = 12105;\n\n    /// <summary>\n    /// The identifier for the SessionsDiagnosticsSummaryType_SessionPlaceholder_SessionDiagnostics_MaxResponseMessageSize Variable.\n    /// </summary>\n    public const uint SessionsDiagnosticsSummaryType_SessionPlaceholder_SessionDiagnostics_MaxResponseMessageSize = 12106;\n\n    /// <summary>\n    /// The identifier for the SessionsDiagnosticsSummaryType_SessionPlaceholder_SessionDiagnostics_ClientConnectionTime Variable.\n    /// </summary>\n    public const uint SessionsDiagnosticsSummaryType_SessionPlaceholder_SessionDiagnostics_ClientConnectionTime = 12107;\n\n    /// <summary>\n    /// The identifier for the SessionsDiagnosticsSummaryType_SessionPlaceholder_SessionDiagnostics_ClientLastContactTime Variable.\n    /// </summary>\n    public const uint SessionsDiagnosticsSummaryType_SessionPlaceholder_SessionDiagnostics_ClientLastContactTime = 12108;\n\n    /// <summary>\n    /// The identifier for the SessionsDiagnosticsSummaryType_SessionPlaceholder_SessionDiagnostics_CurrentSubscriptionsCount Variable.\n    /// </summary>\n    public const uint SessionsDiagnosticsSummaryType_SessionPlaceholder_SessionDiagnostics_CurrentSubscriptionsCount = 12109;\n\n    /// <summary>\n    /// The identifier for the SessionsDiagnosticsSummaryType_SessionPlaceholder_SessionDiagnostics_CurrentMonitoredItemsCount Variable.\n    /// </summary>\n    public const uint SessionsDiagnosticsSummaryType_SessionPlaceholder_SessionDiagnostics_CurrentMonitoredItemsCount = 12110;\n\n    /// <summary>\n    /// The identifier for the SessionsDiagnosticsSummaryType_SessionPlaceholder_SessionDiagnostics_CurrentPublishRequestsInQueue Variable.\n    /// </summary>\n    public const uint SessionsDiagnosticsSummaryType_SessionPlaceholder_SessionDiagnostics_CurrentPublishRequestsInQueue = 12111;\n\n    /// <summary>\n    /// The identifier for the SessionsDiagnosticsSummaryType_SessionPlaceholder_SessionDiagnostics_TotalRequestCount Variable.\n    /// </summary>\n    public const uint SessionsDiagnosticsSummaryType_SessionPlaceholder_SessionDiagnostics_TotalRequestCount = 12112;\n\n    /// <summary>\n    /// The identifier for the SessionsDiagnosticsSummaryType_SessionPlaceholder_SessionDiagnostics_UnauthorizedRequestCount Variable.\n    /// </summary>\n    public const uint SessionsDiagnosticsSummaryType_SessionPlaceholder_SessionDiagnostics_UnauthorizedRequestCount = 12113;\n\n    /// <summary>\n    /// The identifier for the SessionsDiagnosticsSummaryType_SessionPlaceholder_SessionDiagnostics_ReadCount Variable.\n    /// </summary>\n    public const uint SessionsDiagnosticsSummaryType_SessionPlaceholder_SessionDiagnostics_ReadCount = 12114;\n\n    /// <summary>\n    /// The identifier for the SessionsDiagnosticsSummaryType_SessionPlaceholder_SessionDiagnostics_HistoryReadCount Variable.\n    /// </summary>\n    public const uint SessionsDiagnosticsSummaryType_SessionPlaceholder_SessionDiagnostics_HistoryReadCount = 12115;\n\n    /// <summary>\n    /// The identifier for the SessionsDiagnosticsSummaryType_SessionPlaceholder_SessionDiagnostics_WriteCount Variable.\n    /// </summary>\n    public const uint SessionsDiagnosticsSummaryType_SessionPlaceholder_SessionDiagnostics_WriteCount = 12116;\n\n    /// <summary>\n    /// The identifier for the SessionsDiagnosticsSummaryType_SessionPlaceholder_SessionDiagnostics_HistoryUpdateCount Variable.\n    /// </summary>\n    public const uint SessionsDiagnosticsSummaryType_SessionPlaceholder_SessionDiagnostics_HistoryUpdateCount = 12117;\n\n    /// <summary>\n    /// The identifier for the SessionsDiagnosticsSummaryType_SessionPlaceholder_SessionDiagnostics_CallCount Variable.\n    /// </summary>\n    public const uint SessionsDiagnosticsSummaryType_SessionPlaceholder_SessionDiagnostics_CallCount = 12118;\n\n    /// <summary>\n    /// The identifier for the SessionsDiagnosticsSummaryType_SessionPlaceholder_SessionDiagnostics_CreateMonitoredItemsCount Variable.\n    /// </summary>\n    public const uint SessionsDiagnosticsSummaryType_SessionPlaceholder_SessionDiagnostics_CreateMonitoredItemsCount = 12119;\n\n    /// <summary>\n    /// The identifier for the SessionsDiagnosticsSummaryType_SessionPlaceholder_SessionDiagnostics_ModifyMonitoredItemsCount Variable.\n    /// </summary>\n    public const uint SessionsDiagnosticsSummaryType_SessionPlaceholder_SessionDiagnostics_ModifyMonitoredItemsCount = 12120;\n\n    /// <summary>\n    /// The identifier for the SessionsDiagnosticsSummaryType_SessionPlaceholder_SessionDiagnostics_SetMonitoringModeCount Variable.\n    /// </summary>\n    public const uint SessionsDiagnosticsSummaryType_SessionPlaceholder_SessionDiagnostics_SetMonitoringModeCount = 12121;\n\n    /// <summary>\n    /// The identifier for the SessionsDiagnosticsSummaryType_SessionPlaceholder_SessionDiagnostics_SetTriggeringCount Variable.\n    /// </summary>\n    public const uint SessionsDiagnosticsSummaryType_SessionPlaceholder_SessionDiagnostics_SetTriggeringCount = 12122;\n\n    /// <summary>\n    /// The identifier for the SessionsDiagnosticsSummaryType_SessionPlaceholder_SessionDiagnostics_DeleteMonitoredItemsCount Variable.\n    /// </summary>\n    public const uint SessionsDiagnosticsSummaryType_SessionPlaceholder_SessionDiagnostics_DeleteMonitoredItemsCount = 12123;\n\n    /// <summary>\n    /// The identifier for the SessionsDiagnosticsSummaryType_SessionPlaceholder_SessionDiagnostics_CreateSubscriptionCount Variable.\n    /// </summary>\n    public const uint SessionsDiagnosticsSummaryType_SessionPlaceholder_SessionDiagnostics_CreateSubscriptionCount = 12124;\n\n    /// <summary>\n    /// The identifier for the SessionsDiagnosticsSummaryType_SessionPlaceholder_SessionDiagnostics_ModifySubscriptionCount Variable.\n    /// </summary>\n    public const uint SessionsDiagnosticsSummaryType_SessionPlaceholder_SessionDiagnostics_ModifySubscriptionCount = 12125;\n\n    /// <summary>\n    /// The identifier for the SessionsDiagnosticsSummaryType_SessionPlaceholder_SessionDiagnostics_SetPublishingModeCount Variable.\n    /// </summary>\n    public const uint SessionsDiagnosticsSummaryType_SessionPlaceholder_SessionDiagnostics_SetPublishingModeCount = 12126;\n\n    /// <summary>\n    /// The identifier for the SessionsDiagnosticsSummaryType_SessionPlaceholder_SessionDiagnostics_PublishCount Variable.\n    /// </summary>\n    public const uint SessionsDiagnosticsSummaryType_SessionPlaceholder_SessionDiagnostics_PublishCount = 12127;\n\n    /// <summary>\n    /// The identifier for the SessionsDiagnosticsSummaryType_SessionPlaceholder_SessionDiagnostics_RepublishCount Variable.\n    /// </summary>\n    public const uint SessionsDiagnosticsSummaryType_SessionPlaceholder_SessionDiagnostics_RepublishCount = 12128;\n\n    /// <summary>\n    /// The identifier for the SessionsDiagnosticsSummaryType_SessionPlaceholder_SessionDiagnostics_TransferSubscriptionsCount Variable.\n    /// </summary>\n    public const uint SessionsDiagnosticsSummaryType_SessionPlaceholder_SessionDiagnostics_TransferSubscriptionsCount = 12129;\n\n    /// <summary>\n    /// The identifier for the SessionsDiagnosticsSummaryType_SessionPlaceholder_SessionDiagnostics_DeleteSubscriptionsCount Variable.\n    /// </summary>\n    public const uint SessionsDiagnosticsSummaryType_SessionPlaceholder_SessionDiagnostics_DeleteSubscriptionsCount = 12130;\n\n    /// <summary>\n    /// The identifier for the SessionsDiagnosticsSummaryType_SessionPlaceholder_SessionDiagnostics_AddNodesCount Variable.\n    /// </summary>\n    public const uint SessionsDiagnosticsSummaryType_SessionPlaceholder_SessionDiagnostics_AddNodesCount = 12131;\n\n    /// <summary>\n    /// The identifier for the SessionsDiagnosticsSummaryType_SessionPlaceholder_SessionDiagnostics_AddReferencesCount Variable.\n    /// </summary>\n    public const uint SessionsDiagnosticsSummaryType_SessionPlaceholder_SessionDiagnostics_AddReferencesCount = 12132;\n\n    /// <summary>\n    /// The identifier for the SessionsDiagnosticsSummaryType_SessionPlaceholder_SessionDiagnostics_DeleteNodesCount Variable.\n    /// </summary>\n    public const uint SessionsDiagnosticsSummaryType_SessionPlaceholder_SessionDiagnostics_DeleteNodesCount = 12133;\n\n    /// <summary>\n    /// The identifier for the SessionsDiagnosticsSummaryType_SessionPlaceholder_SessionDiagnostics_DeleteReferencesCount Variable.\n    /// </summary>\n    public const uint SessionsDiagnosticsSummaryType_SessionPlaceholder_SessionDiagnostics_DeleteReferencesCount = 12134;\n\n    /// <summary>\n    /// The identifier for the SessionsDiagnosticsSummaryType_SessionPlaceholder_SessionDiagnostics_BrowseCount Variable.\n    /// </summary>\n    public const uint SessionsDiagnosticsSummaryType_SessionPlaceholder_SessionDiagnostics_BrowseCount = 12135;\n\n    /// <summary>\n    /// The identifier for the SessionsDiagnosticsSummaryType_SessionPlaceholder_SessionDiagnostics_BrowseNextCount Variable.\n    /// </summary>\n    public const uint SessionsDiagnosticsSummaryType_SessionPlaceholder_SessionDiagnostics_BrowseNextCount = 12136;\n\n    /// <summary>\n    /// The identifier for the SessionsDiagnosticsSummaryType_SessionPlaceholder_SessionDiagnostics_TranslateBrowsePathsToNodeIdsCount Variable.\n    /// </summary>\n    public const uint SessionsDiagnosticsSummaryType_SessionPlaceholder_SessionDiagnostics_TranslateBrowsePathsToNodeIdsCount = 12137;\n\n    /// <summary>\n    /// The identifier for the SessionsDiagnosticsSummaryType_SessionPlaceholder_SessionDiagnostics_QueryFirstCount Variable.\n    /// </summary>\n    public const uint SessionsDiagnosticsSummaryType_SessionPlaceholder_SessionDiagnostics_QueryFirstCount = 12138;\n\n    /// <summary>\n    /// The identifier for the SessionsDiagnosticsSummaryType_SessionPlaceholder_SessionDiagnostics_QueryNextCount Variable.\n    /// </summary>\n    public const uint SessionsDiagnosticsSummaryType_SessionPlaceholder_SessionDiagnostics_QueryNextCount = 12139;\n\n    /// <summary>\n    /// The identifier for the SessionsDiagnosticsSummaryType_SessionPlaceholder_SessionDiagnostics_RegisterNodesCount Variable.\n    /// </summary>\n    public const uint SessionsDiagnosticsSummaryType_SessionPlaceholder_SessionDiagnostics_RegisterNodesCount = 12140;\n\n    /// <summary>\n    /// The identifier for the SessionsDiagnosticsSummaryType_SessionPlaceholder_SessionDiagnostics_UnregisterNodesCount Variable.\n    /// </summary>\n    public const uint SessionsDiagnosticsSummaryType_SessionPlaceholder_SessionDiagnostics_UnregisterNodesCount = 12141;\n\n    /// <summary>\n    /// The identifier for the SessionsDiagnosticsSummaryType_SessionPlaceholder_SessionSecurityDiagnostics Variable.\n    /// </summary>\n    public const uint SessionsDiagnosticsSummaryType_SessionPlaceholder_SessionSecurityDiagnostics = 12142;\n\n    /// <summary>\n    /// The identifier for the SessionsDiagnosticsSummaryType_SessionPlaceholder_SessionSecurityDiagnostics_SessionId Variable.\n    /// </summary>\n    public const uint SessionsDiagnosticsSummaryType_SessionPlaceholder_SessionSecurityDiagnostics_SessionId = 12143;\n\n    /// <summary>\n    /// The identifier for the SessionsDiagnosticsSummaryType_SessionPlaceholder_SessionSecurityDiagnostics_ClientUserIdOfSession Variable.\n    /// </summary>\n    public const uint SessionsDiagnosticsSummaryType_SessionPlaceholder_SessionSecurityDiagnostics_ClientUserIdOfSession = 12144;\n\n    /// <summary>\n    /// The identifier for the SessionsDiagnosticsSummaryType_SessionPlaceholder_SessionSecurityDiagnostics_ClientUserIdHistory Variable.\n    /// </summary>\n    public const uint SessionsDiagnosticsSummaryType_SessionPlaceholder_SessionSecurityDiagnostics_ClientUserIdHistory = 12145;\n\n    /// <summary>\n    /// The identifier for the SessionsDiagnosticsSummaryType_SessionPlaceholder_SessionSecurityDiagnostics_AuthenticationMechanism Variable.\n    /// </summary>\n    public const uint SessionsDiagnosticsSummaryType_SessionPlaceholder_SessionSecurityDiagnostics_AuthenticationMechanism = 12146;\n\n    /// <summary>\n    /// The identifier for the SessionsDiagnosticsSummaryType_SessionPlaceholder_SessionSecurityDiagnostics_Encoding Variable.\n    /// </summary>\n    public const uint SessionsDiagnosticsSummaryType_SessionPlaceholder_SessionSecurityDiagnostics_Encoding = 12147;\n\n    /// <summary>\n    /// The identifier for the SessionsDiagnosticsSummaryType_SessionPlaceholder_SessionSecurityDiagnostics_TransportProtocol Variable.\n    /// </summary>\n    public const uint SessionsDiagnosticsSummaryType_SessionPlaceholder_SessionSecurityDiagnostics_TransportProtocol = 12148;\n\n    /// <summary>\n    /// The identifier for the SessionsDiagnosticsSummaryType_SessionPlaceholder_SessionSecurityDiagnostics_SecurityMode Variable.\n    /// </summary>\n    public const uint SessionsDiagnosticsSummaryType_SessionPlaceholder_SessionSecurityDiagnostics_SecurityMode = 12149;\n\n    /// <summary>\n    /// The identifier for the SessionsDiagnosticsSummaryType_SessionPlaceholder_SessionSecurityDiagnostics_SecurityPolicyUri Variable.\n    /// </summary>\n    public const uint SessionsDiagnosticsSummaryType_SessionPlaceholder_SessionSecurityDiagnostics_SecurityPolicyUri = 12150;\n\n    /// <summary>\n    /// The identifier for the SessionsDiagnosticsSummaryType_SessionPlaceholder_SessionSecurityDiagnostics_ClientCertificate Variable.\n    /// </summary>\n    public const uint SessionsDiagnosticsSummaryType_SessionPlaceholder_SessionSecurityDiagnostics_ClientCertificate = 12151;\n\n    /// <summary>\n    /// The identifier for the SessionsDiagnosticsSummaryType_SessionPlaceholder_SubscriptionDiagnosticsArray Variable.\n    /// </summary>\n    public const uint SessionsDiagnosticsSummaryType_SessionPlaceholder_SubscriptionDiagnosticsArray = 12152;\n\n    /// <summary>\n    /// The identifier for the SessionDiagnosticsObjectType_SessionDiagnostics Variable.\n    /// </summary>\n    public const uint SessionDiagnosticsObjectType_SessionDiagnostics = 2030;\n\n    /// <summary>\n    /// The identifier for the SessionDiagnosticsObjectType_SessionDiagnostics_SessionId Variable.\n    /// </summary>\n    public const uint SessionDiagnosticsObjectType_SessionDiagnostics_SessionId = 3131;\n\n    /// <summary>\n    /// The identifier for the SessionDiagnosticsObjectType_SessionDiagnostics_SessionName Variable.\n    /// </summary>\n    public const uint SessionDiagnosticsObjectType_SessionDiagnostics_SessionName = 3132;\n\n    /// <summary>\n    /// The identifier for the SessionDiagnosticsObjectType_SessionDiagnostics_ClientDescription Variable.\n    /// </summary>\n    public const uint SessionDiagnosticsObjectType_SessionDiagnostics_ClientDescription = 3133;\n\n    /// <summary>\n    /// The identifier for the SessionDiagnosticsObjectType_SessionDiagnostics_ServerUri Variable.\n    /// </summary>\n    public const uint SessionDiagnosticsObjectType_SessionDiagnostics_ServerUri = 3134;\n\n    /// <summary>\n    /// The identifier for the SessionDiagnosticsObjectType_SessionDiagnostics_EndpointUrl Variable.\n    /// </summary>\n    public const uint SessionDiagnosticsObjectType_SessionDiagnostics_EndpointUrl = 3135;\n\n    /// <summary>\n    /// The identifier for the SessionDiagnosticsObjectType_SessionDiagnostics_LocaleIds Variable.\n    /// </summary>\n    public const uint SessionDiagnosticsObjectType_SessionDiagnostics_LocaleIds = 3136;\n\n    /// <summary>\n    /// The identifier for the SessionDiagnosticsObjectType_SessionDiagnostics_ActualSessionTimeout Variable.\n    /// </summary>\n    public const uint SessionDiagnosticsObjectType_SessionDiagnostics_ActualSessionTimeout = 3137;\n\n    /// <summary>\n    /// The identifier for the SessionDiagnosticsObjectType_SessionDiagnostics_MaxResponseMessageSize Variable.\n    /// </summary>\n    public const uint SessionDiagnosticsObjectType_SessionDiagnostics_MaxResponseMessageSize = 3138;\n\n    /// <summary>\n    /// The identifier for the SessionDiagnosticsObjectType_SessionDiagnostics_ClientConnectionTime Variable.\n    /// </summary>\n    public const uint SessionDiagnosticsObjectType_SessionDiagnostics_ClientConnectionTime = 3139;\n\n    /// <summary>\n    /// The identifier for the SessionDiagnosticsObjectType_SessionDiagnostics_ClientLastContactTime Variable.\n    /// </summary>\n    public const uint SessionDiagnosticsObjectType_SessionDiagnostics_ClientLastContactTime = 3140;\n\n    /// <summary>\n    /// The identifier for the SessionDiagnosticsObjectType_SessionDiagnostics_CurrentSubscriptionsCount Variable.\n    /// </summary>\n    public const uint SessionDiagnosticsObjectType_SessionDiagnostics_CurrentSubscriptionsCount = 3141;\n\n    /// <summary>\n    /// The identifier for the SessionDiagnosticsObjectType_SessionDiagnostics_CurrentMonitoredItemsCount Variable.\n    /// </summary>\n    public const uint SessionDiagnosticsObjectType_SessionDiagnostics_CurrentMonitoredItemsCount = 3142;\n\n    /// <summary>\n    /// The identifier for the SessionDiagnosticsObjectType_SessionDiagnostics_CurrentPublishRequestsInQueue Variable.\n    /// </summary>\n    public const uint SessionDiagnosticsObjectType_SessionDiagnostics_CurrentPublishRequestsInQueue = 3143;\n\n    /// <summary>\n    /// The identifier for the SessionDiagnosticsObjectType_SessionDiagnostics_TotalRequestCount Variable.\n    /// </summary>\n    public const uint SessionDiagnosticsObjectType_SessionDiagnostics_TotalRequestCount = 8898;\n\n    /// <summary>\n    /// The identifier for the SessionDiagnosticsObjectType_SessionDiagnostics_UnauthorizedRequestCount Variable.\n    /// </summary>\n    public const uint SessionDiagnosticsObjectType_SessionDiagnostics_UnauthorizedRequestCount = 11891;\n\n    /// <summary>\n    /// The identifier for the SessionDiagnosticsObjectType_SessionDiagnostics_ReadCount Variable.\n    /// </summary>\n    public const uint SessionDiagnosticsObjectType_SessionDiagnostics_ReadCount = 3151;\n\n    /// <summary>\n    /// The identifier for the SessionDiagnosticsObjectType_SessionDiagnostics_HistoryReadCount Variable.\n    /// </summary>\n    public const uint SessionDiagnosticsObjectType_SessionDiagnostics_HistoryReadCount = 3152;\n\n    /// <summary>\n    /// The identifier for the SessionDiagnosticsObjectType_SessionDiagnostics_WriteCount Variable.\n    /// </summary>\n    public const uint SessionDiagnosticsObjectType_SessionDiagnostics_WriteCount = 3153;\n\n    /// <summary>\n    /// The identifier for the SessionDiagnosticsObjectType_SessionDiagnostics_HistoryUpdateCount Variable.\n    /// </summary>\n    public const uint SessionDiagnosticsObjectType_SessionDiagnostics_HistoryUpdateCount = 3154;\n\n    /// <summary>\n    /// The identifier for the SessionDiagnosticsObjectType_SessionDiagnostics_CallCount Variable.\n    /// </summary>\n    public const uint SessionDiagnosticsObjectType_SessionDiagnostics_CallCount = 3155;\n\n    /// <summary>\n    /// The identifier for the SessionDiagnosticsObjectType_SessionDiagnostics_CreateMonitoredItemsCount Variable.\n    /// </summary>\n    public const uint SessionDiagnosticsObjectType_SessionDiagnostics_CreateMonitoredItemsCount = 3156;\n\n    /// <summary>\n    /// The identifier for the SessionDiagnosticsObjectType_SessionDiagnostics_ModifyMonitoredItemsCount Variable.\n    /// </summary>\n    public const uint SessionDiagnosticsObjectType_SessionDiagnostics_ModifyMonitoredItemsCount = 3157;\n\n    /// <summary>\n    /// The identifier for the SessionDiagnosticsObjectType_SessionDiagnostics_SetMonitoringModeCount Variable.\n    /// </summary>\n    public const uint SessionDiagnosticsObjectType_SessionDiagnostics_SetMonitoringModeCount = 3158;\n\n    /// <summary>\n    /// The identifier for the SessionDiagnosticsObjectType_SessionDiagnostics_SetTriggeringCount Variable.\n    /// </summary>\n    public const uint SessionDiagnosticsObjectType_SessionDiagnostics_SetTriggeringCount = 3159;\n\n    /// <summary>\n    /// The identifier for the SessionDiagnosticsObjectType_SessionDiagnostics_DeleteMonitoredItemsCount Variable.\n    /// </summary>\n    public const uint SessionDiagnosticsObjectType_SessionDiagnostics_DeleteMonitoredItemsCount = 3160;\n\n    /// <summary>\n    /// The identifier for the SessionDiagnosticsObjectType_SessionDiagnostics_CreateSubscriptionCount Variable.\n    /// </summary>\n    public const uint SessionDiagnosticsObjectType_SessionDiagnostics_CreateSubscriptionCount = 3161;\n\n    /// <summary>\n    /// The identifier for the SessionDiagnosticsObjectType_SessionDiagnostics_ModifySubscriptionCount Variable.\n    /// </summary>\n    public const uint SessionDiagnosticsObjectType_SessionDiagnostics_ModifySubscriptionCount = 3162;\n\n    /// <summary>\n    /// The identifier for the SessionDiagnosticsObjectType_SessionDiagnostics_SetPublishingModeCount Variable.\n    /// </summary>\n    public const uint SessionDiagnosticsObjectType_SessionDiagnostics_SetPublishingModeCount = 3163;\n\n    /// <summary>\n    /// The identifier for the SessionDiagnosticsObjectType_SessionDiagnostics_PublishCount Variable.\n    /// </summary>\n    public const uint SessionDiagnosticsObjectType_SessionDiagnostics_PublishCount = 3164;\n\n    /// <summary>\n    /// The identifier for the SessionDiagnosticsObjectType_SessionDiagnostics_RepublishCount Variable.\n    /// </summary>\n    public const uint SessionDiagnosticsObjectType_SessionDiagnostics_RepublishCount = 3165;\n\n    /// <summary>\n    /// The identifier for the SessionDiagnosticsObjectType_SessionDiagnostics_TransferSubscriptionsCount Variable.\n    /// </summary>\n    public const uint SessionDiagnosticsObjectType_SessionDiagnostics_TransferSubscriptionsCount = 3166;\n\n    /// <summary>\n    /// The identifier for the SessionDiagnosticsObjectType_SessionDiagnostics_DeleteSubscriptionsCount Variable.\n    /// </summary>\n    public const uint SessionDiagnosticsObjectType_SessionDiagnostics_DeleteSubscriptionsCount = 3167;\n\n    /// <summary>\n    /// The identifier for the SessionDiagnosticsObjectType_SessionDiagnostics_AddNodesCount Variable.\n    /// </summary>\n    public const uint SessionDiagnosticsObjectType_SessionDiagnostics_AddNodesCount = 3168;\n\n    /// <summary>\n    /// The identifier for the SessionDiagnosticsObjectType_SessionDiagnostics_AddReferencesCount Variable.\n    /// </summary>\n    public const uint SessionDiagnosticsObjectType_SessionDiagnostics_AddReferencesCount = 3169;\n\n    /// <summary>\n    /// The identifier for the SessionDiagnosticsObjectType_SessionDiagnostics_DeleteNodesCount Variable.\n    /// </summary>\n    public const uint SessionDiagnosticsObjectType_SessionDiagnostics_DeleteNodesCount = 3170;\n\n    /// <summary>\n    /// The identifier for the SessionDiagnosticsObjectType_SessionDiagnostics_DeleteReferencesCount Variable.\n    /// </summary>\n    public const uint SessionDiagnosticsObjectType_SessionDiagnostics_DeleteReferencesCount = 3171;\n\n    /// <summary>\n    /// The identifier for the SessionDiagnosticsObjectType_SessionDiagnostics_BrowseCount Variable.\n    /// </summary>\n    public const uint SessionDiagnosticsObjectType_SessionDiagnostics_BrowseCount = 3172;\n\n    /// <summary>\n    /// The identifier for the SessionDiagnosticsObjectType_SessionDiagnostics_BrowseNextCount Variable.\n    /// </summary>\n    public const uint SessionDiagnosticsObjectType_SessionDiagnostics_BrowseNextCount = 3173;\n\n    /// <summary>\n    /// The identifier for the SessionDiagnosticsObjectType_SessionDiagnostics_TranslateBrowsePathsToNodeIdsCount Variable.\n    /// </summary>\n    public const uint SessionDiagnosticsObjectType_SessionDiagnostics_TranslateBrowsePathsToNodeIdsCount = 3174;\n\n    /// <summary>\n    /// The identifier for the SessionDiagnosticsObjectType_SessionDiagnostics_QueryFirstCount Variable.\n    /// </summary>\n    public const uint SessionDiagnosticsObjectType_SessionDiagnostics_QueryFirstCount = 3175;\n\n    /// <summary>\n    /// The identifier for the SessionDiagnosticsObjectType_SessionDiagnostics_QueryNextCount Variable.\n    /// </summary>\n    public const uint SessionDiagnosticsObjectType_SessionDiagnostics_QueryNextCount = 3176;\n\n    /// <summary>\n    /// The identifier for the SessionDiagnosticsObjectType_SessionDiagnostics_RegisterNodesCount Variable.\n    /// </summary>\n    public const uint SessionDiagnosticsObjectType_SessionDiagnostics_RegisterNodesCount = 3177;\n\n    /// <summary>\n    /// The identifier for the SessionDiagnosticsObjectType_SessionDiagnostics_UnregisterNodesCount Variable.\n    /// </summary>\n    public const uint SessionDiagnosticsObjectType_SessionDiagnostics_UnregisterNodesCount = 3178;\n\n    /// <summary>\n    /// The identifier for the SessionDiagnosticsObjectType_SessionSecurityDiagnostics Variable.\n    /// </summary>\n    public const uint SessionDiagnosticsObjectType_SessionSecurityDiagnostics = 2031;\n\n    /// <summary>\n    /// The identifier for the SessionDiagnosticsObjectType_SessionSecurityDiagnostics_SessionId Variable.\n    /// </summary>\n    public const uint SessionDiagnosticsObjectType_SessionSecurityDiagnostics_SessionId = 3179;\n\n    /// <summary>\n    /// The identifier for the SessionDiagnosticsObjectType_SessionSecurityDiagnostics_ClientUserIdOfSession Variable.\n    /// </summary>\n    public const uint SessionDiagnosticsObjectType_SessionSecurityDiagnostics_ClientUserIdOfSession = 3180;\n\n    /// <summary>\n    /// The identifier for the SessionDiagnosticsObjectType_SessionSecurityDiagnostics_ClientUserIdHistory Variable.\n    /// </summary>\n    public const uint SessionDiagnosticsObjectType_SessionSecurityDiagnostics_ClientUserIdHistory = 3181;\n\n    /// <summary>\n    /// The identifier for the SessionDiagnosticsObjectType_SessionSecurityDiagnostics_AuthenticationMechanism Variable.\n    /// </summary>\n    public const uint SessionDiagnosticsObjectType_SessionSecurityDiagnostics_AuthenticationMechanism = 3182;\n\n    /// <summary>\n    /// The identifier for the SessionDiagnosticsObjectType_SessionSecurityDiagnostics_Encoding Variable.\n    /// </summary>\n    public const uint SessionDiagnosticsObjectType_SessionSecurityDiagnostics_Encoding = 3183;\n\n    /// <summary>\n    /// The identifier for the SessionDiagnosticsObjectType_SessionSecurityDiagnostics_TransportProtocol Variable.\n    /// </summary>\n    public const uint SessionDiagnosticsObjectType_SessionSecurityDiagnostics_TransportProtocol = 3184;\n\n    /// <summary>\n    /// The identifier for the SessionDiagnosticsObjectType_SessionSecurityDiagnostics_SecurityMode Variable.\n    /// </summary>\n    public const uint SessionDiagnosticsObjectType_SessionSecurityDiagnostics_SecurityMode = 3185;\n\n    /// <summary>\n    /// The identifier for the SessionDiagnosticsObjectType_SessionSecurityDiagnostics_SecurityPolicyUri Variable.\n    /// </summary>\n    public const uint SessionDiagnosticsObjectType_SessionSecurityDiagnostics_SecurityPolicyUri = 3186;\n\n    /// <summary>\n    /// The identifier for the SessionDiagnosticsObjectType_SessionSecurityDiagnostics_ClientCertificate Variable.\n    /// </summary>\n    public const uint SessionDiagnosticsObjectType_SessionSecurityDiagnostics_ClientCertificate = 3187;\n\n    /// <summary>\n    /// The identifier for the SessionDiagnosticsObjectType_SubscriptionDiagnosticsArray Variable.\n    /// </summary>\n    public const uint SessionDiagnosticsObjectType_SubscriptionDiagnosticsArray = 2032;\n\n    /// <summary>\n    /// The identifier for the ServerRedundancyType_RedundancySupport Variable.\n    /// </summary>\n    public const uint ServerRedundancyType_RedundancySupport = 2035;\n\n    /// <summary>\n    /// The identifier for the TransparentRedundancyType_CurrentServerId Variable.\n    /// </summary>\n    public const uint TransparentRedundancyType_CurrentServerId = 2037;\n\n    /// <summary>\n    /// The identifier for the TransparentRedundancyType_RedundantServerArray Variable.\n    /// </summary>\n    public const uint TransparentRedundancyType_RedundantServerArray = 2038;\n\n    /// <summary>\n    /// The identifier for the NonTransparentRedundancyType_ServerUriArray Variable.\n    /// </summary>\n    public const uint NonTransparentRedundancyType_ServerUriArray = 2040;\n\n    /// <summary>\n    /// The identifier for the NonTransparentNetworkRedundancyType_ServerNetworkGroups Variable.\n    /// </summary>\n    public const uint NonTransparentNetworkRedundancyType_ServerNetworkGroups = 11948;\n\n    /// <summary>\n    /// The identifier for the OperationLimitsType_MaxNodesPerRead Variable.\n    /// </summary>\n    public const uint OperationLimitsType_MaxNodesPerRead = 11565;\n\n    /// <summary>\n    /// The identifier for the OperationLimitsType_MaxNodesPerHistoryReadData Variable.\n    /// </summary>\n    public const uint OperationLimitsType_MaxNodesPerHistoryReadData = 12161;\n\n    /// <summary>\n    /// The identifier for the OperationLimitsType_MaxNodesPerHistoryReadEvents Variable.\n    /// </summary>\n    public const uint OperationLimitsType_MaxNodesPerHistoryReadEvents = 12162;\n\n    /// <summary>\n    /// The identifier for the OperationLimitsType_MaxNodesPerWrite Variable.\n    /// </summary>\n    public const uint OperationLimitsType_MaxNodesPerWrite = 11567;\n\n    /// <summary>\n    /// The identifier for the OperationLimitsType_MaxNodesPerHistoryUpdateData Variable.\n    /// </summary>\n    public const uint OperationLimitsType_MaxNodesPerHistoryUpdateData = 12163;\n\n    /// <summary>\n    /// The identifier for the OperationLimitsType_MaxNodesPerHistoryUpdateEvents Variable.\n    /// </summary>\n    public const uint OperationLimitsType_MaxNodesPerHistoryUpdateEvents = 12164;\n\n    /// <summary>\n    /// The identifier for the OperationLimitsType_MaxNodesPerMethodCall Variable.\n    /// </summary>\n    public const uint OperationLimitsType_MaxNodesPerMethodCall = 11569;\n\n    /// <summary>\n    /// The identifier for the OperationLimitsType_MaxNodesPerBrowse Variable.\n    /// </summary>\n    public const uint OperationLimitsType_MaxNodesPerBrowse = 11570;\n\n    /// <summary>\n    /// The identifier for the OperationLimitsType_MaxNodesPerRegisterNodes Variable.\n    /// </summary>\n    public const uint OperationLimitsType_MaxNodesPerRegisterNodes = 11571;\n\n    /// <summary>\n    /// The identifier for the OperationLimitsType_MaxNodesPerTranslateBrowsePathsToNodeIds Variable.\n    /// </summary>\n    public const uint OperationLimitsType_MaxNodesPerTranslateBrowsePathsToNodeIds = 11572;\n\n    /// <summary>\n    /// The identifier for the OperationLimitsType_MaxNodesPerNodeManagement Variable.\n    /// </summary>\n    public const uint OperationLimitsType_MaxNodesPerNodeManagement = 11573;\n\n    /// <summary>\n    /// The identifier for the OperationLimitsType_MaxMonitoredItemsPerCall Variable.\n    /// </summary>\n    public const uint OperationLimitsType_MaxMonitoredItemsPerCall = 11574;\n\n    /// <summary>\n    /// The identifier for the FileType_Size Variable.\n    /// </summary>\n    public const uint FileType_Size = 11576;\n\n    /// <summary>\n    /// The identifier for the FileType_Writeable Variable.\n    /// </summary>\n    public const uint FileType_Writeable = 11577;\n\n    /// <summary>\n    /// The identifier for the FileType_UserWriteable Variable.\n    /// </summary>\n    public const uint FileType_UserWriteable = 11578;\n\n    /// <summary>\n    /// The identifier for the FileType_OpenCount Variable.\n    /// </summary>\n    public const uint FileType_OpenCount = 11579;\n\n    /// <summary>\n    /// The identifier for the FileType_Open_InputArguments Variable.\n    /// </summary>\n    public const uint FileType_Open_InputArguments = 11581;\n\n    /// <summary>\n    /// The identifier for the FileType_Open_OutputArguments Variable.\n    /// </summary>\n    public const uint FileType_Open_OutputArguments = 11582;\n\n    /// <summary>\n    /// The identifier for the FileType_Close_InputArguments Variable.\n    /// </summary>\n    public const uint FileType_Close_InputArguments = 11584;\n\n    /// <summary>\n    /// The identifier for the FileType_Read_InputArguments Variable.\n    /// </summary>\n    public const uint FileType_Read_InputArguments = 11586;\n\n    /// <summary>\n    /// The identifier for the FileType_Read_OutputArguments Variable.\n    /// </summary>\n    public const uint FileType_Read_OutputArguments = 11587;\n\n    /// <summary>\n    /// The identifier for the FileType_Write_InputArguments Variable.\n    /// </summary>\n    public const uint FileType_Write_InputArguments = 11589;\n\n    /// <summary>\n    /// The identifier for the FileType_GetPosition_InputArguments Variable.\n    /// </summary>\n    public const uint FileType_GetPosition_InputArguments = 11591;\n\n    /// <summary>\n    /// The identifier for the FileType_GetPosition_OutputArguments Variable.\n    /// </summary>\n    public const uint FileType_GetPosition_OutputArguments = 11592;\n\n    /// <summary>\n    /// The identifier for the FileType_SetPosition_InputArguments Variable.\n    /// </summary>\n    public const uint FileType_SetPosition_InputArguments = 11594;\n\n    /// <summary>\n    /// The identifier for the NamespaceMetadataType_NamespaceUri Variable.\n    /// </summary>\n    public const uint NamespaceMetadataType_NamespaceUri = 11617;\n\n    /// <summary>\n    /// The identifier for the NamespaceMetadataType_NamespaceVersion Variable.\n    /// </summary>\n    public const uint NamespaceMetadataType_NamespaceVersion = 11618;\n\n    /// <summary>\n    /// The identifier for the NamespaceMetadataType_NamespacePublicationDate Variable.\n    /// </summary>\n    public const uint NamespaceMetadataType_NamespacePublicationDate = 11619;\n\n    /// <summary>\n    /// The identifier for the NamespaceMetadataType_IsNamespaceSubset Variable.\n    /// </summary>\n    public const uint NamespaceMetadataType_IsNamespaceSubset = 11620;\n\n    /// <summary>\n    /// The identifier for the NamespaceMetadataType_StaticNodeIdIndentifierTypes Variable.\n    /// </summary>\n    public const uint NamespaceMetadataType_StaticNodeIdIndentifierTypes = 11621;\n\n    /// <summary>\n    /// The identifier for the NamespaceMetadataType_StaticNumericNodeIdRange Variable.\n    /// </summary>\n    public const uint NamespaceMetadataType_StaticNumericNodeIdRange = 11622;\n\n    /// <summary>\n    /// The identifier for the NamespaceMetadataType_StaticStringNodeIdPattern Variable.\n    /// </summary>\n    public const uint NamespaceMetadataType_StaticStringNodeIdPattern = 11623;\n\n    /// <summary>\n    /// The identifier for the NamespacesType_NamespaceIdentifier_NamespaceUri Variable.\n    /// </summary>\n    public const uint NamespacesType_NamespaceIdentifier_NamespaceUri = 11647;\n\n    /// <summary>\n    /// The identifier for the NamespacesType_NamespaceIdentifier_NamespaceVersion Variable.\n    /// </summary>\n    public const uint NamespacesType_NamespaceIdentifier_NamespaceVersion = 11648;\n\n    /// <summary>\n    /// The identifier for the NamespacesType_NamespaceIdentifier_NamespacePublicationDate Variable.\n    /// </summary>\n    public const uint NamespacesType_NamespaceIdentifier_NamespacePublicationDate = 11649;\n\n    /// <summary>\n    /// The identifier for the NamespacesType_NamespaceIdentifier_IsNamespaceSubset Variable.\n    /// </summary>\n    public const uint NamespacesType_NamespaceIdentifier_IsNamespaceSubset = 11650;\n\n    /// <summary>\n    /// The identifier for the NamespacesType_NamespaceIdentifier_StaticNodeIdIndentifierTypes Variable.\n    /// </summary>\n    public const uint NamespacesType_NamespaceIdentifier_StaticNodeIdIndentifierTypes = 11651;\n\n    /// <summary>\n    /// The identifier for the NamespacesType_NamespaceIdentifier_StaticNumericNodeIdRange Variable.\n    /// </summary>\n    public const uint NamespacesType_NamespaceIdentifier_StaticNumericNodeIdRange = 11652;\n\n    /// <summary>\n    /// The identifier for the NamespacesType_NamespaceIdentifier_StaticStringNodeIdPattern Variable.\n    /// </summary>\n    public const uint NamespacesType_NamespaceIdentifier_StaticStringNodeIdPattern = 11653;\n\n    /// <summary>\n    /// The identifier for the BaseEventType_EventId Variable.\n    /// </summary>\n    public const uint BaseEventType_EventId = 2042;\n\n    /// <summary>\n    /// The identifier for the BaseEventType_EventType Variable.\n    /// </summary>\n    public const uint BaseEventType_EventType = 2043;\n\n    /// <summary>\n    /// The identifier for the BaseEventType_SourceNode Variable.\n    /// </summary>\n    public const uint BaseEventType_SourceNode = 2044;\n\n    /// <summary>\n    /// The identifier for the BaseEventType_SourceName Variable.\n    /// </summary>\n    public const uint BaseEventType_SourceName = 2045;\n\n    /// <summary>\n    /// The identifier for the BaseEventType_Time Variable.\n    /// </summary>\n    public const uint BaseEventType_Time = 2046;\n\n    /// <summary>\n    /// The identifier for the BaseEventType_ReceiveTime Variable.\n    /// </summary>\n    public const uint BaseEventType_ReceiveTime = 2047;\n\n    /// <summary>\n    /// The identifier for the BaseEventType_LocalTime Variable.\n    /// </summary>\n    public const uint BaseEventType_LocalTime = 3190;\n\n    /// <summary>\n    /// The identifier for the BaseEventType_Message Variable.\n    /// </summary>\n    public const uint BaseEventType_Message = 2050;\n\n    /// <summary>\n    /// The identifier for the BaseEventType_Severity Variable.\n    /// </summary>\n    public const uint BaseEventType_Severity = 2051;\n\n    /// <summary>\n    /// The identifier for the AuditEventType_ActionTimeStamp Variable.\n    /// </summary>\n    public const uint AuditEventType_ActionTimeStamp = 2053;\n\n    /// <summary>\n    /// The identifier for the AuditEventType_Status Variable.\n    /// </summary>\n    public const uint AuditEventType_Status = 2054;\n\n    /// <summary>\n    /// The identifier for the AuditEventType_ServerId Variable.\n    /// </summary>\n    public const uint AuditEventType_ServerId = 2055;\n\n    /// <summary>\n    /// The identifier for the AuditEventType_ClientAuditEntryId Variable.\n    /// </summary>\n    public const uint AuditEventType_ClientAuditEntryId = 2056;\n\n    /// <summary>\n    /// The identifier for the AuditEventType_ClientUserId Variable.\n    /// </summary>\n    public const uint AuditEventType_ClientUserId = 2057;\n\n    /// <summary>\n    /// The identifier for the AuditChannelEventType_SecureChannelId Variable.\n    /// </summary>\n    public const uint AuditChannelEventType_SecureChannelId = 2745;\n\n    /// <summary>\n    /// The identifier for the AuditOpenSecureChannelEventType_ClientCertificate Variable.\n    /// </summary>\n    public const uint AuditOpenSecureChannelEventType_ClientCertificate = 2061;\n\n    /// <summary>\n    /// The identifier for the AuditOpenSecureChannelEventType_ClientCertificateThumbprint Variable.\n    /// </summary>\n    public const uint AuditOpenSecureChannelEventType_ClientCertificateThumbprint = 2746;\n\n    /// <summary>\n    /// The identifier for the AuditOpenSecureChannelEventType_RequestType Variable.\n    /// </summary>\n    public const uint AuditOpenSecureChannelEventType_RequestType = 2062;\n\n    /// <summary>\n    /// The identifier for the AuditOpenSecureChannelEventType_SecurityPolicyUri Variable.\n    /// </summary>\n    public const uint AuditOpenSecureChannelEventType_SecurityPolicyUri = 2063;\n\n    /// <summary>\n    /// The identifier for the AuditOpenSecureChannelEventType_SecurityMode Variable.\n    /// </summary>\n    public const uint AuditOpenSecureChannelEventType_SecurityMode = 2065;\n\n    /// <summary>\n    /// The identifier for the AuditOpenSecureChannelEventType_RequestedLifetime Variable.\n    /// </summary>\n    public const uint AuditOpenSecureChannelEventType_RequestedLifetime = 2066;\n\n    /// <summary>\n    /// The identifier for the AuditSessionEventType_SessionId Variable.\n    /// </summary>\n    public const uint AuditSessionEventType_SessionId = 2070;\n\n    /// <summary>\n    /// The identifier for the AuditCreateSessionEventType_SecureChannelId Variable.\n    /// </summary>\n    public const uint AuditCreateSessionEventType_SecureChannelId = 2072;\n\n    /// <summary>\n    /// The identifier for the AuditCreateSessionEventType_ClientCertificate Variable.\n    /// </summary>\n    public const uint AuditCreateSessionEventType_ClientCertificate = 2073;\n\n    /// <summary>\n    /// The identifier for the AuditCreateSessionEventType_ClientCertificateThumbprint Variable.\n    /// </summary>\n    public const uint AuditCreateSessionEventType_ClientCertificateThumbprint = 2747;\n\n    /// <summary>\n    /// The identifier for the AuditCreateSessionEventType_RevisedSessionTimeout Variable.\n    /// </summary>\n    public const uint AuditCreateSessionEventType_RevisedSessionTimeout = 2074;\n\n    /// <summary>\n    /// The identifier for the AuditUrlMismatchEventType_EndpointUrl Variable.\n    /// </summary>\n    public const uint AuditUrlMismatchEventType_EndpointUrl = 2749;\n\n    /// <summary>\n    /// The identifier for the AuditActivateSessionEventType_ClientSoftwareCertificates Variable.\n    /// </summary>\n    public const uint AuditActivateSessionEventType_ClientSoftwareCertificates = 2076;\n\n    /// <summary>\n    /// The identifier for the AuditActivateSessionEventType_UserIdentityToken Variable.\n    /// </summary>\n    public const uint AuditActivateSessionEventType_UserIdentityToken = 2077;\n\n    /// <summary>\n    /// The identifier for the AuditActivateSessionEventType_SecureChannelId Variable.\n    /// </summary>\n    public const uint AuditActivateSessionEventType_SecureChannelId = 11485;\n\n    /// <summary>\n    /// The identifier for the AuditCancelEventType_RequestHandle Variable.\n    /// </summary>\n    public const uint AuditCancelEventType_RequestHandle = 2079;\n\n    /// <summary>\n    /// The identifier for the AuditCertificateEventType_Certificate Variable.\n    /// </summary>\n    public const uint AuditCertificateEventType_Certificate = 2081;\n\n    /// <summary>\n    /// The identifier for the AuditCertificateDataMismatchEventType_InvalidHostname Variable.\n    /// </summary>\n    public const uint AuditCertificateDataMismatchEventType_InvalidHostname = 2083;\n\n    /// <summary>\n    /// The identifier for the AuditCertificateDataMismatchEventType_InvalidUri Variable.\n    /// </summary>\n    public const uint AuditCertificateDataMismatchEventType_InvalidUri = 2084;\n\n    /// <summary>\n    /// The identifier for the AuditAddNodesEventType_NodesToAdd Variable.\n    /// </summary>\n    public const uint AuditAddNodesEventType_NodesToAdd = 2092;\n\n    /// <summary>\n    /// The identifier for the AuditDeleteNodesEventType_NodesToDelete Variable.\n    /// </summary>\n    public const uint AuditDeleteNodesEventType_NodesToDelete = 2094;\n\n    /// <summary>\n    /// The identifier for the AuditAddReferencesEventType_ReferencesToAdd Variable.\n    /// </summary>\n    public const uint AuditAddReferencesEventType_ReferencesToAdd = 2096;\n\n    /// <summary>\n    /// The identifier for the AuditDeleteReferencesEventType_ReferencesToDelete Variable.\n    /// </summary>\n    public const uint AuditDeleteReferencesEventType_ReferencesToDelete = 2098;\n\n    /// <summary>\n    /// The identifier for the AuditWriteUpdateEventType_AttributeId Variable.\n    /// </summary>\n    public const uint AuditWriteUpdateEventType_AttributeId = 2750;\n\n    /// <summary>\n    /// The identifier for the AuditWriteUpdateEventType_IndexRange Variable.\n    /// </summary>\n    public const uint AuditWriteUpdateEventType_IndexRange = 2101;\n\n    /// <summary>\n    /// The identifier for the AuditWriteUpdateEventType_OldValue Variable.\n    /// </summary>\n    public const uint AuditWriteUpdateEventType_OldValue = 2102;\n\n    /// <summary>\n    /// The identifier for the AuditWriteUpdateEventType_NewValue Variable.\n    /// </summary>\n    public const uint AuditWriteUpdateEventType_NewValue = 2103;\n\n    /// <summary>\n    /// The identifier for the AuditHistoryUpdateEventType_ParameterDataTypeId Variable.\n    /// </summary>\n    public const uint AuditHistoryUpdateEventType_ParameterDataTypeId = 2751;\n\n    /// <summary>\n    /// The identifier for the AuditUpdateMethodEventType_MethodId Variable.\n    /// </summary>\n    public const uint AuditUpdateMethodEventType_MethodId = 2128;\n\n    /// <summary>\n    /// The identifier for the AuditUpdateMethodEventType_InputArguments Variable.\n    /// </summary>\n    public const uint AuditUpdateMethodEventType_InputArguments = 2129;\n\n    /// <summary>\n    /// The identifier for the SystemStatusChangeEventType_SystemState Variable.\n    /// </summary>\n    public const uint SystemStatusChangeEventType_SystemState = 11696;\n\n    /// <summary>\n    /// The identifier for the GeneralModelChangeEventType_Changes Variable.\n    /// </summary>\n    public const uint GeneralModelChangeEventType_Changes = 2134;\n\n    /// <summary>\n    /// The identifier for the SemanticChangeEventType_Changes Variable.\n    /// </summary>\n    public const uint SemanticChangeEventType_Changes = 2739;\n\n    /// <summary>\n    /// The identifier for the ServerStatusType_StartTime Variable.\n    /// </summary>\n    public const uint ServerStatusType_StartTime = 2139;\n\n    /// <summary>\n    /// The identifier for the ServerStatusType_CurrentTime Variable.\n    /// </summary>\n    public const uint ServerStatusType_CurrentTime = 2140;\n\n    /// <summary>\n    /// The identifier for the ServerStatusType_State Variable.\n    /// </summary>\n    public const uint ServerStatusType_State = 2141;\n\n    /// <summary>\n    /// The identifier for the ServerStatusType_BuildInfo Variable.\n    /// </summary>\n    public const uint ServerStatusType_BuildInfo = 2142;\n\n    /// <summary>\n    /// The identifier for the ServerStatusType_BuildInfo_ProductUri Variable.\n    /// </summary>\n    public const uint ServerStatusType_BuildInfo_ProductUri = 3698;\n\n    /// <summary>\n    /// The identifier for the ServerStatusType_BuildInfo_ManufacturerName Variable.\n    /// </summary>\n    public const uint ServerStatusType_BuildInfo_ManufacturerName = 3699;\n\n    /// <summary>\n    /// The identifier for the ServerStatusType_BuildInfo_ProductName Variable.\n    /// </summary>\n    public const uint ServerStatusType_BuildInfo_ProductName = 3700;\n\n    /// <summary>\n    /// The identifier for the ServerStatusType_BuildInfo_SoftwareVersion Variable.\n    /// </summary>\n    public const uint ServerStatusType_BuildInfo_SoftwareVersion = 3701;\n\n    /// <summary>\n    /// The identifier for the ServerStatusType_BuildInfo_BuildNumber Variable.\n    /// </summary>\n    public const uint ServerStatusType_BuildInfo_BuildNumber = 3702;\n\n    /// <summary>\n    /// The identifier for the ServerStatusType_BuildInfo_BuildDate Variable.\n    /// </summary>\n    public const uint ServerStatusType_BuildInfo_BuildDate = 3703;\n\n    /// <summary>\n    /// The identifier for the ServerStatusType_SecondsTillShutdown Variable.\n    /// </summary>\n    public const uint ServerStatusType_SecondsTillShutdown = 2752;\n\n    /// <summary>\n    /// The identifier for the ServerStatusType_ShutdownReason Variable.\n    /// </summary>\n    public const uint ServerStatusType_ShutdownReason = 2753;\n\n    /// <summary>\n    /// The identifier for the BuildInfoType_ProductUri Variable.\n    /// </summary>\n    public const uint BuildInfoType_ProductUri = 3052;\n\n    /// <summary>\n    /// The identifier for the BuildInfoType_ManufacturerName Variable.\n    /// </summary>\n    public const uint BuildInfoType_ManufacturerName = 3053;\n\n    /// <summary>\n    /// The identifier for the BuildInfoType_ProductName Variable.\n    /// </summary>\n    public const uint BuildInfoType_ProductName = 3054;\n\n    /// <summary>\n    /// The identifier for the BuildInfoType_SoftwareVersion Variable.\n    /// </summary>\n    public const uint BuildInfoType_SoftwareVersion = 3055;\n\n    /// <summary>\n    /// The identifier for the BuildInfoType_BuildNumber Variable.\n    /// </summary>\n    public const uint BuildInfoType_BuildNumber = 3056;\n\n    /// <summary>\n    /// The identifier for the BuildInfoType_BuildDate Variable.\n    /// </summary>\n    public const uint BuildInfoType_BuildDate = 3057;\n\n    /// <summary>\n    /// The identifier for the ServerDiagnosticsSummaryType_ServerViewCount Variable.\n    /// </summary>\n    public const uint ServerDiagnosticsSummaryType_ServerViewCount = 2151;\n\n    /// <summary>\n    /// The identifier for the ServerDiagnosticsSummaryType_CurrentSessionCount Variable.\n    /// </summary>\n    public const uint ServerDiagnosticsSummaryType_CurrentSessionCount = 2152;\n\n    /// <summary>\n    /// The identifier for the ServerDiagnosticsSummaryType_CumulatedSessionCount Variable.\n    /// </summary>\n    public const uint ServerDiagnosticsSummaryType_CumulatedSessionCount = 2153;\n\n    /// <summary>\n    /// The identifier for the ServerDiagnosticsSummaryType_SecurityRejectedSessionCount Variable.\n    /// </summary>\n    public const uint ServerDiagnosticsSummaryType_SecurityRejectedSessionCount = 2154;\n\n    /// <summary>\n    /// The identifier for the ServerDiagnosticsSummaryType_RejectedSessionCount Variable.\n    /// </summary>\n    public const uint ServerDiagnosticsSummaryType_RejectedSessionCount = 2155;\n\n    /// <summary>\n    /// The identifier for the ServerDiagnosticsSummaryType_SessionTimeoutCount Variable.\n    /// </summary>\n    public const uint ServerDiagnosticsSummaryType_SessionTimeoutCount = 2156;\n\n    /// <summary>\n    /// The identifier for the ServerDiagnosticsSummaryType_SessionAbortCount Variable.\n    /// </summary>\n    public const uint ServerDiagnosticsSummaryType_SessionAbortCount = 2157;\n\n    /// <summary>\n    /// The identifier for the ServerDiagnosticsSummaryType_PublishingIntervalCount Variable.\n    /// </summary>\n    public const uint ServerDiagnosticsSummaryType_PublishingIntervalCount = 2159;\n\n    /// <summary>\n    /// The identifier for the ServerDiagnosticsSummaryType_CurrentSubscriptionCount Variable.\n    /// </summary>\n    public const uint ServerDiagnosticsSummaryType_CurrentSubscriptionCount = 2160;\n\n    /// <summary>\n    /// The identifier for the ServerDiagnosticsSummaryType_CumulatedSubscriptionCount Variable.\n    /// </summary>\n    public const uint ServerDiagnosticsSummaryType_CumulatedSubscriptionCount = 2161;\n\n    /// <summary>\n    /// The identifier for the ServerDiagnosticsSummaryType_SecurityRejectedRequestsCount Variable.\n    /// </summary>\n    public const uint ServerDiagnosticsSummaryType_SecurityRejectedRequestsCount = 2162;\n\n    /// <summary>\n    /// The identifier for the ServerDiagnosticsSummaryType_RejectedRequestsCount Variable.\n    /// </summary>\n    public const uint ServerDiagnosticsSummaryType_RejectedRequestsCount = 2163;\n\n    /// <summary>\n    /// The identifier for the SamplingIntervalDiagnosticsType_SamplingInterval Variable.\n    /// </summary>\n    public const uint SamplingIntervalDiagnosticsType_SamplingInterval = 2166;\n\n    /// <summary>\n    /// The identifier for the SamplingIntervalDiagnosticsType_SampledMonitoredItemsCount Variable.\n    /// </summary>\n    public const uint SamplingIntervalDiagnosticsType_SampledMonitoredItemsCount = 11697;\n\n    /// <summary>\n    /// The identifier for the SamplingIntervalDiagnosticsType_MaxSampledMonitoredItemsCount Variable.\n    /// </summary>\n    public const uint SamplingIntervalDiagnosticsType_MaxSampledMonitoredItemsCount = 11698;\n\n    /// <summary>\n    /// The identifier for the SamplingIntervalDiagnosticsType_DisabledMonitoredItemsSamplingCount Variable.\n    /// </summary>\n    public const uint SamplingIntervalDiagnosticsType_DisabledMonitoredItemsSamplingCount = 11699;\n\n    /// <summary>\n    /// The identifier for the SubscriptionDiagnosticsType_SessionId Variable.\n    /// </summary>\n    public const uint SubscriptionDiagnosticsType_SessionId = 2173;\n\n    /// <summary>\n    /// The identifier for the SubscriptionDiagnosticsType_SubscriptionId Variable.\n    /// </summary>\n    public const uint SubscriptionDiagnosticsType_SubscriptionId = 2174;\n\n    /// <summary>\n    /// The identifier for the SubscriptionDiagnosticsType_Priority Variable.\n    /// </summary>\n    public const uint SubscriptionDiagnosticsType_Priority = 2175;\n\n    /// <summary>\n    /// The identifier for the SubscriptionDiagnosticsType_PublishingInterval Variable.\n    /// </summary>\n    public const uint SubscriptionDiagnosticsType_PublishingInterval = 2176;\n\n    /// <summary>\n    /// The identifier for the SubscriptionDiagnosticsType_MaxKeepAliveCount Variable.\n    /// </summary>\n    public const uint SubscriptionDiagnosticsType_MaxKeepAliveCount = 2177;\n\n    /// <summary>\n    /// The identifier for the SubscriptionDiagnosticsType_MaxLifetimeCount Variable.\n    /// </summary>\n    public const uint SubscriptionDiagnosticsType_MaxLifetimeCount = 8888;\n\n    /// <summary>\n    /// The identifier for the SubscriptionDiagnosticsType_MaxNotificationsPerPublish Variable.\n    /// </summary>\n    public const uint SubscriptionDiagnosticsType_MaxNotificationsPerPublish = 2179;\n\n    /// <summary>\n    /// The identifier for the SubscriptionDiagnosticsType_PublishingEnabled Variable.\n    /// </summary>\n    public const uint SubscriptionDiagnosticsType_PublishingEnabled = 2180;\n\n    /// <summary>\n    /// The identifier for the SubscriptionDiagnosticsType_ModifyCount Variable.\n    /// </summary>\n    public const uint SubscriptionDiagnosticsType_ModifyCount = 2181;\n\n    /// <summary>\n    /// The identifier for the SubscriptionDiagnosticsType_EnableCount Variable.\n    /// </summary>\n    public const uint SubscriptionDiagnosticsType_EnableCount = 2182;\n\n    /// <summary>\n    /// The identifier for the SubscriptionDiagnosticsType_DisableCount Variable.\n    /// </summary>\n    public const uint SubscriptionDiagnosticsType_DisableCount = 2183;\n\n    /// <summary>\n    /// The identifier for the SubscriptionDiagnosticsType_RepublishRequestCount Variable.\n    /// </summary>\n    public const uint SubscriptionDiagnosticsType_RepublishRequestCount = 2184;\n\n    /// <summary>\n    /// The identifier for the SubscriptionDiagnosticsType_RepublishMessageRequestCount Variable.\n    /// </summary>\n    public const uint SubscriptionDiagnosticsType_RepublishMessageRequestCount = 2185;\n\n    /// <summary>\n    /// The identifier for the SubscriptionDiagnosticsType_RepublishMessageCount Variable.\n    /// </summary>\n    public const uint SubscriptionDiagnosticsType_RepublishMessageCount = 2186;\n\n    /// <summary>\n    /// The identifier for the SubscriptionDiagnosticsType_TransferRequestCount Variable.\n    /// </summary>\n    public const uint SubscriptionDiagnosticsType_TransferRequestCount = 2187;\n\n    /// <summary>\n    /// The identifier for the SubscriptionDiagnosticsType_TransferredToAltClientCount Variable.\n    /// </summary>\n    public const uint SubscriptionDiagnosticsType_TransferredToAltClientCount = 2188;\n\n    /// <summary>\n    /// The identifier for the SubscriptionDiagnosticsType_TransferredToSameClientCount Variable.\n    /// </summary>\n    public const uint SubscriptionDiagnosticsType_TransferredToSameClientCount = 2189;\n\n    /// <summary>\n    /// The identifier for the SubscriptionDiagnosticsType_PublishRequestCount Variable.\n    /// </summary>\n    public const uint SubscriptionDiagnosticsType_PublishRequestCount = 2190;\n\n    /// <summary>\n    /// The identifier for the SubscriptionDiagnosticsType_DataChangeNotificationsCount Variable.\n    /// </summary>\n    public const uint SubscriptionDiagnosticsType_DataChangeNotificationsCount = 2191;\n\n    /// <summary>\n    /// The identifier for the SubscriptionDiagnosticsType_EventNotificationsCount Variable.\n    /// </summary>\n    public const uint SubscriptionDiagnosticsType_EventNotificationsCount = 2998;\n\n    /// <summary>\n    /// The identifier for the SubscriptionDiagnosticsType_NotificationsCount Variable.\n    /// </summary>\n    public const uint SubscriptionDiagnosticsType_NotificationsCount = 2193;\n\n    /// <summary>\n    /// The identifier for the SubscriptionDiagnosticsType_LatePublishRequestCount Variable.\n    /// </summary>\n    public const uint SubscriptionDiagnosticsType_LatePublishRequestCount = 8889;\n\n    /// <summary>\n    /// The identifier for the SubscriptionDiagnosticsType_CurrentKeepAliveCount Variable.\n    /// </summary>\n    public const uint SubscriptionDiagnosticsType_CurrentKeepAliveCount = 8890;\n\n    /// <summary>\n    /// The identifier for the SubscriptionDiagnosticsType_CurrentLifetimeCount Variable.\n    /// </summary>\n    public const uint SubscriptionDiagnosticsType_CurrentLifetimeCount = 8891;\n\n    /// <summary>\n    /// The identifier for the SubscriptionDiagnosticsType_UnacknowledgedMessageCount Variable.\n    /// </summary>\n    public const uint SubscriptionDiagnosticsType_UnacknowledgedMessageCount = 8892;\n\n    /// <summary>\n    /// The identifier for the SubscriptionDiagnosticsType_DiscardedMessageCount Variable.\n    /// </summary>\n    public const uint SubscriptionDiagnosticsType_DiscardedMessageCount = 8893;\n\n    /// <summary>\n    /// The identifier for the SubscriptionDiagnosticsType_MonitoredItemCount Variable.\n    /// </summary>\n    public const uint SubscriptionDiagnosticsType_MonitoredItemCount = 8894;\n\n    /// <summary>\n    /// The identifier for the SubscriptionDiagnosticsType_DisabledMonitoredItemCount Variable.\n    /// </summary>\n    public const uint SubscriptionDiagnosticsType_DisabledMonitoredItemCount = 8895;\n\n    /// <summary>\n    /// The identifier for the SubscriptionDiagnosticsType_MonitoringQueueOverflowCount Variable.\n    /// </summary>\n    public const uint SubscriptionDiagnosticsType_MonitoringQueueOverflowCount = 8896;\n\n    /// <summary>\n    /// The identifier for the SubscriptionDiagnosticsType_NextSequenceNumber Variable.\n    /// </summary>\n    public const uint SubscriptionDiagnosticsType_NextSequenceNumber = 8897;\n\n    /// <summary>\n    /// The identifier for the SubscriptionDiagnosticsType_EventQueueOverFlowCount Variable.\n    /// </summary>\n    public const uint SubscriptionDiagnosticsType_EventQueueOverFlowCount = 8902;\n\n    /// <summary>\n    /// The identifier for the SessionDiagnosticsVariableType_SessionId Variable.\n    /// </summary>\n    public const uint SessionDiagnosticsVariableType_SessionId = 2198;\n\n    /// <summary>\n    /// The identifier for the SessionDiagnosticsVariableType_SessionName Variable.\n    /// </summary>\n    public const uint SessionDiagnosticsVariableType_SessionName = 2199;\n\n    /// <summary>\n    /// The identifier for the SessionDiagnosticsVariableType_ClientDescription Variable.\n    /// </summary>\n    public const uint SessionDiagnosticsVariableType_ClientDescription = 2200;\n\n    /// <summary>\n    /// The identifier for the SessionDiagnosticsVariableType_ServerUri Variable.\n    /// </summary>\n    public const uint SessionDiagnosticsVariableType_ServerUri = 2201;\n\n    /// <summary>\n    /// The identifier for the SessionDiagnosticsVariableType_EndpointUrl Variable.\n    /// </summary>\n    public const uint SessionDiagnosticsVariableType_EndpointUrl = 2202;\n\n    /// <summary>\n    /// The identifier for the SessionDiagnosticsVariableType_LocaleIds Variable.\n    /// </summary>\n    public const uint SessionDiagnosticsVariableType_LocaleIds = 2203;\n\n    /// <summary>\n    /// The identifier for the SessionDiagnosticsVariableType_ActualSessionTimeout Variable.\n    /// </summary>\n    public const uint SessionDiagnosticsVariableType_ActualSessionTimeout = 2204;\n\n    /// <summary>\n    /// The identifier for the SessionDiagnosticsVariableType_MaxResponseMessageSize Variable.\n    /// </summary>\n    public const uint SessionDiagnosticsVariableType_MaxResponseMessageSize = 3050;\n\n    /// <summary>\n    /// The identifier for the SessionDiagnosticsVariableType_ClientConnectionTime Variable.\n    /// </summary>\n    public const uint SessionDiagnosticsVariableType_ClientConnectionTime = 2205;\n\n    /// <summary>\n    /// The identifier for the SessionDiagnosticsVariableType_ClientLastContactTime Variable.\n    /// </summary>\n    public const uint SessionDiagnosticsVariableType_ClientLastContactTime = 2206;\n\n    /// <summary>\n    /// The identifier for the SessionDiagnosticsVariableType_CurrentSubscriptionsCount Variable.\n    /// </summary>\n    public const uint SessionDiagnosticsVariableType_CurrentSubscriptionsCount = 2207;\n\n    /// <summary>\n    /// The identifier for the SessionDiagnosticsVariableType_CurrentMonitoredItemsCount Variable.\n    /// </summary>\n    public const uint SessionDiagnosticsVariableType_CurrentMonitoredItemsCount = 2208;\n\n    /// <summary>\n    /// The identifier for the SessionDiagnosticsVariableType_CurrentPublishRequestsInQueue Variable.\n    /// </summary>\n    public const uint SessionDiagnosticsVariableType_CurrentPublishRequestsInQueue = 2209;\n\n    /// <summary>\n    /// The identifier for the SessionDiagnosticsVariableType_TotalRequestCount Variable.\n    /// </summary>\n    public const uint SessionDiagnosticsVariableType_TotalRequestCount = 8900;\n\n    /// <summary>\n    /// The identifier for the SessionDiagnosticsVariableType_UnauthorizedRequestCount Variable.\n    /// </summary>\n    public const uint SessionDiagnosticsVariableType_UnauthorizedRequestCount = 11892;\n\n    /// <summary>\n    /// The identifier for the SessionDiagnosticsVariableType_ReadCount Variable.\n    /// </summary>\n    public const uint SessionDiagnosticsVariableType_ReadCount = 2217;\n\n    /// <summary>\n    /// The identifier for the SessionDiagnosticsVariableType_HistoryReadCount Variable.\n    /// </summary>\n    public const uint SessionDiagnosticsVariableType_HistoryReadCount = 2218;\n\n    /// <summary>\n    /// The identifier for the SessionDiagnosticsVariableType_WriteCount Variable.\n    /// </summary>\n    public const uint SessionDiagnosticsVariableType_WriteCount = 2219;\n\n    /// <summary>\n    /// The identifier for the SessionDiagnosticsVariableType_HistoryUpdateCount Variable.\n    /// </summary>\n    public const uint SessionDiagnosticsVariableType_HistoryUpdateCount = 2220;\n\n    /// <summary>\n    /// The identifier for the SessionDiagnosticsVariableType_CallCount Variable.\n    /// </summary>\n    public const uint SessionDiagnosticsVariableType_CallCount = 2221;\n\n    /// <summary>\n    /// The identifier for the SessionDiagnosticsVariableType_CreateMonitoredItemsCount Variable.\n    /// </summary>\n    public const uint SessionDiagnosticsVariableType_CreateMonitoredItemsCount = 2222;\n\n    /// <summary>\n    /// The identifier for the SessionDiagnosticsVariableType_ModifyMonitoredItemsCount Variable.\n    /// </summary>\n    public const uint SessionDiagnosticsVariableType_ModifyMonitoredItemsCount = 2223;\n\n    /// <summary>\n    /// The identifier for the SessionDiagnosticsVariableType_SetMonitoringModeCount Variable.\n    /// </summary>\n    public const uint SessionDiagnosticsVariableType_SetMonitoringModeCount = 2224;\n\n    /// <summary>\n    /// The identifier for the SessionDiagnosticsVariableType_SetTriggeringCount Variable.\n    /// </summary>\n    public const uint SessionDiagnosticsVariableType_SetTriggeringCount = 2225;\n\n    /// <summary>\n    /// The identifier for the SessionDiagnosticsVariableType_DeleteMonitoredItemsCount Variable.\n    /// </summary>\n    public const uint SessionDiagnosticsVariableType_DeleteMonitoredItemsCount = 2226;\n\n    /// <summary>\n    /// The identifier for the SessionDiagnosticsVariableType_CreateSubscriptionCount Variable.\n    /// </summary>\n    public const uint SessionDiagnosticsVariableType_CreateSubscriptionCount = 2227;\n\n    /// <summary>\n    /// The identifier for the SessionDiagnosticsVariableType_ModifySubscriptionCount Variable.\n    /// </summary>\n    public const uint SessionDiagnosticsVariableType_ModifySubscriptionCount = 2228;\n\n    /// <summary>\n    /// The identifier for the SessionDiagnosticsVariableType_SetPublishingModeCount Variable.\n    /// </summary>\n    public const uint SessionDiagnosticsVariableType_SetPublishingModeCount = 2229;\n\n    /// <summary>\n    /// The identifier for the SessionDiagnosticsVariableType_PublishCount Variable.\n    /// </summary>\n    public const uint SessionDiagnosticsVariableType_PublishCount = 2230;\n\n    /// <summary>\n    /// The identifier for the SessionDiagnosticsVariableType_RepublishCount Variable.\n    /// </summary>\n    public const uint SessionDiagnosticsVariableType_RepublishCount = 2231;\n\n    /// <summary>\n    /// The identifier for the SessionDiagnosticsVariableType_TransferSubscriptionsCount Variable.\n    /// </summary>\n    public const uint SessionDiagnosticsVariableType_TransferSubscriptionsCount = 2232;\n\n    /// <summary>\n    /// The identifier for the SessionDiagnosticsVariableType_DeleteSubscriptionsCount Variable.\n    /// </summary>\n    public const uint SessionDiagnosticsVariableType_DeleteSubscriptionsCount = 2233;\n\n    /// <summary>\n    /// The identifier for the SessionDiagnosticsVariableType_AddNodesCount Variable.\n    /// </summary>\n    public const uint SessionDiagnosticsVariableType_AddNodesCount = 2234;\n\n    /// <summary>\n    /// The identifier for the SessionDiagnosticsVariableType_AddReferencesCount Variable.\n    /// </summary>\n    public const uint SessionDiagnosticsVariableType_AddReferencesCount = 2235;\n\n    /// <summary>\n    /// The identifier for the SessionDiagnosticsVariableType_DeleteNodesCount Variable.\n    /// </summary>\n    public const uint SessionDiagnosticsVariableType_DeleteNodesCount = 2236;\n\n    /// <summary>\n    /// The identifier for the SessionDiagnosticsVariableType_DeleteReferencesCount Variable.\n    /// </summary>\n    public const uint SessionDiagnosticsVariableType_DeleteReferencesCount = 2237;\n\n    /// <summary>\n    /// The identifier for the SessionDiagnosticsVariableType_BrowseCount Variable.\n    /// </summary>\n    public const uint SessionDiagnosticsVariableType_BrowseCount = 2238;\n\n    /// <summary>\n    /// The identifier for the SessionDiagnosticsVariableType_BrowseNextCount Variable.\n    /// </summary>\n    public const uint SessionDiagnosticsVariableType_BrowseNextCount = 2239;\n\n    /// <summary>\n    /// The identifier for the SessionDiagnosticsVariableType_TranslateBrowsePathsToNodeIdsCount Variable.\n    /// </summary>\n    public const uint SessionDiagnosticsVariableType_TranslateBrowsePathsToNodeIdsCount = 2240;\n\n    /// <summary>\n    /// The identifier for the SessionDiagnosticsVariableType_QueryFirstCount Variable.\n    /// </summary>\n    public const uint SessionDiagnosticsVariableType_QueryFirstCount = 2241;\n\n    /// <summary>\n    /// The identifier for the SessionDiagnosticsVariableType_QueryNextCount Variable.\n    /// </summary>\n    public const uint SessionDiagnosticsVariableType_QueryNextCount = 2242;\n\n    /// <summary>\n    /// The identifier for the SessionDiagnosticsVariableType_RegisterNodesCount Variable.\n    /// </summary>\n    public const uint SessionDiagnosticsVariableType_RegisterNodesCount = 2730;\n\n    /// <summary>\n    /// The identifier for the SessionDiagnosticsVariableType_UnregisterNodesCount Variable.\n    /// </summary>\n    public const uint SessionDiagnosticsVariableType_UnregisterNodesCount = 2731;\n\n    /// <summary>\n    /// The identifier for the SessionSecurityDiagnosticsType_SessionId Variable.\n    /// </summary>\n    public const uint SessionSecurityDiagnosticsType_SessionId = 2245;\n\n    /// <summary>\n    /// The identifier for the SessionSecurityDiagnosticsType_ClientUserIdOfSession Variable.\n    /// </summary>\n    public const uint SessionSecurityDiagnosticsType_ClientUserIdOfSession = 2246;\n\n    /// <summary>\n    /// The identifier for the SessionSecurityDiagnosticsType_ClientUserIdHistory Variable.\n    /// </summary>\n    public const uint SessionSecurityDiagnosticsType_ClientUserIdHistory = 2247;\n\n    /// <summary>\n    /// The identifier for the SessionSecurityDiagnosticsType_AuthenticationMechanism Variable.\n    /// </summary>\n    public const uint SessionSecurityDiagnosticsType_AuthenticationMechanism = 2248;\n\n    /// <summary>\n    /// The identifier for the SessionSecurityDiagnosticsType_Encoding Variable.\n    /// </summary>\n    public const uint SessionSecurityDiagnosticsType_Encoding = 2249;\n\n    /// <summary>\n    /// The identifier for the SessionSecurityDiagnosticsType_TransportProtocol Variable.\n    /// </summary>\n    public const uint SessionSecurityDiagnosticsType_TransportProtocol = 2250;\n\n    /// <summary>\n    /// The identifier for the SessionSecurityDiagnosticsType_SecurityMode Variable.\n    /// </summary>\n    public const uint SessionSecurityDiagnosticsType_SecurityMode = 2251;\n\n    /// <summary>\n    /// The identifier for the SessionSecurityDiagnosticsType_SecurityPolicyUri Variable.\n    /// </summary>\n    public const uint SessionSecurityDiagnosticsType_SecurityPolicyUri = 2252;\n\n    /// <summary>\n    /// The identifier for the SessionSecurityDiagnosticsType_ClientCertificate Variable.\n    /// </summary>\n    public const uint SessionSecurityDiagnosticsType_ClientCertificate = 3058;\n\n    /// <summary>\n    /// The identifier for the OptionSetType_OptionSetValues Variable.\n    /// </summary>\n    public const uint OptionSetType_OptionSetValues = 11488;\n\n    /// <summary>\n    /// The identifier for the OptionSetType_BitMask Variable.\n    /// </summary>\n    public const uint OptionSetType_BitMask = 11701;\n\n    /// <summary>\n    /// The identifier for the Server_ServerArray Variable.\n    /// </summary>\n    public const uint Server_ServerArray = 2254;\n\n    /// <summary>\n    /// The identifier for the Server_NamespaceArray Variable.\n    /// </summary>\n    public const uint Server_NamespaceArray = 2255;\n\n    /// <summary>\n    /// The identifier for the Server_ServerStatus Variable.\n    /// </summary>\n    public const uint Server_ServerStatus = 2256;\n\n    /// <summary>\n    /// The identifier for the Server_ServerStatus_StartTime Variable.\n    /// </summary>\n    public const uint Server_ServerStatus_StartTime = 2257;\n\n    /// <summary>\n    /// The identifier for the Server_ServerStatus_CurrentTime Variable.\n    /// </summary>\n    public const uint Server_ServerStatus_CurrentTime = 2258;\n\n    /// <summary>\n    /// The identifier for the Server_ServerStatus_State Variable.\n    /// </summary>\n    public const uint Server_ServerStatus_State = 2259;\n\n    /// <summary>\n    /// The identifier for the Server_ServerStatus_BuildInfo Variable.\n    /// </summary>\n    public const uint Server_ServerStatus_BuildInfo = 2260;\n\n    /// <summary>\n    /// The identifier for the Server_ServerStatus_BuildInfo_ProductUri Variable.\n    /// </summary>\n    public const uint Server_ServerStatus_BuildInfo_ProductUri = 2262;\n\n    /// <summary>\n    /// The identifier for the Server_ServerStatus_BuildInfo_ManufacturerName Variable.\n    /// </summary>\n    public const uint Server_ServerStatus_BuildInfo_ManufacturerName = 2263;\n\n    /// <summary>\n    /// The identifier for the Server_ServerStatus_BuildInfo_ProductName Variable.\n    /// </summary>\n    public const uint Server_ServerStatus_BuildInfo_ProductName = 2261;\n\n    /// <summary>\n    /// The identifier for the Server_ServerStatus_BuildInfo_SoftwareVersion Variable.\n    /// </summary>\n    public const uint Server_ServerStatus_BuildInfo_SoftwareVersion = 2264;\n\n    /// <summary>\n    /// The identifier for the Server_ServerStatus_BuildInfo_BuildNumber Variable.\n    /// </summary>\n    public const uint Server_ServerStatus_BuildInfo_BuildNumber = 2265;\n\n    /// <summary>\n    /// The identifier for the Server_ServerStatus_BuildInfo_BuildDate Variable.\n    /// </summary>\n    public const uint Server_ServerStatus_BuildInfo_BuildDate = 2266;\n\n    /// <summary>\n    /// The identifier for the Server_ServerStatus_SecondsTillShutdown Variable.\n    /// </summary>\n    public const uint Server_ServerStatus_SecondsTillShutdown = 2992;\n\n    /// <summary>\n    /// The identifier for the Server_ServerStatus_ShutdownReason Variable.\n    /// </summary>\n    public const uint Server_ServerStatus_ShutdownReason = 2993;\n\n    /// <summary>\n    /// The identifier for the Server_ServiceLevel Variable.\n    /// </summary>\n    public const uint Server_ServiceLevel = 2267;\n\n    /// <summary>\n    /// The identifier for the Server_Auditing Variable.\n    /// </summary>\n    public const uint Server_Auditing = 2994;\n\n    /// <summary>\n    /// The identifier for the Server_ServerCapabilities_ServerProfileArray Variable.\n    /// </summary>\n    public const uint Server_ServerCapabilities_ServerProfileArray = 2269;\n\n    /// <summary>\n    /// The identifier for the Server_ServerCapabilities_LocaleIdArray Variable.\n    /// </summary>\n    public const uint Server_ServerCapabilities_LocaleIdArray = 2271;\n\n    /// <summary>\n    /// The identifier for the Server_ServerCapabilities_MinSupportedSampleRate Variable.\n    /// </summary>\n    public const uint Server_ServerCapabilities_MinSupportedSampleRate = 2272;\n\n    /// <summary>\n    /// The identifier for the Server_ServerCapabilities_MaxBrowseContinuationPoints Variable.\n    /// </summary>\n    public const uint Server_ServerCapabilities_MaxBrowseContinuationPoints = 2735;\n\n    /// <summary>\n    /// The identifier for the Server_ServerCapabilities_MaxQueryContinuationPoints Variable.\n    /// </summary>\n    public const uint Server_ServerCapabilities_MaxQueryContinuationPoints = 2736;\n\n    /// <summary>\n    /// The identifier for the Server_ServerCapabilities_MaxHistoryContinuationPoints Variable.\n    /// </summary>\n    public const uint Server_ServerCapabilities_MaxHistoryContinuationPoints = 2737;\n\n    /// <summary>\n    /// The identifier for the Server_ServerCapabilities_SoftwareCertificates Variable.\n    /// </summary>\n    public const uint Server_ServerCapabilities_SoftwareCertificates = 3704;\n\n    /// <summary>\n    /// The identifier for the Server_ServerCapabilities_MaxArrayLength Variable.\n    /// </summary>\n    public const uint Server_ServerCapabilities_MaxArrayLength = 11702;\n\n    /// <summary>\n    /// The identifier for the Server_ServerCapabilities_MaxStringLength Variable.\n    /// </summary>\n    public const uint Server_ServerCapabilities_MaxStringLength = 11703;\n\n    /// <summary>\n    /// The identifier for the Server_ServerCapabilities_OperationLimits_MaxNodesPerRead Variable.\n    /// </summary>\n    public const uint Server_ServerCapabilities_OperationLimits_MaxNodesPerRead = 11705;\n\n    /// <summary>\n    /// The identifier for the Server_ServerCapabilities_OperationLimits_MaxNodesPerHistoryReadData Variable.\n    /// </summary>\n    public const uint Server_ServerCapabilities_OperationLimits_MaxNodesPerHistoryReadData = 12165;\n\n    /// <summary>\n    /// The identifier for the Server_ServerCapabilities_OperationLimits_MaxNodesPerHistoryReadEvents Variable.\n    /// </summary>\n    public const uint Server_ServerCapabilities_OperationLimits_MaxNodesPerHistoryReadEvents = 12166;\n\n    /// <summary>\n    /// The identifier for the Server_ServerCapabilities_OperationLimits_MaxNodesPerWrite Variable.\n    /// </summary>\n    public const uint Server_ServerCapabilities_OperationLimits_MaxNodesPerWrite = 11707;\n\n    /// <summary>\n    /// The identifier for the Server_ServerCapabilities_OperationLimits_MaxNodesPerHistoryUpdateData Variable.\n    /// </summary>\n    public const uint Server_ServerCapabilities_OperationLimits_MaxNodesPerHistoryUpdateData = 12167;\n\n    /// <summary>\n    /// The identifier for the Server_ServerCapabilities_OperationLimits_MaxNodesPerHistoryUpdateEvents Variable.\n    /// </summary>\n    public const uint Server_ServerCapabilities_OperationLimits_MaxNodesPerHistoryUpdateEvents = 12168;\n\n    /// <summary>\n    /// The identifier for the Server_ServerCapabilities_OperationLimits_MaxNodesPerMethodCall Variable.\n    /// </summary>\n    public const uint Server_ServerCapabilities_OperationLimits_MaxNodesPerMethodCall = 11709;\n\n    /// <summary>\n    /// The identifier for the Server_ServerCapabilities_OperationLimits_MaxNodesPerBrowse Variable.\n    /// </summary>\n    public const uint Server_ServerCapabilities_OperationLimits_MaxNodesPerBrowse = 11710;\n\n    /// <summary>\n    /// The identifier for the Server_ServerCapabilities_OperationLimits_MaxNodesPerRegisterNodes Variable.\n    /// </summary>\n    public const uint Server_ServerCapabilities_OperationLimits_MaxNodesPerRegisterNodes = 11711;\n\n    /// <summary>\n    /// The identifier for the Server_ServerCapabilities_OperationLimits_MaxNodesPerTranslateBrowsePathsToNodeIds Variable.\n    /// </summary>\n    public const uint Server_ServerCapabilities_OperationLimits_MaxNodesPerTranslateBrowsePathsToNodeIds = 11712;\n\n    /// <summary>\n    /// The identifier for the Server_ServerCapabilities_OperationLimits_MaxNodesPerNodeManagement Variable.\n    /// </summary>\n    public const uint Server_ServerCapabilities_OperationLimits_MaxNodesPerNodeManagement = 11713;\n\n    /// <summary>\n    /// The identifier for the Server_ServerCapabilities_OperationLimits_MaxMonitoredItemsPerCall Variable.\n    /// </summary>\n    public const uint Server_ServerCapabilities_OperationLimits_MaxMonitoredItemsPerCall = 11714;\n\n    /// <summary>\n    /// The identifier for the Server_ServerDiagnostics_ServerDiagnosticsSummary Variable.\n    /// </summary>\n    public const uint Server_ServerDiagnostics_ServerDiagnosticsSummary = 2275;\n\n    /// <summary>\n    /// The identifier for the Server_ServerDiagnostics_ServerDiagnosticsSummary_ServerViewCount Variable.\n    /// </summary>\n    public const uint Server_ServerDiagnostics_ServerDiagnosticsSummary_ServerViewCount = 2276;\n\n    /// <summary>\n    /// The identifier for the Server_ServerDiagnostics_ServerDiagnosticsSummary_CurrentSessionCount Variable.\n    /// </summary>\n    public const uint Server_ServerDiagnostics_ServerDiagnosticsSummary_CurrentSessionCount = 2277;\n\n    /// <summary>\n    /// The identifier for the Server_ServerDiagnostics_ServerDiagnosticsSummary_CumulatedSessionCount Variable.\n    /// </summary>\n    public const uint Server_ServerDiagnostics_ServerDiagnosticsSummary_CumulatedSessionCount = 2278;\n\n    /// <summary>\n    /// The identifier for the Server_ServerDiagnostics_ServerDiagnosticsSummary_SecurityRejectedSessionCount Variable.\n    /// </summary>\n    public const uint Server_ServerDiagnostics_ServerDiagnosticsSummary_SecurityRejectedSessionCount = 2279;\n\n    /// <summary>\n    /// The identifier for the Server_ServerDiagnostics_ServerDiagnosticsSummary_RejectedSessionCount Variable.\n    /// </summary>\n    public const uint Server_ServerDiagnostics_ServerDiagnosticsSummary_RejectedSessionCount = 3705;\n\n    /// <summary>\n    /// The identifier for the Server_ServerDiagnostics_ServerDiagnosticsSummary_SessionTimeoutCount Variable.\n    /// </summary>\n    public const uint Server_ServerDiagnostics_ServerDiagnosticsSummary_SessionTimeoutCount = 2281;\n\n    /// <summary>\n    /// The identifier for the Server_ServerDiagnostics_ServerDiagnosticsSummary_SessionAbortCount Variable.\n    /// </summary>\n    public const uint Server_ServerDiagnostics_ServerDiagnosticsSummary_SessionAbortCount = 2282;\n\n    /// <summary>\n    /// The identifier for the Server_ServerDiagnostics_ServerDiagnosticsSummary_PublishingIntervalCount Variable.\n    /// </summary>\n    public const uint Server_ServerDiagnostics_ServerDiagnosticsSummary_PublishingIntervalCount = 2284;\n\n    /// <summary>\n    /// The identifier for the Server_ServerDiagnostics_ServerDiagnosticsSummary_CurrentSubscriptionCount Variable.\n    /// </summary>\n    public const uint Server_ServerDiagnostics_ServerDiagnosticsSummary_CurrentSubscriptionCount = 2285;\n\n    /// <summary>\n    /// The identifier for the Server_ServerDiagnostics_ServerDiagnosticsSummary_CumulatedSubscriptionCount Variable.\n    /// </summary>\n    public const uint Server_ServerDiagnostics_ServerDiagnosticsSummary_CumulatedSubscriptionCount = 2286;\n\n    /// <summary>\n    /// The identifier for the Server_ServerDiagnostics_ServerDiagnosticsSummary_SecurityRejectedRequestsCount Variable.\n    /// </summary>\n    public const uint Server_ServerDiagnostics_ServerDiagnosticsSummary_SecurityRejectedRequestsCount = 2287;\n\n    /// <summary>\n    /// The identifier for the Server_ServerDiagnostics_ServerDiagnosticsSummary_RejectedRequestsCount Variable.\n    /// </summary>\n    public const uint Server_ServerDiagnostics_ServerDiagnosticsSummary_RejectedRequestsCount = 2288;\n\n    /// <summary>\n    /// The identifier for the Server_ServerDiagnostics_SamplingIntervalDiagnosticsArray Variable.\n    /// </summary>\n    public const uint Server_ServerDiagnostics_SamplingIntervalDiagnosticsArray = 2289;\n\n    /// <summary>\n    /// The identifier for the Server_ServerDiagnostics_SubscriptionDiagnosticsArray Variable.\n    /// </summary>\n    public const uint Server_ServerDiagnostics_SubscriptionDiagnosticsArray = 2290;\n\n    /// <summary>\n    /// The identifier for the Server_ServerDiagnostics_SessionsDiagnosticsSummary_SessionDiagnosticsArray Variable.\n    /// </summary>\n    public const uint Server_ServerDiagnostics_SessionsDiagnosticsSummary_SessionDiagnosticsArray = 3707;\n\n    /// <summary>\n    /// The identifier for the Server_ServerDiagnostics_SessionsDiagnosticsSummary_SessionSecurityDiagnosticsArray Variable.\n    /// </summary>\n    public const uint Server_ServerDiagnostics_SessionsDiagnosticsSummary_SessionSecurityDiagnosticsArray = 3708;\n\n    /// <summary>\n    /// The identifier for the Server_ServerDiagnostics_EnabledFlag Variable.\n    /// </summary>\n    public const uint Server_ServerDiagnostics_EnabledFlag = 2294;\n\n    /// <summary>\n    /// The identifier for the Server_ServerRedundancy_RedundancySupport Variable.\n    /// </summary>\n    public const uint Server_ServerRedundancy_RedundancySupport = 3709;\n\n    /// <summary>\n    /// The identifier for the Server_Namespaces_AddressSpaceFile_Size Variable.\n    /// </summary>\n    public const uint Server_Namespaces_AddressSpaceFile_Size = 11717;\n\n    /// <summary>\n    /// The identifier for the Server_Namespaces_AddressSpaceFile_Writeable Variable.\n    /// </summary>\n    public const uint Server_Namespaces_AddressSpaceFile_Writeable = 11718;\n\n    /// <summary>\n    /// The identifier for the Server_Namespaces_AddressSpaceFile_UserWriteable Variable.\n    /// </summary>\n    public const uint Server_Namespaces_AddressSpaceFile_UserWriteable = 11719;\n\n    /// <summary>\n    /// The identifier for the Server_Namespaces_AddressSpaceFile_OpenCount Variable.\n    /// </summary>\n    public const uint Server_Namespaces_AddressSpaceFile_OpenCount = 11720;\n\n    /// <summary>\n    /// The identifier for the Server_Namespaces_AddressSpaceFile_Open_InputArguments Variable.\n    /// </summary>\n    public const uint Server_Namespaces_AddressSpaceFile_Open_InputArguments = 11722;\n\n    /// <summary>\n    /// The identifier for the Server_Namespaces_AddressSpaceFile_Open_OutputArguments Variable.\n    /// </summary>\n    public const uint Server_Namespaces_AddressSpaceFile_Open_OutputArguments = 11723;\n\n    /// <summary>\n    /// The identifier for the Server_Namespaces_AddressSpaceFile_Close_InputArguments Variable.\n    /// </summary>\n    public const uint Server_Namespaces_AddressSpaceFile_Close_InputArguments = 11725;\n\n    /// <summary>\n    /// The identifier for the Server_Namespaces_AddressSpaceFile_Read_InputArguments Variable.\n    /// </summary>\n    public const uint Server_Namespaces_AddressSpaceFile_Read_InputArguments = 11727;\n\n    /// <summary>\n    /// The identifier for the Server_Namespaces_AddressSpaceFile_Read_OutputArguments Variable.\n    /// </summary>\n    public const uint Server_Namespaces_AddressSpaceFile_Read_OutputArguments = 11728;\n\n    /// <summary>\n    /// The identifier for the Server_Namespaces_AddressSpaceFile_Write_InputArguments Variable.\n    /// </summary>\n    public const uint Server_Namespaces_AddressSpaceFile_Write_InputArguments = 11730;\n\n    /// <summary>\n    /// The identifier for the Server_Namespaces_AddressSpaceFile_GetPosition_InputArguments Variable.\n    /// </summary>\n    public const uint Server_Namespaces_AddressSpaceFile_GetPosition_InputArguments = 11732;\n\n    /// <summary>\n    /// The identifier for the Server_Namespaces_AddressSpaceFile_GetPosition_OutputArguments Variable.\n    /// </summary>\n    public const uint Server_Namespaces_AddressSpaceFile_GetPosition_OutputArguments = 11733;\n\n    /// <summary>\n    /// The identifier for the Server_Namespaces_AddressSpaceFile_SetPosition_InputArguments Variable.\n    /// </summary>\n    public const uint Server_Namespaces_AddressSpaceFile_SetPosition_InputArguments = 11735;\n\n    /// <summary>\n    /// The identifier for the Server_GetMonitoredItems_InputArguments Variable.\n    /// </summary>\n    public const uint Server_GetMonitoredItems_InputArguments = 11493;\n\n    /// <summary>\n    /// The identifier for the Server_GetMonitoredItems_OutputArguments Variable.\n    /// </summary>\n    public const uint Server_GetMonitoredItems_OutputArguments = 11494;\n\n    /// <summary>\n    /// The identifier for the Server_ServerRedundancy_CurrentServerId Variable.\n    /// </summary>\n    public const uint Server_ServerRedundancy_CurrentServerId = 11312;\n\n    /// <summary>\n    /// The identifier for the Server_ServerRedundancy_RedundantServerArray Variable.\n    /// </summary>\n    public const uint Server_ServerRedundancy_RedundantServerArray = 11313;\n\n    /// <summary>\n    /// The identifier for the Server_ServerRedundancy_ServerUriArray Variable.\n    /// </summary>\n    public const uint Server_ServerRedundancy_ServerUriArray = 11314;\n\n    /// <summary>\n    /// The identifier for the HistoryServerCapabilities_AccessHistoryDataCapability Variable.\n    /// </summary>\n    public const uint HistoryServerCapabilities_AccessHistoryDataCapability = 11193;\n\n    /// <summary>\n    /// The identifier for the HistoryServerCapabilities_AccessHistoryEventsCapability Variable.\n    /// </summary>\n    public const uint HistoryServerCapabilities_AccessHistoryEventsCapability = 11242;\n\n    /// <summary>\n    /// The identifier for the HistoryServerCapabilities_MaxReturnDataValues Variable.\n    /// </summary>\n    public const uint HistoryServerCapabilities_MaxReturnDataValues = 11273;\n\n    /// <summary>\n    /// The identifier for the HistoryServerCapabilities_MaxReturnEventValues Variable.\n    /// </summary>\n    public const uint HistoryServerCapabilities_MaxReturnEventValues = 11274;\n\n    /// <summary>\n    /// The identifier for the HistoryServerCapabilities_InsertDataCapability Variable.\n    /// </summary>\n    public const uint HistoryServerCapabilities_InsertDataCapability = 11196;\n\n    /// <summary>\n    /// The identifier for the HistoryServerCapabilities_ReplaceDataCapability Variable.\n    /// </summary>\n    public const uint HistoryServerCapabilities_ReplaceDataCapability = 11197;\n\n    /// <summary>\n    /// The identifier for the HistoryServerCapabilities_UpdateDataCapability Variable.\n    /// </summary>\n    public const uint HistoryServerCapabilities_UpdateDataCapability = 11198;\n\n    /// <summary>\n    /// The identifier for the HistoryServerCapabilities_DeleteRawCapability Variable.\n    /// </summary>\n    public const uint HistoryServerCapabilities_DeleteRawCapability = 11199;\n\n    /// <summary>\n    /// The identifier for the HistoryServerCapabilities_DeleteAtTimeCapability Variable.\n    /// </summary>\n    public const uint HistoryServerCapabilities_DeleteAtTimeCapability = 11200;\n\n    /// <summary>\n    /// The identifier for the HistoryServerCapabilities_InsertEventCapability Variable.\n    /// </summary>\n    public const uint HistoryServerCapabilities_InsertEventCapability = 11281;\n\n    /// <summary>\n    /// The identifier for the HistoryServerCapabilities_ReplaceEventCapability Variable.\n    /// </summary>\n    public const uint HistoryServerCapabilities_ReplaceEventCapability = 11282;\n\n    /// <summary>\n    /// The identifier for the HistoryServerCapabilities_UpdateEventCapability Variable.\n    /// </summary>\n    public const uint HistoryServerCapabilities_UpdateEventCapability = 11283;\n\n    /// <summary>\n    /// The identifier for the HistoryServerCapabilities_DeleteEventCapability Variable.\n    /// </summary>\n    public const uint HistoryServerCapabilities_DeleteEventCapability = 11502;\n\n    /// <summary>\n    /// The identifier for the HistoryServerCapabilities_InsertAnnotationCapability Variable.\n    /// </summary>\n    public const uint HistoryServerCapabilities_InsertAnnotationCapability = 11275;\n\n    /// <summary>\n    /// The identifier for the GetMonitoredItemsMethodType_InputArguments Variable.\n    /// </summary>\n    public const uint GetMonitoredItemsMethodType_InputArguments = 11496;\n\n    /// <summary>\n    /// The identifier for the GetMonitoredItemsMethodType_OutputArguments Variable.\n    /// </summary>\n    public const uint GetMonitoredItemsMethodType_OutputArguments = 11497;\n\n    /// <summary>\n    /// The identifier for the StateMachineType_CurrentState Variable.\n    /// </summary>\n    public const uint StateMachineType_CurrentState = 2769;\n\n    /// <summary>\n    /// The identifier for the StateMachineType_CurrentState_Id Variable.\n    /// </summary>\n    public const uint StateMachineType_CurrentState_Id = 3720;\n\n    /// <summary>\n    /// The identifier for the StateMachineType_LastTransition Variable.\n    /// </summary>\n    public const uint StateMachineType_LastTransition = 2770;\n\n    /// <summary>\n    /// The identifier for the StateMachineType_LastTransition_Id Variable.\n    /// </summary>\n    public const uint StateMachineType_LastTransition_Id = 3724;\n\n    /// <summary>\n    /// The identifier for the StateVariableType_Id Variable.\n    /// </summary>\n    public const uint StateVariableType_Id = 2756;\n\n    /// <summary>\n    /// The identifier for the StateVariableType_Name Variable.\n    /// </summary>\n    public const uint StateVariableType_Name = 2757;\n\n    /// <summary>\n    /// The identifier for the StateVariableType_Number Variable.\n    /// </summary>\n    public const uint StateVariableType_Number = 2758;\n\n    /// <summary>\n    /// The identifier for the StateVariableType_EffectiveDisplayName Variable.\n    /// </summary>\n    public const uint StateVariableType_EffectiveDisplayName = 2759;\n\n    /// <summary>\n    /// The identifier for the TransitionVariableType_Id Variable.\n    /// </summary>\n    public const uint TransitionVariableType_Id = 2763;\n\n    /// <summary>\n    /// The identifier for the TransitionVariableType_Name Variable.\n    /// </summary>\n    public const uint TransitionVariableType_Name = 2764;\n\n    /// <summary>\n    /// The identifier for the TransitionVariableType_Number Variable.\n    /// </summary>\n    public const uint TransitionVariableType_Number = 2765;\n\n    /// <summary>\n    /// The identifier for the TransitionVariableType_TransitionTime Variable.\n    /// </summary>\n    public const uint TransitionVariableType_TransitionTime = 2766;\n\n    /// <summary>\n    /// The identifier for the TransitionVariableType_EffectiveTransitionTime Variable.\n    /// </summary>\n    public const uint TransitionVariableType_EffectiveTransitionTime = 11456;\n\n    /// <summary>\n    /// The identifier for the FiniteStateMachineType_CurrentState Variable.\n    /// </summary>\n    public const uint FiniteStateMachineType_CurrentState = 2772;\n\n    /// <summary>\n    /// The identifier for the FiniteStateMachineType_LastTransition Variable.\n    /// </summary>\n    public const uint FiniteStateMachineType_LastTransition = 2773;\n\n    /// <summary>\n    /// The identifier for the FiniteStateVariableType_Id Variable.\n    /// </summary>\n    public const uint FiniteStateVariableType_Id = 2761;\n\n    /// <summary>\n    /// The identifier for the FiniteTransitionVariableType_Id Variable.\n    /// </summary>\n    public const uint FiniteTransitionVariableType_Id = 2768;\n\n    /// <summary>\n    /// The identifier for the StateType_StateNumber Variable.\n    /// </summary>\n    public const uint StateType_StateNumber = 2308;\n\n    /// <summary>\n    /// The identifier for the TransitionType_TransitionNumber Variable.\n    /// </summary>\n    public const uint TransitionType_TransitionNumber = 2312;\n\n    /// <summary>\n    /// The identifier for the TransitionEventType_Transition Variable.\n    /// </summary>\n    public const uint TransitionEventType_Transition = 2774;\n\n    /// <summary>\n    /// The identifier for the TransitionEventType_Transition_Id Variable.\n    /// </summary>\n    public const uint TransitionEventType_Transition_Id = 3754;\n\n    /// <summary>\n    /// The identifier for the TransitionEventType_FromState Variable.\n    /// </summary>\n    public const uint TransitionEventType_FromState = 2775;\n\n    /// <summary>\n    /// The identifier for the TransitionEventType_FromState_Id Variable.\n    /// </summary>\n    public const uint TransitionEventType_FromState_Id = 3746;\n\n    /// <summary>\n    /// The identifier for the TransitionEventType_ToState Variable.\n    /// </summary>\n    public const uint TransitionEventType_ToState = 2776;\n\n    /// <summary>\n    /// The identifier for the TransitionEventType_ToState_Id Variable.\n    /// </summary>\n    public const uint TransitionEventType_ToState_Id = 3750;\n\n    /// <summary>\n    /// The identifier for the AuditUpdateStateEventType_OldStateId Variable.\n    /// </summary>\n    public const uint AuditUpdateStateEventType_OldStateId = 2777;\n\n    /// <summary>\n    /// The identifier for the AuditUpdateStateEventType_NewStateId Variable.\n    /// </summary>\n    public const uint AuditUpdateStateEventType_NewStateId = 2778;\n\n    /// <summary>\n    /// The identifier for the OpenFileMode_EnumValues Variable.\n    /// </summary>\n    public const uint OpenFileMode_EnumValues = 11940;\n\n    /// <summary>\n    /// The identifier for the OpenMethodType_InputArguments Variable.\n    /// </summary>\n    public const uint OpenMethodType_InputArguments = 11739;\n\n    /// <summary>\n    /// The identifier for the OpenMethodType_OutputArguments Variable.\n    /// </summary>\n    public const uint OpenMethodType_OutputArguments = 11740;\n\n    /// <summary>\n    /// The identifier for the CloseMethodType_InputArguments Variable.\n    /// </summary>\n    public const uint CloseMethodType_InputArguments = 11742;\n\n    /// <summary>\n    /// The identifier for the ReadMethodType_InputArguments Variable.\n    /// </summary>\n    public const uint ReadMethodType_InputArguments = 11744;\n\n    /// <summary>\n    /// The identifier for the ReadMethodType_OutputArguments Variable.\n    /// </summary>\n    public const uint ReadMethodType_OutputArguments = 11745;\n\n    /// <summary>\n    /// The identifier for the WriteMethodType_InputArguments Variable.\n    /// </summary>\n    public const uint WriteMethodType_InputArguments = 11747;\n\n    /// <summary>\n    /// The identifier for the GetPositionMethodType_InputArguments Variable.\n    /// </summary>\n    public const uint GetPositionMethodType_InputArguments = 11749;\n\n    /// <summary>\n    /// The identifier for the GetPositionMethodType_OutputArguments Variable.\n    /// </summary>\n    public const uint GetPositionMethodType_OutputArguments = 11750;\n\n    /// <summary>\n    /// The identifier for the SetPositionMethodType_InputArguments Variable.\n    /// </summary>\n    public const uint SetPositionMethodType_InputArguments = 11752;\n\n    /// <summary>\n    /// The identifier for the DataItemType_Definition Variable.\n    /// </summary>\n    public const uint DataItemType_Definition = 2366;\n\n    /// <summary>\n    /// The identifier for the DataItemType_ValuePrecision Variable.\n    /// </summary>\n    public const uint DataItemType_ValuePrecision = 2367;\n\n    /// <summary>\n    /// The identifier for the AnalogItemType_InstrumentRange Variable.\n    /// </summary>\n    public const uint AnalogItemType_InstrumentRange = 2370;\n\n    /// <summary>\n    /// The identifier for the AnalogItemType_EURange Variable.\n    /// </summary>\n    public const uint AnalogItemType_EURange = 2369;\n\n    /// <summary>\n    /// The identifier for the AnalogItemType_EngineeringUnits Variable.\n    /// </summary>\n    public const uint AnalogItemType_EngineeringUnits = 2371;\n\n    /// <summary>\n    /// The identifier for the TwoStateDiscreteType_FalseState Variable.\n    /// </summary>\n    public const uint TwoStateDiscreteType_FalseState = 2374;\n\n    /// <summary>\n    /// The identifier for the TwoStateDiscreteType_TrueState Variable.\n    /// </summary>\n    public const uint TwoStateDiscreteType_TrueState = 2375;\n\n    /// <summary>\n    /// The identifier for the MultiStateDiscreteType_EnumStrings Variable.\n    /// </summary>\n    public const uint MultiStateDiscreteType_EnumStrings = 2377;\n\n    /// <summary>\n    /// The identifier for the MultiStateValueDiscreteType_EnumValues Variable.\n    /// </summary>\n    public const uint MultiStateValueDiscreteType_EnumValues = 11241;\n\n    /// <summary>\n    /// The identifier for the MultiStateValueDiscreteType_ValueAsText Variable.\n    /// </summary>\n    public const uint MultiStateValueDiscreteType_ValueAsText = 11461;\n\n    /// <summary>\n    /// The identifier for the ArrayItemType_InstrumentRange Variable.\n    /// </summary>\n    public const uint ArrayItemType_InstrumentRange = 12024;\n\n    /// <summary>\n    /// The identifier for the ArrayItemType_EURange Variable.\n    /// </summary>\n    public const uint ArrayItemType_EURange = 12025;\n\n    /// <summary>\n    /// The identifier for the ArrayItemType_EngineeringUnits Variable.\n    /// </summary>\n    public const uint ArrayItemType_EngineeringUnits = 12026;\n\n    /// <summary>\n    /// The identifier for the ArrayItemType_Title Variable.\n    /// </summary>\n    public const uint ArrayItemType_Title = 12027;\n\n    /// <summary>\n    /// The identifier for the ArrayItemType_AxisScaleType Variable.\n    /// </summary>\n    public const uint ArrayItemType_AxisScaleType = 12028;\n\n    /// <summary>\n    /// The identifier for the YArrayItemType_XAxisDefinition Variable.\n    /// </summary>\n    public const uint YArrayItemType_XAxisDefinition = 12037;\n\n    /// <summary>\n    /// The identifier for the XYArrayItemType_XAxisDefinition Variable.\n    /// </summary>\n    public const uint XYArrayItemType_XAxisDefinition = 12046;\n\n    /// <summary>\n    /// The identifier for the ImageItemType_XAxisDefinition Variable.\n    /// </summary>\n    public const uint ImageItemType_XAxisDefinition = 12055;\n\n    /// <summary>\n    /// The identifier for the ImageItemType_YAxisDefinition Variable.\n    /// </summary>\n    public const uint ImageItemType_YAxisDefinition = 12056;\n\n    /// <summary>\n    /// The identifier for the CubeItemType_XAxisDefinition Variable.\n    /// </summary>\n    public const uint CubeItemType_XAxisDefinition = 12065;\n\n    /// <summary>\n    /// The identifier for the CubeItemType_YAxisDefinition Variable.\n    /// </summary>\n    public const uint CubeItemType_YAxisDefinition = 12066;\n\n    /// <summary>\n    /// The identifier for the CubeItemType_ZAxisDefinition Variable.\n    /// </summary>\n    public const uint CubeItemType_ZAxisDefinition = 12067;\n\n    /// <summary>\n    /// The identifier for the NDimensionArrayItemType_AxisDefinition Variable.\n    /// </summary>\n    public const uint NDimensionArrayItemType_AxisDefinition = 12076;\n\n    /// <summary>\n    /// The identifier for the TwoStateVariableType_Id Variable.\n    /// </summary>\n    public const uint TwoStateVariableType_Id = 8996;\n\n    /// <summary>\n    /// The identifier for the TwoStateVariableType_TransitionTime Variable.\n    /// </summary>\n    public const uint TwoStateVariableType_TransitionTime = 9000;\n\n    /// <summary>\n    /// The identifier for the TwoStateVariableType_EffectiveTransitionTime Variable.\n    /// </summary>\n    public const uint TwoStateVariableType_EffectiveTransitionTime = 9001;\n\n    /// <summary>\n    /// The identifier for the TwoStateVariableType_TrueState Variable.\n    /// </summary>\n    public const uint TwoStateVariableType_TrueState = 11110;\n\n    /// <summary>\n    /// The identifier for the TwoStateVariableType_FalseState Variable.\n    /// </summary>\n    public const uint TwoStateVariableType_FalseState = 11111;\n\n    /// <summary>\n    /// The identifier for the ConditionVariableType_SourceTimestamp Variable.\n    /// </summary>\n    public const uint ConditionVariableType_SourceTimestamp = 9003;\n\n    /// <summary>\n    /// The identifier for the ConditionType_ConditionClassId Variable.\n    /// </summary>\n    public const uint ConditionType_ConditionClassId = 11112;\n\n    /// <summary>\n    /// The identifier for the ConditionType_ConditionClassName Variable.\n    /// </summary>\n    public const uint ConditionType_ConditionClassName = 11113;\n\n    /// <summary>\n    /// The identifier for the ConditionType_ConditionName Variable.\n    /// </summary>\n    public const uint ConditionType_ConditionName = 9009;\n\n    /// <summary>\n    /// The identifier for the ConditionType_BranchId Variable.\n    /// </summary>\n    public const uint ConditionType_BranchId = 9010;\n\n    /// <summary>\n    /// The identifier for the ConditionType_Retain Variable.\n    /// </summary>\n    public const uint ConditionType_Retain = 3874;\n\n    /// <summary>\n    /// The identifier for the ConditionType_EnabledState Variable.\n    /// </summary>\n    public const uint ConditionType_EnabledState = 9011;\n\n    /// <summary>\n    /// The identifier for the ConditionType_EnabledState_Id Variable.\n    /// </summary>\n    public const uint ConditionType_EnabledState_Id = 9012;\n\n    /// <summary>\n    /// The identifier for the ConditionType_EnabledState_EffectiveDisplayName Variable.\n    /// </summary>\n    public const uint ConditionType_EnabledState_EffectiveDisplayName = 9015;\n\n    /// <summary>\n    /// The identifier for the ConditionType_EnabledState_TransitionTime Variable.\n    /// </summary>\n    public const uint ConditionType_EnabledState_TransitionTime = 9016;\n\n    /// <summary>\n    /// The identifier for the ConditionType_EnabledState_EffectiveTransitionTime Variable.\n    /// </summary>\n    public const uint ConditionType_EnabledState_EffectiveTransitionTime = 9017;\n\n    /// <summary>\n    /// The identifier for the ConditionType_EnabledState_TrueState Variable.\n    /// </summary>\n    public const uint ConditionType_EnabledState_TrueState = 9018;\n\n    /// <summary>\n    /// The identifier for the ConditionType_EnabledState_FalseState Variable.\n    /// </summary>\n    public const uint ConditionType_EnabledState_FalseState = 9019;\n\n    /// <summary>\n    /// The identifier for the ConditionType_Quality Variable.\n    /// </summary>\n    public const uint ConditionType_Quality = 9020;\n\n    /// <summary>\n    /// The identifier for the ConditionType_Quality_SourceTimestamp Variable.\n    /// </summary>\n    public const uint ConditionType_Quality_SourceTimestamp = 9021;\n\n    /// <summary>\n    /// The identifier for the ConditionType_LastSeverity Variable.\n    /// </summary>\n    public const uint ConditionType_LastSeverity = 9022;\n\n    /// <summary>\n    /// The identifier for the ConditionType_LastSeverity_SourceTimestamp Variable.\n    /// </summary>\n    public const uint ConditionType_LastSeverity_SourceTimestamp = 9023;\n\n    /// <summary>\n    /// The identifier for the ConditionType_Comment Variable.\n    /// </summary>\n    public const uint ConditionType_Comment = 9024;\n\n    /// <summary>\n    /// The identifier for the ConditionType_Comment_SourceTimestamp Variable.\n    /// </summary>\n    public const uint ConditionType_Comment_SourceTimestamp = 9025;\n\n    /// <summary>\n    /// The identifier for the ConditionType_ClientUserId Variable.\n    /// </summary>\n    public const uint ConditionType_ClientUserId = 9026;\n\n    /// <summary>\n    /// The identifier for the ConditionType_AddComment_InputArguments Variable.\n    /// </summary>\n    public const uint ConditionType_AddComment_InputArguments = 9030;\n\n    /// <summary>\n    /// The identifier for the ConditionType_ConditionRefresh_InputArguments Variable.\n    /// </summary>\n    public const uint ConditionType_ConditionRefresh_InputArguments = 3876;\n\n    /// <summary>\n    /// The identifier for the ConditionRefreshMethodType_InputArguments Variable.\n    /// </summary>\n    public const uint ConditionRefreshMethodType_InputArguments = 9008;\n\n    /// <summary>\n    /// The identifier for the AddCommentMethodType_InputArguments Variable.\n    /// </summary>\n    public const uint AddCommentMethodType_InputArguments = 3864;\n\n    /// <summary>\n    /// The identifier for the DialogConditionType_EnabledState Variable.\n    /// </summary>\n    public const uint DialogConditionType_EnabledState = 9035;\n\n    /// <summary>\n    /// The identifier for the DialogConditionType_DialogState Variable.\n    /// </summary>\n    public const uint DialogConditionType_DialogState = 9055;\n\n    /// <summary>\n    /// The identifier for the DialogConditionType_DialogState_Id Variable.\n    /// </summary>\n    public const uint DialogConditionType_DialogState_Id = 9056;\n\n    /// <summary>\n    /// The identifier for the DialogConditionType_DialogState_TransitionTime Variable.\n    /// </summary>\n    public const uint DialogConditionType_DialogState_TransitionTime = 9060;\n\n    /// <summary>\n    /// The identifier for the DialogConditionType_DialogState_TrueState Variable.\n    /// </summary>\n    public const uint DialogConditionType_DialogState_TrueState = 9062;\n\n    /// <summary>\n    /// The identifier for the DialogConditionType_DialogState_FalseState Variable.\n    /// </summary>\n    public const uint DialogConditionType_DialogState_FalseState = 9063;\n\n    /// <summary>\n    /// The identifier for the DialogConditionType_Prompt Variable.\n    /// </summary>\n    public const uint DialogConditionType_Prompt = 2831;\n\n    /// <summary>\n    /// The identifier for the DialogConditionType_ResponseOptionSet Variable.\n    /// </summary>\n    public const uint DialogConditionType_ResponseOptionSet = 9064;\n\n    /// <summary>\n    /// The identifier for the DialogConditionType_DefaultResponse Variable.\n    /// </summary>\n    public const uint DialogConditionType_DefaultResponse = 9065;\n\n    /// <summary>\n    /// The identifier for the DialogConditionType_OkResponse Variable.\n    /// </summary>\n    public const uint DialogConditionType_OkResponse = 9066;\n\n    /// <summary>\n    /// The identifier for the DialogConditionType_CancelResponse Variable.\n    /// </summary>\n    public const uint DialogConditionType_CancelResponse = 9067;\n\n    /// <summary>\n    /// The identifier for the DialogConditionType_LastResponse Variable.\n    /// </summary>\n    public const uint DialogConditionType_LastResponse = 9068;\n\n    /// <summary>\n    /// The identifier for the DialogConditionType_Respond_InputArguments Variable.\n    /// </summary>\n    public const uint DialogConditionType_Respond_InputArguments = 9070;\n\n    /// <summary>\n    /// The identifier for the DialogResponseMethodType_InputArguments Variable.\n    /// </summary>\n    public const uint DialogResponseMethodType_InputArguments = 9032;\n\n    /// <summary>\n    /// The identifier for the AcknowledgeableConditionType_EnabledState Variable.\n    /// </summary>\n    public const uint AcknowledgeableConditionType_EnabledState = 9073;\n\n    /// <summary>\n    /// The identifier for the AcknowledgeableConditionType_AckedState Variable.\n    /// </summary>\n    public const uint AcknowledgeableConditionType_AckedState = 9093;\n\n    /// <summary>\n    /// The identifier for the AcknowledgeableConditionType_AckedState_Id Variable.\n    /// </summary>\n    public const uint AcknowledgeableConditionType_AckedState_Id = 9094;\n\n    /// <summary>\n    /// The identifier for the AcknowledgeableConditionType_AckedState_TransitionTime Variable.\n    /// </summary>\n    public const uint AcknowledgeableConditionType_AckedState_TransitionTime = 9098;\n\n    /// <summary>\n    /// The identifier for the AcknowledgeableConditionType_AckedState_TrueState Variable.\n    /// </summary>\n    public const uint AcknowledgeableConditionType_AckedState_TrueState = 9100;\n\n    /// <summary>\n    /// The identifier for the AcknowledgeableConditionType_AckedState_FalseState Variable.\n    /// </summary>\n    public const uint AcknowledgeableConditionType_AckedState_FalseState = 9101;\n\n    /// <summary>\n    /// The identifier for the AcknowledgeableConditionType_ConfirmedState Variable.\n    /// </summary>\n    public const uint AcknowledgeableConditionType_ConfirmedState = 9102;\n\n    /// <summary>\n    /// The identifier for the AcknowledgeableConditionType_ConfirmedState_Id Variable.\n    /// </summary>\n    public const uint AcknowledgeableConditionType_ConfirmedState_Id = 9103;\n\n    /// <summary>\n    /// The identifier for the AcknowledgeableConditionType_ConfirmedState_TransitionTime Variable.\n    /// </summary>\n    public const uint AcknowledgeableConditionType_ConfirmedState_TransitionTime = 9107;\n\n    /// <summary>\n    /// The identifier for the AcknowledgeableConditionType_ConfirmedState_TrueState Variable.\n    /// </summary>\n    public const uint AcknowledgeableConditionType_ConfirmedState_TrueState = 9109;\n\n    /// <summary>\n    /// The identifier for the AcknowledgeableConditionType_ConfirmedState_FalseState Variable.\n    /// </summary>\n    public const uint AcknowledgeableConditionType_ConfirmedState_FalseState = 9110;\n\n    /// <summary>\n    /// The identifier for the AcknowledgeableConditionType_Acknowledge_InputArguments Variable.\n    /// </summary>\n    public const uint AcknowledgeableConditionType_Acknowledge_InputArguments = 9112;\n\n    /// <summary>\n    /// The identifier for the AcknowledgeableConditionType_Confirm_InputArguments Variable.\n    /// </summary>\n    public const uint AcknowledgeableConditionType_Confirm_InputArguments = 9114;\n\n    /// <summary>\n    /// The identifier for the AlarmConditionType_EnabledState Variable.\n    /// </summary>\n    public const uint AlarmConditionType_EnabledState = 9118;\n\n    /// <summary>\n    /// The identifier for the AlarmConditionType_ActiveState Variable.\n    /// </summary>\n    public const uint AlarmConditionType_ActiveState = 9160;\n\n    /// <summary>\n    /// The identifier for the AlarmConditionType_ActiveState_Id Variable.\n    /// </summary>\n    public const uint AlarmConditionType_ActiveState_Id = 9161;\n\n    /// <summary>\n    /// The identifier for the AlarmConditionType_ActiveState_EffectiveDisplayName Variable.\n    /// </summary>\n    public const uint AlarmConditionType_ActiveState_EffectiveDisplayName = 9164;\n\n    /// <summary>\n    /// The identifier for the AlarmConditionType_ActiveState_TransitionTime Variable.\n    /// </summary>\n    public const uint AlarmConditionType_ActiveState_TransitionTime = 9165;\n\n    /// <summary>\n    /// The identifier for the AlarmConditionType_ActiveState_EffectiveTransitionTime Variable.\n    /// </summary>\n    public const uint AlarmConditionType_ActiveState_EffectiveTransitionTime = 9166;\n\n    /// <summary>\n    /// The identifier for the AlarmConditionType_ActiveState_TrueState Variable.\n    /// </summary>\n    public const uint AlarmConditionType_ActiveState_TrueState = 9167;\n\n    /// <summary>\n    /// The identifier for the AlarmConditionType_ActiveState_FalseState Variable.\n    /// </summary>\n    public const uint AlarmConditionType_ActiveState_FalseState = 9168;\n\n    /// <summary>\n    /// The identifier for the AlarmConditionType_InputNode Variable.\n    /// </summary>\n    public const uint AlarmConditionType_InputNode = 11120;\n\n    /// <summary>\n    /// The identifier for the AlarmConditionType_SuppressedState Variable.\n    /// </summary>\n    public const uint AlarmConditionType_SuppressedState = 9169;\n\n    /// <summary>\n    /// The identifier for the AlarmConditionType_SuppressedState_TransitionTime Variable.\n    /// </summary>\n    public const uint AlarmConditionType_SuppressedState_TransitionTime = 9174;\n\n    /// <summary>\n    /// The identifier for the AlarmConditionType_SuppressedState_TrueState Variable.\n    /// </summary>\n    public const uint AlarmConditionType_SuppressedState_TrueState = 9176;\n\n    /// <summary>\n    /// The identifier for the AlarmConditionType_SuppressedState_FalseState Variable.\n    /// </summary>\n    public const uint AlarmConditionType_SuppressedState_FalseState = 9177;\n\n    /// <summary>\n    /// The identifier for the AlarmConditionType_ShelvingState_LastTransition Variable.\n    /// </summary>\n    public const uint AlarmConditionType_ShelvingState_LastTransition = 9184;\n\n    /// <summary>\n    /// The identifier for the AlarmConditionType_ShelvingState_LastTransition_TransitionTime Variable.\n    /// </summary>\n    public const uint AlarmConditionType_ShelvingState_LastTransition_TransitionTime = 9188;\n\n    /// <summary>\n    /// The identifier for the AlarmConditionType_ShelvingState_UnshelveTime Variable.\n    /// </summary>\n    public const uint AlarmConditionType_ShelvingState_UnshelveTime = 9189;\n\n    /// <summary>\n    /// The identifier for the AlarmConditionType_ShelvingState_TimedShelve_InputArguments Variable.\n    /// </summary>\n    public const uint AlarmConditionType_ShelvingState_TimedShelve_InputArguments = 9214;\n\n    /// <summary>\n    /// The identifier for the AlarmConditionType_SuppressedOrShelved Variable.\n    /// </summary>\n    public const uint AlarmConditionType_SuppressedOrShelved = 9215;\n\n    /// <summary>\n    /// The identifier for the AlarmConditionType_MaxTimeShelved Variable.\n    /// </summary>\n    public const uint AlarmConditionType_MaxTimeShelved = 9216;\n\n    /// <summary>\n    /// The identifier for the ShelvedStateMachineType_UnshelveTime Variable.\n    /// </summary>\n    public const uint ShelvedStateMachineType_UnshelveTime = 9115;\n\n    /// <summary>\n    /// The identifier for the ShelvedStateMachineType_Unshelved_StateNumber Variable.\n    /// </summary>\n    public const uint ShelvedStateMachineType_Unshelved_StateNumber = 6098;\n\n    /// <summary>\n    /// The identifier for the ShelvedStateMachineType_TimedShelved_StateNumber Variable.\n    /// </summary>\n    public const uint ShelvedStateMachineType_TimedShelved_StateNumber = 6100;\n\n    /// <summary>\n    /// The identifier for the ShelvedStateMachineType_OneShotShelved_StateNumber Variable.\n    /// </summary>\n    public const uint ShelvedStateMachineType_OneShotShelved_StateNumber = 6101;\n\n    /// <summary>\n    /// The identifier for the ShelvedStateMachineType_UnshelvedToTimedShelved_TransitionNumber Variable.\n    /// </summary>\n    public const uint ShelvedStateMachineType_UnshelvedToTimedShelved_TransitionNumber = 11322;\n\n    /// <summary>\n    /// The identifier for the ShelvedStateMachineType_UnshelvedToOneShotShelved_TransitionNumber Variable.\n    /// </summary>\n    public const uint ShelvedStateMachineType_UnshelvedToOneShotShelved_TransitionNumber = 11323;\n\n    /// <summary>\n    /// The identifier for the ShelvedStateMachineType_TimedShelvedToUnshelved_TransitionNumber Variable.\n    /// </summary>\n    public const uint ShelvedStateMachineType_TimedShelvedToUnshelved_TransitionNumber = 11324;\n\n    /// <summary>\n    /// The identifier for the ShelvedStateMachineType_TimedShelvedToOneShotShelved_TransitionNumber Variable.\n    /// </summary>\n    public const uint ShelvedStateMachineType_TimedShelvedToOneShotShelved_TransitionNumber = 11325;\n\n    /// <summary>\n    /// The identifier for the ShelvedStateMachineType_OneShotShelvedToUnshelved_TransitionNumber Variable.\n    /// </summary>\n    public const uint ShelvedStateMachineType_OneShotShelvedToUnshelved_TransitionNumber = 11326;\n\n    /// <summary>\n    /// The identifier for the ShelvedStateMachineType_OneShotShelvedToTimedShelved_TransitionNumber Variable.\n    /// </summary>\n    public const uint ShelvedStateMachineType_OneShotShelvedToTimedShelved_TransitionNumber = 11327;\n\n    /// <summary>\n    /// The identifier for the ShelvedStateMachineType_TimedShelve_InputArguments Variable.\n    /// </summary>\n    public const uint ShelvedStateMachineType_TimedShelve_InputArguments = 2991;\n\n    /// <summary>\n    /// The identifier for the TimedShelveMethodType_InputArguments Variable.\n    /// </summary>\n    public const uint TimedShelveMethodType_InputArguments = 6103;\n\n    /// <summary>\n    /// The identifier for the LimitAlarmType_HighHighLimit Variable.\n    /// </summary>\n    public const uint LimitAlarmType_HighHighLimit = 11124;\n\n    /// <summary>\n    /// The identifier for the LimitAlarmType_HighLimit Variable.\n    /// </summary>\n    public const uint LimitAlarmType_HighLimit = 11125;\n\n    /// <summary>\n    /// The identifier for the LimitAlarmType_LowLimit Variable.\n    /// </summary>\n    public const uint LimitAlarmType_LowLimit = 11126;\n\n    /// <summary>\n    /// The identifier for the LimitAlarmType_LowLowLimit Variable.\n    /// </summary>\n    public const uint LimitAlarmType_LowLowLimit = 11127;\n\n    /// <summary>\n    /// The identifier for the ExclusiveLimitStateMachineType_HighHigh_StateNumber Variable.\n    /// </summary>\n    public const uint ExclusiveLimitStateMachineType_HighHigh_StateNumber = 9330;\n\n    /// <summary>\n    /// The identifier for the ExclusiveLimitStateMachineType_High_StateNumber Variable.\n    /// </summary>\n    public const uint ExclusiveLimitStateMachineType_High_StateNumber = 9332;\n\n    /// <summary>\n    /// The identifier for the ExclusiveLimitStateMachineType_Low_StateNumber Variable.\n    /// </summary>\n    public const uint ExclusiveLimitStateMachineType_Low_StateNumber = 9334;\n\n    /// <summary>\n    /// The identifier for the ExclusiveLimitStateMachineType_LowLow_StateNumber Variable.\n    /// </summary>\n    public const uint ExclusiveLimitStateMachineType_LowLow_StateNumber = 9336;\n\n    /// <summary>\n    /// The identifier for the ExclusiveLimitStateMachineType_LowLowToLow_TransitionNumber Variable.\n    /// </summary>\n    public const uint ExclusiveLimitStateMachineType_LowLowToLow_TransitionNumber = 11340;\n\n    /// <summary>\n    /// The identifier for the ExclusiveLimitStateMachineType_LowToLowLow_TransitionNumber Variable.\n    /// </summary>\n    public const uint ExclusiveLimitStateMachineType_LowToLowLow_TransitionNumber = 11341;\n\n    /// <summary>\n    /// The identifier for the ExclusiveLimitStateMachineType_HighHighToHigh_TransitionNumber Variable.\n    /// </summary>\n    public const uint ExclusiveLimitStateMachineType_HighHighToHigh_TransitionNumber = 11342;\n\n    /// <summary>\n    /// The identifier for the ExclusiveLimitStateMachineType_HighToHighHigh_TransitionNumber Variable.\n    /// </summary>\n    public const uint ExclusiveLimitStateMachineType_HighToHighHigh_TransitionNumber = 11343;\n\n    /// <summary>\n    /// The identifier for the ExclusiveLimitAlarmType_ActiveState Variable.\n    /// </summary>\n    public const uint ExclusiveLimitAlarmType_ActiveState = 9398;\n\n    /// <summary>\n    /// The identifier for the ExclusiveLimitAlarmType_LimitState_LastTransition Variable.\n    /// </summary>\n    public const uint ExclusiveLimitAlarmType_LimitState_LastTransition = 9461;\n\n    /// <summary>\n    /// The identifier for the ExclusiveLimitAlarmType_LimitState_LastTransition_TransitionTime Variable.\n    /// </summary>\n    public const uint ExclusiveLimitAlarmType_LimitState_LastTransition_TransitionTime = 9465;\n\n    /// <summary>\n    /// The identifier for the NonExclusiveLimitAlarmType_ActiveState Variable.\n    /// </summary>\n    public const uint NonExclusiveLimitAlarmType_ActiveState = 9963;\n\n    /// <summary>\n    /// The identifier for the NonExclusiveLimitAlarmType_HighHighState Variable.\n    /// </summary>\n    public const uint NonExclusiveLimitAlarmType_HighHighState = 10020;\n\n    /// <summary>\n    /// The identifier for the NonExclusiveLimitAlarmType_HighHighState_TransitionTime Variable.\n    /// </summary>\n    public const uint NonExclusiveLimitAlarmType_HighHighState_TransitionTime = 10025;\n\n    /// <summary>\n    /// The identifier for the NonExclusiveLimitAlarmType_HighHighState_TrueState Variable.\n    /// </summary>\n    public const uint NonExclusiveLimitAlarmType_HighHighState_TrueState = 10027;\n\n    /// <summary>\n    /// The identifier for the NonExclusiveLimitAlarmType_HighHighState_FalseState Variable.\n    /// </summary>\n    public const uint NonExclusiveLimitAlarmType_HighHighState_FalseState = 10028;\n\n    /// <summary>\n    /// The identifier for the NonExclusiveLimitAlarmType_HighState Variable.\n    /// </summary>\n    public const uint NonExclusiveLimitAlarmType_HighState = 10029;\n\n    /// <summary>\n    /// The identifier for the NonExclusiveLimitAlarmType_HighState_TransitionTime Variable.\n    /// </summary>\n    public const uint NonExclusiveLimitAlarmType_HighState_TransitionTime = 10034;\n\n    /// <summary>\n    /// The identifier for the NonExclusiveLimitAlarmType_HighState_TrueState Variable.\n    /// </summary>\n    public const uint NonExclusiveLimitAlarmType_HighState_TrueState = 10036;\n\n    /// <summary>\n    /// The identifier for the NonExclusiveLimitAlarmType_HighState_FalseState Variable.\n    /// </summary>\n    public const uint NonExclusiveLimitAlarmType_HighState_FalseState = 10037;\n\n    /// <summary>\n    /// The identifier for the NonExclusiveLimitAlarmType_LowState Variable.\n    /// </summary>\n    public const uint NonExclusiveLimitAlarmType_LowState = 10038;\n\n    /// <summary>\n    /// The identifier for the NonExclusiveLimitAlarmType_LowState_TransitionTime Variable.\n    /// </summary>\n    public const uint NonExclusiveLimitAlarmType_LowState_TransitionTime = 10043;\n\n    /// <summary>\n    /// The identifier for the NonExclusiveLimitAlarmType_LowState_TrueState Variable.\n    /// </summary>\n    public const uint NonExclusiveLimitAlarmType_LowState_TrueState = 10045;\n\n    /// <summary>\n    /// The identifier for the NonExclusiveLimitAlarmType_LowState_FalseState Variable.\n    /// </summary>\n    public const uint NonExclusiveLimitAlarmType_LowState_FalseState = 10046;\n\n    /// <summary>\n    /// The identifier for the NonExclusiveLimitAlarmType_LowLowState Variable.\n    /// </summary>\n    public const uint NonExclusiveLimitAlarmType_LowLowState = 10047;\n\n    /// <summary>\n    /// The identifier for the NonExclusiveLimitAlarmType_LowLowState_TransitionTime Variable.\n    /// </summary>\n    public const uint NonExclusiveLimitAlarmType_LowLowState_TransitionTime = 10052;\n\n    /// <summary>\n    /// The identifier for the NonExclusiveLimitAlarmType_LowLowState_TrueState Variable.\n    /// </summary>\n    public const uint NonExclusiveLimitAlarmType_LowLowState_TrueState = 10054;\n\n    /// <summary>\n    /// The identifier for the NonExclusiveLimitAlarmType_LowLowState_FalseState Variable.\n    /// </summary>\n    public const uint NonExclusiveLimitAlarmType_LowLowState_FalseState = 10055;\n\n    /// <summary>\n    /// The identifier for the NonExclusiveDeviationAlarmType_SetpointNode Variable.\n    /// </summary>\n    public const uint NonExclusiveDeviationAlarmType_SetpointNode = 10522;\n\n    /// <summary>\n    /// The identifier for the ExclusiveDeviationAlarmType_SetpointNode Variable.\n    /// </summary>\n    public const uint ExclusiveDeviationAlarmType_SetpointNode = 9905;\n\n    /// <summary>\n    /// The identifier for the OffNormalAlarmType_NormalState Variable.\n    /// </summary>\n    public const uint OffNormalAlarmType_NormalState = 11158;\n\n    /// <summary>\n    /// The identifier for the AuditConditionCommentEventType_EventId Variable.\n    /// </summary>\n    public const uint AuditConditionCommentEventType_EventId = 4170;\n\n    /// <summary>\n    /// The identifier for the AuditConditionCommentEventType_Comment Variable.\n    /// </summary>\n    public const uint AuditConditionCommentEventType_Comment = 11851;\n\n    /// <summary>\n    /// The identifier for the AuditConditionRespondEventType_SelectedResponse Variable.\n    /// </summary>\n    public const uint AuditConditionRespondEventType_SelectedResponse = 11852;\n\n    /// <summary>\n    /// The identifier for the AuditConditionAcknowledgeEventType_EventId Variable.\n    /// </summary>\n    public const uint AuditConditionAcknowledgeEventType_EventId = 8945;\n\n    /// <summary>\n    /// The identifier for the AuditConditionAcknowledgeEventType_Comment Variable.\n    /// </summary>\n    public const uint AuditConditionAcknowledgeEventType_Comment = 11853;\n\n    /// <summary>\n    /// The identifier for the AuditConditionConfirmEventType_EventId Variable.\n    /// </summary>\n    public const uint AuditConditionConfirmEventType_EventId = 8962;\n\n    /// <summary>\n    /// The identifier for the AuditConditionConfirmEventType_Comment Variable.\n    /// </summary>\n    public const uint AuditConditionConfirmEventType_Comment = 11854;\n\n    /// <summary>\n    /// The identifier for the AuditConditionShelvingEventType_ShelvingTime Variable.\n    /// </summary>\n    public const uint AuditConditionShelvingEventType_ShelvingTime = 11855;\n\n    /// <summary>\n    /// The identifier for the ProgramStateMachineType_CurrentState Variable.\n    /// </summary>\n    public const uint ProgramStateMachineType_CurrentState = 3830;\n\n    /// <summary>\n    /// The identifier for the ProgramStateMachineType_CurrentState_Number Variable.\n    /// </summary>\n    public const uint ProgramStateMachineType_CurrentState_Number = 3833;\n\n    /// <summary>\n    /// The identifier for the ProgramStateMachineType_LastTransition Variable.\n    /// </summary>\n    public const uint ProgramStateMachineType_LastTransition = 3835;\n\n    /// <summary>\n    /// The identifier for the ProgramStateMachineType_LastTransition_Number Variable.\n    /// </summary>\n    public const uint ProgramStateMachineType_LastTransition_Number = 3838;\n\n    /// <summary>\n    /// The identifier for the ProgramStateMachineType_LastTransition_TransitionTime Variable.\n    /// </summary>\n    public const uint ProgramStateMachineType_LastTransition_TransitionTime = 3839;\n\n    /// <summary>\n    /// The identifier for the ProgramStateMachineType_Creatable Variable.\n    /// </summary>\n    public const uint ProgramStateMachineType_Creatable = 2392;\n\n    /// <summary>\n    /// The identifier for the ProgramStateMachineType_Deletable Variable.\n    /// </summary>\n    public const uint ProgramStateMachineType_Deletable = 2393;\n\n    /// <summary>\n    /// The identifier for the ProgramStateMachineType_AutoDelete Variable.\n    /// </summary>\n    public const uint ProgramStateMachineType_AutoDelete = 2394;\n\n    /// <summary>\n    /// The identifier for the ProgramStateMachineType_RecycleCount Variable.\n    /// </summary>\n    public const uint ProgramStateMachineType_RecycleCount = 2395;\n\n    /// <summary>\n    /// The identifier for the ProgramStateMachineType_InstanceCount Variable.\n    /// </summary>\n    public const uint ProgramStateMachineType_InstanceCount = 2396;\n\n    /// <summary>\n    /// The identifier for the ProgramStateMachineType_MaxInstanceCount Variable.\n    /// </summary>\n    public const uint ProgramStateMachineType_MaxInstanceCount = 2397;\n\n    /// <summary>\n    /// The identifier for the ProgramStateMachineType_MaxRecycleCount Variable.\n    /// </summary>\n    public const uint ProgramStateMachineType_MaxRecycleCount = 2398;\n\n    /// <summary>\n    /// The identifier for the ProgramStateMachineType_ProgramDiagnostics Variable.\n    /// </summary>\n    public const uint ProgramStateMachineType_ProgramDiagnostics = 2399;\n\n    /// <summary>\n    /// The identifier for the ProgramStateMachineType_ProgramDiagnostics_CreateSessionId Variable.\n    /// </summary>\n    public const uint ProgramStateMachineType_ProgramDiagnostics_CreateSessionId = 3840;\n\n    /// <summary>\n    /// The identifier for the ProgramStateMachineType_ProgramDiagnostics_CreateClientName Variable.\n    /// </summary>\n    public const uint ProgramStateMachineType_ProgramDiagnostics_CreateClientName = 3841;\n\n    /// <summary>\n    /// The identifier for the ProgramStateMachineType_ProgramDiagnostics_InvocationCreationTime Variable.\n    /// </summary>\n    public const uint ProgramStateMachineType_ProgramDiagnostics_InvocationCreationTime = 3842;\n\n    /// <summary>\n    /// The identifier for the ProgramStateMachineType_ProgramDiagnostics_LastTransitionTime Variable.\n    /// </summary>\n    public const uint ProgramStateMachineType_ProgramDiagnostics_LastTransitionTime = 3843;\n\n    /// <summary>\n    /// The identifier for the ProgramStateMachineType_ProgramDiagnostics_LastMethodCall Variable.\n    /// </summary>\n    public const uint ProgramStateMachineType_ProgramDiagnostics_LastMethodCall = 3844;\n\n    /// <summary>\n    /// The identifier for the ProgramStateMachineType_ProgramDiagnostics_LastMethodSessionId Variable.\n    /// </summary>\n    public const uint ProgramStateMachineType_ProgramDiagnostics_LastMethodSessionId = 3845;\n\n    /// <summary>\n    /// The identifier for the ProgramStateMachineType_ProgramDiagnostics_LastMethodInputArguments Variable.\n    /// </summary>\n    public const uint ProgramStateMachineType_ProgramDiagnostics_LastMethodInputArguments = 3846;\n\n    /// <summary>\n    /// The identifier for the ProgramStateMachineType_ProgramDiagnostics_LastMethodOutputArguments Variable.\n    /// </summary>\n    public const uint ProgramStateMachineType_ProgramDiagnostics_LastMethodOutputArguments = 3847;\n\n    /// <summary>\n    /// The identifier for the ProgramStateMachineType_ProgramDiagnostics_LastMethodCallTime Variable.\n    /// </summary>\n    public const uint ProgramStateMachineType_ProgramDiagnostics_LastMethodCallTime = 3848;\n\n    /// <summary>\n    /// The identifier for the ProgramStateMachineType_ProgramDiagnostics_LastMethodReturnStatus Variable.\n    /// </summary>\n    public const uint ProgramStateMachineType_ProgramDiagnostics_LastMethodReturnStatus = 3849;\n\n    /// <summary>\n    /// The identifier for the ProgramStateMachineType_Ready_StateNumber Variable.\n    /// </summary>\n    public const uint ProgramStateMachineType_Ready_StateNumber = 2401;\n\n    /// <summary>\n    /// The identifier for the ProgramStateMachineType_Running_StateNumber Variable.\n    /// </summary>\n    public const uint ProgramStateMachineType_Running_StateNumber = 2403;\n\n    /// <summary>\n    /// The identifier for the ProgramStateMachineType_Suspended_StateNumber Variable.\n    /// </summary>\n    public const uint ProgramStateMachineType_Suspended_StateNumber = 2405;\n\n    /// <summary>\n    /// The identifier for the ProgramStateMachineType_Halted_StateNumber Variable.\n    /// </summary>\n    public const uint ProgramStateMachineType_Halted_StateNumber = 2407;\n\n    /// <summary>\n    /// The identifier for the ProgramStateMachineType_HaltedToReady_TransitionNumber Variable.\n    /// </summary>\n    public const uint ProgramStateMachineType_HaltedToReady_TransitionNumber = 2409;\n\n    /// <summary>\n    /// The identifier for the ProgramStateMachineType_ReadyToRunning_TransitionNumber Variable.\n    /// </summary>\n    public const uint ProgramStateMachineType_ReadyToRunning_TransitionNumber = 2411;\n\n    /// <summary>\n    /// The identifier for the ProgramStateMachineType_RunningToHalted_TransitionNumber Variable.\n    /// </summary>\n    public const uint ProgramStateMachineType_RunningToHalted_TransitionNumber = 2413;\n\n    /// <summary>\n    /// The identifier for the ProgramStateMachineType_RunningToReady_TransitionNumber Variable.\n    /// </summary>\n    public const uint ProgramStateMachineType_RunningToReady_TransitionNumber = 2415;\n\n    /// <summary>\n    /// The identifier for the ProgramStateMachineType_RunningToSuspended_TransitionNumber Variable.\n    /// </summary>\n    public const uint ProgramStateMachineType_RunningToSuspended_TransitionNumber = 2417;\n\n    /// <summary>\n    /// The identifier for the ProgramStateMachineType_SuspendedToRunning_TransitionNumber Variable.\n    /// </summary>\n    public const uint ProgramStateMachineType_SuspendedToRunning_TransitionNumber = 2419;\n\n    /// <summary>\n    /// The identifier for the ProgramStateMachineType_SuspendedToHalted_TransitionNumber Variable.\n    /// </summary>\n    public const uint ProgramStateMachineType_SuspendedToHalted_TransitionNumber = 2421;\n\n    /// <summary>\n    /// The identifier for the ProgramStateMachineType_SuspendedToReady_TransitionNumber Variable.\n    /// </summary>\n    public const uint ProgramStateMachineType_SuspendedToReady_TransitionNumber = 2423;\n\n    /// <summary>\n    /// The identifier for the ProgramStateMachineType_ReadyToHalted_TransitionNumber Variable.\n    /// </summary>\n    public const uint ProgramStateMachineType_ReadyToHalted_TransitionNumber = 2425;\n\n    /// <summary>\n    /// The identifier for the ProgramTransitionEventType_IntermediateResult Variable.\n    /// </summary>\n    public const uint ProgramTransitionEventType_IntermediateResult = 2379;\n\n    /// <summary>\n    /// The identifier for the AuditProgramTransitionEventType_TransitionNumber Variable.\n    /// </summary>\n    public const uint AuditProgramTransitionEventType_TransitionNumber = 11875;\n\n    /// <summary>\n    /// The identifier for the ProgramTransitionAuditEventType_Transition Variable.\n    /// </summary>\n    public const uint ProgramTransitionAuditEventType_Transition = 3825;\n\n    /// <summary>\n    /// The identifier for the ProgramDiagnosticType_CreateSessionId Variable.\n    /// </summary>\n    public const uint ProgramDiagnosticType_CreateSessionId = 2381;\n\n    /// <summary>\n    /// The identifier for the ProgramDiagnosticType_CreateClientName Variable.\n    /// </summary>\n    public const uint ProgramDiagnosticType_CreateClientName = 2382;\n\n    /// <summary>\n    /// The identifier for the ProgramDiagnosticType_InvocationCreationTime Variable.\n    /// </summary>\n    public const uint ProgramDiagnosticType_InvocationCreationTime = 2383;\n\n    /// <summary>\n    /// The identifier for the ProgramDiagnosticType_LastTransitionTime Variable.\n    /// </summary>\n    public const uint ProgramDiagnosticType_LastTransitionTime = 2384;\n\n    /// <summary>\n    /// The identifier for the ProgramDiagnosticType_LastMethodCall Variable.\n    /// </summary>\n    public const uint ProgramDiagnosticType_LastMethodCall = 2385;\n\n    /// <summary>\n    /// The identifier for the ProgramDiagnosticType_LastMethodSessionId Variable.\n    /// </summary>\n    public const uint ProgramDiagnosticType_LastMethodSessionId = 2386;\n\n    /// <summary>\n    /// The identifier for the ProgramDiagnosticType_LastMethodInputArguments Variable.\n    /// </summary>\n    public const uint ProgramDiagnosticType_LastMethodInputArguments = 2387;\n\n    /// <summary>\n    /// The identifier for the ProgramDiagnosticType_LastMethodOutputArguments Variable.\n    /// </summary>\n    public const uint ProgramDiagnosticType_LastMethodOutputArguments = 2388;\n\n    /// <summary>\n    /// The identifier for the ProgramDiagnosticType_LastMethodCallTime Variable.\n    /// </summary>\n    public const uint ProgramDiagnosticType_LastMethodCallTime = 2389;\n\n    /// <summary>\n    /// The identifier for the ProgramDiagnosticType_LastMethodReturnStatus Variable.\n    /// </summary>\n    public const uint ProgramDiagnosticType_LastMethodReturnStatus = 2390;\n\n    /// <summary>\n    /// The identifier for the Annotations Variable.\n    /// </summary>\n    public const uint Annotations = 11214;\n\n    /// <summary>\n    /// The identifier for the HistoricalDataConfigurationType_AggregateConfiguration_TreatUncertainAsBad Variable.\n    /// </summary>\n    public const uint HistoricalDataConfigurationType_AggregateConfiguration_TreatUncertainAsBad = 11168;\n\n    /// <summary>\n    /// The identifier for the HistoricalDataConfigurationType_AggregateConfiguration_PercentDataBad Variable.\n    /// </summary>\n    public const uint HistoricalDataConfigurationType_AggregateConfiguration_PercentDataBad = 11169;\n\n    /// <summary>\n    /// The identifier for the HistoricalDataConfigurationType_AggregateConfiguration_PercentDataGood Variable.\n    /// </summary>\n    public const uint HistoricalDataConfigurationType_AggregateConfiguration_PercentDataGood = 11170;\n\n    /// <summary>\n    /// The identifier for the HistoricalDataConfigurationType_AggregateConfiguration_UseSlopedExtrapolation Variable.\n    /// </summary>\n    public const uint HistoricalDataConfigurationType_AggregateConfiguration_UseSlopedExtrapolation = 11171;\n\n    /// <summary>\n    /// The identifier for the HistoricalDataConfigurationType_Stepped Variable.\n    /// </summary>\n    public const uint HistoricalDataConfigurationType_Stepped = 2323;\n\n    /// <summary>\n    /// The identifier for the HistoricalDataConfigurationType_Definition Variable.\n    /// </summary>\n    public const uint HistoricalDataConfigurationType_Definition = 2324;\n\n    /// <summary>\n    /// The identifier for the HistoricalDataConfigurationType_MaxTimeInterval Variable.\n    /// </summary>\n    public const uint HistoricalDataConfigurationType_MaxTimeInterval = 2325;\n\n    /// <summary>\n    /// The identifier for the HistoricalDataConfigurationType_MinTimeInterval Variable.\n    /// </summary>\n    public const uint HistoricalDataConfigurationType_MinTimeInterval = 2326;\n\n    /// <summary>\n    /// The identifier for the HistoricalDataConfigurationType_ExceptionDeviation Variable.\n    /// </summary>\n    public const uint HistoricalDataConfigurationType_ExceptionDeviation = 2327;\n\n    /// <summary>\n    /// The identifier for the HistoricalDataConfigurationType_ExceptionDeviationFormat Variable.\n    /// </summary>\n    public const uint HistoricalDataConfigurationType_ExceptionDeviationFormat = 2328;\n\n    /// <summary>\n    /// The identifier for the HistoricalDataConfigurationType_StartOfArchive Variable.\n    /// </summary>\n    public const uint HistoricalDataConfigurationType_StartOfArchive = 11499;\n\n    /// <summary>\n    /// The identifier for the HistoricalDataConfigurationType_StartOfOnlineArchive Variable.\n    /// </summary>\n    public const uint HistoricalDataConfigurationType_StartOfOnlineArchive = 11500;\n\n    /// <summary>\n    /// The identifier for the HAConfiguration_AggregateConfiguration_TreatUncertainAsBad Variable.\n    /// </summary>\n    public const uint HAConfiguration_AggregateConfiguration_TreatUncertainAsBad = 11204;\n\n    /// <summary>\n    /// The identifier for the HAConfiguration_AggregateConfiguration_PercentDataBad Variable.\n    /// </summary>\n    public const uint HAConfiguration_AggregateConfiguration_PercentDataBad = 11205;\n\n    /// <summary>\n    /// The identifier for the HAConfiguration_AggregateConfiguration_PercentDataGood Variable.\n    /// </summary>\n    public const uint HAConfiguration_AggregateConfiguration_PercentDataGood = 11206;\n\n    /// <summary>\n    /// The identifier for the HAConfiguration_AggregateConfiguration_UseSlopedExtrapolation Variable.\n    /// </summary>\n    public const uint HAConfiguration_AggregateConfiguration_UseSlopedExtrapolation = 11207;\n\n    /// <summary>\n    /// The identifier for the HAConfiguration_Stepped Variable.\n    /// </summary>\n    public const uint HAConfiguration_Stepped = 11208;\n\n    /// <summary>\n    /// The identifier for the HistoricalEventFilter Variable.\n    /// </summary>\n    public const uint HistoricalEventFilter = 11215;\n\n    /// <summary>\n    /// The identifier for the HistoryServerCapabilitiesType_AccessHistoryDataCapability Variable.\n    /// </summary>\n    public const uint HistoryServerCapabilitiesType_AccessHistoryDataCapability = 2331;\n\n    /// <summary>\n    /// The identifier for the HistoryServerCapabilitiesType_AccessHistoryEventsCapability Variable.\n    /// </summary>\n    public const uint HistoryServerCapabilitiesType_AccessHistoryEventsCapability = 2332;\n\n    /// <summary>\n    /// The identifier for the HistoryServerCapabilitiesType_MaxReturnDataValues Variable.\n    /// </summary>\n    public const uint HistoryServerCapabilitiesType_MaxReturnDataValues = 11268;\n\n    /// <summary>\n    /// The identifier for the HistoryServerCapabilitiesType_MaxReturnEventValues Variable.\n    /// </summary>\n    public const uint HistoryServerCapabilitiesType_MaxReturnEventValues = 11269;\n\n    /// <summary>\n    /// The identifier for the HistoryServerCapabilitiesType_InsertDataCapability Variable.\n    /// </summary>\n    public const uint HistoryServerCapabilitiesType_InsertDataCapability = 2334;\n\n    /// <summary>\n    /// The identifier for the HistoryServerCapabilitiesType_ReplaceDataCapability Variable.\n    /// </summary>\n    public const uint HistoryServerCapabilitiesType_ReplaceDataCapability = 2335;\n\n    /// <summary>\n    /// The identifier for the HistoryServerCapabilitiesType_UpdateDataCapability Variable.\n    /// </summary>\n    public const uint HistoryServerCapabilitiesType_UpdateDataCapability = 2336;\n\n    /// <summary>\n    /// The identifier for the HistoryServerCapabilitiesType_DeleteRawCapability Variable.\n    /// </summary>\n    public const uint HistoryServerCapabilitiesType_DeleteRawCapability = 2337;\n\n    /// <summary>\n    /// The identifier for the HistoryServerCapabilitiesType_DeleteAtTimeCapability Variable.\n    /// </summary>\n    public const uint HistoryServerCapabilitiesType_DeleteAtTimeCapability = 2338;\n\n    /// <summary>\n    /// The identifier for the HistoryServerCapabilitiesType_InsertEventCapability Variable.\n    /// </summary>\n    public const uint HistoryServerCapabilitiesType_InsertEventCapability = 11278;\n\n    /// <summary>\n    /// The identifier for the HistoryServerCapabilitiesType_ReplaceEventCapability Variable.\n    /// </summary>\n    public const uint HistoryServerCapabilitiesType_ReplaceEventCapability = 11279;\n\n    /// <summary>\n    /// The identifier for the HistoryServerCapabilitiesType_UpdateEventCapability Variable.\n    /// </summary>\n    public const uint HistoryServerCapabilitiesType_UpdateEventCapability = 11280;\n\n    /// <summary>\n    /// The identifier for the HistoryServerCapabilitiesType_DeleteEventCapability Variable.\n    /// </summary>\n    public const uint HistoryServerCapabilitiesType_DeleteEventCapability = 11501;\n\n    /// <summary>\n    /// The identifier for the HistoryServerCapabilitiesType_InsertAnnotationCapability Variable.\n    /// </summary>\n    public const uint HistoryServerCapabilitiesType_InsertAnnotationCapability = 11270;\n\n    /// <summary>\n    /// The identifier for the AuditHistoryEventUpdateEventType_UpdatedNode Variable.\n    /// </summary>\n    public const uint AuditHistoryEventUpdateEventType_UpdatedNode = 3025;\n\n    /// <summary>\n    /// The identifier for the AuditHistoryEventUpdateEventType_PerformInsertReplace Variable.\n    /// </summary>\n    public const uint AuditHistoryEventUpdateEventType_PerformInsertReplace = 3028;\n\n    /// <summary>\n    /// The identifier for the AuditHistoryEventUpdateEventType_Filter Variable.\n    /// </summary>\n    public const uint AuditHistoryEventUpdateEventType_Filter = 3003;\n\n    /// <summary>\n    /// The identifier for the AuditHistoryEventUpdateEventType_NewValues Variable.\n    /// </summary>\n    public const uint AuditHistoryEventUpdateEventType_NewValues = 3029;\n\n    /// <summary>\n    /// The identifier for the AuditHistoryEventUpdateEventType_OldValues Variable.\n    /// </summary>\n    public const uint AuditHistoryEventUpdateEventType_OldValues = 3030;\n\n    /// <summary>\n    /// The identifier for the AuditHistoryValueUpdateEventType_UpdatedNode Variable.\n    /// </summary>\n    public const uint AuditHistoryValueUpdateEventType_UpdatedNode = 3026;\n\n    /// <summary>\n    /// The identifier for the AuditHistoryValueUpdateEventType_PerformInsertReplace Variable.\n    /// </summary>\n    public const uint AuditHistoryValueUpdateEventType_PerformInsertReplace = 3031;\n\n    /// <summary>\n    /// The identifier for the AuditHistoryValueUpdateEventType_NewValues Variable.\n    /// </summary>\n    public const uint AuditHistoryValueUpdateEventType_NewValues = 3032;\n\n    /// <summary>\n    /// The identifier for the AuditHistoryValueUpdateEventType_OldValues Variable.\n    /// </summary>\n    public const uint AuditHistoryValueUpdateEventType_OldValues = 3033;\n\n    /// <summary>\n    /// The identifier for the AuditHistoryDeleteEventType_UpdatedNode Variable.\n    /// </summary>\n    public const uint AuditHistoryDeleteEventType_UpdatedNode = 3027;\n\n    /// <summary>\n    /// The identifier for the AuditHistoryRawModifyDeleteEventType_IsDeleteModified Variable.\n    /// </summary>\n    public const uint AuditHistoryRawModifyDeleteEventType_IsDeleteModified = 3015;\n\n    /// <summary>\n    /// The identifier for the AuditHistoryRawModifyDeleteEventType_StartTime Variable.\n    /// </summary>\n    public const uint AuditHistoryRawModifyDeleteEventType_StartTime = 3016;\n\n    /// <summary>\n    /// The identifier for the AuditHistoryRawModifyDeleteEventType_EndTime Variable.\n    /// </summary>\n    public const uint AuditHistoryRawModifyDeleteEventType_EndTime = 3017;\n\n    /// <summary>\n    /// The identifier for the AuditHistoryRawModifyDeleteEventType_OldValues Variable.\n    /// </summary>\n    public const uint AuditHistoryRawModifyDeleteEventType_OldValues = 3034;\n\n    /// <summary>\n    /// The identifier for the AuditHistoryAtTimeDeleteEventType_ReqTimes Variable.\n    /// </summary>\n    public const uint AuditHistoryAtTimeDeleteEventType_ReqTimes = 3020;\n\n    /// <summary>\n    /// The identifier for the AuditHistoryAtTimeDeleteEventType_OldValues Variable.\n    /// </summary>\n    public const uint AuditHistoryAtTimeDeleteEventType_OldValues = 3021;\n\n    /// <summary>\n    /// The identifier for the AuditHistoryEventDeleteEventType_EventIds Variable.\n    /// </summary>\n    public const uint AuditHistoryEventDeleteEventType_EventIds = 3023;\n\n    /// <summary>\n    /// The identifier for the AuditHistoryEventDeleteEventType_OldValues Variable.\n    /// </summary>\n    public const uint AuditHistoryEventDeleteEventType_OldValues = 3024;\n\n    /// <summary>\n    /// The identifier for the AggregateConfigurationType_TreatUncertainAsBad Variable.\n    /// </summary>\n    public const uint AggregateConfigurationType_TreatUncertainAsBad = 11188;\n\n    /// <summary>\n    /// The identifier for the AggregateConfigurationType_PercentDataBad Variable.\n    /// </summary>\n    public const uint AggregateConfigurationType_PercentDataBad = 11189;\n\n    /// <summary>\n    /// The identifier for the AggregateConfigurationType_PercentDataGood Variable.\n    /// </summary>\n    public const uint AggregateConfigurationType_PercentDataGood = 11190;\n\n    /// <summary>\n    /// The identifier for the AggregateConfigurationType_UseSlopedExtrapolation Variable.\n    /// </summary>\n    public const uint AggregateConfigurationType_UseSlopedExtrapolation = 11191;\n\n    /// <summary>\n    /// The identifier for the IdType_EnumStrings Variable.\n    /// </summary>\n    public const uint IdType_EnumStrings = 7591;\n\n    /// <summary>\n    /// The identifier for the NodeClass_EnumValues Variable.\n    /// </summary>\n    public const uint NodeClass_EnumValues = 11878;\n\n    /// <summary>\n    /// The identifier for the ApplicationType_EnumStrings Variable.\n    /// </summary>\n    public const uint ApplicationType_EnumStrings = 7597;\n\n    /// <summary>\n    /// The identifier for the MessageSecurityMode_EnumStrings Variable.\n    /// </summary>\n    public const uint MessageSecurityMode_EnumStrings = 7595;\n\n    /// <summary>\n    /// The identifier for the UserTokenType_EnumStrings Variable.\n    /// </summary>\n    public const uint UserTokenType_EnumStrings = 7596;\n\n    /// <summary>\n    /// The identifier for the SecurityTokenRequestType_EnumStrings Variable.\n    /// </summary>\n    public const uint SecurityTokenRequestType_EnumStrings = 7598;\n\n    /// <summary>\n    /// The identifier for the NodeAttributesMask_EnumValues Variable.\n    /// </summary>\n    public const uint NodeAttributesMask_EnumValues = 11881;\n\n    /// <summary>\n    /// The identifier for the AttributeWriteMask_EnumValues Variable.\n    /// </summary>\n    public const uint AttributeWriteMask_EnumValues = 11882;\n\n    /// <summary>\n    /// The identifier for the BrowseDirection_EnumStrings Variable.\n    /// </summary>\n    public const uint BrowseDirection_EnumStrings = 7603;\n\n    /// <summary>\n    /// The identifier for the BrowseResultMask_EnumValues Variable.\n    /// </summary>\n    public const uint BrowseResultMask_EnumValues = 11883;\n\n    /// <summary>\n    /// The identifier for the ComplianceLevel_EnumStrings Variable.\n    /// </summary>\n    public const uint ComplianceLevel_EnumStrings = 7599;\n\n    /// <summary>\n    /// The identifier for the FilterOperator_EnumStrings Variable.\n    /// </summary>\n    public const uint FilterOperator_EnumStrings = 7605;\n\n    /// <summary>\n    /// The identifier for the TimestampsToReturn_EnumStrings Variable.\n    /// </summary>\n    public const uint TimestampsToReturn_EnumStrings = 7606;\n\n    /// <summary>\n    /// The identifier for the HistoryUpdateType_EnumValues Variable.\n    /// </summary>\n    public const uint HistoryUpdateType_EnumValues = 11884;\n\n    /// <summary>\n    /// The identifier for the PerformUpdateType_EnumValues Variable.\n    /// </summary>\n    public const uint PerformUpdateType_EnumValues = 11885;\n\n    /// <summary>\n    /// The identifier for the MonitoringMode_EnumStrings Variable.\n    /// </summary>\n    public const uint MonitoringMode_EnumStrings = 7608;\n\n    /// <summary>\n    /// The identifier for the DataChangeTrigger_EnumStrings Variable.\n    /// </summary>\n    public const uint DataChangeTrigger_EnumStrings = 7609;\n\n    /// <summary>\n    /// The identifier for the DeadbandType_EnumStrings Variable.\n    /// </summary>\n    public const uint DeadbandType_EnumStrings = 7610;\n\n    /// <summary>\n    /// The identifier for the EnumeratedTestType_EnumValues Variable.\n    /// </summary>\n    public const uint EnumeratedTestType_EnumValues = 11886;\n\n    /// <summary>\n    /// The identifier for the RedundancySupport_EnumStrings Variable.\n    /// </summary>\n    public const uint RedundancySupport_EnumStrings = 7611;\n\n    /// <summary>\n    /// The identifier for the ServerState_EnumStrings Variable.\n    /// </summary>\n    public const uint ServerState_EnumStrings = 7612;\n\n    /// <summary>\n    /// The identifier for the ModelChangeStructureVerbMask_EnumValues Variable.\n    /// </summary>\n    public const uint ModelChangeStructureVerbMask_EnumValues = 11942;\n\n    /// <summary>\n    /// The identifier for the AxisScaleEnumeration_EnumStrings Variable.\n    /// </summary>\n    public const uint AxisScaleEnumeration_EnumStrings = 12078;\n\n    /// <summary>\n    /// The identifier for the ExceptionDeviationFormat_EnumStrings Variable.\n    /// </summary>\n    public const uint ExceptionDeviationFormat_EnumStrings = 7614;\n\n    /// <summary>\n    /// The identifier for the OpcUa_XmlSchema Variable.\n    /// </summary>\n    public const uint OpcUa_XmlSchema = 8252;\n\n    /// <summary>\n    /// The identifier for the OpcUa_XmlSchema_NamespaceUri Variable.\n    /// </summary>\n    public const uint OpcUa_XmlSchema_NamespaceUri = 8254;\n\n    /// <summary>\n    /// The identifier for the OpcUa_XmlSchema_Argument Variable.\n    /// </summary>\n    public const uint OpcUa_XmlSchema_Argument = 8285;\n\n    /// <summary>\n    /// The identifier for the OpcUa_XmlSchema_EnumValueType Variable.\n    /// </summary>\n    public const uint OpcUa_XmlSchema_EnumValueType = 8291;\n\n    /// <summary>\n    /// The identifier for the OpcUa_XmlSchema_TimeZoneDataType Variable.\n    /// </summary>\n    public const uint OpcUa_XmlSchema_TimeZoneDataType = 8918;\n\n    /// <summary>\n    /// The identifier for the OpcUa_XmlSchema_ApplicationDescription Variable.\n    /// </summary>\n    public const uint OpcUa_XmlSchema_ApplicationDescription = 8300;\n\n    /// <summary>\n    /// The identifier for the OpcUa_XmlSchema_DnsServiceRecord Variable.\n    /// </summary>\n    public const uint OpcUa_XmlSchema_DnsServiceRecord = 12195;\n\n    /// <summary>\n    /// The identifier for the OpcUa_XmlSchema_UserTokenPolicy Variable.\n    /// </summary>\n    public const uint OpcUa_XmlSchema_UserTokenPolicy = 8297;\n\n    /// <summary>\n    /// The identifier for the OpcUa_XmlSchema_EndpointDescription Variable.\n    /// </summary>\n    public const uint OpcUa_XmlSchema_EndpointDescription = 8303;\n\n    /// <summary>\n    /// The identifier for the OpcUa_XmlSchema_RegisteredServer Variable.\n    /// </summary>\n    public const uint OpcUa_XmlSchema_RegisteredServer = 8417;\n\n    /// <summary>\n    /// The identifier for the OpcUa_XmlSchema_SignedSoftwareCertificate Variable.\n    /// </summary>\n    public const uint OpcUa_XmlSchema_SignedSoftwareCertificate = 8333;\n\n    /// <summary>\n    /// The identifier for the OpcUa_XmlSchema_UserIdentityToken Variable.\n    /// </summary>\n    public const uint OpcUa_XmlSchema_UserIdentityToken = 8306;\n\n    /// <summary>\n    /// The identifier for the OpcUa_XmlSchema_AnonymousIdentityToken Variable.\n    /// </summary>\n    public const uint OpcUa_XmlSchema_AnonymousIdentityToken = 8309;\n\n    /// <summary>\n    /// The identifier for the OpcUa_XmlSchema_UserNameIdentityToken Variable.\n    /// </summary>\n    public const uint OpcUa_XmlSchema_UserNameIdentityToken = 8312;\n\n    /// <summary>\n    /// The identifier for the OpcUa_XmlSchema_X509IdentityToken Variable.\n    /// </summary>\n    public const uint OpcUa_XmlSchema_X509IdentityToken = 8315;\n\n    /// <summary>\n    /// The identifier for the OpcUa_XmlSchema_IssuedIdentityToken Variable.\n    /// </summary>\n    public const uint OpcUa_XmlSchema_IssuedIdentityToken = 8318;\n\n    /// <summary>\n    /// The identifier for the OpcUa_XmlSchema_AddNodesItem Variable.\n    /// </summary>\n    public const uint OpcUa_XmlSchema_AddNodesItem = 8363;\n\n    /// <summary>\n    /// The identifier for the OpcUa_XmlSchema_AddReferencesItem Variable.\n    /// </summary>\n    public const uint OpcUa_XmlSchema_AddReferencesItem = 8366;\n\n    /// <summary>\n    /// The identifier for the OpcUa_XmlSchema_DeleteNodesItem Variable.\n    /// </summary>\n    public const uint OpcUa_XmlSchema_DeleteNodesItem = 8369;\n\n    /// <summary>\n    /// The identifier for the OpcUa_XmlSchema_DeleteReferencesItem Variable.\n    /// </summary>\n    public const uint OpcUa_XmlSchema_DeleteReferencesItem = 8372;\n\n    /// <summary>\n    /// The identifier for the OpcUa_XmlSchema_EndpointConfiguration Variable.\n    /// </summary>\n    public const uint OpcUa_XmlSchema_EndpointConfiguration = 8321;\n\n    /// <summary>\n    /// The identifier for the OpcUa_XmlSchema_SupportedProfile Variable.\n    /// </summary>\n    public const uint OpcUa_XmlSchema_SupportedProfile = 8324;\n\n    /// <summary>\n    /// The identifier for the OpcUa_XmlSchema_SoftwareCertificate Variable.\n    /// </summary>\n    public const uint OpcUa_XmlSchema_SoftwareCertificate = 8330;\n\n    /// <summary>\n    /// The identifier for the OpcUa_XmlSchema_ContentFilterElement Variable.\n    /// </summary>\n    public const uint OpcUa_XmlSchema_ContentFilterElement = 8564;\n\n    /// <summary>\n    /// The identifier for the OpcUa_XmlSchema_ContentFilter Variable.\n    /// </summary>\n    public const uint OpcUa_XmlSchema_ContentFilter = 8567;\n\n    /// <summary>\n    /// The identifier for the OpcUa_XmlSchema_FilterOperand Variable.\n    /// </summary>\n    public const uint OpcUa_XmlSchema_FilterOperand = 8570;\n\n    /// <summary>\n    /// The identifier for the OpcUa_XmlSchema_ElementOperand Variable.\n    /// </summary>\n    public const uint OpcUa_XmlSchema_ElementOperand = 8573;\n\n    /// <summary>\n    /// The identifier for the OpcUa_XmlSchema_LiteralOperand Variable.\n    /// </summary>\n    public const uint OpcUa_XmlSchema_LiteralOperand = 8576;\n\n    /// <summary>\n    /// The identifier for the OpcUa_XmlSchema_AttributeOperand Variable.\n    /// </summary>\n    public const uint OpcUa_XmlSchema_AttributeOperand = 8579;\n\n    /// <summary>\n    /// The identifier for the OpcUa_XmlSchema_SimpleAttributeOperand Variable.\n    /// </summary>\n    public const uint OpcUa_XmlSchema_SimpleAttributeOperand = 8582;\n\n    /// <summary>\n    /// The identifier for the OpcUa_XmlSchema_HistoryEvent Variable.\n    /// </summary>\n    public const uint OpcUa_XmlSchema_HistoryEvent = 8639;\n\n    /// <summary>\n    /// The identifier for the OpcUa_XmlSchema_MonitoringFilter Variable.\n    /// </summary>\n    public const uint OpcUa_XmlSchema_MonitoringFilter = 8702;\n\n    /// <summary>\n    /// The identifier for the OpcUa_XmlSchema_EventFilter Variable.\n    /// </summary>\n    public const uint OpcUa_XmlSchema_EventFilter = 8708;\n\n    /// <summary>\n    /// The identifier for the OpcUa_XmlSchema_AggregateConfiguration Variable.\n    /// </summary>\n    public const uint OpcUa_XmlSchema_AggregateConfiguration = 8711;\n\n    /// <summary>\n    /// The identifier for the OpcUa_XmlSchema_HistoryEventFieldList Variable.\n    /// </summary>\n    public const uint OpcUa_XmlSchema_HistoryEventFieldList = 8807;\n\n    /// <summary>\n    /// The identifier for the OpcUa_XmlSchema_ScalarTestType Variable.\n    /// </summary>\n    public const uint OpcUa_XmlSchema_ScalarTestType = 8384;\n\n    /// <summary>\n    /// The identifier for the OpcUa_XmlSchema_ArrayTestType Variable.\n    /// </summary>\n    public const uint OpcUa_XmlSchema_ArrayTestType = 8387;\n\n    /// <summary>\n    /// The identifier for the OpcUa_XmlSchema_CompositeTestType Variable.\n    /// </summary>\n    public const uint OpcUa_XmlSchema_CompositeTestType = 8390;\n\n    /// <summary>\n    /// The identifier for the OpcUa_XmlSchema_BuildInfo Variable.\n    /// </summary>\n    public const uint OpcUa_XmlSchema_BuildInfo = 8327;\n\n    /// <summary>\n    /// The identifier for the OpcUa_XmlSchema_RedundantServerDataType Variable.\n    /// </summary>\n    public const uint OpcUa_XmlSchema_RedundantServerDataType = 8843;\n\n    /// <summary>\n    /// The identifier for the OpcUa_XmlSchema_EndpointUrlListDataType Variable.\n    /// </summary>\n    public const uint OpcUa_XmlSchema_EndpointUrlListDataType = 11951;\n\n    /// <summary>\n    /// The identifier for the OpcUa_XmlSchema_NetworkGroupDataType Variable.\n    /// </summary>\n    public const uint OpcUa_XmlSchema_NetworkGroupDataType = 11954;\n\n    /// <summary>\n    /// The identifier for the OpcUa_XmlSchema_SamplingIntervalDiagnosticsDataType Variable.\n    /// </summary>\n    public const uint OpcUa_XmlSchema_SamplingIntervalDiagnosticsDataType = 8846;\n\n    /// <summary>\n    /// The identifier for the OpcUa_XmlSchema_ServerDiagnosticsSummaryDataType Variable.\n    /// </summary>\n    public const uint OpcUa_XmlSchema_ServerDiagnosticsSummaryDataType = 8849;\n\n    /// <summary>\n    /// The identifier for the OpcUa_XmlSchema_ServerStatusDataType Variable.\n    /// </summary>\n    public const uint OpcUa_XmlSchema_ServerStatusDataType = 8852;\n\n    /// <summary>\n    /// The identifier for the OpcUa_XmlSchema_SessionDiagnosticsDataType Variable.\n    /// </summary>\n    public const uint OpcUa_XmlSchema_SessionDiagnosticsDataType = 8855;\n\n    /// <summary>\n    /// The identifier for the OpcUa_XmlSchema_SessionSecurityDiagnosticsDataType Variable.\n    /// </summary>\n    public const uint OpcUa_XmlSchema_SessionSecurityDiagnosticsDataType = 8858;\n\n    /// <summary>\n    /// The identifier for the OpcUa_XmlSchema_ServiceCounterDataType Variable.\n    /// </summary>\n    public const uint OpcUa_XmlSchema_ServiceCounterDataType = 8861;\n\n    /// <summary>\n    /// The identifier for the OpcUa_XmlSchema_StatusResult Variable.\n    /// </summary>\n    public const uint OpcUa_XmlSchema_StatusResult = 8294;\n\n    /// <summary>\n    /// The identifier for the OpcUa_XmlSchema_SubscriptionDiagnosticsDataType Variable.\n    /// </summary>\n    public const uint OpcUa_XmlSchema_SubscriptionDiagnosticsDataType = 8864;\n\n    /// <summary>\n    /// The identifier for the OpcUa_XmlSchema_ModelChangeStructureDataType Variable.\n    /// </summary>\n    public const uint OpcUa_XmlSchema_ModelChangeStructureDataType = 8867;\n\n    /// <summary>\n    /// The identifier for the OpcUa_XmlSchema_SemanticChangeStructureDataType Variable.\n    /// </summary>\n    public const uint OpcUa_XmlSchema_SemanticChangeStructureDataType = 8870;\n\n    /// <summary>\n    /// The identifier for the OpcUa_XmlSchema_Range Variable.\n    /// </summary>\n    public const uint OpcUa_XmlSchema_Range = 8873;\n\n    /// <summary>\n    /// The identifier for the OpcUa_XmlSchema_EUInformation Variable.\n    /// </summary>\n    public const uint OpcUa_XmlSchema_EUInformation = 8876;\n\n    /// <summary>\n    /// The identifier for the OpcUa_XmlSchema_ComplexNumberType Variable.\n    /// </summary>\n    public const uint OpcUa_XmlSchema_ComplexNumberType = 12175;\n\n    /// <summary>\n    /// The identifier for the OpcUa_XmlSchema_DoubleComplexNumberType Variable.\n    /// </summary>\n    public const uint OpcUa_XmlSchema_DoubleComplexNumberType = 12178;\n\n    /// <summary>\n    /// The identifier for the OpcUa_XmlSchema_AxisInformation Variable.\n    /// </summary>\n    public const uint OpcUa_XmlSchema_AxisInformation = 12083;\n\n    /// <summary>\n    /// The identifier for the OpcUa_XmlSchema_XVType Variable.\n    /// </summary>\n    public const uint OpcUa_XmlSchema_XVType = 12086;\n\n    /// <summary>\n    /// The identifier for the OpcUa_XmlSchema_ProgramDiagnosticDataType Variable.\n    /// </summary>\n    public const uint OpcUa_XmlSchema_ProgramDiagnosticDataType = 8882;\n\n    /// <summary>\n    /// The identifier for the OpcUa_XmlSchema_Annotation Variable.\n    /// </summary>\n    public const uint OpcUa_XmlSchema_Annotation = 8879;\n\n    /// <summary>\n    /// The identifier for the OpcUa_BinarySchema Variable.\n    /// </summary>\n    public const uint OpcUa_BinarySchema = 7617;\n\n    /// <summary>\n    /// The identifier for the OpcUa_BinarySchema_NamespaceUri Variable.\n    /// </summary>\n    public const uint OpcUa_BinarySchema_NamespaceUri = 7619;\n\n    /// <summary>\n    /// The identifier for the OpcUa_BinarySchema_Argument Variable.\n    /// </summary>\n    public const uint OpcUa_BinarySchema_Argument = 7650;\n\n    /// <summary>\n    /// The identifier for the OpcUa_BinarySchema_EnumValueType Variable.\n    /// </summary>\n    public const uint OpcUa_BinarySchema_EnumValueType = 7656;\n\n    /// <summary>\n    /// The identifier for the OpcUa_BinarySchema_TimeZoneDataType Variable.\n    /// </summary>\n    public const uint OpcUa_BinarySchema_TimeZoneDataType = 8914;\n\n    /// <summary>\n    /// The identifier for the OpcUa_BinarySchema_ApplicationDescription Variable.\n    /// </summary>\n    public const uint OpcUa_BinarySchema_ApplicationDescription = 7665;\n\n    /// <summary>\n    /// The identifier for the OpcUa_BinarySchema_DnsServiceRecord Variable.\n    /// </summary>\n    public const uint OpcUa_BinarySchema_DnsServiceRecord = 12201;\n\n    /// <summary>\n    /// The identifier for the OpcUa_BinarySchema_UserTokenPolicy Variable.\n    /// </summary>\n    public const uint OpcUa_BinarySchema_UserTokenPolicy = 7662;\n\n    /// <summary>\n    /// The identifier for the OpcUa_BinarySchema_EndpointDescription Variable.\n    /// </summary>\n    public const uint OpcUa_BinarySchema_EndpointDescription = 7668;\n\n    /// <summary>\n    /// The identifier for the OpcUa_BinarySchema_RegisteredServer Variable.\n    /// </summary>\n    public const uint OpcUa_BinarySchema_RegisteredServer = 7782;\n\n    /// <summary>\n    /// The identifier for the OpcUa_BinarySchema_SignedSoftwareCertificate Variable.\n    /// </summary>\n    public const uint OpcUa_BinarySchema_SignedSoftwareCertificate = 7698;\n\n    /// <summary>\n    /// The identifier for the OpcUa_BinarySchema_UserIdentityToken Variable.\n    /// </summary>\n    public const uint OpcUa_BinarySchema_UserIdentityToken = 7671;\n\n    /// <summary>\n    /// The identifier for the OpcUa_BinarySchema_AnonymousIdentityToken Variable.\n    /// </summary>\n    public const uint OpcUa_BinarySchema_AnonymousIdentityToken = 7674;\n\n    /// <summary>\n    /// The identifier for the OpcUa_BinarySchema_UserNameIdentityToken Variable.\n    /// </summary>\n    public const uint OpcUa_BinarySchema_UserNameIdentityToken = 7677;\n\n    /// <summary>\n    /// The identifier for the OpcUa_BinarySchema_X509IdentityToken Variable.\n    /// </summary>\n    public const uint OpcUa_BinarySchema_X509IdentityToken = 7680;\n\n    /// <summary>\n    /// The identifier for the OpcUa_BinarySchema_IssuedIdentityToken Variable.\n    /// </summary>\n    public const uint OpcUa_BinarySchema_IssuedIdentityToken = 7683;\n\n    /// <summary>\n    /// The identifier for the OpcUa_BinarySchema_AddNodesItem Variable.\n    /// </summary>\n    public const uint OpcUa_BinarySchema_AddNodesItem = 7728;\n\n    /// <summary>\n    /// The identifier for the OpcUa_BinarySchema_AddReferencesItem Variable.\n    /// </summary>\n    public const uint OpcUa_BinarySchema_AddReferencesItem = 7731;\n\n    /// <summary>\n    /// The identifier for the OpcUa_BinarySchema_DeleteNodesItem Variable.\n    /// </summary>\n    public const uint OpcUa_BinarySchema_DeleteNodesItem = 7734;\n\n    /// <summary>\n    /// The identifier for the OpcUa_BinarySchema_DeleteReferencesItem Variable.\n    /// </summary>\n    public const uint OpcUa_BinarySchema_DeleteReferencesItem = 7737;\n\n    /// <summary>\n    /// The identifier for the OpcUa_BinarySchema_EndpointConfiguration Variable.\n    /// </summary>\n    public const uint OpcUa_BinarySchema_EndpointConfiguration = 7686;\n\n    /// <summary>\n    /// The identifier for the OpcUa_BinarySchema_SupportedProfile Variable.\n    /// </summary>\n    public const uint OpcUa_BinarySchema_SupportedProfile = 7689;\n\n    /// <summary>\n    /// The identifier for the OpcUa_BinarySchema_SoftwareCertificate Variable.\n    /// </summary>\n    public const uint OpcUa_BinarySchema_SoftwareCertificate = 7695;\n\n    /// <summary>\n    /// The identifier for the OpcUa_BinarySchema_ContentFilterElement Variable.\n    /// </summary>\n    public const uint OpcUa_BinarySchema_ContentFilterElement = 7929;\n\n    /// <summary>\n    /// The identifier for the OpcUa_BinarySchema_ContentFilter Variable.\n    /// </summary>\n    public const uint OpcUa_BinarySchema_ContentFilter = 7932;\n\n    /// <summary>\n    /// The identifier for the OpcUa_BinarySchema_FilterOperand Variable.\n    /// </summary>\n    public const uint OpcUa_BinarySchema_FilterOperand = 7935;\n\n    /// <summary>\n    /// The identifier for the OpcUa_BinarySchema_ElementOperand Variable.\n    /// </summary>\n    public const uint OpcUa_BinarySchema_ElementOperand = 7938;\n\n    /// <summary>\n    /// The identifier for the OpcUa_BinarySchema_LiteralOperand Variable.\n    /// </summary>\n    public const uint OpcUa_BinarySchema_LiteralOperand = 7941;\n\n    /// <summary>\n    /// The identifier for the OpcUa_BinarySchema_AttributeOperand Variable.\n    /// </summary>\n    public const uint OpcUa_BinarySchema_AttributeOperand = 7944;\n\n    /// <summary>\n    /// The identifier for the OpcUa_BinarySchema_SimpleAttributeOperand Variable.\n    /// </summary>\n    public const uint OpcUa_BinarySchema_SimpleAttributeOperand = 7947;\n\n    /// <summary>\n    /// The identifier for the OpcUa_BinarySchema_HistoryEvent Variable.\n    /// </summary>\n    public const uint OpcUa_BinarySchema_HistoryEvent = 8004;\n\n    /// <summary>\n    /// The identifier for the OpcUa_BinarySchema_MonitoringFilter Variable.\n    /// </summary>\n    public const uint OpcUa_BinarySchema_MonitoringFilter = 8067;\n\n    /// <summary>\n    /// The identifier for the OpcUa_BinarySchema_EventFilter Variable.\n    /// </summary>\n    public const uint OpcUa_BinarySchema_EventFilter = 8073;\n\n    /// <summary>\n    /// The identifier for the OpcUa_BinarySchema_AggregateConfiguration Variable.\n    /// </summary>\n    public const uint OpcUa_BinarySchema_AggregateConfiguration = 8076;\n\n    /// <summary>\n    /// The identifier for the OpcUa_BinarySchema_HistoryEventFieldList Variable.\n    /// </summary>\n    public const uint OpcUa_BinarySchema_HistoryEventFieldList = 8172;\n\n    /// <summary>\n    /// The identifier for the OpcUa_BinarySchema_ScalarTestType Variable.\n    /// </summary>\n    public const uint OpcUa_BinarySchema_ScalarTestType = 7749;\n\n    /// <summary>\n    /// The identifier for the OpcUa_BinarySchema_ArrayTestType Variable.\n    /// </summary>\n    public const uint OpcUa_BinarySchema_ArrayTestType = 7752;\n\n    /// <summary>\n    /// The identifier for the OpcUa_BinarySchema_CompositeTestType Variable.\n    /// </summary>\n    public const uint OpcUa_BinarySchema_CompositeTestType = 7755;\n\n    /// <summary>\n    /// The identifier for the OpcUa_BinarySchema_BuildInfo Variable.\n    /// </summary>\n    public const uint OpcUa_BinarySchema_BuildInfo = 7692;\n\n    /// <summary>\n    /// The identifier for the OpcUa_BinarySchema_RedundantServerDataType Variable.\n    /// </summary>\n    public const uint OpcUa_BinarySchema_RedundantServerDataType = 8208;\n\n    /// <summary>\n    /// The identifier for the OpcUa_BinarySchema_EndpointUrlListDataType Variable.\n    /// </summary>\n    public const uint OpcUa_BinarySchema_EndpointUrlListDataType = 11959;\n\n    /// <summary>\n    /// The identifier for the OpcUa_BinarySchema_NetworkGroupDataType Variable.\n    /// </summary>\n    public const uint OpcUa_BinarySchema_NetworkGroupDataType = 11962;\n\n    /// <summary>\n    /// The identifier for the OpcUa_BinarySchema_SamplingIntervalDiagnosticsDataType Variable.\n    /// </summary>\n    public const uint OpcUa_BinarySchema_SamplingIntervalDiagnosticsDataType = 8211;\n\n    /// <summary>\n    /// The identifier for the OpcUa_BinarySchema_ServerDiagnosticsSummaryDataType Variable.\n    /// </summary>\n    public const uint OpcUa_BinarySchema_ServerDiagnosticsSummaryDataType = 8214;\n\n    /// <summary>\n    /// The identifier for the OpcUa_BinarySchema_ServerStatusDataType Variable.\n    /// </summary>\n    public const uint OpcUa_BinarySchema_ServerStatusDataType = 8217;\n\n    /// <summary>\n    /// The identifier for the OpcUa_BinarySchema_SessionDiagnosticsDataType Variable.\n    /// </summary>\n    public const uint OpcUa_BinarySchema_SessionDiagnosticsDataType = 8220;\n\n    /// <summary>\n    /// The identifier for the OpcUa_BinarySchema_SessionSecurityDiagnosticsDataType Variable.\n    /// </summary>\n    public const uint OpcUa_BinarySchema_SessionSecurityDiagnosticsDataType = 8223;\n\n    /// <summary>\n    /// The identifier for the OpcUa_BinarySchema_ServiceCounterDataType Variable.\n    /// </summary>\n    public const uint OpcUa_BinarySchema_ServiceCounterDataType = 8226;\n\n    /// <summary>\n    /// The identifier for the OpcUa_BinarySchema_StatusResult Variable.\n    /// </summary>\n    public const uint OpcUa_BinarySchema_StatusResult = 7659;\n\n    /// <summary>\n    /// The identifier for the OpcUa_BinarySchema_SubscriptionDiagnosticsDataType Variable.\n    /// </summary>\n    public const uint OpcUa_BinarySchema_SubscriptionDiagnosticsDataType = 8229;\n\n    /// <summary>\n    /// The identifier for the OpcUa_BinarySchema_ModelChangeStructureDataType Variable.\n    /// </summary>\n    public const uint OpcUa_BinarySchema_ModelChangeStructureDataType = 8232;\n\n    /// <summary>\n    /// The identifier for the OpcUa_BinarySchema_SemanticChangeStructureDataType Variable.\n    /// </summary>\n    public const uint OpcUa_BinarySchema_SemanticChangeStructureDataType = 8235;\n\n    /// <summary>\n    /// The identifier for the OpcUa_BinarySchema_Range Variable.\n    /// </summary>\n    public const uint OpcUa_BinarySchema_Range = 8238;\n\n    /// <summary>\n    /// The identifier for the OpcUa_BinarySchema_EUInformation Variable.\n    /// </summary>\n    public const uint OpcUa_BinarySchema_EUInformation = 8241;\n\n    /// <summary>\n    /// The identifier for the OpcUa_BinarySchema_ComplexNumberType Variable.\n    /// </summary>\n    public const uint OpcUa_BinarySchema_ComplexNumberType = 12183;\n\n    /// <summary>\n    /// The identifier for the OpcUa_BinarySchema_DoubleComplexNumberType Variable.\n    /// </summary>\n    public const uint OpcUa_BinarySchema_DoubleComplexNumberType = 12186;\n\n    /// <summary>\n    /// The identifier for the OpcUa_BinarySchema_AxisInformation Variable.\n    /// </summary>\n    public const uint OpcUa_BinarySchema_AxisInformation = 12091;\n\n    /// <summary>\n    /// The identifier for the OpcUa_BinarySchema_XVType Variable.\n    /// </summary>\n    public const uint OpcUa_BinarySchema_XVType = 12094;\n\n    /// <summary>\n    /// The identifier for the OpcUa_BinarySchema_ProgramDiagnosticDataType Variable.\n    /// </summary>\n    public const uint OpcUa_BinarySchema_ProgramDiagnosticDataType = 8247;\n\n    /// <summary>\n    /// The identifier for the OpcUa_BinarySchema_Annotation Variable.\n    /// </summary>\n    public const uint OpcUa_BinarySchema_Annotation = 8244;\n  }\n  #endregion\n\n  #region VariableType Identifiers\n  /// <summary>\n  /// A class that declares constants for all VariableTypes in the Model Design.\n  /// </summary>\n  /// <exclude />\n  [System.CodeDom.Compiler.GeneratedCodeAttribute(\"Opc.Ua.ModelCompiler\", \"1.0.0.0\")]\n  public static partial class VariableTypes\n  {\n    /// <summary>\n    /// The identifier for the BaseVariableType VariableType.\n    /// </summary>\n    public const uint BaseVariableType = 62;\n\n    /// <summary>\n    /// The identifier for the BaseDataVariableType VariableType.\n    /// </summary>\n    public const uint BaseDataVariableType = 63;\n\n    /// <summary>\n    /// The identifier for the PropertyType VariableType.\n    /// </summary>\n    public const uint PropertyType = 68;\n\n    /// <summary>\n    /// The identifier for the DataTypeDescriptionType VariableType.\n    /// </summary>\n    public const uint DataTypeDescriptionType = 69;\n\n    /// <summary>\n    /// The identifier for the DataTypeDictionaryType VariableType.\n    /// </summary>\n    public const uint DataTypeDictionaryType = 72;\n\n    /// <summary>\n    /// The identifier for the ServerVendorCapabilityType VariableType.\n    /// </summary>\n    public const uint ServerVendorCapabilityType = 2137;\n\n    /// <summary>\n    /// The identifier for the ServerStatusType VariableType.\n    /// </summary>\n    public const uint ServerStatusType = 2138;\n\n    /// <summary>\n    /// The identifier for the BuildInfoType VariableType.\n    /// </summary>\n    public const uint BuildInfoType = 3051;\n\n    /// <summary>\n    /// The identifier for the ServerDiagnosticsSummaryType VariableType.\n    /// </summary>\n    public const uint ServerDiagnosticsSummaryType = 2150;\n\n    /// <summary>\n    /// The identifier for the SamplingIntervalDiagnosticsArrayType VariableType.\n    /// </summary>\n    public const uint SamplingIntervalDiagnosticsArrayType = 2164;\n\n    /// <summary>\n    /// The identifier for the SamplingIntervalDiagnosticsType VariableType.\n    /// </summary>\n    public const uint SamplingIntervalDiagnosticsType = 2165;\n\n    /// <summary>\n    /// The identifier for the SubscriptionDiagnosticsArrayType VariableType.\n    /// </summary>\n    public const uint SubscriptionDiagnosticsArrayType = 2171;\n\n    /// <summary>\n    /// The identifier for the SubscriptionDiagnosticsType VariableType.\n    /// </summary>\n    public const uint SubscriptionDiagnosticsType = 2172;\n\n    /// <summary>\n    /// The identifier for the SessionDiagnosticsArrayType VariableType.\n    /// </summary>\n    public const uint SessionDiagnosticsArrayType = 2196;\n\n    /// <summary>\n    /// The identifier for the SessionDiagnosticsVariableType VariableType.\n    /// </summary>\n    public const uint SessionDiagnosticsVariableType = 2197;\n\n    /// <summary>\n    /// The identifier for the SessionSecurityDiagnosticsArrayType VariableType.\n    /// </summary>\n    public const uint SessionSecurityDiagnosticsArrayType = 2243;\n\n    /// <summary>\n    /// The identifier for the SessionSecurityDiagnosticsType VariableType.\n    /// </summary>\n    public const uint SessionSecurityDiagnosticsType = 2244;\n\n    /// <summary>\n    /// The identifier for the OptionSetType VariableType.\n    /// </summary>\n    public const uint OptionSetType = 11487;\n\n    /// <summary>\n    /// The identifier for the StateVariableType VariableType.\n    /// </summary>\n    public const uint StateVariableType = 2755;\n\n    /// <summary>\n    /// The identifier for the TransitionVariableType VariableType.\n    /// </summary>\n    public const uint TransitionVariableType = 2762;\n\n    /// <summary>\n    /// The identifier for the FiniteStateVariableType VariableType.\n    /// </summary>\n    public const uint FiniteStateVariableType = 2760;\n\n    /// <summary>\n    /// The identifier for the FiniteTransitionVariableType VariableType.\n    /// </summary>\n    public const uint FiniteTransitionVariableType = 2767;\n\n    /// <summary>\n    /// The identifier for the DataItemType VariableType.\n    /// </summary>\n    public const uint DataItemType = 2365;\n\n    /// <summary>\n    /// The identifier for the AnalogItemType VariableType.\n    /// </summary>\n    public const uint AnalogItemType = 2368;\n\n    /// <summary>\n    /// The identifier for the DiscreteItemType VariableType.\n    /// </summary>\n    public const uint DiscreteItemType = 2372;\n\n    /// <summary>\n    /// The identifier for the TwoStateDiscreteType VariableType.\n    /// </summary>\n    public const uint TwoStateDiscreteType = 2373;\n\n    /// <summary>\n    /// The identifier for the MultiStateDiscreteType VariableType.\n    /// </summary>\n    public const uint MultiStateDiscreteType = 2376;\n\n    /// <summary>\n    /// The identifier for the MultiStateValueDiscreteType VariableType.\n    /// </summary>\n    public const uint MultiStateValueDiscreteType = 11238;\n\n    /// <summary>\n    /// The identifier for the ArrayItemType VariableType.\n    /// </summary>\n    public const uint ArrayItemType = 12021;\n\n    /// <summary>\n    /// The identifier for the YArrayItemType VariableType.\n    /// </summary>\n    public const uint YArrayItemType = 12029;\n\n    /// <summary>\n    /// The identifier for the XYArrayItemType VariableType.\n    /// </summary>\n    public const uint XYArrayItemType = 12038;\n\n    /// <summary>\n    /// The identifier for the ImageItemType VariableType.\n    /// </summary>\n    public const uint ImageItemType = 12047;\n\n    /// <summary>\n    /// The identifier for the CubeItemType VariableType.\n    /// </summary>\n    public const uint CubeItemType = 12057;\n\n    /// <summary>\n    /// The identifier for the NDimensionArrayItemType VariableType.\n    /// </summary>\n    public const uint NDimensionArrayItemType = 12068;\n\n    /// <summary>\n    /// The identifier for the TwoStateVariableType VariableType.\n    /// </summary>\n    public const uint TwoStateVariableType = 8995;\n\n    /// <summary>\n    /// The identifier for the ConditionVariableType VariableType.\n    /// </summary>\n    public const uint ConditionVariableType = 9002;\n\n    /// <summary>\n    /// The identifier for the ProgramDiagnosticType VariableType.\n    /// </summary>\n    public const uint ProgramDiagnosticType = 2380;\n  }\n  #endregion\n\n  #region DataType Node Identifiers\n  /// <summary>\n  /// A class that declares constants for all DataTypes in the Model Design.\n  /// </summary>\n  /// <exclude />\n  [System.CodeDom.Compiler.GeneratedCodeAttribute(\"Opc.Ua.ModelCompiler\", \"1.0.0.0\")]\n  public static partial class DataTypeIds\n  {\n    /// <summary>\n    /// The identifier for the BaseDataType DataType.\n    /// </summary>\n    public static readonly NodeId BaseDataType = new NodeId(DataTypes.BaseDataType);\n\n    /// <summary>\n    /// The identifier for the Number DataType.\n    /// </summary>\n    public static readonly NodeId Number = new NodeId(DataTypes.Number);\n\n    /// <summary>\n    /// The identifier for the Integer DataType.\n    /// </summary>\n    public static readonly NodeId Integer = new NodeId(DataTypes.Integer);\n\n    /// <summary>\n    /// The identifier for the UInteger DataType.\n    /// </summary>\n    public static readonly NodeId UInteger = new NodeId(DataTypes.UInteger);\n\n    /// <summary>\n    /// The identifier for the Enumeration DataType.\n    /// </summary>\n    public static readonly NodeId Enumeration = new NodeId(DataTypes.Enumeration);\n\n    /// <summary>\n    /// The identifier for the Boolean DataType.\n    /// </summary>\n    public static readonly NodeId Boolean = new NodeId(DataTypes.Boolean);\n\n    /// <summary>\n    /// The identifier for the SByte DataType.\n    /// </summary>\n    public static readonly NodeId SByte = new NodeId(DataTypes.SByte);\n\n    /// <summary>\n    /// The identifier for the Byte DataType.\n    /// </summary>\n    public static readonly NodeId Byte = new NodeId(DataTypes.Byte);\n\n    /// <summary>\n    /// The identifier for the Int16 DataType.\n    /// </summary>\n    public static readonly NodeId Int16 = new NodeId(DataTypes.Int16);\n\n    /// <summary>\n    /// The identifier for the UInt16 DataType.\n    /// </summary>\n    public static readonly NodeId UInt16 = new NodeId(DataTypes.UInt16);\n\n    /// <summary>\n    /// The identifier for the Int32 DataType.\n    /// </summary>\n    public static readonly NodeId Int32 = new NodeId(DataTypes.Int32);\n\n    /// <summary>\n    /// The identifier for the UInt32 DataType.\n    /// </summary>\n    public static readonly NodeId UInt32 = new NodeId(DataTypes.UInt32);\n\n    /// <summary>\n    /// The identifier for the Int64 DataType.\n    /// </summary>\n    public static readonly NodeId Int64 = new NodeId(DataTypes.Int64);\n\n    /// <summary>\n    /// The identifier for the UInt64 DataType.\n    /// </summary>\n    public static readonly NodeId UInt64 = new NodeId(DataTypes.UInt64);\n\n    /// <summary>\n    /// The identifier for the Float DataType.\n    /// </summary>\n    public static readonly NodeId Float = new NodeId(DataTypes.Float);\n\n    /// <summary>\n    /// The identifier for the Double DataType.\n    /// </summary>\n    public static readonly NodeId Double = new NodeId(DataTypes.Double);\n\n    /// <summary>\n    /// The identifier for the String DataType.\n    /// </summary>\n    public static readonly NodeId String = new NodeId(DataTypes.String);\n\n    /// <summary>\n    /// The identifier for the DateTime DataType.\n    /// </summary>\n    public static readonly NodeId DateTime = new NodeId(DataTypes.DateTime);\n\n    /// <summary>\n    /// The identifier for the Guid DataType.\n    /// </summary>\n    public static readonly NodeId Guid = new NodeId(DataTypes.Guid);\n\n    /// <summary>\n    /// The identifier for the ByteString DataType.\n    /// </summary>\n    public static readonly NodeId ByteString = new NodeId(DataTypes.ByteString);\n\n    /// <summary>\n    /// The identifier for the XmlElement DataType.\n    /// </summary>\n    public static readonly NodeId XmlElement = new NodeId(DataTypes.XmlElement);\n\n    /// <summary>\n    /// The identifier for the NodeId DataType.\n    /// </summary>\n    public static readonly NodeId NodeId = new NodeId(DataTypes.NodeId);\n\n    /// <summary>\n    /// The identifier for the ExpandedNodeId DataType.\n    /// </summary>\n    public static readonly NodeId ExpandedNodeId = new NodeId(DataTypes.ExpandedNodeId);\n\n    /// <summary>\n    /// The identifier for the StatusCode DataType.\n    /// </summary>\n    public static readonly NodeId StatusCode = new NodeId(DataTypes.StatusCode);\n\n    /// <summary>\n    /// The identifier for the QualifiedName DataType.\n    /// </summary>\n    public static readonly NodeId QualifiedName = new NodeId(DataTypes.QualifiedName);\n\n    /// <summary>\n    /// The identifier for the LocalizedText DataType.\n    /// </summary>\n    public static readonly NodeId LocalizedText = new NodeId(DataTypes.LocalizedText);\n\n    /// <summary>\n    /// The identifier for the Structure DataType.\n    /// </summary>\n    public static readonly NodeId Structure = new NodeId(DataTypes.Structure);\n\n    /// <summary>\n    /// The identifier for the DataValue DataType.\n    /// </summary>\n    public static readonly NodeId DataValue = new NodeId(DataTypes.DataValue);\n\n    /// <summary>\n    /// The identifier for the DiagnosticInfo DataType.\n    /// </summary>\n    public static readonly NodeId DiagnosticInfo = new NodeId(DataTypes.DiagnosticInfo);\n\n    /// <summary>\n    /// The identifier for the Image DataType.\n    /// </summary>\n    public static readonly NodeId Image = new NodeId(DataTypes.Image);\n\n    /// <summary>\n    /// The identifier for the NamingRuleType DataType.\n    /// </summary>\n    public static readonly NodeId NamingRuleType = new NodeId(DataTypes.NamingRuleType);\n\n    /// <summary>\n    /// The identifier for the ImageBMP DataType.\n    /// </summary>\n    public static readonly NodeId ImageBMP = new NodeId(DataTypes.ImageBMP);\n\n    /// <summary>\n    /// The identifier for the ImageGIF DataType.\n    /// </summary>\n    public static readonly NodeId ImageGIF = new NodeId(DataTypes.ImageGIF);\n\n    /// <summary>\n    /// The identifier for the ImageJPG DataType.\n    /// </summary>\n    public static readonly NodeId ImageJPG = new NodeId(DataTypes.ImageJPG);\n\n    /// <summary>\n    /// The identifier for the ImagePNG DataType.\n    /// </summary>\n    public static readonly NodeId ImagePNG = new NodeId(DataTypes.ImagePNG);\n\n    /// <summary>\n    /// The identifier for the BitFieldMaskDataType DataType.\n    /// </summary>\n    public static readonly NodeId BitFieldMaskDataType = new NodeId(DataTypes.BitFieldMaskDataType);\n\n    /// <summary>\n    /// The identifier for the OpenFileMode DataType.\n    /// </summary>\n    public static readonly NodeId OpenFileMode = new NodeId(DataTypes.OpenFileMode);\n\n    /// <summary>\n    /// The identifier for the IdType DataType.\n    /// </summary>\n    public static readonly NodeId IdType = new NodeId(DataTypes.IdType);\n\n    /// <summary>\n    /// The identifier for the NodeClass DataType.\n    /// </summary>\n    public static readonly NodeId NodeClass = new NodeId(DataTypes.NodeClass);\n\n    /// <summary>\n    /// The identifier for the Node DataType.\n    /// </summary>\n    public static readonly NodeId Node = new NodeId(DataTypes.Node);\n\n    /// <summary>\n    /// The identifier for the InstanceNode DataType.\n    /// </summary>\n    public static readonly NodeId InstanceNode = new NodeId(DataTypes.InstanceNode);\n\n    /// <summary>\n    /// The identifier for the TypeNode DataType.\n    /// </summary>\n    public static readonly NodeId TypeNode = new NodeId(DataTypes.TypeNode);\n\n    /// <summary>\n    /// The identifier for the ObjectNode DataType.\n    /// </summary>\n    public static readonly NodeId ObjectNode = new NodeId(DataTypes.ObjectNode);\n\n    /// <summary>\n    /// The identifier for the ObjectTypeNode DataType.\n    /// </summary>\n    public static readonly NodeId ObjectTypeNode = new NodeId(DataTypes.ObjectTypeNode);\n\n    /// <summary>\n    /// The identifier for the VariableNode DataType.\n    /// </summary>\n    public static readonly NodeId VariableNode = new NodeId(DataTypes.VariableNode);\n\n    /// <summary>\n    /// The identifier for the VariableTypeNode DataType.\n    /// </summary>\n    public static readonly NodeId VariableTypeNode = new NodeId(DataTypes.VariableTypeNode);\n\n    /// <summary>\n    /// The identifier for the ReferenceTypeNode DataType.\n    /// </summary>\n    public static readonly NodeId ReferenceTypeNode = new NodeId(DataTypes.ReferenceTypeNode);\n\n    /// <summary>\n    /// The identifier for the MethodNode DataType.\n    /// </summary>\n    public static readonly NodeId MethodNode = new NodeId(DataTypes.MethodNode);\n\n    /// <summary>\n    /// The identifier for the ViewNode DataType.\n    /// </summary>\n    public static readonly NodeId ViewNode = new NodeId(DataTypes.ViewNode);\n\n    /// <summary>\n    /// The identifier for the DataTypeNode DataType.\n    /// </summary>\n    public static readonly NodeId DataTypeNode = new NodeId(DataTypes.DataTypeNode);\n\n    /// <summary>\n    /// The identifier for the ReferenceNode DataType.\n    /// </summary>\n    public static readonly NodeId ReferenceNode = new NodeId(DataTypes.ReferenceNode);\n\n    /// <summary>\n    /// The identifier for the Argument DataType.\n    /// </summary>\n    public static readonly NodeId Argument = new NodeId(DataTypes.Argument);\n\n    /// <summary>\n    /// The identifier for the EnumValueType DataType.\n    /// </summary>\n    public static readonly NodeId EnumValueType = new NodeId(DataTypes.EnumValueType);\n\n    /// <summary>\n    /// The identifier for the Duration DataType.\n    /// </summary>\n    public static readonly NodeId Duration = new NodeId(DataTypes.Duration);\n\n    /// <summary>\n    /// The identifier for the UtcTime DataType.\n    /// </summary>\n    public static readonly NodeId UtcTime = new NodeId(DataTypes.UtcTime);\n\n    /// <summary>\n    /// The identifier for the LocaleId DataType.\n    /// </summary>\n    public static readonly NodeId LocaleId = new NodeId(DataTypes.LocaleId);\n\n    /// <summary>\n    /// The identifier for the TimeZoneDataType DataType.\n    /// </summary>\n    public static readonly NodeId TimeZoneDataType = new NodeId(DataTypes.TimeZoneDataType);\n\n    /// <summary>\n    /// The identifier for the IntegerId DataType.\n    /// </summary>\n    public static readonly NodeId IntegerId = new NodeId(DataTypes.IntegerId);\n\n    /// <summary>\n    /// The identifier for the ApplicationType DataType.\n    /// </summary>\n    public static readonly NodeId ApplicationType = new NodeId(DataTypes.ApplicationType);\n\n    /// <summary>\n    /// The identifier for the ApplicationDescription DataType.\n    /// </summary>\n    public static readonly NodeId ApplicationDescription = new NodeId(DataTypes.ApplicationDescription);\n\n    /// <summary>\n    /// The identifier for the RequestHeader DataType.\n    /// </summary>\n    public static readonly NodeId RequestHeader = new NodeId(DataTypes.RequestHeader);\n\n    /// <summary>\n    /// The identifier for the ResponseHeader DataType.\n    /// </summary>\n    public static readonly NodeId ResponseHeader = new NodeId(DataTypes.ResponseHeader);\n\n    /// <summary>\n    /// The identifier for the ServiceFault DataType.\n    /// </summary>\n    public static readonly NodeId ServiceFault = new NodeId(DataTypes.ServiceFault);\n\n    /// <summary>\n    /// The identifier for the DnsServiceRecord DataType.\n    /// </summary>\n    public static readonly NodeId DnsServiceRecord = new NodeId(DataTypes.DnsServiceRecord);\n\n    /// <summary>\n    /// The identifier for the FindDnsServicesRequest DataType.\n    /// </summary>\n    public static readonly NodeId FindDnsServicesRequest = new NodeId(DataTypes.FindDnsServicesRequest);\n\n    /// <summary>\n    /// The identifier for the FindDnsServicesResponse DataType.\n    /// </summary>\n    public static readonly NodeId FindDnsServicesResponse = new NodeId(DataTypes.FindDnsServicesResponse);\n\n    /// <summary>\n    /// The identifier for the FindServersRequest DataType.\n    /// </summary>\n    public static readonly NodeId FindServersRequest = new NodeId(DataTypes.FindServersRequest);\n\n    /// <summary>\n    /// The identifier for the FindServersResponse DataType.\n    /// </summary>\n    public static readonly NodeId FindServersResponse = new NodeId(DataTypes.FindServersResponse);\n\n    /// <summary>\n    /// The identifier for the ApplicationInstanceCertificate DataType.\n    /// </summary>\n    public static readonly NodeId ApplicationInstanceCertificate = new NodeId(DataTypes.ApplicationInstanceCertificate);\n\n    /// <summary>\n    /// The identifier for the MessageSecurityMode DataType.\n    /// </summary>\n    public static readonly NodeId MessageSecurityMode = new NodeId(DataTypes.MessageSecurityMode);\n\n    /// <summary>\n    /// The identifier for the UserTokenType DataType.\n    /// </summary>\n    public static readonly NodeId UserTokenType = new NodeId(DataTypes.UserTokenType);\n\n    /// <summary>\n    /// The identifier for the UserTokenPolicy DataType.\n    /// </summary>\n    public static readonly NodeId UserTokenPolicy = new NodeId(DataTypes.UserTokenPolicy);\n\n    /// <summary>\n    /// The identifier for the EndpointDescription DataType.\n    /// </summary>\n    public static readonly NodeId EndpointDescription = new NodeId(DataTypes.EndpointDescription);\n\n    /// <summary>\n    /// The identifier for the GetEndpointsRequest DataType.\n    /// </summary>\n    public static readonly NodeId GetEndpointsRequest = new NodeId(DataTypes.GetEndpointsRequest);\n\n    /// <summary>\n    /// The identifier for the GetEndpointsResponse DataType.\n    /// </summary>\n    public static readonly NodeId GetEndpointsResponse = new NodeId(DataTypes.GetEndpointsResponse);\n\n    /// <summary>\n    /// The identifier for the RegisteredServer DataType.\n    /// </summary>\n    public static readonly NodeId RegisteredServer = new NodeId(DataTypes.RegisteredServer);\n\n    /// <summary>\n    /// The identifier for the RegisterServerRequest DataType.\n    /// </summary>\n    public static readonly NodeId RegisterServerRequest = new NodeId(DataTypes.RegisterServerRequest);\n\n    /// <summary>\n    /// The identifier for the RegisterServerResponse DataType.\n    /// </summary>\n    public static readonly NodeId RegisterServerResponse = new NodeId(DataTypes.RegisterServerResponse);\n\n    /// <summary>\n    /// The identifier for the SecurityTokenRequestType DataType.\n    /// </summary>\n    public static readonly NodeId SecurityTokenRequestType = new NodeId(DataTypes.SecurityTokenRequestType);\n\n    /// <summary>\n    /// The identifier for the ChannelSecurityToken DataType.\n    /// </summary>\n    public static readonly NodeId ChannelSecurityToken = new NodeId(DataTypes.ChannelSecurityToken);\n\n    /// <summary>\n    /// The identifier for the OpenSecureChannelRequest DataType.\n    /// </summary>\n    public static readonly NodeId OpenSecureChannelRequest = new NodeId(DataTypes.OpenSecureChannelRequest);\n\n    /// <summary>\n    /// The identifier for the OpenSecureChannelResponse DataType.\n    /// </summary>\n    public static readonly NodeId OpenSecureChannelResponse = new NodeId(DataTypes.OpenSecureChannelResponse);\n\n    /// <summary>\n    /// The identifier for the CloseSecureChannelRequest DataType.\n    /// </summary>\n    public static readonly NodeId CloseSecureChannelRequest = new NodeId(DataTypes.CloseSecureChannelRequest);\n\n    /// <summary>\n    /// The identifier for the CloseSecureChannelResponse DataType.\n    /// </summary>\n    public static readonly NodeId CloseSecureChannelResponse = new NodeId(DataTypes.CloseSecureChannelResponse);\n\n    /// <summary>\n    /// The identifier for the SignedSoftwareCertificate DataType.\n    /// </summary>\n    public static readonly NodeId SignedSoftwareCertificate = new NodeId(DataTypes.SignedSoftwareCertificate);\n\n    /// <summary>\n    /// The identifier for the SessionAuthenticationToken DataType.\n    /// </summary>\n    public static readonly NodeId SessionAuthenticationToken = new NodeId(DataTypes.SessionAuthenticationToken);\n\n    /// <summary>\n    /// The identifier for the SignatureData DataType.\n    /// </summary>\n    public static readonly NodeId SignatureData = new NodeId(DataTypes.SignatureData);\n\n    /// <summary>\n    /// The identifier for the CreateSessionRequest DataType.\n    /// </summary>\n    public static readonly NodeId CreateSessionRequest = new NodeId(DataTypes.CreateSessionRequest);\n\n    /// <summary>\n    /// The identifier for the CreateSessionResponse DataType.\n    /// </summary>\n    public static readonly NodeId CreateSessionResponse = new NodeId(DataTypes.CreateSessionResponse);\n\n    /// <summary>\n    /// The identifier for the UserIdentityToken DataType.\n    /// </summary>\n    public static readonly NodeId UserIdentityToken = new NodeId(DataTypes.UserIdentityToken);\n\n    /// <summary>\n    /// The identifier for the AnonymousIdentityToken DataType.\n    /// </summary>\n    public static readonly NodeId AnonymousIdentityToken = new NodeId(DataTypes.AnonymousIdentityToken);\n\n    /// <summary>\n    /// The identifier for the UserNameIdentityToken DataType.\n    /// </summary>\n    public static readonly NodeId UserNameIdentityToken = new NodeId(DataTypes.UserNameIdentityToken);\n\n    /// <summary>\n    /// The identifier for the X509IdentityToken DataType.\n    /// </summary>\n    public static readonly NodeId X509IdentityToken = new NodeId(DataTypes.X509IdentityToken);\n\n    /// <summary>\n    /// The identifier for the IssuedIdentityToken DataType.\n    /// </summary>\n    public static readonly NodeId IssuedIdentityToken = new NodeId(DataTypes.IssuedIdentityToken);\n\n    /// <summary>\n    /// The identifier for the ActivateSessionRequest DataType.\n    /// </summary>\n    public static readonly NodeId ActivateSessionRequest = new NodeId(DataTypes.ActivateSessionRequest);\n\n    /// <summary>\n    /// The identifier for the ActivateSessionResponse DataType.\n    /// </summary>\n    public static readonly NodeId ActivateSessionResponse = new NodeId(DataTypes.ActivateSessionResponse);\n\n    /// <summary>\n    /// The identifier for the CloseSessionRequest DataType.\n    /// </summary>\n    public static readonly NodeId CloseSessionRequest = new NodeId(DataTypes.CloseSessionRequest);\n\n    /// <summary>\n    /// The identifier for the CloseSessionResponse DataType.\n    /// </summary>\n    public static readonly NodeId CloseSessionResponse = new NodeId(DataTypes.CloseSessionResponse);\n\n    /// <summary>\n    /// The identifier for the CancelRequest DataType.\n    /// </summary>\n    public static readonly NodeId CancelRequest = new NodeId(DataTypes.CancelRequest);\n\n    /// <summary>\n    /// The identifier for the CancelResponse DataType.\n    /// </summary>\n    public static readonly NodeId CancelResponse = new NodeId(DataTypes.CancelResponse);\n\n    /// <summary>\n    /// The identifier for the NodeAttributesMask DataType.\n    /// </summary>\n    public static readonly NodeId NodeAttributesMask = new NodeId(DataTypes.NodeAttributesMask);\n\n    /// <summary>\n    /// The identifier for the NodeAttributes DataType.\n    /// </summary>\n    public static readonly NodeId NodeAttributes = new NodeId(DataTypes.NodeAttributes);\n\n    /// <summary>\n    /// The identifier for the ObjectAttributes DataType.\n    /// </summary>\n    public static readonly NodeId ObjectAttributes = new NodeId(DataTypes.ObjectAttributes);\n\n    /// <summary>\n    /// The identifier for the VariableAttributes DataType.\n    /// </summary>\n    public static readonly NodeId VariableAttributes = new NodeId(DataTypes.VariableAttributes);\n\n    /// <summary>\n    /// The identifier for the MethodAttributes DataType.\n    /// </summary>\n    public static readonly NodeId MethodAttributes = new NodeId(DataTypes.MethodAttributes);\n\n    /// <summary>\n    /// The identifier for the ObjectTypeAttributes DataType.\n    /// </summary>\n    public static readonly NodeId ObjectTypeAttributes = new NodeId(DataTypes.ObjectTypeAttributes);\n\n    /// <summary>\n    /// The identifier for the VariableTypeAttributes DataType.\n    /// </summary>\n    public static readonly NodeId VariableTypeAttributes = new NodeId(DataTypes.VariableTypeAttributes);\n\n    /// <summary>\n    /// The identifier for the ReferenceTypeAttributes DataType.\n    /// </summary>\n    public static readonly NodeId ReferenceTypeAttributes = new NodeId(DataTypes.ReferenceTypeAttributes);\n\n    /// <summary>\n    /// The identifier for the DataTypeAttributes DataType.\n    /// </summary>\n    public static readonly NodeId DataTypeAttributes = new NodeId(DataTypes.DataTypeAttributes);\n\n    /// <summary>\n    /// The identifier for the ViewAttributes DataType.\n    /// </summary>\n    public static readonly NodeId ViewAttributes = new NodeId(DataTypes.ViewAttributes);\n\n    /// <summary>\n    /// The identifier for the AddNodesItem DataType.\n    /// </summary>\n    public static readonly NodeId AddNodesItem = new NodeId(DataTypes.AddNodesItem);\n\n    /// <summary>\n    /// The identifier for the AddNodesResult DataType.\n    /// </summary>\n    public static readonly NodeId AddNodesResult = new NodeId(DataTypes.AddNodesResult);\n\n    /// <summary>\n    /// The identifier for the AddNodesRequest DataType.\n    /// </summary>\n    public static readonly NodeId AddNodesRequest = new NodeId(DataTypes.AddNodesRequest);\n\n    /// <summary>\n    /// The identifier for the AddNodesResponse DataType.\n    /// </summary>\n    public static readonly NodeId AddNodesResponse = new NodeId(DataTypes.AddNodesResponse);\n\n    /// <summary>\n    /// The identifier for the AddReferencesItem DataType.\n    /// </summary>\n    public static readonly NodeId AddReferencesItem = new NodeId(DataTypes.AddReferencesItem);\n\n    /// <summary>\n    /// The identifier for the AddReferencesRequest DataType.\n    /// </summary>\n    public static readonly NodeId AddReferencesRequest = new NodeId(DataTypes.AddReferencesRequest);\n\n    /// <summary>\n    /// The identifier for the AddReferencesResponse DataType.\n    /// </summary>\n    public static readonly NodeId AddReferencesResponse = new NodeId(DataTypes.AddReferencesResponse);\n\n    /// <summary>\n    /// The identifier for the DeleteNodesItem DataType.\n    /// </summary>\n    public static readonly NodeId DeleteNodesItem = new NodeId(DataTypes.DeleteNodesItem);\n\n    /// <summary>\n    /// The identifier for the DeleteNodesRequest DataType.\n    /// </summary>\n    public static readonly NodeId DeleteNodesRequest = new NodeId(DataTypes.DeleteNodesRequest);\n\n    /// <summary>\n    /// The identifier for the DeleteNodesResponse DataType.\n    /// </summary>\n    public static readonly NodeId DeleteNodesResponse = new NodeId(DataTypes.DeleteNodesResponse);\n\n    /// <summary>\n    /// The identifier for the DeleteReferencesItem DataType.\n    /// </summary>\n    public static readonly NodeId DeleteReferencesItem = new NodeId(DataTypes.DeleteReferencesItem);\n\n    /// <summary>\n    /// The identifier for the DeleteReferencesRequest DataType.\n    /// </summary>\n    public static readonly NodeId DeleteReferencesRequest = new NodeId(DataTypes.DeleteReferencesRequest);\n\n    /// <summary>\n    /// The identifier for the DeleteReferencesResponse DataType.\n    /// </summary>\n    public static readonly NodeId DeleteReferencesResponse = new NodeId(DataTypes.DeleteReferencesResponse);\n\n    /// <summary>\n    /// The identifier for the AttributeWriteMask DataType.\n    /// </summary>\n    public static readonly NodeId AttributeWriteMask = new NodeId(DataTypes.AttributeWriteMask);\n\n    /// <summary>\n    /// The identifier for the BrowseDirection DataType.\n    /// </summary>\n    public static readonly NodeId BrowseDirection = new NodeId(DataTypes.BrowseDirection);\n\n    /// <summary>\n    /// The identifier for the ViewDescription DataType.\n    /// </summary>\n    public static readonly NodeId ViewDescription = new NodeId(DataTypes.ViewDescription);\n\n    /// <summary>\n    /// The identifier for the BrowseDescription DataType.\n    /// </summary>\n    public static readonly NodeId BrowseDescription = new NodeId(DataTypes.BrowseDescription);\n\n    /// <summary>\n    /// The identifier for the BrowseResultMask DataType.\n    /// </summary>\n    public static readonly NodeId BrowseResultMask = new NodeId(DataTypes.BrowseResultMask);\n\n    /// <summary>\n    /// The identifier for the ReferenceDescription DataType.\n    /// </summary>\n    public static readonly NodeId ReferenceDescription = new NodeId(DataTypes.ReferenceDescription);\n\n    /// <summary>\n    /// The identifier for the ContinuationPoint DataType.\n    /// </summary>\n    public static readonly NodeId ContinuationPoint = new NodeId(DataTypes.ContinuationPoint);\n\n    /// <summary>\n    /// The identifier for the BrowseResult DataType.\n    /// </summary>\n    public static readonly NodeId BrowseResult = new NodeId(DataTypes.BrowseResult);\n\n    /// <summary>\n    /// The identifier for the BrowseRequest DataType.\n    /// </summary>\n    public static readonly NodeId BrowseRequest = new NodeId(DataTypes.BrowseRequest);\n\n    /// <summary>\n    /// The identifier for the BrowseResponse DataType.\n    /// </summary>\n    public static readonly NodeId BrowseResponse = new NodeId(DataTypes.BrowseResponse);\n\n    /// <summary>\n    /// The identifier for the BrowseNextRequest DataType.\n    /// </summary>\n    public static readonly NodeId BrowseNextRequest = new NodeId(DataTypes.BrowseNextRequest);\n\n    /// <summary>\n    /// The identifier for the BrowseNextResponse DataType.\n    /// </summary>\n    public static readonly NodeId BrowseNextResponse = new NodeId(DataTypes.BrowseNextResponse);\n\n    /// <summary>\n    /// The identifier for the RelativePathElement DataType.\n    /// </summary>\n    public static readonly NodeId RelativePathElement = new NodeId(DataTypes.RelativePathElement);\n\n    /// <summary>\n    /// The identifier for the RelativePath DataType.\n    /// </summary>\n    public static readonly NodeId RelativePath = new NodeId(DataTypes.RelativePath);\n\n    /// <summary>\n    /// The identifier for the BrowsePath DataType.\n    /// </summary>\n    public static readonly NodeId BrowsePath = new NodeId(DataTypes.BrowsePath);\n\n    /// <summary>\n    /// The identifier for the BrowsePathTarget DataType.\n    /// </summary>\n    public static readonly NodeId BrowsePathTarget = new NodeId(DataTypes.BrowsePathTarget);\n\n    /// <summary>\n    /// The identifier for the BrowsePathResult DataType.\n    /// </summary>\n    public static readonly NodeId BrowsePathResult = new NodeId(DataTypes.BrowsePathResult);\n\n    /// <summary>\n    /// The identifier for the TranslateBrowsePathsToNodeIdsRequest DataType.\n    /// </summary>\n    public static readonly NodeId TranslateBrowsePathsToNodeIdsRequest = new NodeId(DataTypes.TranslateBrowsePathsToNodeIdsRequest);\n\n    /// <summary>\n    /// The identifier for the TranslateBrowsePathsToNodeIdsResponse DataType.\n    /// </summary>\n    public static readonly NodeId TranslateBrowsePathsToNodeIdsResponse = new NodeId(DataTypes.TranslateBrowsePathsToNodeIdsResponse);\n\n    /// <summary>\n    /// The identifier for the RegisterNodesRequest DataType.\n    /// </summary>\n    public static readonly NodeId RegisterNodesRequest = new NodeId(DataTypes.RegisterNodesRequest);\n\n    /// <summary>\n    /// The identifier for the RegisterNodesResponse DataType.\n    /// </summary>\n    public static readonly NodeId RegisterNodesResponse = new NodeId(DataTypes.RegisterNodesResponse);\n\n    /// <summary>\n    /// The identifier for the UnregisterNodesRequest DataType.\n    /// </summary>\n    public static readonly NodeId UnregisterNodesRequest = new NodeId(DataTypes.UnregisterNodesRequest);\n\n    /// <summary>\n    /// The identifier for the UnregisterNodesResponse DataType.\n    /// </summary>\n    public static readonly NodeId UnregisterNodesResponse = new NodeId(DataTypes.UnregisterNodesResponse);\n\n    /// <summary>\n    /// The identifier for the Counter DataType.\n    /// </summary>\n    public static readonly NodeId Counter = new NodeId(DataTypes.Counter);\n\n    /// <summary>\n    /// The identifier for the NumericRange DataType.\n    /// </summary>\n    public static readonly NodeId NumericRange = new NodeId(DataTypes.NumericRange);\n\n    /// <summary>\n    /// The identifier for the Time DataType.\n    /// </summary>\n    public static readonly NodeId Time = new NodeId(DataTypes.Time);\n\n    /// <summary>\n    /// The identifier for the Date DataType.\n    /// </summary>\n    public static readonly NodeId Date = new NodeId(DataTypes.Date);\n\n    /// <summary>\n    /// The identifier for the EndpointConfiguration DataType.\n    /// </summary>\n    public static readonly NodeId EndpointConfiguration = new NodeId(DataTypes.EndpointConfiguration);\n\n    /// <summary>\n    /// The identifier for the ComplianceLevel DataType.\n    /// </summary>\n    public static readonly NodeId ComplianceLevel = new NodeId(DataTypes.ComplianceLevel);\n\n    /// <summary>\n    /// The identifier for the SupportedProfile DataType.\n    /// </summary>\n    public static readonly NodeId SupportedProfile = new NodeId(DataTypes.SupportedProfile);\n\n    /// <summary>\n    /// The identifier for the SoftwareCertificate DataType.\n    /// </summary>\n    public static readonly NodeId SoftwareCertificate = new NodeId(DataTypes.SoftwareCertificate);\n\n    /// <summary>\n    /// The identifier for the QueryDataDescription DataType.\n    /// </summary>\n    public static readonly NodeId QueryDataDescription = new NodeId(DataTypes.QueryDataDescription);\n\n    /// <summary>\n    /// The identifier for the NodeTypeDescription DataType.\n    /// </summary>\n    public static readonly NodeId NodeTypeDescription = new NodeId(DataTypes.NodeTypeDescription);\n\n    /// <summary>\n    /// The identifier for the FilterOperator DataType.\n    /// </summary>\n    public static readonly NodeId FilterOperator = new NodeId(DataTypes.FilterOperator);\n\n    /// <summary>\n    /// The identifier for the QueryDataSet DataType.\n    /// </summary>\n    public static readonly NodeId QueryDataSet = new NodeId(DataTypes.QueryDataSet);\n\n    /// <summary>\n    /// The identifier for the NodeReference DataType.\n    /// </summary>\n    public static readonly NodeId NodeReference = new NodeId(DataTypes.NodeReference);\n\n    /// <summary>\n    /// The identifier for the ContentFilterElement DataType.\n    /// </summary>\n    public static readonly NodeId ContentFilterElement = new NodeId(DataTypes.ContentFilterElement);\n\n    /// <summary>\n    /// The identifier for the ContentFilter DataType.\n    /// </summary>\n    public static readonly NodeId ContentFilter = new NodeId(DataTypes.ContentFilter);\n\n    /// <summary>\n    /// The identifier for the FilterOperand DataType.\n    /// </summary>\n    public static readonly NodeId FilterOperand = new NodeId(DataTypes.FilterOperand);\n\n    /// <summary>\n    /// The identifier for the ElementOperand DataType.\n    /// </summary>\n    public static readonly NodeId ElementOperand = new NodeId(DataTypes.ElementOperand);\n\n    /// <summary>\n    /// The identifier for the LiteralOperand DataType.\n    /// </summary>\n    public static readonly NodeId LiteralOperand = new NodeId(DataTypes.LiteralOperand);\n\n    /// <summary>\n    /// The identifier for the AttributeOperand DataType.\n    /// </summary>\n    public static readonly NodeId AttributeOperand = new NodeId(DataTypes.AttributeOperand);\n\n    /// <summary>\n    /// The identifier for the SimpleAttributeOperand DataType.\n    /// </summary>\n    public static readonly NodeId SimpleAttributeOperand = new NodeId(DataTypes.SimpleAttributeOperand);\n\n    /// <summary>\n    /// The identifier for the ContentFilterElementResult DataType.\n    /// </summary>\n    public static readonly NodeId ContentFilterElementResult = new NodeId(DataTypes.ContentFilterElementResult);\n\n    /// <summary>\n    /// The identifier for the ContentFilterResult DataType.\n    /// </summary>\n    public static readonly NodeId ContentFilterResult = new NodeId(DataTypes.ContentFilterResult);\n\n    /// <summary>\n    /// The identifier for the ParsingResult DataType.\n    /// </summary>\n    public static readonly NodeId ParsingResult = new NodeId(DataTypes.ParsingResult);\n\n    /// <summary>\n    /// The identifier for the QueryFirstRequest DataType.\n    /// </summary>\n    public static readonly NodeId QueryFirstRequest = new NodeId(DataTypes.QueryFirstRequest);\n\n    /// <summary>\n    /// The identifier for the QueryFirstResponse DataType.\n    /// </summary>\n    public static readonly NodeId QueryFirstResponse = new NodeId(DataTypes.QueryFirstResponse);\n\n    /// <summary>\n    /// The identifier for the QueryNextRequest DataType.\n    /// </summary>\n    public static readonly NodeId QueryNextRequest = new NodeId(DataTypes.QueryNextRequest);\n\n    /// <summary>\n    /// The identifier for the QueryNextResponse DataType.\n    /// </summary>\n    public static readonly NodeId QueryNextResponse = new NodeId(DataTypes.QueryNextResponse);\n\n    /// <summary>\n    /// The identifier for the TimestampsToReturn DataType.\n    /// </summary>\n    public static readonly NodeId TimestampsToReturn = new NodeId(DataTypes.TimestampsToReturn);\n\n    /// <summary>\n    /// The identifier for the ReadValueId DataType.\n    /// </summary>\n    public static readonly NodeId ReadValueId = new NodeId(DataTypes.ReadValueId);\n\n    /// <summary>\n    /// The identifier for the ReadRequest DataType.\n    /// </summary>\n    public static readonly NodeId ReadRequest = new NodeId(DataTypes.ReadRequest);\n\n    /// <summary>\n    /// The identifier for the ReadResponse DataType.\n    /// </summary>\n    public static readonly NodeId ReadResponse = new NodeId(DataTypes.ReadResponse);\n\n    /// <summary>\n    /// The identifier for the HistoryReadValueId DataType.\n    /// </summary>\n    public static readonly NodeId HistoryReadValueId = new NodeId(DataTypes.HistoryReadValueId);\n\n    /// <summary>\n    /// The identifier for the HistoryReadResult DataType.\n    /// </summary>\n    public static readonly NodeId HistoryReadResult = new NodeId(DataTypes.HistoryReadResult);\n\n    /// <summary>\n    /// The identifier for the HistoryReadDetails DataType.\n    /// </summary>\n    public static readonly NodeId HistoryReadDetails = new NodeId(DataTypes.HistoryReadDetails);\n\n    /// <summary>\n    /// The identifier for the ReadEventDetails DataType.\n    /// </summary>\n    public static readonly NodeId ReadEventDetails = new NodeId(DataTypes.ReadEventDetails);\n\n    /// <summary>\n    /// The identifier for the ReadRawModifiedDetails DataType.\n    /// </summary>\n    public static readonly NodeId ReadRawModifiedDetails = new NodeId(DataTypes.ReadRawModifiedDetails);\n\n    /// <summary>\n    /// The identifier for the ReadProcessedDetails DataType.\n    /// </summary>\n    public static readonly NodeId ReadProcessedDetails = new NodeId(DataTypes.ReadProcessedDetails);\n\n    /// <summary>\n    /// The identifier for the ReadAtTimeDetails DataType.\n    /// </summary>\n    public static readonly NodeId ReadAtTimeDetails = new NodeId(DataTypes.ReadAtTimeDetails);\n\n    /// <summary>\n    /// The identifier for the HistoryData DataType.\n    /// </summary>\n    public static readonly NodeId HistoryData = new NodeId(DataTypes.HistoryData);\n\n    /// <summary>\n    /// The identifier for the ModificationInfo DataType.\n    /// </summary>\n    public static readonly NodeId ModificationInfo = new NodeId(DataTypes.ModificationInfo);\n\n    /// <summary>\n    /// The identifier for the HistoryModifiedData DataType.\n    /// </summary>\n    public static readonly NodeId HistoryModifiedData = new NodeId(DataTypes.HistoryModifiedData);\n\n    /// <summary>\n    /// The identifier for the HistoryEvent DataType.\n    /// </summary>\n    public static readonly NodeId HistoryEvent = new NodeId(DataTypes.HistoryEvent);\n\n    /// <summary>\n    /// The identifier for the HistoryReadRequest DataType.\n    /// </summary>\n    public static readonly NodeId HistoryReadRequest = new NodeId(DataTypes.HistoryReadRequest);\n\n    /// <summary>\n    /// The identifier for the HistoryReadResponse DataType.\n    /// </summary>\n    public static readonly NodeId HistoryReadResponse = new NodeId(DataTypes.HistoryReadResponse);\n\n    /// <summary>\n    /// The identifier for the WriteValue DataType.\n    /// </summary>\n    public static readonly NodeId WriteValue = new NodeId(DataTypes.WriteValue);\n\n    /// <summary>\n    /// The identifier for the WriteRequest DataType.\n    /// </summary>\n    public static readonly NodeId WriteRequest = new NodeId(DataTypes.WriteRequest);\n\n    /// <summary>\n    /// The identifier for the WriteResponse DataType.\n    /// </summary>\n    public static readonly NodeId WriteResponse = new NodeId(DataTypes.WriteResponse);\n\n    /// <summary>\n    /// The identifier for the HistoryUpdateDetails DataType.\n    /// </summary>\n    public static readonly NodeId HistoryUpdateDetails = new NodeId(DataTypes.HistoryUpdateDetails);\n\n    /// <summary>\n    /// The identifier for the HistoryUpdateType DataType.\n    /// </summary>\n    public static readonly NodeId HistoryUpdateType = new NodeId(DataTypes.HistoryUpdateType);\n\n    /// <summary>\n    /// The identifier for the PerformUpdateType DataType.\n    /// </summary>\n    public static readonly NodeId PerformUpdateType = new NodeId(DataTypes.PerformUpdateType);\n\n    /// <summary>\n    /// The identifier for the UpdateDataDetails DataType.\n    /// </summary>\n    public static readonly NodeId UpdateDataDetails = new NodeId(DataTypes.UpdateDataDetails);\n\n    /// <summary>\n    /// The identifier for the UpdateStructureDataDetails DataType.\n    /// </summary>\n    public static readonly NodeId UpdateStructureDataDetails = new NodeId(DataTypes.UpdateStructureDataDetails);\n\n    /// <summary>\n    /// The identifier for the UpdateEventDetails DataType.\n    /// </summary>\n    public static readonly NodeId UpdateEventDetails = new NodeId(DataTypes.UpdateEventDetails);\n\n    /// <summary>\n    /// The identifier for the DeleteRawModifiedDetails DataType.\n    /// </summary>\n    public static readonly NodeId DeleteRawModifiedDetails = new NodeId(DataTypes.DeleteRawModifiedDetails);\n\n    /// <summary>\n    /// The identifier for the DeleteAtTimeDetails DataType.\n    /// </summary>\n    public static readonly NodeId DeleteAtTimeDetails = new NodeId(DataTypes.DeleteAtTimeDetails);\n\n    /// <summary>\n    /// The identifier for the DeleteEventDetails DataType.\n    /// </summary>\n    public static readonly NodeId DeleteEventDetails = new NodeId(DataTypes.DeleteEventDetails);\n\n    /// <summary>\n    /// The identifier for the HistoryUpdateResult DataType.\n    /// </summary>\n    public static readonly NodeId HistoryUpdateResult = new NodeId(DataTypes.HistoryUpdateResult);\n\n    /// <summary>\n    /// The identifier for the HistoryUpdateEventResult DataType.\n    /// </summary>\n    public static readonly NodeId HistoryUpdateEventResult = new NodeId(DataTypes.HistoryUpdateEventResult);\n\n    /// <summary>\n    /// The identifier for the HistoryUpdateRequest DataType.\n    /// </summary>\n    public static readonly NodeId HistoryUpdateRequest = new NodeId(DataTypes.HistoryUpdateRequest);\n\n    /// <summary>\n    /// The identifier for the HistoryUpdateResponse DataType.\n    /// </summary>\n    public static readonly NodeId HistoryUpdateResponse = new NodeId(DataTypes.HistoryUpdateResponse);\n\n    /// <summary>\n    /// The identifier for the CallMethodRequest DataType.\n    /// </summary>\n    public static readonly NodeId CallMethodRequest = new NodeId(DataTypes.CallMethodRequest);\n\n    /// <summary>\n    /// The identifier for the CallMethodResult DataType.\n    /// </summary>\n    public static readonly NodeId CallMethodResult = new NodeId(DataTypes.CallMethodResult);\n\n    /// <summary>\n    /// The identifier for the CallRequest DataType.\n    /// </summary>\n    public static readonly NodeId CallRequest = new NodeId(DataTypes.CallRequest);\n\n    /// <summary>\n    /// The identifier for the CallResponse DataType.\n    /// </summary>\n    public static readonly NodeId CallResponse = new NodeId(DataTypes.CallResponse);\n\n    /// <summary>\n    /// The identifier for the MonitoringMode DataType.\n    /// </summary>\n    public static readonly NodeId MonitoringMode = new NodeId(DataTypes.MonitoringMode);\n\n    /// <summary>\n    /// The identifier for the DataChangeTrigger DataType.\n    /// </summary>\n    public static readonly NodeId DataChangeTrigger = new NodeId(DataTypes.DataChangeTrigger);\n\n    /// <summary>\n    /// The identifier for the DeadbandType DataType.\n    /// </summary>\n    public static readonly NodeId DeadbandType = new NodeId(DataTypes.DeadbandType);\n\n    /// <summary>\n    /// The identifier for the MonitoringFilter DataType.\n    /// </summary>\n    public static readonly NodeId MonitoringFilter = new NodeId(DataTypes.MonitoringFilter);\n\n    /// <summary>\n    /// The identifier for the DataChangeFilter DataType.\n    /// </summary>\n    public static readonly NodeId DataChangeFilter = new NodeId(DataTypes.DataChangeFilter);\n\n    /// <summary>\n    /// The identifier for the EventFilter DataType.\n    /// </summary>\n    public static readonly NodeId EventFilter = new NodeId(DataTypes.EventFilter);\n\n    /// <summary>\n    /// The identifier for the AggregateConfiguration DataType.\n    /// </summary>\n    public static readonly NodeId AggregateConfiguration = new NodeId(DataTypes.AggregateConfiguration);\n\n    /// <summary>\n    /// The identifier for the AggregateFilter DataType.\n    /// </summary>\n    public static readonly NodeId AggregateFilter = new NodeId(DataTypes.AggregateFilter);\n\n    /// <summary>\n    /// The identifier for the MonitoringFilterResult DataType.\n    /// </summary>\n    public static readonly NodeId MonitoringFilterResult = new NodeId(DataTypes.MonitoringFilterResult);\n\n    /// <summary>\n    /// The identifier for the EventFilterResult DataType.\n    /// </summary>\n    public static readonly NodeId EventFilterResult = new NodeId(DataTypes.EventFilterResult);\n\n    /// <summary>\n    /// The identifier for the AggregateFilterResult DataType.\n    /// </summary>\n    public static readonly NodeId AggregateFilterResult = new NodeId(DataTypes.AggregateFilterResult);\n\n    /// <summary>\n    /// The identifier for the MonitoringParameters DataType.\n    /// </summary>\n    public static readonly NodeId MonitoringParameters = new NodeId(DataTypes.MonitoringParameters);\n\n    /// <summary>\n    /// The identifier for the MonitoredItemCreateRequest DataType.\n    /// </summary>\n    public static readonly NodeId MonitoredItemCreateRequest = new NodeId(DataTypes.MonitoredItemCreateRequest);\n\n    /// <summary>\n    /// The identifier for the MonitoredItemCreateResult DataType.\n    /// </summary>\n    public static readonly NodeId MonitoredItemCreateResult = new NodeId(DataTypes.MonitoredItemCreateResult);\n\n    /// <summary>\n    /// The identifier for the CreateMonitoredItemsRequest DataType.\n    /// </summary>\n    public static readonly NodeId CreateMonitoredItemsRequest = new NodeId(DataTypes.CreateMonitoredItemsRequest);\n\n    /// <summary>\n    /// The identifier for the CreateMonitoredItemsResponse DataType.\n    /// </summary>\n    public static readonly NodeId CreateMonitoredItemsResponse = new NodeId(DataTypes.CreateMonitoredItemsResponse);\n\n    /// <summary>\n    /// The identifier for the MonitoredItemModifyRequest DataType.\n    /// </summary>\n    public static readonly NodeId MonitoredItemModifyRequest = new NodeId(DataTypes.MonitoredItemModifyRequest);\n\n    /// <summary>\n    /// The identifier for the MonitoredItemModifyResult DataType.\n    /// </summary>\n    public static readonly NodeId MonitoredItemModifyResult = new NodeId(DataTypes.MonitoredItemModifyResult);\n\n    /// <summary>\n    /// The identifier for the ModifyMonitoredItemsRequest DataType.\n    /// </summary>\n    public static readonly NodeId ModifyMonitoredItemsRequest = new NodeId(DataTypes.ModifyMonitoredItemsRequest);\n\n    /// <summary>\n    /// The identifier for the ModifyMonitoredItemsResponse DataType.\n    /// </summary>\n    public static readonly NodeId ModifyMonitoredItemsResponse = new NodeId(DataTypes.ModifyMonitoredItemsResponse);\n\n    /// <summary>\n    /// The identifier for the SetMonitoringModeRequest DataType.\n    /// </summary>\n    public static readonly NodeId SetMonitoringModeRequest = new NodeId(DataTypes.SetMonitoringModeRequest);\n\n    /// <summary>\n    /// The identifier for the SetMonitoringModeResponse DataType.\n    /// </summary>\n    public static readonly NodeId SetMonitoringModeResponse = new NodeId(DataTypes.SetMonitoringModeResponse);\n\n    /// <summary>\n    /// The identifier for the SetTriggeringRequest DataType.\n    /// </summary>\n    public static readonly NodeId SetTriggeringRequest = new NodeId(DataTypes.SetTriggeringRequest);\n\n    /// <summary>\n    /// The identifier for the SetTriggeringResponse DataType.\n    /// </summary>\n    public static readonly NodeId SetTriggeringResponse = new NodeId(DataTypes.SetTriggeringResponse);\n\n    /// <summary>\n    /// The identifier for the DeleteMonitoredItemsRequest DataType.\n    /// </summary>\n    public static readonly NodeId DeleteMonitoredItemsRequest = new NodeId(DataTypes.DeleteMonitoredItemsRequest);\n\n    /// <summary>\n    /// The identifier for the DeleteMonitoredItemsResponse DataType.\n    /// </summary>\n    public static readonly NodeId DeleteMonitoredItemsResponse = new NodeId(DataTypes.DeleteMonitoredItemsResponse);\n\n    /// <summary>\n    /// The identifier for the CreateSubscriptionRequest DataType.\n    /// </summary>\n    public static readonly NodeId CreateSubscriptionRequest = new NodeId(DataTypes.CreateSubscriptionRequest);\n\n    /// <summary>\n    /// The identifier for the CreateSubscriptionResponse DataType.\n    /// </summary>\n    public static readonly NodeId CreateSubscriptionResponse = new NodeId(DataTypes.CreateSubscriptionResponse);\n\n    /// <summary>\n    /// The identifier for the ModifySubscriptionRequest DataType.\n    /// </summary>\n    public static readonly NodeId ModifySubscriptionRequest = new NodeId(DataTypes.ModifySubscriptionRequest);\n\n    /// <summary>\n    /// The identifier for the ModifySubscriptionResponse DataType.\n    /// </summary>\n    public static readonly NodeId ModifySubscriptionResponse = new NodeId(DataTypes.ModifySubscriptionResponse);\n\n    /// <summary>\n    /// The identifier for the SetPublishingModeRequest DataType.\n    /// </summary>\n    public static readonly NodeId SetPublishingModeRequest = new NodeId(DataTypes.SetPublishingModeRequest);\n\n    /// <summary>\n    /// The identifier for the SetPublishingModeResponse DataType.\n    /// </summary>\n    public static readonly NodeId SetPublishingModeResponse = new NodeId(DataTypes.SetPublishingModeResponse);\n\n    /// <summary>\n    /// The identifier for the NotificationMessage DataType.\n    /// </summary>\n    public static readonly NodeId NotificationMessage = new NodeId(DataTypes.NotificationMessage);\n\n    /// <summary>\n    /// The identifier for the NotificationData DataType.\n    /// </summary>\n    public static readonly NodeId NotificationData = new NodeId(DataTypes.NotificationData);\n\n    /// <summary>\n    /// The identifier for the DataChangeNotification DataType.\n    /// </summary>\n    public static readonly NodeId DataChangeNotification = new NodeId(DataTypes.DataChangeNotification);\n\n    /// <summary>\n    /// The identifier for the MonitoredItemNotification DataType.\n    /// </summary>\n    public static readonly NodeId MonitoredItemNotification = new NodeId(DataTypes.MonitoredItemNotification);\n\n    /// <summary>\n    /// The identifier for the EventNotificationList DataType.\n    /// </summary>\n    public static readonly NodeId EventNotificationList = new NodeId(DataTypes.EventNotificationList);\n\n    /// <summary>\n    /// The identifier for the EventFieldList DataType.\n    /// </summary>\n    public static readonly NodeId EventFieldList = new NodeId(DataTypes.EventFieldList);\n\n    /// <summary>\n    /// The identifier for the HistoryEventFieldList DataType.\n    /// </summary>\n    public static readonly NodeId HistoryEventFieldList = new NodeId(DataTypes.HistoryEventFieldList);\n\n    /// <summary>\n    /// The identifier for the StatusChangeNotification DataType.\n    /// </summary>\n    public static readonly NodeId StatusChangeNotification = new NodeId(DataTypes.StatusChangeNotification);\n\n    /// <summary>\n    /// The identifier for the SubscriptionAcknowledgement DataType.\n    /// </summary>\n    public static readonly NodeId SubscriptionAcknowledgement = new NodeId(DataTypes.SubscriptionAcknowledgement);\n\n    /// <summary>\n    /// The identifier for the PublishRequest DataType.\n    /// </summary>\n    public static readonly NodeId PublishRequest = new NodeId(DataTypes.PublishRequest);\n\n    /// <summary>\n    /// The identifier for the PublishResponse DataType.\n    /// </summary>\n    public static readonly NodeId PublishResponse = new NodeId(DataTypes.PublishResponse);\n\n    /// <summary>\n    /// The identifier for the RepublishRequest DataType.\n    /// </summary>\n    public static readonly NodeId RepublishRequest = new NodeId(DataTypes.RepublishRequest);\n\n    /// <summary>\n    /// The identifier for the RepublishResponse DataType.\n    /// </summary>\n    public static readonly NodeId RepublishResponse = new NodeId(DataTypes.RepublishResponse);\n\n    /// <summary>\n    /// The identifier for the TransferResult DataType.\n    /// </summary>\n    public static readonly NodeId TransferResult = new NodeId(DataTypes.TransferResult);\n\n    /// <summary>\n    /// The identifier for the TransferSubscriptionsRequest DataType.\n    /// </summary>\n    public static readonly NodeId TransferSubscriptionsRequest = new NodeId(DataTypes.TransferSubscriptionsRequest);\n\n    /// <summary>\n    /// The identifier for the TransferSubscriptionsResponse DataType.\n    /// </summary>\n    public static readonly NodeId TransferSubscriptionsResponse = new NodeId(DataTypes.TransferSubscriptionsResponse);\n\n    /// <summary>\n    /// The identifier for the DeleteSubscriptionsRequest DataType.\n    /// </summary>\n    public static readonly NodeId DeleteSubscriptionsRequest = new NodeId(DataTypes.DeleteSubscriptionsRequest);\n\n    /// <summary>\n    /// The identifier for the DeleteSubscriptionsResponse DataType.\n    /// </summary>\n    public static readonly NodeId DeleteSubscriptionsResponse = new NodeId(DataTypes.DeleteSubscriptionsResponse);\n\n    /// <summary>\n    /// The identifier for the EnumeratedTestType DataType.\n    /// </summary>\n    public static readonly NodeId EnumeratedTestType = new NodeId(DataTypes.EnumeratedTestType);\n\n    /// <summary>\n    /// The identifier for the ScalarTestType DataType.\n    /// </summary>\n    public static readonly NodeId ScalarTestType = new NodeId(DataTypes.ScalarTestType);\n\n    /// <summary>\n    /// The identifier for the ArrayTestType DataType.\n    /// </summary>\n    public static readonly NodeId ArrayTestType = new NodeId(DataTypes.ArrayTestType);\n\n    /// <summary>\n    /// The identifier for the CompositeTestType DataType.\n    /// </summary>\n    public static readonly NodeId CompositeTestType = new NodeId(DataTypes.CompositeTestType);\n\n    /// <summary>\n    /// The identifier for the TestStackRequest DataType.\n    /// </summary>\n    public static readonly NodeId TestStackRequest = new NodeId(DataTypes.TestStackRequest);\n\n    /// <summary>\n    /// The identifier for the TestStackResponse DataType.\n    /// </summary>\n    public static readonly NodeId TestStackResponse = new NodeId(DataTypes.TestStackResponse);\n\n    /// <summary>\n    /// The identifier for the TestStackExRequest DataType.\n    /// </summary>\n    public static readonly NodeId TestStackExRequest = new NodeId(DataTypes.TestStackExRequest);\n\n    /// <summary>\n    /// The identifier for the TestStackExResponse DataType.\n    /// </summary>\n    public static readonly NodeId TestStackExResponse = new NodeId(DataTypes.TestStackExResponse);\n\n    /// <summary>\n    /// The identifier for the BuildInfo DataType.\n    /// </summary>\n    public static readonly NodeId BuildInfo = new NodeId(DataTypes.BuildInfo);\n\n    /// <summary>\n    /// The identifier for the RedundancySupport DataType.\n    /// </summary>\n    public static readonly NodeId RedundancySupport = new NodeId(DataTypes.RedundancySupport);\n\n    /// <summary>\n    /// The identifier for the ServerState DataType.\n    /// </summary>\n    public static readonly NodeId ServerState = new NodeId(DataTypes.ServerState);\n\n    /// <summary>\n    /// The identifier for the RedundantServerDataType DataType.\n    /// </summary>\n    public static readonly NodeId RedundantServerDataType = new NodeId(DataTypes.RedundantServerDataType);\n\n    /// <summary>\n    /// The identifier for the EndpointUrlListDataType DataType.\n    /// </summary>\n    public static readonly NodeId EndpointUrlListDataType = new NodeId(DataTypes.EndpointUrlListDataType);\n\n    /// <summary>\n    /// The identifier for the NetworkGroupDataType DataType.\n    /// </summary>\n    public static readonly NodeId NetworkGroupDataType = new NodeId(DataTypes.NetworkGroupDataType);\n\n    /// <summary>\n    /// The identifier for the SamplingIntervalDiagnosticsDataType DataType.\n    /// </summary>\n    public static readonly NodeId SamplingIntervalDiagnosticsDataType = new NodeId(DataTypes.SamplingIntervalDiagnosticsDataType);\n\n    /// <summary>\n    /// The identifier for the ServerDiagnosticsSummaryDataType DataType.\n    /// </summary>\n    public static readonly NodeId ServerDiagnosticsSummaryDataType = new NodeId(DataTypes.ServerDiagnosticsSummaryDataType);\n\n    /// <summary>\n    /// The identifier for the ServerStatusDataType DataType.\n    /// </summary>\n    public static readonly NodeId ServerStatusDataType = new NodeId(DataTypes.ServerStatusDataType);\n\n    /// <summary>\n    /// The identifier for the SessionDiagnosticsDataType DataType.\n    /// </summary>\n    public static readonly NodeId SessionDiagnosticsDataType = new NodeId(DataTypes.SessionDiagnosticsDataType);\n\n    /// <summary>\n    /// The identifier for the SessionSecurityDiagnosticsDataType DataType.\n    /// </summary>\n    public static readonly NodeId SessionSecurityDiagnosticsDataType = new NodeId(DataTypes.SessionSecurityDiagnosticsDataType);\n\n    /// <summary>\n    /// The identifier for the ServiceCounterDataType DataType.\n    /// </summary>\n    public static readonly NodeId ServiceCounterDataType = new NodeId(DataTypes.ServiceCounterDataType);\n\n    /// <summary>\n    /// The identifier for the StatusResult DataType.\n    /// </summary>\n    public static readonly NodeId StatusResult = new NodeId(DataTypes.StatusResult);\n\n    /// <summary>\n    /// The identifier for the SubscriptionDiagnosticsDataType DataType.\n    /// </summary>\n    public static readonly NodeId SubscriptionDiagnosticsDataType = new NodeId(DataTypes.SubscriptionDiagnosticsDataType);\n\n    /// <summary>\n    /// The identifier for the ModelChangeStructureVerbMask DataType.\n    /// </summary>\n    public static readonly NodeId ModelChangeStructureVerbMask = new NodeId(DataTypes.ModelChangeStructureVerbMask);\n\n    /// <summary>\n    /// The identifier for the ModelChangeStructureDataType DataType.\n    /// </summary>\n    public static readonly NodeId ModelChangeStructureDataType = new NodeId(DataTypes.ModelChangeStructureDataType);\n\n    /// <summary>\n    /// The identifier for the SemanticChangeStructureDataType DataType.\n    /// </summary>\n    public static readonly NodeId SemanticChangeStructureDataType = new NodeId(DataTypes.SemanticChangeStructureDataType);\n\n    /// <summary>\n    /// The identifier for the Range DataType.\n    /// </summary>\n    public static readonly NodeId Range = new NodeId(DataTypes.Range);\n\n    /// <summary>\n    /// The identifier for the EUInformation DataType.\n    /// </summary>\n    public static readonly NodeId EUInformation = new NodeId(DataTypes.EUInformation);\n\n    /// <summary>\n    /// The identifier for the AxisScaleEnumeration DataType.\n    /// </summary>\n    public static readonly NodeId AxisScaleEnumeration = new NodeId(DataTypes.AxisScaleEnumeration);\n\n    /// <summary>\n    /// The identifier for the ComplexNumberType DataType.\n    /// </summary>\n    public static readonly NodeId ComplexNumberType = new NodeId(DataTypes.ComplexNumberType);\n\n    /// <summary>\n    /// The identifier for the DoubleComplexNumberType DataType.\n    /// </summary>\n    public static readonly NodeId DoubleComplexNumberType = new NodeId(DataTypes.DoubleComplexNumberType);\n\n    /// <summary>\n    /// The identifier for the AxisInformation DataType.\n    /// </summary>\n    public static readonly NodeId AxisInformation = new NodeId(DataTypes.AxisInformation);\n\n    /// <summary>\n    /// The identifier for the XVType DataType.\n    /// </summary>\n    public static readonly NodeId XVType = new NodeId(DataTypes.XVType);\n\n    /// <summary>\n    /// The identifier for the ProgramDiagnosticDataType DataType.\n    /// </summary>\n    public static readonly NodeId ProgramDiagnosticDataType = new NodeId(DataTypes.ProgramDiagnosticDataType);\n\n    /// <summary>\n    /// The identifier for the Annotation DataType.\n    /// </summary>\n    public static readonly NodeId Annotation = new NodeId(DataTypes.Annotation);\n\n    /// <summary>\n    /// The identifier for the ExceptionDeviationFormat DataType.\n    /// </summary>\n    public static readonly NodeId ExceptionDeviationFormat = new NodeId(DataTypes.ExceptionDeviationFormat);\n  }\n  #endregion\n\n  #region Method Node Identifiers\n  /// <summary>\n  /// A class that declares constants for all Methods in the Model Design.\n  /// </summary>\n  /// <exclude />\n  [System.CodeDom.Compiler.GeneratedCodeAttribute(\"Opc.Ua.ModelCompiler\", \"1.0.0.0\")]\n  public static partial class MethodIds\n  {\n    /// <summary>\n    /// The identifier for the ServerType_GetMonitoredItems Method.\n    /// </summary>\n    public static readonly NodeId ServerType_GetMonitoredItems = new NodeId(Methods.ServerType_GetMonitoredItems);\n\n    /// <summary>\n    /// The identifier for the FileType_Open Method.\n    /// </summary>\n    public static readonly NodeId FileType_Open = new NodeId(Methods.FileType_Open);\n\n    /// <summary>\n    /// The identifier for the FileType_Close Method.\n    /// </summary>\n    public static readonly NodeId FileType_Close = new NodeId(Methods.FileType_Close);\n\n    /// <summary>\n    /// The identifier for the FileType_Read Method.\n    /// </summary>\n    public static readonly NodeId FileType_Read = new NodeId(Methods.FileType_Read);\n\n    /// <summary>\n    /// The identifier for the FileType_Write Method.\n    /// </summary>\n    public static readonly NodeId FileType_Write = new NodeId(Methods.FileType_Write);\n\n    /// <summary>\n    /// The identifier for the FileType_GetPosition Method.\n    /// </summary>\n    public static readonly NodeId FileType_GetPosition = new NodeId(Methods.FileType_GetPosition);\n\n    /// <summary>\n    /// The identifier for the FileType_SetPosition Method.\n    /// </summary>\n    public static readonly NodeId FileType_SetPosition = new NodeId(Methods.FileType_SetPosition);\n\n    /// <summary>\n    /// The identifier for the AddressSpaceFileType_ExportNamespace Method.\n    /// </summary>\n    public static readonly NodeId AddressSpaceFileType_ExportNamespace = new NodeId(Methods.AddressSpaceFileType_ExportNamespace);\n\n    /// <summary>\n    /// The identifier for the Server_Namespaces_AddressSpaceFile_Open Method.\n    /// </summary>\n    public static readonly NodeId Server_Namespaces_AddressSpaceFile_Open = new NodeId(Methods.Server_Namespaces_AddressSpaceFile_Open);\n\n    /// <summary>\n    /// The identifier for the Server_Namespaces_AddressSpaceFile_Close Method.\n    /// </summary>\n    public static readonly NodeId Server_Namespaces_AddressSpaceFile_Close = new NodeId(Methods.Server_Namespaces_AddressSpaceFile_Close);\n\n    /// <summary>\n    /// The identifier for the Server_Namespaces_AddressSpaceFile_Read Method.\n    /// </summary>\n    public static readonly NodeId Server_Namespaces_AddressSpaceFile_Read = new NodeId(Methods.Server_Namespaces_AddressSpaceFile_Read);\n\n    /// <summary>\n    /// The identifier for the Server_Namespaces_AddressSpaceFile_Write Method.\n    /// </summary>\n    public static readonly NodeId Server_Namespaces_AddressSpaceFile_Write = new NodeId(Methods.Server_Namespaces_AddressSpaceFile_Write);\n\n    /// <summary>\n    /// The identifier for the Server_Namespaces_AddressSpaceFile_GetPosition Method.\n    /// </summary>\n    public static readonly NodeId Server_Namespaces_AddressSpaceFile_GetPosition = new NodeId(Methods.Server_Namespaces_AddressSpaceFile_GetPosition);\n\n    /// <summary>\n    /// The identifier for the Server_Namespaces_AddressSpaceFile_SetPosition Method.\n    /// </summary>\n    public static readonly NodeId Server_Namespaces_AddressSpaceFile_SetPosition = new NodeId(Methods.Server_Namespaces_AddressSpaceFile_SetPosition);\n\n    /// <summary>\n    /// The identifier for the Server_GetMonitoredItems Method.\n    /// </summary>\n    public static readonly NodeId Server_GetMonitoredItems = new NodeId(Methods.Server_GetMonitoredItems);\n\n    /// <summary>\n    /// The identifier for the GetMonitoredItemsMethodType Method.\n    /// </summary>\n    public static readonly NodeId GetMonitoredItemsMethodType = new NodeId(Methods.GetMonitoredItemsMethodType);\n\n    /// <summary>\n    /// The identifier for the OpenMethodType Method.\n    /// </summary>\n    public static readonly NodeId OpenMethodType = new NodeId(Methods.OpenMethodType);\n\n    /// <summary>\n    /// The identifier for the CloseMethodType Method.\n    /// </summary>\n    public static readonly NodeId CloseMethodType = new NodeId(Methods.CloseMethodType);\n\n    /// <summary>\n    /// The identifier for the ReadMethodType Method.\n    /// </summary>\n    public static readonly NodeId ReadMethodType = new NodeId(Methods.ReadMethodType);\n\n    /// <summary>\n    /// The identifier for the WriteMethodType Method.\n    /// </summary>\n    public static readonly NodeId WriteMethodType = new NodeId(Methods.WriteMethodType);\n\n    /// <summary>\n    /// The identifier for the GetPositionMethodType Method.\n    /// </summary>\n    public static readonly NodeId GetPositionMethodType = new NodeId(Methods.GetPositionMethodType);\n\n    /// <summary>\n    /// The identifier for the SetPositionMethodType Method.\n    /// </summary>\n    public static readonly NodeId SetPositionMethodType = new NodeId(Methods.SetPositionMethodType);\n\n    /// <summary>\n    /// The identifier for the ConditionType_Disable Method.\n    /// </summary>\n    public static readonly NodeId ConditionType_Disable = new NodeId(Methods.ConditionType_Disable);\n\n    /// <summary>\n    /// The identifier for the ConditionType_Enable Method.\n    /// </summary>\n    public static readonly NodeId ConditionType_Enable = new NodeId(Methods.ConditionType_Enable);\n\n    /// <summary>\n    /// The identifier for the ConditionType_AddComment Method.\n    /// </summary>\n    public static readonly NodeId ConditionType_AddComment = new NodeId(Methods.ConditionType_AddComment);\n\n    /// <summary>\n    /// The identifier for the ConditionType_ConditionRefresh Method.\n    /// </summary>\n    public static readonly NodeId ConditionType_ConditionRefresh = new NodeId(Methods.ConditionType_ConditionRefresh);\n\n    /// <summary>\n    /// The identifier for the ConditionRefreshMethodType Method.\n    /// </summary>\n    public static readonly NodeId ConditionRefreshMethodType = new NodeId(Methods.ConditionRefreshMethodType);\n\n    /// <summary>\n    /// The identifier for the AddCommentMethodType Method.\n    /// </summary>\n    public static readonly NodeId AddCommentMethodType = new NodeId(Methods.AddCommentMethodType);\n\n    /// <summary>\n    /// The identifier for the DialogConditionType_Respond Method.\n    /// </summary>\n    public static readonly NodeId DialogConditionType_Respond = new NodeId(Methods.DialogConditionType_Respond);\n\n    /// <summary>\n    /// The identifier for the DialogResponseMethodType Method.\n    /// </summary>\n    public static readonly NodeId DialogResponseMethodType = new NodeId(Methods.DialogResponseMethodType);\n\n    /// <summary>\n    /// The identifier for the AcknowledgeableConditionType_Acknowledge Method.\n    /// </summary>\n    public static readonly NodeId AcknowledgeableConditionType_Acknowledge = new NodeId(Methods.AcknowledgeableConditionType_Acknowledge);\n\n    /// <summary>\n    /// The identifier for the AcknowledgeableConditionType_Confirm Method.\n    /// </summary>\n    public static readonly NodeId AcknowledgeableConditionType_Confirm = new NodeId(Methods.AcknowledgeableConditionType_Confirm);\n\n    /// <summary>\n    /// The identifier for the AlarmConditionType_ShelvingState_Unshelve Method.\n    /// </summary>\n    public static readonly NodeId AlarmConditionType_ShelvingState_Unshelve = new NodeId(Methods.AlarmConditionType_ShelvingState_Unshelve);\n\n    /// <summary>\n    /// The identifier for the AlarmConditionType_ShelvingState_OneShotShelve Method.\n    /// </summary>\n    public static readonly NodeId AlarmConditionType_ShelvingState_OneShotShelve = new NodeId(Methods.AlarmConditionType_ShelvingState_OneShotShelve);\n\n    /// <summary>\n    /// The identifier for the AlarmConditionType_ShelvingState_TimedShelve Method.\n    /// </summary>\n    public static readonly NodeId AlarmConditionType_ShelvingState_TimedShelve = new NodeId(Methods.AlarmConditionType_ShelvingState_TimedShelve);\n\n    /// <summary>\n    /// The identifier for the ShelvedStateMachineType_Unshelve Method.\n    /// </summary>\n    public static readonly NodeId ShelvedStateMachineType_Unshelve = new NodeId(Methods.ShelvedStateMachineType_Unshelve);\n\n    /// <summary>\n    /// The identifier for the ShelvedStateMachineType_OneShotShelve Method.\n    /// </summary>\n    public static readonly NodeId ShelvedStateMachineType_OneShotShelve = new NodeId(Methods.ShelvedStateMachineType_OneShotShelve);\n\n    /// <summary>\n    /// The identifier for the ShelvedStateMachineType_TimedShelve Method.\n    /// </summary>\n    public static readonly NodeId ShelvedStateMachineType_TimedShelve = new NodeId(Methods.ShelvedStateMachineType_TimedShelve);\n\n    /// <summary>\n    /// The identifier for the TimedShelveMethodType Method.\n    /// </summary>\n    public static readonly NodeId TimedShelveMethodType = new NodeId(Methods.TimedShelveMethodType);\n\n    /// <summary>\n    /// The identifier for the ProgramStateMachineType_Start Method.\n    /// </summary>\n    public static readonly NodeId ProgramStateMachineType_Start = new NodeId(Methods.ProgramStateMachineType_Start);\n\n    /// <summary>\n    /// The identifier for the ProgramStateMachineType_Suspend Method.\n    /// </summary>\n    public static readonly NodeId ProgramStateMachineType_Suspend = new NodeId(Methods.ProgramStateMachineType_Suspend);\n\n    /// <summary>\n    /// The identifier for the ProgramStateMachineType_Resume Method.\n    /// </summary>\n    public static readonly NodeId ProgramStateMachineType_Resume = new NodeId(Methods.ProgramStateMachineType_Resume);\n\n    /// <summary>\n    /// The identifier for the ProgramStateMachineType_Halt Method.\n    /// </summary>\n    public static readonly NodeId ProgramStateMachineType_Halt = new NodeId(Methods.ProgramStateMachineType_Halt);\n\n    /// <summary>\n    /// The identifier for the ProgramStateMachineType_Reset Method.\n    /// </summary>\n    public static readonly NodeId ProgramStateMachineType_Reset = new NodeId(Methods.ProgramStateMachineType_Reset);\n\n    /// <summary>\n    /// The identifier for the LockType_Lock Method.\n    /// </summary>\n    public static readonly NodeId LockType_Lock = new NodeId(Methods.LockType_Lock);\n\n    /// <summary>\n    /// The identifier for the LockType_Unlock Method.\n    /// </summary>\n    public static readonly NodeId LockType_Unlock = new NodeId(Methods.LockType_Unlock);\n\n    /// <summary>\n    /// The identifier for the ServerLock_Lock Method.\n    /// </summary>\n    public static readonly NodeId ServerLock_Lock = new NodeId(Methods.ServerLock_Lock);\n\n    /// <summary>\n    /// The identifier for the ServerLock_Unlock Method.\n    /// </summary>\n    public static readonly NodeId ServerLock_Unlock = new NodeId(Methods.ServerLock_Unlock);\n  }\n  #endregion\n\n  #region Object Node Identifiers\n  /// <summary>\n  /// A class that declares constants for all Objects in the Model Design.\n  /// </summary>\n  /// <exclude />\n  [System.CodeDom.Compiler.GeneratedCodeAttribute(\"Opc.Ua.ModelCompiler\", \"1.0.0.0\")]\n  public static partial class ObjectIds\n  {\n    /// <summary>\n    /// The identifier for the DefaultBinary Object.\n    /// </summary>\n    public static readonly NodeId DefaultBinary = new NodeId(Objects.DefaultBinary);\n\n    /// <summary>\n    /// The identifier for the DefaultXml Object.\n    /// </summary>\n    public static readonly NodeId DefaultXml = new NodeId(Objects.DefaultXml);\n\n    /// <summary>\n    /// The identifier for the ModellingRule_Mandatory Object.\n    /// </summary>\n    public static readonly NodeId ModellingRule_Mandatory = new NodeId(Objects.ModellingRule_Mandatory);\n\n    /// <summary>\n    /// The identifier for the ModellingRule_Optional Object.\n    /// </summary>\n    public static readonly NodeId ModellingRule_Optional = new NodeId(Objects.ModellingRule_Optional);\n\n    /// <summary>\n    /// The identifier for the ModellingRule_ExposesItsArray Object.\n    /// </summary>\n    public static readonly NodeId ModellingRule_ExposesItsArray = new NodeId(Objects.ModellingRule_ExposesItsArray);\n\n    /// <summary>\n    /// The identifier for the ModellingRule_MandatoryShared Object.\n    /// </summary>\n    public static readonly NodeId ModellingRule_MandatoryShared = new NodeId(Objects.ModellingRule_MandatoryShared);\n\n    /// <summary>\n    /// The identifier for the ModellingRule_OptionalPlaceholder Object.\n    /// </summary>\n    public static readonly NodeId ModellingRule_OptionalPlaceholder = new NodeId(Objects.ModellingRule_OptionalPlaceholder);\n\n    /// <summary>\n    /// The identifier for the ModellingRule_MandatoryPlaceholder Object.\n    /// </summary>\n    public static readonly NodeId ModellingRule_MandatoryPlaceholder = new NodeId(Objects.ModellingRule_MandatoryPlaceholder);\n\n    /// <summary>\n    /// The identifier for the RootFolder Object.\n    /// </summary>\n    public static readonly NodeId RootFolder = new NodeId(Objects.RootFolder);\n\n    /// <summary>\n    /// The identifier for the ObjectsFolder Object.\n    /// </summary>\n    public static readonly NodeId ObjectsFolder = new NodeId(Objects.ObjectsFolder);\n\n    /// <summary>\n    /// The identifier for the TypesFolder Object.\n    /// </summary>\n    public static readonly NodeId TypesFolder = new NodeId(Objects.TypesFolder);\n\n    /// <summary>\n    /// The identifier for the ViewsFolder Object.\n    /// </summary>\n    public static readonly NodeId ViewsFolder = new NodeId(Objects.ViewsFolder);\n\n    /// <summary>\n    /// The identifier for the ObjectTypesFolder Object.\n    /// </summary>\n    public static readonly NodeId ObjectTypesFolder = new NodeId(Objects.ObjectTypesFolder);\n\n    /// <summary>\n    /// The identifier for the VariableTypesFolder Object.\n    /// </summary>\n    public static readonly NodeId VariableTypesFolder = new NodeId(Objects.VariableTypesFolder);\n\n    /// <summary>\n    /// The identifier for the DataTypesFolder Object.\n    /// </summary>\n    public static readonly NodeId DataTypesFolder = new NodeId(Objects.DataTypesFolder);\n\n    /// <summary>\n    /// The identifier for the ReferenceTypesFolder Object.\n    /// </summary>\n    public static readonly NodeId ReferenceTypesFolder = new NodeId(Objects.ReferenceTypesFolder);\n\n    /// <summary>\n    /// The identifier for the XmlSchema_TypeSystem Object.\n    /// </summary>\n    public static readonly NodeId XmlSchema_TypeSystem = new NodeId(Objects.XmlSchema_TypeSystem);\n\n    /// <summary>\n    /// The identifier for the OPCBinarySchema_TypeSystem Object.\n    /// </summary>\n    public static readonly NodeId OPCBinarySchema_TypeSystem = new NodeId(Objects.OPCBinarySchema_TypeSystem);\n\n    /// <summary>\n    /// The identifier for the ServerType_ServerCapabilities Object.\n    /// </summary>\n    public static readonly NodeId ServerType_ServerCapabilities = new NodeId(Objects.ServerType_ServerCapabilities);\n\n    /// <summary>\n    /// The identifier for the ServerType_ServerCapabilities_ModellingRules Object.\n    /// </summary>\n    public static readonly NodeId ServerType_ServerCapabilities_ModellingRules = new NodeId(Objects.ServerType_ServerCapabilities_ModellingRules);\n\n    /// <summary>\n    /// The identifier for the ServerType_ServerCapabilities_AggregateFunctions Object.\n    /// </summary>\n    public static readonly NodeId ServerType_ServerCapabilities_AggregateFunctions = new NodeId(Objects.ServerType_ServerCapabilities_AggregateFunctions);\n\n    /// <summary>\n    /// The identifier for the ServerType_ServerDiagnostics Object.\n    /// </summary>\n    public static readonly NodeId ServerType_ServerDiagnostics = new NodeId(Objects.ServerType_ServerDiagnostics);\n\n    /// <summary>\n    /// The identifier for the ServerType_ServerDiagnostics_SessionsDiagnosticsSummary Object.\n    /// </summary>\n    public static readonly NodeId ServerType_ServerDiagnostics_SessionsDiagnosticsSummary = new NodeId(Objects.ServerType_ServerDiagnostics_SessionsDiagnosticsSummary);\n\n    /// <summary>\n    /// The identifier for the ServerType_VendorServerInfo Object.\n    /// </summary>\n    public static readonly NodeId ServerType_VendorServerInfo = new NodeId(Objects.ServerType_VendorServerInfo);\n\n    /// <summary>\n    /// The identifier for the ServerType_ServerRedundancy Object.\n    /// </summary>\n    public static readonly NodeId ServerType_ServerRedundancy = new NodeId(Objects.ServerType_ServerRedundancy);\n\n    /// <summary>\n    /// The identifier for the ServerType_Namespaces Object.\n    /// </summary>\n    public static readonly NodeId ServerType_Namespaces = new NodeId(Objects.ServerType_Namespaces);\n\n    /// <summary>\n    /// The identifier for the ServerCapabilitiesType_OperationLimits Object.\n    /// </summary>\n    public static readonly NodeId ServerCapabilitiesType_OperationLimits = new NodeId(Objects.ServerCapabilitiesType_OperationLimits);\n\n    /// <summary>\n    /// The identifier for the ServerCapabilitiesType_ModellingRules Object.\n    /// </summary>\n    public static readonly NodeId ServerCapabilitiesType_ModellingRules = new NodeId(Objects.ServerCapabilitiesType_ModellingRules);\n\n    /// <summary>\n    /// The identifier for the ServerCapabilitiesType_AggregateFunctions Object.\n    /// </summary>\n    public static readonly NodeId ServerCapabilitiesType_AggregateFunctions = new NodeId(Objects.ServerCapabilitiesType_AggregateFunctions);\n\n    /// <summary>\n    /// The identifier for the ServerDiagnosticsType_SessionsDiagnosticsSummary Object.\n    /// </summary>\n    public static readonly NodeId ServerDiagnosticsType_SessionsDiagnosticsSummary = new NodeId(Objects.ServerDiagnosticsType_SessionsDiagnosticsSummary);\n\n    /// <summary>\n    /// The identifier for the SessionsDiagnosticsSummaryType_SessionPlaceholder Object.\n    /// </summary>\n    public static readonly NodeId SessionsDiagnosticsSummaryType_SessionPlaceholder = new NodeId(Objects.SessionsDiagnosticsSummaryType_SessionPlaceholder);\n\n    /// <summary>\n    /// The identifier for the NamespaceMetadataType_NamespaceFile Object.\n    /// </summary>\n    public static readonly NodeId NamespaceMetadataType_NamespaceFile = new NodeId(Objects.NamespaceMetadataType_NamespaceFile);\n\n    /// <summary>\n    /// The identifier for the NamespacesType_NamespaceIdentifier Object.\n    /// </summary>\n    public static readonly NodeId NamespacesType_NamespaceIdentifier = new NodeId(Objects.NamespacesType_NamespaceIdentifier);\n\n    /// <summary>\n    /// The identifier for the NamespacesType_AddressSpaceFile Object.\n    /// </summary>\n    public static readonly NodeId NamespacesType_AddressSpaceFile = new NodeId(Objects.NamespacesType_AddressSpaceFile);\n\n    /// <summary>\n    /// The identifier for the EventTypesFolder Object.\n    /// </summary>\n    public static readonly NodeId EventTypesFolder = new NodeId(Objects.EventTypesFolder);\n\n    /// <summary>\n    /// The identifier for the Server Object.\n    /// </summary>\n    public static readonly NodeId Server = new NodeId(Objects.Server);\n\n    /// <summary>\n    /// The identifier for the Server_ServerCapabilities Object.\n    /// </summary>\n    public static readonly NodeId Server_ServerCapabilities = new NodeId(Objects.Server_ServerCapabilities);\n\n    /// <summary>\n    /// The identifier for the Server_ServerCapabilities_ModellingRules Object.\n    /// </summary>\n    public static readonly NodeId Server_ServerCapabilities_ModellingRules = new NodeId(Objects.Server_ServerCapabilities_ModellingRules);\n\n    /// <summary>\n    /// The identifier for the Server_ServerCapabilities_AggregateFunctions Object.\n    /// </summary>\n    public static readonly NodeId Server_ServerCapabilities_AggregateFunctions = new NodeId(Objects.Server_ServerCapabilities_AggregateFunctions);\n\n    /// <summary>\n    /// The identifier for the Server_ServerDiagnostics Object.\n    /// </summary>\n    public static readonly NodeId Server_ServerDiagnostics = new NodeId(Objects.Server_ServerDiagnostics);\n\n    /// <summary>\n    /// The identifier for the Server_ServerDiagnostics_SessionsDiagnosticsSummary Object.\n    /// </summary>\n    public static readonly NodeId Server_ServerDiagnostics_SessionsDiagnosticsSummary = new NodeId(Objects.Server_ServerDiagnostics_SessionsDiagnosticsSummary);\n\n    /// <summary>\n    /// The identifier for the Server_VendorServerInfo Object.\n    /// </summary>\n    public static readonly NodeId Server_VendorServerInfo = new NodeId(Objects.Server_VendorServerInfo);\n\n    /// <summary>\n    /// The identifier for the Server_ServerRedundancy Object.\n    /// </summary>\n    public static readonly NodeId Server_ServerRedundancy = new NodeId(Objects.Server_ServerRedundancy);\n\n    /// <summary>\n    /// The identifier for the Server_Namespaces Object.\n    /// </summary>\n    public static readonly NodeId Server_Namespaces = new NodeId(Objects.Server_Namespaces);\n\n    /// <summary>\n    /// The identifier for the HistoryServerCapabilities Object.\n    /// </summary>\n    public static readonly NodeId HistoryServerCapabilities = new NodeId(Objects.HistoryServerCapabilities);\n\n    /// <summary>\n    /// The identifier for the HistoryServerCapabilities_AggregateFunctions Object.\n    /// </summary>\n    public static readonly NodeId HistoryServerCapabilities_AggregateFunctions = new NodeId(Objects.HistoryServerCapabilities_AggregateFunctions);\n\n    /// <summary>\n    /// The identifier for the AlarmConditionType_ShelvingState Object.\n    /// </summary>\n    public static readonly NodeId AlarmConditionType_ShelvingState = new NodeId(Objects.AlarmConditionType_ShelvingState);\n\n    /// <summary>\n    /// The identifier for the ShelvedStateMachineType_Unshelved Object.\n    /// </summary>\n    public static readonly NodeId ShelvedStateMachineType_Unshelved = new NodeId(Objects.ShelvedStateMachineType_Unshelved);\n\n    /// <summary>\n    /// The identifier for the ShelvedStateMachineType_TimedShelved Object.\n    /// </summary>\n    public static readonly NodeId ShelvedStateMachineType_TimedShelved = new NodeId(Objects.ShelvedStateMachineType_TimedShelved);\n\n    /// <summary>\n    /// The identifier for the ShelvedStateMachineType_OneShotShelved Object.\n    /// </summary>\n    public static readonly NodeId ShelvedStateMachineType_OneShotShelved = new NodeId(Objects.ShelvedStateMachineType_OneShotShelved);\n\n    /// <summary>\n    /// The identifier for the ShelvedStateMachineType_UnshelvedToTimedShelved Object.\n    /// </summary>\n    public static readonly NodeId ShelvedStateMachineType_UnshelvedToTimedShelved = new NodeId(Objects.ShelvedStateMachineType_UnshelvedToTimedShelved);\n\n    /// <summary>\n    /// The identifier for the ShelvedStateMachineType_UnshelvedToOneShotShelved Object.\n    /// </summary>\n    public static readonly NodeId ShelvedStateMachineType_UnshelvedToOneShotShelved = new NodeId(Objects.ShelvedStateMachineType_UnshelvedToOneShotShelved);\n\n    /// <summary>\n    /// The identifier for the ShelvedStateMachineType_TimedShelvedToUnshelved Object.\n    /// </summary>\n    public static readonly NodeId ShelvedStateMachineType_TimedShelvedToUnshelved = new NodeId(Objects.ShelvedStateMachineType_TimedShelvedToUnshelved);\n\n    /// <summary>\n    /// The identifier for the ShelvedStateMachineType_TimedShelvedToOneShotShelved Object.\n    /// </summary>\n    public static readonly NodeId ShelvedStateMachineType_TimedShelvedToOneShotShelved = new NodeId(Objects.ShelvedStateMachineType_TimedShelvedToOneShotShelved);\n\n    /// <summary>\n    /// The identifier for the ShelvedStateMachineType_OneShotShelvedToUnshelved Object.\n    /// </summary>\n    public static readonly NodeId ShelvedStateMachineType_OneShotShelvedToUnshelved = new NodeId(Objects.ShelvedStateMachineType_OneShotShelvedToUnshelved);\n\n    /// <summary>\n    /// The identifier for the ShelvedStateMachineType_OneShotShelvedToTimedShelved Object.\n    /// </summary>\n    public static readonly NodeId ShelvedStateMachineType_OneShotShelvedToTimedShelved = new NodeId(Objects.ShelvedStateMachineType_OneShotShelvedToTimedShelved);\n\n    /// <summary>\n    /// The identifier for the ExclusiveLimitStateMachineType_HighHigh Object.\n    /// </summary>\n    public static readonly NodeId ExclusiveLimitStateMachineType_HighHigh = new NodeId(Objects.ExclusiveLimitStateMachineType_HighHigh);\n\n    /// <summary>\n    /// The identifier for the ExclusiveLimitStateMachineType_High Object.\n    /// </summary>\n    public static readonly NodeId ExclusiveLimitStateMachineType_High = new NodeId(Objects.ExclusiveLimitStateMachineType_High);\n\n    /// <summary>\n    /// The identifier for the ExclusiveLimitStateMachineType_Low Object.\n    /// </summary>\n    public static readonly NodeId ExclusiveLimitStateMachineType_Low = new NodeId(Objects.ExclusiveLimitStateMachineType_Low);\n\n    /// <summary>\n    /// The identifier for the ExclusiveLimitStateMachineType_LowLow Object.\n    /// </summary>\n    public static readonly NodeId ExclusiveLimitStateMachineType_LowLow = new NodeId(Objects.ExclusiveLimitStateMachineType_LowLow);\n\n    /// <summary>\n    /// The identifier for the ExclusiveLimitStateMachineType_LowLowToLow Object.\n    /// </summary>\n    public static readonly NodeId ExclusiveLimitStateMachineType_LowLowToLow = new NodeId(Objects.ExclusiveLimitStateMachineType_LowLowToLow);\n\n    /// <summary>\n    /// The identifier for the ExclusiveLimitStateMachineType_LowToLowLow Object.\n    /// </summary>\n    public static readonly NodeId ExclusiveLimitStateMachineType_LowToLowLow = new NodeId(Objects.ExclusiveLimitStateMachineType_LowToLowLow);\n\n    /// <summary>\n    /// The identifier for the ExclusiveLimitStateMachineType_HighHighToHigh Object.\n    /// </summary>\n    public static readonly NodeId ExclusiveLimitStateMachineType_HighHighToHigh = new NodeId(Objects.ExclusiveLimitStateMachineType_HighHighToHigh);\n\n    /// <summary>\n    /// The identifier for the ExclusiveLimitStateMachineType_HighToHighHigh Object.\n    /// </summary>\n    public static readonly NodeId ExclusiveLimitStateMachineType_HighToHighHigh = new NodeId(Objects.ExclusiveLimitStateMachineType_HighToHighHigh);\n\n    /// <summary>\n    /// The identifier for the ExclusiveLimitAlarmType_LimitState Object.\n    /// </summary>\n    public static readonly NodeId ExclusiveLimitAlarmType_LimitState = new NodeId(Objects.ExclusiveLimitAlarmType_LimitState);\n\n    /// <summary>\n    /// The identifier for the ProgramStateMachineType_FinalResultData Object.\n    /// </summary>\n    public static readonly NodeId ProgramStateMachineType_FinalResultData = new NodeId(Objects.ProgramStateMachineType_FinalResultData);\n\n    /// <summary>\n    /// The identifier for the ProgramStateMachineType_Ready Object.\n    /// </summary>\n    public static readonly NodeId ProgramStateMachineType_Ready = new NodeId(Objects.ProgramStateMachineType_Ready);\n\n    /// <summary>\n    /// The identifier for the ProgramStateMachineType_Running Object.\n    /// </summary>\n    public static readonly NodeId ProgramStateMachineType_Running = new NodeId(Objects.ProgramStateMachineType_Running);\n\n    /// <summary>\n    /// The identifier for the ProgramStateMachineType_Suspended Object.\n    /// </summary>\n    public static readonly NodeId ProgramStateMachineType_Suspended = new NodeId(Objects.ProgramStateMachineType_Suspended);\n\n    /// <summary>\n    /// The identifier for the ProgramStateMachineType_Halted Object.\n    /// </summary>\n    public static readonly NodeId ProgramStateMachineType_Halted = new NodeId(Objects.ProgramStateMachineType_Halted);\n\n    /// <summary>\n    /// The identifier for the ProgramStateMachineType_HaltedToReady Object.\n    /// </summary>\n    public static readonly NodeId ProgramStateMachineType_HaltedToReady = new NodeId(Objects.ProgramStateMachineType_HaltedToReady);\n\n    /// <summary>\n    /// The identifier for the ProgramStateMachineType_ReadyToRunning Object.\n    /// </summary>\n    public static readonly NodeId ProgramStateMachineType_ReadyToRunning = new NodeId(Objects.ProgramStateMachineType_ReadyToRunning);\n\n    /// <summary>\n    /// The identifier for the ProgramStateMachineType_RunningToHalted Object.\n    /// </summary>\n    public static readonly NodeId ProgramStateMachineType_RunningToHalted = new NodeId(Objects.ProgramStateMachineType_RunningToHalted);\n\n    /// <summary>\n    /// The identifier for the ProgramStateMachineType_RunningToReady Object.\n    /// </summary>\n    public static readonly NodeId ProgramStateMachineType_RunningToReady = new NodeId(Objects.ProgramStateMachineType_RunningToReady);\n\n    /// <summary>\n    /// The identifier for the ProgramStateMachineType_RunningToSuspended Object.\n    /// </summary>\n    public static readonly NodeId ProgramStateMachineType_RunningToSuspended = new NodeId(Objects.ProgramStateMachineType_RunningToSuspended);\n\n    /// <summary>\n    /// The identifier for the ProgramStateMachineType_SuspendedToRunning Object.\n    /// </summary>\n    public static readonly NodeId ProgramStateMachineType_SuspendedToRunning = new NodeId(Objects.ProgramStateMachineType_SuspendedToRunning);\n\n    /// <summary>\n    /// The identifier for the ProgramStateMachineType_SuspendedToHalted Object.\n    /// </summary>\n    public static readonly NodeId ProgramStateMachineType_SuspendedToHalted = new NodeId(Objects.ProgramStateMachineType_SuspendedToHalted);\n\n    /// <summary>\n    /// The identifier for the ProgramStateMachineType_SuspendedToReady Object.\n    /// </summary>\n    public static readonly NodeId ProgramStateMachineType_SuspendedToReady = new NodeId(Objects.ProgramStateMachineType_SuspendedToReady);\n\n    /// <summary>\n    /// The identifier for the ProgramStateMachineType_ReadyToHalted Object.\n    /// </summary>\n    public static readonly NodeId ProgramStateMachineType_ReadyToHalted = new NodeId(Objects.ProgramStateMachineType_ReadyToHalted);\n\n    /// <summary>\n    /// The identifier for the HistoricalDataConfigurationType_AggregateConfiguration Object.\n    /// </summary>\n    public static readonly NodeId HistoricalDataConfigurationType_AggregateConfiguration = new NodeId(Objects.HistoricalDataConfigurationType_AggregateConfiguration);\n\n    /// <summary>\n    /// The identifier for the HistoricalDataConfigurationType_AggregateFunctions Object.\n    /// </summary>\n    public static readonly NodeId HistoricalDataConfigurationType_AggregateFunctions = new NodeId(Objects.HistoricalDataConfigurationType_AggregateFunctions);\n\n    /// <summary>\n    /// The identifier for the HAConfiguration Object.\n    /// </summary>\n    public static readonly NodeId HAConfiguration = new NodeId(Objects.HAConfiguration);\n\n    /// <summary>\n    /// The identifier for the HAConfiguration_AggregateConfiguration Object.\n    /// </summary>\n    public static readonly NodeId HAConfiguration_AggregateConfiguration = new NodeId(Objects.HAConfiguration_AggregateConfiguration);\n\n    /// <summary>\n    /// The identifier for the HistoryServerCapabilitiesType_AggregateFunctions Object.\n    /// </summary>\n    public static readonly NodeId HistoryServerCapabilitiesType_AggregateFunctions = new NodeId(Objects.HistoryServerCapabilitiesType_AggregateFunctions);\n\n    /// <summary>\n    /// The identifier for the AggregateFunction_Interpolative Object.\n    /// </summary>\n    public static readonly NodeId AggregateFunction_Interpolative = new NodeId(Objects.AggregateFunction_Interpolative);\n\n    /// <summary>\n    /// The identifier for the AggregateFunction_Average Object.\n    /// </summary>\n    public static readonly NodeId AggregateFunction_Average = new NodeId(Objects.AggregateFunction_Average);\n\n    /// <summary>\n    /// The identifier for the AggregateFunction_TimeAverage Object.\n    /// </summary>\n    public static readonly NodeId AggregateFunction_TimeAverage = new NodeId(Objects.AggregateFunction_TimeAverage);\n\n    /// <summary>\n    /// The identifier for the AggregateFunction_TimeAverage2 Object.\n    /// </summary>\n    public static readonly NodeId AggregateFunction_TimeAverage2 = new NodeId(Objects.AggregateFunction_TimeAverage2);\n\n    /// <summary>\n    /// The identifier for the AggregateFunction_Total Object.\n    /// </summary>\n    public static readonly NodeId AggregateFunction_Total = new NodeId(Objects.AggregateFunction_Total);\n\n    /// <summary>\n    /// The identifier for the AggregateFunction_Total2 Object.\n    /// </summary>\n    public static readonly NodeId AggregateFunction_Total2 = new NodeId(Objects.AggregateFunction_Total2);\n\n    /// <summary>\n    /// The identifier for the AggregateFunction_Minimum Object.\n    /// </summary>\n    public static readonly NodeId AggregateFunction_Minimum = new NodeId(Objects.AggregateFunction_Minimum);\n\n    /// <summary>\n    /// The identifier for the AggregateFunction_Maximum Object.\n    /// </summary>\n    public static readonly NodeId AggregateFunction_Maximum = new NodeId(Objects.AggregateFunction_Maximum);\n\n    /// <summary>\n    /// The identifier for the AggregateFunction_MinimumActualTime Object.\n    /// </summary>\n    public static readonly NodeId AggregateFunction_MinimumActualTime = new NodeId(Objects.AggregateFunction_MinimumActualTime);\n\n    /// <summary>\n    /// The identifier for the AggregateFunction_MaximumActualTime Object.\n    /// </summary>\n    public static readonly NodeId AggregateFunction_MaximumActualTime = new NodeId(Objects.AggregateFunction_MaximumActualTime);\n\n    /// <summary>\n    /// The identifier for the AggregateFunction_Range Object.\n    /// </summary>\n    public static readonly NodeId AggregateFunction_Range = new NodeId(Objects.AggregateFunction_Range);\n\n    /// <summary>\n    /// The identifier for the AggregateFunction_Minimum2 Object.\n    /// </summary>\n    public static readonly NodeId AggregateFunction_Minimum2 = new NodeId(Objects.AggregateFunction_Minimum2);\n\n    /// <summary>\n    /// The identifier for the AggregateFunction_Maximum2 Object.\n    /// </summary>\n    public static readonly NodeId AggregateFunction_Maximum2 = new NodeId(Objects.AggregateFunction_Maximum2);\n\n    /// <summary>\n    /// The identifier for the AggregateFunction_MinimumActualTime2 Object.\n    /// </summary>\n    public static readonly NodeId AggregateFunction_MinimumActualTime2 = new NodeId(Objects.AggregateFunction_MinimumActualTime2);\n\n    /// <summary>\n    /// The identifier for the AggregateFunction_MaximumActualTime2 Object.\n    /// </summary>\n    public static readonly NodeId AggregateFunction_MaximumActualTime2 = new NodeId(Objects.AggregateFunction_MaximumActualTime2);\n\n    /// <summary>\n    /// The identifier for the AggregateFunction_Range2 Object.\n    /// </summary>\n    public static readonly NodeId AggregateFunction_Range2 = new NodeId(Objects.AggregateFunction_Range2);\n\n    /// <summary>\n    /// The identifier for the AggregateFunction_AnnotationCount Object.\n    /// </summary>\n    public static readonly NodeId AggregateFunction_AnnotationCount = new NodeId(Objects.AggregateFunction_AnnotationCount);\n\n    /// <summary>\n    /// The identifier for the AggregateFunction_Count Object.\n    /// </summary>\n    public static readonly NodeId AggregateFunction_Count = new NodeId(Objects.AggregateFunction_Count);\n\n    /// <summary>\n    /// The identifier for the AggregateFunction_DurationInStateZero Object.\n    /// </summary>\n    public static readonly NodeId AggregateFunction_DurationInStateZero = new NodeId(Objects.AggregateFunction_DurationInStateZero);\n\n    /// <summary>\n    /// The identifier for the AggregateFunction_DurationInStateNonZero Object.\n    /// </summary>\n    public static readonly NodeId AggregateFunction_DurationInStateNonZero = new NodeId(Objects.AggregateFunction_DurationInStateNonZero);\n\n    /// <summary>\n    /// The identifier for the AggregateFunction_NumberOfTransitions Object.\n    /// </summary>\n    public static readonly NodeId AggregateFunction_NumberOfTransitions = new NodeId(Objects.AggregateFunction_NumberOfTransitions);\n\n    /// <summary>\n    /// The identifier for the AggregateFunction_Start Object.\n    /// </summary>\n    public static readonly NodeId AggregateFunction_Start = new NodeId(Objects.AggregateFunction_Start);\n\n    /// <summary>\n    /// The identifier for the AggregateFunction_End Object.\n    /// </summary>\n    public static readonly NodeId AggregateFunction_End = new NodeId(Objects.AggregateFunction_End);\n\n    /// <summary>\n    /// The identifier for the AggregateFunction_Delta Object.\n    /// </summary>\n    public static readonly NodeId AggregateFunction_Delta = new NodeId(Objects.AggregateFunction_Delta);\n\n    /// <summary>\n    /// The identifier for the AggregateFunction_StartBound Object.\n    /// </summary>\n    public static readonly NodeId AggregateFunction_StartBound = new NodeId(Objects.AggregateFunction_StartBound);\n\n    /// <summary>\n    /// The identifier for the AggregateFunction_EndBound Object.\n    /// </summary>\n    public static readonly NodeId AggregateFunction_EndBound = new NodeId(Objects.AggregateFunction_EndBound);\n\n    /// <summary>\n    /// The identifier for the AggregateFunction_DeltaBounds Object.\n    /// </summary>\n    public static readonly NodeId AggregateFunction_DeltaBounds = new NodeId(Objects.AggregateFunction_DeltaBounds);\n\n    /// <summary>\n    /// The identifier for the AggregateFunction_DurationGood Object.\n    /// </summary>\n    public static readonly NodeId AggregateFunction_DurationGood = new NodeId(Objects.AggregateFunction_DurationGood);\n\n    /// <summary>\n    /// The identifier for the AggregateFunction_DurationBad Object.\n    /// </summary>\n    public static readonly NodeId AggregateFunction_DurationBad = new NodeId(Objects.AggregateFunction_DurationBad);\n\n    /// <summary>\n    /// The identifier for the AggregateFunction_PercentGood Object.\n    /// </summary>\n    public static readonly NodeId AggregateFunction_PercentGood = new NodeId(Objects.AggregateFunction_PercentGood);\n\n    /// <summary>\n    /// The identifier for the AggregateFunction_PercentBad Object.\n    /// </summary>\n    public static readonly NodeId AggregateFunction_PercentBad = new NodeId(Objects.AggregateFunction_PercentBad);\n\n    /// <summary>\n    /// The identifier for the AggregateFunction_WorstQuality Object.\n    /// </summary>\n    public static readonly NodeId AggregateFunction_WorstQuality = new NodeId(Objects.AggregateFunction_WorstQuality);\n\n    /// <summary>\n    /// The identifier for the AggregateFunction_WorstQuality2 Object.\n    /// </summary>\n    public static readonly NodeId AggregateFunction_WorstQuality2 = new NodeId(Objects.AggregateFunction_WorstQuality2);\n\n    /// <summary>\n    /// The identifier for the AggregateFunction_StandardDeviationSample Object.\n    /// </summary>\n    public static readonly NodeId AggregateFunction_StandardDeviationSample = new NodeId(Objects.AggregateFunction_StandardDeviationSample);\n\n    /// <summary>\n    /// The identifier for the AggregateFunction_StandardDeviationPopulation Object.\n    /// </summary>\n    public static readonly NodeId AggregateFunction_StandardDeviationPopulation = new NodeId(Objects.AggregateFunction_StandardDeviationPopulation);\n\n    /// <summary>\n    /// The identifier for the AggregateFunction_VarianceSample Object.\n    /// </summary>\n    public static readonly NodeId AggregateFunction_VarianceSample = new NodeId(Objects.AggregateFunction_VarianceSample);\n\n    /// <summary>\n    /// The identifier for the AggregateFunction_VariancePopulation Object.\n    /// </summary>\n    public static readonly NodeId AggregateFunction_VariancePopulation = new NodeId(Objects.AggregateFunction_VariancePopulation);\n\n    /// <summary>\n    /// The identifier for the ServerLock Object.\n    /// </summary>\n    public static readonly NodeId ServerLock = new NodeId(Objects.ServerLock);\n\n    /// <summary>\n    /// The identifier for the Node_Encoding_DefaultXml Object.\n    /// </summary>\n    public static readonly NodeId Node_Encoding_DefaultXml = new NodeId(Objects.Node_Encoding_DefaultXml);\n\n    /// <summary>\n    /// The identifier for the InstanceNode_Encoding_DefaultXml Object.\n    /// </summary>\n    public static readonly NodeId InstanceNode_Encoding_DefaultXml = new NodeId(Objects.InstanceNode_Encoding_DefaultXml);\n\n    /// <summary>\n    /// The identifier for the TypeNode_Encoding_DefaultXml Object.\n    /// </summary>\n    public static readonly NodeId TypeNode_Encoding_DefaultXml = new NodeId(Objects.TypeNode_Encoding_DefaultXml);\n\n    /// <summary>\n    /// The identifier for the ObjectNode_Encoding_DefaultXml Object.\n    /// </summary>\n    public static readonly NodeId ObjectNode_Encoding_DefaultXml = new NodeId(Objects.ObjectNode_Encoding_DefaultXml);\n\n    /// <summary>\n    /// The identifier for the ObjectTypeNode_Encoding_DefaultXml Object.\n    /// </summary>\n    public static readonly NodeId ObjectTypeNode_Encoding_DefaultXml = new NodeId(Objects.ObjectTypeNode_Encoding_DefaultXml);\n\n    /// <summary>\n    /// The identifier for the VariableNode_Encoding_DefaultXml Object.\n    /// </summary>\n    public static readonly NodeId VariableNode_Encoding_DefaultXml = new NodeId(Objects.VariableNode_Encoding_DefaultXml);\n\n    /// <summary>\n    /// The identifier for the VariableTypeNode_Encoding_DefaultXml Object.\n    /// </summary>\n    public static readonly NodeId VariableTypeNode_Encoding_DefaultXml = new NodeId(Objects.VariableTypeNode_Encoding_DefaultXml);\n\n    /// <summary>\n    /// The identifier for the ReferenceTypeNode_Encoding_DefaultXml Object.\n    /// </summary>\n    public static readonly NodeId ReferenceTypeNode_Encoding_DefaultXml = new NodeId(Objects.ReferenceTypeNode_Encoding_DefaultXml);\n\n    /// <summary>\n    /// The identifier for the MethodNode_Encoding_DefaultXml Object.\n    /// </summary>\n    public static readonly NodeId MethodNode_Encoding_DefaultXml = new NodeId(Objects.MethodNode_Encoding_DefaultXml);\n\n    /// <summary>\n    /// The identifier for the ViewNode_Encoding_DefaultXml Object.\n    /// </summary>\n    public static readonly NodeId ViewNode_Encoding_DefaultXml = new NodeId(Objects.ViewNode_Encoding_DefaultXml);\n\n    /// <summary>\n    /// The identifier for the DataTypeNode_Encoding_DefaultXml Object.\n    /// </summary>\n    public static readonly NodeId DataTypeNode_Encoding_DefaultXml = new NodeId(Objects.DataTypeNode_Encoding_DefaultXml);\n\n    /// <summary>\n    /// The identifier for the ReferenceNode_Encoding_DefaultXml Object.\n    /// </summary>\n    public static readonly NodeId ReferenceNode_Encoding_DefaultXml = new NodeId(Objects.ReferenceNode_Encoding_DefaultXml);\n\n    /// <summary>\n    /// The identifier for the Argument_Encoding_DefaultXml Object.\n    /// </summary>\n    public static readonly NodeId Argument_Encoding_DefaultXml = new NodeId(Objects.Argument_Encoding_DefaultXml);\n\n    /// <summary>\n    /// The identifier for the EnumValueType_Encoding_DefaultXml Object.\n    /// </summary>\n    public static readonly NodeId EnumValueType_Encoding_DefaultXml = new NodeId(Objects.EnumValueType_Encoding_DefaultXml);\n\n    /// <summary>\n    /// The identifier for the TimeZoneDataType_Encoding_DefaultXml Object.\n    /// </summary>\n    public static readonly NodeId TimeZoneDataType_Encoding_DefaultXml = new NodeId(Objects.TimeZoneDataType_Encoding_DefaultXml);\n\n    /// <summary>\n    /// The identifier for the ApplicationDescription_Encoding_DefaultXml Object.\n    /// </summary>\n    public static readonly NodeId ApplicationDescription_Encoding_DefaultXml = new NodeId(Objects.ApplicationDescription_Encoding_DefaultXml);\n\n    /// <summary>\n    /// The identifier for the RequestHeader_Encoding_DefaultXml Object.\n    /// </summary>\n    public static readonly NodeId RequestHeader_Encoding_DefaultXml = new NodeId(Objects.RequestHeader_Encoding_DefaultXml);\n\n    /// <summary>\n    /// The identifier for the ResponseHeader_Encoding_DefaultXml Object.\n    /// </summary>\n    public static readonly NodeId ResponseHeader_Encoding_DefaultXml = new NodeId(Objects.ResponseHeader_Encoding_DefaultXml);\n\n    /// <summary>\n    /// The identifier for the ServiceFault_Encoding_DefaultXml Object.\n    /// </summary>\n    public static readonly NodeId ServiceFault_Encoding_DefaultXml = new NodeId(Objects.ServiceFault_Encoding_DefaultXml);\n\n    /// <summary>\n    /// The identifier for the DnsServiceRecord_Encoding_DefaultXml Object.\n    /// </summary>\n    public static readonly NodeId DnsServiceRecord_Encoding_DefaultXml = new NodeId(Objects.DnsServiceRecord_Encoding_DefaultXml);\n\n    /// <summary>\n    /// The identifier for the FindDnsServicesRequest_Encoding_DefaultXml Object.\n    /// </summary>\n    public static readonly NodeId FindDnsServicesRequest_Encoding_DefaultXml = new NodeId(Objects.FindDnsServicesRequest_Encoding_DefaultXml);\n\n    /// <summary>\n    /// The identifier for the FindDnsServicesResponse_Encoding_DefaultXml Object.\n    /// </summary>\n    public static readonly NodeId FindDnsServicesResponse_Encoding_DefaultXml = new NodeId(Objects.FindDnsServicesResponse_Encoding_DefaultXml);\n\n    /// <summary>\n    /// The identifier for the FindServersRequest_Encoding_DefaultXml Object.\n    /// </summary>\n    public static readonly NodeId FindServersRequest_Encoding_DefaultXml = new NodeId(Objects.FindServersRequest_Encoding_DefaultXml);\n\n    /// <summary>\n    /// The identifier for the FindServersResponse_Encoding_DefaultXml Object.\n    /// </summary>\n    public static readonly NodeId FindServersResponse_Encoding_DefaultXml = new NodeId(Objects.FindServersResponse_Encoding_DefaultXml);\n\n    /// <summary>\n    /// The identifier for the UserTokenPolicy_Encoding_DefaultXml Object.\n    /// </summary>\n    public static readonly NodeId UserTokenPolicy_Encoding_DefaultXml = new NodeId(Objects.UserTokenPolicy_Encoding_DefaultXml);\n\n    /// <summary>\n    /// The identifier for the EndpointDescription_Encoding_DefaultXml Object.\n    /// </summary>\n    public static readonly NodeId EndpointDescription_Encoding_DefaultXml = new NodeId(Objects.EndpointDescription_Encoding_DefaultXml);\n\n    /// <summary>\n    /// The identifier for the GetEndpointsRequest_Encoding_DefaultXml Object.\n    /// </summary>\n    public static readonly NodeId GetEndpointsRequest_Encoding_DefaultXml = new NodeId(Objects.GetEndpointsRequest_Encoding_DefaultXml);\n\n    /// <summary>\n    /// The identifier for the GetEndpointsResponse_Encoding_DefaultXml Object.\n    /// </summary>\n    public static readonly NodeId GetEndpointsResponse_Encoding_DefaultXml = new NodeId(Objects.GetEndpointsResponse_Encoding_DefaultXml);\n\n    /// <summary>\n    /// The identifier for the RegisteredServer_Encoding_DefaultXml Object.\n    /// </summary>\n    public static readonly NodeId RegisteredServer_Encoding_DefaultXml = new NodeId(Objects.RegisteredServer_Encoding_DefaultXml);\n\n    /// <summary>\n    /// The identifier for the RegisterServerRequest_Encoding_DefaultXml Object.\n    /// </summary>\n    public static readonly NodeId RegisterServerRequest_Encoding_DefaultXml = new NodeId(Objects.RegisterServerRequest_Encoding_DefaultXml);\n\n    /// <summary>\n    /// The identifier for the RegisterServerResponse_Encoding_DefaultXml Object.\n    /// </summary>\n    public static readonly NodeId RegisterServerResponse_Encoding_DefaultXml = new NodeId(Objects.RegisterServerResponse_Encoding_DefaultXml);\n\n    /// <summary>\n    /// The identifier for the ChannelSecurityToken_Encoding_DefaultXml Object.\n    /// </summary>\n    public static readonly NodeId ChannelSecurityToken_Encoding_DefaultXml = new NodeId(Objects.ChannelSecurityToken_Encoding_DefaultXml);\n\n    /// <summary>\n    /// The identifier for the OpenSecureChannelRequest_Encoding_DefaultXml Object.\n    /// </summary>\n    public static readonly NodeId OpenSecureChannelRequest_Encoding_DefaultXml = new NodeId(Objects.OpenSecureChannelRequest_Encoding_DefaultXml);\n\n    /// <summary>\n    /// The identifier for the OpenSecureChannelResponse_Encoding_DefaultXml Object.\n    /// </summary>\n    public static readonly NodeId OpenSecureChannelResponse_Encoding_DefaultXml = new NodeId(Objects.OpenSecureChannelResponse_Encoding_DefaultXml);\n\n    /// <summary>\n    /// The identifier for the CloseSecureChannelRequest_Encoding_DefaultXml Object.\n    /// </summary>\n    public static readonly NodeId CloseSecureChannelRequest_Encoding_DefaultXml = new NodeId(Objects.CloseSecureChannelRequest_Encoding_DefaultXml);\n\n    /// <summary>\n    /// The identifier for the CloseSecureChannelResponse_Encoding_DefaultXml Object.\n    /// </summary>\n    public static readonly NodeId CloseSecureChannelResponse_Encoding_DefaultXml = new NodeId(Objects.CloseSecureChannelResponse_Encoding_DefaultXml);\n\n    /// <summary>\n    /// The identifier for the SignedSoftwareCertificate_Encoding_DefaultXml Object.\n    /// </summary>\n    public static readonly NodeId SignedSoftwareCertificate_Encoding_DefaultXml = new NodeId(Objects.SignedSoftwareCertificate_Encoding_DefaultXml);\n\n    /// <summary>\n    /// The identifier for the SignatureData_Encoding_DefaultXml Object.\n    /// </summary>\n    public static readonly NodeId SignatureData_Encoding_DefaultXml = new NodeId(Objects.SignatureData_Encoding_DefaultXml);\n\n    /// <summary>\n    /// The identifier for the CreateSessionRequest_Encoding_DefaultXml Object.\n    /// </summary>\n    public static readonly NodeId CreateSessionRequest_Encoding_DefaultXml = new NodeId(Objects.CreateSessionRequest_Encoding_DefaultXml);\n\n    /// <summary>\n    /// The identifier for the CreateSessionResponse_Encoding_DefaultXml Object.\n    /// </summary>\n    public static readonly NodeId CreateSessionResponse_Encoding_DefaultXml = new NodeId(Objects.CreateSessionResponse_Encoding_DefaultXml);\n\n    /// <summary>\n    /// The identifier for the UserIdentityToken_Encoding_DefaultXml Object.\n    /// </summary>\n    public static readonly NodeId UserIdentityToken_Encoding_DefaultXml = new NodeId(Objects.UserIdentityToken_Encoding_DefaultXml);\n\n    /// <summary>\n    /// The identifier for the AnonymousIdentityToken_Encoding_DefaultXml Object.\n    /// </summary>\n    public static readonly NodeId AnonymousIdentityToken_Encoding_DefaultXml = new NodeId(Objects.AnonymousIdentityToken_Encoding_DefaultXml);\n\n    /// <summary>\n    /// The identifier for the UserNameIdentityToken_Encoding_DefaultXml Object.\n    /// </summary>\n    public static readonly NodeId UserNameIdentityToken_Encoding_DefaultXml = new NodeId(Objects.UserNameIdentityToken_Encoding_DefaultXml);\n\n    /// <summary>\n    /// The identifier for the X509IdentityToken_Encoding_DefaultXml Object.\n    /// </summary>\n    public static readonly NodeId X509IdentityToken_Encoding_DefaultXml = new NodeId(Objects.X509IdentityToken_Encoding_DefaultXml);\n\n    /// <summary>\n    /// The identifier for the IssuedIdentityToken_Encoding_DefaultXml Object.\n    /// </summary>\n    public static readonly NodeId IssuedIdentityToken_Encoding_DefaultXml = new NodeId(Objects.IssuedIdentityToken_Encoding_DefaultXml);\n\n    /// <summary>\n    /// The identifier for the ActivateSessionRequest_Encoding_DefaultXml Object.\n    /// </summary>\n    public static readonly NodeId ActivateSessionRequest_Encoding_DefaultXml = new NodeId(Objects.ActivateSessionRequest_Encoding_DefaultXml);\n\n    /// <summary>\n    /// The identifier for the ActivateSessionResponse_Encoding_DefaultXml Object.\n    /// </summary>\n    public static readonly NodeId ActivateSessionResponse_Encoding_DefaultXml = new NodeId(Objects.ActivateSessionResponse_Encoding_DefaultXml);\n\n    /// <summary>\n    /// The identifier for the CloseSessionRequest_Encoding_DefaultXml Object.\n    /// </summary>\n    public static readonly NodeId CloseSessionRequest_Encoding_DefaultXml = new NodeId(Objects.CloseSessionRequest_Encoding_DefaultXml);\n\n    /// <summary>\n    /// The identifier for the CloseSessionResponse_Encoding_DefaultXml Object.\n    /// </summary>\n    public static readonly NodeId CloseSessionResponse_Encoding_DefaultXml = new NodeId(Objects.CloseSessionResponse_Encoding_DefaultXml);\n\n    /// <summary>\n    /// The identifier for the CancelRequest_Encoding_DefaultXml Object.\n    /// </summary>\n    public static readonly NodeId CancelRequest_Encoding_DefaultXml = new NodeId(Objects.CancelRequest_Encoding_DefaultXml);\n\n    /// <summary>\n    /// The identifier for the CancelResponse_Encoding_DefaultXml Object.\n    /// </summary>\n    public static readonly NodeId CancelResponse_Encoding_DefaultXml = new NodeId(Objects.CancelResponse_Encoding_DefaultXml);\n\n    /// <summary>\n    /// The identifier for the NodeAttributes_Encoding_DefaultXml Object.\n    /// </summary>\n    public static readonly NodeId NodeAttributes_Encoding_DefaultXml = new NodeId(Objects.NodeAttributes_Encoding_DefaultXml);\n\n    /// <summary>\n    /// The identifier for the ObjectAttributes_Encoding_DefaultXml Object.\n    /// </summary>\n    public static readonly NodeId ObjectAttributes_Encoding_DefaultXml = new NodeId(Objects.ObjectAttributes_Encoding_DefaultXml);\n\n    /// <summary>\n    /// The identifier for the VariableAttributes_Encoding_DefaultXml Object.\n    /// </summary>\n    public static readonly NodeId VariableAttributes_Encoding_DefaultXml = new NodeId(Objects.VariableAttributes_Encoding_DefaultXml);\n\n    /// <summary>\n    /// The identifier for the MethodAttributes_Encoding_DefaultXml Object.\n    /// </summary>\n    public static readonly NodeId MethodAttributes_Encoding_DefaultXml = new NodeId(Objects.MethodAttributes_Encoding_DefaultXml);\n\n    /// <summary>\n    /// The identifier for the ObjectTypeAttributes_Encoding_DefaultXml Object.\n    /// </summary>\n    public static readonly NodeId ObjectTypeAttributes_Encoding_DefaultXml = new NodeId(Objects.ObjectTypeAttributes_Encoding_DefaultXml);\n\n    /// <summary>\n    /// The identifier for the VariableTypeAttributes_Encoding_DefaultXml Object.\n    /// </summary>\n    public static readonly NodeId VariableTypeAttributes_Encoding_DefaultXml = new NodeId(Objects.VariableTypeAttributes_Encoding_DefaultXml);\n\n    /// <summary>\n    /// The identifier for the ReferenceTypeAttributes_Encoding_DefaultXml Object.\n    /// </summary>\n    public static readonly NodeId ReferenceTypeAttributes_Encoding_DefaultXml = new NodeId(Objects.ReferenceTypeAttributes_Encoding_DefaultXml);\n\n    /// <summary>\n    /// The identifier for the DataTypeAttributes_Encoding_DefaultXml Object.\n    /// </summary>\n    public static readonly NodeId DataTypeAttributes_Encoding_DefaultXml = new NodeId(Objects.DataTypeAttributes_Encoding_DefaultXml);\n\n    /// <summary>\n    /// The identifier for the ViewAttributes_Encoding_DefaultXml Object.\n    /// </summary>\n    public static readonly NodeId ViewAttributes_Encoding_DefaultXml = new NodeId(Objects.ViewAttributes_Encoding_DefaultXml);\n\n    /// <summary>\n    /// The identifier for the AddNodesItem_Encoding_DefaultXml Object.\n    /// </summary>\n    public static readonly NodeId AddNodesItem_Encoding_DefaultXml = new NodeId(Objects.AddNodesItem_Encoding_DefaultXml);\n\n    /// <summary>\n    /// The identifier for the AddNodesResult_Encoding_DefaultXml Object.\n    /// </summary>\n    public static readonly NodeId AddNodesResult_Encoding_DefaultXml = new NodeId(Objects.AddNodesResult_Encoding_DefaultXml);\n\n    /// <summary>\n    /// The identifier for the AddNodesRequest_Encoding_DefaultXml Object.\n    /// </summary>\n    public static readonly NodeId AddNodesRequest_Encoding_DefaultXml = new NodeId(Objects.AddNodesRequest_Encoding_DefaultXml);\n\n    /// <summary>\n    /// The identifier for the AddNodesResponse_Encoding_DefaultXml Object.\n    /// </summary>\n    public static readonly NodeId AddNodesResponse_Encoding_DefaultXml = new NodeId(Objects.AddNodesResponse_Encoding_DefaultXml);\n\n    /// <summary>\n    /// The identifier for the AddReferencesItem_Encoding_DefaultXml Object.\n    /// </summary>\n    public static readonly NodeId AddReferencesItem_Encoding_DefaultXml = new NodeId(Objects.AddReferencesItem_Encoding_DefaultXml);\n\n    /// <summary>\n    /// The identifier for the AddReferencesRequest_Encoding_DefaultXml Object.\n    /// </summary>\n    public static readonly NodeId AddReferencesRequest_Encoding_DefaultXml = new NodeId(Objects.AddReferencesRequest_Encoding_DefaultXml);\n\n    /// <summary>\n    /// The identifier for the AddReferencesResponse_Encoding_DefaultXml Object.\n    /// </summary>\n    public static readonly NodeId AddReferencesResponse_Encoding_DefaultXml = new NodeId(Objects.AddReferencesResponse_Encoding_DefaultXml);\n\n    /// <summary>\n    /// The identifier for the DeleteNodesItem_Encoding_DefaultXml Object.\n    /// </summary>\n    public static readonly NodeId DeleteNodesItem_Encoding_DefaultXml = new NodeId(Objects.DeleteNodesItem_Encoding_DefaultXml);\n\n    /// <summary>\n    /// The identifier for the DeleteNodesRequest_Encoding_DefaultXml Object.\n    /// </summary>\n    public static readonly NodeId DeleteNodesRequest_Encoding_DefaultXml = new NodeId(Objects.DeleteNodesRequest_Encoding_DefaultXml);\n\n    /// <summary>\n    /// The identifier for the DeleteNodesResponse_Encoding_DefaultXml Object.\n    /// </summary>\n    public static readonly NodeId DeleteNodesResponse_Encoding_DefaultXml = new NodeId(Objects.DeleteNodesResponse_Encoding_DefaultXml);\n\n    /// <summary>\n    /// The identifier for the DeleteReferencesItem_Encoding_DefaultXml Object.\n    /// </summary>\n    public static readonly NodeId DeleteReferencesItem_Encoding_DefaultXml = new NodeId(Objects.DeleteReferencesItem_Encoding_DefaultXml);\n\n    /// <summary>\n    /// The identifier for the DeleteReferencesRequest_Encoding_DefaultXml Object.\n    /// </summary>\n    public static readonly NodeId DeleteReferencesRequest_Encoding_DefaultXml = new NodeId(Objects.DeleteReferencesRequest_Encoding_DefaultXml);\n\n    /// <summary>\n    /// The identifier for the DeleteReferencesResponse_Encoding_DefaultXml Object.\n    /// </summary>\n    public static readonly NodeId DeleteReferencesResponse_Encoding_DefaultXml = new NodeId(Objects.DeleteReferencesResponse_Encoding_DefaultXml);\n\n    /// <summary>\n    /// The identifier for the ViewDescription_Encoding_DefaultXml Object.\n    /// </summary>\n    public static readonly NodeId ViewDescription_Encoding_DefaultXml = new NodeId(Objects.ViewDescription_Encoding_DefaultXml);\n\n    /// <summary>\n    /// The identifier for the BrowseDescription_Encoding_DefaultXml Object.\n    /// </summary>\n    public static readonly NodeId BrowseDescription_Encoding_DefaultXml = new NodeId(Objects.BrowseDescription_Encoding_DefaultXml);\n\n    /// <summary>\n    /// The identifier for the ReferenceDescription_Encoding_DefaultXml Object.\n    /// </summary>\n    public static readonly NodeId ReferenceDescription_Encoding_DefaultXml = new NodeId(Objects.ReferenceDescription_Encoding_DefaultXml);\n\n    /// <summary>\n    /// The identifier for the BrowseResult_Encoding_DefaultXml Object.\n    /// </summary>\n    public static readonly NodeId BrowseResult_Encoding_DefaultXml = new NodeId(Objects.BrowseResult_Encoding_DefaultXml);\n\n    /// <summary>\n    /// The identifier for the BrowseRequest_Encoding_DefaultXml Object.\n    /// </summary>\n    public static readonly NodeId BrowseRequest_Encoding_DefaultXml = new NodeId(Objects.BrowseRequest_Encoding_DefaultXml);\n\n    /// <summary>\n    /// The identifier for the BrowseResponse_Encoding_DefaultXml Object.\n    /// </summary>\n    public static readonly NodeId BrowseResponse_Encoding_DefaultXml = new NodeId(Objects.BrowseResponse_Encoding_DefaultXml);\n\n    /// <summary>\n    /// The identifier for the BrowseNextRequest_Encoding_DefaultXml Object.\n    /// </summary>\n    public static readonly NodeId BrowseNextRequest_Encoding_DefaultXml = new NodeId(Objects.BrowseNextRequest_Encoding_DefaultXml);\n\n    /// <summary>\n    /// The identifier for the BrowseNextResponse_Encoding_DefaultXml Object.\n    /// </summary>\n    public static readonly NodeId BrowseNextResponse_Encoding_DefaultXml = new NodeId(Objects.BrowseNextResponse_Encoding_DefaultXml);\n\n    /// <summary>\n    /// The identifier for the RelativePathElement_Encoding_DefaultXml Object.\n    /// </summary>\n    public static readonly NodeId RelativePathElement_Encoding_DefaultXml = new NodeId(Objects.RelativePathElement_Encoding_DefaultXml);\n\n    /// <summary>\n    /// The identifier for the RelativePath_Encoding_DefaultXml Object.\n    /// </summary>\n    public static readonly NodeId RelativePath_Encoding_DefaultXml = new NodeId(Objects.RelativePath_Encoding_DefaultXml);\n\n    /// <summary>\n    /// The identifier for the BrowsePath_Encoding_DefaultXml Object.\n    /// </summary>\n    public static readonly NodeId BrowsePath_Encoding_DefaultXml = new NodeId(Objects.BrowsePath_Encoding_DefaultXml);\n\n    /// <summary>\n    /// The identifier for the BrowsePathTarget_Encoding_DefaultXml Object.\n    /// </summary>\n    public static readonly NodeId BrowsePathTarget_Encoding_DefaultXml = new NodeId(Objects.BrowsePathTarget_Encoding_DefaultXml);\n\n    /// <summary>\n    /// The identifier for the BrowsePathResult_Encoding_DefaultXml Object.\n    /// </summary>\n    public static readonly NodeId BrowsePathResult_Encoding_DefaultXml = new NodeId(Objects.BrowsePathResult_Encoding_DefaultXml);\n\n    /// <summary>\n    /// The identifier for the TranslateBrowsePathsToNodeIdsRequest_Encoding_DefaultXml Object.\n    /// </summary>\n    public static readonly NodeId TranslateBrowsePathsToNodeIdsRequest_Encoding_DefaultXml = new NodeId(Objects.TranslateBrowsePathsToNodeIdsRequest_Encoding_DefaultXml);\n\n    /// <summary>\n    /// The identifier for the TranslateBrowsePathsToNodeIdsResponse_Encoding_DefaultXml Object.\n    /// </summary>\n    public static readonly NodeId TranslateBrowsePathsToNodeIdsResponse_Encoding_DefaultXml = new NodeId(Objects.TranslateBrowsePathsToNodeIdsResponse_Encoding_DefaultXml);\n\n    /// <summary>\n    /// The identifier for the RegisterNodesRequest_Encoding_DefaultXml Object.\n    /// </summary>\n    public static readonly NodeId RegisterNodesRequest_Encoding_DefaultXml = new NodeId(Objects.RegisterNodesRequest_Encoding_DefaultXml);\n\n    /// <summary>\n    /// The identifier for the RegisterNodesResponse_Encoding_DefaultXml Object.\n    /// </summary>\n    public static readonly NodeId RegisterNodesResponse_Encoding_DefaultXml = new NodeId(Objects.RegisterNodesResponse_Encoding_DefaultXml);\n\n    /// <summary>\n    /// The identifier for the UnregisterNodesRequest_Encoding_DefaultXml Object.\n    /// </summary>\n    public static readonly NodeId UnregisterNodesRequest_Encoding_DefaultXml = new NodeId(Objects.UnregisterNodesRequest_Encoding_DefaultXml);\n\n    /// <summary>\n    /// The identifier for the UnregisterNodesResponse_Encoding_DefaultXml Object.\n    /// </summary>\n    public static readonly NodeId UnregisterNodesResponse_Encoding_DefaultXml = new NodeId(Objects.UnregisterNodesResponse_Encoding_DefaultXml);\n\n    /// <summary>\n    /// The identifier for the EndpointConfiguration_Encoding_DefaultXml Object.\n    /// </summary>\n    public static readonly NodeId EndpointConfiguration_Encoding_DefaultXml = new NodeId(Objects.EndpointConfiguration_Encoding_DefaultXml);\n\n    /// <summary>\n    /// The identifier for the SupportedProfile_Encoding_DefaultXml Object.\n    /// </summary>\n    public static readonly NodeId SupportedProfile_Encoding_DefaultXml = new NodeId(Objects.SupportedProfile_Encoding_DefaultXml);\n\n    /// <summary>\n    /// The identifier for the SoftwareCertificate_Encoding_DefaultXml Object.\n    /// </summary>\n    public static readonly NodeId SoftwareCertificate_Encoding_DefaultXml = new NodeId(Objects.SoftwareCertificate_Encoding_DefaultXml);\n\n    /// <summary>\n    /// The identifier for the QueryDataDescription_Encoding_DefaultXml Object.\n    /// </summary>\n    public static readonly NodeId QueryDataDescription_Encoding_DefaultXml = new NodeId(Objects.QueryDataDescription_Encoding_DefaultXml);\n\n    /// <summary>\n    /// The identifier for the NodeTypeDescription_Encoding_DefaultXml Object.\n    /// </summary>\n    public static readonly NodeId NodeTypeDescription_Encoding_DefaultXml = new NodeId(Objects.NodeTypeDescription_Encoding_DefaultXml);\n\n    /// <summary>\n    /// The identifier for the QueryDataSet_Encoding_DefaultXml Object.\n    /// </summary>\n    public static readonly NodeId QueryDataSet_Encoding_DefaultXml = new NodeId(Objects.QueryDataSet_Encoding_DefaultXml);\n\n    /// <summary>\n    /// The identifier for the NodeReference_Encoding_DefaultXml Object.\n    /// </summary>\n    public static readonly NodeId NodeReference_Encoding_DefaultXml = new NodeId(Objects.NodeReference_Encoding_DefaultXml);\n\n    /// <summary>\n    /// The identifier for the ContentFilterElement_Encoding_DefaultXml Object.\n    /// </summary>\n    public static readonly NodeId ContentFilterElement_Encoding_DefaultXml = new NodeId(Objects.ContentFilterElement_Encoding_DefaultXml);\n\n    /// <summary>\n    /// The identifier for the ContentFilter_Encoding_DefaultXml Object.\n    /// </summary>\n    public static readonly NodeId ContentFilter_Encoding_DefaultXml = new NodeId(Objects.ContentFilter_Encoding_DefaultXml);\n\n    /// <summary>\n    /// The identifier for the FilterOperand_Encoding_DefaultXml Object.\n    /// </summary>\n    public static readonly NodeId FilterOperand_Encoding_DefaultXml = new NodeId(Objects.FilterOperand_Encoding_DefaultXml);\n\n    /// <summary>\n    /// The identifier for the ElementOperand_Encoding_DefaultXml Object.\n    /// </summary>\n    public static readonly NodeId ElementOperand_Encoding_DefaultXml = new NodeId(Objects.ElementOperand_Encoding_DefaultXml);\n\n    /// <summary>\n    /// The identifier for the LiteralOperand_Encoding_DefaultXml Object.\n    /// </summary>\n    public static readonly NodeId LiteralOperand_Encoding_DefaultXml = new NodeId(Objects.LiteralOperand_Encoding_DefaultXml);\n\n    /// <summary>\n    /// The identifier for the AttributeOperand_Encoding_DefaultXml Object.\n    /// </summary>\n    public static readonly NodeId AttributeOperand_Encoding_DefaultXml = new NodeId(Objects.AttributeOperand_Encoding_DefaultXml);\n\n    /// <summary>\n    /// The identifier for the SimpleAttributeOperand_Encoding_DefaultXml Object.\n    /// </summary>\n    public static readonly NodeId SimpleAttributeOperand_Encoding_DefaultXml = new NodeId(Objects.SimpleAttributeOperand_Encoding_DefaultXml);\n\n    /// <summary>\n    /// The identifier for the ContentFilterElementResult_Encoding_DefaultXml Object.\n    /// </summary>\n    public static readonly NodeId ContentFilterElementResult_Encoding_DefaultXml = new NodeId(Objects.ContentFilterElementResult_Encoding_DefaultXml);\n\n    /// <summary>\n    /// The identifier for the ContentFilterResult_Encoding_DefaultXml Object.\n    /// </summary>\n    public static readonly NodeId ContentFilterResult_Encoding_DefaultXml = new NodeId(Objects.ContentFilterResult_Encoding_DefaultXml);\n\n    /// <summary>\n    /// The identifier for the ParsingResult_Encoding_DefaultXml Object.\n    /// </summary>\n    public static readonly NodeId ParsingResult_Encoding_DefaultXml = new NodeId(Objects.ParsingResult_Encoding_DefaultXml);\n\n    /// <summary>\n    /// The identifier for the QueryFirstRequest_Encoding_DefaultXml Object.\n    /// </summary>\n    public static readonly NodeId QueryFirstRequest_Encoding_DefaultXml = new NodeId(Objects.QueryFirstRequest_Encoding_DefaultXml);\n\n    /// <summary>\n    /// The identifier for the QueryFirstResponse_Encoding_DefaultXml Object.\n    /// </summary>\n    public static readonly NodeId QueryFirstResponse_Encoding_DefaultXml = new NodeId(Objects.QueryFirstResponse_Encoding_DefaultXml);\n\n    /// <summary>\n    /// The identifier for the QueryNextRequest_Encoding_DefaultXml Object.\n    /// </summary>\n    public static readonly NodeId QueryNextRequest_Encoding_DefaultXml = new NodeId(Objects.QueryNextRequest_Encoding_DefaultXml);\n\n    /// <summary>\n    /// The identifier for the QueryNextResponse_Encoding_DefaultXml Object.\n    /// </summary>\n    public static readonly NodeId QueryNextResponse_Encoding_DefaultXml = new NodeId(Objects.QueryNextResponse_Encoding_DefaultXml);\n\n    /// <summary>\n    /// The identifier for the ReadValueId_Encoding_DefaultXml Object.\n    /// </summary>\n    public static readonly NodeId ReadValueId_Encoding_DefaultXml = new NodeId(Objects.ReadValueId_Encoding_DefaultXml);\n\n    /// <summary>\n    /// The identifier for the ReadRequest_Encoding_DefaultXml Object.\n    /// </summary>\n    public static readonly NodeId ReadRequest_Encoding_DefaultXml = new NodeId(Objects.ReadRequest_Encoding_DefaultXml);\n\n    /// <summary>\n    /// The identifier for the ReadResponse_Encoding_DefaultXml Object.\n    /// </summary>\n    public static readonly NodeId ReadResponse_Encoding_DefaultXml = new NodeId(Objects.ReadResponse_Encoding_DefaultXml);\n\n    /// <summary>\n    /// The identifier for the HistoryReadValueId_Encoding_DefaultXml Object.\n    /// </summary>\n    public static readonly NodeId HistoryReadValueId_Encoding_DefaultXml = new NodeId(Objects.HistoryReadValueId_Encoding_DefaultXml);\n\n    /// <summary>\n    /// The identifier for the HistoryReadResult_Encoding_DefaultXml Object.\n    /// </summary>\n    public static readonly NodeId HistoryReadResult_Encoding_DefaultXml = new NodeId(Objects.HistoryReadResult_Encoding_DefaultXml);\n\n    /// <summary>\n    /// The identifier for the HistoryReadDetails_Encoding_DefaultXml Object.\n    /// </summary>\n    public static readonly NodeId HistoryReadDetails_Encoding_DefaultXml = new NodeId(Objects.HistoryReadDetails_Encoding_DefaultXml);\n\n    /// <summary>\n    /// The identifier for the ReadEventDetails_Encoding_DefaultXml Object.\n    /// </summary>\n    public static readonly NodeId ReadEventDetails_Encoding_DefaultXml = new NodeId(Objects.ReadEventDetails_Encoding_DefaultXml);\n\n    /// <summary>\n    /// The identifier for the ReadRawModifiedDetails_Encoding_DefaultXml Object.\n    /// </summary>\n    public static readonly NodeId ReadRawModifiedDetails_Encoding_DefaultXml = new NodeId(Objects.ReadRawModifiedDetails_Encoding_DefaultXml);\n\n    /// <summary>\n    /// The identifier for the ReadProcessedDetails_Encoding_DefaultXml Object.\n    /// </summary>\n    public static readonly NodeId ReadProcessedDetails_Encoding_DefaultXml = new NodeId(Objects.ReadProcessedDetails_Encoding_DefaultXml);\n\n    /// <summary>\n    /// The identifier for the ReadAtTimeDetails_Encoding_DefaultXml Object.\n    /// </summary>\n    public static readonly NodeId ReadAtTimeDetails_Encoding_DefaultXml = new NodeId(Objects.ReadAtTimeDetails_Encoding_DefaultXml);\n\n    /// <summary>\n    /// The identifier for the HistoryData_Encoding_DefaultXml Object.\n    /// </summary>\n    public static readonly NodeId HistoryData_Encoding_DefaultXml = new NodeId(Objects.HistoryData_Encoding_DefaultXml);\n\n    /// <summary>\n    /// The identifier for the ModificationInfo_Encoding_DefaultXml Object.\n    /// </summary>\n    public static readonly NodeId ModificationInfo_Encoding_DefaultXml = new NodeId(Objects.ModificationInfo_Encoding_DefaultXml);\n\n    /// <summary>\n    /// The identifier for the HistoryModifiedData_Encoding_DefaultXml Object.\n    /// </summary>\n    public static readonly NodeId HistoryModifiedData_Encoding_DefaultXml = new NodeId(Objects.HistoryModifiedData_Encoding_DefaultXml);\n\n    /// <summary>\n    /// The identifier for the HistoryEvent_Encoding_DefaultXml Object.\n    /// </summary>\n    public static readonly NodeId HistoryEvent_Encoding_DefaultXml = new NodeId(Objects.HistoryEvent_Encoding_DefaultXml);\n\n    /// <summary>\n    /// The identifier for the HistoryReadRequest_Encoding_DefaultXml Object.\n    /// </summary>\n    public static readonly NodeId HistoryReadRequest_Encoding_DefaultXml = new NodeId(Objects.HistoryReadRequest_Encoding_DefaultXml);\n\n    /// <summary>\n    /// The identifier for the HistoryReadResponse_Encoding_DefaultXml Object.\n    /// </summary>\n    public static readonly NodeId HistoryReadResponse_Encoding_DefaultXml = new NodeId(Objects.HistoryReadResponse_Encoding_DefaultXml);\n\n    /// <summary>\n    /// The identifier for the WriteValue_Encoding_DefaultXml Object.\n    /// </summary>\n    public static readonly NodeId WriteValue_Encoding_DefaultXml = new NodeId(Objects.WriteValue_Encoding_DefaultXml);\n\n    /// <summary>\n    /// The identifier for the WriteRequest_Encoding_DefaultXml Object.\n    /// </summary>\n    public static readonly NodeId WriteRequest_Encoding_DefaultXml = new NodeId(Objects.WriteRequest_Encoding_DefaultXml);\n\n    /// <summary>\n    /// The identifier for the WriteResponse_Encoding_DefaultXml Object.\n    /// </summary>\n    public static readonly NodeId WriteResponse_Encoding_DefaultXml = new NodeId(Objects.WriteResponse_Encoding_DefaultXml);\n\n    /// <summary>\n    /// The identifier for the HistoryUpdateDetails_Encoding_DefaultXml Object.\n    /// </summary>\n    public static readonly NodeId HistoryUpdateDetails_Encoding_DefaultXml = new NodeId(Objects.HistoryUpdateDetails_Encoding_DefaultXml);\n\n    /// <summary>\n    /// The identifier for the UpdateDataDetails_Encoding_DefaultXml Object.\n    /// </summary>\n    public static readonly NodeId UpdateDataDetails_Encoding_DefaultXml = new NodeId(Objects.UpdateDataDetails_Encoding_DefaultXml);\n\n    /// <summary>\n    /// The identifier for the UpdateStructureDataDetails_Encoding_DefaultXml Object.\n    /// </summary>\n    public static readonly NodeId UpdateStructureDataDetails_Encoding_DefaultXml = new NodeId(Objects.UpdateStructureDataDetails_Encoding_DefaultXml);\n\n    /// <summary>\n    /// The identifier for the UpdateEventDetails_Encoding_DefaultXml Object.\n    /// </summary>\n    public static readonly NodeId UpdateEventDetails_Encoding_DefaultXml = new NodeId(Objects.UpdateEventDetails_Encoding_DefaultXml);\n\n    /// <summary>\n    /// The identifier for the DeleteRawModifiedDetails_Encoding_DefaultXml Object.\n    /// </summary>\n    public static readonly NodeId DeleteRawModifiedDetails_Encoding_DefaultXml = new NodeId(Objects.DeleteRawModifiedDetails_Encoding_DefaultXml);\n\n    /// <summary>\n    /// The identifier for the DeleteAtTimeDetails_Encoding_DefaultXml Object.\n    /// </summary>\n    public static readonly NodeId DeleteAtTimeDetails_Encoding_DefaultXml = new NodeId(Objects.DeleteAtTimeDetails_Encoding_DefaultXml);\n\n    /// <summary>\n    /// The identifier for the DeleteEventDetails_Encoding_DefaultXml Object.\n    /// </summary>\n    public static readonly NodeId DeleteEventDetails_Encoding_DefaultXml = new NodeId(Objects.DeleteEventDetails_Encoding_DefaultXml);\n\n    /// <summary>\n    /// The identifier for the HistoryUpdateResult_Encoding_DefaultXml Object.\n    /// </summary>\n    public static readonly NodeId HistoryUpdateResult_Encoding_DefaultXml = new NodeId(Objects.HistoryUpdateResult_Encoding_DefaultXml);\n\n    /// <summary>\n    /// The identifier for the HistoryUpdateEventResult_Encoding_DefaultXml Object.\n    /// </summary>\n    public static readonly NodeId HistoryUpdateEventResult_Encoding_DefaultXml = new NodeId(Objects.HistoryUpdateEventResult_Encoding_DefaultXml);\n\n    /// <summary>\n    /// The identifier for the HistoryUpdateRequest_Encoding_DefaultXml Object.\n    /// </summary>\n    public static readonly NodeId HistoryUpdateRequest_Encoding_DefaultXml = new NodeId(Objects.HistoryUpdateRequest_Encoding_DefaultXml);\n\n    /// <summary>\n    /// The identifier for the HistoryUpdateResponse_Encoding_DefaultXml Object.\n    /// </summary>\n    public static readonly NodeId HistoryUpdateResponse_Encoding_DefaultXml = new NodeId(Objects.HistoryUpdateResponse_Encoding_DefaultXml);\n\n    /// <summary>\n    /// The identifier for the CallMethodRequest_Encoding_DefaultXml Object.\n    /// </summary>\n    public static readonly NodeId CallMethodRequest_Encoding_DefaultXml = new NodeId(Objects.CallMethodRequest_Encoding_DefaultXml);\n\n    /// <summary>\n    /// The identifier for the CallMethodResult_Encoding_DefaultXml Object.\n    /// </summary>\n    public static readonly NodeId CallMethodResult_Encoding_DefaultXml = new NodeId(Objects.CallMethodResult_Encoding_DefaultXml);\n\n    /// <summary>\n    /// The identifier for the CallRequest_Encoding_DefaultXml Object.\n    /// </summary>\n    public static readonly NodeId CallRequest_Encoding_DefaultXml = new NodeId(Objects.CallRequest_Encoding_DefaultXml);\n\n    /// <summary>\n    /// The identifier for the CallResponse_Encoding_DefaultXml Object.\n    /// </summary>\n    public static readonly NodeId CallResponse_Encoding_DefaultXml = new NodeId(Objects.CallResponse_Encoding_DefaultXml);\n\n    /// <summary>\n    /// The identifier for the MonitoringFilter_Encoding_DefaultXml Object.\n    /// </summary>\n    public static readonly NodeId MonitoringFilter_Encoding_DefaultXml = new NodeId(Objects.MonitoringFilter_Encoding_DefaultXml);\n\n    /// <summary>\n    /// The identifier for the DataChangeFilter_Encoding_DefaultXml Object.\n    /// </summary>\n    public static readonly NodeId DataChangeFilter_Encoding_DefaultXml = new NodeId(Objects.DataChangeFilter_Encoding_DefaultXml);\n\n    /// <summary>\n    /// The identifier for the EventFilter_Encoding_DefaultXml Object.\n    /// </summary>\n    public static readonly NodeId EventFilter_Encoding_DefaultXml = new NodeId(Objects.EventFilter_Encoding_DefaultXml);\n\n    /// <summary>\n    /// The identifier for the AggregateConfiguration_Encoding_DefaultXml Object.\n    /// </summary>\n    public static readonly NodeId AggregateConfiguration_Encoding_DefaultXml = new NodeId(Objects.AggregateConfiguration_Encoding_DefaultXml);\n\n    /// <summary>\n    /// The identifier for the AggregateFilter_Encoding_DefaultXml Object.\n    /// </summary>\n    public static readonly NodeId AggregateFilter_Encoding_DefaultXml = new NodeId(Objects.AggregateFilter_Encoding_DefaultXml);\n\n    /// <summary>\n    /// The identifier for the MonitoringFilterResult_Encoding_DefaultXml Object.\n    /// </summary>\n    public static readonly NodeId MonitoringFilterResult_Encoding_DefaultXml = new NodeId(Objects.MonitoringFilterResult_Encoding_DefaultXml);\n\n    /// <summary>\n    /// The identifier for the EventFilterResult_Encoding_DefaultXml Object.\n    /// </summary>\n    public static readonly NodeId EventFilterResult_Encoding_DefaultXml = new NodeId(Objects.EventFilterResult_Encoding_DefaultXml);\n\n    /// <summary>\n    /// The identifier for the AggregateFilterResult_Encoding_DefaultXml Object.\n    /// </summary>\n    public static readonly NodeId AggregateFilterResult_Encoding_DefaultXml = new NodeId(Objects.AggregateFilterResult_Encoding_DefaultXml);\n\n    /// <summary>\n    /// The identifier for the MonitoringParameters_Encoding_DefaultXml Object.\n    /// </summary>\n    public static readonly NodeId MonitoringParameters_Encoding_DefaultXml = new NodeId(Objects.MonitoringParameters_Encoding_DefaultXml);\n\n    /// <summary>\n    /// The identifier for the MonitoredItemCreateRequest_Encoding_DefaultXml Object.\n    /// </summary>\n    public static readonly NodeId MonitoredItemCreateRequest_Encoding_DefaultXml = new NodeId(Objects.MonitoredItemCreateRequest_Encoding_DefaultXml);\n\n    /// <summary>\n    /// The identifier for the MonitoredItemCreateResult_Encoding_DefaultXml Object.\n    /// </summary>\n    public static readonly NodeId MonitoredItemCreateResult_Encoding_DefaultXml = new NodeId(Objects.MonitoredItemCreateResult_Encoding_DefaultXml);\n\n    /// <summary>\n    /// The identifier for the CreateMonitoredItemsRequest_Encoding_DefaultXml Object.\n    /// </summary>\n    public static readonly NodeId CreateMonitoredItemsRequest_Encoding_DefaultXml = new NodeId(Objects.CreateMonitoredItemsRequest_Encoding_DefaultXml);\n\n    /// <summary>\n    /// The identifier for the CreateMonitoredItemsResponse_Encoding_DefaultXml Object.\n    /// </summary>\n    public static readonly NodeId CreateMonitoredItemsResponse_Encoding_DefaultXml = new NodeId(Objects.CreateMonitoredItemsResponse_Encoding_DefaultXml);\n\n    /// <summary>\n    /// The identifier for the MonitoredItemModifyRequest_Encoding_DefaultXml Object.\n    /// </summary>\n    public static readonly NodeId MonitoredItemModifyRequest_Encoding_DefaultXml = new NodeId(Objects.MonitoredItemModifyRequest_Encoding_DefaultXml);\n\n    /// <summary>\n    /// The identifier for the MonitoredItemModifyResult_Encoding_DefaultXml Object.\n    /// </summary>\n    public static readonly NodeId MonitoredItemModifyResult_Encoding_DefaultXml = new NodeId(Objects.MonitoredItemModifyResult_Encoding_DefaultXml);\n\n    /// <summary>\n    /// The identifier for the ModifyMonitoredItemsRequest_Encoding_DefaultXml Object.\n    /// </summary>\n    public static readonly NodeId ModifyMonitoredItemsRequest_Encoding_DefaultXml = new NodeId(Objects.ModifyMonitoredItemsRequest_Encoding_DefaultXml);\n\n    /// <summary>\n    /// The identifier for the ModifyMonitoredItemsResponse_Encoding_DefaultXml Object.\n    /// </summary>\n    public static readonly NodeId ModifyMonitoredItemsResponse_Encoding_DefaultXml = new NodeId(Objects.ModifyMonitoredItemsResponse_Encoding_DefaultXml);\n\n    /// <summary>\n    /// The identifier for the SetMonitoringModeRequest_Encoding_DefaultXml Object.\n    /// </summary>\n    public static readonly NodeId SetMonitoringModeRequest_Encoding_DefaultXml = new NodeId(Objects.SetMonitoringModeRequest_Encoding_DefaultXml);\n\n    /// <summary>\n    /// The identifier for the SetMonitoringModeResponse_Encoding_DefaultXml Object.\n    /// </summary>\n    public static readonly NodeId SetMonitoringModeResponse_Encoding_DefaultXml = new NodeId(Objects.SetMonitoringModeResponse_Encoding_DefaultXml);\n\n    /// <summary>\n    /// The identifier for the SetTriggeringRequest_Encoding_DefaultXml Object.\n    /// </summary>\n    public static readonly NodeId SetTriggeringRequest_Encoding_DefaultXml = new NodeId(Objects.SetTriggeringRequest_Encoding_DefaultXml);\n\n    /// <summary>\n    /// The identifier for the SetTriggeringResponse_Encoding_DefaultXml Object.\n    /// </summary>\n    public static readonly NodeId SetTriggeringResponse_Encoding_DefaultXml = new NodeId(Objects.SetTriggeringResponse_Encoding_DefaultXml);\n\n    /// <summary>\n    /// The identifier for the DeleteMonitoredItemsRequest_Encoding_DefaultXml Object.\n    /// </summary>\n    public static readonly NodeId DeleteMonitoredItemsRequest_Encoding_DefaultXml = new NodeId(Objects.DeleteMonitoredItemsRequest_Encoding_DefaultXml);\n\n    /// <summary>\n    /// The identifier for the DeleteMonitoredItemsResponse_Encoding_DefaultXml Object.\n    /// </summary>\n    public static readonly NodeId DeleteMonitoredItemsResponse_Encoding_DefaultXml = new NodeId(Objects.DeleteMonitoredItemsResponse_Encoding_DefaultXml);\n\n    /// <summary>\n    /// The identifier for the CreateSubscriptionRequest_Encoding_DefaultXml Object.\n    /// </summary>\n    public static readonly NodeId CreateSubscriptionRequest_Encoding_DefaultXml = new NodeId(Objects.CreateSubscriptionRequest_Encoding_DefaultXml);\n\n    /// <summary>\n    /// The identifier for the CreateSubscriptionResponse_Encoding_DefaultXml Object.\n    /// </summary>\n    public static readonly NodeId CreateSubscriptionResponse_Encoding_DefaultXml = new NodeId(Objects.CreateSubscriptionResponse_Encoding_DefaultXml);\n\n    /// <summary>\n    /// The identifier for the ModifySubscriptionRequest_Encoding_DefaultXml Object.\n    /// </summary>\n    public static readonly NodeId ModifySubscriptionRequest_Encoding_DefaultXml = new NodeId(Objects.ModifySubscriptionRequest_Encoding_DefaultXml);\n\n    /// <summary>\n    /// The identifier for the ModifySubscriptionResponse_Encoding_DefaultXml Object.\n    /// </summary>\n    public static readonly NodeId ModifySubscriptionResponse_Encoding_DefaultXml = new NodeId(Objects.ModifySubscriptionResponse_Encoding_DefaultXml);\n\n    /// <summary>\n    /// The identifier for the SetPublishingModeRequest_Encoding_DefaultXml Object.\n    /// </summary>\n    public static readonly NodeId SetPublishingModeRequest_Encoding_DefaultXml = new NodeId(Objects.SetPublishingModeRequest_Encoding_DefaultXml);\n\n    /// <summary>\n    /// The identifier for the SetPublishingModeResponse_Encoding_DefaultXml Object.\n    /// </summary>\n    public static readonly NodeId SetPublishingModeResponse_Encoding_DefaultXml = new NodeId(Objects.SetPublishingModeResponse_Encoding_DefaultXml);\n\n    /// <summary>\n    /// The identifier for the NotificationMessage_Encoding_DefaultXml Object.\n    /// </summary>\n    public static readonly NodeId NotificationMessage_Encoding_DefaultXml = new NodeId(Objects.NotificationMessage_Encoding_DefaultXml);\n\n    /// <summary>\n    /// The identifier for the NotificationData_Encoding_DefaultXml Object.\n    /// </summary>\n    public static readonly NodeId NotificationData_Encoding_DefaultXml = new NodeId(Objects.NotificationData_Encoding_DefaultXml);\n\n    /// <summary>\n    /// The identifier for the DataChangeNotification_Encoding_DefaultXml Object.\n    /// </summary>\n    public static readonly NodeId DataChangeNotification_Encoding_DefaultXml = new NodeId(Objects.DataChangeNotification_Encoding_DefaultXml);\n\n    /// <summary>\n    /// The identifier for the MonitoredItemNotification_Encoding_DefaultXml Object.\n    /// </summary>\n    public static readonly NodeId MonitoredItemNotification_Encoding_DefaultXml = new NodeId(Objects.MonitoredItemNotification_Encoding_DefaultXml);\n\n    /// <summary>\n    /// The identifier for the EventNotificationList_Encoding_DefaultXml Object.\n    /// </summary>\n    public static readonly NodeId EventNotificationList_Encoding_DefaultXml = new NodeId(Objects.EventNotificationList_Encoding_DefaultXml);\n\n    /// <summary>\n    /// The identifier for the EventFieldList_Encoding_DefaultXml Object.\n    /// </summary>\n    public static readonly NodeId EventFieldList_Encoding_DefaultXml = new NodeId(Objects.EventFieldList_Encoding_DefaultXml);\n\n    /// <summary>\n    /// The identifier for the HistoryEventFieldList_Encoding_DefaultXml Object.\n    /// </summary>\n    public static readonly NodeId HistoryEventFieldList_Encoding_DefaultXml = new NodeId(Objects.HistoryEventFieldList_Encoding_DefaultXml);\n\n    /// <summary>\n    /// The identifier for the StatusChangeNotification_Encoding_DefaultXml Object.\n    /// </summary>\n    public static readonly NodeId StatusChangeNotification_Encoding_DefaultXml = new NodeId(Objects.StatusChangeNotification_Encoding_DefaultXml);\n\n    /// <summary>\n    /// The identifier for the SubscriptionAcknowledgement_Encoding_DefaultXml Object.\n    /// </summary>\n    public static readonly NodeId SubscriptionAcknowledgement_Encoding_DefaultXml = new NodeId(Objects.SubscriptionAcknowledgement_Encoding_DefaultXml);\n\n    /// <summary>\n    /// The identifier for the PublishRequest_Encoding_DefaultXml Object.\n    /// </summary>\n    public static readonly NodeId PublishRequest_Encoding_DefaultXml = new NodeId(Objects.PublishRequest_Encoding_DefaultXml);\n\n    /// <summary>\n    /// The identifier for the PublishResponse_Encoding_DefaultXml Object.\n    /// </summary>\n    public static readonly NodeId PublishResponse_Encoding_DefaultXml = new NodeId(Objects.PublishResponse_Encoding_DefaultXml);\n\n    /// <summary>\n    /// The identifier for the RepublishRequest_Encoding_DefaultXml Object.\n    /// </summary>\n    public static readonly NodeId RepublishRequest_Encoding_DefaultXml = new NodeId(Objects.RepublishRequest_Encoding_DefaultXml);\n\n    /// <summary>\n    /// The identifier for the RepublishResponse_Encoding_DefaultXml Object.\n    /// </summary>\n    public static readonly NodeId RepublishResponse_Encoding_DefaultXml = new NodeId(Objects.RepublishResponse_Encoding_DefaultXml);\n\n    /// <summary>\n    /// The identifier for the TransferResult_Encoding_DefaultXml Object.\n    /// </summary>\n    public static readonly NodeId TransferResult_Encoding_DefaultXml = new NodeId(Objects.TransferResult_Encoding_DefaultXml);\n\n    /// <summary>\n    /// The identifier for the TransferSubscriptionsRequest_Encoding_DefaultXml Object.\n    /// </summary>\n    public static readonly NodeId TransferSubscriptionsRequest_Encoding_DefaultXml = new NodeId(Objects.TransferSubscriptionsRequest_Encoding_DefaultXml);\n\n    /// <summary>\n    /// The identifier for the TransferSubscriptionsResponse_Encoding_DefaultXml Object.\n    /// </summary>\n    public static readonly NodeId TransferSubscriptionsResponse_Encoding_DefaultXml = new NodeId(Objects.TransferSubscriptionsResponse_Encoding_DefaultXml);\n\n    /// <summary>\n    /// The identifier for the DeleteSubscriptionsRequest_Encoding_DefaultXml Object.\n    /// </summary>\n    public static readonly NodeId DeleteSubscriptionsRequest_Encoding_DefaultXml = new NodeId(Objects.DeleteSubscriptionsRequest_Encoding_DefaultXml);\n\n    /// <summary>\n    /// The identifier for the DeleteSubscriptionsResponse_Encoding_DefaultXml Object.\n    /// </summary>\n    public static readonly NodeId DeleteSubscriptionsResponse_Encoding_DefaultXml = new NodeId(Objects.DeleteSubscriptionsResponse_Encoding_DefaultXml);\n\n    /// <summary>\n    /// The identifier for the ScalarTestType_Encoding_DefaultXml Object.\n    /// </summary>\n    public static readonly NodeId ScalarTestType_Encoding_DefaultXml = new NodeId(Objects.ScalarTestType_Encoding_DefaultXml);\n\n    /// <summary>\n    /// The identifier for the ArrayTestType_Encoding_DefaultXml Object.\n    /// </summary>\n    public static readonly NodeId ArrayTestType_Encoding_DefaultXml = new NodeId(Objects.ArrayTestType_Encoding_DefaultXml);\n\n    /// <summary>\n    /// The identifier for the CompositeTestType_Encoding_DefaultXml Object.\n    /// </summary>\n    public static readonly NodeId CompositeTestType_Encoding_DefaultXml = new NodeId(Objects.CompositeTestType_Encoding_DefaultXml);\n\n    /// <summary>\n    /// The identifier for the TestStackRequest_Encoding_DefaultXml Object.\n    /// </summary>\n    public static readonly NodeId TestStackRequest_Encoding_DefaultXml = new NodeId(Objects.TestStackRequest_Encoding_DefaultXml);\n\n    /// <summary>\n    /// The identifier for the TestStackResponse_Encoding_DefaultXml Object.\n    /// </summary>\n    public static readonly NodeId TestStackResponse_Encoding_DefaultXml = new NodeId(Objects.TestStackResponse_Encoding_DefaultXml);\n\n    /// <summary>\n    /// The identifier for the TestStackExRequest_Encoding_DefaultXml Object.\n    /// </summary>\n    public static readonly NodeId TestStackExRequest_Encoding_DefaultXml = new NodeId(Objects.TestStackExRequest_Encoding_DefaultXml);\n\n    /// <summary>\n    /// The identifier for the TestStackExResponse_Encoding_DefaultXml Object.\n    /// </summary>\n    public static readonly NodeId TestStackExResponse_Encoding_DefaultXml = new NodeId(Objects.TestStackExResponse_Encoding_DefaultXml);\n\n    /// <summary>\n    /// The identifier for the BuildInfo_Encoding_DefaultXml Object.\n    /// </summary>\n    public static readonly NodeId BuildInfo_Encoding_DefaultXml = new NodeId(Objects.BuildInfo_Encoding_DefaultXml);\n\n    /// <summary>\n    /// The identifier for the RedundantServerDataType_Encoding_DefaultXml Object.\n    /// </summary>\n    public static readonly NodeId RedundantServerDataType_Encoding_DefaultXml = new NodeId(Objects.RedundantServerDataType_Encoding_DefaultXml);\n\n    /// <summary>\n    /// The identifier for the EndpointUrlListDataType_Encoding_DefaultXml Object.\n    /// </summary>\n    public static readonly NodeId EndpointUrlListDataType_Encoding_DefaultXml = new NodeId(Objects.EndpointUrlListDataType_Encoding_DefaultXml);\n\n    /// <summary>\n    /// The identifier for the NetworkGroupDataType_Encoding_DefaultXml Object.\n    /// </summary>\n    public static readonly NodeId NetworkGroupDataType_Encoding_DefaultXml = new NodeId(Objects.NetworkGroupDataType_Encoding_DefaultXml);\n\n    /// <summary>\n    /// The identifier for the SamplingIntervalDiagnosticsDataType_Encoding_DefaultXml Object.\n    /// </summary>\n    public static readonly NodeId SamplingIntervalDiagnosticsDataType_Encoding_DefaultXml = new NodeId(Objects.SamplingIntervalDiagnosticsDataType_Encoding_DefaultXml);\n\n    /// <summary>\n    /// The identifier for the ServerDiagnosticsSummaryDataType_Encoding_DefaultXml Object.\n    /// </summary>\n    public static readonly NodeId ServerDiagnosticsSummaryDataType_Encoding_DefaultXml = new NodeId(Objects.ServerDiagnosticsSummaryDataType_Encoding_DefaultXml);\n\n    /// <summary>\n    /// The identifier for the ServerStatusDataType_Encoding_DefaultXml Object.\n    /// </summary>\n    public static readonly NodeId ServerStatusDataType_Encoding_DefaultXml = new NodeId(Objects.ServerStatusDataType_Encoding_DefaultXml);\n\n    /// <summary>\n    /// The identifier for the SessionDiagnosticsDataType_Encoding_DefaultXml Object.\n    /// </summary>\n    public static readonly NodeId SessionDiagnosticsDataType_Encoding_DefaultXml = new NodeId(Objects.SessionDiagnosticsDataType_Encoding_DefaultXml);\n\n    /// <summary>\n    /// The identifier for the SessionSecurityDiagnosticsDataType_Encoding_DefaultXml Object.\n    /// </summary>\n    public static readonly NodeId SessionSecurityDiagnosticsDataType_Encoding_DefaultXml = new NodeId(Objects.SessionSecurityDiagnosticsDataType_Encoding_DefaultXml);\n\n    /// <summary>\n    /// The identifier for the ServiceCounterDataType_Encoding_DefaultXml Object.\n    /// </summary>\n    public static readonly NodeId ServiceCounterDataType_Encoding_DefaultXml = new NodeId(Objects.ServiceCounterDataType_Encoding_DefaultXml);\n\n    /// <summary>\n    /// The identifier for the StatusResult_Encoding_DefaultXml Object.\n    /// </summary>\n    public static readonly NodeId StatusResult_Encoding_DefaultXml = new NodeId(Objects.StatusResult_Encoding_DefaultXml);\n\n    /// <summary>\n    /// The identifier for the SubscriptionDiagnosticsDataType_Encoding_DefaultXml Object.\n    /// </summary>\n    public static readonly NodeId SubscriptionDiagnosticsDataType_Encoding_DefaultXml = new NodeId(Objects.SubscriptionDiagnosticsDataType_Encoding_DefaultXml);\n\n    /// <summary>\n    /// The identifier for the ModelChangeStructureDataType_Encoding_DefaultXml Object.\n    /// </summary>\n    public static readonly NodeId ModelChangeStructureDataType_Encoding_DefaultXml = new NodeId(Objects.ModelChangeStructureDataType_Encoding_DefaultXml);\n\n    /// <summary>\n    /// The identifier for the SemanticChangeStructureDataType_Encoding_DefaultXml Object.\n    /// </summary>\n    public static readonly NodeId SemanticChangeStructureDataType_Encoding_DefaultXml = new NodeId(Objects.SemanticChangeStructureDataType_Encoding_DefaultXml);\n\n    /// <summary>\n    /// The identifier for the Range_Encoding_DefaultXml Object.\n    /// </summary>\n    public static readonly NodeId Range_Encoding_DefaultXml = new NodeId(Objects.Range_Encoding_DefaultXml);\n\n    /// <summary>\n    /// The identifier for the EUInformation_Encoding_DefaultXml Object.\n    /// </summary>\n    public static readonly NodeId EUInformation_Encoding_DefaultXml = new NodeId(Objects.EUInformation_Encoding_DefaultXml);\n\n    /// <summary>\n    /// The identifier for the ComplexNumberType_Encoding_DefaultXml Object.\n    /// </summary>\n    public static readonly NodeId ComplexNumberType_Encoding_DefaultXml = new NodeId(Objects.ComplexNumberType_Encoding_DefaultXml);\n\n    /// <summary>\n    /// The identifier for the DoubleComplexNumberType_Encoding_DefaultXml Object.\n    /// </summary>\n    public static readonly NodeId DoubleComplexNumberType_Encoding_DefaultXml = new NodeId(Objects.DoubleComplexNumberType_Encoding_DefaultXml);\n\n    /// <summary>\n    /// The identifier for the AxisInformation_Encoding_DefaultXml Object.\n    /// </summary>\n    public static readonly NodeId AxisInformation_Encoding_DefaultXml = new NodeId(Objects.AxisInformation_Encoding_DefaultXml);\n\n    /// <summary>\n    /// The identifier for the XVType_Encoding_DefaultXml Object.\n    /// </summary>\n    public static readonly NodeId XVType_Encoding_DefaultXml = new NodeId(Objects.XVType_Encoding_DefaultXml);\n\n    /// <summary>\n    /// The identifier for the ProgramDiagnosticDataType_Encoding_DefaultXml Object.\n    /// </summary>\n    public static readonly NodeId ProgramDiagnosticDataType_Encoding_DefaultXml = new NodeId(Objects.ProgramDiagnosticDataType_Encoding_DefaultXml);\n\n    /// <summary>\n    /// The identifier for the Annotation_Encoding_DefaultXml Object.\n    /// </summary>\n    public static readonly NodeId Annotation_Encoding_DefaultXml = new NodeId(Objects.Annotation_Encoding_DefaultXml);\n\n    /// <summary>\n    /// The identifier for the Node_Encoding_DefaultBinary Object.\n    /// </summary>\n    public static readonly NodeId Node_Encoding_DefaultBinary = new NodeId(Objects.Node_Encoding_DefaultBinary);\n\n    /// <summary>\n    /// The identifier for the InstanceNode_Encoding_DefaultBinary Object.\n    /// </summary>\n    public static readonly NodeId InstanceNode_Encoding_DefaultBinary = new NodeId(Objects.InstanceNode_Encoding_DefaultBinary);\n\n    /// <summary>\n    /// The identifier for the TypeNode_Encoding_DefaultBinary Object.\n    /// </summary>\n    public static readonly NodeId TypeNode_Encoding_DefaultBinary = new NodeId(Objects.TypeNode_Encoding_DefaultBinary);\n\n    /// <summary>\n    /// The identifier for the ObjectNode_Encoding_DefaultBinary Object.\n    /// </summary>\n    public static readonly NodeId ObjectNode_Encoding_DefaultBinary = new NodeId(Objects.ObjectNode_Encoding_DefaultBinary);\n\n    /// <summary>\n    /// The identifier for the ObjectTypeNode_Encoding_DefaultBinary Object.\n    /// </summary>\n    public static readonly NodeId ObjectTypeNode_Encoding_DefaultBinary = new NodeId(Objects.ObjectTypeNode_Encoding_DefaultBinary);\n\n    /// <summary>\n    /// The identifier for the VariableNode_Encoding_DefaultBinary Object.\n    /// </summary>\n    public static readonly NodeId VariableNode_Encoding_DefaultBinary = new NodeId(Objects.VariableNode_Encoding_DefaultBinary);\n\n    /// <summary>\n    /// The identifier for the VariableTypeNode_Encoding_DefaultBinary Object.\n    /// </summary>\n    public static readonly NodeId VariableTypeNode_Encoding_DefaultBinary = new NodeId(Objects.VariableTypeNode_Encoding_DefaultBinary);\n\n    /// <summary>\n    /// The identifier for the ReferenceTypeNode_Encoding_DefaultBinary Object.\n    /// </summary>\n    public static readonly NodeId ReferenceTypeNode_Encoding_DefaultBinary = new NodeId(Objects.ReferenceTypeNode_Encoding_DefaultBinary);\n\n    /// <summary>\n    /// The identifier for the MethodNode_Encoding_DefaultBinary Object.\n    /// </summary>\n    public static readonly NodeId MethodNode_Encoding_DefaultBinary = new NodeId(Objects.MethodNode_Encoding_DefaultBinary);\n\n    /// <summary>\n    /// The identifier for the ViewNode_Encoding_DefaultBinary Object.\n    /// </summary>\n    public static readonly NodeId ViewNode_Encoding_DefaultBinary = new NodeId(Objects.ViewNode_Encoding_DefaultBinary);\n\n    /// <summary>\n    /// The identifier for the DataTypeNode_Encoding_DefaultBinary Object.\n    /// </summary>\n    public static readonly NodeId DataTypeNode_Encoding_DefaultBinary = new NodeId(Objects.DataTypeNode_Encoding_DefaultBinary);\n\n    /// <summary>\n    /// The identifier for the ReferenceNode_Encoding_DefaultBinary Object.\n    /// </summary>\n    public static readonly NodeId ReferenceNode_Encoding_DefaultBinary = new NodeId(Objects.ReferenceNode_Encoding_DefaultBinary);\n\n    /// <summary>\n    /// The identifier for the Argument_Encoding_DefaultBinary Object.\n    /// </summary>\n    public static readonly NodeId Argument_Encoding_DefaultBinary = new NodeId(Objects.Argument_Encoding_DefaultBinary);\n\n    /// <summary>\n    /// The identifier for the EnumValueType_Encoding_DefaultBinary Object.\n    /// </summary>\n    public static readonly NodeId EnumValueType_Encoding_DefaultBinary = new NodeId(Objects.EnumValueType_Encoding_DefaultBinary);\n\n    /// <summary>\n    /// The identifier for the TimeZoneDataType_Encoding_DefaultBinary Object.\n    /// </summary>\n    public static readonly NodeId TimeZoneDataType_Encoding_DefaultBinary = new NodeId(Objects.TimeZoneDataType_Encoding_DefaultBinary);\n\n    /// <summary>\n    /// The identifier for the ApplicationDescription_Encoding_DefaultBinary Object.\n    /// </summary>\n    public static readonly NodeId ApplicationDescription_Encoding_DefaultBinary = new NodeId(Objects.ApplicationDescription_Encoding_DefaultBinary);\n\n    /// <summary>\n    /// The identifier for the RequestHeader_Encoding_DefaultBinary Object.\n    /// </summary>\n    public static readonly NodeId RequestHeader_Encoding_DefaultBinary = new NodeId(Objects.RequestHeader_Encoding_DefaultBinary);\n\n    /// <summary>\n    /// The identifier for the ResponseHeader_Encoding_DefaultBinary Object.\n    /// </summary>\n    public static readonly NodeId ResponseHeader_Encoding_DefaultBinary = new NodeId(Objects.ResponseHeader_Encoding_DefaultBinary);\n\n    /// <summary>\n    /// The identifier for the ServiceFault_Encoding_DefaultBinary Object.\n    /// </summary>\n    public static readonly NodeId ServiceFault_Encoding_DefaultBinary = new NodeId(Objects.ServiceFault_Encoding_DefaultBinary);\n\n    /// <summary>\n    /// The identifier for the DnsServiceRecord_Encoding_DefaultBinary Object.\n    /// </summary>\n    public static readonly NodeId DnsServiceRecord_Encoding_DefaultBinary = new NodeId(Objects.DnsServiceRecord_Encoding_DefaultBinary);\n\n    /// <summary>\n    /// The identifier for the FindDnsServicesRequest_Encoding_DefaultBinary Object.\n    /// </summary>\n    public static readonly NodeId FindDnsServicesRequest_Encoding_DefaultBinary = new NodeId(Objects.FindDnsServicesRequest_Encoding_DefaultBinary);\n\n    /// <summary>\n    /// The identifier for the FindDnsServicesResponse_Encoding_DefaultBinary Object.\n    /// </summary>\n    public static readonly NodeId FindDnsServicesResponse_Encoding_DefaultBinary = new NodeId(Objects.FindDnsServicesResponse_Encoding_DefaultBinary);\n\n    /// <summary>\n    /// The identifier for the FindServersRequest_Encoding_DefaultBinary Object.\n    /// </summary>\n    public static readonly NodeId FindServersRequest_Encoding_DefaultBinary = new NodeId(Objects.FindServersRequest_Encoding_DefaultBinary);\n\n    /// <summary>\n    /// The identifier for the FindServersResponse_Encoding_DefaultBinary Object.\n    /// </summary>\n    public static readonly NodeId FindServersResponse_Encoding_DefaultBinary = new NodeId(Objects.FindServersResponse_Encoding_DefaultBinary);\n\n    /// <summary>\n    /// The identifier for the UserTokenPolicy_Encoding_DefaultBinary Object.\n    /// </summary>\n    public static readonly NodeId UserTokenPolicy_Encoding_DefaultBinary = new NodeId(Objects.UserTokenPolicy_Encoding_DefaultBinary);\n\n    /// <summary>\n    /// The identifier for the EndpointDescription_Encoding_DefaultBinary Object.\n    /// </summary>\n    public static readonly NodeId EndpointDescription_Encoding_DefaultBinary = new NodeId(Objects.EndpointDescription_Encoding_DefaultBinary);\n\n    /// <summary>\n    /// The identifier for the GetEndpointsRequest_Encoding_DefaultBinary Object.\n    /// </summary>\n    public static readonly NodeId GetEndpointsRequest_Encoding_DefaultBinary = new NodeId(Objects.GetEndpointsRequest_Encoding_DefaultBinary);\n\n    /// <summary>\n    /// The identifier for the GetEndpointsResponse_Encoding_DefaultBinary Object.\n    /// </summary>\n    public static readonly NodeId GetEndpointsResponse_Encoding_DefaultBinary = new NodeId(Objects.GetEndpointsResponse_Encoding_DefaultBinary);\n\n    /// <summary>\n    /// The identifier for the RegisteredServer_Encoding_DefaultBinary Object.\n    /// </summary>\n    public static readonly NodeId RegisteredServer_Encoding_DefaultBinary = new NodeId(Objects.RegisteredServer_Encoding_DefaultBinary);\n\n    /// <summary>\n    /// The identifier for the RegisterServerRequest_Encoding_DefaultBinary Object.\n    /// </summary>\n    public static readonly NodeId RegisterServerRequest_Encoding_DefaultBinary = new NodeId(Objects.RegisterServerRequest_Encoding_DefaultBinary);\n\n    /// <summary>\n    /// The identifier for the RegisterServerResponse_Encoding_DefaultBinary Object.\n    /// </summary>\n    public static readonly NodeId RegisterServerResponse_Encoding_DefaultBinary = new NodeId(Objects.RegisterServerResponse_Encoding_DefaultBinary);\n\n    /// <summary>\n    /// The identifier for the ChannelSecurityToken_Encoding_DefaultBinary Object.\n    /// </summary>\n    public static readonly NodeId ChannelSecurityToken_Encoding_DefaultBinary = new NodeId(Objects.ChannelSecurityToken_Encoding_DefaultBinary);\n\n    /// <summary>\n    /// The identifier for the OpenSecureChannelRequest_Encoding_DefaultBinary Object.\n    /// </summary>\n    public static readonly NodeId OpenSecureChannelRequest_Encoding_DefaultBinary = new NodeId(Objects.OpenSecureChannelRequest_Encoding_DefaultBinary);\n\n    /// <summary>\n    /// The identifier for the OpenSecureChannelResponse_Encoding_DefaultBinary Object.\n    /// </summary>\n    public static readonly NodeId OpenSecureChannelResponse_Encoding_DefaultBinary = new NodeId(Objects.OpenSecureChannelResponse_Encoding_DefaultBinary);\n\n    /// <summary>\n    /// The identifier for the CloseSecureChannelRequest_Encoding_DefaultBinary Object.\n    /// </summary>\n    public static readonly NodeId CloseSecureChannelRequest_Encoding_DefaultBinary = new NodeId(Objects.CloseSecureChannelRequest_Encoding_DefaultBinary);\n\n    /// <summary>\n    /// The identifier for the CloseSecureChannelResponse_Encoding_DefaultBinary Object.\n    /// </summary>\n    public static readonly NodeId CloseSecureChannelResponse_Encoding_DefaultBinary = new NodeId(Objects.CloseSecureChannelResponse_Encoding_DefaultBinary);\n\n    /// <summary>\n    /// The identifier for the SignedSoftwareCertificate_Encoding_DefaultBinary Object.\n    /// </summary>\n    public static readonly NodeId SignedSoftwareCertificate_Encoding_DefaultBinary = new NodeId(Objects.SignedSoftwareCertificate_Encoding_DefaultBinary);\n\n    /// <summary>\n    /// The identifier for the SignatureData_Encoding_DefaultBinary Object.\n    /// </summary>\n    public static readonly NodeId SignatureData_Encoding_DefaultBinary = new NodeId(Objects.SignatureData_Encoding_DefaultBinary);\n\n    /// <summary>\n    /// The identifier for the CreateSessionRequest_Encoding_DefaultBinary Object.\n    /// </summary>\n    public static readonly NodeId CreateSessionRequest_Encoding_DefaultBinary = new NodeId(Objects.CreateSessionRequest_Encoding_DefaultBinary);\n\n    /// <summary>\n    /// The identifier for the CreateSessionResponse_Encoding_DefaultBinary Object.\n    /// </summary>\n    public static readonly NodeId CreateSessionResponse_Encoding_DefaultBinary = new NodeId(Objects.CreateSessionResponse_Encoding_DefaultBinary);\n\n    /// <summary>\n    /// The identifier for the UserIdentityToken_Encoding_DefaultBinary Object.\n    /// </summary>\n    public static readonly NodeId UserIdentityToken_Encoding_DefaultBinary = new NodeId(Objects.UserIdentityToken_Encoding_DefaultBinary);\n\n    /// <summary>\n    /// The identifier for the AnonymousIdentityToken_Encoding_DefaultBinary Object.\n    /// </summary>\n    public static readonly NodeId AnonymousIdentityToken_Encoding_DefaultBinary = new NodeId(Objects.AnonymousIdentityToken_Encoding_DefaultBinary);\n\n    /// <summary>\n    /// The identifier for the UserNameIdentityToken_Encoding_DefaultBinary Object.\n    /// </summary>\n    public static readonly NodeId UserNameIdentityToken_Encoding_DefaultBinary = new NodeId(Objects.UserNameIdentityToken_Encoding_DefaultBinary);\n\n    /// <summary>\n    /// The identifier for the X509IdentityToken_Encoding_DefaultBinary Object.\n    /// </summary>\n    public static readonly NodeId X509IdentityToken_Encoding_DefaultBinary = new NodeId(Objects.X509IdentityToken_Encoding_DefaultBinary);\n\n    /// <summary>\n    /// The identifier for the IssuedIdentityToken_Encoding_DefaultBinary Object.\n    /// </summary>\n    public static readonly NodeId IssuedIdentityToken_Encoding_DefaultBinary = new NodeId(Objects.IssuedIdentityToken_Encoding_DefaultBinary);\n\n    /// <summary>\n    /// The identifier for the ActivateSessionRequest_Encoding_DefaultBinary Object.\n    /// </summary>\n    public static readonly NodeId ActivateSessionRequest_Encoding_DefaultBinary = new NodeId(Objects.ActivateSessionRequest_Encoding_DefaultBinary);\n\n    /// <summary>\n    /// The identifier for the ActivateSessionResponse_Encoding_DefaultBinary Object.\n    /// </summary>\n    public static readonly NodeId ActivateSessionResponse_Encoding_DefaultBinary = new NodeId(Objects.ActivateSessionResponse_Encoding_DefaultBinary);\n\n    /// <summary>\n    /// The identifier for the CloseSessionRequest_Encoding_DefaultBinary Object.\n    /// </summary>\n    public static readonly NodeId CloseSessionRequest_Encoding_DefaultBinary = new NodeId(Objects.CloseSessionRequest_Encoding_DefaultBinary);\n\n    /// <summary>\n    /// The identifier for the CloseSessionResponse_Encoding_DefaultBinary Object.\n    /// </summary>\n    public static readonly NodeId CloseSessionResponse_Encoding_DefaultBinary = new NodeId(Objects.CloseSessionResponse_Encoding_DefaultBinary);\n\n    /// <summary>\n    /// The identifier for the CancelRequest_Encoding_DefaultBinary Object.\n    /// </summary>\n    public static readonly NodeId CancelRequest_Encoding_DefaultBinary = new NodeId(Objects.CancelRequest_Encoding_DefaultBinary);\n\n    /// <summary>\n    /// The identifier for the CancelResponse_Encoding_DefaultBinary Object.\n    /// </summary>\n    public static readonly NodeId CancelResponse_Encoding_DefaultBinary = new NodeId(Objects.CancelResponse_Encoding_DefaultBinary);\n\n    /// <summary>\n    /// The identifier for the NodeAttributes_Encoding_DefaultBinary Object.\n    /// </summary>\n    public static readonly NodeId NodeAttributes_Encoding_DefaultBinary = new NodeId(Objects.NodeAttributes_Encoding_DefaultBinary);\n\n    /// <summary>\n    /// The identifier for the ObjectAttributes_Encoding_DefaultBinary Object.\n    /// </summary>\n    public static readonly NodeId ObjectAttributes_Encoding_DefaultBinary = new NodeId(Objects.ObjectAttributes_Encoding_DefaultBinary);\n\n    /// <summary>\n    /// The identifier for the VariableAttributes_Encoding_DefaultBinary Object.\n    /// </summary>\n    public static readonly NodeId VariableAttributes_Encoding_DefaultBinary = new NodeId(Objects.VariableAttributes_Encoding_DefaultBinary);\n\n    /// <summary>\n    /// The identifier for the MethodAttributes_Encoding_DefaultBinary Object.\n    /// </summary>\n    public static readonly NodeId MethodAttributes_Encoding_DefaultBinary = new NodeId(Objects.MethodAttributes_Encoding_DefaultBinary);\n\n    /// <summary>\n    /// The identifier for the ObjectTypeAttributes_Encoding_DefaultBinary Object.\n    /// </summary>\n    public static readonly NodeId ObjectTypeAttributes_Encoding_DefaultBinary = new NodeId(Objects.ObjectTypeAttributes_Encoding_DefaultBinary);\n\n    /// <summary>\n    /// The identifier for the VariableTypeAttributes_Encoding_DefaultBinary Object.\n    /// </summary>\n    public static readonly NodeId VariableTypeAttributes_Encoding_DefaultBinary = new NodeId(Objects.VariableTypeAttributes_Encoding_DefaultBinary);\n\n    /// <summary>\n    /// The identifier for the ReferenceTypeAttributes_Encoding_DefaultBinary Object.\n    /// </summary>\n    public static readonly NodeId ReferenceTypeAttributes_Encoding_DefaultBinary = new NodeId(Objects.ReferenceTypeAttributes_Encoding_DefaultBinary);\n\n    /// <summary>\n    /// The identifier for the DataTypeAttributes_Encoding_DefaultBinary Object.\n    /// </summary>\n    public static readonly NodeId DataTypeAttributes_Encoding_DefaultBinary = new NodeId(Objects.DataTypeAttributes_Encoding_DefaultBinary);\n\n    /// <summary>\n    /// The identifier for the ViewAttributes_Encoding_DefaultBinary Object.\n    /// </summary>\n    public static readonly NodeId ViewAttributes_Encoding_DefaultBinary = new NodeId(Objects.ViewAttributes_Encoding_DefaultBinary);\n\n    /// <summary>\n    /// The identifier for the AddNodesItem_Encoding_DefaultBinary Object.\n    /// </summary>\n    public static readonly NodeId AddNodesItem_Encoding_DefaultBinary = new NodeId(Objects.AddNodesItem_Encoding_DefaultBinary);\n\n    /// <summary>\n    /// The identifier for the AddNodesResult_Encoding_DefaultBinary Object.\n    /// </summary>\n    public static readonly NodeId AddNodesResult_Encoding_DefaultBinary = new NodeId(Objects.AddNodesResult_Encoding_DefaultBinary);\n\n    /// <summary>\n    /// The identifier for the AddNodesRequest_Encoding_DefaultBinary Object.\n    /// </summary>\n    public static readonly NodeId AddNodesRequest_Encoding_DefaultBinary = new NodeId(Objects.AddNodesRequest_Encoding_DefaultBinary);\n\n    /// <summary>\n    /// The identifier for the AddNodesResponse_Encoding_DefaultBinary Object.\n    /// </summary>\n    public static readonly NodeId AddNodesResponse_Encoding_DefaultBinary = new NodeId(Objects.AddNodesResponse_Encoding_DefaultBinary);\n\n    /// <summary>\n    /// The identifier for the AddReferencesItem_Encoding_DefaultBinary Object.\n    /// </summary>\n    public static readonly NodeId AddReferencesItem_Encoding_DefaultBinary = new NodeId(Objects.AddReferencesItem_Encoding_DefaultBinary);\n\n    /// <summary>\n    /// The identifier for the AddReferencesRequest_Encoding_DefaultBinary Object.\n    /// </summary>\n    public static readonly NodeId AddReferencesRequest_Encoding_DefaultBinary = new NodeId(Objects.AddReferencesRequest_Encoding_DefaultBinary);\n\n    /// <summary>\n    /// The identifier for the AddReferencesResponse_Encoding_DefaultBinary Object.\n    /// </summary>\n    public static readonly NodeId AddReferencesResponse_Encoding_DefaultBinary = new NodeId(Objects.AddReferencesResponse_Encoding_DefaultBinary);\n\n    /// <summary>\n    /// The identifier for the DeleteNodesItem_Encoding_DefaultBinary Object.\n    /// </summary>\n    public static readonly NodeId DeleteNodesItem_Encoding_DefaultBinary = new NodeId(Objects.DeleteNodesItem_Encoding_DefaultBinary);\n\n    /// <summary>\n    /// The identifier for the DeleteNodesRequest_Encoding_DefaultBinary Object.\n    /// </summary>\n    public static readonly NodeId DeleteNodesRequest_Encoding_DefaultBinary = new NodeId(Objects.DeleteNodesRequest_Encoding_DefaultBinary);\n\n    /// <summary>\n    /// The identifier for the DeleteNodesResponse_Encoding_DefaultBinary Object.\n    /// </summary>\n    public static readonly NodeId DeleteNodesResponse_Encoding_DefaultBinary = new NodeId(Objects.DeleteNodesResponse_Encoding_DefaultBinary);\n\n    /// <summary>\n    /// The identifier for the DeleteReferencesItem_Encoding_DefaultBinary Object.\n    /// </summary>\n    public static readonly NodeId DeleteReferencesItem_Encoding_DefaultBinary = new NodeId(Objects.DeleteReferencesItem_Encoding_DefaultBinary);\n\n    /// <summary>\n    /// The identifier for the DeleteReferencesRequest_Encoding_DefaultBinary Object.\n    /// </summary>\n    public static readonly NodeId DeleteReferencesRequest_Encoding_DefaultBinary = new NodeId(Objects.DeleteReferencesRequest_Encoding_DefaultBinary);\n\n    /// <summary>\n    /// The identifier for the DeleteReferencesResponse_Encoding_DefaultBinary Object.\n    /// </summary>\n    public static readonly NodeId DeleteReferencesResponse_Encoding_DefaultBinary = new NodeId(Objects.DeleteReferencesResponse_Encoding_DefaultBinary);\n\n    /// <summary>\n    /// The identifier for the ViewDescription_Encoding_DefaultBinary Object.\n    /// </summary>\n    public static readonly NodeId ViewDescription_Encoding_DefaultBinary = new NodeId(Objects.ViewDescription_Encoding_DefaultBinary);\n\n    /// <summary>\n    /// The identifier for the BrowseDescription_Encoding_DefaultBinary Object.\n    /// </summary>\n    public static readonly NodeId BrowseDescription_Encoding_DefaultBinary = new NodeId(Objects.BrowseDescription_Encoding_DefaultBinary);\n\n    /// <summary>\n    /// The identifier for the ReferenceDescription_Encoding_DefaultBinary Object.\n    /// </summary>\n    public static readonly NodeId ReferenceDescription_Encoding_DefaultBinary = new NodeId(Objects.ReferenceDescription_Encoding_DefaultBinary);\n\n    /// <summary>\n    /// The identifier for the BrowseResult_Encoding_DefaultBinary Object.\n    /// </summary>\n    public static readonly NodeId BrowseResult_Encoding_DefaultBinary = new NodeId(Objects.BrowseResult_Encoding_DefaultBinary);\n\n    /// <summary>\n    /// The identifier for the BrowseRequest_Encoding_DefaultBinary Object.\n    /// </summary>\n    public static readonly NodeId BrowseRequest_Encoding_DefaultBinary = new NodeId(Objects.BrowseRequest_Encoding_DefaultBinary);\n\n    /// <summary>\n    /// The identifier for the BrowseResponse_Encoding_DefaultBinary Object.\n    /// </summary>\n    public static readonly NodeId BrowseResponse_Encoding_DefaultBinary = new NodeId(Objects.BrowseResponse_Encoding_DefaultBinary);\n\n    /// <summary>\n    /// The identifier for the BrowseNextRequest_Encoding_DefaultBinary Object.\n    /// </summary>\n    public static readonly NodeId BrowseNextRequest_Encoding_DefaultBinary = new NodeId(Objects.BrowseNextRequest_Encoding_DefaultBinary);\n\n    /// <summary>\n    /// The identifier for the BrowseNextResponse_Encoding_DefaultBinary Object.\n    /// </summary>\n    public static readonly NodeId BrowseNextResponse_Encoding_DefaultBinary = new NodeId(Objects.BrowseNextResponse_Encoding_DefaultBinary);\n\n    /// <summary>\n    /// The identifier for the RelativePathElement_Encoding_DefaultBinary Object.\n    /// </summary>\n    public static readonly NodeId RelativePathElement_Encoding_DefaultBinary = new NodeId(Objects.RelativePathElement_Encoding_DefaultBinary);\n\n    /// <summary>\n    /// The identifier for the RelativePath_Encoding_DefaultBinary Object.\n    /// </summary>\n    public static readonly NodeId RelativePath_Encoding_DefaultBinary = new NodeId(Objects.RelativePath_Encoding_DefaultBinary);\n\n    /// <summary>\n    /// The identifier for the BrowsePath_Encoding_DefaultBinary Object.\n    /// </summary>\n    public static readonly NodeId BrowsePath_Encoding_DefaultBinary = new NodeId(Objects.BrowsePath_Encoding_DefaultBinary);\n\n    /// <summary>\n    /// The identifier for the BrowsePathTarget_Encoding_DefaultBinary Object.\n    /// </summary>\n    public static readonly NodeId BrowsePathTarget_Encoding_DefaultBinary = new NodeId(Objects.BrowsePathTarget_Encoding_DefaultBinary);\n\n    /// <summary>\n    /// The identifier for the BrowsePathResult_Encoding_DefaultBinary Object.\n    /// </summary>\n    public static readonly NodeId BrowsePathResult_Encoding_DefaultBinary = new NodeId(Objects.BrowsePathResult_Encoding_DefaultBinary);\n\n    /// <summary>\n    /// The identifier for the TranslateBrowsePathsToNodeIdsRequest_Encoding_DefaultBinary Object.\n    /// </summary>\n    public static readonly NodeId TranslateBrowsePathsToNodeIdsRequest_Encoding_DefaultBinary = new NodeId(Objects.TranslateBrowsePathsToNodeIdsRequest_Encoding_DefaultBinary);\n\n    /// <summary>\n    /// The identifier for the TranslateBrowsePathsToNodeIdsResponse_Encoding_DefaultBinary Object.\n    /// </summary>\n    public static readonly NodeId TranslateBrowsePathsToNodeIdsResponse_Encoding_DefaultBinary = new NodeId(Objects.TranslateBrowsePathsToNodeIdsResponse_Encoding_DefaultBinary);\n\n    /// <summary>\n    /// The identifier for the RegisterNodesRequest_Encoding_DefaultBinary Object.\n    /// </summary>\n    public static readonly NodeId RegisterNodesRequest_Encoding_DefaultBinary = new NodeId(Objects.RegisterNodesRequest_Encoding_DefaultBinary);\n\n    /// <summary>\n    /// The identifier for the RegisterNodesResponse_Encoding_DefaultBinary Object.\n    /// </summary>\n    public static readonly NodeId RegisterNodesResponse_Encoding_DefaultBinary = new NodeId(Objects.RegisterNodesResponse_Encoding_DefaultBinary);\n\n    /// <summary>\n    /// The identifier for the UnregisterNodesRequest_Encoding_DefaultBinary Object.\n    /// </summary>\n    public static readonly NodeId UnregisterNodesRequest_Encoding_DefaultBinary = new NodeId(Objects.UnregisterNodesRequest_Encoding_DefaultBinary);\n\n    /// <summary>\n    /// The identifier for the UnregisterNodesResponse_Encoding_DefaultBinary Object.\n    /// </summary>\n    public static readonly NodeId UnregisterNodesResponse_Encoding_DefaultBinary = new NodeId(Objects.UnregisterNodesResponse_Encoding_DefaultBinary);\n\n    /// <summary>\n    /// The identifier for the EndpointConfiguration_Encoding_DefaultBinary Object.\n    /// </summary>\n    public static readonly NodeId EndpointConfiguration_Encoding_DefaultBinary = new NodeId(Objects.EndpointConfiguration_Encoding_DefaultBinary);\n\n    /// <summary>\n    /// The identifier for the SupportedProfile_Encoding_DefaultBinary Object.\n    /// </summary>\n    public static readonly NodeId SupportedProfile_Encoding_DefaultBinary = new NodeId(Objects.SupportedProfile_Encoding_DefaultBinary);\n\n    /// <summary>\n    /// The identifier for the SoftwareCertificate_Encoding_DefaultBinary Object.\n    /// </summary>\n    public static readonly NodeId SoftwareCertificate_Encoding_DefaultBinary = new NodeId(Objects.SoftwareCertificate_Encoding_DefaultBinary);\n\n    /// <summary>\n    /// The identifier for the QueryDataDescription_Encoding_DefaultBinary Object.\n    /// </summary>\n    public static readonly NodeId QueryDataDescription_Encoding_DefaultBinary = new NodeId(Objects.QueryDataDescription_Encoding_DefaultBinary);\n\n    /// <summary>\n    /// The identifier for the NodeTypeDescription_Encoding_DefaultBinary Object.\n    /// </summary>\n    public static readonly NodeId NodeTypeDescription_Encoding_DefaultBinary = new NodeId(Objects.NodeTypeDescription_Encoding_DefaultBinary);\n\n    /// <summary>\n    /// The identifier for the QueryDataSet_Encoding_DefaultBinary Object.\n    /// </summary>\n    public static readonly NodeId QueryDataSet_Encoding_DefaultBinary = new NodeId(Objects.QueryDataSet_Encoding_DefaultBinary);\n\n    /// <summary>\n    /// The identifier for the NodeReference_Encoding_DefaultBinary Object.\n    /// </summary>\n    public static readonly NodeId NodeReference_Encoding_DefaultBinary = new NodeId(Objects.NodeReference_Encoding_DefaultBinary);\n\n    /// <summary>\n    /// The identifier for the ContentFilterElement_Encoding_DefaultBinary Object.\n    /// </summary>\n    public static readonly NodeId ContentFilterElement_Encoding_DefaultBinary = new NodeId(Objects.ContentFilterElement_Encoding_DefaultBinary);\n\n    /// <summary>\n    /// The identifier for the ContentFilter_Encoding_DefaultBinary Object.\n    /// </summary>\n    public static readonly NodeId ContentFilter_Encoding_DefaultBinary = new NodeId(Objects.ContentFilter_Encoding_DefaultBinary);\n\n    /// <summary>\n    /// The identifier for the FilterOperand_Encoding_DefaultBinary Object.\n    /// </summary>\n    public static readonly NodeId FilterOperand_Encoding_DefaultBinary = new NodeId(Objects.FilterOperand_Encoding_DefaultBinary);\n\n    /// <summary>\n    /// The identifier for the ElementOperand_Encoding_DefaultBinary Object.\n    /// </summary>\n    public static readonly NodeId ElementOperand_Encoding_DefaultBinary = new NodeId(Objects.ElementOperand_Encoding_DefaultBinary);\n\n    /// <summary>\n    /// The identifier for the LiteralOperand_Encoding_DefaultBinary Object.\n    /// </summary>\n    public static readonly NodeId LiteralOperand_Encoding_DefaultBinary = new NodeId(Objects.LiteralOperand_Encoding_DefaultBinary);\n\n    /// <summary>\n    /// The identifier for the AttributeOperand_Encoding_DefaultBinary Object.\n    /// </summary>\n    public static readonly NodeId AttributeOperand_Encoding_DefaultBinary = new NodeId(Objects.AttributeOperand_Encoding_DefaultBinary);\n\n    /// <summary>\n    /// The identifier for the SimpleAttributeOperand_Encoding_DefaultBinary Object.\n    /// </summary>\n    public static readonly NodeId SimpleAttributeOperand_Encoding_DefaultBinary = new NodeId(Objects.SimpleAttributeOperand_Encoding_DefaultBinary);\n\n    /// <summary>\n    /// The identifier for the ContentFilterElementResult_Encoding_DefaultBinary Object.\n    /// </summary>\n    public static readonly NodeId ContentFilterElementResult_Encoding_DefaultBinary = new NodeId(Objects.ContentFilterElementResult_Encoding_DefaultBinary);\n\n    /// <summary>\n    /// The identifier for the ContentFilterResult_Encoding_DefaultBinary Object.\n    /// </summary>\n    public static readonly NodeId ContentFilterResult_Encoding_DefaultBinary = new NodeId(Objects.ContentFilterResult_Encoding_DefaultBinary);\n\n    /// <summary>\n    /// The identifier for the ParsingResult_Encoding_DefaultBinary Object.\n    /// </summary>\n    public static readonly NodeId ParsingResult_Encoding_DefaultBinary = new NodeId(Objects.ParsingResult_Encoding_DefaultBinary);\n\n    /// <summary>\n    /// The identifier for the QueryFirstRequest_Encoding_DefaultBinary Object.\n    /// </summary>\n    public static readonly NodeId QueryFirstRequest_Encoding_DefaultBinary = new NodeId(Objects.QueryFirstRequest_Encoding_DefaultBinary);\n\n    /// <summary>\n    /// The identifier for the QueryFirstResponse_Encoding_DefaultBinary Object.\n    /// </summary>\n    public static readonly NodeId QueryFirstResponse_Encoding_DefaultBinary = new NodeId(Objects.QueryFirstResponse_Encoding_DefaultBinary);\n\n    /// <summary>\n    /// The identifier for the QueryNextRequest_Encoding_DefaultBinary Object.\n    /// </summary>\n    public static readonly NodeId QueryNextRequest_Encoding_DefaultBinary = new NodeId(Objects.QueryNextRequest_Encoding_DefaultBinary);\n\n    /// <summary>\n    /// The identifier for the QueryNextResponse_Encoding_DefaultBinary Object.\n    /// </summary>\n    public static readonly NodeId QueryNextResponse_Encoding_DefaultBinary = new NodeId(Objects.QueryNextResponse_Encoding_DefaultBinary);\n\n    /// <summary>\n    /// The identifier for the ReadValueId_Encoding_DefaultBinary Object.\n    /// </summary>\n    public static readonly NodeId ReadValueId_Encoding_DefaultBinary = new NodeId(Objects.ReadValueId_Encoding_DefaultBinary);\n\n    /// <summary>\n    /// The identifier for the ReadRequest_Encoding_DefaultBinary Object.\n    /// </summary>\n    public static readonly NodeId ReadRequest_Encoding_DefaultBinary = new NodeId(Objects.ReadRequest_Encoding_DefaultBinary);\n\n    /// <summary>\n    /// The identifier for the ReadResponse_Encoding_DefaultBinary Object.\n    /// </summary>\n    public static readonly NodeId ReadResponse_Encoding_DefaultBinary = new NodeId(Objects.ReadResponse_Encoding_DefaultBinary);\n\n    /// <summary>\n    /// The identifier for the HistoryReadValueId_Encoding_DefaultBinary Object.\n    /// </summary>\n    public static readonly NodeId HistoryReadValueId_Encoding_DefaultBinary = new NodeId(Objects.HistoryReadValueId_Encoding_DefaultBinary);\n\n    /// <summary>\n    /// The identifier for the HistoryReadResult_Encoding_DefaultBinary Object.\n    /// </summary>\n    public static readonly NodeId HistoryReadResult_Encoding_DefaultBinary = new NodeId(Objects.HistoryReadResult_Encoding_DefaultBinary);\n\n    /// <summary>\n    /// The identifier for the HistoryReadDetails_Encoding_DefaultBinary Object.\n    /// </summary>\n    public static readonly NodeId HistoryReadDetails_Encoding_DefaultBinary = new NodeId(Objects.HistoryReadDetails_Encoding_DefaultBinary);\n\n    /// <summary>\n    /// The identifier for the ReadEventDetails_Encoding_DefaultBinary Object.\n    /// </summary>\n    public static readonly NodeId ReadEventDetails_Encoding_DefaultBinary = new NodeId(Objects.ReadEventDetails_Encoding_DefaultBinary);\n\n    /// <summary>\n    /// The identifier for the ReadRawModifiedDetails_Encoding_DefaultBinary Object.\n    /// </summary>\n    public static readonly NodeId ReadRawModifiedDetails_Encoding_DefaultBinary = new NodeId(Objects.ReadRawModifiedDetails_Encoding_DefaultBinary);\n\n    /// <summary>\n    /// The identifier for the ReadProcessedDetails_Encoding_DefaultBinary Object.\n    /// </summary>\n    public static readonly NodeId ReadProcessedDetails_Encoding_DefaultBinary = new NodeId(Objects.ReadProcessedDetails_Encoding_DefaultBinary);\n\n    /// <summary>\n    /// The identifier for the ReadAtTimeDetails_Encoding_DefaultBinary Object.\n    /// </summary>\n    public static readonly NodeId ReadAtTimeDetails_Encoding_DefaultBinary = new NodeId(Objects.ReadAtTimeDetails_Encoding_DefaultBinary);\n\n    /// <summary>\n    /// The identifier for the HistoryData_Encoding_DefaultBinary Object.\n    /// </summary>\n    public static readonly NodeId HistoryData_Encoding_DefaultBinary = new NodeId(Objects.HistoryData_Encoding_DefaultBinary);\n\n    /// <summary>\n    /// The identifier for the ModificationInfo_Encoding_DefaultBinary Object.\n    /// </summary>\n    public static readonly NodeId ModificationInfo_Encoding_DefaultBinary = new NodeId(Objects.ModificationInfo_Encoding_DefaultBinary);\n\n    /// <summary>\n    /// The identifier for the HistoryModifiedData_Encoding_DefaultBinary Object.\n    /// </summary>\n    public static readonly NodeId HistoryModifiedData_Encoding_DefaultBinary = new NodeId(Objects.HistoryModifiedData_Encoding_DefaultBinary);\n\n    /// <summary>\n    /// The identifier for the HistoryEvent_Encoding_DefaultBinary Object.\n    /// </summary>\n    public static readonly NodeId HistoryEvent_Encoding_DefaultBinary = new NodeId(Objects.HistoryEvent_Encoding_DefaultBinary);\n\n    /// <summary>\n    /// The identifier for the HistoryReadRequest_Encoding_DefaultBinary Object.\n    /// </summary>\n    public static readonly NodeId HistoryReadRequest_Encoding_DefaultBinary = new NodeId(Objects.HistoryReadRequest_Encoding_DefaultBinary);\n\n    /// <summary>\n    /// The identifier for the HistoryReadResponse_Encoding_DefaultBinary Object.\n    /// </summary>\n    public static readonly NodeId HistoryReadResponse_Encoding_DefaultBinary = new NodeId(Objects.HistoryReadResponse_Encoding_DefaultBinary);\n\n    /// <summary>\n    /// The identifier for the WriteValue_Encoding_DefaultBinary Object.\n    /// </summary>\n    public static readonly NodeId WriteValue_Encoding_DefaultBinary = new NodeId(Objects.WriteValue_Encoding_DefaultBinary);\n\n    /// <summary>\n    /// The identifier for the WriteRequest_Encoding_DefaultBinary Object.\n    /// </summary>\n    public static readonly NodeId WriteRequest_Encoding_DefaultBinary = new NodeId(Objects.WriteRequest_Encoding_DefaultBinary);\n\n    /// <summary>\n    /// The identifier for the WriteResponse_Encoding_DefaultBinary Object.\n    /// </summary>\n    public static readonly NodeId WriteResponse_Encoding_DefaultBinary = new NodeId(Objects.WriteResponse_Encoding_DefaultBinary);\n\n    /// <summary>\n    /// The identifier for the HistoryUpdateDetails_Encoding_DefaultBinary Object.\n    /// </summary>\n    public static readonly NodeId HistoryUpdateDetails_Encoding_DefaultBinary = new NodeId(Objects.HistoryUpdateDetails_Encoding_DefaultBinary);\n\n    /// <summary>\n    /// The identifier for the UpdateDataDetails_Encoding_DefaultBinary Object.\n    /// </summary>\n    public static readonly NodeId UpdateDataDetails_Encoding_DefaultBinary = new NodeId(Objects.UpdateDataDetails_Encoding_DefaultBinary);\n\n    /// <summary>\n    /// The identifier for the UpdateStructureDataDetails_Encoding_DefaultBinary Object.\n    /// </summary>\n    public static readonly NodeId UpdateStructureDataDetails_Encoding_DefaultBinary = new NodeId(Objects.UpdateStructureDataDetails_Encoding_DefaultBinary);\n\n    /// <summary>\n    /// The identifier for the UpdateEventDetails_Encoding_DefaultBinary Object.\n    /// </summary>\n    public static readonly NodeId UpdateEventDetails_Encoding_DefaultBinary = new NodeId(Objects.UpdateEventDetails_Encoding_DefaultBinary);\n\n    /// <summary>\n    /// The identifier for the DeleteRawModifiedDetails_Encoding_DefaultBinary Object.\n    /// </summary>\n    public static readonly NodeId DeleteRawModifiedDetails_Encoding_DefaultBinary = new NodeId(Objects.DeleteRawModifiedDetails_Encoding_DefaultBinary);\n\n    /// <summary>\n    /// The identifier for the DeleteAtTimeDetails_Encoding_DefaultBinary Object.\n    /// </summary>\n    public static readonly NodeId DeleteAtTimeDetails_Encoding_DefaultBinary = new NodeId(Objects.DeleteAtTimeDetails_Encoding_DefaultBinary);\n\n    /// <summary>\n    /// The identifier for the DeleteEventDetails_Encoding_DefaultBinary Object.\n    /// </summary>\n    public static readonly NodeId DeleteEventDetails_Encoding_DefaultBinary = new NodeId(Objects.DeleteEventDetails_Encoding_DefaultBinary);\n\n    /// <summary>\n    /// The identifier for the HistoryUpdateResult_Encoding_DefaultBinary Object.\n    /// </summary>\n    public static readonly NodeId HistoryUpdateResult_Encoding_DefaultBinary = new NodeId(Objects.HistoryUpdateResult_Encoding_DefaultBinary);\n\n    /// <summary>\n    /// The identifier for the HistoryUpdateEventResult_Encoding_DefaultBinary Object.\n    /// </summary>\n    public static readonly NodeId HistoryUpdateEventResult_Encoding_DefaultBinary = new NodeId(Objects.HistoryUpdateEventResult_Encoding_DefaultBinary);\n\n    /// <summary>\n    /// The identifier for the HistoryUpdateRequest_Encoding_DefaultBinary Object.\n    /// </summary>\n    public static readonly NodeId HistoryUpdateRequest_Encoding_DefaultBinary = new NodeId(Objects.HistoryUpdateRequest_Encoding_DefaultBinary);\n\n    /// <summary>\n    /// The identifier for the HistoryUpdateResponse_Encoding_DefaultBinary Object.\n    /// </summary>\n    public static readonly NodeId HistoryUpdateResponse_Encoding_DefaultBinary = new NodeId(Objects.HistoryUpdateResponse_Encoding_DefaultBinary);\n\n    /// <summary>\n    /// The identifier for the CallMethodRequest_Encoding_DefaultBinary Object.\n    /// </summary>\n    public static readonly NodeId CallMethodRequest_Encoding_DefaultBinary = new NodeId(Objects.CallMethodRequest_Encoding_DefaultBinary);\n\n    /// <summary>\n    /// The identifier for the CallMethodResult_Encoding_DefaultBinary Object.\n    /// </summary>\n    public static readonly NodeId CallMethodResult_Encoding_DefaultBinary = new NodeId(Objects.CallMethodResult_Encoding_DefaultBinary);\n\n    /// <summary>\n    /// The identifier for the CallRequest_Encoding_DefaultBinary Object.\n    /// </summary>\n    public static readonly NodeId CallRequest_Encoding_DefaultBinary = new NodeId(Objects.CallRequest_Encoding_DefaultBinary);\n\n    /// <summary>\n    /// The identifier for the CallResponse_Encoding_DefaultBinary Object.\n    /// </summary>\n    public static readonly NodeId CallResponse_Encoding_DefaultBinary = new NodeId(Objects.CallResponse_Encoding_DefaultBinary);\n\n    /// <summary>\n    /// The identifier for the MonitoringFilter_Encoding_DefaultBinary Object.\n    /// </summary>\n    public static readonly NodeId MonitoringFilter_Encoding_DefaultBinary = new NodeId(Objects.MonitoringFilter_Encoding_DefaultBinary);\n\n    /// <summary>\n    /// The identifier for the DataChangeFilter_Encoding_DefaultBinary Object.\n    /// </summary>\n    public static readonly NodeId DataChangeFilter_Encoding_DefaultBinary = new NodeId(Objects.DataChangeFilter_Encoding_DefaultBinary);\n\n    /// <summary>\n    /// The identifier for the EventFilter_Encoding_DefaultBinary Object.\n    /// </summary>\n    public static readonly NodeId EventFilter_Encoding_DefaultBinary = new NodeId(Objects.EventFilter_Encoding_DefaultBinary);\n\n    /// <summary>\n    /// The identifier for the AggregateConfiguration_Encoding_DefaultBinary Object.\n    /// </summary>\n    public static readonly NodeId AggregateConfiguration_Encoding_DefaultBinary = new NodeId(Objects.AggregateConfiguration_Encoding_DefaultBinary);\n\n    /// <summary>\n    /// The identifier for the AggregateFilter_Encoding_DefaultBinary Object.\n    /// </summary>\n    public static readonly NodeId AggregateFilter_Encoding_DefaultBinary = new NodeId(Objects.AggregateFilter_Encoding_DefaultBinary);\n\n    /// <summary>\n    /// The identifier for the MonitoringFilterResult_Encoding_DefaultBinary Object.\n    /// </summary>\n    public static readonly NodeId MonitoringFilterResult_Encoding_DefaultBinary = new NodeId(Objects.MonitoringFilterResult_Encoding_DefaultBinary);\n\n    /// <summary>\n    /// The identifier for the EventFilterResult_Encoding_DefaultBinary Object.\n    /// </summary>\n    public static readonly NodeId EventFilterResult_Encoding_DefaultBinary = new NodeId(Objects.EventFilterResult_Encoding_DefaultBinary);\n\n    /// <summary>\n    /// The identifier for the AggregateFilterResult_Encoding_DefaultBinary Object.\n    /// </summary>\n    public static readonly NodeId AggregateFilterResult_Encoding_DefaultBinary = new NodeId(Objects.AggregateFilterResult_Encoding_DefaultBinary);\n\n    /// <summary>\n    /// The identifier for the MonitoringParameters_Encoding_DefaultBinary Object.\n    /// </summary>\n    public static readonly NodeId MonitoringParameters_Encoding_DefaultBinary = new NodeId(Objects.MonitoringParameters_Encoding_DefaultBinary);\n\n    /// <summary>\n    /// The identifier for the MonitoredItemCreateRequest_Encoding_DefaultBinary Object.\n    /// </summary>\n    public static readonly NodeId MonitoredItemCreateRequest_Encoding_DefaultBinary = new NodeId(Objects.MonitoredItemCreateRequest_Encoding_DefaultBinary);\n\n    /// <summary>\n    /// The identifier for the MonitoredItemCreateResult_Encoding_DefaultBinary Object.\n    /// </summary>\n    public static readonly NodeId MonitoredItemCreateResult_Encoding_DefaultBinary = new NodeId(Objects.MonitoredItemCreateResult_Encoding_DefaultBinary);\n\n    /// <summary>\n    /// The identifier for the CreateMonitoredItemsRequest_Encoding_DefaultBinary Object.\n    /// </summary>\n    public static readonly NodeId CreateMonitoredItemsRequest_Encoding_DefaultBinary = new NodeId(Objects.CreateMonitoredItemsRequest_Encoding_DefaultBinary);\n\n    /// <summary>\n    /// The identifier for the CreateMonitoredItemsResponse_Encoding_DefaultBinary Object.\n    /// </summary>\n    public static readonly NodeId CreateMonitoredItemsResponse_Encoding_DefaultBinary = new NodeId(Objects.CreateMonitoredItemsResponse_Encoding_DefaultBinary);\n\n    /// <summary>\n    /// The identifier for the MonitoredItemModifyRequest_Encoding_DefaultBinary Object.\n    /// </summary>\n    public static readonly NodeId MonitoredItemModifyRequest_Encoding_DefaultBinary = new NodeId(Objects.MonitoredItemModifyRequest_Encoding_DefaultBinary);\n\n    /// <summary>\n    /// The identifier for the MonitoredItemModifyResult_Encoding_DefaultBinary Object.\n    /// </summary>\n    public static readonly NodeId MonitoredItemModifyResult_Encoding_DefaultBinary = new NodeId(Objects.MonitoredItemModifyResult_Encoding_DefaultBinary);\n\n    /// <summary>\n    /// The identifier for the ModifyMonitoredItemsRequest_Encoding_DefaultBinary Object.\n    /// </summary>\n    public static readonly NodeId ModifyMonitoredItemsRequest_Encoding_DefaultBinary = new NodeId(Objects.ModifyMonitoredItemsRequest_Encoding_DefaultBinary);\n\n    /// <summary>\n    /// The identifier for the ModifyMonitoredItemsResponse_Encoding_DefaultBinary Object.\n    /// </summary>\n    public static readonly NodeId ModifyMonitoredItemsResponse_Encoding_DefaultBinary = new NodeId(Objects.ModifyMonitoredItemsResponse_Encoding_DefaultBinary);\n\n    /// <summary>\n    /// The identifier for the SetMonitoringModeRequest_Encoding_DefaultBinary Object.\n    /// </summary>\n    public static readonly NodeId SetMonitoringModeRequest_Encoding_DefaultBinary = new NodeId(Objects.SetMonitoringModeRequest_Encoding_DefaultBinary);\n\n    /// <summary>\n    /// The identifier for the SetMonitoringModeResponse_Encoding_DefaultBinary Object.\n    /// </summary>\n    public static readonly NodeId SetMonitoringModeResponse_Encoding_DefaultBinary = new NodeId(Objects.SetMonitoringModeResponse_Encoding_DefaultBinary);\n\n    /// <summary>\n    /// The identifier for the SetTriggeringRequest_Encoding_DefaultBinary Object.\n    /// </summary>\n    public static readonly NodeId SetTriggeringRequest_Encoding_DefaultBinary = new NodeId(Objects.SetTriggeringRequest_Encoding_DefaultBinary);\n\n    /// <summary>\n    /// The identifier for the SetTriggeringResponse_Encoding_DefaultBinary Object.\n    /// </summary>\n    public static readonly NodeId SetTriggeringResponse_Encoding_DefaultBinary = new NodeId(Objects.SetTriggeringResponse_Encoding_DefaultBinary);\n\n    /// <summary>\n    /// The identifier for the DeleteMonitoredItemsRequest_Encoding_DefaultBinary Object.\n    /// </summary>\n    public static readonly NodeId DeleteMonitoredItemsRequest_Encoding_DefaultBinary = new NodeId(Objects.DeleteMonitoredItemsRequest_Encoding_DefaultBinary);\n\n    /// <summary>\n    /// The identifier for the DeleteMonitoredItemsResponse_Encoding_DefaultBinary Object.\n    /// </summary>\n    public static readonly NodeId DeleteMonitoredItemsResponse_Encoding_DefaultBinary = new NodeId(Objects.DeleteMonitoredItemsResponse_Encoding_DefaultBinary);\n\n    /// <summary>\n    /// The identifier for the CreateSubscriptionRequest_Encoding_DefaultBinary Object.\n    /// </summary>\n    public static readonly NodeId CreateSubscriptionRequest_Encoding_DefaultBinary = new NodeId(Objects.CreateSubscriptionRequest_Encoding_DefaultBinary);\n\n    /// <summary>\n    /// The identifier for the CreateSubscriptionResponse_Encoding_DefaultBinary Object.\n    /// </summary>\n    public static readonly NodeId CreateSubscriptionResponse_Encoding_DefaultBinary = new NodeId(Objects.CreateSubscriptionResponse_Encoding_DefaultBinary);\n\n    /// <summary>\n    /// The identifier for the ModifySubscriptionRequest_Encoding_DefaultBinary Object.\n    /// </summary>\n    public static readonly NodeId ModifySubscriptionRequest_Encoding_DefaultBinary = new NodeId(Objects.ModifySubscriptionRequest_Encoding_DefaultBinary);\n\n    /// <summary>\n    /// The identifier for the ModifySubscriptionResponse_Encoding_DefaultBinary Object.\n    /// </summary>\n    public static readonly NodeId ModifySubscriptionResponse_Encoding_DefaultBinary = new NodeId(Objects.ModifySubscriptionResponse_Encoding_DefaultBinary);\n\n    /// <summary>\n    /// The identifier for the SetPublishingModeRequest_Encoding_DefaultBinary Object.\n    /// </summary>\n    public static readonly NodeId SetPublishingModeRequest_Encoding_DefaultBinary = new NodeId(Objects.SetPublishingModeRequest_Encoding_DefaultBinary);\n\n    /// <summary>\n    /// The identifier for the SetPublishingModeResponse_Encoding_DefaultBinary Object.\n    /// </summary>\n    public static readonly NodeId SetPublishingModeResponse_Encoding_DefaultBinary = new NodeId(Objects.SetPublishingModeResponse_Encoding_DefaultBinary);\n\n    /// <summary>\n    /// The identifier for the NotificationMessage_Encoding_DefaultBinary Object.\n    /// </summary>\n    public static readonly NodeId NotificationMessage_Encoding_DefaultBinary = new NodeId(Objects.NotificationMessage_Encoding_DefaultBinary);\n\n    /// <summary>\n    /// The identifier for the NotificationData_Encoding_DefaultBinary Object.\n    /// </summary>\n    public static readonly NodeId NotificationData_Encoding_DefaultBinary = new NodeId(Objects.NotificationData_Encoding_DefaultBinary);\n\n    /// <summary>\n    /// The identifier for the DataChangeNotification_Encoding_DefaultBinary Object.\n    /// </summary>\n    public static readonly NodeId DataChangeNotification_Encoding_DefaultBinary = new NodeId(Objects.DataChangeNotification_Encoding_DefaultBinary);\n\n    /// <summary>\n    /// The identifier for the MonitoredItemNotification_Encoding_DefaultBinary Object.\n    /// </summary>\n    public static readonly NodeId MonitoredItemNotification_Encoding_DefaultBinary = new NodeId(Objects.MonitoredItemNotification_Encoding_DefaultBinary);\n\n    /// <summary>\n    /// The identifier for the EventNotificationList_Encoding_DefaultBinary Object.\n    /// </summary>\n    public static readonly NodeId EventNotificationList_Encoding_DefaultBinary = new NodeId(Objects.EventNotificationList_Encoding_DefaultBinary);\n\n    /// <summary>\n    /// The identifier for the EventFieldList_Encoding_DefaultBinary Object.\n    /// </summary>\n    public static readonly NodeId EventFieldList_Encoding_DefaultBinary = new NodeId(Objects.EventFieldList_Encoding_DefaultBinary);\n\n    /// <summary>\n    /// The identifier for the HistoryEventFieldList_Encoding_DefaultBinary Object.\n    /// </summary>\n    public static readonly NodeId HistoryEventFieldList_Encoding_DefaultBinary = new NodeId(Objects.HistoryEventFieldList_Encoding_DefaultBinary);\n\n    /// <summary>\n    /// The identifier for the StatusChangeNotification_Encoding_DefaultBinary Object.\n    /// </summary>\n    public static readonly NodeId StatusChangeNotification_Encoding_DefaultBinary = new NodeId(Objects.StatusChangeNotification_Encoding_DefaultBinary);\n\n    /// <summary>\n    /// The identifier for the SubscriptionAcknowledgement_Encoding_DefaultBinary Object.\n    /// </summary>\n    public static readonly NodeId SubscriptionAcknowledgement_Encoding_DefaultBinary = new NodeId(Objects.SubscriptionAcknowledgement_Encoding_DefaultBinary);\n\n    /// <summary>\n    /// The identifier for the PublishRequest_Encoding_DefaultBinary Object.\n    /// </summary>\n    public static readonly NodeId PublishRequest_Encoding_DefaultBinary = new NodeId(Objects.PublishRequest_Encoding_DefaultBinary);\n\n    /// <summary>\n    /// The identifier for the PublishResponse_Encoding_DefaultBinary Object.\n    /// </summary>\n    public static readonly NodeId PublishResponse_Encoding_DefaultBinary = new NodeId(Objects.PublishResponse_Encoding_DefaultBinary);\n\n    /// <summary>\n    /// The identifier for the RepublishRequest_Encoding_DefaultBinary Object.\n    /// </summary>\n    public static readonly NodeId RepublishRequest_Encoding_DefaultBinary = new NodeId(Objects.RepublishRequest_Encoding_DefaultBinary);\n\n    /// <summary>\n    /// The identifier for the RepublishResponse_Encoding_DefaultBinary Object.\n    /// </summary>\n    public static readonly NodeId RepublishResponse_Encoding_DefaultBinary = new NodeId(Objects.RepublishResponse_Encoding_DefaultBinary);\n\n    /// <summary>\n    /// The identifier for the TransferResult_Encoding_DefaultBinary Object.\n    /// </summary>\n    public static readonly NodeId TransferResult_Encoding_DefaultBinary = new NodeId(Objects.TransferResult_Encoding_DefaultBinary);\n\n    /// <summary>\n    /// The identifier for the TransferSubscriptionsRequest_Encoding_DefaultBinary Object.\n    /// </summary>\n    public static readonly NodeId TransferSubscriptionsRequest_Encoding_DefaultBinary = new NodeId(Objects.TransferSubscriptionsRequest_Encoding_DefaultBinary);\n\n    /// <summary>\n    /// The identifier for the TransferSubscriptionsResponse_Encoding_DefaultBinary Object.\n    /// </summary>\n    public static readonly NodeId TransferSubscriptionsResponse_Encoding_DefaultBinary = new NodeId(Objects.TransferSubscriptionsResponse_Encoding_DefaultBinary);\n\n    /// <summary>\n    /// The identifier for the DeleteSubscriptionsRequest_Encoding_DefaultBinary Object.\n    /// </summary>\n    public static readonly NodeId DeleteSubscriptionsRequest_Encoding_DefaultBinary = new NodeId(Objects.DeleteSubscriptionsRequest_Encoding_DefaultBinary);\n\n    /// <summary>\n    /// The identifier for the DeleteSubscriptionsResponse_Encoding_DefaultBinary Object.\n    /// </summary>\n    public static readonly NodeId DeleteSubscriptionsResponse_Encoding_DefaultBinary = new NodeId(Objects.DeleteSubscriptionsResponse_Encoding_DefaultBinary);\n\n    /// <summary>\n    /// The identifier for the ScalarTestType_Encoding_DefaultBinary Object.\n    /// </summary>\n    public static readonly NodeId ScalarTestType_Encoding_DefaultBinary = new NodeId(Objects.ScalarTestType_Encoding_DefaultBinary);\n\n    /// <summary>\n    /// The identifier for the ArrayTestType_Encoding_DefaultBinary Object.\n    /// </summary>\n    public static readonly NodeId ArrayTestType_Encoding_DefaultBinary = new NodeId(Objects.ArrayTestType_Encoding_DefaultBinary);\n\n    /// <summary>\n    /// The identifier for the CompositeTestType_Encoding_DefaultBinary Object.\n    /// </summary>\n    public static readonly NodeId CompositeTestType_Encoding_DefaultBinary = new NodeId(Objects.CompositeTestType_Encoding_DefaultBinary);\n\n    /// <summary>\n    /// The identifier for the TestStackRequest_Encoding_DefaultBinary Object.\n    /// </summary>\n    public static readonly NodeId TestStackRequest_Encoding_DefaultBinary = new NodeId(Objects.TestStackRequest_Encoding_DefaultBinary);\n\n    /// <summary>\n    /// The identifier for the TestStackResponse_Encoding_DefaultBinary Object.\n    /// </summary>\n    public static readonly NodeId TestStackResponse_Encoding_DefaultBinary = new NodeId(Objects.TestStackResponse_Encoding_DefaultBinary);\n\n    /// <summary>\n    /// The identifier for the TestStackExRequest_Encoding_DefaultBinary Object.\n    /// </summary>\n    public static readonly NodeId TestStackExRequest_Encoding_DefaultBinary = new NodeId(Objects.TestStackExRequest_Encoding_DefaultBinary);\n\n    /// <summary>\n    /// The identifier for the TestStackExResponse_Encoding_DefaultBinary Object.\n    /// </summary>\n    public static readonly NodeId TestStackExResponse_Encoding_DefaultBinary = new NodeId(Objects.TestStackExResponse_Encoding_DefaultBinary);\n\n    /// <summary>\n    /// The identifier for the BuildInfo_Encoding_DefaultBinary Object.\n    /// </summary>\n    public static readonly NodeId BuildInfo_Encoding_DefaultBinary = new NodeId(Objects.BuildInfo_Encoding_DefaultBinary);\n\n    /// <summary>\n    /// The identifier for the RedundantServerDataType_Encoding_DefaultBinary Object.\n    /// </summary>\n    public static readonly NodeId RedundantServerDataType_Encoding_DefaultBinary = new NodeId(Objects.RedundantServerDataType_Encoding_DefaultBinary);\n\n    /// <summary>\n    /// The identifier for the EndpointUrlListDataType_Encoding_DefaultBinary Object.\n    /// </summary>\n    public static readonly NodeId EndpointUrlListDataType_Encoding_DefaultBinary = new NodeId(Objects.EndpointUrlListDataType_Encoding_DefaultBinary);\n\n    /// <summary>\n    /// The identifier for the NetworkGroupDataType_Encoding_DefaultBinary Object.\n    /// </summary>\n    public static readonly NodeId NetworkGroupDataType_Encoding_DefaultBinary = new NodeId(Objects.NetworkGroupDataType_Encoding_DefaultBinary);\n\n    /// <summary>\n    /// The identifier for the SamplingIntervalDiagnosticsDataType_Encoding_DefaultBinary Object.\n    /// </summary>\n    public static readonly NodeId SamplingIntervalDiagnosticsDataType_Encoding_DefaultBinary = new NodeId(Objects.SamplingIntervalDiagnosticsDataType_Encoding_DefaultBinary);\n\n    /// <summary>\n    /// The identifier for the ServerDiagnosticsSummaryDataType_Encoding_DefaultBinary Object.\n    /// </summary>\n    public static readonly NodeId ServerDiagnosticsSummaryDataType_Encoding_DefaultBinary = new NodeId(Objects.ServerDiagnosticsSummaryDataType_Encoding_DefaultBinary);\n\n    /// <summary>\n    /// The identifier for the ServerStatusDataType_Encoding_DefaultBinary Object.\n    /// </summary>\n    public static readonly NodeId ServerStatusDataType_Encoding_DefaultBinary = new NodeId(Objects.ServerStatusDataType_Encoding_DefaultBinary);\n\n    /// <summary>\n    /// The identifier for the SessionDiagnosticsDataType_Encoding_DefaultBinary Object.\n    /// </summary>\n    public static readonly NodeId SessionDiagnosticsDataType_Encoding_DefaultBinary = new NodeId(Objects.SessionDiagnosticsDataType_Encoding_DefaultBinary);\n\n    /// <summary>\n    /// The identifier for the SessionSecurityDiagnosticsDataType_Encoding_DefaultBinary Object.\n    /// </summary>\n    public static readonly NodeId SessionSecurityDiagnosticsDataType_Encoding_DefaultBinary = new NodeId(Objects.SessionSecurityDiagnosticsDataType_Encoding_DefaultBinary);\n\n    /// <summary>\n    /// The identifier for the ServiceCounterDataType_Encoding_DefaultBinary Object.\n    /// </summary>\n    public static readonly NodeId ServiceCounterDataType_Encoding_DefaultBinary = new NodeId(Objects.ServiceCounterDataType_Encoding_DefaultBinary);\n\n    /// <summary>\n    /// The identifier for the StatusResult_Encoding_DefaultBinary Object.\n    /// </summary>\n    public static readonly NodeId StatusResult_Encoding_DefaultBinary = new NodeId(Objects.StatusResult_Encoding_DefaultBinary);\n\n    /// <summary>\n    /// The identifier for the SubscriptionDiagnosticsDataType_Encoding_DefaultBinary Object.\n    /// </summary>\n    public static readonly NodeId SubscriptionDiagnosticsDataType_Encoding_DefaultBinary = new NodeId(Objects.SubscriptionDiagnosticsDataType_Encoding_DefaultBinary);\n\n    /// <summary>\n    /// The identifier for the ModelChangeStructureDataType_Encoding_DefaultBinary Object.\n    /// </summary>\n    public static readonly NodeId ModelChangeStructureDataType_Encoding_DefaultBinary = new NodeId(Objects.ModelChangeStructureDataType_Encoding_DefaultBinary);\n\n    /// <summary>\n    /// The identifier for the SemanticChangeStructureDataType_Encoding_DefaultBinary Object.\n    /// </summary>\n    public static readonly NodeId SemanticChangeStructureDataType_Encoding_DefaultBinary = new NodeId(Objects.SemanticChangeStructureDataType_Encoding_DefaultBinary);\n\n    /// <summary>\n    /// The identifier for the Range_Encoding_DefaultBinary Object.\n    /// </summary>\n    public static readonly NodeId Range_Encoding_DefaultBinary = new NodeId(Objects.Range_Encoding_DefaultBinary);\n\n    /// <summary>\n    /// The identifier for the EUInformation_Encoding_DefaultBinary Object.\n    /// </summary>\n    public static readonly NodeId EUInformation_Encoding_DefaultBinary = new NodeId(Objects.EUInformation_Encoding_DefaultBinary);\n\n    /// <summary>\n    /// The identifier for the ComplexNumberType_Encoding_DefaultBinary Object.\n    /// </summary>\n    public static readonly NodeId ComplexNumberType_Encoding_DefaultBinary = new NodeId(Objects.ComplexNumberType_Encoding_DefaultBinary);\n\n    /// <summary>\n    /// The identifier for the DoubleComplexNumberType_Encoding_DefaultBinary Object.\n    /// </summary>\n    public static readonly NodeId DoubleComplexNumberType_Encoding_DefaultBinary = new NodeId(Objects.DoubleComplexNumberType_Encoding_DefaultBinary);\n\n    /// <summary>\n    /// The identifier for the AxisInformation_Encoding_DefaultBinary Object.\n    /// </summary>\n    public static readonly NodeId AxisInformation_Encoding_DefaultBinary = new NodeId(Objects.AxisInformation_Encoding_DefaultBinary);\n\n    /// <summary>\n    /// The identifier for the XVType_Encoding_DefaultBinary Object.\n    /// </summary>\n    public static readonly NodeId XVType_Encoding_DefaultBinary = new NodeId(Objects.XVType_Encoding_DefaultBinary);\n\n    /// <summary>\n    /// The identifier for the ProgramDiagnosticDataType_Encoding_DefaultBinary Object.\n    /// </summary>\n    public static readonly NodeId ProgramDiagnosticDataType_Encoding_DefaultBinary = new NodeId(Objects.ProgramDiagnosticDataType_Encoding_DefaultBinary);\n\n    /// <summary>\n    /// The identifier for the Annotation_Encoding_DefaultBinary Object.\n    /// </summary>\n    public static readonly NodeId Annotation_Encoding_DefaultBinary = new NodeId(Objects.Annotation_Encoding_DefaultBinary);\n  }\n  #endregion\n\n  #region ObjectType Node Identifiers\n  /// <summary>\n  /// A class that declares constants for all ObjectTypes in the Model Design.\n  /// </summary>\n  /// <exclude />\n  [System.CodeDom.Compiler.GeneratedCodeAttribute(\"Opc.Ua.ModelCompiler\", \"1.0.0.0\")]\n  public static partial class ObjectTypeIds\n  {\n    /// <summary>\n    /// The identifier for the BaseObjectType ObjectType.\n    /// </summary>\n    public static readonly NodeId BaseObjectType = new NodeId(ObjectTypes.BaseObjectType);\n\n    /// <summary>\n    /// The identifier for the FolderType ObjectType.\n    /// </summary>\n    public static readonly NodeId FolderType = new NodeId(ObjectTypes.FolderType);\n\n    /// <summary>\n    /// The identifier for the DataTypeSystemType ObjectType.\n    /// </summary>\n    public static readonly NodeId DataTypeSystemType = new NodeId(ObjectTypes.DataTypeSystemType);\n\n    /// <summary>\n    /// The identifier for the DataTypeEncodingType ObjectType.\n    /// </summary>\n    public static readonly NodeId DataTypeEncodingType = new NodeId(ObjectTypes.DataTypeEncodingType);\n\n    /// <summary>\n    /// The identifier for the ModellingRuleType ObjectType.\n    /// </summary>\n    public static readonly NodeId ModellingRuleType = new NodeId(ObjectTypes.ModellingRuleType);\n\n    /// <summary>\n    /// The identifier for the ServerType ObjectType.\n    /// </summary>\n    public static readonly NodeId ServerType = new NodeId(ObjectTypes.ServerType);\n\n    /// <summary>\n    /// The identifier for the ServerCapabilitiesType ObjectType.\n    /// </summary>\n    public static readonly NodeId ServerCapabilitiesType = new NodeId(ObjectTypes.ServerCapabilitiesType);\n\n    /// <summary>\n    /// The identifier for the ServerDiagnosticsType ObjectType.\n    /// </summary>\n    public static readonly NodeId ServerDiagnosticsType = new NodeId(ObjectTypes.ServerDiagnosticsType);\n\n    /// <summary>\n    /// The identifier for the SessionsDiagnosticsSummaryType ObjectType.\n    /// </summary>\n    public static readonly NodeId SessionsDiagnosticsSummaryType = new NodeId(ObjectTypes.SessionsDiagnosticsSummaryType);\n\n    /// <summary>\n    /// The identifier for the SessionDiagnosticsObjectType ObjectType.\n    /// </summary>\n    public static readonly NodeId SessionDiagnosticsObjectType = new NodeId(ObjectTypes.SessionDiagnosticsObjectType);\n\n    /// <summary>\n    /// The identifier for the VendorServerInfoType ObjectType.\n    /// </summary>\n    public static readonly NodeId VendorServerInfoType = new NodeId(ObjectTypes.VendorServerInfoType);\n\n    /// <summary>\n    /// The identifier for the ServerRedundancyType ObjectType.\n    /// </summary>\n    public static readonly NodeId ServerRedundancyType = new NodeId(ObjectTypes.ServerRedundancyType);\n\n    /// <summary>\n    /// The identifier for the TransparentRedundancyType ObjectType.\n    /// </summary>\n    public static readonly NodeId TransparentRedundancyType = new NodeId(ObjectTypes.TransparentRedundancyType);\n\n    /// <summary>\n    /// The identifier for the NonTransparentRedundancyType ObjectType.\n    /// </summary>\n    public static readonly NodeId NonTransparentRedundancyType = new NodeId(ObjectTypes.NonTransparentRedundancyType);\n\n    /// <summary>\n    /// The identifier for the NonTransparentNetworkRedundancyType ObjectType.\n    /// </summary>\n    public static readonly NodeId NonTransparentNetworkRedundancyType = new NodeId(ObjectTypes.NonTransparentNetworkRedundancyType);\n\n    /// <summary>\n    /// The identifier for the OperationLimitsType ObjectType.\n    /// </summary>\n    public static readonly NodeId OperationLimitsType = new NodeId(ObjectTypes.OperationLimitsType);\n\n    /// <summary>\n    /// The identifier for the FileType ObjectType.\n    /// </summary>\n    public static readonly NodeId FileType = new NodeId(ObjectTypes.FileType);\n\n    /// <summary>\n    /// The identifier for the AddressSpaceFileType ObjectType.\n    /// </summary>\n    public static readonly NodeId AddressSpaceFileType = new NodeId(ObjectTypes.AddressSpaceFileType);\n\n    /// <summary>\n    /// The identifier for the NamespaceMetadataType ObjectType.\n    /// </summary>\n    public static readonly NodeId NamespaceMetadataType = new NodeId(ObjectTypes.NamespaceMetadataType);\n\n    /// <summary>\n    /// The identifier for the NamespacesType ObjectType.\n    /// </summary>\n    public static readonly NodeId NamespacesType = new NodeId(ObjectTypes.NamespacesType);\n\n    /// <summary>\n    /// The identifier for the BaseEventType ObjectType.\n    /// </summary>\n    public static readonly NodeId BaseEventType = new NodeId(ObjectTypes.BaseEventType);\n\n    /// <summary>\n    /// The identifier for the AuditEventType ObjectType.\n    /// </summary>\n    public static readonly NodeId AuditEventType = new NodeId(ObjectTypes.AuditEventType);\n\n    /// <summary>\n    /// The identifier for the AuditSecurityEventType ObjectType.\n    /// </summary>\n    public static readonly NodeId AuditSecurityEventType = new NodeId(ObjectTypes.AuditSecurityEventType);\n\n    /// <summary>\n    /// The identifier for the AuditChannelEventType ObjectType.\n    /// </summary>\n    public static readonly NodeId AuditChannelEventType = new NodeId(ObjectTypes.AuditChannelEventType);\n\n    /// <summary>\n    /// The identifier for the AuditOpenSecureChannelEventType ObjectType.\n    /// </summary>\n    public static readonly NodeId AuditOpenSecureChannelEventType = new NodeId(ObjectTypes.AuditOpenSecureChannelEventType);\n\n    /// <summary>\n    /// The identifier for the AuditSessionEventType ObjectType.\n    /// </summary>\n    public static readonly NodeId AuditSessionEventType = new NodeId(ObjectTypes.AuditSessionEventType);\n\n    /// <summary>\n    /// The identifier for the AuditCreateSessionEventType ObjectType.\n    /// </summary>\n    public static readonly NodeId AuditCreateSessionEventType = new NodeId(ObjectTypes.AuditCreateSessionEventType);\n\n    /// <summary>\n    /// The identifier for the AuditUrlMismatchEventType ObjectType.\n    /// </summary>\n    public static readonly NodeId AuditUrlMismatchEventType = new NodeId(ObjectTypes.AuditUrlMismatchEventType);\n\n    /// <summary>\n    /// The identifier for the AuditActivateSessionEventType ObjectType.\n    /// </summary>\n    public static readonly NodeId AuditActivateSessionEventType = new NodeId(ObjectTypes.AuditActivateSessionEventType);\n\n    /// <summary>\n    /// The identifier for the AuditCancelEventType ObjectType.\n    /// </summary>\n    public static readonly NodeId AuditCancelEventType = new NodeId(ObjectTypes.AuditCancelEventType);\n\n    /// <summary>\n    /// The identifier for the AuditCertificateEventType ObjectType.\n    /// </summary>\n    public static readonly NodeId AuditCertificateEventType = new NodeId(ObjectTypes.AuditCertificateEventType);\n\n    /// <summary>\n    /// The identifier for the AuditCertificateDataMismatchEventType ObjectType.\n    /// </summary>\n    public static readonly NodeId AuditCertificateDataMismatchEventType = new NodeId(ObjectTypes.AuditCertificateDataMismatchEventType);\n\n    /// <summary>\n    /// The identifier for the AuditCertificateExpiredEventType ObjectType.\n    /// </summary>\n    public static readonly NodeId AuditCertificateExpiredEventType = new NodeId(ObjectTypes.AuditCertificateExpiredEventType);\n\n    /// <summary>\n    /// The identifier for the AuditCertificateInvalidEventType ObjectType.\n    /// </summary>\n    public static readonly NodeId AuditCertificateInvalidEventType = new NodeId(ObjectTypes.AuditCertificateInvalidEventType);\n\n    /// <summary>\n    /// The identifier for the AuditCertificateUntrustedEventType ObjectType.\n    /// </summary>\n    public static readonly NodeId AuditCertificateUntrustedEventType = new NodeId(ObjectTypes.AuditCertificateUntrustedEventType);\n\n    /// <summary>\n    /// The identifier for the AuditCertificateRevokedEventType ObjectType.\n    /// </summary>\n    public static readonly NodeId AuditCertificateRevokedEventType = new NodeId(ObjectTypes.AuditCertificateRevokedEventType);\n\n    /// <summary>\n    /// The identifier for the AuditCertificateMismatchEventType ObjectType.\n    /// </summary>\n    public static readonly NodeId AuditCertificateMismatchEventType = new NodeId(ObjectTypes.AuditCertificateMismatchEventType);\n\n    /// <summary>\n    /// The identifier for the AuditNodeManagementEventType ObjectType.\n    /// </summary>\n    public static readonly NodeId AuditNodeManagementEventType = new NodeId(ObjectTypes.AuditNodeManagementEventType);\n\n    /// <summary>\n    /// The identifier for the AuditAddNodesEventType ObjectType.\n    /// </summary>\n    public static readonly NodeId AuditAddNodesEventType = new NodeId(ObjectTypes.AuditAddNodesEventType);\n\n    /// <summary>\n    /// The identifier for the AuditDeleteNodesEventType ObjectType.\n    /// </summary>\n    public static readonly NodeId AuditDeleteNodesEventType = new NodeId(ObjectTypes.AuditDeleteNodesEventType);\n\n    /// <summary>\n    /// The identifier for the AuditAddReferencesEventType ObjectType.\n    /// </summary>\n    public static readonly NodeId AuditAddReferencesEventType = new NodeId(ObjectTypes.AuditAddReferencesEventType);\n\n    /// <summary>\n    /// The identifier for the AuditDeleteReferencesEventType ObjectType.\n    /// </summary>\n    public static readonly NodeId AuditDeleteReferencesEventType = new NodeId(ObjectTypes.AuditDeleteReferencesEventType);\n\n    /// <summary>\n    /// The identifier for the AuditUpdateEventType ObjectType.\n    /// </summary>\n    public static readonly NodeId AuditUpdateEventType = new NodeId(ObjectTypes.AuditUpdateEventType);\n\n    /// <summary>\n    /// The identifier for the AuditWriteUpdateEventType ObjectType.\n    /// </summary>\n    public static readonly NodeId AuditWriteUpdateEventType = new NodeId(ObjectTypes.AuditWriteUpdateEventType);\n\n    /// <summary>\n    /// The identifier for the AuditHistoryUpdateEventType ObjectType.\n    /// </summary>\n    public static readonly NodeId AuditHistoryUpdateEventType = new NodeId(ObjectTypes.AuditHistoryUpdateEventType);\n\n    /// <summary>\n    /// The identifier for the AuditUpdateMethodEventType ObjectType.\n    /// </summary>\n    public static readonly NodeId AuditUpdateMethodEventType = new NodeId(ObjectTypes.AuditUpdateMethodEventType);\n\n    /// <summary>\n    /// The identifier for the SystemEventType ObjectType.\n    /// </summary>\n    public static readonly NodeId SystemEventType = new NodeId(ObjectTypes.SystemEventType);\n\n    /// <summary>\n    /// The identifier for the DeviceFailureEventType ObjectType.\n    /// </summary>\n    public static readonly NodeId DeviceFailureEventType = new NodeId(ObjectTypes.DeviceFailureEventType);\n\n    /// <summary>\n    /// The identifier for the SystemStatusChangeEventType ObjectType.\n    /// </summary>\n    public static readonly NodeId SystemStatusChangeEventType = new NodeId(ObjectTypes.SystemStatusChangeEventType);\n\n    /// <summary>\n    /// The identifier for the BaseModelChangeEventType ObjectType.\n    /// </summary>\n    public static readonly NodeId BaseModelChangeEventType = new NodeId(ObjectTypes.BaseModelChangeEventType);\n\n    /// <summary>\n    /// The identifier for the GeneralModelChangeEventType ObjectType.\n    /// </summary>\n    public static readonly NodeId GeneralModelChangeEventType = new NodeId(ObjectTypes.GeneralModelChangeEventType);\n\n    /// <summary>\n    /// The identifier for the SemanticChangeEventType ObjectType.\n    /// </summary>\n    public static readonly NodeId SemanticChangeEventType = new NodeId(ObjectTypes.SemanticChangeEventType);\n\n    /// <summary>\n    /// The identifier for the EventQueueOverflowEventType ObjectType.\n    /// </summary>\n    public static readonly NodeId EventQueueOverflowEventType = new NodeId(ObjectTypes.EventQueueOverflowEventType);\n\n    /// <summary>\n    /// The identifier for the ProgressEventType ObjectType.\n    /// </summary>\n    public static readonly NodeId ProgressEventType = new NodeId(ObjectTypes.ProgressEventType);\n\n    /// <summary>\n    /// The identifier for the AggregateFunctionType ObjectType.\n    /// </summary>\n    public static readonly NodeId AggregateFunctionType = new NodeId(ObjectTypes.AggregateFunctionType);\n\n    /// <summary>\n    /// The identifier for the StateMachineType ObjectType.\n    /// </summary>\n    public static readonly NodeId StateMachineType = new NodeId(ObjectTypes.StateMachineType);\n\n    /// <summary>\n    /// The identifier for the FiniteStateMachineType ObjectType.\n    /// </summary>\n    public static readonly NodeId FiniteStateMachineType = new NodeId(ObjectTypes.FiniteStateMachineType);\n\n    /// <summary>\n    /// The identifier for the StateType ObjectType.\n    /// </summary>\n    public static readonly NodeId StateType = new NodeId(ObjectTypes.StateType);\n\n    /// <summary>\n    /// The identifier for the InitialStateType ObjectType.\n    /// </summary>\n    public static readonly NodeId InitialStateType = new NodeId(ObjectTypes.InitialStateType);\n\n    /// <summary>\n    /// The identifier for the TransitionType ObjectType.\n    /// </summary>\n    public static readonly NodeId TransitionType = new NodeId(ObjectTypes.TransitionType);\n\n    /// <summary>\n    /// The identifier for the TransitionEventType ObjectType.\n    /// </summary>\n    public static readonly NodeId TransitionEventType = new NodeId(ObjectTypes.TransitionEventType);\n\n    /// <summary>\n    /// The identifier for the AuditUpdateStateEventType ObjectType.\n    /// </summary>\n    public static readonly NodeId AuditUpdateStateEventType = new NodeId(ObjectTypes.AuditUpdateStateEventType);\n\n    /// <summary>\n    /// The identifier for the ConditionType ObjectType.\n    /// </summary>\n    public static readonly NodeId ConditionType = new NodeId(ObjectTypes.ConditionType);\n\n    /// <summary>\n    /// The identifier for the DialogConditionType ObjectType.\n    /// </summary>\n    public static readonly NodeId DialogConditionType = new NodeId(ObjectTypes.DialogConditionType);\n\n    /// <summary>\n    /// The identifier for the AcknowledgeableConditionType ObjectType.\n    /// </summary>\n    public static readonly NodeId AcknowledgeableConditionType = new NodeId(ObjectTypes.AcknowledgeableConditionType);\n\n    /// <summary>\n    /// The identifier for the AlarmConditionType ObjectType.\n    /// </summary>\n    public static readonly NodeId AlarmConditionType = new NodeId(ObjectTypes.AlarmConditionType);\n\n    /// <summary>\n    /// The identifier for the ShelvedStateMachineType ObjectType.\n    /// </summary>\n    public static readonly NodeId ShelvedStateMachineType = new NodeId(ObjectTypes.ShelvedStateMachineType);\n\n    /// <summary>\n    /// The identifier for the LimitAlarmType ObjectType.\n    /// </summary>\n    public static readonly NodeId LimitAlarmType = new NodeId(ObjectTypes.LimitAlarmType);\n\n    /// <summary>\n    /// The identifier for the ExclusiveLimitStateMachineType ObjectType.\n    /// </summary>\n    public static readonly NodeId ExclusiveLimitStateMachineType = new NodeId(ObjectTypes.ExclusiveLimitStateMachineType);\n\n    /// <summary>\n    /// The identifier for the ExclusiveLimitAlarmType ObjectType.\n    /// </summary>\n    public static readonly NodeId ExclusiveLimitAlarmType = new NodeId(ObjectTypes.ExclusiveLimitAlarmType);\n\n    /// <summary>\n    /// The identifier for the NonExclusiveLimitAlarmType ObjectType.\n    /// </summary>\n    public static readonly NodeId NonExclusiveLimitAlarmType = new NodeId(ObjectTypes.NonExclusiveLimitAlarmType);\n\n    /// <summary>\n    /// The identifier for the NonExclusiveLevelAlarmType ObjectType.\n    /// </summary>\n    public static readonly NodeId NonExclusiveLevelAlarmType = new NodeId(ObjectTypes.NonExclusiveLevelAlarmType);\n\n    /// <summary>\n    /// The identifier for the ExclusiveLevelAlarmType ObjectType.\n    /// </summary>\n    public static readonly NodeId ExclusiveLevelAlarmType = new NodeId(ObjectTypes.ExclusiveLevelAlarmType);\n\n    /// <summary>\n    /// The identifier for the NonExclusiveDeviationAlarmType ObjectType.\n    /// </summary>\n    public static readonly NodeId NonExclusiveDeviationAlarmType = new NodeId(ObjectTypes.NonExclusiveDeviationAlarmType);\n\n    /// <summary>\n    /// The identifier for the ExclusiveDeviationAlarmType ObjectType.\n    /// </summary>\n    public static readonly NodeId ExclusiveDeviationAlarmType = new NodeId(ObjectTypes.ExclusiveDeviationAlarmType);\n\n    /// <summary>\n    /// The identifier for the NonExclusiveRateOfChangeAlarmType ObjectType.\n    /// </summary>\n    public static readonly NodeId NonExclusiveRateOfChangeAlarmType = new NodeId(ObjectTypes.NonExclusiveRateOfChangeAlarmType);\n\n    /// <summary>\n    /// The identifier for the ExclusiveRateOfChangeAlarmType ObjectType.\n    /// </summary>\n    public static readonly NodeId ExclusiveRateOfChangeAlarmType = new NodeId(ObjectTypes.ExclusiveRateOfChangeAlarmType);\n\n    /// <summary>\n    /// The identifier for the DiscreteAlarmType ObjectType.\n    /// </summary>\n    public static readonly NodeId DiscreteAlarmType = new NodeId(ObjectTypes.DiscreteAlarmType);\n\n    /// <summary>\n    /// The identifier for the OffNormalAlarmType ObjectType.\n    /// </summary>\n    public static readonly NodeId OffNormalAlarmType = new NodeId(ObjectTypes.OffNormalAlarmType);\n\n    /// <summary>\n    /// The identifier for the SystemOffNormalAlarmType ObjectType.\n    /// </summary>\n    public static readonly NodeId SystemOffNormalAlarmType = new NodeId(ObjectTypes.SystemOffNormalAlarmType);\n\n    /// <summary>\n    /// The identifier for the TripAlarmType ObjectType.\n    /// </summary>\n    public static readonly NodeId TripAlarmType = new NodeId(ObjectTypes.TripAlarmType);\n\n    /// <summary>\n    /// The identifier for the BaseConditionClassType ObjectType.\n    /// </summary>\n    public static readonly NodeId BaseConditionClassType = new NodeId(ObjectTypes.BaseConditionClassType);\n\n    /// <summary>\n    /// The identifier for the ProcessConditionClassType ObjectType.\n    /// </summary>\n    public static readonly NodeId ProcessConditionClassType = new NodeId(ObjectTypes.ProcessConditionClassType);\n\n    /// <summary>\n    /// The identifier for the MaintenanceConditionClassType ObjectType.\n    /// </summary>\n    public static readonly NodeId MaintenanceConditionClassType = new NodeId(ObjectTypes.MaintenanceConditionClassType);\n\n    /// <summary>\n    /// The identifier for the SystemConditionClassType ObjectType.\n    /// </summary>\n    public static readonly NodeId SystemConditionClassType = new NodeId(ObjectTypes.SystemConditionClassType);\n\n    /// <summary>\n    /// The identifier for the AuditConditionEventType ObjectType.\n    /// </summary>\n    public static readonly NodeId AuditConditionEventType = new NodeId(ObjectTypes.AuditConditionEventType);\n\n    /// <summary>\n    /// The identifier for the AuditConditionEnableEventType ObjectType.\n    /// </summary>\n    public static readonly NodeId AuditConditionEnableEventType = new NodeId(ObjectTypes.AuditConditionEnableEventType);\n\n    /// <summary>\n    /// The identifier for the AuditConditionCommentEventType ObjectType.\n    /// </summary>\n    public static readonly NodeId AuditConditionCommentEventType = new NodeId(ObjectTypes.AuditConditionCommentEventType);\n\n    /// <summary>\n    /// The identifier for the AuditConditionRespondEventType ObjectType.\n    /// </summary>\n    public static readonly NodeId AuditConditionRespondEventType = new NodeId(ObjectTypes.AuditConditionRespondEventType);\n\n    /// <summary>\n    /// The identifier for the AuditConditionAcknowledgeEventType ObjectType.\n    /// </summary>\n    public static readonly NodeId AuditConditionAcknowledgeEventType = new NodeId(ObjectTypes.AuditConditionAcknowledgeEventType);\n\n    /// <summary>\n    /// The identifier for the AuditConditionConfirmEventType ObjectType.\n    /// </summary>\n    public static readonly NodeId AuditConditionConfirmEventType = new NodeId(ObjectTypes.AuditConditionConfirmEventType);\n\n    /// <summary>\n    /// The identifier for the AuditConditionShelvingEventType ObjectType.\n    /// </summary>\n    public static readonly NodeId AuditConditionShelvingEventType = new NodeId(ObjectTypes.AuditConditionShelvingEventType);\n\n    /// <summary>\n    /// The identifier for the RefreshStartEventType ObjectType.\n    /// </summary>\n    public static readonly NodeId RefreshStartEventType = new NodeId(ObjectTypes.RefreshStartEventType);\n\n    /// <summary>\n    /// The identifier for the RefreshEndEventType ObjectType.\n    /// </summary>\n    public static readonly NodeId RefreshEndEventType = new NodeId(ObjectTypes.RefreshEndEventType);\n\n    /// <summary>\n    /// The identifier for the RefreshRequiredEventType ObjectType.\n    /// </summary>\n    public static readonly NodeId RefreshRequiredEventType = new NodeId(ObjectTypes.RefreshRequiredEventType);\n\n    /// <summary>\n    /// The identifier for the ProgramStateMachineType ObjectType.\n    /// </summary>\n    public static readonly NodeId ProgramStateMachineType = new NodeId(ObjectTypes.ProgramStateMachineType);\n\n    /// <summary>\n    /// The identifier for the ProgramTransitionEventType ObjectType.\n    /// </summary>\n    public static readonly NodeId ProgramTransitionEventType = new NodeId(ObjectTypes.ProgramTransitionEventType);\n\n    /// <summary>\n    /// The identifier for the AuditProgramTransitionEventType ObjectType.\n    /// </summary>\n    public static readonly NodeId AuditProgramTransitionEventType = new NodeId(ObjectTypes.AuditProgramTransitionEventType);\n\n    /// <summary>\n    /// The identifier for the ProgramTransitionAuditEventType ObjectType.\n    /// </summary>\n    public static readonly NodeId ProgramTransitionAuditEventType = new NodeId(ObjectTypes.ProgramTransitionAuditEventType);\n\n    /// <summary>\n    /// The identifier for the HistoricalDataConfigurationType ObjectType.\n    /// </summary>\n    public static readonly NodeId HistoricalDataConfigurationType = new NodeId(ObjectTypes.HistoricalDataConfigurationType);\n\n    /// <summary>\n    /// The identifier for the HistoryServerCapabilitiesType ObjectType.\n    /// </summary>\n    public static readonly NodeId HistoryServerCapabilitiesType = new NodeId(ObjectTypes.HistoryServerCapabilitiesType);\n\n    /// <summary>\n    /// The identifier for the AuditHistoryEventUpdateEventType ObjectType.\n    /// </summary>\n    public static readonly NodeId AuditHistoryEventUpdateEventType = new NodeId(ObjectTypes.AuditHistoryEventUpdateEventType);\n\n    /// <summary>\n    /// The identifier for the AuditHistoryValueUpdateEventType ObjectType.\n    /// </summary>\n    public static readonly NodeId AuditHistoryValueUpdateEventType = new NodeId(ObjectTypes.AuditHistoryValueUpdateEventType);\n\n    /// <summary>\n    /// The identifier for the AuditHistoryDeleteEventType ObjectType.\n    /// </summary>\n    public static readonly NodeId AuditHistoryDeleteEventType = new NodeId(ObjectTypes.AuditHistoryDeleteEventType);\n\n    /// <summary>\n    /// The identifier for the AuditHistoryRawModifyDeleteEventType ObjectType.\n    /// </summary>\n    public static readonly NodeId AuditHistoryRawModifyDeleteEventType = new NodeId(ObjectTypes.AuditHistoryRawModifyDeleteEventType);\n\n    /// <summary>\n    /// The identifier for the AuditHistoryAtTimeDeleteEventType ObjectType.\n    /// </summary>\n    public static readonly NodeId AuditHistoryAtTimeDeleteEventType = new NodeId(ObjectTypes.AuditHistoryAtTimeDeleteEventType);\n\n    /// <summary>\n    /// The identifier for the AuditHistoryEventDeleteEventType ObjectType.\n    /// </summary>\n    public static readonly NodeId AuditHistoryEventDeleteEventType = new NodeId(ObjectTypes.AuditHistoryEventDeleteEventType);\n\n    /// <summary>\n    /// The identifier for the AggregateConfigurationType ObjectType.\n    /// </summary>\n    public static readonly NodeId AggregateConfigurationType = new NodeId(ObjectTypes.AggregateConfigurationType);\n\n    /// <summary>\n    /// The identifier for the LockType ObjectType.\n    /// </summary>\n    public static readonly NodeId LockType = new NodeId(ObjectTypes.LockType);\n  }\n  #endregion\n\n  #region ReferenceType Node Identifiers\n  /// <summary>\n  /// A class that declares constants for all ReferenceTypes in the Model Design.\n  /// </summary>\n  /// <exclude />\n  [System.CodeDom.Compiler.GeneratedCodeAttribute(\"Opc.Ua.ModelCompiler\", \"1.0.0.0\")]\n  public static partial class ReferenceTypeIds\n  {\n    /// <summary>\n    /// The identifier for the References ReferenceType.\n    /// </summary>\n    public static readonly NodeId References = new NodeId(ReferenceTypes.References);\n\n    /// <summary>\n    /// The identifier for the NonHierarchicalReferences ReferenceType.\n    /// </summary>\n    public static readonly NodeId NonHierarchicalReferences = new NodeId(ReferenceTypes.NonHierarchicalReferences);\n\n    /// <summary>\n    /// The identifier for the HierarchicalReferences ReferenceType.\n    /// </summary>\n    public static readonly NodeId HierarchicalReferences = new NodeId(ReferenceTypes.HierarchicalReferences);\n\n    /// <summary>\n    /// The identifier for the HasChild ReferenceType.\n    /// </summary>\n    public static readonly NodeId HasChild = new NodeId(ReferenceTypes.HasChild);\n\n    /// <summary>\n    /// The identifier for the Organizes ReferenceType.\n    /// </summary>\n    public static readonly NodeId Organizes = new NodeId(ReferenceTypes.Organizes);\n\n    /// <summary>\n    /// The identifier for the HasEventSource ReferenceType.\n    /// </summary>\n    public static readonly NodeId HasEventSource = new NodeId(ReferenceTypes.HasEventSource);\n\n    /// <summary>\n    /// The identifier for the HasModellingRule ReferenceType.\n    /// </summary>\n    public static readonly NodeId HasModellingRule = new NodeId(ReferenceTypes.HasModellingRule);\n\n    /// <summary>\n    /// The identifier for the HasEncoding ReferenceType.\n    /// </summary>\n    public static readonly NodeId HasEncoding = new NodeId(ReferenceTypes.HasEncoding);\n\n    /// <summary>\n    /// The identifier for the HasDescription ReferenceType.\n    /// </summary>\n    public static readonly NodeId HasDescription = new NodeId(ReferenceTypes.HasDescription);\n\n    /// <summary>\n    /// The identifier for the HasTypeDefinition ReferenceType.\n    /// </summary>\n    public static readonly NodeId HasTypeDefinition = new NodeId(ReferenceTypes.HasTypeDefinition);\n\n    /// <summary>\n    /// The identifier for the GeneratesEvent ReferenceType.\n    /// </summary>\n    public static readonly NodeId GeneratesEvent = new NodeId(ReferenceTypes.GeneratesEvent);\n\n    /// <summary>\n    /// The identifier for the AlwaysGeneratesEvent ReferenceType.\n    /// </summary>\n    public static readonly NodeId AlwaysGeneratesEvent = new NodeId(ReferenceTypes.AlwaysGeneratesEvent);\n\n    /// <summary>\n    /// The identifier for the Aggregates ReferenceType.\n    /// </summary>\n    public static readonly NodeId Aggregates = new NodeId(ReferenceTypes.Aggregates);\n\n    /// <summary>\n    /// The identifier for the HasSubtype ReferenceType.\n    /// </summary>\n    public static readonly NodeId HasSubtype = new NodeId(ReferenceTypes.HasSubtype);\n\n    /// <summary>\n    /// The identifier for the HasProperty ReferenceType.\n    /// </summary>\n    public static readonly NodeId HasProperty = new NodeId(ReferenceTypes.HasProperty);\n\n    /// <summary>\n    /// The identifier for the HasComponent ReferenceType.\n    /// </summary>\n    public static readonly NodeId HasComponent = new NodeId(ReferenceTypes.HasComponent);\n\n    /// <summary>\n    /// The identifier for the HasNotifier ReferenceType.\n    /// </summary>\n    public static readonly NodeId HasNotifier = new NodeId(ReferenceTypes.HasNotifier);\n\n    /// <summary>\n    /// The identifier for the HasOrderedComponent ReferenceType.\n    /// </summary>\n    public static readonly NodeId HasOrderedComponent = new NodeId(ReferenceTypes.HasOrderedComponent);\n\n    /// <summary>\n    /// The identifier for the FromState ReferenceType.\n    /// </summary>\n    public static readonly NodeId FromState = new NodeId(ReferenceTypes.FromState);\n\n    /// <summary>\n    /// The identifier for the ToState ReferenceType.\n    /// </summary>\n    public static readonly NodeId ToState = new NodeId(ReferenceTypes.ToState);\n\n    /// <summary>\n    /// The identifier for the HasCause ReferenceType.\n    /// </summary>\n    public static readonly NodeId HasCause = new NodeId(ReferenceTypes.HasCause);\n\n    /// <summary>\n    /// The identifier for the HasEffect ReferenceType.\n    /// </summary>\n    public static readonly NodeId HasEffect = new NodeId(ReferenceTypes.HasEffect);\n\n    /// <summary>\n    /// The identifier for the HasSubStateMachine ReferenceType.\n    /// </summary>\n    public static readonly NodeId HasSubStateMachine = new NodeId(ReferenceTypes.HasSubStateMachine);\n\n    /// <summary>\n    /// The identifier for the HasHistoricalConfiguration ReferenceType.\n    /// </summary>\n    public static readonly NodeId HasHistoricalConfiguration = new NodeId(ReferenceTypes.HasHistoricalConfiguration);\n\n    /// <summary>\n    /// The identifier for the HasTrueSubState ReferenceType.\n    /// </summary>\n    public static readonly NodeId HasTrueSubState = new NodeId(ReferenceTypes.HasTrueSubState);\n\n    /// <summary>\n    /// The identifier for the HasFalseSubState ReferenceType.\n    /// </summary>\n    public static readonly NodeId HasFalseSubState = new NodeId(ReferenceTypes.HasFalseSubState);\n\n    /// <summary>\n    /// The identifier for the HasCondition ReferenceType.\n    /// </summary>\n    public static readonly NodeId HasCondition = new NodeId(ReferenceTypes.HasCondition);\n  }\n  #endregion\n\n  #region Variable Node Identifiers\n  /// <summary>\n  /// A class that declares constants for all Variables in the Model Design.\n  /// </summary>\n  /// <exclude />\n  [System.CodeDom.Compiler.GeneratedCodeAttribute(\"Opc.Ua.ModelCompiler\", \"1.0.0.0\")]\n  public static partial class VariableIds\n  {\n    /// <summary>\n    /// The identifier for the DataTypeDescriptionType_DataTypeVersion Variable.\n    /// </summary>\n    public static readonly NodeId DataTypeDescriptionType_DataTypeVersion = new NodeId(Variables.DataTypeDescriptionType_DataTypeVersion);\n\n    /// <summary>\n    /// The identifier for the DataTypeDescriptionType_DictionaryFragment Variable.\n    /// </summary>\n    public static readonly NodeId DataTypeDescriptionType_DictionaryFragment = new NodeId(Variables.DataTypeDescriptionType_DictionaryFragment);\n\n    /// <summary>\n    /// The identifier for the DataTypeDictionaryType_DataTypeVersion Variable.\n    /// </summary>\n    public static readonly NodeId DataTypeDictionaryType_DataTypeVersion = new NodeId(Variables.DataTypeDictionaryType_DataTypeVersion);\n\n    /// <summary>\n    /// The identifier for the DataTypeDictionaryType_NamespaceUri Variable.\n    /// </summary>\n    public static readonly NodeId DataTypeDictionaryType_NamespaceUri = new NodeId(Variables.DataTypeDictionaryType_NamespaceUri);\n\n    /// <summary>\n    /// The identifier for the NamingRuleType_EnumValues Variable.\n    /// </summary>\n    public static readonly NodeId NamingRuleType_EnumValues = new NodeId(Variables.NamingRuleType_EnumValues);\n\n    /// <summary>\n    /// The identifier for the ModellingRuleType_NamingRule Variable.\n    /// </summary>\n    public static readonly NodeId ModellingRuleType_NamingRule = new NodeId(Variables.ModellingRuleType_NamingRule);\n\n    /// <summary>\n    /// The identifier for the ModellingRule_Mandatory_NamingRule Variable.\n    /// </summary>\n    public static readonly NodeId ModellingRule_Mandatory_NamingRule = new NodeId(Variables.ModellingRule_Mandatory_NamingRule);\n\n    /// <summary>\n    /// The identifier for the ModellingRule_Optional_NamingRule Variable.\n    /// </summary>\n    public static readonly NodeId ModellingRule_Optional_NamingRule = new NodeId(Variables.ModellingRule_Optional_NamingRule);\n\n    /// <summary>\n    /// The identifier for the ModellingRule_ExposesItsArray_NamingRule Variable.\n    /// </summary>\n    public static readonly NodeId ModellingRule_ExposesItsArray_NamingRule = new NodeId(Variables.ModellingRule_ExposesItsArray_NamingRule);\n\n    /// <summary>\n    /// The identifier for the ModellingRule_MandatoryShared_NamingRule Variable.\n    /// </summary>\n    public static readonly NodeId ModellingRule_MandatoryShared_NamingRule = new NodeId(Variables.ModellingRule_MandatoryShared_NamingRule);\n\n    /// <summary>\n    /// The identifier for the ModellingRule_OptionalPlaceholder_NamingRule Variable.\n    /// </summary>\n    public static readonly NodeId ModellingRule_OptionalPlaceholder_NamingRule = new NodeId(Variables.ModellingRule_OptionalPlaceholder_NamingRule);\n\n    /// <summary>\n    /// The identifier for the ModellingRule_MandatoryPlaceholder_NamingRule Variable.\n    /// </summary>\n    public static readonly NodeId ModellingRule_MandatoryPlaceholder_NamingRule = new NodeId(Variables.ModellingRule_MandatoryPlaceholder_NamingRule);\n\n    /// <summary>\n    /// The identifier for the NodeVersion Variable.\n    /// </summary>\n    public static readonly NodeId NodeVersion = new NodeId(Variables.NodeVersion);\n\n    /// <summary>\n    /// The identifier for the ViewVersion Variable.\n    /// </summary>\n    public static readonly NodeId ViewVersion = new NodeId(Variables.ViewVersion);\n\n    /// <summary>\n    /// The identifier for the Icon Variable.\n    /// </summary>\n    public static readonly NodeId Icon = new NodeId(Variables.Icon);\n\n    /// <summary>\n    /// The identifier for the LocalTime Variable.\n    /// </summary>\n    public static readonly NodeId LocalTime = new NodeId(Variables.LocalTime);\n\n    /// <summary>\n    /// The identifier for the AllowNulls Variable.\n    /// </summary>\n    public static readonly NodeId AllowNulls = new NodeId(Variables.AllowNulls);\n\n    /// <summary>\n    /// The identifier for the ValueAsText Variable.\n    /// </summary>\n    public static readonly NodeId ValueAsText = new NodeId(Variables.ValueAsText);\n\n    /// <summary>\n    /// The identifier for the MaxStringLength Variable.\n    /// </summary>\n    public static readonly NodeId MaxStringLength = new NodeId(Variables.MaxStringLength);\n\n    /// <summary>\n    /// The identifier for the MaxArrayLength Variable.\n    /// </summary>\n    public static readonly NodeId MaxArrayLength = new NodeId(Variables.MaxArrayLength);\n\n    /// <summary>\n    /// The identifier for the EngineeringUnits Variable.\n    /// </summary>\n    public static readonly NodeId EngineeringUnits = new NodeId(Variables.EngineeringUnits);\n\n    /// <summary>\n    /// The identifier for the EnumStrings Variable.\n    /// </summary>\n    public static readonly NodeId EnumStrings = new NodeId(Variables.EnumStrings);\n\n    /// <summary>\n    /// The identifier for the EnumValues Variable.\n    /// </summary>\n    public static readonly NodeId EnumValues = new NodeId(Variables.EnumValues);\n\n    /// <summary>\n    /// The identifier for the InputArguments Variable.\n    /// </summary>\n    public static readonly NodeId InputArguments = new NodeId(Variables.InputArguments);\n\n    /// <summary>\n    /// The identifier for the OutputArguments Variable.\n    /// </summary>\n    public static readonly NodeId OutputArguments = new NodeId(Variables.OutputArguments);\n\n    /// <summary>\n    /// The identifier for the ServerType_ServerArray Variable.\n    /// </summary>\n    public static readonly NodeId ServerType_ServerArray = new NodeId(Variables.ServerType_ServerArray);\n\n    /// <summary>\n    /// The identifier for the ServerType_NamespaceArray Variable.\n    /// </summary>\n    public static readonly NodeId ServerType_NamespaceArray = new NodeId(Variables.ServerType_NamespaceArray);\n\n    /// <summary>\n    /// The identifier for the ServerType_ServerStatus Variable.\n    /// </summary>\n    public static readonly NodeId ServerType_ServerStatus = new NodeId(Variables.ServerType_ServerStatus);\n\n    /// <summary>\n    /// The identifier for the ServerType_ServerStatus_StartTime Variable.\n    /// </summary>\n    public static readonly NodeId ServerType_ServerStatus_StartTime = new NodeId(Variables.ServerType_ServerStatus_StartTime);\n\n    /// <summary>\n    /// The identifier for the ServerType_ServerStatus_CurrentTime Variable.\n    /// </summary>\n    public static readonly NodeId ServerType_ServerStatus_CurrentTime = new NodeId(Variables.ServerType_ServerStatus_CurrentTime);\n\n    /// <summary>\n    /// The identifier for the ServerType_ServerStatus_State Variable.\n    /// </summary>\n    public static readonly NodeId ServerType_ServerStatus_State = new NodeId(Variables.ServerType_ServerStatus_State);\n\n    /// <summary>\n    /// The identifier for the ServerType_ServerStatus_BuildInfo Variable.\n    /// </summary>\n    public static readonly NodeId ServerType_ServerStatus_BuildInfo = new NodeId(Variables.ServerType_ServerStatus_BuildInfo);\n\n    /// <summary>\n    /// The identifier for the ServerType_ServerStatus_BuildInfo_ProductUri Variable.\n    /// </summary>\n    public static readonly NodeId ServerType_ServerStatus_BuildInfo_ProductUri = new NodeId(Variables.ServerType_ServerStatus_BuildInfo_ProductUri);\n\n    /// <summary>\n    /// The identifier for the ServerType_ServerStatus_BuildInfo_ManufacturerName Variable.\n    /// </summary>\n    public static readonly NodeId ServerType_ServerStatus_BuildInfo_ManufacturerName = new NodeId(Variables.ServerType_ServerStatus_BuildInfo_ManufacturerName);\n\n    /// <summary>\n    /// The identifier for the ServerType_ServerStatus_BuildInfo_ProductName Variable.\n    /// </summary>\n    public static readonly NodeId ServerType_ServerStatus_BuildInfo_ProductName = new NodeId(Variables.ServerType_ServerStatus_BuildInfo_ProductName);\n\n    /// <summary>\n    /// The identifier for the ServerType_ServerStatus_BuildInfo_SoftwareVersion Variable.\n    /// </summary>\n    public static readonly NodeId ServerType_ServerStatus_BuildInfo_SoftwareVersion = new NodeId(Variables.ServerType_ServerStatus_BuildInfo_SoftwareVersion);\n\n    /// <summary>\n    /// The identifier for the ServerType_ServerStatus_BuildInfo_BuildNumber Variable.\n    /// </summary>\n    public static readonly NodeId ServerType_ServerStatus_BuildInfo_BuildNumber = new NodeId(Variables.ServerType_ServerStatus_BuildInfo_BuildNumber);\n\n    /// <summary>\n    /// The identifier for the ServerType_ServerStatus_BuildInfo_BuildDate Variable.\n    /// </summary>\n    public static readonly NodeId ServerType_ServerStatus_BuildInfo_BuildDate = new NodeId(Variables.ServerType_ServerStatus_BuildInfo_BuildDate);\n\n    /// <summary>\n    /// The identifier for the ServerType_ServerStatus_SecondsTillShutdown Variable.\n    /// </summary>\n    public static readonly NodeId ServerType_ServerStatus_SecondsTillShutdown = new NodeId(Variables.ServerType_ServerStatus_SecondsTillShutdown);\n\n    /// <summary>\n    /// The identifier for the ServerType_ServerStatus_ShutdownReason Variable.\n    /// </summary>\n    public static readonly NodeId ServerType_ServerStatus_ShutdownReason = new NodeId(Variables.ServerType_ServerStatus_ShutdownReason);\n\n    /// <summary>\n    /// The identifier for the ServerType_ServiceLevel Variable.\n    /// </summary>\n    public static readonly NodeId ServerType_ServiceLevel = new NodeId(Variables.ServerType_ServiceLevel);\n\n    /// <summary>\n    /// The identifier for the ServerType_Auditing Variable.\n    /// </summary>\n    public static readonly NodeId ServerType_Auditing = new NodeId(Variables.ServerType_Auditing);\n\n    /// <summary>\n    /// The identifier for the ServerType_ServerCapabilities_ServerProfileArray Variable.\n    /// </summary>\n    public static readonly NodeId ServerType_ServerCapabilities_ServerProfileArray = new NodeId(Variables.ServerType_ServerCapabilities_ServerProfileArray);\n\n    /// <summary>\n    /// The identifier for the ServerType_ServerCapabilities_LocaleIdArray Variable.\n    /// </summary>\n    public static readonly NodeId ServerType_ServerCapabilities_LocaleIdArray = new NodeId(Variables.ServerType_ServerCapabilities_LocaleIdArray);\n\n    /// <summary>\n    /// The identifier for the ServerType_ServerCapabilities_MinSupportedSampleRate Variable.\n    /// </summary>\n    public static readonly NodeId ServerType_ServerCapabilities_MinSupportedSampleRate = new NodeId(Variables.ServerType_ServerCapabilities_MinSupportedSampleRate);\n\n    /// <summary>\n    /// The identifier for the ServerType_ServerCapabilities_MaxBrowseContinuationPoints Variable.\n    /// </summary>\n    public static readonly NodeId ServerType_ServerCapabilities_MaxBrowseContinuationPoints = new NodeId(Variables.ServerType_ServerCapabilities_MaxBrowseContinuationPoints);\n\n    /// <summary>\n    /// The identifier for the ServerType_ServerCapabilities_MaxQueryContinuationPoints Variable.\n    /// </summary>\n    public static readonly NodeId ServerType_ServerCapabilities_MaxQueryContinuationPoints = new NodeId(Variables.ServerType_ServerCapabilities_MaxQueryContinuationPoints);\n\n    /// <summary>\n    /// The identifier for the ServerType_ServerCapabilities_MaxHistoryContinuationPoints Variable.\n    /// </summary>\n    public static readonly NodeId ServerType_ServerCapabilities_MaxHistoryContinuationPoints = new NodeId(Variables.ServerType_ServerCapabilities_MaxHistoryContinuationPoints);\n\n    /// <summary>\n    /// The identifier for the ServerType_ServerCapabilities_SoftwareCertificates Variable.\n    /// </summary>\n    public static readonly NodeId ServerType_ServerCapabilities_SoftwareCertificates = new NodeId(Variables.ServerType_ServerCapabilities_SoftwareCertificates);\n\n    /// <summary>\n    /// The identifier for the ServerType_ServerDiagnostics_ServerDiagnosticsSummary Variable.\n    /// </summary>\n    public static readonly NodeId ServerType_ServerDiagnostics_ServerDiagnosticsSummary = new NodeId(Variables.ServerType_ServerDiagnostics_ServerDiagnosticsSummary);\n\n    /// <summary>\n    /// The identifier for the ServerType_ServerDiagnostics_ServerDiagnosticsSummary_ServerViewCount Variable.\n    /// </summary>\n    public static readonly NodeId ServerType_ServerDiagnostics_ServerDiagnosticsSummary_ServerViewCount = new NodeId(Variables.ServerType_ServerDiagnostics_ServerDiagnosticsSummary_ServerViewCount);\n\n    /// <summary>\n    /// The identifier for the ServerType_ServerDiagnostics_ServerDiagnosticsSummary_CurrentSessionCount Variable.\n    /// </summary>\n    public static readonly NodeId ServerType_ServerDiagnostics_ServerDiagnosticsSummary_CurrentSessionCount = new NodeId(Variables.ServerType_ServerDiagnostics_ServerDiagnosticsSummary_CurrentSessionCount);\n\n    /// <summary>\n    /// The identifier for the ServerType_ServerDiagnostics_ServerDiagnosticsSummary_CumulatedSessionCount Variable.\n    /// </summary>\n    public static readonly NodeId ServerType_ServerDiagnostics_ServerDiagnosticsSummary_CumulatedSessionCount = new NodeId(Variables.ServerType_ServerDiagnostics_ServerDiagnosticsSummary_CumulatedSessionCount);\n\n    /// <summary>\n    /// The identifier for the ServerType_ServerDiagnostics_ServerDiagnosticsSummary_SecurityRejectedSessionCount Variable.\n    /// </summary>\n    public static readonly NodeId ServerType_ServerDiagnostics_ServerDiagnosticsSummary_SecurityRejectedSessionCount = new NodeId(Variables.ServerType_ServerDiagnostics_ServerDiagnosticsSummary_SecurityRejectedSessionCount);\n\n    /// <summary>\n    /// The identifier for the ServerType_ServerDiagnostics_ServerDiagnosticsSummary_RejectedSessionCount Variable.\n    /// </summary>\n    public static readonly NodeId ServerType_ServerDiagnostics_ServerDiagnosticsSummary_RejectedSessionCount = new NodeId(Variables.ServerType_ServerDiagnostics_ServerDiagnosticsSummary_RejectedSessionCount);\n\n    /// <summary>\n    /// The identifier for the ServerType_ServerDiagnostics_ServerDiagnosticsSummary_SessionTimeoutCount Variable.\n    /// </summary>\n    public static readonly NodeId ServerType_ServerDiagnostics_ServerDiagnosticsSummary_SessionTimeoutCount = new NodeId(Variables.ServerType_ServerDiagnostics_ServerDiagnosticsSummary_SessionTimeoutCount);\n\n    /// <summary>\n    /// The identifier for the ServerType_ServerDiagnostics_ServerDiagnosticsSummary_SessionAbortCount Variable.\n    /// </summary>\n    public static readonly NodeId ServerType_ServerDiagnostics_ServerDiagnosticsSummary_SessionAbortCount = new NodeId(Variables.ServerType_ServerDiagnostics_ServerDiagnosticsSummary_SessionAbortCount);\n\n    /// <summary>\n    /// The identifier for the ServerType_ServerDiagnostics_ServerDiagnosticsSummary_PublishingIntervalCount Variable.\n    /// </summary>\n    public static readonly NodeId ServerType_ServerDiagnostics_ServerDiagnosticsSummary_PublishingIntervalCount = new NodeId(Variables.ServerType_ServerDiagnostics_ServerDiagnosticsSummary_PublishingIntervalCount);\n\n    /// <summary>\n    /// The identifier for the ServerType_ServerDiagnostics_ServerDiagnosticsSummary_CurrentSubscriptionCount Variable.\n    /// </summary>\n    public static readonly NodeId ServerType_ServerDiagnostics_ServerDiagnosticsSummary_CurrentSubscriptionCount = new NodeId(Variables.ServerType_ServerDiagnostics_ServerDiagnosticsSummary_CurrentSubscriptionCount);\n\n    /// <summary>\n    /// The identifier for the ServerType_ServerDiagnostics_ServerDiagnosticsSummary_CumulatedSubscriptionCount Variable.\n    /// </summary>\n    public static readonly NodeId ServerType_ServerDiagnostics_ServerDiagnosticsSummary_CumulatedSubscriptionCount = new NodeId(Variables.ServerType_ServerDiagnostics_ServerDiagnosticsSummary_CumulatedSubscriptionCount);\n\n    /// <summary>\n    /// The identifier for the ServerType_ServerDiagnostics_ServerDiagnosticsSummary_SecurityRejectedRequestsCount Variable.\n    /// </summary>\n    public static readonly NodeId ServerType_ServerDiagnostics_ServerDiagnosticsSummary_SecurityRejectedRequestsCount = new NodeId(Variables.ServerType_ServerDiagnostics_ServerDiagnosticsSummary_SecurityRejectedRequestsCount);\n\n    /// <summary>\n    /// The identifier for the ServerType_ServerDiagnostics_ServerDiagnosticsSummary_RejectedRequestsCount Variable.\n    /// </summary>\n    public static readonly NodeId ServerType_ServerDiagnostics_ServerDiagnosticsSummary_RejectedRequestsCount = new NodeId(Variables.ServerType_ServerDiagnostics_ServerDiagnosticsSummary_RejectedRequestsCount);\n\n    /// <summary>\n    /// The identifier for the ServerType_ServerDiagnostics_SubscriptionDiagnosticsArray Variable.\n    /// </summary>\n    public static readonly NodeId ServerType_ServerDiagnostics_SubscriptionDiagnosticsArray = new NodeId(Variables.ServerType_ServerDiagnostics_SubscriptionDiagnosticsArray);\n\n    /// <summary>\n    /// The identifier for the ServerType_ServerDiagnostics_SessionsDiagnosticsSummary_SessionDiagnosticsArray Variable.\n    /// </summary>\n    public static readonly NodeId ServerType_ServerDiagnostics_SessionsDiagnosticsSummary_SessionDiagnosticsArray = new NodeId(Variables.ServerType_ServerDiagnostics_SessionsDiagnosticsSummary_SessionDiagnosticsArray);\n\n    /// <summary>\n    /// The identifier for the ServerType_ServerDiagnostics_SessionsDiagnosticsSummary_SessionSecurityDiagnosticsArray Variable.\n    /// </summary>\n    public static readonly NodeId ServerType_ServerDiagnostics_SessionsDiagnosticsSummary_SessionSecurityDiagnosticsArray = new NodeId(Variables.ServerType_ServerDiagnostics_SessionsDiagnosticsSummary_SessionSecurityDiagnosticsArray);\n\n    /// <summary>\n    /// The identifier for the ServerType_ServerDiagnostics_EnabledFlag Variable.\n    /// </summary>\n    public static readonly NodeId ServerType_ServerDiagnostics_EnabledFlag = new NodeId(Variables.ServerType_ServerDiagnostics_EnabledFlag);\n\n    /// <summary>\n    /// The identifier for the ServerType_ServerRedundancy_RedundancySupport Variable.\n    /// </summary>\n    public static readonly NodeId ServerType_ServerRedundancy_RedundancySupport = new NodeId(Variables.ServerType_ServerRedundancy_RedundancySupport);\n\n    /// <summary>\n    /// The identifier for the ServerType_GetMonitoredItems_InputArguments Variable.\n    /// </summary>\n    public static readonly NodeId ServerType_GetMonitoredItems_InputArguments = new NodeId(Variables.ServerType_GetMonitoredItems_InputArguments);\n\n    /// <summary>\n    /// The identifier for the ServerType_GetMonitoredItems_OutputArguments Variable.\n    /// </summary>\n    public static readonly NodeId ServerType_GetMonitoredItems_OutputArguments = new NodeId(Variables.ServerType_GetMonitoredItems_OutputArguments);\n\n    /// <summary>\n    /// The identifier for the ServerCapabilitiesType_ServerProfileArray Variable.\n    /// </summary>\n    public static readonly NodeId ServerCapabilitiesType_ServerProfileArray = new NodeId(Variables.ServerCapabilitiesType_ServerProfileArray);\n\n    /// <summary>\n    /// The identifier for the ServerCapabilitiesType_LocaleIdArray Variable.\n    /// </summary>\n    public static readonly NodeId ServerCapabilitiesType_LocaleIdArray = new NodeId(Variables.ServerCapabilitiesType_LocaleIdArray);\n\n    /// <summary>\n    /// The identifier for the ServerCapabilitiesType_MinSupportedSampleRate Variable.\n    /// </summary>\n    public static readonly NodeId ServerCapabilitiesType_MinSupportedSampleRate = new NodeId(Variables.ServerCapabilitiesType_MinSupportedSampleRate);\n\n    /// <summary>\n    /// The identifier for the ServerCapabilitiesType_MaxBrowseContinuationPoints Variable.\n    /// </summary>\n    public static readonly NodeId ServerCapabilitiesType_MaxBrowseContinuationPoints = new NodeId(Variables.ServerCapabilitiesType_MaxBrowseContinuationPoints);\n\n    /// <summary>\n    /// The identifier for the ServerCapabilitiesType_MaxQueryContinuationPoints Variable.\n    /// </summary>\n    public static readonly NodeId ServerCapabilitiesType_MaxQueryContinuationPoints = new NodeId(Variables.ServerCapabilitiesType_MaxQueryContinuationPoints);\n\n    /// <summary>\n    /// The identifier for the ServerCapabilitiesType_MaxHistoryContinuationPoints Variable.\n    /// </summary>\n    public static readonly NodeId ServerCapabilitiesType_MaxHistoryContinuationPoints = new NodeId(Variables.ServerCapabilitiesType_MaxHistoryContinuationPoints);\n\n    /// <summary>\n    /// The identifier for the ServerCapabilitiesType_SoftwareCertificates Variable.\n    /// </summary>\n    public static readonly NodeId ServerCapabilitiesType_SoftwareCertificates = new NodeId(Variables.ServerCapabilitiesType_SoftwareCertificates);\n\n    /// <summary>\n    /// The identifier for the ServerCapabilitiesType_MaxArrayLength Variable.\n    /// </summary>\n    public static readonly NodeId ServerCapabilitiesType_MaxArrayLength = new NodeId(Variables.ServerCapabilitiesType_MaxArrayLength);\n\n    /// <summary>\n    /// The identifier for the ServerCapabilitiesType_MaxStringLength Variable.\n    /// </summary>\n    public static readonly NodeId ServerCapabilitiesType_MaxStringLength = new NodeId(Variables.ServerCapabilitiesType_MaxStringLength);\n\n    /// <summary>\n    /// The identifier for the ServerCapabilitiesType_VendorCapability Variable.\n    /// </summary>\n    public static readonly NodeId ServerCapabilitiesType_VendorCapability = new NodeId(Variables.ServerCapabilitiesType_VendorCapability);\n\n    /// <summary>\n    /// The identifier for the ServerDiagnosticsType_ServerDiagnosticsSummary Variable.\n    /// </summary>\n    public static readonly NodeId ServerDiagnosticsType_ServerDiagnosticsSummary = new NodeId(Variables.ServerDiagnosticsType_ServerDiagnosticsSummary);\n\n    /// <summary>\n    /// The identifier for the ServerDiagnosticsType_ServerDiagnosticsSummary_ServerViewCount Variable.\n    /// </summary>\n    public static readonly NodeId ServerDiagnosticsType_ServerDiagnosticsSummary_ServerViewCount = new NodeId(Variables.ServerDiagnosticsType_ServerDiagnosticsSummary_ServerViewCount);\n\n    /// <summary>\n    /// The identifier for the ServerDiagnosticsType_ServerDiagnosticsSummary_CurrentSessionCount Variable.\n    /// </summary>\n    public static readonly NodeId ServerDiagnosticsType_ServerDiagnosticsSummary_CurrentSessionCount = new NodeId(Variables.ServerDiagnosticsType_ServerDiagnosticsSummary_CurrentSessionCount);\n\n    /// <summary>\n    /// The identifier for the ServerDiagnosticsType_ServerDiagnosticsSummary_CumulatedSessionCount Variable.\n    /// </summary>\n    public static readonly NodeId ServerDiagnosticsType_ServerDiagnosticsSummary_CumulatedSessionCount = new NodeId(Variables.ServerDiagnosticsType_ServerDiagnosticsSummary_CumulatedSessionCount);\n\n    /// <summary>\n    /// The identifier for the ServerDiagnosticsType_ServerDiagnosticsSummary_SecurityRejectedSessionCount Variable.\n    /// </summary>\n    public static readonly NodeId ServerDiagnosticsType_ServerDiagnosticsSummary_SecurityRejectedSessionCount = new NodeId(Variables.ServerDiagnosticsType_ServerDiagnosticsSummary_SecurityRejectedSessionCount);\n\n    /// <summary>\n    /// The identifier for the ServerDiagnosticsType_ServerDiagnosticsSummary_RejectedSessionCount Variable.\n    /// </summary>\n    public static readonly NodeId ServerDiagnosticsType_ServerDiagnosticsSummary_RejectedSessionCount = new NodeId(Variables.ServerDiagnosticsType_ServerDiagnosticsSummary_RejectedSessionCount);\n\n    /// <summary>\n    /// The identifier for the ServerDiagnosticsType_ServerDiagnosticsSummary_SessionTimeoutCount Variable.\n    /// </summary>\n    public static readonly NodeId ServerDiagnosticsType_ServerDiagnosticsSummary_SessionTimeoutCount = new NodeId(Variables.ServerDiagnosticsType_ServerDiagnosticsSummary_SessionTimeoutCount);\n\n    /// <summary>\n    /// The identifier for the ServerDiagnosticsType_ServerDiagnosticsSummary_SessionAbortCount Variable.\n    /// </summary>\n    public static readonly NodeId ServerDiagnosticsType_ServerDiagnosticsSummary_SessionAbortCount = new NodeId(Variables.ServerDiagnosticsType_ServerDiagnosticsSummary_SessionAbortCount);\n\n    /// <summary>\n    /// The identifier for the ServerDiagnosticsType_ServerDiagnosticsSummary_PublishingIntervalCount Variable.\n    /// </summary>\n    public static readonly NodeId ServerDiagnosticsType_ServerDiagnosticsSummary_PublishingIntervalCount = new NodeId(Variables.ServerDiagnosticsType_ServerDiagnosticsSummary_PublishingIntervalCount);\n\n    /// <summary>\n    /// The identifier for the ServerDiagnosticsType_ServerDiagnosticsSummary_CurrentSubscriptionCount Variable.\n    /// </summary>\n    public static readonly NodeId ServerDiagnosticsType_ServerDiagnosticsSummary_CurrentSubscriptionCount = new NodeId(Variables.ServerDiagnosticsType_ServerDiagnosticsSummary_CurrentSubscriptionCount);\n\n    /// <summary>\n    /// The identifier for the ServerDiagnosticsType_ServerDiagnosticsSummary_CumulatedSubscriptionCount Variable.\n    /// </summary>\n    public static readonly NodeId ServerDiagnosticsType_ServerDiagnosticsSummary_CumulatedSubscriptionCount = new NodeId(Variables.ServerDiagnosticsType_ServerDiagnosticsSummary_CumulatedSubscriptionCount);\n\n    /// <summary>\n    /// The identifier for the ServerDiagnosticsType_ServerDiagnosticsSummary_SecurityRejectedRequestsCount Variable.\n    /// </summary>\n    public static readonly NodeId ServerDiagnosticsType_ServerDiagnosticsSummary_SecurityRejectedRequestsCount = new NodeId(Variables.ServerDiagnosticsType_ServerDiagnosticsSummary_SecurityRejectedRequestsCount);\n\n    /// <summary>\n    /// The identifier for the ServerDiagnosticsType_ServerDiagnosticsSummary_RejectedRequestsCount Variable.\n    /// </summary>\n    public static readonly NodeId ServerDiagnosticsType_ServerDiagnosticsSummary_RejectedRequestsCount = new NodeId(Variables.ServerDiagnosticsType_ServerDiagnosticsSummary_RejectedRequestsCount);\n\n    /// <summary>\n    /// The identifier for the ServerDiagnosticsType_SamplingIntervalDiagnosticsArray Variable.\n    /// </summary>\n    public static readonly NodeId ServerDiagnosticsType_SamplingIntervalDiagnosticsArray = new NodeId(Variables.ServerDiagnosticsType_SamplingIntervalDiagnosticsArray);\n\n    /// <summary>\n    /// The identifier for the ServerDiagnosticsType_SubscriptionDiagnosticsArray Variable.\n    /// </summary>\n    public static readonly NodeId ServerDiagnosticsType_SubscriptionDiagnosticsArray = new NodeId(Variables.ServerDiagnosticsType_SubscriptionDiagnosticsArray);\n\n    /// <summary>\n    /// The identifier for the ServerDiagnosticsType_SessionsDiagnosticsSummary_SessionDiagnosticsArray Variable.\n    /// </summary>\n    public static readonly NodeId ServerDiagnosticsType_SessionsDiagnosticsSummary_SessionDiagnosticsArray = new NodeId(Variables.ServerDiagnosticsType_SessionsDiagnosticsSummary_SessionDiagnosticsArray);\n\n    /// <summary>\n    /// The identifier for the ServerDiagnosticsType_SessionsDiagnosticsSummary_SessionSecurityDiagnosticsArray Variable.\n    /// </summary>\n    public static readonly NodeId ServerDiagnosticsType_SessionsDiagnosticsSummary_SessionSecurityDiagnosticsArray = new NodeId(Variables.ServerDiagnosticsType_SessionsDiagnosticsSummary_SessionSecurityDiagnosticsArray);\n\n    /// <summary>\n    /// The identifier for the ServerDiagnosticsType_EnabledFlag Variable.\n    /// </summary>\n    public static readonly NodeId ServerDiagnosticsType_EnabledFlag = new NodeId(Variables.ServerDiagnosticsType_EnabledFlag);\n\n    /// <summary>\n    /// The identifier for the SessionsDiagnosticsSummaryType_SessionDiagnosticsArray Variable.\n    /// </summary>\n    public static readonly NodeId SessionsDiagnosticsSummaryType_SessionDiagnosticsArray = new NodeId(Variables.SessionsDiagnosticsSummaryType_SessionDiagnosticsArray);\n\n    /// <summary>\n    /// The identifier for the SessionsDiagnosticsSummaryType_SessionSecurityDiagnosticsArray Variable.\n    /// </summary>\n    public static readonly NodeId SessionsDiagnosticsSummaryType_SessionSecurityDiagnosticsArray = new NodeId(Variables.SessionsDiagnosticsSummaryType_SessionSecurityDiagnosticsArray);\n\n    /// <summary>\n    /// The identifier for the SessionsDiagnosticsSummaryType_SessionPlaceholder_SessionDiagnostics Variable.\n    /// </summary>\n    public static readonly NodeId SessionsDiagnosticsSummaryType_SessionPlaceholder_SessionDiagnostics = new NodeId(Variables.SessionsDiagnosticsSummaryType_SessionPlaceholder_SessionDiagnostics);\n\n    /// <summary>\n    /// The identifier for the SessionsDiagnosticsSummaryType_SessionPlaceholder_SessionDiagnostics_SessionId Variable.\n    /// </summary>\n    public static readonly NodeId SessionsDiagnosticsSummaryType_SessionPlaceholder_SessionDiagnostics_SessionId = new NodeId(Variables.SessionsDiagnosticsSummaryType_SessionPlaceholder_SessionDiagnostics_SessionId);\n\n    /// <summary>\n    /// The identifier for the SessionsDiagnosticsSummaryType_SessionPlaceholder_SessionDiagnostics_SessionName Variable.\n    /// </summary>\n    public static readonly NodeId SessionsDiagnosticsSummaryType_SessionPlaceholder_SessionDiagnostics_SessionName = new NodeId(Variables.SessionsDiagnosticsSummaryType_SessionPlaceholder_SessionDiagnostics_SessionName);\n\n    /// <summary>\n    /// The identifier for the SessionsDiagnosticsSummaryType_SessionPlaceholder_SessionDiagnostics_ClientDescription Variable.\n    /// </summary>\n    public static readonly NodeId SessionsDiagnosticsSummaryType_SessionPlaceholder_SessionDiagnostics_ClientDescription = new NodeId(Variables.SessionsDiagnosticsSummaryType_SessionPlaceholder_SessionDiagnostics_ClientDescription);\n\n    /// <summary>\n    /// The identifier for the SessionsDiagnosticsSummaryType_SessionPlaceholder_SessionDiagnostics_ServerUri Variable.\n    /// </summary>\n    public static readonly NodeId SessionsDiagnosticsSummaryType_SessionPlaceholder_SessionDiagnostics_ServerUri = new NodeId(Variables.SessionsDiagnosticsSummaryType_SessionPlaceholder_SessionDiagnostics_ServerUri);\n\n    /// <summary>\n    /// The identifier for the SessionsDiagnosticsSummaryType_SessionPlaceholder_SessionDiagnostics_EndpointUrl Variable.\n    /// </summary>\n    public static readonly NodeId SessionsDiagnosticsSummaryType_SessionPlaceholder_SessionDiagnostics_EndpointUrl = new NodeId(Variables.SessionsDiagnosticsSummaryType_SessionPlaceholder_SessionDiagnostics_EndpointUrl);\n\n    /// <summary>\n    /// The identifier for the SessionsDiagnosticsSummaryType_SessionPlaceholder_SessionDiagnostics_LocaleIds Variable.\n    /// </summary>\n    public static readonly NodeId SessionsDiagnosticsSummaryType_SessionPlaceholder_SessionDiagnostics_LocaleIds = new NodeId(Variables.SessionsDiagnosticsSummaryType_SessionPlaceholder_SessionDiagnostics_LocaleIds);\n\n    /// <summary>\n    /// The identifier for the SessionsDiagnosticsSummaryType_SessionPlaceholder_SessionDiagnostics_ActualSessionTimeout Variable.\n    /// </summary>\n    public static readonly NodeId SessionsDiagnosticsSummaryType_SessionPlaceholder_SessionDiagnostics_ActualSessionTimeout = new NodeId(Variables.SessionsDiagnosticsSummaryType_SessionPlaceholder_SessionDiagnostics_ActualSessionTimeout);\n\n    /// <summary>\n    /// The identifier for the SessionsDiagnosticsSummaryType_SessionPlaceholder_SessionDiagnostics_MaxResponseMessageSize Variable.\n    /// </summary>\n    public static readonly NodeId SessionsDiagnosticsSummaryType_SessionPlaceholder_SessionDiagnostics_MaxResponseMessageSize = new NodeId(Variables.SessionsDiagnosticsSummaryType_SessionPlaceholder_SessionDiagnostics_MaxResponseMessageSize);\n\n    /// <summary>\n    /// The identifier for the SessionsDiagnosticsSummaryType_SessionPlaceholder_SessionDiagnostics_ClientConnectionTime Variable.\n    /// </summary>\n    public static readonly NodeId SessionsDiagnosticsSummaryType_SessionPlaceholder_SessionDiagnostics_ClientConnectionTime = new NodeId(Variables.SessionsDiagnosticsSummaryType_SessionPlaceholder_SessionDiagnostics_ClientConnectionTime);\n\n    /// <summary>\n    /// The identifier for the SessionsDiagnosticsSummaryType_SessionPlaceholder_SessionDiagnostics_ClientLastContactTime Variable.\n    /// </summary>\n    public static readonly NodeId SessionsDiagnosticsSummaryType_SessionPlaceholder_SessionDiagnostics_ClientLastContactTime = new NodeId(Variables.SessionsDiagnosticsSummaryType_SessionPlaceholder_SessionDiagnostics_ClientLastContactTime);\n\n    /// <summary>\n    /// The identifier for the SessionsDiagnosticsSummaryType_SessionPlaceholder_SessionDiagnostics_CurrentSubscriptionsCount Variable.\n    /// </summary>\n    public static readonly NodeId SessionsDiagnosticsSummaryType_SessionPlaceholder_SessionDiagnostics_CurrentSubscriptionsCount = new NodeId(Variables.SessionsDiagnosticsSummaryType_SessionPlaceholder_SessionDiagnostics_CurrentSubscriptionsCount);\n\n    /// <summary>\n    /// The identifier for the SessionsDiagnosticsSummaryType_SessionPlaceholder_SessionDiagnostics_CurrentMonitoredItemsCount Variable.\n    /// </summary>\n    public static readonly NodeId SessionsDiagnosticsSummaryType_SessionPlaceholder_SessionDiagnostics_CurrentMonitoredItemsCount = new NodeId(Variables.SessionsDiagnosticsSummaryType_SessionPlaceholder_SessionDiagnostics_CurrentMonitoredItemsCount);\n\n    /// <summary>\n    /// The identifier for the SessionsDiagnosticsSummaryType_SessionPlaceholder_SessionDiagnostics_CurrentPublishRequestsInQueue Variable.\n    /// </summary>\n    public static readonly NodeId SessionsDiagnosticsSummaryType_SessionPlaceholder_SessionDiagnostics_CurrentPublishRequestsInQueue = new NodeId(Variables.SessionsDiagnosticsSummaryType_SessionPlaceholder_SessionDiagnostics_CurrentPublishRequestsInQueue);\n\n    /// <summary>\n    /// The identifier for the SessionsDiagnosticsSummaryType_SessionPlaceholder_SessionDiagnostics_TotalRequestCount Variable.\n    /// </summary>\n    public static readonly NodeId SessionsDiagnosticsSummaryType_SessionPlaceholder_SessionDiagnostics_TotalRequestCount = new NodeId(Variables.SessionsDiagnosticsSummaryType_SessionPlaceholder_SessionDiagnostics_TotalRequestCount);\n\n    /// <summary>\n    /// The identifier for the SessionsDiagnosticsSummaryType_SessionPlaceholder_SessionDiagnostics_UnauthorizedRequestCount Variable.\n    /// </summary>\n    public static readonly NodeId SessionsDiagnosticsSummaryType_SessionPlaceholder_SessionDiagnostics_UnauthorizedRequestCount = new NodeId(Variables.SessionsDiagnosticsSummaryType_SessionPlaceholder_SessionDiagnostics_UnauthorizedRequestCount);\n\n    /// <summary>\n    /// The identifier for the SessionsDiagnosticsSummaryType_SessionPlaceholder_SessionDiagnostics_ReadCount Variable.\n    /// </summary>\n    public static readonly NodeId SessionsDiagnosticsSummaryType_SessionPlaceholder_SessionDiagnostics_ReadCount = new NodeId(Variables.SessionsDiagnosticsSummaryType_SessionPlaceholder_SessionDiagnostics_ReadCount);\n\n    /// <summary>\n    /// The identifier for the SessionsDiagnosticsSummaryType_SessionPlaceholder_SessionDiagnostics_HistoryReadCount Variable.\n    /// </summary>\n    public static readonly NodeId SessionsDiagnosticsSummaryType_SessionPlaceholder_SessionDiagnostics_HistoryReadCount = new NodeId(Variables.SessionsDiagnosticsSummaryType_SessionPlaceholder_SessionDiagnostics_HistoryReadCount);\n\n    /// <summary>\n    /// The identifier for the SessionsDiagnosticsSummaryType_SessionPlaceholder_SessionDiagnostics_WriteCount Variable.\n    /// </summary>\n    public static readonly NodeId SessionsDiagnosticsSummaryType_SessionPlaceholder_SessionDiagnostics_WriteCount = new NodeId(Variables.SessionsDiagnosticsSummaryType_SessionPlaceholder_SessionDiagnostics_WriteCount);\n\n    /// <summary>\n    /// The identifier for the SessionsDiagnosticsSummaryType_SessionPlaceholder_SessionDiagnostics_HistoryUpdateCount Variable.\n    /// </summary>\n    public static readonly NodeId SessionsDiagnosticsSummaryType_SessionPlaceholder_SessionDiagnostics_HistoryUpdateCount = new NodeId(Variables.SessionsDiagnosticsSummaryType_SessionPlaceholder_SessionDiagnostics_HistoryUpdateCount);\n\n    /// <summary>\n    /// The identifier for the SessionsDiagnosticsSummaryType_SessionPlaceholder_SessionDiagnostics_CallCount Variable.\n    /// </summary>\n    public static readonly NodeId SessionsDiagnosticsSummaryType_SessionPlaceholder_SessionDiagnostics_CallCount = new NodeId(Variables.SessionsDiagnosticsSummaryType_SessionPlaceholder_SessionDiagnostics_CallCount);\n\n    /// <summary>\n    /// The identifier for the SessionsDiagnosticsSummaryType_SessionPlaceholder_SessionDiagnostics_CreateMonitoredItemsCount Variable.\n    /// </summary>\n    public static readonly NodeId SessionsDiagnosticsSummaryType_SessionPlaceholder_SessionDiagnostics_CreateMonitoredItemsCount = new NodeId(Variables.SessionsDiagnosticsSummaryType_SessionPlaceholder_SessionDiagnostics_CreateMonitoredItemsCount);\n\n    /// <summary>\n    /// The identifier for the SessionsDiagnosticsSummaryType_SessionPlaceholder_SessionDiagnostics_ModifyMonitoredItemsCount Variable.\n    /// </summary>\n    public static readonly NodeId SessionsDiagnosticsSummaryType_SessionPlaceholder_SessionDiagnostics_ModifyMonitoredItemsCount = new NodeId(Variables.SessionsDiagnosticsSummaryType_SessionPlaceholder_SessionDiagnostics_ModifyMonitoredItemsCount);\n\n    /// <summary>\n    /// The identifier for the SessionsDiagnosticsSummaryType_SessionPlaceholder_SessionDiagnostics_SetMonitoringModeCount Variable.\n    /// </summary>\n    public static readonly NodeId SessionsDiagnosticsSummaryType_SessionPlaceholder_SessionDiagnostics_SetMonitoringModeCount = new NodeId(Variables.SessionsDiagnosticsSummaryType_SessionPlaceholder_SessionDiagnostics_SetMonitoringModeCount);\n\n    /// <summary>\n    /// The identifier for the SessionsDiagnosticsSummaryType_SessionPlaceholder_SessionDiagnostics_SetTriggeringCount Variable.\n    /// </summary>\n    public static readonly NodeId SessionsDiagnosticsSummaryType_SessionPlaceholder_SessionDiagnostics_SetTriggeringCount = new NodeId(Variables.SessionsDiagnosticsSummaryType_SessionPlaceholder_SessionDiagnostics_SetTriggeringCount);\n\n    /// <summary>\n    /// The identifier for the SessionsDiagnosticsSummaryType_SessionPlaceholder_SessionDiagnostics_DeleteMonitoredItemsCount Variable.\n    /// </summary>\n    public static readonly NodeId SessionsDiagnosticsSummaryType_SessionPlaceholder_SessionDiagnostics_DeleteMonitoredItemsCount = new NodeId(Variables.SessionsDiagnosticsSummaryType_SessionPlaceholder_SessionDiagnostics_DeleteMonitoredItemsCount);\n\n    /// <summary>\n    /// The identifier for the SessionsDiagnosticsSummaryType_SessionPlaceholder_SessionDiagnostics_CreateSubscriptionCount Variable.\n    /// </summary>\n    public static readonly NodeId SessionsDiagnosticsSummaryType_SessionPlaceholder_SessionDiagnostics_CreateSubscriptionCount = new NodeId(Variables.SessionsDiagnosticsSummaryType_SessionPlaceholder_SessionDiagnostics_CreateSubscriptionCount);\n\n    /// <summary>\n    /// The identifier for the SessionsDiagnosticsSummaryType_SessionPlaceholder_SessionDiagnostics_ModifySubscriptionCount Variable.\n    /// </summary>\n    public static readonly NodeId SessionsDiagnosticsSummaryType_SessionPlaceholder_SessionDiagnostics_ModifySubscriptionCount = new NodeId(Variables.SessionsDiagnosticsSummaryType_SessionPlaceholder_SessionDiagnostics_ModifySubscriptionCount);\n\n    /// <summary>\n    /// The identifier for the SessionsDiagnosticsSummaryType_SessionPlaceholder_SessionDiagnostics_SetPublishingModeCount Variable.\n    /// </summary>\n    public static readonly NodeId SessionsDiagnosticsSummaryType_SessionPlaceholder_SessionDiagnostics_SetPublishingModeCount = new NodeId(Variables.SessionsDiagnosticsSummaryType_SessionPlaceholder_SessionDiagnostics_SetPublishingModeCount);\n\n    /// <summary>\n    /// The identifier for the SessionsDiagnosticsSummaryType_SessionPlaceholder_SessionDiagnostics_PublishCount Variable.\n    /// </summary>\n    public static readonly NodeId SessionsDiagnosticsSummaryType_SessionPlaceholder_SessionDiagnostics_PublishCount = new NodeId(Variables.SessionsDiagnosticsSummaryType_SessionPlaceholder_SessionDiagnostics_PublishCount);\n\n    /// <summary>\n    /// The identifier for the SessionsDiagnosticsSummaryType_SessionPlaceholder_SessionDiagnostics_RepublishCount Variable.\n    /// </summary>\n    public static readonly NodeId SessionsDiagnosticsSummaryType_SessionPlaceholder_SessionDiagnostics_RepublishCount = new NodeId(Variables.SessionsDiagnosticsSummaryType_SessionPlaceholder_SessionDiagnostics_RepublishCount);\n\n    /// <summary>\n    /// The identifier for the SessionsDiagnosticsSummaryType_SessionPlaceholder_SessionDiagnostics_TransferSubscriptionsCount Variable.\n    /// </summary>\n    public static readonly NodeId SessionsDiagnosticsSummaryType_SessionPlaceholder_SessionDiagnostics_TransferSubscriptionsCount = new NodeId(Variables.SessionsDiagnosticsSummaryType_SessionPlaceholder_SessionDiagnostics_TransferSubscriptionsCount);\n\n    /// <summary>\n    /// The identifier for the SessionsDiagnosticsSummaryType_SessionPlaceholder_SessionDiagnostics_DeleteSubscriptionsCount Variable.\n    /// </summary>\n    public static readonly NodeId SessionsDiagnosticsSummaryType_SessionPlaceholder_SessionDiagnostics_DeleteSubscriptionsCount = new NodeId(Variables.SessionsDiagnosticsSummaryType_SessionPlaceholder_SessionDiagnostics_DeleteSubscriptionsCount);\n\n    /// <summary>\n    /// The identifier for the SessionsDiagnosticsSummaryType_SessionPlaceholder_SessionDiagnostics_AddNodesCount Variable.\n    /// </summary>\n    public static readonly NodeId SessionsDiagnosticsSummaryType_SessionPlaceholder_SessionDiagnostics_AddNodesCount = new NodeId(Variables.SessionsDiagnosticsSummaryType_SessionPlaceholder_SessionDiagnostics_AddNodesCount);\n\n    /// <summary>\n    /// The identifier for the SessionsDiagnosticsSummaryType_SessionPlaceholder_SessionDiagnostics_AddReferencesCount Variable.\n    /// </summary>\n    public static readonly NodeId SessionsDiagnosticsSummaryType_SessionPlaceholder_SessionDiagnostics_AddReferencesCount = new NodeId(Variables.SessionsDiagnosticsSummaryType_SessionPlaceholder_SessionDiagnostics_AddReferencesCount);\n\n    /// <summary>\n    /// The identifier for the SessionsDiagnosticsSummaryType_SessionPlaceholder_SessionDiagnostics_DeleteNodesCount Variable.\n    /// </summary>\n    public static readonly NodeId SessionsDiagnosticsSummaryType_SessionPlaceholder_SessionDiagnostics_DeleteNodesCount = new NodeId(Variables.SessionsDiagnosticsSummaryType_SessionPlaceholder_SessionDiagnostics_DeleteNodesCount);\n\n    /// <summary>\n    /// The identifier for the SessionsDiagnosticsSummaryType_SessionPlaceholder_SessionDiagnostics_DeleteReferencesCount Variable.\n    /// </summary>\n    public static readonly NodeId SessionsDiagnosticsSummaryType_SessionPlaceholder_SessionDiagnostics_DeleteReferencesCount = new NodeId(Variables.SessionsDiagnosticsSummaryType_SessionPlaceholder_SessionDiagnostics_DeleteReferencesCount);\n\n    /// <summary>\n    /// The identifier for the SessionsDiagnosticsSummaryType_SessionPlaceholder_SessionDiagnostics_BrowseCount Variable.\n    /// </summary>\n    public static readonly NodeId SessionsDiagnosticsSummaryType_SessionPlaceholder_SessionDiagnostics_BrowseCount = new NodeId(Variables.SessionsDiagnosticsSummaryType_SessionPlaceholder_SessionDiagnostics_BrowseCount);\n\n    /// <summary>\n    /// The identifier for the SessionsDiagnosticsSummaryType_SessionPlaceholder_SessionDiagnostics_BrowseNextCount Variable.\n    /// </summary>\n    public static readonly NodeId SessionsDiagnosticsSummaryType_SessionPlaceholder_SessionDiagnostics_BrowseNextCount = new NodeId(Variables.SessionsDiagnosticsSummaryType_SessionPlaceholder_SessionDiagnostics_BrowseNextCount);\n\n    /// <summary>\n    /// The identifier for the SessionsDiagnosticsSummaryType_SessionPlaceholder_SessionDiagnostics_TranslateBrowsePathsToNodeIdsCount Variable.\n    /// </summary>\n    public static readonly NodeId SessionsDiagnosticsSummaryType_SessionPlaceholder_SessionDiagnostics_TranslateBrowsePathsToNodeIdsCount = new NodeId(Variables.SessionsDiagnosticsSummaryType_SessionPlaceholder_SessionDiagnostics_TranslateBrowsePathsToNodeIdsCount);\n\n    /// <summary>\n    /// The identifier for the SessionsDiagnosticsSummaryType_SessionPlaceholder_SessionDiagnostics_QueryFirstCount Variable.\n    /// </summary>\n    public static readonly NodeId SessionsDiagnosticsSummaryType_SessionPlaceholder_SessionDiagnostics_QueryFirstCount = new NodeId(Variables.SessionsDiagnosticsSummaryType_SessionPlaceholder_SessionDiagnostics_QueryFirstCount);\n\n    /// <summary>\n    /// The identifier for the SessionsDiagnosticsSummaryType_SessionPlaceholder_SessionDiagnostics_QueryNextCount Variable.\n    /// </summary>\n    public static readonly NodeId SessionsDiagnosticsSummaryType_SessionPlaceholder_SessionDiagnostics_QueryNextCount = new NodeId(Variables.SessionsDiagnosticsSummaryType_SessionPlaceholder_SessionDiagnostics_QueryNextCount);\n\n    /// <summary>\n    /// The identifier for the SessionsDiagnosticsSummaryType_SessionPlaceholder_SessionDiagnostics_RegisterNodesCount Variable.\n    /// </summary>\n    public static readonly NodeId SessionsDiagnosticsSummaryType_SessionPlaceholder_SessionDiagnostics_RegisterNodesCount = new NodeId(Variables.SessionsDiagnosticsSummaryType_SessionPlaceholder_SessionDiagnostics_RegisterNodesCount);\n\n    /// <summary>\n    /// The identifier for the SessionsDiagnosticsSummaryType_SessionPlaceholder_SessionDiagnostics_UnregisterNodesCount Variable.\n    /// </summary>\n    public static readonly NodeId SessionsDiagnosticsSummaryType_SessionPlaceholder_SessionDiagnostics_UnregisterNodesCount = new NodeId(Variables.SessionsDiagnosticsSummaryType_SessionPlaceholder_SessionDiagnostics_UnregisterNodesCount);\n\n    /// <summary>\n    /// The identifier for the SessionsDiagnosticsSummaryType_SessionPlaceholder_SessionSecurityDiagnostics Variable.\n    /// </summary>\n    public static readonly NodeId SessionsDiagnosticsSummaryType_SessionPlaceholder_SessionSecurityDiagnostics = new NodeId(Variables.SessionsDiagnosticsSummaryType_SessionPlaceholder_SessionSecurityDiagnostics);\n\n    /// <summary>\n    /// The identifier for the SessionsDiagnosticsSummaryType_SessionPlaceholder_SessionSecurityDiagnostics_SessionId Variable.\n    /// </summary>\n    public static readonly NodeId SessionsDiagnosticsSummaryType_SessionPlaceholder_SessionSecurityDiagnostics_SessionId = new NodeId(Variables.SessionsDiagnosticsSummaryType_SessionPlaceholder_SessionSecurityDiagnostics_SessionId);\n\n    /// <summary>\n    /// The identifier for the SessionsDiagnosticsSummaryType_SessionPlaceholder_SessionSecurityDiagnostics_ClientUserIdOfSession Variable.\n    /// </summary>\n    public static readonly NodeId SessionsDiagnosticsSummaryType_SessionPlaceholder_SessionSecurityDiagnostics_ClientUserIdOfSession = new NodeId(Variables.SessionsDiagnosticsSummaryType_SessionPlaceholder_SessionSecurityDiagnostics_ClientUserIdOfSession);\n\n    /// <summary>\n    /// The identifier for the SessionsDiagnosticsSummaryType_SessionPlaceholder_SessionSecurityDiagnostics_ClientUserIdHistory Variable.\n    /// </summary>\n    public static readonly NodeId SessionsDiagnosticsSummaryType_SessionPlaceholder_SessionSecurityDiagnostics_ClientUserIdHistory = new NodeId(Variables.SessionsDiagnosticsSummaryType_SessionPlaceholder_SessionSecurityDiagnostics_ClientUserIdHistory);\n\n    /// <summary>\n    /// The identifier for the SessionsDiagnosticsSummaryType_SessionPlaceholder_SessionSecurityDiagnostics_AuthenticationMechanism Variable.\n    /// </summary>\n    public static readonly NodeId SessionsDiagnosticsSummaryType_SessionPlaceholder_SessionSecurityDiagnostics_AuthenticationMechanism = new NodeId(Variables.SessionsDiagnosticsSummaryType_SessionPlaceholder_SessionSecurityDiagnostics_AuthenticationMechanism);\n\n    /// <summary>\n    /// The identifier for the SessionsDiagnosticsSummaryType_SessionPlaceholder_SessionSecurityDiagnostics_Encoding Variable.\n    /// </summary>\n    public static readonly NodeId SessionsDiagnosticsSummaryType_SessionPlaceholder_SessionSecurityDiagnostics_Encoding = new NodeId(Variables.SessionsDiagnosticsSummaryType_SessionPlaceholder_SessionSecurityDiagnostics_Encoding);\n\n    /// <summary>\n    /// The identifier for the SessionsDiagnosticsSummaryType_SessionPlaceholder_SessionSecurityDiagnostics_TransportProtocol Variable.\n    /// </summary>\n    public static readonly NodeId SessionsDiagnosticsSummaryType_SessionPlaceholder_SessionSecurityDiagnostics_TransportProtocol = new NodeId(Variables.SessionsDiagnosticsSummaryType_SessionPlaceholder_SessionSecurityDiagnostics_TransportProtocol);\n\n    /// <summary>\n    /// The identifier for the SessionsDiagnosticsSummaryType_SessionPlaceholder_SessionSecurityDiagnostics_SecurityMode Variable.\n    /// </summary>\n    public static readonly NodeId SessionsDiagnosticsSummaryType_SessionPlaceholder_SessionSecurityDiagnostics_SecurityMode = new NodeId(Variables.SessionsDiagnosticsSummaryType_SessionPlaceholder_SessionSecurityDiagnostics_SecurityMode);\n\n    /// <summary>\n    /// The identifier for the SessionsDiagnosticsSummaryType_SessionPlaceholder_SessionSecurityDiagnostics_SecurityPolicyUri Variable.\n    /// </summary>\n    public static readonly NodeId SessionsDiagnosticsSummaryType_SessionPlaceholder_SessionSecurityDiagnostics_SecurityPolicyUri = new NodeId(Variables.SessionsDiagnosticsSummaryType_SessionPlaceholder_SessionSecurityDiagnostics_SecurityPolicyUri);\n\n    /// <summary>\n    /// The identifier for the SessionsDiagnosticsSummaryType_SessionPlaceholder_SessionSecurityDiagnostics_ClientCertificate Variable.\n    /// </summary>\n    public static readonly NodeId SessionsDiagnosticsSummaryType_SessionPlaceholder_SessionSecurityDiagnostics_ClientCertificate = new NodeId(Variables.SessionsDiagnosticsSummaryType_SessionPlaceholder_SessionSecurityDiagnostics_ClientCertificate);\n\n    /// <summary>\n    /// The identifier for the SessionsDiagnosticsSummaryType_SessionPlaceholder_SubscriptionDiagnosticsArray Variable.\n    /// </summary>\n    public static readonly NodeId SessionsDiagnosticsSummaryType_SessionPlaceholder_SubscriptionDiagnosticsArray = new NodeId(Variables.SessionsDiagnosticsSummaryType_SessionPlaceholder_SubscriptionDiagnosticsArray);\n\n    /// <summary>\n    /// The identifier for the SessionDiagnosticsObjectType_SessionDiagnostics Variable.\n    /// </summary>\n    public static readonly NodeId SessionDiagnosticsObjectType_SessionDiagnostics = new NodeId(Variables.SessionDiagnosticsObjectType_SessionDiagnostics);\n\n    /// <summary>\n    /// The identifier for the SessionDiagnosticsObjectType_SessionDiagnostics_SessionId Variable.\n    /// </summary>\n    public static readonly NodeId SessionDiagnosticsObjectType_SessionDiagnostics_SessionId = new NodeId(Variables.SessionDiagnosticsObjectType_SessionDiagnostics_SessionId);\n\n    /// <summary>\n    /// The identifier for the SessionDiagnosticsObjectType_SessionDiagnostics_SessionName Variable.\n    /// </summary>\n    public static readonly NodeId SessionDiagnosticsObjectType_SessionDiagnostics_SessionName = new NodeId(Variables.SessionDiagnosticsObjectType_SessionDiagnostics_SessionName);\n\n    /// <summary>\n    /// The identifier for the SessionDiagnosticsObjectType_SessionDiagnostics_ClientDescription Variable.\n    /// </summary>\n    public static readonly NodeId SessionDiagnosticsObjectType_SessionDiagnostics_ClientDescription = new NodeId(Variables.SessionDiagnosticsObjectType_SessionDiagnostics_ClientDescription);\n\n    /// <summary>\n    /// The identifier for the SessionDiagnosticsObjectType_SessionDiagnostics_ServerUri Variable.\n    /// </summary>\n    public static readonly NodeId SessionDiagnosticsObjectType_SessionDiagnostics_ServerUri = new NodeId(Variables.SessionDiagnosticsObjectType_SessionDiagnostics_ServerUri);\n\n    /// <summary>\n    /// The identifier for the SessionDiagnosticsObjectType_SessionDiagnostics_EndpointUrl Variable.\n    /// </summary>\n    public static readonly NodeId SessionDiagnosticsObjectType_SessionDiagnostics_EndpointUrl = new NodeId(Variables.SessionDiagnosticsObjectType_SessionDiagnostics_EndpointUrl);\n\n    /// <summary>\n    /// The identifier for the SessionDiagnosticsObjectType_SessionDiagnostics_LocaleIds Variable.\n    /// </summary>\n    public static readonly NodeId SessionDiagnosticsObjectType_SessionDiagnostics_LocaleIds = new NodeId(Variables.SessionDiagnosticsObjectType_SessionDiagnostics_LocaleIds);\n\n    /// <summary>\n    /// The identifier for the SessionDiagnosticsObjectType_SessionDiagnostics_ActualSessionTimeout Variable.\n    /// </summary>\n    public static readonly NodeId SessionDiagnosticsObjectType_SessionDiagnostics_ActualSessionTimeout = new NodeId(Variables.SessionDiagnosticsObjectType_SessionDiagnostics_ActualSessionTimeout);\n\n    /// <summary>\n    /// The identifier for the SessionDiagnosticsObjectType_SessionDiagnostics_MaxResponseMessageSize Variable.\n    /// </summary>\n    public static readonly NodeId SessionDiagnosticsObjectType_SessionDiagnostics_MaxResponseMessageSize = new NodeId(Variables.SessionDiagnosticsObjectType_SessionDiagnostics_MaxResponseMessageSize);\n\n    /// <summary>\n    /// The identifier for the SessionDiagnosticsObjectType_SessionDiagnostics_ClientConnectionTime Variable.\n    /// </summary>\n    public static readonly NodeId SessionDiagnosticsObjectType_SessionDiagnostics_ClientConnectionTime = new NodeId(Variables.SessionDiagnosticsObjectType_SessionDiagnostics_ClientConnectionTime);\n\n    /// <summary>\n    /// The identifier for the SessionDiagnosticsObjectType_SessionDiagnostics_ClientLastContactTime Variable.\n    /// </summary>\n    public static readonly NodeId SessionDiagnosticsObjectType_SessionDiagnostics_ClientLastContactTime = new NodeId(Variables.SessionDiagnosticsObjectType_SessionDiagnostics_ClientLastContactTime);\n\n    /// <summary>\n    /// The identifier for the SessionDiagnosticsObjectType_SessionDiagnostics_CurrentSubscriptionsCount Variable.\n    /// </summary>\n    public static readonly NodeId SessionDiagnosticsObjectType_SessionDiagnostics_CurrentSubscriptionsCount = new NodeId(Variables.SessionDiagnosticsObjectType_SessionDiagnostics_CurrentSubscriptionsCount);\n\n    /// <summary>\n    /// The identifier for the SessionDiagnosticsObjectType_SessionDiagnostics_CurrentMonitoredItemsCount Variable.\n    /// </summary>\n    public static readonly NodeId SessionDiagnosticsObjectType_SessionDiagnostics_CurrentMonitoredItemsCount = new NodeId(Variables.SessionDiagnosticsObjectType_SessionDiagnostics_CurrentMonitoredItemsCount);\n\n    /// <summary>\n    /// The identifier for the SessionDiagnosticsObjectType_SessionDiagnostics_CurrentPublishRequestsInQueue Variable.\n    /// </summary>\n    public static readonly NodeId SessionDiagnosticsObjectType_SessionDiagnostics_CurrentPublishRequestsInQueue = new NodeId(Variables.SessionDiagnosticsObjectType_SessionDiagnostics_CurrentPublishRequestsInQueue);\n\n    /// <summary>\n    /// The identifier for the SessionDiagnosticsObjectType_SessionDiagnostics_TotalRequestCount Variable.\n    /// </summary>\n    public static readonly NodeId SessionDiagnosticsObjectType_SessionDiagnostics_TotalRequestCount = new NodeId(Variables.SessionDiagnosticsObjectType_SessionDiagnostics_TotalRequestCount);\n\n    /// <summary>\n    /// The identifier for the SessionDiagnosticsObjectType_SessionDiagnostics_UnauthorizedRequestCount Variable.\n    /// </summary>\n    public static readonly NodeId SessionDiagnosticsObjectType_SessionDiagnostics_UnauthorizedRequestCount = new NodeId(Variables.SessionDiagnosticsObjectType_SessionDiagnostics_UnauthorizedRequestCount);\n\n    /// <summary>\n    /// The identifier for the SessionDiagnosticsObjectType_SessionDiagnostics_ReadCount Variable.\n    /// </summary>\n    public static readonly NodeId SessionDiagnosticsObjectType_SessionDiagnostics_ReadCount = new NodeId(Variables.SessionDiagnosticsObjectType_SessionDiagnostics_ReadCount);\n\n    /// <summary>\n    /// The identifier for the SessionDiagnosticsObjectType_SessionDiagnostics_HistoryReadCount Variable.\n    /// </summary>\n    public static readonly NodeId SessionDiagnosticsObjectType_SessionDiagnostics_HistoryReadCount = new NodeId(Variables.SessionDiagnosticsObjectType_SessionDiagnostics_HistoryReadCount);\n\n    /// <summary>\n    /// The identifier for the SessionDiagnosticsObjectType_SessionDiagnostics_WriteCount Variable.\n    /// </summary>\n    public static readonly NodeId SessionDiagnosticsObjectType_SessionDiagnostics_WriteCount = new NodeId(Variables.SessionDiagnosticsObjectType_SessionDiagnostics_WriteCount);\n\n    /// <summary>\n    /// The identifier for the SessionDiagnosticsObjectType_SessionDiagnostics_HistoryUpdateCount Variable.\n    /// </summary>\n    public static readonly NodeId SessionDiagnosticsObjectType_SessionDiagnostics_HistoryUpdateCount = new NodeId(Variables.SessionDiagnosticsObjectType_SessionDiagnostics_HistoryUpdateCount);\n\n    /// <summary>\n    /// The identifier for the SessionDiagnosticsObjectType_SessionDiagnostics_CallCount Variable.\n    /// </summary>\n    public static readonly NodeId SessionDiagnosticsObjectType_SessionDiagnostics_CallCount = new NodeId(Variables.SessionDiagnosticsObjectType_SessionDiagnostics_CallCount);\n\n    /// <summary>\n    /// The identifier for the SessionDiagnosticsObjectType_SessionDiagnostics_CreateMonitoredItemsCount Variable.\n    /// </summary>\n    public static readonly NodeId SessionDiagnosticsObjectType_SessionDiagnostics_CreateMonitoredItemsCount = new NodeId(Variables.SessionDiagnosticsObjectType_SessionDiagnostics_CreateMonitoredItemsCount);\n\n    /// <summary>\n    /// The identifier for the SessionDiagnosticsObjectType_SessionDiagnostics_ModifyMonitoredItemsCount Variable.\n    /// </summary>\n    public static readonly NodeId SessionDiagnosticsObjectType_SessionDiagnostics_ModifyMonitoredItemsCount = new NodeId(Variables.SessionDiagnosticsObjectType_SessionDiagnostics_ModifyMonitoredItemsCount);\n\n    /// <summary>\n    /// The identifier for the SessionDiagnosticsObjectType_SessionDiagnostics_SetMonitoringModeCount Variable.\n    /// </summary>\n    public static readonly NodeId SessionDiagnosticsObjectType_SessionDiagnostics_SetMonitoringModeCount = new NodeId(Variables.SessionDiagnosticsObjectType_SessionDiagnostics_SetMonitoringModeCount);\n\n    /// <summary>\n    /// The identifier for the SessionDiagnosticsObjectType_SessionDiagnostics_SetTriggeringCount Variable.\n    /// </summary>\n    public static readonly NodeId SessionDiagnosticsObjectType_SessionDiagnostics_SetTriggeringCount = new NodeId(Variables.SessionDiagnosticsObjectType_SessionDiagnostics_SetTriggeringCount);\n\n    /// <summary>\n    /// The identifier for the SessionDiagnosticsObjectType_SessionDiagnostics_DeleteMonitoredItemsCount Variable.\n    /// </summary>\n    public static readonly NodeId SessionDiagnosticsObjectType_SessionDiagnostics_DeleteMonitoredItemsCount = new NodeId(Variables.SessionDiagnosticsObjectType_SessionDiagnostics_DeleteMonitoredItemsCount);\n\n    /// <summary>\n    /// The identifier for the SessionDiagnosticsObjectType_SessionDiagnostics_CreateSubscriptionCount Variable.\n    /// </summary>\n    public static readonly NodeId SessionDiagnosticsObjectType_SessionDiagnostics_CreateSubscriptionCount = new NodeId(Variables.SessionDiagnosticsObjectType_SessionDiagnostics_CreateSubscriptionCount);\n\n    /// <summary>\n    /// The identifier for the SessionDiagnosticsObjectType_SessionDiagnostics_ModifySubscriptionCount Variable.\n    /// </summary>\n    public static readonly NodeId SessionDiagnosticsObjectType_SessionDiagnostics_ModifySubscriptionCount = new NodeId(Variables.SessionDiagnosticsObjectType_SessionDiagnostics_ModifySubscriptionCount);\n\n    /// <summary>\n    /// The identifier for the SessionDiagnosticsObjectType_SessionDiagnostics_SetPublishingModeCount Variable.\n    /// </summary>\n    public static readonly NodeId SessionDiagnosticsObjectType_SessionDiagnostics_SetPublishingModeCount = new NodeId(Variables.SessionDiagnosticsObjectType_SessionDiagnostics_SetPublishingModeCount);\n\n    /// <summary>\n    /// The identifier for the SessionDiagnosticsObjectType_SessionDiagnostics_PublishCount Variable.\n    /// </summary>\n    public static readonly NodeId SessionDiagnosticsObjectType_SessionDiagnostics_PublishCount = new NodeId(Variables.SessionDiagnosticsObjectType_SessionDiagnostics_PublishCount);\n\n    /// <summary>\n    /// The identifier for the SessionDiagnosticsObjectType_SessionDiagnostics_RepublishCount Variable.\n    /// </summary>\n    public static readonly NodeId SessionDiagnosticsObjectType_SessionDiagnostics_RepublishCount = new NodeId(Variables.SessionDiagnosticsObjectType_SessionDiagnostics_RepublishCount);\n\n    /// <summary>\n    /// The identifier for the SessionDiagnosticsObjectType_SessionDiagnostics_TransferSubscriptionsCount Variable.\n    /// </summary>\n    public static readonly NodeId SessionDiagnosticsObjectType_SessionDiagnostics_TransferSubscriptionsCount = new NodeId(Variables.SessionDiagnosticsObjectType_SessionDiagnostics_TransferSubscriptionsCount);\n\n    /// <summary>\n    /// The identifier for the SessionDiagnosticsObjectType_SessionDiagnostics_DeleteSubscriptionsCount Variable.\n    /// </summary>\n    public static readonly NodeId SessionDiagnosticsObjectType_SessionDiagnostics_DeleteSubscriptionsCount = new NodeId(Variables.SessionDiagnosticsObjectType_SessionDiagnostics_DeleteSubscriptionsCount);\n\n    /// <summary>\n    /// The identifier for the SessionDiagnosticsObjectType_SessionDiagnostics_AddNodesCount Variable.\n    /// </summary>\n    public static readonly NodeId SessionDiagnosticsObjectType_SessionDiagnostics_AddNodesCount = new NodeId(Variables.SessionDiagnosticsObjectType_SessionDiagnostics_AddNodesCount);\n\n    /// <summary>\n    /// The identifier for the SessionDiagnosticsObjectType_SessionDiagnostics_AddReferencesCount Variable.\n    /// </summary>\n    public static readonly NodeId SessionDiagnosticsObjectType_SessionDiagnostics_AddReferencesCount = new NodeId(Variables.SessionDiagnosticsObjectType_SessionDiagnostics_AddReferencesCount);\n\n    /// <summary>\n    /// The identifier for the SessionDiagnosticsObjectType_SessionDiagnostics_DeleteNodesCount Variable.\n    /// </summary>\n    public static readonly NodeId SessionDiagnosticsObjectType_SessionDiagnostics_DeleteNodesCount = new NodeId(Variables.SessionDiagnosticsObjectType_SessionDiagnostics_DeleteNodesCount);\n\n    /// <summary>\n    /// The identifier for the SessionDiagnosticsObjectType_SessionDiagnostics_DeleteReferencesCount Variable.\n    /// </summary>\n    public static readonly NodeId SessionDiagnosticsObjectType_SessionDiagnostics_DeleteReferencesCount = new NodeId(Variables.SessionDiagnosticsObjectType_SessionDiagnostics_DeleteReferencesCount);\n\n    /// <summary>\n    /// The identifier for the SessionDiagnosticsObjectType_SessionDiagnostics_BrowseCount Variable.\n    /// </summary>\n    public static readonly NodeId SessionDiagnosticsObjectType_SessionDiagnostics_BrowseCount = new NodeId(Variables.SessionDiagnosticsObjectType_SessionDiagnostics_BrowseCount);\n\n    /// <summary>\n    /// The identifier for the SessionDiagnosticsObjectType_SessionDiagnostics_BrowseNextCount Variable.\n    /// </summary>\n    public static readonly NodeId SessionDiagnosticsObjectType_SessionDiagnostics_BrowseNextCount = new NodeId(Variables.SessionDiagnosticsObjectType_SessionDiagnostics_BrowseNextCount);\n\n    /// <summary>\n    /// The identifier for the SessionDiagnosticsObjectType_SessionDiagnostics_TranslateBrowsePathsToNodeIdsCount Variable.\n    /// </summary>\n    public static readonly NodeId SessionDiagnosticsObjectType_SessionDiagnostics_TranslateBrowsePathsToNodeIdsCount = new NodeId(Variables.SessionDiagnosticsObjectType_SessionDiagnostics_TranslateBrowsePathsToNodeIdsCount);\n\n    /// <summary>\n    /// The identifier for the SessionDiagnosticsObjectType_SessionDiagnostics_QueryFirstCount Variable.\n    /// </summary>\n    public static readonly NodeId SessionDiagnosticsObjectType_SessionDiagnostics_QueryFirstCount = new NodeId(Variables.SessionDiagnosticsObjectType_SessionDiagnostics_QueryFirstCount);\n\n    /// <summary>\n    /// The identifier for the SessionDiagnosticsObjectType_SessionDiagnostics_QueryNextCount Variable.\n    /// </summary>\n    public static readonly NodeId SessionDiagnosticsObjectType_SessionDiagnostics_QueryNextCount = new NodeId(Variables.SessionDiagnosticsObjectType_SessionDiagnostics_QueryNextCount);\n\n    /// <summary>\n    /// The identifier for the SessionDiagnosticsObjectType_SessionDiagnostics_RegisterNodesCount Variable.\n    /// </summary>\n    public static readonly NodeId SessionDiagnosticsObjectType_SessionDiagnostics_RegisterNodesCount = new NodeId(Variables.SessionDiagnosticsObjectType_SessionDiagnostics_RegisterNodesCount);\n\n    /// <summary>\n    /// The identifier for the SessionDiagnosticsObjectType_SessionDiagnostics_UnregisterNodesCount Variable.\n    /// </summary>\n    public static readonly NodeId SessionDiagnosticsObjectType_SessionDiagnostics_UnregisterNodesCount = new NodeId(Variables.SessionDiagnosticsObjectType_SessionDiagnostics_UnregisterNodesCount);\n\n    /// <summary>\n    /// The identifier for the SessionDiagnosticsObjectType_SessionSecurityDiagnostics Variable.\n    /// </summary>\n    public static readonly NodeId SessionDiagnosticsObjectType_SessionSecurityDiagnostics = new NodeId(Variables.SessionDiagnosticsObjectType_SessionSecurityDiagnostics);\n\n    /// <summary>\n    /// The identifier for the SessionDiagnosticsObjectType_SessionSecurityDiagnostics_SessionId Variable.\n    /// </summary>\n    public static readonly NodeId SessionDiagnosticsObjectType_SessionSecurityDiagnostics_SessionId = new NodeId(Variables.SessionDiagnosticsObjectType_SessionSecurityDiagnostics_SessionId);\n\n    /// <summary>\n    /// The identifier for the SessionDiagnosticsObjectType_SessionSecurityDiagnostics_ClientUserIdOfSession Variable.\n    /// </summary>\n    public static readonly NodeId SessionDiagnosticsObjectType_SessionSecurityDiagnostics_ClientUserIdOfSession = new NodeId(Variables.SessionDiagnosticsObjectType_SessionSecurityDiagnostics_ClientUserIdOfSession);\n\n    /// <summary>\n    /// The identifier for the SessionDiagnosticsObjectType_SessionSecurityDiagnostics_ClientUserIdHistory Variable.\n    /// </summary>\n    public static readonly NodeId SessionDiagnosticsObjectType_SessionSecurityDiagnostics_ClientUserIdHistory = new NodeId(Variables.SessionDiagnosticsObjectType_SessionSecurityDiagnostics_ClientUserIdHistory);\n\n    /// <summary>\n    /// The identifier for the SessionDiagnosticsObjectType_SessionSecurityDiagnostics_AuthenticationMechanism Variable.\n    /// </summary>\n    public static readonly NodeId SessionDiagnosticsObjectType_SessionSecurityDiagnostics_AuthenticationMechanism = new NodeId(Variables.SessionDiagnosticsObjectType_SessionSecurityDiagnostics_AuthenticationMechanism);\n\n    /// <summary>\n    /// The identifier for the SessionDiagnosticsObjectType_SessionSecurityDiagnostics_Encoding Variable.\n    /// </summary>\n    public static readonly NodeId SessionDiagnosticsObjectType_SessionSecurityDiagnostics_Encoding = new NodeId(Variables.SessionDiagnosticsObjectType_SessionSecurityDiagnostics_Encoding);\n\n    /// <summary>\n    /// The identifier for the SessionDiagnosticsObjectType_SessionSecurityDiagnostics_TransportProtocol Variable.\n    /// </summary>\n    public static readonly NodeId SessionDiagnosticsObjectType_SessionSecurityDiagnostics_TransportProtocol = new NodeId(Variables.SessionDiagnosticsObjectType_SessionSecurityDiagnostics_TransportProtocol);\n\n    /// <summary>\n    /// The identifier for the SessionDiagnosticsObjectType_SessionSecurityDiagnostics_SecurityMode Variable.\n    /// </summary>\n    public static readonly NodeId SessionDiagnosticsObjectType_SessionSecurityDiagnostics_SecurityMode = new NodeId(Variables.SessionDiagnosticsObjectType_SessionSecurityDiagnostics_SecurityMode);\n\n    /// <summary>\n    /// The identifier for the SessionDiagnosticsObjectType_SessionSecurityDiagnostics_SecurityPolicyUri Variable.\n    /// </summary>\n    public static readonly NodeId SessionDiagnosticsObjectType_SessionSecurityDiagnostics_SecurityPolicyUri = new NodeId(Variables.SessionDiagnosticsObjectType_SessionSecurityDiagnostics_SecurityPolicyUri);\n\n    /// <summary>\n    /// The identifier for the SessionDiagnosticsObjectType_SessionSecurityDiagnostics_ClientCertificate Variable.\n    /// </summary>\n    public static readonly NodeId SessionDiagnosticsObjectType_SessionSecurityDiagnostics_ClientCertificate = new NodeId(Variables.SessionDiagnosticsObjectType_SessionSecurityDiagnostics_ClientCertificate);\n\n    /// <summary>\n    /// The identifier for the SessionDiagnosticsObjectType_SubscriptionDiagnosticsArray Variable.\n    /// </summary>\n    public static readonly NodeId SessionDiagnosticsObjectType_SubscriptionDiagnosticsArray = new NodeId(Variables.SessionDiagnosticsObjectType_SubscriptionDiagnosticsArray);\n\n    /// <summary>\n    /// The identifier for the ServerRedundancyType_RedundancySupport Variable.\n    /// </summary>\n    public static readonly NodeId ServerRedundancyType_RedundancySupport = new NodeId(Variables.ServerRedundancyType_RedundancySupport);\n\n    /// <summary>\n    /// The identifier for the TransparentRedundancyType_CurrentServerId Variable.\n    /// </summary>\n    public static readonly NodeId TransparentRedundancyType_CurrentServerId = new NodeId(Variables.TransparentRedundancyType_CurrentServerId);\n\n    /// <summary>\n    /// The identifier for the TransparentRedundancyType_RedundantServerArray Variable.\n    /// </summary>\n    public static readonly NodeId TransparentRedundancyType_RedundantServerArray = new NodeId(Variables.TransparentRedundancyType_RedundantServerArray);\n\n    /// <summary>\n    /// The identifier for the NonTransparentRedundancyType_ServerUriArray Variable.\n    /// </summary>\n    public static readonly NodeId NonTransparentRedundancyType_ServerUriArray = new NodeId(Variables.NonTransparentRedundancyType_ServerUriArray);\n\n    /// <summary>\n    /// The identifier for the NonTransparentNetworkRedundancyType_ServerNetworkGroups Variable.\n    /// </summary>\n    public static readonly NodeId NonTransparentNetworkRedundancyType_ServerNetworkGroups = new NodeId(Variables.NonTransparentNetworkRedundancyType_ServerNetworkGroups);\n\n    /// <summary>\n    /// The identifier for the OperationLimitsType_MaxNodesPerRead Variable.\n    /// </summary>\n    public static readonly NodeId OperationLimitsType_MaxNodesPerRead = new NodeId(Variables.OperationLimitsType_MaxNodesPerRead);\n\n    /// <summary>\n    /// The identifier for the OperationLimitsType_MaxNodesPerHistoryReadData Variable.\n    /// </summary>\n    public static readonly NodeId OperationLimitsType_MaxNodesPerHistoryReadData = new NodeId(Variables.OperationLimitsType_MaxNodesPerHistoryReadData);\n\n    /// <summary>\n    /// The identifier for the OperationLimitsType_MaxNodesPerHistoryReadEvents Variable.\n    /// </summary>\n    public static readonly NodeId OperationLimitsType_MaxNodesPerHistoryReadEvents = new NodeId(Variables.OperationLimitsType_MaxNodesPerHistoryReadEvents);\n\n    /// <summary>\n    /// The identifier for the OperationLimitsType_MaxNodesPerWrite Variable.\n    /// </summary>\n    public static readonly NodeId OperationLimitsType_MaxNodesPerWrite = new NodeId(Variables.OperationLimitsType_MaxNodesPerWrite);\n\n    /// <summary>\n    /// The identifier for the OperationLimitsType_MaxNodesPerHistoryUpdateData Variable.\n    /// </summary>\n    public static readonly NodeId OperationLimitsType_MaxNodesPerHistoryUpdateData = new NodeId(Variables.OperationLimitsType_MaxNodesPerHistoryUpdateData);\n\n    /// <summary>\n    /// The identifier for the OperationLimitsType_MaxNodesPerHistoryUpdateEvents Variable.\n    /// </summary>\n    public static readonly NodeId OperationLimitsType_MaxNodesPerHistoryUpdateEvents = new NodeId(Variables.OperationLimitsType_MaxNodesPerHistoryUpdateEvents);\n\n    /// <summary>\n    /// The identifier for the OperationLimitsType_MaxNodesPerMethodCall Variable.\n    /// </summary>\n    public static readonly NodeId OperationLimitsType_MaxNodesPerMethodCall = new NodeId(Variables.OperationLimitsType_MaxNodesPerMethodCall);\n\n    /// <summary>\n    /// The identifier for the OperationLimitsType_MaxNodesPerBrowse Variable.\n    /// </summary>\n    public static readonly NodeId OperationLimitsType_MaxNodesPerBrowse = new NodeId(Variables.OperationLimitsType_MaxNodesPerBrowse);\n\n    /// <summary>\n    /// The identifier for the OperationLimitsType_MaxNodesPerRegisterNodes Variable.\n    /// </summary>\n    public static readonly NodeId OperationLimitsType_MaxNodesPerRegisterNodes = new NodeId(Variables.OperationLimitsType_MaxNodesPerRegisterNodes);\n\n    /// <summary>\n    /// The identifier for the OperationLimitsType_MaxNodesPerTranslateBrowsePathsToNodeIds Variable.\n    /// </summary>\n    public static readonly NodeId OperationLimitsType_MaxNodesPerTranslateBrowsePathsToNodeIds = new NodeId(Variables.OperationLimitsType_MaxNodesPerTranslateBrowsePathsToNodeIds);\n\n    /// <summary>\n    /// The identifier for the OperationLimitsType_MaxNodesPerNodeManagement Variable.\n    /// </summary>\n    public static readonly NodeId OperationLimitsType_MaxNodesPerNodeManagement = new NodeId(Variables.OperationLimitsType_MaxNodesPerNodeManagement);\n\n    /// <summary>\n    /// The identifier for the OperationLimitsType_MaxMonitoredItemsPerCall Variable.\n    /// </summary>\n    public static readonly NodeId OperationLimitsType_MaxMonitoredItemsPerCall = new NodeId(Variables.OperationLimitsType_MaxMonitoredItemsPerCall);\n\n    /// <summary>\n    /// The identifier for the FileType_Size Variable.\n    /// </summary>\n    public static readonly NodeId FileType_Size = new NodeId(Variables.FileType_Size);\n\n    /// <summary>\n    /// The identifier for the FileType_Writeable Variable.\n    /// </summary>\n    public static readonly NodeId FileType_Writeable = new NodeId(Variables.FileType_Writeable);\n\n    /// <summary>\n    /// The identifier for the FileType_UserWriteable Variable.\n    /// </summary>\n    public static readonly NodeId FileType_UserWriteable = new NodeId(Variables.FileType_UserWriteable);\n\n    /// <summary>\n    /// The identifier for the FileType_OpenCount Variable.\n    /// </summary>\n    public static readonly NodeId FileType_OpenCount = new NodeId(Variables.FileType_OpenCount);\n\n    /// <summary>\n    /// The identifier for the FileType_Open_InputArguments Variable.\n    /// </summary>\n    public static readonly NodeId FileType_Open_InputArguments = new NodeId(Variables.FileType_Open_InputArguments);\n\n    /// <summary>\n    /// The identifier for the FileType_Open_OutputArguments Variable.\n    /// </summary>\n    public static readonly NodeId FileType_Open_OutputArguments = new NodeId(Variables.FileType_Open_OutputArguments);\n\n    /// <summary>\n    /// The identifier for the FileType_Close_InputArguments Variable.\n    /// </summary>\n    public static readonly NodeId FileType_Close_InputArguments = new NodeId(Variables.FileType_Close_InputArguments);\n\n    /// <summary>\n    /// The identifier for the FileType_Read_InputArguments Variable.\n    /// </summary>\n    public static readonly NodeId FileType_Read_InputArguments = new NodeId(Variables.FileType_Read_InputArguments);\n\n    /// <summary>\n    /// The identifier for the FileType_Read_OutputArguments Variable.\n    /// </summary>\n    public static readonly NodeId FileType_Read_OutputArguments = new NodeId(Variables.FileType_Read_OutputArguments);\n\n    /// <summary>\n    /// The identifier for the FileType_Write_InputArguments Variable.\n    /// </summary>\n    public static readonly NodeId FileType_Write_InputArguments = new NodeId(Variables.FileType_Write_InputArguments);\n\n    /// <summary>\n    /// The identifier for the FileType_GetPosition_InputArguments Variable.\n    /// </summary>\n    public static readonly NodeId FileType_GetPosition_InputArguments = new NodeId(Variables.FileType_GetPosition_InputArguments);\n\n    /// <summary>\n    /// The identifier for the FileType_GetPosition_OutputArguments Variable.\n    /// </summary>\n    public static readonly NodeId FileType_GetPosition_OutputArguments = new NodeId(Variables.FileType_GetPosition_OutputArguments);\n\n    /// <summary>\n    /// The identifier for the FileType_SetPosition_InputArguments Variable.\n    /// </summary>\n    public static readonly NodeId FileType_SetPosition_InputArguments = new NodeId(Variables.FileType_SetPosition_InputArguments);\n\n    /// <summary>\n    /// The identifier for the NamespaceMetadataType_NamespaceUri Variable.\n    /// </summary>\n    public static readonly NodeId NamespaceMetadataType_NamespaceUri = new NodeId(Variables.NamespaceMetadataType_NamespaceUri);\n\n    /// <summary>\n    /// The identifier for the NamespaceMetadataType_NamespaceVersion Variable.\n    /// </summary>\n    public static readonly NodeId NamespaceMetadataType_NamespaceVersion = new NodeId(Variables.NamespaceMetadataType_NamespaceVersion);\n\n    /// <summary>\n    /// The identifier for the NamespaceMetadataType_NamespacePublicationDate Variable.\n    /// </summary>\n    public static readonly NodeId NamespaceMetadataType_NamespacePublicationDate = new NodeId(Variables.NamespaceMetadataType_NamespacePublicationDate);\n\n    /// <summary>\n    /// The identifier for the NamespaceMetadataType_IsNamespaceSubset Variable.\n    /// </summary>\n    public static readonly NodeId NamespaceMetadataType_IsNamespaceSubset = new NodeId(Variables.NamespaceMetadataType_IsNamespaceSubset);\n\n    /// <summary>\n    /// The identifier for the NamespaceMetadataType_StaticNodeIdIndentifierTypes Variable.\n    /// </summary>\n    public static readonly NodeId NamespaceMetadataType_StaticNodeIdIndentifierTypes = new NodeId(Variables.NamespaceMetadataType_StaticNodeIdIndentifierTypes);\n\n    /// <summary>\n    /// The identifier for the NamespaceMetadataType_StaticNumericNodeIdRange Variable.\n    /// </summary>\n    public static readonly NodeId NamespaceMetadataType_StaticNumericNodeIdRange = new NodeId(Variables.NamespaceMetadataType_StaticNumericNodeIdRange);\n\n    /// <summary>\n    /// The identifier for the NamespaceMetadataType_StaticStringNodeIdPattern Variable.\n    /// </summary>\n    public static readonly NodeId NamespaceMetadataType_StaticStringNodeIdPattern = new NodeId(Variables.NamespaceMetadataType_StaticStringNodeIdPattern);\n\n    /// <summary>\n    /// The identifier for the NamespacesType_NamespaceIdentifier_NamespaceUri Variable.\n    /// </summary>\n    public static readonly NodeId NamespacesType_NamespaceIdentifier_NamespaceUri = new NodeId(Variables.NamespacesType_NamespaceIdentifier_NamespaceUri);\n\n    /// <summary>\n    /// The identifier for the NamespacesType_NamespaceIdentifier_NamespaceVersion Variable.\n    /// </summary>\n    public static readonly NodeId NamespacesType_NamespaceIdentifier_NamespaceVersion = new NodeId(Variables.NamespacesType_NamespaceIdentifier_NamespaceVersion);\n\n    /// <summary>\n    /// The identifier for the NamespacesType_NamespaceIdentifier_NamespacePublicationDate Variable.\n    /// </summary>\n    public static readonly NodeId NamespacesType_NamespaceIdentifier_NamespacePublicationDate = new NodeId(Variables.NamespacesType_NamespaceIdentifier_NamespacePublicationDate);\n\n    /// <summary>\n    /// The identifier for the NamespacesType_NamespaceIdentifier_IsNamespaceSubset Variable.\n    /// </summary>\n    public static readonly NodeId NamespacesType_NamespaceIdentifier_IsNamespaceSubset = new NodeId(Variables.NamespacesType_NamespaceIdentifier_IsNamespaceSubset);\n\n    /// <summary>\n    /// The identifier for the NamespacesType_NamespaceIdentifier_StaticNodeIdIndentifierTypes Variable.\n    /// </summary>\n    public static readonly NodeId NamespacesType_NamespaceIdentifier_StaticNodeIdIndentifierTypes = new NodeId(Variables.NamespacesType_NamespaceIdentifier_StaticNodeIdIndentifierTypes);\n\n    /// <summary>\n    /// The identifier for the NamespacesType_NamespaceIdentifier_StaticNumericNodeIdRange Variable.\n    /// </summary>\n    public static readonly NodeId NamespacesType_NamespaceIdentifier_StaticNumericNodeIdRange = new NodeId(Variables.NamespacesType_NamespaceIdentifier_StaticNumericNodeIdRange);\n\n    /// <summary>\n    /// The identifier for the NamespacesType_NamespaceIdentifier_StaticStringNodeIdPattern Variable.\n    /// </summary>\n    public static readonly NodeId NamespacesType_NamespaceIdentifier_StaticStringNodeIdPattern = new NodeId(Variables.NamespacesType_NamespaceIdentifier_StaticStringNodeIdPattern);\n\n    /// <summary>\n    /// The identifier for the BaseEventType_EventId Variable.\n    /// </summary>\n    public static readonly NodeId BaseEventType_EventId = new NodeId(Variables.BaseEventType_EventId);\n\n    /// <summary>\n    /// The identifier for the BaseEventType_EventType Variable.\n    /// </summary>\n    public static readonly NodeId BaseEventType_EventType = new NodeId(Variables.BaseEventType_EventType);\n\n    /// <summary>\n    /// The identifier for the BaseEventType_SourceNode Variable.\n    /// </summary>\n    public static readonly NodeId BaseEventType_SourceNode = new NodeId(Variables.BaseEventType_SourceNode);\n\n    /// <summary>\n    /// The identifier for the BaseEventType_SourceName Variable.\n    /// </summary>\n    public static readonly NodeId BaseEventType_SourceName = new NodeId(Variables.BaseEventType_SourceName);\n\n    /// <summary>\n    /// The identifier for the BaseEventType_Time Variable.\n    /// </summary>\n    public static readonly NodeId BaseEventType_Time = new NodeId(Variables.BaseEventType_Time);\n\n    /// <summary>\n    /// The identifier for the BaseEventType_ReceiveTime Variable.\n    /// </summary>\n    public static readonly NodeId BaseEventType_ReceiveTime = new NodeId(Variables.BaseEventType_ReceiveTime);\n\n    /// <summary>\n    /// The identifier for the BaseEventType_LocalTime Variable.\n    /// </summary>\n    public static readonly NodeId BaseEventType_LocalTime = new NodeId(Variables.BaseEventType_LocalTime);\n\n    /// <summary>\n    /// The identifier for the BaseEventType_Message Variable.\n    /// </summary>\n    public static readonly NodeId BaseEventType_Message = new NodeId(Variables.BaseEventType_Message);\n\n    /// <summary>\n    /// The identifier for the BaseEventType_Severity Variable.\n    /// </summary>\n    public static readonly NodeId BaseEventType_Severity = new NodeId(Variables.BaseEventType_Severity);\n\n    /// <summary>\n    /// The identifier for the AuditEventType_ActionTimeStamp Variable.\n    /// </summary>\n    public static readonly NodeId AuditEventType_ActionTimeStamp = new NodeId(Variables.AuditEventType_ActionTimeStamp);\n\n    /// <summary>\n    /// The identifier for the AuditEventType_Status Variable.\n    /// </summary>\n    public static readonly NodeId AuditEventType_Status = new NodeId(Variables.AuditEventType_Status);\n\n    /// <summary>\n    /// The identifier for the AuditEventType_ServerId Variable.\n    /// </summary>\n    public static readonly NodeId AuditEventType_ServerId = new NodeId(Variables.AuditEventType_ServerId);\n\n    /// <summary>\n    /// The identifier for the AuditEventType_ClientAuditEntryId Variable.\n    /// </summary>\n    public static readonly NodeId AuditEventType_ClientAuditEntryId = new NodeId(Variables.AuditEventType_ClientAuditEntryId);\n\n    /// <summary>\n    /// The identifier for the AuditEventType_ClientUserId Variable.\n    /// </summary>\n    public static readonly NodeId AuditEventType_ClientUserId = new NodeId(Variables.AuditEventType_ClientUserId);\n\n    /// <summary>\n    /// The identifier for the AuditChannelEventType_SecureChannelId Variable.\n    /// </summary>\n    public static readonly NodeId AuditChannelEventType_SecureChannelId = new NodeId(Variables.AuditChannelEventType_SecureChannelId);\n\n    /// <summary>\n    /// The identifier for the AuditOpenSecureChannelEventType_ClientCertificate Variable.\n    /// </summary>\n    public static readonly NodeId AuditOpenSecureChannelEventType_ClientCertificate = new NodeId(Variables.AuditOpenSecureChannelEventType_ClientCertificate);\n\n    /// <summary>\n    /// The identifier for the AuditOpenSecureChannelEventType_ClientCertificateThumbprint Variable.\n    /// </summary>\n    public static readonly NodeId AuditOpenSecureChannelEventType_ClientCertificateThumbprint = new NodeId(Variables.AuditOpenSecureChannelEventType_ClientCertificateThumbprint);\n\n    /// <summary>\n    /// The identifier for the AuditOpenSecureChannelEventType_RequestType Variable.\n    /// </summary>\n    public static readonly NodeId AuditOpenSecureChannelEventType_RequestType = new NodeId(Variables.AuditOpenSecureChannelEventType_RequestType);\n\n    /// <summary>\n    /// The identifier for the AuditOpenSecureChannelEventType_SecurityPolicyUri Variable.\n    /// </summary>\n    public static readonly NodeId AuditOpenSecureChannelEventType_SecurityPolicyUri = new NodeId(Variables.AuditOpenSecureChannelEventType_SecurityPolicyUri);\n\n    /// <summary>\n    /// The identifier for the AuditOpenSecureChannelEventType_SecurityMode Variable.\n    /// </summary>\n    public static readonly NodeId AuditOpenSecureChannelEventType_SecurityMode = new NodeId(Variables.AuditOpenSecureChannelEventType_SecurityMode);\n\n    /// <summary>\n    /// The identifier for the AuditOpenSecureChannelEventType_RequestedLifetime Variable.\n    /// </summary>\n    public static readonly NodeId AuditOpenSecureChannelEventType_RequestedLifetime = new NodeId(Variables.AuditOpenSecureChannelEventType_RequestedLifetime);\n\n    /// <summary>\n    /// The identifier for the AuditSessionEventType_SessionId Variable.\n    /// </summary>\n    public static readonly NodeId AuditSessionEventType_SessionId = new NodeId(Variables.AuditSessionEventType_SessionId);\n\n    /// <summary>\n    /// The identifier for the AuditCreateSessionEventType_SecureChannelId Variable.\n    /// </summary>\n    public static readonly NodeId AuditCreateSessionEventType_SecureChannelId = new NodeId(Variables.AuditCreateSessionEventType_SecureChannelId);\n\n    /// <summary>\n    /// The identifier for the AuditCreateSessionEventType_ClientCertificate Variable.\n    /// </summary>\n    public static readonly NodeId AuditCreateSessionEventType_ClientCertificate = new NodeId(Variables.AuditCreateSessionEventType_ClientCertificate);\n\n    /// <summary>\n    /// The identifier for the AuditCreateSessionEventType_ClientCertificateThumbprint Variable.\n    /// </summary>\n    public static readonly NodeId AuditCreateSessionEventType_ClientCertificateThumbprint = new NodeId(Variables.AuditCreateSessionEventType_ClientCertificateThumbprint);\n\n    /// <summary>\n    /// The identifier for the AuditCreateSessionEventType_RevisedSessionTimeout Variable.\n    /// </summary>\n    public static readonly NodeId AuditCreateSessionEventType_RevisedSessionTimeout = new NodeId(Variables.AuditCreateSessionEventType_RevisedSessionTimeout);\n\n    /// <summary>\n    /// The identifier for the AuditUrlMismatchEventType_EndpointUrl Variable.\n    /// </summary>\n    public static readonly NodeId AuditUrlMismatchEventType_EndpointUrl = new NodeId(Variables.AuditUrlMismatchEventType_EndpointUrl);\n\n    /// <summary>\n    /// The identifier for the AuditActivateSessionEventType_ClientSoftwareCertificates Variable.\n    /// </summary>\n    public static readonly NodeId AuditActivateSessionEventType_ClientSoftwareCertificates = new NodeId(Variables.AuditActivateSessionEventType_ClientSoftwareCertificates);\n\n    /// <summary>\n    /// The identifier for the AuditActivateSessionEventType_UserIdentityToken Variable.\n    /// </summary>\n    public static readonly NodeId AuditActivateSessionEventType_UserIdentityToken = new NodeId(Variables.AuditActivateSessionEventType_UserIdentityToken);\n\n    /// <summary>\n    /// The identifier for the AuditActivateSessionEventType_SecureChannelId Variable.\n    /// </summary>\n    public static readonly NodeId AuditActivateSessionEventType_SecureChannelId = new NodeId(Variables.AuditActivateSessionEventType_SecureChannelId);\n\n    /// <summary>\n    /// The identifier for the AuditCancelEventType_RequestHandle Variable.\n    /// </summary>\n    public static readonly NodeId AuditCancelEventType_RequestHandle = new NodeId(Variables.AuditCancelEventType_RequestHandle);\n\n    /// <summary>\n    /// The identifier for the AuditCertificateEventType_Certificate Variable.\n    /// </summary>\n    public static readonly NodeId AuditCertificateEventType_Certificate = new NodeId(Variables.AuditCertificateEventType_Certificate);\n\n    /// <summary>\n    /// The identifier for the AuditCertificateDataMismatchEventType_InvalidHostname Variable.\n    /// </summary>\n    public static readonly NodeId AuditCertificateDataMismatchEventType_InvalidHostname = new NodeId(Variables.AuditCertificateDataMismatchEventType_InvalidHostname);\n\n    /// <summary>\n    /// The identifier for the AuditCertificateDataMismatchEventType_InvalidUri Variable.\n    /// </summary>\n    public static readonly NodeId AuditCertificateDataMismatchEventType_InvalidUri = new NodeId(Variables.AuditCertificateDataMismatchEventType_InvalidUri);\n\n    /// <summary>\n    /// The identifier for the AuditAddNodesEventType_NodesToAdd Variable.\n    /// </summary>\n    public static readonly NodeId AuditAddNodesEventType_NodesToAdd = new NodeId(Variables.AuditAddNodesEventType_NodesToAdd);\n\n    /// <summary>\n    /// The identifier for the AuditDeleteNodesEventType_NodesToDelete Variable.\n    /// </summary>\n    public static readonly NodeId AuditDeleteNodesEventType_NodesToDelete = new NodeId(Variables.AuditDeleteNodesEventType_NodesToDelete);\n\n    /// <summary>\n    /// The identifier for the AuditAddReferencesEventType_ReferencesToAdd Variable.\n    /// </summary>\n    public static readonly NodeId AuditAddReferencesEventType_ReferencesToAdd = new NodeId(Variables.AuditAddReferencesEventType_ReferencesToAdd);\n\n    /// <summary>\n    /// The identifier for the AuditDeleteReferencesEventType_ReferencesToDelete Variable.\n    /// </summary>\n    public static readonly NodeId AuditDeleteReferencesEventType_ReferencesToDelete = new NodeId(Variables.AuditDeleteReferencesEventType_ReferencesToDelete);\n\n    /// <summary>\n    /// The identifier for the AuditWriteUpdateEventType_AttributeId Variable.\n    /// </summary>\n    public static readonly NodeId AuditWriteUpdateEventType_AttributeId = new NodeId(Variables.AuditWriteUpdateEventType_AttributeId);\n\n    /// <summary>\n    /// The identifier for the AuditWriteUpdateEventType_IndexRange Variable.\n    /// </summary>\n    public static readonly NodeId AuditWriteUpdateEventType_IndexRange = new NodeId(Variables.AuditWriteUpdateEventType_IndexRange);\n\n    /// <summary>\n    /// The identifier for the AuditWriteUpdateEventType_OldValue Variable.\n    /// </summary>\n    public static readonly NodeId AuditWriteUpdateEventType_OldValue = new NodeId(Variables.AuditWriteUpdateEventType_OldValue);\n\n    /// <summary>\n    /// The identifier for the AuditWriteUpdateEventType_NewValue Variable.\n    /// </summary>\n    public static readonly NodeId AuditWriteUpdateEventType_NewValue = new NodeId(Variables.AuditWriteUpdateEventType_NewValue);\n\n    /// <summary>\n    /// The identifier for the AuditHistoryUpdateEventType_ParameterDataTypeId Variable.\n    /// </summary>\n    public static readonly NodeId AuditHistoryUpdateEventType_ParameterDataTypeId = new NodeId(Variables.AuditHistoryUpdateEventType_ParameterDataTypeId);\n\n    /// <summary>\n    /// The identifier for the AuditUpdateMethodEventType_MethodId Variable.\n    /// </summary>\n    public static readonly NodeId AuditUpdateMethodEventType_MethodId = new NodeId(Variables.AuditUpdateMethodEventType_MethodId);\n\n    /// <summary>\n    /// The identifier for the AuditUpdateMethodEventType_InputArguments Variable.\n    /// </summary>\n    public static readonly NodeId AuditUpdateMethodEventType_InputArguments = new NodeId(Variables.AuditUpdateMethodEventType_InputArguments);\n\n    /// <summary>\n    /// The identifier for the SystemStatusChangeEventType_SystemState Variable.\n    /// </summary>\n    public static readonly NodeId SystemStatusChangeEventType_SystemState = new NodeId(Variables.SystemStatusChangeEventType_SystemState);\n\n    /// <summary>\n    /// The identifier for the GeneralModelChangeEventType_Changes Variable.\n    /// </summary>\n    public static readonly NodeId GeneralModelChangeEventType_Changes = new NodeId(Variables.GeneralModelChangeEventType_Changes);\n\n    /// <summary>\n    /// The identifier for the SemanticChangeEventType_Changes Variable.\n    /// </summary>\n    public static readonly NodeId SemanticChangeEventType_Changes = new NodeId(Variables.SemanticChangeEventType_Changes);\n\n    /// <summary>\n    /// The identifier for the ServerStatusType_StartTime Variable.\n    /// </summary>\n    public static readonly NodeId ServerStatusType_StartTime = new NodeId(Variables.ServerStatusType_StartTime);\n\n    /// <summary>\n    /// The identifier for the ServerStatusType_CurrentTime Variable.\n    /// </summary>\n    public static readonly NodeId ServerStatusType_CurrentTime = new NodeId(Variables.ServerStatusType_CurrentTime);\n\n    /// <summary>\n    /// The identifier for the ServerStatusType_State Variable.\n    /// </summary>\n    public static readonly NodeId ServerStatusType_State = new NodeId(Variables.ServerStatusType_State);\n\n    /// <summary>\n    /// The identifier for the ServerStatusType_BuildInfo Variable.\n    /// </summary>\n    public static readonly NodeId ServerStatusType_BuildInfo = new NodeId(Variables.ServerStatusType_BuildInfo);\n\n    /// <summary>\n    /// The identifier for the ServerStatusType_BuildInfo_ProductUri Variable.\n    /// </summary>\n    public static readonly NodeId ServerStatusType_BuildInfo_ProductUri = new NodeId(Variables.ServerStatusType_BuildInfo_ProductUri);\n\n    /// <summary>\n    /// The identifier for the ServerStatusType_BuildInfo_ManufacturerName Variable.\n    /// </summary>\n    public static readonly NodeId ServerStatusType_BuildInfo_ManufacturerName = new NodeId(Variables.ServerStatusType_BuildInfo_ManufacturerName);\n\n    /// <summary>\n    /// The identifier for the ServerStatusType_BuildInfo_ProductName Variable.\n    /// </summary>\n    public static readonly NodeId ServerStatusType_BuildInfo_ProductName = new NodeId(Variables.ServerStatusType_BuildInfo_ProductName);\n\n    /// <summary>\n    /// The identifier for the ServerStatusType_BuildInfo_SoftwareVersion Variable.\n    /// </summary>\n    public static readonly NodeId ServerStatusType_BuildInfo_SoftwareVersion = new NodeId(Variables.ServerStatusType_BuildInfo_SoftwareVersion);\n\n    /// <summary>\n    /// The identifier for the ServerStatusType_BuildInfo_BuildNumber Variable.\n    /// </summary>\n    public static readonly NodeId ServerStatusType_BuildInfo_BuildNumber = new NodeId(Variables.ServerStatusType_BuildInfo_BuildNumber);\n\n    /// <summary>\n    /// The identifier for the ServerStatusType_BuildInfo_BuildDate Variable.\n    /// </summary>\n    public static readonly NodeId ServerStatusType_BuildInfo_BuildDate = new NodeId(Variables.ServerStatusType_BuildInfo_BuildDate);\n\n    /// <summary>\n    /// The identifier for the ServerStatusType_SecondsTillShutdown Variable.\n    /// </summary>\n    public static readonly NodeId ServerStatusType_SecondsTillShutdown = new NodeId(Variables.ServerStatusType_SecondsTillShutdown);\n\n    /// <summary>\n    /// The identifier for the ServerStatusType_ShutdownReason Variable.\n    /// </summary>\n    public static readonly NodeId ServerStatusType_ShutdownReason = new NodeId(Variables.ServerStatusType_ShutdownReason);\n\n    /// <summary>\n    /// The identifier for the BuildInfoType_ProductUri Variable.\n    /// </summary>\n    public static readonly NodeId BuildInfoType_ProductUri = new NodeId(Variables.BuildInfoType_ProductUri);\n\n    /// <summary>\n    /// The identifier for the BuildInfoType_ManufacturerName Variable.\n    /// </summary>\n    public static readonly NodeId BuildInfoType_ManufacturerName = new NodeId(Variables.BuildInfoType_ManufacturerName);\n\n    /// <summary>\n    /// The identifier for the BuildInfoType_ProductName Variable.\n    /// </summary>\n    public static readonly NodeId BuildInfoType_ProductName = new NodeId(Variables.BuildInfoType_ProductName);\n\n    /// <summary>\n    /// The identifier for the BuildInfoType_SoftwareVersion Variable.\n    /// </summary>\n    public static readonly NodeId BuildInfoType_SoftwareVersion = new NodeId(Variables.BuildInfoType_SoftwareVersion);\n\n    /// <summary>\n    /// The identifier for the BuildInfoType_BuildNumber Variable.\n    /// </summary>\n    public static readonly NodeId BuildInfoType_BuildNumber = new NodeId(Variables.BuildInfoType_BuildNumber);\n\n    /// <summary>\n    /// The identifier for the BuildInfoType_BuildDate Variable.\n    /// </summary>\n    public static readonly NodeId BuildInfoType_BuildDate = new NodeId(Variables.BuildInfoType_BuildDate);\n\n    /// <summary>\n    /// The identifier for the ServerDiagnosticsSummaryType_ServerViewCount Variable.\n    /// </summary>\n    public static readonly NodeId ServerDiagnosticsSummaryType_ServerViewCount = new NodeId(Variables.ServerDiagnosticsSummaryType_ServerViewCount);\n\n    /// <summary>\n    /// The identifier for the ServerDiagnosticsSummaryType_CurrentSessionCount Variable.\n    /// </summary>\n    public static readonly NodeId ServerDiagnosticsSummaryType_CurrentSessionCount = new NodeId(Variables.ServerDiagnosticsSummaryType_CurrentSessionCount);\n\n    /// <summary>\n    /// The identifier for the ServerDiagnosticsSummaryType_CumulatedSessionCount Variable.\n    /// </summary>\n    public static readonly NodeId ServerDiagnosticsSummaryType_CumulatedSessionCount = new NodeId(Variables.ServerDiagnosticsSummaryType_CumulatedSessionCount);\n\n    /// <summary>\n    /// The identifier for the ServerDiagnosticsSummaryType_SecurityRejectedSessionCount Variable.\n    /// </summary>\n    public static readonly NodeId ServerDiagnosticsSummaryType_SecurityRejectedSessionCount = new NodeId(Variables.ServerDiagnosticsSummaryType_SecurityRejectedSessionCount);\n\n    /// <summary>\n    /// The identifier for the ServerDiagnosticsSummaryType_RejectedSessionCount Variable.\n    /// </summary>\n    public static readonly NodeId ServerDiagnosticsSummaryType_RejectedSessionCount = new NodeId(Variables.ServerDiagnosticsSummaryType_RejectedSessionCount);\n\n    /// <summary>\n    /// The identifier for the ServerDiagnosticsSummaryType_SessionTimeoutCount Variable.\n    /// </summary>\n    public static readonly NodeId ServerDiagnosticsSummaryType_SessionTimeoutCount = new NodeId(Variables.ServerDiagnosticsSummaryType_SessionTimeoutCount);\n\n    /// <summary>\n    /// The identifier for the ServerDiagnosticsSummaryType_SessionAbortCount Variable.\n    /// </summary>\n    public static readonly NodeId ServerDiagnosticsSummaryType_SessionAbortCount = new NodeId(Variables.ServerDiagnosticsSummaryType_SessionAbortCount);\n\n    /// <summary>\n    /// The identifier for the ServerDiagnosticsSummaryType_PublishingIntervalCount Variable.\n    /// </summary>\n    public static readonly NodeId ServerDiagnosticsSummaryType_PublishingIntervalCount = new NodeId(Variables.ServerDiagnosticsSummaryType_PublishingIntervalCount);\n\n    /// <summary>\n    /// The identifier for the ServerDiagnosticsSummaryType_CurrentSubscriptionCount Variable.\n    /// </summary>\n    public static readonly NodeId ServerDiagnosticsSummaryType_CurrentSubscriptionCount = new NodeId(Variables.ServerDiagnosticsSummaryType_CurrentSubscriptionCount);\n\n    /// <summary>\n    /// The identifier for the ServerDiagnosticsSummaryType_CumulatedSubscriptionCount Variable.\n    /// </summary>\n    public static readonly NodeId ServerDiagnosticsSummaryType_CumulatedSubscriptionCount = new NodeId(Variables.ServerDiagnosticsSummaryType_CumulatedSubscriptionCount);\n\n    /// <summary>\n    /// The identifier for the ServerDiagnosticsSummaryType_SecurityRejectedRequestsCount Variable.\n    /// </summary>\n    public static readonly NodeId ServerDiagnosticsSummaryType_SecurityRejectedRequestsCount = new NodeId(Variables.ServerDiagnosticsSummaryType_SecurityRejectedRequestsCount);\n\n    /// <summary>\n    /// The identifier for the ServerDiagnosticsSummaryType_RejectedRequestsCount Variable.\n    /// </summary>\n    public static readonly NodeId ServerDiagnosticsSummaryType_RejectedRequestsCount = new NodeId(Variables.ServerDiagnosticsSummaryType_RejectedRequestsCount);\n\n    /// <summary>\n    /// The identifier for the SamplingIntervalDiagnosticsType_SamplingInterval Variable.\n    /// </summary>\n    public static readonly NodeId SamplingIntervalDiagnosticsType_SamplingInterval = new NodeId(Variables.SamplingIntervalDiagnosticsType_SamplingInterval);\n\n    /// <summary>\n    /// The identifier for the SamplingIntervalDiagnosticsType_SampledMonitoredItemsCount Variable.\n    /// </summary>\n    public static readonly NodeId SamplingIntervalDiagnosticsType_SampledMonitoredItemsCount = new NodeId(Variables.SamplingIntervalDiagnosticsType_SampledMonitoredItemsCount);\n\n    /// <summary>\n    /// The identifier for the SamplingIntervalDiagnosticsType_MaxSampledMonitoredItemsCount Variable.\n    /// </summary>\n    public static readonly NodeId SamplingIntervalDiagnosticsType_MaxSampledMonitoredItemsCount = new NodeId(Variables.SamplingIntervalDiagnosticsType_MaxSampledMonitoredItemsCount);\n\n    /// <summary>\n    /// The identifier for the SamplingIntervalDiagnosticsType_DisabledMonitoredItemsSamplingCount Variable.\n    /// </summary>\n    public static readonly NodeId SamplingIntervalDiagnosticsType_DisabledMonitoredItemsSamplingCount = new NodeId(Variables.SamplingIntervalDiagnosticsType_DisabledMonitoredItemsSamplingCount);\n\n    /// <summary>\n    /// The identifier for the SubscriptionDiagnosticsType_SessionId Variable.\n    /// </summary>\n    public static readonly NodeId SubscriptionDiagnosticsType_SessionId = new NodeId(Variables.SubscriptionDiagnosticsType_SessionId);\n\n    /// <summary>\n    /// The identifier for the SubscriptionDiagnosticsType_SubscriptionId Variable.\n    /// </summary>\n    public static readonly NodeId SubscriptionDiagnosticsType_SubscriptionId = new NodeId(Variables.SubscriptionDiagnosticsType_SubscriptionId);\n\n    /// <summary>\n    /// The identifier for the SubscriptionDiagnosticsType_Priority Variable.\n    /// </summary>\n    public static readonly NodeId SubscriptionDiagnosticsType_Priority = new NodeId(Variables.SubscriptionDiagnosticsType_Priority);\n\n    /// <summary>\n    /// The identifier for the SubscriptionDiagnosticsType_PublishingInterval Variable.\n    /// </summary>\n    public static readonly NodeId SubscriptionDiagnosticsType_PublishingInterval = new NodeId(Variables.SubscriptionDiagnosticsType_PublishingInterval);\n\n    /// <summary>\n    /// The identifier for the SubscriptionDiagnosticsType_MaxKeepAliveCount Variable.\n    /// </summary>\n    public static readonly NodeId SubscriptionDiagnosticsType_MaxKeepAliveCount = new NodeId(Variables.SubscriptionDiagnosticsType_MaxKeepAliveCount);\n\n    /// <summary>\n    /// The identifier for the SubscriptionDiagnosticsType_MaxLifetimeCount Variable.\n    /// </summary>\n    public static readonly NodeId SubscriptionDiagnosticsType_MaxLifetimeCount = new NodeId(Variables.SubscriptionDiagnosticsType_MaxLifetimeCount);\n\n    /// <summary>\n    /// The identifier for the SubscriptionDiagnosticsType_MaxNotificationsPerPublish Variable.\n    /// </summary>\n    public static readonly NodeId SubscriptionDiagnosticsType_MaxNotificationsPerPublish = new NodeId(Variables.SubscriptionDiagnosticsType_MaxNotificationsPerPublish);\n\n    /// <summary>\n    /// The identifier for the SubscriptionDiagnosticsType_PublishingEnabled Variable.\n    /// </summary>\n    public static readonly NodeId SubscriptionDiagnosticsType_PublishingEnabled = new NodeId(Variables.SubscriptionDiagnosticsType_PublishingEnabled);\n\n    /// <summary>\n    /// The identifier for the SubscriptionDiagnosticsType_ModifyCount Variable.\n    /// </summary>\n    public static readonly NodeId SubscriptionDiagnosticsType_ModifyCount = new NodeId(Variables.SubscriptionDiagnosticsType_ModifyCount);\n\n    /// <summary>\n    /// The identifier for the SubscriptionDiagnosticsType_EnableCount Variable.\n    /// </summary>\n    public static readonly NodeId SubscriptionDiagnosticsType_EnableCount = new NodeId(Variables.SubscriptionDiagnosticsType_EnableCount);\n\n    /// <summary>\n    /// The identifier for the SubscriptionDiagnosticsType_DisableCount Variable.\n    /// </summary>\n    public static readonly NodeId SubscriptionDiagnosticsType_DisableCount = new NodeId(Variables.SubscriptionDiagnosticsType_DisableCount);\n\n    /// <summary>\n    /// The identifier for the SubscriptionDiagnosticsType_RepublishRequestCount Variable.\n    /// </summary>\n    public static readonly NodeId SubscriptionDiagnosticsType_RepublishRequestCount = new NodeId(Variables.SubscriptionDiagnosticsType_RepublishRequestCount);\n\n    /// <summary>\n    /// The identifier for the SubscriptionDiagnosticsType_RepublishMessageRequestCount Variable.\n    /// </summary>\n    public static readonly NodeId SubscriptionDiagnosticsType_RepublishMessageRequestCount = new NodeId(Variables.SubscriptionDiagnosticsType_RepublishMessageRequestCount);\n\n    /// <summary>\n    /// The identifier for the SubscriptionDiagnosticsType_RepublishMessageCount Variable.\n    /// </summary>\n    public static readonly NodeId SubscriptionDiagnosticsType_RepublishMessageCount = new NodeId(Variables.SubscriptionDiagnosticsType_RepublishMessageCount);\n\n    /// <summary>\n    /// The identifier for the SubscriptionDiagnosticsType_TransferRequestCount Variable.\n    /// </summary>\n    public static readonly NodeId SubscriptionDiagnosticsType_TransferRequestCount = new NodeId(Variables.SubscriptionDiagnosticsType_TransferRequestCount);\n\n    /// <summary>\n    /// The identifier for the SubscriptionDiagnosticsType_TransferredToAltClientCount Variable.\n    /// </summary>\n    public static readonly NodeId SubscriptionDiagnosticsType_TransferredToAltClientCount = new NodeId(Variables.SubscriptionDiagnosticsType_TransferredToAltClientCount);\n\n    /// <summary>\n    /// The identifier for the SubscriptionDiagnosticsType_TransferredToSameClientCount Variable.\n    /// </summary>\n    public static readonly NodeId SubscriptionDiagnosticsType_TransferredToSameClientCount = new NodeId(Variables.SubscriptionDiagnosticsType_TransferredToSameClientCount);\n\n    /// <summary>\n    /// The identifier for the SubscriptionDiagnosticsType_PublishRequestCount Variable.\n    /// </summary>\n    public static readonly NodeId SubscriptionDiagnosticsType_PublishRequestCount = new NodeId(Variables.SubscriptionDiagnosticsType_PublishRequestCount);\n\n    /// <summary>\n    /// The identifier for the SubscriptionDiagnosticsType_DataChangeNotificationsCount Variable.\n    /// </summary>\n    public static readonly NodeId SubscriptionDiagnosticsType_DataChangeNotificationsCount = new NodeId(Variables.SubscriptionDiagnosticsType_DataChangeNotificationsCount);\n\n    /// <summary>\n    /// The identifier for the SubscriptionDiagnosticsType_EventNotificationsCount Variable.\n    /// </summary>\n    public static readonly NodeId SubscriptionDiagnosticsType_EventNotificationsCount = new NodeId(Variables.SubscriptionDiagnosticsType_EventNotificationsCount);\n\n    /// <summary>\n    /// The identifier for the SubscriptionDiagnosticsType_NotificationsCount Variable.\n    /// </summary>\n    public static readonly NodeId SubscriptionDiagnosticsType_NotificationsCount = new NodeId(Variables.SubscriptionDiagnosticsType_NotificationsCount);\n\n    /// <summary>\n    /// The identifier for the SubscriptionDiagnosticsType_LatePublishRequestCount Variable.\n    /// </summary>\n    public static readonly NodeId SubscriptionDiagnosticsType_LatePublishRequestCount = new NodeId(Variables.SubscriptionDiagnosticsType_LatePublishRequestCount);\n\n    /// <summary>\n    /// The identifier for the SubscriptionDiagnosticsType_CurrentKeepAliveCount Variable.\n    /// </summary>\n    public static readonly NodeId SubscriptionDiagnosticsType_CurrentKeepAliveCount = new NodeId(Variables.SubscriptionDiagnosticsType_CurrentKeepAliveCount);\n\n    /// <summary>\n    /// The identifier for the SubscriptionDiagnosticsType_CurrentLifetimeCount Variable.\n    /// </summary>\n    public static readonly NodeId SubscriptionDiagnosticsType_CurrentLifetimeCount = new NodeId(Variables.SubscriptionDiagnosticsType_CurrentLifetimeCount);\n\n    /// <summary>\n    /// The identifier for the SubscriptionDiagnosticsType_UnacknowledgedMessageCount Variable.\n    /// </summary>\n    public static readonly NodeId SubscriptionDiagnosticsType_UnacknowledgedMessageCount = new NodeId(Variables.SubscriptionDiagnosticsType_UnacknowledgedMessageCount);\n\n    /// <summary>\n    /// The identifier for the SubscriptionDiagnosticsType_DiscardedMessageCount Variable.\n    /// </summary>\n    public static readonly NodeId SubscriptionDiagnosticsType_DiscardedMessageCount = new NodeId(Variables.SubscriptionDiagnosticsType_DiscardedMessageCount);\n\n    /// <summary>\n    /// The identifier for the SubscriptionDiagnosticsType_MonitoredItemCount Variable.\n    /// </summary>\n    public static readonly NodeId SubscriptionDiagnosticsType_MonitoredItemCount = new NodeId(Variables.SubscriptionDiagnosticsType_MonitoredItemCount);\n\n    /// <summary>\n    /// The identifier for the SubscriptionDiagnosticsType_DisabledMonitoredItemCount Variable.\n    /// </summary>\n    public static readonly NodeId SubscriptionDiagnosticsType_DisabledMonitoredItemCount = new NodeId(Variables.SubscriptionDiagnosticsType_DisabledMonitoredItemCount);\n\n    /// <summary>\n    /// The identifier for the SubscriptionDiagnosticsType_MonitoringQueueOverflowCount Variable.\n    /// </summary>\n    public static readonly NodeId SubscriptionDiagnosticsType_MonitoringQueueOverflowCount = new NodeId(Variables.SubscriptionDiagnosticsType_MonitoringQueueOverflowCount);\n\n    /// <summary>\n    /// The identifier for the SubscriptionDiagnosticsType_NextSequenceNumber Variable.\n    /// </summary>\n    public static readonly NodeId SubscriptionDiagnosticsType_NextSequenceNumber = new NodeId(Variables.SubscriptionDiagnosticsType_NextSequenceNumber);\n\n    /// <summary>\n    /// The identifier for the SubscriptionDiagnosticsType_EventQueueOverFlowCount Variable.\n    /// </summary>\n    public static readonly NodeId SubscriptionDiagnosticsType_EventQueueOverFlowCount = new NodeId(Variables.SubscriptionDiagnosticsType_EventQueueOverFlowCount);\n\n    /// <summary>\n    /// The identifier for the SessionDiagnosticsVariableType_SessionId Variable.\n    /// </summary>\n    public static readonly NodeId SessionDiagnosticsVariableType_SessionId = new NodeId(Variables.SessionDiagnosticsVariableType_SessionId);\n\n    /// <summary>\n    /// The identifier for the SessionDiagnosticsVariableType_SessionName Variable.\n    /// </summary>\n    public static readonly NodeId SessionDiagnosticsVariableType_SessionName = new NodeId(Variables.SessionDiagnosticsVariableType_SessionName);\n\n    /// <summary>\n    /// The identifier for the SessionDiagnosticsVariableType_ClientDescription Variable.\n    /// </summary>\n    public static readonly NodeId SessionDiagnosticsVariableType_ClientDescription = new NodeId(Variables.SessionDiagnosticsVariableType_ClientDescription);\n\n    /// <summary>\n    /// The identifier for the SessionDiagnosticsVariableType_ServerUri Variable.\n    /// </summary>\n    public static readonly NodeId SessionDiagnosticsVariableType_ServerUri = new NodeId(Variables.SessionDiagnosticsVariableType_ServerUri);\n\n    /// <summary>\n    /// The identifier for the SessionDiagnosticsVariableType_EndpointUrl Variable.\n    /// </summary>\n    public static readonly NodeId SessionDiagnosticsVariableType_EndpointUrl = new NodeId(Variables.SessionDiagnosticsVariableType_EndpointUrl);\n\n    /// <summary>\n    /// The identifier for the SessionDiagnosticsVariableType_LocaleIds Variable.\n    /// </summary>\n    public static readonly NodeId SessionDiagnosticsVariableType_LocaleIds = new NodeId(Variables.SessionDiagnosticsVariableType_LocaleIds);\n\n    /// <summary>\n    /// The identifier for the SessionDiagnosticsVariableType_ActualSessionTimeout Variable.\n    /// </summary>\n    public static readonly NodeId SessionDiagnosticsVariableType_ActualSessionTimeout = new NodeId(Variables.SessionDiagnosticsVariableType_ActualSessionTimeout);\n\n    /// <summary>\n    /// The identifier for the SessionDiagnosticsVariableType_MaxResponseMessageSize Variable.\n    /// </summary>\n    public static readonly NodeId SessionDiagnosticsVariableType_MaxResponseMessageSize = new NodeId(Variables.SessionDiagnosticsVariableType_MaxResponseMessageSize);\n\n    /// <summary>\n    /// The identifier for the SessionDiagnosticsVariableType_ClientConnectionTime Variable.\n    /// </summary>\n    public static readonly NodeId SessionDiagnosticsVariableType_ClientConnectionTime = new NodeId(Variables.SessionDiagnosticsVariableType_ClientConnectionTime);\n\n    /// <summary>\n    /// The identifier for the SessionDiagnosticsVariableType_ClientLastContactTime Variable.\n    /// </summary>\n    public static readonly NodeId SessionDiagnosticsVariableType_ClientLastContactTime = new NodeId(Variables.SessionDiagnosticsVariableType_ClientLastContactTime);\n\n    /// <summary>\n    /// The identifier for the SessionDiagnosticsVariableType_CurrentSubscriptionsCount Variable.\n    /// </summary>\n    public static readonly NodeId SessionDiagnosticsVariableType_CurrentSubscriptionsCount = new NodeId(Variables.SessionDiagnosticsVariableType_CurrentSubscriptionsCount);\n\n    /// <summary>\n    /// The identifier for the SessionDiagnosticsVariableType_CurrentMonitoredItemsCount Variable.\n    /// </summary>\n    public static readonly NodeId SessionDiagnosticsVariableType_CurrentMonitoredItemsCount = new NodeId(Variables.SessionDiagnosticsVariableType_CurrentMonitoredItemsCount);\n\n    /// <summary>\n    /// The identifier for the SessionDiagnosticsVariableType_CurrentPublishRequestsInQueue Variable.\n    /// </summary>\n    public static readonly NodeId SessionDiagnosticsVariableType_CurrentPublishRequestsInQueue = new NodeId(Variables.SessionDiagnosticsVariableType_CurrentPublishRequestsInQueue);\n\n    /// <summary>\n    /// The identifier for the SessionDiagnosticsVariableType_TotalRequestCount Variable.\n    /// </summary>\n    public static readonly NodeId SessionDiagnosticsVariableType_TotalRequestCount = new NodeId(Variables.SessionDiagnosticsVariableType_TotalRequestCount);\n\n    /// <summary>\n    /// The identifier for the SessionDiagnosticsVariableType_UnauthorizedRequestCount Variable.\n    /// </summary>\n    public static readonly NodeId SessionDiagnosticsVariableType_UnauthorizedRequestCount = new NodeId(Variables.SessionDiagnosticsVariableType_UnauthorizedRequestCount);\n\n    /// <summary>\n    /// The identifier for the SessionDiagnosticsVariableType_ReadCount Variable.\n    /// </summary>\n    public static readonly NodeId SessionDiagnosticsVariableType_ReadCount = new NodeId(Variables.SessionDiagnosticsVariableType_ReadCount);\n\n    /// <summary>\n    /// The identifier for the SessionDiagnosticsVariableType_HistoryReadCount Variable.\n    /// </summary>\n    public static readonly NodeId SessionDiagnosticsVariableType_HistoryReadCount = new NodeId(Variables.SessionDiagnosticsVariableType_HistoryReadCount);\n\n    /// <summary>\n    /// The identifier for the SessionDiagnosticsVariableType_WriteCount Variable.\n    /// </summary>\n    public static readonly NodeId SessionDiagnosticsVariableType_WriteCount = new NodeId(Variables.SessionDiagnosticsVariableType_WriteCount);\n\n    /// <summary>\n    /// The identifier for the SessionDiagnosticsVariableType_HistoryUpdateCount Variable.\n    /// </summary>\n    public static readonly NodeId SessionDiagnosticsVariableType_HistoryUpdateCount = new NodeId(Variables.SessionDiagnosticsVariableType_HistoryUpdateCount);\n\n    /// <summary>\n    /// The identifier for the SessionDiagnosticsVariableType_CallCount Variable.\n    /// </summary>\n    public static readonly NodeId SessionDiagnosticsVariableType_CallCount = new NodeId(Variables.SessionDiagnosticsVariableType_CallCount);\n\n    /// <summary>\n    /// The identifier for the SessionDiagnosticsVariableType_CreateMonitoredItemsCount Variable.\n    /// </summary>\n    public static readonly NodeId SessionDiagnosticsVariableType_CreateMonitoredItemsCount = new NodeId(Variables.SessionDiagnosticsVariableType_CreateMonitoredItemsCount);\n\n    /// <summary>\n    /// The identifier for the SessionDiagnosticsVariableType_ModifyMonitoredItemsCount Variable.\n    /// </summary>\n    public static readonly NodeId SessionDiagnosticsVariableType_ModifyMonitoredItemsCount = new NodeId(Variables.SessionDiagnosticsVariableType_ModifyMonitoredItemsCount);\n\n    /// <summary>\n    /// The identifier for the SessionDiagnosticsVariableType_SetMonitoringModeCount Variable.\n    /// </summary>\n    public static readonly NodeId SessionDiagnosticsVariableType_SetMonitoringModeCount = new NodeId(Variables.SessionDiagnosticsVariableType_SetMonitoringModeCount);\n\n    /// <summary>\n    /// The identifier for the SessionDiagnosticsVariableType_SetTriggeringCount Variable.\n    /// </summary>\n    public static readonly NodeId SessionDiagnosticsVariableType_SetTriggeringCount = new NodeId(Variables.SessionDiagnosticsVariableType_SetTriggeringCount);\n\n    /// <summary>\n    /// The identifier for the SessionDiagnosticsVariableType_DeleteMonitoredItemsCount Variable.\n    /// </summary>\n    public static readonly NodeId SessionDiagnosticsVariableType_DeleteMonitoredItemsCount = new NodeId(Variables.SessionDiagnosticsVariableType_DeleteMonitoredItemsCount);\n\n    /// <summary>\n    /// The identifier for the SessionDiagnosticsVariableType_CreateSubscriptionCount Variable.\n    /// </summary>\n    public static readonly NodeId SessionDiagnosticsVariableType_CreateSubscriptionCount = new NodeId(Variables.SessionDiagnosticsVariableType_CreateSubscriptionCount);\n\n    /// <summary>\n    /// The identifier for the SessionDiagnosticsVariableType_ModifySubscriptionCount Variable.\n    /// </summary>\n    public static readonly NodeId SessionDiagnosticsVariableType_ModifySubscriptionCount = new NodeId(Variables.SessionDiagnosticsVariableType_ModifySubscriptionCount);\n\n    /// <summary>\n    /// The identifier for the SessionDiagnosticsVariableType_SetPublishingModeCount Variable.\n    /// </summary>\n    public static readonly NodeId SessionDiagnosticsVariableType_SetPublishingModeCount = new NodeId(Variables.SessionDiagnosticsVariableType_SetPublishingModeCount);\n\n    /// <summary>\n    /// The identifier for the SessionDiagnosticsVariableType_PublishCount Variable.\n    /// </summary>\n    public static readonly NodeId SessionDiagnosticsVariableType_PublishCount = new NodeId(Variables.SessionDiagnosticsVariableType_PublishCount);\n\n    /// <summary>\n    /// The identifier for the SessionDiagnosticsVariableType_RepublishCount Variable.\n    /// </summary>\n    public static readonly NodeId SessionDiagnosticsVariableType_RepublishCount = new NodeId(Variables.SessionDiagnosticsVariableType_RepublishCount);\n\n    /// <summary>\n    /// The identifier for the SessionDiagnosticsVariableType_TransferSubscriptionsCount Variable.\n    /// </summary>\n    public static readonly NodeId SessionDiagnosticsVariableType_TransferSubscriptionsCount = new NodeId(Variables.SessionDiagnosticsVariableType_TransferSubscriptionsCount);\n\n    /// <summary>\n    /// The identifier for the SessionDiagnosticsVariableType_DeleteSubscriptionsCount Variable.\n    /// </summary>\n    public static readonly NodeId SessionDiagnosticsVariableType_DeleteSubscriptionsCount = new NodeId(Variables.SessionDiagnosticsVariableType_DeleteSubscriptionsCount);\n\n    /// <summary>\n    /// The identifier for the SessionDiagnosticsVariableType_AddNodesCount Variable.\n    /// </summary>\n    public static readonly NodeId SessionDiagnosticsVariableType_AddNodesCount = new NodeId(Variables.SessionDiagnosticsVariableType_AddNodesCount);\n\n    /// <summary>\n    /// The identifier for the SessionDiagnosticsVariableType_AddReferencesCount Variable.\n    /// </summary>\n    public static readonly NodeId SessionDiagnosticsVariableType_AddReferencesCount = new NodeId(Variables.SessionDiagnosticsVariableType_AddReferencesCount);\n\n    /// <summary>\n    /// The identifier for the SessionDiagnosticsVariableType_DeleteNodesCount Variable.\n    /// </summary>\n    public static readonly NodeId SessionDiagnosticsVariableType_DeleteNodesCount = new NodeId(Variables.SessionDiagnosticsVariableType_DeleteNodesCount);\n\n    /// <summary>\n    /// The identifier for the SessionDiagnosticsVariableType_DeleteReferencesCount Variable.\n    /// </summary>\n    public static readonly NodeId SessionDiagnosticsVariableType_DeleteReferencesCount = new NodeId(Variables.SessionDiagnosticsVariableType_DeleteReferencesCount);\n\n    /// <summary>\n    /// The identifier for the SessionDiagnosticsVariableType_BrowseCount Variable.\n    /// </summary>\n    public static readonly NodeId SessionDiagnosticsVariableType_BrowseCount = new NodeId(Variables.SessionDiagnosticsVariableType_BrowseCount);\n\n    /// <summary>\n    /// The identifier for the SessionDiagnosticsVariableType_BrowseNextCount Variable.\n    /// </summary>\n    public static readonly NodeId SessionDiagnosticsVariableType_BrowseNextCount = new NodeId(Variables.SessionDiagnosticsVariableType_BrowseNextCount);\n\n    /// <summary>\n    /// The identifier for the SessionDiagnosticsVariableType_TranslateBrowsePathsToNodeIdsCount Variable.\n    /// </summary>\n    public static readonly NodeId SessionDiagnosticsVariableType_TranslateBrowsePathsToNodeIdsCount = new NodeId(Variables.SessionDiagnosticsVariableType_TranslateBrowsePathsToNodeIdsCount);\n\n    /// <summary>\n    /// The identifier for the SessionDiagnosticsVariableType_QueryFirstCount Variable.\n    /// </summary>\n    public static readonly NodeId SessionDiagnosticsVariableType_QueryFirstCount = new NodeId(Variables.SessionDiagnosticsVariableType_QueryFirstCount);\n\n    /// <summary>\n    /// The identifier for the SessionDiagnosticsVariableType_QueryNextCount Variable.\n    /// </summary>\n    public static readonly NodeId SessionDiagnosticsVariableType_QueryNextCount = new NodeId(Variables.SessionDiagnosticsVariableType_QueryNextCount);\n\n    /// <summary>\n    /// The identifier for the SessionDiagnosticsVariableType_RegisterNodesCount Variable.\n    /// </summary>\n    public static readonly NodeId SessionDiagnosticsVariableType_RegisterNodesCount = new NodeId(Variables.SessionDiagnosticsVariableType_RegisterNodesCount);\n\n    /// <summary>\n    /// The identifier for the SessionDiagnosticsVariableType_UnregisterNodesCount Variable.\n    /// </summary>\n    public static readonly NodeId SessionDiagnosticsVariableType_UnregisterNodesCount = new NodeId(Variables.SessionDiagnosticsVariableType_UnregisterNodesCount);\n\n    /// <summary>\n    /// The identifier for the SessionSecurityDiagnosticsType_SessionId Variable.\n    /// </summary>\n    public static readonly NodeId SessionSecurityDiagnosticsType_SessionId = new NodeId(Variables.SessionSecurityDiagnosticsType_SessionId);\n\n    /// <summary>\n    /// The identifier for the SessionSecurityDiagnosticsType_ClientUserIdOfSession Variable.\n    /// </summary>\n    public static readonly NodeId SessionSecurityDiagnosticsType_ClientUserIdOfSession = new NodeId(Variables.SessionSecurityDiagnosticsType_ClientUserIdOfSession);\n\n    /// <summary>\n    /// The identifier for the SessionSecurityDiagnosticsType_ClientUserIdHistory Variable.\n    /// </summary>\n    public static readonly NodeId SessionSecurityDiagnosticsType_ClientUserIdHistory = new NodeId(Variables.SessionSecurityDiagnosticsType_ClientUserIdHistory);\n\n    /// <summary>\n    /// The identifier for the SessionSecurityDiagnosticsType_AuthenticationMechanism Variable.\n    /// </summary>\n    public static readonly NodeId SessionSecurityDiagnosticsType_AuthenticationMechanism = new NodeId(Variables.SessionSecurityDiagnosticsType_AuthenticationMechanism);\n\n    /// <summary>\n    /// The identifier for the SessionSecurityDiagnosticsType_Encoding Variable.\n    /// </summary>\n    public static readonly NodeId SessionSecurityDiagnosticsType_Encoding = new NodeId(Variables.SessionSecurityDiagnosticsType_Encoding);\n\n    /// <summary>\n    /// The identifier for the SessionSecurityDiagnosticsType_TransportProtocol Variable.\n    /// </summary>\n    public static readonly NodeId SessionSecurityDiagnosticsType_TransportProtocol = new NodeId(Variables.SessionSecurityDiagnosticsType_TransportProtocol);\n\n    /// <summary>\n    /// The identifier for the SessionSecurityDiagnosticsType_SecurityMode Variable.\n    /// </summary>\n    public static readonly NodeId SessionSecurityDiagnosticsType_SecurityMode = new NodeId(Variables.SessionSecurityDiagnosticsType_SecurityMode);\n\n    /// <summary>\n    /// The identifier for the SessionSecurityDiagnosticsType_SecurityPolicyUri Variable.\n    /// </summary>\n    public static readonly NodeId SessionSecurityDiagnosticsType_SecurityPolicyUri = new NodeId(Variables.SessionSecurityDiagnosticsType_SecurityPolicyUri);\n\n    /// <summary>\n    /// The identifier for the SessionSecurityDiagnosticsType_ClientCertificate Variable.\n    /// </summary>\n    public static readonly NodeId SessionSecurityDiagnosticsType_ClientCertificate = new NodeId(Variables.SessionSecurityDiagnosticsType_ClientCertificate);\n\n    /// <summary>\n    /// The identifier for the OptionSetType_OptionSetValues Variable.\n    /// </summary>\n    public static readonly NodeId OptionSetType_OptionSetValues = new NodeId(Variables.OptionSetType_OptionSetValues);\n\n    /// <summary>\n    /// The identifier for the OptionSetType_BitMask Variable.\n    /// </summary>\n    public static readonly NodeId OptionSetType_BitMask = new NodeId(Variables.OptionSetType_BitMask);\n\n    /// <summary>\n    /// The identifier for the Server_ServerArray Variable.\n    /// </summary>\n    public static readonly NodeId Server_ServerArray = new NodeId(Variables.Server_ServerArray);\n\n    /// <summary>\n    /// The identifier for the Server_NamespaceArray Variable.\n    /// </summary>\n    public static readonly NodeId Server_NamespaceArray = new NodeId(Variables.Server_NamespaceArray);\n\n    /// <summary>\n    /// The identifier for the Server_ServerStatus Variable.\n    /// </summary>\n    public static readonly NodeId Server_ServerStatus = new NodeId(Variables.Server_ServerStatus);\n\n    /// <summary>\n    /// The identifier for the Server_ServerStatus_StartTime Variable.\n    /// </summary>\n    public static readonly NodeId Server_ServerStatus_StartTime = new NodeId(Variables.Server_ServerStatus_StartTime);\n\n    /// <summary>\n    /// The identifier for the Server_ServerStatus_CurrentTime Variable.\n    /// </summary>\n    public static readonly NodeId Server_ServerStatus_CurrentTime = new NodeId(Variables.Server_ServerStatus_CurrentTime);\n\n    /// <summary>\n    /// The identifier for the Server_ServerStatus_State Variable.\n    /// </summary>\n    public static readonly NodeId Server_ServerStatus_State = new NodeId(Variables.Server_ServerStatus_State);\n\n    /// <summary>\n    /// The identifier for the Server_ServerStatus_BuildInfo Variable.\n    /// </summary>\n    public static readonly NodeId Server_ServerStatus_BuildInfo = new NodeId(Variables.Server_ServerStatus_BuildInfo);\n\n    /// <summary>\n    /// The identifier for the Server_ServerStatus_BuildInfo_ProductUri Variable.\n    /// </summary>\n    public static readonly NodeId Server_ServerStatus_BuildInfo_ProductUri = new NodeId(Variables.Server_ServerStatus_BuildInfo_ProductUri);\n\n    /// <summary>\n    /// The identifier for the Server_ServerStatus_BuildInfo_ManufacturerName Variable.\n    /// </summary>\n    public static readonly NodeId Server_ServerStatus_BuildInfo_ManufacturerName = new NodeId(Variables.Server_ServerStatus_BuildInfo_ManufacturerName);\n\n    /// <summary>\n    /// The identifier for the Server_ServerStatus_BuildInfo_ProductName Variable.\n    /// </summary>\n    public static readonly NodeId Server_ServerStatus_BuildInfo_ProductName = new NodeId(Variables.Server_ServerStatus_BuildInfo_ProductName);\n\n    /// <summary>\n    /// The identifier for the Server_ServerStatus_BuildInfo_SoftwareVersion Variable.\n    /// </summary>\n    public static readonly NodeId Server_ServerStatus_BuildInfo_SoftwareVersion = new NodeId(Variables.Server_ServerStatus_BuildInfo_SoftwareVersion);\n\n    /// <summary>\n    /// The identifier for the Server_ServerStatus_BuildInfo_BuildNumber Variable.\n    /// </summary>\n    public static readonly NodeId Server_ServerStatus_BuildInfo_BuildNumber = new NodeId(Variables.Server_ServerStatus_BuildInfo_BuildNumber);\n\n    /// <summary>\n    /// The identifier for the Server_ServerStatus_BuildInfo_BuildDate Variable.\n    /// </summary>\n    public static readonly NodeId Server_ServerStatus_BuildInfo_BuildDate = new NodeId(Variables.Server_ServerStatus_BuildInfo_BuildDate);\n\n    /// <summary>\n    /// The identifier for the Server_ServerStatus_SecondsTillShutdown Variable.\n    /// </summary>\n    public static readonly NodeId Server_ServerStatus_SecondsTillShutdown = new NodeId(Variables.Server_ServerStatus_SecondsTillShutdown);\n\n    /// <summary>\n    /// The identifier for the Server_ServerStatus_ShutdownReason Variable.\n    /// </summary>\n    public static readonly NodeId Server_ServerStatus_ShutdownReason = new NodeId(Variables.Server_ServerStatus_ShutdownReason);\n\n    /// <summary>\n    /// The identifier for the Server_ServiceLevel Variable.\n    /// </summary>\n    public static readonly NodeId Server_ServiceLevel = new NodeId(Variables.Server_ServiceLevel);\n\n    /// <summary>\n    /// The identifier for the Server_Auditing Variable.\n    /// </summary>\n    public static readonly NodeId Server_Auditing = new NodeId(Variables.Server_Auditing);\n\n    /// <summary>\n    /// The identifier for the Server_ServerCapabilities_ServerProfileArray Variable.\n    /// </summary>\n    public static readonly NodeId Server_ServerCapabilities_ServerProfileArray = new NodeId(Variables.Server_ServerCapabilities_ServerProfileArray);\n\n    /// <summary>\n    /// The identifier for the Server_ServerCapabilities_LocaleIdArray Variable.\n    /// </summary>\n    public static readonly NodeId Server_ServerCapabilities_LocaleIdArray = new NodeId(Variables.Server_ServerCapabilities_LocaleIdArray);\n\n    /// <summary>\n    /// The identifier for the Server_ServerCapabilities_MinSupportedSampleRate Variable.\n    /// </summary>\n    public static readonly NodeId Server_ServerCapabilities_MinSupportedSampleRate = new NodeId(Variables.Server_ServerCapabilities_MinSupportedSampleRate);\n\n    /// <summary>\n    /// The identifier for the Server_ServerCapabilities_MaxBrowseContinuationPoints Variable.\n    /// </summary>\n    public static readonly NodeId Server_ServerCapabilities_MaxBrowseContinuationPoints = new NodeId(Variables.Server_ServerCapabilities_MaxBrowseContinuationPoints);\n\n    /// <summary>\n    /// The identifier for the Server_ServerCapabilities_MaxQueryContinuationPoints Variable.\n    /// </summary>\n    public static readonly NodeId Server_ServerCapabilities_MaxQueryContinuationPoints = new NodeId(Variables.Server_ServerCapabilities_MaxQueryContinuationPoints);\n\n    /// <summary>\n    /// The identifier for the Server_ServerCapabilities_MaxHistoryContinuationPoints Variable.\n    /// </summary>\n    public static readonly NodeId Server_ServerCapabilities_MaxHistoryContinuationPoints = new NodeId(Variables.Server_ServerCapabilities_MaxHistoryContinuationPoints);\n\n    /// <summary>\n    /// The identifier for the Server_ServerCapabilities_SoftwareCertificates Variable.\n    /// </summary>\n    public static readonly NodeId Server_ServerCapabilities_SoftwareCertificates = new NodeId(Variables.Server_ServerCapabilities_SoftwareCertificates);\n\n    /// <summary>\n    /// The identifier for the Server_ServerCapabilities_MaxArrayLength Variable.\n    /// </summary>\n    public static readonly NodeId Server_ServerCapabilities_MaxArrayLength = new NodeId(Variables.Server_ServerCapabilities_MaxArrayLength);\n\n    /// <summary>\n    /// The identifier for the Server_ServerCapabilities_MaxStringLength Variable.\n    /// </summary>\n    public static readonly NodeId Server_ServerCapabilities_MaxStringLength = new NodeId(Variables.Server_ServerCapabilities_MaxStringLength);\n\n    /// <summary>\n    /// The identifier for the Server_ServerCapabilities_OperationLimits_MaxNodesPerRead Variable.\n    /// </summary>\n    public static readonly NodeId Server_ServerCapabilities_OperationLimits_MaxNodesPerRead = new NodeId(Variables.Server_ServerCapabilities_OperationLimits_MaxNodesPerRead);\n\n    /// <summary>\n    /// The identifier for the Server_ServerCapabilities_OperationLimits_MaxNodesPerHistoryReadData Variable.\n    /// </summary>\n    public static readonly NodeId Server_ServerCapabilities_OperationLimits_MaxNodesPerHistoryReadData = new NodeId(Variables.Server_ServerCapabilities_OperationLimits_MaxNodesPerHistoryReadData);\n\n    /// <summary>\n    /// The identifier for the Server_ServerCapabilities_OperationLimits_MaxNodesPerHistoryReadEvents Variable.\n    /// </summary>\n    public static readonly NodeId Server_ServerCapabilities_OperationLimits_MaxNodesPerHistoryReadEvents = new NodeId(Variables.Server_ServerCapabilities_OperationLimits_MaxNodesPerHistoryReadEvents);\n\n    /// <summary>\n    /// The identifier for the Server_ServerCapabilities_OperationLimits_MaxNodesPerWrite Variable.\n    /// </summary>\n    public static readonly NodeId Server_ServerCapabilities_OperationLimits_MaxNodesPerWrite = new NodeId(Variables.Server_ServerCapabilities_OperationLimits_MaxNodesPerWrite);\n\n    /// <summary>\n    /// The identifier for the Server_ServerCapabilities_OperationLimits_MaxNodesPerHistoryUpdateData Variable.\n    /// </summary>\n    public static readonly NodeId Server_ServerCapabilities_OperationLimits_MaxNodesPerHistoryUpdateData = new NodeId(Variables.Server_ServerCapabilities_OperationLimits_MaxNodesPerHistoryUpdateData);\n\n    /// <summary>\n    /// The identifier for the Server_ServerCapabilities_OperationLimits_MaxNodesPerHistoryUpdateEvents Variable.\n    /// </summary>\n    public static readonly NodeId Server_ServerCapabilities_OperationLimits_MaxNodesPerHistoryUpdateEvents = new NodeId(Variables.Server_ServerCapabilities_OperationLimits_MaxNodesPerHistoryUpdateEvents);\n\n    /// <summary>\n    /// The identifier for the Server_ServerCapabilities_OperationLimits_MaxNodesPerMethodCall Variable.\n    /// </summary>\n    public static readonly NodeId Server_ServerCapabilities_OperationLimits_MaxNodesPerMethodCall = new NodeId(Variables.Server_ServerCapabilities_OperationLimits_MaxNodesPerMethodCall);\n\n    /// <summary>\n    /// The identifier for the Server_ServerCapabilities_OperationLimits_MaxNodesPerBrowse Variable.\n    /// </summary>\n    public static readonly NodeId Server_ServerCapabilities_OperationLimits_MaxNodesPerBrowse = new NodeId(Variables.Server_ServerCapabilities_OperationLimits_MaxNodesPerBrowse);\n\n    /// <summary>\n    /// The identifier for the Server_ServerCapabilities_OperationLimits_MaxNodesPerRegisterNodes Variable.\n    /// </summary>\n    public static readonly NodeId Server_ServerCapabilities_OperationLimits_MaxNodesPerRegisterNodes = new NodeId(Variables.Server_ServerCapabilities_OperationLimits_MaxNodesPerRegisterNodes);\n\n    /// <summary>\n    /// The identifier for the Server_ServerCapabilities_OperationLimits_MaxNodesPerTranslateBrowsePathsToNodeIds Variable.\n    /// </summary>\n    public static readonly NodeId Server_ServerCapabilities_OperationLimits_MaxNodesPerTranslateBrowsePathsToNodeIds = new NodeId(Variables.Server_ServerCapabilities_OperationLimits_MaxNodesPerTranslateBrowsePathsToNodeIds);\n\n    /// <summary>\n    /// The identifier for the Server_ServerCapabilities_OperationLimits_MaxNodesPerNodeManagement Variable.\n    /// </summary>\n    public static readonly NodeId Server_ServerCapabilities_OperationLimits_MaxNodesPerNodeManagement = new NodeId(Variables.Server_ServerCapabilities_OperationLimits_MaxNodesPerNodeManagement);\n\n    /// <summary>\n    /// The identifier for the Server_ServerCapabilities_OperationLimits_MaxMonitoredItemsPerCall Variable.\n    /// </summary>\n    public static readonly NodeId Server_ServerCapabilities_OperationLimits_MaxMonitoredItemsPerCall = new NodeId(Variables.Server_ServerCapabilities_OperationLimits_MaxMonitoredItemsPerCall);\n\n    /// <summary>\n    /// The identifier for the Server_ServerDiagnostics_ServerDiagnosticsSummary Variable.\n    /// </summary>\n    public static readonly NodeId Server_ServerDiagnostics_ServerDiagnosticsSummary = new NodeId(Variables.Server_ServerDiagnostics_ServerDiagnosticsSummary);\n\n    /// <summary>\n    /// The identifier for the Server_ServerDiagnostics_ServerDiagnosticsSummary_ServerViewCount Variable.\n    /// </summary>\n    public static readonly NodeId Server_ServerDiagnostics_ServerDiagnosticsSummary_ServerViewCount = new NodeId(Variables.Server_ServerDiagnostics_ServerDiagnosticsSummary_ServerViewCount);\n\n    /// <summary>\n    /// The identifier for the Server_ServerDiagnostics_ServerDiagnosticsSummary_CurrentSessionCount Variable.\n    /// </summary>\n    public static readonly NodeId Server_ServerDiagnostics_ServerDiagnosticsSummary_CurrentSessionCount = new NodeId(Variables.Server_ServerDiagnostics_ServerDiagnosticsSummary_CurrentSessionCount);\n\n    /// <summary>\n    /// The identifier for the Server_ServerDiagnostics_ServerDiagnosticsSummary_CumulatedSessionCount Variable.\n    /// </summary>\n    public static readonly NodeId Server_ServerDiagnostics_ServerDiagnosticsSummary_CumulatedSessionCount = new NodeId(Variables.Server_ServerDiagnostics_ServerDiagnosticsSummary_CumulatedSessionCount);\n\n    /// <summary>\n    /// The identifier for the Server_ServerDiagnostics_ServerDiagnosticsSummary_SecurityRejectedSessionCount Variable.\n    /// </summary>\n    public static readonly NodeId Server_ServerDiagnostics_ServerDiagnosticsSummary_SecurityRejectedSessionCount = new NodeId(Variables.Server_ServerDiagnostics_ServerDiagnosticsSummary_SecurityRejectedSessionCount);\n\n    /// <summary>\n    /// The identifier for the Server_ServerDiagnostics_ServerDiagnosticsSummary_RejectedSessionCount Variable.\n    /// </summary>\n    public static readonly NodeId Server_ServerDiagnostics_ServerDiagnosticsSummary_RejectedSessionCount = new NodeId(Variables.Server_ServerDiagnostics_ServerDiagnosticsSummary_RejectedSessionCount);\n\n    /// <summary>\n    /// The identifier for the Server_ServerDiagnostics_ServerDiagnosticsSummary_SessionTimeoutCount Variable.\n    /// </summary>\n    public static readonly NodeId Server_ServerDiagnostics_ServerDiagnosticsSummary_SessionTimeoutCount = new NodeId(Variables.Server_ServerDiagnostics_ServerDiagnosticsSummary_SessionTimeoutCount);\n\n    /// <summary>\n    /// The identifier for the Server_ServerDiagnostics_ServerDiagnosticsSummary_SessionAbortCount Variable.\n    /// </summary>\n    public static readonly NodeId Server_ServerDiagnostics_ServerDiagnosticsSummary_SessionAbortCount = new NodeId(Variables.Server_ServerDiagnostics_ServerDiagnosticsSummary_SessionAbortCount);\n\n    /// <summary>\n    /// The identifier for the Server_ServerDiagnostics_ServerDiagnosticsSummary_PublishingIntervalCount Variable.\n    /// </summary>\n    public static readonly NodeId Server_ServerDiagnostics_ServerDiagnosticsSummary_PublishingIntervalCount = new NodeId(Variables.Server_ServerDiagnostics_ServerDiagnosticsSummary_PublishingIntervalCount);\n\n    /// <summary>\n    /// The identifier for the Server_ServerDiagnostics_ServerDiagnosticsSummary_CurrentSubscriptionCount Variable.\n    /// </summary>\n    public static readonly NodeId Server_ServerDiagnostics_ServerDiagnosticsSummary_CurrentSubscriptionCount = new NodeId(Variables.Server_ServerDiagnostics_ServerDiagnosticsSummary_CurrentSubscriptionCount);\n\n    /// <summary>\n    /// The identifier for the Server_ServerDiagnostics_ServerDiagnosticsSummary_CumulatedSubscriptionCount Variable.\n    /// </summary>\n    public static readonly NodeId Server_ServerDiagnostics_ServerDiagnosticsSummary_CumulatedSubscriptionCount = new NodeId(Variables.Server_ServerDiagnostics_ServerDiagnosticsSummary_CumulatedSubscriptionCount);\n\n    /// <summary>\n    /// The identifier for the Server_ServerDiagnostics_ServerDiagnosticsSummary_SecurityRejectedRequestsCount Variable.\n    /// </summary>\n    public static readonly NodeId Server_ServerDiagnostics_ServerDiagnosticsSummary_SecurityRejectedRequestsCount = new NodeId(Variables.Server_ServerDiagnostics_ServerDiagnosticsSummary_SecurityRejectedRequestsCount);\n\n    /// <summary>\n    /// The identifier for the Server_ServerDiagnostics_ServerDiagnosticsSummary_RejectedRequestsCount Variable.\n    /// </summary>\n    public static readonly NodeId Server_ServerDiagnostics_ServerDiagnosticsSummary_RejectedRequestsCount = new NodeId(Variables.Server_ServerDiagnostics_ServerDiagnosticsSummary_RejectedRequestsCount);\n\n    /// <summary>\n    /// The identifier for the Server_ServerDiagnostics_SamplingIntervalDiagnosticsArray Variable.\n    /// </summary>\n    public static readonly NodeId Server_ServerDiagnostics_SamplingIntervalDiagnosticsArray = new NodeId(Variables.Server_ServerDiagnostics_SamplingIntervalDiagnosticsArray);\n\n    /// <summary>\n    /// The identifier for the Server_ServerDiagnostics_SubscriptionDiagnosticsArray Variable.\n    /// </summary>\n    public static readonly NodeId Server_ServerDiagnostics_SubscriptionDiagnosticsArray = new NodeId(Variables.Server_ServerDiagnostics_SubscriptionDiagnosticsArray);\n\n    /// <summary>\n    /// The identifier for the Server_ServerDiagnostics_SessionsDiagnosticsSummary_SessionDiagnosticsArray Variable.\n    /// </summary>\n    public static readonly NodeId Server_ServerDiagnostics_SessionsDiagnosticsSummary_SessionDiagnosticsArray = new NodeId(Variables.Server_ServerDiagnostics_SessionsDiagnosticsSummary_SessionDiagnosticsArray);\n\n    /// <summary>\n    /// The identifier for the Server_ServerDiagnostics_SessionsDiagnosticsSummary_SessionSecurityDiagnosticsArray Variable.\n    /// </summary>\n    public static readonly NodeId Server_ServerDiagnostics_SessionsDiagnosticsSummary_SessionSecurityDiagnosticsArray = new NodeId(Variables.Server_ServerDiagnostics_SessionsDiagnosticsSummary_SessionSecurityDiagnosticsArray);\n\n    /// <summary>\n    /// The identifier for the Server_ServerDiagnostics_EnabledFlag Variable.\n    /// </summary>\n    public static readonly NodeId Server_ServerDiagnostics_EnabledFlag = new NodeId(Variables.Server_ServerDiagnostics_EnabledFlag);\n\n    /// <summary>\n    /// The identifier for the Server_ServerRedundancy_RedundancySupport Variable.\n    /// </summary>\n    public static readonly NodeId Server_ServerRedundancy_RedundancySupport = new NodeId(Variables.Server_ServerRedundancy_RedundancySupport);\n\n    /// <summary>\n    /// The identifier for the Server_Namespaces_AddressSpaceFile_Size Variable.\n    /// </summary>\n    public static readonly NodeId Server_Namespaces_AddressSpaceFile_Size = new NodeId(Variables.Server_Namespaces_AddressSpaceFile_Size);\n\n    /// <summary>\n    /// The identifier for the Server_Namespaces_AddressSpaceFile_Writeable Variable.\n    /// </summary>\n    public static readonly NodeId Server_Namespaces_AddressSpaceFile_Writeable = new NodeId(Variables.Server_Namespaces_AddressSpaceFile_Writeable);\n\n    /// <summary>\n    /// The identifier for the Server_Namespaces_AddressSpaceFile_UserWriteable Variable.\n    /// </summary>\n    public static readonly NodeId Server_Namespaces_AddressSpaceFile_UserWriteable = new NodeId(Variables.Server_Namespaces_AddressSpaceFile_UserWriteable);\n\n    /// <summary>\n    /// The identifier for the Server_Namespaces_AddressSpaceFile_OpenCount Variable.\n    /// </summary>\n    public static readonly NodeId Server_Namespaces_AddressSpaceFile_OpenCount = new NodeId(Variables.Server_Namespaces_AddressSpaceFile_OpenCount);\n\n    /// <summary>\n    /// The identifier for the Server_Namespaces_AddressSpaceFile_Open_InputArguments Variable.\n    /// </summary>\n    public static readonly NodeId Server_Namespaces_AddressSpaceFile_Open_InputArguments = new NodeId(Variables.Server_Namespaces_AddressSpaceFile_Open_InputArguments);\n\n    /// <summary>\n    /// The identifier for the Server_Namespaces_AddressSpaceFile_Open_OutputArguments Variable.\n    /// </summary>\n    public static readonly NodeId Server_Namespaces_AddressSpaceFile_Open_OutputArguments = new NodeId(Variables.Server_Namespaces_AddressSpaceFile_Open_OutputArguments);\n\n    /// <summary>\n    /// The identifier for the Server_Namespaces_AddressSpaceFile_Close_InputArguments Variable.\n    /// </summary>\n    public static readonly NodeId Server_Namespaces_AddressSpaceFile_Close_InputArguments = new NodeId(Variables.Server_Namespaces_AddressSpaceFile_Close_InputArguments);\n\n    /// <summary>\n    /// The identifier for the Server_Namespaces_AddressSpaceFile_Read_InputArguments Variable.\n    /// </summary>\n    public static readonly NodeId Server_Namespaces_AddressSpaceFile_Read_InputArguments = new NodeId(Variables.Server_Namespaces_AddressSpaceFile_Read_InputArguments);\n\n    /// <summary>\n    /// The identifier for the Server_Namespaces_AddressSpaceFile_Read_OutputArguments Variable.\n    /// </summary>\n    public static readonly NodeId Server_Namespaces_AddressSpaceFile_Read_OutputArguments = new NodeId(Variables.Server_Namespaces_AddressSpaceFile_Read_OutputArguments);\n\n    /// <summary>\n    /// The identifier for the Server_Namespaces_AddressSpaceFile_Write_InputArguments Variable.\n    /// </summary>\n    public static readonly NodeId Server_Namespaces_AddressSpaceFile_Write_InputArguments = new NodeId(Variables.Server_Namespaces_AddressSpaceFile_Write_InputArguments);\n\n    /// <summary>\n    /// The identifier for the Server_Namespaces_AddressSpaceFile_GetPosition_InputArguments Variable.\n    /// </summary>\n    public static readonly NodeId Server_Namespaces_AddressSpaceFile_GetPosition_InputArguments = new NodeId(Variables.Server_Namespaces_AddressSpaceFile_GetPosition_InputArguments);\n\n    /// <summary>\n    /// The identifier for the Server_Namespaces_AddressSpaceFile_GetPosition_OutputArguments Variable.\n    /// </summary>\n    public static readonly NodeId Server_Namespaces_AddressSpaceFile_GetPosition_OutputArguments = new NodeId(Variables.Server_Namespaces_AddressSpaceFile_GetPosition_OutputArguments);\n\n    /// <summary>\n    /// The identifier for the Server_Namespaces_AddressSpaceFile_SetPosition_InputArguments Variable.\n    /// </summary>\n    public static readonly NodeId Server_Namespaces_AddressSpaceFile_SetPosition_InputArguments = new NodeId(Variables.Server_Namespaces_AddressSpaceFile_SetPosition_InputArguments);\n\n    /// <summary>\n    /// The identifier for the Server_GetMonitoredItems_InputArguments Variable.\n    /// </summary>\n    public static readonly NodeId Server_GetMonitoredItems_InputArguments = new NodeId(Variables.Server_GetMonitoredItems_InputArguments);\n\n    /// <summary>\n    /// The identifier for the Server_GetMonitoredItems_OutputArguments Variable.\n    /// </summary>\n    public static readonly NodeId Server_GetMonitoredItems_OutputArguments = new NodeId(Variables.Server_GetMonitoredItems_OutputArguments);\n\n    /// <summary>\n    /// The identifier for the Server_ServerRedundancy_CurrentServerId Variable.\n    /// </summary>\n    public static readonly NodeId Server_ServerRedundancy_CurrentServerId = new NodeId(Variables.Server_ServerRedundancy_CurrentServerId);\n\n    /// <summary>\n    /// The identifier for the Server_ServerRedundancy_RedundantServerArray Variable.\n    /// </summary>\n    public static readonly NodeId Server_ServerRedundancy_RedundantServerArray = new NodeId(Variables.Server_ServerRedundancy_RedundantServerArray);\n\n    /// <summary>\n    /// The identifier for the Server_ServerRedundancy_ServerUriArray Variable.\n    /// </summary>\n    public static readonly NodeId Server_ServerRedundancy_ServerUriArray = new NodeId(Variables.Server_ServerRedundancy_ServerUriArray);\n\n    /// <summary>\n    /// The identifier for the HistoryServerCapabilities_AccessHistoryDataCapability Variable.\n    /// </summary>\n    public static readonly NodeId HistoryServerCapabilities_AccessHistoryDataCapability = new NodeId(Variables.HistoryServerCapabilities_AccessHistoryDataCapability);\n\n    /// <summary>\n    /// The identifier for the HistoryServerCapabilities_AccessHistoryEventsCapability Variable.\n    /// </summary>\n    public static readonly NodeId HistoryServerCapabilities_AccessHistoryEventsCapability = new NodeId(Variables.HistoryServerCapabilities_AccessHistoryEventsCapability);\n\n    /// <summary>\n    /// The identifier for the HistoryServerCapabilities_MaxReturnDataValues Variable.\n    /// </summary>\n    public static readonly NodeId HistoryServerCapabilities_MaxReturnDataValues = new NodeId(Variables.HistoryServerCapabilities_MaxReturnDataValues);\n\n    /// <summary>\n    /// The identifier for the HistoryServerCapabilities_MaxReturnEventValues Variable.\n    /// </summary>\n    public static readonly NodeId HistoryServerCapabilities_MaxReturnEventValues = new NodeId(Variables.HistoryServerCapabilities_MaxReturnEventValues);\n\n    /// <summary>\n    /// The identifier for the HistoryServerCapabilities_InsertDataCapability Variable.\n    /// </summary>\n    public static readonly NodeId HistoryServerCapabilities_InsertDataCapability = new NodeId(Variables.HistoryServerCapabilities_InsertDataCapability);\n\n    /// <summary>\n    /// The identifier for the HistoryServerCapabilities_ReplaceDataCapability Variable.\n    /// </summary>\n    public static readonly NodeId HistoryServerCapabilities_ReplaceDataCapability = new NodeId(Variables.HistoryServerCapabilities_ReplaceDataCapability);\n\n    /// <summary>\n    /// The identifier for the HistoryServerCapabilities_UpdateDataCapability Variable.\n    /// </summary>\n    public static readonly NodeId HistoryServerCapabilities_UpdateDataCapability = new NodeId(Variables.HistoryServerCapabilities_UpdateDataCapability);\n\n    /// <summary>\n    /// The identifier for the HistoryServerCapabilities_DeleteRawCapability Variable.\n    /// </summary>\n    public static readonly NodeId HistoryServerCapabilities_DeleteRawCapability = new NodeId(Variables.HistoryServerCapabilities_DeleteRawCapability);\n\n    /// <summary>\n    /// The identifier for the HistoryServerCapabilities_DeleteAtTimeCapability Variable.\n    /// </summary>\n    public static readonly NodeId HistoryServerCapabilities_DeleteAtTimeCapability = new NodeId(Variables.HistoryServerCapabilities_DeleteAtTimeCapability);\n\n    /// <summary>\n    /// The identifier for the HistoryServerCapabilities_InsertEventCapability Variable.\n    /// </summary>\n    public static readonly NodeId HistoryServerCapabilities_InsertEventCapability = new NodeId(Variables.HistoryServerCapabilities_InsertEventCapability);\n\n    /// <summary>\n    /// The identifier for the HistoryServerCapabilities_ReplaceEventCapability Variable.\n    /// </summary>\n    public static readonly NodeId HistoryServerCapabilities_ReplaceEventCapability = new NodeId(Variables.HistoryServerCapabilities_ReplaceEventCapability);\n\n    /// <summary>\n    /// The identifier for the HistoryServerCapabilities_UpdateEventCapability Variable.\n    /// </summary>\n    public static readonly NodeId HistoryServerCapabilities_UpdateEventCapability = new NodeId(Variables.HistoryServerCapabilities_UpdateEventCapability);\n\n    /// <summary>\n    /// The identifier for the HistoryServerCapabilities_DeleteEventCapability Variable.\n    /// </summary>\n    public static readonly NodeId HistoryServerCapabilities_DeleteEventCapability = new NodeId(Variables.HistoryServerCapabilities_DeleteEventCapability);\n\n    /// <summary>\n    /// The identifier for the HistoryServerCapabilities_InsertAnnotationCapability Variable.\n    /// </summary>\n    public static readonly NodeId HistoryServerCapabilities_InsertAnnotationCapability = new NodeId(Variables.HistoryServerCapabilities_InsertAnnotationCapability);\n\n    /// <summary>\n    /// The identifier for the GetMonitoredItemsMethodType_InputArguments Variable.\n    /// </summary>\n    public static readonly NodeId GetMonitoredItemsMethodType_InputArguments = new NodeId(Variables.GetMonitoredItemsMethodType_InputArguments);\n\n    /// <summary>\n    /// The identifier for the GetMonitoredItemsMethodType_OutputArguments Variable.\n    /// </summary>\n    public static readonly NodeId GetMonitoredItemsMethodType_OutputArguments = new NodeId(Variables.GetMonitoredItemsMethodType_OutputArguments);\n\n    /// <summary>\n    /// The identifier for the StateMachineType_CurrentState Variable.\n    /// </summary>\n    public static readonly NodeId StateMachineType_CurrentState = new NodeId(Variables.StateMachineType_CurrentState);\n\n    /// <summary>\n    /// The identifier for the StateMachineType_CurrentState_Id Variable.\n    /// </summary>\n    public static readonly NodeId StateMachineType_CurrentState_Id = new NodeId(Variables.StateMachineType_CurrentState_Id);\n\n    /// <summary>\n    /// The identifier for the StateMachineType_LastTransition Variable.\n    /// </summary>\n    public static readonly NodeId StateMachineType_LastTransition = new NodeId(Variables.StateMachineType_LastTransition);\n\n    /// <summary>\n    /// The identifier for the StateMachineType_LastTransition_Id Variable.\n    /// </summary>\n    public static readonly NodeId StateMachineType_LastTransition_Id = new NodeId(Variables.StateMachineType_LastTransition_Id);\n\n    /// <summary>\n    /// The identifier for the StateVariableType_Id Variable.\n    /// </summary>\n    public static readonly NodeId StateVariableType_Id = new NodeId(Variables.StateVariableType_Id);\n\n    /// <summary>\n    /// The identifier for the StateVariableType_Name Variable.\n    /// </summary>\n    public static readonly NodeId StateVariableType_Name = new NodeId(Variables.StateVariableType_Name);\n\n    /// <summary>\n    /// The identifier for the StateVariableType_Number Variable.\n    /// </summary>\n    public static readonly NodeId StateVariableType_Number = new NodeId(Variables.StateVariableType_Number);\n\n    /// <summary>\n    /// The identifier for the StateVariableType_EffectiveDisplayName Variable.\n    /// </summary>\n    public static readonly NodeId StateVariableType_EffectiveDisplayName = new NodeId(Variables.StateVariableType_EffectiveDisplayName);\n\n    /// <summary>\n    /// The identifier for the TransitionVariableType_Id Variable.\n    /// </summary>\n    public static readonly NodeId TransitionVariableType_Id = new NodeId(Variables.TransitionVariableType_Id);\n\n    /// <summary>\n    /// The identifier for the TransitionVariableType_Name Variable.\n    /// </summary>\n    public static readonly NodeId TransitionVariableType_Name = new NodeId(Variables.TransitionVariableType_Name);\n\n    /// <summary>\n    /// The identifier for the TransitionVariableType_Number Variable.\n    /// </summary>\n    public static readonly NodeId TransitionVariableType_Number = new NodeId(Variables.TransitionVariableType_Number);\n\n    /// <summary>\n    /// The identifier for the TransitionVariableType_TransitionTime Variable.\n    /// </summary>\n    public static readonly NodeId TransitionVariableType_TransitionTime = new NodeId(Variables.TransitionVariableType_TransitionTime);\n\n    /// <summary>\n    /// The identifier for the TransitionVariableType_EffectiveTransitionTime Variable.\n    /// </summary>\n    public static readonly NodeId TransitionVariableType_EffectiveTransitionTime = new NodeId(Variables.TransitionVariableType_EffectiveTransitionTime);\n\n    /// <summary>\n    /// The identifier for the FiniteStateMachineType_CurrentState Variable.\n    /// </summary>\n    public static readonly NodeId FiniteStateMachineType_CurrentState = new NodeId(Variables.FiniteStateMachineType_CurrentState);\n\n    /// <summary>\n    /// The identifier for the FiniteStateMachineType_LastTransition Variable.\n    /// </summary>\n    public static readonly NodeId FiniteStateMachineType_LastTransition = new NodeId(Variables.FiniteStateMachineType_LastTransition);\n\n    /// <summary>\n    /// The identifier for the FiniteStateVariableType_Id Variable.\n    /// </summary>\n    public static readonly NodeId FiniteStateVariableType_Id = new NodeId(Variables.FiniteStateVariableType_Id);\n\n    /// <summary>\n    /// The identifier for the FiniteTransitionVariableType_Id Variable.\n    /// </summary>\n    public static readonly NodeId FiniteTransitionVariableType_Id = new NodeId(Variables.FiniteTransitionVariableType_Id);\n\n    /// <summary>\n    /// The identifier for the StateType_StateNumber Variable.\n    /// </summary>\n    public static readonly NodeId StateType_StateNumber = new NodeId(Variables.StateType_StateNumber);\n\n    /// <summary>\n    /// The identifier for the TransitionType_TransitionNumber Variable.\n    /// </summary>\n    public static readonly NodeId TransitionType_TransitionNumber = new NodeId(Variables.TransitionType_TransitionNumber);\n\n    /// <summary>\n    /// The identifier for the TransitionEventType_Transition Variable.\n    /// </summary>\n    public static readonly NodeId TransitionEventType_Transition = new NodeId(Variables.TransitionEventType_Transition);\n\n    /// <summary>\n    /// The identifier for the TransitionEventType_Transition_Id Variable.\n    /// </summary>\n    public static readonly NodeId TransitionEventType_Transition_Id = new NodeId(Variables.TransitionEventType_Transition_Id);\n\n    /// <summary>\n    /// The identifier for the TransitionEventType_FromState Variable.\n    /// </summary>\n    public static readonly NodeId TransitionEventType_FromState = new NodeId(Variables.TransitionEventType_FromState);\n\n    /// <summary>\n    /// The identifier for the TransitionEventType_FromState_Id Variable.\n    /// </summary>\n    public static readonly NodeId TransitionEventType_FromState_Id = new NodeId(Variables.TransitionEventType_FromState_Id);\n\n    /// <summary>\n    /// The identifier for the TransitionEventType_ToState Variable.\n    /// </summary>\n    public static readonly NodeId TransitionEventType_ToState = new NodeId(Variables.TransitionEventType_ToState);\n\n    /// <summary>\n    /// The identifier for the TransitionEventType_ToState_Id Variable.\n    /// </summary>\n    public static readonly NodeId TransitionEventType_ToState_Id = new NodeId(Variables.TransitionEventType_ToState_Id);\n\n    /// <summary>\n    /// The identifier for the AuditUpdateStateEventType_OldStateId Variable.\n    /// </summary>\n    public static readonly NodeId AuditUpdateStateEventType_OldStateId = new NodeId(Variables.AuditUpdateStateEventType_OldStateId);\n\n    /// <summary>\n    /// The identifier for the AuditUpdateStateEventType_NewStateId Variable.\n    /// </summary>\n    public static readonly NodeId AuditUpdateStateEventType_NewStateId = new NodeId(Variables.AuditUpdateStateEventType_NewStateId);\n\n    /// <summary>\n    /// The identifier for the OpenFileMode_EnumValues Variable.\n    /// </summary>\n    public static readonly NodeId OpenFileMode_EnumValues = new NodeId(Variables.OpenFileMode_EnumValues);\n\n    /// <summary>\n    /// The identifier for the OpenMethodType_InputArguments Variable.\n    /// </summary>\n    public static readonly NodeId OpenMethodType_InputArguments = new NodeId(Variables.OpenMethodType_InputArguments);\n\n    /// <summary>\n    /// The identifier for the OpenMethodType_OutputArguments Variable.\n    /// </summary>\n    public static readonly NodeId OpenMethodType_OutputArguments = new NodeId(Variables.OpenMethodType_OutputArguments);\n\n    /// <summary>\n    /// The identifier for the CloseMethodType_InputArguments Variable.\n    /// </summary>\n    public static readonly NodeId CloseMethodType_InputArguments = new NodeId(Variables.CloseMethodType_InputArguments);\n\n    /// <summary>\n    /// The identifier for the ReadMethodType_InputArguments Variable.\n    /// </summary>\n    public static readonly NodeId ReadMethodType_InputArguments = new NodeId(Variables.ReadMethodType_InputArguments);\n\n    /// <summary>\n    /// The identifier for the ReadMethodType_OutputArguments Variable.\n    /// </summary>\n    public static readonly NodeId ReadMethodType_OutputArguments = new NodeId(Variables.ReadMethodType_OutputArguments);\n\n    /// <summary>\n    /// The identifier for the WriteMethodType_InputArguments Variable.\n    /// </summary>\n    public static readonly NodeId WriteMethodType_InputArguments = new NodeId(Variables.WriteMethodType_InputArguments);\n\n    /// <summary>\n    /// The identifier for the GetPositionMethodType_InputArguments Variable.\n    /// </summary>\n    public static readonly NodeId GetPositionMethodType_InputArguments = new NodeId(Variables.GetPositionMethodType_InputArguments);\n\n    /// <summary>\n    /// The identifier for the GetPositionMethodType_OutputArguments Variable.\n    /// </summary>\n    public static readonly NodeId GetPositionMethodType_OutputArguments = new NodeId(Variables.GetPositionMethodType_OutputArguments);\n\n    /// <summary>\n    /// The identifier for the SetPositionMethodType_InputArguments Variable.\n    /// </summary>\n    public static readonly NodeId SetPositionMethodType_InputArguments = new NodeId(Variables.SetPositionMethodType_InputArguments);\n\n    /// <summary>\n    /// The identifier for the DataItemType_Definition Variable.\n    /// </summary>\n    public static readonly NodeId DataItemType_Definition = new NodeId(Variables.DataItemType_Definition);\n\n    /// <summary>\n    /// The identifier for the DataItemType_ValuePrecision Variable.\n    /// </summary>\n    public static readonly NodeId DataItemType_ValuePrecision = new NodeId(Variables.DataItemType_ValuePrecision);\n\n    /// <summary>\n    /// The identifier for the AnalogItemType_InstrumentRange Variable.\n    /// </summary>\n    public static readonly NodeId AnalogItemType_InstrumentRange = new NodeId(Variables.AnalogItemType_InstrumentRange);\n\n    /// <summary>\n    /// The identifier for the AnalogItemType_EURange Variable.\n    /// </summary>\n    public static readonly NodeId AnalogItemType_EURange = new NodeId(Variables.AnalogItemType_EURange);\n\n    /// <summary>\n    /// The identifier for the AnalogItemType_EngineeringUnits Variable.\n    /// </summary>\n    public static readonly NodeId AnalogItemType_EngineeringUnits = new NodeId(Variables.AnalogItemType_EngineeringUnits);\n\n    /// <summary>\n    /// The identifier for the TwoStateDiscreteType_FalseState Variable.\n    /// </summary>\n    public static readonly NodeId TwoStateDiscreteType_FalseState = new NodeId(Variables.TwoStateDiscreteType_FalseState);\n\n    /// <summary>\n    /// The identifier for the TwoStateDiscreteType_TrueState Variable.\n    /// </summary>\n    public static readonly NodeId TwoStateDiscreteType_TrueState = new NodeId(Variables.TwoStateDiscreteType_TrueState);\n\n    /// <summary>\n    /// The identifier for the MultiStateDiscreteType_EnumStrings Variable.\n    /// </summary>\n    public static readonly NodeId MultiStateDiscreteType_EnumStrings = new NodeId(Variables.MultiStateDiscreteType_EnumStrings);\n\n    /// <summary>\n    /// The identifier for the MultiStateValueDiscreteType_EnumValues Variable.\n    /// </summary>\n    public static readonly NodeId MultiStateValueDiscreteType_EnumValues = new NodeId(Variables.MultiStateValueDiscreteType_EnumValues);\n\n    /// <summary>\n    /// The identifier for the MultiStateValueDiscreteType_ValueAsText Variable.\n    /// </summary>\n    public static readonly NodeId MultiStateValueDiscreteType_ValueAsText = new NodeId(Variables.MultiStateValueDiscreteType_ValueAsText);\n\n    /// <summary>\n    /// The identifier for the ArrayItemType_InstrumentRange Variable.\n    /// </summary>\n    public static readonly NodeId ArrayItemType_InstrumentRange = new NodeId(Variables.ArrayItemType_InstrumentRange);\n\n    /// <summary>\n    /// The identifier for the ArrayItemType_EURange Variable.\n    /// </summary>\n    public static readonly NodeId ArrayItemType_EURange = new NodeId(Variables.ArrayItemType_EURange);\n\n    /// <summary>\n    /// The identifier for the ArrayItemType_EngineeringUnits Variable.\n    /// </summary>\n    public static readonly NodeId ArrayItemType_EngineeringUnits = new NodeId(Variables.ArrayItemType_EngineeringUnits);\n\n    /// <summary>\n    /// The identifier for the ArrayItemType_Title Variable.\n    /// </summary>\n    public static readonly NodeId ArrayItemType_Title = new NodeId(Variables.ArrayItemType_Title);\n\n    /// <summary>\n    /// The identifier for the ArrayItemType_AxisScaleType Variable.\n    /// </summary>\n    public static readonly NodeId ArrayItemType_AxisScaleType = new NodeId(Variables.ArrayItemType_AxisScaleType);\n\n    /// <summary>\n    /// The identifier for the YArrayItemType_XAxisDefinition Variable.\n    /// </summary>\n    public static readonly NodeId YArrayItemType_XAxisDefinition = new NodeId(Variables.YArrayItemType_XAxisDefinition);\n\n    /// <summary>\n    /// The identifier for the XYArrayItemType_XAxisDefinition Variable.\n    /// </summary>\n    public static readonly NodeId XYArrayItemType_XAxisDefinition = new NodeId(Variables.XYArrayItemType_XAxisDefinition);\n\n    /// <summary>\n    /// The identifier for the ImageItemType_XAxisDefinition Variable.\n    /// </summary>\n    public static readonly NodeId ImageItemType_XAxisDefinition = new NodeId(Variables.ImageItemType_XAxisDefinition);\n\n    /// <summary>\n    /// The identifier for the ImageItemType_YAxisDefinition Variable.\n    /// </summary>\n    public static readonly NodeId ImageItemType_YAxisDefinition = new NodeId(Variables.ImageItemType_YAxisDefinition);\n\n    /// <summary>\n    /// The identifier for the CubeItemType_XAxisDefinition Variable.\n    /// </summary>\n    public static readonly NodeId CubeItemType_XAxisDefinition = new NodeId(Variables.CubeItemType_XAxisDefinition);\n\n    /// <summary>\n    /// The identifier for the CubeItemType_YAxisDefinition Variable.\n    /// </summary>\n    public static readonly NodeId CubeItemType_YAxisDefinition = new NodeId(Variables.CubeItemType_YAxisDefinition);\n\n    /// <summary>\n    /// The identifier for the CubeItemType_ZAxisDefinition Variable.\n    /// </summary>\n    public static readonly NodeId CubeItemType_ZAxisDefinition = new NodeId(Variables.CubeItemType_ZAxisDefinition);\n\n    /// <summary>\n    /// The identifier for the NDimensionArrayItemType_AxisDefinition Variable.\n    /// </summary>\n    public static readonly NodeId NDimensionArrayItemType_AxisDefinition = new NodeId(Variables.NDimensionArrayItemType_AxisDefinition);\n\n    /// <summary>\n    /// The identifier for the TwoStateVariableType_Id Variable.\n    /// </summary>\n    public static readonly NodeId TwoStateVariableType_Id = new NodeId(Variables.TwoStateVariableType_Id);\n\n    /// <summary>\n    /// The identifier for the TwoStateVariableType_TransitionTime Variable.\n    /// </summary>\n    public static readonly NodeId TwoStateVariableType_TransitionTime = new NodeId(Variables.TwoStateVariableType_TransitionTime);\n\n    /// <summary>\n    /// The identifier for the TwoStateVariableType_EffectiveTransitionTime Variable.\n    /// </summary>\n    public static readonly NodeId TwoStateVariableType_EffectiveTransitionTime = new NodeId(Variables.TwoStateVariableType_EffectiveTransitionTime);\n\n    /// <summary>\n    /// The identifier for the TwoStateVariableType_TrueState Variable.\n    /// </summary>\n    public static readonly NodeId TwoStateVariableType_TrueState = new NodeId(Variables.TwoStateVariableType_TrueState);\n\n    /// <summary>\n    /// The identifier for the TwoStateVariableType_FalseState Variable.\n    /// </summary>\n    public static readonly NodeId TwoStateVariableType_FalseState = new NodeId(Variables.TwoStateVariableType_FalseState);\n\n    /// <summary>\n    /// The identifier for the ConditionVariableType_SourceTimestamp Variable.\n    /// </summary>\n    public static readonly NodeId ConditionVariableType_SourceTimestamp = new NodeId(Variables.ConditionVariableType_SourceTimestamp);\n\n    /// <summary>\n    /// The identifier for the ConditionType_ConditionClassId Variable.\n    /// </summary>\n    public static readonly NodeId ConditionType_ConditionClassId = new NodeId(Variables.ConditionType_ConditionClassId);\n\n    /// <summary>\n    /// The identifier for the ConditionType_ConditionClassName Variable.\n    /// </summary>\n    public static readonly NodeId ConditionType_ConditionClassName = new NodeId(Variables.ConditionType_ConditionClassName);\n\n    /// <summary>\n    /// The identifier for the ConditionType_ConditionName Variable.\n    /// </summary>\n    public static readonly NodeId ConditionType_ConditionName = new NodeId(Variables.ConditionType_ConditionName);\n\n    /// <summary>\n    /// The identifier for the ConditionType_BranchId Variable.\n    /// </summary>\n    public static readonly NodeId ConditionType_BranchId = new NodeId(Variables.ConditionType_BranchId);\n\n    /// <summary>\n    /// The identifier for the ConditionType_Retain Variable.\n    /// </summary>\n    public static readonly NodeId ConditionType_Retain = new NodeId(Variables.ConditionType_Retain);\n\n    /// <summary>\n    /// The identifier for the ConditionType_EnabledState Variable.\n    /// </summary>\n    public static readonly NodeId ConditionType_EnabledState = new NodeId(Variables.ConditionType_EnabledState);\n\n    /// <summary>\n    /// The identifier for the ConditionType_EnabledState_Id Variable.\n    /// </summary>\n    public static readonly NodeId ConditionType_EnabledState_Id = new NodeId(Variables.ConditionType_EnabledState_Id);\n\n    /// <summary>\n    /// The identifier for the ConditionType_EnabledState_EffectiveDisplayName Variable.\n    /// </summary>\n    public static readonly NodeId ConditionType_EnabledState_EffectiveDisplayName = new NodeId(Variables.ConditionType_EnabledState_EffectiveDisplayName);\n\n    /// <summary>\n    /// The identifier for the ConditionType_EnabledState_TransitionTime Variable.\n    /// </summary>\n    public static readonly NodeId ConditionType_EnabledState_TransitionTime = new NodeId(Variables.ConditionType_EnabledState_TransitionTime);\n\n    /// <summary>\n    /// The identifier for the ConditionType_EnabledState_EffectiveTransitionTime Variable.\n    /// </summary>\n    public static readonly NodeId ConditionType_EnabledState_EffectiveTransitionTime = new NodeId(Variables.ConditionType_EnabledState_EffectiveTransitionTime);\n\n    /// <summary>\n    /// The identifier for the ConditionType_EnabledState_TrueState Variable.\n    /// </summary>\n    public static readonly NodeId ConditionType_EnabledState_TrueState = new NodeId(Variables.ConditionType_EnabledState_TrueState);\n\n    /// <summary>\n    /// The identifier for the ConditionType_EnabledState_FalseState Variable.\n    /// </summary>\n    public static readonly NodeId ConditionType_EnabledState_FalseState = new NodeId(Variables.ConditionType_EnabledState_FalseState);\n\n    /// <summary>\n    /// The identifier for the ConditionType_Quality Variable.\n    /// </summary>\n    public static readonly NodeId ConditionType_Quality = new NodeId(Variables.ConditionType_Quality);\n\n    /// <summary>\n    /// The identifier for the ConditionType_Quality_SourceTimestamp Variable.\n    /// </summary>\n    public static readonly NodeId ConditionType_Quality_SourceTimestamp = new NodeId(Variables.ConditionType_Quality_SourceTimestamp);\n\n    /// <summary>\n    /// The identifier for the ConditionType_LastSeverity Variable.\n    /// </summary>\n    public static readonly NodeId ConditionType_LastSeverity = new NodeId(Variables.ConditionType_LastSeverity);\n\n    /// <summary>\n    /// The identifier for the ConditionType_LastSeverity_SourceTimestamp Variable.\n    /// </summary>\n    public static readonly NodeId ConditionType_LastSeverity_SourceTimestamp = new NodeId(Variables.ConditionType_LastSeverity_SourceTimestamp);\n\n    /// <summary>\n    /// The identifier for the ConditionType_Comment Variable.\n    /// </summary>\n    public static readonly NodeId ConditionType_Comment = new NodeId(Variables.ConditionType_Comment);\n\n    /// <summary>\n    /// The identifier for the ConditionType_Comment_SourceTimestamp Variable.\n    /// </summary>\n    public static readonly NodeId ConditionType_Comment_SourceTimestamp = new NodeId(Variables.ConditionType_Comment_SourceTimestamp);\n\n    /// <summary>\n    /// The identifier for the ConditionType_ClientUserId Variable.\n    /// </summary>\n    public static readonly NodeId ConditionType_ClientUserId = new NodeId(Variables.ConditionType_ClientUserId);\n\n    /// <summary>\n    /// The identifier for the ConditionType_AddComment_InputArguments Variable.\n    /// </summary>\n    public static readonly NodeId ConditionType_AddComment_InputArguments = new NodeId(Variables.ConditionType_AddComment_InputArguments);\n\n    /// <summary>\n    /// The identifier for the ConditionType_ConditionRefresh_InputArguments Variable.\n    /// </summary>\n    public static readonly NodeId ConditionType_ConditionRefresh_InputArguments = new NodeId(Variables.ConditionType_ConditionRefresh_InputArguments);\n\n    /// <summary>\n    /// The identifier for the ConditionRefreshMethodType_InputArguments Variable.\n    /// </summary>\n    public static readonly NodeId ConditionRefreshMethodType_InputArguments = new NodeId(Variables.ConditionRefreshMethodType_InputArguments);\n\n    /// <summary>\n    /// The identifier for the AddCommentMethodType_InputArguments Variable.\n    /// </summary>\n    public static readonly NodeId AddCommentMethodType_InputArguments = new NodeId(Variables.AddCommentMethodType_InputArguments);\n\n    /// <summary>\n    /// The identifier for the DialogConditionType_EnabledState Variable.\n    /// </summary>\n    public static readonly NodeId DialogConditionType_EnabledState = new NodeId(Variables.DialogConditionType_EnabledState);\n\n    /// <summary>\n    /// The identifier for the DialogConditionType_DialogState Variable.\n    /// </summary>\n    public static readonly NodeId DialogConditionType_DialogState = new NodeId(Variables.DialogConditionType_DialogState);\n\n    /// <summary>\n    /// The identifier for the DialogConditionType_DialogState_Id Variable.\n    /// </summary>\n    public static readonly NodeId DialogConditionType_DialogState_Id = new NodeId(Variables.DialogConditionType_DialogState_Id);\n\n    /// <summary>\n    /// The identifier for the DialogConditionType_DialogState_TransitionTime Variable.\n    /// </summary>\n    public static readonly NodeId DialogConditionType_DialogState_TransitionTime = new NodeId(Variables.DialogConditionType_DialogState_TransitionTime);\n\n    /// <summary>\n    /// The identifier for the DialogConditionType_DialogState_TrueState Variable.\n    /// </summary>\n    public static readonly NodeId DialogConditionType_DialogState_TrueState = new NodeId(Variables.DialogConditionType_DialogState_TrueState);\n\n    /// <summary>\n    /// The identifier for the DialogConditionType_DialogState_FalseState Variable.\n    /// </summary>\n    public static readonly NodeId DialogConditionType_DialogState_FalseState = new NodeId(Variables.DialogConditionType_DialogState_FalseState);\n\n    /// <summary>\n    /// The identifier for the DialogConditionType_Prompt Variable.\n    /// </summary>\n    public static readonly NodeId DialogConditionType_Prompt = new NodeId(Variables.DialogConditionType_Prompt);\n\n    /// <summary>\n    /// The identifier for the DialogConditionType_ResponseOptionSet Variable.\n    /// </summary>\n    public static readonly NodeId DialogConditionType_ResponseOptionSet = new NodeId(Variables.DialogConditionType_ResponseOptionSet);\n\n    /// <summary>\n    /// The identifier for the DialogConditionType_DefaultResponse Variable.\n    /// </summary>\n    public static readonly NodeId DialogConditionType_DefaultResponse = new NodeId(Variables.DialogConditionType_DefaultResponse);\n\n    /// <summary>\n    /// The identifier for the DialogConditionType_OkResponse Variable.\n    /// </summary>\n    public static readonly NodeId DialogConditionType_OkResponse = new NodeId(Variables.DialogConditionType_OkResponse);\n\n    /// <summary>\n    /// The identifier for the DialogConditionType_CancelResponse Variable.\n    /// </summary>\n    public static readonly NodeId DialogConditionType_CancelResponse = new NodeId(Variables.DialogConditionType_CancelResponse);\n\n    /// <summary>\n    /// The identifier for the DialogConditionType_LastResponse Variable.\n    /// </summary>\n    public static readonly NodeId DialogConditionType_LastResponse = new NodeId(Variables.DialogConditionType_LastResponse);\n\n    /// <summary>\n    /// The identifier for the DialogConditionType_Respond_InputArguments Variable.\n    /// </summary>\n    public static readonly NodeId DialogConditionType_Respond_InputArguments = new NodeId(Variables.DialogConditionType_Respond_InputArguments);\n\n    /// <summary>\n    /// The identifier for the DialogResponseMethodType_InputArguments Variable.\n    /// </summary>\n    public static readonly NodeId DialogResponseMethodType_InputArguments = new NodeId(Variables.DialogResponseMethodType_InputArguments);\n\n    /// <summary>\n    /// The identifier for the AcknowledgeableConditionType_EnabledState Variable.\n    /// </summary>\n    public static readonly NodeId AcknowledgeableConditionType_EnabledState = new NodeId(Variables.AcknowledgeableConditionType_EnabledState);\n\n    /// <summary>\n    /// The identifier for the AcknowledgeableConditionType_AckedState Variable.\n    /// </summary>\n    public static readonly NodeId AcknowledgeableConditionType_AckedState = new NodeId(Variables.AcknowledgeableConditionType_AckedState);\n\n    /// <summary>\n    /// The identifier for the AcknowledgeableConditionType_AckedState_Id Variable.\n    /// </summary>\n    public static readonly NodeId AcknowledgeableConditionType_AckedState_Id = new NodeId(Variables.AcknowledgeableConditionType_AckedState_Id);\n\n    /// <summary>\n    /// The identifier for the AcknowledgeableConditionType_AckedState_TransitionTime Variable.\n    /// </summary>\n    public static readonly NodeId AcknowledgeableConditionType_AckedState_TransitionTime = new NodeId(Variables.AcknowledgeableConditionType_AckedState_TransitionTime);\n\n    /// <summary>\n    /// The identifier for the AcknowledgeableConditionType_AckedState_TrueState Variable.\n    /// </summary>\n    public static readonly NodeId AcknowledgeableConditionType_AckedState_TrueState = new NodeId(Variables.AcknowledgeableConditionType_AckedState_TrueState);\n\n    /// <summary>\n    /// The identifier for the AcknowledgeableConditionType_AckedState_FalseState Variable.\n    /// </summary>\n    public static readonly NodeId AcknowledgeableConditionType_AckedState_FalseState = new NodeId(Variables.AcknowledgeableConditionType_AckedState_FalseState);\n\n    /// <summary>\n    /// The identifier for the AcknowledgeableConditionType_ConfirmedState Variable.\n    /// </summary>\n    public static readonly NodeId AcknowledgeableConditionType_ConfirmedState = new NodeId(Variables.AcknowledgeableConditionType_ConfirmedState);\n\n    /// <summary>\n    /// The identifier for the AcknowledgeableConditionType_ConfirmedState_Id Variable.\n    /// </summary>\n    public static readonly NodeId AcknowledgeableConditionType_ConfirmedState_Id = new NodeId(Variables.AcknowledgeableConditionType_ConfirmedState_Id);\n\n    /// <summary>\n    /// The identifier for the AcknowledgeableConditionType_ConfirmedState_TransitionTime Variable.\n    /// </summary>\n    public static readonly NodeId AcknowledgeableConditionType_ConfirmedState_TransitionTime = new NodeId(Variables.AcknowledgeableConditionType_ConfirmedState_TransitionTime);\n\n    /// <summary>\n    /// The identifier for the AcknowledgeableConditionType_ConfirmedState_TrueState Variable.\n    /// </summary>\n    public static readonly NodeId AcknowledgeableConditionType_ConfirmedState_TrueState = new NodeId(Variables.AcknowledgeableConditionType_ConfirmedState_TrueState);\n\n    /// <summary>\n    /// The identifier for the AcknowledgeableConditionType_ConfirmedState_FalseState Variable.\n    /// </summary>\n    public static readonly NodeId AcknowledgeableConditionType_ConfirmedState_FalseState = new NodeId(Variables.AcknowledgeableConditionType_ConfirmedState_FalseState);\n\n    /// <summary>\n    /// The identifier for the AcknowledgeableConditionType_Acknowledge_InputArguments Variable.\n    /// </summary>\n    public static readonly NodeId AcknowledgeableConditionType_Acknowledge_InputArguments = new NodeId(Variables.AcknowledgeableConditionType_Acknowledge_InputArguments);\n\n    /// <summary>\n    /// The identifier for the AcknowledgeableConditionType_Confirm_InputArguments Variable.\n    /// </summary>\n    public static readonly NodeId AcknowledgeableConditionType_Confirm_InputArguments = new NodeId(Variables.AcknowledgeableConditionType_Confirm_InputArguments);\n\n    /// <summary>\n    /// The identifier for the AlarmConditionType_EnabledState Variable.\n    /// </summary>\n    public static readonly NodeId AlarmConditionType_EnabledState = new NodeId(Variables.AlarmConditionType_EnabledState);\n\n    /// <summary>\n    /// The identifier for the AlarmConditionType_ActiveState Variable.\n    /// </summary>\n    public static readonly NodeId AlarmConditionType_ActiveState = new NodeId(Variables.AlarmConditionType_ActiveState);\n\n    /// <summary>\n    /// The identifier for the AlarmConditionType_ActiveState_Id Variable.\n    /// </summary>\n    public static readonly NodeId AlarmConditionType_ActiveState_Id = new NodeId(Variables.AlarmConditionType_ActiveState_Id);\n\n    /// <summary>\n    /// The identifier for the AlarmConditionType_ActiveState_EffectiveDisplayName Variable.\n    /// </summary>\n    public static readonly NodeId AlarmConditionType_ActiveState_EffectiveDisplayName = new NodeId(Variables.AlarmConditionType_ActiveState_EffectiveDisplayName);\n\n    /// <summary>\n    /// The identifier for the AlarmConditionType_ActiveState_TransitionTime Variable.\n    /// </summary>\n    public static readonly NodeId AlarmConditionType_ActiveState_TransitionTime = new NodeId(Variables.AlarmConditionType_ActiveState_TransitionTime);\n\n    /// <summary>\n    /// The identifier for the AlarmConditionType_ActiveState_EffectiveTransitionTime Variable.\n    /// </summary>\n    public static readonly NodeId AlarmConditionType_ActiveState_EffectiveTransitionTime = new NodeId(Variables.AlarmConditionType_ActiveState_EffectiveTransitionTime);\n\n    /// <summary>\n    /// The identifier for the AlarmConditionType_ActiveState_TrueState Variable.\n    /// </summary>\n    public static readonly NodeId AlarmConditionType_ActiveState_TrueState = new NodeId(Variables.AlarmConditionType_ActiveState_TrueState);\n\n    /// <summary>\n    /// The identifier for the AlarmConditionType_ActiveState_FalseState Variable.\n    /// </summary>\n    public static readonly NodeId AlarmConditionType_ActiveState_FalseState = new NodeId(Variables.AlarmConditionType_ActiveState_FalseState);\n\n    /// <summary>\n    /// The identifier for the AlarmConditionType_InputNode Variable.\n    /// </summary>\n    public static readonly NodeId AlarmConditionType_InputNode = new NodeId(Variables.AlarmConditionType_InputNode);\n\n    /// <summary>\n    /// The identifier for the AlarmConditionType_SuppressedState Variable.\n    /// </summary>\n    public static readonly NodeId AlarmConditionType_SuppressedState = new NodeId(Variables.AlarmConditionType_SuppressedState);\n\n    /// <summary>\n    /// The identifier for the AlarmConditionType_SuppressedState_TransitionTime Variable.\n    /// </summary>\n    public static readonly NodeId AlarmConditionType_SuppressedState_TransitionTime = new NodeId(Variables.AlarmConditionType_SuppressedState_TransitionTime);\n\n    /// <summary>\n    /// The identifier for the AlarmConditionType_SuppressedState_TrueState Variable.\n    /// </summary>\n    public static readonly NodeId AlarmConditionType_SuppressedState_TrueState = new NodeId(Variables.AlarmConditionType_SuppressedState_TrueState);\n\n    /// <summary>\n    /// The identifier for the AlarmConditionType_SuppressedState_FalseState Variable.\n    /// </summary>\n    public static readonly NodeId AlarmConditionType_SuppressedState_FalseState = new NodeId(Variables.AlarmConditionType_SuppressedState_FalseState);\n\n    /// <summary>\n    /// The identifier for the AlarmConditionType_ShelvingState_LastTransition Variable.\n    /// </summary>\n    public static readonly NodeId AlarmConditionType_ShelvingState_LastTransition = new NodeId(Variables.AlarmConditionType_ShelvingState_LastTransition);\n\n    /// <summary>\n    /// The identifier for the AlarmConditionType_ShelvingState_LastTransition_TransitionTime Variable.\n    /// </summary>\n    public static readonly NodeId AlarmConditionType_ShelvingState_LastTransition_TransitionTime = new NodeId(Variables.AlarmConditionType_ShelvingState_LastTransition_TransitionTime);\n\n    /// <summary>\n    /// The identifier for the AlarmConditionType_ShelvingState_UnshelveTime Variable.\n    /// </summary>\n    public static readonly NodeId AlarmConditionType_ShelvingState_UnshelveTime = new NodeId(Variables.AlarmConditionType_ShelvingState_UnshelveTime);\n\n    /// <summary>\n    /// The identifier for the AlarmConditionType_ShelvingState_TimedShelve_InputArguments Variable.\n    /// </summary>\n    public static readonly NodeId AlarmConditionType_ShelvingState_TimedShelve_InputArguments = new NodeId(Variables.AlarmConditionType_ShelvingState_TimedShelve_InputArguments);\n\n    /// <summary>\n    /// The identifier for the AlarmConditionType_SuppressedOrShelved Variable.\n    /// </summary>\n    public static readonly NodeId AlarmConditionType_SuppressedOrShelved = new NodeId(Variables.AlarmConditionType_SuppressedOrShelved);\n\n    /// <summary>\n    /// The identifier for the AlarmConditionType_MaxTimeShelved Variable.\n    /// </summary>\n    public static readonly NodeId AlarmConditionType_MaxTimeShelved = new NodeId(Variables.AlarmConditionType_MaxTimeShelved);\n\n    /// <summary>\n    /// The identifier for the ShelvedStateMachineType_UnshelveTime Variable.\n    /// </summary>\n    public static readonly NodeId ShelvedStateMachineType_UnshelveTime = new NodeId(Variables.ShelvedStateMachineType_UnshelveTime);\n\n    /// <summary>\n    /// The identifier for the ShelvedStateMachineType_Unshelved_StateNumber Variable.\n    /// </summary>\n    public static readonly NodeId ShelvedStateMachineType_Unshelved_StateNumber = new NodeId(Variables.ShelvedStateMachineType_Unshelved_StateNumber);\n\n    /// <summary>\n    /// The identifier for the ShelvedStateMachineType_TimedShelved_StateNumber Variable.\n    /// </summary>\n    public static readonly NodeId ShelvedStateMachineType_TimedShelved_StateNumber = new NodeId(Variables.ShelvedStateMachineType_TimedShelved_StateNumber);\n\n    /// <summary>\n    /// The identifier for the ShelvedStateMachineType_OneShotShelved_StateNumber Variable.\n    /// </summary>\n    public static readonly NodeId ShelvedStateMachineType_OneShotShelved_StateNumber = new NodeId(Variables.ShelvedStateMachineType_OneShotShelved_StateNumber);\n\n    /// <summary>\n    /// The identifier for the ShelvedStateMachineType_UnshelvedToTimedShelved_TransitionNumber Variable.\n    /// </summary>\n    public static readonly NodeId ShelvedStateMachineType_UnshelvedToTimedShelved_TransitionNumber = new NodeId(Variables.ShelvedStateMachineType_UnshelvedToTimedShelved_TransitionNumber);\n\n    /// <summary>\n    /// The identifier for the ShelvedStateMachineType_UnshelvedToOneShotShelved_TransitionNumber Variable.\n    /// </summary>\n    public static readonly NodeId ShelvedStateMachineType_UnshelvedToOneShotShelved_TransitionNumber = new NodeId(Variables.ShelvedStateMachineType_UnshelvedToOneShotShelved_TransitionNumber);\n\n    /// <summary>\n    /// The identifier for the ShelvedStateMachineType_TimedShelvedToUnshelved_TransitionNumber Variable.\n    /// </summary>\n    public static readonly NodeId ShelvedStateMachineType_TimedShelvedToUnshelved_TransitionNumber = new NodeId(Variables.ShelvedStateMachineType_TimedShelvedToUnshelved_TransitionNumber);\n\n    /// <summary>\n    /// The identifier for the ShelvedStateMachineType_TimedShelvedToOneShotShelved_TransitionNumber Variable.\n    /// </summary>\n    public static readonly NodeId ShelvedStateMachineType_TimedShelvedToOneShotShelved_TransitionNumber = new NodeId(Variables.ShelvedStateMachineType_TimedShelvedToOneShotShelved_TransitionNumber);\n\n    /// <summary>\n    /// The identifier for the ShelvedStateMachineType_OneShotShelvedToUnshelved_TransitionNumber Variable.\n    /// </summary>\n    public static readonly NodeId ShelvedStateMachineType_OneShotShelvedToUnshelved_TransitionNumber = new NodeId(Variables.ShelvedStateMachineType_OneShotShelvedToUnshelved_TransitionNumber);\n\n    /// <summary>\n    /// The identifier for the ShelvedStateMachineType_OneShotShelvedToTimedShelved_TransitionNumber Variable.\n    /// </summary>\n    public static readonly NodeId ShelvedStateMachineType_OneShotShelvedToTimedShelved_TransitionNumber = new NodeId(Variables.ShelvedStateMachineType_OneShotShelvedToTimedShelved_TransitionNumber);\n\n    /// <summary>\n    /// The identifier for the ShelvedStateMachineType_TimedShelve_InputArguments Variable.\n    /// </summary>\n    public static readonly NodeId ShelvedStateMachineType_TimedShelve_InputArguments = new NodeId(Variables.ShelvedStateMachineType_TimedShelve_InputArguments);\n\n    /// <summary>\n    /// The identifier for the TimedShelveMethodType_InputArguments Variable.\n    /// </summary>\n    public static readonly NodeId TimedShelveMethodType_InputArguments = new NodeId(Variables.TimedShelveMethodType_InputArguments);\n\n    /// <summary>\n    /// The identifier for the LimitAlarmType_HighHighLimit Variable.\n    /// </summary>\n    public static readonly NodeId LimitAlarmType_HighHighLimit = new NodeId(Variables.LimitAlarmType_HighHighLimit);\n\n    /// <summary>\n    /// The identifier for the LimitAlarmType_HighLimit Variable.\n    /// </summary>\n    public static readonly NodeId LimitAlarmType_HighLimit = new NodeId(Variables.LimitAlarmType_HighLimit);\n\n    /// <summary>\n    /// The identifier for the LimitAlarmType_LowLimit Variable.\n    /// </summary>\n    public static readonly NodeId LimitAlarmType_LowLimit = new NodeId(Variables.LimitAlarmType_LowLimit);\n\n    /// <summary>\n    /// The identifier for the LimitAlarmType_LowLowLimit Variable.\n    /// </summary>\n    public static readonly NodeId LimitAlarmType_LowLowLimit = new NodeId(Variables.LimitAlarmType_LowLowLimit);\n\n    /// <summary>\n    /// The identifier for the ExclusiveLimitStateMachineType_HighHigh_StateNumber Variable.\n    /// </summary>\n    public static readonly NodeId ExclusiveLimitStateMachineType_HighHigh_StateNumber = new NodeId(Variables.ExclusiveLimitStateMachineType_HighHigh_StateNumber);\n\n    /// <summary>\n    /// The identifier for the ExclusiveLimitStateMachineType_High_StateNumber Variable.\n    /// </summary>\n    public static readonly NodeId ExclusiveLimitStateMachineType_High_StateNumber = new NodeId(Variables.ExclusiveLimitStateMachineType_High_StateNumber);\n\n    /// <summary>\n    /// The identifier for the ExclusiveLimitStateMachineType_Low_StateNumber Variable.\n    /// </summary>\n    public static readonly NodeId ExclusiveLimitStateMachineType_Low_StateNumber = new NodeId(Variables.ExclusiveLimitStateMachineType_Low_StateNumber);\n\n    /// <summary>\n    /// The identifier for the ExclusiveLimitStateMachineType_LowLow_StateNumber Variable.\n    /// </summary>\n    public static readonly NodeId ExclusiveLimitStateMachineType_LowLow_StateNumber = new NodeId(Variables.ExclusiveLimitStateMachineType_LowLow_StateNumber);\n\n    /// <summary>\n    /// The identifier for the ExclusiveLimitStateMachineType_LowLowToLow_TransitionNumber Variable.\n    /// </summary>\n    public static readonly NodeId ExclusiveLimitStateMachineType_LowLowToLow_TransitionNumber = new NodeId(Variables.ExclusiveLimitStateMachineType_LowLowToLow_TransitionNumber);\n\n    /// <summary>\n    /// The identifier for the ExclusiveLimitStateMachineType_LowToLowLow_TransitionNumber Variable.\n    /// </summary>\n    public static readonly NodeId ExclusiveLimitStateMachineType_LowToLowLow_TransitionNumber = new NodeId(Variables.ExclusiveLimitStateMachineType_LowToLowLow_TransitionNumber);\n\n    /// <summary>\n    /// The identifier for the ExclusiveLimitStateMachineType_HighHighToHigh_TransitionNumber Variable.\n    /// </summary>\n    public static readonly NodeId ExclusiveLimitStateMachineType_HighHighToHigh_TransitionNumber = new NodeId(Variables.ExclusiveLimitStateMachineType_HighHighToHigh_TransitionNumber);\n\n    /// <summary>\n    /// The identifier for the ExclusiveLimitStateMachineType_HighToHighHigh_TransitionNumber Variable.\n    /// </summary>\n    public static readonly NodeId ExclusiveLimitStateMachineType_HighToHighHigh_TransitionNumber = new NodeId(Variables.ExclusiveLimitStateMachineType_HighToHighHigh_TransitionNumber);\n\n    /// <summary>\n    /// The identifier for the ExclusiveLimitAlarmType_ActiveState Variable.\n    /// </summary>\n    public static readonly NodeId ExclusiveLimitAlarmType_ActiveState = new NodeId(Variables.ExclusiveLimitAlarmType_ActiveState);\n\n    /// <summary>\n    /// The identifier for the ExclusiveLimitAlarmType_LimitState_LastTransition Variable.\n    /// </summary>\n    public static readonly NodeId ExclusiveLimitAlarmType_LimitState_LastTransition = new NodeId(Variables.ExclusiveLimitAlarmType_LimitState_LastTransition);\n\n    /// <summary>\n    /// The identifier for the ExclusiveLimitAlarmType_LimitState_LastTransition_TransitionTime Variable.\n    /// </summary>\n    public static readonly NodeId ExclusiveLimitAlarmType_LimitState_LastTransition_TransitionTime = new NodeId(Variables.ExclusiveLimitAlarmType_LimitState_LastTransition_TransitionTime);\n\n    /// <summary>\n    /// The identifier for the NonExclusiveLimitAlarmType_ActiveState Variable.\n    /// </summary>\n    public static readonly NodeId NonExclusiveLimitAlarmType_ActiveState = new NodeId(Variables.NonExclusiveLimitAlarmType_ActiveState);\n\n    /// <summary>\n    /// The identifier for the NonExclusiveLimitAlarmType_HighHighState Variable.\n    /// </summary>\n    public static readonly NodeId NonExclusiveLimitAlarmType_HighHighState = new NodeId(Variables.NonExclusiveLimitAlarmType_HighHighState);\n\n    /// <summary>\n    /// The identifier for the NonExclusiveLimitAlarmType_HighHighState_TransitionTime Variable.\n    /// </summary>\n    public static readonly NodeId NonExclusiveLimitAlarmType_HighHighState_TransitionTime = new NodeId(Variables.NonExclusiveLimitAlarmType_HighHighState_TransitionTime);\n\n    /// <summary>\n    /// The identifier for the NonExclusiveLimitAlarmType_HighHighState_TrueState Variable.\n    /// </summary>\n    public static readonly NodeId NonExclusiveLimitAlarmType_HighHighState_TrueState = new NodeId(Variables.NonExclusiveLimitAlarmType_HighHighState_TrueState);\n\n    /// <summary>\n    /// The identifier for the NonExclusiveLimitAlarmType_HighHighState_FalseState Variable.\n    /// </summary>\n    public static readonly NodeId NonExclusiveLimitAlarmType_HighHighState_FalseState = new NodeId(Variables.NonExclusiveLimitAlarmType_HighHighState_FalseState);\n\n    /// <summary>\n    /// The identifier for the NonExclusiveLimitAlarmType_HighState Variable.\n    /// </summary>\n    public static readonly NodeId NonExclusiveLimitAlarmType_HighState = new NodeId(Variables.NonExclusiveLimitAlarmType_HighState);\n\n    /// <summary>\n    /// The identifier for the NonExclusiveLimitAlarmType_HighState_TransitionTime Variable.\n    /// </summary>\n    public static readonly NodeId NonExclusiveLimitAlarmType_HighState_TransitionTime = new NodeId(Variables.NonExclusiveLimitAlarmType_HighState_TransitionTime);\n\n    /// <summary>\n    /// The identifier for the NonExclusiveLimitAlarmType_HighState_TrueState Variable.\n    /// </summary>\n    public static readonly NodeId NonExclusiveLimitAlarmType_HighState_TrueState = new NodeId(Variables.NonExclusiveLimitAlarmType_HighState_TrueState);\n\n    /// <summary>\n    /// The identifier for the NonExclusiveLimitAlarmType_HighState_FalseState Variable.\n    /// </summary>\n    public static readonly NodeId NonExclusiveLimitAlarmType_HighState_FalseState = new NodeId(Variables.NonExclusiveLimitAlarmType_HighState_FalseState);\n\n    /// <summary>\n    /// The identifier for the NonExclusiveLimitAlarmType_LowState Variable.\n    /// </summary>\n    public static readonly NodeId NonExclusiveLimitAlarmType_LowState = new NodeId(Variables.NonExclusiveLimitAlarmType_LowState);\n\n    /// <summary>\n    /// The identifier for the NonExclusiveLimitAlarmType_LowState_TransitionTime Variable.\n    /// </summary>\n    public static readonly NodeId NonExclusiveLimitAlarmType_LowState_TransitionTime = new NodeId(Variables.NonExclusiveLimitAlarmType_LowState_TransitionTime);\n\n    /// <summary>\n    /// The identifier for the NonExclusiveLimitAlarmType_LowState_TrueState Variable.\n    /// </summary>\n    public static readonly NodeId NonExclusiveLimitAlarmType_LowState_TrueState = new NodeId(Variables.NonExclusiveLimitAlarmType_LowState_TrueState);\n\n    /// <summary>\n    /// The identifier for the NonExclusiveLimitAlarmType_LowState_FalseState Variable.\n    /// </summary>\n    public static readonly NodeId NonExclusiveLimitAlarmType_LowState_FalseState = new NodeId(Variables.NonExclusiveLimitAlarmType_LowState_FalseState);\n\n    /// <summary>\n    /// The identifier for the NonExclusiveLimitAlarmType_LowLowState Variable.\n    /// </summary>\n    public static readonly NodeId NonExclusiveLimitAlarmType_LowLowState = new NodeId(Variables.NonExclusiveLimitAlarmType_LowLowState);\n\n    /// <summary>\n    /// The identifier for the NonExclusiveLimitAlarmType_LowLowState_TransitionTime Variable.\n    /// </summary>\n    public static readonly NodeId NonExclusiveLimitAlarmType_LowLowState_TransitionTime = new NodeId(Variables.NonExclusiveLimitAlarmType_LowLowState_TransitionTime);\n\n    /// <summary>\n    /// The identifier for the NonExclusiveLimitAlarmType_LowLowState_TrueState Variable.\n    /// </summary>\n    public static readonly NodeId NonExclusiveLimitAlarmType_LowLowState_TrueState = new NodeId(Variables.NonExclusiveLimitAlarmType_LowLowState_TrueState);\n\n    /// <summary>\n    /// The identifier for the NonExclusiveLimitAlarmType_LowLowState_FalseState Variable.\n    /// </summary>\n    public static readonly NodeId NonExclusiveLimitAlarmType_LowLowState_FalseState = new NodeId(Variables.NonExclusiveLimitAlarmType_LowLowState_FalseState);\n\n    /// <summary>\n    /// The identifier for the NonExclusiveDeviationAlarmType_SetpointNode Variable.\n    /// </summary>\n    public static readonly NodeId NonExclusiveDeviationAlarmType_SetpointNode = new NodeId(Variables.NonExclusiveDeviationAlarmType_SetpointNode);\n\n    /// <summary>\n    /// The identifier for the ExclusiveDeviationAlarmType_SetpointNode Variable.\n    /// </summary>\n    public static readonly NodeId ExclusiveDeviationAlarmType_SetpointNode = new NodeId(Variables.ExclusiveDeviationAlarmType_SetpointNode);\n\n    /// <summary>\n    /// The identifier for the OffNormalAlarmType_NormalState Variable.\n    /// </summary>\n    public static readonly NodeId OffNormalAlarmType_NormalState = new NodeId(Variables.OffNormalAlarmType_NormalState);\n\n    /// <summary>\n    /// The identifier for the AuditConditionCommentEventType_EventId Variable.\n    /// </summary>\n    public static readonly NodeId AuditConditionCommentEventType_EventId = new NodeId(Variables.AuditConditionCommentEventType_EventId);\n\n    /// <summary>\n    /// The identifier for the AuditConditionCommentEventType_Comment Variable.\n    /// </summary>\n    public static readonly NodeId AuditConditionCommentEventType_Comment = new NodeId(Variables.AuditConditionCommentEventType_Comment);\n\n    /// <summary>\n    /// The identifier for the AuditConditionRespondEventType_SelectedResponse Variable.\n    /// </summary>\n    public static readonly NodeId AuditConditionRespondEventType_SelectedResponse = new NodeId(Variables.AuditConditionRespondEventType_SelectedResponse);\n\n    /// <summary>\n    /// The identifier for the AuditConditionAcknowledgeEventType_EventId Variable.\n    /// </summary>\n    public static readonly NodeId AuditConditionAcknowledgeEventType_EventId = new NodeId(Variables.AuditConditionAcknowledgeEventType_EventId);\n\n    /// <summary>\n    /// The identifier for the AuditConditionAcknowledgeEventType_Comment Variable.\n    /// </summary>\n    public static readonly NodeId AuditConditionAcknowledgeEventType_Comment = new NodeId(Variables.AuditConditionAcknowledgeEventType_Comment);\n\n    /// <summary>\n    /// The identifier for the AuditConditionConfirmEventType_EventId Variable.\n    /// </summary>\n    public static readonly NodeId AuditConditionConfirmEventType_EventId = new NodeId(Variables.AuditConditionConfirmEventType_EventId);\n\n    /// <summary>\n    /// The identifier for the AuditConditionConfirmEventType_Comment Variable.\n    /// </summary>\n    public static readonly NodeId AuditConditionConfirmEventType_Comment = new NodeId(Variables.AuditConditionConfirmEventType_Comment);\n\n    /// <summary>\n    /// The identifier for the AuditConditionShelvingEventType_ShelvingTime Variable.\n    /// </summary>\n    public static readonly NodeId AuditConditionShelvingEventType_ShelvingTime = new NodeId(Variables.AuditConditionShelvingEventType_ShelvingTime);\n\n    /// <summary>\n    /// The identifier for the ProgramStateMachineType_CurrentState Variable.\n    /// </summary>\n    public static readonly NodeId ProgramStateMachineType_CurrentState = new NodeId(Variables.ProgramStateMachineType_CurrentState);\n\n    /// <summary>\n    /// The identifier for the ProgramStateMachineType_CurrentState_Number Variable.\n    /// </summary>\n    public static readonly NodeId ProgramStateMachineType_CurrentState_Number = new NodeId(Variables.ProgramStateMachineType_CurrentState_Number);\n\n    /// <summary>\n    /// The identifier for the ProgramStateMachineType_LastTransition Variable.\n    /// </summary>\n    public static readonly NodeId ProgramStateMachineType_LastTransition = new NodeId(Variables.ProgramStateMachineType_LastTransition);\n\n    /// <summary>\n    /// The identifier for the ProgramStateMachineType_LastTransition_Number Variable.\n    /// </summary>\n    public static readonly NodeId ProgramStateMachineType_LastTransition_Number = new NodeId(Variables.ProgramStateMachineType_LastTransition_Number);\n\n    /// <summary>\n    /// The identifier for the ProgramStateMachineType_LastTransition_TransitionTime Variable.\n    /// </summary>\n    public static readonly NodeId ProgramStateMachineType_LastTransition_TransitionTime = new NodeId(Variables.ProgramStateMachineType_LastTransition_TransitionTime);\n\n    /// <summary>\n    /// The identifier for the ProgramStateMachineType_Creatable Variable.\n    /// </summary>\n    public static readonly NodeId ProgramStateMachineType_Creatable = new NodeId(Variables.ProgramStateMachineType_Creatable);\n\n    /// <summary>\n    /// The identifier for the ProgramStateMachineType_Deletable Variable.\n    /// </summary>\n    public static readonly NodeId ProgramStateMachineType_Deletable = new NodeId(Variables.ProgramStateMachineType_Deletable);\n\n    /// <summary>\n    /// The identifier for the ProgramStateMachineType_AutoDelete Variable.\n    /// </summary>\n    public static readonly NodeId ProgramStateMachineType_AutoDelete = new NodeId(Variables.ProgramStateMachineType_AutoDelete);\n\n    /// <summary>\n    /// The identifier for the ProgramStateMachineType_RecycleCount Variable.\n    /// </summary>\n    public static readonly NodeId ProgramStateMachineType_RecycleCount = new NodeId(Variables.ProgramStateMachineType_RecycleCount);\n\n    /// <summary>\n    /// The identifier for the ProgramStateMachineType_InstanceCount Variable.\n    /// </summary>\n    public static readonly NodeId ProgramStateMachineType_InstanceCount = new NodeId(Variables.ProgramStateMachineType_InstanceCount);\n\n    /// <summary>\n    /// The identifier for the ProgramStateMachineType_MaxInstanceCount Variable.\n    /// </summary>\n    public static readonly NodeId ProgramStateMachineType_MaxInstanceCount = new NodeId(Variables.ProgramStateMachineType_MaxInstanceCount);\n\n    /// <summary>\n    /// The identifier for the ProgramStateMachineType_MaxRecycleCount Variable.\n    /// </summary>\n    public static readonly NodeId ProgramStateMachineType_MaxRecycleCount = new NodeId(Variables.ProgramStateMachineType_MaxRecycleCount);\n\n    /// <summary>\n    /// The identifier for the ProgramStateMachineType_ProgramDiagnostics Variable.\n    /// </summary>\n    public static readonly NodeId ProgramStateMachineType_ProgramDiagnostics = new NodeId(Variables.ProgramStateMachineType_ProgramDiagnostics);\n\n    /// <summary>\n    /// The identifier for the ProgramStateMachineType_ProgramDiagnostics_CreateSessionId Variable.\n    /// </summary>\n    public static readonly NodeId ProgramStateMachineType_ProgramDiagnostics_CreateSessionId = new NodeId(Variables.ProgramStateMachineType_ProgramDiagnostics_CreateSessionId);\n\n    /// <summary>\n    /// The identifier for the ProgramStateMachineType_ProgramDiagnostics_CreateClientName Variable.\n    /// </summary>\n    public static readonly NodeId ProgramStateMachineType_ProgramDiagnostics_CreateClientName = new NodeId(Variables.ProgramStateMachineType_ProgramDiagnostics_CreateClientName);\n\n    /// <summary>\n    /// The identifier for the ProgramStateMachineType_ProgramDiagnostics_InvocationCreationTime Variable.\n    /// </summary>\n    public static readonly NodeId ProgramStateMachineType_ProgramDiagnostics_InvocationCreationTime = new NodeId(Variables.ProgramStateMachineType_ProgramDiagnostics_InvocationCreationTime);\n\n    /// <summary>\n    /// The identifier for the ProgramStateMachineType_ProgramDiagnostics_LastTransitionTime Variable.\n    /// </summary>\n    public static readonly NodeId ProgramStateMachineType_ProgramDiagnostics_LastTransitionTime = new NodeId(Variables.ProgramStateMachineType_ProgramDiagnostics_LastTransitionTime);\n\n    /// <summary>\n    /// The identifier for the ProgramStateMachineType_ProgramDiagnostics_LastMethodCall Variable.\n    /// </summary>\n    public static readonly NodeId ProgramStateMachineType_ProgramDiagnostics_LastMethodCall = new NodeId(Variables.ProgramStateMachineType_ProgramDiagnostics_LastMethodCall);\n\n    /// <summary>\n    /// The identifier for the ProgramStateMachineType_ProgramDiagnostics_LastMethodSessionId Variable.\n    /// </summary>\n    public static readonly NodeId ProgramStateMachineType_ProgramDiagnostics_LastMethodSessionId = new NodeId(Variables.ProgramStateMachineType_ProgramDiagnostics_LastMethodSessionId);\n\n    /// <summary>\n    /// The identifier for the ProgramStateMachineType_ProgramDiagnostics_LastMethodInputArguments Variable.\n    /// </summary>\n    public static readonly NodeId ProgramStateMachineType_ProgramDiagnostics_LastMethodInputArguments = new NodeId(Variables.ProgramStateMachineType_ProgramDiagnostics_LastMethodInputArguments);\n\n    /// <summary>\n    /// The identifier for the ProgramStateMachineType_ProgramDiagnostics_LastMethodOutputArguments Variable.\n    /// </summary>\n    public static readonly NodeId ProgramStateMachineType_ProgramDiagnostics_LastMethodOutputArguments = new NodeId(Variables.ProgramStateMachineType_ProgramDiagnostics_LastMethodOutputArguments);\n\n    /// <summary>\n    /// The identifier for the ProgramStateMachineType_ProgramDiagnostics_LastMethodCallTime Variable.\n    /// </summary>\n    public static readonly NodeId ProgramStateMachineType_ProgramDiagnostics_LastMethodCallTime = new NodeId(Variables.ProgramStateMachineType_ProgramDiagnostics_LastMethodCallTime);\n\n    /// <summary>\n    /// The identifier for the ProgramStateMachineType_ProgramDiagnostics_LastMethodReturnStatus Variable.\n    /// </summary>\n    public static readonly NodeId ProgramStateMachineType_ProgramDiagnostics_LastMethodReturnStatus = new NodeId(Variables.ProgramStateMachineType_ProgramDiagnostics_LastMethodReturnStatus);\n\n    /// <summary>\n    /// The identifier for the ProgramStateMachineType_Ready_StateNumber Variable.\n    /// </summary>\n    public static readonly NodeId ProgramStateMachineType_Ready_StateNumber = new NodeId(Variables.ProgramStateMachineType_Ready_StateNumber);\n\n    /// <summary>\n    /// The identifier for the ProgramStateMachineType_Running_StateNumber Variable.\n    /// </summary>\n    public static readonly NodeId ProgramStateMachineType_Running_StateNumber = new NodeId(Variables.ProgramStateMachineType_Running_StateNumber);\n\n    /// <summary>\n    /// The identifier for the ProgramStateMachineType_Suspended_StateNumber Variable.\n    /// </summary>\n    public static readonly NodeId ProgramStateMachineType_Suspended_StateNumber = new NodeId(Variables.ProgramStateMachineType_Suspended_StateNumber);\n\n    /// <summary>\n    /// The identifier for the ProgramStateMachineType_Halted_StateNumber Variable.\n    /// </summary>\n    public static readonly NodeId ProgramStateMachineType_Halted_StateNumber = new NodeId(Variables.ProgramStateMachineType_Halted_StateNumber);\n\n    /// <summary>\n    /// The identifier for the ProgramStateMachineType_HaltedToReady_TransitionNumber Variable.\n    /// </summary>\n    public static readonly NodeId ProgramStateMachineType_HaltedToReady_TransitionNumber = new NodeId(Variables.ProgramStateMachineType_HaltedToReady_TransitionNumber);\n\n    /// <summary>\n    /// The identifier for the ProgramStateMachineType_ReadyToRunning_TransitionNumber Variable.\n    /// </summary>\n    public static readonly NodeId ProgramStateMachineType_ReadyToRunning_TransitionNumber = new NodeId(Variables.ProgramStateMachineType_ReadyToRunning_TransitionNumber);\n\n    /// <summary>\n    /// The identifier for the ProgramStateMachineType_RunningToHalted_TransitionNumber Variable.\n    /// </summary>\n    public static readonly NodeId ProgramStateMachineType_RunningToHalted_TransitionNumber = new NodeId(Variables.ProgramStateMachineType_RunningToHalted_TransitionNumber);\n\n    /// <summary>\n    /// The identifier for the ProgramStateMachineType_RunningToReady_TransitionNumber Variable.\n    /// </summary>\n    public static readonly NodeId ProgramStateMachineType_RunningToReady_TransitionNumber = new NodeId(Variables.ProgramStateMachineType_RunningToReady_TransitionNumber);\n\n    /// <summary>\n    /// The identifier for the ProgramStateMachineType_RunningToSuspended_TransitionNumber Variable.\n    /// </summary>\n    public static readonly NodeId ProgramStateMachineType_RunningToSuspended_TransitionNumber = new NodeId(Variables.ProgramStateMachineType_RunningToSuspended_TransitionNumber);\n\n    /// <summary>\n    /// The identifier for the ProgramStateMachineType_SuspendedToRunning_TransitionNumber Variable.\n    /// </summary>\n    public static readonly NodeId ProgramStateMachineType_SuspendedToRunning_TransitionNumber = new NodeId(Variables.ProgramStateMachineType_SuspendedToRunning_TransitionNumber);\n\n    /// <summary>\n    /// The identifier for the ProgramStateMachineType_SuspendedToHalted_TransitionNumber Variable.\n    /// </summary>\n    public static readonly NodeId ProgramStateMachineType_SuspendedToHalted_TransitionNumber = new NodeId(Variables.ProgramStateMachineType_SuspendedToHalted_TransitionNumber);\n\n    /// <summary>\n    /// The identifier for the ProgramStateMachineType_SuspendedToReady_TransitionNumber Variable.\n    /// </summary>\n    public static readonly NodeId ProgramStateMachineType_SuspendedToReady_TransitionNumber = new NodeId(Variables.ProgramStateMachineType_SuspendedToReady_TransitionNumber);\n\n    /// <summary>\n    /// The identifier for the ProgramStateMachineType_ReadyToHalted_TransitionNumber Variable.\n    /// </summary>\n    public static readonly NodeId ProgramStateMachineType_ReadyToHalted_TransitionNumber = new NodeId(Variables.ProgramStateMachineType_ReadyToHalted_TransitionNumber);\n\n    /// <summary>\n    /// The identifier for the ProgramTransitionEventType_IntermediateResult Variable.\n    /// </summary>\n    public static readonly NodeId ProgramTransitionEventType_IntermediateResult = new NodeId(Variables.ProgramTransitionEventType_IntermediateResult);\n\n    /// <summary>\n    /// The identifier for the AuditProgramTransitionEventType_TransitionNumber Variable.\n    /// </summary>\n    public static readonly NodeId AuditProgramTransitionEventType_TransitionNumber = new NodeId(Variables.AuditProgramTransitionEventType_TransitionNumber);\n\n    /// <summary>\n    /// The identifier for the ProgramTransitionAuditEventType_Transition Variable.\n    /// </summary>\n    public static readonly NodeId ProgramTransitionAuditEventType_Transition = new NodeId(Variables.ProgramTransitionAuditEventType_Transition);\n\n    /// <summary>\n    /// The identifier for the ProgramDiagnosticType_CreateSessionId Variable.\n    /// </summary>\n    public static readonly NodeId ProgramDiagnosticType_CreateSessionId = new NodeId(Variables.ProgramDiagnosticType_CreateSessionId);\n\n    /// <summary>\n    /// The identifier for the ProgramDiagnosticType_CreateClientName Variable.\n    /// </summary>\n    public static readonly NodeId ProgramDiagnosticType_CreateClientName = new NodeId(Variables.ProgramDiagnosticType_CreateClientName);\n\n    /// <summary>\n    /// The identifier for the ProgramDiagnosticType_InvocationCreationTime Variable.\n    /// </summary>\n    public static readonly NodeId ProgramDiagnosticType_InvocationCreationTime = new NodeId(Variables.ProgramDiagnosticType_InvocationCreationTime);\n\n    /// <summary>\n    /// The identifier for the ProgramDiagnosticType_LastTransitionTime Variable.\n    /// </summary>\n    public static readonly NodeId ProgramDiagnosticType_LastTransitionTime = new NodeId(Variables.ProgramDiagnosticType_LastTransitionTime);\n\n    /// <summary>\n    /// The identifier for the ProgramDiagnosticType_LastMethodCall Variable.\n    /// </summary>\n    public static readonly NodeId ProgramDiagnosticType_LastMethodCall = new NodeId(Variables.ProgramDiagnosticType_LastMethodCall);\n\n    /// <summary>\n    /// The identifier for the ProgramDiagnosticType_LastMethodSessionId Variable.\n    /// </summary>\n    public static readonly NodeId ProgramDiagnosticType_LastMethodSessionId = new NodeId(Variables.ProgramDiagnosticType_LastMethodSessionId);\n\n    /// <summary>\n    /// The identifier for the ProgramDiagnosticType_LastMethodInputArguments Variable.\n    /// </summary>\n    public static readonly NodeId ProgramDiagnosticType_LastMethodInputArguments = new NodeId(Variables.ProgramDiagnosticType_LastMethodInputArguments);\n\n    /// <summary>\n    /// The identifier for the ProgramDiagnosticType_LastMethodOutputArguments Variable.\n    /// </summary>\n    public static readonly NodeId ProgramDiagnosticType_LastMethodOutputArguments = new NodeId(Variables.ProgramDiagnosticType_LastMethodOutputArguments);\n\n    /// <summary>\n    /// The identifier for the ProgramDiagnosticType_LastMethodCallTime Variable.\n    /// </summary>\n    public static readonly NodeId ProgramDiagnosticType_LastMethodCallTime = new NodeId(Variables.ProgramDiagnosticType_LastMethodCallTime);\n\n    /// <summary>\n    /// The identifier for the ProgramDiagnosticType_LastMethodReturnStatus Variable.\n    /// </summary>\n    public static readonly NodeId ProgramDiagnosticType_LastMethodReturnStatus = new NodeId(Variables.ProgramDiagnosticType_LastMethodReturnStatus);\n\n    /// <summary>\n    /// The identifier for the Annotations Variable.\n    /// </summary>\n    public static readonly NodeId Annotations = new NodeId(Variables.Annotations);\n\n    /// <summary>\n    /// The identifier for the HistoricalDataConfigurationType_AggregateConfiguration_TreatUncertainAsBad Variable.\n    /// </summary>\n    public static readonly NodeId HistoricalDataConfigurationType_AggregateConfiguration_TreatUncertainAsBad = new NodeId(Variables.HistoricalDataConfigurationType_AggregateConfiguration_TreatUncertainAsBad);\n\n    /// <summary>\n    /// The identifier for the HistoricalDataConfigurationType_AggregateConfiguration_PercentDataBad Variable.\n    /// </summary>\n    public static readonly NodeId HistoricalDataConfigurationType_AggregateConfiguration_PercentDataBad = new NodeId(Variables.HistoricalDataConfigurationType_AggregateConfiguration_PercentDataBad);\n\n    /// <summary>\n    /// The identifier for the HistoricalDataConfigurationType_AggregateConfiguration_PercentDataGood Variable.\n    /// </summary>\n    public static readonly NodeId HistoricalDataConfigurationType_AggregateConfiguration_PercentDataGood = new NodeId(Variables.HistoricalDataConfigurationType_AggregateConfiguration_PercentDataGood);\n\n    /// <summary>\n    /// The identifier for the HistoricalDataConfigurationType_AggregateConfiguration_UseSlopedExtrapolation Variable.\n    /// </summary>\n    public static readonly NodeId HistoricalDataConfigurationType_AggregateConfiguration_UseSlopedExtrapolation = new NodeId(Variables.HistoricalDataConfigurationType_AggregateConfiguration_UseSlopedExtrapolation);\n\n    /// <summary>\n    /// The identifier for the HistoricalDataConfigurationType_Stepped Variable.\n    /// </summary>\n    public static readonly NodeId HistoricalDataConfigurationType_Stepped = new NodeId(Variables.HistoricalDataConfigurationType_Stepped);\n\n    /// <summary>\n    /// The identifier for the HistoricalDataConfigurationType_Definition Variable.\n    /// </summary>\n    public static readonly NodeId HistoricalDataConfigurationType_Definition = new NodeId(Variables.HistoricalDataConfigurationType_Definition);\n\n    /// <summary>\n    /// The identifier for the HistoricalDataConfigurationType_MaxTimeInterval Variable.\n    /// </summary>\n    public static readonly NodeId HistoricalDataConfigurationType_MaxTimeInterval = new NodeId(Variables.HistoricalDataConfigurationType_MaxTimeInterval);\n\n    /// <summary>\n    /// The identifier for the HistoricalDataConfigurationType_MinTimeInterval Variable.\n    /// </summary>\n    public static readonly NodeId HistoricalDataConfigurationType_MinTimeInterval = new NodeId(Variables.HistoricalDataConfigurationType_MinTimeInterval);\n\n    /// <summary>\n    /// The identifier for the HistoricalDataConfigurationType_ExceptionDeviation Variable.\n    /// </summary>\n    public static readonly NodeId HistoricalDataConfigurationType_ExceptionDeviation = new NodeId(Variables.HistoricalDataConfigurationType_ExceptionDeviation);\n\n    /// <summary>\n    /// The identifier for the HistoricalDataConfigurationType_ExceptionDeviationFormat Variable.\n    /// </summary>\n    public static readonly NodeId HistoricalDataConfigurationType_ExceptionDeviationFormat = new NodeId(Variables.HistoricalDataConfigurationType_ExceptionDeviationFormat);\n\n    /// <summary>\n    /// The identifier for the HistoricalDataConfigurationType_StartOfArchive Variable.\n    /// </summary>\n    public static readonly NodeId HistoricalDataConfigurationType_StartOfArchive = new NodeId(Variables.HistoricalDataConfigurationType_StartOfArchive);\n\n    /// <summary>\n    /// The identifier for the HistoricalDataConfigurationType_StartOfOnlineArchive Variable.\n    /// </summary>\n    public static readonly NodeId HistoricalDataConfigurationType_StartOfOnlineArchive = new NodeId(Variables.HistoricalDataConfigurationType_StartOfOnlineArchive);\n\n    /// <summary>\n    /// The identifier for the HAConfiguration_AggregateConfiguration_TreatUncertainAsBad Variable.\n    /// </summary>\n    public static readonly NodeId HAConfiguration_AggregateConfiguration_TreatUncertainAsBad = new NodeId(Variables.HAConfiguration_AggregateConfiguration_TreatUncertainAsBad);\n\n    /// <summary>\n    /// The identifier for the HAConfiguration_AggregateConfiguration_PercentDataBad Variable.\n    /// </summary>\n    public static readonly NodeId HAConfiguration_AggregateConfiguration_PercentDataBad = new NodeId(Variables.HAConfiguration_AggregateConfiguration_PercentDataBad);\n\n    /// <summary>\n    /// The identifier for the HAConfiguration_AggregateConfiguration_PercentDataGood Variable.\n    /// </summary>\n    public static readonly NodeId HAConfiguration_AggregateConfiguration_PercentDataGood = new NodeId(Variables.HAConfiguration_AggregateConfiguration_PercentDataGood);\n\n    /// <summary>\n    /// The identifier for the HAConfiguration_AggregateConfiguration_UseSlopedExtrapolation Variable.\n    /// </summary>\n    public static readonly NodeId HAConfiguration_AggregateConfiguration_UseSlopedExtrapolation = new NodeId(Variables.HAConfiguration_AggregateConfiguration_UseSlopedExtrapolation);\n\n    /// <summary>\n    /// The identifier for the HAConfiguration_Stepped Variable.\n    /// </summary>\n    public static readonly NodeId HAConfiguration_Stepped = new NodeId(Variables.HAConfiguration_Stepped);\n\n    /// <summary>\n    /// The identifier for the HistoricalEventFilter Variable.\n    /// </summary>\n    public static readonly NodeId HistoricalEventFilter = new NodeId(Variables.HistoricalEventFilter);\n\n    /// <summary>\n    /// The identifier for the HistoryServerCapabilitiesType_AccessHistoryDataCapability Variable.\n    /// </summary>\n    public static readonly NodeId HistoryServerCapabilitiesType_AccessHistoryDataCapability = new NodeId(Variables.HistoryServerCapabilitiesType_AccessHistoryDataCapability);\n\n    /// <summary>\n    /// The identifier for the HistoryServerCapabilitiesType_AccessHistoryEventsCapability Variable.\n    /// </summary>\n    public static readonly NodeId HistoryServerCapabilitiesType_AccessHistoryEventsCapability = new NodeId(Variables.HistoryServerCapabilitiesType_AccessHistoryEventsCapability);\n\n    /// <summary>\n    /// The identifier for the HistoryServerCapabilitiesType_MaxReturnDataValues Variable.\n    /// </summary>\n    public static readonly NodeId HistoryServerCapabilitiesType_MaxReturnDataValues = new NodeId(Variables.HistoryServerCapabilitiesType_MaxReturnDataValues);\n\n    /// <summary>\n    /// The identifier for the HistoryServerCapabilitiesType_MaxReturnEventValues Variable.\n    /// </summary>\n    public static readonly NodeId HistoryServerCapabilitiesType_MaxReturnEventValues = new NodeId(Variables.HistoryServerCapabilitiesType_MaxReturnEventValues);\n\n    /// <summary>\n    /// The identifier for the HistoryServerCapabilitiesType_InsertDataCapability Variable.\n    /// </summary>\n    public static readonly NodeId HistoryServerCapabilitiesType_InsertDataCapability = new NodeId(Variables.HistoryServerCapabilitiesType_InsertDataCapability);\n\n    /// <summary>\n    /// The identifier for the HistoryServerCapabilitiesType_ReplaceDataCapability Variable.\n    /// </summary>\n    public static readonly NodeId HistoryServerCapabilitiesType_ReplaceDataCapability = new NodeId(Variables.HistoryServerCapabilitiesType_ReplaceDataCapability);\n\n    /// <summary>\n    /// The identifier for the HistoryServerCapabilitiesType_UpdateDataCapability Variable.\n    /// </summary>\n    public static readonly NodeId HistoryServerCapabilitiesType_UpdateDataCapability = new NodeId(Variables.HistoryServerCapabilitiesType_UpdateDataCapability);\n\n    /// <summary>\n    /// The identifier for the HistoryServerCapabilitiesType_DeleteRawCapability Variable.\n    /// </summary>\n    public static readonly NodeId HistoryServerCapabilitiesType_DeleteRawCapability = new NodeId(Variables.HistoryServerCapabilitiesType_DeleteRawCapability);\n\n    /// <summary>\n    /// The identifier for the HistoryServerCapabilitiesType_DeleteAtTimeCapability Variable.\n    /// </summary>\n    public static readonly NodeId HistoryServerCapabilitiesType_DeleteAtTimeCapability = new NodeId(Variables.HistoryServerCapabilitiesType_DeleteAtTimeCapability);\n\n    /// <summary>\n    /// The identifier for the HistoryServerCapabilitiesType_InsertEventCapability Variable.\n    /// </summary>\n    public static readonly NodeId HistoryServerCapabilitiesType_InsertEventCapability = new NodeId(Variables.HistoryServerCapabilitiesType_InsertEventCapability);\n\n    /// <summary>\n    /// The identifier for the HistoryServerCapabilitiesType_ReplaceEventCapability Variable.\n    /// </summary>\n    public static readonly NodeId HistoryServerCapabilitiesType_ReplaceEventCapability = new NodeId(Variables.HistoryServerCapabilitiesType_ReplaceEventCapability);\n\n    /// <summary>\n    /// The identifier for the HistoryServerCapabilitiesType_UpdateEventCapability Variable.\n    /// </summary>\n    public static readonly NodeId HistoryServerCapabilitiesType_UpdateEventCapability = new NodeId(Variables.HistoryServerCapabilitiesType_UpdateEventCapability);\n\n    /// <summary>\n    /// The identifier for the HistoryServerCapabilitiesType_DeleteEventCapability Variable.\n    /// </summary>\n    public static readonly NodeId HistoryServerCapabilitiesType_DeleteEventCapability = new NodeId(Variables.HistoryServerCapabilitiesType_DeleteEventCapability);\n\n    /// <summary>\n    /// The identifier for the HistoryServerCapabilitiesType_InsertAnnotationCapability Variable.\n    /// </summary>\n    public static readonly NodeId HistoryServerCapabilitiesType_InsertAnnotationCapability = new NodeId(Variables.HistoryServerCapabilitiesType_InsertAnnotationCapability);\n\n    /// <summary>\n    /// The identifier for the AuditHistoryEventUpdateEventType_UpdatedNode Variable.\n    /// </summary>\n    public static readonly NodeId AuditHistoryEventUpdateEventType_UpdatedNode = new NodeId(Variables.AuditHistoryEventUpdateEventType_UpdatedNode);\n\n    /// <summary>\n    /// The identifier for the AuditHistoryEventUpdateEventType_PerformInsertReplace Variable.\n    /// </summary>\n    public static readonly NodeId AuditHistoryEventUpdateEventType_PerformInsertReplace = new NodeId(Variables.AuditHistoryEventUpdateEventType_PerformInsertReplace);\n\n    /// <summary>\n    /// The identifier for the AuditHistoryEventUpdateEventType_Filter Variable.\n    /// </summary>\n    public static readonly NodeId AuditHistoryEventUpdateEventType_Filter = new NodeId(Variables.AuditHistoryEventUpdateEventType_Filter);\n\n    /// <summary>\n    /// The identifier for the AuditHistoryEventUpdateEventType_NewValues Variable.\n    /// </summary>\n    public static readonly NodeId AuditHistoryEventUpdateEventType_NewValues = new NodeId(Variables.AuditHistoryEventUpdateEventType_NewValues);\n\n    /// <summary>\n    /// The identifier for the AuditHistoryEventUpdateEventType_OldValues Variable.\n    /// </summary>\n    public static readonly NodeId AuditHistoryEventUpdateEventType_OldValues = new NodeId(Variables.AuditHistoryEventUpdateEventType_OldValues);\n\n    /// <summary>\n    /// The identifier for the AuditHistoryValueUpdateEventType_UpdatedNode Variable.\n    /// </summary>\n    public static readonly NodeId AuditHistoryValueUpdateEventType_UpdatedNode = new NodeId(Variables.AuditHistoryValueUpdateEventType_UpdatedNode);\n\n    /// <summary>\n    /// The identifier for the AuditHistoryValueUpdateEventType_PerformInsertReplace Variable.\n    /// </summary>\n    public static readonly NodeId AuditHistoryValueUpdateEventType_PerformInsertReplace = new NodeId(Variables.AuditHistoryValueUpdateEventType_PerformInsertReplace);\n\n    /// <summary>\n    /// The identifier for the AuditHistoryValueUpdateEventType_NewValues Variable.\n    /// </summary>\n    public static readonly NodeId AuditHistoryValueUpdateEventType_NewValues = new NodeId(Variables.AuditHistoryValueUpdateEventType_NewValues);\n\n    /// <summary>\n    /// The identifier for the AuditHistoryValueUpdateEventType_OldValues Variable.\n    /// </summary>\n    public static readonly NodeId AuditHistoryValueUpdateEventType_OldValues = new NodeId(Variables.AuditHistoryValueUpdateEventType_OldValues);\n\n    /// <summary>\n    /// The identifier for the AuditHistoryDeleteEventType_UpdatedNode Variable.\n    /// </summary>\n    public static readonly NodeId AuditHistoryDeleteEventType_UpdatedNode = new NodeId(Variables.AuditHistoryDeleteEventType_UpdatedNode);\n\n    /// <summary>\n    /// The identifier for the AuditHistoryRawModifyDeleteEventType_IsDeleteModified Variable.\n    /// </summary>\n    public static readonly NodeId AuditHistoryRawModifyDeleteEventType_IsDeleteModified = new NodeId(Variables.AuditHistoryRawModifyDeleteEventType_IsDeleteModified);\n\n    /// <summary>\n    /// The identifier for the AuditHistoryRawModifyDeleteEventType_StartTime Variable.\n    /// </summary>\n    public static readonly NodeId AuditHistoryRawModifyDeleteEventType_StartTime = new NodeId(Variables.AuditHistoryRawModifyDeleteEventType_StartTime);\n\n    /// <summary>\n    /// The identifier for the AuditHistoryRawModifyDeleteEventType_EndTime Variable.\n    /// </summary>\n    public static readonly NodeId AuditHistoryRawModifyDeleteEventType_EndTime = new NodeId(Variables.AuditHistoryRawModifyDeleteEventType_EndTime);\n\n    /// <summary>\n    /// The identifier for the AuditHistoryRawModifyDeleteEventType_OldValues Variable.\n    /// </summary>\n    public static readonly NodeId AuditHistoryRawModifyDeleteEventType_OldValues = new NodeId(Variables.AuditHistoryRawModifyDeleteEventType_OldValues);\n\n    /// <summary>\n    /// The identifier for the AuditHistoryAtTimeDeleteEventType_ReqTimes Variable.\n    /// </summary>\n    public static readonly NodeId AuditHistoryAtTimeDeleteEventType_ReqTimes = new NodeId(Variables.AuditHistoryAtTimeDeleteEventType_ReqTimes);\n\n    /// <summary>\n    /// The identifier for the AuditHistoryAtTimeDeleteEventType_OldValues Variable.\n    /// </summary>\n    public static readonly NodeId AuditHistoryAtTimeDeleteEventType_OldValues = new NodeId(Variables.AuditHistoryAtTimeDeleteEventType_OldValues);\n\n    /// <summary>\n    /// The identifier for the AuditHistoryEventDeleteEventType_EventIds Variable.\n    /// </summary>\n    public static readonly NodeId AuditHistoryEventDeleteEventType_EventIds = new NodeId(Variables.AuditHistoryEventDeleteEventType_EventIds);\n\n    /// <summary>\n    /// The identifier for the AuditHistoryEventDeleteEventType_OldValues Variable.\n    /// </summary>\n    public static readonly NodeId AuditHistoryEventDeleteEventType_OldValues = new NodeId(Variables.AuditHistoryEventDeleteEventType_OldValues);\n\n    /// <summary>\n    /// The identifier for the AggregateConfigurationType_TreatUncertainAsBad Variable.\n    /// </summary>\n    public static readonly NodeId AggregateConfigurationType_TreatUncertainAsBad = new NodeId(Variables.AggregateConfigurationType_TreatUncertainAsBad);\n\n    /// <summary>\n    /// The identifier for the AggregateConfigurationType_PercentDataBad Variable.\n    /// </summary>\n    public static readonly NodeId AggregateConfigurationType_PercentDataBad = new NodeId(Variables.AggregateConfigurationType_PercentDataBad);\n\n    /// <summary>\n    /// The identifier for the AggregateConfigurationType_PercentDataGood Variable.\n    /// </summary>\n    public static readonly NodeId AggregateConfigurationType_PercentDataGood = new NodeId(Variables.AggregateConfigurationType_PercentDataGood);\n\n    /// <summary>\n    /// The identifier for the AggregateConfigurationType_UseSlopedExtrapolation Variable.\n    /// </summary>\n    public static readonly NodeId AggregateConfigurationType_UseSlopedExtrapolation = new NodeId(Variables.AggregateConfigurationType_UseSlopedExtrapolation);\n\n    /// <summary>\n    /// The identifier for the IdType_EnumStrings Variable.\n    /// </summary>\n    public static readonly NodeId IdType_EnumStrings = new NodeId(Variables.IdType_EnumStrings);\n\n    /// <summary>\n    /// The identifier for the NodeClass_EnumValues Variable.\n    /// </summary>\n    public static readonly NodeId NodeClass_EnumValues = new NodeId(Variables.NodeClass_EnumValues);\n\n    /// <summary>\n    /// The identifier for the ApplicationType_EnumStrings Variable.\n    /// </summary>\n    public static readonly NodeId ApplicationType_EnumStrings = new NodeId(Variables.ApplicationType_EnumStrings);\n\n    /// <summary>\n    /// The identifier for the MessageSecurityMode_EnumStrings Variable.\n    /// </summary>\n    public static readonly NodeId MessageSecurityMode_EnumStrings = new NodeId(Variables.MessageSecurityMode_EnumStrings);\n\n    /// <summary>\n    /// The identifier for the UserTokenType_EnumStrings Variable.\n    /// </summary>\n    public static readonly NodeId UserTokenType_EnumStrings = new NodeId(Variables.UserTokenType_EnumStrings);\n\n    /// <summary>\n    /// The identifier for the SecurityTokenRequestType_EnumStrings Variable.\n    /// </summary>\n    public static readonly NodeId SecurityTokenRequestType_EnumStrings = new NodeId(Variables.SecurityTokenRequestType_EnumStrings);\n\n    /// <summary>\n    /// The identifier for the NodeAttributesMask_EnumValues Variable.\n    /// </summary>\n    public static readonly NodeId NodeAttributesMask_EnumValues = new NodeId(Variables.NodeAttributesMask_EnumValues);\n\n    /// <summary>\n    /// The identifier for the AttributeWriteMask_EnumValues Variable.\n    /// </summary>\n    public static readonly NodeId AttributeWriteMask_EnumValues = new NodeId(Variables.AttributeWriteMask_EnumValues);\n\n    /// <summary>\n    /// The identifier for the BrowseDirection_EnumStrings Variable.\n    /// </summary>\n    public static readonly NodeId BrowseDirection_EnumStrings = new NodeId(Variables.BrowseDirection_EnumStrings);\n\n    /// <summary>\n    /// The identifier for the BrowseResultMask_EnumValues Variable.\n    /// </summary>\n    public static readonly NodeId BrowseResultMask_EnumValues = new NodeId(Variables.BrowseResultMask_EnumValues);\n\n    /// <summary>\n    /// The identifier for the ComplianceLevel_EnumStrings Variable.\n    /// </summary>\n    public static readonly NodeId ComplianceLevel_EnumStrings = new NodeId(Variables.ComplianceLevel_EnumStrings);\n\n    /// <summary>\n    /// The identifier for the FilterOperator_EnumStrings Variable.\n    /// </summary>\n    public static readonly NodeId FilterOperator_EnumStrings = new NodeId(Variables.FilterOperator_EnumStrings);\n\n    /// <summary>\n    /// The identifier for the TimestampsToReturn_EnumStrings Variable.\n    /// </summary>\n    public static readonly NodeId TimestampsToReturn_EnumStrings = new NodeId(Variables.TimestampsToReturn_EnumStrings);\n\n    /// <summary>\n    /// The identifier for the HistoryUpdateType_EnumValues Variable.\n    /// </summary>\n    public static readonly NodeId HistoryUpdateType_EnumValues = new NodeId(Variables.HistoryUpdateType_EnumValues);\n\n    /// <summary>\n    /// The identifier for the PerformUpdateType_EnumValues Variable.\n    /// </summary>\n    public static readonly NodeId PerformUpdateType_EnumValues = new NodeId(Variables.PerformUpdateType_EnumValues);\n\n    /// <summary>\n    /// The identifier for the MonitoringMode_EnumStrings Variable.\n    /// </summary>\n    public static readonly NodeId MonitoringMode_EnumStrings = new NodeId(Variables.MonitoringMode_EnumStrings);\n\n    /// <summary>\n    /// The identifier for the DataChangeTrigger_EnumStrings Variable.\n    /// </summary>\n    public static readonly NodeId DataChangeTrigger_EnumStrings = new NodeId(Variables.DataChangeTrigger_EnumStrings);\n\n    /// <summary>\n    /// The identifier for the DeadbandType_EnumStrings Variable.\n    /// </summary>\n    public static readonly NodeId DeadbandType_EnumStrings = new NodeId(Variables.DeadbandType_EnumStrings);\n\n    /// <summary>\n    /// The identifier for the EnumeratedTestType_EnumValues Variable.\n    /// </summary>\n    public static readonly NodeId EnumeratedTestType_EnumValues = new NodeId(Variables.EnumeratedTestType_EnumValues);\n\n    /// <summary>\n    /// The identifier for the RedundancySupport_EnumStrings Variable.\n    /// </summary>\n    public static readonly NodeId RedundancySupport_EnumStrings = new NodeId(Variables.RedundancySupport_EnumStrings);\n\n    /// <summary>\n    /// The identifier for the ServerState_EnumStrings Variable.\n    /// </summary>\n    public static readonly NodeId ServerState_EnumStrings = new NodeId(Variables.ServerState_EnumStrings);\n\n    /// <summary>\n    /// The identifier for the ModelChangeStructureVerbMask_EnumValues Variable.\n    /// </summary>\n    public static readonly NodeId ModelChangeStructureVerbMask_EnumValues = new NodeId(Variables.ModelChangeStructureVerbMask_EnumValues);\n\n    /// <summary>\n    /// The identifier for the AxisScaleEnumeration_EnumStrings Variable.\n    /// </summary>\n    public static readonly NodeId AxisScaleEnumeration_EnumStrings = new NodeId(Variables.AxisScaleEnumeration_EnumStrings);\n\n    /// <summary>\n    /// The identifier for the ExceptionDeviationFormat_EnumStrings Variable.\n    /// </summary>\n    public static readonly NodeId ExceptionDeviationFormat_EnumStrings = new NodeId(Variables.ExceptionDeviationFormat_EnumStrings);\n\n    /// <summary>\n    /// The identifier for the OpcUa_XmlSchema Variable.\n    /// </summary>\n    public static readonly NodeId OpcUa_XmlSchema = new NodeId(Variables.OpcUa_XmlSchema);\n\n    /// <summary>\n    /// The identifier for the OpcUa_XmlSchema_NamespaceUri Variable.\n    /// </summary>\n    public static readonly NodeId OpcUa_XmlSchema_NamespaceUri = new NodeId(Variables.OpcUa_XmlSchema_NamespaceUri);\n\n    /// <summary>\n    /// The identifier for the OpcUa_XmlSchema_Argument Variable.\n    /// </summary>\n    public static readonly NodeId OpcUa_XmlSchema_Argument = new NodeId(Variables.OpcUa_XmlSchema_Argument);\n\n    /// <summary>\n    /// The identifier for the OpcUa_XmlSchema_EnumValueType Variable.\n    /// </summary>\n    public static readonly NodeId OpcUa_XmlSchema_EnumValueType = new NodeId(Variables.OpcUa_XmlSchema_EnumValueType);\n\n    /// <summary>\n    /// The identifier for the OpcUa_XmlSchema_TimeZoneDataType Variable.\n    /// </summary>\n    public static readonly NodeId OpcUa_XmlSchema_TimeZoneDataType = new NodeId(Variables.OpcUa_XmlSchema_TimeZoneDataType);\n\n    /// <summary>\n    /// The identifier for the OpcUa_XmlSchema_ApplicationDescription Variable.\n    /// </summary>\n    public static readonly NodeId OpcUa_XmlSchema_ApplicationDescription = new NodeId(Variables.OpcUa_XmlSchema_ApplicationDescription);\n\n    /// <summary>\n    /// The identifier for the OpcUa_XmlSchema_DnsServiceRecord Variable.\n    /// </summary>\n    public static readonly NodeId OpcUa_XmlSchema_DnsServiceRecord = new NodeId(Variables.OpcUa_XmlSchema_DnsServiceRecord);\n\n    /// <summary>\n    /// The identifier for the OpcUa_XmlSchema_UserTokenPolicy Variable.\n    /// </summary>\n    public static readonly NodeId OpcUa_XmlSchema_UserTokenPolicy = new NodeId(Variables.OpcUa_XmlSchema_UserTokenPolicy);\n\n    /// <summary>\n    /// The identifier for the OpcUa_XmlSchema_EndpointDescription Variable.\n    /// </summary>\n    public static readonly NodeId OpcUa_XmlSchema_EndpointDescription = new NodeId(Variables.OpcUa_XmlSchema_EndpointDescription);\n\n    /// <summary>\n    /// The identifier for the OpcUa_XmlSchema_RegisteredServer Variable.\n    /// </summary>\n    public static readonly NodeId OpcUa_XmlSchema_RegisteredServer = new NodeId(Variables.OpcUa_XmlSchema_RegisteredServer);\n\n    /// <summary>\n    /// The identifier for the OpcUa_XmlSchema_SignedSoftwareCertificate Variable.\n    /// </summary>\n    public static readonly NodeId OpcUa_XmlSchema_SignedSoftwareCertificate = new NodeId(Variables.OpcUa_XmlSchema_SignedSoftwareCertificate);\n\n    /// <summary>\n    /// The identifier for the OpcUa_XmlSchema_UserIdentityToken Variable.\n    /// </summary>\n    public static readonly NodeId OpcUa_XmlSchema_UserIdentityToken = new NodeId(Variables.OpcUa_XmlSchema_UserIdentityToken);\n\n    /// <summary>\n    /// The identifier for the OpcUa_XmlSchema_AnonymousIdentityToken Variable.\n    /// </summary>\n    public static readonly NodeId OpcUa_XmlSchema_AnonymousIdentityToken = new NodeId(Variables.OpcUa_XmlSchema_AnonymousIdentityToken);\n\n    /// <summary>\n    /// The identifier for the OpcUa_XmlSchema_UserNameIdentityToken Variable.\n    /// </summary>\n    public static readonly NodeId OpcUa_XmlSchema_UserNameIdentityToken = new NodeId(Variables.OpcUa_XmlSchema_UserNameIdentityToken);\n\n    /// <summary>\n    /// The identifier for the OpcUa_XmlSchema_X509IdentityToken Variable.\n    /// </summary>\n    public static readonly NodeId OpcUa_XmlSchema_X509IdentityToken = new NodeId(Variables.OpcUa_XmlSchema_X509IdentityToken);\n\n    /// <summary>\n    /// The identifier for the OpcUa_XmlSchema_IssuedIdentityToken Variable.\n    /// </summary>\n    public static readonly NodeId OpcUa_XmlSchema_IssuedIdentityToken = new NodeId(Variables.OpcUa_XmlSchema_IssuedIdentityToken);\n\n    /// <summary>\n    /// The identifier for the OpcUa_XmlSchema_AddNodesItem Variable.\n    /// </summary>\n    public static readonly NodeId OpcUa_XmlSchema_AddNodesItem = new NodeId(Variables.OpcUa_XmlSchema_AddNodesItem);\n\n    /// <summary>\n    /// The identifier for the OpcUa_XmlSchema_AddReferencesItem Variable.\n    /// </summary>\n    public static readonly NodeId OpcUa_XmlSchema_AddReferencesItem = new NodeId(Variables.OpcUa_XmlSchema_AddReferencesItem);\n\n    /// <summary>\n    /// The identifier for the OpcUa_XmlSchema_DeleteNodesItem Variable.\n    /// </summary>\n    public static readonly NodeId OpcUa_XmlSchema_DeleteNodesItem = new NodeId(Variables.OpcUa_XmlSchema_DeleteNodesItem);\n\n    /// <summary>\n    /// The identifier for the OpcUa_XmlSchema_DeleteReferencesItem Variable.\n    /// </summary>\n    public static readonly NodeId OpcUa_XmlSchema_DeleteReferencesItem = new NodeId(Variables.OpcUa_XmlSchema_DeleteReferencesItem);\n\n    /// <summary>\n    /// The identifier for the OpcUa_XmlSchema_EndpointConfiguration Variable.\n    /// </summary>\n    public static readonly NodeId OpcUa_XmlSchema_EndpointConfiguration = new NodeId(Variables.OpcUa_XmlSchema_EndpointConfiguration);\n\n    /// <summary>\n    /// The identifier for the OpcUa_XmlSchema_SupportedProfile Variable.\n    /// </summary>\n    public static readonly NodeId OpcUa_XmlSchema_SupportedProfile = new NodeId(Variables.OpcUa_XmlSchema_SupportedProfile);\n\n    /// <summary>\n    /// The identifier for the OpcUa_XmlSchema_SoftwareCertificate Variable.\n    /// </summary>\n    public static readonly NodeId OpcUa_XmlSchema_SoftwareCertificate = new NodeId(Variables.OpcUa_XmlSchema_SoftwareCertificate);\n\n    /// <summary>\n    /// The identifier for the OpcUa_XmlSchema_ContentFilterElement Variable.\n    /// </summary>\n    public static readonly NodeId OpcUa_XmlSchema_ContentFilterElement = new NodeId(Variables.OpcUa_XmlSchema_ContentFilterElement);\n\n    /// <summary>\n    /// The identifier for the OpcUa_XmlSchema_ContentFilter Variable.\n    /// </summary>\n    public static readonly NodeId OpcUa_XmlSchema_ContentFilter = new NodeId(Variables.OpcUa_XmlSchema_ContentFilter);\n\n    /// <summary>\n    /// The identifier for the OpcUa_XmlSchema_FilterOperand Variable.\n    /// </summary>\n    public static readonly NodeId OpcUa_XmlSchema_FilterOperand = new NodeId(Variables.OpcUa_XmlSchema_FilterOperand);\n\n    /// <summary>\n    /// The identifier for the OpcUa_XmlSchema_ElementOperand Variable.\n    /// </summary>\n    public static readonly NodeId OpcUa_XmlSchema_ElementOperand = new NodeId(Variables.OpcUa_XmlSchema_ElementOperand);\n\n    /// <summary>\n    /// The identifier for the OpcUa_XmlSchema_LiteralOperand Variable.\n    /// </summary>\n    public static readonly NodeId OpcUa_XmlSchema_LiteralOperand = new NodeId(Variables.OpcUa_XmlSchema_LiteralOperand);\n\n    /// <summary>\n    /// The identifier for the OpcUa_XmlSchema_AttributeOperand Variable.\n    /// </summary>\n    public static readonly NodeId OpcUa_XmlSchema_AttributeOperand = new NodeId(Variables.OpcUa_XmlSchema_AttributeOperand);\n\n    /// <summary>\n    /// The identifier for the OpcUa_XmlSchema_SimpleAttributeOperand Variable.\n    /// </summary>\n    public static readonly NodeId OpcUa_XmlSchema_SimpleAttributeOperand = new NodeId(Variables.OpcUa_XmlSchema_SimpleAttributeOperand);\n\n    /// <summary>\n    /// The identifier for the OpcUa_XmlSchema_HistoryEvent Variable.\n    /// </summary>\n    public static readonly NodeId OpcUa_XmlSchema_HistoryEvent = new NodeId(Variables.OpcUa_XmlSchema_HistoryEvent);\n\n    /// <summary>\n    /// The identifier for the OpcUa_XmlSchema_MonitoringFilter Variable.\n    /// </summary>\n    public static readonly NodeId OpcUa_XmlSchema_MonitoringFilter = new NodeId(Variables.OpcUa_XmlSchema_MonitoringFilter);\n\n    /// <summary>\n    /// The identifier for the OpcUa_XmlSchema_EventFilter Variable.\n    /// </summary>\n    public static readonly NodeId OpcUa_XmlSchema_EventFilter = new NodeId(Variables.OpcUa_XmlSchema_EventFilter);\n\n    /// <summary>\n    /// The identifier for the OpcUa_XmlSchema_AggregateConfiguration Variable.\n    /// </summary>\n    public static readonly NodeId OpcUa_XmlSchema_AggregateConfiguration = new NodeId(Variables.OpcUa_XmlSchema_AggregateConfiguration);\n\n    /// <summary>\n    /// The identifier for the OpcUa_XmlSchema_HistoryEventFieldList Variable.\n    /// </summary>\n    public static readonly NodeId OpcUa_XmlSchema_HistoryEventFieldList = new NodeId(Variables.OpcUa_XmlSchema_HistoryEventFieldList);\n\n    /// <summary>\n    /// The identifier for the OpcUa_XmlSchema_ScalarTestType Variable.\n    /// </summary>\n    public static readonly NodeId OpcUa_XmlSchema_ScalarTestType = new NodeId(Variables.OpcUa_XmlSchema_ScalarTestType);\n\n    /// <summary>\n    /// The identifier for the OpcUa_XmlSchema_ArrayTestType Variable.\n    /// </summary>\n    public static readonly NodeId OpcUa_XmlSchema_ArrayTestType = new NodeId(Variables.OpcUa_XmlSchema_ArrayTestType);\n\n    /// <summary>\n    /// The identifier for the OpcUa_XmlSchema_CompositeTestType Variable.\n    /// </summary>\n    public static readonly NodeId OpcUa_XmlSchema_CompositeTestType = new NodeId(Variables.OpcUa_XmlSchema_CompositeTestType);\n\n    /// <summary>\n    /// The identifier for the OpcUa_XmlSchema_BuildInfo Variable.\n    /// </summary>\n    public static readonly NodeId OpcUa_XmlSchema_BuildInfo = new NodeId(Variables.OpcUa_XmlSchema_BuildInfo);\n\n    /// <summary>\n    /// The identifier for the OpcUa_XmlSchema_RedundantServerDataType Variable.\n    /// </summary>\n    public static readonly NodeId OpcUa_XmlSchema_RedundantServerDataType = new NodeId(Variables.OpcUa_XmlSchema_RedundantServerDataType);\n\n    /// <summary>\n    /// The identifier for the OpcUa_XmlSchema_EndpointUrlListDataType Variable.\n    /// </summary>\n    public static readonly NodeId OpcUa_XmlSchema_EndpointUrlListDataType = new NodeId(Variables.OpcUa_XmlSchema_EndpointUrlListDataType);\n\n    /// <summary>\n    /// The identifier for the OpcUa_XmlSchema_NetworkGroupDataType Variable.\n    /// </summary>\n    public static readonly NodeId OpcUa_XmlSchema_NetworkGroupDataType = new NodeId(Variables.OpcUa_XmlSchema_NetworkGroupDataType);\n\n    /// <summary>\n    /// The identifier for the OpcUa_XmlSchema_SamplingIntervalDiagnosticsDataType Variable.\n    /// </summary>\n    public static readonly NodeId OpcUa_XmlSchema_SamplingIntervalDiagnosticsDataType = new NodeId(Variables.OpcUa_XmlSchema_SamplingIntervalDiagnosticsDataType);\n\n    /// <summary>\n    /// The identifier for the OpcUa_XmlSchema_ServerDiagnosticsSummaryDataType Variable.\n    /// </summary>\n    public static readonly NodeId OpcUa_XmlSchema_ServerDiagnosticsSummaryDataType = new NodeId(Variables.OpcUa_XmlSchema_ServerDiagnosticsSummaryDataType);\n\n    /// <summary>\n    /// The identifier for the OpcUa_XmlSchema_ServerStatusDataType Variable.\n    /// </summary>\n    public static readonly NodeId OpcUa_XmlSchema_ServerStatusDataType = new NodeId(Variables.OpcUa_XmlSchema_ServerStatusDataType);\n\n    /// <summary>\n    /// The identifier for the OpcUa_XmlSchema_SessionDiagnosticsDataType Variable.\n    /// </summary>\n    public static readonly NodeId OpcUa_XmlSchema_SessionDiagnosticsDataType = new NodeId(Variables.OpcUa_XmlSchema_SessionDiagnosticsDataType);\n\n    /// <summary>\n    /// The identifier for the OpcUa_XmlSchema_SessionSecurityDiagnosticsDataType Variable.\n    /// </summary>\n    public static readonly NodeId OpcUa_XmlSchema_SessionSecurityDiagnosticsDataType = new NodeId(Variables.OpcUa_XmlSchema_SessionSecurityDiagnosticsDataType);\n\n    /// <summary>\n    /// The identifier for the OpcUa_XmlSchema_ServiceCounterDataType Variable.\n    /// </summary>\n    public static readonly NodeId OpcUa_XmlSchema_ServiceCounterDataType = new NodeId(Variables.OpcUa_XmlSchema_ServiceCounterDataType);\n\n    /// <summary>\n    /// The identifier for the OpcUa_XmlSchema_StatusResult Variable.\n    /// </summary>\n    public static readonly NodeId OpcUa_XmlSchema_StatusResult = new NodeId(Variables.OpcUa_XmlSchema_StatusResult);\n\n    /// <summary>\n    /// The identifier for the OpcUa_XmlSchema_SubscriptionDiagnosticsDataType Variable.\n    /// </summary>\n    public static readonly NodeId OpcUa_XmlSchema_SubscriptionDiagnosticsDataType = new NodeId(Variables.OpcUa_XmlSchema_SubscriptionDiagnosticsDataType);\n\n    /// <summary>\n    /// The identifier for the OpcUa_XmlSchema_ModelChangeStructureDataType Variable.\n    /// </summary>\n    public static readonly NodeId OpcUa_XmlSchema_ModelChangeStructureDataType = new NodeId(Variables.OpcUa_XmlSchema_ModelChangeStructureDataType);\n\n    /// <summary>\n    /// The identifier for the OpcUa_XmlSchema_SemanticChangeStructureDataType Variable.\n    /// </summary>\n    public static readonly NodeId OpcUa_XmlSchema_SemanticChangeStructureDataType = new NodeId(Variables.OpcUa_XmlSchema_SemanticChangeStructureDataType);\n\n    /// <summary>\n    /// The identifier for the OpcUa_XmlSchema_Range Variable.\n    /// </summary>\n    public static readonly NodeId OpcUa_XmlSchema_Range = new NodeId(Variables.OpcUa_XmlSchema_Range);\n\n    /// <summary>\n    /// The identifier for the OpcUa_XmlSchema_EUInformation Variable.\n    /// </summary>\n    public static readonly NodeId OpcUa_XmlSchema_EUInformation = new NodeId(Variables.OpcUa_XmlSchema_EUInformation);\n\n    /// <summary>\n    /// The identifier for the OpcUa_XmlSchema_ComplexNumberType Variable.\n    /// </summary>\n    public static readonly NodeId OpcUa_XmlSchema_ComplexNumberType = new NodeId(Variables.OpcUa_XmlSchema_ComplexNumberType);\n\n    /// <summary>\n    /// The identifier for the OpcUa_XmlSchema_DoubleComplexNumberType Variable.\n    /// </summary>\n    public static readonly NodeId OpcUa_XmlSchema_DoubleComplexNumberType = new NodeId(Variables.OpcUa_XmlSchema_DoubleComplexNumberType);\n\n    /// <summary>\n    /// The identifier for the OpcUa_XmlSchema_AxisInformation Variable.\n    /// </summary>\n    public static readonly NodeId OpcUa_XmlSchema_AxisInformation = new NodeId(Variables.OpcUa_XmlSchema_AxisInformation);\n\n    /// <summary>\n    /// The identifier for the OpcUa_XmlSchema_XVType Variable.\n    /// </summary>\n    public static readonly NodeId OpcUa_XmlSchema_XVType = new NodeId(Variables.OpcUa_XmlSchema_XVType);\n\n    /// <summary>\n    /// The identifier for the OpcUa_XmlSchema_ProgramDiagnosticDataType Variable.\n    /// </summary>\n    public static readonly NodeId OpcUa_XmlSchema_ProgramDiagnosticDataType = new NodeId(Variables.OpcUa_XmlSchema_ProgramDiagnosticDataType);\n\n    /// <summary>\n    /// The identifier for the OpcUa_XmlSchema_Annotation Variable.\n    /// </summary>\n    public static readonly NodeId OpcUa_XmlSchema_Annotation = new NodeId(Variables.OpcUa_XmlSchema_Annotation);\n\n    /// <summary>\n    /// The identifier for the OpcUa_BinarySchema Variable.\n    /// </summary>\n    public static readonly NodeId OpcUa_BinarySchema = new NodeId(Variables.OpcUa_BinarySchema);\n\n    /// <summary>\n    /// The identifier for the OpcUa_BinarySchema_NamespaceUri Variable.\n    /// </summary>\n    public static readonly NodeId OpcUa_BinarySchema_NamespaceUri = new NodeId(Variables.OpcUa_BinarySchema_NamespaceUri);\n\n    /// <summary>\n    /// The identifier for the OpcUa_BinarySchema_Argument Variable.\n    /// </summary>\n    public static readonly NodeId OpcUa_BinarySchema_Argument = new NodeId(Variables.OpcUa_BinarySchema_Argument);\n\n    /// <summary>\n    /// The identifier for the OpcUa_BinarySchema_EnumValueType Variable.\n    /// </summary>\n    public static readonly NodeId OpcUa_BinarySchema_EnumValueType = new NodeId(Variables.OpcUa_BinarySchema_EnumValueType);\n\n    /// <summary>\n    /// The identifier for the OpcUa_BinarySchema_TimeZoneDataType Variable.\n    /// </summary>\n    public static readonly NodeId OpcUa_BinarySchema_TimeZoneDataType = new NodeId(Variables.OpcUa_BinarySchema_TimeZoneDataType);\n\n    /// <summary>\n    /// The identifier for the OpcUa_BinarySchema_ApplicationDescription Variable.\n    /// </summary>\n    public static readonly NodeId OpcUa_BinarySchema_ApplicationDescription = new NodeId(Variables.OpcUa_BinarySchema_ApplicationDescription);\n\n    /// <summary>\n    /// The identifier for the OpcUa_BinarySchema_DnsServiceRecord Variable.\n    /// </summary>\n    public static readonly NodeId OpcUa_BinarySchema_DnsServiceRecord = new NodeId(Variables.OpcUa_BinarySchema_DnsServiceRecord);\n\n    /// <summary>\n    /// The identifier for the OpcUa_BinarySchema_UserTokenPolicy Variable.\n    /// </summary>\n    public static readonly NodeId OpcUa_BinarySchema_UserTokenPolicy = new NodeId(Variables.OpcUa_BinarySchema_UserTokenPolicy);\n\n    /// <summary>\n    /// The identifier for the OpcUa_BinarySchema_EndpointDescription Variable.\n    /// </summary>\n    public static readonly NodeId OpcUa_BinarySchema_EndpointDescription = new NodeId(Variables.OpcUa_BinarySchema_EndpointDescription);\n\n    /// <summary>\n    /// The identifier for the OpcUa_BinarySchema_RegisteredServer Variable.\n    /// </summary>\n    public static readonly NodeId OpcUa_BinarySchema_RegisteredServer = new NodeId(Variables.OpcUa_BinarySchema_RegisteredServer);\n\n    /// <summary>\n    /// The identifier for the OpcUa_BinarySchema_SignedSoftwareCertificate Variable.\n    /// </summary>\n    public static readonly NodeId OpcUa_BinarySchema_SignedSoftwareCertificate = new NodeId(Variables.OpcUa_BinarySchema_SignedSoftwareCertificate);\n\n    /// <summary>\n    /// The identifier for the OpcUa_BinarySchema_UserIdentityToken Variable.\n    /// </summary>\n    public static readonly NodeId OpcUa_BinarySchema_UserIdentityToken = new NodeId(Variables.OpcUa_BinarySchema_UserIdentityToken);\n\n    /// <summary>\n    /// The identifier for the OpcUa_BinarySchema_AnonymousIdentityToken Variable.\n    /// </summary>\n    public static readonly NodeId OpcUa_BinarySchema_AnonymousIdentityToken = new NodeId(Variables.OpcUa_BinarySchema_AnonymousIdentityToken);\n\n    /// <summary>\n    /// The identifier for the OpcUa_BinarySchema_UserNameIdentityToken Variable.\n    /// </summary>\n    public static readonly NodeId OpcUa_BinarySchema_UserNameIdentityToken = new NodeId(Variables.OpcUa_BinarySchema_UserNameIdentityToken);\n\n    /// <summary>\n    /// The identifier for the OpcUa_BinarySchema_X509IdentityToken Variable.\n    /// </summary>\n    public static readonly NodeId OpcUa_BinarySchema_X509IdentityToken = new NodeId(Variables.OpcUa_BinarySchema_X509IdentityToken);\n\n    /// <summary>\n    /// The identifier for the OpcUa_BinarySchema_IssuedIdentityToken Variable.\n    /// </summary>\n    public static readonly NodeId OpcUa_BinarySchema_IssuedIdentityToken = new NodeId(Variables.OpcUa_BinarySchema_IssuedIdentityToken);\n\n    /// <summary>\n    /// The identifier for the OpcUa_BinarySchema_AddNodesItem Variable.\n    /// </summary>\n    public static readonly NodeId OpcUa_BinarySchema_AddNodesItem = new NodeId(Variables.OpcUa_BinarySchema_AddNodesItem);\n\n    /// <summary>\n    /// The identifier for the OpcUa_BinarySchema_AddReferencesItem Variable.\n    /// </summary>\n    public static readonly NodeId OpcUa_BinarySchema_AddReferencesItem = new NodeId(Variables.OpcUa_BinarySchema_AddReferencesItem);\n\n    /// <summary>\n    /// The identifier for the OpcUa_BinarySchema_DeleteNodesItem Variable.\n    /// </summary>\n    public static readonly NodeId OpcUa_BinarySchema_DeleteNodesItem = new NodeId(Variables.OpcUa_BinarySchema_DeleteNodesItem);\n\n    /// <summary>\n    /// The identifier for the OpcUa_BinarySchema_DeleteReferencesItem Variable.\n    /// </summary>\n    public static readonly NodeId OpcUa_BinarySchema_DeleteReferencesItem = new NodeId(Variables.OpcUa_BinarySchema_DeleteReferencesItem);\n\n    /// <summary>\n    /// The identifier for the OpcUa_BinarySchema_EndpointConfiguration Variable.\n    /// </summary>\n    public static readonly NodeId OpcUa_BinarySchema_EndpointConfiguration = new NodeId(Variables.OpcUa_BinarySchema_EndpointConfiguration);\n\n    /// <summary>\n    /// The identifier for the OpcUa_BinarySchema_SupportedProfile Variable.\n    /// </summary>\n    public static readonly NodeId OpcUa_BinarySchema_SupportedProfile = new NodeId(Variables.OpcUa_BinarySchema_SupportedProfile);\n\n    /// <summary>\n    /// The identifier for the OpcUa_BinarySchema_SoftwareCertificate Variable.\n    /// </summary>\n    public static readonly NodeId OpcUa_BinarySchema_SoftwareCertificate = new NodeId(Variables.OpcUa_BinarySchema_SoftwareCertificate);\n\n    /// <summary>\n    /// The identifier for the OpcUa_BinarySchema_ContentFilterElement Variable.\n    /// </summary>\n    public static readonly NodeId OpcUa_BinarySchema_ContentFilterElement = new NodeId(Variables.OpcUa_BinarySchema_ContentFilterElement);\n\n    /// <summary>\n    /// The identifier for the OpcUa_BinarySchema_ContentFilter Variable.\n    /// </summary>\n    public static readonly NodeId OpcUa_BinarySchema_ContentFilter = new NodeId(Variables.OpcUa_BinarySchema_ContentFilter);\n\n    /// <summary>\n    /// The identifier for the OpcUa_BinarySchema_FilterOperand Variable.\n    /// </summary>\n    public static readonly NodeId OpcUa_BinarySchema_FilterOperand = new NodeId(Variables.OpcUa_BinarySchema_FilterOperand);\n\n    /// <summary>\n    /// The identifier for the OpcUa_BinarySchema_ElementOperand Variable.\n    /// </summary>\n    public static readonly NodeId OpcUa_BinarySchema_ElementOperand = new NodeId(Variables.OpcUa_BinarySchema_ElementOperand);\n\n    /// <summary>\n    /// The identifier for the OpcUa_BinarySchema_LiteralOperand Variable.\n    /// </summary>\n    public static readonly NodeId OpcUa_BinarySchema_LiteralOperand = new NodeId(Variables.OpcUa_BinarySchema_LiteralOperand);\n\n    /// <summary>\n    /// The identifier for the OpcUa_BinarySchema_AttributeOperand Variable.\n    /// </summary>\n    public static readonly NodeId OpcUa_BinarySchema_AttributeOperand = new NodeId(Variables.OpcUa_BinarySchema_AttributeOperand);\n\n    /// <summary>\n    /// The identifier for the OpcUa_BinarySchema_SimpleAttributeOperand Variable.\n    /// </summary>\n    public static readonly NodeId OpcUa_BinarySchema_SimpleAttributeOperand = new NodeId(Variables.OpcUa_BinarySchema_SimpleAttributeOperand);\n\n    /// <summary>\n    /// The identifier for the OpcUa_BinarySchema_HistoryEvent Variable.\n    /// </summary>\n    public static readonly NodeId OpcUa_BinarySchema_HistoryEvent = new NodeId(Variables.OpcUa_BinarySchema_HistoryEvent);\n\n    /// <summary>\n    /// The identifier for the OpcUa_BinarySchema_MonitoringFilter Variable.\n    /// </summary>\n    public static readonly NodeId OpcUa_BinarySchema_MonitoringFilter = new NodeId(Variables.OpcUa_BinarySchema_MonitoringFilter);\n\n    /// <summary>\n    /// The identifier for the OpcUa_BinarySchema_EventFilter Variable.\n    /// </summary>\n    public static readonly NodeId OpcUa_BinarySchema_EventFilter = new NodeId(Variables.OpcUa_BinarySchema_EventFilter);\n\n    /// <summary>\n    /// The identifier for the OpcUa_BinarySchema_AggregateConfiguration Variable.\n    /// </summary>\n    public static readonly NodeId OpcUa_BinarySchema_AggregateConfiguration = new NodeId(Variables.OpcUa_BinarySchema_AggregateConfiguration);\n\n    /// <summary>\n    /// The identifier for the OpcUa_BinarySchema_HistoryEventFieldList Variable.\n    /// </summary>\n    public static readonly NodeId OpcUa_BinarySchema_HistoryEventFieldList = new NodeId(Variables.OpcUa_BinarySchema_HistoryEventFieldList);\n\n    /// <summary>\n    /// The identifier for the OpcUa_BinarySchema_ScalarTestType Variable.\n    /// </summary>\n    public static readonly NodeId OpcUa_BinarySchema_ScalarTestType = new NodeId(Variables.OpcUa_BinarySchema_ScalarTestType);\n\n    /// <summary>\n    /// The identifier for the OpcUa_BinarySchema_ArrayTestType Variable.\n    /// </summary>\n    public static readonly NodeId OpcUa_BinarySchema_ArrayTestType = new NodeId(Variables.OpcUa_BinarySchema_ArrayTestType);\n\n    /// <summary>\n    /// The identifier for the OpcUa_BinarySchema_CompositeTestType Variable.\n    /// </summary>\n    public static readonly NodeId OpcUa_BinarySchema_CompositeTestType = new NodeId(Variables.OpcUa_BinarySchema_CompositeTestType);\n\n    /// <summary>\n    /// The identifier for the OpcUa_BinarySchema_BuildInfo Variable.\n    /// </summary>\n    public static readonly NodeId OpcUa_BinarySchema_BuildInfo = new NodeId(Variables.OpcUa_BinarySchema_BuildInfo);\n\n    /// <summary>\n    /// The identifier for the OpcUa_BinarySchema_RedundantServerDataType Variable.\n    /// </summary>\n    public static readonly NodeId OpcUa_BinarySchema_RedundantServerDataType = new NodeId(Variables.OpcUa_BinarySchema_RedundantServerDataType);\n\n    /// <summary>\n    /// The identifier for the OpcUa_BinarySchema_EndpointUrlListDataType Variable.\n    /// </summary>\n    public static readonly NodeId OpcUa_BinarySchema_EndpointUrlListDataType = new NodeId(Variables.OpcUa_BinarySchema_EndpointUrlListDataType);\n\n    /// <summary>\n    /// The identifier for the OpcUa_BinarySchema_NetworkGroupDataType Variable.\n    /// </summary>\n    public static readonly NodeId OpcUa_BinarySchema_NetworkGroupDataType = new NodeId(Variables.OpcUa_BinarySchema_NetworkGroupDataType);\n\n    /// <summary>\n    /// The identifier for the OpcUa_BinarySchema_SamplingIntervalDiagnosticsDataType Variable.\n    /// </summary>\n    public static readonly NodeId OpcUa_BinarySchema_SamplingIntervalDiagnosticsDataType = new NodeId(Variables.OpcUa_BinarySchema_SamplingIntervalDiagnosticsDataType);\n\n    /// <summary>\n    /// The identifier for the OpcUa_BinarySchema_ServerDiagnosticsSummaryDataType Variable.\n    /// </summary>\n    public static readonly NodeId OpcUa_BinarySchema_ServerDiagnosticsSummaryDataType = new NodeId(Variables.OpcUa_BinarySchema_ServerDiagnosticsSummaryDataType);\n\n    /// <summary>\n    /// The identifier for the OpcUa_BinarySchema_ServerStatusDataType Variable.\n    /// </summary>\n    public static readonly NodeId OpcUa_BinarySchema_ServerStatusDataType = new NodeId(Variables.OpcUa_BinarySchema_ServerStatusDataType);\n\n    /// <summary>\n    /// The identifier for the OpcUa_BinarySchema_SessionDiagnosticsDataType Variable.\n    /// </summary>\n    public static readonly NodeId OpcUa_BinarySchema_SessionDiagnosticsDataType = new NodeId(Variables.OpcUa_BinarySchema_SessionDiagnosticsDataType);\n\n    /// <summary>\n    /// The identifier for the OpcUa_BinarySchema_SessionSecurityDiagnosticsDataType Variable.\n    /// </summary>\n    public static readonly NodeId OpcUa_BinarySchema_SessionSecurityDiagnosticsDataType = new NodeId(Variables.OpcUa_BinarySchema_SessionSecurityDiagnosticsDataType);\n\n    /// <summary>\n    /// The identifier for the OpcUa_BinarySchema_ServiceCounterDataType Variable.\n    /// </summary>\n    public static readonly NodeId OpcUa_BinarySchema_ServiceCounterDataType = new NodeId(Variables.OpcUa_BinarySchema_ServiceCounterDataType);\n\n    /// <summary>\n    /// The identifier for the OpcUa_BinarySchema_StatusResult Variable.\n    /// </summary>\n    public static readonly NodeId OpcUa_BinarySchema_StatusResult = new NodeId(Variables.OpcUa_BinarySchema_StatusResult);\n\n    /// <summary>\n    /// The identifier for the OpcUa_BinarySchema_SubscriptionDiagnosticsDataType Variable.\n    /// </summary>\n    public static readonly NodeId OpcUa_BinarySchema_SubscriptionDiagnosticsDataType = new NodeId(Variables.OpcUa_BinarySchema_SubscriptionDiagnosticsDataType);\n\n    /// <summary>\n    /// The identifier for the OpcUa_BinarySchema_ModelChangeStructureDataType Variable.\n    /// </summary>\n    public static readonly NodeId OpcUa_BinarySchema_ModelChangeStructureDataType = new NodeId(Variables.OpcUa_BinarySchema_ModelChangeStructureDataType);\n\n    /// <summary>\n    /// The identifier for the OpcUa_BinarySchema_SemanticChangeStructureDataType Variable.\n    /// </summary>\n    public static readonly NodeId OpcUa_BinarySchema_SemanticChangeStructureDataType = new NodeId(Variables.OpcUa_BinarySchema_SemanticChangeStructureDataType);\n\n    /// <summary>\n    /// The identifier for the OpcUa_BinarySchema_Range Variable.\n    /// </summary>\n    public static readonly NodeId OpcUa_BinarySchema_Range = new NodeId(Variables.OpcUa_BinarySchema_Range);\n\n    /// <summary>\n    /// The identifier for the OpcUa_BinarySchema_EUInformation Variable.\n    /// </summary>\n    public static readonly NodeId OpcUa_BinarySchema_EUInformation = new NodeId(Variables.OpcUa_BinarySchema_EUInformation);\n\n    /// <summary>\n    /// The identifier for the OpcUa_BinarySchema_ComplexNumberType Variable.\n    /// </summary>\n    public static readonly NodeId OpcUa_BinarySchema_ComplexNumberType = new NodeId(Variables.OpcUa_BinarySchema_ComplexNumberType);\n\n    /// <summary>\n    /// The identifier for the OpcUa_BinarySchema_DoubleComplexNumberType Variable.\n    /// </summary>\n    public static readonly NodeId OpcUa_BinarySchema_DoubleComplexNumberType = new NodeId(Variables.OpcUa_BinarySchema_DoubleComplexNumberType);\n\n    /// <summary>\n    /// The identifier for the OpcUa_BinarySchema_AxisInformation Variable.\n    /// </summary>\n    public static readonly NodeId OpcUa_BinarySchema_AxisInformation = new NodeId(Variables.OpcUa_BinarySchema_AxisInformation);\n\n    /// <summary>\n    /// The identifier for the OpcUa_BinarySchema_XVType Variable.\n    /// </summary>\n    public static readonly NodeId OpcUa_BinarySchema_XVType = new NodeId(Variables.OpcUa_BinarySchema_XVType);\n\n    /// <summary>\n    /// The identifier for the OpcUa_BinarySchema_ProgramDiagnosticDataType Variable.\n    /// </summary>\n    public static readonly NodeId OpcUa_BinarySchema_ProgramDiagnosticDataType = new NodeId(Variables.OpcUa_BinarySchema_ProgramDiagnosticDataType);\n\n    /// <summary>\n    /// The identifier for the OpcUa_BinarySchema_Annotation Variable.\n    /// </summary>\n    public static readonly NodeId OpcUa_BinarySchema_Annotation = new NodeId(Variables.OpcUa_BinarySchema_Annotation);\n  }\n  #endregion\n\n  #region VariableType Node Identifiers\n  /// <summary>\n  /// A class that declares constants for all VariableTypes in the Model Design.\n  /// </summary>\n  /// <exclude />\n  [System.CodeDom.Compiler.GeneratedCodeAttribute(\"Opc.Ua.ModelCompiler\", \"1.0.0.0\")]\n  public static partial class VariableTypeIds\n  {\n    /// <summary>\n    /// The identifier for the BaseVariableType VariableType.\n    /// </summary>\n    public static readonly NodeId BaseVariableType = new NodeId(VariableTypes.BaseVariableType);\n\n    /// <summary>\n    /// The identifier for the BaseDataVariableType VariableType.\n    /// </summary>\n    public static readonly NodeId BaseDataVariableType = new NodeId(VariableTypes.BaseDataVariableType);\n\n    /// <summary>\n    /// The identifier for the PropertyType VariableType.\n    /// </summary>\n    public static readonly NodeId PropertyType = new NodeId(VariableTypes.PropertyType);\n\n    /// <summary>\n    /// The identifier for the DataTypeDescriptionType VariableType.\n    /// </summary>\n    public static readonly NodeId DataTypeDescriptionType = new NodeId(VariableTypes.DataTypeDescriptionType);\n\n    /// <summary>\n    /// The identifier for the DataTypeDictionaryType VariableType.\n    /// </summary>\n    public static readonly NodeId DataTypeDictionaryType = new NodeId(VariableTypes.DataTypeDictionaryType);\n\n    /// <summary>\n    /// The identifier for the ServerVendorCapabilityType VariableType.\n    /// </summary>\n    public static readonly NodeId ServerVendorCapabilityType = new NodeId(VariableTypes.ServerVendorCapabilityType);\n\n    /// <summary>\n    /// The identifier for the ServerStatusType VariableType.\n    /// </summary>\n    public static readonly NodeId ServerStatusType = new NodeId(VariableTypes.ServerStatusType);\n\n    /// <summary>\n    /// The identifier for the BuildInfoType VariableType.\n    /// </summary>\n    public static readonly NodeId BuildInfoType = new NodeId(VariableTypes.BuildInfoType);\n\n    /// <summary>\n    /// The identifier for the ServerDiagnosticsSummaryType VariableType.\n    /// </summary>\n    public static readonly NodeId ServerDiagnosticsSummaryType = new NodeId(VariableTypes.ServerDiagnosticsSummaryType);\n\n    /// <summary>\n    /// The identifier for the SamplingIntervalDiagnosticsArrayType VariableType.\n    /// </summary>\n    public static readonly NodeId SamplingIntervalDiagnosticsArrayType = new NodeId(VariableTypes.SamplingIntervalDiagnosticsArrayType);\n\n    /// <summary>\n    /// The identifier for the SamplingIntervalDiagnosticsType VariableType.\n    /// </summary>\n    public static readonly NodeId SamplingIntervalDiagnosticsType = new NodeId(VariableTypes.SamplingIntervalDiagnosticsType);\n\n    /// <summary>\n    /// The identifier for the SubscriptionDiagnosticsArrayType VariableType.\n    /// </summary>\n    public static readonly NodeId SubscriptionDiagnosticsArrayType = new NodeId(VariableTypes.SubscriptionDiagnosticsArrayType);\n\n    /// <summary>\n    /// The identifier for the SubscriptionDiagnosticsType VariableType.\n    /// </summary>\n    public static readonly NodeId SubscriptionDiagnosticsType = new NodeId(VariableTypes.SubscriptionDiagnosticsType);\n\n    /// <summary>\n    /// The identifier for the SessionDiagnosticsArrayType VariableType.\n    /// </summary>\n    public static readonly NodeId SessionDiagnosticsArrayType = new NodeId(VariableTypes.SessionDiagnosticsArrayType);\n\n    /// <summary>\n    /// The identifier for the SessionDiagnosticsVariableType VariableType.\n    /// </summary>\n    public static readonly NodeId SessionDiagnosticsVariableType = new NodeId(VariableTypes.SessionDiagnosticsVariableType);\n\n    /// <summary>\n    /// The identifier for the SessionSecurityDiagnosticsArrayType VariableType.\n    /// </summary>\n    public static readonly NodeId SessionSecurityDiagnosticsArrayType = new NodeId(VariableTypes.SessionSecurityDiagnosticsArrayType);\n\n    /// <summary>\n    /// The identifier for the SessionSecurityDiagnosticsType VariableType.\n    /// </summary>\n    public static readonly NodeId SessionSecurityDiagnosticsType = new NodeId(VariableTypes.SessionSecurityDiagnosticsType);\n\n    /// <summary>\n    /// The identifier for the OptionSetType VariableType.\n    /// </summary>\n    public static readonly NodeId OptionSetType = new NodeId(VariableTypes.OptionSetType);\n\n    /// <summary>\n    /// The identifier for the StateVariableType VariableType.\n    /// </summary>\n    public static readonly NodeId StateVariableType = new NodeId(VariableTypes.StateVariableType);\n\n    /// <summary>\n    /// The identifier for the TransitionVariableType VariableType.\n    /// </summary>\n    public static readonly NodeId TransitionVariableType = new NodeId(VariableTypes.TransitionVariableType);\n\n    /// <summary>\n    /// The identifier for the FiniteStateVariableType VariableType.\n    /// </summary>\n    public static readonly NodeId FiniteStateVariableType = new NodeId(VariableTypes.FiniteStateVariableType);\n\n    /// <summary>\n    /// The identifier for the FiniteTransitionVariableType VariableType.\n    /// </summary>\n    public static readonly NodeId FiniteTransitionVariableType = new NodeId(VariableTypes.FiniteTransitionVariableType);\n\n    /// <summary>\n    /// The identifier for the DataItemType VariableType.\n    /// </summary>\n    public static readonly NodeId DataItemType = new NodeId(VariableTypes.DataItemType);\n\n    /// <summary>\n    /// The identifier for the AnalogItemType VariableType.\n    /// </summary>\n    public static readonly NodeId AnalogItemType = new NodeId(VariableTypes.AnalogItemType);\n\n    /// <summary>\n    /// The identifier for the DiscreteItemType VariableType.\n    /// </summary>\n    public static readonly NodeId DiscreteItemType = new NodeId(VariableTypes.DiscreteItemType);\n\n    /// <summary>\n    /// The identifier for the TwoStateDiscreteType VariableType.\n    /// </summary>\n    public static readonly NodeId TwoStateDiscreteType = new NodeId(VariableTypes.TwoStateDiscreteType);\n\n    /// <summary>\n    /// The identifier for the MultiStateDiscreteType VariableType.\n    /// </summary>\n    public static readonly NodeId MultiStateDiscreteType = new NodeId(VariableTypes.MultiStateDiscreteType);\n\n    /// <summary>\n    /// The identifier for the MultiStateValueDiscreteType VariableType.\n    /// </summary>\n    public static readonly NodeId MultiStateValueDiscreteType = new NodeId(VariableTypes.MultiStateValueDiscreteType);\n\n    /// <summary>\n    /// The identifier for the ArrayItemType VariableType.\n    /// </summary>\n    public static readonly NodeId ArrayItemType = new NodeId(VariableTypes.ArrayItemType);\n\n    /// <summary>\n    /// The identifier for the YArrayItemType VariableType.\n    /// </summary>\n    public static readonly NodeId YArrayItemType = new NodeId(VariableTypes.YArrayItemType);\n\n    /// <summary>\n    /// The identifier for the XYArrayItemType VariableType.\n    /// </summary>\n    public static readonly NodeId XYArrayItemType = new NodeId(VariableTypes.XYArrayItemType);\n\n    /// <summary>\n    /// The identifier for the ImageItemType VariableType.\n    /// </summary>\n    public static readonly NodeId ImageItemType = new NodeId(VariableTypes.ImageItemType);\n\n    /// <summary>\n    /// The identifier for the CubeItemType VariableType.\n    /// </summary>\n    public static readonly NodeId CubeItemType = new NodeId(VariableTypes.CubeItemType);\n\n    /// <summary>\n    /// The identifier for the NDimensionArrayItemType VariableType.\n    /// </summary>\n    public static readonly NodeId NDimensionArrayItemType = new NodeId(VariableTypes.NDimensionArrayItemType);\n\n    /// <summary>\n    /// The identifier for the TwoStateVariableType VariableType.\n    /// </summary>\n    public static readonly NodeId TwoStateVariableType = new NodeId(VariableTypes.TwoStateVariableType);\n\n    /// <summary>\n    /// The identifier for the ConditionVariableType VariableType.\n    /// </summary>\n    public static readonly NodeId ConditionVariableType = new NodeId(VariableTypes.ConditionVariableType);\n\n    /// <summary>\n    /// The identifier for the ProgramDiagnosticType VariableType.\n    /// </summary>\n    public static readonly NodeId ProgramDiagnosticType = new NodeId(VariableTypes.ProgramDiagnosticType);\n  }\n  #endregion\n\n  #region BrowseName Declarations\n  /// <summary>\n  /// Declares all of the BrowseNames used in the Model Design.\n  /// </summary>\n  public static partial class BrowseNames\n  {\n    /// <summary>\n    /// The BrowseName for the AccessHistoryDataCapability component.\n    /// </summary>\n    public const string AccessHistoryDataCapability = \"AccessHistoryDataCapability\";\n\n    /// <summary>\n    /// The BrowseName for the AccessHistoryEventsCapability component.\n    /// </summary>\n    public const string AccessHistoryEventsCapability = \"AccessHistoryEventsCapability\";\n\n    /// <summary>\n    /// The BrowseName for the AckedState component.\n    /// </summary>\n    public const string AckedState = \"AckedState\";\n\n    /// <summary>\n    /// The BrowseName for the Acknowledge component.\n    /// </summary>\n    public const string Acknowledge = \"Acknowledge\";\n\n    /// <summary>\n    /// The BrowseName for the AcknowledgeableConditionType component.\n    /// </summary>\n    public const string AcknowledgeableConditionType = \"AcknowledgeableConditionType\";\n\n    /// <summary>\n    /// The BrowseName for the ActionTimeStamp component.\n    /// </summary>\n    public const string ActionTimeStamp = \"ActionTimeStamp\";\n\n    /// <summary>\n    /// The BrowseName for the ActivateSessionRequest component.\n    /// </summary>\n    public const string ActivateSessionRequest = \"ActivateSessionRequest\";\n\n    /// <summary>\n    /// The BrowseName for the ActivateSessionResponse component.\n    /// </summary>\n    public const string ActivateSessionResponse = \"ActivateSessionResponse\";\n\n    /// <summary>\n    /// The BrowseName for the ActiveState component.\n    /// </summary>\n    public const string ActiveState = \"ActiveState\";\n\n    /// <summary>\n    /// The BrowseName for the ActualSessionTimeout component.\n    /// </summary>\n    public const string ActualSessionTimeout = \"ActualSessionTimeout\";\n\n    /// <summary>\n    /// The BrowseName for the AddComment component.\n    /// </summary>\n    public const string AddComment = \"AddComment\";\n\n    /// <summary>\n    /// The BrowseName for the AddCommentMethodType component.\n    /// </summary>\n    public const string AddCommentMethodType = \"AddCommentMethodType\";\n\n    /// <summary>\n    /// The BrowseName for the AddNodesCount component.\n    /// </summary>\n    public const string AddNodesCount = \"AddNodesCount\";\n\n    /// <summary>\n    /// The BrowseName for the AddNodesItem component.\n    /// </summary>\n    public const string AddNodesItem = \"AddNodesItem\";\n\n    /// <summary>\n    /// The BrowseName for the AddNodesRequest component.\n    /// </summary>\n    public const string AddNodesRequest = \"AddNodesRequest\";\n\n    /// <summary>\n    /// The BrowseName for the AddNodesResponse component.\n    /// </summary>\n    public const string AddNodesResponse = \"AddNodesResponse\";\n\n    /// <summary>\n    /// The BrowseName for the AddNodesResult component.\n    /// </summary>\n    public const string AddNodesResult = \"AddNodesResult\";\n\n    /// <summary>\n    /// The BrowseName for the AddReferencesCount component.\n    /// </summary>\n    public const string AddReferencesCount = \"AddReferencesCount\";\n\n    /// <summary>\n    /// The BrowseName for the AddReferencesItem component.\n    /// </summary>\n    public const string AddReferencesItem = \"AddReferencesItem\";\n\n    /// <summary>\n    /// The BrowseName for the AddReferencesRequest component.\n    /// </summary>\n    public const string AddReferencesRequest = \"AddReferencesRequest\";\n\n    /// <summary>\n    /// The BrowseName for the AddReferencesResponse component.\n    /// </summary>\n    public const string AddReferencesResponse = \"AddReferencesResponse\";\n\n    /// <summary>\n    /// The BrowseName for the AddressSpaceFile component.\n    /// </summary>\n    public const string AddressSpaceFile = \"AddressSpaceFile\";\n\n    /// <summary>\n    /// The BrowseName for the AddressSpaceFileType component.\n    /// </summary>\n    public const string AddressSpaceFileType = \"AddressSpaceFileType\";\n\n    /// <summary>\n    /// The BrowseName for the AggregateConfiguration component.\n    /// </summary>\n    public const string AggregateConfiguration = \"AggregateConfiguration\";\n\n    /// <summary>\n    /// The BrowseName for the AggregateConfigurationType component.\n    /// </summary>\n    public const string AggregateConfigurationType = \"AggregateConfigurationType\";\n\n    /// <summary>\n    /// The BrowseName for the AggregateFilter component.\n    /// </summary>\n    public const string AggregateFilter = \"AggregateFilter\";\n\n    /// <summary>\n    /// The BrowseName for the AggregateFilterResult component.\n    /// </summary>\n    public const string AggregateFilterResult = \"AggregateFilterResult\";\n\n    /// <summary>\n    /// The BrowseName for the AggregateFunction_AnnotationCount component.\n    /// </summary>\n    public const string AggregateFunction_AnnotationCount = \"AnnotationCount\";\n\n    /// <summary>\n    /// The BrowseName for the AggregateFunction_Average component.\n    /// </summary>\n    public const string AggregateFunction_Average = \"Average\";\n\n    /// <summary>\n    /// The BrowseName for the AggregateFunction_Count component.\n    /// </summary>\n    public const string AggregateFunction_Count = \"Count\";\n\n    /// <summary>\n    /// The BrowseName for the AggregateFunction_Delta component.\n    /// </summary>\n    public const string AggregateFunction_Delta = \"Delta\";\n\n    /// <summary>\n    /// The BrowseName for the AggregateFunction_DeltaBounds component.\n    /// </summary>\n    public const string AggregateFunction_DeltaBounds = \"DeltaBounds\";\n\n    /// <summary>\n    /// The BrowseName for the AggregateFunction_DurationBad component.\n    /// </summary>\n    public const string AggregateFunction_DurationBad = \"DurationBad\";\n\n    /// <summary>\n    /// The BrowseName for the AggregateFunction_DurationGood component.\n    /// </summary>\n    public const string AggregateFunction_DurationGood = \"DurationGood\";\n\n    /// <summary>\n    /// The BrowseName for the AggregateFunction_DurationInStateNonZero component.\n    /// </summary>\n    public const string AggregateFunction_DurationInStateNonZero = \"DurationInStateNonZero\";\n\n    /// <summary>\n    /// The BrowseName for the AggregateFunction_DurationInStateZero component.\n    /// </summary>\n    public const string AggregateFunction_DurationInStateZero = \"DurationInStateZero\";\n\n    /// <summary>\n    /// The BrowseName for the AggregateFunction_End component.\n    /// </summary>\n    public const string AggregateFunction_End = \"End\";\n\n    /// <summary>\n    /// The BrowseName for the AggregateFunction_EndBound component.\n    /// </summary>\n    public const string AggregateFunction_EndBound = \"EndBound\";\n\n    /// <summary>\n    /// The BrowseName for the AggregateFunction_Interpolative component.\n    /// </summary>\n    public const string AggregateFunction_Interpolative = \"Interpolative\";\n\n    /// <summary>\n    /// The BrowseName for the AggregateFunction_Maximum component.\n    /// </summary>\n    public const string AggregateFunction_Maximum = \"Maximum\";\n\n    /// <summary>\n    /// The BrowseName for the AggregateFunction_Maximum2 component.\n    /// </summary>\n    public const string AggregateFunction_Maximum2 = \"Maximum2\";\n\n    /// <summary>\n    /// The BrowseName for the AggregateFunction_MaximumActualTime component.\n    /// </summary>\n    public const string AggregateFunction_MaximumActualTime = \"MaximumActualTime\";\n\n    /// <summary>\n    /// The BrowseName for the AggregateFunction_MaximumActualTime2 component.\n    /// </summary>\n    public const string AggregateFunction_MaximumActualTime2 = \"MaximumActualTime2\";\n\n    /// <summary>\n    /// The BrowseName for the AggregateFunction_Minimum component.\n    /// </summary>\n    public const string AggregateFunction_Minimum = \"Minimum\";\n\n    /// <summary>\n    /// The BrowseName for the AggregateFunction_Minimum2 component.\n    /// </summary>\n    public const string AggregateFunction_Minimum2 = \"Minimum2\";\n\n    /// <summary>\n    /// The BrowseName for the AggregateFunction_MinimumActualTime component.\n    /// </summary>\n    public const string AggregateFunction_MinimumActualTime = \"MinimumActualTime\";\n\n    /// <summary>\n    /// The BrowseName for the AggregateFunction_MinimumActualTime2 component.\n    /// </summary>\n    public const string AggregateFunction_MinimumActualTime2 = \"MinimumActualTime2\";\n\n    /// <summary>\n    /// The BrowseName for the AggregateFunction_NumberOfTransitions component.\n    /// </summary>\n    public const string AggregateFunction_NumberOfTransitions = \"NumberOfTransitions\";\n\n    /// <summary>\n    /// The BrowseName for the AggregateFunction_PercentBad component.\n    /// </summary>\n    public const string AggregateFunction_PercentBad = \"PercentBad\";\n\n    /// <summary>\n    /// The BrowseName for the AggregateFunction_PercentGood component.\n    /// </summary>\n    public const string AggregateFunction_PercentGood = \"PercentGood\";\n\n    /// <summary>\n    /// The BrowseName for the AggregateFunction_Range component.\n    /// </summary>\n    public const string AggregateFunction_Range = \"Range\";\n\n    /// <summary>\n    /// The BrowseName for the AggregateFunction_Range2 component.\n    /// </summary>\n    public const string AggregateFunction_Range2 = \"Range2\";\n\n    /// <summary>\n    /// The BrowseName for the AggregateFunction_StandardDeviationPopulation component.\n    /// </summary>\n    public const string AggregateFunction_StandardDeviationPopulation = \"StandardDeviationPopulation\";\n\n    /// <summary>\n    /// The BrowseName for the AggregateFunction_StandardDeviationSample component.\n    /// </summary>\n    public const string AggregateFunction_StandardDeviationSample = \"StandardDeviationSample\";\n\n    /// <summary>\n    /// The BrowseName for the AggregateFunction_Start component.\n    /// </summary>\n    public const string AggregateFunction_Start = \"Start\";\n\n    /// <summary>\n    /// The BrowseName for the AggregateFunction_StartBound component.\n    /// </summary>\n    public const string AggregateFunction_StartBound = \"StartBound\";\n\n    /// <summary>\n    /// The BrowseName for the AggregateFunction_TimeAverage component.\n    /// </summary>\n    public const string AggregateFunction_TimeAverage = \"TimeAverage\";\n\n    /// <summary>\n    /// The BrowseName for the AggregateFunction_TimeAverage2 component.\n    /// </summary>\n    public const string AggregateFunction_TimeAverage2 = \"TimeAverage2\";\n\n    /// <summary>\n    /// The BrowseName for the AggregateFunction_Total component.\n    /// </summary>\n    public const string AggregateFunction_Total = \"Total\";\n\n    /// <summary>\n    /// The BrowseName for the AggregateFunction_Total2 component.\n    /// </summary>\n    public const string AggregateFunction_Total2 = \"Total2\";\n\n    /// <summary>\n    /// The BrowseName for the AggregateFunction_VariancePopulation component.\n    /// </summary>\n    public const string AggregateFunction_VariancePopulation = \"VariancePopulation\";\n\n    /// <summary>\n    /// The BrowseName for the AggregateFunction_VarianceSample component.\n    /// </summary>\n    public const string AggregateFunction_VarianceSample = \"VarianceSample\";\n\n    /// <summary>\n    /// The BrowseName for the AggregateFunction_WorstQuality component.\n    /// </summary>\n    public const string AggregateFunction_WorstQuality = \"WorstQuality\";\n\n    /// <summary>\n    /// The BrowseName for the AggregateFunction_WorstQuality2 component.\n    /// </summary>\n    public const string AggregateFunction_WorstQuality2 = \"WorstQuality2\";\n\n    /// <summary>\n    /// The BrowseName for the AggregateFunctions component.\n    /// </summary>\n    public const string AggregateFunctions = \"AggregateFunctions\";\n\n    /// <summary>\n    /// The BrowseName for the AggregateFunctionType component.\n    /// </summary>\n    public const string AggregateFunctionType = \"AggregateFunctionType\";\n\n    /// <summary>\n    /// The BrowseName for the Aggregates component.\n    /// </summary>\n    public const string Aggregates = \"Aggregates\";\n\n    /// <summary>\n    /// The BrowseName for the AlarmConditionType component.\n    /// </summary>\n    public const string AlarmConditionType = \"AlarmConditionType\";\n\n    /// <summary>\n    /// The BrowseName for the AllowNulls component.\n    /// </summary>\n    public const string AllowNulls = \"AllowNulls\";\n\n    /// <summary>\n    /// The BrowseName for the AlwaysGeneratesEvent component.\n    /// </summary>\n    public const string AlwaysGeneratesEvent = \"AlwaysGeneratesEvent\";\n\n    /// <summary>\n    /// The BrowseName for the AnalogItemType component.\n    /// </summary>\n    public const string AnalogItemType = \"AnalogItemType\";\n\n    /// <summary>\n    /// The BrowseName for the Annotation component.\n    /// </summary>\n    public const string Annotation = \"Annotation\";\n\n    /// <summary>\n    /// The BrowseName for the Annotations component.\n    /// </summary>\n    public const string Annotations = \"Annotations\";\n\n    /// <summary>\n    /// The BrowseName for the AnonymousIdentityToken component.\n    /// </summary>\n    public const string AnonymousIdentityToken = \"AnonymousIdentityToken\";\n\n    /// <summary>\n    /// The BrowseName for the ApplicationDescription component.\n    /// </summary>\n    public const string ApplicationDescription = \"ApplicationDescription\";\n\n    /// <summary>\n    /// The BrowseName for the ApplicationInstanceCertificate component.\n    /// </summary>\n    public const string ApplicationInstanceCertificate = \"ApplicationInstanceCertificate\";\n\n    /// <summary>\n    /// The BrowseName for the ApplicationType component.\n    /// </summary>\n    public const string ApplicationType = \"ApplicationType\";\n\n    /// <summary>\n    /// The BrowseName for the Argument component.\n    /// </summary>\n    public const string Argument = \"Argument\";\n\n    /// <summary>\n    /// The BrowseName for the ArrayItemType component.\n    /// </summary>\n    public const string ArrayItemType = \"ArrayItemType\";\n\n    /// <summary>\n    /// The BrowseName for the ArrayTestType component.\n    /// </summary>\n    public const string ArrayTestType = \"ArrayTestType\";\n\n    /// <summary>\n    /// The BrowseName for the AttributeId component.\n    /// </summary>\n    public const string AttributeId = \"AttributeId\";\n\n    /// <summary>\n    /// The BrowseName for the AttributeOperand component.\n    /// </summary>\n    public const string AttributeOperand = \"AttributeOperand\";\n\n    /// <summary>\n    /// The BrowseName for the AttributeWriteMask component.\n    /// </summary>\n    public const string AttributeWriteMask = \"AttributeWriteMask\";\n\n    /// <summary>\n    /// The BrowseName for the AuditActivateSessionEventType component.\n    /// </summary>\n    public const string AuditActivateSessionEventType = \"AuditActivateSessionEventType\";\n\n    /// <summary>\n    /// The BrowseName for the AuditAddNodesEventType component.\n    /// </summary>\n    public const string AuditAddNodesEventType = \"AuditAddNodesEventType\";\n\n    /// <summary>\n    /// The BrowseName for the AuditAddReferencesEventType component.\n    /// </summary>\n    public const string AuditAddReferencesEventType = \"AuditAddReferencesEventType\";\n\n    /// <summary>\n    /// The BrowseName for the AuditCancelEventType component.\n    /// </summary>\n    public const string AuditCancelEventType = \"AuditCancelEventType\";\n\n    /// <summary>\n    /// The BrowseName for the AuditCertificateDataMismatchEventType component.\n    /// </summary>\n    public const string AuditCertificateDataMismatchEventType = \"AuditCertificateDataMismatchEventType\";\n\n    /// <summary>\n    /// The BrowseName for the AuditCertificateEventType component.\n    /// </summary>\n    public const string AuditCertificateEventType = \"AuditCertificateEventType\";\n\n    /// <summary>\n    /// The BrowseName for the AuditCertificateExpiredEventType component.\n    /// </summary>\n    public const string AuditCertificateExpiredEventType = \"AuditCertificateExpiredEventType\";\n\n    /// <summary>\n    /// The BrowseName for the AuditCertificateInvalidEventType component.\n    /// </summary>\n    public const string AuditCertificateInvalidEventType = \"AuditCertificateInvalidEventType\";\n\n    /// <summary>\n    /// The BrowseName for the AuditCertificateMismatchEventType component.\n    /// </summary>\n    public const string AuditCertificateMismatchEventType = \"AuditCertificateMismatchEventType\";\n\n    /// <summary>\n    /// The BrowseName for the AuditCertificateRevokedEventType component.\n    /// </summary>\n    public const string AuditCertificateRevokedEventType = \"AuditCertificateRevokedEventType\";\n\n    /// <summary>\n    /// The BrowseName for the AuditCertificateUntrustedEventType component.\n    /// </summary>\n    public const string AuditCertificateUntrustedEventType = \"AuditCertificateUntrustedEventType\";\n\n    /// <summary>\n    /// The BrowseName for the AuditChannelEventType component.\n    /// </summary>\n    public const string AuditChannelEventType = \"AuditChannelEventType\";\n\n    /// <summary>\n    /// The BrowseName for the AuditConditionAcknowledgeEventType component.\n    /// </summary>\n    public const string AuditConditionAcknowledgeEventType = \"AuditConditionAcknowledgeEventType\";\n\n    /// <summary>\n    /// The BrowseName for the AuditConditionCommentEventType component.\n    /// </summary>\n    public const string AuditConditionCommentEventType = \"AuditConditionCommentEventType\";\n\n    /// <summary>\n    /// The BrowseName for the AuditConditionConfirmEventType component.\n    /// </summary>\n    public const string AuditConditionConfirmEventType = \"AuditConditionConfirmEventType\";\n\n    /// <summary>\n    /// The BrowseName for the AuditConditionEnableEventType component.\n    /// </summary>\n    public const string AuditConditionEnableEventType = \"AuditConditionEnableEventType\";\n\n    /// <summary>\n    /// The BrowseName for the AuditConditionEventType component.\n    /// </summary>\n    public const string AuditConditionEventType = \"AuditConditionEventType\";\n\n    /// <summary>\n    /// The BrowseName for the AuditConditionRespondEventType component.\n    /// </summary>\n    public const string AuditConditionRespondEventType = \"AuditConditionRespondEventType\";\n\n    /// <summary>\n    /// The BrowseName for the AuditConditionShelvingEventType component.\n    /// </summary>\n    public const string AuditConditionShelvingEventType = \"AuditConditionShelvingEventType\";\n\n    /// <summary>\n    /// The BrowseName for the AuditCreateSessionEventType component.\n    /// </summary>\n    public const string AuditCreateSessionEventType = \"AuditCreateSessionEventType\";\n\n    /// <summary>\n    /// The BrowseName for the AuditDeleteNodesEventType component.\n    /// </summary>\n    public const string AuditDeleteNodesEventType = \"AuditDeleteNodesEventType\";\n\n    /// <summary>\n    /// The BrowseName for the AuditDeleteReferencesEventType component.\n    /// </summary>\n    public const string AuditDeleteReferencesEventType = \"AuditDeleteReferencesEventType\";\n\n    /// <summary>\n    /// The BrowseName for the AuditEventType component.\n    /// </summary>\n    public const string AuditEventType = \"AuditEventType\";\n\n    /// <summary>\n    /// The BrowseName for the AuditHistoryAtTimeDeleteEventType component.\n    /// </summary>\n    public const string AuditHistoryAtTimeDeleteEventType = \"AuditHistoryAtTimeDeleteEventType\";\n\n    /// <summary>\n    /// The BrowseName for the AuditHistoryDeleteEventType component.\n    /// </summary>\n    public const string AuditHistoryDeleteEventType = \"AuditHistoryDeleteEventType\";\n\n    /// <summary>\n    /// The BrowseName for the AuditHistoryEventDeleteEventType component.\n    /// </summary>\n    public const string AuditHistoryEventDeleteEventType = \"AuditHistoryEventDeleteEventType\";\n\n    /// <summary>\n    /// The BrowseName for the AuditHistoryEventUpdateEventType component.\n    /// </summary>\n    public const string AuditHistoryEventUpdateEventType = \"AuditHistoryEventUpdateEventType\";\n\n    /// <summary>\n    /// The BrowseName for the AuditHistoryRawModifyDeleteEventType component.\n    /// </summary>\n    public const string AuditHistoryRawModifyDeleteEventType = \"AuditHistoryRawModifyDeleteEventType\";\n\n    /// <summary>\n    /// The BrowseName for the AuditHistoryUpdateEventType component.\n    /// </summary>\n    public const string AuditHistoryUpdateEventType = \"AuditHistoryUpdateEventType\";\n\n    /// <summary>\n    /// The BrowseName for the AuditHistoryValueUpdateEventType component.\n    /// </summary>\n    public const string AuditHistoryValueUpdateEventType = \"AuditHistoryValueUpdateEventType\";\n\n    /// <summary>\n    /// The BrowseName for the Auditing component.\n    /// </summary>\n    public const string Auditing = \"Auditing\";\n\n    /// <summary>\n    /// The BrowseName for the AuditNodeManagementEventType component.\n    /// </summary>\n    public const string AuditNodeManagementEventType = \"AuditNodeManagementEventType\";\n\n    /// <summary>\n    /// The BrowseName for the AuditOpenSecureChannelEventType component.\n    /// </summary>\n    public const string AuditOpenSecureChannelEventType = \"AuditOpenSecureChannelEventType\";\n\n    /// <summary>\n    /// The BrowseName for the AuditProgramTransitionEventType component.\n    /// </summary>\n    public const string AuditProgramTransitionEventType = \"AuditProgramTransitionEventType\";\n\n    /// <summary>\n    /// The BrowseName for the AuditSecurityEventType component.\n    /// </summary>\n    public const string AuditSecurityEventType = \"AuditSecurityEventType\";\n\n    /// <summary>\n    /// The BrowseName for the AuditSessionEventType component.\n    /// </summary>\n    public const string AuditSessionEventType = \"AuditSessionEventType\";\n\n    /// <summary>\n    /// The BrowseName for the AuditUpdateEventType component.\n    /// </summary>\n    public const string AuditUpdateEventType = \"AuditUpdateEventType\";\n\n    /// <summary>\n    /// The BrowseName for the AuditUpdateMethodEventType component.\n    /// </summary>\n    public const string AuditUpdateMethodEventType = \"AuditUpdateMethodEventType\";\n\n    /// <summary>\n    /// The BrowseName for the AuditUpdateStateEventType component.\n    /// </summary>\n    public const string AuditUpdateStateEventType = \"AuditUpdateStateEventType\";\n\n    /// <summary>\n    /// The BrowseName for the AuditUrlMismatchEventType component.\n    /// </summary>\n    public const string AuditUrlMismatchEventType = \"AuditUrlMismatchEventType\";\n\n    /// <summary>\n    /// The BrowseName for the AuditWriteUpdateEventType component.\n    /// </summary>\n    public const string AuditWriteUpdateEventType = \"AuditWriteUpdateEventType\";\n\n    /// <summary>\n    /// The BrowseName for the AuthenticationMechanism component.\n    /// </summary>\n    public const string AuthenticationMechanism = \"AuthenticationMechanism\";\n\n    /// <summary>\n    /// The BrowseName for the AutoDelete component.\n    /// </summary>\n    public const string AutoDelete = \"AutoDelete\";\n\n    /// <summary>\n    /// The BrowseName for the AxisDefinition component.\n    /// </summary>\n    public const string AxisDefinition = \"AxisDefinition\";\n\n    /// <summary>\n    /// The BrowseName for the AxisInformation component.\n    /// </summary>\n    public const string AxisInformation = \"AxisInformation\";\n\n    /// <summary>\n    /// The BrowseName for the AxisScaleEnumeration component.\n    /// </summary>\n    public const string AxisScaleEnumeration = \"AxisScaleEnumeration\";\n\n    /// <summary>\n    /// The BrowseName for the AxisScaleType component.\n    /// </summary>\n    public const string AxisScaleType = \"AxisScaleType\";\n\n    /// <summary>\n    /// The BrowseName for the BaseConditionClassType component.\n    /// </summary>\n    public const string BaseConditionClassType = \"BaseConditionClassType\";\n\n    /// <summary>\n    /// The BrowseName for the BaseDataType component.\n    /// </summary>\n    public const string BaseDataType = \"BaseDataType\";\n\n    /// <summary>\n    /// The BrowseName for the BaseDataVariableType component.\n    /// </summary>\n    public const string BaseDataVariableType = \"BaseDataVariableType\";\n\n    /// <summary>\n    /// The BrowseName for the BaseEventType component.\n    /// </summary>\n    public const string BaseEventType = \"BaseEventType\";\n\n    /// <summary>\n    /// The BrowseName for the BaseModelChangeEventType component.\n    /// </summary>\n    public const string BaseModelChangeEventType = \"BaseModelChangeEventType\";\n\n    /// <summary>\n    /// The BrowseName for the BaseObjectType component.\n    /// </summary>\n    public const string BaseObjectType = \"BaseObjectType\";\n\n    /// <summary>\n    /// The BrowseName for the BaseVariableType component.\n    /// </summary>\n    public const string BaseVariableType = \"BaseVariableType\";\n\n    /// <summary>\n    /// The BrowseName for the BitFieldMaskDataType component.\n    /// </summary>\n    public const string BitFieldMaskDataType = \"BitFieldMaskDataType\";\n\n    /// <summary>\n    /// The BrowseName for the BitMask component.\n    /// </summary>\n    public const string BitMask = \"BitMask\";\n\n    /// <summary>\n    /// The BrowseName for the Boolean component.\n    /// </summary>\n    public const string Boolean = \"Boolean\";\n\n    /// <summary>\n    /// The BrowseName for the BranchId component.\n    /// </summary>\n    public const string BranchId = \"BranchId\";\n\n    /// <summary>\n    /// The BrowseName for the BrowseCount component.\n    /// </summary>\n    public const string BrowseCount = \"BrowseCount\";\n\n    /// <summary>\n    /// The BrowseName for the BrowseDescription component.\n    /// </summary>\n    public const string BrowseDescription = \"BrowseDescription\";\n\n    /// <summary>\n    /// The BrowseName for the BrowseDirection component.\n    /// </summary>\n    public const string BrowseDirection = \"BrowseDirection\";\n\n    /// <summary>\n    /// The BrowseName for the BrowseNextCount component.\n    /// </summary>\n    public const string BrowseNextCount = \"BrowseNextCount\";\n\n    /// <summary>\n    /// The BrowseName for the BrowseNextRequest component.\n    /// </summary>\n    public const string BrowseNextRequest = \"BrowseNextRequest\";\n\n    /// <summary>\n    /// The BrowseName for the BrowseNextResponse component.\n    /// </summary>\n    public const string BrowseNextResponse = \"BrowseNextResponse\";\n\n    /// <summary>\n    /// The BrowseName for the BrowsePath component.\n    /// </summary>\n    public const string BrowsePath = \"BrowsePath\";\n\n    /// <summary>\n    /// The BrowseName for the BrowsePathResult component.\n    /// </summary>\n    public const string BrowsePathResult = \"BrowsePathResult\";\n\n    /// <summary>\n    /// The BrowseName for the BrowsePathTarget component.\n    /// </summary>\n    public const string BrowsePathTarget = \"BrowsePathTarget\";\n\n    /// <summary>\n    /// The BrowseName for the BrowseRequest component.\n    /// </summary>\n    public const string BrowseRequest = \"BrowseRequest\";\n\n    /// <summary>\n    /// The BrowseName for the BrowseResponse component.\n    /// </summary>\n    public const string BrowseResponse = \"BrowseResponse\";\n\n    /// <summary>\n    /// The BrowseName for the BrowseResult component.\n    /// </summary>\n    public const string BrowseResult = \"BrowseResult\";\n\n    /// <summary>\n    /// The BrowseName for the BrowseResultMask component.\n    /// </summary>\n    public const string BrowseResultMask = \"BrowseResultMask\";\n\n    /// <summary>\n    /// The BrowseName for the BuildDate component.\n    /// </summary>\n    public const string BuildDate = \"BuildDate\";\n\n    /// <summary>\n    /// The BrowseName for the BuildInfo component.\n    /// </summary>\n    public const string BuildInfo = \"BuildInfo\";\n\n    /// <summary>\n    /// The BrowseName for the BuildInfoType component.\n    /// </summary>\n    public const string BuildInfoType = \"BuildInfoType\";\n\n    /// <summary>\n    /// The BrowseName for the BuildNumber component.\n    /// </summary>\n    public const string BuildNumber = \"BuildNumber\";\n\n    /// <summary>\n    /// The BrowseName for the Byte component.\n    /// </summary>\n    public const string Byte = \"Byte\";\n\n    /// <summary>\n    /// The BrowseName for the ByteString component.\n    /// </summary>\n    public const string ByteString = \"ByteString\";\n\n    /// <summary>\n    /// The BrowseName for the CallCount component.\n    /// </summary>\n    public const string CallCount = \"CallCount\";\n\n    /// <summary>\n    /// The BrowseName for the CallMethodRequest component.\n    /// </summary>\n    public const string CallMethodRequest = \"CallMethodRequest\";\n\n    /// <summary>\n    /// The BrowseName for the CallMethodResult component.\n    /// </summary>\n    public const string CallMethodResult = \"CallMethodResult\";\n\n    /// <summary>\n    /// The BrowseName for the CallRequest component.\n    /// </summary>\n    public const string CallRequest = \"CallRequest\";\n\n    /// <summary>\n    /// The BrowseName for the CallResponse component.\n    /// </summary>\n    public const string CallResponse = \"CallResponse\";\n\n    /// <summary>\n    /// The BrowseName for the CancelRequest component.\n    /// </summary>\n    public const string CancelRequest = \"CancelRequest\";\n\n    /// <summary>\n    /// The BrowseName for the CancelResponse component.\n    /// </summary>\n    public const string CancelResponse = \"CancelResponse\";\n\n    /// <summary>\n    /// The BrowseName for the Certificate component.\n    /// </summary>\n    public const string Certificate = \"Certificate\";\n\n    /// <summary>\n    /// The BrowseName for the Changes component.\n    /// </summary>\n    public const string Changes = \"Changes\";\n\n    /// <summary>\n    /// The BrowseName for the ChannelSecurityToken component.\n    /// </summary>\n    public const string ChannelSecurityToken = \"ChannelSecurityToken\";\n\n    /// <summary>\n    /// The BrowseName for the ClientAuditEntryId component.\n    /// </summary>\n    public const string ClientAuditEntryId = \"ClientAuditEntryId\";\n\n    /// <summary>\n    /// The BrowseName for the ClientCertificate component.\n    /// </summary>\n    public const string ClientCertificate = \"ClientCertificate\";\n\n    /// <summary>\n    /// The BrowseName for the ClientCertificateThumbprint component.\n    /// </summary>\n    public const string ClientCertificateThumbprint = \"ClientCertificateThumbprint\";\n\n    /// <summary>\n    /// The BrowseName for the ClientConnectionTime component.\n    /// </summary>\n    public const string ClientConnectionTime = \"ClientConnectionTime\";\n\n    /// <summary>\n    /// The BrowseName for the ClientDescription component.\n    /// </summary>\n    public const string ClientDescription = \"ClientDescription\";\n\n    /// <summary>\n    /// The BrowseName for the ClientLastContactTime component.\n    /// </summary>\n    public const string ClientLastContactTime = \"ClientLastContactTime\";\n\n    /// <summary>\n    /// The BrowseName for the ClientSoftwareCertificates component.\n    /// </summary>\n    public const string ClientSoftwareCertificates = \"ClientSoftwareCertificates\";\n\n    /// <summary>\n    /// The BrowseName for the ClientUserId component.\n    /// </summary>\n    public const string ClientUserId = \"ClientUserId\";\n\n    /// <summary>\n    /// The BrowseName for the ClientUserIdHistory component.\n    /// </summary>\n    public const string ClientUserIdHistory = \"ClientUserIdHistory\";\n\n    /// <summary>\n    /// The BrowseName for the ClientUserIdOfSession component.\n    /// </summary>\n    public const string ClientUserIdOfSession = \"ClientUserIdOfSession\";\n\n    /// <summary>\n    /// The BrowseName for the Close component.\n    /// </summary>\n    public const string Close = \"Close\";\n\n    /// <summary>\n    /// The BrowseName for the CloseMethodType component.\n    /// </summary>\n    public const string CloseMethodType = \"CloseMethodType\";\n\n    /// <summary>\n    /// The BrowseName for the CloseSecureChannelRequest component.\n    /// </summary>\n    public const string CloseSecureChannelRequest = \"CloseSecureChannelRequest\";\n\n    /// <summary>\n    /// The BrowseName for the CloseSecureChannelResponse component.\n    /// </summary>\n    public const string CloseSecureChannelResponse = \"CloseSecureChannelResponse\";\n\n    /// <summary>\n    /// The BrowseName for the CloseSessionRequest component.\n    /// </summary>\n    public const string CloseSessionRequest = \"CloseSessionRequest\";\n\n    /// <summary>\n    /// The BrowseName for the CloseSessionResponse component.\n    /// </summary>\n    public const string CloseSessionResponse = \"CloseSessionResponse\";\n\n    /// <summary>\n    /// The BrowseName for the Comment component.\n    /// </summary>\n    public const string Comment = \"Comment\";\n\n    /// <summary>\n    /// The BrowseName for the ComplexNumberType component.\n    /// </summary>\n    public const string ComplexNumberType = \"ComplexNumberType\";\n\n    /// <summary>\n    /// The BrowseName for the ComplianceLevel component.\n    /// </summary>\n    public const string ComplianceLevel = \"ComplianceLevel\";\n\n    /// <summary>\n    /// The BrowseName for the CompositeTestType component.\n    /// </summary>\n    public const string CompositeTestType = \"CompositeTestType\";\n\n    /// <summary>\n    /// The BrowseName for the ConditionClassId component.\n    /// </summary>\n    public const string ConditionClassId = \"ConditionClassId\";\n\n    /// <summary>\n    /// The BrowseName for the ConditionClassName component.\n    /// </summary>\n    public const string ConditionClassName = \"ConditionClassName\";\n\n    /// <summary>\n    /// The BrowseName for the ConditionName component.\n    /// </summary>\n    public const string ConditionName = \"ConditionName\";\n\n    /// <summary>\n    /// The BrowseName for the ConditionRefresh component.\n    /// </summary>\n    public const string ConditionRefresh = \"ConditionRefresh\";\n\n    /// <summary>\n    /// The BrowseName for the ConditionRefreshMethodType component.\n    /// </summary>\n    public const string ConditionRefreshMethodType = \"ConditionRefreshMethodType\";\n\n    /// <summary>\n    /// The BrowseName for the ConditionType component.\n    /// </summary>\n    public const string ConditionType = \"ConditionType\";\n\n    /// <summary>\n    /// The BrowseName for the ConditionVariableType component.\n    /// </summary>\n    public const string ConditionVariableType = \"ConditionVariableType\";\n\n    /// <summary>\n    /// The BrowseName for the Confirm component.\n    /// </summary>\n    public const string Confirm = \"Confirm\";\n\n    /// <summary>\n    /// The BrowseName for the ConfirmedState component.\n    /// </summary>\n    public const string ConfirmedState = \"ConfirmedState\";\n\n    /// <summary>\n    /// The BrowseName for the ContentFilter component.\n    /// </summary>\n    public const string ContentFilter = \"ContentFilter\";\n\n    /// <summary>\n    /// The BrowseName for the ContentFilterElement component.\n    /// </summary>\n    public const string ContentFilterElement = \"ContentFilterElement\";\n\n    /// <summary>\n    /// The BrowseName for the ContentFilterElementResult component.\n    /// </summary>\n    public const string ContentFilterElementResult = \"ContentFilterElementResult\";\n\n    /// <summary>\n    /// The BrowseName for the ContentFilterResult component.\n    /// </summary>\n    public const string ContentFilterResult = \"ContentFilterResult\";\n\n    /// <summary>\n    /// The BrowseName for the ContinuationPoint component.\n    /// </summary>\n    public const string ContinuationPoint = \"ContinuationPoint\";\n\n    /// <summary>\n    /// The BrowseName for the Counter component.\n    /// </summary>\n    public const string Counter = \"Counter\";\n\n    /// <summary>\n    /// The BrowseName for the Creatable component.\n    /// </summary>\n    public const string Creatable = \"Creatable\";\n\n    /// <summary>\n    /// The BrowseName for the CreateClientName component.\n    /// </summary>\n    public const string CreateClientName = \"CreateClientName\";\n\n    /// <summary>\n    /// The BrowseName for the CreateMonitoredItemsCount component.\n    /// </summary>\n    public const string CreateMonitoredItemsCount = \"CreateMonitoredItemsCount\";\n\n    /// <summary>\n    /// The BrowseName for the CreateMonitoredItemsRequest component.\n    /// </summary>\n    public const string CreateMonitoredItemsRequest = \"CreateMonitoredItemsRequest\";\n\n    /// <summary>\n    /// The BrowseName for the CreateMonitoredItemsResponse component.\n    /// </summary>\n    public const string CreateMonitoredItemsResponse = \"CreateMonitoredItemsResponse\";\n\n    /// <summary>\n    /// The BrowseName for the CreateSessionId component.\n    /// </summary>\n    public const string CreateSessionId = \"CreateSessionId\";\n\n    /// <summary>\n    /// The BrowseName for the CreateSessionRequest component.\n    /// </summary>\n    public const string CreateSessionRequest = \"CreateSessionRequest\";\n\n    /// <summary>\n    /// The BrowseName for the CreateSessionResponse component.\n    /// </summary>\n    public const string CreateSessionResponse = \"CreateSessionResponse\";\n\n    /// <summary>\n    /// The BrowseName for the CreateSubscriptionCount component.\n    /// </summary>\n    public const string CreateSubscriptionCount = \"CreateSubscriptionCount\";\n\n    /// <summary>\n    /// The BrowseName for the CreateSubscriptionRequest component.\n    /// </summary>\n    public const string CreateSubscriptionRequest = \"CreateSubscriptionRequest\";\n\n    /// <summary>\n    /// The BrowseName for the CreateSubscriptionResponse component.\n    /// </summary>\n    public const string CreateSubscriptionResponse = \"CreateSubscriptionResponse\";\n\n    /// <summary>\n    /// The BrowseName for the CubeItemType component.\n    /// </summary>\n    public const string CubeItemType = \"CubeItemType\";\n\n    /// <summary>\n    /// The BrowseName for the CumulatedSessionCount component.\n    /// </summary>\n    public const string CumulatedSessionCount = \"CumulatedSessionCount\";\n\n    /// <summary>\n    /// The BrowseName for the CumulatedSubscriptionCount component.\n    /// </summary>\n    public const string CumulatedSubscriptionCount = \"CumulatedSubscriptionCount\";\n\n    /// <summary>\n    /// The BrowseName for the CurrentKeepAliveCount component.\n    /// </summary>\n    public const string CurrentKeepAliveCount = \"CurrentKeepAliveCount\";\n\n    /// <summary>\n    /// The BrowseName for the CurrentLifetimeCount component.\n    /// </summary>\n    public const string CurrentLifetimeCount = \"CurrentLifetimeCount\";\n\n    /// <summary>\n    /// The BrowseName for the CurrentMonitoredItemsCount component.\n    /// </summary>\n    public const string CurrentMonitoredItemsCount = \"CurrentMonitoredItemsCount\";\n\n    /// <summary>\n    /// The BrowseName for the CurrentPublishRequestsInQueue component.\n    /// </summary>\n    public const string CurrentPublishRequestsInQueue = \"CurrentPublishRequestsInQueue\";\n\n    /// <summary>\n    /// The BrowseName for the CurrentServerId component.\n    /// </summary>\n    public const string CurrentServerId = \"CurrentServerId\";\n\n    /// <summary>\n    /// The BrowseName for the CurrentSessionCount component.\n    /// </summary>\n    public const string CurrentSessionCount = \"CurrentSessionCount\";\n\n    /// <summary>\n    /// The BrowseName for the CurrentState component.\n    /// </summary>\n    public const string CurrentState = \"CurrentState\";\n\n    /// <summary>\n    /// The BrowseName for the CurrentSubscriptionCount component.\n    /// </summary>\n    public const string CurrentSubscriptionCount = \"CurrentSubscriptionCount\";\n\n    /// <summary>\n    /// The BrowseName for the CurrentSubscriptionsCount component.\n    /// </summary>\n    public const string CurrentSubscriptionsCount = \"CurrentSubscriptionsCount\";\n\n    /// <summary>\n    /// The BrowseName for the CurrentTime component.\n    /// </summary>\n    public const string CurrentTime = \"CurrentTime\";\n\n    /// <summary>\n    /// The BrowseName for the DataChangeFilter component.\n    /// </summary>\n    public const string DataChangeFilter = \"DataChangeFilter\";\n\n    /// <summary>\n    /// The BrowseName for the DataChangeNotification component.\n    /// </summary>\n    public const string DataChangeNotification = \"DataChangeNotification\";\n\n    /// <summary>\n    /// The BrowseName for the DataChangeNotificationsCount component.\n    /// </summary>\n    public const string DataChangeNotificationsCount = \"DataChangeNotificationsCount\";\n\n    /// <summary>\n    /// The BrowseName for the DataChangeTrigger component.\n    /// </summary>\n    public const string DataChangeTrigger = \"DataChangeTrigger\";\n\n    /// <summary>\n    /// The BrowseName for the DataItemType component.\n    /// </summary>\n    public const string DataItemType = \"DataItemType\";\n\n    /// <summary>\n    /// The BrowseName for the DataTypeAttributes component.\n    /// </summary>\n    public const string DataTypeAttributes = \"DataTypeAttributes\";\n\n    /// <summary>\n    /// The BrowseName for the DataTypeDescriptionType component.\n    /// </summary>\n    public const string DataTypeDescriptionType = \"DataTypeDescriptionType\";\n\n    /// <summary>\n    /// The BrowseName for the DataTypeDictionaryType component.\n    /// </summary>\n    public const string DataTypeDictionaryType = \"DataTypeDictionaryType\";\n\n    /// <summary>\n    /// The BrowseName for the DataTypeEncodingType component.\n    /// </summary>\n    public const string DataTypeEncodingType = \"DataTypeEncodingType\";\n\n    /// <summary>\n    /// The BrowseName for the DataTypeNode component.\n    /// </summary>\n    public const string DataTypeNode = \"DataTypeNode\";\n\n    /// <summary>\n    /// The BrowseName for the DataTypesFolder component.\n    /// </summary>\n    public const string DataTypesFolder = \"DataTypes\";\n\n    /// <summary>\n    /// The BrowseName for the DataTypeSystemType component.\n    /// </summary>\n    public const string DataTypeSystemType = \"DataTypeSystemType\";\n\n    /// <summary>\n    /// The BrowseName for the DataTypeVersion component.\n    /// </summary>\n    public const string DataTypeVersion = \"DataTypeVersion\";\n\n    /// <summary>\n    /// The BrowseName for the DataValue component.\n    /// </summary>\n    public const string DataValue = \"DataValue\";\n\n    /// <summary>\n    /// The BrowseName for the Date component.\n    /// </summary>\n    public const string Date = \"Date\";\n\n    /// <summary>\n    /// The BrowseName for the DateTime component.\n    /// </summary>\n    public const string DateTime = \"DateTime\";\n\n    /// <summary>\n    /// The BrowseName for the DeadbandType component.\n    /// </summary>\n    public const string DeadbandType = \"DeadbandType\";\n\n    /// <summary>\n    /// The BrowseName for the DefaultBinary component.\n    /// </summary>\n    public const string DefaultBinary = \"Default Binary\";\n\n    /// <summary>\n    /// The BrowseName for the DefaultResponse component.\n    /// </summary>\n    public const string DefaultResponse = \"DefaultResponse\";\n\n    /// <summary>\n    /// The BrowseName for the DefaultXml component.\n    /// </summary>\n    public const string DefaultXml = \"Default XML\";\n\n    /// <summary>\n    /// The BrowseName for the Definition component.\n    /// </summary>\n    public const string Definition = \"Definition\";\n\n    /// <summary>\n    /// The BrowseName for the Deletable component.\n    /// </summary>\n    public const string Deletable = \"Deletable\";\n\n    /// <summary>\n    /// The BrowseName for the DeleteAtTimeCapability component.\n    /// </summary>\n    public const string DeleteAtTimeCapability = \"DeleteAtTimeCapability\";\n\n    /// <summary>\n    /// The BrowseName for the DeleteAtTimeDetails component.\n    /// </summary>\n    public const string DeleteAtTimeDetails = \"DeleteAtTimeDetails\";\n\n    /// <summary>\n    /// The BrowseName for the DeleteEventCapability component.\n    /// </summary>\n    public const string DeleteEventCapability = \"DeleteEventCapability\";\n\n    /// <summary>\n    /// The BrowseName for the DeleteEventDetails component.\n    /// </summary>\n    public const string DeleteEventDetails = \"DeleteEventDetails\";\n\n    /// <summary>\n    /// The BrowseName for the DeleteMonitoredItemsCount component.\n    /// </summary>\n    public const string DeleteMonitoredItemsCount = \"DeleteMonitoredItemsCount\";\n\n    /// <summary>\n    /// The BrowseName for the DeleteMonitoredItemsRequest component.\n    /// </summary>\n    public const string DeleteMonitoredItemsRequest = \"DeleteMonitoredItemsRequest\";\n\n    /// <summary>\n    /// The BrowseName for the DeleteMonitoredItemsResponse component.\n    /// </summary>\n    public const string DeleteMonitoredItemsResponse = \"DeleteMonitoredItemsResponse\";\n\n    /// <summary>\n    /// The BrowseName for the DeleteNodesCount component.\n    /// </summary>\n    public const string DeleteNodesCount = \"DeleteNodesCount\";\n\n    /// <summary>\n    /// The BrowseName for the DeleteNodesItem component.\n    /// </summary>\n    public const string DeleteNodesItem = \"DeleteNodesItem\";\n\n    /// <summary>\n    /// The BrowseName for the DeleteNodesRequest component.\n    /// </summary>\n    public const string DeleteNodesRequest = \"DeleteNodesRequest\";\n\n    /// <summary>\n    /// The BrowseName for the DeleteNodesResponse component.\n    /// </summary>\n    public const string DeleteNodesResponse = \"DeleteNodesResponse\";\n\n    /// <summary>\n    /// The BrowseName for the DeleteRawCapability component.\n    /// </summary>\n    public const string DeleteRawCapability = \"DeleteRawCapability\";\n\n    /// <summary>\n    /// The BrowseName for the DeleteRawModifiedDetails component.\n    /// </summary>\n    public const string DeleteRawModifiedDetails = \"DeleteRawModifiedDetails\";\n\n    /// <summary>\n    /// The BrowseName for the DeleteReferencesCount component.\n    /// </summary>\n    public const string DeleteReferencesCount = \"DeleteReferencesCount\";\n\n    /// <summary>\n    /// The BrowseName for the DeleteReferencesItem component.\n    /// </summary>\n    public const string DeleteReferencesItem = \"DeleteReferencesItem\";\n\n    /// <summary>\n    /// The BrowseName for the DeleteReferencesRequest component.\n    /// </summary>\n    public const string DeleteReferencesRequest = \"DeleteReferencesRequest\";\n\n    /// <summary>\n    /// The BrowseName for the DeleteReferencesResponse component.\n    /// </summary>\n    public const string DeleteReferencesResponse = \"DeleteReferencesResponse\";\n\n    /// <summary>\n    /// The BrowseName for the DeleteSubscriptionsCount component.\n    /// </summary>\n    public const string DeleteSubscriptionsCount = \"DeleteSubscriptionsCount\";\n\n    /// <summary>\n    /// The BrowseName for the DeleteSubscriptionsRequest component.\n    /// </summary>\n    public const string DeleteSubscriptionsRequest = \"DeleteSubscriptionsRequest\";\n\n    /// <summary>\n    /// The BrowseName for the DeleteSubscriptionsResponse component.\n    /// </summary>\n    public const string DeleteSubscriptionsResponse = \"DeleteSubscriptionsResponse\";\n\n    /// <summary>\n    /// The BrowseName for the DeviceFailureEventType component.\n    /// </summary>\n    public const string DeviceFailureEventType = \"DeviceFailureEventType\";\n\n    /// <summary>\n    /// The BrowseName for the DiagnosticInfo component.\n    /// </summary>\n    public const string DiagnosticInfo = \"DiagnosticInfo\";\n\n    /// <summary>\n    /// The BrowseName for the DialogConditionType component.\n    /// </summary>\n    public const string DialogConditionType = \"DialogConditionType\";\n\n    /// <summary>\n    /// The BrowseName for the DialogResponseMethodType component.\n    /// </summary>\n    public const string DialogResponseMethodType = \"DialogResponseMethodType\";\n\n    /// <summary>\n    /// The BrowseName for the DialogState component.\n    /// </summary>\n    public const string DialogState = \"DialogState\";\n\n    /// <summary>\n    /// The BrowseName for the DictionaryFragment component.\n    /// </summary>\n    public const string DictionaryFragment = \"DictionaryFragment\";\n\n    /// <summary>\n    /// The BrowseName for the Disable component.\n    /// </summary>\n    public const string Disable = \"Disable\";\n\n    /// <summary>\n    /// The BrowseName for the DisableCount component.\n    /// </summary>\n    public const string DisableCount = \"DisableCount\";\n\n    /// <summary>\n    /// The BrowseName for the DisabledMonitoredItemCount component.\n    /// </summary>\n    public const string DisabledMonitoredItemCount = \"DisabledMonitoredItemCount\";\n\n    /// <summary>\n    /// The BrowseName for the DisabledMonitoredItemsSamplingCount component.\n    /// </summary>\n    public const string DisabledMonitoredItemsSamplingCount = \"DisabledMonitoredItemsSamplingCount\";\n\n    /// <summary>\n    /// The BrowseName for the DiscardedMessageCount component.\n    /// </summary>\n    public const string DiscardedMessageCount = \"DiscardedMessageCount\";\n\n    /// <summary>\n    /// The BrowseName for the DiscreteAlarmType component.\n    /// </summary>\n    public const string DiscreteAlarmType = \"DiscreteAlarmType\";\n\n    /// <summary>\n    /// The BrowseName for the DiscreteItemType component.\n    /// </summary>\n    public const string DiscreteItemType = \"DiscreteItemType\";\n\n    /// <summary>\n    /// The BrowseName for the DnsServiceRecord component.\n    /// </summary>\n    public const string DnsServiceRecord = \"DnsServiceRecord\";\n\n    /// <summary>\n    /// The BrowseName for the Double component.\n    /// </summary>\n    public const string Double = \"Double\";\n\n    /// <summary>\n    /// The BrowseName for the DoubleComplexNumberType component.\n    /// </summary>\n    public const string DoubleComplexNumberType = \"DoubleComplexNumberType\";\n\n    /// <summary>\n    /// The BrowseName for the Duration component.\n    /// </summary>\n    public const string Duration = \"Duration\";\n\n    /// <summary>\n    /// The BrowseName for the EffectiveDisplayName component.\n    /// </summary>\n    public const string EffectiveDisplayName = \"EffectiveDisplayName\";\n\n    /// <summary>\n    /// The BrowseName for the EffectiveTransitionTime component.\n    /// </summary>\n    public const string EffectiveTransitionTime = \"EffectiveTransitionTime\";\n\n    /// <summary>\n    /// The BrowseName for the ElementOperand component.\n    /// </summary>\n    public const string ElementOperand = \"ElementOperand\";\n\n    /// <summary>\n    /// The BrowseName for the Enable component.\n    /// </summary>\n    public const string Enable = \"Enable\";\n\n    /// <summary>\n    /// The BrowseName for the EnableCount component.\n    /// </summary>\n    public const string EnableCount = \"EnableCount\";\n\n    /// <summary>\n    /// The BrowseName for the EnabledFlag component.\n    /// </summary>\n    public const string EnabledFlag = \"EnabledFlag\";\n\n    /// <summary>\n    /// The BrowseName for the EnabledState component.\n    /// </summary>\n    public const string EnabledState = \"EnabledState\";\n\n    /// <summary>\n    /// The BrowseName for the Encoding component.\n    /// </summary>\n    public const string Encoding = \"Encoding\";\n\n    /// <summary>\n    /// The BrowseName for the EndpointConfiguration component.\n    /// </summary>\n    public const string EndpointConfiguration = \"EndpointConfiguration\";\n\n    /// <summary>\n    /// The BrowseName for the EndpointDescription component.\n    /// </summary>\n    public const string EndpointDescription = \"EndpointDescription\";\n\n    /// <summary>\n    /// The BrowseName for the EndpointUrl component.\n    /// </summary>\n    public const string EndpointUrl = \"EndpointUrl\";\n\n    /// <summary>\n    /// The BrowseName for the EndpointUrlListDataType component.\n    /// </summary>\n    public const string EndpointUrlListDataType = \"EndpointUrlListDataType\";\n\n    /// <summary>\n    /// The BrowseName for the EndTime component.\n    /// </summary>\n    public const string EndTime = \"EndTime\";\n\n    /// <summary>\n    /// The BrowseName for the EngineeringUnits component.\n    /// </summary>\n    public const string EngineeringUnits = \"EngineeringUnits\";\n\n    /// <summary>\n    /// The BrowseName for the EnumeratedTestType component.\n    /// </summary>\n    public const string EnumeratedTestType = \"EnumeratedTestType\";\n\n    /// <summary>\n    /// The BrowseName for the Enumeration component.\n    /// </summary>\n    public const string Enumeration = \"Enumeration\";\n\n    /// <summary>\n    /// The BrowseName for the EnumStrings component.\n    /// </summary>\n    public const string EnumStrings = \"EnumStrings\";\n\n    /// <summary>\n    /// The BrowseName for the EnumValues component.\n    /// </summary>\n    public const string EnumValues = \"EnumValues\";\n\n    /// <summary>\n    /// The BrowseName for the EnumValueType component.\n    /// </summary>\n    public const string EnumValueType = \"EnumValueType\";\n\n    /// <summary>\n    /// The BrowseName for the EUInformation component.\n    /// </summary>\n    public const string EUInformation = \"EUInformation\";\n\n    /// <summary>\n    /// The BrowseName for the EURange component.\n    /// </summary>\n    public const string EURange = \"EURange\";\n\n    /// <summary>\n    /// The BrowseName for the EventFieldList component.\n    /// </summary>\n    public const string EventFieldList = \"EventFieldList\";\n\n    /// <summary>\n    /// The BrowseName for the EventFilter component.\n    /// </summary>\n    public const string EventFilter = \"EventFilter\";\n\n    /// <summary>\n    /// The BrowseName for the EventFilterResult component.\n    /// </summary>\n    public const string EventFilterResult = \"EventFilterResult\";\n\n    /// <summary>\n    /// The BrowseName for the EventId component.\n    /// </summary>\n    public const string EventId = \"EventId\";\n\n    /// <summary>\n    /// The BrowseName for the EventIds component.\n    /// </summary>\n    public const string EventIds = \"EventIds\";\n\n    /// <summary>\n    /// The BrowseName for the EventNotificationList component.\n    /// </summary>\n    public const string EventNotificationList = \"EventNotificationList\";\n\n    /// <summary>\n    /// The BrowseName for the EventNotificationsCount component.\n    /// </summary>\n    public const string EventNotificationsCount = \"EventNotificationsCount\";\n\n    /// <summary>\n    /// The BrowseName for the EventQueueOverFlowCount component.\n    /// </summary>\n    public const string EventQueueOverFlowCount = \"EventQueueOverFlowCount\";\n\n    /// <summary>\n    /// The BrowseName for the EventQueueOverflowEventType component.\n    /// </summary>\n    public const string EventQueueOverflowEventType = \"EventQueueOverflowEventType\";\n\n    /// <summary>\n    /// The BrowseName for the EventType component.\n    /// </summary>\n    public const string EventType = \"EventType\";\n\n    /// <summary>\n    /// The BrowseName for the EventTypesFolder component.\n    /// </summary>\n    public const string EventTypesFolder = \"EventTypes\";\n\n    /// <summary>\n    /// The BrowseName for the ExceptionDeviation component.\n    /// </summary>\n    public const string ExceptionDeviation = \"ExceptionDeviation\";\n\n    /// <summary>\n    /// The BrowseName for the ExceptionDeviationFormat component.\n    /// </summary>\n    public const string ExceptionDeviationFormat = \"ExceptionDeviationFormat\";\n\n    /// <summary>\n    /// The BrowseName for the ExclusiveDeviationAlarmType component.\n    /// </summary>\n    public const string ExclusiveDeviationAlarmType = \"ExclusiveDeviationAlarmType\";\n\n    /// <summary>\n    /// The BrowseName for the ExclusiveLevelAlarmType component.\n    /// </summary>\n    public const string ExclusiveLevelAlarmType = \"ExclusiveLevelAlarmType\";\n\n    /// <summary>\n    /// The BrowseName for the ExclusiveLimitAlarmType component.\n    /// </summary>\n    public const string ExclusiveLimitAlarmType = \"ExclusiveLimitAlarmType\";\n\n    /// <summary>\n    /// The BrowseName for the ExclusiveLimitStateMachineType component.\n    /// </summary>\n    public const string ExclusiveLimitStateMachineType = \"ExclusiveLimitStateMachineType\";\n\n    /// <summary>\n    /// The BrowseName for the ExclusiveRateOfChangeAlarmType component.\n    /// </summary>\n    public const string ExclusiveRateOfChangeAlarmType = \"ExclusiveRateOfChangeAlarmType\";\n\n    /// <summary>\n    /// The BrowseName for the ExpandedNodeId component.\n    /// </summary>\n    public const string ExpandedNodeId = \"ExpandedNodeId\";\n\n    /// <summary>\n    /// The BrowseName for the ExportNamespace component.\n    /// </summary>\n    public const string ExportNamespace = \"ExportNamespace\";\n\n    /// <summary>\n    /// The BrowseName for the FalseState component.\n    /// </summary>\n    public const string FalseState = \"FalseState\";\n\n    /// <summary>\n    /// The BrowseName for the FileType component.\n    /// </summary>\n    public const string FileType = \"FileType\";\n\n    /// <summary>\n    /// The BrowseName for the Filter component.\n    /// </summary>\n    public const string Filter = \"Filter\";\n\n    /// <summary>\n    /// The BrowseName for the FilterOperand component.\n    /// </summary>\n    public const string FilterOperand = \"FilterOperand\";\n\n    /// <summary>\n    /// The BrowseName for the FilterOperator component.\n    /// </summary>\n    public const string FilterOperator = \"FilterOperator\";\n\n    /// <summary>\n    /// The BrowseName for the FinalResultData component.\n    /// </summary>\n    public const string FinalResultData = \"FinalResultData\";\n\n    /// <summary>\n    /// The BrowseName for the FindDnsServicesRequest component.\n    /// </summary>\n    public const string FindDnsServicesRequest = \"FindDnsServicesRequest\";\n\n    /// <summary>\n    /// The BrowseName for the FindDnsServicesResponse component.\n    /// </summary>\n    public const string FindDnsServicesResponse = \"FindDnsServicesResponse\";\n\n    /// <summary>\n    /// The BrowseName for the FindServersRequest component.\n    /// </summary>\n    public const string FindServersRequest = \"FindServersRequest\";\n\n    /// <summary>\n    /// The BrowseName for the FindServersResponse component.\n    /// </summary>\n    public const string FindServersResponse = \"FindServersResponse\";\n\n    /// <summary>\n    /// The BrowseName for the FiniteStateMachineType component.\n    /// </summary>\n    public const string FiniteStateMachineType = \"FiniteStateMachineType\";\n\n    /// <summary>\n    /// The BrowseName for the FiniteStateVariableType component.\n    /// </summary>\n    public const string FiniteStateVariableType = \"FiniteStateVariableType\";\n\n    /// <summary>\n    /// The BrowseName for the FiniteTransitionVariableType component.\n    /// </summary>\n    public const string FiniteTransitionVariableType = \"FiniteTransitionVariableType\";\n\n    /// <summary>\n    /// The BrowseName for the Float component.\n    /// </summary>\n    public const string Float = \"Float\";\n\n    /// <summary>\n    /// The BrowseName for the FolderType component.\n    /// </summary>\n    public const string FolderType = \"FolderType\";\n\n    /// <summary>\n    /// The BrowseName for the FromState component.\n    /// </summary>\n    public const string FromState = \"FromState\";\n\n    /// <summary>\n    /// The BrowseName for the GeneralModelChangeEventType component.\n    /// </summary>\n    public const string GeneralModelChangeEventType = \"GeneralModelChangeEventType\";\n\n    /// <summary>\n    /// The BrowseName for the GeneratesEvent component.\n    /// </summary>\n    public const string GeneratesEvent = \"GeneratesEvent\";\n\n    /// <summary>\n    /// The BrowseName for the GetEndpointsRequest component.\n    /// </summary>\n    public const string GetEndpointsRequest = \"GetEndpointsRequest\";\n\n    /// <summary>\n    /// The BrowseName for the GetEndpointsResponse component.\n    /// </summary>\n    public const string GetEndpointsResponse = \"GetEndpointsResponse\";\n\n    /// <summary>\n    /// The BrowseName for the GetMonitoredItems component.\n    /// </summary>\n    public const string GetMonitoredItems = \"GetMonitoredItems\";\n\n    /// <summary>\n    /// The BrowseName for the GetMonitoredItemsMethodType component.\n    /// </summary>\n    public const string GetMonitoredItemsMethodType = \"GetMonitoredItemsMethodType\";\n\n    /// <summary>\n    /// The BrowseName for the GetPosition component.\n    /// </summary>\n    public const string GetPosition = \"GetPosition\";\n\n    /// <summary>\n    /// The BrowseName for the GetPositionMethodType component.\n    /// </summary>\n    public const string GetPositionMethodType = \"GetPositionMethodType\";\n\n    /// <summary>\n    /// The BrowseName for the Guid component.\n    /// </summary>\n    public const string Guid = \"Guid\";\n\n    /// <summary>\n    /// The BrowseName for the HAConfiguration component.\n    /// </summary>\n    public const string HAConfiguration = \"HA Configuration\";\n\n    /// <summary>\n    /// The BrowseName for the Halt component.\n    /// </summary>\n    public const string Halt = \"Halt\";\n\n    /// <summary>\n    /// The BrowseName for the Halted component.\n    /// </summary>\n    public const string Halted = \"Halted\";\n\n    /// <summary>\n    /// The BrowseName for the HaltedToReady component.\n    /// </summary>\n    public const string HaltedToReady = \"HaltedToReady\";\n\n    /// <summary>\n    /// The BrowseName for the HasCause component.\n    /// </summary>\n    public const string HasCause = \"HasCause\";\n\n    /// <summary>\n    /// The BrowseName for the HasChild component.\n    /// </summary>\n    public const string HasChild = \"HasChild\";\n\n    /// <summary>\n    /// The BrowseName for the HasComponent component.\n    /// </summary>\n    public const string HasComponent = \"HasComponent\";\n\n    /// <summary>\n    /// The BrowseName for the HasCondition component.\n    /// </summary>\n    public const string HasCondition = \"HasCondition\";\n\n    /// <summary>\n    /// The BrowseName for the HasDescription component.\n    /// </summary>\n    public const string HasDescription = \"HasDescription\";\n\n    /// <summary>\n    /// The BrowseName for the HasEffect component.\n    /// </summary>\n    public const string HasEffect = \"HasEffect\";\n\n    /// <summary>\n    /// The BrowseName for the HasEncoding component.\n    /// </summary>\n    public const string HasEncoding = \"HasEncoding\";\n\n    /// <summary>\n    /// The BrowseName for the HasEventSource component.\n    /// </summary>\n    public const string HasEventSource = \"HasEventSource\";\n\n    /// <summary>\n    /// The BrowseName for the HasFalseSubState component.\n    /// </summary>\n    public const string HasFalseSubState = \"HasFalseSubState\";\n\n    /// <summary>\n    /// The BrowseName for the HasHistoricalConfiguration component.\n    /// </summary>\n    public const string HasHistoricalConfiguration = \"HasHistoricalConfiguration\";\n\n    /// <summary>\n    /// The BrowseName for the HasModellingRule component.\n    /// </summary>\n    public const string HasModellingRule = \"HasModellingRule\";\n\n    /// <summary>\n    /// The BrowseName for the HasNotifier component.\n    /// </summary>\n    public const string HasNotifier = \"HasNotifier\";\n\n    /// <summary>\n    /// The BrowseName for the HasOrderedComponent component.\n    /// </summary>\n    public const string HasOrderedComponent = \"HasOrderedComponent\";\n\n    /// <summary>\n    /// The BrowseName for the HasProperty component.\n    /// </summary>\n    public const string HasProperty = \"HasProperty\";\n\n    /// <summary>\n    /// The BrowseName for the HasSubStateMachine component.\n    /// </summary>\n    public const string HasSubStateMachine = \"HasSubStateMachine\";\n\n    /// <summary>\n    /// The BrowseName for the HasSubtype component.\n    /// </summary>\n    public const string HasSubtype = \"HasSubtype\";\n\n    /// <summary>\n    /// The BrowseName for the HasTrueSubState component.\n    /// </summary>\n    public const string HasTrueSubState = \"HasTrueSubState\";\n\n    /// <summary>\n    /// The BrowseName for the HasTypeDefinition component.\n    /// </summary>\n    public const string HasTypeDefinition = \"HasTypeDefinition\";\n\n    /// <summary>\n    /// The BrowseName for the HierarchicalReferences component.\n    /// </summary>\n    public const string HierarchicalReferences = \"HierarchicalReferences\";\n\n    /// <summary>\n    /// The BrowseName for the High component.\n    /// </summary>\n    public const string High = \"High\";\n\n    /// <summary>\n    /// The BrowseName for the HighHigh component.\n    /// </summary>\n    public const string HighHigh = \"HighHigh\";\n\n    /// <summary>\n    /// The BrowseName for the HighHighLimit component.\n    /// </summary>\n    public const string HighHighLimit = \"HighHighLimit\";\n\n    /// <summary>\n    /// The BrowseName for the HighHighState component.\n    /// </summary>\n    public const string HighHighState = \"HighHighState\";\n\n    /// <summary>\n    /// The BrowseName for the HighHighToHigh component.\n    /// </summary>\n    public const string HighHighToHigh = \"HighHighToHigh\";\n\n    /// <summary>\n    /// The BrowseName for the HighLimit component.\n    /// </summary>\n    public const string HighLimit = \"HighLimit\";\n\n    /// <summary>\n    /// The BrowseName for the HighState component.\n    /// </summary>\n    public const string HighState = \"HighState\";\n\n    /// <summary>\n    /// The BrowseName for the HighToHighHigh component.\n    /// </summary>\n    public const string HighToHighHigh = \"HighToHighHigh\";\n\n    /// <summary>\n    /// The BrowseName for the HistoricalDataConfigurationType component.\n    /// </summary>\n    public const string HistoricalDataConfigurationType = \"HistoricalDataConfigurationType\";\n\n    /// <summary>\n    /// The BrowseName for the HistoricalEventFilter component.\n    /// </summary>\n    public const string HistoricalEventFilter = \"HistoricalEventFilter\";\n\n    /// <summary>\n    /// The BrowseName for the HistoryData component.\n    /// </summary>\n    public const string HistoryData = \"HistoryData\";\n\n    /// <summary>\n    /// The BrowseName for the HistoryEvent component.\n    /// </summary>\n    public const string HistoryEvent = \"HistoryEvent\";\n\n    /// <summary>\n    /// The BrowseName for the HistoryEventFieldList component.\n    /// </summary>\n    public const string HistoryEventFieldList = \"HistoryEventFieldList\";\n\n    /// <summary>\n    /// The BrowseName for the HistoryModifiedData component.\n    /// </summary>\n    public const string HistoryModifiedData = \"HistoryModifiedData\";\n\n    /// <summary>\n    /// The BrowseName for the HistoryReadCount component.\n    /// </summary>\n    public const string HistoryReadCount = \"HistoryReadCount\";\n\n    /// <summary>\n    /// The BrowseName for the HistoryReadDetails component.\n    /// </summary>\n    public const string HistoryReadDetails = \"HistoryReadDetails\";\n\n    /// <summary>\n    /// The BrowseName for the HistoryReadRequest component.\n    /// </summary>\n    public const string HistoryReadRequest = \"HistoryReadRequest\";\n\n    /// <summary>\n    /// The BrowseName for the HistoryReadResponse component.\n    /// </summary>\n    public const string HistoryReadResponse = \"HistoryReadResponse\";\n\n    /// <summary>\n    /// The BrowseName for the HistoryReadResult component.\n    /// </summary>\n    public const string HistoryReadResult = \"HistoryReadResult\";\n\n    /// <summary>\n    /// The BrowseName for the HistoryReadValueId component.\n    /// </summary>\n    public const string HistoryReadValueId = \"HistoryReadValueId\";\n\n    /// <summary>\n    /// The BrowseName for the HistoryServerCapabilities component.\n    /// </summary>\n    public const string HistoryServerCapabilities = \"HistoryServerCapabilities\";\n\n    /// <summary>\n    /// The BrowseName for the HistoryServerCapabilitiesType component.\n    /// </summary>\n    public const string HistoryServerCapabilitiesType = \"HistoryServerCapabilitiesType\";\n\n    /// <summary>\n    /// The BrowseName for the HistoryUpdateCount component.\n    /// </summary>\n    public const string HistoryUpdateCount = \"HistoryUpdateCount\";\n\n    /// <summary>\n    /// The BrowseName for the HistoryUpdateDetails component.\n    /// </summary>\n    public const string HistoryUpdateDetails = \"HistoryUpdateDetails\";\n\n    /// <summary>\n    /// The BrowseName for the HistoryUpdateEventResult component.\n    /// </summary>\n    public const string HistoryUpdateEventResult = \"HistoryUpdateEventResult\";\n\n    /// <summary>\n    /// The BrowseName for the HistoryUpdateRequest component.\n    /// </summary>\n    public const string HistoryUpdateRequest = \"HistoryUpdateRequest\";\n\n    /// <summary>\n    /// The BrowseName for the HistoryUpdateResponse component.\n    /// </summary>\n    public const string HistoryUpdateResponse = \"HistoryUpdateResponse\";\n\n    /// <summary>\n    /// The BrowseName for the HistoryUpdateResult component.\n    /// </summary>\n    public const string HistoryUpdateResult = \"HistoryUpdateResult\";\n\n    /// <summary>\n    /// The BrowseName for the HistoryUpdateType component.\n    /// </summary>\n    public const string HistoryUpdateType = \"HistoryUpdateType\";\n\n    /// <summary>\n    /// The BrowseName for the Icon component.\n    /// </summary>\n    public const string Icon = \"Icon\";\n\n    /// <summary>\n    /// The BrowseName for the Id component.\n    /// </summary>\n    public const string Id = \"Id\";\n\n    /// <summary>\n    /// The BrowseName for the IdType component.\n    /// </summary>\n    public const string IdType = \"IdType\";\n\n    /// <summary>\n    /// The BrowseName for the Image component.\n    /// </summary>\n    public const string Image = \"Image\";\n\n    /// <summary>\n    /// The BrowseName for the ImageBMP component.\n    /// </summary>\n    public const string ImageBMP = \"ImageBMP\";\n\n    /// <summary>\n    /// The BrowseName for the ImageGIF component.\n    /// </summary>\n    public const string ImageGIF = \"ImageGIF\";\n\n    /// <summary>\n    /// The BrowseName for the ImageItemType component.\n    /// </summary>\n    public const string ImageItemType = \"ImageItemType\";\n\n    /// <summary>\n    /// The BrowseName for the ImageJPG component.\n    /// </summary>\n    public const string ImageJPG = \"ImageJPG\";\n\n    /// <summary>\n    /// The BrowseName for the ImagePNG component.\n    /// </summary>\n    public const string ImagePNG = \"ImagePNG\";\n\n    /// <summary>\n    /// The BrowseName for the IndexRange component.\n    /// </summary>\n    public const string IndexRange = \"IndexRange\";\n\n    /// <summary>\n    /// The BrowseName for the InitialStateType component.\n    /// </summary>\n    public const string InitialStateType = \"InitialStateType\";\n\n    /// <summary>\n    /// The BrowseName for the InputArguments component.\n    /// </summary>\n    public const string InputArguments = \"InputArguments\";\n\n    /// <summary>\n    /// The BrowseName for the InputNode component.\n    /// </summary>\n    public const string InputNode = \"InputNode\";\n\n    /// <summary>\n    /// The BrowseName for the InsertAnnotationCapability component.\n    /// </summary>\n    public const string InsertAnnotationCapability = \"InsertAnnotationCapability\";\n\n    /// <summary>\n    /// The BrowseName for the InsertDataCapability component.\n    /// </summary>\n    public const string InsertDataCapability = \"InsertDataCapability\";\n\n    /// <summary>\n    /// The BrowseName for the InsertEventCapability component.\n    /// </summary>\n    public const string InsertEventCapability = \"InsertEventCapability\";\n\n    /// <summary>\n    /// The BrowseName for the InstanceCount component.\n    /// </summary>\n    public const string InstanceCount = \"InstanceCount\";\n\n    /// <summary>\n    /// The BrowseName for the InstanceNode component.\n    /// </summary>\n    public const string InstanceNode = \"InstanceNode\";\n\n    /// <summary>\n    /// The BrowseName for the InstrumentRange component.\n    /// </summary>\n    public const string InstrumentRange = \"InstrumentRange\";\n\n    /// <summary>\n    /// The BrowseName for the Int16 component.\n    /// </summary>\n    public const string Int16 = \"Int16\";\n\n    /// <summary>\n    /// The BrowseName for the Int32 component.\n    /// </summary>\n    public const string Int32 = \"Int32\";\n\n    /// <summary>\n    /// The BrowseName for the Int64 component.\n    /// </summary>\n    public const string Int64 = \"Int64\";\n\n    /// <summary>\n    /// The BrowseName for the Integer component.\n    /// </summary>\n    public const string Integer = \"Integer\";\n\n    /// <summary>\n    /// The BrowseName for the IntegerId component.\n    /// </summary>\n    public const string IntegerId = \"IntegerId\";\n\n    /// <summary>\n    /// The BrowseName for the IntermediateResult component.\n    /// </summary>\n    public const string IntermediateResult = \"IntermediateResult\";\n\n    /// <summary>\n    /// The BrowseName for the InvalidHostname component.\n    /// </summary>\n    public const string InvalidHostname = \"InvalidHostname\";\n\n    /// <summary>\n    /// The BrowseName for the InvalidUri component.\n    /// </summary>\n    public const string InvalidUri = \"InvalidUri\";\n\n    /// <summary>\n    /// The BrowseName for the InvocationCreationTime component.\n    /// </summary>\n    public const string InvocationCreationTime = \"InvocationCreationTime\";\n\n    /// <summary>\n    /// The BrowseName for the IsDeleteModified component.\n    /// </summary>\n    public const string IsDeleteModified = \"IsDeleteModified\";\n\n    /// <summary>\n    /// The BrowseName for the IsNamespaceSubset component.\n    /// </summary>\n    public const string IsNamespaceSubset = \"IsNamespaceSubset\";\n\n    /// <summary>\n    /// The BrowseName for the IssuedIdentityToken component.\n    /// </summary>\n    public const string IssuedIdentityToken = \"IssuedIdentityToken\";\n\n    /// <summary>\n    /// The BrowseName for the LastMethodCall component.\n    /// </summary>\n    public const string LastMethodCall = \"LastMethodCall\";\n\n    /// <summary>\n    /// The BrowseName for the LastMethodCallTime component.\n    /// </summary>\n    public const string LastMethodCallTime = \"LastMethodCallTime\";\n\n    /// <summary>\n    /// The BrowseName for the LastMethodInputArguments component.\n    /// </summary>\n    public const string LastMethodInputArguments = \"LastMethodInputArguments\";\n\n    /// <summary>\n    /// The BrowseName for the LastMethodOutputArguments component.\n    /// </summary>\n    public const string LastMethodOutputArguments = \"LastMethodOutputArguments\";\n\n    /// <summary>\n    /// The BrowseName for the LastMethodReturnStatus component.\n    /// </summary>\n    public const string LastMethodReturnStatus = \"LastMethodReturnStatus\";\n\n    /// <summary>\n    /// The BrowseName for the LastMethodSessionId component.\n    /// </summary>\n    public const string LastMethodSessionId = \"LastMethodSessionId\";\n\n    /// <summary>\n    /// The BrowseName for the LastResponse component.\n    /// </summary>\n    public const string LastResponse = \"LastResponse\";\n\n    /// <summary>\n    /// The BrowseName for the LastSeverity component.\n    /// </summary>\n    public const string LastSeverity = \"LastSeverity\";\n\n    /// <summary>\n    /// The BrowseName for the LastTransition component.\n    /// </summary>\n    public const string LastTransition = \"LastTransition\";\n\n    /// <summary>\n    /// The BrowseName for the LastTransitionTime component.\n    /// </summary>\n    public const string LastTransitionTime = \"LastTransitionTime\";\n\n    /// <summary>\n    /// The BrowseName for the LatePublishRequestCount component.\n    /// </summary>\n    public const string LatePublishRequestCount = \"LatePublishRequestCount\";\n\n    /// <summary>\n    /// The BrowseName for the LimitAlarmType component.\n    /// </summary>\n    public const string LimitAlarmType = \"LimitAlarmType\";\n\n    /// <summary>\n    /// The BrowseName for the LimitState component.\n    /// </summary>\n    public const string LimitState = \"LimitState\";\n\n    /// <summary>\n    /// The BrowseName for the LiteralOperand component.\n    /// </summary>\n    public const string LiteralOperand = \"LiteralOperand\";\n\n    /// <summary>\n    /// The BrowseName for the LocaleId component.\n    /// </summary>\n    public const string LocaleId = \"LocaleId\";\n\n    /// <summary>\n    /// The BrowseName for the LocaleIdArray component.\n    /// </summary>\n    public const string LocaleIdArray = \"LocaleIdArray\";\n\n    /// <summary>\n    /// The BrowseName for the LocaleIds component.\n    /// </summary>\n    public const string LocaleIds = \"LocaleIds\";\n\n    /// <summary>\n    /// The BrowseName for the LocalizedText component.\n    /// </summary>\n    public const string LocalizedText = \"LocalizedText\";\n\n    /// <summary>\n    /// The BrowseName for the LocalTime component.\n    /// </summary>\n    public const string LocalTime = \"LocalTime\";\n\n    /// <summary>\n    /// The BrowseName for the Lock component.\n    /// </summary>\n    public const string Lock = \"Lock\";\n\n    /// <summary>\n    /// The BrowseName for the LockType component.\n    /// </summary>\n    public const string LockType = \"LockType\";\n\n    /// <summary>\n    /// The BrowseName for the Low component.\n    /// </summary>\n    public const string Low = \"Low\";\n\n    /// <summary>\n    /// The BrowseName for the LowLimit component.\n    /// </summary>\n    public const string LowLimit = \"LowLimit\";\n\n    /// <summary>\n    /// The BrowseName for the LowLow component.\n    /// </summary>\n    public const string LowLow = \"LowLow\";\n\n    /// <summary>\n    /// The BrowseName for the LowLowLimit component.\n    /// </summary>\n    public const string LowLowLimit = \"LowLowLimit\";\n\n    /// <summary>\n    /// The BrowseName for the LowLowState component.\n    /// </summary>\n    public const string LowLowState = \"LowLowState\";\n\n    /// <summary>\n    /// The BrowseName for the LowLowToLow component.\n    /// </summary>\n    public const string LowLowToLow = \"LowLowToLow\";\n\n    /// <summary>\n    /// The BrowseName for the LowState component.\n    /// </summary>\n    public const string LowState = \"LowState\";\n\n    /// <summary>\n    /// The BrowseName for the LowToLowLow component.\n    /// </summary>\n    public const string LowToLowLow = \"LowToLowLow\";\n\n    /// <summary>\n    /// The BrowseName for the MaintenanceConditionClassType component.\n    /// </summary>\n    public const string MaintenanceConditionClassType = \"MaintenanceConditionClassType\";\n\n    /// <summary>\n    /// The BrowseName for the ManufacturerName component.\n    /// </summary>\n    public const string ManufacturerName = \"ManufacturerName\";\n\n    /// <summary>\n    /// The BrowseName for the MaxArrayLength component.\n    /// </summary>\n    public const string MaxArrayLength = \"MaxArrayLength\";\n\n    /// <summary>\n    /// The BrowseName for the MaxBrowseContinuationPoints component.\n    /// </summary>\n    public const string MaxBrowseContinuationPoints = \"MaxBrowseContinuationPoints\";\n\n    /// <summary>\n    /// The BrowseName for the MaxHistoryContinuationPoints component.\n    /// </summary>\n    public const string MaxHistoryContinuationPoints = \"MaxHistoryContinuationPoints\";\n\n    /// <summary>\n    /// The BrowseName for the MaxInstanceCount component.\n    /// </summary>\n    public const string MaxInstanceCount = \"MaxInstanceCount\";\n\n    /// <summary>\n    /// The BrowseName for the MaxKeepAliveCount component.\n    /// </summary>\n    public const string MaxKeepAliveCount = \"MaxKeepAliveCount\";\n\n    /// <summary>\n    /// The BrowseName for the MaxLifetimeCount component.\n    /// </summary>\n    public const string MaxLifetimeCount = \"MaxLifetimeCount\";\n\n    /// <summary>\n    /// The BrowseName for the MaxMonitoredItemsPerCall component.\n    /// </summary>\n    public const string MaxMonitoredItemsPerCall = \"MaxMonitoredItemsPerCall\";\n\n    /// <summary>\n    /// The BrowseName for the MaxNodesPerBrowse component.\n    /// </summary>\n    public const string MaxNodesPerBrowse = \"MaxNodesPerBrowse\";\n\n    /// <summary>\n    /// The BrowseName for the MaxNodesPerHistoryReadData component.\n    /// </summary>\n    public const string MaxNodesPerHistoryReadData = \"MaxNodesPerHistoryReadData\";\n\n    /// <summary>\n    /// The BrowseName for the MaxNodesPerHistoryReadEvents component.\n    /// </summary>\n    public const string MaxNodesPerHistoryReadEvents = \"MaxNodesPerHistoryReadEvents\";\n\n    /// <summary>\n    /// The BrowseName for the MaxNodesPerHistoryUpdateData component.\n    /// </summary>\n    public const string MaxNodesPerHistoryUpdateData = \"MaxNodesPerHistoryUpdateData\";\n\n    /// <summary>\n    /// The BrowseName for the MaxNodesPerHistoryUpdateEvents component.\n    /// </summary>\n    public const string MaxNodesPerHistoryUpdateEvents = \"MaxNodesPerHistoryUpdateEvents\";\n\n    /// <summary>\n    /// The BrowseName for the MaxNodesPerMethodCall component.\n    /// </summary>\n    public const string MaxNodesPerMethodCall = \"MaxNodesPerMethodCall\";\n\n    /// <summary>\n    /// The BrowseName for the MaxNodesPerNodeManagement component.\n    /// </summary>\n    public const string MaxNodesPerNodeManagement = \"MaxNodesPerNodeManagement\";\n\n    /// <summary>\n    /// The BrowseName for the MaxNodesPerRead component.\n    /// </summary>\n    public const string MaxNodesPerRead = \"MaxNodesPerRead\";\n\n    /// <summary>\n    /// The BrowseName for the MaxNodesPerRegisterNodes component.\n    /// </summary>\n    public const string MaxNodesPerRegisterNodes = \"MaxNodesPerRegisterNodes\";\n\n    /// <summary>\n    /// The BrowseName for the MaxNodesPerTranslateBrowsePathsToNodeIds component.\n    /// </summary>\n    public const string MaxNodesPerTranslateBrowsePathsToNodeIds = \"MaxNodesPerTranslateBrowsePathsToNodeIds\";\n\n    /// <summary>\n    /// The BrowseName for the MaxNodesPerWrite component.\n    /// </summary>\n    public const string MaxNodesPerWrite = \"MaxNodesPerWrite\";\n\n    /// <summary>\n    /// The BrowseName for the MaxNotificationsPerPublish component.\n    /// </summary>\n    public const string MaxNotificationsPerPublish = \"MaxNotificationsPerPublish\";\n\n    /// <summary>\n    /// The BrowseName for the MaxQueryContinuationPoints component.\n    /// </summary>\n    public const string MaxQueryContinuationPoints = \"MaxQueryContinuationPoints\";\n\n    /// <summary>\n    /// The BrowseName for the MaxRecycleCount component.\n    /// </summary>\n    public const string MaxRecycleCount = \"MaxRecycleCount\";\n\n    /// <summary>\n    /// The BrowseName for the MaxResponseMessageSize component.\n    /// </summary>\n    public const string MaxResponseMessageSize = \"MaxResponseMessageSize\";\n\n    /// <summary>\n    /// The BrowseName for the MaxReturnDataValues component.\n    /// </summary>\n    public const string MaxReturnDataValues = \"MaxReturnDataValues\";\n\n    /// <summary>\n    /// The BrowseName for the MaxReturnEventValues component.\n    /// </summary>\n    public const string MaxReturnEventValues = \"MaxReturnEventValues\";\n\n    /// <summary>\n    /// The BrowseName for the MaxSampledMonitoredItemsCount component.\n    /// </summary>\n    public const string MaxSampledMonitoredItemsCount = \"MaxSampledMonitoredItemsCount\";\n\n    /// <summary>\n    /// The BrowseName for the MaxStringLength component.\n    /// </summary>\n    public const string MaxStringLength = \"MaxStringLength\";\n\n    /// <summary>\n    /// The BrowseName for the MaxTimeInterval component.\n    /// </summary>\n    public const string MaxTimeInterval = \"MaxTimeInterval\";\n\n    /// <summary>\n    /// The BrowseName for the MaxTimeShelved component.\n    /// </summary>\n    public const string MaxTimeShelved = \"MaxTimeShelved\";\n\n    /// <summary>\n    /// The BrowseName for the Message component.\n    /// </summary>\n    public const string Message = \"Message\";\n\n    /// <summary>\n    /// The BrowseName for the MessageSecurityMode component.\n    /// </summary>\n    public const string MessageSecurityMode = \"MessageSecurityMode\";\n\n    /// <summary>\n    /// The BrowseName for the MethodAttributes component.\n    /// </summary>\n    public const string MethodAttributes = \"MethodAttributes\";\n\n    /// <summary>\n    /// The BrowseName for the MethodId component.\n    /// </summary>\n    public const string MethodId = \"MethodId\";\n\n    /// <summary>\n    /// The BrowseName for the MethodNode component.\n    /// </summary>\n    public const string MethodNode = \"MethodNode\";\n\n    /// <summary>\n    /// The BrowseName for the MinSupportedSampleRate component.\n    /// </summary>\n    public const string MinSupportedSampleRate = \"MinSupportedSampleRate\";\n\n    /// <summary>\n    /// The BrowseName for the MinTimeInterval component.\n    /// </summary>\n    public const string MinTimeInterval = \"MinTimeInterval\";\n\n    /// <summary>\n    /// The BrowseName for the ModelChangeStructureDataType component.\n    /// </summary>\n    public const string ModelChangeStructureDataType = \"ModelChangeStructureDataType\";\n\n    /// <summary>\n    /// The BrowseName for the ModelChangeStructureVerbMask component.\n    /// </summary>\n    public const string ModelChangeStructureVerbMask = \"ModelChangeStructureVerbMask\";\n\n    /// <summary>\n    /// The BrowseName for the ModellingRule_ExposesItsArray component.\n    /// </summary>\n    public const string ModellingRule_ExposesItsArray = \"ExposesItsArray\";\n\n    /// <summary>\n    /// The BrowseName for the ModellingRule_Mandatory component.\n    /// </summary>\n    public const string ModellingRule_Mandatory = \"Mandatory\";\n\n    /// <summary>\n    /// The BrowseName for the ModellingRule_MandatoryPlaceholder component.\n    /// </summary>\n    public const string ModellingRule_MandatoryPlaceholder = \"MandatoryPlaceholder\";\n\n    /// <summary>\n    /// The BrowseName for the ModellingRule_MandatoryShared component.\n    /// </summary>\n    public const string ModellingRule_MandatoryShared = \"MandatoryShared\";\n\n    /// <summary>\n    /// The BrowseName for the ModellingRule_Optional component.\n    /// </summary>\n    public const string ModellingRule_Optional = \"Optional\";\n\n    /// <summary>\n    /// The BrowseName for the ModellingRule_OptionalPlaceholder component.\n    /// </summary>\n    public const string ModellingRule_OptionalPlaceholder = \"OptionalPlaceholder\";\n\n    /// <summary>\n    /// The BrowseName for the ModellingRules component.\n    /// </summary>\n    public const string ModellingRules = \"ModellingRules\";\n\n    /// <summary>\n    /// The BrowseName for the ModellingRuleType component.\n    /// </summary>\n    public const string ModellingRuleType = \"ModellingRuleType\";\n\n    /// <summary>\n    /// The BrowseName for the ModificationInfo component.\n    /// </summary>\n    public const string ModificationInfo = \"ModificationInfo\";\n\n    /// <summary>\n    /// The BrowseName for the ModifyCount component.\n    /// </summary>\n    public const string ModifyCount = \"ModifyCount\";\n\n    /// <summary>\n    /// The BrowseName for the ModifyMonitoredItemsCount component.\n    /// </summary>\n    public const string ModifyMonitoredItemsCount = \"ModifyMonitoredItemsCount\";\n\n    /// <summary>\n    /// The BrowseName for the ModifyMonitoredItemsRequest component.\n    /// </summary>\n    public const string ModifyMonitoredItemsRequest = \"ModifyMonitoredItemsRequest\";\n\n    /// <summary>\n    /// The BrowseName for the ModifyMonitoredItemsResponse component.\n    /// </summary>\n    public const string ModifyMonitoredItemsResponse = \"ModifyMonitoredItemsResponse\";\n\n    /// <summary>\n    /// The BrowseName for the ModifySubscriptionCount component.\n    /// </summary>\n    public const string ModifySubscriptionCount = \"ModifySubscriptionCount\";\n\n    /// <summary>\n    /// The BrowseName for the ModifySubscriptionRequest component.\n    /// </summary>\n    public const string ModifySubscriptionRequest = \"ModifySubscriptionRequest\";\n\n    /// <summary>\n    /// The BrowseName for the ModifySubscriptionResponse component.\n    /// </summary>\n    public const string ModifySubscriptionResponse = \"ModifySubscriptionResponse\";\n\n    /// <summary>\n    /// The BrowseName for the MonitoredItemCount component.\n    /// </summary>\n    public const string MonitoredItemCount = \"MonitoredItemCount\";\n\n    /// <summary>\n    /// The BrowseName for the MonitoredItemCreateRequest component.\n    /// </summary>\n    public const string MonitoredItemCreateRequest = \"MonitoredItemCreateRequest\";\n\n    /// <summary>\n    /// The BrowseName for the MonitoredItemCreateResult component.\n    /// </summary>\n    public const string MonitoredItemCreateResult = \"MonitoredItemCreateResult\";\n\n    /// <summary>\n    /// The BrowseName for the MonitoredItemModifyRequest component.\n    /// </summary>\n    public const string MonitoredItemModifyRequest = \"MonitoredItemModifyRequest\";\n\n    /// <summary>\n    /// The BrowseName for the MonitoredItemModifyResult component.\n    /// </summary>\n    public const string MonitoredItemModifyResult = \"MonitoredItemModifyResult\";\n\n    /// <summary>\n    /// The BrowseName for the MonitoredItemNotification component.\n    /// </summary>\n    public const string MonitoredItemNotification = \"MonitoredItemNotification\";\n\n    /// <summary>\n    /// The BrowseName for the MonitoringFilter component.\n    /// </summary>\n    public const string MonitoringFilter = \"MonitoringFilter\";\n\n    /// <summary>\n    /// The BrowseName for the MonitoringFilterResult component.\n    /// </summary>\n    public const string MonitoringFilterResult = \"MonitoringFilterResult\";\n\n    /// <summary>\n    /// The BrowseName for the MonitoringMode component.\n    /// </summary>\n    public const string MonitoringMode = \"MonitoringMode\";\n\n    /// <summary>\n    /// The BrowseName for the MonitoringParameters component.\n    /// </summary>\n    public const string MonitoringParameters = \"MonitoringParameters\";\n\n    /// <summary>\n    /// The BrowseName for the MonitoringQueueOverflowCount component.\n    /// </summary>\n    public const string MonitoringQueueOverflowCount = \"MonitoringQueueOverflowCount\";\n\n    /// <summary>\n    /// The BrowseName for the MultiStateDiscreteType component.\n    /// </summary>\n    public const string MultiStateDiscreteType = \"MultiStateDiscreteType\";\n\n    /// <summary>\n    /// The BrowseName for the MultiStateValueDiscreteType component.\n    /// </summary>\n    public const string MultiStateValueDiscreteType = \"MultiStateValueDiscreteType\";\n\n    /// <summary>\n    /// The BrowseName for the Name component.\n    /// </summary>\n    public const string Name = \"Name\";\n\n    /// <summary>\n    /// The BrowseName for the NamespaceArray component.\n    /// </summary>\n    public const string NamespaceArray = \"NamespaceArray\";\n\n    /// <summary>\n    /// The BrowseName for the NamespaceFile component.\n    /// </summary>\n    public const string NamespaceFile = \"NamespaceFile\";\n\n    /// <summary>\n    /// The BrowseName for the NamespaceIdentifier component.\n    /// </summary>\n    public const string NamespaceIdentifier = \"<NamespaceIdentifier>\";\n\n    /// <summary>\n    /// The BrowseName for the NamespaceMetadataType component.\n    /// </summary>\n    public const string NamespaceMetadataType = \"NamespaceMetadataType\";\n\n    /// <summary>\n    /// The BrowseName for the NamespacePublicationDate component.\n    /// </summary>\n    public const string NamespacePublicationDate = \"NamespacePublicationDate\";\n\n    /// <summary>\n    /// The BrowseName for the Namespaces component.\n    /// </summary>\n    public const string Namespaces = \"Namespaces\";\n\n    /// <summary>\n    /// The BrowseName for the NamespacesType component.\n    /// </summary>\n    public const string NamespacesType = \"NamespacesType\";\n\n    /// <summary>\n    /// The BrowseName for the NamespaceUri component.\n    /// </summary>\n    public const string NamespaceUri = \"NamespaceUri\";\n\n    /// <summary>\n    /// The BrowseName for the NamespaceVersion component.\n    /// </summary>\n    public const string NamespaceVersion = \"NamespaceVersion\";\n\n    /// <summary>\n    /// The BrowseName for the NamingRule component.\n    /// </summary>\n    public const string NamingRule = \"NamingRule\";\n\n    /// <summary>\n    /// The BrowseName for the NamingRuleType component.\n    /// </summary>\n    public const string NamingRuleType = \"NamingRuleType\";\n\n    /// <summary>\n    /// The BrowseName for the NDimensionArrayItemType component.\n    /// </summary>\n    public const string NDimensionArrayItemType = \"NDimensionArrayItemType\";\n\n    /// <summary>\n    /// The BrowseName for the NetworkGroupDataType component.\n    /// </summary>\n    public const string NetworkGroupDataType = \"NetworkGroupDataType\";\n\n    /// <summary>\n    /// The BrowseName for the NewStateId component.\n    /// </summary>\n    public const string NewStateId = \"NewStateId\";\n\n    /// <summary>\n    /// The BrowseName for the NewValue component.\n    /// </summary>\n    public const string NewValue = \"NewValue\";\n\n    /// <summary>\n    /// The BrowseName for the NewValues component.\n    /// </summary>\n    public const string NewValues = \"NewValues\";\n\n    /// <summary>\n    /// The BrowseName for the NextSequenceNumber component.\n    /// </summary>\n    public const string NextSequenceNumber = \"NextSequenceNumber\";\n\n    /// <summary>\n    /// The BrowseName for the Node component.\n    /// </summary>\n    public const string Node = \"Node\";\n\n    /// <summary>\n    /// The BrowseName for the NodeAttributes component.\n    /// </summary>\n    public const string NodeAttributes = \"NodeAttributes\";\n\n    /// <summary>\n    /// The BrowseName for the NodeAttributesMask component.\n    /// </summary>\n    public const string NodeAttributesMask = \"NodeAttributesMask\";\n\n    /// <summary>\n    /// The BrowseName for the NodeClass component.\n    /// </summary>\n    public const string NodeClass = \"NodeClass\";\n\n    /// <summary>\n    /// The BrowseName for the NodeId component.\n    /// </summary>\n    public const string NodeId = \"NodeId\";\n\n    /// <summary>\n    /// The BrowseName for the NodeReference component.\n    /// </summary>\n    public const string NodeReference = \"NodeReference\";\n\n    /// <summary>\n    /// The BrowseName for the NodesToAdd component.\n    /// </summary>\n    public const string NodesToAdd = \"NodesToAdd\";\n\n    /// <summary>\n    /// The BrowseName for the NodesToDelete component.\n    /// </summary>\n    public const string NodesToDelete = \"NodesToDelete\";\n\n    /// <summary>\n    /// The BrowseName for the NodeTypeDescription component.\n    /// </summary>\n    public const string NodeTypeDescription = \"NodeTypeDescription\";\n\n    /// <summary>\n    /// The BrowseName for the NodeVersion component.\n    /// </summary>\n    public const string NodeVersion = \"NodeVersion\";\n\n    /// <summary>\n    /// The BrowseName for the NonExclusiveDeviationAlarmType component.\n    /// </summary>\n    public const string NonExclusiveDeviationAlarmType = \"NonExclusiveDeviationAlarmType\";\n\n    /// <summary>\n    /// The BrowseName for the NonExclusiveLevelAlarmType component.\n    /// </summary>\n    public const string NonExclusiveLevelAlarmType = \"NonExclusiveLevelAlarmType\";\n\n    /// <summary>\n    /// The BrowseName for the NonExclusiveLimitAlarmType component.\n    /// </summary>\n    public const string NonExclusiveLimitAlarmType = \"NonExclusiveLimitAlarmType\";\n\n    /// <summary>\n    /// The BrowseName for the NonExclusiveRateOfChangeAlarmType component.\n    /// </summary>\n    public const string NonExclusiveRateOfChangeAlarmType = \"NonExclusiveRateOfChangeAlarmType\";\n\n    /// <summary>\n    /// The BrowseName for the NonHierarchicalReferences component.\n    /// </summary>\n    public const string NonHierarchicalReferences = \"NonHierarchicalReferences\";\n\n    /// <summary>\n    /// The BrowseName for the NonTransparentNetworkRedundancyType component.\n    /// </summary>\n    public const string NonTransparentNetworkRedundancyType = \"NonTransparentNetworkRedundancyType\";\n\n    /// <summary>\n    /// The BrowseName for the NonTransparentRedundancyType component.\n    /// </summary>\n    public const string NonTransparentRedundancyType = \"NonTransparentRedundancyType\";\n\n    /// <summary>\n    /// The BrowseName for the NormalState component.\n    /// </summary>\n    public const string NormalState = \"NormalState\";\n\n    /// <summary>\n    /// The BrowseName for the NotificationData component.\n    /// </summary>\n    public const string NotificationData = \"NotificationData\";\n\n    /// <summary>\n    /// The BrowseName for the NotificationMessage component.\n    /// </summary>\n    public const string NotificationMessage = \"NotificationMessage\";\n\n    /// <summary>\n    /// The BrowseName for the NotificationsCount component.\n    /// </summary>\n    public const string NotificationsCount = \"NotificationsCount\";\n\n    /// <summary>\n    /// The BrowseName for the Number component.\n    /// </summary>\n    public const string Number = \"Number\";\n\n    /// <summary>\n    /// The BrowseName for the NumericRange component.\n    /// </summary>\n    public const string NumericRange = \"NumericRange\";\n\n    /// <summary>\n    /// The BrowseName for the ObjectAttributes component.\n    /// </summary>\n    public const string ObjectAttributes = \"ObjectAttributes\";\n\n    /// <summary>\n    /// The BrowseName for the ObjectNode component.\n    /// </summary>\n    public const string ObjectNode = \"ObjectNode\";\n\n    /// <summary>\n    /// The BrowseName for the ObjectsFolder component.\n    /// </summary>\n    public const string ObjectsFolder = \"Objects\";\n\n    /// <summary>\n    /// The BrowseName for the ObjectTypeAttributes component.\n    /// </summary>\n    public const string ObjectTypeAttributes = \"ObjectTypeAttributes\";\n\n    /// <summary>\n    /// The BrowseName for the ObjectTypeNode component.\n    /// </summary>\n    public const string ObjectTypeNode = \"ObjectTypeNode\";\n\n    /// <summary>\n    /// The BrowseName for the ObjectTypesFolder component.\n    /// </summary>\n    public const string ObjectTypesFolder = \"ObjectTypes\";\n\n    /// <summary>\n    /// The BrowseName for the OffNormalAlarmType component.\n    /// </summary>\n    public const string OffNormalAlarmType = \"OffNormalAlarmType\";\n\n    /// <summary>\n    /// The BrowseName for the OkResponse component.\n    /// </summary>\n    public const string OkResponse = \"OkResponse\";\n\n    /// <summary>\n    /// The BrowseName for the OldStateId component.\n    /// </summary>\n    public const string OldStateId = \"OldStateId\";\n\n    /// <summary>\n    /// The BrowseName for the OldValue component.\n    /// </summary>\n    public const string OldValue = \"OldValue\";\n\n    /// <summary>\n    /// The BrowseName for the OldValues component.\n    /// </summary>\n    public const string OldValues = \"OldValues\";\n\n    /// <summary>\n    /// The BrowseName for the OneShotShelve component.\n    /// </summary>\n    public const string OneShotShelve = \"OneShotShelve\";\n\n    /// <summary>\n    /// The BrowseName for the OneShotShelved component.\n    /// </summary>\n    public const string OneShotShelved = \"OneShotShelved\";\n\n    /// <summary>\n    /// The BrowseName for the OneShotShelvedToTimedShelved component.\n    /// </summary>\n    public const string OneShotShelvedToTimedShelved = \"OneShotShelvedToTimedShelved\";\n\n    /// <summary>\n    /// The BrowseName for the OneShotShelvedToUnshelved component.\n    /// </summary>\n    public const string OneShotShelvedToUnshelved = \"OneShotShelvedToUnshelved\";\n\n    /// <summary>\n    /// The BrowseName for the OPCBinarySchema_TypeSystem component.\n    /// </summary>\n    public const string OPCBinarySchema_TypeSystem = \"OPC Binary\";\n\n    /// <summary>\n    /// The BrowseName for the OpcUa_BinarySchema component.\n    /// </summary>\n    public const string OpcUa_BinarySchema = \"Opc.Ua\";\n\n    /// <summary>\n    /// The BrowseName for the OpcUa_XmlSchema component.\n    /// </summary>\n    public const string OpcUa_XmlSchema = \"Opc.Ua\";\n\n    /// <summary>\n    /// The BrowseName for the Open component.\n    /// </summary>\n    public const string Open = \"Open\";\n\n    /// <summary>\n    /// The BrowseName for the OpenCount component.\n    /// </summary>\n    public const string OpenCount = \"OpenCount\";\n\n    /// <summary>\n    /// The BrowseName for the OpenFileMode component.\n    /// </summary>\n    public const string OpenFileMode = \"OpenFileMode\";\n\n    /// <summary>\n    /// The BrowseName for the OpenMethodType component.\n    /// </summary>\n    public const string OpenMethodType = \"OpenMethodType\";\n\n    /// <summary>\n    /// The BrowseName for the OpenSecureChannelRequest component.\n    /// </summary>\n    public const string OpenSecureChannelRequest = \"OpenSecureChannelRequest\";\n\n    /// <summary>\n    /// The BrowseName for the OpenSecureChannelResponse component.\n    /// </summary>\n    public const string OpenSecureChannelResponse = \"OpenSecureChannelResponse\";\n\n    /// <summary>\n    /// The BrowseName for the OperationLimits component.\n    /// </summary>\n    public const string OperationLimits = \"OperationLimits\";\n\n    /// <summary>\n    /// The BrowseName for the OperationLimitsType component.\n    /// </summary>\n    public const string OperationLimitsType = \"OperationLimitsType\";\n\n    /// <summary>\n    /// The BrowseName for the OptionSetType component.\n    /// </summary>\n    public const string OptionSetType = \"OptionSetType\";\n\n    /// <summary>\n    /// The BrowseName for the OptionSetValues component.\n    /// </summary>\n    public const string OptionSetValues = \"OptionSetValues\";\n\n    /// <summary>\n    /// The BrowseName for the Organizes component.\n    /// </summary>\n    public const string Organizes = \"Organizes\";\n\n    /// <summary>\n    /// The BrowseName for the OutputArguments component.\n    /// </summary>\n    public const string OutputArguments = \"OutputArguments\";\n\n    /// <summary>\n    /// The BrowseName for the ParameterDataTypeId component.\n    /// </summary>\n    public const string ParameterDataTypeId = \"ParameterDataTypeId\";\n\n    /// <summary>\n    /// The BrowseName for the ParsingResult component.\n    /// </summary>\n    public const string ParsingResult = \"ParsingResult\";\n\n    /// <summary>\n    /// The BrowseName for the PercentDataBad component.\n    /// </summary>\n    public const string PercentDataBad = \"PercentDataBad\";\n\n    /// <summary>\n    /// The BrowseName for the PercentDataGood component.\n    /// </summary>\n    public const string PercentDataGood = \"PercentDataGood\";\n\n    /// <summary>\n    /// The BrowseName for the PerformInsertReplace component.\n    /// </summary>\n    public const string PerformInsertReplace = \"PerformInsertReplace\";\n\n    /// <summary>\n    /// The BrowseName for the PerformUpdateType component.\n    /// </summary>\n    public const string PerformUpdateType = \"PerformUpdateType\";\n\n    /// <summary>\n    /// The BrowseName for the Priority component.\n    /// </summary>\n    public const string Priority = \"Priority\";\n\n    /// <summary>\n    /// The BrowseName for the ProcessConditionClassType component.\n    /// </summary>\n    public const string ProcessConditionClassType = \"ProcessConditionClassType\";\n\n    /// <summary>\n    /// The BrowseName for the ProductName component.\n    /// </summary>\n    public const string ProductName = \"ProductName\";\n\n    /// <summary>\n    /// The BrowseName for the ProductUri component.\n    /// </summary>\n    public const string ProductUri = \"ProductUri\";\n\n    /// <summary>\n    /// The BrowseName for the ProgramDiagnosticDataType component.\n    /// </summary>\n    public const string ProgramDiagnosticDataType = \"ProgramDiagnosticDataType\";\n\n    /// <summary>\n    /// The BrowseName for the ProgramDiagnostics component.\n    /// </summary>\n    public const string ProgramDiagnostics = \"ProgramDiagnostics\";\n\n    /// <summary>\n    /// The BrowseName for the ProgramDiagnosticType component.\n    /// </summary>\n    public const string ProgramDiagnosticType = \"ProgramDiagnosticType\";\n\n    /// <summary>\n    /// The BrowseName for the ProgramStateMachineType component.\n    /// </summary>\n    public const string ProgramStateMachineType = \"ProgramStateMachineType\";\n\n    /// <summary>\n    /// The BrowseName for the ProgramTransitionAuditEventType component.\n    /// </summary>\n    public const string ProgramTransitionAuditEventType = \"ProgramTransitionAuditEventType\";\n\n    /// <summary>\n    /// The BrowseName for the ProgramTransitionEventType component.\n    /// </summary>\n    public const string ProgramTransitionEventType = \"ProgramTransitionEventType\";\n\n    /// <summary>\n    /// The BrowseName for the ProgressEventType component.\n    /// </summary>\n    public const string ProgressEventType = \"ProgressEventType\";\n\n    /// <summary>\n    /// The BrowseName for the Prompt component.\n    /// </summary>\n    public const string Prompt = \"Prompt\";\n\n    /// <summary>\n    /// The BrowseName for the PropertyType component.\n    /// </summary>\n    public const string PropertyType = \"PropertyType\";\n\n    /// <summary>\n    /// The BrowseName for the PublishCount component.\n    /// </summary>\n    public const string PublishCount = \"PublishCount\";\n\n    /// <summary>\n    /// The BrowseName for the PublishingEnabled component.\n    /// </summary>\n    public const string PublishingEnabled = \"PublishingEnabled\";\n\n    /// <summary>\n    /// The BrowseName for the PublishingInterval component.\n    /// </summary>\n    public const string PublishingInterval = \"PublishingInterval\";\n\n    /// <summary>\n    /// The BrowseName for the PublishingIntervalCount component.\n    /// </summary>\n    public const string PublishingIntervalCount = \"PublishingIntervalCount\";\n\n    /// <summary>\n    /// The BrowseName for the PublishRequest component.\n    /// </summary>\n    public const string PublishRequest = \"PublishRequest\";\n\n    /// <summary>\n    /// The BrowseName for the PublishRequestCount component.\n    /// </summary>\n    public const string PublishRequestCount = \"PublishRequestCount\";\n\n    /// <summary>\n    /// The BrowseName for the PublishResponse component.\n    /// </summary>\n    public const string PublishResponse = \"PublishResponse\";\n\n    /// <summary>\n    /// The BrowseName for the QualifiedName component.\n    /// </summary>\n    public const string QualifiedName = \"QualifiedName\";\n\n    /// <summary>\n    /// The BrowseName for the Quality component.\n    /// </summary>\n    public const string Quality = \"Quality\";\n\n    /// <summary>\n    /// The BrowseName for the QueryDataDescription component.\n    /// </summary>\n    public const string QueryDataDescription = \"QueryDataDescription\";\n\n    /// <summary>\n    /// The BrowseName for the QueryDataSet component.\n    /// </summary>\n    public const string QueryDataSet = \"QueryDataSet\";\n\n    /// <summary>\n    /// The BrowseName for the QueryFirstCount component.\n    /// </summary>\n    public const string QueryFirstCount = \"QueryFirstCount\";\n\n    /// <summary>\n    /// The BrowseName for the QueryFirstRequest component.\n    /// </summary>\n    public const string QueryFirstRequest = \"QueryFirstRequest\";\n\n    /// <summary>\n    /// The BrowseName for the QueryFirstResponse component.\n    /// </summary>\n    public const string QueryFirstResponse = \"QueryFirstResponse\";\n\n    /// <summary>\n    /// The BrowseName for the QueryNextCount component.\n    /// </summary>\n    public const string QueryNextCount = \"QueryNextCount\";\n\n    /// <summary>\n    /// The BrowseName for the QueryNextRequest component.\n    /// </summary>\n    public const string QueryNextRequest = \"QueryNextRequest\";\n\n    /// <summary>\n    /// The BrowseName for the QueryNextResponse component.\n    /// </summary>\n    public const string QueryNextResponse = \"QueryNextResponse\";\n\n    /// <summary>\n    /// The BrowseName for the Range component.\n    /// </summary>\n    public const string Range = \"Range\";\n\n    /// <summary>\n    /// The BrowseName for the Read component.\n    /// </summary>\n    public const string Read = \"Read\";\n\n    /// <summary>\n    /// The BrowseName for the ReadAtTimeDetails component.\n    /// </summary>\n    public const string ReadAtTimeDetails = \"ReadAtTimeDetails\";\n\n    /// <summary>\n    /// The BrowseName for the ReadCount component.\n    /// </summary>\n    public const string ReadCount = \"ReadCount\";\n\n    /// <summary>\n    /// The BrowseName for the ReadEventDetails component.\n    /// </summary>\n    public const string ReadEventDetails = \"ReadEventDetails\";\n\n    /// <summary>\n    /// The BrowseName for the ReadMethodType component.\n    /// </summary>\n    public const string ReadMethodType = \"ReadMethodType\";\n\n    /// <summary>\n    /// The BrowseName for the ReadProcessedDetails component.\n    /// </summary>\n    public const string ReadProcessedDetails = \"ReadProcessedDetails\";\n\n    /// <summary>\n    /// The BrowseName for the ReadRawModifiedDetails component.\n    /// </summary>\n    public const string ReadRawModifiedDetails = \"ReadRawModifiedDetails\";\n\n    /// <summary>\n    /// The BrowseName for the ReadRequest component.\n    /// </summary>\n    public const string ReadRequest = \"ReadRequest\";\n\n    /// <summary>\n    /// The BrowseName for the ReadResponse component.\n    /// </summary>\n    public const string ReadResponse = \"ReadResponse\";\n\n    /// <summary>\n    /// The BrowseName for the ReadValueId component.\n    /// </summary>\n    public const string ReadValueId = \"ReadValueId\";\n\n    /// <summary>\n    /// The BrowseName for the Ready component.\n    /// </summary>\n    public const string Ready = \"Ready\";\n\n    /// <summary>\n    /// The BrowseName for the ReadyToHalted component.\n    /// </summary>\n    public const string ReadyToHalted = \"ReadyToHalted\";\n\n    /// <summary>\n    /// The BrowseName for the ReadyToRunning component.\n    /// </summary>\n    public const string ReadyToRunning = \"ReadyToRunning\";\n\n    /// <summary>\n    /// The BrowseName for the ReceiveTime component.\n    /// </summary>\n    public const string ReceiveTime = \"ReceiveTime\";\n\n    /// <summary>\n    /// The BrowseName for the RecycleCount component.\n    /// </summary>\n    public const string RecycleCount = \"RecycleCount\";\n\n    /// <summary>\n    /// The BrowseName for the RedundancySupport component.\n    /// </summary>\n    public const string RedundancySupport = \"RedundancySupport\";\n\n    /// <summary>\n    /// The BrowseName for the RedundantServerArray component.\n    /// </summary>\n    public const string RedundantServerArray = \"RedundantServerArray\";\n\n    /// <summary>\n    /// The BrowseName for the RedundantServerDataType component.\n    /// </summary>\n    public const string RedundantServerDataType = \"RedundantServerDataType\";\n\n    /// <summary>\n    /// The BrowseName for the ReferenceDescription component.\n    /// </summary>\n    public const string ReferenceDescription = \"ReferenceDescription\";\n\n    /// <summary>\n    /// The BrowseName for the ReferenceNode component.\n    /// </summary>\n    public const string ReferenceNode = \"ReferenceNode\";\n\n    /// <summary>\n    /// The BrowseName for the References component.\n    /// </summary>\n    public const string References = \"References\";\n\n    /// <summary>\n    /// The BrowseName for the ReferencesToAdd component.\n    /// </summary>\n    public const string ReferencesToAdd = \"ReferencesToAdd\";\n\n    /// <summary>\n    /// The BrowseName for the ReferencesToDelete component.\n    /// </summary>\n    public const string ReferencesToDelete = \"ReferencesToDelete\";\n\n    /// <summary>\n    /// The BrowseName for the ReferenceTypeAttributes component.\n    /// </summary>\n    public const string ReferenceTypeAttributes = \"ReferenceTypeAttributes\";\n\n    /// <summary>\n    /// The BrowseName for the ReferenceTypeNode component.\n    /// </summary>\n    public const string ReferenceTypeNode = \"ReferenceTypeNode\";\n\n    /// <summary>\n    /// The BrowseName for the ReferenceTypesFolder component.\n    /// </summary>\n    public const string ReferenceTypesFolder = \"ReferenceTypes\";\n\n    /// <summary>\n    /// The BrowseName for the RefreshEndEventType component.\n    /// </summary>\n    public const string RefreshEndEventType = \"RefreshEndEventType\";\n\n    /// <summary>\n    /// The BrowseName for the RefreshRequiredEventType component.\n    /// </summary>\n    public const string RefreshRequiredEventType = \"RefreshRequiredEventType\";\n\n    /// <summary>\n    /// The BrowseName for the RefreshStartEventType component.\n    /// </summary>\n    public const string RefreshStartEventType = \"RefreshStartEventType\";\n\n    /// <summary>\n    /// The BrowseName for the RegisteredServer component.\n    /// </summary>\n    public const string RegisteredServer = \"RegisteredServer\";\n\n    /// <summary>\n    /// The BrowseName for the RegisterNodesCount component.\n    /// </summary>\n    public const string RegisterNodesCount = \"RegisterNodesCount\";\n\n    /// <summary>\n    /// The BrowseName for the RegisterNodesRequest component.\n    /// </summary>\n    public const string RegisterNodesRequest = \"RegisterNodesRequest\";\n\n    /// <summary>\n    /// The BrowseName for the RegisterNodesResponse component.\n    /// </summary>\n    public const string RegisterNodesResponse = \"RegisterNodesResponse\";\n\n    /// <summary>\n    /// The BrowseName for the RegisterServerRequest component.\n    /// </summary>\n    public const string RegisterServerRequest = \"RegisterServerRequest\";\n\n    /// <summary>\n    /// The BrowseName for the RegisterServerResponse component.\n    /// </summary>\n    public const string RegisterServerResponse = \"RegisterServerResponse\";\n\n    /// <summary>\n    /// The BrowseName for the RejectedRequestsCount component.\n    /// </summary>\n    public const string RejectedRequestsCount = \"RejectedRequestsCount\";\n\n    /// <summary>\n    /// The BrowseName for the RejectedSessionCount component.\n    /// </summary>\n    public const string RejectedSessionCount = \"RejectedSessionCount\";\n\n    /// <summary>\n    /// The BrowseName for the RelativePath component.\n    /// </summary>\n    public const string RelativePath = \"RelativePath\";\n\n    /// <summary>\n    /// The BrowseName for the RelativePathElement component.\n    /// </summary>\n    public const string RelativePathElement = \"RelativePathElement\";\n\n    /// <summary>\n    /// The BrowseName for the ReplaceDataCapability component.\n    /// </summary>\n    public const string ReplaceDataCapability = \"ReplaceDataCapability\";\n\n    /// <summary>\n    /// The BrowseName for the ReplaceEventCapability component.\n    /// </summary>\n    public const string ReplaceEventCapability = \"ReplaceEventCapability\";\n\n    /// <summary>\n    /// The BrowseName for the RepublishCount component.\n    /// </summary>\n    public const string RepublishCount = \"RepublishCount\";\n\n    /// <summary>\n    /// The BrowseName for the RepublishMessageCount component.\n    /// </summary>\n    public const string RepublishMessageCount = \"RepublishMessageCount\";\n\n    /// <summary>\n    /// The BrowseName for the RepublishMessageRequestCount component.\n    /// </summary>\n    public const string RepublishMessageRequestCount = \"RepublishMessageRequestCount\";\n\n    /// <summary>\n    /// The BrowseName for the RepublishRequest component.\n    /// </summary>\n    public const string RepublishRequest = \"RepublishRequest\";\n\n    /// <summary>\n    /// The BrowseName for the RepublishRequestCount component.\n    /// </summary>\n    public const string RepublishRequestCount = \"RepublishRequestCount\";\n\n    /// <summary>\n    /// The BrowseName for the RepublishResponse component.\n    /// </summary>\n    public const string RepublishResponse = \"RepublishResponse\";\n\n    /// <summary>\n    /// The BrowseName for the ReqTimes component.\n    /// </summary>\n    public const string ReqTimes = \"ReqTimes\";\n\n    /// <summary>\n    /// The BrowseName for the RequestedLifetime component.\n    /// </summary>\n    public const string RequestedLifetime = \"RequestedLifetime\";\n\n    /// <summary>\n    /// The BrowseName for the RequestHandle component.\n    /// </summary>\n    public const string RequestHandle = \"RequestHandle\";\n\n    /// <summary>\n    /// The BrowseName for the RequestHeader component.\n    /// </summary>\n    public const string RequestHeader = \"RequestHeader\";\n\n    /// <summary>\n    /// The BrowseName for the RequestType component.\n    /// </summary>\n    public const string RequestType = \"RequestType\";\n\n    /// <summary>\n    /// The BrowseName for the Reset component.\n    /// </summary>\n    public const string Reset = \"Reset\";\n\n    /// <summary>\n    /// The BrowseName for the Respond component.\n    /// </summary>\n    public const string Respond = \"Respond\";\n\n    /// <summary>\n    /// The BrowseName for the ResponseHeader component.\n    /// </summary>\n    public const string ResponseHeader = \"ResponseHeader\";\n\n    /// <summary>\n    /// The BrowseName for the ResponseOptionSet component.\n    /// </summary>\n    public const string ResponseOptionSet = \"ResponseOptionSet\";\n\n    /// <summary>\n    /// The BrowseName for the Resume component.\n    /// </summary>\n    public const string Resume = \"Resume\";\n\n    /// <summary>\n    /// The BrowseName for the Retain component.\n    /// </summary>\n    public const string Retain = \"Retain\";\n\n    /// <summary>\n    /// The BrowseName for the RevisedSessionTimeout component.\n    /// </summary>\n    public const string RevisedSessionTimeout = \"RevisedSessionTimeout\";\n\n    /// <summary>\n    /// The BrowseName for the RootFolder component.\n    /// </summary>\n    public const string RootFolder = \"Root\";\n\n    /// <summary>\n    /// The BrowseName for the Running component.\n    /// </summary>\n    public const string Running = \"Running\";\n\n    /// <summary>\n    /// The BrowseName for the RunningToHalted component.\n    /// </summary>\n    public const string RunningToHalted = \"RunningToHalted\";\n\n    /// <summary>\n    /// The BrowseName for the RunningToReady component.\n    /// </summary>\n    public const string RunningToReady = \"RunningToReady\";\n\n    /// <summary>\n    /// The BrowseName for the RunningToSuspended component.\n    /// </summary>\n    public const string RunningToSuspended = \"RunningToSuspended\";\n\n    /// <summary>\n    /// The BrowseName for the SampledMonitoredItemsCount component.\n    /// </summary>\n    public const string SampledMonitoredItemsCount = \"SampledMonitoredItemsCount\";\n\n    /// <summary>\n    /// The BrowseName for the SamplingInterval component.\n    /// </summary>\n    public const string SamplingInterval = \"SamplingInterval\";\n\n    /// <summary>\n    /// The BrowseName for the SamplingIntervalDiagnosticsArray component.\n    /// </summary>\n    public const string SamplingIntervalDiagnosticsArray = \"SamplingIntervalDiagnosticsArray\";\n\n    /// <summary>\n    /// The BrowseName for the SamplingIntervalDiagnosticsArrayType component.\n    /// </summary>\n    public const string SamplingIntervalDiagnosticsArrayType = \"SamplingIntervalDiagnosticsArrayType\";\n\n    /// <summary>\n    /// The BrowseName for the SamplingIntervalDiagnosticsDataType component.\n    /// </summary>\n    public const string SamplingIntervalDiagnosticsDataType = \"SamplingIntervalDiagnosticsDataType\";\n\n    /// <summary>\n    /// The BrowseName for the SamplingIntervalDiagnosticsType component.\n    /// </summary>\n    public const string SamplingIntervalDiagnosticsType = \"SamplingIntervalDiagnosticsType\";\n\n    /// <summary>\n    /// The BrowseName for the SByte component.\n    /// </summary>\n    public const string SByte = \"SByte\";\n\n    /// <summary>\n    /// The BrowseName for the ScalarTestType component.\n    /// </summary>\n    public const string ScalarTestType = \"ScalarTestType\";\n\n    /// <summary>\n    /// The BrowseName for the SecondsTillShutdown component.\n    /// </summary>\n    public const string SecondsTillShutdown = \"SecondsTillShutdown\";\n\n    /// <summary>\n    /// The BrowseName for the SecureChannelId component.\n    /// </summary>\n    public const string SecureChannelId = \"SecureChannelId\";\n\n    /// <summary>\n    /// The BrowseName for the SecurityMode component.\n    /// </summary>\n    public const string SecurityMode = \"SecurityMode\";\n\n    /// <summary>\n    /// The BrowseName for the SecurityPolicyUri component.\n    /// </summary>\n    public const string SecurityPolicyUri = \"SecurityPolicyUri\";\n\n    /// <summary>\n    /// The BrowseName for the SecurityRejectedRequestsCount component.\n    /// </summary>\n    public const string SecurityRejectedRequestsCount = \"SecurityRejectedRequestsCount\";\n\n    /// <summary>\n    /// The BrowseName for the SecurityRejectedSessionCount component.\n    /// </summary>\n    public const string SecurityRejectedSessionCount = \"SecurityRejectedSessionCount\";\n\n    /// <summary>\n    /// The BrowseName for the SecurityTokenRequestType component.\n    /// </summary>\n    public const string SecurityTokenRequestType = \"SecurityTokenRequestType\";\n\n    /// <summary>\n    /// The BrowseName for the SelectedResponse component.\n    /// </summary>\n    public const string SelectedResponse = \"SelectedResponse\";\n\n    /// <summary>\n    /// The BrowseName for the SemanticChangeEventType component.\n    /// </summary>\n    public const string SemanticChangeEventType = \"SemanticChangeEventType\";\n\n    /// <summary>\n    /// The BrowseName for the SemanticChangeStructureDataType component.\n    /// </summary>\n    public const string SemanticChangeStructureDataType = \"SemanticChangeStructureDataType\";\n\n    /// <summary>\n    /// The BrowseName for the Server component.\n    /// </summary>\n    public const string Server = \"Server\";\n\n    /// <summary>\n    /// The BrowseName for the ServerArray component.\n    /// </summary>\n    public const string ServerArray = \"ServerArray\";\n\n    /// <summary>\n    /// The BrowseName for the ServerCapabilities component.\n    /// </summary>\n    public const string ServerCapabilities = \"ServerCapabilities\";\n\n    /// <summary>\n    /// The BrowseName for the ServerCapabilitiesType component.\n    /// </summary>\n    public const string ServerCapabilitiesType = \"ServerCapabilitiesType\";\n\n    /// <summary>\n    /// The BrowseName for the ServerDiagnostics component.\n    /// </summary>\n    public const string ServerDiagnostics = \"ServerDiagnostics\";\n\n    /// <summary>\n    /// The BrowseName for the ServerDiagnosticsSummary component.\n    /// </summary>\n    public const string ServerDiagnosticsSummary = \"ServerDiagnosticsSummary\";\n\n    /// <summary>\n    /// The BrowseName for the ServerDiagnosticsSummaryDataType component.\n    /// </summary>\n    public const string ServerDiagnosticsSummaryDataType = \"ServerDiagnosticsSummaryDataType\";\n\n    /// <summary>\n    /// The BrowseName for the ServerDiagnosticsSummaryType component.\n    /// </summary>\n    public const string ServerDiagnosticsSummaryType = \"ServerDiagnosticsSummaryType\";\n\n    /// <summary>\n    /// The BrowseName for the ServerDiagnosticsType component.\n    /// </summary>\n    public const string ServerDiagnosticsType = \"ServerDiagnosticsType\";\n\n    /// <summary>\n    /// The BrowseName for the ServerId component.\n    /// </summary>\n    public const string ServerId = \"ServerId\";\n\n    /// <summary>\n    /// The BrowseName for the ServerLock component.\n    /// </summary>\n    public const string ServerLock = \"ServerLock\";\n\n    /// <summary>\n    /// The BrowseName for the ServerNetworkGroups component.\n    /// </summary>\n    public const string ServerNetworkGroups = \"ServerNetworkGroups\";\n\n    /// <summary>\n    /// The BrowseName for the ServerProfileArray component.\n    /// </summary>\n    public const string ServerProfileArray = \"ServerProfileArray\";\n\n    /// <summary>\n    /// The BrowseName for the ServerRedundancy component.\n    /// </summary>\n    public const string ServerRedundancy = \"ServerRedundancy\";\n\n    /// <summary>\n    /// The BrowseName for the ServerRedundancyType component.\n    /// </summary>\n    public const string ServerRedundancyType = \"ServerRedundancyType\";\n\n    /// <summary>\n    /// The BrowseName for the ServerState component.\n    /// </summary>\n    public const string ServerState = \"ServerState\";\n\n    /// <summary>\n    /// The BrowseName for the ServerStatus component.\n    /// </summary>\n    public const string ServerStatus = \"ServerStatus\";\n\n    /// <summary>\n    /// The BrowseName for the ServerStatusDataType component.\n    /// </summary>\n    public const string ServerStatusDataType = \"ServerStatusDataType\";\n\n    /// <summary>\n    /// The BrowseName for the ServerStatusType component.\n    /// </summary>\n    public const string ServerStatusType = \"ServerStatusType\";\n\n    /// <summary>\n    /// The BrowseName for the ServerType component.\n    /// </summary>\n    public const string ServerType = \"ServerType\";\n\n    /// <summary>\n    /// The BrowseName for the ServerUri component.\n    /// </summary>\n    public const string ServerUri = \"ServerUri\";\n\n    /// <summary>\n    /// The BrowseName for the ServerUriArray component.\n    /// </summary>\n    public const string ServerUriArray = \"ServerUriArray\";\n\n    /// <summary>\n    /// The BrowseName for the ServerVendorCapabilityType component.\n    /// </summary>\n    public const string ServerVendorCapabilityType = \"ServerVendorCapabilityType\";\n\n    /// <summary>\n    /// The BrowseName for the ServerViewCount component.\n    /// </summary>\n    public const string ServerViewCount = \"ServerViewCount\";\n\n    /// <summary>\n    /// The BrowseName for the ServiceCounterDataType component.\n    /// </summary>\n    public const string ServiceCounterDataType = \"ServiceCounterDataType\";\n\n    /// <summary>\n    /// The BrowseName for the ServiceFault component.\n    /// </summary>\n    public const string ServiceFault = \"ServiceFault\";\n\n    /// <summary>\n    /// The BrowseName for the ServiceLevel component.\n    /// </summary>\n    public const string ServiceLevel = \"ServiceLevel\";\n\n    /// <summary>\n    /// The BrowseName for the SessionAbortCount component.\n    /// </summary>\n    public const string SessionAbortCount = \"SessionAbortCount\";\n\n    /// <summary>\n    /// The BrowseName for the SessionAuthenticationToken component.\n    /// </summary>\n    public const string SessionAuthenticationToken = \"SessionAuthenticationToken\";\n\n    /// <summary>\n    /// The BrowseName for the SessionDiagnostics component.\n    /// </summary>\n    public const string SessionDiagnostics = \"SessionDiagnostics\";\n\n    /// <summary>\n    /// The BrowseName for the SessionDiagnosticsArray component.\n    /// </summary>\n    public const string SessionDiagnosticsArray = \"SessionDiagnosticsArray\";\n\n    /// <summary>\n    /// The BrowseName for the SessionDiagnosticsArrayType component.\n    /// </summary>\n    public const string SessionDiagnosticsArrayType = \"SessionDiagnosticsArrayType\";\n\n    /// <summary>\n    /// The BrowseName for the SessionDiagnosticsDataType component.\n    /// </summary>\n    public const string SessionDiagnosticsDataType = \"SessionDiagnosticsDataType\";\n\n    /// <summary>\n    /// The BrowseName for the SessionDiagnosticsObjectType component.\n    /// </summary>\n    public const string SessionDiagnosticsObjectType = \"SessionDiagnosticsObjectType\";\n\n    /// <summary>\n    /// The BrowseName for the SessionDiagnosticsVariableType component.\n    /// </summary>\n    public const string SessionDiagnosticsVariableType = \"SessionDiagnosticsVariableType\";\n\n    /// <summary>\n    /// The BrowseName for the SessionId component.\n    /// </summary>\n    public const string SessionId = \"SessionId\";\n\n    /// <summary>\n    /// The BrowseName for the SessionName component.\n    /// </summary>\n    public const string SessionName = \"SessionName\";\n\n    /// <summary>\n    /// The BrowseName for the SessionPlaceholder component.\n    /// </summary>\n    public const string SessionPlaceholder = \"<SessionPlaceholder>\";\n\n    /// <summary>\n    /// The BrowseName for the SessionsDiagnosticsSummary component.\n    /// </summary>\n    public const string SessionsDiagnosticsSummary = \"SessionsDiagnosticsSummary\";\n\n    /// <summary>\n    /// The BrowseName for the SessionsDiagnosticsSummaryType component.\n    /// </summary>\n    public const string SessionsDiagnosticsSummaryType = \"SessionsDiagnosticsSummaryType\";\n\n    /// <summary>\n    /// The BrowseName for the SessionSecurityDiagnostics component.\n    /// </summary>\n    public const string SessionSecurityDiagnostics = \"SessionSecurityDiagnostics\";\n\n    /// <summary>\n    /// The BrowseName for the SessionSecurityDiagnosticsArray component.\n    /// </summary>\n    public const string SessionSecurityDiagnosticsArray = \"SessionSecurityDiagnosticsArray\";\n\n    /// <summary>\n    /// The BrowseName for the SessionSecurityDiagnosticsArrayType component.\n    /// </summary>\n    public const string SessionSecurityDiagnosticsArrayType = \"SessionSecurityDiagnosticsArrayType\";\n\n    /// <summary>\n    /// The BrowseName for the SessionSecurityDiagnosticsDataType component.\n    /// </summary>\n    public const string SessionSecurityDiagnosticsDataType = \"SessionSecurityDiagnosticsDataType\";\n\n    /// <summary>\n    /// The BrowseName for the SessionSecurityDiagnosticsType component.\n    /// </summary>\n    public const string SessionSecurityDiagnosticsType = \"SessionSecurityDiagnosticsType\";\n\n    /// <summary>\n    /// The BrowseName for the SessionTimeoutCount component.\n    /// </summary>\n    public const string SessionTimeoutCount = \"SessionTimeoutCount\";\n\n    /// <summary>\n    /// The BrowseName for the SetMonitoringModeCount component.\n    /// </summary>\n    public const string SetMonitoringModeCount = \"SetMonitoringModeCount\";\n\n    /// <summary>\n    /// The BrowseName for the SetMonitoringModeRequest component.\n    /// </summary>\n    public const string SetMonitoringModeRequest = \"SetMonitoringModeRequest\";\n\n    /// <summary>\n    /// The BrowseName for the SetMonitoringModeResponse component.\n    /// </summary>\n    public const string SetMonitoringModeResponse = \"SetMonitoringModeResponse\";\n\n    /// <summary>\n    /// The BrowseName for the SetpointNode component.\n    /// </summary>\n    public const string SetpointNode = \"SetpointNode\";\n\n    /// <summary>\n    /// The BrowseName for the SetPosition component.\n    /// </summary>\n    public const string SetPosition = \"SetPosition\";\n\n    /// <summary>\n    /// The BrowseName for the SetPositionMethodType component.\n    /// </summary>\n    public const string SetPositionMethodType = \"SetPositionMethodType\";\n\n    /// <summary>\n    /// The BrowseName for the SetPublishingModeCount component.\n    /// </summary>\n    public const string SetPublishingModeCount = \"SetPublishingModeCount\";\n\n    /// <summary>\n    /// The BrowseName for the SetPublishingModeRequest component.\n    /// </summary>\n    public const string SetPublishingModeRequest = \"SetPublishingModeRequest\";\n\n    /// <summary>\n    /// The BrowseName for the SetPublishingModeResponse component.\n    /// </summary>\n    public const string SetPublishingModeResponse = \"SetPublishingModeResponse\";\n\n    /// <summary>\n    /// The BrowseName for the SetTriggeringCount component.\n    /// </summary>\n    public const string SetTriggeringCount = \"SetTriggeringCount\";\n\n    /// <summary>\n    /// The BrowseName for the SetTriggeringRequest component.\n    /// </summary>\n    public const string SetTriggeringRequest = \"SetTriggeringRequest\";\n\n    /// <summary>\n    /// The BrowseName for the SetTriggeringResponse component.\n    /// </summary>\n    public const string SetTriggeringResponse = \"SetTriggeringResponse\";\n\n    /// <summary>\n    /// The BrowseName for the Severity component.\n    /// </summary>\n    public const string Severity = \"Severity\";\n\n    /// <summary>\n    /// The BrowseName for the ShelvedStateMachineType component.\n    /// </summary>\n    public const string ShelvedStateMachineType = \"ShelvedStateMachineType\";\n\n    /// <summary>\n    /// The BrowseName for the ShelvingState component.\n    /// </summary>\n    public const string ShelvingState = \"ShelvingState\";\n\n    /// <summary>\n    /// The BrowseName for the ShelvingTime component.\n    /// </summary>\n    public const string ShelvingTime = \"ShelvingTime\";\n\n    /// <summary>\n    /// The BrowseName for the ShutdownReason component.\n    /// </summary>\n    public const string ShutdownReason = \"ShutdownReason\";\n\n    /// <summary>\n    /// The BrowseName for the SignatureData component.\n    /// </summary>\n    public const string SignatureData = \"SignatureData\";\n\n    /// <summary>\n    /// The BrowseName for the SignedSoftwareCertificate component.\n    /// </summary>\n    public const string SignedSoftwareCertificate = \"SignedSoftwareCertificate\";\n\n    /// <summary>\n    /// The BrowseName for the SimpleAttributeOperand component.\n    /// </summary>\n    public const string SimpleAttributeOperand = \"SimpleAttributeOperand\";\n\n    /// <summary>\n    /// The BrowseName for the Size component.\n    /// </summary>\n    public const string Size = \"Size\";\n\n    /// <summary>\n    /// The BrowseName for the SoftwareCertificate component.\n    /// </summary>\n    public const string SoftwareCertificate = \"SoftwareCertificate\";\n\n    /// <summary>\n    /// The BrowseName for the SoftwareCertificates component.\n    /// </summary>\n    public const string SoftwareCertificates = \"SoftwareCertificates\";\n\n    /// <summary>\n    /// The BrowseName for the SoftwareVersion component.\n    /// </summary>\n    public const string SoftwareVersion = \"SoftwareVersion\";\n\n    /// <summary>\n    /// The BrowseName for the SourceName component.\n    /// </summary>\n    public const string SourceName = \"SourceName\";\n\n    /// <summary>\n    /// The BrowseName for the SourceNode component.\n    /// </summary>\n    public const string SourceNode = \"SourceNode\";\n\n    /// <summary>\n    /// The BrowseName for the SourceTimestamp component.\n    /// </summary>\n    public const string SourceTimestamp = \"SourceTimestamp\";\n\n    /// <summary>\n    /// The BrowseName for the Start component.\n    /// </summary>\n    public const string Start = \"Start\";\n\n    /// <summary>\n    /// The BrowseName for the StartOfArchive component.\n    /// </summary>\n    public const string StartOfArchive = \"StartOfArchive\";\n\n    /// <summary>\n    /// The BrowseName for the StartOfOnlineArchive component.\n    /// </summary>\n    public const string StartOfOnlineArchive = \"StartOfOnlineArchive\";\n\n    /// <summary>\n    /// The BrowseName for the StartTime component.\n    /// </summary>\n    public const string StartTime = \"StartTime\";\n\n    /// <summary>\n    /// The BrowseName for the State component.\n    /// </summary>\n    public const string State = \"State\";\n\n    /// <summary>\n    /// The BrowseName for the StateMachineType component.\n    /// </summary>\n    public const string StateMachineType = \"StateMachineType\";\n\n    /// <summary>\n    /// The BrowseName for the StateNumber component.\n    /// </summary>\n    public const string StateNumber = \"StateNumber\";\n\n    /// <summary>\n    /// The BrowseName for the StateType component.\n    /// </summary>\n    public const string StateType = \"StateType\";\n\n    /// <summary>\n    /// The BrowseName for the StateVariableType component.\n    /// </summary>\n    public const string StateVariableType = \"StateVariableType\";\n\n    /// <summary>\n    /// The BrowseName for the StaticNodeIdIndentifierTypes component.\n    /// </summary>\n    public const string StaticNodeIdIndentifierTypes = \"StaticNodeIdIndentifierTypes\";\n\n    /// <summary>\n    /// The BrowseName for the StaticNumericNodeIdRange component.\n    /// </summary>\n    public const string StaticNumericNodeIdRange = \"StaticNumericNodeIdRange\";\n\n    /// <summary>\n    /// The BrowseName for the StaticStringNodeIdPattern component.\n    /// </summary>\n    public const string StaticStringNodeIdPattern = \"StaticStringNodeIdPattern\";\n\n    /// <summary>\n    /// The BrowseName for the Status component.\n    /// </summary>\n    public const string Status = \"Status\";\n\n    /// <summary>\n    /// The BrowseName for the StatusChangeNotification component.\n    /// </summary>\n    public const string StatusChangeNotification = \"StatusChangeNotification\";\n\n    /// <summary>\n    /// The BrowseName for the StatusCode component.\n    /// </summary>\n    public const string StatusCode = \"StatusCode\";\n\n    /// <summary>\n    /// The BrowseName for the StatusResult component.\n    /// </summary>\n    public const string StatusResult = \"StatusResult\";\n\n    /// <summary>\n    /// The BrowseName for the Stepped component.\n    /// </summary>\n    public const string Stepped = \"Stepped\";\n\n    /// <summary>\n    /// The BrowseName for the String component.\n    /// </summary>\n    public const string String = \"String\";\n\n    /// <summary>\n    /// The BrowseName for the Structure component.\n    /// </summary>\n    public const string Structure = \"Structure\";\n\n    /// <summary>\n    /// The BrowseName for the SubscriptionAcknowledgement component.\n    /// </summary>\n    public const string SubscriptionAcknowledgement = \"SubscriptionAcknowledgement\";\n\n    /// <summary>\n    /// The BrowseName for the SubscriptionDiagnosticsArray component.\n    /// </summary>\n    public const string SubscriptionDiagnosticsArray = \"SubscriptionDiagnosticsArray\";\n\n    /// <summary>\n    /// The BrowseName for the SubscriptionDiagnosticsArrayType component.\n    /// </summary>\n    public const string SubscriptionDiagnosticsArrayType = \"SubscriptionDiagnosticsArrayType\";\n\n    /// <summary>\n    /// The BrowseName for the SubscriptionDiagnosticsDataType component.\n    /// </summary>\n    public const string SubscriptionDiagnosticsDataType = \"SubscriptionDiagnosticsDataType\";\n\n    /// <summary>\n    /// The BrowseName for the SubscriptionDiagnosticsType component.\n    /// </summary>\n    public const string SubscriptionDiagnosticsType = \"SubscriptionDiagnosticsType\";\n\n    /// <summary>\n    /// The BrowseName for the SubscriptionId component.\n    /// </summary>\n    public const string SubscriptionId = \"SubscriptionId\";\n\n    /// <summary>\n    /// The BrowseName for the SupportedProfile component.\n    /// </summary>\n    public const string SupportedProfile = \"SupportedProfile\";\n\n    /// <summary>\n    /// The BrowseName for the SuppressedOrShelved component.\n    /// </summary>\n    public const string SuppressedOrShelved = \"SuppressedOrShelved\";\n\n    /// <summary>\n    /// The BrowseName for the SuppressedState component.\n    /// </summary>\n    public const string SuppressedState = \"SuppressedState\";\n\n    /// <summary>\n    /// The BrowseName for the Suspend component.\n    /// </summary>\n    public const string Suspend = \"Suspend\";\n\n    /// <summary>\n    /// The BrowseName for the Suspended component.\n    /// </summary>\n    public const string Suspended = \"Suspended\";\n\n    /// <summary>\n    /// The BrowseName for the SuspendedToHalted component.\n    /// </summary>\n    public const string SuspendedToHalted = \"SuspendedToHalted\";\n\n    /// <summary>\n    /// The BrowseName for the SuspendedToReady component.\n    /// </summary>\n    public const string SuspendedToReady = \"SuspendedToReady\";\n\n    /// <summary>\n    /// The BrowseName for the SuspendedToRunning component.\n    /// </summary>\n    public const string SuspendedToRunning = \"SuspendedToRunning\";\n\n    /// <summary>\n    /// The BrowseName for the SystemConditionClassType component.\n    /// </summary>\n    public const string SystemConditionClassType = \"SystemConditionClassType\";\n\n    /// <summary>\n    /// The BrowseName for the SystemEventType component.\n    /// </summary>\n    public const string SystemEventType = \"SystemEventType\";\n\n    /// <summary>\n    /// The BrowseName for the SystemOffNormalAlarmType component.\n    /// </summary>\n    public const string SystemOffNormalAlarmType = \"SystemOffNormalAlarmType\";\n\n    /// <summary>\n    /// The BrowseName for the SystemState component.\n    /// </summary>\n    public const string SystemState = \"SystemState\";\n\n    /// <summary>\n    /// The BrowseName for the SystemStatusChangeEventType component.\n    /// </summary>\n    public const string SystemStatusChangeEventType = \"SystemStatusChangeEventType\";\n\n    /// <summary>\n    /// The BrowseName for the TestStackExRequest component.\n    /// </summary>\n    public const string TestStackExRequest = \"TestStackExRequest\";\n\n    /// <summary>\n    /// The BrowseName for the TestStackExResponse component.\n    /// </summary>\n    public const string TestStackExResponse = \"TestStackExResponse\";\n\n    /// <summary>\n    /// The BrowseName for the TestStackRequest component.\n    /// </summary>\n    public const string TestStackRequest = \"TestStackRequest\";\n\n    /// <summary>\n    /// The BrowseName for the TestStackResponse component.\n    /// </summary>\n    public const string TestStackResponse = \"TestStackResponse\";\n\n    /// <summary>\n    /// The BrowseName for the Time component.\n    /// </summary>\n    public const string Time = \"Time\";\n\n    /// <summary>\n    /// The BrowseName for the TimedShelve component.\n    /// </summary>\n    public const string TimedShelve = \"TimedShelve\";\n\n    /// <summary>\n    /// The BrowseName for the TimedShelved component.\n    /// </summary>\n    public const string TimedShelved = \"TimedShelved\";\n\n    /// <summary>\n    /// The BrowseName for the TimedShelvedToOneShotShelved component.\n    /// </summary>\n    public const string TimedShelvedToOneShotShelved = \"TimedShelvedToOneShotShelved\";\n\n    /// <summary>\n    /// The BrowseName for the TimedShelvedToUnshelved component.\n    /// </summary>\n    public const string TimedShelvedToUnshelved = \"TimedShelvedToUnshelved\";\n\n    /// <summary>\n    /// The BrowseName for the TimedShelveMethodType component.\n    /// </summary>\n    public const string TimedShelveMethodType = \"TimedShelveMethodType\";\n\n    /// <summary>\n    /// The BrowseName for the TimestampsToReturn component.\n    /// </summary>\n    public const string TimestampsToReturn = \"TimestampsToReturn\";\n\n    /// <summary>\n    /// The BrowseName for the TimeZoneDataType component.\n    /// </summary>\n    public const string TimeZoneDataType = \"TimeZoneDataType\";\n\n    /// <summary>\n    /// The BrowseName for the Title component.\n    /// </summary>\n    public const string Title = \"Title\";\n\n    /// <summary>\n    /// The BrowseName for the ToState component.\n    /// </summary>\n    public const string ToState = \"ToState\";\n\n    /// <summary>\n    /// The BrowseName for the TotalRequestCount component.\n    /// </summary>\n    public const string TotalRequestCount = \"TotalRequestCount\";\n\n    /// <summary>\n    /// The BrowseName for the TransferredToAltClientCount component.\n    /// </summary>\n    public const string TransferredToAltClientCount = \"TransferredToAltClientCount\";\n\n    /// <summary>\n    /// The BrowseName for the TransferredToSameClientCount component.\n    /// </summary>\n    public const string TransferredToSameClientCount = \"TransferredToSameClientCount\";\n\n    /// <summary>\n    /// The BrowseName for the TransferRequestCount component.\n    /// </summary>\n    public const string TransferRequestCount = \"TransferRequestCount\";\n\n    /// <summary>\n    /// The BrowseName for the TransferResult component.\n    /// </summary>\n    public const string TransferResult = \"TransferResult\";\n\n    /// <summary>\n    /// The BrowseName for the TransferSubscriptionsCount component.\n    /// </summary>\n    public const string TransferSubscriptionsCount = \"TransferSubscriptionsCount\";\n\n    /// <summary>\n    /// The BrowseName for the TransferSubscriptionsRequest component.\n    /// </summary>\n    public const string TransferSubscriptionsRequest = \"TransferSubscriptionsRequest\";\n\n    /// <summary>\n    /// The BrowseName for the TransferSubscriptionsResponse component.\n    /// </summary>\n    public const string TransferSubscriptionsResponse = \"TransferSubscriptionsResponse\";\n\n    /// <summary>\n    /// The BrowseName for the Transition component.\n    /// </summary>\n    public const string Transition = \"Transition\";\n\n    /// <summary>\n    /// The BrowseName for the TransitionEventType component.\n    /// </summary>\n    public const string TransitionEventType = \"TransitionEventType\";\n\n    /// <summary>\n    /// The BrowseName for the TransitionNumber component.\n    /// </summary>\n    public const string TransitionNumber = \"TransitionNumber\";\n\n    /// <summary>\n    /// The BrowseName for the TransitionTime component.\n    /// </summary>\n    public const string TransitionTime = \"TransitionTime\";\n\n    /// <summary>\n    /// The BrowseName for the TransitionType component.\n    /// </summary>\n    public const string TransitionType = \"TransitionType\";\n\n    /// <summary>\n    /// The BrowseName for the TransitionVariableType component.\n    /// </summary>\n    public const string TransitionVariableType = \"TransitionVariableType\";\n\n    /// <summary>\n    /// The BrowseName for the TranslateBrowsePathsToNodeIdsCount component.\n    /// </summary>\n    public const string TranslateBrowsePathsToNodeIdsCount = \"TranslateBrowsePathsToNodeIdsCount\";\n\n    /// <summary>\n    /// The BrowseName for the TranslateBrowsePathsToNodeIdsRequest component.\n    /// </summary>\n    public const string TranslateBrowsePathsToNodeIdsRequest = \"TranslateBrowsePathsToNodeIdsRequest\";\n\n    /// <summary>\n    /// The BrowseName for the TranslateBrowsePathsToNodeIdsResponse component.\n    /// </summary>\n    public const string TranslateBrowsePathsToNodeIdsResponse = \"TranslateBrowsePathsToNodeIdsResponse\";\n\n    /// <summary>\n    /// The BrowseName for the TransparentRedundancyType component.\n    /// </summary>\n    public const string TransparentRedundancyType = \"TransparentRedundancyType\";\n\n    /// <summary>\n    /// The BrowseName for the TransportProtocol component.\n    /// </summary>\n    public const string TransportProtocol = \"TransportProtocol\";\n\n    /// <summary>\n    /// The BrowseName for the TreatUncertainAsBad component.\n    /// </summary>\n    public const string TreatUncertainAsBad = \"TreatUncertainAsBad\";\n\n    /// <summary>\n    /// The BrowseName for the TripAlarmType component.\n    /// </summary>\n    public const string TripAlarmType = \"TripAlarmType\";\n\n    /// <summary>\n    /// The BrowseName for the TrueState component.\n    /// </summary>\n    public const string TrueState = \"TrueState\";\n\n    /// <summary>\n    /// The BrowseName for the TwoStateDiscreteType component.\n    /// </summary>\n    public const string TwoStateDiscreteType = \"TwoStateDiscreteType\";\n\n    /// <summary>\n    /// The BrowseName for the TwoStateVariableType component.\n    /// </summary>\n    public const string TwoStateVariableType = \"TwoStateVariableType\";\n\n    /// <summary>\n    /// The BrowseName for the TypeNode component.\n    /// </summary>\n    public const string TypeNode = \"TypeNode\";\n\n    /// <summary>\n    /// The BrowseName for the TypesFolder component.\n    /// </summary>\n    public const string TypesFolder = \"Types\";\n\n    /// <summary>\n    /// The BrowseName for the UInt16 component.\n    /// </summary>\n    public const string UInt16 = \"UInt16\";\n\n    /// <summary>\n    /// The BrowseName for the UInt32 component.\n    /// </summary>\n    public const string UInt32 = \"UInt32\";\n\n    /// <summary>\n    /// The BrowseName for the UInt64 component.\n    /// </summary>\n    public const string UInt64 = \"UInt64\";\n\n    /// <summary>\n    /// The BrowseName for the UInteger component.\n    /// </summary>\n    public const string UInteger = \"UInteger\";\n\n    /// <summary>\n    /// The BrowseName for the UnacknowledgedMessageCount component.\n    /// </summary>\n    public const string UnacknowledgedMessageCount = \"UnacknowledgedMessageCount\";\n\n    /// <summary>\n    /// The BrowseName for the UnauthorizedRequestCount component.\n    /// </summary>\n    public const string UnauthorizedRequestCount = \"UnauthorizedRequestCount\";\n\n    /// <summary>\n    /// The BrowseName for the Unlock component.\n    /// </summary>\n    public const string Unlock = \"Unlock\";\n\n    /// <summary>\n    /// The BrowseName for the UnregisterNodesCount component.\n    /// </summary>\n    public const string UnregisterNodesCount = \"UnregisterNodesCount\";\n\n    /// <summary>\n    /// The BrowseName for the UnregisterNodesRequest component.\n    /// </summary>\n    public const string UnregisterNodesRequest = \"UnregisterNodesRequest\";\n\n    /// <summary>\n    /// The BrowseName for the UnregisterNodesResponse component.\n    /// </summary>\n    public const string UnregisterNodesResponse = \"UnregisterNodesResponse\";\n\n    /// <summary>\n    /// The BrowseName for the Unshelve component.\n    /// </summary>\n    public const string Unshelve = \"Unshelve\";\n\n    /// <summary>\n    /// The BrowseName for the Unshelved component.\n    /// </summary>\n    public const string Unshelved = \"Unshelved\";\n\n    /// <summary>\n    /// The BrowseName for the UnshelvedToOneShotShelved component.\n    /// </summary>\n    public const string UnshelvedToOneShotShelved = \"UnshelvedToOneShotShelved\";\n\n    /// <summary>\n    /// The BrowseName for the UnshelvedToTimedShelved component.\n    /// </summary>\n    public const string UnshelvedToTimedShelved = \"UnshelvedToTimedShelved\";\n\n    /// <summary>\n    /// The BrowseName for the UnshelveTime component.\n    /// </summary>\n    public const string UnshelveTime = \"UnshelveTime\";\n\n    /// <summary>\n    /// The BrowseName for the UpdateDataCapability component.\n    /// </summary>\n    public const string UpdateDataCapability = \"UpdateDataCapability\";\n\n    /// <summary>\n    /// The BrowseName for the UpdateDataDetails component.\n    /// </summary>\n    public const string UpdateDataDetails = \"UpdateDataDetails\";\n\n    /// <summary>\n    /// The BrowseName for the UpdatedNode component.\n    /// </summary>\n    public const string UpdatedNode = \"UpdatedNode\";\n\n    /// <summary>\n    /// The BrowseName for the UpdateEventCapability component.\n    /// </summary>\n    public const string UpdateEventCapability = \"UpdateEventCapability\";\n\n    /// <summary>\n    /// The BrowseName for the UpdateEventDetails component.\n    /// </summary>\n    public const string UpdateEventDetails = \"UpdateEventDetails\";\n\n    /// <summary>\n    /// The BrowseName for the UpdateStructureDataDetails component.\n    /// </summary>\n    public const string UpdateStructureDataDetails = \"UpdateStructureDataDetails\";\n\n    /// <summary>\n    /// The BrowseName for the UserIdentityToken component.\n    /// </summary>\n    public const string UserIdentityToken = \"UserIdentityToken\";\n\n    /// <summary>\n    /// The BrowseName for the UserNameIdentityToken component.\n    /// </summary>\n    public const string UserNameIdentityToken = \"UserNameIdentityToken\";\n\n    /// <summary>\n    /// The BrowseName for the UserTokenPolicy component.\n    /// </summary>\n    public const string UserTokenPolicy = \"UserTokenPolicy\";\n\n    /// <summary>\n    /// The BrowseName for the UserTokenType component.\n    /// </summary>\n    public const string UserTokenType = \"UserTokenType\";\n\n    /// <summary>\n    /// The BrowseName for the UserWriteable component.\n    /// </summary>\n    public const string UserWriteable = \"UserWriteable\";\n\n    /// <summary>\n    /// The BrowseName for the UseSlopedExtrapolation component.\n    /// </summary>\n    public const string UseSlopedExtrapolation = \"UseSlopedExtrapolation\";\n\n    /// <summary>\n    /// The BrowseName for the UtcTime component.\n    /// </summary>\n    public const string UtcTime = \"UtcTime\";\n\n    /// <summary>\n    /// The BrowseName for the ValueAsText component.\n    /// </summary>\n    public const string ValueAsText = \"ValueAsText\";\n\n    /// <summary>\n    /// The BrowseName for the ValuePrecision component.\n    /// </summary>\n    public const string ValuePrecision = \"ValuePrecision\";\n\n    /// <summary>\n    /// The BrowseName for the VariableAttributes component.\n    /// </summary>\n    public const string VariableAttributes = \"VariableAttributes\";\n\n    /// <summary>\n    /// The BrowseName for the VariableNode component.\n    /// </summary>\n    public const string VariableNode = \"VariableNode\";\n\n    /// <summary>\n    /// The BrowseName for the VariableTypeAttributes component.\n    /// </summary>\n    public const string VariableTypeAttributes = \"VariableTypeAttributes\";\n\n    /// <summary>\n    /// The BrowseName for the VariableTypeNode component.\n    /// </summary>\n    public const string VariableTypeNode = \"VariableTypeNode\";\n\n    /// <summary>\n    /// The BrowseName for the VariableTypesFolder component.\n    /// </summary>\n    public const string VariableTypesFolder = \"VariableTypes\";\n\n    /// <summary>\n    /// The BrowseName for the VendorCapability component.\n    /// </summary>\n    public const string VendorCapability = \"<VendorCapability>\";\n\n    /// <summary>\n    /// The BrowseName for the VendorServerInfo component.\n    /// </summary>\n    public const string VendorServerInfo = \"VendorServerInfo\";\n\n    /// <summary>\n    /// The BrowseName for the VendorServerInfoType component.\n    /// </summary>\n    public const string VendorServerInfoType = \"VendorServerInfoType\";\n\n    /// <summary>\n    /// The BrowseName for the ViewAttributes component.\n    /// </summary>\n    public const string ViewAttributes = \"ViewAttributes\";\n\n    /// <summary>\n    /// The BrowseName for the ViewDescription component.\n    /// </summary>\n    public const string ViewDescription = \"ViewDescription\";\n\n    /// <summary>\n    /// The BrowseName for the ViewNode component.\n    /// </summary>\n    public const string ViewNode = \"ViewNode\";\n\n    /// <summary>\n    /// The BrowseName for the ViewsFolder component.\n    /// </summary>\n    public const string ViewsFolder = \"Views\";\n\n    /// <summary>\n    /// The BrowseName for the ViewVersion component.\n    /// </summary>\n    public const string ViewVersion = \"ViewVersion\";\n\n    /// <summary>\n    /// The BrowseName for the Write component.\n    /// </summary>\n    public const string Write = \"Write\";\n\n    /// <summary>\n    /// The BrowseName for the Writeable component.\n    /// </summary>\n    public const string Writeable = \"Writeable\";\n\n    /// <summary>\n    /// The BrowseName for the WriteCount component.\n    /// </summary>\n    public const string WriteCount = \"WriteCount\";\n\n    /// <summary>\n    /// The BrowseName for the WriteMethodType component.\n    /// </summary>\n    public const string WriteMethodType = \"WriteMethodType\";\n\n    /// <summary>\n    /// The BrowseName for the WriteRequest component.\n    /// </summary>\n    public const string WriteRequest = \"WriteRequest\";\n\n    /// <summary>\n    /// The BrowseName for the WriteResponse component.\n    /// </summary>\n    public const string WriteResponse = \"WriteResponse\";\n\n    /// <summary>\n    /// The BrowseName for the WriteValue component.\n    /// </summary>\n    public const string WriteValue = \"WriteValue\";\n\n    /// <summary>\n    /// The BrowseName for the X509IdentityToken component.\n    /// </summary>\n    public const string X509IdentityToken = \"X509IdentityToken\";\n\n    /// <summary>\n    /// The BrowseName for the XAxisDefinition component.\n    /// </summary>\n    public const string XAxisDefinition = \"XAxisDefinition\";\n\n    /// <summary>\n    /// The BrowseName for the XmlElement component.\n    /// </summary>\n    public const string XmlElement = \"XmlElement\";\n\n    /// <summary>\n    /// The BrowseName for the XmlSchema_TypeSystem component.\n    /// </summary>\n    public const string XmlSchema_TypeSystem = \"XML Schema\";\n\n    /// <summary>\n    /// The BrowseName for the XVType component.\n    /// </summary>\n    public const string XVType = \"XVType\";\n\n    /// <summary>\n    /// The BrowseName for the XYArrayItemType component.\n    /// </summary>\n    public const string XYArrayItemType = \"XYArrayItemType\";\n\n    /// <summary>\n    /// The BrowseName for the YArrayItemType component.\n    /// </summary>\n    public const string YArrayItemType = \"YArrayItemType\";\n\n    /// <summary>\n    /// The BrowseName for the YAxisDefinition component.\n    /// </summary>\n    public const string YAxisDefinition = \"YAxisDefinition\";\n\n    /// <summary>\n    /// The BrowseName for the ZAxisDefinition component.\n    /// </summary>\n    public const string ZAxisDefinition = \"ZAxisDefinition\";\n  }\n  #endregion\n\n  #region Namespace Declarations\n  /// <summary>\n  /// Defines constants for all namespaces referenced by the model design.\n  /// </summary>\n  public static partial class Namespaces\n  {\n    /// <summary>\n    /// The URI for the OpcUa namespace (.NET code namespace is 'Opc.Ua').\n    /// </summary>\n    public const string OpcUa = \"http://opcfoundation.org/UA/\";\n\n    /// <summary>\n    /// The URI for the OpcUaXsd namespace (.NET code namespace is 'Opc.Ua').\n    /// </summary>\n    public const string OpcUaXsd = \"http://opcfoundation.org/UA/2008/02/Types.xsd\";\n  }\n  #endregion\n}"
  },
  {
    "path": "SemanticData/UANodeSetValidation/UANodeContext.cs",
    "content": "﻿//__________________________________________________________________________________________________\n//\n//  Copyright (C) 2022, Mariusz Postol LODZ POLAND.\n//\n//  To be in touch join the community at GitHub: https://github.com/mpostol/OPC-UA-OOI/discussions\n//__________________________________________________________________________________________________\n\nusing System;\nusing System.Collections.Generic;\nusing System.Diagnostics;\nusing System.Linq;\nusing System.Xml;\nusing UAOOI.SemanticData.AddressSpace.Abstractions;\nusing UAOOI.SemanticData.BuildingErrorsHandling;\nusing UAOOI.SemanticData.InformationModelFactory;\nusing UAOOI.SemanticData.UANodeSetValidation.DataSerialization;\nusing UAOOI.SemanticData.UANodeSetValidation.UAInformationModel;\n\nnamespace UAOOI.SemanticData.UANodeSetValidation\n{\n  /// <summary>\n  /// Class UANodeContext - it wraps the <see cref=\"UANode\"/> and provides functionality to analyze its semantic.\n  /// </summary>\n  internal class UANodeContext : IUANodeContext, IUANodeBase\n  {\n    #region constructor\n\n    /// <summary>\n    /// Initializes a new instance of the <see cref=\"UANodeContext\" /> class.\n    /// </summary>\n    /// <param name=\"nodeId\">An object of <see cref=\"NodeId\" /> that stores an identifier for a node in a server's address space.</param>\n    /// <param name=\"addressSpaceContext\">The address space context.</param>\n    /// <param name=\"traceMessageCallback\">The trace message callback.</param>\n    /// <exception cref=\"ArgumentNullException\">traceMessageCallback</exception>\n    internal UANodeContext(NodeId nodeId, IAddressSpaceBuildContext addressSpaceContext, Action<TraceMessage> traceMessageCallback)\n    {\n      TraceEvent = traceMessageCallback ?? throw new ArgumentNullException(nameof(traceMessageCallback));\n      NodeIdContext = nodeId;\n      this.m_AddressSpaceContext = addressSpaceContext;\n    }\n\n    #endregion constructor\n\n    #region IUANodeContext\n\n    /// <summary>\n    /// Builds the symbolic identifier.\n    /// </summary>\n    /// <param name=\"path\">The browse path.</param>\n    //NetworkIdentifier is missing in generated Model Design for DI model #629\n    public void BuildSymbolicId(List<string> path)\n    {\n      if (this.UANode == null)\n      {\n        TraceEvent(TraceMessage.BuildErrorTraceMessage(BuildError.DanglingReferenceTarget, $\"The target node NodeId={this.NodeIdContext}, current path {string.Join(\", \", path)}\"));\n        return;\n      }\n      IEnumerable<UAReferenceContext> _parentConnector = m_AddressSpaceContext.GetReferences2Me(this).Where<UAReferenceContext>(x => x.ChildConnector);\n      Debug.Assert(_parentConnector.Count<UAReferenceContext>() <= 1);\n      UAReferenceContext _connector = _parentConnector.FirstOrDefault<UAReferenceContext>();\n      if (_connector != null)\n        _connector.BuildSymbolicId(path);\n      string _BranchName = string.IsNullOrEmpty(this.UANode.SymbolicName) ? this.UANode.BrowseName.Name : this.UANode.SymbolicName;\n      path.Add(_BranchName);\n    }\n\n    /// <summary>\n    /// Gets or sets a value indicating whether the node is in recursion chain - selected for analysis second time.\n    /// </summary>\n    /// <value><c>true</c> if the node is in recursion chain; otherwise, <c>false</c>.</value>\n    public bool InRecursionChain { get; set; } = false;\n\n    /// <summary>\n    /// Updates this instance in case the wrapped <see cref=\"UANode\" /> is recognized in the model.\n    /// </summary>\n    /// <param name=\"node\">The node <see cref=\"UANode\" /> containing definition to be added to the model.</param>\n    /// <param name=\"addReference\">Used to add new reference to the common collection of references.</param>\n    /// <exception cref=\"ArgumentException\">node - Argument must not be null</exception>\n    public void Update(IUANode node, Action<UAReferenceContext> addReference)\n    {\n      if (node == null)\n        throw new ArgumentException(nameof(node), $\"Argument must not be null at {nameof(Update)} \");\n      if (this.UANode != null)\n      {\n        TraceEvent(TraceMessage.BuildErrorTraceMessage(BuildError.NodeIdDuplicated, string.Format(\"The {0} is already defined and is removed from further processing.\", node.NodeId.ToString())));\n        return;\n      }\n      UANode = node;\n      if (node.References == null)\n        return;\n      foreach (IReference _reference in node.References)\n      {\n        UAReferenceContext _newReference = new UAReferenceContext(_reference, this.m_AddressSpaceContext, this);\n        switch (_newReference.ReferenceKind)\n        {\n          case ReferenceKindEnum.Custom:\n          case ReferenceKindEnum.HasComponent:\n          case ReferenceKindEnum.HasProperty:\n            break;\n\n          case ReferenceKindEnum.HasModellingRule:\n            ModelingRule = _newReference.GetModelingRule();\n            break;\n\n          case ReferenceKindEnum.HasSubtype: //TODO Part 3 7.10 HasSubtype - add test cases #35\n            m_BaseTypeNode = _newReference.SourceNode;\n            break;\n\n          case ReferenceKindEnum.HasTypeDefinition: //Recognize problems with P3.7.13 HasTypeDefinition ReferenceType #39\n            m_BaseTypeNode = _newReference.TargetNode;\n            break;\n        }\n        addReference(_newReference);\n      }\n    }\n\n    public IUANodeContext CreateUANodeContext(NodeId id)\n    {\n      return new UANodeContext(id, m_AddressSpaceContext, TraceEvent);\n    }\n\n    #endregion IUANodeContext\n\n    #region IUANodeBase\n\n    /// <summary>\n    /// Exports the browse name of the wrapped node by this instance.\n    /// </summary>\n    /// <returns>An instance of <see cref=\"XmlQualifiedName\" /> representing the BrowseName of the node.</returns>\n    public XmlQualifiedName ExportNodeBrowseName()\n    {\n      return new XmlQualifiedName(UANode.BrowseName.Name, m_AddressSpaceContext.GetNamespace(UANode.BrowseName.NamespaceIndex));\n    }\n\n    /// <summary>\n    /// Calculates the node references.\n    /// </summary>\n    /// <param name=\"nodeFactory\">The node factory.</param>\n    /// <param name=\"allNodesInConcern\">list of selected members to export.</param>\n    /// <param name=\"validator\">The validator.</param>\n    /// <param name=\"validateExportNode2Model\">It creates the node at the top level of the model. Called if the node has reference to another node that cannot be defined as a child.</param>\n    //TODO Import simple NodeSet2 file is incomplete #510\n    void IUANodeBase.CalculateNodeReferences(INodeFactory nodeFactory, List<IUANodeBase> allNodesInConcern, IValidator validator, Action<IUANodeContext> validateExportNode2Model)\n    {\n      if (nodeFactory == null)\n        throw new ArgumentNullException(nameof(nodeFactory), $\"{nodeFactory} must not be null in {nameof(IUANodeBase.CalculateNodeReferences)}\");\n      if (validator is null)\n        throw new ArgumentNullException(nameof(validator), $\"{nameof(validator)} must not be null in {nameof(IUANodeBase.CalculateNodeReferences)}\");\n      if (validateExportNode2Model == null)\n        throw new ArgumentNullException(nameof(validateExportNode2Model), $\"The parameter must not be null in {nameof(IUANodeBase.CalculateNodeReferences)}\");\n      List<UAReferenceContext> _children = new List<UAReferenceContext>();\n      foreach (UAReferenceContext _rfx in m_AddressSpaceContext.GetMyReferences(this))\n      {\n        if (_rfx.TargetNode.UANode == null)\n        {\n          TraceEvent(TraceMessage.BuildErrorTraceMessage(BuildError.DanglingReferenceTarget, $\"The Node {_rfx.TargetNode} has not been defined and is excluded from further model processing.\"));\n          continue;\n        }\n        switch (_rfx.ReferenceKind)\n        {\n          case ReferenceKindEnum.Custom:\n            XmlQualifiedName _ReferenceType = _rfx.GetReferenceTypeName();\n            if (_ReferenceType == XmlQualifiedName.Empty)\n            {\n              BuildError _err = BuildError.DanglingReferenceTarget;\n              TraceEvent(TraceMessage.BuildErrorTraceMessage(_err, \"Information\"));\n            }\n            else if (_ReferenceType == new XmlQualifiedName(BrowseNames.HasEncoding, Namespaces.OpcUa))\n            {\n              TraceEvent(TraceMessage.DiagnosticTraceMessage($\"Removed the graph of nodes at {_ReferenceType.ToString()} from the model\"));\n              return;\n            }\n            IReferenceFactory _or = nodeFactory.NewReference();\n            _or.IsInverse = !_rfx.IsForward;\n            _or.ReferenceType = _ReferenceType;\n            //TODO The exported model doesn't contain all nodes #653\n            //TODO NetworkIdentifier is missing in generated Model Design for DI model #629\n            _or.TargetId = _rfx.BrowsePath();\n            switch (_rfx.TargetNode.UANode.NodeClass)\n            {\n              case NodeClassEnum.UADataType:\n              case NodeClassEnum.UAObjectType:\n              case NodeClassEnum.UAReferenceType:\n              case NodeClassEnum.UAVariableType:\n                break;\n\n              //TODO NetworkIdentifier is missing in generated Model Design for DI model #629\n              //TODO The exported model doesn't contain all nodes #653\n              case NodeClassEnum.UAObject:\n              case NodeClassEnum.UAVariable:\n              case NodeClassEnum.UAMethod:\n                //validator.ValidateExportNode(_rfx.TargetNode, allNodesInConcern, nodeFactory, validateExportNode2Model, _rfx);\n                validateExportNode2Model(_rfx.TargetNode);\n                break;\n\n              case NodeClassEnum.UAView:\n                TraceEvent(TraceMessage.DiagnosticTraceMessage($\"Removed the graph of nodes at {_rfx.TargetNode} from the model\"));\n                break;\n\n              case NodeClassEnum.Unknown:\n                TraceEvent(TraceMessage.DiagnosticTraceMessage($\"Removed the graph of nodes at {_rfx.TargetNode} from the model\"));\n                break;\n\n              default:\n                throw new ArgumentOutOfRangeException(nameof(_rfx.TargetNode.UANode.NodeClass));\n            }\n            break;\n\n          case ReferenceKindEnum.HasComponent:\n            _children.Add(_rfx);\n            break;\n\n          case ReferenceKindEnum.HasProperty:\n            _children.Add(_rfx);\n            break;\n\n          case ReferenceKindEnum.HasModellingRule:\n            break;\n\n          case ReferenceKindEnum.HasSubtype:\n            break;\n\n          case ReferenceKindEnum.HasTypeDefinition: //TODO Recognize problems with P3.7.13 HasTypeDefinition ReferenceType #39\n            IsProperty = _rfx.TargetNode.IsPropertyVariableType;\n            break;\n        }\n      }\n      //TODO The exported model doesn't contain all nodes #653\n      RemoveDerivedChildren(nodeFactory, allNodesInConcern, validator, validateExportNode2Model, _children);\n    }\n\n    private void RemoveDerivedChildren(INodeFactory nodeFactory, List<IUANodeBase> allNodesInConcern, IValidator validator, Action<IUANodeContext> validateExportNode2Model,\n                                       List<UAReferenceContext> children)\n    {\n      Dictionary<IUANodeBase, UAReferenceContext> referencedChildren = children.ToDictionary<UAReferenceContext, IUANodeBase>(x => x.TargetNode);\n      NodesCollection derivedChildren = m_BaseTypeNode == null ? new NodesCollection() : m_BaseTypeNode.GetDerivedInstances();\n      foreach (var _rc in referencedChildren)\n      {\n        IUANodeBase _instanceDeclaration = null;\n        string name = _rc.Key.UANode.BrowseName.Name;\n        if (!string.IsNullOrEmpty(name))\n          _instanceDeclaration = derivedChildren.ContainsKey(name) ? derivedChildren[name] : null;\n        if (_rc.Key.Equals(_instanceDeclaration))\n        {\n          TraceEvent(TraceMessage.DiagnosticTraceMessage($\"{2054200566} - Removing instance declaration {_rc.Key}\"));\n          if (!allNodesInConcern.Remove(_rc.Key))\n            TraceEvent(TraceMessage.DiagnosticTraceMessage($\"{2064801864} - Derived node {_rc.Key} doesn't exist in all nodes\"));\n          continue;\n        }\n        _rc.Key.RemoveInheritedValues(_instanceDeclaration);\n        validator.ValidateExportNode(_rc.Key, allNodesInConcern, nodeFactory, validateExportNode2Model, _rc.Value);\n      }\n    }\n\n    /// <summary>\n    /// Gets the instance of <see cref=\"UANode\" /> of this context source\n    /// </summary>\n    /// <value>The source UA node from the model.</value>\n    public IUANode UANode { get; private set; } = null;\n\n    /// <summary>\n    /// Gets the node identifier.\n    /// </summary>\n    /// <value>The imported node identifier.</value>\n    public NodeId NodeIdContext { get; private set; }\n\n    /// <summary>\n    /// Gets a value indicating whether this instance is a property.\n    /// </summary>\n    /// <value><c>true</c> if this instance is property; otherwise, <c>false</c>.</value>\n    public bool IsProperty { get; private set; } = false;\n\n    /// <summary>\n    /// Exports the browse name of a node recognized as <see cref=\"ReferenceKindEnum.HasSubtype\"/> or <see cref=\"ReferenceKindEnum.HasTypeDefinition\"/> target.\n    /// </summary>\n    /// <returns>An instance of <see cref=\"XmlQualifiedName\" /> encapsulating the base type name.</returns>\n    public XmlQualifiedName ExportBaseTypeBrowseName()\n    {\n      bool type = UANode is IUAType;\n      return m_BaseTypeNode == null ? null : m_BaseTypeNode.ExportBrowseNameBaseType(x => TraceErrorUndefinedBaseType(x, type));\n    }\n\n    /// <summary>\n    /// Gets the modeling rule associated with this node.\n    /// </summary>\n    /// <value>The modeling rule. Null if valid modeling rule cannot be recognized.</value>\n    public ModelingRules? ModelingRule { get; private set; } = new Nullable<ModelingRules>();\n\n    /// <summary>\n    /// Exports the browse name of this node recognized as <see cref=\"ReferenceKindEnum.HasSubtype\" /> or <see cref=\"ReferenceKindEnum.HasTypeDefinition\" /> target.\n    /// </summary>\n    /// <param name=\"traceEvent\">The trace event.</param>\n    /// <returns>An instance of <see cref=\"XmlQualifiedName\" /> representing subtype or type of an instance.</returns>\n    public XmlQualifiedName ExportBrowseNameBaseType(Action<NodeId> traceEvent)\n    {\n      //TODO It cannot be the reference type\n      if (this.NodeIdContext == ObjectTypeIds.BaseObjectType)\n        return null;\n      if (this.NodeIdContext == VariableTypeIds.BaseDataVariableType)\n        return null;\n      if (this.NodeIdContext == VariableTypeIds.PropertyType)\n        return null;\n      if (Object.ReferenceEquals(UANode, null))\n      {\n        traceEvent(this.NodeIdContext);\n        return XmlQualifiedName.Empty;\n      }\n      return ExportNodeBrowseName();\n    }\n\n    /// <summary>\n    /// Gets the derived instances.\n    /// </summary>\n    /// <returns>An instance of <see cref=\"NodesCollection\"/> or null if there is nothing to return</returns>\n    //TODO NetworkIdentifier is missing in generated Model Design for DI model #629\n    //TODO The exported model doesn't contain all nodes #653\n    public NodesCollection GetDerivedInstances()\n    {\n      if (m_InGetDerivedInstances)\n      {\n        TraceMessage errorToLog = TraceMessage.BuildErrorTraceMessage(BuildError.NotValidLoopingHierarchy, $\"Circular loop in {nameof(GetDerivedInstances)}\");\n        TraceEvent(errorToLog);\n        return null;\n      }\n      try\n      {\n        m_InGetDerivedInstances = true;\n        IEnumerable<IUANodeBase> _myChildren = m_AddressSpaceContext.GetChildren(this);\n        NodesCollection _instanceDeclarations = m_BaseTypeNode == null ? new NodesCollection() : m_BaseTypeNode.GetDerivedInstances();\n        foreach (IUANodeBase item in _myChildren)\n          _instanceDeclarations.AddOrReplace(item, true);\n        return _instanceDeclarations;\n      }\n      finally\n      {\n        m_InGetDerivedInstances = false;\n      }\n    }\n\n    /// <summary>\n    /// Gets a value indicating whether this instance is property variable type.\n    /// </summary>\n    /// <value><c>true</c> if this instance is property variable type; otherwise, <c>false</c>.</value>\n    bool IUANodeBase.IsPropertyVariableType => this.NodeIdContext == VariableTypeIds.PropertyType;\n\n    /// <summary>\n    /// Removes the inherited values.\n    /// </summary>\n    /// <param name=\"instanceDeclaration\">The instance declaration.</param>\n    /// <remarks>If a member is overridden all inherited values of the node attributes must be removed.</remarks>\n    void IUANodeBase.RemoveInheritedValues(IUANodeBase instanceDeclaration)\n    {\n      if (instanceDeclaration is null)\n        return;\n      this.UANode.RemoveInheritedValues(instanceDeclaration.UANode);\n      if (this.ModelingRule == instanceDeclaration.ModelingRule)\n        this.ModelingRule = null;\n    }\n\n    #endregion IUANodeBase\n\n    #region IEquatable<IUANodeBase>\n\n    /// <summary>\n    /// Indicates whether the current object is equal to another object of the same type.\n    /// </summary>\n    /// <param name=\"other\">An object to compare with this object.</param>\n    /// <returns>true if the current object is equal to the <paramref name=\"other\">other</paramref> parameter; otherwise, false.</returns>\n    public bool Equals(IUANodeBase other)\n    {\n      if (Object.ReferenceEquals(other, null))\n        return false;\n      return this.UANode.Equals(other.UANode);\n    }\n\n    #endregion IEquatable<IUANodeBase>\n\n    #region object\n\n    public override string ToString()\n    {\n      string browseName = this.UANode == null ? \" ???? \" : $\"{this.UANode.BrowseName}\";\n      return $\"NodeId=\\\"{this.NodeIdContext}\\\", BrowseName=\\\"{browseName}\\\", ModellingRule=\\\"{ModelingRule}\\\"\";\n    }\n\n    #endregion object\n\n    #region private\n\n    private IUANodeBase m_BaseTypeNode;\n    private readonly IAddressSpaceBuildContext m_AddressSpaceContext = null;\n    private bool m_InGetDerivedInstances = false;\n    private readonly Action<TraceMessage> TraceEvent = null;\n\n    //methods\n    private void TraceErrorUndefinedBaseType(NodeId target, bool type)\n    {\n      if (type)\n      {\n        string _msg = string.Format(\"BaseType of Id={0} for node {1}\", target, this.UANode.BrowseName);\n        TraceEvent(TraceMessage.BuildErrorTraceMessage(BuildError.UndefinedHasSubtypeTarget, _msg));\n      }\n      else\n      {\n        string _msg = string.Format(\"TypeDefinition of Id={0} for node {1}\", target, this.UANode.BrowseName);\n        TraceEvent(TraceMessage.BuildErrorTraceMessage(BuildError.UndefinedHasTypeDefinition, _msg));\n      }\n    }\n\n    #endregion private\n  }\n}"
  },
  {
    "path": "SemanticData/UANodeSetValidation/UAReferenceContext.cs",
    "content": "﻿//__________________________________________________________________________________________________\n//\n//  Copyright (C) 2022, Mariusz Postol LODZ POLAND.\n//\n//  To be in touch join the community at GitHub: https://github.com/mpostol/OPC-UA-OOI/discussions\n//__________________________________________________________________________________________________\n\nusing System;\nusing System.Collections.Generic;\nusing System.Diagnostics;\nusing System.Linq;\nusing System.Xml;\nusing UAOOI.SemanticData.AddressSpace.Abstractions;\nusing UAOOI.SemanticData.InformationModelFactory;\nusing UAOOI.SemanticData.UANodeSetValidation.DataSerialization;\nusing UAOOI.SemanticData.UANodeSetValidation.UAInformationModel;\n\nnamespace UAOOI.SemanticData.UANodeSetValidation\n{\n  /// <summary>\n  /// Class UAReferenceContext - encapsulates information about a reference\n  /// </summary>\n  internal class UAReferenceContext\n  {\n    #region constructor\n\n    internal UAReferenceContext(IReference reference, IAddressSpaceBuildContext addressSpaceContext, IUANodeContext parentNode)\n    {\n      if (reference == null)\n        throw new ArgumentNullException(nameof(reference));\n      this._AddressSpace = addressSpaceContext ?? throw new ArgumentNullException(nameof(addressSpaceContext));\n      if (parentNode == null)\n        throw new ArgumentNullException(nameof(parentNode));\n      IUANodeContext targetNode = _AddressSpace.GetOrCreateNodeContext(reference.ValueNodeId, parentNode.CreateUANodeContext);\n      this.IsForward = reference.IsForward;\n      this.SourceNode = reference.IsForward ? parentNode : targetNode;\n      this.TargetNode = reference.IsForward ? targetNode : parentNode;\n      this.TypeNode = addressSpaceContext.GetOrCreateNodeContext(reference.ReferenceTypeNodeid, parentNode.CreateUANodeContext);\n    }\n\n    #endregion constructor\n\n    #region API\n\n    #region semantics\n\n    /// <summary>\n    /// Gets the kind of the reference.\n    /// </summary>\n    /// <value>The kind of the reference.</value>\n    internal ReferenceKindEnum ReferenceKind\n    {\n      get\n      {\n        if (_ReferenceKindEnum == null)\n          _ReferenceKindEnum = CalculateReferenceKind();\n        return _ReferenceKindEnum.Value;\n      }\n    }\n\n    /// <summary>\n    /// Gets the modeling rule.\n    /// </summary>\n    /// <returns>System.Nullable{ModelingRules}.</returns>\n    internal ModelingRules? GetModelingRule()\n    {\n      Debug.Assert(TargetNode.NodeIdContext.IdType == IdType.Numeric_0);\n      //Debug.Assert(ReferenceKind == ReferenceKindEnum.HasModellingRule);\n      int _targetId = TargetNode.NodeIdContext.NamespaceIndex != 0 ? -1 : Convert.ToInt32(TargetNode.NodeIdContext.IdentifierPart);\n      ModelingRules? _ret = new Nullable<ModelingRules>();\n      if (_targetId == Objects.ModellingRule_Mandatory)\n        _ret = ModelingRules.Mandatory;\n      else if (_targetId == Objects.ModellingRule_Optional)\n        _ret = ModelingRules.Optional;\n      else if (_targetId == Objects.ModellingRule_MandatoryPlaceholder)\n        _ret = ModelingRules.MandatoryPlaceholder;\n      else if (_targetId == Objects.ModellingRule_OptionalPlaceholder)\n        _ret = ModelingRules.OptionalPlaceholder;\n      else if (_targetId == Objects.ModellingRule_ExposesItsArray)\n        _ret = ModelingRules.OptionalPlaceholder;\n      return _ret;\n    }\n\n    /// <summary>\n    /// Gets a value indicating whether the reference has been derived form <see cref=\"ReferenceKindEnum.HasProperty\"/> or <see cref=\"ReferenceKindEnum.HasComponent\"/>.\n    /// </summary>\n    /// <value><c>true</c> if it is child reference; otherwise, <c>false</c>.</value>\n    //TODO NetworkIdentifier is missing in generated Model Design for DI model #629\n    //TODO The exported model doesn't contain all nodes #653\n    internal bool ChildConnector => (ReferenceKind == ReferenceKindEnum.HasProperty) || (ReferenceKind == ReferenceKindEnum.HasComponent);\n\n    #endregion semantics\n\n    #region naming\n\n    /// <summary>\n    /// Gets the name of the reference type.\n    /// </summary>\n    /// <returns>An instance of <see cref=\"XmlQualifiedName\"/> capturing name of the reference type.</returns>\n    internal XmlQualifiedName GetReferenceTypeName()\n    {\n      return _AddressSpace.ExportBrowseName(this.TypeNode.NodeIdContext, GetDefault());\n    }\n\n    /// <summary>\n    /// Calculates the browse path starting from the node pointed out by this reference. If <see cref=\"XML.Reference.IsForward\"/> the <see cref=\"UAReferenceContext.TargetNode\"/> is use,  <see cref=\"UAReferenceContext.SourceNode\"/> otherwise.\n    /// </summary>\n    /// <returns>An instance of <see cref=\"XmlQualifiedName\" /> representing the browse path.</returns>\n    internal XmlQualifiedName BrowsePath()\n    {\n      List<string> _path = new List<string>();\n      IUANodeContext _startingNode = this.IsForward ? TargetNode : SourceNode;\n      _startingNode.BuildSymbolicId(_path);\n      string _symbolicId = _path.SymbolicName();\n      return new XmlQualifiedName(_symbolicId, _AddressSpace.GetNamespace(_startingNode.NodeIdContext.NamespaceIndex));\n    }\n\n    /// <summary>\n    /// It recursively builds the symbolic identifier.\n    /// </summary>\n    /// <param name=\"path\">The browse path.</param>\n    internal void BuildSymbolicId(List<string> path)\n    {\n      this.SourceNode.BuildSymbolicId(path);\n    }\n\n    #endregion naming\n\n    #region navigation\n\n    /// <summary>\n    /// Gets the parent node that the reference is attached to.\n    /// </summary>\n    /// <value>An instance of the <see cref=\"IUANodeContext\"/> of the parent node.</value>\n    internal IUANodeContext ParentNode => IsForward ? SourceNode : TargetNode;\n\n    /// <summary>\n    /// Gets the type node.\n    /// </summary>\n    /// <value>An instance of <see cref=\"IUANodeContext \"/> that captures information about a node representing type of the reference.</value>\n    internal IUANodeContext TypeNode { get; private set; }\n\n    /// <summary>\n    /// Gets the target node.\n    /// </summary>\n    /// <value>An instance of <see cref=\"IUANodeContext \"/> that captures information about a target node.</value>\n    internal IUANodeContext TargetNode { get; private set; }\n\n    /// <summary>\n    /// Gets the source node context.\n    /// </summary>\n    /// <value>An instance of <see cref=\"IUANodeContext \"/> that captures information about a source node.</value>\n    internal IUANodeContext SourceNode { get; private set; }\n\n    /// <summary>\n    /// Gets the key.\n    /// </summary>\n    /// <value>The key.</value>\n    internal string Key => string.Format(\"{0}:{1}:{2}\", SourceNode.NodeIdContext.Format(), TypeNode.NodeIdContext.Format(), TargetNode.NodeIdContext.Format());\n\n    /// <summary>\n    /// Gets a value indicating whether this instance is forward.\n    /// </summary>\n    /// <value><c>true</c> if this instance is forward; otherwise, <c>false</c>.</value>\n    internal bool IsForward { get; private set; }\n\n    #endregion navigation\n\n    #endregion API\n\n    #region private\n\n    //fields\n    private IAddressSpaceBuildContext _AddressSpace;\n\n    private ReferenceKindEnum? _ReferenceKindEnum = new Nullable<ReferenceKindEnum>();\n\n    //methods\n    private ReferenceKindEnum CalculateReferenceKind()\n    {\n      if ((TypeNode == null) || TypeNode.NodeIdContext.NamespaceIndex != 0)\n        return ReferenceKindEnum.Custom;\n      ReferenceKindEnum _ret = default(ReferenceKindEnum);\n      List<IUANodeContext> inheritanceChain = new List<IUANodeContext>();\n      _AddressSpace.GetBaseTypes(TypeNode, inheritanceChain);\n      if (inheritanceChain.Where<IUANodeContext>(x => x.NodeIdContext == ReferenceTypeIds.HasProperty).Any<IUANodeContext>())\n        _ret = ReferenceKindEnum.HasProperty;\n      else if (inheritanceChain.Where<IUANodeContext>(x => x.NodeIdContext == ReferenceTypeIds.HasComponent).Any<IUANodeContext>())\n        _ret = ReferenceKindEnum.HasComponent;\n      else if (inheritanceChain.Where<IUANodeContext>(x => x.NodeIdContext == ReferenceTypeIds.HasSubtype).Any<IUANodeContext>())\n        _ret = ReferenceKindEnum.HasSubtype;\n      else if (inheritanceChain.Where<IUANodeContext>(x => x.NodeIdContext == ReferenceTypeIds.HasTypeDefinition).Any<IUANodeContext>())\n        _ret = ReferenceKindEnum.HasTypeDefinition;\n      else if (inheritanceChain.Where<IUANodeContext>(x => x.NodeIdContext == ReferenceTypeIds.HasModellingRule).Any<IUANodeContext>())\n        _ret = ReferenceKindEnum.HasModellingRule;\n      else\n        _ret = ReferenceKindEnum.Custom;\n      return _ret;\n    }\n\n    private NodeId GetDefault()\n    {\n      NodeId _default = NodeId.Null;\n      switch (ReferenceKind)\n      {\n        case ReferenceKindEnum.HasComponent:\n          _default = ReferenceTypeIds.HasComponent;\n          break;\n\n        case ReferenceKindEnum.HasTypeDefinition:\n          _default = ReferenceTypeIds.HasTypeDefinition;\n          break;\n\n        case ReferenceKindEnum.HasSubtype:\n          _default = ReferenceTypeIds.HasSubtype;\n          break;\n\n        case ReferenceKindEnum.HasProperty:\n          _default = ReferenceTypeIds.HasProperty;\n          break;\n\n        default:\n          break;\n      }\n      return _default;\n    }\n\n    #endregion private\n  };\n}"
  },
  {
    "path": "SemanticData/UANodeSetValidation/Validator.cs",
    "content": "﻿//__________________________________________________________________________________________________\n//\n//  Copyright (C) 2022, Mariusz Postol LODZ POLAND.\n//\n//  To be in touch join the community at GitHub: https://github.com/mpostol/OPC-UA-OOI/discussions\n//__________________________________________________________________________________________________\n\nusing System;\nusing System.Collections.Generic;\nusing System.Diagnostics;\nusing System.Linq;\nusing System.Xml;\nusing UAOOI.SemanticData.AddressSpace.Abstractions;\nusing UAOOI.SemanticData.BuildingErrorsHandling;\nusing UAOOI.SemanticData.InformationModelFactory;\nusing UAOOI.SemanticData.UANodeSetValidation.DataSerialization;\nusing UAOOI.SemanticData.UANodeSetValidation.Diagnostic;\nusing UAOOI.SemanticData.UANodeSetValidation.UAInformationModel;\n\nnamespace UAOOI.SemanticData.UANodeSetValidation\n{\n  /// <summary>\n  /// Class Validator - contains static methods used to validate and export a collection of nodes - part of the Address Space.\n  /// </summary>\n  internal class Validator : IValidator\n  {\n    internal Validator(IAddressSpaceBuildContext addressSpace, IBuildErrorsHandling traceBuildErrorsHandling)\n    {\n      m_AddressSpace = addressSpace;\n      m_buildErrorsHandling = traceBuildErrorsHandling;\n    }\n\n    #region IValidator\n\n    /// <summary>\n    /// Validates <paramref name=\"nodeContext\" /> and exports it using an object of <see cref=\"IModelFactory\" />  type.\n    /// </summary>\n    /// <param name=\"nodeContext\">The node context to be validated and exported.</param>\n    /// <param name=\"allNodesInConcern\">list of selected members to export.</param>\n    /// <param name=\"exportFactory\">A model export factory.</param>\n    /// <param name=\"validateExportNode2Model\">It creates the node at the top level of the model. Called if the node has reference to another node that cannot be defined as a child.</param>\n    public void ValidateExportNode(IUANodeBase nodeContext, List<IUANodeBase> allNodesInConcern, INodeContainer exportFactory, Action<IUANodeContext> validateExportNode2Model)\n    {\n      ValidateExportNode(nodeContext, allNodesInConcern, exportFactory, validateExportNode2Model, null);\n    }\n\n    /// <summary>\n    /// Validates <paramref name=\"nodeContext\" /> and exports it using an object of <see cref=\"IModelFactory\" />  type.\n    /// </summary>\n    /// <param name=\"nodeContext\">The node context to be validated and exported.</param>\n    /// <param name=\"allNodesInConcern\">list of selected members to export.</param>\n    /// <param name=\"exportFactory\">A model export factory.</param>\n    /// <param name=\"parentReference\">The reference to parent node.</param>\n    /// <param name=\"validateExportNode2Model\">It creates the node at the top level of the model. Called if the node has reference to another node that cannot be defined as a child.</param>\n    public void ValidateExportNode(IUANodeBase nodeContext, List<IUANodeBase> allNodesInConcern, INodeContainer exportFactory, Action<IUANodeContext> validateExportNode2Model, UAReferenceContext parentReference)\n    {\n      Debug.Assert(nodeContext != null, \"Validator.ValidateExportNode the argument nodeContext is null.\");\n      //TODO Handle HasComponent ReferenceType errors. #42\n      if (Object.ReferenceEquals(nodeContext.UANode, null))\n      {\n        string _msg = string.Format(\"The node {0} is undefined\", nodeContext.NodeIdContext);\n        BuildError _be = null;\n        if (parentReference == null || parentReference.ReferenceKind == ReferenceKindEnum.HasProperty)\n          _be = BuildError.UndefinedHasPropertyTarget;\n        else\n          _be = BuildError.UndefinedHasComponentTarget;\n        TraceMessage _traceMessage = TraceMessage.BuildErrorTraceMessage(_be, _msg);\n        m_buildErrorsHandling.WriteTraceMessage(_traceMessage);\n        CreateModelDesignStub(exportFactory);\n      }\n      else\n      {\n        switch (nodeContext.UANode.NodeClass)\n        {\n          case NodeClassEnum.UADataType:\n            CreateNode<IDataTypeFactory, IUADataType>(exportFactory.AddNodeFactory<IDataTypeFactory>, nodeContext, (x, y) => Update(x, y), UpdateType, validateExportNode2Model, allNodesInConcern);\n            break;\n\n          case NodeClassEnum.UAMethod:\n            CreateNode<IMethodInstanceFactory, IUAMethod>(exportFactory.AddNodeFactory<IMethodInstanceFactory>, nodeContext, (x, y) => Update(x, y, parentReference), UpdateInstance, validateExportNode2Model, allNodesInConcern);\n            break;\n\n          case NodeClassEnum.UAObject:\n            CreateNode<IObjectInstanceFactory, IUAObject>(exportFactory.AddNodeFactory<IObjectInstanceFactory>, nodeContext, (x, y) => Update(x, y), UpdateInstance, validateExportNode2Model, allNodesInConcern);\n            break;\n\n          case NodeClassEnum.UAObjectType:\n            CreateNode<IObjectTypeFactory, IUAObjectType>(exportFactory.AddNodeFactory<IObjectTypeFactory>, nodeContext, Update, UpdateType, validateExportNode2Model, allNodesInConcern);\n            break;\n\n          case NodeClassEnum.UAReferenceType:\n            CreateNode<IReferenceTypeFactory, IUAReferenceType>(exportFactory.AddNodeFactory<IReferenceTypeFactory>, nodeContext, (x, y) => Update(x, y), UpdateType, validateExportNode2Model, allNodesInConcern);\n            break;\n\n          case NodeClassEnum.UAVariable:\n            if ((parentReference != null) && (parentReference.ReferenceKind == ReferenceKindEnum.HasProperty))\n              CreateNode<IPropertyInstanceFactory, IUAVariable>(exportFactory.AddNodeFactory<IPropertyInstanceFactory>, nodeContext, (x, y) => Update(x, y, nodeContext, parentReference), UpdateInstance, validateExportNode2Model, allNodesInConcern);\n            else\n              CreateNode<IVariableInstanceFactory, IUAVariable>(exportFactory.AddNodeFactory<IVariableInstanceFactory>, nodeContext, (x, y) => Update(x, y, nodeContext, parentReference), UpdateInstance, validateExportNode2Model, allNodesInConcern);\n            break;\n\n          case NodeClassEnum.UAVariableType:\n            CreateNode<IVariableTypeFactory, IUAVariableType>(exportFactory.AddNodeFactory<IVariableTypeFactory>, nodeContext, (x, y) => Update(x, y), UpdateType, validateExportNode2Model, allNodesInConcern);\n            break;\n\n          case NodeClassEnum.UAView:\n            CreateNode<IViewInstanceFactory, IUAView>(exportFactory.AddNodeFactory<IViewInstanceFactory>, nodeContext, (x, y) => Update(x, y), UpdateInstance, validateExportNode2Model, allNodesInConcern);\n            break;\n\n          case NodeClassEnum.Unknown:\n            throw new ApplicationException($\"In {nameof(ValidateExportNode)} unexpected NodeClass value\");\n        }\n      }\n    }\n\n    #endregion IValidator\n\n    #region private\n\n    // vars\n\n    private readonly IAddressSpaceBuildContext m_AddressSpace;\n    private readonly IBuildErrorsHandling m_buildErrorsHandling;\n\n    private static ApplicationException InstanceDeclarationNotSupported(NodeClassEnum nodeClass)\n    {\n      return new ApplicationException($\"{nodeClass} doesn't support instance declarations\");\n    }\n\n    private void Update(IObjectInstanceFactory nodeDesign, IUAObject nodeSet)\n    {\n      nodeDesign.SupportsEvents = nodeSet.EventNotifier.ParseSupportsEvents(m_buildErrorsHandling.WriteTraceMessage);\n    }\n\n    private void Update(IPropertyInstanceFactory nodeDesign, IUAVariable nodeSet, IUANodeBase nodeContext, UAReferenceContext parentReference)\n    {\n      try\n      {\n        Update(nodeDesign, nodeSet, parentReference);\n        if (!nodeContext.IsProperty && !Object.ReferenceEquals(parentReference, null))\n        {\n          XmlQualifiedName baseType = nodeContext.ExportBaseTypeBrowseName();\n          string baseTypeName = baseType == null ? \"a base type\" : $\"the {baseType.ToString()} type.\";\n          m_buildErrorsHandling.WriteTraceMessage\n            (\n              TraceMessage.BuildErrorTraceMessage(BuildError.WrongReference2Property,\n                $\"Target node of the {parentReference.ReferenceKind} reference cannot be {nodeContext.UANode.BrowseName} of {baseTypeName}.\")\n            );\n        }\n      }\n      catch (Exception _ex)\n      {\n        m_buildErrorsHandling.WriteTraceMessage(\n          TraceMessage.BuildErrorTraceMessage(BuildError.WrongReference2Property, string.Format(\"Cannot resolve the reference for Property because of error {0} at: {1}.\", _ex, _ex.StackTrace)));\n      }\n    }\n\n    private void Update(IVariableInstanceFactory nodeDesign, IUAVariable nodeSet, IUANodeBase nodeContext, UAReferenceContext parentReference)\n    {\n      try\n      {\n        Update(nodeDesign, nodeSet, parentReference);\n        //TODO NetworkIdentifier is missing in generated Model Design for DI model #629 parentReference System.NullReferenceException\n        //TODO The exported model doesn't contain all nodes #653 review WrongReference2PropertyTestMethod\n        //if (nodeContext.IsProperty)\n        //  m_buildErrorsHandling.WriteTraceMessage(TraceMessage.BuildErrorTraceMessage(BuildError.WrongReference2Variable, string.Format(\"Creating Variable - wrong reference type {0}\", parentReference.ReferenceKind.ToString())));\n      }\n      catch (Exception _ex)\n      {\n        m_buildErrorsHandling.WriteTraceMessage(\n          TraceMessage.BuildErrorTraceMessage(BuildError.WrongReference2Property, string.Format(\"Cannot resolve the reference for Variable because of error {0} at: {1}.\", _ex, _ex.StackTrace)));\n      }\n    }\n\n    private void Update(IVariableInstanceFactory nodeDesign, IUAVariable nodeSet, UAReferenceContext parentReference)\n    {\n      nodeDesign.ReferenceType = parentReference == null ? null : parentReference.GetReferenceTypeName();\n      nodeDesign.AccessLevel = nodeSet.AccessLevel; //.GetAccessLevel(m_buildErrorsHandling.WriteTraceMessage);\n      nodeDesign.ArrayDimensions = nodeSet.ArrayDimensions.ExportString(string.Empty);\n      nodeDesign.DataType = m_AddressSpace.ExportBrowseName(nodeSet.DataType, DataTypes.Number);//TODO add test case must be DataType, must not be abstract\n      nodeDesign.DefaultValue = nodeSet.Value; //TODO add test case must be of type defined by DataType\n      nodeDesign.Historizing = nodeSet.Historizing.Export(false);\n      nodeDesign.MinimumSamplingInterval = nodeSet.MinimumSamplingInterval.Export(0D);\n      nodeDesign.ValueRank = nodeSet.ValueRank.ParseValueRank(m_buildErrorsHandling.WriteTraceMessage);\n      if (nodeSet.Translation)\n        m_buildErrorsHandling.WriteTraceMessage(TraceMessage.BuildErrorTraceMessage(BuildError.NotSupportedFeature, \"- the Translation element for the UAVariable\"));\n    }\n\n    private void Update(IVariableTypeFactory nodeDesign, IUAVariableType nodeSet)\n    {\n      nodeDesign.ArrayDimensions = nodeSet.ArrayDimensions.ExportString(string.Empty);\n      nodeDesign.DataType = m_AddressSpace.ExportBrowseName(nodeSet.DataType, DataTypes.Number);\n      nodeDesign.DefaultValue = nodeSet.Value;\n      nodeDesign.ValueRank = nodeSet.ValueRank.ParseValueRank(m_buildErrorsHandling.WriteTraceMessage);\n    }\n\n    private void Update(IMethodInstanceFactory nodeDesign, IUAMethod nodeSet, UAReferenceContext parentReference)\n    {\n      if (nodeSet.ArgumentDescription != null)\n        foreach (UAMethodArgument _argument in nodeSet.ArgumentDescription)\n        {\n          if (_argument.Description == null)\n            continue;\n          foreach (LocalizedText _description in _argument.Description)\n            nodeDesign.AddArgumentDescription(_argument.Name, _description.Locale, _description.Text);\n        }\n      nodeDesign.Executable = !nodeSet.Executable ? nodeSet.Executable : new Nullable<bool>();\n      nodeDesign.UserExecutable = !nodeSet.UserExecutable ? nodeSet.UserExecutable : new Nullable<bool>();\n      nodeDesign.MethodDeclarationId = nodeSet.MethodDeclarationId;\n      nodeDesign.ReleaseStatus = nodeSet.ReleaseStatus;\n      //TODO UANodeSetValidation.Extensions.GetObject - object reference not set #624\n      //nodeDesign.AddInputArguments(x => GetParameters(x));\n      //nodeDesign.AddOutputArguments(x => GetParameters(x));\n    }\n\n    private void Update(IViewInstanceFactory nodeDesign, IUAView nodeSet)\n    {\n      nodeDesign.ContainsNoLoops = nodeSet.ContainsNoLoops;//TODO add test case against the loops in the model.\n      nodeDesign.SupportsEvents = nodeSet.EventNotifier.ParseSupportsEvents(m_buildErrorsHandling.WriteTraceMessage);\n    }\n\n    private void Update(IDataTypeFactory nodeDesign, IUADataType nodeSet)\n    {\n      nodeSet.Definition.GetParameters(nodeDesign.NewDefinition(), m_AddressSpace, m_buildErrorsHandling.WriteTraceMessage);\n      nodeDesign.DataTypePurpose = nodeSet.Purpose;\n      if (nodeSet.Purpose != DataTypePurpose.Normal)\n        m_buildErrorsHandling.WriteTraceMessage(TraceMessage.DiagnosticTraceMessage($\"DataTypePurpose value {nodeSet.Purpose} is not supported by the tool\"));\n    }\n\n    private void Update(IReferenceTypeFactory nodeDesign, IUAReferenceType nodeSet)\n    {\n      nodeSet.InverseName.ExportLocalizedTextArray(nodeDesign.AddInverseName);\n      nodeDesign.Symmetric = nodeSet.Symmetric;\n      if (nodeSet.Symmetric && (nodeSet.InverseName != null && nodeSet.InverseName.Where(x => !string.IsNullOrEmpty(x.Text)).Any()))\n      {\n        LocalizedText _notEmpty = nodeSet.InverseName.Where(x => !string.IsNullOrEmpty(x.Text)).First();\n        m_buildErrorsHandling.WriteTraceMessage(TraceMessage.BuildErrorTraceMessage(\n          BuildError.WrongInverseName, string.Format(\"If ReferenceType {0} is symmetric the InverseName {1}:{2} shall be omitted.\", nodeSet.NodeIdentifier(), _notEmpty.Locale, _notEmpty.Text)));\n      }\n      else if (!nodeSet.Symmetric && !nodeSet.IsAbstract && (nodeSet.InverseName == null || !nodeSet.InverseName.Where(x => !string.IsNullOrEmpty(x.Text)).Any()))\n        m_buildErrorsHandling.WriteTraceMessage(TraceMessage.BuildErrorTraceMessage(\n          BuildError.WrongInverseName, string.Format(\"If ReferenceType {0} is not symmetric and not abstract the InverseName shall be specified.\", nodeSet.NodeIdentifier())));\n    }\n\n    private void Update(IObjectTypeFactory nodeDesign, IUAObjectType nodeSet)\n    {\n    }\n\n    private void CreateNode<FactoryType, NodeSetType>\n      (\n        Func<FactoryType> createNode,\n        IUANodeBase nodeContext,\n        Action<FactoryType, NodeSetType> updateNode,\n        Action<FactoryType, NodeSetType, IUANodeBase> updateBase,\n        Action<IUANodeContext> validateExportNode2Model,\n        List<IUANodeBase> allNodesInConcern\n      )\n      where FactoryType : INodeFactory\n      where NodeSetType : IUANode\n    {\n      if (!allNodesInConcern.Remove(nodeContext))\n        return;\n      FactoryType _nodeFactory = createNode();\n      nodeContext.CalculateNodeReferences(_nodeFactory, allNodesInConcern, this, validateExportNode2Model);\n      NodeSetType _nodeSet = (NodeSetType)nodeContext.UANode;\n      XmlQualifiedName _browseName = nodeContext.ExportNodeBrowseName();\n      string _symbolicName;\n      if (string.IsNullOrEmpty(_nodeSet.SymbolicName))\n        _symbolicName = _browseName.Name.ValidateIdentifier(m_buildErrorsHandling.WriteTraceMessage); //TODO IsValidLanguageIndependentIdentifier is not supported by the .NET standard #340\n      else\n        _symbolicName = _nodeSet.SymbolicName.ValidateIdentifier(m_buildErrorsHandling.WriteTraceMessage); //TODO IsValidLanguageIndependentIdentifier is not supported by the .NET standard #340\n      _nodeFactory.BrowseName = _browseName.Name.ExportString(_symbolicName);\n      _nodeSet.Description.ExportLocalizedTextArray(_nodeFactory.AddDescription);\n      _nodeSet.DisplayName.Truncate(512, m_buildErrorsHandling.WriteTraceMessage).ExportLocalizedTextArray(_nodeFactory.AddDisplayName);\n      _nodeFactory.SymbolicName = new XmlQualifiedName(_symbolicName, _browseName.Namespace);\n      Action<AttributeWriteMask, NodeClassEnum> _doReport = (AttributeWriteMask x, NodeClassEnum y) =>\n      {\n        m_buildErrorsHandling.WriteTraceMessage(TraceMessage.BuildErrorTraceMessage(BuildError.WrongWriteMaskValue, string.Format(\"The current value is {0:x} of the node type {1}.\", x, y)));\n      };\n      _nodeFactory.WriteAccess = _nodeSet.NodeClass == NodeClassEnum.UAVariable ?\n        (UInt32)_nodeSet.WriteMask.Validate( AttributeWriteMask.ValueForVariableType, x => _doReport(x, _nodeSet.NodeClass)) :\n        (UInt32)_nodeSet.WriteMask.Validate(AttributeWriteMask.AccessLevelEx, x => _doReport(x, _nodeSet.NodeClass));\n      _nodeFactory.AccessRestrictions = _nodeSet.AccessRestrictions;\n      _nodeFactory.Category = _nodeSet.Category;\n      if (_nodeSet.RolePermissions != null)\n        m_buildErrorsHandling.WriteTraceMessage(TraceMessage.DiagnosticTraceMessage(\"RolePermissions is not supported. You must fix it manually.\"));\n      if (!string.IsNullOrEmpty(_nodeSet.Documentation))\n        m_buildErrorsHandling.WriteTraceMessage(TraceMessage.DiagnosticTraceMessage(\"Documentation is not supported. You must fix it manually.\"));\n      updateBase(_nodeFactory, _nodeSet, nodeContext);\n      updateNode(_nodeFactory, _nodeSet);\n    }\n\n    private void UpdateType(ITypeFactory nodeDesign, IUAType nodeSet, IUANodeBase nodeContext)\n    {\n      nodeDesign.BaseType = nodeContext.ExportBaseTypeBrowseName();\n      nodeDesign.IsAbstract = nodeSet.IsAbstract;\n    }\n\n    private static void UpdateInstance(IInstanceFactory nodeDesign, IUANode nodeSet, IUANodeBase nodeContext)\n    {\n      if (nodeContext.ModelingRule.HasValue)\n        nodeDesign.ModelingRule = nodeContext.ModelingRule.Value;\n      nodeDesign.TypeDefinition = nodeContext.ExportBaseTypeBrowseName();\n      //nodeSet.ParentNodeId - The NodeId of the Node that is the parent of the Node within the information model. This field is used to indicate\n      //that a tight coupling exists between the Node and its parent (e.g. when the parent is deleted the child is deleted\n      //as well). This information does not appear in the AddressSpace and is intended for use by design tools.\n    }\n\n    private static void CreateModelDesignStub(INodeContainer factory)\n    {\n      BuildError _err = BuildError.DanglingReferenceTarget;\n      IPropertyInstanceFactory _pr = factory.AddNodeFactory<IPropertyInstanceFactory>();\n      _pr.SymbolicName = new XmlQualifiedName(string.Format(\"{0}{1}\", _err.Focus.ToString(), m_ErrorNumber++), \"http://commsvr.com/OOIUA/SemanticData/UANodeSetValidation\");\n      _pr.AddDescription(\"en-en\", _err.Descriptor);\n      _pr.AddDisplayName(\"en-en\", string.Format(\"ERROR{0}\", m_ErrorNumber));\n    }\n\n    /// <summary>\n    /// Gets the parameters.\n    /// </summary>\n    /// <param name=\"arguments\">The <see cref=\"XmlElement\"/> encapsulates the arguments.</param>\n    /// <returns>Parameter[].</returns>\n    private Parameter[] GetParameters(XmlElement arguments)\n    {\n      List<Parameter> _parameters = new List<Parameter>();\n      //TODO UANodeSetValidation.Extensions.GetObject - object reference not set #624\n      foreach (DataSerialization.Argument _item in arguments.GetParameters())\n        _parameters.Add(m_AddressSpace.ExportArgument(_item));\n      return _parameters.ToArray();\n    }\n\n    private static int m_ErrorNumber = 0;\n\n    #endregion private\n  }\n}"
  },
  {
    "path": "SemanticData/UANodeSetValidation/XML/ClassDiagram.cd",
    "content": "﻿<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<ClassDiagram MajorVersion=\"1\" MinorVersion=\"1\">\n  <Class Name=\"UAOOI.SemanticData.UANodeSetValidation.XML.UANode\">\n    <Position X=\"10.5\" Y=\"0.5\" Width=\"1.5\" />\n    <Compartments>\n      <Compartment Name=\"Fields\" Collapsed=\"true\" />\n      <Compartment Name=\"Properties\" Collapsed=\"true\" />\n      <Compartment Name=\"Methods\" Collapsed=\"true\" />\n    </Compartments>\n    <TypeIdentifier>\n      <HashCode>AEADECiCAACkACgAwJNQIAEIBCBUEIAAEBiAAgAECjA=</HashCode>\n      <FileName>XML\\UANode.cs</FileName>\n    </TypeIdentifier>\n    <ShowAsAssociation>\n      <Property Name=\"References\" />\n    </ShowAsAssociation>\n    <Lollipop Position=\"0.2\" />\n  </Class>\n  <Class Name=\"UAOOI.SemanticData.UANodeSetValidation.XML.UAType\" Collapsed=\"true\">\n    <Position X=\"4.5\" Y=\"3.75\" Width=\"1.5\" />\n    <Compartments>\n      <Compartment Name=\"Fields\" Collapsed=\"true\" />\n      <Compartment Name=\"Methods\" Collapsed=\"true\" />\n    </Compartments>\n    <TypeIdentifier>\n      <HashCode>AAAAAAAAABCAAAAAACAAAAAAAAAAAAAAAAAAAAAEAAA=</HashCode>\n      <FileName>XML\\UANodeSet.cs</FileName>\n    </TypeIdentifier>\n  </Class>\n  <Class Name=\"UAOOI.SemanticData.UANodeSetValidation.XML.UAInstance\" Collapsed=\"true\">\n    <Position X=\"4.5\" Y=\"0.75\" Width=\"1.5\" />\n    <TypeIdentifier>\n      <HashCode>AAAAAAAAAACAAAAAAABAAAAAAAAAAAQAAAIAAAAEAAA=</HashCode>\n      <FileName>XML\\UAInstance.cs</FileName>\n    </TypeIdentifier>\n  </Class>\n  <Class Name=\"UAOOI.SemanticData.UANodeSetValidation.XML.UAReferenceType\" Collapsed=\"true\">\n    <Position X=\"1.25\" Y=\"5\" Width=\"1.5\" />\n    <TypeIdentifier>\n      <HashCode>AAAAAAAAAAAAAAAAIAAAAAAAAAAAAACAgBAAAAAAEAA=</HashCode>\n      <FileName>XML\\UANodeSet.cs</FileName>\n    </TypeIdentifier>\n  </Class>\n  <Class Name=\"UAOOI.SemanticData.UANodeSetValidation.XML.UADataType\" Collapsed=\"true\">\n    <Position X=\"3.5\" Y=\"5\" Width=\"1.5\" />\n    <TypeIdentifier>\n      <HashCode>AAAAAAAAAAAACAAAAAAAAQAABAAAAAAAIBAAAAAEAAA=</HashCode>\n      <FileName>XML\\UADataType.cs</FileName>\n    </TypeIdentifier>\n  </Class>\n  <Class Name=\"UAOOI.SemanticData.UANodeSetValidation.XML.UAVariableType\" Collapsed=\"true\">\n    <Position X=\"5.75\" Y=\"5\" Width=\"1.5\" />\n    <TypeIdentifier>\n      <HashCode>AAAEAAAAAAIAAIAAAAAAAAAAAAQCAAAAABAgIAAECAA=</HashCode>\n      <FileName>XML\\UANodeSet.cs</FileName>\n    </TypeIdentifier>\n  </Class>\n  <Class Name=\"UAOOI.SemanticData.UANodeSetValidation.XML.UAObjectType\" Collapsed=\"true\">\n    <Position X=\"8\" Y=\"5\" Width=\"1.5\" />\n    <TypeIdentifier>\n      <HashCode>AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAA=</HashCode>\n      <FileName>XML\\UANodeSet.cs</FileName>\n    </TypeIdentifier>\n  </Class>\n  <Class Name=\"UAOOI.SemanticData.UANodeSetValidation.XML.UAView\" Collapsed=\"true\">\n    <Position X=\"1.25\" Y=\"2\" Width=\"1.5\" />\n    <TypeIdentifier>\n      <HashCode>AQAAAAAAAACAAAAAAACAIAAAAAAAAAAAABABAAAAAAA=</HashCode>\n      <FileName>XML\\UANodeSet.cs</FileName>\n    </TypeIdentifier>\n  </Class>\n  <Class Name=\"UAOOI.SemanticData.UANodeSetValidation.XML.UAMethod\" Collapsed=\"true\">\n    <Position X=\"3.5\" Y=\"2\" Width=\"1.5\" />\n    <TypeIdentifier>\n      <HashCode>AAAAAAAAQCCAAAAAAAAAAgAABACAAAAADBAAAAAGAAA=</HashCode>\n      <FileName>XML\\UAMethod.cs</FileName>\n    </TypeIdentifier>\n  </Class>\n  <Class Name=\"UAOOI.SemanticData.UANodeSetValidation.XML.UAVariable\" Collapsed=\"true\">\n    <Position X=\"5.75\" Y=\"2\" Width=\"1.5\" />\n    <TypeIdentifier>\n      <HashCode>ABgEAAAQAAKAgIACQAAAAAAAAGQiAAAQABAgIAAECAQ=</HashCode>\n      <FileName>XML\\UANodeSet.cs</FileName>\n    </TypeIdentifier>\n  </Class>\n  <Class Name=\"UAOOI.SemanticData.UANodeSetValidation.XML.UAObject\" Collapsed=\"true\">\n    <Position X=\"8\" Y=\"2\" Width=\"1.5\" />\n    <TypeIdentifier>\n      <HashCode>AQAAAAAAAACAAAAAAACAAAAAAAAAAAAAABAAAAAAAAA=</HashCode>\n      <FileName>XML\\UANodeSet.cs</FileName>\n    </TypeIdentifier>\n  </Class>\n  <Class Name=\"UAOOI.SemanticData.UANodeSetValidation.XML.UANodeSet\" Collapsed=\"true\">\n    <Position X=\"12.75\" Y=\"0.5\" Width=\"1.5\" />\n    <Compartments>\n      <Compartment Name=\"Fields\" Collapsed=\"true\" />\n    </Compartments>\n    <TypeIdentifier>\n      <HashCode>ABABQgCIAAAICAACAAECAAACAEBAAAAAAAkAAAAEAAI=</HashCode>\n      <FileName>XML\\UANodeSet.cs</FileName>\n    </TypeIdentifier>\n    <ShowAsAssociation>\n      <Property Name=\"Aliases\" />\n      <Property Name=\"Items\" />\n    </ShowAsAssociation>\n  </Class>\n  <Class Name=\"UAOOI.SemanticData.UANodeSetValidation.XML.NodeIdAlias\" Collapsed=\"true\">\n    <Position X=\"15.25\" Y=\"0.5\" Width=\"1.5\" />\n    <TypeIdentifier>\n      <HashCode>AAAAAAAAAAIAAAAAAAAAAAAAAAAKAAAAAAAgAAAEAAA=</HashCode>\n      <FileName>XML\\NodeIdAlias.cs</FileName>\n    </TypeIdentifier>\n  </Class>\n  <Class Name=\"UAOOI.SemanticData.UANodeSetValidation.XML.Reference\" Collapsed=\"true\">\n    <Position X=\"12.75\" Y=\"1.5\" Width=\"1.5\" />\n    <Compartments>\n      <Compartment Name=\"Fields\" Collapsed=\"true\" />\n      <Compartment Name=\"Methods\" Collapsed=\"true\" />\n    </Compartments>\n    <TypeIdentifier>\n      <HashCode>AAAAAAAAAAAAAAEEgAACAABAAAACAAAAAAAgAAAMAAA=</HashCode>\n      <FileName>XML\\Reference.cs</FileName>\n    </TypeIdentifier>\n    <Lollipop Position=\"0.2\" />\n  </Class>\n  <Font Name=\"Segoe UI\" Size=\"9\" />\n</ClassDiagram>"
  },
  {
    "path": "SemanticData/UANodeSetValidation/XML/Conversions.cs",
    "content": "﻿//__________________________________________________________________________________________________\n//\n//  Copyright (C) 2022, Mariusz Postol LODZ POLAND.\n//\n//  To be in touch join the community at GitHub: https://github.com/mpostol/OPC-UA-OOI/discussions\n//__________________________________________________________________________________________________\n\nusing System;\nusing System.Collections.Generic;\nusing UAOOI.SemanticData.AddressSpace.Abstractions;\nusing UAOOI.SemanticData.BuildingErrorsHandling;\nusing UAOOI.SemanticData.InformationModelFactory.UAConstants;\nusing OOIReleaseStatus = UAOOI.SemanticData.InformationModelFactory.ReleaseStatus;\n\nnamespace UAOOI.SemanticData.UANodeSetValidation.XML\n{\n  internal static class Conversions\n  {\n    internal static DataSerialization.LocalizedText[] GetLocalizedTextArray(this LocalizedText[] value)\n    {\n      if (value == null || value.Length == 0)\n        return null;\n      List<DataSerialization.LocalizedText> ret = new List<DataSerialization.LocalizedText>();\n      foreach (LocalizedText item in value)\n        ret.Add(new DataSerialization.LocalizedText() { Locale = item.Locale, Text = item.Value });\n      return ret.ToArray();\n    }\n\n    internal static AccessRestrictions GetAccessRestrictions(this byte accessRestrictions, NodeClassEnum typeName, Action<TraceMessage> buildErrorsHandling)\n    {\n      if (accessRestrictions > 7)\n      {\n        buildErrorsHandling(TraceMessage.BuildErrorTraceMessage(BuildError.WrongAccessLevel, $\"The current value is {accessRestrictions} of the node type {typeName}. Assigned max value\"));\n        return AccessRestrictions.EncryptionRequired & AccessRestrictions.SessionRequired & AccessRestrictions.SigningRequired;\n      }\n      return (AccessRestrictions)accessRestrictions;\n    }\n\n    internal static AttributeWriteMask GetAttributeWriteMask(this UInt32 value)\n    {\n      return (AttributeWriteMask)value;\n    }\n\n    internal static OOIReleaseStatus GetReleaseStatus(this ReleaseStatus value)\n    {\n      OOIReleaseStatus retValue = default(OOIReleaseStatus);\n      switch (value)\n      {\n        case ReleaseStatus.Released:\n          retValue = OOIReleaseStatus.Released;\n          break;\n\n        case ReleaseStatus.Draft:\n          retValue = OOIReleaseStatus.Draft;\n          break;\n\n        case ReleaseStatus.Deprecated:\n          retValue = OOIReleaseStatus.Deprecated;\n          break;\n\n        default:\n          break;\n      }\n      return retValue;\n    }\n  }\n}"
  },
  {
    "path": "SemanticData/UANodeSetValidation/XML/DataTypeDefinition.cs",
    "content": "﻿//__________________________________________________________________________________________________\n//\n//  Copyright (C) 2022, Mariusz Postol LODZ POLAND.\n//\n//  To be in touch join the community at GitHub: https://github.com/mpostol/OPC-UA-OOI/discussions\n//__________________________________________________________________________________________________\n\nusing System;\nusing UAOOI.SemanticData.AddressSpace.Abstractions;\nusing UAOOI.SemanticData.UANodeSetValidation.DataSerialization;\n\nnamespace UAOOI.SemanticData.UANodeSetValidation.XML\n{\n  public partial class DataTypeDefinition : IDataTypeDefinition\n  {\n    IDataTypeField[] IDataTypeDefinition.Field\n    {\n      get => this.Field;\n    }\n\n    internal void RecalculateNodeIds(Func<string, NodeId> importNodeId)\n    {\n      //BaseType - is obsolete and no longer used. Left in for backwards compatibility.\n      // this.Name - name should be QualifiedName but it is not.\n      if (Field is null)\n        return;\n      foreach (DataTypeField _field in Field)\n        _field.RecalculateNodeIds(importNodeId);\n    }\n  }\n}"
  },
  {
    "path": "SemanticData/UANodeSetValidation/XML/DataTypeField.cs",
    "content": "﻿//__________________________________________________________________________________________________\n//\n//  Copyright (C) 2022, Mariusz Postol LODZ POLAND.\n//\n//  To be in touch join the community at GitHub: https://github.com/mpostol/OPC-UA-OOI/discussions\n//__________________________________________________________________________________________________\n\nusing System;\nusing UAOOI.SemanticData.AddressSpace.Abstractions;\nusing UAOOI.SemanticData.UANodeSetValidation.DataSerialization;\n\nnamespace UAOOI.SemanticData.UANodeSetValidation.XML\n{\n  /// <summary>\n  /// Class DataTypeField\n  /// </summary>\n  public partial class DataTypeField : IDataTypeField\n  {\n    internal void RecalculateNodeIds(Func<string, NodeId> importNodeId)\n    {\n      DataTypeNodeIdBackingField = importNodeId(DataType);\n    }\n\n    NodeId IDataTypeField.DataTypeNodeId\n    {\n      get { return DataTypeNodeIdBackingField; }\n    }\n\n    private NodeId DataTypeNodeIdBackingField;\n\n    #region IDataTypeField\n\n    DataSerialization.LocalizedText[] IDataTypeField.DisplayName\n    { get => this.DisplayName.GetLocalizedTextArray(); set => throw new NotImplementedException(); }\n\n    DataSerialization.LocalizedText[] IDataTypeField.Description\n    { get => this.Description.GetLocalizedTextArray(); set => throw new NotImplementedException(); }\n\n    #endregion IDataTypeField\n  }\n}"
  },
  {
    "path": "SemanticData/UANodeSetValidation/XML/IUAModelContext.cs",
    "content": "﻿//__________________________________________________________________________________________________\n//\n//  Copyright (C) 2022, Mariusz Postol LODZ POLAND.\n//\n//  To be in touch join the community at GitHub: https://github.com/mpostol/OPC-UA-OOI/discussions\n//__________________________________________________________________________________________________\n\nusing System;\nusing UAOOI.SemanticData.BuildingErrorsHandling;\nusing UAOOI.SemanticData.UANodeSetValidation.DataSerialization;\n\nnamespace UAOOI.SemanticData.UANodeSetValidation.XML\n{\n  /// <summary>\n  /// Interface IUAModelContext - represents an OPC UA Information Model\n  /// </summary>\n  internal interface IUAModelContext\n  {\n    /// <summary>\n    /// Registers the <see cref=\"QualifiedName\"/> of ReferenceType Node.\n    /// </summary>\n    /// <param name=\"browseName\">An instance of <see cref=\"QualifiedName\"/> used as a name of the ReferenceType node.</param>\n    void RegisterUAReferenceType(QualifiedName browseName);\n\n    /// <summary>\n    /// Imports the browse name <see cref=\"QualifiedName\"/> and Node identifier as <see cref=\"NodeId\"/>. It recalculates the <see cref=\"QualifiedName.NamespaceIndex\"/> and <see cref=\"NodeId.NamespaceIndex\"/> against local namespace index table.\n    /// </summary>\n    /// <param name=\"browseNameText\">The <see cref=\"QualifiedName\" /> serialized as text to be imported.</param>\n    /// <param name=\"nodeIdText\">The <see cref=\"NodeId\"/> serialized as text to be imported.</param>\n    /// <param name=\"trace\">Captures the functionality of trace.</param>\n    /// <returns>A <see cref=\"ValueTuple{T1, T2}\"/> instance containing <see cref=\"QualifiedName\" /> and <see cref=\"NodeId\"/> with recalculated NamespaceIndex.</returns>\n    (QualifiedName browseName, NodeId nodeId) ImportBrowseName(string browseNameText, string nodeIdText, Action<TraceMessage> trace);\n\n    /// <summary>\n    /// Imports the node identifier if <paramref name=\"nodeId\" /> is not empty.\n    /// </summary>\n    /// <param name=\"nodeId\">The <see cref=\"NodeId\"/> serialized as string to be imported.</param>\n    /// <param name=\"trace\">Captures the functionality of trace.</param>\n    /// <returns>An instance of the <see cref=\"NodeId\" /> or random if the <paramref name=\"nodeId\" /> is null or empty.</returns>\n    NodeId ImportNodeId(string nodeId, Action<TraceMessage> trace);\n  }\n}"
  },
  {
    "path": "SemanticData/UANodeSetValidation/XML/IUANodeSetModelHeader.cs",
    "content": "﻿//___________________________________________________________________________________\n//\n//  Copyright (C) 2021, Mariusz Postol LODZ POLAND.\n//\n//  To be in touch join the community at GITTER: https://gitter.im/mpostol/OPC-UA-OOI\n//___________________________________________________________________________________\n\nusing System.Xml;\n\nnamespace UAOOI.SemanticData.UANodeSetValidation.XML\n{\n  /// <summary>\n  /// Interface IUANodeSetModelHeader - represents a structure of the <see cref=\"UANodeSet\"/> document header.\n  /// </summary>\n  internal interface IUANodeSetModelHeader\n  {\n    /// <summary>\n    /// Gets the list of NamespaceUris used in the <see cref=\"UANodeSet\"/>.\n    /// </summary>\n    /// <value>An array of <see cref=\"string\"/> representing URI.</value>\n    string[] NamespaceUris\n    {\n      get;\n    }\n\n    /// <summary>\n    /// Gets the list of ServerUris used in the <see cref=\"UANodeSet\"/>.\n    /// </summary>\n    /// <value>An array of <see cref=\"string\"/> representing URI.</value>\n    string[] ServerUris\n    {\n      get;\n    }\n\n    /// <summary>\n    /// Gets the list of <see cref=\"ModelTableEntry\"/> that are defined in the <see cref=\"UANodeSet\"/>  along with any dependencies these models have.\n    /// </summary>\n    /// <value>An array of <see cref=\"ModelTableEntry\"/> representing a model.</value>\n    ModelTableEntry[] Models\n    {\n      get;\n    }\n\n    /// <summary>\n    /// Gets the list of <see cref=\"NodeIdAlias\"/>used in the <see cref=\"UANodeSet\"/> .\n    /// </summary>\n    /// <value>An array of <see cref=\"NodeIdAlias\"/> representing alias description.</value>\n    NodeIdAlias[] Aliases\n    {\n      get;\n    }\n\n    /// <summary>\n    /// Gets the array of <see cref=\"XmlElement\"/> containing any vendor defined extensions to the <see cref=\"UANodeSet\"/>.\n    /// </summary>\n    /// <value>An array of <see cref=\"XmlElement\"/> representing extension.</value>\n    XmlElement[] Extensions\n    {\n      get;\n    }\n  }\n}"
  },
  {
    "path": "SemanticData/UANodeSetValidation/XML/ModelTableEntry.cs",
    "content": "﻿//__________________________________________________________________________________________________\n//\n//  Copyright (C) 2022, Mariusz Postol LODZ POLAND.\n//\n//  To be in touch join the community at GitHub: https://github.com/mpostol/OPC-UA-OOI/discussions\n//__________________________________________________________________________________________________\n\nusing System;\nusing UAOOI.SemanticData.AddressSpace.Abstractions;\n\nnamespace UAOOI.SemanticData.UANodeSetValidation.XML\n{\n  /// <summary>\n  /// Class ModelTableEntry.\n  /// Implements the <see cref=\"UAOOI.SemanticData.UANodeSetValidation.IModelTableEntry\" />\n  /// </summary>\n  /// <seealso cref=\"UAOOI.SemanticData.AddressSpace.Abstractions.IModelTableEntry\" />\n  public partial class ModelTableEntry : IModelTableEntry\n  {\n    /// <summary>\n    /// Gets or sets the required model. A list of dependencies for the model. If the model requires a minimum version the PublicationDate shall be specified.\n    /// Tools which attempt to resolve these dependencies may accept any PublicationDate after this date.\n    /// </summary>\n    /// <value>The required model.</value>\n    IModelTableEntry[] IModelTableEntry.RequiredModel => RequiredModel;\n\n    /// <summary>\n    /// Gets or sets the role permissions. The list of default RolePermissions for all Nodes in the model.\n    /// </summary>\n    /// <value>The role permissions.</value>\n    IRolePermission[] IModelTableEntry.RolePermissions => RolePermissions;\n\n    /// <summary>\n    /// Gets or sets the access restrictions. The default <c>AccessRestrictions</c> that apply to all <c>Nodes</c> in the model.\n    /// </summary>\n    /// <value>The access restrictions.</value>\n    byte IModelTableEntry.AccessRestrictions => AccessRestrictions;\n\n    /// <summary>\n    /// Gets the <see cref=\"Uri\"/> for the model. This URI should be one of the entries in the namespace table.\n    /// </summary>\n    /// <value>The model <see cref=\"Uri\"/>.</value>\n    Uri IModelTableEntry.ModelUri => new Uri(ModelUri);\n\n    /// <summary>\n    /// Gets or sets the publication date. When the model was published. This value is used for comparisons if the model is defined in multiple UANodeSet files.\n    /// </summary>\n    /// <value>The publication date.</value>\n    DateTime? IModelTableEntry.PublicationDate => this.PublicationDateSpecified ? PublicationDate : new Nullable<DateTime>();\n\n    /// <summary>\n    /// Gets or sets the version. The version of the model defined in the UANodeSet. This is a human readable string and not intended for programmatic comparisons.\n    /// </summary>\n    /// <value>The version.</value>\n    Version IModelTableEntry.Version\n    {\n      get\n      {\n        Version version = null;\n        System.Version.TryParse(this.Version, out version);\n        return version;\n      }\n    }\n  }\n}"
  },
  {
    "path": "SemanticData/UANodeSetValidation/XML/NodeIdAlias.cs",
    "content": "﻿//___________________________________________________________________________________\n//\n//  Copyright (C) 2021, Mariusz Postol LODZ POLAND.\n//\n//  To be in touch join the community at GITTER: https://gitter.im/mpostol/OPC-UA-OOI\n//___________________________________________________________________________________\n\nusing System;\nusing UAOOI.SemanticData.UANodeSetValidation.DataSerialization;\n\nnamespace UAOOI.SemanticData.UANodeSetValidation.XML\n{\n  /// <summary>\n  /// Class NodeIdAlias.\n  /// </summary>\n  public partial class NodeIdAlias\n  {\n    internal void RecalculateNodeIds(Func<string, NodeId> importNodeId)\n    {\n      this.ValueNodeId = importNodeId(Value);\n    }\n\n    internal NodeId ValueNodeId { get; private set; }\n  }\n}"
  },
  {
    "path": "SemanticData/UANodeSetValidation/XML/NodeToDelete.cs",
    "content": "﻿//___________________________________________________________________________________\n//\n//  Copyright (C) 2021, Mariusz Postol LODZ POLAND.\n//\n//  To be in touch join the community at GITTER: https://gitter.im/mpostol/OPC-UA-OOI\n//___________________________________________________________________________________\n\nusing System;\nusing UAOOI.SemanticData.UANodeSetValidation.DataSerialization;\n\nnamespace UAOOI.SemanticData.UANodeSetValidation.XML\n{\n  public partial class NodeToDelete\n  {\n    internal void RecalculateNodeIds(Func<string, NodeId> importNodeId)\n    {\n      throw new NotImplementedException();\n    }\n  }\n}"
  },
  {
    "path": "SemanticData/UANodeSetValidation/XML/OPCBinarySchema.GoCS.cmd",
    "content": "xsd.exe OPCBinarySchema.xsd /c /l:cs /n:UAOOI.SemanticData.UANodeSetValidation.XML\n\n"
  },
  {
    "path": "SemanticData/UANodeSetValidation/XML/OPCBinarySchema.cs",
    "content": "﻿//------------------------------------------------------------------------------\n// <auto-generated>\n//     This code was generated by a tool.\n//     Runtime Version:4.0.30319.42000\n//\n//     Changes to this file may cause incorrect behavior and will be lost if\n//     the code is regenerated.\n// </auto-generated>\n//------------------------------------------------------------------------------\n\n// \n// This source code was auto-generated by xsd, Version=4.6.1055.0.\n// \n\n#pragma warning disable CS1591 // Missing XML comment for publicly visible type or member\n\nnamespace UAOOI.SemanticData.UANodeSetValidation.XML\n{\n  using System.Xml.Serialization;\n\n\n  /// <remarks/>\n  [System.CodeDom.Compiler.GeneratedCodeAttribute(\"xsd\", \"4.6.1055.0\")]\n  [System.SerializableAttribute()]\n  [System.Diagnostics.DebuggerStepThroughAttribute()]\n  [System.ComponentModel.DesignerCategoryAttribute(\"code\")]\n  [System.Xml.Serialization.XmlTypeAttribute(AnonymousType = true, Namespace = \"http://opcfoundation.org/BinarySchema/\")]\n  [System.Xml.Serialization.XmlRootAttribute(Namespace = \"http://opcfoundation.org/BinarySchema/\", IsNullable = false)]\n  public partial class Documentation\n  {\n\n    private System.Xml.XmlElement[] itemsField;\n\n    private string[] textField;\n\n    private System.Xml.XmlAttribute[] anyAttrField;\n\n    /// <remarks/>\n    [System.Xml.Serialization.XmlAnyElementAttribute()]\n    public System.Xml.XmlElement[] Items\n    {\n      get\n      {\n        return this.itemsField;\n      }\n      set\n      {\n        this.itemsField = value;\n      }\n    }\n\n    /// <remarks/>\n    [System.Xml.Serialization.XmlTextAttribute()]\n    public string[] Text\n    {\n      get\n      {\n        return this.textField;\n      }\n      set\n      {\n        this.textField = value;\n      }\n    }\n\n    /// <remarks/>\n    [System.Xml.Serialization.XmlAnyAttributeAttribute()]\n    public System.Xml.XmlAttribute[] AnyAttr\n    {\n      get\n      {\n        return this.anyAttrField;\n      }\n      set\n      {\n        this.anyAttrField = value;\n      }\n    }\n  }\n\n  /// <remarks/>\n  [System.CodeDom.Compiler.GeneratedCodeAttribute(\"xsd\", \"4.6.1055.0\")]\n  [System.SerializableAttribute()]\n  [System.Diagnostics.DebuggerStepThroughAttribute()]\n  [System.ComponentModel.DesignerCategoryAttribute(\"code\")]\n  [System.Xml.Serialization.XmlTypeAttribute(Namespace = \"http://opcfoundation.org/BinarySchema/\")]\n  public partial class FieldType\n  {\n\n    private Documentation documentationField;\n\n    private string nameField;\n\n    private System.Xml.XmlQualifiedName typeNameField;\n\n    private uint lengthField;\n\n    private bool lengthFieldSpecified;\n\n    private string lengthFieldField;\n\n    private bool isLengthInBytesField;\n\n    private string switchFieldField;\n\n    private uint switchValueField;\n\n    private bool switchValueFieldSpecified;\n\n    private SwitchOperand switchOperandField;\n\n    private bool switchOperandFieldSpecified;\n\n    private byte[] terminatorField;\n\n    private System.Xml.XmlAttribute[] anyAttrField;\n\n    public FieldType()\n    {\n      this.isLengthInBytesField = false;\n    }\n\n    /// <remarks/>\n    public Documentation Documentation\n    {\n      get\n      {\n        return this.documentationField;\n      }\n      set\n      {\n        this.documentationField = value;\n      }\n    }\n\n    /// <remarks/>\n    [System.Xml.Serialization.XmlAttributeAttribute()]\n    public string Name\n    {\n      get\n      {\n        return this.nameField;\n      }\n      set\n      {\n        this.nameField = value;\n      }\n    }\n\n    /// <remarks/>\n    [System.Xml.Serialization.XmlAttributeAttribute()]\n    public System.Xml.XmlQualifiedName TypeName\n    {\n      get\n      {\n        return this.typeNameField;\n      }\n      set\n      {\n        this.typeNameField = value;\n      }\n    }\n\n    /// <remarks/>\n    [System.Xml.Serialization.XmlAttributeAttribute()]\n    public uint Length\n    {\n      get\n      {\n        return this.lengthField;\n      }\n      set\n      {\n        this.lengthField = value;\n      }\n    }\n\n    /// <remarks/>\n    [System.Xml.Serialization.XmlIgnoreAttribute()]\n    public bool LengthSpecified\n    {\n      get\n      {\n        return this.lengthFieldSpecified;\n      }\n      set\n      {\n        this.lengthFieldSpecified = value;\n      }\n    }\n\n    /// <remarks/>\n    [System.Xml.Serialization.XmlAttributeAttribute()]\n    public string LengthField\n    {\n      get\n      {\n        return this.lengthFieldField;\n      }\n      set\n      {\n        this.lengthFieldField = value;\n      }\n    }\n\n    /// <remarks/>\n    [System.Xml.Serialization.XmlAttributeAttribute()]\n    [System.ComponentModel.DefaultValueAttribute(false)]\n    public bool IsLengthInBytes\n    {\n      get\n      {\n        return this.isLengthInBytesField;\n      }\n      set\n      {\n        this.isLengthInBytesField = value;\n      }\n    }\n\n    /// <remarks/>\n    [System.Xml.Serialization.XmlAttributeAttribute()]\n    public string SwitchField\n    {\n      get\n      {\n        return this.switchFieldField;\n      }\n      set\n      {\n        this.switchFieldField = value;\n      }\n    }\n\n    /// <remarks/>\n    [System.Xml.Serialization.XmlAttributeAttribute()]\n    public uint SwitchValue\n    {\n      get\n      {\n        return this.switchValueField;\n      }\n      set\n      {\n        this.switchValueField = value;\n      }\n    }\n\n    /// <remarks/>\n    [System.Xml.Serialization.XmlIgnoreAttribute()]\n    public bool SwitchValueSpecified\n    {\n      get\n      {\n        return this.switchValueFieldSpecified;\n      }\n      set\n      {\n        this.switchValueFieldSpecified = value;\n      }\n    }\n\n    /// <remarks/>\n    [System.Xml.Serialization.XmlAttributeAttribute()]\n    public SwitchOperand SwitchOperand\n    {\n      get\n      {\n        return this.switchOperandField;\n      }\n      set\n      {\n        this.switchOperandField = value;\n      }\n    }\n\n    /// <remarks/>\n    [System.Xml.Serialization.XmlIgnoreAttribute()]\n    public bool SwitchOperandSpecified\n    {\n      get\n      {\n        return this.switchOperandFieldSpecified;\n      }\n      set\n      {\n        this.switchOperandFieldSpecified = value;\n      }\n    }\n\n    /// <remarks/>\n    [System.Xml.Serialization.XmlAttributeAttribute(DataType = \"hexBinary\")]\n    public byte[] Terminator\n    {\n      get\n      {\n        return this.terminatorField;\n      }\n      set\n      {\n        this.terminatorField = value;\n      }\n    }\n\n    /// <remarks/>\n    [System.Xml.Serialization.XmlAnyAttributeAttribute()]\n    public System.Xml.XmlAttribute[] AnyAttr\n    {\n      get\n      {\n        return this.anyAttrField;\n      }\n      set\n      {\n        this.anyAttrField = value;\n      }\n    }\n  }\n\n  /// <remarks/>\n  [System.CodeDom.Compiler.GeneratedCodeAttribute(\"xsd\", \"4.6.1055.0\")]\n  [System.SerializableAttribute()]\n  [System.Xml.Serialization.XmlTypeAttribute(Namespace = \"http://opcfoundation.org/BinarySchema/\")]\n  public enum SwitchOperand\n  {\n\n    /// <remarks/>\n    Equals,\n\n    /// <remarks/>\n    GreaterThan,\n\n    /// <remarks/>\n    LessThan,\n\n    /// <remarks/>\n    GreaterThanOrEqual,\n\n    /// <remarks/>\n    LessThanOrEqual,\n\n    /// <remarks/>\n    NotEqual,\n  }\n\n  /// <remarks/>\n  [System.CodeDom.Compiler.GeneratedCodeAttribute(\"xsd\", \"4.6.1055.0\")]\n  [System.SerializableAttribute()]\n  [System.Diagnostics.DebuggerStepThroughAttribute()]\n  [System.ComponentModel.DesignerCategoryAttribute(\"code\")]\n  [System.Xml.Serialization.XmlTypeAttribute(Namespace = \"http://opcfoundation.org/BinarySchema/\")]\n  public partial class EnumeratedValue\n  {\n\n    private Documentation documentationField;\n\n    private string nameField;\n\n    private int valueField;\n\n    private bool valueFieldSpecified;\n\n    /// <remarks/>\n    public Documentation Documentation\n    {\n      get\n      {\n        return this.documentationField;\n      }\n      set\n      {\n        this.documentationField = value;\n      }\n    }\n\n    /// <remarks/>\n    [System.Xml.Serialization.XmlAttributeAttribute()]\n    public string Name\n    {\n      get\n      {\n        return this.nameField;\n      }\n      set\n      {\n        this.nameField = value;\n      }\n    }\n\n    /// <remarks/>\n    [System.Xml.Serialization.XmlAttributeAttribute()]\n    public int Value\n    {\n      get\n      {\n        return this.valueField;\n      }\n      set\n      {\n        this.valueField = value;\n      }\n    }\n\n    /// <remarks/>\n    [System.Xml.Serialization.XmlIgnoreAttribute()]\n    public bool ValueSpecified\n    {\n      get\n      {\n        return this.valueFieldSpecified;\n      }\n      set\n      {\n        this.valueFieldSpecified = value;\n      }\n    }\n  }\n\n  /// <remarks/>\n  [System.Xml.Serialization.XmlIncludeAttribute(typeof(StructuredType))]\n  [System.Xml.Serialization.XmlIncludeAttribute(typeof(OpaqueType))]\n  [System.Xml.Serialization.XmlIncludeAttribute(typeof(EnumeratedType))]\n  [System.CodeDom.Compiler.GeneratedCodeAttribute(\"xsd\", \"4.6.1055.0\")]\n  [System.SerializableAttribute()]\n  [System.Diagnostics.DebuggerStepThroughAttribute()]\n  [System.ComponentModel.DesignerCategoryAttribute(\"code\")]\n  [System.Xml.Serialization.XmlTypeAttribute(Namespace = \"http://opcfoundation.org/BinarySchema/\")]\n  public partial class TypeDescription\n  {\n\n    private Documentation documentationField;\n\n    private string nameField;\n\n    private ByteOrder defaultByteOrderField;\n\n    private bool defaultByteOrderFieldSpecified;\n\n    private System.Xml.XmlAttribute[] anyAttrField;\n\n    /// <remarks/>\n    public Documentation Documentation\n    {\n      get\n      {\n        return this.documentationField;\n      }\n      set\n      {\n        this.documentationField = value;\n      }\n    }\n\n    /// <remarks/>\n    [System.Xml.Serialization.XmlAttributeAttribute(DataType = \"NCName\")]\n    public string Name\n    {\n      get\n      {\n        return this.nameField;\n      }\n      set\n      {\n        this.nameField = value;\n      }\n    }\n\n    /// <remarks/>\n    [System.Xml.Serialization.XmlAttributeAttribute()]\n    public ByteOrder DefaultByteOrder\n    {\n      get\n      {\n        return this.defaultByteOrderField;\n      }\n      set\n      {\n        this.defaultByteOrderField = value;\n      }\n    }\n\n    /// <remarks/>\n    [System.Xml.Serialization.XmlIgnoreAttribute()]\n    public bool DefaultByteOrderSpecified\n    {\n      get\n      {\n        return this.defaultByteOrderFieldSpecified;\n      }\n      set\n      {\n        this.defaultByteOrderFieldSpecified = value;\n      }\n    }\n\n    /// <remarks/>\n    [System.Xml.Serialization.XmlAnyAttributeAttribute()]\n    public System.Xml.XmlAttribute[] AnyAttr\n    {\n      get\n      {\n        return this.anyAttrField;\n      }\n      set\n      {\n        this.anyAttrField = value;\n      }\n    }\n  }\n\n  /// <remarks/>\n  [System.CodeDom.Compiler.GeneratedCodeAttribute(\"xsd\", \"4.6.1055.0\")]\n  [System.SerializableAttribute()]\n  [System.Xml.Serialization.XmlTypeAttribute(Namespace = \"http://opcfoundation.org/BinarySchema/\")]\n  public enum ByteOrder\n  {\n\n    /// <remarks/>\n    BigEndian,\n\n    /// <remarks/>\n    LittleEndian,\n  }\n\n  /// <remarks/>\n  [System.CodeDom.Compiler.GeneratedCodeAttribute(\"xsd\", \"4.6.1055.0\")]\n  [System.SerializableAttribute()]\n  [System.Diagnostics.DebuggerStepThroughAttribute()]\n  [System.ComponentModel.DesignerCategoryAttribute(\"code\")]\n  [System.Xml.Serialization.XmlTypeAttribute(Namespace = \"http://opcfoundation.org/BinarySchema/\")]\n  public partial class StructuredType : TypeDescription\n  {\n\n    private FieldType[] fieldField;\n\n    /// <remarks/>\n    [System.Xml.Serialization.XmlElementAttribute(\"Field\")]\n    public FieldType[] Field\n    {\n      get\n      {\n        return this.fieldField;\n      }\n      set\n      {\n        this.fieldField = value;\n      }\n    }\n  }\n\n  /// <remarks/>\n  [System.Xml.Serialization.XmlIncludeAttribute(typeof(EnumeratedType))]\n  [System.CodeDom.Compiler.GeneratedCodeAttribute(\"xsd\", \"4.6.1055.0\")]\n  [System.SerializableAttribute()]\n  [System.Diagnostics.DebuggerStepThroughAttribute()]\n  [System.ComponentModel.DesignerCategoryAttribute(\"code\")]\n  [System.Xml.Serialization.XmlTypeAttribute(Namespace = \"http://opcfoundation.org/BinarySchema/\")]\n  public partial class OpaqueType : TypeDescription\n  {\n\n    private int lengthInBitsField;\n\n    private bool lengthInBitsFieldSpecified;\n\n    private bool byteOrderSignificantField;\n\n    public OpaqueType()\n    {\n      this.byteOrderSignificantField = false;\n    }\n\n    /// <remarks/>\n    [System.Xml.Serialization.XmlAttributeAttribute()]\n    public int LengthInBits\n    {\n      get\n      {\n        return this.lengthInBitsField;\n      }\n      set\n      {\n        this.lengthInBitsField = value;\n      }\n    }\n\n    /// <remarks/>\n    [System.Xml.Serialization.XmlIgnoreAttribute()]\n    public bool LengthInBitsSpecified\n    {\n      get\n      {\n        return this.lengthInBitsFieldSpecified;\n      }\n      set\n      {\n        this.lengthInBitsFieldSpecified = value;\n      }\n    }\n\n    /// <remarks/>\n    [System.Xml.Serialization.XmlAttributeAttribute()]\n    [System.ComponentModel.DefaultValueAttribute(false)]\n    public bool ByteOrderSignificant\n    {\n      get\n      {\n        return this.byteOrderSignificantField;\n      }\n      set\n      {\n        this.byteOrderSignificantField = value;\n      }\n    }\n  }\n\n  /// <remarks/>\n  [System.CodeDom.Compiler.GeneratedCodeAttribute(\"xsd\", \"4.6.1055.0\")]\n  [System.SerializableAttribute()]\n  [System.Diagnostics.DebuggerStepThroughAttribute()]\n  [System.ComponentModel.DesignerCategoryAttribute(\"code\")]\n  [System.Xml.Serialization.XmlTypeAttribute(Namespace = \"http://opcfoundation.org/BinarySchema/\")]\n  public partial class EnumeratedType : OpaqueType\n  {\n\n    private EnumeratedValue[] enumeratedValueField;\n\n    /// <remarks/>\n    [System.Xml.Serialization.XmlElementAttribute(\"EnumeratedValue\")]\n    public EnumeratedValue[] EnumeratedValue\n    {\n      get\n      {\n        return this.enumeratedValueField;\n      }\n      set\n      {\n        this.enumeratedValueField = value;\n      }\n    }\n  }\n\n  /// <remarks/>\n  [System.CodeDom.Compiler.GeneratedCodeAttribute(\"xsd\", \"4.6.1055.0\")]\n  [System.SerializableAttribute()]\n  [System.Diagnostics.DebuggerStepThroughAttribute()]\n  [System.ComponentModel.DesignerCategoryAttribute(\"code\")]\n  [System.Xml.Serialization.XmlTypeAttribute(Namespace = \"http://opcfoundation.org/BinarySchema/\")]\n  public partial class ImportDirective\n  {\n\n    private string namespaceField;\n\n    private string locationField;\n\n    /// <remarks/>\n    [System.Xml.Serialization.XmlAttributeAttribute()]\n    public string Namespace\n    {\n      get\n      {\n        return this.namespaceField;\n      }\n      set\n      {\n        this.namespaceField = value;\n      }\n    }\n\n    /// <remarks/>\n    [System.Xml.Serialization.XmlAttributeAttribute()]\n    public string Location\n    {\n      get\n      {\n        return this.locationField;\n      }\n      set\n      {\n        this.locationField = value;\n      }\n    }\n  }\n\n  /// <remarks/>\n  [System.CodeDom.Compiler.GeneratedCodeAttribute(\"xsd\", \"4.6.1055.0\")]\n  [System.SerializableAttribute()]\n  [System.Diagnostics.DebuggerStepThroughAttribute()]\n  [System.ComponentModel.DesignerCategoryAttribute(\"code\")]\n  [System.Xml.Serialization.XmlTypeAttribute(AnonymousType = true, Namespace = \"http://opcfoundation.org/BinarySchema/\")]\n  [System.Xml.Serialization.XmlRootAttribute(Namespace = \"http://opcfoundation.org/BinarySchema/\", IsNullable = false)]\n  public partial class TypeDictionary\n  {\n\n    private Documentation documentationField;\n\n    private ImportDirective[] importField;\n\n    private TypeDescription[] itemsField;\n\n    private string targetNamespaceField;\n\n    private ByteOrder defaultByteOrderField;\n\n    private bool defaultByteOrderFieldSpecified;\n\n    private System.Xml.XmlAttribute[] anyAttrField;\n\n    /// <remarks/>\n    public Documentation Documentation\n    {\n      get\n      {\n        return this.documentationField;\n      }\n      set\n      {\n        this.documentationField = value;\n      }\n    }\n\n    /// <remarks/>\n    [System.Xml.Serialization.XmlElementAttribute(\"Import\")]\n    public ImportDirective[] Import\n    {\n      get\n      {\n        return this.importField;\n      }\n      set\n      {\n        this.importField = value;\n      }\n    }\n\n    /// <remarks/>\n    [System.Xml.Serialization.XmlElementAttribute(\"EnumeratedType\", typeof(EnumeratedType))]\n    [System.Xml.Serialization.XmlElementAttribute(\"OpaqueType\", typeof(OpaqueType))]\n    [System.Xml.Serialization.XmlElementAttribute(\"StructuredType\", typeof(StructuredType))]\n    public TypeDescription[] Items\n    {\n      get\n      {\n        return this.itemsField;\n      }\n      set\n      {\n        this.itemsField = value;\n      }\n    }\n\n    /// <remarks/>\n    [System.Xml.Serialization.XmlAttributeAttribute()]\n    public string TargetNamespace\n    {\n      get\n      {\n        return this.targetNamespaceField;\n      }\n      set\n      {\n        this.targetNamespaceField = value;\n      }\n    }\n\n    /// <remarks/>\n    [System.Xml.Serialization.XmlAttributeAttribute()]\n    public ByteOrder DefaultByteOrder\n    {\n      get\n      {\n        return this.defaultByteOrderField;\n      }\n      set\n      {\n        this.defaultByteOrderField = value;\n      }\n    }\n\n    /// <remarks/>\n    [System.Xml.Serialization.XmlIgnoreAttribute()]\n    public bool DefaultByteOrderSpecified\n    {\n      get\n      {\n        return this.defaultByteOrderFieldSpecified;\n      }\n      set\n      {\n        this.defaultByteOrderFieldSpecified = value;\n      }\n    }\n\n    /// <remarks/>\n    [System.Xml.Serialization.XmlAnyAttributeAttribute()]\n    public System.Xml.XmlAttribute[] AnyAttr\n    {\n      get\n      {\n        return this.anyAttrField;\n      }\n      set\n      {\n        this.anyAttrField = value;\n      }\n    }\n  }\n\n  #pragma warning restore CS1591 // Missing XML comment for publicly visible type or member\n}\n"
  },
  {
    "path": "SemanticData/UANodeSetValidation/XML/OPCBinarySchema.xsd",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\" ?>\n<xs:schema\n  targetNamespace=\"http://opcfoundation.org/BinarySchema/\"\n  elementFormDefault=\"qualified\"\n  xmlns=\"http://opcfoundation.org/BinarySchema/\"\n  xmlns:xs=\"http://www.w3.org/2001/XMLSchema\"\n>\n  <xs:element name=\"Documentation\">\n    <xs:complexType mixed=\"true\">\n      <xs:choice minOccurs=\"0\" maxOccurs=\"unbounded\">\n        <xs:any minOccurs=\"0\" maxOccurs=\"unbounded\"/>\n      </xs:choice>\n      <xs:anyAttribute/>\n    </xs:complexType>\n  </xs:element>\n\n  <xs:complexType name=\"ImportDirective\">\n    <xs:attribute name=\"Namespace\" type=\"xs:string\" use=\"optional\" />\n    <xs:attribute name=\"Location\" type=\"xs:string\" use=\"optional\" />\n  </xs:complexType>\n\n  <xs:simpleType name=\"ByteOrder\">\n    <xs:restriction base=\"xs:string\">\n      <xs:enumeration value=\"BigEndian\" />\n      <xs:enumeration value=\"LittleEndian\" />\n    </xs:restriction>\n  </xs:simpleType>\n\n  <xs:complexType name=\"TypeDescription\">\n    <xs:sequence>\n      <xs:element ref=\"Documentation\" minOccurs=\"0\" maxOccurs=\"1\" />\n    </xs:sequence>\n    <xs:attribute name=\"Name\" type=\"xs:NCName\" use=\"required\" />\n    <xs:attribute name=\"DefaultByteOrder\" type=\"ByteOrder\" use=\"optional\" />\n    <xs:anyAttribute processContents=\"lax\" />\n  </xs:complexType>\n\n  <xs:complexType name=\"OpaqueType\">\n    <xs:complexContent>\n      <xs:extension base=\"TypeDescription\">\n        <xs:attribute name=\"LengthInBits\" type=\"xs:int\" use=\"optional\" />\n        <xs:attribute name=\"ByteOrderSignificant\" type=\"xs:boolean\" default=\"false\" />\n      </xs:extension>\n    </xs:complexContent>\n  </xs:complexType>\n\n  <xs:complexType name=\"EnumeratedValue\">\n    <xs:sequence>\n      <xs:element ref=\"Documentation\"  minOccurs=\"0\" maxOccurs=\"1\" />\n    </xs:sequence>\n    <xs:attribute name=\"Name\" type=\"xs:string\" use=\"optional\" />\n    <xs:attribute name=\"Value\" type=\"xs:int\" use=\"optional\" />\n  </xs:complexType>\n\n  <xs:complexType name=\"EnumeratedType\">\n    <xs:complexContent>\n      <xs:extension base=\"OpaqueType\">\n        <xs:sequence>\n          <xs:element name=\"EnumeratedValue\" type=\"EnumeratedValue\" maxOccurs=\"unbounded\" />\n        </xs:sequence>\n      </xs:extension>\n    </xs:complexContent>\n  </xs:complexType>\n\n  <xs:simpleType name=\"SwitchOperand\">\n    <xs:restriction base=\"xs:string\">\n      <xs:enumeration value=\"Equals\" />\n      <xs:enumeration value=\"GreaterThan\" />\n      <xs:enumeration value=\"LessThan\" />\n      <xs:enumeration value=\"GreaterThanOrEqual\" />\n      <xs:enumeration value=\"LessThanOrEqual\" />\n      <xs:enumeration value=\"NotEqual\" />\n    </xs:restriction>\n  </xs:simpleType>\n\n  <xs:complexType name=\"FieldType\">\n    <xs:sequence>\n      <xs:element ref=\"Documentation\" minOccurs=\"0\" maxOccurs=\"1\" />\n    </xs:sequence>\n    <xs:attribute name=\"Name\" type=\"xs:string\" use=\"required\" />\n    <xs:attribute name=\"TypeName\" type=\"xs:QName\" use=\"optional\" />\n    <xs:attribute name=\"Length\" type=\"xs:unsignedInt\" use=\"optional\" />\n    <xs:attribute name=\"LengthField\" type=\"xs:string\" use=\"optional\" />\n    <xs:attribute name=\"IsLengthInBytes\" type=\"xs:boolean\" default=\"false\" />\n    <xs:attribute name=\"SwitchField\" type=\"xs:string\" use=\"optional\" />\n    <xs:attribute name=\"SwitchValue\" type=\"xs:unsignedInt\" use=\"optional\" />\n    <xs:attribute name=\"SwitchOperand\" type=\"SwitchOperand\" use=\"optional\" />\n    <xs:attribute name=\"Terminator\" type=\"xs:hexBinary\" use=\"optional\" />\n    <xs:anyAttribute processContents=\"lax\" />\n  </xs:complexType>\n\n  <xs:complexType name=\"StructuredType\">\n    <xs:complexContent>\n      <xs:extension base=\"TypeDescription\">\n        <xs:sequence>\n          <xs:element name=\"Field\" type=\"FieldType\" minOccurs=\"0\" maxOccurs=\"unbounded\" />\n        </xs:sequence>\n      </xs:extension>\n    </xs:complexContent>\n  </xs:complexType>\n\n  <xs:element name=\"TypeDictionary\">\n    <xs:complexType>\n      <xs:sequence>\n        <xs:element ref=\"Documentation\"  minOccurs=\"0\" maxOccurs=\"1\" />\n        <xs:element name=\"Import\" type=\"ImportDirective\" minOccurs=\"0\" maxOccurs=\"unbounded\" />\n        <xs:choice minOccurs=\"0\" maxOccurs=\"unbounded\">\n          <xs:element name=\"OpaqueType\" type=\"OpaqueType\" />\n          <xs:element name=\"EnumeratedType\" type=\"EnumeratedType\" />\n          <xs:element name=\"StructuredType\" type=\"StructuredType\" />\n        </xs:choice>\n      </xs:sequence>\n      <xs:attribute name=\"TargetNamespace\" type=\"xs:string\" use=\"required\" />\n      <xs:attribute name=\"DefaultByteOrder\" type=\"ByteOrder\" use=\"optional\" />\n      <xs:anyAttribute processContents=\"lax\" />\n    </xs:complexType>\n  </xs:element>\n\n</xs:schema>\n"
  },
  {
    "path": "SemanticData/UANodeSetValidation/XML/OPCFCTTInformationModelling.Svcutil.cmd",
    "content": "﻿\nrem https://msdn.microsoft.com/en-us/library/aa347733(v=vs.110).aspx\nSvcutil OPCFCTTInformationModelling.xsd /N:http://commsvr.com/UAOOI/SemanticData/UANodeSetValidation/OPCFCTTInformationModelling.xsd,UAOOI.SemanticData.UANodeSetValidation.XML /o:OPCFCTTInformationModelling.cs /dconly /s /serializer:DataContractSerializer /internal\n"
  },
  {
    "path": "SemanticData/UANodeSetValidation/XML/OPCFCTTInformationModelling.cs",
    "content": "﻿//------------------------------------------------------------------------------\n// <auto-generated>\n//     This code was generated by a tool.\n//     Runtime Version:4.0.30319.34209\n//\n//     Changes to this file may cause incorrect behavior and will be lost if\n//     the code is regenerated.\n// </auto-generated>\n//------------------------------------------------------------------------------\n\n[assembly: System.Runtime.Serialization.ContractNamespaceAttribute(\"http://commsvr.com/UAOOI/SemanticData/UANodeSetValidation/OPCFCTTInformationModel\" +\n    \"ling.xsd\", ClrNamespace=\"UAOOI.SemanticData.UANodeSetValidation.XML\")]\n\nnamespace UAOOI.SemanticData.UANodeSetValidation.XML\n{\n    using System.Runtime.Serialization;\n    using System;\n    \n    \n    [System.Diagnostics.DebuggerStepThroughAttribute()]\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"System.Runtime.Serialization\", \"4.0.0.0\")]\n    [System.Runtime.Serialization.CollectionDataContractAttribute(Name=\"Tests\", Namespace=\"http://commsvr.com/UAOOI/SemanticData/UANodeSetValidation/OPCFCTTInformationModel\" +\n        \"ling.xsd\", ItemName=\"TestCase\")]\n    [System.SerializableAttribute()]\n    internal class Tests : System.Collections.Generic.List<UAOOI.SemanticData.UANodeSetValidation.XML.TestCase>\n    {\n    }\n    \n    [System.Diagnostics.DebuggerStepThroughAttribute()]\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"System.Runtime.Serialization\", \"4.0.0.0\")]\n    [System.Runtime.Serialization.DataContractAttribute(Name=\"TestCase\", Namespace=\"http://commsvr.com/UAOOI/SemanticData/UANodeSetValidation/OPCFCTTInformationModel\" +\n        \"ling.xsd\")]\n    [System.SerializableAttribute()]\n    internal partial class TestCase : object, System.Runtime.Serialization.IExtensibleDataObject\n    {\n        \n        [System.NonSerializedAttribute()]\n        private System.Runtime.Serialization.ExtensionDataObject extensionDataField;\n        \n        [System.Runtime.Serialization.OptionalFieldAttribute()]\n        private string CTTField;\n        \n        [System.Runtime.Serialization.OptionalFieldAttribute()]\n        private string SpecLinkField;\n        \n        [System.Runtime.Serialization.OptionalFieldAttribute()]\n        private string StepField;\n        \n        [System.Runtime.Serialization.OptionalFieldAttribute()]\n        private string NodeClassField;\n        \n        private string FocusField;\n        \n        [System.Runtime.Serialization.OptionalFieldAttribute()]\n        private string TestCaseMemberField;\n        \n        [System.Runtime.Serialization.OptionalFieldAttribute()]\n        private string ExpectedResultsField;\n        \n        [System.Runtime.Serialization.OptionalFieldAttribute()]\n        private string ReviewedField;\n        \n        [System.Runtime.Serialization.OptionalFieldAttribute()]\n        private string IdentifierField;\n        \n        [System.Runtime.Serialization.OptionalFieldAttribute()]\n        private string CommentsField;\n        \n        public System.Runtime.Serialization.ExtensionDataObject ExtensionData\n        {\n            get\n            {\n                return this.extensionDataField;\n            }\n            set\n            {\n                this.extensionDataField = value;\n            }\n        }\n        \n        [System.Runtime.Serialization.DataMemberAttribute(EmitDefaultValue=false)]\n        internal string CTT\n        {\n            get\n            {\n                return this.CTTField;\n            }\n            set\n            {\n                this.CTTField = value;\n            }\n        }\n        \n        [System.Runtime.Serialization.DataMemberAttribute(EmitDefaultValue=false)]\n        internal string SpecLink\n        {\n            get\n            {\n                return this.SpecLinkField;\n            }\n            set\n            {\n                this.SpecLinkField = value;\n            }\n        }\n        \n        [System.Runtime.Serialization.DataMemberAttribute(EmitDefaultValue=false)]\n        internal string Step\n        {\n            get\n            {\n                return this.StepField;\n            }\n            set\n            {\n                this.StepField = value;\n            }\n        }\n        \n        [System.Runtime.Serialization.DataMemberAttribute(EmitDefaultValue=false, Order=3)]\n        internal string NodeClass\n        {\n            get\n            {\n                return this.NodeClassField;\n            }\n            set\n            {\n                this.NodeClassField = value;\n            }\n        }\n        \n        [System.Runtime.Serialization.DataMemberAttribute(IsRequired=true, EmitDefaultValue=false, Order=4)]\n        internal string Focus\n        {\n            get\n            {\n                return this.FocusField;\n            }\n            set\n            {\n                this.FocusField = value;\n            }\n        }\n        \n        [System.Runtime.Serialization.DataMemberAttribute(Name=\"TestCase\", EmitDefaultValue=false, Order=5)]\n        internal string TestCaseMember\n        {\n            get\n            {\n                return this.TestCaseMemberField;\n            }\n            set\n            {\n                this.TestCaseMemberField = value;\n            }\n        }\n        \n        [System.Runtime.Serialization.DataMemberAttribute(EmitDefaultValue=false, Order=6)]\n        internal string ExpectedResults\n        {\n            get\n            {\n                return this.ExpectedResultsField;\n            }\n            set\n            {\n                this.ExpectedResultsField = value;\n            }\n        }\n        \n        [System.Runtime.Serialization.DataMemberAttribute(EmitDefaultValue=false, Order=7)]\n        internal string Reviewed\n        {\n            get\n            {\n                return this.ReviewedField;\n            }\n            set\n            {\n                this.ReviewedField = value;\n            }\n        }\n        \n        [System.Runtime.Serialization.DataMemberAttribute(EmitDefaultValue=false, Order=8)]\n        internal string Identifier\n        {\n            get\n            {\n                return this.IdentifierField;\n            }\n            set\n            {\n                this.IdentifierField = value;\n            }\n        }\n        \n        [System.Runtime.Serialization.DataMemberAttribute(EmitDefaultValue=false, Order=9)]\n        internal string Comments\n        {\n            get\n            {\n                return this.CommentsField;\n            }\n            set\n            {\n                this.CommentsField = value;\n            }\n        }\n    }\n}\n"
  },
  {
    "path": "SemanticData/UANodeSetValidation/XML/OPCFCTTInformationModelling.xml",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"yes\"?>\n<ns1:UseCases xmlns:ns1=\"http://commsvr.com/UAOOI/SemanticData/UANodeSetValidation/OPCFCTTInformationModelling.xsd\">\n\t<ns1:TestCase>\n\t\t<ns1:CTT>y</ns1:CTT>\n\t\t<ns1:SpecLink>P3-4.4.2-002</ns1:SpecLink>\n\t\t<ns1:NodeClass>All</ns1:NodeClass>\n\t\t<ns1:Focus>Properties</ns1:Focus>\n\t\t<ns1:TestCase>BrowseNames must be unique in the context of the Parent node.\nAlso specified in P3-5.6.3.</ns1:TestCase>\n\t\t<ns1:Reviewed>ok</ns1:Reviewed>\n\t</ns1:TestCase>\n\t<ns1:TestCase>\n\t\t<ns1:CTT>y</ns1:CTT>\n\t\t<ns1:SpecLink>P3-4.4.2-003</ns1:SpecLink>\n\t\t<ns1:NodeClass>All</ns1:NodeClass>\n\t\t<ns1:Focus>Properties</ns1:Focus>\n\t\t<ns1:TestCase>Properties always reside in the same Server.</ns1:TestCase>\n\t\t<ns1:Reviewed>ok</ns1:Reviewed>\n\t\t<ns1:Identifier>NA</ns1:Identifier>\n\t</ns1:TestCase>\n\t<ns1:TestCase>\n\t\t<ns1:CTT>y</ns1:CTT>\n\t\t<ns1:SpecLink>P3-4.5.1-001</ns1:SpecLink>\n\t\t<ns1:NodeClass>Object, Variable</ns1:NodeClass>\n\t\t<ns1:Focus>HasTypeDefinition</ns1:Focus>\n\t\t<ns1:TestCase>HasTypeDefinition: reference will point to a TypeDefinitionNode (of some type).</ns1:TestCase>\n\t\t<ns1:ExpectedResults>All Objects and Variables MUST have a HasTypeDefinition reference.\n\nThe target NodeId may be in a Remote Server; this is permissable.\n\nThe reference must point to an actual type.\n\nA well-known type may not exist in the address-space, i.e. UA Part 3, Part 4, Part 5, Part 8, etc. But, if they are present then they have a numeric Id and are in namespace 0.</ns1:ExpectedResults>\n\t\t<ns1:Reviewed>ok</ns1:Reviewed>\n\t\t<ns1:Identifier>???</ns1:Identifier>\n\t</ns1:TestCase>\n\t<ns1:TestCase>\n\t\t<ns1:CTT>y</ns1:CTT>\n\t\t<ns1:SpecLink>P3-4.5.2-001</ns1:SpecLink>\n\t\t<ns1:NodeClass>Object, Variable</ns1:NodeClass>\n\t\t<ns1:Focus>TypeDefinitionNodes</ns1:Focus>\n\t\t<ns1:TestCase>Must point to an instance; not another type definition.</ns1:TestCase>\n\t\t<ns1:Reviewed>ok</ns1:Reviewed>\n\t</ns1:TestCase>\n\t<ns1:TestCase>\n\t\t<ns1:CTT>y</ns1:CTT>\n\t\t<ns1:SpecLink>P3-4.5.3-001</ns1:SpecLink>\n\t\t<ns1:Focus>SubType</ns1:Focus>\n\t\t<ns1:TestCase>Mandatory items are present.\nOptional items are present and still marked as Optional or Mandatory.</ns1:TestCase>\n\t\t<ns1:ExpectedResults>Any optional items that have become mandatory is permitted.\nAdditional Nodes may have been added.\nData-types may have been made \"more specific\", e.g. from Number to Int16.</ns1:ExpectedResults>\n\t\t<ns1:Reviewed>ok</ns1:Reviewed>\n\t</ns1:TestCase>\n\t<ns1:TestCase>\n\t\t<ns1:CTT>y</ns1:CTT>\n\t\t<ns1:SpecLink>P3-4.5.4-001</ns1:SpecLink>\n\t\t<ns1:NodeClass>ObjectType, VariableType</ns1:NodeClass>\n\t\t<ns1:Focus>TypeDefinitionNodes</ns1:Focus>\n\t\t<ns1:TestCase>Read the Forward references.</ns1:TestCase>\n\t\t<ns1:ExpectedResults>The BrowseName of the targets are unique and match the names and other rules of their parent type definition.</ns1:ExpectedResults>\n\t\t<ns1:Reviewed>ok</ns1:Reviewed>\n\t</ns1:TestCase>\n\t<ns1:TestCase>\n\t\t<ns1:CTT>y</ns1:CTT>\n\t\t<ns1:SpecLink>P3-4.5.4-002</ns1:SpecLink>\n\t\t<ns1:NodeClass>ObjectType, VariableType</ns1:NodeClass>\n\t\t<ns1:Focus>InstanceDeclaration</ns1:Focus>\n\t\t<ns1:TestCase>Read the Forward references.</ns1:TestCase>\n\t\t<ns1:ExpectedResults>The BrowseName of the targets are unique and match the names and other rules of their parent type definition.</ns1:ExpectedResults>\n\t\t<ns1:Reviewed>ok</ns1:Reviewed>\n\t</ns1:TestCase>\n\t<ns1:TestCase>\n\t\t<ns1:CTT>y</ns1:CTT>\n\t\t<ns1:SpecLink>P3-4.5.4-003</ns1:SpecLink>\n\t\t<ns1:NodeClass>ObjectType, VariableType, ReferenceType</ns1:NodeClass>\n\t\t<ns1:Focus>InstanceDeclaration</ns1:Focus>\n\t\t<ns1:TestCase>Instances derived from an InstanceDeclaration shall be of the same TypeDefinitionNode or a subtype of this TypeDefinitionNode.</ns1:TestCase>\n\t\t<ns1:ExpectedResults>The string-part of the BrowseName is case sensitive.</ns1:ExpectedResults>\n\t\t<ns1:Reviewed>ok</ns1:Reviewed>\n\t</ns1:TestCase>\n\t<ns1:TestCase>\n\t\t<ns1:CTT>y</ns1:CTT>\n\t\t<ns1:SpecLink>P3-5.2-000</ns1:SpecLink>\n\t\t<ns1:Focus>NodeClass</ns1:Focus>\n\t\t<ns1:TestCase>Structure matches Table 2 (includes data-types etc).\n\nNote to Developer: Table 12 provides a good summary of all other node class types.</ns1:TestCase>\n\t\t<ns1:ExpectedResults>Attributes exist and comply where required. \nIf Optional attributes exist then they comply.</ns1:ExpectedResults>\n\t</ns1:TestCase>\n\t<ns1:TestCase>\n\t\t<ns1:CTT>n</ns1:CTT>\n\t\t<ns1:SpecLink>P3-5.2.2-001</ns1:SpecLink>\n\t\t<ns1:Focus>NodeClass</ns1:Focus>\n\t\t<ns1:TestCase>Server shall persist the NodeId of a Node, that is, it shall not generate new NodeIds when rebooting.</ns1:TestCase>\n\t\t<ns1:Reviewed>ok</ns1:Reviewed>\n\t</ns1:TestCase>\n\t<ns1:TestCase>\n\t\t<ns1:CTT>y</ns1:CTT>\n\t\t<ns1:SpecLink>P3-5.3.1-000</ns1:SpecLink>\n\t\t<ns1:Focus>ReferenceType</ns1:Focus>\n\t\t<ns1:TestCase>Structure matches Table 4. If this type is found in TypeSystem browsing then (a) check the only References that exist are either HasProperty or HasSubtype.</ns1:TestCase>\n\t\t<ns1:ExpectedResults>Attributes exist and comply where required. \nIf Optional attributes exist then they comply.\nMandatory Properties exist and comply; optionals are checked if they exist\nReferences follow the constraints/rules as described.</ns1:ExpectedResults>\n\t\t<ns1:Reviewed>ok</ns1:Reviewed>\n\t</ns1:TestCase>\n\t<ns1:TestCase>\n\t\t<ns1:CTT>Y</ns1:CTT>\n\t\t<ns1:SpecLink>P3-5.3.2-001</ns1:SpecLink>\n\t\t<ns1:Focus>ReferenceType</ns1:Focus>\n\t\t<ns1:TestCase>BrowseName is unique.</ns1:TestCase>\n\t\t<ns1:ExpectedResults>No two references can have the same browse name!</ns1:ExpectedResults>\n\t\t<ns1:Reviewed>ok</ns1:Reviewed>\n\t</ns1:TestCase>\n\t<ns1:TestCase>\n\t\t<ns1:CTT>Y</ns1:CTT>\n\t\t<ns1:SpecLink>P3-5.3.2-002</ns1:SpecLink>\n\t\t<ns1:Focus>ReferenceType</ns1:Focus>\n\t\t<ns1:TestCase>IsAbstract is set to TRUE means that this type is ONLY defined in the Type System.</ns1:TestCase>\n\t\t<ns1:ExpectedResults>When walking through the address-space no references of this type exist.</ns1:ExpectedResults>\n\t\t<ns1:Reviewed>ok</ns1:Reviewed>\n\t</ns1:TestCase>\n\t<ns1:TestCase>\n\t\t<ns1:CTT>y</ns1:CTT>\n\t\t<ns1:SpecLink>P3-5.3.2-003</ns1:SpecLink>\n\t\t<ns1:Focus>ReferenceType</ns1:Focus>\n\t\t<ns1:TestCase>Symmetric and InverseName rules.</ns1:TestCase>\n\t\t<ns1:ExpectedResults>When: \nIsAbstract=N; Symmetric=N then InverseName=Y.\nIsAbstract=Y; Symmetric=Y then InverseName=N.\nIsAbstract=Y; Symmetric=N then InverseName=Y/N (optional).\nIsAbstract=N; Symmetric=Y then InverseName=N.</ns1:ExpectedResults>\n\t\t<ns1:Reviewed>ok</ns1:Reviewed>\n\t</ns1:TestCase>\n\t<ns1:TestCase>\n\t\t<ns1:CTT>Y</ns1:CTT>\n\t\t<ns1:SpecLink>P3-5.3.2-004</ns1:SpecLink>\n\t\t<ns1:Focus>ReferenceType</ns1:Focus>\n\t\t<ns1:TestCase>References (forward and inverse) do not result in an infinite loop.</ns1:TestCase>\n\t\t<ns1:ExpectedResults>For hierarchical references.\nFor example: RefA --&gt; RefB --&gt; RefC --&gt; [RefA = not allowed]</ns1:ExpectedResults>\n\t\t<ns1:Reviewed>ok</ns1:Reviewed>\n\t</ns1:TestCase>\n\t<ns1:TestCase>\n\t\t<ns1:CTT>Y</ns1:CTT>\n\t\t<ns1:SpecLink>P3-5.3.3.2-001</ns1:SpecLink>\n\t\t<ns1:Focus>HasProperty</ns1:Focus>\n\t\t<ns1:TestCase>May only be used on Variable NodeClass types.\nTargetNode is a Property (Variable type).</ns1:TestCase>\n\t\t<ns1:ExpectedResults>Must point to a Type that is actually a Property.</ns1:ExpectedResults>\n\t\t<ns1:Reviewed>ok</ns1:Reviewed>\n\t\t<ns1:Identifier>UndefinedHasPropertyTarget</ns1:Identifier>\n\t</ns1:TestCase>\n\t<ns1:TestCase>\n\t\t<ns1:CTT>y</ns1:CTT>\n\t\t<ns1:SpecLink>P3-5.3.3.3-001</ns1:SpecLink>\n\t\t<ns1:Focus>HasSubtype</ns1:Focus>\n\t\t<ns1:TestCase>Derived types must declare that they are a subtype and specify their parent type.</ns1:TestCase>\n\t\t<ns1:ExpectedResults>Parent types are NOT required to declare the subtypes below them.</ns1:ExpectedResults>\n\t\t<ns1:Reviewed>ok</ns1:Reviewed>\n\t</ns1:TestCase>\n\t<ns1:TestCase>\n\t\t<ns1:CTT>y</ns1:CTT>\n\t\t<ns1:SpecLink>P3-5.3.3.3-002</ns1:SpecLink>\n\t\t<ns1:Focus>HasSubtype</ns1:Focus>\n\t\t<ns1:TestCase>Multiple inheritence not allowed.</ns1:TestCase>\n\t\t<ns1:ExpectedResults>Only one parent type is permitted.\nOnly 1 reference of type IsSubTypeOf is defined for ALL types!</ns1:ExpectedResults>\n\t\t<ns1:Reviewed>ok</ns1:Reviewed>\n\t</ns1:TestCase>\n\t<ns1:TestCase>\n\t\t<ns1:CTT>y</ns1:CTT>\n\t\t<ns1:SpecLink>P3-5.4-000</ns1:SpecLink>\n\t\t<ns1:Focus>View</ns1:Focus>\n\t\t<ns1:TestCase>Structure matches Table 5.</ns1:TestCase>\n\t\t<ns1:ExpectedResults>Attributes exist and comply where required. \nIf Optional attributes exist then they comply.\nProperties exist and comply where required; optionals are checked too.\nReferences follow the constraints/rules as described.</ns1:ExpectedResults>\n\t\t<ns1:Reviewed>ok</ns1:Reviewed>\n\t</ns1:TestCase>\n\t<ns1:TestCase>\n\t\t<ns1:CTT>y</ns1:CTT>\n\t\t<ns1:SpecLink>P3-5.4-001</ns1:SpecLink>\n\t\t<ns1:Focus>View</ns1:Focus>\n\t\t<ns1:TestCase>HasProperty references are permitted.</ns1:TestCase>\n\t\t<ns1:ExpectedResults>Points to property types.</ns1:ExpectedResults>\n\t\t<ns1:Reviewed>ok</ns1:Reviewed>\n\t</ns1:TestCase>\n\t<ns1:TestCase>\n\t\t<ns1:CTT>y</ns1:CTT>\n\t\t<ns1:SpecLink>P3-5.4-002</ns1:SpecLink>\n\t\t<ns1:Focus>View</ns1:Focus>\n\t\t<ns1:TestCase>Browse the address-space WITHIN a View, and follow the references; you can't find the Server object.</ns1:TestCase>\n\t\t<ns1:ExpectedResults>The Server object is not available/accessible from a View.</ns1:ExpectedResults>\n\t\t<ns1:Reviewed>ok</ns1:Reviewed>\n\t</ns1:TestCase>\n\t<ns1:TestCase>\n\t\t<ns1:CTT>y</ns1:CTT>\n\t\t<ns1:SpecLink>P3-5.4-003</ns1:SpecLink>\n\t\t<ns1:Focus>View</ns1:Focus>\n\t\t<ns1:TestCase>Views can be the SourceNode of Hierarchical references only.</ns1:TestCase>\n\t\t<ns1:Reviewed>ok</ns1:Reviewed>\n\t</ns1:TestCase>\n\t<ns1:TestCase>\n\t\t<ns1:CTT>y</ns1:CTT>\n\t\t<ns1:SpecLink>P3-5.5.1-000</ns1:SpecLink>\n\t\t<ns1:Focus>Object</ns1:Focus>\n\t\t<ns1:TestCase>Structure matches Table 6.</ns1:TestCase>\n\t\t<ns1:ExpectedResults>Attributes exist and comply where required. \nIf Optional attributes exist then they comply.\nProperties exist and comply where required; optionals are checked too.\nReferences follow the constraints/rules as described.</ns1:ExpectedResults>\n\t\t<ns1:Reviewed>ok</ns1:Reviewed>\n\t</ns1:TestCase>\n\t<ns1:TestCase>\n\t\t<ns1:CTT>y</ns1:CTT>\n\t\t<ns1:SpecLink>P3-5.5.1-001</ns1:SpecLink>\n\t\t<ns1:Focus>Object</ns1:Focus>\n\t\t<ns1:TestCase>References follow the rules defined in Table 6.\n(Script Developer: one \"script\" per Reference type for validating the rules are followed)</ns1:TestCase>\n\t\t<ns1:Reviewed>ok</ns1:Reviewed>\n\t</ns1:TestCase>\n\t<ns1:TestCase>\n\t\t<ns1:CTT>y</ns1:CTT>\n\t\t<ns1:SpecLink>P3-5.5.3-000</ns1:SpecLink>\n\t\t<ns1:Focus>ObjectType</ns1:Focus>\n\t\t<ns1:TestCase>Structure matches Table 7.</ns1:TestCase>\n\t\t<ns1:ExpectedResults>Attributes exist and comply where required. \nIf Optional attributes exist then they comply.\nProperties exist and comply where required; optionals are checked too.\nReferences follow the constraints/rules as described.</ns1:ExpectedResults>\n\t\t<ns1:Reviewed>ok</ns1:Reviewed>\n\t</ns1:TestCase>\n\t<ns1:TestCase>\n\t\t<ns1:CTT>y</ns1:CTT>\n\t\t<ns1:SpecLink>P3-5.6.1-000</ns1:SpecLink>\n\t\t<ns1:Focus>Variable</ns1:Focus>\n\t\t<ns1:TestCase>Structure matches Table 8.</ns1:TestCase>\n\t\t<ns1:ExpectedResults>Attributes exist and comply where required. \nIf Optional attributes exist then they comply.\nProperties exist and comply where required; optionals are checked too.\nReferences follow the constraints/rules as described.</ns1:ExpectedResults>\n\t\t<ns1:Reviewed>ok</ns1:Reviewed>\n\t</ns1:TestCase>\n\t<ns1:TestCase>\n\t\t<ns1:CTT>y</ns1:CTT>\n\t\t<ns1:SpecLink>P3-5.6.1-001</ns1:SpecLink>\n\t\t<ns1:Focus>Variable</ns1:Focus>\n\t\t<ns1:TestCase>Instances of this type are either (a) DataVariable (b) Property.</ns1:TestCase>\n\t\t<ns1:ExpectedResults>Verify that references exist, and then follow the inverse reference(s) to make sure that if the current node is a Property (and has the PropertyType reference) then the parent can be anything except a Property.</ns1:ExpectedResults>\n\t\t<ns1:Reviewed>ok</ns1:Reviewed>\n\t</ns1:TestCase>\n\t<ns1:TestCase>\n\t\t<ns1:CTT>y</ns1:CTT>\n\t\t<ns1:SpecLink>P3-5.6.3-001</ns1:SpecLink>\n\t\t<ns1:Focus>Properties</ns1:Focus>\n\t\t<ns1:TestCase>Shall not be the SourceNode of any hierarchical Reference.</ns1:TestCase>\n\t\t<ns1:ExpectedResults>May be the SourceNode of non-hieararchical references.</ns1:ExpectedResults>\n\t\t<ns1:Reviewed>ok</ns1:Reviewed>\n\t</ns1:TestCase>\n\t<ns1:TestCase>\n\t\t<ns1:CTT>y</ns1:CTT>\n\t\t<ns1:SpecLink>P3-5.6.3-002</ns1:SpecLink>\n\t\t<ns1:Focus>Properties</ns1:Focus>\n\t\t<ns1:TestCase>Has the type definition reference: PropertyType.</ns1:TestCase>\n\t\t<ns1:Reviewed>ok</ns1:Reviewed>\n\t</ns1:TestCase>\n\t<ns1:TestCase>\n\t\t<ns1:CTT>y</ns1:CTT>\n\t\t<ns1:SpecLink>P3-5.6.3-003</ns1:SpecLink>\n\t\t<ns1:Focus>Properties</ns1:Focus>\n\t\t<ns1:TestCase>Must be the TargetNode of least one HasProperty reference.</ns1:TestCase>\n\t\t<ns1:Reviewed>ok</ns1:Reviewed>\n\t</ns1:TestCase>\n\t<ns1:TestCase>\n\t\t<ns1:CTT>y</ns1:CTT>\n\t\t<ns1:SpecLink>P3-5.6.5-000</ns1:SpecLink>\n\t\t<ns1:Focus>VariableType</ns1:Focus>\n\t\t<ns1:TestCase>Structure matches Table 9.</ns1:TestCase>\n\t\t<ns1:ExpectedResults>Attributes exist and comply where required. \nIf Optional attributes exist then they comply.\nProperties exist and comply where required; optionals are checked too.\nReferences follow the constraints/rules as described.</ns1:ExpectedResults>\n\t\t<ns1:Reviewed>ok</ns1:Reviewed>\n\t</ns1:TestCase>\n\t<ns1:TestCase>\n\t\t<ns1:CTT>y</ns1:CTT>\n\t\t<ns1:SpecLink>P3-5.7-000</ns1:SpecLink>\n\t\t<ns1:Focus>Method</ns1:Focus>\n\t\t<ns1:TestCase>Structure matches Table 10.</ns1:TestCase>\n\t\t<ns1:ExpectedResults>Attributes exist and comply where required. \nIf Optional attributes exist then they comply.\nProperties exist and comply where required; optionals are checked too.\nReferences follow the constraints/rules as described.</ns1:ExpectedResults>\n\t\t<ns1:Reviewed>ok</ns1:Reviewed>\n\t</ns1:TestCase>\n\t<ns1:TestCase>\n\t\t<ns1:CTT>y</ns1:CTT>\n\t\t<ns1:SpecLink>P3-5.8.3-000</ns1:SpecLink>\n\t\t<ns1:Focus>DataType</ns1:Focus>\n\t\t<ns1:TestCase>Structure matches Table 11.</ns1:TestCase>\n\t\t<ns1:ExpectedResults>Attributes exist and comply where required. \nIf Optional attributes exist then they comply.\nProperties exist and comply where required; optionals are checked too.\nReferences follow the constraints/rules as described.</ns1:ExpectedResults>\n\t\t<ns1:Reviewed>ok</ns1:Reviewed>\n\t</ns1:TestCase>\n\t<ns1:TestCase>\n\t\t<ns1:CTT>y</ns1:CTT>\n\t\t<ns1:SpecLink>P3-6.2.1-001</ns1:SpecLink>\n\t\t<ns1:Focus>InstanceDeclaration</ns1:Focus>\n\t\t<ns1:TestCase>Is an Object, Variable, or Method.</ns1:TestCase>\n\t\t<ns1:ExpectedResults>Has a HasModellingRule reference and is the TargetNode of a hierarchical reference from a TypeDefinitionNode, or resolves from a TypeDefinitionNode.</ns1:ExpectedResults>\n\t\t<ns1:Reviewed>ok</ns1:Reviewed>\n\t</ns1:TestCase>\n\t<ns1:TestCase>\n\t\t<ns1:CTT>y</ns1:CTT>\n\t\t<ns1:SpecLink>P3-6.4.4-001</ns1:SpecLink>\n\t\t<ns1:Focus>ModellingRules</ns1:Focus>\n\t\t<ns1:TestCase>NamingRule property exists and contains one of these values (a) Optional (b) Mandatory (c ) Constraint (d) mandatory placeholder (e) optional placeholder.</ns1:TestCase>\n\t\t<ns1:ExpectedResults>Property is required; values are from the enumeration.</ns1:ExpectedResults>\n\t\t<ns1:Reviewed>ok</ns1:Reviewed>\n\t</ns1:TestCase>\n\t<ns1:TestCase>\n\t\t<ns1:CTT>y</ns1:CTT>\n\t\t<ns1:SpecLink>P3-6.4.4-002</ns1:SpecLink>\n\t\t<ns1:Focus>ModellingRules</ns1:Focus>\n\t\t<ns1:TestCase>Properties obey the rules defined in Table 15 and 16.</ns1:TestCase>\n\t\t<ns1:Reviewed>ok</ns1:Reviewed>\n\t</ns1:TestCase>\n\t<ns1:TestCase>\n\t\t<ns1:CTT>y</ns1:CTT>\n\t\t<ns1:SpecLink>P3-7.1-000</ns1:SpecLink>\n\t\t<ns1:Focus>ReferenceType</ns1:Focus>\n\t\t<ns1:TestCase>The inheritence chain matches Figure 24.</ns1:TestCase>\n\t\t<ns1:ExpectedResults>Use just the references in Figure 24; any custom reference types detected should be permitted. \n\nNote: As we find more types derived from this diagram we can add this to this test-script.</ns1:ExpectedResults>\n\t\t<ns1:Reviewed>ok</ns1:Reviewed>\n\t</ns1:TestCase>\n\t<ns1:TestCase>\n\t\t<ns1:CTT>y</ns1:CTT>\n\t\t<ns1:SpecLink>P3-7.3-001</ns1:SpecLink>\n\t\t<ns1:Focus>HierarchicalReference</ns1:Focus>\n\t\t<ns1:TestCase>The SourceNode and TargetNode cannot point to the same NodeId.</ns1:TestCase>\n\t\t<ns1:Reviewed>ok</ns1:Reviewed>\n\t</ns1:TestCase>\n\t<ns1:TestCase>\n\t\t<ns1:CTT>y</ns1:CTT>\n\t\t<ns1:SpecLink>P3-7.7-001</ns1:SpecLink>\n\t\t<ns1:Focus>HasComponent</ns1:Focus>\n\t\t<ns1:TestCase>IF the Source of this reference is an Object or ObjectType; the Target is used with Objects, DataVariables, or Methods.\nIf the Source of this reference is Variable or VariableTypes, then the Target is used with DataVariables.</ns1:TestCase>\n\t\t<ns1:Reviewed>ok</ns1:Reviewed>\n\t\t<ns1:Identifier>WrongReference2Method; WrongReference2Variable; UndefinedHasComponentTarget</ns1:Identifier>\n\t</ns1:TestCase>\n\t<ns1:TestCase>\n\t\t<ns1:CTT>y</ns1:CTT>\n\t\t<ns1:SpecLink>P3-7.10-001</ns1:SpecLink>\n\t\t<ns1:Focus>HasSubtype</ns1:Focus>\n\t\t<ns1:TestCase>SourceNode is an ObjectType, VariableType, DataType, or ReferenceType; TargetNode is of the same NodeClass as the SourceNode.</ns1:TestCase>\n\t\t<ns1:Reviewed>ok</ns1:Reviewed>\n\t\t<ns1:Identifier>UndefinedHasSubtypeTarget\n</ns1:Identifier>\n\t</ns1:TestCase>\n\t<ns1:TestCase>\n\t\t<ns1:CTT>y</ns1:CTT>\n\t\t<ns1:SpecLink>P3-7.11-001</ns1:SpecLink>\n\t\t<ns1:Focus>Organizes</ns1:Focus>\n\t\t<ns1:TestCase>SourceNode of type Object or View. If an Object then it is of type FolderType or a sub-type.</ns1:TestCase>\n\t\t<ns1:Reviewed>ok</ns1:Reviewed>\n\t</ns1:TestCase>\n\t<ns1:TestCase>\n\t\t<ns1:CTT>y</ns1:CTT>\n\t\t<ns1:SpecLink>P3-7.12-001</ns1:SpecLink>\n\t\t<ns1:Focus>HasModellingRule</ns1:Focus>\n\t\t<ns1:TestCase>SourceNode is an Object, Variable, or Method. The TargetNode is an Object of type ModellingRule or sub-type.</ns1:TestCase>\n\t\t<ns1:Reviewed>ok</ns1:Reviewed>\n\t</ns1:TestCase>\n\t<ns1:TestCase>\n\t\t<ns1:CTT>y</ns1:CTT>\n\t\t<ns1:SpecLink>P3-7.13-001</ns1:SpecLink>\n\t\t<ns1:Focus>HasTypeDefinition</ns1:Focus>\n\t\t<ns1:TestCase>SourceNode is Object or Variable. If Object then TargetNode is an ObjectType; if Variable then TargetNode is VariableType.</ns1:TestCase>\n\t\t<ns1:Reviewed>ok</ns1:Reviewed>\n\t\t<ns1:Identifier>UndefinedHasTypeDefinition</ns1:Identifier>\n\t</ns1:TestCase>\n\t<ns1:TestCase>\n\t\t<ns1:CTT>y</ns1:CTT>\n\t\t<ns1:SpecLink>P3-7.14-001</ns1:SpecLink>\n\t\t<ns1:Focus>HasEncoding</ns1:Focus>\n\t\t<ns1:TestCase>SourceNode is DataType. TargetNode is a DataTypeEncodingType or sub-type.</ns1:TestCase>\n\t\t<ns1:Reviewed>ok</ns1:Reviewed>\n\t</ns1:TestCase>\n\t<ns1:TestCase>\n\t\t<ns1:CTT>y</ns1:CTT>\n\t\t<ns1:SpecLink>P3-7.15-001</ns1:SpecLink>\n\t\t<ns1:Focus>HasDescription</ns1:Focus>\n\t\t<ns1:TestCase>SourceNode is DataTypeEncodingType or a sub-type. TargetNode is a DataTypeDescriptionType or sub-type.</ns1:TestCase>\n\t\t<ns1:Reviewed>ok</ns1:Reviewed>\n\t</ns1:TestCase>\n\t<ns1:TestCase>\n\t\t<ns1:CTT>y</ns1:CTT>\n\t\t<ns1:SpecLink>P3-7.16-001</ns1:SpecLink>\n\t\t<ns1:Focus>GeneratesEvent</ns1:Focus>\n\t\t<ns1:TestCase>SourceNode is an ObjectType, VariableType, or Method. TargetNode is an event type that ultimately (not necessarily immediately) derives from BaseEventType.</ns1:TestCase>\n\t\t<ns1:ExpectedResults>Target Node ultimately derives from BaseEventType</ns1:ExpectedResults>\n\t\t<ns1:Reviewed>ok</ns1:Reviewed>\n\t</ns1:TestCase>\n\t<ns1:TestCase>\n\t\t<ns1:CTT>y</ns1:CTT>\n\t\t<ns1:SpecLink>P3-7.17-001</ns1:SpecLink>\n\t\t<ns1:Focus>AlwaysGeneratesEvent</ns1:Focus>\n\t\t<ns1:TestCase>SourceNode is Method. TargetNode is an event type that ultimately (not necessarily immediately) derives from BaseEventType.</ns1:TestCase>\n\t\t<ns1:ExpectedResults>Target node ultimately derives from BaseEventType</ns1:ExpectedResults>\n\t\t<ns1:Reviewed>ok</ns1:Reviewed>\n\t</ns1:TestCase>\n\t<ns1:TestCase>\n\t\t<ns1:CTT>y</ns1:CTT>\n\t\t<ns1:SpecLink>P3-7.18-001</ns1:SpecLink>\n\t\t<ns1:Focus>HasEventSource</ns1:Focus>\n\t\t<ns1:TestCase>SourceNode is an Object that represents the source.</ns1:TestCase>\n\t\t<ns1:ExpectedResults>SourceNode exists and the EventNotifier.SubscribeToEvents is TRUE.</ns1:ExpectedResults>\n\t\t<ns1:Reviewed>ok</ns1:Reviewed>\n\t</ns1:TestCase>\n\t<ns1:TestCase>\n\t\t<ns1:CTT>y</ns1:CTT>\n\t\t<ns1:SpecLink>P3-7.19-001</ns1:SpecLink>\n\t\t<ns1:Focus>HasNotifier</ns1:Focus>\n\t\t<ns1:TestCase>SourceNode is an Object or View. TargetNode are Objects.</ns1:TestCase>\n\t\t<ns1:ExpectedResults>SourceNode exists and the EventNotifier.SubscribeToEvents is TRUE.</ns1:ExpectedResults>\n\t\t<ns1:Reviewed>ok</ns1:Reviewed>\n\t</ns1:TestCase>\n\t<ns1:TestCase>\n\t\t<ns1:CTT>y</ns1:CTT>\n\t\t<ns1:SpecLink>P3-8.14</ns1:SpecLink>\n\t\t<ns1:Focus>Enumeration</ns1:Focus>\n\t\t<ns1:TestCase>Any enumeration DataType not directly inheriting (sub-type) from the Enumeration DataType can only restrict the enumeration values of its supertype. That is, it shall neither add enumeration values nor change the text associated to the enumeration value</ns1:TestCase>\n\t\t<ns1:Reviewed>ok</ns1:Reviewed>\n\t</ns1:TestCase>\n\t<ns1:TestCase>\n\t\t<ns1:CTT>y</ns1:CTT>\n\t\t<ns1:SpecLink>P3-8.33</ns1:SpecLink>\n\t\t<ns1:Focus>Structure</ns1:Focus>\n\t\t<ns1:TestCase>Structured DataTypes shall inherit from the base Structure DataType. This means that you cannot derive from any other structure.</ns1:TestCase>\n\t\t<ns1:Reviewed>ok</ns1:Reviewed>\n\t</ns1:TestCase>\n\t<ns1:TestCase>\n\t\t<ns1:CTT>y</ns1:CTT>\n\t\t<ns1:SpecLink>P3-8.39</ns1:SpecLink>\n\t\t<ns1:Focus>XmlElement</ns1:Focus>\n\t\t<ns1:TestCase>If this type is found then issue a Warning to notify the tester that this type really shouldn't be used, and that a Structure should be used instead.</ns1:TestCase>\n\t\t<ns1:Reviewed>ok</ns1:Reviewed>\n\t</ns1:TestCase>\n\t<ns1:TestCase>\n\t\t<ns1:CTT>y</ns1:CTT>\n\t\t<ns1:SpecLink>P5-4.1-001</ns1:SpecLink>\n\t\t<ns1:Focus>NodeId</ns1:Focus>\n\t\t<ns1:TestCase>Standard OPC Foundationd defined types use NamespaceIndex=0.</ns1:TestCase>\n\t\t<ns1:Reviewed>ok</ns1:Reviewed>\n\t</ns1:TestCase>\n\t<ns1:TestCase>\n\t\t<ns1:CTT>Y</ns1:CTT>\n\t\t<ns1:SpecLink>P5-12-000</ns1:SpecLink>\n\t\t<ns1:Focus>AbstractTypes</ns1:Focus>\n\t\t<ns1:TestCase>Abstract or Composite types like numeric, integer, uinteger etc. must be verified (e.g. uint16 unacceptable when received for a type defined as integer); sub-types may further restrict the type (e.g. parent is Numeric, subtype restricts to int16)</ns1:TestCase>\n\t\t<ns1:ExpectedResults>Applies to: Integer, UInteger, Double, Number, ByteString, DateTime, String, Structure, and Image.</ns1:ExpectedResults>\n\t\t<ns1:Reviewed>ok</ns1:Reviewed>\n\t</ns1:TestCase>\n\t<ns1:TestCase>\n\t\t<ns1:CTT>y</ns1:CTT>\n\t\t<ns1:SpecLink>P3-Annex-C</ns1:SpecLink>\n\t\t<ns1:Focus>TypeDictionary Structure</ns1:Focus>\n\t\t<ns1:TestCase>If the type is a custom Structure (i.e. not 'well-known') then decode it according to the TypeDictionary.</ns1:TestCase>\n\t\t<ns1:ExpectedResults>Each decoded 'element' applies with the applicable UA built-in type. If the element is a structure, enumeration, or opaque, then recursively apply the same rules.</ns1:ExpectedResults>\n\t\t<ns1:Reviewed>ok</ns1:Reviewed>\n\t</ns1:TestCase>\n</ns1:UseCases>"
  },
  {
    "path": "SemanticData/UANodeSetValidation/XML/OPCFCTTInformationModelling.xsd",
    "content": "﻿<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<xs:schema id=\"XMLSchema1\"\n    targetNamespace=\"http://commsvr.com/UAOOI/SemanticData/UANodeSetValidation/OPCFCTTInformationModelling.xsd\"\n    elementFormDefault=\"qualified\"\n    xmlns=\"http://commsvr.com/UAOOI/SemanticData/UANodeSetValidation/OPCFCTTInformationModelling.xsd\"\n    xmlns:mstns=\"http://tempuri.org/XMLSchema1.xsd\"\n    xmlns:xs=\"http://www.w3.org/2001/XMLSchema\"\n>\n  <xs:element name=\"UseCases\" type=\"Tests\">\n  </xs:element>\n  <xs:complexType  name=\"Tests\">\n    <xs:sequence  >\n      <xs:element name=\"TestCase\" minOccurs=\"0\" maxOccurs=\"unbounded\">\n        <xs:complexType >\n          <xs:sequence>\n            <xs:element name=\"CTT\" type=\"xs:string\" minOccurs=\"0\" maxOccurs=\"1\" />\n            <xs:element name=\"SpecLink\" type=\"xs:string\" minOccurs=\"0\" maxOccurs=\"1\"/>\n            <xs:element name=\"Step\" type=\"xs:string\" minOccurs=\"0\" maxOccurs=\"1\" />\n            <xs:element name=\"NodeClass\" type=\"xs:string\" minOccurs=\"0\" maxOccurs=\"1\" />\n            <xs:element name=\"Focus\" type=\"xs:string\" />\n            <xs:element name=\"TestCase\" type=\"xs:string\" minOccurs=\"0\" maxOccurs=\"1\" />\n            <xs:element name=\"ExpectedResults\" type=\"xs:string\" minOccurs=\"0\" maxOccurs=\"1\" />\n            <xs:element name=\"Reviewed\" type=\"xs:string\" minOccurs=\"0\" maxOccurs=\"1\"/>\n            <xs:element name=\"Identifier\" type=\"xs:string\" minOccurs=\"0\" maxOccurs=\"1\"/>\n            <xs:element name=\"Comments\" type=\"xs:string\" minOccurs=\"0\" maxOccurs=\"1\"/>\n          </xs:sequence>\n        </xs:complexType>\n      </xs:element>\n    </xs:sequence>\n  </xs:complexType>\n</xs:schema>\n"
  },
  {
    "path": "SemanticData/UANodeSetValidation/XML/Opc.Ua.NodeSet2.xml",
    "content": "﻿<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<UANodeSet xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\" LastModified=\"2021-09-15T00:00:00Z\" xmlns=\"http://opcfoundation.org/UA/2011/03/UANodeSet.xsd\">\n  <Models>\n    <Model ModelUri=\"http://opcfoundation.org/UA/\" XmlSchemaUri=\"http://opcfoundation.org/UA/2008/02/Types.xsd\" Version=\"v104\" PublicationDate=\"2021-09-15T00:00:00Z\" />\n  </Models>\n  <Aliases>\n    <Alias Alias=\"Boolean\">i=1</Alias>\n    <Alias Alias=\"SByte\">i=2</Alias>\n    <Alias Alias=\"Byte\">i=3</Alias>\n    <Alias Alias=\"Int16\">i=4</Alias>\n    <Alias Alias=\"UInt16\">i=5</Alias>\n    <Alias Alias=\"Int32\">i=6</Alias>\n    <Alias Alias=\"UInt32\">i=7</Alias>\n    <Alias Alias=\"Int64\">i=8</Alias>\n    <Alias Alias=\"UInt64\">i=9</Alias>\n    <Alias Alias=\"Float\">i=10</Alias>\n    <Alias Alias=\"Double\">i=11</Alias>\n    <Alias Alias=\"DateTime\">i=13</Alias>\n    <Alias Alias=\"String\">i=12</Alias>\n    <Alias Alias=\"ByteString\">i=15</Alias>\n    <Alias Alias=\"Guid\">i=14</Alias>\n    <Alias Alias=\"XmlElement\">i=16</Alias>\n    <Alias Alias=\"NodeId\">i=17</Alias>\n    <Alias Alias=\"ExpandedNodeId\">i=18</Alias>\n    <Alias Alias=\"QualifiedName\">i=20</Alias>\n    <Alias Alias=\"LocalizedText\">i=21</Alias>\n    <Alias Alias=\"StatusCode\">i=19</Alias>\n    <Alias Alias=\"Structure\">i=22</Alias>\n    <Alias Alias=\"Number\">i=26</Alias>\n    <Alias Alias=\"Integer\">i=27</Alias>\n    <Alias Alias=\"UInteger\">i=28</Alias>\n    <Alias Alias=\"HasComponent\">i=47</Alias>\n    <Alias Alias=\"HasProperty\">i=46</Alias>\n    <Alias Alias=\"Organizes\">i=35</Alias>\n    <Alias Alias=\"HasEventSource\">i=36</Alias>\n    <Alias Alias=\"HasNotifier\">i=48</Alias>\n    <Alias Alias=\"HasSubtype\">i=45</Alias>\n    <Alias Alias=\"HasTypeDefinition\">i=40</Alias>\n    <Alias Alias=\"HasModellingRule\">i=37</Alias>\n    <Alias Alias=\"HasEncoding\">i=38</Alias>\n    <Alias Alias=\"HasDescription\">i=39</Alias>\n    <Alias Alias=\"HasCause\">i=53</Alias>\n    <Alias Alias=\"ToState\">i=52</Alias>\n    <Alias Alias=\"FromState\">i=51</Alias>\n    <Alias Alias=\"HasEffect\">i=54</Alias>\n    <Alias Alias=\"HasTrueSubState\">i=9004</Alias>\n    <Alias Alias=\"HasFalseSubState\">i=9005</Alias>\n    <Alias Alias=\"HasDictionaryEntry\">i=17597</Alias>\n    <Alias Alias=\"HasCondition\">i=9006</Alias>\n    <Alias Alias=\"HasGuard\">i=15112</Alias>\n    <Alias Alias=\"HasAddIn\">i=17604</Alias>\n    <Alias Alias=\"HasInterface\">i=17603</Alias>\n  </Aliases>\n  <UAObject NodeId=\"i=3062\" BrowseName=\"Default Binary\" SymbolicName=\"DefaultBinary\">\n    <DisplayName>Default Binary</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=58</Reference>\n    </References>\n  </UAObject>\n  <UAObject NodeId=\"i=3063\" BrowseName=\"Default XML\" SymbolicName=\"DefaultXml\">\n    <DisplayName>Default XML</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=58</Reference>\n    </References>\n  </UAObject>\n  <UADataType NodeId=\"i=24\" BrowseName=\"BaseDataType\" IsAbstract=\"true\">\n    <DisplayName>BaseDataType</DisplayName>\n    <References />\n  </UADataType>\n  <UADataType NodeId=\"i=26\" BrowseName=\"Number\" IsAbstract=\"true\">\n    <DisplayName>Number</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=24</Reference>\n    </References>\n  </UADataType>\n  <UADataType NodeId=\"i=27\" BrowseName=\"Integer\" IsAbstract=\"true\">\n    <DisplayName>Integer</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=26</Reference>\n    </References>\n  </UADataType>\n  <UADataType NodeId=\"i=28\" BrowseName=\"UInteger\" IsAbstract=\"true\">\n    <DisplayName>UInteger</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=26</Reference>\n    </References>\n  </UADataType>\n  <UADataType NodeId=\"i=29\" BrowseName=\"Enumeration\" IsAbstract=\"true\">\n    <DisplayName>Enumeration</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=24</Reference>\n    </References>\n    <Definition Name=\"Enumeration\" />\n  </UADataType>\n  <UADataType NodeId=\"i=1\" BrowseName=\"Boolean\">\n    <DisplayName>Boolean</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=24</Reference>\n    </References>\n  </UADataType>\n  <UADataType NodeId=\"i=2\" BrowseName=\"SByte\">\n    <DisplayName>SByte</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=27</Reference>\n    </References>\n  </UADataType>\n  <UADataType NodeId=\"i=3\" BrowseName=\"Byte\">\n    <DisplayName>Byte</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=28</Reference>\n    </References>\n  </UADataType>\n  <UADataType NodeId=\"i=4\" BrowseName=\"Int16\">\n    <DisplayName>Int16</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=27</Reference>\n    </References>\n  </UADataType>\n  <UADataType NodeId=\"i=5\" BrowseName=\"UInt16\">\n    <DisplayName>UInt16</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=28</Reference>\n    </References>\n  </UADataType>\n  <UADataType NodeId=\"i=6\" BrowseName=\"Int32\">\n    <DisplayName>Int32</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=27</Reference>\n    </References>\n  </UADataType>\n  <UADataType NodeId=\"i=7\" BrowseName=\"UInt32\">\n    <DisplayName>UInt32</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=28</Reference>\n    </References>\n  </UADataType>\n  <UADataType NodeId=\"i=8\" BrowseName=\"Int64\">\n    <DisplayName>Int64</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=27</Reference>\n    </References>\n  </UADataType>\n  <UADataType NodeId=\"i=9\" BrowseName=\"UInt64\">\n    <DisplayName>UInt64</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=28</Reference>\n    </References>\n  </UADataType>\n  <UADataType NodeId=\"i=10\" BrowseName=\"Float\">\n    <DisplayName>Float</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=26</Reference>\n    </References>\n  </UADataType>\n  <UADataType NodeId=\"i=11\" BrowseName=\"Double\">\n    <DisplayName>Double</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=26</Reference>\n    </References>\n  </UADataType>\n  <UADataType NodeId=\"i=12\" BrowseName=\"String\">\n    <DisplayName>String</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=24</Reference>\n    </References>\n  </UADataType>\n  <UADataType NodeId=\"i=13\" BrowseName=\"DateTime\">\n    <DisplayName>DateTime</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=24</Reference>\n    </References>\n  </UADataType>\n  <UADataType NodeId=\"i=14\" BrowseName=\"Guid\">\n    <DisplayName>Guid</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=24</Reference>\n    </References>\n  </UADataType>\n  <UADataType NodeId=\"i=15\" BrowseName=\"ByteString\">\n    <DisplayName>ByteString</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=24</Reference>\n    </References>\n  </UADataType>\n  <UADataType NodeId=\"i=16\" BrowseName=\"XmlElement\">\n    <DisplayName>XmlElement</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=24</Reference>\n    </References>\n  </UADataType>\n  <UADataType NodeId=\"i=17\" BrowseName=\"NodeId\">\n    <DisplayName>NodeId</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=24</Reference>\n    </References>\n  </UADataType>\n  <UADataType NodeId=\"i=18\" BrowseName=\"ExpandedNodeId\">\n    <DisplayName>ExpandedNodeId</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=24</Reference>\n    </References>\n  </UADataType>\n  <UADataType NodeId=\"i=19\" BrowseName=\"StatusCode\">\n    <DisplayName>StatusCode</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=24</Reference>\n    </References>\n  </UADataType>\n  <UADataType NodeId=\"i=20\" BrowseName=\"QualifiedName\">\n    <DisplayName>QualifiedName</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=24</Reference>\n    </References>\n  </UADataType>\n  <UADataType NodeId=\"i=21\" BrowseName=\"LocalizedText\">\n    <DisplayName>LocalizedText</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=24</Reference>\n    </References>\n  </UADataType>\n  <UADataType NodeId=\"i=22\" BrowseName=\"Structure\" IsAbstract=\"true\">\n    <DisplayName>Structure</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=24</Reference>\n    </References>\n  </UADataType>\n  <UADataType NodeId=\"i=23\" BrowseName=\"DataValue\">\n    <DisplayName>DataValue</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=24</Reference>\n    </References>\n  </UADataType>\n  <UADataType NodeId=\"i=25\" BrowseName=\"DiagnosticInfo\">\n    <DisplayName>DiagnosticInfo</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=24</Reference>\n    </References>\n  </UADataType>\n  <UADataType NodeId=\"i=30\" BrowseName=\"Image\" IsAbstract=\"true\">\n    <DisplayName>Image</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=15</Reference>\n    </References>\n  </UADataType>\n  <UADataType NodeId=\"i=50\" BrowseName=\"Decimal\">\n    <DisplayName>Decimal</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=26</Reference>\n    </References>\n  </UADataType>\n  <UAReferenceType NodeId=\"i=31\" BrowseName=\"References\" IsAbstract=\"true\" Symmetric=\"true\">\n    <DisplayName>References</DisplayName>\n    <References />\n  </UAReferenceType>\n  <UAReferenceType NodeId=\"i=32\" BrowseName=\"NonHierarchicalReferences\" IsAbstract=\"true\" Symmetric=\"true\">\n    <DisplayName>NonHierarchicalReferences</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=31</Reference>\n    </References>\n  </UAReferenceType>\n  <UAReferenceType NodeId=\"i=33\" BrowseName=\"HierarchicalReferences\" IsAbstract=\"true\">\n    <DisplayName>HierarchicalReferences</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=31</Reference>\n    </References>\n    <InverseName>HierarchicalReferences</InverseName>\n  </UAReferenceType>\n  <UAReferenceType NodeId=\"i=34\" BrowseName=\"HasChild\" IsAbstract=\"true\">\n    <DisplayName>HasChild</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=33</Reference>\n    </References>\n    <InverseName>ChildOf</InverseName>\n  </UAReferenceType>\n  <UAReferenceType NodeId=\"i=35\" BrowseName=\"Organizes\">\n    <DisplayName>Organizes</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=33</Reference>\n    </References>\n    <InverseName>OrganizedBy</InverseName>\n  </UAReferenceType>\n  <UAReferenceType NodeId=\"i=36\" BrowseName=\"HasEventSource\">\n    <DisplayName>HasEventSource</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=33</Reference>\n    </References>\n    <InverseName>EventSourceOf</InverseName>\n  </UAReferenceType>\n  <UAReferenceType NodeId=\"i=37\" BrowseName=\"HasModellingRule\">\n    <DisplayName>HasModellingRule</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=32</Reference>\n    </References>\n    <InverseName>ModellingRuleOf</InverseName>\n  </UAReferenceType>\n  <UAReferenceType NodeId=\"i=38\" BrowseName=\"HasEncoding\">\n    <DisplayName>HasEncoding</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=32</Reference>\n    </References>\n    <InverseName>EncodingOf</InverseName>\n  </UAReferenceType>\n  <UAReferenceType NodeId=\"i=39\" BrowseName=\"HasDescription\">\n    <DisplayName>HasDescription</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=32</Reference>\n    </References>\n    <InverseName>DescriptionOf</InverseName>\n  </UAReferenceType>\n  <UAReferenceType NodeId=\"i=40\" BrowseName=\"HasTypeDefinition\">\n    <DisplayName>HasTypeDefinition</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=32</Reference>\n    </References>\n    <InverseName>TypeDefinitionOf</InverseName>\n  </UAReferenceType>\n  <UAReferenceType NodeId=\"i=41\" BrowseName=\"GeneratesEvent\">\n    <DisplayName>GeneratesEvent</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=32</Reference>\n    </References>\n    <InverseName>GeneratedBy</InverseName>\n  </UAReferenceType>\n  <UAReferenceType NodeId=\"i=3065\" BrowseName=\"AlwaysGeneratesEvent\">\n    <DisplayName>AlwaysGeneratesEvent</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=41</Reference>\n    </References>\n    <InverseName>AlwaysGeneratedBy</InverseName>\n  </UAReferenceType>\n  <UAReferenceType NodeId=\"i=44\" BrowseName=\"Aggregates\" IsAbstract=\"true\">\n    <DisplayName>Aggregates</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=34</Reference>\n    </References>\n    <InverseName>AggregatedBy</InverseName>\n  </UAReferenceType>\n  <UAReferenceType NodeId=\"i=45\" BrowseName=\"HasSubtype\">\n    <DisplayName>HasSubtype</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=34</Reference>\n    </References>\n    <InverseName>SubtypeOf</InverseName>\n  </UAReferenceType>\n  <UAReferenceType NodeId=\"i=46\" BrowseName=\"HasProperty\">\n    <DisplayName>HasProperty</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=44</Reference>\n    </References>\n    <InverseName>PropertyOf</InverseName>\n  </UAReferenceType>\n  <UAReferenceType NodeId=\"i=47\" BrowseName=\"HasComponent\">\n    <DisplayName>HasComponent</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=44</Reference>\n    </References>\n    <InverseName>ComponentOf</InverseName>\n  </UAReferenceType>\n  <UAReferenceType NodeId=\"i=48\" BrowseName=\"HasNotifier\">\n    <DisplayName>HasNotifier</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=36</Reference>\n    </References>\n    <InverseName>NotifierOf</InverseName>\n  </UAReferenceType>\n  <UAReferenceType NodeId=\"i=49\" BrowseName=\"HasOrderedComponent\">\n    <DisplayName>HasOrderedComponent</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=47</Reference>\n    </References>\n    <InverseName>OrderedComponentOf</InverseName>\n  </UAReferenceType>\n  <UAReferenceType NodeId=\"i=51\" BrowseName=\"FromState\">\n    <DisplayName>FromState</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=32</Reference>\n    </References>\n    <InverseName>ToTransition</InverseName>\n  </UAReferenceType>\n  <UAReferenceType NodeId=\"i=52\" BrowseName=\"ToState\">\n    <DisplayName>ToState</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=32</Reference>\n    </References>\n    <InverseName>FromTransition</InverseName>\n  </UAReferenceType>\n  <UAReferenceType NodeId=\"i=53\" BrowseName=\"HasCause\">\n    <DisplayName>HasCause</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=32</Reference>\n    </References>\n    <InverseName>MayBeCausedBy</InverseName>\n  </UAReferenceType>\n  <UAReferenceType NodeId=\"i=54\" BrowseName=\"HasEffect\">\n    <DisplayName>HasEffect</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=32</Reference>\n    </References>\n    <InverseName>MayBeEffectedBy</InverseName>\n  </UAReferenceType>\n  <UAReferenceType NodeId=\"i=117\" BrowseName=\"HasSubStateMachine\">\n    <DisplayName>HasSubStateMachine</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=32</Reference>\n    </References>\n    <InverseName>SubStateMachineOf</InverseName>\n  </UAReferenceType>\n  <UAReferenceType NodeId=\"i=56\" BrowseName=\"HasHistoricalConfiguration\">\n    <DisplayName>HasHistoricalConfiguration</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=44</Reference>\n    </References>\n    <InverseName>HistoricalConfigurationOf</InverseName>\n  </UAReferenceType>\n  <UAObjectType NodeId=\"i=58\" BrowseName=\"BaseObjectType\">\n    <DisplayName>BaseObjectType</DisplayName>\n    <References />\n  </UAObjectType>\n  <UAObjectType NodeId=\"i=61\" BrowseName=\"FolderType\">\n    <DisplayName>FolderType</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=58</Reference>\n    </References>\n  </UAObjectType>\n  <UAVariableType NodeId=\"i=62\" BrowseName=\"BaseVariableType\" IsAbstract=\"true\" ValueRank=\"-2\">\n    <DisplayName>BaseVariableType</DisplayName>\n    <References />\n  </UAVariableType>\n  <UAVariableType NodeId=\"i=63\" BrowseName=\"BaseDataVariableType\" ValueRank=\"-2\">\n    <DisplayName>BaseDataVariableType</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=62</Reference>\n    </References>\n  </UAVariableType>\n  <UAVariableType NodeId=\"i=68\" BrowseName=\"PropertyType\" ValueRank=\"-2\">\n    <DisplayName>PropertyType</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=62</Reference>\n    </References>\n  </UAVariableType>\n  <UAVariableType NodeId=\"i=69\" BrowseName=\"DataTypeDescriptionType\" ReleaseStatus=\"Deprecated\" DataType=\"String\">\n    <DisplayName>DataTypeDescriptionType</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=104</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=105</Reference>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=63</Reference>\n    </References>\n  </UAVariableType>\n  <UAVariable NodeId=\"i=104\" BrowseName=\"DataTypeVersion\" ReleaseStatus=\"Deprecated\" ParentNodeId=\"i=69\" DataType=\"String\">\n    <DisplayName>DataTypeVersion</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=80</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=69</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=105\" BrowseName=\"DictionaryFragment\" ReleaseStatus=\"Deprecated\" ParentNodeId=\"i=69\" DataType=\"ByteString\">\n    <DisplayName>DictionaryFragment</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=80</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=69</Reference>\n    </References>\n  </UAVariable>\n  <UAVariableType NodeId=\"i=72\" BrowseName=\"DataTypeDictionaryType\" ReleaseStatus=\"Deprecated\" DataType=\"ByteString\">\n    <DisplayName>DataTypeDictionaryType</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=106</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=107</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=15001</Reference>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=63</Reference>\n    </References>\n  </UAVariableType>\n  <UAVariable NodeId=\"i=106\" BrowseName=\"DataTypeVersion\" ReleaseStatus=\"Deprecated\" ParentNodeId=\"i=72\" DataType=\"String\">\n    <DisplayName>DataTypeVersion</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=80</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=72</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=107\" BrowseName=\"NamespaceUri\" ReleaseStatus=\"Deprecated\" ParentNodeId=\"i=72\" DataType=\"String\">\n    <DisplayName>NamespaceUri</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=80</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=72</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=15001\" BrowseName=\"Deprecated\" ReleaseStatus=\"Deprecated\" ParentNodeId=\"i=72\" DataType=\"Boolean\">\n    <DisplayName>Deprecated</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=80</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=72</Reference>\n    </References>\n  </UAVariable>\n  <UAObjectType NodeId=\"i=75\" BrowseName=\"DataTypeSystemType\" ReleaseStatus=\"Deprecated\">\n    <DisplayName>DataTypeSystemType</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=58</Reference>\n    </References>\n  </UAObjectType>\n  <UAObjectType NodeId=\"i=76\" BrowseName=\"DataTypeEncodingType\">\n    <DisplayName>DataTypeEncodingType</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=58</Reference>\n    </References>\n  </UAObjectType>\n  <UADataType NodeId=\"i=120\" BrowseName=\"NamingRuleType\">\n    <DisplayName>NamingRuleType</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=12169</Reference>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=29</Reference>\n    </References>\n    <Definition Name=\"NamingRuleType\">\n      <Field Name=\"Mandatory\" Value=\"1\">\n        <Description>The BrowseName must appear in all instances of the type.</Description>\n      </Field>\n      <Field Name=\"Optional\" Value=\"2\">\n        <Description>The BrowseName may appear in an instance of the type.</Description>\n      </Field>\n      <Field Name=\"Constraint\" Value=\"3\">\n        <Description>The modelling rule defines a constraint and the BrowseName is not used in an instance of the type.</Description>\n      </Field>\n    </Definition>\n  </UADataType>\n  <UAVariable NodeId=\"i=12169\" BrowseName=\"EnumValues\" ParentNodeId=\"i=120\" DataType=\"i=7594\" ValueRank=\"1\" ArrayDimensions=\"0\">\n    <DisplayName>EnumValues</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=120</Reference>\n    </References>\n    <Value>\n      <ListOfExtensionObject xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=7616</Identifier>\n          </TypeId>\n          <Body>\n            <EnumValueType>\n              <Value>1</Value>\n              <DisplayName>\n                <Text>Mandatory</Text>\n              </DisplayName>\n              <Description>\n                <Text>The BrowseName must appear in all instances of the type.</Text>\n              </Description>\n            </EnumValueType>\n          </Body>\n        </ExtensionObject>\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=7616</Identifier>\n          </TypeId>\n          <Body>\n            <EnumValueType>\n              <Value>2</Value>\n              <DisplayName>\n                <Text>Optional</Text>\n              </DisplayName>\n              <Description>\n                <Text>The BrowseName may appear in an instance of the type.</Text>\n              </Description>\n            </EnumValueType>\n          </Body>\n        </ExtensionObject>\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=7616</Identifier>\n          </TypeId>\n          <Body>\n            <EnumValueType>\n              <Value>3</Value>\n              <DisplayName>\n                <Text>Constraint</Text>\n              </DisplayName>\n              <Description>\n                <Text>The modelling rule defines a constraint and the BrowseName is not used in an instance of the type.</Text>\n              </Description>\n            </EnumValueType>\n          </Body>\n        </ExtensionObject>\n      </ListOfExtensionObject>\n    </Value>\n  </UAVariable>\n  <UAObjectType NodeId=\"i=77\" BrowseName=\"ModellingRuleType\">\n    <DisplayName>ModellingRuleType</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=111</Reference>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=58</Reference>\n    </References>\n  </UAObjectType>\n  <UAVariable NodeId=\"i=111\" BrowseName=\"NamingRule\" ParentNodeId=\"i=77\" DataType=\"i=120\">\n    <DisplayName>NamingRule</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=77</Reference>\n    </References>\n    <Value>\n      <Int32 xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">1</Int32>\n    </Value>\n  </UAVariable>\n  <UAObject NodeId=\"i=78\" BrowseName=\"Mandatory\" SymbolicName=\"ModellingRule_Mandatory\">\n    <DisplayName>Mandatory</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=112</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=77</Reference>\n    </References>\n  </UAObject>\n  <UAVariable NodeId=\"i=112\" BrowseName=\"NamingRule\" ParentNodeId=\"i=78\" DataType=\"i=120\">\n    <DisplayName>NamingRule</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=78</Reference>\n    </References>\n    <Value>\n      <Int32 xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">1</Int32>\n    </Value>\n  </UAVariable>\n  <UAObject NodeId=\"i=80\" BrowseName=\"Optional\" SymbolicName=\"ModellingRule_Optional\">\n    <DisplayName>Optional</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=113</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=77</Reference>\n    </References>\n  </UAObject>\n  <UAVariable NodeId=\"i=113\" BrowseName=\"NamingRule\" ParentNodeId=\"i=80\" DataType=\"i=120\">\n    <DisplayName>NamingRule</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=80</Reference>\n    </References>\n    <Value>\n      <Int32 xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">2</Int32>\n    </Value>\n  </UAVariable>\n  <UAObject NodeId=\"i=83\" BrowseName=\"ExposesItsArray\" SymbolicName=\"ModellingRule_ExposesItsArray\">\n    <DisplayName>ExposesItsArray</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=114</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=77</Reference>\n    </References>\n  </UAObject>\n  <UAVariable NodeId=\"i=114\" BrowseName=\"NamingRule\" ParentNodeId=\"i=83\" DataType=\"i=120\">\n    <DisplayName>NamingRule</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=83</Reference>\n    </References>\n    <Value>\n      <Int32 xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">3</Int32>\n    </Value>\n  </UAVariable>\n  <UAObject NodeId=\"i=11508\" BrowseName=\"OptionalPlaceholder\" SymbolicName=\"ModellingRule_OptionalPlaceholder\">\n    <DisplayName>OptionalPlaceholder</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=11509</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=77</Reference>\n    </References>\n  </UAObject>\n  <UAVariable NodeId=\"i=11509\" BrowseName=\"NamingRule\" ParentNodeId=\"i=11508\" DataType=\"i=120\">\n    <DisplayName>NamingRule</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=11508</Reference>\n    </References>\n    <Value>\n      <Int32 xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">2</Int32>\n    </Value>\n  </UAVariable>\n  <UAObject NodeId=\"i=11510\" BrowseName=\"MandatoryPlaceholder\" SymbolicName=\"ModellingRule_MandatoryPlaceholder\">\n    <DisplayName>MandatoryPlaceholder</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=11511</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=77</Reference>\n    </References>\n  </UAObject>\n  <UAVariable NodeId=\"i=11511\" BrowseName=\"NamingRule\" ParentNodeId=\"i=11510\" DataType=\"i=120\">\n    <DisplayName>NamingRule</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=11510</Reference>\n    </References>\n    <Value>\n      <Int32 xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">1</Int32>\n    </Value>\n  </UAVariable>\n  <UAObject NodeId=\"i=84\" BrowseName=\"Root\" SymbolicName=\"RootFolder\">\n    <DisplayName>Root</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=61</Reference>\n    </References>\n  </UAObject>\n  <UAObject NodeId=\"i=85\" BrowseName=\"Objects\" SymbolicName=\"ObjectsFolder\">\n    <DisplayName>Objects</DisplayName>\n    <References>\n      <Reference ReferenceType=\"Organizes\" IsForward=\"false\">i=84</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=61</Reference>\n    </References>\n  </UAObject>\n  <UAObject NodeId=\"i=86\" BrowseName=\"Types\" SymbolicName=\"TypesFolder\">\n    <DisplayName>Types</DisplayName>\n    <References>\n      <Reference ReferenceType=\"Organizes\" IsForward=\"false\">i=84</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=61</Reference>\n    </References>\n  </UAObject>\n  <UAObject NodeId=\"i=87\" BrowseName=\"Views\" SymbolicName=\"ViewsFolder\">\n    <DisplayName>Views</DisplayName>\n    <References>\n      <Reference ReferenceType=\"Organizes\" IsForward=\"false\">i=84</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=61</Reference>\n    </References>\n  </UAObject>\n  <UAObject NodeId=\"i=88\" BrowseName=\"ObjectTypes\" SymbolicName=\"ObjectTypesFolder\">\n    <DisplayName>ObjectTypes</DisplayName>\n    <References>\n      <Reference ReferenceType=\"Organizes\" IsForward=\"false\">i=86</Reference>\n      <Reference ReferenceType=\"Organizes\">i=58</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=61</Reference>\n    </References>\n  </UAObject>\n  <UAObject NodeId=\"i=89\" BrowseName=\"VariableTypes\" SymbolicName=\"VariableTypesFolder\">\n    <DisplayName>VariableTypes</DisplayName>\n    <References>\n      <Reference ReferenceType=\"Organizes\" IsForward=\"false\">i=86</Reference>\n      <Reference ReferenceType=\"Organizes\">i=62</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=61</Reference>\n    </References>\n  </UAObject>\n  <UAObject NodeId=\"i=90\" BrowseName=\"DataTypes\" SymbolicName=\"DataTypesFolder\">\n    <DisplayName>DataTypes</DisplayName>\n    <References>\n      <Reference ReferenceType=\"Organizes\" IsForward=\"false\">i=86</Reference>\n      <Reference ReferenceType=\"Organizes\">i=24</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=61</Reference>\n    </References>\n  </UAObject>\n  <UAObject NodeId=\"i=91\" BrowseName=\"ReferenceTypes\" SymbolicName=\"ReferenceTypesFolder\">\n    <DisplayName>ReferenceTypes</DisplayName>\n    <References>\n      <Reference ReferenceType=\"Organizes\" IsForward=\"false\">i=86</Reference>\n      <Reference ReferenceType=\"Organizes\">i=31</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=61</Reference>\n    </References>\n  </UAObject>\n  <UAObject NodeId=\"i=92\" BrowseName=\"XML Schema\" SymbolicName=\"XmlSchema_TypeSystem\" ReleaseStatus=\"Deprecated\">\n    <DisplayName>XML Schema</DisplayName>\n    <References>\n      <Reference ReferenceType=\"Organizes\" IsForward=\"false\">i=90</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=75</Reference>\n    </References>\n  </UAObject>\n  <UAObject NodeId=\"i=93\" BrowseName=\"OPC Binary\" SymbolicName=\"OPCBinarySchema_TypeSystem\" ReleaseStatus=\"Deprecated\">\n    <DisplayName>OPC Binary</DisplayName>\n    <References>\n      <Reference ReferenceType=\"Organizes\" IsForward=\"false\">i=90</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=75</Reference>\n    </References>\n  </UAObject>\n  <UAReferenceType NodeId=\"i=129\" BrowseName=\"HasArgumentDescription\">\n    <DisplayName>HasArgumentDescription</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=47</Reference>\n    </References>\n    <InverseName>ArgumentDescriptionOf</InverseName>\n  </UAReferenceType>\n  <UAReferenceType NodeId=\"i=131\" BrowseName=\"HasOptionalInputArgumentDescription\">\n    <DisplayName>HasOptionalInputArgumentDescription</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=129</Reference>\n    </References>\n    <InverseName>OptionalInputArgumentDescriptionOf</InverseName>\n  </UAReferenceType>\n  <UAObject NodeId=\"i=15957\" BrowseName=\"0:http://opcfoundation.org/UA/\" SymbolicName=\"OPCUANamespaceMetadata\">\n    <DisplayName>http://opcfoundation.org/UA/</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=15958</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=15959</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=15960</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=15961</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=15962</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=15963</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=15964</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=16134</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=16135</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=16136</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=11715</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=11616</Reference>\n    </References>\n  </UAObject>\n  <UAVariable NodeId=\"i=15958\" BrowseName=\"NamespaceUri\" ParentNodeId=\"i=15957\" DataType=\"String\">\n    <DisplayName>NamespaceUri</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=15957</Reference>\n    </References>\n    <Value>\n      <String xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">http://opcfoundation.org/UA/</String>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"i=15959\" BrowseName=\"NamespaceVersion\" ParentNodeId=\"i=15957\" DataType=\"String\">\n    <DisplayName>NamespaceVersion</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=15957</Reference>\n    </References>\n    <Value>\n      <String xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">v104</String>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"i=15960\" BrowseName=\"NamespacePublicationDate\" ParentNodeId=\"i=15957\" DataType=\"DateTime\">\n    <DisplayName>NamespacePublicationDate</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=15957</Reference>\n    </References>\n    <Value>\n      <DateTime xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">2021-09-15T00:00:00Z</DateTime>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"i=15961\" BrowseName=\"IsNamespaceSubset\" ParentNodeId=\"i=15957\" DataType=\"Boolean\">\n    <DisplayName>IsNamespaceSubset</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=15957</Reference>\n    </References>\n    <Value>\n      <Boolean xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">false</Boolean>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"i=15962\" BrowseName=\"StaticNodeIdTypes\" ParentNodeId=\"i=15957\" DataType=\"i=256\" ValueRank=\"1\" ArrayDimensions=\"0\">\n    <DisplayName>StaticNodeIdTypes</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=15957</Reference>\n    </References>\n    <Value>\n      <ListOfInt32 xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <Int32>0</Int32>\n      </ListOfInt32>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"i=15963\" BrowseName=\"StaticNumericNodeIdRange\" ParentNodeId=\"i=15957\" DataType=\"i=291\" ValueRank=\"1\" ArrayDimensions=\"0\">\n    <DisplayName>StaticNumericNodeIdRange</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=15957</Reference>\n    </References>\n    <Value>\n      <ListOfString xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <String>1:2252</String>\n        <String>2270</String>\n        <String>2273</String>\n        <String>2280</String>\n        <String>2283</String>\n        <String>2291:2293</String>\n        <String>2297:2734</String>\n        <String>2738:2991</String>\n        <String>2995</String>\n        <String>2998:3703</String>\n        <String>3710:11191</String>\n        <String>11194:11195</String>\n        <String>11202:11241</String>\n        <String>11243:11272</String>\n        <String>11276:11280</String>\n        <String>11284:11311</String>\n        <String>11315:11491</String>\n        <String>11495:11501</String>\n        <String>11503:11701</String>\n        <String>11706</String>\n        <String>11708</String>\n        <String>11716:12164</String>\n        <String>12169:12748</String>\n        <String>12752:12872</String>\n        <String>12875:12884</String>\n        <String>12888:12910</String>\n        <String>12912:14414</String>\n        <String>14416:15003</String>\n        <String>15005:15605</String>\n        <String>15607:16300</String>\n        <String>16306:17633</String>\n        <String>17635:19090</String>\n        <String>19092:2147483647</String>\n      </ListOfString>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"i=15964\" BrowseName=\"StaticStringNodeIdPattern\" ParentNodeId=\"i=15957\" DataType=\"String\">\n    <DisplayName>StaticStringNodeIdPattern</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=15957</Reference>\n    </References>\n    <Value>\n      <String xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\" />\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"i=16134\" BrowseName=\"DefaultRolePermissions\" ParentNodeId=\"i=15957\" DataType=\"i=96\" ValueRank=\"1\" ArrayDimensions=\"0\">\n    <DisplayName>DefaultRolePermissions</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=15957</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=16135\" BrowseName=\"DefaultUserRolePermissions\" ParentNodeId=\"i=15957\" DataType=\"i=96\" ValueRank=\"1\" ArrayDimensions=\"0\">\n    <DisplayName>DefaultUserRolePermissions</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=15957</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=16136\" BrowseName=\"DefaultAccessRestrictions\" ParentNodeId=\"i=15957\" DataType=\"i=95\">\n    <DisplayName>DefaultAccessRestrictions</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=15957</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=3068\" BrowseName=\"NodeVersion\" DataType=\"String\">\n    <DisplayName>NodeVersion</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=12170\" BrowseName=\"ViewVersion\" DataType=\"UInt32\">\n    <DisplayName>ViewVersion</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=3067\" BrowseName=\"Icon\" DataType=\"i=30\">\n    <DisplayName>Icon</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=3069\" BrowseName=\"LocalTime\" DataType=\"i=8912\">\n    <DisplayName>LocalTime</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=3070\" BrowseName=\"AllowNulls\" DataType=\"Boolean\">\n    <DisplayName>AllowNulls</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=11433\" BrowseName=\"ValueAsText\" DataType=\"LocalizedText\">\n    <DisplayName>ValueAsText</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=11498\" BrowseName=\"MaxStringLength\" DataType=\"UInt32\">\n    <DisplayName>MaxStringLength</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=15002\" BrowseName=\"MaxCharacters\" DataType=\"UInt32\">\n    <DisplayName>MaxCharacters</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=12908\" BrowseName=\"MaxByteStringLength\" DataType=\"UInt32\">\n    <DisplayName>MaxByteStringLength</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=11512\" BrowseName=\"MaxArrayLength\" DataType=\"UInt32\">\n    <DisplayName>MaxArrayLength</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=11513\" BrowseName=\"EngineeringUnits\" DataType=\"i=887\">\n    <DisplayName>EngineeringUnits</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=11432\" BrowseName=\"EnumStrings\" DataType=\"LocalizedText\" ValueRank=\"1\" ArrayDimensions=\"0\">\n    <DisplayName>EnumStrings</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=3071\" BrowseName=\"EnumValues\" DataType=\"i=7594\" ValueRank=\"1\" ArrayDimensions=\"0\">\n    <DisplayName>EnumValues</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=12745\" BrowseName=\"OptionSetValues\" DataType=\"LocalizedText\" ValueRank=\"1\" ArrayDimensions=\"0\">\n    <DisplayName>OptionSetValues</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=3072\" BrowseName=\"InputArguments\" DataType=\"i=296\" ValueRank=\"1\" ArrayDimensions=\"0\">\n    <DisplayName>InputArguments</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=3073\" BrowseName=\"OutputArguments\" DataType=\"i=296\" ValueRank=\"1\" ArrayDimensions=\"0\">\n    <DisplayName>OutputArguments</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=17605\" BrowseName=\"DefaultInstanceBrowseName\" DataType=\"QualifiedName\">\n    <DisplayName>DefaultInstanceBrowseName</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n    </References>\n  </UAVariable>\n  <UADataType NodeId=\"i=2000\" BrowseName=\"ImageBMP\">\n    <DisplayName>ImageBMP</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=30</Reference>\n    </References>\n  </UADataType>\n  <UADataType NodeId=\"i=2001\" BrowseName=\"ImageGIF\">\n    <DisplayName>ImageGIF</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=30</Reference>\n    </References>\n  </UADataType>\n  <UADataType NodeId=\"i=2002\" BrowseName=\"ImageJPG\">\n    <DisplayName>ImageJPG</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=30</Reference>\n    </References>\n  </UADataType>\n  <UADataType NodeId=\"i=2003\" BrowseName=\"ImagePNG\">\n    <DisplayName>ImagePNG</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=30</Reference>\n    </References>\n  </UADataType>\n  <UADataType NodeId=\"i=16307\" BrowseName=\"AudioDataType\">\n    <DisplayName>AudioDataType</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=15</Reference>\n    </References>\n  </UADataType>\n  <UADataType NodeId=\"i=12756\" BrowseName=\"Union\" IsAbstract=\"true\">\n    <DisplayName>Union</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=22</Reference>\n    </References>\n    <Definition Name=\"Union\" />\n  </UADataType>\n  <UAObjectType NodeId=\"i=2004\" BrowseName=\"ServerType\">\n    <DisplayName>ServerType</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=2005</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=2006</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=15003</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=2007</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=2008</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=2742</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=12882</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=17612</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=2009</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=2010</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=2011</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=2012</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=11527</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=11489</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=12871</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=12746</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=12883</Reference>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=58</Reference>\n    </References>\n  </UAObjectType>\n  <UAVariable NodeId=\"i=2005\" BrowseName=\"ServerArray\" ParentNodeId=\"i=2004\" DataType=\"String\" ValueRank=\"1\" ArrayDimensions=\"0\" MinimumSamplingInterval=\"1000\">\n    <DisplayName>ServerArray</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=2004</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=2006\" BrowseName=\"NamespaceArray\" ParentNodeId=\"i=2004\" DataType=\"String\" ValueRank=\"1\" ArrayDimensions=\"0\" MinimumSamplingInterval=\"1000\">\n    <DisplayName>NamespaceArray</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=2004</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=15003\" BrowseName=\"UrisVersion\" ParentNodeId=\"i=2004\" DataType=\"i=20998\" MinimumSamplingInterval=\"1000\">\n    <DisplayName>UrisVersion</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=80</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=2004</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=2007\" BrowseName=\"ServerStatus\" ParentNodeId=\"i=2004\" DataType=\"i=862\" MinimumSamplingInterval=\"1000\">\n    <DisplayName>ServerStatus</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasComponent\">i=3074</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=3075</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=3076</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=3077</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=3084</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=3085</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=2138</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=2004</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=3074\" BrowseName=\"StartTime\" ParentNodeId=\"i=2007\" DataType=\"i=294\">\n    <DisplayName>StartTime</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=63</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=2007</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=3075\" BrowseName=\"CurrentTime\" ParentNodeId=\"i=2007\" DataType=\"i=294\">\n    <DisplayName>CurrentTime</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=63</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=2007</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=3076\" BrowseName=\"State\" ParentNodeId=\"i=2007\" DataType=\"i=852\">\n    <DisplayName>State</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=63</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=2007</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=3077\" BrowseName=\"BuildInfo\" ParentNodeId=\"i=2007\" DataType=\"i=338\">\n    <DisplayName>BuildInfo</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasComponent\">i=3078</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=3079</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=3080</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=3081</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=3082</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=3083</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=3051</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=2007</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=3078\" BrowseName=\"ProductUri\" ParentNodeId=\"i=3077\" DataType=\"String\" MinimumSamplingInterval=\"1000\">\n    <DisplayName>ProductUri</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=63</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=3077</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=3079\" BrowseName=\"ManufacturerName\" ParentNodeId=\"i=3077\" DataType=\"String\" MinimumSamplingInterval=\"1000\">\n    <DisplayName>ManufacturerName</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=63</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=3077</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=3080\" BrowseName=\"ProductName\" ParentNodeId=\"i=3077\" DataType=\"String\" MinimumSamplingInterval=\"1000\">\n    <DisplayName>ProductName</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=63</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=3077</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=3081\" BrowseName=\"SoftwareVersion\" ParentNodeId=\"i=3077\" DataType=\"String\" MinimumSamplingInterval=\"1000\">\n    <DisplayName>SoftwareVersion</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=63</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=3077</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=3082\" BrowseName=\"BuildNumber\" ParentNodeId=\"i=3077\" DataType=\"String\" MinimumSamplingInterval=\"1000\">\n    <DisplayName>BuildNumber</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=63</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=3077</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=3083\" BrowseName=\"BuildDate\" ParentNodeId=\"i=3077\" DataType=\"i=294\" MinimumSamplingInterval=\"1000\">\n    <DisplayName>BuildDate</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=63</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=3077</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=3084\" BrowseName=\"SecondsTillShutdown\" ParentNodeId=\"i=2007\" DataType=\"UInt32\">\n    <DisplayName>SecondsTillShutdown</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=63</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=2007</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=3085\" BrowseName=\"ShutdownReason\" ParentNodeId=\"i=2007\" DataType=\"LocalizedText\">\n    <DisplayName>ShutdownReason</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=63</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=2007</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=2008\" BrowseName=\"ServiceLevel\" ParentNodeId=\"i=2004\" DataType=\"Byte\" MinimumSamplingInterval=\"1000\">\n    <DisplayName>ServiceLevel</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=2004</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=2742\" BrowseName=\"Auditing\" ParentNodeId=\"i=2004\" DataType=\"Boolean\" MinimumSamplingInterval=\"1000\">\n    <DisplayName>Auditing</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=2004</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=12882\" BrowseName=\"EstimatedReturnTime\" ParentNodeId=\"i=2004\" DataType=\"DateTime\" MinimumSamplingInterval=\"1000\">\n    <DisplayName>EstimatedReturnTime</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=80</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=2004</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=17612\" BrowseName=\"LocalTime\" ParentNodeId=\"i=2004\" DataType=\"i=8912\" MinimumSamplingInterval=\"1000\">\n    <DisplayName>LocalTime</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=80</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=2004</Reference>\n    </References>\n  </UAVariable>\n  <UAObject NodeId=\"i=2009\" BrowseName=\"ServerCapabilities\" ParentNodeId=\"i=2004\">\n    <DisplayName>ServerCapabilities</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=3086</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=3087</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=3088</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=3089</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=3090</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=3091</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=3092</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=3093</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=3094</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=2013</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=2004</Reference>\n    </References>\n  </UAObject>\n  <UAVariable NodeId=\"i=3086\" BrowseName=\"ServerProfileArray\" ParentNodeId=\"i=2009\" DataType=\"String\" ValueRank=\"1\" ArrayDimensions=\"0\">\n    <DisplayName>ServerProfileArray</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=2009</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=3087\" BrowseName=\"LocaleIdArray\" ParentNodeId=\"i=2009\" DataType=\"i=295\" ValueRank=\"1\" ArrayDimensions=\"0\">\n    <DisplayName>LocaleIdArray</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=2009</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=3088\" BrowseName=\"MinSupportedSampleRate\" ParentNodeId=\"i=2009\" DataType=\"i=290\">\n    <DisplayName>MinSupportedSampleRate</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=2009</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=3089\" BrowseName=\"MaxBrowseContinuationPoints\" ParentNodeId=\"i=2009\" DataType=\"UInt16\">\n    <DisplayName>MaxBrowseContinuationPoints</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=2009</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=3090\" BrowseName=\"MaxQueryContinuationPoints\" ParentNodeId=\"i=2009\" DataType=\"UInt16\">\n    <DisplayName>MaxQueryContinuationPoints</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=2009</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=3091\" BrowseName=\"MaxHistoryContinuationPoints\" ParentNodeId=\"i=2009\" DataType=\"UInt16\">\n    <DisplayName>MaxHistoryContinuationPoints</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=2009</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=3092\" BrowseName=\"SoftwareCertificates\" ParentNodeId=\"i=2009\" DataType=\"i=344\" ValueRank=\"1\" ArrayDimensions=\"0\">\n    <DisplayName>SoftwareCertificates</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=2009</Reference>\n    </References>\n  </UAVariable>\n  <UAObject NodeId=\"i=3093\" BrowseName=\"ModellingRules\" ParentNodeId=\"i=2009\">\n    <DisplayName>ModellingRules</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=61</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=2009</Reference>\n    </References>\n  </UAObject>\n  <UAObject NodeId=\"i=3094\" BrowseName=\"AggregateFunctions\" ParentNodeId=\"i=2009\">\n    <DisplayName>AggregateFunctions</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=61</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=2009</Reference>\n    </References>\n  </UAObject>\n  <UAObject NodeId=\"i=2010\" BrowseName=\"ServerDiagnostics\" ParentNodeId=\"i=2004\">\n    <DisplayName>ServerDiagnostics</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasComponent\">i=3095</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=3110</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=3111</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=3114</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=2020</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=2004</Reference>\n    </References>\n  </UAObject>\n  <UAVariable NodeId=\"i=3095\" BrowseName=\"ServerDiagnosticsSummary\" ParentNodeId=\"i=2010\" DataType=\"i=859\">\n    <DisplayName>ServerDiagnosticsSummary</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasComponent\">i=3096</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=3097</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=3098</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=3099</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=3100</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=3101</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=3102</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=3104</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=3105</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=3106</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=3107</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=3108</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=2150</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=2010</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=3096\" BrowseName=\"ServerViewCount\" ParentNodeId=\"i=3095\" DataType=\"UInt32\">\n    <DisplayName>ServerViewCount</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=63</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=3095</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=3097\" BrowseName=\"CurrentSessionCount\" ParentNodeId=\"i=3095\" DataType=\"UInt32\">\n    <DisplayName>CurrentSessionCount</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=63</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=3095</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=3098\" BrowseName=\"CumulatedSessionCount\" ParentNodeId=\"i=3095\" DataType=\"UInt32\">\n    <DisplayName>CumulatedSessionCount</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=63</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=3095</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=3099\" BrowseName=\"SecurityRejectedSessionCount\" ParentNodeId=\"i=3095\" DataType=\"UInt32\">\n    <DisplayName>SecurityRejectedSessionCount</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=63</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=3095</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=3100\" BrowseName=\"RejectedSessionCount\" ParentNodeId=\"i=3095\" DataType=\"UInt32\">\n    <DisplayName>RejectedSessionCount</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=63</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=3095</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=3101\" BrowseName=\"SessionTimeoutCount\" ParentNodeId=\"i=3095\" DataType=\"UInt32\">\n    <DisplayName>SessionTimeoutCount</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=63</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=3095</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=3102\" BrowseName=\"SessionAbortCount\" ParentNodeId=\"i=3095\" DataType=\"UInt32\">\n    <DisplayName>SessionAbortCount</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=63</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=3095</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=3104\" BrowseName=\"PublishingIntervalCount\" ParentNodeId=\"i=3095\" DataType=\"UInt32\">\n    <DisplayName>PublishingIntervalCount</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=63</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=3095</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=3105\" BrowseName=\"CurrentSubscriptionCount\" ParentNodeId=\"i=3095\" DataType=\"UInt32\">\n    <DisplayName>CurrentSubscriptionCount</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=63</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=3095</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=3106\" BrowseName=\"CumulatedSubscriptionCount\" ParentNodeId=\"i=3095\" DataType=\"UInt32\">\n    <DisplayName>CumulatedSubscriptionCount</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=63</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=3095</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=3107\" BrowseName=\"SecurityRejectedRequestsCount\" ParentNodeId=\"i=3095\" DataType=\"UInt32\">\n    <DisplayName>SecurityRejectedRequestsCount</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=63</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=3095</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=3108\" BrowseName=\"RejectedRequestsCount\" ParentNodeId=\"i=3095\" DataType=\"UInt32\">\n    <DisplayName>RejectedRequestsCount</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=63</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=3095</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=3110\" BrowseName=\"SubscriptionDiagnosticsArray\" ParentNodeId=\"i=2010\" DataType=\"i=874\" ValueRank=\"1\" ArrayDimensions=\"0\">\n    <DisplayName>SubscriptionDiagnosticsArray</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=2171</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=2010</Reference>\n    </References>\n  </UAVariable>\n  <UAObject NodeId=\"i=3111\" BrowseName=\"SessionsDiagnosticsSummary\" ParentNodeId=\"i=2010\">\n    <DisplayName>SessionsDiagnosticsSummary</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasComponent\">i=3112</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=3113</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=2026</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=2010</Reference>\n    </References>\n  </UAObject>\n  <UAVariable NodeId=\"i=3112\" BrowseName=\"SessionDiagnosticsArray\" ParentNodeId=\"i=3111\" DataType=\"i=865\" ValueRank=\"1\" ArrayDimensions=\"0\">\n    <DisplayName>SessionDiagnosticsArray</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=2196</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=3111</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=3113\" BrowseName=\"SessionSecurityDiagnosticsArray\" ParentNodeId=\"i=3111\" DataType=\"i=868\" ValueRank=\"1\" ArrayDimensions=\"0\">\n    <DisplayName>SessionSecurityDiagnosticsArray</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=2243</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=3111</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=3114\" BrowseName=\"EnabledFlag\" ParentNodeId=\"i=2010\" DataType=\"Boolean\" AccessLevel=\"3\">\n    <DisplayName>EnabledFlag</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=2010</Reference>\n    </References>\n  </UAVariable>\n  <UAObject NodeId=\"i=2011\" BrowseName=\"VendorServerInfo\" ParentNodeId=\"i=2004\">\n    <DisplayName>VendorServerInfo</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=2033</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=2004</Reference>\n    </References>\n  </UAObject>\n  <UAObject NodeId=\"i=2012\" BrowseName=\"ServerRedundancy\" ParentNodeId=\"i=2004\">\n    <DisplayName>ServerRedundancy</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=3115</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=2034</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=2004</Reference>\n    </References>\n  </UAObject>\n  <UAVariable NodeId=\"i=3115\" BrowseName=\"RedundancySupport\" ParentNodeId=\"i=2012\" DataType=\"i=851\">\n    <DisplayName>RedundancySupport</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=2012</Reference>\n    </References>\n  </UAVariable>\n  <UAObject NodeId=\"i=11527\" BrowseName=\"Namespaces\" ParentNodeId=\"i=2004\">\n    <DisplayName>Namespaces</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=11645</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=80</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=2004</Reference>\n    </References>\n  </UAObject>\n  <UAMethod NodeId=\"i=11489\" BrowseName=\"GetMonitoredItems\" ParentNodeId=\"i=2004\">\n    <DisplayName>GetMonitoredItems</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=11490</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=11491</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=80</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=2004</Reference>\n    </References>\n  </UAMethod>\n  <UAVariable NodeId=\"i=11490\" BrowseName=\"InputArguments\" ParentNodeId=\"i=11489\" DataType=\"i=296\" ValueRank=\"1\" ArrayDimensions=\"0\">\n    <DisplayName>InputArguments</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=11489</Reference>\n    </References>\n    <Value>\n      <ListOfExtensionObject xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=297</Identifier>\n          </TypeId>\n          <Body>\n            <Argument>\n              <Name>SubscriptionId</Name>\n              <DataType>\n                <Identifier>i=7</Identifier>\n              </DataType>\n              <ValueRank>-1</ValueRank>\n              <ArrayDimensions />\n            </Argument>\n          </Body>\n        </ExtensionObject>\n      </ListOfExtensionObject>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"i=11491\" BrowseName=\"OutputArguments\" ParentNodeId=\"i=11489\" DataType=\"i=296\" ValueRank=\"1\" ArrayDimensions=\"0\">\n    <DisplayName>OutputArguments</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=11489</Reference>\n    </References>\n    <Value>\n      <ListOfExtensionObject xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=297</Identifier>\n          </TypeId>\n          <Body>\n            <Argument>\n              <Name>ServerHandles</Name>\n              <DataType>\n                <Identifier>i=7</Identifier>\n              </DataType>\n              <ValueRank>1</ValueRank>\n              <ArrayDimensions>\n                <UInt32>0</UInt32>\n              </ArrayDimensions>\n            </Argument>\n          </Body>\n        </ExtensionObject>\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=297</Identifier>\n          </TypeId>\n          <Body>\n            <Argument>\n              <Name>ClientHandles</Name>\n              <DataType>\n                <Identifier>i=7</Identifier>\n              </DataType>\n              <ValueRank>1</ValueRank>\n              <ArrayDimensions>\n                <UInt32>0</UInt32>\n              </ArrayDimensions>\n            </Argument>\n          </Body>\n        </ExtensionObject>\n      </ListOfExtensionObject>\n    </Value>\n  </UAVariable>\n  <UAMethod NodeId=\"i=12871\" BrowseName=\"ResendData\" ParentNodeId=\"i=2004\">\n    <DisplayName>ResendData</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=12872</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=80</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=2004</Reference>\n    </References>\n  </UAMethod>\n  <UAVariable NodeId=\"i=12872\" BrowseName=\"InputArguments\" ParentNodeId=\"i=12871\" DataType=\"i=296\" ValueRank=\"1\" ArrayDimensions=\"0\">\n    <DisplayName>InputArguments</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=12871</Reference>\n    </References>\n    <Value>\n      <ListOfExtensionObject xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=297</Identifier>\n          </TypeId>\n          <Body>\n            <Argument>\n              <Name>SubscriptionId</Name>\n              <DataType>\n                <Identifier>i=7</Identifier>\n              </DataType>\n              <ValueRank>-1</ValueRank>\n              <ArrayDimensions />\n            </Argument>\n          </Body>\n        </ExtensionObject>\n      </ListOfExtensionObject>\n    </Value>\n  </UAVariable>\n  <UAMethod NodeId=\"i=12746\" BrowseName=\"SetSubscriptionDurable\" ParentNodeId=\"i=2004\">\n    <DisplayName>SetSubscriptionDurable</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=12747</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=12748</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=80</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=2004</Reference>\n    </References>\n  </UAMethod>\n  <UAVariable NodeId=\"i=12747\" BrowseName=\"InputArguments\" ParentNodeId=\"i=12746\" DataType=\"i=296\" ValueRank=\"1\" ArrayDimensions=\"0\">\n    <DisplayName>InputArguments</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=12746</Reference>\n    </References>\n    <Value>\n      <ListOfExtensionObject xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=297</Identifier>\n          </TypeId>\n          <Body>\n            <Argument>\n              <Name>SubscriptionId</Name>\n              <DataType>\n                <Identifier>i=7</Identifier>\n              </DataType>\n              <ValueRank>-1</ValueRank>\n              <ArrayDimensions />\n            </Argument>\n          </Body>\n        </ExtensionObject>\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=297</Identifier>\n          </TypeId>\n          <Body>\n            <Argument>\n              <Name>LifetimeInHours</Name>\n              <DataType>\n                <Identifier>i=7</Identifier>\n              </DataType>\n              <ValueRank>-1</ValueRank>\n              <ArrayDimensions />\n            </Argument>\n          </Body>\n        </ExtensionObject>\n      </ListOfExtensionObject>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"i=12748\" BrowseName=\"OutputArguments\" ParentNodeId=\"i=12746\" DataType=\"i=296\" ValueRank=\"1\" ArrayDimensions=\"0\">\n    <DisplayName>OutputArguments</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=12746</Reference>\n    </References>\n    <Value>\n      <ListOfExtensionObject xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=297</Identifier>\n          </TypeId>\n          <Body>\n            <Argument>\n              <Name>RevisedLifetimeInHours</Name>\n              <DataType>\n                <Identifier>i=7</Identifier>\n              </DataType>\n              <ValueRank>-1</ValueRank>\n              <ArrayDimensions />\n            </Argument>\n          </Body>\n        </ExtensionObject>\n      </ListOfExtensionObject>\n    </Value>\n  </UAVariable>\n  <UAMethod NodeId=\"i=12883\" BrowseName=\"RequestServerStateChange\" ParentNodeId=\"i=2004\">\n    <DisplayName>RequestServerStateChange</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=12884</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=80</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=2004</Reference>\n    </References>\n  </UAMethod>\n  <UAVariable NodeId=\"i=12884\" BrowseName=\"InputArguments\" ParentNodeId=\"i=12883\" DataType=\"i=296\" ValueRank=\"1\" ArrayDimensions=\"0\">\n    <DisplayName>InputArguments</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=12883</Reference>\n    </References>\n    <Value>\n      <ListOfExtensionObject xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=297</Identifier>\n          </TypeId>\n          <Body>\n            <Argument>\n              <Name>State</Name>\n              <DataType>\n                <Identifier>i=852</Identifier>\n              </DataType>\n              <ValueRank>-1</ValueRank>\n              <ArrayDimensions />\n            </Argument>\n          </Body>\n        </ExtensionObject>\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=297</Identifier>\n          </TypeId>\n          <Body>\n            <Argument>\n              <Name>EstimatedReturnTime</Name>\n              <DataType>\n                <Identifier>i=13</Identifier>\n              </DataType>\n              <ValueRank>-1</ValueRank>\n              <ArrayDimensions />\n            </Argument>\n          </Body>\n        </ExtensionObject>\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=297</Identifier>\n          </TypeId>\n          <Body>\n            <Argument>\n              <Name>SecondsTillShutdown</Name>\n              <DataType>\n                <Identifier>i=7</Identifier>\n              </DataType>\n              <ValueRank>-1</ValueRank>\n              <ArrayDimensions />\n            </Argument>\n          </Body>\n        </ExtensionObject>\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=297</Identifier>\n          </TypeId>\n          <Body>\n            <Argument>\n              <Name>Reason</Name>\n              <DataType>\n                <Identifier>i=21</Identifier>\n              </DataType>\n              <ValueRank>-1</ValueRank>\n              <ArrayDimensions />\n            </Argument>\n          </Body>\n        </ExtensionObject>\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=297</Identifier>\n          </TypeId>\n          <Body>\n            <Argument>\n              <Name>Restart</Name>\n              <DataType>\n                <Identifier>i=1</Identifier>\n              </DataType>\n              <ValueRank>-1</ValueRank>\n              <ArrayDimensions />\n            </Argument>\n          </Body>\n        </ExtensionObject>\n      </ListOfExtensionObject>\n    </Value>\n  </UAVariable>\n  <UAObjectType NodeId=\"i=2013\" BrowseName=\"ServerCapabilitiesType\">\n    <DisplayName>ServerCapabilitiesType</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=2014</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=2016</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=2017</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=2732</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=2733</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=2734</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=3049</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=11549</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=11550</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=12910</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=11551</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=2019</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=2754</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=11562</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=16295</Reference>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=58</Reference>\n    </References>\n  </UAObjectType>\n  <UAVariable NodeId=\"i=2014\" BrowseName=\"ServerProfileArray\" ParentNodeId=\"i=2013\" DataType=\"String\" ValueRank=\"1\" ArrayDimensions=\"0\">\n    <DisplayName>ServerProfileArray</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=2013</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=2016\" BrowseName=\"LocaleIdArray\" ParentNodeId=\"i=2013\" DataType=\"i=295\" ValueRank=\"1\" ArrayDimensions=\"0\">\n    <DisplayName>LocaleIdArray</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=2013</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=2017\" BrowseName=\"MinSupportedSampleRate\" ParentNodeId=\"i=2013\" DataType=\"i=290\">\n    <DisplayName>MinSupportedSampleRate</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=2013</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=2732\" BrowseName=\"MaxBrowseContinuationPoints\" ParentNodeId=\"i=2013\" DataType=\"UInt16\">\n    <DisplayName>MaxBrowseContinuationPoints</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=2013</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=2733\" BrowseName=\"MaxQueryContinuationPoints\" ParentNodeId=\"i=2013\" DataType=\"UInt16\">\n    <DisplayName>MaxQueryContinuationPoints</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=2013</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=2734\" BrowseName=\"MaxHistoryContinuationPoints\" ParentNodeId=\"i=2013\" DataType=\"UInt16\">\n    <DisplayName>MaxHistoryContinuationPoints</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=2013</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=3049\" BrowseName=\"SoftwareCertificates\" ParentNodeId=\"i=2013\" DataType=\"i=344\" ValueRank=\"1\" ArrayDimensions=\"0\">\n    <DisplayName>SoftwareCertificates</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=2013</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=11549\" BrowseName=\"MaxArrayLength\" ParentNodeId=\"i=2013\" DataType=\"UInt32\">\n    <DisplayName>MaxArrayLength</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=80</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=2013</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=11550\" BrowseName=\"MaxStringLength\" ParentNodeId=\"i=2013\" DataType=\"UInt32\">\n    <DisplayName>MaxStringLength</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=80</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=2013</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=12910\" BrowseName=\"MaxByteStringLength\" ParentNodeId=\"i=2013\" DataType=\"UInt32\">\n    <DisplayName>MaxByteStringLength</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=80</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=2013</Reference>\n    </References>\n  </UAVariable>\n  <UAObject NodeId=\"i=11551\" BrowseName=\"OperationLimits\" ParentNodeId=\"i=2013\">\n    <DisplayName>OperationLimits</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=11564</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=80</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=2013</Reference>\n    </References>\n  </UAObject>\n  <UAObject NodeId=\"i=2019\" BrowseName=\"ModellingRules\" ParentNodeId=\"i=2013\">\n    <DisplayName>ModellingRules</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=61</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=2013</Reference>\n    </References>\n  </UAObject>\n  <UAObject NodeId=\"i=2754\" BrowseName=\"AggregateFunctions\" ParentNodeId=\"i=2013\">\n    <DisplayName>AggregateFunctions</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=61</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=2013</Reference>\n    </References>\n  </UAObject>\n  <UAVariable NodeId=\"i=11562\" BrowseName=\"&lt;VendorCapability&gt;\" SymbolicName=\"VendorCapability_Placeholder\" ParentNodeId=\"i=2013\">\n    <DisplayName>&lt;VendorCapability&gt;</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=2137</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=11508</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=2013</Reference>\n    </References>\n  </UAVariable>\n  <UAObject NodeId=\"i=16295\" BrowseName=\"RoleSet\" ParentNodeId=\"i=2013\">\n    <DisplayName>RoleSet</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasComponent\">i=16296</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=16299</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=15607</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=80</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=2013</Reference>\n    </References>\n  </UAObject>\n  <UAMethod NodeId=\"i=16296\" BrowseName=\"AddRole\" ParentNodeId=\"i=16295\" MethodDeclarationId=\"i=15997\">\n    <DisplayName>AddRole</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=16297</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=16298</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=16295</Reference>\n    </References>\n  </UAMethod>\n  <UAVariable NodeId=\"i=16297\" BrowseName=\"InputArguments\" ParentNodeId=\"i=16296\" DataType=\"i=296\" ValueRank=\"1\" ArrayDimensions=\"0\">\n    <DisplayName>InputArguments</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=16296</Reference>\n    </References>\n    <Value>\n      <ListOfExtensionObject xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=297</Identifier>\n          </TypeId>\n          <Body>\n            <Argument>\n              <Name>RoleName</Name>\n              <DataType>\n                <Identifier>i=12</Identifier>\n              </DataType>\n              <ValueRank>-1</ValueRank>\n              <ArrayDimensions />\n            </Argument>\n          </Body>\n        </ExtensionObject>\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=297</Identifier>\n          </TypeId>\n          <Body>\n            <Argument>\n              <Name>NamespaceUri</Name>\n              <DataType>\n                <Identifier>i=12</Identifier>\n              </DataType>\n              <ValueRank>-1</ValueRank>\n              <ArrayDimensions />\n            </Argument>\n          </Body>\n        </ExtensionObject>\n      </ListOfExtensionObject>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"i=16298\" BrowseName=\"OutputArguments\" ParentNodeId=\"i=16296\" DataType=\"i=296\" ValueRank=\"1\" ArrayDimensions=\"0\">\n    <DisplayName>OutputArguments</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=16296</Reference>\n    </References>\n    <Value>\n      <ListOfExtensionObject xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=297</Identifier>\n          </TypeId>\n          <Body>\n            <Argument>\n              <Name>RoleNodeId</Name>\n              <DataType>\n                <Identifier>i=17</Identifier>\n              </DataType>\n              <ValueRank>-1</ValueRank>\n              <ArrayDimensions />\n            </Argument>\n          </Body>\n        </ExtensionObject>\n      </ListOfExtensionObject>\n    </Value>\n  </UAVariable>\n  <UAMethod NodeId=\"i=16299\" BrowseName=\"RemoveRole\" ParentNodeId=\"i=16295\" MethodDeclarationId=\"i=16000\">\n    <DisplayName>RemoveRole</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=16300</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=16295</Reference>\n    </References>\n  </UAMethod>\n  <UAVariable NodeId=\"i=16300\" BrowseName=\"InputArguments\" ParentNodeId=\"i=16299\" DataType=\"i=296\" ValueRank=\"1\" ArrayDimensions=\"0\">\n    <DisplayName>InputArguments</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=16299</Reference>\n    </References>\n    <Value>\n      <ListOfExtensionObject xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=297</Identifier>\n          </TypeId>\n          <Body>\n            <Argument>\n              <Name>RoleNodeId</Name>\n              <DataType>\n                <Identifier>i=17</Identifier>\n              </DataType>\n              <ValueRank>-1</ValueRank>\n              <ArrayDimensions />\n            </Argument>\n          </Body>\n        </ExtensionObject>\n      </ListOfExtensionObject>\n    </Value>\n  </UAVariable>\n  <UAObjectType NodeId=\"i=2020\" BrowseName=\"ServerDiagnosticsType\">\n    <DisplayName>ServerDiagnosticsType</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasComponent\">i=2021</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=2022</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=2023</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=2744</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=2025</Reference>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=58</Reference>\n    </References>\n  </UAObjectType>\n  <UAVariable NodeId=\"i=2021\" BrowseName=\"ServerDiagnosticsSummary\" ParentNodeId=\"i=2020\" DataType=\"i=859\">\n    <DisplayName>ServerDiagnosticsSummary</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasComponent\">i=3116</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=3117</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=3118</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=3119</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=3120</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=3121</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=3122</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=3124</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=3125</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=3126</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=3127</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=3128</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=2150</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=2020</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=3116\" BrowseName=\"ServerViewCount\" ParentNodeId=\"i=2021\" DataType=\"UInt32\">\n    <DisplayName>ServerViewCount</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=63</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=2021</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=3117\" BrowseName=\"CurrentSessionCount\" ParentNodeId=\"i=2021\" DataType=\"UInt32\">\n    <DisplayName>CurrentSessionCount</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=63</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=2021</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=3118\" BrowseName=\"CumulatedSessionCount\" ParentNodeId=\"i=2021\" DataType=\"UInt32\">\n    <DisplayName>CumulatedSessionCount</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=63</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=2021</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=3119\" BrowseName=\"SecurityRejectedSessionCount\" ParentNodeId=\"i=2021\" DataType=\"UInt32\">\n    <DisplayName>SecurityRejectedSessionCount</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=63</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=2021</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=3120\" BrowseName=\"RejectedSessionCount\" ParentNodeId=\"i=2021\" DataType=\"UInt32\">\n    <DisplayName>RejectedSessionCount</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=63</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=2021</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=3121\" BrowseName=\"SessionTimeoutCount\" ParentNodeId=\"i=2021\" DataType=\"UInt32\">\n    <DisplayName>SessionTimeoutCount</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=63</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=2021</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=3122\" BrowseName=\"SessionAbortCount\" ParentNodeId=\"i=2021\" DataType=\"UInt32\">\n    <DisplayName>SessionAbortCount</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=63</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=2021</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=3124\" BrowseName=\"PublishingIntervalCount\" ParentNodeId=\"i=2021\" DataType=\"UInt32\">\n    <DisplayName>PublishingIntervalCount</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=63</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=2021</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=3125\" BrowseName=\"CurrentSubscriptionCount\" ParentNodeId=\"i=2021\" DataType=\"UInt32\">\n    <DisplayName>CurrentSubscriptionCount</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=63</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=2021</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=3126\" BrowseName=\"CumulatedSubscriptionCount\" ParentNodeId=\"i=2021\" DataType=\"UInt32\">\n    <DisplayName>CumulatedSubscriptionCount</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=63</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=2021</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=3127\" BrowseName=\"SecurityRejectedRequestsCount\" ParentNodeId=\"i=2021\" DataType=\"UInt32\">\n    <DisplayName>SecurityRejectedRequestsCount</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=63</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=2021</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=3128\" BrowseName=\"RejectedRequestsCount\" ParentNodeId=\"i=2021\" DataType=\"UInt32\">\n    <DisplayName>RejectedRequestsCount</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=63</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=2021</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=2022\" BrowseName=\"SamplingIntervalDiagnosticsArray\" ParentNodeId=\"i=2020\" DataType=\"i=856\" ValueRank=\"1\" ArrayDimensions=\"0\">\n    <DisplayName>SamplingIntervalDiagnosticsArray</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=2164</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=80</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=2020</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=2023\" BrowseName=\"SubscriptionDiagnosticsArray\" ParentNodeId=\"i=2020\" DataType=\"i=874\" ValueRank=\"1\" ArrayDimensions=\"0\">\n    <DisplayName>SubscriptionDiagnosticsArray</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=2171</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=2020</Reference>\n    </References>\n  </UAVariable>\n  <UAObject NodeId=\"i=2744\" BrowseName=\"SessionsDiagnosticsSummary\" ParentNodeId=\"i=2020\">\n    <DisplayName>SessionsDiagnosticsSummary</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasComponent\">i=3129</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=3130</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=2026</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=2020</Reference>\n    </References>\n  </UAObject>\n  <UAVariable NodeId=\"i=3129\" BrowseName=\"SessionDiagnosticsArray\" ParentNodeId=\"i=2744\" DataType=\"i=865\" ValueRank=\"1\" ArrayDimensions=\"0\">\n    <DisplayName>SessionDiagnosticsArray</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=2196</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=2744</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=3130\" BrowseName=\"SessionSecurityDiagnosticsArray\" ParentNodeId=\"i=2744\" DataType=\"i=868\" ValueRank=\"1\" ArrayDimensions=\"0\">\n    <DisplayName>SessionSecurityDiagnosticsArray</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=2243</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=2744</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=2025\" BrowseName=\"EnabledFlag\" ParentNodeId=\"i=2020\" DataType=\"Boolean\" AccessLevel=\"3\">\n    <DisplayName>EnabledFlag</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=2020</Reference>\n    </References>\n  </UAVariable>\n  <UAObjectType NodeId=\"i=2026\" BrowseName=\"SessionsDiagnosticsSummaryType\">\n    <DisplayName>SessionsDiagnosticsSummaryType</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasComponent\">i=2027</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=2028</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=12097</Reference>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=58</Reference>\n    </References>\n  </UAObjectType>\n  <UAVariable NodeId=\"i=2027\" BrowseName=\"SessionDiagnosticsArray\" ParentNodeId=\"i=2026\" DataType=\"i=865\" ValueRank=\"1\" ArrayDimensions=\"0\">\n    <DisplayName>SessionDiagnosticsArray</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=2196</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=2026</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=2028\" BrowseName=\"SessionSecurityDiagnosticsArray\" ParentNodeId=\"i=2026\" DataType=\"i=868\" ValueRank=\"1\" ArrayDimensions=\"0\">\n    <DisplayName>SessionSecurityDiagnosticsArray</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=2243</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=2026</Reference>\n    </References>\n  </UAVariable>\n  <UAObject NodeId=\"i=12097\" BrowseName=\"&lt;ClientName&gt;\" SymbolicName=\"ClientName_Placeholder\" ParentNodeId=\"i=2026\">\n    <DisplayName>&lt;ClientName&gt;</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasComponent\">i=12098</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=12142</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=12152</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=2029</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=11508</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=2026</Reference>\n    </References>\n  </UAObject>\n  <UAVariable NodeId=\"i=12098\" BrowseName=\"SessionDiagnostics\" ParentNodeId=\"i=12097\" DataType=\"i=865\">\n    <DisplayName>SessionDiagnostics</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasComponent\">i=12099</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=12100</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=12101</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=12102</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=12103</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=12104</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=12105</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=12106</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=12107</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=12108</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=12109</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=12110</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=12111</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=12112</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=12113</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=12114</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=12115</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=12116</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=12117</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=12118</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=12119</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=12120</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=12121</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=12122</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=12123</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=12124</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=12125</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=12126</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=12127</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=12128</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=12129</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=12130</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=12131</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=12132</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=12133</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=12134</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=12135</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=12136</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=12137</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=12138</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=12139</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=12140</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=12141</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=2197</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=12097</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=12099\" BrowseName=\"SessionId\" ParentNodeId=\"i=12098\" DataType=\"NodeId\">\n    <DisplayName>SessionId</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=63</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=12098</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=12100\" BrowseName=\"SessionName\" ParentNodeId=\"i=12098\" DataType=\"String\">\n    <DisplayName>SessionName</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=63</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=12098</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=12101\" BrowseName=\"ClientDescription\" ParentNodeId=\"i=12098\" DataType=\"i=308\">\n    <DisplayName>ClientDescription</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=63</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=12098</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=12102\" BrowseName=\"ServerUri\" ParentNodeId=\"i=12098\" DataType=\"String\">\n    <DisplayName>ServerUri</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=63</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=12098</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=12103\" BrowseName=\"EndpointUrl\" ParentNodeId=\"i=12098\" DataType=\"String\">\n    <DisplayName>EndpointUrl</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=63</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=12098</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=12104\" BrowseName=\"LocaleIds\" ParentNodeId=\"i=12098\" DataType=\"i=295\" ValueRank=\"1\" ArrayDimensions=\"0\">\n    <DisplayName>LocaleIds</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=63</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=12098</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=12105\" BrowseName=\"ActualSessionTimeout\" ParentNodeId=\"i=12098\" DataType=\"i=290\">\n    <DisplayName>ActualSessionTimeout</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=63</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=12098</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=12106\" BrowseName=\"MaxResponseMessageSize\" ParentNodeId=\"i=12098\" DataType=\"UInt32\">\n    <DisplayName>MaxResponseMessageSize</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=63</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=12098</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=12107\" BrowseName=\"ClientConnectionTime\" ParentNodeId=\"i=12098\" DataType=\"i=294\">\n    <DisplayName>ClientConnectionTime</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=63</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=12098</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=12108\" BrowseName=\"ClientLastContactTime\" ParentNodeId=\"i=12098\" DataType=\"i=294\">\n    <DisplayName>ClientLastContactTime</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=63</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=12098</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=12109\" BrowseName=\"CurrentSubscriptionsCount\" ParentNodeId=\"i=12098\" DataType=\"UInt32\">\n    <DisplayName>CurrentSubscriptionsCount</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=63</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=12098</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=12110\" BrowseName=\"CurrentMonitoredItemsCount\" ParentNodeId=\"i=12098\" DataType=\"UInt32\">\n    <DisplayName>CurrentMonitoredItemsCount</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=63</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=12098</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=12111\" BrowseName=\"CurrentPublishRequestsInQueue\" ParentNodeId=\"i=12098\" DataType=\"UInt32\">\n    <DisplayName>CurrentPublishRequestsInQueue</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=63</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=12098</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=12112\" BrowseName=\"TotalRequestCount\" ParentNodeId=\"i=12098\" DataType=\"i=871\">\n    <DisplayName>TotalRequestCount</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=63</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=12098</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=12113\" BrowseName=\"UnauthorizedRequestCount\" ParentNodeId=\"i=12098\" DataType=\"UInt32\">\n    <DisplayName>UnauthorizedRequestCount</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=63</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=12098</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=12114\" BrowseName=\"ReadCount\" ParentNodeId=\"i=12098\" DataType=\"i=871\">\n    <DisplayName>ReadCount</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=63</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=12098</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=12115\" BrowseName=\"HistoryReadCount\" ParentNodeId=\"i=12098\" DataType=\"i=871\">\n    <DisplayName>HistoryReadCount</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=63</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=12098</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=12116\" BrowseName=\"WriteCount\" ParentNodeId=\"i=12098\" DataType=\"i=871\">\n    <DisplayName>WriteCount</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=63</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=12098</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=12117\" BrowseName=\"HistoryUpdateCount\" ParentNodeId=\"i=12098\" DataType=\"i=871\">\n    <DisplayName>HistoryUpdateCount</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=63</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=12098</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=12118\" BrowseName=\"CallCount\" ParentNodeId=\"i=12098\" DataType=\"i=871\">\n    <DisplayName>CallCount</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=63</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=12098</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=12119\" BrowseName=\"CreateMonitoredItemsCount\" ParentNodeId=\"i=12098\" DataType=\"i=871\">\n    <DisplayName>CreateMonitoredItemsCount</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=63</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=12098</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=12120\" BrowseName=\"ModifyMonitoredItemsCount\" ParentNodeId=\"i=12098\" DataType=\"i=871\">\n    <DisplayName>ModifyMonitoredItemsCount</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=63</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=12098</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=12121\" BrowseName=\"SetMonitoringModeCount\" ParentNodeId=\"i=12098\" DataType=\"i=871\">\n    <DisplayName>SetMonitoringModeCount</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=63</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=12098</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=12122\" BrowseName=\"SetTriggeringCount\" ParentNodeId=\"i=12098\" DataType=\"i=871\">\n    <DisplayName>SetTriggeringCount</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=63</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=12098</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=12123\" BrowseName=\"DeleteMonitoredItemsCount\" ParentNodeId=\"i=12098\" DataType=\"i=871\">\n    <DisplayName>DeleteMonitoredItemsCount</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=63</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=12098</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=12124\" BrowseName=\"CreateSubscriptionCount\" ParentNodeId=\"i=12098\" DataType=\"i=871\">\n    <DisplayName>CreateSubscriptionCount</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=63</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=12098</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=12125\" BrowseName=\"ModifySubscriptionCount\" ParentNodeId=\"i=12098\" DataType=\"i=871\">\n    <DisplayName>ModifySubscriptionCount</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=63</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=12098</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=12126\" BrowseName=\"SetPublishingModeCount\" ParentNodeId=\"i=12098\" DataType=\"i=871\">\n    <DisplayName>SetPublishingModeCount</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=63</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=12098</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=12127\" BrowseName=\"PublishCount\" ParentNodeId=\"i=12098\" DataType=\"i=871\">\n    <DisplayName>PublishCount</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=63</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=12098</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=12128\" BrowseName=\"RepublishCount\" ParentNodeId=\"i=12098\" DataType=\"i=871\">\n    <DisplayName>RepublishCount</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=63</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=12098</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=12129\" BrowseName=\"TransferSubscriptionsCount\" ParentNodeId=\"i=12098\" DataType=\"i=871\">\n    <DisplayName>TransferSubscriptionsCount</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=63</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=12098</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=12130\" BrowseName=\"DeleteSubscriptionsCount\" ParentNodeId=\"i=12098\" DataType=\"i=871\">\n    <DisplayName>DeleteSubscriptionsCount</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=63</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=12098</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=12131\" BrowseName=\"AddNodesCount\" ParentNodeId=\"i=12098\" DataType=\"i=871\">\n    <DisplayName>AddNodesCount</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=63</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=12098</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=12132\" BrowseName=\"AddReferencesCount\" ParentNodeId=\"i=12098\" DataType=\"i=871\">\n    <DisplayName>AddReferencesCount</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=63</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=12098</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=12133\" BrowseName=\"DeleteNodesCount\" ParentNodeId=\"i=12098\" DataType=\"i=871\">\n    <DisplayName>DeleteNodesCount</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=63</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=12098</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=12134\" BrowseName=\"DeleteReferencesCount\" ParentNodeId=\"i=12098\" DataType=\"i=871\">\n    <DisplayName>DeleteReferencesCount</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=63</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=12098</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=12135\" BrowseName=\"BrowseCount\" ParentNodeId=\"i=12098\" DataType=\"i=871\">\n    <DisplayName>BrowseCount</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=63</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=12098</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=12136\" BrowseName=\"BrowseNextCount\" ParentNodeId=\"i=12098\" DataType=\"i=871\">\n    <DisplayName>BrowseNextCount</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=63</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=12098</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=12137\" BrowseName=\"TranslateBrowsePathsToNodeIdsCount\" ParentNodeId=\"i=12098\" DataType=\"i=871\">\n    <DisplayName>TranslateBrowsePathsToNodeIdsCount</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=63</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=12098</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=12138\" BrowseName=\"QueryFirstCount\" ParentNodeId=\"i=12098\" DataType=\"i=871\">\n    <DisplayName>QueryFirstCount</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=63</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=12098</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=12139\" BrowseName=\"QueryNextCount\" ParentNodeId=\"i=12098\" DataType=\"i=871\">\n    <DisplayName>QueryNextCount</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=63</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=12098</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=12140\" BrowseName=\"RegisterNodesCount\" ParentNodeId=\"i=12098\" DataType=\"i=871\">\n    <DisplayName>RegisterNodesCount</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=63</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=12098</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=12141\" BrowseName=\"UnregisterNodesCount\" ParentNodeId=\"i=12098\" DataType=\"i=871\">\n    <DisplayName>UnregisterNodesCount</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=63</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=12098</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=12142\" BrowseName=\"SessionSecurityDiagnostics\" ParentNodeId=\"i=12097\" DataType=\"i=868\">\n    <DisplayName>SessionSecurityDiagnostics</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasComponent\">i=12143</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=12144</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=12145</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=12146</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=12147</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=12148</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=12149</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=12150</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=12151</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=2244</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=12097</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=12143\" BrowseName=\"SessionId\" ParentNodeId=\"i=12142\" DataType=\"NodeId\">\n    <DisplayName>SessionId</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=63</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=12142</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=12144\" BrowseName=\"ClientUserIdOfSession\" ParentNodeId=\"i=12142\" DataType=\"String\">\n    <DisplayName>ClientUserIdOfSession</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=63</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=12142</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=12145\" BrowseName=\"ClientUserIdHistory\" ParentNodeId=\"i=12142\" DataType=\"String\" ValueRank=\"1\" ArrayDimensions=\"0\">\n    <DisplayName>ClientUserIdHistory</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=63</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=12142</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=12146\" BrowseName=\"AuthenticationMechanism\" ParentNodeId=\"i=12142\" DataType=\"String\">\n    <DisplayName>AuthenticationMechanism</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=63</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=12142</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=12147\" BrowseName=\"Encoding\" ParentNodeId=\"i=12142\" DataType=\"String\">\n    <DisplayName>Encoding</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=63</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=12142</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=12148\" BrowseName=\"TransportProtocol\" ParentNodeId=\"i=12142\" DataType=\"String\">\n    <DisplayName>TransportProtocol</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=63</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=12142</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=12149\" BrowseName=\"SecurityMode\" ParentNodeId=\"i=12142\" DataType=\"i=302\">\n    <DisplayName>SecurityMode</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=63</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=12142</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=12150\" BrowseName=\"SecurityPolicyUri\" ParentNodeId=\"i=12142\" DataType=\"String\">\n    <DisplayName>SecurityPolicyUri</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=63</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=12142</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=12151\" BrowseName=\"ClientCertificate\" ParentNodeId=\"i=12142\" DataType=\"ByteString\">\n    <DisplayName>ClientCertificate</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=63</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=12142</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=12152\" BrowseName=\"SubscriptionDiagnosticsArray\" ParentNodeId=\"i=12097\" DataType=\"i=874\" ValueRank=\"1\" ArrayDimensions=\"0\">\n    <DisplayName>SubscriptionDiagnosticsArray</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=2171</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=12097</Reference>\n    </References>\n  </UAVariable>\n  <UAObjectType NodeId=\"i=2029\" BrowseName=\"SessionDiagnosticsObjectType\">\n    <DisplayName>SessionDiagnosticsObjectType</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasComponent\">i=2030</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=2031</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=2032</Reference>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=58</Reference>\n    </References>\n  </UAObjectType>\n  <UAVariable NodeId=\"i=2030\" BrowseName=\"SessionDiagnostics\" ParentNodeId=\"i=2029\" DataType=\"i=865\">\n    <DisplayName>SessionDiagnostics</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasComponent\">i=3131</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=3132</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=3133</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=3134</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=3135</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=3136</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=3137</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=3138</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=3139</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=3140</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=3141</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=3142</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=3143</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=8898</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=11891</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=3151</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=3152</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=3153</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=3154</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=3155</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=3156</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=3157</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=3158</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=3159</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=3160</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=3161</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=3162</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=3163</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=3164</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=3165</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=3166</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=3167</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=3168</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=3169</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=3170</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=3171</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=3172</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=3173</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=3174</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=3175</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=3176</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=3177</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=3178</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=2197</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=2029</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=3131\" BrowseName=\"SessionId\" ParentNodeId=\"i=2030\" DataType=\"NodeId\">\n    <DisplayName>SessionId</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=63</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=2030</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=3132\" BrowseName=\"SessionName\" ParentNodeId=\"i=2030\" DataType=\"String\">\n    <DisplayName>SessionName</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=63</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=2030</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=3133\" BrowseName=\"ClientDescription\" ParentNodeId=\"i=2030\" DataType=\"i=308\">\n    <DisplayName>ClientDescription</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=63</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=2030</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=3134\" BrowseName=\"ServerUri\" ParentNodeId=\"i=2030\" DataType=\"String\">\n    <DisplayName>ServerUri</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=63</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=2030</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=3135\" BrowseName=\"EndpointUrl\" ParentNodeId=\"i=2030\" DataType=\"String\">\n    <DisplayName>EndpointUrl</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=63</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=2030</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=3136\" BrowseName=\"LocaleIds\" ParentNodeId=\"i=2030\" DataType=\"i=295\" ValueRank=\"1\" ArrayDimensions=\"0\">\n    <DisplayName>LocaleIds</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=63</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=2030</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=3137\" BrowseName=\"ActualSessionTimeout\" ParentNodeId=\"i=2030\" DataType=\"i=290\">\n    <DisplayName>ActualSessionTimeout</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=63</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=2030</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=3138\" BrowseName=\"MaxResponseMessageSize\" ParentNodeId=\"i=2030\" DataType=\"UInt32\">\n    <DisplayName>MaxResponseMessageSize</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=63</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=2030</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=3139\" BrowseName=\"ClientConnectionTime\" ParentNodeId=\"i=2030\" DataType=\"i=294\">\n    <DisplayName>ClientConnectionTime</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=63</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=2030</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=3140\" BrowseName=\"ClientLastContactTime\" ParentNodeId=\"i=2030\" DataType=\"i=294\">\n    <DisplayName>ClientLastContactTime</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=63</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=2030</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=3141\" BrowseName=\"CurrentSubscriptionsCount\" ParentNodeId=\"i=2030\" DataType=\"UInt32\">\n    <DisplayName>CurrentSubscriptionsCount</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=63</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=2030</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=3142\" BrowseName=\"CurrentMonitoredItemsCount\" ParentNodeId=\"i=2030\" DataType=\"UInt32\">\n    <DisplayName>CurrentMonitoredItemsCount</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=63</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=2030</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=3143\" BrowseName=\"CurrentPublishRequestsInQueue\" ParentNodeId=\"i=2030\" DataType=\"UInt32\">\n    <DisplayName>CurrentPublishRequestsInQueue</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=63</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=2030</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=8898\" BrowseName=\"TotalRequestCount\" ParentNodeId=\"i=2030\" DataType=\"i=871\">\n    <DisplayName>TotalRequestCount</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=63</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=2030</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=11891\" BrowseName=\"UnauthorizedRequestCount\" ParentNodeId=\"i=2030\" DataType=\"UInt32\">\n    <DisplayName>UnauthorizedRequestCount</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=63</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=2030</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=3151\" BrowseName=\"ReadCount\" ParentNodeId=\"i=2030\" DataType=\"i=871\">\n    <DisplayName>ReadCount</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=63</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=2030</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=3152\" BrowseName=\"HistoryReadCount\" ParentNodeId=\"i=2030\" DataType=\"i=871\">\n    <DisplayName>HistoryReadCount</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=63</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=2030</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=3153\" BrowseName=\"WriteCount\" ParentNodeId=\"i=2030\" DataType=\"i=871\">\n    <DisplayName>WriteCount</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=63</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=2030</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=3154\" BrowseName=\"HistoryUpdateCount\" ParentNodeId=\"i=2030\" DataType=\"i=871\">\n    <DisplayName>HistoryUpdateCount</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=63</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=2030</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=3155\" BrowseName=\"CallCount\" ParentNodeId=\"i=2030\" DataType=\"i=871\">\n    <DisplayName>CallCount</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=63</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=2030</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=3156\" BrowseName=\"CreateMonitoredItemsCount\" ParentNodeId=\"i=2030\" DataType=\"i=871\">\n    <DisplayName>CreateMonitoredItemsCount</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=63</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=2030</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=3157\" BrowseName=\"ModifyMonitoredItemsCount\" ParentNodeId=\"i=2030\" DataType=\"i=871\">\n    <DisplayName>ModifyMonitoredItemsCount</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=63</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=2030</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=3158\" BrowseName=\"SetMonitoringModeCount\" ParentNodeId=\"i=2030\" DataType=\"i=871\">\n    <DisplayName>SetMonitoringModeCount</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=63</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=2030</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=3159\" BrowseName=\"SetTriggeringCount\" ParentNodeId=\"i=2030\" DataType=\"i=871\">\n    <DisplayName>SetTriggeringCount</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=63</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=2030</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=3160\" BrowseName=\"DeleteMonitoredItemsCount\" ParentNodeId=\"i=2030\" DataType=\"i=871\">\n    <DisplayName>DeleteMonitoredItemsCount</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=63</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=2030</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=3161\" BrowseName=\"CreateSubscriptionCount\" ParentNodeId=\"i=2030\" DataType=\"i=871\">\n    <DisplayName>CreateSubscriptionCount</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=63</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=2030</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=3162\" BrowseName=\"ModifySubscriptionCount\" ParentNodeId=\"i=2030\" DataType=\"i=871\">\n    <DisplayName>ModifySubscriptionCount</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=63</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=2030</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=3163\" BrowseName=\"SetPublishingModeCount\" ParentNodeId=\"i=2030\" DataType=\"i=871\">\n    <DisplayName>SetPublishingModeCount</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=63</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=2030</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=3164\" BrowseName=\"PublishCount\" ParentNodeId=\"i=2030\" DataType=\"i=871\">\n    <DisplayName>PublishCount</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=63</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=2030</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=3165\" BrowseName=\"RepublishCount\" ParentNodeId=\"i=2030\" DataType=\"i=871\">\n    <DisplayName>RepublishCount</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=63</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=2030</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=3166\" BrowseName=\"TransferSubscriptionsCount\" ParentNodeId=\"i=2030\" DataType=\"i=871\">\n    <DisplayName>TransferSubscriptionsCount</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=63</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=2030</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=3167\" BrowseName=\"DeleteSubscriptionsCount\" ParentNodeId=\"i=2030\" DataType=\"i=871\">\n    <DisplayName>DeleteSubscriptionsCount</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=63</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=2030</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=3168\" BrowseName=\"AddNodesCount\" ParentNodeId=\"i=2030\" DataType=\"i=871\">\n    <DisplayName>AddNodesCount</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=63</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=2030</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=3169\" BrowseName=\"AddReferencesCount\" ParentNodeId=\"i=2030\" DataType=\"i=871\">\n    <DisplayName>AddReferencesCount</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=63</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=2030</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=3170\" BrowseName=\"DeleteNodesCount\" ParentNodeId=\"i=2030\" DataType=\"i=871\">\n    <DisplayName>DeleteNodesCount</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=63</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=2030</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=3171\" BrowseName=\"DeleteReferencesCount\" ParentNodeId=\"i=2030\" DataType=\"i=871\">\n    <DisplayName>DeleteReferencesCount</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=63</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=2030</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=3172\" BrowseName=\"BrowseCount\" ParentNodeId=\"i=2030\" DataType=\"i=871\">\n    <DisplayName>BrowseCount</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=63</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=2030</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=3173\" BrowseName=\"BrowseNextCount\" ParentNodeId=\"i=2030\" DataType=\"i=871\">\n    <DisplayName>BrowseNextCount</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=63</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=2030</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=3174\" BrowseName=\"TranslateBrowsePathsToNodeIdsCount\" ParentNodeId=\"i=2030\" DataType=\"i=871\">\n    <DisplayName>TranslateBrowsePathsToNodeIdsCount</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=63</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=2030</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=3175\" BrowseName=\"QueryFirstCount\" ParentNodeId=\"i=2030\" DataType=\"i=871\">\n    <DisplayName>QueryFirstCount</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=63</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=2030</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=3176\" BrowseName=\"QueryNextCount\" ParentNodeId=\"i=2030\" DataType=\"i=871\">\n    <DisplayName>QueryNextCount</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=63</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=2030</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=3177\" BrowseName=\"RegisterNodesCount\" ParentNodeId=\"i=2030\" DataType=\"i=871\">\n    <DisplayName>RegisterNodesCount</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=63</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=2030</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=3178\" BrowseName=\"UnregisterNodesCount\" ParentNodeId=\"i=2030\" DataType=\"i=871\">\n    <DisplayName>UnregisterNodesCount</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=63</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=2030</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=2031\" BrowseName=\"SessionSecurityDiagnostics\" ParentNodeId=\"i=2029\" DataType=\"i=868\">\n    <DisplayName>SessionSecurityDiagnostics</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasComponent\">i=3179</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=3180</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=3181</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=3182</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=3183</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=3184</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=3185</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=3186</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=3187</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=2244</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=2029</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=3179\" BrowseName=\"SessionId\" ParentNodeId=\"i=2031\" DataType=\"NodeId\">\n    <DisplayName>SessionId</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=63</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=2031</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=3180\" BrowseName=\"ClientUserIdOfSession\" ParentNodeId=\"i=2031\" DataType=\"String\">\n    <DisplayName>ClientUserIdOfSession</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=63</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=2031</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=3181\" BrowseName=\"ClientUserIdHistory\" ParentNodeId=\"i=2031\" DataType=\"String\" ValueRank=\"1\" ArrayDimensions=\"0\">\n    <DisplayName>ClientUserIdHistory</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=63</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=2031</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=3182\" BrowseName=\"AuthenticationMechanism\" ParentNodeId=\"i=2031\" DataType=\"String\">\n    <DisplayName>AuthenticationMechanism</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=63</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=2031</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=3183\" BrowseName=\"Encoding\" ParentNodeId=\"i=2031\" DataType=\"String\">\n    <DisplayName>Encoding</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=63</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=2031</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=3184\" BrowseName=\"TransportProtocol\" ParentNodeId=\"i=2031\" DataType=\"String\">\n    <DisplayName>TransportProtocol</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=63</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=2031</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=3185\" BrowseName=\"SecurityMode\" ParentNodeId=\"i=2031\" DataType=\"i=302\">\n    <DisplayName>SecurityMode</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=63</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=2031</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=3186\" BrowseName=\"SecurityPolicyUri\" ParentNodeId=\"i=2031\" DataType=\"String\">\n    <DisplayName>SecurityPolicyUri</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=63</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=2031</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=3187\" BrowseName=\"ClientCertificate\" ParentNodeId=\"i=2031\" DataType=\"ByteString\">\n    <DisplayName>ClientCertificate</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=63</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=2031</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=2032\" BrowseName=\"SubscriptionDiagnosticsArray\" ParentNodeId=\"i=2029\" DataType=\"i=874\" ValueRank=\"1\" ArrayDimensions=\"0\">\n    <DisplayName>SubscriptionDiagnosticsArray</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=2171</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=2029</Reference>\n    </References>\n  </UAVariable>\n  <UAObjectType NodeId=\"i=2033\" BrowseName=\"VendorServerInfoType\">\n    <DisplayName>VendorServerInfoType</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=58</Reference>\n    </References>\n  </UAObjectType>\n  <UAObjectType NodeId=\"i=2034\" BrowseName=\"ServerRedundancyType\">\n    <DisplayName>ServerRedundancyType</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=2035</Reference>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=58</Reference>\n    </References>\n  </UAObjectType>\n  <UAVariable NodeId=\"i=2035\" BrowseName=\"RedundancySupport\" ParentNodeId=\"i=2034\" DataType=\"i=851\">\n    <DisplayName>RedundancySupport</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=2034</Reference>\n    </References>\n  </UAVariable>\n  <UAObjectType NodeId=\"i=2036\" BrowseName=\"TransparentRedundancyType\">\n    <DisplayName>TransparentRedundancyType</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=2037</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=2038</Reference>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=2034</Reference>\n    </References>\n  </UAObjectType>\n  <UAVariable NodeId=\"i=2037\" BrowseName=\"CurrentServerId\" ParentNodeId=\"i=2036\" DataType=\"String\">\n    <DisplayName>CurrentServerId</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=2036</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=2038\" BrowseName=\"RedundantServerArray\" ParentNodeId=\"i=2036\" DataType=\"i=853\" ValueRank=\"1\" ArrayDimensions=\"0\">\n    <DisplayName>RedundantServerArray</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=2036</Reference>\n    </References>\n  </UAVariable>\n  <UAObjectType NodeId=\"i=2039\" BrowseName=\"NonTransparentRedundancyType\">\n    <DisplayName>NonTransparentRedundancyType</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=2040</Reference>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=2034</Reference>\n    </References>\n  </UAObjectType>\n  <UAVariable NodeId=\"i=2040\" BrowseName=\"ServerUriArray\" ParentNodeId=\"i=2039\" DataType=\"String\" ValueRank=\"1\" ArrayDimensions=\"0\">\n    <DisplayName>ServerUriArray</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=2039</Reference>\n    </References>\n  </UAVariable>\n  <UAObjectType NodeId=\"i=11945\" BrowseName=\"NonTransparentNetworkRedundancyType\">\n    <DisplayName>NonTransparentNetworkRedundancyType</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=11948</Reference>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=2039</Reference>\n    </References>\n  </UAObjectType>\n  <UAVariable NodeId=\"i=11948\" BrowseName=\"ServerNetworkGroups\" ParentNodeId=\"i=11945\" DataType=\"i=11944\" ValueRank=\"1\" ArrayDimensions=\"0\">\n    <DisplayName>ServerNetworkGroups</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=11945</Reference>\n    </References>\n  </UAVariable>\n  <UAObjectType NodeId=\"i=11564\" BrowseName=\"OperationLimitsType\">\n    <DisplayName>OperationLimitsType</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=11565</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=12161</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=12162</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=11567</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=12163</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=12164</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=11569</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=11570</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=11571</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=11572</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=11573</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=11574</Reference>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=61</Reference>\n    </References>\n  </UAObjectType>\n  <UAVariable NodeId=\"i=11565\" BrowseName=\"MaxNodesPerRead\" ParentNodeId=\"i=11564\" DataType=\"UInt32\">\n    <DisplayName>MaxNodesPerRead</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=80</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=11564</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=12161\" BrowseName=\"MaxNodesPerHistoryReadData\" ParentNodeId=\"i=11564\" DataType=\"UInt32\">\n    <DisplayName>MaxNodesPerHistoryReadData</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=80</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=11564</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=12162\" BrowseName=\"MaxNodesPerHistoryReadEvents\" ParentNodeId=\"i=11564\" DataType=\"UInt32\">\n    <DisplayName>MaxNodesPerHistoryReadEvents</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=80</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=11564</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=11567\" BrowseName=\"MaxNodesPerWrite\" ParentNodeId=\"i=11564\" DataType=\"UInt32\">\n    <DisplayName>MaxNodesPerWrite</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=80</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=11564</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=12163\" BrowseName=\"MaxNodesPerHistoryUpdateData\" ParentNodeId=\"i=11564\" DataType=\"UInt32\">\n    <DisplayName>MaxNodesPerHistoryUpdateData</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=80</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=11564</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=12164\" BrowseName=\"MaxNodesPerHistoryUpdateEvents\" ParentNodeId=\"i=11564\" DataType=\"UInt32\">\n    <DisplayName>MaxNodesPerHistoryUpdateEvents</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=80</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=11564</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=11569\" BrowseName=\"MaxNodesPerMethodCall\" ParentNodeId=\"i=11564\" DataType=\"UInt32\">\n    <DisplayName>MaxNodesPerMethodCall</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=80</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=11564</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=11570\" BrowseName=\"MaxNodesPerBrowse\" ParentNodeId=\"i=11564\" DataType=\"UInt32\">\n    <DisplayName>MaxNodesPerBrowse</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=80</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=11564</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=11571\" BrowseName=\"MaxNodesPerRegisterNodes\" ParentNodeId=\"i=11564\" DataType=\"UInt32\">\n    <DisplayName>MaxNodesPerRegisterNodes</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=80</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=11564</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=11572\" BrowseName=\"MaxNodesPerTranslateBrowsePathsToNodeIds\" ParentNodeId=\"i=11564\" DataType=\"UInt32\">\n    <DisplayName>MaxNodesPerTranslateBrowsePathsToNodeIds</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=80</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=11564</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=11573\" BrowseName=\"MaxNodesPerNodeManagement\" ParentNodeId=\"i=11564\" DataType=\"UInt32\">\n    <DisplayName>MaxNodesPerNodeManagement</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=80</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=11564</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=11574\" BrowseName=\"MaxMonitoredItemsPerCall\" ParentNodeId=\"i=11564\" DataType=\"UInt32\">\n    <DisplayName>MaxMonitoredItemsPerCall</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=80</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=11564</Reference>\n    </References>\n  </UAVariable>\n  <UAObjectType NodeId=\"i=11575\" BrowseName=\"FileType\">\n    <DisplayName>FileType</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=11576</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=12686</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=12687</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=11579</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=13341</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=24244</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=11580</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=11583</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=11585</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=11588</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=11590</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=11593</Reference>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=58</Reference>\n    </References>\n  </UAObjectType>\n  <UAVariable NodeId=\"i=11576\" BrowseName=\"Size\" ParentNodeId=\"i=11575\" DataType=\"UInt64\">\n    <DisplayName>Size</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=11575</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=12686\" BrowseName=\"Writable\" ParentNodeId=\"i=11575\" DataType=\"Boolean\">\n    <DisplayName>Writable</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=11575</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=12687\" BrowseName=\"UserWritable\" ParentNodeId=\"i=11575\" DataType=\"Boolean\">\n    <DisplayName>UserWritable</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=11575</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=11579\" BrowseName=\"OpenCount\" ParentNodeId=\"i=11575\" DataType=\"UInt16\">\n    <DisplayName>OpenCount</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=11575</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=13341\" BrowseName=\"MimeType\" ParentNodeId=\"i=11575\" DataType=\"String\">\n    <DisplayName>MimeType</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=80</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=11575</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=24244\" BrowseName=\"MaxByteStringLength\" ParentNodeId=\"i=11575\" DataType=\"UInt32\">\n    <DisplayName>MaxByteStringLength</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=80</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=11575</Reference>\n    </References>\n  </UAVariable>\n  <UAMethod NodeId=\"i=11580\" BrowseName=\"Open\" ParentNodeId=\"i=11575\">\n    <DisplayName>Open</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=11581</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=11582</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=11575</Reference>\n    </References>\n  </UAMethod>\n  <UAVariable NodeId=\"i=11581\" BrowseName=\"InputArguments\" ParentNodeId=\"i=11580\" DataType=\"i=296\" ValueRank=\"1\" ArrayDimensions=\"0\">\n    <DisplayName>InputArguments</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=11580</Reference>\n    </References>\n    <Value>\n      <ListOfExtensionObject xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=297</Identifier>\n          </TypeId>\n          <Body>\n            <Argument>\n              <Name>Mode</Name>\n              <DataType>\n                <Identifier>i=3</Identifier>\n              </DataType>\n              <ValueRank>-1</ValueRank>\n              <ArrayDimensions />\n            </Argument>\n          </Body>\n        </ExtensionObject>\n      </ListOfExtensionObject>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"i=11582\" BrowseName=\"OutputArguments\" ParentNodeId=\"i=11580\" DataType=\"i=296\" ValueRank=\"1\" ArrayDimensions=\"0\">\n    <DisplayName>OutputArguments</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=11580</Reference>\n    </References>\n    <Value>\n      <ListOfExtensionObject xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=297</Identifier>\n          </TypeId>\n          <Body>\n            <Argument>\n              <Name>FileHandle</Name>\n              <DataType>\n                <Identifier>i=7</Identifier>\n              </DataType>\n              <ValueRank>-1</ValueRank>\n              <ArrayDimensions />\n            </Argument>\n          </Body>\n        </ExtensionObject>\n      </ListOfExtensionObject>\n    </Value>\n  </UAVariable>\n  <UAMethod NodeId=\"i=11583\" BrowseName=\"Close\" ParentNodeId=\"i=11575\">\n    <DisplayName>Close</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=11584</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=11575</Reference>\n    </References>\n  </UAMethod>\n  <UAVariable NodeId=\"i=11584\" BrowseName=\"InputArguments\" ParentNodeId=\"i=11583\" DataType=\"i=296\" ValueRank=\"1\" ArrayDimensions=\"0\">\n    <DisplayName>InputArguments</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=11583</Reference>\n    </References>\n    <Value>\n      <ListOfExtensionObject xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=297</Identifier>\n          </TypeId>\n          <Body>\n            <Argument>\n              <Name>FileHandle</Name>\n              <DataType>\n                <Identifier>i=7</Identifier>\n              </DataType>\n              <ValueRank>-1</ValueRank>\n              <ArrayDimensions />\n            </Argument>\n          </Body>\n        </ExtensionObject>\n      </ListOfExtensionObject>\n    </Value>\n  </UAVariable>\n  <UAMethod NodeId=\"i=11585\" BrowseName=\"Read\" ParentNodeId=\"i=11575\">\n    <DisplayName>Read</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=11586</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=11587</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=11575</Reference>\n    </References>\n  </UAMethod>\n  <UAVariable NodeId=\"i=11586\" BrowseName=\"InputArguments\" ParentNodeId=\"i=11585\" DataType=\"i=296\" ValueRank=\"1\" ArrayDimensions=\"0\">\n    <DisplayName>InputArguments</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=11585</Reference>\n    </References>\n    <Value>\n      <ListOfExtensionObject xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=297</Identifier>\n          </TypeId>\n          <Body>\n            <Argument>\n              <Name>FileHandle</Name>\n              <DataType>\n                <Identifier>i=7</Identifier>\n              </DataType>\n              <ValueRank>-1</ValueRank>\n              <ArrayDimensions />\n            </Argument>\n          </Body>\n        </ExtensionObject>\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=297</Identifier>\n          </TypeId>\n          <Body>\n            <Argument>\n              <Name>Length</Name>\n              <DataType>\n                <Identifier>i=6</Identifier>\n              </DataType>\n              <ValueRank>-1</ValueRank>\n              <ArrayDimensions />\n            </Argument>\n          </Body>\n        </ExtensionObject>\n      </ListOfExtensionObject>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"i=11587\" BrowseName=\"OutputArguments\" ParentNodeId=\"i=11585\" DataType=\"i=296\" ValueRank=\"1\" ArrayDimensions=\"0\">\n    <DisplayName>OutputArguments</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=11585</Reference>\n    </References>\n    <Value>\n      <ListOfExtensionObject xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=297</Identifier>\n          </TypeId>\n          <Body>\n            <Argument>\n              <Name>Data</Name>\n              <DataType>\n                <Identifier>i=15</Identifier>\n              </DataType>\n              <ValueRank>-1</ValueRank>\n              <ArrayDimensions />\n            </Argument>\n          </Body>\n        </ExtensionObject>\n      </ListOfExtensionObject>\n    </Value>\n  </UAVariable>\n  <UAMethod NodeId=\"i=11588\" BrowseName=\"Write\" ParentNodeId=\"i=11575\">\n    <DisplayName>Write</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=11589</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=11575</Reference>\n    </References>\n  </UAMethod>\n  <UAVariable NodeId=\"i=11589\" BrowseName=\"InputArguments\" ParentNodeId=\"i=11588\" DataType=\"i=296\" ValueRank=\"1\" ArrayDimensions=\"0\">\n    <DisplayName>InputArguments</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=11588</Reference>\n    </References>\n    <Value>\n      <ListOfExtensionObject xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=297</Identifier>\n          </TypeId>\n          <Body>\n            <Argument>\n              <Name>FileHandle</Name>\n              <DataType>\n                <Identifier>i=7</Identifier>\n              </DataType>\n              <ValueRank>-1</ValueRank>\n              <ArrayDimensions />\n            </Argument>\n          </Body>\n        </ExtensionObject>\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=297</Identifier>\n          </TypeId>\n          <Body>\n            <Argument>\n              <Name>Data</Name>\n              <DataType>\n                <Identifier>i=15</Identifier>\n              </DataType>\n              <ValueRank>-1</ValueRank>\n              <ArrayDimensions />\n            </Argument>\n          </Body>\n        </ExtensionObject>\n      </ListOfExtensionObject>\n    </Value>\n  </UAVariable>\n  <UAMethod NodeId=\"i=11590\" BrowseName=\"GetPosition\" ParentNodeId=\"i=11575\">\n    <DisplayName>GetPosition</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=11591</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=11592</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=11575</Reference>\n    </References>\n  </UAMethod>\n  <UAVariable NodeId=\"i=11591\" BrowseName=\"InputArguments\" ParentNodeId=\"i=11590\" DataType=\"i=296\" ValueRank=\"1\" ArrayDimensions=\"0\">\n    <DisplayName>InputArguments</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=11590</Reference>\n    </References>\n    <Value>\n      <ListOfExtensionObject xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=297</Identifier>\n          </TypeId>\n          <Body>\n            <Argument>\n              <Name>FileHandle</Name>\n              <DataType>\n                <Identifier>i=7</Identifier>\n              </DataType>\n              <ValueRank>-1</ValueRank>\n              <ArrayDimensions />\n            </Argument>\n          </Body>\n        </ExtensionObject>\n      </ListOfExtensionObject>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"i=11592\" BrowseName=\"OutputArguments\" ParentNodeId=\"i=11590\" DataType=\"i=296\" ValueRank=\"1\" ArrayDimensions=\"0\">\n    <DisplayName>OutputArguments</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=11590</Reference>\n    </References>\n    <Value>\n      <ListOfExtensionObject xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=297</Identifier>\n          </TypeId>\n          <Body>\n            <Argument>\n              <Name>Position</Name>\n              <DataType>\n                <Identifier>i=9</Identifier>\n              </DataType>\n              <ValueRank>-1</ValueRank>\n              <ArrayDimensions />\n            </Argument>\n          </Body>\n        </ExtensionObject>\n      </ListOfExtensionObject>\n    </Value>\n  </UAVariable>\n  <UAMethod NodeId=\"i=11593\" BrowseName=\"SetPosition\" ParentNodeId=\"i=11575\">\n    <DisplayName>SetPosition</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=11594</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=11575</Reference>\n    </References>\n  </UAMethod>\n  <UAVariable NodeId=\"i=11594\" BrowseName=\"InputArguments\" ParentNodeId=\"i=11593\" DataType=\"i=296\" ValueRank=\"1\" ArrayDimensions=\"0\">\n    <DisplayName>InputArguments</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=11593</Reference>\n    </References>\n    <Value>\n      <ListOfExtensionObject xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=297</Identifier>\n          </TypeId>\n          <Body>\n            <Argument>\n              <Name>FileHandle</Name>\n              <DataType>\n                <Identifier>i=7</Identifier>\n              </DataType>\n              <ValueRank>-1</ValueRank>\n              <ArrayDimensions />\n            </Argument>\n          </Body>\n        </ExtensionObject>\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=297</Identifier>\n          </TypeId>\n          <Body>\n            <Argument>\n              <Name>Position</Name>\n              <DataType>\n                <Identifier>i=9</Identifier>\n              </DataType>\n              <ValueRank>-1</ValueRank>\n              <ArrayDimensions />\n            </Argument>\n          </Body>\n        </ExtensionObject>\n      </ListOfExtensionObject>\n    </Value>\n  </UAVariable>\n  <UAObjectType NodeId=\"i=11595\" BrowseName=\"AddressSpaceFileType\">\n    <DisplayName>AddressSpaceFileType</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasComponent\">i=11615</Reference>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=11575</Reference>\n    </References>\n  </UAObjectType>\n  <UAMethod NodeId=\"i=11615\" BrowseName=\"ExportNamespace\" ParentNodeId=\"i=11595\">\n    <DisplayName>ExportNamespace</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasModellingRule\">i=80</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=11595</Reference>\n    </References>\n  </UAMethod>\n  <UAObjectType NodeId=\"i=11616\" BrowseName=\"NamespaceMetadataType\">\n    <DisplayName>NamespaceMetadataType</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=11617</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=11618</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=11619</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=11620</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=11621</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=11622</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=11623</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=11624</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=16137</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=16138</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=16139</Reference>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=58</Reference>\n    </References>\n  </UAObjectType>\n  <UAVariable NodeId=\"i=11617\" BrowseName=\"NamespaceUri\" ParentNodeId=\"i=11616\" DataType=\"String\">\n    <DisplayName>NamespaceUri</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=11616</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=11618\" BrowseName=\"NamespaceVersion\" ParentNodeId=\"i=11616\" DataType=\"String\">\n    <DisplayName>NamespaceVersion</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=11616</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=11619\" BrowseName=\"NamespacePublicationDate\" ParentNodeId=\"i=11616\" DataType=\"DateTime\">\n    <DisplayName>NamespacePublicationDate</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=11616</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=11620\" BrowseName=\"IsNamespaceSubset\" ParentNodeId=\"i=11616\" DataType=\"Boolean\">\n    <DisplayName>IsNamespaceSubset</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=11616</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=11621\" BrowseName=\"StaticNodeIdTypes\" ParentNodeId=\"i=11616\" DataType=\"i=256\" ValueRank=\"1\" ArrayDimensions=\"0\">\n    <DisplayName>StaticNodeIdTypes</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=11616</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=11622\" BrowseName=\"StaticNumericNodeIdRange\" ParentNodeId=\"i=11616\" DataType=\"i=291\" ValueRank=\"1\" ArrayDimensions=\"0\">\n    <DisplayName>StaticNumericNodeIdRange</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=11616</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=11623\" BrowseName=\"StaticStringNodeIdPattern\" ParentNodeId=\"i=11616\" DataType=\"String\">\n    <DisplayName>StaticStringNodeIdPattern</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=11616</Reference>\n    </References>\n  </UAVariable>\n  <UAObject NodeId=\"i=11624\" BrowseName=\"NamespaceFile\" ParentNodeId=\"i=11616\">\n    <DisplayName>NamespaceFile</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=11625</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=12690</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=12691</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=11628</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=11629</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=11632</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=11634</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=11637</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=11639</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=11642</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=11595</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=80</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=11616</Reference>\n    </References>\n  </UAObject>\n  <UAVariable NodeId=\"i=11625\" BrowseName=\"Size\" ParentNodeId=\"i=11624\" DataType=\"UInt64\">\n    <DisplayName>Size</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=11624</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=12690\" BrowseName=\"Writable\" ParentNodeId=\"i=11624\" DataType=\"Boolean\">\n    <DisplayName>Writable</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=11624</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=12691\" BrowseName=\"UserWritable\" ParentNodeId=\"i=11624\" DataType=\"Boolean\">\n    <DisplayName>UserWritable</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=11624</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=11628\" BrowseName=\"OpenCount\" ParentNodeId=\"i=11624\" DataType=\"UInt16\">\n    <DisplayName>OpenCount</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=11624</Reference>\n    </References>\n  </UAVariable>\n  <UAMethod NodeId=\"i=11629\" BrowseName=\"Open\" ParentNodeId=\"i=11624\" MethodDeclarationId=\"i=11580\">\n    <DisplayName>Open</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=11630</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=11631</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=11624</Reference>\n    </References>\n  </UAMethod>\n  <UAVariable NodeId=\"i=11630\" BrowseName=\"InputArguments\" ParentNodeId=\"i=11629\" DataType=\"i=296\" ValueRank=\"1\" ArrayDimensions=\"0\">\n    <DisplayName>InputArguments</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=11629</Reference>\n    </References>\n    <Value>\n      <ListOfExtensionObject xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=297</Identifier>\n          </TypeId>\n          <Body>\n            <Argument>\n              <Name>Mode</Name>\n              <DataType>\n                <Identifier>i=3</Identifier>\n              </DataType>\n              <ValueRank>-1</ValueRank>\n              <ArrayDimensions />\n            </Argument>\n          </Body>\n        </ExtensionObject>\n      </ListOfExtensionObject>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"i=11631\" BrowseName=\"OutputArguments\" ParentNodeId=\"i=11629\" DataType=\"i=296\" ValueRank=\"1\" ArrayDimensions=\"0\">\n    <DisplayName>OutputArguments</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=11629</Reference>\n    </References>\n    <Value>\n      <ListOfExtensionObject xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=297</Identifier>\n          </TypeId>\n          <Body>\n            <Argument>\n              <Name>FileHandle</Name>\n              <DataType>\n                <Identifier>i=7</Identifier>\n              </DataType>\n              <ValueRank>-1</ValueRank>\n              <ArrayDimensions />\n            </Argument>\n          </Body>\n        </ExtensionObject>\n      </ListOfExtensionObject>\n    </Value>\n  </UAVariable>\n  <UAMethod NodeId=\"i=11632\" BrowseName=\"Close\" ParentNodeId=\"i=11624\" MethodDeclarationId=\"i=11583\">\n    <DisplayName>Close</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=11633</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=11624</Reference>\n    </References>\n  </UAMethod>\n  <UAVariable NodeId=\"i=11633\" BrowseName=\"InputArguments\" ParentNodeId=\"i=11632\" DataType=\"i=296\" ValueRank=\"1\" ArrayDimensions=\"0\">\n    <DisplayName>InputArguments</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=11632</Reference>\n    </References>\n    <Value>\n      <ListOfExtensionObject xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=297</Identifier>\n          </TypeId>\n          <Body>\n            <Argument>\n              <Name>FileHandle</Name>\n              <DataType>\n                <Identifier>i=7</Identifier>\n              </DataType>\n              <ValueRank>-1</ValueRank>\n              <ArrayDimensions />\n            </Argument>\n          </Body>\n        </ExtensionObject>\n      </ListOfExtensionObject>\n    </Value>\n  </UAVariable>\n  <UAMethod NodeId=\"i=11634\" BrowseName=\"Read\" ParentNodeId=\"i=11624\" MethodDeclarationId=\"i=11585\">\n    <DisplayName>Read</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=11635</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=11636</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=11624</Reference>\n    </References>\n  </UAMethod>\n  <UAVariable NodeId=\"i=11635\" BrowseName=\"InputArguments\" ParentNodeId=\"i=11634\" DataType=\"i=296\" ValueRank=\"1\" ArrayDimensions=\"0\">\n    <DisplayName>InputArguments</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=11634</Reference>\n    </References>\n    <Value>\n      <ListOfExtensionObject xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=297</Identifier>\n          </TypeId>\n          <Body>\n            <Argument>\n              <Name>FileHandle</Name>\n              <DataType>\n                <Identifier>i=7</Identifier>\n              </DataType>\n              <ValueRank>-1</ValueRank>\n              <ArrayDimensions />\n            </Argument>\n          </Body>\n        </ExtensionObject>\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=297</Identifier>\n          </TypeId>\n          <Body>\n            <Argument>\n              <Name>Length</Name>\n              <DataType>\n                <Identifier>i=6</Identifier>\n              </DataType>\n              <ValueRank>-1</ValueRank>\n              <ArrayDimensions />\n            </Argument>\n          </Body>\n        </ExtensionObject>\n      </ListOfExtensionObject>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"i=11636\" BrowseName=\"OutputArguments\" ParentNodeId=\"i=11634\" DataType=\"i=296\" ValueRank=\"1\" ArrayDimensions=\"0\">\n    <DisplayName>OutputArguments</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=11634</Reference>\n    </References>\n    <Value>\n      <ListOfExtensionObject xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=297</Identifier>\n          </TypeId>\n          <Body>\n            <Argument>\n              <Name>Data</Name>\n              <DataType>\n                <Identifier>i=15</Identifier>\n              </DataType>\n              <ValueRank>-1</ValueRank>\n              <ArrayDimensions />\n            </Argument>\n          </Body>\n        </ExtensionObject>\n      </ListOfExtensionObject>\n    </Value>\n  </UAVariable>\n  <UAMethod NodeId=\"i=11637\" BrowseName=\"Write\" ParentNodeId=\"i=11624\" MethodDeclarationId=\"i=11588\">\n    <DisplayName>Write</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=11638</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=11624</Reference>\n    </References>\n  </UAMethod>\n  <UAVariable NodeId=\"i=11638\" BrowseName=\"InputArguments\" ParentNodeId=\"i=11637\" DataType=\"i=296\" ValueRank=\"1\" ArrayDimensions=\"0\">\n    <DisplayName>InputArguments</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=11637</Reference>\n    </References>\n    <Value>\n      <ListOfExtensionObject xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=297</Identifier>\n          </TypeId>\n          <Body>\n            <Argument>\n              <Name>FileHandle</Name>\n              <DataType>\n                <Identifier>i=7</Identifier>\n              </DataType>\n              <ValueRank>-1</ValueRank>\n              <ArrayDimensions />\n            </Argument>\n          </Body>\n        </ExtensionObject>\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=297</Identifier>\n          </TypeId>\n          <Body>\n            <Argument>\n              <Name>Data</Name>\n              <DataType>\n                <Identifier>i=15</Identifier>\n              </DataType>\n              <ValueRank>-1</ValueRank>\n              <ArrayDimensions />\n            </Argument>\n          </Body>\n        </ExtensionObject>\n      </ListOfExtensionObject>\n    </Value>\n  </UAVariable>\n  <UAMethod NodeId=\"i=11639\" BrowseName=\"GetPosition\" ParentNodeId=\"i=11624\" MethodDeclarationId=\"i=11590\">\n    <DisplayName>GetPosition</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=11640</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=11641</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=11624</Reference>\n    </References>\n  </UAMethod>\n  <UAVariable NodeId=\"i=11640\" BrowseName=\"InputArguments\" ParentNodeId=\"i=11639\" DataType=\"i=296\" ValueRank=\"1\" ArrayDimensions=\"0\">\n    <DisplayName>InputArguments</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=11639</Reference>\n    </References>\n    <Value>\n      <ListOfExtensionObject xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=297</Identifier>\n          </TypeId>\n          <Body>\n            <Argument>\n              <Name>FileHandle</Name>\n              <DataType>\n                <Identifier>i=7</Identifier>\n              </DataType>\n              <ValueRank>-1</ValueRank>\n              <ArrayDimensions />\n            </Argument>\n          </Body>\n        </ExtensionObject>\n      </ListOfExtensionObject>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"i=11641\" BrowseName=\"OutputArguments\" ParentNodeId=\"i=11639\" DataType=\"i=296\" ValueRank=\"1\" ArrayDimensions=\"0\">\n    <DisplayName>OutputArguments</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=11639</Reference>\n    </References>\n    <Value>\n      <ListOfExtensionObject xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=297</Identifier>\n          </TypeId>\n          <Body>\n            <Argument>\n              <Name>Position</Name>\n              <DataType>\n                <Identifier>i=9</Identifier>\n              </DataType>\n              <ValueRank>-1</ValueRank>\n              <ArrayDimensions />\n            </Argument>\n          </Body>\n        </ExtensionObject>\n      </ListOfExtensionObject>\n    </Value>\n  </UAVariable>\n  <UAMethod NodeId=\"i=11642\" BrowseName=\"SetPosition\" ParentNodeId=\"i=11624\" MethodDeclarationId=\"i=11593\">\n    <DisplayName>SetPosition</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=11643</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=11624</Reference>\n    </References>\n  </UAMethod>\n  <UAVariable NodeId=\"i=11643\" BrowseName=\"InputArguments\" ParentNodeId=\"i=11642\" DataType=\"i=296\" ValueRank=\"1\" ArrayDimensions=\"0\">\n    <DisplayName>InputArguments</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=11642</Reference>\n    </References>\n    <Value>\n      <ListOfExtensionObject xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=297</Identifier>\n          </TypeId>\n          <Body>\n            <Argument>\n              <Name>FileHandle</Name>\n              <DataType>\n                <Identifier>i=7</Identifier>\n              </DataType>\n              <ValueRank>-1</ValueRank>\n              <ArrayDimensions />\n            </Argument>\n          </Body>\n        </ExtensionObject>\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=297</Identifier>\n          </TypeId>\n          <Body>\n            <Argument>\n              <Name>Position</Name>\n              <DataType>\n                <Identifier>i=9</Identifier>\n              </DataType>\n              <ValueRank>-1</ValueRank>\n              <ArrayDimensions />\n            </Argument>\n          </Body>\n        </ExtensionObject>\n      </ListOfExtensionObject>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"i=16137\" BrowseName=\"DefaultRolePermissions\" ParentNodeId=\"i=11616\" DataType=\"i=96\" ValueRank=\"1\" ArrayDimensions=\"0\">\n    <DisplayName>DefaultRolePermissions</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=80</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=11616</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=16138\" BrowseName=\"DefaultUserRolePermissions\" ParentNodeId=\"i=11616\" DataType=\"i=96\" ValueRank=\"1\" ArrayDimensions=\"0\">\n    <DisplayName>DefaultUserRolePermissions</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=80</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=11616</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=16139\" BrowseName=\"DefaultAccessRestrictions\" ParentNodeId=\"i=11616\" DataType=\"i=95\">\n    <DisplayName>DefaultAccessRestrictions</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=80</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=11616</Reference>\n    </References>\n  </UAVariable>\n  <UAObjectType NodeId=\"i=11645\" BrowseName=\"NamespacesType\">\n    <DisplayName>NamespacesType</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasComponent\">i=11646</Reference>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=58</Reference>\n    </References>\n  </UAObjectType>\n  <UAObject NodeId=\"i=11646\" BrowseName=\"&lt;NamespaceIdentifier&gt;\" SymbolicName=\"NamespaceIdentifier_Placeholder\" ParentNodeId=\"i=11645\">\n    <DisplayName>&lt;NamespaceIdentifier&gt;</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=11647</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=11648</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=11649</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=11650</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=11651</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=11652</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=11653</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=11616</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=11508</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=11645</Reference>\n    </References>\n  </UAObject>\n  <UAVariable NodeId=\"i=11647\" BrowseName=\"NamespaceUri\" ParentNodeId=\"i=11646\" DataType=\"String\">\n    <DisplayName>NamespaceUri</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=11646</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=11648\" BrowseName=\"NamespaceVersion\" ParentNodeId=\"i=11646\" DataType=\"String\">\n    <DisplayName>NamespaceVersion</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=11646</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=11649\" BrowseName=\"NamespacePublicationDate\" ParentNodeId=\"i=11646\" DataType=\"DateTime\">\n    <DisplayName>NamespacePublicationDate</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=11646</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=11650\" BrowseName=\"IsNamespaceSubset\" ParentNodeId=\"i=11646\" DataType=\"Boolean\">\n    <DisplayName>IsNamespaceSubset</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=11646</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=11651\" BrowseName=\"StaticNodeIdTypes\" ParentNodeId=\"i=11646\" DataType=\"i=256\" ValueRank=\"1\" ArrayDimensions=\"0\">\n    <DisplayName>StaticNodeIdTypes</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=11646</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=11652\" BrowseName=\"StaticNumericNodeIdRange\" ParentNodeId=\"i=11646\" DataType=\"i=291\" ValueRank=\"1\" ArrayDimensions=\"0\">\n    <DisplayName>StaticNumericNodeIdRange</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=11646</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=11653\" BrowseName=\"StaticStringNodeIdPattern\" ParentNodeId=\"i=11646\" DataType=\"String\">\n    <DisplayName>StaticStringNodeIdPattern</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=11646</Reference>\n    </References>\n  </UAVariable>\n  <UAObjectType NodeId=\"i=2041\" BrowseName=\"BaseEventType\" IsAbstract=\"true\">\n    <DisplayName>BaseEventType</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=2042</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=2043</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=2044</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=2045</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=2046</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=2047</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=3190</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=2050</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=2051</Reference>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=58</Reference>\n    </References>\n  </UAObjectType>\n  <UAVariable NodeId=\"i=2042\" BrowseName=\"EventId\" ParentNodeId=\"i=2041\" DataType=\"ByteString\">\n    <DisplayName>EventId</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=2041</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=2043\" BrowseName=\"EventType\" ParentNodeId=\"i=2041\" DataType=\"NodeId\">\n    <DisplayName>EventType</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=2041</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=2044\" BrowseName=\"SourceNode\" ParentNodeId=\"i=2041\" DataType=\"NodeId\">\n    <DisplayName>SourceNode</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=2041</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=2045\" BrowseName=\"SourceName\" ParentNodeId=\"i=2041\" DataType=\"String\">\n    <DisplayName>SourceName</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=2041</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=2046\" BrowseName=\"Time\" ParentNodeId=\"i=2041\" DataType=\"i=294\">\n    <DisplayName>Time</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=2041</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=2047\" BrowseName=\"ReceiveTime\" ParentNodeId=\"i=2041\" DataType=\"i=294\">\n    <DisplayName>ReceiveTime</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=2041</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=3190\" BrowseName=\"LocalTime\" ParentNodeId=\"i=2041\" DataType=\"i=8912\">\n    <DisplayName>LocalTime</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=80</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=2041</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=2050\" BrowseName=\"Message\" ParentNodeId=\"i=2041\" DataType=\"LocalizedText\">\n    <DisplayName>Message</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=2041</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=2051\" BrowseName=\"Severity\" ParentNodeId=\"i=2041\" DataType=\"UInt16\">\n    <DisplayName>Severity</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=2041</Reference>\n    </References>\n  </UAVariable>\n  <UAObjectType NodeId=\"i=2052\" BrowseName=\"AuditEventType\" IsAbstract=\"true\">\n    <DisplayName>AuditEventType</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=2053</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=2054</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=2055</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=2056</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=2057</Reference>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=2041</Reference>\n    </References>\n  </UAObjectType>\n  <UAVariable NodeId=\"i=2053\" BrowseName=\"ActionTimeStamp\" ParentNodeId=\"i=2052\" DataType=\"i=294\">\n    <DisplayName>ActionTimeStamp</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=2052</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=2054\" BrowseName=\"Status\" ParentNodeId=\"i=2052\" DataType=\"Boolean\">\n    <DisplayName>Status</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=2052</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=2055\" BrowseName=\"ServerId\" ParentNodeId=\"i=2052\" DataType=\"String\">\n    <DisplayName>ServerId</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=2052</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=2056\" BrowseName=\"ClientAuditEntryId\" ParentNodeId=\"i=2052\" DataType=\"String\">\n    <DisplayName>ClientAuditEntryId</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=2052</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=2057\" BrowseName=\"ClientUserId\" ParentNodeId=\"i=2052\" DataType=\"String\">\n    <DisplayName>ClientUserId</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=2052</Reference>\n    </References>\n  </UAVariable>\n  <UAObjectType NodeId=\"i=2058\" BrowseName=\"AuditSecurityEventType\" IsAbstract=\"true\">\n    <DisplayName>AuditSecurityEventType</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=17615</Reference>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=2052</Reference>\n    </References>\n  </UAObjectType>\n  <UAVariable NodeId=\"i=17615\" BrowseName=\"StatusCodeId\" ParentNodeId=\"i=2058\" DataType=\"StatusCode\">\n    <DisplayName>StatusCodeId</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=80</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=2058</Reference>\n    </References>\n  </UAVariable>\n  <UAObjectType NodeId=\"i=2059\" BrowseName=\"AuditChannelEventType\" IsAbstract=\"true\">\n    <DisplayName>AuditChannelEventType</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=2745</Reference>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=2058</Reference>\n    </References>\n  </UAObjectType>\n  <UAVariable NodeId=\"i=2745\" BrowseName=\"SecureChannelId\" ParentNodeId=\"i=2059\" DataType=\"String\">\n    <DisplayName>SecureChannelId</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=2059</Reference>\n    </References>\n  </UAVariable>\n  <UAObjectType NodeId=\"i=2060\" BrowseName=\"AuditOpenSecureChannelEventType\" IsAbstract=\"true\">\n    <DisplayName>AuditOpenSecureChannelEventType</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=2061</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=2746</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=2062</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=2063</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=2065</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=2066</Reference>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=2059</Reference>\n    </References>\n  </UAObjectType>\n  <UAVariable NodeId=\"i=2061\" BrowseName=\"ClientCertificate\" ParentNodeId=\"i=2060\" DataType=\"ByteString\">\n    <DisplayName>ClientCertificate</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=2060</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=2746\" BrowseName=\"ClientCertificateThumbprint\" ParentNodeId=\"i=2060\" DataType=\"String\">\n    <DisplayName>ClientCertificateThumbprint</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=2060</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=2062\" BrowseName=\"RequestType\" ParentNodeId=\"i=2060\" DataType=\"i=315\">\n    <DisplayName>RequestType</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=2060</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=2063\" BrowseName=\"SecurityPolicyUri\" ParentNodeId=\"i=2060\" DataType=\"String\">\n    <DisplayName>SecurityPolicyUri</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=2060</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=2065\" BrowseName=\"SecurityMode\" ParentNodeId=\"i=2060\" DataType=\"i=302\">\n    <DisplayName>SecurityMode</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=2060</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=2066\" BrowseName=\"RequestedLifetime\" ParentNodeId=\"i=2060\" DataType=\"i=290\">\n    <DisplayName>RequestedLifetime</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=2060</Reference>\n    </References>\n  </UAVariable>\n  <UAObjectType NodeId=\"i=2069\" BrowseName=\"AuditSessionEventType\" IsAbstract=\"true\">\n    <DisplayName>AuditSessionEventType</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=2070</Reference>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=2058</Reference>\n    </References>\n  </UAObjectType>\n  <UAVariable NodeId=\"i=2070\" BrowseName=\"SessionId\" ParentNodeId=\"i=2069\" DataType=\"NodeId\">\n    <DisplayName>SessionId</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=2069</Reference>\n    </References>\n  </UAVariable>\n  <UAObjectType NodeId=\"i=2071\" BrowseName=\"AuditCreateSessionEventType\" IsAbstract=\"true\">\n    <DisplayName>AuditCreateSessionEventType</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=2072</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=2073</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=2747</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=2074</Reference>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=2069</Reference>\n    </References>\n  </UAObjectType>\n  <UAVariable NodeId=\"i=2072\" BrowseName=\"SecureChannelId\" ParentNodeId=\"i=2071\" DataType=\"String\">\n    <DisplayName>SecureChannelId</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=2071</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=2073\" BrowseName=\"ClientCertificate\" ParentNodeId=\"i=2071\" DataType=\"ByteString\">\n    <DisplayName>ClientCertificate</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=2071</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=2747\" BrowseName=\"ClientCertificateThumbprint\" ParentNodeId=\"i=2071\" DataType=\"String\">\n    <DisplayName>ClientCertificateThumbprint</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=2071</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=2074\" BrowseName=\"RevisedSessionTimeout\" ParentNodeId=\"i=2071\" DataType=\"i=290\">\n    <DisplayName>RevisedSessionTimeout</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=2071</Reference>\n    </References>\n  </UAVariable>\n  <UAObjectType NodeId=\"i=2748\" BrowseName=\"AuditUrlMismatchEventType\" IsAbstract=\"true\">\n    <DisplayName>AuditUrlMismatchEventType</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=2749</Reference>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=2071</Reference>\n    </References>\n  </UAObjectType>\n  <UAVariable NodeId=\"i=2749\" BrowseName=\"EndpointUrl\" ParentNodeId=\"i=2748\" DataType=\"String\">\n    <DisplayName>EndpointUrl</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=2748</Reference>\n    </References>\n  </UAVariable>\n  <UAObjectType NodeId=\"i=2075\" BrowseName=\"AuditActivateSessionEventType\" IsAbstract=\"true\">\n    <DisplayName>AuditActivateSessionEventType</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=2076</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=2077</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=11485</Reference>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=2069</Reference>\n    </References>\n  </UAObjectType>\n  <UAVariable NodeId=\"i=2076\" BrowseName=\"ClientSoftwareCertificates\" ParentNodeId=\"i=2075\" DataType=\"i=344\" ValueRank=\"1\" ArrayDimensions=\"0\">\n    <DisplayName>ClientSoftwareCertificates</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=2075</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=2077\" BrowseName=\"UserIdentityToken\" ParentNodeId=\"i=2075\" DataType=\"i=316\">\n    <DisplayName>UserIdentityToken</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=2075</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=11485\" BrowseName=\"SecureChannelId\" ParentNodeId=\"i=2075\" DataType=\"String\">\n    <DisplayName>SecureChannelId</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=2075</Reference>\n    </References>\n  </UAVariable>\n  <UAObjectType NodeId=\"i=2078\" BrowseName=\"AuditCancelEventType\" IsAbstract=\"true\">\n    <DisplayName>AuditCancelEventType</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=2079</Reference>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=2069</Reference>\n    </References>\n  </UAObjectType>\n  <UAVariable NodeId=\"i=2079\" BrowseName=\"RequestHandle\" ParentNodeId=\"i=2078\" DataType=\"UInt32\">\n    <DisplayName>RequestHandle</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=2078</Reference>\n    </References>\n  </UAVariable>\n  <UAObjectType NodeId=\"i=2080\" BrowseName=\"AuditCertificateEventType\" IsAbstract=\"true\">\n    <DisplayName>AuditCertificateEventType</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=2081</Reference>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=2058</Reference>\n    </References>\n  </UAObjectType>\n  <UAVariable NodeId=\"i=2081\" BrowseName=\"Certificate\" ParentNodeId=\"i=2080\" DataType=\"ByteString\">\n    <DisplayName>Certificate</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=2080</Reference>\n    </References>\n  </UAVariable>\n  <UAObjectType NodeId=\"i=2082\" BrowseName=\"AuditCertificateDataMismatchEventType\" IsAbstract=\"true\">\n    <DisplayName>AuditCertificateDataMismatchEventType</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=2083</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=2084</Reference>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=2080</Reference>\n    </References>\n  </UAObjectType>\n  <UAVariable NodeId=\"i=2083\" BrowseName=\"InvalidHostname\" ParentNodeId=\"i=2082\" DataType=\"String\">\n    <DisplayName>InvalidHostname</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=2082</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=2084\" BrowseName=\"InvalidUri\" ParentNodeId=\"i=2082\" DataType=\"String\">\n    <DisplayName>InvalidUri</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=2082</Reference>\n    </References>\n  </UAVariable>\n  <UAObjectType NodeId=\"i=2085\" BrowseName=\"AuditCertificateExpiredEventType\" IsAbstract=\"true\">\n    <DisplayName>AuditCertificateExpiredEventType</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=2080</Reference>\n    </References>\n  </UAObjectType>\n  <UAObjectType NodeId=\"i=2086\" BrowseName=\"AuditCertificateInvalidEventType\" IsAbstract=\"true\">\n    <DisplayName>AuditCertificateInvalidEventType</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=2080</Reference>\n    </References>\n  </UAObjectType>\n  <UAObjectType NodeId=\"i=2087\" BrowseName=\"AuditCertificateUntrustedEventType\" IsAbstract=\"true\">\n    <DisplayName>AuditCertificateUntrustedEventType</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=2080</Reference>\n    </References>\n  </UAObjectType>\n  <UAObjectType NodeId=\"i=2088\" BrowseName=\"AuditCertificateRevokedEventType\" IsAbstract=\"true\">\n    <DisplayName>AuditCertificateRevokedEventType</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=2080</Reference>\n    </References>\n  </UAObjectType>\n  <UAObjectType NodeId=\"i=2089\" BrowseName=\"AuditCertificateMismatchEventType\" IsAbstract=\"true\">\n    <DisplayName>AuditCertificateMismatchEventType</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=2080</Reference>\n    </References>\n  </UAObjectType>\n  <UAObjectType NodeId=\"i=2090\" BrowseName=\"AuditNodeManagementEventType\" IsAbstract=\"true\">\n    <DisplayName>AuditNodeManagementEventType</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=2052</Reference>\n    </References>\n  </UAObjectType>\n  <UAObjectType NodeId=\"i=2091\" BrowseName=\"AuditAddNodesEventType\" IsAbstract=\"true\">\n    <DisplayName>AuditAddNodesEventType</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=2092</Reference>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=2090</Reference>\n    </References>\n  </UAObjectType>\n  <UAVariable NodeId=\"i=2092\" BrowseName=\"NodesToAdd\" ParentNodeId=\"i=2091\" DataType=\"i=376\" ValueRank=\"1\" ArrayDimensions=\"0\">\n    <DisplayName>NodesToAdd</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=2091</Reference>\n    </References>\n  </UAVariable>\n  <UAObjectType NodeId=\"i=2093\" BrowseName=\"AuditDeleteNodesEventType\" IsAbstract=\"true\">\n    <DisplayName>AuditDeleteNodesEventType</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=2094</Reference>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=2090</Reference>\n    </References>\n  </UAObjectType>\n  <UAVariable NodeId=\"i=2094\" BrowseName=\"NodesToDelete\" ParentNodeId=\"i=2093\" DataType=\"i=382\" ValueRank=\"1\" ArrayDimensions=\"0\">\n    <DisplayName>NodesToDelete</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=2093</Reference>\n    </References>\n  </UAVariable>\n  <UAObjectType NodeId=\"i=2095\" BrowseName=\"AuditAddReferencesEventType\" IsAbstract=\"true\">\n    <DisplayName>AuditAddReferencesEventType</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=2096</Reference>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=2090</Reference>\n    </References>\n  </UAObjectType>\n  <UAVariable NodeId=\"i=2096\" BrowseName=\"ReferencesToAdd\" ParentNodeId=\"i=2095\" DataType=\"i=379\" ValueRank=\"1\" ArrayDimensions=\"0\">\n    <DisplayName>ReferencesToAdd</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=2095</Reference>\n    </References>\n  </UAVariable>\n  <UAObjectType NodeId=\"i=2097\" BrowseName=\"AuditDeleteReferencesEventType\" IsAbstract=\"true\">\n    <DisplayName>AuditDeleteReferencesEventType</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=2098</Reference>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=2090</Reference>\n    </References>\n  </UAObjectType>\n  <UAVariable NodeId=\"i=2098\" BrowseName=\"ReferencesToDelete\" ParentNodeId=\"i=2097\" DataType=\"i=385\" ValueRank=\"1\" ArrayDimensions=\"0\">\n    <DisplayName>ReferencesToDelete</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=2097</Reference>\n    </References>\n  </UAVariable>\n  <UAObjectType NodeId=\"i=2099\" BrowseName=\"AuditUpdateEventType\" IsAbstract=\"true\">\n    <DisplayName>AuditUpdateEventType</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=2052</Reference>\n    </References>\n  </UAObjectType>\n  <UAObjectType NodeId=\"i=2100\" BrowseName=\"AuditWriteUpdateEventType\" IsAbstract=\"true\">\n    <DisplayName>AuditWriteUpdateEventType</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=2750</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=2101</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=2102</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=2103</Reference>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=2099</Reference>\n    </References>\n  </UAObjectType>\n  <UAVariable NodeId=\"i=2750\" BrowseName=\"AttributeId\" ParentNodeId=\"i=2100\" DataType=\"UInt32\">\n    <DisplayName>AttributeId</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=2100</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=2101\" BrowseName=\"IndexRange\" ParentNodeId=\"i=2100\" DataType=\"i=291\">\n    <DisplayName>IndexRange</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=2100</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=2102\" BrowseName=\"OldValue\" ParentNodeId=\"i=2100\">\n    <DisplayName>OldValue</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=2100</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=2103\" BrowseName=\"NewValue\" ParentNodeId=\"i=2100\">\n    <DisplayName>NewValue</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=2100</Reference>\n    </References>\n  </UAVariable>\n  <UAObjectType NodeId=\"i=2104\" BrowseName=\"AuditHistoryUpdateEventType\" IsAbstract=\"true\">\n    <DisplayName>AuditHistoryUpdateEventType</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=2751</Reference>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=2099</Reference>\n    </References>\n  </UAObjectType>\n  <UAVariable NodeId=\"i=2751\" BrowseName=\"ParameterDataTypeId\" ParentNodeId=\"i=2104\" DataType=\"NodeId\">\n    <DisplayName>ParameterDataTypeId</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=2104</Reference>\n    </References>\n  </UAVariable>\n  <UAObjectType NodeId=\"i=2127\" BrowseName=\"AuditUpdateMethodEventType\" IsAbstract=\"true\">\n    <DisplayName>AuditUpdateMethodEventType</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=2128</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=2129</Reference>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=2052</Reference>\n    </References>\n  </UAObjectType>\n  <UAVariable NodeId=\"i=2128\" BrowseName=\"MethodId\" ParentNodeId=\"i=2127\" DataType=\"NodeId\">\n    <DisplayName>MethodId</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=2127</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=2129\" BrowseName=\"InputArguments\" ParentNodeId=\"i=2127\" ValueRank=\"1\" ArrayDimensions=\"0\">\n    <DisplayName>InputArguments</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=2127</Reference>\n    </References>\n  </UAVariable>\n  <UAObjectType NodeId=\"i=2130\" BrowseName=\"SystemEventType\" IsAbstract=\"true\">\n    <DisplayName>SystemEventType</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=2041</Reference>\n    </References>\n  </UAObjectType>\n  <UAObjectType NodeId=\"i=2131\" BrowseName=\"DeviceFailureEventType\" IsAbstract=\"true\">\n    <DisplayName>DeviceFailureEventType</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=2130</Reference>\n    </References>\n  </UAObjectType>\n  <UAObjectType NodeId=\"i=11446\" BrowseName=\"SystemStatusChangeEventType\" IsAbstract=\"true\">\n    <DisplayName>SystemStatusChangeEventType</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=11696</Reference>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=2130</Reference>\n    </References>\n  </UAObjectType>\n  <UAVariable NodeId=\"i=11696\" BrowseName=\"SystemState\" ParentNodeId=\"i=11446\" DataType=\"i=852\">\n    <DisplayName>SystemState</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=11446</Reference>\n    </References>\n  </UAVariable>\n  <UAObjectType NodeId=\"i=2132\" BrowseName=\"BaseModelChangeEventType\" IsAbstract=\"true\">\n    <DisplayName>BaseModelChangeEventType</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=2041</Reference>\n    </References>\n  </UAObjectType>\n  <UAObjectType NodeId=\"i=2133\" BrowseName=\"GeneralModelChangeEventType\" IsAbstract=\"true\">\n    <DisplayName>GeneralModelChangeEventType</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=2134</Reference>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=2132</Reference>\n    </References>\n  </UAObjectType>\n  <UAVariable NodeId=\"i=2134\" BrowseName=\"Changes\" ParentNodeId=\"i=2133\" DataType=\"i=877\" ValueRank=\"1\" ArrayDimensions=\"0\">\n    <DisplayName>Changes</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=2133</Reference>\n    </References>\n  </UAVariable>\n  <UAObjectType NodeId=\"i=2738\" BrowseName=\"SemanticChangeEventType\" IsAbstract=\"true\">\n    <DisplayName>SemanticChangeEventType</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=2739</Reference>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=2041</Reference>\n    </References>\n  </UAObjectType>\n  <UAVariable NodeId=\"i=2739\" BrowseName=\"Changes\" ParentNodeId=\"i=2738\" DataType=\"i=897\" ValueRank=\"1\" ArrayDimensions=\"0\">\n    <DisplayName>Changes</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=2738</Reference>\n    </References>\n  </UAVariable>\n  <UAObjectType NodeId=\"i=3035\" BrowseName=\"EventQueueOverflowEventType\" IsAbstract=\"true\">\n    <DisplayName>EventQueueOverflowEventType</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=2041</Reference>\n    </References>\n  </UAObjectType>\n  <UAObjectType NodeId=\"i=11436\" BrowseName=\"ProgressEventType\" IsAbstract=\"true\">\n    <DisplayName>ProgressEventType</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=12502</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=12503</Reference>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=2041</Reference>\n    </References>\n  </UAObjectType>\n  <UAVariable NodeId=\"i=12502\" BrowseName=\"Context\" ParentNodeId=\"i=11436\">\n    <DisplayName>Context</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=11436</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=12503\" BrowseName=\"Progress\" ParentNodeId=\"i=11436\" DataType=\"UInt16\">\n    <DisplayName>Progress</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=11436</Reference>\n    </References>\n  </UAVariable>\n  <UAObjectType NodeId=\"i=2340\" BrowseName=\"AggregateFunctionType\">\n    <DisplayName>AggregateFunctionType</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=58</Reference>\n    </References>\n  </UAObjectType>\n  <UAVariableType NodeId=\"i=2137\" BrowseName=\"ServerVendorCapabilityType\" IsAbstract=\"true\">\n    <DisplayName>ServerVendorCapabilityType</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=63</Reference>\n    </References>\n  </UAVariableType>\n  <UAVariableType NodeId=\"i=2138\" BrowseName=\"ServerStatusType\" DataType=\"i=862\">\n    <DisplayName>ServerStatusType</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasComponent\">i=2139</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=2140</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=2141</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=2142</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=2752</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=2753</Reference>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=63</Reference>\n    </References>\n  </UAVariableType>\n  <UAVariable NodeId=\"i=2139\" BrowseName=\"StartTime\" ParentNodeId=\"i=2138\" DataType=\"i=294\">\n    <DisplayName>StartTime</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=63</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=2138</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=2140\" BrowseName=\"CurrentTime\" ParentNodeId=\"i=2138\" DataType=\"i=294\">\n    <DisplayName>CurrentTime</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=63</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=2138</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=2141\" BrowseName=\"State\" ParentNodeId=\"i=2138\" DataType=\"i=852\">\n    <DisplayName>State</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=63</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=2138</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=2142\" BrowseName=\"BuildInfo\" ParentNodeId=\"i=2138\" DataType=\"i=338\">\n    <DisplayName>BuildInfo</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasComponent\">i=3698</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=3699</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=3700</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=3701</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=3702</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=3703</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=3051</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=2138</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=3698\" BrowseName=\"ProductUri\" ParentNodeId=\"i=2142\" DataType=\"String\" MinimumSamplingInterval=\"1000\">\n    <DisplayName>ProductUri</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=63</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=2142</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=3699\" BrowseName=\"ManufacturerName\" ParentNodeId=\"i=2142\" DataType=\"String\" MinimumSamplingInterval=\"1000\">\n    <DisplayName>ManufacturerName</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=63</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=2142</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=3700\" BrowseName=\"ProductName\" ParentNodeId=\"i=2142\" DataType=\"String\" MinimumSamplingInterval=\"1000\">\n    <DisplayName>ProductName</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=63</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=2142</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=3701\" BrowseName=\"SoftwareVersion\" ParentNodeId=\"i=2142\" DataType=\"String\" MinimumSamplingInterval=\"1000\">\n    <DisplayName>SoftwareVersion</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=63</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=2142</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=3702\" BrowseName=\"BuildNumber\" ParentNodeId=\"i=2142\" DataType=\"String\" MinimumSamplingInterval=\"1000\">\n    <DisplayName>BuildNumber</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=63</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=2142</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=3703\" BrowseName=\"BuildDate\" ParentNodeId=\"i=2142\" DataType=\"i=294\" MinimumSamplingInterval=\"1000\">\n    <DisplayName>BuildDate</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=63</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=2142</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=2752\" BrowseName=\"SecondsTillShutdown\" ParentNodeId=\"i=2138\" DataType=\"UInt32\">\n    <DisplayName>SecondsTillShutdown</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=63</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=2138</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=2753\" BrowseName=\"ShutdownReason\" ParentNodeId=\"i=2138\" DataType=\"LocalizedText\">\n    <DisplayName>ShutdownReason</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=63</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=2138</Reference>\n    </References>\n  </UAVariable>\n  <UAVariableType NodeId=\"i=3051\" BrowseName=\"BuildInfoType\" DataType=\"i=338\">\n    <DisplayName>BuildInfoType</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasComponent\">i=3052</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=3053</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=3054</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=3055</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=3056</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=3057</Reference>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=63</Reference>\n    </References>\n  </UAVariableType>\n  <UAVariable NodeId=\"i=3052\" BrowseName=\"ProductUri\" ParentNodeId=\"i=3051\" DataType=\"String\" MinimumSamplingInterval=\"1000\">\n    <DisplayName>ProductUri</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=63</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=3051</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=3053\" BrowseName=\"ManufacturerName\" ParentNodeId=\"i=3051\" DataType=\"String\" MinimumSamplingInterval=\"1000\">\n    <DisplayName>ManufacturerName</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=63</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=3051</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=3054\" BrowseName=\"ProductName\" ParentNodeId=\"i=3051\" DataType=\"String\" MinimumSamplingInterval=\"1000\">\n    <DisplayName>ProductName</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=63</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=3051</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=3055\" BrowseName=\"SoftwareVersion\" ParentNodeId=\"i=3051\" DataType=\"String\" MinimumSamplingInterval=\"1000\">\n    <DisplayName>SoftwareVersion</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=63</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=3051</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=3056\" BrowseName=\"BuildNumber\" ParentNodeId=\"i=3051\" DataType=\"String\" MinimumSamplingInterval=\"1000\">\n    <DisplayName>BuildNumber</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=63</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=3051</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=3057\" BrowseName=\"BuildDate\" ParentNodeId=\"i=3051\" DataType=\"i=294\" MinimumSamplingInterval=\"1000\">\n    <DisplayName>BuildDate</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=63</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=3051</Reference>\n    </References>\n  </UAVariable>\n  <UAVariableType NodeId=\"i=2150\" BrowseName=\"ServerDiagnosticsSummaryType\" DataType=\"i=859\">\n    <DisplayName>ServerDiagnosticsSummaryType</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasComponent\">i=2151</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=2152</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=2153</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=2154</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=2155</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=2156</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=2157</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=2159</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=2160</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=2161</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=2162</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=2163</Reference>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=63</Reference>\n    </References>\n  </UAVariableType>\n  <UAVariable NodeId=\"i=2151\" BrowseName=\"ServerViewCount\" ParentNodeId=\"i=2150\" DataType=\"UInt32\">\n    <DisplayName>ServerViewCount</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=63</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=2150</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=2152\" BrowseName=\"CurrentSessionCount\" ParentNodeId=\"i=2150\" DataType=\"UInt32\">\n    <DisplayName>CurrentSessionCount</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=63</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=2150</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=2153\" BrowseName=\"CumulatedSessionCount\" ParentNodeId=\"i=2150\" DataType=\"UInt32\">\n    <DisplayName>CumulatedSessionCount</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=63</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=2150</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=2154\" BrowseName=\"SecurityRejectedSessionCount\" ParentNodeId=\"i=2150\" DataType=\"UInt32\">\n    <DisplayName>SecurityRejectedSessionCount</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=63</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=2150</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=2155\" BrowseName=\"RejectedSessionCount\" ParentNodeId=\"i=2150\" DataType=\"UInt32\">\n    <DisplayName>RejectedSessionCount</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=63</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=2150</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=2156\" BrowseName=\"SessionTimeoutCount\" ParentNodeId=\"i=2150\" DataType=\"UInt32\">\n    <DisplayName>SessionTimeoutCount</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=63</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=2150</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=2157\" BrowseName=\"SessionAbortCount\" ParentNodeId=\"i=2150\" DataType=\"UInt32\">\n    <DisplayName>SessionAbortCount</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=63</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=2150</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=2159\" BrowseName=\"PublishingIntervalCount\" ParentNodeId=\"i=2150\" DataType=\"UInt32\">\n    <DisplayName>PublishingIntervalCount</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=63</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=2150</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=2160\" BrowseName=\"CurrentSubscriptionCount\" ParentNodeId=\"i=2150\" DataType=\"UInt32\">\n    <DisplayName>CurrentSubscriptionCount</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=63</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=2150</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=2161\" BrowseName=\"CumulatedSubscriptionCount\" ParentNodeId=\"i=2150\" DataType=\"UInt32\">\n    <DisplayName>CumulatedSubscriptionCount</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=63</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=2150</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=2162\" BrowseName=\"SecurityRejectedRequestsCount\" ParentNodeId=\"i=2150\" DataType=\"UInt32\">\n    <DisplayName>SecurityRejectedRequestsCount</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=63</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=2150</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=2163\" BrowseName=\"RejectedRequestsCount\" ParentNodeId=\"i=2150\" DataType=\"UInt32\">\n    <DisplayName>RejectedRequestsCount</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=63</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=2150</Reference>\n    </References>\n  </UAVariable>\n  <UAVariableType NodeId=\"i=2164\" BrowseName=\"SamplingIntervalDiagnosticsArrayType\" DataType=\"i=856\" ValueRank=\"1\" ArrayDimensions=\"0\">\n    <DisplayName>SamplingIntervalDiagnosticsArrayType</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasComponent\">i=12779</Reference>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=63</Reference>\n    </References>\n  </UAVariableType>\n  <UAVariable NodeId=\"i=12779\" BrowseName=\"SamplingIntervalDiagnostics\" ParentNodeId=\"i=2164\" DataType=\"i=856\">\n    <DisplayName>SamplingIntervalDiagnostics</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasComponent\">i=12780</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=12781</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=12782</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=12783</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=2165</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=83</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=2164</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=12780\" BrowseName=\"SamplingInterval\" ParentNodeId=\"i=12779\" DataType=\"i=290\">\n    <DisplayName>SamplingInterval</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=63</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=12779</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=12781\" BrowseName=\"SampledMonitoredItemsCount\" ParentNodeId=\"i=12779\" DataType=\"UInt32\">\n    <DisplayName>SampledMonitoredItemsCount</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=63</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=12779</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=12782\" BrowseName=\"MaxSampledMonitoredItemsCount\" ParentNodeId=\"i=12779\" DataType=\"UInt32\">\n    <DisplayName>MaxSampledMonitoredItemsCount</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=63</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=12779</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=12783\" BrowseName=\"DisabledMonitoredItemsSamplingCount\" ParentNodeId=\"i=12779\" DataType=\"UInt32\">\n    <DisplayName>DisabledMonitoredItemsSamplingCount</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=63</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=12779</Reference>\n    </References>\n  </UAVariable>\n  <UAVariableType NodeId=\"i=2165\" BrowseName=\"SamplingIntervalDiagnosticsType\" DataType=\"i=856\">\n    <DisplayName>SamplingIntervalDiagnosticsType</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasComponent\">i=2166</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=11697</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=11698</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=11699</Reference>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=63</Reference>\n    </References>\n  </UAVariableType>\n  <UAVariable NodeId=\"i=2166\" BrowseName=\"SamplingInterval\" ParentNodeId=\"i=2165\" DataType=\"i=290\">\n    <DisplayName>SamplingInterval</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=63</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=2165</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=11697\" BrowseName=\"SampledMonitoredItemsCount\" ParentNodeId=\"i=2165\" DataType=\"UInt32\">\n    <DisplayName>SampledMonitoredItemsCount</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=63</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=2165</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=11698\" BrowseName=\"MaxSampledMonitoredItemsCount\" ParentNodeId=\"i=2165\" DataType=\"UInt32\">\n    <DisplayName>MaxSampledMonitoredItemsCount</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=63</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=2165</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=11699\" BrowseName=\"DisabledMonitoredItemsSamplingCount\" ParentNodeId=\"i=2165\" DataType=\"UInt32\">\n    <DisplayName>DisabledMonitoredItemsSamplingCount</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=63</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=2165</Reference>\n    </References>\n  </UAVariable>\n  <UAVariableType NodeId=\"i=2171\" BrowseName=\"SubscriptionDiagnosticsArrayType\" DataType=\"i=874\" ValueRank=\"1\" ArrayDimensions=\"0\">\n    <DisplayName>SubscriptionDiagnosticsArrayType</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasComponent\">i=12784</Reference>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=63</Reference>\n    </References>\n  </UAVariableType>\n  <UAVariable NodeId=\"i=12784\" BrowseName=\"SubscriptionDiagnostics\" ParentNodeId=\"i=2171\" DataType=\"i=874\">\n    <DisplayName>SubscriptionDiagnostics</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasComponent\">i=12785</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=12786</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=12787</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=12788</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=12789</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=12790</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=12791</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=12792</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=12793</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=12794</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=12795</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=12796</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=12797</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=12798</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=12799</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=12800</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=12801</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=12802</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=12803</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=12804</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=12805</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=12806</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=12807</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=12808</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=12809</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=12810</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=12811</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=12812</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=12813</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=12814</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=12815</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=2172</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=83</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=2171</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=12785\" BrowseName=\"SessionId\" ParentNodeId=\"i=12784\" DataType=\"NodeId\">\n    <DisplayName>SessionId</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=63</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=12784</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=12786\" BrowseName=\"SubscriptionId\" ParentNodeId=\"i=12784\" DataType=\"UInt32\">\n    <DisplayName>SubscriptionId</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=63</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=12784</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=12787\" BrowseName=\"Priority\" ParentNodeId=\"i=12784\" DataType=\"Byte\">\n    <DisplayName>Priority</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=63</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=12784</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=12788\" BrowseName=\"PublishingInterval\" ParentNodeId=\"i=12784\" DataType=\"i=290\">\n    <DisplayName>PublishingInterval</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=63</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=12784</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=12789\" BrowseName=\"MaxKeepAliveCount\" ParentNodeId=\"i=12784\" DataType=\"UInt32\">\n    <DisplayName>MaxKeepAliveCount</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=63</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=12784</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=12790\" BrowseName=\"MaxLifetimeCount\" ParentNodeId=\"i=12784\" DataType=\"UInt32\">\n    <DisplayName>MaxLifetimeCount</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=63</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=12784</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=12791\" BrowseName=\"MaxNotificationsPerPublish\" ParentNodeId=\"i=12784\" DataType=\"UInt32\">\n    <DisplayName>MaxNotificationsPerPublish</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=63</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=12784</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=12792\" BrowseName=\"PublishingEnabled\" ParentNodeId=\"i=12784\" DataType=\"Boolean\">\n    <DisplayName>PublishingEnabled</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=63</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=12784</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=12793\" BrowseName=\"ModifyCount\" ParentNodeId=\"i=12784\" DataType=\"UInt32\">\n    <DisplayName>ModifyCount</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=63</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=12784</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=12794\" BrowseName=\"EnableCount\" ParentNodeId=\"i=12784\" DataType=\"UInt32\">\n    <DisplayName>EnableCount</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=63</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=12784</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=12795\" BrowseName=\"DisableCount\" ParentNodeId=\"i=12784\" DataType=\"UInt32\">\n    <DisplayName>DisableCount</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=63</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=12784</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=12796\" BrowseName=\"RepublishRequestCount\" ParentNodeId=\"i=12784\" DataType=\"UInt32\">\n    <DisplayName>RepublishRequestCount</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=63</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=12784</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=12797\" BrowseName=\"RepublishMessageRequestCount\" ParentNodeId=\"i=12784\" DataType=\"UInt32\">\n    <DisplayName>RepublishMessageRequestCount</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=63</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=12784</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=12798\" BrowseName=\"RepublishMessageCount\" ParentNodeId=\"i=12784\" DataType=\"UInt32\">\n    <DisplayName>RepublishMessageCount</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=63</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=12784</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=12799\" BrowseName=\"TransferRequestCount\" ParentNodeId=\"i=12784\" DataType=\"UInt32\">\n    <DisplayName>TransferRequestCount</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=63</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=12784</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=12800\" BrowseName=\"TransferredToAltClientCount\" ParentNodeId=\"i=12784\" DataType=\"UInt32\">\n    <DisplayName>TransferredToAltClientCount</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=63</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=12784</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=12801\" BrowseName=\"TransferredToSameClientCount\" ParentNodeId=\"i=12784\" DataType=\"UInt32\">\n    <DisplayName>TransferredToSameClientCount</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=63</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=12784</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=12802\" BrowseName=\"PublishRequestCount\" ParentNodeId=\"i=12784\" DataType=\"UInt32\">\n    <DisplayName>PublishRequestCount</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=63</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=12784</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=12803\" BrowseName=\"DataChangeNotificationsCount\" ParentNodeId=\"i=12784\" DataType=\"UInt32\">\n    <DisplayName>DataChangeNotificationsCount</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=63</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=12784</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=12804\" BrowseName=\"EventNotificationsCount\" ParentNodeId=\"i=12784\" DataType=\"UInt32\">\n    <DisplayName>EventNotificationsCount</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=63</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=12784</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=12805\" BrowseName=\"NotificationsCount\" ParentNodeId=\"i=12784\" DataType=\"UInt32\">\n    <DisplayName>NotificationsCount</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=63</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=12784</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=12806\" BrowseName=\"LatePublishRequestCount\" ParentNodeId=\"i=12784\" DataType=\"UInt32\">\n    <DisplayName>LatePublishRequestCount</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=63</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=12784</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=12807\" BrowseName=\"CurrentKeepAliveCount\" ParentNodeId=\"i=12784\" DataType=\"UInt32\">\n    <DisplayName>CurrentKeepAliveCount</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=63</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=12784</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=12808\" BrowseName=\"CurrentLifetimeCount\" ParentNodeId=\"i=12784\" DataType=\"UInt32\">\n    <DisplayName>CurrentLifetimeCount</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=63</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=12784</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=12809\" BrowseName=\"UnacknowledgedMessageCount\" ParentNodeId=\"i=12784\" DataType=\"UInt32\">\n    <DisplayName>UnacknowledgedMessageCount</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=63</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=12784</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=12810\" BrowseName=\"DiscardedMessageCount\" ParentNodeId=\"i=12784\" DataType=\"UInt32\">\n    <DisplayName>DiscardedMessageCount</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=63</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=12784</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=12811\" BrowseName=\"MonitoredItemCount\" ParentNodeId=\"i=12784\" DataType=\"UInt32\">\n    <DisplayName>MonitoredItemCount</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=63</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=12784</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=12812\" BrowseName=\"DisabledMonitoredItemCount\" ParentNodeId=\"i=12784\" DataType=\"UInt32\">\n    <DisplayName>DisabledMonitoredItemCount</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=63</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=12784</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=12813\" BrowseName=\"MonitoringQueueOverflowCount\" ParentNodeId=\"i=12784\" DataType=\"UInt32\">\n    <DisplayName>MonitoringQueueOverflowCount</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=63</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=12784</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=12814\" BrowseName=\"NextSequenceNumber\" ParentNodeId=\"i=12784\" DataType=\"UInt32\">\n    <DisplayName>NextSequenceNumber</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=63</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=12784</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=12815\" BrowseName=\"EventQueueOverflowCount\" ParentNodeId=\"i=12784\" DataType=\"UInt32\">\n    <DisplayName>EventQueueOverflowCount</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=63</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=12784</Reference>\n    </References>\n  </UAVariable>\n  <UAVariableType NodeId=\"i=2172\" BrowseName=\"SubscriptionDiagnosticsType\" DataType=\"i=874\">\n    <DisplayName>SubscriptionDiagnosticsType</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasComponent\">i=2173</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=2174</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=2175</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=2176</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=2177</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=8888</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=2179</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=2180</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=2181</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=2182</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=2183</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=2184</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=2185</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=2186</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=2187</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=2188</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=2189</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=2190</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=2191</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=2998</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=2193</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=8889</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=8890</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=8891</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=8892</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=8893</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=8894</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=8895</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=8896</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=8897</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=8902</Reference>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=63</Reference>\n    </References>\n  </UAVariableType>\n  <UAVariable NodeId=\"i=2173\" BrowseName=\"SessionId\" ParentNodeId=\"i=2172\" DataType=\"NodeId\">\n    <DisplayName>SessionId</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=63</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=2172</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=2174\" BrowseName=\"SubscriptionId\" ParentNodeId=\"i=2172\" DataType=\"UInt32\">\n    <DisplayName>SubscriptionId</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=63</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=2172</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=2175\" BrowseName=\"Priority\" ParentNodeId=\"i=2172\" DataType=\"Byte\">\n    <DisplayName>Priority</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=63</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=2172</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=2176\" BrowseName=\"PublishingInterval\" ParentNodeId=\"i=2172\" DataType=\"i=290\">\n    <DisplayName>PublishingInterval</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=63</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=2172</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=2177\" BrowseName=\"MaxKeepAliveCount\" ParentNodeId=\"i=2172\" DataType=\"UInt32\">\n    <DisplayName>MaxKeepAliveCount</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=63</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=2172</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=8888\" BrowseName=\"MaxLifetimeCount\" ParentNodeId=\"i=2172\" DataType=\"UInt32\">\n    <DisplayName>MaxLifetimeCount</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=63</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=2172</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=2179\" BrowseName=\"MaxNotificationsPerPublish\" ParentNodeId=\"i=2172\" DataType=\"UInt32\">\n    <DisplayName>MaxNotificationsPerPublish</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=63</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=2172</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=2180\" BrowseName=\"PublishingEnabled\" ParentNodeId=\"i=2172\" DataType=\"Boolean\">\n    <DisplayName>PublishingEnabled</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=63</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=2172</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=2181\" BrowseName=\"ModifyCount\" ParentNodeId=\"i=2172\" DataType=\"UInt32\">\n    <DisplayName>ModifyCount</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=63</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=2172</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=2182\" BrowseName=\"EnableCount\" ParentNodeId=\"i=2172\" DataType=\"UInt32\">\n    <DisplayName>EnableCount</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=63</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=2172</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=2183\" BrowseName=\"DisableCount\" ParentNodeId=\"i=2172\" DataType=\"UInt32\">\n    <DisplayName>DisableCount</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=63</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=2172</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=2184\" BrowseName=\"RepublishRequestCount\" ParentNodeId=\"i=2172\" DataType=\"UInt32\">\n    <DisplayName>RepublishRequestCount</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=63</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=2172</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=2185\" BrowseName=\"RepublishMessageRequestCount\" ParentNodeId=\"i=2172\" DataType=\"UInt32\">\n    <DisplayName>RepublishMessageRequestCount</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=63</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=2172</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=2186\" BrowseName=\"RepublishMessageCount\" ParentNodeId=\"i=2172\" DataType=\"UInt32\">\n    <DisplayName>RepublishMessageCount</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=63</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=2172</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=2187\" BrowseName=\"TransferRequestCount\" ParentNodeId=\"i=2172\" DataType=\"UInt32\">\n    <DisplayName>TransferRequestCount</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=63</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=2172</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=2188\" BrowseName=\"TransferredToAltClientCount\" ParentNodeId=\"i=2172\" DataType=\"UInt32\">\n    <DisplayName>TransferredToAltClientCount</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=63</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=2172</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=2189\" BrowseName=\"TransferredToSameClientCount\" ParentNodeId=\"i=2172\" DataType=\"UInt32\">\n    <DisplayName>TransferredToSameClientCount</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=63</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=2172</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=2190\" BrowseName=\"PublishRequestCount\" ParentNodeId=\"i=2172\" DataType=\"UInt32\">\n    <DisplayName>PublishRequestCount</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=63</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=2172</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=2191\" BrowseName=\"DataChangeNotificationsCount\" ParentNodeId=\"i=2172\" DataType=\"UInt32\">\n    <DisplayName>DataChangeNotificationsCount</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=63</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=2172</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=2998\" BrowseName=\"EventNotificationsCount\" ParentNodeId=\"i=2172\" DataType=\"UInt32\">\n    <DisplayName>EventNotificationsCount</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=63</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=2172</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=2193\" BrowseName=\"NotificationsCount\" ParentNodeId=\"i=2172\" DataType=\"UInt32\">\n    <DisplayName>NotificationsCount</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=63</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=2172</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=8889\" BrowseName=\"LatePublishRequestCount\" ParentNodeId=\"i=2172\" DataType=\"UInt32\">\n    <DisplayName>LatePublishRequestCount</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=63</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=2172</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=8890\" BrowseName=\"CurrentKeepAliveCount\" ParentNodeId=\"i=2172\" DataType=\"UInt32\">\n    <DisplayName>CurrentKeepAliveCount</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=63</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=2172</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=8891\" BrowseName=\"CurrentLifetimeCount\" ParentNodeId=\"i=2172\" DataType=\"UInt32\">\n    <DisplayName>CurrentLifetimeCount</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=63</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=2172</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=8892\" BrowseName=\"UnacknowledgedMessageCount\" ParentNodeId=\"i=2172\" DataType=\"UInt32\">\n    <DisplayName>UnacknowledgedMessageCount</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=63</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=2172</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=8893\" BrowseName=\"DiscardedMessageCount\" ParentNodeId=\"i=2172\" DataType=\"UInt32\">\n    <DisplayName>DiscardedMessageCount</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=63</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=2172</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=8894\" BrowseName=\"MonitoredItemCount\" ParentNodeId=\"i=2172\" DataType=\"UInt32\">\n    <DisplayName>MonitoredItemCount</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=63</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=2172</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=8895\" BrowseName=\"DisabledMonitoredItemCount\" ParentNodeId=\"i=2172\" DataType=\"UInt32\">\n    <DisplayName>DisabledMonitoredItemCount</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=63</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=2172</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=8896\" BrowseName=\"MonitoringQueueOverflowCount\" ParentNodeId=\"i=2172\" DataType=\"UInt32\">\n    <DisplayName>MonitoringQueueOverflowCount</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=63</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=2172</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=8897\" BrowseName=\"NextSequenceNumber\" ParentNodeId=\"i=2172\" DataType=\"UInt32\">\n    <DisplayName>NextSequenceNumber</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=63</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=2172</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=8902\" BrowseName=\"EventQueueOverflowCount\" ParentNodeId=\"i=2172\" DataType=\"UInt32\">\n    <DisplayName>EventQueueOverflowCount</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=63</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=2172</Reference>\n    </References>\n  </UAVariable>\n  <UAVariableType NodeId=\"i=2196\" BrowseName=\"SessionDiagnosticsArrayType\" DataType=\"i=865\" ValueRank=\"1\" ArrayDimensions=\"0\">\n    <DisplayName>SessionDiagnosticsArrayType</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasComponent\">i=12816</Reference>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=63</Reference>\n    </References>\n  </UAVariableType>\n  <UAVariable NodeId=\"i=12816\" BrowseName=\"SessionDiagnostics\" ParentNodeId=\"i=2196\" DataType=\"i=865\">\n    <DisplayName>SessionDiagnostics</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasComponent\">i=12817</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=12818</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=12819</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=12820</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=12821</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=12822</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=12823</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=12824</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=12825</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=12826</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=12827</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=12828</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=12829</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=12830</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=12831</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=12832</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=12833</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=12834</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=12835</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=12836</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=12837</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=12838</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=12839</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=12840</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=12841</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=12842</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=12843</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=12844</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=12845</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=12846</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=12847</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=12848</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=12849</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=12850</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=12851</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=12852</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=12853</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=12854</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=12855</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=12856</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=12857</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=12858</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=12859</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=2197</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=83</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=2196</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=12817\" BrowseName=\"SessionId\" ParentNodeId=\"i=12816\" DataType=\"NodeId\">\n    <DisplayName>SessionId</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=63</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=12816</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=12818\" BrowseName=\"SessionName\" ParentNodeId=\"i=12816\" DataType=\"String\">\n    <DisplayName>SessionName</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=63</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=12816</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=12819\" BrowseName=\"ClientDescription\" ParentNodeId=\"i=12816\" DataType=\"i=308\">\n    <DisplayName>ClientDescription</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=63</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=12816</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=12820\" BrowseName=\"ServerUri\" ParentNodeId=\"i=12816\" DataType=\"String\">\n    <DisplayName>ServerUri</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=63</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=12816</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=12821\" BrowseName=\"EndpointUrl\" ParentNodeId=\"i=12816\" DataType=\"String\">\n    <DisplayName>EndpointUrl</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=63</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=12816</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=12822\" BrowseName=\"LocaleIds\" ParentNodeId=\"i=12816\" DataType=\"i=295\" ValueRank=\"1\" ArrayDimensions=\"0\">\n    <DisplayName>LocaleIds</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=63</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=12816</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=12823\" BrowseName=\"ActualSessionTimeout\" ParentNodeId=\"i=12816\" DataType=\"i=290\">\n    <DisplayName>ActualSessionTimeout</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=63</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=12816</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=12824\" BrowseName=\"MaxResponseMessageSize\" ParentNodeId=\"i=12816\" DataType=\"UInt32\">\n    <DisplayName>MaxResponseMessageSize</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=63</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=12816</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=12825\" BrowseName=\"ClientConnectionTime\" ParentNodeId=\"i=12816\" DataType=\"i=294\">\n    <DisplayName>ClientConnectionTime</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=63</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=12816</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=12826\" BrowseName=\"ClientLastContactTime\" ParentNodeId=\"i=12816\" DataType=\"i=294\">\n    <DisplayName>ClientLastContactTime</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=63</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=12816</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=12827\" BrowseName=\"CurrentSubscriptionsCount\" ParentNodeId=\"i=12816\" DataType=\"UInt32\">\n    <DisplayName>CurrentSubscriptionsCount</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=63</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=12816</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=12828\" BrowseName=\"CurrentMonitoredItemsCount\" ParentNodeId=\"i=12816\" DataType=\"UInt32\">\n    <DisplayName>CurrentMonitoredItemsCount</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=63</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=12816</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=12829\" BrowseName=\"CurrentPublishRequestsInQueue\" ParentNodeId=\"i=12816\" DataType=\"UInt32\">\n    <DisplayName>CurrentPublishRequestsInQueue</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=63</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=12816</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=12830\" BrowseName=\"TotalRequestCount\" ParentNodeId=\"i=12816\" DataType=\"i=871\">\n    <DisplayName>TotalRequestCount</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=63</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=12816</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=12831\" BrowseName=\"UnauthorizedRequestCount\" ParentNodeId=\"i=12816\" DataType=\"UInt32\">\n    <DisplayName>UnauthorizedRequestCount</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=63</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=12816</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=12832\" BrowseName=\"ReadCount\" ParentNodeId=\"i=12816\" DataType=\"i=871\">\n    <DisplayName>ReadCount</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=63</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=12816</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=12833\" BrowseName=\"HistoryReadCount\" ParentNodeId=\"i=12816\" DataType=\"i=871\">\n    <DisplayName>HistoryReadCount</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=63</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=12816</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=12834\" BrowseName=\"WriteCount\" ParentNodeId=\"i=12816\" DataType=\"i=871\">\n    <DisplayName>WriteCount</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=63</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=12816</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=12835\" BrowseName=\"HistoryUpdateCount\" ParentNodeId=\"i=12816\" DataType=\"i=871\">\n    <DisplayName>HistoryUpdateCount</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=63</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=12816</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=12836\" BrowseName=\"CallCount\" ParentNodeId=\"i=12816\" DataType=\"i=871\">\n    <DisplayName>CallCount</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=63</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=12816</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=12837\" BrowseName=\"CreateMonitoredItemsCount\" ParentNodeId=\"i=12816\" DataType=\"i=871\">\n    <DisplayName>CreateMonitoredItemsCount</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=63</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=12816</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=12838\" BrowseName=\"ModifyMonitoredItemsCount\" ParentNodeId=\"i=12816\" DataType=\"i=871\">\n    <DisplayName>ModifyMonitoredItemsCount</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=63</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=12816</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=12839\" BrowseName=\"SetMonitoringModeCount\" ParentNodeId=\"i=12816\" DataType=\"i=871\">\n    <DisplayName>SetMonitoringModeCount</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=63</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=12816</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=12840\" BrowseName=\"SetTriggeringCount\" ParentNodeId=\"i=12816\" DataType=\"i=871\">\n    <DisplayName>SetTriggeringCount</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=63</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=12816</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=12841\" BrowseName=\"DeleteMonitoredItemsCount\" ParentNodeId=\"i=12816\" DataType=\"i=871\">\n    <DisplayName>DeleteMonitoredItemsCount</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=63</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=12816</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=12842\" BrowseName=\"CreateSubscriptionCount\" ParentNodeId=\"i=12816\" DataType=\"i=871\">\n    <DisplayName>CreateSubscriptionCount</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=63</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=12816</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=12843\" BrowseName=\"ModifySubscriptionCount\" ParentNodeId=\"i=12816\" DataType=\"i=871\">\n    <DisplayName>ModifySubscriptionCount</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=63</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=12816</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=12844\" BrowseName=\"SetPublishingModeCount\" ParentNodeId=\"i=12816\" DataType=\"i=871\">\n    <DisplayName>SetPublishingModeCount</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=63</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=12816</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=12845\" BrowseName=\"PublishCount\" ParentNodeId=\"i=12816\" DataType=\"i=871\">\n    <DisplayName>PublishCount</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=63</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=12816</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=12846\" BrowseName=\"RepublishCount\" ParentNodeId=\"i=12816\" DataType=\"i=871\">\n    <DisplayName>RepublishCount</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=63</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=12816</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=12847\" BrowseName=\"TransferSubscriptionsCount\" ParentNodeId=\"i=12816\" DataType=\"i=871\">\n    <DisplayName>TransferSubscriptionsCount</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=63</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=12816</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=12848\" BrowseName=\"DeleteSubscriptionsCount\" ParentNodeId=\"i=12816\" DataType=\"i=871\">\n    <DisplayName>DeleteSubscriptionsCount</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=63</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=12816</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=12849\" BrowseName=\"AddNodesCount\" ParentNodeId=\"i=12816\" DataType=\"i=871\">\n    <DisplayName>AddNodesCount</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=63</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=12816</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=12850\" BrowseName=\"AddReferencesCount\" ParentNodeId=\"i=12816\" DataType=\"i=871\">\n    <DisplayName>AddReferencesCount</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=63</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=12816</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=12851\" BrowseName=\"DeleteNodesCount\" ParentNodeId=\"i=12816\" DataType=\"i=871\">\n    <DisplayName>DeleteNodesCount</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=63</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=12816</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=12852\" BrowseName=\"DeleteReferencesCount\" ParentNodeId=\"i=12816\" DataType=\"i=871\">\n    <DisplayName>DeleteReferencesCount</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=63</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=12816</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=12853\" BrowseName=\"BrowseCount\" ParentNodeId=\"i=12816\" DataType=\"i=871\">\n    <DisplayName>BrowseCount</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=63</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=12816</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=12854\" BrowseName=\"BrowseNextCount\" ParentNodeId=\"i=12816\" DataType=\"i=871\">\n    <DisplayName>BrowseNextCount</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=63</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=12816</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=12855\" BrowseName=\"TranslateBrowsePathsToNodeIdsCount\" ParentNodeId=\"i=12816\" DataType=\"i=871\">\n    <DisplayName>TranslateBrowsePathsToNodeIdsCount</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=63</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=12816</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=12856\" BrowseName=\"QueryFirstCount\" ParentNodeId=\"i=12816\" DataType=\"i=871\">\n    <DisplayName>QueryFirstCount</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=63</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=12816</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=12857\" BrowseName=\"QueryNextCount\" ParentNodeId=\"i=12816\" DataType=\"i=871\">\n    <DisplayName>QueryNextCount</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=63</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=12816</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=12858\" BrowseName=\"RegisterNodesCount\" ParentNodeId=\"i=12816\" DataType=\"i=871\">\n    <DisplayName>RegisterNodesCount</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=63</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=12816</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=12859\" BrowseName=\"UnregisterNodesCount\" ParentNodeId=\"i=12816\" DataType=\"i=871\">\n    <DisplayName>UnregisterNodesCount</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=63</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=12816</Reference>\n    </References>\n  </UAVariable>\n  <UAVariableType NodeId=\"i=2197\" BrowseName=\"SessionDiagnosticsVariableType\" DataType=\"i=865\">\n    <DisplayName>SessionDiagnosticsVariableType</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasComponent\">i=2198</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=2199</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=2200</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=2201</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=2202</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=2203</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=2204</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=3050</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=2205</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=2206</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=2207</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=2208</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=2209</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=8900</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=11892</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=2217</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=2218</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=2219</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=2220</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=2221</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=2222</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=2223</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=2224</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=2225</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=2226</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=2227</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=2228</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=2229</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=2230</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=2231</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=2232</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=2233</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=2234</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=2235</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=2236</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=2237</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=2238</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=2239</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=2240</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=2241</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=2242</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=2730</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=2731</Reference>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=63</Reference>\n    </References>\n  </UAVariableType>\n  <UAVariable NodeId=\"i=2198\" BrowseName=\"SessionId\" ParentNodeId=\"i=2197\" DataType=\"NodeId\">\n    <DisplayName>SessionId</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=63</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=2197</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=2199\" BrowseName=\"SessionName\" ParentNodeId=\"i=2197\" DataType=\"String\">\n    <DisplayName>SessionName</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=63</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=2197</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=2200\" BrowseName=\"ClientDescription\" ParentNodeId=\"i=2197\" DataType=\"i=308\">\n    <DisplayName>ClientDescription</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=63</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=2197</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=2201\" BrowseName=\"ServerUri\" ParentNodeId=\"i=2197\" DataType=\"String\">\n    <DisplayName>ServerUri</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=63</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=2197</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=2202\" BrowseName=\"EndpointUrl\" ParentNodeId=\"i=2197\" DataType=\"String\">\n    <DisplayName>EndpointUrl</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=63</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=2197</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=2203\" BrowseName=\"LocaleIds\" ParentNodeId=\"i=2197\" DataType=\"i=295\" ValueRank=\"1\" ArrayDimensions=\"0\">\n    <DisplayName>LocaleIds</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=63</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=2197</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=2204\" BrowseName=\"ActualSessionTimeout\" ParentNodeId=\"i=2197\" DataType=\"i=290\">\n    <DisplayName>ActualSessionTimeout</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=63</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=2197</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=3050\" BrowseName=\"MaxResponseMessageSize\" ParentNodeId=\"i=2197\" DataType=\"UInt32\">\n    <DisplayName>MaxResponseMessageSize</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=63</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=2197</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=2205\" BrowseName=\"ClientConnectionTime\" ParentNodeId=\"i=2197\" DataType=\"i=294\">\n    <DisplayName>ClientConnectionTime</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=63</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=2197</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=2206\" BrowseName=\"ClientLastContactTime\" ParentNodeId=\"i=2197\" DataType=\"i=294\">\n    <DisplayName>ClientLastContactTime</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=63</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=2197</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=2207\" BrowseName=\"CurrentSubscriptionsCount\" ParentNodeId=\"i=2197\" DataType=\"UInt32\">\n    <DisplayName>CurrentSubscriptionsCount</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=63</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=2197</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=2208\" BrowseName=\"CurrentMonitoredItemsCount\" ParentNodeId=\"i=2197\" DataType=\"UInt32\">\n    <DisplayName>CurrentMonitoredItemsCount</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=63</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=2197</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=2209\" BrowseName=\"CurrentPublishRequestsInQueue\" ParentNodeId=\"i=2197\" DataType=\"UInt32\">\n    <DisplayName>CurrentPublishRequestsInQueue</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=63</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=2197</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=8900\" BrowseName=\"TotalRequestCount\" ParentNodeId=\"i=2197\" DataType=\"i=871\">\n    <DisplayName>TotalRequestCount</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=63</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=2197</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=11892\" BrowseName=\"UnauthorizedRequestCount\" ParentNodeId=\"i=2197\" DataType=\"UInt32\">\n    <DisplayName>UnauthorizedRequestCount</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=63</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=2197</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=2217\" BrowseName=\"ReadCount\" ParentNodeId=\"i=2197\" DataType=\"i=871\">\n    <DisplayName>ReadCount</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=63</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=2197</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=2218\" BrowseName=\"HistoryReadCount\" ParentNodeId=\"i=2197\" DataType=\"i=871\">\n    <DisplayName>HistoryReadCount</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=63</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=2197</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=2219\" BrowseName=\"WriteCount\" ParentNodeId=\"i=2197\" DataType=\"i=871\">\n    <DisplayName>WriteCount</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=63</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=2197</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=2220\" BrowseName=\"HistoryUpdateCount\" ParentNodeId=\"i=2197\" DataType=\"i=871\">\n    <DisplayName>HistoryUpdateCount</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=63</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=2197</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=2221\" BrowseName=\"CallCount\" ParentNodeId=\"i=2197\" DataType=\"i=871\">\n    <DisplayName>CallCount</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=63</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=2197</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=2222\" BrowseName=\"CreateMonitoredItemsCount\" ParentNodeId=\"i=2197\" DataType=\"i=871\">\n    <DisplayName>CreateMonitoredItemsCount</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=63</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=2197</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=2223\" BrowseName=\"ModifyMonitoredItemsCount\" ParentNodeId=\"i=2197\" DataType=\"i=871\">\n    <DisplayName>ModifyMonitoredItemsCount</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=63</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=2197</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=2224\" BrowseName=\"SetMonitoringModeCount\" ParentNodeId=\"i=2197\" DataType=\"i=871\">\n    <DisplayName>SetMonitoringModeCount</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=63</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=2197</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=2225\" BrowseName=\"SetTriggeringCount\" ParentNodeId=\"i=2197\" DataType=\"i=871\">\n    <DisplayName>SetTriggeringCount</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=63</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=2197</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=2226\" BrowseName=\"DeleteMonitoredItemsCount\" ParentNodeId=\"i=2197\" DataType=\"i=871\">\n    <DisplayName>DeleteMonitoredItemsCount</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=63</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=2197</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=2227\" BrowseName=\"CreateSubscriptionCount\" ParentNodeId=\"i=2197\" DataType=\"i=871\">\n    <DisplayName>CreateSubscriptionCount</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=63</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=2197</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=2228\" BrowseName=\"ModifySubscriptionCount\" ParentNodeId=\"i=2197\" DataType=\"i=871\">\n    <DisplayName>ModifySubscriptionCount</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=63</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=2197</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=2229\" BrowseName=\"SetPublishingModeCount\" ParentNodeId=\"i=2197\" DataType=\"i=871\">\n    <DisplayName>SetPublishingModeCount</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=63</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=2197</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=2230\" BrowseName=\"PublishCount\" ParentNodeId=\"i=2197\" DataType=\"i=871\">\n    <DisplayName>PublishCount</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=63</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=2197</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=2231\" BrowseName=\"RepublishCount\" ParentNodeId=\"i=2197\" DataType=\"i=871\">\n    <DisplayName>RepublishCount</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=63</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=2197</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=2232\" BrowseName=\"TransferSubscriptionsCount\" ParentNodeId=\"i=2197\" DataType=\"i=871\">\n    <DisplayName>TransferSubscriptionsCount</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=63</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=2197</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=2233\" BrowseName=\"DeleteSubscriptionsCount\" ParentNodeId=\"i=2197\" DataType=\"i=871\">\n    <DisplayName>DeleteSubscriptionsCount</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=63</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=2197</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=2234\" BrowseName=\"AddNodesCount\" ParentNodeId=\"i=2197\" DataType=\"i=871\">\n    <DisplayName>AddNodesCount</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=63</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=2197</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=2235\" BrowseName=\"AddReferencesCount\" ParentNodeId=\"i=2197\" DataType=\"i=871\">\n    <DisplayName>AddReferencesCount</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=63</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=2197</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=2236\" BrowseName=\"DeleteNodesCount\" ParentNodeId=\"i=2197\" DataType=\"i=871\">\n    <DisplayName>DeleteNodesCount</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=63</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=2197</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=2237\" BrowseName=\"DeleteReferencesCount\" ParentNodeId=\"i=2197\" DataType=\"i=871\">\n    <DisplayName>DeleteReferencesCount</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=63</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=2197</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=2238\" BrowseName=\"BrowseCount\" ParentNodeId=\"i=2197\" DataType=\"i=871\">\n    <DisplayName>BrowseCount</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=63</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=2197</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=2239\" BrowseName=\"BrowseNextCount\" ParentNodeId=\"i=2197\" DataType=\"i=871\">\n    <DisplayName>BrowseNextCount</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=63</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=2197</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=2240\" BrowseName=\"TranslateBrowsePathsToNodeIdsCount\" ParentNodeId=\"i=2197\" DataType=\"i=871\">\n    <DisplayName>TranslateBrowsePathsToNodeIdsCount</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=63</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=2197</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=2241\" BrowseName=\"QueryFirstCount\" ParentNodeId=\"i=2197\" DataType=\"i=871\">\n    <DisplayName>QueryFirstCount</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=63</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=2197</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=2242\" BrowseName=\"QueryNextCount\" ParentNodeId=\"i=2197\" DataType=\"i=871\">\n    <DisplayName>QueryNextCount</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=63</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=2197</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=2730\" BrowseName=\"RegisterNodesCount\" ParentNodeId=\"i=2197\" DataType=\"i=871\">\n    <DisplayName>RegisterNodesCount</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=63</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=2197</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=2731\" BrowseName=\"UnregisterNodesCount\" ParentNodeId=\"i=2197\" DataType=\"i=871\">\n    <DisplayName>UnregisterNodesCount</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=63</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=2197</Reference>\n    </References>\n  </UAVariable>\n  <UAVariableType NodeId=\"i=2243\" BrowseName=\"SessionSecurityDiagnosticsArrayType\" DataType=\"i=868\" ValueRank=\"1\" ArrayDimensions=\"0\">\n    <DisplayName>SessionSecurityDiagnosticsArrayType</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasComponent\">i=12860</Reference>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=63</Reference>\n    </References>\n  </UAVariableType>\n  <UAVariable NodeId=\"i=12860\" BrowseName=\"SessionSecurityDiagnostics\" ParentNodeId=\"i=2243\" DataType=\"i=868\">\n    <DisplayName>SessionSecurityDiagnostics</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasComponent\">i=12861</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=12862</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=12863</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=12864</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=12865</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=12866</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=12867</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=12868</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=12869</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=2244</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=83</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=2243</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=12861\" BrowseName=\"SessionId\" ParentNodeId=\"i=12860\" DataType=\"NodeId\">\n    <DisplayName>SessionId</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=63</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=12860</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=12862\" BrowseName=\"ClientUserIdOfSession\" ParentNodeId=\"i=12860\" DataType=\"String\">\n    <DisplayName>ClientUserIdOfSession</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=63</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=12860</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=12863\" BrowseName=\"ClientUserIdHistory\" ParentNodeId=\"i=12860\" DataType=\"String\" ValueRank=\"1\" ArrayDimensions=\"0\">\n    <DisplayName>ClientUserIdHistory</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=63</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=12860</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=12864\" BrowseName=\"AuthenticationMechanism\" ParentNodeId=\"i=12860\" DataType=\"String\">\n    <DisplayName>AuthenticationMechanism</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=63</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=12860</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=12865\" BrowseName=\"Encoding\" ParentNodeId=\"i=12860\" DataType=\"String\">\n    <DisplayName>Encoding</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=63</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=12860</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=12866\" BrowseName=\"TransportProtocol\" ParentNodeId=\"i=12860\" DataType=\"String\">\n    <DisplayName>TransportProtocol</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=63</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=12860</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=12867\" BrowseName=\"SecurityMode\" ParentNodeId=\"i=12860\" DataType=\"i=302\">\n    <DisplayName>SecurityMode</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=63</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=12860</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=12868\" BrowseName=\"SecurityPolicyUri\" ParentNodeId=\"i=12860\" DataType=\"String\">\n    <DisplayName>SecurityPolicyUri</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=63</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=12860</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=12869\" BrowseName=\"ClientCertificate\" ParentNodeId=\"i=12860\" DataType=\"ByteString\">\n    <DisplayName>ClientCertificate</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=63</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=12860</Reference>\n    </References>\n  </UAVariable>\n  <UAVariableType NodeId=\"i=2244\" BrowseName=\"SessionSecurityDiagnosticsType\" DataType=\"i=868\">\n    <DisplayName>SessionSecurityDiagnosticsType</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasComponent\">i=2245</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=2246</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=2247</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=2248</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=2249</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=2250</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=2251</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=2252</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=3058</Reference>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=63</Reference>\n    </References>\n  </UAVariableType>\n  <UAVariable NodeId=\"i=2245\" BrowseName=\"SessionId\" ParentNodeId=\"i=2244\" DataType=\"NodeId\">\n    <DisplayName>SessionId</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=63</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=2244</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=2246\" BrowseName=\"ClientUserIdOfSession\" ParentNodeId=\"i=2244\" DataType=\"String\">\n    <DisplayName>ClientUserIdOfSession</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=63</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=2244</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=2247\" BrowseName=\"ClientUserIdHistory\" ParentNodeId=\"i=2244\" DataType=\"String\" ValueRank=\"1\" ArrayDimensions=\"0\">\n    <DisplayName>ClientUserIdHistory</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=63</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=2244</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=2248\" BrowseName=\"AuthenticationMechanism\" ParentNodeId=\"i=2244\" DataType=\"String\">\n    <DisplayName>AuthenticationMechanism</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=63</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=2244</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=2249\" BrowseName=\"Encoding\" ParentNodeId=\"i=2244\" DataType=\"String\">\n    <DisplayName>Encoding</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=63</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=2244</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=2250\" BrowseName=\"TransportProtocol\" ParentNodeId=\"i=2244\" DataType=\"String\">\n    <DisplayName>TransportProtocol</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=63</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=2244</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=2251\" BrowseName=\"SecurityMode\" ParentNodeId=\"i=2244\" DataType=\"i=302\">\n    <DisplayName>SecurityMode</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=63</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=2244</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=2252\" BrowseName=\"SecurityPolicyUri\" ParentNodeId=\"i=2244\" DataType=\"String\">\n    <DisplayName>SecurityPolicyUri</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=63</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=2244</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=3058\" BrowseName=\"ClientCertificate\" ParentNodeId=\"i=2244\" DataType=\"ByteString\">\n    <DisplayName>ClientCertificate</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=63</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=2244</Reference>\n    </References>\n  </UAVariable>\n  <UAVariableType NodeId=\"i=11487\" BrowseName=\"OptionSetType\">\n    <DisplayName>OptionSetType</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=11488</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=11701</Reference>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=63</Reference>\n    </References>\n  </UAVariableType>\n  <UAVariable NodeId=\"i=11488\" BrowseName=\"OptionSetValues\" ParentNodeId=\"i=11487\" DataType=\"LocalizedText\" ValueRank=\"1\" ArrayDimensions=\"0\">\n    <DisplayName>OptionSetValues</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=11487</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=11701\" BrowseName=\"BitMask\" ParentNodeId=\"i=11487\" DataType=\"Boolean\" ValueRank=\"1\" ArrayDimensions=\"0\">\n    <DisplayName>BitMask</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=80</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=11487</Reference>\n    </References>\n  </UAVariable>\n  <UAVariableType NodeId=\"i=16309\" BrowseName=\"SelectionListType\" ValueRank=\"-2\">\n    <DisplayName>SelectionListType</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=17632</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=17633</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=16312</Reference>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=63</Reference>\n    </References>\n  </UAVariableType>\n  <UAVariable NodeId=\"i=17632\" BrowseName=\"Selections\" ParentNodeId=\"i=16309\" ValueRank=\"1\" ArrayDimensions=\"0\">\n    <DisplayName>Selections</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=16309</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=17633\" BrowseName=\"SelectionDescriptions\" ParentNodeId=\"i=16309\" DataType=\"LocalizedText\" ValueRank=\"1\" ArrayDimensions=\"0\">\n    <DisplayName>SelectionDescriptions</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=80</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=16309</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=16312\" BrowseName=\"RestrictToList\" ParentNodeId=\"i=16309\" DataType=\"Boolean\">\n    <DisplayName>RestrictToList</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=80</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=16309</Reference>\n    </References>\n  </UAVariable>\n  <UAVariableType NodeId=\"i=17986\" BrowseName=\"AudioVariableType\" DataType=\"i=16307\">\n    <DisplayName>AudioVariableType</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=17988</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=17989</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=17990</Reference>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=63</Reference>\n    </References>\n  </UAVariableType>\n  <UAVariable NodeId=\"i=17988\" BrowseName=\"ListId\" ParentNodeId=\"i=17986\" DataType=\"String\">\n    <DisplayName>ListId</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=80</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=17986</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=17989\" BrowseName=\"AgencyId\" ParentNodeId=\"i=17986\" DataType=\"String\">\n    <DisplayName>AgencyId</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=80</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=17986</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=17990\" BrowseName=\"VersionId\" ParentNodeId=\"i=17986\" DataType=\"String\">\n    <DisplayName>VersionId</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=80</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=17986</Reference>\n    </References>\n  </UAVariable>\n  <UAObject NodeId=\"i=3048\" BrowseName=\"EventTypes\" SymbolicName=\"EventTypesFolder\">\n    <DisplayName>EventTypes</DisplayName>\n    <References>\n      <Reference ReferenceType=\"Organizes\" IsForward=\"false\">i=86</Reference>\n      <Reference ReferenceType=\"Organizes\">i=2041</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=61</Reference>\n    </References>\n  </UAObject>\n  <UAObject NodeId=\"i=2253\" BrowseName=\"Server\" EventNotifier=\"1\">\n    <DisplayName>Server</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=2254</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=2255</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=2256</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=2267</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=2994</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=12885</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=17634</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=2268</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=2274</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=2295</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=2296</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=11715</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=11492</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=12873</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=12749</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=12886</Reference>\n      <Reference ReferenceType=\"Organizes\" IsForward=\"false\">i=85</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=2004</Reference>\n    </References>\n  </UAObject>\n  <UAVariable NodeId=\"i=2254\" BrowseName=\"ServerArray\" ParentNodeId=\"i=2253\" DataType=\"String\" ValueRank=\"1\" ArrayDimensions=\"0\" MinimumSamplingInterval=\"1000\">\n    <DisplayName>ServerArray</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=2253</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=2255\" BrowseName=\"NamespaceArray\" ParentNodeId=\"i=2253\" DataType=\"String\" ValueRank=\"1\" ArrayDimensions=\"0\" MinimumSamplingInterval=\"1000\">\n    <DisplayName>NamespaceArray</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=2253</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=2256\" BrowseName=\"ServerStatus\" ParentNodeId=\"i=2253\" DataType=\"i=862\" MinimumSamplingInterval=\"1000\">\n    <DisplayName>ServerStatus</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasComponent\">i=2257</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=2258</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=2259</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=2260</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=2992</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=2993</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=2138</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=2253</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=2257\" BrowseName=\"StartTime\" ParentNodeId=\"i=2256\" DataType=\"i=294\">\n    <DisplayName>StartTime</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=63</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=2256</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=2258\" BrowseName=\"CurrentTime\" ParentNodeId=\"i=2256\" DataType=\"i=294\">\n    <DisplayName>CurrentTime</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=63</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=2256</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=2259\" BrowseName=\"State\" ParentNodeId=\"i=2256\" DataType=\"i=852\">\n    <DisplayName>State</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=63</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=2256</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=2260\" BrowseName=\"BuildInfo\" ParentNodeId=\"i=2256\" DataType=\"i=338\">\n    <DisplayName>BuildInfo</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasComponent\">i=2262</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=2263</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=2261</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=2264</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=2265</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=2266</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=3051</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=2256</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=2262\" BrowseName=\"ProductUri\" ParentNodeId=\"i=2260\" DataType=\"String\" MinimumSamplingInterval=\"1000\">\n    <DisplayName>ProductUri</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=63</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=2260</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=2263\" BrowseName=\"ManufacturerName\" ParentNodeId=\"i=2260\" DataType=\"String\" MinimumSamplingInterval=\"1000\">\n    <DisplayName>ManufacturerName</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=63</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=2260</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=2261\" BrowseName=\"ProductName\" ParentNodeId=\"i=2260\" DataType=\"String\" MinimumSamplingInterval=\"1000\">\n    <DisplayName>ProductName</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=63</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=2260</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=2264\" BrowseName=\"SoftwareVersion\" ParentNodeId=\"i=2260\" DataType=\"String\" MinimumSamplingInterval=\"1000\">\n    <DisplayName>SoftwareVersion</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=63</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=2260</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=2265\" BrowseName=\"BuildNumber\" ParentNodeId=\"i=2260\" DataType=\"String\" MinimumSamplingInterval=\"1000\">\n    <DisplayName>BuildNumber</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=63</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=2260</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=2266\" BrowseName=\"BuildDate\" ParentNodeId=\"i=2260\" DataType=\"i=294\" MinimumSamplingInterval=\"1000\">\n    <DisplayName>BuildDate</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=63</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=2260</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=2992\" BrowseName=\"SecondsTillShutdown\" ParentNodeId=\"i=2256\" DataType=\"UInt32\">\n    <DisplayName>SecondsTillShutdown</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=63</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=2256</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=2993\" BrowseName=\"ShutdownReason\" ParentNodeId=\"i=2256\" DataType=\"LocalizedText\">\n    <DisplayName>ShutdownReason</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=63</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=2256</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=2267\" BrowseName=\"ServiceLevel\" ParentNodeId=\"i=2253\" DataType=\"Byte\" MinimumSamplingInterval=\"1000\">\n    <DisplayName>ServiceLevel</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=2253</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=2994\" BrowseName=\"Auditing\" ParentNodeId=\"i=2253\" DataType=\"Boolean\" MinimumSamplingInterval=\"1000\">\n    <DisplayName>Auditing</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=2253</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=12885\" BrowseName=\"EstimatedReturnTime\" ParentNodeId=\"i=2253\" DataType=\"DateTime\" MinimumSamplingInterval=\"1000\">\n    <DisplayName>EstimatedReturnTime</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=2253</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=17634\" BrowseName=\"LocalTime\" ParentNodeId=\"i=2253\" DataType=\"i=8912\" MinimumSamplingInterval=\"1000\">\n    <DisplayName>LocalTime</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=2253</Reference>\n    </References>\n  </UAVariable>\n  <UAObject NodeId=\"i=2268\" BrowseName=\"ServerCapabilities\" ParentNodeId=\"i=2253\">\n    <DisplayName>ServerCapabilities</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=2269</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=2271</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=2272</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=2735</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=2736</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=2737</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=3704</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=11702</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=11703</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=12911</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=11704</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=2996</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=2997</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=15606</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=2013</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=2253</Reference>\n    </References>\n  </UAObject>\n  <UAVariable NodeId=\"i=2269\" BrowseName=\"ServerProfileArray\" ParentNodeId=\"i=2268\" DataType=\"String\" ValueRank=\"1\" ArrayDimensions=\"0\">\n    <DisplayName>ServerProfileArray</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=2268</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=2271\" BrowseName=\"LocaleIdArray\" ParentNodeId=\"i=2268\" DataType=\"i=295\" ValueRank=\"1\" ArrayDimensions=\"0\">\n    <DisplayName>LocaleIdArray</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=2268</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=2272\" BrowseName=\"MinSupportedSampleRate\" ParentNodeId=\"i=2268\" DataType=\"i=290\">\n    <DisplayName>MinSupportedSampleRate</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=2268</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=2735\" BrowseName=\"MaxBrowseContinuationPoints\" ParentNodeId=\"i=2268\" DataType=\"UInt16\">\n    <DisplayName>MaxBrowseContinuationPoints</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=2268</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=2736\" BrowseName=\"MaxQueryContinuationPoints\" ParentNodeId=\"i=2268\" DataType=\"UInt16\">\n    <DisplayName>MaxQueryContinuationPoints</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=2268</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=2737\" BrowseName=\"MaxHistoryContinuationPoints\" ParentNodeId=\"i=2268\" DataType=\"UInt16\">\n    <DisplayName>MaxHistoryContinuationPoints</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=2268</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=3704\" BrowseName=\"SoftwareCertificates\" ParentNodeId=\"i=2268\" DataType=\"i=344\" ValueRank=\"1\" ArrayDimensions=\"0\">\n    <DisplayName>SoftwareCertificates</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=2268</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=11702\" BrowseName=\"MaxArrayLength\" ParentNodeId=\"i=2268\" DataType=\"UInt32\">\n    <DisplayName>MaxArrayLength</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=2268</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=11703\" BrowseName=\"MaxStringLength\" ParentNodeId=\"i=2268\" DataType=\"UInt32\">\n    <DisplayName>MaxStringLength</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=2268</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=12911\" BrowseName=\"MaxByteStringLength\" ParentNodeId=\"i=2268\" DataType=\"UInt32\">\n    <DisplayName>MaxByteStringLength</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=2268</Reference>\n    </References>\n  </UAVariable>\n  <UAObject NodeId=\"i=11704\" BrowseName=\"OperationLimits\" ParentNodeId=\"i=2268\">\n    <DisplayName>OperationLimits</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=11705</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=12165</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=12166</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=11707</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=12167</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=12168</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=11709</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=11710</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=11711</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=11712</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=11713</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=11714</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=11564</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=2268</Reference>\n    </References>\n  </UAObject>\n  <UAVariable NodeId=\"i=11705\" BrowseName=\"MaxNodesPerRead\" ParentNodeId=\"i=11704\" DataType=\"UInt32\">\n    <DisplayName>MaxNodesPerRead</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=11704</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=12165\" BrowseName=\"MaxNodesPerHistoryReadData\" ParentNodeId=\"i=11704\" DataType=\"UInt32\">\n    <DisplayName>MaxNodesPerHistoryReadData</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=11704</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=12166\" BrowseName=\"MaxNodesPerHistoryReadEvents\" ParentNodeId=\"i=11704\" DataType=\"UInt32\">\n    <DisplayName>MaxNodesPerHistoryReadEvents</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=11704</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=11707\" BrowseName=\"MaxNodesPerWrite\" ParentNodeId=\"i=11704\" DataType=\"UInt32\">\n    <DisplayName>MaxNodesPerWrite</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=11704</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=12167\" BrowseName=\"MaxNodesPerHistoryUpdateData\" ParentNodeId=\"i=11704\" DataType=\"UInt32\">\n    <DisplayName>MaxNodesPerHistoryUpdateData</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=11704</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=12168\" BrowseName=\"MaxNodesPerHistoryUpdateEvents\" ParentNodeId=\"i=11704\" DataType=\"UInt32\">\n    <DisplayName>MaxNodesPerHistoryUpdateEvents</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=11704</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=11709\" BrowseName=\"MaxNodesPerMethodCall\" ParentNodeId=\"i=11704\" DataType=\"UInt32\">\n    <DisplayName>MaxNodesPerMethodCall</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=11704</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=11710\" BrowseName=\"MaxNodesPerBrowse\" ParentNodeId=\"i=11704\" DataType=\"UInt32\">\n    <DisplayName>MaxNodesPerBrowse</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=11704</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=11711\" BrowseName=\"MaxNodesPerRegisterNodes\" ParentNodeId=\"i=11704\" DataType=\"UInt32\">\n    <DisplayName>MaxNodesPerRegisterNodes</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=11704</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=11712\" BrowseName=\"MaxNodesPerTranslateBrowsePathsToNodeIds\" ParentNodeId=\"i=11704\" DataType=\"UInt32\">\n    <DisplayName>MaxNodesPerTranslateBrowsePathsToNodeIds</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=11704</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=11713\" BrowseName=\"MaxNodesPerNodeManagement\" ParentNodeId=\"i=11704\" DataType=\"UInt32\">\n    <DisplayName>MaxNodesPerNodeManagement</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=11704</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=11714\" BrowseName=\"MaxMonitoredItemsPerCall\" ParentNodeId=\"i=11704\" DataType=\"UInt32\">\n    <DisplayName>MaxMonitoredItemsPerCall</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=11704</Reference>\n    </References>\n  </UAVariable>\n  <UAObject NodeId=\"i=2996\" BrowseName=\"ModellingRules\" ParentNodeId=\"i=2268\">\n    <DisplayName>ModellingRules</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=61</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=2268</Reference>\n    </References>\n  </UAObject>\n  <UAObject NodeId=\"i=2997\" BrowseName=\"AggregateFunctions\" ParentNodeId=\"i=2268\">\n    <DisplayName>AggregateFunctions</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=61</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=2268</Reference>\n    </References>\n  </UAObject>\n  <UAObject NodeId=\"i=15606\" BrowseName=\"RoleSet\" ParentNodeId=\"i=2268\">\n    <DisplayName>RoleSet</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasComponent\">i=16301</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=16304</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=15607</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=2268</Reference>\n    </References>\n  </UAObject>\n  <UAMethod NodeId=\"i=16301\" BrowseName=\"AddRole\" ParentNodeId=\"i=15606\" MethodDeclarationId=\"i=15997\">\n    <DisplayName>AddRole</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=16302</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=16303</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=15606</Reference>\n    </References>\n  </UAMethod>\n  <UAVariable NodeId=\"i=16302\" BrowseName=\"InputArguments\" ParentNodeId=\"i=16301\" DataType=\"i=296\" ValueRank=\"1\" ArrayDimensions=\"0\">\n    <DisplayName>InputArguments</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=16301</Reference>\n    </References>\n    <Value>\n      <ListOfExtensionObject xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=297</Identifier>\n          </TypeId>\n          <Body>\n            <Argument>\n              <Name>RoleName</Name>\n              <DataType>\n                <Identifier>i=12</Identifier>\n              </DataType>\n              <ValueRank>-1</ValueRank>\n              <ArrayDimensions />\n            </Argument>\n          </Body>\n        </ExtensionObject>\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=297</Identifier>\n          </TypeId>\n          <Body>\n            <Argument>\n              <Name>NamespaceUri</Name>\n              <DataType>\n                <Identifier>i=12</Identifier>\n              </DataType>\n              <ValueRank>-1</ValueRank>\n              <ArrayDimensions />\n            </Argument>\n          </Body>\n        </ExtensionObject>\n      </ListOfExtensionObject>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"i=16303\" BrowseName=\"OutputArguments\" ParentNodeId=\"i=16301\" DataType=\"i=296\" ValueRank=\"1\" ArrayDimensions=\"0\">\n    <DisplayName>OutputArguments</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=16301</Reference>\n    </References>\n    <Value>\n      <ListOfExtensionObject xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=297</Identifier>\n          </TypeId>\n          <Body>\n            <Argument>\n              <Name>RoleNodeId</Name>\n              <DataType>\n                <Identifier>i=17</Identifier>\n              </DataType>\n              <ValueRank>-1</ValueRank>\n              <ArrayDimensions />\n            </Argument>\n          </Body>\n        </ExtensionObject>\n      </ListOfExtensionObject>\n    </Value>\n  </UAVariable>\n  <UAMethod NodeId=\"i=16304\" BrowseName=\"RemoveRole\" ParentNodeId=\"i=15606\" MethodDeclarationId=\"i=16000\">\n    <DisplayName>RemoveRole</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=16305</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=15606</Reference>\n    </References>\n  </UAMethod>\n  <UAVariable NodeId=\"i=16305\" BrowseName=\"InputArguments\" ParentNodeId=\"i=16304\" DataType=\"i=296\" ValueRank=\"1\" ArrayDimensions=\"0\">\n    <DisplayName>InputArguments</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=16304</Reference>\n    </References>\n    <Value>\n      <ListOfExtensionObject xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=297</Identifier>\n          </TypeId>\n          <Body>\n            <Argument>\n              <Name>RoleNodeId</Name>\n              <DataType>\n                <Identifier>i=17</Identifier>\n              </DataType>\n              <ValueRank>-1</ValueRank>\n              <ArrayDimensions />\n            </Argument>\n          </Body>\n        </ExtensionObject>\n      </ListOfExtensionObject>\n    </Value>\n  </UAVariable>\n  <UAObject NodeId=\"i=2274\" BrowseName=\"ServerDiagnostics\" ParentNodeId=\"i=2253\">\n    <DisplayName>ServerDiagnostics</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasComponent\">i=2275</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=2289</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=2290</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=3706</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=2294</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=2020</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=2253</Reference>\n    </References>\n  </UAObject>\n  <UAVariable NodeId=\"i=2275\" BrowseName=\"ServerDiagnosticsSummary\" ParentNodeId=\"i=2274\" DataType=\"i=859\">\n    <DisplayName>ServerDiagnosticsSummary</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasComponent\">i=2276</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=2277</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=2278</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=2279</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=3705</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=2281</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=2282</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=2284</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=2285</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=2286</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=2287</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=2288</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=2150</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=2274</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=2276\" BrowseName=\"ServerViewCount\" ParentNodeId=\"i=2275\" DataType=\"UInt32\">\n    <DisplayName>ServerViewCount</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=63</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=2275</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=2277\" BrowseName=\"CurrentSessionCount\" ParentNodeId=\"i=2275\" DataType=\"UInt32\">\n    <DisplayName>CurrentSessionCount</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=63</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=2275</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=2278\" BrowseName=\"CumulatedSessionCount\" ParentNodeId=\"i=2275\" DataType=\"UInt32\">\n    <DisplayName>CumulatedSessionCount</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=63</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=2275</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=2279\" BrowseName=\"SecurityRejectedSessionCount\" ParentNodeId=\"i=2275\" DataType=\"UInt32\">\n    <DisplayName>SecurityRejectedSessionCount</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=63</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=2275</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=3705\" BrowseName=\"RejectedSessionCount\" ParentNodeId=\"i=2275\" DataType=\"UInt32\">\n    <DisplayName>RejectedSessionCount</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=63</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=2275</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=2281\" BrowseName=\"SessionTimeoutCount\" ParentNodeId=\"i=2275\" DataType=\"UInt32\">\n    <DisplayName>SessionTimeoutCount</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=63</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=2275</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=2282\" BrowseName=\"SessionAbortCount\" ParentNodeId=\"i=2275\" DataType=\"UInt32\">\n    <DisplayName>SessionAbortCount</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=63</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=2275</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=2284\" BrowseName=\"PublishingIntervalCount\" ParentNodeId=\"i=2275\" DataType=\"UInt32\">\n    <DisplayName>PublishingIntervalCount</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=63</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=2275</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=2285\" BrowseName=\"CurrentSubscriptionCount\" ParentNodeId=\"i=2275\" DataType=\"UInt32\">\n    <DisplayName>CurrentSubscriptionCount</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=63</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=2275</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=2286\" BrowseName=\"CumulatedSubscriptionCount\" ParentNodeId=\"i=2275\" DataType=\"UInt32\">\n    <DisplayName>CumulatedSubscriptionCount</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=63</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=2275</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=2287\" BrowseName=\"SecurityRejectedRequestsCount\" ParentNodeId=\"i=2275\" DataType=\"UInt32\">\n    <DisplayName>SecurityRejectedRequestsCount</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=63</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=2275</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=2288\" BrowseName=\"RejectedRequestsCount\" ParentNodeId=\"i=2275\" DataType=\"UInt32\">\n    <DisplayName>RejectedRequestsCount</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=63</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=2275</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=2289\" BrowseName=\"SamplingIntervalDiagnosticsArray\" ParentNodeId=\"i=2274\" DataType=\"i=856\" ValueRank=\"1\" ArrayDimensions=\"0\">\n    <DisplayName>SamplingIntervalDiagnosticsArray</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=2164</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=2274</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=2290\" BrowseName=\"SubscriptionDiagnosticsArray\" ParentNodeId=\"i=2274\" DataType=\"i=874\" ValueRank=\"1\" ArrayDimensions=\"0\">\n    <DisplayName>SubscriptionDiagnosticsArray</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=2171</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=2274</Reference>\n    </References>\n  </UAVariable>\n  <UAObject NodeId=\"i=3706\" BrowseName=\"SessionsDiagnosticsSummary\" ParentNodeId=\"i=2274\">\n    <DisplayName>SessionsDiagnosticsSummary</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasComponent\">i=3707</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=3708</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=2026</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=2274</Reference>\n    </References>\n  </UAObject>\n  <UAVariable NodeId=\"i=3707\" BrowseName=\"SessionDiagnosticsArray\" ParentNodeId=\"i=3706\" DataType=\"i=865\" ValueRank=\"1\" ArrayDimensions=\"0\">\n    <DisplayName>SessionDiagnosticsArray</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=2196</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=3706</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=3708\" BrowseName=\"SessionSecurityDiagnosticsArray\" ParentNodeId=\"i=3706\" DataType=\"i=868\" ValueRank=\"1\" ArrayDimensions=\"0\">\n    <DisplayName>SessionSecurityDiagnosticsArray</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=2243</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=3706</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=2294\" BrowseName=\"EnabledFlag\" ParentNodeId=\"i=2274\" DataType=\"Boolean\" AccessLevel=\"3\">\n    <DisplayName>EnabledFlag</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=2274</Reference>\n    </References>\n  </UAVariable>\n  <UAObject NodeId=\"i=2295\" BrowseName=\"VendorServerInfo\" ParentNodeId=\"i=2253\">\n    <DisplayName>VendorServerInfo</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=2033</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=2253</Reference>\n    </References>\n  </UAObject>\n  <UAObject NodeId=\"i=2296\" BrowseName=\"ServerRedundancy\" ParentNodeId=\"i=2253\">\n    <DisplayName>ServerRedundancy</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=3709</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=2034</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=2253</Reference>\n    </References>\n  </UAObject>\n  <UAVariable NodeId=\"i=3709\" BrowseName=\"RedundancySupport\" ParentNodeId=\"i=2296\" DataType=\"i=851\">\n    <DisplayName>RedundancySupport</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=2296</Reference>\n    </References>\n  </UAVariable>\n  <UAObject NodeId=\"i=11715\" BrowseName=\"Namespaces\" ParentNodeId=\"i=2253\">\n    <DisplayName>Namespaces</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=11645</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=2253</Reference>\n    </References>\n  </UAObject>\n  <UAMethod NodeId=\"i=11492\" BrowseName=\"GetMonitoredItems\" ParentNodeId=\"i=2253\" MethodDeclarationId=\"i=11489\">\n    <DisplayName>GetMonitoredItems</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=11493</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=11494</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=2253</Reference>\n    </References>\n  </UAMethod>\n  <UAVariable NodeId=\"i=11493\" BrowseName=\"InputArguments\" ParentNodeId=\"i=11492\" DataType=\"i=296\" ValueRank=\"1\" ArrayDimensions=\"0\">\n    <DisplayName>InputArguments</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=11492</Reference>\n    </References>\n    <Value>\n      <ListOfExtensionObject xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=297</Identifier>\n          </TypeId>\n          <Body>\n            <Argument>\n              <Name>SubscriptionId</Name>\n              <DataType>\n                <Identifier>i=7</Identifier>\n              </DataType>\n              <ValueRank>-1</ValueRank>\n              <ArrayDimensions />\n            </Argument>\n          </Body>\n        </ExtensionObject>\n      </ListOfExtensionObject>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"i=11494\" BrowseName=\"OutputArguments\" ParentNodeId=\"i=11492\" DataType=\"i=296\" ValueRank=\"1\" ArrayDimensions=\"0\">\n    <DisplayName>OutputArguments</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=11492</Reference>\n    </References>\n    <Value>\n      <ListOfExtensionObject xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=297</Identifier>\n          </TypeId>\n          <Body>\n            <Argument>\n              <Name>ServerHandles</Name>\n              <DataType>\n                <Identifier>i=7</Identifier>\n              </DataType>\n              <ValueRank>1</ValueRank>\n              <ArrayDimensions>\n                <UInt32>0</UInt32>\n              </ArrayDimensions>\n            </Argument>\n          </Body>\n        </ExtensionObject>\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=297</Identifier>\n          </TypeId>\n          <Body>\n            <Argument>\n              <Name>ClientHandles</Name>\n              <DataType>\n                <Identifier>i=7</Identifier>\n              </DataType>\n              <ValueRank>1</ValueRank>\n              <ArrayDimensions>\n                <UInt32>0</UInt32>\n              </ArrayDimensions>\n            </Argument>\n          </Body>\n        </ExtensionObject>\n      </ListOfExtensionObject>\n    </Value>\n  </UAVariable>\n  <UAMethod NodeId=\"i=12873\" BrowseName=\"ResendData\" ParentNodeId=\"i=2253\" MethodDeclarationId=\"i=12871\">\n    <DisplayName>ResendData</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=12874</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=2253</Reference>\n    </References>\n  </UAMethod>\n  <UAVariable NodeId=\"i=12874\" BrowseName=\"InputArguments\" ParentNodeId=\"i=12873\" DataType=\"i=296\" ValueRank=\"1\" ArrayDimensions=\"0\">\n    <DisplayName>InputArguments</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=12873</Reference>\n    </References>\n    <Value>\n      <ListOfExtensionObject xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=297</Identifier>\n          </TypeId>\n          <Body>\n            <Argument>\n              <Name>SubscriptionId</Name>\n              <DataType>\n                <Identifier>i=7</Identifier>\n              </DataType>\n              <ValueRank>-1</ValueRank>\n              <ArrayDimensions />\n            </Argument>\n          </Body>\n        </ExtensionObject>\n      </ListOfExtensionObject>\n    </Value>\n  </UAVariable>\n  <UAMethod NodeId=\"i=12749\" BrowseName=\"SetSubscriptionDurable\" ParentNodeId=\"i=2253\" MethodDeclarationId=\"i=12746\">\n    <DisplayName>SetSubscriptionDurable</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=12750</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=12751</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=2253</Reference>\n    </References>\n  </UAMethod>\n  <UAVariable NodeId=\"i=12750\" BrowseName=\"InputArguments\" ParentNodeId=\"i=12749\" DataType=\"i=296\" ValueRank=\"1\" ArrayDimensions=\"0\">\n    <DisplayName>InputArguments</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=12749</Reference>\n    </References>\n    <Value>\n      <ListOfExtensionObject xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=297</Identifier>\n          </TypeId>\n          <Body>\n            <Argument>\n              <Name>SubscriptionId</Name>\n              <DataType>\n                <Identifier>i=7</Identifier>\n              </DataType>\n              <ValueRank>-1</ValueRank>\n              <ArrayDimensions />\n            </Argument>\n          </Body>\n        </ExtensionObject>\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=297</Identifier>\n          </TypeId>\n          <Body>\n            <Argument>\n              <Name>LifetimeInHours</Name>\n              <DataType>\n                <Identifier>i=7</Identifier>\n              </DataType>\n              <ValueRank>-1</ValueRank>\n              <ArrayDimensions />\n            </Argument>\n          </Body>\n        </ExtensionObject>\n      </ListOfExtensionObject>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"i=12751\" BrowseName=\"OutputArguments\" ParentNodeId=\"i=12749\" DataType=\"i=296\" ValueRank=\"1\" ArrayDimensions=\"0\">\n    <DisplayName>OutputArguments</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=12749</Reference>\n    </References>\n    <Value>\n      <ListOfExtensionObject xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=297</Identifier>\n          </TypeId>\n          <Body>\n            <Argument>\n              <Name>RevisedLifetimeInHours</Name>\n              <DataType>\n                <Identifier>i=7</Identifier>\n              </DataType>\n              <ValueRank>-1</ValueRank>\n              <ArrayDimensions />\n            </Argument>\n          </Body>\n        </ExtensionObject>\n      </ListOfExtensionObject>\n    </Value>\n  </UAVariable>\n  <UAMethod NodeId=\"i=12886\" BrowseName=\"RequestServerStateChange\" ParentNodeId=\"i=2253\" MethodDeclarationId=\"i=12883\">\n    <DisplayName>RequestServerStateChange</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=12887</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=2253</Reference>\n    </References>\n  </UAMethod>\n  <UAVariable NodeId=\"i=12887\" BrowseName=\"InputArguments\" ParentNodeId=\"i=12886\" DataType=\"i=296\" ValueRank=\"1\" ArrayDimensions=\"0\">\n    <DisplayName>InputArguments</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=12886</Reference>\n    </References>\n    <Value>\n      <ListOfExtensionObject xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=297</Identifier>\n          </TypeId>\n          <Body>\n            <Argument>\n              <Name>State</Name>\n              <DataType>\n                <Identifier>i=852</Identifier>\n              </DataType>\n              <ValueRank>-1</ValueRank>\n              <ArrayDimensions />\n            </Argument>\n          </Body>\n        </ExtensionObject>\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=297</Identifier>\n          </TypeId>\n          <Body>\n            <Argument>\n              <Name>EstimatedReturnTime</Name>\n              <DataType>\n                <Identifier>i=13</Identifier>\n              </DataType>\n              <ValueRank>-1</ValueRank>\n              <ArrayDimensions />\n            </Argument>\n          </Body>\n        </ExtensionObject>\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=297</Identifier>\n          </TypeId>\n          <Body>\n            <Argument>\n              <Name>SecondsTillShutdown</Name>\n              <DataType>\n                <Identifier>i=7</Identifier>\n              </DataType>\n              <ValueRank>-1</ValueRank>\n              <ArrayDimensions />\n            </Argument>\n          </Body>\n        </ExtensionObject>\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=297</Identifier>\n          </TypeId>\n          <Body>\n            <Argument>\n              <Name>Reason</Name>\n              <DataType>\n                <Identifier>i=21</Identifier>\n              </DataType>\n              <ValueRank>-1</ValueRank>\n              <ArrayDimensions />\n            </Argument>\n          </Body>\n        </ExtensionObject>\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=297</Identifier>\n          </TypeId>\n          <Body>\n            <Argument>\n              <Name>Restart</Name>\n              <DataType>\n                <Identifier>i=1</Identifier>\n              </DataType>\n              <ValueRank>-1</ValueRank>\n              <ArrayDimensions />\n            </Argument>\n          </Body>\n        </ExtensionObject>\n      </ListOfExtensionObject>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"i=11312\" BrowseName=\"CurrentServerId\" SymbolicName=\"Server_ServerRedundancy_CurrentServerId\" DataType=\"String\">\n    <DisplayName>CurrentServerId</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=11313\" BrowseName=\"RedundantServerArray\" SymbolicName=\"Server_ServerRedundancy_RedundantServerArray\" DataType=\"i=853\" ValueRank=\"1\" ArrayDimensions=\"0\">\n    <DisplayName>RedundantServerArray</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=11314\" BrowseName=\"ServerUriArray\" SymbolicName=\"Server_ServerRedundancy_ServerUriArray\" DataType=\"String\" ValueRank=\"1\" ArrayDimensions=\"0\">\n    <DisplayName>ServerUriArray</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=14415\" BrowseName=\"ServerNetworkGroups\" SymbolicName=\"Server_ServerRedundancy_ServerNetworkGroups\" DataType=\"i=11944\" ValueRank=\"1\" ArrayDimensions=\"0\">\n    <DisplayName>ServerNetworkGroups</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n    </References>\n  </UAVariable>\n  <UAObject NodeId=\"i=11192\" BrowseName=\"HistoryServerCapabilities\">\n    <DisplayName>HistoryServerCapabilities</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=11193</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=11242</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=11273</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=11274</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=11196</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=11197</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=11198</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=11199</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=11200</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=11281</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=11282</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=11283</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=11502</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=11275</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=11201</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=19091</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=2268</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=2330</Reference>\n    </References>\n  </UAObject>\n  <UAVariable NodeId=\"i=11193\" BrowseName=\"AccessHistoryDataCapability\" ParentNodeId=\"i=11192\" DataType=\"Boolean\">\n    <DisplayName>AccessHistoryDataCapability</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=11192</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=11242\" BrowseName=\"AccessHistoryEventsCapability\" ParentNodeId=\"i=11192\" DataType=\"Boolean\">\n    <DisplayName>AccessHistoryEventsCapability</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=11192</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=11273\" BrowseName=\"MaxReturnDataValues\" ParentNodeId=\"i=11192\" DataType=\"UInt32\">\n    <DisplayName>MaxReturnDataValues</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=11192</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=11274\" BrowseName=\"MaxReturnEventValues\" ParentNodeId=\"i=11192\" DataType=\"UInt32\">\n    <DisplayName>MaxReturnEventValues</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=11192</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=11196\" BrowseName=\"InsertDataCapability\" ParentNodeId=\"i=11192\" DataType=\"Boolean\">\n    <DisplayName>InsertDataCapability</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=11192</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=11197\" BrowseName=\"ReplaceDataCapability\" ParentNodeId=\"i=11192\" DataType=\"Boolean\">\n    <DisplayName>ReplaceDataCapability</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=11192</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=11198\" BrowseName=\"UpdateDataCapability\" ParentNodeId=\"i=11192\" DataType=\"Boolean\">\n    <DisplayName>UpdateDataCapability</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=11192</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=11199\" BrowseName=\"DeleteRawCapability\" ParentNodeId=\"i=11192\" DataType=\"Boolean\">\n    <DisplayName>DeleteRawCapability</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=11192</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=11200\" BrowseName=\"DeleteAtTimeCapability\" ParentNodeId=\"i=11192\" DataType=\"Boolean\">\n    <DisplayName>DeleteAtTimeCapability</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=11192</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=11281\" BrowseName=\"InsertEventCapability\" ParentNodeId=\"i=11192\" DataType=\"Boolean\">\n    <DisplayName>InsertEventCapability</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=11192</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=11282\" BrowseName=\"ReplaceEventCapability\" ParentNodeId=\"i=11192\" DataType=\"Boolean\">\n    <DisplayName>ReplaceEventCapability</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=11192</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=11283\" BrowseName=\"UpdateEventCapability\" ParentNodeId=\"i=11192\" DataType=\"Boolean\">\n    <DisplayName>UpdateEventCapability</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=11192</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=11502\" BrowseName=\"DeleteEventCapability\" ParentNodeId=\"i=11192\" DataType=\"Boolean\">\n    <DisplayName>DeleteEventCapability</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=11192</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=11275\" BrowseName=\"InsertAnnotationCapability\" ParentNodeId=\"i=11192\" DataType=\"Boolean\">\n    <DisplayName>InsertAnnotationCapability</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=11192</Reference>\n    </References>\n  </UAVariable>\n  <UAObject NodeId=\"i=11201\" BrowseName=\"AggregateFunctions\" ParentNodeId=\"i=11192\">\n    <DisplayName>AggregateFunctions</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=61</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=11192</Reference>\n    </References>\n  </UAObject>\n  <UAVariable NodeId=\"i=19091\" BrowseName=\"ServerTimestampSupported\" ParentNodeId=\"i=11192\" DataType=\"Boolean\">\n    <DisplayName>ServerTimestampSupported</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=11192</Reference>\n    </References>\n  </UAVariable>\n  <UADataType NodeId=\"i=11737\" BrowseName=\"BitFieldMaskDataType\">\n    <DisplayName>BitFieldMaskDataType</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=9</Reference>\n    </References>\n  </UADataType>\n  <UADataType NodeId=\"i=14533\" BrowseName=\"KeyValuePair\">\n    <DisplayName>KeyValuePair</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=22</Reference>\n    </References>\n    <Definition Name=\"KeyValuePair\">\n      <Field Name=\"Key\" DataType=\"i=20\" />\n      <Field Name=\"Value\" />\n    </Definition>\n  </UADataType>\n  <UADataType NodeId=\"i=16313\" BrowseName=\"AdditionalParametersType\">\n    <DisplayName>AdditionalParametersType</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=22</Reference>\n    </References>\n    <Definition Name=\"AdditionalParametersType\">\n      <Field Name=\"Parameters\" DataType=\"i=14533\" ValueRank=\"1\" />\n    </Definition>\n  </UADataType>\n  <UADataType NodeId=\"i=17548\" BrowseName=\"EphemeralKeyType\">\n    <DisplayName>EphemeralKeyType</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=22</Reference>\n    </References>\n    <Definition Name=\"EphemeralKeyType\">\n      <Field Name=\"PublicKey\" DataType=\"i=15\" />\n      <Field Name=\"Signature\" DataType=\"i=15\" />\n    </Definition>\n  </UADataType>\n  <UADataType NodeId=\"i=15528\" BrowseName=\"EndpointType\">\n    <DisplayName>EndpointType</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=22</Reference>\n    </References>\n    <Definition Name=\"EndpointType\">\n      <Field Name=\"EndpointUrl\" DataType=\"i=12\" />\n      <Field Name=\"SecurityMode\" DataType=\"i=302\" />\n      <Field Name=\"SecurityPolicyUri\" DataType=\"i=12\" />\n      <Field Name=\"TransportProfileUri\" DataType=\"i=12\" />\n    </Definition>\n  </UADataType>\n  <UAObjectType NodeId=\"i=2299\" BrowseName=\"StateMachineType\">\n    <DisplayName>StateMachineType</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasComponent\">i=2769</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=2770</Reference>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=58</Reference>\n    </References>\n  </UAObjectType>\n  <UAVariable NodeId=\"i=2769\" BrowseName=\"CurrentState\" ParentNodeId=\"i=2299\" DataType=\"LocalizedText\">\n    <DisplayName>CurrentState</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=3720</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=2755</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=2299</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=3720\" BrowseName=\"Id\" ParentNodeId=\"i=2769\">\n    <DisplayName>Id</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=2769</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=2770\" BrowseName=\"LastTransition\" ParentNodeId=\"i=2299\" DataType=\"LocalizedText\">\n    <DisplayName>LastTransition</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=3724</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=2762</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=80</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=2299</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=3724\" BrowseName=\"Id\" ParentNodeId=\"i=2770\">\n    <DisplayName>Id</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=2770</Reference>\n    </References>\n  </UAVariable>\n  <UAVariableType NodeId=\"i=2755\" BrowseName=\"StateVariableType\" DataType=\"LocalizedText\">\n    <DisplayName>StateVariableType</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=2756</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=2757</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=2758</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=2759</Reference>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=63</Reference>\n    </References>\n  </UAVariableType>\n  <UAVariable NodeId=\"i=2756\" BrowseName=\"Id\" ParentNodeId=\"i=2755\">\n    <DisplayName>Id</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=2755</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=2757\" BrowseName=\"Name\" ParentNodeId=\"i=2755\" DataType=\"QualifiedName\">\n    <DisplayName>Name</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=80</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=2755</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=2758\" BrowseName=\"Number\" ParentNodeId=\"i=2755\" DataType=\"UInt32\">\n    <DisplayName>Number</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=80</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=2755</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=2759\" BrowseName=\"EffectiveDisplayName\" ParentNodeId=\"i=2755\" DataType=\"LocalizedText\">\n    <DisplayName>EffectiveDisplayName</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=80</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=2755</Reference>\n    </References>\n  </UAVariable>\n  <UAVariableType NodeId=\"i=2762\" BrowseName=\"TransitionVariableType\" DataType=\"LocalizedText\">\n    <DisplayName>TransitionVariableType</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=2763</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=2764</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=2765</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=2766</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=11456</Reference>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=63</Reference>\n    </References>\n  </UAVariableType>\n  <UAVariable NodeId=\"i=2763\" BrowseName=\"Id\" ParentNodeId=\"i=2762\">\n    <DisplayName>Id</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=2762</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=2764\" BrowseName=\"Name\" ParentNodeId=\"i=2762\" DataType=\"QualifiedName\">\n    <DisplayName>Name</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=80</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=2762</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=2765\" BrowseName=\"Number\" ParentNodeId=\"i=2762\" DataType=\"UInt32\">\n    <DisplayName>Number</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=80</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=2762</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=2766\" BrowseName=\"TransitionTime\" ParentNodeId=\"i=2762\" DataType=\"i=294\">\n    <DisplayName>TransitionTime</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=80</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=2762</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=11456\" BrowseName=\"EffectiveTransitionTime\" ParentNodeId=\"i=2762\" DataType=\"i=294\">\n    <DisplayName>EffectiveTransitionTime</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=80</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=2762</Reference>\n    </References>\n  </UAVariable>\n  <UAObjectType NodeId=\"i=2771\" BrowseName=\"FiniteStateMachineType\" IsAbstract=\"true\">\n    <DisplayName>FiniteStateMachineType</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasComponent\">i=2772</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=2773</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=17635</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=17636</Reference>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=2299</Reference>\n    </References>\n  </UAObjectType>\n  <UAVariable NodeId=\"i=2772\" BrowseName=\"CurrentState\" ParentNodeId=\"i=2771\" DataType=\"LocalizedText\">\n    <DisplayName>CurrentState</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=3728</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=2760</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=2771</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=3728\" BrowseName=\"Id\" ParentNodeId=\"i=2772\" DataType=\"NodeId\">\n    <DisplayName>Id</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=2772</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=2773\" BrowseName=\"LastTransition\" ParentNodeId=\"i=2771\" DataType=\"LocalizedText\">\n    <DisplayName>LastTransition</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=3732</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=2767</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=80</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=2771</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=3732\" BrowseName=\"Id\" ParentNodeId=\"i=2773\" DataType=\"NodeId\">\n    <DisplayName>Id</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=2773</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=17635\" BrowseName=\"AvailableStates\" ParentNodeId=\"i=2771\" DataType=\"NodeId\" ValueRank=\"1\" ArrayDimensions=\"0\">\n    <DisplayName>AvailableStates</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=63</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=80</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=2771</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=17636\" BrowseName=\"AvailableTransitions\" ParentNodeId=\"i=2771\" DataType=\"NodeId\" ValueRank=\"1\" ArrayDimensions=\"0\">\n    <DisplayName>AvailableTransitions</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=63</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=80</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=2771</Reference>\n    </References>\n  </UAVariable>\n  <UAVariableType NodeId=\"i=2760\" BrowseName=\"FiniteStateVariableType\" DataType=\"LocalizedText\">\n    <DisplayName>FiniteStateVariableType</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=2761</Reference>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=2755</Reference>\n    </References>\n  </UAVariableType>\n  <UAVariable NodeId=\"i=2761\" BrowseName=\"Id\" ParentNodeId=\"i=2760\" DataType=\"NodeId\">\n    <DisplayName>Id</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=2760</Reference>\n    </References>\n  </UAVariable>\n  <UAVariableType NodeId=\"i=2767\" BrowseName=\"FiniteTransitionVariableType\" DataType=\"LocalizedText\">\n    <DisplayName>FiniteTransitionVariableType</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=2768</Reference>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=2762</Reference>\n    </References>\n  </UAVariableType>\n  <UAVariable NodeId=\"i=2768\" BrowseName=\"Id\" ParentNodeId=\"i=2767\" DataType=\"NodeId\">\n    <DisplayName>Id</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=2767</Reference>\n    </References>\n  </UAVariable>\n  <UAObjectType NodeId=\"i=2307\" BrowseName=\"StateType\">\n    <DisplayName>StateType</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=2308</Reference>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=58</Reference>\n    </References>\n  </UAObjectType>\n  <UAVariable NodeId=\"i=2308\" BrowseName=\"StateNumber\" ParentNodeId=\"i=2307\" DataType=\"UInt32\">\n    <DisplayName>StateNumber</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=2307</Reference>\n    </References>\n  </UAVariable>\n  <UAObjectType NodeId=\"i=2309\" BrowseName=\"InitialStateType\">\n    <DisplayName>InitialStateType</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=2307</Reference>\n    </References>\n  </UAObjectType>\n  <UAObjectType NodeId=\"i=2310\" BrowseName=\"TransitionType\">\n    <DisplayName>TransitionType</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=2312</Reference>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=58</Reference>\n    </References>\n  </UAObjectType>\n  <UAVariable NodeId=\"i=2312\" BrowseName=\"TransitionNumber\" ParentNodeId=\"i=2310\" DataType=\"UInt32\">\n    <DisplayName>TransitionNumber</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=2310</Reference>\n    </References>\n  </UAVariable>\n  <UAObjectType NodeId=\"i=15109\" BrowseName=\"ChoiceStateType\">\n    <DisplayName>ChoiceStateType</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=2307</Reference>\n    </References>\n  </UAObjectType>\n  <UAReferenceType NodeId=\"i=15112\" BrowseName=\"HasGuard\">\n    <DisplayName>HasGuard</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=47</Reference>\n    </References>\n    <InverseName>GuardOf</InverseName>\n  </UAReferenceType>\n  <UAVariableType NodeId=\"i=15113\" BrowseName=\"GuardVariableType\" DataType=\"LocalizedText\">\n    <DisplayName>GuardVariableType</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=63</Reference>\n    </References>\n  </UAVariableType>\n  <UAVariableType NodeId=\"i=15128\" BrowseName=\"ExpressionGuardVariableType\" DataType=\"LocalizedText\">\n    <DisplayName>ExpressionGuardVariableType</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=15129</Reference>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=15113</Reference>\n    </References>\n  </UAVariableType>\n  <UAVariable NodeId=\"i=15129\" BrowseName=\"Expression\" ParentNodeId=\"i=15128\" DataType=\"i=586\">\n    <DisplayName>Expression</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=15128</Reference>\n    </References>\n  </UAVariable>\n  <UAVariableType NodeId=\"i=15317\" BrowseName=\"ElseGuardVariableType\" DataType=\"LocalizedText\">\n    <DisplayName>ElseGuardVariableType</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=15113</Reference>\n    </References>\n  </UAVariableType>\n  <UAVariableType NodeId=\"i=17709\" BrowseName=\"RationalNumberType\" DataType=\"i=18806\">\n    <DisplayName>RationalNumberType</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasComponent\">i=17712</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=17713</Reference>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=63</Reference>\n    </References>\n  </UAVariableType>\n  <UAVariable NodeId=\"i=17712\" BrowseName=\"Numerator\" ParentNodeId=\"i=17709\" DataType=\"Int32\">\n    <DisplayName>Numerator</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=63</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=17709</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=17713\" BrowseName=\"Denominator\" ParentNodeId=\"i=17709\" DataType=\"UInt32\">\n    <DisplayName>Denominator</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=63</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=17709</Reference>\n    </References>\n  </UAVariable>\n  <UAVariableType NodeId=\"i=17714\" BrowseName=\"VectorType\" IsAbstract=\"true\" DataType=\"i=18807\">\n    <DisplayName>VectorType</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=17715</Reference>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=63</Reference>\n    </References>\n  </UAVariableType>\n  <UAVariable NodeId=\"i=17715\" BrowseName=\"VectorUnit\" ParentNodeId=\"i=17714\" DataType=\"i=887\">\n    <DisplayName>VectorUnit</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=80</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=17714</Reference>\n    </References>\n  </UAVariable>\n  <UAVariableType NodeId=\"i=17716\" BrowseName=\"3DVectorType\" SymbolicName=\"ThreeDVectorType\" DataType=\"i=18808\">\n    <DisplayName>3DVectorType</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasComponent\">i=18769</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=18770</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=18771</Reference>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=17714</Reference>\n    </References>\n  </UAVariableType>\n  <UAVariable NodeId=\"i=18769\" BrowseName=\"X\" ParentNodeId=\"i=17716\" DataType=\"Double\">\n    <DisplayName>X</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=63</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=17716</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=18770\" BrowseName=\"Y\" ParentNodeId=\"i=17716\" DataType=\"Double\">\n    <DisplayName>Y</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=63</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=17716</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=18771\" BrowseName=\"Z\" ParentNodeId=\"i=17716\" DataType=\"Double\">\n    <DisplayName>Z</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=63</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=17716</Reference>\n    </References>\n  </UAVariable>\n  <UAVariableType NodeId=\"i=18772\" BrowseName=\"CartesianCoordinatesType\" IsAbstract=\"true\" DataType=\"i=18809\">\n    <DisplayName>CartesianCoordinatesType</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=18773</Reference>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=63</Reference>\n    </References>\n  </UAVariableType>\n  <UAVariable NodeId=\"i=18773\" BrowseName=\"LengthUnit\" ParentNodeId=\"i=18772\" DataType=\"i=887\">\n    <DisplayName>LengthUnit</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=80</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=18772</Reference>\n    </References>\n  </UAVariable>\n  <UAVariableType NodeId=\"i=18774\" BrowseName=\"3DCartesianCoordinatesType\" SymbolicName=\"ThreeDCartesianCoordinatesType\" DataType=\"i=18810\">\n    <DisplayName>3DCartesianCoordinatesType</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasComponent\">i=18776</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=18777</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=18778</Reference>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=18772</Reference>\n    </References>\n  </UAVariableType>\n  <UAVariable NodeId=\"i=18776\" BrowseName=\"X\" ParentNodeId=\"i=18774\" DataType=\"Double\">\n    <DisplayName>X</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=63</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=18774</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=18777\" BrowseName=\"Y\" ParentNodeId=\"i=18774\" DataType=\"Double\">\n    <DisplayName>Y</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=63</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=18774</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=18778\" BrowseName=\"Z\" ParentNodeId=\"i=18774\" DataType=\"Double\">\n    <DisplayName>Z</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=63</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=18774</Reference>\n    </References>\n  </UAVariable>\n  <UAVariableType NodeId=\"i=18779\" BrowseName=\"OrientationType\" IsAbstract=\"true\" DataType=\"i=18811\">\n    <DisplayName>OrientationType</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=18780</Reference>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=63</Reference>\n    </References>\n  </UAVariableType>\n  <UAVariable NodeId=\"i=18780\" BrowseName=\"AngleUnit\" ParentNodeId=\"i=18779\" DataType=\"i=887\">\n    <DisplayName>AngleUnit</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=80</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=18779</Reference>\n    </References>\n  </UAVariable>\n  <UAVariableType NodeId=\"i=18781\" BrowseName=\"3DOrientationType\" SymbolicName=\"ThreeDOrientationType\" DataType=\"i=18812\">\n    <DisplayName>3DOrientationType</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasComponent\">i=18783</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=18784</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=18785</Reference>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=18779</Reference>\n    </References>\n  </UAVariableType>\n  <UAVariable NodeId=\"i=18783\" BrowseName=\"A\" ParentNodeId=\"i=18781\" DataType=\"Double\">\n    <DisplayName>A</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=63</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=18781</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=18784\" BrowseName=\"B\" ParentNodeId=\"i=18781\" DataType=\"Double\">\n    <DisplayName>B</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=63</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=18781</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=18785\" BrowseName=\"C\" ParentNodeId=\"i=18781\" DataType=\"Double\">\n    <DisplayName>C</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=63</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=18781</Reference>\n    </References>\n  </UAVariable>\n  <UAVariableType NodeId=\"i=18786\" BrowseName=\"FrameType\" IsAbstract=\"true\" DataType=\"i=18813\">\n    <DisplayName>FrameType</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasComponent\">i=18801</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=18787</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=18788</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=18789</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=18790</Reference>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=63</Reference>\n    </References>\n  </UAVariableType>\n  <UAVariable NodeId=\"i=18801\" BrowseName=\"CartesianCoordinates\" ParentNodeId=\"i=18786\" DataType=\"i=18809\">\n    <DisplayName>CartesianCoordinates</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=18772</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=18786</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=18787\" BrowseName=\"Orientation\" ParentNodeId=\"i=18786\" DataType=\"i=18811\">\n    <DisplayName>Orientation</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=18779</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=18786</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=18788\" BrowseName=\"Constant\" ParentNodeId=\"i=18786\" DataType=\"Boolean\">\n    <DisplayName>Constant</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=80</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=18786</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=18789\" BrowseName=\"BaseFrame\" ParentNodeId=\"i=18786\" DataType=\"NodeId\">\n    <DisplayName>BaseFrame</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=63</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=80</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=18786</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=18790\" BrowseName=\"FixedBase\" ParentNodeId=\"i=18786\" DataType=\"Boolean\">\n    <DisplayName>FixedBase</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=80</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=18786</Reference>\n    </References>\n  </UAVariable>\n  <UAVariableType NodeId=\"i=18791\" BrowseName=\"3DFrameType\" SymbolicName=\"ThreeDFrameType\" DataType=\"i=18814\">\n    <DisplayName>3DFrameType</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasComponent\">i=18796</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=18792</Reference>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=18786</Reference>\n    </References>\n  </UAVariableType>\n  <UAVariable NodeId=\"i=18796\" BrowseName=\"CartesianCoordinates\" ParentNodeId=\"i=18791\" DataType=\"i=18810\">\n    <DisplayName>CartesianCoordinates</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasComponent\">i=18798</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=18799</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=18800</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=18774</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=18791</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=18798\" BrowseName=\"X\" ParentNodeId=\"i=18796\" DataType=\"Double\">\n    <DisplayName>X</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=63</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=18796</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=18799\" BrowseName=\"Y\" ParentNodeId=\"i=18796\" DataType=\"Double\">\n    <DisplayName>Y</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=63</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=18796</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=18800\" BrowseName=\"Z\" ParentNodeId=\"i=18796\" DataType=\"Double\">\n    <DisplayName>Z</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=63</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=18796</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=18792\" BrowseName=\"Orientation\" ParentNodeId=\"i=18791\" DataType=\"i=18812\">\n    <DisplayName>Orientation</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasComponent\">i=19074</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=19075</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=19076</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=18781</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=18791</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=19074\" BrowseName=\"A\" ParentNodeId=\"i=18792\" DataType=\"Double\">\n    <DisplayName>A</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=63</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=18792</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=19075\" BrowseName=\"B\" ParentNodeId=\"i=18792\" DataType=\"Double\">\n    <DisplayName>B</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=63</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=18792</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=19076\" BrowseName=\"C\" ParentNodeId=\"i=18792\" DataType=\"Double\">\n    <DisplayName>C</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=63</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=18792</Reference>\n    </References>\n  </UAVariable>\n  <UADataType NodeId=\"i=18806\" BrowseName=\"RationalNumber\">\n    <DisplayName>RationalNumber</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=22</Reference>\n    </References>\n    <Definition Name=\"RationalNumber\">\n      <Field Name=\"Numerator\" DataType=\"i=6\" />\n      <Field Name=\"Denominator\" DataType=\"i=7\" />\n    </Definition>\n  </UADataType>\n  <UADataType NodeId=\"i=18807\" BrowseName=\"Vector\" IsAbstract=\"true\">\n    <DisplayName>Vector</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=22</Reference>\n    </References>\n    <Definition Name=\"Vector\" />\n  </UADataType>\n  <UADataType NodeId=\"i=18808\" BrowseName=\"3DVector\" SymbolicName=\"ThreeDVector\">\n    <DisplayName>3DVector</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=18807</Reference>\n    </References>\n    <Definition Name=\"3DVector\" SymbolicName=\"ThreeDVector\">\n      <Field Name=\"X\" DataType=\"i=11\" />\n      <Field Name=\"Y\" DataType=\"i=11\" />\n      <Field Name=\"Z\" DataType=\"i=11\" />\n    </Definition>\n  </UADataType>\n  <UADataType NodeId=\"i=18809\" BrowseName=\"CartesianCoordinates\" IsAbstract=\"true\">\n    <DisplayName>CartesianCoordinates</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=22</Reference>\n    </References>\n    <Definition Name=\"CartesianCoordinates\" />\n  </UADataType>\n  <UADataType NodeId=\"i=18810\" BrowseName=\"3DCartesianCoordinates\" SymbolicName=\"ThreeDCartesianCoordinates\">\n    <DisplayName>3DCartesianCoordinates</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=18809</Reference>\n    </References>\n    <Definition Name=\"3DCartesianCoordinates\" SymbolicName=\"ThreeDCartesianCoordinates\">\n      <Field Name=\"X\" DataType=\"i=11\" />\n      <Field Name=\"Y\" DataType=\"i=11\" />\n      <Field Name=\"Z\" DataType=\"i=11\" />\n    </Definition>\n  </UADataType>\n  <UADataType NodeId=\"i=18811\" BrowseName=\"Orientation\" IsAbstract=\"true\">\n    <DisplayName>Orientation</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=22</Reference>\n    </References>\n    <Definition Name=\"Orientation\" />\n  </UADataType>\n  <UADataType NodeId=\"i=18812\" BrowseName=\"3DOrientation\" SymbolicName=\"ThreeDOrientation\">\n    <DisplayName>3DOrientation</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=18811</Reference>\n    </References>\n    <Definition Name=\"3DOrientation\" SymbolicName=\"ThreeDOrientation\">\n      <Field Name=\"A\" DataType=\"i=11\" />\n      <Field Name=\"B\" DataType=\"i=11\" />\n      <Field Name=\"C\" DataType=\"i=11\" />\n    </Definition>\n  </UADataType>\n  <UADataType NodeId=\"i=18813\" BrowseName=\"Frame\" IsAbstract=\"true\">\n    <DisplayName>Frame</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=22</Reference>\n    </References>\n    <Definition Name=\"Frame\" />\n  </UADataType>\n  <UADataType NodeId=\"i=18814\" BrowseName=\"3DFrame\" SymbolicName=\"ThreeDFrame\">\n    <DisplayName>3DFrame</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=18813</Reference>\n    </References>\n    <Definition Name=\"3DFrame\" SymbolicName=\"ThreeDFrame\">\n      <Field Name=\"CartesianCoordinates\" DataType=\"i=18810\" />\n      <Field Name=\"Orientation\" DataType=\"i=18812\" />\n    </Definition>\n  </UADataType>\n  <UAObjectType NodeId=\"i=2311\" BrowseName=\"TransitionEventType\" IsAbstract=\"true\">\n    <DisplayName>TransitionEventType</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasComponent\">i=2774</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=2775</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=2776</Reference>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=2041</Reference>\n    </References>\n  </UAObjectType>\n  <UAVariable NodeId=\"i=2774\" BrowseName=\"Transition\" ParentNodeId=\"i=2311\" DataType=\"LocalizedText\">\n    <DisplayName>Transition</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=3754</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=2762</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=2311</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=3754\" BrowseName=\"Id\" ParentNodeId=\"i=2774\">\n    <DisplayName>Id</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=2774</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=2775\" BrowseName=\"FromState\" ParentNodeId=\"i=2311\" DataType=\"LocalizedText\">\n    <DisplayName>FromState</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=3746</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=2755</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=2311</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=3746\" BrowseName=\"Id\" ParentNodeId=\"i=2775\">\n    <DisplayName>Id</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=2775</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=2776\" BrowseName=\"ToState\" ParentNodeId=\"i=2311\" DataType=\"LocalizedText\">\n    <DisplayName>ToState</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=3750</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=2755</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=2311</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=3750\" BrowseName=\"Id\" ParentNodeId=\"i=2776\">\n    <DisplayName>Id</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=2776</Reference>\n    </References>\n  </UAVariable>\n  <UAObjectType NodeId=\"i=2315\" BrowseName=\"AuditUpdateStateEventType\" IsAbstract=\"true\">\n    <DisplayName>AuditUpdateStateEventType</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=2777</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=2778</Reference>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=2127</Reference>\n    </References>\n  </UAObjectType>\n  <UAVariable NodeId=\"i=2777\" BrowseName=\"OldStateId\" ParentNodeId=\"i=2315\">\n    <DisplayName>OldStateId</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=2315</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=2778\" BrowseName=\"NewStateId\" ParentNodeId=\"i=2315\">\n    <DisplayName>NewStateId</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=2315</Reference>\n    </References>\n  </UAVariable>\n  <UADataType NodeId=\"i=11939\" BrowseName=\"OpenFileMode\">\n    <DisplayName>OpenFileMode</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=11940</Reference>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=29</Reference>\n    </References>\n    <Definition Name=\"OpenFileMode\">\n      <Field Name=\"Read\" Value=\"1\" />\n      <Field Name=\"Write\" Value=\"2\" />\n      <Field Name=\"EraseExisting\" Value=\"4\" />\n      <Field Name=\"Append\" Value=\"8\" />\n    </Definition>\n  </UADataType>\n  <UAVariable NodeId=\"i=11940\" BrowseName=\"EnumValues\" ParentNodeId=\"i=11939\" DataType=\"i=7594\" ValueRank=\"1\" ArrayDimensions=\"0\">\n    <DisplayName>EnumValues</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=11939</Reference>\n    </References>\n    <Value>\n      <ListOfExtensionObject xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=7616</Identifier>\n          </TypeId>\n          <Body>\n            <EnumValueType>\n              <Value>1</Value>\n              <DisplayName>\n                <Text>Read</Text>\n              </DisplayName>\n            </EnumValueType>\n          </Body>\n        </ExtensionObject>\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=7616</Identifier>\n          </TypeId>\n          <Body>\n            <EnumValueType>\n              <Value>2</Value>\n              <DisplayName>\n                <Text>Write</Text>\n              </DisplayName>\n            </EnumValueType>\n          </Body>\n        </ExtensionObject>\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=7616</Identifier>\n          </TypeId>\n          <Body>\n            <EnumValueType>\n              <Value>4</Value>\n              <DisplayName>\n                <Text>EraseExisting</Text>\n              </DisplayName>\n            </EnumValueType>\n          </Body>\n        </ExtensionObject>\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=7616</Identifier>\n          </TypeId>\n          <Body>\n            <EnumValueType>\n              <Value>8</Value>\n              <DisplayName>\n                <Text>Append</Text>\n              </DisplayName>\n            </EnumValueType>\n          </Body>\n        </ExtensionObject>\n      </ListOfExtensionObject>\n    </Value>\n  </UAVariable>\n  <UAObjectType NodeId=\"i=13353\" BrowseName=\"FileDirectoryType\">\n    <DisplayName>FileDirectoryType</DisplayName>\n    <References>\n      <Reference ReferenceType=\"Organizes\">i=13354</Reference>\n      <Reference ReferenceType=\"Organizes\">i=13366</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=13387</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=13390</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=13393</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=13395</Reference>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=61</Reference>\n    </References>\n  </UAObjectType>\n  <UAObject NodeId=\"i=13354\" BrowseName=\"&lt;FileDirectoryName&gt;\" SymbolicName=\"FileDirectoryName_Placeholder\" ParentNodeId=\"i=13353\">\n    <DisplayName>&lt;FileDirectoryName&gt;</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasComponent\">i=13355</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=13358</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=17718</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=13363</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=13353</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=11508</Reference>\n      <Reference ReferenceType=\"Organizes\" IsForward=\"false\">i=13353</Reference>\n    </References>\n  </UAObject>\n  <UAMethod NodeId=\"i=13355\" BrowseName=\"CreateDirectory\" ParentNodeId=\"i=13354\" MethodDeclarationId=\"i=13387\">\n    <DisplayName>CreateDirectory</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=13356</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=13357</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=13354</Reference>\n    </References>\n  </UAMethod>\n  <UAVariable NodeId=\"i=13356\" BrowseName=\"InputArguments\" ParentNodeId=\"i=13355\" DataType=\"i=296\" ValueRank=\"1\" ArrayDimensions=\"0\">\n    <DisplayName>InputArguments</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=13355</Reference>\n    </References>\n    <Value>\n      <ListOfExtensionObject xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=297</Identifier>\n          </TypeId>\n          <Body>\n            <Argument>\n              <Name>DirectoryName</Name>\n              <DataType>\n                <Identifier>i=12</Identifier>\n              </DataType>\n              <ValueRank>-1</ValueRank>\n              <ArrayDimensions />\n            </Argument>\n          </Body>\n        </ExtensionObject>\n      </ListOfExtensionObject>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"i=13357\" BrowseName=\"OutputArguments\" ParentNodeId=\"i=13355\" DataType=\"i=296\" ValueRank=\"1\" ArrayDimensions=\"0\">\n    <DisplayName>OutputArguments</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=13355</Reference>\n    </References>\n    <Value>\n      <ListOfExtensionObject xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=297</Identifier>\n          </TypeId>\n          <Body>\n            <Argument>\n              <Name>DirectoryNodeId</Name>\n              <DataType>\n                <Identifier>i=17</Identifier>\n              </DataType>\n              <ValueRank>-1</ValueRank>\n              <ArrayDimensions />\n            </Argument>\n          </Body>\n        </ExtensionObject>\n      </ListOfExtensionObject>\n    </Value>\n  </UAVariable>\n  <UAMethod NodeId=\"i=13358\" BrowseName=\"CreateFile\" ParentNodeId=\"i=13354\" MethodDeclarationId=\"i=13390\">\n    <DisplayName>CreateFile</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=13359</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=13360</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=13354</Reference>\n    </References>\n  </UAMethod>\n  <UAVariable NodeId=\"i=13359\" BrowseName=\"InputArguments\" ParentNodeId=\"i=13358\" DataType=\"i=296\" ValueRank=\"1\" ArrayDimensions=\"0\">\n    <DisplayName>InputArguments</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=13358</Reference>\n    </References>\n    <Value>\n      <ListOfExtensionObject xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=297</Identifier>\n          </TypeId>\n          <Body>\n            <Argument>\n              <Name>FileName</Name>\n              <DataType>\n                <Identifier>i=12</Identifier>\n              </DataType>\n              <ValueRank>-1</ValueRank>\n              <ArrayDimensions />\n            </Argument>\n          </Body>\n        </ExtensionObject>\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=297</Identifier>\n          </TypeId>\n          <Body>\n            <Argument>\n              <Name>RequestFileOpen</Name>\n              <DataType>\n                <Identifier>i=1</Identifier>\n              </DataType>\n              <ValueRank>-1</ValueRank>\n              <ArrayDimensions />\n            </Argument>\n          </Body>\n        </ExtensionObject>\n      </ListOfExtensionObject>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"i=13360\" BrowseName=\"OutputArguments\" ParentNodeId=\"i=13358\" DataType=\"i=296\" ValueRank=\"1\" ArrayDimensions=\"0\">\n    <DisplayName>OutputArguments</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=13358</Reference>\n    </References>\n    <Value>\n      <ListOfExtensionObject xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=297</Identifier>\n          </TypeId>\n          <Body>\n            <Argument>\n              <Name>FileNodeId</Name>\n              <DataType>\n                <Identifier>i=17</Identifier>\n              </DataType>\n              <ValueRank>-1</ValueRank>\n              <ArrayDimensions />\n            </Argument>\n          </Body>\n        </ExtensionObject>\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=297</Identifier>\n          </TypeId>\n          <Body>\n            <Argument>\n              <Name>FileHandle</Name>\n              <DataType>\n                <Identifier>i=7</Identifier>\n              </DataType>\n              <ValueRank>-1</ValueRank>\n              <ArrayDimensions />\n            </Argument>\n          </Body>\n        </ExtensionObject>\n      </ListOfExtensionObject>\n    </Value>\n  </UAVariable>\n  <UAMethod NodeId=\"i=17718\" BrowseName=\"Delete\" SymbolicName=\"DeleteFileSystemObject\" ParentNodeId=\"i=13354\" MethodDeclarationId=\"i=13393\">\n    <DisplayName>Delete</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=17719</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=13354</Reference>\n    </References>\n  </UAMethod>\n  <UAVariable NodeId=\"i=17719\" BrowseName=\"InputArguments\" ParentNodeId=\"i=17718\" DataType=\"i=296\" ValueRank=\"1\" ArrayDimensions=\"0\">\n    <DisplayName>InputArguments</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=17718</Reference>\n    </References>\n    <Value>\n      <ListOfExtensionObject xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=297</Identifier>\n          </TypeId>\n          <Body>\n            <Argument>\n              <Name>ObjectToDelete</Name>\n              <DataType>\n                <Identifier>i=17</Identifier>\n              </DataType>\n              <ValueRank>-1</ValueRank>\n              <ArrayDimensions />\n            </Argument>\n          </Body>\n        </ExtensionObject>\n      </ListOfExtensionObject>\n    </Value>\n  </UAVariable>\n  <UAMethod NodeId=\"i=13363\" BrowseName=\"MoveOrCopy\" ParentNodeId=\"i=13354\" MethodDeclarationId=\"i=13395\">\n    <DisplayName>MoveOrCopy</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=13364</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=13365</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=13354</Reference>\n    </References>\n  </UAMethod>\n  <UAVariable NodeId=\"i=13364\" BrowseName=\"InputArguments\" ParentNodeId=\"i=13363\" DataType=\"i=296\" ValueRank=\"1\" ArrayDimensions=\"0\">\n    <DisplayName>InputArguments</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=13363</Reference>\n    </References>\n    <Value>\n      <ListOfExtensionObject xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=297</Identifier>\n          </TypeId>\n          <Body>\n            <Argument>\n              <Name>ObjectToMoveOrCopy</Name>\n              <DataType>\n                <Identifier>i=17</Identifier>\n              </DataType>\n              <ValueRank>-1</ValueRank>\n              <ArrayDimensions />\n            </Argument>\n          </Body>\n        </ExtensionObject>\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=297</Identifier>\n          </TypeId>\n          <Body>\n            <Argument>\n              <Name>TargetDirectory</Name>\n              <DataType>\n                <Identifier>i=17</Identifier>\n              </DataType>\n              <ValueRank>-1</ValueRank>\n              <ArrayDimensions />\n            </Argument>\n          </Body>\n        </ExtensionObject>\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=297</Identifier>\n          </TypeId>\n          <Body>\n            <Argument>\n              <Name>CreateCopy</Name>\n              <DataType>\n                <Identifier>i=1</Identifier>\n              </DataType>\n              <ValueRank>-1</ValueRank>\n              <ArrayDimensions />\n            </Argument>\n          </Body>\n        </ExtensionObject>\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=297</Identifier>\n          </TypeId>\n          <Body>\n            <Argument>\n              <Name>NewName</Name>\n              <DataType>\n                <Identifier>i=12</Identifier>\n              </DataType>\n              <ValueRank>-1</ValueRank>\n              <ArrayDimensions />\n            </Argument>\n          </Body>\n        </ExtensionObject>\n      </ListOfExtensionObject>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"i=13365\" BrowseName=\"OutputArguments\" ParentNodeId=\"i=13363\" DataType=\"i=296\" ValueRank=\"1\" ArrayDimensions=\"0\">\n    <DisplayName>OutputArguments</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=13363</Reference>\n    </References>\n    <Value>\n      <ListOfExtensionObject xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=297</Identifier>\n          </TypeId>\n          <Body>\n            <Argument>\n              <Name>NewNodeId</Name>\n              <DataType>\n                <Identifier>i=17</Identifier>\n              </DataType>\n              <ValueRank>-1</ValueRank>\n              <ArrayDimensions />\n            </Argument>\n          </Body>\n        </ExtensionObject>\n      </ListOfExtensionObject>\n    </Value>\n  </UAVariable>\n  <UAObject NodeId=\"i=13366\" BrowseName=\"&lt;FileName&gt;\" SymbolicName=\"FileName_Placeholder\" ParentNodeId=\"i=13353\">\n    <DisplayName>&lt;FileName&gt;</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=13367</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=13368</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=13369</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=13370</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=13372</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=13375</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=13377</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=13380</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=13382</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=13385</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=11575</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=11508</Reference>\n      <Reference ReferenceType=\"Organizes\" IsForward=\"false\">i=13353</Reference>\n    </References>\n  </UAObject>\n  <UAVariable NodeId=\"i=13367\" BrowseName=\"Size\" ParentNodeId=\"i=13366\" DataType=\"UInt64\">\n    <DisplayName>Size</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=13366</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=13368\" BrowseName=\"Writable\" ParentNodeId=\"i=13366\" DataType=\"Boolean\">\n    <DisplayName>Writable</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=13366</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=13369\" BrowseName=\"UserWritable\" ParentNodeId=\"i=13366\" DataType=\"Boolean\">\n    <DisplayName>UserWritable</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=13366</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=13370\" BrowseName=\"OpenCount\" ParentNodeId=\"i=13366\" DataType=\"UInt16\">\n    <DisplayName>OpenCount</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=13366</Reference>\n    </References>\n  </UAVariable>\n  <UAMethod NodeId=\"i=13372\" BrowseName=\"Open\" ParentNodeId=\"i=13366\" MethodDeclarationId=\"i=11580\">\n    <DisplayName>Open</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=13373</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=13374</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=13366</Reference>\n    </References>\n  </UAMethod>\n  <UAVariable NodeId=\"i=13373\" BrowseName=\"InputArguments\" ParentNodeId=\"i=13372\" DataType=\"i=296\" ValueRank=\"1\" ArrayDimensions=\"0\">\n    <DisplayName>InputArguments</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=13372</Reference>\n    </References>\n    <Value>\n      <ListOfExtensionObject xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=297</Identifier>\n          </TypeId>\n          <Body>\n            <Argument>\n              <Name>Mode</Name>\n              <DataType>\n                <Identifier>i=3</Identifier>\n              </DataType>\n              <ValueRank>-1</ValueRank>\n              <ArrayDimensions />\n            </Argument>\n          </Body>\n        </ExtensionObject>\n      </ListOfExtensionObject>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"i=13374\" BrowseName=\"OutputArguments\" ParentNodeId=\"i=13372\" DataType=\"i=296\" ValueRank=\"1\" ArrayDimensions=\"0\">\n    <DisplayName>OutputArguments</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=13372</Reference>\n    </References>\n    <Value>\n      <ListOfExtensionObject xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=297</Identifier>\n          </TypeId>\n          <Body>\n            <Argument>\n              <Name>FileHandle</Name>\n              <DataType>\n                <Identifier>i=7</Identifier>\n              </DataType>\n              <ValueRank>-1</ValueRank>\n              <ArrayDimensions />\n            </Argument>\n          </Body>\n        </ExtensionObject>\n      </ListOfExtensionObject>\n    </Value>\n  </UAVariable>\n  <UAMethod NodeId=\"i=13375\" BrowseName=\"Close\" ParentNodeId=\"i=13366\" MethodDeclarationId=\"i=11583\">\n    <DisplayName>Close</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=13376</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=13366</Reference>\n    </References>\n  </UAMethod>\n  <UAVariable NodeId=\"i=13376\" BrowseName=\"InputArguments\" ParentNodeId=\"i=13375\" DataType=\"i=296\" ValueRank=\"1\" ArrayDimensions=\"0\">\n    <DisplayName>InputArguments</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=13375</Reference>\n    </References>\n    <Value>\n      <ListOfExtensionObject xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=297</Identifier>\n          </TypeId>\n          <Body>\n            <Argument>\n              <Name>FileHandle</Name>\n              <DataType>\n                <Identifier>i=7</Identifier>\n              </DataType>\n              <ValueRank>-1</ValueRank>\n              <ArrayDimensions />\n            </Argument>\n          </Body>\n        </ExtensionObject>\n      </ListOfExtensionObject>\n    </Value>\n  </UAVariable>\n  <UAMethod NodeId=\"i=13377\" BrowseName=\"Read\" ParentNodeId=\"i=13366\" MethodDeclarationId=\"i=11585\">\n    <DisplayName>Read</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=13378</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=13379</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=13366</Reference>\n    </References>\n  </UAMethod>\n  <UAVariable NodeId=\"i=13378\" BrowseName=\"InputArguments\" ParentNodeId=\"i=13377\" DataType=\"i=296\" ValueRank=\"1\" ArrayDimensions=\"0\">\n    <DisplayName>InputArguments</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=13377</Reference>\n    </References>\n    <Value>\n      <ListOfExtensionObject xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=297</Identifier>\n          </TypeId>\n          <Body>\n            <Argument>\n              <Name>FileHandle</Name>\n              <DataType>\n                <Identifier>i=7</Identifier>\n              </DataType>\n              <ValueRank>-1</ValueRank>\n              <ArrayDimensions />\n            </Argument>\n          </Body>\n        </ExtensionObject>\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=297</Identifier>\n          </TypeId>\n          <Body>\n            <Argument>\n              <Name>Length</Name>\n              <DataType>\n                <Identifier>i=6</Identifier>\n              </DataType>\n              <ValueRank>-1</ValueRank>\n              <ArrayDimensions />\n            </Argument>\n          </Body>\n        </ExtensionObject>\n      </ListOfExtensionObject>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"i=13379\" BrowseName=\"OutputArguments\" ParentNodeId=\"i=13377\" DataType=\"i=296\" ValueRank=\"1\" ArrayDimensions=\"0\">\n    <DisplayName>OutputArguments</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=13377</Reference>\n    </References>\n    <Value>\n      <ListOfExtensionObject xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=297</Identifier>\n          </TypeId>\n          <Body>\n            <Argument>\n              <Name>Data</Name>\n              <DataType>\n                <Identifier>i=15</Identifier>\n              </DataType>\n              <ValueRank>-1</ValueRank>\n              <ArrayDimensions />\n            </Argument>\n          </Body>\n        </ExtensionObject>\n      </ListOfExtensionObject>\n    </Value>\n  </UAVariable>\n  <UAMethod NodeId=\"i=13380\" BrowseName=\"Write\" ParentNodeId=\"i=13366\" MethodDeclarationId=\"i=11588\">\n    <DisplayName>Write</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=13381</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=13366</Reference>\n    </References>\n  </UAMethod>\n  <UAVariable NodeId=\"i=13381\" BrowseName=\"InputArguments\" ParentNodeId=\"i=13380\" DataType=\"i=296\" ValueRank=\"1\" ArrayDimensions=\"0\">\n    <DisplayName>InputArguments</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=13380</Reference>\n    </References>\n    <Value>\n      <ListOfExtensionObject xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=297</Identifier>\n          </TypeId>\n          <Body>\n            <Argument>\n              <Name>FileHandle</Name>\n              <DataType>\n                <Identifier>i=7</Identifier>\n              </DataType>\n              <ValueRank>-1</ValueRank>\n              <ArrayDimensions />\n            </Argument>\n          </Body>\n        </ExtensionObject>\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=297</Identifier>\n          </TypeId>\n          <Body>\n            <Argument>\n              <Name>Data</Name>\n              <DataType>\n                <Identifier>i=15</Identifier>\n              </DataType>\n              <ValueRank>-1</ValueRank>\n              <ArrayDimensions />\n            </Argument>\n          </Body>\n        </ExtensionObject>\n      </ListOfExtensionObject>\n    </Value>\n  </UAVariable>\n  <UAMethod NodeId=\"i=13382\" BrowseName=\"GetPosition\" ParentNodeId=\"i=13366\" MethodDeclarationId=\"i=11590\">\n    <DisplayName>GetPosition</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=13383</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=13384</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=13366</Reference>\n    </References>\n  </UAMethod>\n  <UAVariable NodeId=\"i=13383\" BrowseName=\"InputArguments\" ParentNodeId=\"i=13382\" DataType=\"i=296\" ValueRank=\"1\" ArrayDimensions=\"0\">\n    <DisplayName>InputArguments</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=13382</Reference>\n    </References>\n    <Value>\n      <ListOfExtensionObject xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=297</Identifier>\n          </TypeId>\n          <Body>\n            <Argument>\n              <Name>FileHandle</Name>\n              <DataType>\n                <Identifier>i=7</Identifier>\n              </DataType>\n              <ValueRank>-1</ValueRank>\n              <ArrayDimensions />\n            </Argument>\n          </Body>\n        </ExtensionObject>\n      </ListOfExtensionObject>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"i=13384\" BrowseName=\"OutputArguments\" ParentNodeId=\"i=13382\" DataType=\"i=296\" ValueRank=\"1\" ArrayDimensions=\"0\">\n    <DisplayName>OutputArguments</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=13382</Reference>\n    </References>\n    <Value>\n      <ListOfExtensionObject xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=297</Identifier>\n          </TypeId>\n          <Body>\n            <Argument>\n              <Name>Position</Name>\n              <DataType>\n                <Identifier>i=9</Identifier>\n              </DataType>\n              <ValueRank>-1</ValueRank>\n              <ArrayDimensions />\n            </Argument>\n          </Body>\n        </ExtensionObject>\n      </ListOfExtensionObject>\n    </Value>\n  </UAVariable>\n  <UAMethod NodeId=\"i=13385\" BrowseName=\"SetPosition\" ParentNodeId=\"i=13366\" MethodDeclarationId=\"i=11593\">\n    <DisplayName>SetPosition</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=13386</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=13366</Reference>\n    </References>\n  </UAMethod>\n  <UAVariable NodeId=\"i=13386\" BrowseName=\"InputArguments\" ParentNodeId=\"i=13385\" DataType=\"i=296\" ValueRank=\"1\" ArrayDimensions=\"0\">\n    <DisplayName>InputArguments</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=13385</Reference>\n    </References>\n    <Value>\n      <ListOfExtensionObject xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=297</Identifier>\n          </TypeId>\n          <Body>\n            <Argument>\n              <Name>FileHandle</Name>\n              <DataType>\n                <Identifier>i=7</Identifier>\n              </DataType>\n              <ValueRank>-1</ValueRank>\n              <ArrayDimensions />\n            </Argument>\n          </Body>\n        </ExtensionObject>\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=297</Identifier>\n          </TypeId>\n          <Body>\n            <Argument>\n              <Name>Position</Name>\n              <DataType>\n                <Identifier>i=9</Identifier>\n              </DataType>\n              <ValueRank>-1</ValueRank>\n              <ArrayDimensions />\n            </Argument>\n          </Body>\n        </ExtensionObject>\n      </ListOfExtensionObject>\n    </Value>\n  </UAVariable>\n  <UAMethod NodeId=\"i=13387\" BrowseName=\"CreateDirectory\" ParentNodeId=\"i=13353\">\n    <DisplayName>CreateDirectory</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=13388</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=13389</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=13353</Reference>\n    </References>\n  </UAMethod>\n  <UAVariable NodeId=\"i=13388\" BrowseName=\"InputArguments\" ParentNodeId=\"i=13387\" DataType=\"i=296\" ValueRank=\"1\" ArrayDimensions=\"0\">\n    <DisplayName>InputArguments</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=13387</Reference>\n    </References>\n    <Value>\n      <ListOfExtensionObject xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=297</Identifier>\n          </TypeId>\n          <Body>\n            <Argument>\n              <Name>DirectoryName</Name>\n              <DataType>\n                <Identifier>i=12</Identifier>\n              </DataType>\n              <ValueRank>-1</ValueRank>\n              <ArrayDimensions />\n            </Argument>\n          </Body>\n        </ExtensionObject>\n      </ListOfExtensionObject>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"i=13389\" BrowseName=\"OutputArguments\" ParentNodeId=\"i=13387\" DataType=\"i=296\" ValueRank=\"1\" ArrayDimensions=\"0\">\n    <DisplayName>OutputArguments</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=13387</Reference>\n    </References>\n    <Value>\n      <ListOfExtensionObject xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=297</Identifier>\n          </TypeId>\n          <Body>\n            <Argument>\n              <Name>DirectoryNodeId</Name>\n              <DataType>\n                <Identifier>i=17</Identifier>\n              </DataType>\n              <ValueRank>-1</ValueRank>\n              <ArrayDimensions />\n            </Argument>\n          </Body>\n        </ExtensionObject>\n      </ListOfExtensionObject>\n    </Value>\n  </UAVariable>\n  <UAMethod NodeId=\"i=13390\" BrowseName=\"CreateFile\" ParentNodeId=\"i=13353\">\n    <DisplayName>CreateFile</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=13391</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=13392</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=13353</Reference>\n    </References>\n  </UAMethod>\n  <UAVariable NodeId=\"i=13391\" BrowseName=\"InputArguments\" ParentNodeId=\"i=13390\" DataType=\"i=296\" ValueRank=\"1\" ArrayDimensions=\"0\">\n    <DisplayName>InputArguments</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=13390</Reference>\n    </References>\n    <Value>\n      <ListOfExtensionObject xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=297</Identifier>\n          </TypeId>\n          <Body>\n            <Argument>\n              <Name>FileName</Name>\n              <DataType>\n                <Identifier>i=12</Identifier>\n              </DataType>\n              <ValueRank>-1</ValueRank>\n              <ArrayDimensions />\n            </Argument>\n          </Body>\n        </ExtensionObject>\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=297</Identifier>\n          </TypeId>\n          <Body>\n            <Argument>\n              <Name>RequestFileOpen</Name>\n              <DataType>\n                <Identifier>i=1</Identifier>\n              </DataType>\n              <ValueRank>-1</ValueRank>\n              <ArrayDimensions />\n            </Argument>\n          </Body>\n        </ExtensionObject>\n      </ListOfExtensionObject>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"i=13392\" BrowseName=\"OutputArguments\" ParentNodeId=\"i=13390\" DataType=\"i=296\" ValueRank=\"1\" ArrayDimensions=\"0\">\n    <DisplayName>OutputArguments</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=13390</Reference>\n    </References>\n    <Value>\n      <ListOfExtensionObject xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=297</Identifier>\n          </TypeId>\n          <Body>\n            <Argument>\n              <Name>FileNodeId</Name>\n              <DataType>\n                <Identifier>i=17</Identifier>\n              </DataType>\n              <ValueRank>-1</ValueRank>\n              <ArrayDimensions />\n            </Argument>\n          </Body>\n        </ExtensionObject>\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=297</Identifier>\n          </TypeId>\n          <Body>\n            <Argument>\n              <Name>FileHandle</Name>\n              <DataType>\n                <Identifier>i=7</Identifier>\n              </DataType>\n              <ValueRank>-1</ValueRank>\n              <ArrayDimensions />\n            </Argument>\n          </Body>\n        </ExtensionObject>\n      </ListOfExtensionObject>\n    </Value>\n  </UAVariable>\n  <UAMethod NodeId=\"i=13393\" BrowseName=\"Delete\" SymbolicName=\"DeleteFileSystemObject\" ParentNodeId=\"i=13353\">\n    <DisplayName>Delete</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=13394</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=13353</Reference>\n    </References>\n  </UAMethod>\n  <UAVariable NodeId=\"i=13394\" BrowseName=\"InputArguments\" ParentNodeId=\"i=13393\" DataType=\"i=296\" ValueRank=\"1\" ArrayDimensions=\"0\">\n    <DisplayName>InputArguments</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=13393</Reference>\n    </References>\n    <Value>\n      <ListOfExtensionObject xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=297</Identifier>\n          </TypeId>\n          <Body>\n            <Argument>\n              <Name>ObjectToDelete</Name>\n              <DataType>\n                <Identifier>i=17</Identifier>\n              </DataType>\n              <ValueRank>-1</ValueRank>\n              <ArrayDimensions />\n            </Argument>\n          </Body>\n        </ExtensionObject>\n      </ListOfExtensionObject>\n    </Value>\n  </UAVariable>\n  <UAMethod NodeId=\"i=13395\" BrowseName=\"MoveOrCopy\" ParentNodeId=\"i=13353\">\n    <DisplayName>MoveOrCopy</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=13396</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=13397</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=13353</Reference>\n    </References>\n  </UAMethod>\n  <UAVariable NodeId=\"i=13396\" BrowseName=\"InputArguments\" ParentNodeId=\"i=13395\" DataType=\"i=296\" ValueRank=\"1\" ArrayDimensions=\"0\">\n    <DisplayName>InputArguments</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=13395</Reference>\n    </References>\n    <Value>\n      <ListOfExtensionObject xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=297</Identifier>\n          </TypeId>\n          <Body>\n            <Argument>\n              <Name>ObjectToMoveOrCopy</Name>\n              <DataType>\n                <Identifier>i=17</Identifier>\n              </DataType>\n              <ValueRank>-1</ValueRank>\n              <ArrayDimensions />\n            </Argument>\n          </Body>\n        </ExtensionObject>\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=297</Identifier>\n          </TypeId>\n          <Body>\n            <Argument>\n              <Name>TargetDirectory</Name>\n              <DataType>\n                <Identifier>i=17</Identifier>\n              </DataType>\n              <ValueRank>-1</ValueRank>\n              <ArrayDimensions />\n            </Argument>\n          </Body>\n        </ExtensionObject>\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=297</Identifier>\n          </TypeId>\n          <Body>\n            <Argument>\n              <Name>CreateCopy</Name>\n              <DataType>\n                <Identifier>i=1</Identifier>\n              </DataType>\n              <ValueRank>-1</ValueRank>\n              <ArrayDimensions />\n            </Argument>\n          </Body>\n        </ExtensionObject>\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=297</Identifier>\n          </TypeId>\n          <Body>\n            <Argument>\n              <Name>NewName</Name>\n              <DataType>\n                <Identifier>i=12</Identifier>\n              </DataType>\n              <ValueRank>-1</ValueRank>\n              <ArrayDimensions />\n            </Argument>\n          </Body>\n        </ExtensionObject>\n      </ListOfExtensionObject>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"i=13397\" BrowseName=\"OutputArguments\" ParentNodeId=\"i=13395\" DataType=\"i=296\" ValueRank=\"1\" ArrayDimensions=\"0\">\n    <DisplayName>OutputArguments</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=13395</Reference>\n    </References>\n    <Value>\n      <ListOfExtensionObject xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=297</Identifier>\n          </TypeId>\n          <Body>\n            <Argument>\n              <Name>NewNodeId</Name>\n              <DataType>\n                <Identifier>i=17</Identifier>\n              </DataType>\n              <ValueRank>-1</ValueRank>\n              <ArrayDimensions />\n            </Argument>\n          </Body>\n        </ExtensionObject>\n      </ListOfExtensionObject>\n    </Value>\n  </UAVariable>\n  <UAObject NodeId=\"i=16314\" BrowseName=\"FileSystem\">\n    <DisplayName>FileSystem</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasComponent\">i=16348</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=16351</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=16354</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=16356</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=13353</Reference>\n    </References>\n  </UAObject>\n  <UAMethod NodeId=\"i=16348\" BrowseName=\"CreateDirectory\" ParentNodeId=\"i=16314\" MethodDeclarationId=\"i=13387\">\n    <DisplayName>CreateDirectory</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=16349</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=16350</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=16314</Reference>\n    </References>\n  </UAMethod>\n  <UAVariable NodeId=\"i=16349\" BrowseName=\"InputArguments\" ParentNodeId=\"i=16348\" DataType=\"i=296\" ValueRank=\"1\" ArrayDimensions=\"0\">\n    <DisplayName>InputArguments</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=16348</Reference>\n    </References>\n    <Value>\n      <ListOfExtensionObject xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=297</Identifier>\n          </TypeId>\n          <Body>\n            <Argument>\n              <Name>DirectoryName</Name>\n              <DataType>\n                <Identifier>i=12</Identifier>\n              </DataType>\n              <ValueRank>-1</ValueRank>\n              <ArrayDimensions />\n            </Argument>\n          </Body>\n        </ExtensionObject>\n      </ListOfExtensionObject>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"i=16350\" BrowseName=\"OutputArguments\" ParentNodeId=\"i=16348\" DataType=\"i=296\" ValueRank=\"1\" ArrayDimensions=\"0\">\n    <DisplayName>OutputArguments</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=16348</Reference>\n    </References>\n    <Value>\n      <ListOfExtensionObject xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=297</Identifier>\n          </TypeId>\n          <Body>\n            <Argument>\n              <Name>DirectoryNodeId</Name>\n              <DataType>\n                <Identifier>i=17</Identifier>\n              </DataType>\n              <ValueRank>-1</ValueRank>\n              <ArrayDimensions />\n            </Argument>\n          </Body>\n        </ExtensionObject>\n      </ListOfExtensionObject>\n    </Value>\n  </UAVariable>\n  <UAMethod NodeId=\"i=16351\" BrowseName=\"CreateFile\" ParentNodeId=\"i=16314\" MethodDeclarationId=\"i=13390\">\n    <DisplayName>CreateFile</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=16352</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=16353</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=16314</Reference>\n    </References>\n  </UAMethod>\n  <UAVariable NodeId=\"i=16352\" BrowseName=\"InputArguments\" ParentNodeId=\"i=16351\" DataType=\"i=296\" ValueRank=\"1\" ArrayDimensions=\"0\">\n    <DisplayName>InputArguments</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=16351</Reference>\n    </References>\n    <Value>\n      <ListOfExtensionObject xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=297</Identifier>\n          </TypeId>\n          <Body>\n            <Argument>\n              <Name>FileName</Name>\n              <DataType>\n                <Identifier>i=12</Identifier>\n              </DataType>\n              <ValueRank>-1</ValueRank>\n              <ArrayDimensions />\n            </Argument>\n          </Body>\n        </ExtensionObject>\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=297</Identifier>\n          </TypeId>\n          <Body>\n            <Argument>\n              <Name>RequestFileOpen</Name>\n              <DataType>\n                <Identifier>i=1</Identifier>\n              </DataType>\n              <ValueRank>-1</ValueRank>\n              <ArrayDimensions />\n            </Argument>\n          </Body>\n        </ExtensionObject>\n      </ListOfExtensionObject>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"i=16353\" BrowseName=\"OutputArguments\" ParentNodeId=\"i=16351\" DataType=\"i=296\" ValueRank=\"1\" ArrayDimensions=\"0\">\n    <DisplayName>OutputArguments</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=16351</Reference>\n    </References>\n    <Value>\n      <ListOfExtensionObject xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=297</Identifier>\n          </TypeId>\n          <Body>\n            <Argument>\n              <Name>FileNodeId</Name>\n              <DataType>\n                <Identifier>i=17</Identifier>\n              </DataType>\n              <ValueRank>-1</ValueRank>\n              <ArrayDimensions />\n            </Argument>\n          </Body>\n        </ExtensionObject>\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=297</Identifier>\n          </TypeId>\n          <Body>\n            <Argument>\n              <Name>FileHandle</Name>\n              <DataType>\n                <Identifier>i=7</Identifier>\n              </DataType>\n              <ValueRank>-1</ValueRank>\n              <ArrayDimensions />\n            </Argument>\n          </Body>\n        </ExtensionObject>\n      </ListOfExtensionObject>\n    </Value>\n  </UAVariable>\n  <UAMethod NodeId=\"i=16354\" BrowseName=\"Delete\" SymbolicName=\"DeleteFileSystemObject\" ParentNodeId=\"i=16314\" MethodDeclarationId=\"i=13393\">\n    <DisplayName>Delete</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=16355</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=16314</Reference>\n    </References>\n  </UAMethod>\n  <UAVariable NodeId=\"i=16355\" BrowseName=\"InputArguments\" ParentNodeId=\"i=16354\" DataType=\"i=296\" ValueRank=\"1\" ArrayDimensions=\"0\">\n    <DisplayName>InputArguments</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=16354</Reference>\n    </References>\n    <Value>\n      <ListOfExtensionObject xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=297</Identifier>\n          </TypeId>\n          <Body>\n            <Argument>\n              <Name>ObjectToDelete</Name>\n              <DataType>\n                <Identifier>i=17</Identifier>\n              </DataType>\n              <ValueRank>-1</ValueRank>\n              <ArrayDimensions />\n            </Argument>\n          </Body>\n        </ExtensionObject>\n      </ListOfExtensionObject>\n    </Value>\n  </UAVariable>\n  <UAMethod NodeId=\"i=16356\" BrowseName=\"MoveOrCopy\" ParentNodeId=\"i=16314\" MethodDeclarationId=\"i=13395\">\n    <DisplayName>MoveOrCopy</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=16357</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=16358</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=16314</Reference>\n    </References>\n  </UAMethod>\n  <UAVariable NodeId=\"i=16357\" BrowseName=\"InputArguments\" ParentNodeId=\"i=16356\" DataType=\"i=296\" ValueRank=\"1\" ArrayDimensions=\"0\">\n    <DisplayName>InputArguments</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=16356</Reference>\n    </References>\n    <Value>\n      <ListOfExtensionObject xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=297</Identifier>\n          </TypeId>\n          <Body>\n            <Argument>\n              <Name>ObjectToMoveOrCopy</Name>\n              <DataType>\n                <Identifier>i=17</Identifier>\n              </DataType>\n              <ValueRank>-1</ValueRank>\n              <ArrayDimensions />\n            </Argument>\n          </Body>\n        </ExtensionObject>\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=297</Identifier>\n          </TypeId>\n          <Body>\n            <Argument>\n              <Name>TargetDirectory</Name>\n              <DataType>\n                <Identifier>i=17</Identifier>\n              </DataType>\n              <ValueRank>-1</ValueRank>\n              <ArrayDimensions />\n            </Argument>\n          </Body>\n        </ExtensionObject>\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=297</Identifier>\n          </TypeId>\n          <Body>\n            <Argument>\n              <Name>CreateCopy</Name>\n              <DataType>\n                <Identifier>i=1</Identifier>\n              </DataType>\n              <ValueRank>-1</ValueRank>\n              <ArrayDimensions />\n            </Argument>\n          </Body>\n        </ExtensionObject>\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=297</Identifier>\n          </TypeId>\n          <Body>\n            <Argument>\n              <Name>NewName</Name>\n              <DataType>\n                <Identifier>i=12</Identifier>\n              </DataType>\n              <ValueRank>-1</ValueRank>\n              <ArrayDimensions />\n            </Argument>\n          </Body>\n        </ExtensionObject>\n      </ListOfExtensionObject>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"i=16358\" BrowseName=\"OutputArguments\" ParentNodeId=\"i=16356\" DataType=\"i=296\" ValueRank=\"1\" ArrayDimensions=\"0\">\n    <DisplayName>OutputArguments</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=16356</Reference>\n    </References>\n    <Value>\n      <ListOfExtensionObject xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=297</Identifier>\n          </TypeId>\n          <Body>\n            <Argument>\n              <Name>NewNodeId</Name>\n              <DataType>\n                <Identifier>i=17</Identifier>\n              </DataType>\n              <ValueRank>-1</ValueRank>\n              <ArrayDimensions />\n            </Argument>\n          </Body>\n        </ExtensionObject>\n      </ListOfExtensionObject>\n    </Value>\n  </UAVariable>\n  <UAObjectType NodeId=\"i=15744\" BrowseName=\"TemporaryFileTransferType\">\n    <DisplayName>TemporaryFileTransferType</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=15745</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=15746</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=15749</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=15751</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=15754</Reference>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=58</Reference>\n    </References>\n  </UAObjectType>\n  <UAVariable NodeId=\"i=15745\" BrowseName=\"ClientProcessingTimeout\" ParentNodeId=\"i=15744\" DataType=\"i=290\">\n    <DisplayName>ClientProcessingTimeout</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=15744</Reference>\n    </References>\n  </UAVariable>\n  <UAMethod NodeId=\"i=15746\" BrowseName=\"GenerateFileForRead\" ParentNodeId=\"i=15744\">\n    <DisplayName>GenerateFileForRead</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=15747</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=15748</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=15744</Reference>\n    </References>\n  </UAMethod>\n  <UAVariable NodeId=\"i=15747\" BrowseName=\"InputArguments\" ParentNodeId=\"i=15746\" DataType=\"i=296\" ValueRank=\"1\" ArrayDimensions=\"0\">\n    <DisplayName>InputArguments</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=15746</Reference>\n    </References>\n    <Value>\n      <ListOfExtensionObject xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=297</Identifier>\n          </TypeId>\n          <Body>\n            <Argument>\n              <Name>GenerateOptions</Name>\n              <DataType>\n                <Identifier>i=24</Identifier>\n              </DataType>\n              <ValueRank>-1</ValueRank>\n              <ArrayDimensions />\n            </Argument>\n          </Body>\n        </ExtensionObject>\n      </ListOfExtensionObject>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"i=15748\" BrowseName=\"OutputArguments\" ParentNodeId=\"i=15746\" DataType=\"i=296\" ValueRank=\"1\" ArrayDimensions=\"0\">\n    <DisplayName>OutputArguments</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=15746</Reference>\n    </References>\n    <Value>\n      <ListOfExtensionObject xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=297</Identifier>\n          </TypeId>\n          <Body>\n            <Argument>\n              <Name>FileNodeId</Name>\n              <DataType>\n                <Identifier>i=17</Identifier>\n              </DataType>\n              <ValueRank>-1</ValueRank>\n              <ArrayDimensions />\n            </Argument>\n          </Body>\n        </ExtensionObject>\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=297</Identifier>\n          </TypeId>\n          <Body>\n            <Argument>\n              <Name>FileHandle</Name>\n              <DataType>\n                <Identifier>i=7</Identifier>\n              </DataType>\n              <ValueRank>-1</ValueRank>\n              <ArrayDimensions />\n            </Argument>\n          </Body>\n        </ExtensionObject>\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=297</Identifier>\n          </TypeId>\n          <Body>\n            <Argument>\n              <Name>CompletionStateMachine</Name>\n              <DataType>\n                <Identifier>i=17</Identifier>\n              </DataType>\n              <ValueRank>-1</ValueRank>\n              <ArrayDimensions />\n            </Argument>\n          </Body>\n        </ExtensionObject>\n      </ListOfExtensionObject>\n    </Value>\n  </UAVariable>\n  <UAMethod NodeId=\"i=15749\" BrowseName=\"GenerateFileForWrite\" ParentNodeId=\"i=15744\">\n    <DisplayName>GenerateFileForWrite</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=16359</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=15750</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=15744</Reference>\n    </References>\n  </UAMethod>\n  <UAVariable NodeId=\"i=16359\" BrowseName=\"InputArguments\" ParentNodeId=\"i=15749\" DataType=\"i=296\" ValueRank=\"1\" ArrayDimensions=\"0\">\n    <DisplayName>InputArguments</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=15749</Reference>\n    </References>\n    <Value>\n      <ListOfExtensionObject xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=297</Identifier>\n          </TypeId>\n          <Body>\n            <Argument>\n              <Name>GenerateOptions</Name>\n              <DataType>\n                <Identifier>i=24</Identifier>\n              </DataType>\n              <ValueRank>-1</ValueRank>\n              <ArrayDimensions />\n            </Argument>\n          </Body>\n        </ExtensionObject>\n      </ListOfExtensionObject>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"i=15750\" BrowseName=\"OutputArguments\" ParentNodeId=\"i=15749\" DataType=\"i=296\" ValueRank=\"1\" ArrayDimensions=\"0\">\n    <DisplayName>OutputArguments</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=15749</Reference>\n    </References>\n    <Value>\n      <ListOfExtensionObject xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=297</Identifier>\n          </TypeId>\n          <Body>\n            <Argument>\n              <Name>FileNodeId</Name>\n              <DataType>\n                <Identifier>i=17</Identifier>\n              </DataType>\n              <ValueRank>-1</ValueRank>\n              <ArrayDimensions />\n            </Argument>\n          </Body>\n        </ExtensionObject>\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=297</Identifier>\n          </TypeId>\n          <Body>\n            <Argument>\n              <Name>FileHandle</Name>\n              <DataType>\n                <Identifier>i=7</Identifier>\n              </DataType>\n              <ValueRank>-1</ValueRank>\n              <ArrayDimensions />\n            </Argument>\n          </Body>\n        </ExtensionObject>\n      </ListOfExtensionObject>\n    </Value>\n  </UAVariable>\n  <UAMethod NodeId=\"i=15751\" BrowseName=\"CloseAndCommit\" ParentNodeId=\"i=15744\">\n    <DisplayName>CloseAndCommit</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=15752</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=15753</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=15744</Reference>\n    </References>\n  </UAMethod>\n  <UAVariable NodeId=\"i=15752\" BrowseName=\"InputArguments\" ParentNodeId=\"i=15751\" DataType=\"i=296\" ValueRank=\"1\" ArrayDimensions=\"0\">\n    <DisplayName>InputArguments</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=15751</Reference>\n    </References>\n    <Value>\n      <ListOfExtensionObject xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=297</Identifier>\n          </TypeId>\n          <Body>\n            <Argument>\n              <Name>FileHandle</Name>\n              <DataType>\n                <Identifier>i=7</Identifier>\n              </DataType>\n              <ValueRank>-1</ValueRank>\n              <ArrayDimensions />\n            </Argument>\n          </Body>\n        </ExtensionObject>\n      </ListOfExtensionObject>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"i=15753\" BrowseName=\"OutputArguments\" ParentNodeId=\"i=15751\" DataType=\"i=296\" ValueRank=\"1\" ArrayDimensions=\"0\">\n    <DisplayName>OutputArguments</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=15751</Reference>\n    </References>\n    <Value>\n      <ListOfExtensionObject xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=297</Identifier>\n          </TypeId>\n          <Body>\n            <Argument>\n              <Name>CompletionStateMachine</Name>\n              <DataType>\n                <Identifier>i=17</Identifier>\n              </DataType>\n              <ValueRank>-1</ValueRank>\n              <ArrayDimensions />\n            </Argument>\n          </Body>\n        </ExtensionObject>\n      </ListOfExtensionObject>\n    </Value>\n  </UAVariable>\n  <UAObject NodeId=\"i=15754\" BrowseName=\"&lt;TransferState&gt;\" SymbolicName=\"TransferState_Placeholder\" ParentNodeId=\"i=15744\">\n    <DisplayName>&lt;TransferState&gt;</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasComponent\">i=15755</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=15794</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=15803</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=11508</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=15744</Reference>\n    </References>\n  </UAObject>\n  <UAVariable NodeId=\"i=15755\" BrowseName=\"CurrentState\" ParentNodeId=\"i=15754\" DataType=\"LocalizedText\">\n    <DisplayName>CurrentState</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=15756</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=2760</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=15754</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=15756\" BrowseName=\"Id\" ParentNodeId=\"i=15755\" DataType=\"NodeId\">\n    <DisplayName>Id</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=15755</Reference>\n    </References>\n  </UAVariable>\n  <UAMethod NodeId=\"i=15794\" BrowseName=\"Reset\" ParentNodeId=\"i=15754\" MethodDeclarationId=\"i=15843\">\n    <DisplayName>Reset</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=15754</Reference>\n    </References>\n  </UAMethod>\n  <UAObjectType NodeId=\"i=15803\" BrowseName=\"FileTransferStateMachineType\">\n    <DisplayName>FileTransferStateMachineType</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasComponent\">i=15815</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=15817</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=15819</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=15821</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=15823</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=15825</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=15827</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=15829</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=15831</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=15833</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=15835</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=15837</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=15839</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=15841</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=15843</Reference>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=2771</Reference>\n    </References>\n  </UAObjectType>\n  <UAObject NodeId=\"i=15815\" BrowseName=\"Idle\" ParentNodeId=\"i=15803\">\n    <DisplayName>Idle</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=15816</Reference>\n      <Reference ReferenceType=\"FromState\" IsForward=\"false\">i=15825</Reference>\n      <Reference ReferenceType=\"ToState\" IsForward=\"false\">i=15829</Reference>\n      <Reference ReferenceType=\"FromState\" IsForward=\"false\">i=15831</Reference>\n      <Reference ReferenceType=\"ToState\" IsForward=\"false\">i=15833</Reference>\n      <Reference ReferenceType=\"ToState\" IsForward=\"false\">i=15841</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=2309</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=15803</Reference>\n    </References>\n  </UAObject>\n  <UAVariable NodeId=\"i=15816\" BrowseName=\"StateNumber\" ParentNodeId=\"i=15815\" DataType=\"UInt32\">\n    <DisplayName>StateNumber</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=15815</Reference>\n    </References>\n    <Value>\n      <UInt32 xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">1</UInt32>\n    </Value>\n  </UAVariable>\n  <UAObject NodeId=\"i=15817\" BrowseName=\"ReadPrepare\" ParentNodeId=\"i=15803\">\n    <DisplayName>ReadPrepare</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=15818</Reference>\n      <Reference ReferenceType=\"ToState\" IsForward=\"false\">i=15825</Reference>\n      <Reference ReferenceType=\"FromState\" IsForward=\"false\">i=15827</Reference>\n      <Reference ReferenceType=\"FromState\" IsForward=\"false\">i=15835</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=2307</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=15803</Reference>\n    </References>\n  </UAObject>\n  <UAVariable NodeId=\"i=15818\" BrowseName=\"StateNumber\" ParentNodeId=\"i=15817\" DataType=\"UInt32\">\n    <DisplayName>StateNumber</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=15817</Reference>\n    </References>\n    <Value>\n      <UInt32 xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">2</UInt32>\n    </Value>\n  </UAVariable>\n  <UAObject NodeId=\"i=15819\" BrowseName=\"ReadTransfer\" ParentNodeId=\"i=15803\">\n    <DisplayName>ReadTransfer</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=15820</Reference>\n      <Reference ReferenceType=\"ToState\" IsForward=\"false\">i=15827</Reference>\n      <Reference ReferenceType=\"FromState\" IsForward=\"false\">i=15829</Reference>\n      <Reference ReferenceType=\"FromState\" IsForward=\"false\">i=15837</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=2307</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=15803</Reference>\n    </References>\n  </UAObject>\n  <UAVariable NodeId=\"i=15820\" BrowseName=\"StateNumber\" ParentNodeId=\"i=15819\" DataType=\"UInt32\">\n    <DisplayName>StateNumber</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=15819</Reference>\n    </References>\n    <Value>\n      <UInt32 xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">3</UInt32>\n    </Value>\n  </UAVariable>\n  <UAObject NodeId=\"i=15821\" BrowseName=\"ApplyWrite\" ParentNodeId=\"i=15803\">\n    <DisplayName>ApplyWrite</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=15822</Reference>\n      <Reference ReferenceType=\"ToState\" IsForward=\"false\">i=15831</Reference>\n      <Reference ReferenceType=\"FromState\" IsForward=\"false\">i=15833</Reference>\n      <Reference ReferenceType=\"FromState\" IsForward=\"false\">i=15839</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=2307</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=15803</Reference>\n    </References>\n  </UAObject>\n  <UAVariable NodeId=\"i=15822\" BrowseName=\"StateNumber\" ParentNodeId=\"i=15821\" DataType=\"UInt32\">\n    <DisplayName>StateNumber</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=15821</Reference>\n    </References>\n    <Value>\n      <UInt32 xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">4</UInt32>\n    </Value>\n  </UAVariable>\n  <UAObject NodeId=\"i=15823\" BrowseName=\"Error\" ParentNodeId=\"i=15803\">\n    <DisplayName>Error</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=15824</Reference>\n      <Reference ReferenceType=\"ToState\" IsForward=\"false\">i=15835</Reference>\n      <Reference ReferenceType=\"ToState\" IsForward=\"false\">i=15837</Reference>\n      <Reference ReferenceType=\"ToState\" IsForward=\"false\">i=15839</Reference>\n      <Reference ReferenceType=\"FromState\" IsForward=\"false\">i=15841</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=2307</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=15803</Reference>\n    </References>\n  </UAObject>\n  <UAVariable NodeId=\"i=15824\" BrowseName=\"StateNumber\" ParentNodeId=\"i=15823\" DataType=\"UInt32\">\n    <DisplayName>StateNumber</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=15823</Reference>\n    </References>\n    <Value>\n      <UInt32 xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">5</UInt32>\n    </Value>\n  </UAVariable>\n  <UAObject NodeId=\"i=15825\" BrowseName=\"IdleToReadPrepare\" ParentNodeId=\"i=15803\">\n    <DisplayName>IdleToReadPrepare</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=15826</Reference>\n      <Reference ReferenceType=\"FromState\">i=15815</Reference>\n      <Reference ReferenceType=\"ToState\">i=15817</Reference>\n      <Reference ReferenceType=\"HasEffect\">i=2311</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=2310</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=15803</Reference>\n    </References>\n  </UAObject>\n  <UAVariable NodeId=\"i=15826\" BrowseName=\"TransitionNumber\" ParentNodeId=\"i=15825\" DataType=\"UInt32\">\n    <DisplayName>TransitionNumber</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=15825</Reference>\n    </References>\n    <Value>\n      <UInt32 xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">12</UInt32>\n    </Value>\n  </UAVariable>\n  <UAObject NodeId=\"i=15827\" BrowseName=\"ReadPrepareToReadTransfer\" ParentNodeId=\"i=15803\">\n    <DisplayName>ReadPrepareToReadTransfer</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=15828</Reference>\n      <Reference ReferenceType=\"FromState\">i=15817</Reference>\n      <Reference ReferenceType=\"ToState\">i=15819</Reference>\n      <Reference ReferenceType=\"HasEffect\">i=2311</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=2310</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=15803</Reference>\n    </References>\n  </UAObject>\n  <UAVariable NodeId=\"i=15828\" BrowseName=\"TransitionNumber\" ParentNodeId=\"i=15827\" DataType=\"UInt32\">\n    <DisplayName>TransitionNumber</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=15827</Reference>\n    </References>\n    <Value>\n      <UInt32 xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">23</UInt32>\n    </Value>\n  </UAVariable>\n  <UAObject NodeId=\"i=15829\" BrowseName=\"ReadTransferToIdle\" ParentNodeId=\"i=15803\">\n    <DisplayName>ReadTransferToIdle</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=15830</Reference>\n      <Reference ReferenceType=\"FromState\">i=15819</Reference>\n      <Reference ReferenceType=\"ToState\">i=15815</Reference>\n      <Reference ReferenceType=\"HasEffect\">i=2311</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=2310</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=15803</Reference>\n    </References>\n  </UAObject>\n  <UAVariable NodeId=\"i=15830\" BrowseName=\"TransitionNumber\" ParentNodeId=\"i=15829\" DataType=\"UInt32\">\n    <DisplayName>TransitionNumber</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=15829</Reference>\n    </References>\n    <Value>\n      <UInt32 xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">31</UInt32>\n    </Value>\n  </UAVariable>\n  <UAObject NodeId=\"i=15831\" BrowseName=\"IdleToApplyWrite\" ParentNodeId=\"i=15803\">\n    <DisplayName>IdleToApplyWrite</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=15832</Reference>\n      <Reference ReferenceType=\"FromState\">i=15815</Reference>\n      <Reference ReferenceType=\"ToState\">i=15821</Reference>\n      <Reference ReferenceType=\"HasEffect\">i=2311</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=2310</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=15803</Reference>\n    </References>\n  </UAObject>\n  <UAVariable NodeId=\"i=15832\" BrowseName=\"TransitionNumber\" ParentNodeId=\"i=15831\" DataType=\"UInt32\">\n    <DisplayName>TransitionNumber</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=15831</Reference>\n    </References>\n    <Value>\n      <UInt32 xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">14</UInt32>\n    </Value>\n  </UAVariable>\n  <UAObject NodeId=\"i=15833\" BrowseName=\"ApplyWriteToIdle\" ParentNodeId=\"i=15803\">\n    <DisplayName>ApplyWriteToIdle</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=15834</Reference>\n      <Reference ReferenceType=\"FromState\">i=15821</Reference>\n      <Reference ReferenceType=\"ToState\">i=15815</Reference>\n      <Reference ReferenceType=\"HasEffect\">i=2311</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=2310</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=15803</Reference>\n    </References>\n  </UAObject>\n  <UAVariable NodeId=\"i=15834\" BrowseName=\"TransitionNumber\" ParentNodeId=\"i=15833\" DataType=\"UInt32\">\n    <DisplayName>TransitionNumber</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=15833</Reference>\n    </References>\n    <Value>\n      <UInt32 xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">41</UInt32>\n    </Value>\n  </UAVariable>\n  <UAObject NodeId=\"i=15835\" BrowseName=\"ReadPrepareToError\" ParentNodeId=\"i=15803\">\n    <DisplayName>ReadPrepareToError</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=15836</Reference>\n      <Reference ReferenceType=\"FromState\">i=15817</Reference>\n      <Reference ReferenceType=\"ToState\">i=15823</Reference>\n      <Reference ReferenceType=\"HasEffect\">i=2311</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=2310</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=15803</Reference>\n    </References>\n  </UAObject>\n  <UAVariable NodeId=\"i=15836\" BrowseName=\"TransitionNumber\" ParentNodeId=\"i=15835\" DataType=\"UInt32\">\n    <DisplayName>TransitionNumber</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=15835</Reference>\n    </References>\n    <Value>\n      <UInt32 xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">25</UInt32>\n    </Value>\n  </UAVariable>\n  <UAObject NodeId=\"i=15837\" BrowseName=\"ReadTransferToError\" ParentNodeId=\"i=15803\">\n    <DisplayName>ReadTransferToError</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=15838</Reference>\n      <Reference ReferenceType=\"FromState\">i=15819</Reference>\n      <Reference ReferenceType=\"ToState\">i=15823</Reference>\n      <Reference ReferenceType=\"HasEffect\">i=2311</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=2310</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=15803</Reference>\n    </References>\n  </UAObject>\n  <UAVariable NodeId=\"i=15838\" BrowseName=\"TransitionNumber\" ParentNodeId=\"i=15837\" DataType=\"UInt32\">\n    <DisplayName>TransitionNumber</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=15837</Reference>\n    </References>\n    <Value>\n      <UInt32 xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">35</UInt32>\n    </Value>\n  </UAVariable>\n  <UAObject NodeId=\"i=15839\" BrowseName=\"ApplyWriteToError\" ParentNodeId=\"i=15803\">\n    <DisplayName>ApplyWriteToError</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=15840</Reference>\n      <Reference ReferenceType=\"FromState\">i=15821</Reference>\n      <Reference ReferenceType=\"ToState\">i=15823</Reference>\n      <Reference ReferenceType=\"HasEffect\">i=2311</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=2310</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=15803</Reference>\n    </References>\n  </UAObject>\n  <UAVariable NodeId=\"i=15840\" BrowseName=\"TransitionNumber\" ParentNodeId=\"i=15839\" DataType=\"UInt32\">\n    <DisplayName>TransitionNumber</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=15839</Reference>\n    </References>\n    <Value>\n      <UInt32 xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">45</UInt32>\n    </Value>\n  </UAVariable>\n  <UAObject NodeId=\"i=15841\" BrowseName=\"ErrorToIdle\" ParentNodeId=\"i=15803\">\n    <DisplayName>ErrorToIdle</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=15842</Reference>\n      <Reference ReferenceType=\"FromState\">i=15823</Reference>\n      <Reference ReferenceType=\"ToState\">i=15815</Reference>\n      <Reference ReferenceType=\"HasEffect\">i=2311</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=2310</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=15803</Reference>\n    </References>\n  </UAObject>\n  <UAVariable NodeId=\"i=15842\" BrowseName=\"TransitionNumber\" ParentNodeId=\"i=15841\" DataType=\"UInt32\">\n    <DisplayName>TransitionNumber</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=15841</Reference>\n    </References>\n    <Value>\n      <UInt32 xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">51</UInt32>\n    </Value>\n  </UAVariable>\n  <UAMethod NodeId=\"i=15843\" BrowseName=\"Reset\" ParentNodeId=\"i=15803\">\n    <DisplayName>Reset</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=15803</Reference>\n    </References>\n  </UAMethod>\n  <UAObjectType NodeId=\"i=15607\" BrowseName=\"RoleSetType\">\n    <DisplayName>RoleSetType</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasComponent\">i=15608</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=15997</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=16000</Reference>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=58</Reference>\n    </References>\n  </UAObjectType>\n  <UAObject NodeId=\"i=15608\" BrowseName=\"&lt;RoleName&gt;\" SymbolicName=\"RoleName_Placeholder\" ParentNodeId=\"i=15607\">\n    <DisplayName>&lt;RoleName&gt;</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=16162</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=15620</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=11508</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=15607</Reference>\n    </References>\n  </UAObject>\n  <UAVariable NodeId=\"i=16162\" BrowseName=\"Identities\" ParentNodeId=\"i=15608\" DataType=\"i=15634\" ValueRank=\"1\" ArrayDimensions=\"0\">\n    <DisplayName>Identities</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=15608</Reference>\n    </References>\n  </UAVariable>\n  <UAMethod NodeId=\"i=15997\" BrowseName=\"AddRole\" ParentNodeId=\"i=15607\">\n    <DisplayName>AddRole</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=15998</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=15999</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=15607</Reference>\n    </References>\n  </UAMethod>\n  <UAVariable NodeId=\"i=15998\" BrowseName=\"InputArguments\" ParentNodeId=\"i=15997\" DataType=\"i=296\" ValueRank=\"1\" ArrayDimensions=\"0\">\n    <DisplayName>InputArguments</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=15997</Reference>\n    </References>\n    <Value>\n      <ListOfExtensionObject xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=297</Identifier>\n          </TypeId>\n          <Body>\n            <Argument>\n              <Name>RoleName</Name>\n              <DataType>\n                <Identifier>i=12</Identifier>\n              </DataType>\n              <ValueRank>-1</ValueRank>\n              <ArrayDimensions />\n            </Argument>\n          </Body>\n        </ExtensionObject>\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=297</Identifier>\n          </TypeId>\n          <Body>\n            <Argument>\n              <Name>NamespaceUri</Name>\n              <DataType>\n                <Identifier>i=12</Identifier>\n              </DataType>\n              <ValueRank>-1</ValueRank>\n              <ArrayDimensions />\n            </Argument>\n          </Body>\n        </ExtensionObject>\n      </ListOfExtensionObject>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"i=15999\" BrowseName=\"OutputArguments\" ParentNodeId=\"i=15997\" DataType=\"i=296\" ValueRank=\"1\" ArrayDimensions=\"0\">\n    <DisplayName>OutputArguments</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=15997</Reference>\n    </References>\n    <Value>\n      <ListOfExtensionObject xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=297</Identifier>\n          </TypeId>\n          <Body>\n            <Argument>\n              <Name>RoleNodeId</Name>\n              <DataType>\n                <Identifier>i=17</Identifier>\n              </DataType>\n              <ValueRank>-1</ValueRank>\n              <ArrayDimensions />\n            </Argument>\n          </Body>\n        </ExtensionObject>\n      </ListOfExtensionObject>\n    </Value>\n  </UAVariable>\n  <UAMethod NodeId=\"i=16000\" BrowseName=\"RemoveRole\" ParentNodeId=\"i=15607\">\n    <DisplayName>RemoveRole</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=16001</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=15607</Reference>\n    </References>\n  </UAMethod>\n  <UAVariable NodeId=\"i=16001\" BrowseName=\"InputArguments\" ParentNodeId=\"i=16000\" DataType=\"i=296\" ValueRank=\"1\" ArrayDimensions=\"0\">\n    <DisplayName>InputArguments</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=16000</Reference>\n    </References>\n    <Value>\n      <ListOfExtensionObject xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=297</Identifier>\n          </TypeId>\n          <Body>\n            <Argument>\n              <Name>RoleNodeId</Name>\n              <DataType>\n                <Identifier>i=17</Identifier>\n              </DataType>\n              <ValueRank>-1</ValueRank>\n              <ArrayDimensions />\n            </Argument>\n          </Body>\n        </ExtensionObject>\n      </ListOfExtensionObject>\n    </Value>\n  </UAVariable>\n  <UAObjectType NodeId=\"i=15620\" BrowseName=\"RoleType\">\n    <DisplayName>RoleType</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=16173</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=16174</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=15410</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=16175</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=15411</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=15624</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=15626</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=16176</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=16178</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=16180</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=16182</Reference>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=58</Reference>\n    </References>\n  </UAObjectType>\n  <UAVariable NodeId=\"i=16173\" BrowseName=\"Identities\" ParentNodeId=\"i=15620\" DataType=\"i=15634\" ValueRank=\"1\" ArrayDimensions=\"0\">\n    <DisplayName>Identities</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=15620</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=16174\" BrowseName=\"Applications\" ParentNodeId=\"i=15620\" DataType=\"String\" ValueRank=\"1\" ArrayDimensions=\"0\">\n    <DisplayName>Applications</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=80</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=15620</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=15410\" BrowseName=\"ApplicationsExclude\" ParentNodeId=\"i=15620\" DataType=\"Boolean\">\n    <DisplayName>ApplicationsExclude</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=80</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=15620</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=16175\" BrowseName=\"Endpoints\" ParentNodeId=\"i=15620\" DataType=\"i=15528\" ValueRank=\"1\" ArrayDimensions=\"0\">\n    <DisplayName>Endpoints</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=80</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=15620</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=15411\" BrowseName=\"EndpointsExclude\" ParentNodeId=\"i=15620\" DataType=\"Boolean\">\n    <DisplayName>EndpointsExclude</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=80</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=15620</Reference>\n    </References>\n  </UAVariable>\n  <UAMethod NodeId=\"i=15624\" BrowseName=\"AddIdentity\" ParentNodeId=\"i=15620\">\n    <DisplayName>AddIdentity</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=15625</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=80</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=15620</Reference>\n    </References>\n  </UAMethod>\n  <UAVariable NodeId=\"i=15625\" BrowseName=\"InputArguments\" ParentNodeId=\"i=15624\" DataType=\"i=296\" ValueRank=\"1\" ArrayDimensions=\"0\">\n    <DisplayName>InputArguments</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=15624</Reference>\n    </References>\n    <Value>\n      <ListOfExtensionObject xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=297</Identifier>\n          </TypeId>\n          <Body>\n            <Argument>\n              <Name>Rule</Name>\n              <DataType>\n                <Identifier>i=15634</Identifier>\n              </DataType>\n              <ValueRank>-1</ValueRank>\n              <ArrayDimensions />\n            </Argument>\n          </Body>\n        </ExtensionObject>\n      </ListOfExtensionObject>\n    </Value>\n  </UAVariable>\n  <UAMethod NodeId=\"i=15626\" BrowseName=\"RemoveIdentity\" ParentNodeId=\"i=15620\">\n    <DisplayName>RemoveIdentity</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=15627</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=80</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=15620</Reference>\n    </References>\n  </UAMethod>\n  <UAVariable NodeId=\"i=15627\" BrowseName=\"InputArguments\" ParentNodeId=\"i=15626\" DataType=\"i=296\" ValueRank=\"1\" ArrayDimensions=\"0\">\n    <DisplayName>InputArguments</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=15626</Reference>\n    </References>\n    <Value>\n      <ListOfExtensionObject xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=297</Identifier>\n          </TypeId>\n          <Body>\n            <Argument>\n              <Name>Rule</Name>\n              <DataType>\n                <Identifier>i=15634</Identifier>\n              </DataType>\n              <ValueRank>-1</ValueRank>\n              <ArrayDimensions />\n            </Argument>\n          </Body>\n        </ExtensionObject>\n      </ListOfExtensionObject>\n    </Value>\n  </UAVariable>\n  <UAMethod NodeId=\"i=16176\" BrowseName=\"AddApplication\" ParentNodeId=\"i=15620\">\n    <DisplayName>AddApplication</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=16177</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=80</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=15620</Reference>\n    </References>\n  </UAMethod>\n  <UAVariable NodeId=\"i=16177\" BrowseName=\"InputArguments\" ParentNodeId=\"i=16176\" DataType=\"i=296\" ValueRank=\"1\" ArrayDimensions=\"0\">\n    <DisplayName>InputArguments</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=16176</Reference>\n    </References>\n    <Value>\n      <ListOfExtensionObject xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=297</Identifier>\n          </TypeId>\n          <Body>\n            <Argument>\n              <Name>ApplicationUri</Name>\n              <DataType>\n                <Identifier>i=12</Identifier>\n              </DataType>\n              <ValueRank>-1</ValueRank>\n              <ArrayDimensions />\n            </Argument>\n          </Body>\n        </ExtensionObject>\n      </ListOfExtensionObject>\n    </Value>\n  </UAVariable>\n  <UAMethod NodeId=\"i=16178\" BrowseName=\"RemoveApplication\" ParentNodeId=\"i=15620\">\n    <DisplayName>RemoveApplication</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=16179</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=80</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=15620</Reference>\n    </References>\n  </UAMethod>\n  <UAVariable NodeId=\"i=16179\" BrowseName=\"InputArguments\" ParentNodeId=\"i=16178\" DataType=\"i=296\" ValueRank=\"1\" ArrayDimensions=\"0\">\n    <DisplayName>InputArguments</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=16178</Reference>\n    </References>\n    <Value>\n      <ListOfExtensionObject xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=297</Identifier>\n          </TypeId>\n          <Body>\n            <Argument>\n              <Name>ApplicationUri</Name>\n              <DataType>\n                <Identifier>i=12</Identifier>\n              </DataType>\n              <ValueRank>-1</ValueRank>\n              <ArrayDimensions />\n            </Argument>\n          </Body>\n        </ExtensionObject>\n      </ListOfExtensionObject>\n    </Value>\n  </UAVariable>\n  <UAMethod NodeId=\"i=16180\" BrowseName=\"AddEndpoint\" ParentNodeId=\"i=15620\">\n    <DisplayName>AddEndpoint</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=16181</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=80</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=15620</Reference>\n    </References>\n  </UAMethod>\n  <UAVariable NodeId=\"i=16181\" BrowseName=\"InputArguments\" ParentNodeId=\"i=16180\" DataType=\"i=296\" ValueRank=\"1\" ArrayDimensions=\"0\">\n    <DisplayName>InputArguments</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=16180</Reference>\n    </References>\n    <Value>\n      <ListOfExtensionObject xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=297</Identifier>\n          </TypeId>\n          <Body>\n            <Argument>\n              <Name>Endpoint</Name>\n              <DataType>\n                <Identifier>i=15528</Identifier>\n              </DataType>\n              <ValueRank>-1</ValueRank>\n              <ArrayDimensions />\n            </Argument>\n          </Body>\n        </ExtensionObject>\n      </ListOfExtensionObject>\n    </Value>\n  </UAVariable>\n  <UAMethod NodeId=\"i=16182\" BrowseName=\"RemoveEndpoint\" ParentNodeId=\"i=15620\">\n    <DisplayName>RemoveEndpoint</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=16183</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=80</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=15620</Reference>\n    </References>\n  </UAMethod>\n  <UAVariable NodeId=\"i=16183\" BrowseName=\"InputArguments\" ParentNodeId=\"i=16182\" DataType=\"i=296\" ValueRank=\"1\" ArrayDimensions=\"0\">\n    <DisplayName>InputArguments</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=16182</Reference>\n    </References>\n    <Value>\n      <ListOfExtensionObject xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=297</Identifier>\n          </TypeId>\n          <Body>\n            <Argument>\n              <Name>Endpoint</Name>\n              <DataType>\n                <Identifier>i=15528</Identifier>\n              </DataType>\n              <ValueRank>-1</ValueRank>\n              <ArrayDimensions />\n            </Argument>\n          </Body>\n        </ExtensionObject>\n      </ListOfExtensionObject>\n    </Value>\n  </UAVariable>\n  <UADataType NodeId=\"i=15632\" BrowseName=\"IdentityCriteriaType\">\n    <DisplayName>IdentityCriteriaType</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=15633</Reference>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=29</Reference>\n    </References>\n    <Definition Name=\"IdentityCriteriaType\">\n      <Field Name=\"UserName\" Value=\"1\" />\n      <Field Name=\"Thumbprint\" Value=\"2\" />\n      <Field Name=\"Role\" Value=\"3\" />\n      <Field Name=\"GroupId\" Value=\"4\" />\n      <Field Name=\"Anonymous\" Value=\"5\" />\n      <Field Name=\"AuthenticatedUser\" Value=\"6\" />\n      <Field Name=\"Application\" Value=\"7\" />\n    </Definition>\n  </UADataType>\n  <UAVariable NodeId=\"i=15633\" BrowseName=\"EnumValues\" ParentNodeId=\"i=15632\" DataType=\"i=7594\" ValueRank=\"1\" ArrayDimensions=\"0\">\n    <DisplayName>EnumValues</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=15632</Reference>\n    </References>\n    <Value>\n      <ListOfExtensionObject xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=7616</Identifier>\n          </TypeId>\n          <Body>\n            <EnumValueType>\n              <Value>1</Value>\n              <DisplayName>\n                <Text>UserName</Text>\n              </DisplayName>\n            </EnumValueType>\n          </Body>\n        </ExtensionObject>\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=7616</Identifier>\n          </TypeId>\n          <Body>\n            <EnumValueType>\n              <Value>2</Value>\n              <DisplayName>\n                <Text>Thumbprint</Text>\n              </DisplayName>\n            </EnumValueType>\n          </Body>\n        </ExtensionObject>\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=7616</Identifier>\n          </TypeId>\n          <Body>\n            <EnumValueType>\n              <Value>3</Value>\n              <DisplayName>\n                <Text>Role</Text>\n              </DisplayName>\n            </EnumValueType>\n          </Body>\n        </ExtensionObject>\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=7616</Identifier>\n          </TypeId>\n          <Body>\n            <EnumValueType>\n              <Value>4</Value>\n              <DisplayName>\n                <Text>GroupId</Text>\n              </DisplayName>\n            </EnumValueType>\n          </Body>\n        </ExtensionObject>\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=7616</Identifier>\n          </TypeId>\n          <Body>\n            <EnumValueType>\n              <Value>5</Value>\n              <DisplayName>\n                <Text>Anonymous</Text>\n              </DisplayName>\n            </EnumValueType>\n          </Body>\n        </ExtensionObject>\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=7616</Identifier>\n          </TypeId>\n          <Body>\n            <EnumValueType>\n              <Value>6</Value>\n              <DisplayName>\n                <Text>AuthenticatedUser</Text>\n              </DisplayName>\n            </EnumValueType>\n          </Body>\n        </ExtensionObject>\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=7616</Identifier>\n          </TypeId>\n          <Body>\n            <EnumValueType>\n              <Value>7</Value>\n              <DisplayName>\n                <Text>Application</Text>\n              </DisplayName>\n            </EnumValueType>\n          </Body>\n        </ExtensionObject>\n      </ListOfExtensionObject>\n    </Value>\n  </UAVariable>\n  <UADataType NodeId=\"i=15634\" BrowseName=\"IdentityMappingRuleType\">\n    <DisplayName>IdentityMappingRuleType</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=22</Reference>\n    </References>\n    <Definition Name=\"IdentityMappingRuleType\">\n      <Field Name=\"CriteriaType\" DataType=\"i=15632\" />\n      <Field Name=\"Criteria\" DataType=\"i=12\" />\n    </Definition>\n  </UADataType>\n  <UAObjectType NodeId=\"i=17641\" BrowseName=\"RoleMappingRuleChangedAuditEventType\" IsAbstract=\"true\">\n    <DisplayName>RoleMappingRuleChangedAuditEventType</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=2127</Reference>\n    </References>\n  </UAObjectType>\n  <UAObject NodeId=\"i=15644\" BrowseName=\"Anonymous\" SymbolicName=\"WellKnownRole_Anonymous\">\n    <DisplayName>Anonymous</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=16192</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=16193</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=15412</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=16194</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=15413</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=15648</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=15650</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=16195</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=16197</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=16199</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=16201</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=15606</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=15620</Reference>\n    </References>\n  </UAObject>\n  <UAVariable NodeId=\"i=16192\" BrowseName=\"Identities\" ParentNodeId=\"i=15644\" DataType=\"i=15634\" ValueRank=\"1\" ArrayDimensions=\"0\">\n    <DisplayName>Identities</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=15644</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=16193\" BrowseName=\"Applications\" ParentNodeId=\"i=15644\" DataType=\"String\" ValueRank=\"1\" ArrayDimensions=\"0\">\n    <DisplayName>Applications</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=15644</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=15412\" BrowseName=\"ApplicationsExclude\" ParentNodeId=\"i=15644\" DataType=\"Boolean\">\n    <DisplayName>ApplicationsExclude</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=15644</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=16194\" BrowseName=\"Endpoints\" ParentNodeId=\"i=15644\" DataType=\"i=15528\" ValueRank=\"1\" ArrayDimensions=\"0\">\n    <DisplayName>Endpoints</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=15644</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=15413\" BrowseName=\"EndpointsExclude\" ParentNodeId=\"i=15644\" DataType=\"Boolean\">\n    <DisplayName>EndpointsExclude</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=15644</Reference>\n    </References>\n  </UAVariable>\n  <UAMethod NodeId=\"i=15648\" BrowseName=\"AddIdentity\" ParentNodeId=\"i=15644\" MethodDeclarationId=\"i=15624\">\n    <DisplayName>AddIdentity</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=15649</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=15644</Reference>\n    </References>\n  </UAMethod>\n  <UAVariable NodeId=\"i=15649\" BrowseName=\"InputArguments\" ParentNodeId=\"i=15648\" DataType=\"i=296\" ValueRank=\"1\" ArrayDimensions=\"0\">\n    <DisplayName>InputArguments</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=15648</Reference>\n    </References>\n    <Value>\n      <ListOfExtensionObject xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=297</Identifier>\n          </TypeId>\n          <Body>\n            <Argument>\n              <Name>Rule</Name>\n              <DataType>\n                <Identifier>i=15634</Identifier>\n              </DataType>\n              <ValueRank>-1</ValueRank>\n              <ArrayDimensions />\n            </Argument>\n          </Body>\n        </ExtensionObject>\n      </ListOfExtensionObject>\n    </Value>\n  </UAVariable>\n  <UAMethod NodeId=\"i=15650\" BrowseName=\"RemoveIdentity\" ParentNodeId=\"i=15644\" MethodDeclarationId=\"i=15626\">\n    <DisplayName>RemoveIdentity</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=15651</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=15644</Reference>\n    </References>\n  </UAMethod>\n  <UAVariable NodeId=\"i=15651\" BrowseName=\"InputArguments\" ParentNodeId=\"i=15650\" DataType=\"i=296\" ValueRank=\"1\" ArrayDimensions=\"0\">\n    <DisplayName>InputArguments</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=15650</Reference>\n    </References>\n    <Value>\n      <ListOfExtensionObject xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=297</Identifier>\n          </TypeId>\n          <Body>\n            <Argument>\n              <Name>Rule</Name>\n              <DataType>\n                <Identifier>i=15634</Identifier>\n              </DataType>\n              <ValueRank>-1</ValueRank>\n              <ArrayDimensions />\n            </Argument>\n          </Body>\n        </ExtensionObject>\n      </ListOfExtensionObject>\n    </Value>\n  </UAVariable>\n  <UAMethod NodeId=\"i=16195\" BrowseName=\"AddApplication\" ParentNodeId=\"i=15644\" MethodDeclarationId=\"i=16176\">\n    <DisplayName>AddApplication</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=16196</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=15644</Reference>\n    </References>\n  </UAMethod>\n  <UAVariable NodeId=\"i=16196\" BrowseName=\"InputArguments\" ParentNodeId=\"i=16195\" DataType=\"i=296\" ValueRank=\"1\" ArrayDimensions=\"0\">\n    <DisplayName>InputArguments</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=16195</Reference>\n    </References>\n    <Value>\n      <ListOfExtensionObject xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=297</Identifier>\n          </TypeId>\n          <Body>\n            <Argument>\n              <Name>ApplicationUri</Name>\n              <DataType>\n                <Identifier>i=12</Identifier>\n              </DataType>\n              <ValueRank>-1</ValueRank>\n              <ArrayDimensions />\n            </Argument>\n          </Body>\n        </ExtensionObject>\n      </ListOfExtensionObject>\n    </Value>\n  </UAVariable>\n  <UAMethod NodeId=\"i=16197\" BrowseName=\"RemoveApplication\" ParentNodeId=\"i=15644\" MethodDeclarationId=\"i=16178\">\n    <DisplayName>RemoveApplication</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=16198</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=15644</Reference>\n    </References>\n  </UAMethod>\n  <UAVariable NodeId=\"i=16198\" BrowseName=\"InputArguments\" ParentNodeId=\"i=16197\" DataType=\"i=296\" ValueRank=\"1\" ArrayDimensions=\"0\">\n    <DisplayName>InputArguments</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=16197</Reference>\n    </References>\n    <Value>\n      <ListOfExtensionObject xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=297</Identifier>\n          </TypeId>\n          <Body>\n            <Argument>\n              <Name>ApplicationUri</Name>\n              <DataType>\n                <Identifier>i=12</Identifier>\n              </DataType>\n              <ValueRank>-1</ValueRank>\n              <ArrayDimensions />\n            </Argument>\n          </Body>\n        </ExtensionObject>\n      </ListOfExtensionObject>\n    </Value>\n  </UAVariable>\n  <UAMethod NodeId=\"i=16199\" BrowseName=\"AddEndpoint\" ParentNodeId=\"i=15644\" MethodDeclarationId=\"i=16180\">\n    <DisplayName>AddEndpoint</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=16200</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=15644</Reference>\n    </References>\n  </UAMethod>\n  <UAVariable NodeId=\"i=16200\" BrowseName=\"InputArguments\" ParentNodeId=\"i=16199\" DataType=\"i=296\" ValueRank=\"1\" ArrayDimensions=\"0\">\n    <DisplayName>InputArguments</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=16199</Reference>\n    </References>\n    <Value>\n      <ListOfExtensionObject xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=297</Identifier>\n          </TypeId>\n          <Body>\n            <Argument>\n              <Name>Endpoint</Name>\n              <DataType>\n                <Identifier>i=15528</Identifier>\n              </DataType>\n              <ValueRank>-1</ValueRank>\n              <ArrayDimensions />\n            </Argument>\n          </Body>\n        </ExtensionObject>\n      </ListOfExtensionObject>\n    </Value>\n  </UAVariable>\n  <UAMethod NodeId=\"i=16201\" BrowseName=\"RemoveEndpoint\" ParentNodeId=\"i=15644\" MethodDeclarationId=\"i=16182\">\n    <DisplayName>RemoveEndpoint</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=16202</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=15644</Reference>\n    </References>\n  </UAMethod>\n  <UAVariable NodeId=\"i=16202\" BrowseName=\"InputArguments\" ParentNodeId=\"i=16201\" DataType=\"i=296\" ValueRank=\"1\" ArrayDimensions=\"0\">\n    <DisplayName>InputArguments</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=16201</Reference>\n    </References>\n    <Value>\n      <ListOfExtensionObject xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=297</Identifier>\n          </TypeId>\n          <Body>\n            <Argument>\n              <Name>Endpoint</Name>\n              <DataType>\n                <Identifier>i=15528</Identifier>\n              </DataType>\n              <ValueRank>-1</ValueRank>\n              <ArrayDimensions />\n            </Argument>\n          </Body>\n        </ExtensionObject>\n      </ListOfExtensionObject>\n    </Value>\n  </UAVariable>\n  <UAObject NodeId=\"i=15656\" BrowseName=\"AuthenticatedUser\" SymbolicName=\"WellKnownRole_AuthenticatedUser\">\n    <DisplayName>AuthenticatedUser</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=16203</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=16204</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=15414</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=16205</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=15415</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=15660</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=15662</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=16206</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=16208</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=16210</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=16212</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=15606</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=15620</Reference>\n    </References>\n  </UAObject>\n  <UAVariable NodeId=\"i=16203\" BrowseName=\"Identities\" ParentNodeId=\"i=15656\" DataType=\"i=15634\" ValueRank=\"1\" ArrayDimensions=\"0\">\n    <DisplayName>Identities</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=15656</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=16204\" BrowseName=\"Applications\" ParentNodeId=\"i=15656\" DataType=\"String\" ValueRank=\"1\" ArrayDimensions=\"0\">\n    <DisplayName>Applications</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=15656</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=15414\" BrowseName=\"ApplicationsExclude\" ParentNodeId=\"i=15656\" DataType=\"Boolean\">\n    <DisplayName>ApplicationsExclude</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=15656</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=16205\" BrowseName=\"Endpoints\" ParentNodeId=\"i=15656\" DataType=\"i=15528\" ValueRank=\"1\" ArrayDimensions=\"0\">\n    <DisplayName>Endpoints</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=15656</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=15415\" BrowseName=\"EndpointsExclude\" ParentNodeId=\"i=15656\" DataType=\"Boolean\">\n    <DisplayName>EndpointsExclude</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=15656</Reference>\n    </References>\n  </UAVariable>\n  <UAMethod NodeId=\"i=15660\" BrowseName=\"AddIdentity\" ParentNodeId=\"i=15656\" MethodDeclarationId=\"i=15624\">\n    <DisplayName>AddIdentity</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=15661</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=15656</Reference>\n    </References>\n  </UAMethod>\n  <UAVariable NodeId=\"i=15661\" BrowseName=\"InputArguments\" ParentNodeId=\"i=15660\" DataType=\"i=296\" ValueRank=\"1\" ArrayDimensions=\"0\">\n    <DisplayName>InputArguments</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=15660</Reference>\n    </References>\n    <Value>\n      <ListOfExtensionObject xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=297</Identifier>\n          </TypeId>\n          <Body>\n            <Argument>\n              <Name>Rule</Name>\n              <DataType>\n                <Identifier>i=15634</Identifier>\n              </DataType>\n              <ValueRank>-1</ValueRank>\n              <ArrayDimensions />\n            </Argument>\n          </Body>\n        </ExtensionObject>\n      </ListOfExtensionObject>\n    </Value>\n  </UAVariable>\n  <UAMethod NodeId=\"i=15662\" BrowseName=\"RemoveIdentity\" ParentNodeId=\"i=15656\" MethodDeclarationId=\"i=15626\">\n    <DisplayName>RemoveIdentity</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=15663</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=15656</Reference>\n    </References>\n  </UAMethod>\n  <UAVariable NodeId=\"i=15663\" BrowseName=\"InputArguments\" ParentNodeId=\"i=15662\" DataType=\"i=296\" ValueRank=\"1\" ArrayDimensions=\"0\">\n    <DisplayName>InputArguments</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=15662</Reference>\n    </References>\n    <Value>\n      <ListOfExtensionObject xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=297</Identifier>\n          </TypeId>\n          <Body>\n            <Argument>\n              <Name>Rule</Name>\n              <DataType>\n                <Identifier>i=15634</Identifier>\n              </DataType>\n              <ValueRank>-1</ValueRank>\n              <ArrayDimensions />\n            </Argument>\n          </Body>\n        </ExtensionObject>\n      </ListOfExtensionObject>\n    </Value>\n  </UAVariable>\n  <UAMethod NodeId=\"i=16206\" BrowseName=\"AddApplication\" ParentNodeId=\"i=15656\" MethodDeclarationId=\"i=16176\">\n    <DisplayName>AddApplication</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=16207</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=15656</Reference>\n    </References>\n  </UAMethod>\n  <UAVariable NodeId=\"i=16207\" BrowseName=\"InputArguments\" ParentNodeId=\"i=16206\" DataType=\"i=296\" ValueRank=\"1\" ArrayDimensions=\"0\">\n    <DisplayName>InputArguments</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=16206</Reference>\n    </References>\n    <Value>\n      <ListOfExtensionObject xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=297</Identifier>\n          </TypeId>\n          <Body>\n            <Argument>\n              <Name>ApplicationUri</Name>\n              <DataType>\n                <Identifier>i=12</Identifier>\n              </DataType>\n              <ValueRank>-1</ValueRank>\n              <ArrayDimensions />\n            </Argument>\n          </Body>\n        </ExtensionObject>\n      </ListOfExtensionObject>\n    </Value>\n  </UAVariable>\n  <UAMethod NodeId=\"i=16208\" BrowseName=\"RemoveApplication\" ParentNodeId=\"i=15656\" MethodDeclarationId=\"i=16178\">\n    <DisplayName>RemoveApplication</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=16209</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=15656</Reference>\n    </References>\n  </UAMethod>\n  <UAVariable NodeId=\"i=16209\" BrowseName=\"InputArguments\" ParentNodeId=\"i=16208\" DataType=\"i=296\" ValueRank=\"1\" ArrayDimensions=\"0\">\n    <DisplayName>InputArguments</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=16208</Reference>\n    </References>\n    <Value>\n      <ListOfExtensionObject xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=297</Identifier>\n          </TypeId>\n          <Body>\n            <Argument>\n              <Name>ApplicationUri</Name>\n              <DataType>\n                <Identifier>i=12</Identifier>\n              </DataType>\n              <ValueRank>-1</ValueRank>\n              <ArrayDimensions />\n            </Argument>\n          </Body>\n        </ExtensionObject>\n      </ListOfExtensionObject>\n    </Value>\n  </UAVariable>\n  <UAMethod NodeId=\"i=16210\" BrowseName=\"AddEndpoint\" ParentNodeId=\"i=15656\" MethodDeclarationId=\"i=16180\">\n    <DisplayName>AddEndpoint</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=16211</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=15656</Reference>\n    </References>\n  </UAMethod>\n  <UAVariable NodeId=\"i=16211\" BrowseName=\"InputArguments\" ParentNodeId=\"i=16210\" DataType=\"i=296\" ValueRank=\"1\" ArrayDimensions=\"0\">\n    <DisplayName>InputArguments</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=16210</Reference>\n    </References>\n    <Value>\n      <ListOfExtensionObject xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=297</Identifier>\n          </TypeId>\n          <Body>\n            <Argument>\n              <Name>Endpoint</Name>\n              <DataType>\n                <Identifier>i=15528</Identifier>\n              </DataType>\n              <ValueRank>-1</ValueRank>\n              <ArrayDimensions />\n            </Argument>\n          </Body>\n        </ExtensionObject>\n      </ListOfExtensionObject>\n    </Value>\n  </UAVariable>\n  <UAMethod NodeId=\"i=16212\" BrowseName=\"RemoveEndpoint\" ParentNodeId=\"i=15656\" MethodDeclarationId=\"i=16182\">\n    <DisplayName>RemoveEndpoint</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=16213</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=15656</Reference>\n    </References>\n  </UAMethod>\n  <UAVariable NodeId=\"i=16213\" BrowseName=\"InputArguments\" ParentNodeId=\"i=16212\" DataType=\"i=296\" ValueRank=\"1\" ArrayDimensions=\"0\">\n    <DisplayName>InputArguments</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=16212</Reference>\n    </References>\n    <Value>\n      <ListOfExtensionObject xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=297</Identifier>\n          </TypeId>\n          <Body>\n            <Argument>\n              <Name>Endpoint</Name>\n              <DataType>\n                <Identifier>i=15528</Identifier>\n              </DataType>\n              <ValueRank>-1</ValueRank>\n              <ArrayDimensions />\n            </Argument>\n          </Body>\n        </ExtensionObject>\n      </ListOfExtensionObject>\n    </Value>\n  </UAVariable>\n  <UAObject NodeId=\"i=15668\" BrowseName=\"Observer\" SymbolicName=\"WellKnownRole_Observer\">\n    <DisplayName>Observer</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=16214</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=16215</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=15416</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=16216</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=15417</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=15672</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=15674</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=16217</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=16219</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=16221</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=16223</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=15606</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=15620</Reference>\n    </References>\n  </UAObject>\n  <UAVariable NodeId=\"i=16214\" BrowseName=\"Identities\" ParentNodeId=\"i=15668\" DataType=\"i=15634\" ValueRank=\"1\" ArrayDimensions=\"0\">\n    <DisplayName>Identities</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=15668</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=16215\" BrowseName=\"Applications\" ParentNodeId=\"i=15668\" DataType=\"String\" ValueRank=\"1\" ArrayDimensions=\"0\">\n    <DisplayName>Applications</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=15668</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=15416\" BrowseName=\"ApplicationsExclude\" ParentNodeId=\"i=15668\" DataType=\"Boolean\">\n    <DisplayName>ApplicationsExclude</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=15668</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=16216\" BrowseName=\"Endpoints\" ParentNodeId=\"i=15668\" DataType=\"i=15528\" ValueRank=\"1\" ArrayDimensions=\"0\">\n    <DisplayName>Endpoints</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=15668</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=15417\" BrowseName=\"EndpointsExclude\" ParentNodeId=\"i=15668\" DataType=\"Boolean\">\n    <DisplayName>EndpointsExclude</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=15668</Reference>\n    </References>\n  </UAVariable>\n  <UAMethod NodeId=\"i=15672\" BrowseName=\"AddIdentity\" ParentNodeId=\"i=15668\" MethodDeclarationId=\"i=15624\">\n    <DisplayName>AddIdentity</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=15673</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=15668</Reference>\n    </References>\n  </UAMethod>\n  <UAVariable NodeId=\"i=15673\" BrowseName=\"InputArguments\" ParentNodeId=\"i=15672\" DataType=\"i=296\" ValueRank=\"1\" ArrayDimensions=\"0\">\n    <DisplayName>InputArguments</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=15672</Reference>\n    </References>\n    <Value>\n      <ListOfExtensionObject xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=297</Identifier>\n          </TypeId>\n          <Body>\n            <Argument>\n              <Name>Rule</Name>\n              <DataType>\n                <Identifier>i=15634</Identifier>\n              </DataType>\n              <ValueRank>-1</ValueRank>\n              <ArrayDimensions />\n            </Argument>\n          </Body>\n        </ExtensionObject>\n      </ListOfExtensionObject>\n    </Value>\n  </UAVariable>\n  <UAMethod NodeId=\"i=15674\" BrowseName=\"RemoveIdentity\" ParentNodeId=\"i=15668\" MethodDeclarationId=\"i=15626\">\n    <DisplayName>RemoveIdentity</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=15675</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=15668</Reference>\n    </References>\n  </UAMethod>\n  <UAVariable NodeId=\"i=15675\" BrowseName=\"InputArguments\" ParentNodeId=\"i=15674\" DataType=\"i=296\" ValueRank=\"1\" ArrayDimensions=\"0\">\n    <DisplayName>InputArguments</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=15674</Reference>\n    </References>\n    <Value>\n      <ListOfExtensionObject xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=297</Identifier>\n          </TypeId>\n          <Body>\n            <Argument>\n              <Name>Rule</Name>\n              <DataType>\n                <Identifier>i=15634</Identifier>\n              </DataType>\n              <ValueRank>-1</ValueRank>\n              <ArrayDimensions />\n            </Argument>\n          </Body>\n        </ExtensionObject>\n      </ListOfExtensionObject>\n    </Value>\n  </UAVariable>\n  <UAMethod NodeId=\"i=16217\" BrowseName=\"AddApplication\" ParentNodeId=\"i=15668\" MethodDeclarationId=\"i=16176\">\n    <DisplayName>AddApplication</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=16218</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=15668</Reference>\n    </References>\n  </UAMethod>\n  <UAVariable NodeId=\"i=16218\" BrowseName=\"InputArguments\" ParentNodeId=\"i=16217\" DataType=\"i=296\" ValueRank=\"1\" ArrayDimensions=\"0\">\n    <DisplayName>InputArguments</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=16217</Reference>\n    </References>\n    <Value>\n      <ListOfExtensionObject xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=297</Identifier>\n          </TypeId>\n          <Body>\n            <Argument>\n              <Name>ApplicationUri</Name>\n              <DataType>\n                <Identifier>i=12</Identifier>\n              </DataType>\n              <ValueRank>-1</ValueRank>\n              <ArrayDimensions />\n            </Argument>\n          </Body>\n        </ExtensionObject>\n      </ListOfExtensionObject>\n    </Value>\n  </UAVariable>\n  <UAMethod NodeId=\"i=16219\" BrowseName=\"RemoveApplication\" ParentNodeId=\"i=15668\" MethodDeclarationId=\"i=16178\">\n    <DisplayName>RemoveApplication</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=16220</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=15668</Reference>\n    </References>\n  </UAMethod>\n  <UAVariable NodeId=\"i=16220\" BrowseName=\"InputArguments\" ParentNodeId=\"i=16219\" DataType=\"i=296\" ValueRank=\"1\" ArrayDimensions=\"0\">\n    <DisplayName>InputArguments</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=16219</Reference>\n    </References>\n    <Value>\n      <ListOfExtensionObject xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=297</Identifier>\n          </TypeId>\n          <Body>\n            <Argument>\n              <Name>ApplicationUri</Name>\n              <DataType>\n                <Identifier>i=12</Identifier>\n              </DataType>\n              <ValueRank>-1</ValueRank>\n              <ArrayDimensions />\n            </Argument>\n          </Body>\n        </ExtensionObject>\n      </ListOfExtensionObject>\n    </Value>\n  </UAVariable>\n  <UAMethod NodeId=\"i=16221\" BrowseName=\"AddEndpoint\" ParentNodeId=\"i=15668\" MethodDeclarationId=\"i=16180\">\n    <DisplayName>AddEndpoint</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=16222</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=15668</Reference>\n    </References>\n  </UAMethod>\n  <UAVariable NodeId=\"i=16222\" BrowseName=\"InputArguments\" ParentNodeId=\"i=16221\" DataType=\"i=296\" ValueRank=\"1\" ArrayDimensions=\"0\">\n    <DisplayName>InputArguments</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=16221</Reference>\n    </References>\n    <Value>\n      <ListOfExtensionObject xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=297</Identifier>\n          </TypeId>\n          <Body>\n            <Argument>\n              <Name>Endpoint</Name>\n              <DataType>\n                <Identifier>i=15528</Identifier>\n              </DataType>\n              <ValueRank>-1</ValueRank>\n              <ArrayDimensions />\n            </Argument>\n          </Body>\n        </ExtensionObject>\n      </ListOfExtensionObject>\n    </Value>\n  </UAVariable>\n  <UAMethod NodeId=\"i=16223\" BrowseName=\"RemoveEndpoint\" ParentNodeId=\"i=15668\" MethodDeclarationId=\"i=16182\">\n    <DisplayName>RemoveEndpoint</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=16224</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=15668</Reference>\n    </References>\n  </UAMethod>\n  <UAVariable NodeId=\"i=16224\" BrowseName=\"InputArguments\" ParentNodeId=\"i=16223\" DataType=\"i=296\" ValueRank=\"1\" ArrayDimensions=\"0\">\n    <DisplayName>InputArguments</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=16223</Reference>\n    </References>\n    <Value>\n      <ListOfExtensionObject xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=297</Identifier>\n          </TypeId>\n          <Body>\n            <Argument>\n              <Name>Endpoint</Name>\n              <DataType>\n                <Identifier>i=15528</Identifier>\n              </DataType>\n              <ValueRank>-1</ValueRank>\n              <ArrayDimensions />\n            </Argument>\n          </Body>\n        </ExtensionObject>\n      </ListOfExtensionObject>\n    </Value>\n  </UAVariable>\n  <UAObject NodeId=\"i=15680\" BrowseName=\"Operator\" SymbolicName=\"WellKnownRole_Operator\">\n    <DisplayName>Operator</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=16225</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=16226</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=15418</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=16227</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=15423</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=15684</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=15686</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=16228</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=16230</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=16232</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=16234</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=15606</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=15620</Reference>\n    </References>\n  </UAObject>\n  <UAVariable NodeId=\"i=16225\" BrowseName=\"Identities\" ParentNodeId=\"i=15680\" DataType=\"i=15634\" ValueRank=\"1\" ArrayDimensions=\"0\">\n    <DisplayName>Identities</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=15680</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=16226\" BrowseName=\"Applications\" ParentNodeId=\"i=15680\" DataType=\"String\" ValueRank=\"1\" ArrayDimensions=\"0\">\n    <DisplayName>Applications</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=15680</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=15418\" BrowseName=\"ApplicationsExclude\" ParentNodeId=\"i=15680\" DataType=\"Boolean\">\n    <DisplayName>ApplicationsExclude</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=15680</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=16227\" BrowseName=\"Endpoints\" ParentNodeId=\"i=15680\" DataType=\"i=15528\" ValueRank=\"1\" ArrayDimensions=\"0\">\n    <DisplayName>Endpoints</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=15680</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=15423\" BrowseName=\"EndpointsExclude\" ParentNodeId=\"i=15680\" DataType=\"Boolean\">\n    <DisplayName>EndpointsExclude</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=15680</Reference>\n    </References>\n  </UAVariable>\n  <UAMethod NodeId=\"i=15684\" BrowseName=\"AddIdentity\" ParentNodeId=\"i=15680\" MethodDeclarationId=\"i=15624\">\n    <DisplayName>AddIdentity</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=15685</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=15680</Reference>\n    </References>\n  </UAMethod>\n  <UAVariable NodeId=\"i=15685\" BrowseName=\"InputArguments\" ParentNodeId=\"i=15684\" DataType=\"i=296\" ValueRank=\"1\" ArrayDimensions=\"0\">\n    <DisplayName>InputArguments</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=15684</Reference>\n    </References>\n    <Value>\n      <ListOfExtensionObject xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=297</Identifier>\n          </TypeId>\n          <Body>\n            <Argument>\n              <Name>Rule</Name>\n              <DataType>\n                <Identifier>i=15634</Identifier>\n              </DataType>\n              <ValueRank>-1</ValueRank>\n              <ArrayDimensions />\n            </Argument>\n          </Body>\n        </ExtensionObject>\n      </ListOfExtensionObject>\n    </Value>\n  </UAVariable>\n  <UAMethod NodeId=\"i=15686\" BrowseName=\"RemoveIdentity\" ParentNodeId=\"i=15680\" MethodDeclarationId=\"i=15626\">\n    <DisplayName>RemoveIdentity</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=15687</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=15680</Reference>\n    </References>\n  </UAMethod>\n  <UAVariable NodeId=\"i=15687\" BrowseName=\"InputArguments\" ParentNodeId=\"i=15686\" DataType=\"i=296\" ValueRank=\"1\" ArrayDimensions=\"0\">\n    <DisplayName>InputArguments</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=15686</Reference>\n    </References>\n    <Value>\n      <ListOfExtensionObject xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=297</Identifier>\n          </TypeId>\n          <Body>\n            <Argument>\n              <Name>Rule</Name>\n              <DataType>\n                <Identifier>i=15634</Identifier>\n              </DataType>\n              <ValueRank>-1</ValueRank>\n              <ArrayDimensions />\n            </Argument>\n          </Body>\n        </ExtensionObject>\n      </ListOfExtensionObject>\n    </Value>\n  </UAVariable>\n  <UAMethod NodeId=\"i=16228\" BrowseName=\"AddApplication\" ParentNodeId=\"i=15680\" MethodDeclarationId=\"i=16176\">\n    <DisplayName>AddApplication</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=16229</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=15680</Reference>\n    </References>\n  </UAMethod>\n  <UAVariable NodeId=\"i=16229\" BrowseName=\"InputArguments\" ParentNodeId=\"i=16228\" DataType=\"i=296\" ValueRank=\"1\" ArrayDimensions=\"0\">\n    <DisplayName>InputArguments</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=16228</Reference>\n    </References>\n    <Value>\n      <ListOfExtensionObject xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=297</Identifier>\n          </TypeId>\n          <Body>\n            <Argument>\n              <Name>ApplicationUri</Name>\n              <DataType>\n                <Identifier>i=12</Identifier>\n              </DataType>\n              <ValueRank>-1</ValueRank>\n              <ArrayDimensions />\n            </Argument>\n          </Body>\n        </ExtensionObject>\n      </ListOfExtensionObject>\n    </Value>\n  </UAVariable>\n  <UAMethod NodeId=\"i=16230\" BrowseName=\"RemoveApplication\" ParentNodeId=\"i=15680\" MethodDeclarationId=\"i=16178\">\n    <DisplayName>RemoveApplication</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=16231</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=15680</Reference>\n    </References>\n  </UAMethod>\n  <UAVariable NodeId=\"i=16231\" BrowseName=\"InputArguments\" ParentNodeId=\"i=16230\" DataType=\"i=296\" ValueRank=\"1\" ArrayDimensions=\"0\">\n    <DisplayName>InputArguments</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=16230</Reference>\n    </References>\n    <Value>\n      <ListOfExtensionObject xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=297</Identifier>\n          </TypeId>\n          <Body>\n            <Argument>\n              <Name>ApplicationUri</Name>\n              <DataType>\n                <Identifier>i=12</Identifier>\n              </DataType>\n              <ValueRank>-1</ValueRank>\n              <ArrayDimensions />\n            </Argument>\n          </Body>\n        </ExtensionObject>\n      </ListOfExtensionObject>\n    </Value>\n  </UAVariable>\n  <UAMethod NodeId=\"i=16232\" BrowseName=\"AddEndpoint\" ParentNodeId=\"i=15680\" MethodDeclarationId=\"i=16180\">\n    <DisplayName>AddEndpoint</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=16233</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=15680</Reference>\n    </References>\n  </UAMethod>\n  <UAVariable NodeId=\"i=16233\" BrowseName=\"InputArguments\" ParentNodeId=\"i=16232\" DataType=\"i=296\" ValueRank=\"1\" ArrayDimensions=\"0\">\n    <DisplayName>InputArguments</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=16232</Reference>\n    </References>\n    <Value>\n      <ListOfExtensionObject xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=297</Identifier>\n          </TypeId>\n          <Body>\n            <Argument>\n              <Name>Endpoint</Name>\n              <DataType>\n                <Identifier>i=15528</Identifier>\n              </DataType>\n              <ValueRank>-1</ValueRank>\n              <ArrayDimensions />\n            </Argument>\n          </Body>\n        </ExtensionObject>\n      </ListOfExtensionObject>\n    </Value>\n  </UAVariable>\n  <UAMethod NodeId=\"i=16234\" BrowseName=\"RemoveEndpoint\" ParentNodeId=\"i=15680\" MethodDeclarationId=\"i=16182\">\n    <DisplayName>RemoveEndpoint</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=16235</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=15680</Reference>\n    </References>\n  </UAMethod>\n  <UAVariable NodeId=\"i=16235\" BrowseName=\"InputArguments\" ParentNodeId=\"i=16234\" DataType=\"i=296\" ValueRank=\"1\" ArrayDimensions=\"0\">\n    <DisplayName>InputArguments</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=16234</Reference>\n    </References>\n    <Value>\n      <ListOfExtensionObject xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=297</Identifier>\n          </TypeId>\n          <Body>\n            <Argument>\n              <Name>Endpoint</Name>\n              <DataType>\n                <Identifier>i=15528</Identifier>\n              </DataType>\n              <ValueRank>-1</ValueRank>\n              <ArrayDimensions />\n            </Argument>\n          </Body>\n        </ExtensionObject>\n      </ListOfExtensionObject>\n    </Value>\n  </UAVariable>\n  <UAObject NodeId=\"i=16036\" BrowseName=\"Engineer\" SymbolicName=\"WellKnownRole_Engineer\">\n    <DisplayName>Engineer</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=16236</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=16237</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=15424</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=16238</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=15425</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=16041</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=16043</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=16239</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=16241</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=16243</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=16245</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=15606</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=15620</Reference>\n    </References>\n  </UAObject>\n  <UAVariable NodeId=\"i=16236\" BrowseName=\"Identities\" ParentNodeId=\"i=16036\" DataType=\"i=15634\" ValueRank=\"1\" ArrayDimensions=\"0\">\n    <DisplayName>Identities</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=16036</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=16237\" BrowseName=\"Applications\" ParentNodeId=\"i=16036\" DataType=\"String\" ValueRank=\"1\" ArrayDimensions=\"0\">\n    <DisplayName>Applications</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=16036</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=15424\" BrowseName=\"ApplicationsExclude\" ParentNodeId=\"i=16036\" DataType=\"Boolean\">\n    <DisplayName>ApplicationsExclude</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=16036</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=16238\" BrowseName=\"Endpoints\" ParentNodeId=\"i=16036\" DataType=\"i=15528\" ValueRank=\"1\" ArrayDimensions=\"0\">\n    <DisplayName>Endpoints</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=16036</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=15425\" BrowseName=\"EndpointsExclude\" ParentNodeId=\"i=16036\" DataType=\"Boolean\">\n    <DisplayName>EndpointsExclude</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=16036</Reference>\n    </References>\n  </UAVariable>\n  <UAMethod NodeId=\"i=16041\" BrowseName=\"AddIdentity\" ParentNodeId=\"i=16036\" MethodDeclarationId=\"i=15624\">\n    <DisplayName>AddIdentity</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=16042</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=16036</Reference>\n    </References>\n  </UAMethod>\n  <UAVariable NodeId=\"i=16042\" BrowseName=\"InputArguments\" ParentNodeId=\"i=16041\" DataType=\"i=296\" ValueRank=\"1\" ArrayDimensions=\"0\">\n    <DisplayName>InputArguments</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=16041</Reference>\n    </References>\n    <Value>\n      <ListOfExtensionObject xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=297</Identifier>\n          </TypeId>\n          <Body>\n            <Argument>\n              <Name>Rule</Name>\n              <DataType>\n                <Identifier>i=15634</Identifier>\n              </DataType>\n              <ValueRank>-1</ValueRank>\n              <ArrayDimensions />\n            </Argument>\n          </Body>\n        </ExtensionObject>\n      </ListOfExtensionObject>\n    </Value>\n  </UAVariable>\n  <UAMethod NodeId=\"i=16043\" BrowseName=\"RemoveIdentity\" ParentNodeId=\"i=16036\" MethodDeclarationId=\"i=15626\">\n    <DisplayName>RemoveIdentity</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=16044</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=16036</Reference>\n    </References>\n  </UAMethod>\n  <UAVariable NodeId=\"i=16044\" BrowseName=\"InputArguments\" ParentNodeId=\"i=16043\" DataType=\"i=296\" ValueRank=\"1\" ArrayDimensions=\"0\">\n    <DisplayName>InputArguments</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=16043</Reference>\n    </References>\n    <Value>\n      <ListOfExtensionObject xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=297</Identifier>\n          </TypeId>\n          <Body>\n            <Argument>\n              <Name>Rule</Name>\n              <DataType>\n                <Identifier>i=15634</Identifier>\n              </DataType>\n              <ValueRank>-1</ValueRank>\n              <ArrayDimensions />\n            </Argument>\n          </Body>\n        </ExtensionObject>\n      </ListOfExtensionObject>\n    </Value>\n  </UAVariable>\n  <UAMethod NodeId=\"i=16239\" BrowseName=\"AddApplication\" ParentNodeId=\"i=16036\" MethodDeclarationId=\"i=16176\">\n    <DisplayName>AddApplication</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=16240</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=16036</Reference>\n    </References>\n  </UAMethod>\n  <UAVariable NodeId=\"i=16240\" BrowseName=\"InputArguments\" ParentNodeId=\"i=16239\" DataType=\"i=296\" ValueRank=\"1\" ArrayDimensions=\"0\">\n    <DisplayName>InputArguments</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=16239</Reference>\n    </References>\n    <Value>\n      <ListOfExtensionObject xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=297</Identifier>\n          </TypeId>\n          <Body>\n            <Argument>\n              <Name>ApplicationUri</Name>\n              <DataType>\n                <Identifier>i=12</Identifier>\n              </DataType>\n              <ValueRank>-1</ValueRank>\n              <ArrayDimensions />\n            </Argument>\n          </Body>\n        </ExtensionObject>\n      </ListOfExtensionObject>\n    </Value>\n  </UAVariable>\n  <UAMethod NodeId=\"i=16241\" BrowseName=\"RemoveApplication\" ParentNodeId=\"i=16036\" MethodDeclarationId=\"i=16178\">\n    <DisplayName>RemoveApplication</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=16242</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=16036</Reference>\n    </References>\n  </UAMethod>\n  <UAVariable NodeId=\"i=16242\" BrowseName=\"InputArguments\" ParentNodeId=\"i=16241\" DataType=\"i=296\" ValueRank=\"1\" ArrayDimensions=\"0\">\n    <DisplayName>InputArguments</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=16241</Reference>\n    </References>\n    <Value>\n      <ListOfExtensionObject xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=297</Identifier>\n          </TypeId>\n          <Body>\n            <Argument>\n              <Name>ApplicationUri</Name>\n              <DataType>\n                <Identifier>i=12</Identifier>\n              </DataType>\n              <ValueRank>-1</ValueRank>\n              <ArrayDimensions />\n            </Argument>\n          </Body>\n        </ExtensionObject>\n      </ListOfExtensionObject>\n    </Value>\n  </UAVariable>\n  <UAMethod NodeId=\"i=16243\" BrowseName=\"AddEndpoint\" ParentNodeId=\"i=16036\" MethodDeclarationId=\"i=16180\">\n    <DisplayName>AddEndpoint</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=16244</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=16036</Reference>\n    </References>\n  </UAMethod>\n  <UAVariable NodeId=\"i=16244\" BrowseName=\"InputArguments\" ParentNodeId=\"i=16243\" DataType=\"i=296\" ValueRank=\"1\" ArrayDimensions=\"0\">\n    <DisplayName>InputArguments</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=16243</Reference>\n    </References>\n    <Value>\n      <ListOfExtensionObject xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=297</Identifier>\n          </TypeId>\n          <Body>\n            <Argument>\n              <Name>Endpoint</Name>\n              <DataType>\n                <Identifier>i=15528</Identifier>\n              </DataType>\n              <ValueRank>-1</ValueRank>\n              <ArrayDimensions />\n            </Argument>\n          </Body>\n        </ExtensionObject>\n      </ListOfExtensionObject>\n    </Value>\n  </UAVariable>\n  <UAMethod NodeId=\"i=16245\" BrowseName=\"RemoveEndpoint\" ParentNodeId=\"i=16036\" MethodDeclarationId=\"i=16182\">\n    <DisplayName>RemoveEndpoint</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=16246</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=16036</Reference>\n    </References>\n  </UAMethod>\n  <UAVariable NodeId=\"i=16246\" BrowseName=\"InputArguments\" ParentNodeId=\"i=16245\" DataType=\"i=296\" ValueRank=\"1\" ArrayDimensions=\"0\">\n    <DisplayName>InputArguments</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=16245</Reference>\n    </References>\n    <Value>\n      <ListOfExtensionObject xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=297</Identifier>\n          </TypeId>\n          <Body>\n            <Argument>\n              <Name>Endpoint</Name>\n              <DataType>\n                <Identifier>i=15528</Identifier>\n              </DataType>\n              <ValueRank>-1</ValueRank>\n              <ArrayDimensions />\n            </Argument>\n          </Body>\n        </ExtensionObject>\n      </ListOfExtensionObject>\n    </Value>\n  </UAVariable>\n  <UAObject NodeId=\"i=15692\" BrowseName=\"Supervisor\" SymbolicName=\"WellKnownRole_Supervisor\">\n    <DisplayName>Supervisor</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=16247</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=16248</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=15426</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=16249</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=15427</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=15696</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=15698</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=16250</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=16252</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=16254</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=16256</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=15606</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=15620</Reference>\n    </References>\n  </UAObject>\n  <UAVariable NodeId=\"i=16247\" BrowseName=\"Identities\" ParentNodeId=\"i=15692\" DataType=\"i=15634\" ValueRank=\"1\" ArrayDimensions=\"0\">\n    <DisplayName>Identities</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=15692</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=16248\" BrowseName=\"Applications\" ParentNodeId=\"i=15692\" DataType=\"String\" ValueRank=\"1\" ArrayDimensions=\"0\">\n    <DisplayName>Applications</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=15692</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=15426\" BrowseName=\"ApplicationsExclude\" ParentNodeId=\"i=15692\" DataType=\"Boolean\">\n    <DisplayName>ApplicationsExclude</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=15692</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=16249\" BrowseName=\"Endpoints\" ParentNodeId=\"i=15692\" DataType=\"i=15528\" ValueRank=\"1\" ArrayDimensions=\"0\">\n    <DisplayName>Endpoints</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=15692</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=15427\" BrowseName=\"EndpointsExclude\" ParentNodeId=\"i=15692\" DataType=\"Boolean\">\n    <DisplayName>EndpointsExclude</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=15692</Reference>\n    </References>\n  </UAVariable>\n  <UAMethod NodeId=\"i=15696\" BrowseName=\"AddIdentity\" ParentNodeId=\"i=15692\" MethodDeclarationId=\"i=15624\">\n    <DisplayName>AddIdentity</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=15697</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=15692</Reference>\n    </References>\n  </UAMethod>\n  <UAVariable NodeId=\"i=15697\" BrowseName=\"InputArguments\" ParentNodeId=\"i=15696\" DataType=\"i=296\" ValueRank=\"1\" ArrayDimensions=\"0\">\n    <DisplayName>InputArguments</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=15696</Reference>\n    </References>\n    <Value>\n      <ListOfExtensionObject xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=297</Identifier>\n          </TypeId>\n          <Body>\n            <Argument>\n              <Name>Rule</Name>\n              <DataType>\n                <Identifier>i=15634</Identifier>\n              </DataType>\n              <ValueRank>-1</ValueRank>\n              <ArrayDimensions />\n            </Argument>\n          </Body>\n        </ExtensionObject>\n      </ListOfExtensionObject>\n    </Value>\n  </UAVariable>\n  <UAMethod NodeId=\"i=15698\" BrowseName=\"RemoveIdentity\" ParentNodeId=\"i=15692\" MethodDeclarationId=\"i=15626\">\n    <DisplayName>RemoveIdentity</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=15699</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=15692</Reference>\n    </References>\n  </UAMethod>\n  <UAVariable NodeId=\"i=15699\" BrowseName=\"InputArguments\" ParentNodeId=\"i=15698\" DataType=\"i=296\" ValueRank=\"1\" ArrayDimensions=\"0\">\n    <DisplayName>InputArguments</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=15698</Reference>\n    </References>\n    <Value>\n      <ListOfExtensionObject xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=297</Identifier>\n          </TypeId>\n          <Body>\n            <Argument>\n              <Name>Rule</Name>\n              <DataType>\n                <Identifier>i=15634</Identifier>\n              </DataType>\n              <ValueRank>-1</ValueRank>\n              <ArrayDimensions />\n            </Argument>\n          </Body>\n        </ExtensionObject>\n      </ListOfExtensionObject>\n    </Value>\n  </UAVariable>\n  <UAMethod NodeId=\"i=16250\" BrowseName=\"AddApplication\" ParentNodeId=\"i=15692\" MethodDeclarationId=\"i=16176\">\n    <DisplayName>AddApplication</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=16251</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=15692</Reference>\n    </References>\n  </UAMethod>\n  <UAVariable NodeId=\"i=16251\" BrowseName=\"InputArguments\" ParentNodeId=\"i=16250\" DataType=\"i=296\" ValueRank=\"1\" ArrayDimensions=\"0\">\n    <DisplayName>InputArguments</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=16250</Reference>\n    </References>\n    <Value>\n      <ListOfExtensionObject xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=297</Identifier>\n          </TypeId>\n          <Body>\n            <Argument>\n              <Name>ApplicationUri</Name>\n              <DataType>\n                <Identifier>i=12</Identifier>\n              </DataType>\n              <ValueRank>-1</ValueRank>\n              <ArrayDimensions />\n            </Argument>\n          </Body>\n        </ExtensionObject>\n      </ListOfExtensionObject>\n    </Value>\n  </UAVariable>\n  <UAMethod NodeId=\"i=16252\" BrowseName=\"RemoveApplication\" ParentNodeId=\"i=15692\" MethodDeclarationId=\"i=16178\">\n    <DisplayName>RemoveApplication</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=16253</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=15692</Reference>\n    </References>\n  </UAMethod>\n  <UAVariable NodeId=\"i=16253\" BrowseName=\"InputArguments\" ParentNodeId=\"i=16252\" DataType=\"i=296\" ValueRank=\"1\" ArrayDimensions=\"0\">\n    <DisplayName>InputArguments</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=16252</Reference>\n    </References>\n    <Value>\n      <ListOfExtensionObject xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=297</Identifier>\n          </TypeId>\n          <Body>\n            <Argument>\n              <Name>ApplicationUri</Name>\n              <DataType>\n                <Identifier>i=12</Identifier>\n              </DataType>\n              <ValueRank>-1</ValueRank>\n              <ArrayDimensions />\n            </Argument>\n          </Body>\n        </ExtensionObject>\n      </ListOfExtensionObject>\n    </Value>\n  </UAVariable>\n  <UAMethod NodeId=\"i=16254\" BrowseName=\"AddEndpoint\" ParentNodeId=\"i=15692\" MethodDeclarationId=\"i=16180\">\n    <DisplayName>AddEndpoint</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=16255</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=15692</Reference>\n    </References>\n  </UAMethod>\n  <UAVariable NodeId=\"i=16255\" BrowseName=\"InputArguments\" ParentNodeId=\"i=16254\" DataType=\"i=296\" ValueRank=\"1\" ArrayDimensions=\"0\">\n    <DisplayName>InputArguments</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=16254</Reference>\n    </References>\n    <Value>\n      <ListOfExtensionObject xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=297</Identifier>\n          </TypeId>\n          <Body>\n            <Argument>\n              <Name>Endpoint</Name>\n              <DataType>\n                <Identifier>i=15528</Identifier>\n              </DataType>\n              <ValueRank>-1</ValueRank>\n              <ArrayDimensions />\n            </Argument>\n          </Body>\n        </ExtensionObject>\n      </ListOfExtensionObject>\n    </Value>\n  </UAVariable>\n  <UAMethod NodeId=\"i=16256\" BrowseName=\"RemoveEndpoint\" ParentNodeId=\"i=15692\" MethodDeclarationId=\"i=16182\">\n    <DisplayName>RemoveEndpoint</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=16257</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=15692</Reference>\n    </References>\n  </UAMethod>\n  <UAVariable NodeId=\"i=16257\" BrowseName=\"InputArguments\" ParentNodeId=\"i=16256\" DataType=\"i=296\" ValueRank=\"1\" ArrayDimensions=\"0\">\n    <DisplayName>InputArguments</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=16256</Reference>\n    </References>\n    <Value>\n      <ListOfExtensionObject xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=297</Identifier>\n          </TypeId>\n          <Body>\n            <Argument>\n              <Name>Endpoint</Name>\n              <DataType>\n                <Identifier>i=15528</Identifier>\n              </DataType>\n              <ValueRank>-1</ValueRank>\n              <ArrayDimensions />\n            </Argument>\n          </Body>\n        </ExtensionObject>\n      </ListOfExtensionObject>\n    </Value>\n  </UAVariable>\n  <UAObject NodeId=\"i=15716\" BrowseName=\"ConfigureAdmin\" SymbolicName=\"WellKnownRole_ConfigureAdmin\">\n    <DisplayName>ConfigureAdmin</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=16269</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=16270</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=15428</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=16271</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=15429</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=15720</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=15722</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=16272</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=16274</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=16276</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=16278</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=15606</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=15620</Reference>\n    </References>\n  </UAObject>\n  <UAVariable NodeId=\"i=16269\" BrowseName=\"Identities\" ParentNodeId=\"i=15716\" DataType=\"i=15634\" ValueRank=\"1\" ArrayDimensions=\"0\">\n    <DisplayName>Identities</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=15716</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=16270\" BrowseName=\"Applications\" ParentNodeId=\"i=15716\" DataType=\"String\" ValueRank=\"1\" ArrayDimensions=\"0\">\n    <DisplayName>Applications</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=15716</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=15428\" BrowseName=\"ApplicationsExclude\" ParentNodeId=\"i=15716\" DataType=\"Boolean\">\n    <DisplayName>ApplicationsExclude</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=15716</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=16271\" BrowseName=\"Endpoints\" ParentNodeId=\"i=15716\" DataType=\"i=15528\" ValueRank=\"1\" ArrayDimensions=\"0\">\n    <DisplayName>Endpoints</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=15716</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=15429\" BrowseName=\"EndpointsExclude\" ParentNodeId=\"i=15716\" DataType=\"Boolean\">\n    <DisplayName>EndpointsExclude</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=15716</Reference>\n    </References>\n  </UAVariable>\n  <UAMethod NodeId=\"i=15720\" BrowseName=\"AddIdentity\" ParentNodeId=\"i=15716\" MethodDeclarationId=\"i=15624\">\n    <DisplayName>AddIdentity</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=15721</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=15716</Reference>\n    </References>\n  </UAMethod>\n  <UAVariable NodeId=\"i=15721\" BrowseName=\"InputArguments\" ParentNodeId=\"i=15720\" DataType=\"i=296\" ValueRank=\"1\" ArrayDimensions=\"0\">\n    <DisplayName>InputArguments</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=15720</Reference>\n    </References>\n    <Value>\n      <ListOfExtensionObject xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=297</Identifier>\n          </TypeId>\n          <Body>\n            <Argument>\n              <Name>Rule</Name>\n              <DataType>\n                <Identifier>i=15634</Identifier>\n              </DataType>\n              <ValueRank>-1</ValueRank>\n              <ArrayDimensions />\n            </Argument>\n          </Body>\n        </ExtensionObject>\n      </ListOfExtensionObject>\n    </Value>\n  </UAVariable>\n  <UAMethod NodeId=\"i=15722\" BrowseName=\"RemoveIdentity\" ParentNodeId=\"i=15716\" MethodDeclarationId=\"i=15626\">\n    <DisplayName>RemoveIdentity</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=15723</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=15716</Reference>\n    </References>\n  </UAMethod>\n  <UAVariable NodeId=\"i=15723\" BrowseName=\"InputArguments\" ParentNodeId=\"i=15722\" DataType=\"i=296\" ValueRank=\"1\" ArrayDimensions=\"0\">\n    <DisplayName>InputArguments</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=15722</Reference>\n    </References>\n    <Value>\n      <ListOfExtensionObject xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=297</Identifier>\n          </TypeId>\n          <Body>\n            <Argument>\n              <Name>Rule</Name>\n              <DataType>\n                <Identifier>i=15634</Identifier>\n              </DataType>\n              <ValueRank>-1</ValueRank>\n              <ArrayDimensions />\n            </Argument>\n          </Body>\n        </ExtensionObject>\n      </ListOfExtensionObject>\n    </Value>\n  </UAVariable>\n  <UAMethod NodeId=\"i=16272\" BrowseName=\"AddApplication\" ParentNodeId=\"i=15716\" MethodDeclarationId=\"i=16176\">\n    <DisplayName>AddApplication</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=16273</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=15716</Reference>\n    </References>\n  </UAMethod>\n  <UAVariable NodeId=\"i=16273\" BrowseName=\"InputArguments\" ParentNodeId=\"i=16272\" DataType=\"i=296\" ValueRank=\"1\" ArrayDimensions=\"0\">\n    <DisplayName>InputArguments</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=16272</Reference>\n    </References>\n    <Value>\n      <ListOfExtensionObject xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=297</Identifier>\n          </TypeId>\n          <Body>\n            <Argument>\n              <Name>ApplicationUri</Name>\n              <DataType>\n                <Identifier>i=12</Identifier>\n              </DataType>\n              <ValueRank>-1</ValueRank>\n              <ArrayDimensions />\n            </Argument>\n          </Body>\n        </ExtensionObject>\n      </ListOfExtensionObject>\n    </Value>\n  </UAVariable>\n  <UAMethod NodeId=\"i=16274\" BrowseName=\"RemoveApplication\" ParentNodeId=\"i=15716\" MethodDeclarationId=\"i=16178\">\n    <DisplayName>RemoveApplication</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=16275</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=15716</Reference>\n    </References>\n  </UAMethod>\n  <UAVariable NodeId=\"i=16275\" BrowseName=\"InputArguments\" ParentNodeId=\"i=16274\" DataType=\"i=296\" ValueRank=\"1\" ArrayDimensions=\"0\">\n    <DisplayName>InputArguments</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=16274</Reference>\n    </References>\n    <Value>\n      <ListOfExtensionObject xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=297</Identifier>\n          </TypeId>\n          <Body>\n            <Argument>\n              <Name>ApplicationUri</Name>\n              <DataType>\n                <Identifier>i=12</Identifier>\n              </DataType>\n              <ValueRank>-1</ValueRank>\n              <ArrayDimensions />\n            </Argument>\n          </Body>\n        </ExtensionObject>\n      </ListOfExtensionObject>\n    </Value>\n  </UAVariable>\n  <UAMethod NodeId=\"i=16276\" BrowseName=\"AddEndpoint\" ParentNodeId=\"i=15716\" MethodDeclarationId=\"i=16180\">\n    <DisplayName>AddEndpoint</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=16277</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=15716</Reference>\n    </References>\n  </UAMethod>\n  <UAVariable NodeId=\"i=16277\" BrowseName=\"InputArguments\" ParentNodeId=\"i=16276\" DataType=\"i=296\" ValueRank=\"1\" ArrayDimensions=\"0\">\n    <DisplayName>InputArguments</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=16276</Reference>\n    </References>\n    <Value>\n      <ListOfExtensionObject xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=297</Identifier>\n          </TypeId>\n          <Body>\n            <Argument>\n              <Name>Endpoint</Name>\n              <DataType>\n                <Identifier>i=15528</Identifier>\n              </DataType>\n              <ValueRank>-1</ValueRank>\n              <ArrayDimensions />\n            </Argument>\n          </Body>\n        </ExtensionObject>\n      </ListOfExtensionObject>\n    </Value>\n  </UAVariable>\n  <UAMethod NodeId=\"i=16278\" BrowseName=\"RemoveEndpoint\" ParentNodeId=\"i=15716\" MethodDeclarationId=\"i=16182\">\n    <DisplayName>RemoveEndpoint</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=16279</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=15716</Reference>\n    </References>\n  </UAMethod>\n  <UAVariable NodeId=\"i=16279\" BrowseName=\"InputArguments\" ParentNodeId=\"i=16278\" DataType=\"i=296\" ValueRank=\"1\" ArrayDimensions=\"0\">\n    <DisplayName>InputArguments</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=16278</Reference>\n    </References>\n    <Value>\n      <ListOfExtensionObject xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=297</Identifier>\n          </TypeId>\n          <Body>\n            <Argument>\n              <Name>Endpoint</Name>\n              <DataType>\n                <Identifier>i=15528</Identifier>\n              </DataType>\n              <ValueRank>-1</ValueRank>\n              <ArrayDimensions />\n            </Argument>\n          </Body>\n        </ExtensionObject>\n      </ListOfExtensionObject>\n    </Value>\n  </UAVariable>\n  <UAObject NodeId=\"i=15704\" BrowseName=\"SecurityAdmin\" SymbolicName=\"WellKnownRole_SecurityAdmin\">\n    <DisplayName>SecurityAdmin</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=16258</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=16259</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=15430</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=16260</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=15527</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=15708</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=15710</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=16261</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=16263</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=16265</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=16267</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=15606</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=15620</Reference>\n    </References>\n  </UAObject>\n  <UAVariable NodeId=\"i=16258\" BrowseName=\"Identities\" ParentNodeId=\"i=15704\" DataType=\"i=15634\" ValueRank=\"1\" ArrayDimensions=\"0\">\n    <DisplayName>Identities</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=15704</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=16259\" BrowseName=\"Applications\" ParentNodeId=\"i=15704\" DataType=\"String\" ValueRank=\"1\" ArrayDimensions=\"0\">\n    <DisplayName>Applications</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=15704</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=15430\" BrowseName=\"ApplicationsExclude\" ParentNodeId=\"i=15704\" DataType=\"Boolean\">\n    <DisplayName>ApplicationsExclude</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=15704</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=16260\" BrowseName=\"Endpoints\" ParentNodeId=\"i=15704\" DataType=\"i=15528\" ValueRank=\"1\" ArrayDimensions=\"0\">\n    <DisplayName>Endpoints</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=15704</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=15527\" BrowseName=\"EndpointsExclude\" ParentNodeId=\"i=15704\" DataType=\"Boolean\">\n    <DisplayName>EndpointsExclude</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=15704</Reference>\n    </References>\n  </UAVariable>\n  <UAMethod NodeId=\"i=15708\" BrowseName=\"AddIdentity\" ParentNodeId=\"i=15704\" MethodDeclarationId=\"i=15624\">\n    <DisplayName>AddIdentity</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=15709</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=15704</Reference>\n    </References>\n  </UAMethod>\n  <UAVariable NodeId=\"i=15709\" BrowseName=\"InputArguments\" ParentNodeId=\"i=15708\" DataType=\"i=296\" ValueRank=\"1\" ArrayDimensions=\"0\">\n    <DisplayName>InputArguments</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=15708</Reference>\n    </References>\n    <Value>\n      <ListOfExtensionObject xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=297</Identifier>\n          </TypeId>\n          <Body>\n            <Argument>\n              <Name>Rule</Name>\n              <DataType>\n                <Identifier>i=15634</Identifier>\n              </DataType>\n              <ValueRank>-1</ValueRank>\n              <ArrayDimensions />\n            </Argument>\n          </Body>\n        </ExtensionObject>\n      </ListOfExtensionObject>\n    </Value>\n  </UAVariable>\n  <UAMethod NodeId=\"i=15710\" BrowseName=\"RemoveIdentity\" ParentNodeId=\"i=15704\" MethodDeclarationId=\"i=15626\">\n    <DisplayName>RemoveIdentity</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=15711</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=15704</Reference>\n    </References>\n  </UAMethod>\n  <UAVariable NodeId=\"i=15711\" BrowseName=\"InputArguments\" ParentNodeId=\"i=15710\" DataType=\"i=296\" ValueRank=\"1\" ArrayDimensions=\"0\">\n    <DisplayName>InputArguments</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=15710</Reference>\n    </References>\n    <Value>\n      <ListOfExtensionObject xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=297</Identifier>\n          </TypeId>\n          <Body>\n            <Argument>\n              <Name>Rule</Name>\n              <DataType>\n                <Identifier>i=15634</Identifier>\n              </DataType>\n              <ValueRank>-1</ValueRank>\n              <ArrayDimensions />\n            </Argument>\n          </Body>\n        </ExtensionObject>\n      </ListOfExtensionObject>\n    </Value>\n  </UAVariable>\n  <UAMethod NodeId=\"i=16261\" BrowseName=\"AddApplication\" ParentNodeId=\"i=15704\" MethodDeclarationId=\"i=16176\">\n    <DisplayName>AddApplication</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=16262</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=15704</Reference>\n    </References>\n  </UAMethod>\n  <UAVariable NodeId=\"i=16262\" BrowseName=\"InputArguments\" ParentNodeId=\"i=16261\" DataType=\"i=296\" ValueRank=\"1\" ArrayDimensions=\"0\">\n    <DisplayName>InputArguments</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=16261</Reference>\n    </References>\n    <Value>\n      <ListOfExtensionObject xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=297</Identifier>\n          </TypeId>\n          <Body>\n            <Argument>\n              <Name>ApplicationUri</Name>\n              <DataType>\n                <Identifier>i=12</Identifier>\n              </DataType>\n              <ValueRank>-1</ValueRank>\n              <ArrayDimensions />\n            </Argument>\n          </Body>\n        </ExtensionObject>\n      </ListOfExtensionObject>\n    </Value>\n  </UAVariable>\n  <UAMethod NodeId=\"i=16263\" BrowseName=\"RemoveApplication\" ParentNodeId=\"i=15704\" MethodDeclarationId=\"i=16178\">\n    <DisplayName>RemoveApplication</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=16264</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=15704</Reference>\n    </References>\n  </UAMethod>\n  <UAVariable NodeId=\"i=16264\" BrowseName=\"InputArguments\" ParentNodeId=\"i=16263\" DataType=\"i=296\" ValueRank=\"1\" ArrayDimensions=\"0\">\n    <DisplayName>InputArguments</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=16263</Reference>\n    </References>\n    <Value>\n      <ListOfExtensionObject xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=297</Identifier>\n          </TypeId>\n          <Body>\n            <Argument>\n              <Name>ApplicationUri</Name>\n              <DataType>\n                <Identifier>i=12</Identifier>\n              </DataType>\n              <ValueRank>-1</ValueRank>\n              <ArrayDimensions />\n            </Argument>\n          </Body>\n        </ExtensionObject>\n      </ListOfExtensionObject>\n    </Value>\n  </UAVariable>\n  <UAMethod NodeId=\"i=16265\" BrowseName=\"AddEndpoint\" ParentNodeId=\"i=15704\" MethodDeclarationId=\"i=16180\">\n    <DisplayName>AddEndpoint</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=16266</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=15704</Reference>\n    </References>\n  </UAMethod>\n  <UAVariable NodeId=\"i=16266\" BrowseName=\"InputArguments\" ParentNodeId=\"i=16265\" DataType=\"i=296\" ValueRank=\"1\" ArrayDimensions=\"0\">\n    <DisplayName>InputArguments</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=16265</Reference>\n    </References>\n    <Value>\n      <ListOfExtensionObject xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=297</Identifier>\n          </TypeId>\n          <Body>\n            <Argument>\n              <Name>Endpoint</Name>\n              <DataType>\n                <Identifier>i=15528</Identifier>\n              </DataType>\n              <ValueRank>-1</ValueRank>\n              <ArrayDimensions />\n            </Argument>\n          </Body>\n        </ExtensionObject>\n      </ListOfExtensionObject>\n    </Value>\n  </UAVariable>\n  <UAMethod NodeId=\"i=16267\" BrowseName=\"RemoveEndpoint\" ParentNodeId=\"i=15704\" MethodDeclarationId=\"i=16182\">\n    <DisplayName>RemoveEndpoint</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=16268</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=15704</Reference>\n    </References>\n  </UAMethod>\n  <UAVariable NodeId=\"i=16268\" BrowseName=\"InputArguments\" ParentNodeId=\"i=16267\" DataType=\"i=296\" ValueRank=\"1\" ArrayDimensions=\"0\">\n    <DisplayName>InputArguments</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=16267</Reference>\n    </References>\n    <Value>\n      <ListOfExtensionObject xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=297</Identifier>\n          </TypeId>\n          <Body>\n            <Argument>\n              <Name>Endpoint</Name>\n              <DataType>\n                <Identifier>i=15528</Identifier>\n              </DataType>\n              <ValueRank>-1</ValueRank>\n              <ArrayDimensions />\n            </Argument>\n          </Body>\n        </ExtensionObject>\n      </ListOfExtensionObject>\n    </Value>\n  </UAVariable>\n  <UAObjectType NodeId=\"i=17589\" BrowseName=\"DictionaryEntryType\" IsAbstract=\"true\">\n    <DisplayName>DictionaryEntryType</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasComponent\">i=17590</Reference>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=58</Reference>\n    </References>\n  </UAObjectType>\n  <UAObject NodeId=\"i=17590\" BrowseName=\"&lt;DictionaryEntryName&gt;\" SymbolicName=\"DictionaryEntryName_Placeholder\" ParentNodeId=\"i=17589\">\n    <DisplayName>&lt;DictionaryEntryName&gt;</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=17589</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=11508</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=17589</Reference>\n    </References>\n  </UAObject>\n  <UAObjectType NodeId=\"i=17591\" BrowseName=\"DictionaryFolderType\">\n    <DisplayName>DictionaryFolderType</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasComponent\">i=17592</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=17593</Reference>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=61</Reference>\n    </References>\n  </UAObjectType>\n  <UAObject NodeId=\"i=17592\" BrowseName=\"&lt;DictionaryFolderName&gt;\" SymbolicName=\"DictionaryFolderName_Placeholder\" ParentNodeId=\"i=17591\">\n    <DisplayName>&lt;DictionaryFolderName&gt;</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=17591</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=11508</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=17591</Reference>\n    </References>\n  </UAObject>\n  <UAObject NodeId=\"i=17593\" BrowseName=\"&lt;DictionaryEntryName&gt;\" SymbolicName=\"DictionaryEntryName_Placeholder\" ParentNodeId=\"i=17591\">\n    <DisplayName>&lt;DictionaryEntryName&gt;</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=17589</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=11508</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=17591</Reference>\n    </References>\n  </UAObject>\n  <UAObject NodeId=\"i=17594\" BrowseName=\"Dictionaries\">\n    <DisplayName>Dictionaries</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=2253</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=17591</Reference>\n    </References>\n  </UAObject>\n  <UAReferenceType NodeId=\"i=17597\" BrowseName=\"HasDictionaryEntry\">\n    <DisplayName>HasDictionaryEntry</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=32</Reference>\n    </References>\n    <InverseName>DictionaryEntryOf</InverseName>\n  </UAReferenceType>\n  <UAObjectType NodeId=\"i=17598\" BrowseName=\"IrdiDictionaryEntryType\">\n    <DisplayName>IrdiDictionaryEntryType</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=17589</Reference>\n    </References>\n  </UAObjectType>\n  <UAObjectType NodeId=\"i=17600\" BrowseName=\"UriDictionaryEntryType\">\n    <DisplayName>UriDictionaryEntryType</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=17589</Reference>\n    </References>\n  </UAObjectType>\n  <UAObjectType NodeId=\"i=17602\" BrowseName=\"BaseInterfaceType\" IsAbstract=\"true\">\n    <DisplayName>BaseInterfaceType</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=58</Reference>\n    </References>\n  </UAObjectType>\n  <UAObject NodeId=\"i=17708\" BrowseName=\"InterfaceTypes\">\n    <DisplayName>InterfaceTypes</DisplayName>\n    <References>\n      <Reference ReferenceType=\"Organizes\">i=17602</Reference>\n      <Reference ReferenceType=\"Organizes\" IsForward=\"false\">i=86</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=61</Reference>\n    </References>\n  </UAObject>\n  <UAReferenceType NodeId=\"i=17603\" BrowseName=\"HasInterface\">\n    <DisplayName>HasInterface</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=32</Reference>\n    </References>\n    <InverseName>InterfaceOf</InverseName>\n  </UAReferenceType>\n  <UAReferenceType NodeId=\"i=17604\" BrowseName=\"HasAddIn\">\n    <DisplayName>HasAddIn</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=47</Reference>\n    </References>\n    <InverseName>AddInOf</InverseName>\n  </UAReferenceType>\n  <UADataType NodeId=\"i=23498\" BrowseName=\"CurrencyUnitType\">\n    <DisplayName>CurrencyUnitType</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=22</Reference>\n    </References>\n    <Definition Name=\"CurrencyUnitType\">\n      <Field Name=\"NumericCode\" DataType=\"i=4\" />\n      <Field Name=\"Exponent\" DataType=\"i=2\" />\n      <Field Name=\"AlphabeticCode\" DataType=\"i=12\" />\n      <Field Name=\"Currency\" DataType=\"i=21\" />\n    </Definition>\n  </UADataType>\n  <UAVariable NodeId=\"i=23501\" BrowseName=\"CurrencyUnit\" DataType=\"i=23498\" ValueRank=\"-2\">\n    <DisplayName>CurrencyUnit</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n    </References>\n  </UAVariable>\n  <UAObjectType NodeId=\"i=23513\" BrowseName=\"IOrderedObjectType\" IsAbstract=\"true\">\n    <DisplayName>IOrderedObjectType</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=23517</Reference>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=17602</Reference>\n    </References>\n  </UAObjectType>\n  <UAVariable NodeId=\"i=23517\" BrowseName=\"NumberInList\" ParentNodeId=\"i=23513\" DataType=\"Number\">\n    <DisplayName>NumberInList</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=23513</Reference>\n    </References>\n  </UAVariable>\n  <UAObjectType NodeId=\"i=23518\" BrowseName=\"OrderedListType\">\n    <DisplayName>OrderedListType</DisplayName>\n    <References>\n      <Reference ReferenceType=\"i=49\">i=23519</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=23525</Reference>\n      <Reference ReferenceType=\"i=41\">i=2133</Reference>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=58</Reference>\n    </References>\n  </UAObjectType>\n  <UAObject NodeId=\"i=23519\" BrowseName=\"&lt;OrderedObject&gt;\" SymbolicName=\"OrderedObject_Placeholder\" ParentNodeId=\"i=23518\">\n    <DisplayName>&lt;OrderedObject&gt;</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=23521</Reference>\n      <Reference ReferenceType=\"HasInterface\">i=23513</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=58</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=11508</Reference>\n      <Reference ReferenceType=\"i=49\" IsForward=\"false\">i=23518</Reference>\n    </References>\n  </UAObject>\n  <UAVariable NodeId=\"i=23521\" BrowseName=\"NumberInList\" ParentNodeId=\"i=23519\" DataType=\"Number\">\n    <DisplayName>NumberInList</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=23519</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=23525\" BrowseName=\"NodeVersion\" ParentNodeId=\"i=23518\" DataType=\"String\">\n    <DisplayName>NodeVersion</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=80</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=23518</Reference>\n    </References>\n  </UAVariable>\n  <UAVariableType NodeId=\"i=2365\" BrowseName=\"DataItemType\" ValueRank=\"-2\">\n    <DisplayName>DataItemType</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=2366</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=2367</Reference>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=63</Reference>\n    </References>\n  </UAVariableType>\n  <UAVariable NodeId=\"i=2366\" BrowseName=\"Definition\" ParentNodeId=\"i=2365\" DataType=\"String\">\n    <DisplayName>Definition</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=80</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=2365</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=2367\" BrowseName=\"ValuePrecision\" ParentNodeId=\"i=2365\" DataType=\"Double\">\n    <DisplayName>ValuePrecision</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=80</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=2365</Reference>\n    </References>\n  </UAVariable>\n  <UAVariableType NodeId=\"i=15318\" BrowseName=\"BaseAnalogType\" DataType=\"Number\" ValueRank=\"-2\">\n    <DisplayName>BaseAnalogType</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=17567</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=17568</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=17569</Reference>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=2365</Reference>\n    </References>\n  </UAVariableType>\n  <UAVariable NodeId=\"i=17567\" BrowseName=\"InstrumentRange\" ParentNodeId=\"i=15318\" DataType=\"i=884\">\n    <DisplayName>InstrumentRange</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=80</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=15318</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=17568\" BrowseName=\"EURange\" ParentNodeId=\"i=15318\" DataType=\"i=884\">\n    <DisplayName>EURange</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=80</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=15318</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=17569\" BrowseName=\"EngineeringUnits\" ParentNodeId=\"i=15318\" DataType=\"i=887\">\n    <DisplayName>EngineeringUnits</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=80</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=15318</Reference>\n    </References>\n  </UAVariable>\n  <UAVariableType NodeId=\"i=2368\" BrowseName=\"AnalogItemType\" DataType=\"Number\" ValueRank=\"-2\">\n    <DisplayName>AnalogItemType</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=2369</Reference>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=15318</Reference>\n    </References>\n  </UAVariableType>\n  <UAVariable NodeId=\"i=2369\" BrowseName=\"EURange\" ParentNodeId=\"i=2368\" DataType=\"i=884\">\n    <DisplayName>EURange</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=2368</Reference>\n    </References>\n  </UAVariable>\n  <UAVariableType NodeId=\"i=17497\" BrowseName=\"AnalogUnitType\" DataType=\"Number\" ValueRank=\"-2\">\n    <DisplayName>AnalogUnitType</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=17502</Reference>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=15318</Reference>\n    </References>\n  </UAVariableType>\n  <UAVariable NodeId=\"i=17502\" BrowseName=\"EngineeringUnits\" ParentNodeId=\"i=17497\" DataType=\"i=887\">\n    <DisplayName>EngineeringUnits</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=17497</Reference>\n    </References>\n  </UAVariable>\n  <UAVariableType NodeId=\"i=17570\" BrowseName=\"AnalogUnitRangeType\" DataType=\"Number\" ValueRank=\"-2\">\n    <DisplayName>AnalogUnitRangeType</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=17575</Reference>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=2368</Reference>\n    </References>\n  </UAVariableType>\n  <UAVariable NodeId=\"i=17575\" BrowseName=\"EngineeringUnits\" ParentNodeId=\"i=17570\" DataType=\"i=887\">\n    <DisplayName>EngineeringUnits</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=17570</Reference>\n    </References>\n  </UAVariable>\n  <UAVariableType NodeId=\"i=2372\" BrowseName=\"DiscreteItemType\" IsAbstract=\"true\" ValueRank=\"-2\">\n    <DisplayName>DiscreteItemType</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=2365</Reference>\n    </References>\n  </UAVariableType>\n  <UAVariableType NodeId=\"i=2373\" BrowseName=\"TwoStateDiscreteType\" DataType=\"Boolean\" ValueRank=\"-2\">\n    <DisplayName>TwoStateDiscreteType</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=2374</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=2375</Reference>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=2372</Reference>\n    </References>\n  </UAVariableType>\n  <UAVariable NodeId=\"i=2374\" BrowseName=\"FalseState\" ParentNodeId=\"i=2373\" DataType=\"LocalizedText\">\n    <DisplayName>FalseState</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=2373</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=2375\" BrowseName=\"TrueState\" ParentNodeId=\"i=2373\" DataType=\"LocalizedText\">\n    <DisplayName>TrueState</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=2373</Reference>\n    </References>\n  </UAVariable>\n  <UAVariableType NodeId=\"i=2376\" BrowseName=\"MultiStateDiscreteType\" DataType=\"UInteger\" ValueRank=\"-2\">\n    <DisplayName>MultiStateDiscreteType</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=2377</Reference>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=2372</Reference>\n    </References>\n  </UAVariableType>\n  <UAVariable NodeId=\"i=2377\" BrowseName=\"EnumStrings\" ParentNodeId=\"i=2376\" DataType=\"LocalizedText\" ValueRank=\"1\" ArrayDimensions=\"0\">\n    <DisplayName>EnumStrings</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=2376</Reference>\n    </References>\n  </UAVariable>\n  <UAVariableType NodeId=\"i=11238\" BrowseName=\"MultiStateValueDiscreteType\" DataType=\"Number\" ValueRank=\"-2\">\n    <DisplayName>MultiStateValueDiscreteType</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=11241</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=11461</Reference>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=2372</Reference>\n    </References>\n  </UAVariableType>\n  <UAVariable NodeId=\"i=11241\" BrowseName=\"EnumValues\" ParentNodeId=\"i=11238\" DataType=\"i=7594\" ValueRank=\"1\" ArrayDimensions=\"0\">\n    <DisplayName>EnumValues</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=11238</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=11461\" BrowseName=\"ValueAsText\" ParentNodeId=\"i=11238\" DataType=\"LocalizedText\">\n    <DisplayName>ValueAsText</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=11238</Reference>\n    </References>\n  </UAVariable>\n  <UAVariableType NodeId=\"i=12021\" BrowseName=\"ArrayItemType\" IsAbstract=\"true\" ValueRank=\"0\">\n    <DisplayName>ArrayItemType</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=12024</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=12025</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=12026</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=12027</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=12028</Reference>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=2365</Reference>\n    </References>\n  </UAVariableType>\n  <UAVariable NodeId=\"i=12024\" BrowseName=\"InstrumentRange\" ParentNodeId=\"i=12021\" DataType=\"i=884\">\n    <DisplayName>InstrumentRange</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=80</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=12021</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=12025\" BrowseName=\"EURange\" ParentNodeId=\"i=12021\" DataType=\"i=884\">\n    <DisplayName>EURange</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=12021</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=12026\" BrowseName=\"EngineeringUnits\" ParentNodeId=\"i=12021\" DataType=\"i=887\">\n    <DisplayName>EngineeringUnits</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=12021</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=12027\" BrowseName=\"Title\" ParentNodeId=\"i=12021\" DataType=\"LocalizedText\">\n    <DisplayName>Title</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=12021</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=12028\" BrowseName=\"AxisScaleType\" ParentNodeId=\"i=12021\" DataType=\"i=12077\">\n    <DisplayName>AxisScaleType</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=12021</Reference>\n    </References>\n  </UAVariable>\n  <UAVariableType NodeId=\"i=12029\" BrowseName=\"YArrayItemType\" ValueRank=\"1\" ArrayDimensions=\"0\">\n    <DisplayName>YArrayItemType</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=12037</Reference>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=12021</Reference>\n    </References>\n  </UAVariableType>\n  <UAVariable NodeId=\"i=12037\" BrowseName=\"XAxisDefinition\" ParentNodeId=\"i=12029\" DataType=\"i=12079\">\n    <DisplayName>XAxisDefinition</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=12029</Reference>\n    </References>\n  </UAVariable>\n  <UAVariableType NodeId=\"i=12038\" BrowseName=\"XYArrayItemType\" DataType=\"i=12080\" ValueRank=\"1\" ArrayDimensions=\"0\">\n    <DisplayName>XYArrayItemType</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=12046</Reference>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=12021</Reference>\n    </References>\n  </UAVariableType>\n  <UAVariable NodeId=\"i=12046\" BrowseName=\"XAxisDefinition\" ParentNodeId=\"i=12038\" DataType=\"i=12079\">\n    <DisplayName>XAxisDefinition</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=12038</Reference>\n    </References>\n  </UAVariable>\n  <UAVariableType NodeId=\"i=12047\" BrowseName=\"ImageItemType\" ValueRank=\"2\" ArrayDimensions=\"0,0\">\n    <DisplayName>ImageItemType</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=12055</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=12056</Reference>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=12021</Reference>\n    </References>\n  </UAVariableType>\n  <UAVariable NodeId=\"i=12055\" BrowseName=\"XAxisDefinition\" ParentNodeId=\"i=12047\" DataType=\"i=12079\">\n    <DisplayName>XAxisDefinition</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=12047</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=12056\" BrowseName=\"YAxisDefinition\" ParentNodeId=\"i=12047\" DataType=\"i=12079\">\n    <DisplayName>YAxisDefinition</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=12047</Reference>\n    </References>\n  </UAVariable>\n  <UAVariableType NodeId=\"i=12057\" BrowseName=\"CubeItemType\" ValueRank=\"3\" ArrayDimensions=\"0,0,0\">\n    <DisplayName>CubeItemType</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=12065</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=12066</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=12067</Reference>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=12021</Reference>\n    </References>\n  </UAVariableType>\n  <UAVariable NodeId=\"i=12065\" BrowseName=\"XAxisDefinition\" ParentNodeId=\"i=12057\" DataType=\"i=12079\">\n    <DisplayName>XAxisDefinition</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=12057</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=12066\" BrowseName=\"YAxisDefinition\" ParentNodeId=\"i=12057\" DataType=\"i=12079\">\n    <DisplayName>YAxisDefinition</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=12057</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=12067\" BrowseName=\"ZAxisDefinition\" ParentNodeId=\"i=12057\" DataType=\"i=12079\">\n    <DisplayName>ZAxisDefinition</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=12057</Reference>\n    </References>\n  </UAVariable>\n  <UAVariableType NodeId=\"i=12068\" BrowseName=\"NDimensionArrayItemType\" ValueRank=\"0\">\n    <DisplayName>NDimensionArrayItemType</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=12076</Reference>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=12021</Reference>\n    </References>\n  </UAVariableType>\n  <UAVariable NodeId=\"i=12076\" BrowseName=\"AxisDefinition\" ParentNodeId=\"i=12068\" DataType=\"i=12079\" ValueRank=\"1\" ArrayDimensions=\"0\">\n    <DisplayName>AxisDefinition</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=12068</Reference>\n    </References>\n  </UAVariable>\n  <UAVariableType NodeId=\"i=8995\" BrowseName=\"TwoStateVariableType\" DataType=\"LocalizedText\">\n    <DisplayName>TwoStateVariableType</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=8996</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=9000</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=9001</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=11110</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=11111</Reference>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=2755</Reference>\n    </References>\n  </UAVariableType>\n  <UAVariable NodeId=\"i=8996\" BrowseName=\"Id\" ParentNodeId=\"i=8995\" DataType=\"Boolean\">\n    <DisplayName>Id</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=8995</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=9000\" BrowseName=\"TransitionTime\" ParentNodeId=\"i=8995\" DataType=\"i=294\">\n    <DisplayName>TransitionTime</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=80</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=8995</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=9001\" BrowseName=\"EffectiveTransitionTime\" ParentNodeId=\"i=8995\" DataType=\"i=294\">\n    <DisplayName>EffectiveTransitionTime</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=80</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=8995</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=11110\" BrowseName=\"TrueState\" ParentNodeId=\"i=8995\" DataType=\"LocalizedText\">\n    <DisplayName>TrueState</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=80</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=8995</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=11111\" BrowseName=\"FalseState\" ParentNodeId=\"i=8995\" DataType=\"LocalizedText\">\n    <DisplayName>FalseState</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=80</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=8995</Reference>\n    </References>\n  </UAVariable>\n  <UAVariableType NodeId=\"i=9002\" BrowseName=\"ConditionVariableType\" ValueRank=\"-2\">\n    <DisplayName>ConditionVariableType</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=9003</Reference>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=63</Reference>\n    </References>\n  </UAVariableType>\n  <UAVariable NodeId=\"i=9003\" BrowseName=\"SourceTimestamp\" ParentNodeId=\"i=9002\" DataType=\"i=294\">\n    <DisplayName>SourceTimestamp</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=9002</Reference>\n    </References>\n  </UAVariable>\n  <UAReferenceType NodeId=\"i=9004\" BrowseName=\"HasTrueSubState\">\n    <DisplayName>HasTrueSubState</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=32</Reference>\n    </References>\n    <InverseName>IsTrueSubStateOf</InverseName>\n  </UAReferenceType>\n  <UAReferenceType NodeId=\"i=9005\" BrowseName=\"HasFalseSubState\">\n    <DisplayName>HasFalseSubState</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=32</Reference>\n    </References>\n    <InverseName>IsFalseSubStateOf</InverseName>\n  </UAReferenceType>\n  <UAReferenceType NodeId=\"i=16361\" BrowseName=\"HasAlarmSuppressionGroup\">\n    <DisplayName>HasAlarmSuppressionGroup</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=47</Reference>\n    </References>\n    <InverseName>IsAlarmSuppressionGroupOf</InverseName>\n  </UAReferenceType>\n  <UAReferenceType NodeId=\"i=16362\" BrowseName=\"AlarmGroupMember\">\n    <DisplayName>AlarmGroupMember</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=35</Reference>\n    </References>\n    <InverseName>MemberOfAlarmGroup</InverseName>\n  </UAReferenceType>\n  <UAObjectType NodeId=\"i=2782\" BrowseName=\"ConditionType\" IsAbstract=\"true\">\n    <DisplayName>ConditionType</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=11112</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=11113</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=16363</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=16364</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=9009</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=9010</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=3874</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=9011</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=9020</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=9022</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=9024</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=9026</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=9028</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=9027</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=9029</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=3875</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=12912</Reference>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=2041</Reference>\n    </References>\n  </UAObjectType>\n  <UAVariable NodeId=\"i=11112\" BrowseName=\"ConditionClassId\" ParentNodeId=\"i=2782\" DataType=\"NodeId\">\n    <DisplayName>ConditionClassId</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=2782</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=11113\" BrowseName=\"ConditionClassName\" ParentNodeId=\"i=2782\" DataType=\"LocalizedText\">\n    <DisplayName>ConditionClassName</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=2782</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=16363\" BrowseName=\"ConditionSubClassId\" ParentNodeId=\"i=2782\" DataType=\"NodeId\" ValueRank=\"1\" ArrayDimensions=\"0\">\n    <DisplayName>ConditionSubClassId</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=80</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=2782</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=16364\" BrowseName=\"ConditionSubClassName\" ParentNodeId=\"i=2782\" DataType=\"LocalizedText\" ValueRank=\"1\" ArrayDimensions=\"0\">\n    <DisplayName>ConditionSubClassName</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=80</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=2782</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=9009\" BrowseName=\"ConditionName\" ParentNodeId=\"i=2782\" DataType=\"String\">\n    <DisplayName>ConditionName</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=2782</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=9010\" BrowseName=\"BranchId\" ParentNodeId=\"i=2782\" DataType=\"NodeId\">\n    <DisplayName>BranchId</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=2782</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=3874\" BrowseName=\"Retain\" ParentNodeId=\"i=2782\" DataType=\"Boolean\">\n    <DisplayName>Retain</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=2782</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=9011\" BrowseName=\"EnabledState\" ParentNodeId=\"i=2782\" DataType=\"LocalizedText\">\n    <DisplayName>EnabledState</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=9012</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=9015</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=9016</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=9017</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=9018</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=9019</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=8995</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=2782</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=9012\" BrowseName=\"Id\" ParentNodeId=\"i=9011\" DataType=\"Boolean\">\n    <DisplayName>Id</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=9011</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=9015\" BrowseName=\"EffectiveDisplayName\" ParentNodeId=\"i=9011\" DataType=\"LocalizedText\">\n    <DisplayName>EffectiveDisplayName</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=80</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=9011</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=9016\" BrowseName=\"TransitionTime\" ParentNodeId=\"i=9011\" DataType=\"i=294\">\n    <DisplayName>TransitionTime</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=80</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=9011</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=9017\" BrowseName=\"EffectiveTransitionTime\" ParentNodeId=\"i=9011\" DataType=\"i=294\">\n    <DisplayName>EffectiveTransitionTime</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=80</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=9011</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=9018\" BrowseName=\"TrueState\" ParentNodeId=\"i=9011\" DataType=\"LocalizedText\">\n    <DisplayName>TrueState</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=80</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=9011</Reference>\n    </References>\n    <Value>\n      <LocalizedText xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <Locale>en</Locale>\n        <Text>Enabled</Text>\n      </LocalizedText>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"i=9019\" BrowseName=\"FalseState\" ParentNodeId=\"i=9011\" DataType=\"LocalizedText\">\n    <DisplayName>FalseState</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=80</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=9011</Reference>\n    </References>\n    <Value>\n      <LocalizedText xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <Locale>en</Locale>\n        <Text>Disabled</Text>\n      </LocalizedText>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"i=9020\" BrowseName=\"Quality\" ParentNodeId=\"i=2782\" DataType=\"StatusCode\">\n    <DisplayName>Quality</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=9021</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=9002</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=2782</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=9021\" BrowseName=\"SourceTimestamp\" ParentNodeId=\"i=9020\" DataType=\"i=294\">\n    <DisplayName>SourceTimestamp</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=9020</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=9022\" BrowseName=\"LastSeverity\" ParentNodeId=\"i=2782\" DataType=\"UInt16\">\n    <DisplayName>LastSeverity</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=9023</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=9002</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=2782</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=9023\" BrowseName=\"SourceTimestamp\" ParentNodeId=\"i=9022\" DataType=\"i=294\">\n    <DisplayName>SourceTimestamp</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=9022</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=9024\" BrowseName=\"Comment\" ParentNodeId=\"i=2782\" DataType=\"LocalizedText\">\n    <DisplayName>Comment</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=9025</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=9002</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=2782</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=9025\" BrowseName=\"SourceTimestamp\" ParentNodeId=\"i=9024\" DataType=\"i=294\">\n    <DisplayName>SourceTimestamp</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=9024</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=9026\" BrowseName=\"ClientUserId\" ParentNodeId=\"i=2782\" DataType=\"String\">\n    <DisplayName>ClientUserId</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=2782</Reference>\n    </References>\n  </UAVariable>\n  <UAMethod NodeId=\"i=9028\" BrowseName=\"Disable\" ParentNodeId=\"i=2782\">\n    <DisplayName>Disable</DisplayName>\n    <References>\n      <Reference ReferenceType=\"i=3065\">i=2803</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=2782</Reference>\n    </References>\n  </UAMethod>\n  <UAMethod NodeId=\"i=9027\" BrowseName=\"Enable\" ParentNodeId=\"i=2782\">\n    <DisplayName>Enable</DisplayName>\n    <References>\n      <Reference ReferenceType=\"i=3065\">i=2803</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=2782</Reference>\n    </References>\n  </UAMethod>\n  <UAMethod NodeId=\"i=9029\" BrowseName=\"AddComment\" ParentNodeId=\"i=2782\">\n    <DisplayName>AddComment</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=9030</Reference>\n      <Reference ReferenceType=\"i=3065\">i=2829</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=2782</Reference>\n    </References>\n  </UAMethod>\n  <UAVariable NodeId=\"i=9030\" BrowseName=\"InputArguments\" ParentNodeId=\"i=9029\" DataType=\"i=296\" ValueRank=\"1\" ArrayDimensions=\"0\">\n    <DisplayName>InputArguments</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=9029</Reference>\n    </References>\n    <Value>\n      <ListOfExtensionObject xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=297</Identifier>\n          </TypeId>\n          <Body>\n            <Argument>\n              <Name>EventId</Name>\n              <DataType>\n                <Identifier>i=15</Identifier>\n              </DataType>\n              <ValueRank>-1</ValueRank>\n              <ArrayDimensions />\n              <Description>\n                <Text>The identifier for the event to comment.</Text>\n              </Description>\n            </Argument>\n          </Body>\n        </ExtensionObject>\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=297</Identifier>\n          </TypeId>\n          <Body>\n            <Argument>\n              <Name>Comment</Name>\n              <DataType>\n                <Identifier>i=21</Identifier>\n              </DataType>\n              <ValueRank>-1</ValueRank>\n              <ArrayDimensions />\n              <Description>\n                <Text>The comment to add to the condition.</Text>\n              </Description>\n            </Argument>\n          </Body>\n        </ExtensionObject>\n      </ListOfExtensionObject>\n    </Value>\n  </UAVariable>\n  <UAMethod NodeId=\"i=3875\" BrowseName=\"ConditionRefresh\" ParentNodeId=\"i=2782\">\n    <DisplayName>ConditionRefresh</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=3876</Reference>\n      <Reference ReferenceType=\"i=3065\">i=2787</Reference>\n      <Reference ReferenceType=\"i=3065\">i=2788</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=2782</Reference>\n    </References>\n  </UAMethod>\n  <UAVariable NodeId=\"i=3876\" BrowseName=\"InputArguments\" ParentNodeId=\"i=3875\" DataType=\"i=296\" ValueRank=\"1\" ArrayDimensions=\"0\">\n    <DisplayName>InputArguments</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=3875</Reference>\n    </References>\n    <Value>\n      <ListOfExtensionObject xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=297</Identifier>\n          </TypeId>\n          <Body>\n            <Argument>\n              <Name>SubscriptionId</Name>\n              <DataType>\n                <Identifier>i=288</Identifier>\n              </DataType>\n              <ValueRank>-1</ValueRank>\n              <ArrayDimensions />\n              <Description>\n                <Text>The identifier for the subscription to refresh.</Text>\n              </Description>\n            </Argument>\n          </Body>\n        </ExtensionObject>\n      </ListOfExtensionObject>\n    </Value>\n  </UAVariable>\n  <UAMethod NodeId=\"i=12912\" BrowseName=\"ConditionRefresh2\" ParentNodeId=\"i=2782\">\n    <DisplayName>ConditionRefresh2</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=12913</Reference>\n      <Reference ReferenceType=\"i=3065\">i=2787</Reference>\n      <Reference ReferenceType=\"i=3065\">i=2788</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=2782</Reference>\n    </References>\n  </UAMethod>\n  <UAVariable NodeId=\"i=12913\" BrowseName=\"InputArguments\" ParentNodeId=\"i=12912\" DataType=\"i=296\" ValueRank=\"1\" ArrayDimensions=\"0\">\n    <DisplayName>InputArguments</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=12912</Reference>\n    </References>\n    <Value>\n      <ListOfExtensionObject xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=297</Identifier>\n          </TypeId>\n          <Body>\n            <Argument>\n              <Name>SubscriptionId</Name>\n              <DataType>\n                <Identifier>i=288</Identifier>\n              </DataType>\n              <ValueRank>-1</ValueRank>\n              <ArrayDimensions />\n              <Description>\n                <Text>The identifier for the subscription to refresh.</Text>\n              </Description>\n            </Argument>\n          </Body>\n        </ExtensionObject>\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=297</Identifier>\n          </TypeId>\n          <Body>\n            <Argument>\n              <Name>MonitoredItemId</Name>\n              <DataType>\n                <Identifier>i=288</Identifier>\n              </DataType>\n              <ValueRank>-1</ValueRank>\n              <ArrayDimensions />\n              <Description>\n                <Text>The identifier for the monitored item to refresh.</Text>\n              </Description>\n            </Argument>\n          </Body>\n        </ExtensionObject>\n      </ListOfExtensionObject>\n    </Value>\n  </UAVariable>\n  <UAObjectType NodeId=\"i=2830\" BrowseName=\"DialogConditionType\">\n    <DisplayName>DialogConditionType</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasComponent\">i=9035</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=9055</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=2831</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=9064</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=9065</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=9066</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=9067</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=9068</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=9069</Reference>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=2782</Reference>\n    </References>\n  </UAObjectType>\n  <UAVariable NodeId=\"i=9035\" BrowseName=\"EnabledState\" ParentNodeId=\"i=2830\" DataType=\"LocalizedText\">\n    <DisplayName>EnabledState</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=9036</Reference>\n      <Reference ReferenceType=\"HasTrueSubState\">i=9055</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=8995</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=2830</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=9036\" BrowseName=\"Id\" ParentNodeId=\"i=9035\" DataType=\"Boolean\">\n    <DisplayName>Id</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=9035</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=9055\" BrowseName=\"DialogState\" ParentNodeId=\"i=2830\" DataType=\"LocalizedText\">\n    <DisplayName>DialogState</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=9056</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=9060</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=9062</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=9063</Reference>\n      <Reference ReferenceType=\"HasTrueSubState\" IsForward=\"false\">i=9035</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=8995</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=2830</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=9056\" BrowseName=\"Id\" ParentNodeId=\"i=9055\" DataType=\"Boolean\">\n    <DisplayName>Id</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=9055</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=9060\" BrowseName=\"TransitionTime\" ParentNodeId=\"i=9055\" DataType=\"i=294\">\n    <DisplayName>TransitionTime</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=80</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=9055</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=9062\" BrowseName=\"TrueState\" ParentNodeId=\"i=9055\" DataType=\"LocalizedText\">\n    <DisplayName>TrueState</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=80</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=9055</Reference>\n    </References>\n    <Value>\n      <LocalizedText xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <Locale>en</Locale>\n        <Text>Active</Text>\n      </LocalizedText>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"i=9063\" BrowseName=\"FalseState\" ParentNodeId=\"i=9055\" DataType=\"LocalizedText\">\n    <DisplayName>FalseState</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=80</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=9055</Reference>\n    </References>\n    <Value>\n      <LocalizedText xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <Locale>en</Locale>\n        <Text>Inactive</Text>\n      </LocalizedText>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"i=2831\" BrowseName=\"Prompt\" ParentNodeId=\"i=2830\" DataType=\"LocalizedText\">\n    <DisplayName>Prompt</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=2830</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=9064\" BrowseName=\"ResponseOptionSet\" ParentNodeId=\"i=2830\" DataType=\"LocalizedText\" ValueRank=\"1\" ArrayDimensions=\"0\">\n    <DisplayName>ResponseOptionSet</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=2830</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=9065\" BrowseName=\"DefaultResponse\" ParentNodeId=\"i=2830\" DataType=\"Int32\">\n    <DisplayName>DefaultResponse</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=2830</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=9066\" BrowseName=\"OkResponse\" ParentNodeId=\"i=2830\" DataType=\"Int32\">\n    <DisplayName>OkResponse</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=2830</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=9067\" BrowseName=\"CancelResponse\" ParentNodeId=\"i=2830\" DataType=\"Int32\">\n    <DisplayName>CancelResponse</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=2830</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=9068\" BrowseName=\"LastResponse\" ParentNodeId=\"i=2830\" DataType=\"Int32\">\n    <DisplayName>LastResponse</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=2830</Reference>\n    </References>\n  </UAVariable>\n  <UAMethod NodeId=\"i=9069\" BrowseName=\"Respond\" ParentNodeId=\"i=2830\">\n    <DisplayName>Respond</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=9070</Reference>\n      <Reference ReferenceType=\"i=3065\">i=8927</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=2830</Reference>\n    </References>\n  </UAMethod>\n  <UAVariable NodeId=\"i=9070\" BrowseName=\"InputArguments\" ParentNodeId=\"i=9069\" DataType=\"i=296\" ValueRank=\"1\" ArrayDimensions=\"0\">\n    <DisplayName>InputArguments</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=9069</Reference>\n    </References>\n    <Value>\n      <ListOfExtensionObject xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=297</Identifier>\n          </TypeId>\n          <Body>\n            <Argument>\n              <Name>SelectedResponse</Name>\n              <DataType>\n                <Identifier>i=6</Identifier>\n              </DataType>\n              <ValueRank>-1</ValueRank>\n              <ArrayDimensions />\n              <Description>\n                <Text>The response to the dialog condition.</Text>\n              </Description>\n            </Argument>\n          </Body>\n        </ExtensionObject>\n      </ListOfExtensionObject>\n    </Value>\n  </UAVariable>\n  <UAObjectType NodeId=\"i=2881\" BrowseName=\"AcknowledgeableConditionType\">\n    <DisplayName>AcknowledgeableConditionType</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasComponent\">i=9073</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=9093</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=9102</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=9111</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=9113</Reference>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=2782</Reference>\n    </References>\n  </UAObjectType>\n  <UAVariable NodeId=\"i=9073\" BrowseName=\"EnabledState\" ParentNodeId=\"i=2881\" DataType=\"LocalizedText\">\n    <DisplayName>EnabledState</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=9074</Reference>\n      <Reference ReferenceType=\"HasTrueSubState\">i=9093</Reference>\n      <Reference ReferenceType=\"HasTrueSubState\">i=9102</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=8995</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=2881</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=9074\" BrowseName=\"Id\" ParentNodeId=\"i=9073\" DataType=\"Boolean\">\n    <DisplayName>Id</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=9073</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=9093\" BrowseName=\"AckedState\" ParentNodeId=\"i=2881\" DataType=\"LocalizedText\">\n    <DisplayName>AckedState</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=9094</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=9098</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=9100</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=9101</Reference>\n      <Reference ReferenceType=\"HasTrueSubState\" IsForward=\"false\">i=9073</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=8995</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=2881</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=9094\" BrowseName=\"Id\" ParentNodeId=\"i=9093\" DataType=\"Boolean\">\n    <DisplayName>Id</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=9093</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=9098\" BrowseName=\"TransitionTime\" ParentNodeId=\"i=9093\" DataType=\"i=294\">\n    <DisplayName>TransitionTime</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=80</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=9093</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=9100\" BrowseName=\"TrueState\" ParentNodeId=\"i=9093\" DataType=\"LocalizedText\">\n    <DisplayName>TrueState</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=80</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=9093</Reference>\n    </References>\n    <Value>\n      <LocalizedText xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <Locale>en</Locale>\n        <Text>Acknowledged</Text>\n      </LocalizedText>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"i=9101\" BrowseName=\"FalseState\" ParentNodeId=\"i=9093\" DataType=\"LocalizedText\">\n    <DisplayName>FalseState</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=80</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=9093</Reference>\n    </References>\n    <Value>\n      <LocalizedText xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <Locale>en</Locale>\n        <Text>Unacknowledged</Text>\n      </LocalizedText>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"i=9102\" BrowseName=\"ConfirmedState\" ParentNodeId=\"i=2881\" DataType=\"LocalizedText\">\n    <DisplayName>ConfirmedState</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=9103</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=9107</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=9109</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=9110</Reference>\n      <Reference ReferenceType=\"HasTrueSubState\" IsForward=\"false\">i=9073</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=8995</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=80</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=2881</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=9103\" BrowseName=\"Id\" ParentNodeId=\"i=9102\" DataType=\"Boolean\">\n    <DisplayName>Id</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=9102</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=9107\" BrowseName=\"TransitionTime\" ParentNodeId=\"i=9102\" DataType=\"i=294\">\n    <DisplayName>TransitionTime</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=80</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=9102</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=9109\" BrowseName=\"TrueState\" ParentNodeId=\"i=9102\" DataType=\"LocalizedText\">\n    <DisplayName>TrueState</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=80</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=9102</Reference>\n    </References>\n    <Value>\n      <LocalizedText xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <Locale>en</Locale>\n        <Text>Confirmed</Text>\n      </LocalizedText>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"i=9110\" BrowseName=\"FalseState\" ParentNodeId=\"i=9102\" DataType=\"LocalizedText\">\n    <DisplayName>FalseState</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=80</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=9102</Reference>\n    </References>\n    <Value>\n      <LocalizedText xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <Locale>en</Locale>\n        <Text>Unconfirmed</Text>\n      </LocalizedText>\n    </Value>\n  </UAVariable>\n  <UAMethod NodeId=\"i=9111\" BrowseName=\"Acknowledge\" ParentNodeId=\"i=2881\">\n    <DisplayName>Acknowledge</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=9112</Reference>\n      <Reference ReferenceType=\"i=3065\">i=8944</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=2881</Reference>\n    </References>\n  </UAMethod>\n  <UAVariable NodeId=\"i=9112\" BrowseName=\"InputArguments\" ParentNodeId=\"i=9111\" DataType=\"i=296\" ValueRank=\"1\" ArrayDimensions=\"0\">\n    <DisplayName>InputArguments</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=9111</Reference>\n    </References>\n    <Value>\n      <ListOfExtensionObject xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=297</Identifier>\n          </TypeId>\n          <Body>\n            <Argument>\n              <Name>EventId</Name>\n              <DataType>\n                <Identifier>i=15</Identifier>\n              </DataType>\n              <ValueRank>-1</ValueRank>\n              <ArrayDimensions />\n              <Description>\n                <Text>The identifier for the event to comment.</Text>\n              </Description>\n            </Argument>\n          </Body>\n        </ExtensionObject>\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=297</Identifier>\n          </TypeId>\n          <Body>\n            <Argument>\n              <Name>Comment</Name>\n              <DataType>\n                <Identifier>i=21</Identifier>\n              </DataType>\n              <ValueRank>-1</ValueRank>\n              <ArrayDimensions />\n              <Description>\n                <Text>The comment to add to the condition.</Text>\n              </Description>\n            </Argument>\n          </Body>\n        </ExtensionObject>\n      </ListOfExtensionObject>\n    </Value>\n  </UAVariable>\n  <UAMethod NodeId=\"i=9113\" BrowseName=\"Confirm\" ParentNodeId=\"i=2881\">\n    <DisplayName>Confirm</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=9114</Reference>\n      <Reference ReferenceType=\"i=3065\">i=8961</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=80</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=2881</Reference>\n    </References>\n  </UAMethod>\n  <UAVariable NodeId=\"i=9114\" BrowseName=\"InputArguments\" ParentNodeId=\"i=9113\" DataType=\"i=296\" ValueRank=\"1\" ArrayDimensions=\"0\">\n    <DisplayName>InputArguments</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=9113</Reference>\n    </References>\n    <Value>\n      <ListOfExtensionObject xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=297</Identifier>\n          </TypeId>\n          <Body>\n            <Argument>\n              <Name>EventId</Name>\n              <DataType>\n                <Identifier>i=15</Identifier>\n              </DataType>\n              <ValueRank>-1</ValueRank>\n              <ArrayDimensions />\n              <Description>\n                <Text>The identifier for the event to comment.</Text>\n              </Description>\n            </Argument>\n          </Body>\n        </ExtensionObject>\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=297</Identifier>\n          </TypeId>\n          <Body>\n            <Argument>\n              <Name>Comment</Name>\n              <DataType>\n                <Identifier>i=21</Identifier>\n              </DataType>\n              <ValueRank>-1</ValueRank>\n              <ArrayDimensions />\n              <Description>\n                <Text>The comment to add to the condition.</Text>\n              </Description>\n            </Argument>\n          </Body>\n        </ExtensionObject>\n      </ListOfExtensionObject>\n    </Value>\n  </UAVariable>\n  <UAObjectType NodeId=\"i=2915\" BrowseName=\"AlarmConditionType\">\n    <DisplayName>AlarmConditionType</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasComponent\">i=9118</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=9160</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=11120</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=9169</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=16371</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=9178</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=9215</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=9216</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=16389</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=16390</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=16380</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=16395</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=16396</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=16397</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=16398</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=18190</Reference>\n      <Reference ReferenceType=\"i=16361\">i=16399</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=16400</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=16401</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=16402</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=16403</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=17868</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=17869</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=17870</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=18199</Reference>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=2881</Reference>\n    </References>\n  </UAObjectType>\n  <UAVariable NodeId=\"i=9118\" BrowseName=\"EnabledState\" ParentNodeId=\"i=2915\" DataType=\"LocalizedText\">\n    <DisplayName>EnabledState</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=9119</Reference>\n      <Reference ReferenceType=\"HasTrueSubState\">i=9160</Reference>\n      <Reference ReferenceType=\"HasTrueSubState\">i=9169</Reference>\n      <Reference ReferenceType=\"HasTrueSubState\">i=9178</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=8995</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=2915</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=9119\" BrowseName=\"Id\" ParentNodeId=\"i=9118\" DataType=\"Boolean\">\n    <DisplayName>Id</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=9118</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=9160\" BrowseName=\"ActiveState\" ParentNodeId=\"i=2915\" DataType=\"LocalizedText\">\n    <DisplayName>ActiveState</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=9161</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=9164</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=9165</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=9166</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=9167</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=9168</Reference>\n      <Reference ReferenceType=\"HasTrueSubState\" IsForward=\"false\">i=9118</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=8995</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=2915</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=9161\" BrowseName=\"Id\" ParentNodeId=\"i=9160\" DataType=\"Boolean\">\n    <DisplayName>Id</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=9160</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=9164\" BrowseName=\"EffectiveDisplayName\" ParentNodeId=\"i=9160\" DataType=\"LocalizedText\">\n    <DisplayName>EffectiveDisplayName</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=80</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=9160</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=9165\" BrowseName=\"TransitionTime\" ParentNodeId=\"i=9160\" DataType=\"i=294\">\n    <DisplayName>TransitionTime</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=80</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=9160</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=9166\" BrowseName=\"EffectiveTransitionTime\" ParentNodeId=\"i=9160\" DataType=\"i=294\">\n    <DisplayName>EffectiveTransitionTime</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=80</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=9160</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=9167\" BrowseName=\"TrueState\" ParentNodeId=\"i=9160\" DataType=\"LocalizedText\">\n    <DisplayName>TrueState</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=80</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=9160</Reference>\n    </References>\n    <Value>\n      <LocalizedText xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <Locale>en</Locale>\n        <Text>Active</Text>\n      </LocalizedText>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"i=9168\" BrowseName=\"FalseState\" ParentNodeId=\"i=9160\" DataType=\"LocalizedText\">\n    <DisplayName>FalseState</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=80</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=9160</Reference>\n    </References>\n    <Value>\n      <LocalizedText xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <Locale>en</Locale>\n        <Text>Inactive</Text>\n      </LocalizedText>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"i=11120\" BrowseName=\"InputNode\" ParentNodeId=\"i=2915\" DataType=\"NodeId\">\n    <DisplayName>InputNode</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=2915</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=9169\" BrowseName=\"SuppressedState\" ParentNodeId=\"i=2915\" DataType=\"LocalizedText\">\n    <DisplayName>SuppressedState</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=9170</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=9174</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=9176</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=9177</Reference>\n      <Reference ReferenceType=\"HasTrueSubState\" IsForward=\"false\">i=9118</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=8995</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=80</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=2915</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=9170\" BrowseName=\"Id\" ParentNodeId=\"i=9169\" DataType=\"Boolean\">\n    <DisplayName>Id</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=9169</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=9174\" BrowseName=\"TransitionTime\" ParentNodeId=\"i=9169\" DataType=\"i=294\">\n    <DisplayName>TransitionTime</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=80</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=9169</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=9176\" BrowseName=\"TrueState\" ParentNodeId=\"i=9169\" DataType=\"LocalizedText\">\n    <DisplayName>TrueState</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=80</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=9169</Reference>\n    </References>\n    <Value>\n      <LocalizedText xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <Locale>en</Locale>\n        <Text>Suppressed</Text>\n      </LocalizedText>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"i=9177\" BrowseName=\"FalseState\" ParentNodeId=\"i=9169\" DataType=\"LocalizedText\">\n    <DisplayName>FalseState</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=80</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=9169</Reference>\n    </References>\n    <Value>\n      <LocalizedText xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <Locale>en</Locale>\n        <Text>Unsuppressed</Text>\n      </LocalizedText>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"i=16371\" BrowseName=\"OutOfServiceState\" ParentNodeId=\"i=2915\" DataType=\"LocalizedText\">\n    <DisplayName>OutOfServiceState</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=16372</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=16376</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=16378</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=16379</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=8995</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=80</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=2915</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=16372\" BrowseName=\"Id\" ParentNodeId=\"i=16371\" DataType=\"Boolean\">\n    <DisplayName>Id</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=16371</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=16376\" BrowseName=\"TransitionTime\" ParentNodeId=\"i=16371\" DataType=\"i=294\">\n    <DisplayName>TransitionTime</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=80</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=16371</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=16378\" BrowseName=\"TrueState\" ParentNodeId=\"i=16371\" DataType=\"LocalizedText\">\n    <DisplayName>TrueState</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=80</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=16371</Reference>\n    </References>\n    <Value>\n      <LocalizedText xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <Locale>en</Locale>\n        <Text>Out of Service</Text>\n      </LocalizedText>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"i=16379\" BrowseName=\"FalseState\" ParentNodeId=\"i=16371\" DataType=\"LocalizedText\">\n    <DisplayName>FalseState</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=80</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=16371</Reference>\n    </References>\n    <Value>\n      <LocalizedText xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <Locale>en</Locale>\n        <Text>In Service</Text>\n      </LocalizedText>\n    </Value>\n  </UAVariable>\n  <UAObject NodeId=\"i=9178\" BrowseName=\"ShelvingState\" ParentNodeId=\"i=2915\">\n    <DisplayName>ShelvingState</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasComponent\">i=9179</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=9184</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=9189</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=9213</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=9211</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=9212</Reference>\n      <Reference ReferenceType=\"HasTrueSubState\" IsForward=\"false\">i=9118</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=2929</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=80</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=2915</Reference>\n    </References>\n  </UAObject>\n  <UAVariable NodeId=\"i=9179\" BrowseName=\"CurrentState\" ParentNodeId=\"i=9178\" DataType=\"LocalizedText\">\n    <DisplayName>CurrentState</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=9180</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=2760</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=9178</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=9180\" BrowseName=\"Id\" ParentNodeId=\"i=9179\" DataType=\"NodeId\">\n    <DisplayName>Id</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=9179</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=9184\" BrowseName=\"LastTransition\" ParentNodeId=\"i=9178\" DataType=\"LocalizedText\">\n    <DisplayName>LastTransition</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=9185</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=9188</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=2767</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=80</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=9178</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=9185\" BrowseName=\"Id\" ParentNodeId=\"i=9184\" DataType=\"NodeId\">\n    <DisplayName>Id</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=9184</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=9188\" BrowseName=\"TransitionTime\" ParentNodeId=\"i=9184\" DataType=\"i=294\">\n    <DisplayName>TransitionTime</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=80</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=9184</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=9189\" BrowseName=\"UnshelveTime\" ParentNodeId=\"i=9178\" DataType=\"i=290\">\n    <DisplayName>UnshelveTime</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=9178</Reference>\n    </References>\n  </UAVariable>\n  <UAMethod NodeId=\"i=9213\" BrowseName=\"TimedShelve\" ParentNodeId=\"i=9178\" MethodDeclarationId=\"i=2949\">\n    <DisplayName>TimedShelve</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=9214</Reference>\n      <Reference ReferenceType=\"i=3065\">i=11093</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=9178</Reference>\n    </References>\n  </UAMethod>\n  <UAVariable NodeId=\"i=9214\" BrowseName=\"InputArguments\" ParentNodeId=\"i=9213\" DataType=\"i=296\" ValueRank=\"1\" ArrayDimensions=\"0\">\n    <DisplayName>InputArguments</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=9213</Reference>\n    </References>\n    <Value>\n      <ListOfExtensionObject xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=297</Identifier>\n          </TypeId>\n          <Body>\n            <Argument>\n              <Name>ShelvingTime</Name>\n              <DataType>\n                <Identifier>i=290</Identifier>\n              </DataType>\n              <ValueRank>-1</ValueRank>\n              <ArrayDimensions />\n              <Description>\n                <Text>If not 0, this parameter specifies a fixed time for which the Alarm is to be shelved.</Text>\n              </Description>\n            </Argument>\n          </Body>\n        </ExtensionObject>\n      </ListOfExtensionObject>\n    </Value>\n  </UAVariable>\n  <UAMethod NodeId=\"i=9211\" BrowseName=\"Unshelve\" ParentNodeId=\"i=9178\" MethodDeclarationId=\"i=2947\">\n    <DisplayName>Unshelve</DisplayName>\n    <References>\n      <Reference ReferenceType=\"i=3065\">i=11093</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=9178</Reference>\n    </References>\n  </UAMethod>\n  <UAMethod NodeId=\"i=9212\" BrowseName=\"OneShotShelve\" ParentNodeId=\"i=9178\" MethodDeclarationId=\"i=2948\">\n    <DisplayName>OneShotShelve</DisplayName>\n    <References>\n      <Reference ReferenceType=\"i=3065\">i=11093</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=9178</Reference>\n    </References>\n  </UAMethod>\n  <UAVariable NodeId=\"i=9215\" BrowseName=\"SuppressedOrShelved\" ParentNodeId=\"i=2915\" DataType=\"Boolean\">\n    <DisplayName>SuppressedOrShelved</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=2915</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=9216\" BrowseName=\"MaxTimeShelved\" ParentNodeId=\"i=2915\" DataType=\"i=290\">\n    <DisplayName>MaxTimeShelved</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=80</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=2915</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=16389\" BrowseName=\"AudibleEnabled\" ParentNodeId=\"i=2915\" DataType=\"Boolean\">\n    <DisplayName>AudibleEnabled</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=80</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=2915</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=16390\" BrowseName=\"AudibleSound\" ParentNodeId=\"i=2915\" DataType=\"i=16307\">\n    <DisplayName>AudibleSound</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=17986</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=80</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=2915</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=16380\" BrowseName=\"SilenceState\" ParentNodeId=\"i=2915\" DataType=\"LocalizedText\">\n    <DisplayName>SilenceState</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=16381</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=16385</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=16387</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=16388</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=8995</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=80</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=2915</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=16381\" BrowseName=\"Id\" ParentNodeId=\"i=16380\" DataType=\"Boolean\">\n    <DisplayName>Id</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=16380</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=16385\" BrowseName=\"TransitionTime\" ParentNodeId=\"i=16380\" DataType=\"i=294\">\n    <DisplayName>TransitionTime</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=80</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=16380</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=16387\" BrowseName=\"TrueState\" ParentNodeId=\"i=16380\" DataType=\"LocalizedText\">\n    <DisplayName>TrueState</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=80</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=16380</Reference>\n    </References>\n    <Value>\n      <LocalizedText xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <Locale>en</Locale>\n        <Text>Silenced</Text>\n      </LocalizedText>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"i=16388\" BrowseName=\"FalseState\" ParentNodeId=\"i=16380\" DataType=\"LocalizedText\">\n    <DisplayName>FalseState</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=80</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=16380</Reference>\n    </References>\n    <Value>\n      <LocalizedText xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <Locale>en</Locale>\n        <Text>Not Silenced</Text>\n      </LocalizedText>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"i=16395\" BrowseName=\"OnDelay\" ParentNodeId=\"i=2915\" DataType=\"i=290\">\n    <DisplayName>OnDelay</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=80</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=2915</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=16396\" BrowseName=\"OffDelay\" ParentNodeId=\"i=2915\" DataType=\"i=290\">\n    <DisplayName>OffDelay</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=80</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=2915</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=16397\" BrowseName=\"FirstInGroupFlag\" ParentNodeId=\"i=2915\" DataType=\"Boolean\">\n    <DisplayName>FirstInGroupFlag</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=63</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=80</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=2915</Reference>\n    </References>\n  </UAVariable>\n  <UAObject NodeId=\"i=16398\" BrowseName=\"FirstInGroup\" ParentNodeId=\"i=2915\">\n    <DisplayName>FirstInGroup</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=16405</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=80</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=2915</Reference>\n    </References>\n  </UAObject>\n  <UAVariable NodeId=\"i=18190\" BrowseName=\"LatchedState\" ParentNodeId=\"i=2915\" DataType=\"LocalizedText\">\n    <DisplayName>LatchedState</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=18191</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=18195</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=18197</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=18198</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=8995</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=80</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=2915</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=18191\" BrowseName=\"Id\" ParentNodeId=\"i=18190\" DataType=\"Boolean\">\n    <DisplayName>Id</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=18190</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=18195\" BrowseName=\"TransitionTime\" ParentNodeId=\"i=18190\" DataType=\"i=294\">\n    <DisplayName>TransitionTime</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=80</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=18190</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=18197\" BrowseName=\"TrueState\" ParentNodeId=\"i=18190\" DataType=\"LocalizedText\">\n    <DisplayName>TrueState</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=80</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=18190</Reference>\n    </References>\n    <Value>\n      <LocalizedText xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <Locale>en</Locale>\n        <Text>Latched</Text>\n      </LocalizedText>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"i=18198\" BrowseName=\"FalseState\" ParentNodeId=\"i=18190\" DataType=\"LocalizedText\">\n    <DisplayName>FalseState</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=80</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=18190</Reference>\n    </References>\n    <Value>\n      <LocalizedText xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <Locale>en</Locale>\n        <Text>Unlatched</Text>\n      </LocalizedText>\n    </Value>\n  </UAVariable>\n  <UAObject NodeId=\"i=16399\" BrowseName=\"&lt;AlarmGroup&gt;\" SymbolicName=\"AlarmGroup_Placeholder\" ParentNodeId=\"i=2915\">\n    <DisplayName>&lt;AlarmGroup&gt;</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=16405</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=11508</Reference>\n      <Reference ReferenceType=\"i=16361\" IsForward=\"false\">i=2915</Reference>\n    </References>\n  </UAObject>\n  <UAVariable NodeId=\"i=16400\" BrowseName=\"ReAlarmTime\" ParentNodeId=\"i=2915\" DataType=\"i=290\">\n    <DisplayName>ReAlarmTime</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=80</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=2915</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=16401\" BrowseName=\"ReAlarmRepeatCount\" ParentNodeId=\"i=2915\" DataType=\"Int16\">\n    <DisplayName>ReAlarmRepeatCount</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=63</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=80</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=2915</Reference>\n    </References>\n  </UAVariable>\n  <UAMethod NodeId=\"i=16402\" BrowseName=\"Silence\" ParentNodeId=\"i=2915\">\n    <DisplayName>Silence</DisplayName>\n    <References>\n      <Reference ReferenceType=\"i=3065\">i=17242</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=80</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=2915</Reference>\n    </References>\n  </UAMethod>\n  <UAMethod NodeId=\"i=16403\" BrowseName=\"Suppress\" ParentNodeId=\"i=2915\">\n    <DisplayName>Suppress</DisplayName>\n    <References>\n      <Reference ReferenceType=\"i=3065\">i=17225</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=80</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=2915</Reference>\n    </References>\n  </UAMethod>\n  <UAMethod NodeId=\"i=17868\" BrowseName=\"Unsuppress\" ParentNodeId=\"i=2915\">\n    <DisplayName>Unsuppress</DisplayName>\n    <References>\n      <Reference ReferenceType=\"i=3065\">i=17225</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=80</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=2915</Reference>\n    </References>\n  </UAMethod>\n  <UAMethod NodeId=\"i=17869\" BrowseName=\"RemoveFromService\" ParentNodeId=\"i=2915\">\n    <DisplayName>RemoveFromService</DisplayName>\n    <References>\n      <Reference ReferenceType=\"i=3065\">i=17259</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=80</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=2915</Reference>\n    </References>\n  </UAMethod>\n  <UAMethod NodeId=\"i=17870\" BrowseName=\"PlaceInService\" ParentNodeId=\"i=2915\">\n    <DisplayName>PlaceInService</DisplayName>\n    <References>\n      <Reference ReferenceType=\"i=3065\">i=17259</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=80</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=2915</Reference>\n    </References>\n  </UAMethod>\n  <UAMethod NodeId=\"i=18199\" BrowseName=\"Reset\" ParentNodeId=\"i=2915\">\n    <DisplayName>Reset</DisplayName>\n    <References>\n      <Reference ReferenceType=\"i=3065\">i=15013</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=80</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=2915</Reference>\n    </References>\n  </UAMethod>\n  <UAObjectType NodeId=\"i=16405\" BrowseName=\"AlarmGroupType\">\n    <DisplayName>AlarmGroupType</DisplayName>\n    <References>\n      <Reference ReferenceType=\"i=16362\">i=16406</Reference>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=61</Reference>\n    </References>\n  </UAObjectType>\n  <UAObject NodeId=\"i=16406\" BrowseName=\"&lt;AlarmConditionInstance&gt;\" SymbolicName=\"AlarmConditionInstance_Placeholder\" ParentNodeId=\"i=16405\">\n    <DisplayName>&lt;AlarmConditionInstance&gt;</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=16407</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=16408</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=16409</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=16410</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=16411</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=16412</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=16414</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=16415</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=16416</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=16417</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=16420</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=16421</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=16422</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=16423</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=16432</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=16434</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=16436</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=16438</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=16439</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=16440</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=16441</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=16443</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=16461</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=16465</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=16474</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=16519</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=2915</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=11508</Reference>\n      <Reference ReferenceType=\"i=16362\" IsForward=\"false\">i=16405</Reference>\n    </References>\n  </UAObject>\n  <UAVariable NodeId=\"i=16407\" BrowseName=\"EventId\" ParentNodeId=\"i=16406\" DataType=\"ByteString\">\n    <DisplayName>EventId</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=16406</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=16408\" BrowseName=\"EventType\" ParentNodeId=\"i=16406\" DataType=\"NodeId\">\n    <DisplayName>EventType</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=16406</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=16409\" BrowseName=\"SourceNode\" ParentNodeId=\"i=16406\" DataType=\"NodeId\">\n    <DisplayName>SourceNode</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=16406</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=16410\" BrowseName=\"SourceName\" ParentNodeId=\"i=16406\" DataType=\"String\">\n    <DisplayName>SourceName</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=16406</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=16411\" BrowseName=\"Time\" ParentNodeId=\"i=16406\" DataType=\"i=294\">\n    <DisplayName>Time</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=16406</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=16412\" BrowseName=\"ReceiveTime\" ParentNodeId=\"i=16406\" DataType=\"i=294\">\n    <DisplayName>ReceiveTime</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=16406</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=16414\" BrowseName=\"Message\" ParentNodeId=\"i=16406\" DataType=\"LocalizedText\">\n    <DisplayName>Message</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=16406</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=16415\" BrowseName=\"Severity\" ParentNodeId=\"i=16406\" DataType=\"UInt16\">\n    <DisplayName>Severity</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=16406</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=16416\" BrowseName=\"ConditionClassId\" ParentNodeId=\"i=16406\" DataType=\"NodeId\">\n    <DisplayName>ConditionClassId</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=16406</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=16417\" BrowseName=\"ConditionClassName\" ParentNodeId=\"i=16406\" DataType=\"LocalizedText\">\n    <DisplayName>ConditionClassName</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=16406</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=16420\" BrowseName=\"ConditionName\" ParentNodeId=\"i=16406\" DataType=\"String\">\n    <DisplayName>ConditionName</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=16406</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=16421\" BrowseName=\"BranchId\" ParentNodeId=\"i=16406\" DataType=\"NodeId\">\n    <DisplayName>BranchId</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=16406</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=16422\" BrowseName=\"Retain\" ParentNodeId=\"i=16406\" DataType=\"Boolean\">\n    <DisplayName>Retain</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=16406</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=16423\" BrowseName=\"EnabledState\" ParentNodeId=\"i=16406\" DataType=\"LocalizedText\">\n    <DisplayName>EnabledState</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=16424</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=8995</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=16406</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=16424\" BrowseName=\"Id\" ParentNodeId=\"i=16423\" DataType=\"Boolean\">\n    <DisplayName>Id</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=16423</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=16432\" BrowseName=\"Quality\" ParentNodeId=\"i=16406\" DataType=\"StatusCode\">\n    <DisplayName>Quality</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=16433</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=9002</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=16406</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=16433\" BrowseName=\"SourceTimestamp\" ParentNodeId=\"i=16432\" DataType=\"i=294\">\n    <DisplayName>SourceTimestamp</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=16432</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=16434\" BrowseName=\"LastSeverity\" ParentNodeId=\"i=16406\" DataType=\"UInt16\">\n    <DisplayName>LastSeverity</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=16435</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=9002</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=16406</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=16435\" BrowseName=\"SourceTimestamp\" ParentNodeId=\"i=16434\" DataType=\"i=294\">\n    <DisplayName>SourceTimestamp</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=16434</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=16436\" BrowseName=\"Comment\" ParentNodeId=\"i=16406\" DataType=\"LocalizedText\">\n    <DisplayName>Comment</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=16437</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=9002</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=16406</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=16437\" BrowseName=\"SourceTimestamp\" ParentNodeId=\"i=16436\" DataType=\"i=294\">\n    <DisplayName>SourceTimestamp</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=16436</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=16438\" BrowseName=\"ClientUserId\" ParentNodeId=\"i=16406\" DataType=\"String\">\n    <DisplayName>ClientUserId</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=16406</Reference>\n    </References>\n  </UAVariable>\n  <UAMethod NodeId=\"i=16439\" BrowseName=\"Disable\" ParentNodeId=\"i=16406\" MethodDeclarationId=\"i=9028\">\n    <DisplayName>Disable</DisplayName>\n    <References>\n      <Reference ReferenceType=\"i=3065\">i=2803</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=16406</Reference>\n    </References>\n  </UAMethod>\n  <UAMethod NodeId=\"i=16440\" BrowseName=\"Enable\" ParentNodeId=\"i=16406\" MethodDeclarationId=\"i=9027\">\n    <DisplayName>Enable</DisplayName>\n    <References>\n      <Reference ReferenceType=\"i=3065\">i=2803</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=16406</Reference>\n    </References>\n  </UAMethod>\n  <UAMethod NodeId=\"i=16441\" BrowseName=\"AddComment\" ParentNodeId=\"i=16406\" MethodDeclarationId=\"i=9029\">\n    <DisplayName>AddComment</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=16442</Reference>\n      <Reference ReferenceType=\"i=3065\">i=2829</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=16406</Reference>\n    </References>\n  </UAMethod>\n  <UAVariable NodeId=\"i=16442\" BrowseName=\"InputArguments\" ParentNodeId=\"i=16441\" DataType=\"i=296\" ValueRank=\"1\" ArrayDimensions=\"0\">\n    <DisplayName>InputArguments</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=16441</Reference>\n    </References>\n    <Value>\n      <ListOfExtensionObject xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=297</Identifier>\n          </TypeId>\n          <Body>\n            <Argument>\n              <Name>EventId</Name>\n              <DataType>\n                <Identifier>i=15</Identifier>\n              </DataType>\n              <ValueRank>-1</ValueRank>\n              <ArrayDimensions />\n              <Description>\n                <Text>The identifier for the event to comment.</Text>\n              </Description>\n            </Argument>\n          </Body>\n        </ExtensionObject>\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=297</Identifier>\n          </TypeId>\n          <Body>\n            <Argument>\n              <Name>Comment</Name>\n              <DataType>\n                <Identifier>i=21</Identifier>\n              </DataType>\n              <ValueRank>-1</ValueRank>\n              <ArrayDimensions />\n              <Description>\n                <Text>The comment to add to the condition.</Text>\n              </Description>\n            </Argument>\n          </Body>\n        </ExtensionObject>\n      </ListOfExtensionObject>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"i=16443\" BrowseName=\"AckedState\" ParentNodeId=\"i=16406\" DataType=\"LocalizedText\">\n    <DisplayName>AckedState</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=16444</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=8995</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=16406</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=16444\" BrowseName=\"Id\" ParentNodeId=\"i=16443\" DataType=\"Boolean\">\n    <DisplayName>Id</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=16443</Reference>\n    </References>\n  </UAVariable>\n  <UAMethod NodeId=\"i=16461\" BrowseName=\"Acknowledge\" ParentNodeId=\"i=16406\" MethodDeclarationId=\"i=9111\">\n    <DisplayName>Acknowledge</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=16462</Reference>\n      <Reference ReferenceType=\"i=3065\">i=8944</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=16406</Reference>\n    </References>\n  </UAMethod>\n  <UAVariable NodeId=\"i=16462\" BrowseName=\"InputArguments\" ParentNodeId=\"i=16461\" DataType=\"i=296\" ValueRank=\"1\" ArrayDimensions=\"0\">\n    <DisplayName>InputArguments</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=16461</Reference>\n    </References>\n    <Value>\n      <ListOfExtensionObject xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=297</Identifier>\n          </TypeId>\n          <Body>\n            <Argument>\n              <Name>EventId</Name>\n              <DataType>\n                <Identifier>i=15</Identifier>\n              </DataType>\n              <ValueRank>-1</ValueRank>\n              <ArrayDimensions />\n              <Description>\n                <Text>The identifier for the event to comment.</Text>\n              </Description>\n            </Argument>\n          </Body>\n        </ExtensionObject>\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=297</Identifier>\n          </TypeId>\n          <Body>\n            <Argument>\n              <Name>Comment</Name>\n              <DataType>\n                <Identifier>i=21</Identifier>\n              </DataType>\n              <ValueRank>-1</ValueRank>\n              <ArrayDimensions />\n              <Description>\n                <Text>The comment to add to the condition.</Text>\n              </Description>\n            </Argument>\n          </Body>\n        </ExtensionObject>\n      </ListOfExtensionObject>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"i=16465\" BrowseName=\"ActiveState\" ParentNodeId=\"i=16406\" DataType=\"LocalizedText\">\n    <DisplayName>ActiveState</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=16466</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=8995</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=16406</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=16466\" BrowseName=\"Id\" ParentNodeId=\"i=16465\" DataType=\"Boolean\">\n    <DisplayName>Id</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=16465</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=16474\" BrowseName=\"InputNode\" ParentNodeId=\"i=16406\" DataType=\"NodeId\">\n    <DisplayName>InputNode</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=16406</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=16519\" BrowseName=\"SuppressedOrShelved\" ParentNodeId=\"i=16406\" DataType=\"Boolean\">\n    <DisplayName>SuppressedOrShelved</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=16406</Reference>\n    </References>\n  </UAVariable>\n  <UAObjectType NodeId=\"i=2929\" BrowseName=\"ShelvedStateMachineType\">\n    <DisplayName>ShelvedStateMachineType</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=9115</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=2930</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=2932</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=2933</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=2935</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=2936</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=2940</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=2942</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=2943</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=2945</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=2949</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=2947</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=2948</Reference>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=2771</Reference>\n    </References>\n  </UAObjectType>\n  <UAVariable NodeId=\"i=9115\" BrowseName=\"UnshelveTime\" ParentNodeId=\"i=2929\" DataType=\"i=290\">\n    <DisplayName>UnshelveTime</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=2929</Reference>\n    </References>\n  </UAVariable>\n  <UAObject NodeId=\"i=2930\" BrowseName=\"Unshelved\" ParentNodeId=\"i=2929\">\n    <DisplayName>Unshelved</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=6098</Reference>\n      <Reference ReferenceType=\"FromState\" IsForward=\"false\">i=2935</Reference>\n      <Reference ReferenceType=\"FromState\" IsForward=\"false\">i=2936</Reference>\n      <Reference ReferenceType=\"ToState\" IsForward=\"false\">i=2940</Reference>\n      <Reference ReferenceType=\"ToState\" IsForward=\"false\">i=2943</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=2307</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=2929</Reference>\n    </References>\n  </UAObject>\n  <UAVariable NodeId=\"i=6098\" BrowseName=\"StateNumber\" ParentNodeId=\"i=2930\" DataType=\"UInt32\">\n    <DisplayName>StateNumber</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=2930</Reference>\n    </References>\n    <Value>\n      <UInt32 xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">1</UInt32>\n    </Value>\n  </UAVariable>\n  <UAObject NodeId=\"i=2932\" BrowseName=\"TimedShelved\" ParentNodeId=\"i=2929\">\n    <DisplayName>TimedShelved</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=6100</Reference>\n      <Reference ReferenceType=\"ToState\" IsForward=\"false\">i=2935</Reference>\n      <Reference ReferenceType=\"FromState\" IsForward=\"false\">i=2940</Reference>\n      <Reference ReferenceType=\"FromState\" IsForward=\"false\">i=2942</Reference>\n      <Reference ReferenceType=\"ToState\" IsForward=\"false\">i=2945</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=2307</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=2929</Reference>\n    </References>\n  </UAObject>\n  <UAVariable NodeId=\"i=6100\" BrowseName=\"StateNumber\" ParentNodeId=\"i=2932\" DataType=\"UInt32\">\n    <DisplayName>StateNumber</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=2932</Reference>\n    </References>\n    <Value>\n      <UInt32 xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">2</UInt32>\n    </Value>\n  </UAVariable>\n  <UAObject NodeId=\"i=2933\" BrowseName=\"OneShotShelved\" ParentNodeId=\"i=2929\">\n    <DisplayName>OneShotShelved</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=6101</Reference>\n      <Reference ReferenceType=\"ToState\" IsForward=\"false\">i=2936</Reference>\n      <Reference ReferenceType=\"ToState\" IsForward=\"false\">i=2942</Reference>\n      <Reference ReferenceType=\"FromState\" IsForward=\"false\">i=2943</Reference>\n      <Reference ReferenceType=\"FromState\" IsForward=\"false\">i=2945</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=2307</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=2929</Reference>\n    </References>\n  </UAObject>\n  <UAVariable NodeId=\"i=6101\" BrowseName=\"StateNumber\" ParentNodeId=\"i=2933\" DataType=\"UInt32\">\n    <DisplayName>StateNumber</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=2933</Reference>\n    </References>\n    <Value>\n      <UInt32 xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">3</UInt32>\n    </Value>\n  </UAVariable>\n  <UAObject NodeId=\"i=2935\" BrowseName=\"UnshelvedToTimedShelved\" ParentNodeId=\"i=2929\">\n    <DisplayName>UnshelvedToTimedShelved</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=11322</Reference>\n      <Reference ReferenceType=\"FromState\">i=2930</Reference>\n      <Reference ReferenceType=\"ToState\">i=2932</Reference>\n      <Reference ReferenceType=\"HasEffect\">i=2915</Reference>\n      <Reference ReferenceType=\"HasCause\">i=2949</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=2310</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=2929</Reference>\n    </References>\n  </UAObject>\n  <UAVariable NodeId=\"i=11322\" BrowseName=\"TransitionNumber\" ParentNodeId=\"i=2935\" DataType=\"UInt32\">\n    <DisplayName>TransitionNumber</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=2935</Reference>\n    </References>\n    <Value>\n      <UInt32 xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">12</UInt32>\n    </Value>\n  </UAVariable>\n  <UAObject NodeId=\"i=2936\" BrowseName=\"UnshelvedToOneShotShelved\" ParentNodeId=\"i=2929\">\n    <DisplayName>UnshelvedToOneShotShelved</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=11323</Reference>\n      <Reference ReferenceType=\"FromState\">i=2930</Reference>\n      <Reference ReferenceType=\"ToState\">i=2933</Reference>\n      <Reference ReferenceType=\"HasEffect\">i=2915</Reference>\n      <Reference ReferenceType=\"HasCause\">i=2948</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=2310</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=2929</Reference>\n    </References>\n  </UAObject>\n  <UAVariable NodeId=\"i=11323\" BrowseName=\"TransitionNumber\" ParentNodeId=\"i=2936\" DataType=\"UInt32\">\n    <DisplayName>TransitionNumber</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=2936</Reference>\n    </References>\n    <Value>\n      <UInt32 xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">13</UInt32>\n    </Value>\n  </UAVariable>\n  <UAObject NodeId=\"i=2940\" BrowseName=\"TimedShelvedToUnshelved\" ParentNodeId=\"i=2929\">\n    <DisplayName>TimedShelvedToUnshelved</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=11324</Reference>\n      <Reference ReferenceType=\"FromState\">i=2932</Reference>\n      <Reference ReferenceType=\"ToState\">i=2930</Reference>\n      <Reference ReferenceType=\"HasEffect\">i=2915</Reference>\n      <Reference ReferenceType=\"HasCause\">i=2947</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=2310</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=2929</Reference>\n    </References>\n  </UAObject>\n  <UAVariable NodeId=\"i=11324\" BrowseName=\"TransitionNumber\" ParentNodeId=\"i=2940\" DataType=\"UInt32\">\n    <DisplayName>TransitionNumber</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=2940</Reference>\n    </References>\n    <Value>\n      <UInt32 xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">21</UInt32>\n    </Value>\n  </UAVariable>\n  <UAObject NodeId=\"i=2942\" BrowseName=\"TimedShelvedToOneShotShelved\" ParentNodeId=\"i=2929\">\n    <DisplayName>TimedShelvedToOneShotShelved</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=11325</Reference>\n      <Reference ReferenceType=\"FromState\">i=2932</Reference>\n      <Reference ReferenceType=\"ToState\">i=2933</Reference>\n      <Reference ReferenceType=\"HasEffect\">i=2915</Reference>\n      <Reference ReferenceType=\"HasCause\">i=2948</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=2310</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=2929</Reference>\n    </References>\n  </UAObject>\n  <UAVariable NodeId=\"i=11325\" BrowseName=\"TransitionNumber\" ParentNodeId=\"i=2942\" DataType=\"UInt32\">\n    <DisplayName>TransitionNumber</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=2942</Reference>\n    </References>\n    <Value>\n      <UInt32 xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">23</UInt32>\n    </Value>\n  </UAVariable>\n  <UAObject NodeId=\"i=2943\" BrowseName=\"OneShotShelvedToUnshelved\" ParentNodeId=\"i=2929\">\n    <DisplayName>OneShotShelvedToUnshelved</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=11326</Reference>\n      <Reference ReferenceType=\"FromState\">i=2933</Reference>\n      <Reference ReferenceType=\"ToState\">i=2930</Reference>\n      <Reference ReferenceType=\"HasEffect\">i=2915</Reference>\n      <Reference ReferenceType=\"HasCause\">i=2947</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=2310</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=2929</Reference>\n    </References>\n  </UAObject>\n  <UAVariable NodeId=\"i=11326\" BrowseName=\"TransitionNumber\" ParentNodeId=\"i=2943\" DataType=\"UInt32\">\n    <DisplayName>TransitionNumber</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=2943</Reference>\n    </References>\n    <Value>\n      <UInt32 xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">31</UInt32>\n    </Value>\n  </UAVariable>\n  <UAObject NodeId=\"i=2945\" BrowseName=\"OneShotShelvedToTimedShelved\" ParentNodeId=\"i=2929\">\n    <DisplayName>OneShotShelvedToTimedShelved</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=11327</Reference>\n      <Reference ReferenceType=\"FromState\">i=2933</Reference>\n      <Reference ReferenceType=\"ToState\">i=2932</Reference>\n      <Reference ReferenceType=\"HasEffect\">i=2915</Reference>\n      <Reference ReferenceType=\"HasCause\">i=2949</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=2310</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=2929</Reference>\n    </References>\n  </UAObject>\n  <UAVariable NodeId=\"i=11327\" BrowseName=\"TransitionNumber\" ParentNodeId=\"i=2945\" DataType=\"UInt32\">\n    <DisplayName>TransitionNumber</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=2945</Reference>\n    </References>\n    <Value>\n      <UInt32 xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">32</UInt32>\n    </Value>\n  </UAVariable>\n  <UAMethod NodeId=\"i=2949\" BrowseName=\"TimedShelve\" ParentNodeId=\"i=2929\">\n    <DisplayName>TimedShelve</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=2991</Reference>\n      <Reference ReferenceType=\"HasCause\" IsForward=\"false\">i=2935</Reference>\n      <Reference ReferenceType=\"HasCause\" IsForward=\"false\">i=2945</Reference>\n      <Reference ReferenceType=\"i=3065\">i=11093</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=2929</Reference>\n    </References>\n  </UAMethod>\n  <UAVariable NodeId=\"i=2991\" BrowseName=\"InputArguments\" ParentNodeId=\"i=2949\" DataType=\"i=296\" ValueRank=\"1\" ArrayDimensions=\"0\">\n    <DisplayName>InputArguments</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=2949</Reference>\n    </References>\n    <Value>\n      <ListOfExtensionObject xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=297</Identifier>\n          </TypeId>\n          <Body>\n            <Argument>\n              <Name>ShelvingTime</Name>\n              <DataType>\n                <Identifier>i=290</Identifier>\n              </DataType>\n              <ValueRank>-1</ValueRank>\n              <ArrayDimensions />\n              <Description>\n                <Text>If not 0, this parameter specifies a fixed time for which the Alarm is to be shelved.</Text>\n              </Description>\n            </Argument>\n          </Body>\n        </ExtensionObject>\n      </ListOfExtensionObject>\n    </Value>\n  </UAVariable>\n  <UAMethod NodeId=\"i=2947\" BrowseName=\"Unshelve\" ParentNodeId=\"i=2929\">\n    <DisplayName>Unshelve</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasCause\" IsForward=\"false\">i=2940</Reference>\n      <Reference ReferenceType=\"HasCause\" IsForward=\"false\">i=2943</Reference>\n      <Reference ReferenceType=\"i=3065\">i=11093</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=2929</Reference>\n    </References>\n  </UAMethod>\n  <UAMethod NodeId=\"i=2948\" BrowseName=\"OneShotShelve\" ParentNodeId=\"i=2929\">\n    <DisplayName>OneShotShelve</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasCause\" IsForward=\"false\">i=2936</Reference>\n      <Reference ReferenceType=\"HasCause\" IsForward=\"false\">i=2942</Reference>\n      <Reference ReferenceType=\"i=3065\">i=11093</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=2929</Reference>\n    </References>\n  </UAMethod>\n  <UAObjectType NodeId=\"i=2955\" BrowseName=\"LimitAlarmType\">\n    <DisplayName>LimitAlarmType</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=11124</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=11125</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=11126</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=11127</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=16572</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=16573</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=16574</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=16575</Reference>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=2915</Reference>\n    </References>\n  </UAObjectType>\n  <UAVariable NodeId=\"i=11124\" BrowseName=\"HighHighLimit\" ParentNodeId=\"i=2955\" DataType=\"Double\">\n    <DisplayName>HighHighLimit</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=80</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=2955</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=11125\" BrowseName=\"HighLimit\" ParentNodeId=\"i=2955\" DataType=\"Double\">\n    <DisplayName>HighLimit</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=80</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=2955</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=11126\" BrowseName=\"LowLimit\" ParentNodeId=\"i=2955\" DataType=\"Double\">\n    <DisplayName>LowLimit</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=80</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=2955</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=11127\" BrowseName=\"LowLowLimit\" ParentNodeId=\"i=2955\" DataType=\"Double\">\n    <DisplayName>LowLowLimit</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=80</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=2955</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=16572\" BrowseName=\"BaseHighHighLimit\" ParentNodeId=\"i=2955\" DataType=\"Double\">\n    <DisplayName>BaseHighHighLimit</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=80</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=2955</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=16573\" BrowseName=\"BaseHighLimit\" ParentNodeId=\"i=2955\" DataType=\"Double\">\n    <DisplayName>BaseHighLimit</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=80</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=2955</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=16574\" BrowseName=\"BaseLowLimit\" ParentNodeId=\"i=2955\" DataType=\"Double\">\n    <DisplayName>BaseLowLimit</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=80</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=2955</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=16575\" BrowseName=\"BaseLowLowLimit\" ParentNodeId=\"i=2955\" DataType=\"Double\">\n    <DisplayName>BaseLowLowLimit</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=80</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=2955</Reference>\n    </References>\n  </UAVariable>\n  <UAObjectType NodeId=\"i=9318\" BrowseName=\"ExclusiveLimitStateMachineType\">\n    <DisplayName>ExclusiveLimitStateMachineType</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasComponent\">i=9329</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=9331</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=9333</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=9335</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=9337</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=9338</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=9339</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=9340</Reference>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=2771</Reference>\n    </References>\n  </UAObjectType>\n  <UAObject NodeId=\"i=9329\" BrowseName=\"HighHigh\" ParentNodeId=\"i=9318\">\n    <DisplayName>HighHigh</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=9330</Reference>\n      <Reference ReferenceType=\"FromState\" IsForward=\"false\">i=9339</Reference>\n      <Reference ReferenceType=\"ToState\" IsForward=\"false\">i=9340</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=2307</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=9318</Reference>\n    </References>\n  </UAObject>\n  <UAVariable NodeId=\"i=9330\" BrowseName=\"StateNumber\" ParentNodeId=\"i=9329\" DataType=\"UInt32\">\n    <DisplayName>StateNumber</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=9329</Reference>\n    </References>\n    <Value>\n      <UInt32 xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">1</UInt32>\n    </Value>\n  </UAVariable>\n  <UAObject NodeId=\"i=9331\" BrowseName=\"High\" ParentNodeId=\"i=9318\">\n    <DisplayName>High</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=9332</Reference>\n      <Reference ReferenceType=\"ToState\" IsForward=\"false\">i=9339</Reference>\n      <Reference ReferenceType=\"FromState\" IsForward=\"false\">i=9340</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=2307</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=9318</Reference>\n    </References>\n  </UAObject>\n  <UAVariable NodeId=\"i=9332\" BrowseName=\"StateNumber\" ParentNodeId=\"i=9331\" DataType=\"UInt32\">\n    <DisplayName>StateNumber</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=9331</Reference>\n    </References>\n    <Value>\n      <UInt32 xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">2</UInt32>\n    </Value>\n  </UAVariable>\n  <UAObject NodeId=\"i=9333\" BrowseName=\"Low\" ParentNodeId=\"i=9318\">\n    <DisplayName>Low</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=9334</Reference>\n      <Reference ReferenceType=\"ToState\" IsForward=\"false\">i=9337</Reference>\n      <Reference ReferenceType=\"FromState\" IsForward=\"false\">i=9338</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=2307</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=9318</Reference>\n    </References>\n  </UAObject>\n  <UAVariable NodeId=\"i=9334\" BrowseName=\"StateNumber\" ParentNodeId=\"i=9333\" DataType=\"UInt32\">\n    <DisplayName>StateNumber</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=9333</Reference>\n    </References>\n    <Value>\n      <UInt32 xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">3</UInt32>\n    </Value>\n  </UAVariable>\n  <UAObject NodeId=\"i=9335\" BrowseName=\"LowLow\" ParentNodeId=\"i=9318\">\n    <DisplayName>LowLow</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=9336</Reference>\n      <Reference ReferenceType=\"FromState\" IsForward=\"false\">i=9337</Reference>\n      <Reference ReferenceType=\"ToState\" IsForward=\"false\">i=9338</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=2307</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=9318</Reference>\n    </References>\n  </UAObject>\n  <UAVariable NodeId=\"i=9336\" BrowseName=\"StateNumber\" ParentNodeId=\"i=9335\" DataType=\"UInt32\">\n    <DisplayName>StateNumber</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=9335</Reference>\n    </References>\n    <Value>\n      <UInt32 xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">4</UInt32>\n    </Value>\n  </UAVariable>\n  <UAObject NodeId=\"i=9337\" BrowseName=\"LowLowToLow\" ParentNodeId=\"i=9318\">\n    <DisplayName>LowLowToLow</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=11340</Reference>\n      <Reference ReferenceType=\"FromState\">i=9335</Reference>\n      <Reference ReferenceType=\"ToState\">i=9333</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=2310</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=9318</Reference>\n    </References>\n  </UAObject>\n  <UAVariable NodeId=\"i=11340\" BrowseName=\"TransitionNumber\" ParentNodeId=\"i=9337\" DataType=\"UInt32\">\n    <DisplayName>TransitionNumber</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=9337</Reference>\n    </References>\n    <Value>\n      <UInt32 xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">43</UInt32>\n    </Value>\n  </UAVariable>\n  <UAObject NodeId=\"i=9338\" BrowseName=\"LowToLowLow\" ParentNodeId=\"i=9318\">\n    <DisplayName>LowToLowLow</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=11341</Reference>\n      <Reference ReferenceType=\"FromState\">i=9333</Reference>\n      <Reference ReferenceType=\"ToState\">i=9335</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=2310</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=9318</Reference>\n    </References>\n  </UAObject>\n  <UAVariable NodeId=\"i=11341\" BrowseName=\"TransitionNumber\" ParentNodeId=\"i=9338\" DataType=\"UInt32\">\n    <DisplayName>TransitionNumber</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=9338</Reference>\n    </References>\n    <Value>\n      <UInt32 xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">34</UInt32>\n    </Value>\n  </UAVariable>\n  <UAObject NodeId=\"i=9339\" BrowseName=\"HighHighToHigh\" ParentNodeId=\"i=9318\">\n    <DisplayName>HighHighToHigh</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=11342</Reference>\n      <Reference ReferenceType=\"FromState\">i=9329</Reference>\n      <Reference ReferenceType=\"ToState\">i=9331</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=2310</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=9318</Reference>\n    </References>\n  </UAObject>\n  <UAVariable NodeId=\"i=11342\" BrowseName=\"TransitionNumber\" ParentNodeId=\"i=9339\" DataType=\"UInt32\">\n    <DisplayName>TransitionNumber</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=9339</Reference>\n    </References>\n    <Value>\n      <UInt32 xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">12</UInt32>\n    </Value>\n  </UAVariable>\n  <UAObject NodeId=\"i=9340\" BrowseName=\"HighToHighHigh\" ParentNodeId=\"i=9318\">\n    <DisplayName>HighToHighHigh</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=11343</Reference>\n      <Reference ReferenceType=\"FromState\">i=9331</Reference>\n      <Reference ReferenceType=\"ToState\">i=9329</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=2310</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=9318</Reference>\n    </References>\n  </UAObject>\n  <UAVariable NodeId=\"i=11343\" BrowseName=\"TransitionNumber\" ParentNodeId=\"i=9340\" DataType=\"UInt32\">\n    <DisplayName>TransitionNumber</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=9340</Reference>\n    </References>\n    <Value>\n      <UInt32 xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">21</UInt32>\n    </Value>\n  </UAVariable>\n  <UAObjectType NodeId=\"i=9341\" BrowseName=\"ExclusiveLimitAlarmType\">\n    <DisplayName>ExclusiveLimitAlarmType</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasComponent\">i=9398</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=9455</Reference>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=2955</Reference>\n    </References>\n  </UAObjectType>\n  <UAVariable NodeId=\"i=9398\" BrowseName=\"ActiveState\" ParentNodeId=\"i=9341\" DataType=\"LocalizedText\">\n    <DisplayName>ActiveState</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=9399</Reference>\n      <Reference ReferenceType=\"HasTrueSubState\">i=9455</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=8995</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=9341</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=9399\" BrowseName=\"Id\" ParentNodeId=\"i=9398\" DataType=\"Boolean\">\n    <DisplayName>Id</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=9398</Reference>\n    </References>\n  </UAVariable>\n  <UAObject NodeId=\"i=9455\" BrowseName=\"LimitState\" ParentNodeId=\"i=9341\">\n    <DisplayName>LimitState</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasComponent\">i=9456</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=9461</Reference>\n      <Reference ReferenceType=\"HasTrueSubState\" IsForward=\"false\">i=9398</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=9318</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=9341</Reference>\n    </References>\n  </UAObject>\n  <UAVariable NodeId=\"i=9456\" BrowseName=\"CurrentState\" ParentNodeId=\"i=9455\" DataType=\"LocalizedText\">\n    <DisplayName>CurrentState</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=9457</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=2760</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=9455</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=9457\" BrowseName=\"Id\" ParentNodeId=\"i=9456\" DataType=\"NodeId\">\n    <DisplayName>Id</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=9456</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=9461\" BrowseName=\"LastTransition\" ParentNodeId=\"i=9455\" DataType=\"LocalizedText\">\n    <DisplayName>LastTransition</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=9462</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=9465</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=2767</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=80</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=9455</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=9462\" BrowseName=\"Id\" ParentNodeId=\"i=9461\" DataType=\"NodeId\">\n    <DisplayName>Id</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=9461</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=9465\" BrowseName=\"TransitionTime\" ParentNodeId=\"i=9461\" DataType=\"i=294\">\n    <DisplayName>TransitionTime</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=80</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=9461</Reference>\n    </References>\n  </UAVariable>\n  <UAObjectType NodeId=\"i=9906\" BrowseName=\"NonExclusiveLimitAlarmType\">\n    <DisplayName>NonExclusiveLimitAlarmType</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasComponent\">i=9963</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=10020</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=10029</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=10038</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=10047</Reference>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=2955</Reference>\n    </References>\n  </UAObjectType>\n  <UAVariable NodeId=\"i=9963\" BrowseName=\"ActiveState\" ParentNodeId=\"i=9906\" DataType=\"LocalizedText\">\n    <DisplayName>ActiveState</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=9964</Reference>\n      <Reference ReferenceType=\"HasTrueSubState\">i=10020</Reference>\n      <Reference ReferenceType=\"HasTrueSubState\">i=10029</Reference>\n      <Reference ReferenceType=\"HasTrueSubState\">i=10038</Reference>\n      <Reference ReferenceType=\"HasTrueSubState\">i=10047</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=8995</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=9906</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=9964\" BrowseName=\"Id\" ParentNodeId=\"i=9963\" DataType=\"Boolean\">\n    <DisplayName>Id</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=9963</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=10020\" BrowseName=\"HighHighState\" ParentNodeId=\"i=9906\" DataType=\"LocalizedText\">\n    <DisplayName>HighHighState</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=10021</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=10025</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=10027</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=10028</Reference>\n      <Reference ReferenceType=\"HasTrueSubState\" IsForward=\"false\">i=9963</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=8995</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=80</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=9906</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=10021\" BrowseName=\"Id\" ParentNodeId=\"i=10020\" DataType=\"Boolean\">\n    <DisplayName>Id</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=10020</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=10025\" BrowseName=\"TransitionTime\" ParentNodeId=\"i=10020\" DataType=\"i=294\">\n    <DisplayName>TransitionTime</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=80</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=10020</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=10027\" BrowseName=\"TrueState\" ParentNodeId=\"i=10020\" DataType=\"LocalizedText\">\n    <DisplayName>TrueState</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=80</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=10020</Reference>\n    </References>\n    <Value>\n      <LocalizedText xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <Locale>en</Locale>\n        <Text>HighHigh active</Text>\n      </LocalizedText>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"i=10028\" BrowseName=\"FalseState\" ParentNodeId=\"i=10020\" DataType=\"LocalizedText\">\n    <DisplayName>FalseState</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=80</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=10020</Reference>\n    </References>\n    <Value>\n      <LocalizedText xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <Locale>en</Locale>\n        <Text>HighHigh inactive</Text>\n      </LocalizedText>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"i=10029\" BrowseName=\"HighState\" ParentNodeId=\"i=9906\" DataType=\"LocalizedText\">\n    <DisplayName>HighState</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=10030</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=10034</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=10036</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=10037</Reference>\n      <Reference ReferenceType=\"HasTrueSubState\" IsForward=\"false\">i=9963</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=8995</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=80</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=9906</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=10030\" BrowseName=\"Id\" ParentNodeId=\"i=10029\" DataType=\"Boolean\">\n    <DisplayName>Id</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=10029</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=10034\" BrowseName=\"TransitionTime\" ParentNodeId=\"i=10029\" DataType=\"i=294\">\n    <DisplayName>TransitionTime</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=80</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=10029</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=10036\" BrowseName=\"TrueState\" ParentNodeId=\"i=10029\" DataType=\"LocalizedText\">\n    <DisplayName>TrueState</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=80</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=10029</Reference>\n    </References>\n    <Value>\n      <LocalizedText xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <Locale>en</Locale>\n        <Text>High active</Text>\n      </LocalizedText>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"i=10037\" BrowseName=\"FalseState\" ParentNodeId=\"i=10029\" DataType=\"LocalizedText\">\n    <DisplayName>FalseState</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=80</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=10029</Reference>\n    </References>\n    <Value>\n      <LocalizedText xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <Locale>en</Locale>\n        <Text>High inactive</Text>\n      </LocalizedText>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"i=10038\" BrowseName=\"LowState\" ParentNodeId=\"i=9906\" DataType=\"LocalizedText\">\n    <DisplayName>LowState</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=10039</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=10043</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=10045</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=10046</Reference>\n      <Reference ReferenceType=\"HasTrueSubState\" IsForward=\"false\">i=9963</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=8995</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=80</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=9906</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=10039\" BrowseName=\"Id\" ParentNodeId=\"i=10038\" DataType=\"Boolean\">\n    <DisplayName>Id</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=10038</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=10043\" BrowseName=\"TransitionTime\" ParentNodeId=\"i=10038\" DataType=\"i=294\">\n    <DisplayName>TransitionTime</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=80</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=10038</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=10045\" BrowseName=\"TrueState\" ParentNodeId=\"i=10038\" DataType=\"LocalizedText\">\n    <DisplayName>TrueState</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=80</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=10038</Reference>\n    </References>\n    <Value>\n      <LocalizedText xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <Locale>en</Locale>\n        <Text>Low active</Text>\n      </LocalizedText>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"i=10046\" BrowseName=\"FalseState\" ParentNodeId=\"i=10038\" DataType=\"LocalizedText\">\n    <DisplayName>FalseState</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=80</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=10038</Reference>\n    </References>\n    <Value>\n      <LocalizedText xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <Locale>en</Locale>\n        <Text>Low inactive</Text>\n      </LocalizedText>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"i=10047\" BrowseName=\"LowLowState\" ParentNodeId=\"i=9906\" DataType=\"LocalizedText\">\n    <DisplayName>LowLowState</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=10048</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=10052</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=10054</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=10055</Reference>\n      <Reference ReferenceType=\"HasTrueSubState\" IsForward=\"false\">i=9963</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=8995</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=80</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=9906</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=10048\" BrowseName=\"Id\" ParentNodeId=\"i=10047\" DataType=\"Boolean\">\n    <DisplayName>Id</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=10047</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=10052\" BrowseName=\"TransitionTime\" ParentNodeId=\"i=10047\" DataType=\"i=294\">\n    <DisplayName>TransitionTime</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=80</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=10047</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=10054\" BrowseName=\"TrueState\" ParentNodeId=\"i=10047\" DataType=\"LocalizedText\">\n    <DisplayName>TrueState</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=80</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=10047</Reference>\n    </References>\n    <Value>\n      <LocalizedText xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <Locale>en</Locale>\n        <Text>LowLow active</Text>\n      </LocalizedText>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"i=10055\" BrowseName=\"FalseState\" ParentNodeId=\"i=10047\" DataType=\"LocalizedText\">\n    <DisplayName>FalseState</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=80</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=10047</Reference>\n    </References>\n    <Value>\n      <LocalizedText xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <Locale>en</Locale>\n        <Text>LowLow inactive</Text>\n      </LocalizedText>\n    </Value>\n  </UAVariable>\n  <UAObjectType NodeId=\"i=10060\" BrowseName=\"NonExclusiveLevelAlarmType\">\n    <DisplayName>NonExclusiveLevelAlarmType</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=9906</Reference>\n    </References>\n  </UAObjectType>\n  <UAObjectType NodeId=\"i=9482\" BrowseName=\"ExclusiveLevelAlarmType\">\n    <DisplayName>ExclusiveLevelAlarmType</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=9341</Reference>\n    </References>\n  </UAObjectType>\n  <UAObjectType NodeId=\"i=10368\" BrowseName=\"NonExclusiveDeviationAlarmType\">\n    <DisplayName>NonExclusiveDeviationAlarmType</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=10522</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=16776</Reference>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=9906</Reference>\n    </References>\n  </UAObjectType>\n  <UAVariable NodeId=\"i=10522\" BrowseName=\"SetpointNode\" ParentNodeId=\"i=10368\" DataType=\"NodeId\">\n    <DisplayName>SetpointNode</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=10368</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=16776\" BrowseName=\"BaseSetpointNode\" ParentNodeId=\"i=10368\" DataType=\"NodeId\">\n    <DisplayName>BaseSetpointNode</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=80</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=10368</Reference>\n    </References>\n  </UAVariable>\n  <UAObjectType NodeId=\"i=10214\" BrowseName=\"NonExclusiveRateOfChangeAlarmType\">\n    <DisplayName>NonExclusiveRateOfChangeAlarmType</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=16858</Reference>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=9906</Reference>\n    </References>\n  </UAObjectType>\n  <UAVariable NodeId=\"i=16858\" BrowseName=\"EngineeringUnits\" ParentNodeId=\"i=10214\" DataType=\"i=887\">\n    <DisplayName>EngineeringUnits</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=80</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=10214</Reference>\n    </References>\n  </UAVariable>\n  <UAObjectType NodeId=\"i=9764\" BrowseName=\"ExclusiveDeviationAlarmType\">\n    <DisplayName>ExclusiveDeviationAlarmType</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=9905</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=16817</Reference>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=9341</Reference>\n    </References>\n  </UAObjectType>\n  <UAVariable NodeId=\"i=9905\" BrowseName=\"SetpointNode\" ParentNodeId=\"i=9764\" DataType=\"NodeId\">\n    <DisplayName>SetpointNode</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=9764</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=16817\" BrowseName=\"BaseSetpointNode\" ParentNodeId=\"i=9764\" DataType=\"NodeId\">\n    <DisplayName>BaseSetpointNode</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=80</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=9764</Reference>\n    </References>\n  </UAVariable>\n  <UAObjectType NodeId=\"i=9623\" BrowseName=\"ExclusiveRateOfChangeAlarmType\">\n    <DisplayName>ExclusiveRateOfChangeAlarmType</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=16899</Reference>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=9341</Reference>\n    </References>\n  </UAObjectType>\n  <UAVariable NodeId=\"i=16899\" BrowseName=\"EngineeringUnits\" ParentNodeId=\"i=9623\" DataType=\"i=887\">\n    <DisplayName>EngineeringUnits</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=80</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=9623</Reference>\n    </References>\n  </UAVariable>\n  <UAObjectType NodeId=\"i=10523\" BrowseName=\"DiscreteAlarmType\">\n    <DisplayName>DiscreteAlarmType</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=2915</Reference>\n    </References>\n  </UAObjectType>\n  <UAObjectType NodeId=\"i=10637\" BrowseName=\"OffNormalAlarmType\">\n    <DisplayName>OffNormalAlarmType</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=11158</Reference>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=10523</Reference>\n    </References>\n  </UAObjectType>\n  <UAVariable NodeId=\"i=11158\" BrowseName=\"NormalState\" ParentNodeId=\"i=10637\" DataType=\"NodeId\">\n    <DisplayName>NormalState</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=10637</Reference>\n    </References>\n  </UAVariable>\n  <UAObjectType NodeId=\"i=11753\" BrowseName=\"SystemOffNormalAlarmType\">\n    <DisplayName>SystemOffNormalAlarmType</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=10637</Reference>\n    </References>\n  </UAObjectType>\n  <UAObjectType NodeId=\"i=10751\" BrowseName=\"TripAlarmType\">\n    <DisplayName>TripAlarmType</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=10637</Reference>\n    </References>\n  </UAObjectType>\n  <UAObjectType NodeId=\"i=18347\" BrowseName=\"InstrumentDiagnosticAlarmType\">\n    <DisplayName>InstrumentDiagnosticAlarmType</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=10637</Reference>\n    </References>\n  </UAObjectType>\n  <UAObjectType NodeId=\"i=18496\" BrowseName=\"SystemDiagnosticAlarmType\">\n    <DisplayName>SystemDiagnosticAlarmType</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=10637</Reference>\n    </References>\n  </UAObjectType>\n  <UAObjectType NodeId=\"i=13225\" BrowseName=\"CertificateExpirationAlarmType\">\n    <DisplayName>CertificateExpirationAlarmType</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=13325</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=14900</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=13326</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=13327</Reference>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=11753</Reference>\n    </References>\n  </UAObjectType>\n  <UAVariable NodeId=\"i=13325\" BrowseName=\"ExpirationDate\" ParentNodeId=\"i=13225\" DataType=\"DateTime\">\n    <DisplayName>ExpirationDate</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=13225</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=14900\" BrowseName=\"ExpirationLimit\" ParentNodeId=\"i=13225\" DataType=\"i=290\">\n    <DisplayName>ExpirationLimit</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=80</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=13225</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=13326\" BrowseName=\"CertificateType\" ParentNodeId=\"i=13225\" DataType=\"NodeId\">\n    <DisplayName>CertificateType</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=13225</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=13327\" BrowseName=\"Certificate\" ParentNodeId=\"i=13225\" DataType=\"ByteString\">\n    <DisplayName>Certificate</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=13225</Reference>\n    </References>\n  </UAVariable>\n  <UAObjectType NodeId=\"i=17080\" BrowseName=\"DiscrepancyAlarmType\">\n    <DisplayName>DiscrepancyAlarmType</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=17215</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=17216</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=17217</Reference>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=2915</Reference>\n    </References>\n  </UAObjectType>\n  <UAVariable NodeId=\"i=17215\" BrowseName=\"TargetValueNode\" ParentNodeId=\"i=17080\" DataType=\"NodeId\">\n    <DisplayName>TargetValueNode</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=17080</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=17216\" BrowseName=\"ExpectedTime\" ParentNodeId=\"i=17080\" DataType=\"i=290\">\n    <DisplayName>ExpectedTime</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=17080</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=17217\" BrowseName=\"Tolerance\" ParentNodeId=\"i=17080\" DataType=\"Double\">\n    <DisplayName>Tolerance</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=80</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=17080</Reference>\n    </References>\n  </UAVariable>\n  <UAObjectType NodeId=\"i=11163\" BrowseName=\"BaseConditionClassType\" IsAbstract=\"true\">\n    <DisplayName>BaseConditionClassType</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=58</Reference>\n    </References>\n  </UAObjectType>\n  <UAObjectType NodeId=\"i=11164\" BrowseName=\"ProcessConditionClassType\" IsAbstract=\"true\">\n    <DisplayName>ProcessConditionClassType</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=11163</Reference>\n    </References>\n  </UAObjectType>\n  <UAObjectType NodeId=\"i=11165\" BrowseName=\"MaintenanceConditionClassType\" IsAbstract=\"true\">\n    <DisplayName>MaintenanceConditionClassType</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=11163</Reference>\n    </References>\n  </UAObjectType>\n  <UAObjectType NodeId=\"i=11166\" BrowseName=\"SystemConditionClassType\" IsAbstract=\"true\">\n    <DisplayName>SystemConditionClassType</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=11163</Reference>\n    </References>\n  </UAObjectType>\n  <UAObjectType NodeId=\"i=17218\" BrowseName=\"SafetyConditionClassType\" IsAbstract=\"true\">\n    <DisplayName>SafetyConditionClassType</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=11163</Reference>\n    </References>\n  </UAObjectType>\n  <UAObjectType NodeId=\"i=17219\" BrowseName=\"HighlyManagedAlarmConditionClassType\" IsAbstract=\"true\">\n    <DisplayName>HighlyManagedAlarmConditionClassType</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=11163</Reference>\n    </References>\n  </UAObjectType>\n  <UAObjectType NodeId=\"i=17220\" BrowseName=\"TrainingConditionClassType\" IsAbstract=\"true\">\n    <DisplayName>TrainingConditionClassType</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=11163</Reference>\n    </References>\n  </UAObjectType>\n  <UAObjectType NodeId=\"i=18665\" BrowseName=\"StatisticalConditionClassType\" IsAbstract=\"true\">\n    <DisplayName>StatisticalConditionClassType</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=11163</Reference>\n    </References>\n  </UAObjectType>\n  <UAObjectType NodeId=\"i=17221\" BrowseName=\"TestingConditionSubClassType\" IsAbstract=\"true\">\n    <DisplayName>TestingConditionSubClassType</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=11163</Reference>\n    </References>\n  </UAObjectType>\n  <UAObjectType NodeId=\"i=2790\" BrowseName=\"AuditConditionEventType\">\n    <DisplayName>AuditConditionEventType</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=2127</Reference>\n    </References>\n  </UAObjectType>\n  <UAObjectType NodeId=\"i=2803\" BrowseName=\"AuditConditionEnableEventType\">\n    <DisplayName>AuditConditionEnableEventType</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=2790</Reference>\n    </References>\n  </UAObjectType>\n  <UAObjectType NodeId=\"i=2829\" BrowseName=\"AuditConditionCommentEventType\">\n    <DisplayName>AuditConditionCommentEventType</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=17222</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=11851</Reference>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=2790</Reference>\n    </References>\n  </UAObjectType>\n  <UAVariable NodeId=\"i=17222\" BrowseName=\"ConditionEventId\" ParentNodeId=\"i=2829\" DataType=\"ByteString\">\n    <DisplayName>ConditionEventId</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=2829</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=11851\" BrowseName=\"Comment\" ParentNodeId=\"i=2829\" DataType=\"LocalizedText\">\n    <DisplayName>Comment</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=2829</Reference>\n    </References>\n  </UAVariable>\n  <UAObjectType NodeId=\"i=8927\" BrowseName=\"AuditConditionRespondEventType\">\n    <DisplayName>AuditConditionRespondEventType</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=11852</Reference>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=2790</Reference>\n    </References>\n  </UAObjectType>\n  <UAVariable NodeId=\"i=11852\" BrowseName=\"SelectedResponse\" ParentNodeId=\"i=8927\" DataType=\"UInt32\">\n    <DisplayName>SelectedResponse</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=8927</Reference>\n    </References>\n  </UAVariable>\n  <UAObjectType NodeId=\"i=8944\" BrowseName=\"AuditConditionAcknowledgeEventType\">\n    <DisplayName>AuditConditionAcknowledgeEventType</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=17223</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=11853</Reference>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=2790</Reference>\n    </References>\n  </UAObjectType>\n  <UAVariable NodeId=\"i=17223\" BrowseName=\"ConditionEventId\" ParentNodeId=\"i=8944\" DataType=\"ByteString\">\n    <DisplayName>ConditionEventId</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=8944</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=11853\" BrowseName=\"Comment\" ParentNodeId=\"i=8944\" DataType=\"LocalizedText\">\n    <DisplayName>Comment</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=8944</Reference>\n    </References>\n  </UAVariable>\n  <UAObjectType NodeId=\"i=8961\" BrowseName=\"AuditConditionConfirmEventType\">\n    <DisplayName>AuditConditionConfirmEventType</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=17224</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=11854</Reference>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=2790</Reference>\n    </References>\n  </UAObjectType>\n  <UAVariable NodeId=\"i=17224\" BrowseName=\"ConditionEventId\" ParentNodeId=\"i=8961\" DataType=\"ByteString\">\n    <DisplayName>ConditionEventId</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=8961</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=11854\" BrowseName=\"Comment\" ParentNodeId=\"i=8961\" DataType=\"LocalizedText\">\n    <DisplayName>Comment</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=8961</Reference>\n    </References>\n  </UAVariable>\n  <UAObjectType NodeId=\"i=11093\" BrowseName=\"AuditConditionShelvingEventType\">\n    <DisplayName>AuditConditionShelvingEventType</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=11855</Reference>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=2790</Reference>\n    </References>\n  </UAObjectType>\n  <UAVariable NodeId=\"i=11855\" BrowseName=\"ShelvingTime\" ParentNodeId=\"i=11093\" DataType=\"i=290\">\n    <DisplayName>ShelvingTime</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=80</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=11093</Reference>\n    </References>\n  </UAVariable>\n  <UAObjectType NodeId=\"i=17225\" BrowseName=\"AuditConditionSuppressionEventType\">\n    <DisplayName>AuditConditionSuppressionEventType</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=2790</Reference>\n    </References>\n  </UAObjectType>\n  <UAObjectType NodeId=\"i=17242\" BrowseName=\"AuditConditionSilenceEventType\">\n    <DisplayName>AuditConditionSilenceEventType</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=2790</Reference>\n    </References>\n  </UAObjectType>\n  <UAObjectType NodeId=\"i=15013\" BrowseName=\"AuditConditionResetEventType\">\n    <DisplayName>AuditConditionResetEventType</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=2790</Reference>\n    </References>\n  </UAObjectType>\n  <UAObjectType NodeId=\"i=17259\" BrowseName=\"AuditConditionOutOfServiceEventType\">\n    <DisplayName>AuditConditionOutOfServiceEventType</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=2790</Reference>\n    </References>\n  </UAObjectType>\n  <UAObjectType NodeId=\"i=2787\" BrowseName=\"RefreshStartEventType\" IsAbstract=\"true\">\n    <DisplayName>RefreshStartEventType</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=2130</Reference>\n    </References>\n  </UAObjectType>\n  <UAObjectType NodeId=\"i=2788\" BrowseName=\"RefreshEndEventType\" IsAbstract=\"true\">\n    <DisplayName>RefreshEndEventType</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=2130</Reference>\n    </References>\n  </UAObjectType>\n  <UAObjectType NodeId=\"i=2789\" BrowseName=\"RefreshRequiredEventType\" IsAbstract=\"true\">\n    <DisplayName>RefreshRequiredEventType</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=2130</Reference>\n    </References>\n  </UAObjectType>\n  <UAReferenceType NodeId=\"i=9006\" BrowseName=\"HasCondition\">\n    <DisplayName>HasCondition</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=32</Reference>\n    </References>\n    <InverseName>IsConditionOf</InverseName>\n  </UAReferenceType>\n  <UAReferenceType NodeId=\"i=17276\" BrowseName=\"HasEffectDisable\">\n    <DisplayName>HasEffectDisable</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=54</Reference>\n    </References>\n    <InverseName>MayBeDisabledBy</InverseName>\n  </UAReferenceType>\n  <UAReferenceType NodeId=\"i=17983\" BrowseName=\"HasEffectEnable\">\n    <DisplayName>HasEffectEnable</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=54</Reference>\n    </References>\n    <InverseName>MayBeEnabledBy</InverseName>\n  </UAReferenceType>\n  <UAReferenceType NodeId=\"i=17984\" BrowseName=\"HasEffectSuppressed\">\n    <DisplayName>HasEffectSuppressed</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=54</Reference>\n    </References>\n    <InverseName>MayBeSuppressedBy</InverseName>\n  </UAReferenceType>\n  <UAReferenceType NodeId=\"i=17985\" BrowseName=\"HasEffectUnsuppressed\">\n    <DisplayName>HasEffectUnsuppressed</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=54</Reference>\n    </References>\n    <InverseName>MayBeUnsuppressedBy</InverseName>\n  </UAReferenceType>\n  <UAObjectType NodeId=\"i=17279\" BrowseName=\"AlarmMetricsType\">\n    <DisplayName>AlarmMetricsType</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasComponent\">i=17280</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=17991</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=17281</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=17282</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=17284</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=17286</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=17283</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=17288</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=18666</Reference>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=58</Reference>\n    </References>\n  </UAObjectType>\n  <UAVariable NodeId=\"i=17280\" BrowseName=\"AlarmCount\" ParentNodeId=\"i=17279\" DataType=\"UInt32\">\n    <DisplayName>AlarmCount</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=63</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=17279</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=17991\" BrowseName=\"StartTime\" ParentNodeId=\"i=17279\" DataType=\"i=294\">\n    <DisplayName>StartTime</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=63</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=17279</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=17281\" BrowseName=\"MaximumActiveState\" ParentNodeId=\"i=17279\" DataType=\"i=290\">\n    <DisplayName>MaximumActiveState</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=63</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=17279</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=17282\" BrowseName=\"MaximumUnAck\" ParentNodeId=\"i=17279\" DataType=\"i=290\">\n    <DisplayName>MaximumUnAck</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=63</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=17279</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=17284\" BrowseName=\"CurrentAlarmRate\" ParentNodeId=\"i=17279\" DataType=\"Double\">\n    <DisplayName>CurrentAlarmRate</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=17285</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=17277</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=17279</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=17285\" BrowseName=\"Rate\" ParentNodeId=\"i=17284\" DataType=\"UInt16\">\n    <DisplayName>Rate</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=17284</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=17286\" BrowseName=\"MaximumAlarmRate\" ParentNodeId=\"i=17279\" DataType=\"Double\">\n    <DisplayName>MaximumAlarmRate</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=17287</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=17277</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=17279</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=17287\" BrowseName=\"Rate\" ParentNodeId=\"i=17286\" DataType=\"UInt16\">\n    <DisplayName>Rate</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=17286</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=17283\" BrowseName=\"MaximumReAlarmCount\" ParentNodeId=\"i=17279\" DataType=\"UInt32\">\n    <DisplayName>MaximumReAlarmCount</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=63</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=17279</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=17288\" BrowseName=\"AverageAlarmRate\" ParentNodeId=\"i=17279\" DataType=\"Double\">\n    <DisplayName>AverageAlarmRate</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=17289</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=17277</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=17279</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=17289\" BrowseName=\"Rate\" ParentNodeId=\"i=17288\" DataType=\"UInt16\">\n    <DisplayName>Rate</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=17288</Reference>\n    </References>\n  </UAVariable>\n  <UAMethod NodeId=\"i=18666\" BrowseName=\"Reset\" ParentNodeId=\"i=17279\">\n    <DisplayName>Reset</DisplayName>\n    <References>\n      <Reference ReferenceType=\"i=3065\">i=2127</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=17279</Reference>\n    </References>\n  </UAMethod>\n  <UAVariableType NodeId=\"i=17277\" BrowseName=\"AlarmRateVariableType\" DataType=\"Double\">\n    <DisplayName>AlarmRateVariableType</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=17278</Reference>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=63</Reference>\n    </References>\n  </UAVariableType>\n  <UAVariable NodeId=\"i=17278\" BrowseName=\"Rate\" ParentNodeId=\"i=17277\" DataType=\"UInt16\">\n    <DisplayName>Rate</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=17277</Reference>\n    </References>\n  </UAVariable>\n  <UAObjectType NodeId=\"i=2391\" BrowseName=\"ProgramStateMachineType\">\n    <DisplayName>ProgramStateMachineType</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasComponent\">i=3830</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=3835</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=2392</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=2393</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=2394</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=2395</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=2396</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=2397</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=2398</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=2399</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=3850</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=2406</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=2400</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=2402</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=2404</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=2408</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=2410</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=2412</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=2414</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=2416</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=2418</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=2420</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=2422</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=2424</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=2426</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=2427</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=2428</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=2429</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=2430</Reference>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=2771</Reference>\n    </References>\n  </UAObjectType>\n  <UAVariable NodeId=\"i=3830\" BrowseName=\"CurrentState\" ParentNodeId=\"i=2391\" DataType=\"LocalizedText\">\n    <DisplayName>CurrentState</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=3831</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=3833</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=2760</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=2391</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=3831\" BrowseName=\"Id\" ParentNodeId=\"i=3830\" DataType=\"NodeId\">\n    <DisplayName>Id</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=3830</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=3833\" BrowseName=\"Number\" ParentNodeId=\"i=3830\" DataType=\"UInt32\">\n    <DisplayName>Number</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=3830</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=3835\" BrowseName=\"LastTransition\" ParentNodeId=\"i=2391\" DataType=\"LocalizedText\">\n    <DisplayName>LastTransition</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=3836</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=3838</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=3839</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=2767</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=2391</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=3836\" BrowseName=\"Id\" ParentNodeId=\"i=3835\" DataType=\"NodeId\">\n    <DisplayName>Id</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=3835</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=3838\" BrowseName=\"Number\" ParentNodeId=\"i=3835\" DataType=\"UInt32\">\n    <DisplayName>Number</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=3835</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=3839\" BrowseName=\"TransitionTime\" ParentNodeId=\"i=3835\" DataType=\"i=294\">\n    <DisplayName>TransitionTime</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=3835</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=2392\" BrowseName=\"Creatable\" ParentNodeId=\"i=2391\" DataType=\"Boolean\">\n    <DisplayName>Creatable</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=2391</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=2393\" BrowseName=\"Deletable\" ParentNodeId=\"i=2391\" DataType=\"Boolean\">\n    <DisplayName>Deletable</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=2391</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=2394\" BrowseName=\"AutoDelete\" ParentNodeId=\"i=2391\" DataType=\"Boolean\">\n    <DisplayName>AutoDelete</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=2391</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=2395\" BrowseName=\"RecycleCount\" ParentNodeId=\"i=2391\" DataType=\"Int32\">\n    <DisplayName>RecycleCount</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=2391</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=2396\" BrowseName=\"InstanceCount\" ParentNodeId=\"i=2391\" DataType=\"UInt32\">\n    <DisplayName>InstanceCount</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=2391</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=2397\" BrowseName=\"MaxInstanceCount\" ParentNodeId=\"i=2391\" DataType=\"UInt32\">\n    <DisplayName>MaxInstanceCount</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=2391</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=2398\" BrowseName=\"MaxRecycleCount\" ParentNodeId=\"i=2391\" DataType=\"UInt32\">\n    <DisplayName>MaxRecycleCount</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=2391</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=2399\" BrowseName=\"ProgramDiagnostic\" ParentNodeId=\"i=2391\" DataType=\"i=24033\">\n    <DisplayName>ProgramDiagnostic</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasComponent\">i=3840</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=3841</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=3842</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=3843</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=3844</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=3845</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=3846</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=3847</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=15038</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=15040</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=3848</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=3849</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=15383</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=80</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=2391</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=3840\" BrowseName=\"CreateSessionId\" ParentNodeId=\"i=2399\" DataType=\"NodeId\">\n    <DisplayName>CreateSessionId</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=63</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=2399</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=3841\" BrowseName=\"CreateClientName\" ParentNodeId=\"i=2399\" DataType=\"String\">\n    <DisplayName>CreateClientName</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=63</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=2399</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=3842\" BrowseName=\"InvocationCreationTime\" ParentNodeId=\"i=2399\" DataType=\"i=294\">\n    <DisplayName>InvocationCreationTime</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=63</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=2399</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=3843\" BrowseName=\"LastTransitionTime\" ParentNodeId=\"i=2399\" DataType=\"i=294\">\n    <DisplayName>LastTransitionTime</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=2399</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=3844\" BrowseName=\"LastMethodCall\" ParentNodeId=\"i=2399\" DataType=\"String\">\n    <DisplayName>LastMethodCall</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=63</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=2399</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=3845\" BrowseName=\"LastMethodSessionId\" ParentNodeId=\"i=2399\" DataType=\"NodeId\">\n    <DisplayName>LastMethodSessionId</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=63</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=2399</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=3846\" BrowseName=\"LastMethodInputArguments\" ParentNodeId=\"i=2399\" DataType=\"i=296\" ValueRank=\"1\" ArrayDimensions=\"0\">\n    <DisplayName>LastMethodInputArguments</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=63</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=2399</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=3847\" BrowseName=\"LastMethodOutputArguments\" ParentNodeId=\"i=2399\" DataType=\"i=296\" ValueRank=\"1\" ArrayDimensions=\"0\">\n    <DisplayName>LastMethodOutputArguments</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=63</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=2399</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=15038\" BrowseName=\"LastMethodInputValues\" ParentNodeId=\"i=2399\" ValueRank=\"1\" ArrayDimensions=\"0\">\n    <DisplayName>LastMethodInputValues</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=63</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=2399</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=15040\" BrowseName=\"LastMethodOutputValues\" ParentNodeId=\"i=2399\" ValueRank=\"1\" ArrayDimensions=\"0\">\n    <DisplayName>LastMethodOutputValues</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=63</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=2399</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=3848\" BrowseName=\"LastMethodCallTime\" ParentNodeId=\"i=2399\" DataType=\"i=294\">\n    <DisplayName>LastMethodCallTime</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=63</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=2399</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=3849\" BrowseName=\"LastMethodReturnStatus\" ParentNodeId=\"i=2399\" DataType=\"StatusCode\">\n    <DisplayName>LastMethodReturnStatus</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=63</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=2399</Reference>\n    </References>\n  </UAVariable>\n  <UAObject NodeId=\"i=3850\" BrowseName=\"FinalResultData\" ParentNodeId=\"i=2391\">\n    <DisplayName>FinalResultData</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=58</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=80</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=2391</Reference>\n    </References>\n  </UAObject>\n  <UAObject NodeId=\"i=2406\" BrowseName=\"Halted\" ParentNodeId=\"i=2391\">\n    <DisplayName>Halted</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=2407</Reference>\n      <Reference ReferenceType=\"FromState\" IsForward=\"false\">i=2408</Reference>\n      <Reference ReferenceType=\"ToState\" IsForward=\"false\">i=2412</Reference>\n      <Reference ReferenceType=\"ToState\" IsForward=\"false\">i=2420</Reference>\n      <Reference ReferenceType=\"ToState\" IsForward=\"false\">i=2424</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=2307</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=2391</Reference>\n    </References>\n  </UAObject>\n  <UAVariable NodeId=\"i=2407\" BrowseName=\"StateNumber\" ParentNodeId=\"i=2406\" DataType=\"UInt32\">\n    <DisplayName>StateNumber</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=2406</Reference>\n    </References>\n    <Value>\n      <UInt32 xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">11</UInt32>\n    </Value>\n  </UAVariable>\n  <UAObject NodeId=\"i=2400\" BrowseName=\"Ready\" ParentNodeId=\"i=2391\">\n    <DisplayName>Ready</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=2401</Reference>\n      <Reference ReferenceType=\"ToState\" IsForward=\"false\">i=2408</Reference>\n      <Reference ReferenceType=\"FromState\" IsForward=\"false\">i=2410</Reference>\n      <Reference ReferenceType=\"ToState\" IsForward=\"false\">i=2414</Reference>\n      <Reference ReferenceType=\"ToState\" IsForward=\"false\">i=2422</Reference>\n      <Reference ReferenceType=\"FromState\" IsForward=\"false\">i=2424</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=2307</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=2391</Reference>\n    </References>\n  </UAObject>\n  <UAVariable NodeId=\"i=2401\" BrowseName=\"StateNumber\" ParentNodeId=\"i=2400\" DataType=\"UInt32\">\n    <DisplayName>StateNumber</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=2400</Reference>\n    </References>\n    <Value>\n      <UInt32 xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">12</UInt32>\n    </Value>\n  </UAVariable>\n  <UAObject NodeId=\"i=2402\" BrowseName=\"Running\" ParentNodeId=\"i=2391\">\n    <DisplayName>Running</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=2403</Reference>\n      <Reference ReferenceType=\"ToState\" IsForward=\"false\">i=2410</Reference>\n      <Reference ReferenceType=\"FromState\" IsForward=\"false\">i=2412</Reference>\n      <Reference ReferenceType=\"FromState\" IsForward=\"false\">i=2414</Reference>\n      <Reference ReferenceType=\"FromState\" IsForward=\"false\">i=2416</Reference>\n      <Reference ReferenceType=\"ToState\" IsForward=\"false\">i=2418</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=2307</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=2391</Reference>\n    </References>\n  </UAObject>\n  <UAVariable NodeId=\"i=2403\" BrowseName=\"StateNumber\" ParentNodeId=\"i=2402\" DataType=\"UInt32\">\n    <DisplayName>StateNumber</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=2402</Reference>\n    </References>\n    <Value>\n      <UInt32 xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">13</UInt32>\n    </Value>\n  </UAVariable>\n  <UAObject NodeId=\"i=2404\" BrowseName=\"Suspended\" ParentNodeId=\"i=2391\">\n    <DisplayName>Suspended</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=2405</Reference>\n      <Reference ReferenceType=\"ToState\" IsForward=\"false\">i=2416</Reference>\n      <Reference ReferenceType=\"FromState\" IsForward=\"false\">i=2418</Reference>\n      <Reference ReferenceType=\"FromState\" IsForward=\"false\">i=2420</Reference>\n      <Reference ReferenceType=\"FromState\" IsForward=\"false\">i=2422</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=2307</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=2391</Reference>\n    </References>\n  </UAObject>\n  <UAVariable NodeId=\"i=2405\" BrowseName=\"StateNumber\" ParentNodeId=\"i=2404\" DataType=\"UInt32\">\n    <DisplayName>StateNumber</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=2404</Reference>\n    </References>\n    <Value>\n      <UInt32 xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">14</UInt32>\n    </Value>\n  </UAVariable>\n  <UAObject NodeId=\"i=2408\" BrowseName=\"HaltedToReady\" ParentNodeId=\"i=2391\">\n    <DisplayName>HaltedToReady</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=2409</Reference>\n      <Reference ReferenceType=\"FromState\">i=2406</Reference>\n      <Reference ReferenceType=\"ToState\">i=2400</Reference>\n      <Reference ReferenceType=\"HasCause\">i=2430</Reference>\n      <Reference ReferenceType=\"HasEffect\">i=2378</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=2310</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=2391</Reference>\n    </References>\n  </UAObject>\n  <UAVariable NodeId=\"i=2409\" BrowseName=\"TransitionNumber\" ParentNodeId=\"i=2408\" DataType=\"UInt32\">\n    <DisplayName>TransitionNumber</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=2408</Reference>\n    </References>\n    <Value>\n      <UInt32 xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">1</UInt32>\n    </Value>\n  </UAVariable>\n  <UAObject NodeId=\"i=2410\" BrowseName=\"ReadyToRunning\" ParentNodeId=\"i=2391\">\n    <DisplayName>ReadyToRunning</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=2411</Reference>\n      <Reference ReferenceType=\"FromState\">i=2400</Reference>\n      <Reference ReferenceType=\"ToState\">i=2402</Reference>\n      <Reference ReferenceType=\"HasCause\">i=2426</Reference>\n      <Reference ReferenceType=\"HasEffect\">i=2378</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=2310</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=2391</Reference>\n    </References>\n  </UAObject>\n  <UAVariable NodeId=\"i=2411\" BrowseName=\"TransitionNumber\" ParentNodeId=\"i=2410\" DataType=\"UInt32\">\n    <DisplayName>TransitionNumber</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=2410</Reference>\n    </References>\n    <Value>\n      <UInt32 xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">2</UInt32>\n    </Value>\n  </UAVariable>\n  <UAObject NodeId=\"i=2412\" BrowseName=\"RunningToHalted\" ParentNodeId=\"i=2391\">\n    <DisplayName>RunningToHalted</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=2413</Reference>\n      <Reference ReferenceType=\"FromState\">i=2402</Reference>\n      <Reference ReferenceType=\"ToState\">i=2406</Reference>\n      <Reference ReferenceType=\"HasCause\">i=2429</Reference>\n      <Reference ReferenceType=\"HasEffect\">i=2378</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=2310</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=2391</Reference>\n    </References>\n  </UAObject>\n  <UAVariable NodeId=\"i=2413\" BrowseName=\"TransitionNumber\" ParentNodeId=\"i=2412\" DataType=\"UInt32\">\n    <DisplayName>TransitionNumber</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=2412</Reference>\n    </References>\n    <Value>\n      <UInt32 xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">3</UInt32>\n    </Value>\n  </UAVariable>\n  <UAObject NodeId=\"i=2414\" BrowseName=\"RunningToReady\" ParentNodeId=\"i=2391\">\n    <DisplayName>RunningToReady</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=2415</Reference>\n      <Reference ReferenceType=\"FromState\">i=2402</Reference>\n      <Reference ReferenceType=\"ToState\">i=2400</Reference>\n      <Reference ReferenceType=\"HasEffect\">i=2378</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=2310</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=2391</Reference>\n    </References>\n  </UAObject>\n  <UAVariable NodeId=\"i=2415\" BrowseName=\"TransitionNumber\" ParentNodeId=\"i=2414\" DataType=\"UInt32\">\n    <DisplayName>TransitionNumber</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=2414</Reference>\n    </References>\n    <Value>\n      <UInt32 xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">4</UInt32>\n    </Value>\n  </UAVariable>\n  <UAObject NodeId=\"i=2416\" BrowseName=\"RunningToSuspended\" ParentNodeId=\"i=2391\">\n    <DisplayName>RunningToSuspended</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=2417</Reference>\n      <Reference ReferenceType=\"FromState\">i=2402</Reference>\n      <Reference ReferenceType=\"ToState\">i=2404</Reference>\n      <Reference ReferenceType=\"HasCause\">i=2427</Reference>\n      <Reference ReferenceType=\"HasEffect\">i=2378</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=2310</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=2391</Reference>\n    </References>\n  </UAObject>\n  <UAVariable NodeId=\"i=2417\" BrowseName=\"TransitionNumber\" ParentNodeId=\"i=2416\" DataType=\"UInt32\">\n    <DisplayName>TransitionNumber</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=2416</Reference>\n    </References>\n    <Value>\n      <UInt32 xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">5</UInt32>\n    </Value>\n  </UAVariable>\n  <UAObject NodeId=\"i=2418\" BrowseName=\"SuspendedToRunning\" ParentNodeId=\"i=2391\">\n    <DisplayName>SuspendedToRunning</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=2419</Reference>\n      <Reference ReferenceType=\"FromState\">i=2404</Reference>\n      <Reference ReferenceType=\"ToState\">i=2402</Reference>\n      <Reference ReferenceType=\"HasCause\">i=2428</Reference>\n      <Reference ReferenceType=\"HasEffect\">i=2378</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=2310</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=2391</Reference>\n    </References>\n  </UAObject>\n  <UAVariable NodeId=\"i=2419\" BrowseName=\"TransitionNumber\" ParentNodeId=\"i=2418\" DataType=\"UInt32\">\n    <DisplayName>TransitionNumber</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=2418</Reference>\n    </References>\n    <Value>\n      <UInt32 xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">6</UInt32>\n    </Value>\n  </UAVariable>\n  <UAObject NodeId=\"i=2420\" BrowseName=\"SuspendedToHalted\" ParentNodeId=\"i=2391\">\n    <DisplayName>SuspendedToHalted</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=2421</Reference>\n      <Reference ReferenceType=\"FromState\">i=2404</Reference>\n      <Reference ReferenceType=\"ToState\">i=2406</Reference>\n      <Reference ReferenceType=\"HasCause\">i=2429</Reference>\n      <Reference ReferenceType=\"HasEffect\">i=2378</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=2310</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=2391</Reference>\n    </References>\n  </UAObject>\n  <UAVariable NodeId=\"i=2421\" BrowseName=\"TransitionNumber\" ParentNodeId=\"i=2420\" DataType=\"UInt32\">\n    <DisplayName>TransitionNumber</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=2420</Reference>\n    </References>\n    <Value>\n      <UInt32 xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">7</UInt32>\n    </Value>\n  </UAVariable>\n  <UAObject NodeId=\"i=2422\" BrowseName=\"SuspendedToReady\" ParentNodeId=\"i=2391\">\n    <DisplayName>SuspendedToReady</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=2423</Reference>\n      <Reference ReferenceType=\"FromState\">i=2404</Reference>\n      <Reference ReferenceType=\"ToState\">i=2400</Reference>\n      <Reference ReferenceType=\"HasEffect\">i=2378</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=2310</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=2391</Reference>\n    </References>\n  </UAObject>\n  <UAVariable NodeId=\"i=2423\" BrowseName=\"TransitionNumber\" ParentNodeId=\"i=2422\" DataType=\"UInt32\">\n    <DisplayName>TransitionNumber</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=2422</Reference>\n    </References>\n    <Value>\n      <UInt32 xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">8</UInt32>\n    </Value>\n  </UAVariable>\n  <UAObject NodeId=\"i=2424\" BrowseName=\"ReadyToHalted\" ParentNodeId=\"i=2391\">\n    <DisplayName>ReadyToHalted</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=2425</Reference>\n      <Reference ReferenceType=\"FromState\">i=2400</Reference>\n      <Reference ReferenceType=\"ToState\">i=2406</Reference>\n      <Reference ReferenceType=\"HasCause\">i=2429</Reference>\n      <Reference ReferenceType=\"HasEffect\">i=2378</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=2310</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=2391</Reference>\n    </References>\n  </UAObject>\n  <UAVariable NodeId=\"i=2425\" BrowseName=\"TransitionNumber\" ParentNodeId=\"i=2424\" DataType=\"UInt32\">\n    <DisplayName>TransitionNumber</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=2424</Reference>\n    </References>\n    <Value>\n      <UInt32 xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">9</UInt32>\n    </Value>\n  </UAVariable>\n  <UAMethod NodeId=\"i=2426\" BrowseName=\"Start\" ParentNodeId=\"i=2391\">\n    <DisplayName>Start</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasCause\" IsForward=\"false\">i=2410</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=11508</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=2391</Reference>\n    </References>\n  </UAMethod>\n  <UAMethod NodeId=\"i=2427\" BrowseName=\"Suspend\" ParentNodeId=\"i=2391\">\n    <DisplayName>Suspend</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasCause\" IsForward=\"false\">i=2416</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=11508</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=2391</Reference>\n    </References>\n  </UAMethod>\n  <UAMethod NodeId=\"i=2428\" BrowseName=\"Resume\" ParentNodeId=\"i=2391\">\n    <DisplayName>Resume</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasCause\" IsForward=\"false\">i=2418</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=11508</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=2391</Reference>\n    </References>\n  </UAMethod>\n  <UAMethod NodeId=\"i=2429\" BrowseName=\"Halt\" ParentNodeId=\"i=2391\">\n    <DisplayName>Halt</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasCause\" IsForward=\"false\">i=2412</Reference>\n      <Reference ReferenceType=\"HasCause\" IsForward=\"false\">i=2420</Reference>\n      <Reference ReferenceType=\"HasCause\" IsForward=\"false\">i=2424</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=11508</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=2391</Reference>\n    </References>\n  </UAMethod>\n  <UAMethod NodeId=\"i=2430\" BrowseName=\"Reset\" ParentNodeId=\"i=2391\">\n    <DisplayName>Reset</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasCause\" IsForward=\"false\">i=2408</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=11508</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=2391</Reference>\n    </References>\n  </UAMethod>\n  <UAObjectType NodeId=\"i=2378\" BrowseName=\"ProgramTransitionEventType\" IsAbstract=\"true\">\n    <DisplayName>ProgramTransitionEventType</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasComponent\">i=2379</Reference>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=2311</Reference>\n    </References>\n  </UAObjectType>\n  <UAVariable NodeId=\"i=2379\" BrowseName=\"IntermediateResult\" ParentNodeId=\"i=2378\">\n    <DisplayName>IntermediateResult</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=63</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=2378</Reference>\n    </References>\n  </UAVariable>\n  <UAObjectType NodeId=\"i=11856\" BrowseName=\"AuditProgramTransitionEventType\" IsAbstract=\"true\">\n    <DisplayName>AuditProgramTransitionEventType</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=11875</Reference>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=2315</Reference>\n    </References>\n  </UAObjectType>\n  <UAVariable NodeId=\"i=11875\" BrowseName=\"TransitionNumber\" ParentNodeId=\"i=11856\" DataType=\"UInt32\">\n    <DisplayName>TransitionNumber</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=11856</Reference>\n    </References>\n  </UAVariable>\n  <UAObjectType NodeId=\"i=3806\" BrowseName=\"ProgramTransitionAuditEventType\">\n    <DisplayName>ProgramTransitionAuditEventType</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasComponent\">i=3825</Reference>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=2315</Reference>\n    </References>\n  </UAObjectType>\n  <UAVariable NodeId=\"i=3825\" BrowseName=\"Transition\" ParentNodeId=\"i=3806\" DataType=\"LocalizedText\">\n    <DisplayName>Transition</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=3826</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=2767</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=3806</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=3826\" BrowseName=\"Id\" ParentNodeId=\"i=3825\" DataType=\"NodeId\">\n    <DisplayName>Id</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=3825</Reference>\n    </References>\n  </UAVariable>\n  <UAVariableType NodeId=\"i=2380\" BrowseName=\"ProgramDiagnosticType\" DataType=\"i=894\">\n    <DisplayName>ProgramDiagnosticType</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=2381</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=2382</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=2383</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=2384</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=2385</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=2386</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=2387</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=2388</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=2389</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=2390</Reference>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=63</Reference>\n    </References>\n  </UAVariableType>\n  <UAVariable NodeId=\"i=2381\" BrowseName=\"CreateSessionId\" ParentNodeId=\"i=2380\" DataType=\"NodeId\">\n    <DisplayName>CreateSessionId</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=2380</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=2382\" BrowseName=\"CreateClientName\" ParentNodeId=\"i=2380\" DataType=\"String\">\n    <DisplayName>CreateClientName</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=2380</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=2383\" BrowseName=\"InvocationCreationTime\" ParentNodeId=\"i=2380\" DataType=\"i=294\">\n    <DisplayName>InvocationCreationTime</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=2380</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=2384\" BrowseName=\"LastTransitionTime\" ParentNodeId=\"i=2380\" DataType=\"i=294\">\n    <DisplayName>LastTransitionTime</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=2380</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=2385\" BrowseName=\"LastMethodCall\" ParentNodeId=\"i=2380\" DataType=\"String\">\n    <DisplayName>LastMethodCall</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=2380</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=2386\" BrowseName=\"LastMethodSessionId\" ParentNodeId=\"i=2380\" DataType=\"NodeId\">\n    <DisplayName>LastMethodSessionId</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=2380</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=2387\" BrowseName=\"LastMethodInputArguments\" ParentNodeId=\"i=2380\" ValueRank=\"1\" ArrayDimensions=\"0\">\n    <DisplayName>LastMethodInputArguments</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=2380</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=2388\" BrowseName=\"LastMethodOutputArguments\" ParentNodeId=\"i=2380\" ValueRank=\"1\" ArrayDimensions=\"0\">\n    <DisplayName>LastMethodOutputArguments</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=2380</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=2389\" BrowseName=\"LastMethodCallTime\" ParentNodeId=\"i=2380\" DataType=\"i=294\">\n    <DisplayName>LastMethodCallTime</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=2380</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=2390\" BrowseName=\"LastMethodReturnStatus\" ParentNodeId=\"i=2380\" DataType=\"i=299\">\n    <DisplayName>LastMethodReturnStatus</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=2380</Reference>\n    </References>\n  </UAVariable>\n  <UAVariableType NodeId=\"i=15383\" BrowseName=\"ProgramDiagnostic2Type\" DataType=\"i=24033\">\n    <DisplayName>ProgramDiagnostic2Type</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasComponent\">i=15384</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=15385</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=15386</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=15387</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=15388</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=15389</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=15390</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=15391</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=15392</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=15393</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=15394</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=15395</Reference>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=63</Reference>\n    </References>\n  </UAVariableType>\n  <UAVariable NodeId=\"i=15384\" BrowseName=\"CreateSessionId\" ParentNodeId=\"i=15383\" DataType=\"NodeId\">\n    <DisplayName>CreateSessionId</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=63</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=15383</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=15385\" BrowseName=\"CreateClientName\" ParentNodeId=\"i=15383\" DataType=\"String\">\n    <DisplayName>CreateClientName</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=63</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=15383</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=15386\" BrowseName=\"InvocationCreationTime\" ParentNodeId=\"i=15383\" DataType=\"i=294\">\n    <DisplayName>InvocationCreationTime</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=63</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=15383</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=15387\" BrowseName=\"LastTransitionTime\" ParentNodeId=\"i=15383\" DataType=\"i=294\">\n    <DisplayName>LastTransitionTime</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=15383</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=15388\" BrowseName=\"LastMethodCall\" ParentNodeId=\"i=15383\" DataType=\"String\">\n    <DisplayName>LastMethodCall</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=63</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=15383</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=15389\" BrowseName=\"LastMethodSessionId\" ParentNodeId=\"i=15383\" DataType=\"NodeId\">\n    <DisplayName>LastMethodSessionId</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=63</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=15383</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=15390\" BrowseName=\"LastMethodInputArguments\" ParentNodeId=\"i=15383\" DataType=\"i=296\" ValueRank=\"1\" ArrayDimensions=\"0\">\n    <DisplayName>LastMethodInputArguments</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=63</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=15383</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=15391\" BrowseName=\"LastMethodOutputArguments\" ParentNodeId=\"i=15383\" DataType=\"i=296\" ValueRank=\"1\" ArrayDimensions=\"0\">\n    <DisplayName>LastMethodOutputArguments</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=63</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=15383</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=15392\" BrowseName=\"LastMethodInputValues\" ParentNodeId=\"i=15383\" ValueRank=\"1\" ArrayDimensions=\"0\">\n    <DisplayName>LastMethodInputValues</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=63</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=15383</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=15393\" BrowseName=\"LastMethodOutputValues\" ParentNodeId=\"i=15383\" ValueRank=\"1\" ArrayDimensions=\"0\">\n    <DisplayName>LastMethodOutputValues</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=63</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=15383</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=15394\" BrowseName=\"LastMethodCallTime\" ParentNodeId=\"i=15383\" DataType=\"i=294\">\n    <DisplayName>LastMethodCallTime</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=63</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=15383</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=15395\" BrowseName=\"LastMethodReturnStatus\" ParentNodeId=\"i=15383\" DataType=\"StatusCode\">\n    <DisplayName>LastMethodReturnStatus</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=63</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=15383</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=11214\" BrowseName=\"Annotations\" DataType=\"i=891\" ValueRank=\"-2\">\n    <DisplayName>Annotations</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n    </References>\n  </UAVariable>\n  <UAObjectType NodeId=\"i=2318\" BrowseName=\"HistoricalDataConfigurationType\">\n    <DisplayName>HistoricalDataConfigurationType</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasComponent\">i=3059</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=11876</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=2323</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=2324</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=2325</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=2326</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=2327</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=2328</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=11499</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=11500</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=19092</Reference>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=58</Reference>\n    </References>\n  </UAObjectType>\n  <UAObject NodeId=\"i=3059\" BrowseName=\"AggregateConfiguration\" ParentNodeId=\"i=2318\">\n    <DisplayName>AggregateConfiguration</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=11168</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=11169</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=11170</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=11171</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=11187</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=2318</Reference>\n    </References>\n  </UAObject>\n  <UAVariable NodeId=\"i=11168\" BrowseName=\"TreatUncertainAsBad\" ParentNodeId=\"i=3059\" DataType=\"Boolean\">\n    <DisplayName>TreatUncertainAsBad</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=3059</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=11169\" BrowseName=\"PercentDataBad\" ParentNodeId=\"i=3059\" DataType=\"Byte\">\n    <DisplayName>PercentDataBad</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=3059</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=11170\" BrowseName=\"PercentDataGood\" ParentNodeId=\"i=3059\" DataType=\"Byte\">\n    <DisplayName>PercentDataGood</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=3059</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=11171\" BrowseName=\"UseSlopedExtrapolation\" ParentNodeId=\"i=3059\" DataType=\"Boolean\">\n    <DisplayName>UseSlopedExtrapolation</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=3059</Reference>\n    </References>\n  </UAVariable>\n  <UAObject NodeId=\"i=11876\" BrowseName=\"AggregateFunctions\" ParentNodeId=\"i=2318\">\n    <DisplayName>AggregateFunctions</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=61</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=80</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=2318</Reference>\n    </References>\n  </UAObject>\n  <UAVariable NodeId=\"i=2323\" BrowseName=\"Stepped\" ParentNodeId=\"i=2318\" DataType=\"Boolean\">\n    <DisplayName>Stepped</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=2318</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=2324\" BrowseName=\"Definition\" ParentNodeId=\"i=2318\" DataType=\"String\">\n    <DisplayName>Definition</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=80</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=2318</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=2325\" BrowseName=\"MaxTimeInterval\" ParentNodeId=\"i=2318\" DataType=\"i=290\">\n    <DisplayName>MaxTimeInterval</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=80</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=2318</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=2326\" BrowseName=\"MinTimeInterval\" ParentNodeId=\"i=2318\" DataType=\"i=290\">\n    <DisplayName>MinTimeInterval</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=80</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=2318</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=2327\" BrowseName=\"ExceptionDeviation\" ParentNodeId=\"i=2318\" DataType=\"Double\">\n    <DisplayName>ExceptionDeviation</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=80</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=2318</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=2328\" BrowseName=\"ExceptionDeviationFormat\" ParentNodeId=\"i=2318\" DataType=\"i=890\">\n    <DisplayName>ExceptionDeviationFormat</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=80</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=2318</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=11499\" BrowseName=\"StartOfArchive\" ParentNodeId=\"i=2318\" DataType=\"i=294\">\n    <DisplayName>StartOfArchive</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=80</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=2318</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=11500\" BrowseName=\"StartOfOnlineArchive\" ParentNodeId=\"i=2318\" DataType=\"i=294\">\n    <DisplayName>StartOfOnlineArchive</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=80</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=2318</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=19092\" BrowseName=\"ServerTimestampSupported\" ParentNodeId=\"i=2318\" DataType=\"Boolean\">\n    <DisplayName>ServerTimestampSupported</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=80</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=2318</Reference>\n    </References>\n  </UAVariable>\n  <UAObject NodeId=\"i=11202\" BrowseName=\"HA Configuration\" SymbolicName=\"HAConfiguration\">\n    <DisplayName>HA Configuration</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasComponent\">i=11203</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=11208</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=2318</Reference>\n    </References>\n  </UAObject>\n  <UAObject NodeId=\"i=11203\" BrowseName=\"AggregateConfiguration\" ParentNodeId=\"i=11202\">\n    <DisplayName>AggregateConfiguration</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=11204</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=11205</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=11206</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=11207</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=11187</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=11202</Reference>\n    </References>\n  </UAObject>\n  <UAVariable NodeId=\"i=11204\" BrowseName=\"TreatUncertainAsBad\" ParentNodeId=\"i=11203\" DataType=\"Boolean\">\n    <DisplayName>TreatUncertainAsBad</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=11203</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=11205\" BrowseName=\"PercentDataBad\" ParentNodeId=\"i=11203\" DataType=\"Byte\">\n    <DisplayName>PercentDataBad</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=11203</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=11206\" BrowseName=\"PercentDataGood\" ParentNodeId=\"i=11203\" DataType=\"Byte\">\n    <DisplayName>PercentDataGood</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=11203</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=11207\" BrowseName=\"UseSlopedExtrapolation\" ParentNodeId=\"i=11203\" DataType=\"Boolean\">\n    <DisplayName>UseSlopedExtrapolation</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=11203</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=11208\" BrowseName=\"Stepped\" ParentNodeId=\"i=11202\" DataType=\"Boolean\">\n    <DisplayName>Stepped</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=11202</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=11215\" BrowseName=\"HistoricalEventFilter\" DataType=\"i=725\" ValueRank=\"-2\">\n    <DisplayName>HistoricalEventFilter</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n    </References>\n  </UAVariable>\n  <UAObjectType NodeId=\"i=2330\" BrowseName=\"HistoryServerCapabilitiesType\">\n    <DisplayName>HistoryServerCapabilitiesType</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=2331</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=2332</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=11268</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=11269</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=2334</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=2335</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=2336</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=2337</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=2338</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=11278</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=11279</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=11280</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=11501</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=11270</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=11172</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=19094</Reference>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=58</Reference>\n    </References>\n  </UAObjectType>\n  <UAVariable NodeId=\"i=2331\" BrowseName=\"AccessHistoryDataCapability\" ParentNodeId=\"i=2330\" DataType=\"Boolean\">\n    <DisplayName>AccessHistoryDataCapability</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=2330</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=2332\" BrowseName=\"AccessHistoryEventsCapability\" ParentNodeId=\"i=2330\" DataType=\"Boolean\">\n    <DisplayName>AccessHistoryEventsCapability</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=2330</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=11268\" BrowseName=\"MaxReturnDataValues\" ParentNodeId=\"i=2330\" DataType=\"UInt32\">\n    <DisplayName>MaxReturnDataValues</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=2330</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=11269\" BrowseName=\"MaxReturnEventValues\" ParentNodeId=\"i=2330\" DataType=\"UInt32\">\n    <DisplayName>MaxReturnEventValues</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=2330</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=2334\" BrowseName=\"InsertDataCapability\" ParentNodeId=\"i=2330\" DataType=\"Boolean\">\n    <DisplayName>InsertDataCapability</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=2330</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=2335\" BrowseName=\"ReplaceDataCapability\" ParentNodeId=\"i=2330\" DataType=\"Boolean\">\n    <DisplayName>ReplaceDataCapability</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=2330</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=2336\" BrowseName=\"UpdateDataCapability\" ParentNodeId=\"i=2330\" DataType=\"Boolean\">\n    <DisplayName>UpdateDataCapability</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=2330</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=2337\" BrowseName=\"DeleteRawCapability\" ParentNodeId=\"i=2330\" DataType=\"Boolean\">\n    <DisplayName>DeleteRawCapability</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=2330</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=2338\" BrowseName=\"DeleteAtTimeCapability\" ParentNodeId=\"i=2330\" DataType=\"Boolean\">\n    <DisplayName>DeleteAtTimeCapability</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=2330</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=11278\" BrowseName=\"InsertEventCapability\" ParentNodeId=\"i=2330\" DataType=\"Boolean\">\n    <DisplayName>InsertEventCapability</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=2330</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=11279\" BrowseName=\"ReplaceEventCapability\" ParentNodeId=\"i=2330\" DataType=\"Boolean\">\n    <DisplayName>ReplaceEventCapability</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=2330</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=11280\" BrowseName=\"UpdateEventCapability\" ParentNodeId=\"i=2330\" DataType=\"Boolean\">\n    <DisplayName>UpdateEventCapability</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=2330</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=11501\" BrowseName=\"DeleteEventCapability\" ParentNodeId=\"i=2330\" DataType=\"Boolean\">\n    <DisplayName>DeleteEventCapability</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=2330</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=11270\" BrowseName=\"InsertAnnotationCapability\" ParentNodeId=\"i=2330\" DataType=\"Boolean\">\n    <DisplayName>InsertAnnotationCapability</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=2330</Reference>\n    </References>\n  </UAVariable>\n  <UAObject NodeId=\"i=11172\" BrowseName=\"AggregateFunctions\" ParentNodeId=\"i=2330\">\n    <DisplayName>AggregateFunctions</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=61</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=2330</Reference>\n    </References>\n  </UAObject>\n  <UAVariable NodeId=\"i=19094\" BrowseName=\"ServerTimestampSupported\" ParentNodeId=\"i=2330\" DataType=\"Boolean\">\n    <DisplayName>ServerTimestampSupported</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=2330</Reference>\n    </References>\n  </UAVariable>\n  <UAObjectType NodeId=\"i=2999\" BrowseName=\"AuditHistoryEventUpdateEventType\" IsAbstract=\"true\">\n    <DisplayName>AuditHistoryEventUpdateEventType</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=3025</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=3028</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=3003</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=3029</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=3030</Reference>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=2104</Reference>\n    </References>\n  </UAObjectType>\n  <UAVariable NodeId=\"i=3025\" BrowseName=\"UpdatedNode\" ParentNodeId=\"i=2999\" DataType=\"NodeId\">\n    <DisplayName>UpdatedNode</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=2999</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=3028\" BrowseName=\"PerformInsertReplace\" ParentNodeId=\"i=2999\" DataType=\"i=11293\">\n    <DisplayName>PerformInsertReplace</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=2999</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=3003\" BrowseName=\"Filter\" ParentNodeId=\"i=2999\" DataType=\"i=725\">\n    <DisplayName>Filter</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=2999</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=3029\" BrowseName=\"NewValues\" ParentNodeId=\"i=2999\" DataType=\"i=920\" ValueRank=\"1\" ArrayDimensions=\"0\">\n    <DisplayName>NewValues</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=2999</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=3030\" BrowseName=\"OldValues\" ParentNodeId=\"i=2999\" DataType=\"i=920\" ValueRank=\"1\" ArrayDimensions=\"0\">\n    <DisplayName>OldValues</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=2999</Reference>\n    </References>\n  </UAVariable>\n  <UAObjectType NodeId=\"i=3006\" BrowseName=\"AuditHistoryValueUpdateEventType\" IsAbstract=\"true\">\n    <DisplayName>AuditHistoryValueUpdateEventType</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=3026</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=3031</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=3032</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=3033</Reference>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=2104</Reference>\n    </References>\n  </UAObjectType>\n  <UAVariable NodeId=\"i=3026\" BrowseName=\"UpdatedNode\" ParentNodeId=\"i=3006\" DataType=\"NodeId\">\n    <DisplayName>UpdatedNode</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=3006</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=3031\" BrowseName=\"PerformInsertReplace\" ParentNodeId=\"i=3006\" DataType=\"i=11293\">\n    <DisplayName>PerformInsertReplace</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=3006</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=3032\" BrowseName=\"NewValues\" ParentNodeId=\"i=3006\" DataType=\"i=23\" ValueRank=\"1\" ArrayDimensions=\"0\">\n    <DisplayName>NewValues</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=3006</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=3033\" BrowseName=\"OldValues\" ParentNodeId=\"i=3006\" DataType=\"i=23\" ValueRank=\"1\" ArrayDimensions=\"0\">\n    <DisplayName>OldValues</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=3006</Reference>\n    </References>\n  </UAVariable>\n  <UAObjectType NodeId=\"i=19095\" BrowseName=\"AuditHistoryAnnotationUpdateEventType\" IsAbstract=\"true\">\n    <DisplayName>AuditHistoryAnnotationUpdateEventType</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=19293</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=19294</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=19295</Reference>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=2104</Reference>\n    </References>\n  </UAObjectType>\n  <UAVariable NodeId=\"i=19293\" BrowseName=\"PerformInsertReplace\" ParentNodeId=\"i=19095\" DataType=\"i=11293\">\n    <DisplayName>PerformInsertReplace</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=19095</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=19294\" BrowseName=\"NewValues\" ParentNodeId=\"i=19095\" DataType=\"i=23\" ValueRank=\"1\" ArrayDimensions=\"0\">\n    <DisplayName>NewValues</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=19095</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=19295\" BrowseName=\"OldValues\" ParentNodeId=\"i=19095\" DataType=\"i=23\" ValueRank=\"1\" ArrayDimensions=\"0\">\n    <DisplayName>OldValues</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=19095</Reference>\n    </References>\n  </UAVariable>\n  <UAObjectType NodeId=\"i=3012\" BrowseName=\"AuditHistoryDeleteEventType\" IsAbstract=\"true\">\n    <DisplayName>AuditHistoryDeleteEventType</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=3027</Reference>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=2104</Reference>\n    </References>\n  </UAObjectType>\n  <UAVariable NodeId=\"i=3027\" BrowseName=\"UpdatedNode\" ParentNodeId=\"i=3012\" DataType=\"NodeId\">\n    <DisplayName>UpdatedNode</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=3012</Reference>\n    </References>\n  </UAVariable>\n  <UAObjectType NodeId=\"i=3014\" BrowseName=\"AuditHistoryRawModifyDeleteEventType\" IsAbstract=\"true\">\n    <DisplayName>AuditHistoryRawModifyDeleteEventType</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=3015</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=3016</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=3017</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=3034</Reference>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=3012</Reference>\n    </References>\n  </UAObjectType>\n  <UAVariable NodeId=\"i=3015\" BrowseName=\"IsDeleteModified\" ParentNodeId=\"i=3014\" DataType=\"Boolean\">\n    <DisplayName>IsDeleteModified</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=3014</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=3016\" BrowseName=\"StartTime\" ParentNodeId=\"i=3014\" DataType=\"i=294\">\n    <DisplayName>StartTime</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=3014</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=3017\" BrowseName=\"EndTime\" ParentNodeId=\"i=3014\" DataType=\"i=294\">\n    <DisplayName>EndTime</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=3014</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=3034\" BrowseName=\"OldValues\" ParentNodeId=\"i=3014\" DataType=\"i=23\" ValueRank=\"1\" ArrayDimensions=\"0\">\n    <DisplayName>OldValues</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=3014</Reference>\n    </References>\n  </UAVariable>\n  <UAObjectType NodeId=\"i=3019\" BrowseName=\"AuditHistoryAtTimeDeleteEventType\" IsAbstract=\"true\">\n    <DisplayName>AuditHistoryAtTimeDeleteEventType</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=3020</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=3021</Reference>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=3012</Reference>\n    </References>\n  </UAObjectType>\n  <UAVariable NodeId=\"i=3020\" BrowseName=\"ReqTimes\" ParentNodeId=\"i=3019\" DataType=\"i=294\" ValueRank=\"1\" ArrayDimensions=\"0\">\n    <DisplayName>ReqTimes</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=3019</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=3021\" BrowseName=\"OldValues\" ParentNodeId=\"i=3019\" DataType=\"i=23\" ValueRank=\"1\" ArrayDimensions=\"0\">\n    <DisplayName>OldValues</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=3019</Reference>\n    </References>\n  </UAVariable>\n  <UAObjectType NodeId=\"i=3022\" BrowseName=\"AuditHistoryEventDeleteEventType\" IsAbstract=\"true\">\n    <DisplayName>AuditHistoryEventDeleteEventType</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=3023</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=3024</Reference>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=3012</Reference>\n    </References>\n  </UAObjectType>\n  <UAVariable NodeId=\"i=3023\" BrowseName=\"EventIds\" ParentNodeId=\"i=3022\" DataType=\"ByteString\" ValueRank=\"1\" ArrayDimensions=\"0\">\n    <DisplayName>EventIds</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=3022</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=3024\" BrowseName=\"OldValues\" ParentNodeId=\"i=3022\" DataType=\"i=920\">\n    <DisplayName>OldValues</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=3022</Reference>\n    </References>\n  </UAVariable>\n  <UAObjectType NodeId=\"i=12522\" BrowseName=\"TrustListType\">\n    <DisplayName>TrustListType</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=12542</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=19296</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=12543</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=12546</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=12548</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=12550</Reference>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=11575</Reference>\n    </References>\n  </UAObjectType>\n  <UAVariable NodeId=\"i=12542\" BrowseName=\"LastUpdateTime\" ParentNodeId=\"i=12522\" DataType=\"i=294\">\n    <DisplayName>LastUpdateTime</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=12522</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=19296\" BrowseName=\"UpdateFrequency\" ParentNodeId=\"i=12522\" DataType=\"i=290\">\n    <DisplayName>UpdateFrequency</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=80</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=12522</Reference>\n    </References>\n  </UAVariable>\n  <UAMethod NodeId=\"i=12543\" BrowseName=\"OpenWithMasks\" ParentNodeId=\"i=12522\">\n    <DisplayName>OpenWithMasks</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=12544</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=12545</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=12522</Reference>\n    </References>\n  </UAMethod>\n  <UAVariable NodeId=\"i=12544\" BrowseName=\"InputArguments\" ParentNodeId=\"i=12543\" DataType=\"i=296\" ValueRank=\"1\" ArrayDimensions=\"0\">\n    <DisplayName>InputArguments</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=12543</Reference>\n    </References>\n    <Value>\n      <ListOfExtensionObject xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=297</Identifier>\n          </TypeId>\n          <Body>\n            <Argument>\n              <Name>Masks</Name>\n              <DataType>\n                <Identifier>i=7</Identifier>\n              </DataType>\n              <ValueRank>-1</ValueRank>\n              <ArrayDimensions />\n            </Argument>\n          </Body>\n        </ExtensionObject>\n      </ListOfExtensionObject>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"i=12545\" BrowseName=\"OutputArguments\" ParentNodeId=\"i=12543\" DataType=\"i=296\" ValueRank=\"1\" ArrayDimensions=\"0\">\n    <DisplayName>OutputArguments</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=12543</Reference>\n    </References>\n    <Value>\n      <ListOfExtensionObject xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=297</Identifier>\n          </TypeId>\n          <Body>\n            <Argument>\n              <Name>FileHandle</Name>\n              <DataType>\n                <Identifier>i=7</Identifier>\n              </DataType>\n              <ValueRank>-1</ValueRank>\n              <ArrayDimensions />\n            </Argument>\n          </Body>\n        </ExtensionObject>\n      </ListOfExtensionObject>\n    </Value>\n  </UAVariable>\n  <UAMethod NodeId=\"i=12546\" BrowseName=\"CloseAndUpdate\" ParentNodeId=\"i=12522\">\n    <DisplayName>CloseAndUpdate</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=12705</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=12547</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=80</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=12522</Reference>\n    </References>\n  </UAMethod>\n  <UAVariable NodeId=\"i=12705\" BrowseName=\"InputArguments\" ParentNodeId=\"i=12546\" DataType=\"i=296\" ValueRank=\"1\" ArrayDimensions=\"0\">\n    <DisplayName>InputArguments</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=12546</Reference>\n    </References>\n    <Value>\n      <ListOfExtensionObject xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=297</Identifier>\n          </TypeId>\n          <Body>\n            <Argument>\n              <Name>FileHandle</Name>\n              <DataType>\n                <Identifier>i=7</Identifier>\n              </DataType>\n              <ValueRank>-1</ValueRank>\n              <ArrayDimensions />\n            </Argument>\n          </Body>\n        </ExtensionObject>\n      </ListOfExtensionObject>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"i=12547\" BrowseName=\"OutputArguments\" ParentNodeId=\"i=12546\" DataType=\"i=296\" ValueRank=\"1\" ArrayDimensions=\"0\">\n    <DisplayName>OutputArguments</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=12546</Reference>\n    </References>\n    <Value>\n      <ListOfExtensionObject xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=297</Identifier>\n          </TypeId>\n          <Body>\n            <Argument>\n              <Name>ApplyChangesRequired</Name>\n              <DataType>\n                <Identifier>i=1</Identifier>\n              </DataType>\n              <ValueRank>-1</ValueRank>\n              <ArrayDimensions />\n            </Argument>\n          </Body>\n        </ExtensionObject>\n      </ListOfExtensionObject>\n    </Value>\n  </UAVariable>\n  <UAMethod NodeId=\"i=12548\" BrowseName=\"AddCertificate\" ParentNodeId=\"i=12522\">\n    <DisplayName>AddCertificate</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=12549</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=80</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=12522</Reference>\n    </References>\n  </UAMethod>\n  <UAVariable NodeId=\"i=12549\" BrowseName=\"InputArguments\" ParentNodeId=\"i=12548\" DataType=\"i=296\" ValueRank=\"1\" ArrayDimensions=\"0\">\n    <DisplayName>InputArguments</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=12548</Reference>\n    </References>\n    <Value>\n      <ListOfExtensionObject xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=297</Identifier>\n          </TypeId>\n          <Body>\n            <Argument>\n              <Name>Certificate</Name>\n              <DataType>\n                <Identifier>i=15</Identifier>\n              </DataType>\n              <ValueRank>-1</ValueRank>\n              <ArrayDimensions />\n            </Argument>\n          </Body>\n        </ExtensionObject>\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=297</Identifier>\n          </TypeId>\n          <Body>\n            <Argument>\n              <Name>IsTrustedCertificate</Name>\n              <DataType>\n                <Identifier>i=1</Identifier>\n              </DataType>\n              <ValueRank>-1</ValueRank>\n              <ArrayDimensions />\n            </Argument>\n          </Body>\n        </ExtensionObject>\n      </ListOfExtensionObject>\n    </Value>\n  </UAVariable>\n  <UAMethod NodeId=\"i=12550\" BrowseName=\"RemoveCertificate\" ParentNodeId=\"i=12522\">\n    <DisplayName>RemoveCertificate</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=12551</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=80</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=12522</Reference>\n    </References>\n  </UAMethod>\n  <UAVariable NodeId=\"i=12551\" BrowseName=\"InputArguments\" ParentNodeId=\"i=12550\" DataType=\"i=296\" ValueRank=\"1\" ArrayDimensions=\"0\">\n    <DisplayName>InputArguments</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=12550</Reference>\n    </References>\n    <Value>\n      <ListOfExtensionObject xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=297</Identifier>\n          </TypeId>\n          <Body>\n            <Argument>\n              <Name>Thumbprint</Name>\n              <DataType>\n                <Identifier>i=12</Identifier>\n              </DataType>\n              <ValueRank>-1</ValueRank>\n              <ArrayDimensions />\n            </Argument>\n          </Body>\n        </ExtensionObject>\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=297</Identifier>\n          </TypeId>\n          <Body>\n            <Argument>\n              <Name>IsTrustedCertificate</Name>\n              <DataType>\n                <Identifier>i=1</Identifier>\n              </DataType>\n              <ValueRank>-1</ValueRank>\n              <ArrayDimensions />\n            </Argument>\n          </Body>\n        </ExtensionObject>\n      </ListOfExtensionObject>\n    </Value>\n  </UAVariable>\n  <UADataType NodeId=\"i=12552\" BrowseName=\"TrustListMasks\">\n    <DisplayName>TrustListMasks</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=12553</Reference>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=29</Reference>\n    </References>\n    <Definition Name=\"TrustListMasks\">\n      <Field Name=\"None\" Value=\"0\" />\n      <Field Name=\"TrustedCertificates\" Value=\"1\" />\n      <Field Name=\"TrustedCrls\" Value=\"2\" />\n      <Field Name=\"IssuerCertificates\" Value=\"4\" />\n      <Field Name=\"IssuerCrls\" Value=\"8\" />\n      <Field Name=\"All\" Value=\"15\" />\n    </Definition>\n  </UADataType>\n  <UAVariable NodeId=\"i=12553\" BrowseName=\"EnumValues\" ParentNodeId=\"i=12552\" DataType=\"i=7594\" ValueRank=\"1\" ArrayDimensions=\"0\">\n    <DisplayName>EnumValues</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=12552</Reference>\n    </References>\n    <Value>\n      <ListOfExtensionObject xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=7616</Identifier>\n          </TypeId>\n          <Body>\n            <EnumValueType>\n              <Value>0</Value>\n              <DisplayName>\n                <Text>None</Text>\n              </DisplayName>\n            </EnumValueType>\n          </Body>\n        </ExtensionObject>\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=7616</Identifier>\n          </TypeId>\n          <Body>\n            <EnumValueType>\n              <Value>1</Value>\n              <DisplayName>\n                <Text>TrustedCertificates</Text>\n              </DisplayName>\n            </EnumValueType>\n          </Body>\n        </ExtensionObject>\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=7616</Identifier>\n          </TypeId>\n          <Body>\n            <EnumValueType>\n              <Value>2</Value>\n              <DisplayName>\n                <Text>TrustedCrls</Text>\n              </DisplayName>\n            </EnumValueType>\n          </Body>\n        </ExtensionObject>\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=7616</Identifier>\n          </TypeId>\n          <Body>\n            <EnumValueType>\n              <Value>4</Value>\n              <DisplayName>\n                <Text>IssuerCertificates</Text>\n              </DisplayName>\n            </EnumValueType>\n          </Body>\n        </ExtensionObject>\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=7616</Identifier>\n          </TypeId>\n          <Body>\n            <EnumValueType>\n              <Value>8</Value>\n              <DisplayName>\n                <Text>IssuerCrls</Text>\n              </DisplayName>\n            </EnumValueType>\n          </Body>\n        </ExtensionObject>\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=7616</Identifier>\n          </TypeId>\n          <Body>\n            <EnumValueType>\n              <Value>15</Value>\n              <DisplayName>\n                <Text>All</Text>\n              </DisplayName>\n            </EnumValueType>\n          </Body>\n        </ExtensionObject>\n      </ListOfExtensionObject>\n    </Value>\n  </UAVariable>\n  <UADataType NodeId=\"i=12554\" BrowseName=\"TrustListDataType\">\n    <DisplayName>TrustListDataType</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=22</Reference>\n    </References>\n    <Definition Name=\"TrustListDataType\">\n      <Field Name=\"SpecifiedLists\" DataType=\"i=7\" />\n      <Field Name=\"TrustedCertificates\" DataType=\"i=15\" ValueRank=\"1\" />\n      <Field Name=\"TrustedCrls\" DataType=\"i=15\" ValueRank=\"1\" />\n      <Field Name=\"IssuerCertificates\" DataType=\"i=15\" ValueRank=\"1\" />\n      <Field Name=\"IssuerCrls\" DataType=\"i=15\" ValueRank=\"1\" />\n    </Definition>\n  </UADataType>\n  <UAObjectType NodeId=\"i=19297\" BrowseName=\"TrustListOutOfDateAlarmType\">\n    <DisplayName>TrustListOutOfDateAlarmType</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=19446</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=19447</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=19448</Reference>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=11753</Reference>\n    </References>\n  </UAObjectType>\n  <UAVariable NodeId=\"i=19446\" BrowseName=\"TrustListId\" ParentNodeId=\"i=19297\" DataType=\"NodeId\">\n    <DisplayName>TrustListId</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=19297</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=19447\" BrowseName=\"LastUpdateTime\" ParentNodeId=\"i=19297\" DataType=\"i=294\">\n    <DisplayName>LastUpdateTime</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=19297</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=19448\" BrowseName=\"UpdateFrequency\" ParentNodeId=\"i=19297\" DataType=\"i=290\">\n    <DisplayName>UpdateFrequency</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=19297</Reference>\n    </References>\n  </UAVariable>\n  <UAObjectType NodeId=\"i=12555\" BrowseName=\"CertificateGroupType\">\n    <DisplayName>CertificateGroupType</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasComponent\">i=13599</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=13631</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=19450</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=20143</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=23526</Reference>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=58</Reference>\n    </References>\n  </UAObjectType>\n  <UAObject NodeId=\"i=13599\" BrowseName=\"TrustList\" ParentNodeId=\"i=12555\">\n    <DisplayName>TrustList</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=13600</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=13601</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=13602</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=13603</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=13605</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=13608</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=13610</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=13613</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=13615</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=13618</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=13620</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=13621</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=12522</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=12555</Reference>\n    </References>\n  </UAObject>\n  <UAVariable NodeId=\"i=13600\" BrowseName=\"Size\" ParentNodeId=\"i=13599\" DataType=\"UInt64\">\n    <DisplayName>Size</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=13599</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=13601\" BrowseName=\"Writable\" ParentNodeId=\"i=13599\" DataType=\"Boolean\">\n    <DisplayName>Writable</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=13599</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=13602\" BrowseName=\"UserWritable\" ParentNodeId=\"i=13599\" DataType=\"Boolean\">\n    <DisplayName>UserWritable</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=13599</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=13603\" BrowseName=\"OpenCount\" ParentNodeId=\"i=13599\" DataType=\"UInt16\">\n    <DisplayName>OpenCount</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=13599</Reference>\n    </References>\n  </UAVariable>\n  <UAMethod NodeId=\"i=13605\" BrowseName=\"Open\" ParentNodeId=\"i=13599\" MethodDeclarationId=\"i=11580\">\n    <DisplayName>Open</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=13606</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=13607</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=13599</Reference>\n    </References>\n  </UAMethod>\n  <UAVariable NodeId=\"i=13606\" BrowseName=\"InputArguments\" ParentNodeId=\"i=13605\" DataType=\"i=296\" ValueRank=\"1\" ArrayDimensions=\"0\">\n    <DisplayName>InputArguments</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=13605</Reference>\n    </References>\n    <Value>\n      <ListOfExtensionObject xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=297</Identifier>\n          </TypeId>\n          <Body>\n            <Argument>\n              <Name>Mode</Name>\n              <DataType>\n                <Identifier>i=3</Identifier>\n              </DataType>\n              <ValueRank>-1</ValueRank>\n              <ArrayDimensions />\n            </Argument>\n          </Body>\n        </ExtensionObject>\n      </ListOfExtensionObject>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"i=13607\" BrowseName=\"OutputArguments\" ParentNodeId=\"i=13605\" DataType=\"i=296\" ValueRank=\"1\" ArrayDimensions=\"0\">\n    <DisplayName>OutputArguments</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=13605</Reference>\n    </References>\n    <Value>\n      <ListOfExtensionObject xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=297</Identifier>\n          </TypeId>\n          <Body>\n            <Argument>\n              <Name>FileHandle</Name>\n              <DataType>\n                <Identifier>i=7</Identifier>\n              </DataType>\n              <ValueRank>-1</ValueRank>\n              <ArrayDimensions />\n            </Argument>\n          </Body>\n        </ExtensionObject>\n      </ListOfExtensionObject>\n    </Value>\n  </UAVariable>\n  <UAMethod NodeId=\"i=13608\" BrowseName=\"Close\" ParentNodeId=\"i=13599\" MethodDeclarationId=\"i=11583\">\n    <DisplayName>Close</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=13609</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=13599</Reference>\n    </References>\n  </UAMethod>\n  <UAVariable NodeId=\"i=13609\" BrowseName=\"InputArguments\" ParentNodeId=\"i=13608\" DataType=\"i=296\" ValueRank=\"1\" ArrayDimensions=\"0\">\n    <DisplayName>InputArguments</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=13608</Reference>\n    </References>\n    <Value>\n      <ListOfExtensionObject xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=297</Identifier>\n          </TypeId>\n          <Body>\n            <Argument>\n              <Name>FileHandle</Name>\n              <DataType>\n                <Identifier>i=7</Identifier>\n              </DataType>\n              <ValueRank>-1</ValueRank>\n              <ArrayDimensions />\n            </Argument>\n          </Body>\n        </ExtensionObject>\n      </ListOfExtensionObject>\n    </Value>\n  </UAVariable>\n  <UAMethod NodeId=\"i=13610\" BrowseName=\"Read\" ParentNodeId=\"i=13599\" MethodDeclarationId=\"i=11585\">\n    <DisplayName>Read</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=13611</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=13612</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=13599</Reference>\n    </References>\n  </UAMethod>\n  <UAVariable NodeId=\"i=13611\" BrowseName=\"InputArguments\" ParentNodeId=\"i=13610\" DataType=\"i=296\" ValueRank=\"1\" ArrayDimensions=\"0\">\n    <DisplayName>InputArguments</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=13610</Reference>\n    </References>\n    <Value>\n      <ListOfExtensionObject xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=297</Identifier>\n          </TypeId>\n          <Body>\n            <Argument>\n              <Name>FileHandle</Name>\n              <DataType>\n                <Identifier>i=7</Identifier>\n              </DataType>\n              <ValueRank>-1</ValueRank>\n              <ArrayDimensions />\n            </Argument>\n          </Body>\n        </ExtensionObject>\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=297</Identifier>\n          </TypeId>\n          <Body>\n            <Argument>\n              <Name>Length</Name>\n              <DataType>\n                <Identifier>i=6</Identifier>\n              </DataType>\n              <ValueRank>-1</ValueRank>\n              <ArrayDimensions />\n            </Argument>\n          </Body>\n        </ExtensionObject>\n      </ListOfExtensionObject>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"i=13612\" BrowseName=\"OutputArguments\" ParentNodeId=\"i=13610\" DataType=\"i=296\" ValueRank=\"1\" ArrayDimensions=\"0\">\n    <DisplayName>OutputArguments</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=13610</Reference>\n    </References>\n    <Value>\n      <ListOfExtensionObject xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=297</Identifier>\n          </TypeId>\n          <Body>\n            <Argument>\n              <Name>Data</Name>\n              <DataType>\n                <Identifier>i=15</Identifier>\n              </DataType>\n              <ValueRank>-1</ValueRank>\n              <ArrayDimensions />\n            </Argument>\n          </Body>\n        </ExtensionObject>\n      </ListOfExtensionObject>\n    </Value>\n  </UAVariable>\n  <UAMethod NodeId=\"i=13613\" BrowseName=\"Write\" ParentNodeId=\"i=13599\" MethodDeclarationId=\"i=11588\">\n    <DisplayName>Write</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=13614</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=13599</Reference>\n    </References>\n  </UAMethod>\n  <UAVariable NodeId=\"i=13614\" BrowseName=\"InputArguments\" ParentNodeId=\"i=13613\" DataType=\"i=296\" ValueRank=\"1\" ArrayDimensions=\"0\">\n    <DisplayName>InputArguments</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=13613</Reference>\n    </References>\n    <Value>\n      <ListOfExtensionObject xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=297</Identifier>\n          </TypeId>\n          <Body>\n            <Argument>\n              <Name>FileHandle</Name>\n              <DataType>\n                <Identifier>i=7</Identifier>\n              </DataType>\n              <ValueRank>-1</ValueRank>\n              <ArrayDimensions />\n            </Argument>\n          </Body>\n        </ExtensionObject>\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=297</Identifier>\n          </TypeId>\n          <Body>\n            <Argument>\n              <Name>Data</Name>\n              <DataType>\n                <Identifier>i=15</Identifier>\n              </DataType>\n              <ValueRank>-1</ValueRank>\n              <ArrayDimensions />\n            </Argument>\n          </Body>\n        </ExtensionObject>\n      </ListOfExtensionObject>\n    </Value>\n  </UAVariable>\n  <UAMethod NodeId=\"i=13615\" BrowseName=\"GetPosition\" ParentNodeId=\"i=13599\" MethodDeclarationId=\"i=11590\">\n    <DisplayName>GetPosition</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=13616</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=13617</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=13599</Reference>\n    </References>\n  </UAMethod>\n  <UAVariable NodeId=\"i=13616\" BrowseName=\"InputArguments\" ParentNodeId=\"i=13615\" DataType=\"i=296\" ValueRank=\"1\" ArrayDimensions=\"0\">\n    <DisplayName>InputArguments</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=13615</Reference>\n    </References>\n    <Value>\n      <ListOfExtensionObject xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=297</Identifier>\n          </TypeId>\n          <Body>\n            <Argument>\n              <Name>FileHandle</Name>\n              <DataType>\n                <Identifier>i=7</Identifier>\n              </DataType>\n              <ValueRank>-1</ValueRank>\n              <ArrayDimensions />\n            </Argument>\n          </Body>\n        </ExtensionObject>\n      </ListOfExtensionObject>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"i=13617\" BrowseName=\"OutputArguments\" ParentNodeId=\"i=13615\" DataType=\"i=296\" ValueRank=\"1\" ArrayDimensions=\"0\">\n    <DisplayName>OutputArguments</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=13615</Reference>\n    </References>\n    <Value>\n      <ListOfExtensionObject xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=297</Identifier>\n          </TypeId>\n          <Body>\n            <Argument>\n              <Name>Position</Name>\n              <DataType>\n                <Identifier>i=9</Identifier>\n              </DataType>\n              <ValueRank>-1</ValueRank>\n              <ArrayDimensions />\n            </Argument>\n          </Body>\n        </ExtensionObject>\n      </ListOfExtensionObject>\n    </Value>\n  </UAVariable>\n  <UAMethod NodeId=\"i=13618\" BrowseName=\"SetPosition\" ParentNodeId=\"i=13599\" MethodDeclarationId=\"i=11593\">\n    <DisplayName>SetPosition</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=13619</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=13599</Reference>\n    </References>\n  </UAMethod>\n  <UAVariable NodeId=\"i=13619\" BrowseName=\"InputArguments\" ParentNodeId=\"i=13618\" DataType=\"i=296\" ValueRank=\"1\" ArrayDimensions=\"0\">\n    <DisplayName>InputArguments</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=13618</Reference>\n    </References>\n    <Value>\n      <ListOfExtensionObject xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=297</Identifier>\n          </TypeId>\n          <Body>\n            <Argument>\n              <Name>FileHandle</Name>\n              <DataType>\n                <Identifier>i=7</Identifier>\n              </DataType>\n              <ValueRank>-1</ValueRank>\n              <ArrayDimensions />\n            </Argument>\n          </Body>\n        </ExtensionObject>\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=297</Identifier>\n          </TypeId>\n          <Body>\n            <Argument>\n              <Name>Position</Name>\n              <DataType>\n                <Identifier>i=9</Identifier>\n              </DataType>\n              <ValueRank>-1</ValueRank>\n              <ArrayDimensions />\n            </Argument>\n          </Body>\n        </ExtensionObject>\n      </ListOfExtensionObject>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"i=13620\" BrowseName=\"LastUpdateTime\" ParentNodeId=\"i=13599\" DataType=\"i=294\">\n    <DisplayName>LastUpdateTime</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=13599</Reference>\n    </References>\n  </UAVariable>\n  <UAMethod NodeId=\"i=13621\" BrowseName=\"OpenWithMasks\" ParentNodeId=\"i=13599\" MethodDeclarationId=\"i=12543\">\n    <DisplayName>OpenWithMasks</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=13622</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=13623</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=13599</Reference>\n    </References>\n  </UAMethod>\n  <UAVariable NodeId=\"i=13622\" BrowseName=\"InputArguments\" ParentNodeId=\"i=13621\" DataType=\"i=296\" ValueRank=\"1\" ArrayDimensions=\"0\">\n    <DisplayName>InputArguments</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=13621</Reference>\n    </References>\n    <Value>\n      <ListOfExtensionObject xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=297</Identifier>\n          </TypeId>\n          <Body>\n            <Argument>\n              <Name>Masks</Name>\n              <DataType>\n                <Identifier>i=7</Identifier>\n              </DataType>\n              <ValueRank>-1</ValueRank>\n              <ArrayDimensions />\n            </Argument>\n          </Body>\n        </ExtensionObject>\n      </ListOfExtensionObject>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"i=13623\" BrowseName=\"OutputArguments\" ParentNodeId=\"i=13621\" DataType=\"i=296\" ValueRank=\"1\" ArrayDimensions=\"0\">\n    <DisplayName>OutputArguments</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=13621</Reference>\n    </References>\n    <Value>\n      <ListOfExtensionObject xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=297</Identifier>\n          </TypeId>\n          <Body>\n            <Argument>\n              <Name>FileHandle</Name>\n              <DataType>\n                <Identifier>i=7</Identifier>\n              </DataType>\n              <ValueRank>-1</ValueRank>\n              <ArrayDimensions />\n            </Argument>\n          </Body>\n        </ExtensionObject>\n      </ListOfExtensionObject>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"i=13631\" BrowseName=\"CertificateTypes\" ParentNodeId=\"i=12555\" DataType=\"NodeId\" ValueRank=\"1\" ArrayDimensions=\"0\">\n    <DisplayName>CertificateTypes</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=12555</Reference>\n    </References>\n  </UAVariable>\n  <UAObject NodeId=\"i=19450\" BrowseName=\"CertificateExpired\" ParentNodeId=\"i=12555\">\n    <DisplayName>CertificateExpired</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=19451</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=19452</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=19453</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=19454</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=19455</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=19456</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=19458</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=19459</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=19460</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=19461</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=19464</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=19465</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=19466</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=19467</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=19476</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=19478</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=19480</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=19482</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=19483</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=19484</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=19485</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=19487</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=19505</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=19509</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=19518</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=20101</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=20138</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=20139</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=20141</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=20142</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=13225</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=80</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=12555</Reference>\n    </References>\n  </UAObject>\n  <UAVariable NodeId=\"i=19451\" BrowseName=\"EventId\" ParentNodeId=\"i=19450\" DataType=\"ByteString\">\n    <DisplayName>EventId</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=19450</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=19452\" BrowseName=\"EventType\" ParentNodeId=\"i=19450\" DataType=\"NodeId\">\n    <DisplayName>EventType</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=19450</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=19453\" BrowseName=\"SourceNode\" ParentNodeId=\"i=19450\" DataType=\"NodeId\">\n    <DisplayName>SourceNode</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=19450</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=19454\" BrowseName=\"SourceName\" ParentNodeId=\"i=19450\" DataType=\"String\">\n    <DisplayName>SourceName</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=19450</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=19455\" BrowseName=\"Time\" ParentNodeId=\"i=19450\" DataType=\"i=294\">\n    <DisplayName>Time</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=19450</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=19456\" BrowseName=\"ReceiveTime\" ParentNodeId=\"i=19450\" DataType=\"i=294\">\n    <DisplayName>ReceiveTime</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=19450</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=19458\" BrowseName=\"Message\" ParentNodeId=\"i=19450\" DataType=\"LocalizedText\">\n    <DisplayName>Message</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=19450</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=19459\" BrowseName=\"Severity\" ParentNodeId=\"i=19450\" DataType=\"UInt16\">\n    <DisplayName>Severity</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=19450</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=19460\" BrowseName=\"ConditionClassId\" ParentNodeId=\"i=19450\" DataType=\"NodeId\">\n    <DisplayName>ConditionClassId</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=19450</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=19461\" BrowseName=\"ConditionClassName\" ParentNodeId=\"i=19450\" DataType=\"LocalizedText\">\n    <DisplayName>ConditionClassName</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=19450</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=19464\" BrowseName=\"ConditionName\" ParentNodeId=\"i=19450\" DataType=\"String\">\n    <DisplayName>ConditionName</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=19450</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=19465\" BrowseName=\"BranchId\" ParentNodeId=\"i=19450\" DataType=\"NodeId\">\n    <DisplayName>BranchId</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=19450</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=19466\" BrowseName=\"Retain\" ParentNodeId=\"i=19450\" DataType=\"Boolean\">\n    <DisplayName>Retain</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=19450</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=19467\" BrowseName=\"EnabledState\" ParentNodeId=\"i=19450\" DataType=\"LocalizedText\">\n    <DisplayName>EnabledState</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=19468</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=8995</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=19450</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=19468\" BrowseName=\"Id\" ParentNodeId=\"i=19467\" DataType=\"Boolean\">\n    <DisplayName>Id</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=19467</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=19476\" BrowseName=\"Quality\" ParentNodeId=\"i=19450\" DataType=\"StatusCode\">\n    <DisplayName>Quality</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=19477</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=9002</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=19450</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=19477\" BrowseName=\"SourceTimestamp\" ParentNodeId=\"i=19476\" DataType=\"i=294\">\n    <DisplayName>SourceTimestamp</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=19476</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=19478\" BrowseName=\"LastSeverity\" ParentNodeId=\"i=19450\" DataType=\"UInt16\">\n    <DisplayName>LastSeverity</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=19479</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=9002</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=19450</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=19479\" BrowseName=\"SourceTimestamp\" ParentNodeId=\"i=19478\" DataType=\"i=294\">\n    <DisplayName>SourceTimestamp</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=19478</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=19480\" BrowseName=\"Comment\" ParentNodeId=\"i=19450\" DataType=\"LocalizedText\">\n    <DisplayName>Comment</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=19481</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=9002</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=19450</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=19481\" BrowseName=\"SourceTimestamp\" ParentNodeId=\"i=19480\" DataType=\"i=294\">\n    <DisplayName>SourceTimestamp</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=19480</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=19482\" BrowseName=\"ClientUserId\" ParentNodeId=\"i=19450\" DataType=\"String\">\n    <DisplayName>ClientUserId</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=19450</Reference>\n    </References>\n  </UAVariable>\n  <UAMethod NodeId=\"i=19483\" BrowseName=\"Disable\" ParentNodeId=\"i=19450\" MethodDeclarationId=\"i=9028\">\n    <DisplayName>Disable</DisplayName>\n    <References>\n      <Reference ReferenceType=\"i=3065\">i=2803</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=19450</Reference>\n    </References>\n  </UAMethod>\n  <UAMethod NodeId=\"i=19484\" BrowseName=\"Enable\" ParentNodeId=\"i=19450\" MethodDeclarationId=\"i=9027\">\n    <DisplayName>Enable</DisplayName>\n    <References>\n      <Reference ReferenceType=\"i=3065\">i=2803</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=19450</Reference>\n    </References>\n  </UAMethod>\n  <UAMethod NodeId=\"i=19485\" BrowseName=\"AddComment\" ParentNodeId=\"i=19450\" MethodDeclarationId=\"i=9029\">\n    <DisplayName>AddComment</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=19486</Reference>\n      <Reference ReferenceType=\"i=3065\">i=2829</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=19450</Reference>\n    </References>\n  </UAMethod>\n  <UAVariable NodeId=\"i=19486\" BrowseName=\"InputArguments\" ParentNodeId=\"i=19485\" DataType=\"i=296\" ValueRank=\"1\" ArrayDimensions=\"0\">\n    <DisplayName>InputArguments</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=19485</Reference>\n    </References>\n    <Value>\n      <ListOfExtensionObject xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=297</Identifier>\n          </TypeId>\n          <Body>\n            <Argument>\n              <Name>EventId</Name>\n              <DataType>\n                <Identifier>i=15</Identifier>\n              </DataType>\n              <ValueRank>-1</ValueRank>\n              <ArrayDimensions />\n              <Description>\n                <Text>The identifier for the event to comment.</Text>\n              </Description>\n            </Argument>\n          </Body>\n        </ExtensionObject>\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=297</Identifier>\n          </TypeId>\n          <Body>\n            <Argument>\n              <Name>Comment</Name>\n              <DataType>\n                <Identifier>i=21</Identifier>\n              </DataType>\n              <ValueRank>-1</ValueRank>\n              <ArrayDimensions />\n              <Description>\n                <Text>The comment to add to the condition.</Text>\n              </Description>\n            </Argument>\n          </Body>\n        </ExtensionObject>\n      </ListOfExtensionObject>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"i=19487\" BrowseName=\"AckedState\" ParentNodeId=\"i=19450\" DataType=\"LocalizedText\">\n    <DisplayName>AckedState</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=19488</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=8995</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=19450</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=19488\" BrowseName=\"Id\" ParentNodeId=\"i=19487\" DataType=\"Boolean\">\n    <DisplayName>Id</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=19487</Reference>\n    </References>\n  </UAVariable>\n  <UAMethod NodeId=\"i=19505\" BrowseName=\"Acknowledge\" ParentNodeId=\"i=19450\" MethodDeclarationId=\"i=9111\">\n    <DisplayName>Acknowledge</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=19506</Reference>\n      <Reference ReferenceType=\"i=3065\">i=8944</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=19450</Reference>\n    </References>\n  </UAMethod>\n  <UAVariable NodeId=\"i=19506\" BrowseName=\"InputArguments\" ParentNodeId=\"i=19505\" DataType=\"i=296\" ValueRank=\"1\" ArrayDimensions=\"0\">\n    <DisplayName>InputArguments</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=19505</Reference>\n    </References>\n    <Value>\n      <ListOfExtensionObject xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=297</Identifier>\n          </TypeId>\n          <Body>\n            <Argument>\n              <Name>EventId</Name>\n              <DataType>\n                <Identifier>i=15</Identifier>\n              </DataType>\n              <ValueRank>-1</ValueRank>\n              <ArrayDimensions />\n              <Description>\n                <Text>The identifier for the event to comment.</Text>\n              </Description>\n            </Argument>\n          </Body>\n        </ExtensionObject>\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=297</Identifier>\n          </TypeId>\n          <Body>\n            <Argument>\n              <Name>Comment</Name>\n              <DataType>\n                <Identifier>i=21</Identifier>\n              </DataType>\n              <ValueRank>-1</ValueRank>\n              <ArrayDimensions />\n              <Description>\n                <Text>The comment to add to the condition.</Text>\n              </Description>\n            </Argument>\n          </Body>\n        </ExtensionObject>\n      </ListOfExtensionObject>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"i=19509\" BrowseName=\"ActiveState\" ParentNodeId=\"i=19450\" DataType=\"LocalizedText\">\n    <DisplayName>ActiveState</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=19510</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=8995</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=19450</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=19510\" BrowseName=\"Id\" ParentNodeId=\"i=19509\" DataType=\"Boolean\">\n    <DisplayName>Id</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=19509</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=19518\" BrowseName=\"InputNode\" ParentNodeId=\"i=19450\" DataType=\"NodeId\">\n    <DisplayName>InputNode</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=19450</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=20101\" BrowseName=\"SuppressedOrShelved\" ParentNodeId=\"i=19450\" DataType=\"Boolean\">\n    <DisplayName>SuppressedOrShelved</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=19450</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=20138\" BrowseName=\"NormalState\" ParentNodeId=\"i=19450\" DataType=\"NodeId\">\n    <DisplayName>NormalState</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=19450</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=20139\" BrowseName=\"ExpirationDate\" ParentNodeId=\"i=19450\" DataType=\"DateTime\">\n    <DisplayName>ExpirationDate</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=19450</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=20141\" BrowseName=\"CertificateType\" ParentNodeId=\"i=19450\" DataType=\"NodeId\">\n    <DisplayName>CertificateType</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=19450</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=20142\" BrowseName=\"Certificate\" ParentNodeId=\"i=19450\" DataType=\"ByteString\">\n    <DisplayName>Certificate</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=19450</Reference>\n    </References>\n  </UAVariable>\n  <UAObject NodeId=\"i=20143\" BrowseName=\"TrustListOutOfDate\" ParentNodeId=\"i=12555\">\n    <DisplayName>TrustListOutOfDate</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=20144</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=20145</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=20146</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=20147</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=20148</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=20149</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=20151</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=20152</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=20153</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=20154</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=20157</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=20158</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=20159</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=20160</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=20169</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=20171</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=20173</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=20175</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=20176</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=20177</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=20178</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=20180</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=20198</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=20202</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=20211</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=20249</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=20286</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=20287</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=20288</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=20289</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=19297</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=80</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=12555</Reference>\n    </References>\n  </UAObject>\n  <UAVariable NodeId=\"i=20144\" BrowseName=\"EventId\" ParentNodeId=\"i=20143\" DataType=\"ByteString\">\n    <DisplayName>EventId</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=20143</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=20145\" BrowseName=\"EventType\" ParentNodeId=\"i=20143\" DataType=\"NodeId\">\n    <DisplayName>EventType</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=20143</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=20146\" BrowseName=\"SourceNode\" ParentNodeId=\"i=20143\" DataType=\"NodeId\">\n    <DisplayName>SourceNode</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=20143</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=20147\" BrowseName=\"SourceName\" ParentNodeId=\"i=20143\" DataType=\"String\">\n    <DisplayName>SourceName</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=20143</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=20148\" BrowseName=\"Time\" ParentNodeId=\"i=20143\" DataType=\"i=294\">\n    <DisplayName>Time</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=20143</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=20149\" BrowseName=\"ReceiveTime\" ParentNodeId=\"i=20143\" DataType=\"i=294\">\n    <DisplayName>ReceiveTime</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=20143</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=20151\" BrowseName=\"Message\" ParentNodeId=\"i=20143\" DataType=\"LocalizedText\">\n    <DisplayName>Message</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=20143</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=20152\" BrowseName=\"Severity\" ParentNodeId=\"i=20143\" DataType=\"UInt16\">\n    <DisplayName>Severity</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=20143</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=20153\" BrowseName=\"ConditionClassId\" ParentNodeId=\"i=20143\" DataType=\"NodeId\">\n    <DisplayName>ConditionClassId</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=20143</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=20154\" BrowseName=\"ConditionClassName\" ParentNodeId=\"i=20143\" DataType=\"LocalizedText\">\n    <DisplayName>ConditionClassName</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=20143</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=20157\" BrowseName=\"ConditionName\" ParentNodeId=\"i=20143\" DataType=\"String\">\n    <DisplayName>ConditionName</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=20143</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=20158\" BrowseName=\"BranchId\" ParentNodeId=\"i=20143\" DataType=\"NodeId\">\n    <DisplayName>BranchId</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=20143</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=20159\" BrowseName=\"Retain\" ParentNodeId=\"i=20143\" DataType=\"Boolean\">\n    <DisplayName>Retain</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=20143</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=20160\" BrowseName=\"EnabledState\" ParentNodeId=\"i=20143\" DataType=\"LocalizedText\">\n    <DisplayName>EnabledState</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=20161</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=8995</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=20143</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=20161\" BrowseName=\"Id\" ParentNodeId=\"i=20160\" DataType=\"Boolean\">\n    <DisplayName>Id</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=20160</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=20169\" BrowseName=\"Quality\" ParentNodeId=\"i=20143\" DataType=\"StatusCode\">\n    <DisplayName>Quality</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=20170</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=9002</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=20143</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=20170\" BrowseName=\"SourceTimestamp\" ParentNodeId=\"i=20169\" DataType=\"i=294\">\n    <DisplayName>SourceTimestamp</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=20169</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=20171\" BrowseName=\"LastSeverity\" ParentNodeId=\"i=20143\" DataType=\"UInt16\">\n    <DisplayName>LastSeverity</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=20172</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=9002</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=20143</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=20172\" BrowseName=\"SourceTimestamp\" ParentNodeId=\"i=20171\" DataType=\"i=294\">\n    <DisplayName>SourceTimestamp</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=20171</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=20173\" BrowseName=\"Comment\" ParentNodeId=\"i=20143\" DataType=\"LocalizedText\">\n    <DisplayName>Comment</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=20174</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=9002</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=20143</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=20174\" BrowseName=\"SourceTimestamp\" ParentNodeId=\"i=20173\" DataType=\"i=294\">\n    <DisplayName>SourceTimestamp</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=20173</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=20175\" BrowseName=\"ClientUserId\" ParentNodeId=\"i=20143\" DataType=\"String\">\n    <DisplayName>ClientUserId</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=20143</Reference>\n    </References>\n  </UAVariable>\n  <UAMethod NodeId=\"i=20176\" BrowseName=\"Disable\" ParentNodeId=\"i=20143\" MethodDeclarationId=\"i=9028\">\n    <DisplayName>Disable</DisplayName>\n    <References>\n      <Reference ReferenceType=\"i=3065\">i=2803</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=20143</Reference>\n    </References>\n  </UAMethod>\n  <UAMethod NodeId=\"i=20177\" BrowseName=\"Enable\" ParentNodeId=\"i=20143\" MethodDeclarationId=\"i=9027\">\n    <DisplayName>Enable</DisplayName>\n    <References>\n      <Reference ReferenceType=\"i=3065\">i=2803</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=20143</Reference>\n    </References>\n  </UAMethod>\n  <UAMethod NodeId=\"i=20178\" BrowseName=\"AddComment\" ParentNodeId=\"i=20143\" MethodDeclarationId=\"i=9029\">\n    <DisplayName>AddComment</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=20179</Reference>\n      <Reference ReferenceType=\"i=3065\">i=2829</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=20143</Reference>\n    </References>\n  </UAMethod>\n  <UAVariable NodeId=\"i=20179\" BrowseName=\"InputArguments\" ParentNodeId=\"i=20178\" DataType=\"i=296\" ValueRank=\"1\" ArrayDimensions=\"0\">\n    <DisplayName>InputArguments</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=20178</Reference>\n    </References>\n    <Value>\n      <ListOfExtensionObject xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=297</Identifier>\n          </TypeId>\n          <Body>\n            <Argument>\n              <Name>EventId</Name>\n              <DataType>\n                <Identifier>i=15</Identifier>\n              </DataType>\n              <ValueRank>-1</ValueRank>\n              <ArrayDimensions />\n              <Description>\n                <Text>The identifier for the event to comment.</Text>\n              </Description>\n            </Argument>\n          </Body>\n        </ExtensionObject>\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=297</Identifier>\n          </TypeId>\n          <Body>\n            <Argument>\n              <Name>Comment</Name>\n              <DataType>\n                <Identifier>i=21</Identifier>\n              </DataType>\n              <ValueRank>-1</ValueRank>\n              <ArrayDimensions />\n              <Description>\n                <Text>The comment to add to the condition.</Text>\n              </Description>\n            </Argument>\n          </Body>\n        </ExtensionObject>\n      </ListOfExtensionObject>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"i=20180\" BrowseName=\"AckedState\" ParentNodeId=\"i=20143\" DataType=\"LocalizedText\">\n    <DisplayName>AckedState</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=20181</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=8995</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=20143</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=20181\" BrowseName=\"Id\" ParentNodeId=\"i=20180\" DataType=\"Boolean\">\n    <DisplayName>Id</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=20180</Reference>\n    </References>\n  </UAVariable>\n  <UAMethod NodeId=\"i=20198\" BrowseName=\"Acknowledge\" ParentNodeId=\"i=20143\" MethodDeclarationId=\"i=9111\">\n    <DisplayName>Acknowledge</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=20199</Reference>\n      <Reference ReferenceType=\"i=3065\">i=8944</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=20143</Reference>\n    </References>\n  </UAMethod>\n  <UAVariable NodeId=\"i=20199\" BrowseName=\"InputArguments\" ParentNodeId=\"i=20198\" DataType=\"i=296\" ValueRank=\"1\" ArrayDimensions=\"0\">\n    <DisplayName>InputArguments</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=20198</Reference>\n    </References>\n    <Value>\n      <ListOfExtensionObject xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=297</Identifier>\n          </TypeId>\n          <Body>\n            <Argument>\n              <Name>EventId</Name>\n              <DataType>\n                <Identifier>i=15</Identifier>\n              </DataType>\n              <ValueRank>-1</ValueRank>\n              <ArrayDimensions />\n              <Description>\n                <Text>The identifier for the event to comment.</Text>\n              </Description>\n            </Argument>\n          </Body>\n        </ExtensionObject>\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=297</Identifier>\n          </TypeId>\n          <Body>\n            <Argument>\n              <Name>Comment</Name>\n              <DataType>\n                <Identifier>i=21</Identifier>\n              </DataType>\n              <ValueRank>-1</ValueRank>\n              <ArrayDimensions />\n              <Description>\n                <Text>The comment to add to the condition.</Text>\n              </Description>\n            </Argument>\n          </Body>\n        </ExtensionObject>\n      </ListOfExtensionObject>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"i=20202\" BrowseName=\"ActiveState\" ParentNodeId=\"i=20143\" DataType=\"LocalizedText\">\n    <DisplayName>ActiveState</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=20203</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=8995</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=20143</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=20203\" BrowseName=\"Id\" ParentNodeId=\"i=20202\" DataType=\"Boolean\">\n    <DisplayName>Id</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=20202</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=20211\" BrowseName=\"InputNode\" ParentNodeId=\"i=20143\" DataType=\"NodeId\">\n    <DisplayName>InputNode</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=20143</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=20249\" BrowseName=\"SuppressedOrShelved\" ParentNodeId=\"i=20143\" DataType=\"Boolean\">\n    <DisplayName>SuppressedOrShelved</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=20143</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=20286\" BrowseName=\"NormalState\" ParentNodeId=\"i=20143\" DataType=\"NodeId\">\n    <DisplayName>NormalState</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=20143</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=20287\" BrowseName=\"TrustListId\" ParentNodeId=\"i=20143\" DataType=\"NodeId\">\n    <DisplayName>TrustListId</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=20143</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=20288\" BrowseName=\"LastUpdateTime\" ParentNodeId=\"i=20143\" DataType=\"i=294\">\n    <DisplayName>LastUpdateTime</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=20143</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=20289\" BrowseName=\"UpdateFrequency\" ParentNodeId=\"i=20143\" DataType=\"i=290\">\n    <DisplayName>UpdateFrequency</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=20143</Reference>\n    </References>\n  </UAVariable>\n  <UAMethod NodeId=\"i=23526\" BrowseName=\"GetRejectedList\" ParentNodeId=\"i=12555\">\n    <DisplayName>GetRejectedList</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=23527</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=80</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=12555</Reference>\n    </References>\n  </UAMethod>\n  <UAVariable NodeId=\"i=23527\" BrowseName=\"OutputArguments\" ParentNodeId=\"i=23526\" DataType=\"i=296\" ValueRank=\"1\" ArrayDimensions=\"0\">\n    <DisplayName>OutputArguments</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=23526</Reference>\n    </References>\n    <Value>\n      <ListOfExtensionObject xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=297</Identifier>\n          </TypeId>\n          <Body>\n            <Argument>\n              <Name>Certificates</Name>\n              <DataType>\n                <Identifier>i=15</Identifier>\n              </DataType>\n              <ValueRank>1</ValueRank>\n              <ArrayDimensions>\n                <UInt32>0</UInt32>\n              </ArrayDimensions>\n            </Argument>\n          </Body>\n        </ExtensionObject>\n      </ListOfExtensionObject>\n    </Value>\n  </UAVariable>\n  <UAObjectType NodeId=\"i=13813\" BrowseName=\"CertificateGroupFolderType\">\n    <DisplayName>CertificateGroupFolderType</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasComponent\">i=13814</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=13848</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=13882</Reference>\n      <Reference ReferenceType=\"Organizes\">i=13916</Reference>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=61</Reference>\n    </References>\n  </UAObjectType>\n  <UAObject NodeId=\"i=13814\" BrowseName=\"DefaultApplicationGroup\" ParentNodeId=\"i=13813\">\n    <DisplayName>DefaultApplicationGroup</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasComponent\">i=13815</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=13847</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=12555</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=13813</Reference>\n    </References>\n  </UAObject>\n  <UAObject NodeId=\"i=13815\" BrowseName=\"TrustList\" ParentNodeId=\"i=13814\">\n    <DisplayName>TrustList</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=13816</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=13817</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=13818</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=13819</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=13821</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=13824</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=13826</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=13829</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=13831</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=13834</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=13836</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=13837</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=12522</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=13814</Reference>\n    </References>\n  </UAObject>\n  <UAVariable NodeId=\"i=13816\" BrowseName=\"Size\" ParentNodeId=\"i=13815\" DataType=\"UInt64\">\n    <DisplayName>Size</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=13815</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=13817\" BrowseName=\"Writable\" ParentNodeId=\"i=13815\" DataType=\"Boolean\">\n    <DisplayName>Writable</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=13815</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=13818\" BrowseName=\"UserWritable\" ParentNodeId=\"i=13815\" DataType=\"Boolean\">\n    <DisplayName>UserWritable</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=13815</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=13819\" BrowseName=\"OpenCount\" ParentNodeId=\"i=13815\" DataType=\"UInt16\">\n    <DisplayName>OpenCount</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=13815</Reference>\n    </References>\n  </UAVariable>\n  <UAMethod NodeId=\"i=13821\" BrowseName=\"Open\" ParentNodeId=\"i=13815\" MethodDeclarationId=\"i=11580\">\n    <DisplayName>Open</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=13822</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=13823</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=13815</Reference>\n    </References>\n  </UAMethod>\n  <UAVariable NodeId=\"i=13822\" BrowseName=\"InputArguments\" ParentNodeId=\"i=13821\" DataType=\"i=296\" ValueRank=\"1\" ArrayDimensions=\"0\">\n    <DisplayName>InputArguments</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=13821</Reference>\n    </References>\n    <Value>\n      <ListOfExtensionObject xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=297</Identifier>\n          </TypeId>\n          <Body>\n            <Argument>\n              <Name>Mode</Name>\n              <DataType>\n                <Identifier>i=3</Identifier>\n              </DataType>\n              <ValueRank>-1</ValueRank>\n              <ArrayDimensions />\n            </Argument>\n          </Body>\n        </ExtensionObject>\n      </ListOfExtensionObject>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"i=13823\" BrowseName=\"OutputArguments\" ParentNodeId=\"i=13821\" DataType=\"i=296\" ValueRank=\"1\" ArrayDimensions=\"0\">\n    <DisplayName>OutputArguments</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=13821</Reference>\n    </References>\n    <Value>\n      <ListOfExtensionObject xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=297</Identifier>\n          </TypeId>\n          <Body>\n            <Argument>\n              <Name>FileHandle</Name>\n              <DataType>\n                <Identifier>i=7</Identifier>\n              </DataType>\n              <ValueRank>-1</ValueRank>\n              <ArrayDimensions />\n            </Argument>\n          </Body>\n        </ExtensionObject>\n      </ListOfExtensionObject>\n    </Value>\n  </UAVariable>\n  <UAMethod NodeId=\"i=13824\" BrowseName=\"Close\" ParentNodeId=\"i=13815\" MethodDeclarationId=\"i=11583\">\n    <DisplayName>Close</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=13825</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=13815</Reference>\n    </References>\n  </UAMethod>\n  <UAVariable NodeId=\"i=13825\" BrowseName=\"InputArguments\" ParentNodeId=\"i=13824\" DataType=\"i=296\" ValueRank=\"1\" ArrayDimensions=\"0\">\n    <DisplayName>InputArguments</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=13824</Reference>\n    </References>\n    <Value>\n      <ListOfExtensionObject xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=297</Identifier>\n          </TypeId>\n          <Body>\n            <Argument>\n              <Name>FileHandle</Name>\n              <DataType>\n                <Identifier>i=7</Identifier>\n              </DataType>\n              <ValueRank>-1</ValueRank>\n              <ArrayDimensions />\n            </Argument>\n          </Body>\n        </ExtensionObject>\n      </ListOfExtensionObject>\n    </Value>\n  </UAVariable>\n  <UAMethod NodeId=\"i=13826\" BrowseName=\"Read\" ParentNodeId=\"i=13815\" MethodDeclarationId=\"i=11585\">\n    <DisplayName>Read</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=13827</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=13828</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=13815</Reference>\n    </References>\n  </UAMethod>\n  <UAVariable NodeId=\"i=13827\" BrowseName=\"InputArguments\" ParentNodeId=\"i=13826\" DataType=\"i=296\" ValueRank=\"1\" ArrayDimensions=\"0\">\n    <DisplayName>InputArguments</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=13826</Reference>\n    </References>\n    <Value>\n      <ListOfExtensionObject xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=297</Identifier>\n          </TypeId>\n          <Body>\n            <Argument>\n              <Name>FileHandle</Name>\n              <DataType>\n                <Identifier>i=7</Identifier>\n              </DataType>\n              <ValueRank>-1</ValueRank>\n              <ArrayDimensions />\n            </Argument>\n          </Body>\n        </ExtensionObject>\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=297</Identifier>\n          </TypeId>\n          <Body>\n            <Argument>\n              <Name>Length</Name>\n              <DataType>\n                <Identifier>i=6</Identifier>\n              </DataType>\n              <ValueRank>-1</ValueRank>\n              <ArrayDimensions />\n            </Argument>\n          </Body>\n        </ExtensionObject>\n      </ListOfExtensionObject>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"i=13828\" BrowseName=\"OutputArguments\" ParentNodeId=\"i=13826\" DataType=\"i=296\" ValueRank=\"1\" ArrayDimensions=\"0\">\n    <DisplayName>OutputArguments</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=13826</Reference>\n    </References>\n    <Value>\n      <ListOfExtensionObject xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=297</Identifier>\n          </TypeId>\n          <Body>\n            <Argument>\n              <Name>Data</Name>\n              <DataType>\n                <Identifier>i=15</Identifier>\n              </DataType>\n              <ValueRank>-1</ValueRank>\n              <ArrayDimensions />\n            </Argument>\n          </Body>\n        </ExtensionObject>\n      </ListOfExtensionObject>\n    </Value>\n  </UAVariable>\n  <UAMethod NodeId=\"i=13829\" BrowseName=\"Write\" ParentNodeId=\"i=13815\" MethodDeclarationId=\"i=11588\">\n    <DisplayName>Write</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=13830</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=13815</Reference>\n    </References>\n  </UAMethod>\n  <UAVariable NodeId=\"i=13830\" BrowseName=\"InputArguments\" ParentNodeId=\"i=13829\" DataType=\"i=296\" ValueRank=\"1\" ArrayDimensions=\"0\">\n    <DisplayName>InputArguments</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=13829</Reference>\n    </References>\n    <Value>\n      <ListOfExtensionObject xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=297</Identifier>\n          </TypeId>\n          <Body>\n            <Argument>\n              <Name>FileHandle</Name>\n              <DataType>\n                <Identifier>i=7</Identifier>\n              </DataType>\n              <ValueRank>-1</ValueRank>\n              <ArrayDimensions />\n            </Argument>\n          </Body>\n        </ExtensionObject>\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=297</Identifier>\n          </TypeId>\n          <Body>\n            <Argument>\n              <Name>Data</Name>\n              <DataType>\n                <Identifier>i=15</Identifier>\n              </DataType>\n              <ValueRank>-1</ValueRank>\n              <ArrayDimensions />\n            </Argument>\n          </Body>\n        </ExtensionObject>\n      </ListOfExtensionObject>\n    </Value>\n  </UAVariable>\n  <UAMethod NodeId=\"i=13831\" BrowseName=\"GetPosition\" ParentNodeId=\"i=13815\" MethodDeclarationId=\"i=11590\">\n    <DisplayName>GetPosition</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=13832</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=13833</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=13815</Reference>\n    </References>\n  </UAMethod>\n  <UAVariable NodeId=\"i=13832\" BrowseName=\"InputArguments\" ParentNodeId=\"i=13831\" DataType=\"i=296\" ValueRank=\"1\" ArrayDimensions=\"0\">\n    <DisplayName>InputArguments</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=13831</Reference>\n    </References>\n    <Value>\n      <ListOfExtensionObject xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=297</Identifier>\n          </TypeId>\n          <Body>\n            <Argument>\n              <Name>FileHandle</Name>\n              <DataType>\n                <Identifier>i=7</Identifier>\n              </DataType>\n              <ValueRank>-1</ValueRank>\n              <ArrayDimensions />\n            </Argument>\n          </Body>\n        </ExtensionObject>\n      </ListOfExtensionObject>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"i=13833\" BrowseName=\"OutputArguments\" ParentNodeId=\"i=13831\" DataType=\"i=296\" ValueRank=\"1\" ArrayDimensions=\"0\">\n    <DisplayName>OutputArguments</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=13831</Reference>\n    </References>\n    <Value>\n      <ListOfExtensionObject xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=297</Identifier>\n          </TypeId>\n          <Body>\n            <Argument>\n              <Name>Position</Name>\n              <DataType>\n                <Identifier>i=9</Identifier>\n              </DataType>\n              <ValueRank>-1</ValueRank>\n              <ArrayDimensions />\n            </Argument>\n          </Body>\n        </ExtensionObject>\n      </ListOfExtensionObject>\n    </Value>\n  </UAVariable>\n  <UAMethod NodeId=\"i=13834\" BrowseName=\"SetPosition\" ParentNodeId=\"i=13815\" MethodDeclarationId=\"i=11593\">\n    <DisplayName>SetPosition</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=13835</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=13815</Reference>\n    </References>\n  </UAMethod>\n  <UAVariable NodeId=\"i=13835\" BrowseName=\"InputArguments\" ParentNodeId=\"i=13834\" DataType=\"i=296\" ValueRank=\"1\" ArrayDimensions=\"0\">\n    <DisplayName>InputArguments</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=13834</Reference>\n    </References>\n    <Value>\n      <ListOfExtensionObject xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=297</Identifier>\n          </TypeId>\n          <Body>\n            <Argument>\n              <Name>FileHandle</Name>\n              <DataType>\n                <Identifier>i=7</Identifier>\n              </DataType>\n              <ValueRank>-1</ValueRank>\n              <ArrayDimensions />\n            </Argument>\n          </Body>\n        </ExtensionObject>\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=297</Identifier>\n          </TypeId>\n          <Body>\n            <Argument>\n              <Name>Position</Name>\n              <DataType>\n                <Identifier>i=9</Identifier>\n              </DataType>\n              <ValueRank>-1</ValueRank>\n              <ArrayDimensions />\n            </Argument>\n          </Body>\n        </ExtensionObject>\n      </ListOfExtensionObject>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"i=13836\" BrowseName=\"LastUpdateTime\" ParentNodeId=\"i=13815\" DataType=\"i=294\">\n    <DisplayName>LastUpdateTime</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=13815</Reference>\n    </References>\n  </UAVariable>\n  <UAMethod NodeId=\"i=13837\" BrowseName=\"OpenWithMasks\" ParentNodeId=\"i=13815\" MethodDeclarationId=\"i=12543\">\n    <DisplayName>OpenWithMasks</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=13838</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=13839</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=13815</Reference>\n    </References>\n  </UAMethod>\n  <UAVariable NodeId=\"i=13838\" BrowseName=\"InputArguments\" ParentNodeId=\"i=13837\" DataType=\"i=296\" ValueRank=\"1\" ArrayDimensions=\"0\">\n    <DisplayName>InputArguments</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=13837</Reference>\n    </References>\n    <Value>\n      <ListOfExtensionObject xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=297</Identifier>\n          </TypeId>\n          <Body>\n            <Argument>\n              <Name>Masks</Name>\n              <DataType>\n                <Identifier>i=7</Identifier>\n              </DataType>\n              <ValueRank>-1</ValueRank>\n              <ArrayDimensions />\n            </Argument>\n          </Body>\n        </ExtensionObject>\n      </ListOfExtensionObject>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"i=13839\" BrowseName=\"OutputArguments\" ParentNodeId=\"i=13837\" DataType=\"i=296\" ValueRank=\"1\" ArrayDimensions=\"0\">\n    <DisplayName>OutputArguments</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=13837</Reference>\n    </References>\n    <Value>\n      <ListOfExtensionObject xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=297</Identifier>\n          </TypeId>\n          <Body>\n            <Argument>\n              <Name>FileHandle</Name>\n              <DataType>\n                <Identifier>i=7</Identifier>\n              </DataType>\n              <ValueRank>-1</ValueRank>\n              <ArrayDimensions />\n            </Argument>\n          </Body>\n        </ExtensionObject>\n      </ListOfExtensionObject>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"i=13847\" BrowseName=\"CertificateTypes\" ParentNodeId=\"i=13814\" DataType=\"NodeId\" ValueRank=\"1\" ArrayDimensions=\"0\">\n    <DisplayName>CertificateTypes</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=13814</Reference>\n    </References>\n  </UAVariable>\n  <UAObject NodeId=\"i=13848\" BrowseName=\"DefaultHttpsGroup\" ParentNodeId=\"i=13813\">\n    <DisplayName>DefaultHttpsGroup</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasComponent\">i=13849</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=13881</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=12555</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=80</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=13813</Reference>\n    </References>\n  </UAObject>\n  <UAObject NodeId=\"i=13849\" BrowseName=\"TrustList\" ParentNodeId=\"i=13848\">\n    <DisplayName>TrustList</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=13850</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=13851</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=13852</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=13853</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=13855</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=13858</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=13860</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=13863</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=13865</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=13868</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=13870</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=13871</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=12522</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=13848</Reference>\n    </References>\n  </UAObject>\n  <UAVariable NodeId=\"i=13850\" BrowseName=\"Size\" ParentNodeId=\"i=13849\" DataType=\"UInt64\">\n    <DisplayName>Size</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=13849</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=13851\" BrowseName=\"Writable\" ParentNodeId=\"i=13849\" DataType=\"Boolean\">\n    <DisplayName>Writable</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=13849</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=13852\" BrowseName=\"UserWritable\" ParentNodeId=\"i=13849\" DataType=\"Boolean\">\n    <DisplayName>UserWritable</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=13849</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=13853\" BrowseName=\"OpenCount\" ParentNodeId=\"i=13849\" DataType=\"UInt16\">\n    <DisplayName>OpenCount</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=13849</Reference>\n    </References>\n  </UAVariable>\n  <UAMethod NodeId=\"i=13855\" BrowseName=\"Open\" ParentNodeId=\"i=13849\" MethodDeclarationId=\"i=11580\">\n    <DisplayName>Open</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=13856</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=13857</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=13849</Reference>\n    </References>\n  </UAMethod>\n  <UAVariable NodeId=\"i=13856\" BrowseName=\"InputArguments\" ParentNodeId=\"i=13855\" DataType=\"i=296\" ValueRank=\"1\" ArrayDimensions=\"0\">\n    <DisplayName>InputArguments</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=13855</Reference>\n    </References>\n    <Value>\n      <ListOfExtensionObject xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=297</Identifier>\n          </TypeId>\n          <Body>\n            <Argument>\n              <Name>Mode</Name>\n              <DataType>\n                <Identifier>i=3</Identifier>\n              </DataType>\n              <ValueRank>-1</ValueRank>\n              <ArrayDimensions />\n            </Argument>\n          </Body>\n        </ExtensionObject>\n      </ListOfExtensionObject>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"i=13857\" BrowseName=\"OutputArguments\" ParentNodeId=\"i=13855\" DataType=\"i=296\" ValueRank=\"1\" ArrayDimensions=\"0\">\n    <DisplayName>OutputArguments</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=13855</Reference>\n    </References>\n    <Value>\n      <ListOfExtensionObject xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=297</Identifier>\n          </TypeId>\n          <Body>\n            <Argument>\n              <Name>FileHandle</Name>\n              <DataType>\n                <Identifier>i=7</Identifier>\n              </DataType>\n              <ValueRank>-1</ValueRank>\n              <ArrayDimensions />\n            </Argument>\n          </Body>\n        </ExtensionObject>\n      </ListOfExtensionObject>\n    </Value>\n  </UAVariable>\n  <UAMethod NodeId=\"i=13858\" BrowseName=\"Close\" ParentNodeId=\"i=13849\" MethodDeclarationId=\"i=11583\">\n    <DisplayName>Close</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=13859</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=13849</Reference>\n    </References>\n  </UAMethod>\n  <UAVariable NodeId=\"i=13859\" BrowseName=\"InputArguments\" ParentNodeId=\"i=13858\" DataType=\"i=296\" ValueRank=\"1\" ArrayDimensions=\"0\">\n    <DisplayName>InputArguments</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=13858</Reference>\n    </References>\n    <Value>\n      <ListOfExtensionObject xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=297</Identifier>\n          </TypeId>\n          <Body>\n            <Argument>\n              <Name>FileHandle</Name>\n              <DataType>\n                <Identifier>i=7</Identifier>\n              </DataType>\n              <ValueRank>-1</ValueRank>\n              <ArrayDimensions />\n            </Argument>\n          </Body>\n        </ExtensionObject>\n      </ListOfExtensionObject>\n    </Value>\n  </UAVariable>\n  <UAMethod NodeId=\"i=13860\" BrowseName=\"Read\" ParentNodeId=\"i=13849\" MethodDeclarationId=\"i=11585\">\n    <DisplayName>Read</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=13861</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=13862</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=13849</Reference>\n    </References>\n  </UAMethod>\n  <UAVariable NodeId=\"i=13861\" BrowseName=\"InputArguments\" ParentNodeId=\"i=13860\" DataType=\"i=296\" ValueRank=\"1\" ArrayDimensions=\"0\">\n    <DisplayName>InputArguments</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=13860</Reference>\n    </References>\n    <Value>\n      <ListOfExtensionObject xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=297</Identifier>\n          </TypeId>\n          <Body>\n            <Argument>\n              <Name>FileHandle</Name>\n              <DataType>\n                <Identifier>i=7</Identifier>\n              </DataType>\n              <ValueRank>-1</ValueRank>\n              <ArrayDimensions />\n            </Argument>\n          </Body>\n        </ExtensionObject>\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=297</Identifier>\n          </TypeId>\n          <Body>\n            <Argument>\n              <Name>Length</Name>\n              <DataType>\n                <Identifier>i=6</Identifier>\n              </DataType>\n              <ValueRank>-1</ValueRank>\n              <ArrayDimensions />\n            </Argument>\n          </Body>\n        </ExtensionObject>\n      </ListOfExtensionObject>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"i=13862\" BrowseName=\"OutputArguments\" ParentNodeId=\"i=13860\" DataType=\"i=296\" ValueRank=\"1\" ArrayDimensions=\"0\">\n    <DisplayName>OutputArguments</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=13860</Reference>\n    </References>\n    <Value>\n      <ListOfExtensionObject xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=297</Identifier>\n          </TypeId>\n          <Body>\n            <Argument>\n              <Name>Data</Name>\n              <DataType>\n                <Identifier>i=15</Identifier>\n              </DataType>\n              <ValueRank>-1</ValueRank>\n              <ArrayDimensions />\n            </Argument>\n          </Body>\n        </ExtensionObject>\n      </ListOfExtensionObject>\n    </Value>\n  </UAVariable>\n  <UAMethod NodeId=\"i=13863\" BrowseName=\"Write\" ParentNodeId=\"i=13849\" MethodDeclarationId=\"i=11588\">\n    <DisplayName>Write</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=13864</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=13849</Reference>\n    </References>\n  </UAMethod>\n  <UAVariable NodeId=\"i=13864\" BrowseName=\"InputArguments\" ParentNodeId=\"i=13863\" DataType=\"i=296\" ValueRank=\"1\" ArrayDimensions=\"0\">\n    <DisplayName>InputArguments</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=13863</Reference>\n    </References>\n    <Value>\n      <ListOfExtensionObject xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=297</Identifier>\n          </TypeId>\n          <Body>\n            <Argument>\n              <Name>FileHandle</Name>\n              <DataType>\n                <Identifier>i=7</Identifier>\n              </DataType>\n              <ValueRank>-1</ValueRank>\n              <ArrayDimensions />\n            </Argument>\n          </Body>\n        </ExtensionObject>\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=297</Identifier>\n          </TypeId>\n          <Body>\n            <Argument>\n              <Name>Data</Name>\n              <DataType>\n                <Identifier>i=15</Identifier>\n              </DataType>\n              <ValueRank>-1</ValueRank>\n              <ArrayDimensions />\n            </Argument>\n          </Body>\n        </ExtensionObject>\n      </ListOfExtensionObject>\n    </Value>\n  </UAVariable>\n  <UAMethod NodeId=\"i=13865\" BrowseName=\"GetPosition\" ParentNodeId=\"i=13849\" MethodDeclarationId=\"i=11590\">\n    <DisplayName>GetPosition</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=13866</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=13867</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=13849</Reference>\n    </References>\n  </UAMethod>\n  <UAVariable NodeId=\"i=13866\" BrowseName=\"InputArguments\" ParentNodeId=\"i=13865\" DataType=\"i=296\" ValueRank=\"1\" ArrayDimensions=\"0\">\n    <DisplayName>InputArguments</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=13865</Reference>\n    </References>\n    <Value>\n      <ListOfExtensionObject xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=297</Identifier>\n          </TypeId>\n          <Body>\n            <Argument>\n              <Name>FileHandle</Name>\n              <DataType>\n                <Identifier>i=7</Identifier>\n              </DataType>\n              <ValueRank>-1</ValueRank>\n              <ArrayDimensions />\n            </Argument>\n          </Body>\n        </ExtensionObject>\n      </ListOfExtensionObject>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"i=13867\" BrowseName=\"OutputArguments\" ParentNodeId=\"i=13865\" DataType=\"i=296\" ValueRank=\"1\" ArrayDimensions=\"0\">\n    <DisplayName>OutputArguments</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=13865</Reference>\n    </References>\n    <Value>\n      <ListOfExtensionObject xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=297</Identifier>\n          </TypeId>\n          <Body>\n            <Argument>\n              <Name>Position</Name>\n              <DataType>\n                <Identifier>i=9</Identifier>\n              </DataType>\n              <ValueRank>-1</ValueRank>\n              <ArrayDimensions />\n            </Argument>\n          </Body>\n        </ExtensionObject>\n      </ListOfExtensionObject>\n    </Value>\n  </UAVariable>\n  <UAMethod NodeId=\"i=13868\" BrowseName=\"SetPosition\" ParentNodeId=\"i=13849\" MethodDeclarationId=\"i=11593\">\n    <DisplayName>SetPosition</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=13869</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=13849</Reference>\n    </References>\n  </UAMethod>\n  <UAVariable NodeId=\"i=13869\" BrowseName=\"InputArguments\" ParentNodeId=\"i=13868\" DataType=\"i=296\" ValueRank=\"1\" ArrayDimensions=\"0\">\n    <DisplayName>InputArguments</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=13868</Reference>\n    </References>\n    <Value>\n      <ListOfExtensionObject xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=297</Identifier>\n          </TypeId>\n          <Body>\n            <Argument>\n              <Name>FileHandle</Name>\n              <DataType>\n                <Identifier>i=7</Identifier>\n              </DataType>\n              <ValueRank>-1</ValueRank>\n              <ArrayDimensions />\n            </Argument>\n          </Body>\n        </ExtensionObject>\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=297</Identifier>\n          </TypeId>\n          <Body>\n            <Argument>\n              <Name>Position</Name>\n              <DataType>\n                <Identifier>i=9</Identifier>\n              </DataType>\n              <ValueRank>-1</ValueRank>\n              <ArrayDimensions />\n            </Argument>\n          </Body>\n        </ExtensionObject>\n      </ListOfExtensionObject>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"i=13870\" BrowseName=\"LastUpdateTime\" ParentNodeId=\"i=13849\" DataType=\"i=294\">\n    <DisplayName>LastUpdateTime</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=13849</Reference>\n    </References>\n  </UAVariable>\n  <UAMethod NodeId=\"i=13871\" BrowseName=\"OpenWithMasks\" ParentNodeId=\"i=13849\" MethodDeclarationId=\"i=12543\">\n    <DisplayName>OpenWithMasks</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=13872</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=13873</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=13849</Reference>\n    </References>\n  </UAMethod>\n  <UAVariable NodeId=\"i=13872\" BrowseName=\"InputArguments\" ParentNodeId=\"i=13871\" DataType=\"i=296\" ValueRank=\"1\" ArrayDimensions=\"0\">\n    <DisplayName>InputArguments</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=13871</Reference>\n    </References>\n    <Value>\n      <ListOfExtensionObject xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=297</Identifier>\n          </TypeId>\n          <Body>\n            <Argument>\n              <Name>Masks</Name>\n              <DataType>\n                <Identifier>i=7</Identifier>\n              </DataType>\n              <ValueRank>-1</ValueRank>\n              <ArrayDimensions />\n            </Argument>\n          </Body>\n        </ExtensionObject>\n      </ListOfExtensionObject>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"i=13873\" BrowseName=\"OutputArguments\" ParentNodeId=\"i=13871\" DataType=\"i=296\" ValueRank=\"1\" ArrayDimensions=\"0\">\n    <DisplayName>OutputArguments</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=13871</Reference>\n    </References>\n    <Value>\n      <ListOfExtensionObject xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=297</Identifier>\n          </TypeId>\n          <Body>\n            <Argument>\n              <Name>FileHandle</Name>\n              <DataType>\n                <Identifier>i=7</Identifier>\n              </DataType>\n              <ValueRank>-1</ValueRank>\n              <ArrayDimensions />\n            </Argument>\n          </Body>\n        </ExtensionObject>\n      </ListOfExtensionObject>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"i=13881\" BrowseName=\"CertificateTypes\" ParentNodeId=\"i=13848\" DataType=\"NodeId\" ValueRank=\"1\" ArrayDimensions=\"0\">\n    <DisplayName>CertificateTypes</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=13848</Reference>\n    </References>\n  </UAVariable>\n  <UAObject NodeId=\"i=13882\" BrowseName=\"DefaultUserTokenGroup\" ParentNodeId=\"i=13813\">\n    <DisplayName>DefaultUserTokenGroup</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasComponent\">i=13883</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=13915</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=12555</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=80</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=13813</Reference>\n    </References>\n  </UAObject>\n  <UAObject NodeId=\"i=13883\" BrowseName=\"TrustList\" ParentNodeId=\"i=13882\">\n    <DisplayName>TrustList</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=13884</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=13885</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=13886</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=13887</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=13889</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=13892</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=13894</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=13897</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=13899</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=13902</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=13904</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=13905</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=12522</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=13882</Reference>\n    </References>\n  </UAObject>\n  <UAVariable NodeId=\"i=13884\" BrowseName=\"Size\" ParentNodeId=\"i=13883\" DataType=\"UInt64\">\n    <DisplayName>Size</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=13883</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=13885\" BrowseName=\"Writable\" ParentNodeId=\"i=13883\" DataType=\"Boolean\">\n    <DisplayName>Writable</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=13883</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=13886\" BrowseName=\"UserWritable\" ParentNodeId=\"i=13883\" DataType=\"Boolean\">\n    <DisplayName>UserWritable</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=13883</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=13887\" BrowseName=\"OpenCount\" ParentNodeId=\"i=13883\" DataType=\"UInt16\">\n    <DisplayName>OpenCount</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=13883</Reference>\n    </References>\n  </UAVariable>\n  <UAMethod NodeId=\"i=13889\" BrowseName=\"Open\" ParentNodeId=\"i=13883\" MethodDeclarationId=\"i=11580\">\n    <DisplayName>Open</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=13890</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=13891</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=13883</Reference>\n    </References>\n  </UAMethod>\n  <UAVariable NodeId=\"i=13890\" BrowseName=\"InputArguments\" ParentNodeId=\"i=13889\" DataType=\"i=296\" ValueRank=\"1\" ArrayDimensions=\"0\">\n    <DisplayName>InputArguments</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=13889</Reference>\n    </References>\n    <Value>\n      <ListOfExtensionObject xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=297</Identifier>\n          </TypeId>\n          <Body>\n            <Argument>\n              <Name>Mode</Name>\n              <DataType>\n                <Identifier>i=3</Identifier>\n              </DataType>\n              <ValueRank>-1</ValueRank>\n              <ArrayDimensions />\n            </Argument>\n          </Body>\n        </ExtensionObject>\n      </ListOfExtensionObject>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"i=13891\" BrowseName=\"OutputArguments\" ParentNodeId=\"i=13889\" DataType=\"i=296\" ValueRank=\"1\" ArrayDimensions=\"0\">\n    <DisplayName>OutputArguments</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=13889</Reference>\n    </References>\n    <Value>\n      <ListOfExtensionObject xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=297</Identifier>\n          </TypeId>\n          <Body>\n            <Argument>\n              <Name>FileHandle</Name>\n              <DataType>\n                <Identifier>i=7</Identifier>\n              </DataType>\n              <ValueRank>-1</ValueRank>\n              <ArrayDimensions />\n            </Argument>\n          </Body>\n        </ExtensionObject>\n      </ListOfExtensionObject>\n    </Value>\n  </UAVariable>\n  <UAMethod NodeId=\"i=13892\" BrowseName=\"Close\" ParentNodeId=\"i=13883\" MethodDeclarationId=\"i=11583\">\n    <DisplayName>Close</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=13893</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=13883</Reference>\n    </References>\n  </UAMethod>\n  <UAVariable NodeId=\"i=13893\" BrowseName=\"InputArguments\" ParentNodeId=\"i=13892\" DataType=\"i=296\" ValueRank=\"1\" ArrayDimensions=\"0\">\n    <DisplayName>InputArguments</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=13892</Reference>\n    </References>\n    <Value>\n      <ListOfExtensionObject xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=297</Identifier>\n          </TypeId>\n          <Body>\n            <Argument>\n              <Name>FileHandle</Name>\n              <DataType>\n                <Identifier>i=7</Identifier>\n              </DataType>\n              <ValueRank>-1</ValueRank>\n              <ArrayDimensions />\n            </Argument>\n          </Body>\n        </ExtensionObject>\n      </ListOfExtensionObject>\n    </Value>\n  </UAVariable>\n  <UAMethod NodeId=\"i=13894\" BrowseName=\"Read\" ParentNodeId=\"i=13883\" MethodDeclarationId=\"i=11585\">\n    <DisplayName>Read</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=13895</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=13896</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=13883</Reference>\n    </References>\n  </UAMethod>\n  <UAVariable NodeId=\"i=13895\" BrowseName=\"InputArguments\" ParentNodeId=\"i=13894\" DataType=\"i=296\" ValueRank=\"1\" ArrayDimensions=\"0\">\n    <DisplayName>InputArguments</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=13894</Reference>\n    </References>\n    <Value>\n      <ListOfExtensionObject xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=297</Identifier>\n          </TypeId>\n          <Body>\n            <Argument>\n              <Name>FileHandle</Name>\n              <DataType>\n                <Identifier>i=7</Identifier>\n              </DataType>\n              <ValueRank>-1</ValueRank>\n              <ArrayDimensions />\n            </Argument>\n          </Body>\n        </ExtensionObject>\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=297</Identifier>\n          </TypeId>\n          <Body>\n            <Argument>\n              <Name>Length</Name>\n              <DataType>\n                <Identifier>i=6</Identifier>\n              </DataType>\n              <ValueRank>-1</ValueRank>\n              <ArrayDimensions />\n            </Argument>\n          </Body>\n        </ExtensionObject>\n      </ListOfExtensionObject>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"i=13896\" BrowseName=\"OutputArguments\" ParentNodeId=\"i=13894\" DataType=\"i=296\" ValueRank=\"1\" ArrayDimensions=\"0\">\n    <DisplayName>OutputArguments</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=13894</Reference>\n    </References>\n    <Value>\n      <ListOfExtensionObject xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=297</Identifier>\n          </TypeId>\n          <Body>\n            <Argument>\n              <Name>Data</Name>\n              <DataType>\n                <Identifier>i=15</Identifier>\n              </DataType>\n              <ValueRank>-1</ValueRank>\n              <ArrayDimensions />\n            </Argument>\n          </Body>\n        </ExtensionObject>\n      </ListOfExtensionObject>\n    </Value>\n  </UAVariable>\n  <UAMethod NodeId=\"i=13897\" BrowseName=\"Write\" ParentNodeId=\"i=13883\" MethodDeclarationId=\"i=11588\">\n    <DisplayName>Write</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=13898</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=13883</Reference>\n    </References>\n  </UAMethod>\n  <UAVariable NodeId=\"i=13898\" BrowseName=\"InputArguments\" ParentNodeId=\"i=13897\" DataType=\"i=296\" ValueRank=\"1\" ArrayDimensions=\"0\">\n    <DisplayName>InputArguments</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=13897</Reference>\n    </References>\n    <Value>\n      <ListOfExtensionObject xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=297</Identifier>\n          </TypeId>\n          <Body>\n            <Argument>\n              <Name>FileHandle</Name>\n              <DataType>\n                <Identifier>i=7</Identifier>\n              </DataType>\n              <ValueRank>-1</ValueRank>\n              <ArrayDimensions />\n            </Argument>\n          </Body>\n        </ExtensionObject>\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=297</Identifier>\n          </TypeId>\n          <Body>\n            <Argument>\n              <Name>Data</Name>\n              <DataType>\n                <Identifier>i=15</Identifier>\n              </DataType>\n              <ValueRank>-1</ValueRank>\n              <ArrayDimensions />\n            </Argument>\n          </Body>\n        </ExtensionObject>\n      </ListOfExtensionObject>\n    </Value>\n  </UAVariable>\n  <UAMethod NodeId=\"i=13899\" BrowseName=\"GetPosition\" ParentNodeId=\"i=13883\" MethodDeclarationId=\"i=11590\">\n    <DisplayName>GetPosition</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=13900</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=13901</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=13883</Reference>\n    </References>\n  </UAMethod>\n  <UAVariable NodeId=\"i=13900\" BrowseName=\"InputArguments\" ParentNodeId=\"i=13899\" DataType=\"i=296\" ValueRank=\"1\" ArrayDimensions=\"0\">\n    <DisplayName>InputArguments</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=13899</Reference>\n    </References>\n    <Value>\n      <ListOfExtensionObject xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=297</Identifier>\n          </TypeId>\n          <Body>\n            <Argument>\n              <Name>FileHandle</Name>\n              <DataType>\n                <Identifier>i=7</Identifier>\n              </DataType>\n              <ValueRank>-1</ValueRank>\n              <ArrayDimensions />\n            </Argument>\n          </Body>\n        </ExtensionObject>\n      </ListOfExtensionObject>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"i=13901\" BrowseName=\"OutputArguments\" ParentNodeId=\"i=13899\" DataType=\"i=296\" ValueRank=\"1\" ArrayDimensions=\"0\">\n    <DisplayName>OutputArguments</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=13899</Reference>\n    </References>\n    <Value>\n      <ListOfExtensionObject xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=297</Identifier>\n          </TypeId>\n          <Body>\n            <Argument>\n              <Name>Position</Name>\n              <DataType>\n                <Identifier>i=9</Identifier>\n              </DataType>\n              <ValueRank>-1</ValueRank>\n              <ArrayDimensions />\n            </Argument>\n          </Body>\n        </ExtensionObject>\n      </ListOfExtensionObject>\n    </Value>\n  </UAVariable>\n  <UAMethod NodeId=\"i=13902\" BrowseName=\"SetPosition\" ParentNodeId=\"i=13883\" MethodDeclarationId=\"i=11593\">\n    <DisplayName>SetPosition</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=13903</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=13883</Reference>\n    </References>\n  </UAMethod>\n  <UAVariable NodeId=\"i=13903\" BrowseName=\"InputArguments\" ParentNodeId=\"i=13902\" DataType=\"i=296\" ValueRank=\"1\" ArrayDimensions=\"0\">\n    <DisplayName>InputArguments</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=13902</Reference>\n    </References>\n    <Value>\n      <ListOfExtensionObject xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=297</Identifier>\n          </TypeId>\n          <Body>\n            <Argument>\n              <Name>FileHandle</Name>\n              <DataType>\n                <Identifier>i=7</Identifier>\n              </DataType>\n              <ValueRank>-1</ValueRank>\n              <ArrayDimensions />\n            </Argument>\n          </Body>\n        </ExtensionObject>\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=297</Identifier>\n          </TypeId>\n          <Body>\n            <Argument>\n              <Name>Position</Name>\n              <DataType>\n                <Identifier>i=9</Identifier>\n              </DataType>\n              <ValueRank>-1</ValueRank>\n              <ArrayDimensions />\n            </Argument>\n          </Body>\n        </ExtensionObject>\n      </ListOfExtensionObject>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"i=13904\" BrowseName=\"LastUpdateTime\" ParentNodeId=\"i=13883\" DataType=\"i=294\">\n    <DisplayName>LastUpdateTime</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=13883</Reference>\n    </References>\n  </UAVariable>\n  <UAMethod NodeId=\"i=13905\" BrowseName=\"OpenWithMasks\" ParentNodeId=\"i=13883\" MethodDeclarationId=\"i=12543\">\n    <DisplayName>OpenWithMasks</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=13906</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=13907</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=13883</Reference>\n    </References>\n  </UAMethod>\n  <UAVariable NodeId=\"i=13906\" BrowseName=\"InputArguments\" ParentNodeId=\"i=13905\" DataType=\"i=296\" ValueRank=\"1\" ArrayDimensions=\"0\">\n    <DisplayName>InputArguments</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=13905</Reference>\n    </References>\n    <Value>\n      <ListOfExtensionObject xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=297</Identifier>\n          </TypeId>\n          <Body>\n            <Argument>\n              <Name>Masks</Name>\n              <DataType>\n                <Identifier>i=7</Identifier>\n              </DataType>\n              <ValueRank>-1</ValueRank>\n              <ArrayDimensions />\n            </Argument>\n          </Body>\n        </ExtensionObject>\n      </ListOfExtensionObject>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"i=13907\" BrowseName=\"OutputArguments\" ParentNodeId=\"i=13905\" DataType=\"i=296\" ValueRank=\"1\" ArrayDimensions=\"0\">\n    <DisplayName>OutputArguments</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=13905</Reference>\n    </References>\n    <Value>\n      <ListOfExtensionObject xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=297</Identifier>\n          </TypeId>\n          <Body>\n            <Argument>\n              <Name>FileHandle</Name>\n              <DataType>\n                <Identifier>i=7</Identifier>\n              </DataType>\n              <ValueRank>-1</ValueRank>\n              <ArrayDimensions />\n            </Argument>\n          </Body>\n        </ExtensionObject>\n      </ListOfExtensionObject>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"i=13915\" BrowseName=\"CertificateTypes\" ParentNodeId=\"i=13882\" DataType=\"NodeId\" ValueRank=\"1\" ArrayDimensions=\"0\">\n    <DisplayName>CertificateTypes</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=13882</Reference>\n    </References>\n  </UAVariable>\n  <UAObject NodeId=\"i=13916\" BrowseName=\"&lt;AdditionalGroup&gt;\" SymbolicName=\"AdditionalGroup_Placeholder\" ParentNodeId=\"i=13813\">\n    <DisplayName>&lt;AdditionalGroup&gt;</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasComponent\">i=13917</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=13949</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=12555</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=11508</Reference>\n      <Reference ReferenceType=\"Organizes\" IsForward=\"false\">i=13813</Reference>\n    </References>\n  </UAObject>\n  <UAObject NodeId=\"i=13917\" BrowseName=\"TrustList\" ParentNodeId=\"i=13916\">\n    <DisplayName>TrustList</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=13918</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=13919</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=13920</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=13921</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=13923</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=13926</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=13928</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=13931</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=13933</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=13936</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=13938</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=13939</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=12522</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=13916</Reference>\n    </References>\n  </UAObject>\n  <UAVariable NodeId=\"i=13918\" BrowseName=\"Size\" ParentNodeId=\"i=13917\" DataType=\"UInt64\">\n    <DisplayName>Size</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=13917</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=13919\" BrowseName=\"Writable\" ParentNodeId=\"i=13917\" DataType=\"Boolean\">\n    <DisplayName>Writable</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=13917</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=13920\" BrowseName=\"UserWritable\" ParentNodeId=\"i=13917\" DataType=\"Boolean\">\n    <DisplayName>UserWritable</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=13917</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=13921\" BrowseName=\"OpenCount\" ParentNodeId=\"i=13917\" DataType=\"UInt16\">\n    <DisplayName>OpenCount</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=13917</Reference>\n    </References>\n  </UAVariable>\n  <UAMethod NodeId=\"i=13923\" BrowseName=\"Open\" ParentNodeId=\"i=13917\" MethodDeclarationId=\"i=11580\">\n    <DisplayName>Open</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=13924</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=13925</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=13917</Reference>\n    </References>\n  </UAMethod>\n  <UAVariable NodeId=\"i=13924\" BrowseName=\"InputArguments\" ParentNodeId=\"i=13923\" DataType=\"i=296\" ValueRank=\"1\" ArrayDimensions=\"0\">\n    <DisplayName>InputArguments</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=13923</Reference>\n    </References>\n    <Value>\n      <ListOfExtensionObject xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=297</Identifier>\n          </TypeId>\n          <Body>\n            <Argument>\n              <Name>Mode</Name>\n              <DataType>\n                <Identifier>i=3</Identifier>\n              </DataType>\n              <ValueRank>-1</ValueRank>\n              <ArrayDimensions />\n            </Argument>\n          </Body>\n        </ExtensionObject>\n      </ListOfExtensionObject>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"i=13925\" BrowseName=\"OutputArguments\" ParentNodeId=\"i=13923\" DataType=\"i=296\" ValueRank=\"1\" ArrayDimensions=\"0\">\n    <DisplayName>OutputArguments</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=13923</Reference>\n    </References>\n    <Value>\n      <ListOfExtensionObject xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=297</Identifier>\n          </TypeId>\n          <Body>\n            <Argument>\n              <Name>FileHandle</Name>\n              <DataType>\n                <Identifier>i=7</Identifier>\n              </DataType>\n              <ValueRank>-1</ValueRank>\n              <ArrayDimensions />\n            </Argument>\n          </Body>\n        </ExtensionObject>\n      </ListOfExtensionObject>\n    </Value>\n  </UAVariable>\n  <UAMethod NodeId=\"i=13926\" BrowseName=\"Close\" ParentNodeId=\"i=13917\" MethodDeclarationId=\"i=11583\">\n    <DisplayName>Close</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=13927</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=13917</Reference>\n    </References>\n  </UAMethod>\n  <UAVariable NodeId=\"i=13927\" BrowseName=\"InputArguments\" ParentNodeId=\"i=13926\" DataType=\"i=296\" ValueRank=\"1\" ArrayDimensions=\"0\">\n    <DisplayName>InputArguments</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=13926</Reference>\n    </References>\n    <Value>\n      <ListOfExtensionObject xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=297</Identifier>\n          </TypeId>\n          <Body>\n            <Argument>\n              <Name>FileHandle</Name>\n              <DataType>\n                <Identifier>i=7</Identifier>\n              </DataType>\n              <ValueRank>-1</ValueRank>\n              <ArrayDimensions />\n            </Argument>\n          </Body>\n        </ExtensionObject>\n      </ListOfExtensionObject>\n    </Value>\n  </UAVariable>\n  <UAMethod NodeId=\"i=13928\" BrowseName=\"Read\" ParentNodeId=\"i=13917\" MethodDeclarationId=\"i=11585\">\n    <DisplayName>Read</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=13929</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=13930</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=13917</Reference>\n    </References>\n  </UAMethod>\n  <UAVariable NodeId=\"i=13929\" BrowseName=\"InputArguments\" ParentNodeId=\"i=13928\" DataType=\"i=296\" ValueRank=\"1\" ArrayDimensions=\"0\">\n    <DisplayName>InputArguments</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=13928</Reference>\n    </References>\n    <Value>\n      <ListOfExtensionObject xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=297</Identifier>\n          </TypeId>\n          <Body>\n            <Argument>\n              <Name>FileHandle</Name>\n              <DataType>\n                <Identifier>i=7</Identifier>\n              </DataType>\n              <ValueRank>-1</ValueRank>\n              <ArrayDimensions />\n            </Argument>\n          </Body>\n        </ExtensionObject>\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=297</Identifier>\n          </TypeId>\n          <Body>\n            <Argument>\n              <Name>Length</Name>\n              <DataType>\n                <Identifier>i=6</Identifier>\n              </DataType>\n              <ValueRank>-1</ValueRank>\n              <ArrayDimensions />\n            </Argument>\n          </Body>\n        </ExtensionObject>\n      </ListOfExtensionObject>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"i=13930\" BrowseName=\"OutputArguments\" ParentNodeId=\"i=13928\" DataType=\"i=296\" ValueRank=\"1\" ArrayDimensions=\"0\">\n    <DisplayName>OutputArguments</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=13928</Reference>\n    </References>\n    <Value>\n      <ListOfExtensionObject xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=297</Identifier>\n          </TypeId>\n          <Body>\n            <Argument>\n              <Name>Data</Name>\n              <DataType>\n                <Identifier>i=15</Identifier>\n              </DataType>\n              <ValueRank>-1</ValueRank>\n              <ArrayDimensions />\n            </Argument>\n          </Body>\n        </ExtensionObject>\n      </ListOfExtensionObject>\n    </Value>\n  </UAVariable>\n  <UAMethod NodeId=\"i=13931\" BrowseName=\"Write\" ParentNodeId=\"i=13917\" MethodDeclarationId=\"i=11588\">\n    <DisplayName>Write</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=13932</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=13917</Reference>\n    </References>\n  </UAMethod>\n  <UAVariable NodeId=\"i=13932\" BrowseName=\"InputArguments\" ParentNodeId=\"i=13931\" DataType=\"i=296\" ValueRank=\"1\" ArrayDimensions=\"0\">\n    <DisplayName>InputArguments</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=13931</Reference>\n    </References>\n    <Value>\n      <ListOfExtensionObject xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=297</Identifier>\n          </TypeId>\n          <Body>\n            <Argument>\n              <Name>FileHandle</Name>\n              <DataType>\n                <Identifier>i=7</Identifier>\n              </DataType>\n              <ValueRank>-1</ValueRank>\n              <ArrayDimensions />\n            </Argument>\n          </Body>\n        </ExtensionObject>\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=297</Identifier>\n          </TypeId>\n          <Body>\n            <Argument>\n              <Name>Data</Name>\n              <DataType>\n                <Identifier>i=15</Identifier>\n              </DataType>\n              <ValueRank>-1</ValueRank>\n              <ArrayDimensions />\n            </Argument>\n          </Body>\n        </ExtensionObject>\n      </ListOfExtensionObject>\n    </Value>\n  </UAVariable>\n  <UAMethod NodeId=\"i=13933\" BrowseName=\"GetPosition\" ParentNodeId=\"i=13917\" MethodDeclarationId=\"i=11590\">\n    <DisplayName>GetPosition</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=13934</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=13935</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=13917</Reference>\n    </References>\n  </UAMethod>\n  <UAVariable NodeId=\"i=13934\" BrowseName=\"InputArguments\" ParentNodeId=\"i=13933\" DataType=\"i=296\" ValueRank=\"1\" ArrayDimensions=\"0\">\n    <DisplayName>InputArguments</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=13933</Reference>\n    </References>\n    <Value>\n      <ListOfExtensionObject xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=297</Identifier>\n          </TypeId>\n          <Body>\n            <Argument>\n              <Name>FileHandle</Name>\n              <DataType>\n                <Identifier>i=7</Identifier>\n              </DataType>\n              <ValueRank>-1</ValueRank>\n              <ArrayDimensions />\n            </Argument>\n          </Body>\n        </ExtensionObject>\n      </ListOfExtensionObject>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"i=13935\" BrowseName=\"OutputArguments\" ParentNodeId=\"i=13933\" DataType=\"i=296\" ValueRank=\"1\" ArrayDimensions=\"0\">\n    <DisplayName>OutputArguments</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=13933</Reference>\n    </References>\n    <Value>\n      <ListOfExtensionObject xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=297</Identifier>\n          </TypeId>\n          <Body>\n            <Argument>\n              <Name>Position</Name>\n              <DataType>\n                <Identifier>i=9</Identifier>\n              </DataType>\n              <ValueRank>-1</ValueRank>\n              <ArrayDimensions />\n            </Argument>\n          </Body>\n        </ExtensionObject>\n      </ListOfExtensionObject>\n    </Value>\n  </UAVariable>\n  <UAMethod NodeId=\"i=13936\" BrowseName=\"SetPosition\" ParentNodeId=\"i=13917\" MethodDeclarationId=\"i=11593\">\n    <DisplayName>SetPosition</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=13937</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=13917</Reference>\n    </References>\n  </UAMethod>\n  <UAVariable NodeId=\"i=13937\" BrowseName=\"InputArguments\" ParentNodeId=\"i=13936\" DataType=\"i=296\" ValueRank=\"1\" ArrayDimensions=\"0\">\n    <DisplayName>InputArguments</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=13936</Reference>\n    </References>\n    <Value>\n      <ListOfExtensionObject xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=297</Identifier>\n          </TypeId>\n          <Body>\n            <Argument>\n              <Name>FileHandle</Name>\n              <DataType>\n                <Identifier>i=7</Identifier>\n              </DataType>\n              <ValueRank>-1</ValueRank>\n              <ArrayDimensions />\n            </Argument>\n          </Body>\n        </ExtensionObject>\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=297</Identifier>\n          </TypeId>\n          <Body>\n            <Argument>\n              <Name>Position</Name>\n              <DataType>\n                <Identifier>i=9</Identifier>\n              </DataType>\n              <ValueRank>-1</ValueRank>\n              <ArrayDimensions />\n            </Argument>\n          </Body>\n        </ExtensionObject>\n      </ListOfExtensionObject>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"i=13938\" BrowseName=\"LastUpdateTime\" ParentNodeId=\"i=13917\" DataType=\"i=294\">\n    <DisplayName>LastUpdateTime</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=13917</Reference>\n    </References>\n  </UAVariable>\n  <UAMethod NodeId=\"i=13939\" BrowseName=\"OpenWithMasks\" ParentNodeId=\"i=13917\" MethodDeclarationId=\"i=12543\">\n    <DisplayName>OpenWithMasks</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=13940</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=13941</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=13917</Reference>\n    </References>\n  </UAMethod>\n  <UAVariable NodeId=\"i=13940\" BrowseName=\"InputArguments\" ParentNodeId=\"i=13939\" DataType=\"i=296\" ValueRank=\"1\" ArrayDimensions=\"0\">\n    <DisplayName>InputArguments</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=13939</Reference>\n    </References>\n    <Value>\n      <ListOfExtensionObject xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=297</Identifier>\n          </TypeId>\n          <Body>\n            <Argument>\n              <Name>Masks</Name>\n              <DataType>\n                <Identifier>i=7</Identifier>\n              </DataType>\n              <ValueRank>-1</ValueRank>\n              <ArrayDimensions />\n            </Argument>\n          </Body>\n        </ExtensionObject>\n      </ListOfExtensionObject>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"i=13941\" BrowseName=\"OutputArguments\" ParentNodeId=\"i=13939\" DataType=\"i=296\" ValueRank=\"1\" ArrayDimensions=\"0\">\n    <DisplayName>OutputArguments</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=13939</Reference>\n    </References>\n    <Value>\n      <ListOfExtensionObject xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=297</Identifier>\n          </TypeId>\n          <Body>\n            <Argument>\n              <Name>FileHandle</Name>\n              <DataType>\n                <Identifier>i=7</Identifier>\n              </DataType>\n              <ValueRank>-1</ValueRank>\n              <ArrayDimensions />\n            </Argument>\n          </Body>\n        </ExtensionObject>\n      </ListOfExtensionObject>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"i=13949\" BrowseName=\"CertificateTypes\" ParentNodeId=\"i=13916\" DataType=\"NodeId\" ValueRank=\"1\" ArrayDimensions=\"0\">\n    <DisplayName>CertificateTypes</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=13916</Reference>\n    </References>\n  </UAVariable>\n  <UAObjectType NodeId=\"i=12556\" BrowseName=\"CertificateType\" IsAbstract=\"true\">\n    <DisplayName>CertificateType</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=58</Reference>\n    </References>\n  </UAObjectType>\n  <UAObjectType NodeId=\"i=12557\" BrowseName=\"ApplicationCertificateType\" IsAbstract=\"true\">\n    <DisplayName>ApplicationCertificateType</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=12556</Reference>\n    </References>\n  </UAObjectType>\n  <UAObjectType NodeId=\"i=12558\" BrowseName=\"HttpsCertificateType\">\n    <DisplayName>HttpsCertificateType</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=12556</Reference>\n    </References>\n  </UAObjectType>\n  <UAObjectType NodeId=\"i=15181\" BrowseName=\"UserCredentialCertificateType\">\n    <DisplayName>UserCredentialCertificateType</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=12556</Reference>\n    </References>\n  </UAObjectType>\n  <UAObjectType NodeId=\"i=12559\" BrowseName=\"RsaMinApplicationCertificateType\">\n    <DisplayName>RsaMinApplicationCertificateType</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=12557</Reference>\n    </References>\n  </UAObjectType>\n  <UAObjectType NodeId=\"i=12560\" BrowseName=\"RsaSha256ApplicationCertificateType\">\n    <DisplayName>RsaSha256ApplicationCertificateType</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=12557</Reference>\n    </References>\n  </UAObjectType>\n  <UAObjectType NodeId=\"i=23537\" BrowseName=\"EccApplicationCertificateType\">\n    <DisplayName>EccApplicationCertificateType</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=12557</Reference>\n    </References>\n  </UAObjectType>\n  <UAObjectType NodeId=\"i=23538\" BrowseName=\"EccNistP256ApplicationCertificateType\">\n    <DisplayName>EccNistP256ApplicationCertificateType</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=23537</Reference>\n    </References>\n  </UAObjectType>\n  <UAObjectType NodeId=\"i=23539\" BrowseName=\"EccNistP384ApplicationCertificateType\">\n    <DisplayName>EccNistP384ApplicationCertificateType</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=23537</Reference>\n    </References>\n  </UAObjectType>\n  <UAObjectType NodeId=\"i=23540\" BrowseName=\"EccBrainpoolP256r1ApplicationCertificateType\">\n    <DisplayName>EccBrainpoolP256r1ApplicationCertificateType</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=23537</Reference>\n    </References>\n  </UAObjectType>\n  <UAObjectType NodeId=\"i=23541\" BrowseName=\"EccBrainpoolP384r1ApplicationCertificateType\">\n    <DisplayName>EccBrainpoolP384r1ApplicationCertificateType</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=23537</Reference>\n    </References>\n  </UAObjectType>\n  <UAObjectType NodeId=\"i=23542\" BrowseName=\"EccCurve25519ApplicationCertificateType\">\n    <DisplayName>EccCurve25519ApplicationCertificateType</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=23537</Reference>\n    </References>\n  </UAObjectType>\n  <UAObjectType NodeId=\"i=23543\" BrowseName=\"EccCurve448ApplicationCertificateType\">\n    <DisplayName>EccCurve448ApplicationCertificateType</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=23537</Reference>\n    </References>\n  </UAObjectType>\n  <UAObjectType NodeId=\"i=12561\" BrowseName=\"TrustListUpdatedAuditEventType\" IsAbstract=\"true\">\n    <DisplayName>TrustListUpdatedAuditEventType</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=2127</Reference>\n    </References>\n  </UAObjectType>\n  <UAObjectType NodeId=\"i=12581\" BrowseName=\"ServerConfigurationType\">\n    <DisplayName>ServerConfigurationType</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasComponent\">i=13950</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=12708</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=12583</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=12584</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=12585</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=12616</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=12734</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=12731</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=12775</Reference>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=58</Reference>\n    </References>\n  </UAObjectType>\n  <UAObject NodeId=\"i=13950\" BrowseName=\"CertificateGroups\" ParentNodeId=\"i=12581\">\n    <DisplayName>CertificateGroups</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasComponent\">i=13951</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=13813</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=12581</Reference>\n    </References>\n  </UAObject>\n  <UAObject NodeId=\"i=13951\" BrowseName=\"DefaultApplicationGroup\" ParentNodeId=\"i=13950\">\n    <DisplayName>DefaultApplicationGroup</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasComponent\">i=13952</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=13984</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=12555</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=13950</Reference>\n    </References>\n  </UAObject>\n  <UAObject NodeId=\"i=13952\" BrowseName=\"TrustList\" ParentNodeId=\"i=13951\">\n    <DisplayName>TrustList</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=13953</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=13954</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=13955</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=13956</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=13958</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=13961</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=13963</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=13966</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=13968</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=13971</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=13973</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=13974</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=12522</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=13951</Reference>\n    </References>\n  </UAObject>\n  <UAVariable NodeId=\"i=13953\" BrowseName=\"Size\" ParentNodeId=\"i=13952\" DataType=\"UInt64\">\n    <DisplayName>Size</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=13952</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=13954\" BrowseName=\"Writable\" ParentNodeId=\"i=13952\" DataType=\"Boolean\">\n    <DisplayName>Writable</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=13952</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=13955\" BrowseName=\"UserWritable\" ParentNodeId=\"i=13952\" DataType=\"Boolean\">\n    <DisplayName>UserWritable</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=13952</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=13956\" BrowseName=\"OpenCount\" ParentNodeId=\"i=13952\" DataType=\"UInt16\">\n    <DisplayName>OpenCount</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=13952</Reference>\n    </References>\n  </UAVariable>\n  <UAMethod NodeId=\"i=13958\" BrowseName=\"Open\" ParentNodeId=\"i=13952\" MethodDeclarationId=\"i=11580\">\n    <DisplayName>Open</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=13959</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=13960</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=13952</Reference>\n    </References>\n  </UAMethod>\n  <UAVariable NodeId=\"i=13959\" BrowseName=\"InputArguments\" ParentNodeId=\"i=13958\" DataType=\"i=296\" ValueRank=\"1\" ArrayDimensions=\"0\">\n    <DisplayName>InputArguments</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=13958</Reference>\n    </References>\n    <Value>\n      <ListOfExtensionObject xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=297</Identifier>\n          </TypeId>\n          <Body>\n            <Argument>\n              <Name>Mode</Name>\n              <DataType>\n                <Identifier>i=3</Identifier>\n              </DataType>\n              <ValueRank>-1</ValueRank>\n              <ArrayDimensions />\n            </Argument>\n          </Body>\n        </ExtensionObject>\n      </ListOfExtensionObject>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"i=13960\" BrowseName=\"OutputArguments\" ParentNodeId=\"i=13958\" DataType=\"i=296\" ValueRank=\"1\" ArrayDimensions=\"0\">\n    <DisplayName>OutputArguments</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=13958</Reference>\n    </References>\n    <Value>\n      <ListOfExtensionObject xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=297</Identifier>\n          </TypeId>\n          <Body>\n            <Argument>\n              <Name>FileHandle</Name>\n              <DataType>\n                <Identifier>i=7</Identifier>\n              </DataType>\n              <ValueRank>-1</ValueRank>\n              <ArrayDimensions />\n            </Argument>\n          </Body>\n        </ExtensionObject>\n      </ListOfExtensionObject>\n    </Value>\n  </UAVariable>\n  <UAMethod NodeId=\"i=13961\" BrowseName=\"Close\" ParentNodeId=\"i=13952\" MethodDeclarationId=\"i=11583\">\n    <DisplayName>Close</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=13962</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=13952</Reference>\n    </References>\n  </UAMethod>\n  <UAVariable NodeId=\"i=13962\" BrowseName=\"InputArguments\" ParentNodeId=\"i=13961\" DataType=\"i=296\" ValueRank=\"1\" ArrayDimensions=\"0\">\n    <DisplayName>InputArguments</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=13961</Reference>\n    </References>\n    <Value>\n      <ListOfExtensionObject xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=297</Identifier>\n          </TypeId>\n          <Body>\n            <Argument>\n              <Name>FileHandle</Name>\n              <DataType>\n                <Identifier>i=7</Identifier>\n              </DataType>\n              <ValueRank>-1</ValueRank>\n              <ArrayDimensions />\n            </Argument>\n          </Body>\n        </ExtensionObject>\n      </ListOfExtensionObject>\n    </Value>\n  </UAVariable>\n  <UAMethod NodeId=\"i=13963\" BrowseName=\"Read\" ParentNodeId=\"i=13952\" MethodDeclarationId=\"i=11585\">\n    <DisplayName>Read</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=13964</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=13965</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=13952</Reference>\n    </References>\n  </UAMethod>\n  <UAVariable NodeId=\"i=13964\" BrowseName=\"InputArguments\" ParentNodeId=\"i=13963\" DataType=\"i=296\" ValueRank=\"1\" ArrayDimensions=\"0\">\n    <DisplayName>InputArguments</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=13963</Reference>\n    </References>\n    <Value>\n      <ListOfExtensionObject xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=297</Identifier>\n          </TypeId>\n          <Body>\n            <Argument>\n              <Name>FileHandle</Name>\n              <DataType>\n                <Identifier>i=7</Identifier>\n              </DataType>\n              <ValueRank>-1</ValueRank>\n              <ArrayDimensions />\n            </Argument>\n          </Body>\n        </ExtensionObject>\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=297</Identifier>\n          </TypeId>\n          <Body>\n            <Argument>\n              <Name>Length</Name>\n              <DataType>\n                <Identifier>i=6</Identifier>\n              </DataType>\n              <ValueRank>-1</ValueRank>\n              <ArrayDimensions />\n            </Argument>\n          </Body>\n        </ExtensionObject>\n      </ListOfExtensionObject>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"i=13965\" BrowseName=\"OutputArguments\" ParentNodeId=\"i=13963\" DataType=\"i=296\" ValueRank=\"1\" ArrayDimensions=\"0\">\n    <DisplayName>OutputArguments</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=13963</Reference>\n    </References>\n    <Value>\n      <ListOfExtensionObject xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=297</Identifier>\n          </TypeId>\n          <Body>\n            <Argument>\n              <Name>Data</Name>\n              <DataType>\n                <Identifier>i=15</Identifier>\n              </DataType>\n              <ValueRank>-1</ValueRank>\n              <ArrayDimensions />\n            </Argument>\n          </Body>\n        </ExtensionObject>\n      </ListOfExtensionObject>\n    </Value>\n  </UAVariable>\n  <UAMethod NodeId=\"i=13966\" BrowseName=\"Write\" ParentNodeId=\"i=13952\" MethodDeclarationId=\"i=11588\">\n    <DisplayName>Write</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=13967</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=13952</Reference>\n    </References>\n  </UAMethod>\n  <UAVariable NodeId=\"i=13967\" BrowseName=\"InputArguments\" ParentNodeId=\"i=13966\" DataType=\"i=296\" ValueRank=\"1\" ArrayDimensions=\"0\">\n    <DisplayName>InputArguments</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=13966</Reference>\n    </References>\n    <Value>\n      <ListOfExtensionObject xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=297</Identifier>\n          </TypeId>\n          <Body>\n            <Argument>\n              <Name>FileHandle</Name>\n              <DataType>\n                <Identifier>i=7</Identifier>\n              </DataType>\n              <ValueRank>-1</ValueRank>\n              <ArrayDimensions />\n            </Argument>\n          </Body>\n        </ExtensionObject>\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=297</Identifier>\n          </TypeId>\n          <Body>\n            <Argument>\n              <Name>Data</Name>\n              <DataType>\n                <Identifier>i=15</Identifier>\n              </DataType>\n              <ValueRank>-1</ValueRank>\n              <ArrayDimensions />\n            </Argument>\n          </Body>\n        </ExtensionObject>\n      </ListOfExtensionObject>\n    </Value>\n  </UAVariable>\n  <UAMethod NodeId=\"i=13968\" BrowseName=\"GetPosition\" ParentNodeId=\"i=13952\" MethodDeclarationId=\"i=11590\">\n    <DisplayName>GetPosition</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=13969</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=13970</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=13952</Reference>\n    </References>\n  </UAMethod>\n  <UAVariable NodeId=\"i=13969\" BrowseName=\"InputArguments\" ParentNodeId=\"i=13968\" DataType=\"i=296\" ValueRank=\"1\" ArrayDimensions=\"0\">\n    <DisplayName>InputArguments</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=13968</Reference>\n    </References>\n    <Value>\n      <ListOfExtensionObject xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=297</Identifier>\n          </TypeId>\n          <Body>\n            <Argument>\n              <Name>FileHandle</Name>\n              <DataType>\n                <Identifier>i=7</Identifier>\n              </DataType>\n              <ValueRank>-1</ValueRank>\n              <ArrayDimensions />\n            </Argument>\n          </Body>\n        </ExtensionObject>\n      </ListOfExtensionObject>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"i=13970\" BrowseName=\"OutputArguments\" ParentNodeId=\"i=13968\" DataType=\"i=296\" ValueRank=\"1\" ArrayDimensions=\"0\">\n    <DisplayName>OutputArguments</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=13968</Reference>\n    </References>\n    <Value>\n      <ListOfExtensionObject xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=297</Identifier>\n          </TypeId>\n          <Body>\n            <Argument>\n              <Name>Position</Name>\n              <DataType>\n                <Identifier>i=9</Identifier>\n              </DataType>\n              <ValueRank>-1</ValueRank>\n              <ArrayDimensions />\n            </Argument>\n          </Body>\n        </ExtensionObject>\n      </ListOfExtensionObject>\n    </Value>\n  </UAVariable>\n  <UAMethod NodeId=\"i=13971\" BrowseName=\"SetPosition\" ParentNodeId=\"i=13952\" MethodDeclarationId=\"i=11593\">\n    <DisplayName>SetPosition</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=13972</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=13952</Reference>\n    </References>\n  </UAMethod>\n  <UAVariable NodeId=\"i=13972\" BrowseName=\"InputArguments\" ParentNodeId=\"i=13971\" DataType=\"i=296\" ValueRank=\"1\" ArrayDimensions=\"0\">\n    <DisplayName>InputArguments</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=13971</Reference>\n    </References>\n    <Value>\n      <ListOfExtensionObject xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=297</Identifier>\n          </TypeId>\n          <Body>\n            <Argument>\n              <Name>FileHandle</Name>\n              <DataType>\n                <Identifier>i=7</Identifier>\n              </DataType>\n              <ValueRank>-1</ValueRank>\n              <ArrayDimensions />\n            </Argument>\n          </Body>\n        </ExtensionObject>\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=297</Identifier>\n          </TypeId>\n          <Body>\n            <Argument>\n              <Name>Position</Name>\n              <DataType>\n                <Identifier>i=9</Identifier>\n              </DataType>\n              <ValueRank>-1</ValueRank>\n              <ArrayDimensions />\n            </Argument>\n          </Body>\n        </ExtensionObject>\n      </ListOfExtensionObject>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"i=13973\" BrowseName=\"LastUpdateTime\" ParentNodeId=\"i=13952\" DataType=\"i=294\">\n    <DisplayName>LastUpdateTime</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=13952</Reference>\n    </References>\n  </UAVariable>\n  <UAMethod NodeId=\"i=13974\" BrowseName=\"OpenWithMasks\" ParentNodeId=\"i=13952\" MethodDeclarationId=\"i=12543\">\n    <DisplayName>OpenWithMasks</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=13975</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=13976</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=13952</Reference>\n    </References>\n  </UAMethod>\n  <UAVariable NodeId=\"i=13975\" BrowseName=\"InputArguments\" ParentNodeId=\"i=13974\" DataType=\"i=296\" ValueRank=\"1\" ArrayDimensions=\"0\">\n    <DisplayName>InputArguments</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=13974</Reference>\n    </References>\n    <Value>\n      <ListOfExtensionObject xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=297</Identifier>\n          </TypeId>\n          <Body>\n            <Argument>\n              <Name>Masks</Name>\n              <DataType>\n                <Identifier>i=7</Identifier>\n              </DataType>\n              <ValueRank>-1</ValueRank>\n              <ArrayDimensions />\n            </Argument>\n          </Body>\n        </ExtensionObject>\n      </ListOfExtensionObject>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"i=13976\" BrowseName=\"OutputArguments\" ParentNodeId=\"i=13974\" DataType=\"i=296\" ValueRank=\"1\" ArrayDimensions=\"0\">\n    <DisplayName>OutputArguments</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=13974</Reference>\n    </References>\n    <Value>\n      <ListOfExtensionObject xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=297</Identifier>\n          </TypeId>\n          <Body>\n            <Argument>\n              <Name>FileHandle</Name>\n              <DataType>\n                <Identifier>i=7</Identifier>\n              </DataType>\n              <ValueRank>-1</ValueRank>\n              <ArrayDimensions />\n            </Argument>\n          </Body>\n        </ExtensionObject>\n      </ListOfExtensionObject>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"i=13984\" BrowseName=\"CertificateTypes\" ParentNodeId=\"i=13951\" DataType=\"NodeId\" ValueRank=\"1\" ArrayDimensions=\"0\">\n    <DisplayName>CertificateTypes</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=13951</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=12708\" BrowseName=\"ServerCapabilities\" ParentNodeId=\"i=12581\" DataType=\"String\" ValueRank=\"1\" ArrayDimensions=\"0\">\n    <DisplayName>ServerCapabilities</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=12581</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=12583\" BrowseName=\"SupportedPrivateKeyFormats\" ParentNodeId=\"i=12581\" DataType=\"String\" ValueRank=\"1\" ArrayDimensions=\"0\">\n    <DisplayName>SupportedPrivateKeyFormats</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=12581</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=12584\" BrowseName=\"MaxTrustListSize\" ParentNodeId=\"i=12581\" DataType=\"UInt32\">\n    <DisplayName>MaxTrustListSize</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=12581</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=12585\" BrowseName=\"MulticastDnsEnabled\" ParentNodeId=\"i=12581\" DataType=\"Boolean\">\n    <DisplayName>MulticastDnsEnabled</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=12581</Reference>\n    </References>\n  </UAVariable>\n  <UAMethod NodeId=\"i=12616\" BrowseName=\"UpdateCertificate\" ParentNodeId=\"i=12581\">\n    <DisplayName>UpdateCertificate</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=12617</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=12618</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=12581</Reference>\n    </References>\n  </UAMethod>\n  <UAVariable NodeId=\"i=12617\" BrowseName=\"InputArguments\" ParentNodeId=\"i=12616\" DataType=\"i=296\" ValueRank=\"1\" ArrayDimensions=\"0\">\n    <DisplayName>InputArguments</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=12616</Reference>\n    </References>\n    <Value>\n      <ListOfExtensionObject xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=297</Identifier>\n          </TypeId>\n          <Body>\n            <Argument>\n              <Name>CertificateGroupId</Name>\n              <DataType>\n                <Identifier>i=17</Identifier>\n              </DataType>\n              <ValueRank>-1</ValueRank>\n              <ArrayDimensions />\n            </Argument>\n          </Body>\n        </ExtensionObject>\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=297</Identifier>\n          </TypeId>\n          <Body>\n            <Argument>\n              <Name>CertificateTypeId</Name>\n              <DataType>\n                <Identifier>i=17</Identifier>\n              </DataType>\n              <ValueRank>-1</ValueRank>\n              <ArrayDimensions />\n            </Argument>\n          </Body>\n        </ExtensionObject>\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=297</Identifier>\n          </TypeId>\n          <Body>\n            <Argument>\n              <Name>Certificate</Name>\n              <DataType>\n                <Identifier>i=15</Identifier>\n              </DataType>\n              <ValueRank>-1</ValueRank>\n              <ArrayDimensions />\n            </Argument>\n          </Body>\n        </ExtensionObject>\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=297</Identifier>\n          </TypeId>\n          <Body>\n            <Argument>\n              <Name>IssuerCertificates</Name>\n              <DataType>\n                <Identifier>i=15</Identifier>\n              </DataType>\n              <ValueRank>1</ValueRank>\n              <ArrayDimensions>\n                <UInt32>0</UInt32>\n              </ArrayDimensions>\n            </Argument>\n          </Body>\n        </ExtensionObject>\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=297</Identifier>\n          </TypeId>\n          <Body>\n            <Argument>\n              <Name>PrivateKeyFormat</Name>\n              <DataType>\n                <Identifier>i=12</Identifier>\n              </DataType>\n              <ValueRank>-1</ValueRank>\n              <ArrayDimensions />\n            </Argument>\n          </Body>\n        </ExtensionObject>\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=297</Identifier>\n          </TypeId>\n          <Body>\n            <Argument>\n              <Name>PrivateKey</Name>\n              <DataType>\n                <Identifier>i=15</Identifier>\n              </DataType>\n              <ValueRank>-1</ValueRank>\n              <ArrayDimensions />\n            </Argument>\n          </Body>\n        </ExtensionObject>\n      </ListOfExtensionObject>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"i=12618\" BrowseName=\"OutputArguments\" ParentNodeId=\"i=12616\" DataType=\"i=296\" ValueRank=\"1\" ArrayDimensions=\"0\">\n    <DisplayName>OutputArguments</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=12616</Reference>\n    </References>\n    <Value>\n      <ListOfExtensionObject xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=297</Identifier>\n          </TypeId>\n          <Body>\n            <Argument>\n              <Name>ApplyChangesRequired</Name>\n              <DataType>\n                <Identifier>i=1</Identifier>\n              </DataType>\n              <ValueRank>-1</ValueRank>\n              <ArrayDimensions />\n            </Argument>\n          </Body>\n        </ExtensionObject>\n      </ListOfExtensionObject>\n    </Value>\n  </UAVariable>\n  <UAMethod NodeId=\"i=12734\" BrowseName=\"ApplyChanges\" ParentNodeId=\"i=12581\">\n    <DisplayName>ApplyChanges</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=12581</Reference>\n    </References>\n  </UAMethod>\n  <UAMethod NodeId=\"i=12731\" BrowseName=\"CreateSigningRequest\" ParentNodeId=\"i=12581\">\n    <DisplayName>CreateSigningRequest</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=12732</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=12733</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=12581</Reference>\n    </References>\n  </UAMethod>\n  <UAVariable NodeId=\"i=12732\" BrowseName=\"InputArguments\" ParentNodeId=\"i=12731\" DataType=\"i=296\" ValueRank=\"1\" ArrayDimensions=\"0\">\n    <DisplayName>InputArguments</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=12731</Reference>\n    </References>\n    <Value>\n      <ListOfExtensionObject xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=297</Identifier>\n          </TypeId>\n          <Body>\n            <Argument>\n              <Name>CertificateGroupId</Name>\n              <DataType>\n                <Identifier>i=17</Identifier>\n              </DataType>\n              <ValueRank>-1</ValueRank>\n              <ArrayDimensions />\n            </Argument>\n          </Body>\n        </ExtensionObject>\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=297</Identifier>\n          </TypeId>\n          <Body>\n            <Argument>\n              <Name>CertificateTypeId</Name>\n              <DataType>\n                <Identifier>i=17</Identifier>\n              </DataType>\n              <ValueRank>-1</ValueRank>\n              <ArrayDimensions />\n            </Argument>\n          </Body>\n        </ExtensionObject>\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=297</Identifier>\n          </TypeId>\n          <Body>\n            <Argument>\n              <Name>SubjectName</Name>\n              <DataType>\n                <Identifier>i=12</Identifier>\n              </DataType>\n              <ValueRank>-1</ValueRank>\n              <ArrayDimensions />\n            </Argument>\n          </Body>\n        </ExtensionObject>\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=297</Identifier>\n          </TypeId>\n          <Body>\n            <Argument>\n              <Name>RegeneratePrivateKey</Name>\n              <DataType>\n                <Identifier>i=1</Identifier>\n              </DataType>\n              <ValueRank>-1</ValueRank>\n              <ArrayDimensions />\n            </Argument>\n          </Body>\n        </ExtensionObject>\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=297</Identifier>\n          </TypeId>\n          <Body>\n            <Argument>\n              <Name>Nonce</Name>\n              <DataType>\n                <Identifier>i=15</Identifier>\n              </DataType>\n              <ValueRank>-1</ValueRank>\n              <ArrayDimensions />\n            </Argument>\n          </Body>\n        </ExtensionObject>\n      </ListOfExtensionObject>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"i=12733\" BrowseName=\"OutputArguments\" ParentNodeId=\"i=12731\" DataType=\"i=296\" ValueRank=\"1\" ArrayDimensions=\"0\">\n    <DisplayName>OutputArguments</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=12731</Reference>\n    </References>\n    <Value>\n      <ListOfExtensionObject xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=297</Identifier>\n          </TypeId>\n          <Body>\n            <Argument>\n              <Name>CertificateRequest</Name>\n              <DataType>\n                <Identifier>i=15</Identifier>\n              </DataType>\n              <ValueRank>-1</ValueRank>\n              <ArrayDimensions />\n            </Argument>\n          </Body>\n        </ExtensionObject>\n      </ListOfExtensionObject>\n    </Value>\n  </UAVariable>\n  <UAMethod NodeId=\"i=12775\" BrowseName=\"GetRejectedList\" ParentNodeId=\"i=12581\">\n    <DisplayName>GetRejectedList</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=12776</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=12581</Reference>\n    </References>\n  </UAMethod>\n  <UAVariable NodeId=\"i=12776\" BrowseName=\"OutputArguments\" ParentNodeId=\"i=12775\" DataType=\"i=296\" ValueRank=\"1\" ArrayDimensions=\"0\">\n    <DisplayName>OutputArguments</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=12775</Reference>\n    </References>\n    <Value>\n      <ListOfExtensionObject xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=297</Identifier>\n          </TypeId>\n          <Body>\n            <Argument>\n              <Name>Certificates</Name>\n              <DataType>\n                <Identifier>i=15</Identifier>\n              </DataType>\n              <ValueRank>1</ValueRank>\n              <ArrayDimensions>\n                <UInt32>0</UInt32>\n              </ArrayDimensions>\n            </Argument>\n          </Body>\n        </ExtensionObject>\n      </ListOfExtensionObject>\n    </Value>\n  </UAVariable>\n  <UAObjectType NodeId=\"i=12620\" BrowseName=\"CertificateUpdatedAuditEventType\" IsAbstract=\"true\">\n    <DisplayName>CertificateUpdatedAuditEventType</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=13735</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=13736</Reference>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=2127</Reference>\n    </References>\n  </UAObjectType>\n  <UAVariable NodeId=\"i=13735\" BrowseName=\"CertificateGroup\" ParentNodeId=\"i=12620\" DataType=\"NodeId\">\n    <DisplayName>CertificateGroup</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=12620</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=13736\" BrowseName=\"CertificateType\" ParentNodeId=\"i=12620\" DataType=\"NodeId\">\n    <DisplayName>CertificateType</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=12620</Reference>\n    </References>\n  </UAVariable>\n  <UAObject NodeId=\"i=12637\" BrowseName=\"ServerConfiguration\">\n    <DisplayName>ServerConfiguration</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasComponent\">i=14053</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=12710</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=12639</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=12640</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=12641</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=13737</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=12740</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=12737</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=12777</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=2253</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=12581</Reference>\n    </References>\n  </UAObject>\n  <UAObject NodeId=\"i=14053\" BrowseName=\"CertificateGroups\" ParentNodeId=\"i=12637\">\n    <DisplayName>CertificateGroups</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasComponent\">i=14156</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=14088</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=14122</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=13813</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=12637</Reference>\n    </References>\n  </UAObject>\n  <UAObject NodeId=\"i=14156\" BrowseName=\"DefaultApplicationGroup\" ParentNodeId=\"i=14053\">\n    <DisplayName>DefaultApplicationGroup</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasComponent\">i=12642</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=14161</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=12555</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=14053</Reference>\n    </References>\n  </UAObject>\n  <UAObject NodeId=\"i=12642\" BrowseName=\"TrustList\" ParentNodeId=\"i=14156\">\n    <DisplayName>TrustList</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=12643</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=14157</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=14158</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=12646</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=12647</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=12650</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=12652</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=12655</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=12657</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=12660</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=12662</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=12663</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=12666</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=12668</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=12670</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=12522</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=14156</Reference>\n    </References>\n  </UAObject>\n  <UAVariable NodeId=\"i=12643\" BrowseName=\"Size\" ParentNodeId=\"i=12642\" DataType=\"UInt64\">\n    <DisplayName>Size</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=12642</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=14157\" BrowseName=\"Writable\" ParentNodeId=\"i=12642\" DataType=\"Boolean\">\n    <DisplayName>Writable</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=12642</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=14158\" BrowseName=\"UserWritable\" ParentNodeId=\"i=12642\" DataType=\"Boolean\">\n    <DisplayName>UserWritable</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=12642</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=12646\" BrowseName=\"OpenCount\" ParentNodeId=\"i=12642\" DataType=\"UInt16\">\n    <DisplayName>OpenCount</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=12642</Reference>\n    </References>\n  </UAVariable>\n  <UAMethod NodeId=\"i=12647\" BrowseName=\"Open\" ParentNodeId=\"i=12642\" MethodDeclarationId=\"i=11580\">\n    <DisplayName>Open</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=12648</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=12649</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=12642</Reference>\n    </References>\n  </UAMethod>\n  <UAVariable NodeId=\"i=12648\" BrowseName=\"InputArguments\" ParentNodeId=\"i=12647\" DataType=\"i=296\" ValueRank=\"1\" ArrayDimensions=\"0\">\n    <DisplayName>InputArguments</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=12647</Reference>\n    </References>\n    <Value>\n      <ListOfExtensionObject xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=297</Identifier>\n          </TypeId>\n          <Body>\n            <Argument>\n              <Name>Mode</Name>\n              <DataType>\n                <Identifier>i=3</Identifier>\n              </DataType>\n              <ValueRank>-1</ValueRank>\n              <ArrayDimensions />\n            </Argument>\n          </Body>\n        </ExtensionObject>\n      </ListOfExtensionObject>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"i=12649\" BrowseName=\"OutputArguments\" ParentNodeId=\"i=12647\" DataType=\"i=296\" ValueRank=\"1\" ArrayDimensions=\"0\">\n    <DisplayName>OutputArguments</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=12647</Reference>\n    </References>\n    <Value>\n      <ListOfExtensionObject xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=297</Identifier>\n          </TypeId>\n          <Body>\n            <Argument>\n              <Name>FileHandle</Name>\n              <DataType>\n                <Identifier>i=7</Identifier>\n              </DataType>\n              <ValueRank>-1</ValueRank>\n              <ArrayDimensions />\n            </Argument>\n          </Body>\n        </ExtensionObject>\n      </ListOfExtensionObject>\n    </Value>\n  </UAVariable>\n  <UAMethod NodeId=\"i=12650\" BrowseName=\"Close\" ParentNodeId=\"i=12642\" MethodDeclarationId=\"i=11583\">\n    <DisplayName>Close</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=12651</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=12642</Reference>\n    </References>\n  </UAMethod>\n  <UAVariable NodeId=\"i=12651\" BrowseName=\"InputArguments\" ParentNodeId=\"i=12650\" DataType=\"i=296\" ValueRank=\"1\" ArrayDimensions=\"0\">\n    <DisplayName>InputArguments</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=12650</Reference>\n    </References>\n    <Value>\n      <ListOfExtensionObject xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=297</Identifier>\n          </TypeId>\n          <Body>\n            <Argument>\n              <Name>FileHandle</Name>\n              <DataType>\n                <Identifier>i=7</Identifier>\n              </DataType>\n              <ValueRank>-1</ValueRank>\n              <ArrayDimensions />\n            </Argument>\n          </Body>\n        </ExtensionObject>\n      </ListOfExtensionObject>\n    </Value>\n  </UAVariable>\n  <UAMethod NodeId=\"i=12652\" BrowseName=\"Read\" ParentNodeId=\"i=12642\" MethodDeclarationId=\"i=11585\">\n    <DisplayName>Read</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=12653</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=12654</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=12642</Reference>\n    </References>\n  </UAMethod>\n  <UAVariable NodeId=\"i=12653\" BrowseName=\"InputArguments\" ParentNodeId=\"i=12652\" DataType=\"i=296\" ValueRank=\"1\" ArrayDimensions=\"0\">\n    <DisplayName>InputArguments</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=12652</Reference>\n    </References>\n    <Value>\n      <ListOfExtensionObject xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=297</Identifier>\n          </TypeId>\n          <Body>\n            <Argument>\n              <Name>FileHandle</Name>\n              <DataType>\n                <Identifier>i=7</Identifier>\n              </DataType>\n              <ValueRank>-1</ValueRank>\n              <ArrayDimensions />\n            </Argument>\n          </Body>\n        </ExtensionObject>\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=297</Identifier>\n          </TypeId>\n          <Body>\n            <Argument>\n              <Name>Length</Name>\n              <DataType>\n                <Identifier>i=6</Identifier>\n              </DataType>\n              <ValueRank>-1</ValueRank>\n              <ArrayDimensions />\n            </Argument>\n          </Body>\n        </ExtensionObject>\n      </ListOfExtensionObject>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"i=12654\" BrowseName=\"OutputArguments\" ParentNodeId=\"i=12652\" DataType=\"i=296\" ValueRank=\"1\" ArrayDimensions=\"0\">\n    <DisplayName>OutputArguments</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=12652</Reference>\n    </References>\n    <Value>\n      <ListOfExtensionObject xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=297</Identifier>\n          </TypeId>\n          <Body>\n            <Argument>\n              <Name>Data</Name>\n              <DataType>\n                <Identifier>i=15</Identifier>\n              </DataType>\n              <ValueRank>-1</ValueRank>\n              <ArrayDimensions />\n            </Argument>\n          </Body>\n        </ExtensionObject>\n      </ListOfExtensionObject>\n    </Value>\n  </UAVariable>\n  <UAMethod NodeId=\"i=12655\" BrowseName=\"Write\" ParentNodeId=\"i=12642\" MethodDeclarationId=\"i=11588\">\n    <DisplayName>Write</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=12656</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=12642</Reference>\n    </References>\n  </UAMethod>\n  <UAVariable NodeId=\"i=12656\" BrowseName=\"InputArguments\" ParentNodeId=\"i=12655\" DataType=\"i=296\" ValueRank=\"1\" ArrayDimensions=\"0\">\n    <DisplayName>InputArguments</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=12655</Reference>\n    </References>\n    <Value>\n      <ListOfExtensionObject xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=297</Identifier>\n          </TypeId>\n          <Body>\n            <Argument>\n              <Name>FileHandle</Name>\n              <DataType>\n                <Identifier>i=7</Identifier>\n              </DataType>\n              <ValueRank>-1</ValueRank>\n              <ArrayDimensions />\n            </Argument>\n          </Body>\n        </ExtensionObject>\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=297</Identifier>\n          </TypeId>\n          <Body>\n            <Argument>\n              <Name>Data</Name>\n              <DataType>\n                <Identifier>i=15</Identifier>\n              </DataType>\n              <ValueRank>-1</ValueRank>\n              <ArrayDimensions />\n            </Argument>\n          </Body>\n        </ExtensionObject>\n      </ListOfExtensionObject>\n    </Value>\n  </UAVariable>\n  <UAMethod NodeId=\"i=12657\" BrowseName=\"GetPosition\" ParentNodeId=\"i=12642\" MethodDeclarationId=\"i=11590\">\n    <DisplayName>GetPosition</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=12658</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=12659</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=12642</Reference>\n    </References>\n  </UAMethod>\n  <UAVariable NodeId=\"i=12658\" BrowseName=\"InputArguments\" ParentNodeId=\"i=12657\" DataType=\"i=296\" ValueRank=\"1\" ArrayDimensions=\"0\">\n    <DisplayName>InputArguments</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=12657</Reference>\n    </References>\n    <Value>\n      <ListOfExtensionObject xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=297</Identifier>\n          </TypeId>\n          <Body>\n            <Argument>\n              <Name>FileHandle</Name>\n              <DataType>\n                <Identifier>i=7</Identifier>\n              </DataType>\n              <ValueRank>-1</ValueRank>\n              <ArrayDimensions />\n            </Argument>\n          </Body>\n        </ExtensionObject>\n      </ListOfExtensionObject>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"i=12659\" BrowseName=\"OutputArguments\" ParentNodeId=\"i=12657\" DataType=\"i=296\" ValueRank=\"1\" ArrayDimensions=\"0\">\n    <DisplayName>OutputArguments</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=12657</Reference>\n    </References>\n    <Value>\n      <ListOfExtensionObject xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=297</Identifier>\n          </TypeId>\n          <Body>\n            <Argument>\n              <Name>Position</Name>\n              <DataType>\n                <Identifier>i=9</Identifier>\n              </DataType>\n              <ValueRank>-1</ValueRank>\n              <ArrayDimensions />\n            </Argument>\n          </Body>\n        </ExtensionObject>\n      </ListOfExtensionObject>\n    </Value>\n  </UAVariable>\n  <UAMethod NodeId=\"i=12660\" BrowseName=\"SetPosition\" ParentNodeId=\"i=12642\" MethodDeclarationId=\"i=11593\">\n    <DisplayName>SetPosition</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=12661</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=12642</Reference>\n    </References>\n  </UAMethod>\n  <UAVariable NodeId=\"i=12661\" BrowseName=\"InputArguments\" ParentNodeId=\"i=12660\" DataType=\"i=296\" ValueRank=\"1\" ArrayDimensions=\"0\">\n    <DisplayName>InputArguments</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=12660</Reference>\n    </References>\n    <Value>\n      <ListOfExtensionObject xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=297</Identifier>\n          </TypeId>\n          <Body>\n            <Argument>\n              <Name>FileHandle</Name>\n              <DataType>\n                <Identifier>i=7</Identifier>\n              </DataType>\n              <ValueRank>-1</ValueRank>\n              <ArrayDimensions />\n            </Argument>\n          </Body>\n        </ExtensionObject>\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=297</Identifier>\n          </TypeId>\n          <Body>\n            <Argument>\n              <Name>Position</Name>\n              <DataType>\n                <Identifier>i=9</Identifier>\n              </DataType>\n              <ValueRank>-1</ValueRank>\n              <ArrayDimensions />\n            </Argument>\n          </Body>\n        </ExtensionObject>\n      </ListOfExtensionObject>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"i=12662\" BrowseName=\"LastUpdateTime\" ParentNodeId=\"i=12642\" DataType=\"i=294\">\n    <DisplayName>LastUpdateTime</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=12642</Reference>\n    </References>\n  </UAVariable>\n  <UAMethod NodeId=\"i=12663\" BrowseName=\"OpenWithMasks\" ParentNodeId=\"i=12642\" MethodDeclarationId=\"i=12543\">\n    <DisplayName>OpenWithMasks</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=12664</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=12665</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=12642</Reference>\n    </References>\n  </UAMethod>\n  <UAVariable NodeId=\"i=12664\" BrowseName=\"InputArguments\" ParentNodeId=\"i=12663\" DataType=\"i=296\" ValueRank=\"1\" ArrayDimensions=\"0\">\n    <DisplayName>InputArguments</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=12663</Reference>\n    </References>\n    <Value>\n      <ListOfExtensionObject xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=297</Identifier>\n          </TypeId>\n          <Body>\n            <Argument>\n              <Name>Masks</Name>\n              <DataType>\n                <Identifier>i=7</Identifier>\n              </DataType>\n              <ValueRank>-1</ValueRank>\n              <ArrayDimensions />\n            </Argument>\n          </Body>\n        </ExtensionObject>\n      </ListOfExtensionObject>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"i=12665\" BrowseName=\"OutputArguments\" ParentNodeId=\"i=12663\" DataType=\"i=296\" ValueRank=\"1\" ArrayDimensions=\"0\">\n    <DisplayName>OutputArguments</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=12663</Reference>\n    </References>\n    <Value>\n      <ListOfExtensionObject xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=297</Identifier>\n          </TypeId>\n          <Body>\n            <Argument>\n              <Name>FileHandle</Name>\n              <DataType>\n                <Identifier>i=7</Identifier>\n              </DataType>\n              <ValueRank>-1</ValueRank>\n              <ArrayDimensions />\n            </Argument>\n          </Body>\n        </ExtensionObject>\n      </ListOfExtensionObject>\n    </Value>\n  </UAVariable>\n  <UAMethod NodeId=\"i=12666\" BrowseName=\"CloseAndUpdate\" ParentNodeId=\"i=12642\" MethodDeclarationId=\"i=12546\">\n    <DisplayName>CloseAndUpdate</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=14160</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=12667</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=12642</Reference>\n    </References>\n  </UAMethod>\n  <UAVariable NodeId=\"i=14160\" BrowseName=\"InputArguments\" ParentNodeId=\"i=12666\" DataType=\"i=296\" ValueRank=\"1\" ArrayDimensions=\"0\">\n    <DisplayName>InputArguments</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=12666</Reference>\n    </References>\n    <Value>\n      <ListOfExtensionObject xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=297</Identifier>\n          </TypeId>\n          <Body>\n            <Argument>\n              <Name>FileHandle</Name>\n              <DataType>\n                <Identifier>i=7</Identifier>\n              </DataType>\n              <ValueRank>-1</ValueRank>\n              <ArrayDimensions />\n            </Argument>\n          </Body>\n        </ExtensionObject>\n      </ListOfExtensionObject>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"i=12667\" BrowseName=\"OutputArguments\" ParentNodeId=\"i=12666\" DataType=\"i=296\" ValueRank=\"1\" ArrayDimensions=\"0\">\n    <DisplayName>OutputArguments</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=12666</Reference>\n    </References>\n    <Value>\n      <ListOfExtensionObject xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=297</Identifier>\n          </TypeId>\n          <Body>\n            <Argument>\n              <Name>ApplyChangesRequired</Name>\n              <DataType>\n                <Identifier>i=1</Identifier>\n              </DataType>\n              <ValueRank>-1</ValueRank>\n              <ArrayDimensions />\n            </Argument>\n          </Body>\n        </ExtensionObject>\n      </ListOfExtensionObject>\n    </Value>\n  </UAVariable>\n  <UAMethod NodeId=\"i=12668\" BrowseName=\"AddCertificate\" ParentNodeId=\"i=12642\" MethodDeclarationId=\"i=12548\">\n    <DisplayName>AddCertificate</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=12669</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=12642</Reference>\n    </References>\n  </UAMethod>\n  <UAVariable NodeId=\"i=12669\" BrowseName=\"InputArguments\" ParentNodeId=\"i=12668\" DataType=\"i=296\" ValueRank=\"1\" ArrayDimensions=\"0\">\n    <DisplayName>InputArguments</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=12668</Reference>\n    </References>\n    <Value>\n      <ListOfExtensionObject xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=297</Identifier>\n          </TypeId>\n          <Body>\n            <Argument>\n              <Name>Certificate</Name>\n              <DataType>\n                <Identifier>i=15</Identifier>\n              </DataType>\n              <ValueRank>-1</ValueRank>\n              <ArrayDimensions />\n            </Argument>\n          </Body>\n        </ExtensionObject>\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=297</Identifier>\n          </TypeId>\n          <Body>\n            <Argument>\n              <Name>IsTrustedCertificate</Name>\n              <DataType>\n                <Identifier>i=1</Identifier>\n              </DataType>\n              <ValueRank>-1</ValueRank>\n              <ArrayDimensions />\n            </Argument>\n          </Body>\n        </ExtensionObject>\n      </ListOfExtensionObject>\n    </Value>\n  </UAVariable>\n  <UAMethod NodeId=\"i=12670\" BrowseName=\"RemoveCertificate\" ParentNodeId=\"i=12642\" MethodDeclarationId=\"i=12550\">\n    <DisplayName>RemoveCertificate</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=12671</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=12642</Reference>\n    </References>\n  </UAMethod>\n  <UAVariable NodeId=\"i=12671\" BrowseName=\"InputArguments\" ParentNodeId=\"i=12670\" DataType=\"i=296\" ValueRank=\"1\" ArrayDimensions=\"0\">\n    <DisplayName>InputArguments</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=12670</Reference>\n    </References>\n    <Value>\n      <ListOfExtensionObject xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=297</Identifier>\n          </TypeId>\n          <Body>\n            <Argument>\n              <Name>Thumbprint</Name>\n              <DataType>\n                <Identifier>i=12</Identifier>\n              </DataType>\n              <ValueRank>-1</ValueRank>\n              <ArrayDimensions />\n            </Argument>\n          </Body>\n        </ExtensionObject>\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=297</Identifier>\n          </TypeId>\n          <Body>\n            <Argument>\n              <Name>IsTrustedCertificate</Name>\n              <DataType>\n                <Identifier>i=1</Identifier>\n              </DataType>\n              <ValueRank>-1</ValueRank>\n              <ArrayDimensions />\n            </Argument>\n          </Body>\n        </ExtensionObject>\n      </ListOfExtensionObject>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"i=14161\" BrowseName=\"CertificateTypes\" ParentNodeId=\"i=14156\" DataType=\"NodeId\" ValueRank=\"1\" ArrayDimensions=\"0\">\n    <DisplayName>CertificateTypes</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=14156</Reference>\n    </References>\n  </UAVariable>\n  <UAObject NodeId=\"i=14088\" BrowseName=\"DefaultHttpsGroup\" ParentNodeId=\"i=14053\">\n    <DisplayName>DefaultHttpsGroup</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasComponent\">i=14089</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=14121</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=12555</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=14053</Reference>\n    </References>\n  </UAObject>\n  <UAObject NodeId=\"i=14089\" BrowseName=\"TrustList\" ParentNodeId=\"i=14088\">\n    <DisplayName>TrustList</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=14090</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=14091</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=14092</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=14093</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=14095</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=14098</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=14100</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=14103</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=14105</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=14108</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=14110</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=14111</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=14114</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=14117</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=14119</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=12522</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=14088</Reference>\n    </References>\n  </UAObject>\n  <UAVariable NodeId=\"i=14090\" BrowseName=\"Size\" ParentNodeId=\"i=14089\" DataType=\"UInt64\">\n    <DisplayName>Size</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=14089</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=14091\" BrowseName=\"Writable\" ParentNodeId=\"i=14089\" DataType=\"Boolean\">\n    <DisplayName>Writable</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=14089</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=14092\" BrowseName=\"UserWritable\" ParentNodeId=\"i=14089\" DataType=\"Boolean\">\n    <DisplayName>UserWritable</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=14089</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=14093\" BrowseName=\"OpenCount\" ParentNodeId=\"i=14089\" DataType=\"UInt16\">\n    <DisplayName>OpenCount</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=14089</Reference>\n    </References>\n  </UAVariable>\n  <UAMethod NodeId=\"i=14095\" BrowseName=\"Open\" ParentNodeId=\"i=14089\" MethodDeclarationId=\"i=11580\">\n    <DisplayName>Open</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=14096</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=14097</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=14089</Reference>\n    </References>\n  </UAMethod>\n  <UAVariable NodeId=\"i=14096\" BrowseName=\"InputArguments\" ParentNodeId=\"i=14095\" DataType=\"i=296\" ValueRank=\"1\" ArrayDimensions=\"0\">\n    <DisplayName>InputArguments</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=14095</Reference>\n    </References>\n    <Value>\n      <ListOfExtensionObject xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=297</Identifier>\n          </TypeId>\n          <Body>\n            <Argument>\n              <Name>Mode</Name>\n              <DataType>\n                <Identifier>i=3</Identifier>\n              </DataType>\n              <ValueRank>-1</ValueRank>\n              <ArrayDimensions />\n            </Argument>\n          </Body>\n        </ExtensionObject>\n      </ListOfExtensionObject>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"i=14097\" BrowseName=\"OutputArguments\" ParentNodeId=\"i=14095\" DataType=\"i=296\" ValueRank=\"1\" ArrayDimensions=\"0\">\n    <DisplayName>OutputArguments</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=14095</Reference>\n    </References>\n    <Value>\n      <ListOfExtensionObject xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=297</Identifier>\n          </TypeId>\n          <Body>\n            <Argument>\n              <Name>FileHandle</Name>\n              <DataType>\n                <Identifier>i=7</Identifier>\n              </DataType>\n              <ValueRank>-1</ValueRank>\n              <ArrayDimensions />\n            </Argument>\n          </Body>\n        </ExtensionObject>\n      </ListOfExtensionObject>\n    </Value>\n  </UAVariable>\n  <UAMethod NodeId=\"i=14098\" BrowseName=\"Close\" ParentNodeId=\"i=14089\" MethodDeclarationId=\"i=11583\">\n    <DisplayName>Close</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=14099</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=14089</Reference>\n    </References>\n  </UAMethod>\n  <UAVariable NodeId=\"i=14099\" BrowseName=\"InputArguments\" ParentNodeId=\"i=14098\" DataType=\"i=296\" ValueRank=\"1\" ArrayDimensions=\"0\">\n    <DisplayName>InputArguments</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=14098</Reference>\n    </References>\n    <Value>\n      <ListOfExtensionObject xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=297</Identifier>\n          </TypeId>\n          <Body>\n            <Argument>\n              <Name>FileHandle</Name>\n              <DataType>\n                <Identifier>i=7</Identifier>\n              </DataType>\n              <ValueRank>-1</ValueRank>\n              <ArrayDimensions />\n            </Argument>\n          </Body>\n        </ExtensionObject>\n      </ListOfExtensionObject>\n    </Value>\n  </UAVariable>\n  <UAMethod NodeId=\"i=14100\" BrowseName=\"Read\" ParentNodeId=\"i=14089\" MethodDeclarationId=\"i=11585\">\n    <DisplayName>Read</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=14101</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=14102</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=14089</Reference>\n    </References>\n  </UAMethod>\n  <UAVariable NodeId=\"i=14101\" BrowseName=\"InputArguments\" ParentNodeId=\"i=14100\" DataType=\"i=296\" ValueRank=\"1\" ArrayDimensions=\"0\">\n    <DisplayName>InputArguments</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=14100</Reference>\n    </References>\n    <Value>\n      <ListOfExtensionObject xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=297</Identifier>\n          </TypeId>\n          <Body>\n            <Argument>\n              <Name>FileHandle</Name>\n              <DataType>\n                <Identifier>i=7</Identifier>\n              </DataType>\n              <ValueRank>-1</ValueRank>\n              <ArrayDimensions />\n            </Argument>\n          </Body>\n        </ExtensionObject>\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=297</Identifier>\n          </TypeId>\n          <Body>\n            <Argument>\n              <Name>Length</Name>\n              <DataType>\n                <Identifier>i=6</Identifier>\n              </DataType>\n              <ValueRank>-1</ValueRank>\n              <ArrayDimensions />\n            </Argument>\n          </Body>\n        </ExtensionObject>\n      </ListOfExtensionObject>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"i=14102\" BrowseName=\"OutputArguments\" ParentNodeId=\"i=14100\" DataType=\"i=296\" ValueRank=\"1\" ArrayDimensions=\"0\">\n    <DisplayName>OutputArguments</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=14100</Reference>\n    </References>\n    <Value>\n      <ListOfExtensionObject xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=297</Identifier>\n          </TypeId>\n          <Body>\n            <Argument>\n              <Name>Data</Name>\n              <DataType>\n                <Identifier>i=15</Identifier>\n              </DataType>\n              <ValueRank>-1</ValueRank>\n              <ArrayDimensions />\n            </Argument>\n          </Body>\n        </ExtensionObject>\n      </ListOfExtensionObject>\n    </Value>\n  </UAVariable>\n  <UAMethod NodeId=\"i=14103\" BrowseName=\"Write\" ParentNodeId=\"i=14089\" MethodDeclarationId=\"i=11588\">\n    <DisplayName>Write</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=14104</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=14089</Reference>\n    </References>\n  </UAMethod>\n  <UAVariable NodeId=\"i=14104\" BrowseName=\"InputArguments\" ParentNodeId=\"i=14103\" DataType=\"i=296\" ValueRank=\"1\" ArrayDimensions=\"0\">\n    <DisplayName>InputArguments</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=14103</Reference>\n    </References>\n    <Value>\n      <ListOfExtensionObject xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=297</Identifier>\n          </TypeId>\n          <Body>\n            <Argument>\n              <Name>FileHandle</Name>\n              <DataType>\n                <Identifier>i=7</Identifier>\n              </DataType>\n              <ValueRank>-1</ValueRank>\n              <ArrayDimensions />\n            </Argument>\n          </Body>\n        </ExtensionObject>\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=297</Identifier>\n          </TypeId>\n          <Body>\n            <Argument>\n              <Name>Data</Name>\n              <DataType>\n                <Identifier>i=15</Identifier>\n              </DataType>\n              <ValueRank>-1</ValueRank>\n              <ArrayDimensions />\n            </Argument>\n          </Body>\n        </ExtensionObject>\n      </ListOfExtensionObject>\n    </Value>\n  </UAVariable>\n  <UAMethod NodeId=\"i=14105\" BrowseName=\"GetPosition\" ParentNodeId=\"i=14089\" MethodDeclarationId=\"i=11590\">\n    <DisplayName>GetPosition</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=14106</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=14107</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=14089</Reference>\n    </References>\n  </UAMethod>\n  <UAVariable NodeId=\"i=14106\" BrowseName=\"InputArguments\" ParentNodeId=\"i=14105\" DataType=\"i=296\" ValueRank=\"1\" ArrayDimensions=\"0\">\n    <DisplayName>InputArguments</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=14105</Reference>\n    </References>\n    <Value>\n      <ListOfExtensionObject xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=297</Identifier>\n          </TypeId>\n          <Body>\n            <Argument>\n              <Name>FileHandle</Name>\n              <DataType>\n                <Identifier>i=7</Identifier>\n              </DataType>\n              <ValueRank>-1</ValueRank>\n              <ArrayDimensions />\n            </Argument>\n          </Body>\n        </ExtensionObject>\n      </ListOfExtensionObject>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"i=14107\" BrowseName=\"OutputArguments\" ParentNodeId=\"i=14105\" DataType=\"i=296\" ValueRank=\"1\" ArrayDimensions=\"0\">\n    <DisplayName>OutputArguments</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=14105</Reference>\n    </References>\n    <Value>\n      <ListOfExtensionObject xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=297</Identifier>\n          </TypeId>\n          <Body>\n            <Argument>\n              <Name>Position</Name>\n              <DataType>\n                <Identifier>i=9</Identifier>\n              </DataType>\n              <ValueRank>-1</ValueRank>\n              <ArrayDimensions />\n            </Argument>\n          </Body>\n        </ExtensionObject>\n      </ListOfExtensionObject>\n    </Value>\n  </UAVariable>\n  <UAMethod NodeId=\"i=14108\" BrowseName=\"SetPosition\" ParentNodeId=\"i=14089\" MethodDeclarationId=\"i=11593\">\n    <DisplayName>SetPosition</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=14109</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=14089</Reference>\n    </References>\n  </UAMethod>\n  <UAVariable NodeId=\"i=14109\" BrowseName=\"InputArguments\" ParentNodeId=\"i=14108\" DataType=\"i=296\" ValueRank=\"1\" ArrayDimensions=\"0\">\n    <DisplayName>InputArguments</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=14108</Reference>\n    </References>\n    <Value>\n      <ListOfExtensionObject xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=297</Identifier>\n          </TypeId>\n          <Body>\n            <Argument>\n              <Name>FileHandle</Name>\n              <DataType>\n                <Identifier>i=7</Identifier>\n              </DataType>\n              <ValueRank>-1</ValueRank>\n              <ArrayDimensions />\n            </Argument>\n          </Body>\n        </ExtensionObject>\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=297</Identifier>\n          </TypeId>\n          <Body>\n            <Argument>\n              <Name>Position</Name>\n              <DataType>\n                <Identifier>i=9</Identifier>\n              </DataType>\n              <ValueRank>-1</ValueRank>\n              <ArrayDimensions />\n            </Argument>\n          </Body>\n        </ExtensionObject>\n      </ListOfExtensionObject>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"i=14110\" BrowseName=\"LastUpdateTime\" ParentNodeId=\"i=14089\" DataType=\"i=294\">\n    <DisplayName>LastUpdateTime</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=14089</Reference>\n    </References>\n  </UAVariable>\n  <UAMethod NodeId=\"i=14111\" BrowseName=\"OpenWithMasks\" ParentNodeId=\"i=14089\" MethodDeclarationId=\"i=12543\">\n    <DisplayName>OpenWithMasks</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=14112</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=14113</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=14089</Reference>\n    </References>\n  </UAMethod>\n  <UAVariable NodeId=\"i=14112\" BrowseName=\"InputArguments\" ParentNodeId=\"i=14111\" DataType=\"i=296\" ValueRank=\"1\" ArrayDimensions=\"0\">\n    <DisplayName>InputArguments</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=14111</Reference>\n    </References>\n    <Value>\n      <ListOfExtensionObject xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=297</Identifier>\n          </TypeId>\n          <Body>\n            <Argument>\n              <Name>Masks</Name>\n              <DataType>\n                <Identifier>i=7</Identifier>\n              </DataType>\n              <ValueRank>-1</ValueRank>\n              <ArrayDimensions />\n            </Argument>\n          </Body>\n        </ExtensionObject>\n      </ListOfExtensionObject>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"i=14113\" BrowseName=\"OutputArguments\" ParentNodeId=\"i=14111\" DataType=\"i=296\" ValueRank=\"1\" ArrayDimensions=\"0\">\n    <DisplayName>OutputArguments</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=14111</Reference>\n    </References>\n    <Value>\n      <ListOfExtensionObject xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=297</Identifier>\n          </TypeId>\n          <Body>\n            <Argument>\n              <Name>FileHandle</Name>\n              <DataType>\n                <Identifier>i=7</Identifier>\n              </DataType>\n              <ValueRank>-1</ValueRank>\n              <ArrayDimensions />\n            </Argument>\n          </Body>\n        </ExtensionObject>\n      </ListOfExtensionObject>\n    </Value>\n  </UAVariable>\n  <UAMethod NodeId=\"i=14114\" BrowseName=\"CloseAndUpdate\" ParentNodeId=\"i=14089\" MethodDeclarationId=\"i=12546\">\n    <DisplayName>CloseAndUpdate</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=14115</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=14116</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=14089</Reference>\n    </References>\n  </UAMethod>\n  <UAVariable NodeId=\"i=14115\" BrowseName=\"InputArguments\" ParentNodeId=\"i=14114\" DataType=\"i=296\" ValueRank=\"1\" ArrayDimensions=\"0\">\n    <DisplayName>InputArguments</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=14114</Reference>\n    </References>\n    <Value>\n      <ListOfExtensionObject xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=297</Identifier>\n          </TypeId>\n          <Body>\n            <Argument>\n              <Name>FileHandle</Name>\n              <DataType>\n                <Identifier>i=7</Identifier>\n              </DataType>\n              <ValueRank>-1</ValueRank>\n              <ArrayDimensions />\n            </Argument>\n          </Body>\n        </ExtensionObject>\n      </ListOfExtensionObject>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"i=14116\" BrowseName=\"OutputArguments\" ParentNodeId=\"i=14114\" DataType=\"i=296\" ValueRank=\"1\" ArrayDimensions=\"0\">\n    <DisplayName>OutputArguments</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=14114</Reference>\n    </References>\n    <Value>\n      <ListOfExtensionObject xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=297</Identifier>\n          </TypeId>\n          <Body>\n            <Argument>\n              <Name>ApplyChangesRequired</Name>\n              <DataType>\n                <Identifier>i=1</Identifier>\n              </DataType>\n              <ValueRank>-1</ValueRank>\n              <ArrayDimensions />\n            </Argument>\n          </Body>\n        </ExtensionObject>\n      </ListOfExtensionObject>\n    </Value>\n  </UAVariable>\n  <UAMethod NodeId=\"i=14117\" BrowseName=\"AddCertificate\" ParentNodeId=\"i=14089\" MethodDeclarationId=\"i=12548\">\n    <DisplayName>AddCertificate</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=14118</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=14089</Reference>\n    </References>\n  </UAMethod>\n  <UAVariable NodeId=\"i=14118\" BrowseName=\"InputArguments\" ParentNodeId=\"i=14117\" DataType=\"i=296\" ValueRank=\"1\" ArrayDimensions=\"0\">\n    <DisplayName>InputArguments</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=14117</Reference>\n    </References>\n    <Value>\n      <ListOfExtensionObject xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=297</Identifier>\n          </TypeId>\n          <Body>\n            <Argument>\n              <Name>Certificate</Name>\n              <DataType>\n                <Identifier>i=15</Identifier>\n              </DataType>\n              <ValueRank>-1</ValueRank>\n              <ArrayDimensions />\n            </Argument>\n          </Body>\n        </ExtensionObject>\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=297</Identifier>\n          </TypeId>\n          <Body>\n            <Argument>\n              <Name>IsTrustedCertificate</Name>\n              <DataType>\n                <Identifier>i=1</Identifier>\n              </DataType>\n              <ValueRank>-1</ValueRank>\n              <ArrayDimensions />\n            </Argument>\n          </Body>\n        </ExtensionObject>\n      </ListOfExtensionObject>\n    </Value>\n  </UAVariable>\n  <UAMethod NodeId=\"i=14119\" BrowseName=\"RemoveCertificate\" ParentNodeId=\"i=14089\" MethodDeclarationId=\"i=12550\">\n    <DisplayName>RemoveCertificate</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=14120</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=14089</Reference>\n    </References>\n  </UAMethod>\n  <UAVariable NodeId=\"i=14120\" BrowseName=\"InputArguments\" ParentNodeId=\"i=14119\" DataType=\"i=296\" ValueRank=\"1\" ArrayDimensions=\"0\">\n    <DisplayName>InputArguments</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=14119</Reference>\n    </References>\n    <Value>\n      <ListOfExtensionObject xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=297</Identifier>\n          </TypeId>\n          <Body>\n            <Argument>\n              <Name>Thumbprint</Name>\n              <DataType>\n                <Identifier>i=12</Identifier>\n              </DataType>\n              <ValueRank>-1</ValueRank>\n              <ArrayDimensions />\n            </Argument>\n          </Body>\n        </ExtensionObject>\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=297</Identifier>\n          </TypeId>\n          <Body>\n            <Argument>\n              <Name>IsTrustedCertificate</Name>\n              <DataType>\n                <Identifier>i=1</Identifier>\n              </DataType>\n              <ValueRank>-1</ValueRank>\n              <ArrayDimensions />\n            </Argument>\n          </Body>\n        </ExtensionObject>\n      </ListOfExtensionObject>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"i=14121\" BrowseName=\"CertificateTypes\" ParentNodeId=\"i=14088\" DataType=\"NodeId\" ValueRank=\"1\" ArrayDimensions=\"0\">\n    <DisplayName>CertificateTypes</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=14088</Reference>\n    </References>\n  </UAVariable>\n  <UAObject NodeId=\"i=14122\" BrowseName=\"DefaultUserTokenGroup\" ParentNodeId=\"i=14053\">\n    <DisplayName>DefaultUserTokenGroup</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasComponent\">i=14123</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=14155</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=12555</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=14053</Reference>\n    </References>\n  </UAObject>\n  <UAObject NodeId=\"i=14123\" BrowseName=\"TrustList\" ParentNodeId=\"i=14122\">\n    <DisplayName>TrustList</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=14124</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=14125</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=14126</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=14127</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=14129</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=14132</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=14134</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=14137</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=14139</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=14142</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=14144</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=14145</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=14148</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=14151</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=14153</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=12522</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=14122</Reference>\n    </References>\n  </UAObject>\n  <UAVariable NodeId=\"i=14124\" BrowseName=\"Size\" ParentNodeId=\"i=14123\" DataType=\"UInt64\">\n    <DisplayName>Size</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=14123</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=14125\" BrowseName=\"Writable\" ParentNodeId=\"i=14123\" DataType=\"Boolean\">\n    <DisplayName>Writable</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=14123</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=14126\" BrowseName=\"UserWritable\" ParentNodeId=\"i=14123\" DataType=\"Boolean\">\n    <DisplayName>UserWritable</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=14123</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=14127\" BrowseName=\"OpenCount\" ParentNodeId=\"i=14123\" DataType=\"UInt16\">\n    <DisplayName>OpenCount</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=14123</Reference>\n    </References>\n  </UAVariable>\n  <UAMethod NodeId=\"i=14129\" BrowseName=\"Open\" ParentNodeId=\"i=14123\" MethodDeclarationId=\"i=11580\">\n    <DisplayName>Open</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=14130</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=14131</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=14123</Reference>\n    </References>\n  </UAMethod>\n  <UAVariable NodeId=\"i=14130\" BrowseName=\"InputArguments\" ParentNodeId=\"i=14129\" DataType=\"i=296\" ValueRank=\"1\" ArrayDimensions=\"0\">\n    <DisplayName>InputArguments</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=14129</Reference>\n    </References>\n    <Value>\n      <ListOfExtensionObject xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=297</Identifier>\n          </TypeId>\n          <Body>\n            <Argument>\n              <Name>Mode</Name>\n              <DataType>\n                <Identifier>i=3</Identifier>\n              </DataType>\n              <ValueRank>-1</ValueRank>\n              <ArrayDimensions />\n            </Argument>\n          </Body>\n        </ExtensionObject>\n      </ListOfExtensionObject>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"i=14131\" BrowseName=\"OutputArguments\" ParentNodeId=\"i=14129\" DataType=\"i=296\" ValueRank=\"1\" ArrayDimensions=\"0\">\n    <DisplayName>OutputArguments</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=14129</Reference>\n    </References>\n    <Value>\n      <ListOfExtensionObject xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=297</Identifier>\n          </TypeId>\n          <Body>\n            <Argument>\n              <Name>FileHandle</Name>\n              <DataType>\n                <Identifier>i=7</Identifier>\n              </DataType>\n              <ValueRank>-1</ValueRank>\n              <ArrayDimensions />\n            </Argument>\n          </Body>\n        </ExtensionObject>\n      </ListOfExtensionObject>\n    </Value>\n  </UAVariable>\n  <UAMethod NodeId=\"i=14132\" BrowseName=\"Close\" ParentNodeId=\"i=14123\" MethodDeclarationId=\"i=11583\">\n    <DisplayName>Close</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=14133</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=14123</Reference>\n    </References>\n  </UAMethod>\n  <UAVariable NodeId=\"i=14133\" BrowseName=\"InputArguments\" ParentNodeId=\"i=14132\" DataType=\"i=296\" ValueRank=\"1\" ArrayDimensions=\"0\">\n    <DisplayName>InputArguments</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=14132</Reference>\n    </References>\n    <Value>\n      <ListOfExtensionObject xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=297</Identifier>\n          </TypeId>\n          <Body>\n            <Argument>\n              <Name>FileHandle</Name>\n              <DataType>\n                <Identifier>i=7</Identifier>\n              </DataType>\n              <ValueRank>-1</ValueRank>\n              <ArrayDimensions />\n            </Argument>\n          </Body>\n        </ExtensionObject>\n      </ListOfExtensionObject>\n    </Value>\n  </UAVariable>\n  <UAMethod NodeId=\"i=14134\" BrowseName=\"Read\" ParentNodeId=\"i=14123\" MethodDeclarationId=\"i=11585\">\n    <DisplayName>Read</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=14135</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=14136</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=14123</Reference>\n    </References>\n  </UAMethod>\n  <UAVariable NodeId=\"i=14135\" BrowseName=\"InputArguments\" ParentNodeId=\"i=14134\" DataType=\"i=296\" ValueRank=\"1\" ArrayDimensions=\"0\">\n    <DisplayName>InputArguments</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=14134</Reference>\n    </References>\n    <Value>\n      <ListOfExtensionObject xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=297</Identifier>\n          </TypeId>\n          <Body>\n            <Argument>\n              <Name>FileHandle</Name>\n              <DataType>\n                <Identifier>i=7</Identifier>\n              </DataType>\n              <ValueRank>-1</ValueRank>\n              <ArrayDimensions />\n            </Argument>\n          </Body>\n        </ExtensionObject>\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=297</Identifier>\n          </TypeId>\n          <Body>\n            <Argument>\n              <Name>Length</Name>\n              <DataType>\n                <Identifier>i=6</Identifier>\n              </DataType>\n              <ValueRank>-1</ValueRank>\n              <ArrayDimensions />\n            </Argument>\n          </Body>\n        </ExtensionObject>\n      </ListOfExtensionObject>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"i=14136\" BrowseName=\"OutputArguments\" ParentNodeId=\"i=14134\" DataType=\"i=296\" ValueRank=\"1\" ArrayDimensions=\"0\">\n    <DisplayName>OutputArguments</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=14134</Reference>\n    </References>\n    <Value>\n      <ListOfExtensionObject xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=297</Identifier>\n          </TypeId>\n          <Body>\n            <Argument>\n              <Name>Data</Name>\n              <DataType>\n                <Identifier>i=15</Identifier>\n              </DataType>\n              <ValueRank>-1</ValueRank>\n              <ArrayDimensions />\n            </Argument>\n          </Body>\n        </ExtensionObject>\n      </ListOfExtensionObject>\n    </Value>\n  </UAVariable>\n  <UAMethod NodeId=\"i=14137\" BrowseName=\"Write\" ParentNodeId=\"i=14123\" MethodDeclarationId=\"i=11588\">\n    <DisplayName>Write</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=14138</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=14123</Reference>\n    </References>\n  </UAMethod>\n  <UAVariable NodeId=\"i=14138\" BrowseName=\"InputArguments\" ParentNodeId=\"i=14137\" DataType=\"i=296\" ValueRank=\"1\" ArrayDimensions=\"0\">\n    <DisplayName>InputArguments</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=14137</Reference>\n    </References>\n    <Value>\n      <ListOfExtensionObject xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=297</Identifier>\n          </TypeId>\n          <Body>\n            <Argument>\n              <Name>FileHandle</Name>\n              <DataType>\n                <Identifier>i=7</Identifier>\n              </DataType>\n              <ValueRank>-1</ValueRank>\n              <ArrayDimensions />\n            </Argument>\n          </Body>\n        </ExtensionObject>\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=297</Identifier>\n          </TypeId>\n          <Body>\n            <Argument>\n              <Name>Data</Name>\n              <DataType>\n                <Identifier>i=15</Identifier>\n              </DataType>\n              <ValueRank>-1</ValueRank>\n              <ArrayDimensions />\n            </Argument>\n          </Body>\n        </ExtensionObject>\n      </ListOfExtensionObject>\n    </Value>\n  </UAVariable>\n  <UAMethod NodeId=\"i=14139\" BrowseName=\"GetPosition\" ParentNodeId=\"i=14123\" MethodDeclarationId=\"i=11590\">\n    <DisplayName>GetPosition</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=14140</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=14141</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=14123</Reference>\n    </References>\n  </UAMethod>\n  <UAVariable NodeId=\"i=14140\" BrowseName=\"InputArguments\" ParentNodeId=\"i=14139\" DataType=\"i=296\" ValueRank=\"1\" ArrayDimensions=\"0\">\n    <DisplayName>InputArguments</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=14139</Reference>\n    </References>\n    <Value>\n      <ListOfExtensionObject xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=297</Identifier>\n          </TypeId>\n          <Body>\n            <Argument>\n              <Name>FileHandle</Name>\n              <DataType>\n                <Identifier>i=7</Identifier>\n              </DataType>\n              <ValueRank>-1</ValueRank>\n              <ArrayDimensions />\n            </Argument>\n          </Body>\n        </ExtensionObject>\n      </ListOfExtensionObject>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"i=14141\" BrowseName=\"OutputArguments\" ParentNodeId=\"i=14139\" DataType=\"i=296\" ValueRank=\"1\" ArrayDimensions=\"0\">\n    <DisplayName>OutputArguments</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=14139</Reference>\n    </References>\n    <Value>\n      <ListOfExtensionObject xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=297</Identifier>\n          </TypeId>\n          <Body>\n            <Argument>\n              <Name>Position</Name>\n              <DataType>\n                <Identifier>i=9</Identifier>\n              </DataType>\n              <ValueRank>-1</ValueRank>\n              <ArrayDimensions />\n            </Argument>\n          </Body>\n        </ExtensionObject>\n      </ListOfExtensionObject>\n    </Value>\n  </UAVariable>\n  <UAMethod NodeId=\"i=14142\" BrowseName=\"SetPosition\" ParentNodeId=\"i=14123\" MethodDeclarationId=\"i=11593\">\n    <DisplayName>SetPosition</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=14143</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=14123</Reference>\n    </References>\n  </UAMethod>\n  <UAVariable NodeId=\"i=14143\" BrowseName=\"InputArguments\" ParentNodeId=\"i=14142\" DataType=\"i=296\" ValueRank=\"1\" ArrayDimensions=\"0\">\n    <DisplayName>InputArguments</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=14142</Reference>\n    </References>\n    <Value>\n      <ListOfExtensionObject xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=297</Identifier>\n          </TypeId>\n          <Body>\n            <Argument>\n              <Name>FileHandle</Name>\n              <DataType>\n                <Identifier>i=7</Identifier>\n              </DataType>\n              <ValueRank>-1</ValueRank>\n              <ArrayDimensions />\n            </Argument>\n          </Body>\n        </ExtensionObject>\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=297</Identifier>\n          </TypeId>\n          <Body>\n            <Argument>\n              <Name>Position</Name>\n              <DataType>\n                <Identifier>i=9</Identifier>\n              </DataType>\n              <ValueRank>-1</ValueRank>\n              <ArrayDimensions />\n            </Argument>\n          </Body>\n        </ExtensionObject>\n      </ListOfExtensionObject>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"i=14144\" BrowseName=\"LastUpdateTime\" ParentNodeId=\"i=14123\" DataType=\"i=294\">\n    <DisplayName>LastUpdateTime</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=14123</Reference>\n    </References>\n  </UAVariable>\n  <UAMethod NodeId=\"i=14145\" BrowseName=\"OpenWithMasks\" ParentNodeId=\"i=14123\" MethodDeclarationId=\"i=12543\">\n    <DisplayName>OpenWithMasks</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=14146</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=14147</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=14123</Reference>\n    </References>\n  </UAMethod>\n  <UAVariable NodeId=\"i=14146\" BrowseName=\"InputArguments\" ParentNodeId=\"i=14145\" DataType=\"i=296\" ValueRank=\"1\" ArrayDimensions=\"0\">\n    <DisplayName>InputArguments</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=14145</Reference>\n    </References>\n    <Value>\n      <ListOfExtensionObject xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=297</Identifier>\n          </TypeId>\n          <Body>\n            <Argument>\n              <Name>Masks</Name>\n              <DataType>\n                <Identifier>i=7</Identifier>\n              </DataType>\n              <ValueRank>-1</ValueRank>\n              <ArrayDimensions />\n            </Argument>\n          </Body>\n        </ExtensionObject>\n      </ListOfExtensionObject>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"i=14147\" BrowseName=\"OutputArguments\" ParentNodeId=\"i=14145\" DataType=\"i=296\" ValueRank=\"1\" ArrayDimensions=\"0\">\n    <DisplayName>OutputArguments</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=14145</Reference>\n    </References>\n    <Value>\n      <ListOfExtensionObject xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=297</Identifier>\n          </TypeId>\n          <Body>\n            <Argument>\n              <Name>FileHandle</Name>\n              <DataType>\n                <Identifier>i=7</Identifier>\n              </DataType>\n              <ValueRank>-1</ValueRank>\n              <ArrayDimensions />\n            </Argument>\n          </Body>\n        </ExtensionObject>\n      </ListOfExtensionObject>\n    </Value>\n  </UAVariable>\n  <UAMethod NodeId=\"i=14148\" BrowseName=\"CloseAndUpdate\" ParentNodeId=\"i=14123\" MethodDeclarationId=\"i=12546\">\n    <DisplayName>CloseAndUpdate</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=14149</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=14150</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=14123</Reference>\n    </References>\n  </UAMethod>\n  <UAVariable NodeId=\"i=14149\" BrowseName=\"InputArguments\" ParentNodeId=\"i=14148\" DataType=\"i=296\" ValueRank=\"1\" ArrayDimensions=\"0\">\n    <DisplayName>InputArguments</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=14148</Reference>\n    </References>\n    <Value>\n      <ListOfExtensionObject xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=297</Identifier>\n          </TypeId>\n          <Body>\n            <Argument>\n              <Name>FileHandle</Name>\n              <DataType>\n                <Identifier>i=7</Identifier>\n              </DataType>\n              <ValueRank>-1</ValueRank>\n              <ArrayDimensions />\n            </Argument>\n          </Body>\n        </ExtensionObject>\n      </ListOfExtensionObject>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"i=14150\" BrowseName=\"OutputArguments\" ParentNodeId=\"i=14148\" DataType=\"i=296\" ValueRank=\"1\" ArrayDimensions=\"0\">\n    <DisplayName>OutputArguments</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=14148</Reference>\n    </References>\n    <Value>\n      <ListOfExtensionObject xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=297</Identifier>\n          </TypeId>\n          <Body>\n            <Argument>\n              <Name>ApplyChangesRequired</Name>\n              <DataType>\n                <Identifier>i=1</Identifier>\n              </DataType>\n              <ValueRank>-1</ValueRank>\n              <ArrayDimensions />\n            </Argument>\n          </Body>\n        </ExtensionObject>\n      </ListOfExtensionObject>\n    </Value>\n  </UAVariable>\n  <UAMethod NodeId=\"i=14151\" BrowseName=\"AddCertificate\" ParentNodeId=\"i=14123\" MethodDeclarationId=\"i=12548\">\n    <DisplayName>AddCertificate</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=14152</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=14123</Reference>\n    </References>\n  </UAMethod>\n  <UAVariable NodeId=\"i=14152\" BrowseName=\"InputArguments\" ParentNodeId=\"i=14151\" DataType=\"i=296\" ValueRank=\"1\" ArrayDimensions=\"0\">\n    <DisplayName>InputArguments</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=14151</Reference>\n    </References>\n    <Value>\n      <ListOfExtensionObject xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=297</Identifier>\n          </TypeId>\n          <Body>\n            <Argument>\n              <Name>Certificate</Name>\n              <DataType>\n                <Identifier>i=15</Identifier>\n              </DataType>\n              <ValueRank>-1</ValueRank>\n              <ArrayDimensions />\n            </Argument>\n          </Body>\n        </ExtensionObject>\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=297</Identifier>\n          </TypeId>\n          <Body>\n            <Argument>\n              <Name>IsTrustedCertificate</Name>\n              <DataType>\n                <Identifier>i=1</Identifier>\n              </DataType>\n              <ValueRank>-1</ValueRank>\n              <ArrayDimensions />\n            </Argument>\n          </Body>\n        </ExtensionObject>\n      </ListOfExtensionObject>\n    </Value>\n  </UAVariable>\n  <UAMethod NodeId=\"i=14153\" BrowseName=\"RemoveCertificate\" ParentNodeId=\"i=14123\" MethodDeclarationId=\"i=12550\">\n    <DisplayName>RemoveCertificate</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=14154</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=14123</Reference>\n    </References>\n  </UAMethod>\n  <UAVariable NodeId=\"i=14154\" BrowseName=\"InputArguments\" ParentNodeId=\"i=14153\" DataType=\"i=296\" ValueRank=\"1\" ArrayDimensions=\"0\">\n    <DisplayName>InputArguments</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=14153</Reference>\n    </References>\n    <Value>\n      <ListOfExtensionObject xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=297</Identifier>\n          </TypeId>\n          <Body>\n            <Argument>\n              <Name>Thumbprint</Name>\n              <DataType>\n                <Identifier>i=12</Identifier>\n              </DataType>\n              <ValueRank>-1</ValueRank>\n              <ArrayDimensions />\n            </Argument>\n          </Body>\n        </ExtensionObject>\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=297</Identifier>\n          </TypeId>\n          <Body>\n            <Argument>\n              <Name>IsTrustedCertificate</Name>\n              <DataType>\n                <Identifier>i=1</Identifier>\n              </DataType>\n              <ValueRank>-1</ValueRank>\n              <ArrayDimensions />\n            </Argument>\n          </Body>\n        </ExtensionObject>\n      </ListOfExtensionObject>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"i=14155\" BrowseName=\"CertificateTypes\" ParentNodeId=\"i=14122\" DataType=\"NodeId\" ValueRank=\"1\" ArrayDimensions=\"0\">\n    <DisplayName>CertificateTypes</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=14122</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=12710\" BrowseName=\"ServerCapabilities\" ParentNodeId=\"i=12637\" DataType=\"String\" ValueRank=\"1\" ArrayDimensions=\"0\">\n    <DisplayName>ServerCapabilities</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=12637</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=12639\" BrowseName=\"SupportedPrivateKeyFormats\" ParentNodeId=\"i=12637\" DataType=\"String\" ValueRank=\"1\" ArrayDimensions=\"0\">\n    <DisplayName>SupportedPrivateKeyFormats</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=12637</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=12640\" BrowseName=\"MaxTrustListSize\" ParentNodeId=\"i=12637\" DataType=\"UInt32\">\n    <DisplayName>MaxTrustListSize</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=12637</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=12641\" BrowseName=\"MulticastDnsEnabled\" ParentNodeId=\"i=12637\" DataType=\"Boolean\">\n    <DisplayName>MulticastDnsEnabled</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=12637</Reference>\n    </References>\n  </UAVariable>\n  <UAMethod NodeId=\"i=13737\" BrowseName=\"UpdateCertificate\" ParentNodeId=\"i=12637\" MethodDeclarationId=\"i=12616\">\n    <DisplayName>UpdateCertificate</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=13738</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=13739</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=12637</Reference>\n    </References>\n  </UAMethod>\n  <UAVariable NodeId=\"i=13738\" BrowseName=\"InputArguments\" ParentNodeId=\"i=13737\" DataType=\"i=296\" ValueRank=\"1\" ArrayDimensions=\"0\">\n    <DisplayName>InputArguments</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=13737</Reference>\n    </References>\n    <Value>\n      <ListOfExtensionObject xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=297</Identifier>\n          </TypeId>\n          <Body>\n            <Argument>\n              <Name>CertificateGroupId</Name>\n              <DataType>\n                <Identifier>i=17</Identifier>\n              </DataType>\n              <ValueRank>-1</ValueRank>\n              <ArrayDimensions />\n            </Argument>\n          </Body>\n        </ExtensionObject>\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=297</Identifier>\n          </TypeId>\n          <Body>\n            <Argument>\n              <Name>CertificateTypeId</Name>\n              <DataType>\n                <Identifier>i=17</Identifier>\n              </DataType>\n              <ValueRank>-1</ValueRank>\n              <ArrayDimensions />\n            </Argument>\n          </Body>\n        </ExtensionObject>\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=297</Identifier>\n          </TypeId>\n          <Body>\n            <Argument>\n              <Name>Certificate</Name>\n              <DataType>\n                <Identifier>i=15</Identifier>\n              </DataType>\n              <ValueRank>-1</ValueRank>\n              <ArrayDimensions />\n            </Argument>\n          </Body>\n        </ExtensionObject>\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=297</Identifier>\n          </TypeId>\n          <Body>\n            <Argument>\n              <Name>IssuerCertificates</Name>\n              <DataType>\n                <Identifier>i=15</Identifier>\n              </DataType>\n              <ValueRank>1</ValueRank>\n              <ArrayDimensions>\n                <UInt32>0</UInt32>\n              </ArrayDimensions>\n            </Argument>\n          </Body>\n        </ExtensionObject>\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=297</Identifier>\n          </TypeId>\n          <Body>\n            <Argument>\n              <Name>PrivateKeyFormat</Name>\n              <DataType>\n                <Identifier>i=12</Identifier>\n              </DataType>\n              <ValueRank>-1</ValueRank>\n              <ArrayDimensions />\n            </Argument>\n          </Body>\n        </ExtensionObject>\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=297</Identifier>\n          </TypeId>\n          <Body>\n            <Argument>\n              <Name>PrivateKey</Name>\n              <DataType>\n                <Identifier>i=15</Identifier>\n              </DataType>\n              <ValueRank>-1</ValueRank>\n              <ArrayDimensions />\n            </Argument>\n          </Body>\n        </ExtensionObject>\n      </ListOfExtensionObject>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"i=13739\" BrowseName=\"OutputArguments\" ParentNodeId=\"i=13737\" DataType=\"i=296\" ValueRank=\"1\" ArrayDimensions=\"0\">\n    <DisplayName>OutputArguments</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=13737</Reference>\n    </References>\n    <Value>\n      <ListOfExtensionObject xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=297</Identifier>\n          </TypeId>\n          <Body>\n            <Argument>\n              <Name>ApplyChangesRequired</Name>\n              <DataType>\n                <Identifier>i=1</Identifier>\n              </DataType>\n              <ValueRank>-1</ValueRank>\n              <ArrayDimensions />\n            </Argument>\n          </Body>\n        </ExtensionObject>\n      </ListOfExtensionObject>\n    </Value>\n  </UAVariable>\n  <UAMethod NodeId=\"i=12740\" BrowseName=\"ApplyChanges\" ParentNodeId=\"i=12637\" MethodDeclarationId=\"i=12734\">\n    <DisplayName>ApplyChanges</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=12637</Reference>\n    </References>\n  </UAMethod>\n  <UAMethod NodeId=\"i=12737\" BrowseName=\"CreateSigningRequest\" ParentNodeId=\"i=12637\" MethodDeclarationId=\"i=12731\">\n    <DisplayName>CreateSigningRequest</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=12738</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=12739</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=12637</Reference>\n    </References>\n  </UAMethod>\n  <UAVariable NodeId=\"i=12738\" BrowseName=\"InputArguments\" ParentNodeId=\"i=12737\" DataType=\"i=296\" ValueRank=\"1\" ArrayDimensions=\"0\">\n    <DisplayName>InputArguments</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=12737</Reference>\n    </References>\n    <Value>\n      <ListOfExtensionObject xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=297</Identifier>\n          </TypeId>\n          <Body>\n            <Argument>\n              <Name>CertificateGroupId</Name>\n              <DataType>\n                <Identifier>i=17</Identifier>\n              </DataType>\n              <ValueRank>-1</ValueRank>\n              <ArrayDimensions />\n            </Argument>\n          </Body>\n        </ExtensionObject>\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=297</Identifier>\n          </TypeId>\n          <Body>\n            <Argument>\n              <Name>CertificateTypeId</Name>\n              <DataType>\n                <Identifier>i=17</Identifier>\n              </DataType>\n              <ValueRank>-1</ValueRank>\n              <ArrayDimensions />\n            </Argument>\n          </Body>\n        </ExtensionObject>\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=297</Identifier>\n          </TypeId>\n          <Body>\n            <Argument>\n              <Name>SubjectName</Name>\n              <DataType>\n                <Identifier>i=12</Identifier>\n              </DataType>\n              <ValueRank>-1</ValueRank>\n              <ArrayDimensions />\n            </Argument>\n          </Body>\n        </ExtensionObject>\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=297</Identifier>\n          </TypeId>\n          <Body>\n            <Argument>\n              <Name>RegeneratePrivateKey</Name>\n              <DataType>\n                <Identifier>i=1</Identifier>\n              </DataType>\n              <ValueRank>-1</ValueRank>\n              <ArrayDimensions />\n            </Argument>\n          </Body>\n        </ExtensionObject>\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=297</Identifier>\n          </TypeId>\n          <Body>\n            <Argument>\n              <Name>Nonce</Name>\n              <DataType>\n                <Identifier>i=15</Identifier>\n              </DataType>\n              <ValueRank>-1</ValueRank>\n              <ArrayDimensions />\n            </Argument>\n          </Body>\n        </ExtensionObject>\n      </ListOfExtensionObject>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"i=12739\" BrowseName=\"OutputArguments\" ParentNodeId=\"i=12737\" DataType=\"i=296\" ValueRank=\"1\" ArrayDimensions=\"0\">\n    <DisplayName>OutputArguments</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=12737</Reference>\n    </References>\n    <Value>\n      <ListOfExtensionObject xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=297</Identifier>\n          </TypeId>\n          <Body>\n            <Argument>\n              <Name>CertificateRequest</Name>\n              <DataType>\n                <Identifier>i=15</Identifier>\n              </DataType>\n              <ValueRank>-1</ValueRank>\n              <ArrayDimensions />\n            </Argument>\n          </Body>\n        </ExtensionObject>\n      </ListOfExtensionObject>\n    </Value>\n  </UAVariable>\n  <UAMethod NodeId=\"i=12777\" BrowseName=\"GetRejectedList\" ParentNodeId=\"i=12637\" MethodDeclarationId=\"i=12775\">\n    <DisplayName>GetRejectedList</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=12778</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=12637</Reference>\n    </References>\n  </UAMethod>\n  <UAVariable NodeId=\"i=12778\" BrowseName=\"OutputArguments\" ParentNodeId=\"i=12777\" DataType=\"i=296\" ValueRank=\"1\" ArrayDimensions=\"0\">\n    <DisplayName>OutputArguments</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=12777</Reference>\n    </References>\n    <Value>\n      <ListOfExtensionObject xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=297</Identifier>\n          </TypeId>\n          <Body>\n            <Argument>\n              <Name>Certificates</Name>\n              <DataType>\n                <Identifier>i=15</Identifier>\n              </DataType>\n              <ValueRank>1</ValueRank>\n              <ArrayDimensions>\n                <UInt32>0</UInt32>\n              </ArrayDimensions>\n            </Argument>\n          </Body>\n        </ExtensionObject>\n      </ListOfExtensionObject>\n    </Value>\n  </UAVariable>\n  <UAObjectType NodeId=\"i=17496\" BrowseName=\"KeyCredentialConfigurationFolderType\">\n    <DisplayName>KeyCredentialConfigurationFolderType</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasComponent\">i=17511</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=17522</Reference>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=61</Reference>\n    </References>\n  </UAObjectType>\n  <UAObject NodeId=\"i=17511\" BrowseName=\"&lt;ServiceName&gt;\" SymbolicName=\"ServiceName_Placeholder\" ParentNodeId=\"i=17496\">\n    <DisplayName>&lt;ServiceName&gt;</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=17512</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=17513</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=18001</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=11508</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=17496</Reference>\n    </References>\n  </UAObject>\n  <UAVariable NodeId=\"i=17512\" BrowseName=\"ResourceUri\" ParentNodeId=\"i=17511\" DataType=\"String\">\n    <DisplayName>ResourceUri</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=17511</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=17513\" BrowseName=\"ProfileUri\" ParentNodeId=\"i=17511\" DataType=\"String\">\n    <DisplayName>ProfileUri</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=17511</Reference>\n    </References>\n  </UAVariable>\n  <UAMethod NodeId=\"i=17522\" BrowseName=\"CreateCredential\" ParentNodeId=\"i=17496\">\n    <DisplayName>CreateCredential</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=17523</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=17524</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=80</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=17496</Reference>\n    </References>\n  </UAMethod>\n  <UAVariable NodeId=\"i=17523\" BrowseName=\"InputArguments\" ParentNodeId=\"i=17522\" DataType=\"i=296\" ValueRank=\"1\" ArrayDimensions=\"0\">\n    <DisplayName>InputArguments</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=17522</Reference>\n    </References>\n    <Value>\n      <ListOfExtensionObject xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=297</Identifier>\n          </TypeId>\n          <Body>\n            <Argument>\n              <Name>ResourceUri</Name>\n              <DataType>\n                <Identifier>i=12</Identifier>\n              </DataType>\n              <ValueRank>-1</ValueRank>\n              <ArrayDimensions />\n            </Argument>\n          </Body>\n        </ExtensionObject>\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=297</Identifier>\n          </TypeId>\n          <Body>\n            <Argument>\n              <Name>ProfileUri</Name>\n              <DataType>\n                <Identifier>i=12</Identifier>\n              </DataType>\n              <ValueRank>-1</ValueRank>\n              <ArrayDimensions />\n            </Argument>\n          </Body>\n        </ExtensionObject>\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=297</Identifier>\n          </TypeId>\n          <Body>\n            <Argument>\n              <Name>EndpointUrls</Name>\n              <DataType>\n                <Identifier>i=12</Identifier>\n              </DataType>\n              <ValueRank>1</ValueRank>\n              <ArrayDimensions>\n                <UInt32>0</UInt32>\n              </ArrayDimensions>\n            </Argument>\n          </Body>\n        </ExtensionObject>\n      </ListOfExtensionObject>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"i=17524\" BrowseName=\"OutputArguments\" ParentNodeId=\"i=17522\" DataType=\"i=296\" ValueRank=\"1\" ArrayDimensions=\"0\">\n    <DisplayName>OutputArguments</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=17522</Reference>\n    </References>\n    <Value>\n      <ListOfExtensionObject xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=297</Identifier>\n          </TypeId>\n          <Body>\n            <Argument>\n              <Name>CredentialNodeId</Name>\n              <DataType>\n                <Identifier>i=17</Identifier>\n              </DataType>\n              <ValueRank>-1</ValueRank>\n              <ArrayDimensions />\n            </Argument>\n          </Body>\n        </ExtensionObject>\n      </ListOfExtensionObject>\n    </Value>\n  </UAVariable>\n  <UAObject NodeId=\"i=18155\" BrowseName=\"KeyCredentialConfiguration\">\n    <DisplayName>KeyCredentialConfiguration</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=12637</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=17496</Reference>\n    </References>\n  </UAObject>\n  <UAObjectType NodeId=\"i=18001\" BrowseName=\"KeyCredentialConfigurationType\">\n    <DisplayName>KeyCredentialConfigurationType</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=18069</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=18165</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=18004</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=18005</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=17534</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=18006</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=18008</Reference>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=58</Reference>\n    </References>\n  </UAObjectType>\n  <UAVariable NodeId=\"i=18069\" BrowseName=\"ResourceUri\" ParentNodeId=\"i=18001\" DataType=\"String\">\n    <DisplayName>ResourceUri</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=18001</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=18165\" BrowseName=\"ProfileUri\" ParentNodeId=\"i=18001\" DataType=\"String\">\n    <DisplayName>ProfileUri</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=18001</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=18004\" BrowseName=\"EndpointUrls\" ParentNodeId=\"i=18001\" DataType=\"String\" ValueRank=\"1\" ArrayDimensions=\"0\">\n    <DisplayName>EndpointUrls</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=80</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=18001</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=18005\" BrowseName=\"ServiceStatus\" ParentNodeId=\"i=18001\" DataType=\"StatusCode\">\n    <DisplayName>ServiceStatus</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=80</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=18001</Reference>\n    </References>\n  </UAVariable>\n  <UAMethod NodeId=\"i=17534\" BrowseName=\"GetEncryptingKey\" ParentNodeId=\"i=18001\">\n    <DisplayName>GetEncryptingKey</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=17535</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=17536</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=80</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=18001</Reference>\n    </References>\n  </UAMethod>\n  <UAVariable NodeId=\"i=17535\" BrowseName=\"InputArguments\" ParentNodeId=\"i=17534\" DataType=\"i=296\" ValueRank=\"1\" ArrayDimensions=\"0\">\n    <DisplayName>InputArguments</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=17534</Reference>\n    </References>\n    <Value>\n      <ListOfExtensionObject xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=297</Identifier>\n          </TypeId>\n          <Body>\n            <Argument>\n              <Name>CredentialId</Name>\n              <DataType>\n                <Identifier>i=12</Identifier>\n              </DataType>\n              <ValueRank>-1</ValueRank>\n              <ArrayDimensions />\n            </Argument>\n          </Body>\n        </ExtensionObject>\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=297</Identifier>\n          </TypeId>\n          <Body>\n            <Argument>\n              <Name>RequestedSecurityPolicyUri</Name>\n              <DataType>\n                <Identifier>i=12</Identifier>\n              </DataType>\n              <ValueRank>-1</ValueRank>\n              <ArrayDimensions />\n            </Argument>\n          </Body>\n        </ExtensionObject>\n      </ListOfExtensionObject>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"i=17536\" BrowseName=\"OutputArguments\" ParentNodeId=\"i=17534\" DataType=\"i=296\" ValueRank=\"1\" ArrayDimensions=\"0\">\n    <DisplayName>OutputArguments</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=17534</Reference>\n    </References>\n    <Value>\n      <ListOfExtensionObject xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=297</Identifier>\n          </TypeId>\n          <Body>\n            <Argument>\n              <Name>PublicKey</Name>\n              <DataType>\n                <Identifier>i=15</Identifier>\n              </DataType>\n              <ValueRank>-1</ValueRank>\n              <ArrayDimensions />\n            </Argument>\n          </Body>\n        </ExtensionObject>\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=297</Identifier>\n          </TypeId>\n          <Body>\n            <Argument>\n              <Name>RevisedSecurityPolicyUri</Name>\n              <DataType>\n                <Identifier>i=17</Identifier>\n              </DataType>\n              <ValueRank>-1</ValueRank>\n              <ArrayDimensions />\n            </Argument>\n          </Body>\n        </ExtensionObject>\n      </ListOfExtensionObject>\n    </Value>\n  </UAVariable>\n  <UAMethod NodeId=\"i=18006\" BrowseName=\"UpdateCredential\" ParentNodeId=\"i=18001\">\n    <DisplayName>UpdateCredential</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=18007</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=80</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=18001</Reference>\n    </References>\n  </UAMethod>\n  <UAVariable NodeId=\"i=18007\" BrowseName=\"InputArguments\" ParentNodeId=\"i=18006\" DataType=\"i=296\" ValueRank=\"1\" ArrayDimensions=\"0\">\n    <DisplayName>InputArguments</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=18006</Reference>\n    </References>\n    <Value>\n      <ListOfExtensionObject xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=297</Identifier>\n          </TypeId>\n          <Body>\n            <Argument>\n              <Name>CredentialId</Name>\n              <DataType>\n                <Identifier>i=12</Identifier>\n              </DataType>\n              <ValueRank>-1</ValueRank>\n              <ArrayDimensions />\n            </Argument>\n          </Body>\n        </ExtensionObject>\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=297</Identifier>\n          </TypeId>\n          <Body>\n            <Argument>\n              <Name>CredentialSecret</Name>\n              <DataType>\n                <Identifier>i=15</Identifier>\n              </DataType>\n              <ValueRank>-1</ValueRank>\n              <ArrayDimensions />\n            </Argument>\n          </Body>\n        </ExtensionObject>\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=297</Identifier>\n          </TypeId>\n          <Body>\n            <Argument>\n              <Name>CertificateThumbprint</Name>\n              <DataType>\n                <Identifier>i=12</Identifier>\n              </DataType>\n              <ValueRank>-1</ValueRank>\n              <ArrayDimensions />\n            </Argument>\n          </Body>\n        </ExtensionObject>\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=297</Identifier>\n          </TypeId>\n          <Body>\n            <Argument>\n              <Name>SecurityPolicyUri</Name>\n              <DataType>\n                <Identifier>i=12</Identifier>\n              </DataType>\n              <ValueRank>-1</ValueRank>\n              <ArrayDimensions />\n            </Argument>\n          </Body>\n        </ExtensionObject>\n      </ListOfExtensionObject>\n    </Value>\n  </UAVariable>\n  <UAMethod NodeId=\"i=18008\" BrowseName=\"DeleteCredential\" ParentNodeId=\"i=18001\">\n    <DisplayName>DeleteCredential</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasModellingRule\">i=80</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=18001</Reference>\n    </References>\n  </UAMethod>\n  <UAObjectType NodeId=\"i=18011\" BrowseName=\"KeyCredentialAuditEventType\" IsAbstract=\"true\">\n    <DisplayName>KeyCredentialAuditEventType</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=18028</Reference>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=2127</Reference>\n    </References>\n  </UAObjectType>\n  <UAVariable NodeId=\"i=18028\" BrowseName=\"ResourceUri\" ParentNodeId=\"i=18011\" DataType=\"String\">\n    <DisplayName>ResourceUri</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=18011</Reference>\n    </References>\n  </UAVariable>\n  <UAObjectType NodeId=\"i=18029\" BrowseName=\"KeyCredentialUpdatedAuditEventType\">\n    <DisplayName>KeyCredentialUpdatedAuditEventType</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=18011</Reference>\n    </References>\n  </UAObjectType>\n  <UAObjectType NodeId=\"i=18047\" BrowseName=\"KeyCredentialDeletedAuditEventType\">\n    <DisplayName>KeyCredentialDeletedAuditEventType</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=18011</Reference>\n    </References>\n  </UAObjectType>\n  <UAObjectType NodeId=\"i=23556\" BrowseName=\"AuthorizationServicesConfigurationFolderType\">\n    <DisplayName>AuthorizationServicesConfigurationFolderType</DisplayName>\n    <References>\n      <Reference ReferenceType=\"Organizes\">i=23557</Reference>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=61</Reference>\n    </References>\n  </UAObjectType>\n  <UAObject NodeId=\"i=23557\" BrowseName=\"&lt;ServiceName&gt;\" SymbolicName=\"ServiceName_Placeholder\" ParentNodeId=\"i=23556\">\n    <DisplayName>&lt;ServiceName&gt;</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=23558</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=23559</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=23560</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=17852</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=11508</Reference>\n      <Reference ReferenceType=\"Organizes\" IsForward=\"false\">i=23556</Reference>\n    </References>\n  </UAObject>\n  <UAVariable NodeId=\"i=23558\" BrowseName=\"ServiceUri\" ParentNodeId=\"i=23557\" DataType=\"String\">\n    <DisplayName>ServiceUri</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=23557</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=23559\" BrowseName=\"ServiceCertificate\" ParentNodeId=\"i=23557\" DataType=\"ByteString\">\n    <DisplayName>ServiceCertificate</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=23557</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=23560\" BrowseName=\"IssuerEndpointUrl\" ParentNodeId=\"i=23557\" DataType=\"String\">\n    <DisplayName>IssuerEndpointUrl</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=23557</Reference>\n    </References>\n  </UAVariable>\n  <UAObject NodeId=\"i=17732\" BrowseName=\"AuthorizationServices\">\n    <DisplayName>AuthorizationServices</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=12637</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=61</Reference>\n    </References>\n  </UAObject>\n  <UAObjectType NodeId=\"i=17852\" BrowseName=\"AuthorizationServiceConfigurationType\">\n    <DisplayName>AuthorizationServiceConfigurationType</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=18072</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=17860</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=18073</Reference>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=58</Reference>\n    </References>\n  </UAObjectType>\n  <UAVariable NodeId=\"i=18072\" BrowseName=\"ServiceUri\" ParentNodeId=\"i=17852\" DataType=\"String\">\n    <DisplayName>ServiceUri</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=17852</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=17860\" BrowseName=\"ServiceCertificate\" ParentNodeId=\"i=17852\" DataType=\"ByteString\">\n    <DisplayName>ServiceCertificate</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=17852</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=18073\" BrowseName=\"IssuerEndpointUrl\" ParentNodeId=\"i=17852\" DataType=\"String\">\n    <DisplayName>IssuerEndpointUrl</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=17852</Reference>\n    </References>\n  </UAVariable>\n  <UAObjectType NodeId=\"i=11187\" BrowseName=\"AggregateConfigurationType\">\n    <DisplayName>AggregateConfigurationType</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=11188</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=11189</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=11190</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=11191</Reference>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=58</Reference>\n    </References>\n  </UAObjectType>\n  <UAVariable NodeId=\"i=11188\" BrowseName=\"TreatUncertainAsBad\" ParentNodeId=\"i=11187\" DataType=\"Boolean\">\n    <DisplayName>TreatUncertainAsBad</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=11187</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=11189\" BrowseName=\"PercentDataBad\" ParentNodeId=\"i=11187\" DataType=\"Byte\">\n    <DisplayName>PercentDataBad</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=11187</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=11190\" BrowseName=\"PercentDataGood\" ParentNodeId=\"i=11187\" DataType=\"Byte\">\n    <DisplayName>PercentDataGood</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=11187</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=11191\" BrowseName=\"UseSlopedExtrapolation\" ParentNodeId=\"i=11187\" DataType=\"Boolean\">\n    <DisplayName>UseSlopedExtrapolation</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=11187</Reference>\n    </References>\n  </UAVariable>\n  <UAObject NodeId=\"i=2341\" BrowseName=\"Interpolative\" SymbolicName=\"AggregateFunction_Interpolative\">\n    <DisplayName>Interpolative</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=2340</Reference>\n    </References>\n  </UAObject>\n  <UAObject NodeId=\"i=2342\" BrowseName=\"Average\" SymbolicName=\"AggregateFunction_Average\">\n    <DisplayName>Average</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=2340</Reference>\n    </References>\n  </UAObject>\n  <UAObject NodeId=\"i=2343\" BrowseName=\"TimeAverage\" SymbolicName=\"AggregateFunction_TimeAverage\">\n    <DisplayName>TimeAverage</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=2340</Reference>\n    </References>\n  </UAObject>\n  <UAObject NodeId=\"i=11285\" BrowseName=\"TimeAverage2\" SymbolicName=\"AggregateFunction_TimeAverage2\">\n    <DisplayName>TimeAverage2</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=2340</Reference>\n    </References>\n  </UAObject>\n  <UAObject NodeId=\"i=2344\" BrowseName=\"Total\" SymbolicName=\"AggregateFunction_Total\">\n    <DisplayName>Total</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=2340</Reference>\n    </References>\n  </UAObject>\n  <UAObject NodeId=\"i=11304\" BrowseName=\"Total2\" SymbolicName=\"AggregateFunction_Total2\">\n    <DisplayName>Total2</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=2340</Reference>\n    </References>\n  </UAObject>\n  <UAObject NodeId=\"i=2346\" BrowseName=\"Minimum\" SymbolicName=\"AggregateFunction_Minimum\">\n    <DisplayName>Minimum</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=2340</Reference>\n    </References>\n  </UAObject>\n  <UAObject NodeId=\"i=2347\" BrowseName=\"Maximum\" SymbolicName=\"AggregateFunction_Maximum\">\n    <DisplayName>Maximum</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=2340</Reference>\n    </References>\n  </UAObject>\n  <UAObject NodeId=\"i=2348\" BrowseName=\"MinimumActualTime\" SymbolicName=\"AggregateFunction_MinimumActualTime\">\n    <DisplayName>MinimumActualTime</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=2340</Reference>\n    </References>\n  </UAObject>\n  <UAObject NodeId=\"i=2349\" BrowseName=\"MaximumActualTime\" SymbolicName=\"AggregateFunction_MaximumActualTime\">\n    <DisplayName>MaximumActualTime</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=2340</Reference>\n    </References>\n  </UAObject>\n  <UAObject NodeId=\"i=2350\" BrowseName=\"Range\" SymbolicName=\"AggregateFunction_Range\">\n    <DisplayName>Range</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=2340</Reference>\n    </References>\n  </UAObject>\n  <UAObject NodeId=\"i=11286\" BrowseName=\"Minimum2\" SymbolicName=\"AggregateFunction_Minimum2\">\n    <DisplayName>Minimum2</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=2340</Reference>\n    </References>\n  </UAObject>\n  <UAObject NodeId=\"i=11287\" BrowseName=\"Maximum2\" SymbolicName=\"AggregateFunction_Maximum2\">\n    <DisplayName>Maximum2</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=2340</Reference>\n    </References>\n  </UAObject>\n  <UAObject NodeId=\"i=11305\" BrowseName=\"MinimumActualTime2\" SymbolicName=\"AggregateFunction_MinimumActualTime2\">\n    <DisplayName>MinimumActualTime2</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=2340</Reference>\n    </References>\n  </UAObject>\n  <UAObject NodeId=\"i=11306\" BrowseName=\"MaximumActualTime2\" SymbolicName=\"AggregateFunction_MaximumActualTime2\">\n    <DisplayName>MaximumActualTime2</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=2340</Reference>\n    </References>\n  </UAObject>\n  <UAObject NodeId=\"i=11288\" BrowseName=\"Range2\" SymbolicName=\"AggregateFunction_Range2\">\n    <DisplayName>Range2</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=2340</Reference>\n    </References>\n  </UAObject>\n  <UAObject NodeId=\"i=2351\" BrowseName=\"AnnotationCount\" SymbolicName=\"AggregateFunction_AnnotationCount\">\n    <DisplayName>AnnotationCount</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=2340</Reference>\n    </References>\n  </UAObject>\n  <UAObject NodeId=\"i=2352\" BrowseName=\"Count\" SymbolicName=\"AggregateFunction_Count\">\n    <DisplayName>Count</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=2340</Reference>\n    </References>\n  </UAObject>\n  <UAObject NodeId=\"i=11307\" BrowseName=\"DurationInStateZero\" SymbolicName=\"AggregateFunction_DurationInStateZero\">\n    <DisplayName>DurationInStateZero</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=2340</Reference>\n    </References>\n  </UAObject>\n  <UAObject NodeId=\"i=11308\" BrowseName=\"DurationInStateNonZero\" SymbolicName=\"AggregateFunction_DurationInStateNonZero\">\n    <DisplayName>DurationInStateNonZero</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=2340</Reference>\n    </References>\n  </UAObject>\n  <UAObject NodeId=\"i=2355\" BrowseName=\"NumberOfTransitions\" SymbolicName=\"AggregateFunction_NumberOfTransitions\">\n    <DisplayName>NumberOfTransitions</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=2340</Reference>\n    </References>\n  </UAObject>\n  <UAObject NodeId=\"i=2357\" BrowseName=\"Start\" SymbolicName=\"AggregateFunction_Start\">\n    <DisplayName>Start</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=2340</Reference>\n    </References>\n  </UAObject>\n  <UAObject NodeId=\"i=2358\" BrowseName=\"End\" SymbolicName=\"AggregateFunction_End\">\n    <DisplayName>End</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=2340</Reference>\n    </References>\n  </UAObject>\n  <UAObject NodeId=\"i=2359\" BrowseName=\"Delta\" SymbolicName=\"AggregateFunction_Delta\">\n    <DisplayName>Delta</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=2340</Reference>\n    </References>\n  </UAObject>\n  <UAObject NodeId=\"i=11505\" BrowseName=\"StartBound\" SymbolicName=\"AggregateFunction_StartBound\">\n    <DisplayName>StartBound</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=2340</Reference>\n    </References>\n  </UAObject>\n  <UAObject NodeId=\"i=11506\" BrowseName=\"EndBound\" SymbolicName=\"AggregateFunction_EndBound\">\n    <DisplayName>EndBound</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=2340</Reference>\n    </References>\n  </UAObject>\n  <UAObject NodeId=\"i=11507\" BrowseName=\"DeltaBounds\" SymbolicName=\"AggregateFunction_DeltaBounds\">\n    <DisplayName>DeltaBounds</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=2340</Reference>\n    </References>\n  </UAObject>\n  <UAObject NodeId=\"i=2360\" BrowseName=\"DurationGood\" SymbolicName=\"AggregateFunction_DurationGood\">\n    <DisplayName>DurationGood</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=2340</Reference>\n    </References>\n  </UAObject>\n  <UAObject NodeId=\"i=2361\" BrowseName=\"DurationBad\" SymbolicName=\"AggregateFunction_DurationBad\">\n    <DisplayName>DurationBad</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=2340</Reference>\n    </References>\n  </UAObject>\n  <UAObject NodeId=\"i=2362\" BrowseName=\"PercentGood\" SymbolicName=\"AggregateFunction_PercentGood\">\n    <DisplayName>PercentGood</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=2340</Reference>\n    </References>\n  </UAObject>\n  <UAObject NodeId=\"i=2363\" BrowseName=\"PercentBad\" SymbolicName=\"AggregateFunction_PercentBad\">\n    <DisplayName>PercentBad</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=2340</Reference>\n    </References>\n  </UAObject>\n  <UAObject NodeId=\"i=2364\" BrowseName=\"WorstQuality\" SymbolicName=\"AggregateFunction_WorstQuality\">\n    <DisplayName>WorstQuality</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=2340</Reference>\n    </References>\n  </UAObject>\n  <UAObject NodeId=\"i=11292\" BrowseName=\"WorstQuality2\" SymbolicName=\"AggregateFunction_WorstQuality2\">\n    <DisplayName>WorstQuality2</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=2340</Reference>\n    </References>\n  </UAObject>\n  <UAObject NodeId=\"i=11426\" BrowseName=\"StandardDeviationSample\" SymbolicName=\"AggregateFunction_StandardDeviationSample\">\n    <DisplayName>StandardDeviationSample</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=2340</Reference>\n    </References>\n  </UAObject>\n  <UAObject NodeId=\"i=11427\" BrowseName=\"StandardDeviationPopulation\" SymbolicName=\"AggregateFunction_StandardDeviationPopulation\">\n    <DisplayName>StandardDeviationPopulation</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=2340</Reference>\n    </References>\n  </UAObject>\n  <UAObject NodeId=\"i=11428\" BrowseName=\"VarianceSample\" SymbolicName=\"AggregateFunction_VarianceSample\">\n    <DisplayName>VarianceSample</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=2340</Reference>\n    </References>\n  </UAObject>\n  <UAObject NodeId=\"i=11429\" BrowseName=\"VariancePopulation\" SymbolicName=\"AggregateFunction_VariancePopulation\">\n    <DisplayName>VariancePopulation</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=2340</Reference>\n    </References>\n  </UAObject>\n  <UADataType NodeId=\"i=15534\" BrowseName=\"DataTypeSchemaHeader\" IsAbstract=\"true\">\n    <DisplayName>DataTypeSchemaHeader</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=22</Reference>\n    </References>\n    <Definition Name=\"DataTypeSchemaHeader\">\n      <Field Name=\"Namespaces\" DataType=\"i=12\" ValueRank=\"1\" />\n      <Field Name=\"StructureDataTypes\" DataType=\"i=15487\" ValueRank=\"1\" />\n      <Field Name=\"EnumDataTypes\" DataType=\"i=15488\" ValueRank=\"1\" />\n      <Field Name=\"SimpleDataTypes\" DataType=\"i=15005\" ValueRank=\"1\" />\n    </Definition>\n  </UADataType>\n  <UADataType NodeId=\"i=14525\" BrowseName=\"DataTypeDescription\" IsAbstract=\"true\">\n    <DisplayName>DataTypeDescription</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=22</Reference>\n    </References>\n    <Definition Name=\"DataTypeDescription\">\n      <Field Name=\"DataTypeId\" DataType=\"i=17\" />\n      <Field Name=\"Name\" DataType=\"i=20\" />\n    </Definition>\n  </UADataType>\n  <UADataType NodeId=\"i=15487\" BrowseName=\"StructureDescription\">\n    <DisplayName>StructureDescription</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=14525</Reference>\n    </References>\n    <Definition Name=\"StructureDescription\">\n      <Field Name=\"StructureDefinition\" DataType=\"i=99\" />\n    </Definition>\n  </UADataType>\n  <UADataType NodeId=\"i=15488\" BrowseName=\"EnumDescription\">\n    <DisplayName>EnumDescription</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=14525</Reference>\n    </References>\n    <Definition Name=\"EnumDescription\">\n      <Field Name=\"EnumDefinition\" DataType=\"i=100\" />\n      <Field Name=\"BuiltInType\" DataType=\"i=3\" />\n    </Definition>\n  </UADataType>\n  <UADataType NodeId=\"i=15005\" BrowseName=\"SimpleTypeDescription\">\n    <DisplayName>SimpleTypeDescription</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=14525</Reference>\n    </References>\n    <Definition Name=\"SimpleTypeDescription\">\n      <Field Name=\"BaseDataType\" DataType=\"i=17\" />\n      <Field Name=\"BuiltInType\" DataType=\"i=3\" />\n    </Definition>\n  </UADataType>\n  <UADataType NodeId=\"i=15006\" BrowseName=\"UABinaryFileDataType\">\n    <DisplayName>UABinaryFileDataType</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=15534</Reference>\n    </References>\n    <Definition Name=\"UABinaryFileDataType\">\n      <Field Name=\"SchemaLocation\" DataType=\"i=12\" />\n      <Field Name=\"FileHeader\" DataType=\"i=14533\" ValueRank=\"1\" />\n      <Field Name=\"Body\" />\n    </Definition>\n  </UADataType>\n  <UADataType NodeId=\"i=14647\" BrowseName=\"PubSubState\">\n    <DisplayName>PubSubState</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=14648</Reference>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=29</Reference>\n    </References>\n    <Definition Name=\"PubSubState\">\n      <Field Name=\"Disabled\" Value=\"0\" />\n      <Field Name=\"Paused\" Value=\"1\" />\n      <Field Name=\"Operational\" Value=\"2\" />\n      <Field Name=\"Error\" Value=\"3\" />\n      <Field Name=\"PreOperational\" Value=\"4\" />\n    </Definition>\n  </UADataType>\n  <UAVariable NodeId=\"i=14648\" BrowseName=\"EnumStrings\" ParentNodeId=\"i=14647\" DataType=\"LocalizedText\" ValueRank=\"1\" ArrayDimensions=\"0\">\n    <DisplayName>EnumStrings</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=14647</Reference>\n    </References>\n    <Value>\n      <ListOfLocalizedText xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <LocalizedText>\n          <Text>Disabled</Text>\n        </LocalizedText>\n        <LocalizedText>\n          <Text>Paused</Text>\n        </LocalizedText>\n        <LocalizedText>\n          <Text>Operational</Text>\n        </LocalizedText>\n        <LocalizedText>\n          <Text>Error</Text>\n        </LocalizedText>\n        <LocalizedText>\n          <Text>PreOperational</Text>\n        </LocalizedText>\n      </ListOfLocalizedText>\n    </Value>\n  </UAVariable>\n  <UADataType NodeId=\"i=14523\" BrowseName=\"DataSetMetaDataType\">\n    <DisplayName>DataSetMetaDataType</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=15534</Reference>\n    </References>\n    <Definition Name=\"DataSetMetaDataType\">\n      <Field Name=\"Name\" DataType=\"i=12\" />\n      <Field Name=\"Description\" DataType=\"i=21\" />\n      <Field Name=\"Fields\" DataType=\"i=14524\" ValueRank=\"1\" />\n      <Field Name=\"DataSetClassId\" DataType=\"i=14\" />\n      <Field Name=\"ConfigurationVersion\" DataType=\"i=14593\" />\n    </Definition>\n  </UADataType>\n  <UADataType NodeId=\"i=14524\" BrowseName=\"FieldMetaData\">\n    <DisplayName>FieldMetaData</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=22</Reference>\n    </References>\n    <Definition Name=\"FieldMetaData\">\n      <Field Name=\"Name\" DataType=\"i=12\" />\n      <Field Name=\"Description\" DataType=\"i=21\" />\n      <Field Name=\"FieldFlags\" DataType=\"i=15904\" />\n      <Field Name=\"BuiltInType\" DataType=\"i=3\" />\n      <Field Name=\"DataType\" DataType=\"i=17\" />\n      <Field Name=\"ValueRank\" DataType=\"i=6\" />\n      <Field Name=\"ArrayDimensions\" DataType=\"i=7\" ValueRank=\"1\" />\n      <Field Name=\"MaxStringLength\" DataType=\"i=7\" />\n      <Field Name=\"DataSetFieldId\" DataType=\"i=14\" />\n      <Field Name=\"Properties\" DataType=\"i=14533\" ValueRank=\"1\" />\n    </Definition>\n  </UADataType>\n  <UADataType NodeId=\"i=15904\" BrowseName=\"DataSetFieldFlags\">\n    <DisplayName>DataSetFieldFlags</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=15577</Reference>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=5</Reference>\n    </References>\n    <Definition Name=\"DataSetFieldFlags\" IsOptionSet=\"true\">\n      <Field Name=\"PromotedField\" Value=\"0\" />\n    </Definition>\n  </UADataType>\n  <UAVariable NodeId=\"i=15577\" BrowseName=\"OptionSetValues\" ParentNodeId=\"i=15904\" DataType=\"LocalizedText\" ValueRank=\"1\" ArrayDimensions=\"0\">\n    <DisplayName>OptionSetValues</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=15904</Reference>\n    </References>\n    <Value>\n      <ListOfLocalizedText xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <LocalizedText>\n          <Text>PromotedField</Text>\n        </LocalizedText>\n      </ListOfLocalizedText>\n    </Value>\n  </UAVariable>\n  <UADataType NodeId=\"i=14593\" BrowseName=\"ConfigurationVersionDataType\">\n    <DisplayName>ConfigurationVersionDataType</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=22</Reference>\n    </References>\n    <Definition Name=\"ConfigurationVersionDataType\">\n      <Field Name=\"MajorVersion\" DataType=\"i=20998\" />\n      <Field Name=\"MinorVersion\" DataType=\"i=20998\" />\n    </Definition>\n  </UADataType>\n  <UADataType NodeId=\"i=15578\" BrowseName=\"PublishedDataSetDataType\">\n    <DisplayName>PublishedDataSetDataType</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=22</Reference>\n    </References>\n    <Definition Name=\"PublishedDataSetDataType\">\n      <Field Name=\"Name\" DataType=\"i=12\" />\n      <Field Name=\"DataSetFolder\" DataType=\"i=12\" ValueRank=\"1\" />\n      <Field Name=\"DataSetMetaData\" DataType=\"i=14523\" />\n      <Field Name=\"ExtensionFields\" DataType=\"i=14533\" ValueRank=\"1\" />\n      <Field Name=\"DataSetSource\" DataType=\"i=15580\" />\n    </Definition>\n  </UADataType>\n  <UADataType NodeId=\"i=15580\" BrowseName=\"PublishedDataSetSourceDataType\" IsAbstract=\"true\">\n    <DisplayName>PublishedDataSetSourceDataType</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=22</Reference>\n    </References>\n    <Definition Name=\"PublishedDataSetSourceDataType\" />\n  </UADataType>\n  <UADataType NodeId=\"i=14273\" BrowseName=\"PublishedVariableDataType\">\n    <DisplayName>PublishedVariableDataType</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=22</Reference>\n    </References>\n    <Definition Name=\"PublishedVariableDataType\">\n      <Field Name=\"PublishedVariable\" DataType=\"i=17\" />\n      <Field Name=\"AttributeId\" DataType=\"i=288\" />\n      <Field Name=\"SamplingIntervalHint\" DataType=\"i=290\" />\n      <Field Name=\"DeadbandType\" DataType=\"i=7\" />\n      <Field Name=\"DeadbandValue\" DataType=\"i=11\" />\n      <Field Name=\"IndexRange\" DataType=\"i=291\" />\n      <Field Name=\"SubstituteValue\" />\n      <Field Name=\"MetaDataProperties\" DataType=\"i=20\" ValueRank=\"1\" />\n    </Definition>\n  </UADataType>\n  <UADataType NodeId=\"i=15581\" BrowseName=\"PublishedDataItemsDataType\">\n    <DisplayName>PublishedDataItemsDataType</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=15580</Reference>\n    </References>\n    <Definition Name=\"PublishedDataItemsDataType\">\n      <Field Name=\"PublishedData\" DataType=\"i=14273\" ValueRank=\"1\" />\n    </Definition>\n  </UADataType>\n  <UADataType NodeId=\"i=15582\" BrowseName=\"PublishedEventsDataType\">\n    <DisplayName>PublishedEventsDataType</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=15580</Reference>\n    </References>\n    <Definition Name=\"PublishedEventsDataType\">\n      <Field Name=\"EventNotifier\" DataType=\"i=17\" />\n      <Field Name=\"SelectedFields\" DataType=\"i=601\" ValueRank=\"1\" />\n      <Field Name=\"Filter\" DataType=\"i=586\" />\n    </Definition>\n  </UADataType>\n  <UADataType NodeId=\"i=15583\" BrowseName=\"DataSetFieldContentMask\">\n    <DisplayName>DataSetFieldContentMask</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=15584</Reference>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=7</Reference>\n    </References>\n    <Definition Name=\"DataSetFieldContentMask\" IsOptionSet=\"true\">\n      <Field Name=\"StatusCode\" Value=\"0\" />\n      <Field Name=\"SourceTimestamp\" Value=\"1\" />\n      <Field Name=\"ServerTimestamp\" Value=\"2\" />\n      <Field Name=\"SourcePicoSeconds\" Value=\"3\" />\n      <Field Name=\"ServerPicoSeconds\" Value=\"4\" />\n      <Field Name=\"RawData\" Value=\"5\" />\n    </Definition>\n  </UADataType>\n  <UAVariable NodeId=\"i=15584\" BrowseName=\"OptionSetValues\" ParentNodeId=\"i=15583\" DataType=\"LocalizedText\" ValueRank=\"1\" ArrayDimensions=\"0\">\n    <DisplayName>OptionSetValues</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=15583</Reference>\n    </References>\n    <Value>\n      <ListOfLocalizedText xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <LocalizedText>\n          <Text>StatusCode</Text>\n        </LocalizedText>\n        <LocalizedText>\n          <Text>SourceTimestamp</Text>\n        </LocalizedText>\n        <LocalizedText>\n          <Text>ServerTimestamp</Text>\n        </LocalizedText>\n        <LocalizedText>\n          <Text>SourcePicoSeconds</Text>\n        </LocalizedText>\n        <LocalizedText>\n          <Text>ServerPicoSeconds</Text>\n        </LocalizedText>\n        <LocalizedText>\n          <Text>RawData</Text>\n        </LocalizedText>\n      </ListOfLocalizedText>\n    </Value>\n  </UAVariable>\n  <UADataType NodeId=\"i=15597\" BrowseName=\"DataSetWriterDataType\">\n    <DisplayName>DataSetWriterDataType</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=22</Reference>\n    </References>\n    <Definition Name=\"DataSetWriterDataType\">\n      <Field Name=\"Name\" DataType=\"i=12\" />\n      <Field Name=\"Enabled\" DataType=\"i=1\" />\n      <Field Name=\"DataSetWriterId\" DataType=\"i=5\" />\n      <Field Name=\"DataSetFieldContentMask\" DataType=\"i=15583\" />\n      <Field Name=\"KeyFrameCount\" DataType=\"i=7\" />\n      <Field Name=\"DataSetName\" DataType=\"i=12\" />\n      <Field Name=\"DataSetWriterProperties\" DataType=\"i=14533\" ValueRank=\"1\" />\n      <Field Name=\"TransportSettings\" DataType=\"i=15598\" />\n      <Field Name=\"MessageSettings\" DataType=\"i=15605\" />\n    </Definition>\n  </UADataType>\n  <UADataType NodeId=\"i=15598\" BrowseName=\"DataSetWriterTransportDataType\" IsAbstract=\"true\">\n    <DisplayName>DataSetWriterTransportDataType</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=22</Reference>\n    </References>\n    <Definition Name=\"DataSetWriterTransportDataType\" />\n  </UADataType>\n  <UADataType NodeId=\"i=15605\" BrowseName=\"DataSetWriterMessageDataType\" IsAbstract=\"true\">\n    <DisplayName>DataSetWriterMessageDataType</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=22</Reference>\n    </References>\n    <Definition Name=\"DataSetWriterMessageDataType\" />\n  </UADataType>\n  <UADataType NodeId=\"i=15609\" BrowseName=\"PubSubGroupDataType\" IsAbstract=\"true\">\n    <DisplayName>PubSubGroupDataType</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=22</Reference>\n    </References>\n    <Definition Name=\"PubSubGroupDataType\">\n      <Field Name=\"Name\" DataType=\"i=12\" />\n      <Field Name=\"Enabled\" DataType=\"i=1\" />\n      <Field Name=\"SecurityMode\" DataType=\"i=302\" />\n      <Field Name=\"SecurityGroupId\" DataType=\"i=12\" />\n      <Field Name=\"SecurityKeyServices\" DataType=\"i=312\" ValueRank=\"1\" />\n      <Field Name=\"MaxNetworkMessageSize\" DataType=\"i=7\" />\n      <Field Name=\"GroupProperties\" DataType=\"i=14533\" ValueRank=\"1\" />\n    </Definition>\n  </UADataType>\n  <UADataType NodeId=\"i=15480\" BrowseName=\"WriterGroupDataType\">\n    <DisplayName>WriterGroupDataType</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=15609</Reference>\n    </References>\n    <Definition Name=\"WriterGroupDataType\">\n      <Field Name=\"WriterGroupId\" DataType=\"i=5\" />\n      <Field Name=\"PublishingInterval\" DataType=\"i=290\" />\n      <Field Name=\"KeepAliveTime\" DataType=\"i=290\" />\n      <Field Name=\"Priority\" DataType=\"i=3\" />\n      <Field Name=\"LocaleIds\" DataType=\"i=295\" ValueRank=\"1\" />\n      <Field Name=\"HeaderLayoutUri\" DataType=\"i=12\" />\n      <Field Name=\"TransportSettings\" DataType=\"i=15611\" />\n      <Field Name=\"MessageSettings\" DataType=\"i=15616\" />\n      <Field Name=\"DataSetWriters\" DataType=\"i=15597\" ValueRank=\"1\" />\n    </Definition>\n  </UADataType>\n  <UADataType NodeId=\"i=15611\" BrowseName=\"WriterGroupTransportDataType\" IsAbstract=\"true\">\n    <DisplayName>WriterGroupTransportDataType</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=22</Reference>\n    </References>\n    <Definition Name=\"WriterGroupTransportDataType\" />\n  </UADataType>\n  <UADataType NodeId=\"i=15616\" BrowseName=\"WriterGroupMessageDataType\" IsAbstract=\"true\">\n    <DisplayName>WriterGroupMessageDataType</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=22</Reference>\n    </References>\n    <Definition Name=\"WriterGroupMessageDataType\" />\n  </UADataType>\n  <UADataType NodeId=\"i=15617\" BrowseName=\"PubSubConnectionDataType\">\n    <DisplayName>PubSubConnectionDataType</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=22</Reference>\n    </References>\n    <Definition Name=\"PubSubConnectionDataType\">\n      <Field Name=\"Name\" DataType=\"i=12\" />\n      <Field Name=\"Enabled\" DataType=\"i=1\" />\n      <Field Name=\"PublisherId\" />\n      <Field Name=\"TransportProfileUri\" DataType=\"i=12\" />\n      <Field Name=\"Address\" DataType=\"i=15502\" />\n      <Field Name=\"ConnectionProperties\" DataType=\"i=14533\" ValueRank=\"1\" />\n      <Field Name=\"TransportSettings\" DataType=\"i=15618\" />\n      <Field Name=\"WriterGroups\" DataType=\"i=15480\" ValueRank=\"1\" />\n      <Field Name=\"ReaderGroups\" DataType=\"i=15520\" ValueRank=\"1\" />\n    </Definition>\n  </UADataType>\n  <UADataType NodeId=\"i=15618\" BrowseName=\"ConnectionTransportDataType\" IsAbstract=\"true\">\n    <DisplayName>ConnectionTransportDataType</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=22</Reference>\n    </References>\n    <Definition Name=\"ConnectionTransportDataType\" />\n  </UADataType>\n  <UADataType NodeId=\"i=15502\" BrowseName=\"NetworkAddressDataType\" IsAbstract=\"true\">\n    <DisplayName>NetworkAddressDataType</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=22</Reference>\n    </References>\n    <Definition Name=\"NetworkAddressDataType\">\n      <Field Name=\"NetworkInterface\" DataType=\"i=12\" />\n    </Definition>\n  </UADataType>\n  <UADataType NodeId=\"i=15510\" BrowseName=\"NetworkAddressUrlDataType\">\n    <DisplayName>NetworkAddressUrlDataType</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=15502</Reference>\n    </References>\n    <Definition Name=\"NetworkAddressUrlDataType\">\n      <Field Name=\"Url\" DataType=\"i=12\" />\n    </Definition>\n  </UADataType>\n  <UADataType NodeId=\"i=15520\" BrowseName=\"ReaderGroupDataType\">\n    <DisplayName>ReaderGroupDataType</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=15609</Reference>\n    </References>\n    <Definition Name=\"ReaderGroupDataType\">\n      <Field Name=\"TransportSettings\" DataType=\"i=15621\" />\n      <Field Name=\"MessageSettings\" DataType=\"i=15622\" />\n      <Field Name=\"DataSetReaders\" DataType=\"i=15623\" ValueRank=\"1\" />\n    </Definition>\n  </UADataType>\n  <UADataType NodeId=\"i=15621\" BrowseName=\"ReaderGroupTransportDataType\" IsAbstract=\"true\">\n    <DisplayName>ReaderGroupTransportDataType</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=22</Reference>\n    </References>\n    <Definition Name=\"ReaderGroupTransportDataType\" />\n  </UADataType>\n  <UADataType NodeId=\"i=15622\" BrowseName=\"ReaderGroupMessageDataType\" IsAbstract=\"true\">\n    <DisplayName>ReaderGroupMessageDataType</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=22</Reference>\n    </References>\n    <Definition Name=\"ReaderGroupMessageDataType\" />\n  </UADataType>\n  <UADataType NodeId=\"i=15623\" BrowseName=\"DataSetReaderDataType\">\n    <DisplayName>DataSetReaderDataType</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=22</Reference>\n    </References>\n    <Definition Name=\"DataSetReaderDataType\">\n      <Field Name=\"Name\" DataType=\"i=12\" />\n      <Field Name=\"Enabled\" DataType=\"i=1\" />\n      <Field Name=\"PublisherId\" />\n      <Field Name=\"WriterGroupId\" DataType=\"i=5\" />\n      <Field Name=\"DataSetWriterId\" DataType=\"i=5\" />\n      <Field Name=\"DataSetMetaData\" DataType=\"i=14523\" />\n      <Field Name=\"DataSetFieldContentMask\" DataType=\"i=15583\" />\n      <Field Name=\"MessageReceiveTimeout\" DataType=\"i=290\" />\n      <Field Name=\"KeyFrameCount\" DataType=\"i=7\" />\n      <Field Name=\"HeaderLayoutUri\" DataType=\"i=12\" />\n      <Field Name=\"SecurityMode\" DataType=\"i=302\" />\n      <Field Name=\"SecurityGroupId\" DataType=\"i=12\" />\n      <Field Name=\"SecurityKeyServices\" DataType=\"i=312\" ValueRank=\"1\" />\n      <Field Name=\"DataSetReaderProperties\" DataType=\"i=14533\" ValueRank=\"1\" />\n      <Field Name=\"TransportSettings\" DataType=\"i=15628\" />\n      <Field Name=\"MessageSettings\" DataType=\"i=15629\" />\n      <Field Name=\"SubscribedDataSet\" DataType=\"i=15630\" />\n    </Definition>\n  </UADataType>\n  <UADataType NodeId=\"i=15628\" BrowseName=\"DataSetReaderTransportDataType\" IsAbstract=\"true\">\n    <DisplayName>DataSetReaderTransportDataType</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=22</Reference>\n    </References>\n    <Definition Name=\"DataSetReaderTransportDataType\" />\n  </UADataType>\n  <UADataType NodeId=\"i=15629\" BrowseName=\"DataSetReaderMessageDataType\" IsAbstract=\"true\">\n    <DisplayName>DataSetReaderMessageDataType</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=22</Reference>\n    </References>\n    <Definition Name=\"DataSetReaderMessageDataType\" />\n  </UADataType>\n  <UADataType NodeId=\"i=15630\" BrowseName=\"SubscribedDataSetDataType\" IsAbstract=\"true\">\n    <DisplayName>SubscribedDataSetDataType</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=22</Reference>\n    </References>\n    <Definition Name=\"SubscribedDataSetDataType\" />\n  </UADataType>\n  <UADataType NodeId=\"i=15631\" BrowseName=\"TargetVariablesDataType\">\n    <DisplayName>TargetVariablesDataType</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=15630</Reference>\n    </References>\n    <Definition Name=\"TargetVariablesDataType\">\n      <Field Name=\"TargetVariables\" DataType=\"i=14744\" ValueRank=\"1\" />\n    </Definition>\n  </UADataType>\n  <UADataType NodeId=\"i=14744\" BrowseName=\"FieldTargetDataType\">\n    <DisplayName>FieldTargetDataType</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=22</Reference>\n    </References>\n    <Definition Name=\"FieldTargetDataType\">\n      <Field Name=\"DataSetFieldId\" DataType=\"i=14\" />\n      <Field Name=\"ReceiverIndexRange\" DataType=\"i=291\" />\n      <Field Name=\"TargetNodeId\" DataType=\"i=17\" />\n      <Field Name=\"AttributeId\" DataType=\"i=288\" />\n      <Field Name=\"WriteIndexRange\" DataType=\"i=291\" />\n      <Field Name=\"OverrideValueHandling\" DataType=\"i=15874\" />\n      <Field Name=\"OverrideValue\" />\n    </Definition>\n  </UADataType>\n  <UADataType NodeId=\"i=15874\" BrowseName=\"OverrideValueHandling\">\n    <DisplayName>OverrideValueHandling</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=15875</Reference>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=29</Reference>\n    </References>\n    <Definition Name=\"OverrideValueHandling\">\n      <Field Name=\"Disabled\" Value=\"0\" />\n      <Field Name=\"LastUsableValue\" Value=\"1\" />\n      <Field Name=\"OverrideValue\" Value=\"2\" />\n    </Definition>\n  </UADataType>\n  <UAVariable NodeId=\"i=15875\" BrowseName=\"EnumStrings\" ParentNodeId=\"i=15874\" DataType=\"LocalizedText\" ValueRank=\"1\" ArrayDimensions=\"0\">\n    <DisplayName>EnumStrings</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=15874</Reference>\n    </References>\n    <Value>\n      <ListOfLocalizedText xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <LocalizedText>\n          <Text>Disabled</Text>\n        </LocalizedText>\n        <LocalizedText>\n          <Text>LastUsableValue</Text>\n        </LocalizedText>\n        <LocalizedText>\n          <Text>OverrideValue</Text>\n        </LocalizedText>\n      </ListOfLocalizedText>\n    </Value>\n  </UAVariable>\n  <UADataType NodeId=\"i=15635\" BrowseName=\"SubscribedDataSetMirrorDataType\">\n    <DisplayName>SubscribedDataSetMirrorDataType</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=15630</Reference>\n    </References>\n    <Definition Name=\"SubscribedDataSetMirrorDataType\">\n      <Field Name=\"ParentNodeName\" DataType=\"i=12\" />\n      <Field Name=\"RolePermissions\" DataType=\"i=96\" ValueRank=\"1\" />\n    </Definition>\n  </UADataType>\n  <UADataType NodeId=\"i=15530\" BrowseName=\"PubSubConfigurationDataType\">\n    <DisplayName>PubSubConfigurationDataType</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=22</Reference>\n    </References>\n    <Definition Name=\"PubSubConfigurationDataType\">\n      <Field Name=\"PublishedDataSets\" DataType=\"i=15578\" ValueRank=\"1\" />\n      <Field Name=\"Connections\" DataType=\"i=15617\" ValueRank=\"1\" />\n      <Field Name=\"Enabled\" DataType=\"i=1\" />\n    </Definition>\n  </UADataType>\n  <UADataType NodeId=\"i=20408\" BrowseName=\"DataSetOrderingType\">\n    <DisplayName>DataSetOrderingType</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=15641</Reference>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=29</Reference>\n    </References>\n    <Definition Name=\"DataSetOrderingType\">\n      <Field Name=\"Undefined\" Value=\"0\" />\n      <Field Name=\"AscendingWriterId\" Value=\"1\" />\n      <Field Name=\"AscendingWriterIdSingle\" Value=\"2\" />\n    </Definition>\n  </UADataType>\n  <UAVariable NodeId=\"i=15641\" BrowseName=\"EnumStrings\" ParentNodeId=\"i=20408\" DataType=\"LocalizedText\" ValueRank=\"1\" ArrayDimensions=\"0\">\n    <DisplayName>EnumStrings</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=20408</Reference>\n    </References>\n    <Value>\n      <ListOfLocalizedText xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <LocalizedText>\n          <Text>Undefined</Text>\n        </LocalizedText>\n        <LocalizedText>\n          <Text>AscendingWriterId</Text>\n        </LocalizedText>\n        <LocalizedText>\n          <Text>AscendingWriterIdSingle</Text>\n        </LocalizedText>\n      </ListOfLocalizedText>\n    </Value>\n  </UAVariable>\n  <UADataType NodeId=\"i=15642\" BrowseName=\"UadpNetworkMessageContentMask\">\n    <DisplayName>UadpNetworkMessageContentMask</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=15643</Reference>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=7</Reference>\n    </References>\n    <Definition Name=\"UadpNetworkMessageContentMask\" IsOptionSet=\"true\">\n      <Field Name=\"PublisherId\" Value=\"0\" />\n      <Field Name=\"GroupHeader\" Value=\"1\" />\n      <Field Name=\"WriterGroupId\" Value=\"2\" />\n      <Field Name=\"GroupVersion\" Value=\"3\" />\n      <Field Name=\"NetworkMessageNumber\" Value=\"4\" />\n      <Field Name=\"SequenceNumber\" Value=\"5\" />\n      <Field Name=\"PayloadHeader\" Value=\"6\" />\n      <Field Name=\"Timestamp\" Value=\"7\" />\n      <Field Name=\"PicoSeconds\" Value=\"8\" />\n      <Field Name=\"DataSetClassId\" Value=\"9\" />\n      <Field Name=\"PromotedFields\" Value=\"10\" />\n    </Definition>\n  </UADataType>\n  <UAVariable NodeId=\"i=15643\" BrowseName=\"OptionSetValues\" ParentNodeId=\"i=15642\" DataType=\"LocalizedText\" ValueRank=\"1\" ArrayDimensions=\"0\">\n    <DisplayName>OptionSetValues</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=15642</Reference>\n    </References>\n    <Value>\n      <ListOfLocalizedText xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <LocalizedText>\n          <Text>PublisherId</Text>\n        </LocalizedText>\n        <LocalizedText>\n          <Text>GroupHeader</Text>\n        </LocalizedText>\n        <LocalizedText>\n          <Text>WriterGroupId</Text>\n        </LocalizedText>\n        <LocalizedText>\n          <Text>GroupVersion</Text>\n        </LocalizedText>\n        <LocalizedText>\n          <Text>NetworkMessageNumber</Text>\n        </LocalizedText>\n        <LocalizedText>\n          <Text>SequenceNumber</Text>\n        </LocalizedText>\n        <LocalizedText>\n          <Text>PayloadHeader</Text>\n        </LocalizedText>\n        <LocalizedText>\n          <Text>Timestamp</Text>\n        </LocalizedText>\n        <LocalizedText>\n          <Text>PicoSeconds</Text>\n        </LocalizedText>\n        <LocalizedText>\n          <Text>DataSetClassId</Text>\n        </LocalizedText>\n        <LocalizedText>\n          <Text>PromotedFields</Text>\n        </LocalizedText>\n      </ListOfLocalizedText>\n    </Value>\n  </UAVariable>\n  <UADataType NodeId=\"i=15645\" BrowseName=\"UadpWriterGroupMessageDataType\">\n    <DisplayName>UadpWriterGroupMessageDataType</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=15616</Reference>\n    </References>\n    <Definition Name=\"UadpWriterGroupMessageDataType\">\n      <Field Name=\"GroupVersion\" DataType=\"i=20998\" />\n      <Field Name=\"DataSetOrdering\" DataType=\"i=20408\" />\n      <Field Name=\"NetworkMessageContentMask\" DataType=\"i=15642\" />\n      <Field Name=\"SamplingOffset\" DataType=\"i=290\" />\n      <Field Name=\"PublishingOffset\" DataType=\"i=290\" ValueRank=\"1\" />\n    </Definition>\n  </UADataType>\n  <UADataType NodeId=\"i=15646\" BrowseName=\"UadpDataSetMessageContentMask\">\n    <DisplayName>UadpDataSetMessageContentMask</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=15647</Reference>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=7</Reference>\n    </References>\n    <Definition Name=\"UadpDataSetMessageContentMask\" IsOptionSet=\"true\">\n      <Field Name=\"Timestamp\" Value=\"0\" />\n      <Field Name=\"PicoSeconds\" Value=\"1\" />\n      <Field Name=\"Status\" Value=\"2\" />\n      <Field Name=\"MajorVersion\" Value=\"3\" />\n      <Field Name=\"MinorVersion\" Value=\"4\" />\n      <Field Name=\"SequenceNumber\" Value=\"5\" />\n    </Definition>\n  </UADataType>\n  <UAVariable NodeId=\"i=15647\" BrowseName=\"OptionSetValues\" ParentNodeId=\"i=15646\" DataType=\"LocalizedText\" ValueRank=\"1\" ArrayDimensions=\"0\">\n    <DisplayName>OptionSetValues</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=15646</Reference>\n    </References>\n    <Value>\n      <ListOfLocalizedText xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <LocalizedText>\n          <Text>Timestamp</Text>\n        </LocalizedText>\n        <LocalizedText>\n          <Text>PicoSeconds</Text>\n        </LocalizedText>\n        <LocalizedText>\n          <Text>Status</Text>\n        </LocalizedText>\n        <LocalizedText>\n          <Text>MajorVersion</Text>\n        </LocalizedText>\n        <LocalizedText>\n          <Text>MinorVersion</Text>\n        </LocalizedText>\n        <LocalizedText>\n          <Text>SequenceNumber</Text>\n        </LocalizedText>\n      </ListOfLocalizedText>\n    </Value>\n  </UAVariable>\n  <UADataType NodeId=\"i=15652\" BrowseName=\"UadpDataSetWriterMessageDataType\">\n    <DisplayName>UadpDataSetWriterMessageDataType</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=15605</Reference>\n    </References>\n    <Definition Name=\"UadpDataSetWriterMessageDataType\">\n      <Field Name=\"DataSetMessageContentMask\" DataType=\"i=15646\" />\n      <Field Name=\"ConfiguredSize\" DataType=\"i=5\" />\n      <Field Name=\"NetworkMessageNumber\" DataType=\"i=5\" />\n      <Field Name=\"DataSetOffset\" DataType=\"i=5\" />\n    </Definition>\n  </UADataType>\n  <UADataType NodeId=\"i=15653\" BrowseName=\"UadpDataSetReaderMessageDataType\">\n    <DisplayName>UadpDataSetReaderMessageDataType</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=15629</Reference>\n    </References>\n    <Definition Name=\"UadpDataSetReaderMessageDataType\">\n      <Field Name=\"GroupVersion\" DataType=\"i=20998\" />\n      <Field Name=\"NetworkMessageNumber\" DataType=\"i=5\" />\n      <Field Name=\"DataSetOffset\" DataType=\"i=5\" />\n      <Field Name=\"DataSetClassId\" DataType=\"i=14\" />\n      <Field Name=\"NetworkMessageContentMask\" DataType=\"i=15642\" />\n      <Field Name=\"DataSetMessageContentMask\" DataType=\"i=15646\" />\n      <Field Name=\"PublishingInterval\" DataType=\"i=290\" />\n      <Field Name=\"ReceiveOffset\" DataType=\"i=290\" />\n      <Field Name=\"ProcessingOffset\" DataType=\"i=290\" />\n    </Definition>\n  </UADataType>\n  <UADataType NodeId=\"i=15654\" BrowseName=\"JsonNetworkMessageContentMask\">\n    <DisplayName>JsonNetworkMessageContentMask</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=15655</Reference>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=7</Reference>\n    </References>\n    <Definition Name=\"JsonNetworkMessageContentMask\" IsOptionSet=\"true\">\n      <Field Name=\"NetworkMessageHeader\" Value=\"0\" />\n      <Field Name=\"DataSetMessageHeader\" Value=\"1\" />\n      <Field Name=\"SingleDataSetMessage\" Value=\"2\" />\n      <Field Name=\"PublisherId\" Value=\"3\" />\n      <Field Name=\"DataSetClassId\" Value=\"4\" />\n      <Field Name=\"ReplyTo\" Value=\"5\" />\n    </Definition>\n  </UADataType>\n  <UAVariable NodeId=\"i=15655\" BrowseName=\"OptionSetValues\" ParentNodeId=\"i=15654\" DataType=\"LocalizedText\" ValueRank=\"1\" ArrayDimensions=\"0\">\n    <DisplayName>OptionSetValues</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=15654</Reference>\n    </References>\n    <Value>\n      <ListOfLocalizedText xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <LocalizedText>\n          <Text>NetworkMessageHeader</Text>\n        </LocalizedText>\n        <LocalizedText>\n          <Text>DataSetMessageHeader</Text>\n        </LocalizedText>\n        <LocalizedText>\n          <Text>SingleDataSetMessage</Text>\n        </LocalizedText>\n        <LocalizedText>\n          <Text>PublisherId</Text>\n        </LocalizedText>\n        <LocalizedText>\n          <Text>DataSetClassId</Text>\n        </LocalizedText>\n        <LocalizedText>\n          <Text>ReplyTo</Text>\n        </LocalizedText>\n      </ListOfLocalizedText>\n    </Value>\n  </UAVariable>\n  <UADataType NodeId=\"i=15657\" BrowseName=\"JsonWriterGroupMessageDataType\">\n    <DisplayName>JsonWriterGroupMessageDataType</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=15616</Reference>\n    </References>\n    <Definition Name=\"JsonWriterGroupMessageDataType\">\n      <Field Name=\"NetworkMessageContentMask\" DataType=\"i=15654\" />\n    </Definition>\n  </UADataType>\n  <UADataType NodeId=\"i=15658\" BrowseName=\"JsonDataSetMessageContentMask\">\n    <DisplayName>JsonDataSetMessageContentMask</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=15659</Reference>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=7</Reference>\n    </References>\n    <Definition Name=\"JsonDataSetMessageContentMask\" IsOptionSet=\"true\">\n      <Field Name=\"DataSetWriterId\" Value=\"0\" />\n      <Field Name=\"MetaDataVersion\" Value=\"1\" />\n      <Field Name=\"SequenceNumber\" Value=\"2\" />\n      <Field Name=\"Timestamp\" Value=\"3\" />\n      <Field Name=\"Status\" Value=\"4\" />\n      <Field Name=\"MessageType\" Value=\"5\" />\n    </Definition>\n  </UADataType>\n  <UAVariable NodeId=\"i=15659\" BrowseName=\"OptionSetValues\" ParentNodeId=\"i=15658\" DataType=\"LocalizedText\" ValueRank=\"1\" ArrayDimensions=\"0\">\n    <DisplayName>OptionSetValues</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=15658</Reference>\n    </References>\n    <Value>\n      <ListOfLocalizedText xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <LocalizedText>\n          <Text>DataSetWriterId</Text>\n        </LocalizedText>\n        <LocalizedText>\n          <Text>MetaDataVersion</Text>\n        </LocalizedText>\n        <LocalizedText>\n          <Text>SequenceNumber</Text>\n        </LocalizedText>\n        <LocalizedText>\n          <Text>Timestamp</Text>\n        </LocalizedText>\n        <LocalizedText>\n          <Text>Status</Text>\n        </LocalizedText>\n        <LocalizedText>\n          <Text>MessageType</Text>\n        </LocalizedText>\n      </ListOfLocalizedText>\n    </Value>\n  </UAVariable>\n  <UADataType NodeId=\"i=15664\" BrowseName=\"JsonDataSetWriterMessageDataType\">\n    <DisplayName>JsonDataSetWriterMessageDataType</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=15605</Reference>\n    </References>\n    <Definition Name=\"JsonDataSetWriterMessageDataType\">\n      <Field Name=\"DataSetMessageContentMask\" DataType=\"i=15658\" />\n    </Definition>\n  </UADataType>\n  <UADataType NodeId=\"i=15665\" BrowseName=\"JsonDataSetReaderMessageDataType\">\n    <DisplayName>JsonDataSetReaderMessageDataType</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=15629</Reference>\n    </References>\n    <Definition Name=\"JsonDataSetReaderMessageDataType\">\n      <Field Name=\"NetworkMessageContentMask\" DataType=\"i=15654\" />\n      <Field Name=\"DataSetMessageContentMask\" DataType=\"i=15658\" />\n    </Definition>\n  </UADataType>\n  <UADataType NodeId=\"i=17467\" BrowseName=\"DatagramConnectionTransportDataType\">\n    <DisplayName>DatagramConnectionTransportDataType</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=15618</Reference>\n    </References>\n    <Definition Name=\"DatagramConnectionTransportDataType\">\n      <Field Name=\"DiscoveryAddress\" DataType=\"i=22\" />\n    </Definition>\n  </UADataType>\n  <UADataType NodeId=\"i=15532\" BrowseName=\"DatagramWriterGroupTransportDataType\">\n    <DisplayName>DatagramWriterGroupTransportDataType</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=15611</Reference>\n    </References>\n    <Definition Name=\"DatagramWriterGroupTransportDataType\">\n      <Field Name=\"MessageRepeatCount\" DataType=\"i=3\" />\n      <Field Name=\"MessageRepeatDelay\" DataType=\"i=290\" />\n    </Definition>\n  </UADataType>\n  <UADataType NodeId=\"i=15007\" BrowseName=\"BrokerConnectionTransportDataType\">\n    <DisplayName>BrokerConnectionTransportDataType</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=15618</Reference>\n    </References>\n    <Definition Name=\"BrokerConnectionTransportDataType\">\n      <Field Name=\"ResourceUri\" DataType=\"i=12\" />\n      <Field Name=\"AuthenticationProfileUri\" DataType=\"i=12\" />\n    </Definition>\n  </UADataType>\n  <UADataType NodeId=\"i=15008\" BrowseName=\"BrokerTransportQualityOfService\">\n    <DisplayName>BrokerTransportQualityOfService</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=15009</Reference>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=29</Reference>\n    </References>\n    <Definition Name=\"BrokerTransportQualityOfService\">\n      <Field Name=\"NotSpecified\" Value=\"0\" />\n      <Field Name=\"BestEffort\" Value=\"1\" />\n      <Field Name=\"AtLeastOnce\" Value=\"2\" />\n      <Field Name=\"AtMostOnce\" Value=\"3\" />\n      <Field Name=\"ExactlyOnce\" Value=\"4\" />\n    </Definition>\n  </UADataType>\n  <UAVariable NodeId=\"i=15009\" BrowseName=\"EnumStrings\" ParentNodeId=\"i=15008\" DataType=\"LocalizedText\" ValueRank=\"1\" ArrayDimensions=\"0\">\n    <DisplayName>EnumStrings</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=15008</Reference>\n    </References>\n    <Value>\n      <ListOfLocalizedText xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <LocalizedText>\n          <Text>NotSpecified</Text>\n        </LocalizedText>\n        <LocalizedText>\n          <Text>BestEffort</Text>\n        </LocalizedText>\n        <LocalizedText>\n          <Text>AtLeastOnce</Text>\n        </LocalizedText>\n        <LocalizedText>\n          <Text>AtMostOnce</Text>\n        </LocalizedText>\n        <LocalizedText>\n          <Text>ExactlyOnce</Text>\n        </LocalizedText>\n      </ListOfLocalizedText>\n    </Value>\n  </UAVariable>\n  <UADataType NodeId=\"i=15667\" BrowseName=\"BrokerWriterGroupTransportDataType\">\n    <DisplayName>BrokerWriterGroupTransportDataType</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=15611</Reference>\n    </References>\n    <Definition Name=\"BrokerWriterGroupTransportDataType\">\n      <Field Name=\"QueueName\" DataType=\"i=12\" />\n      <Field Name=\"ResourceUri\" DataType=\"i=12\" />\n      <Field Name=\"AuthenticationProfileUri\" DataType=\"i=12\" />\n      <Field Name=\"RequestedDeliveryGuarantee\" DataType=\"i=15008\" />\n    </Definition>\n  </UADataType>\n  <UADataType NodeId=\"i=15669\" BrowseName=\"BrokerDataSetWriterTransportDataType\">\n    <DisplayName>BrokerDataSetWriterTransportDataType</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=15598</Reference>\n    </References>\n    <Definition Name=\"BrokerDataSetWriterTransportDataType\">\n      <Field Name=\"QueueName\" DataType=\"i=12\" />\n      <Field Name=\"ResourceUri\" DataType=\"i=12\" />\n      <Field Name=\"AuthenticationProfileUri\" DataType=\"i=12\" />\n      <Field Name=\"RequestedDeliveryGuarantee\" DataType=\"i=15008\" />\n      <Field Name=\"MetaDataQueueName\" DataType=\"i=12\" />\n      <Field Name=\"MetaDataUpdateTime\" DataType=\"i=290\" />\n    </Definition>\n  </UADataType>\n  <UADataType NodeId=\"i=15670\" BrowseName=\"BrokerDataSetReaderTransportDataType\">\n    <DisplayName>BrokerDataSetReaderTransportDataType</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=15628</Reference>\n    </References>\n    <Definition Name=\"BrokerDataSetReaderTransportDataType\">\n      <Field Name=\"QueueName\" DataType=\"i=12\" />\n      <Field Name=\"ResourceUri\" DataType=\"i=12\" />\n      <Field Name=\"AuthenticationProfileUri\" DataType=\"i=12\" />\n      <Field Name=\"RequestedDeliveryGuarantee\" DataType=\"i=15008\" />\n      <Field Name=\"MetaDataQueueName\" DataType=\"i=12\" />\n    </Definition>\n  </UADataType>\n  <UAObjectType NodeId=\"i=15906\" BrowseName=\"PubSubKeyServiceType\">\n    <DisplayName>PubSubKeyServiceType</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasComponent\">i=15907</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=15910</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=15913</Reference>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=58</Reference>\n    </References>\n  </UAObjectType>\n  <UAMethod NodeId=\"i=15907\" BrowseName=\"GetSecurityKeys\" ParentNodeId=\"i=15906\">\n    <DisplayName>GetSecurityKeys</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=15908</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=15909</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=80</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=15906</Reference>\n    </References>\n  </UAMethod>\n  <UAVariable NodeId=\"i=15908\" BrowseName=\"InputArguments\" ParentNodeId=\"i=15907\" DataType=\"i=296\" ValueRank=\"1\" ArrayDimensions=\"0\">\n    <DisplayName>InputArguments</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=15907</Reference>\n    </References>\n    <Value>\n      <ListOfExtensionObject xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=297</Identifier>\n          </TypeId>\n          <Body>\n            <Argument>\n              <Name>SecurityGroupId</Name>\n              <DataType>\n                <Identifier>i=12</Identifier>\n              </DataType>\n              <ValueRank>-1</ValueRank>\n              <ArrayDimensions />\n            </Argument>\n          </Body>\n        </ExtensionObject>\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=297</Identifier>\n          </TypeId>\n          <Body>\n            <Argument>\n              <Name>StartingTokenId</Name>\n              <DataType>\n                <Identifier>i=288</Identifier>\n              </DataType>\n              <ValueRank>-1</ValueRank>\n              <ArrayDimensions />\n            </Argument>\n          </Body>\n        </ExtensionObject>\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=297</Identifier>\n          </TypeId>\n          <Body>\n            <Argument>\n              <Name>RequestedKeyCount</Name>\n              <DataType>\n                <Identifier>i=7</Identifier>\n              </DataType>\n              <ValueRank>-1</ValueRank>\n              <ArrayDimensions />\n            </Argument>\n          </Body>\n        </ExtensionObject>\n      </ListOfExtensionObject>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"i=15909\" BrowseName=\"OutputArguments\" ParentNodeId=\"i=15907\" DataType=\"i=296\" ValueRank=\"1\" ArrayDimensions=\"0\">\n    <DisplayName>OutputArguments</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=15907</Reference>\n    </References>\n    <Value>\n      <ListOfExtensionObject xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=297</Identifier>\n          </TypeId>\n          <Body>\n            <Argument>\n              <Name>SecurityPolicyUri</Name>\n              <DataType>\n                <Identifier>i=12</Identifier>\n              </DataType>\n              <ValueRank>-1</ValueRank>\n              <ArrayDimensions />\n            </Argument>\n          </Body>\n        </ExtensionObject>\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=297</Identifier>\n          </TypeId>\n          <Body>\n            <Argument>\n              <Name>FirstTokenId</Name>\n              <DataType>\n                <Identifier>i=288</Identifier>\n              </DataType>\n              <ValueRank>-1</ValueRank>\n              <ArrayDimensions />\n            </Argument>\n          </Body>\n        </ExtensionObject>\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=297</Identifier>\n          </TypeId>\n          <Body>\n            <Argument>\n              <Name>Keys</Name>\n              <DataType>\n                <Identifier>i=15</Identifier>\n              </DataType>\n              <ValueRank>1</ValueRank>\n              <ArrayDimensions>\n                <UInt32>0</UInt32>\n              </ArrayDimensions>\n            </Argument>\n          </Body>\n        </ExtensionObject>\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=297</Identifier>\n          </TypeId>\n          <Body>\n            <Argument>\n              <Name>TimeToNextKey</Name>\n              <DataType>\n                <Identifier>i=290</Identifier>\n              </DataType>\n              <ValueRank>-1</ValueRank>\n              <ArrayDimensions />\n            </Argument>\n          </Body>\n        </ExtensionObject>\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=297</Identifier>\n          </TypeId>\n          <Body>\n            <Argument>\n              <Name>KeyLifetime</Name>\n              <DataType>\n                <Identifier>i=290</Identifier>\n              </DataType>\n              <ValueRank>-1</ValueRank>\n              <ArrayDimensions />\n            </Argument>\n          </Body>\n        </ExtensionObject>\n      </ListOfExtensionObject>\n    </Value>\n  </UAVariable>\n  <UAMethod NodeId=\"i=15910\" BrowseName=\"GetSecurityGroup\" ParentNodeId=\"i=15906\">\n    <DisplayName>GetSecurityGroup</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=15911</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=15912</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=80</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=15906</Reference>\n    </References>\n  </UAMethod>\n  <UAVariable NodeId=\"i=15911\" BrowseName=\"InputArguments\" ParentNodeId=\"i=15910\" DataType=\"i=296\" ValueRank=\"1\" ArrayDimensions=\"0\">\n    <DisplayName>InputArguments</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=15910</Reference>\n    </References>\n    <Value>\n      <ListOfExtensionObject xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=297</Identifier>\n          </TypeId>\n          <Body>\n            <Argument>\n              <Name>SecurityGroupId</Name>\n              <DataType>\n                <Identifier>i=12</Identifier>\n              </DataType>\n              <ValueRank>-1</ValueRank>\n              <ArrayDimensions />\n            </Argument>\n          </Body>\n        </ExtensionObject>\n      </ListOfExtensionObject>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"i=15912\" BrowseName=\"OutputArguments\" ParentNodeId=\"i=15910\" DataType=\"i=296\" ValueRank=\"1\" ArrayDimensions=\"0\">\n    <DisplayName>OutputArguments</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=15910</Reference>\n    </References>\n    <Value>\n      <ListOfExtensionObject xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=297</Identifier>\n          </TypeId>\n          <Body>\n            <Argument>\n              <Name>SecurityGroupNodeId</Name>\n              <DataType>\n                <Identifier>i=17</Identifier>\n              </DataType>\n              <ValueRank>-1</ValueRank>\n              <ArrayDimensions />\n            </Argument>\n          </Body>\n        </ExtensionObject>\n      </ListOfExtensionObject>\n    </Value>\n  </UAVariable>\n  <UAObject NodeId=\"i=15913\" BrowseName=\"SecurityGroups\" ParentNodeId=\"i=15906\">\n    <DisplayName>SecurityGroups</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasComponent\">i=15914</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=15917</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=15452</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=80</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=15906</Reference>\n    </References>\n  </UAObject>\n  <UAMethod NodeId=\"i=15914\" BrowseName=\"AddSecurityGroup\" ParentNodeId=\"i=15913\" MethodDeclarationId=\"i=15461\">\n    <DisplayName>AddSecurityGroup</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=15915</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=15916</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=15913</Reference>\n    </References>\n  </UAMethod>\n  <UAVariable NodeId=\"i=15915\" BrowseName=\"InputArguments\" ParentNodeId=\"i=15914\" DataType=\"i=296\" ValueRank=\"1\" ArrayDimensions=\"0\">\n    <DisplayName>InputArguments</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=15914</Reference>\n    </References>\n    <Value>\n      <ListOfExtensionObject xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=297</Identifier>\n          </TypeId>\n          <Body>\n            <Argument>\n              <Name>SecurityGroupName</Name>\n              <DataType>\n                <Identifier>i=12</Identifier>\n              </DataType>\n              <ValueRank>-1</ValueRank>\n              <ArrayDimensions />\n            </Argument>\n          </Body>\n        </ExtensionObject>\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=297</Identifier>\n          </TypeId>\n          <Body>\n            <Argument>\n              <Name>KeyLifetime</Name>\n              <DataType>\n                <Identifier>i=290</Identifier>\n              </DataType>\n              <ValueRank>-1</ValueRank>\n              <ArrayDimensions />\n            </Argument>\n          </Body>\n        </ExtensionObject>\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=297</Identifier>\n          </TypeId>\n          <Body>\n            <Argument>\n              <Name>SecurityPolicyUri</Name>\n              <DataType>\n                <Identifier>i=12</Identifier>\n              </DataType>\n              <ValueRank>-1</ValueRank>\n              <ArrayDimensions />\n            </Argument>\n          </Body>\n        </ExtensionObject>\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=297</Identifier>\n          </TypeId>\n          <Body>\n            <Argument>\n              <Name>MaxFutureKeyCount</Name>\n              <DataType>\n                <Identifier>i=7</Identifier>\n              </DataType>\n              <ValueRank>-1</ValueRank>\n              <ArrayDimensions />\n            </Argument>\n          </Body>\n        </ExtensionObject>\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=297</Identifier>\n          </TypeId>\n          <Body>\n            <Argument>\n              <Name>MaxPastKeyCount</Name>\n              <DataType>\n                <Identifier>i=7</Identifier>\n              </DataType>\n              <ValueRank>-1</ValueRank>\n              <ArrayDimensions />\n            </Argument>\n          </Body>\n        </ExtensionObject>\n      </ListOfExtensionObject>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"i=15916\" BrowseName=\"OutputArguments\" ParentNodeId=\"i=15914\" DataType=\"i=296\" ValueRank=\"1\" ArrayDimensions=\"0\">\n    <DisplayName>OutputArguments</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=15914</Reference>\n    </References>\n    <Value>\n      <ListOfExtensionObject xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=297</Identifier>\n          </TypeId>\n          <Body>\n            <Argument>\n              <Name>SecurityGroupId</Name>\n              <DataType>\n                <Identifier>i=12</Identifier>\n              </DataType>\n              <ValueRank>-1</ValueRank>\n              <ArrayDimensions />\n            </Argument>\n          </Body>\n        </ExtensionObject>\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=297</Identifier>\n          </TypeId>\n          <Body>\n            <Argument>\n              <Name>SecurityGroupNodeId</Name>\n              <DataType>\n                <Identifier>i=17</Identifier>\n              </DataType>\n              <ValueRank>-1</ValueRank>\n              <ArrayDimensions />\n            </Argument>\n          </Body>\n        </ExtensionObject>\n      </ListOfExtensionObject>\n    </Value>\n  </UAVariable>\n  <UAMethod NodeId=\"i=15917\" BrowseName=\"RemoveSecurityGroup\" ParentNodeId=\"i=15913\" MethodDeclarationId=\"i=15464\">\n    <DisplayName>RemoveSecurityGroup</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=15918</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=15913</Reference>\n    </References>\n  </UAMethod>\n  <UAVariable NodeId=\"i=15918\" BrowseName=\"InputArguments\" ParentNodeId=\"i=15917\" DataType=\"i=296\" ValueRank=\"1\" ArrayDimensions=\"0\">\n    <DisplayName>InputArguments</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=15917</Reference>\n    </References>\n    <Value>\n      <ListOfExtensionObject xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=297</Identifier>\n          </TypeId>\n          <Body>\n            <Argument>\n              <Name>SecurityGroupNodeId</Name>\n              <DataType>\n                <Identifier>i=17</Identifier>\n              </DataType>\n              <ValueRank>-1</ValueRank>\n              <ArrayDimensions />\n            </Argument>\n          </Body>\n        </ExtensionObject>\n      </ListOfExtensionObject>\n    </Value>\n  </UAVariable>\n  <UAObjectType NodeId=\"i=15452\" BrowseName=\"SecurityGroupFolderType\">\n    <DisplayName>SecurityGroupFolderType</DisplayName>\n    <References>\n      <Reference ReferenceType=\"Organizes\">i=15453</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=15459</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=15461</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=15464</Reference>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=61</Reference>\n    </References>\n  </UAObjectType>\n  <UAObject NodeId=\"i=15453\" BrowseName=\"&lt;SecurityGroupFolderName&gt;\" SymbolicName=\"SecurityGroupFolderName_Placeholder\" ParentNodeId=\"i=15452\">\n    <DisplayName>&lt;SecurityGroupFolderName&gt;</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasComponent\">i=15454</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=15457</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=15452</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=11508</Reference>\n      <Reference ReferenceType=\"Organizes\" IsForward=\"false\">i=15452</Reference>\n    </References>\n  </UAObject>\n  <UAMethod NodeId=\"i=15454\" BrowseName=\"AddSecurityGroup\" ParentNodeId=\"i=15453\" MethodDeclarationId=\"i=15461\">\n    <DisplayName>AddSecurityGroup</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=15455</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=15456</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=15453</Reference>\n    </References>\n  </UAMethod>\n  <UAVariable NodeId=\"i=15455\" BrowseName=\"InputArguments\" ParentNodeId=\"i=15454\" DataType=\"i=296\" ValueRank=\"1\" ArrayDimensions=\"0\">\n    <DisplayName>InputArguments</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=15454</Reference>\n    </References>\n    <Value>\n      <ListOfExtensionObject xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=297</Identifier>\n          </TypeId>\n          <Body>\n            <Argument>\n              <Name>SecurityGroupName</Name>\n              <DataType>\n                <Identifier>i=12</Identifier>\n              </DataType>\n              <ValueRank>-1</ValueRank>\n              <ArrayDimensions />\n            </Argument>\n          </Body>\n        </ExtensionObject>\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=297</Identifier>\n          </TypeId>\n          <Body>\n            <Argument>\n              <Name>KeyLifetime</Name>\n              <DataType>\n                <Identifier>i=290</Identifier>\n              </DataType>\n              <ValueRank>-1</ValueRank>\n              <ArrayDimensions />\n            </Argument>\n          </Body>\n        </ExtensionObject>\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=297</Identifier>\n          </TypeId>\n          <Body>\n            <Argument>\n              <Name>SecurityPolicyUri</Name>\n              <DataType>\n                <Identifier>i=12</Identifier>\n              </DataType>\n              <ValueRank>-1</ValueRank>\n              <ArrayDimensions />\n            </Argument>\n          </Body>\n        </ExtensionObject>\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=297</Identifier>\n          </TypeId>\n          <Body>\n            <Argument>\n              <Name>MaxFutureKeyCount</Name>\n              <DataType>\n                <Identifier>i=7</Identifier>\n              </DataType>\n              <ValueRank>-1</ValueRank>\n              <ArrayDimensions />\n            </Argument>\n          </Body>\n        </ExtensionObject>\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=297</Identifier>\n          </TypeId>\n          <Body>\n            <Argument>\n              <Name>MaxPastKeyCount</Name>\n              <DataType>\n                <Identifier>i=7</Identifier>\n              </DataType>\n              <ValueRank>-1</ValueRank>\n              <ArrayDimensions />\n            </Argument>\n          </Body>\n        </ExtensionObject>\n      </ListOfExtensionObject>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"i=15456\" BrowseName=\"OutputArguments\" ParentNodeId=\"i=15454\" DataType=\"i=296\" ValueRank=\"1\" ArrayDimensions=\"0\">\n    <DisplayName>OutputArguments</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=15454</Reference>\n    </References>\n    <Value>\n      <ListOfExtensionObject xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=297</Identifier>\n          </TypeId>\n          <Body>\n            <Argument>\n              <Name>SecurityGroupId</Name>\n              <DataType>\n                <Identifier>i=12</Identifier>\n              </DataType>\n              <ValueRank>-1</ValueRank>\n              <ArrayDimensions />\n            </Argument>\n          </Body>\n        </ExtensionObject>\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=297</Identifier>\n          </TypeId>\n          <Body>\n            <Argument>\n              <Name>SecurityGroupNodeId</Name>\n              <DataType>\n                <Identifier>i=17</Identifier>\n              </DataType>\n              <ValueRank>-1</ValueRank>\n              <ArrayDimensions />\n            </Argument>\n          </Body>\n        </ExtensionObject>\n      </ListOfExtensionObject>\n    </Value>\n  </UAVariable>\n  <UAMethod NodeId=\"i=15457\" BrowseName=\"RemoveSecurityGroup\" ParentNodeId=\"i=15453\" MethodDeclarationId=\"i=15464\">\n    <DisplayName>RemoveSecurityGroup</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=15458</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=15453</Reference>\n    </References>\n  </UAMethod>\n  <UAVariable NodeId=\"i=15458\" BrowseName=\"InputArguments\" ParentNodeId=\"i=15457\" DataType=\"i=296\" ValueRank=\"1\" ArrayDimensions=\"0\">\n    <DisplayName>InputArguments</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=15457</Reference>\n    </References>\n    <Value>\n      <ListOfExtensionObject xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=297</Identifier>\n          </TypeId>\n          <Body>\n            <Argument>\n              <Name>SecurityGroupNodeId</Name>\n              <DataType>\n                <Identifier>i=17</Identifier>\n              </DataType>\n              <ValueRank>-1</ValueRank>\n              <ArrayDimensions />\n            </Argument>\n          </Body>\n        </ExtensionObject>\n      </ListOfExtensionObject>\n    </Value>\n  </UAVariable>\n  <UAObject NodeId=\"i=15459\" BrowseName=\"&lt;SecurityGroupName&gt;\" SymbolicName=\"SecurityGroupName_Placeholder\" ParentNodeId=\"i=15452\">\n    <DisplayName>&lt;SecurityGroupName&gt;</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=15460</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=15010</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=15011</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=15012</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=15043</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=15471</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=11508</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=15452</Reference>\n    </References>\n  </UAObject>\n  <UAVariable NodeId=\"i=15460\" BrowseName=\"SecurityGroupId\" ParentNodeId=\"i=15459\" DataType=\"String\">\n    <DisplayName>SecurityGroupId</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=15459</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=15010\" BrowseName=\"KeyLifetime\" ParentNodeId=\"i=15459\" DataType=\"i=290\">\n    <DisplayName>KeyLifetime</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=15459</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=15011\" BrowseName=\"SecurityPolicyUri\" ParentNodeId=\"i=15459\" DataType=\"String\">\n    <DisplayName>SecurityPolicyUri</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=15459</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=15012\" BrowseName=\"MaxFutureKeyCount\" ParentNodeId=\"i=15459\" DataType=\"UInt32\">\n    <DisplayName>MaxFutureKeyCount</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=15459</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=15043\" BrowseName=\"MaxPastKeyCount\" ParentNodeId=\"i=15459\" DataType=\"UInt32\">\n    <DisplayName>MaxPastKeyCount</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=15459</Reference>\n    </References>\n  </UAVariable>\n  <UAMethod NodeId=\"i=15461\" BrowseName=\"AddSecurityGroup\" ParentNodeId=\"i=15452\">\n    <DisplayName>AddSecurityGroup</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=15462</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=15463</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=15452</Reference>\n    </References>\n  </UAMethod>\n  <UAVariable NodeId=\"i=15462\" BrowseName=\"InputArguments\" ParentNodeId=\"i=15461\" DataType=\"i=296\" ValueRank=\"1\" ArrayDimensions=\"0\">\n    <DisplayName>InputArguments</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=15461</Reference>\n    </References>\n    <Value>\n      <ListOfExtensionObject xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=297</Identifier>\n          </TypeId>\n          <Body>\n            <Argument>\n              <Name>SecurityGroupName</Name>\n              <DataType>\n                <Identifier>i=12</Identifier>\n              </DataType>\n              <ValueRank>-1</ValueRank>\n              <ArrayDimensions />\n            </Argument>\n          </Body>\n        </ExtensionObject>\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=297</Identifier>\n          </TypeId>\n          <Body>\n            <Argument>\n              <Name>KeyLifetime</Name>\n              <DataType>\n                <Identifier>i=290</Identifier>\n              </DataType>\n              <ValueRank>-1</ValueRank>\n              <ArrayDimensions />\n            </Argument>\n          </Body>\n        </ExtensionObject>\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=297</Identifier>\n          </TypeId>\n          <Body>\n            <Argument>\n              <Name>SecurityPolicyUri</Name>\n              <DataType>\n                <Identifier>i=12</Identifier>\n              </DataType>\n              <ValueRank>-1</ValueRank>\n              <ArrayDimensions />\n            </Argument>\n          </Body>\n        </ExtensionObject>\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=297</Identifier>\n          </TypeId>\n          <Body>\n            <Argument>\n              <Name>MaxFutureKeyCount</Name>\n              <DataType>\n                <Identifier>i=7</Identifier>\n              </DataType>\n              <ValueRank>-1</ValueRank>\n              <ArrayDimensions />\n            </Argument>\n          </Body>\n        </ExtensionObject>\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=297</Identifier>\n          </TypeId>\n          <Body>\n            <Argument>\n              <Name>MaxPastKeyCount</Name>\n              <DataType>\n                <Identifier>i=7</Identifier>\n              </DataType>\n              <ValueRank>-1</ValueRank>\n              <ArrayDimensions />\n            </Argument>\n          </Body>\n        </ExtensionObject>\n      </ListOfExtensionObject>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"i=15463\" BrowseName=\"OutputArguments\" ParentNodeId=\"i=15461\" DataType=\"i=296\" ValueRank=\"1\" ArrayDimensions=\"0\">\n    <DisplayName>OutputArguments</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=15461</Reference>\n    </References>\n    <Value>\n      <ListOfExtensionObject xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=297</Identifier>\n          </TypeId>\n          <Body>\n            <Argument>\n              <Name>SecurityGroupId</Name>\n              <DataType>\n                <Identifier>i=12</Identifier>\n              </DataType>\n              <ValueRank>-1</ValueRank>\n              <ArrayDimensions />\n            </Argument>\n          </Body>\n        </ExtensionObject>\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=297</Identifier>\n          </TypeId>\n          <Body>\n            <Argument>\n              <Name>SecurityGroupNodeId</Name>\n              <DataType>\n                <Identifier>i=17</Identifier>\n              </DataType>\n              <ValueRank>-1</ValueRank>\n              <ArrayDimensions />\n            </Argument>\n          </Body>\n        </ExtensionObject>\n      </ListOfExtensionObject>\n    </Value>\n  </UAVariable>\n  <UAMethod NodeId=\"i=15464\" BrowseName=\"RemoveSecurityGroup\" ParentNodeId=\"i=15452\">\n    <DisplayName>RemoveSecurityGroup</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=15465</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=15452</Reference>\n    </References>\n  </UAMethod>\n  <UAVariable NodeId=\"i=15465\" BrowseName=\"InputArguments\" ParentNodeId=\"i=15464\" DataType=\"i=296\" ValueRank=\"1\" ArrayDimensions=\"0\">\n    <DisplayName>InputArguments</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=15464</Reference>\n    </References>\n    <Value>\n      <ListOfExtensionObject xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=297</Identifier>\n          </TypeId>\n          <Body>\n            <Argument>\n              <Name>SecurityGroupNodeId</Name>\n              <DataType>\n                <Identifier>i=17</Identifier>\n              </DataType>\n              <ValueRank>-1</ValueRank>\n              <ArrayDimensions />\n            </Argument>\n          </Body>\n        </ExtensionObject>\n      </ListOfExtensionObject>\n    </Value>\n  </UAVariable>\n  <UAObjectType NodeId=\"i=15471\" BrowseName=\"SecurityGroupType\">\n    <DisplayName>SecurityGroupType</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=15472</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=15046</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=15047</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=15048</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=15056</Reference>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=58</Reference>\n    </References>\n  </UAObjectType>\n  <UAVariable NodeId=\"i=15472\" BrowseName=\"SecurityGroupId\" ParentNodeId=\"i=15471\" DataType=\"String\">\n    <DisplayName>SecurityGroupId</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=15471</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=15046\" BrowseName=\"KeyLifetime\" ParentNodeId=\"i=15471\" DataType=\"i=290\">\n    <DisplayName>KeyLifetime</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=15471</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=15047\" BrowseName=\"SecurityPolicyUri\" ParentNodeId=\"i=15471\" DataType=\"String\">\n    <DisplayName>SecurityPolicyUri</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=15471</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=15048\" BrowseName=\"MaxFutureKeyCount\" ParentNodeId=\"i=15471\" DataType=\"UInt32\">\n    <DisplayName>MaxFutureKeyCount</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=15471</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=15056\" BrowseName=\"MaxPastKeyCount\" ParentNodeId=\"i=15471\" DataType=\"UInt32\">\n    <DisplayName>MaxPastKeyCount</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=15471</Reference>\n    </References>\n  </UAVariable>\n  <UAObjectType NodeId=\"i=14416\" BrowseName=\"PublishSubscribeType\">\n    <DisplayName>PublishSubscribeType</DisplayName>\n    <References>\n      <Reference ReferenceType=\"i=14476\">i=14417</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=17296</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=16598</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=14432</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=14434</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=15844</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=18715</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=17479</Reference>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=15906</Reference>\n    </References>\n  </UAObjectType>\n  <UAObject NodeId=\"i=14417\" BrowseName=\"&lt;ConnectionName&gt;\" SymbolicName=\"ConnectionName_Placeholder\" ParentNodeId=\"i=14416\">\n    <DisplayName>&lt;ConnectionName&gt;</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=14418</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=17292</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=17478</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=14423</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=14419</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=14209</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=11508</Reference>\n      <Reference ReferenceType=\"i=14476\" IsForward=\"false\">i=14416</Reference>\n    </References>\n  </UAObject>\n  <UAVariable NodeId=\"i=14418\" BrowseName=\"PublisherId\" ParentNodeId=\"i=14417\">\n    <DisplayName>PublisherId</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=14417</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=17292\" BrowseName=\"TransportProfileUri\" ParentNodeId=\"i=14417\" DataType=\"String\">\n    <DisplayName>TransportProfileUri</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=17706</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=16309</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=14417</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=17706\" BrowseName=\"Selections\" ParentNodeId=\"i=17292\" ValueRank=\"1\" ArrayDimensions=\"0\">\n    <DisplayName>Selections</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=17292</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=17478\" BrowseName=\"ConnectionProperties\" ParentNodeId=\"i=14417\" DataType=\"i=14533\" ValueRank=\"1\" ArrayDimensions=\"0\">\n    <DisplayName>ConnectionProperties</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=14417</Reference>\n    </References>\n  </UAVariable>\n  <UAObject NodeId=\"i=14423\" BrowseName=\"Address\" ParentNodeId=\"i=14417\">\n    <DisplayName>Address</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasComponent\">i=15533</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=21145</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=14417</Reference>\n    </References>\n  </UAObject>\n  <UAVariable NodeId=\"i=15533\" BrowseName=\"NetworkInterface\" ParentNodeId=\"i=14423\" DataType=\"String\">\n    <DisplayName>NetworkInterface</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=17503</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=16309</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=14423</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=17503\" BrowseName=\"Selections\" ParentNodeId=\"i=15533\" ValueRank=\"1\" ArrayDimensions=\"0\">\n    <DisplayName>Selections</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=15533</Reference>\n    </References>\n  </UAVariable>\n  <UAObject NodeId=\"i=14419\" BrowseName=\"Status\" ParentNodeId=\"i=14417\">\n    <DisplayName>Status</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasComponent\">i=14420</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=14643</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=14417</Reference>\n    </References>\n  </UAObject>\n  <UAVariable NodeId=\"i=14420\" BrowseName=\"State\" ParentNodeId=\"i=14419\" DataType=\"i=14647\">\n    <DisplayName>State</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=63</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=14419</Reference>\n    </References>\n  </UAVariable>\n  <UAMethod NodeId=\"i=17296\" BrowseName=\"SetSecurityKeys\" ParentNodeId=\"i=14416\">\n    <DisplayName>SetSecurityKeys</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=17297</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=80</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=14416</Reference>\n    </References>\n  </UAMethod>\n  <UAVariable NodeId=\"i=17297\" BrowseName=\"InputArguments\" ParentNodeId=\"i=17296\" DataType=\"i=296\" ValueRank=\"1\" ArrayDimensions=\"0\">\n    <DisplayName>InputArguments</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=17296</Reference>\n    </References>\n    <Value>\n      <ListOfExtensionObject xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=297</Identifier>\n          </TypeId>\n          <Body>\n            <Argument>\n              <Name>SecurityGroupId</Name>\n              <DataType>\n                <Identifier>i=12</Identifier>\n              </DataType>\n              <ValueRank>-1</ValueRank>\n              <ArrayDimensions />\n            </Argument>\n          </Body>\n        </ExtensionObject>\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=297</Identifier>\n          </TypeId>\n          <Body>\n            <Argument>\n              <Name>SecurityPolicyUri</Name>\n              <DataType>\n                <Identifier>i=12</Identifier>\n              </DataType>\n              <ValueRank>-1</ValueRank>\n              <ArrayDimensions />\n            </Argument>\n          </Body>\n        </ExtensionObject>\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=297</Identifier>\n          </TypeId>\n          <Body>\n            <Argument>\n              <Name>CurrentTokenId</Name>\n              <DataType>\n                <Identifier>i=288</Identifier>\n              </DataType>\n              <ValueRank>-1</ValueRank>\n              <ArrayDimensions />\n            </Argument>\n          </Body>\n        </ExtensionObject>\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=297</Identifier>\n          </TypeId>\n          <Body>\n            <Argument>\n              <Name>CurrentKey</Name>\n              <DataType>\n                <Identifier>i=15</Identifier>\n              </DataType>\n              <ValueRank>-1</ValueRank>\n              <ArrayDimensions />\n            </Argument>\n          </Body>\n        </ExtensionObject>\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=297</Identifier>\n          </TypeId>\n          <Body>\n            <Argument>\n              <Name>FutureKeys</Name>\n              <DataType>\n                <Identifier>i=15</Identifier>\n              </DataType>\n              <ValueRank>1</ValueRank>\n              <ArrayDimensions>\n                <UInt32>0</UInt32>\n              </ArrayDimensions>\n            </Argument>\n          </Body>\n        </ExtensionObject>\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=297</Identifier>\n          </TypeId>\n          <Body>\n            <Argument>\n              <Name>TimeToNextKey</Name>\n              <DataType>\n                <Identifier>i=290</Identifier>\n              </DataType>\n              <ValueRank>-1</ValueRank>\n              <ArrayDimensions />\n            </Argument>\n          </Body>\n        </ExtensionObject>\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=297</Identifier>\n          </TypeId>\n          <Body>\n            <Argument>\n              <Name>KeyLifetime</Name>\n              <DataType>\n                <Identifier>i=290</Identifier>\n              </DataType>\n              <ValueRank>-1</ValueRank>\n              <ArrayDimensions />\n            </Argument>\n          </Body>\n        </ExtensionObject>\n      </ListOfExtensionObject>\n    </Value>\n  </UAVariable>\n  <UAMethod NodeId=\"i=16598\" BrowseName=\"AddConnection\" ParentNodeId=\"i=14416\">\n    <DisplayName>AddConnection</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=16599</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=16600</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=80</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=14416</Reference>\n    </References>\n  </UAMethod>\n  <UAVariable NodeId=\"i=16599\" BrowseName=\"InputArguments\" ParentNodeId=\"i=16598\" DataType=\"i=296\" ValueRank=\"1\" ArrayDimensions=\"0\">\n    <DisplayName>InputArguments</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=16598</Reference>\n    </References>\n    <Value>\n      <ListOfExtensionObject xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=297</Identifier>\n          </TypeId>\n          <Body>\n            <Argument>\n              <Name>Configuration</Name>\n              <DataType>\n                <Identifier>i=15617</Identifier>\n              </DataType>\n              <ValueRank>-1</ValueRank>\n              <ArrayDimensions />\n            </Argument>\n          </Body>\n        </ExtensionObject>\n      </ListOfExtensionObject>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"i=16600\" BrowseName=\"OutputArguments\" ParentNodeId=\"i=16598\" DataType=\"i=296\" ValueRank=\"1\" ArrayDimensions=\"0\">\n    <DisplayName>OutputArguments</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=16598</Reference>\n    </References>\n    <Value>\n      <ListOfExtensionObject xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=297</Identifier>\n          </TypeId>\n          <Body>\n            <Argument>\n              <Name>ConnectionId</Name>\n              <DataType>\n                <Identifier>i=17</Identifier>\n              </DataType>\n              <ValueRank>-1</ValueRank>\n              <ArrayDimensions />\n            </Argument>\n          </Body>\n        </ExtensionObject>\n      </ListOfExtensionObject>\n    </Value>\n  </UAVariable>\n  <UAMethod NodeId=\"i=14432\" BrowseName=\"RemoveConnection\" ParentNodeId=\"i=14416\">\n    <DisplayName>RemoveConnection</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=14433</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=80</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=14416</Reference>\n    </References>\n  </UAMethod>\n  <UAVariable NodeId=\"i=14433\" BrowseName=\"InputArguments\" ParentNodeId=\"i=14432\" DataType=\"i=296\" ValueRank=\"1\" ArrayDimensions=\"0\">\n    <DisplayName>InputArguments</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=14432</Reference>\n    </References>\n    <Value>\n      <ListOfExtensionObject xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=297</Identifier>\n          </TypeId>\n          <Body>\n            <Argument>\n              <Name>ConnectionId</Name>\n              <DataType>\n                <Identifier>i=17</Identifier>\n              </DataType>\n              <ValueRank>-1</ValueRank>\n              <ArrayDimensions />\n            </Argument>\n          </Body>\n        </ExtensionObject>\n      </ListOfExtensionObject>\n    </Value>\n  </UAVariable>\n  <UAObject NodeId=\"i=14434\" BrowseName=\"PublishedDataSets\" ParentNodeId=\"i=14416\">\n    <DisplayName>PublishedDataSets</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=14477</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=14416</Reference>\n    </References>\n  </UAObject>\n  <UAObject NodeId=\"i=15844\" BrowseName=\"Status\" ParentNodeId=\"i=14416\">\n    <DisplayName>Status</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasComponent\">i=15845</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=14643</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=14416</Reference>\n    </References>\n  </UAObject>\n  <UAVariable NodeId=\"i=15845\" BrowseName=\"State\" ParentNodeId=\"i=15844\" DataType=\"i=14647\">\n    <DisplayName>State</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=63</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=15844</Reference>\n    </References>\n  </UAVariable>\n  <UAObject NodeId=\"i=18715\" BrowseName=\"Diagnostics\" ParentNodeId=\"i=14416\">\n    <DisplayName>Diagnostics</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasComponent\">i=18716</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=18717</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=18722</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=18727</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=18728</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=18729</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=18760</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=19732</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=80</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=14416</Reference>\n    </References>\n  </UAObject>\n  <UAVariable NodeId=\"i=18716\" BrowseName=\"DiagnosticsLevel\" ParentNodeId=\"i=18715\" DataType=\"i=19723\">\n    <DisplayName>DiagnosticsLevel</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=63</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=18715</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=18717\" BrowseName=\"TotalInformation\" ParentNodeId=\"i=18715\" DataType=\"UInt32\">\n    <DisplayName>TotalInformation</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=18718</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=18719</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=18720</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=19725</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=18715</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=18718\" BrowseName=\"Active\" ParentNodeId=\"i=18717\" DataType=\"Boolean\">\n    <DisplayName>Active</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=18717</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=18719\" BrowseName=\"Classification\" ParentNodeId=\"i=18717\" DataType=\"i=19730\">\n    <DisplayName>Classification</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=18717</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=18720\" BrowseName=\"DiagnosticsLevel\" ParentNodeId=\"i=18717\" DataType=\"i=19723\">\n    <DisplayName>DiagnosticsLevel</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=18717</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=18722\" BrowseName=\"TotalError\" ParentNodeId=\"i=18715\" DataType=\"UInt32\">\n    <DisplayName>TotalError</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=18723</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=18724</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=18725</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=19725</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=18715</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=18723\" BrowseName=\"Active\" ParentNodeId=\"i=18722\" DataType=\"Boolean\">\n    <DisplayName>Active</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=18722</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=18724\" BrowseName=\"Classification\" ParentNodeId=\"i=18722\" DataType=\"i=19730\">\n    <DisplayName>Classification</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=18722</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=18725\" BrowseName=\"DiagnosticsLevel\" ParentNodeId=\"i=18722\" DataType=\"i=19723\">\n    <DisplayName>DiagnosticsLevel</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=18722</Reference>\n    </References>\n  </UAVariable>\n  <UAMethod NodeId=\"i=18727\" BrowseName=\"Reset\" ParentNodeId=\"i=18715\" MethodDeclarationId=\"i=19689\">\n    <DisplayName>Reset</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=18715</Reference>\n    </References>\n  </UAMethod>\n  <UAVariable NodeId=\"i=18728\" BrowseName=\"SubError\" ParentNodeId=\"i=18715\" DataType=\"Boolean\">\n    <DisplayName>SubError</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=63</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=18715</Reference>\n    </References>\n  </UAVariable>\n  <UAObject NodeId=\"i=18729\" BrowseName=\"Counters\" ParentNodeId=\"i=18715\">\n    <DisplayName>Counters</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasComponent\">i=18730</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=18735</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=18740</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=18745</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=18750</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=18755</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=58</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=18715</Reference>\n    </References>\n  </UAObject>\n  <UAVariable NodeId=\"i=18730\" BrowseName=\"StateError\" ParentNodeId=\"i=18729\" DataType=\"UInt32\">\n    <DisplayName>StateError</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=18731</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=18732</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=18733</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=19725</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=18729</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=18731\" BrowseName=\"Active\" ParentNodeId=\"i=18730\" DataType=\"Boolean\">\n    <DisplayName>Active</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=18730</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=18732\" BrowseName=\"Classification\" ParentNodeId=\"i=18730\" DataType=\"i=19730\">\n    <DisplayName>Classification</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=18730</Reference>\n    </References>\n    <Value>\n      <Int32 xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">1</Int32>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"i=18733\" BrowseName=\"DiagnosticsLevel\" ParentNodeId=\"i=18730\" DataType=\"i=19723\">\n    <DisplayName>DiagnosticsLevel</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=18730</Reference>\n    </References>\n    <Value>\n      <Int32 xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">0</Int32>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"i=18735\" BrowseName=\"StateOperationalByMethod\" ParentNodeId=\"i=18729\" DataType=\"UInt32\">\n    <DisplayName>StateOperationalByMethod</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=18736</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=18737</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=18738</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=19725</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=18729</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=18736\" BrowseName=\"Active\" ParentNodeId=\"i=18735\" DataType=\"Boolean\">\n    <DisplayName>Active</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=18735</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=18737\" BrowseName=\"Classification\" ParentNodeId=\"i=18735\" DataType=\"i=19730\">\n    <DisplayName>Classification</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=18735</Reference>\n    </References>\n    <Value>\n      <Int32 xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">0</Int32>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"i=18738\" BrowseName=\"DiagnosticsLevel\" ParentNodeId=\"i=18735\" DataType=\"i=19723\">\n    <DisplayName>DiagnosticsLevel</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=18735</Reference>\n    </References>\n    <Value>\n      <Int32 xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">0</Int32>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"i=18740\" BrowseName=\"StateOperationalByParent\" ParentNodeId=\"i=18729\" DataType=\"UInt32\">\n    <DisplayName>StateOperationalByParent</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=18741</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=18742</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=18743</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=19725</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=18729</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=18741\" BrowseName=\"Active\" ParentNodeId=\"i=18740\" DataType=\"Boolean\">\n    <DisplayName>Active</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=18740</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=18742\" BrowseName=\"Classification\" ParentNodeId=\"i=18740\" DataType=\"i=19730\">\n    <DisplayName>Classification</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=18740</Reference>\n    </References>\n    <Value>\n      <Int32 xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">0</Int32>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"i=18743\" BrowseName=\"DiagnosticsLevel\" ParentNodeId=\"i=18740\" DataType=\"i=19723\">\n    <DisplayName>DiagnosticsLevel</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=18740</Reference>\n    </References>\n    <Value>\n      <Int32 xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">0</Int32>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"i=18745\" BrowseName=\"StateOperationalFromError\" ParentNodeId=\"i=18729\" DataType=\"UInt32\">\n    <DisplayName>StateOperationalFromError</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=18746</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=18747</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=18748</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=19725</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=18729</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=18746\" BrowseName=\"Active\" ParentNodeId=\"i=18745\" DataType=\"Boolean\">\n    <DisplayName>Active</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=18745</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=18747\" BrowseName=\"Classification\" ParentNodeId=\"i=18745\" DataType=\"i=19730\">\n    <DisplayName>Classification</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=18745</Reference>\n    </References>\n    <Value>\n      <Int32 xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">0</Int32>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"i=18748\" BrowseName=\"DiagnosticsLevel\" ParentNodeId=\"i=18745\" DataType=\"i=19723\">\n    <DisplayName>DiagnosticsLevel</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=18745</Reference>\n    </References>\n    <Value>\n      <Int32 xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">0</Int32>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"i=18750\" BrowseName=\"StatePausedByParent\" ParentNodeId=\"i=18729\" DataType=\"UInt32\">\n    <DisplayName>StatePausedByParent</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=18751</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=18752</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=18753</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=19725</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=18729</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=18751\" BrowseName=\"Active\" ParentNodeId=\"i=18750\" DataType=\"Boolean\">\n    <DisplayName>Active</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=18750</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=18752\" BrowseName=\"Classification\" ParentNodeId=\"i=18750\" DataType=\"i=19730\">\n    <DisplayName>Classification</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=18750</Reference>\n    </References>\n    <Value>\n      <Int32 xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">0</Int32>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"i=18753\" BrowseName=\"DiagnosticsLevel\" ParentNodeId=\"i=18750\" DataType=\"i=19723\">\n    <DisplayName>DiagnosticsLevel</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=18750</Reference>\n    </References>\n    <Value>\n      <Int32 xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">0</Int32>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"i=18755\" BrowseName=\"StateDisabledByMethod\" ParentNodeId=\"i=18729\" DataType=\"UInt32\">\n    <DisplayName>StateDisabledByMethod</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=18756</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=18757</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=18758</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=19725</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=18729</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=18756\" BrowseName=\"Active\" ParentNodeId=\"i=18755\" DataType=\"Boolean\">\n    <DisplayName>Active</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=18755</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=18757\" BrowseName=\"Classification\" ParentNodeId=\"i=18755\" DataType=\"i=19730\">\n    <DisplayName>Classification</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=18755</Reference>\n    </References>\n    <Value>\n      <Int32 xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">0</Int32>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"i=18758\" BrowseName=\"DiagnosticsLevel\" ParentNodeId=\"i=18755\" DataType=\"i=19723\">\n    <DisplayName>DiagnosticsLevel</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=18755</Reference>\n    </References>\n    <Value>\n      <Int32 xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">0</Int32>\n    </Value>\n  </UAVariable>\n  <UAObject NodeId=\"i=18760\" BrowseName=\"LiveValues\" ParentNodeId=\"i=18715\">\n    <DisplayName>LiveValues</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasComponent\">i=18761</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=18763</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=18765</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=18767</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=58</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=18715</Reference>\n    </References>\n  </UAObject>\n  <UAVariable NodeId=\"i=18761\" BrowseName=\"ConfiguredDataSetWriters\" ParentNodeId=\"i=18760\" DataType=\"UInt16\">\n    <DisplayName>ConfiguredDataSetWriters</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=18762</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=63</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=18760</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=18762\" BrowseName=\"DiagnosticsLevel\" ParentNodeId=\"i=18761\" DataType=\"i=19723\">\n    <DisplayName>DiagnosticsLevel</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=18761</Reference>\n    </References>\n    <Value>\n      <Int32 xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">0</Int32>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"i=18763\" BrowseName=\"ConfiguredDataSetReaders\" ParentNodeId=\"i=18760\" DataType=\"UInt16\">\n    <DisplayName>ConfiguredDataSetReaders</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=18764</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=63</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=18760</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=18764\" BrowseName=\"DiagnosticsLevel\" ParentNodeId=\"i=18763\" DataType=\"i=19723\">\n    <DisplayName>DiagnosticsLevel</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=18763</Reference>\n    </References>\n    <Value>\n      <Int32 xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">0</Int32>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"i=18765\" BrowseName=\"OperationalDataSetWriters\" ParentNodeId=\"i=18760\" DataType=\"UInt16\">\n    <DisplayName>OperationalDataSetWriters</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=18766</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=63</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=18760</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=18766\" BrowseName=\"DiagnosticsLevel\" ParentNodeId=\"i=18765\" DataType=\"i=19723\">\n    <DisplayName>DiagnosticsLevel</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=18765</Reference>\n    </References>\n    <Value>\n      <Int32 xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">0</Int32>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"i=18767\" BrowseName=\"OperationalDataSetReaders\" ParentNodeId=\"i=18760\" DataType=\"UInt16\">\n    <DisplayName>OperationalDataSetReaders</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=18768</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=63</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=18760</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=18768\" BrowseName=\"DiagnosticsLevel\" ParentNodeId=\"i=18767\" DataType=\"i=19723\">\n    <DisplayName>DiagnosticsLevel</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=18767</Reference>\n    </References>\n    <Value>\n      <Int32 xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">0</Int32>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"i=17479\" BrowseName=\"SupportedTransportProfiles\" ParentNodeId=\"i=14416\" DataType=\"String\" ValueRank=\"1\" ArrayDimensions=\"0\">\n    <DisplayName>SupportedTransportProfiles</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=14416</Reference>\n    </References>\n  </UAVariable>\n  <UAObject NodeId=\"i=14443\" BrowseName=\"PublishSubscribe\">\n    <DisplayName>PublishSubscribe</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasComponent\">i=15215</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=15440</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=15443</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=17366</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=17369</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=17371</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=17405</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=17409</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=17481</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=2253</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=14416</Reference>\n    </References>\n  </UAObject>\n  <UAMethod NodeId=\"i=15215\" BrowseName=\"GetSecurityKeys\" ParentNodeId=\"i=14443\" MethodDeclarationId=\"i=15907\">\n    <DisplayName>GetSecurityKeys</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=15216</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=15217</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=14443</Reference>\n    </References>\n  </UAMethod>\n  <UAVariable NodeId=\"i=15216\" BrowseName=\"InputArguments\" ParentNodeId=\"i=15215\" DataType=\"i=296\" ValueRank=\"1\" ArrayDimensions=\"0\">\n    <DisplayName>InputArguments</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=15215</Reference>\n    </References>\n    <Value>\n      <ListOfExtensionObject xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=297</Identifier>\n          </TypeId>\n          <Body>\n            <Argument>\n              <Name>SecurityGroupId</Name>\n              <DataType>\n                <Identifier>i=12</Identifier>\n              </DataType>\n              <ValueRank>-1</ValueRank>\n              <ArrayDimensions />\n            </Argument>\n          </Body>\n        </ExtensionObject>\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=297</Identifier>\n          </TypeId>\n          <Body>\n            <Argument>\n              <Name>StartingTokenId</Name>\n              <DataType>\n                <Identifier>i=288</Identifier>\n              </DataType>\n              <ValueRank>-1</ValueRank>\n              <ArrayDimensions />\n            </Argument>\n          </Body>\n        </ExtensionObject>\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=297</Identifier>\n          </TypeId>\n          <Body>\n            <Argument>\n              <Name>RequestedKeyCount</Name>\n              <DataType>\n                <Identifier>i=7</Identifier>\n              </DataType>\n              <ValueRank>-1</ValueRank>\n              <ArrayDimensions />\n            </Argument>\n          </Body>\n        </ExtensionObject>\n      </ListOfExtensionObject>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"i=15217\" BrowseName=\"OutputArguments\" ParentNodeId=\"i=15215\" DataType=\"i=296\" ValueRank=\"1\" ArrayDimensions=\"0\">\n    <DisplayName>OutputArguments</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=15215</Reference>\n    </References>\n    <Value>\n      <ListOfExtensionObject xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=297</Identifier>\n          </TypeId>\n          <Body>\n            <Argument>\n              <Name>SecurityPolicyUri</Name>\n              <DataType>\n                <Identifier>i=12</Identifier>\n              </DataType>\n              <ValueRank>-1</ValueRank>\n              <ArrayDimensions />\n            </Argument>\n          </Body>\n        </ExtensionObject>\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=297</Identifier>\n          </TypeId>\n          <Body>\n            <Argument>\n              <Name>FirstTokenId</Name>\n              <DataType>\n                <Identifier>i=288</Identifier>\n              </DataType>\n              <ValueRank>-1</ValueRank>\n              <ArrayDimensions />\n            </Argument>\n          </Body>\n        </ExtensionObject>\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=297</Identifier>\n          </TypeId>\n          <Body>\n            <Argument>\n              <Name>Keys</Name>\n              <DataType>\n                <Identifier>i=15</Identifier>\n              </DataType>\n              <ValueRank>1</ValueRank>\n              <ArrayDimensions>\n                <UInt32>0</UInt32>\n              </ArrayDimensions>\n            </Argument>\n          </Body>\n        </ExtensionObject>\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=297</Identifier>\n          </TypeId>\n          <Body>\n            <Argument>\n              <Name>TimeToNextKey</Name>\n              <DataType>\n                <Identifier>i=290</Identifier>\n              </DataType>\n              <ValueRank>-1</ValueRank>\n              <ArrayDimensions />\n            </Argument>\n          </Body>\n        </ExtensionObject>\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=297</Identifier>\n          </TypeId>\n          <Body>\n            <Argument>\n              <Name>KeyLifetime</Name>\n              <DataType>\n                <Identifier>i=290</Identifier>\n              </DataType>\n              <ValueRank>-1</ValueRank>\n              <ArrayDimensions />\n            </Argument>\n          </Body>\n        </ExtensionObject>\n      </ListOfExtensionObject>\n    </Value>\n  </UAVariable>\n  <UAMethod NodeId=\"i=15440\" BrowseName=\"GetSecurityGroup\" ParentNodeId=\"i=14443\" MethodDeclarationId=\"i=15910\">\n    <DisplayName>GetSecurityGroup</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=15441</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=15442</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=14443</Reference>\n    </References>\n  </UAMethod>\n  <UAVariable NodeId=\"i=15441\" BrowseName=\"InputArguments\" ParentNodeId=\"i=15440\" DataType=\"i=296\" ValueRank=\"1\" ArrayDimensions=\"0\">\n    <DisplayName>InputArguments</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=15440</Reference>\n    </References>\n    <Value>\n      <ListOfExtensionObject xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=297</Identifier>\n          </TypeId>\n          <Body>\n            <Argument>\n              <Name>SecurityGroupId</Name>\n              <DataType>\n                <Identifier>i=12</Identifier>\n              </DataType>\n              <ValueRank>-1</ValueRank>\n              <ArrayDimensions />\n            </Argument>\n          </Body>\n        </ExtensionObject>\n      </ListOfExtensionObject>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"i=15442\" BrowseName=\"OutputArguments\" ParentNodeId=\"i=15440\" DataType=\"i=296\" ValueRank=\"1\" ArrayDimensions=\"0\">\n    <DisplayName>OutputArguments</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=15440</Reference>\n    </References>\n    <Value>\n      <ListOfExtensionObject xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=297</Identifier>\n          </TypeId>\n          <Body>\n            <Argument>\n              <Name>SecurityGroupNodeId</Name>\n              <DataType>\n                <Identifier>i=17</Identifier>\n              </DataType>\n              <ValueRank>-1</ValueRank>\n              <ArrayDimensions />\n            </Argument>\n          </Body>\n        </ExtensionObject>\n      </ListOfExtensionObject>\n    </Value>\n  </UAVariable>\n  <UAObject NodeId=\"i=15443\" BrowseName=\"SecurityGroups\" ParentNodeId=\"i=14443\">\n    <DisplayName>SecurityGroups</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasComponent\">i=15444</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=15447</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=15452</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=14443</Reference>\n    </References>\n  </UAObject>\n  <UAMethod NodeId=\"i=15444\" BrowseName=\"AddSecurityGroup\" ParentNodeId=\"i=15443\" MethodDeclarationId=\"i=15461\">\n    <DisplayName>AddSecurityGroup</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=15445</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=15446</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=15443</Reference>\n    </References>\n  </UAMethod>\n  <UAVariable NodeId=\"i=15445\" BrowseName=\"InputArguments\" ParentNodeId=\"i=15444\" DataType=\"i=296\" ValueRank=\"1\" ArrayDimensions=\"0\">\n    <DisplayName>InputArguments</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=15444</Reference>\n    </References>\n    <Value>\n      <ListOfExtensionObject xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=297</Identifier>\n          </TypeId>\n          <Body>\n            <Argument>\n              <Name>SecurityGroupName</Name>\n              <DataType>\n                <Identifier>i=12</Identifier>\n              </DataType>\n              <ValueRank>-1</ValueRank>\n              <ArrayDimensions />\n            </Argument>\n          </Body>\n        </ExtensionObject>\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=297</Identifier>\n          </TypeId>\n          <Body>\n            <Argument>\n              <Name>KeyLifetime</Name>\n              <DataType>\n                <Identifier>i=290</Identifier>\n              </DataType>\n              <ValueRank>-1</ValueRank>\n              <ArrayDimensions />\n            </Argument>\n          </Body>\n        </ExtensionObject>\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=297</Identifier>\n          </TypeId>\n          <Body>\n            <Argument>\n              <Name>SecurityPolicyUri</Name>\n              <DataType>\n                <Identifier>i=12</Identifier>\n              </DataType>\n              <ValueRank>-1</ValueRank>\n              <ArrayDimensions />\n            </Argument>\n          </Body>\n        </ExtensionObject>\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=297</Identifier>\n          </TypeId>\n          <Body>\n            <Argument>\n              <Name>MaxFutureKeyCount</Name>\n              <DataType>\n                <Identifier>i=7</Identifier>\n              </DataType>\n              <ValueRank>-1</ValueRank>\n              <ArrayDimensions />\n            </Argument>\n          </Body>\n        </ExtensionObject>\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=297</Identifier>\n          </TypeId>\n          <Body>\n            <Argument>\n              <Name>MaxPastKeyCount</Name>\n              <DataType>\n                <Identifier>i=7</Identifier>\n              </DataType>\n              <ValueRank>-1</ValueRank>\n              <ArrayDimensions />\n            </Argument>\n          </Body>\n        </ExtensionObject>\n      </ListOfExtensionObject>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"i=15446\" BrowseName=\"OutputArguments\" ParentNodeId=\"i=15444\" DataType=\"i=296\" ValueRank=\"1\" ArrayDimensions=\"0\">\n    <DisplayName>OutputArguments</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=15444</Reference>\n    </References>\n    <Value>\n      <ListOfExtensionObject xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=297</Identifier>\n          </TypeId>\n          <Body>\n            <Argument>\n              <Name>SecurityGroupId</Name>\n              <DataType>\n                <Identifier>i=12</Identifier>\n              </DataType>\n              <ValueRank>-1</ValueRank>\n              <ArrayDimensions />\n            </Argument>\n          </Body>\n        </ExtensionObject>\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=297</Identifier>\n          </TypeId>\n          <Body>\n            <Argument>\n              <Name>SecurityGroupNodeId</Name>\n              <DataType>\n                <Identifier>i=17</Identifier>\n              </DataType>\n              <ValueRank>-1</ValueRank>\n              <ArrayDimensions />\n            </Argument>\n          </Body>\n        </ExtensionObject>\n      </ListOfExtensionObject>\n    </Value>\n  </UAVariable>\n  <UAMethod NodeId=\"i=15447\" BrowseName=\"RemoveSecurityGroup\" ParentNodeId=\"i=15443\" MethodDeclarationId=\"i=15464\">\n    <DisplayName>RemoveSecurityGroup</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=15448</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=15443</Reference>\n    </References>\n  </UAMethod>\n  <UAVariable NodeId=\"i=15448\" BrowseName=\"InputArguments\" ParentNodeId=\"i=15447\" DataType=\"i=296\" ValueRank=\"1\" ArrayDimensions=\"0\">\n    <DisplayName>InputArguments</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=15447</Reference>\n    </References>\n    <Value>\n      <ListOfExtensionObject xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=297</Identifier>\n          </TypeId>\n          <Body>\n            <Argument>\n              <Name>SecurityGroupNodeId</Name>\n              <DataType>\n                <Identifier>i=17</Identifier>\n              </DataType>\n              <ValueRank>-1</ValueRank>\n              <ArrayDimensions />\n            </Argument>\n          </Body>\n        </ExtensionObject>\n      </ListOfExtensionObject>\n    </Value>\n  </UAVariable>\n  <UAMethod NodeId=\"i=17366\" BrowseName=\"AddConnection\" ParentNodeId=\"i=14443\" MethodDeclarationId=\"i=16598\">\n    <DisplayName>AddConnection</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=17367</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=17368</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=14443</Reference>\n    </References>\n  </UAMethod>\n  <UAVariable NodeId=\"i=17367\" BrowseName=\"InputArguments\" ParentNodeId=\"i=17366\" DataType=\"i=296\" ValueRank=\"1\" ArrayDimensions=\"0\">\n    <DisplayName>InputArguments</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=17366</Reference>\n    </References>\n    <Value>\n      <ListOfExtensionObject xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=297</Identifier>\n          </TypeId>\n          <Body>\n            <Argument>\n              <Name>Configuration</Name>\n              <DataType>\n                <Identifier>i=15617</Identifier>\n              </DataType>\n              <ValueRank>-1</ValueRank>\n              <ArrayDimensions />\n            </Argument>\n          </Body>\n        </ExtensionObject>\n      </ListOfExtensionObject>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"i=17368\" BrowseName=\"OutputArguments\" ParentNodeId=\"i=17366\" DataType=\"i=296\" ValueRank=\"1\" ArrayDimensions=\"0\">\n    <DisplayName>OutputArguments</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=17366</Reference>\n    </References>\n    <Value>\n      <ListOfExtensionObject xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=297</Identifier>\n          </TypeId>\n          <Body>\n            <Argument>\n              <Name>ConnectionId</Name>\n              <DataType>\n                <Identifier>i=17</Identifier>\n              </DataType>\n              <ValueRank>-1</ValueRank>\n              <ArrayDimensions />\n            </Argument>\n          </Body>\n        </ExtensionObject>\n      </ListOfExtensionObject>\n    </Value>\n  </UAVariable>\n  <UAMethod NodeId=\"i=17369\" BrowseName=\"RemoveConnection\" ParentNodeId=\"i=14443\" MethodDeclarationId=\"i=14432\">\n    <DisplayName>RemoveConnection</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=17370</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=14443</Reference>\n    </References>\n  </UAMethod>\n  <UAVariable NodeId=\"i=17370\" BrowseName=\"InputArguments\" ParentNodeId=\"i=17369\" DataType=\"i=296\" ValueRank=\"1\" ArrayDimensions=\"0\">\n    <DisplayName>InputArguments</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=17369</Reference>\n    </References>\n    <Value>\n      <ListOfExtensionObject xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=297</Identifier>\n          </TypeId>\n          <Body>\n            <Argument>\n              <Name>ConnectionId</Name>\n              <DataType>\n                <Identifier>i=17</Identifier>\n              </DataType>\n              <ValueRank>-1</ValueRank>\n              <ArrayDimensions />\n            </Argument>\n          </Body>\n        </ExtensionObject>\n      </ListOfExtensionObject>\n    </Value>\n  </UAVariable>\n  <UAObject NodeId=\"i=17371\" BrowseName=\"PublishedDataSets\" ParentNodeId=\"i=14443\">\n    <DisplayName>PublishedDataSets</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=14477</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=14443</Reference>\n    </References>\n  </UAObject>\n  <UAObject NodeId=\"i=17405\" BrowseName=\"Status\" ParentNodeId=\"i=14443\">\n    <DisplayName>Status</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasComponent\">i=17406</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=14643</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=14443</Reference>\n    </References>\n  </UAObject>\n  <UAVariable NodeId=\"i=17406\" BrowseName=\"State\" ParentNodeId=\"i=17405\" DataType=\"i=14647\">\n    <DisplayName>State</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=63</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=17405</Reference>\n    </References>\n  </UAVariable>\n  <UAObject NodeId=\"i=17409\" BrowseName=\"Diagnostics\" ParentNodeId=\"i=14443\">\n    <DisplayName>Diagnostics</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasComponent\">i=17410</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=17411</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=17416</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=17421</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=17422</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=17423</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=17457</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=19732</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=14443</Reference>\n    </References>\n  </UAObject>\n  <UAVariable NodeId=\"i=17410\" BrowseName=\"DiagnosticsLevel\" ParentNodeId=\"i=17409\" DataType=\"i=19723\">\n    <DisplayName>DiagnosticsLevel</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=63</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=17409</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=17411\" BrowseName=\"TotalInformation\" ParentNodeId=\"i=17409\" DataType=\"UInt32\">\n    <DisplayName>TotalInformation</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=17412</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=17413</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=17414</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=19725</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=17409</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=17412\" BrowseName=\"Active\" ParentNodeId=\"i=17411\" DataType=\"Boolean\">\n    <DisplayName>Active</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=17411</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=17413\" BrowseName=\"Classification\" ParentNodeId=\"i=17411\" DataType=\"i=19730\">\n    <DisplayName>Classification</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=17411</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=17414\" BrowseName=\"DiagnosticsLevel\" ParentNodeId=\"i=17411\" DataType=\"i=19723\">\n    <DisplayName>DiagnosticsLevel</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=17411</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=17416\" BrowseName=\"TotalError\" ParentNodeId=\"i=17409\" DataType=\"UInt32\">\n    <DisplayName>TotalError</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=17417</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=17418</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=17419</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=19725</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=17409</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=17417\" BrowseName=\"Active\" ParentNodeId=\"i=17416\" DataType=\"Boolean\">\n    <DisplayName>Active</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=17416</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=17418\" BrowseName=\"Classification\" ParentNodeId=\"i=17416\" DataType=\"i=19730\">\n    <DisplayName>Classification</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=17416</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=17419\" BrowseName=\"DiagnosticsLevel\" ParentNodeId=\"i=17416\" DataType=\"i=19723\">\n    <DisplayName>DiagnosticsLevel</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=17416</Reference>\n    </References>\n  </UAVariable>\n  <UAMethod NodeId=\"i=17421\" BrowseName=\"Reset\" ParentNodeId=\"i=17409\" MethodDeclarationId=\"i=19689\">\n    <DisplayName>Reset</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=17409</Reference>\n    </References>\n  </UAMethod>\n  <UAVariable NodeId=\"i=17422\" BrowseName=\"SubError\" ParentNodeId=\"i=17409\" DataType=\"Boolean\">\n    <DisplayName>SubError</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=63</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=17409</Reference>\n    </References>\n  </UAVariable>\n  <UAObject NodeId=\"i=17423\" BrowseName=\"Counters\" ParentNodeId=\"i=17409\">\n    <DisplayName>Counters</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasComponent\">i=17424</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=17431</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=17436</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=17441</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=17446</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=17451</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=58</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=17409</Reference>\n    </References>\n  </UAObject>\n  <UAVariable NodeId=\"i=17424\" BrowseName=\"StateError\" ParentNodeId=\"i=17423\" DataType=\"UInt32\">\n    <DisplayName>StateError</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=17425</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=17426</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=17429</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=19725</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=17423</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=17425\" BrowseName=\"Active\" ParentNodeId=\"i=17424\" DataType=\"Boolean\">\n    <DisplayName>Active</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=17424</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=17426\" BrowseName=\"Classification\" ParentNodeId=\"i=17424\" DataType=\"i=19730\">\n    <DisplayName>Classification</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=17424</Reference>\n    </References>\n    <Value>\n      <Int32 xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">1</Int32>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"i=17429\" BrowseName=\"DiagnosticsLevel\" ParentNodeId=\"i=17424\" DataType=\"i=19723\">\n    <DisplayName>DiagnosticsLevel</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=17424</Reference>\n    </References>\n    <Value>\n      <Int32 xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">0</Int32>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"i=17431\" BrowseName=\"StateOperationalByMethod\" ParentNodeId=\"i=17423\" DataType=\"UInt32\">\n    <DisplayName>StateOperationalByMethod</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=17432</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=17433</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=17434</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=19725</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=17423</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=17432\" BrowseName=\"Active\" ParentNodeId=\"i=17431\" DataType=\"Boolean\">\n    <DisplayName>Active</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=17431</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=17433\" BrowseName=\"Classification\" ParentNodeId=\"i=17431\" DataType=\"i=19730\">\n    <DisplayName>Classification</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=17431</Reference>\n    </References>\n    <Value>\n      <Int32 xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">0</Int32>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"i=17434\" BrowseName=\"DiagnosticsLevel\" ParentNodeId=\"i=17431\" DataType=\"i=19723\">\n    <DisplayName>DiagnosticsLevel</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=17431</Reference>\n    </References>\n    <Value>\n      <Int32 xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">0</Int32>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"i=17436\" BrowseName=\"StateOperationalByParent\" ParentNodeId=\"i=17423\" DataType=\"UInt32\">\n    <DisplayName>StateOperationalByParent</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=17437</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=17438</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=17439</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=19725</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=17423</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=17437\" BrowseName=\"Active\" ParentNodeId=\"i=17436\" DataType=\"Boolean\">\n    <DisplayName>Active</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=17436</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=17438\" BrowseName=\"Classification\" ParentNodeId=\"i=17436\" DataType=\"i=19730\">\n    <DisplayName>Classification</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=17436</Reference>\n    </References>\n    <Value>\n      <Int32 xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">0</Int32>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"i=17439\" BrowseName=\"DiagnosticsLevel\" ParentNodeId=\"i=17436\" DataType=\"i=19723\">\n    <DisplayName>DiagnosticsLevel</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=17436</Reference>\n    </References>\n    <Value>\n      <Int32 xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">0</Int32>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"i=17441\" BrowseName=\"StateOperationalFromError\" ParentNodeId=\"i=17423\" DataType=\"UInt32\">\n    <DisplayName>StateOperationalFromError</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=17442</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=17443</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=17444</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=19725</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=17423</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=17442\" BrowseName=\"Active\" ParentNodeId=\"i=17441\" DataType=\"Boolean\">\n    <DisplayName>Active</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=17441</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=17443\" BrowseName=\"Classification\" ParentNodeId=\"i=17441\" DataType=\"i=19730\">\n    <DisplayName>Classification</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=17441</Reference>\n    </References>\n    <Value>\n      <Int32 xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">0</Int32>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"i=17444\" BrowseName=\"DiagnosticsLevel\" ParentNodeId=\"i=17441\" DataType=\"i=19723\">\n    <DisplayName>DiagnosticsLevel</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=17441</Reference>\n    </References>\n    <Value>\n      <Int32 xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">0</Int32>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"i=17446\" BrowseName=\"StatePausedByParent\" ParentNodeId=\"i=17423\" DataType=\"UInt32\">\n    <DisplayName>StatePausedByParent</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=17447</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=17448</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=17449</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=19725</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=17423</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=17447\" BrowseName=\"Active\" ParentNodeId=\"i=17446\" DataType=\"Boolean\">\n    <DisplayName>Active</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=17446</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=17448\" BrowseName=\"Classification\" ParentNodeId=\"i=17446\" DataType=\"i=19730\">\n    <DisplayName>Classification</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=17446</Reference>\n    </References>\n    <Value>\n      <Int32 xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">0</Int32>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"i=17449\" BrowseName=\"DiagnosticsLevel\" ParentNodeId=\"i=17446\" DataType=\"i=19723\">\n    <DisplayName>DiagnosticsLevel</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=17446</Reference>\n    </References>\n    <Value>\n      <Int32 xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">0</Int32>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"i=17451\" BrowseName=\"StateDisabledByMethod\" ParentNodeId=\"i=17423\" DataType=\"UInt32\">\n    <DisplayName>StateDisabledByMethod</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=17452</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=17453</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=17454</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=19725</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=17423</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=17452\" BrowseName=\"Active\" ParentNodeId=\"i=17451\" DataType=\"Boolean\">\n    <DisplayName>Active</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=17451</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=17453\" BrowseName=\"Classification\" ParentNodeId=\"i=17451\" DataType=\"i=19730\">\n    <DisplayName>Classification</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=17451</Reference>\n    </References>\n    <Value>\n      <Int32 xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">0</Int32>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"i=17454\" BrowseName=\"DiagnosticsLevel\" ParentNodeId=\"i=17451\" DataType=\"i=19723\">\n    <DisplayName>DiagnosticsLevel</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=17451</Reference>\n    </References>\n    <Value>\n      <Int32 xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">0</Int32>\n    </Value>\n  </UAVariable>\n  <UAObject NodeId=\"i=17457\" BrowseName=\"LiveValues\" ParentNodeId=\"i=17409\">\n    <DisplayName>LiveValues</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasComponent\">i=17458</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=17460</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=17462</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=17464</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=58</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=17409</Reference>\n    </References>\n  </UAObject>\n  <UAVariable NodeId=\"i=17458\" BrowseName=\"ConfiguredDataSetWriters\" ParentNodeId=\"i=17457\" DataType=\"UInt16\">\n    <DisplayName>ConfiguredDataSetWriters</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=17459</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=63</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=17457</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=17459\" BrowseName=\"DiagnosticsLevel\" ParentNodeId=\"i=17458\" DataType=\"i=19723\">\n    <DisplayName>DiagnosticsLevel</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=17458</Reference>\n    </References>\n    <Value>\n      <Int32 xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">0</Int32>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"i=17460\" BrowseName=\"ConfiguredDataSetReaders\" ParentNodeId=\"i=17457\" DataType=\"UInt16\">\n    <DisplayName>ConfiguredDataSetReaders</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=17461</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=63</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=17457</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=17461\" BrowseName=\"DiagnosticsLevel\" ParentNodeId=\"i=17460\" DataType=\"i=19723\">\n    <DisplayName>DiagnosticsLevel</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=17460</Reference>\n    </References>\n    <Value>\n      <Int32 xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">0</Int32>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"i=17462\" BrowseName=\"OperationalDataSetWriters\" ParentNodeId=\"i=17457\" DataType=\"UInt16\">\n    <DisplayName>OperationalDataSetWriters</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=17463</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=63</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=17457</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=17463\" BrowseName=\"DiagnosticsLevel\" ParentNodeId=\"i=17462\" DataType=\"i=19723\">\n    <DisplayName>DiagnosticsLevel</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=17462</Reference>\n    </References>\n    <Value>\n      <Int32 xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">0</Int32>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"i=17464\" BrowseName=\"OperationalDataSetReaders\" ParentNodeId=\"i=17457\" DataType=\"UInt16\">\n    <DisplayName>OperationalDataSetReaders</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=17466</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=63</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=17457</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=17466\" BrowseName=\"DiagnosticsLevel\" ParentNodeId=\"i=17464\" DataType=\"i=19723\">\n    <DisplayName>DiagnosticsLevel</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=17464</Reference>\n    </References>\n    <Value>\n      <Int32 xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">0</Int32>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"i=17481\" BrowseName=\"SupportedTransportProfiles\" ParentNodeId=\"i=14443\" DataType=\"String\" ValueRank=\"1\" ArrayDimensions=\"0\">\n    <DisplayName>SupportedTransportProfiles</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=14443</Reference>\n    </References>\n  </UAVariable>\n  <UAReferenceType NodeId=\"i=14476\" BrowseName=\"HasPubSubConnection\">\n    <DisplayName>HasPubSubConnection</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=47</Reference>\n    </References>\n    <InverseName>PubSubConnectionOf</InverseName>\n  </UAReferenceType>\n  <UAObjectType NodeId=\"i=14509\" BrowseName=\"PublishedDataSetType\">\n    <DisplayName>PublishedDataSetType</DisplayName>\n    <References>\n      <Reference ReferenceType=\"i=14936\">i=15222</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=14519</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=15229</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=16759</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=15481</Reference>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=58</Reference>\n    </References>\n  </UAObjectType>\n  <UAObject NodeId=\"i=15222\" BrowseName=\"&lt;DataSetWriterName&gt;\" SymbolicName=\"DataSetWriterName_Placeholder\" ParentNodeId=\"i=14509\">\n    <DisplayName>&lt;DataSetWriterName&gt;</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=16720</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=16721</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=17482</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=15223</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=15298</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=11508</Reference>\n      <Reference ReferenceType=\"i=14936\" IsForward=\"false\">i=14509</Reference>\n    </References>\n  </UAObject>\n  <UAVariable NodeId=\"i=16720\" BrowseName=\"DataSetWriterId\" ParentNodeId=\"i=15222\" DataType=\"UInt16\">\n    <DisplayName>DataSetWriterId</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=15222</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=16721\" BrowseName=\"DataSetFieldContentMask\" ParentNodeId=\"i=15222\" DataType=\"i=15583\">\n    <DisplayName>DataSetFieldContentMask</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=15222</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=17482\" BrowseName=\"DataSetWriterProperties\" ParentNodeId=\"i=15222\" DataType=\"i=14533\" ValueRank=\"1\" ArrayDimensions=\"0\">\n    <DisplayName>DataSetWriterProperties</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=15222</Reference>\n    </References>\n  </UAVariable>\n  <UAObject NodeId=\"i=15223\" BrowseName=\"Status\" ParentNodeId=\"i=15222\">\n    <DisplayName>Status</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasComponent\">i=15224</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=14643</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=15222</Reference>\n    </References>\n  </UAObject>\n  <UAVariable NodeId=\"i=15224\" BrowseName=\"State\" ParentNodeId=\"i=15223\" DataType=\"i=14647\">\n    <DisplayName>State</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=63</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=15223</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=14519\" BrowseName=\"ConfigurationVersion\" ParentNodeId=\"i=14509\" DataType=\"i=14593\">\n    <DisplayName>ConfigurationVersion</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=14509</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=15229\" BrowseName=\"DataSetMetaData\" ParentNodeId=\"i=14509\" DataType=\"i=14523\">\n    <DisplayName>DataSetMetaData</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=14509</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=16759\" BrowseName=\"DataSetClassId\" ParentNodeId=\"i=14509\" DataType=\"Guid\">\n    <DisplayName>DataSetClassId</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=80</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=14509</Reference>\n    </References>\n  </UAVariable>\n  <UAObject NodeId=\"i=15481\" BrowseName=\"ExtensionFields\" ParentNodeId=\"i=14509\">\n    <DisplayName>ExtensionFields</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasComponent\">i=15482</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=15485</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=15489</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=80</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=14509</Reference>\n    </References>\n  </UAObject>\n  <UAMethod NodeId=\"i=15482\" BrowseName=\"AddExtensionField\" ParentNodeId=\"i=15481\" MethodDeclarationId=\"i=15491\">\n    <DisplayName>AddExtensionField</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=15483</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=15484</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=15481</Reference>\n    </References>\n  </UAMethod>\n  <UAVariable NodeId=\"i=15483\" BrowseName=\"InputArguments\" ParentNodeId=\"i=15482\" DataType=\"i=296\" ValueRank=\"1\" ArrayDimensions=\"0\">\n    <DisplayName>InputArguments</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=15482</Reference>\n    </References>\n    <Value>\n      <ListOfExtensionObject xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=297</Identifier>\n          </TypeId>\n          <Body>\n            <Argument>\n              <Name>FieldName</Name>\n              <DataType>\n                <Identifier>i=20</Identifier>\n              </DataType>\n              <ValueRank>-1</ValueRank>\n              <ArrayDimensions />\n            </Argument>\n          </Body>\n        </ExtensionObject>\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=297</Identifier>\n          </TypeId>\n          <Body>\n            <Argument>\n              <Name>FieldValue</Name>\n              <DataType>\n                <Identifier>i=24</Identifier>\n              </DataType>\n              <ValueRank>-2</ValueRank>\n              <ArrayDimensions />\n            </Argument>\n          </Body>\n        </ExtensionObject>\n      </ListOfExtensionObject>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"i=15484\" BrowseName=\"OutputArguments\" ParentNodeId=\"i=15482\" DataType=\"i=296\" ValueRank=\"1\" ArrayDimensions=\"0\">\n    <DisplayName>OutputArguments</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=15482</Reference>\n    </References>\n    <Value>\n      <ListOfExtensionObject xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=297</Identifier>\n          </TypeId>\n          <Body>\n            <Argument>\n              <Name>FieldId</Name>\n              <DataType>\n                <Identifier>i=17</Identifier>\n              </DataType>\n              <ValueRank>-1</ValueRank>\n              <ArrayDimensions />\n            </Argument>\n          </Body>\n        </ExtensionObject>\n      </ListOfExtensionObject>\n    </Value>\n  </UAVariable>\n  <UAMethod NodeId=\"i=15485\" BrowseName=\"RemoveExtensionField\" ParentNodeId=\"i=15481\" MethodDeclarationId=\"i=15494\">\n    <DisplayName>RemoveExtensionField</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=15486</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=15481</Reference>\n    </References>\n  </UAMethod>\n  <UAVariable NodeId=\"i=15486\" BrowseName=\"InputArguments\" ParentNodeId=\"i=15485\" DataType=\"i=296\" ValueRank=\"1\" ArrayDimensions=\"0\">\n    <DisplayName>InputArguments</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=15485</Reference>\n    </References>\n    <Value>\n      <ListOfExtensionObject xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=297</Identifier>\n          </TypeId>\n          <Body>\n            <Argument>\n              <Name>FieldId</Name>\n              <DataType>\n                <Identifier>i=17</Identifier>\n              </DataType>\n              <ValueRank>-1</ValueRank>\n              <ArrayDimensions />\n            </Argument>\n          </Body>\n        </ExtensionObject>\n      </ListOfExtensionObject>\n    </Value>\n  </UAVariable>\n  <UAObjectType NodeId=\"i=15489\" BrowseName=\"ExtensionFieldsType\">\n    <DisplayName>ExtensionFieldsType</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=15490</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=15491</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=15494</Reference>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=58</Reference>\n    </References>\n  </UAObjectType>\n  <UAVariable NodeId=\"i=15490\" BrowseName=\"&lt;ExtensionFieldName&gt;\" SymbolicName=\"ExtensionFieldName_Placeholder\" ParentNodeId=\"i=15489\">\n    <DisplayName>&lt;ExtensionFieldName&gt;</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=11508</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=15489</Reference>\n    </References>\n  </UAVariable>\n  <UAMethod NodeId=\"i=15491\" BrowseName=\"AddExtensionField\" ParentNodeId=\"i=15489\">\n    <DisplayName>AddExtensionField</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=15492</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=15493</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=15489</Reference>\n    </References>\n  </UAMethod>\n  <UAVariable NodeId=\"i=15492\" BrowseName=\"InputArguments\" ParentNodeId=\"i=15491\" DataType=\"i=296\" ValueRank=\"1\" ArrayDimensions=\"0\">\n    <DisplayName>InputArguments</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=15491</Reference>\n    </References>\n    <Value>\n      <ListOfExtensionObject xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=297</Identifier>\n          </TypeId>\n          <Body>\n            <Argument>\n              <Name>FieldName</Name>\n              <DataType>\n                <Identifier>i=20</Identifier>\n              </DataType>\n              <ValueRank>-1</ValueRank>\n              <ArrayDimensions />\n            </Argument>\n          </Body>\n        </ExtensionObject>\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=297</Identifier>\n          </TypeId>\n          <Body>\n            <Argument>\n              <Name>FieldValue</Name>\n              <DataType>\n                <Identifier>i=24</Identifier>\n              </DataType>\n              <ValueRank>-2</ValueRank>\n              <ArrayDimensions />\n            </Argument>\n          </Body>\n        </ExtensionObject>\n      </ListOfExtensionObject>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"i=15493\" BrowseName=\"OutputArguments\" ParentNodeId=\"i=15491\" DataType=\"i=296\" ValueRank=\"1\" ArrayDimensions=\"0\">\n    <DisplayName>OutputArguments</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=15491</Reference>\n    </References>\n    <Value>\n      <ListOfExtensionObject xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=297</Identifier>\n          </TypeId>\n          <Body>\n            <Argument>\n              <Name>FieldId</Name>\n              <DataType>\n                <Identifier>i=17</Identifier>\n              </DataType>\n              <ValueRank>-1</ValueRank>\n              <ArrayDimensions />\n            </Argument>\n          </Body>\n        </ExtensionObject>\n      </ListOfExtensionObject>\n    </Value>\n  </UAVariable>\n  <UAMethod NodeId=\"i=15494\" BrowseName=\"RemoveExtensionField\" ParentNodeId=\"i=15489\">\n    <DisplayName>RemoveExtensionField</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=15495</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=15489</Reference>\n    </References>\n  </UAMethod>\n  <UAVariable NodeId=\"i=15495\" BrowseName=\"InputArguments\" ParentNodeId=\"i=15494\" DataType=\"i=296\" ValueRank=\"1\" ArrayDimensions=\"0\">\n    <DisplayName>InputArguments</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=15494</Reference>\n    </References>\n    <Value>\n      <ListOfExtensionObject xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=297</Identifier>\n          </TypeId>\n          <Body>\n            <Argument>\n              <Name>FieldId</Name>\n              <DataType>\n                <Identifier>i=17</Identifier>\n              </DataType>\n              <ValueRank>-1</ValueRank>\n              <ArrayDimensions />\n            </Argument>\n          </Body>\n        </ExtensionObject>\n      </ListOfExtensionObject>\n    </Value>\n  </UAVariable>\n  <UAReferenceType NodeId=\"i=14936\" BrowseName=\"DataSetToWriter\">\n    <DisplayName>DataSetToWriter</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=33</Reference>\n    </References>\n    <InverseName>WriterToDataSet</InverseName>\n  </UAReferenceType>\n  <UAObjectType NodeId=\"i=14534\" BrowseName=\"PublishedDataItemsType\">\n    <DisplayName>PublishedDataItemsType</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=14548</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=14555</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=14558</Reference>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=14509</Reference>\n    </References>\n  </UAObjectType>\n  <UAVariable NodeId=\"i=14548\" BrowseName=\"PublishedData\" ParentNodeId=\"i=14534\" DataType=\"i=14273\" ValueRank=\"1\" ArrayDimensions=\"0\">\n    <DisplayName>PublishedData</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=14534</Reference>\n    </References>\n  </UAVariable>\n  <UAMethod NodeId=\"i=14555\" BrowseName=\"AddVariables\" ParentNodeId=\"i=14534\">\n    <DisplayName>AddVariables</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=14556</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=14557</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=80</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=14534</Reference>\n    </References>\n  </UAMethod>\n  <UAVariable NodeId=\"i=14556\" BrowseName=\"InputArguments\" ParentNodeId=\"i=14555\" DataType=\"i=296\" ValueRank=\"1\" ArrayDimensions=\"0\">\n    <DisplayName>InputArguments</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=14555</Reference>\n    </References>\n    <Value>\n      <ListOfExtensionObject xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=297</Identifier>\n          </TypeId>\n          <Body>\n            <Argument>\n              <Name>ConfigurationVersion</Name>\n              <DataType>\n                <Identifier>i=14593</Identifier>\n              </DataType>\n              <ValueRank>-1</ValueRank>\n              <ArrayDimensions />\n            </Argument>\n          </Body>\n        </ExtensionObject>\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=297</Identifier>\n          </TypeId>\n          <Body>\n            <Argument>\n              <Name>FieldNameAliases</Name>\n              <DataType>\n                <Identifier>i=12</Identifier>\n              </DataType>\n              <ValueRank>1</ValueRank>\n              <ArrayDimensions>\n                <UInt32>0</UInt32>\n              </ArrayDimensions>\n            </Argument>\n          </Body>\n        </ExtensionObject>\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=297</Identifier>\n          </TypeId>\n          <Body>\n            <Argument>\n              <Name>PromotedFields</Name>\n              <DataType>\n                <Identifier>i=1</Identifier>\n              </DataType>\n              <ValueRank>1</ValueRank>\n              <ArrayDimensions>\n                <UInt32>0</UInt32>\n              </ArrayDimensions>\n            </Argument>\n          </Body>\n        </ExtensionObject>\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=297</Identifier>\n          </TypeId>\n          <Body>\n            <Argument>\n              <Name>VariablesToAdd</Name>\n              <DataType>\n                <Identifier>i=14273</Identifier>\n              </DataType>\n              <ValueRank>1</ValueRank>\n              <ArrayDimensions>\n                <UInt32>0</UInt32>\n              </ArrayDimensions>\n            </Argument>\n          </Body>\n        </ExtensionObject>\n      </ListOfExtensionObject>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"i=14557\" BrowseName=\"OutputArguments\" ParentNodeId=\"i=14555\" DataType=\"i=296\" ValueRank=\"1\" ArrayDimensions=\"0\">\n    <DisplayName>OutputArguments</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=14555</Reference>\n    </References>\n    <Value>\n      <ListOfExtensionObject xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=297</Identifier>\n          </TypeId>\n          <Body>\n            <Argument>\n              <Name>NewConfigurationVersion</Name>\n              <DataType>\n                <Identifier>i=14593</Identifier>\n              </DataType>\n              <ValueRank>-1</ValueRank>\n              <ArrayDimensions />\n            </Argument>\n          </Body>\n        </ExtensionObject>\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=297</Identifier>\n          </TypeId>\n          <Body>\n            <Argument>\n              <Name>AddResults</Name>\n              <DataType>\n                <Identifier>i=19</Identifier>\n              </DataType>\n              <ValueRank>1</ValueRank>\n              <ArrayDimensions>\n                <UInt32>0</UInt32>\n              </ArrayDimensions>\n            </Argument>\n          </Body>\n        </ExtensionObject>\n      </ListOfExtensionObject>\n    </Value>\n  </UAVariable>\n  <UAMethod NodeId=\"i=14558\" BrowseName=\"RemoveVariables\" ParentNodeId=\"i=14534\">\n    <DisplayName>RemoveVariables</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=14559</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=14560</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=80</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=14534</Reference>\n    </References>\n  </UAMethod>\n  <UAVariable NodeId=\"i=14559\" BrowseName=\"InputArguments\" ParentNodeId=\"i=14558\" DataType=\"i=296\" ValueRank=\"1\" ArrayDimensions=\"0\">\n    <DisplayName>InputArguments</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=14558</Reference>\n    </References>\n    <Value>\n      <ListOfExtensionObject xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=297</Identifier>\n          </TypeId>\n          <Body>\n            <Argument>\n              <Name>ConfigurationVersion</Name>\n              <DataType>\n                <Identifier>i=14593</Identifier>\n              </DataType>\n              <ValueRank>-1</ValueRank>\n              <ArrayDimensions />\n            </Argument>\n          </Body>\n        </ExtensionObject>\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=297</Identifier>\n          </TypeId>\n          <Body>\n            <Argument>\n              <Name>VariablesToRemove</Name>\n              <DataType>\n                <Identifier>i=7</Identifier>\n              </DataType>\n              <ValueRank>1</ValueRank>\n              <ArrayDimensions>\n                <UInt32>0</UInt32>\n              </ArrayDimensions>\n            </Argument>\n          </Body>\n        </ExtensionObject>\n      </ListOfExtensionObject>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"i=14560\" BrowseName=\"OutputArguments\" ParentNodeId=\"i=14558\" DataType=\"i=296\" ValueRank=\"1\" ArrayDimensions=\"0\">\n    <DisplayName>OutputArguments</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=14558</Reference>\n    </References>\n    <Value>\n      <ListOfExtensionObject xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=297</Identifier>\n          </TypeId>\n          <Body>\n            <Argument>\n              <Name>NewConfigurationVersion</Name>\n              <DataType>\n                <Identifier>i=14593</Identifier>\n              </DataType>\n              <ValueRank>-1</ValueRank>\n              <ArrayDimensions />\n            </Argument>\n          </Body>\n        </ExtensionObject>\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=297</Identifier>\n          </TypeId>\n          <Body>\n            <Argument>\n              <Name>RemoveResults</Name>\n              <DataType>\n                <Identifier>i=19</Identifier>\n              </DataType>\n              <ValueRank>1</ValueRank>\n              <ArrayDimensions>\n                <UInt32>0</UInt32>\n              </ArrayDimensions>\n            </Argument>\n          </Body>\n        </ExtensionObject>\n      </ListOfExtensionObject>\n    </Value>\n  </UAVariable>\n  <UAObjectType NodeId=\"i=14572\" BrowseName=\"PublishedEventsType\">\n    <DisplayName>PublishedEventsType</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=14586</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=14587</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=14588</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=15052</Reference>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=14509</Reference>\n    </References>\n  </UAObjectType>\n  <UAVariable NodeId=\"i=14586\" BrowseName=\"EventNotifier\" SymbolicName=\"PubSubEventNotifier\" ParentNodeId=\"i=14572\" DataType=\"NodeId\">\n    <DisplayName>EventNotifier</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=14572</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=14587\" BrowseName=\"SelectedFields\" ParentNodeId=\"i=14572\" DataType=\"i=601\" ValueRank=\"1\" ArrayDimensions=\"0\">\n    <DisplayName>SelectedFields</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=14572</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=14588\" BrowseName=\"Filter\" ParentNodeId=\"i=14572\" DataType=\"i=586\">\n    <DisplayName>Filter</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=14572</Reference>\n    </References>\n  </UAVariable>\n  <UAMethod NodeId=\"i=15052\" BrowseName=\"ModifyFieldSelection\" ParentNodeId=\"i=14572\">\n    <DisplayName>ModifyFieldSelection</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=15053</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=15517</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=80</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=14572</Reference>\n    </References>\n  </UAMethod>\n  <UAVariable NodeId=\"i=15053\" BrowseName=\"InputArguments\" ParentNodeId=\"i=15052\" DataType=\"i=296\" ValueRank=\"1\" ArrayDimensions=\"0\">\n    <DisplayName>InputArguments</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=15052</Reference>\n    </References>\n    <Value>\n      <ListOfExtensionObject xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=297</Identifier>\n          </TypeId>\n          <Body>\n            <Argument>\n              <Name>ConfigurationVersion</Name>\n              <DataType>\n                <Identifier>i=14593</Identifier>\n              </DataType>\n              <ValueRank>-1</ValueRank>\n              <ArrayDimensions />\n            </Argument>\n          </Body>\n        </ExtensionObject>\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=297</Identifier>\n          </TypeId>\n          <Body>\n            <Argument>\n              <Name>FieldNameAliases</Name>\n              <DataType>\n                <Identifier>i=12</Identifier>\n              </DataType>\n              <ValueRank>1</ValueRank>\n              <ArrayDimensions>\n                <UInt32>0</UInt32>\n              </ArrayDimensions>\n            </Argument>\n          </Body>\n        </ExtensionObject>\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=297</Identifier>\n          </TypeId>\n          <Body>\n            <Argument>\n              <Name>PromotedFields</Name>\n              <DataType>\n                <Identifier>i=1</Identifier>\n              </DataType>\n              <ValueRank>1</ValueRank>\n              <ArrayDimensions>\n                <UInt32>0</UInt32>\n              </ArrayDimensions>\n            </Argument>\n          </Body>\n        </ExtensionObject>\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=297</Identifier>\n          </TypeId>\n          <Body>\n            <Argument>\n              <Name>SelectedFields</Name>\n              <DataType>\n                <Identifier>i=601</Identifier>\n              </DataType>\n              <ValueRank>1</ValueRank>\n              <ArrayDimensions>\n                <UInt32>0</UInt32>\n              </ArrayDimensions>\n            </Argument>\n          </Body>\n        </ExtensionObject>\n      </ListOfExtensionObject>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"i=15517\" BrowseName=\"OutputArguments\" ParentNodeId=\"i=15052\" DataType=\"i=296\" ValueRank=\"1\" ArrayDimensions=\"0\">\n    <DisplayName>OutputArguments</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=15052</Reference>\n    </References>\n    <Value>\n      <ListOfExtensionObject xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=297</Identifier>\n          </TypeId>\n          <Body>\n            <Argument>\n              <Name>NewConfigurationVersion</Name>\n              <DataType>\n                <Identifier>i=14593</Identifier>\n              </DataType>\n              <ValueRank>-1</ValueRank>\n              <ArrayDimensions />\n            </Argument>\n          </Body>\n        </ExtensionObject>\n      </ListOfExtensionObject>\n    </Value>\n  </UAVariable>\n  <UAObjectType NodeId=\"i=14477\" BrowseName=\"DataSetFolderType\">\n    <DisplayName>DataSetFolderType</DisplayName>\n    <References>\n      <Reference ReferenceType=\"Organizes\">i=14478</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=14487</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=14493</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=14496</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=16935</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=16960</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=14499</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=16994</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=16997</Reference>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=61</Reference>\n    </References>\n  </UAObjectType>\n  <UAObject NodeId=\"i=14478\" BrowseName=\"&lt;DataSetFolderName&gt;\" SymbolicName=\"DataSetFolderName_Placeholder\" ParentNodeId=\"i=14477\">\n    <DisplayName>&lt;DataSetFolderName&gt;</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasComponent\">i=14479</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=14482</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=16842</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=16881</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=14485</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=16884</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=16923</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=14477</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=11508</Reference>\n      <Reference ReferenceType=\"Organizes\" IsForward=\"false\">i=14477</Reference>\n    </References>\n  </UAObject>\n  <UAMethod NodeId=\"i=14479\" BrowseName=\"AddPublishedDataItems\" ParentNodeId=\"i=14478\" MethodDeclarationId=\"i=14493\">\n    <DisplayName>AddPublishedDataItems</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=14480</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=14481</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=80</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=14478</Reference>\n    </References>\n  </UAMethod>\n  <UAVariable NodeId=\"i=14480\" BrowseName=\"InputArguments\" ParentNodeId=\"i=14479\" DataType=\"i=296\" ValueRank=\"1\" ArrayDimensions=\"0\">\n    <DisplayName>InputArguments</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=14479</Reference>\n    </References>\n    <Value>\n      <ListOfExtensionObject xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=297</Identifier>\n          </TypeId>\n          <Body>\n            <Argument>\n              <Name>Name</Name>\n              <DataType>\n                <Identifier>i=12</Identifier>\n              </DataType>\n              <ValueRank>-1</ValueRank>\n              <ArrayDimensions />\n            </Argument>\n          </Body>\n        </ExtensionObject>\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=297</Identifier>\n          </TypeId>\n          <Body>\n            <Argument>\n              <Name>FieldNameAliases</Name>\n              <DataType>\n                <Identifier>i=12</Identifier>\n              </DataType>\n              <ValueRank>1</ValueRank>\n              <ArrayDimensions>\n                <UInt32>0</UInt32>\n              </ArrayDimensions>\n            </Argument>\n          </Body>\n        </ExtensionObject>\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=297</Identifier>\n          </TypeId>\n          <Body>\n            <Argument>\n              <Name>FieldFlags</Name>\n              <DataType>\n                <Identifier>i=15904</Identifier>\n              </DataType>\n              <ValueRank>1</ValueRank>\n              <ArrayDimensions>\n                <UInt32>0</UInt32>\n              </ArrayDimensions>\n            </Argument>\n          </Body>\n        </ExtensionObject>\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=297</Identifier>\n          </TypeId>\n          <Body>\n            <Argument>\n              <Name>VariablesToAdd</Name>\n              <DataType>\n                <Identifier>i=14273</Identifier>\n              </DataType>\n              <ValueRank>1</ValueRank>\n              <ArrayDimensions>\n                <UInt32>0</UInt32>\n              </ArrayDimensions>\n            </Argument>\n          </Body>\n        </ExtensionObject>\n      </ListOfExtensionObject>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"i=14481\" BrowseName=\"OutputArguments\" ParentNodeId=\"i=14479\" DataType=\"i=296\" ValueRank=\"1\" ArrayDimensions=\"0\">\n    <DisplayName>OutputArguments</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=14479</Reference>\n    </References>\n    <Value>\n      <ListOfExtensionObject xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=297</Identifier>\n          </TypeId>\n          <Body>\n            <Argument>\n              <Name>DataSetNodeId</Name>\n              <DataType>\n                <Identifier>i=17</Identifier>\n              </DataType>\n              <ValueRank>-1</ValueRank>\n              <ArrayDimensions />\n            </Argument>\n          </Body>\n        </ExtensionObject>\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=297</Identifier>\n          </TypeId>\n          <Body>\n            <Argument>\n              <Name>ConfigurationVersion</Name>\n              <DataType>\n                <Identifier>i=14593</Identifier>\n              </DataType>\n              <ValueRank>-1</ValueRank>\n              <ArrayDimensions />\n            </Argument>\n          </Body>\n        </ExtensionObject>\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=297</Identifier>\n          </TypeId>\n          <Body>\n            <Argument>\n              <Name>AddResults</Name>\n              <DataType>\n                <Identifier>i=19</Identifier>\n              </DataType>\n              <ValueRank>1</ValueRank>\n              <ArrayDimensions>\n                <UInt32>0</UInt32>\n              </ArrayDimensions>\n            </Argument>\n          </Body>\n        </ExtensionObject>\n      </ListOfExtensionObject>\n    </Value>\n  </UAVariable>\n  <UAMethod NodeId=\"i=14482\" BrowseName=\"AddPublishedEvents\" ParentNodeId=\"i=14478\" MethodDeclarationId=\"i=14496\">\n    <DisplayName>AddPublishedEvents</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=14483</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=14484</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=80</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=14478</Reference>\n    </References>\n  </UAMethod>\n  <UAVariable NodeId=\"i=14483\" BrowseName=\"InputArguments\" ParentNodeId=\"i=14482\" DataType=\"i=296\" ValueRank=\"1\" ArrayDimensions=\"0\">\n    <DisplayName>InputArguments</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=14482</Reference>\n    </References>\n    <Value>\n      <ListOfExtensionObject xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=297</Identifier>\n          </TypeId>\n          <Body>\n            <Argument>\n              <Name>Name</Name>\n              <DataType>\n                <Identifier>i=12</Identifier>\n              </DataType>\n              <ValueRank>-1</ValueRank>\n              <ArrayDimensions />\n            </Argument>\n          </Body>\n        </ExtensionObject>\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=297</Identifier>\n          </TypeId>\n          <Body>\n            <Argument>\n              <Name>EventNotifier</Name>\n              <DataType>\n                <Identifier>i=17</Identifier>\n              </DataType>\n              <ValueRank>-1</ValueRank>\n              <ArrayDimensions />\n            </Argument>\n          </Body>\n        </ExtensionObject>\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=297</Identifier>\n          </TypeId>\n          <Body>\n            <Argument>\n              <Name>FieldNameAliases</Name>\n              <DataType>\n                <Identifier>i=12</Identifier>\n              </DataType>\n              <ValueRank>1</ValueRank>\n              <ArrayDimensions>\n                <UInt32>0</UInt32>\n              </ArrayDimensions>\n            </Argument>\n          </Body>\n        </ExtensionObject>\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=297</Identifier>\n          </TypeId>\n          <Body>\n            <Argument>\n              <Name>FieldFlags</Name>\n              <DataType>\n                <Identifier>i=15904</Identifier>\n              </DataType>\n              <ValueRank>1</ValueRank>\n              <ArrayDimensions>\n                <UInt32>0</UInt32>\n              </ArrayDimensions>\n            </Argument>\n          </Body>\n        </ExtensionObject>\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=297</Identifier>\n          </TypeId>\n          <Body>\n            <Argument>\n              <Name>SelectedFields</Name>\n              <DataType>\n                <Identifier>i=601</Identifier>\n              </DataType>\n              <ValueRank>1</ValueRank>\n              <ArrayDimensions>\n                <UInt32>0</UInt32>\n              </ArrayDimensions>\n            </Argument>\n          </Body>\n        </ExtensionObject>\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=297</Identifier>\n          </TypeId>\n          <Body>\n            <Argument>\n              <Name>Filter</Name>\n              <DataType>\n                <Identifier>i=586</Identifier>\n              </DataType>\n              <ValueRank>-1</ValueRank>\n              <ArrayDimensions />\n            </Argument>\n          </Body>\n        </ExtensionObject>\n      </ListOfExtensionObject>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"i=14484\" BrowseName=\"OutputArguments\" ParentNodeId=\"i=14482\" DataType=\"i=296\" ValueRank=\"1\" ArrayDimensions=\"0\">\n    <DisplayName>OutputArguments</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=14482</Reference>\n    </References>\n    <Value>\n      <ListOfExtensionObject xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=297</Identifier>\n          </TypeId>\n          <Body>\n            <Argument>\n              <Name>ConfigurationVersion</Name>\n              <DataType>\n                <Identifier>i=14593</Identifier>\n              </DataType>\n              <ValueRank>-1</ValueRank>\n              <ArrayDimensions />\n            </Argument>\n          </Body>\n        </ExtensionObject>\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=297</Identifier>\n          </TypeId>\n          <Body>\n            <Argument>\n              <Name>DataSetNodeId</Name>\n              <DataType>\n                <Identifier>i=17</Identifier>\n              </DataType>\n              <ValueRank>-1</ValueRank>\n              <ArrayDimensions />\n            </Argument>\n          </Body>\n        </ExtensionObject>\n      </ListOfExtensionObject>\n    </Value>\n  </UAVariable>\n  <UAMethod NodeId=\"i=16842\" BrowseName=\"AddPublishedDataItemsTemplate\" ParentNodeId=\"i=14478\" MethodDeclarationId=\"i=16935\">\n    <DisplayName>AddPublishedDataItemsTemplate</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=16843</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=16853</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=80</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=14478</Reference>\n    </References>\n  </UAMethod>\n  <UAVariable NodeId=\"i=16843\" BrowseName=\"InputArguments\" ParentNodeId=\"i=16842\" DataType=\"i=296\" ValueRank=\"1\" ArrayDimensions=\"0\">\n    <DisplayName>InputArguments</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=16842</Reference>\n    </References>\n    <Value>\n      <ListOfExtensionObject xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=297</Identifier>\n          </TypeId>\n          <Body>\n            <Argument>\n              <Name>Name</Name>\n              <DataType>\n                <Identifier>i=12</Identifier>\n              </DataType>\n              <ValueRank>-1</ValueRank>\n              <ArrayDimensions />\n            </Argument>\n          </Body>\n        </ExtensionObject>\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=297</Identifier>\n          </TypeId>\n          <Body>\n            <Argument>\n              <Name>DataSetMetaData</Name>\n              <DataType>\n                <Identifier>i=14523</Identifier>\n              </DataType>\n              <ValueRank>-1</ValueRank>\n              <ArrayDimensions />\n            </Argument>\n          </Body>\n        </ExtensionObject>\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=297</Identifier>\n          </TypeId>\n          <Body>\n            <Argument>\n              <Name>VariablesToAdd</Name>\n              <DataType>\n                <Identifier>i=14273</Identifier>\n              </DataType>\n              <ValueRank>1</ValueRank>\n              <ArrayDimensions>\n                <UInt32>0</UInt32>\n              </ArrayDimensions>\n            </Argument>\n          </Body>\n        </ExtensionObject>\n      </ListOfExtensionObject>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"i=16853\" BrowseName=\"OutputArguments\" ParentNodeId=\"i=16842\" DataType=\"i=296\" ValueRank=\"1\" ArrayDimensions=\"0\">\n    <DisplayName>OutputArguments</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=16842</Reference>\n    </References>\n    <Value>\n      <ListOfExtensionObject xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=297</Identifier>\n          </TypeId>\n          <Body>\n            <Argument>\n              <Name>DataSetNodeId</Name>\n              <DataType>\n                <Identifier>i=17</Identifier>\n              </DataType>\n              <ValueRank>-1</ValueRank>\n              <ArrayDimensions />\n            </Argument>\n          </Body>\n        </ExtensionObject>\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=297</Identifier>\n          </TypeId>\n          <Body>\n            <Argument>\n              <Name>AddResults</Name>\n              <DataType>\n                <Identifier>i=19</Identifier>\n              </DataType>\n              <ValueRank>1</ValueRank>\n              <ArrayDimensions>\n                <UInt32>0</UInt32>\n              </ArrayDimensions>\n            </Argument>\n          </Body>\n        </ExtensionObject>\n      </ListOfExtensionObject>\n    </Value>\n  </UAVariable>\n  <UAMethod NodeId=\"i=16881\" BrowseName=\"AddPublishedEventsTemplate\" ParentNodeId=\"i=14478\" MethodDeclarationId=\"i=16960\">\n    <DisplayName>AddPublishedEventsTemplate</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=16882</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=16883</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=80</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=14478</Reference>\n    </References>\n  </UAMethod>\n  <UAVariable NodeId=\"i=16882\" BrowseName=\"InputArguments\" ParentNodeId=\"i=16881\" DataType=\"i=296\" ValueRank=\"1\" ArrayDimensions=\"0\">\n    <DisplayName>InputArguments</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=16881</Reference>\n    </References>\n    <Value>\n      <ListOfExtensionObject xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=297</Identifier>\n          </TypeId>\n          <Body>\n            <Argument>\n              <Name>Name</Name>\n              <DataType>\n                <Identifier>i=12</Identifier>\n              </DataType>\n              <ValueRank>-1</ValueRank>\n              <ArrayDimensions />\n            </Argument>\n          </Body>\n        </ExtensionObject>\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=297</Identifier>\n          </TypeId>\n          <Body>\n            <Argument>\n              <Name>DataSetMetaData</Name>\n              <DataType>\n                <Identifier>i=14523</Identifier>\n              </DataType>\n              <ValueRank>-1</ValueRank>\n              <ArrayDimensions />\n            </Argument>\n          </Body>\n        </ExtensionObject>\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=297</Identifier>\n          </TypeId>\n          <Body>\n            <Argument>\n              <Name>EventNotifier</Name>\n              <DataType>\n                <Identifier>i=17</Identifier>\n              </DataType>\n              <ValueRank>-1</ValueRank>\n              <ArrayDimensions />\n            </Argument>\n          </Body>\n        </ExtensionObject>\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=297</Identifier>\n          </TypeId>\n          <Body>\n            <Argument>\n              <Name>SelectedFields</Name>\n              <DataType>\n                <Identifier>i=601</Identifier>\n              </DataType>\n              <ValueRank>1</ValueRank>\n              <ArrayDimensions>\n                <UInt32>0</UInt32>\n              </ArrayDimensions>\n            </Argument>\n          </Body>\n        </ExtensionObject>\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=297</Identifier>\n          </TypeId>\n          <Body>\n            <Argument>\n              <Name>Filter</Name>\n              <DataType>\n                <Identifier>i=586</Identifier>\n              </DataType>\n              <ValueRank>-1</ValueRank>\n              <ArrayDimensions />\n            </Argument>\n          </Body>\n        </ExtensionObject>\n      </ListOfExtensionObject>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"i=16883\" BrowseName=\"OutputArguments\" ParentNodeId=\"i=16881\" DataType=\"i=296\" ValueRank=\"1\" ArrayDimensions=\"0\">\n    <DisplayName>OutputArguments</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=16881</Reference>\n    </References>\n    <Value>\n      <ListOfExtensionObject xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=297</Identifier>\n          </TypeId>\n          <Body>\n            <Argument>\n              <Name>DataSetNodeId</Name>\n              <DataType>\n                <Identifier>i=17</Identifier>\n              </DataType>\n              <ValueRank>-1</ValueRank>\n              <ArrayDimensions />\n            </Argument>\n          </Body>\n        </ExtensionObject>\n      </ListOfExtensionObject>\n    </Value>\n  </UAVariable>\n  <UAMethod NodeId=\"i=14485\" BrowseName=\"RemovePublishedDataSet\" ParentNodeId=\"i=14478\" MethodDeclarationId=\"i=14499\">\n    <DisplayName>RemovePublishedDataSet</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=14486</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=80</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=14478</Reference>\n    </References>\n  </UAMethod>\n  <UAVariable NodeId=\"i=14486\" BrowseName=\"InputArguments\" ParentNodeId=\"i=14485\" DataType=\"i=296\" ValueRank=\"1\" ArrayDimensions=\"0\">\n    <DisplayName>InputArguments</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=14485</Reference>\n    </References>\n    <Value>\n      <ListOfExtensionObject xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=297</Identifier>\n          </TypeId>\n          <Body>\n            <Argument>\n              <Name>DataSetNodeId</Name>\n              <DataType>\n                <Identifier>i=17</Identifier>\n              </DataType>\n              <ValueRank>-1</ValueRank>\n              <ArrayDimensions />\n            </Argument>\n          </Body>\n        </ExtensionObject>\n      </ListOfExtensionObject>\n    </Value>\n  </UAVariable>\n  <UAMethod NodeId=\"i=16884\" BrowseName=\"AddDataSetFolder\" ParentNodeId=\"i=14478\" MethodDeclarationId=\"i=16994\">\n    <DisplayName>AddDataSetFolder</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=16894</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=16922</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=80</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=14478</Reference>\n    </References>\n  </UAMethod>\n  <UAVariable NodeId=\"i=16894\" BrowseName=\"InputArguments\" ParentNodeId=\"i=16884\" DataType=\"i=296\" ValueRank=\"1\" ArrayDimensions=\"0\">\n    <DisplayName>InputArguments</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=16884</Reference>\n    </References>\n    <Value>\n      <ListOfExtensionObject xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=297</Identifier>\n          </TypeId>\n          <Body>\n            <Argument>\n              <Name>Name</Name>\n              <DataType>\n                <Identifier>i=12</Identifier>\n              </DataType>\n              <ValueRank>-1</ValueRank>\n              <ArrayDimensions />\n            </Argument>\n          </Body>\n        </ExtensionObject>\n      </ListOfExtensionObject>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"i=16922\" BrowseName=\"OutputArguments\" ParentNodeId=\"i=16884\" DataType=\"i=296\" ValueRank=\"1\" ArrayDimensions=\"0\">\n    <DisplayName>OutputArguments</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=16884</Reference>\n    </References>\n    <Value>\n      <ListOfExtensionObject xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=297</Identifier>\n          </TypeId>\n          <Body>\n            <Argument>\n              <Name>DataSetFolderNodeId</Name>\n              <DataType>\n                <Identifier>i=17</Identifier>\n              </DataType>\n              <ValueRank>-1</ValueRank>\n              <ArrayDimensions />\n            </Argument>\n          </Body>\n        </ExtensionObject>\n      </ListOfExtensionObject>\n    </Value>\n  </UAVariable>\n  <UAMethod NodeId=\"i=16923\" BrowseName=\"RemoveDataSetFolder\" ParentNodeId=\"i=14478\" MethodDeclarationId=\"i=16997\">\n    <DisplayName>RemoveDataSetFolder</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=16924</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=80</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=14478</Reference>\n    </References>\n  </UAMethod>\n  <UAVariable NodeId=\"i=16924\" BrowseName=\"InputArguments\" ParentNodeId=\"i=16923\" DataType=\"i=296\" ValueRank=\"1\" ArrayDimensions=\"0\">\n    <DisplayName>InputArguments</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=16923</Reference>\n    </References>\n    <Value>\n      <ListOfExtensionObject xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=297</Identifier>\n          </TypeId>\n          <Body>\n            <Argument>\n              <Name>DataSetFolderNodeId</Name>\n              <DataType>\n                <Identifier>i=17</Identifier>\n              </DataType>\n              <ValueRank>-1</ValueRank>\n              <ArrayDimensions />\n            </Argument>\n          </Body>\n        </ExtensionObject>\n      </ListOfExtensionObject>\n    </Value>\n  </UAVariable>\n  <UAObject NodeId=\"i=14487\" BrowseName=\"&lt;PublishedDataSetName&gt;\" SymbolicName=\"PublishedDataSetName_Placeholder\" ParentNodeId=\"i=14477\">\n    <DisplayName>&lt;PublishedDataSetName&gt;</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=14489</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=15221</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=14509</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=11508</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=14477</Reference>\n    </References>\n  </UAObject>\n  <UAVariable NodeId=\"i=14489\" BrowseName=\"ConfigurationVersion\" ParentNodeId=\"i=14487\" DataType=\"i=14593\">\n    <DisplayName>ConfigurationVersion</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=14487</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=15221\" BrowseName=\"DataSetMetaData\" ParentNodeId=\"i=14487\" DataType=\"i=14523\">\n    <DisplayName>DataSetMetaData</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=14487</Reference>\n    </References>\n  </UAVariable>\n  <UAMethod NodeId=\"i=14493\" BrowseName=\"AddPublishedDataItems\" ParentNodeId=\"i=14477\">\n    <DisplayName>AddPublishedDataItems</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=14494</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=14495</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=80</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=14477</Reference>\n    </References>\n  </UAMethod>\n  <UAVariable NodeId=\"i=14494\" BrowseName=\"InputArguments\" ParentNodeId=\"i=14493\" DataType=\"i=296\" ValueRank=\"1\" ArrayDimensions=\"0\">\n    <DisplayName>InputArguments</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=14493</Reference>\n    </References>\n    <Value>\n      <ListOfExtensionObject xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=297</Identifier>\n          </TypeId>\n          <Body>\n            <Argument>\n              <Name>Name</Name>\n              <DataType>\n                <Identifier>i=12</Identifier>\n              </DataType>\n              <ValueRank>-1</ValueRank>\n              <ArrayDimensions />\n            </Argument>\n          </Body>\n        </ExtensionObject>\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=297</Identifier>\n          </TypeId>\n          <Body>\n            <Argument>\n              <Name>FieldNameAliases</Name>\n              <DataType>\n                <Identifier>i=12</Identifier>\n              </DataType>\n              <ValueRank>1</ValueRank>\n              <ArrayDimensions>\n                <UInt32>0</UInt32>\n              </ArrayDimensions>\n            </Argument>\n          </Body>\n        </ExtensionObject>\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=297</Identifier>\n          </TypeId>\n          <Body>\n            <Argument>\n              <Name>FieldFlags</Name>\n              <DataType>\n                <Identifier>i=15904</Identifier>\n              </DataType>\n              <ValueRank>1</ValueRank>\n              <ArrayDimensions>\n                <UInt32>0</UInt32>\n              </ArrayDimensions>\n            </Argument>\n          </Body>\n        </ExtensionObject>\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=297</Identifier>\n          </TypeId>\n          <Body>\n            <Argument>\n              <Name>VariablesToAdd</Name>\n              <DataType>\n                <Identifier>i=14273</Identifier>\n              </DataType>\n              <ValueRank>1</ValueRank>\n              <ArrayDimensions>\n                <UInt32>0</UInt32>\n              </ArrayDimensions>\n            </Argument>\n          </Body>\n        </ExtensionObject>\n      </ListOfExtensionObject>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"i=14495\" BrowseName=\"OutputArguments\" ParentNodeId=\"i=14493\" DataType=\"i=296\" ValueRank=\"1\" ArrayDimensions=\"0\">\n    <DisplayName>OutputArguments</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=14493</Reference>\n    </References>\n    <Value>\n      <ListOfExtensionObject xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=297</Identifier>\n          </TypeId>\n          <Body>\n            <Argument>\n              <Name>DataSetNodeId</Name>\n              <DataType>\n                <Identifier>i=17</Identifier>\n              </DataType>\n              <ValueRank>-1</ValueRank>\n              <ArrayDimensions />\n            </Argument>\n          </Body>\n        </ExtensionObject>\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=297</Identifier>\n          </TypeId>\n          <Body>\n            <Argument>\n              <Name>ConfigurationVersion</Name>\n              <DataType>\n                <Identifier>i=14593</Identifier>\n              </DataType>\n              <ValueRank>-1</ValueRank>\n              <ArrayDimensions />\n            </Argument>\n          </Body>\n        </ExtensionObject>\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=297</Identifier>\n          </TypeId>\n          <Body>\n            <Argument>\n              <Name>AddResults</Name>\n              <DataType>\n                <Identifier>i=19</Identifier>\n              </DataType>\n              <ValueRank>1</ValueRank>\n              <ArrayDimensions>\n                <UInt32>0</UInt32>\n              </ArrayDimensions>\n            </Argument>\n          </Body>\n        </ExtensionObject>\n      </ListOfExtensionObject>\n    </Value>\n  </UAVariable>\n  <UAMethod NodeId=\"i=14496\" BrowseName=\"AddPublishedEvents\" ParentNodeId=\"i=14477\">\n    <DisplayName>AddPublishedEvents</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=14497</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=14498</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=80</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=14477</Reference>\n    </References>\n  </UAMethod>\n  <UAVariable NodeId=\"i=14497\" BrowseName=\"InputArguments\" ParentNodeId=\"i=14496\" DataType=\"i=296\" ValueRank=\"1\" ArrayDimensions=\"0\">\n    <DisplayName>InputArguments</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=14496</Reference>\n    </References>\n    <Value>\n      <ListOfExtensionObject xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=297</Identifier>\n          </TypeId>\n          <Body>\n            <Argument>\n              <Name>Name</Name>\n              <DataType>\n                <Identifier>i=12</Identifier>\n              </DataType>\n              <ValueRank>-1</ValueRank>\n              <ArrayDimensions />\n            </Argument>\n          </Body>\n        </ExtensionObject>\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=297</Identifier>\n          </TypeId>\n          <Body>\n            <Argument>\n              <Name>EventNotifier</Name>\n              <DataType>\n                <Identifier>i=17</Identifier>\n              </DataType>\n              <ValueRank>-1</ValueRank>\n              <ArrayDimensions />\n            </Argument>\n          </Body>\n        </ExtensionObject>\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=297</Identifier>\n          </TypeId>\n          <Body>\n            <Argument>\n              <Name>FieldNameAliases</Name>\n              <DataType>\n                <Identifier>i=12</Identifier>\n              </DataType>\n              <ValueRank>1</ValueRank>\n              <ArrayDimensions>\n                <UInt32>0</UInt32>\n              </ArrayDimensions>\n            </Argument>\n          </Body>\n        </ExtensionObject>\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=297</Identifier>\n          </TypeId>\n          <Body>\n            <Argument>\n              <Name>FieldFlags</Name>\n              <DataType>\n                <Identifier>i=15904</Identifier>\n              </DataType>\n              <ValueRank>1</ValueRank>\n              <ArrayDimensions>\n                <UInt32>0</UInt32>\n              </ArrayDimensions>\n            </Argument>\n          </Body>\n        </ExtensionObject>\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=297</Identifier>\n          </TypeId>\n          <Body>\n            <Argument>\n              <Name>SelectedFields</Name>\n              <DataType>\n                <Identifier>i=601</Identifier>\n              </DataType>\n              <ValueRank>1</ValueRank>\n              <ArrayDimensions>\n                <UInt32>0</UInt32>\n              </ArrayDimensions>\n            </Argument>\n          </Body>\n        </ExtensionObject>\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=297</Identifier>\n          </TypeId>\n          <Body>\n            <Argument>\n              <Name>Filter</Name>\n              <DataType>\n                <Identifier>i=586</Identifier>\n              </DataType>\n              <ValueRank>-1</ValueRank>\n              <ArrayDimensions />\n            </Argument>\n          </Body>\n        </ExtensionObject>\n      </ListOfExtensionObject>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"i=14498\" BrowseName=\"OutputArguments\" ParentNodeId=\"i=14496\" DataType=\"i=296\" ValueRank=\"1\" ArrayDimensions=\"0\">\n    <DisplayName>OutputArguments</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=14496</Reference>\n    </References>\n    <Value>\n      <ListOfExtensionObject xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=297</Identifier>\n          </TypeId>\n          <Body>\n            <Argument>\n              <Name>ConfigurationVersion</Name>\n              <DataType>\n                <Identifier>i=14593</Identifier>\n              </DataType>\n              <ValueRank>-1</ValueRank>\n              <ArrayDimensions />\n            </Argument>\n          </Body>\n        </ExtensionObject>\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=297</Identifier>\n          </TypeId>\n          <Body>\n            <Argument>\n              <Name>DataSetNodeId</Name>\n              <DataType>\n                <Identifier>i=17</Identifier>\n              </DataType>\n              <ValueRank>-1</ValueRank>\n              <ArrayDimensions />\n            </Argument>\n          </Body>\n        </ExtensionObject>\n      </ListOfExtensionObject>\n    </Value>\n  </UAVariable>\n  <UAMethod NodeId=\"i=16935\" BrowseName=\"AddPublishedDataItemsTemplate\" ParentNodeId=\"i=14477\">\n    <DisplayName>AddPublishedDataItemsTemplate</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=16958</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=16959</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=80</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=14477</Reference>\n    </References>\n  </UAMethod>\n  <UAVariable NodeId=\"i=16958\" BrowseName=\"InputArguments\" ParentNodeId=\"i=16935\" DataType=\"i=296\" ValueRank=\"1\" ArrayDimensions=\"0\">\n    <DisplayName>InputArguments</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=16935</Reference>\n    </References>\n    <Value>\n      <ListOfExtensionObject xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=297</Identifier>\n          </TypeId>\n          <Body>\n            <Argument>\n              <Name>Name</Name>\n              <DataType>\n                <Identifier>i=12</Identifier>\n              </DataType>\n              <ValueRank>-1</ValueRank>\n              <ArrayDimensions />\n            </Argument>\n          </Body>\n        </ExtensionObject>\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=297</Identifier>\n          </TypeId>\n          <Body>\n            <Argument>\n              <Name>DataSetMetaData</Name>\n              <DataType>\n                <Identifier>i=14523</Identifier>\n              </DataType>\n              <ValueRank>-1</ValueRank>\n              <ArrayDimensions />\n            </Argument>\n          </Body>\n        </ExtensionObject>\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=297</Identifier>\n          </TypeId>\n          <Body>\n            <Argument>\n              <Name>VariablesToAdd</Name>\n              <DataType>\n                <Identifier>i=14273</Identifier>\n              </DataType>\n              <ValueRank>1</ValueRank>\n              <ArrayDimensions>\n                <UInt32>0</UInt32>\n              </ArrayDimensions>\n            </Argument>\n          </Body>\n        </ExtensionObject>\n      </ListOfExtensionObject>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"i=16959\" BrowseName=\"OutputArguments\" ParentNodeId=\"i=16935\" DataType=\"i=296\" ValueRank=\"1\" ArrayDimensions=\"0\">\n    <DisplayName>OutputArguments</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=16935</Reference>\n    </References>\n    <Value>\n      <ListOfExtensionObject xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=297</Identifier>\n          </TypeId>\n          <Body>\n            <Argument>\n              <Name>DataSetNodeId</Name>\n              <DataType>\n                <Identifier>i=17</Identifier>\n              </DataType>\n              <ValueRank>-1</ValueRank>\n              <ArrayDimensions />\n            </Argument>\n          </Body>\n        </ExtensionObject>\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=297</Identifier>\n          </TypeId>\n          <Body>\n            <Argument>\n              <Name>AddResults</Name>\n              <DataType>\n                <Identifier>i=19</Identifier>\n              </DataType>\n              <ValueRank>1</ValueRank>\n              <ArrayDimensions>\n                <UInt32>0</UInt32>\n              </ArrayDimensions>\n            </Argument>\n          </Body>\n        </ExtensionObject>\n      </ListOfExtensionObject>\n    </Value>\n  </UAVariable>\n  <UAMethod NodeId=\"i=16960\" BrowseName=\"AddPublishedEventsTemplate\" ParentNodeId=\"i=14477\">\n    <DisplayName>AddPublishedEventsTemplate</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=16961</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=16971</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=80</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=14477</Reference>\n    </References>\n  </UAMethod>\n  <UAVariable NodeId=\"i=16961\" BrowseName=\"InputArguments\" ParentNodeId=\"i=16960\" DataType=\"i=296\" ValueRank=\"1\" ArrayDimensions=\"0\">\n    <DisplayName>InputArguments</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=16960</Reference>\n    </References>\n    <Value>\n      <ListOfExtensionObject xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=297</Identifier>\n          </TypeId>\n          <Body>\n            <Argument>\n              <Name>Name</Name>\n              <DataType>\n                <Identifier>i=12</Identifier>\n              </DataType>\n              <ValueRank>-1</ValueRank>\n              <ArrayDimensions />\n            </Argument>\n          </Body>\n        </ExtensionObject>\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=297</Identifier>\n          </TypeId>\n          <Body>\n            <Argument>\n              <Name>DataSetMetaData</Name>\n              <DataType>\n                <Identifier>i=14523</Identifier>\n              </DataType>\n              <ValueRank>-1</ValueRank>\n              <ArrayDimensions />\n            </Argument>\n          </Body>\n        </ExtensionObject>\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=297</Identifier>\n          </TypeId>\n          <Body>\n            <Argument>\n              <Name>EventNotifier</Name>\n              <DataType>\n                <Identifier>i=17</Identifier>\n              </DataType>\n              <ValueRank>-1</ValueRank>\n              <ArrayDimensions />\n            </Argument>\n          </Body>\n        </ExtensionObject>\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=297</Identifier>\n          </TypeId>\n          <Body>\n            <Argument>\n              <Name>SelectedFields</Name>\n              <DataType>\n                <Identifier>i=601</Identifier>\n              </DataType>\n              <ValueRank>1</ValueRank>\n              <ArrayDimensions>\n                <UInt32>0</UInt32>\n              </ArrayDimensions>\n            </Argument>\n          </Body>\n        </ExtensionObject>\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=297</Identifier>\n          </TypeId>\n          <Body>\n            <Argument>\n              <Name>Filter</Name>\n              <DataType>\n                <Identifier>i=586</Identifier>\n              </DataType>\n              <ValueRank>-1</ValueRank>\n              <ArrayDimensions />\n            </Argument>\n          </Body>\n        </ExtensionObject>\n      </ListOfExtensionObject>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"i=16971\" BrowseName=\"OutputArguments\" ParentNodeId=\"i=16960\" DataType=\"i=296\" ValueRank=\"1\" ArrayDimensions=\"0\">\n    <DisplayName>OutputArguments</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=16960</Reference>\n    </References>\n    <Value>\n      <ListOfExtensionObject xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=297</Identifier>\n          </TypeId>\n          <Body>\n            <Argument>\n              <Name>DataSetNodeId</Name>\n              <DataType>\n                <Identifier>i=17</Identifier>\n              </DataType>\n              <ValueRank>-1</ValueRank>\n              <ArrayDimensions />\n            </Argument>\n          </Body>\n        </ExtensionObject>\n      </ListOfExtensionObject>\n    </Value>\n  </UAVariable>\n  <UAMethod NodeId=\"i=14499\" BrowseName=\"RemovePublishedDataSet\" ParentNodeId=\"i=14477\">\n    <DisplayName>RemovePublishedDataSet</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=14500</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=80</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=14477</Reference>\n    </References>\n  </UAMethod>\n  <UAVariable NodeId=\"i=14500\" BrowseName=\"InputArguments\" ParentNodeId=\"i=14499\" DataType=\"i=296\" ValueRank=\"1\" ArrayDimensions=\"0\">\n    <DisplayName>InputArguments</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=14499</Reference>\n    </References>\n    <Value>\n      <ListOfExtensionObject xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=297</Identifier>\n          </TypeId>\n          <Body>\n            <Argument>\n              <Name>DataSetNodeId</Name>\n              <DataType>\n                <Identifier>i=17</Identifier>\n              </DataType>\n              <ValueRank>-1</ValueRank>\n              <ArrayDimensions />\n            </Argument>\n          </Body>\n        </ExtensionObject>\n      </ListOfExtensionObject>\n    </Value>\n  </UAVariable>\n  <UAMethod NodeId=\"i=16994\" BrowseName=\"AddDataSetFolder\" ParentNodeId=\"i=14477\">\n    <DisplayName>AddDataSetFolder</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=16995</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=16996</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=80</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=14477</Reference>\n    </References>\n  </UAMethod>\n  <UAVariable NodeId=\"i=16995\" BrowseName=\"InputArguments\" ParentNodeId=\"i=16994\" DataType=\"i=296\" ValueRank=\"1\" ArrayDimensions=\"0\">\n    <DisplayName>InputArguments</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=16994</Reference>\n    </References>\n    <Value>\n      <ListOfExtensionObject xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=297</Identifier>\n          </TypeId>\n          <Body>\n            <Argument>\n              <Name>Name</Name>\n              <DataType>\n                <Identifier>i=12</Identifier>\n              </DataType>\n              <ValueRank>-1</ValueRank>\n              <ArrayDimensions />\n            </Argument>\n          </Body>\n        </ExtensionObject>\n      </ListOfExtensionObject>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"i=16996\" BrowseName=\"OutputArguments\" ParentNodeId=\"i=16994\" DataType=\"i=296\" ValueRank=\"1\" ArrayDimensions=\"0\">\n    <DisplayName>OutputArguments</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=16994</Reference>\n    </References>\n    <Value>\n      <ListOfExtensionObject xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=297</Identifier>\n          </TypeId>\n          <Body>\n            <Argument>\n              <Name>DataSetFolderNodeId</Name>\n              <DataType>\n                <Identifier>i=17</Identifier>\n              </DataType>\n              <ValueRank>-1</ValueRank>\n              <ArrayDimensions />\n            </Argument>\n          </Body>\n        </ExtensionObject>\n      </ListOfExtensionObject>\n    </Value>\n  </UAVariable>\n  <UAMethod NodeId=\"i=16997\" BrowseName=\"RemoveDataSetFolder\" ParentNodeId=\"i=14477\">\n    <DisplayName>RemoveDataSetFolder</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=17007</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=80</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=14477</Reference>\n    </References>\n  </UAMethod>\n  <UAVariable NodeId=\"i=17007\" BrowseName=\"InputArguments\" ParentNodeId=\"i=16997\" DataType=\"i=296\" ValueRank=\"1\" ArrayDimensions=\"0\">\n    <DisplayName>InputArguments</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=16997</Reference>\n    </References>\n    <Value>\n      <ListOfExtensionObject xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=297</Identifier>\n          </TypeId>\n          <Body>\n            <Argument>\n              <Name>DataSetFolderNodeId</Name>\n              <DataType>\n                <Identifier>i=17</Identifier>\n              </DataType>\n              <ValueRank>-1</ValueRank>\n              <ArrayDimensions />\n            </Argument>\n          </Body>\n        </ExtensionObject>\n      </ListOfExtensionObject>\n    </Value>\n  </UAVariable>\n  <UAObjectType NodeId=\"i=14209\" BrowseName=\"PubSubConnectionType\">\n    <DisplayName>PubSubConnectionType</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=14595</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=17306</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=17485</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=14221</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=17203</Reference>\n      <Reference ReferenceType=\"i=18804\">i=17310</Reference>\n      <Reference ReferenceType=\"i=18805\">i=17325</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=14600</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=19241</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=17427</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=17465</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=14225</Reference>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=58</Reference>\n    </References>\n  </UAObjectType>\n  <UAVariable NodeId=\"i=14595\" BrowseName=\"PublisherId\" ParentNodeId=\"i=14209\">\n    <DisplayName>PublisherId</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=14209</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=17306\" BrowseName=\"TransportProfileUri\" ParentNodeId=\"i=14209\" DataType=\"String\">\n    <DisplayName>TransportProfileUri</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=17710</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=16309</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=14209</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=17710\" BrowseName=\"Selections\" ParentNodeId=\"i=17306\" ValueRank=\"1\" ArrayDimensions=\"0\">\n    <DisplayName>Selections</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=17306</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=17485\" BrowseName=\"ConnectionProperties\" ParentNodeId=\"i=14209\" DataType=\"i=14533\" ValueRank=\"1\" ArrayDimensions=\"0\">\n    <DisplayName>ConnectionProperties</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=14209</Reference>\n    </References>\n  </UAVariable>\n  <UAObject NodeId=\"i=14221\" BrowseName=\"Address\" ParentNodeId=\"i=14209\">\n    <DisplayName>Address</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasComponent\">i=17202</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=21145</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=14209</Reference>\n    </References>\n  </UAObject>\n  <UAVariable NodeId=\"i=17202\" BrowseName=\"NetworkInterface\" ParentNodeId=\"i=14221\" DataType=\"String\">\n    <DisplayName>NetworkInterface</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=17576</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=16309</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=14221</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=17576\" BrowseName=\"Selections\" ParentNodeId=\"i=17202\" ValueRank=\"1\" ArrayDimensions=\"0\">\n    <DisplayName>Selections</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=17202</Reference>\n    </References>\n  </UAVariable>\n  <UAObject NodeId=\"i=17203\" BrowseName=\"TransportSettings\" ParentNodeId=\"i=14209\">\n    <DisplayName>TransportSettings</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=17721</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=80</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=14209</Reference>\n    </References>\n  </UAObject>\n  <UAObject NodeId=\"i=17310\" BrowseName=\"&lt;WriterGroupName&gt;\" SymbolicName=\"WriterGroupName_Placeholder\" ParentNodeId=\"i=14209\">\n    <DisplayName>&lt;WriterGroupName&gt;</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=17311</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=17204</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=17486</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=17314</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=17214</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=17318</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=17319</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=17321</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=17322</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=17558</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=17725</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=11508</Reference>\n      <Reference ReferenceType=\"i=18804\" IsForward=\"false\">i=14209</Reference>\n    </References>\n  </UAObject>\n  <UAVariable NodeId=\"i=17311\" BrowseName=\"SecurityMode\" ParentNodeId=\"i=17310\" DataType=\"i=302\">\n    <DisplayName>SecurityMode</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=17310</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=17204\" BrowseName=\"MaxNetworkMessageSize\" ParentNodeId=\"i=17310\" DataType=\"UInt32\">\n    <DisplayName>MaxNetworkMessageSize</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=17310</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=17486\" BrowseName=\"GroupProperties\" ParentNodeId=\"i=17310\" DataType=\"i=14533\" ValueRank=\"1\" ArrayDimensions=\"0\">\n    <DisplayName>GroupProperties</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=17310</Reference>\n    </References>\n  </UAVariable>\n  <UAObject NodeId=\"i=17314\" BrowseName=\"Status\" ParentNodeId=\"i=17310\">\n    <DisplayName>Status</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasComponent\">i=17315</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=14643</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=17310</Reference>\n    </References>\n  </UAObject>\n  <UAVariable NodeId=\"i=17315\" BrowseName=\"State\" ParentNodeId=\"i=17314\" DataType=\"i=14647\">\n    <DisplayName>State</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=63</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=17314</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=17214\" BrowseName=\"WriterGroupId\" ParentNodeId=\"i=17310\" DataType=\"UInt16\">\n    <DisplayName>WriterGroupId</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=17310</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=17318\" BrowseName=\"PublishingInterval\" ParentNodeId=\"i=17310\" DataType=\"i=290\">\n    <DisplayName>PublishingInterval</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=17310</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=17319\" BrowseName=\"KeepAliveTime\" ParentNodeId=\"i=17310\" DataType=\"i=290\">\n    <DisplayName>KeepAliveTime</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=17310</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=17321\" BrowseName=\"Priority\" ParentNodeId=\"i=17310\" DataType=\"Byte\">\n    <DisplayName>Priority</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=17310</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=17322\" BrowseName=\"LocaleIds\" ParentNodeId=\"i=17310\" DataType=\"i=295\" ValueRank=\"1\" ArrayDimensions=\"0\">\n    <DisplayName>LocaleIds</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=17310</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=17558\" BrowseName=\"HeaderLayoutUri\" ParentNodeId=\"i=17310\" DataType=\"String\">\n    <DisplayName>HeaderLayoutUri</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=17310</Reference>\n    </References>\n  </UAVariable>\n  <UAObject NodeId=\"i=17325\" BrowseName=\"&lt;ReaderGroupName&gt;\" SymbolicName=\"ReaderGroupName_Placeholder\" ParentNodeId=\"i=14209\">\n    <DisplayName>&lt;ReaderGroupName&gt;</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=17326</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=17302</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=17487</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=17329</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=17999</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=11508</Reference>\n      <Reference ReferenceType=\"i=18805\" IsForward=\"false\">i=14209</Reference>\n    </References>\n  </UAObject>\n  <UAVariable NodeId=\"i=17326\" BrowseName=\"SecurityMode\" ParentNodeId=\"i=17325\" DataType=\"i=302\">\n    <DisplayName>SecurityMode</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=17325</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=17302\" BrowseName=\"MaxNetworkMessageSize\" ParentNodeId=\"i=17325\" DataType=\"UInt32\">\n    <DisplayName>MaxNetworkMessageSize</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=17325</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=17487\" BrowseName=\"GroupProperties\" ParentNodeId=\"i=17325\" DataType=\"i=14533\" ValueRank=\"1\" ArrayDimensions=\"0\">\n    <DisplayName>GroupProperties</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=17325</Reference>\n    </References>\n  </UAVariable>\n  <UAObject NodeId=\"i=17329\" BrowseName=\"Status\" ParentNodeId=\"i=17325\">\n    <DisplayName>Status</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasComponent\">i=17330</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=14643</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=17325</Reference>\n    </References>\n  </UAObject>\n  <UAVariable NodeId=\"i=17330\" BrowseName=\"State\" ParentNodeId=\"i=17329\" DataType=\"i=14647\">\n    <DisplayName>State</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=63</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=17329</Reference>\n    </References>\n  </UAVariable>\n  <UAObject NodeId=\"i=14600\" BrowseName=\"Status\" ParentNodeId=\"i=14209\">\n    <DisplayName>Status</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasComponent\">i=14601</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=14643</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=14209</Reference>\n    </References>\n  </UAObject>\n  <UAVariable NodeId=\"i=14601\" BrowseName=\"State\" ParentNodeId=\"i=14600\" DataType=\"i=14647\">\n    <DisplayName>State</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=63</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=14600</Reference>\n    </References>\n  </UAVariable>\n  <UAObject NodeId=\"i=19241\" BrowseName=\"Diagnostics\" ParentNodeId=\"i=14209\">\n    <DisplayName>Diagnostics</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasComponent\">i=19242</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=19243</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=19248</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=19253</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=19254</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=19255</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=19286</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=19786</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=80</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=14209</Reference>\n    </References>\n  </UAObject>\n  <UAVariable NodeId=\"i=19242\" BrowseName=\"DiagnosticsLevel\" ParentNodeId=\"i=19241\" DataType=\"i=19723\">\n    <DisplayName>DiagnosticsLevel</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=63</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=19241</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=19243\" BrowseName=\"TotalInformation\" ParentNodeId=\"i=19241\" DataType=\"UInt32\">\n    <DisplayName>TotalInformation</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=19244</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=19245</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=19246</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=19725</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=19241</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=19244\" BrowseName=\"Active\" ParentNodeId=\"i=19243\" DataType=\"Boolean\">\n    <DisplayName>Active</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=19243</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=19245\" BrowseName=\"Classification\" ParentNodeId=\"i=19243\" DataType=\"i=19730\">\n    <DisplayName>Classification</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=19243</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=19246\" BrowseName=\"DiagnosticsLevel\" ParentNodeId=\"i=19243\" DataType=\"i=19723\">\n    <DisplayName>DiagnosticsLevel</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=19243</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=19248\" BrowseName=\"TotalError\" ParentNodeId=\"i=19241\" DataType=\"UInt32\">\n    <DisplayName>TotalError</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=19249</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=19250</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=19251</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=19725</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=19241</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=19249\" BrowseName=\"Active\" ParentNodeId=\"i=19248\" DataType=\"Boolean\">\n    <DisplayName>Active</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=19248</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=19250\" BrowseName=\"Classification\" ParentNodeId=\"i=19248\" DataType=\"i=19730\">\n    <DisplayName>Classification</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=19248</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=19251\" BrowseName=\"DiagnosticsLevel\" ParentNodeId=\"i=19248\" DataType=\"i=19723\">\n    <DisplayName>DiagnosticsLevel</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=19248</Reference>\n    </References>\n  </UAVariable>\n  <UAMethod NodeId=\"i=19253\" BrowseName=\"Reset\" ParentNodeId=\"i=19241\" MethodDeclarationId=\"i=19689\">\n    <DisplayName>Reset</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=19241</Reference>\n    </References>\n  </UAMethod>\n  <UAVariable NodeId=\"i=19254\" BrowseName=\"SubError\" ParentNodeId=\"i=19241\" DataType=\"Boolean\">\n    <DisplayName>SubError</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=63</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=19241</Reference>\n    </References>\n  </UAVariable>\n  <UAObject NodeId=\"i=19255\" BrowseName=\"Counters\" ParentNodeId=\"i=19241\">\n    <DisplayName>Counters</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasComponent\">i=19256</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=19261</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=19266</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=19271</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=19276</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=19281</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=58</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=19241</Reference>\n    </References>\n  </UAObject>\n  <UAVariable NodeId=\"i=19256\" BrowseName=\"StateError\" ParentNodeId=\"i=19255\" DataType=\"UInt32\">\n    <DisplayName>StateError</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=19257</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=19258</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=19259</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=19725</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=19255</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=19257\" BrowseName=\"Active\" ParentNodeId=\"i=19256\" DataType=\"Boolean\">\n    <DisplayName>Active</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=19256</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=19258\" BrowseName=\"Classification\" ParentNodeId=\"i=19256\" DataType=\"i=19730\">\n    <DisplayName>Classification</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=19256</Reference>\n    </References>\n    <Value>\n      <Int32 xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">1</Int32>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"i=19259\" BrowseName=\"DiagnosticsLevel\" ParentNodeId=\"i=19256\" DataType=\"i=19723\">\n    <DisplayName>DiagnosticsLevel</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=19256</Reference>\n    </References>\n    <Value>\n      <Int32 xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">0</Int32>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"i=19261\" BrowseName=\"StateOperationalByMethod\" ParentNodeId=\"i=19255\" DataType=\"UInt32\">\n    <DisplayName>StateOperationalByMethod</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=19262</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=19263</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=19264</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=19725</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=19255</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=19262\" BrowseName=\"Active\" ParentNodeId=\"i=19261\" DataType=\"Boolean\">\n    <DisplayName>Active</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=19261</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=19263\" BrowseName=\"Classification\" ParentNodeId=\"i=19261\" DataType=\"i=19730\">\n    <DisplayName>Classification</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=19261</Reference>\n    </References>\n    <Value>\n      <Int32 xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">0</Int32>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"i=19264\" BrowseName=\"DiagnosticsLevel\" ParentNodeId=\"i=19261\" DataType=\"i=19723\">\n    <DisplayName>DiagnosticsLevel</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=19261</Reference>\n    </References>\n    <Value>\n      <Int32 xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">0</Int32>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"i=19266\" BrowseName=\"StateOperationalByParent\" ParentNodeId=\"i=19255\" DataType=\"UInt32\">\n    <DisplayName>StateOperationalByParent</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=19267</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=19268</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=19269</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=19725</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=19255</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=19267\" BrowseName=\"Active\" ParentNodeId=\"i=19266\" DataType=\"Boolean\">\n    <DisplayName>Active</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=19266</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=19268\" BrowseName=\"Classification\" ParentNodeId=\"i=19266\" DataType=\"i=19730\">\n    <DisplayName>Classification</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=19266</Reference>\n    </References>\n    <Value>\n      <Int32 xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">0</Int32>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"i=19269\" BrowseName=\"DiagnosticsLevel\" ParentNodeId=\"i=19266\" DataType=\"i=19723\">\n    <DisplayName>DiagnosticsLevel</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=19266</Reference>\n    </References>\n    <Value>\n      <Int32 xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">0</Int32>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"i=19271\" BrowseName=\"StateOperationalFromError\" ParentNodeId=\"i=19255\" DataType=\"UInt32\">\n    <DisplayName>StateOperationalFromError</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=19272</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=19273</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=19274</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=19725</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=19255</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=19272\" BrowseName=\"Active\" ParentNodeId=\"i=19271\" DataType=\"Boolean\">\n    <DisplayName>Active</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=19271</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=19273\" BrowseName=\"Classification\" ParentNodeId=\"i=19271\" DataType=\"i=19730\">\n    <DisplayName>Classification</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=19271</Reference>\n    </References>\n    <Value>\n      <Int32 xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">0</Int32>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"i=19274\" BrowseName=\"DiagnosticsLevel\" ParentNodeId=\"i=19271\" DataType=\"i=19723\">\n    <DisplayName>DiagnosticsLevel</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=19271</Reference>\n    </References>\n    <Value>\n      <Int32 xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">0</Int32>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"i=19276\" BrowseName=\"StatePausedByParent\" ParentNodeId=\"i=19255\" DataType=\"UInt32\">\n    <DisplayName>StatePausedByParent</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=19277</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=19278</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=19279</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=19725</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=19255</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=19277\" BrowseName=\"Active\" ParentNodeId=\"i=19276\" DataType=\"Boolean\">\n    <DisplayName>Active</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=19276</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=19278\" BrowseName=\"Classification\" ParentNodeId=\"i=19276\" DataType=\"i=19730\">\n    <DisplayName>Classification</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=19276</Reference>\n    </References>\n    <Value>\n      <Int32 xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">0</Int32>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"i=19279\" BrowseName=\"DiagnosticsLevel\" ParentNodeId=\"i=19276\" DataType=\"i=19723\">\n    <DisplayName>DiagnosticsLevel</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=19276</Reference>\n    </References>\n    <Value>\n      <Int32 xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">0</Int32>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"i=19281\" BrowseName=\"StateDisabledByMethod\" ParentNodeId=\"i=19255\" DataType=\"UInt32\">\n    <DisplayName>StateDisabledByMethod</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=19282</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=19283</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=19284</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=19725</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=19255</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=19282\" BrowseName=\"Active\" ParentNodeId=\"i=19281\" DataType=\"Boolean\">\n    <DisplayName>Active</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=19281</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=19283\" BrowseName=\"Classification\" ParentNodeId=\"i=19281\" DataType=\"i=19730\">\n    <DisplayName>Classification</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=19281</Reference>\n    </References>\n    <Value>\n      <Int32 xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">0</Int32>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"i=19284\" BrowseName=\"DiagnosticsLevel\" ParentNodeId=\"i=19281\" DataType=\"i=19723\">\n    <DisplayName>DiagnosticsLevel</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=19281</Reference>\n    </References>\n    <Value>\n      <Int32 xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">0</Int32>\n    </Value>\n  </UAVariable>\n  <UAObject NodeId=\"i=19286\" BrowseName=\"LiveValues\" ParentNodeId=\"i=19241\">\n    <DisplayName>LiveValues</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasComponent\">i=19287</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=58</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=19241</Reference>\n    </References>\n  </UAObject>\n  <UAVariable NodeId=\"i=19287\" BrowseName=\"ResolvedAddress\" ParentNodeId=\"i=19286\" DataType=\"String\">\n    <DisplayName>ResolvedAddress</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=19288</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=63</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=19286</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=19288\" BrowseName=\"DiagnosticsLevel\" ParentNodeId=\"i=19287\" DataType=\"i=19723\">\n    <DisplayName>DiagnosticsLevel</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=19287</Reference>\n    </References>\n    <Value>\n      <Int32 xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">0</Int32>\n    </Value>\n  </UAVariable>\n  <UAMethod NodeId=\"i=17427\" BrowseName=\"AddWriterGroup\" ParentNodeId=\"i=14209\">\n    <DisplayName>AddWriterGroup</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=17428</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=17456</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=80</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=14209</Reference>\n    </References>\n  </UAMethod>\n  <UAVariable NodeId=\"i=17428\" BrowseName=\"InputArguments\" ParentNodeId=\"i=17427\" DataType=\"i=296\" ValueRank=\"1\" ArrayDimensions=\"0\">\n    <DisplayName>InputArguments</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=17427</Reference>\n    </References>\n    <Value>\n      <ListOfExtensionObject xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=297</Identifier>\n          </TypeId>\n          <Body>\n            <Argument>\n              <Name>Configuration</Name>\n              <DataType>\n                <Identifier>i=15480</Identifier>\n              </DataType>\n              <ValueRank>-1</ValueRank>\n              <ArrayDimensions />\n            </Argument>\n          </Body>\n        </ExtensionObject>\n      </ListOfExtensionObject>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"i=17456\" BrowseName=\"OutputArguments\" ParentNodeId=\"i=17427\" DataType=\"i=296\" ValueRank=\"1\" ArrayDimensions=\"0\">\n    <DisplayName>OutputArguments</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=17427</Reference>\n    </References>\n    <Value>\n      <ListOfExtensionObject xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=297</Identifier>\n          </TypeId>\n          <Body>\n            <Argument>\n              <Name>GroupId</Name>\n              <DataType>\n                <Identifier>i=17</Identifier>\n              </DataType>\n              <ValueRank>-1</ValueRank>\n              <ArrayDimensions />\n            </Argument>\n          </Body>\n        </ExtensionObject>\n      </ListOfExtensionObject>\n    </Value>\n  </UAVariable>\n  <UAMethod NodeId=\"i=17465\" BrowseName=\"AddReaderGroup\" ParentNodeId=\"i=14209\">\n    <DisplayName>AddReaderGroup</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=17507</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=17508</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=80</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=14209</Reference>\n    </References>\n  </UAMethod>\n  <UAVariable NodeId=\"i=17507\" BrowseName=\"InputArguments\" ParentNodeId=\"i=17465\" DataType=\"i=296\" ValueRank=\"1\" ArrayDimensions=\"0\">\n    <DisplayName>InputArguments</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=17465</Reference>\n    </References>\n    <Value>\n      <ListOfExtensionObject xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=297</Identifier>\n          </TypeId>\n          <Body>\n            <Argument>\n              <Name>Configuration</Name>\n              <DataType>\n                <Identifier>i=15520</Identifier>\n              </DataType>\n              <ValueRank>-1</ValueRank>\n              <ArrayDimensions />\n            </Argument>\n          </Body>\n        </ExtensionObject>\n      </ListOfExtensionObject>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"i=17508\" BrowseName=\"OutputArguments\" ParentNodeId=\"i=17465\" DataType=\"i=296\" ValueRank=\"1\" ArrayDimensions=\"0\">\n    <DisplayName>OutputArguments</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=17465</Reference>\n    </References>\n    <Value>\n      <ListOfExtensionObject xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=297</Identifier>\n          </TypeId>\n          <Body>\n            <Argument>\n              <Name>GroupId</Name>\n              <DataType>\n                <Identifier>i=17</Identifier>\n              </DataType>\n              <ValueRank>-1</ValueRank>\n              <ArrayDimensions />\n            </Argument>\n          </Body>\n        </ExtensionObject>\n      </ListOfExtensionObject>\n    </Value>\n  </UAVariable>\n  <UAMethod NodeId=\"i=14225\" BrowseName=\"RemoveGroup\" ParentNodeId=\"i=14209\">\n    <DisplayName>RemoveGroup</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=14226</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=80</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=14209</Reference>\n    </References>\n  </UAMethod>\n  <UAVariable NodeId=\"i=14226\" BrowseName=\"InputArguments\" ParentNodeId=\"i=14225\" DataType=\"i=296\" ValueRank=\"1\" ArrayDimensions=\"0\">\n    <DisplayName>InputArguments</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=14225</Reference>\n    </References>\n    <Value>\n      <ListOfExtensionObject xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=297</Identifier>\n          </TypeId>\n          <Body>\n            <Argument>\n              <Name>GroupId</Name>\n              <DataType>\n                <Identifier>i=17</Identifier>\n              </DataType>\n              <ValueRank>-1</ValueRank>\n              <ArrayDimensions />\n            </Argument>\n          </Body>\n        </ExtensionObject>\n      </ListOfExtensionObject>\n    </Value>\n  </UAVariable>\n  <UAObjectType NodeId=\"i=17721\" BrowseName=\"ConnectionTransportType\" IsAbstract=\"true\">\n    <DisplayName>ConnectionTransportType</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=58</Reference>\n    </References>\n  </UAObjectType>\n  <UAObjectType NodeId=\"i=14232\" BrowseName=\"PubSubGroupType\" IsAbstract=\"true\">\n    <DisplayName>PubSubGroupType</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=15926</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=15927</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=15928</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=17724</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=17488</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=15265</Reference>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=58</Reference>\n    </References>\n  </UAObjectType>\n  <UAVariable NodeId=\"i=15926\" BrowseName=\"SecurityMode\" ParentNodeId=\"i=14232\" DataType=\"i=302\">\n    <DisplayName>SecurityMode</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=14232</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=15927\" BrowseName=\"SecurityGroupId\" ParentNodeId=\"i=14232\" DataType=\"String\">\n    <DisplayName>SecurityGroupId</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=80</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=14232</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=15928\" BrowseName=\"SecurityKeyServices\" ParentNodeId=\"i=14232\" DataType=\"i=312\" ValueRank=\"1\" ArrayDimensions=\"0\">\n    <DisplayName>SecurityKeyServices</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=80</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=14232</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=17724\" BrowseName=\"MaxNetworkMessageSize\" ParentNodeId=\"i=14232\" DataType=\"UInt32\">\n    <DisplayName>MaxNetworkMessageSize</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=14232</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=17488\" BrowseName=\"GroupProperties\" ParentNodeId=\"i=14232\" DataType=\"i=14533\" ValueRank=\"1\" ArrayDimensions=\"0\">\n    <DisplayName>GroupProperties</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=14232</Reference>\n    </References>\n  </UAVariable>\n  <UAObject NodeId=\"i=15265\" BrowseName=\"Status\" ParentNodeId=\"i=14232\">\n    <DisplayName>Status</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasComponent\">i=15266</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=14643</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=14232</Reference>\n    </References>\n  </UAObject>\n  <UAVariable NodeId=\"i=15266\" BrowseName=\"State\" ParentNodeId=\"i=15265\" DataType=\"i=14647\">\n    <DisplayName>State</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=63</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=15265</Reference>\n    </References>\n  </UAVariable>\n  <UAObjectType NodeId=\"i=17725\" BrowseName=\"WriterGroupType\">\n    <DisplayName>WriterGroupType</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=17736</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=17737</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=17738</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=17739</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=17740</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=17559</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=17741</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=17742</Reference>\n      <Reference ReferenceType=\"i=15296\">i=17743</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=17812</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=17969</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=17992</Reference>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=14232</Reference>\n    </References>\n  </UAObjectType>\n  <UAVariable NodeId=\"i=17736\" BrowseName=\"WriterGroupId\" ParentNodeId=\"i=17725\" DataType=\"UInt16\">\n    <DisplayName>WriterGroupId</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=17725</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=17737\" BrowseName=\"PublishingInterval\" ParentNodeId=\"i=17725\" DataType=\"i=290\">\n    <DisplayName>PublishingInterval</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=17725</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=17738\" BrowseName=\"KeepAliveTime\" ParentNodeId=\"i=17725\" DataType=\"i=290\">\n    <DisplayName>KeepAliveTime</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=17725</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=17739\" BrowseName=\"Priority\" ParentNodeId=\"i=17725\" DataType=\"Byte\">\n    <DisplayName>Priority</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=17725</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=17740\" BrowseName=\"LocaleIds\" ParentNodeId=\"i=17725\" DataType=\"i=295\" ValueRank=\"1\" ArrayDimensions=\"0\">\n    <DisplayName>LocaleIds</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=17725</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=17559\" BrowseName=\"HeaderLayoutUri\" ParentNodeId=\"i=17725\" DataType=\"String\">\n    <DisplayName>HeaderLayoutUri</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=17725</Reference>\n    </References>\n  </UAVariable>\n  <UAObject NodeId=\"i=17741\" BrowseName=\"TransportSettings\" ParentNodeId=\"i=17725\">\n    <DisplayName>TransportSettings</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=17997</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=80</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=17725</Reference>\n    </References>\n  </UAObject>\n  <UAObject NodeId=\"i=17742\" BrowseName=\"MessageSettings\" ParentNodeId=\"i=17725\">\n    <DisplayName>MessageSettings</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=17998</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=80</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=17725</Reference>\n    </References>\n  </UAObject>\n  <UAObject NodeId=\"i=17743\" BrowseName=\"&lt;DataSetWriterName&gt;\" SymbolicName=\"DataSetWriterName_Placeholder\" ParentNodeId=\"i=17725\">\n    <DisplayName>&lt;DataSetWriterName&gt;</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=17744</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=17745</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=17490</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=17749</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=15298</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=11508</Reference>\n      <Reference ReferenceType=\"i=15296\" IsForward=\"false\">i=17725</Reference>\n    </References>\n  </UAObject>\n  <UAVariable NodeId=\"i=17744\" BrowseName=\"DataSetWriterId\" ParentNodeId=\"i=17743\" DataType=\"UInt16\">\n    <DisplayName>DataSetWriterId</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=17743</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=17745\" BrowseName=\"DataSetFieldContentMask\" ParentNodeId=\"i=17743\" DataType=\"i=15583\">\n    <DisplayName>DataSetFieldContentMask</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=17743</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=17490\" BrowseName=\"DataSetWriterProperties\" ParentNodeId=\"i=17743\" DataType=\"i=14533\" ValueRank=\"1\" ArrayDimensions=\"0\">\n    <DisplayName>DataSetWriterProperties</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=17743</Reference>\n    </References>\n  </UAVariable>\n  <UAObject NodeId=\"i=17749\" BrowseName=\"Status\" ParentNodeId=\"i=17743\">\n    <DisplayName>Status</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasComponent\">i=17750</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=14643</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=17743</Reference>\n    </References>\n  </UAObject>\n  <UAVariable NodeId=\"i=17750\" BrowseName=\"State\" ParentNodeId=\"i=17749\" DataType=\"i=14647\">\n    <DisplayName>State</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=63</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=17749</Reference>\n    </References>\n  </UAVariable>\n  <UAObject NodeId=\"i=17812\" BrowseName=\"Diagnostics\" ParentNodeId=\"i=17725\">\n    <DisplayName>Diagnostics</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasComponent\">i=17813</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=17814</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=17819</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=17824</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=17825</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=17826</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=17858</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=19834</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=80</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=17725</Reference>\n    </References>\n  </UAObject>\n  <UAVariable NodeId=\"i=17813\" BrowseName=\"DiagnosticsLevel\" ParentNodeId=\"i=17812\" DataType=\"i=19723\">\n    <DisplayName>DiagnosticsLevel</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=63</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=17812</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=17814\" BrowseName=\"TotalInformation\" ParentNodeId=\"i=17812\" DataType=\"UInt32\">\n    <DisplayName>TotalInformation</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=17815</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=17816</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=17817</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=19725</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=17812</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=17815\" BrowseName=\"Active\" ParentNodeId=\"i=17814\" DataType=\"Boolean\">\n    <DisplayName>Active</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=17814</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=17816\" BrowseName=\"Classification\" ParentNodeId=\"i=17814\" DataType=\"i=19730\">\n    <DisplayName>Classification</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=17814</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=17817\" BrowseName=\"DiagnosticsLevel\" ParentNodeId=\"i=17814\" DataType=\"i=19723\">\n    <DisplayName>DiagnosticsLevel</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=17814</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=17819\" BrowseName=\"TotalError\" ParentNodeId=\"i=17812\" DataType=\"UInt32\">\n    <DisplayName>TotalError</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=17820</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=17821</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=17822</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=19725</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=17812</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=17820\" BrowseName=\"Active\" ParentNodeId=\"i=17819\" DataType=\"Boolean\">\n    <DisplayName>Active</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=17819</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=17821\" BrowseName=\"Classification\" ParentNodeId=\"i=17819\" DataType=\"i=19730\">\n    <DisplayName>Classification</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=17819</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=17822\" BrowseName=\"DiagnosticsLevel\" ParentNodeId=\"i=17819\" DataType=\"i=19723\">\n    <DisplayName>DiagnosticsLevel</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=17819</Reference>\n    </References>\n  </UAVariable>\n  <UAMethod NodeId=\"i=17824\" BrowseName=\"Reset\" ParentNodeId=\"i=17812\" MethodDeclarationId=\"i=19689\">\n    <DisplayName>Reset</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=17812</Reference>\n    </References>\n  </UAMethod>\n  <UAVariable NodeId=\"i=17825\" BrowseName=\"SubError\" ParentNodeId=\"i=17812\" DataType=\"Boolean\">\n    <DisplayName>SubError</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=63</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=17812</Reference>\n    </References>\n  </UAVariable>\n  <UAObject NodeId=\"i=17826\" BrowseName=\"Counters\" ParentNodeId=\"i=17812\">\n    <DisplayName>Counters</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasComponent\">i=17827</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=17832</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=17837</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=17842</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=17847</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=17853</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=17859</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=17874</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=17900</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=58</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=17812</Reference>\n    </References>\n  </UAObject>\n  <UAVariable NodeId=\"i=17827\" BrowseName=\"StateError\" ParentNodeId=\"i=17826\" DataType=\"UInt32\">\n    <DisplayName>StateError</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=17828</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=17829</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=17830</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=19725</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=17826</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=17828\" BrowseName=\"Active\" ParentNodeId=\"i=17827\" DataType=\"Boolean\">\n    <DisplayName>Active</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=17827</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=17829\" BrowseName=\"Classification\" ParentNodeId=\"i=17827\" DataType=\"i=19730\">\n    <DisplayName>Classification</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=17827</Reference>\n    </References>\n    <Value>\n      <Int32 xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">1</Int32>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"i=17830\" BrowseName=\"DiagnosticsLevel\" ParentNodeId=\"i=17827\" DataType=\"i=19723\">\n    <DisplayName>DiagnosticsLevel</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=17827</Reference>\n    </References>\n    <Value>\n      <Int32 xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">0</Int32>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"i=17832\" BrowseName=\"StateOperationalByMethod\" ParentNodeId=\"i=17826\" DataType=\"UInt32\">\n    <DisplayName>StateOperationalByMethod</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=17833</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=17834</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=17835</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=19725</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=17826</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=17833\" BrowseName=\"Active\" ParentNodeId=\"i=17832\" DataType=\"Boolean\">\n    <DisplayName>Active</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=17832</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=17834\" BrowseName=\"Classification\" ParentNodeId=\"i=17832\" DataType=\"i=19730\">\n    <DisplayName>Classification</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=17832</Reference>\n    </References>\n    <Value>\n      <Int32 xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">0</Int32>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"i=17835\" BrowseName=\"DiagnosticsLevel\" ParentNodeId=\"i=17832\" DataType=\"i=19723\">\n    <DisplayName>DiagnosticsLevel</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=17832</Reference>\n    </References>\n    <Value>\n      <Int32 xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">0</Int32>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"i=17837\" BrowseName=\"StateOperationalByParent\" ParentNodeId=\"i=17826\" DataType=\"UInt32\">\n    <DisplayName>StateOperationalByParent</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=17838</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=17839</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=17840</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=19725</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=17826</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=17838\" BrowseName=\"Active\" ParentNodeId=\"i=17837\" DataType=\"Boolean\">\n    <DisplayName>Active</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=17837</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=17839\" BrowseName=\"Classification\" ParentNodeId=\"i=17837\" DataType=\"i=19730\">\n    <DisplayName>Classification</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=17837</Reference>\n    </References>\n    <Value>\n      <Int32 xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">0</Int32>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"i=17840\" BrowseName=\"DiagnosticsLevel\" ParentNodeId=\"i=17837\" DataType=\"i=19723\">\n    <DisplayName>DiagnosticsLevel</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=17837</Reference>\n    </References>\n    <Value>\n      <Int32 xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">0</Int32>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"i=17842\" BrowseName=\"StateOperationalFromError\" ParentNodeId=\"i=17826\" DataType=\"UInt32\">\n    <DisplayName>StateOperationalFromError</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=17843</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=17844</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=17845</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=19725</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=17826</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=17843\" BrowseName=\"Active\" ParentNodeId=\"i=17842\" DataType=\"Boolean\">\n    <DisplayName>Active</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=17842</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=17844\" BrowseName=\"Classification\" ParentNodeId=\"i=17842\" DataType=\"i=19730\">\n    <DisplayName>Classification</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=17842</Reference>\n    </References>\n    <Value>\n      <Int32 xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">0</Int32>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"i=17845\" BrowseName=\"DiagnosticsLevel\" ParentNodeId=\"i=17842\" DataType=\"i=19723\">\n    <DisplayName>DiagnosticsLevel</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=17842</Reference>\n    </References>\n    <Value>\n      <Int32 xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">0</Int32>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"i=17847\" BrowseName=\"StatePausedByParent\" ParentNodeId=\"i=17826\" DataType=\"UInt32\">\n    <DisplayName>StatePausedByParent</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=17848</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=17849</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=17850</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=19725</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=17826</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=17848\" BrowseName=\"Active\" ParentNodeId=\"i=17847\" DataType=\"Boolean\">\n    <DisplayName>Active</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=17847</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=17849\" BrowseName=\"Classification\" ParentNodeId=\"i=17847\" DataType=\"i=19730\">\n    <DisplayName>Classification</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=17847</Reference>\n    </References>\n    <Value>\n      <Int32 xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">0</Int32>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"i=17850\" BrowseName=\"DiagnosticsLevel\" ParentNodeId=\"i=17847\" DataType=\"i=19723\">\n    <DisplayName>DiagnosticsLevel</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=17847</Reference>\n    </References>\n    <Value>\n      <Int32 xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">0</Int32>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"i=17853\" BrowseName=\"StateDisabledByMethod\" ParentNodeId=\"i=17826\" DataType=\"UInt32\">\n    <DisplayName>StateDisabledByMethod</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=17854</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=17855</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=17856</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=19725</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=17826</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=17854\" BrowseName=\"Active\" ParentNodeId=\"i=17853\" DataType=\"Boolean\">\n    <DisplayName>Active</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=17853</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=17855\" BrowseName=\"Classification\" ParentNodeId=\"i=17853\" DataType=\"i=19730\">\n    <DisplayName>Classification</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=17853</Reference>\n    </References>\n    <Value>\n      <Int32 xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">0</Int32>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"i=17856\" BrowseName=\"DiagnosticsLevel\" ParentNodeId=\"i=17853\" DataType=\"i=19723\">\n    <DisplayName>DiagnosticsLevel</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=17853</Reference>\n    </References>\n    <Value>\n      <Int32 xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">0</Int32>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"i=17859\" BrowseName=\"SentNetworkMessages\" ParentNodeId=\"i=17826\" DataType=\"UInt32\">\n    <DisplayName>SentNetworkMessages</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=17864</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=17871</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=17872</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=19725</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=17826</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=17864\" BrowseName=\"Active\" ParentNodeId=\"i=17859\" DataType=\"Boolean\">\n    <DisplayName>Active</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=17859</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=17871\" BrowseName=\"Classification\" ParentNodeId=\"i=17859\" DataType=\"i=19730\">\n    <DisplayName>Classification</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=17859</Reference>\n    </References>\n    <Value>\n      <Int32 xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">0</Int32>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"i=17872\" BrowseName=\"DiagnosticsLevel\" ParentNodeId=\"i=17859\" DataType=\"i=19723\">\n    <DisplayName>DiagnosticsLevel</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=17859</Reference>\n    </References>\n    <Value>\n      <Int32 xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">0</Int32>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"i=17874\" BrowseName=\"FailedTransmissions\" ParentNodeId=\"i=17826\" DataType=\"UInt32\">\n    <DisplayName>FailedTransmissions</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=17878</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=17885</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=17892</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=19725</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=17826</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=17878\" BrowseName=\"Active\" ParentNodeId=\"i=17874\" DataType=\"Boolean\">\n    <DisplayName>Active</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=17874</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=17885\" BrowseName=\"Classification\" ParentNodeId=\"i=17874\" DataType=\"i=19730\">\n    <DisplayName>Classification</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=17874</Reference>\n    </References>\n    <Value>\n      <Int32 xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">1</Int32>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"i=17892\" BrowseName=\"DiagnosticsLevel\" ParentNodeId=\"i=17874\" DataType=\"i=19723\">\n    <DisplayName>DiagnosticsLevel</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=17874</Reference>\n    </References>\n    <Value>\n      <Int32 xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">0</Int32>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"i=17900\" BrowseName=\"EncryptionErrors\" ParentNodeId=\"i=17826\" DataType=\"UInt32\">\n    <DisplayName>EncryptionErrors</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=17901</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=17902</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=17903</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=19725</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=17826</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=17901\" BrowseName=\"Active\" ParentNodeId=\"i=17900\" DataType=\"Boolean\">\n    <DisplayName>Active</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=17900</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=17902\" BrowseName=\"Classification\" ParentNodeId=\"i=17900\" DataType=\"i=19730\">\n    <DisplayName>Classification</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=17900</Reference>\n    </References>\n    <Value>\n      <Int32 xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">1</Int32>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"i=17903\" BrowseName=\"DiagnosticsLevel\" ParentNodeId=\"i=17900\" DataType=\"i=19723\">\n    <DisplayName>DiagnosticsLevel</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=17900</Reference>\n    </References>\n    <Value>\n      <Int32 xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">1</Int32>\n    </Value>\n  </UAVariable>\n  <UAObject NodeId=\"i=17858\" BrowseName=\"LiveValues\" ParentNodeId=\"i=17812\">\n    <DisplayName>LiveValues</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasComponent\">i=17913</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=17927</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=58</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=17812</Reference>\n    </References>\n  </UAObject>\n  <UAVariable NodeId=\"i=17913\" BrowseName=\"ConfiguredDataSetWriters\" ParentNodeId=\"i=17858\" DataType=\"UInt16\">\n    <DisplayName>ConfiguredDataSetWriters</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=17920</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=63</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=17858</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=17920\" BrowseName=\"DiagnosticsLevel\" ParentNodeId=\"i=17913\" DataType=\"i=19723\">\n    <DisplayName>DiagnosticsLevel</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=17913</Reference>\n    </References>\n    <Value>\n      <Int32 xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">0</Int32>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"i=17927\" BrowseName=\"OperationalDataSetWriters\" ParentNodeId=\"i=17858\" DataType=\"UInt16\">\n    <DisplayName>OperationalDataSetWriters</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=17934</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=63</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=17858</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=17934\" BrowseName=\"DiagnosticsLevel\" ParentNodeId=\"i=17927\" DataType=\"i=19723\">\n    <DisplayName>DiagnosticsLevel</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=17927</Reference>\n    </References>\n    <Value>\n      <Int32 xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">0</Int32>\n    </Value>\n  </UAVariable>\n  <UAMethod NodeId=\"i=17969\" BrowseName=\"AddDataSetWriter\" ParentNodeId=\"i=17725\">\n    <DisplayName>AddDataSetWriter</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=17976</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=17987</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=80</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=17725</Reference>\n    </References>\n  </UAMethod>\n  <UAVariable NodeId=\"i=17976\" BrowseName=\"InputArguments\" ParentNodeId=\"i=17969\" DataType=\"i=296\" ValueRank=\"1\" ArrayDimensions=\"0\">\n    <DisplayName>InputArguments</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=17969</Reference>\n    </References>\n    <Value>\n      <ListOfExtensionObject xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=297</Identifier>\n          </TypeId>\n          <Body>\n            <Argument>\n              <Name>Configuration</Name>\n              <DataType>\n                <Identifier>i=15597</Identifier>\n              </DataType>\n              <ValueRank>-1</ValueRank>\n              <ArrayDimensions />\n            </Argument>\n          </Body>\n        </ExtensionObject>\n      </ListOfExtensionObject>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"i=17987\" BrowseName=\"OutputArguments\" ParentNodeId=\"i=17969\" DataType=\"i=296\" ValueRank=\"1\" ArrayDimensions=\"0\">\n    <DisplayName>OutputArguments</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=17969</Reference>\n    </References>\n    <Value>\n      <ListOfExtensionObject xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=297</Identifier>\n          </TypeId>\n          <Body>\n            <Argument>\n              <Name>DataSetWriterNodeId</Name>\n              <DataType>\n                <Identifier>i=17</Identifier>\n              </DataType>\n              <ValueRank>-1</ValueRank>\n              <ArrayDimensions />\n            </Argument>\n          </Body>\n        </ExtensionObject>\n      </ListOfExtensionObject>\n    </Value>\n  </UAVariable>\n  <UAMethod NodeId=\"i=17992\" BrowseName=\"RemoveDataSetWriter\" ParentNodeId=\"i=17725\">\n    <DisplayName>RemoveDataSetWriter</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=17993</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=80</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=17725</Reference>\n    </References>\n  </UAMethod>\n  <UAVariable NodeId=\"i=17993\" BrowseName=\"InputArguments\" ParentNodeId=\"i=17992\" DataType=\"i=296\" ValueRank=\"1\" ArrayDimensions=\"0\">\n    <DisplayName>InputArguments</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=17992</Reference>\n    </References>\n    <Value>\n      <ListOfExtensionObject xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=297</Identifier>\n          </TypeId>\n          <Body>\n            <Argument>\n              <Name>DataSetWriterNodeId</Name>\n              <DataType>\n                <Identifier>i=17</Identifier>\n              </DataType>\n              <ValueRank>-1</ValueRank>\n              <ArrayDimensions />\n            </Argument>\n          </Body>\n        </ExtensionObject>\n      </ListOfExtensionObject>\n    </Value>\n  </UAVariable>\n  <UAReferenceType NodeId=\"i=15296\" BrowseName=\"HasDataSetWriter\">\n    <DisplayName>HasDataSetWriter</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=47</Reference>\n    </References>\n    <InverseName>IsWriterInGroup</InverseName>\n  </UAReferenceType>\n  <UAReferenceType NodeId=\"i=18804\" BrowseName=\"HasWriterGroup\">\n    <DisplayName>HasWriterGroup</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=47</Reference>\n    </References>\n    <InverseName>IsWriterGroupOf</InverseName>\n  </UAReferenceType>\n  <UAObjectType NodeId=\"i=17997\" BrowseName=\"WriterGroupTransportType\" IsAbstract=\"true\">\n    <DisplayName>WriterGroupTransportType</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=58</Reference>\n    </References>\n  </UAObjectType>\n  <UAObjectType NodeId=\"i=17998\" BrowseName=\"WriterGroupMessageType\" IsAbstract=\"true\">\n    <DisplayName>WriterGroupMessageType</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=58</Reference>\n    </References>\n  </UAObjectType>\n  <UAObjectType NodeId=\"i=17999\" BrowseName=\"ReaderGroupType\">\n    <DisplayName>ReaderGroupType</DisplayName>\n    <References>\n      <Reference ReferenceType=\"i=15297\">i=18076</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=21015</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=21080</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=21081</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=21082</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=21085</Reference>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=14232</Reference>\n    </References>\n  </UAObjectType>\n  <UAObject NodeId=\"i=18076\" BrowseName=\"&lt;DataSetReaderName&gt;\" SymbolicName=\"DataSetReaderName_Placeholder\" ParentNodeId=\"i=17999\">\n    <DisplayName>&lt;DataSetReaderName&gt;</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=18077</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=18078</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=18079</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=18080</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=18081</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=18082</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=17560</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=17562</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=17492</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=18088</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=21006</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=15306</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=11508</Reference>\n      <Reference ReferenceType=\"i=15297\" IsForward=\"false\">i=17999</Reference>\n    </References>\n  </UAObject>\n  <UAVariable NodeId=\"i=18077\" BrowseName=\"PublisherId\" ParentNodeId=\"i=18076\">\n    <DisplayName>PublisherId</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=18076</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=18078\" BrowseName=\"WriterGroupId\" ParentNodeId=\"i=18076\" DataType=\"UInt16\">\n    <DisplayName>WriterGroupId</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=18076</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=18079\" BrowseName=\"DataSetWriterId\" ParentNodeId=\"i=18076\" DataType=\"UInt16\">\n    <DisplayName>DataSetWriterId</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=18076</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=18080\" BrowseName=\"DataSetMetaData\" ParentNodeId=\"i=18076\" DataType=\"i=14523\">\n    <DisplayName>DataSetMetaData</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=18076</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=18081\" BrowseName=\"DataSetFieldContentMask\" ParentNodeId=\"i=18076\" DataType=\"i=15583\">\n    <DisplayName>DataSetFieldContentMask</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=18076</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=18082\" BrowseName=\"MessageReceiveTimeout\" ParentNodeId=\"i=18076\" DataType=\"i=290\">\n    <DisplayName>MessageReceiveTimeout</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=18076</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=17560\" BrowseName=\"KeyFrameCount\" ParentNodeId=\"i=18076\" DataType=\"UInt32\">\n    <DisplayName>KeyFrameCount</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=18076</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=17562\" BrowseName=\"HeaderLayoutUri\" ParentNodeId=\"i=18076\" DataType=\"String\">\n    <DisplayName>HeaderLayoutUri</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=18076</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=17492\" BrowseName=\"DataSetReaderProperties\" ParentNodeId=\"i=18076\" DataType=\"i=14533\" ValueRank=\"1\" ArrayDimensions=\"0\">\n    <DisplayName>DataSetReaderProperties</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=18076</Reference>\n    </References>\n  </UAVariable>\n  <UAObject NodeId=\"i=18088\" BrowseName=\"Status\" ParentNodeId=\"i=18076\">\n    <DisplayName>Status</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasComponent\">i=18089</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=14643</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=18076</Reference>\n    </References>\n  </UAObject>\n  <UAVariable NodeId=\"i=18089\" BrowseName=\"State\" ParentNodeId=\"i=18088\" DataType=\"i=14647\">\n    <DisplayName>State</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=63</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=18088</Reference>\n    </References>\n  </UAVariable>\n  <UAObject NodeId=\"i=21006\" BrowseName=\"SubscribedDataSet\" ParentNodeId=\"i=18076\">\n    <DisplayName>SubscribedDataSet</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=15108</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=18076</Reference>\n    </References>\n  </UAObject>\n  <UAObject NodeId=\"i=21015\" BrowseName=\"Diagnostics\" ParentNodeId=\"i=17999\">\n    <DisplayName>Diagnostics</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasComponent\">i=21016</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=21017</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=21022</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=21027</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=21028</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=21029</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=21060</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=19903</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=80</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=17999</Reference>\n    </References>\n  </UAObject>\n  <UAVariable NodeId=\"i=21016\" BrowseName=\"DiagnosticsLevel\" ParentNodeId=\"i=21015\" DataType=\"i=19723\">\n    <DisplayName>DiagnosticsLevel</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=63</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=21015</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=21017\" BrowseName=\"TotalInformation\" ParentNodeId=\"i=21015\" DataType=\"UInt32\">\n    <DisplayName>TotalInformation</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=21018</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=21019</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=21020</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=19725</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=21015</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=21018\" BrowseName=\"Active\" ParentNodeId=\"i=21017\" DataType=\"Boolean\">\n    <DisplayName>Active</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=21017</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=21019\" BrowseName=\"Classification\" ParentNodeId=\"i=21017\" DataType=\"i=19730\">\n    <DisplayName>Classification</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=21017</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=21020\" BrowseName=\"DiagnosticsLevel\" ParentNodeId=\"i=21017\" DataType=\"i=19723\">\n    <DisplayName>DiagnosticsLevel</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=21017</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=21022\" BrowseName=\"TotalError\" ParentNodeId=\"i=21015\" DataType=\"UInt32\">\n    <DisplayName>TotalError</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=21023</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=21024</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=21025</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=19725</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=21015</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=21023\" BrowseName=\"Active\" ParentNodeId=\"i=21022\" DataType=\"Boolean\">\n    <DisplayName>Active</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=21022</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=21024\" BrowseName=\"Classification\" ParentNodeId=\"i=21022\" DataType=\"i=19730\">\n    <DisplayName>Classification</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=21022</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=21025\" BrowseName=\"DiagnosticsLevel\" ParentNodeId=\"i=21022\" DataType=\"i=19723\">\n    <DisplayName>DiagnosticsLevel</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=21022</Reference>\n    </References>\n  </UAVariable>\n  <UAMethod NodeId=\"i=21027\" BrowseName=\"Reset\" ParentNodeId=\"i=21015\" MethodDeclarationId=\"i=19689\">\n    <DisplayName>Reset</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=21015</Reference>\n    </References>\n  </UAMethod>\n  <UAVariable NodeId=\"i=21028\" BrowseName=\"SubError\" ParentNodeId=\"i=21015\" DataType=\"Boolean\">\n    <DisplayName>SubError</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=63</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=21015</Reference>\n    </References>\n  </UAVariable>\n  <UAObject NodeId=\"i=21029\" BrowseName=\"Counters\" ParentNodeId=\"i=21015\">\n    <DisplayName>Counters</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasComponent\">i=21030</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=21035</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=21040</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=21045</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=21050</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=21055</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=21061</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=58</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=21015</Reference>\n    </References>\n  </UAObject>\n  <UAVariable NodeId=\"i=21030\" BrowseName=\"StateError\" ParentNodeId=\"i=21029\" DataType=\"UInt32\">\n    <DisplayName>StateError</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=21031</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=21032</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=21033</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=19725</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=21029</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=21031\" BrowseName=\"Active\" ParentNodeId=\"i=21030\" DataType=\"Boolean\">\n    <DisplayName>Active</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=21030</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=21032\" BrowseName=\"Classification\" ParentNodeId=\"i=21030\" DataType=\"i=19730\">\n    <DisplayName>Classification</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=21030</Reference>\n    </References>\n    <Value>\n      <Int32 xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">1</Int32>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"i=21033\" BrowseName=\"DiagnosticsLevel\" ParentNodeId=\"i=21030\" DataType=\"i=19723\">\n    <DisplayName>DiagnosticsLevel</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=21030</Reference>\n    </References>\n    <Value>\n      <Int32 xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">0</Int32>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"i=21035\" BrowseName=\"StateOperationalByMethod\" ParentNodeId=\"i=21029\" DataType=\"UInt32\">\n    <DisplayName>StateOperationalByMethod</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=21036</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=21037</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=21038</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=19725</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=21029</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=21036\" BrowseName=\"Active\" ParentNodeId=\"i=21035\" DataType=\"Boolean\">\n    <DisplayName>Active</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=21035</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=21037\" BrowseName=\"Classification\" ParentNodeId=\"i=21035\" DataType=\"i=19730\">\n    <DisplayName>Classification</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=21035</Reference>\n    </References>\n    <Value>\n      <Int32 xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">0</Int32>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"i=21038\" BrowseName=\"DiagnosticsLevel\" ParentNodeId=\"i=21035\" DataType=\"i=19723\">\n    <DisplayName>DiagnosticsLevel</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=21035</Reference>\n    </References>\n    <Value>\n      <Int32 xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">0</Int32>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"i=21040\" BrowseName=\"StateOperationalByParent\" ParentNodeId=\"i=21029\" DataType=\"UInt32\">\n    <DisplayName>StateOperationalByParent</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=21041</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=21042</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=21043</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=19725</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=21029</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=21041\" BrowseName=\"Active\" ParentNodeId=\"i=21040\" DataType=\"Boolean\">\n    <DisplayName>Active</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=21040</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=21042\" BrowseName=\"Classification\" ParentNodeId=\"i=21040\" DataType=\"i=19730\">\n    <DisplayName>Classification</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=21040</Reference>\n    </References>\n    <Value>\n      <Int32 xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">0</Int32>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"i=21043\" BrowseName=\"DiagnosticsLevel\" ParentNodeId=\"i=21040\" DataType=\"i=19723\">\n    <DisplayName>DiagnosticsLevel</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=21040</Reference>\n    </References>\n    <Value>\n      <Int32 xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">0</Int32>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"i=21045\" BrowseName=\"StateOperationalFromError\" ParentNodeId=\"i=21029\" DataType=\"UInt32\">\n    <DisplayName>StateOperationalFromError</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=21046</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=21047</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=21048</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=19725</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=21029</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=21046\" BrowseName=\"Active\" ParentNodeId=\"i=21045\" DataType=\"Boolean\">\n    <DisplayName>Active</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=21045</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=21047\" BrowseName=\"Classification\" ParentNodeId=\"i=21045\" DataType=\"i=19730\">\n    <DisplayName>Classification</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=21045</Reference>\n    </References>\n    <Value>\n      <Int32 xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">0</Int32>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"i=21048\" BrowseName=\"DiagnosticsLevel\" ParentNodeId=\"i=21045\" DataType=\"i=19723\">\n    <DisplayName>DiagnosticsLevel</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=21045</Reference>\n    </References>\n    <Value>\n      <Int32 xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">0</Int32>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"i=21050\" BrowseName=\"StatePausedByParent\" ParentNodeId=\"i=21029\" DataType=\"UInt32\">\n    <DisplayName>StatePausedByParent</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=21051</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=21052</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=21053</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=19725</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=21029</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=21051\" BrowseName=\"Active\" ParentNodeId=\"i=21050\" DataType=\"Boolean\">\n    <DisplayName>Active</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=21050</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=21052\" BrowseName=\"Classification\" ParentNodeId=\"i=21050\" DataType=\"i=19730\">\n    <DisplayName>Classification</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=21050</Reference>\n    </References>\n    <Value>\n      <Int32 xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">0</Int32>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"i=21053\" BrowseName=\"DiagnosticsLevel\" ParentNodeId=\"i=21050\" DataType=\"i=19723\">\n    <DisplayName>DiagnosticsLevel</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=21050</Reference>\n    </References>\n    <Value>\n      <Int32 xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">0</Int32>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"i=21055\" BrowseName=\"StateDisabledByMethod\" ParentNodeId=\"i=21029\" DataType=\"UInt32\">\n    <DisplayName>StateDisabledByMethod</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=21056</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=21057</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=21058</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=19725</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=21029</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=21056\" BrowseName=\"Active\" ParentNodeId=\"i=21055\" DataType=\"Boolean\">\n    <DisplayName>Active</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=21055</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=21057\" BrowseName=\"Classification\" ParentNodeId=\"i=21055\" DataType=\"i=19730\">\n    <DisplayName>Classification</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=21055</Reference>\n    </References>\n    <Value>\n      <Int32 xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">0</Int32>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"i=21058\" BrowseName=\"DiagnosticsLevel\" ParentNodeId=\"i=21055\" DataType=\"i=19723\">\n    <DisplayName>DiagnosticsLevel</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=21055</Reference>\n    </References>\n    <Value>\n      <Int32 xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">0</Int32>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"i=21061\" BrowseName=\"ReceivedNetworkMessages\" ParentNodeId=\"i=21029\" DataType=\"UInt32\">\n    <DisplayName>ReceivedNetworkMessages</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=21062</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=21063</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=21064</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=19725</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=21029</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=21062\" BrowseName=\"Active\" ParentNodeId=\"i=21061\" DataType=\"Boolean\">\n    <DisplayName>Active</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=21061</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=21063\" BrowseName=\"Classification\" ParentNodeId=\"i=21061\" DataType=\"i=19730\">\n    <DisplayName>Classification</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=21061</Reference>\n    </References>\n    <Value>\n      <Int32 xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">0</Int32>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"i=21064\" BrowseName=\"DiagnosticsLevel\" ParentNodeId=\"i=21061\" DataType=\"i=19723\">\n    <DisplayName>DiagnosticsLevel</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=21061</Reference>\n    </References>\n    <Value>\n      <Int32 xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">0</Int32>\n    </Value>\n  </UAVariable>\n  <UAObject NodeId=\"i=21060\" BrowseName=\"LiveValues\" ParentNodeId=\"i=21015\">\n    <DisplayName>LiveValues</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasComponent\">i=21076</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=21078</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=58</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=21015</Reference>\n    </References>\n  </UAObject>\n  <UAVariable NodeId=\"i=21076\" BrowseName=\"ConfiguredDataSetReaders\" ParentNodeId=\"i=21060\" DataType=\"UInt16\">\n    <DisplayName>ConfiguredDataSetReaders</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=21077</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=63</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=21060</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=21077\" BrowseName=\"DiagnosticsLevel\" ParentNodeId=\"i=21076\" DataType=\"i=19723\">\n    <DisplayName>DiagnosticsLevel</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=21076</Reference>\n    </References>\n    <Value>\n      <Int32 xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">0</Int32>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"i=21078\" BrowseName=\"OperationalDataSetReaders\" ParentNodeId=\"i=21060\" DataType=\"UInt16\">\n    <DisplayName>OperationalDataSetReaders</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=21079</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=63</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=21060</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=21079\" BrowseName=\"DiagnosticsLevel\" ParentNodeId=\"i=21078\" DataType=\"i=19723\">\n    <DisplayName>DiagnosticsLevel</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=21078</Reference>\n    </References>\n    <Value>\n      <Int32 xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">0</Int32>\n    </Value>\n  </UAVariable>\n  <UAObject NodeId=\"i=21080\" BrowseName=\"TransportSettings\" ParentNodeId=\"i=17999\">\n    <DisplayName>TransportSettings</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=21090</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=80</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=17999</Reference>\n    </References>\n  </UAObject>\n  <UAObject NodeId=\"i=21081\" BrowseName=\"MessageSettings\" ParentNodeId=\"i=17999\">\n    <DisplayName>MessageSettings</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=21091</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=80</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=17999</Reference>\n    </References>\n  </UAObject>\n  <UAMethod NodeId=\"i=21082\" BrowseName=\"AddDataSetReader\" ParentNodeId=\"i=17999\">\n    <DisplayName>AddDataSetReader</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=21083</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=21084</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=80</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=17999</Reference>\n    </References>\n  </UAMethod>\n  <UAVariable NodeId=\"i=21083\" BrowseName=\"InputArguments\" ParentNodeId=\"i=21082\" DataType=\"i=296\" ValueRank=\"1\" ArrayDimensions=\"0\">\n    <DisplayName>InputArguments</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=21082</Reference>\n    </References>\n    <Value>\n      <ListOfExtensionObject xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=297</Identifier>\n          </TypeId>\n          <Body>\n            <Argument>\n              <Name>Configuration</Name>\n              <DataType>\n                <Identifier>i=15623</Identifier>\n              </DataType>\n              <ValueRank>-1</ValueRank>\n              <ArrayDimensions />\n            </Argument>\n          </Body>\n        </ExtensionObject>\n      </ListOfExtensionObject>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"i=21084\" BrowseName=\"OutputArguments\" ParentNodeId=\"i=21082\" DataType=\"i=296\" ValueRank=\"1\" ArrayDimensions=\"0\">\n    <DisplayName>OutputArguments</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=21082</Reference>\n    </References>\n    <Value>\n      <ListOfExtensionObject xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=297</Identifier>\n          </TypeId>\n          <Body>\n            <Argument>\n              <Name>DataSetReaderNodeId</Name>\n              <DataType>\n                <Identifier>i=17</Identifier>\n              </DataType>\n              <ValueRank>-1</ValueRank>\n              <ArrayDimensions />\n            </Argument>\n          </Body>\n        </ExtensionObject>\n      </ListOfExtensionObject>\n    </Value>\n  </UAVariable>\n  <UAMethod NodeId=\"i=21085\" BrowseName=\"RemoveDataSetReader\" ParentNodeId=\"i=17999\">\n    <DisplayName>RemoveDataSetReader</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=21086</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=80</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=17999</Reference>\n    </References>\n  </UAMethod>\n  <UAVariable NodeId=\"i=21086\" BrowseName=\"InputArguments\" ParentNodeId=\"i=21085\" DataType=\"i=296\" ValueRank=\"1\" ArrayDimensions=\"0\">\n    <DisplayName>InputArguments</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=21085</Reference>\n    </References>\n    <Value>\n      <ListOfExtensionObject xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=297</Identifier>\n          </TypeId>\n          <Body>\n            <Argument>\n              <Name>DataSetReaderNodeId</Name>\n              <DataType>\n                <Identifier>i=17</Identifier>\n              </DataType>\n              <ValueRank>-1</ValueRank>\n              <ArrayDimensions />\n            </Argument>\n          </Body>\n        </ExtensionObject>\n      </ListOfExtensionObject>\n    </Value>\n  </UAVariable>\n  <UAReferenceType NodeId=\"i=15297\" BrowseName=\"HasDataSetReader\">\n    <DisplayName>HasDataSetReader</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=47</Reference>\n    </References>\n    <InverseName>IsReaderInGroup</InverseName>\n  </UAReferenceType>\n  <UAReferenceType NodeId=\"i=18805\" BrowseName=\"HasReaderGroup\">\n    <DisplayName>HasReaderGroup</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=47</Reference>\n    </References>\n    <InverseName>IsReaderGroupOf</InverseName>\n  </UAReferenceType>\n  <UAObjectType NodeId=\"i=21090\" BrowseName=\"ReaderGroupTransportType\" IsAbstract=\"true\">\n    <DisplayName>ReaderGroupTransportType</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=58</Reference>\n    </References>\n  </UAObjectType>\n  <UAObjectType NodeId=\"i=21091\" BrowseName=\"ReaderGroupMessageType\" IsAbstract=\"true\">\n    <DisplayName>ReaderGroupMessageType</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=58</Reference>\n    </References>\n  </UAObjectType>\n  <UAObjectType NodeId=\"i=15298\" BrowseName=\"DataSetWriterType\">\n    <DisplayName>DataSetWriterType</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=21092</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=21093</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=21094</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=17493</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=15303</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=21095</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=15299</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=19550</Reference>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=58</Reference>\n    </References>\n  </UAObjectType>\n  <UAVariable NodeId=\"i=21092\" BrowseName=\"DataSetWriterId\" ParentNodeId=\"i=15298\" DataType=\"UInt16\">\n    <DisplayName>DataSetWriterId</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=15298</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=21093\" BrowseName=\"DataSetFieldContentMask\" ParentNodeId=\"i=15298\" DataType=\"i=15583\">\n    <DisplayName>DataSetFieldContentMask</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=15298</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=21094\" BrowseName=\"KeyFrameCount\" ParentNodeId=\"i=15298\" DataType=\"UInt32\">\n    <DisplayName>KeyFrameCount</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=80</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=15298</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=17493\" BrowseName=\"DataSetWriterProperties\" ParentNodeId=\"i=15298\" DataType=\"i=14533\" ValueRank=\"1\" ArrayDimensions=\"0\">\n    <DisplayName>DataSetWriterProperties</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=15298</Reference>\n    </References>\n  </UAVariable>\n  <UAObject NodeId=\"i=15303\" BrowseName=\"TransportSettings\" ParentNodeId=\"i=15298\">\n    <DisplayName>TransportSettings</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=15305</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=80</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=15298</Reference>\n    </References>\n  </UAObject>\n  <UAObject NodeId=\"i=21095\" BrowseName=\"MessageSettings\" ParentNodeId=\"i=15298\">\n    <DisplayName>MessageSettings</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=21096</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=80</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=15298</Reference>\n    </References>\n  </UAObject>\n  <UAObject NodeId=\"i=15299\" BrowseName=\"Status\" ParentNodeId=\"i=15298\">\n    <DisplayName>Status</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasComponent\">i=15300</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=14643</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=15298</Reference>\n    </References>\n  </UAObject>\n  <UAVariable NodeId=\"i=15300\" BrowseName=\"State\" ParentNodeId=\"i=15299\" DataType=\"i=14647\">\n    <DisplayName>State</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=63</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=15299</Reference>\n    </References>\n  </UAVariable>\n  <UAObject NodeId=\"i=19550\" BrowseName=\"Diagnostics\" ParentNodeId=\"i=15298\">\n    <DisplayName>Diagnostics</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasComponent\">i=19551</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=19552</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=19557</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=19562</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=19563</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=19564</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=19595</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=19968</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=80</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=15298</Reference>\n    </References>\n  </UAObject>\n  <UAVariable NodeId=\"i=19551\" BrowseName=\"DiagnosticsLevel\" ParentNodeId=\"i=19550\" DataType=\"i=19723\">\n    <DisplayName>DiagnosticsLevel</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=63</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=19550</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=19552\" BrowseName=\"TotalInformation\" ParentNodeId=\"i=19550\" DataType=\"UInt32\">\n    <DisplayName>TotalInformation</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=19553</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=19554</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=19555</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=19725</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=19550</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=19553\" BrowseName=\"Active\" ParentNodeId=\"i=19552\" DataType=\"Boolean\">\n    <DisplayName>Active</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=19552</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=19554\" BrowseName=\"Classification\" ParentNodeId=\"i=19552\" DataType=\"i=19730\">\n    <DisplayName>Classification</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=19552</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=19555\" BrowseName=\"DiagnosticsLevel\" ParentNodeId=\"i=19552\" DataType=\"i=19723\">\n    <DisplayName>DiagnosticsLevel</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=19552</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=19557\" BrowseName=\"TotalError\" ParentNodeId=\"i=19550\" DataType=\"UInt32\">\n    <DisplayName>TotalError</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=19558</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=19559</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=19560</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=19725</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=19550</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=19558\" BrowseName=\"Active\" ParentNodeId=\"i=19557\" DataType=\"Boolean\">\n    <DisplayName>Active</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=19557</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=19559\" BrowseName=\"Classification\" ParentNodeId=\"i=19557\" DataType=\"i=19730\">\n    <DisplayName>Classification</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=19557</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=19560\" BrowseName=\"DiagnosticsLevel\" ParentNodeId=\"i=19557\" DataType=\"i=19723\">\n    <DisplayName>DiagnosticsLevel</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=19557</Reference>\n    </References>\n  </UAVariable>\n  <UAMethod NodeId=\"i=19562\" BrowseName=\"Reset\" ParentNodeId=\"i=19550\" MethodDeclarationId=\"i=19689\">\n    <DisplayName>Reset</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=19550</Reference>\n    </References>\n  </UAMethod>\n  <UAVariable NodeId=\"i=19563\" BrowseName=\"SubError\" ParentNodeId=\"i=19550\" DataType=\"Boolean\">\n    <DisplayName>SubError</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=63</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=19550</Reference>\n    </References>\n  </UAVariable>\n  <UAObject NodeId=\"i=19564\" BrowseName=\"Counters\" ParentNodeId=\"i=19550\">\n    <DisplayName>Counters</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasComponent\">i=19565</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=19570</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=19575</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=19580</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=19585</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=19590</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=19596</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=58</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=19550</Reference>\n    </References>\n  </UAObject>\n  <UAVariable NodeId=\"i=19565\" BrowseName=\"StateError\" ParentNodeId=\"i=19564\" DataType=\"UInt32\">\n    <DisplayName>StateError</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=19566</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=19567</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=19568</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=19725</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=19564</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=19566\" BrowseName=\"Active\" ParentNodeId=\"i=19565\" DataType=\"Boolean\">\n    <DisplayName>Active</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=19565</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=19567\" BrowseName=\"Classification\" ParentNodeId=\"i=19565\" DataType=\"i=19730\">\n    <DisplayName>Classification</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=19565</Reference>\n    </References>\n    <Value>\n      <Int32 xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">1</Int32>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"i=19568\" BrowseName=\"DiagnosticsLevel\" ParentNodeId=\"i=19565\" DataType=\"i=19723\">\n    <DisplayName>DiagnosticsLevel</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=19565</Reference>\n    </References>\n    <Value>\n      <Int32 xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">0</Int32>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"i=19570\" BrowseName=\"StateOperationalByMethod\" ParentNodeId=\"i=19564\" DataType=\"UInt32\">\n    <DisplayName>StateOperationalByMethod</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=19571</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=19572</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=19573</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=19725</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=19564</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=19571\" BrowseName=\"Active\" ParentNodeId=\"i=19570\" DataType=\"Boolean\">\n    <DisplayName>Active</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=19570</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=19572\" BrowseName=\"Classification\" ParentNodeId=\"i=19570\" DataType=\"i=19730\">\n    <DisplayName>Classification</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=19570</Reference>\n    </References>\n    <Value>\n      <Int32 xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">0</Int32>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"i=19573\" BrowseName=\"DiagnosticsLevel\" ParentNodeId=\"i=19570\" DataType=\"i=19723\">\n    <DisplayName>DiagnosticsLevel</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=19570</Reference>\n    </References>\n    <Value>\n      <Int32 xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">0</Int32>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"i=19575\" BrowseName=\"StateOperationalByParent\" ParentNodeId=\"i=19564\" DataType=\"UInt32\">\n    <DisplayName>StateOperationalByParent</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=19576</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=19577</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=19578</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=19725</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=19564</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=19576\" BrowseName=\"Active\" ParentNodeId=\"i=19575\" DataType=\"Boolean\">\n    <DisplayName>Active</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=19575</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=19577\" BrowseName=\"Classification\" ParentNodeId=\"i=19575\" DataType=\"i=19730\">\n    <DisplayName>Classification</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=19575</Reference>\n    </References>\n    <Value>\n      <Int32 xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">0</Int32>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"i=19578\" BrowseName=\"DiagnosticsLevel\" ParentNodeId=\"i=19575\" DataType=\"i=19723\">\n    <DisplayName>DiagnosticsLevel</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=19575</Reference>\n    </References>\n    <Value>\n      <Int32 xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">0</Int32>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"i=19580\" BrowseName=\"StateOperationalFromError\" ParentNodeId=\"i=19564\" DataType=\"UInt32\">\n    <DisplayName>StateOperationalFromError</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=19581</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=19582</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=19583</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=19725</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=19564</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=19581\" BrowseName=\"Active\" ParentNodeId=\"i=19580\" DataType=\"Boolean\">\n    <DisplayName>Active</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=19580</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=19582\" BrowseName=\"Classification\" ParentNodeId=\"i=19580\" DataType=\"i=19730\">\n    <DisplayName>Classification</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=19580</Reference>\n    </References>\n    <Value>\n      <Int32 xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">0</Int32>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"i=19583\" BrowseName=\"DiagnosticsLevel\" ParentNodeId=\"i=19580\" DataType=\"i=19723\">\n    <DisplayName>DiagnosticsLevel</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=19580</Reference>\n    </References>\n    <Value>\n      <Int32 xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">0</Int32>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"i=19585\" BrowseName=\"StatePausedByParent\" ParentNodeId=\"i=19564\" DataType=\"UInt32\">\n    <DisplayName>StatePausedByParent</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=19586</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=19587</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=19588</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=19725</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=19564</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=19586\" BrowseName=\"Active\" ParentNodeId=\"i=19585\" DataType=\"Boolean\">\n    <DisplayName>Active</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=19585</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=19587\" BrowseName=\"Classification\" ParentNodeId=\"i=19585\" DataType=\"i=19730\">\n    <DisplayName>Classification</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=19585</Reference>\n    </References>\n    <Value>\n      <Int32 xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">0</Int32>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"i=19588\" BrowseName=\"DiagnosticsLevel\" ParentNodeId=\"i=19585\" DataType=\"i=19723\">\n    <DisplayName>DiagnosticsLevel</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=19585</Reference>\n    </References>\n    <Value>\n      <Int32 xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">0</Int32>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"i=19590\" BrowseName=\"StateDisabledByMethod\" ParentNodeId=\"i=19564\" DataType=\"UInt32\">\n    <DisplayName>StateDisabledByMethod</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=19591</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=19592</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=19593</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=19725</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=19564</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=19591\" BrowseName=\"Active\" ParentNodeId=\"i=19590\" DataType=\"Boolean\">\n    <DisplayName>Active</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=19590</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=19592\" BrowseName=\"Classification\" ParentNodeId=\"i=19590\" DataType=\"i=19730\">\n    <DisplayName>Classification</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=19590</Reference>\n    </References>\n    <Value>\n      <Int32 xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">0</Int32>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"i=19593\" BrowseName=\"DiagnosticsLevel\" ParentNodeId=\"i=19590\" DataType=\"i=19723\">\n    <DisplayName>DiagnosticsLevel</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=19590</Reference>\n    </References>\n    <Value>\n      <Int32 xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">0</Int32>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"i=19596\" BrowseName=\"FailedDataSetMessages\" ParentNodeId=\"i=19564\" DataType=\"UInt32\">\n    <DisplayName>FailedDataSetMessages</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=19597</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=19598</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=19599</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=19725</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=19564</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=19597\" BrowseName=\"Active\" ParentNodeId=\"i=19596\" DataType=\"Boolean\">\n    <DisplayName>Active</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=19596</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=19598\" BrowseName=\"Classification\" ParentNodeId=\"i=19596\" DataType=\"i=19730\">\n    <DisplayName>Classification</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=19596</Reference>\n    </References>\n    <Value>\n      <Int32 xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">1</Int32>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"i=19599\" BrowseName=\"DiagnosticsLevel\" ParentNodeId=\"i=19596\" DataType=\"i=19723\">\n    <DisplayName>DiagnosticsLevel</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=19596</Reference>\n    </References>\n    <Value>\n      <Int32 xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">0</Int32>\n    </Value>\n  </UAVariable>\n  <UAObject NodeId=\"i=19595\" BrowseName=\"LiveValues\" ParentNodeId=\"i=19550\">\n    <DisplayName>LiveValues</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=58</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=19550</Reference>\n    </References>\n  </UAObject>\n  <UAObjectType NodeId=\"i=15305\" BrowseName=\"DataSetWriterTransportType\" IsAbstract=\"true\">\n    <DisplayName>DataSetWriterTransportType</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=58</Reference>\n    </References>\n  </UAObjectType>\n  <UAObjectType NodeId=\"i=21096\" BrowseName=\"DataSetWriterMessageType\" IsAbstract=\"true\">\n    <DisplayName>DataSetWriterMessageType</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=58</Reference>\n    </References>\n  </UAObjectType>\n  <UAObjectType NodeId=\"i=15306\" BrowseName=\"DataSetReaderType\">\n    <DisplayName>DataSetReaderType</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=21097</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=21098</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=21099</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=21100</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=21101</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=21102</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=17563</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=17564</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=15932</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=15933</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=15934</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=17494</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=15311</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=21103</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=15307</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=19609</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=15316</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=17386</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=17389</Reference>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=58</Reference>\n    </References>\n  </UAObjectType>\n  <UAVariable NodeId=\"i=21097\" BrowseName=\"PublisherId\" ParentNodeId=\"i=15306\">\n    <DisplayName>PublisherId</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=15306</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=21098\" BrowseName=\"WriterGroupId\" ParentNodeId=\"i=15306\" DataType=\"UInt16\">\n    <DisplayName>WriterGroupId</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=15306</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=21099\" BrowseName=\"DataSetWriterId\" ParentNodeId=\"i=15306\" DataType=\"UInt16\">\n    <DisplayName>DataSetWriterId</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=15306</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=21100\" BrowseName=\"DataSetMetaData\" ParentNodeId=\"i=15306\" DataType=\"i=14523\">\n    <DisplayName>DataSetMetaData</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=15306</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=21101\" BrowseName=\"DataSetFieldContentMask\" ParentNodeId=\"i=15306\" DataType=\"i=15583\">\n    <DisplayName>DataSetFieldContentMask</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=15306</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=21102\" BrowseName=\"MessageReceiveTimeout\" ParentNodeId=\"i=15306\" DataType=\"i=290\">\n    <DisplayName>MessageReceiveTimeout</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=15306</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=17563\" BrowseName=\"KeyFrameCount\" ParentNodeId=\"i=15306\" DataType=\"UInt32\">\n    <DisplayName>KeyFrameCount</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=15306</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=17564\" BrowseName=\"HeaderLayoutUri\" ParentNodeId=\"i=15306\" DataType=\"String\">\n    <DisplayName>HeaderLayoutUri</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=15306</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=15932\" BrowseName=\"SecurityMode\" ParentNodeId=\"i=15306\" DataType=\"i=302\">\n    <DisplayName>SecurityMode</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=80</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=15306</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=15933\" BrowseName=\"SecurityGroupId\" ParentNodeId=\"i=15306\" DataType=\"String\">\n    <DisplayName>SecurityGroupId</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=80</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=15306</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=15934\" BrowseName=\"SecurityKeyServices\" ParentNodeId=\"i=15306\" DataType=\"i=312\" ValueRank=\"1\" ArrayDimensions=\"0\">\n    <DisplayName>SecurityKeyServices</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=80</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=15306</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=17494\" BrowseName=\"DataSetReaderProperties\" ParentNodeId=\"i=15306\" DataType=\"i=14533\" ValueRank=\"1\" ArrayDimensions=\"0\">\n    <DisplayName>DataSetReaderProperties</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=15306</Reference>\n    </References>\n  </UAVariable>\n  <UAObject NodeId=\"i=15311\" BrowseName=\"TransportSettings\" ParentNodeId=\"i=15306\">\n    <DisplayName>TransportSettings</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=15319</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=80</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=15306</Reference>\n    </References>\n  </UAObject>\n  <UAObject NodeId=\"i=21103\" BrowseName=\"MessageSettings\" ParentNodeId=\"i=15306\">\n    <DisplayName>MessageSettings</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=21104</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=80</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=15306</Reference>\n    </References>\n  </UAObject>\n  <UAObject NodeId=\"i=15307\" BrowseName=\"Status\" ParentNodeId=\"i=15306\">\n    <DisplayName>Status</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasComponent\">i=15308</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=14643</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=15306</Reference>\n    </References>\n  </UAObject>\n  <UAVariable NodeId=\"i=15308\" BrowseName=\"State\" ParentNodeId=\"i=15307\" DataType=\"i=14647\">\n    <DisplayName>State</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=63</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=15307</Reference>\n    </References>\n  </UAVariable>\n  <UAObject NodeId=\"i=19609\" BrowseName=\"Diagnostics\" ParentNodeId=\"i=15306\">\n    <DisplayName>Diagnostics</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasComponent\">i=19610</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=19611</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=19616</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=19621</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=19622</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=19623</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=19654</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=20027</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=80</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=15306</Reference>\n    </References>\n  </UAObject>\n  <UAVariable NodeId=\"i=19610\" BrowseName=\"DiagnosticsLevel\" ParentNodeId=\"i=19609\" DataType=\"i=19723\">\n    <DisplayName>DiagnosticsLevel</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=63</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=19609</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=19611\" BrowseName=\"TotalInformation\" ParentNodeId=\"i=19609\" DataType=\"UInt32\">\n    <DisplayName>TotalInformation</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=19612</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=19613</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=19614</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=19725</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=19609</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=19612\" BrowseName=\"Active\" ParentNodeId=\"i=19611\" DataType=\"Boolean\">\n    <DisplayName>Active</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=19611</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=19613\" BrowseName=\"Classification\" ParentNodeId=\"i=19611\" DataType=\"i=19730\">\n    <DisplayName>Classification</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=19611</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=19614\" BrowseName=\"DiagnosticsLevel\" ParentNodeId=\"i=19611\" DataType=\"i=19723\">\n    <DisplayName>DiagnosticsLevel</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=19611</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=19616\" BrowseName=\"TotalError\" ParentNodeId=\"i=19609\" DataType=\"UInt32\">\n    <DisplayName>TotalError</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=19617</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=19618</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=19619</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=19725</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=19609</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=19617\" BrowseName=\"Active\" ParentNodeId=\"i=19616\" DataType=\"Boolean\">\n    <DisplayName>Active</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=19616</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=19618\" BrowseName=\"Classification\" ParentNodeId=\"i=19616\" DataType=\"i=19730\">\n    <DisplayName>Classification</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=19616</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=19619\" BrowseName=\"DiagnosticsLevel\" ParentNodeId=\"i=19616\" DataType=\"i=19723\">\n    <DisplayName>DiagnosticsLevel</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=19616</Reference>\n    </References>\n  </UAVariable>\n  <UAMethod NodeId=\"i=19621\" BrowseName=\"Reset\" ParentNodeId=\"i=19609\" MethodDeclarationId=\"i=19689\">\n    <DisplayName>Reset</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=19609</Reference>\n    </References>\n  </UAMethod>\n  <UAVariable NodeId=\"i=19622\" BrowseName=\"SubError\" ParentNodeId=\"i=19609\" DataType=\"Boolean\">\n    <DisplayName>SubError</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=63</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=19609</Reference>\n    </References>\n  </UAVariable>\n  <UAObject NodeId=\"i=19623\" BrowseName=\"Counters\" ParentNodeId=\"i=19609\">\n    <DisplayName>Counters</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasComponent\">i=19624</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=19629</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=19634</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=19639</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=19644</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=19649</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=19655</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=58</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=19609</Reference>\n    </References>\n  </UAObject>\n  <UAVariable NodeId=\"i=19624\" BrowseName=\"StateError\" ParentNodeId=\"i=19623\" DataType=\"UInt32\">\n    <DisplayName>StateError</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=19625</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=19626</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=19627</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=19725</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=19623</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=19625\" BrowseName=\"Active\" ParentNodeId=\"i=19624\" DataType=\"Boolean\">\n    <DisplayName>Active</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=19624</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=19626\" BrowseName=\"Classification\" ParentNodeId=\"i=19624\" DataType=\"i=19730\">\n    <DisplayName>Classification</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=19624</Reference>\n    </References>\n    <Value>\n      <Int32 xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">1</Int32>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"i=19627\" BrowseName=\"DiagnosticsLevel\" ParentNodeId=\"i=19624\" DataType=\"i=19723\">\n    <DisplayName>DiagnosticsLevel</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=19624</Reference>\n    </References>\n    <Value>\n      <Int32 xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">0</Int32>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"i=19629\" BrowseName=\"StateOperationalByMethod\" ParentNodeId=\"i=19623\" DataType=\"UInt32\">\n    <DisplayName>StateOperationalByMethod</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=19630</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=19631</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=19632</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=19725</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=19623</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=19630\" BrowseName=\"Active\" ParentNodeId=\"i=19629\" DataType=\"Boolean\">\n    <DisplayName>Active</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=19629</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=19631\" BrowseName=\"Classification\" ParentNodeId=\"i=19629\" DataType=\"i=19730\">\n    <DisplayName>Classification</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=19629</Reference>\n    </References>\n    <Value>\n      <Int32 xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">0</Int32>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"i=19632\" BrowseName=\"DiagnosticsLevel\" ParentNodeId=\"i=19629\" DataType=\"i=19723\">\n    <DisplayName>DiagnosticsLevel</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=19629</Reference>\n    </References>\n    <Value>\n      <Int32 xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">0</Int32>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"i=19634\" BrowseName=\"StateOperationalByParent\" ParentNodeId=\"i=19623\" DataType=\"UInt32\">\n    <DisplayName>StateOperationalByParent</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=19635</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=19636</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=19637</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=19725</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=19623</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=19635\" BrowseName=\"Active\" ParentNodeId=\"i=19634\" DataType=\"Boolean\">\n    <DisplayName>Active</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=19634</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=19636\" BrowseName=\"Classification\" ParentNodeId=\"i=19634\" DataType=\"i=19730\">\n    <DisplayName>Classification</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=19634</Reference>\n    </References>\n    <Value>\n      <Int32 xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">0</Int32>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"i=19637\" BrowseName=\"DiagnosticsLevel\" ParentNodeId=\"i=19634\" DataType=\"i=19723\">\n    <DisplayName>DiagnosticsLevel</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=19634</Reference>\n    </References>\n    <Value>\n      <Int32 xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">0</Int32>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"i=19639\" BrowseName=\"StateOperationalFromError\" ParentNodeId=\"i=19623\" DataType=\"UInt32\">\n    <DisplayName>StateOperationalFromError</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=19640</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=19641</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=19642</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=19725</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=19623</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=19640\" BrowseName=\"Active\" ParentNodeId=\"i=19639\" DataType=\"Boolean\">\n    <DisplayName>Active</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=19639</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=19641\" BrowseName=\"Classification\" ParentNodeId=\"i=19639\" DataType=\"i=19730\">\n    <DisplayName>Classification</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=19639</Reference>\n    </References>\n    <Value>\n      <Int32 xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">0</Int32>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"i=19642\" BrowseName=\"DiagnosticsLevel\" ParentNodeId=\"i=19639\" DataType=\"i=19723\">\n    <DisplayName>DiagnosticsLevel</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=19639</Reference>\n    </References>\n    <Value>\n      <Int32 xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">0</Int32>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"i=19644\" BrowseName=\"StatePausedByParent\" ParentNodeId=\"i=19623\" DataType=\"UInt32\">\n    <DisplayName>StatePausedByParent</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=19645</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=19646</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=19647</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=19725</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=19623</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=19645\" BrowseName=\"Active\" ParentNodeId=\"i=19644\" DataType=\"Boolean\">\n    <DisplayName>Active</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=19644</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=19646\" BrowseName=\"Classification\" ParentNodeId=\"i=19644\" DataType=\"i=19730\">\n    <DisplayName>Classification</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=19644</Reference>\n    </References>\n    <Value>\n      <Int32 xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">0</Int32>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"i=19647\" BrowseName=\"DiagnosticsLevel\" ParentNodeId=\"i=19644\" DataType=\"i=19723\">\n    <DisplayName>DiagnosticsLevel</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=19644</Reference>\n    </References>\n    <Value>\n      <Int32 xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">0</Int32>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"i=19649\" BrowseName=\"StateDisabledByMethod\" ParentNodeId=\"i=19623\" DataType=\"UInt32\">\n    <DisplayName>StateDisabledByMethod</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=19650</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=19651</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=19652</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=19725</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=19623</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=19650\" BrowseName=\"Active\" ParentNodeId=\"i=19649\" DataType=\"Boolean\">\n    <DisplayName>Active</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=19649</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=19651\" BrowseName=\"Classification\" ParentNodeId=\"i=19649\" DataType=\"i=19730\">\n    <DisplayName>Classification</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=19649</Reference>\n    </References>\n    <Value>\n      <Int32 xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">0</Int32>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"i=19652\" BrowseName=\"DiagnosticsLevel\" ParentNodeId=\"i=19649\" DataType=\"i=19723\">\n    <DisplayName>DiagnosticsLevel</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=19649</Reference>\n    </References>\n    <Value>\n      <Int32 xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">0</Int32>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"i=19655\" BrowseName=\"FailedDataSetMessages\" ParentNodeId=\"i=19623\" DataType=\"UInt32\">\n    <DisplayName>FailedDataSetMessages</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=19656</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=19657</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=19658</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=19725</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=19623</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=19656\" BrowseName=\"Active\" ParentNodeId=\"i=19655\" DataType=\"Boolean\">\n    <DisplayName>Active</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=19655</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=19657\" BrowseName=\"Classification\" ParentNodeId=\"i=19655\" DataType=\"i=19730\">\n    <DisplayName>Classification</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=19655</Reference>\n    </References>\n    <Value>\n      <Int32 xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">1</Int32>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"i=19658\" BrowseName=\"DiagnosticsLevel\" ParentNodeId=\"i=19655\" DataType=\"i=19723\">\n    <DisplayName>DiagnosticsLevel</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=19655</Reference>\n    </References>\n    <Value>\n      <Int32 xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">0</Int32>\n    </Value>\n  </UAVariable>\n  <UAObject NodeId=\"i=19654\" BrowseName=\"LiveValues\" ParentNodeId=\"i=19609\">\n    <DisplayName>LiveValues</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=58</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=19609</Reference>\n    </References>\n  </UAObject>\n  <UAObject NodeId=\"i=15316\" BrowseName=\"SubscribedDataSet\" ParentNodeId=\"i=15306\">\n    <DisplayName>SubscribedDataSet</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=15108</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=15306</Reference>\n    </References>\n  </UAObject>\n  <UAMethod NodeId=\"i=17386\" BrowseName=\"CreateTargetVariables\" ParentNodeId=\"i=15306\">\n    <DisplayName>CreateTargetVariables</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=17387</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=17388</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=80</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=15306</Reference>\n    </References>\n  </UAMethod>\n  <UAVariable NodeId=\"i=17387\" BrowseName=\"InputArguments\" ParentNodeId=\"i=17386\" DataType=\"i=296\" ValueRank=\"1\" ArrayDimensions=\"0\">\n    <DisplayName>InputArguments</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=17386</Reference>\n    </References>\n    <Value>\n      <ListOfExtensionObject xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=297</Identifier>\n          </TypeId>\n          <Body>\n            <Argument>\n              <Name>ConfigurationVersion</Name>\n              <DataType>\n                <Identifier>i=14593</Identifier>\n              </DataType>\n              <ValueRank>-1</ValueRank>\n              <ArrayDimensions />\n            </Argument>\n          </Body>\n        </ExtensionObject>\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=297</Identifier>\n          </TypeId>\n          <Body>\n            <Argument>\n              <Name>TargetVariablesToAdd</Name>\n              <DataType>\n                <Identifier>i=14744</Identifier>\n              </DataType>\n              <ValueRank>1</ValueRank>\n              <ArrayDimensions>\n                <UInt32>0</UInt32>\n              </ArrayDimensions>\n            </Argument>\n          </Body>\n        </ExtensionObject>\n      </ListOfExtensionObject>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"i=17388\" BrowseName=\"OutputArguments\" ParentNodeId=\"i=17386\" DataType=\"i=296\" ValueRank=\"1\" ArrayDimensions=\"0\">\n    <DisplayName>OutputArguments</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=17386</Reference>\n    </References>\n    <Value>\n      <ListOfExtensionObject xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=297</Identifier>\n          </TypeId>\n          <Body>\n            <Argument>\n              <Name>AddResults</Name>\n              <DataType>\n                <Identifier>i=19</Identifier>\n              </DataType>\n              <ValueRank>1</ValueRank>\n              <ArrayDimensions>\n                <UInt32>0</UInt32>\n              </ArrayDimensions>\n            </Argument>\n          </Body>\n        </ExtensionObject>\n      </ListOfExtensionObject>\n    </Value>\n  </UAVariable>\n  <UAMethod NodeId=\"i=17389\" BrowseName=\"CreateDataSetMirror\" ParentNodeId=\"i=15306\">\n    <DisplayName>CreateDataSetMirror</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=17390</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=17391</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=80</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=15306</Reference>\n    </References>\n  </UAMethod>\n  <UAVariable NodeId=\"i=17390\" BrowseName=\"InputArguments\" ParentNodeId=\"i=17389\" DataType=\"i=296\" ValueRank=\"1\" ArrayDimensions=\"0\">\n    <DisplayName>InputArguments</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=17389</Reference>\n    </References>\n    <Value>\n      <ListOfExtensionObject xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=297</Identifier>\n          </TypeId>\n          <Body>\n            <Argument>\n              <Name>ParentNodeName</Name>\n              <DataType>\n                <Identifier>i=12</Identifier>\n              </DataType>\n              <ValueRank>-1</ValueRank>\n              <ArrayDimensions />\n            </Argument>\n          </Body>\n        </ExtensionObject>\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=297</Identifier>\n          </TypeId>\n          <Body>\n            <Argument>\n              <Name>RolePermissions</Name>\n              <DataType>\n                <Identifier>i=96</Identifier>\n              </DataType>\n              <ValueRank>1</ValueRank>\n              <ArrayDimensions>\n                <UInt32>0</UInt32>\n              </ArrayDimensions>\n            </Argument>\n          </Body>\n        </ExtensionObject>\n      </ListOfExtensionObject>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"i=17391\" BrowseName=\"OutputArguments\" ParentNodeId=\"i=17389\" DataType=\"i=296\" ValueRank=\"1\" ArrayDimensions=\"0\">\n    <DisplayName>OutputArguments</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=17389</Reference>\n    </References>\n    <Value>\n      <ListOfExtensionObject xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=297</Identifier>\n          </TypeId>\n          <Body>\n            <Argument>\n              <Name>ParentNodeId</Name>\n              <DataType>\n                <Identifier>i=17</Identifier>\n              </DataType>\n              <ValueRank>-1</ValueRank>\n              <ArrayDimensions />\n            </Argument>\n          </Body>\n        </ExtensionObject>\n      </ListOfExtensionObject>\n    </Value>\n  </UAVariable>\n  <UAObjectType NodeId=\"i=15319\" BrowseName=\"DataSetReaderTransportType\" IsAbstract=\"true\">\n    <DisplayName>DataSetReaderTransportType</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=58</Reference>\n    </References>\n  </UAObjectType>\n  <UAObjectType NodeId=\"i=21104\" BrowseName=\"DataSetReaderMessageType\" IsAbstract=\"true\">\n    <DisplayName>DataSetReaderMessageType</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=58</Reference>\n    </References>\n  </UAObjectType>\n  <UAObjectType NodeId=\"i=15108\" BrowseName=\"SubscribedDataSetType\">\n    <DisplayName>SubscribedDataSetType</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=58</Reference>\n    </References>\n  </UAObjectType>\n  <UAObjectType NodeId=\"i=15111\" BrowseName=\"TargetVariablesType\">\n    <DisplayName>TargetVariablesType</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=15114</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=15115</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=15118</Reference>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=15108</Reference>\n    </References>\n  </UAObjectType>\n  <UAVariable NodeId=\"i=15114\" BrowseName=\"TargetVariables\" ParentNodeId=\"i=15111\" DataType=\"i=14744\" ValueRank=\"1\" ArrayDimensions=\"0\">\n    <DisplayName>TargetVariables</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=15111</Reference>\n    </References>\n  </UAVariable>\n  <UAMethod NodeId=\"i=15115\" BrowseName=\"AddTargetVariables\" ParentNodeId=\"i=15111\">\n    <DisplayName>AddTargetVariables</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=15116</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=15117</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=80</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=15111</Reference>\n    </References>\n  </UAMethod>\n  <UAVariable NodeId=\"i=15116\" BrowseName=\"InputArguments\" ParentNodeId=\"i=15115\" DataType=\"i=296\" ValueRank=\"1\" ArrayDimensions=\"0\">\n    <DisplayName>InputArguments</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=15115</Reference>\n    </References>\n    <Value>\n      <ListOfExtensionObject xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=297</Identifier>\n          </TypeId>\n          <Body>\n            <Argument>\n              <Name>ConfigurationVersion</Name>\n              <DataType>\n                <Identifier>i=14593</Identifier>\n              </DataType>\n              <ValueRank>-1</ValueRank>\n              <ArrayDimensions />\n            </Argument>\n          </Body>\n        </ExtensionObject>\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=297</Identifier>\n          </TypeId>\n          <Body>\n            <Argument>\n              <Name>TargetVariablesToAdd</Name>\n              <DataType>\n                <Identifier>i=14744</Identifier>\n              </DataType>\n              <ValueRank>1</ValueRank>\n              <ArrayDimensions>\n                <UInt32>0</UInt32>\n              </ArrayDimensions>\n            </Argument>\n          </Body>\n        </ExtensionObject>\n      </ListOfExtensionObject>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"i=15117\" BrowseName=\"OutputArguments\" ParentNodeId=\"i=15115\" DataType=\"i=296\" ValueRank=\"1\" ArrayDimensions=\"0\">\n    <DisplayName>OutputArguments</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=15115</Reference>\n    </References>\n    <Value>\n      <ListOfExtensionObject xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=297</Identifier>\n          </TypeId>\n          <Body>\n            <Argument>\n              <Name>AddResults</Name>\n              <DataType>\n                <Identifier>i=19</Identifier>\n              </DataType>\n              <ValueRank>1</ValueRank>\n              <ArrayDimensions>\n                <UInt32>0</UInt32>\n              </ArrayDimensions>\n            </Argument>\n          </Body>\n        </ExtensionObject>\n      </ListOfExtensionObject>\n    </Value>\n  </UAVariable>\n  <UAMethod NodeId=\"i=15118\" BrowseName=\"RemoveTargetVariables\" ParentNodeId=\"i=15111\">\n    <DisplayName>RemoveTargetVariables</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=15119</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=15120</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=80</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=15111</Reference>\n    </References>\n  </UAMethod>\n  <UAVariable NodeId=\"i=15119\" BrowseName=\"InputArguments\" ParentNodeId=\"i=15118\" DataType=\"i=296\" ValueRank=\"1\" ArrayDimensions=\"0\">\n    <DisplayName>InputArguments</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=15118</Reference>\n    </References>\n    <Value>\n      <ListOfExtensionObject xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=297</Identifier>\n          </TypeId>\n          <Body>\n            <Argument>\n              <Name>ConfigurationVersion</Name>\n              <DataType>\n                <Identifier>i=14593</Identifier>\n              </DataType>\n              <ValueRank>-1</ValueRank>\n              <ArrayDimensions />\n            </Argument>\n          </Body>\n        </ExtensionObject>\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=297</Identifier>\n          </TypeId>\n          <Body>\n            <Argument>\n              <Name>TargetsToRemove</Name>\n              <DataType>\n                <Identifier>i=7</Identifier>\n              </DataType>\n              <ValueRank>1</ValueRank>\n              <ArrayDimensions>\n                <UInt32>0</UInt32>\n              </ArrayDimensions>\n            </Argument>\n          </Body>\n        </ExtensionObject>\n      </ListOfExtensionObject>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"i=15120\" BrowseName=\"OutputArguments\" ParentNodeId=\"i=15118\" DataType=\"i=296\" ValueRank=\"1\" ArrayDimensions=\"0\">\n    <DisplayName>OutputArguments</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=15118</Reference>\n    </References>\n    <Value>\n      <ListOfExtensionObject xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=297</Identifier>\n          </TypeId>\n          <Body>\n            <Argument>\n              <Name>RemoveResults</Name>\n              <DataType>\n                <Identifier>i=19</Identifier>\n              </DataType>\n              <ValueRank>1</ValueRank>\n              <ArrayDimensions>\n                <UInt32>0</UInt32>\n              </ArrayDimensions>\n            </Argument>\n          </Body>\n        </ExtensionObject>\n      </ListOfExtensionObject>\n    </Value>\n  </UAVariable>\n  <UAObjectType NodeId=\"i=15127\" BrowseName=\"SubscribedDataSetMirrorType\">\n    <DisplayName>SubscribedDataSetMirrorType</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=15108</Reference>\n    </References>\n  </UAObjectType>\n  <UAObjectType NodeId=\"i=14643\" BrowseName=\"PubSubStatusType\">\n    <DisplayName>PubSubStatusType</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasComponent\">i=14644</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=14645</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=14646</Reference>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=58</Reference>\n    </References>\n  </UAObjectType>\n  <UAVariable NodeId=\"i=14644\" BrowseName=\"State\" ParentNodeId=\"i=14643\" DataType=\"i=14647\">\n    <DisplayName>State</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=63</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=14643</Reference>\n    </References>\n  </UAVariable>\n  <UAMethod NodeId=\"i=14645\" BrowseName=\"Enable\" ParentNodeId=\"i=14643\">\n    <DisplayName>Enable</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasModellingRule\">i=80</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=14643</Reference>\n    </References>\n  </UAMethod>\n  <UAMethod NodeId=\"i=14646\" BrowseName=\"Disable\" ParentNodeId=\"i=14643\">\n    <DisplayName>Disable</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasModellingRule\">i=80</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=14643</Reference>\n    </References>\n  </UAMethod>\n  <UAObjectType NodeId=\"i=19677\" BrowseName=\"PubSubDiagnosticsType\" IsAbstract=\"true\">\n    <DisplayName>PubSubDiagnosticsType</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasComponent\">i=19678</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=19679</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=19684</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=19689</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=19690</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=19691</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=19722</Reference>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=58</Reference>\n    </References>\n  </UAObjectType>\n  <UAVariable NodeId=\"i=19678\" BrowseName=\"DiagnosticsLevel\" ParentNodeId=\"i=19677\" DataType=\"i=19723\">\n    <DisplayName>DiagnosticsLevel</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=63</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=19677</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=19679\" BrowseName=\"TotalInformation\" ParentNodeId=\"i=19677\" DataType=\"UInt32\">\n    <DisplayName>TotalInformation</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=19680</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=19681</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=19682</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=19725</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=19677</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=19680\" BrowseName=\"Active\" ParentNodeId=\"i=19679\" DataType=\"Boolean\">\n    <DisplayName>Active</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=19679</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=19681\" BrowseName=\"Classification\" ParentNodeId=\"i=19679\" DataType=\"i=19730\">\n    <DisplayName>Classification</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=19679</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=19682\" BrowseName=\"DiagnosticsLevel\" ParentNodeId=\"i=19679\" DataType=\"i=19723\">\n    <DisplayName>DiagnosticsLevel</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=19679</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=19684\" BrowseName=\"TotalError\" ParentNodeId=\"i=19677\" DataType=\"UInt32\">\n    <DisplayName>TotalError</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=19685</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=19686</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=19687</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=19725</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=19677</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=19685\" BrowseName=\"Active\" ParentNodeId=\"i=19684\" DataType=\"Boolean\">\n    <DisplayName>Active</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=19684</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=19686\" BrowseName=\"Classification\" ParentNodeId=\"i=19684\" DataType=\"i=19730\">\n    <DisplayName>Classification</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=19684</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=19687\" BrowseName=\"DiagnosticsLevel\" ParentNodeId=\"i=19684\" DataType=\"i=19723\">\n    <DisplayName>DiagnosticsLevel</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=19684</Reference>\n    </References>\n  </UAVariable>\n  <UAMethod NodeId=\"i=19689\" BrowseName=\"Reset\" ParentNodeId=\"i=19677\">\n    <DisplayName>Reset</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=19677</Reference>\n    </References>\n  </UAMethod>\n  <UAVariable NodeId=\"i=19690\" BrowseName=\"SubError\" ParentNodeId=\"i=19677\" DataType=\"Boolean\">\n    <DisplayName>SubError</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=63</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=19677</Reference>\n    </References>\n  </UAVariable>\n  <UAObject NodeId=\"i=19691\" BrowseName=\"Counters\" ParentNodeId=\"i=19677\">\n    <DisplayName>Counters</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasComponent\">i=19692</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=19697</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=19702</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=19707</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=19712</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=19717</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=58</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=19677</Reference>\n    </References>\n  </UAObject>\n  <UAVariable NodeId=\"i=19692\" BrowseName=\"StateError\" ParentNodeId=\"i=19691\" DataType=\"UInt32\">\n    <DisplayName>StateError</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=19693</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=19694</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=19695</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=19725</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=19691</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=19693\" BrowseName=\"Active\" ParentNodeId=\"i=19692\" DataType=\"Boolean\">\n    <DisplayName>Active</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=19692</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=19694\" BrowseName=\"Classification\" ParentNodeId=\"i=19692\" DataType=\"i=19730\">\n    <DisplayName>Classification</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=19692</Reference>\n    </References>\n    <Value>\n      <Int32 xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">1</Int32>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"i=19695\" BrowseName=\"DiagnosticsLevel\" ParentNodeId=\"i=19692\" DataType=\"i=19723\">\n    <DisplayName>DiagnosticsLevel</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=19692</Reference>\n    </References>\n    <Value>\n      <Int32 xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">0</Int32>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"i=19697\" BrowseName=\"StateOperationalByMethod\" ParentNodeId=\"i=19691\" DataType=\"UInt32\">\n    <DisplayName>StateOperationalByMethod</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=19698</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=19699</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=19700</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=19725</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=19691</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=19698\" BrowseName=\"Active\" ParentNodeId=\"i=19697\" DataType=\"Boolean\">\n    <DisplayName>Active</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=19697</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=19699\" BrowseName=\"Classification\" ParentNodeId=\"i=19697\" DataType=\"i=19730\">\n    <DisplayName>Classification</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=19697</Reference>\n    </References>\n    <Value>\n      <Int32 xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">0</Int32>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"i=19700\" BrowseName=\"DiagnosticsLevel\" ParentNodeId=\"i=19697\" DataType=\"i=19723\">\n    <DisplayName>DiagnosticsLevel</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=19697</Reference>\n    </References>\n    <Value>\n      <Int32 xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">0</Int32>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"i=19702\" BrowseName=\"StateOperationalByParent\" ParentNodeId=\"i=19691\" DataType=\"UInt32\">\n    <DisplayName>StateOperationalByParent</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=19703</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=19704</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=19705</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=19725</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=19691</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=19703\" BrowseName=\"Active\" ParentNodeId=\"i=19702\" DataType=\"Boolean\">\n    <DisplayName>Active</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=19702</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=19704\" BrowseName=\"Classification\" ParentNodeId=\"i=19702\" DataType=\"i=19730\">\n    <DisplayName>Classification</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=19702</Reference>\n    </References>\n    <Value>\n      <Int32 xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">0</Int32>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"i=19705\" BrowseName=\"DiagnosticsLevel\" ParentNodeId=\"i=19702\" DataType=\"i=19723\">\n    <DisplayName>DiagnosticsLevel</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=19702</Reference>\n    </References>\n    <Value>\n      <Int32 xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">0</Int32>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"i=19707\" BrowseName=\"StateOperationalFromError\" ParentNodeId=\"i=19691\" DataType=\"UInt32\">\n    <DisplayName>StateOperationalFromError</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=19708</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=19709</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=19710</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=19725</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=19691</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=19708\" BrowseName=\"Active\" ParentNodeId=\"i=19707\" DataType=\"Boolean\">\n    <DisplayName>Active</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=19707</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=19709\" BrowseName=\"Classification\" ParentNodeId=\"i=19707\" DataType=\"i=19730\">\n    <DisplayName>Classification</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=19707</Reference>\n    </References>\n    <Value>\n      <Int32 xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">0</Int32>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"i=19710\" BrowseName=\"DiagnosticsLevel\" ParentNodeId=\"i=19707\" DataType=\"i=19723\">\n    <DisplayName>DiagnosticsLevel</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=19707</Reference>\n    </References>\n    <Value>\n      <Int32 xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">0</Int32>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"i=19712\" BrowseName=\"StatePausedByParent\" ParentNodeId=\"i=19691\" DataType=\"UInt32\">\n    <DisplayName>StatePausedByParent</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=19713</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=19714</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=19715</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=19725</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=19691</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=19713\" BrowseName=\"Active\" ParentNodeId=\"i=19712\" DataType=\"Boolean\">\n    <DisplayName>Active</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=19712</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=19714\" BrowseName=\"Classification\" ParentNodeId=\"i=19712\" DataType=\"i=19730\">\n    <DisplayName>Classification</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=19712</Reference>\n    </References>\n    <Value>\n      <Int32 xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">0</Int32>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"i=19715\" BrowseName=\"DiagnosticsLevel\" ParentNodeId=\"i=19712\" DataType=\"i=19723\">\n    <DisplayName>DiagnosticsLevel</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=19712</Reference>\n    </References>\n    <Value>\n      <Int32 xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">0</Int32>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"i=19717\" BrowseName=\"StateDisabledByMethod\" ParentNodeId=\"i=19691\" DataType=\"UInt32\">\n    <DisplayName>StateDisabledByMethod</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=19718</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=19719</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=19720</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=19725</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=19691</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=19718\" BrowseName=\"Active\" ParentNodeId=\"i=19717\" DataType=\"Boolean\">\n    <DisplayName>Active</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=19717</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=19719\" BrowseName=\"Classification\" ParentNodeId=\"i=19717\" DataType=\"i=19730\">\n    <DisplayName>Classification</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=19717</Reference>\n    </References>\n    <Value>\n      <Int32 xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">0</Int32>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"i=19720\" BrowseName=\"DiagnosticsLevel\" ParentNodeId=\"i=19717\" DataType=\"i=19723\">\n    <DisplayName>DiagnosticsLevel</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=19717</Reference>\n    </References>\n    <Value>\n      <Int32 xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">0</Int32>\n    </Value>\n  </UAVariable>\n  <UAObject NodeId=\"i=19722\" BrowseName=\"LiveValues\" ParentNodeId=\"i=19677\">\n    <DisplayName>LiveValues</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=58</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=19677</Reference>\n    </References>\n  </UAObject>\n  <UADataType NodeId=\"i=19723\" BrowseName=\"DiagnosticsLevel\">\n    <DisplayName>DiagnosticsLevel</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=19724</Reference>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=29</Reference>\n    </References>\n    <Definition Name=\"DiagnosticsLevel\">\n      <Field Name=\"Basic\" Value=\"0\" />\n      <Field Name=\"Advanced\" Value=\"1\" />\n      <Field Name=\"Info\" Value=\"2\" />\n      <Field Name=\"Log\" Value=\"3\" />\n      <Field Name=\"Debug\" Value=\"4\" />\n    </Definition>\n  </UADataType>\n  <UAVariable NodeId=\"i=19724\" BrowseName=\"EnumStrings\" ParentNodeId=\"i=19723\" DataType=\"LocalizedText\" ValueRank=\"1\" ArrayDimensions=\"0\">\n    <DisplayName>EnumStrings</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=19723</Reference>\n    </References>\n    <Value>\n      <ListOfLocalizedText xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <LocalizedText>\n          <Text>Basic</Text>\n        </LocalizedText>\n        <LocalizedText>\n          <Text>Advanced</Text>\n        </LocalizedText>\n        <LocalizedText>\n          <Text>Info</Text>\n        </LocalizedText>\n        <LocalizedText>\n          <Text>Log</Text>\n        </LocalizedText>\n        <LocalizedText>\n          <Text>Debug</Text>\n        </LocalizedText>\n      </ListOfLocalizedText>\n    </Value>\n  </UAVariable>\n  <UAVariableType NodeId=\"i=19725\" BrowseName=\"PubSubDiagnosticsCounterType\" DataType=\"UInt32\">\n    <DisplayName>PubSubDiagnosticsCounterType</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=19726</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=19727</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=19728</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=19729</Reference>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=63</Reference>\n    </References>\n  </UAVariableType>\n  <UAVariable NodeId=\"i=19726\" BrowseName=\"Active\" ParentNodeId=\"i=19725\" DataType=\"Boolean\">\n    <DisplayName>Active</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=19725</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=19727\" BrowseName=\"Classification\" ParentNodeId=\"i=19725\" DataType=\"i=19730\">\n    <DisplayName>Classification</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=19725</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=19728\" BrowseName=\"DiagnosticsLevel\" ParentNodeId=\"i=19725\" DataType=\"i=19723\">\n    <DisplayName>DiagnosticsLevel</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=19725</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=19729\" BrowseName=\"TimeFirstChange\" ParentNodeId=\"i=19725\" DataType=\"DateTime\">\n    <DisplayName>TimeFirstChange</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=80</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=19725</Reference>\n    </References>\n  </UAVariable>\n  <UADataType NodeId=\"i=19730\" BrowseName=\"PubSubDiagnosticsCounterClassification\">\n    <DisplayName>PubSubDiagnosticsCounterClassification</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=19731</Reference>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=29</Reference>\n    </References>\n    <Definition Name=\"PubSubDiagnosticsCounterClassification\">\n      <Field Name=\"Information\" Value=\"0\" />\n      <Field Name=\"Error\" Value=\"1\" />\n    </Definition>\n  </UADataType>\n  <UAVariable NodeId=\"i=19731\" BrowseName=\"EnumStrings\" ParentNodeId=\"i=19730\" DataType=\"LocalizedText\" ValueRank=\"1\" ArrayDimensions=\"0\">\n    <DisplayName>EnumStrings</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=19730</Reference>\n    </References>\n    <Value>\n      <ListOfLocalizedText xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <LocalizedText>\n          <Text>Information</Text>\n        </LocalizedText>\n        <LocalizedText>\n          <Text>Error</Text>\n        </LocalizedText>\n      </ListOfLocalizedText>\n    </Value>\n  </UAVariable>\n  <UAObjectType NodeId=\"i=19732\" BrowseName=\"PubSubDiagnosticsRootType\">\n    <DisplayName>PubSubDiagnosticsRootType</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasComponent\">i=19777</Reference>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=19677</Reference>\n    </References>\n  </UAObjectType>\n  <UAObject NodeId=\"i=19777\" BrowseName=\"LiveValues\" ParentNodeId=\"i=19732\">\n    <DisplayName>LiveValues</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasComponent\">i=19778</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=19780</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=19782</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=19784</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=58</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=19732</Reference>\n    </References>\n  </UAObject>\n  <UAVariable NodeId=\"i=19778\" BrowseName=\"ConfiguredDataSetWriters\" ParentNodeId=\"i=19777\" DataType=\"UInt16\">\n    <DisplayName>ConfiguredDataSetWriters</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=19779</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=63</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=19777</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=19779\" BrowseName=\"DiagnosticsLevel\" ParentNodeId=\"i=19778\" DataType=\"i=19723\">\n    <DisplayName>DiagnosticsLevel</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=19778</Reference>\n    </References>\n    <Value>\n      <Int32 xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">0</Int32>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"i=19780\" BrowseName=\"ConfiguredDataSetReaders\" ParentNodeId=\"i=19777\" DataType=\"UInt16\">\n    <DisplayName>ConfiguredDataSetReaders</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=19781</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=63</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=19777</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=19781\" BrowseName=\"DiagnosticsLevel\" ParentNodeId=\"i=19780\" DataType=\"i=19723\">\n    <DisplayName>DiagnosticsLevel</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=19780</Reference>\n    </References>\n    <Value>\n      <Int32 xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">0</Int32>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"i=19782\" BrowseName=\"OperationalDataSetWriters\" ParentNodeId=\"i=19777\" DataType=\"UInt16\">\n    <DisplayName>OperationalDataSetWriters</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=19783</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=63</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=19777</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=19783\" BrowseName=\"DiagnosticsLevel\" ParentNodeId=\"i=19782\" DataType=\"i=19723\">\n    <DisplayName>DiagnosticsLevel</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=19782</Reference>\n    </References>\n    <Value>\n      <Int32 xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">0</Int32>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"i=19784\" BrowseName=\"OperationalDataSetReaders\" ParentNodeId=\"i=19777\" DataType=\"UInt16\">\n    <DisplayName>OperationalDataSetReaders</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=19785</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=63</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=19777</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=19785\" BrowseName=\"DiagnosticsLevel\" ParentNodeId=\"i=19784\" DataType=\"i=19723\">\n    <DisplayName>DiagnosticsLevel</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=19784</Reference>\n    </References>\n    <Value>\n      <Int32 xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">0</Int32>\n    </Value>\n  </UAVariable>\n  <UAObjectType NodeId=\"i=19786\" BrowseName=\"PubSubDiagnosticsConnectionType\">\n    <DisplayName>PubSubDiagnosticsConnectionType</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasComponent\">i=19831</Reference>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=19677</Reference>\n    </References>\n  </UAObjectType>\n  <UAObject NodeId=\"i=19831\" BrowseName=\"LiveValues\" ParentNodeId=\"i=19786\">\n    <DisplayName>LiveValues</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasComponent\">i=19832</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=58</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=19786</Reference>\n    </References>\n  </UAObject>\n  <UAVariable NodeId=\"i=19832\" BrowseName=\"ResolvedAddress\" ParentNodeId=\"i=19831\" DataType=\"String\">\n    <DisplayName>ResolvedAddress</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=19833</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=63</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=19831</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=19833\" BrowseName=\"DiagnosticsLevel\" ParentNodeId=\"i=19832\" DataType=\"i=19723\">\n    <DisplayName>DiagnosticsLevel</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=19832</Reference>\n    </References>\n    <Value>\n      <Int32 xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">0</Int32>\n    </Value>\n  </UAVariable>\n  <UAObjectType NodeId=\"i=19834\" BrowseName=\"PubSubDiagnosticsWriterGroupType\">\n    <DisplayName>PubSubDiagnosticsWriterGroupType</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasComponent\">i=19848</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=19879</Reference>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=19677</Reference>\n    </References>\n  </UAObjectType>\n  <UAObject NodeId=\"i=19848\" BrowseName=\"Counters\" ParentNodeId=\"i=19834\">\n    <DisplayName>Counters</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasComponent\">i=19880</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=19885</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=19890</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=58</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=19834</Reference>\n    </References>\n  </UAObject>\n  <UAVariable NodeId=\"i=19880\" BrowseName=\"SentNetworkMessages\" ParentNodeId=\"i=19848\" DataType=\"UInt32\">\n    <DisplayName>SentNetworkMessages</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=19881</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=19882</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=19883</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=19725</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=19848</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=19881\" BrowseName=\"Active\" ParentNodeId=\"i=19880\" DataType=\"Boolean\">\n    <DisplayName>Active</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=19880</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=19882\" BrowseName=\"Classification\" ParentNodeId=\"i=19880\" DataType=\"i=19730\">\n    <DisplayName>Classification</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=19880</Reference>\n    </References>\n    <Value>\n      <Int32 xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">0</Int32>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"i=19883\" BrowseName=\"DiagnosticsLevel\" ParentNodeId=\"i=19880\" DataType=\"i=19723\">\n    <DisplayName>DiagnosticsLevel</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=19880</Reference>\n    </References>\n    <Value>\n      <Int32 xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">0</Int32>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"i=19885\" BrowseName=\"FailedTransmissions\" ParentNodeId=\"i=19848\" DataType=\"UInt32\">\n    <DisplayName>FailedTransmissions</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=19886</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=19887</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=19888</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=19725</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=19848</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=19886\" BrowseName=\"Active\" ParentNodeId=\"i=19885\" DataType=\"Boolean\">\n    <DisplayName>Active</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=19885</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=19887\" BrowseName=\"Classification\" ParentNodeId=\"i=19885\" DataType=\"i=19730\">\n    <DisplayName>Classification</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=19885</Reference>\n    </References>\n    <Value>\n      <Int32 xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">1</Int32>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"i=19888\" BrowseName=\"DiagnosticsLevel\" ParentNodeId=\"i=19885\" DataType=\"i=19723\">\n    <DisplayName>DiagnosticsLevel</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=19885</Reference>\n    </References>\n    <Value>\n      <Int32 xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">0</Int32>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"i=19890\" BrowseName=\"EncryptionErrors\" ParentNodeId=\"i=19848\" DataType=\"UInt32\">\n    <DisplayName>EncryptionErrors</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=19891</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=19892</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=19893</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=19725</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=19848</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=19891\" BrowseName=\"Active\" ParentNodeId=\"i=19890\" DataType=\"Boolean\">\n    <DisplayName>Active</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=19890</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=19892\" BrowseName=\"Classification\" ParentNodeId=\"i=19890\" DataType=\"i=19730\">\n    <DisplayName>Classification</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=19890</Reference>\n    </References>\n    <Value>\n      <Int32 xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">1</Int32>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"i=19893\" BrowseName=\"DiagnosticsLevel\" ParentNodeId=\"i=19890\" DataType=\"i=19723\">\n    <DisplayName>DiagnosticsLevel</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=19890</Reference>\n    </References>\n    <Value>\n      <Int32 xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">1</Int32>\n    </Value>\n  </UAVariable>\n  <UAObject NodeId=\"i=19879\" BrowseName=\"LiveValues\" ParentNodeId=\"i=19834\">\n    <DisplayName>LiveValues</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasComponent\">i=19895</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=19897</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=19899</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=19901</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=58</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=19834</Reference>\n    </References>\n  </UAObject>\n  <UAVariable NodeId=\"i=19895\" BrowseName=\"ConfiguredDataSetWriters\" ParentNodeId=\"i=19879\" DataType=\"UInt16\">\n    <DisplayName>ConfiguredDataSetWriters</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=19896</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=63</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=19879</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=19896\" BrowseName=\"DiagnosticsLevel\" ParentNodeId=\"i=19895\" DataType=\"i=19723\">\n    <DisplayName>DiagnosticsLevel</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=19895</Reference>\n    </References>\n    <Value>\n      <Int32 xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">0</Int32>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"i=19897\" BrowseName=\"OperationalDataSetWriters\" ParentNodeId=\"i=19879\" DataType=\"UInt16\">\n    <DisplayName>OperationalDataSetWriters</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=19898</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=63</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=19879</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=19898\" BrowseName=\"DiagnosticsLevel\" ParentNodeId=\"i=19897\" DataType=\"i=19723\">\n    <DisplayName>DiagnosticsLevel</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=19897</Reference>\n    </References>\n    <Value>\n      <Int32 xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">0</Int32>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"i=19899\" BrowseName=\"SecurityTokenID\" ParentNodeId=\"i=19879\" DataType=\"UInt32\">\n    <DisplayName>SecurityTokenID</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=19900</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=63</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=80</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=19879</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=19900\" BrowseName=\"DiagnosticsLevel\" ParentNodeId=\"i=19899\" DataType=\"i=19723\">\n    <DisplayName>DiagnosticsLevel</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=19899</Reference>\n    </References>\n    <Value>\n      <Int32 xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">2</Int32>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"i=19901\" BrowseName=\"TimeToNextTokenID\" ParentNodeId=\"i=19879\" DataType=\"i=290\">\n    <DisplayName>TimeToNextTokenID</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=19902</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=63</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=80</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=19879</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=19902\" BrowseName=\"DiagnosticsLevel\" ParentNodeId=\"i=19901\" DataType=\"i=19723\">\n    <DisplayName>DiagnosticsLevel</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=19901</Reference>\n    </References>\n    <Value>\n      <Int32 xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">2</Int32>\n    </Value>\n  </UAVariable>\n  <UAObjectType NodeId=\"i=19903\" BrowseName=\"PubSubDiagnosticsReaderGroupType\">\n    <DisplayName>PubSubDiagnosticsReaderGroupType</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasComponent\">i=19917</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=19948</Reference>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=19677</Reference>\n    </References>\n  </UAObjectType>\n  <UAObject NodeId=\"i=19917\" BrowseName=\"Counters\" ParentNodeId=\"i=19903\">\n    <DisplayName>Counters</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasComponent\">i=19949</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=19954</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=19959</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=58</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=19903</Reference>\n    </References>\n  </UAObject>\n  <UAVariable NodeId=\"i=19949\" BrowseName=\"ReceivedNetworkMessages\" ParentNodeId=\"i=19917\" DataType=\"UInt32\">\n    <DisplayName>ReceivedNetworkMessages</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=19950</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=19951</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=19952</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=19725</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=19917</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=19950\" BrowseName=\"Active\" ParentNodeId=\"i=19949\" DataType=\"Boolean\">\n    <DisplayName>Active</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=19949</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=19951\" BrowseName=\"Classification\" ParentNodeId=\"i=19949\" DataType=\"i=19730\">\n    <DisplayName>Classification</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=19949</Reference>\n    </References>\n    <Value>\n      <Int32 xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">0</Int32>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"i=19952\" BrowseName=\"DiagnosticsLevel\" ParentNodeId=\"i=19949\" DataType=\"i=19723\">\n    <DisplayName>DiagnosticsLevel</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=19949</Reference>\n    </References>\n    <Value>\n      <Int32 xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">0</Int32>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"i=19954\" BrowseName=\"ReceivedInvalidNetworkMessages\" ParentNodeId=\"i=19917\" DataType=\"UInt32\">\n    <DisplayName>ReceivedInvalidNetworkMessages</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=19955</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=19956</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=19957</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=19725</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=80</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=19917</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=19955\" BrowseName=\"Active\" ParentNodeId=\"i=19954\" DataType=\"Boolean\">\n    <DisplayName>Active</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=19954</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=19956\" BrowseName=\"Classification\" ParentNodeId=\"i=19954\" DataType=\"i=19730\">\n    <DisplayName>Classification</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=19954</Reference>\n    </References>\n    <Value>\n      <Int32 xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">1</Int32>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"i=19957\" BrowseName=\"DiagnosticsLevel\" ParentNodeId=\"i=19954\" DataType=\"i=19723\">\n    <DisplayName>DiagnosticsLevel</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=19954</Reference>\n    </References>\n    <Value>\n      <Int32 xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">1</Int32>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"i=19959\" BrowseName=\"DecryptionErrors\" ParentNodeId=\"i=19917\" DataType=\"UInt32\">\n    <DisplayName>DecryptionErrors</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=19960</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=19961</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=19962</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=19725</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=80</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=19917</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=19960\" BrowseName=\"Active\" ParentNodeId=\"i=19959\" DataType=\"Boolean\">\n    <DisplayName>Active</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=19959</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=19961\" BrowseName=\"Classification\" ParentNodeId=\"i=19959\" DataType=\"i=19730\">\n    <DisplayName>Classification</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=19959</Reference>\n    </References>\n    <Value>\n      <Int32 xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">1</Int32>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"i=19962\" BrowseName=\"DiagnosticsLevel\" ParentNodeId=\"i=19959\" DataType=\"i=19723\">\n    <DisplayName>DiagnosticsLevel</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=19959</Reference>\n    </References>\n    <Value>\n      <Int32 xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">1</Int32>\n    </Value>\n  </UAVariable>\n  <UAObject NodeId=\"i=19948\" BrowseName=\"LiveValues\" ParentNodeId=\"i=19903\">\n    <DisplayName>LiveValues</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasComponent\">i=19964</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=19966</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=58</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=19903</Reference>\n    </References>\n  </UAObject>\n  <UAVariable NodeId=\"i=19964\" BrowseName=\"ConfiguredDataSetReaders\" ParentNodeId=\"i=19948\" DataType=\"UInt16\">\n    <DisplayName>ConfiguredDataSetReaders</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=19965</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=63</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=19948</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=19965\" BrowseName=\"DiagnosticsLevel\" ParentNodeId=\"i=19964\" DataType=\"i=19723\">\n    <DisplayName>DiagnosticsLevel</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=19964</Reference>\n    </References>\n    <Value>\n      <Int32 xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">0</Int32>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"i=19966\" BrowseName=\"OperationalDataSetReaders\" ParentNodeId=\"i=19948\" DataType=\"UInt16\">\n    <DisplayName>OperationalDataSetReaders</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=19967</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=63</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=19948</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=19967\" BrowseName=\"DiagnosticsLevel\" ParentNodeId=\"i=19966\" DataType=\"i=19723\">\n    <DisplayName>DiagnosticsLevel</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=19966</Reference>\n    </References>\n    <Value>\n      <Int32 xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">0</Int32>\n    </Value>\n  </UAVariable>\n  <UAObjectType NodeId=\"i=19968\" BrowseName=\"PubSubDiagnosticsDataSetWriterType\">\n    <DisplayName>PubSubDiagnosticsDataSetWriterType</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasComponent\">i=19982</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=20013</Reference>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=19677</Reference>\n    </References>\n  </UAObjectType>\n  <UAObject NodeId=\"i=19982\" BrowseName=\"Counters\" ParentNodeId=\"i=19968\">\n    <DisplayName>Counters</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasComponent\">i=20014</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=58</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=19968</Reference>\n    </References>\n  </UAObject>\n  <UAVariable NodeId=\"i=20014\" BrowseName=\"FailedDataSetMessages\" ParentNodeId=\"i=19982\" DataType=\"UInt32\">\n    <DisplayName>FailedDataSetMessages</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=20015</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=20016</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=20017</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=19725</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=19982</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=20015\" BrowseName=\"Active\" ParentNodeId=\"i=20014\" DataType=\"Boolean\">\n    <DisplayName>Active</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=20014</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=20016\" BrowseName=\"Classification\" ParentNodeId=\"i=20014\" DataType=\"i=19730\">\n    <DisplayName>Classification</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=20014</Reference>\n    </References>\n    <Value>\n      <Int32 xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">1</Int32>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"i=20017\" BrowseName=\"DiagnosticsLevel\" ParentNodeId=\"i=20014\" DataType=\"i=19723\">\n    <DisplayName>DiagnosticsLevel</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=20014</Reference>\n    </References>\n    <Value>\n      <Int32 xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">0</Int32>\n    </Value>\n  </UAVariable>\n  <UAObject NodeId=\"i=20013\" BrowseName=\"LiveValues\" ParentNodeId=\"i=19968\">\n    <DisplayName>LiveValues</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasComponent\">i=20019</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=20021</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=20023</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=20025</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=58</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=19968</Reference>\n    </References>\n  </UAObject>\n  <UAVariable NodeId=\"i=20019\" BrowseName=\"MessageSequenceNumber\" ParentNodeId=\"i=20013\" DataType=\"UInt16\">\n    <DisplayName>MessageSequenceNumber</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=20020</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=63</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=80</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=20013</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=20020\" BrowseName=\"DiagnosticsLevel\" ParentNodeId=\"i=20019\" DataType=\"i=19723\">\n    <DisplayName>DiagnosticsLevel</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=20019</Reference>\n    </References>\n    <Value>\n      <Int32 xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">2</Int32>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"i=20021\" BrowseName=\"StatusCode\" ParentNodeId=\"i=20013\" DataType=\"StatusCode\">\n    <DisplayName>StatusCode</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=20022</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=63</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=80</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=20013</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=20022\" BrowseName=\"DiagnosticsLevel\" ParentNodeId=\"i=20021\" DataType=\"i=19723\">\n    <DisplayName>DiagnosticsLevel</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=20021</Reference>\n    </References>\n    <Value>\n      <Int32 xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">2</Int32>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"i=20023\" BrowseName=\"MajorVersion\" ParentNodeId=\"i=20013\" DataType=\"UInt32\">\n    <DisplayName>MajorVersion</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=20024</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=63</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=80</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=20013</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=20024\" BrowseName=\"DiagnosticsLevel\" ParentNodeId=\"i=20023\" DataType=\"i=19723\">\n    <DisplayName>DiagnosticsLevel</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=20023</Reference>\n    </References>\n    <Value>\n      <Int32 xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">2</Int32>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"i=20025\" BrowseName=\"MinorVersion\" ParentNodeId=\"i=20013\" DataType=\"UInt32\">\n    <DisplayName>MinorVersion</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=20026</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=63</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=80</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=20013</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=20026\" BrowseName=\"DiagnosticsLevel\" ParentNodeId=\"i=20025\" DataType=\"i=19723\">\n    <DisplayName>DiagnosticsLevel</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=20025</Reference>\n    </References>\n    <Value>\n      <Int32 xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">2</Int32>\n    </Value>\n  </UAVariable>\n  <UAObjectType NodeId=\"i=20027\" BrowseName=\"PubSubDiagnosticsDataSetReaderType\">\n    <DisplayName>PubSubDiagnosticsDataSetReaderType</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasComponent\">i=20041</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=20072</Reference>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=19677</Reference>\n    </References>\n  </UAObjectType>\n  <UAObject NodeId=\"i=20041\" BrowseName=\"Counters\" ParentNodeId=\"i=20027\">\n    <DisplayName>Counters</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasComponent\">i=20073</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=20078</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=58</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=20027</Reference>\n    </References>\n  </UAObject>\n  <UAVariable NodeId=\"i=20073\" BrowseName=\"FailedDataSetMessages\" ParentNodeId=\"i=20041\" DataType=\"UInt32\">\n    <DisplayName>FailedDataSetMessages</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=20074</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=20075</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=20076</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=19725</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=20041</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=20074\" BrowseName=\"Active\" ParentNodeId=\"i=20073\" DataType=\"Boolean\">\n    <DisplayName>Active</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=20073</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=20075\" BrowseName=\"Classification\" ParentNodeId=\"i=20073\" DataType=\"i=19730\">\n    <DisplayName>Classification</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=20073</Reference>\n    </References>\n    <Value>\n      <Int32 xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">1</Int32>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"i=20076\" BrowseName=\"DiagnosticsLevel\" ParentNodeId=\"i=20073\" DataType=\"i=19723\">\n    <DisplayName>DiagnosticsLevel</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=20073</Reference>\n    </References>\n    <Value>\n      <Int32 xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">0</Int32>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"i=20078\" BrowseName=\"DecryptionErrors\" ParentNodeId=\"i=20041\" DataType=\"UInt32\">\n    <DisplayName>DecryptionErrors</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=20079</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=20080</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=20081</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=19725</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=80</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=20041</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=20079\" BrowseName=\"Active\" ParentNodeId=\"i=20078\" DataType=\"Boolean\">\n    <DisplayName>Active</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=20078</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=20080\" BrowseName=\"Classification\" ParentNodeId=\"i=20078\" DataType=\"i=19730\">\n    <DisplayName>Classification</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=20078</Reference>\n    </References>\n    <Value>\n      <Int32 xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">1</Int32>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"i=20081\" BrowseName=\"DiagnosticsLevel\" ParentNodeId=\"i=20078\" DataType=\"i=19723\">\n    <DisplayName>DiagnosticsLevel</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=20078</Reference>\n    </References>\n    <Value>\n      <Int32 xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">1</Int32>\n    </Value>\n  </UAVariable>\n  <UAObject NodeId=\"i=20072\" BrowseName=\"LiveValues\" ParentNodeId=\"i=20027\">\n    <DisplayName>LiveValues</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasComponent\">i=20083</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=20085</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=20087</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=20089</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=20091</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=20093</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=58</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=20027</Reference>\n    </References>\n  </UAObject>\n  <UAVariable NodeId=\"i=20083\" BrowseName=\"MessageSequenceNumber\" ParentNodeId=\"i=20072\" DataType=\"UInt16\">\n    <DisplayName>MessageSequenceNumber</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=20084</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=63</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=80</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=20072</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=20084\" BrowseName=\"DiagnosticsLevel\" ParentNodeId=\"i=20083\" DataType=\"i=19723\">\n    <DisplayName>DiagnosticsLevel</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=20083</Reference>\n    </References>\n    <Value>\n      <Int32 xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">2</Int32>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"i=20085\" BrowseName=\"StatusCode\" ParentNodeId=\"i=20072\" DataType=\"StatusCode\">\n    <DisplayName>StatusCode</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=20086</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=63</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=80</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=20072</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=20086\" BrowseName=\"DiagnosticsLevel\" ParentNodeId=\"i=20085\" DataType=\"i=19723\">\n    <DisplayName>DiagnosticsLevel</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=20085</Reference>\n    </References>\n    <Value>\n      <Int32 xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">2</Int32>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"i=20087\" BrowseName=\"MajorVersion\" ParentNodeId=\"i=20072\" DataType=\"UInt32\">\n    <DisplayName>MajorVersion</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=20088</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=63</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=80</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=20072</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=20088\" BrowseName=\"DiagnosticsLevel\" ParentNodeId=\"i=20087\" DataType=\"i=19723\">\n    <DisplayName>DiagnosticsLevel</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=20087</Reference>\n    </References>\n    <Value>\n      <Int32 xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">2</Int32>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"i=20089\" BrowseName=\"MinorVersion\" ParentNodeId=\"i=20072\" DataType=\"UInt32\">\n    <DisplayName>MinorVersion</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=20090</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=63</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=80</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=20072</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=20090\" BrowseName=\"DiagnosticsLevel\" ParentNodeId=\"i=20089\" DataType=\"i=19723\">\n    <DisplayName>DiagnosticsLevel</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=20089</Reference>\n    </References>\n    <Value>\n      <Int32 xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">2</Int32>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"i=20091\" BrowseName=\"SecurityTokenID\" ParentNodeId=\"i=20072\" DataType=\"UInt32\">\n    <DisplayName>SecurityTokenID</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=20092</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=63</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=80</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=20072</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=20092\" BrowseName=\"DiagnosticsLevel\" ParentNodeId=\"i=20091\" DataType=\"i=19723\">\n    <DisplayName>DiagnosticsLevel</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=20091</Reference>\n    </References>\n    <Value>\n      <Int32 xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">2</Int32>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"i=20093\" BrowseName=\"TimeToNextTokenID\" ParentNodeId=\"i=20072\" DataType=\"i=290\">\n    <DisplayName>TimeToNextTokenID</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=20094</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=63</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=80</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=20072</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=20094\" BrowseName=\"DiagnosticsLevel\" ParentNodeId=\"i=20093\" DataType=\"i=19723\">\n    <DisplayName>DiagnosticsLevel</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=20093</Reference>\n    </References>\n    <Value>\n      <Int32 xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">2</Int32>\n    </Value>\n  </UAVariable>\n  <UAObjectType NodeId=\"i=15535\" BrowseName=\"PubSubStatusEventType\" IsAbstract=\"true\">\n    <DisplayName>PubSubStatusEventType</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=15545</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=15546</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=15547</Reference>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=2130</Reference>\n    </References>\n  </UAObjectType>\n  <UAVariable NodeId=\"i=15545\" BrowseName=\"ConnectionId\" ParentNodeId=\"i=15535\" DataType=\"NodeId\">\n    <DisplayName>ConnectionId</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=15535</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=15546\" BrowseName=\"GroupId\" ParentNodeId=\"i=15535\" DataType=\"NodeId\">\n    <DisplayName>GroupId</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=15535</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=15547\" BrowseName=\"State\" ParentNodeId=\"i=15535\" DataType=\"i=14647\">\n    <DisplayName>State</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=15535</Reference>\n    </References>\n  </UAVariable>\n  <UAObjectType NodeId=\"i=15548\" BrowseName=\"PubSubTransportLimitsExceedEventType\" IsAbstract=\"true\">\n    <DisplayName>PubSubTransportLimitsExceedEventType</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=15561</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=15562</Reference>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=15535</Reference>\n    </References>\n  </UAObjectType>\n  <UAVariable NodeId=\"i=15561\" BrowseName=\"Actual\" ParentNodeId=\"i=15548\" DataType=\"UInt32\">\n    <DisplayName>Actual</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=15548</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=15562\" BrowseName=\"Maximum\" ParentNodeId=\"i=15548\" DataType=\"UInt32\">\n    <DisplayName>Maximum</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=15548</Reference>\n    </References>\n  </UAVariable>\n  <UAObjectType NodeId=\"i=15563\" BrowseName=\"PubSubCommunicationFailureEventType\" IsAbstract=\"true\">\n    <DisplayName>PubSubCommunicationFailureEventType</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=15576</Reference>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=15535</Reference>\n    </References>\n  </UAObjectType>\n  <UAVariable NodeId=\"i=15576\" BrowseName=\"Error\" ParentNodeId=\"i=15563\" DataType=\"StatusCode\">\n    <DisplayName>Error</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=15563</Reference>\n    </References>\n  </UAVariable>\n  <UAObjectType NodeId=\"i=21105\" BrowseName=\"UadpWriterGroupMessageType\">\n    <DisplayName>UadpWriterGroupMessageType</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=21106</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=21107</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=21108</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=21109</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=21110</Reference>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=17998</Reference>\n    </References>\n  </UAObjectType>\n  <UAVariable NodeId=\"i=21106\" BrowseName=\"GroupVersion\" ParentNodeId=\"i=21105\" DataType=\"i=20998\">\n    <DisplayName>GroupVersion</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=21105</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=21107\" BrowseName=\"DataSetOrdering\" ParentNodeId=\"i=21105\" DataType=\"i=20408\">\n    <DisplayName>DataSetOrdering</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=21105</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=21108\" BrowseName=\"NetworkMessageContentMask\" ParentNodeId=\"i=21105\" DataType=\"i=15642\">\n    <DisplayName>NetworkMessageContentMask</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=21105</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=21109\" BrowseName=\"SamplingOffset\" ParentNodeId=\"i=21105\" DataType=\"i=290\">\n    <DisplayName>SamplingOffset</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=80</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=21105</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=21110\" BrowseName=\"PublishingOffset\" ParentNodeId=\"i=21105\" DataType=\"i=290\" ValueRank=\"1\" ArrayDimensions=\"0\">\n    <DisplayName>PublishingOffset</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=21105</Reference>\n    </References>\n  </UAVariable>\n  <UAObjectType NodeId=\"i=21111\" BrowseName=\"UadpDataSetWriterMessageType\">\n    <DisplayName>UadpDataSetWriterMessageType</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=21112</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=21113</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=21114</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=21115</Reference>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=21096</Reference>\n    </References>\n  </UAObjectType>\n  <UAVariable NodeId=\"i=21112\" BrowseName=\"DataSetMessageContentMask\" ParentNodeId=\"i=21111\" DataType=\"i=15646\">\n    <DisplayName>DataSetMessageContentMask</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=21111</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=21113\" BrowseName=\"ConfiguredSize\" ParentNodeId=\"i=21111\" DataType=\"UInt16\">\n    <DisplayName>ConfiguredSize</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=21111</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=21114\" BrowseName=\"NetworkMessageNumber\" ParentNodeId=\"i=21111\" DataType=\"UInt16\">\n    <DisplayName>NetworkMessageNumber</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=21111</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=21115\" BrowseName=\"DataSetOffset\" ParentNodeId=\"i=21111\" DataType=\"UInt16\">\n    <DisplayName>DataSetOffset</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=21111</Reference>\n    </References>\n  </UAVariable>\n  <UAObjectType NodeId=\"i=21116\" BrowseName=\"UadpDataSetReaderMessageType\">\n    <DisplayName>UadpDataSetReaderMessageType</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=21117</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=21119</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=17477</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=21120</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=21121</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=21122</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=21123</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=21124</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=21125</Reference>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=21104</Reference>\n    </References>\n  </UAObjectType>\n  <UAVariable NodeId=\"i=21117\" BrowseName=\"GroupVersion\" ParentNodeId=\"i=21116\" DataType=\"i=20998\">\n    <DisplayName>GroupVersion</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=21116</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=21119\" BrowseName=\"NetworkMessageNumber\" ParentNodeId=\"i=21116\" DataType=\"UInt16\">\n    <DisplayName>NetworkMessageNumber</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=21116</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=17477\" BrowseName=\"DataSetOffset\" ParentNodeId=\"i=21116\" DataType=\"UInt16\">\n    <DisplayName>DataSetOffset</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=21116</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=21120\" BrowseName=\"DataSetClassId\" ParentNodeId=\"i=21116\" DataType=\"Guid\">\n    <DisplayName>DataSetClassId</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=21116</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=21121\" BrowseName=\"NetworkMessageContentMask\" ParentNodeId=\"i=21116\" DataType=\"i=15642\">\n    <DisplayName>NetworkMessageContentMask</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=21116</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=21122\" BrowseName=\"DataSetMessageContentMask\" ParentNodeId=\"i=21116\" DataType=\"i=15646\">\n    <DisplayName>DataSetMessageContentMask</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=21116</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=21123\" BrowseName=\"PublishingInterval\" ParentNodeId=\"i=21116\" DataType=\"i=290\">\n    <DisplayName>PublishingInterval</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=21116</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=21124\" BrowseName=\"ProcessingOffset\" ParentNodeId=\"i=21116\" DataType=\"i=290\">\n    <DisplayName>ProcessingOffset</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=21116</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=21125\" BrowseName=\"ReceiveOffset\" ParentNodeId=\"i=21116\" DataType=\"i=290\">\n    <DisplayName>ReceiveOffset</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=21116</Reference>\n    </References>\n  </UAVariable>\n  <UAObjectType NodeId=\"i=21126\" BrowseName=\"JsonWriterGroupMessageType\">\n    <DisplayName>JsonWriterGroupMessageType</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=21127</Reference>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=17998</Reference>\n    </References>\n  </UAObjectType>\n  <UAVariable NodeId=\"i=21127\" BrowseName=\"NetworkMessageContentMask\" ParentNodeId=\"i=21126\" DataType=\"i=15654\">\n    <DisplayName>NetworkMessageContentMask</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=21126</Reference>\n    </References>\n  </UAVariable>\n  <UAObjectType NodeId=\"i=21128\" BrowseName=\"JsonDataSetWriterMessageType\">\n    <DisplayName>JsonDataSetWriterMessageType</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=21129</Reference>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=21096</Reference>\n    </References>\n  </UAObjectType>\n  <UAVariable NodeId=\"i=21129\" BrowseName=\"DataSetMessageContentMask\" ParentNodeId=\"i=21128\" DataType=\"i=15658\">\n    <DisplayName>DataSetMessageContentMask</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=21128</Reference>\n    </References>\n  </UAVariable>\n  <UAObjectType NodeId=\"i=21130\" BrowseName=\"JsonDataSetReaderMessageType\">\n    <DisplayName>JsonDataSetReaderMessageType</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=21131</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=21132</Reference>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=21104</Reference>\n    </References>\n  </UAObjectType>\n  <UAVariable NodeId=\"i=21131\" BrowseName=\"NetworkMessageContentMask\" ParentNodeId=\"i=21130\" DataType=\"i=15654\">\n    <DisplayName>NetworkMessageContentMask</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=21130</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=21132\" BrowseName=\"DataSetMessageContentMask\" ParentNodeId=\"i=21130\" DataType=\"i=15658\">\n    <DisplayName>DataSetMessageContentMask</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=21130</Reference>\n    </References>\n  </UAVariable>\n  <UAObjectType NodeId=\"i=15064\" BrowseName=\"DatagramConnectionTransportType\">\n    <DisplayName>DatagramConnectionTransportType</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasComponent\">i=15072</Reference>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=17721</Reference>\n    </References>\n  </UAObjectType>\n  <UAObject NodeId=\"i=15072\" BrowseName=\"DiscoveryAddress\" ParentNodeId=\"i=15064\">\n    <DisplayName>DiscoveryAddress</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasComponent\">i=15154</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=21145</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=15064</Reference>\n    </References>\n  </UAObject>\n  <UAVariable NodeId=\"i=15154\" BrowseName=\"NetworkInterface\" ParentNodeId=\"i=15072\" DataType=\"String\">\n    <DisplayName>NetworkInterface</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=17579</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=16309</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=15072</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=17579\" BrowseName=\"Selections\" ParentNodeId=\"i=15154\" ValueRank=\"1\" ArrayDimensions=\"0\">\n    <DisplayName>Selections</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=15154</Reference>\n    </References>\n  </UAVariable>\n  <UAObjectType NodeId=\"i=21133\" BrowseName=\"DatagramWriterGroupTransportType\">\n    <DisplayName>DatagramWriterGroupTransportType</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=21134</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=21135</Reference>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=17997</Reference>\n    </References>\n  </UAObjectType>\n  <UAVariable NodeId=\"i=21134\" BrowseName=\"MessageRepeatCount\" ParentNodeId=\"i=21133\" DataType=\"Byte\">\n    <DisplayName>MessageRepeatCount</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=80</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=21133</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=21135\" BrowseName=\"MessageRepeatDelay\" ParentNodeId=\"i=21133\" DataType=\"i=290\">\n    <DisplayName>MessageRepeatDelay</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=80</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=21133</Reference>\n    </References>\n  </UAVariable>\n  <UAObjectType NodeId=\"i=15155\" BrowseName=\"BrokerConnectionTransportType\">\n    <DisplayName>BrokerConnectionTransportType</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=15156</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=15178</Reference>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=17721</Reference>\n    </References>\n  </UAObjectType>\n  <UAVariable NodeId=\"i=15156\" BrowseName=\"ResourceUri\" ParentNodeId=\"i=15155\" DataType=\"String\">\n    <DisplayName>ResourceUri</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=15155</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=15178\" BrowseName=\"AuthenticationProfileUri\" ParentNodeId=\"i=15155\" DataType=\"String\">\n    <DisplayName>AuthenticationProfileUri</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=15155</Reference>\n    </References>\n  </UAVariable>\n  <UAObjectType NodeId=\"i=21136\" BrowseName=\"BrokerWriterGroupTransportType\">\n    <DisplayName>BrokerWriterGroupTransportType</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=21137</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=15246</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=15247</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=15249</Reference>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=17997</Reference>\n    </References>\n  </UAObjectType>\n  <UAVariable NodeId=\"i=21137\" BrowseName=\"QueueName\" ParentNodeId=\"i=21136\" DataType=\"String\">\n    <DisplayName>QueueName</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=21136</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=15246\" BrowseName=\"ResourceUri\" ParentNodeId=\"i=21136\" DataType=\"String\">\n    <DisplayName>ResourceUri</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=21136</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=15247\" BrowseName=\"AuthenticationProfileUri\" ParentNodeId=\"i=21136\" DataType=\"String\">\n    <DisplayName>AuthenticationProfileUri</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=21136</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=15249\" BrowseName=\"RequestedDeliveryGuarantee\" ParentNodeId=\"i=21136\" DataType=\"i=15008\">\n    <DisplayName>RequestedDeliveryGuarantee</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=21136</Reference>\n    </References>\n  </UAVariable>\n  <UAObjectType NodeId=\"i=21138\" BrowseName=\"BrokerDataSetWriterTransportType\">\n    <DisplayName>BrokerDataSetWriterTransportType</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=21139</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=21140</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=15250</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=15251</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=15330</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=21141</Reference>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=15305</Reference>\n    </References>\n  </UAObjectType>\n  <UAVariable NodeId=\"i=21139\" BrowseName=\"QueueName\" ParentNodeId=\"i=21138\" DataType=\"String\">\n    <DisplayName>QueueName</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=21138</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=21140\" BrowseName=\"MetaDataQueueName\" ParentNodeId=\"i=21138\" DataType=\"String\">\n    <DisplayName>MetaDataQueueName</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=21138</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=15250\" BrowseName=\"ResourceUri\" ParentNodeId=\"i=21138\" DataType=\"String\">\n    <DisplayName>ResourceUri</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=21138</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=15251\" BrowseName=\"AuthenticationProfileUri\" ParentNodeId=\"i=21138\" DataType=\"String\">\n    <DisplayName>AuthenticationProfileUri</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=21138</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=15330\" BrowseName=\"RequestedDeliveryGuarantee\" ParentNodeId=\"i=21138\" DataType=\"i=15008\">\n    <DisplayName>RequestedDeliveryGuarantee</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=21138</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=21141\" BrowseName=\"MetaDataUpdateTime\" ParentNodeId=\"i=21138\" DataType=\"i=290\">\n    <DisplayName>MetaDataUpdateTime</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=21138</Reference>\n    </References>\n  </UAVariable>\n  <UAObjectType NodeId=\"i=21142\" BrowseName=\"BrokerDataSetReaderTransportType\">\n    <DisplayName>BrokerDataSetReaderTransportType</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=21143</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=15334</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=15419</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=15420</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=21144</Reference>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=15319</Reference>\n    </References>\n  </UAObjectType>\n  <UAVariable NodeId=\"i=21143\" BrowseName=\"QueueName\" ParentNodeId=\"i=21142\" DataType=\"String\">\n    <DisplayName>QueueName</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=21142</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=15334\" BrowseName=\"ResourceUri\" ParentNodeId=\"i=21142\" DataType=\"String\">\n    <DisplayName>ResourceUri</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=21142</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=15419\" BrowseName=\"AuthenticationProfileUri\" ParentNodeId=\"i=21142\" DataType=\"String\">\n    <DisplayName>AuthenticationProfileUri</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=21142</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=15420\" BrowseName=\"RequestedDeliveryGuarantee\" ParentNodeId=\"i=21142\" DataType=\"i=15008\">\n    <DisplayName>RequestedDeliveryGuarantee</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=21142</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=21144\" BrowseName=\"MetaDataQueueName\" ParentNodeId=\"i=21142\" DataType=\"String\">\n    <DisplayName>MetaDataQueueName</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=21142</Reference>\n    </References>\n  </UAVariable>\n  <UAObjectType NodeId=\"i=21145\" BrowseName=\"NetworkAddressType\" IsAbstract=\"true\">\n    <DisplayName>NetworkAddressType</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasComponent\">i=21146</Reference>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=58</Reference>\n    </References>\n  </UAObjectType>\n  <UAVariable NodeId=\"i=21146\" BrowseName=\"NetworkInterface\" ParentNodeId=\"i=21145\" DataType=\"String\">\n    <DisplayName>NetworkInterface</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=17582</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=16309</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=21145</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=17582\" BrowseName=\"Selections\" ParentNodeId=\"i=21146\" ValueRank=\"1\" ArrayDimensions=\"0\">\n    <DisplayName>Selections</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=21146</Reference>\n    </References>\n  </UAVariable>\n  <UAObjectType NodeId=\"i=21147\" BrowseName=\"NetworkAddressUrlType\">\n    <DisplayName>NetworkAddressUrlType</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasComponent\">i=21149</Reference>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=21145</Reference>\n    </References>\n  </UAObjectType>\n  <UAVariable NodeId=\"i=21149\" BrowseName=\"Url\" ParentNodeId=\"i=21147\" DataType=\"String\">\n    <DisplayName>Url</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=63</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=21147</Reference>\n    </References>\n  </UAVariable>\n  <UAObjectType NodeId=\"i=23455\" BrowseName=\"AliasNameType\">\n    <DisplayName>AliasNameType</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=58</Reference>\n    </References>\n  </UAObjectType>\n  <UAObjectType NodeId=\"i=23456\" BrowseName=\"AliasNameCategoryType\">\n    <DisplayName>AliasNameCategoryType</DisplayName>\n    <References>\n      <Reference ReferenceType=\"Organizes\">i=23457</Reference>\n      <Reference ReferenceType=\"Organizes\">i=23458</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=23462</Reference>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=61</Reference>\n    </References>\n  </UAObjectType>\n  <UAObject NodeId=\"i=23457\" BrowseName=\"&lt;Alias&gt;\" SymbolicName=\"Alias_Placeholder\" ParentNodeId=\"i=23456\">\n    <DisplayName>&lt;Alias&gt;</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=23455</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=11508</Reference>\n      <Reference ReferenceType=\"Organizes\" IsForward=\"false\">i=23456</Reference>\n    </References>\n  </UAObject>\n  <UAObject NodeId=\"i=23458\" BrowseName=\"&lt;SubAliasNameCategories&gt;\" SymbolicName=\"SubAliasNameCategories_Placeholder\" ParentNodeId=\"i=23456\">\n    <DisplayName>&lt;SubAliasNameCategories&gt;</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasComponent\">i=23459</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=23456</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=11508</Reference>\n      <Reference ReferenceType=\"Organizes\" IsForward=\"false\">i=23456</Reference>\n    </References>\n  </UAObject>\n  <UAMethod NodeId=\"i=23459\" BrowseName=\"FindAlias\" ParentNodeId=\"i=23458\" MethodDeclarationId=\"i=23462\">\n    <DisplayName>FindAlias</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=23460</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=23461</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=23458</Reference>\n    </References>\n  </UAMethod>\n  <UAVariable NodeId=\"i=23460\" BrowseName=\"InputArguments\" ParentNodeId=\"i=23459\" DataType=\"i=296\" ValueRank=\"1\" ArrayDimensions=\"0\">\n    <DisplayName>InputArguments</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=23459</Reference>\n    </References>\n    <Value>\n      <ListOfExtensionObject xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=297</Identifier>\n          </TypeId>\n          <Body>\n            <Argument>\n              <Name>AliasNameSearchPattern</Name>\n              <DataType>\n                <Identifier>i=12</Identifier>\n              </DataType>\n              <ValueRank>-1</ValueRank>\n              <ArrayDimensions />\n            </Argument>\n          </Body>\n        </ExtensionObject>\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=297</Identifier>\n          </TypeId>\n          <Body>\n            <Argument>\n              <Name>ReferenceTypeFilter</Name>\n              <DataType>\n                <Identifier>i=17</Identifier>\n              </DataType>\n              <ValueRank>-1</ValueRank>\n              <ArrayDimensions />\n            </Argument>\n          </Body>\n        </ExtensionObject>\n      </ListOfExtensionObject>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"i=23461\" BrowseName=\"OutputArguments\" ParentNodeId=\"i=23459\" DataType=\"i=296\" ValueRank=\"1\" ArrayDimensions=\"0\">\n    <DisplayName>OutputArguments</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=23459</Reference>\n    </References>\n    <Value>\n      <ListOfExtensionObject xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=297</Identifier>\n          </TypeId>\n          <Body>\n            <Argument>\n              <Name>AliasNodeList</Name>\n              <DataType>\n                <Identifier>i=23468</Identifier>\n              </DataType>\n              <ValueRank>1</ValueRank>\n              <ArrayDimensions>\n                <UInt32>0</UInt32>\n              </ArrayDimensions>\n            </Argument>\n          </Body>\n        </ExtensionObject>\n      </ListOfExtensionObject>\n    </Value>\n  </UAVariable>\n  <UAMethod NodeId=\"i=23462\" BrowseName=\"FindAlias\" ParentNodeId=\"i=23456\">\n    <DisplayName>FindAlias</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=23463</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=23464</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=23456</Reference>\n    </References>\n  </UAMethod>\n  <UAVariable NodeId=\"i=23463\" BrowseName=\"InputArguments\" ParentNodeId=\"i=23462\" DataType=\"i=296\" ValueRank=\"1\" ArrayDimensions=\"0\">\n    <DisplayName>InputArguments</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=23462</Reference>\n    </References>\n    <Value>\n      <ListOfExtensionObject xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=297</Identifier>\n          </TypeId>\n          <Body>\n            <Argument>\n              <Name>AliasNameSearchPattern</Name>\n              <DataType>\n                <Identifier>i=12</Identifier>\n              </DataType>\n              <ValueRank>-1</ValueRank>\n              <ArrayDimensions />\n            </Argument>\n          </Body>\n        </ExtensionObject>\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=297</Identifier>\n          </TypeId>\n          <Body>\n            <Argument>\n              <Name>ReferenceTypeFilter</Name>\n              <DataType>\n                <Identifier>i=17</Identifier>\n              </DataType>\n              <ValueRank>-1</ValueRank>\n              <ArrayDimensions />\n            </Argument>\n          </Body>\n        </ExtensionObject>\n      </ListOfExtensionObject>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"i=23464\" BrowseName=\"OutputArguments\" ParentNodeId=\"i=23462\" DataType=\"i=296\" ValueRank=\"1\" ArrayDimensions=\"0\">\n    <DisplayName>OutputArguments</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=23462</Reference>\n    </References>\n    <Value>\n      <ListOfExtensionObject xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=297</Identifier>\n          </TypeId>\n          <Body>\n            <Argument>\n              <Name>AliasNodeList</Name>\n              <DataType>\n                <Identifier>i=23468</Identifier>\n              </DataType>\n              <ValueRank>1</ValueRank>\n              <ArrayDimensions>\n                <UInt32>0</UInt32>\n              </ArrayDimensions>\n            </Argument>\n          </Body>\n        </ExtensionObject>\n      </ListOfExtensionObject>\n    </Value>\n  </UAVariable>\n  <UADataType NodeId=\"i=23468\" BrowseName=\"AliasNameDataType\">\n    <DisplayName>AliasNameDataType</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=22</Reference>\n    </References>\n    <Definition Name=\"AliasNameDataType\">\n      <Field Name=\"AliasName\" DataType=\"i=20\" />\n      <Field Name=\"ReferencedNodes\" DataType=\"i=18\" ValueRank=\"1\" />\n    </Definition>\n  </UADataType>\n  <UAReferenceType NodeId=\"i=23469\" BrowseName=\"AliasFor\">\n    <DisplayName>AliasFor</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=32</Reference>\n    </References>\n    <InverseName>HasAlias</InverseName>\n  </UAReferenceType>\n  <UAObject NodeId=\"i=23470\" BrowseName=\"Aliases\">\n    <DisplayName>Aliases</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasComponent\">i=23476</Reference>\n      <Reference ReferenceType=\"Organizes\" IsForward=\"false\">i=85</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=23456</Reference>\n    </References>\n  </UAObject>\n  <UAMethod NodeId=\"i=23476\" BrowseName=\"FindAlias\" ParentNodeId=\"i=23470\" MethodDeclarationId=\"i=23462\">\n    <DisplayName>FindAlias</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=23477</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=23478</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=23470</Reference>\n    </References>\n  </UAMethod>\n  <UAVariable NodeId=\"i=23477\" BrowseName=\"InputArguments\" ParentNodeId=\"i=23476\" DataType=\"i=296\" ValueRank=\"1\" ArrayDimensions=\"0\">\n    <DisplayName>InputArguments</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=23476</Reference>\n    </References>\n    <Value>\n      <ListOfExtensionObject xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=297</Identifier>\n          </TypeId>\n          <Body>\n            <Argument>\n              <Name>AliasNameSearchPattern</Name>\n              <DataType>\n                <Identifier>i=12</Identifier>\n              </DataType>\n              <ValueRank>-1</ValueRank>\n              <ArrayDimensions />\n            </Argument>\n          </Body>\n        </ExtensionObject>\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=297</Identifier>\n          </TypeId>\n          <Body>\n            <Argument>\n              <Name>ReferenceTypeFilter</Name>\n              <DataType>\n                <Identifier>i=17</Identifier>\n              </DataType>\n              <ValueRank>-1</ValueRank>\n              <ArrayDimensions />\n            </Argument>\n          </Body>\n        </ExtensionObject>\n      </ListOfExtensionObject>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"i=23478\" BrowseName=\"OutputArguments\" ParentNodeId=\"i=23476\" DataType=\"i=296\" ValueRank=\"1\" ArrayDimensions=\"0\">\n    <DisplayName>OutputArguments</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=23476</Reference>\n    </References>\n    <Value>\n      <ListOfExtensionObject xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=297</Identifier>\n          </TypeId>\n          <Body>\n            <Argument>\n              <Name>AliasNodeList</Name>\n              <DataType>\n                <Identifier>i=23468</Identifier>\n              </DataType>\n              <ValueRank>1</ValueRank>\n              <ArrayDimensions>\n                <UInt32>0</UInt32>\n              </ArrayDimensions>\n            </Argument>\n          </Body>\n        </ExtensionObject>\n      </ListOfExtensionObject>\n    </Value>\n  </UAVariable>\n  <UAObject NodeId=\"i=23479\" BrowseName=\"TagVariables\">\n    <DisplayName>TagVariables</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasComponent\">i=23485</Reference>\n      <Reference ReferenceType=\"Organizes\" IsForward=\"false\">i=23470</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=23456</Reference>\n    </References>\n  </UAObject>\n  <UAMethod NodeId=\"i=23485\" BrowseName=\"FindAlias\" ParentNodeId=\"i=23479\" MethodDeclarationId=\"i=23462\">\n    <DisplayName>FindAlias</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=23486</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=23487</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=23479</Reference>\n    </References>\n  </UAMethod>\n  <UAVariable NodeId=\"i=23486\" BrowseName=\"InputArguments\" ParentNodeId=\"i=23485\" DataType=\"i=296\" ValueRank=\"1\" ArrayDimensions=\"0\">\n    <DisplayName>InputArguments</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=23485</Reference>\n    </References>\n    <Value>\n      <ListOfExtensionObject xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=297</Identifier>\n          </TypeId>\n          <Body>\n            <Argument>\n              <Name>AliasNameSearchPattern</Name>\n              <DataType>\n                <Identifier>i=12</Identifier>\n              </DataType>\n              <ValueRank>-1</ValueRank>\n              <ArrayDimensions />\n            </Argument>\n          </Body>\n        </ExtensionObject>\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=297</Identifier>\n          </TypeId>\n          <Body>\n            <Argument>\n              <Name>ReferenceTypeFilter</Name>\n              <DataType>\n                <Identifier>i=17</Identifier>\n              </DataType>\n              <ValueRank>-1</ValueRank>\n              <ArrayDimensions />\n            </Argument>\n          </Body>\n        </ExtensionObject>\n      </ListOfExtensionObject>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"i=23487\" BrowseName=\"OutputArguments\" ParentNodeId=\"i=23485\" DataType=\"i=296\" ValueRank=\"1\" ArrayDimensions=\"0\">\n    <DisplayName>OutputArguments</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=23485</Reference>\n    </References>\n    <Value>\n      <ListOfExtensionObject xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=297</Identifier>\n          </TypeId>\n          <Body>\n            <Argument>\n              <Name>AliasNodeList</Name>\n              <DataType>\n                <Identifier>i=23468</Identifier>\n              </DataType>\n              <ValueRank>1</ValueRank>\n              <ArrayDimensions>\n                <UInt32>0</UInt32>\n              </ArrayDimensions>\n            </Argument>\n          </Body>\n        </ExtensionObject>\n      </ListOfExtensionObject>\n    </Value>\n  </UAVariable>\n  <UAObject NodeId=\"i=23488\" BrowseName=\"Topics\">\n    <DisplayName>Topics</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasComponent\">i=23494</Reference>\n      <Reference ReferenceType=\"Organizes\" IsForward=\"false\">i=23470</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=23456</Reference>\n    </References>\n  </UAObject>\n  <UAMethod NodeId=\"i=23494\" BrowseName=\"FindAlias\" ParentNodeId=\"i=23488\" MethodDeclarationId=\"i=23462\">\n    <DisplayName>FindAlias</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=23495</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=23496</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=23488</Reference>\n    </References>\n  </UAMethod>\n  <UAVariable NodeId=\"i=23495\" BrowseName=\"InputArguments\" ParentNodeId=\"i=23494\" DataType=\"i=296\" ValueRank=\"1\" ArrayDimensions=\"0\">\n    <DisplayName>InputArguments</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=23494</Reference>\n    </References>\n    <Value>\n      <ListOfExtensionObject xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=297</Identifier>\n          </TypeId>\n          <Body>\n            <Argument>\n              <Name>AliasNameSearchPattern</Name>\n              <DataType>\n                <Identifier>i=12</Identifier>\n              </DataType>\n              <ValueRank>-1</ValueRank>\n              <ArrayDimensions />\n            </Argument>\n          </Body>\n        </ExtensionObject>\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=297</Identifier>\n          </TypeId>\n          <Body>\n            <Argument>\n              <Name>ReferenceTypeFilter</Name>\n              <DataType>\n                <Identifier>i=17</Identifier>\n              </DataType>\n              <ValueRank>-1</ValueRank>\n              <ArrayDimensions />\n            </Argument>\n          </Body>\n        </ExtensionObject>\n      </ListOfExtensionObject>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"i=23496\" BrowseName=\"OutputArguments\" ParentNodeId=\"i=23494\" DataType=\"i=296\" ValueRank=\"1\" ArrayDimensions=\"0\">\n    <DisplayName>OutputArguments</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=23494</Reference>\n    </References>\n    <Value>\n      <ListOfExtensionObject xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=297</Identifier>\n          </TypeId>\n          <Body>\n            <Argument>\n              <Name>AliasNodeList</Name>\n              <DataType>\n                <Identifier>i=23468</Identifier>\n              </DataType>\n              <ValueRank>1</ValueRank>\n              <ArrayDimensions>\n                <UInt32>0</UInt32>\n              </ArrayDimensions>\n            </Argument>\n          </Body>\n        </ExtensionObject>\n      </ListOfExtensionObject>\n    </Value>\n  </UAVariable>\n  <UAVariableType NodeId=\"i=19077\" BrowseName=\"MultiStateDictionaryEntryDiscreteBaseType\" DataType=\"Number\" ValueRank=\"-2\">\n    <DisplayName>MultiStateDictionaryEntryDiscreteBaseType</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=19082</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=19083</Reference>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=11238</Reference>\n    </References>\n  </UAVariableType>\n  <UAVariable NodeId=\"i=19082\" BrowseName=\"EnumDictionaryEntries\" ParentNodeId=\"i=19077\" DataType=\"NodeId\" ValueRank=\"2\" ArrayDimensions=\"0,0\">\n    <DisplayName>EnumDictionaryEntries</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=19077</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=19083\" BrowseName=\"ValueAsDictionaryEntries\" ParentNodeId=\"i=19077\" DataType=\"NodeId\" ValueRank=\"1\" ArrayDimensions=\"0\">\n    <DisplayName>ValueAsDictionaryEntries</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=80</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=19077</Reference>\n    </References>\n  </UAVariable>\n  <UAVariableType NodeId=\"i=19084\" BrowseName=\"MultiStateDictionaryEntryDiscreteType\" DataType=\"Number\" ValueRank=\"-2\">\n    <DisplayName>MultiStateDictionaryEntryDiscreteType</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=19090</Reference>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=19077</Reference>\n    </References>\n  </UAVariableType>\n  <UAVariable NodeId=\"i=19090\" BrowseName=\"ValueAsDictionaryEntries\" ParentNodeId=\"i=19084\" DataType=\"NodeId\" ValueRank=\"1\" ArrayDimensions=\"0\">\n    <DisplayName>ValueAsDictionaryEntries</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=19084</Reference>\n    </References>\n  </UAVariable>\n  <UAObjectType NodeId=\"i=24148\" BrowseName=\"IIetfBaseNetworkInterfaceType\" IsAbstract=\"true\">\n    <DisplayName>IIetfBaseNetworkInterfaceType</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasComponent\">i=24149</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=24150</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=24151</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=24152</Reference>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=17602</Reference>\n    </References>\n  </UAObjectType>\n  <UAVariable NodeId=\"i=24149\" BrowseName=\"AdminStatus\" ParentNodeId=\"i=24148\" DataType=\"i=24212\">\n    <DisplayName>AdminStatus</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=63</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=24148</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=24150\" BrowseName=\"OperStatus\" ParentNodeId=\"i=24148\" DataType=\"i=24214\">\n    <DisplayName>OperStatus</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=63</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=24148</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=24151\" BrowseName=\"PhysAddress\" ParentNodeId=\"i=24148\" DataType=\"String\">\n    <DisplayName>PhysAddress</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=63</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=80</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=24148</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=24152\" BrowseName=\"Speed\" ParentNodeId=\"i=24148\" DataType=\"UInt64\">\n    <DisplayName>Speed</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=24157</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=17497</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=24148</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=24157\" BrowseName=\"EngineeringUnits\" ParentNodeId=\"i=24152\" DataType=\"i=887\">\n    <DisplayName>EngineeringUnits</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=24152</Reference>\n    </References>\n    <Value>\n      <ExtensionObject xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <TypeId>\n          <Identifier>i=888</Identifier>\n        </TypeId>\n        <Body>\n          <EUInformation>\n            <NamespaceUri>http://www.opcfoundation.org/UA/units/un/cefact</NamespaceUri>\n            <UnitId>4337968</UnitId>\n            <DisplayName>\n              <Locale>en</Locale>\n              <Text>bit/s</Text>\n            </DisplayName>\n            <Description>\n              <Locale>en</Locale>\n              <Text>bit per second</Text>\n            </Description>\n          </EUInformation>\n        </Body>\n      </ExtensionObject>\n    </Value>\n  </UAVariable>\n  <UAObjectType NodeId=\"i=24158\" BrowseName=\"IIeeeBaseEthernetPortType\" IsAbstract=\"true\">\n    <DisplayName>IIeeeBaseEthernetPortType</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasComponent\">i=24159</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=24165</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=24166</Reference>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=17602</Reference>\n    </References>\n  </UAObjectType>\n  <UAVariable NodeId=\"i=24159\" BrowseName=\"Speed\" ParentNodeId=\"i=24158\" DataType=\"UInt64\">\n    <DisplayName>Speed</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=24164</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=17497</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=24158</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=24164\" BrowseName=\"EngineeringUnits\" ParentNodeId=\"i=24159\" DataType=\"i=887\">\n    <DisplayName>EngineeringUnits</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=24159</Reference>\n    </References>\n    <Value>\n      <ExtensionObject xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <TypeId>\n          <Identifier>i=888</Identifier>\n        </TypeId>\n        <Body>\n          <EUInformation>\n            <NamespaceUri>http://www.opcfoundation.org/UA/units/un/cefact</NamespaceUri>\n            <UnitId>4534832</UnitId>\n            <DisplayName>\n              <Locale>en</Locale>\n              <Text>Mbit/s</Text>\n            </DisplayName>\n            <Description>\n              <Locale>en</Locale>\n              <Text>megabit per second</Text>\n            </Description>\n          </EUInformation>\n        </Body>\n      </ExtensionObject>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"i=24165\" BrowseName=\"Duplex\" ParentNodeId=\"i=24158\" DataType=\"i=24210\">\n    <DisplayName>Duplex</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=63</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=24158</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=24166\" BrowseName=\"MaxFrameLength\" ParentNodeId=\"i=24158\" DataType=\"UInt16\">\n    <DisplayName>MaxFrameLength</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=63</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=24158</Reference>\n    </References>\n  </UAVariable>\n  <UAObjectType NodeId=\"i=24233\" BrowseName=\"IIeeeAutoNegotiationStatusType\" IsAbstract=\"true\">\n    <DisplayName>IIeeeAutoNegotiationStatusType</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasComponent\">i=24234</Reference>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=17602</Reference>\n    </References>\n  </UAObjectType>\n  <UAVariable NodeId=\"i=24234\" BrowseName=\"NegotiationStatus\" ParentNodeId=\"i=24233\" DataType=\"i=24216\">\n    <DisplayName>NegotiationStatus</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=63</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=24233</Reference>\n    </References>\n  </UAVariable>\n  <UAObjectType NodeId=\"i=24167\" BrowseName=\"IBaseEthernetCapabilitiesType\" IsAbstract=\"true\">\n    <DisplayName>IBaseEthernetCapabilitiesType</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasComponent\">i=24168</Reference>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=17602</Reference>\n    </References>\n  </UAObjectType>\n  <UAVariable NodeId=\"i=24168\" BrowseName=\"VlanTagCapable\" ParentNodeId=\"i=24167\" DataType=\"Boolean\">\n    <DisplayName>VlanTagCapable</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=63</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=24167</Reference>\n    </References>\n  </UAVariable>\n  <UAObjectType NodeId=\"i=24169\" BrowseName=\"ISrClassType\" IsAbstract=\"true\">\n    <DisplayName>ISrClassType</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasComponent\">i=24170</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=24171</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=24172</Reference>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=17602</Reference>\n    </References>\n  </UAObjectType>\n  <UAVariable NodeId=\"i=24170\" BrowseName=\"Id\" ParentNodeId=\"i=24169\" DataType=\"Byte\">\n    <DisplayName>Id</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=63</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=24169</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=24171\" BrowseName=\"Priority\" ParentNodeId=\"i=24169\" DataType=\"Byte\">\n    <DisplayName>Priority</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=63</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=24169</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=24172\" BrowseName=\"Vid\" ParentNodeId=\"i=24169\" DataType=\"UInt16\">\n    <DisplayName>Vid</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=63</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=24169</Reference>\n    </References>\n  </UAVariable>\n  <UAObjectType NodeId=\"i=24173\" BrowseName=\"IIeeeBaseTsnStreamType\" IsAbstract=\"true\">\n    <DisplayName>IIeeeBaseTsnStreamType</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasComponent\">i=24174</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=24175</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=24176</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=24177</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=24178</Reference>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=17602</Reference>\n    </References>\n  </UAObjectType>\n  <UAVariable NodeId=\"i=24174\" BrowseName=\"StreamId\" ParentNodeId=\"i=24173\" DataType=\"Byte\" ValueRank=\"1\" ArrayDimensions=\"8\">\n    <DisplayName>StreamId</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=63</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=24173</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=24175\" BrowseName=\"StreamName\" ParentNodeId=\"i=24173\" DataType=\"String\">\n    <DisplayName>StreamName</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=63</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=24173</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=24176\" BrowseName=\"State\" ParentNodeId=\"i=24173\" DataType=\"i=24220\">\n    <DisplayName>State</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=63</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=24173</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=24177\" BrowseName=\"AccumulatedLatency\" ParentNodeId=\"i=24173\" DataType=\"UInt32\">\n    <DisplayName>AccumulatedLatency</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=63</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=80</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=24173</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=24178\" BrowseName=\"SrClassId\" ParentNodeId=\"i=24173\" DataType=\"Byte\">\n    <DisplayName>SrClassId</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=63</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=80</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=24173</Reference>\n    </References>\n  </UAVariable>\n  <UAObjectType NodeId=\"i=24179\" BrowseName=\"IIeeeBaseTsnTrafficSpecificationType\" IsAbstract=\"true\">\n    <DisplayName>IIeeeBaseTsnTrafficSpecificationType</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasComponent\">i=24180</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=24181</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=24182</Reference>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=17602</Reference>\n    </References>\n  </UAObjectType>\n  <UAVariable NodeId=\"i=24180\" BrowseName=\"MaxIntervalFrames\" ParentNodeId=\"i=24179\" DataType=\"UInt16\">\n    <DisplayName>MaxIntervalFrames</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=63</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=24179</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=24181\" BrowseName=\"MaxFrameSize\" ParentNodeId=\"i=24179\" DataType=\"UInt32\">\n    <DisplayName>MaxFrameSize</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=63</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=24179</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=24182\" BrowseName=\"Interval\" ParentNodeId=\"i=24179\" DataType=\"i=24107\">\n    <DisplayName>Interval</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=63</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=24179</Reference>\n    </References>\n  </UAVariable>\n  <UAObjectType NodeId=\"i=24183\" BrowseName=\"IIeeeBaseTsnStatusStreamType\" IsAbstract=\"true\">\n    <DisplayName>IIeeeBaseTsnStatusStreamType</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasComponent\">i=24184</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=24185</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=24186</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=24187</Reference>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=17602</Reference>\n    </References>\n  </UAObjectType>\n  <UAVariable NodeId=\"i=24184\" BrowseName=\"TalkerStatus\" ParentNodeId=\"i=24183\" DataType=\"i=24222\">\n    <DisplayName>TalkerStatus</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=63</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=80</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=24183</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=24185\" BrowseName=\"ListenerStatus\" ParentNodeId=\"i=24183\" DataType=\"i=24224\">\n    <DisplayName>ListenerStatus</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=63</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=80</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=24183</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=24186\" BrowseName=\"FailureCode\" ParentNodeId=\"i=24183\" DataType=\"i=24218\">\n    <DisplayName>FailureCode</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=63</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=24183</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=24187\" BrowseName=\"FailureSystemIdentifier\" ParentNodeId=\"i=24183\" DataType=\"Byte\" ValueRank=\"2\" ArrayDimensions=\"0,8\">\n    <DisplayName>FailureSystemIdentifier</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=63</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=24183</Reference>\n    </References>\n  </UAVariable>\n  <UAObjectType NodeId=\"i=24188\" BrowseName=\"IIeeeTsnInterfaceConfigurationType\" IsAbstract=\"true\">\n    <DisplayName>IIeeeTsnInterfaceConfigurationType</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasComponent\">i=24189</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=24190</Reference>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=17602</Reference>\n    </References>\n  </UAObjectType>\n  <UAVariable NodeId=\"i=24189\" BrowseName=\"MacAddress\" ParentNodeId=\"i=24188\" DataType=\"String\">\n    <DisplayName>MacAddress</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=63</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=24188</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=24190\" BrowseName=\"InterfaceName\" ParentNodeId=\"i=24188\" DataType=\"String\">\n    <DisplayName>InterfaceName</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=63</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=80</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=24188</Reference>\n    </References>\n  </UAVariable>\n  <UAObjectType NodeId=\"i=24191\" BrowseName=\"IIeeeTsnInterfaceConfigurationTalkerType\" IsAbstract=\"true\">\n    <DisplayName>IIeeeTsnInterfaceConfigurationTalkerType</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasComponent\">i=24194</Reference>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=24188</Reference>\n    </References>\n  </UAObjectType>\n  <UAVariable NodeId=\"i=24194\" BrowseName=\"TimeAwareOffset\" ParentNodeId=\"i=24191\" DataType=\"UInt32\">\n    <DisplayName>TimeAwareOffset</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=63</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=80</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=24191</Reference>\n    </References>\n  </UAVariable>\n  <UAObjectType NodeId=\"i=24195\" BrowseName=\"IIeeeTsnInterfaceConfigurationListenerType\" IsAbstract=\"true\">\n    <DisplayName>IIeeeTsnInterfaceConfigurationListenerType</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasComponent\">i=24198</Reference>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=24188</Reference>\n    </References>\n  </UAObjectType>\n  <UAVariable NodeId=\"i=24198\" BrowseName=\"ReceiveOffset\" ParentNodeId=\"i=24195\" DataType=\"UInt32\">\n    <DisplayName>ReceiveOffset</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=63</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=80</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=24195</Reference>\n    </References>\n  </UAVariable>\n  <UAObjectType NodeId=\"i=24199\" BrowseName=\"IIeeeTsnMacAddressType\" IsAbstract=\"true\">\n    <DisplayName>IIeeeTsnMacAddressType</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasComponent\">i=24200</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=24201</Reference>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=17602</Reference>\n    </References>\n  </UAObjectType>\n  <UAVariable NodeId=\"i=24200\" BrowseName=\"DestinationAddress\" ParentNodeId=\"i=24199\" DataType=\"Byte\" ValueRank=\"1\" ArrayDimensions=\"6\">\n    <DisplayName>DestinationAddress</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=63</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=24199</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=24201\" BrowseName=\"SourceAddress\" ParentNodeId=\"i=24199\" DataType=\"Byte\" ValueRank=\"1\" ArrayDimensions=\"6\">\n    <DisplayName>SourceAddress</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=63</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=80</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=24199</Reference>\n    </References>\n  </UAVariable>\n  <UAObjectType NodeId=\"i=24202\" BrowseName=\"IIeeeTsnVlanTagType\" IsAbstract=\"true\">\n    <DisplayName>IIeeeTsnVlanTagType</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasComponent\">i=24203</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=24204</Reference>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=17602</Reference>\n    </References>\n  </UAObjectType>\n  <UAVariable NodeId=\"i=24203\" BrowseName=\"VlanId\" ParentNodeId=\"i=24202\" DataType=\"UInt16\">\n    <DisplayName>VlanId</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=63</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=24202</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=24204\" BrowseName=\"PriorityCodePoint\" ParentNodeId=\"i=24202\" DataType=\"Byte\">\n    <DisplayName>PriorityCodePoint</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=63</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=24202</Reference>\n    </References>\n  </UAVariable>\n  <UAObjectType NodeId=\"i=24205\" BrowseName=\"IPriorityMappingEntryType\" IsAbstract=\"true\">\n    <DisplayName>IPriorityMappingEntryType</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasComponent\">i=24206</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=24207</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=24208</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=24209</Reference>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=17602</Reference>\n    </References>\n  </UAObjectType>\n  <UAVariable NodeId=\"i=24206\" BrowseName=\"MappingUri\" ParentNodeId=\"i=24205\" DataType=\"String\">\n    <DisplayName>MappingUri</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=63</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=24205</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=24207\" BrowseName=\"PriorityLabel\" ParentNodeId=\"i=24205\" DataType=\"String\">\n    <DisplayName>PriorityLabel</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=63</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=78</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=24205</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=24208\" BrowseName=\"PriorityValue_PCP\" ParentNodeId=\"i=24205\" DataType=\"Byte\">\n    <DisplayName>PriorityValue_PCP</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=63</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=80</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=24205</Reference>\n    </References>\n  </UAVariable>\n  <UAVariable NodeId=\"i=24209\" BrowseName=\"PriorityValue_DSCP\" ParentNodeId=\"i=24205\" DataType=\"UInt32\">\n    <DisplayName>PriorityValue_DSCP</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=63</Reference>\n      <Reference ReferenceType=\"HasModellingRule\">i=80</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=24205</Reference>\n    </References>\n  </UAVariable>\n  <UADataType NodeId=\"i=24210\" BrowseName=\"Duplex\">\n    <DisplayName>Duplex</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=24235</Reference>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=29</Reference>\n    </References>\n    <Definition Name=\"Duplex\">\n      <Field Name=\"Full\" Value=\"0\">\n        <Description>Full duplex.</Description>\n      </Field>\n      <Field Name=\"Half\" Value=\"1\">\n        <Description>Half duplex.</Description>\n      </Field>\n      <Field Name=\"Unknown\" Value=\"2\">\n        <Description>Link is currently disconnected or initializing.</Description>\n      </Field>\n    </Definition>\n  </UADataType>\n  <UAVariable NodeId=\"i=24235\" BrowseName=\"EnumValues\" ParentNodeId=\"i=24210\" DataType=\"i=7594\" ValueRank=\"1\" ArrayDimensions=\"0\">\n    <DisplayName>EnumValues</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=24210</Reference>\n    </References>\n    <Value>\n      <ListOfExtensionObject xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=7616</Identifier>\n          </TypeId>\n          <Body>\n            <EnumValueType>\n              <Value>0</Value>\n              <DisplayName>\n                <Text>Full</Text>\n              </DisplayName>\n              <Description>\n                <Text>Full duplex.</Text>\n              </Description>\n            </EnumValueType>\n          </Body>\n        </ExtensionObject>\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=7616</Identifier>\n          </TypeId>\n          <Body>\n            <EnumValueType>\n              <Value>1</Value>\n              <DisplayName>\n                <Text>Half</Text>\n              </DisplayName>\n              <Description>\n                <Text>Half duplex.</Text>\n              </Description>\n            </EnumValueType>\n          </Body>\n        </ExtensionObject>\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=7616</Identifier>\n          </TypeId>\n          <Body>\n            <EnumValueType>\n              <Value>2</Value>\n              <DisplayName>\n                <Text>Unknown</Text>\n              </DisplayName>\n              <Description>\n                <Text>Link is currently disconnected or initializing.</Text>\n              </Description>\n            </EnumValueType>\n          </Body>\n        </ExtensionObject>\n      </ListOfExtensionObject>\n    </Value>\n  </UAVariable>\n  <UADataType NodeId=\"i=24212\" BrowseName=\"InterfaceAdminStatus\">\n    <DisplayName>InterfaceAdminStatus</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=24236</Reference>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=29</Reference>\n    </References>\n    <Definition Name=\"InterfaceAdminStatus\">\n      <Field Name=\"Up\" Value=\"0\">\n        <Description>Ready to pass packets.</Description>\n      </Field>\n      <Field Name=\"Down\" Value=\"1\">\n        <Description>Not ready to pass packets and not in some test mode.</Description>\n      </Field>\n      <Field Name=\"Testing\" Value=\"2\">\n        <Description>In some test mode.</Description>\n      </Field>\n    </Definition>\n  </UADataType>\n  <UAVariable NodeId=\"i=24236\" BrowseName=\"EnumValues\" ParentNodeId=\"i=24212\" DataType=\"i=7594\" ValueRank=\"1\" ArrayDimensions=\"0\">\n    <DisplayName>EnumValues</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=24212</Reference>\n    </References>\n    <Value>\n      <ListOfExtensionObject xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=7616</Identifier>\n          </TypeId>\n          <Body>\n            <EnumValueType>\n              <Value>0</Value>\n              <DisplayName>\n                <Text>Up</Text>\n              </DisplayName>\n              <Description>\n                <Text>Ready to pass packets.</Text>\n              </Description>\n            </EnumValueType>\n          </Body>\n        </ExtensionObject>\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=7616</Identifier>\n          </TypeId>\n          <Body>\n            <EnumValueType>\n              <Value>1</Value>\n              <DisplayName>\n                <Text>Down</Text>\n              </DisplayName>\n              <Description>\n                <Text>Not ready to pass packets and not in some test mode.</Text>\n              </Description>\n            </EnumValueType>\n          </Body>\n        </ExtensionObject>\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=7616</Identifier>\n          </TypeId>\n          <Body>\n            <EnumValueType>\n              <Value>2</Value>\n              <DisplayName>\n                <Text>Testing</Text>\n              </DisplayName>\n              <Description>\n                <Text>In some test mode.</Text>\n              </Description>\n            </EnumValueType>\n          </Body>\n        </ExtensionObject>\n      </ListOfExtensionObject>\n    </Value>\n  </UAVariable>\n  <UADataType NodeId=\"i=24214\" BrowseName=\"InterfaceOperStatus\">\n    <DisplayName>InterfaceOperStatus</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=24237</Reference>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=29</Reference>\n    </References>\n    <Definition Name=\"InterfaceOperStatus\">\n      <Field Name=\"Up\" Value=\"0\">\n        <Description>Ready to pass packets.</Description>\n      </Field>\n      <Field Name=\"Down\" Value=\"1\">\n        <Description>The interface does not pass any packets.</Description>\n      </Field>\n      <Field Name=\"Testing\" Value=\"2\">\n        <Description>In some test mode. No operational packets can be passed.</Description>\n      </Field>\n      <Field Name=\"Unknown\" Value=\"3\">\n        <Description>Status cannot be determined for some reason.</Description>\n      </Field>\n      <Field Name=\"Dormant\" Value=\"4\">\n        <Description>Waiting for some external event.</Description>\n      </Field>\n      <Field Name=\"NotPresent\" Value=\"5\">\n        <Description>Some component (typically hardware) is missing.</Description>\n      </Field>\n      <Field Name=\"LowerLayerDown\" Value=\"6\">\n        <Description>Down due to state of lower-layer interface(s).</Description>\n      </Field>\n    </Definition>\n  </UADataType>\n  <UAVariable NodeId=\"i=24237\" BrowseName=\"EnumValues\" ParentNodeId=\"i=24214\" DataType=\"i=7594\" ValueRank=\"1\" ArrayDimensions=\"0\">\n    <DisplayName>EnumValues</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=24214</Reference>\n    </References>\n    <Value>\n      <ListOfExtensionObject xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=7616</Identifier>\n          </TypeId>\n          <Body>\n            <EnumValueType>\n              <Value>0</Value>\n              <DisplayName>\n                <Text>Up</Text>\n              </DisplayName>\n              <Description>\n                <Text>Ready to pass packets.</Text>\n              </Description>\n            </EnumValueType>\n          </Body>\n        </ExtensionObject>\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=7616</Identifier>\n          </TypeId>\n          <Body>\n            <EnumValueType>\n              <Value>1</Value>\n              <DisplayName>\n                <Text>Down</Text>\n              </DisplayName>\n              <Description>\n                <Text>The interface does not pass any packets.</Text>\n              </Description>\n            </EnumValueType>\n          </Body>\n        </ExtensionObject>\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=7616</Identifier>\n          </TypeId>\n          <Body>\n            <EnumValueType>\n              <Value>2</Value>\n              <DisplayName>\n                <Text>Testing</Text>\n              </DisplayName>\n              <Description>\n                <Text>In some test mode. No operational packets can be passed.</Text>\n              </Description>\n            </EnumValueType>\n          </Body>\n        </ExtensionObject>\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=7616</Identifier>\n          </TypeId>\n          <Body>\n            <EnumValueType>\n              <Value>3</Value>\n              <DisplayName>\n                <Text>Unknown</Text>\n              </DisplayName>\n              <Description>\n                <Text>Status cannot be determined for some reason.</Text>\n              </Description>\n            </EnumValueType>\n          </Body>\n        </ExtensionObject>\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=7616</Identifier>\n          </TypeId>\n          <Body>\n            <EnumValueType>\n              <Value>4</Value>\n              <DisplayName>\n                <Text>Dormant</Text>\n              </DisplayName>\n              <Description>\n                <Text>Waiting for some external event.</Text>\n              </Description>\n            </EnumValueType>\n          </Body>\n        </ExtensionObject>\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=7616</Identifier>\n          </TypeId>\n          <Body>\n            <EnumValueType>\n              <Value>5</Value>\n              <DisplayName>\n                <Text>NotPresent</Text>\n              </DisplayName>\n              <Description>\n                <Text>Some component (typically hardware) is missing.</Text>\n              </Description>\n            </EnumValueType>\n          </Body>\n        </ExtensionObject>\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=7616</Identifier>\n          </TypeId>\n          <Body>\n            <EnumValueType>\n              <Value>6</Value>\n              <DisplayName>\n                <Text>LowerLayerDown</Text>\n              </DisplayName>\n              <Description>\n                <Text>Down due to state of lower-layer interface(s).</Text>\n              </Description>\n            </EnumValueType>\n          </Body>\n        </ExtensionObject>\n      </ListOfExtensionObject>\n    </Value>\n  </UAVariable>\n  <UADataType NodeId=\"i=24216\" BrowseName=\"NegotiationStatus\">\n    <DisplayName>NegotiationStatus</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=24238</Reference>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=29</Reference>\n    </References>\n    <Definition Name=\"NegotiationStatus\">\n      <Field Name=\"InProgress\" Value=\"0\">\n        <Description>The auto-negotiation protocol is running and negotiation is currently in-progress.</Description>\n      </Field>\n      <Field Name=\"Complete\" Value=\"1\">\n        <Description>The auto-negotiation protocol has completed successfully.</Description>\n      </Field>\n      <Field Name=\"Failed\" Value=\"2\">\n        <Description>The auto-negotiation protocol has failed.</Description>\n      </Field>\n      <Field Name=\"Unknown\" Value=\"3\">\n        <Description>The auto-negotiation status is not currently known, this could be because it is still negotiating or the protocol cannot run (e.g., if no medium is present).</Description>\n      </Field>\n      <Field Name=\"NoNegotiation\" Value=\"4\">\n        <Description>No auto-negotiation is executed. The auto-negotiation function is either not supported on this interface or has not been enabled.</Description>\n      </Field>\n    </Definition>\n  </UADataType>\n  <UAVariable NodeId=\"i=24238\" BrowseName=\"EnumValues\" ParentNodeId=\"i=24216\" DataType=\"i=7594\" ValueRank=\"1\" ArrayDimensions=\"0\">\n    <DisplayName>EnumValues</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=24216</Reference>\n    </References>\n    <Value>\n      <ListOfExtensionObject xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=7616</Identifier>\n          </TypeId>\n          <Body>\n            <EnumValueType>\n              <Value>0</Value>\n              <DisplayName>\n                <Text>InProgress</Text>\n              </DisplayName>\n              <Description>\n                <Text>The auto-negotiation protocol is running and negotiation is currently in-progress.</Text>\n              </Description>\n            </EnumValueType>\n          </Body>\n        </ExtensionObject>\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=7616</Identifier>\n          </TypeId>\n          <Body>\n            <EnumValueType>\n              <Value>1</Value>\n              <DisplayName>\n                <Text>Complete</Text>\n              </DisplayName>\n              <Description>\n                <Text>The auto-negotiation protocol has completed successfully.</Text>\n              </Description>\n            </EnumValueType>\n          </Body>\n        </ExtensionObject>\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=7616</Identifier>\n          </TypeId>\n          <Body>\n            <EnumValueType>\n              <Value>2</Value>\n              <DisplayName>\n                <Text>Failed</Text>\n              </DisplayName>\n              <Description>\n                <Text>The auto-negotiation protocol has failed.</Text>\n              </Description>\n            </EnumValueType>\n          </Body>\n        </ExtensionObject>\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=7616</Identifier>\n          </TypeId>\n          <Body>\n            <EnumValueType>\n              <Value>3</Value>\n              <DisplayName>\n                <Text>Unknown</Text>\n              </DisplayName>\n              <Description>\n                <Text>The auto-negotiation status is not currently known, this could be because it is still negotiating or the protocol cannot run (e.g., if no medium is present).</Text>\n              </Description>\n            </EnumValueType>\n          </Body>\n        </ExtensionObject>\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=7616</Identifier>\n          </TypeId>\n          <Body>\n            <EnumValueType>\n              <Value>4</Value>\n              <DisplayName>\n                <Text>NoNegotiation</Text>\n              </DisplayName>\n              <Description>\n                <Text>No auto-negotiation is executed. The auto-negotiation function is either not supported on this interface or has not been enabled.</Text>\n              </Description>\n            </EnumValueType>\n          </Body>\n        </ExtensionObject>\n      </ListOfExtensionObject>\n    </Value>\n  </UAVariable>\n  <UADataType NodeId=\"i=24218\" BrowseName=\"TsnFailureCode\">\n    <DisplayName>TsnFailureCode</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=24239</Reference>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=29</Reference>\n    </References>\n    <Definition Name=\"TsnFailureCode\">\n      <Field Name=\"NoFailure\" Value=\"0\">\n        <Description>No failure</Description>\n      </Field>\n      <Field Name=\"InsufficientBandwidth\" Value=\"1\">\n        <Description>Insufficient bandwidth</Description>\n      </Field>\n      <Field Name=\"InsufficientResources\" Value=\"2\">\n        <Description>Insufficient bridge resources</Description>\n      </Field>\n      <Field Name=\"InsufficientTrafficClassBandwidth\" Value=\"3\">\n        <Description>Insufficient bandwidth for Traffic Class</Description>\n      </Field>\n      <Field Name=\"StreamIdInUse\" Value=\"4\">\n        <Description>StreamID in use by another Talker</Description>\n      </Field>\n      <Field Name=\"StreamDestinationAddressInUse\" Value=\"5\">\n        <Description>Stream destination address already in use</Description>\n      </Field>\n      <Field Name=\"StreamPreemptedByHigherRank\" Value=\"6\">\n        <Description>Stream pre-empted by higher rank</Description>\n      </Field>\n      <Field Name=\"LatencyHasChanged\" Value=\"7\">\n        <Description>Reported latency has changed</Description>\n      </Field>\n      <Field Name=\"EgressPortNotAvbCapable\" Value=\"8\">\n        <Description>Egress port is not AVBCapable</Description>\n      </Field>\n      <Field Name=\"UseDifferentDestinationAddress\" Value=\"9\">\n        <Description>Use a different destination address</Description>\n      </Field>\n      <Field Name=\"OutOfMsrpResources\" Value=\"10\">\n        <Description>Out of MSRP resources</Description>\n      </Field>\n      <Field Name=\"OutOfMmrpResources\" Value=\"11\">\n        <Description>Out of MMRP resources</Description>\n      </Field>\n      <Field Name=\"CannotStoreDestinationAddress\" Value=\"12\">\n        <Description>Cannot store destination address</Description>\n      </Field>\n      <Field Name=\"PriorityIsNotAnSrcClass\" Value=\"13\">\n        <Description>Requested priority is not an SR Class priority</Description>\n      </Field>\n      <Field Name=\"MaxFrameSizeTooLarge\" Value=\"14\">\n        <Description>MaxFrameSize is too large for media</Description>\n      </Field>\n      <Field Name=\"MaxFanInPortsLimitReached\" Value=\"15\">\n        <Description>MaxFanInPorts limit has been reached</Description>\n      </Field>\n      <Field Name=\"FirstValueChangedForStreamId\" Value=\"16\">\n        <Description>Changes in FirstValue for a registered StreamID</Description>\n      </Field>\n      <Field Name=\"VlanBlockedOnEgress\" Value=\"17\">\n        <Description>VLAN is blocked on this egress port (Registration Forbidden)</Description>\n      </Field>\n      <Field Name=\"VlanTaggingDisabledOnEgress\" Value=\"18\">\n        <Description>VLAN tagging is disabled on this egress port (untagged set)</Description>\n      </Field>\n      <Field Name=\"SrClassPriorityMismatch\" Value=\"19\">\n        <Description>SR class priority mismatch</Description>\n      </Field>\n      <Field Name=\"FeatureNotPropagated\" Value=\"20\">\n        <Description>Enhanced feature cannot be propagated to original Port</Description>\n      </Field>\n      <Field Name=\"MaxLatencyExceeded\" Value=\"21\">\n        <Description>MaxLatency exceeded</Description>\n      </Field>\n      <Field Name=\"BridgeDoesNotProvideNetworkId\" Value=\"22\">\n        <Description>Nearest Bridge cannot provide network identification for stream transformation</Description>\n      </Field>\n      <Field Name=\"StreamTransformNotSupported\" Value=\"23\">\n        <Description>Stream transformation not supported</Description>\n      </Field>\n      <Field Name=\"StreamIdTypeNotSupported\" Value=\"24\">\n        <Description>Stream identification type not supported for stream transformation</Description>\n      </Field>\n      <Field Name=\"FeatureNotSupported\" Value=\"25\">\n        <Description>Enhanced feature cannot be supported without a CNC</Description>\n      </Field>\n    </Definition>\n  </UADataType>\n  <UAVariable NodeId=\"i=24239\" BrowseName=\"EnumValues\" ParentNodeId=\"i=24218\" DataType=\"i=7594\" ValueRank=\"1\" ArrayDimensions=\"0\">\n    <DisplayName>EnumValues</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=24218</Reference>\n    </References>\n    <Value>\n      <ListOfExtensionObject xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=7616</Identifier>\n          </TypeId>\n          <Body>\n            <EnumValueType>\n              <Value>0</Value>\n              <DisplayName>\n                <Text>NoFailure</Text>\n              </DisplayName>\n              <Description>\n                <Text>No failure</Text>\n              </Description>\n            </EnumValueType>\n          </Body>\n        </ExtensionObject>\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=7616</Identifier>\n          </TypeId>\n          <Body>\n            <EnumValueType>\n              <Value>1</Value>\n              <DisplayName>\n                <Text>InsufficientBandwidth</Text>\n              </DisplayName>\n              <Description>\n                <Text>Insufficient bandwidth</Text>\n              </Description>\n            </EnumValueType>\n          </Body>\n        </ExtensionObject>\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=7616</Identifier>\n          </TypeId>\n          <Body>\n            <EnumValueType>\n              <Value>2</Value>\n              <DisplayName>\n                <Text>InsufficientResources</Text>\n              </DisplayName>\n              <Description>\n                <Text>Insufficient bridge resources</Text>\n              </Description>\n            </EnumValueType>\n          </Body>\n        </ExtensionObject>\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=7616</Identifier>\n          </TypeId>\n          <Body>\n            <EnumValueType>\n              <Value>3</Value>\n              <DisplayName>\n                <Text>InsufficientTrafficClassBandwidth</Text>\n              </DisplayName>\n              <Description>\n                <Text>Insufficient bandwidth for Traffic Class</Text>\n              </Description>\n            </EnumValueType>\n          </Body>\n        </ExtensionObject>\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=7616</Identifier>\n          </TypeId>\n          <Body>\n            <EnumValueType>\n              <Value>4</Value>\n              <DisplayName>\n                <Text>StreamIdInUse</Text>\n              </DisplayName>\n              <Description>\n                <Text>StreamID in use by another Talker</Text>\n              </Description>\n            </EnumValueType>\n          </Body>\n        </ExtensionObject>\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=7616</Identifier>\n          </TypeId>\n          <Body>\n            <EnumValueType>\n              <Value>5</Value>\n              <DisplayName>\n                <Text>StreamDestinationAddressInUse</Text>\n              </DisplayName>\n              <Description>\n                <Text>Stream destination address already in use</Text>\n              </Description>\n            </EnumValueType>\n          </Body>\n        </ExtensionObject>\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=7616</Identifier>\n          </TypeId>\n          <Body>\n            <EnumValueType>\n              <Value>6</Value>\n              <DisplayName>\n                <Text>StreamPreemptedByHigherRank</Text>\n              </DisplayName>\n              <Description>\n                <Text>Stream pre-empted by higher rank</Text>\n              </Description>\n            </EnumValueType>\n          </Body>\n        </ExtensionObject>\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=7616</Identifier>\n          </TypeId>\n          <Body>\n            <EnumValueType>\n              <Value>7</Value>\n              <DisplayName>\n                <Text>LatencyHasChanged</Text>\n              </DisplayName>\n              <Description>\n                <Text>Reported latency has changed</Text>\n              </Description>\n            </EnumValueType>\n          </Body>\n        </ExtensionObject>\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=7616</Identifier>\n          </TypeId>\n          <Body>\n            <EnumValueType>\n              <Value>8</Value>\n              <DisplayName>\n                <Text>EgressPortNotAvbCapable</Text>\n              </DisplayName>\n              <Description>\n                <Text>Egress port is not AVBCapable</Text>\n              </Description>\n            </EnumValueType>\n          </Body>\n        </ExtensionObject>\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=7616</Identifier>\n          </TypeId>\n          <Body>\n            <EnumValueType>\n              <Value>9</Value>\n              <DisplayName>\n                <Text>UseDifferentDestinationAddress</Text>\n              </DisplayName>\n              <Description>\n                <Text>Use a different destination address</Text>\n              </Description>\n            </EnumValueType>\n          </Body>\n        </ExtensionObject>\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=7616</Identifier>\n          </TypeId>\n          <Body>\n            <EnumValueType>\n              <Value>10</Value>\n              <DisplayName>\n                <Text>OutOfMsrpResources</Text>\n              </DisplayName>\n              <Description>\n                <Text>Out of MSRP resources</Text>\n              </Description>\n            </EnumValueType>\n          </Body>\n        </ExtensionObject>\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=7616</Identifier>\n          </TypeId>\n          <Body>\n            <EnumValueType>\n              <Value>11</Value>\n              <DisplayName>\n                <Text>OutOfMmrpResources</Text>\n              </DisplayName>\n              <Description>\n                <Text>Out of MMRP resources</Text>\n              </Description>\n            </EnumValueType>\n          </Body>\n        </ExtensionObject>\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=7616</Identifier>\n          </TypeId>\n          <Body>\n            <EnumValueType>\n              <Value>12</Value>\n              <DisplayName>\n                <Text>CannotStoreDestinationAddress</Text>\n              </DisplayName>\n              <Description>\n                <Text>Cannot store destination address</Text>\n              </Description>\n            </EnumValueType>\n          </Body>\n        </ExtensionObject>\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=7616</Identifier>\n          </TypeId>\n          <Body>\n            <EnumValueType>\n              <Value>13</Value>\n              <DisplayName>\n                <Text>PriorityIsNotAnSrcClass</Text>\n              </DisplayName>\n              <Description>\n                <Text>Requested priority is not an SR Class priority</Text>\n              </Description>\n            </EnumValueType>\n          </Body>\n        </ExtensionObject>\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=7616</Identifier>\n          </TypeId>\n          <Body>\n            <EnumValueType>\n              <Value>14</Value>\n              <DisplayName>\n                <Text>MaxFrameSizeTooLarge</Text>\n              </DisplayName>\n              <Description>\n                <Text>MaxFrameSize is too large for media</Text>\n              </Description>\n            </EnumValueType>\n          </Body>\n        </ExtensionObject>\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=7616</Identifier>\n          </TypeId>\n          <Body>\n            <EnumValueType>\n              <Value>15</Value>\n              <DisplayName>\n                <Text>MaxFanInPortsLimitReached</Text>\n              </DisplayName>\n              <Description>\n                <Text>MaxFanInPorts limit has been reached</Text>\n              </Description>\n            </EnumValueType>\n          </Body>\n        </ExtensionObject>\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=7616</Identifier>\n          </TypeId>\n          <Body>\n            <EnumValueType>\n              <Value>16</Value>\n              <DisplayName>\n                <Text>FirstValueChangedForStreamId</Text>\n              </DisplayName>\n              <Description>\n                <Text>Changes in FirstValue for a registered StreamID</Text>\n              </Description>\n            </EnumValueType>\n          </Body>\n        </ExtensionObject>\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=7616</Identifier>\n          </TypeId>\n          <Body>\n            <EnumValueType>\n              <Value>17</Value>\n              <DisplayName>\n                <Text>VlanBlockedOnEgress</Text>\n              </DisplayName>\n              <Description>\n                <Text>VLAN is blocked on this egress port (Registration Forbidden)</Text>\n              </Description>\n            </EnumValueType>\n          </Body>\n        </ExtensionObject>\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=7616</Identifier>\n          </TypeId>\n          <Body>\n            <EnumValueType>\n              <Value>18</Value>\n              <DisplayName>\n                <Text>VlanTaggingDisabledOnEgress</Text>\n              </DisplayName>\n              <Description>\n                <Text>VLAN tagging is disabled on this egress port (untagged set)</Text>\n              </Description>\n            </EnumValueType>\n          </Body>\n        </ExtensionObject>\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=7616</Identifier>\n          </TypeId>\n          <Body>\n            <EnumValueType>\n              <Value>19</Value>\n              <DisplayName>\n                <Text>SrClassPriorityMismatch</Text>\n              </DisplayName>\n              <Description>\n                <Text>SR class priority mismatch</Text>\n              </Description>\n            </EnumValueType>\n          </Body>\n        </ExtensionObject>\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=7616</Identifier>\n          </TypeId>\n          <Body>\n            <EnumValueType>\n              <Value>20</Value>\n              <DisplayName>\n                <Text>FeatureNotPropagated</Text>\n              </DisplayName>\n              <Description>\n                <Text>Enhanced feature cannot be propagated to original Port</Text>\n              </Description>\n            </EnumValueType>\n          </Body>\n        </ExtensionObject>\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=7616</Identifier>\n          </TypeId>\n          <Body>\n            <EnumValueType>\n              <Value>21</Value>\n              <DisplayName>\n                <Text>MaxLatencyExceeded</Text>\n              </DisplayName>\n              <Description>\n                <Text>MaxLatency exceeded</Text>\n              </Description>\n            </EnumValueType>\n          </Body>\n        </ExtensionObject>\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=7616</Identifier>\n          </TypeId>\n          <Body>\n            <EnumValueType>\n              <Value>22</Value>\n              <DisplayName>\n                <Text>BridgeDoesNotProvideNetworkId</Text>\n              </DisplayName>\n              <Description>\n                <Text>Nearest Bridge cannot provide network identification for stream transformation</Text>\n              </Description>\n            </EnumValueType>\n          </Body>\n        </ExtensionObject>\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=7616</Identifier>\n          </TypeId>\n          <Body>\n            <EnumValueType>\n              <Value>23</Value>\n              <DisplayName>\n                <Text>StreamTransformNotSupported</Text>\n              </DisplayName>\n              <Description>\n                <Text>Stream transformation not supported</Text>\n              </Description>\n            </EnumValueType>\n          </Body>\n        </ExtensionObject>\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=7616</Identifier>\n          </TypeId>\n          <Body>\n            <EnumValueType>\n              <Value>24</Value>\n              <DisplayName>\n                <Text>StreamIdTypeNotSupported</Text>\n              </DisplayName>\n              <Description>\n                <Text>Stream identification type not supported for stream transformation</Text>\n              </Description>\n            </EnumValueType>\n          </Body>\n        </ExtensionObject>\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=7616</Identifier>\n          </TypeId>\n          <Body>\n            <EnumValueType>\n              <Value>25</Value>\n              <DisplayName>\n                <Text>FeatureNotSupported</Text>\n              </DisplayName>\n              <Description>\n                <Text>Enhanced feature cannot be supported without a CNC</Text>\n              </Description>\n            </EnumValueType>\n          </Body>\n        </ExtensionObject>\n      </ListOfExtensionObject>\n    </Value>\n  </UAVariable>\n  <UADataType NodeId=\"i=24220\" BrowseName=\"TsnStreamState\">\n    <DisplayName>TsnStreamState</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=24240</Reference>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=29</Reference>\n    </References>\n    <Definition Name=\"TsnStreamState\">\n      <Field Name=\"Disabled\" Value=\"0\">\n        <Description>The related TSN Stream is currently disabled.</Description>\n      </Field>\n      <Field Name=\"Configuring\" Value=\"1\">\n        <Description>The related TSN Stream is in the process of receiving configuration parameters from the TSN Control Layer.</Description>\n      </Field>\n      <Field Name=\"Ready\" Value=\"2\">\n        <Description>The related TSN Stream has successfully received and applied the configuration from the TSN Control Layer. The related TSN Stream is not fully operational as long as local preconditions (e.g. synchronization state) are not valid.</Description>\n      </Field>\n      <Field Name=\"Operational\" Value=\"3\">\n        <Description>The related TSN Stream object is configured and all other required preconditions (e.g. synchronization state) for sending / receiving data are valid.</Description>\n      </Field>\n      <Field Name=\"Error\" Value=\"4\">\n        <Description>The related TSN Stream object is in an error state.</Description>\n      </Field>\n    </Definition>\n  </UADataType>\n  <UAVariable NodeId=\"i=24240\" BrowseName=\"EnumValues\" ParentNodeId=\"i=24220\" DataType=\"i=7594\" ValueRank=\"1\" ArrayDimensions=\"0\">\n    <DisplayName>EnumValues</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=24220</Reference>\n    </References>\n    <Value>\n      <ListOfExtensionObject xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=7616</Identifier>\n          </TypeId>\n          <Body>\n            <EnumValueType>\n              <Value>0</Value>\n              <DisplayName>\n                <Text>Disabled</Text>\n              </DisplayName>\n              <Description>\n                <Text>The related TSN Stream is currently disabled.</Text>\n              </Description>\n            </EnumValueType>\n          </Body>\n        </ExtensionObject>\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=7616</Identifier>\n          </TypeId>\n          <Body>\n            <EnumValueType>\n              <Value>1</Value>\n              <DisplayName>\n                <Text>Configuring</Text>\n              </DisplayName>\n              <Description>\n                <Text>The related TSN Stream is in the process of receiving configuration parameters from the TSN Control Layer.</Text>\n              </Description>\n            </EnumValueType>\n          </Body>\n        </ExtensionObject>\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=7616</Identifier>\n          </TypeId>\n          <Body>\n            <EnumValueType>\n              <Value>2</Value>\n              <DisplayName>\n                <Text>Ready</Text>\n              </DisplayName>\n              <Description>\n                <Text>The related TSN Stream has successfully received and applied the configuration from the TSN Control Layer. The related TSN Stream is not fully operational as long as local preconditions (e.g. synchronization state) are not valid.</Text>\n              </Description>\n            </EnumValueType>\n          </Body>\n        </ExtensionObject>\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=7616</Identifier>\n          </TypeId>\n          <Body>\n            <EnumValueType>\n              <Value>3</Value>\n              <DisplayName>\n                <Text>Operational</Text>\n              </DisplayName>\n              <Description>\n                <Text>The related TSN Stream object is configured and all other required preconditions (e.g. synchronization state) for sending / receiving data are valid.</Text>\n              </Description>\n            </EnumValueType>\n          </Body>\n        </ExtensionObject>\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=7616</Identifier>\n          </TypeId>\n          <Body>\n            <EnumValueType>\n              <Value>4</Value>\n              <DisplayName>\n                <Text>Error</Text>\n              </DisplayName>\n              <Description>\n                <Text>The related TSN Stream object is in an error state.</Text>\n              </Description>\n            </EnumValueType>\n          </Body>\n        </ExtensionObject>\n      </ListOfExtensionObject>\n    </Value>\n  </UAVariable>\n  <UADataType NodeId=\"i=24222\" BrowseName=\"TsnTalkerStatus\">\n    <DisplayName>TsnTalkerStatus</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=24241</Reference>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=29</Reference>\n    </References>\n    <Definition Name=\"TsnTalkerStatus\">\n      <Field Name=\"None\" Value=\"0\">\n        <Description>No Talker detected.</Description>\n      </Field>\n      <Field Name=\"Ready\" Value=\"1\">\n        <Description>Talker ready (configured).</Description>\n      </Field>\n      <Field Name=\"Failed\" Value=\"2\">\n        <Description>Talker failed.</Description>\n      </Field>\n    </Definition>\n  </UADataType>\n  <UAVariable NodeId=\"i=24241\" BrowseName=\"EnumValues\" ParentNodeId=\"i=24222\" DataType=\"i=7594\" ValueRank=\"1\" ArrayDimensions=\"0\">\n    <DisplayName>EnumValues</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=24222</Reference>\n    </References>\n    <Value>\n      <ListOfExtensionObject xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=7616</Identifier>\n          </TypeId>\n          <Body>\n            <EnumValueType>\n              <Value>0</Value>\n              <DisplayName>\n                <Text>None</Text>\n              </DisplayName>\n              <Description>\n                <Text>No Talker detected.</Text>\n              </Description>\n            </EnumValueType>\n          </Body>\n        </ExtensionObject>\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=7616</Identifier>\n          </TypeId>\n          <Body>\n            <EnumValueType>\n              <Value>1</Value>\n              <DisplayName>\n                <Text>Ready</Text>\n              </DisplayName>\n              <Description>\n                <Text>Talker ready (configured).</Text>\n              </Description>\n            </EnumValueType>\n          </Body>\n        </ExtensionObject>\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=7616</Identifier>\n          </TypeId>\n          <Body>\n            <EnumValueType>\n              <Value>2</Value>\n              <DisplayName>\n                <Text>Failed</Text>\n              </DisplayName>\n              <Description>\n                <Text>Talker failed.</Text>\n              </Description>\n            </EnumValueType>\n          </Body>\n        </ExtensionObject>\n      </ListOfExtensionObject>\n    </Value>\n  </UAVariable>\n  <UADataType NodeId=\"i=24224\" BrowseName=\"TsnListenerStatus\">\n    <DisplayName>TsnListenerStatus</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=24242</Reference>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=29</Reference>\n    </References>\n    <Definition Name=\"TsnListenerStatus\">\n      <Field Name=\"None\" Value=\"0\">\n        <Description>No Listener detected.</Description>\n      </Field>\n      <Field Name=\"Ready\" Value=\"1\">\n        <Description>Listener ready (configured).</Description>\n      </Field>\n      <Field Name=\"PartialFailed\" Value=\"2\">\n        <Description>One or more Listeners ready, and one or more Listeners failed.</Description>\n      </Field>\n      <Field Name=\"Failed\" Value=\"3\">\n        <Description>Listener failed.</Description>\n      </Field>\n    </Definition>\n  </UADataType>\n  <UAVariable NodeId=\"i=24242\" BrowseName=\"EnumValues\" ParentNodeId=\"i=24224\" DataType=\"i=7594\" ValueRank=\"1\" ArrayDimensions=\"0\">\n    <DisplayName>EnumValues</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=24224</Reference>\n    </References>\n    <Value>\n      <ListOfExtensionObject xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=7616</Identifier>\n          </TypeId>\n          <Body>\n            <EnumValueType>\n              <Value>0</Value>\n              <DisplayName>\n                <Text>None</Text>\n              </DisplayName>\n              <Description>\n                <Text>No Listener detected.</Text>\n              </Description>\n            </EnumValueType>\n          </Body>\n        </ExtensionObject>\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=7616</Identifier>\n          </TypeId>\n          <Body>\n            <EnumValueType>\n              <Value>1</Value>\n              <DisplayName>\n                <Text>Ready</Text>\n              </DisplayName>\n              <Description>\n                <Text>Listener ready (configured).</Text>\n              </Description>\n            </EnumValueType>\n          </Body>\n        </ExtensionObject>\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=7616</Identifier>\n          </TypeId>\n          <Body>\n            <EnumValueType>\n              <Value>2</Value>\n              <DisplayName>\n                <Text>PartialFailed</Text>\n              </DisplayName>\n              <Description>\n                <Text>One or more Listeners ready, and one or more Listeners failed.</Text>\n              </Description>\n            </EnumValueType>\n          </Body>\n        </ExtensionObject>\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=7616</Identifier>\n          </TypeId>\n          <Body>\n            <EnumValueType>\n              <Value>3</Value>\n              <DisplayName>\n                <Text>Failed</Text>\n              </DisplayName>\n              <Description>\n                <Text>Listener failed.</Text>\n              </Description>\n            </EnumValueType>\n          </Body>\n        </ExtensionObject>\n      </ListOfExtensionObject>\n    </Value>\n  </UAVariable>\n  <UADataType NodeId=\"i=24107\" BrowseName=\"UnsignedRationalNumber\">\n    <DisplayName>UnsignedRationalNumber</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=22</Reference>\n    </References>\n    <Definition Name=\"UnsignedRationalNumber\">\n      <Field Name=\"Numerator\" DataType=\"i=7\" />\n      <Field Name=\"Denominator\" DataType=\"i=7\" />\n    </Definition>\n  </UADataType>\n  <UAObject NodeId=\"i=24226\" BrowseName=\"Resources\">\n    <DisplayName>Resources</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=2253</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=61</Reference>\n    </References>\n  </UAObject>\n  <UAObject NodeId=\"i=24227\" BrowseName=\"Communication\">\n    <DisplayName>Communication</DisplayName>\n    <References>\n      <Reference ReferenceType=\"Organizes\" IsForward=\"false\">i=24226</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=61</Reference>\n    </References>\n  </UAObject>\n  <UAObject NodeId=\"i=24228\" BrowseName=\"MappingTables\">\n    <DisplayName>MappingTables</DisplayName>\n    <References>\n      <Reference ReferenceType=\"Organizes\" IsForward=\"false\">i=24227</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=61</Reference>\n    </References>\n  </UAObject>\n  <UAObject NodeId=\"i=24229\" BrowseName=\"NetworkInterfaces\">\n    <DisplayName>NetworkInterfaces</DisplayName>\n    <References>\n      <Reference ReferenceType=\"Organizes\" IsForward=\"false\">i=24227</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=61</Reference>\n    </References>\n  </UAObject>\n  <UAObject NodeId=\"i=24230\" BrowseName=\"Streams\">\n    <DisplayName>Streams</DisplayName>\n    <References>\n      <Reference ReferenceType=\"Organizes\" IsForward=\"false\">i=24227</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=61</Reference>\n    </References>\n  </UAObject>\n  <UAObject NodeId=\"i=24231\" BrowseName=\"TalkerStreams\">\n    <DisplayName>TalkerStreams</DisplayName>\n    <References>\n      <Reference ReferenceType=\"Organizes\" IsForward=\"false\">i=24230</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=61</Reference>\n    </References>\n  </UAObject>\n  <UAObject NodeId=\"i=24232\" BrowseName=\"ListenerStreams\">\n    <DisplayName>ListenerStreams</DisplayName>\n    <References>\n      <Reference ReferenceType=\"Organizes\" IsForward=\"false\">i=24230</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=61</Reference>\n    </References>\n  </UAObject>\n  <UADataType NodeId=\"i=256\" BrowseName=\"IdType\">\n    <DisplayName>IdType</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=7591</Reference>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=29</Reference>\n    </References>\n    <Definition Name=\"IdType\">\n      <Field Name=\"Numeric\" Value=\"0\">\n        <Description>The identifier is a numeric value. 0 is a null value.</Description>\n      </Field>\n      <Field Name=\"String\" Value=\"1\">\n        <Description>The identifier is a string value. An empty string is a null value.</Description>\n      </Field>\n      <Field Name=\"Guid\" Value=\"2\">\n        <Description>The identifier is a 16 byte structure. 16 zero bytes is a null value.</Description>\n      </Field>\n      <Field Name=\"Opaque\" Value=\"3\">\n        <Description>The identifier is an array of bytes. A zero length array is a null value.</Description>\n      </Field>\n    </Definition>\n  </UADataType>\n  <UAVariable NodeId=\"i=7591\" BrowseName=\"EnumStrings\" ParentNodeId=\"i=256\" DataType=\"LocalizedText\" ValueRank=\"1\" ArrayDimensions=\"0\">\n    <DisplayName>EnumStrings</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=256</Reference>\n    </References>\n    <Value>\n      <ListOfLocalizedText xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <LocalizedText>\n          <Text>Numeric</Text>\n        </LocalizedText>\n        <LocalizedText>\n          <Text>String</Text>\n        </LocalizedText>\n        <LocalizedText>\n          <Text>Guid</Text>\n        </LocalizedText>\n        <LocalizedText>\n          <Text>Opaque</Text>\n        </LocalizedText>\n      </ListOfLocalizedText>\n    </Value>\n  </UAVariable>\n  <UADataType NodeId=\"i=257\" BrowseName=\"NodeClass\">\n    <DisplayName>NodeClass</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=11878</Reference>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=29</Reference>\n    </References>\n    <Definition Name=\"NodeClass\">\n      <Field Name=\"Unspecified\" Value=\"0\">\n        <Description>No classes are selected.</Description>\n      </Field>\n      <Field Name=\"Object\" Value=\"1\">\n        <Description>The node is an object.</Description>\n      </Field>\n      <Field Name=\"Variable\" Value=\"2\">\n        <Description>The node is a variable.</Description>\n      </Field>\n      <Field Name=\"Method\" Value=\"4\">\n        <Description>The node is a method.</Description>\n      </Field>\n      <Field Name=\"ObjectType\" Value=\"8\">\n        <Description>The node is an object type.</Description>\n      </Field>\n      <Field Name=\"VariableType\" Value=\"16\">\n        <Description>The node is an variable type.</Description>\n      </Field>\n      <Field Name=\"ReferenceType\" Value=\"32\">\n        <Description>The node is a reference type.</Description>\n      </Field>\n      <Field Name=\"DataType\" Value=\"64\">\n        <Description>The node is a data type.</Description>\n      </Field>\n      <Field Name=\"View\" Value=\"128\">\n        <Description>The node is a view.</Description>\n      </Field>\n    </Definition>\n  </UADataType>\n  <UAVariable NodeId=\"i=11878\" BrowseName=\"EnumValues\" ParentNodeId=\"i=257\" DataType=\"i=7594\" ValueRank=\"1\" ArrayDimensions=\"0\">\n    <DisplayName>EnumValues</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=257</Reference>\n    </References>\n    <Value>\n      <ListOfExtensionObject xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=7616</Identifier>\n          </TypeId>\n          <Body>\n            <EnumValueType>\n              <Value>0</Value>\n              <DisplayName>\n                <Text>Unspecified</Text>\n              </DisplayName>\n              <Description>\n                <Text>No classes are selected.</Text>\n              </Description>\n            </EnumValueType>\n          </Body>\n        </ExtensionObject>\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=7616</Identifier>\n          </TypeId>\n          <Body>\n            <EnumValueType>\n              <Value>1</Value>\n              <DisplayName>\n                <Text>Object</Text>\n              </DisplayName>\n              <Description>\n                <Text>The node is an object.</Text>\n              </Description>\n            </EnumValueType>\n          </Body>\n        </ExtensionObject>\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=7616</Identifier>\n          </TypeId>\n          <Body>\n            <EnumValueType>\n              <Value>2</Value>\n              <DisplayName>\n                <Text>Variable</Text>\n              </DisplayName>\n              <Description>\n                <Text>The node is a variable.</Text>\n              </Description>\n            </EnumValueType>\n          </Body>\n        </ExtensionObject>\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=7616</Identifier>\n          </TypeId>\n          <Body>\n            <EnumValueType>\n              <Value>4</Value>\n              <DisplayName>\n                <Text>Method</Text>\n              </DisplayName>\n              <Description>\n                <Text>The node is a method.</Text>\n              </Description>\n            </EnumValueType>\n          </Body>\n        </ExtensionObject>\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=7616</Identifier>\n          </TypeId>\n          <Body>\n            <EnumValueType>\n              <Value>8</Value>\n              <DisplayName>\n                <Text>ObjectType</Text>\n              </DisplayName>\n              <Description>\n                <Text>The node is an object type.</Text>\n              </Description>\n            </EnumValueType>\n          </Body>\n        </ExtensionObject>\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=7616</Identifier>\n          </TypeId>\n          <Body>\n            <EnumValueType>\n              <Value>16</Value>\n              <DisplayName>\n                <Text>VariableType</Text>\n              </DisplayName>\n              <Description>\n                <Text>The node is an variable type.</Text>\n              </Description>\n            </EnumValueType>\n          </Body>\n        </ExtensionObject>\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=7616</Identifier>\n          </TypeId>\n          <Body>\n            <EnumValueType>\n              <Value>32</Value>\n              <DisplayName>\n                <Text>ReferenceType</Text>\n              </DisplayName>\n              <Description>\n                <Text>The node is a reference type.</Text>\n              </Description>\n            </EnumValueType>\n          </Body>\n        </ExtensionObject>\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=7616</Identifier>\n          </TypeId>\n          <Body>\n            <EnumValueType>\n              <Value>64</Value>\n              <DisplayName>\n                <Text>DataType</Text>\n              </DisplayName>\n              <Description>\n                <Text>The node is a data type.</Text>\n              </Description>\n            </EnumValueType>\n          </Body>\n        </ExtensionObject>\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=7616</Identifier>\n          </TypeId>\n          <Body>\n            <EnumValueType>\n              <Value>128</Value>\n              <DisplayName>\n                <Text>View</Text>\n              </DisplayName>\n              <Description>\n                <Text>The node is a view.</Text>\n              </Description>\n            </EnumValueType>\n          </Body>\n        </ExtensionObject>\n      </ListOfExtensionObject>\n    </Value>\n  </UAVariable>\n  <UADataType NodeId=\"i=94\" BrowseName=\"PermissionType\">\n    <DisplayName>PermissionType</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=15030</Reference>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=7</Reference>\n    </References>\n    <Definition Name=\"PermissionType\" IsOptionSet=\"true\">\n      <Field Name=\"Browse\" Value=\"0\" />\n      <Field Name=\"ReadRolePermissions\" Value=\"1\" />\n      <Field Name=\"WriteAttribute\" Value=\"2\" />\n      <Field Name=\"WriteRolePermissions\" Value=\"3\" />\n      <Field Name=\"WriteHistorizing\" Value=\"4\" />\n      <Field Name=\"Read\" Value=\"5\" />\n      <Field Name=\"Write\" Value=\"6\" />\n      <Field Name=\"ReadHistory\" Value=\"7\" />\n      <Field Name=\"InsertHistory\" Value=\"8\" />\n      <Field Name=\"ModifyHistory\" Value=\"9\" />\n      <Field Name=\"DeleteHistory\" Value=\"10\" />\n      <Field Name=\"ReceiveEvents\" Value=\"11\" />\n      <Field Name=\"Call\" Value=\"12\" />\n      <Field Name=\"AddReference\" Value=\"13\" />\n      <Field Name=\"RemoveReference\" Value=\"14\" />\n      <Field Name=\"DeleteNode\" Value=\"15\" />\n      <Field Name=\"AddNode\" Value=\"16\" />\n    </Definition>\n  </UADataType>\n  <UAVariable NodeId=\"i=15030\" BrowseName=\"OptionSetValues\" ParentNodeId=\"i=94\" DataType=\"LocalizedText\" ValueRank=\"1\" ArrayDimensions=\"0\">\n    <DisplayName>OptionSetValues</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=94</Reference>\n    </References>\n    <Value>\n      <ListOfLocalizedText xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <LocalizedText>\n          <Text>Browse</Text>\n        </LocalizedText>\n        <LocalizedText>\n          <Text>ReadRolePermissions</Text>\n        </LocalizedText>\n        <LocalizedText>\n          <Text>WriteAttribute</Text>\n        </LocalizedText>\n        <LocalizedText>\n          <Text>WriteRolePermissions</Text>\n        </LocalizedText>\n        <LocalizedText>\n          <Text>WriteHistorizing</Text>\n        </LocalizedText>\n        <LocalizedText>\n          <Text>Read</Text>\n        </LocalizedText>\n        <LocalizedText>\n          <Text>Write</Text>\n        </LocalizedText>\n        <LocalizedText>\n          <Text>ReadHistory</Text>\n        </LocalizedText>\n        <LocalizedText>\n          <Text>InsertHistory</Text>\n        </LocalizedText>\n        <LocalizedText>\n          <Text>ModifyHistory</Text>\n        </LocalizedText>\n        <LocalizedText>\n          <Text>DeleteHistory</Text>\n        </LocalizedText>\n        <LocalizedText>\n          <Text>ReceiveEvents</Text>\n        </LocalizedText>\n        <LocalizedText>\n          <Text>Call</Text>\n        </LocalizedText>\n        <LocalizedText>\n          <Text>AddReference</Text>\n        </LocalizedText>\n        <LocalizedText>\n          <Text>RemoveReference</Text>\n        </LocalizedText>\n        <LocalizedText>\n          <Text>DeleteNode</Text>\n        </LocalizedText>\n        <LocalizedText>\n          <Text>AddNode</Text>\n        </LocalizedText>\n      </ListOfLocalizedText>\n    </Value>\n  </UAVariable>\n  <UADataType NodeId=\"i=15031\" BrowseName=\"AccessLevelType\">\n    <DisplayName>AccessLevelType</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=15032</Reference>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=3</Reference>\n    </References>\n    <Definition Name=\"AccessLevelType\" IsOptionSet=\"true\">\n      <Field Name=\"CurrentRead\" Value=\"0\" />\n      <Field Name=\"CurrentWrite\" Value=\"1\" />\n      <Field Name=\"HistoryRead\" Value=\"2\" />\n      <Field Name=\"HistoryWrite\" Value=\"3\" />\n      <Field Name=\"SemanticChange\" Value=\"4\" />\n      <Field Name=\"StatusWrite\" Value=\"5\" />\n      <Field Name=\"TimestampWrite\" Value=\"6\" />\n    </Definition>\n  </UADataType>\n  <UAVariable NodeId=\"i=15032\" BrowseName=\"OptionSetValues\" ParentNodeId=\"i=15031\" DataType=\"LocalizedText\" ValueRank=\"1\" ArrayDimensions=\"0\">\n    <DisplayName>OptionSetValues</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=15031</Reference>\n    </References>\n    <Value>\n      <ListOfLocalizedText xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <LocalizedText>\n          <Text>CurrentRead</Text>\n        </LocalizedText>\n        <LocalizedText>\n          <Text>CurrentWrite</Text>\n        </LocalizedText>\n        <LocalizedText>\n          <Text>HistoryRead</Text>\n        </LocalizedText>\n        <LocalizedText>\n          <Text>HistoryWrite</Text>\n        </LocalizedText>\n        <LocalizedText>\n          <Text>SemanticChange</Text>\n        </LocalizedText>\n        <LocalizedText>\n          <Text>StatusWrite</Text>\n        </LocalizedText>\n        <LocalizedText>\n          <Text>TimestampWrite</Text>\n        </LocalizedText>\n      </ListOfLocalizedText>\n    </Value>\n  </UAVariable>\n  <UADataType NodeId=\"i=15406\" BrowseName=\"AccessLevelExType\">\n    <DisplayName>AccessLevelExType</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=15407</Reference>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=7</Reference>\n    </References>\n    <Definition Name=\"AccessLevelExType\" IsOptionSet=\"true\">\n      <Field Name=\"CurrentRead\" Value=\"0\" />\n      <Field Name=\"CurrentWrite\" Value=\"1\" />\n      <Field Name=\"HistoryRead\" Value=\"2\" />\n      <Field Name=\"HistoryWrite\" Value=\"3\" />\n      <Field Name=\"SemanticChange\" Value=\"4\" />\n      <Field Name=\"StatusWrite\" Value=\"5\" />\n      <Field Name=\"TimestampWrite\" Value=\"6\" />\n      <Field Name=\"NonatomicRead\" Value=\"8\" />\n      <Field Name=\"NonatomicWrite\" Value=\"9\" />\n      <Field Name=\"WriteFullArrayOnly\" Value=\"10\" />\n      <Field Name=\"NoSubDataTypes\" Value=\"11\" />\n    </Definition>\n  </UADataType>\n  <UAVariable NodeId=\"i=15407\" BrowseName=\"OptionSetValues\" ParentNodeId=\"i=15406\" DataType=\"LocalizedText\" ValueRank=\"1\" ArrayDimensions=\"0\">\n    <DisplayName>OptionSetValues</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=15406</Reference>\n    </References>\n    <Value>\n      <ListOfLocalizedText xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <LocalizedText>\n          <Text>CurrentRead</Text>\n        </LocalizedText>\n        <LocalizedText>\n          <Text>CurrentWrite</Text>\n        </LocalizedText>\n        <LocalizedText>\n          <Text>HistoryRead</Text>\n        </LocalizedText>\n        <LocalizedText>\n          <Text>HistoryWrite</Text>\n        </LocalizedText>\n        <LocalizedText>\n          <Text>SemanticChange</Text>\n        </LocalizedText>\n        <LocalizedText>\n          <Text>StatusWrite</Text>\n        </LocalizedText>\n        <LocalizedText>\n          <Text>TimestampWrite</Text>\n        </LocalizedText>\n        <LocalizedText>\n          <Text>Reserved</Text>\n        </LocalizedText>\n        <LocalizedText>\n          <Text>NonatomicRead</Text>\n        </LocalizedText>\n        <LocalizedText>\n          <Text>NonatomicWrite</Text>\n        </LocalizedText>\n        <LocalizedText>\n          <Text>WriteFullArrayOnly</Text>\n        </LocalizedText>\n        <LocalizedText>\n          <Text>NoSubDataTypes</Text>\n        </LocalizedText>\n      </ListOfLocalizedText>\n    </Value>\n  </UAVariable>\n  <UADataType NodeId=\"i=15033\" BrowseName=\"EventNotifierType\">\n    <DisplayName>EventNotifierType</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=15034</Reference>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=3</Reference>\n    </References>\n    <Definition Name=\"EventNotifierType\" IsOptionSet=\"true\">\n      <Field Name=\"SubscribeToEvents\" Value=\"0\" />\n      <Field Name=\"HistoryRead\" Value=\"2\" />\n      <Field Name=\"HistoryWrite\" Value=\"3\" />\n    </Definition>\n  </UADataType>\n  <UAVariable NodeId=\"i=15034\" BrowseName=\"OptionSetValues\" ParentNodeId=\"i=15033\" DataType=\"LocalizedText\" ValueRank=\"1\" ArrayDimensions=\"0\">\n    <DisplayName>OptionSetValues</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=15033</Reference>\n    </References>\n    <Value>\n      <ListOfLocalizedText xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <LocalizedText>\n          <Text>SubscribeToEvents</Text>\n        </LocalizedText>\n        <LocalizedText>\n          <Text>Reserved</Text>\n        </LocalizedText>\n        <LocalizedText>\n          <Text>HistoryRead</Text>\n        </LocalizedText>\n        <LocalizedText>\n          <Text>HistoryWrite</Text>\n        </LocalizedText>\n      </ListOfLocalizedText>\n    </Value>\n  </UAVariable>\n  <UADataType NodeId=\"i=95\" BrowseName=\"AccessRestrictionType\">\n    <DisplayName>AccessRestrictionType</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=15035</Reference>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=5</Reference>\n    </References>\n    <Definition Name=\"AccessRestrictionType\" IsOptionSet=\"true\">\n      <Field Name=\"SigningRequired\" Value=\"0\" />\n      <Field Name=\"EncryptionRequired\" Value=\"1\" />\n      <Field Name=\"SessionRequired\" Value=\"2\" />\n      <Field Name=\"ApplyRestrictionsToBrowse\" Value=\"3\" />\n    </Definition>\n  </UADataType>\n  <UAVariable NodeId=\"i=15035\" BrowseName=\"OptionSetValues\" ParentNodeId=\"i=95\" DataType=\"LocalizedText\" ValueRank=\"1\" ArrayDimensions=\"0\">\n    <DisplayName>OptionSetValues</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=95</Reference>\n    </References>\n    <Value>\n      <ListOfLocalizedText xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <LocalizedText>\n          <Text>SigningRequired</Text>\n        </LocalizedText>\n        <LocalizedText>\n          <Text>EncryptionRequired</Text>\n        </LocalizedText>\n        <LocalizedText>\n          <Text>SessionRequired</Text>\n        </LocalizedText>\n        <LocalizedText>\n          <Text>ApplyRestrictionsToBrowse</Text>\n        </LocalizedText>\n      </ListOfLocalizedText>\n    </Value>\n  </UAVariable>\n  <UADataType NodeId=\"i=96\" BrowseName=\"RolePermissionType\">\n    <DisplayName>RolePermissionType</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=22</Reference>\n    </References>\n    <Definition Name=\"RolePermissionType\">\n      <Field Name=\"RoleId\" DataType=\"i=17\" />\n      <Field Name=\"Permissions\" DataType=\"i=94\" />\n    </Definition>\n  </UADataType>\n  <UADataType NodeId=\"i=97\" BrowseName=\"DataTypeDefinition\" IsAbstract=\"true\">\n    <DisplayName>DataTypeDefinition</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=22</Reference>\n    </References>\n    <Definition Name=\"DataTypeDefinition\" />\n  </UADataType>\n  <UADataType NodeId=\"i=98\" BrowseName=\"StructureType\">\n    <DisplayName>StructureType</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=14528</Reference>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=29</Reference>\n    </References>\n    <Definition Name=\"StructureType\">\n      <Field Name=\"Structure\" Value=\"0\" />\n      <Field Name=\"StructureWithOptionalFields\" Value=\"1\" />\n      <Field Name=\"Union\" Value=\"2\" />\n      <Field Name=\"StructureWithSubtypedValues\" Value=\"3\" />\n      <Field Name=\"UnionWithSubtypedValues\" Value=\"4\" />\n    </Definition>\n  </UADataType>\n  <UAVariable NodeId=\"i=14528\" BrowseName=\"EnumStrings\" ParentNodeId=\"i=98\" DataType=\"LocalizedText\" ValueRank=\"1\" ArrayDimensions=\"0\">\n    <DisplayName>EnumStrings</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=98</Reference>\n    </References>\n    <Value>\n      <ListOfLocalizedText xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <LocalizedText>\n          <Text>Structure</Text>\n        </LocalizedText>\n        <LocalizedText>\n          <Text>StructureWithOptionalFields</Text>\n        </LocalizedText>\n        <LocalizedText>\n          <Text>Union</Text>\n        </LocalizedText>\n        <LocalizedText>\n          <Text>StructureWithSubtypedValues</Text>\n        </LocalizedText>\n        <LocalizedText>\n          <Text>UnionWithSubtypedValues</Text>\n        </LocalizedText>\n      </ListOfLocalizedText>\n    </Value>\n  </UAVariable>\n  <UADataType NodeId=\"i=101\" BrowseName=\"StructureField\">\n    <DisplayName>StructureField</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=22</Reference>\n    </References>\n    <Definition Name=\"StructureField\">\n      <Field Name=\"Name\" DataType=\"i=12\" />\n      <Field Name=\"Description\" DataType=\"i=21\" />\n      <Field Name=\"DataType\" DataType=\"i=17\" />\n      <Field Name=\"ValueRank\" DataType=\"i=6\" />\n      <Field Name=\"ArrayDimensions\" DataType=\"i=7\" ValueRank=\"1\" />\n      <Field Name=\"MaxStringLength\" DataType=\"i=7\" />\n      <Field Name=\"IsOptional\" DataType=\"i=1\" />\n    </Definition>\n  </UADataType>\n  <UADataType NodeId=\"i=99\" BrowseName=\"StructureDefinition\">\n    <DisplayName>StructureDefinition</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=97</Reference>\n    </References>\n    <Definition Name=\"StructureDefinition\">\n      <Field Name=\"DefaultEncodingId\" DataType=\"i=17\" />\n      <Field Name=\"BaseDataType\" DataType=\"i=17\" />\n      <Field Name=\"StructureType\" DataType=\"i=98\" />\n      <Field Name=\"Fields\" DataType=\"i=101\" ValueRank=\"1\" />\n    </Definition>\n  </UADataType>\n  <UADataType NodeId=\"i=100\" BrowseName=\"EnumDefinition\">\n    <DisplayName>EnumDefinition</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=97</Reference>\n    </References>\n    <Definition Name=\"EnumDefinition\">\n      <Field Name=\"Fields\" DataType=\"i=102\" ValueRank=\"1\" />\n    </Definition>\n  </UADataType>\n  <UADataType NodeId=\"i=296\" BrowseName=\"Argument\">\n    <DisplayName>Argument</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=22</Reference>\n    </References>\n    <Definition Name=\"Argument\">\n      <Field Name=\"Name\" DataType=\"i=12\" />\n      <Field Name=\"DataType\" DataType=\"i=17\" />\n      <Field Name=\"ValueRank\" DataType=\"i=6\" />\n      <Field Name=\"ArrayDimensions\" DataType=\"i=7\" ValueRank=\"1\" />\n      <Field Name=\"Description\" DataType=\"i=21\" />\n    </Definition>\n  </UADataType>\n  <UADataType NodeId=\"i=7594\" BrowseName=\"EnumValueType\">\n    <DisplayName>EnumValueType</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=22</Reference>\n    </References>\n    <Definition Name=\"EnumValueType\">\n      <Field Name=\"Value\" DataType=\"i=8\" />\n      <Field Name=\"DisplayName\" DataType=\"i=21\" />\n      <Field Name=\"Description\" DataType=\"i=21\" />\n    </Definition>\n  </UADataType>\n  <UADataType NodeId=\"i=102\" BrowseName=\"EnumField\">\n    <DisplayName>EnumField</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=7594</Reference>\n    </References>\n    <Definition Name=\"EnumField\">\n      <Field Name=\"Name\" DataType=\"i=12\" />\n    </Definition>\n  </UADataType>\n  <UADataType NodeId=\"i=12755\" BrowseName=\"OptionSet\" IsAbstract=\"true\">\n    <DisplayName>OptionSet</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=22</Reference>\n    </References>\n    <Definition Name=\"OptionSet\">\n      <Field Name=\"Value\" DataType=\"i=15\" />\n      <Field Name=\"ValidBits\" DataType=\"i=15\" />\n    </Definition>\n  </UADataType>\n  <UADataType NodeId=\"i=12877\" BrowseName=\"NormalizedString\">\n    <DisplayName>NormalizedString</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=12</Reference>\n    </References>\n  </UADataType>\n  <UADataType NodeId=\"i=12878\" BrowseName=\"DecimalString\">\n    <DisplayName>DecimalString</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=12</Reference>\n    </References>\n  </UADataType>\n  <UADataType NodeId=\"i=12879\" BrowseName=\"DurationString\">\n    <DisplayName>DurationString</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=12</Reference>\n    </References>\n  </UADataType>\n  <UADataType NodeId=\"i=12880\" BrowseName=\"TimeString\">\n    <DisplayName>TimeString</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=12</Reference>\n    </References>\n  </UADataType>\n  <UADataType NodeId=\"i=12881\" BrowseName=\"DateString\">\n    <DisplayName>DateString</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=12</Reference>\n    </References>\n  </UADataType>\n  <UADataType NodeId=\"i=290\" BrowseName=\"Duration\">\n    <DisplayName>Duration</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=11</Reference>\n    </References>\n  </UADataType>\n  <UADataType NodeId=\"i=294\" BrowseName=\"UtcTime\">\n    <DisplayName>UtcTime</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=13</Reference>\n    </References>\n  </UADataType>\n  <UADataType NodeId=\"i=292\" BrowseName=\"Time\" ReleaseStatus=\"Deprecated\">\n    <DisplayName>Time</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=12</Reference>\n    </References>\n  </UADataType>\n  <UADataType NodeId=\"i=293\" BrowseName=\"Date\" ReleaseStatus=\"Deprecated\">\n    <DisplayName>Date</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=13</Reference>\n    </References>\n  </UADataType>\n  <UADataType NodeId=\"i=295\" BrowseName=\"LocaleId\">\n    <DisplayName>LocaleId</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=12</Reference>\n    </References>\n  </UADataType>\n  <UADataType NodeId=\"i=8912\" BrowseName=\"TimeZoneDataType\">\n    <DisplayName>TimeZoneDataType</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=22</Reference>\n    </References>\n    <Definition Name=\"TimeZoneDataType\">\n      <Field Name=\"Offset\" DataType=\"i=4\" />\n      <Field Name=\"DaylightSavingInOffset\" DataType=\"i=1\" />\n    </Definition>\n  </UADataType>\n  <UADataType NodeId=\"i=17588\" BrowseName=\"Index\">\n    <DisplayName>Index</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=7</Reference>\n    </References>\n  </UADataType>\n  <UADataType NodeId=\"i=288\" BrowseName=\"IntegerId\">\n    <DisplayName>IntegerId</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=7</Reference>\n    </References>\n  </UADataType>\n  <UADataType NodeId=\"i=307\" BrowseName=\"ApplicationType\">\n    <DisplayName>ApplicationType</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=7597</Reference>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=29</Reference>\n    </References>\n    <Definition Name=\"ApplicationType\">\n      <Field Name=\"Server\" Value=\"0\">\n        <Description>The application is a server.</Description>\n      </Field>\n      <Field Name=\"Client\" Value=\"1\">\n        <Description>The application is a client.</Description>\n      </Field>\n      <Field Name=\"ClientAndServer\" Value=\"2\">\n        <Description>The application is a client and a server.</Description>\n      </Field>\n      <Field Name=\"DiscoveryServer\" Value=\"3\">\n        <Description>The application is a discovery server.</Description>\n      </Field>\n    </Definition>\n  </UADataType>\n  <UAVariable NodeId=\"i=7597\" BrowseName=\"EnumStrings\" ParentNodeId=\"i=307\" DataType=\"LocalizedText\" ValueRank=\"1\" ArrayDimensions=\"0\">\n    <DisplayName>EnumStrings</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=307</Reference>\n    </References>\n    <Value>\n      <ListOfLocalizedText xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <LocalizedText>\n          <Text>Server</Text>\n        </LocalizedText>\n        <LocalizedText>\n          <Text>Client</Text>\n        </LocalizedText>\n        <LocalizedText>\n          <Text>ClientAndServer</Text>\n        </LocalizedText>\n        <LocalizedText>\n          <Text>DiscoveryServer</Text>\n        </LocalizedText>\n      </ListOfLocalizedText>\n    </Value>\n  </UAVariable>\n  <UADataType NodeId=\"i=308\" BrowseName=\"ApplicationDescription\">\n    <DisplayName>ApplicationDescription</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=22</Reference>\n    </References>\n    <Definition Name=\"ApplicationDescription\">\n      <Field Name=\"ApplicationUri\" DataType=\"i=12\" />\n      <Field Name=\"ProductUri\" DataType=\"i=12\" />\n      <Field Name=\"ApplicationName\" DataType=\"i=21\" />\n      <Field Name=\"ApplicationType\" DataType=\"i=307\" />\n      <Field Name=\"GatewayServerUri\" DataType=\"i=12\" />\n      <Field Name=\"DiscoveryProfileUri\" DataType=\"i=12\" />\n      <Field Name=\"DiscoveryUrls\" DataType=\"i=12\" ValueRank=\"1\" />\n    </Definition>\n  </UADataType>\n  <UADataType NodeId=\"i=20998\" BrowseName=\"VersionTime\">\n    <DisplayName>VersionTime</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=7</Reference>\n    </References>\n  </UADataType>\n  <UADataType NodeId=\"i=12189\" BrowseName=\"ServerOnNetwork\">\n    <DisplayName>ServerOnNetwork</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=22</Reference>\n    </References>\n    <Definition Name=\"ServerOnNetwork\">\n      <Field Name=\"RecordId\" DataType=\"i=7\" />\n      <Field Name=\"ServerName\" DataType=\"i=12\" />\n      <Field Name=\"DiscoveryUrl\" DataType=\"i=12\" />\n      <Field Name=\"ServerCapabilities\" DataType=\"i=12\" ValueRank=\"1\" />\n    </Definition>\n  </UADataType>\n  <UADataType NodeId=\"i=311\" BrowseName=\"ApplicationInstanceCertificate\">\n    <DisplayName>ApplicationInstanceCertificate</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=15</Reference>\n    </References>\n  </UADataType>\n  <UADataType NodeId=\"i=302\" BrowseName=\"MessageSecurityMode\">\n    <DisplayName>MessageSecurityMode</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=7595</Reference>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=29</Reference>\n    </References>\n    <Definition Name=\"MessageSecurityMode\">\n      <Field Name=\"Invalid\" Value=\"0\">\n        <Description>An invalid mode.</Description>\n      </Field>\n      <Field Name=\"None\" Value=\"1\">\n        <Description>No security is used.</Description>\n      </Field>\n      <Field Name=\"Sign\" Value=\"2\">\n        <Description>The message is signed.</Description>\n      </Field>\n      <Field Name=\"SignAndEncrypt\" Value=\"3\">\n        <Description>The message is signed and encrypted.</Description>\n      </Field>\n    </Definition>\n  </UADataType>\n  <UAVariable NodeId=\"i=7595\" BrowseName=\"EnumStrings\" ParentNodeId=\"i=302\" DataType=\"LocalizedText\" ValueRank=\"1\" ArrayDimensions=\"0\">\n    <DisplayName>EnumStrings</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=302</Reference>\n    </References>\n    <Value>\n      <ListOfLocalizedText xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <LocalizedText>\n          <Text>Invalid</Text>\n        </LocalizedText>\n        <LocalizedText>\n          <Text>None</Text>\n        </LocalizedText>\n        <LocalizedText>\n          <Text>Sign</Text>\n        </LocalizedText>\n        <LocalizedText>\n          <Text>SignAndEncrypt</Text>\n        </LocalizedText>\n      </ListOfLocalizedText>\n    </Value>\n  </UAVariable>\n  <UADataType NodeId=\"i=303\" BrowseName=\"UserTokenType\">\n    <DisplayName>UserTokenType</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=7596</Reference>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=29</Reference>\n    </References>\n    <Definition Name=\"UserTokenType\">\n      <Field Name=\"Anonymous\" Value=\"0\">\n        <Description>An anonymous user.</Description>\n      </Field>\n      <Field Name=\"UserName\" Value=\"1\">\n        <Description>A user identified by a user name and password.</Description>\n      </Field>\n      <Field Name=\"Certificate\" Value=\"2\">\n        <Description>A user identified by an X509 certificate.</Description>\n      </Field>\n      <Field Name=\"IssuedToken\" Value=\"3\">\n        <Description>A user identified by WS-Security XML token.</Description>\n      </Field>\n    </Definition>\n  </UADataType>\n  <UAVariable NodeId=\"i=7596\" BrowseName=\"EnumStrings\" ParentNodeId=\"i=303\" DataType=\"LocalizedText\" ValueRank=\"1\" ArrayDimensions=\"0\">\n    <DisplayName>EnumStrings</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=303</Reference>\n    </References>\n    <Value>\n      <ListOfLocalizedText xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <LocalizedText>\n          <Text>Anonymous</Text>\n        </LocalizedText>\n        <LocalizedText>\n          <Text>UserName</Text>\n        </LocalizedText>\n        <LocalizedText>\n          <Text>Certificate</Text>\n        </LocalizedText>\n        <LocalizedText>\n          <Text>IssuedToken</Text>\n        </LocalizedText>\n      </ListOfLocalizedText>\n    </Value>\n  </UAVariable>\n  <UADataType NodeId=\"i=304\" BrowseName=\"UserTokenPolicy\">\n    <DisplayName>UserTokenPolicy</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=22</Reference>\n    </References>\n    <Definition Name=\"UserTokenPolicy\">\n      <Field Name=\"PolicyId\" DataType=\"i=12\" />\n      <Field Name=\"TokenType\" DataType=\"i=303\" />\n      <Field Name=\"IssuedTokenType\" DataType=\"i=12\" />\n      <Field Name=\"IssuerEndpointUrl\" DataType=\"i=12\" />\n      <Field Name=\"SecurityPolicyUri\" DataType=\"i=12\" />\n    </Definition>\n  </UADataType>\n  <UADataType NodeId=\"i=312\" BrowseName=\"EndpointDescription\">\n    <DisplayName>EndpointDescription</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=22</Reference>\n    </References>\n    <Definition Name=\"EndpointDescription\">\n      <Field Name=\"EndpointUrl\" DataType=\"i=12\" />\n      <Field Name=\"Server\" DataType=\"i=308\" />\n      <Field Name=\"ServerCertificate\" DataType=\"i=311\" />\n      <Field Name=\"SecurityMode\" DataType=\"i=302\" />\n      <Field Name=\"SecurityPolicyUri\" DataType=\"i=12\" />\n      <Field Name=\"UserIdentityTokens\" DataType=\"i=304\" ValueRank=\"1\" />\n      <Field Name=\"TransportProfileUri\" DataType=\"i=12\" />\n      <Field Name=\"SecurityLevel\" DataType=\"i=3\" />\n    </Definition>\n  </UADataType>\n  <UADataType NodeId=\"i=432\" BrowseName=\"RegisteredServer\">\n    <DisplayName>RegisteredServer</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=22</Reference>\n    </References>\n    <Definition Name=\"RegisteredServer\">\n      <Field Name=\"ServerUri\" DataType=\"i=12\" />\n      <Field Name=\"ProductUri\" DataType=\"i=12\" />\n      <Field Name=\"ServerNames\" DataType=\"i=21\" ValueRank=\"1\" />\n      <Field Name=\"ServerType\" DataType=\"i=307\" />\n      <Field Name=\"GatewayServerUri\" DataType=\"i=12\" />\n      <Field Name=\"DiscoveryUrls\" DataType=\"i=12\" ValueRank=\"1\" />\n      <Field Name=\"SemaphoreFilePath\" DataType=\"i=12\" />\n      <Field Name=\"IsOnline\" DataType=\"i=1\" />\n    </Definition>\n  </UADataType>\n  <UADataType NodeId=\"i=12890\" BrowseName=\"DiscoveryConfiguration\">\n    <DisplayName>DiscoveryConfiguration</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=22</Reference>\n    </References>\n    <Definition Name=\"DiscoveryConfiguration\" />\n  </UADataType>\n  <UADataType NodeId=\"i=12891\" BrowseName=\"MdnsDiscoveryConfiguration\">\n    <DisplayName>MdnsDiscoveryConfiguration</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=12890</Reference>\n    </References>\n    <Definition Name=\"MdnsDiscoveryConfiguration\">\n      <Field Name=\"MdnsServerName\" DataType=\"i=12\" />\n      <Field Name=\"ServerCapabilities\" DataType=\"i=12\" ValueRank=\"1\" />\n    </Definition>\n  </UADataType>\n  <UADataType NodeId=\"i=315\" BrowseName=\"SecurityTokenRequestType\">\n    <DisplayName>SecurityTokenRequestType</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=7598</Reference>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=29</Reference>\n    </References>\n    <Definition Name=\"SecurityTokenRequestType\">\n      <Field Name=\"Issue\" Value=\"0\">\n        <Description>The channel is being created.</Description>\n      </Field>\n      <Field Name=\"Renew\" Value=\"1\">\n        <Description>The channel is being renewed.</Description>\n      </Field>\n    </Definition>\n  </UADataType>\n  <UAVariable NodeId=\"i=7598\" BrowseName=\"EnumStrings\" ParentNodeId=\"i=315\" DataType=\"LocalizedText\" ValueRank=\"1\" ArrayDimensions=\"0\">\n    <DisplayName>EnumStrings</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=315</Reference>\n    </References>\n    <Value>\n      <ListOfLocalizedText xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <LocalizedText>\n          <Text>Issue</Text>\n        </LocalizedText>\n        <LocalizedText>\n          <Text>Renew</Text>\n        </LocalizedText>\n      </ListOfLocalizedText>\n    </Value>\n  </UAVariable>\n  <UADataType NodeId=\"i=344\" BrowseName=\"SignedSoftwareCertificate\">\n    <DisplayName>SignedSoftwareCertificate</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=22</Reference>\n    </References>\n    <Definition Name=\"SignedSoftwareCertificate\">\n      <Field Name=\"CertificateData\" DataType=\"i=15\" />\n      <Field Name=\"Signature\" DataType=\"i=15\" />\n    </Definition>\n  </UADataType>\n  <UADataType NodeId=\"i=388\" BrowseName=\"SessionAuthenticationToken\">\n    <DisplayName>SessionAuthenticationToken</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=17</Reference>\n    </References>\n  </UADataType>\n  <UADataType NodeId=\"i=316\" BrowseName=\"UserIdentityToken\" IsAbstract=\"true\">\n    <DisplayName>UserIdentityToken</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=22</Reference>\n    </References>\n    <Definition Name=\"UserIdentityToken\">\n      <Field Name=\"PolicyId\" DataType=\"i=12\" />\n    </Definition>\n  </UADataType>\n  <UADataType NodeId=\"i=319\" BrowseName=\"AnonymousIdentityToken\">\n    <DisplayName>AnonymousIdentityToken</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=316</Reference>\n    </References>\n    <Definition Name=\"AnonymousIdentityToken\" />\n  </UADataType>\n  <UADataType NodeId=\"i=322\" BrowseName=\"UserNameIdentityToken\">\n    <DisplayName>UserNameIdentityToken</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=316</Reference>\n    </References>\n    <Definition Name=\"UserNameIdentityToken\">\n      <Field Name=\"UserName\" DataType=\"i=12\" />\n      <Field Name=\"Password\" DataType=\"i=15\" />\n      <Field Name=\"EncryptionAlgorithm\" DataType=\"i=12\" />\n    </Definition>\n  </UADataType>\n  <UADataType NodeId=\"i=325\" BrowseName=\"X509IdentityToken\">\n    <DisplayName>X509IdentityToken</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=316</Reference>\n    </References>\n    <Definition Name=\"X509IdentityToken\">\n      <Field Name=\"CertificateData\" DataType=\"i=15\" />\n    </Definition>\n  </UADataType>\n  <UADataType NodeId=\"i=938\" BrowseName=\"IssuedIdentityToken\">\n    <DisplayName>IssuedIdentityToken</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=316</Reference>\n    </References>\n    <Definition Name=\"IssuedIdentityToken\">\n      <Field Name=\"TokenData\" DataType=\"i=15\" />\n      <Field Name=\"EncryptionAlgorithm\" DataType=\"i=12\" />\n    </Definition>\n  </UADataType>\n  <UADataType NodeId=\"i=348\" BrowseName=\"NodeAttributesMask\">\n    <DisplayName>NodeAttributesMask</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=11881</Reference>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=29</Reference>\n    </References>\n    <Definition Name=\"NodeAttributesMask\">\n      <Field Name=\"None\" Value=\"0\">\n        <Description>No attribuites provided.</Description>\n      </Field>\n      <Field Name=\"AccessLevel\" Value=\"1\">\n        <Description>The access level attribute is specified.</Description>\n      </Field>\n      <Field Name=\"ArrayDimensions\" Value=\"2\">\n        <Description>The array dimensions attribute is specified.</Description>\n      </Field>\n      <Field Name=\"BrowseName\" Value=\"4\">\n        <Description>The browse name attribute is specified.</Description>\n      </Field>\n      <Field Name=\"ContainsNoLoops\" Value=\"8\">\n        <Description>The contains no loops attribute is specified.</Description>\n      </Field>\n      <Field Name=\"DataType\" Value=\"16\">\n        <Description>The data type attribute is specified.</Description>\n      </Field>\n      <Field Name=\"Description\" Value=\"32\">\n        <Description>The description attribute is specified.</Description>\n      </Field>\n      <Field Name=\"DisplayName\" Value=\"64\">\n        <Description>The display name attribute is specified.</Description>\n      </Field>\n      <Field Name=\"EventNotifier\" Value=\"128\">\n        <Description>The event notifier attribute is specified.</Description>\n      </Field>\n      <Field Name=\"Executable\" Value=\"256\">\n        <Description>The executable attribute is specified.</Description>\n      </Field>\n      <Field Name=\"Historizing\" Value=\"512\">\n        <Description>The historizing attribute is specified.</Description>\n      </Field>\n      <Field Name=\"InverseName\" Value=\"1024\">\n        <Description>The inverse name attribute is specified.</Description>\n      </Field>\n      <Field Name=\"IsAbstract\" Value=\"2048\">\n        <Description>The is abstract attribute is specified.</Description>\n      </Field>\n      <Field Name=\"MinimumSamplingInterval\" Value=\"4096\">\n        <Description>The minimum sampling interval attribute is specified.</Description>\n      </Field>\n      <Field Name=\"NodeClass\" Value=\"8192\">\n        <Description>The node class attribute is specified.</Description>\n      </Field>\n      <Field Name=\"NodeId\" Value=\"16384\">\n        <Description>The node id attribute is specified.</Description>\n      </Field>\n      <Field Name=\"Symmetric\" Value=\"32768\">\n        <Description>The symmetric attribute is specified.</Description>\n      </Field>\n      <Field Name=\"UserAccessLevel\" Value=\"65536\">\n        <Description>The user access level attribute is specified.</Description>\n      </Field>\n      <Field Name=\"UserExecutable\" Value=\"131072\">\n        <Description>The user executable attribute is specified.</Description>\n      </Field>\n      <Field Name=\"UserWriteMask\" Value=\"262144\">\n        <Description>The user write mask attribute is specified.</Description>\n      </Field>\n      <Field Name=\"ValueRank\" Value=\"524288\">\n        <Description>The value rank attribute is specified.</Description>\n      </Field>\n      <Field Name=\"WriteMask\" Value=\"1048576\">\n        <Description>The write mask attribute is specified.</Description>\n      </Field>\n      <Field Name=\"Value\" Value=\"2097152\">\n        <Description>The value attribute is specified.</Description>\n      </Field>\n      <Field Name=\"DataTypeDefinition\" Value=\"4194304\">\n        <Description>The write mask attribute is specified.</Description>\n      </Field>\n      <Field Name=\"RolePermissions\" Value=\"8388608\">\n        <Description>The write mask attribute is specified.</Description>\n      </Field>\n      <Field Name=\"AccessRestrictions\" Value=\"16777216\">\n        <Description>The write mask attribute is specified.</Description>\n      </Field>\n      <Field Name=\"All\" Value=\"33554431\">\n        <Description>All attributes are specified.</Description>\n      </Field>\n      <Field Name=\"BaseNode\" Value=\"26501220\">\n        <Description>All base attributes are specified.</Description>\n      </Field>\n      <Field Name=\"Object\" Value=\"26501348\">\n        <Description>All object attributes are specified.</Description>\n      </Field>\n      <Field Name=\"ObjectType\" Value=\"26503268\">\n        <Description>All object type attributes are specified.</Description>\n      </Field>\n      <Field Name=\"Variable\" Value=\"26571383\">\n        <Description>All variable attributes are specified.</Description>\n      </Field>\n      <Field Name=\"VariableType\" Value=\"28600438\">\n        <Description>All variable type attributes are specified.</Description>\n      </Field>\n      <Field Name=\"Method\" Value=\"26632548\">\n        <Description>All method attributes are specified.</Description>\n      </Field>\n      <Field Name=\"ReferenceType\" Value=\"26537060\">\n        <Description>All reference type attributes are specified.</Description>\n      </Field>\n      <Field Name=\"View\" Value=\"26501356\">\n        <Description>All view attributes are specified.</Description>\n      </Field>\n    </Definition>\n  </UADataType>\n  <UAVariable NodeId=\"i=11881\" BrowseName=\"EnumValues\" ParentNodeId=\"i=348\" DataType=\"i=7594\" ValueRank=\"1\" ArrayDimensions=\"0\">\n    <DisplayName>EnumValues</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=348</Reference>\n    </References>\n    <Value>\n      <ListOfExtensionObject xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=7616</Identifier>\n          </TypeId>\n          <Body>\n            <EnumValueType>\n              <Value>0</Value>\n              <DisplayName>\n                <Text>None</Text>\n              </DisplayName>\n              <Description>\n                <Text>No attribuites provided.</Text>\n              </Description>\n            </EnumValueType>\n          </Body>\n        </ExtensionObject>\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=7616</Identifier>\n          </TypeId>\n          <Body>\n            <EnumValueType>\n              <Value>1</Value>\n              <DisplayName>\n                <Text>AccessLevel</Text>\n              </DisplayName>\n              <Description>\n                <Text>The access level attribute is specified.</Text>\n              </Description>\n            </EnumValueType>\n          </Body>\n        </ExtensionObject>\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=7616</Identifier>\n          </TypeId>\n          <Body>\n            <EnumValueType>\n              <Value>2</Value>\n              <DisplayName>\n                <Text>ArrayDimensions</Text>\n              </DisplayName>\n              <Description>\n                <Text>The array dimensions attribute is specified.</Text>\n              </Description>\n            </EnumValueType>\n          </Body>\n        </ExtensionObject>\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=7616</Identifier>\n          </TypeId>\n          <Body>\n            <EnumValueType>\n              <Value>4</Value>\n              <DisplayName>\n                <Text>BrowseName</Text>\n              </DisplayName>\n              <Description>\n                <Text>The browse name attribute is specified.</Text>\n              </Description>\n            </EnumValueType>\n          </Body>\n        </ExtensionObject>\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=7616</Identifier>\n          </TypeId>\n          <Body>\n            <EnumValueType>\n              <Value>8</Value>\n              <DisplayName>\n                <Text>ContainsNoLoops</Text>\n              </DisplayName>\n              <Description>\n                <Text>The contains no loops attribute is specified.</Text>\n              </Description>\n            </EnumValueType>\n          </Body>\n        </ExtensionObject>\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=7616</Identifier>\n          </TypeId>\n          <Body>\n            <EnumValueType>\n              <Value>16</Value>\n              <DisplayName>\n                <Text>DataType</Text>\n              </DisplayName>\n              <Description>\n                <Text>The data type attribute is specified.</Text>\n              </Description>\n            </EnumValueType>\n          </Body>\n        </ExtensionObject>\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=7616</Identifier>\n          </TypeId>\n          <Body>\n            <EnumValueType>\n              <Value>32</Value>\n              <DisplayName>\n                <Text>Description</Text>\n              </DisplayName>\n              <Description>\n                <Text>The description attribute is specified.</Text>\n              </Description>\n            </EnumValueType>\n          </Body>\n        </ExtensionObject>\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=7616</Identifier>\n          </TypeId>\n          <Body>\n            <EnumValueType>\n              <Value>64</Value>\n              <DisplayName>\n                <Text>DisplayName</Text>\n              </DisplayName>\n              <Description>\n                <Text>The display name attribute is specified.</Text>\n              </Description>\n            </EnumValueType>\n          </Body>\n        </ExtensionObject>\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=7616</Identifier>\n          </TypeId>\n          <Body>\n            <EnumValueType>\n              <Value>128</Value>\n              <DisplayName>\n                <Text>EventNotifier</Text>\n              </DisplayName>\n              <Description>\n                <Text>The event notifier attribute is specified.</Text>\n              </Description>\n            </EnumValueType>\n          </Body>\n        </ExtensionObject>\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=7616</Identifier>\n          </TypeId>\n          <Body>\n            <EnumValueType>\n              <Value>256</Value>\n              <DisplayName>\n                <Text>Executable</Text>\n              </DisplayName>\n              <Description>\n                <Text>The executable attribute is specified.</Text>\n              </Description>\n            </EnumValueType>\n          </Body>\n        </ExtensionObject>\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=7616</Identifier>\n          </TypeId>\n          <Body>\n            <EnumValueType>\n              <Value>512</Value>\n              <DisplayName>\n                <Text>Historizing</Text>\n              </DisplayName>\n              <Description>\n                <Text>The historizing attribute is specified.</Text>\n              </Description>\n            </EnumValueType>\n          </Body>\n        </ExtensionObject>\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=7616</Identifier>\n          </TypeId>\n          <Body>\n            <EnumValueType>\n              <Value>1024</Value>\n              <DisplayName>\n                <Text>InverseName</Text>\n              </DisplayName>\n              <Description>\n                <Text>The inverse name attribute is specified.</Text>\n              </Description>\n            </EnumValueType>\n          </Body>\n        </ExtensionObject>\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=7616</Identifier>\n          </TypeId>\n          <Body>\n            <EnumValueType>\n              <Value>2048</Value>\n              <DisplayName>\n                <Text>IsAbstract</Text>\n              </DisplayName>\n              <Description>\n                <Text>The is abstract attribute is specified.</Text>\n              </Description>\n            </EnumValueType>\n          </Body>\n        </ExtensionObject>\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=7616</Identifier>\n          </TypeId>\n          <Body>\n            <EnumValueType>\n              <Value>4096</Value>\n              <DisplayName>\n                <Text>MinimumSamplingInterval</Text>\n              </DisplayName>\n              <Description>\n                <Text>The minimum sampling interval attribute is specified.</Text>\n              </Description>\n            </EnumValueType>\n          </Body>\n        </ExtensionObject>\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=7616</Identifier>\n          </TypeId>\n          <Body>\n            <EnumValueType>\n              <Value>8192</Value>\n              <DisplayName>\n                <Text>NodeClass</Text>\n              </DisplayName>\n              <Description>\n                <Text>The node class attribute is specified.</Text>\n              </Description>\n            </EnumValueType>\n          </Body>\n        </ExtensionObject>\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=7616</Identifier>\n          </TypeId>\n          <Body>\n            <EnumValueType>\n              <Value>16384</Value>\n              <DisplayName>\n                <Text>NodeId</Text>\n              </DisplayName>\n              <Description>\n                <Text>The node id attribute is specified.</Text>\n              </Description>\n            </EnumValueType>\n          </Body>\n        </ExtensionObject>\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=7616</Identifier>\n          </TypeId>\n          <Body>\n            <EnumValueType>\n              <Value>32768</Value>\n              <DisplayName>\n                <Text>Symmetric</Text>\n              </DisplayName>\n              <Description>\n                <Text>The symmetric attribute is specified.</Text>\n              </Description>\n            </EnumValueType>\n          </Body>\n        </ExtensionObject>\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=7616</Identifier>\n          </TypeId>\n          <Body>\n            <EnumValueType>\n              <Value>65536</Value>\n              <DisplayName>\n                <Text>UserAccessLevel</Text>\n              </DisplayName>\n              <Description>\n                <Text>The user access level attribute is specified.</Text>\n              </Description>\n            </EnumValueType>\n          </Body>\n        </ExtensionObject>\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=7616</Identifier>\n          </TypeId>\n          <Body>\n            <EnumValueType>\n              <Value>131072</Value>\n              <DisplayName>\n                <Text>UserExecutable</Text>\n              </DisplayName>\n              <Description>\n                <Text>The user executable attribute is specified.</Text>\n              </Description>\n            </EnumValueType>\n          </Body>\n        </ExtensionObject>\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=7616</Identifier>\n          </TypeId>\n          <Body>\n            <EnumValueType>\n              <Value>262144</Value>\n              <DisplayName>\n                <Text>UserWriteMask</Text>\n              </DisplayName>\n              <Description>\n                <Text>The user write mask attribute is specified.</Text>\n              </Description>\n            </EnumValueType>\n          </Body>\n        </ExtensionObject>\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=7616</Identifier>\n          </TypeId>\n          <Body>\n            <EnumValueType>\n              <Value>524288</Value>\n              <DisplayName>\n                <Text>ValueRank</Text>\n              </DisplayName>\n              <Description>\n                <Text>The value rank attribute is specified.</Text>\n              </Description>\n            </EnumValueType>\n          </Body>\n        </ExtensionObject>\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=7616</Identifier>\n          </TypeId>\n          <Body>\n            <EnumValueType>\n              <Value>1048576</Value>\n              <DisplayName>\n                <Text>WriteMask</Text>\n              </DisplayName>\n              <Description>\n                <Text>The write mask attribute is specified.</Text>\n              </Description>\n            </EnumValueType>\n          </Body>\n        </ExtensionObject>\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=7616</Identifier>\n          </TypeId>\n          <Body>\n            <EnumValueType>\n              <Value>2097152</Value>\n              <DisplayName>\n                <Text>Value</Text>\n              </DisplayName>\n              <Description>\n                <Text>The value attribute is specified.</Text>\n              </Description>\n            </EnumValueType>\n          </Body>\n        </ExtensionObject>\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=7616</Identifier>\n          </TypeId>\n          <Body>\n            <EnumValueType>\n              <Value>4194304</Value>\n              <DisplayName>\n                <Text>DataTypeDefinition</Text>\n              </DisplayName>\n              <Description>\n                <Text>The write mask attribute is specified.</Text>\n              </Description>\n            </EnumValueType>\n          </Body>\n        </ExtensionObject>\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=7616</Identifier>\n          </TypeId>\n          <Body>\n            <EnumValueType>\n              <Value>8388608</Value>\n              <DisplayName>\n                <Text>RolePermissions</Text>\n              </DisplayName>\n              <Description>\n                <Text>The write mask attribute is specified.</Text>\n              </Description>\n            </EnumValueType>\n          </Body>\n        </ExtensionObject>\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=7616</Identifier>\n          </TypeId>\n          <Body>\n            <EnumValueType>\n              <Value>16777216</Value>\n              <DisplayName>\n                <Text>AccessRestrictions</Text>\n              </DisplayName>\n              <Description>\n                <Text>The write mask attribute is specified.</Text>\n              </Description>\n            </EnumValueType>\n          </Body>\n        </ExtensionObject>\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=7616</Identifier>\n          </TypeId>\n          <Body>\n            <EnumValueType>\n              <Value>33554431</Value>\n              <DisplayName>\n                <Text>All</Text>\n              </DisplayName>\n              <Description>\n                <Text>All attributes are specified.</Text>\n              </Description>\n            </EnumValueType>\n          </Body>\n        </ExtensionObject>\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=7616</Identifier>\n          </TypeId>\n          <Body>\n            <EnumValueType>\n              <Value>26501220</Value>\n              <DisplayName>\n                <Text>BaseNode</Text>\n              </DisplayName>\n              <Description>\n                <Text>All base attributes are specified.</Text>\n              </Description>\n            </EnumValueType>\n          </Body>\n        </ExtensionObject>\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=7616</Identifier>\n          </TypeId>\n          <Body>\n            <EnumValueType>\n              <Value>26501348</Value>\n              <DisplayName>\n                <Text>Object</Text>\n              </DisplayName>\n              <Description>\n                <Text>All object attributes are specified.</Text>\n              </Description>\n            </EnumValueType>\n          </Body>\n        </ExtensionObject>\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=7616</Identifier>\n          </TypeId>\n          <Body>\n            <EnumValueType>\n              <Value>26503268</Value>\n              <DisplayName>\n                <Text>ObjectType</Text>\n              </DisplayName>\n              <Description>\n                <Text>All object type attributes are specified.</Text>\n              </Description>\n            </EnumValueType>\n          </Body>\n        </ExtensionObject>\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=7616</Identifier>\n          </TypeId>\n          <Body>\n            <EnumValueType>\n              <Value>26571383</Value>\n              <DisplayName>\n                <Text>Variable</Text>\n              </DisplayName>\n              <Description>\n                <Text>All variable attributes are specified.</Text>\n              </Description>\n            </EnumValueType>\n          </Body>\n        </ExtensionObject>\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=7616</Identifier>\n          </TypeId>\n          <Body>\n            <EnumValueType>\n              <Value>28600438</Value>\n              <DisplayName>\n                <Text>VariableType</Text>\n              </DisplayName>\n              <Description>\n                <Text>All variable type attributes are specified.</Text>\n              </Description>\n            </EnumValueType>\n          </Body>\n        </ExtensionObject>\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=7616</Identifier>\n          </TypeId>\n          <Body>\n            <EnumValueType>\n              <Value>26632548</Value>\n              <DisplayName>\n                <Text>Method</Text>\n              </DisplayName>\n              <Description>\n                <Text>All method attributes are specified.</Text>\n              </Description>\n            </EnumValueType>\n          </Body>\n        </ExtensionObject>\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=7616</Identifier>\n          </TypeId>\n          <Body>\n            <EnumValueType>\n              <Value>26537060</Value>\n              <DisplayName>\n                <Text>ReferenceType</Text>\n              </DisplayName>\n              <Description>\n                <Text>All reference type attributes are specified.</Text>\n              </Description>\n            </EnumValueType>\n          </Body>\n        </ExtensionObject>\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=7616</Identifier>\n          </TypeId>\n          <Body>\n            <EnumValueType>\n              <Value>26501356</Value>\n              <DisplayName>\n                <Text>View</Text>\n              </DisplayName>\n              <Description>\n                <Text>All view attributes are specified.</Text>\n              </Description>\n            </EnumValueType>\n          </Body>\n        </ExtensionObject>\n      </ListOfExtensionObject>\n    </Value>\n  </UAVariable>\n  <UADataType NodeId=\"i=376\" BrowseName=\"AddNodesItem\">\n    <DisplayName>AddNodesItem</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=22</Reference>\n    </References>\n    <Definition Name=\"AddNodesItem\">\n      <Field Name=\"ParentNodeId\" DataType=\"i=18\" />\n      <Field Name=\"ReferenceTypeId\" DataType=\"i=17\" />\n      <Field Name=\"RequestedNewNodeId\" DataType=\"i=18\" />\n      <Field Name=\"BrowseName\" DataType=\"i=20\" />\n      <Field Name=\"NodeClass\" DataType=\"i=257\" />\n      <Field Name=\"NodeAttributes\" DataType=\"i=22\" />\n      <Field Name=\"TypeDefinition\" DataType=\"i=18\" />\n    </Definition>\n  </UADataType>\n  <UADataType NodeId=\"i=379\" BrowseName=\"AddReferencesItem\">\n    <DisplayName>AddReferencesItem</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=22</Reference>\n    </References>\n    <Definition Name=\"AddReferencesItem\">\n      <Field Name=\"SourceNodeId\" DataType=\"i=17\" />\n      <Field Name=\"ReferenceTypeId\" DataType=\"i=17\" />\n      <Field Name=\"IsForward\" DataType=\"i=1\" />\n      <Field Name=\"TargetServerUri\" DataType=\"i=12\" />\n      <Field Name=\"TargetNodeId\" DataType=\"i=18\" />\n      <Field Name=\"TargetNodeClass\" DataType=\"i=257\" />\n    </Definition>\n  </UADataType>\n  <UADataType NodeId=\"i=382\" BrowseName=\"DeleteNodesItem\">\n    <DisplayName>DeleteNodesItem</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=22</Reference>\n    </References>\n    <Definition Name=\"DeleteNodesItem\">\n      <Field Name=\"NodeId\" DataType=\"i=17\" />\n      <Field Name=\"DeleteTargetReferences\" DataType=\"i=1\" />\n    </Definition>\n  </UADataType>\n  <UADataType NodeId=\"i=385\" BrowseName=\"DeleteReferencesItem\">\n    <DisplayName>DeleteReferencesItem</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=22</Reference>\n    </References>\n    <Definition Name=\"DeleteReferencesItem\">\n      <Field Name=\"SourceNodeId\" DataType=\"i=17\" />\n      <Field Name=\"ReferenceTypeId\" DataType=\"i=17\" />\n      <Field Name=\"IsForward\" DataType=\"i=1\" />\n      <Field Name=\"TargetNodeId\" DataType=\"i=18\" />\n      <Field Name=\"DeleteBidirectional\" DataType=\"i=1\" />\n    </Definition>\n  </UADataType>\n  <UADataType NodeId=\"i=347\" BrowseName=\"AttributeWriteMask\">\n    <DisplayName>AttributeWriteMask</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=15036</Reference>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=7</Reference>\n    </References>\n    <Definition Name=\"AttributeWriteMask\" IsOptionSet=\"true\">\n      <Field Name=\"AccessLevel\" Value=\"0\">\n        <Description>The access level attribute is writable.</Description>\n      </Field>\n      <Field Name=\"ArrayDimensions\" Value=\"1\">\n        <Description>The array dimensions attribute is writable.</Description>\n      </Field>\n      <Field Name=\"BrowseName\" Value=\"2\">\n        <Description>The browse name attribute is writable.</Description>\n      </Field>\n      <Field Name=\"ContainsNoLoops\" Value=\"3\">\n        <Description>The contains no loops attribute is writable.</Description>\n      </Field>\n      <Field Name=\"DataType\" Value=\"4\">\n        <Description>The data type attribute is writable.</Description>\n      </Field>\n      <Field Name=\"Description\" Value=\"5\">\n        <Description>The description attribute is writable.</Description>\n      </Field>\n      <Field Name=\"DisplayName\" Value=\"6\">\n        <Description>The display name attribute is writable.</Description>\n      </Field>\n      <Field Name=\"EventNotifier\" Value=\"7\">\n        <Description>The event notifier attribute is writable.</Description>\n      </Field>\n      <Field Name=\"Executable\" Value=\"8\">\n        <Description>The executable attribute is writable.</Description>\n      </Field>\n      <Field Name=\"Historizing\" Value=\"9\">\n        <Description>The historizing attribute is writable.</Description>\n      </Field>\n      <Field Name=\"InverseName\" Value=\"10\">\n        <Description>The inverse name attribute is writable.</Description>\n      </Field>\n      <Field Name=\"IsAbstract\" Value=\"11\">\n        <Description>The is abstract attribute is writable.</Description>\n      </Field>\n      <Field Name=\"MinimumSamplingInterval\" Value=\"12\">\n        <Description>The minimum sampling interval attribute is writable.</Description>\n      </Field>\n      <Field Name=\"NodeClass\" Value=\"13\">\n        <Description>The node class attribute is writable.</Description>\n      </Field>\n      <Field Name=\"NodeId\" Value=\"14\">\n        <Description>The node id attribute is writable.</Description>\n      </Field>\n      <Field Name=\"Symmetric\" Value=\"15\">\n        <Description>The symmetric attribute is writable.</Description>\n      </Field>\n      <Field Name=\"UserAccessLevel\" Value=\"16\">\n        <Description>The user access level attribute is writable.</Description>\n      </Field>\n      <Field Name=\"UserExecutable\" Value=\"17\">\n        <Description>The user executable attribute is writable.</Description>\n      </Field>\n      <Field Name=\"UserWriteMask\" Value=\"18\">\n        <Description>The user write mask attribute is writable.</Description>\n      </Field>\n      <Field Name=\"ValueRank\" Value=\"19\">\n        <Description>The value rank attribute is writable.</Description>\n      </Field>\n      <Field Name=\"WriteMask\" Value=\"20\">\n        <Description>The write mask attribute is writable.</Description>\n      </Field>\n      <Field Name=\"ValueForVariableType\" Value=\"21\">\n        <Description>The value attribute is writable.</Description>\n      </Field>\n      <Field Name=\"DataTypeDefinition\" Value=\"22\">\n        <Description>The DataTypeDefinition attribute is writable.</Description>\n      </Field>\n      <Field Name=\"RolePermissions\" Value=\"23\">\n        <Description>The RolePermissions attribute is writable.</Description>\n      </Field>\n      <Field Name=\"AccessRestrictions\" Value=\"24\">\n        <Description>The AccessRestrictions attribute is writable.</Description>\n      </Field>\n      <Field Name=\"AccessLevelEx\" Value=\"25\">\n        <Description>The AccessLevelEx attribute is writable.</Description>\n      </Field>\n    </Definition>\n  </UADataType>\n  <UAVariable NodeId=\"i=15036\" BrowseName=\"OptionSetValues\" ParentNodeId=\"i=347\" DataType=\"LocalizedText\" ValueRank=\"1\" ArrayDimensions=\"0\">\n    <DisplayName>OptionSetValues</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=347</Reference>\n    </References>\n    <Value>\n      <ListOfLocalizedText xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <LocalizedText>\n          <Text>AccessLevel</Text>\n        </LocalizedText>\n        <LocalizedText>\n          <Text>ArrayDimensions</Text>\n        </LocalizedText>\n        <LocalizedText>\n          <Text>BrowseName</Text>\n        </LocalizedText>\n        <LocalizedText>\n          <Text>ContainsNoLoops</Text>\n        </LocalizedText>\n        <LocalizedText>\n          <Text>DataType</Text>\n        </LocalizedText>\n        <LocalizedText>\n          <Text>Description</Text>\n        </LocalizedText>\n        <LocalizedText>\n          <Text>DisplayName</Text>\n        </LocalizedText>\n        <LocalizedText>\n          <Text>EventNotifier</Text>\n        </LocalizedText>\n        <LocalizedText>\n          <Text>Executable</Text>\n        </LocalizedText>\n        <LocalizedText>\n          <Text>Historizing</Text>\n        </LocalizedText>\n        <LocalizedText>\n          <Text>InverseName</Text>\n        </LocalizedText>\n        <LocalizedText>\n          <Text>IsAbstract</Text>\n        </LocalizedText>\n        <LocalizedText>\n          <Text>MinimumSamplingInterval</Text>\n        </LocalizedText>\n        <LocalizedText>\n          <Text>NodeClass</Text>\n        </LocalizedText>\n        <LocalizedText>\n          <Text>NodeId</Text>\n        </LocalizedText>\n        <LocalizedText>\n          <Text>Symmetric</Text>\n        </LocalizedText>\n        <LocalizedText>\n          <Text>UserAccessLevel</Text>\n        </LocalizedText>\n        <LocalizedText>\n          <Text>UserExecutable</Text>\n        </LocalizedText>\n        <LocalizedText>\n          <Text>UserWriteMask</Text>\n        </LocalizedText>\n        <LocalizedText>\n          <Text>ValueRank</Text>\n        </LocalizedText>\n        <LocalizedText>\n          <Text>WriteMask</Text>\n        </LocalizedText>\n        <LocalizedText>\n          <Text>ValueForVariableType</Text>\n        </LocalizedText>\n        <LocalizedText>\n          <Text>DataTypeDefinition</Text>\n        </LocalizedText>\n        <LocalizedText>\n          <Text>RolePermissions</Text>\n        </LocalizedText>\n        <LocalizedText>\n          <Text>AccessRestrictions</Text>\n        </LocalizedText>\n        <LocalizedText>\n          <Text>AccessLevelEx</Text>\n        </LocalizedText>\n      </ListOfLocalizedText>\n    </Value>\n  </UAVariable>\n  <UADataType NodeId=\"i=521\" BrowseName=\"ContinuationPoint\">\n    <DisplayName>ContinuationPoint</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=15</Reference>\n    </References>\n  </UADataType>\n  <UADataType NodeId=\"i=537\" BrowseName=\"RelativePathElement\">\n    <DisplayName>RelativePathElement</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=22</Reference>\n    </References>\n    <Definition Name=\"RelativePathElement\">\n      <Field Name=\"ReferenceTypeId\" DataType=\"i=17\" />\n      <Field Name=\"IsInverse\" DataType=\"i=1\" />\n      <Field Name=\"IncludeSubtypes\" DataType=\"i=1\" />\n      <Field Name=\"TargetName\" DataType=\"i=20\" />\n    </Definition>\n  </UADataType>\n  <UADataType NodeId=\"i=540\" BrowseName=\"RelativePath\">\n    <DisplayName>RelativePath</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=22</Reference>\n    </References>\n    <Definition Name=\"RelativePath\">\n      <Field Name=\"Elements\" DataType=\"i=537\" ValueRank=\"1\" />\n    </Definition>\n  </UADataType>\n  <UADataType NodeId=\"i=289\" BrowseName=\"Counter\">\n    <DisplayName>Counter</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=7</Reference>\n    </References>\n  </UADataType>\n  <UADataType NodeId=\"i=291\" BrowseName=\"NumericRange\">\n    <DisplayName>NumericRange</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=12</Reference>\n    </References>\n  </UADataType>\n  <UADataType NodeId=\"i=331\" BrowseName=\"EndpointConfiguration\">\n    <DisplayName>EndpointConfiguration</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=22</Reference>\n    </References>\n    <Definition Name=\"EndpointConfiguration\">\n      <Field Name=\"OperationTimeout\" DataType=\"i=6\" />\n      <Field Name=\"UseBinaryEncoding\" DataType=\"i=1\" />\n      <Field Name=\"MaxStringLength\" DataType=\"i=6\" />\n      <Field Name=\"MaxByteStringLength\" DataType=\"i=6\" />\n      <Field Name=\"MaxArrayLength\" DataType=\"i=6\" />\n      <Field Name=\"MaxMessageSize\" DataType=\"i=6\" />\n      <Field Name=\"MaxBufferSize\" DataType=\"i=6\" />\n      <Field Name=\"ChannelLifetime\" DataType=\"i=6\" />\n      <Field Name=\"SecurityTokenLifetime\" DataType=\"i=6\" />\n    </Definition>\n  </UADataType>\n  <UADataType NodeId=\"i=576\" BrowseName=\"FilterOperator\">\n    <DisplayName>FilterOperator</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=7605</Reference>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=29</Reference>\n    </References>\n    <Definition Name=\"FilterOperator\">\n      <Field Name=\"Equals\" Value=\"0\" />\n      <Field Name=\"IsNull\" Value=\"1\" />\n      <Field Name=\"GreaterThan\" Value=\"2\" />\n      <Field Name=\"LessThan\" Value=\"3\" />\n      <Field Name=\"GreaterThanOrEqual\" Value=\"4\" />\n      <Field Name=\"LessThanOrEqual\" Value=\"5\" />\n      <Field Name=\"Like\" Value=\"6\" />\n      <Field Name=\"Not\" Value=\"7\" />\n      <Field Name=\"Between\" Value=\"8\" />\n      <Field Name=\"InList\" Value=\"9\" />\n      <Field Name=\"And\" Value=\"10\" />\n      <Field Name=\"Or\" Value=\"11\" />\n      <Field Name=\"Cast\" Value=\"12\" />\n      <Field Name=\"InView\" Value=\"13\" />\n      <Field Name=\"OfType\" Value=\"14\" />\n      <Field Name=\"RelatedTo\" Value=\"15\" />\n      <Field Name=\"BitwiseAnd\" Value=\"16\" />\n      <Field Name=\"BitwiseOr\" Value=\"17\" />\n    </Definition>\n  </UADataType>\n  <UAVariable NodeId=\"i=7605\" BrowseName=\"EnumStrings\" ParentNodeId=\"i=576\" DataType=\"LocalizedText\" ValueRank=\"1\" ArrayDimensions=\"0\">\n    <DisplayName>EnumStrings</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=576</Reference>\n    </References>\n    <Value>\n      <ListOfLocalizedText xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <LocalizedText>\n          <Text>Equals</Text>\n        </LocalizedText>\n        <LocalizedText>\n          <Text>IsNull</Text>\n        </LocalizedText>\n        <LocalizedText>\n          <Text>GreaterThan</Text>\n        </LocalizedText>\n        <LocalizedText>\n          <Text>LessThan</Text>\n        </LocalizedText>\n        <LocalizedText>\n          <Text>GreaterThanOrEqual</Text>\n        </LocalizedText>\n        <LocalizedText>\n          <Text>LessThanOrEqual</Text>\n        </LocalizedText>\n        <LocalizedText>\n          <Text>Like</Text>\n        </LocalizedText>\n        <LocalizedText>\n          <Text>Not</Text>\n        </LocalizedText>\n        <LocalizedText>\n          <Text>Between</Text>\n        </LocalizedText>\n        <LocalizedText>\n          <Text>InList</Text>\n        </LocalizedText>\n        <LocalizedText>\n          <Text>And</Text>\n        </LocalizedText>\n        <LocalizedText>\n          <Text>Or</Text>\n        </LocalizedText>\n        <LocalizedText>\n          <Text>Cast</Text>\n        </LocalizedText>\n        <LocalizedText>\n          <Text>InView</Text>\n        </LocalizedText>\n        <LocalizedText>\n          <Text>OfType</Text>\n        </LocalizedText>\n        <LocalizedText>\n          <Text>RelatedTo</Text>\n        </LocalizedText>\n        <LocalizedText>\n          <Text>BitwiseAnd</Text>\n        </LocalizedText>\n        <LocalizedText>\n          <Text>BitwiseOr</Text>\n        </LocalizedText>\n      </ListOfLocalizedText>\n    </Value>\n  </UAVariable>\n  <UADataType NodeId=\"i=583\" BrowseName=\"ContentFilterElement\">\n    <DisplayName>ContentFilterElement</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=22</Reference>\n    </References>\n    <Definition Name=\"ContentFilterElement\">\n      <Field Name=\"FilterOperator\" DataType=\"i=576\" />\n      <Field Name=\"FilterOperands\" DataType=\"i=22\" ValueRank=\"1\" />\n    </Definition>\n  </UADataType>\n  <UADataType NodeId=\"i=586\" BrowseName=\"ContentFilter\">\n    <DisplayName>ContentFilter</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=22</Reference>\n    </References>\n    <Definition Name=\"ContentFilter\">\n      <Field Name=\"Elements\" DataType=\"i=583\" ValueRank=\"1\" />\n    </Definition>\n  </UADataType>\n  <UADataType NodeId=\"i=589\" BrowseName=\"FilterOperand\">\n    <DisplayName>FilterOperand</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=22</Reference>\n    </References>\n    <Definition Name=\"FilterOperand\" />\n  </UADataType>\n  <UADataType NodeId=\"i=592\" BrowseName=\"ElementOperand\">\n    <DisplayName>ElementOperand</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=589</Reference>\n    </References>\n    <Definition Name=\"ElementOperand\">\n      <Field Name=\"Index\" DataType=\"i=7\" />\n    </Definition>\n  </UADataType>\n  <UADataType NodeId=\"i=595\" BrowseName=\"LiteralOperand\">\n    <DisplayName>LiteralOperand</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=589</Reference>\n    </References>\n    <Definition Name=\"LiteralOperand\">\n      <Field Name=\"Value\" />\n    </Definition>\n  </UADataType>\n  <UADataType NodeId=\"i=598\" BrowseName=\"AttributeOperand\">\n    <DisplayName>AttributeOperand</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=589</Reference>\n    </References>\n    <Definition Name=\"AttributeOperand\">\n      <Field Name=\"NodeId\" DataType=\"i=17\" />\n      <Field Name=\"Alias\" DataType=\"i=12\" />\n      <Field Name=\"BrowsePath\" DataType=\"i=540\" />\n      <Field Name=\"AttributeId\" DataType=\"i=288\" />\n      <Field Name=\"IndexRange\" DataType=\"i=291\" />\n    </Definition>\n  </UADataType>\n  <UADataType NodeId=\"i=601\" BrowseName=\"SimpleAttributeOperand\">\n    <DisplayName>SimpleAttributeOperand</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=589</Reference>\n    </References>\n    <Definition Name=\"SimpleAttributeOperand\">\n      <Field Name=\"TypeDefinitionId\" DataType=\"i=17\" />\n      <Field Name=\"BrowsePath\" DataType=\"i=20\" ValueRank=\"1\" />\n      <Field Name=\"AttributeId\" DataType=\"i=288\" />\n      <Field Name=\"IndexRange\" DataType=\"i=291\" />\n    </Definition>\n  </UADataType>\n  <UADataType NodeId=\"i=659\" BrowseName=\"HistoryEvent\">\n    <DisplayName>HistoryEvent</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=22</Reference>\n    </References>\n    <Definition Name=\"HistoryEvent\">\n      <Field Name=\"Events\" DataType=\"i=920\" ValueRank=\"1\" />\n    </Definition>\n  </UADataType>\n  <UADataType NodeId=\"i=11234\" BrowseName=\"HistoryUpdateType\">\n    <DisplayName>HistoryUpdateType</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=11884</Reference>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=29</Reference>\n    </References>\n    <Definition Name=\"HistoryUpdateType\">\n      <Field Name=\"Insert\" Value=\"1\" />\n      <Field Name=\"Replace\" Value=\"2\" />\n      <Field Name=\"Update\" Value=\"3\" />\n      <Field Name=\"Delete\" Value=\"4\" />\n    </Definition>\n  </UADataType>\n  <UAVariable NodeId=\"i=11884\" BrowseName=\"EnumValues\" ParentNodeId=\"i=11234\" DataType=\"i=7594\" ValueRank=\"1\" ArrayDimensions=\"0\">\n    <DisplayName>EnumValues</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=11234</Reference>\n    </References>\n    <Value>\n      <ListOfExtensionObject xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=7616</Identifier>\n          </TypeId>\n          <Body>\n            <EnumValueType>\n              <Value>1</Value>\n              <DisplayName>\n                <Text>Insert</Text>\n              </DisplayName>\n            </EnumValueType>\n          </Body>\n        </ExtensionObject>\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=7616</Identifier>\n          </TypeId>\n          <Body>\n            <EnumValueType>\n              <Value>2</Value>\n              <DisplayName>\n                <Text>Replace</Text>\n              </DisplayName>\n            </EnumValueType>\n          </Body>\n        </ExtensionObject>\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=7616</Identifier>\n          </TypeId>\n          <Body>\n            <EnumValueType>\n              <Value>3</Value>\n              <DisplayName>\n                <Text>Update</Text>\n              </DisplayName>\n            </EnumValueType>\n          </Body>\n        </ExtensionObject>\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=7616</Identifier>\n          </TypeId>\n          <Body>\n            <EnumValueType>\n              <Value>4</Value>\n              <DisplayName>\n                <Text>Delete</Text>\n              </DisplayName>\n            </EnumValueType>\n          </Body>\n        </ExtensionObject>\n      </ListOfExtensionObject>\n    </Value>\n  </UAVariable>\n  <UADataType NodeId=\"i=11293\" BrowseName=\"PerformUpdateType\">\n    <DisplayName>PerformUpdateType</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=11885</Reference>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=29</Reference>\n    </References>\n    <Definition Name=\"PerformUpdateType\">\n      <Field Name=\"Insert\" Value=\"1\" />\n      <Field Name=\"Replace\" Value=\"2\" />\n      <Field Name=\"Update\" Value=\"3\" />\n      <Field Name=\"Remove\" Value=\"4\" />\n    </Definition>\n  </UADataType>\n  <UAVariable NodeId=\"i=11885\" BrowseName=\"EnumValues\" ParentNodeId=\"i=11293\" DataType=\"i=7594\" ValueRank=\"1\" ArrayDimensions=\"0\">\n    <DisplayName>EnumValues</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=11293</Reference>\n    </References>\n    <Value>\n      <ListOfExtensionObject xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=7616</Identifier>\n          </TypeId>\n          <Body>\n            <EnumValueType>\n              <Value>1</Value>\n              <DisplayName>\n                <Text>Insert</Text>\n              </DisplayName>\n            </EnumValueType>\n          </Body>\n        </ExtensionObject>\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=7616</Identifier>\n          </TypeId>\n          <Body>\n            <EnumValueType>\n              <Value>2</Value>\n              <DisplayName>\n                <Text>Replace</Text>\n              </DisplayName>\n            </EnumValueType>\n          </Body>\n        </ExtensionObject>\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=7616</Identifier>\n          </TypeId>\n          <Body>\n            <EnumValueType>\n              <Value>3</Value>\n              <DisplayName>\n                <Text>Update</Text>\n              </DisplayName>\n            </EnumValueType>\n          </Body>\n        </ExtensionObject>\n        <ExtensionObject>\n          <TypeId>\n            <Identifier>i=7616</Identifier>\n          </TypeId>\n          <Body>\n            <EnumValueType>\n              <Value>4</Value>\n              <DisplayName>\n                <Text>Remove</Text>\n              </DisplayName>\n            </EnumValueType>\n          </Body>\n        </ExtensionObject>\n      </ListOfExtensionObject>\n    </Value>\n  </UAVariable>\n  <UADataType NodeId=\"i=719\" BrowseName=\"MonitoringFilter\">\n    <DisplayName>MonitoringFilter</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=22</Reference>\n    </References>\n    <Definition Name=\"MonitoringFilter\" />\n  </UADataType>\n  <UADataType NodeId=\"i=725\" BrowseName=\"EventFilter\">\n    <DisplayName>EventFilter</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=719</Reference>\n    </References>\n    <Definition Name=\"EventFilter\">\n      <Field Name=\"SelectClauses\" DataType=\"i=601\" ValueRank=\"1\" />\n      <Field Name=\"WhereClause\" DataType=\"i=586\" />\n    </Definition>\n  </UADataType>\n  <UADataType NodeId=\"i=948\" BrowseName=\"AggregateConfiguration\">\n    <DisplayName>AggregateConfiguration</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=22</Reference>\n    </References>\n    <Definition Name=\"AggregateConfiguration\">\n      <Field Name=\"UseServerCapabilitiesDefaults\" DataType=\"i=1\" />\n      <Field Name=\"TreatUncertainAsBad\" DataType=\"i=1\" />\n      <Field Name=\"PercentDataBad\" DataType=\"i=3\" />\n      <Field Name=\"PercentDataGood\" DataType=\"i=3\" />\n      <Field Name=\"UseSlopedExtrapolation\" DataType=\"i=1\" />\n    </Definition>\n  </UADataType>\n  <UADataType NodeId=\"i=920\" BrowseName=\"HistoryEventFieldList\">\n    <DisplayName>HistoryEventFieldList</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=22</Reference>\n    </References>\n    <Definition Name=\"HistoryEventFieldList\">\n      <Field Name=\"EventFields\" ValueRank=\"1\" />\n    </Definition>\n  </UADataType>\n  <UADataType NodeId=\"i=338\" BrowseName=\"BuildInfo\">\n    <DisplayName>BuildInfo</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=22</Reference>\n    </References>\n    <Definition Name=\"BuildInfo\">\n      <Field Name=\"ProductUri\" DataType=\"i=12\" />\n      <Field Name=\"ManufacturerName\" DataType=\"i=12\" />\n      <Field Name=\"ProductName\" DataType=\"i=12\" />\n      <Field Name=\"SoftwareVersion\" DataType=\"i=12\" />\n      <Field Name=\"BuildNumber\" DataType=\"i=12\" />\n      <Field Name=\"BuildDate\" DataType=\"i=294\" />\n    </Definition>\n  </UADataType>\n  <UADataType NodeId=\"i=851\" BrowseName=\"RedundancySupport\">\n    <DisplayName>RedundancySupport</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=7611</Reference>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=29</Reference>\n    </References>\n    <Definition Name=\"RedundancySupport\">\n      <Field Name=\"None\" Value=\"0\" />\n      <Field Name=\"Cold\" Value=\"1\" />\n      <Field Name=\"Warm\" Value=\"2\" />\n      <Field Name=\"Hot\" Value=\"3\" />\n      <Field Name=\"Transparent\" Value=\"4\" />\n      <Field Name=\"HotAndMirrored\" Value=\"5\" />\n    </Definition>\n  </UADataType>\n  <UAVariable NodeId=\"i=7611\" BrowseName=\"EnumStrings\" ParentNodeId=\"i=851\" DataType=\"LocalizedText\" ValueRank=\"1\" ArrayDimensions=\"0\">\n    <DisplayName>EnumStrings</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=851</Reference>\n    </References>\n    <Value>\n      <ListOfLocalizedText xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <LocalizedText>\n          <Text>None</Text>\n        </LocalizedText>\n        <LocalizedText>\n          <Text>Cold</Text>\n        </LocalizedText>\n        <LocalizedText>\n          <Text>Warm</Text>\n        </LocalizedText>\n        <LocalizedText>\n          <Text>Hot</Text>\n        </LocalizedText>\n        <LocalizedText>\n          <Text>Transparent</Text>\n        </LocalizedText>\n        <LocalizedText>\n          <Text>HotAndMirrored</Text>\n        </LocalizedText>\n      </ListOfLocalizedText>\n    </Value>\n  </UAVariable>\n  <UADataType NodeId=\"i=852\" BrowseName=\"ServerState\">\n    <DisplayName>ServerState</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=7612</Reference>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=29</Reference>\n    </References>\n    <Definition Name=\"ServerState\">\n      <Field Name=\"Running\" Value=\"0\" />\n      <Field Name=\"Failed\" Value=\"1\" />\n      <Field Name=\"NoConfiguration\" Value=\"2\" />\n      <Field Name=\"Suspended\" Value=\"3\" />\n      <Field Name=\"Shutdown\" Value=\"4\" />\n      <Field Name=\"Test\" Value=\"5\" />\n      <Field Name=\"CommunicationFault\" Value=\"6\" />\n      <Field Name=\"Unknown\" Value=\"7\" />\n    </Definition>\n  </UADataType>\n  <UAVariable NodeId=\"i=7612\" BrowseName=\"EnumStrings\" ParentNodeId=\"i=852\" DataType=\"LocalizedText\" ValueRank=\"1\" ArrayDimensions=\"0\">\n    <DisplayName>EnumStrings</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=852</Reference>\n    </References>\n    <Value>\n      <ListOfLocalizedText xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <LocalizedText>\n          <Text>Running</Text>\n        </LocalizedText>\n        <LocalizedText>\n          <Text>Failed</Text>\n        </LocalizedText>\n        <LocalizedText>\n          <Text>NoConfiguration</Text>\n        </LocalizedText>\n        <LocalizedText>\n          <Text>Suspended</Text>\n        </LocalizedText>\n        <LocalizedText>\n          <Text>Shutdown</Text>\n        </LocalizedText>\n        <LocalizedText>\n          <Text>Test</Text>\n        </LocalizedText>\n        <LocalizedText>\n          <Text>CommunicationFault</Text>\n        </LocalizedText>\n        <LocalizedText>\n          <Text>Unknown</Text>\n        </LocalizedText>\n      </ListOfLocalizedText>\n    </Value>\n  </UAVariable>\n  <UADataType NodeId=\"i=853\" BrowseName=\"RedundantServerDataType\">\n    <DisplayName>RedundantServerDataType</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=22</Reference>\n    </References>\n    <Definition Name=\"RedundantServerDataType\">\n      <Field Name=\"ServerId\" DataType=\"i=12\" />\n      <Field Name=\"ServiceLevel\" DataType=\"i=3\" />\n      <Field Name=\"ServerState\" DataType=\"i=852\" />\n    </Definition>\n  </UADataType>\n  <UADataType NodeId=\"i=11943\" BrowseName=\"EndpointUrlListDataType\">\n    <DisplayName>EndpointUrlListDataType</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=22</Reference>\n    </References>\n    <Definition Name=\"EndpointUrlListDataType\">\n      <Field Name=\"EndpointUrlList\" DataType=\"i=12\" ValueRank=\"1\" />\n    </Definition>\n  </UADataType>\n  <UADataType NodeId=\"i=11944\" BrowseName=\"NetworkGroupDataType\">\n    <DisplayName>NetworkGroupDataType</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=22</Reference>\n    </References>\n    <Definition Name=\"NetworkGroupDataType\">\n      <Field Name=\"ServerUri\" DataType=\"i=12\" />\n      <Field Name=\"NetworkPaths\" DataType=\"i=11943\" ValueRank=\"1\" />\n    </Definition>\n  </UADataType>\n  <UADataType NodeId=\"i=856\" BrowseName=\"SamplingIntervalDiagnosticsDataType\">\n    <DisplayName>SamplingIntervalDiagnosticsDataType</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=22</Reference>\n    </References>\n    <Definition Name=\"SamplingIntervalDiagnosticsDataType\">\n      <Field Name=\"SamplingInterval\" DataType=\"i=290\" />\n      <Field Name=\"MonitoredItemCount\" DataType=\"i=7\" />\n      <Field Name=\"MaxMonitoredItemCount\" DataType=\"i=7\" />\n      <Field Name=\"DisabledMonitoredItemCount\" DataType=\"i=7\" />\n    </Definition>\n  </UADataType>\n  <UADataType NodeId=\"i=859\" BrowseName=\"ServerDiagnosticsSummaryDataType\">\n    <DisplayName>ServerDiagnosticsSummaryDataType</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=22</Reference>\n    </References>\n    <Definition Name=\"ServerDiagnosticsSummaryDataType\">\n      <Field Name=\"ServerViewCount\" DataType=\"i=7\" />\n      <Field Name=\"CurrentSessionCount\" DataType=\"i=7\" />\n      <Field Name=\"CumulatedSessionCount\" DataType=\"i=7\" />\n      <Field Name=\"SecurityRejectedSessionCount\" DataType=\"i=7\" />\n      <Field Name=\"RejectedSessionCount\" DataType=\"i=7\" />\n      <Field Name=\"SessionTimeoutCount\" DataType=\"i=7\" />\n      <Field Name=\"SessionAbortCount\" DataType=\"i=7\" />\n      <Field Name=\"CurrentSubscriptionCount\" DataType=\"i=7\" />\n      <Field Name=\"CumulatedSubscriptionCount\" DataType=\"i=7\" />\n      <Field Name=\"PublishingIntervalCount\" DataType=\"i=7\" />\n      <Field Name=\"SecurityRejectedRequestsCount\" DataType=\"i=7\" />\n      <Field Name=\"RejectedRequestsCount\" DataType=\"i=7\" />\n    </Definition>\n  </UADataType>\n  <UADataType NodeId=\"i=862\" BrowseName=\"ServerStatusDataType\">\n    <DisplayName>ServerStatusDataType</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=22</Reference>\n    </References>\n    <Definition Name=\"ServerStatusDataType\">\n      <Field Name=\"StartTime\" DataType=\"i=294\" />\n      <Field Name=\"CurrentTime\" DataType=\"i=294\" />\n      <Field Name=\"State\" DataType=\"i=852\" />\n      <Field Name=\"BuildInfo\" DataType=\"i=338\" />\n      <Field Name=\"SecondsTillShutdown\" DataType=\"i=7\" />\n      <Field Name=\"ShutdownReason\" DataType=\"i=21\" />\n    </Definition>\n  </UADataType>\n  <UADataType NodeId=\"i=865\" BrowseName=\"SessionDiagnosticsDataType\">\n    <DisplayName>SessionDiagnosticsDataType</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=22</Reference>\n    </References>\n    <Definition Name=\"SessionDiagnosticsDataType\">\n      <Field Name=\"SessionId\" DataType=\"i=17\" />\n      <Field Name=\"SessionName\" DataType=\"i=12\" />\n      <Field Name=\"ClientDescription\" DataType=\"i=308\" />\n      <Field Name=\"ServerUri\" DataType=\"i=12\" />\n      <Field Name=\"EndpointUrl\" DataType=\"i=12\" />\n      <Field Name=\"LocaleIds\" DataType=\"i=295\" ValueRank=\"1\" />\n      <Field Name=\"ActualSessionTimeout\" DataType=\"i=290\" />\n      <Field Name=\"MaxResponseMessageSize\" DataType=\"i=7\" />\n      <Field Name=\"ClientConnectionTime\" DataType=\"i=294\" />\n      <Field Name=\"ClientLastContactTime\" DataType=\"i=294\" />\n      <Field Name=\"CurrentSubscriptionsCount\" DataType=\"i=7\" />\n      <Field Name=\"CurrentMonitoredItemsCount\" DataType=\"i=7\" />\n      <Field Name=\"CurrentPublishRequestsInQueue\" DataType=\"i=7\" />\n      <Field Name=\"TotalRequestCount\" DataType=\"i=871\" />\n      <Field Name=\"UnauthorizedRequestCount\" DataType=\"i=7\" />\n      <Field Name=\"ReadCount\" DataType=\"i=871\" />\n      <Field Name=\"HistoryReadCount\" DataType=\"i=871\" />\n      <Field Name=\"WriteCount\" DataType=\"i=871\" />\n      <Field Name=\"HistoryUpdateCount\" DataType=\"i=871\" />\n      <Field Name=\"CallCount\" DataType=\"i=871\" />\n      <Field Name=\"CreateMonitoredItemsCount\" DataType=\"i=871\" />\n      <Field Name=\"ModifyMonitoredItemsCount\" DataType=\"i=871\" />\n      <Field Name=\"SetMonitoringModeCount\" DataType=\"i=871\" />\n      <Field Name=\"SetTriggeringCount\" DataType=\"i=871\" />\n      <Field Name=\"DeleteMonitoredItemsCount\" DataType=\"i=871\" />\n      <Field Name=\"CreateSubscriptionCount\" DataType=\"i=871\" />\n      <Field Name=\"ModifySubscriptionCount\" DataType=\"i=871\" />\n      <Field Name=\"SetPublishingModeCount\" DataType=\"i=871\" />\n      <Field Name=\"PublishCount\" DataType=\"i=871\" />\n      <Field Name=\"RepublishCount\" DataType=\"i=871\" />\n      <Field Name=\"TransferSubscriptionsCount\" DataType=\"i=871\" />\n      <Field Name=\"DeleteSubscriptionsCount\" DataType=\"i=871\" />\n      <Field Name=\"AddNodesCount\" DataType=\"i=871\" />\n      <Field Name=\"AddReferencesCount\" DataType=\"i=871\" />\n      <Field Name=\"DeleteNodesCount\" DataType=\"i=871\" />\n      <Field Name=\"DeleteReferencesCount\" DataType=\"i=871\" />\n      <Field Name=\"BrowseCount\" DataType=\"i=871\" />\n      <Field Name=\"BrowseNextCount\" DataType=\"i=871\" />\n      <Field Name=\"TranslateBrowsePathsToNodeIdsCount\" DataType=\"i=871\" />\n      <Field Name=\"QueryFirstCount\" DataType=\"i=871\" />\n      <Field Name=\"QueryNextCount\" DataType=\"i=871\" />\n      <Field Name=\"RegisterNodesCount\" DataType=\"i=871\" />\n      <Field Name=\"UnregisterNodesCount\" DataType=\"i=871\" />\n    </Definition>\n  </UADataType>\n  <UADataType NodeId=\"i=868\" BrowseName=\"SessionSecurityDiagnosticsDataType\">\n    <DisplayName>SessionSecurityDiagnosticsDataType</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=22</Reference>\n    </References>\n    <Definition Name=\"SessionSecurityDiagnosticsDataType\">\n      <Field Name=\"SessionId\" DataType=\"i=17\" />\n      <Field Name=\"ClientUserIdOfSession\" DataType=\"i=12\" />\n      <Field Name=\"ClientUserIdHistory\" DataType=\"i=12\" ValueRank=\"1\" />\n      <Field Name=\"AuthenticationMechanism\" DataType=\"i=12\" />\n      <Field Name=\"Encoding\" DataType=\"i=12\" />\n      <Field Name=\"TransportProtocol\" DataType=\"i=12\" />\n      <Field Name=\"SecurityMode\" DataType=\"i=302\" />\n      <Field Name=\"SecurityPolicyUri\" DataType=\"i=12\" />\n      <Field Name=\"ClientCertificate\" DataType=\"i=15\" />\n    </Definition>\n  </UADataType>\n  <UADataType NodeId=\"i=871\" BrowseName=\"ServiceCounterDataType\">\n    <DisplayName>ServiceCounterDataType</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=22</Reference>\n    </References>\n    <Definition Name=\"ServiceCounterDataType\">\n      <Field Name=\"TotalCount\" DataType=\"i=7\" />\n      <Field Name=\"ErrorCount\" DataType=\"i=7\" />\n    </Definition>\n  </UADataType>\n  <UADataType NodeId=\"i=299\" BrowseName=\"StatusResult\">\n    <DisplayName>StatusResult</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=22</Reference>\n    </References>\n    <Definition Name=\"StatusResult\">\n      <Field Name=\"StatusCode\" DataType=\"i=19\" />\n      <Field Name=\"DiagnosticInfo\" DataType=\"i=25\" />\n    </Definition>\n  </UADataType>\n  <UADataType NodeId=\"i=874\" BrowseName=\"SubscriptionDiagnosticsDataType\">\n    <DisplayName>SubscriptionDiagnosticsDataType</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=22</Reference>\n    </References>\n    <Definition Name=\"SubscriptionDiagnosticsDataType\">\n      <Field Name=\"SessionId\" DataType=\"i=17\" />\n      <Field Name=\"SubscriptionId\" DataType=\"i=7\" />\n      <Field Name=\"Priority\" DataType=\"i=3\" />\n      <Field Name=\"PublishingInterval\" DataType=\"i=290\" />\n      <Field Name=\"MaxKeepAliveCount\" DataType=\"i=7\" />\n      <Field Name=\"MaxLifetimeCount\" DataType=\"i=7\" />\n      <Field Name=\"MaxNotificationsPerPublish\" DataType=\"i=7\" />\n      <Field Name=\"PublishingEnabled\" DataType=\"i=1\" />\n      <Field Name=\"ModifyCount\" DataType=\"i=7\" />\n      <Field Name=\"EnableCount\" DataType=\"i=7\" />\n      <Field Name=\"DisableCount\" DataType=\"i=7\" />\n      <Field Name=\"RepublishRequestCount\" DataType=\"i=7\" />\n      <Field Name=\"RepublishMessageRequestCount\" DataType=\"i=7\" />\n      <Field Name=\"RepublishMessageCount\" DataType=\"i=7\" />\n      <Field Name=\"TransferRequestCount\" DataType=\"i=7\" />\n      <Field Name=\"TransferredToAltClientCount\" DataType=\"i=7\" />\n      <Field Name=\"TransferredToSameClientCount\" DataType=\"i=7\" />\n      <Field Name=\"PublishRequestCount\" DataType=\"i=7\" />\n      <Field Name=\"DataChangeNotificationsCount\" DataType=\"i=7\" />\n      <Field Name=\"EventNotificationsCount\" DataType=\"i=7\" />\n      <Field Name=\"NotificationsCount\" DataType=\"i=7\" />\n      <Field Name=\"LatePublishRequestCount\" DataType=\"i=7\" />\n      <Field Name=\"CurrentKeepAliveCount\" DataType=\"i=7\" />\n      <Field Name=\"CurrentLifetimeCount\" DataType=\"i=7\" />\n      <Field Name=\"UnacknowledgedMessageCount\" DataType=\"i=7\" />\n      <Field Name=\"DiscardedMessageCount\" DataType=\"i=7\" />\n      <Field Name=\"MonitoredItemCount\" DataType=\"i=7\" />\n      <Field Name=\"DisabledMonitoredItemCount\" DataType=\"i=7\" />\n      <Field Name=\"MonitoringQueueOverflowCount\" DataType=\"i=7\" />\n      <Field Name=\"NextSequenceNumber\" DataType=\"i=7\" />\n      <Field Name=\"EventQueueOverFlowCount\" DataType=\"i=7\" />\n    </Definition>\n  </UADataType>\n  <UADataType NodeId=\"i=877\" BrowseName=\"ModelChangeStructureDataType\">\n    <DisplayName>ModelChangeStructureDataType</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=22</Reference>\n    </References>\n    <Definition Name=\"ModelChangeStructureDataType\">\n      <Field Name=\"Affected\" DataType=\"i=17\" />\n      <Field Name=\"AffectedType\" DataType=\"i=17\" />\n      <Field Name=\"Verb\" DataType=\"i=3\" />\n    </Definition>\n  </UADataType>\n  <UADataType NodeId=\"i=897\" BrowseName=\"SemanticChangeStructureDataType\">\n    <DisplayName>SemanticChangeStructureDataType</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=22</Reference>\n    </References>\n    <Definition Name=\"SemanticChangeStructureDataType\">\n      <Field Name=\"Affected\" DataType=\"i=17\" />\n      <Field Name=\"AffectedType\" DataType=\"i=17\" />\n    </Definition>\n  </UADataType>\n  <UADataType NodeId=\"i=884\" BrowseName=\"Range\">\n    <DisplayName>Range</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=22</Reference>\n    </References>\n    <Definition Name=\"Range\">\n      <Field Name=\"Low\" DataType=\"i=11\" />\n      <Field Name=\"High\" DataType=\"i=11\" />\n    </Definition>\n  </UADataType>\n  <UADataType NodeId=\"i=887\" BrowseName=\"EUInformation\">\n    <DisplayName>EUInformation</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=22</Reference>\n    </References>\n    <Definition Name=\"EUInformation\">\n      <Field Name=\"NamespaceUri\" DataType=\"i=12\" />\n      <Field Name=\"UnitId\" DataType=\"i=6\" />\n      <Field Name=\"DisplayName\" DataType=\"i=21\" />\n      <Field Name=\"Description\" DataType=\"i=21\" />\n    </Definition>\n  </UADataType>\n  <UADataType NodeId=\"i=12077\" BrowseName=\"AxisScaleEnumeration\">\n    <DisplayName>AxisScaleEnumeration</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=12078</Reference>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=29</Reference>\n    </References>\n    <Definition Name=\"AxisScaleEnumeration\">\n      <Field Name=\"Linear\" Value=\"0\" />\n      <Field Name=\"Log\" Value=\"1\" />\n      <Field Name=\"Ln\" Value=\"2\" />\n    </Definition>\n  </UADataType>\n  <UAVariable NodeId=\"i=12078\" BrowseName=\"EnumStrings\" ParentNodeId=\"i=12077\" DataType=\"LocalizedText\" ValueRank=\"1\" ArrayDimensions=\"0\">\n    <DisplayName>EnumStrings</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=12077</Reference>\n    </References>\n    <Value>\n      <ListOfLocalizedText xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <LocalizedText>\n          <Text>Linear</Text>\n        </LocalizedText>\n        <LocalizedText>\n          <Text>Log</Text>\n        </LocalizedText>\n        <LocalizedText>\n          <Text>Ln</Text>\n        </LocalizedText>\n      </ListOfLocalizedText>\n    </Value>\n  </UAVariable>\n  <UADataType NodeId=\"i=12171\" BrowseName=\"ComplexNumberType\">\n    <DisplayName>ComplexNumberType</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=22</Reference>\n    </References>\n    <Definition Name=\"ComplexNumberType\">\n      <Field Name=\"Real\" DataType=\"i=10\" />\n      <Field Name=\"Imaginary\" DataType=\"i=10\" />\n    </Definition>\n  </UADataType>\n  <UADataType NodeId=\"i=12172\" BrowseName=\"DoubleComplexNumberType\">\n    <DisplayName>DoubleComplexNumberType</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=22</Reference>\n    </References>\n    <Definition Name=\"DoubleComplexNumberType\">\n      <Field Name=\"Real\" DataType=\"i=11\" />\n      <Field Name=\"Imaginary\" DataType=\"i=11\" />\n    </Definition>\n  </UADataType>\n  <UADataType NodeId=\"i=12079\" BrowseName=\"AxisInformation\">\n    <DisplayName>AxisInformation</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=22</Reference>\n    </References>\n    <Definition Name=\"AxisInformation\">\n      <Field Name=\"EngineeringUnits\" DataType=\"i=887\" />\n      <Field Name=\"EURange\" DataType=\"i=884\" />\n      <Field Name=\"Title\" DataType=\"i=21\" />\n      <Field Name=\"AxisScaleType\" DataType=\"i=12077\" />\n      <Field Name=\"AxisSteps\" DataType=\"i=11\" ValueRank=\"1\" />\n    </Definition>\n  </UADataType>\n  <UADataType NodeId=\"i=12080\" BrowseName=\"XVType\">\n    <DisplayName>XVType</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=22</Reference>\n    </References>\n    <Definition Name=\"XVType\">\n      <Field Name=\"X\" DataType=\"i=11\" />\n      <Field Name=\"Value\" DataType=\"i=10\" />\n    </Definition>\n  </UADataType>\n  <UADataType NodeId=\"i=894\" BrowseName=\"ProgramDiagnosticDataType\">\n    <DisplayName>ProgramDiagnosticDataType</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=22</Reference>\n    </References>\n    <Definition Name=\"ProgramDiagnosticDataType\">\n      <Field Name=\"CreateSessionId\" DataType=\"i=17\" />\n      <Field Name=\"CreateClientName\" DataType=\"i=12\" />\n      <Field Name=\"InvocationCreationTime\" DataType=\"i=294\" />\n      <Field Name=\"LastTransitionTime\" DataType=\"i=294\" />\n      <Field Name=\"LastMethodCall\" DataType=\"i=12\" />\n      <Field Name=\"LastMethodSessionId\" DataType=\"i=17\" />\n      <Field Name=\"LastMethodInputArguments\" DataType=\"i=296\" ValueRank=\"1\" />\n      <Field Name=\"LastMethodOutputArguments\" DataType=\"i=296\" ValueRank=\"1\" />\n      <Field Name=\"LastMethodCallTime\" DataType=\"i=294\" />\n      <Field Name=\"LastMethodReturnStatus\" DataType=\"i=299\" />\n    </Definition>\n  </UADataType>\n  <UADataType NodeId=\"i=24033\" BrowseName=\"ProgramDiagnostic2DataType\">\n    <DisplayName>ProgramDiagnostic2DataType</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=22</Reference>\n    </References>\n    <Definition Name=\"ProgramDiagnostic2DataType\">\n      <Field Name=\"CreateSessionId\" DataType=\"i=17\" />\n      <Field Name=\"CreateClientName\" DataType=\"i=12\" />\n      <Field Name=\"InvocationCreationTime\" DataType=\"i=294\" />\n      <Field Name=\"LastTransitionTime\" DataType=\"i=294\" />\n      <Field Name=\"LastMethodCall\" DataType=\"i=12\" />\n      <Field Name=\"LastMethodSessionId\" DataType=\"i=17\" />\n      <Field Name=\"LastMethodInputArguments\" DataType=\"i=296\" ValueRank=\"1\" />\n      <Field Name=\"LastMethodOutputArguments\" DataType=\"i=296\" ValueRank=\"1\" />\n      <Field Name=\"LastMethodInputValues\" ValueRank=\"1\" />\n      <Field Name=\"LastMethodOutputValues\" ValueRank=\"1\" />\n      <Field Name=\"LastMethodCallTime\" DataType=\"i=294\" />\n      <Field Name=\"LastMethodReturnStatus\" DataType=\"i=19\" />\n    </Definition>\n  </UADataType>\n  <UADataType NodeId=\"i=891\" BrowseName=\"Annotation\">\n    <DisplayName>Annotation</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=22</Reference>\n    </References>\n    <Definition Name=\"Annotation\">\n      <Field Name=\"Message\" DataType=\"i=12\" />\n      <Field Name=\"UserName\" DataType=\"i=12\" />\n      <Field Name=\"AnnotationTime\" DataType=\"i=294\" />\n    </Definition>\n  </UADataType>\n  <UADataType NodeId=\"i=890\" BrowseName=\"ExceptionDeviationFormat\">\n    <DisplayName>ExceptionDeviationFormat</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=7614</Reference>\n      <Reference ReferenceType=\"HasSubtype\" IsForward=\"false\">i=29</Reference>\n    </References>\n    <Definition Name=\"ExceptionDeviationFormat\">\n      <Field Name=\"AbsoluteValue\" Value=\"0\" />\n      <Field Name=\"PercentOfValue\" Value=\"1\" />\n      <Field Name=\"PercentOfRange\" Value=\"2\" />\n      <Field Name=\"PercentOfEURange\" Value=\"3\" />\n      <Field Name=\"Unknown\" Value=\"4\" />\n    </Definition>\n  </UADataType>\n  <UAVariable NodeId=\"i=7614\" BrowseName=\"EnumStrings\" ParentNodeId=\"i=890\" DataType=\"LocalizedText\" ValueRank=\"1\" ArrayDimensions=\"0\">\n    <DisplayName>EnumStrings</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=890</Reference>\n    </References>\n    <Value>\n      <ListOfLocalizedText xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n        <LocalizedText>\n          <Text>AbsoluteValue</Text>\n        </LocalizedText>\n        <LocalizedText>\n          <Text>PercentOfValue</Text>\n        </LocalizedText>\n        <LocalizedText>\n          <Text>PercentOfRange</Text>\n        </LocalizedText>\n        <LocalizedText>\n          <Text>PercentOfEURange</Text>\n        </LocalizedText>\n        <LocalizedText>\n          <Text>Unknown</Text>\n        </LocalizedText>\n      </ListOfLocalizedText>\n    </Value>\n  </UAVariable>\n  <UAObject NodeId=\"i=12766\" BrowseName=\"Default Binary\" SymbolicName=\"DefaultBinary\">\n    <DisplayName>Default Binary</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasEncoding\" IsForward=\"false\">i=12756</Reference>\n      <Reference ReferenceType=\"HasDescription\">i=12770</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=76</Reference>\n    </References>\n  </UAObject>\n  <UAObject NodeId=\"i=14846\" BrowseName=\"Default Binary\" SymbolicName=\"DefaultBinary\">\n    <DisplayName>Default Binary</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasEncoding\" IsForward=\"false\">i=14533</Reference>\n      <Reference ReferenceType=\"HasDescription\">i=14873</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=76</Reference>\n    </References>\n  </UAObject>\n  <UAObject NodeId=\"i=17537\" BrowseName=\"Default Binary\" SymbolicName=\"DefaultBinary\">\n    <DisplayName>Default Binary</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasEncoding\" IsForward=\"false\">i=16313</Reference>\n      <Reference ReferenceType=\"HasDescription\">i=17538</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=76</Reference>\n    </References>\n  </UAObject>\n  <UAObject NodeId=\"i=17549\" BrowseName=\"Default Binary\" SymbolicName=\"DefaultBinary\">\n    <DisplayName>Default Binary</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasEncoding\" IsForward=\"false\">i=17548</Reference>\n      <Reference ReferenceType=\"HasDescription\">i=17550</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=76</Reference>\n    </References>\n  </UAObject>\n  <UAObject NodeId=\"i=15671\" BrowseName=\"Default Binary\" SymbolicName=\"DefaultBinary\">\n    <DisplayName>Default Binary</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasEncoding\" IsForward=\"false\">i=15528</Reference>\n      <Reference ReferenceType=\"HasDescription\">i=15734</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=76</Reference>\n    </References>\n  </UAObject>\n  <UAObject NodeId=\"i=18815\" BrowseName=\"Default Binary\" SymbolicName=\"DefaultBinary\">\n    <DisplayName>Default Binary</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasEncoding\" IsForward=\"false\">i=18806</Reference>\n      <Reference ReferenceType=\"HasDescription\">i=18824</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=76</Reference>\n    </References>\n  </UAObject>\n  <UAObject NodeId=\"i=18816\" BrowseName=\"Default Binary\" SymbolicName=\"DefaultBinary\">\n    <DisplayName>Default Binary</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasEncoding\" IsForward=\"false\">i=18807</Reference>\n      <Reference ReferenceType=\"HasDescription\">i=18827</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=76</Reference>\n    </References>\n  </UAObject>\n  <UAObject NodeId=\"i=18817\" BrowseName=\"Default Binary\" SymbolicName=\"DefaultBinary\">\n    <DisplayName>Default Binary</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasEncoding\" IsForward=\"false\">i=18808</Reference>\n      <Reference ReferenceType=\"HasDescription\">i=18830</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=76</Reference>\n    </References>\n  </UAObject>\n  <UAObject NodeId=\"i=18818\" BrowseName=\"Default Binary\" SymbolicName=\"DefaultBinary\">\n    <DisplayName>Default Binary</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasEncoding\" IsForward=\"false\">i=18809</Reference>\n      <Reference ReferenceType=\"HasDescription\">i=18833</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=76</Reference>\n    </References>\n  </UAObject>\n  <UAObject NodeId=\"i=18819\" BrowseName=\"Default Binary\" SymbolicName=\"DefaultBinary\">\n    <DisplayName>Default Binary</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasEncoding\" IsForward=\"false\">i=18810</Reference>\n      <Reference ReferenceType=\"HasDescription\">i=18836</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=76</Reference>\n    </References>\n  </UAObject>\n  <UAObject NodeId=\"i=18820\" BrowseName=\"Default Binary\" SymbolicName=\"DefaultBinary\">\n    <DisplayName>Default Binary</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasEncoding\" IsForward=\"false\">i=18811</Reference>\n      <Reference ReferenceType=\"HasDescription\">i=18839</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=76</Reference>\n    </References>\n  </UAObject>\n  <UAObject NodeId=\"i=18821\" BrowseName=\"Default Binary\" SymbolicName=\"DefaultBinary\">\n    <DisplayName>Default Binary</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasEncoding\" IsForward=\"false\">i=18812</Reference>\n      <Reference ReferenceType=\"HasDescription\">i=18842</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=76</Reference>\n    </References>\n  </UAObject>\n  <UAObject NodeId=\"i=18822\" BrowseName=\"Default Binary\" SymbolicName=\"DefaultBinary\">\n    <DisplayName>Default Binary</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasEncoding\" IsForward=\"false\">i=18813</Reference>\n      <Reference ReferenceType=\"HasDescription\">i=18845</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=76</Reference>\n    </References>\n  </UAObject>\n  <UAObject NodeId=\"i=18823\" BrowseName=\"Default Binary\" SymbolicName=\"DefaultBinary\">\n    <DisplayName>Default Binary</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasEncoding\" IsForward=\"false\">i=18814</Reference>\n      <Reference ReferenceType=\"HasDescription\">i=18848</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=76</Reference>\n    </References>\n  </UAObject>\n  <UAObject NodeId=\"i=15736\" BrowseName=\"Default Binary\" SymbolicName=\"DefaultBinary\">\n    <DisplayName>Default Binary</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasEncoding\" IsForward=\"false\">i=15634</Reference>\n      <Reference ReferenceType=\"HasDescription\">i=15738</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=76</Reference>\n    </References>\n  </UAObject>\n  <UAObject NodeId=\"i=23507\" BrowseName=\"Default Binary\" SymbolicName=\"DefaultBinary\">\n    <DisplayName>Default Binary</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasEncoding\" IsForward=\"false\">i=23498</Reference>\n      <Reference ReferenceType=\"HasDescription\">i=23514</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=76</Reference>\n    </References>\n  </UAObject>\n  <UAObject NodeId=\"i=12680\" BrowseName=\"Default Binary\" SymbolicName=\"DefaultBinary\">\n    <DisplayName>Default Binary</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasEncoding\" IsForward=\"false\">i=12554</Reference>\n      <Reference ReferenceType=\"HasDescription\">i=12681</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=76</Reference>\n    </References>\n  </UAObject>\n  <UAObject NodeId=\"i=15676\" BrowseName=\"Default Binary\" SymbolicName=\"DefaultBinary\">\n    <DisplayName>Default Binary</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasEncoding\" IsForward=\"false\">i=15534</Reference>\n      <Reference ReferenceType=\"HasDescription\">i=15741</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=76</Reference>\n    </References>\n  </UAObject>\n  <UAObject NodeId=\"i=125\" BrowseName=\"Default Binary\" SymbolicName=\"DefaultBinary\">\n    <DisplayName>Default Binary</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasEncoding\" IsForward=\"false\">i=14525</Reference>\n      <Reference ReferenceType=\"HasDescription\">i=14855</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=76</Reference>\n    </References>\n  </UAObject>\n  <UAObject NodeId=\"i=126\" BrowseName=\"Default Binary\" SymbolicName=\"DefaultBinary\">\n    <DisplayName>Default Binary</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasEncoding\" IsForward=\"false\">i=15487</Reference>\n      <Reference ReferenceType=\"HasDescription\">i=15599</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=76</Reference>\n    </References>\n  </UAObject>\n  <UAObject NodeId=\"i=127\" BrowseName=\"Default Binary\" SymbolicName=\"DefaultBinary\">\n    <DisplayName>Default Binary</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasEncoding\" IsForward=\"false\">i=15488</Reference>\n      <Reference ReferenceType=\"HasDescription\">i=15602</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=76</Reference>\n    </References>\n  </UAObject>\n  <UAObject NodeId=\"i=15421\" BrowseName=\"Default Binary\" SymbolicName=\"DefaultBinary\">\n    <DisplayName>Default Binary</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasEncoding\" IsForward=\"false\">i=15005</Reference>\n      <Reference ReferenceType=\"HasDescription\">i=15501</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=76</Reference>\n    </References>\n  </UAObject>\n  <UAObject NodeId=\"i=15422\" BrowseName=\"Default Binary\" SymbolicName=\"DefaultBinary\">\n    <DisplayName>Default Binary</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasEncoding\" IsForward=\"false\">i=15006</Reference>\n      <Reference ReferenceType=\"HasDescription\">i=15521</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=76</Reference>\n    </References>\n  </UAObject>\n  <UAObject NodeId=\"i=124\" BrowseName=\"Default Binary\" SymbolicName=\"DefaultBinary\">\n    <DisplayName>Default Binary</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasEncoding\" IsForward=\"false\">i=14523</Reference>\n      <Reference ReferenceType=\"HasDescription\">i=14849</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=76</Reference>\n    </References>\n  </UAObject>\n  <UAObject NodeId=\"i=14839\" BrowseName=\"Default Binary\" SymbolicName=\"DefaultBinary\">\n    <DisplayName>Default Binary</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasEncoding\" IsForward=\"false\">i=14524</Reference>\n      <Reference ReferenceType=\"HasDescription\">i=14852</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=76</Reference>\n    </References>\n  </UAObject>\n  <UAObject NodeId=\"i=14847\" BrowseName=\"Default Binary\" SymbolicName=\"DefaultBinary\">\n    <DisplayName>Default Binary</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasEncoding\" IsForward=\"false\">i=14593</Reference>\n      <Reference ReferenceType=\"HasDescription\">i=14876</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=76</Reference>\n    </References>\n  </UAObject>\n  <UAObject NodeId=\"i=15677\" BrowseName=\"Default Binary\" SymbolicName=\"DefaultBinary\">\n    <DisplayName>Default Binary</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasEncoding\" IsForward=\"false\">i=15578</Reference>\n      <Reference ReferenceType=\"HasDescription\">i=15766</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=76</Reference>\n    </References>\n  </UAObject>\n  <UAObject NodeId=\"i=15678\" BrowseName=\"Default Binary\" SymbolicName=\"DefaultBinary\">\n    <DisplayName>Default Binary</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasEncoding\" IsForward=\"false\">i=15580</Reference>\n      <Reference ReferenceType=\"HasDescription\">i=15769</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=76</Reference>\n    </References>\n  </UAObject>\n  <UAObject NodeId=\"i=14323\" BrowseName=\"Default Binary\" SymbolicName=\"DefaultBinary\">\n    <DisplayName>Default Binary</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasEncoding\" IsForward=\"false\">i=14273</Reference>\n      <Reference ReferenceType=\"HasDescription\">i=14324</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=76</Reference>\n    </References>\n  </UAObject>\n  <UAObject NodeId=\"i=15679\" BrowseName=\"Default Binary\" SymbolicName=\"DefaultBinary\">\n    <DisplayName>Default Binary</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasEncoding\" IsForward=\"false\">i=15581</Reference>\n      <Reference ReferenceType=\"HasDescription\">i=15772</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=76</Reference>\n    </References>\n  </UAObject>\n  <UAObject NodeId=\"i=15681\" BrowseName=\"Default Binary\" SymbolicName=\"DefaultBinary\">\n    <DisplayName>Default Binary</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasEncoding\" IsForward=\"false\">i=15582</Reference>\n      <Reference ReferenceType=\"HasDescription\">i=15775</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=76</Reference>\n    </References>\n  </UAObject>\n  <UAObject NodeId=\"i=15682\" BrowseName=\"Default Binary\" SymbolicName=\"DefaultBinary\">\n    <DisplayName>Default Binary</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasEncoding\" IsForward=\"false\">i=15597</Reference>\n      <Reference ReferenceType=\"HasDescription\">i=15778</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=76</Reference>\n    </References>\n  </UAObject>\n  <UAObject NodeId=\"i=15683\" BrowseName=\"Default Binary\" SymbolicName=\"DefaultBinary\">\n    <DisplayName>Default Binary</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasEncoding\" IsForward=\"false\">i=15598</Reference>\n      <Reference ReferenceType=\"HasDescription\">i=15781</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=76</Reference>\n    </References>\n  </UAObject>\n  <UAObject NodeId=\"i=15688\" BrowseName=\"Default Binary\" SymbolicName=\"DefaultBinary\">\n    <DisplayName>Default Binary</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasEncoding\" IsForward=\"false\">i=15605</Reference>\n      <Reference ReferenceType=\"HasDescription\">i=15784</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=76</Reference>\n    </References>\n  </UAObject>\n  <UAObject NodeId=\"i=15689\" BrowseName=\"Default Binary\" SymbolicName=\"DefaultBinary\">\n    <DisplayName>Default Binary</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasEncoding\" IsForward=\"false\">i=15609</Reference>\n      <Reference ReferenceType=\"HasDescription\">i=15787</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=76</Reference>\n    </References>\n  </UAObject>\n  <UAObject NodeId=\"i=21150\" BrowseName=\"Default Binary\" SymbolicName=\"DefaultBinary\">\n    <DisplayName>Default Binary</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasEncoding\" IsForward=\"false\">i=15480</Reference>\n      <Reference ReferenceType=\"HasDescription\">i=21156</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=76</Reference>\n    </References>\n  </UAObject>\n  <UAObject NodeId=\"i=15691\" BrowseName=\"Default Binary\" SymbolicName=\"DefaultBinary\">\n    <DisplayName>Default Binary</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasEncoding\" IsForward=\"false\">i=15611</Reference>\n      <Reference ReferenceType=\"HasDescription\">i=15793</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=76</Reference>\n    </References>\n  </UAObject>\n  <UAObject NodeId=\"i=15693\" BrowseName=\"Default Binary\" SymbolicName=\"DefaultBinary\">\n    <DisplayName>Default Binary</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasEncoding\" IsForward=\"false\">i=15616</Reference>\n      <Reference ReferenceType=\"HasDescription\">i=15854</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=76</Reference>\n    </References>\n  </UAObject>\n  <UAObject NodeId=\"i=15694\" BrowseName=\"Default Binary\" SymbolicName=\"DefaultBinary\">\n    <DisplayName>Default Binary</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasEncoding\" IsForward=\"false\">i=15617</Reference>\n      <Reference ReferenceType=\"HasDescription\">i=15857</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=76</Reference>\n    </References>\n  </UAObject>\n  <UAObject NodeId=\"i=15695\" BrowseName=\"Default Binary\" SymbolicName=\"DefaultBinary\">\n    <DisplayName>Default Binary</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasEncoding\" IsForward=\"false\">i=15618</Reference>\n      <Reference ReferenceType=\"HasDescription\">i=15860</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=76</Reference>\n    </References>\n  </UAObject>\n  <UAObject NodeId=\"i=21151\" BrowseName=\"Default Binary\" SymbolicName=\"DefaultBinary\">\n    <DisplayName>Default Binary</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasEncoding\" IsForward=\"false\">i=15502</Reference>\n      <Reference ReferenceType=\"HasDescription\">i=21159</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=76</Reference>\n    </References>\n  </UAObject>\n  <UAObject NodeId=\"i=21152\" BrowseName=\"Default Binary\" SymbolicName=\"DefaultBinary\">\n    <DisplayName>Default Binary</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasEncoding\" IsForward=\"false\">i=15510</Reference>\n      <Reference ReferenceType=\"HasDescription\">i=21162</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=76</Reference>\n    </References>\n  </UAObject>\n  <UAObject NodeId=\"i=21153\" BrowseName=\"Default Binary\" SymbolicName=\"DefaultBinary\">\n    <DisplayName>Default Binary</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasEncoding\" IsForward=\"false\">i=15520</Reference>\n      <Reference ReferenceType=\"HasDescription\">i=21165</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=76</Reference>\n    </References>\n  </UAObject>\n  <UAObject NodeId=\"i=15701\" BrowseName=\"Default Binary\" SymbolicName=\"DefaultBinary\">\n    <DisplayName>Default Binary</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasEncoding\" IsForward=\"false\">i=15621</Reference>\n      <Reference ReferenceType=\"HasDescription\">i=15866</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=76</Reference>\n    </References>\n  </UAObject>\n  <UAObject NodeId=\"i=15702\" BrowseName=\"Default Binary\" SymbolicName=\"DefaultBinary\">\n    <DisplayName>Default Binary</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasEncoding\" IsForward=\"false\">i=15622</Reference>\n      <Reference ReferenceType=\"HasDescription\">i=15869</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=76</Reference>\n    </References>\n  </UAObject>\n  <UAObject NodeId=\"i=15703\" BrowseName=\"Default Binary\" SymbolicName=\"DefaultBinary\">\n    <DisplayName>Default Binary</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasEncoding\" IsForward=\"false\">i=15623</Reference>\n      <Reference ReferenceType=\"HasDescription\">i=15872</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=76</Reference>\n    </References>\n  </UAObject>\n  <UAObject NodeId=\"i=15705\" BrowseName=\"Default Binary\" SymbolicName=\"DefaultBinary\">\n    <DisplayName>Default Binary</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasEncoding\" IsForward=\"false\">i=15628</Reference>\n      <Reference ReferenceType=\"HasDescription\">i=15877</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=76</Reference>\n    </References>\n  </UAObject>\n  <UAObject NodeId=\"i=15706\" BrowseName=\"Default Binary\" SymbolicName=\"DefaultBinary\">\n    <DisplayName>Default Binary</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasEncoding\" IsForward=\"false\">i=15629</Reference>\n      <Reference ReferenceType=\"HasDescription\">i=15880</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=76</Reference>\n    </References>\n  </UAObject>\n  <UAObject NodeId=\"i=15707\" BrowseName=\"Default Binary\" SymbolicName=\"DefaultBinary\">\n    <DisplayName>Default Binary</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasEncoding\" IsForward=\"false\">i=15630</Reference>\n      <Reference ReferenceType=\"HasDescription\">i=15883</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=76</Reference>\n    </References>\n  </UAObject>\n  <UAObject NodeId=\"i=15712\" BrowseName=\"Default Binary\" SymbolicName=\"DefaultBinary\">\n    <DisplayName>Default Binary</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasEncoding\" IsForward=\"false\">i=15631</Reference>\n      <Reference ReferenceType=\"HasDescription\">i=15886</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=76</Reference>\n    </References>\n  </UAObject>\n  <UAObject NodeId=\"i=14848\" BrowseName=\"Default Binary\" SymbolicName=\"DefaultBinary\">\n    <DisplayName>Default Binary</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasEncoding\" IsForward=\"false\">i=14744</Reference>\n      <Reference ReferenceType=\"HasDescription\">i=21002</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=76</Reference>\n    </References>\n  </UAObject>\n  <UAObject NodeId=\"i=15713\" BrowseName=\"Default Binary\" SymbolicName=\"DefaultBinary\">\n    <DisplayName>Default Binary</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasEncoding\" IsForward=\"false\">i=15635</Reference>\n      <Reference ReferenceType=\"HasDescription\">i=15889</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=76</Reference>\n    </References>\n  </UAObject>\n  <UAObject NodeId=\"i=21154\" BrowseName=\"Default Binary\" SymbolicName=\"DefaultBinary\">\n    <DisplayName>Default Binary</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasEncoding\" IsForward=\"false\">i=15530</Reference>\n      <Reference ReferenceType=\"HasDescription\">i=21168</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=76</Reference>\n    </References>\n  </UAObject>\n  <UAObject NodeId=\"i=15715\" BrowseName=\"Default Binary\" SymbolicName=\"DefaultBinary\">\n    <DisplayName>Default Binary</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasEncoding\" IsForward=\"false\">i=15645</Reference>\n      <Reference ReferenceType=\"HasDescription\">i=15895</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=76</Reference>\n    </References>\n  </UAObject>\n  <UAObject NodeId=\"i=15717\" BrowseName=\"Default Binary\" SymbolicName=\"DefaultBinary\">\n    <DisplayName>Default Binary</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasEncoding\" IsForward=\"false\">i=15652</Reference>\n      <Reference ReferenceType=\"HasDescription\">i=15898</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=76</Reference>\n    </References>\n  </UAObject>\n  <UAObject NodeId=\"i=15718\" BrowseName=\"Default Binary\" SymbolicName=\"DefaultBinary\">\n    <DisplayName>Default Binary</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasEncoding\" IsForward=\"false\">i=15653</Reference>\n      <Reference ReferenceType=\"HasDescription\">i=15919</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=76</Reference>\n    </References>\n  </UAObject>\n  <UAObject NodeId=\"i=15719\" BrowseName=\"Default Binary\" SymbolicName=\"DefaultBinary\">\n    <DisplayName>Default Binary</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasEncoding\" IsForward=\"false\">i=15657</Reference>\n      <Reference ReferenceType=\"HasDescription\">i=15922</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=76</Reference>\n    </References>\n  </UAObject>\n  <UAObject NodeId=\"i=15724\" BrowseName=\"Default Binary\" SymbolicName=\"DefaultBinary\">\n    <DisplayName>Default Binary</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasEncoding\" IsForward=\"false\">i=15664</Reference>\n      <Reference ReferenceType=\"HasDescription\">i=15925</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=76</Reference>\n    </References>\n  </UAObject>\n  <UAObject NodeId=\"i=15725\" BrowseName=\"Default Binary\" SymbolicName=\"DefaultBinary\">\n    <DisplayName>Default Binary</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasEncoding\" IsForward=\"false\">i=15665</Reference>\n      <Reference ReferenceType=\"HasDescription\">i=15931</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=76</Reference>\n    </References>\n  </UAObject>\n  <UAObject NodeId=\"i=17468\" BrowseName=\"Default Binary\" SymbolicName=\"DefaultBinary\">\n    <DisplayName>Default Binary</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasEncoding\" IsForward=\"false\">i=17467</Reference>\n      <Reference ReferenceType=\"HasDescription\">i=17469</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=76</Reference>\n    </References>\n  </UAObject>\n  <UAObject NodeId=\"i=21155\" BrowseName=\"Default Binary\" SymbolicName=\"DefaultBinary\">\n    <DisplayName>Default Binary</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasEncoding\" IsForward=\"false\">i=15532</Reference>\n      <Reference ReferenceType=\"HasDescription\">i=21171</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=76</Reference>\n    </References>\n  </UAObject>\n  <UAObject NodeId=\"i=15479\" BrowseName=\"Default Binary\" SymbolicName=\"DefaultBinary\">\n    <DisplayName>Default Binary</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasEncoding\" IsForward=\"false\">i=15007</Reference>\n      <Reference ReferenceType=\"HasDescription\">i=15524</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=76</Reference>\n    </References>\n  </UAObject>\n  <UAObject NodeId=\"i=15727\" BrowseName=\"Default Binary\" SymbolicName=\"DefaultBinary\">\n    <DisplayName>Default Binary</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasEncoding\" IsForward=\"false\">i=15667</Reference>\n      <Reference ReferenceType=\"HasDescription\">i=15940</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=76</Reference>\n    </References>\n  </UAObject>\n  <UAObject NodeId=\"i=15729\" BrowseName=\"Default Binary\" SymbolicName=\"DefaultBinary\">\n    <DisplayName>Default Binary</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasEncoding\" IsForward=\"false\">i=15669</Reference>\n      <Reference ReferenceType=\"HasDescription\">i=15943</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=76</Reference>\n    </References>\n  </UAObject>\n  <UAObject NodeId=\"i=15733\" BrowseName=\"Default Binary\" SymbolicName=\"DefaultBinary\">\n    <DisplayName>Default Binary</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasEncoding\" IsForward=\"false\">i=15670</Reference>\n      <Reference ReferenceType=\"HasDescription\">i=15946</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=76</Reference>\n    </References>\n  </UAObject>\n  <UAObject NodeId=\"i=23499\" BrowseName=\"Default Binary\" SymbolicName=\"DefaultBinary\">\n    <DisplayName>Default Binary</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasEncoding\" IsForward=\"false\">i=23468</Reference>\n      <Reference ReferenceType=\"HasDescription\">i=23502</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=76</Reference>\n    </References>\n  </UAObject>\n  <UAObject NodeId=\"i=24110\" BrowseName=\"Default Binary\" SymbolicName=\"DefaultBinary\">\n    <DisplayName>Default Binary</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasEncoding\" IsForward=\"false\">i=24107</Reference>\n      <Reference ReferenceType=\"HasDescription\">i=24117</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=76</Reference>\n    </References>\n  </UAObject>\n  <UAObject NodeId=\"i=128\" BrowseName=\"Default Binary\" SymbolicName=\"DefaultBinary\">\n    <DisplayName>Default Binary</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasEncoding\" IsForward=\"false\">i=96</Reference>\n      <Reference ReferenceType=\"HasDescription\">i=16131</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=76</Reference>\n    </References>\n  </UAObject>\n  <UAObject NodeId=\"i=121\" BrowseName=\"Default Binary\" SymbolicName=\"DefaultBinary\">\n    <DisplayName>Default Binary</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasEncoding\" IsForward=\"false\">i=97</Reference>\n      <Reference ReferenceType=\"HasDescription\">i=18178</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=76</Reference>\n    </References>\n  </UAObject>\n  <UAObject NodeId=\"i=14844\" BrowseName=\"Default Binary\" SymbolicName=\"DefaultBinary\">\n    <DisplayName>Default Binary</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasEncoding\" IsForward=\"false\">i=101</Reference>\n      <Reference ReferenceType=\"HasDescription\">i=18181</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=76</Reference>\n    </References>\n  </UAObject>\n  <UAObject NodeId=\"i=122\" BrowseName=\"Default Binary\" SymbolicName=\"DefaultBinary\">\n    <DisplayName>Default Binary</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasEncoding\" IsForward=\"false\">i=99</Reference>\n      <Reference ReferenceType=\"HasDescription\">i=18184</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=76</Reference>\n    </References>\n  </UAObject>\n  <UAObject NodeId=\"i=123\" BrowseName=\"Default Binary\" SymbolicName=\"DefaultBinary\">\n    <DisplayName>Default Binary</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasEncoding\" IsForward=\"false\">i=100</Reference>\n      <Reference ReferenceType=\"HasDescription\">i=18187</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=76</Reference>\n    </References>\n  </UAObject>\n  <UAObject NodeId=\"i=298\" BrowseName=\"Default Binary\" SymbolicName=\"DefaultBinary\">\n    <DisplayName>Default Binary</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasEncoding\" IsForward=\"false\">i=296</Reference>\n      <Reference ReferenceType=\"HasDescription\">i=7650</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=76</Reference>\n    </References>\n  </UAObject>\n  <UAObject NodeId=\"i=8251\" BrowseName=\"Default Binary\" SymbolicName=\"DefaultBinary\">\n    <DisplayName>Default Binary</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasEncoding\" IsForward=\"false\">i=7594</Reference>\n      <Reference ReferenceType=\"HasDescription\">i=7656</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=76</Reference>\n    </References>\n  </UAObject>\n  <UAObject NodeId=\"i=14845\" BrowseName=\"Default Binary\" SymbolicName=\"DefaultBinary\">\n    <DisplayName>Default Binary</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasEncoding\" IsForward=\"false\">i=102</Reference>\n      <Reference ReferenceType=\"HasDescription\">i=14870</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=76</Reference>\n    </References>\n  </UAObject>\n  <UAObject NodeId=\"i=12765\" BrowseName=\"Default Binary\" SymbolicName=\"DefaultBinary\">\n    <DisplayName>Default Binary</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasEncoding\" IsForward=\"false\">i=12755</Reference>\n      <Reference ReferenceType=\"HasDescription\">i=12767</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=76</Reference>\n    </References>\n  </UAObject>\n  <UAObject NodeId=\"i=8917\" BrowseName=\"Default Binary\" SymbolicName=\"DefaultBinary\">\n    <DisplayName>Default Binary</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasEncoding\" IsForward=\"false\">i=8912</Reference>\n      <Reference ReferenceType=\"HasDescription\">i=8914</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=76</Reference>\n    </References>\n  </UAObject>\n  <UAObject NodeId=\"i=310\" BrowseName=\"Default Binary\" SymbolicName=\"DefaultBinary\">\n    <DisplayName>Default Binary</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasEncoding\" IsForward=\"false\">i=308</Reference>\n      <Reference ReferenceType=\"HasDescription\">i=7665</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=76</Reference>\n    </References>\n  </UAObject>\n  <UAObject NodeId=\"i=12207\" BrowseName=\"Default Binary\" SymbolicName=\"DefaultBinary\">\n    <DisplayName>Default Binary</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasEncoding\" IsForward=\"false\">i=12189</Reference>\n      <Reference ReferenceType=\"HasDescription\">i=12213</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=76</Reference>\n    </References>\n  </UAObject>\n  <UAObject NodeId=\"i=306\" BrowseName=\"Default Binary\" SymbolicName=\"DefaultBinary\">\n    <DisplayName>Default Binary</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasEncoding\" IsForward=\"false\">i=304</Reference>\n      <Reference ReferenceType=\"HasDescription\">i=7662</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=76</Reference>\n    </References>\n  </UAObject>\n  <UAObject NodeId=\"i=314\" BrowseName=\"Default Binary\" SymbolicName=\"DefaultBinary\">\n    <DisplayName>Default Binary</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasEncoding\" IsForward=\"false\">i=312</Reference>\n      <Reference ReferenceType=\"HasDescription\">i=7668</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=76</Reference>\n    </References>\n  </UAObject>\n  <UAObject NodeId=\"i=434\" BrowseName=\"Default Binary\" SymbolicName=\"DefaultBinary\">\n    <DisplayName>Default Binary</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasEncoding\" IsForward=\"false\">i=432</Reference>\n      <Reference ReferenceType=\"HasDescription\">i=7782</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=76</Reference>\n    </References>\n  </UAObject>\n  <UAObject NodeId=\"i=12900\" BrowseName=\"Default Binary\" SymbolicName=\"DefaultBinary\">\n    <DisplayName>Default Binary</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasEncoding\" IsForward=\"false\">i=12890</Reference>\n      <Reference ReferenceType=\"HasDescription\">i=12902</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=76</Reference>\n    </References>\n  </UAObject>\n  <UAObject NodeId=\"i=12901\" BrowseName=\"Default Binary\" SymbolicName=\"DefaultBinary\">\n    <DisplayName>Default Binary</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasEncoding\" IsForward=\"false\">i=12891</Reference>\n      <Reference ReferenceType=\"HasDescription\">i=12905</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=76</Reference>\n    </References>\n  </UAObject>\n  <UAObject NodeId=\"i=346\" BrowseName=\"Default Binary\" SymbolicName=\"DefaultBinary\">\n    <DisplayName>Default Binary</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasEncoding\" IsForward=\"false\">i=344</Reference>\n      <Reference ReferenceType=\"HasDescription\">i=7698</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=76</Reference>\n    </References>\n  </UAObject>\n  <UAObject NodeId=\"i=318\" BrowseName=\"Default Binary\" SymbolicName=\"DefaultBinary\">\n    <DisplayName>Default Binary</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasEncoding\" IsForward=\"false\">i=316</Reference>\n      <Reference ReferenceType=\"HasDescription\">i=7671</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=76</Reference>\n    </References>\n  </UAObject>\n  <UAObject NodeId=\"i=321\" BrowseName=\"Default Binary\" SymbolicName=\"DefaultBinary\">\n    <DisplayName>Default Binary</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasEncoding\" IsForward=\"false\">i=319</Reference>\n      <Reference ReferenceType=\"HasDescription\">i=7674</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=76</Reference>\n    </References>\n  </UAObject>\n  <UAObject NodeId=\"i=324\" BrowseName=\"Default Binary\" SymbolicName=\"DefaultBinary\">\n    <DisplayName>Default Binary</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasEncoding\" IsForward=\"false\">i=322</Reference>\n      <Reference ReferenceType=\"HasDescription\">i=7677</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=76</Reference>\n    </References>\n  </UAObject>\n  <UAObject NodeId=\"i=327\" BrowseName=\"Default Binary\" SymbolicName=\"DefaultBinary\">\n    <DisplayName>Default Binary</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasEncoding\" IsForward=\"false\">i=325</Reference>\n      <Reference ReferenceType=\"HasDescription\">i=7680</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=76</Reference>\n    </References>\n  </UAObject>\n  <UAObject NodeId=\"i=940\" BrowseName=\"Default Binary\" SymbolicName=\"DefaultBinary\">\n    <DisplayName>Default Binary</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasEncoding\" IsForward=\"false\">i=938</Reference>\n      <Reference ReferenceType=\"HasDescription\">i=7683</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=76</Reference>\n    </References>\n  </UAObject>\n  <UAObject NodeId=\"i=378\" BrowseName=\"Default Binary\" SymbolicName=\"DefaultBinary\">\n    <DisplayName>Default Binary</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasEncoding\" IsForward=\"false\">i=376</Reference>\n      <Reference ReferenceType=\"HasDescription\">i=7728</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=76</Reference>\n    </References>\n  </UAObject>\n  <UAObject NodeId=\"i=381\" BrowseName=\"Default Binary\" SymbolicName=\"DefaultBinary\">\n    <DisplayName>Default Binary</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasEncoding\" IsForward=\"false\">i=379</Reference>\n      <Reference ReferenceType=\"HasDescription\">i=7731</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=76</Reference>\n    </References>\n  </UAObject>\n  <UAObject NodeId=\"i=384\" BrowseName=\"Default Binary\" SymbolicName=\"DefaultBinary\">\n    <DisplayName>Default Binary</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasEncoding\" IsForward=\"false\">i=382</Reference>\n      <Reference ReferenceType=\"HasDescription\">i=7734</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=76</Reference>\n    </References>\n  </UAObject>\n  <UAObject NodeId=\"i=387\" BrowseName=\"Default Binary\" SymbolicName=\"DefaultBinary\">\n    <DisplayName>Default Binary</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasEncoding\" IsForward=\"false\">i=385</Reference>\n      <Reference ReferenceType=\"HasDescription\">i=7737</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=76</Reference>\n    </References>\n  </UAObject>\n  <UAObject NodeId=\"i=539\" BrowseName=\"Default Binary\" SymbolicName=\"DefaultBinary\">\n    <DisplayName>Default Binary</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasEncoding\" IsForward=\"false\">i=537</Reference>\n      <Reference ReferenceType=\"HasDescription\">i=12718</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=76</Reference>\n    </References>\n  </UAObject>\n  <UAObject NodeId=\"i=542\" BrowseName=\"Default Binary\" SymbolicName=\"DefaultBinary\">\n    <DisplayName>Default Binary</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasEncoding\" IsForward=\"false\">i=540</Reference>\n      <Reference ReferenceType=\"HasDescription\">i=12721</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=76</Reference>\n    </References>\n  </UAObject>\n  <UAObject NodeId=\"i=333\" BrowseName=\"Default Binary\" SymbolicName=\"DefaultBinary\">\n    <DisplayName>Default Binary</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasEncoding\" IsForward=\"false\">i=331</Reference>\n      <Reference ReferenceType=\"HasDescription\">i=7686</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=76</Reference>\n    </References>\n  </UAObject>\n  <UAObject NodeId=\"i=585\" BrowseName=\"Default Binary\" SymbolicName=\"DefaultBinary\">\n    <DisplayName>Default Binary</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasEncoding\" IsForward=\"false\">i=583</Reference>\n      <Reference ReferenceType=\"HasDescription\">i=7929</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=76</Reference>\n    </References>\n  </UAObject>\n  <UAObject NodeId=\"i=588\" BrowseName=\"Default Binary\" SymbolicName=\"DefaultBinary\">\n    <DisplayName>Default Binary</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasEncoding\" IsForward=\"false\">i=586</Reference>\n      <Reference ReferenceType=\"HasDescription\">i=7932</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=76</Reference>\n    </References>\n  </UAObject>\n  <UAObject NodeId=\"i=591\" BrowseName=\"Default Binary\" SymbolicName=\"DefaultBinary\">\n    <DisplayName>Default Binary</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasEncoding\" IsForward=\"false\">i=589</Reference>\n      <Reference ReferenceType=\"HasDescription\">i=7935</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=76</Reference>\n    </References>\n  </UAObject>\n  <UAObject NodeId=\"i=594\" BrowseName=\"Default Binary\" SymbolicName=\"DefaultBinary\">\n    <DisplayName>Default Binary</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasEncoding\" IsForward=\"false\">i=592</Reference>\n      <Reference ReferenceType=\"HasDescription\">i=7938</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=76</Reference>\n    </References>\n  </UAObject>\n  <UAObject NodeId=\"i=597\" BrowseName=\"Default Binary\" SymbolicName=\"DefaultBinary\">\n    <DisplayName>Default Binary</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasEncoding\" IsForward=\"false\">i=595</Reference>\n      <Reference ReferenceType=\"HasDescription\">i=7941</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=76</Reference>\n    </References>\n  </UAObject>\n  <UAObject NodeId=\"i=600\" BrowseName=\"Default Binary\" SymbolicName=\"DefaultBinary\">\n    <DisplayName>Default Binary</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasEncoding\" IsForward=\"false\">i=598</Reference>\n      <Reference ReferenceType=\"HasDescription\">i=7944</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=76</Reference>\n    </References>\n  </UAObject>\n  <UAObject NodeId=\"i=603\" BrowseName=\"Default Binary\" SymbolicName=\"DefaultBinary\">\n    <DisplayName>Default Binary</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasEncoding\" IsForward=\"false\">i=601</Reference>\n      <Reference ReferenceType=\"HasDescription\">i=7947</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=76</Reference>\n    </References>\n  </UAObject>\n  <UAObject NodeId=\"i=661\" BrowseName=\"Default Binary\" SymbolicName=\"DefaultBinary\">\n    <DisplayName>Default Binary</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasEncoding\" IsForward=\"false\">i=659</Reference>\n      <Reference ReferenceType=\"HasDescription\">i=8004</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=76</Reference>\n    </References>\n  </UAObject>\n  <UAObject NodeId=\"i=721\" BrowseName=\"Default Binary\" SymbolicName=\"DefaultBinary\">\n    <DisplayName>Default Binary</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasEncoding\" IsForward=\"false\">i=719</Reference>\n      <Reference ReferenceType=\"HasDescription\">i=8067</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=76</Reference>\n    </References>\n  </UAObject>\n  <UAObject NodeId=\"i=727\" BrowseName=\"Default Binary\" SymbolicName=\"DefaultBinary\">\n    <DisplayName>Default Binary</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasEncoding\" IsForward=\"false\">i=725</Reference>\n      <Reference ReferenceType=\"HasDescription\">i=8073</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=76</Reference>\n    </References>\n  </UAObject>\n  <UAObject NodeId=\"i=950\" BrowseName=\"Default Binary\" SymbolicName=\"DefaultBinary\">\n    <DisplayName>Default Binary</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasEncoding\" IsForward=\"false\">i=948</Reference>\n      <Reference ReferenceType=\"HasDescription\">i=8076</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=76</Reference>\n    </References>\n  </UAObject>\n  <UAObject NodeId=\"i=922\" BrowseName=\"Default Binary\" SymbolicName=\"DefaultBinary\">\n    <DisplayName>Default Binary</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasEncoding\" IsForward=\"false\">i=920</Reference>\n      <Reference ReferenceType=\"HasDescription\">i=8172</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=76</Reference>\n    </References>\n  </UAObject>\n  <UAObject NodeId=\"i=340\" BrowseName=\"Default Binary\" SymbolicName=\"DefaultBinary\">\n    <DisplayName>Default Binary</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasEncoding\" IsForward=\"false\">i=338</Reference>\n      <Reference ReferenceType=\"HasDescription\">i=7692</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=76</Reference>\n    </References>\n  </UAObject>\n  <UAObject NodeId=\"i=855\" BrowseName=\"Default Binary\" SymbolicName=\"DefaultBinary\">\n    <DisplayName>Default Binary</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasEncoding\" IsForward=\"false\">i=853</Reference>\n      <Reference ReferenceType=\"HasDescription\">i=8208</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=76</Reference>\n    </References>\n  </UAObject>\n  <UAObject NodeId=\"i=11957\" BrowseName=\"Default Binary\" SymbolicName=\"DefaultBinary\">\n    <DisplayName>Default Binary</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasEncoding\" IsForward=\"false\">i=11943</Reference>\n      <Reference ReferenceType=\"HasDescription\">i=11959</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=76</Reference>\n    </References>\n  </UAObject>\n  <UAObject NodeId=\"i=11958\" BrowseName=\"Default Binary\" SymbolicName=\"DefaultBinary\">\n    <DisplayName>Default Binary</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasEncoding\" IsForward=\"false\">i=11944</Reference>\n      <Reference ReferenceType=\"HasDescription\">i=11962</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=76</Reference>\n    </References>\n  </UAObject>\n  <UAObject NodeId=\"i=858\" BrowseName=\"Default Binary\" SymbolicName=\"DefaultBinary\">\n    <DisplayName>Default Binary</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasEncoding\" IsForward=\"false\">i=856</Reference>\n      <Reference ReferenceType=\"HasDescription\">i=8211</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=76</Reference>\n    </References>\n  </UAObject>\n  <UAObject NodeId=\"i=861\" BrowseName=\"Default Binary\" SymbolicName=\"DefaultBinary\">\n    <DisplayName>Default Binary</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasEncoding\" IsForward=\"false\">i=859</Reference>\n      <Reference ReferenceType=\"HasDescription\">i=8214</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=76</Reference>\n    </References>\n  </UAObject>\n  <UAObject NodeId=\"i=864\" BrowseName=\"Default Binary\" SymbolicName=\"DefaultBinary\">\n    <DisplayName>Default Binary</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasEncoding\" IsForward=\"false\">i=862</Reference>\n      <Reference ReferenceType=\"HasDescription\">i=8217</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=76</Reference>\n    </References>\n  </UAObject>\n  <UAObject NodeId=\"i=867\" BrowseName=\"Default Binary\" SymbolicName=\"DefaultBinary\">\n    <DisplayName>Default Binary</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasEncoding\" IsForward=\"false\">i=865</Reference>\n      <Reference ReferenceType=\"HasDescription\">i=8220</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=76</Reference>\n    </References>\n  </UAObject>\n  <UAObject NodeId=\"i=870\" BrowseName=\"Default Binary\" SymbolicName=\"DefaultBinary\">\n    <DisplayName>Default Binary</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasEncoding\" IsForward=\"false\">i=868</Reference>\n      <Reference ReferenceType=\"HasDescription\">i=8223</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=76</Reference>\n    </References>\n  </UAObject>\n  <UAObject NodeId=\"i=873\" BrowseName=\"Default Binary\" SymbolicName=\"DefaultBinary\">\n    <DisplayName>Default Binary</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasEncoding\" IsForward=\"false\">i=871</Reference>\n      <Reference ReferenceType=\"HasDescription\">i=8226</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=76</Reference>\n    </References>\n  </UAObject>\n  <UAObject NodeId=\"i=301\" BrowseName=\"Default Binary\" SymbolicName=\"DefaultBinary\">\n    <DisplayName>Default Binary</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasEncoding\" IsForward=\"false\">i=299</Reference>\n      <Reference ReferenceType=\"HasDescription\">i=7659</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=76</Reference>\n    </References>\n  </UAObject>\n  <UAObject NodeId=\"i=876\" BrowseName=\"Default Binary\" SymbolicName=\"DefaultBinary\">\n    <DisplayName>Default Binary</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasEncoding\" IsForward=\"false\">i=874</Reference>\n      <Reference ReferenceType=\"HasDescription\">i=8229</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=76</Reference>\n    </References>\n  </UAObject>\n  <UAObject NodeId=\"i=879\" BrowseName=\"Default Binary\" SymbolicName=\"DefaultBinary\">\n    <DisplayName>Default Binary</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasEncoding\" IsForward=\"false\">i=877</Reference>\n      <Reference ReferenceType=\"HasDescription\">i=8232</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=76</Reference>\n    </References>\n  </UAObject>\n  <UAObject NodeId=\"i=899\" BrowseName=\"Default Binary\" SymbolicName=\"DefaultBinary\">\n    <DisplayName>Default Binary</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasEncoding\" IsForward=\"false\">i=897</Reference>\n      <Reference ReferenceType=\"HasDescription\">i=8235</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=76</Reference>\n    </References>\n  </UAObject>\n  <UAObject NodeId=\"i=886\" BrowseName=\"Default Binary\" SymbolicName=\"DefaultBinary\">\n    <DisplayName>Default Binary</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasEncoding\" IsForward=\"false\">i=884</Reference>\n      <Reference ReferenceType=\"HasDescription\">i=8238</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=76</Reference>\n    </References>\n  </UAObject>\n  <UAObject NodeId=\"i=889\" BrowseName=\"Default Binary\" SymbolicName=\"DefaultBinary\">\n    <DisplayName>Default Binary</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasEncoding\" IsForward=\"false\">i=887</Reference>\n      <Reference ReferenceType=\"HasDescription\">i=8241</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=76</Reference>\n    </References>\n  </UAObject>\n  <UAObject NodeId=\"i=12181\" BrowseName=\"Default Binary\" SymbolicName=\"DefaultBinary\">\n    <DisplayName>Default Binary</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasEncoding\" IsForward=\"false\">i=12171</Reference>\n      <Reference ReferenceType=\"HasDescription\">i=12183</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=76</Reference>\n    </References>\n  </UAObject>\n  <UAObject NodeId=\"i=12182\" BrowseName=\"Default Binary\" SymbolicName=\"DefaultBinary\">\n    <DisplayName>Default Binary</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasEncoding\" IsForward=\"false\">i=12172</Reference>\n      <Reference ReferenceType=\"HasDescription\">i=12186</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=76</Reference>\n    </References>\n  </UAObject>\n  <UAObject NodeId=\"i=12089\" BrowseName=\"Default Binary\" SymbolicName=\"DefaultBinary\">\n    <DisplayName>Default Binary</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasEncoding\" IsForward=\"false\">i=12079</Reference>\n      <Reference ReferenceType=\"HasDescription\">i=12091</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=76</Reference>\n    </References>\n  </UAObject>\n  <UAObject NodeId=\"i=12090\" BrowseName=\"Default Binary\" SymbolicName=\"DefaultBinary\">\n    <DisplayName>Default Binary</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasEncoding\" IsForward=\"false\">i=12080</Reference>\n      <Reference ReferenceType=\"HasDescription\">i=12094</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=76</Reference>\n    </References>\n  </UAObject>\n  <UAObject NodeId=\"i=896\" BrowseName=\"Default Binary\" SymbolicName=\"DefaultBinary\">\n    <DisplayName>Default Binary</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasEncoding\" IsForward=\"false\">i=894</Reference>\n      <Reference ReferenceType=\"HasDescription\">i=8247</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=76</Reference>\n    </References>\n  </UAObject>\n  <UAObject NodeId=\"i=24034\" BrowseName=\"Default Binary\" SymbolicName=\"DefaultBinary\">\n    <DisplayName>Default Binary</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasEncoding\" IsForward=\"false\">i=24033</Reference>\n      <Reference ReferenceType=\"HasDescription\">i=24035</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=76</Reference>\n    </References>\n  </UAObject>\n  <UAObject NodeId=\"i=893\" BrowseName=\"Default Binary\" SymbolicName=\"DefaultBinary\">\n    <DisplayName>Default Binary</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasEncoding\" IsForward=\"false\">i=891</Reference>\n      <Reference ReferenceType=\"HasDescription\">i=8244</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=76</Reference>\n    </References>\n  </UAObject>\n  <UAVariable NodeId=\"i=7617\" BrowseName=\"Opc.Ua\" SymbolicName=\"OpcUa_BinarySchema\" ReleaseStatus=\"Deprecated\" DataType=\"ByteString\">\n    <DisplayName>Opc.Ua</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=7619</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=15037</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=12770</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=14873</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=17538</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=17550</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=15734</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=18824</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=18827</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=18830</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=18833</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=18836</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=18839</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=18842</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=18845</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=18848</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=15738</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=23514</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=12681</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=15741</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=14855</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=15599</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=15602</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=15501</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=15521</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=14849</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=14852</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=14876</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=15766</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=15769</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=14324</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=15772</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=15775</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=15778</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=15781</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=15784</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=15787</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=21156</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=15793</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=15854</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=15857</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=15860</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=21159</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=21162</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=21165</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=15866</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=15869</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=15872</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=15877</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=15880</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=15883</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=15886</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=21002</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=15889</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=21168</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=15895</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=15898</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=15919</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=15922</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=15925</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=15931</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=17469</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=21171</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=15524</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=15940</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=15943</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=15946</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=23502</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=24117</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=16131</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=18178</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=18181</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=18184</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=18187</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=7650</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=7656</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=14870</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=12767</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=8914</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=7665</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=12213</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=7662</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=7668</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=7782</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=12902</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=12905</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=7698</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=7671</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=7674</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=7677</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=7680</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=7683</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=7728</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=7731</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=7734</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=7737</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=12718</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=12721</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=7686</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=7929</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=7932</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=7935</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=7938</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=7941</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=7944</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=7947</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=8004</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=8067</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=8073</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=8076</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=8172</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=7692</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=8208</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=11959</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=11962</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=8211</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=8214</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=8217</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=8220</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=8223</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=8226</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=7659</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=8229</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=8232</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=8235</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=8238</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=8241</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=12183</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=12186</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=12091</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=12094</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=8247</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=24035</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=8244</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=93</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=72</Reference>\n    </References>\n    <Value>\n      <ByteString xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">PG9wYzpUeXBlRGljdGlvbmFyeQ0KICB4bWxuczpvcGM9Imh0dHA6Ly9vcGNmb3VuZGF0aW9uLm9y\nZy9CaW5hcnlTY2hlbWEvIg0KICB4bWxuczp4c2k9Imh0dHA6Ly93d3cudzMub3JnLzIwMDEvWE1M\nU2NoZW1hLWluc3RhbmNlIg0KICB4bWxuczp1YT0iaHR0cDovL29wY2ZvdW5kYXRpb24ub3JnL1VB\nLyINCiAgeG1sbnM6dG5zPSJodHRwOi8vb3BjZm91bmRhdGlvbi5vcmcvVUEvIg0KICBEZWZhdWx0\nQnl0ZU9yZGVyPSJMaXR0bGVFbmRpYW4iDQogIFRhcmdldE5hbWVzcGFjZT0iaHR0cDovL29wY2Zv\ndW5kYXRpb24ub3JnL1VBLyINCj4NCg0KICA8b3BjOkltcG9ydCBOYW1lc3BhY2U9Imh0dHA6Ly9v\ncGNmb3VuZGF0aW9uLm9yZy9CaW5hcnlTY2hlbWEvIiAvPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5\ncGUgTmFtZT0iWG1sRWxlbWVudCI+DQogICAgPG9wYzpEb2N1bWVudGF0aW9uPkFuIFhNTCBlbGVt\nZW50IGVuY29kZWQgYXMgYSBVVEYtOCBzdHJpbmcuPC9vcGM6RG9jdW1lbnRhdGlvbj4NCiAgICA8\nb3BjOkZpZWxkIE5hbWU9Ikxlbmd0aCIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3Bj\nOkZpZWxkIE5hbWU9IlZhbHVlIiBUeXBlTmFtZT0ib3BjOkNoYXIiIExlbmd0aEZpZWxkPSJMZW5n\ndGgiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6RW51bWVyYXRlZFR5cGUg\nTmFtZT0iTm9kZUlkVHlwZSIgTGVuZ3RoSW5CaXRzPSI2Ij4NCiAgICA8b3BjOkRvY3VtZW50YXRp\nb24+VGhlIHBvc3NpYmxlIGVuY29kaW5ncyBmb3IgYSBOb2RlSWQgdmFsdWUuPC9vcGM6RG9jdW1l\nbnRhdGlvbj4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJUd29CeXRlIiBWYWx1ZT0i\nMCIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJGb3VyQnl0ZSIgVmFsdWU9IjEi\nIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iTnVtZXJpYyIgVmFsdWU9IjIiIC8+\nDQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iU3RyaW5nIiBWYWx1ZT0iMyIgLz4NCiAg\nICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJHdWlkIiBWYWx1ZT0iNCIgLz4NCiAgICA8b3Bj\nOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJCeXRlU3RyaW5nIiBWYWx1ZT0iNSIgLz4NCiAgPC9vcGM6\nRW51bWVyYXRlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJUd29CeXRlTm9k\nZUlkIj4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IklkZW50aWZpZXIiIFR5cGVOYW1lPSJvcGM6Qnl0\nZSIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBO\nYW1lPSJGb3VyQnl0ZU5vZGVJZCI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOYW1lc3BhY2VJbmRl\neCIgVHlwZU5hbWU9Im9wYzpCeXRlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iSWRlbnRpZmll\nciIgVHlwZU5hbWU9Im9wYzpVSW50MTYiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQog\nIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iTnVtZXJpY05vZGVJZCI+DQogICAgPG9wYzpGaWVs\nZCBOYW1lPSJOYW1lc3BhY2VJbmRleCIgVHlwZU5hbWU9Im9wYzpVSW50MTYiIC8+DQogICAgPG9w\nYzpGaWVsZCBOYW1lPSJJZGVudGlmaWVyIiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgLz4NCiAgPC9v\ncGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJTdHJpbmdO\nb2RlSWQiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTmFtZXNwYWNlSW5kZXgiIFR5cGVOYW1lPSJv\ncGM6VUludDE2IiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iSWRlbnRpZmllciIgVHlwZU5hbWU9\nIm9wYzpDaGFyQXJyYXkiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3Ry\ndWN0dXJlZFR5cGUgTmFtZT0iR3VpZE5vZGVJZCI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOYW1l\nc3BhY2VJbmRleCIgVHlwZU5hbWU9Im9wYzpVSW50MTYiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1l\nPSJJZGVudGlmaWVyIiBUeXBlTmFtZT0ib3BjOkd1aWQiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRU\neXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iQnl0ZVN0cmluZ05vZGVJZCI+DQog\nICAgPG9wYzpGaWVsZCBOYW1lPSJOYW1lc3BhY2VJbmRleCIgVHlwZU5hbWU9Im9wYzpVSW50MTYi\nIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJJZGVudGlmaWVyIiBUeXBlTmFtZT0ib3BjOkJ5dGVT\ndHJpbmciIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5\ncGUgTmFtZT0iTm9kZUlkIj4NCiAgICA8b3BjOkRvY3VtZW50YXRpb24+QW4gaWRlbnRpZmllciBm\nb3IgYSBub2RlIGluIGEgVUEgc2VydmVyIGFkZHJlc3Mgc3BhY2UuPC9vcGM6RG9jdW1lbnRhdGlv\nbj4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vZGVJZFR5cGUiIFR5cGVOYW1lPSJ1YTpOb2RlSWRU\neXBlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVzZXJ2ZWQxIiBUeXBlTmFtZT0ib3BjOkJp\ndCIgTGVuZ3RoPSIyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iVHdvQnl0ZSIgVHlwZU5hbWU9\nInVhOlR3b0J5dGVOb2RlSWQiIFN3aXRjaEZpZWxkPSJOb2RlSWRUeXBlIiBTd2l0Y2hWYWx1ZT0i\nMCIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkZvdXJCeXRlIiBUeXBlTmFtZT0idWE6Rm91ckJ5\ndGVOb2RlSWQiIFN3aXRjaEZpZWxkPSJOb2RlSWRUeXBlIiBTd2l0Y2hWYWx1ZT0iMSIgLz4NCiAg\nICA8b3BjOkZpZWxkIE5hbWU9Ik51bWVyaWMiIFR5cGVOYW1lPSJ1YTpOdW1lcmljTm9kZUlkIiBT\nd2l0Y2hGaWVsZD0iTm9kZUlkVHlwZSIgU3dpdGNoVmFsdWU9IjIiIC8+DQogICAgPG9wYzpGaWVs\nZCBOYW1lPSJTdHJpbmciIFR5cGVOYW1lPSJ1YTpTdHJpbmdOb2RlSWQiIFN3aXRjaEZpZWxkPSJO\nb2RlSWRUeXBlIiBTd2l0Y2hWYWx1ZT0iMyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ikd1aWQi\nIFR5cGVOYW1lPSJ1YTpHdWlkTm9kZUlkIiBTd2l0Y2hGaWVsZD0iTm9kZUlkVHlwZSIgU3dpdGNo\nVmFsdWU9IjQiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJCeXRlU3RyaW5nIiBUeXBlTmFtZT0i\ndWE6Qnl0ZVN0cmluZ05vZGVJZCIgU3dpdGNoRmllbGQ9Ik5vZGVJZFR5cGUiIFN3aXRjaFZhbHVl\nPSI1IiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBl\nIE5hbWU9IkV4cGFuZGVkTm9kZUlkIj4NCiAgICA8b3BjOkRvY3VtZW50YXRpb24+QW4gaWRlbnRp\nZmllciBmb3IgYSBub2RlIGluIGEgVUEgc2VydmVyIGFkZHJlc3Mgc3BhY2UgcXVhbGlmaWVkIHdp\ndGggYSBjb21wbGV0ZSBuYW1lc3BhY2Ugc3RyaW5nLjwvb3BjOkRvY3VtZW50YXRpb24+DQogICAg\nPG9wYzpGaWVsZCBOYW1lPSJOb2RlSWRUeXBlIiBUeXBlTmFtZT0idWE6Tm9kZUlkVHlwZSIgLz4N\nCiAgICA8b3BjOkZpZWxkIE5hbWU9IlNlcnZlckluZGV4U3BlY2lmaWVkIiBUeXBlTmFtZT0ib3Bj\nOkJpdCIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5hbWVzcGFjZVVSSVNwZWNpZmllZCIgVHlw\nZU5hbWU9Im9wYzpCaXQiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJUd29CeXRlIiBUeXBlTmFt\nZT0idWE6VHdvQnl0ZU5vZGVJZCIgU3dpdGNoRmllbGQ9Ik5vZGVJZFR5cGUiIFN3aXRjaFZhbHVl\nPSIwIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRm91ckJ5dGUiIFR5cGVOYW1lPSJ1YTpGb3Vy\nQnl0ZU5vZGVJZCIgU3dpdGNoRmllbGQ9Ik5vZGVJZFR5cGUiIFN3aXRjaFZhbHVlPSIxIiAvPg0K\nICAgIDxvcGM6RmllbGQgTmFtZT0iTnVtZXJpYyIgVHlwZU5hbWU9InVhOk51bWVyaWNOb2RlSWQi\nIFN3aXRjaEZpZWxkPSJOb2RlSWRUeXBlIiBTd2l0Y2hWYWx1ZT0iMiIgLz4NCiAgICA8b3BjOkZp\nZWxkIE5hbWU9IlN0cmluZyIgVHlwZU5hbWU9InVhOlN0cmluZ05vZGVJZCIgU3dpdGNoRmllbGQ9\nIk5vZGVJZFR5cGUiIFN3aXRjaFZhbHVlPSIzIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iR3Vp\nZCIgVHlwZU5hbWU9InVhOkd1aWROb2RlSWQiIFN3aXRjaEZpZWxkPSJOb2RlSWRUeXBlIiBTd2l0\nY2hWYWx1ZT0iNCIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkJ5dGVTdHJpbmciIFR5cGVOYW1l\nPSJ1YTpCeXRlU3RyaW5nTm9kZUlkIiBTd2l0Y2hGaWVsZD0iTm9kZUlkVHlwZSIgU3dpdGNoVmFs\ndWU9IjUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOYW1lc3BhY2VVUkkiIFR5cGVOYW1lPSJv\ncGM6Q2hhckFycmF5IiBTd2l0Y2hGaWVsZD0iTmFtZXNwYWNlVVJJU3BlY2lmaWVkIi8+DQogICAg\nPG9wYzpGaWVsZCBOYW1lPSJTZXJ2ZXJJbmRleCIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIFN3aXRj\naEZpZWxkPSJTZXJ2ZXJJbmRleFNwZWNpZmllZCIvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4N\nCg0KICA8b3BjOk9wYXF1ZVR5cGUgTmFtZT0iU3RhdHVzQ29kZSIgTGVuZ3RoSW5CaXRzPSIzMiIg\nQnl0ZU9yZGVyU2lnbmlmaWNhbnQ9InRydWUiPg0KICAgIDxvcGM6RG9jdW1lbnRhdGlvbj5BIDMy\nLWJpdCBzdGF0dXMgY29kZSB2YWx1ZS48L29wYzpEb2N1bWVudGF0aW9uPg0KICA8L29wYzpPcGFx\ndWVUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iRGlhZ25vc3RpY0luZm8iPg0K\nICAgIDxvcGM6RG9jdW1lbnRhdGlvbj5BIHJlY3Vyc2l2ZSBzdHJ1Y3R1cmUgY29udGFpbmluZyBk\naWFnbm9zdGljIGluZm9ybWF0aW9uIGFzc29jaWF0ZWQgd2l0aCBhIHN0YXR1cyBjb2RlLjwvb3Bj\nOkRvY3VtZW50YXRpb24+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTeW1ib2xpY0lkU3BlY2lmaWVk\nIiBUeXBlTmFtZT0ib3BjOkJpdCIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5hbWVzcGFjZVVS\nSVNwZWNpZmllZCIgVHlwZU5hbWU9Im9wYzpCaXQiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJM\nb2NhbGl6ZWRUZXh0U3BlY2lmaWVkIiBUeXBlTmFtZT0ib3BjOkJpdCIgLz4NCiAgICA8b3BjOkZp\nZWxkIE5hbWU9IkxvY2FsZVNwZWNpZmllZCIgVHlwZU5hbWU9Im9wYzpCaXQiIC8+DQogICAgPG9w\nYzpGaWVsZCBOYW1lPSJBZGRpdGlvbmFsSW5mb1NwZWNpZmllZCIgVHlwZU5hbWU9Im9wYzpCaXQi\nIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJJbm5lclN0YXR1c0NvZGVTcGVjaWZpZWQiIFR5cGVO\nYW1lPSJvcGM6Qml0IiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iSW5uZXJEaWFnbm9zdGljSW5m\nb1NwZWNpZmllZCIgVHlwZU5hbWU9Im9wYzpCaXQiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJS\nZXNlcnZlZDEiIFR5cGVOYW1lPSJvcGM6Qml0IiBMZW5ndGg9IjEiIC8+DQogICAgPG9wYzpGaWVs\nZCBOYW1lPSJTeW1ib2xpY0lkIiBUeXBlTmFtZT0ib3BjOkludDMyIiBTd2l0Y2hGaWVsZD0iU3lt\nYm9saWNJZFNwZWNpZmllZCIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5hbWVzcGFjZVVSSSIg\nVHlwZU5hbWU9Im9wYzpJbnQzMiIgU3dpdGNoRmllbGQ9Ik5hbWVzcGFjZVVSSVNwZWNpZmllZCIg\nLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkxvY2FsZSIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgU3dp\ndGNoRmllbGQ9IkxvY2FsZVNwZWNpZmllZCIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkxvY2Fs\naXplZFRleHQiIFR5cGVOYW1lPSJvcGM6SW50MzIiIFN3aXRjaEZpZWxkPSJMb2NhbGl6ZWRUZXh0\nU3BlY2lmaWVkIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iQWRkaXRpb25hbEluZm8iIFR5cGVO\nYW1lPSJvcGM6Q2hhckFycmF5IiBTd2l0Y2hGaWVsZD0iQWRkaXRpb25hbEluZm9TcGVjaWZpZWQi\nIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJJbm5lclN0YXR1c0NvZGUiIFR5cGVOYW1lPSJ1YTpT\ndGF0dXNDb2RlIiBTd2l0Y2hGaWVsZD0iSW5uZXJTdGF0dXNDb2RlU3BlY2lmaWVkIiAvPg0KICAg\nIDxvcGM6RmllbGQgTmFtZT0iSW5uZXJEaWFnbm9zdGljSW5mbyIgVHlwZU5hbWU9InVhOkRpYWdu\nb3N0aWNJbmZvIiBTd2l0Y2hGaWVsZD0iSW5uZXJEaWFnbm9zdGljSW5mb1NwZWNpZmllZCIgLz4N\nCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJR\ndWFsaWZpZWROYW1lIj4NCiAgICA8b3BjOkRvY3VtZW50YXRpb24+QSBzdHJpbmcgcXVhbGlmaWVk\nIHdpdGggYSBuYW1lc3BhY2UgaW5kZXguPC9vcGM6RG9jdW1lbnRhdGlvbj4NCiAgICA8b3BjOkZp\nZWxkIE5hbWU9Ik5hbWVzcGFjZUluZGV4IiBUeXBlTmFtZT0ib3BjOlVJbnQxNiIgLz4NCiAgICA8\nb3BjOkZpZWxkIE5hbWU9Ik5hbWUiIFR5cGVOYW1lPSJvcGM6Q2hhckFycmF5IiAvPg0KICA8L29w\nYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IkxvY2FsaXpl\nZFRleHQiPg0KICAgIDxvcGM6RG9jdW1lbnRhdGlvbj5BIHN0cmluZyBxdWFsaWZpZWQgd2l0aCBh\nIG5hbWVzcGFjZSBpbmRleC48L29wYzpEb2N1bWVudGF0aW9uPg0KICAgIDxvcGM6RmllbGQgTmFt\nZT0iTG9jYWxlU3BlY2lmaWVkIiBUeXBlTmFtZT0ib3BjOkJpdCIgLz4NCiAgICA8b3BjOkZpZWxk\nIE5hbWU9IlRleHRTcGVjaWZpZWQiIFR5cGVOYW1lPSJvcGM6Qml0IiAvPg0KICAgIDxvcGM6Rmll\nbGQgTmFtZT0iUmVzZXJ2ZWQxIiBUeXBlTmFtZT0ib3BjOkJpdCIgTGVuZ3RoPSI2IiAvPg0KICAg\nIDxvcGM6RmllbGQgTmFtZT0iTG9jYWxlIiBUeXBlTmFtZT0ib3BjOkNoYXJBcnJheSIgU3dpdGNo\nRmllbGQ9IkxvY2FsZVNwZWNpZmllZCIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlRleHQiIFR5\ncGVOYW1lPSJvcGM6Q2hhckFycmF5IiBTd2l0Y2hGaWVsZD0iVGV4dFNwZWNpZmllZCIgLz4NCiAg\nPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJEYXRh\nVmFsdWUiPg0KICAgIDxvcGM6RG9jdW1lbnRhdGlvbj5BIHZhbHVlIHdpdGggYW4gYXNzb2NpYXRl\nZCB0aW1lc3RhbXAsIGFuZCBxdWFsaXR5Ljwvb3BjOkRvY3VtZW50YXRpb24+DQogICAgPG9wYzpG\naWVsZCBOYW1lPSJWYWx1ZVNwZWNpZmllZCIgVHlwZU5hbWU9Im9wYzpCaXQiIC8+DQogICAgPG9w\nYzpGaWVsZCBOYW1lPSJTdGF0dXNDb2RlU3BlY2lmaWVkIiBUeXBlTmFtZT0ib3BjOkJpdCIgLz4N\nCiAgICA8b3BjOkZpZWxkIE5hbWU9IlNvdXJjZVRpbWVzdGFtcFNwZWNpZmllZCIgVHlwZU5hbWU9\nIm9wYzpCaXQiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTZXJ2ZXJUaW1lc3RhbXBTcGVjaWZp\nZWQiIFR5cGVOYW1lPSJvcGM6Qml0IiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU291cmNlUGlj\nb3NlY29uZHNTcGVjaWZpZWQiIFR5cGVOYW1lPSJvcGM6Qml0IiAvPg0KICAgIDxvcGM6RmllbGQg\nTmFtZT0iU2VydmVyUGljb3NlY29uZHNTcGVjaWZpZWQiIFR5cGVOYW1lPSJvcGM6Qml0IiAvPg0K\nICAgIDxvcGM6RmllbGQgTmFtZT0iUmVzZXJ2ZWQxIiBUeXBlTmFtZT0ib3BjOkJpdCIgTGVuZ3Ro\nPSIyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iVmFsdWUiIFR5cGVOYW1lPSJ1YTpWYXJpYW50\nIiBTd2l0Y2hGaWVsZD0iVmFsdWVTcGVjaWZpZWQiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJT\ndGF0dXNDb2RlIiBUeXBlTmFtZT0idWE6U3RhdHVzQ29kZSIgU3dpdGNoRmllbGQ9IlN0YXR1c0Nv\nZGVTcGVjaWZpZWQiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTb3VyY2VUaW1lc3RhbXAiIFR5\ncGVOYW1lPSJvcGM6RGF0ZVRpbWUiIFN3aXRjaEZpZWxkPSJTb3VyY2VUaW1lc3RhbXBTcGVjaWZp\nZWQiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTb3VyY2VQaWNvc2Vjb25kcyIgVHlwZU5hbWU9\nIm9wYzpVSW50MTYiIFN3aXRjaEZpZWxkPSJTb3VyY2VQaWNvc2Vjb25kc1NwZWNpZmllZCIgLz4N\nCiAgICA8b3BjOkZpZWxkIE5hbWU9IlNlcnZlclRpbWVzdGFtcCIgVHlwZU5hbWU9Im9wYzpEYXRl\nVGltZSIgU3dpdGNoRmllbGQ9IlNlcnZlclRpbWVzdGFtcFNwZWNpZmllZCIgLz4NCiAgICA8b3Bj\nOkZpZWxkIE5hbWU9IlNlcnZlclBpY29zZWNvbmRzIiBUeXBlTmFtZT0ib3BjOlVJbnQxNiIgU3dp\ndGNoRmllbGQ9IlNlcnZlclBpY29zZWNvbmRzU3BlY2lmaWVkIiAvPg0KICA8L29wYzpTdHJ1Y3R1\ncmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IkV4dGVuc2lvbk9iamVjdCI+\nDQogICAgPG9wYzpEb2N1bWVudGF0aW9uPkEgc2VyaWFsaXplZCBvYmplY3QgcHJlZml4ZWQgd2l0\naCBpdHMgZGF0YSB0eXBlIGlkZW50aWZpZXIuPC9vcGM6RG9jdW1lbnRhdGlvbj4NCiAgICA8b3Bj\nOkZpZWxkIE5hbWU9IlR5cGVJZFNwZWNpZmllZCIgVHlwZU5hbWU9Im9wYzpCaXQiIC8+DQogICAg\nPG9wYzpGaWVsZCBOYW1lPSJCaW5hcnlCb2R5IiBUeXBlTmFtZT0ib3BjOkJpdCIgLz4NCiAgICA8\nb3BjOkZpZWxkIE5hbWU9IlhtbEJvZHkiIFR5cGVOYW1lPSJvcGM6Qml0IiAvPg0KICAgIDxvcGM6\nRmllbGQgTmFtZT0iUmVzZXJ2ZWQxIiBUeXBlTmFtZT0ib3BjOkJpdCIgTGVuZ3RoPSI1IiAvPg0K\nICAgIDxvcGM6RmllbGQgTmFtZT0iVHlwZUlkIiBUeXBlTmFtZT0idWE6RXhwYW5kZWROb2RlSWQi\nIFN3aXRjaEZpZWxkPSJUeXBlSWRTcGVjaWZpZWQiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJC\nb2R5TGVuZ3RoIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0i\nQm9keSIgVHlwZU5hbWU9Im9wYzpCeXRlIiBMZW5ndGhGaWVsZD0iQm9keUxlbmd0aCIgLz4NCiAg\nPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJWYXJp\nYW50Ij4NCiAgICA8b3BjOkRvY3VtZW50YXRpb24+QSB1bmlvbiBvZiBzZXZlcmFsIHR5cGVzLjwv\nb3BjOkRvY3VtZW50YXRpb24+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJWYXJpYW50VHlwZSIgVHlw\nZU5hbWU9Im9wYzpCaXQiIExlbmd0aD0iNiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkFycmF5\nRGltZW5zaW9uc1NwZWNpZmllZCIgVHlwZU5hbWU9Im9wYzpCaXQiIExlbmd0aD0iMSIvPg0KICAg\nIDxvcGM6RmllbGQgTmFtZT0iQXJyYXlMZW5ndGhTcGVjaWZpZWQiIFR5cGVOYW1lPSJvcGM6Qml0\nIiBMZW5ndGg9IjEiLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkFycmF5TGVuZ3RoIiBUeXBlTmFt\nZT0ib3BjOkludDMyIiBTd2l0Y2hGaWVsZD0iQXJyYXlMZW5ndGhTcGVjaWZpZWQiIC8+DQogICAg\nPG9wYzpGaWVsZCBOYW1lPSJCb29sZWFuIiBUeXBlTmFtZT0ib3BjOkJvb2xlYW4iIExlbmd0aEZp\nZWxkPSJBcnJheUxlbmd0aCIgU3dpdGNoRmllbGQ9IlZhcmlhbnRUeXBlIiBTd2l0Y2hWYWx1ZT0i\nMSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlNCeXRlIiBUeXBlTmFtZT0ib3BjOlNCeXRlIiBM\nZW5ndGhGaWVsZD0iQXJyYXlMZW5ndGgiIFN3aXRjaEZpZWxkPSJWYXJpYW50VHlwZSIgU3dpdGNo\nVmFsdWU9IjIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJCeXRlIiBUeXBlTmFtZT0ib3BjOkJ5\ndGUiIExlbmd0aEZpZWxkPSJBcnJheUxlbmd0aCIgU3dpdGNoRmllbGQ9IlZhcmlhbnRUeXBlIiBT\nd2l0Y2hWYWx1ZT0iMyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkludDE2IiBUeXBlTmFtZT0i\nb3BjOkludDE2IiBMZW5ndGhGaWVsZD0iQXJyYXlMZW5ndGgiIFN3aXRjaEZpZWxkPSJWYXJpYW50\nVHlwZSIgU3dpdGNoVmFsdWU9IjQiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJVSW50MTYiIFR5\ncGVOYW1lPSJvcGM6VUludDE2IiBMZW5ndGhGaWVsZD0iQXJyYXlMZW5ndGgiIFN3aXRjaEZpZWxk\nPSJWYXJpYW50VHlwZSIgU3dpdGNoVmFsdWU9IjUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJJ\nbnQzMiIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgTGVuZ3RoRmllbGQ9IkFycmF5TGVuZ3RoIiBTd2l0\nY2hGaWVsZD0iVmFyaWFudFR5cGUiIFN3aXRjaFZhbHVlPSI2IiAvPg0KICAgIDxvcGM6RmllbGQg\nTmFtZT0iVUludDMyIiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgTGVuZ3RoRmllbGQ9IkFycmF5TGVu\nZ3RoIiBTd2l0Y2hGaWVsZD0iVmFyaWFudFR5cGUiIFN3aXRjaFZhbHVlPSI3IiAvPg0KICAgIDxv\ncGM6RmllbGQgTmFtZT0iSW50NjQiIFR5cGVOYW1lPSJvcGM6SW50NjQiIExlbmd0aEZpZWxkPSJB\ncnJheUxlbmd0aCIgU3dpdGNoRmllbGQ9IlZhcmlhbnRUeXBlIiBTd2l0Y2hWYWx1ZT0iOCIgLz4N\nCiAgICA8b3BjOkZpZWxkIE5hbWU9IlVJbnQ2NCIgVHlwZU5hbWU9Im9wYzpVSW50NjQiIExlbmd0\naEZpZWxkPSJBcnJheUxlbmd0aCIgU3dpdGNoRmllbGQ9IlZhcmlhbnRUeXBlIiBTd2l0Y2hWYWx1\nZT0iOSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkZsb2F0IiBUeXBlTmFtZT0ib3BjOkZsb2F0\nIiBMZW5ndGhGaWVsZD0iQXJyYXlMZW5ndGgiIFN3aXRjaEZpZWxkPSJWYXJpYW50VHlwZSIgU3dp\ndGNoVmFsdWU9IjEwIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRG91YmxlIiBUeXBlTmFtZT0i\nb3BjOkRvdWJsZSIgTGVuZ3RoRmllbGQ9IkFycmF5TGVuZ3RoIiBTd2l0Y2hGaWVsZD0iVmFyaWFu\ndFR5cGUiIFN3aXRjaFZhbHVlPSIxMSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlN0cmluZyIg\nVHlwZU5hbWU9Im9wYzpDaGFyQXJyYXkiIExlbmd0aEZpZWxkPSJBcnJheUxlbmd0aCIgU3dpdGNo\nRmllbGQ9IlZhcmlhbnRUeXBlIiBTd2l0Y2hWYWx1ZT0iMTIiIC8+DQogICAgPG9wYzpGaWVsZCBO\nYW1lPSJEYXRlVGltZSIgVHlwZU5hbWU9Im9wYzpEYXRlVGltZSIgTGVuZ3RoRmllbGQ9IkFycmF5\nTGVuZ3RoIiBTd2l0Y2hGaWVsZD0iVmFyaWFudFR5cGUiIFN3aXRjaFZhbHVlPSIxMyIgLz4NCiAg\nICA8b3BjOkZpZWxkIE5hbWU9Ikd1aWQiIFR5cGVOYW1lPSJvcGM6R3VpZCIgTGVuZ3RoRmllbGQ9\nIkFycmF5TGVuZ3RoIiBTd2l0Y2hGaWVsZD0iVmFyaWFudFR5cGUiIFN3aXRjaFZhbHVlPSIxNCIg\nLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkJ5dGVTdHJpbmciIFR5cGVOYW1lPSJvcGM6Qnl0ZVN0\ncmluZyIgTGVuZ3RoRmllbGQ9IkFycmF5TGVuZ3RoIiBTd2l0Y2hGaWVsZD0iVmFyaWFudFR5cGUi\nIFN3aXRjaFZhbHVlPSIxNSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlhtbEVsZW1lbnQiIFR5\ncGVOYW1lPSJ1YTpYbWxFbGVtZW50IiBMZW5ndGhGaWVsZD0iQXJyYXlMZW5ndGgiIFN3aXRjaEZp\nZWxkPSJWYXJpYW50VHlwZSIgU3dpdGNoVmFsdWU9IjE2IiAvPg0KICAgIDxvcGM6RmllbGQgTmFt\nZT0iTm9kZUlkIiBUeXBlTmFtZT0idWE6Tm9kZUlkIiBMZW5ndGhGaWVsZD0iQXJyYXlMZW5ndGgi\nIFN3aXRjaEZpZWxkPSJWYXJpYW50VHlwZSIgU3dpdGNoVmFsdWU9IjE3IiAvPg0KICAgIDxvcGM6\nRmllbGQgTmFtZT0iRXhwYW5kZWROb2RlSWQiIFR5cGVOYW1lPSJ1YTpFeHBhbmRlZE5vZGVJZCIg\nTGVuZ3RoRmllbGQ9IkFycmF5TGVuZ3RoIiBTd2l0Y2hGaWVsZD0iVmFyaWFudFR5cGUiIFN3aXRj\naFZhbHVlPSIxOCIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlN0YXR1c0NvZGUiIFR5cGVOYW1l\nPSJ1YTpTdGF0dXNDb2RlIiBMZW5ndGhGaWVsZD0iQXJyYXlMZW5ndGgiIFN3aXRjaEZpZWxkPSJW\nYXJpYW50VHlwZSIgU3dpdGNoVmFsdWU9IjE5IiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUXVh\nbGlmaWVkTmFtZSIgVHlwZU5hbWU9InVhOlF1YWxpZmllZE5hbWUiIExlbmd0aEZpZWxkPSJBcnJh\neUxlbmd0aCIgU3dpdGNoRmllbGQ9IlZhcmlhbnRUeXBlIiBTd2l0Y2hWYWx1ZT0iMjAiIC8+DQog\nICAgPG9wYzpGaWVsZCBOYW1lPSJMb2NhbGl6ZWRUZXh0IiBUeXBlTmFtZT0idWE6TG9jYWxpemVk\nVGV4dCIgTGVuZ3RoRmllbGQ9IkFycmF5TGVuZ3RoIiBTd2l0Y2hGaWVsZD0iVmFyaWFudFR5cGUi\nIFN3aXRjaFZhbHVlPSIyMSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkV4dGVuc2lvbk9iamVj\ndCIgVHlwZU5hbWU9InVhOkV4dGVuc2lvbk9iamVjdCIgTGVuZ3RoRmllbGQ9IkFycmF5TGVuZ3Ro\nIiBTd2l0Y2hGaWVsZD0iVmFyaWFudFR5cGUiIFN3aXRjaFZhbHVlPSIyMiIgLz4NCiAgICA8b3Bj\nOkZpZWxkIE5hbWU9IkRhdGFWYWx1ZSIgVHlwZU5hbWU9InVhOkRhdGFWYWx1ZSIgTGVuZ3RoRmll\nbGQ9IkFycmF5TGVuZ3RoIiBTd2l0Y2hGaWVsZD0iVmFyaWFudFR5cGUiIFN3aXRjaFZhbHVlPSIy\nMyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlZhcmlhbnQiIFR5cGVOYW1lPSJ1YTpWYXJpYW50\nIiBMZW5ndGhGaWVsZD0iQXJyYXlMZW5ndGgiIFN3aXRjaEZpZWxkPSJWYXJpYW50VHlwZSIgU3dp\ndGNoVmFsdWU9IjI0IiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRGlhZ25vc3RpY0luZm8iIFR5\ncGVOYW1lPSJ1YTpEaWFnbm9zdGljSW5mbyIgTGVuZ3RoRmllbGQ9IkFycmF5TGVuZ3RoIiBTd2l0\nY2hGaWVsZD0iVmFyaWFudFR5cGUiIFN3aXRjaFZhbHVlPSIyNSIgLz4NCiAgICA8b3BjOkZpZWxk\nIE5hbWU9Ik5vT2ZBcnJheURpbWVuc2lvbnMiIFR5cGVOYW1lPSJvcGM6SW50MzIiIFN3aXRjaEZp\nZWxkPSJBcnJheURpbWVuc2lvbnNTcGVjaWZpZWQiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJB\ncnJheURpbWVuc2lvbnMiIFR5cGVOYW1lPSJvcGM6SW50MzIiIExlbmd0aEZpZWxkPSJOb09mQXJy\nYXlEaW1lbnNpb25zIiBTd2l0Y2hGaWVsZD0iQXJyYXlEaW1lbnNpb25zU3BlY2lmaWVkIiAvPg0K\nICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOkVudW1lcmF0ZWRUeXBlIE5hbWU9Ik5h\nbWluZ1J1bGVUeXBlIiBMZW5ndGhJbkJpdHM9IjMyIj4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1\nZSBOYW1lPSJNYW5kYXRvcnkiIFZhbHVlPSIxIiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVl\nIE5hbWU9Ik9wdGlvbmFsIiBWYWx1ZT0iMiIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBO\nYW1lPSJDb25zdHJhaW50IiBWYWx1ZT0iMyIgLz4NCiAgPC9vcGM6RW51bWVyYXRlZFR5cGU+DQog\nICAgDQoNCiAgPG9wYzpFbnVtZXJhdGVkVHlwZSBOYW1lPSJFbnVtZXJhdGlvbiIgTGVuZ3RoSW5C\naXRzPSIzMiI+DQogIDwvb3BjOkVudW1lcmF0ZWRUeXBlPg0KDQogIDxvcGM6T3BhcXVlVHlwZSBO\nYW1lPSJJbWFnZUJNUCI+DQogIDwvb3BjOk9wYXF1ZVR5cGU+DQoNCiAgPG9wYzpPcGFxdWVUeXBl\nIE5hbWU9IkltYWdlR0lGIj4NCiAgPC9vcGM6T3BhcXVlVHlwZT4NCg0KICA8b3BjOk9wYXF1ZVR5\ncGUgTmFtZT0iSW1hZ2VKUEciPg0KICA8L29wYzpPcGFxdWVUeXBlPg0KDQogIDxvcGM6T3BhcXVl\nVHlwZSBOYW1lPSJJbWFnZVBORyI+DQogIDwvb3BjOk9wYXF1ZVR5cGU+DQoNCiAgPG9wYzpPcGFx\ndWVUeXBlIE5hbWU9IkF1ZGlvRGF0YVR5cGUiPg0KICA8L29wYzpPcGFxdWVUeXBlPg0KDQogIDxv\ncGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iVW5pb24iIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmpl\nY3QiPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOk9wYXF1ZVR5cGUgTmFtZT0i\nQml0RmllbGRNYXNrRGF0YVR5cGUiPg0KICA8L29wYzpPcGFxdWVUeXBlPg0KDQogIDxvcGM6U3Ry\ndWN0dXJlZFR5cGUgTmFtZT0iS2V5VmFsdWVQYWlyIiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2Jq\nZWN0Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IktleSIgVHlwZU5hbWU9InVhOlF1YWxpZmllZE5h\nbWUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJWYWx1ZSIgVHlwZU5hbWU9InVhOlZhcmlhbnQi\nIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFt\nZT0iQWRkaXRpb25hbFBhcmFtZXRlcnNUeXBlIiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0\nIj4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZQYXJhbWV0ZXJzIiBUeXBlTmFtZT0ib3BjOklu\ndDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUGFyYW1ldGVycyIgVHlwZU5hbWU9InRuczpL\nZXlWYWx1ZVBhaXIiIExlbmd0aEZpZWxkPSJOb09mUGFyYW1ldGVycyIgLz4NCiAgPC9vcGM6U3Ry\ndWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJFcGhlbWVyYWxLZXlU\neXBlIiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9\nIlB1YmxpY0tleSIgVHlwZU5hbWU9Im9wYzpCeXRlU3RyaW5nIiAvPg0KICAgIDxvcGM6RmllbGQg\nTmFtZT0iU2lnbmF0dXJlIiBUeXBlTmFtZT0ib3BjOkJ5dGVTdHJpbmciIC8+DQogIDwvb3BjOlN0\ncnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iRW5kcG9pbnRUeXBl\nIiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkVu\nZHBvaW50VXJsIiBUeXBlTmFtZT0ib3BjOlN0cmluZyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9\nIlNlY3VyaXR5TW9kZSIgVHlwZU5hbWU9InRuczpNZXNzYWdlU2VjdXJpdHlNb2RlIiAvPg0KICAg\nIDxvcGM6RmllbGQgTmFtZT0iU2VjdXJpdHlQb2xpY3lVcmkiIFR5cGVOYW1lPSJvcGM6U3RyaW5n\nIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iVHJhbnNwb3J0UHJvZmlsZVVyaSIgVHlwZU5hbWU9\nIm9wYzpTdHJpbmciIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0\ndXJlZFR5cGUgTmFtZT0iUmF0aW9uYWxOdW1iZXIiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmpl\nY3QiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTnVtZXJhdG9yIiBUeXBlTmFtZT0ib3BjOkludDMy\nIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRGVub21pbmF0b3IiIFR5cGVOYW1lPSJvcGM6VUlu\ndDMyIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBl\nIE5hbWU9IlZlY3RvciIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogIDwvb3BjOlN0\ncnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iVGhyZWVEVmVjdG9y\nIiBCYXNlVHlwZT0idG5zOlZlY3RvciI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJYIiBUeXBlTmFt\nZT0ib3BjOkRvdWJsZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlkiIFR5cGVOYW1lPSJvcGM6\nRG91YmxlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iWiIgVHlwZU5hbWU9Im9wYzpEb3VibGUi\nIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFt\nZT0iQ2FydGVzaWFuQ29vcmRpbmF0ZXMiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0K\nICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IlRo\ncmVlRENhcnRlc2lhbkNvb3JkaW5hdGVzIiBCYXNlVHlwZT0idG5zOkNhcnRlc2lhbkNvb3JkaW5h\ndGVzIj4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlgiIFR5cGVOYW1lPSJvcGM6RG91YmxlIiAvPg0K\nICAgIDxvcGM6RmllbGQgTmFtZT0iWSIgVHlwZU5hbWU9Im9wYzpEb3VibGUiIC8+DQogICAgPG9w\nYzpGaWVsZCBOYW1lPSJaIiBUeXBlTmFtZT0ib3BjOkRvdWJsZSIgLz4NCiAgPC9vcGM6U3RydWN0\ndXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJPcmllbnRhdGlvbiIgQmFz\nZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQog\nIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iVGhyZWVET3JpZW50YXRpb24iIEJhc2VUeXBlPSJ0\nbnM6T3JpZW50YXRpb24iPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iQSIgVHlwZU5hbWU9Im9wYzpE\nb3VibGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJCIiBUeXBlTmFtZT0ib3BjOkRvdWJsZSIg\nLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkMiIFR5cGVOYW1lPSJvcGM6RG91YmxlIiAvPg0KICA8\nL29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IkZyYW1l\nIiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+\nDQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJUaHJlZURGcmFtZSIgQmFzZVR5cGU9InRu\nczpGcmFtZSI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJDYXJ0ZXNpYW5Db29yZGluYXRlcyIgVHlw\nZU5hbWU9InRuczpUaHJlZURDYXJ0ZXNpYW5Db29yZGluYXRlcyIgLz4NCiAgICA8b3BjOkZpZWxk\nIE5hbWU9Ik9yaWVudGF0aW9uIiBUeXBlTmFtZT0idG5zOlRocmVlRE9yaWVudGF0aW9uIiAvPg0K\nICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOkVudW1lcmF0ZWRUeXBlIE5hbWU9Ik9w\nZW5GaWxlTW9kZSIgTGVuZ3RoSW5CaXRzPSIzMiI+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUg\nTmFtZT0iUmVhZCIgVmFsdWU9IjEiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0i\nV3JpdGUiIFZhbHVlPSIyIiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IkVyYXNl\nRXhpc3RpbmciIFZhbHVlPSI0IiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IkFw\ncGVuZCIgVmFsdWU9IjgiIC8+DQogIDwvb3BjOkVudW1lcmF0ZWRUeXBlPg0KDQogIDxvcGM6RW51\nbWVyYXRlZFR5cGUgTmFtZT0iSWRlbnRpdHlDcml0ZXJpYVR5cGUiIExlbmd0aEluQml0cz0iMzIi\nPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IlVzZXJOYW1lIiBWYWx1ZT0iMSIgLz4N\nCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJUaHVtYnByaW50IiBWYWx1ZT0iMiIgLz4N\nCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJSb2xlIiBWYWx1ZT0iMyIgLz4NCiAgICA8\nb3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJHcm91cElkIiBWYWx1ZT0iNCIgLz4NCiAgICA8b3Bj\nOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJBbm9ueW1vdXMiIFZhbHVlPSI1IiAvPg0KICAgIDxvcGM6\nRW51bWVyYXRlZFZhbHVlIE5hbWU9IkF1dGhlbnRpY2F0ZWRVc2VyIiBWYWx1ZT0iNiIgLz4NCiAg\nICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJBcHBsaWNhdGlvbiIgVmFsdWU9IjciIC8+DQog\nIDwvb3BjOkVudW1lcmF0ZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iSWRl\nbnRpdHlNYXBwaW5nUnVsZVR5cGUiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAg\nIDxvcGM6RmllbGQgTmFtZT0iQ3JpdGVyaWFUeXBlIiBUeXBlTmFtZT0idG5zOklkZW50aXR5Q3Jp\ndGVyaWFUeXBlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iQ3JpdGVyaWEiIFR5cGVOYW1lPSJv\ncGM6U3RyaW5nIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVy\nZWRUeXBlIE5hbWU9IkN1cnJlbmN5VW5pdFR5cGUiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmpl\nY3QiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTnVtZXJpY0NvZGUiIFR5cGVOYW1lPSJvcGM6SW50\nMTYiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJFeHBvbmVudCIgVHlwZU5hbWU9Im9wYzpTQnl0\nZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkFscGhhYmV0aWNDb2RlIiBUeXBlTmFtZT0ib3Bj\nOlN0cmluZyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkN1cnJlbmN5IiBUeXBlTmFtZT0idWE6\nTG9jYWxpemVkVGV4dCIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpFbnVt\nZXJhdGVkVHlwZSBOYW1lPSJUcnVzdExpc3RNYXNrcyIgTGVuZ3RoSW5CaXRzPSIzMiI+DQogICAg\nPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iTm9uZSIgVmFsdWU9IjAiIC8+DQogICAgPG9wYzpF\nbnVtZXJhdGVkVmFsdWUgTmFtZT0iVHJ1c3RlZENlcnRpZmljYXRlcyIgVmFsdWU9IjEiIC8+DQog\nICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iVHJ1c3RlZENybHMiIFZhbHVlPSIyIiAvPg0K\nICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9Iklzc3VlckNlcnRpZmljYXRlcyIgVmFsdWU9\nIjQiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iSXNzdWVyQ3JscyIgVmFsdWU9\nIjgiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iQWxsIiBWYWx1ZT0iMTUiIC8+\nDQogIDwvb3BjOkVudW1lcmF0ZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0i\nVHJ1c3RMaXN0RGF0YVR5cGUiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxv\ncGM6RmllbGQgTmFtZT0iU3BlY2lmaWVkTGlzdHMiIFR5cGVOYW1lPSJvcGM6VUludDMyIiAvPg0K\nICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZlRydXN0ZWRDZXJ0aWZpY2F0ZXMiIFR5cGVOYW1lPSJv\ncGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJUcnVzdGVkQ2VydGlmaWNhdGVzIiBU\neXBlTmFtZT0ib3BjOkJ5dGVTdHJpbmciIExlbmd0aEZpZWxkPSJOb09mVHJ1c3RlZENlcnRpZmlj\nYXRlcyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZUcnVzdGVkQ3JscyIgVHlwZU5hbWU9\nIm9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlRydXN0ZWRDcmxzIiBUeXBlTmFt\nZT0ib3BjOkJ5dGVTdHJpbmciIExlbmd0aEZpZWxkPSJOb09mVHJ1c3RlZENybHMiIC8+DQogICAg\nPG9wYzpGaWVsZCBOYW1lPSJOb09mSXNzdWVyQ2VydGlmaWNhdGVzIiBUeXBlTmFtZT0ib3BjOklu\ndDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iSXNzdWVyQ2VydGlmaWNhdGVzIiBUeXBlTmFt\nZT0ib3BjOkJ5dGVTdHJpbmciIExlbmd0aEZpZWxkPSJOb09mSXNzdWVyQ2VydGlmaWNhdGVzIiAv\nPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZklzc3VlckNybHMiIFR5cGVOYW1lPSJvcGM6SW50\nMzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJJc3N1ZXJDcmxzIiBUeXBlTmFtZT0ib3BjOkJ5\ndGVTdHJpbmciIExlbmd0aEZpZWxkPSJOb09mSXNzdWVyQ3JscyIgLz4NCiAgPC9vcGM6U3RydWN0\ndXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJEZWNpbWFsRGF0YVR5cGUi\nIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU2Nh\nbGUiIFR5cGVOYW1lPSJvcGM6SW50MTYiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJWYWx1ZSIg\nVHlwZU5hbWU9Im9wYzpCeXRlU3RyaW5nIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0K\nICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IkRhdGFUeXBlU2NoZW1hSGVhZGVyIiBCYXNlVHlw\nZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZOYW1lc3Bh\nY2VzIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTmFtZXNw\nYWNlcyIgVHlwZU5hbWU9Im9wYzpTdHJpbmciIExlbmd0aEZpZWxkPSJOb09mTmFtZXNwYWNlcyIg\nLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZTdHJ1Y3R1cmVEYXRhVHlwZXMiIFR5cGVOYW1l\nPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTdHJ1Y3R1cmVEYXRhVHlwZXMi\nIFR5cGVOYW1lPSJ0bnM6U3RydWN0dXJlRGVzY3JpcHRpb24iIExlbmd0aEZpZWxkPSJOb09mU3Ry\ndWN0dXJlRGF0YVR5cGVzIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZkVudW1EYXRhVHlw\nZXMiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJFbnVtRGF0\nYVR5cGVzIiBUeXBlTmFtZT0idG5zOkVudW1EZXNjcmlwdGlvbiIgTGVuZ3RoRmllbGQ9Ik5vT2ZF\nbnVtRGF0YVR5cGVzIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZlNpbXBsZURhdGFUeXBl\ncyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlNpbXBsZURh\ndGFUeXBlcyIgVHlwZU5hbWU9InRuczpTaW1wbGVUeXBlRGVzY3JpcHRpb24iIExlbmd0aEZpZWxk\nPSJOb09mU2ltcGxlRGF0YVR5cGVzIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8\nb3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IkRhdGFUeXBlRGVzY3JpcHRpb24iIEJhc2VUeXBlPSJ1\nYTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRGF0YVR5cGVJZCIgVHlw\nZU5hbWU9InVhOk5vZGVJZCIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5hbWUiIFR5cGVOYW1l\nPSJ1YTpRdWFsaWZpZWROYW1lIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3Bj\nOlN0cnVjdHVyZWRUeXBlIE5hbWU9IlN0cnVjdHVyZURlc2NyaXB0aW9uIiBCYXNlVHlwZT0idG5z\nOkRhdGFUeXBlRGVzY3JpcHRpb24iPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRGF0YVR5cGVJZCIg\nVHlwZU5hbWU9InVhOk5vZGVJZCIgU291cmNlVHlwZT0idG5zOkRhdGFUeXBlRGVzY3JpcHRpb24i\nIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOYW1lIiBUeXBlTmFtZT0idWE6UXVhbGlmaWVkTmFt\nZSIgU291cmNlVHlwZT0idG5zOkRhdGFUeXBlRGVzY3JpcHRpb24iIC8+DQogICAgPG9wYzpGaWVs\nZCBOYW1lPSJTdHJ1Y3R1cmVEZWZpbml0aW9uIiBUeXBlTmFtZT0idG5zOlN0cnVjdHVyZURlZmlu\naXRpb24iIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5\ncGUgTmFtZT0iRW51bURlc2NyaXB0aW9uIiBCYXNlVHlwZT0idG5zOkRhdGFUeXBlRGVzY3JpcHRp\nb24iPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRGF0YVR5cGVJZCIgVHlwZU5hbWU9InVhOk5vZGVJ\nZCIgU291cmNlVHlwZT0idG5zOkRhdGFUeXBlRGVzY3JpcHRpb24iIC8+DQogICAgPG9wYzpGaWVs\nZCBOYW1lPSJOYW1lIiBUeXBlTmFtZT0idWE6UXVhbGlmaWVkTmFtZSIgU291cmNlVHlwZT0idG5z\nOkRhdGFUeXBlRGVzY3JpcHRpb24iIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJFbnVtRGVmaW5p\ndGlvbiIgVHlwZU5hbWU9InRuczpFbnVtRGVmaW5pdGlvbiIgLz4NCiAgICA8b3BjOkZpZWxkIE5h\nbWU9IkJ1aWx0SW5UeXBlIiBUeXBlTmFtZT0ib3BjOkJ5dGUiIC8+DQogIDwvb3BjOlN0cnVjdHVy\nZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iU2ltcGxlVHlwZURlc2NyaXB0\naW9uIiBCYXNlVHlwZT0idG5zOkRhdGFUeXBlRGVzY3JpcHRpb24iPg0KICAgIDxvcGM6RmllbGQg\nTmFtZT0iRGF0YVR5cGVJZCIgVHlwZU5hbWU9InVhOk5vZGVJZCIgU291cmNlVHlwZT0idG5zOkRh\ndGFUeXBlRGVzY3JpcHRpb24iIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOYW1lIiBUeXBlTmFt\nZT0idWE6UXVhbGlmaWVkTmFtZSIgU291cmNlVHlwZT0idG5zOkRhdGFUeXBlRGVzY3JpcHRpb24i\nIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJCYXNlRGF0YVR5cGUiIFR5cGVOYW1lPSJ1YTpOb2Rl\nSWQiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJCdWlsdEluVHlwZSIgVHlwZU5hbWU9Im9wYzpC\neXRlIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBl\nIE5hbWU9IlVBQmluYXJ5RmlsZURhdGFUeXBlIiBCYXNlVHlwZT0idG5zOkRhdGFUeXBlU2NoZW1h\nSGVhZGVyIj4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZOYW1lc3BhY2VzIiBUeXBlTmFtZT0i\nb3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTmFtZXNwYWNlcyIgVHlwZU5hbWU9\nIm9wYzpTdHJpbmciIExlbmd0aEZpZWxkPSJOb09mTmFtZXNwYWNlcyIgLz4NCiAgICA8b3BjOkZp\nZWxkIE5hbWU9Ik5vT2ZTdHJ1Y3R1cmVEYXRhVHlwZXMiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+\nDQogICAgPG9wYzpGaWVsZCBOYW1lPSJTdHJ1Y3R1cmVEYXRhVHlwZXMiIFR5cGVOYW1lPSJ0bnM6\nU3RydWN0dXJlRGVzY3JpcHRpb24iIExlbmd0aEZpZWxkPSJOb09mU3RydWN0dXJlRGF0YVR5cGVz\nIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZkVudW1EYXRhVHlwZXMiIFR5cGVOYW1lPSJv\ncGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJFbnVtRGF0YVR5cGVzIiBUeXBlTmFt\nZT0idG5zOkVudW1EZXNjcmlwdGlvbiIgTGVuZ3RoRmllbGQ9Ik5vT2ZFbnVtRGF0YVR5cGVzIiAv\nPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZlNpbXBsZURhdGFUeXBlcyIgVHlwZU5hbWU9Im9w\nYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlNpbXBsZURhdGFUeXBlcyIgVHlwZU5h\nbWU9InRuczpTaW1wbGVUeXBlRGVzY3JpcHRpb24iIExlbmd0aEZpZWxkPSJOb09mU2ltcGxlRGF0\nYVR5cGVzIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU2NoZW1hTG9jYXRpb24iIFR5cGVOYW1l\nPSJvcGM6U3RyaW5nIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZkZpbGVIZWFkZXIiIFR5\ncGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJGaWxlSGVhZGVyIiBU\neXBlTmFtZT0idG5zOktleVZhbHVlUGFpciIgTGVuZ3RoRmllbGQ9Ik5vT2ZGaWxlSGVhZGVyIiAv\nPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iQm9keSIgVHlwZU5hbWU9InVhOlZhcmlhbnQiIC8+DQog\nIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6RW51bWVyYXRlZFR5cGUgTmFtZT0iUHVi\nU3ViU3RhdGUiIExlbmd0aEluQml0cz0iMzIiPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5h\nbWU9IkRpc2FibGVkIiBWYWx1ZT0iMCIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1l\nPSJQYXVzZWQiIFZhbHVlPSIxIiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9Ik9w\nZXJhdGlvbmFsIiBWYWx1ZT0iMiIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJF\ncnJvciIgVmFsdWU9IjMiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iUHJlT3Bl\ncmF0aW9uYWwiIFZhbHVlPSI0IiAvPg0KICA8L29wYzpFbnVtZXJhdGVkVHlwZT4NCg0KICA8b3Bj\nOlN0cnVjdHVyZWRUeXBlIE5hbWU9IkRhdGFTZXRNZXRhRGF0YVR5cGUiIEJhc2VUeXBlPSJ0bnM6\nRGF0YVR5cGVTY2hlbWFIZWFkZXIiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZk5hbWVzcGFj\nZXMiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOYW1lc3Bh\nY2VzIiBUeXBlTmFtZT0ib3BjOlN0cmluZyIgTGVuZ3RoRmllbGQ9Ik5vT2ZOYW1lc3BhY2VzIiAv\nPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZlN0cnVjdHVyZURhdGFUeXBlcyIgVHlwZU5hbWU9\nIm9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlN0cnVjdHVyZURhdGFUeXBlcyIg\nVHlwZU5hbWU9InRuczpTdHJ1Y3R1cmVEZXNjcmlwdGlvbiIgTGVuZ3RoRmllbGQ9Ik5vT2ZTdHJ1\nY3R1cmVEYXRhVHlwZXMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mRW51bURhdGFUeXBl\ncyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkVudW1EYXRh\nVHlwZXMiIFR5cGVOYW1lPSJ0bnM6RW51bURlc2NyaXB0aW9uIiBMZW5ndGhGaWVsZD0iTm9PZkVu\ndW1EYXRhVHlwZXMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mU2ltcGxlRGF0YVR5cGVz\nIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU2ltcGxlRGF0\nYVR5cGVzIiBUeXBlTmFtZT0idG5zOlNpbXBsZVR5cGVEZXNjcmlwdGlvbiIgTGVuZ3RoRmllbGQ9\nIk5vT2ZTaW1wbGVEYXRhVHlwZXMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOYW1lIiBUeXBl\nTmFtZT0ib3BjOlN0cmluZyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkRlc2NyaXB0aW9uIiBU\neXBlTmFtZT0idWE6TG9jYWxpemVkVGV4dCIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZG\naWVsZHMiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJGaWVs\nZHMiIFR5cGVOYW1lPSJ0bnM6RmllbGRNZXRhRGF0YSIgTGVuZ3RoRmllbGQ9Ik5vT2ZGaWVsZHMi\nIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJEYXRhU2V0Q2xhc3NJZCIgVHlwZU5hbWU9Im9wYzpH\ndWlkIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iQ29uZmlndXJhdGlvblZlcnNpb24iIFR5cGVO\nYW1lPSJ0bnM6Q29uZmlndXJhdGlvblZlcnNpb25EYXRhVHlwZSIgLz4NCiAgPC9vcGM6U3RydWN0\ndXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJGaWVsZE1ldGFEYXRhIiBC\nYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5hbWUi\nIFR5cGVOYW1lPSJvcGM6U3RyaW5nIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRGVzY3JpcHRp\nb24iIFR5cGVOYW1lPSJ1YTpMb2NhbGl6ZWRUZXh0IiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0i\nRmllbGRGbGFncyIgVHlwZU5hbWU9InRuczpEYXRhU2V0RmllbGRGbGFncyIgLz4NCiAgICA8b3Bj\nOkZpZWxkIE5hbWU9IkJ1aWx0SW5UeXBlIiBUeXBlTmFtZT0ib3BjOkJ5dGUiIC8+DQogICAgPG9w\nYzpGaWVsZCBOYW1lPSJEYXRhVHlwZSIgVHlwZU5hbWU9InVhOk5vZGVJZCIgLz4NCiAgICA8b3Bj\nOkZpZWxkIE5hbWU9IlZhbHVlUmFuayIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3Bj\nOkZpZWxkIE5hbWU9Ik5vT2ZBcnJheURpbWVuc2lvbnMiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+\nDQogICAgPG9wYzpGaWVsZCBOYW1lPSJBcnJheURpbWVuc2lvbnMiIFR5cGVOYW1lPSJvcGM6VUlu\ndDMyIiBMZW5ndGhGaWVsZD0iTm9PZkFycmF5RGltZW5zaW9ucyIgLz4NCiAgICA8b3BjOkZpZWxk\nIE5hbWU9Ik1heFN0cmluZ0xlbmd0aCIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+DQogICAgPG9w\nYzpGaWVsZCBOYW1lPSJEYXRhU2V0RmllbGRJZCIgVHlwZU5hbWU9Im9wYzpHdWlkIiAvPg0KICAg\nIDxvcGM6RmllbGQgTmFtZT0iTm9PZlByb3BlcnRpZXMiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+\nDQogICAgPG9wYzpGaWVsZCBOYW1lPSJQcm9wZXJ0aWVzIiBUeXBlTmFtZT0idG5zOktleVZhbHVl\nUGFpciIgTGVuZ3RoRmllbGQ9Ik5vT2ZQcm9wZXJ0aWVzIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVk\nVHlwZT4NCg0KICA8b3BjOkVudW1lcmF0ZWRUeXBlIE5hbWU9IkRhdGFTZXRGaWVsZEZsYWdzIiBM\nZW5ndGhJbkJpdHM9IjE2IiBJc09wdGlvblNldD0idHJ1ZSI+DQogICAgPG9wYzpFbnVtZXJhdGVk\nVmFsdWUgTmFtZT0iTm9uZSIgVmFsdWU9IjAiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUg\nTmFtZT0iUHJvbW90ZWRGaWVsZCIgVmFsdWU9IjEiIC8+DQogIDwvb3BjOkVudW1lcmF0ZWRUeXBl\nPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iQ29uZmlndXJhdGlvblZlcnNpb25EYXRh\nVHlwZSIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpGaWVsZCBOYW1l\nPSJNYWpvclZlcnNpb24iIFR5cGVOYW1lPSJvcGM6VUludDMyIiAvPg0KICAgIDxvcGM6RmllbGQg\nTmFtZT0iTWlub3JWZXJzaW9uIiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgLz4NCiAgPC9vcGM6U3Ry\ndWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJQdWJsaXNoZWREYXRh\nU2V0RGF0YVR5cGUiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6Rmll\nbGQgTmFtZT0iTmFtZSIgVHlwZU5hbWU9Im9wYzpTdHJpbmciIC8+DQogICAgPG9wYzpGaWVsZCBO\nYW1lPSJOb09mRGF0YVNldEZvbGRlciIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3Bj\nOkZpZWxkIE5hbWU9IkRhdGFTZXRGb2xkZXIiIFR5cGVOYW1lPSJvcGM6U3RyaW5nIiBMZW5ndGhG\naWVsZD0iTm9PZkRhdGFTZXRGb2xkZXIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJEYXRhU2V0\nTWV0YURhdGEiIFR5cGVOYW1lPSJ0bnM6RGF0YVNldE1ldGFEYXRhVHlwZSIgLz4NCiAgICA8b3Bj\nOkZpZWxkIE5hbWU9Ik5vT2ZFeHRlbnNpb25GaWVsZHMiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+\nDQogICAgPG9wYzpGaWVsZCBOYW1lPSJFeHRlbnNpb25GaWVsZHMiIFR5cGVOYW1lPSJ0bnM6S2V5\nVmFsdWVQYWlyIiBMZW5ndGhGaWVsZD0iTm9PZkV4dGVuc2lvbkZpZWxkcyIgLz4NCiAgICA8b3Bj\nOkZpZWxkIE5hbWU9IkRhdGFTZXRTb3VyY2UiIFR5cGVOYW1lPSJ0bnM6UHVibGlzaGVkRGF0YVNl\ndFNvdXJjZURhdGFUeXBlIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0\ncnVjdHVyZWRUeXBlIE5hbWU9IlB1Ymxpc2hlZERhdGFTZXRTb3VyY2VEYXRhVHlwZSIgQmFzZVR5\ncGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxv\ncGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iUHVibGlzaGVkVmFyaWFibGVEYXRhVHlwZSIgQmFzZVR5\ncGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJQdWJsaXNoZWRW\nYXJpYWJsZSIgVHlwZU5hbWU9InVhOk5vZGVJZCIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkF0\ndHJpYnV0ZUlkIiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9\nIlNhbXBsaW5nSW50ZXJ2YWxIaW50IiBUeXBlTmFtZT0ib3BjOkRvdWJsZSIgLz4NCiAgICA8b3Bj\nOkZpZWxkIE5hbWU9IkRlYWRiYW5kVHlwZSIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+DQogICAg\nPG9wYzpGaWVsZCBOYW1lPSJEZWFkYmFuZFZhbHVlIiBUeXBlTmFtZT0ib3BjOkRvdWJsZSIgLz4N\nCiAgICA8b3BjOkZpZWxkIE5hbWU9IkluZGV4UmFuZ2UiIFR5cGVOYW1lPSJvcGM6U3RyaW5nIiAv\nPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU3Vic3RpdHV0ZVZhbHVlIiBUeXBlTmFtZT0idWE6VmFy\naWFudCIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZNZXRhRGF0YVByb3BlcnRpZXMiIFR5\ncGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJNZXRhRGF0YVByb3Bl\ncnRpZXMiIFR5cGVOYW1lPSJ1YTpRdWFsaWZpZWROYW1lIiBMZW5ndGhGaWVsZD0iTm9PZk1ldGFE\nYXRhUHJvcGVydGllcyIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1\nY3R1cmVkVHlwZSBOYW1lPSJQdWJsaXNoZWREYXRhSXRlbXNEYXRhVHlwZSIgQmFzZVR5cGU9InRu\nczpQdWJsaXNoZWREYXRhU2V0U291cmNlRGF0YVR5cGUiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0i\nTm9PZlB1Ymxpc2hlZERhdGEiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVs\nZCBOYW1lPSJQdWJsaXNoZWREYXRhIiBUeXBlTmFtZT0idG5zOlB1Ymxpc2hlZFZhcmlhYmxlRGF0\nYVR5cGUiIExlbmd0aEZpZWxkPSJOb09mUHVibGlzaGVkRGF0YSIgLz4NCiAgPC9vcGM6U3RydWN0\ndXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJQdWJsaXNoZWRFdmVudHNE\nYXRhVHlwZSIgQmFzZVR5cGU9InRuczpQdWJsaXNoZWREYXRhU2V0U291cmNlRGF0YVR5cGUiPg0K\nICAgIDxvcGM6RmllbGQgTmFtZT0iRXZlbnROb3RpZmllciIgVHlwZU5hbWU9InVhOk5vZGVJZCIg\nLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZTZWxlY3RlZEZpZWxkcyIgVHlwZU5hbWU9Im9w\nYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlNlbGVjdGVkRmllbGRzIiBUeXBlTmFt\nZT0idG5zOlNpbXBsZUF0dHJpYnV0ZU9wZXJhbmQiIExlbmd0aEZpZWxkPSJOb09mU2VsZWN0ZWRG\naWVsZHMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJGaWx0ZXIiIFR5cGVOYW1lPSJ0bnM6Q29u\ndGVudEZpbHRlciIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpFbnVtZXJh\ndGVkVHlwZSBOYW1lPSJEYXRhU2V0RmllbGRDb250ZW50TWFzayIgTGVuZ3RoSW5CaXRzPSIzMiIg\nSXNPcHRpb25TZXQ9InRydWUiPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9Ik5vbmUi\nIFZhbHVlPSIwIiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IlN0YXR1c0NvZGUi\nIFZhbHVlPSIxIiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IlNvdXJjZVRpbWVz\ndGFtcCIgVmFsdWU9IjIiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iU2VydmVy\nVGltZXN0YW1wIiBWYWx1ZT0iNCIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJT\nb3VyY2VQaWNvU2Vjb25kcyIgVmFsdWU9IjgiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUg\nTmFtZT0iU2VydmVyUGljb1NlY29uZHMiIFZhbHVlPSIxNiIgLz4NCiAgICA8b3BjOkVudW1lcmF0\nZWRWYWx1ZSBOYW1lPSJSYXdEYXRhIiBWYWx1ZT0iMzIiIC8+DQogIDwvb3BjOkVudW1lcmF0ZWRU\neXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iRGF0YVNldFdyaXRlckRhdGFUeXBl\nIiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5h\nbWUiIFR5cGVOYW1lPSJvcGM6U3RyaW5nIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRW5hYmxl\nZCIgVHlwZU5hbWU9Im9wYzpCb29sZWFuIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRGF0YVNl\ndFdyaXRlcklkIiBUeXBlTmFtZT0ib3BjOlVJbnQxNiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9\nIkRhdGFTZXRGaWVsZENvbnRlbnRNYXNrIiBUeXBlTmFtZT0idG5zOkRhdGFTZXRGaWVsZENvbnRl\nbnRNYXNrIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iS2V5RnJhbWVDb3VudCIgVHlwZU5hbWU9\nIm9wYzpVSW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJEYXRhU2V0TmFtZSIgVHlwZU5h\nbWU9Im9wYzpTdHJpbmciIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mRGF0YVNldFdyaXRl\nclByb3BlcnRpZXMiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1l\nPSJEYXRhU2V0V3JpdGVyUHJvcGVydGllcyIgVHlwZU5hbWU9InRuczpLZXlWYWx1ZVBhaXIiIExl\nbmd0aEZpZWxkPSJOb09mRGF0YVNldFdyaXRlclByb3BlcnRpZXMiIC8+DQogICAgPG9wYzpGaWVs\nZCBOYW1lPSJUcmFuc3BvcnRTZXR0aW5ncyIgVHlwZU5hbWU9InRuczpEYXRhU2V0V3JpdGVyVHJh\nbnNwb3J0RGF0YVR5cGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJNZXNzYWdlU2V0dGluZ3Mi\nIFR5cGVOYW1lPSJ0bnM6RGF0YVNldFdyaXRlck1lc3NhZ2VEYXRhVHlwZSIgLz4NCiAgPC9vcGM6\nU3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJEYXRhU2V0V3Jp\ndGVyVHJhbnNwb3J0RGF0YVR5cGUiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICA8\nL29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IkRhdGFT\nZXRXcml0ZXJNZXNzYWdlRGF0YVR5cGUiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0K\nICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IlB1\nYlN1Ykdyb3VwRGF0YVR5cGUiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxv\ncGM6RmllbGQgTmFtZT0iTmFtZSIgVHlwZU5hbWU9Im9wYzpTdHJpbmciIC8+DQogICAgPG9wYzpG\naWVsZCBOYW1lPSJFbmFibGVkIiBUeXBlTmFtZT0ib3BjOkJvb2xlYW4iIC8+DQogICAgPG9wYzpG\naWVsZCBOYW1lPSJTZWN1cml0eU1vZGUiIFR5cGVOYW1lPSJ0bnM6TWVzc2FnZVNlY3VyaXR5TW9k\nZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlNlY3VyaXR5R3JvdXBJZCIgVHlwZU5hbWU9Im9w\nYzpTdHJpbmciIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mU2VjdXJpdHlLZXlTZXJ2aWNl\ncyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlNlY3VyaXR5\nS2V5U2VydmljZXMiIFR5cGVOYW1lPSJ0bnM6RW5kcG9pbnREZXNjcmlwdGlvbiIgTGVuZ3RoRmll\nbGQ9Ik5vT2ZTZWN1cml0eUtleVNlcnZpY2VzIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTWF4\nTmV0d29ya01lc3NhZ2VTaXplIiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgLz4NCiAgICA8b3BjOkZp\nZWxkIE5hbWU9Ik5vT2ZHcm91cFByb3BlcnRpZXMiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQog\nICAgPG9wYzpGaWVsZCBOYW1lPSJHcm91cFByb3BlcnRpZXMiIFR5cGVOYW1lPSJ0bnM6S2V5VmFs\ndWVQYWlyIiBMZW5ndGhGaWVsZD0iTm9PZkdyb3VwUHJvcGVydGllcyIgLz4NCiAgPC9vcGM6U3Ry\ndWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJXcml0ZXJHcm91cERh\ndGFUeXBlIiBCYXNlVHlwZT0idG5zOlB1YlN1Ykdyb3VwRGF0YVR5cGUiPg0KICAgIDxvcGM6Rmll\nbGQgTmFtZT0iTmFtZSIgVHlwZU5hbWU9Im9wYzpTdHJpbmciIFNvdXJjZVR5cGU9InRuczpQdWJT\ndWJHcm91cERhdGFUeXBlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRW5hYmxlZCIgVHlwZU5h\nbWU9Im9wYzpCb29sZWFuIiBTb3VyY2VUeXBlPSJ0bnM6UHViU3ViR3JvdXBEYXRhVHlwZSIgLz4N\nCiAgICA8b3BjOkZpZWxkIE5hbWU9IlNlY3VyaXR5TW9kZSIgVHlwZU5hbWU9InRuczpNZXNzYWdl\nU2VjdXJpdHlNb2RlIiBTb3VyY2VUeXBlPSJ0bnM6UHViU3ViR3JvdXBEYXRhVHlwZSIgLz4NCiAg\nICA8b3BjOkZpZWxkIE5hbWU9IlNlY3VyaXR5R3JvdXBJZCIgVHlwZU5hbWU9Im9wYzpTdHJpbmci\nIFNvdXJjZVR5cGU9InRuczpQdWJTdWJHcm91cERhdGFUeXBlIiAvPg0KICAgIDxvcGM6RmllbGQg\nTmFtZT0iTm9PZlNlY3VyaXR5S2V5U2VydmljZXMiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQog\nICAgPG9wYzpGaWVsZCBOYW1lPSJTZWN1cml0eUtleVNlcnZpY2VzIiBUeXBlTmFtZT0idG5zOkVu\nZHBvaW50RGVzY3JpcHRpb24iIExlbmd0aEZpZWxkPSJOb09mU2VjdXJpdHlLZXlTZXJ2aWNlcyIg\nLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik1heE5ldHdvcmtNZXNzYWdlU2l6ZSIgVHlwZU5hbWU9\nIm9wYzpVSW50MzIiIFNvdXJjZVR5cGU9InRuczpQdWJTdWJHcm91cERhdGFUeXBlIiAvPg0KICAg\nIDxvcGM6RmllbGQgTmFtZT0iTm9PZkdyb3VwUHJvcGVydGllcyIgVHlwZU5hbWU9Im9wYzpJbnQz\nMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ikdyb3VwUHJvcGVydGllcyIgVHlwZU5hbWU9InRu\nczpLZXlWYWx1ZVBhaXIiIExlbmd0aEZpZWxkPSJOb09mR3JvdXBQcm9wZXJ0aWVzIiAvPg0KICAg\nIDxvcGM6RmllbGQgTmFtZT0iV3JpdGVyR3JvdXBJZCIgVHlwZU5hbWU9Im9wYzpVSW50MTYiIC8+\nDQogICAgPG9wYzpGaWVsZCBOYW1lPSJQdWJsaXNoaW5nSW50ZXJ2YWwiIFR5cGVOYW1lPSJvcGM6\nRG91YmxlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iS2VlcEFsaXZlVGltZSIgVHlwZU5hbWU9\nIm9wYzpEb3VibGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJQcmlvcml0eSIgVHlwZU5hbWU9\nIm9wYzpCeXRlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZkxvY2FsZUlkcyIgVHlwZU5h\nbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkxvY2FsZUlkcyIgVHlwZU5h\nbWU9Im9wYzpTdHJpbmciIExlbmd0aEZpZWxkPSJOb09mTG9jYWxlSWRzIiAvPg0KICAgIDxvcGM6\nRmllbGQgTmFtZT0iSGVhZGVyTGF5b3V0VXJpIiBUeXBlTmFtZT0ib3BjOlN0cmluZyIgLz4NCiAg\nICA8b3BjOkZpZWxkIE5hbWU9IlRyYW5zcG9ydFNldHRpbmdzIiBUeXBlTmFtZT0idG5zOldyaXRl\nckdyb3VwVHJhbnNwb3J0RGF0YVR5cGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJNZXNzYWdl\nU2V0dGluZ3MiIFR5cGVOYW1lPSJ0bnM6V3JpdGVyR3JvdXBNZXNzYWdlRGF0YVR5cGUiIC8+DQog\nICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mRGF0YVNldFdyaXRlcnMiIFR5cGVOYW1lPSJvcGM6SW50\nMzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJEYXRhU2V0V3JpdGVycyIgVHlwZU5hbWU9InRu\nczpEYXRhU2V0V3JpdGVyRGF0YVR5cGUiIExlbmd0aEZpZWxkPSJOb09mRGF0YVNldFdyaXRlcnMi\nIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFt\nZT0iV3JpdGVyR3JvdXBUcmFuc3BvcnREYXRhVHlwZSIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9i\namVjdCI+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUg\nTmFtZT0iV3JpdGVyR3JvdXBNZXNzYWdlRGF0YVR5cGUiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25P\nYmplY3QiPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBl\nIE5hbWU9IlB1YlN1YkNvbm5lY3Rpb25EYXRhVHlwZSIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9i\namVjdCI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOYW1lIiBUeXBlTmFtZT0ib3BjOlN0cmluZyIg\nLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkVuYWJsZWQiIFR5cGVOYW1lPSJvcGM6Qm9vbGVhbiIg\nLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlB1Ymxpc2hlcklkIiBUeXBlTmFtZT0idWE6VmFyaWFu\ndCIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlRyYW5zcG9ydFByb2ZpbGVVcmkiIFR5cGVOYW1l\nPSJvcGM6U3RyaW5nIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iQWRkcmVzcyIgVHlwZU5hbWU9\nInRuczpOZXR3b3JrQWRkcmVzc0RhdGFUeXBlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9P\nZkNvbm5lY3Rpb25Qcm9wZXJ0aWVzIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6\nRmllbGQgTmFtZT0iQ29ubmVjdGlvblByb3BlcnRpZXMiIFR5cGVOYW1lPSJ0bnM6S2V5VmFsdWVQ\nYWlyIiBMZW5ndGhGaWVsZD0iTm9PZkNvbm5lY3Rpb25Qcm9wZXJ0aWVzIiAvPg0KICAgIDxvcGM6\nRmllbGQgTmFtZT0iVHJhbnNwb3J0U2V0dGluZ3MiIFR5cGVOYW1lPSJ0bnM6Q29ubmVjdGlvblRy\nYW5zcG9ydERhdGFUeXBlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZldyaXRlckdyb3Vw\ncyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IldyaXRlckdy\nb3VwcyIgVHlwZU5hbWU9InRuczpXcml0ZXJHcm91cERhdGFUeXBlIiBMZW5ndGhGaWVsZD0iTm9P\nZldyaXRlckdyb3VwcyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZSZWFkZXJHcm91cHMi\nIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZWFkZXJHcm91\ncHMiIFR5cGVOYW1lPSJ0bnM6UmVhZGVyR3JvdXBEYXRhVHlwZSIgTGVuZ3RoRmllbGQ9Ik5vT2ZS\nZWFkZXJHcm91cHMiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0\ndXJlZFR5cGUgTmFtZT0iQ29ubmVjdGlvblRyYW5zcG9ydERhdGFUeXBlIiBCYXNlVHlwZT0idWE6\nRXh0ZW5zaW9uT2JqZWN0Ij4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1\nY3R1cmVkVHlwZSBOYW1lPSJOZXR3b3JrQWRkcmVzc0RhdGFUeXBlIiBCYXNlVHlwZT0idWE6RXh0\nZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5ldHdvcmtJbnRlcmZhY2UiIFR5\ncGVOYW1lPSJvcGM6U3RyaW5nIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3Bj\nOlN0cnVjdHVyZWRUeXBlIE5hbWU9Ik5ldHdvcmtBZGRyZXNzVXJsRGF0YVR5cGUiIEJhc2VUeXBl\nPSJ0bnM6TmV0d29ya0FkZHJlc3NEYXRhVHlwZSI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOZXR3\nb3JrSW50ZXJmYWNlIiBUeXBlTmFtZT0ib3BjOlN0cmluZyIgU291cmNlVHlwZT0idG5zOk5ldHdv\ncmtBZGRyZXNzRGF0YVR5cGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJVcmwiIFR5cGVOYW1l\nPSJvcGM6U3RyaW5nIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVj\ndHVyZWRUeXBlIE5hbWU9IlJlYWRlckdyb3VwRGF0YVR5cGUiIEJhc2VUeXBlPSJ0bnM6UHViU3Vi\nR3JvdXBEYXRhVHlwZSI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOYW1lIiBUeXBlTmFtZT0ib3Bj\nOlN0cmluZyIgU291cmNlVHlwZT0idG5zOlB1YlN1Ykdyb3VwRGF0YVR5cGUiIC8+DQogICAgPG9w\nYzpGaWVsZCBOYW1lPSJFbmFibGVkIiBUeXBlTmFtZT0ib3BjOkJvb2xlYW4iIFNvdXJjZVR5cGU9\nInRuczpQdWJTdWJHcm91cERhdGFUeXBlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU2VjdXJp\ndHlNb2RlIiBUeXBlTmFtZT0idG5zOk1lc3NhZ2VTZWN1cml0eU1vZGUiIFNvdXJjZVR5cGU9InRu\nczpQdWJTdWJHcm91cERhdGFUeXBlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU2VjdXJpdHlH\ncm91cElkIiBUeXBlTmFtZT0ib3BjOlN0cmluZyIgU291cmNlVHlwZT0idG5zOlB1YlN1Ykdyb3Vw\nRGF0YVR5cGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mU2VjdXJpdHlLZXlTZXJ2aWNl\ncyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlNlY3VyaXR5\nS2V5U2VydmljZXMiIFR5cGVOYW1lPSJ0bnM6RW5kcG9pbnREZXNjcmlwdGlvbiIgTGVuZ3RoRmll\nbGQ9Ik5vT2ZTZWN1cml0eUtleVNlcnZpY2VzIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTWF4\nTmV0d29ya01lc3NhZ2VTaXplIiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgU291cmNlVHlwZT0idG5z\nOlB1YlN1Ykdyb3VwRGF0YVR5cGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mR3JvdXBQ\ncm9wZXJ0aWVzIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0i\nR3JvdXBQcm9wZXJ0aWVzIiBUeXBlTmFtZT0idG5zOktleVZhbHVlUGFpciIgTGVuZ3RoRmllbGQ9\nIk5vT2ZHcm91cFByb3BlcnRpZXMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJUcmFuc3BvcnRT\nZXR0aW5ncyIgVHlwZU5hbWU9InRuczpSZWFkZXJHcm91cFRyYW5zcG9ydERhdGFUeXBlIiAvPg0K\nICAgIDxvcGM6RmllbGQgTmFtZT0iTWVzc2FnZVNldHRpbmdzIiBUeXBlTmFtZT0idG5zOlJlYWRl\nckdyb3VwTWVzc2FnZURhdGFUeXBlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZkRhdGFT\nZXRSZWFkZXJzIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0i\nRGF0YVNldFJlYWRlcnMiIFR5cGVOYW1lPSJ0bnM6RGF0YVNldFJlYWRlckRhdGFUeXBlIiBMZW5n\ndGhGaWVsZD0iTm9PZkRhdGFTZXRSZWFkZXJzIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4N\nCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IlJlYWRlckdyb3VwVHJhbnNwb3J0RGF0YVR5\ncGUiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlw\nZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IlJlYWRlckdyb3VwTWVzc2FnZURhdGFU\neXBlIiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgPC9vcGM6U3RydWN0dXJlZFR5\ncGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJEYXRhU2V0UmVhZGVyRGF0YVR5cGUi\nIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTmFt\nZSIgVHlwZU5hbWU9Im9wYzpTdHJpbmciIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJFbmFibGVk\nIiBUeXBlTmFtZT0ib3BjOkJvb2xlYW4iIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJQdWJsaXNo\nZXJJZCIgVHlwZU5hbWU9InVhOlZhcmlhbnQiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJXcml0\nZXJHcm91cElkIiBUeXBlTmFtZT0ib3BjOlVJbnQxNiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9\nIkRhdGFTZXRXcml0ZXJJZCIgVHlwZU5hbWU9Im9wYzpVSW50MTYiIC8+DQogICAgPG9wYzpGaWVs\nZCBOYW1lPSJEYXRhU2V0TWV0YURhdGEiIFR5cGVOYW1lPSJ0bnM6RGF0YVNldE1ldGFEYXRhVHlw\nZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkRhdGFTZXRGaWVsZENvbnRlbnRNYXNrIiBUeXBl\nTmFtZT0idG5zOkRhdGFTZXRGaWVsZENvbnRlbnRNYXNrIiAvPg0KICAgIDxvcGM6RmllbGQgTmFt\nZT0iTWVzc2FnZVJlY2VpdmVUaW1lb3V0IiBUeXBlTmFtZT0ib3BjOkRvdWJsZSIgLz4NCiAgICA8\nb3BjOkZpZWxkIE5hbWU9IktleUZyYW1lQ291bnQiIFR5cGVOYW1lPSJvcGM6VUludDMyIiAvPg0K\nICAgIDxvcGM6RmllbGQgTmFtZT0iSGVhZGVyTGF5b3V0VXJpIiBUeXBlTmFtZT0ib3BjOlN0cmlu\nZyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlNlY3VyaXR5TW9kZSIgVHlwZU5hbWU9InRuczpN\nZXNzYWdlU2VjdXJpdHlNb2RlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU2VjdXJpdHlHcm91\ncElkIiBUeXBlTmFtZT0ib3BjOlN0cmluZyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZT\nZWN1cml0eUtleVNlcnZpY2VzIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6Rmll\nbGQgTmFtZT0iU2VjdXJpdHlLZXlTZXJ2aWNlcyIgVHlwZU5hbWU9InRuczpFbmRwb2ludERlc2Ny\naXB0aW9uIiBMZW5ndGhGaWVsZD0iTm9PZlNlY3VyaXR5S2V5U2VydmljZXMiIC8+DQogICAgPG9w\nYzpGaWVsZCBOYW1lPSJOb09mRGF0YVNldFJlYWRlclByb3BlcnRpZXMiIFR5cGVOYW1lPSJvcGM6\nSW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJEYXRhU2V0UmVhZGVyUHJvcGVydGllcyIg\nVHlwZU5hbWU9InRuczpLZXlWYWx1ZVBhaXIiIExlbmd0aEZpZWxkPSJOb09mRGF0YVNldFJlYWRl\nclByb3BlcnRpZXMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJUcmFuc3BvcnRTZXR0aW5ncyIg\nVHlwZU5hbWU9InRuczpEYXRhU2V0UmVhZGVyVHJhbnNwb3J0RGF0YVR5cGUiIC8+DQogICAgPG9w\nYzpGaWVsZCBOYW1lPSJNZXNzYWdlU2V0dGluZ3MiIFR5cGVOYW1lPSJ0bnM6RGF0YVNldFJlYWRl\nck1lc3NhZ2VEYXRhVHlwZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlN1YnNjcmliZWREYXRh\nU2V0IiBUeXBlTmFtZT0idG5zOlN1YnNjcmliZWREYXRhU2V0RGF0YVR5cGUiIC8+DQogIDwvb3Bj\nOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iRGF0YVNldFJl\nYWRlclRyYW5zcG9ydERhdGFUeXBlIiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAg\nPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJEYXRh\nU2V0UmVhZGVyTWVzc2FnZURhdGFUeXBlIiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4N\nCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJT\ndWJzY3JpYmVkRGF0YVNldERhdGFUeXBlIiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4N\nCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJU\nYXJnZXRWYXJpYWJsZXNEYXRhVHlwZSIgQmFzZVR5cGU9InRuczpTdWJzY3JpYmVkRGF0YVNldERh\ndGFUeXBlIj4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZUYXJnZXRWYXJpYWJsZXMiIFR5cGVO\nYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJUYXJnZXRWYXJpYWJsZXMi\nIFR5cGVOYW1lPSJ0bnM6RmllbGRUYXJnZXREYXRhVHlwZSIgTGVuZ3RoRmllbGQ9Ik5vT2ZUYXJn\nZXRWYXJpYWJsZXMiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0\ndXJlZFR5cGUgTmFtZT0iRmllbGRUYXJnZXREYXRhVHlwZSIgQmFzZVR5cGU9InVhOkV4dGVuc2lv\nbk9iamVjdCI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJEYXRhU2V0RmllbGRJZCIgVHlwZU5hbWU9\nIm9wYzpHdWlkIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVjZWl2ZXJJbmRleFJhbmdlIiBU\neXBlTmFtZT0ib3BjOlN0cmluZyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlRhcmdldE5vZGVJ\nZCIgVHlwZU5hbWU9InVhOk5vZGVJZCIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkF0dHJpYnV0\nZUlkIiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IldyaXRl\nSW5kZXhSYW5nZSIgVHlwZU5hbWU9Im9wYzpTdHJpbmciIC8+DQogICAgPG9wYzpGaWVsZCBOYW1l\nPSJPdmVycmlkZVZhbHVlSGFuZGxpbmciIFR5cGVOYW1lPSJ0bnM6T3ZlcnJpZGVWYWx1ZUhhbmRs\naW5nIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iT3ZlcnJpZGVWYWx1ZSIgVHlwZU5hbWU9InVh\nOlZhcmlhbnQiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6RW51bWVyYXRl\nZFR5cGUgTmFtZT0iT3ZlcnJpZGVWYWx1ZUhhbmRsaW5nIiBMZW5ndGhJbkJpdHM9IjMyIj4NCiAg\nICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJEaXNhYmxlZCIgVmFsdWU9IjAiIC8+DQogICAg\nPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iTGFzdFVzYWJsZVZhbHVlIiBWYWx1ZT0iMSIgLz4N\nCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJPdmVycmlkZVZhbHVlIiBWYWx1ZT0iMiIg\nLz4NCiAgPC9vcGM6RW51bWVyYXRlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1l\nPSJTdWJzY3JpYmVkRGF0YVNldE1pcnJvckRhdGFUeXBlIiBCYXNlVHlwZT0idG5zOlN1YnNjcmli\nZWREYXRhU2V0RGF0YVR5cGUiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUGFyZW50Tm9kZU5hbWUi\nIFR5cGVOYW1lPSJvcGM6U3RyaW5nIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZlJvbGVQ\nZXJtaXNzaW9ucyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9\nIlJvbGVQZXJtaXNzaW9ucyIgVHlwZU5hbWU9InRuczpSb2xlUGVybWlzc2lvblR5cGUiIExlbmd0\naEZpZWxkPSJOb09mUm9sZVBlcm1pc3Npb25zIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4N\nCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IlB1YlN1YkNvbmZpZ3VyYXRpb25EYXRhVHlw\nZSIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJO\nb09mUHVibGlzaGVkRGF0YVNldHMiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpG\naWVsZCBOYW1lPSJQdWJsaXNoZWREYXRhU2V0cyIgVHlwZU5hbWU9InRuczpQdWJsaXNoZWREYXRh\nU2V0RGF0YVR5cGUiIExlbmd0aEZpZWxkPSJOb09mUHVibGlzaGVkRGF0YVNldHMiIC8+DQogICAg\nPG9wYzpGaWVsZCBOYW1lPSJOb09mQ29ubmVjdGlvbnMiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+\nDQogICAgPG9wYzpGaWVsZCBOYW1lPSJDb25uZWN0aW9ucyIgVHlwZU5hbWU9InRuczpQdWJTdWJD\nb25uZWN0aW9uRGF0YVR5cGUiIExlbmd0aEZpZWxkPSJOb09mQ29ubmVjdGlvbnMiIC8+DQogICAg\nPG9wYzpGaWVsZCBOYW1lPSJFbmFibGVkIiBUeXBlTmFtZT0ib3BjOkJvb2xlYW4iIC8+DQogIDwv\nb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6RW51bWVyYXRlZFR5cGUgTmFtZT0iRGF0YVNl\ndE9yZGVyaW5nVHlwZSIgTGVuZ3RoSW5CaXRzPSIzMiI+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFs\ndWUgTmFtZT0iVW5kZWZpbmVkIiBWYWx1ZT0iMCIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1\nZSBOYW1lPSJBc2NlbmRpbmdXcml0ZXJJZCIgVmFsdWU9IjEiIC8+DQogICAgPG9wYzpFbnVtZXJh\ndGVkVmFsdWUgTmFtZT0iQXNjZW5kaW5nV3JpdGVySWRTaW5nbGUiIFZhbHVlPSIyIiAvPg0KICA8\nL29wYzpFbnVtZXJhdGVkVHlwZT4NCg0KICA8b3BjOkVudW1lcmF0ZWRUeXBlIE5hbWU9IlVhZHBO\nZXR3b3JrTWVzc2FnZUNvbnRlbnRNYXNrIiBMZW5ndGhJbkJpdHM9IjMyIiBJc09wdGlvblNldD0i\ndHJ1ZSI+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iTm9uZSIgVmFsdWU9IjAiIC8+\nDQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iUHVibGlzaGVySWQiIFZhbHVlPSIxIiAv\nPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9Ikdyb3VwSGVhZGVyIiBWYWx1ZT0iMiIg\nLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJXcml0ZXJHcm91cElkIiBWYWx1ZT0i\nNCIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJHcm91cFZlcnNpb24iIFZhbHVl\nPSI4IiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9Ik5ldHdvcmtNZXNzYWdlTnVt\nYmVyIiBWYWx1ZT0iMTYiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iU2VxdWVu\nY2VOdW1iZXIiIFZhbHVlPSIzMiIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJQ\nYXlsb2FkSGVhZGVyIiBWYWx1ZT0iNjQiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFt\nZT0iVGltZXN0YW1wIiBWYWx1ZT0iMTI4IiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5h\nbWU9IlBpY29TZWNvbmRzIiBWYWx1ZT0iMjU2IiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVl\nIE5hbWU9IkRhdGFTZXRDbGFzc0lkIiBWYWx1ZT0iNTEyIiAvPg0KICAgIDxvcGM6RW51bWVyYXRl\nZFZhbHVlIE5hbWU9IlByb21vdGVkRmllbGRzIiBWYWx1ZT0iMTAyNCIgLz4NCiAgPC9vcGM6RW51\nbWVyYXRlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJVYWRwV3JpdGVyR3Jv\ndXBNZXNzYWdlRGF0YVR5cGUiIEJhc2VUeXBlPSJ0bnM6V3JpdGVyR3JvdXBNZXNzYWdlRGF0YVR5\ncGUiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iR3JvdXBWZXJzaW9uIiBUeXBlTmFtZT0ib3BjOlVJ\nbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkRhdGFTZXRPcmRlcmluZyIgVHlwZU5hbWU9\nInRuczpEYXRhU2V0T3JkZXJpbmdUeXBlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTmV0d29y\na01lc3NhZ2VDb250ZW50TWFzayIgVHlwZU5hbWU9InRuczpVYWRwTmV0d29ya01lc3NhZ2VDb250\nZW50TWFzayIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlNhbXBsaW5nT2Zmc2V0IiBUeXBlTmFt\nZT0ib3BjOkRvdWJsZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZQdWJsaXNoaW5nT2Zm\nc2V0IiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUHVibGlz\naGluZ09mZnNldCIgVHlwZU5hbWU9Im9wYzpEb3VibGUiIExlbmd0aEZpZWxkPSJOb09mUHVibGlz\naGluZ09mZnNldCIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpFbnVtZXJh\ndGVkVHlwZSBOYW1lPSJVYWRwRGF0YVNldE1lc3NhZ2VDb250ZW50TWFzayIgTGVuZ3RoSW5CaXRz\nPSIzMiIgSXNPcHRpb25TZXQ9InRydWUiPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9\nIk5vbmUiIFZhbHVlPSIwIiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IlRpbWVz\ndGFtcCIgVmFsdWU9IjEiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iUGljb1Nl\nY29uZHMiIFZhbHVlPSIyIiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IlN0YXR1\ncyIgVmFsdWU9IjQiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iTWFqb3JWZXJz\naW9uIiBWYWx1ZT0iOCIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJNaW5vclZl\ncnNpb24iIFZhbHVlPSIxNiIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJTZXF1\nZW5jZU51bWJlciIgVmFsdWU9IjMyIiAvPg0KICA8L29wYzpFbnVtZXJhdGVkVHlwZT4NCg0KICA8\nb3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IlVhZHBEYXRhU2V0V3JpdGVyTWVzc2FnZURhdGFUeXBl\nIiBCYXNlVHlwZT0idG5zOkRhdGFTZXRXcml0ZXJNZXNzYWdlRGF0YVR5cGUiPg0KICAgIDxvcGM6\nRmllbGQgTmFtZT0iRGF0YVNldE1lc3NhZ2VDb250ZW50TWFzayIgVHlwZU5hbWU9InRuczpVYWRw\nRGF0YVNldE1lc3NhZ2VDb250ZW50TWFzayIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkNvbmZp\nZ3VyZWRTaXplIiBUeXBlTmFtZT0ib3BjOlVJbnQxNiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9\nIk5ldHdvcmtNZXNzYWdlTnVtYmVyIiBUeXBlTmFtZT0ib3BjOlVJbnQxNiIgLz4NCiAgICA8b3Bj\nOkZpZWxkIE5hbWU9IkRhdGFTZXRPZmZzZXQiIFR5cGVOYW1lPSJvcGM6VUludDE2IiAvPg0KICA8\nL29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IlVhZHBE\nYXRhU2V0UmVhZGVyTWVzc2FnZURhdGFUeXBlIiBCYXNlVHlwZT0idG5zOkRhdGFTZXRSZWFkZXJN\nZXNzYWdlRGF0YVR5cGUiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iR3JvdXBWZXJzaW9uIiBUeXBl\nTmFtZT0ib3BjOlVJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5ldHdvcmtNZXNzYWdl\nTnVtYmVyIiBUeXBlTmFtZT0ib3BjOlVJbnQxNiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkRh\ndGFTZXRPZmZzZXQiIFR5cGVOYW1lPSJvcGM6VUludDE2IiAvPg0KICAgIDxvcGM6RmllbGQgTmFt\nZT0iRGF0YVNldENsYXNzSWQiIFR5cGVOYW1lPSJvcGM6R3VpZCIgLz4NCiAgICA8b3BjOkZpZWxk\nIE5hbWU9Ik5ldHdvcmtNZXNzYWdlQ29udGVudE1hc2siIFR5cGVOYW1lPSJ0bnM6VWFkcE5ldHdv\ncmtNZXNzYWdlQ29udGVudE1hc2siIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJEYXRhU2V0TWVz\nc2FnZUNvbnRlbnRNYXNrIiBUeXBlTmFtZT0idG5zOlVhZHBEYXRhU2V0TWVzc2FnZUNvbnRlbnRN\nYXNrIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUHVibGlzaGluZ0ludGVydmFsIiBUeXBlTmFt\nZT0ib3BjOkRvdWJsZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlY2VpdmVPZmZzZXQiIFR5\ncGVOYW1lPSJvcGM6RG91YmxlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUHJvY2Vzc2luZ09m\nZnNldCIgVHlwZU5hbWU9Im9wYzpEb3VibGUiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0K\nDQogIDxvcGM6RW51bWVyYXRlZFR5cGUgTmFtZT0iSnNvbk5ldHdvcmtNZXNzYWdlQ29udGVudE1h\nc2siIExlbmd0aEluQml0cz0iMzIiIElzT3B0aW9uU2V0PSJ0cnVlIj4NCiAgICA8b3BjOkVudW1l\ncmF0ZWRWYWx1ZSBOYW1lPSJOb25lIiBWYWx1ZT0iMCIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRW\nYWx1ZSBOYW1lPSJOZXR3b3JrTWVzc2FnZUhlYWRlciIgVmFsdWU9IjEiIC8+DQogICAgPG9wYzpF\nbnVtZXJhdGVkVmFsdWUgTmFtZT0iRGF0YVNldE1lc3NhZ2VIZWFkZXIiIFZhbHVlPSIyIiAvPg0K\nICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IlNpbmdsZURhdGFTZXRNZXNzYWdlIiBWYWx1\nZT0iNCIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJQdWJsaXNoZXJJZCIgVmFs\ndWU9IjgiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iRGF0YVNldENsYXNzSWQi\nIFZhbHVlPSIxNiIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJSZXBseVRvIiBW\nYWx1ZT0iMzIiIC8+DQogIDwvb3BjOkVudW1lcmF0ZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJl\nZFR5cGUgTmFtZT0iSnNvbldyaXRlckdyb3VwTWVzc2FnZURhdGFUeXBlIiBCYXNlVHlwZT0idG5z\nOldyaXRlckdyb3VwTWVzc2FnZURhdGFUeXBlIj4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5ldHdv\ncmtNZXNzYWdlQ29udGVudE1hc2siIFR5cGVOYW1lPSJ0bnM6SnNvbk5ldHdvcmtNZXNzYWdlQ29u\ndGVudE1hc2siIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6RW51bWVyYXRl\nZFR5cGUgTmFtZT0iSnNvbkRhdGFTZXRNZXNzYWdlQ29udGVudE1hc2siIExlbmd0aEluQml0cz0i\nMzIiIElzT3B0aW9uU2V0PSJ0cnVlIj4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJO\nb25lIiBWYWx1ZT0iMCIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJEYXRhU2V0\nV3JpdGVySWQiIFZhbHVlPSIxIiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9Ik1l\ndGFEYXRhVmVyc2lvbiIgVmFsdWU9IjIiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFt\nZT0iU2VxdWVuY2VOdW1iZXIiIFZhbHVlPSI0IiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVl\nIE5hbWU9IlRpbWVzdGFtcCIgVmFsdWU9IjgiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUg\nTmFtZT0iU3RhdHVzIiBWYWx1ZT0iMTYiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFt\nZT0iTWVzc2FnZVR5cGUiIFZhbHVlPSIzMiIgLz4NCiAgPC9vcGM6RW51bWVyYXRlZFR5cGU+DQoN\nCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJKc29uRGF0YVNldFdyaXRlck1lc3NhZ2VEYXRh\nVHlwZSIgQmFzZVR5cGU9InRuczpEYXRhU2V0V3JpdGVyTWVzc2FnZURhdGFUeXBlIj4NCiAgICA8\nb3BjOkZpZWxkIE5hbWU9IkRhdGFTZXRNZXNzYWdlQ29udGVudE1hc2siIFR5cGVOYW1lPSJ0bnM6\nSnNvbkRhdGFTZXRNZXNzYWdlQ29udGVudE1hc2siIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBl\nPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iSnNvbkRhdGFTZXRSZWFkZXJNZXNzYWdl\nRGF0YVR5cGUiIEJhc2VUeXBlPSJ0bnM6RGF0YVNldFJlYWRlck1lc3NhZ2VEYXRhVHlwZSI+DQog\nICAgPG9wYzpGaWVsZCBOYW1lPSJOZXR3b3JrTWVzc2FnZUNvbnRlbnRNYXNrIiBUeXBlTmFtZT0i\ndG5zOkpzb25OZXR3b3JrTWVzc2FnZUNvbnRlbnRNYXNrIiAvPg0KICAgIDxvcGM6RmllbGQgTmFt\nZT0iRGF0YVNldE1lc3NhZ2VDb250ZW50TWFzayIgVHlwZU5hbWU9InRuczpKc29uRGF0YVNldE1l\nc3NhZ2VDb250ZW50TWFzayIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpT\ndHJ1Y3R1cmVkVHlwZSBOYW1lPSJEYXRhZ3JhbUNvbm5lY3Rpb25UcmFuc3BvcnREYXRhVHlwZSIg\nQmFzZVR5cGU9InRuczpDb25uZWN0aW9uVHJhbnNwb3J0RGF0YVR5cGUiPg0KICAgIDxvcGM6Rmll\nbGQgTmFtZT0iRGlzY292ZXJ5QWRkcmVzcyIgVHlwZU5hbWU9InVhOkV4dGVuc2lvbk9iamVjdCIg\nLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1l\nPSJEYXRhZ3JhbVdyaXRlckdyb3VwVHJhbnNwb3J0RGF0YVR5cGUiIEJhc2VUeXBlPSJ0bnM6V3Jp\ndGVyR3JvdXBUcmFuc3BvcnREYXRhVHlwZSI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJNZXNzYWdl\nUmVwZWF0Q291bnQiIFR5cGVOYW1lPSJvcGM6Qnl0ZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9\nIk1lc3NhZ2VSZXBlYXREZWxheSIgVHlwZU5hbWU9Im9wYzpEb3VibGUiIC8+DQogIDwvb3BjOlN0\ncnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iQnJva2VyQ29ubmVj\ndGlvblRyYW5zcG9ydERhdGFUeXBlIiBCYXNlVHlwZT0idG5zOkNvbm5lY3Rpb25UcmFuc3BvcnRE\nYXRhVHlwZSI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXNvdXJjZVVyaSIgVHlwZU5hbWU9Im9w\nYzpTdHJpbmciIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJBdXRoZW50aWNhdGlvblByb2ZpbGVV\ncmkiIFR5cGVOYW1lPSJvcGM6U3RyaW5nIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0K\nICA8b3BjOkVudW1lcmF0ZWRUeXBlIE5hbWU9IkJyb2tlclRyYW5zcG9ydFF1YWxpdHlPZlNlcnZp\nY2UiIExlbmd0aEluQml0cz0iMzIiPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9Ik5v\ndFNwZWNpZmllZCIgVmFsdWU9IjAiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0i\nQmVzdEVmZm9ydCIgVmFsdWU9IjEiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0i\nQXRMZWFzdE9uY2UiIFZhbHVlPSIyIiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9\nIkF0TW9zdE9uY2UiIFZhbHVlPSIzIiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9\nIkV4YWN0bHlPbmNlIiBWYWx1ZT0iNCIgLz4NCiAgPC9vcGM6RW51bWVyYXRlZFR5cGU+DQoNCiAg\nPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJCcm9rZXJXcml0ZXJHcm91cFRyYW5zcG9ydERhdGFU\neXBlIiBCYXNlVHlwZT0idG5zOldyaXRlckdyb3VwVHJhbnNwb3J0RGF0YVR5cGUiPg0KICAgIDxv\ncGM6RmllbGQgTmFtZT0iUXVldWVOYW1lIiBUeXBlTmFtZT0ib3BjOlN0cmluZyIgLz4NCiAgICA8\nb3BjOkZpZWxkIE5hbWU9IlJlc291cmNlVXJpIiBUeXBlTmFtZT0ib3BjOlN0cmluZyIgLz4NCiAg\nICA8b3BjOkZpZWxkIE5hbWU9IkF1dGhlbnRpY2F0aW9uUHJvZmlsZVVyaSIgVHlwZU5hbWU9Im9w\nYzpTdHJpbmciIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXF1ZXN0ZWREZWxpdmVyeUd1YXJh\nbnRlZSIgVHlwZU5hbWU9InRuczpCcm9rZXJUcmFuc3BvcnRRdWFsaXR5T2ZTZXJ2aWNlIiAvPg0K\nICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IkJy\nb2tlckRhdGFTZXRXcml0ZXJUcmFuc3BvcnREYXRhVHlwZSIgQmFzZVR5cGU9InRuczpEYXRhU2V0\nV3JpdGVyVHJhbnNwb3J0RGF0YVR5cGUiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUXVldWVOYW1l\nIiBUeXBlTmFtZT0ib3BjOlN0cmluZyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlc291cmNl\nVXJpIiBUeXBlTmFtZT0ib3BjOlN0cmluZyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkF1dGhl\nbnRpY2F0aW9uUHJvZmlsZVVyaSIgVHlwZU5hbWU9Im9wYzpTdHJpbmciIC8+DQogICAgPG9wYzpG\naWVsZCBOYW1lPSJSZXF1ZXN0ZWREZWxpdmVyeUd1YXJhbnRlZSIgVHlwZU5hbWU9InRuczpCcm9r\nZXJUcmFuc3BvcnRRdWFsaXR5T2ZTZXJ2aWNlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTWV0\nYURhdGFRdWV1ZU5hbWUiIFR5cGVOYW1lPSJvcGM6U3RyaW5nIiAvPg0KICAgIDxvcGM6RmllbGQg\nTmFtZT0iTWV0YURhdGFVcGRhdGVUaW1lIiBUeXBlTmFtZT0ib3BjOkRvdWJsZSIgLz4NCiAgPC9v\ncGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJCcm9rZXJE\nYXRhU2V0UmVhZGVyVHJhbnNwb3J0RGF0YVR5cGUiIEJhc2VUeXBlPSJ0bnM6RGF0YVNldFJlYWRl\nclRyYW5zcG9ydERhdGFUeXBlIj4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlF1ZXVlTmFtZSIgVHlw\nZU5hbWU9Im9wYzpTdHJpbmciIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXNvdXJjZVVyaSIg\nVHlwZU5hbWU9Im9wYzpTdHJpbmciIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJBdXRoZW50aWNh\ndGlvblByb2ZpbGVVcmkiIFR5cGVOYW1lPSJvcGM6U3RyaW5nIiAvPg0KICAgIDxvcGM6RmllbGQg\nTmFtZT0iUmVxdWVzdGVkRGVsaXZlcnlHdWFyYW50ZWUiIFR5cGVOYW1lPSJ0bnM6QnJva2VyVHJh\nbnNwb3J0UXVhbGl0eU9mU2VydmljZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik1ldGFEYXRh\nUXVldWVOYW1lIiBUeXBlTmFtZT0ib3BjOlN0cmluZyIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5\ncGU+DQoNCiAgPG9wYzpFbnVtZXJhdGVkVHlwZSBOYW1lPSJEaWFnbm9zdGljc0xldmVsIiBMZW5n\ndGhJbkJpdHM9IjMyIj4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJCYXNpYyIgVmFs\ndWU9IjAiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iQWR2YW5jZWQiIFZhbHVl\nPSIxIiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IkluZm8iIFZhbHVlPSIyIiAv\nPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IkxvZyIgVmFsdWU9IjMiIC8+DQogICAg\nPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iRGVidWciIFZhbHVlPSI0IiAvPg0KICA8L29wYzpF\nbnVtZXJhdGVkVHlwZT4NCg0KICA8b3BjOkVudW1lcmF0ZWRUeXBlIE5hbWU9IlB1YlN1YkRpYWdu\nb3N0aWNzQ291bnRlckNsYXNzaWZpY2F0aW9uIiBMZW5ndGhJbkJpdHM9IjMyIj4NCiAgICA8b3Bj\nOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJJbmZvcm1hdGlvbiIgVmFsdWU9IjAiIC8+DQogICAgPG9w\nYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iRXJyb3IiIFZhbHVlPSIxIiAvPg0KICA8L29wYzpFbnVt\nZXJhdGVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IkFsaWFzTmFtZURhdGFU\neXBlIiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9\nIkFsaWFzTmFtZSIgVHlwZU5hbWU9InVhOlF1YWxpZmllZE5hbWUiIC8+DQogICAgPG9wYzpGaWVs\nZCBOYW1lPSJOb09mUmVmZXJlbmNlZE5vZGVzIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAg\nIDxvcGM6RmllbGQgTmFtZT0iUmVmZXJlbmNlZE5vZGVzIiBUeXBlTmFtZT0idWE6RXhwYW5kZWRO\nb2RlSWQiIExlbmd0aEZpZWxkPSJOb09mUmVmZXJlbmNlZE5vZGVzIiAvPg0KICA8L29wYzpTdHJ1\nY3R1cmVkVHlwZT4NCg0KICA8b3BjOkVudW1lcmF0ZWRUeXBlIE5hbWU9IkR1cGxleCIgTGVuZ3Ro\nSW5CaXRzPSIzMiI+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iRnVsbCIgVmFsdWU9\nIjAiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iSGFsZiIgVmFsdWU9IjEiIC8+\nDQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iVW5rbm93biIgVmFsdWU9IjIiIC8+DQog\nIDwvb3BjOkVudW1lcmF0ZWRUeXBlPg0KDQogIDxvcGM6RW51bWVyYXRlZFR5cGUgTmFtZT0iSW50\nZXJmYWNlQWRtaW5TdGF0dXMiIExlbmd0aEluQml0cz0iMzIiPg0KICAgIDxvcGM6RW51bWVyYXRl\nZFZhbHVlIE5hbWU9IlVwIiBWYWx1ZT0iMCIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBO\nYW1lPSJEb3duIiBWYWx1ZT0iMSIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJU\nZXN0aW5nIiBWYWx1ZT0iMiIgLz4NCiAgPC9vcGM6RW51bWVyYXRlZFR5cGU+DQoNCiAgPG9wYzpF\nbnVtZXJhdGVkVHlwZSBOYW1lPSJJbnRlcmZhY2VPcGVyU3RhdHVzIiBMZW5ndGhJbkJpdHM9IjMy\nIj4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJVcCIgVmFsdWU9IjAiIC8+DQogICAg\nPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iRG93biIgVmFsdWU9IjEiIC8+DQogICAgPG9wYzpF\nbnVtZXJhdGVkVmFsdWUgTmFtZT0iVGVzdGluZyIgVmFsdWU9IjIiIC8+DQogICAgPG9wYzpFbnVt\nZXJhdGVkVmFsdWUgTmFtZT0iVW5rbm93biIgVmFsdWU9IjMiIC8+DQogICAgPG9wYzpFbnVtZXJh\ndGVkVmFsdWUgTmFtZT0iRG9ybWFudCIgVmFsdWU9IjQiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVk\nVmFsdWUgTmFtZT0iTm90UHJlc2VudCIgVmFsdWU9IjUiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVk\nVmFsdWUgTmFtZT0iTG93ZXJMYXllckRvd24iIFZhbHVlPSI2IiAvPg0KICA8L29wYzpFbnVtZXJh\ndGVkVHlwZT4NCg0KICA8b3BjOkVudW1lcmF0ZWRUeXBlIE5hbWU9Ik5lZ290aWF0aW9uU3RhdHVz\nIiBMZW5ndGhJbkJpdHM9IjMyIj4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJJblBy\nb2dyZXNzIiBWYWx1ZT0iMCIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJDb21w\nbGV0ZSIgVmFsdWU9IjEiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iRmFpbGVk\nIiBWYWx1ZT0iMiIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJVbmtub3duIiBW\nYWx1ZT0iMyIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJOb05lZ290aWF0aW9u\nIiBWYWx1ZT0iNCIgLz4NCiAgPC9vcGM6RW51bWVyYXRlZFR5cGU+DQoNCiAgPG9wYzpFbnVtZXJh\ndGVkVHlwZSBOYW1lPSJUc25GYWlsdXJlQ29kZSIgTGVuZ3RoSW5CaXRzPSIzMiI+DQogICAgPG9w\nYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iTm9GYWlsdXJlIiBWYWx1ZT0iMCIgLz4NCiAgICA8b3Bj\nOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJJbnN1ZmZpY2llbnRCYW5kd2lkdGgiIFZhbHVlPSIxIiAv\nPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9Ikluc3VmZmljaWVudFJlc291cmNlcyIg\nVmFsdWU9IjIiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iSW5zdWZmaWNpZW50\nVHJhZmZpY0NsYXNzQmFuZHdpZHRoIiBWYWx1ZT0iMyIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRW\nYWx1ZSBOYW1lPSJTdHJlYW1JZEluVXNlIiBWYWx1ZT0iNCIgLz4NCiAgICA8b3BjOkVudW1lcmF0\nZWRWYWx1ZSBOYW1lPSJTdHJlYW1EZXN0aW5hdGlvbkFkZHJlc3NJblVzZSIgVmFsdWU9IjUiIC8+\nDQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iU3RyZWFtUHJlZW1wdGVkQnlIaWdoZXJS\nYW5rIiBWYWx1ZT0iNiIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJMYXRlbmN5\nSGFzQ2hhbmdlZCIgVmFsdWU9IjciIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0i\nRWdyZXNzUG9ydE5vdEF2YkNhcGFibGUiIFZhbHVlPSI4IiAvPg0KICAgIDxvcGM6RW51bWVyYXRl\nZFZhbHVlIE5hbWU9IlVzZURpZmZlcmVudERlc3RpbmF0aW9uQWRkcmVzcyIgVmFsdWU9IjkiIC8+\nDQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iT3V0T2ZNc3JwUmVzb3VyY2VzIiBWYWx1\nZT0iMTAiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iT3V0T2ZNbXJwUmVzb3Vy\nY2VzIiBWYWx1ZT0iMTEiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iQ2Fubm90\nU3RvcmVEZXN0aW5hdGlvbkFkZHJlc3MiIFZhbHVlPSIxMiIgLz4NCiAgICA8b3BjOkVudW1lcmF0\nZWRWYWx1ZSBOYW1lPSJQcmlvcml0eUlzTm90QW5TcmNDbGFzcyIgVmFsdWU9IjEzIiAvPg0KICAg\nIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9Ik1heEZyYW1lU2l6ZVRvb0xhcmdlIiBWYWx1ZT0i\nMTQiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iTWF4RmFuSW5Qb3J0c0xpbWl0\nUmVhY2hlZCIgVmFsdWU9IjE1IiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IkZp\ncnN0VmFsdWVDaGFuZ2VkRm9yU3RyZWFtSWQiIFZhbHVlPSIxNiIgLz4NCiAgICA8b3BjOkVudW1l\ncmF0ZWRWYWx1ZSBOYW1lPSJWbGFuQmxvY2tlZE9uRWdyZXNzIiBWYWx1ZT0iMTciIC8+DQogICAg\nPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iVmxhblRhZ2dpbmdEaXNhYmxlZE9uRWdyZXNzIiBW\nYWx1ZT0iMTgiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iU3JDbGFzc1ByaW9y\naXR5TWlzbWF0Y2giIFZhbHVlPSIxOSIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1l\nPSJGZWF0dXJlTm90UHJvcGFnYXRlZCIgVmFsdWU9IjIwIiAvPg0KICAgIDxvcGM6RW51bWVyYXRl\nZFZhbHVlIE5hbWU9Ik1heExhdGVuY3lFeGNlZWRlZCIgVmFsdWU9IjIxIiAvPg0KICAgIDxvcGM6\nRW51bWVyYXRlZFZhbHVlIE5hbWU9IkJyaWRnZURvZXNOb3RQcm92aWRlTmV0d29ya0lkIiBWYWx1\nZT0iMjIiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iU3RyZWFtVHJhbnNmb3Jt\nTm90U3VwcG9ydGVkIiBWYWx1ZT0iMjMiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFt\nZT0iU3RyZWFtSWRUeXBlTm90U3VwcG9ydGVkIiBWYWx1ZT0iMjQiIC8+DQogICAgPG9wYzpFbnVt\nZXJhdGVkVmFsdWUgTmFtZT0iRmVhdHVyZU5vdFN1cHBvcnRlZCIgVmFsdWU9IjI1IiAvPg0KICA8\nL29wYzpFbnVtZXJhdGVkVHlwZT4NCg0KICA8b3BjOkVudW1lcmF0ZWRUeXBlIE5hbWU9IlRzblN0\ncmVhbVN0YXRlIiBMZW5ndGhJbkJpdHM9IjMyIj4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBO\nYW1lPSJEaXNhYmxlZCIgVmFsdWU9IjAiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFt\nZT0iQ29uZmlndXJpbmciIFZhbHVlPSIxIiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5h\nbWU9IlJlYWR5IiBWYWx1ZT0iMiIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJP\ncGVyYXRpb25hbCIgVmFsdWU9IjMiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0i\nRXJyb3IiIFZhbHVlPSI0IiAvPg0KICA8L29wYzpFbnVtZXJhdGVkVHlwZT4NCg0KICA8b3BjOkVu\ndW1lcmF0ZWRUeXBlIE5hbWU9IlRzblRhbGtlclN0YXR1cyIgTGVuZ3RoSW5CaXRzPSIzMiI+DQog\nICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iTm9uZSIgVmFsdWU9IjAiIC8+DQogICAgPG9w\nYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iUmVhZHkiIFZhbHVlPSIxIiAvPg0KICAgIDxvcGM6RW51\nbWVyYXRlZFZhbHVlIE5hbWU9IkZhaWxlZCIgVmFsdWU9IjIiIC8+DQogIDwvb3BjOkVudW1lcmF0\nZWRUeXBlPg0KDQogIDxvcGM6RW51bWVyYXRlZFR5cGUgTmFtZT0iVHNuTGlzdGVuZXJTdGF0dXMi\nIExlbmd0aEluQml0cz0iMzIiPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9Ik5vbmUi\nIFZhbHVlPSIwIiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IlJlYWR5IiBWYWx1\nZT0iMSIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJQYXJ0aWFsRmFpbGVkIiBW\nYWx1ZT0iMiIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJGYWlsZWQiIFZhbHVl\nPSIzIiAvPg0KICA8L29wYzpFbnVtZXJhdGVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBl\nIE5hbWU9IlVuc2lnbmVkUmF0aW9uYWxOdW1iZXIiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmpl\nY3QiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTnVtZXJhdG9yIiBUeXBlTmFtZT0ib3BjOlVJbnQz\nMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkRlbm9taW5hdG9yIiBUeXBlTmFtZT0ib3BjOlVJ\nbnQzMiIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpFbnVtZXJhdGVkVHlw\nZSBOYW1lPSJJZFR5cGUiIExlbmd0aEluQml0cz0iMzIiPg0KICAgIDxvcGM6RW51bWVyYXRlZFZh\nbHVlIE5hbWU9Ik51bWVyaWMiIFZhbHVlPSIwIiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVl\nIE5hbWU9IlN0cmluZyIgVmFsdWU9IjEiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFt\nZT0iR3VpZCIgVmFsdWU9IjIiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iT3Bh\ncXVlIiBWYWx1ZT0iMyIgLz4NCiAgPC9vcGM6RW51bWVyYXRlZFR5cGU+DQoNCiAgPG9wYzpFbnVt\nZXJhdGVkVHlwZSBOYW1lPSJOb2RlQ2xhc3MiIExlbmd0aEluQml0cz0iMzIiPg0KICAgIDxvcGM6\nRW51bWVyYXRlZFZhbHVlIE5hbWU9IlVuc3BlY2lmaWVkIiBWYWx1ZT0iMCIgLz4NCiAgICA8b3Bj\nOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJPYmplY3QiIFZhbHVlPSIxIiAvPg0KICAgIDxvcGM6RW51\nbWVyYXRlZFZhbHVlIE5hbWU9IlZhcmlhYmxlIiBWYWx1ZT0iMiIgLz4NCiAgICA8b3BjOkVudW1l\ncmF0ZWRWYWx1ZSBOYW1lPSJNZXRob2QiIFZhbHVlPSI0IiAvPg0KICAgIDxvcGM6RW51bWVyYXRl\nZFZhbHVlIE5hbWU9Ik9iamVjdFR5cGUiIFZhbHVlPSI4IiAvPg0KICAgIDxvcGM6RW51bWVyYXRl\nZFZhbHVlIE5hbWU9IlZhcmlhYmxlVHlwZSIgVmFsdWU9IjE2IiAvPg0KICAgIDxvcGM6RW51bWVy\nYXRlZFZhbHVlIE5hbWU9IlJlZmVyZW5jZVR5cGUiIFZhbHVlPSIzMiIgLz4NCiAgICA8b3BjOkVu\ndW1lcmF0ZWRWYWx1ZSBOYW1lPSJEYXRhVHlwZSIgVmFsdWU9IjY0IiAvPg0KICAgIDxvcGM6RW51\nbWVyYXRlZFZhbHVlIE5hbWU9IlZpZXciIFZhbHVlPSIxMjgiIC8+DQogIDwvb3BjOkVudW1lcmF0\nZWRUeXBlPg0KDQogIDxvcGM6RW51bWVyYXRlZFR5cGUgTmFtZT0iUGVybWlzc2lvblR5cGUiIExl\nbmd0aEluQml0cz0iMzIiIElzT3B0aW9uU2V0PSJ0cnVlIj4NCiAgICA8b3BjOkVudW1lcmF0ZWRW\nYWx1ZSBOYW1lPSJOb25lIiBWYWx1ZT0iMCIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBO\nYW1lPSJCcm93c2UiIFZhbHVlPSIxIiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9\nIlJlYWRSb2xlUGVybWlzc2lvbnMiIFZhbHVlPSIyIiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZh\nbHVlIE5hbWU9IldyaXRlQXR0cmlidXRlIiBWYWx1ZT0iNCIgLz4NCiAgICA8b3BjOkVudW1lcmF0\nZWRWYWx1ZSBOYW1lPSJXcml0ZVJvbGVQZXJtaXNzaW9ucyIgVmFsdWU9IjgiIC8+DQogICAgPG9w\nYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iV3JpdGVIaXN0b3JpemluZyIgVmFsdWU9IjE2IiAvPg0K\nICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IlJlYWQiIFZhbHVlPSIzMiIgLz4NCiAgICA8\nb3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJXcml0ZSIgVmFsdWU9IjY0IiAvPg0KICAgIDxvcGM6\nRW51bWVyYXRlZFZhbHVlIE5hbWU9IlJlYWRIaXN0b3J5IiBWYWx1ZT0iMTI4IiAvPg0KICAgIDxv\ncGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9Ikluc2VydEhpc3RvcnkiIFZhbHVlPSIyNTYiIC8+DQog\nICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iTW9kaWZ5SGlzdG9yeSIgVmFsdWU9IjUxMiIg\nLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJEZWxldGVIaXN0b3J5IiBWYWx1ZT0i\nMTAyNCIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJSZWNlaXZlRXZlbnRzIiBW\nYWx1ZT0iMjA0OCIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJDYWxsIiBWYWx1\nZT0iNDA5NiIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJBZGRSZWZlcmVuY2Ui\nIFZhbHVlPSI4MTkyIiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IlJlbW92ZVJl\nZmVyZW5jZSIgVmFsdWU9IjE2Mzg0IiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9\nIkRlbGV0ZU5vZGUiIFZhbHVlPSIzMjc2OCIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBO\nYW1lPSJBZGROb2RlIiBWYWx1ZT0iNjU1MzYiIC8+DQogIDwvb3BjOkVudW1lcmF0ZWRUeXBlPg0K\nDQogIDxvcGM6RW51bWVyYXRlZFR5cGUgTmFtZT0iQWNjZXNzTGV2ZWxUeXBlIiBMZW5ndGhJbkJp\ndHM9IjgiIElzT3B0aW9uU2V0PSJ0cnVlIj4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1l\nPSJOb25lIiBWYWx1ZT0iMCIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJDdXJy\nZW50UmVhZCIgVmFsdWU9IjEiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iQ3Vy\ncmVudFdyaXRlIiBWYWx1ZT0iMiIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJI\naXN0b3J5UmVhZCIgVmFsdWU9IjQiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0i\nSGlzdG9yeVdyaXRlIiBWYWx1ZT0iOCIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1l\nPSJTZW1hbnRpY0NoYW5nZSIgVmFsdWU9IjE2IiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVl\nIE5hbWU9IlN0YXR1c1dyaXRlIiBWYWx1ZT0iMzIiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFs\ndWUgTmFtZT0iVGltZXN0YW1wV3JpdGUiIFZhbHVlPSI2NCIgLz4NCiAgPC9vcGM6RW51bWVyYXRl\nZFR5cGU+DQoNCiAgPG9wYzpFbnVtZXJhdGVkVHlwZSBOYW1lPSJBY2Nlc3NMZXZlbEV4VHlwZSIg\nTGVuZ3RoSW5CaXRzPSIzMiIgSXNPcHRpb25TZXQ9InRydWUiPg0KICAgIDxvcGM6RW51bWVyYXRl\nZFZhbHVlIE5hbWU9Ik5vbmUiIFZhbHVlPSIwIiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVl\nIE5hbWU9IkN1cnJlbnRSZWFkIiBWYWx1ZT0iMSIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1\nZSBOYW1lPSJDdXJyZW50V3JpdGUiIFZhbHVlPSIyIiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZh\nbHVlIE5hbWU9Ikhpc3RvcnlSZWFkIiBWYWx1ZT0iNCIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRW\nYWx1ZSBOYW1lPSJIaXN0b3J5V3JpdGUiIFZhbHVlPSI4IiAvPg0KICAgIDxvcGM6RW51bWVyYXRl\nZFZhbHVlIE5hbWU9IlNlbWFudGljQ2hhbmdlIiBWYWx1ZT0iMTYiIC8+DQogICAgPG9wYzpFbnVt\nZXJhdGVkVmFsdWUgTmFtZT0iU3RhdHVzV3JpdGUiIFZhbHVlPSIzMiIgLz4NCiAgICA8b3BjOkVu\ndW1lcmF0ZWRWYWx1ZSBOYW1lPSJUaW1lc3RhbXBXcml0ZSIgVmFsdWU9IjY0IiAvPg0KICAgIDxv\ncGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9Ik5vbmF0b21pY1JlYWQiIFZhbHVlPSIyNTYiIC8+DQog\nICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iTm9uYXRvbWljV3JpdGUiIFZhbHVlPSI1MTIi\nIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iV3JpdGVGdWxsQXJyYXlPbmx5IiBW\nYWx1ZT0iMTAyNCIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJOb1N1YkRhdGFU\neXBlcyIgVmFsdWU9IjIwNDgiIC8+DQogIDwvb3BjOkVudW1lcmF0ZWRUeXBlPg0KDQogIDxvcGM6\nRW51bWVyYXRlZFR5cGUgTmFtZT0iRXZlbnROb3RpZmllclR5cGUiIExlbmd0aEluQml0cz0iOCIg\nSXNPcHRpb25TZXQ9InRydWUiPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9Ik5vbmUi\nIFZhbHVlPSIwIiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IlN1YnNjcmliZVRv\nRXZlbnRzIiBWYWx1ZT0iMSIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJIaXN0\nb3J5UmVhZCIgVmFsdWU9IjQiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iSGlz\ndG9yeVdyaXRlIiBWYWx1ZT0iOCIgLz4NCiAgPC9vcGM6RW51bWVyYXRlZFR5cGU+DQoNCiAgPG9w\nYzpFbnVtZXJhdGVkVHlwZSBOYW1lPSJBY2Nlc3NSZXN0cmljdGlvblR5cGUiIExlbmd0aEluQml0\ncz0iMTYiIElzT3B0aW9uU2V0PSJ0cnVlIj4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1l\nPSJOb25lIiBWYWx1ZT0iMCIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJTaWdu\naW5nUmVxdWlyZWQiIFZhbHVlPSIxIiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9\nIkVuY3J5cHRpb25SZXF1aXJlZCIgVmFsdWU9IjIiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFs\ndWUgTmFtZT0iU2Vzc2lvblJlcXVpcmVkIiBWYWx1ZT0iNCIgLz4NCiAgICA8b3BjOkVudW1lcmF0\nZWRWYWx1ZSBOYW1lPSJBcHBseVJlc3RyaWN0aW9uc1RvQnJvd3NlIiBWYWx1ZT0iOCIgLz4NCiAg\nPC9vcGM6RW51bWVyYXRlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJSb2xl\nUGVybWlzc2lvblR5cGUiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6\nRmllbGQgTmFtZT0iUm9sZUlkIiBUeXBlTmFtZT0idWE6Tm9kZUlkIiAvPg0KICAgIDxvcGM6Rmll\nbGQgTmFtZT0iUGVybWlzc2lvbnMiIFR5cGVOYW1lPSJ0bnM6UGVybWlzc2lvblR5cGUiIC8+DQog\nIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iRGF0\nYVR5cGVEZWZpbml0aW9uIiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgPC9vcGM6\nU3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpFbnVtZXJhdGVkVHlwZSBOYW1lPSJTdHJ1Y3R1cmVU\neXBlIiBMZW5ndGhJbkJpdHM9IjMyIj4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJT\ndHJ1Y3R1cmUiIFZhbHVlPSIwIiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IlN0\ncnVjdHVyZVdpdGhPcHRpb25hbEZpZWxkcyIgVmFsdWU9IjEiIC8+DQogICAgPG9wYzpFbnVtZXJh\ndGVkVmFsdWUgTmFtZT0iVW5pb24iIFZhbHVlPSIyIiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZh\nbHVlIE5hbWU9IlN0cnVjdHVyZVdpdGhTdWJ0eXBlZFZhbHVlcyIgVmFsdWU9IjMiIC8+DQogICAg\nPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iVW5pb25XaXRoU3VidHlwZWRWYWx1ZXMiIFZhbHVl\nPSI0IiAvPg0KICA8L29wYzpFbnVtZXJhdGVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBl\nIE5hbWU9IlN0cnVjdHVyZUZpZWxkIiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAg\nICA8b3BjOkZpZWxkIE5hbWU9Ik5hbWUiIFR5cGVOYW1lPSJvcGM6U3RyaW5nIiAvPg0KICAgIDxv\ncGM6RmllbGQgTmFtZT0iRGVzY3JpcHRpb24iIFR5cGVOYW1lPSJ1YTpMb2NhbGl6ZWRUZXh0IiAv\nPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRGF0YVR5cGUiIFR5cGVOYW1lPSJ1YTpOb2RlSWQiIC8+\nDQogICAgPG9wYzpGaWVsZCBOYW1lPSJWYWx1ZVJhbmsiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+\nDQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mQXJyYXlEaW1lbnNpb25zIiBUeXBlTmFtZT0ib3Bj\nOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iQXJyYXlEaW1lbnNpb25zIiBUeXBlTmFt\nZT0ib3BjOlVJbnQzMiIgTGVuZ3RoRmllbGQ9Ik5vT2ZBcnJheURpbWVuc2lvbnMiIC8+DQogICAg\nPG9wYzpGaWVsZCBOYW1lPSJNYXhTdHJpbmdMZW5ndGgiIFR5cGVOYW1lPSJvcGM6VUludDMyIiAv\nPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iSXNPcHRpb25hbCIgVHlwZU5hbWU9Im9wYzpCb29sZWFu\nIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5h\nbWU9IlN0cnVjdHVyZURlZmluaXRpb24iIEJhc2VUeXBlPSJ0bnM6RGF0YVR5cGVEZWZpbml0aW9u\nIj4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkRlZmF1bHRFbmNvZGluZ0lkIiBUeXBlTmFtZT0idWE6\nTm9kZUlkIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iQmFzZURhdGFUeXBlIiBUeXBlTmFtZT0i\ndWE6Tm9kZUlkIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU3RydWN0dXJlVHlwZSIgVHlwZU5h\nbWU9InRuczpTdHJ1Y3R1cmVUeXBlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZkZpZWxk\ncyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkZpZWxkcyIg\nVHlwZU5hbWU9InRuczpTdHJ1Y3R1cmVGaWVsZCIgTGVuZ3RoRmllbGQ9Ik5vT2ZGaWVsZHMiIC8+\nDQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0i\nRW51bURlZmluaXRpb24iIEJhc2VUeXBlPSJ0bnM6RGF0YVR5cGVEZWZpbml0aW9uIj4NCiAgICA8\nb3BjOkZpZWxkIE5hbWU9Ik5vT2ZGaWVsZHMiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAg\nPG9wYzpGaWVsZCBOYW1lPSJGaWVsZHMiIFR5cGVOYW1lPSJ0bnM6RW51bUZpZWxkIiBMZW5ndGhG\naWVsZD0iTm9PZkZpZWxkcyIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpT\ndHJ1Y3R1cmVkVHlwZSBOYW1lPSJOb2RlIiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4N\nCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vZGVJZCIgVHlwZU5hbWU9InVhOk5vZGVJZCIgLz4NCiAg\nICA8b3BjOkZpZWxkIE5hbWU9Ik5vZGVDbGFzcyIgVHlwZU5hbWU9InRuczpOb2RlQ2xhc3MiIC8+\nDQogICAgPG9wYzpGaWVsZCBOYW1lPSJCcm93c2VOYW1lIiBUeXBlTmFtZT0idWE6UXVhbGlmaWVk\nTmFtZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkRpc3BsYXlOYW1lIiBUeXBlTmFtZT0idWE6\nTG9jYWxpemVkVGV4dCIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkRlc2NyaXB0aW9uIiBUeXBl\nTmFtZT0idWE6TG9jYWxpemVkVGV4dCIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IldyaXRlTWFz\nayIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJVc2VyV3Jp\ndGVNYXNrIiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5v\nT2ZSb2xlUGVybWlzc2lvbnMiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVs\nZCBOYW1lPSJSb2xlUGVybWlzc2lvbnMiIFR5cGVOYW1lPSJ0bnM6Um9sZVBlcm1pc3Npb25UeXBl\nIiBMZW5ndGhGaWVsZD0iTm9PZlJvbGVQZXJtaXNzaW9ucyIgLz4NCiAgICA8b3BjOkZpZWxkIE5h\nbWU9Ik5vT2ZVc2VyUm9sZVBlcm1pc3Npb25zIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAg\nIDxvcGM6RmllbGQgTmFtZT0iVXNlclJvbGVQZXJtaXNzaW9ucyIgVHlwZU5hbWU9InRuczpSb2xl\nUGVybWlzc2lvblR5cGUiIExlbmd0aEZpZWxkPSJOb09mVXNlclJvbGVQZXJtaXNzaW9ucyIgLz4N\nCiAgICA8b3BjOkZpZWxkIE5hbWU9IkFjY2Vzc1Jlc3RyaWN0aW9ucyIgVHlwZU5hbWU9Im9wYzpV\nSW50MTYiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mUmVmZXJlbmNlcyIgVHlwZU5hbWU9\nIm9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlZmVyZW5jZXMiIFR5cGVOYW1l\nPSJ0bnM6UmVmZXJlbmNlTm9kZSIgTGVuZ3RoRmllbGQ9Ik5vT2ZSZWZlcmVuY2VzIiAvPg0KICA8\nL29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9Ikluc3Rh\nbmNlTm9kZSIgQmFzZVR5cGU9InRuczpOb2RlIj4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vZGVJ\nZCIgVHlwZU5hbWU9InVhOk5vZGVJZCIgU291cmNlVHlwZT0idG5zOk5vZGUiIC8+DQogICAgPG9w\nYzpGaWVsZCBOYW1lPSJOb2RlQ2xhc3MiIFR5cGVOYW1lPSJ0bnM6Tm9kZUNsYXNzIiBTb3VyY2VU\neXBlPSJ0bnM6Tm9kZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkJyb3dzZU5hbWUiIFR5cGVO\nYW1lPSJ1YTpRdWFsaWZpZWROYW1lIiBTb3VyY2VUeXBlPSJ0bnM6Tm9kZSIgLz4NCiAgICA8b3Bj\nOkZpZWxkIE5hbWU9IkRpc3BsYXlOYW1lIiBUeXBlTmFtZT0idWE6TG9jYWxpemVkVGV4dCIgU291\ncmNlVHlwZT0idG5zOk5vZGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJEZXNjcmlwdGlvbiIg\nVHlwZU5hbWU9InVhOkxvY2FsaXplZFRleHQiIFNvdXJjZVR5cGU9InRuczpOb2RlIiAvPg0KICAg\nIDxvcGM6RmllbGQgTmFtZT0iV3JpdGVNYXNrIiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgU291cmNl\nVHlwZT0idG5zOk5vZGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJVc2VyV3JpdGVNYXNrIiBU\neXBlTmFtZT0ib3BjOlVJbnQzMiIgU291cmNlVHlwZT0idG5zOk5vZGUiIC8+DQogICAgPG9wYzpG\naWVsZCBOYW1lPSJOb09mUm9sZVBlcm1pc3Npb25zIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0K\nICAgIDxvcGM6RmllbGQgTmFtZT0iUm9sZVBlcm1pc3Npb25zIiBUeXBlTmFtZT0idG5zOlJvbGVQ\nZXJtaXNzaW9uVHlwZSIgTGVuZ3RoRmllbGQ9Ik5vT2ZSb2xlUGVybWlzc2lvbnMiIC8+DQogICAg\nPG9wYzpGaWVsZCBOYW1lPSJOb09mVXNlclJvbGVQZXJtaXNzaW9ucyIgVHlwZU5hbWU9Im9wYzpJ\nbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlVzZXJSb2xlUGVybWlzc2lvbnMiIFR5cGVO\nYW1lPSJ0bnM6Um9sZVBlcm1pc3Npb25UeXBlIiBMZW5ndGhGaWVsZD0iTm9PZlVzZXJSb2xlUGVy\nbWlzc2lvbnMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJBY2Nlc3NSZXN0cmljdGlvbnMiIFR5\ncGVOYW1lPSJvcGM6VUludDE2IiBTb3VyY2VUeXBlPSJ0bnM6Tm9kZSIgLz4NCiAgICA8b3BjOkZp\nZWxkIE5hbWU9Ik5vT2ZSZWZlcmVuY2VzIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxv\ncGM6RmllbGQgTmFtZT0iUmVmZXJlbmNlcyIgVHlwZU5hbWU9InRuczpSZWZlcmVuY2VOb2RlIiBM\nZW5ndGhGaWVsZD0iTm9PZlJlZmVyZW5jZXMiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0K\nDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iVHlwZU5vZGUiIEJhc2VUeXBlPSJ0bnM6Tm9k\nZSI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb2RlSWQiIFR5cGVOYW1lPSJ1YTpOb2RlSWQiIFNv\ndXJjZVR5cGU9InRuczpOb2RlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9kZUNsYXNzIiBU\neXBlTmFtZT0idG5zOk5vZGVDbGFzcyIgU291cmNlVHlwZT0idG5zOk5vZGUiIC8+DQogICAgPG9w\nYzpGaWVsZCBOYW1lPSJCcm93c2VOYW1lIiBUeXBlTmFtZT0idWE6UXVhbGlmaWVkTmFtZSIgU291\ncmNlVHlwZT0idG5zOk5vZGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJEaXNwbGF5TmFtZSIg\nVHlwZU5hbWU9InVhOkxvY2FsaXplZFRleHQiIFNvdXJjZVR5cGU9InRuczpOb2RlIiAvPg0KICAg\nIDxvcGM6RmllbGQgTmFtZT0iRGVzY3JpcHRpb24iIFR5cGVOYW1lPSJ1YTpMb2NhbGl6ZWRUZXh0\nIiBTb3VyY2VUeXBlPSJ0bnM6Tm9kZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IldyaXRlTWFz\nayIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIFNvdXJjZVR5cGU9InRuczpOb2RlIiAvPg0KICAgIDxv\ncGM6RmllbGQgTmFtZT0iVXNlcldyaXRlTWFzayIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIFNvdXJj\nZVR5cGU9InRuczpOb2RlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZlJvbGVQZXJtaXNz\naW9ucyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJvbGVQ\nZXJtaXNzaW9ucyIgVHlwZU5hbWU9InRuczpSb2xlUGVybWlzc2lvblR5cGUiIExlbmd0aEZpZWxk\nPSJOb09mUm9sZVBlcm1pc3Npb25zIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZlVzZXJS\nb2xlUGVybWlzc2lvbnMiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBO\nYW1lPSJVc2VyUm9sZVBlcm1pc3Npb25zIiBUeXBlTmFtZT0idG5zOlJvbGVQZXJtaXNzaW9uVHlw\nZSIgTGVuZ3RoRmllbGQ9Ik5vT2ZVc2VyUm9sZVBlcm1pc3Npb25zIiAvPg0KICAgIDxvcGM6Rmll\nbGQgTmFtZT0iQWNjZXNzUmVzdHJpY3Rpb25zIiBUeXBlTmFtZT0ib3BjOlVJbnQxNiIgU291cmNl\nVHlwZT0idG5zOk5vZGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mUmVmZXJlbmNlcyIg\nVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlZmVyZW5jZXMi\nIFR5cGVOYW1lPSJ0bnM6UmVmZXJlbmNlTm9kZSIgTGVuZ3RoRmllbGQ9Ik5vT2ZSZWZlcmVuY2Vz\nIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5h\nbWU9Ik9iamVjdE5vZGUiIEJhc2VUeXBlPSJ0bnM6SW5zdGFuY2VOb2RlIj4NCiAgICA8b3BjOkZp\nZWxkIE5hbWU9Ik5vZGVJZCIgVHlwZU5hbWU9InVhOk5vZGVJZCIgU291cmNlVHlwZT0idG5zOk5v\nZGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb2RlQ2xhc3MiIFR5cGVOYW1lPSJ0bnM6Tm9k\nZUNsYXNzIiBTb3VyY2VUeXBlPSJ0bnM6Tm9kZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkJy\nb3dzZU5hbWUiIFR5cGVOYW1lPSJ1YTpRdWFsaWZpZWROYW1lIiBTb3VyY2VUeXBlPSJ0bnM6Tm9k\nZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkRpc3BsYXlOYW1lIiBUeXBlTmFtZT0idWE6TG9j\nYWxpemVkVGV4dCIgU291cmNlVHlwZT0idG5zOk5vZGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1l\nPSJEZXNjcmlwdGlvbiIgVHlwZU5hbWU9InVhOkxvY2FsaXplZFRleHQiIFNvdXJjZVR5cGU9InRu\nczpOb2RlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iV3JpdGVNYXNrIiBUeXBlTmFtZT0ib3Bj\nOlVJbnQzMiIgU291cmNlVHlwZT0idG5zOk5vZGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJV\nc2VyV3JpdGVNYXNrIiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgU291cmNlVHlwZT0idG5zOk5vZGUi\nIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mUm9sZVBlcm1pc3Npb25zIiBUeXBlTmFtZT0i\nb3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUm9sZVBlcm1pc3Npb25zIiBUeXBl\nTmFtZT0idG5zOlJvbGVQZXJtaXNzaW9uVHlwZSIgTGVuZ3RoRmllbGQ9Ik5vT2ZSb2xlUGVybWlz\nc2lvbnMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mVXNlclJvbGVQZXJtaXNzaW9ucyIg\nVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlVzZXJSb2xlUGVy\nbWlzc2lvbnMiIFR5cGVOYW1lPSJ0bnM6Um9sZVBlcm1pc3Npb25UeXBlIiBMZW5ndGhGaWVsZD0i\nTm9PZlVzZXJSb2xlUGVybWlzc2lvbnMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJBY2Nlc3NS\nZXN0cmljdGlvbnMiIFR5cGVOYW1lPSJvcGM6VUludDE2IiBTb3VyY2VUeXBlPSJ0bnM6Tm9kZSIg\nLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZSZWZlcmVuY2VzIiBUeXBlTmFtZT0ib3BjOklu\ndDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVmZXJlbmNlcyIgVHlwZU5hbWU9InRuczpS\nZWZlcmVuY2VOb2RlIiBMZW5ndGhGaWVsZD0iTm9PZlJlZmVyZW5jZXMiIC8+DQogICAgPG9wYzpG\naWVsZCBOYW1lPSJFdmVudE5vdGlmaWVyIiBUeXBlTmFtZT0ib3BjOkJ5dGUiIC8+DQogIDwvb3Bj\nOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iT2JqZWN0VHlw\nZU5vZGUiIEJhc2VUeXBlPSJ0bnM6VHlwZU5vZGUiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9k\nZUlkIiBUeXBlTmFtZT0idWE6Tm9kZUlkIiBTb3VyY2VUeXBlPSJ0bnM6Tm9kZSIgLz4NCiAgICA8\nb3BjOkZpZWxkIE5hbWU9Ik5vZGVDbGFzcyIgVHlwZU5hbWU9InRuczpOb2RlQ2xhc3MiIFNvdXJj\nZVR5cGU9InRuczpOb2RlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iQnJvd3NlTmFtZSIgVHlw\nZU5hbWU9InVhOlF1YWxpZmllZE5hbWUiIFNvdXJjZVR5cGU9InRuczpOb2RlIiAvPg0KICAgIDxv\ncGM6RmllbGQgTmFtZT0iRGlzcGxheU5hbWUiIFR5cGVOYW1lPSJ1YTpMb2NhbGl6ZWRUZXh0IiBT\nb3VyY2VUeXBlPSJ0bnM6Tm9kZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkRlc2NyaXB0aW9u\nIiBUeXBlTmFtZT0idWE6TG9jYWxpemVkVGV4dCIgU291cmNlVHlwZT0idG5zOk5vZGUiIC8+DQog\nICAgPG9wYzpGaWVsZCBOYW1lPSJXcml0ZU1hc2siIFR5cGVOYW1lPSJvcGM6VUludDMyIiBTb3Vy\nY2VUeXBlPSJ0bnM6Tm9kZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlVzZXJXcml0ZU1hc2si\nIFR5cGVOYW1lPSJvcGM6VUludDMyIiBTb3VyY2VUeXBlPSJ0bnM6Tm9kZSIgLz4NCiAgICA8b3Bj\nOkZpZWxkIE5hbWU9Ik5vT2ZSb2xlUGVybWlzc2lvbnMiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+\nDQogICAgPG9wYzpGaWVsZCBOYW1lPSJSb2xlUGVybWlzc2lvbnMiIFR5cGVOYW1lPSJ0bnM6Um9s\nZVBlcm1pc3Npb25UeXBlIiBMZW5ndGhGaWVsZD0iTm9PZlJvbGVQZXJtaXNzaW9ucyIgLz4NCiAg\nICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZVc2VyUm9sZVBlcm1pc3Npb25zIiBUeXBlTmFtZT0ib3Bj\nOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iVXNlclJvbGVQZXJtaXNzaW9ucyIgVHlw\nZU5hbWU9InRuczpSb2xlUGVybWlzc2lvblR5cGUiIExlbmd0aEZpZWxkPSJOb09mVXNlclJvbGVQ\nZXJtaXNzaW9ucyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkFjY2Vzc1Jlc3RyaWN0aW9ucyIg\nVHlwZU5hbWU9Im9wYzpVSW50MTYiIFNvdXJjZVR5cGU9InRuczpOb2RlIiAvPg0KICAgIDxvcGM6\nRmllbGQgTmFtZT0iTm9PZlJlZmVyZW5jZXMiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAg\nPG9wYzpGaWVsZCBOYW1lPSJSZWZlcmVuY2VzIiBUeXBlTmFtZT0idG5zOlJlZmVyZW5jZU5vZGUi\nIExlbmd0aEZpZWxkPSJOb09mUmVmZXJlbmNlcyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Iklz\nQWJzdHJhY3QiIFR5cGVOYW1lPSJvcGM6Qm9vbGVhbiIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5\ncGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJWYXJpYWJsZU5vZGUiIEJhc2VUeXBl\nPSJ0bnM6SW5zdGFuY2VOb2RlIj4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vZGVJZCIgVHlwZU5h\nbWU9InVhOk5vZGVJZCIgU291cmNlVHlwZT0idG5zOk5vZGUiIC8+DQogICAgPG9wYzpGaWVsZCBO\nYW1lPSJOb2RlQ2xhc3MiIFR5cGVOYW1lPSJ0bnM6Tm9kZUNsYXNzIiBTb3VyY2VUeXBlPSJ0bnM6\nTm9kZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkJyb3dzZU5hbWUiIFR5cGVOYW1lPSJ1YTpR\ndWFsaWZpZWROYW1lIiBTb3VyY2VUeXBlPSJ0bnM6Tm9kZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5h\nbWU9IkRpc3BsYXlOYW1lIiBUeXBlTmFtZT0idWE6TG9jYWxpemVkVGV4dCIgU291cmNlVHlwZT0i\ndG5zOk5vZGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJEZXNjcmlwdGlvbiIgVHlwZU5hbWU9\nInVhOkxvY2FsaXplZFRleHQiIFNvdXJjZVR5cGU9InRuczpOb2RlIiAvPg0KICAgIDxvcGM6Rmll\nbGQgTmFtZT0iV3JpdGVNYXNrIiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgU291cmNlVHlwZT0idG5z\nOk5vZGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJVc2VyV3JpdGVNYXNrIiBUeXBlTmFtZT0i\nb3BjOlVJbnQzMiIgU291cmNlVHlwZT0idG5zOk5vZGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1l\nPSJOb09mUm9sZVBlcm1pc3Npb25zIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6\nRmllbGQgTmFtZT0iUm9sZVBlcm1pc3Npb25zIiBUeXBlTmFtZT0idG5zOlJvbGVQZXJtaXNzaW9u\nVHlwZSIgTGVuZ3RoRmllbGQ9Ik5vT2ZSb2xlUGVybWlzc2lvbnMiIC8+DQogICAgPG9wYzpGaWVs\nZCBOYW1lPSJOb09mVXNlclJvbGVQZXJtaXNzaW9ucyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4N\nCiAgICA8b3BjOkZpZWxkIE5hbWU9IlVzZXJSb2xlUGVybWlzc2lvbnMiIFR5cGVOYW1lPSJ0bnM6\nUm9sZVBlcm1pc3Npb25UeXBlIiBMZW5ndGhGaWVsZD0iTm9PZlVzZXJSb2xlUGVybWlzc2lvbnMi\nIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJBY2Nlc3NSZXN0cmljdGlvbnMiIFR5cGVOYW1lPSJv\ncGM6VUludDE2IiBTb3VyY2VUeXBlPSJ0bnM6Tm9kZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9\nIk5vT2ZSZWZlcmVuY2VzIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQg\nTmFtZT0iUmVmZXJlbmNlcyIgVHlwZU5hbWU9InRuczpSZWZlcmVuY2VOb2RlIiBMZW5ndGhGaWVs\nZD0iTm9PZlJlZmVyZW5jZXMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJWYWx1ZSIgVHlwZU5h\nbWU9InVhOlZhcmlhbnQiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJEYXRhVHlwZSIgVHlwZU5h\nbWU9InVhOk5vZGVJZCIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlZhbHVlUmFuayIgVHlwZU5h\nbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZBcnJheURpbWVuc2lv\nbnMiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJBcnJheURp\nbWVuc2lvbnMiIFR5cGVOYW1lPSJvcGM6VUludDMyIiBMZW5ndGhGaWVsZD0iTm9PZkFycmF5RGlt\nZW5zaW9ucyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkFjY2Vzc0xldmVsIiBUeXBlTmFtZT0i\nb3BjOkJ5dGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJVc2VyQWNjZXNzTGV2ZWwiIFR5cGVO\nYW1lPSJvcGM6Qnl0ZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik1pbmltdW1TYW1wbGluZ0lu\ndGVydmFsIiBUeXBlTmFtZT0ib3BjOkRvdWJsZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ikhp\nc3Rvcml6aW5nIiBUeXBlTmFtZT0ib3BjOkJvb2xlYW4iIC8+DQogICAgPG9wYzpGaWVsZCBOYW1l\nPSJBY2Nlc3NMZXZlbEV4IiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgLz4NCiAgPC9vcGM6U3RydWN0\ndXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJWYXJpYWJsZVR5cGVOb2Rl\nIiBCYXNlVHlwZT0idG5zOlR5cGVOb2RlIj4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vZGVJZCIg\nVHlwZU5hbWU9InVhOk5vZGVJZCIgU291cmNlVHlwZT0idG5zOk5vZGUiIC8+DQogICAgPG9wYzpG\naWVsZCBOYW1lPSJOb2RlQ2xhc3MiIFR5cGVOYW1lPSJ0bnM6Tm9kZUNsYXNzIiBTb3VyY2VUeXBl\nPSJ0bnM6Tm9kZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkJyb3dzZU5hbWUiIFR5cGVOYW1l\nPSJ1YTpRdWFsaWZpZWROYW1lIiBTb3VyY2VUeXBlPSJ0bnM6Tm9kZSIgLz4NCiAgICA8b3BjOkZp\nZWxkIE5hbWU9IkRpc3BsYXlOYW1lIiBUeXBlTmFtZT0idWE6TG9jYWxpemVkVGV4dCIgU291cmNl\nVHlwZT0idG5zOk5vZGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJEZXNjcmlwdGlvbiIgVHlw\nZU5hbWU9InVhOkxvY2FsaXplZFRleHQiIFNvdXJjZVR5cGU9InRuczpOb2RlIiAvPg0KICAgIDxv\ncGM6RmllbGQgTmFtZT0iV3JpdGVNYXNrIiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgU291cmNlVHlw\nZT0idG5zOk5vZGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJVc2VyV3JpdGVNYXNrIiBUeXBl\nTmFtZT0ib3BjOlVJbnQzMiIgU291cmNlVHlwZT0idG5zOk5vZGUiIC8+DQogICAgPG9wYzpGaWVs\nZCBOYW1lPSJOb09mUm9sZVBlcm1pc3Npb25zIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAg\nIDxvcGM6RmllbGQgTmFtZT0iUm9sZVBlcm1pc3Npb25zIiBUeXBlTmFtZT0idG5zOlJvbGVQZXJt\naXNzaW9uVHlwZSIgTGVuZ3RoRmllbGQ9Ik5vT2ZSb2xlUGVybWlzc2lvbnMiIC8+DQogICAgPG9w\nYzpGaWVsZCBOYW1lPSJOb09mVXNlclJvbGVQZXJtaXNzaW9ucyIgVHlwZU5hbWU9Im9wYzpJbnQz\nMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlVzZXJSb2xlUGVybWlzc2lvbnMiIFR5cGVOYW1l\nPSJ0bnM6Um9sZVBlcm1pc3Npb25UeXBlIiBMZW5ndGhGaWVsZD0iTm9PZlVzZXJSb2xlUGVybWlz\nc2lvbnMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJBY2Nlc3NSZXN0cmljdGlvbnMiIFR5cGVO\nYW1lPSJvcGM6VUludDE2IiBTb3VyY2VUeXBlPSJ0bnM6Tm9kZSIgLz4NCiAgICA8b3BjOkZpZWxk\nIE5hbWU9Ik5vT2ZSZWZlcmVuY2VzIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6\nRmllbGQgTmFtZT0iUmVmZXJlbmNlcyIgVHlwZU5hbWU9InRuczpSZWZlcmVuY2VOb2RlIiBMZW5n\ndGhGaWVsZD0iTm9PZlJlZmVyZW5jZXMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJWYWx1ZSIg\nVHlwZU5hbWU9InVhOlZhcmlhbnQiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJEYXRhVHlwZSIg\nVHlwZU5hbWU9InVhOk5vZGVJZCIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlZhbHVlUmFuayIg\nVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZBcnJheURp\nbWVuc2lvbnMiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJB\ncnJheURpbWVuc2lvbnMiIFR5cGVOYW1lPSJvcGM6VUludDMyIiBMZW5ndGhGaWVsZD0iTm9PZkFy\ncmF5RGltZW5zaW9ucyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IklzQWJzdHJhY3QiIFR5cGVO\nYW1lPSJvcGM6Qm9vbGVhbiIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpT\ndHJ1Y3R1cmVkVHlwZSBOYW1lPSJSZWZlcmVuY2VUeXBlTm9kZSIgQmFzZVR5cGU9InRuczpUeXBl\nTm9kZSI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb2RlSWQiIFR5cGVOYW1lPSJ1YTpOb2RlSWQi\nIFNvdXJjZVR5cGU9InRuczpOb2RlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9kZUNsYXNz\nIiBUeXBlTmFtZT0idG5zOk5vZGVDbGFzcyIgU291cmNlVHlwZT0idG5zOk5vZGUiIC8+DQogICAg\nPG9wYzpGaWVsZCBOYW1lPSJCcm93c2VOYW1lIiBUeXBlTmFtZT0idWE6UXVhbGlmaWVkTmFtZSIg\nU291cmNlVHlwZT0idG5zOk5vZGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJEaXNwbGF5TmFt\nZSIgVHlwZU5hbWU9InVhOkxvY2FsaXplZFRleHQiIFNvdXJjZVR5cGU9InRuczpOb2RlIiAvPg0K\nICAgIDxvcGM6RmllbGQgTmFtZT0iRGVzY3JpcHRpb24iIFR5cGVOYW1lPSJ1YTpMb2NhbGl6ZWRU\nZXh0IiBTb3VyY2VUeXBlPSJ0bnM6Tm9kZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IldyaXRl\nTWFzayIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIFNvdXJjZVR5cGU9InRuczpOb2RlIiAvPg0KICAg\nIDxvcGM6RmllbGQgTmFtZT0iVXNlcldyaXRlTWFzayIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIFNv\ndXJjZVR5cGU9InRuczpOb2RlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZlJvbGVQZXJt\naXNzaW9ucyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJv\nbGVQZXJtaXNzaW9ucyIgVHlwZU5hbWU9InRuczpSb2xlUGVybWlzc2lvblR5cGUiIExlbmd0aEZp\nZWxkPSJOb09mUm9sZVBlcm1pc3Npb25zIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZlVz\nZXJSb2xlUGVybWlzc2lvbnMiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVs\nZCBOYW1lPSJVc2VyUm9sZVBlcm1pc3Npb25zIiBUeXBlTmFtZT0idG5zOlJvbGVQZXJtaXNzaW9u\nVHlwZSIgTGVuZ3RoRmllbGQ9Ik5vT2ZVc2VyUm9sZVBlcm1pc3Npb25zIiAvPg0KICAgIDxvcGM6\nRmllbGQgTmFtZT0iQWNjZXNzUmVzdHJpY3Rpb25zIiBUeXBlTmFtZT0ib3BjOlVJbnQxNiIgU291\ncmNlVHlwZT0idG5zOk5vZGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mUmVmZXJlbmNl\ncyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlZmVyZW5j\nZXMiIFR5cGVOYW1lPSJ0bnM6UmVmZXJlbmNlTm9kZSIgTGVuZ3RoRmllbGQ9Ik5vT2ZSZWZlcmVu\nY2VzIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iSXNBYnN0cmFjdCIgVHlwZU5hbWU9Im9wYzpC\nb29sZWFuIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU3ltbWV0cmljIiBUeXBlTmFtZT0ib3Bj\nOkJvb2xlYW4iIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJJbnZlcnNlTmFtZSIgVHlwZU5hbWU9\nInVhOkxvY2FsaXplZFRleHQiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6\nU3RydWN0dXJlZFR5cGUgTmFtZT0iTWV0aG9kTm9kZSIgQmFzZVR5cGU9InRuczpJbnN0YW5jZU5v\nZGUiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9kZUlkIiBUeXBlTmFtZT0idWE6Tm9kZUlkIiBT\nb3VyY2VUeXBlPSJ0bnM6Tm9kZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vZGVDbGFzcyIg\nVHlwZU5hbWU9InRuczpOb2RlQ2xhc3MiIFNvdXJjZVR5cGU9InRuczpOb2RlIiAvPg0KICAgIDxv\ncGM6RmllbGQgTmFtZT0iQnJvd3NlTmFtZSIgVHlwZU5hbWU9InVhOlF1YWxpZmllZE5hbWUiIFNv\ndXJjZVR5cGU9InRuczpOb2RlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRGlzcGxheU5hbWUi\nIFR5cGVOYW1lPSJ1YTpMb2NhbGl6ZWRUZXh0IiBTb3VyY2VUeXBlPSJ0bnM6Tm9kZSIgLz4NCiAg\nICA8b3BjOkZpZWxkIE5hbWU9IkRlc2NyaXB0aW9uIiBUeXBlTmFtZT0idWE6TG9jYWxpemVkVGV4\ndCIgU291cmNlVHlwZT0idG5zOk5vZGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJXcml0ZU1h\nc2siIFR5cGVOYW1lPSJvcGM6VUludDMyIiBTb3VyY2VUeXBlPSJ0bnM6Tm9kZSIgLz4NCiAgICA8\nb3BjOkZpZWxkIE5hbWU9IlVzZXJXcml0ZU1hc2siIFR5cGVOYW1lPSJvcGM6VUludDMyIiBTb3Vy\nY2VUeXBlPSJ0bnM6Tm9kZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZSb2xlUGVybWlz\nc2lvbnMiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSb2xl\nUGVybWlzc2lvbnMiIFR5cGVOYW1lPSJ0bnM6Um9sZVBlcm1pc3Npb25UeXBlIiBMZW5ndGhGaWVs\nZD0iTm9PZlJvbGVQZXJtaXNzaW9ucyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZVc2Vy\nUm9sZVBlcm1pc3Npb25zIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQg\nTmFtZT0iVXNlclJvbGVQZXJtaXNzaW9ucyIgVHlwZU5hbWU9InRuczpSb2xlUGVybWlzc2lvblR5\ncGUiIExlbmd0aEZpZWxkPSJOb09mVXNlclJvbGVQZXJtaXNzaW9ucyIgLz4NCiAgICA8b3BjOkZp\nZWxkIE5hbWU9IkFjY2Vzc1Jlc3RyaWN0aW9ucyIgVHlwZU5hbWU9Im9wYzpVSW50MTYiIFNvdXJj\nZVR5cGU9InRuczpOb2RlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZlJlZmVyZW5jZXMi\nIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZWZlcmVuY2Vz\nIiBUeXBlTmFtZT0idG5zOlJlZmVyZW5jZU5vZGUiIExlbmd0aEZpZWxkPSJOb09mUmVmZXJlbmNl\ncyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkV4ZWN1dGFibGUiIFR5cGVOYW1lPSJvcGM6Qm9v\nbGVhbiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlVzZXJFeGVjdXRhYmxlIiBUeXBlTmFtZT0i\nb3BjOkJvb2xlYW4iIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0\ndXJlZFR5cGUgTmFtZT0iVmlld05vZGUiIEJhc2VUeXBlPSJ0bnM6SW5zdGFuY2VOb2RlIj4NCiAg\nICA8b3BjOkZpZWxkIE5hbWU9Ik5vZGVJZCIgVHlwZU5hbWU9InVhOk5vZGVJZCIgU291cmNlVHlw\nZT0idG5zOk5vZGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb2RlQ2xhc3MiIFR5cGVOYW1l\nPSJ0bnM6Tm9kZUNsYXNzIiBTb3VyY2VUeXBlPSJ0bnM6Tm9kZSIgLz4NCiAgICA8b3BjOkZpZWxk\nIE5hbWU9IkJyb3dzZU5hbWUiIFR5cGVOYW1lPSJ1YTpRdWFsaWZpZWROYW1lIiBTb3VyY2VUeXBl\nPSJ0bnM6Tm9kZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkRpc3BsYXlOYW1lIiBUeXBlTmFt\nZT0idWE6TG9jYWxpemVkVGV4dCIgU291cmNlVHlwZT0idG5zOk5vZGUiIC8+DQogICAgPG9wYzpG\naWVsZCBOYW1lPSJEZXNjcmlwdGlvbiIgVHlwZU5hbWU9InVhOkxvY2FsaXplZFRleHQiIFNvdXJj\nZVR5cGU9InRuczpOb2RlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iV3JpdGVNYXNrIiBUeXBl\nTmFtZT0ib3BjOlVJbnQzMiIgU291cmNlVHlwZT0idG5zOk5vZGUiIC8+DQogICAgPG9wYzpGaWVs\nZCBOYW1lPSJVc2VyV3JpdGVNYXNrIiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgU291cmNlVHlwZT0i\ndG5zOk5vZGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mUm9sZVBlcm1pc3Npb25zIiBU\neXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUm9sZVBlcm1pc3Np\nb25zIiBUeXBlTmFtZT0idG5zOlJvbGVQZXJtaXNzaW9uVHlwZSIgTGVuZ3RoRmllbGQ9Ik5vT2ZS\nb2xlUGVybWlzc2lvbnMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mVXNlclJvbGVQZXJt\naXNzaW9ucyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlVz\nZXJSb2xlUGVybWlzc2lvbnMiIFR5cGVOYW1lPSJ0bnM6Um9sZVBlcm1pc3Npb25UeXBlIiBMZW5n\ndGhGaWVsZD0iTm9PZlVzZXJSb2xlUGVybWlzc2lvbnMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1l\nPSJBY2Nlc3NSZXN0cmljdGlvbnMiIFR5cGVOYW1lPSJvcGM6VUludDE2IiBTb3VyY2VUeXBlPSJ0\nbnM6Tm9kZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZSZWZlcmVuY2VzIiBUeXBlTmFt\nZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVmZXJlbmNlcyIgVHlwZU5h\nbWU9InRuczpSZWZlcmVuY2VOb2RlIiBMZW5ndGhGaWVsZD0iTm9PZlJlZmVyZW5jZXMiIC8+DQog\nICAgPG9wYzpGaWVsZCBOYW1lPSJDb250YWluc05vTG9vcHMiIFR5cGVOYW1lPSJvcGM6Qm9vbGVh\nbiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkV2ZW50Tm90aWZpZXIiIFR5cGVOYW1lPSJvcGM6\nQnl0ZSIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlw\nZSBOYW1lPSJEYXRhVHlwZU5vZGUiIEJhc2VUeXBlPSJ0bnM6VHlwZU5vZGUiPg0KICAgIDxvcGM6\nRmllbGQgTmFtZT0iTm9kZUlkIiBUeXBlTmFtZT0idWE6Tm9kZUlkIiBTb3VyY2VUeXBlPSJ0bnM6\nTm9kZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vZGVDbGFzcyIgVHlwZU5hbWU9InRuczpO\nb2RlQ2xhc3MiIFNvdXJjZVR5cGU9InRuczpOb2RlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0i\nQnJvd3NlTmFtZSIgVHlwZU5hbWU9InVhOlF1YWxpZmllZE5hbWUiIFNvdXJjZVR5cGU9InRuczpO\nb2RlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRGlzcGxheU5hbWUiIFR5cGVOYW1lPSJ1YTpM\nb2NhbGl6ZWRUZXh0IiBTb3VyY2VUeXBlPSJ0bnM6Tm9kZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5h\nbWU9IkRlc2NyaXB0aW9uIiBUeXBlTmFtZT0idWE6TG9jYWxpemVkVGV4dCIgU291cmNlVHlwZT0i\ndG5zOk5vZGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJXcml0ZU1hc2siIFR5cGVOYW1lPSJv\ncGM6VUludDMyIiBTb3VyY2VUeXBlPSJ0bnM6Tm9kZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9\nIlVzZXJXcml0ZU1hc2siIFR5cGVOYW1lPSJvcGM6VUludDMyIiBTb3VyY2VUeXBlPSJ0bnM6Tm9k\nZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZSb2xlUGVybWlzc2lvbnMiIFR5cGVOYW1l\nPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSb2xlUGVybWlzc2lvbnMiIFR5\ncGVOYW1lPSJ0bnM6Um9sZVBlcm1pc3Npb25UeXBlIiBMZW5ndGhGaWVsZD0iTm9PZlJvbGVQZXJt\naXNzaW9ucyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZVc2VyUm9sZVBlcm1pc3Npb25z\nIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iVXNlclJvbGVQ\nZXJtaXNzaW9ucyIgVHlwZU5hbWU9InRuczpSb2xlUGVybWlzc2lvblR5cGUiIExlbmd0aEZpZWxk\nPSJOb09mVXNlclJvbGVQZXJtaXNzaW9ucyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkFjY2Vz\nc1Jlc3RyaWN0aW9ucyIgVHlwZU5hbWU9Im9wYzpVSW50MTYiIFNvdXJjZVR5cGU9InRuczpOb2Rl\nIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZlJlZmVyZW5jZXMiIFR5cGVOYW1lPSJvcGM6\nSW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZWZlcmVuY2VzIiBUeXBlTmFtZT0idG5z\nOlJlZmVyZW5jZU5vZGUiIExlbmd0aEZpZWxkPSJOb09mUmVmZXJlbmNlcyIgLz4NCiAgICA8b3Bj\nOkZpZWxkIE5hbWU9IklzQWJzdHJhY3QiIFR5cGVOYW1lPSJvcGM6Qm9vbGVhbiIgLz4NCiAgICA8\nb3BjOkZpZWxkIE5hbWU9IkRhdGFUeXBlRGVmaW5pdGlvbiIgVHlwZU5hbWU9InVhOkV4dGVuc2lv\nbk9iamVjdCIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVk\nVHlwZSBOYW1lPSJSZWZlcmVuY2VOb2RlIiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4N\nCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlZmVyZW5jZVR5cGVJZCIgVHlwZU5hbWU9InVhOk5vZGVJ\nZCIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IklzSW52ZXJzZSIgVHlwZU5hbWU9Im9wYzpCb29s\nZWFuIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iVGFyZ2V0SWQiIFR5cGVOYW1lPSJ1YTpFeHBh\nbmRlZE5vZGVJZCIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1\ncmVkVHlwZSBOYW1lPSJBcmd1bWVudCIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQog\nICAgPG9wYzpGaWVsZCBOYW1lPSJOYW1lIiBUeXBlTmFtZT0ib3BjOlN0cmluZyIgLz4NCiAgICA8\nb3BjOkZpZWxkIE5hbWU9IkRhdGFUeXBlIiBUeXBlTmFtZT0idWE6Tm9kZUlkIiAvPg0KICAgIDxv\ncGM6RmllbGQgTmFtZT0iVmFsdWVSYW5rIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxv\ncGM6RmllbGQgTmFtZT0iTm9PZkFycmF5RGltZW5zaW9ucyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIg\nLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkFycmF5RGltZW5zaW9ucyIgVHlwZU5hbWU9Im9wYzpV\nSW50MzIiIExlbmd0aEZpZWxkPSJOb09mQXJyYXlEaW1lbnNpb25zIiAvPg0KICAgIDxvcGM6Rmll\nbGQgTmFtZT0iRGVzY3JpcHRpb24iIFR5cGVOYW1lPSJ1YTpMb2NhbGl6ZWRUZXh0IiAvPg0KICA8\nL29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IkVudW1W\nYWx1ZVR5cGUiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RmllbGQg\nTmFtZT0iVmFsdWUiIFR5cGVOYW1lPSJvcGM6SW50NjQiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1l\nPSJEaXNwbGF5TmFtZSIgVHlwZU5hbWU9InVhOkxvY2FsaXplZFRleHQiIC8+DQogICAgPG9wYzpG\naWVsZCBOYW1lPSJEZXNjcmlwdGlvbiIgVHlwZU5hbWU9InVhOkxvY2FsaXplZFRleHQiIC8+DQog\nIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iRW51\nbUZpZWxkIiBCYXNlVHlwZT0idG5zOkVudW1WYWx1ZVR5cGUiPg0KICAgIDxvcGM6RmllbGQgTmFt\nZT0iVmFsdWUiIFR5cGVOYW1lPSJvcGM6SW50NjQiIFNvdXJjZVR5cGU9InRuczpFbnVtVmFsdWVU\neXBlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRGlzcGxheU5hbWUiIFR5cGVOYW1lPSJ1YTpM\nb2NhbGl6ZWRUZXh0IiBTb3VyY2VUeXBlPSJ0bnM6RW51bVZhbHVlVHlwZSIgLz4NCiAgICA8b3Bj\nOkZpZWxkIE5hbWU9IkRlc2NyaXB0aW9uIiBUeXBlTmFtZT0idWE6TG9jYWxpemVkVGV4dCIgU291\ncmNlVHlwZT0idG5zOkVudW1WYWx1ZVR5cGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOYW1l\nIiBUeXBlTmFtZT0ib3BjOlN0cmluZyIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAg\nPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJPcHRpb25TZXQiIEJhc2VUeXBlPSJ1YTpFeHRlbnNp\nb25PYmplY3QiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iVmFsdWUiIFR5cGVOYW1lPSJvcGM6Qnl0\nZVN0cmluZyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlZhbGlkQml0cyIgVHlwZU5hbWU9Im9w\nYzpCeXRlU3RyaW5nIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOk9wYXF1\nZVR5cGUgTmFtZT0iTm9ybWFsaXplZFN0cmluZyI+DQogIDwvb3BjOk9wYXF1ZVR5cGU+DQoNCiAg\nPG9wYzpPcGFxdWVUeXBlIE5hbWU9IkRlY2ltYWxTdHJpbmciPg0KICA8L29wYzpPcGFxdWVUeXBl\nPg0KDQogIDxvcGM6T3BhcXVlVHlwZSBOYW1lPSJEdXJhdGlvblN0cmluZyI+DQogIDwvb3BjOk9w\nYXF1ZVR5cGU+DQoNCiAgPG9wYzpPcGFxdWVUeXBlIE5hbWU9IlRpbWVTdHJpbmciPg0KICA8L29w\nYzpPcGFxdWVUeXBlPg0KDQogIDxvcGM6T3BhcXVlVHlwZSBOYW1lPSJEYXRlU3RyaW5nIj4NCiAg\nPC9vcGM6T3BhcXVlVHlwZT4NCg0KICA8b3BjOk9wYXF1ZVR5cGUgTmFtZT0iRHVyYXRpb24iPg0K\nICA8L29wYzpPcGFxdWVUeXBlPg0KDQogIDxvcGM6T3BhcXVlVHlwZSBOYW1lPSJVdGNUaW1lIj4N\nCiAgPC9vcGM6T3BhcXVlVHlwZT4NCg0KICA8b3BjOk9wYXF1ZVR5cGUgTmFtZT0iVGltZSI+DQog\nIDwvb3BjOk9wYXF1ZVR5cGU+DQoNCiAgPG9wYzpPcGFxdWVUeXBlIE5hbWU9IkRhdGUiPg0KICA8\nL29wYzpPcGFxdWVUeXBlPg0KDQogIDxvcGM6T3BhcXVlVHlwZSBOYW1lPSJMb2NhbGVJZCI+DQog\nIDwvb3BjOk9wYXF1ZVR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJUaW1lWm9u\nZURhdGFUeXBlIiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkZpZWxk\nIE5hbWU9Ik9mZnNldCIgVHlwZU5hbWU9Im9wYzpJbnQxNiIgLz4NCiAgICA8b3BjOkZpZWxkIE5h\nbWU9IkRheWxpZ2h0U2F2aW5nSW5PZmZzZXQiIFR5cGVOYW1lPSJvcGM6Qm9vbGVhbiIgLz4NCiAg\nPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpPcGFxdWVUeXBlIE5hbWU9IkluZGV4Ij4N\nCiAgPC9vcGM6T3BhcXVlVHlwZT4NCg0KICA8b3BjOk9wYXF1ZVR5cGUgTmFtZT0iSW50ZWdlcklk\nIj4NCiAgPC9vcGM6T3BhcXVlVHlwZT4NCg0KICA8b3BjOkVudW1lcmF0ZWRUeXBlIE5hbWU9IkFw\ncGxpY2F0aW9uVHlwZSIgTGVuZ3RoSW5CaXRzPSIzMiI+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFs\ndWUgTmFtZT0iU2VydmVyIiBWYWx1ZT0iMCIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBO\nYW1lPSJDbGllbnQiIFZhbHVlPSIxIiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9\nIkNsaWVudEFuZFNlcnZlciIgVmFsdWU9IjIiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUg\nTmFtZT0iRGlzY292ZXJ5U2VydmVyIiBWYWx1ZT0iMyIgLz4NCiAgPC9vcGM6RW51bWVyYXRlZFR5\ncGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJBcHBsaWNhdGlvbkRlc2NyaXB0aW9u\nIiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkFw\ncGxpY2F0aW9uVXJpIiBUeXBlTmFtZT0ib3BjOlN0cmluZyIgLz4NCiAgICA8b3BjOkZpZWxkIE5h\nbWU9IlByb2R1Y3RVcmkiIFR5cGVOYW1lPSJvcGM6U3RyaW5nIiAvPg0KICAgIDxvcGM6RmllbGQg\nTmFtZT0iQXBwbGljYXRpb25OYW1lIiBUeXBlTmFtZT0idWE6TG9jYWxpemVkVGV4dCIgLz4NCiAg\nICA8b3BjOkZpZWxkIE5hbWU9IkFwcGxpY2F0aW9uVHlwZSIgVHlwZU5hbWU9InRuczpBcHBsaWNh\ndGlvblR5cGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJHYXRld2F5U2VydmVyVXJpIiBUeXBl\nTmFtZT0ib3BjOlN0cmluZyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkRpc2NvdmVyeVByb2Zp\nbGVVcmkiIFR5cGVOYW1lPSJvcGM6U3RyaW5nIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9P\nZkRpc2NvdmVyeVVybHMiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBO\nYW1lPSJEaXNjb3ZlcnlVcmxzIiBUeXBlTmFtZT0ib3BjOlN0cmluZyIgTGVuZ3RoRmllbGQ9Ik5v\nT2ZEaXNjb3ZlcnlVcmxzIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0\ncnVjdHVyZWRUeXBlIE5hbWU9IlJlcXVlc3RIZWFkZXIiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25P\nYmplY3QiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iQXV0aGVudGljYXRpb25Ub2tlbiIgVHlwZU5h\nbWU9InVhOk5vZGVJZCIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlRpbWVzdGFtcCIgVHlwZU5h\nbWU9Im9wYzpEYXRlVGltZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlcXVlc3RIYW5kbGUi\nIFR5cGVOYW1lPSJvcGM6VUludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmV0dXJuRGlh\nZ25vc3RpY3MiIFR5cGVOYW1lPSJvcGM6VUludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0i\nQXVkaXRFbnRyeUlkIiBUeXBlTmFtZT0ib3BjOlN0cmluZyIgLz4NCiAgICA8b3BjOkZpZWxkIE5h\nbWU9IlRpbWVvdXRIaW50IiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxk\nIE5hbWU9IkFkZGl0aW9uYWxIZWFkZXIiIFR5cGVOYW1lPSJ1YTpFeHRlbnNpb25PYmplY3QiIC8+\nDQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0i\nUmVzcG9uc2VIZWFkZXIiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6\nRmllbGQgTmFtZT0iVGltZXN0YW1wIiBUeXBlTmFtZT0ib3BjOkRhdGVUaW1lIiAvPg0KICAgIDxv\ncGM6RmllbGQgTmFtZT0iUmVxdWVzdEhhbmRsZSIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+DQog\nICAgPG9wYzpGaWVsZCBOYW1lPSJTZXJ2aWNlUmVzdWx0IiBUeXBlTmFtZT0idWE6U3RhdHVzQ29k\nZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlNlcnZpY2VEaWFnbm9zdGljcyIgVHlwZU5hbWU9\nInVhOkRpYWdub3N0aWNJbmZvIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZlN0cmluZ1Rh\nYmxlIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU3RyaW5n\nVGFibGUiIFR5cGVOYW1lPSJvcGM6U3RyaW5nIiBMZW5ndGhGaWVsZD0iTm9PZlN0cmluZ1RhYmxl\nIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iQWRkaXRpb25hbEhlYWRlciIgVHlwZU5hbWU9InVh\nOkV4dGVuc2lvbk9iamVjdCIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpP\ncGFxdWVUeXBlIE5hbWU9IlZlcnNpb25UaW1lIj4NCiAgPC9vcGM6T3BhcXVlVHlwZT4NCg0KICA8\nb3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IlNlcnZpY2VGYXVsdCIgQmFzZVR5cGU9InVhOkV4dGVu\nc2lvbk9iamVjdCI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXNwb25zZUhlYWRlciIgVHlwZU5h\nbWU9InRuczpSZXNwb25zZUhlYWRlciIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAg\nPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJTZXNzaW9ubGVzc0ludm9rZVJlcXVlc3RUeXBlIiBC\nYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlVyaXNW\nZXJzaW9uIiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5v\nT2ZOYW1lc3BhY2VVcmlzIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQg\nTmFtZT0iTmFtZXNwYWNlVXJpcyIgVHlwZU5hbWU9Im9wYzpTdHJpbmciIExlbmd0aEZpZWxkPSJO\nb09mTmFtZXNwYWNlVXJpcyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZTZXJ2ZXJVcmlz\nIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU2VydmVyVXJp\ncyIgVHlwZU5hbWU9Im9wYzpTdHJpbmciIExlbmd0aEZpZWxkPSJOb09mU2VydmVyVXJpcyIgLz4N\nCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZMb2NhbGVJZHMiIFR5cGVOYW1lPSJvcGM6SW50MzIi\nIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJMb2NhbGVJZHMiIFR5cGVOYW1lPSJvcGM6U3RyaW5n\nIiBMZW5ndGhGaWVsZD0iTm9PZkxvY2FsZUlkcyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlNl\ncnZpY2VJZCIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBl\nPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iU2Vzc2lvbmxlc3NJbnZva2VSZXNwb25z\nZVR5cGUiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RmllbGQgTmFt\nZT0iTm9PZk5hbWVzcGFjZVVyaXMiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpG\naWVsZCBOYW1lPSJOYW1lc3BhY2VVcmlzIiBUeXBlTmFtZT0ib3BjOlN0cmluZyIgTGVuZ3RoRmll\nbGQ9Ik5vT2ZOYW1lc3BhY2VVcmlzIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZlNlcnZl\nclVyaXMiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTZXJ2\nZXJVcmlzIiBUeXBlTmFtZT0ib3BjOlN0cmluZyIgTGVuZ3RoRmllbGQ9Ik5vT2ZTZXJ2ZXJVcmlz\nIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU2VydmljZUlkIiBUeXBlTmFtZT0ib3BjOlVJbnQz\nMiIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBO\nYW1lPSJGaW5kU2VydmVyc1JlcXVlc3QiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0K\nICAgIDxvcGM6RmllbGQgTmFtZT0iUmVxdWVzdEhlYWRlciIgVHlwZU5hbWU9InRuczpSZXF1ZXN0\nSGVhZGVyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRW5kcG9pbnRVcmwiIFR5cGVOYW1lPSJv\ncGM6U3RyaW5nIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZkxvY2FsZUlkcyIgVHlwZU5h\nbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkxvY2FsZUlkcyIgVHlwZU5h\nbWU9Im9wYzpTdHJpbmciIExlbmd0aEZpZWxkPSJOb09mTG9jYWxlSWRzIiAvPg0KICAgIDxvcGM6\nRmllbGQgTmFtZT0iTm9PZlNlcnZlclVyaXMiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAg\nPG9wYzpGaWVsZCBOYW1lPSJTZXJ2ZXJVcmlzIiBUeXBlTmFtZT0ib3BjOlN0cmluZyIgTGVuZ3Ro\nRmllbGQ9Ik5vT2ZTZXJ2ZXJVcmlzIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8\nb3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IkZpbmRTZXJ2ZXJzUmVzcG9uc2UiIEJhc2VUeXBlPSJ1\nYTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVzcG9uc2VIZWFkZXIi\nIFR5cGVOYW1lPSJ0bnM6UmVzcG9uc2VIZWFkZXIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJO\nb09mU2VydmVycyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9\nIlNlcnZlcnMiIFR5cGVOYW1lPSJ0bnM6QXBwbGljYXRpb25EZXNjcmlwdGlvbiIgTGVuZ3RoRmll\nbGQ9Ik5vT2ZTZXJ2ZXJzIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0\ncnVjdHVyZWRUeXBlIE5hbWU9IlNlcnZlck9uTmV0d29yayIgQmFzZVR5cGU9InVhOkV4dGVuc2lv\nbk9iamVjdCI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZWNvcmRJZCIgVHlwZU5hbWU9Im9wYzpV\nSW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTZXJ2ZXJOYW1lIiBUeXBlTmFtZT0ib3Bj\nOlN0cmluZyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkRpc2NvdmVyeVVybCIgVHlwZU5hbWU9\nIm9wYzpTdHJpbmciIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mU2VydmVyQ2FwYWJpbGl0\naWVzIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU2VydmVy\nQ2FwYWJpbGl0aWVzIiBUeXBlTmFtZT0ib3BjOlN0cmluZyIgTGVuZ3RoRmllbGQ9Ik5vT2ZTZXJ2\nZXJDYXBhYmlsaXRpZXMiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3Ry\ndWN0dXJlZFR5cGUgTmFtZT0iRmluZFNlcnZlcnNPbk5ldHdvcmtSZXF1ZXN0IiBCYXNlVHlwZT0i\ndWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlcXVlc3RIZWFkZXIi\nIFR5cGVOYW1lPSJ0bnM6UmVxdWVzdEhlYWRlciIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlN0\nYXJ0aW5nUmVjb3JkSWQiIFR5cGVOYW1lPSJvcGM6VUludDMyIiAvPg0KICAgIDxvcGM6RmllbGQg\nTmFtZT0iTWF4UmVjb3Jkc1RvUmV0dXJuIiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgLz4NCiAgICA8\nb3BjOkZpZWxkIE5hbWU9Ik5vT2ZTZXJ2ZXJDYXBhYmlsaXR5RmlsdGVyIiBUeXBlTmFtZT0ib3Bj\nOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU2VydmVyQ2FwYWJpbGl0eUZpbHRlciIg\nVHlwZU5hbWU9Im9wYzpTdHJpbmciIExlbmd0aEZpZWxkPSJOb09mU2VydmVyQ2FwYWJpbGl0eUZp\nbHRlciIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlw\nZSBOYW1lPSJGaW5kU2VydmVyc09uTmV0d29ya1Jlc3BvbnNlIiBCYXNlVHlwZT0idWE6RXh0ZW5z\naW9uT2JqZWN0Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlc3BvbnNlSGVhZGVyIiBUeXBlTmFt\nZT0idG5zOlJlc3BvbnNlSGVhZGVyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTGFzdENvdW50\nZXJSZXNldFRpbWUiIFR5cGVOYW1lPSJvcGM6RGF0ZVRpbWUiIC8+DQogICAgPG9wYzpGaWVsZCBO\nYW1lPSJOb09mU2VydmVycyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxk\nIE5hbWU9IlNlcnZlcnMiIFR5cGVOYW1lPSJ0bnM6U2VydmVyT25OZXR3b3JrIiBMZW5ndGhGaWVs\nZD0iTm9PZlNlcnZlcnMiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6T3Bh\ncXVlVHlwZSBOYW1lPSJBcHBsaWNhdGlvbkluc3RhbmNlQ2VydGlmaWNhdGUiPg0KICA8L29wYzpP\ncGFxdWVUeXBlPg0KDQogIDxvcGM6RW51bWVyYXRlZFR5cGUgTmFtZT0iTWVzc2FnZVNlY3VyaXR5\nTW9kZSIgTGVuZ3RoSW5CaXRzPSIzMiI+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0i\nSW52YWxpZCIgVmFsdWU9IjAiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iTm9u\nZSIgVmFsdWU9IjEiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iU2lnbiIgVmFs\ndWU9IjIiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iU2lnbkFuZEVuY3J5cHQi\nIFZhbHVlPSIzIiAvPg0KICA8L29wYzpFbnVtZXJhdGVkVHlwZT4NCg0KICA8b3BjOkVudW1lcmF0\nZWRUeXBlIE5hbWU9IlVzZXJUb2tlblR5cGUiIExlbmd0aEluQml0cz0iMzIiPg0KICAgIDxvcGM6\nRW51bWVyYXRlZFZhbHVlIE5hbWU9IkFub255bW91cyIgVmFsdWU9IjAiIC8+DQogICAgPG9wYzpF\nbnVtZXJhdGVkVmFsdWUgTmFtZT0iVXNlck5hbWUiIFZhbHVlPSIxIiAvPg0KICAgIDxvcGM6RW51\nbWVyYXRlZFZhbHVlIE5hbWU9IkNlcnRpZmljYXRlIiBWYWx1ZT0iMiIgLz4NCiAgICA8b3BjOkVu\ndW1lcmF0ZWRWYWx1ZSBOYW1lPSJJc3N1ZWRUb2tlbiIgVmFsdWU9IjMiIC8+DQogIDwvb3BjOkVu\ndW1lcmF0ZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iVXNlclRva2VuUG9s\naWN5IiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9\nIlBvbGljeUlkIiBUeXBlTmFtZT0ib3BjOlN0cmluZyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9\nIlRva2VuVHlwZSIgVHlwZU5hbWU9InRuczpVc2VyVG9rZW5UeXBlIiAvPg0KICAgIDxvcGM6Rmll\nbGQgTmFtZT0iSXNzdWVkVG9rZW5UeXBlIiBUeXBlTmFtZT0ib3BjOlN0cmluZyIgLz4NCiAgICA8\nb3BjOkZpZWxkIE5hbWU9Iklzc3VlckVuZHBvaW50VXJsIiBUeXBlTmFtZT0ib3BjOlN0cmluZyIg\nLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlNlY3VyaXR5UG9saWN5VXJpIiBUeXBlTmFtZT0ib3Bj\nOlN0cmluZyIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVk\nVHlwZSBOYW1lPSJFbmRwb2ludERlc2NyaXB0aW9uIiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2Jq\nZWN0Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkVuZHBvaW50VXJsIiBUeXBlTmFtZT0ib3BjOlN0\ncmluZyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlNlcnZlciIgVHlwZU5hbWU9InRuczpBcHBs\naWNhdGlvbkRlc2NyaXB0aW9uIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU2VydmVyQ2VydGlm\naWNhdGUiIFR5cGVOYW1lPSJvcGM6Qnl0ZVN0cmluZyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9\nIlNlY3VyaXR5TW9kZSIgVHlwZU5hbWU9InRuczpNZXNzYWdlU2VjdXJpdHlNb2RlIiAvPg0KICAg\nIDxvcGM6RmllbGQgTmFtZT0iU2VjdXJpdHlQb2xpY3lVcmkiIFR5cGVOYW1lPSJvcGM6U3RyaW5n\nIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZlVzZXJJZGVudGl0eVRva2VucyIgVHlwZU5h\nbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlVzZXJJZGVudGl0eVRva2Vu\ncyIgVHlwZU5hbWU9InRuczpVc2VyVG9rZW5Qb2xpY3kiIExlbmd0aEZpZWxkPSJOb09mVXNlcklk\nZW50aXR5VG9rZW5zIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iVHJhbnNwb3J0UHJvZmlsZVVy\naSIgVHlwZU5hbWU9Im9wYzpTdHJpbmciIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTZWN1cml0\neUxldmVsIiBUeXBlTmFtZT0ib3BjOkJ5dGUiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0K\nDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iR2V0RW5kcG9pbnRzUmVxdWVzdCIgQmFzZVR5\ncGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXF1ZXN0SGVh\nZGVyIiBUeXBlTmFtZT0idG5zOlJlcXVlc3RIZWFkZXIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1l\nPSJFbmRwb2ludFVybCIgVHlwZU5hbWU9Im9wYzpTdHJpbmciIC8+DQogICAgPG9wYzpGaWVsZCBO\nYW1lPSJOb09mTG9jYWxlSWRzIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6Rmll\nbGQgTmFtZT0iTG9jYWxlSWRzIiBUeXBlTmFtZT0ib3BjOlN0cmluZyIgTGVuZ3RoRmllbGQ9Ik5v\nT2ZMb2NhbGVJZHMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mUHJvZmlsZVVyaXMiIFR5\ncGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJQcm9maWxlVXJpcyIg\nVHlwZU5hbWU9Im9wYzpTdHJpbmciIExlbmd0aEZpZWxkPSJOb09mUHJvZmlsZVVyaXMiIC8+DQog\nIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iR2V0\nRW5kcG9pbnRzUmVzcG9uc2UiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxv\ncGM6RmllbGQgTmFtZT0iUmVzcG9uc2VIZWFkZXIiIFR5cGVOYW1lPSJ0bnM6UmVzcG9uc2VIZWFk\nZXIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mRW5kcG9pbnRzIiBUeXBlTmFtZT0ib3Bj\nOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRW5kcG9pbnRzIiBUeXBlTmFtZT0idG5z\nOkVuZHBvaW50RGVzY3JpcHRpb24iIExlbmd0aEZpZWxkPSJOb09mRW5kcG9pbnRzIiAvPg0KICA8\nL29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IlJlZ2lz\ndGVyZWRTZXJ2ZXIiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6Rmll\nbGQgTmFtZT0iU2VydmVyVXJpIiBUeXBlTmFtZT0ib3BjOlN0cmluZyIgLz4NCiAgICA8b3BjOkZp\nZWxkIE5hbWU9IlByb2R1Y3RVcmkiIFR5cGVOYW1lPSJvcGM6U3RyaW5nIiAvPg0KICAgIDxvcGM6\nRmllbGQgTmFtZT0iTm9PZlNlcnZlck5hbWVzIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAg\nIDxvcGM6RmllbGQgTmFtZT0iU2VydmVyTmFtZXMiIFR5cGVOYW1lPSJ1YTpMb2NhbGl6ZWRUZXh0\nIiBMZW5ndGhGaWVsZD0iTm9PZlNlcnZlck5hbWVzIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0i\nU2VydmVyVHlwZSIgVHlwZU5hbWU9InRuczpBcHBsaWNhdGlvblR5cGUiIC8+DQogICAgPG9wYzpG\naWVsZCBOYW1lPSJHYXRld2F5U2VydmVyVXJpIiBUeXBlTmFtZT0ib3BjOlN0cmluZyIgLz4NCiAg\nICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZEaXNjb3ZlcnlVcmxzIiBUeXBlTmFtZT0ib3BjOkludDMy\nIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRGlzY292ZXJ5VXJscyIgVHlwZU5hbWU9Im9wYzpT\ndHJpbmciIExlbmd0aEZpZWxkPSJOb09mRGlzY292ZXJ5VXJscyIgLz4NCiAgICA8b3BjOkZpZWxk\nIE5hbWU9IlNlbWFwaG9yZUZpbGVQYXRoIiBUeXBlTmFtZT0ib3BjOlN0cmluZyIgLz4NCiAgICA8\nb3BjOkZpZWxkIE5hbWU9IklzT25saW5lIiBUeXBlTmFtZT0ib3BjOkJvb2xlYW4iIC8+DQogIDwv\nb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iUmVnaXN0\nZXJTZXJ2ZXJSZXF1ZXN0IiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3Bj\nOkZpZWxkIE5hbWU9IlJlcXVlc3RIZWFkZXIiIFR5cGVOYW1lPSJ0bnM6UmVxdWVzdEhlYWRlciIg\nLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlNlcnZlciIgVHlwZU5hbWU9InRuczpSZWdpc3RlcmVk\nU2VydmVyIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRU\neXBlIE5hbWU9IlJlZ2lzdGVyU2VydmVyUmVzcG9uc2UiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25P\nYmplY3QiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVzcG9uc2VIZWFkZXIiIFR5cGVOYW1lPSJ0\nbnM6UmVzcG9uc2VIZWFkZXIiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6\nU3RydWN0dXJlZFR5cGUgTmFtZT0iRGlzY292ZXJ5Q29uZmlndXJhdGlvbiIgQmFzZVR5cGU9InVh\nOkV4dGVuc2lvbk9iamVjdCI+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3Ry\ndWN0dXJlZFR5cGUgTmFtZT0iTWRuc0Rpc2NvdmVyeUNvbmZpZ3VyYXRpb24iIEJhc2VUeXBlPSJ0\nbnM6RGlzY292ZXJ5Q29uZmlndXJhdGlvbiI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJNZG5zU2Vy\ndmVyTmFtZSIgVHlwZU5hbWU9Im9wYzpTdHJpbmciIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJO\nb09mU2VydmVyQ2FwYWJpbGl0aWVzIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6\nRmllbGQgTmFtZT0iU2VydmVyQ2FwYWJpbGl0aWVzIiBUeXBlTmFtZT0ib3BjOlN0cmluZyIgTGVu\nZ3RoRmllbGQ9Ik5vT2ZTZXJ2ZXJDYXBhYmlsaXRpZXMiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRU\neXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iUmVnaXN0ZXJTZXJ2ZXIyUmVxdWVz\ndCIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJS\nZXF1ZXN0SGVhZGVyIiBUeXBlTmFtZT0idG5zOlJlcXVlc3RIZWFkZXIiIC8+DQogICAgPG9wYzpG\naWVsZCBOYW1lPSJTZXJ2ZXIiIFR5cGVOYW1lPSJ0bnM6UmVnaXN0ZXJlZFNlcnZlciIgLz4NCiAg\nICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZEaXNjb3ZlcnlDb25maWd1cmF0aW9uIiBUeXBlTmFtZT0i\nb3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRGlzY292ZXJ5Q29uZmlndXJhdGlv\nbiIgVHlwZU5hbWU9InVhOkV4dGVuc2lvbk9iamVjdCIgTGVuZ3RoRmllbGQ9Ik5vT2ZEaXNjb3Zl\ncnlDb25maWd1cmF0aW9uIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0\ncnVjdHVyZWRUeXBlIE5hbWU9IlJlZ2lzdGVyU2VydmVyMlJlc3BvbnNlIiBCYXNlVHlwZT0idWE6\nRXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlc3BvbnNlSGVhZGVyIiBU\neXBlTmFtZT0idG5zOlJlc3BvbnNlSGVhZGVyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9P\nZkNvbmZpZ3VyYXRpb25SZXN1bHRzIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6\nRmllbGQgTmFtZT0iQ29uZmlndXJhdGlvblJlc3VsdHMiIFR5cGVOYW1lPSJ1YTpTdGF0dXNDb2Rl\nIiBMZW5ndGhGaWVsZD0iTm9PZkNvbmZpZ3VyYXRpb25SZXN1bHRzIiAvPg0KICAgIDxvcGM6Rmll\nbGQgTmFtZT0iTm9PZkRpYWdub3N0aWNJbmZvcyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAg\nICA8b3BjOkZpZWxkIE5hbWU9IkRpYWdub3N0aWNJbmZvcyIgVHlwZU5hbWU9InVhOkRpYWdub3N0\naWNJbmZvIiBMZW5ndGhGaWVsZD0iTm9PZkRpYWdub3N0aWNJbmZvcyIgLz4NCiAgPC9vcGM6U3Ry\ndWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpFbnVtZXJhdGVkVHlwZSBOYW1lPSJTZWN1cml0eVRva2Vu\nUmVxdWVzdFR5cGUiIExlbmd0aEluQml0cz0iMzIiPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVl\nIE5hbWU9Iklzc3VlIiBWYWx1ZT0iMCIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1l\nPSJSZW5ldyIgVmFsdWU9IjEiIC8+DQogIDwvb3BjOkVudW1lcmF0ZWRUeXBlPg0KDQogIDxvcGM6\nU3RydWN0dXJlZFR5cGUgTmFtZT0iQ2hhbm5lbFNlY3VyaXR5VG9rZW4iIEJhc2VUeXBlPSJ1YTpF\neHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iQ2hhbm5lbElkIiBUeXBlTmFt\nZT0ib3BjOlVJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlRva2VuSWQiIFR5cGVOYW1l\nPSJvcGM6VUludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iQ3JlYXRlZEF0IiBUeXBlTmFt\nZT0ib3BjOkRhdGVUaW1lIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmV2aXNlZExpZmV0aW1l\nIiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAg\nPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJPcGVuU2VjdXJlQ2hhbm5lbFJlcXVlc3QiIEJhc2VU\neXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVxdWVzdEhl\nYWRlciIgVHlwZU5hbWU9InRuczpSZXF1ZXN0SGVhZGVyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFt\nZT0iQ2xpZW50UHJvdG9jb2xWZXJzaW9uIiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgLz4NCiAgICA8\nb3BjOkZpZWxkIE5hbWU9IlJlcXVlc3RUeXBlIiBUeXBlTmFtZT0idG5zOlNlY3VyaXR5VG9rZW5S\nZXF1ZXN0VHlwZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlNlY3VyaXR5TW9kZSIgVHlwZU5h\nbWU9InRuczpNZXNzYWdlU2VjdXJpdHlNb2RlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iQ2xp\nZW50Tm9uY2UiIFR5cGVOYW1lPSJvcGM6Qnl0ZVN0cmluZyIgLz4NCiAgICA8b3BjOkZpZWxkIE5h\nbWU9IlJlcXVlc3RlZExpZmV0aW1lIiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgLz4NCiAgPC9vcGM6\nU3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJPcGVuU2VjdXJl\nQ2hhbm5lbFJlc3BvbnNlIiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3Bj\nOkZpZWxkIE5hbWU9IlJlc3BvbnNlSGVhZGVyIiBUeXBlTmFtZT0idG5zOlJlc3BvbnNlSGVhZGVy\nIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU2VydmVyUHJvdG9jb2xWZXJzaW9uIiBUeXBlTmFt\nZT0ib3BjOlVJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlNlY3VyaXR5VG9rZW4iIFR5\ncGVOYW1lPSJ0bnM6Q2hhbm5lbFNlY3VyaXR5VG9rZW4iIC8+DQogICAgPG9wYzpGaWVsZCBOYW1l\nPSJTZXJ2ZXJOb25jZSIgVHlwZU5hbWU9Im9wYzpCeXRlU3RyaW5nIiAvPg0KICA8L29wYzpTdHJ1\nY3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IkNsb3NlU2VjdXJlQ2hh\nbm5lbFJlcXVlc3QiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6Rmll\nbGQgTmFtZT0iUmVxdWVzdEhlYWRlciIgVHlwZU5hbWU9InRuczpSZXF1ZXN0SGVhZGVyIiAvPg0K\nICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IkNs\nb3NlU2VjdXJlQ2hhbm5lbFJlc3BvbnNlIiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4N\nCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlc3BvbnNlSGVhZGVyIiBUeXBlTmFtZT0idG5zOlJlc3Bv\nbnNlSGVhZGVyIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVy\nZWRUeXBlIE5hbWU9IlNpZ25lZFNvZnR3YXJlQ2VydGlmaWNhdGUiIEJhc2VUeXBlPSJ1YTpFeHRl\nbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iQ2VydGlmaWNhdGVEYXRhIiBUeXBl\nTmFtZT0ib3BjOkJ5dGVTdHJpbmciIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTaWduYXR1cmUi\nIFR5cGVOYW1lPSJvcGM6Qnl0ZVN0cmluZyIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoN\nCiAgPG9wYzpPcGFxdWVUeXBlIE5hbWU9IlNlc3Npb25BdXRoZW50aWNhdGlvblRva2VuIj4NCiAg\nPC9vcGM6T3BhcXVlVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IlNpZ25hdHVy\nZURhdGEiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RmllbGQgTmFt\nZT0iQWxnb3JpdGhtIiBUeXBlTmFtZT0ib3BjOlN0cmluZyIgLz4NCiAgICA8b3BjOkZpZWxkIE5h\nbWU9IlNpZ25hdHVyZSIgVHlwZU5hbWU9Im9wYzpCeXRlU3RyaW5nIiAvPg0KICA8L29wYzpTdHJ1\nY3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IkNyZWF0ZVNlc3Npb25S\nZXF1ZXN0IiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkZpZWxkIE5h\nbWU9IlJlcXVlc3RIZWFkZXIiIFR5cGVOYW1lPSJ0bnM6UmVxdWVzdEhlYWRlciIgLz4NCiAgICA8\nb3BjOkZpZWxkIE5hbWU9IkNsaWVudERlc2NyaXB0aW9uIiBUeXBlTmFtZT0idG5zOkFwcGxpY2F0\naW9uRGVzY3JpcHRpb24iIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTZXJ2ZXJVcmkiIFR5cGVO\nYW1lPSJvcGM6U3RyaW5nIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRW5kcG9pbnRVcmwiIFR5\ncGVOYW1lPSJvcGM6U3RyaW5nIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU2Vzc2lvbk5hbWUi\nIFR5cGVOYW1lPSJvcGM6U3RyaW5nIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iQ2xpZW50Tm9u\nY2UiIFR5cGVOYW1lPSJvcGM6Qnl0ZVN0cmluZyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkNs\naWVudENlcnRpZmljYXRlIiBUeXBlTmFtZT0ib3BjOkJ5dGVTdHJpbmciIC8+DQogICAgPG9wYzpG\naWVsZCBOYW1lPSJSZXF1ZXN0ZWRTZXNzaW9uVGltZW91dCIgVHlwZU5hbWU9Im9wYzpEb3VibGUi\nIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJNYXhSZXNwb25zZU1lc3NhZ2VTaXplIiBUeXBlTmFt\nZT0ib3BjOlVJbnQzMiIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1\nY3R1cmVkVHlwZSBOYW1lPSJDcmVhdGVTZXNzaW9uUmVzcG9uc2UiIEJhc2VUeXBlPSJ1YTpFeHRl\nbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVzcG9uc2VIZWFkZXIiIFR5cGVO\nYW1lPSJ0bnM6UmVzcG9uc2VIZWFkZXIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTZXNzaW9u\nSWQiIFR5cGVOYW1lPSJ1YTpOb2RlSWQiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJBdXRoZW50\naWNhdGlvblRva2VuIiBUeXBlTmFtZT0idWE6Tm9kZUlkIiAvPg0KICAgIDxvcGM6RmllbGQgTmFt\nZT0iUmV2aXNlZFNlc3Npb25UaW1lb3V0IiBUeXBlTmFtZT0ib3BjOkRvdWJsZSIgLz4NCiAgICA8\nb3BjOkZpZWxkIE5hbWU9IlNlcnZlck5vbmNlIiBUeXBlTmFtZT0ib3BjOkJ5dGVTdHJpbmciIC8+\nDQogICAgPG9wYzpGaWVsZCBOYW1lPSJTZXJ2ZXJDZXJ0aWZpY2F0ZSIgVHlwZU5hbWU9Im9wYzpC\neXRlU3RyaW5nIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZlNlcnZlckVuZHBvaW50cyIg\nVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlNlcnZlckVuZHBv\naW50cyIgVHlwZU5hbWU9InRuczpFbmRwb2ludERlc2NyaXB0aW9uIiBMZW5ndGhGaWVsZD0iTm9P\nZlNlcnZlckVuZHBvaW50cyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZTZXJ2ZXJTb2Z0\nd2FyZUNlcnRpZmljYXRlcyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxk\nIE5hbWU9IlNlcnZlclNvZnR3YXJlQ2VydGlmaWNhdGVzIiBUeXBlTmFtZT0idG5zOlNpZ25lZFNv\nZnR3YXJlQ2VydGlmaWNhdGUiIExlbmd0aEZpZWxkPSJOb09mU2VydmVyU29mdHdhcmVDZXJ0aWZp\nY2F0ZXMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTZXJ2ZXJTaWduYXR1cmUiIFR5cGVOYW1l\nPSJ0bnM6U2lnbmF0dXJlRGF0YSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik1heFJlcXVlc3RN\nZXNzYWdlU2l6ZSIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRU\neXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iVXNlcklkZW50aXR5VG9rZW4iIEJh\nc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUG9saWN5\nSWQiIFR5cGVOYW1lPSJvcGM6U3RyaW5nIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0K\nICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IkFub255bW91c0lkZW50aXR5VG9rZW4iIEJhc2VU\neXBlPSJ0bnM6VXNlcklkZW50aXR5VG9rZW4iPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUG9saWN5\nSWQiIFR5cGVOYW1lPSJvcGM6U3RyaW5nIiBTb3VyY2VUeXBlPSJ0bnM6VXNlcklkZW50aXR5VG9r\nZW4iIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUg\nTmFtZT0iVXNlck5hbWVJZGVudGl0eVRva2VuIiBCYXNlVHlwZT0idG5zOlVzZXJJZGVudGl0eVRv\na2VuIj4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlBvbGljeUlkIiBUeXBlTmFtZT0ib3BjOlN0cmlu\nZyIgU291cmNlVHlwZT0idG5zOlVzZXJJZGVudGl0eVRva2VuIiAvPg0KICAgIDxvcGM6RmllbGQg\nTmFtZT0iVXNlck5hbWUiIFR5cGVOYW1lPSJvcGM6U3RyaW5nIiAvPg0KICAgIDxvcGM6RmllbGQg\nTmFtZT0iUGFzc3dvcmQiIFR5cGVOYW1lPSJvcGM6Qnl0ZVN0cmluZyIgLz4NCiAgICA8b3BjOkZp\nZWxkIE5hbWU9IkVuY3J5cHRpb25BbGdvcml0aG0iIFR5cGVOYW1lPSJvcGM6U3RyaW5nIiAvPg0K\nICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9Ilg1\nMDlJZGVudGl0eVRva2VuIiBCYXNlVHlwZT0idG5zOlVzZXJJZGVudGl0eVRva2VuIj4NCiAgICA8\nb3BjOkZpZWxkIE5hbWU9IlBvbGljeUlkIiBUeXBlTmFtZT0ib3BjOlN0cmluZyIgU291cmNlVHlw\nZT0idG5zOlVzZXJJZGVudGl0eVRva2VuIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iQ2VydGlm\naWNhdGVEYXRhIiBUeXBlTmFtZT0ib3BjOkJ5dGVTdHJpbmciIC8+DQogIDwvb3BjOlN0cnVjdHVy\nZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iSXNzdWVkSWRlbnRpdHlUb2tl\nbiIgQmFzZVR5cGU9InRuczpVc2VySWRlbnRpdHlUb2tlbiI+DQogICAgPG9wYzpGaWVsZCBOYW1l\nPSJQb2xpY3lJZCIgVHlwZU5hbWU9Im9wYzpTdHJpbmciIFNvdXJjZVR5cGU9InRuczpVc2VySWRl\nbnRpdHlUb2tlbiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlRva2VuRGF0YSIgVHlwZU5hbWU9\nIm9wYzpCeXRlU3RyaW5nIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRW5jcnlwdGlvbkFsZ29y\naXRobSIgVHlwZU5hbWU9Im9wYzpTdHJpbmciIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0K\nDQogIDxvcGM6T3BhcXVlVHlwZSBOYW1lPSJSc2FFbmNyeXB0ZWRTZWNyZXQiPg0KICA8L29wYzpP\ncGFxdWVUeXBlPg0KDQogIDxvcGM6T3BhcXVlVHlwZSBOYW1lPSJFY2NFbmNyeXB0ZWRTZWNyZXQi\nPg0KICA8L29wYzpPcGFxdWVUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iQWN0\naXZhdGVTZXNzaW9uUmVxdWVzdCIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAg\nPG9wYzpGaWVsZCBOYW1lPSJSZXF1ZXN0SGVhZGVyIiBUeXBlTmFtZT0idG5zOlJlcXVlc3RIZWFk\nZXIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJDbGllbnRTaWduYXR1cmUiIFR5cGVOYW1lPSJ0\nbnM6U2lnbmF0dXJlRGF0YSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZDbGllbnRTb2Z0\nd2FyZUNlcnRpZmljYXRlcyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxk\nIE5hbWU9IkNsaWVudFNvZnR3YXJlQ2VydGlmaWNhdGVzIiBUeXBlTmFtZT0idG5zOlNpZ25lZFNv\nZnR3YXJlQ2VydGlmaWNhdGUiIExlbmd0aEZpZWxkPSJOb09mQ2xpZW50U29mdHdhcmVDZXJ0aWZp\nY2F0ZXMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mTG9jYWxlSWRzIiBUeXBlTmFtZT0i\nb3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTG9jYWxlSWRzIiBUeXBlTmFtZT0i\nb3BjOlN0cmluZyIgTGVuZ3RoRmllbGQ9Ik5vT2ZMb2NhbGVJZHMiIC8+DQogICAgPG9wYzpGaWVs\nZCBOYW1lPSJVc2VySWRlbnRpdHlUb2tlbiIgVHlwZU5hbWU9InVhOkV4dGVuc2lvbk9iamVjdCIg\nLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlVzZXJUb2tlblNpZ25hdHVyZSIgVHlwZU5hbWU9InRu\nczpTaWduYXR1cmVEYXRhIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0\ncnVjdHVyZWRUeXBlIE5hbWU9IkFjdGl2YXRlU2Vzc2lvblJlc3BvbnNlIiBCYXNlVHlwZT0idWE6\nRXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlc3BvbnNlSGVhZGVyIiBU\neXBlTmFtZT0idG5zOlJlc3BvbnNlSGVhZGVyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU2Vy\ndmVyTm9uY2UiIFR5cGVOYW1lPSJvcGM6Qnl0ZVN0cmluZyIgLz4NCiAgICA8b3BjOkZpZWxkIE5h\nbWU9Ik5vT2ZSZXN1bHRzIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQg\nTmFtZT0iUmVzdWx0cyIgVHlwZU5hbWU9InVhOlN0YXR1c0NvZGUiIExlbmd0aEZpZWxkPSJOb09m\nUmVzdWx0cyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZEaWFnbm9zdGljSW5mb3MiIFR5\ncGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJEaWFnbm9zdGljSW5m\nb3MiIFR5cGVOYW1lPSJ1YTpEaWFnbm9zdGljSW5mbyIgTGVuZ3RoRmllbGQ9Ik5vT2ZEaWFnbm9z\ndGljSW5mb3MiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJl\nZFR5cGUgTmFtZT0iQ2xvc2VTZXNzaW9uUmVxdWVzdCIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9i\namVjdCI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXF1ZXN0SGVhZGVyIiBUeXBlTmFtZT0idG5z\nOlJlcXVlc3RIZWFkZXIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJEZWxldGVTdWJzY3JpcHRp\nb25zIiBUeXBlTmFtZT0ib3BjOkJvb2xlYW4iIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0K\nDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iQ2xvc2VTZXNzaW9uUmVzcG9uc2UiIEJhc2VU\neXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVzcG9uc2VI\nZWFkZXIiIFR5cGVOYW1lPSJ0bnM6UmVzcG9uc2VIZWFkZXIiIC8+DQogIDwvb3BjOlN0cnVjdHVy\nZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iQ2FuY2VsUmVxdWVzdCIgQmFz\nZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXF1ZXN0\nSGVhZGVyIiBUeXBlTmFtZT0idG5zOlJlcXVlc3RIZWFkZXIiIC8+DQogICAgPG9wYzpGaWVsZCBO\nYW1lPSJSZXF1ZXN0SGFuZGxlIiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgLz4NCiAgPC9vcGM6U3Ry\ndWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJDYW5jZWxSZXNwb25z\nZSIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJS\nZXNwb25zZUhlYWRlciIgVHlwZU5hbWU9InRuczpSZXNwb25zZUhlYWRlciIgLz4NCiAgICA8b3Bj\nOkZpZWxkIE5hbWU9IkNhbmNlbENvdW50IiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgLz4NCiAgPC9v\ncGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpFbnVtZXJhdGVkVHlwZSBOYW1lPSJOb2RlQXR0\ncmlidXRlc01hc2siIExlbmd0aEluQml0cz0iMzIiPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVl\nIE5hbWU9Ik5vbmUiIFZhbHVlPSIwIiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9\nIkFjY2Vzc0xldmVsIiBWYWx1ZT0iMSIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1l\nPSJBcnJheURpbWVuc2lvbnMiIFZhbHVlPSIyIiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVl\nIE5hbWU9IkJyb3dzZU5hbWUiIFZhbHVlPSI0IiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVl\nIE5hbWU9IkNvbnRhaW5zTm9Mb29wcyIgVmFsdWU9IjgiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVk\nVmFsdWUgTmFtZT0iRGF0YVR5cGUiIFZhbHVlPSIxNiIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRW\nYWx1ZSBOYW1lPSJEZXNjcmlwdGlvbiIgVmFsdWU9IjMyIiAvPg0KICAgIDxvcGM6RW51bWVyYXRl\nZFZhbHVlIE5hbWU9IkRpc3BsYXlOYW1lIiBWYWx1ZT0iNjQiIC8+DQogICAgPG9wYzpFbnVtZXJh\ndGVkVmFsdWUgTmFtZT0iRXZlbnROb3RpZmllciIgVmFsdWU9IjEyOCIgLz4NCiAgICA8b3BjOkVu\ndW1lcmF0ZWRWYWx1ZSBOYW1lPSJFeGVjdXRhYmxlIiBWYWx1ZT0iMjU2IiAvPg0KICAgIDxvcGM6\nRW51bWVyYXRlZFZhbHVlIE5hbWU9Ikhpc3Rvcml6aW5nIiBWYWx1ZT0iNTEyIiAvPg0KICAgIDxv\ncGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IkludmVyc2VOYW1lIiBWYWx1ZT0iMTAyNCIgLz4NCiAg\nICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJJc0Fic3RyYWN0IiBWYWx1ZT0iMjA0OCIgLz4N\nCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJNaW5pbXVtU2FtcGxpbmdJbnRlcnZhbCIg\nVmFsdWU9IjQwOTYiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iTm9kZUNsYXNz\nIiBWYWx1ZT0iODE5MiIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJOb2RlSWQi\nIFZhbHVlPSIxNjM4NCIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJTeW1tZXRy\naWMiIFZhbHVlPSIzMjc2OCIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJVc2Vy\nQWNjZXNzTGV2ZWwiIFZhbHVlPSI2NTUzNiIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBO\nYW1lPSJVc2VyRXhlY3V0YWJsZSIgVmFsdWU9IjEzMTA3MiIgLz4NCiAgICA8b3BjOkVudW1lcmF0\nZWRWYWx1ZSBOYW1lPSJVc2VyV3JpdGVNYXNrIiBWYWx1ZT0iMjYyMTQ0IiAvPg0KICAgIDxvcGM6\nRW51bWVyYXRlZFZhbHVlIE5hbWU9IlZhbHVlUmFuayIgVmFsdWU9IjUyNDI4OCIgLz4NCiAgICA8\nb3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJXcml0ZU1hc2siIFZhbHVlPSIxMDQ4NTc2IiAvPg0K\nICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IlZhbHVlIiBWYWx1ZT0iMjA5NzE1MiIgLz4N\nCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJEYXRhVHlwZURlZmluaXRpb24iIFZhbHVl\nPSI0MTk0MzA0IiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IlJvbGVQZXJtaXNz\naW9ucyIgVmFsdWU9IjgzODg2MDgiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0i\nQWNjZXNzUmVzdHJpY3Rpb25zIiBWYWx1ZT0iMTY3NzcyMTYiIC8+DQogICAgPG9wYzpFbnVtZXJh\ndGVkVmFsdWUgTmFtZT0iQWxsIiBWYWx1ZT0iMzM1NTQ0MzEiIC8+DQogICAgPG9wYzpFbnVtZXJh\ndGVkVmFsdWUgTmFtZT0iQmFzZU5vZGUiIFZhbHVlPSIyNjUwMTIyMCIgLz4NCiAgICA8b3BjOkVu\ndW1lcmF0ZWRWYWx1ZSBOYW1lPSJPYmplY3QiIFZhbHVlPSIyNjUwMTM0OCIgLz4NCiAgICA8b3Bj\nOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJPYmplY3RUeXBlIiBWYWx1ZT0iMjY1MDMyNjgiIC8+DQog\nICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iVmFyaWFibGUiIFZhbHVlPSIyNjU3MTM4MyIg\nLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJWYXJpYWJsZVR5cGUiIFZhbHVlPSIy\nODYwMDQzOCIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJNZXRob2QiIFZhbHVl\nPSIyNjYzMjU0OCIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJSZWZlcmVuY2VU\neXBlIiBWYWx1ZT0iMjY1MzcwNjAiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0i\nVmlldyIgVmFsdWU9IjI2NTAxMzU2IiAvPg0KICA8L29wYzpFbnVtZXJhdGVkVHlwZT4NCg0KICA8\nb3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9Ik5vZGVBdHRyaWJ1dGVzIiBCYXNlVHlwZT0idWE6RXh0\nZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlNwZWNpZmllZEF0dHJpYnV0ZXMi\nIFR5cGVOYW1lPSJvcGM6VUludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRGlzcGxheU5h\nbWUiIFR5cGVOYW1lPSJ1YTpMb2NhbGl6ZWRUZXh0IiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0i\nRGVzY3JpcHRpb24iIFR5cGVOYW1lPSJ1YTpMb2NhbGl6ZWRUZXh0IiAvPg0KICAgIDxvcGM6Rmll\nbGQgTmFtZT0iV3JpdGVNYXNrIiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgLz4NCiAgICA8b3BjOkZp\nZWxkIE5hbWU9IlVzZXJXcml0ZU1hc2siIFR5cGVOYW1lPSJvcGM6VUludDMyIiAvPg0KICA8L29w\nYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9Ik9iamVjdEF0\ndHJpYnV0ZXMiIEJhc2VUeXBlPSJ0bnM6Tm9kZUF0dHJpYnV0ZXMiPg0KICAgIDxvcGM6RmllbGQg\nTmFtZT0iU3BlY2lmaWVkQXR0cmlidXRlcyIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIFNvdXJjZVR5\ncGU9InRuczpOb2RlQXR0cmlidXRlcyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkRpc3BsYXlO\nYW1lIiBUeXBlTmFtZT0idWE6TG9jYWxpemVkVGV4dCIgU291cmNlVHlwZT0idG5zOk5vZGVBdHRy\naWJ1dGVzIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRGVzY3JpcHRpb24iIFR5cGVOYW1lPSJ1\nYTpMb2NhbGl6ZWRUZXh0IiBTb3VyY2VUeXBlPSJ0bnM6Tm9kZUF0dHJpYnV0ZXMiIC8+DQogICAg\nPG9wYzpGaWVsZCBOYW1lPSJXcml0ZU1hc2siIFR5cGVOYW1lPSJvcGM6VUludDMyIiBTb3VyY2VU\neXBlPSJ0bnM6Tm9kZUF0dHJpYnV0ZXMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJVc2VyV3Jp\ndGVNYXNrIiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgU291cmNlVHlwZT0idG5zOk5vZGVBdHRyaWJ1\ndGVzIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRXZlbnROb3RpZmllciIgVHlwZU5hbWU9Im9w\nYzpCeXRlIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRU\neXBlIE5hbWU9IlZhcmlhYmxlQXR0cmlidXRlcyIgQmFzZVR5cGU9InRuczpOb2RlQXR0cmlidXRl\ncyI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTcGVjaWZpZWRBdHRyaWJ1dGVzIiBUeXBlTmFtZT0i\nb3BjOlVJbnQzMiIgU291cmNlVHlwZT0idG5zOk5vZGVBdHRyaWJ1dGVzIiAvPg0KICAgIDxvcGM6\nRmllbGQgTmFtZT0iRGlzcGxheU5hbWUiIFR5cGVOYW1lPSJ1YTpMb2NhbGl6ZWRUZXh0IiBTb3Vy\nY2VUeXBlPSJ0bnM6Tm9kZUF0dHJpYnV0ZXMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJEZXNj\ncmlwdGlvbiIgVHlwZU5hbWU9InVhOkxvY2FsaXplZFRleHQiIFNvdXJjZVR5cGU9InRuczpOb2Rl\nQXR0cmlidXRlcyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IldyaXRlTWFzayIgVHlwZU5hbWU9\nIm9wYzpVSW50MzIiIFNvdXJjZVR5cGU9InRuczpOb2RlQXR0cmlidXRlcyIgLz4NCiAgICA8b3Bj\nOkZpZWxkIE5hbWU9IlVzZXJXcml0ZU1hc2siIFR5cGVOYW1lPSJvcGM6VUludDMyIiBTb3VyY2VU\neXBlPSJ0bnM6Tm9kZUF0dHJpYnV0ZXMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJWYWx1ZSIg\nVHlwZU5hbWU9InVhOlZhcmlhbnQiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJEYXRhVHlwZSIg\nVHlwZU5hbWU9InVhOk5vZGVJZCIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlZhbHVlUmFuayIg\nVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZBcnJheURp\nbWVuc2lvbnMiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJB\ncnJheURpbWVuc2lvbnMiIFR5cGVOYW1lPSJvcGM6VUludDMyIiBMZW5ndGhGaWVsZD0iTm9PZkFy\ncmF5RGltZW5zaW9ucyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkFjY2Vzc0xldmVsIiBUeXBl\nTmFtZT0ib3BjOkJ5dGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJVc2VyQWNjZXNzTGV2ZWwi\nIFR5cGVOYW1lPSJvcGM6Qnl0ZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik1pbmltdW1TYW1w\nbGluZ0ludGVydmFsIiBUeXBlTmFtZT0ib3BjOkRvdWJsZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5h\nbWU9Ikhpc3Rvcml6aW5nIiBUeXBlTmFtZT0ib3BjOkJvb2xlYW4iIC8+DQogIDwvb3BjOlN0cnVj\ndHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iTWV0aG9kQXR0cmlidXRl\ncyIgQmFzZVR5cGU9InRuczpOb2RlQXR0cmlidXRlcyI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJT\ncGVjaWZpZWRBdHRyaWJ1dGVzIiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgU291cmNlVHlwZT0idG5z\nOk5vZGVBdHRyaWJ1dGVzIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRGlzcGxheU5hbWUiIFR5\ncGVOYW1lPSJ1YTpMb2NhbGl6ZWRUZXh0IiBTb3VyY2VUeXBlPSJ0bnM6Tm9kZUF0dHJpYnV0ZXMi\nIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJEZXNjcmlwdGlvbiIgVHlwZU5hbWU9InVhOkxvY2Fs\naXplZFRleHQiIFNvdXJjZVR5cGU9InRuczpOb2RlQXR0cmlidXRlcyIgLz4NCiAgICA8b3BjOkZp\nZWxkIE5hbWU9IldyaXRlTWFzayIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIFNvdXJjZVR5cGU9InRu\nczpOb2RlQXR0cmlidXRlcyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlVzZXJXcml0ZU1hc2si\nIFR5cGVOYW1lPSJvcGM6VUludDMyIiBTb3VyY2VUeXBlPSJ0bnM6Tm9kZUF0dHJpYnV0ZXMiIC8+\nDQogICAgPG9wYzpGaWVsZCBOYW1lPSJFeGVjdXRhYmxlIiBUeXBlTmFtZT0ib3BjOkJvb2xlYW4i\nIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJVc2VyRXhlY3V0YWJsZSIgVHlwZU5hbWU9Im9wYzpC\nb29sZWFuIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRU\neXBlIE5hbWU9Ik9iamVjdFR5cGVBdHRyaWJ1dGVzIiBCYXNlVHlwZT0idG5zOk5vZGVBdHRyaWJ1\ndGVzIj4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlNwZWNpZmllZEF0dHJpYnV0ZXMiIFR5cGVOYW1l\nPSJvcGM6VUludDMyIiBTb3VyY2VUeXBlPSJ0bnM6Tm9kZUF0dHJpYnV0ZXMiIC8+DQogICAgPG9w\nYzpGaWVsZCBOYW1lPSJEaXNwbGF5TmFtZSIgVHlwZU5hbWU9InVhOkxvY2FsaXplZFRleHQiIFNv\ndXJjZVR5cGU9InRuczpOb2RlQXR0cmlidXRlcyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkRl\nc2NyaXB0aW9uIiBUeXBlTmFtZT0idWE6TG9jYWxpemVkVGV4dCIgU291cmNlVHlwZT0idG5zOk5v\nZGVBdHRyaWJ1dGVzIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iV3JpdGVNYXNrIiBUeXBlTmFt\nZT0ib3BjOlVJbnQzMiIgU291cmNlVHlwZT0idG5zOk5vZGVBdHRyaWJ1dGVzIiAvPg0KICAgIDxv\ncGM6RmllbGQgTmFtZT0iVXNlcldyaXRlTWFzayIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIFNvdXJj\nZVR5cGU9InRuczpOb2RlQXR0cmlidXRlcyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IklzQWJz\ndHJhY3QiIFR5cGVOYW1lPSJvcGM6Qm9vbGVhbiIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+\nDQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJWYXJpYWJsZVR5cGVBdHRyaWJ1dGVzIiBC\nYXNlVHlwZT0idG5zOk5vZGVBdHRyaWJ1dGVzIj4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlNwZWNp\nZmllZEF0dHJpYnV0ZXMiIFR5cGVOYW1lPSJvcGM6VUludDMyIiBTb3VyY2VUeXBlPSJ0bnM6Tm9k\nZUF0dHJpYnV0ZXMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJEaXNwbGF5TmFtZSIgVHlwZU5h\nbWU9InVhOkxvY2FsaXplZFRleHQiIFNvdXJjZVR5cGU9InRuczpOb2RlQXR0cmlidXRlcyIgLz4N\nCiAgICA8b3BjOkZpZWxkIE5hbWU9IkRlc2NyaXB0aW9uIiBUeXBlTmFtZT0idWE6TG9jYWxpemVk\nVGV4dCIgU291cmNlVHlwZT0idG5zOk5vZGVBdHRyaWJ1dGVzIiAvPg0KICAgIDxvcGM6RmllbGQg\nTmFtZT0iV3JpdGVNYXNrIiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgU291cmNlVHlwZT0idG5zOk5v\nZGVBdHRyaWJ1dGVzIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iVXNlcldyaXRlTWFzayIgVHlw\nZU5hbWU9Im9wYzpVSW50MzIiIFNvdXJjZVR5cGU9InRuczpOb2RlQXR0cmlidXRlcyIgLz4NCiAg\nICA8b3BjOkZpZWxkIE5hbWU9IlZhbHVlIiBUeXBlTmFtZT0idWE6VmFyaWFudCIgLz4NCiAgICA8\nb3BjOkZpZWxkIE5hbWU9IkRhdGFUeXBlIiBUeXBlTmFtZT0idWE6Tm9kZUlkIiAvPg0KICAgIDxv\ncGM6RmllbGQgTmFtZT0iVmFsdWVSYW5rIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxv\ncGM6RmllbGQgTmFtZT0iTm9PZkFycmF5RGltZW5zaW9ucyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIg\nLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkFycmF5RGltZW5zaW9ucyIgVHlwZU5hbWU9Im9wYzpV\nSW50MzIiIExlbmd0aEZpZWxkPSJOb09mQXJyYXlEaW1lbnNpb25zIiAvPg0KICAgIDxvcGM6Rmll\nbGQgTmFtZT0iSXNBYnN0cmFjdCIgVHlwZU5hbWU9Im9wYzpCb29sZWFuIiAvPg0KICA8L29wYzpT\ndHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IlJlZmVyZW5jZVR5\ncGVBdHRyaWJ1dGVzIiBCYXNlVHlwZT0idG5zOk5vZGVBdHRyaWJ1dGVzIj4NCiAgICA8b3BjOkZp\nZWxkIE5hbWU9IlNwZWNpZmllZEF0dHJpYnV0ZXMiIFR5cGVOYW1lPSJvcGM6VUludDMyIiBTb3Vy\nY2VUeXBlPSJ0bnM6Tm9kZUF0dHJpYnV0ZXMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJEaXNw\nbGF5TmFtZSIgVHlwZU5hbWU9InVhOkxvY2FsaXplZFRleHQiIFNvdXJjZVR5cGU9InRuczpOb2Rl\nQXR0cmlidXRlcyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkRlc2NyaXB0aW9uIiBUeXBlTmFt\nZT0idWE6TG9jYWxpemVkVGV4dCIgU291cmNlVHlwZT0idG5zOk5vZGVBdHRyaWJ1dGVzIiAvPg0K\nICAgIDxvcGM6RmllbGQgTmFtZT0iV3JpdGVNYXNrIiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgU291\ncmNlVHlwZT0idG5zOk5vZGVBdHRyaWJ1dGVzIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iVXNl\ncldyaXRlTWFzayIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIFNvdXJjZVR5cGU9InRuczpOb2RlQXR0\ncmlidXRlcyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IklzQWJzdHJhY3QiIFR5cGVOYW1lPSJv\ncGM6Qm9vbGVhbiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlN5bW1ldHJpYyIgVHlwZU5hbWU9\nIm9wYzpCb29sZWFuIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iSW52ZXJzZU5hbWUiIFR5cGVO\nYW1lPSJ1YTpMb2NhbGl6ZWRUZXh0IiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8\nb3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IkRhdGFUeXBlQXR0cmlidXRlcyIgQmFzZVR5cGU9InRu\nczpOb2RlQXR0cmlidXRlcyI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTcGVjaWZpZWRBdHRyaWJ1\ndGVzIiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgU291cmNlVHlwZT0idG5zOk5vZGVBdHRyaWJ1dGVz\nIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRGlzcGxheU5hbWUiIFR5cGVOYW1lPSJ1YTpMb2Nh\nbGl6ZWRUZXh0IiBTb3VyY2VUeXBlPSJ0bnM6Tm9kZUF0dHJpYnV0ZXMiIC8+DQogICAgPG9wYzpG\naWVsZCBOYW1lPSJEZXNjcmlwdGlvbiIgVHlwZU5hbWU9InVhOkxvY2FsaXplZFRleHQiIFNvdXJj\nZVR5cGU9InRuczpOb2RlQXR0cmlidXRlcyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IldyaXRl\nTWFzayIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIFNvdXJjZVR5cGU9InRuczpOb2RlQXR0cmlidXRl\ncyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlVzZXJXcml0ZU1hc2siIFR5cGVOYW1lPSJvcGM6\nVUludDMyIiBTb3VyY2VUeXBlPSJ0bnM6Tm9kZUF0dHJpYnV0ZXMiIC8+DQogICAgPG9wYzpGaWVs\nZCBOYW1lPSJJc0Fic3RyYWN0IiBUeXBlTmFtZT0ib3BjOkJvb2xlYW4iIC8+DQogIDwvb3BjOlN0\ncnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iVmlld0F0dHJpYnV0\nZXMiIEJhc2VUeXBlPSJ0bnM6Tm9kZUF0dHJpYnV0ZXMiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0i\nU3BlY2lmaWVkQXR0cmlidXRlcyIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIFNvdXJjZVR5cGU9InRu\nczpOb2RlQXR0cmlidXRlcyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkRpc3BsYXlOYW1lIiBU\neXBlTmFtZT0idWE6TG9jYWxpemVkVGV4dCIgU291cmNlVHlwZT0idG5zOk5vZGVBdHRyaWJ1dGVz\nIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRGVzY3JpcHRpb24iIFR5cGVOYW1lPSJ1YTpMb2Nh\nbGl6ZWRUZXh0IiBTb3VyY2VUeXBlPSJ0bnM6Tm9kZUF0dHJpYnV0ZXMiIC8+DQogICAgPG9wYzpG\naWVsZCBOYW1lPSJXcml0ZU1hc2siIFR5cGVOYW1lPSJvcGM6VUludDMyIiBTb3VyY2VUeXBlPSJ0\nbnM6Tm9kZUF0dHJpYnV0ZXMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJVc2VyV3JpdGVNYXNr\nIiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgU291cmNlVHlwZT0idG5zOk5vZGVBdHRyaWJ1dGVzIiAv\nPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iQ29udGFpbnNOb0xvb3BzIiBUeXBlTmFtZT0ib3BjOkJv\nb2xlYW4iIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJFdmVudE5vdGlmaWVyIiBUeXBlTmFtZT0i\nb3BjOkJ5dGUiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJl\nZFR5cGUgTmFtZT0iR2VuZXJpY0F0dHJpYnV0ZVZhbHVlIiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9u\nT2JqZWN0Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkF0dHJpYnV0ZUlkIiBUeXBlTmFtZT0ib3Bj\nOlVJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlZhbHVlIiBUeXBlTmFtZT0idWE6VmFy\naWFudCIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlw\nZSBOYW1lPSJHZW5lcmljQXR0cmlidXRlcyIgQmFzZVR5cGU9InRuczpOb2RlQXR0cmlidXRlcyI+\nDQogICAgPG9wYzpGaWVsZCBOYW1lPSJTcGVjaWZpZWRBdHRyaWJ1dGVzIiBUeXBlTmFtZT0ib3Bj\nOlVJbnQzMiIgU291cmNlVHlwZT0idG5zOk5vZGVBdHRyaWJ1dGVzIiAvPg0KICAgIDxvcGM6Rmll\nbGQgTmFtZT0iRGlzcGxheU5hbWUiIFR5cGVOYW1lPSJ1YTpMb2NhbGl6ZWRUZXh0IiBTb3VyY2VU\neXBlPSJ0bnM6Tm9kZUF0dHJpYnV0ZXMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJEZXNjcmlw\ndGlvbiIgVHlwZU5hbWU9InVhOkxvY2FsaXplZFRleHQiIFNvdXJjZVR5cGU9InRuczpOb2RlQXR0\ncmlidXRlcyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IldyaXRlTWFzayIgVHlwZU5hbWU9Im9w\nYzpVSW50MzIiIFNvdXJjZVR5cGU9InRuczpOb2RlQXR0cmlidXRlcyIgLz4NCiAgICA8b3BjOkZp\nZWxkIE5hbWU9IlVzZXJXcml0ZU1hc2siIFR5cGVOYW1lPSJvcGM6VUludDMyIiBTb3VyY2VUeXBl\nPSJ0bnM6Tm9kZUF0dHJpYnV0ZXMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mQXR0cmli\ndXRlVmFsdWVzIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0i\nQXR0cmlidXRlVmFsdWVzIiBUeXBlTmFtZT0idG5zOkdlbmVyaWNBdHRyaWJ1dGVWYWx1ZSIgTGVu\nZ3RoRmllbGQ9Ik5vT2ZBdHRyaWJ1dGVWYWx1ZXMiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBl\nPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iQWRkTm9kZXNJdGVtIiBCYXNlVHlwZT0i\ndWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlBhcmVudE5vZGVJZCIg\nVHlwZU5hbWU9InVhOkV4cGFuZGVkTm9kZUlkIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVm\nZXJlbmNlVHlwZUlkIiBUeXBlTmFtZT0idWE6Tm9kZUlkIiAvPg0KICAgIDxvcGM6RmllbGQgTmFt\nZT0iUmVxdWVzdGVkTmV3Tm9kZUlkIiBUeXBlTmFtZT0idWE6RXhwYW5kZWROb2RlSWQiIC8+DQog\nICAgPG9wYzpGaWVsZCBOYW1lPSJCcm93c2VOYW1lIiBUeXBlTmFtZT0idWE6UXVhbGlmaWVkTmFt\nZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vZGVDbGFzcyIgVHlwZU5hbWU9InRuczpOb2Rl\nQ2xhc3MiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb2RlQXR0cmlidXRlcyIgVHlwZU5hbWU9\nInVhOkV4dGVuc2lvbk9iamVjdCIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlR5cGVEZWZpbml0\naW9uIiBUeXBlTmFtZT0idWE6RXhwYW5kZWROb2RlSWQiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRU\neXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iQWRkTm9kZXNSZXN1bHQiIEJhc2VU\neXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU3RhdHVzQ29k\nZSIgVHlwZU5hbWU9InVhOlN0YXR1c0NvZGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJBZGRl\nZE5vZGVJZCIgVHlwZU5hbWU9InVhOk5vZGVJZCIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+\nDQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJBZGROb2Rlc1JlcXVlc3QiIEJhc2VUeXBl\nPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVxdWVzdEhlYWRl\nciIgVHlwZU5hbWU9InRuczpSZXF1ZXN0SGVhZGVyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0i\nTm9PZk5vZGVzVG9BZGQiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBO\nYW1lPSJOb2Rlc1RvQWRkIiBUeXBlTmFtZT0idG5zOkFkZE5vZGVzSXRlbSIgTGVuZ3RoRmllbGQ9\nIk5vT2ZOb2Rlc1RvQWRkIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0\ncnVjdHVyZWRUeXBlIE5hbWU9IkFkZE5vZGVzUmVzcG9uc2UiIEJhc2VUeXBlPSJ1YTpFeHRlbnNp\nb25PYmplY3QiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVzcG9uc2VIZWFkZXIiIFR5cGVOYW1l\nPSJ0bnM6UmVzcG9uc2VIZWFkZXIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mUmVzdWx0\ncyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlc3VsdHMi\nIFR5cGVOYW1lPSJ0bnM6QWRkTm9kZXNSZXN1bHQiIExlbmd0aEZpZWxkPSJOb09mUmVzdWx0cyIg\nLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZEaWFnbm9zdGljSW5mb3MiIFR5cGVOYW1lPSJv\ncGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJEaWFnbm9zdGljSW5mb3MiIFR5cGVO\nYW1lPSJ1YTpEaWFnbm9zdGljSW5mbyIgTGVuZ3RoRmllbGQ9Ik5vT2ZEaWFnbm9zdGljSW5mb3Mi\nIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFt\nZT0iQWRkUmVmZXJlbmNlc0l0ZW0iIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAg\nIDxvcGM6RmllbGQgTmFtZT0iU291cmNlTm9kZUlkIiBUeXBlTmFtZT0idWE6Tm9kZUlkIiAvPg0K\nICAgIDxvcGM6RmllbGQgTmFtZT0iUmVmZXJlbmNlVHlwZUlkIiBUeXBlTmFtZT0idWE6Tm9kZUlk\nIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iSXNGb3J3YXJkIiBUeXBlTmFtZT0ib3BjOkJvb2xl\nYW4iIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJUYXJnZXRTZXJ2ZXJVcmkiIFR5cGVOYW1lPSJv\ncGM6U3RyaW5nIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iVGFyZ2V0Tm9kZUlkIiBUeXBlTmFt\nZT0idWE6RXhwYW5kZWROb2RlSWQiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJUYXJnZXROb2Rl\nQ2xhc3MiIFR5cGVOYW1lPSJ0bnM6Tm9kZUNsYXNzIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlw\nZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IkFkZFJlZmVyZW5jZXNSZXF1ZXN0IiBC\nYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlcXVl\nc3RIZWFkZXIiIFR5cGVOYW1lPSJ0bnM6UmVxdWVzdEhlYWRlciIgLz4NCiAgICA8b3BjOkZpZWxk\nIE5hbWU9Ik5vT2ZSZWZlcmVuY2VzVG9BZGQiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAg\nPG9wYzpGaWVsZCBOYW1lPSJSZWZlcmVuY2VzVG9BZGQiIFR5cGVOYW1lPSJ0bnM6QWRkUmVmZXJl\nbmNlc0l0ZW0iIExlbmd0aEZpZWxkPSJOb09mUmVmZXJlbmNlc1RvQWRkIiAvPg0KICA8L29wYzpT\ndHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IkFkZFJlZmVyZW5j\nZXNSZXNwb25zZSIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpGaWVs\nZCBOYW1lPSJSZXNwb25zZUhlYWRlciIgVHlwZU5hbWU9InRuczpSZXNwb25zZUhlYWRlciIgLz4N\nCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZSZXN1bHRzIiBUeXBlTmFtZT0ib3BjOkludDMyIiAv\nPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVzdWx0cyIgVHlwZU5hbWU9InVhOlN0YXR1c0NvZGUi\nIExlbmd0aEZpZWxkPSJOb09mUmVzdWx0cyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZE\naWFnbm9zdGljSW5mb3MiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBO\nYW1lPSJEaWFnbm9zdGljSW5mb3MiIFR5cGVOYW1lPSJ1YTpEaWFnbm9zdGljSW5mbyIgTGVuZ3Ro\nRmllbGQ9Ik5vT2ZEaWFnbm9zdGljSW5mb3MiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0K\nDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iRGVsZXRlTm9kZXNJdGVtIiBCYXNlVHlwZT0i\ndWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vZGVJZCIgVHlwZU5h\nbWU9InVhOk5vZGVJZCIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkRlbGV0ZVRhcmdldFJlZmVy\nZW5jZXMiIFR5cGVOYW1lPSJvcGM6Qm9vbGVhbiIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+\nDQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJEZWxldGVOb2Rlc1JlcXVlc3QiIEJhc2VU\neXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVxdWVzdEhl\nYWRlciIgVHlwZU5hbWU9InRuczpSZXF1ZXN0SGVhZGVyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFt\nZT0iTm9PZk5vZGVzVG9EZWxldGUiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpG\naWVsZCBOYW1lPSJOb2Rlc1RvRGVsZXRlIiBUeXBlTmFtZT0idG5zOkRlbGV0ZU5vZGVzSXRlbSIg\nTGVuZ3RoRmllbGQ9Ik5vT2ZOb2Rlc1RvRGVsZXRlIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlw\nZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IkRlbGV0ZU5vZGVzUmVzcG9uc2UiIEJh\nc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVzcG9u\nc2VIZWFkZXIiIFR5cGVOYW1lPSJ0bnM6UmVzcG9uc2VIZWFkZXIiIC8+DQogICAgPG9wYzpGaWVs\nZCBOYW1lPSJOb09mUmVzdWx0cyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZp\nZWxkIE5hbWU9IlJlc3VsdHMiIFR5cGVOYW1lPSJ1YTpTdGF0dXNDb2RlIiBMZW5ndGhGaWVsZD0i\nTm9PZlJlc3VsdHMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mRGlhZ25vc3RpY0luZm9z\nIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRGlhZ25vc3Rp\nY0luZm9zIiBUeXBlTmFtZT0idWE6RGlhZ25vc3RpY0luZm8iIExlbmd0aEZpZWxkPSJOb09mRGlh\nZ25vc3RpY0luZm9zIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVj\ndHVyZWRUeXBlIE5hbWU9IkRlbGV0ZVJlZmVyZW5jZXNJdGVtIiBCYXNlVHlwZT0idWE6RXh0ZW5z\naW9uT2JqZWN0Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlNvdXJjZU5vZGVJZCIgVHlwZU5hbWU9\nInVhOk5vZGVJZCIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlZmVyZW5jZVR5cGVJZCIgVHlw\nZU5hbWU9InVhOk5vZGVJZCIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IklzRm9yd2FyZCIgVHlw\nZU5hbWU9Im9wYzpCb29sZWFuIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iVGFyZ2V0Tm9kZUlk\nIiBUeXBlTmFtZT0idWE6RXhwYW5kZWROb2RlSWQiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJE\nZWxldGVCaWRpcmVjdGlvbmFsIiBUeXBlTmFtZT0ib3BjOkJvb2xlYW4iIC8+DQogIDwvb3BjOlN0\ncnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iRGVsZXRlUmVmZXJl\nbmNlc1JlcXVlc3QiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6Rmll\nbGQgTmFtZT0iUmVxdWVzdEhlYWRlciIgVHlwZU5hbWU9InRuczpSZXF1ZXN0SGVhZGVyIiAvPg0K\nICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZlJlZmVyZW5jZXNUb0RlbGV0ZSIgVHlwZU5hbWU9Im9w\nYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlZmVyZW5jZXNUb0RlbGV0ZSIgVHlw\nZU5hbWU9InRuczpEZWxldGVSZWZlcmVuY2VzSXRlbSIgTGVuZ3RoRmllbGQ9Ik5vT2ZSZWZlcmVu\nY2VzVG9EZWxldGUiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0\ndXJlZFR5cGUgTmFtZT0iRGVsZXRlUmVmZXJlbmNlc1Jlc3BvbnNlIiBCYXNlVHlwZT0idWE6RXh0\nZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlc3BvbnNlSGVhZGVyIiBUeXBl\nTmFtZT0idG5zOlJlc3BvbnNlSGVhZGVyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZlJl\nc3VsdHMiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXN1\nbHRzIiBUeXBlTmFtZT0idWE6U3RhdHVzQ29kZSIgTGVuZ3RoRmllbGQ9Ik5vT2ZSZXN1bHRzIiAv\nPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZkRpYWdub3N0aWNJbmZvcyIgVHlwZU5hbWU9Im9w\nYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkRpYWdub3N0aWNJbmZvcyIgVHlwZU5h\nbWU9InVhOkRpYWdub3N0aWNJbmZvIiBMZW5ndGhGaWVsZD0iTm9PZkRpYWdub3N0aWNJbmZvcyIg\nLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpFbnVtZXJhdGVkVHlwZSBOYW1l\nPSJBdHRyaWJ1dGVXcml0ZU1hc2siIExlbmd0aEluQml0cz0iMzIiIElzT3B0aW9uU2V0PSJ0cnVl\nIj4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJOb25lIiBWYWx1ZT0iMCIgLz4NCiAg\nICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJBY2Nlc3NMZXZlbCIgVmFsdWU9IjEiIC8+DQog\nICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iQXJyYXlEaW1lbnNpb25zIiBWYWx1ZT0iMiIg\nLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJCcm93c2VOYW1lIiBWYWx1ZT0iNCIg\nLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJDb250YWluc05vTG9vcHMiIFZhbHVl\nPSI4IiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IkRhdGFUeXBlIiBWYWx1ZT0i\nMTYiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iRGVzY3JpcHRpb24iIFZhbHVl\nPSIzMiIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJEaXNwbGF5TmFtZSIgVmFs\ndWU9IjY0IiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IkV2ZW50Tm90aWZpZXIi\nIFZhbHVlPSIxMjgiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iRXhlY3V0YWJs\nZSIgVmFsdWU9IjI1NiIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJIaXN0b3Jp\nemluZyIgVmFsdWU9IjUxMiIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJJbnZl\ncnNlTmFtZSIgVmFsdWU9IjEwMjQiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0i\nSXNBYnN0cmFjdCIgVmFsdWU9IjIwNDgiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFt\nZT0iTWluaW11bVNhbXBsaW5nSW50ZXJ2YWwiIFZhbHVlPSI0MDk2IiAvPg0KICAgIDxvcGM6RW51\nbWVyYXRlZFZhbHVlIE5hbWU9Ik5vZGVDbGFzcyIgVmFsdWU9IjgxOTIiIC8+DQogICAgPG9wYzpF\nbnVtZXJhdGVkVmFsdWUgTmFtZT0iTm9kZUlkIiBWYWx1ZT0iMTYzODQiIC8+DQogICAgPG9wYzpF\nbnVtZXJhdGVkVmFsdWUgTmFtZT0iU3ltbWV0cmljIiBWYWx1ZT0iMzI3NjgiIC8+DQogICAgPG9w\nYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iVXNlckFjY2Vzc0xldmVsIiBWYWx1ZT0iNjU1MzYiIC8+\nDQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iVXNlckV4ZWN1dGFibGUiIFZhbHVlPSIx\nMzEwNzIiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iVXNlcldyaXRlTWFzayIg\nVmFsdWU9IjI2MjE0NCIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJWYWx1ZVJh\nbmsiIFZhbHVlPSI1MjQyODgiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iV3Jp\ndGVNYXNrIiBWYWx1ZT0iMTA0ODU3NiIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1l\nPSJWYWx1ZUZvclZhcmlhYmxlVHlwZSIgVmFsdWU9IjIwOTcxNTIiIC8+DQogICAgPG9wYzpFbnVt\nZXJhdGVkVmFsdWUgTmFtZT0iRGF0YVR5cGVEZWZpbml0aW9uIiBWYWx1ZT0iNDE5NDMwNCIgLz4N\nCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJSb2xlUGVybWlzc2lvbnMiIFZhbHVlPSI4\nMzg4NjA4IiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IkFjY2Vzc1Jlc3RyaWN0\naW9ucyIgVmFsdWU9IjE2Nzc3MjE2IiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9\nIkFjY2Vzc0xldmVsRXgiIFZhbHVlPSIzMzU1NDQzMiIgLz4NCiAgPC9vcGM6RW51bWVyYXRlZFR5\ncGU+DQoNCiAgPG9wYzpFbnVtZXJhdGVkVHlwZSBOYW1lPSJCcm93c2VEaXJlY3Rpb24iIExlbmd0\naEluQml0cz0iMzIiPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IkZvcndhcmQiIFZh\nbHVlPSIwIiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IkludmVyc2UiIFZhbHVl\nPSIxIiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IkJvdGgiIFZhbHVlPSIyIiAv\nPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IkludmFsaWQiIFZhbHVlPSIzIiAvPg0K\nICA8L29wYzpFbnVtZXJhdGVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IlZp\nZXdEZXNjcmlwdGlvbiIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpG\naWVsZCBOYW1lPSJWaWV3SWQiIFR5cGVOYW1lPSJ1YTpOb2RlSWQiIC8+DQogICAgPG9wYzpGaWVs\nZCBOYW1lPSJUaW1lc3RhbXAiIFR5cGVOYW1lPSJvcGM6RGF0ZVRpbWUiIC8+DQogICAgPG9wYzpG\naWVsZCBOYW1lPSJWaWV3VmVyc2lvbiIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+DQogIDwvb3Bj\nOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iQnJvd3NlRGVz\nY3JpcHRpb24iIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RmllbGQg\nTmFtZT0iTm9kZUlkIiBUeXBlTmFtZT0idWE6Tm9kZUlkIiAvPg0KICAgIDxvcGM6RmllbGQgTmFt\nZT0iQnJvd3NlRGlyZWN0aW9uIiBUeXBlTmFtZT0idG5zOkJyb3dzZURpcmVjdGlvbiIgLz4NCiAg\nICA8b3BjOkZpZWxkIE5hbWU9IlJlZmVyZW5jZVR5cGVJZCIgVHlwZU5hbWU9InVhOk5vZGVJZCIg\nLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkluY2x1ZGVTdWJ0eXBlcyIgVHlwZU5hbWU9Im9wYzpC\nb29sZWFuIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9kZUNsYXNzTWFzayIgVHlwZU5hbWU9\nIm9wYzpVSW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXN1bHRNYXNrIiBUeXBlTmFt\nZT0ib3BjOlVJbnQzMiIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpFbnVt\nZXJhdGVkVHlwZSBOYW1lPSJCcm93c2VSZXN1bHRNYXNrIiBMZW5ndGhJbkJpdHM9IjMyIj4NCiAg\nICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJOb25lIiBWYWx1ZT0iMCIgLz4NCiAgICA8b3Bj\nOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJSZWZlcmVuY2VUeXBlSWQiIFZhbHVlPSIxIiAvPg0KICAg\nIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IklzRm9yd2FyZCIgVmFsdWU9IjIiIC8+DQogICAg\nPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iTm9kZUNsYXNzIiBWYWx1ZT0iNCIgLz4NCiAgICA8\nb3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJCcm93c2VOYW1lIiBWYWx1ZT0iOCIgLz4NCiAgICA8\nb3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJEaXNwbGF5TmFtZSIgVmFsdWU9IjE2IiAvPg0KICAg\nIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IlR5cGVEZWZpbml0aW9uIiBWYWx1ZT0iMzIiIC8+\nDQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iQWxsIiBWYWx1ZT0iNjMiIC8+DQogICAg\nPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iUmVmZXJlbmNlVHlwZUluZm8iIFZhbHVlPSIzIiAv\nPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IlRhcmdldEluZm8iIFZhbHVlPSI2MCIg\nLz4NCiAgPC9vcGM6RW51bWVyYXRlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1l\nPSJSZWZlcmVuY2VEZXNjcmlwdGlvbiIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQog\nICAgPG9wYzpGaWVsZCBOYW1lPSJSZWZlcmVuY2VUeXBlSWQiIFR5cGVOYW1lPSJ1YTpOb2RlSWQi\nIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJJc0ZvcndhcmQiIFR5cGVOYW1lPSJvcGM6Qm9vbGVh\nbiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vZGVJZCIgVHlwZU5hbWU9InVhOkV4cGFuZGVk\nTm9kZUlkIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iQnJvd3NlTmFtZSIgVHlwZU5hbWU9InVh\nOlF1YWxpZmllZE5hbWUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJEaXNwbGF5TmFtZSIgVHlw\nZU5hbWU9InVhOkxvY2FsaXplZFRleHQiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb2RlQ2xh\nc3MiIFR5cGVOYW1lPSJ0bnM6Tm9kZUNsYXNzIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iVHlw\nZURlZmluaXRpb24iIFR5cGVOYW1lPSJ1YTpFeHBhbmRlZE5vZGVJZCIgLz4NCiAgPC9vcGM6U3Ry\ndWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpPcGFxdWVUeXBlIE5hbWU9IkNvbnRpbnVhdGlvblBvaW50\nIj4NCiAgPC9vcGM6T3BhcXVlVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IkJy\nb3dzZVJlc3VsdCIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpGaWVs\nZCBOYW1lPSJTdGF0dXNDb2RlIiBUeXBlTmFtZT0idWE6U3RhdHVzQ29kZSIgLz4NCiAgICA8b3Bj\nOkZpZWxkIE5hbWU9IkNvbnRpbnVhdGlvblBvaW50IiBUeXBlTmFtZT0ib3BjOkJ5dGVTdHJpbmci\nIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mUmVmZXJlbmNlcyIgVHlwZU5hbWU9Im9wYzpJ\nbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlZmVyZW5jZXMiIFR5cGVOYW1lPSJ0bnM6\nUmVmZXJlbmNlRGVzY3JpcHRpb24iIExlbmd0aEZpZWxkPSJOb09mUmVmZXJlbmNlcyIgLz4NCiAg\nPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJCcm93\nc2VSZXF1ZXN0IiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkZpZWxk\nIE5hbWU9IlJlcXVlc3RIZWFkZXIiIFR5cGVOYW1lPSJ0bnM6UmVxdWVzdEhlYWRlciIgLz4NCiAg\nICA8b3BjOkZpZWxkIE5hbWU9IlZpZXciIFR5cGVOYW1lPSJ0bnM6Vmlld0Rlc2NyaXB0aW9uIiAv\nPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVxdWVzdGVkTWF4UmVmZXJlbmNlc1Blck5vZGUiIFR5\ncGVOYW1lPSJvcGM6VUludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZk5vZGVzVG9C\ncm93c2UiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb2Rl\nc1RvQnJvd3NlIiBUeXBlTmFtZT0idG5zOkJyb3dzZURlc2NyaXB0aW9uIiBMZW5ndGhGaWVsZD0i\nTm9PZk5vZGVzVG9Ccm93c2UiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6\nU3RydWN0dXJlZFR5cGUgTmFtZT0iQnJvd3NlUmVzcG9uc2UiIEJhc2VUeXBlPSJ1YTpFeHRlbnNp\nb25PYmplY3QiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVzcG9uc2VIZWFkZXIiIFR5cGVOYW1l\nPSJ0bnM6UmVzcG9uc2VIZWFkZXIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mUmVzdWx0\ncyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlc3VsdHMi\nIFR5cGVOYW1lPSJ0bnM6QnJvd3NlUmVzdWx0IiBMZW5ndGhGaWVsZD0iTm9PZlJlc3VsdHMiIC8+\nDQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mRGlhZ25vc3RpY0luZm9zIiBUeXBlTmFtZT0ib3Bj\nOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRGlhZ25vc3RpY0luZm9zIiBUeXBlTmFt\nZT0idWE6RGlhZ25vc3RpY0luZm8iIExlbmd0aEZpZWxkPSJOb09mRGlhZ25vc3RpY0luZm9zIiAv\nPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9\nIkJyb3dzZU5leHRSZXF1ZXN0IiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8\nb3BjOkZpZWxkIE5hbWU9IlJlcXVlc3RIZWFkZXIiIFR5cGVOYW1lPSJ0bnM6UmVxdWVzdEhlYWRl\nciIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlbGVhc2VDb250aW51YXRpb25Qb2ludHMiIFR5\ncGVOYW1lPSJvcGM6Qm9vbGVhbiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZDb250aW51\nYXRpb25Qb2ludHMiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1l\nPSJDb250aW51YXRpb25Qb2ludHMiIFR5cGVOYW1lPSJvcGM6Qnl0ZVN0cmluZyIgTGVuZ3RoRmll\nbGQ9Ik5vT2ZDb250aW51YXRpb25Qb2ludHMiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0K\nDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iQnJvd3NlTmV4dFJlc3BvbnNlIiBCYXNlVHlw\nZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlc3BvbnNlSGVh\nZGVyIiBUeXBlTmFtZT0idG5zOlJlc3BvbnNlSGVhZGVyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFt\nZT0iTm9PZlJlc3VsdHMiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBO\nYW1lPSJSZXN1bHRzIiBUeXBlTmFtZT0idG5zOkJyb3dzZVJlc3VsdCIgTGVuZ3RoRmllbGQ9Ik5v\nT2ZSZXN1bHRzIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZkRpYWdub3N0aWNJbmZvcyIg\nVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkRpYWdub3N0aWNJ\nbmZvcyIgVHlwZU5hbWU9InVhOkRpYWdub3N0aWNJbmZvIiBMZW5ndGhGaWVsZD0iTm9PZkRpYWdu\nb3N0aWNJbmZvcyIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1\ncmVkVHlwZSBOYW1lPSJSZWxhdGl2ZVBhdGhFbGVtZW50IiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9u\nT2JqZWN0Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlZmVyZW5jZVR5cGVJZCIgVHlwZU5hbWU9\nInVhOk5vZGVJZCIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IklzSW52ZXJzZSIgVHlwZU5hbWU9\nIm9wYzpCb29sZWFuIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iSW5jbHVkZVN1YnR5cGVzIiBU\neXBlTmFtZT0ib3BjOkJvb2xlYW4iIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJUYXJnZXROYW1l\nIiBUeXBlTmFtZT0idWE6UXVhbGlmaWVkTmFtZSIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+\nDQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJSZWxhdGl2ZVBhdGgiIEJhc2VUeXBlPSJ1\nYTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZkVsZW1lbnRzIiBU\neXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRWxlbWVudHMiIFR5\ncGVOYW1lPSJ0bnM6UmVsYXRpdmVQYXRoRWxlbWVudCIgTGVuZ3RoRmllbGQ9Ik5vT2ZFbGVtZW50\ncyIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBO\nYW1lPSJCcm93c2VQYXRoIiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3Bj\nOkZpZWxkIE5hbWU9IlN0YXJ0aW5nTm9kZSIgVHlwZU5hbWU9InVhOk5vZGVJZCIgLz4NCiAgICA8\nb3BjOkZpZWxkIE5hbWU9IlJlbGF0aXZlUGF0aCIgVHlwZU5hbWU9InRuczpSZWxhdGl2ZVBhdGgi\nIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFt\nZT0iQnJvd3NlUGF0aFRhcmdldCIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAg\nPG9wYzpGaWVsZCBOYW1lPSJUYXJnZXRJZCIgVHlwZU5hbWU9InVhOkV4cGFuZGVkTm9kZUlkIiAv\nPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVtYWluaW5nUGF0aEluZGV4IiBUeXBlTmFtZT0ib3Bj\nOlVJbnQzMiIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVk\nVHlwZSBOYW1lPSJCcm93c2VQYXRoUmVzdWx0IiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0\nIj4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlN0YXR1c0NvZGUiIFR5cGVOYW1lPSJ1YTpTdGF0dXND\nb2RlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZlRhcmdldHMiIFR5cGVOYW1lPSJvcGM6\nSW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJUYXJnZXRzIiBUeXBlTmFtZT0idG5zOkJy\nb3dzZVBhdGhUYXJnZXQiIExlbmd0aEZpZWxkPSJOb09mVGFyZ2V0cyIgLz4NCiAgPC9vcGM6U3Ry\ndWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJUcmFuc2xhdGVCcm93\nc2VQYXRoc1RvTm9kZUlkc1JlcXVlc3QiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0K\nICAgIDxvcGM6RmllbGQgTmFtZT0iUmVxdWVzdEhlYWRlciIgVHlwZU5hbWU9InRuczpSZXF1ZXN0\nSGVhZGVyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZkJyb3dzZVBhdGhzIiBUeXBlTmFt\nZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iQnJvd3NlUGF0aHMiIFR5cGVO\nYW1lPSJ0bnM6QnJvd3NlUGF0aCIgTGVuZ3RoRmllbGQ9Ik5vT2ZCcm93c2VQYXRocyIgLz4NCiAg\nPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJUcmFu\nc2xhdGVCcm93c2VQYXRoc1RvTm9kZUlkc1Jlc3BvbnNlIiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9u\nT2JqZWN0Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlc3BvbnNlSGVhZGVyIiBUeXBlTmFtZT0i\ndG5zOlJlc3BvbnNlSGVhZGVyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZlJlc3VsdHMi\nIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXN1bHRzIiBU\neXBlTmFtZT0idG5zOkJyb3dzZVBhdGhSZXN1bHQiIExlbmd0aEZpZWxkPSJOb09mUmVzdWx0cyIg\nLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZEaWFnbm9zdGljSW5mb3MiIFR5cGVOYW1lPSJv\ncGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJEaWFnbm9zdGljSW5mb3MiIFR5cGVO\nYW1lPSJ1YTpEaWFnbm9zdGljSW5mbyIgTGVuZ3RoRmllbGQ9Ik5vT2ZEaWFnbm9zdGljSW5mb3Mi\nIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFt\nZT0iUmVnaXN0ZXJOb2Rlc1JlcXVlc3QiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0K\nICAgIDxvcGM6RmllbGQgTmFtZT0iUmVxdWVzdEhlYWRlciIgVHlwZU5hbWU9InRuczpSZXF1ZXN0\nSGVhZGVyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZk5vZGVzVG9SZWdpc3RlciIgVHlw\nZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vZGVzVG9SZWdpc3Rl\nciIgVHlwZU5hbWU9InVhOk5vZGVJZCIgTGVuZ3RoRmllbGQ9Ik5vT2ZOb2Rlc1RvUmVnaXN0ZXIi\nIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFt\nZT0iUmVnaXN0ZXJOb2Rlc1Jlc3BvbnNlIiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4N\nCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlc3BvbnNlSGVhZGVyIiBUeXBlTmFtZT0idG5zOlJlc3Bv\nbnNlSGVhZGVyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZlJlZ2lzdGVyZWROb2RlSWRz\nIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVnaXN0ZXJl\nZE5vZGVJZHMiIFR5cGVOYW1lPSJ1YTpOb2RlSWQiIExlbmd0aEZpZWxkPSJOb09mUmVnaXN0ZXJl\nZE5vZGVJZHMiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJl\nZFR5cGUgTmFtZT0iVW5yZWdpc3Rlck5vZGVzUmVxdWVzdCIgQmFzZVR5cGU9InVhOkV4dGVuc2lv\nbk9iamVjdCI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXF1ZXN0SGVhZGVyIiBUeXBlTmFtZT0i\ndG5zOlJlcXVlc3RIZWFkZXIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mTm9kZXNUb1Vu\ncmVnaXN0ZXIiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJO\nb2Rlc1RvVW5yZWdpc3RlciIgVHlwZU5hbWU9InVhOk5vZGVJZCIgTGVuZ3RoRmllbGQ9Ik5vT2ZO\nb2Rlc1RvVW5yZWdpc3RlciIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpT\ndHJ1Y3R1cmVkVHlwZSBOYW1lPSJVbnJlZ2lzdGVyTm9kZXNSZXNwb25zZSIgQmFzZVR5cGU9InVh\nOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXNwb25zZUhlYWRlciIg\nVHlwZU5hbWU9InRuczpSZXNwb25zZUhlYWRlciIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+\nDQoNCiAgPG9wYzpPcGFxdWVUeXBlIE5hbWU9IkNvdW50ZXIiPg0KICA8L29wYzpPcGFxdWVUeXBl\nPg0KDQogIDxvcGM6T3BhcXVlVHlwZSBOYW1lPSJOdW1lcmljUmFuZ2UiPg0KICA8L29wYzpPcGFx\ndWVUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iRW5kcG9pbnRDb25maWd1cmF0\naW9uIiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9\nIk9wZXJhdGlvblRpbWVvdXQiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVs\nZCBOYW1lPSJVc2VCaW5hcnlFbmNvZGluZyIgVHlwZU5hbWU9Im9wYzpCb29sZWFuIiAvPg0KICAg\nIDxvcGM6RmllbGQgTmFtZT0iTWF4U3RyaW5nTGVuZ3RoIiBUeXBlTmFtZT0ib3BjOkludDMyIiAv\nPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTWF4Qnl0ZVN0cmluZ0xlbmd0aCIgVHlwZU5hbWU9Im9w\nYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik1heEFycmF5TGVuZ3RoIiBUeXBlTmFt\nZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTWF4TWVzc2FnZVNpemUiIFR5\ncGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJNYXhCdWZmZXJTaXpl\nIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iQ2hhbm5lbExp\nZmV0aW1lIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU2Vj\ndXJpdHlUb2tlbkxpZmV0aW1lIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICA8L29wYzpTdHJ1\nY3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IlF1ZXJ5RGF0YURlc2Ny\naXB0aW9uIiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkZpZWxkIE5h\nbWU9IlJlbGF0aXZlUGF0aCIgVHlwZU5hbWU9InRuczpSZWxhdGl2ZVBhdGgiIC8+DQogICAgPG9w\nYzpGaWVsZCBOYW1lPSJBdHRyaWJ1dGVJZCIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+DQogICAg\nPG9wYzpGaWVsZCBOYW1lPSJJbmRleFJhbmdlIiBUeXBlTmFtZT0ib3BjOlN0cmluZyIgLz4NCiAg\nPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJOb2Rl\nVHlwZURlc2NyaXB0aW9uIiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3Bj\nOkZpZWxkIE5hbWU9IlR5cGVEZWZpbml0aW9uTm9kZSIgVHlwZU5hbWU9InVhOkV4cGFuZGVkTm9k\nZUlkIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iSW5jbHVkZVN1YlR5cGVzIiBUeXBlTmFtZT0i\nb3BjOkJvb2xlYW4iIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mRGF0YVRvUmV0dXJuIiBU\neXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRGF0YVRvUmV0dXJu\nIiBUeXBlTmFtZT0idG5zOlF1ZXJ5RGF0YURlc2NyaXB0aW9uIiBMZW5ndGhGaWVsZD0iTm9PZkRh\ndGFUb1JldHVybiIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpFbnVtZXJh\ndGVkVHlwZSBOYW1lPSJGaWx0ZXJPcGVyYXRvciIgTGVuZ3RoSW5CaXRzPSIzMiI+DQogICAgPG9w\nYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iRXF1YWxzIiBWYWx1ZT0iMCIgLz4NCiAgICA8b3BjOkVu\ndW1lcmF0ZWRWYWx1ZSBOYW1lPSJJc051bGwiIFZhbHVlPSIxIiAvPg0KICAgIDxvcGM6RW51bWVy\nYXRlZFZhbHVlIE5hbWU9IkdyZWF0ZXJUaGFuIiBWYWx1ZT0iMiIgLz4NCiAgICA8b3BjOkVudW1l\ncmF0ZWRWYWx1ZSBOYW1lPSJMZXNzVGhhbiIgVmFsdWU9IjMiIC8+DQogICAgPG9wYzpFbnVtZXJh\ndGVkVmFsdWUgTmFtZT0iR3JlYXRlclRoYW5PckVxdWFsIiBWYWx1ZT0iNCIgLz4NCiAgICA8b3Bj\nOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJMZXNzVGhhbk9yRXF1YWwiIFZhbHVlPSI1IiAvPg0KICAg\nIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9Ikxpa2UiIFZhbHVlPSI2IiAvPg0KICAgIDxvcGM6\nRW51bWVyYXRlZFZhbHVlIE5hbWU9Ik5vdCIgVmFsdWU9IjciIC8+DQogICAgPG9wYzpFbnVtZXJh\ndGVkVmFsdWUgTmFtZT0iQmV0d2VlbiIgVmFsdWU9IjgiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVk\nVmFsdWUgTmFtZT0iSW5MaXN0IiBWYWx1ZT0iOSIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1\nZSBOYW1lPSJBbmQiIFZhbHVlPSIxMCIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1l\nPSJPciIgVmFsdWU9IjExIiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IkNhc3Qi\nIFZhbHVlPSIxMiIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJJblZpZXciIFZh\nbHVlPSIxMyIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJPZlR5cGUiIFZhbHVl\nPSIxNCIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJSZWxhdGVkVG8iIFZhbHVl\nPSIxNSIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJCaXR3aXNlQW5kIiBWYWx1\nZT0iMTYiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iQml0d2lzZU9yIiBWYWx1\nZT0iMTciIC8+DQogIDwvb3BjOkVudW1lcmF0ZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5\ncGUgTmFtZT0iUXVlcnlEYXRhU2V0IiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAg\nICA8b3BjOkZpZWxkIE5hbWU9Ik5vZGVJZCIgVHlwZU5hbWU9InVhOkV4cGFuZGVkTm9kZUlkIiAv\nPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iVHlwZURlZmluaXRpb25Ob2RlIiBUeXBlTmFtZT0idWE6\nRXhwYW5kZWROb2RlSWQiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mVmFsdWVzIiBUeXBl\nTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iVmFsdWVzIiBUeXBlTmFt\nZT0idWE6VmFyaWFudCIgTGVuZ3RoRmllbGQ9Ik5vT2ZWYWx1ZXMiIC8+DQogIDwvb3BjOlN0cnVj\ndHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iTm9kZVJlZmVyZW5jZSIg\nQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb2Rl\nSWQiIFR5cGVOYW1lPSJ1YTpOb2RlSWQiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZWZlcmVu\nY2VUeXBlSWQiIFR5cGVOYW1lPSJ1YTpOb2RlSWQiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJJ\nc0ZvcndhcmQiIFR5cGVOYW1lPSJvcGM6Qm9vbGVhbiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9\nIk5vT2ZSZWZlcmVuY2VkTm9kZUlkcyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3Bj\nOkZpZWxkIE5hbWU9IlJlZmVyZW5jZWROb2RlSWRzIiBUeXBlTmFtZT0idWE6Tm9kZUlkIiBMZW5n\ndGhGaWVsZD0iTm9PZlJlZmVyZW5jZWROb2RlSWRzIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlw\nZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IkNvbnRlbnRGaWx0ZXJFbGVtZW50IiBC\nYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkZpbHRl\nck9wZXJhdG9yIiBUeXBlTmFtZT0idG5zOkZpbHRlck9wZXJhdG9yIiAvPg0KICAgIDxvcGM6Rmll\nbGQgTmFtZT0iTm9PZkZpbHRlck9wZXJhbmRzIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAg\nIDxvcGM6RmllbGQgTmFtZT0iRmlsdGVyT3BlcmFuZHMiIFR5cGVOYW1lPSJ1YTpFeHRlbnNpb25P\nYmplY3QiIExlbmd0aEZpZWxkPSJOb09mRmlsdGVyT3BlcmFuZHMiIC8+DQogIDwvb3BjOlN0cnVj\ndHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iQ29udGVudEZpbHRlciIg\nQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09m\nRWxlbWVudHMiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJF\nbGVtZW50cyIgVHlwZU5hbWU9InRuczpDb250ZW50RmlsdGVyRWxlbWVudCIgTGVuZ3RoRmllbGQ9\nIk5vT2ZFbGVtZW50cyIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1\nY3R1cmVkVHlwZSBOYW1lPSJGaWx0ZXJPcGVyYW5kIiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2Jq\nZWN0Ij4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBO\nYW1lPSJFbGVtZW50T3BlcmFuZCIgQmFzZVR5cGU9InRuczpGaWx0ZXJPcGVyYW5kIj4NCiAgICA8\nb3BjOkZpZWxkIE5hbWU9IkluZGV4IiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgLz4NCiAgPC9vcGM6\nU3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJMaXRlcmFsT3Bl\ncmFuZCIgQmFzZVR5cGU9InRuczpGaWx0ZXJPcGVyYW5kIj4NCiAgICA8b3BjOkZpZWxkIE5hbWU9\nIlZhbHVlIiBUeXBlTmFtZT0idWE6VmFyaWFudCIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+\nDQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJBdHRyaWJ1dGVPcGVyYW5kIiBCYXNlVHlw\nZT0idG5zOkZpbHRlck9wZXJhbmQiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9kZUlkIiBUeXBl\nTmFtZT0idWE6Tm9kZUlkIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iQWxpYXMiIFR5cGVOYW1l\nPSJvcGM6U3RyaW5nIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iQnJvd3NlUGF0aCIgVHlwZU5h\nbWU9InRuczpSZWxhdGl2ZVBhdGgiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJBdHRyaWJ1dGVJ\nZCIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJJbmRleFJh\nbmdlIiBUeXBlTmFtZT0ib3BjOlN0cmluZyIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoN\nCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJTaW1wbGVBdHRyaWJ1dGVPcGVyYW5kIiBCYXNl\nVHlwZT0idG5zOkZpbHRlck9wZXJhbmQiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iVHlwZURlZmlu\naXRpb25JZCIgVHlwZU5hbWU9InVhOk5vZGVJZCIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5v\nT2ZCcm93c2VQYXRoIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFt\nZT0iQnJvd3NlUGF0aCIgVHlwZU5hbWU9InVhOlF1YWxpZmllZE5hbWUiIExlbmd0aEZpZWxkPSJO\nb09mQnJvd3NlUGF0aCIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkF0dHJpYnV0ZUlkIiBUeXBl\nTmFtZT0ib3BjOlVJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkluZGV4UmFuZ2UiIFR5\ncGVOYW1lPSJvcGM6U3RyaW5nIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3Bj\nOlN0cnVjdHVyZWRUeXBlIE5hbWU9IkNvbnRlbnRGaWx0ZXJFbGVtZW50UmVzdWx0IiBCYXNlVHlw\nZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlN0YXR1c0NvZGUi\nIFR5cGVOYW1lPSJ1YTpTdGF0dXNDb2RlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZk9w\nZXJhbmRTdGF0dXNDb2RlcyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxk\nIE5hbWU9Ik9wZXJhbmRTdGF0dXNDb2RlcyIgVHlwZU5hbWU9InVhOlN0YXR1c0NvZGUiIExlbmd0\naEZpZWxkPSJOb09mT3BlcmFuZFN0YXR1c0NvZGVzIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0i\nTm9PZk9wZXJhbmREaWFnbm9zdGljSW5mb3MiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAg\nPG9wYzpGaWVsZCBOYW1lPSJPcGVyYW5kRGlhZ25vc3RpY0luZm9zIiBUeXBlTmFtZT0idWE6RGlh\nZ25vc3RpY0luZm8iIExlbmd0aEZpZWxkPSJOb09mT3BlcmFuZERpYWdub3N0aWNJbmZvcyIgLz4N\nCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJD\nb250ZW50RmlsdGVyUmVzdWx0IiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8\nb3BjOkZpZWxkIE5hbWU9Ik5vT2ZFbGVtZW50UmVzdWx0cyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIg\nLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkVsZW1lbnRSZXN1bHRzIiBUeXBlTmFtZT0idG5zOkNv\nbnRlbnRGaWx0ZXJFbGVtZW50UmVzdWx0IiBMZW5ndGhGaWVsZD0iTm9PZkVsZW1lbnRSZXN1bHRz\nIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZkVsZW1lbnREaWFnbm9zdGljSW5mb3MiIFR5\ncGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJFbGVtZW50RGlhZ25v\nc3RpY0luZm9zIiBUeXBlTmFtZT0idWE6RGlhZ25vc3RpY0luZm8iIExlbmd0aEZpZWxkPSJOb09m\nRWxlbWVudERpYWdub3N0aWNJbmZvcyIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAg\nPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJQYXJzaW5nUmVzdWx0IiBCYXNlVHlwZT0idWE6RXh0\nZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlN0YXR1c0NvZGUiIFR5cGVOYW1l\nPSJ1YTpTdGF0dXNDb2RlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZkRhdGFTdGF0dXND\nb2RlcyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkRhdGFT\ndGF0dXNDb2RlcyIgVHlwZU5hbWU9InVhOlN0YXR1c0NvZGUiIExlbmd0aEZpZWxkPSJOb09mRGF0\nYVN0YXR1c0NvZGVzIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZkRhdGFEaWFnbm9zdGlj\nSW5mb3MiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJEYXRh\nRGlhZ25vc3RpY0luZm9zIiBUeXBlTmFtZT0idWE6RGlhZ25vc3RpY0luZm8iIExlbmd0aEZpZWxk\nPSJOb09mRGF0YURpYWdub3N0aWNJbmZvcyIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoN\nCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJRdWVyeUZpcnN0UmVxdWVzdCIgQmFzZVR5cGU9\nInVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXF1ZXN0SGVhZGVy\nIiBUeXBlTmFtZT0idG5zOlJlcXVlc3RIZWFkZXIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJW\naWV3IiBUeXBlTmFtZT0idG5zOlZpZXdEZXNjcmlwdGlvbiIgLz4NCiAgICA8b3BjOkZpZWxkIE5h\nbWU9Ik5vT2ZOb2RlVHlwZXMiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVs\nZCBOYW1lPSJOb2RlVHlwZXMiIFR5cGVOYW1lPSJ0bnM6Tm9kZVR5cGVEZXNjcmlwdGlvbiIgTGVu\nZ3RoRmllbGQ9Ik5vT2ZOb2RlVHlwZXMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJGaWx0ZXIi\nIFR5cGVOYW1lPSJ0bnM6Q29udGVudEZpbHRlciIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik1h\neERhdGFTZXRzVG9SZXR1cm4iIFR5cGVOYW1lPSJvcGM6VUludDMyIiAvPg0KICAgIDxvcGM6Rmll\nbGQgTmFtZT0iTWF4UmVmZXJlbmNlc1RvUmV0dXJuIiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgLz4N\nCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJR\ndWVyeUZpcnN0UmVzcG9uc2UiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxv\ncGM6RmllbGQgTmFtZT0iUmVzcG9uc2VIZWFkZXIiIFR5cGVOYW1lPSJ0bnM6UmVzcG9uc2VIZWFk\nZXIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mUXVlcnlEYXRhU2V0cyIgVHlwZU5hbWU9\nIm9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlF1ZXJ5RGF0YVNldHMiIFR5cGVO\nYW1lPSJ0bnM6UXVlcnlEYXRhU2V0IiBMZW5ndGhGaWVsZD0iTm9PZlF1ZXJ5RGF0YVNldHMiIC8+\nDQogICAgPG9wYzpGaWVsZCBOYW1lPSJDb250aW51YXRpb25Qb2ludCIgVHlwZU5hbWU9Im9wYzpC\neXRlU3RyaW5nIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZlBhcnNpbmdSZXN1bHRzIiBU\neXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUGFyc2luZ1Jlc3Vs\ndHMiIFR5cGVOYW1lPSJ0bnM6UGFyc2luZ1Jlc3VsdCIgTGVuZ3RoRmllbGQ9Ik5vT2ZQYXJzaW5n\nUmVzdWx0cyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZEaWFnbm9zdGljSW5mb3MiIFR5\ncGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJEaWFnbm9zdGljSW5m\nb3MiIFR5cGVOYW1lPSJ1YTpEaWFnbm9zdGljSW5mbyIgTGVuZ3RoRmllbGQ9Ik5vT2ZEaWFnbm9z\ndGljSW5mb3MiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJGaWx0ZXJSZXN1bHQiIFR5cGVOYW1l\nPSJ0bnM6Q29udGVudEZpbHRlclJlc3VsdCIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoN\nCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJRdWVyeU5leHRSZXF1ZXN0IiBCYXNlVHlwZT0i\ndWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlcXVlc3RIZWFkZXIi\nIFR5cGVOYW1lPSJ0bnM6UmVxdWVzdEhlYWRlciIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJl\nbGVhc2VDb250aW51YXRpb25Qb2ludCIgVHlwZU5hbWU9Im9wYzpCb29sZWFuIiAvPg0KICAgIDxv\ncGM6RmllbGQgTmFtZT0iQ29udGludWF0aW9uUG9pbnQiIFR5cGVOYW1lPSJvcGM6Qnl0ZVN0cmlu\nZyIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBO\nYW1lPSJRdWVyeU5leHRSZXNwb25zZSIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQog\nICAgPG9wYzpGaWVsZCBOYW1lPSJSZXNwb25zZUhlYWRlciIgVHlwZU5hbWU9InRuczpSZXNwb25z\nZUhlYWRlciIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZRdWVyeURhdGFTZXRzIiBUeXBl\nTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUXVlcnlEYXRhU2V0cyIg\nVHlwZU5hbWU9InRuczpRdWVyeURhdGFTZXQiIExlbmd0aEZpZWxkPSJOb09mUXVlcnlEYXRhU2V0\ncyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJldmlzZWRDb250aW51YXRpb25Qb2ludCIgVHlw\nZU5hbWU9Im9wYzpCeXRlU3RyaW5nIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8\nb3BjOkVudW1lcmF0ZWRUeXBlIE5hbWU9IlRpbWVzdGFtcHNUb1JldHVybiIgTGVuZ3RoSW5CaXRz\nPSIzMiI+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iU291cmNlIiBWYWx1ZT0iMCIg\nLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJTZXJ2ZXIiIFZhbHVlPSIxIiAvPg0K\nICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IkJvdGgiIFZhbHVlPSIyIiAvPg0KICAgIDxv\ncGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9Ik5laXRoZXIiIFZhbHVlPSIzIiAvPg0KICAgIDxvcGM6\nRW51bWVyYXRlZFZhbHVlIE5hbWU9IkludmFsaWQiIFZhbHVlPSI0IiAvPg0KICA8L29wYzpFbnVt\nZXJhdGVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IlJlYWRWYWx1ZUlkIiBC\nYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vZGVJ\nZCIgVHlwZU5hbWU9InVhOk5vZGVJZCIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkF0dHJpYnV0\nZUlkIiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkluZGV4\nUmFuZ2UiIFR5cGVOYW1lPSJvcGM6U3RyaW5nIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRGF0\nYUVuY29kaW5nIiBUeXBlTmFtZT0idWE6UXVhbGlmaWVkTmFtZSIgLz4NCiAgPC9vcGM6U3RydWN0\ndXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJSZWFkUmVxdWVzdCIgQmFz\nZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXF1ZXN0\nSGVhZGVyIiBUeXBlTmFtZT0idG5zOlJlcXVlc3RIZWFkZXIiIC8+DQogICAgPG9wYzpGaWVsZCBO\nYW1lPSJNYXhBZ2UiIFR5cGVOYW1lPSJvcGM6RG91YmxlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFt\nZT0iVGltZXN0YW1wc1RvUmV0dXJuIiBUeXBlTmFtZT0idG5zOlRpbWVzdGFtcHNUb1JldHVybiIg\nLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZOb2Rlc1RvUmVhZCIgVHlwZU5hbWU9Im9wYzpJ\nbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vZGVzVG9SZWFkIiBUeXBlTmFtZT0idG5z\nOlJlYWRWYWx1ZUlkIiBMZW5ndGhGaWVsZD0iTm9PZk5vZGVzVG9SZWFkIiAvPg0KICA8L29wYzpT\ndHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IlJlYWRSZXNwb25z\nZSIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJS\nZXNwb25zZUhlYWRlciIgVHlwZU5hbWU9InRuczpSZXNwb25zZUhlYWRlciIgLz4NCiAgICA8b3Bj\nOkZpZWxkIE5hbWU9Ik5vT2ZSZXN1bHRzIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxv\ncGM6RmllbGQgTmFtZT0iUmVzdWx0cyIgVHlwZU5hbWU9InVhOkRhdGFWYWx1ZSIgTGVuZ3RoRmll\nbGQ9Ik5vT2ZSZXN1bHRzIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZkRpYWdub3N0aWNJ\nbmZvcyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkRpYWdu\nb3N0aWNJbmZvcyIgVHlwZU5hbWU9InVhOkRpYWdub3N0aWNJbmZvIiBMZW5ndGhGaWVsZD0iTm9P\nZkRpYWdub3N0aWNJbmZvcyIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpT\ndHJ1Y3R1cmVkVHlwZSBOYW1lPSJIaXN0b3J5UmVhZFZhbHVlSWQiIEJhc2VUeXBlPSJ1YTpFeHRl\nbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9kZUlkIiBUeXBlTmFtZT0idWE6\nTm9kZUlkIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iSW5kZXhSYW5nZSIgVHlwZU5hbWU9Im9w\nYzpTdHJpbmciIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJEYXRhRW5jb2RpbmciIFR5cGVOYW1l\nPSJ1YTpRdWFsaWZpZWROYW1lIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iQ29udGludWF0aW9u\nUG9pbnQiIFR5cGVOYW1lPSJvcGM6Qnl0ZVN0cmluZyIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5\ncGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJIaXN0b3J5UmVhZFJlc3VsdCIgQmFz\nZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTdGF0dXND\nb2RlIiBUeXBlTmFtZT0idWE6U3RhdHVzQ29kZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkNv\nbnRpbnVhdGlvblBvaW50IiBUeXBlTmFtZT0ib3BjOkJ5dGVTdHJpbmciIC8+DQogICAgPG9wYzpG\naWVsZCBOYW1lPSJIaXN0b3J5RGF0YSIgVHlwZU5hbWU9InVhOkV4dGVuc2lvbk9iamVjdCIgLz4N\nCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJI\naXN0b3J5UmVhZERldGFpbHMiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICA8L29w\nYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IlJlYWRFdmVu\ndERldGFpbHMiIEJhc2VUeXBlPSJ0bnM6SGlzdG9yeVJlYWREZXRhaWxzIj4NCiAgICA8b3BjOkZp\nZWxkIE5hbWU9Ik51bVZhbHVlc1Blck5vZGUiIFR5cGVOYW1lPSJvcGM6VUludDMyIiAvPg0KICAg\nIDxvcGM6RmllbGQgTmFtZT0iU3RhcnRUaW1lIiBUeXBlTmFtZT0ib3BjOkRhdGVUaW1lIiAvPg0K\nICAgIDxvcGM6RmllbGQgTmFtZT0iRW5kVGltZSIgVHlwZU5hbWU9Im9wYzpEYXRlVGltZSIgLz4N\nCiAgICA8b3BjOkZpZWxkIE5hbWU9IkZpbHRlciIgVHlwZU5hbWU9InRuczpFdmVudEZpbHRlciIg\nLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1l\nPSJSZWFkUmF3TW9kaWZpZWREZXRhaWxzIiBCYXNlVHlwZT0idG5zOkhpc3RvcnlSZWFkRGV0YWls\ncyI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJJc1JlYWRNb2RpZmllZCIgVHlwZU5hbWU9Im9wYzpC\nb29sZWFuIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU3RhcnRUaW1lIiBUeXBlTmFtZT0ib3Bj\nOkRhdGVUaW1lIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRW5kVGltZSIgVHlwZU5hbWU9Im9w\nYzpEYXRlVGltZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik51bVZhbHVlc1Blck5vZGUiIFR5\ncGVOYW1lPSJvcGM6VUludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmV0dXJuQm91bmRz\nIiBUeXBlTmFtZT0ib3BjOkJvb2xlYW4iIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQog\nIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iUmVhZFByb2Nlc3NlZERldGFpbHMiIEJhc2VUeXBl\nPSJ0bnM6SGlzdG9yeVJlYWREZXRhaWxzIj4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlN0YXJ0VGlt\nZSIgVHlwZU5hbWU9Im9wYzpEYXRlVGltZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkVuZFRp\nbWUiIFR5cGVOYW1lPSJvcGM6RGF0ZVRpbWUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJQcm9j\nZXNzaW5nSW50ZXJ2YWwiIFR5cGVOYW1lPSJvcGM6RG91YmxlIiAvPg0KICAgIDxvcGM6RmllbGQg\nTmFtZT0iTm9PZkFnZ3JlZ2F0ZVR5cGUiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9w\nYzpGaWVsZCBOYW1lPSJBZ2dyZWdhdGVUeXBlIiBUeXBlTmFtZT0idWE6Tm9kZUlkIiBMZW5ndGhG\naWVsZD0iTm9PZkFnZ3JlZ2F0ZVR5cGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJBZ2dyZWdh\ndGVDb25maWd1cmF0aW9uIiBUeXBlTmFtZT0idG5zOkFnZ3JlZ2F0ZUNvbmZpZ3VyYXRpb24iIC8+\nDQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0i\nUmVhZEF0VGltZURldGFpbHMiIEJhc2VUeXBlPSJ0bnM6SGlzdG9yeVJlYWREZXRhaWxzIj4NCiAg\nICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZSZXFUaW1lcyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4N\nCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlcVRpbWVzIiBUeXBlTmFtZT0ib3BjOkRhdGVUaW1lIiBM\nZW5ndGhGaWVsZD0iTm9PZlJlcVRpbWVzIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iVXNlU2lt\ncGxlQm91bmRzIiBUeXBlTmFtZT0ib3BjOkJvb2xlYW4iIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRU\neXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iUmVhZEFubm90YXRpb25EYXRhRGV0\nYWlscyIgQmFzZVR5cGU9InRuczpIaXN0b3J5UmVhZERldGFpbHMiPg0KICAgIDxvcGM6RmllbGQg\nTmFtZT0iTm9PZlJlcVRpbWVzIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6Rmll\nbGQgTmFtZT0iUmVxVGltZXMiIFR5cGVOYW1lPSJvcGM6RGF0ZVRpbWUiIExlbmd0aEZpZWxkPSJO\nb09mUmVxVGltZXMiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0\ndXJlZFR5cGUgTmFtZT0iSGlzdG9yeURhdGEiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3Qi\nPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZkRhdGFWYWx1ZXMiIFR5cGVOYW1lPSJvcGM6SW50\nMzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJEYXRhVmFsdWVzIiBUeXBlTmFtZT0idWE6RGF0\nYVZhbHVlIiBMZW5ndGhGaWVsZD0iTm9PZkRhdGFWYWx1ZXMiIC8+DQogIDwvb3BjOlN0cnVjdHVy\nZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iTW9kaWZpY2F0aW9uSW5mbyIg\nQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJNb2Rp\nZmljYXRpb25UaW1lIiBUeXBlTmFtZT0ib3BjOkRhdGVUaW1lIiAvPg0KICAgIDxvcGM6RmllbGQg\nTmFtZT0iVXBkYXRlVHlwZSIgVHlwZU5hbWU9InRuczpIaXN0b3J5VXBkYXRlVHlwZSIgLz4NCiAg\nICA8b3BjOkZpZWxkIE5hbWU9IlVzZXJOYW1lIiBUeXBlTmFtZT0ib3BjOlN0cmluZyIgLz4NCiAg\nPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJIaXN0\nb3J5TW9kaWZpZWREYXRhIiBCYXNlVHlwZT0idG5zOkhpc3RvcnlEYXRhIj4NCiAgICA8b3BjOkZp\nZWxkIE5hbWU9Ik5vT2ZEYXRhVmFsdWVzIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxv\ncGM6RmllbGQgTmFtZT0iRGF0YVZhbHVlcyIgVHlwZU5hbWU9InVhOkRhdGFWYWx1ZSIgTGVuZ3Ro\nRmllbGQ9Ik5vT2ZEYXRhVmFsdWVzIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZk1vZGlm\naWNhdGlvbkluZm9zIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFt\nZT0iTW9kaWZpY2F0aW9uSW5mb3MiIFR5cGVOYW1lPSJ0bnM6TW9kaWZpY2F0aW9uSW5mbyIgTGVu\nZ3RoRmllbGQ9Ik5vT2ZNb2RpZmljYXRpb25JbmZvcyIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5\ncGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJIaXN0b3J5RXZlbnQiIEJhc2VUeXBl\nPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZkV2ZW50cyIg\nVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkV2ZW50cyIgVHlw\nZU5hbWU9InRuczpIaXN0b3J5RXZlbnRGaWVsZExpc3QiIExlbmd0aEZpZWxkPSJOb09mRXZlbnRz\nIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5h\nbWU9Ikhpc3RvcnlSZWFkUmVxdWVzdCIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQog\nICAgPG9wYzpGaWVsZCBOYW1lPSJSZXF1ZXN0SGVhZGVyIiBUeXBlTmFtZT0idG5zOlJlcXVlc3RI\nZWFkZXIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJIaXN0b3J5UmVhZERldGFpbHMiIFR5cGVO\nYW1lPSJ1YTpFeHRlbnNpb25PYmplY3QiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJUaW1lc3Rh\nbXBzVG9SZXR1cm4iIFR5cGVOYW1lPSJ0bnM6VGltZXN0YW1wc1RvUmV0dXJuIiAvPg0KICAgIDxv\ncGM6RmllbGQgTmFtZT0iUmVsZWFzZUNvbnRpbnVhdGlvblBvaW50cyIgVHlwZU5hbWU9Im9wYzpC\nb29sZWFuIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZk5vZGVzVG9SZWFkIiBUeXBlTmFt\nZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9kZXNUb1JlYWQiIFR5cGVO\nYW1lPSJ0bnM6SGlzdG9yeVJlYWRWYWx1ZUlkIiBMZW5ndGhGaWVsZD0iTm9PZk5vZGVzVG9SZWFk\nIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5h\nbWU9Ikhpc3RvcnlSZWFkUmVzcG9uc2UiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0K\nICAgIDxvcGM6RmllbGQgTmFtZT0iUmVzcG9uc2VIZWFkZXIiIFR5cGVOYW1lPSJ0bnM6UmVzcG9u\nc2VIZWFkZXIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mUmVzdWx0cyIgVHlwZU5hbWU9\nIm9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlc3VsdHMiIFR5cGVOYW1lPSJ0\nbnM6SGlzdG9yeVJlYWRSZXN1bHQiIExlbmd0aEZpZWxkPSJOb09mUmVzdWx0cyIgLz4NCiAgICA8\nb3BjOkZpZWxkIE5hbWU9Ik5vT2ZEaWFnbm9zdGljSW5mb3MiIFR5cGVOYW1lPSJvcGM6SW50MzIi\nIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJEaWFnbm9zdGljSW5mb3MiIFR5cGVOYW1lPSJ1YTpE\naWFnbm9zdGljSW5mbyIgTGVuZ3RoRmllbGQ9Ik5vT2ZEaWFnbm9zdGljSW5mb3MiIC8+DQogIDwv\nb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iV3JpdGVW\nYWx1ZSIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpGaWVsZCBOYW1l\nPSJOb2RlSWQiIFR5cGVOYW1lPSJ1YTpOb2RlSWQiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJB\ndHRyaWJ1dGVJZCIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1l\nPSJJbmRleFJhbmdlIiBUeXBlTmFtZT0ib3BjOlN0cmluZyIgLz4NCiAgICA8b3BjOkZpZWxkIE5h\nbWU9IlZhbHVlIiBUeXBlTmFtZT0idWE6RGF0YVZhbHVlIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVk\nVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IldyaXRlUmVxdWVzdCIgQmFzZVR5\ncGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXF1ZXN0SGVh\nZGVyIiBUeXBlTmFtZT0idG5zOlJlcXVlc3RIZWFkZXIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1l\nPSJOb09mTm9kZXNUb1dyaXRlIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6Rmll\nbGQgTmFtZT0iTm9kZXNUb1dyaXRlIiBUeXBlTmFtZT0idG5zOldyaXRlVmFsdWUiIExlbmd0aEZp\nZWxkPSJOb09mTm9kZXNUb1dyaXRlIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8\nb3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IldyaXRlUmVzcG9uc2UiIEJhc2VUeXBlPSJ1YTpFeHRl\nbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVzcG9uc2VIZWFkZXIiIFR5cGVO\nYW1lPSJ0bnM6UmVzcG9uc2VIZWFkZXIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mUmVz\ndWx0cyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlc3Vs\ndHMiIFR5cGVOYW1lPSJ1YTpTdGF0dXNDb2RlIiBMZW5ndGhGaWVsZD0iTm9PZlJlc3VsdHMiIC8+\nDQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mRGlhZ25vc3RpY0luZm9zIiBUeXBlTmFtZT0ib3Bj\nOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRGlhZ25vc3RpY0luZm9zIiBUeXBlTmFt\nZT0idWE6RGlhZ25vc3RpY0luZm8iIExlbmd0aEZpZWxkPSJOb09mRGlhZ25vc3RpY0luZm9zIiAv\nPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9\nIkhpc3RvcnlVcGRhdGVEZXRhaWxzIiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAg\nICA8b3BjOkZpZWxkIE5hbWU9Ik5vZGVJZCIgVHlwZU5hbWU9InVhOk5vZGVJZCIgLz4NCiAgPC9v\ncGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpFbnVtZXJhdGVkVHlwZSBOYW1lPSJIaXN0b3J5\nVXBkYXRlVHlwZSIgTGVuZ3RoSW5CaXRzPSIzMiI+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUg\nTmFtZT0iSW5zZXJ0IiBWYWx1ZT0iMSIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1l\nPSJSZXBsYWNlIiBWYWx1ZT0iMiIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJV\ncGRhdGUiIFZhbHVlPSIzIiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IkRlbGV0\nZSIgVmFsdWU9IjQiIC8+DQogIDwvb3BjOkVudW1lcmF0ZWRUeXBlPg0KDQogIDxvcGM6RW51bWVy\nYXRlZFR5cGUgTmFtZT0iUGVyZm9ybVVwZGF0ZVR5cGUiIExlbmd0aEluQml0cz0iMzIiPg0KICAg\nIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9Ikluc2VydCIgVmFsdWU9IjEiIC8+DQogICAgPG9w\nYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iUmVwbGFjZSIgVmFsdWU9IjIiIC8+DQogICAgPG9wYzpF\nbnVtZXJhdGVkVmFsdWUgTmFtZT0iVXBkYXRlIiBWYWx1ZT0iMyIgLz4NCiAgICA8b3BjOkVudW1l\ncmF0ZWRWYWx1ZSBOYW1lPSJSZW1vdmUiIFZhbHVlPSI0IiAvPg0KICA8L29wYzpFbnVtZXJhdGVk\nVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IlVwZGF0ZURhdGFEZXRhaWxzIiBC\nYXNlVHlwZT0idG5zOkhpc3RvcnlVcGRhdGVEZXRhaWxzIj4NCiAgICA8b3BjOkZpZWxkIE5hbWU9\nIk5vZGVJZCIgVHlwZU5hbWU9InVhOk5vZGVJZCIgU291cmNlVHlwZT0idG5zOkhpc3RvcnlVcGRh\ndGVEZXRhaWxzIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUGVyZm9ybUluc2VydFJlcGxhY2Ui\nIFR5cGVOYW1lPSJ0bnM6UGVyZm9ybVVwZGF0ZVR5cGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1l\nPSJOb09mVXBkYXRlVmFsdWVzIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6Rmll\nbGQgTmFtZT0iVXBkYXRlVmFsdWVzIiBUeXBlTmFtZT0idWE6RGF0YVZhbHVlIiBMZW5ndGhGaWVs\nZD0iTm9PZlVwZGF0ZVZhbHVlcyIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9w\nYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJVcGRhdGVTdHJ1Y3R1cmVEYXRhRGV0YWlscyIgQmFzZVR5\ncGU9InRuczpIaXN0b3J5VXBkYXRlRGV0YWlscyI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb2Rl\nSWQiIFR5cGVOYW1lPSJ1YTpOb2RlSWQiIFNvdXJjZVR5cGU9InRuczpIaXN0b3J5VXBkYXRlRGV0\nYWlscyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlBlcmZvcm1JbnNlcnRSZXBsYWNlIiBUeXBl\nTmFtZT0idG5zOlBlcmZvcm1VcGRhdGVUeXBlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9P\nZlVwZGF0ZVZhbHVlcyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5h\nbWU9IlVwZGF0ZVZhbHVlcyIgVHlwZU5hbWU9InVhOkRhdGFWYWx1ZSIgTGVuZ3RoRmllbGQ9Ik5v\nT2ZVcGRhdGVWYWx1ZXMiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3Ry\ndWN0dXJlZFR5cGUgTmFtZT0iVXBkYXRlRXZlbnREZXRhaWxzIiBCYXNlVHlwZT0idG5zOkhpc3Rv\ncnlVcGRhdGVEZXRhaWxzIj4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vZGVJZCIgVHlwZU5hbWU9\nInVhOk5vZGVJZCIgU291cmNlVHlwZT0idG5zOkhpc3RvcnlVcGRhdGVEZXRhaWxzIiAvPg0KICAg\nIDxvcGM6RmllbGQgTmFtZT0iUGVyZm9ybUluc2VydFJlcGxhY2UiIFR5cGVOYW1lPSJ0bnM6UGVy\nZm9ybVVwZGF0ZVR5cGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJGaWx0ZXIiIFR5cGVOYW1l\nPSJ0bnM6RXZlbnRGaWx0ZXIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mRXZlbnREYXRh\nIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRXZlbnREYXRh\nIiBUeXBlTmFtZT0idG5zOkhpc3RvcnlFdmVudEZpZWxkTGlzdCIgTGVuZ3RoRmllbGQ9Ik5vT2ZF\ndmVudERhdGEiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJl\nZFR5cGUgTmFtZT0iRGVsZXRlUmF3TW9kaWZpZWREZXRhaWxzIiBCYXNlVHlwZT0idG5zOkhpc3Rv\ncnlVcGRhdGVEZXRhaWxzIj4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vZGVJZCIgVHlwZU5hbWU9\nInVhOk5vZGVJZCIgU291cmNlVHlwZT0idG5zOkhpc3RvcnlVcGRhdGVEZXRhaWxzIiAvPg0KICAg\nIDxvcGM6RmllbGQgTmFtZT0iSXNEZWxldGVNb2RpZmllZCIgVHlwZU5hbWU9Im9wYzpCb29sZWFu\nIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU3RhcnRUaW1lIiBUeXBlTmFtZT0ib3BjOkRhdGVU\naW1lIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRW5kVGltZSIgVHlwZU5hbWU9Im9wYzpEYXRl\nVGltZSIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlw\nZSBOYW1lPSJEZWxldGVBdFRpbWVEZXRhaWxzIiBCYXNlVHlwZT0idG5zOkhpc3RvcnlVcGRhdGVE\nZXRhaWxzIj4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vZGVJZCIgVHlwZU5hbWU9InVhOk5vZGVJ\nZCIgU291cmNlVHlwZT0idG5zOkhpc3RvcnlVcGRhdGVEZXRhaWxzIiAvPg0KICAgIDxvcGM6Rmll\nbGQgTmFtZT0iTm9PZlJlcVRpbWVzIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6\nRmllbGQgTmFtZT0iUmVxVGltZXMiIFR5cGVOYW1lPSJvcGM6RGF0ZVRpbWUiIExlbmd0aEZpZWxk\nPSJOb09mUmVxVGltZXMiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3Ry\ndWN0dXJlZFR5cGUgTmFtZT0iRGVsZXRlRXZlbnREZXRhaWxzIiBCYXNlVHlwZT0idG5zOkhpc3Rv\ncnlVcGRhdGVEZXRhaWxzIj4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vZGVJZCIgVHlwZU5hbWU9\nInVhOk5vZGVJZCIgU291cmNlVHlwZT0idG5zOkhpc3RvcnlVcGRhdGVEZXRhaWxzIiAvPg0KICAg\nIDxvcGM6RmllbGQgTmFtZT0iTm9PZkV2ZW50SWRzIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0K\nICAgIDxvcGM6RmllbGQgTmFtZT0iRXZlbnRJZHMiIFR5cGVOYW1lPSJvcGM6Qnl0ZVN0cmluZyIg\nTGVuZ3RoRmllbGQ9Ik5vT2ZFdmVudElkcyIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoN\nCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJIaXN0b3J5VXBkYXRlUmVzdWx0IiBCYXNlVHlw\nZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlN0YXR1c0NvZGUi\nIFR5cGVOYW1lPSJ1YTpTdGF0dXNDb2RlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZk9w\nZXJhdGlvblJlc3VsdHMiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBO\nYW1lPSJPcGVyYXRpb25SZXN1bHRzIiBUeXBlTmFtZT0idWE6U3RhdHVzQ29kZSIgTGVuZ3RoRmll\nbGQ9Ik5vT2ZPcGVyYXRpb25SZXN1bHRzIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZkRp\nYWdub3N0aWNJbmZvcyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5h\nbWU9IkRpYWdub3N0aWNJbmZvcyIgVHlwZU5hbWU9InVhOkRpYWdub3N0aWNJbmZvIiBMZW5ndGhG\naWVsZD0iTm9PZkRpYWdub3N0aWNJbmZvcyIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoN\nCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJIaXN0b3J5VXBkYXRlUmVxdWVzdCIgQmFzZVR5\ncGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXF1ZXN0SGVh\nZGVyIiBUeXBlTmFtZT0idG5zOlJlcXVlc3RIZWFkZXIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1l\nPSJOb09mSGlzdG9yeVVwZGF0ZURldGFpbHMiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAg\nPG9wYzpGaWVsZCBOYW1lPSJIaXN0b3J5VXBkYXRlRGV0YWlscyIgVHlwZU5hbWU9InVhOkV4dGVu\nc2lvbk9iamVjdCIgTGVuZ3RoRmllbGQ9Ik5vT2ZIaXN0b3J5VXBkYXRlRGV0YWlscyIgLz4NCiAg\nPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJIaXN0\nb3J5VXBkYXRlUmVzcG9uc2UiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxv\ncGM6RmllbGQgTmFtZT0iUmVzcG9uc2VIZWFkZXIiIFR5cGVOYW1lPSJ0bnM6UmVzcG9uc2VIZWFk\nZXIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mUmVzdWx0cyIgVHlwZU5hbWU9Im9wYzpJ\nbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlc3VsdHMiIFR5cGVOYW1lPSJ0bnM6SGlz\ndG9yeVVwZGF0ZVJlc3VsdCIgTGVuZ3RoRmllbGQ9Ik5vT2ZSZXN1bHRzIiAvPg0KICAgIDxvcGM6\nRmllbGQgTmFtZT0iTm9PZkRpYWdub3N0aWNJbmZvcyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4N\nCiAgICA8b3BjOkZpZWxkIE5hbWU9IkRpYWdub3N0aWNJbmZvcyIgVHlwZU5hbWU9InVhOkRpYWdu\nb3N0aWNJbmZvIiBMZW5ndGhGaWVsZD0iTm9PZkRpYWdub3N0aWNJbmZvcyIgLz4NCiAgPC9vcGM6\nU3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJDYWxsTWV0aG9k\nUmVxdWVzdCIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpGaWVsZCBO\nYW1lPSJPYmplY3RJZCIgVHlwZU5hbWU9InVhOk5vZGVJZCIgLz4NCiAgICA8b3BjOkZpZWxkIE5h\nbWU9Ik1ldGhvZElkIiBUeXBlTmFtZT0idWE6Tm9kZUlkIiAvPg0KICAgIDxvcGM6RmllbGQgTmFt\nZT0iTm9PZklucHV0QXJndW1lbnRzIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6\nRmllbGQgTmFtZT0iSW5wdXRBcmd1bWVudHMiIFR5cGVOYW1lPSJ1YTpWYXJpYW50IiBMZW5ndGhG\naWVsZD0iTm9PZklucHV0QXJndW1lbnRzIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0K\nICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IkNhbGxNZXRob2RSZXN1bHQiIEJhc2VUeXBlPSJ1\nYTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU3RhdHVzQ29kZSIgVHlw\nZU5hbWU9InVhOlN0YXR1c0NvZGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mSW5wdXRB\ncmd1bWVudFJlc3VsdHMiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBO\nYW1lPSJJbnB1dEFyZ3VtZW50UmVzdWx0cyIgVHlwZU5hbWU9InVhOlN0YXR1c0NvZGUiIExlbmd0\naEZpZWxkPSJOb09mSW5wdXRBcmd1bWVudFJlc3VsdHMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1l\nPSJOb09mSW5wdXRBcmd1bWVudERpYWdub3N0aWNJbmZvcyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIg\nLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IklucHV0QXJndW1lbnREaWFnbm9zdGljSW5mb3MiIFR5\ncGVOYW1lPSJ1YTpEaWFnbm9zdGljSW5mbyIgTGVuZ3RoRmllbGQ9Ik5vT2ZJbnB1dEFyZ3VtZW50\nRGlhZ25vc3RpY0luZm9zIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZk91dHB1dEFyZ3Vt\nZW50cyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik91dHB1\ndEFyZ3VtZW50cyIgVHlwZU5hbWU9InVhOlZhcmlhbnQiIExlbmd0aEZpZWxkPSJOb09mT3V0cHV0\nQXJndW1lbnRzIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVy\nZWRUeXBlIE5hbWU9IkNhbGxSZXF1ZXN0IiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4N\nCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlcXVlc3RIZWFkZXIiIFR5cGVOYW1lPSJ0bnM6UmVxdWVz\ndEhlYWRlciIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZNZXRob2RzVG9DYWxsIiBUeXBl\nTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTWV0aG9kc1RvQ2FsbCIg\nVHlwZU5hbWU9InRuczpDYWxsTWV0aG9kUmVxdWVzdCIgTGVuZ3RoRmllbGQ9Ik5vT2ZNZXRob2Rz\nVG9DYWxsIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRU\neXBlIE5hbWU9IkNhbGxSZXNwb25zZSIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQog\nICAgPG9wYzpGaWVsZCBOYW1lPSJSZXNwb25zZUhlYWRlciIgVHlwZU5hbWU9InRuczpSZXNwb25z\nZUhlYWRlciIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZSZXN1bHRzIiBUeXBlTmFtZT0i\nb3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVzdWx0cyIgVHlwZU5hbWU9InRu\nczpDYWxsTWV0aG9kUmVzdWx0IiBMZW5ndGhGaWVsZD0iTm9PZlJlc3VsdHMiIC8+DQogICAgPG9w\nYzpGaWVsZCBOYW1lPSJOb09mRGlhZ25vc3RpY0luZm9zIiBUeXBlTmFtZT0ib3BjOkludDMyIiAv\nPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRGlhZ25vc3RpY0luZm9zIiBUeXBlTmFtZT0idWE6RGlh\nZ25vc3RpY0luZm8iIExlbmd0aEZpZWxkPSJOb09mRGlhZ25vc3RpY0luZm9zIiAvPg0KICA8L29w\nYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOkVudW1lcmF0ZWRUeXBlIE5hbWU9Ik1vbml0b3Jp\nbmdNb2RlIiBMZW5ndGhJbkJpdHM9IjMyIj4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1l\nPSJEaXNhYmxlZCIgVmFsdWU9IjAiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0i\nU2FtcGxpbmciIFZhbHVlPSIxIiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IlJl\ncG9ydGluZyIgVmFsdWU9IjIiIC8+DQogIDwvb3BjOkVudW1lcmF0ZWRUeXBlPg0KDQogIDxvcGM6\nRW51bWVyYXRlZFR5cGUgTmFtZT0iRGF0YUNoYW5nZVRyaWdnZXIiIExlbmd0aEluQml0cz0iMzIi\nPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IlN0YXR1cyIgVmFsdWU9IjAiIC8+DQog\nICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iU3RhdHVzVmFsdWUiIFZhbHVlPSIxIiAvPg0K\nICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IlN0YXR1c1ZhbHVlVGltZXN0YW1wIiBWYWx1\nZT0iMiIgLz4NCiAgPC9vcGM6RW51bWVyYXRlZFR5cGU+DQoNCiAgPG9wYzpFbnVtZXJhdGVkVHlw\nZSBOYW1lPSJEZWFkYmFuZFR5cGUiIExlbmd0aEluQml0cz0iMzIiPg0KICAgIDxvcGM6RW51bWVy\nYXRlZFZhbHVlIE5hbWU9Ik5vbmUiIFZhbHVlPSIwIiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZh\nbHVlIE5hbWU9IkFic29sdXRlIiBWYWx1ZT0iMSIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1\nZSBOYW1lPSJQZXJjZW50IiBWYWx1ZT0iMiIgLz4NCiAgPC9vcGM6RW51bWVyYXRlZFR5cGU+DQoN\nCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJNb25pdG9yaW5nRmlsdGVyIiBCYXNlVHlwZT0i\ndWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpT\ndHJ1Y3R1cmVkVHlwZSBOYW1lPSJEYXRhQ2hhbmdlRmlsdGVyIiBCYXNlVHlwZT0idG5zOk1vbml0\nb3JpbmdGaWx0ZXIiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iVHJpZ2dlciIgVHlwZU5hbWU9InRu\nczpEYXRhQ2hhbmdlVHJpZ2dlciIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkRlYWRiYW5kVHlw\nZSIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJEZWFkYmFu\nZFZhbHVlIiBUeXBlTmFtZT0ib3BjOkRvdWJsZSIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+\nDQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJFdmVudEZpbHRlciIgQmFzZVR5cGU9InRu\nczpNb25pdG9yaW5nRmlsdGVyIj4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZTZWxlY3RDbGF1\nc2VzIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU2VsZWN0\nQ2xhdXNlcyIgVHlwZU5hbWU9InRuczpTaW1wbGVBdHRyaWJ1dGVPcGVyYW5kIiBMZW5ndGhGaWVs\nZD0iTm9PZlNlbGVjdENsYXVzZXMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJXaGVyZUNsYXVz\nZSIgVHlwZU5hbWU9InRuczpDb250ZW50RmlsdGVyIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlw\nZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IkFnZ3JlZ2F0ZUNvbmZpZ3VyYXRpb24i\nIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iVXNl\nU2VydmVyQ2FwYWJpbGl0aWVzRGVmYXVsdHMiIFR5cGVOYW1lPSJvcGM6Qm9vbGVhbiIgLz4NCiAg\nICA8b3BjOkZpZWxkIE5hbWU9IlRyZWF0VW5jZXJ0YWluQXNCYWQiIFR5cGVOYW1lPSJvcGM6Qm9v\nbGVhbiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlBlcmNlbnREYXRhQmFkIiBUeXBlTmFtZT0i\nb3BjOkJ5dGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJQZXJjZW50RGF0YUdvb2QiIFR5cGVO\nYW1lPSJvcGM6Qnl0ZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlVzZVNsb3BlZEV4dHJhcG9s\nYXRpb24iIFR5cGVOYW1lPSJvcGM6Qm9vbGVhbiIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+\nDQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJBZ2dyZWdhdGVGaWx0ZXIiIEJhc2VUeXBl\nPSJ0bnM6TW9uaXRvcmluZ0ZpbHRlciI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTdGFydFRpbWUi\nIFR5cGVOYW1lPSJvcGM6RGF0ZVRpbWUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJBZ2dyZWdh\ndGVUeXBlIiBUeXBlTmFtZT0idWE6Tm9kZUlkIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUHJv\nY2Vzc2luZ0ludGVydmFsIiBUeXBlTmFtZT0ib3BjOkRvdWJsZSIgLz4NCiAgICA8b3BjOkZpZWxk\nIE5hbWU9IkFnZ3JlZ2F0ZUNvbmZpZ3VyYXRpb24iIFR5cGVOYW1lPSJ0bnM6QWdncmVnYXRlQ29u\nZmlndXJhdGlvbiIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1\ncmVkVHlwZSBOYW1lPSJNb25pdG9yaW5nRmlsdGVyUmVzdWx0IiBCYXNlVHlwZT0idWE6RXh0ZW5z\naW9uT2JqZWN0Ij4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVk\nVHlwZSBOYW1lPSJFdmVudEZpbHRlclJlc3VsdCIgQmFzZVR5cGU9InRuczpNb25pdG9yaW5nRmls\ndGVyUmVzdWx0Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZTZWxlY3RDbGF1c2VSZXN1bHRz\nIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU2VsZWN0Q2xh\ndXNlUmVzdWx0cyIgVHlwZU5hbWU9InVhOlN0YXR1c0NvZGUiIExlbmd0aEZpZWxkPSJOb09mU2Vs\nZWN0Q2xhdXNlUmVzdWx0cyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZTZWxlY3RDbGF1\nc2VEaWFnbm9zdGljSW5mb3MiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVs\nZCBOYW1lPSJTZWxlY3RDbGF1c2VEaWFnbm9zdGljSW5mb3MiIFR5cGVOYW1lPSJ1YTpEaWFnbm9z\ndGljSW5mbyIgTGVuZ3RoRmllbGQ9Ik5vT2ZTZWxlY3RDbGF1c2VEaWFnbm9zdGljSW5mb3MiIC8+\nDQogICAgPG9wYzpGaWVsZCBOYW1lPSJXaGVyZUNsYXVzZVJlc3VsdCIgVHlwZU5hbWU9InRuczpD\nb250ZW50RmlsdGVyUmVzdWx0IiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3Bj\nOlN0cnVjdHVyZWRUeXBlIE5hbWU9IkFnZ3JlZ2F0ZUZpbHRlclJlc3VsdCIgQmFzZVR5cGU9InRu\nczpNb25pdG9yaW5nRmlsdGVyUmVzdWx0Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJldmlzZWRT\ndGFydFRpbWUiIFR5cGVOYW1lPSJvcGM6RGF0ZVRpbWUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1l\nPSJSZXZpc2VkUHJvY2Vzc2luZ0ludGVydmFsIiBUeXBlTmFtZT0ib3BjOkRvdWJsZSIgLz4NCiAg\nICA8b3BjOkZpZWxkIE5hbWU9IlJldmlzZWRBZ2dyZWdhdGVDb25maWd1cmF0aW9uIiBUeXBlTmFt\nZT0idG5zOkFnZ3JlZ2F0ZUNvbmZpZ3VyYXRpb24iIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBl\nPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iTW9uaXRvcmluZ1BhcmFtZXRlcnMiIEJh\nc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iQ2xpZW50\nSGFuZGxlIiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlNh\nbXBsaW5nSW50ZXJ2YWwiIFR5cGVOYW1lPSJvcGM6RG91YmxlIiAvPg0KICAgIDxvcGM6RmllbGQg\nTmFtZT0iRmlsdGVyIiBUeXBlTmFtZT0idWE6RXh0ZW5zaW9uT2JqZWN0IiAvPg0KICAgIDxvcGM6\nRmllbGQgTmFtZT0iUXVldWVTaXplIiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgLz4NCiAgICA8b3Bj\nOkZpZWxkIE5hbWU9IkRpc2NhcmRPbGRlc3QiIFR5cGVOYW1lPSJvcGM6Qm9vbGVhbiIgLz4NCiAg\nPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJNb25p\ndG9yZWRJdGVtQ3JlYXRlUmVxdWVzdCIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQog\nICAgPG9wYzpGaWVsZCBOYW1lPSJJdGVtVG9Nb25pdG9yIiBUeXBlTmFtZT0idG5zOlJlYWRWYWx1\nZUlkIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTW9uaXRvcmluZ01vZGUiIFR5cGVOYW1lPSJ0\nbnM6TW9uaXRvcmluZ01vZGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXF1ZXN0ZWRQYXJh\nbWV0ZXJzIiBUeXBlTmFtZT0idG5zOk1vbml0b3JpbmdQYXJhbWV0ZXJzIiAvPg0KICA8L29wYzpT\ndHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9Ik1vbml0b3JlZEl0\nZW1DcmVhdGVSZXN1bHQiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6\nRmllbGQgTmFtZT0iU3RhdHVzQ29kZSIgVHlwZU5hbWU9InVhOlN0YXR1c0NvZGUiIC8+DQogICAg\nPG9wYzpGaWVsZCBOYW1lPSJNb25pdG9yZWRJdGVtSWQiIFR5cGVOYW1lPSJvcGM6VUludDMyIiAv\nPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmV2aXNlZFNhbXBsaW5nSW50ZXJ2YWwiIFR5cGVOYW1l\nPSJvcGM6RG91YmxlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmV2aXNlZFF1ZXVlU2l6ZSIg\nVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJGaWx0ZXJSZXN1\nbHQiIFR5cGVOYW1lPSJ1YTpFeHRlbnNpb25PYmplY3QiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRU\neXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iQ3JlYXRlTW9uaXRvcmVkSXRlbXNS\nZXF1ZXN0IiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkZpZWxkIE5h\nbWU9IlJlcXVlc3RIZWFkZXIiIFR5cGVOYW1lPSJ0bnM6UmVxdWVzdEhlYWRlciIgLz4NCiAgICA8\nb3BjOkZpZWxkIE5hbWU9IlN1YnNjcmlwdGlvbklkIiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgLz4N\nCiAgICA8b3BjOkZpZWxkIE5hbWU9IlRpbWVzdGFtcHNUb1JldHVybiIgVHlwZU5hbWU9InRuczpU\naW1lc3RhbXBzVG9SZXR1cm4iIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mSXRlbXNUb0Ny\nZWF0ZSIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ikl0ZW1z\nVG9DcmVhdGUiIFR5cGVOYW1lPSJ0bnM6TW9uaXRvcmVkSXRlbUNyZWF0ZVJlcXVlc3QiIExlbmd0\naEZpZWxkPSJOb09mSXRlbXNUb0NyZWF0ZSIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoN\nCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJDcmVhdGVNb25pdG9yZWRJdGVtc1Jlc3BvbnNl\nIiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJl\nc3BvbnNlSGVhZGVyIiBUeXBlTmFtZT0idG5zOlJlc3BvbnNlSGVhZGVyIiAvPg0KICAgIDxvcGM6\nRmllbGQgTmFtZT0iTm9PZlJlc3VsdHMiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9w\nYzpGaWVsZCBOYW1lPSJSZXN1bHRzIiBUeXBlTmFtZT0idG5zOk1vbml0b3JlZEl0ZW1DcmVhdGVS\nZXN1bHQiIExlbmd0aEZpZWxkPSJOb09mUmVzdWx0cyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9\nIk5vT2ZEaWFnbm9zdGljSW5mb3MiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpG\naWVsZCBOYW1lPSJEaWFnbm9zdGljSW5mb3MiIFR5cGVOYW1lPSJ1YTpEaWFnbm9zdGljSW5mbyIg\nTGVuZ3RoRmllbGQ9Ik5vT2ZEaWFnbm9zdGljSW5mb3MiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRU\neXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iTW9uaXRvcmVkSXRlbU1vZGlmeVJl\ncXVlc3QiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RmllbGQgTmFt\nZT0iTW9uaXRvcmVkSXRlbUlkIiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgLz4NCiAgICA8b3BjOkZp\nZWxkIE5hbWU9IlJlcXVlc3RlZFBhcmFtZXRlcnMiIFR5cGVOYW1lPSJ0bnM6TW9uaXRvcmluZ1Bh\ncmFtZXRlcnMiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJl\nZFR5cGUgTmFtZT0iTW9uaXRvcmVkSXRlbU1vZGlmeVJlc3VsdCIgQmFzZVR5cGU9InVhOkV4dGVu\nc2lvbk9iamVjdCI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTdGF0dXNDb2RlIiBUeXBlTmFtZT0i\ndWE6U3RhdHVzQ29kZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJldmlzZWRTYW1wbGluZ0lu\ndGVydmFsIiBUeXBlTmFtZT0ib3BjOkRvdWJsZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJl\ndmlzZWRRdWV1ZVNpemUiIFR5cGVOYW1lPSJvcGM6VUludDMyIiAvPg0KICAgIDxvcGM6RmllbGQg\nTmFtZT0iRmlsdGVyUmVzdWx0IiBUeXBlTmFtZT0idWE6RXh0ZW5zaW9uT2JqZWN0IiAvPg0KICA8\nL29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9Ik1vZGlm\neU1vbml0b3JlZEl0ZW1zUmVxdWVzdCIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQog\nICAgPG9wYzpGaWVsZCBOYW1lPSJSZXF1ZXN0SGVhZGVyIiBUeXBlTmFtZT0idG5zOlJlcXVlc3RI\nZWFkZXIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTdWJzY3JpcHRpb25JZCIgVHlwZU5hbWU9\nIm9wYzpVSW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJUaW1lc3RhbXBzVG9SZXR1cm4i\nIFR5cGVOYW1lPSJ0bnM6VGltZXN0YW1wc1RvUmV0dXJuIiAvPg0KICAgIDxvcGM6RmllbGQgTmFt\nZT0iTm9PZkl0ZW1zVG9Nb2RpZnkiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpG\naWVsZCBOYW1lPSJJdGVtc1RvTW9kaWZ5IiBUeXBlTmFtZT0idG5zOk1vbml0b3JlZEl0ZW1Nb2Rp\nZnlSZXF1ZXN0IiBMZW5ndGhGaWVsZD0iTm9PZkl0ZW1zVG9Nb2RpZnkiIC8+DQogIDwvb3BjOlN0\ncnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iTW9kaWZ5TW9uaXRv\ncmVkSXRlbXNSZXNwb25zZSIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9w\nYzpGaWVsZCBOYW1lPSJSZXNwb25zZUhlYWRlciIgVHlwZU5hbWU9InRuczpSZXNwb25zZUhlYWRl\nciIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZSZXN1bHRzIiBUeXBlTmFtZT0ib3BjOklu\ndDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVzdWx0cyIgVHlwZU5hbWU9InRuczpNb25p\ndG9yZWRJdGVtTW9kaWZ5UmVzdWx0IiBMZW5ndGhGaWVsZD0iTm9PZlJlc3VsdHMiIC8+DQogICAg\nPG9wYzpGaWVsZCBOYW1lPSJOb09mRGlhZ25vc3RpY0luZm9zIiBUeXBlTmFtZT0ib3BjOkludDMy\nIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRGlhZ25vc3RpY0luZm9zIiBUeXBlTmFtZT0idWE6\nRGlhZ25vc3RpY0luZm8iIExlbmd0aEZpZWxkPSJOb09mRGlhZ25vc3RpY0luZm9zIiAvPg0KICA8\nL29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IlNldE1v\nbml0b3JpbmdNb2RlUmVxdWVzdCIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAg\nPG9wYzpGaWVsZCBOYW1lPSJSZXF1ZXN0SGVhZGVyIiBUeXBlTmFtZT0idG5zOlJlcXVlc3RIZWFk\nZXIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTdWJzY3JpcHRpb25JZCIgVHlwZU5hbWU9Im9w\nYzpVSW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJNb25pdG9yaW5nTW9kZSIgVHlwZU5h\nbWU9InRuczpNb25pdG9yaW5nTW9kZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZNb25p\ndG9yZWRJdGVtSWRzIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFt\nZT0iTW9uaXRvcmVkSXRlbUlkcyIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIExlbmd0aEZpZWxkPSJO\nb09mTW9uaXRvcmVkSXRlbUlkcyIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9w\nYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJTZXRNb25pdG9yaW5nTW9kZVJlc3BvbnNlIiBCYXNlVHlw\nZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlc3BvbnNlSGVh\nZGVyIiBUeXBlTmFtZT0idG5zOlJlc3BvbnNlSGVhZGVyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFt\nZT0iTm9PZlJlc3VsdHMiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBO\nYW1lPSJSZXN1bHRzIiBUeXBlTmFtZT0idWE6U3RhdHVzQ29kZSIgTGVuZ3RoRmllbGQ9Ik5vT2ZS\nZXN1bHRzIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZkRpYWdub3N0aWNJbmZvcyIgVHlw\nZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkRpYWdub3N0aWNJbmZv\ncyIgVHlwZU5hbWU9InVhOkRpYWdub3N0aWNJbmZvIiBMZW5ndGhGaWVsZD0iTm9PZkRpYWdub3N0\naWNJbmZvcyIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVk\nVHlwZSBOYW1lPSJTZXRUcmlnZ2VyaW5nUmVxdWVzdCIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9i\namVjdCI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXF1ZXN0SGVhZGVyIiBUeXBlTmFtZT0idG5z\nOlJlcXVlc3RIZWFkZXIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTdWJzY3JpcHRpb25JZCIg\nVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJUcmlnZ2VyaW5n\nSXRlbUlkIiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5v\nT2ZMaW5rc1RvQWRkIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFt\nZT0iTGlua3NUb0FkZCIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIExlbmd0aEZpZWxkPSJOb09mTGlu\na3NUb0FkZCIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZMaW5rc1RvUmVtb3ZlIiBUeXBl\nTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTGlua3NUb1JlbW92ZSIg\nVHlwZU5hbWU9Im9wYzpVSW50MzIiIExlbmd0aEZpZWxkPSJOb09mTGlua3NUb1JlbW92ZSIgLz4N\nCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJT\nZXRUcmlnZ2VyaW5nUmVzcG9uc2UiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAg\nIDxvcGM6RmllbGQgTmFtZT0iUmVzcG9uc2VIZWFkZXIiIFR5cGVOYW1lPSJ0bnM6UmVzcG9uc2VI\nZWFkZXIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mQWRkUmVzdWx0cyIgVHlwZU5hbWU9\nIm9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkFkZFJlc3VsdHMiIFR5cGVOYW1l\nPSJ1YTpTdGF0dXNDb2RlIiBMZW5ndGhGaWVsZD0iTm9PZkFkZFJlc3VsdHMiIC8+DQogICAgPG9w\nYzpGaWVsZCBOYW1lPSJOb09mQWRkRGlhZ25vc3RpY0luZm9zIiBUeXBlTmFtZT0ib3BjOkludDMy\nIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iQWRkRGlhZ25vc3RpY0luZm9zIiBUeXBlTmFtZT0i\ndWE6RGlhZ25vc3RpY0luZm8iIExlbmd0aEZpZWxkPSJOb09mQWRkRGlhZ25vc3RpY0luZm9zIiAv\nPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZlJlbW92ZVJlc3VsdHMiIFR5cGVOYW1lPSJvcGM6\nSW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZW1vdmVSZXN1bHRzIiBUeXBlTmFtZT0i\ndWE6U3RhdHVzQ29kZSIgTGVuZ3RoRmllbGQ9Ik5vT2ZSZW1vdmVSZXN1bHRzIiAvPg0KICAgIDxv\ncGM6RmllbGQgTmFtZT0iTm9PZlJlbW92ZURpYWdub3N0aWNJbmZvcyIgVHlwZU5hbWU9Im9wYzpJ\nbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlbW92ZURpYWdub3N0aWNJbmZvcyIgVHlw\nZU5hbWU9InVhOkRpYWdub3N0aWNJbmZvIiBMZW5ndGhGaWVsZD0iTm9PZlJlbW92ZURpYWdub3N0\naWNJbmZvcyIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVk\nVHlwZSBOYW1lPSJEZWxldGVNb25pdG9yZWRJdGVtc1JlcXVlc3QiIEJhc2VUeXBlPSJ1YTpFeHRl\nbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVxdWVzdEhlYWRlciIgVHlwZU5h\nbWU9InRuczpSZXF1ZXN0SGVhZGVyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU3Vic2NyaXB0\naW9uSWQiIFR5cGVOYW1lPSJvcGM6VUludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9P\nZk1vbml0b3JlZEl0ZW1JZHMiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVs\nZCBOYW1lPSJNb25pdG9yZWRJdGVtSWRzIiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgTGVuZ3RoRmll\nbGQ9Ik5vT2ZNb25pdG9yZWRJdGVtSWRzIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0K\nICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IkRlbGV0ZU1vbml0b3JlZEl0ZW1zUmVzcG9uc2Ui\nIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVz\ncG9uc2VIZWFkZXIiIFR5cGVOYW1lPSJ0bnM6UmVzcG9uc2VIZWFkZXIiIC8+DQogICAgPG9wYzpG\naWVsZCBOYW1lPSJOb09mUmVzdWx0cyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3Bj\nOkZpZWxkIE5hbWU9IlJlc3VsdHMiIFR5cGVOYW1lPSJ1YTpTdGF0dXNDb2RlIiBMZW5ndGhGaWVs\nZD0iTm9PZlJlc3VsdHMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mRGlhZ25vc3RpY0lu\nZm9zIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRGlhZ25v\nc3RpY0luZm9zIiBUeXBlTmFtZT0idWE6RGlhZ25vc3RpY0luZm8iIExlbmd0aEZpZWxkPSJOb09m\nRGlhZ25vc3RpY0luZm9zIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0\ncnVjdHVyZWRUeXBlIE5hbWU9IkNyZWF0ZVN1YnNjcmlwdGlvblJlcXVlc3QiIEJhc2VUeXBlPSJ1\nYTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVxdWVzdEhlYWRlciIg\nVHlwZU5hbWU9InRuczpSZXF1ZXN0SGVhZGVyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVx\ndWVzdGVkUHVibGlzaGluZ0ludGVydmFsIiBUeXBlTmFtZT0ib3BjOkRvdWJsZSIgLz4NCiAgICA8\nb3BjOkZpZWxkIE5hbWU9IlJlcXVlc3RlZExpZmV0aW1lQ291bnQiIFR5cGVOYW1lPSJvcGM6VUlu\ndDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVxdWVzdGVkTWF4S2VlcEFsaXZlQ291bnQi\nIFR5cGVOYW1lPSJvcGM6VUludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTWF4Tm90aWZp\nY2F0aW9uc1BlclB1Ymxpc2giIFR5cGVOYW1lPSJvcGM6VUludDMyIiAvPg0KICAgIDxvcGM6Rmll\nbGQgTmFtZT0iUHVibGlzaGluZ0VuYWJsZWQiIFR5cGVOYW1lPSJvcGM6Qm9vbGVhbiIgLz4NCiAg\nICA8b3BjOkZpZWxkIE5hbWU9IlByaW9yaXR5IiBUeXBlTmFtZT0ib3BjOkJ5dGUiIC8+DQogIDwv\nb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iQ3JlYXRl\nU3Vic2NyaXB0aW9uUmVzcG9uc2UiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAg\nIDxvcGM6RmllbGQgTmFtZT0iUmVzcG9uc2VIZWFkZXIiIFR5cGVOYW1lPSJ0bnM6UmVzcG9uc2VI\nZWFkZXIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTdWJzY3JpcHRpb25JZCIgVHlwZU5hbWU9\nIm9wYzpVSW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXZpc2VkUHVibGlzaGluZ0lu\ndGVydmFsIiBUeXBlTmFtZT0ib3BjOkRvdWJsZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJl\ndmlzZWRMaWZldGltZUNvdW50IiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgLz4NCiAgICA8b3BjOkZp\nZWxkIE5hbWU9IlJldmlzZWRNYXhLZWVwQWxpdmVDb3VudCIgVHlwZU5hbWU9Im9wYzpVSW50MzIi\nIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFt\nZT0iTW9kaWZ5U3Vic2NyaXB0aW9uUmVxdWVzdCIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVj\ndCI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXF1ZXN0SGVhZGVyIiBUeXBlTmFtZT0idG5zOlJl\ncXVlc3RIZWFkZXIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTdWJzY3JpcHRpb25JZCIgVHlw\nZU5hbWU9Im9wYzpVSW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXF1ZXN0ZWRQdWJs\naXNoaW5nSW50ZXJ2YWwiIFR5cGVOYW1lPSJvcGM6RG91YmxlIiAvPg0KICAgIDxvcGM6RmllbGQg\nTmFtZT0iUmVxdWVzdGVkTGlmZXRpbWVDb3VudCIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+DQog\nICAgPG9wYzpGaWVsZCBOYW1lPSJSZXF1ZXN0ZWRNYXhLZWVwQWxpdmVDb3VudCIgVHlwZU5hbWU9\nIm9wYzpVSW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJNYXhOb3RpZmljYXRpb25zUGVy\nUHVibGlzaCIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJQ\ncmlvcml0eSIgVHlwZU5hbWU9Im9wYzpCeXRlIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4N\nCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9Ik1vZGlmeVN1YnNjcmlwdGlvblJlc3BvbnNl\nIiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJl\nc3BvbnNlSGVhZGVyIiBUeXBlTmFtZT0idG5zOlJlc3BvbnNlSGVhZGVyIiAvPg0KICAgIDxvcGM6\nRmllbGQgTmFtZT0iUmV2aXNlZFB1Ymxpc2hpbmdJbnRlcnZhbCIgVHlwZU5hbWU9Im9wYzpEb3Vi\nbGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXZpc2VkTGlmZXRpbWVDb3VudCIgVHlwZU5h\nbWU9Im9wYzpVSW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXZpc2VkTWF4S2VlcEFs\naXZlQ291bnQiIFR5cGVOYW1lPSJvcGM6VUludDMyIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlw\nZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IlNldFB1Ymxpc2hpbmdNb2RlUmVxdWVz\ndCIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJS\nZXF1ZXN0SGVhZGVyIiBUeXBlTmFtZT0idG5zOlJlcXVlc3RIZWFkZXIiIC8+DQogICAgPG9wYzpG\naWVsZCBOYW1lPSJQdWJsaXNoaW5nRW5hYmxlZCIgVHlwZU5hbWU9Im9wYzpCb29sZWFuIiAvPg0K\nICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZlN1YnNjcmlwdGlvbklkcyIgVHlwZU5hbWU9Im9wYzpJ\nbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlN1YnNjcmlwdGlvbklkcyIgVHlwZU5hbWU9\nIm9wYzpVSW50MzIiIExlbmd0aEZpZWxkPSJOb09mU3Vic2NyaXB0aW9uSWRzIiAvPg0KICA8L29w\nYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IlNldFB1Ymxp\nc2hpbmdNb2RlUmVzcG9uc2UiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxv\ncGM6RmllbGQgTmFtZT0iUmVzcG9uc2VIZWFkZXIiIFR5cGVOYW1lPSJ0bnM6UmVzcG9uc2VIZWFk\nZXIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mUmVzdWx0cyIgVHlwZU5hbWU9Im9wYzpJ\nbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlc3VsdHMiIFR5cGVOYW1lPSJ1YTpTdGF0\ndXNDb2RlIiBMZW5ndGhGaWVsZD0iTm9PZlJlc3VsdHMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1l\nPSJOb09mRGlhZ25vc3RpY0luZm9zIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6\nRmllbGQgTmFtZT0iRGlhZ25vc3RpY0luZm9zIiBUeXBlTmFtZT0idWE6RGlhZ25vc3RpY0luZm8i\nIExlbmd0aEZpZWxkPSJOb09mRGlhZ25vc3RpY0luZm9zIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVk\nVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9Ik5vdGlmaWNhdGlvbk1lc3NhZ2Ui\nIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU2Vx\ndWVuY2VOdW1iZXIiIFR5cGVOYW1lPSJvcGM6VUludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFt\nZT0iUHVibGlzaFRpbWUiIFR5cGVOYW1lPSJvcGM6RGF0ZVRpbWUiIC8+DQogICAgPG9wYzpGaWVs\nZCBOYW1lPSJOb09mTm90aWZpY2F0aW9uRGF0YSIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAg\nICA8b3BjOkZpZWxkIE5hbWU9Ik5vdGlmaWNhdGlvbkRhdGEiIFR5cGVOYW1lPSJ1YTpFeHRlbnNp\nb25PYmplY3QiIExlbmd0aEZpZWxkPSJOb09mTm90aWZpY2F0aW9uRGF0YSIgLz4NCiAgPC9vcGM6\nU3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJOb3RpZmljYXRp\nb25EYXRhIiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgPC9vcGM6U3RydWN0dXJl\nZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJEYXRhQ2hhbmdlTm90aWZpY2F0\naW9uIiBCYXNlVHlwZT0idG5zOk5vdGlmaWNhdGlvbkRhdGEiPg0KICAgIDxvcGM6RmllbGQgTmFt\nZT0iTm9PZk1vbml0b3JlZEl0ZW1zIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6\nRmllbGQgTmFtZT0iTW9uaXRvcmVkSXRlbXMiIFR5cGVOYW1lPSJ0bnM6TW9uaXRvcmVkSXRlbU5v\ndGlmaWNhdGlvbiIgTGVuZ3RoRmllbGQ9Ik5vT2ZNb25pdG9yZWRJdGVtcyIgLz4NCiAgICA8b3Bj\nOkZpZWxkIE5hbWU9Ik5vT2ZEaWFnbm9zdGljSW5mb3MiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+\nDQogICAgPG9wYzpGaWVsZCBOYW1lPSJEaWFnbm9zdGljSW5mb3MiIFR5cGVOYW1lPSJ1YTpEaWFn\nbm9zdGljSW5mbyIgTGVuZ3RoRmllbGQ9Ik5vT2ZEaWFnbm9zdGljSW5mb3MiIC8+DQogIDwvb3Bj\nOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iTW9uaXRvcmVk\nSXRlbU5vdGlmaWNhdGlvbiIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9w\nYzpGaWVsZCBOYW1lPSJDbGllbnRIYW5kbGUiIFR5cGVOYW1lPSJvcGM6VUludDMyIiAvPg0KICAg\nIDxvcGM6RmllbGQgTmFtZT0iVmFsdWUiIFR5cGVOYW1lPSJ1YTpEYXRhVmFsdWUiIC8+DQogIDwv\nb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iRXZlbnRO\nb3RpZmljYXRpb25MaXN0IiBCYXNlVHlwZT0idG5zOk5vdGlmaWNhdGlvbkRhdGEiPg0KICAgIDxv\ncGM6RmllbGQgTmFtZT0iTm9PZkV2ZW50cyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8\nb3BjOkZpZWxkIE5hbWU9IkV2ZW50cyIgVHlwZU5hbWU9InRuczpFdmVudEZpZWxkTGlzdCIgTGVu\nZ3RoRmllbGQ9Ik5vT2ZFdmVudHMiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxv\ncGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iRXZlbnRGaWVsZExpc3QiIEJhc2VUeXBlPSJ1YTpFeHRl\nbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iQ2xpZW50SGFuZGxlIiBUeXBlTmFt\nZT0ib3BjOlVJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZFdmVudEZpZWxkcyIg\nVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkV2ZW50RmllbGRz\nIiBUeXBlTmFtZT0idWE6VmFyaWFudCIgTGVuZ3RoRmllbGQ9Ik5vT2ZFdmVudEZpZWxkcyIgLz4N\nCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJI\naXN0b3J5RXZlbnRGaWVsZExpc3QiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAg\nIDxvcGM6RmllbGQgTmFtZT0iTm9PZkV2ZW50RmllbGRzIiBUeXBlTmFtZT0ib3BjOkludDMyIiAv\nPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRXZlbnRGaWVsZHMiIFR5cGVOYW1lPSJ1YTpWYXJpYW50\nIiBMZW5ndGhGaWVsZD0iTm9PZkV2ZW50RmllbGRzIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlw\nZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IlN0YXR1c0NoYW5nZU5vdGlmaWNhdGlv\nbiIgQmFzZVR5cGU9InRuczpOb3RpZmljYXRpb25EYXRhIj4NCiAgICA8b3BjOkZpZWxkIE5hbWU9\nIlN0YXR1cyIgVHlwZU5hbWU9InVhOlN0YXR1c0NvZGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1l\nPSJEaWFnbm9zdGljSW5mbyIgVHlwZU5hbWU9InVhOkRpYWdub3N0aWNJbmZvIiAvPg0KICA8L29w\nYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IlN1YnNjcmlw\ndGlvbkFja25vd2xlZGdlbWVudCIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAg\nPG9wYzpGaWVsZCBOYW1lPSJTdWJzY3JpcHRpb25JZCIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+\nDQogICAgPG9wYzpGaWVsZCBOYW1lPSJTZXF1ZW5jZU51bWJlciIgVHlwZU5hbWU9Im9wYzpVSW50\nMzIiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUg\nTmFtZT0iUHVibGlzaFJlcXVlc3QiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAg\nIDxvcGM6RmllbGQgTmFtZT0iUmVxdWVzdEhlYWRlciIgVHlwZU5hbWU9InRuczpSZXF1ZXN0SGVh\nZGVyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZlN1YnNjcmlwdGlvbkFja25vd2xlZGdl\nbWVudHMiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTdWJz\nY3JpcHRpb25BY2tub3dsZWRnZW1lbnRzIiBUeXBlTmFtZT0idG5zOlN1YnNjcmlwdGlvbkFja25v\nd2xlZGdlbWVudCIgTGVuZ3RoRmllbGQ9Ik5vT2ZTdWJzY3JpcHRpb25BY2tub3dsZWRnZW1lbnRz\nIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5h\nbWU9IlB1Ymxpc2hSZXNwb25zZSIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAg\nPG9wYzpGaWVsZCBOYW1lPSJSZXNwb25zZUhlYWRlciIgVHlwZU5hbWU9InRuczpSZXNwb25zZUhl\nYWRlciIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlN1YnNjcmlwdGlvbklkIiBUeXBlTmFtZT0i\nb3BjOlVJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZBdmFpbGFibGVTZXF1ZW5j\nZU51bWJlcnMiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJB\ndmFpbGFibGVTZXF1ZW5jZU51bWJlcnMiIFR5cGVOYW1lPSJvcGM6VUludDMyIiBMZW5ndGhGaWVs\nZD0iTm9PZkF2YWlsYWJsZVNlcXVlbmNlTnVtYmVycyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9\nIk1vcmVOb3RpZmljYXRpb25zIiBUeXBlTmFtZT0ib3BjOkJvb2xlYW4iIC8+DQogICAgPG9wYzpG\naWVsZCBOYW1lPSJOb3RpZmljYXRpb25NZXNzYWdlIiBUeXBlTmFtZT0idG5zOk5vdGlmaWNhdGlv\nbk1lc3NhZ2UiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mUmVzdWx0cyIgVHlwZU5hbWU9\nIm9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlc3VsdHMiIFR5cGVOYW1lPSJ1\nYTpTdGF0dXNDb2RlIiBMZW5ndGhGaWVsZD0iTm9PZlJlc3VsdHMiIC8+DQogICAgPG9wYzpGaWVs\nZCBOYW1lPSJOb09mRGlhZ25vc3RpY0luZm9zIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAg\nIDxvcGM6RmllbGQgTmFtZT0iRGlhZ25vc3RpY0luZm9zIiBUeXBlTmFtZT0idWE6RGlhZ25vc3Rp\nY0luZm8iIExlbmd0aEZpZWxkPSJOb09mRGlhZ25vc3RpY0luZm9zIiAvPg0KICA8L29wYzpTdHJ1\nY3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IlJlcHVibGlzaFJlcXVl\nc3QiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0i\nUmVxdWVzdEhlYWRlciIgVHlwZU5hbWU9InRuczpSZXF1ZXN0SGVhZGVyIiAvPg0KICAgIDxvcGM6\nRmllbGQgTmFtZT0iU3Vic2NyaXB0aW9uSWQiIFR5cGVOYW1lPSJvcGM6VUludDMyIiAvPg0KICAg\nIDxvcGM6RmllbGQgTmFtZT0iUmV0cmFuc21pdFNlcXVlbmNlTnVtYmVyIiBUeXBlTmFtZT0ib3Bj\nOlVJbnQzMiIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVk\nVHlwZSBOYW1lPSJSZXB1Ymxpc2hSZXNwb25zZSIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVj\ndCI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXNwb25zZUhlYWRlciIgVHlwZU5hbWU9InRuczpS\nZXNwb25zZUhlYWRlciIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vdGlmaWNhdGlvbk1lc3Nh\nZ2UiIFR5cGVOYW1lPSJ0bnM6Tm90aWZpY2F0aW9uTWVzc2FnZSIgLz4NCiAgPC9vcGM6U3RydWN0\ndXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJUcmFuc2ZlclJlc3VsdCIg\nQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTdGF0\ndXNDb2RlIiBUeXBlTmFtZT0idWE6U3RhdHVzQ29kZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9\nIk5vT2ZBdmFpbGFibGVTZXF1ZW5jZU51bWJlcnMiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQog\nICAgPG9wYzpGaWVsZCBOYW1lPSJBdmFpbGFibGVTZXF1ZW5jZU51bWJlcnMiIFR5cGVOYW1lPSJv\ncGM6VUludDMyIiBMZW5ndGhGaWVsZD0iTm9PZkF2YWlsYWJsZVNlcXVlbmNlTnVtYmVycyIgLz4N\nCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJU\ncmFuc2ZlclN1YnNjcmlwdGlvbnNSZXF1ZXN0IiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0\nIj4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlcXVlc3RIZWFkZXIiIFR5cGVOYW1lPSJ0bnM6UmVx\ndWVzdEhlYWRlciIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZTdWJzY3JpcHRpb25JZHMi\nIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTdWJzY3JpcHRp\nb25JZHMiIFR5cGVOYW1lPSJvcGM6VUludDMyIiBMZW5ndGhGaWVsZD0iTm9PZlN1YnNjcmlwdGlv\nbklkcyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlNlbmRJbml0aWFsVmFsdWVzIiBUeXBlTmFt\nZT0ib3BjOkJvb2xlYW4iIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3Ry\ndWN0dXJlZFR5cGUgTmFtZT0iVHJhbnNmZXJTdWJzY3JpcHRpb25zUmVzcG9uc2UiIEJhc2VUeXBl\nPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVzcG9uc2VIZWFk\nZXIiIFR5cGVOYW1lPSJ0bnM6UmVzcG9uc2VIZWFkZXIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1l\nPSJOb09mUmVzdWx0cyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5h\nbWU9IlJlc3VsdHMiIFR5cGVOYW1lPSJ0bnM6VHJhbnNmZXJSZXN1bHQiIExlbmd0aEZpZWxkPSJO\nb09mUmVzdWx0cyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZEaWFnbm9zdGljSW5mb3Mi\nIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJEaWFnbm9zdGlj\nSW5mb3MiIFR5cGVOYW1lPSJ1YTpEaWFnbm9zdGljSW5mbyIgTGVuZ3RoRmllbGQ9Ik5vT2ZEaWFn\nbm9zdGljSW5mb3MiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0\ndXJlZFR5cGUgTmFtZT0iRGVsZXRlU3Vic2NyaXB0aW9uc1JlcXVlc3QiIEJhc2VUeXBlPSJ1YTpF\neHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVxdWVzdEhlYWRlciIgVHlw\nZU5hbWU9InRuczpSZXF1ZXN0SGVhZGVyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZlN1\nYnNjcmlwdGlvbklkcyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5h\nbWU9IlN1YnNjcmlwdGlvbklkcyIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIExlbmd0aEZpZWxkPSJO\nb09mU3Vic2NyaXB0aW9uSWRzIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3Bj\nOlN0cnVjdHVyZWRUeXBlIE5hbWU9IkRlbGV0ZVN1YnNjcmlwdGlvbnNSZXNwb25zZSIgQmFzZVR5\ncGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXNwb25zZUhl\nYWRlciIgVHlwZU5hbWU9InRuczpSZXNwb25zZUhlYWRlciIgLz4NCiAgICA8b3BjOkZpZWxkIE5h\nbWU9Ik5vT2ZSZXN1bHRzIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQg\nTmFtZT0iUmVzdWx0cyIgVHlwZU5hbWU9InVhOlN0YXR1c0NvZGUiIExlbmd0aEZpZWxkPSJOb09m\nUmVzdWx0cyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZEaWFnbm9zdGljSW5mb3MiIFR5\ncGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJEaWFnbm9zdGljSW5m\nb3MiIFR5cGVOYW1lPSJ1YTpEaWFnbm9zdGljSW5mbyIgTGVuZ3RoRmllbGQ9Ik5vT2ZEaWFnbm9z\ndGljSW5mb3MiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJl\nZFR5cGUgTmFtZT0iQnVpbGRJbmZvIiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAg\nICA8b3BjOkZpZWxkIE5hbWU9IlByb2R1Y3RVcmkiIFR5cGVOYW1lPSJvcGM6U3RyaW5nIiAvPg0K\nICAgIDxvcGM6RmllbGQgTmFtZT0iTWFudWZhY3R1cmVyTmFtZSIgVHlwZU5hbWU9Im9wYzpTdHJp\nbmciIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJQcm9kdWN0TmFtZSIgVHlwZU5hbWU9Im9wYzpT\ndHJpbmciIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTb2Z0d2FyZVZlcnNpb24iIFR5cGVOYW1l\nPSJvcGM6U3RyaW5nIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iQnVpbGROdW1iZXIiIFR5cGVO\nYW1lPSJvcGM6U3RyaW5nIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iQnVpbGREYXRlIiBUeXBl\nTmFtZT0ib3BjOkRhdGVUaW1lIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3Bj\nOkVudW1lcmF0ZWRUeXBlIE5hbWU9IlJlZHVuZGFuY3lTdXBwb3J0IiBMZW5ndGhJbkJpdHM9IjMy\nIj4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJOb25lIiBWYWx1ZT0iMCIgLz4NCiAg\nICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJDb2xkIiBWYWx1ZT0iMSIgLz4NCiAgICA8b3Bj\nOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJXYXJtIiBWYWx1ZT0iMiIgLz4NCiAgICA8b3BjOkVudW1l\ncmF0ZWRWYWx1ZSBOYW1lPSJIb3QiIFZhbHVlPSIzIiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZh\nbHVlIE5hbWU9IlRyYW5zcGFyZW50IiBWYWx1ZT0iNCIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRW\nYWx1ZSBOYW1lPSJIb3RBbmRNaXJyb3JlZCIgVmFsdWU9IjUiIC8+DQogIDwvb3BjOkVudW1lcmF0\nZWRUeXBlPg0KDQogIDxvcGM6RW51bWVyYXRlZFR5cGUgTmFtZT0iU2VydmVyU3RhdGUiIExlbmd0\naEluQml0cz0iMzIiPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IlJ1bm5pbmciIFZh\nbHVlPSIwIiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IkZhaWxlZCIgVmFsdWU9\nIjEiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iTm9Db25maWd1cmF0aW9uIiBW\nYWx1ZT0iMiIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJTdXNwZW5kZWQiIFZh\nbHVlPSIzIiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IlNodXRkb3duIiBWYWx1\nZT0iNCIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJUZXN0IiBWYWx1ZT0iNSIg\nLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJDb21tdW5pY2F0aW9uRmF1bHQiIFZh\nbHVlPSI2IiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IlVua25vd24iIFZhbHVl\nPSI3IiAvPg0KICA8L29wYzpFbnVtZXJhdGVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBl\nIE5hbWU9IlJlZHVuZGFudFNlcnZlckRhdGFUeXBlIiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2Jq\nZWN0Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlNlcnZlcklkIiBUeXBlTmFtZT0ib3BjOlN0cmlu\nZyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlNlcnZpY2VMZXZlbCIgVHlwZU5hbWU9Im9wYzpC\neXRlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU2VydmVyU3RhdGUiIFR5cGVOYW1lPSJ0bnM6\nU2VydmVyU3RhdGUiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0\ndXJlZFR5cGUgTmFtZT0iRW5kcG9pbnRVcmxMaXN0RGF0YVR5cGUiIEJhc2VUeXBlPSJ1YTpFeHRl\nbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZkVuZHBvaW50VXJsTGlzdCIg\nVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkVuZHBvaW50VXJs\nTGlzdCIgVHlwZU5hbWU9Im9wYzpTdHJpbmciIExlbmd0aEZpZWxkPSJOb09mRW5kcG9pbnRVcmxM\naXN0IiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBl\nIE5hbWU9Ik5ldHdvcmtHcm91cERhdGFUeXBlIiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0\nIj4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlNlcnZlclVyaSIgVHlwZU5hbWU9Im9wYzpTdHJpbmci\nIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mTmV0d29ya1BhdGhzIiBUeXBlTmFtZT0ib3Bj\nOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTmV0d29ya1BhdGhzIiBUeXBlTmFtZT0i\ndG5zOkVuZHBvaW50VXJsTGlzdERhdGFUeXBlIiBMZW5ndGhGaWVsZD0iTm9PZk5ldHdvcmtQYXRo\ncyIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBO\nYW1lPSJTYW1wbGluZ0ludGVydmFsRGlhZ25vc3RpY3NEYXRhVHlwZSIgQmFzZVR5cGU9InVhOkV4\ndGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTYW1wbGluZ0ludGVydmFsIiBU\neXBlTmFtZT0ib3BjOkRvdWJsZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik1vbml0b3JlZEl0\nZW1Db3VudCIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJN\nYXhNb25pdG9yZWRJdGVtQ291bnQiIFR5cGVOYW1lPSJvcGM6VUludDMyIiAvPg0KICAgIDxvcGM6\nRmllbGQgTmFtZT0iRGlzYWJsZWRNb25pdG9yZWRJdGVtQ291bnQiIFR5cGVOYW1lPSJvcGM6VUlu\ndDMyIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBl\nIE5hbWU9IlNlcnZlckRpYWdub3N0aWNzU3VtbWFyeURhdGFUeXBlIiBCYXNlVHlwZT0idWE6RXh0\nZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlNlcnZlclZpZXdDb3VudCIgVHlw\nZU5hbWU9Im9wYzpVSW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJDdXJyZW50U2Vzc2lv\nbkNvdW50IiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkN1\nbXVsYXRlZFNlc3Npb25Db3VudCIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+DQogICAgPG9wYzpG\naWVsZCBOYW1lPSJTZWN1cml0eVJlamVjdGVkU2Vzc2lvbkNvdW50IiBUeXBlTmFtZT0ib3BjOlVJ\nbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlamVjdGVkU2Vzc2lvbkNvdW50IiBUeXBl\nTmFtZT0ib3BjOlVJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlNlc3Npb25UaW1lb3V0\nQ291bnQiIFR5cGVOYW1lPSJvcGM6VUludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU2Vz\nc2lvbkFib3J0Q291bnQiIFR5cGVOYW1lPSJvcGM6VUludDMyIiAvPg0KICAgIDxvcGM6RmllbGQg\nTmFtZT0iQ3VycmVudFN1YnNjcmlwdGlvbkNvdW50IiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgLz4N\nCiAgICA8b3BjOkZpZWxkIE5hbWU9IkN1bXVsYXRlZFN1YnNjcmlwdGlvbkNvdW50IiBUeXBlTmFt\nZT0ib3BjOlVJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlB1Ymxpc2hpbmdJbnRlcnZh\nbENvdW50IiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlNl\nY3VyaXR5UmVqZWN0ZWRSZXF1ZXN0c0NvdW50IiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgLz4NCiAg\nICA8b3BjOkZpZWxkIE5hbWU9IlJlamVjdGVkUmVxdWVzdHNDb3VudCIgVHlwZU5hbWU9Im9wYzpV\nSW50MzIiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5\ncGUgTmFtZT0iU2VydmVyU3RhdHVzRGF0YVR5cGUiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmpl\nY3QiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU3RhcnRUaW1lIiBUeXBlTmFtZT0ib3BjOkRhdGVU\naW1lIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iQ3VycmVudFRpbWUiIFR5cGVOYW1lPSJvcGM6\nRGF0ZVRpbWUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTdGF0ZSIgVHlwZU5hbWU9InRuczpT\nZXJ2ZXJTdGF0ZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkJ1aWxkSW5mbyIgVHlwZU5hbWU9\nInRuczpCdWlsZEluZm8iIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTZWNvbmRzVGlsbFNodXRk\nb3duIiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlNodXRk\nb3duUmVhc29uIiBUeXBlTmFtZT0idWE6TG9jYWxpemVkVGV4dCIgLz4NCiAgPC9vcGM6U3RydWN0\ndXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJTZXNzaW9uRGlhZ25vc3Rp\nY3NEYXRhVHlwZSIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpGaWVs\nZCBOYW1lPSJTZXNzaW9uSWQiIFR5cGVOYW1lPSJ1YTpOb2RlSWQiIC8+DQogICAgPG9wYzpGaWVs\nZCBOYW1lPSJTZXNzaW9uTmFtZSIgVHlwZU5hbWU9Im9wYzpTdHJpbmciIC8+DQogICAgPG9wYzpG\naWVsZCBOYW1lPSJDbGllbnREZXNjcmlwdGlvbiIgVHlwZU5hbWU9InRuczpBcHBsaWNhdGlvbkRl\nc2NyaXB0aW9uIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU2VydmVyVXJpIiBUeXBlTmFtZT0i\nb3BjOlN0cmluZyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkVuZHBvaW50VXJsIiBUeXBlTmFt\nZT0ib3BjOlN0cmluZyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZMb2NhbGVJZHMiIFR5\ncGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJMb2NhbGVJZHMiIFR5\ncGVOYW1lPSJvcGM6U3RyaW5nIiBMZW5ndGhGaWVsZD0iTm9PZkxvY2FsZUlkcyIgLz4NCiAgICA8\nb3BjOkZpZWxkIE5hbWU9IkFjdHVhbFNlc3Npb25UaW1lb3V0IiBUeXBlTmFtZT0ib3BjOkRvdWJs\nZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik1heFJlc3BvbnNlTWVzc2FnZVNpemUiIFR5cGVO\nYW1lPSJvcGM6VUludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iQ2xpZW50Q29ubmVjdGlv\nblRpbWUiIFR5cGVOYW1lPSJvcGM6RGF0ZVRpbWUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJD\nbGllbnRMYXN0Q29udGFjdFRpbWUiIFR5cGVOYW1lPSJvcGM6RGF0ZVRpbWUiIC8+DQogICAgPG9w\nYzpGaWVsZCBOYW1lPSJDdXJyZW50U3Vic2NyaXB0aW9uc0NvdW50IiBUeXBlTmFtZT0ib3BjOlVJ\nbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkN1cnJlbnRNb25pdG9yZWRJdGVtc0NvdW50\nIiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkN1cnJlbnRQ\ndWJsaXNoUmVxdWVzdHNJblF1ZXVlIiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgLz4NCiAgICA8b3Bj\nOkZpZWxkIE5hbWU9IlRvdGFsUmVxdWVzdENvdW50IiBUeXBlTmFtZT0idG5zOlNlcnZpY2VDb3Vu\ndGVyRGF0YVR5cGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJVbmF1dGhvcml6ZWRSZXF1ZXN0\nQ291bnQiIFR5cGVOYW1lPSJvcGM6VUludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVh\nZENvdW50IiBUeXBlTmFtZT0idG5zOlNlcnZpY2VDb3VudGVyRGF0YVR5cGUiIC8+DQogICAgPG9w\nYzpGaWVsZCBOYW1lPSJIaXN0b3J5UmVhZENvdW50IiBUeXBlTmFtZT0idG5zOlNlcnZpY2VDb3Vu\ndGVyRGF0YVR5cGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJXcml0ZUNvdW50IiBUeXBlTmFt\nZT0idG5zOlNlcnZpY2VDb3VudGVyRGF0YVR5cGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJI\naXN0b3J5VXBkYXRlQ291bnQiIFR5cGVOYW1lPSJ0bnM6U2VydmljZUNvdW50ZXJEYXRhVHlwZSIg\nLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkNhbGxDb3VudCIgVHlwZU5hbWU9InRuczpTZXJ2aWNl\nQ291bnRlckRhdGFUeXBlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iQ3JlYXRlTW9uaXRvcmVk\nSXRlbXNDb3VudCIgVHlwZU5hbWU9InRuczpTZXJ2aWNlQ291bnRlckRhdGFUeXBlIiAvPg0KICAg\nIDxvcGM6RmllbGQgTmFtZT0iTW9kaWZ5TW9uaXRvcmVkSXRlbXNDb3VudCIgVHlwZU5hbWU9InRu\nczpTZXJ2aWNlQ291bnRlckRhdGFUeXBlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU2V0TW9u\naXRvcmluZ01vZGVDb3VudCIgVHlwZU5hbWU9InRuczpTZXJ2aWNlQ291bnRlckRhdGFUeXBlIiAv\nPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU2V0VHJpZ2dlcmluZ0NvdW50IiBUeXBlTmFtZT0idG5z\nOlNlcnZpY2VDb3VudGVyRGF0YVR5cGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJEZWxldGVN\nb25pdG9yZWRJdGVtc0NvdW50IiBUeXBlTmFtZT0idG5zOlNlcnZpY2VDb3VudGVyRGF0YVR5cGUi\nIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJDcmVhdGVTdWJzY3JpcHRpb25Db3VudCIgVHlwZU5h\nbWU9InRuczpTZXJ2aWNlQ291bnRlckRhdGFUeXBlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0i\nTW9kaWZ5U3Vic2NyaXB0aW9uQ291bnQiIFR5cGVOYW1lPSJ0bnM6U2VydmljZUNvdW50ZXJEYXRh\nVHlwZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlNldFB1Ymxpc2hpbmdNb2RlQ291bnQiIFR5\ncGVOYW1lPSJ0bnM6U2VydmljZUNvdW50ZXJEYXRhVHlwZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5h\nbWU9IlB1Ymxpc2hDb3VudCIgVHlwZU5hbWU9InRuczpTZXJ2aWNlQ291bnRlckRhdGFUeXBlIiAv\nPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVwdWJsaXNoQ291bnQiIFR5cGVOYW1lPSJ0bnM6U2Vy\ndmljZUNvdW50ZXJEYXRhVHlwZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlRyYW5zZmVyU3Vi\nc2NyaXB0aW9uc0NvdW50IiBUeXBlTmFtZT0idG5zOlNlcnZpY2VDb3VudGVyRGF0YVR5cGUiIC8+\nDQogICAgPG9wYzpGaWVsZCBOYW1lPSJEZWxldGVTdWJzY3JpcHRpb25zQ291bnQiIFR5cGVOYW1l\nPSJ0bnM6U2VydmljZUNvdW50ZXJEYXRhVHlwZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkFk\nZE5vZGVzQ291bnQiIFR5cGVOYW1lPSJ0bnM6U2VydmljZUNvdW50ZXJEYXRhVHlwZSIgLz4NCiAg\nICA8b3BjOkZpZWxkIE5hbWU9IkFkZFJlZmVyZW5jZXNDb3VudCIgVHlwZU5hbWU9InRuczpTZXJ2\naWNlQ291bnRlckRhdGFUeXBlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRGVsZXRlTm9kZXND\nb3VudCIgVHlwZU5hbWU9InRuczpTZXJ2aWNlQ291bnRlckRhdGFUeXBlIiAvPg0KICAgIDxvcGM6\nRmllbGQgTmFtZT0iRGVsZXRlUmVmZXJlbmNlc0NvdW50IiBUeXBlTmFtZT0idG5zOlNlcnZpY2VD\nb3VudGVyRGF0YVR5cGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJCcm93c2VDb3VudCIgVHlw\nZU5hbWU9InRuczpTZXJ2aWNlQ291bnRlckRhdGFUeXBlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFt\nZT0iQnJvd3NlTmV4dENvdW50IiBUeXBlTmFtZT0idG5zOlNlcnZpY2VDb3VudGVyRGF0YVR5cGUi\nIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJUcmFuc2xhdGVCcm93c2VQYXRoc1RvTm9kZUlkc0Nv\ndW50IiBUeXBlTmFtZT0idG5zOlNlcnZpY2VDb3VudGVyRGF0YVR5cGUiIC8+DQogICAgPG9wYzpG\naWVsZCBOYW1lPSJRdWVyeUZpcnN0Q291bnQiIFR5cGVOYW1lPSJ0bnM6U2VydmljZUNvdW50ZXJE\nYXRhVHlwZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlF1ZXJ5TmV4dENvdW50IiBUeXBlTmFt\nZT0idG5zOlNlcnZpY2VDb3VudGVyRGF0YVR5cGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJS\nZWdpc3Rlck5vZGVzQ291bnQiIFR5cGVOYW1lPSJ0bnM6U2VydmljZUNvdW50ZXJEYXRhVHlwZSIg\nLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlVucmVnaXN0ZXJOb2Rlc0NvdW50IiBUeXBlTmFtZT0i\ndG5zOlNlcnZpY2VDb3VudGVyRGF0YVR5cGUiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0K\nDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iU2Vzc2lvblNlY3VyaXR5RGlhZ25vc3RpY3NE\nYXRhVHlwZSIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpGaWVsZCBO\nYW1lPSJTZXNzaW9uSWQiIFR5cGVOYW1lPSJ1YTpOb2RlSWQiIC8+DQogICAgPG9wYzpGaWVsZCBO\nYW1lPSJDbGllbnRVc2VySWRPZlNlc3Npb24iIFR5cGVOYW1lPSJvcGM6U3RyaW5nIiAvPg0KICAg\nIDxvcGM6RmllbGQgTmFtZT0iTm9PZkNsaWVudFVzZXJJZEhpc3RvcnkiIFR5cGVOYW1lPSJvcGM6\nSW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJDbGllbnRVc2VySWRIaXN0b3J5IiBUeXBl\nTmFtZT0ib3BjOlN0cmluZyIgTGVuZ3RoRmllbGQ9Ik5vT2ZDbGllbnRVc2VySWRIaXN0b3J5IiAv\nPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iQXV0aGVudGljYXRpb25NZWNoYW5pc20iIFR5cGVOYW1l\nPSJvcGM6U3RyaW5nIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRW5jb2RpbmciIFR5cGVOYW1l\nPSJvcGM6U3RyaW5nIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iVHJhbnNwb3J0UHJvdG9jb2wi\nIFR5cGVOYW1lPSJvcGM6U3RyaW5nIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU2VjdXJpdHlN\nb2RlIiBUeXBlTmFtZT0idG5zOk1lc3NhZ2VTZWN1cml0eU1vZGUiIC8+DQogICAgPG9wYzpGaWVs\nZCBOYW1lPSJTZWN1cml0eVBvbGljeVVyaSIgVHlwZU5hbWU9Im9wYzpTdHJpbmciIC8+DQogICAg\nPG9wYzpGaWVsZCBOYW1lPSJDbGllbnRDZXJ0aWZpY2F0ZSIgVHlwZU5hbWU9Im9wYzpCeXRlU3Ry\naW5nIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBl\nIE5hbWU9IlNlcnZpY2VDb3VudGVyRGF0YVR5cGUiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmpl\nY3QiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iVG90YWxDb3VudCIgVHlwZU5hbWU9Im9wYzpVSW50\nMzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJFcnJvckNvdW50IiBUeXBlTmFtZT0ib3BjOlVJ\nbnQzMiIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlw\nZSBOYW1lPSJTdGF0dXNSZXN1bHQiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAg\nIDxvcGM6RmllbGQgTmFtZT0iU3RhdHVzQ29kZSIgVHlwZU5hbWU9InVhOlN0YXR1c0NvZGUiIC8+\nDQogICAgPG9wYzpGaWVsZCBOYW1lPSJEaWFnbm9zdGljSW5mbyIgVHlwZU5hbWU9InVhOkRpYWdu\nb3N0aWNJbmZvIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVy\nZWRUeXBlIE5hbWU9IlN1YnNjcmlwdGlvbkRpYWdub3N0aWNzRGF0YVR5cGUiIEJhc2VUeXBlPSJ1\nYTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU2Vzc2lvbklkIiBUeXBl\nTmFtZT0idWE6Tm9kZUlkIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU3Vic2NyaXB0aW9uSWQi\nIFR5cGVOYW1lPSJvcGM6VUludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUHJpb3JpdHki\nIFR5cGVOYW1lPSJvcGM6Qnl0ZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlB1Ymxpc2hpbmdJ\nbnRlcnZhbCIgVHlwZU5hbWU9Im9wYzpEb3VibGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJN\nYXhLZWVwQWxpdmVDb3VudCIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+DQogICAgPG9wYzpGaWVs\nZCBOYW1lPSJNYXhMaWZldGltZUNvdW50IiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgLz4NCiAgICA8\nb3BjOkZpZWxkIE5hbWU9Ik1heE5vdGlmaWNhdGlvbnNQZXJQdWJsaXNoIiBUeXBlTmFtZT0ib3Bj\nOlVJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlB1Ymxpc2hpbmdFbmFibGVkIiBUeXBl\nTmFtZT0ib3BjOkJvb2xlYW4iIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJNb2RpZnlDb3VudCIg\nVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJFbmFibGVDb3Vu\ndCIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJEaXNhYmxl\nQ291bnQiIFR5cGVOYW1lPSJvcGM6VUludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVw\ndWJsaXNoUmVxdWVzdENvdW50IiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgLz4NCiAgICA8b3BjOkZp\nZWxkIE5hbWU9IlJlcHVibGlzaE1lc3NhZ2VSZXF1ZXN0Q291bnQiIFR5cGVOYW1lPSJvcGM6VUlu\ndDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVwdWJsaXNoTWVzc2FnZUNvdW50IiBUeXBl\nTmFtZT0ib3BjOlVJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlRyYW5zZmVyUmVxdWVz\ndENvdW50IiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlRy\nYW5zZmVycmVkVG9BbHRDbGllbnRDb3VudCIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+DQogICAg\nPG9wYzpGaWVsZCBOYW1lPSJUcmFuc2ZlcnJlZFRvU2FtZUNsaWVudENvdW50IiBUeXBlTmFtZT0i\nb3BjOlVJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlB1Ymxpc2hSZXF1ZXN0Q291bnQi\nIFR5cGVOYW1lPSJvcGM6VUludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRGF0YUNoYW5n\nZU5vdGlmaWNhdGlvbnNDb3VudCIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+DQogICAgPG9wYzpG\naWVsZCBOYW1lPSJFdmVudE5vdGlmaWNhdGlvbnNDb3VudCIgVHlwZU5hbWU9Im9wYzpVSW50MzIi\nIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb3RpZmljYXRpb25zQ291bnQiIFR5cGVOYW1lPSJv\ncGM6VUludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTGF0ZVB1Ymxpc2hSZXF1ZXN0Q291\nbnQiIFR5cGVOYW1lPSJvcGM6VUludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iQ3VycmVu\ndEtlZXBBbGl2ZUNvdW50IiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxk\nIE5hbWU9IkN1cnJlbnRMaWZldGltZUNvdW50IiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgLz4NCiAg\nICA8b3BjOkZpZWxkIE5hbWU9IlVuYWNrbm93bGVkZ2VkTWVzc2FnZUNvdW50IiBUeXBlTmFtZT0i\nb3BjOlVJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkRpc2NhcmRlZE1lc3NhZ2VDb3Vu\ndCIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJNb25pdG9y\nZWRJdGVtQ291bnQiIFR5cGVOYW1lPSJvcGM6VUludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFt\nZT0iRGlzYWJsZWRNb25pdG9yZWRJdGVtQ291bnQiIFR5cGVOYW1lPSJvcGM6VUludDMyIiAvPg0K\nICAgIDxvcGM6RmllbGQgTmFtZT0iTW9uaXRvcmluZ1F1ZXVlT3ZlcmZsb3dDb3VudCIgVHlwZU5h\nbWU9Im9wYzpVSW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOZXh0U2VxdWVuY2VOdW1i\nZXIiIFR5cGVOYW1lPSJvcGM6VUludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRXZlbnRR\ndWV1ZU92ZXJGbG93Q291bnQiIFR5cGVOYW1lPSJvcGM6VUludDMyIiAvPg0KICA8L29wYzpTdHJ1\nY3R1cmVkVHlwZT4NCg0KICA8b3BjOkVudW1lcmF0ZWRUeXBlIE5hbWU9Ik1vZGVsQ2hhbmdlU3Ry\ndWN0dXJlVmVyYk1hc2siIExlbmd0aEluQml0cz0iMzIiPg0KICAgIDxvcGM6RW51bWVyYXRlZFZh\nbHVlIE5hbWU9Ik5vZGVBZGRlZCIgVmFsdWU9IjEiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFs\ndWUgTmFtZT0iTm9kZURlbGV0ZWQiIFZhbHVlPSIyIiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZh\nbHVlIE5hbWU9IlJlZmVyZW5jZUFkZGVkIiBWYWx1ZT0iNCIgLz4NCiAgICA8b3BjOkVudW1lcmF0\nZWRWYWx1ZSBOYW1lPSJSZWZlcmVuY2VEZWxldGVkIiBWYWx1ZT0iOCIgLz4NCiAgICA8b3BjOkVu\ndW1lcmF0ZWRWYWx1ZSBOYW1lPSJEYXRhVHlwZUNoYW5nZWQiIFZhbHVlPSIxNiIgLz4NCiAgPC9v\ncGM6RW51bWVyYXRlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJNb2RlbENo\nYW5nZVN0cnVjdHVyZURhdGFUeXBlIiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAg\nICA8b3BjOkZpZWxkIE5hbWU9IkFmZmVjdGVkIiBUeXBlTmFtZT0idWE6Tm9kZUlkIiAvPg0KICAg\nIDxvcGM6RmllbGQgTmFtZT0iQWZmZWN0ZWRUeXBlIiBUeXBlTmFtZT0idWE6Tm9kZUlkIiAvPg0K\nICAgIDxvcGM6RmllbGQgTmFtZT0iVmVyYiIgVHlwZU5hbWU9Im9wYzpCeXRlIiAvPg0KICA8L29w\nYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IlNlbWFudGlj\nQ2hhbmdlU3RydWN0dXJlRGF0YVR5cGUiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0K\nICAgIDxvcGM6RmllbGQgTmFtZT0iQWZmZWN0ZWQiIFR5cGVOYW1lPSJ1YTpOb2RlSWQiIC8+DQog\nICAgPG9wYzpGaWVsZCBOYW1lPSJBZmZlY3RlZFR5cGUiIFR5cGVOYW1lPSJ1YTpOb2RlSWQiIC8+\nDQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0i\nUmFuZ2UiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RmllbGQgTmFt\nZT0iTG93IiBUeXBlTmFtZT0ib3BjOkRvdWJsZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ikhp\nZ2giIFR5cGVOYW1lPSJvcGM6RG91YmxlIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0K\nICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IkVVSW5mb3JtYXRpb24iIEJhc2VUeXBlPSJ1YTpF\neHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTmFtZXNwYWNlVXJpIiBUeXBl\nTmFtZT0ib3BjOlN0cmluZyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlVuaXRJZCIgVHlwZU5h\nbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkRpc3BsYXlOYW1lIiBUeXBl\nTmFtZT0idWE6TG9jYWxpemVkVGV4dCIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkRlc2NyaXB0\naW9uIiBUeXBlTmFtZT0idWE6TG9jYWxpemVkVGV4dCIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5\ncGU+DQoNCiAgPG9wYzpFbnVtZXJhdGVkVHlwZSBOYW1lPSJBeGlzU2NhbGVFbnVtZXJhdGlvbiIg\nTGVuZ3RoSW5CaXRzPSIzMiI+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iTGluZWFy\nIiBWYWx1ZT0iMCIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJMb2ciIFZhbHVl\nPSIxIiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IkxuIiBWYWx1ZT0iMiIgLz4N\nCiAgPC9vcGM6RW51bWVyYXRlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJD\nb21wbGV4TnVtYmVyVHlwZSIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9w\nYzpGaWVsZCBOYW1lPSJSZWFsIiBUeXBlTmFtZT0ib3BjOkZsb2F0IiAvPg0KICAgIDxvcGM6Rmll\nbGQgTmFtZT0iSW1hZ2luYXJ5IiBUeXBlTmFtZT0ib3BjOkZsb2F0IiAvPg0KICA8L29wYzpTdHJ1\nY3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IkRvdWJsZUNvbXBsZXhO\ndW1iZXJUeXBlIiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkZpZWxk\nIE5hbWU9IlJlYWwiIFR5cGVOYW1lPSJvcGM6RG91YmxlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFt\nZT0iSW1hZ2luYXJ5IiBUeXBlTmFtZT0ib3BjOkRvdWJsZSIgLz4NCiAgPC9vcGM6U3RydWN0dXJl\nZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJBeGlzSW5mb3JtYXRpb24iIEJh\nc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRW5naW5l\nZXJpbmdVbml0cyIgVHlwZU5hbWU9InRuczpFVUluZm9ybWF0aW9uIiAvPg0KICAgIDxvcGM6Rmll\nbGQgTmFtZT0iRVVSYW5nZSIgVHlwZU5hbWU9InRuczpSYW5nZSIgLz4NCiAgICA8b3BjOkZpZWxk\nIE5hbWU9IlRpdGxlIiBUeXBlTmFtZT0idWE6TG9jYWxpemVkVGV4dCIgLz4NCiAgICA8b3BjOkZp\nZWxkIE5hbWU9IkF4aXNTY2FsZVR5cGUiIFR5cGVOYW1lPSJ0bnM6QXhpc1NjYWxlRW51bWVyYXRp\nb24iIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mQXhpc1N0ZXBzIiBUeXBlTmFtZT0ib3Bj\nOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iQXhpc1N0ZXBzIiBUeXBlTmFtZT0ib3Bj\nOkRvdWJsZSIgTGVuZ3RoRmllbGQ9Ik5vT2ZBeGlzU3RlcHMiIC8+DQogIDwvb3BjOlN0cnVjdHVy\nZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iWFZUeXBlIiBCYXNlVHlwZT0i\ndWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlgiIFR5cGVOYW1lPSJv\ncGM6RG91YmxlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iVmFsdWUiIFR5cGVOYW1lPSJvcGM6\nRmxvYXQiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5\ncGUgTmFtZT0iUHJvZ3JhbURpYWdub3N0aWNEYXRhVHlwZSIgQmFzZVR5cGU9InVhOkV4dGVuc2lv\nbk9iamVjdCI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJDcmVhdGVTZXNzaW9uSWQiIFR5cGVOYW1l\nPSJ1YTpOb2RlSWQiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJDcmVhdGVDbGllbnROYW1lIiBU\neXBlTmFtZT0ib3BjOlN0cmluZyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ikludm9jYXRpb25D\ncmVhdGlvblRpbWUiIFR5cGVOYW1lPSJvcGM6RGF0ZVRpbWUiIC8+DQogICAgPG9wYzpGaWVsZCBO\nYW1lPSJMYXN0VHJhbnNpdGlvblRpbWUiIFR5cGVOYW1lPSJvcGM6RGF0ZVRpbWUiIC8+DQogICAg\nPG9wYzpGaWVsZCBOYW1lPSJMYXN0TWV0aG9kQ2FsbCIgVHlwZU5hbWU9Im9wYzpTdHJpbmciIC8+\nDQogICAgPG9wYzpGaWVsZCBOYW1lPSJMYXN0TWV0aG9kU2Vzc2lvbklkIiBUeXBlTmFtZT0idWE6\nTm9kZUlkIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZkxhc3RNZXRob2RJbnB1dEFyZ3Vt\nZW50cyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ikxhc3RN\nZXRob2RJbnB1dEFyZ3VtZW50cyIgVHlwZU5hbWU9InRuczpBcmd1bWVudCIgTGVuZ3RoRmllbGQ9\nIk5vT2ZMYXN0TWV0aG9kSW5wdXRBcmd1bWVudHMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJO\nb09mTGFzdE1ldGhvZE91dHB1dEFyZ3VtZW50cyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAg\nICA8b3BjOkZpZWxkIE5hbWU9Ikxhc3RNZXRob2RPdXRwdXRBcmd1bWVudHMiIFR5cGVOYW1lPSJ0\nbnM6QXJndW1lbnQiIExlbmd0aEZpZWxkPSJOb09mTGFzdE1ldGhvZE91dHB1dEFyZ3VtZW50cyIg\nLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ikxhc3RNZXRob2RDYWxsVGltZSIgVHlwZU5hbWU9Im9w\nYzpEYXRlVGltZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ikxhc3RNZXRob2RSZXR1cm5TdGF0\ndXMiIFR5cGVOYW1lPSJ0bnM6U3RhdHVzUmVzdWx0IiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlw\nZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IlByb2dyYW1EaWFnbm9zdGljMkRhdGFU\neXBlIiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9\nIkNyZWF0ZVNlc3Npb25JZCIgVHlwZU5hbWU9InVhOk5vZGVJZCIgLz4NCiAgICA8b3BjOkZpZWxk\nIE5hbWU9IkNyZWF0ZUNsaWVudE5hbWUiIFR5cGVOYW1lPSJvcGM6U3RyaW5nIiAvPg0KICAgIDxv\ncGM6RmllbGQgTmFtZT0iSW52b2NhdGlvbkNyZWF0aW9uVGltZSIgVHlwZU5hbWU9Im9wYzpEYXRl\nVGltZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ikxhc3RUcmFuc2l0aW9uVGltZSIgVHlwZU5h\nbWU9Im9wYzpEYXRlVGltZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ikxhc3RNZXRob2RDYWxs\nIiBUeXBlTmFtZT0ib3BjOlN0cmluZyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ikxhc3RNZXRo\nb2RTZXNzaW9uSWQiIFR5cGVOYW1lPSJ1YTpOb2RlSWQiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1l\nPSJOb09mTGFzdE1ldGhvZElucHV0QXJndW1lbnRzIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0K\nICAgIDxvcGM6RmllbGQgTmFtZT0iTGFzdE1ldGhvZElucHV0QXJndW1lbnRzIiBUeXBlTmFtZT0i\ndG5zOkFyZ3VtZW50IiBMZW5ndGhGaWVsZD0iTm9PZkxhc3RNZXRob2RJbnB1dEFyZ3VtZW50cyIg\nLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZMYXN0TWV0aG9kT3V0cHV0QXJndW1lbnRzIiBU\neXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTGFzdE1ldGhvZE91\ndHB1dEFyZ3VtZW50cyIgVHlwZU5hbWU9InRuczpBcmd1bWVudCIgTGVuZ3RoRmllbGQ9Ik5vT2ZM\nYXN0TWV0aG9kT3V0cHV0QXJndW1lbnRzIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZkxh\nc3RNZXRob2RJbnB1dFZhbHVlcyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZp\nZWxkIE5hbWU9Ikxhc3RNZXRob2RJbnB1dFZhbHVlcyIgVHlwZU5hbWU9InVhOlZhcmlhbnQiIExl\nbmd0aEZpZWxkPSJOb09mTGFzdE1ldGhvZElucHV0VmFsdWVzIiAvPg0KICAgIDxvcGM6RmllbGQg\nTmFtZT0iTm9PZkxhc3RNZXRob2RPdXRwdXRWYWx1ZXMiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+\nDQogICAgPG9wYzpGaWVsZCBOYW1lPSJMYXN0TWV0aG9kT3V0cHV0VmFsdWVzIiBUeXBlTmFtZT0i\ndWE6VmFyaWFudCIgTGVuZ3RoRmllbGQ9Ik5vT2ZMYXN0TWV0aG9kT3V0cHV0VmFsdWVzIiAvPg0K\nICAgIDxvcGM6RmllbGQgTmFtZT0iTGFzdE1ldGhvZENhbGxUaW1lIiBUeXBlTmFtZT0ib3BjOkRh\ndGVUaW1lIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTGFzdE1ldGhvZFJldHVyblN0YXR1cyIg\nVHlwZU5hbWU9InVhOlN0YXR1c0NvZGUiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQog\nIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iQW5ub3RhdGlvbiIgQmFzZVR5cGU9InVhOkV4dGVu\nc2lvbk9iamVjdCI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJNZXNzYWdlIiBUeXBlTmFtZT0ib3Bj\nOlN0cmluZyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlVzZXJOYW1lIiBUeXBlTmFtZT0ib3Bj\nOlN0cmluZyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkFubm90YXRpb25UaW1lIiBUeXBlTmFt\nZT0ib3BjOkRhdGVUaW1lIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOkVu\ndW1lcmF0ZWRUeXBlIE5hbWU9IkV4Y2VwdGlvbkRldmlhdGlvbkZvcm1hdCIgTGVuZ3RoSW5CaXRz\nPSIzMiI+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iQWJzb2x1dGVWYWx1ZSIgVmFs\ndWU9IjAiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iUGVyY2VudE9mVmFsdWUi\nIFZhbHVlPSIxIiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IlBlcmNlbnRPZlJh\nbmdlIiBWYWx1ZT0iMiIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJQZXJjZW50\nT2ZFVVJhbmdlIiBWYWx1ZT0iMyIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJV\nbmtub3duIiBWYWx1ZT0iNCIgLz4NCiAgPC9vcGM6RW51bWVyYXRlZFR5cGU+DQoNCjwvb3BjOlR5\ncGVEaWN0aW9uYXJ5Pg==</ByteString>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"i=7619\" BrowseName=\"NamespaceUri\" ReleaseStatus=\"Deprecated\" ParentNodeId=\"i=7617\" DataType=\"String\">\n    <DisplayName>NamespaceUri</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=7617</Reference>\n    </References>\n    <Value>\n      <String xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">http://opcfoundation.org/UA/</String>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"i=15037\" BrowseName=\"Deprecated\" ReleaseStatus=\"Deprecated\" ParentNodeId=\"i=7617\" DataType=\"Boolean\">\n    <DisplayName>Deprecated</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=7617</Reference>\n    </References>\n    <Value>\n      <Boolean xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">true</Boolean>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"i=12770\" BrowseName=\"Union\" ReleaseStatus=\"Deprecated\" ParentNodeId=\"i=7617\" DataType=\"String\">\n    <DisplayName>Union</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=69</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=7617</Reference>\n    </References>\n    <Value>\n      <String xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">Union</String>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"i=14873\" BrowseName=\"KeyValuePair\" ReleaseStatus=\"Deprecated\" ParentNodeId=\"i=7617\" DataType=\"String\">\n    <DisplayName>KeyValuePair</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=69</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=7617</Reference>\n    </References>\n    <Value>\n      <String xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">KeyValuePair</String>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"i=17538\" BrowseName=\"AdditionalParametersType\" ReleaseStatus=\"Deprecated\" ParentNodeId=\"i=7617\" DataType=\"String\">\n    <DisplayName>AdditionalParametersType</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=69</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=7617</Reference>\n    </References>\n    <Value>\n      <String xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">AdditionalParametersType</String>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"i=17550\" BrowseName=\"EphemeralKeyType\" ReleaseStatus=\"Deprecated\" ParentNodeId=\"i=7617\" DataType=\"String\">\n    <DisplayName>EphemeralKeyType</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=69</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=7617</Reference>\n    </References>\n    <Value>\n      <String xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">EphemeralKeyType</String>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"i=15734\" BrowseName=\"EndpointType\" ReleaseStatus=\"Deprecated\" ParentNodeId=\"i=7617\" DataType=\"String\">\n    <DisplayName>EndpointType</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=69</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=7617</Reference>\n    </References>\n    <Value>\n      <String xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">EndpointType</String>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"i=18824\" BrowseName=\"RationalNumber\" ReleaseStatus=\"Deprecated\" ParentNodeId=\"i=7617\" DataType=\"String\">\n    <DisplayName>RationalNumber</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=69</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=7617</Reference>\n    </References>\n    <Value>\n      <String xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">RationalNumber</String>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"i=18827\" BrowseName=\"Vector\" ReleaseStatus=\"Deprecated\" ParentNodeId=\"i=7617\" DataType=\"String\">\n    <DisplayName>Vector</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=69</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=7617</Reference>\n    </References>\n    <Value>\n      <String xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">Vector</String>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"i=18830\" BrowseName=\"3DVector\" SymbolicName=\"ThreeDVector\" ReleaseStatus=\"Deprecated\" ParentNodeId=\"i=7617\" DataType=\"String\">\n    <DisplayName>3DVector</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=69</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=7617</Reference>\n    </References>\n    <Value>\n      <String xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">ThreeDVector</String>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"i=18833\" BrowseName=\"CartesianCoordinates\" ReleaseStatus=\"Deprecated\" ParentNodeId=\"i=7617\" DataType=\"String\">\n    <DisplayName>CartesianCoordinates</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=69</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=7617</Reference>\n    </References>\n    <Value>\n      <String xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">CartesianCoordinates</String>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"i=18836\" BrowseName=\"3DCartesianCoordinates\" SymbolicName=\"ThreeDCartesianCoordinates\" ReleaseStatus=\"Deprecated\" ParentNodeId=\"i=7617\" DataType=\"String\">\n    <DisplayName>3DCartesianCoordinates</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=69</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=7617</Reference>\n    </References>\n    <Value>\n      <String xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">ThreeDCartesianCoordinates</String>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"i=18839\" BrowseName=\"Orientation\" ReleaseStatus=\"Deprecated\" ParentNodeId=\"i=7617\" DataType=\"String\">\n    <DisplayName>Orientation</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=69</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=7617</Reference>\n    </References>\n    <Value>\n      <String xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">Orientation</String>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"i=18842\" BrowseName=\"3DOrientation\" SymbolicName=\"ThreeDOrientation\" ReleaseStatus=\"Deprecated\" ParentNodeId=\"i=7617\" DataType=\"String\">\n    <DisplayName>3DOrientation</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=69</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=7617</Reference>\n    </References>\n    <Value>\n      <String xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">ThreeDOrientation</String>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"i=18845\" BrowseName=\"Frame\" ReleaseStatus=\"Deprecated\" ParentNodeId=\"i=7617\" DataType=\"String\">\n    <DisplayName>Frame</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=69</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=7617</Reference>\n    </References>\n    <Value>\n      <String xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">Frame</String>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"i=18848\" BrowseName=\"3DFrame\" SymbolicName=\"ThreeDFrame\" ReleaseStatus=\"Deprecated\" ParentNodeId=\"i=7617\" DataType=\"String\">\n    <DisplayName>3DFrame</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=69</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=7617</Reference>\n    </References>\n    <Value>\n      <String xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">ThreeDFrame</String>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"i=15738\" BrowseName=\"IdentityMappingRuleType\" ReleaseStatus=\"Deprecated\" ParentNodeId=\"i=7617\" DataType=\"String\">\n    <DisplayName>IdentityMappingRuleType</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=69</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=7617</Reference>\n    </References>\n    <Value>\n      <String xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">IdentityMappingRuleType</String>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"i=23514\" BrowseName=\"CurrencyUnitType\" ReleaseStatus=\"Deprecated\" ParentNodeId=\"i=7617\" DataType=\"String\">\n    <DisplayName>CurrencyUnitType</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=69</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=7617</Reference>\n    </References>\n    <Value>\n      <String xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">CurrencyUnitType</String>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"i=12681\" BrowseName=\"TrustListDataType\" ReleaseStatus=\"Deprecated\" ParentNodeId=\"i=7617\" DataType=\"String\">\n    <DisplayName>TrustListDataType</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=69</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=7617</Reference>\n    </References>\n    <Value>\n      <String xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">TrustListDataType</String>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"i=15741\" BrowseName=\"DataTypeSchemaHeader\" ReleaseStatus=\"Deprecated\" ParentNodeId=\"i=7617\" DataType=\"String\">\n    <DisplayName>DataTypeSchemaHeader</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=69</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=7617</Reference>\n    </References>\n    <Value>\n      <String xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">DataTypeSchemaHeader</String>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"i=14855\" BrowseName=\"DataTypeDescription\" ReleaseStatus=\"Deprecated\" ParentNodeId=\"i=7617\" DataType=\"String\">\n    <DisplayName>DataTypeDescription</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=69</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=7617</Reference>\n    </References>\n    <Value>\n      <String xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">DataTypeDescription</String>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"i=15599\" BrowseName=\"StructureDescription\" ReleaseStatus=\"Deprecated\" ParentNodeId=\"i=7617\" DataType=\"String\">\n    <DisplayName>StructureDescription</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=69</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=7617</Reference>\n    </References>\n    <Value>\n      <String xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">StructureDescription</String>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"i=15602\" BrowseName=\"EnumDescription\" ReleaseStatus=\"Deprecated\" ParentNodeId=\"i=7617\" DataType=\"String\">\n    <DisplayName>EnumDescription</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=69</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=7617</Reference>\n    </References>\n    <Value>\n      <String xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">EnumDescription</String>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"i=15501\" BrowseName=\"SimpleTypeDescription\" ReleaseStatus=\"Deprecated\" ParentNodeId=\"i=7617\" DataType=\"String\">\n    <DisplayName>SimpleTypeDescription</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=69</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=7617</Reference>\n    </References>\n    <Value>\n      <String xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">SimpleTypeDescription</String>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"i=15521\" BrowseName=\"UABinaryFileDataType\" ReleaseStatus=\"Deprecated\" ParentNodeId=\"i=7617\" DataType=\"String\">\n    <DisplayName>UABinaryFileDataType</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=69</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=7617</Reference>\n    </References>\n    <Value>\n      <String xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">UABinaryFileDataType</String>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"i=14849\" BrowseName=\"DataSetMetaDataType\" ReleaseStatus=\"Deprecated\" ParentNodeId=\"i=7617\" DataType=\"String\">\n    <DisplayName>DataSetMetaDataType</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=69</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=7617</Reference>\n    </References>\n    <Value>\n      <String xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">DataSetMetaDataType</String>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"i=14852\" BrowseName=\"FieldMetaData\" ReleaseStatus=\"Deprecated\" ParentNodeId=\"i=7617\" DataType=\"String\">\n    <DisplayName>FieldMetaData</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=69</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=7617</Reference>\n    </References>\n    <Value>\n      <String xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">FieldMetaData</String>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"i=14876\" BrowseName=\"ConfigurationVersionDataType\" ReleaseStatus=\"Deprecated\" ParentNodeId=\"i=7617\" DataType=\"String\">\n    <DisplayName>ConfigurationVersionDataType</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=69</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=7617</Reference>\n    </References>\n    <Value>\n      <String xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">ConfigurationVersionDataType</String>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"i=15766\" BrowseName=\"PublishedDataSetDataType\" ReleaseStatus=\"Deprecated\" ParentNodeId=\"i=7617\" DataType=\"String\">\n    <DisplayName>PublishedDataSetDataType</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=69</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=7617</Reference>\n    </References>\n    <Value>\n      <String xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">PublishedDataSetDataType</String>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"i=15769\" BrowseName=\"PublishedDataSetSourceDataType\" ReleaseStatus=\"Deprecated\" ParentNodeId=\"i=7617\" DataType=\"String\">\n    <DisplayName>PublishedDataSetSourceDataType</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=69</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=7617</Reference>\n    </References>\n    <Value>\n      <String xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">PublishedDataSetSourceDataType</String>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"i=14324\" BrowseName=\"PublishedVariableDataType\" ReleaseStatus=\"Deprecated\" ParentNodeId=\"i=7617\" DataType=\"String\">\n    <DisplayName>PublishedVariableDataType</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=69</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=7617</Reference>\n    </References>\n    <Value>\n      <String xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">PublishedVariableDataType</String>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"i=15772\" BrowseName=\"PublishedDataItemsDataType\" ReleaseStatus=\"Deprecated\" ParentNodeId=\"i=7617\" DataType=\"String\">\n    <DisplayName>PublishedDataItemsDataType</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=69</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=7617</Reference>\n    </References>\n    <Value>\n      <String xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">PublishedDataItemsDataType</String>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"i=15775\" BrowseName=\"PublishedEventsDataType\" ReleaseStatus=\"Deprecated\" ParentNodeId=\"i=7617\" DataType=\"String\">\n    <DisplayName>PublishedEventsDataType</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=69</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=7617</Reference>\n    </References>\n    <Value>\n      <String xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">PublishedEventsDataType</String>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"i=15778\" BrowseName=\"DataSetWriterDataType\" ReleaseStatus=\"Deprecated\" ParentNodeId=\"i=7617\" DataType=\"String\">\n    <DisplayName>DataSetWriterDataType</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=69</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=7617</Reference>\n    </References>\n    <Value>\n      <String xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">DataSetWriterDataType</String>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"i=15781\" BrowseName=\"DataSetWriterTransportDataType\" ReleaseStatus=\"Deprecated\" ParentNodeId=\"i=7617\" DataType=\"String\">\n    <DisplayName>DataSetWriterTransportDataType</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=69</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=7617</Reference>\n    </References>\n    <Value>\n      <String xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">DataSetWriterTransportDataType</String>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"i=15784\" BrowseName=\"DataSetWriterMessageDataType\" ReleaseStatus=\"Deprecated\" ParentNodeId=\"i=7617\" DataType=\"String\">\n    <DisplayName>DataSetWriterMessageDataType</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=69</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=7617</Reference>\n    </References>\n    <Value>\n      <String xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">DataSetWriterMessageDataType</String>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"i=15787\" BrowseName=\"PubSubGroupDataType\" ReleaseStatus=\"Deprecated\" ParentNodeId=\"i=7617\" DataType=\"String\">\n    <DisplayName>PubSubGroupDataType</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=69</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=7617</Reference>\n    </References>\n    <Value>\n      <String xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">PubSubGroupDataType</String>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"i=21156\" BrowseName=\"WriterGroupDataType\" ReleaseStatus=\"Deprecated\" ParentNodeId=\"i=7617\" DataType=\"String\">\n    <DisplayName>WriterGroupDataType</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=69</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=7617</Reference>\n    </References>\n    <Value>\n      <String xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">WriterGroupDataType</String>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"i=15793\" BrowseName=\"WriterGroupTransportDataType\" ReleaseStatus=\"Deprecated\" ParentNodeId=\"i=7617\" DataType=\"String\">\n    <DisplayName>WriterGroupTransportDataType</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=69</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=7617</Reference>\n    </References>\n    <Value>\n      <String xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">WriterGroupTransportDataType</String>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"i=15854\" BrowseName=\"WriterGroupMessageDataType\" ReleaseStatus=\"Deprecated\" ParentNodeId=\"i=7617\" DataType=\"String\">\n    <DisplayName>WriterGroupMessageDataType</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=69</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=7617</Reference>\n    </References>\n    <Value>\n      <String xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">WriterGroupMessageDataType</String>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"i=15857\" BrowseName=\"PubSubConnectionDataType\" ReleaseStatus=\"Deprecated\" ParentNodeId=\"i=7617\" DataType=\"String\">\n    <DisplayName>PubSubConnectionDataType</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=69</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=7617</Reference>\n    </References>\n    <Value>\n      <String xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">PubSubConnectionDataType</String>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"i=15860\" BrowseName=\"ConnectionTransportDataType\" ReleaseStatus=\"Deprecated\" ParentNodeId=\"i=7617\" DataType=\"String\">\n    <DisplayName>ConnectionTransportDataType</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=69</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=7617</Reference>\n    </References>\n    <Value>\n      <String xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">ConnectionTransportDataType</String>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"i=21159\" BrowseName=\"NetworkAddressDataType\" ReleaseStatus=\"Deprecated\" ParentNodeId=\"i=7617\" DataType=\"String\">\n    <DisplayName>NetworkAddressDataType</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=69</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=7617</Reference>\n    </References>\n    <Value>\n      <String xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">NetworkAddressDataType</String>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"i=21162\" BrowseName=\"NetworkAddressUrlDataType\" ReleaseStatus=\"Deprecated\" ParentNodeId=\"i=7617\" DataType=\"String\">\n    <DisplayName>NetworkAddressUrlDataType</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=69</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=7617</Reference>\n    </References>\n    <Value>\n      <String xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">NetworkAddressUrlDataType</String>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"i=21165\" BrowseName=\"ReaderGroupDataType\" ReleaseStatus=\"Deprecated\" ParentNodeId=\"i=7617\" DataType=\"String\">\n    <DisplayName>ReaderGroupDataType</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=69</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=7617</Reference>\n    </References>\n    <Value>\n      <String xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">ReaderGroupDataType</String>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"i=15866\" BrowseName=\"ReaderGroupTransportDataType\" ReleaseStatus=\"Deprecated\" ParentNodeId=\"i=7617\" DataType=\"String\">\n    <DisplayName>ReaderGroupTransportDataType</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=69</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=7617</Reference>\n    </References>\n    <Value>\n      <String xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">ReaderGroupTransportDataType</String>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"i=15869\" BrowseName=\"ReaderGroupMessageDataType\" ReleaseStatus=\"Deprecated\" ParentNodeId=\"i=7617\" DataType=\"String\">\n    <DisplayName>ReaderGroupMessageDataType</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=69</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=7617</Reference>\n    </References>\n    <Value>\n      <String xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">ReaderGroupMessageDataType</String>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"i=15872\" BrowseName=\"DataSetReaderDataType\" ReleaseStatus=\"Deprecated\" ParentNodeId=\"i=7617\" DataType=\"String\">\n    <DisplayName>DataSetReaderDataType</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=69</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=7617</Reference>\n    </References>\n    <Value>\n      <String xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">DataSetReaderDataType</String>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"i=15877\" BrowseName=\"DataSetReaderTransportDataType\" ReleaseStatus=\"Deprecated\" ParentNodeId=\"i=7617\" DataType=\"String\">\n    <DisplayName>DataSetReaderTransportDataType</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=69</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=7617</Reference>\n    </References>\n    <Value>\n      <String xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">DataSetReaderTransportDataType</String>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"i=15880\" BrowseName=\"DataSetReaderMessageDataType\" ReleaseStatus=\"Deprecated\" ParentNodeId=\"i=7617\" DataType=\"String\">\n    <DisplayName>DataSetReaderMessageDataType</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=69</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=7617</Reference>\n    </References>\n    <Value>\n      <String xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">DataSetReaderMessageDataType</String>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"i=15883\" BrowseName=\"SubscribedDataSetDataType\" ReleaseStatus=\"Deprecated\" ParentNodeId=\"i=7617\" DataType=\"String\">\n    <DisplayName>SubscribedDataSetDataType</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=69</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=7617</Reference>\n    </References>\n    <Value>\n      <String xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">SubscribedDataSetDataType</String>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"i=15886\" BrowseName=\"TargetVariablesDataType\" ReleaseStatus=\"Deprecated\" ParentNodeId=\"i=7617\" DataType=\"String\">\n    <DisplayName>TargetVariablesDataType</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=69</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=7617</Reference>\n    </References>\n    <Value>\n      <String xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">TargetVariablesDataType</String>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"i=21002\" BrowseName=\"FieldTargetDataType\" ReleaseStatus=\"Deprecated\" ParentNodeId=\"i=7617\" DataType=\"String\">\n    <DisplayName>FieldTargetDataType</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=69</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=7617</Reference>\n    </References>\n    <Value>\n      <String xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">FieldTargetDataType</String>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"i=15889\" BrowseName=\"SubscribedDataSetMirrorDataType\" ReleaseStatus=\"Deprecated\" ParentNodeId=\"i=7617\" DataType=\"String\">\n    <DisplayName>SubscribedDataSetMirrorDataType</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=69</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=7617</Reference>\n    </References>\n    <Value>\n      <String xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">SubscribedDataSetMirrorDataType</String>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"i=21168\" BrowseName=\"PubSubConfigurationDataType\" ReleaseStatus=\"Deprecated\" ParentNodeId=\"i=7617\" DataType=\"String\">\n    <DisplayName>PubSubConfigurationDataType</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=69</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=7617</Reference>\n    </References>\n    <Value>\n      <String xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">PubSubConfigurationDataType</String>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"i=15895\" BrowseName=\"UadpWriterGroupMessageDataType\" ReleaseStatus=\"Deprecated\" ParentNodeId=\"i=7617\" DataType=\"String\">\n    <DisplayName>UadpWriterGroupMessageDataType</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=69</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=7617</Reference>\n    </References>\n    <Value>\n      <String xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">UadpWriterGroupMessageDataType</String>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"i=15898\" BrowseName=\"UadpDataSetWriterMessageDataType\" ReleaseStatus=\"Deprecated\" ParentNodeId=\"i=7617\" DataType=\"String\">\n    <DisplayName>UadpDataSetWriterMessageDataType</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=69</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=7617</Reference>\n    </References>\n    <Value>\n      <String xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">UadpDataSetWriterMessageDataType</String>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"i=15919\" BrowseName=\"UadpDataSetReaderMessageDataType\" ReleaseStatus=\"Deprecated\" ParentNodeId=\"i=7617\" DataType=\"String\">\n    <DisplayName>UadpDataSetReaderMessageDataType</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=69</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=7617</Reference>\n    </References>\n    <Value>\n      <String xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">UadpDataSetReaderMessageDataType</String>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"i=15922\" BrowseName=\"JsonWriterGroupMessageDataType\" ReleaseStatus=\"Deprecated\" ParentNodeId=\"i=7617\" DataType=\"String\">\n    <DisplayName>JsonWriterGroupMessageDataType</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=69</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=7617</Reference>\n    </References>\n    <Value>\n      <String xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">JsonWriterGroupMessageDataType</String>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"i=15925\" BrowseName=\"JsonDataSetWriterMessageDataType\" ReleaseStatus=\"Deprecated\" ParentNodeId=\"i=7617\" DataType=\"String\">\n    <DisplayName>JsonDataSetWriterMessageDataType</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=69</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=7617</Reference>\n    </References>\n    <Value>\n      <String xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">JsonDataSetWriterMessageDataType</String>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"i=15931\" BrowseName=\"JsonDataSetReaderMessageDataType\" ReleaseStatus=\"Deprecated\" ParentNodeId=\"i=7617\" DataType=\"String\">\n    <DisplayName>JsonDataSetReaderMessageDataType</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=69</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=7617</Reference>\n    </References>\n    <Value>\n      <String xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">JsonDataSetReaderMessageDataType</String>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"i=17469\" BrowseName=\"DatagramConnectionTransportDataType\" ReleaseStatus=\"Deprecated\" ParentNodeId=\"i=7617\" DataType=\"String\">\n    <DisplayName>DatagramConnectionTransportDataType</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=69</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=7617</Reference>\n    </References>\n    <Value>\n      <String xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">DatagramConnectionTransportDataType</String>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"i=21171\" BrowseName=\"DatagramWriterGroupTransportDataType\" ReleaseStatus=\"Deprecated\" ParentNodeId=\"i=7617\" DataType=\"String\">\n    <DisplayName>DatagramWriterGroupTransportDataType</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=69</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=7617</Reference>\n    </References>\n    <Value>\n      <String xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">DatagramWriterGroupTransportDataType</String>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"i=15524\" BrowseName=\"BrokerConnectionTransportDataType\" ReleaseStatus=\"Deprecated\" ParentNodeId=\"i=7617\" DataType=\"String\">\n    <DisplayName>BrokerConnectionTransportDataType</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=69</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=7617</Reference>\n    </References>\n    <Value>\n      <String xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">BrokerConnectionTransportDataType</String>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"i=15940\" BrowseName=\"BrokerWriterGroupTransportDataType\" ReleaseStatus=\"Deprecated\" ParentNodeId=\"i=7617\" DataType=\"String\">\n    <DisplayName>BrokerWriterGroupTransportDataType</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=69</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=7617</Reference>\n    </References>\n    <Value>\n      <String xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">BrokerWriterGroupTransportDataType</String>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"i=15943\" BrowseName=\"BrokerDataSetWriterTransportDataType\" ReleaseStatus=\"Deprecated\" ParentNodeId=\"i=7617\" DataType=\"String\">\n    <DisplayName>BrokerDataSetWriterTransportDataType</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=69</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=7617</Reference>\n    </References>\n    <Value>\n      <String xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">BrokerDataSetWriterTransportDataType</String>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"i=15946\" BrowseName=\"BrokerDataSetReaderTransportDataType\" ReleaseStatus=\"Deprecated\" ParentNodeId=\"i=7617\" DataType=\"String\">\n    <DisplayName>BrokerDataSetReaderTransportDataType</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=69</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=7617</Reference>\n    </References>\n    <Value>\n      <String xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">BrokerDataSetReaderTransportDataType</String>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"i=23502\" BrowseName=\"AliasNameDataType\" ReleaseStatus=\"Deprecated\" ParentNodeId=\"i=7617\" DataType=\"String\">\n    <DisplayName>AliasNameDataType</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=69</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=7617</Reference>\n    </References>\n    <Value>\n      <String xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">AliasNameDataType</String>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"i=24117\" BrowseName=\"UnsignedRationalNumber\" ReleaseStatus=\"Deprecated\" ParentNodeId=\"i=7617\" DataType=\"String\">\n    <DisplayName>UnsignedRationalNumber</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=69</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=7617</Reference>\n    </References>\n    <Value>\n      <String xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">UnsignedRationalNumber</String>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"i=16131\" BrowseName=\"RolePermissionType\" ReleaseStatus=\"Deprecated\" ParentNodeId=\"i=7617\" DataType=\"String\">\n    <DisplayName>RolePermissionType</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=69</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=7617</Reference>\n    </References>\n    <Value>\n      <String xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">RolePermissionType</String>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"i=18178\" BrowseName=\"DataTypeDefinition\" ReleaseStatus=\"Deprecated\" ParentNodeId=\"i=7617\" DataType=\"String\">\n    <DisplayName>DataTypeDefinition</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=69</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=7617</Reference>\n    </References>\n    <Value>\n      <String xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">DataTypeDefinition</String>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"i=18181\" BrowseName=\"StructureField\" ReleaseStatus=\"Deprecated\" ParentNodeId=\"i=7617\" DataType=\"String\">\n    <DisplayName>StructureField</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=69</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=7617</Reference>\n    </References>\n    <Value>\n      <String xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">StructureField</String>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"i=18184\" BrowseName=\"StructureDefinition\" ReleaseStatus=\"Deprecated\" ParentNodeId=\"i=7617\" DataType=\"String\">\n    <DisplayName>StructureDefinition</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=69</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=7617</Reference>\n    </References>\n    <Value>\n      <String xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">StructureDefinition</String>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"i=18187\" BrowseName=\"EnumDefinition\" ReleaseStatus=\"Deprecated\" ParentNodeId=\"i=7617\" DataType=\"String\">\n    <DisplayName>EnumDefinition</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=69</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=7617</Reference>\n    </References>\n    <Value>\n      <String xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">EnumDefinition</String>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"i=7650\" BrowseName=\"Argument\" ReleaseStatus=\"Deprecated\" ParentNodeId=\"i=7617\" DataType=\"String\">\n    <DisplayName>Argument</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=69</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=7617</Reference>\n    </References>\n    <Value>\n      <String xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">Argument</String>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"i=7656\" BrowseName=\"EnumValueType\" ReleaseStatus=\"Deprecated\" ParentNodeId=\"i=7617\" DataType=\"String\">\n    <DisplayName>EnumValueType</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=69</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=7617</Reference>\n    </References>\n    <Value>\n      <String xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">EnumValueType</String>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"i=14870\" BrowseName=\"EnumField\" ReleaseStatus=\"Deprecated\" ParentNodeId=\"i=7617\" DataType=\"String\">\n    <DisplayName>EnumField</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=69</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=7617</Reference>\n    </References>\n    <Value>\n      <String xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">EnumField</String>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"i=12767\" BrowseName=\"OptionSet\" ReleaseStatus=\"Deprecated\" ParentNodeId=\"i=7617\" DataType=\"String\">\n    <DisplayName>OptionSet</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=69</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=7617</Reference>\n    </References>\n    <Value>\n      <String xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">OptionSet</String>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"i=8914\" BrowseName=\"TimeZoneDataType\" ReleaseStatus=\"Deprecated\" ParentNodeId=\"i=7617\" DataType=\"String\">\n    <DisplayName>TimeZoneDataType</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=69</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=7617</Reference>\n    </References>\n    <Value>\n      <String xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">TimeZoneDataType</String>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"i=7665\" BrowseName=\"ApplicationDescription\" ReleaseStatus=\"Deprecated\" ParentNodeId=\"i=7617\" DataType=\"String\">\n    <DisplayName>ApplicationDescription</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=69</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=7617</Reference>\n    </References>\n    <Value>\n      <String xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">ApplicationDescription</String>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"i=12213\" BrowseName=\"ServerOnNetwork\" ReleaseStatus=\"Deprecated\" ParentNodeId=\"i=7617\" DataType=\"String\">\n    <DisplayName>ServerOnNetwork</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=69</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=7617</Reference>\n    </References>\n    <Value>\n      <String xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">ServerOnNetwork</String>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"i=7662\" BrowseName=\"UserTokenPolicy\" ReleaseStatus=\"Deprecated\" ParentNodeId=\"i=7617\" DataType=\"String\">\n    <DisplayName>UserTokenPolicy</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=69</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=7617</Reference>\n    </References>\n    <Value>\n      <String xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">UserTokenPolicy</String>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"i=7668\" BrowseName=\"EndpointDescription\" ReleaseStatus=\"Deprecated\" ParentNodeId=\"i=7617\" DataType=\"String\">\n    <DisplayName>EndpointDescription</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=69</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=7617</Reference>\n    </References>\n    <Value>\n      <String xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">EndpointDescription</String>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"i=7782\" BrowseName=\"RegisteredServer\" ReleaseStatus=\"Deprecated\" ParentNodeId=\"i=7617\" DataType=\"String\">\n    <DisplayName>RegisteredServer</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=69</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=7617</Reference>\n    </References>\n    <Value>\n      <String xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">RegisteredServer</String>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"i=12902\" BrowseName=\"DiscoveryConfiguration\" ReleaseStatus=\"Deprecated\" ParentNodeId=\"i=7617\" DataType=\"String\">\n    <DisplayName>DiscoveryConfiguration</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=69</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=7617</Reference>\n    </References>\n    <Value>\n      <String xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">DiscoveryConfiguration</String>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"i=12905\" BrowseName=\"MdnsDiscoveryConfiguration\" ReleaseStatus=\"Deprecated\" ParentNodeId=\"i=7617\" DataType=\"String\">\n    <DisplayName>MdnsDiscoveryConfiguration</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=69</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=7617</Reference>\n    </References>\n    <Value>\n      <String xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">MdnsDiscoveryConfiguration</String>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"i=7698\" BrowseName=\"SignedSoftwareCertificate\" ReleaseStatus=\"Deprecated\" ParentNodeId=\"i=7617\" DataType=\"String\">\n    <DisplayName>SignedSoftwareCertificate</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=69</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=7617</Reference>\n    </References>\n    <Value>\n      <String xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">SignedSoftwareCertificate</String>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"i=7671\" BrowseName=\"UserIdentityToken\" ReleaseStatus=\"Deprecated\" ParentNodeId=\"i=7617\" DataType=\"String\">\n    <DisplayName>UserIdentityToken</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=69</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=7617</Reference>\n    </References>\n    <Value>\n      <String xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">UserIdentityToken</String>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"i=7674\" BrowseName=\"AnonymousIdentityToken\" ReleaseStatus=\"Deprecated\" ParentNodeId=\"i=7617\" DataType=\"String\">\n    <DisplayName>AnonymousIdentityToken</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=69</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=7617</Reference>\n    </References>\n    <Value>\n      <String xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">AnonymousIdentityToken</String>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"i=7677\" BrowseName=\"UserNameIdentityToken\" ReleaseStatus=\"Deprecated\" ParentNodeId=\"i=7617\" DataType=\"String\">\n    <DisplayName>UserNameIdentityToken</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=69</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=7617</Reference>\n    </References>\n    <Value>\n      <String xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">UserNameIdentityToken</String>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"i=7680\" BrowseName=\"X509IdentityToken\" ReleaseStatus=\"Deprecated\" ParentNodeId=\"i=7617\" DataType=\"String\">\n    <DisplayName>X509IdentityToken</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=69</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=7617</Reference>\n    </References>\n    <Value>\n      <String xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">X509IdentityToken</String>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"i=7683\" BrowseName=\"IssuedIdentityToken\" ReleaseStatus=\"Deprecated\" ParentNodeId=\"i=7617\" DataType=\"String\">\n    <DisplayName>IssuedIdentityToken</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=69</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=7617</Reference>\n    </References>\n    <Value>\n      <String xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">IssuedIdentityToken</String>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"i=7728\" BrowseName=\"AddNodesItem\" ReleaseStatus=\"Deprecated\" ParentNodeId=\"i=7617\" DataType=\"String\">\n    <DisplayName>AddNodesItem</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=69</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=7617</Reference>\n    </References>\n    <Value>\n      <String xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">AddNodesItem</String>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"i=7731\" BrowseName=\"AddReferencesItem\" ReleaseStatus=\"Deprecated\" ParentNodeId=\"i=7617\" DataType=\"String\">\n    <DisplayName>AddReferencesItem</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=69</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=7617</Reference>\n    </References>\n    <Value>\n      <String xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">AddReferencesItem</String>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"i=7734\" BrowseName=\"DeleteNodesItem\" ReleaseStatus=\"Deprecated\" ParentNodeId=\"i=7617\" DataType=\"String\">\n    <DisplayName>DeleteNodesItem</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=69</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=7617</Reference>\n    </References>\n    <Value>\n      <String xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">DeleteNodesItem</String>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"i=7737\" BrowseName=\"DeleteReferencesItem\" ReleaseStatus=\"Deprecated\" ParentNodeId=\"i=7617\" DataType=\"String\">\n    <DisplayName>DeleteReferencesItem</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=69</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=7617</Reference>\n    </References>\n    <Value>\n      <String xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">DeleteReferencesItem</String>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"i=12718\" BrowseName=\"RelativePathElement\" ReleaseStatus=\"Deprecated\" ParentNodeId=\"i=7617\" DataType=\"String\">\n    <DisplayName>RelativePathElement</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=69</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=7617</Reference>\n    </References>\n    <Value>\n      <String xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">RelativePathElement</String>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"i=12721\" BrowseName=\"RelativePath\" ReleaseStatus=\"Deprecated\" ParentNodeId=\"i=7617\" DataType=\"String\">\n    <DisplayName>RelativePath</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=69</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=7617</Reference>\n    </References>\n    <Value>\n      <String xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">RelativePath</String>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"i=7686\" BrowseName=\"EndpointConfiguration\" ReleaseStatus=\"Deprecated\" ParentNodeId=\"i=7617\" DataType=\"String\">\n    <DisplayName>EndpointConfiguration</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=69</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=7617</Reference>\n    </References>\n    <Value>\n      <String xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">EndpointConfiguration</String>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"i=7929\" BrowseName=\"ContentFilterElement\" ReleaseStatus=\"Deprecated\" ParentNodeId=\"i=7617\" DataType=\"String\">\n    <DisplayName>ContentFilterElement</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=69</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=7617</Reference>\n    </References>\n    <Value>\n      <String xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">ContentFilterElement</String>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"i=7932\" BrowseName=\"ContentFilter\" ReleaseStatus=\"Deprecated\" ParentNodeId=\"i=7617\" DataType=\"String\">\n    <DisplayName>ContentFilter</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=69</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=7617</Reference>\n    </References>\n    <Value>\n      <String xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">ContentFilter</String>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"i=7935\" BrowseName=\"FilterOperand\" ReleaseStatus=\"Deprecated\" ParentNodeId=\"i=7617\" DataType=\"String\">\n    <DisplayName>FilterOperand</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=69</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=7617</Reference>\n    </References>\n    <Value>\n      <String xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">FilterOperand</String>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"i=7938\" BrowseName=\"ElementOperand\" ReleaseStatus=\"Deprecated\" ParentNodeId=\"i=7617\" DataType=\"String\">\n    <DisplayName>ElementOperand</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=69</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=7617</Reference>\n    </References>\n    <Value>\n      <String xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">ElementOperand</String>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"i=7941\" BrowseName=\"LiteralOperand\" ReleaseStatus=\"Deprecated\" ParentNodeId=\"i=7617\" DataType=\"String\">\n    <DisplayName>LiteralOperand</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=69</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=7617</Reference>\n    </References>\n    <Value>\n      <String xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">LiteralOperand</String>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"i=7944\" BrowseName=\"AttributeOperand\" ReleaseStatus=\"Deprecated\" ParentNodeId=\"i=7617\" DataType=\"String\">\n    <DisplayName>AttributeOperand</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=69</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=7617</Reference>\n    </References>\n    <Value>\n      <String xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">AttributeOperand</String>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"i=7947\" BrowseName=\"SimpleAttributeOperand\" ReleaseStatus=\"Deprecated\" ParentNodeId=\"i=7617\" DataType=\"String\">\n    <DisplayName>SimpleAttributeOperand</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=69</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=7617</Reference>\n    </References>\n    <Value>\n      <String xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">SimpleAttributeOperand</String>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"i=8004\" BrowseName=\"HistoryEvent\" ReleaseStatus=\"Deprecated\" ParentNodeId=\"i=7617\" DataType=\"String\">\n    <DisplayName>HistoryEvent</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=69</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=7617</Reference>\n    </References>\n    <Value>\n      <String xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">HistoryEvent</String>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"i=8067\" BrowseName=\"MonitoringFilter\" ReleaseStatus=\"Deprecated\" ParentNodeId=\"i=7617\" DataType=\"String\">\n    <DisplayName>MonitoringFilter</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=69</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=7617</Reference>\n    </References>\n    <Value>\n      <String xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">MonitoringFilter</String>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"i=8073\" BrowseName=\"EventFilter\" ReleaseStatus=\"Deprecated\" ParentNodeId=\"i=7617\" DataType=\"String\">\n    <DisplayName>EventFilter</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=69</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=7617</Reference>\n    </References>\n    <Value>\n      <String xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">EventFilter</String>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"i=8076\" BrowseName=\"AggregateConfiguration\" ReleaseStatus=\"Deprecated\" ParentNodeId=\"i=7617\" DataType=\"String\">\n    <DisplayName>AggregateConfiguration</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=69</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=7617</Reference>\n    </References>\n    <Value>\n      <String xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">AggregateConfiguration</String>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"i=8172\" BrowseName=\"HistoryEventFieldList\" ReleaseStatus=\"Deprecated\" ParentNodeId=\"i=7617\" DataType=\"String\">\n    <DisplayName>HistoryEventFieldList</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=69</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=7617</Reference>\n    </References>\n    <Value>\n      <String xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">HistoryEventFieldList</String>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"i=7692\" BrowseName=\"BuildInfo\" ReleaseStatus=\"Deprecated\" ParentNodeId=\"i=7617\" DataType=\"String\">\n    <DisplayName>BuildInfo</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=69</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=7617</Reference>\n    </References>\n    <Value>\n      <String xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">BuildInfo</String>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"i=8208\" BrowseName=\"RedundantServerDataType\" ReleaseStatus=\"Deprecated\" ParentNodeId=\"i=7617\" DataType=\"String\">\n    <DisplayName>RedundantServerDataType</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=69</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=7617</Reference>\n    </References>\n    <Value>\n      <String xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">RedundantServerDataType</String>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"i=11959\" BrowseName=\"EndpointUrlListDataType\" ReleaseStatus=\"Deprecated\" ParentNodeId=\"i=7617\" DataType=\"String\">\n    <DisplayName>EndpointUrlListDataType</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=69</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=7617</Reference>\n    </References>\n    <Value>\n      <String xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">EndpointUrlListDataType</String>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"i=11962\" BrowseName=\"NetworkGroupDataType\" ReleaseStatus=\"Deprecated\" ParentNodeId=\"i=7617\" DataType=\"String\">\n    <DisplayName>NetworkGroupDataType</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=69</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=7617</Reference>\n    </References>\n    <Value>\n      <String xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">NetworkGroupDataType</String>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"i=8211\" BrowseName=\"SamplingIntervalDiagnosticsDataType\" ReleaseStatus=\"Deprecated\" ParentNodeId=\"i=7617\" DataType=\"String\">\n    <DisplayName>SamplingIntervalDiagnosticsDataType</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=69</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=7617</Reference>\n    </References>\n    <Value>\n      <String xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">SamplingIntervalDiagnosticsDataType</String>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"i=8214\" BrowseName=\"ServerDiagnosticsSummaryDataType\" ReleaseStatus=\"Deprecated\" ParentNodeId=\"i=7617\" DataType=\"String\">\n    <DisplayName>ServerDiagnosticsSummaryDataType</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=69</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=7617</Reference>\n    </References>\n    <Value>\n      <String xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">ServerDiagnosticsSummaryDataType</String>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"i=8217\" BrowseName=\"ServerStatusDataType\" ReleaseStatus=\"Deprecated\" ParentNodeId=\"i=7617\" DataType=\"String\">\n    <DisplayName>ServerStatusDataType</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=69</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=7617</Reference>\n    </References>\n    <Value>\n      <String xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">ServerStatusDataType</String>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"i=8220\" BrowseName=\"SessionDiagnosticsDataType\" ReleaseStatus=\"Deprecated\" ParentNodeId=\"i=7617\" DataType=\"String\">\n    <DisplayName>SessionDiagnosticsDataType</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=69</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=7617</Reference>\n    </References>\n    <Value>\n      <String xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">SessionDiagnosticsDataType</String>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"i=8223\" BrowseName=\"SessionSecurityDiagnosticsDataType\" ReleaseStatus=\"Deprecated\" ParentNodeId=\"i=7617\" DataType=\"String\">\n    <DisplayName>SessionSecurityDiagnosticsDataType</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=69</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=7617</Reference>\n    </References>\n    <Value>\n      <String xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">SessionSecurityDiagnosticsDataType</String>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"i=8226\" BrowseName=\"ServiceCounterDataType\" ReleaseStatus=\"Deprecated\" ParentNodeId=\"i=7617\" DataType=\"String\">\n    <DisplayName>ServiceCounterDataType</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=69</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=7617</Reference>\n    </References>\n    <Value>\n      <String xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">ServiceCounterDataType</String>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"i=7659\" BrowseName=\"StatusResult\" ReleaseStatus=\"Deprecated\" ParentNodeId=\"i=7617\" DataType=\"String\">\n    <DisplayName>StatusResult</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=69</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=7617</Reference>\n    </References>\n    <Value>\n      <String xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">StatusResult</String>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"i=8229\" BrowseName=\"SubscriptionDiagnosticsDataType\" ReleaseStatus=\"Deprecated\" ParentNodeId=\"i=7617\" DataType=\"String\">\n    <DisplayName>SubscriptionDiagnosticsDataType</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=69</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=7617</Reference>\n    </References>\n    <Value>\n      <String xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">SubscriptionDiagnosticsDataType</String>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"i=8232\" BrowseName=\"ModelChangeStructureDataType\" ReleaseStatus=\"Deprecated\" ParentNodeId=\"i=7617\" DataType=\"String\">\n    <DisplayName>ModelChangeStructureDataType</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=69</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=7617</Reference>\n    </References>\n    <Value>\n      <String xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">ModelChangeStructureDataType</String>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"i=8235\" BrowseName=\"SemanticChangeStructureDataType\" ReleaseStatus=\"Deprecated\" ParentNodeId=\"i=7617\" DataType=\"String\">\n    <DisplayName>SemanticChangeStructureDataType</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=69</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=7617</Reference>\n    </References>\n    <Value>\n      <String xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">SemanticChangeStructureDataType</String>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"i=8238\" BrowseName=\"Range\" ReleaseStatus=\"Deprecated\" ParentNodeId=\"i=7617\" DataType=\"String\">\n    <DisplayName>Range</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=69</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=7617</Reference>\n    </References>\n    <Value>\n      <String xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">Range</String>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"i=8241\" BrowseName=\"EUInformation\" ReleaseStatus=\"Deprecated\" ParentNodeId=\"i=7617\" DataType=\"String\">\n    <DisplayName>EUInformation</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=69</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=7617</Reference>\n    </References>\n    <Value>\n      <String xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">EUInformation</String>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"i=12183\" BrowseName=\"ComplexNumberType\" ReleaseStatus=\"Deprecated\" ParentNodeId=\"i=7617\" DataType=\"String\">\n    <DisplayName>ComplexNumberType</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=69</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=7617</Reference>\n    </References>\n    <Value>\n      <String xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">ComplexNumberType</String>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"i=12186\" BrowseName=\"DoubleComplexNumberType\" ReleaseStatus=\"Deprecated\" ParentNodeId=\"i=7617\" DataType=\"String\">\n    <DisplayName>DoubleComplexNumberType</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=69</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=7617</Reference>\n    </References>\n    <Value>\n      <String xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">DoubleComplexNumberType</String>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"i=12091\" BrowseName=\"AxisInformation\" ReleaseStatus=\"Deprecated\" ParentNodeId=\"i=7617\" DataType=\"String\">\n    <DisplayName>AxisInformation</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=69</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=7617</Reference>\n    </References>\n    <Value>\n      <String xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">AxisInformation</String>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"i=12094\" BrowseName=\"XVType\" ReleaseStatus=\"Deprecated\" ParentNodeId=\"i=7617\" DataType=\"String\">\n    <DisplayName>XVType</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=69</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=7617</Reference>\n    </References>\n    <Value>\n      <String xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">XVType</String>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"i=8247\" BrowseName=\"ProgramDiagnosticDataType\" ReleaseStatus=\"Deprecated\" ParentNodeId=\"i=7617\" DataType=\"String\">\n    <DisplayName>ProgramDiagnosticDataType</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=69</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=7617</Reference>\n    </References>\n    <Value>\n      <String xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">ProgramDiagnosticDataType</String>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"i=24035\" BrowseName=\"ProgramDiagnostic2DataType\" ReleaseStatus=\"Deprecated\" ParentNodeId=\"i=7617\" DataType=\"String\">\n    <DisplayName>ProgramDiagnostic2DataType</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=69</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=7617</Reference>\n    </References>\n    <Value>\n      <String xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">ProgramDiagnostic2DataType</String>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"i=8244\" BrowseName=\"Annotation\" ReleaseStatus=\"Deprecated\" ParentNodeId=\"i=7617\" DataType=\"String\">\n    <DisplayName>Annotation</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=69</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=7617</Reference>\n    </References>\n    <Value>\n      <String xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">Annotation</String>\n    </Value>\n  </UAVariable>\n  <UAObject NodeId=\"i=12758\" BrowseName=\"Default XML\" SymbolicName=\"DefaultXml\">\n    <DisplayName>Default XML</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasEncoding\" IsForward=\"false\">i=12756</Reference>\n      <Reference ReferenceType=\"HasDescription\">i=12762</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=76</Reference>\n    </References>\n  </UAObject>\n  <UAObject NodeId=\"i=14802\" BrowseName=\"Default XML\" SymbolicName=\"DefaultXml\">\n    <DisplayName>Default XML</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasEncoding\" IsForward=\"false\">i=14533</Reference>\n      <Reference ReferenceType=\"HasDescription\">i=14829</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=76</Reference>\n    </References>\n  </UAObject>\n  <UAObject NodeId=\"i=17541\" BrowseName=\"Default XML\" SymbolicName=\"DefaultXml\">\n    <DisplayName>Default XML</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasEncoding\" IsForward=\"false\">i=16313</Reference>\n      <Reference ReferenceType=\"HasDescription\">i=17542</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=76</Reference>\n    </References>\n  </UAObject>\n  <UAObject NodeId=\"i=17553\" BrowseName=\"Default XML\" SymbolicName=\"DefaultXml\">\n    <DisplayName>Default XML</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasEncoding\" IsForward=\"false\">i=17548</Reference>\n      <Reference ReferenceType=\"HasDescription\">i=17554</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=76</Reference>\n    </References>\n  </UAObject>\n  <UAObject NodeId=\"i=15949\" BrowseName=\"Default XML\" SymbolicName=\"DefaultXml\">\n    <DisplayName>Default XML</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasEncoding\" IsForward=\"false\">i=15528</Reference>\n      <Reference ReferenceType=\"HasDescription\">i=16024</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=76</Reference>\n    </References>\n  </UAObject>\n  <UAObject NodeId=\"i=18851\" BrowseName=\"Default XML\" SymbolicName=\"DefaultXml\">\n    <DisplayName>Default XML</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasEncoding\" IsForward=\"false\">i=18806</Reference>\n      <Reference ReferenceType=\"HasDescription\">i=18860</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=76</Reference>\n    </References>\n  </UAObject>\n  <UAObject NodeId=\"i=18852\" BrowseName=\"Default XML\" SymbolicName=\"DefaultXml\">\n    <DisplayName>Default XML</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasEncoding\" IsForward=\"false\">i=18807</Reference>\n      <Reference ReferenceType=\"HasDescription\">i=18863</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=76</Reference>\n    </References>\n  </UAObject>\n  <UAObject NodeId=\"i=18853\" BrowseName=\"Default XML\" SymbolicName=\"DefaultXml\">\n    <DisplayName>Default XML</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasEncoding\" IsForward=\"false\">i=18808</Reference>\n      <Reference ReferenceType=\"HasDescription\">i=18866</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=76</Reference>\n    </References>\n  </UAObject>\n  <UAObject NodeId=\"i=18854\" BrowseName=\"Default XML\" SymbolicName=\"DefaultXml\">\n    <DisplayName>Default XML</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasEncoding\" IsForward=\"false\">i=18809</Reference>\n      <Reference ReferenceType=\"HasDescription\">i=18869</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=76</Reference>\n    </References>\n  </UAObject>\n  <UAObject NodeId=\"i=18855\" BrowseName=\"Default XML\" SymbolicName=\"DefaultXml\">\n    <DisplayName>Default XML</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasEncoding\" IsForward=\"false\">i=18810</Reference>\n      <Reference ReferenceType=\"HasDescription\">i=19049</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=76</Reference>\n    </References>\n  </UAObject>\n  <UAObject NodeId=\"i=18856\" BrowseName=\"Default XML\" SymbolicName=\"DefaultXml\">\n    <DisplayName>Default XML</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasEncoding\" IsForward=\"false\">i=18811</Reference>\n      <Reference ReferenceType=\"HasDescription\">i=19052</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=76</Reference>\n    </References>\n  </UAObject>\n  <UAObject NodeId=\"i=18857\" BrowseName=\"Default XML\" SymbolicName=\"DefaultXml\">\n    <DisplayName>Default XML</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasEncoding\" IsForward=\"false\">i=18812</Reference>\n      <Reference ReferenceType=\"HasDescription\">i=19055</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=76</Reference>\n    </References>\n  </UAObject>\n  <UAObject NodeId=\"i=18858\" BrowseName=\"Default XML\" SymbolicName=\"DefaultXml\">\n    <DisplayName>Default XML</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasEncoding\" IsForward=\"false\">i=18813</Reference>\n      <Reference ReferenceType=\"HasDescription\">i=19058</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=76</Reference>\n    </References>\n  </UAObject>\n  <UAObject NodeId=\"i=18859\" BrowseName=\"Default XML\" SymbolicName=\"DefaultXml\">\n    <DisplayName>Default XML</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasEncoding\" IsForward=\"false\">i=18814</Reference>\n      <Reference ReferenceType=\"HasDescription\">i=19061</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=76</Reference>\n    </References>\n  </UAObject>\n  <UAObject NodeId=\"i=15728\" BrowseName=\"Default XML\" SymbolicName=\"DefaultXml\">\n    <DisplayName>Default XML</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasEncoding\" IsForward=\"false\">i=15634</Reference>\n      <Reference ReferenceType=\"HasDescription\">i=15730</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=76</Reference>\n    </References>\n  </UAObject>\n  <UAObject NodeId=\"i=23520\" BrowseName=\"Default XML\" SymbolicName=\"DefaultXml\">\n    <DisplayName>Default XML</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasEncoding\" IsForward=\"false\">i=23498</Reference>\n      <Reference ReferenceType=\"HasDescription\">i=23522</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=76</Reference>\n    </References>\n  </UAObject>\n  <UAObject NodeId=\"i=12676\" BrowseName=\"Default XML\" SymbolicName=\"DefaultXml\">\n    <DisplayName>Default XML</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasEncoding\" IsForward=\"false\">i=12554</Reference>\n      <Reference ReferenceType=\"HasDescription\">i=12677</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=76</Reference>\n    </References>\n  </UAObject>\n  <UAObject NodeId=\"i=15950\" BrowseName=\"Default XML\" SymbolicName=\"DefaultXml\">\n    <DisplayName>Default XML</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasEncoding\" IsForward=\"false\">i=15534</Reference>\n      <Reference ReferenceType=\"HasDescription\">i=16027</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=76</Reference>\n    </References>\n  </UAObject>\n  <UAObject NodeId=\"i=14796\" BrowseName=\"Default XML\" SymbolicName=\"DefaultXml\">\n    <DisplayName>Default XML</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasEncoding\" IsForward=\"false\">i=14525</Reference>\n      <Reference ReferenceType=\"HasDescription\">i=14811</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=76</Reference>\n    </References>\n  </UAObject>\n  <UAObject NodeId=\"i=15589\" BrowseName=\"Default XML\" SymbolicName=\"DefaultXml\">\n    <DisplayName>Default XML</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasEncoding\" IsForward=\"false\">i=15487</Reference>\n      <Reference ReferenceType=\"HasDescription\">i=15591</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=76</Reference>\n    </References>\n  </UAObject>\n  <UAObject NodeId=\"i=15590\" BrowseName=\"Default XML\" SymbolicName=\"DefaultXml\">\n    <DisplayName>Default XML</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasEncoding\" IsForward=\"false\">i=15488</Reference>\n      <Reference ReferenceType=\"HasDescription\">i=15594</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=76</Reference>\n    </References>\n  </UAObject>\n  <UAObject NodeId=\"i=15529\" BrowseName=\"Default XML\" SymbolicName=\"DefaultXml\">\n    <DisplayName>Default XML</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasEncoding\" IsForward=\"false\">i=15005</Reference>\n      <Reference ReferenceType=\"HasDescription\">i=15585</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=76</Reference>\n    </References>\n  </UAObject>\n  <UAObject NodeId=\"i=15531\" BrowseName=\"Default XML\" SymbolicName=\"DefaultXml\">\n    <DisplayName>Default XML</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasEncoding\" IsForward=\"false\">i=15006</Reference>\n      <Reference ReferenceType=\"HasDescription\">i=15588</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=76</Reference>\n    </References>\n  </UAObject>\n  <UAObject NodeId=\"i=14794\" BrowseName=\"Default XML\" SymbolicName=\"DefaultXml\">\n    <DisplayName>Default XML</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasEncoding\" IsForward=\"false\">i=14523</Reference>\n      <Reference ReferenceType=\"HasDescription\">i=14805</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=76</Reference>\n    </References>\n  </UAObject>\n  <UAObject NodeId=\"i=14795\" BrowseName=\"Default XML\" SymbolicName=\"DefaultXml\">\n    <DisplayName>Default XML</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasEncoding\" IsForward=\"false\">i=14524</Reference>\n      <Reference ReferenceType=\"HasDescription\">i=14808</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=76</Reference>\n    </References>\n  </UAObject>\n  <UAObject NodeId=\"i=14803\" BrowseName=\"Default XML\" SymbolicName=\"DefaultXml\">\n    <DisplayName>Default XML</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasEncoding\" IsForward=\"false\">i=14593</Reference>\n      <Reference ReferenceType=\"HasDescription\">i=14832</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=76</Reference>\n    </References>\n  </UAObject>\n  <UAObject NodeId=\"i=15951\" BrowseName=\"Default XML\" SymbolicName=\"DefaultXml\">\n    <DisplayName>Default XML</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasEncoding\" IsForward=\"false\">i=15578</Reference>\n      <Reference ReferenceType=\"HasDescription\">i=16030</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=76</Reference>\n    </References>\n  </UAObject>\n  <UAObject NodeId=\"i=15952\" BrowseName=\"Default XML\" SymbolicName=\"DefaultXml\">\n    <DisplayName>Default XML</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasEncoding\" IsForward=\"false\">i=15580</Reference>\n      <Reference ReferenceType=\"HasDescription\">i=16033</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=76</Reference>\n    </References>\n  </UAObject>\n  <UAObject NodeId=\"i=14319\" BrowseName=\"Default XML\" SymbolicName=\"DefaultXml\">\n    <DisplayName>Default XML</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasEncoding\" IsForward=\"false\">i=14273</Reference>\n      <Reference ReferenceType=\"HasDescription\">i=14320</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=76</Reference>\n    </References>\n  </UAObject>\n  <UAObject NodeId=\"i=15953\" BrowseName=\"Default XML\" SymbolicName=\"DefaultXml\">\n    <DisplayName>Default XML</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasEncoding\" IsForward=\"false\">i=15581</Reference>\n      <Reference ReferenceType=\"HasDescription\">i=16037</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=76</Reference>\n    </References>\n  </UAObject>\n  <UAObject NodeId=\"i=15954\" BrowseName=\"Default XML\" SymbolicName=\"DefaultXml\">\n    <DisplayName>Default XML</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasEncoding\" IsForward=\"false\">i=15582</Reference>\n      <Reference ReferenceType=\"HasDescription\">i=16040</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=76</Reference>\n    </References>\n  </UAObject>\n  <UAObject NodeId=\"i=15955\" BrowseName=\"Default XML\" SymbolicName=\"DefaultXml\">\n    <DisplayName>Default XML</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasEncoding\" IsForward=\"false\">i=15597</Reference>\n      <Reference ReferenceType=\"HasDescription\">i=16047</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=76</Reference>\n    </References>\n  </UAObject>\n  <UAObject NodeId=\"i=15956\" BrowseName=\"Default XML\" SymbolicName=\"DefaultXml\">\n    <DisplayName>Default XML</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasEncoding\" IsForward=\"false\">i=15598</Reference>\n      <Reference ReferenceType=\"HasDescription\">i=16050</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=76</Reference>\n    </References>\n  </UAObject>\n  <UAObject NodeId=\"i=15987\" BrowseName=\"Default XML\" SymbolicName=\"DefaultXml\">\n    <DisplayName>Default XML</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasEncoding\" IsForward=\"false\">i=15605</Reference>\n      <Reference ReferenceType=\"HasDescription\">i=16053</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=76</Reference>\n    </References>\n  </UAObject>\n  <UAObject NodeId=\"i=15988\" BrowseName=\"Default XML\" SymbolicName=\"DefaultXml\">\n    <DisplayName>Default XML</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasEncoding\" IsForward=\"false\">i=15609</Reference>\n      <Reference ReferenceType=\"HasDescription\">i=16056</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=76</Reference>\n    </References>\n  </UAObject>\n  <UAObject NodeId=\"i=21174\" BrowseName=\"Default XML\" SymbolicName=\"DefaultXml\">\n    <DisplayName>Default XML</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasEncoding\" IsForward=\"false\">i=15480</Reference>\n      <Reference ReferenceType=\"HasDescription\">i=21180</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=76</Reference>\n    </References>\n  </UAObject>\n  <UAObject NodeId=\"i=15990\" BrowseName=\"Default XML\" SymbolicName=\"DefaultXml\">\n    <DisplayName>Default XML</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasEncoding\" IsForward=\"false\">i=15611</Reference>\n      <Reference ReferenceType=\"HasDescription\">i=16062</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=76</Reference>\n    </References>\n  </UAObject>\n  <UAObject NodeId=\"i=15991\" BrowseName=\"Default XML\" SymbolicName=\"DefaultXml\">\n    <DisplayName>Default XML</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasEncoding\" IsForward=\"false\">i=15616</Reference>\n      <Reference ReferenceType=\"HasDescription\">i=16065</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=76</Reference>\n    </References>\n  </UAObject>\n  <UAObject NodeId=\"i=15992\" BrowseName=\"Default XML\" SymbolicName=\"DefaultXml\">\n    <DisplayName>Default XML</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasEncoding\" IsForward=\"false\">i=15617</Reference>\n      <Reference ReferenceType=\"HasDescription\">i=16068</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=76</Reference>\n    </References>\n  </UAObject>\n  <UAObject NodeId=\"i=15993\" BrowseName=\"Default XML\" SymbolicName=\"DefaultXml\">\n    <DisplayName>Default XML</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasEncoding\" IsForward=\"false\">i=15618</Reference>\n      <Reference ReferenceType=\"HasDescription\">i=16071</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=76</Reference>\n    </References>\n  </UAObject>\n  <UAObject NodeId=\"i=21175\" BrowseName=\"Default XML\" SymbolicName=\"DefaultXml\">\n    <DisplayName>Default XML</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasEncoding\" IsForward=\"false\">i=15502</Reference>\n      <Reference ReferenceType=\"HasDescription\">i=21183</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=76</Reference>\n    </References>\n  </UAObject>\n  <UAObject NodeId=\"i=21176\" BrowseName=\"Default XML\" SymbolicName=\"DefaultXml\">\n    <DisplayName>Default XML</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasEncoding\" IsForward=\"false\">i=15510</Reference>\n      <Reference ReferenceType=\"HasDescription\">i=21186</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=76</Reference>\n    </References>\n  </UAObject>\n  <UAObject NodeId=\"i=21177\" BrowseName=\"Default XML\" SymbolicName=\"DefaultXml\">\n    <DisplayName>Default XML</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasEncoding\" IsForward=\"false\">i=15520</Reference>\n      <Reference ReferenceType=\"HasDescription\">i=21189</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=76</Reference>\n    </References>\n  </UAObject>\n  <UAObject NodeId=\"i=15995\" BrowseName=\"Default XML\" SymbolicName=\"DefaultXml\">\n    <DisplayName>Default XML</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasEncoding\" IsForward=\"false\">i=15621</Reference>\n      <Reference ReferenceType=\"HasDescription\">i=16077</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=76</Reference>\n    </References>\n  </UAObject>\n  <UAObject NodeId=\"i=15996\" BrowseName=\"Default XML\" SymbolicName=\"DefaultXml\">\n    <DisplayName>Default XML</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasEncoding\" IsForward=\"false\">i=15622</Reference>\n      <Reference ReferenceType=\"HasDescription\">i=16080</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=76</Reference>\n    </References>\n  </UAObject>\n  <UAObject NodeId=\"i=16007\" BrowseName=\"Default XML\" SymbolicName=\"DefaultXml\">\n    <DisplayName>Default XML</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasEncoding\" IsForward=\"false\">i=15623</Reference>\n      <Reference ReferenceType=\"HasDescription\">i=16083</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=76</Reference>\n    </References>\n  </UAObject>\n  <UAObject NodeId=\"i=16008\" BrowseName=\"Default XML\" SymbolicName=\"DefaultXml\">\n    <DisplayName>Default XML</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasEncoding\" IsForward=\"false\">i=15628</Reference>\n      <Reference ReferenceType=\"HasDescription\">i=16086</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=76</Reference>\n    </References>\n  </UAObject>\n  <UAObject NodeId=\"i=16009\" BrowseName=\"Default XML\" SymbolicName=\"DefaultXml\">\n    <DisplayName>Default XML</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasEncoding\" IsForward=\"false\">i=15629</Reference>\n      <Reference ReferenceType=\"HasDescription\">i=16089</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=76</Reference>\n    </References>\n  </UAObject>\n  <UAObject NodeId=\"i=16010\" BrowseName=\"Default XML\" SymbolicName=\"DefaultXml\">\n    <DisplayName>Default XML</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasEncoding\" IsForward=\"false\">i=15630</Reference>\n      <Reference ReferenceType=\"HasDescription\">i=16092</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=76</Reference>\n    </References>\n  </UAObject>\n  <UAObject NodeId=\"i=16011\" BrowseName=\"Default XML\" SymbolicName=\"DefaultXml\">\n    <DisplayName>Default XML</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasEncoding\" IsForward=\"false\">i=15631</Reference>\n      <Reference ReferenceType=\"HasDescription\">i=16095</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=76</Reference>\n    </References>\n  </UAObject>\n  <UAObject NodeId=\"i=14804\" BrowseName=\"Default XML\" SymbolicName=\"DefaultXml\">\n    <DisplayName>Default XML</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasEncoding\" IsForward=\"false\">i=14744</Reference>\n      <Reference ReferenceType=\"HasDescription\">i=14835</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=76</Reference>\n    </References>\n  </UAObject>\n  <UAObject NodeId=\"i=16012\" BrowseName=\"Default XML\" SymbolicName=\"DefaultXml\">\n    <DisplayName>Default XML</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasEncoding\" IsForward=\"false\">i=15635</Reference>\n      <Reference ReferenceType=\"HasDescription\">i=16098</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=76</Reference>\n    </References>\n  </UAObject>\n  <UAObject NodeId=\"i=21178\" BrowseName=\"Default XML\" SymbolicName=\"DefaultXml\">\n    <DisplayName>Default XML</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasEncoding\" IsForward=\"false\">i=15530</Reference>\n      <Reference ReferenceType=\"HasDescription\">i=21192</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=76</Reference>\n    </References>\n  </UAObject>\n  <UAObject NodeId=\"i=16014\" BrowseName=\"Default XML\" SymbolicName=\"DefaultXml\">\n    <DisplayName>Default XML</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasEncoding\" IsForward=\"false\">i=15645</Reference>\n      <Reference ReferenceType=\"HasDescription\">i=16104</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=76</Reference>\n    </References>\n  </UAObject>\n  <UAObject NodeId=\"i=16015\" BrowseName=\"Default XML\" SymbolicName=\"DefaultXml\">\n    <DisplayName>Default XML</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasEncoding\" IsForward=\"false\">i=15652</Reference>\n      <Reference ReferenceType=\"HasDescription\">i=16107</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=76</Reference>\n    </References>\n  </UAObject>\n  <UAObject NodeId=\"i=16016\" BrowseName=\"Default XML\" SymbolicName=\"DefaultXml\">\n    <DisplayName>Default XML</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasEncoding\" IsForward=\"false\">i=15653</Reference>\n      <Reference ReferenceType=\"HasDescription\">i=16110</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=76</Reference>\n    </References>\n  </UAObject>\n  <UAObject NodeId=\"i=16017\" BrowseName=\"Default XML\" SymbolicName=\"DefaultXml\">\n    <DisplayName>Default XML</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasEncoding\" IsForward=\"false\">i=15657</Reference>\n      <Reference ReferenceType=\"HasDescription\">i=16113</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=76</Reference>\n    </References>\n  </UAObject>\n  <UAObject NodeId=\"i=16018\" BrowseName=\"Default XML\" SymbolicName=\"DefaultXml\">\n    <DisplayName>Default XML</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasEncoding\" IsForward=\"false\">i=15664</Reference>\n      <Reference ReferenceType=\"HasDescription\">i=16116</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=76</Reference>\n    </References>\n  </UAObject>\n  <UAObject NodeId=\"i=16019\" BrowseName=\"Default XML\" SymbolicName=\"DefaultXml\">\n    <DisplayName>Default XML</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasEncoding\" IsForward=\"false\">i=15665</Reference>\n      <Reference ReferenceType=\"HasDescription\">i=16119</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=76</Reference>\n    </References>\n  </UAObject>\n  <UAObject NodeId=\"i=17472\" BrowseName=\"Default XML\" SymbolicName=\"DefaultXml\">\n    <DisplayName>Default XML</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasEncoding\" IsForward=\"false\">i=17467</Reference>\n      <Reference ReferenceType=\"HasDescription\">i=17473</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=76</Reference>\n    </References>\n  </UAObject>\n  <UAObject NodeId=\"i=21179\" BrowseName=\"Default XML\" SymbolicName=\"DefaultXml\">\n    <DisplayName>Default XML</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasEncoding\" IsForward=\"false\">i=15532</Reference>\n      <Reference ReferenceType=\"HasDescription\">i=21195</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=76</Reference>\n    </References>\n  </UAObject>\n  <UAObject NodeId=\"i=15579\" BrowseName=\"Default XML\" SymbolicName=\"DefaultXml\">\n    <DisplayName>Default XML</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasEncoding\" IsForward=\"false\">i=15007</Reference>\n      <Reference ReferenceType=\"HasDescription\">i=15640</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=76</Reference>\n    </References>\n  </UAObject>\n  <UAObject NodeId=\"i=16021\" BrowseName=\"Default XML\" SymbolicName=\"DefaultXml\">\n    <DisplayName>Default XML</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasEncoding\" IsForward=\"false\">i=15667</Reference>\n      <Reference ReferenceType=\"HasDescription\">i=16125</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=76</Reference>\n    </References>\n  </UAObject>\n  <UAObject NodeId=\"i=16022\" BrowseName=\"Default XML\" SymbolicName=\"DefaultXml\">\n    <DisplayName>Default XML</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasEncoding\" IsForward=\"false\">i=15669</Reference>\n      <Reference ReferenceType=\"HasDescription\">i=16144</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=76</Reference>\n    </References>\n  </UAObject>\n  <UAObject NodeId=\"i=16023\" BrowseName=\"Default XML\" SymbolicName=\"DefaultXml\">\n    <DisplayName>Default XML</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasEncoding\" IsForward=\"false\">i=15670</Reference>\n      <Reference ReferenceType=\"HasDescription\">i=16147</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=76</Reference>\n    </References>\n  </UAObject>\n  <UAObject NodeId=\"i=23505\" BrowseName=\"Default XML\" SymbolicName=\"DefaultXml\">\n    <DisplayName>Default XML</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasEncoding\" IsForward=\"false\">i=23468</Reference>\n      <Reference ReferenceType=\"HasDescription\">i=23508</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=76</Reference>\n    </References>\n  </UAObject>\n  <UAObject NodeId=\"i=24122\" BrowseName=\"Default XML\" SymbolicName=\"DefaultXml\">\n    <DisplayName>Default XML</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasEncoding\" IsForward=\"false\">i=24107</Reference>\n      <Reference ReferenceType=\"HasDescription\">i=24129</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=76</Reference>\n    </References>\n  </UAObject>\n  <UAObject NodeId=\"i=16126\" BrowseName=\"Default XML\" SymbolicName=\"DefaultXml\">\n    <DisplayName>Default XML</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasEncoding\" IsForward=\"false\">i=96</Reference>\n      <Reference ReferenceType=\"HasDescription\">i=16127</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=76</Reference>\n    </References>\n  </UAObject>\n  <UAObject NodeId=\"i=14797\" BrowseName=\"Default XML\" SymbolicName=\"DefaultXml\">\n    <DisplayName>Default XML</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasEncoding\" IsForward=\"false\">i=97</Reference>\n      <Reference ReferenceType=\"HasDescription\">i=18166</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=76</Reference>\n    </References>\n  </UAObject>\n  <UAObject NodeId=\"i=14800\" BrowseName=\"Default XML\" SymbolicName=\"DefaultXml\">\n    <DisplayName>Default XML</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasEncoding\" IsForward=\"false\">i=101</Reference>\n      <Reference ReferenceType=\"HasDescription\">i=18169</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=76</Reference>\n    </References>\n  </UAObject>\n  <UAObject NodeId=\"i=14798\" BrowseName=\"Default XML\" SymbolicName=\"DefaultXml\">\n    <DisplayName>Default XML</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasEncoding\" IsForward=\"false\">i=99</Reference>\n      <Reference ReferenceType=\"HasDescription\">i=18172</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=76</Reference>\n    </References>\n  </UAObject>\n  <UAObject NodeId=\"i=14799\" BrowseName=\"Default XML\" SymbolicName=\"DefaultXml\">\n    <DisplayName>Default XML</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasEncoding\" IsForward=\"false\">i=100</Reference>\n      <Reference ReferenceType=\"HasDescription\">i=18175</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=76</Reference>\n    </References>\n  </UAObject>\n  <UAObject NodeId=\"i=297\" BrowseName=\"Default XML\" SymbolicName=\"DefaultXml\">\n    <DisplayName>Default XML</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasEncoding\" IsForward=\"false\">i=296</Reference>\n      <Reference ReferenceType=\"HasDescription\">i=8285</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=76</Reference>\n    </References>\n  </UAObject>\n  <UAObject NodeId=\"i=7616\" BrowseName=\"Default XML\" SymbolicName=\"DefaultXml\">\n    <DisplayName>Default XML</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasEncoding\" IsForward=\"false\">i=7594</Reference>\n      <Reference ReferenceType=\"HasDescription\">i=8291</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=76</Reference>\n    </References>\n  </UAObject>\n  <UAObject NodeId=\"i=14801\" BrowseName=\"Default XML\" SymbolicName=\"DefaultXml\">\n    <DisplayName>Default XML</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasEncoding\" IsForward=\"false\">i=102</Reference>\n      <Reference ReferenceType=\"HasDescription\">i=14826</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=76</Reference>\n    </References>\n  </UAObject>\n  <UAObject NodeId=\"i=12757\" BrowseName=\"Default XML\" SymbolicName=\"DefaultXml\">\n    <DisplayName>Default XML</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasEncoding\" IsForward=\"false\">i=12755</Reference>\n      <Reference ReferenceType=\"HasDescription\">i=12759</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=76</Reference>\n    </References>\n  </UAObject>\n  <UAObject NodeId=\"i=8913\" BrowseName=\"Default XML\" SymbolicName=\"DefaultXml\">\n    <DisplayName>Default XML</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasEncoding\" IsForward=\"false\">i=8912</Reference>\n      <Reference ReferenceType=\"HasDescription\">i=8918</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=76</Reference>\n    </References>\n  </UAObject>\n  <UAObject NodeId=\"i=309\" BrowseName=\"Default XML\" SymbolicName=\"DefaultXml\">\n    <DisplayName>Default XML</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasEncoding\" IsForward=\"false\">i=308</Reference>\n      <Reference ReferenceType=\"HasDescription\">i=8300</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=76</Reference>\n    </References>\n  </UAObject>\n  <UAObject NodeId=\"i=12195\" BrowseName=\"Default XML\" SymbolicName=\"DefaultXml\">\n    <DisplayName>Default XML</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasEncoding\" IsForward=\"false\">i=12189</Reference>\n      <Reference ReferenceType=\"HasDescription\">i=12201</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=76</Reference>\n    </References>\n  </UAObject>\n  <UAObject NodeId=\"i=305\" BrowseName=\"Default XML\" SymbolicName=\"DefaultXml\">\n    <DisplayName>Default XML</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasEncoding\" IsForward=\"false\">i=304</Reference>\n      <Reference ReferenceType=\"HasDescription\">i=8297</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=76</Reference>\n    </References>\n  </UAObject>\n  <UAObject NodeId=\"i=313\" BrowseName=\"Default XML\" SymbolicName=\"DefaultXml\">\n    <DisplayName>Default XML</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasEncoding\" IsForward=\"false\">i=312</Reference>\n      <Reference ReferenceType=\"HasDescription\">i=8303</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=76</Reference>\n    </References>\n  </UAObject>\n  <UAObject NodeId=\"i=433\" BrowseName=\"Default XML\" SymbolicName=\"DefaultXml\">\n    <DisplayName>Default XML</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasEncoding\" IsForward=\"false\">i=432</Reference>\n      <Reference ReferenceType=\"HasDescription\">i=8417</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=76</Reference>\n    </References>\n  </UAObject>\n  <UAObject NodeId=\"i=12892\" BrowseName=\"Default XML\" SymbolicName=\"DefaultXml\">\n    <DisplayName>Default XML</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasEncoding\" IsForward=\"false\">i=12890</Reference>\n      <Reference ReferenceType=\"HasDescription\">i=12894</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=76</Reference>\n    </References>\n  </UAObject>\n  <UAObject NodeId=\"i=12893\" BrowseName=\"Default XML\" SymbolicName=\"DefaultXml\">\n    <DisplayName>Default XML</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasEncoding\" IsForward=\"false\">i=12891</Reference>\n      <Reference ReferenceType=\"HasDescription\">i=12897</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=76</Reference>\n    </References>\n  </UAObject>\n  <UAObject NodeId=\"i=345\" BrowseName=\"Default XML\" SymbolicName=\"DefaultXml\">\n    <DisplayName>Default XML</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasEncoding\" IsForward=\"false\">i=344</Reference>\n      <Reference ReferenceType=\"HasDescription\">i=8333</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=76</Reference>\n    </References>\n  </UAObject>\n  <UAObject NodeId=\"i=317\" BrowseName=\"Default XML\" SymbolicName=\"DefaultXml\">\n    <DisplayName>Default XML</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasEncoding\" IsForward=\"false\">i=316</Reference>\n      <Reference ReferenceType=\"HasDescription\">i=8306</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=76</Reference>\n    </References>\n  </UAObject>\n  <UAObject NodeId=\"i=320\" BrowseName=\"Default XML\" SymbolicName=\"DefaultXml\">\n    <DisplayName>Default XML</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasEncoding\" IsForward=\"false\">i=319</Reference>\n      <Reference ReferenceType=\"HasDescription\">i=8309</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=76</Reference>\n    </References>\n  </UAObject>\n  <UAObject NodeId=\"i=323\" BrowseName=\"Default XML\" SymbolicName=\"DefaultXml\">\n    <DisplayName>Default XML</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasEncoding\" IsForward=\"false\">i=322</Reference>\n      <Reference ReferenceType=\"HasDescription\">i=8312</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=76</Reference>\n    </References>\n  </UAObject>\n  <UAObject NodeId=\"i=326\" BrowseName=\"Default XML\" SymbolicName=\"DefaultXml\">\n    <DisplayName>Default XML</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasEncoding\" IsForward=\"false\">i=325</Reference>\n      <Reference ReferenceType=\"HasDescription\">i=8315</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=76</Reference>\n    </References>\n  </UAObject>\n  <UAObject NodeId=\"i=939\" BrowseName=\"Default XML\" SymbolicName=\"DefaultXml\">\n    <DisplayName>Default XML</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasEncoding\" IsForward=\"false\">i=938</Reference>\n      <Reference ReferenceType=\"HasDescription\">i=8318</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=76</Reference>\n    </References>\n  </UAObject>\n  <UAObject NodeId=\"i=377\" BrowseName=\"Default XML\" SymbolicName=\"DefaultXml\">\n    <DisplayName>Default XML</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasEncoding\" IsForward=\"false\">i=376</Reference>\n      <Reference ReferenceType=\"HasDescription\">i=8363</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=76</Reference>\n    </References>\n  </UAObject>\n  <UAObject NodeId=\"i=380\" BrowseName=\"Default XML\" SymbolicName=\"DefaultXml\">\n    <DisplayName>Default XML</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasEncoding\" IsForward=\"false\">i=379</Reference>\n      <Reference ReferenceType=\"HasDescription\">i=8366</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=76</Reference>\n    </References>\n  </UAObject>\n  <UAObject NodeId=\"i=383\" BrowseName=\"Default XML\" SymbolicName=\"DefaultXml\">\n    <DisplayName>Default XML</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasEncoding\" IsForward=\"false\">i=382</Reference>\n      <Reference ReferenceType=\"HasDescription\">i=8369</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=76</Reference>\n    </References>\n  </UAObject>\n  <UAObject NodeId=\"i=386\" BrowseName=\"Default XML\" SymbolicName=\"DefaultXml\">\n    <DisplayName>Default XML</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasEncoding\" IsForward=\"false\">i=385</Reference>\n      <Reference ReferenceType=\"HasDescription\">i=8372</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=76</Reference>\n    </References>\n  </UAObject>\n  <UAObject NodeId=\"i=538\" BrowseName=\"Default XML\" SymbolicName=\"DefaultXml\">\n    <DisplayName>Default XML</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasEncoding\" IsForward=\"false\">i=537</Reference>\n      <Reference ReferenceType=\"HasDescription\">i=12712</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=76</Reference>\n    </References>\n  </UAObject>\n  <UAObject NodeId=\"i=541\" BrowseName=\"Default XML\" SymbolicName=\"DefaultXml\">\n    <DisplayName>Default XML</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasEncoding\" IsForward=\"false\">i=540</Reference>\n      <Reference ReferenceType=\"HasDescription\">i=12715</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=76</Reference>\n    </References>\n  </UAObject>\n  <UAObject NodeId=\"i=332\" BrowseName=\"Default XML\" SymbolicName=\"DefaultXml\">\n    <DisplayName>Default XML</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasEncoding\" IsForward=\"false\">i=331</Reference>\n      <Reference ReferenceType=\"HasDescription\">i=8321</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=76</Reference>\n    </References>\n  </UAObject>\n  <UAObject NodeId=\"i=584\" BrowseName=\"Default XML\" SymbolicName=\"DefaultXml\">\n    <DisplayName>Default XML</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasEncoding\" IsForward=\"false\">i=583</Reference>\n      <Reference ReferenceType=\"HasDescription\">i=8564</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=76</Reference>\n    </References>\n  </UAObject>\n  <UAObject NodeId=\"i=587\" BrowseName=\"Default XML\" SymbolicName=\"DefaultXml\">\n    <DisplayName>Default XML</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasEncoding\" IsForward=\"false\">i=586</Reference>\n      <Reference ReferenceType=\"HasDescription\">i=8567</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=76</Reference>\n    </References>\n  </UAObject>\n  <UAObject NodeId=\"i=590\" BrowseName=\"Default XML\" SymbolicName=\"DefaultXml\">\n    <DisplayName>Default XML</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasEncoding\" IsForward=\"false\">i=589</Reference>\n      <Reference ReferenceType=\"HasDescription\">i=8570</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=76</Reference>\n    </References>\n  </UAObject>\n  <UAObject NodeId=\"i=593\" BrowseName=\"Default XML\" SymbolicName=\"DefaultXml\">\n    <DisplayName>Default XML</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasEncoding\" IsForward=\"false\">i=592</Reference>\n      <Reference ReferenceType=\"HasDescription\">i=8573</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=76</Reference>\n    </References>\n  </UAObject>\n  <UAObject NodeId=\"i=596\" BrowseName=\"Default XML\" SymbolicName=\"DefaultXml\">\n    <DisplayName>Default XML</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasEncoding\" IsForward=\"false\">i=595</Reference>\n      <Reference ReferenceType=\"HasDescription\">i=8576</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=76</Reference>\n    </References>\n  </UAObject>\n  <UAObject NodeId=\"i=599\" BrowseName=\"Default XML\" SymbolicName=\"DefaultXml\">\n    <DisplayName>Default XML</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasEncoding\" IsForward=\"false\">i=598</Reference>\n      <Reference ReferenceType=\"HasDescription\">i=8579</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=76</Reference>\n    </References>\n  </UAObject>\n  <UAObject NodeId=\"i=602\" BrowseName=\"Default XML\" SymbolicName=\"DefaultXml\">\n    <DisplayName>Default XML</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasEncoding\" IsForward=\"false\">i=601</Reference>\n      <Reference ReferenceType=\"HasDescription\">i=8582</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=76</Reference>\n    </References>\n  </UAObject>\n  <UAObject NodeId=\"i=660\" BrowseName=\"Default XML\" SymbolicName=\"DefaultXml\">\n    <DisplayName>Default XML</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasEncoding\" IsForward=\"false\">i=659</Reference>\n      <Reference ReferenceType=\"HasDescription\">i=8639</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=76</Reference>\n    </References>\n  </UAObject>\n  <UAObject NodeId=\"i=720\" BrowseName=\"Default XML\" SymbolicName=\"DefaultXml\">\n    <DisplayName>Default XML</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasEncoding\" IsForward=\"false\">i=719</Reference>\n      <Reference ReferenceType=\"HasDescription\">i=8702</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=76</Reference>\n    </References>\n  </UAObject>\n  <UAObject NodeId=\"i=726\" BrowseName=\"Default XML\" SymbolicName=\"DefaultXml\">\n    <DisplayName>Default XML</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasEncoding\" IsForward=\"false\">i=725</Reference>\n      <Reference ReferenceType=\"HasDescription\">i=8708</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=76</Reference>\n    </References>\n  </UAObject>\n  <UAObject NodeId=\"i=949\" BrowseName=\"Default XML\" SymbolicName=\"DefaultXml\">\n    <DisplayName>Default XML</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasEncoding\" IsForward=\"false\">i=948</Reference>\n      <Reference ReferenceType=\"HasDescription\">i=8711</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=76</Reference>\n    </References>\n  </UAObject>\n  <UAObject NodeId=\"i=921\" BrowseName=\"Default XML\" SymbolicName=\"DefaultXml\">\n    <DisplayName>Default XML</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasEncoding\" IsForward=\"false\">i=920</Reference>\n      <Reference ReferenceType=\"HasDescription\">i=8807</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=76</Reference>\n    </References>\n  </UAObject>\n  <UAObject NodeId=\"i=339\" BrowseName=\"Default XML\" SymbolicName=\"DefaultXml\">\n    <DisplayName>Default XML</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasEncoding\" IsForward=\"false\">i=338</Reference>\n      <Reference ReferenceType=\"HasDescription\">i=8327</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=76</Reference>\n    </References>\n  </UAObject>\n  <UAObject NodeId=\"i=854\" BrowseName=\"Default XML\" SymbolicName=\"DefaultXml\">\n    <DisplayName>Default XML</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasEncoding\" IsForward=\"false\">i=853</Reference>\n      <Reference ReferenceType=\"HasDescription\">i=8843</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=76</Reference>\n    </References>\n  </UAObject>\n  <UAObject NodeId=\"i=11949\" BrowseName=\"Default XML\" SymbolicName=\"DefaultXml\">\n    <DisplayName>Default XML</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasEncoding\" IsForward=\"false\">i=11943</Reference>\n      <Reference ReferenceType=\"HasDescription\">i=11951</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=76</Reference>\n    </References>\n  </UAObject>\n  <UAObject NodeId=\"i=11950\" BrowseName=\"Default XML\" SymbolicName=\"DefaultXml\">\n    <DisplayName>Default XML</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasEncoding\" IsForward=\"false\">i=11944</Reference>\n      <Reference ReferenceType=\"HasDescription\">i=11954</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=76</Reference>\n    </References>\n  </UAObject>\n  <UAObject NodeId=\"i=857\" BrowseName=\"Default XML\" SymbolicName=\"DefaultXml\">\n    <DisplayName>Default XML</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasEncoding\" IsForward=\"false\">i=856</Reference>\n      <Reference ReferenceType=\"HasDescription\">i=8846</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=76</Reference>\n    </References>\n  </UAObject>\n  <UAObject NodeId=\"i=860\" BrowseName=\"Default XML\" SymbolicName=\"DefaultXml\">\n    <DisplayName>Default XML</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasEncoding\" IsForward=\"false\">i=859</Reference>\n      <Reference ReferenceType=\"HasDescription\">i=8849</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=76</Reference>\n    </References>\n  </UAObject>\n  <UAObject NodeId=\"i=863\" BrowseName=\"Default XML\" SymbolicName=\"DefaultXml\">\n    <DisplayName>Default XML</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasEncoding\" IsForward=\"false\">i=862</Reference>\n      <Reference ReferenceType=\"HasDescription\">i=8852</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=76</Reference>\n    </References>\n  </UAObject>\n  <UAObject NodeId=\"i=866\" BrowseName=\"Default XML\" SymbolicName=\"DefaultXml\">\n    <DisplayName>Default XML</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasEncoding\" IsForward=\"false\">i=865</Reference>\n      <Reference ReferenceType=\"HasDescription\">i=8855</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=76</Reference>\n    </References>\n  </UAObject>\n  <UAObject NodeId=\"i=869\" BrowseName=\"Default XML\" SymbolicName=\"DefaultXml\">\n    <DisplayName>Default XML</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasEncoding\" IsForward=\"false\">i=868</Reference>\n      <Reference ReferenceType=\"HasDescription\">i=8858</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=76</Reference>\n    </References>\n  </UAObject>\n  <UAObject NodeId=\"i=872\" BrowseName=\"Default XML\" SymbolicName=\"DefaultXml\">\n    <DisplayName>Default XML</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasEncoding\" IsForward=\"false\">i=871</Reference>\n      <Reference ReferenceType=\"HasDescription\">i=8861</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=76</Reference>\n    </References>\n  </UAObject>\n  <UAObject NodeId=\"i=300\" BrowseName=\"Default XML\" SymbolicName=\"DefaultXml\">\n    <DisplayName>Default XML</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasEncoding\" IsForward=\"false\">i=299</Reference>\n      <Reference ReferenceType=\"HasDescription\">i=8294</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=76</Reference>\n    </References>\n  </UAObject>\n  <UAObject NodeId=\"i=875\" BrowseName=\"Default XML\" SymbolicName=\"DefaultXml\">\n    <DisplayName>Default XML</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasEncoding\" IsForward=\"false\">i=874</Reference>\n      <Reference ReferenceType=\"HasDescription\">i=8864</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=76</Reference>\n    </References>\n  </UAObject>\n  <UAObject NodeId=\"i=878\" BrowseName=\"Default XML\" SymbolicName=\"DefaultXml\">\n    <DisplayName>Default XML</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasEncoding\" IsForward=\"false\">i=877</Reference>\n      <Reference ReferenceType=\"HasDescription\">i=8867</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=76</Reference>\n    </References>\n  </UAObject>\n  <UAObject NodeId=\"i=898\" BrowseName=\"Default XML\" SymbolicName=\"DefaultXml\">\n    <DisplayName>Default XML</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasEncoding\" IsForward=\"false\">i=897</Reference>\n      <Reference ReferenceType=\"HasDescription\">i=8870</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=76</Reference>\n    </References>\n  </UAObject>\n  <UAObject NodeId=\"i=885\" BrowseName=\"Default XML\" SymbolicName=\"DefaultXml\">\n    <DisplayName>Default XML</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasEncoding\" IsForward=\"false\">i=884</Reference>\n      <Reference ReferenceType=\"HasDescription\">i=8873</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=76</Reference>\n    </References>\n  </UAObject>\n  <UAObject NodeId=\"i=888\" BrowseName=\"Default XML\" SymbolicName=\"DefaultXml\">\n    <DisplayName>Default XML</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasEncoding\" IsForward=\"false\">i=887</Reference>\n      <Reference ReferenceType=\"HasDescription\">i=8876</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=76</Reference>\n    </References>\n  </UAObject>\n  <UAObject NodeId=\"i=12173\" BrowseName=\"Default XML\" SymbolicName=\"DefaultXml\">\n    <DisplayName>Default XML</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasEncoding\" IsForward=\"false\">i=12171</Reference>\n      <Reference ReferenceType=\"HasDescription\">i=12175</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=76</Reference>\n    </References>\n  </UAObject>\n  <UAObject NodeId=\"i=12174\" BrowseName=\"Default XML\" SymbolicName=\"DefaultXml\">\n    <DisplayName>Default XML</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasEncoding\" IsForward=\"false\">i=12172</Reference>\n      <Reference ReferenceType=\"HasDescription\">i=12178</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=76</Reference>\n    </References>\n  </UAObject>\n  <UAObject NodeId=\"i=12081\" BrowseName=\"Default XML\" SymbolicName=\"DefaultXml\">\n    <DisplayName>Default XML</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasEncoding\" IsForward=\"false\">i=12079</Reference>\n      <Reference ReferenceType=\"HasDescription\">i=12083</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=76</Reference>\n    </References>\n  </UAObject>\n  <UAObject NodeId=\"i=12082\" BrowseName=\"Default XML\" SymbolicName=\"DefaultXml\">\n    <DisplayName>Default XML</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasEncoding\" IsForward=\"false\">i=12080</Reference>\n      <Reference ReferenceType=\"HasDescription\">i=12086</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=76</Reference>\n    </References>\n  </UAObject>\n  <UAObject NodeId=\"i=895\" BrowseName=\"Default XML\" SymbolicName=\"DefaultXml\">\n    <DisplayName>Default XML</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasEncoding\" IsForward=\"false\">i=894</Reference>\n      <Reference ReferenceType=\"HasDescription\">i=8882</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=76</Reference>\n    </References>\n  </UAObject>\n  <UAObject NodeId=\"i=24038\" BrowseName=\"Default XML\" SymbolicName=\"DefaultXml\">\n    <DisplayName>Default XML</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasEncoding\" IsForward=\"false\">i=24033</Reference>\n      <Reference ReferenceType=\"HasDescription\">i=24039</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=76</Reference>\n    </References>\n  </UAObject>\n  <UAObject NodeId=\"i=892\" BrowseName=\"Default XML\" SymbolicName=\"DefaultXml\">\n    <DisplayName>Default XML</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasEncoding\" IsForward=\"false\">i=891</Reference>\n      <Reference ReferenceType=\"HasDescription\">i=8879</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=76</Reference>\n    </References>\n  </UAObject>\n  <UAVariable NodeId=\"i=8252\" BrowseName=\"Opc.Ua\" SymbolicName=\"OpcUa_XmlSchema\" ReleaseStatus=\"Deprecated\" DataType=\"ByteString\">\n    <DisplayName>Opc.Ua</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasProperty\">i=8254</Reference>\n      <Reference ReferenceType=\"HasProperty\">i=15039</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=12762</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=14829</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=17542</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=17554</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=16024</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=18860</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=18863</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=18866</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=18869</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=19049</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=19052</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=19055</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=19058</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=19061</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=15730</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=23522</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=12677</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=16027</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=14811</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=15591</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=15594</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=15585</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=15588</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=14805</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=14808</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=14832</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=16030</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=16033</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=14320</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=16037</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=16040</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=16047</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=16050</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=16053</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=16056</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=21180</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=16062</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=16065</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=16068</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=16071</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=21183</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=21186</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=21189</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=16077</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=16080</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=16083</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=16086</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=16089</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=16092</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=16095</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=14835</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=16098</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=21192</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=16104</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=16107</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=16110</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=16113</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=16116</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=16119</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=17473</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=21195</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=15640</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=16125</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=16144</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=16147</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=23508</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=24129</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=16127</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=18166</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=18169</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=18172</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=18175</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=8285</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=8291</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=14826</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=12759</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=8918</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=8300</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=12201</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=8297</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=8303</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=8417</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=12894</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=12897</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=8333</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=8306</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=8309</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=8312</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=8315</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=8318</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=8363</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=8366</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=8369</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=8372</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=12712</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=12715</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=8321</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=8564</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=8567</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=8570</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=8573</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=8576</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=8579</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=8582</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=8639</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=8702</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=8708</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=8711</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=8807</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=8327</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=8843</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=11951</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=11954</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=8846</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=8849</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=8852</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=8855</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=8858</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=8861</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=8294</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=8864</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=8867</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=8870</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=8873</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=8876</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=12175</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=12178</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=12083</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=12086</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=8882</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=24039</Reference>\n      <Reference ReferenceType=\"HasComponent\">i=8879</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=92</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=72</Reference>\n    </References>\n    <Value>\n      <ByteString xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">PHhzOnNjaGVtYQ0KICB4bWxuczp4cz0iaHR0cDovL3d3dy53My5vcmcvMjAwMS9YTUxTY2hlbWEi\nDQogIHhtbG5zOnVhPSJodHRwOi8vb3BjZm91bmRhdGlvbi5vcmcvVUEvMjAwOC8wMi9UeXBlcy54\nc2QiDQogIHhtbG5zOnRucz0iaHR0cDovL29wY2ZvdW5kYXRpb24ub3JnL1VBLzIwMDgvMDIvVHlw\nZXMueHNkIg0KICB0YXJnZXROYW1lc3BhY2U9Imh0dHA6Ly9vcGNmb3VuZGF0aW9uLm9yZy9VQS8y\nMDA4LzAyL1R5cGVzLnhzZCINCiAgZWxlbWVudEZvcm1EZWZhdWx0PSJxdWFsaWZpZWQiDQo+DQog\nIDx4czplbGVtZW50IG5hbWU9IkJvb2xlYW4iIG5pbGxhYmxlPSJ0cnVlIiB0eXBlPSJ4czpib29s\nZWFuIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJMaXN0T2ZCb29sZWFuIj4NCiAgICA8\neHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJCb29sZWFuIiB0eXBlPSJ4czpi\nb29sZWFuIiBtaW5PY2N1cnM9IjAiIG1heE9jY3Vycz0idW5ib3VuZGVkIiAvPg0KICAgIDwveHM6\nc2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ikxpc3RP\nZkJvb2xlYW4iIHR5cGU9InRuczpMaXN0T2ZCb29sZWFuIiBuaWxsYWJsZT0idHJ1ZSI+PC94czpl\nbGVtZW50Pg0KDQogIDx4czplbGVtZW50IG5hbWU9IlNCeXRlIiBuaWxsYWJsZT0idHJ1ZSIgdHlw\nZT0ieHM6Ynl0ZSIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iTGlzdE9mU0J5dGUiPg0K\nICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlNCeXRlIiB0eXBlPSJ4\nczpieXRlIiBtaW5PY2N1cnM9IjAiIG1heE9jY3Vycz0idW5ib3VuZGVkIiAvPg0KICAgIDwveHM6\nc2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ikxpc3RP\nZlNCeXRlIiB0eXBlPSJ0bnM6TGlzdE9mU0J5dGUiIG5pbGxhYmxlPSJ0cnVlIj48L3hzOmVsZW1l\nbnQ+DQoNCiAgPHhzOmVsZW1lbnQgbmFtZT0iQnl0ZSIgbmlsbGFibGU9InRydWUiIHR5cGU9Inhz\nOnVuc2lnbmVkQnl0ZSIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iTGlzdE9mQnl0ZSI+\nDQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQnl0ZSIgdHlwZT0i\neHM6dW5zaWduZWRCeXRlIiBtaW5PY2N1cnM9IjAiIG1heE9jY3Vycz0idW5ib3VuZGVkIiAvPg0K\nICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5h\nbWU9Ikxpc3RPZkJ5dGUiIHR5cGU9InRuczpMaXN0T2ZCeXRlIiBuaWxsYWJsZT0idHJ1ZSI+PC94\nczplbGVtZW50Pg0KDQogIDx4czplbGVtZW50IG5hbWU9IkludDE2IiBuaWxsYWJsZT0idHJ1ZSIg\ndHlwZT0ieHM6c2hvcnQiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9Ikxpc3RPZkludDE2\nIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJJbnQxNiIgdHlw\nZT0ieHM6c2hvcnQiIG1pbk9jY3Vycz0iMCIgbWF4T2NjdXJzPSJ1bmJvdW5kZWQiIC8+DQogICAg\nPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0i\nTGlzdE9mSW50MTYiIHR5cGU9InRuczpMaXN0T2ZJbnQxNiIgbmlsbGFibGU9InRydWUiPjwveHM6\nZWxlbWVudD4NCg0KICA8eHM6ZWxlbWVudCBuYW1lPSJVSW50MTYiIG5pbGxhYmxlPSJ0cnVlIiB0\neXBlPSJ4czp1bnNpZ25lZFNob3J0IiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJMaXN0\nT2ZVSW50MTYiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlVJ\nbnQxNiIgdHlwZT0ieHM6dW5zaWduZWRTaG9ydCIgbWluT2NjdXJzPSIwIiBtYXhPY2N1cnM9InVu\nYm91bmRlZCIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8\neHM6ZWxlbWVudCBuYW1lPSJMaXN0T2ZVSW50MTYiIHR5cGU9InRuczpMaXN0T2ZVSW50MTYiIG5p\nbGxhYmxlPSJ0cnVlIj48L3hzOmVsZW1lbnQ+DQoNCiAgPHhzOmVsZW1lbnQgbmFtZT0iSW50MzIi\nIG5pbGxhYmxlPSJ0cnVlIiB0eXBlPSJ4czppbnQiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5h\nbWU9Ikxpc3RPZkludDMyIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBu\nYW1lPSJJbnQzMiIgdHlwZT0ieHM6aW50IiBtaW5PY2N1cnM9IjAiIG1heE9jY3Vycz0idW5ib3Vu\nZGVkIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czpl\nbGVtZW50IG5hbWU9Ikxpc3RPZkludDMyIiB0eXBlPSJ0bnM6TGlzdE9mSW50MzIiIG5pbGxhYmxl\nPSJ0cnVlIj48L3hzOmVsZW1lbnQ+DQoNCiAgPHhzOmVsZW1lbnQgbmFtZT0iVUludDMyIiBuaWxs\nYWJsZT0idHJ1ZSIgdHlwZT0ieHM6dW5zaWduZWRJbnQiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBl\nIG5hbWU9Ikxpc3RPZlVJbnQzMiI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1l\nbnQgbmFtZT0iVUludDMyIiB0eXBlPSJ4czp1bnNpZ25lZEludCIgbWluT2NjdXJzPSIwIiBtYXhP\nY2N1cnM9InVuYm91bmRlZCIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhU\neXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJMaXN0T2ZVSW50MzIiIHR5cGU9InRuczpMaXN0T2ZV\nSW50MzIiIG5pbGxhYmxlPSJ0cnVlIj48L3hzOmVsZW1lbnQ+DQoNCiAgPHhzOmVsZW1lbnQgbmFt\nZT0iSW50NjQiIG5pbGxhYmxlPSJ0cnVlIiB0eXBlPSJ4czpsb25nIiAvPg0KDQogIDx4czpjb21w\nbGV4VHlwZSBuYW1lPSJMaXN0T2ZJbnQ2NCI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhz\nOmVsZW1lbnQgbmFtZT0iSW50NjQiIHR5cGU9InhzOmxvbmciIG1pbk9jY3Vycz0iMCIgbWF4T2Nj\ndXJzPSJ1bmJvdW5kZWQiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlw\nZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iTGlzdE9mSW50NjQiIHR5cGU9InRuczpMaXN0T2ZJbnQ2\nNCIgbmlsbGFibGU9InRydWUiPjwveHM6ZWxlbWVudD4NCg0KICA8eHM6ZWxlbWVudCBuYW1lPSJV\nSW50NjQiIG5pbGxhYmxlPSJ0cnVlIiB0eXBlPSJ4czp1bnNpZ25lZExvbmciIC8+DQoNCiAgPHhz\nOmNvbXBsZXhUeXBlIG5hbWU9Ikxpc3RPZlVJbnQ2NCI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAg\nICAgPHhzOmVsZW1lbnQgbmFtZT0iVUludDY0IiB0eXBlPSJ4czp1bnNpZ25lZExvbmciIG1pbk9j\nY3Vycz0iMCIgbWF4T2NjdXJzPSJ1bmJvdW5kZWQiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAg\nPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iTGlzdE9mVUludDY0IiB0eXBl\nPSJ0bnM6TGlzdE9mVUludDY0IiBuaWxsYWJsZT0idHJ1ZSI+PC94czplbGVtZW50Pg0KDQogIDx4\nczplbGVtZW50IG5hbWU9IkZsb2F0IiBuaWxsYWJsZT0idHJ1ZSIgdHlwZT0ieHM6ZmxvYXQiIC8+\nDQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9Ikxpc3RPZkZsb2F0Ij4NCiAgICA8eHM6c2VxdWVu\nY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJGbG9hdCIgdHlwZT0ieHM6ZmxvYXQiIG1pbk9j\nY3Vycz0iMCIgbWF4T2NjdXJzPSJ1bmJvdW5kZWQiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAg\nPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iTGlzdE9mRmxvYXQiIHR5cGU9\nInRuczpMaXN0T2ZGbG9hdCIgbmlsbGFibGU9InRydWUiPjwveHM6ZWxlbWVudD4NCg0KICA8eHM6\nZWxlbWVudCBuYW1lPSJEb3VibGUiIG5pbGxhYmxlPSJ0cnVlIiB0eXBlPSJ4czpkb3VibGUiIC8+\nDQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9Ikxpc3RPZkRvdWJsZSI+DQogICAgPHhzOnNlcXVl\nbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRG91YmxlIiB0eXBlPSJ4czpkb3VibGUiIG1p\nbk9jY3Vycz0iMCIgbWF4T2NjdXJzPSJ1bmJvdW5kZWQiIC8+DQogICAgPC94czpzZXF1ZW5jZT4N\nCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iTGlzdE9mRG91YmxlIiB0\neXBlPSJ0bnM6TGlzdE9mRG91YmxlIiBuaWxsYWJsZT0idHJ1ZSI+PC94czplbGVtZW50Pg0KDQog\nIDx4czplbGVtZW50IG5hbWU9IlN0cmluZyIgbmlsbGFibGU9InRydWUiIHR5cGU9InhzOnN0cmlu\nZyIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iTGlzdE9mU3RyaW5nIj4NCiAgICA8eHM6\nc2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTdHJpbmciIHR5cGU9InhzOnN0cmlu\nZyIgbWluT2NjdXJzPSIwIiBtYXhPY2N1cnM9InVuYm91bmRlZCIgLz4NCiAgICA8L3hzOnNlcXVl\nbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJMaXN0T2ZTdHJp\nbmciIHR5cGU9InRuczpMaXN0T2ZTdHJpbmciIG5pbGxhYmxlPSJ0cnVlIj48L3hzOmVsZW1lbnQ+\nDQoNCiAgPHhzOmVsZW1lbnQgbmFtZT0iRGF0ZVRpbWUiIG5pbGxhYmxlPSJ0cnVlIiB0eXBlPSJ4\nczpkYXRlVGltZSIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iTGlzdE9mRGF0ZVRpbWUi\nPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkRhdGVUaW1lIiB0\neXBlPSJ4czpkYXRlVGltZSIgbWluT2NjdXJzPSIwIiBtYXhPY2N1cnM9InVuYm91bmRlZCIgLz4N\nCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBu\nYW1lPSJMaXN0T2ZEYXRlVGltZSIgdHlwZT0idG5zOkxpc3RPZkRhdGVUaW1lIiBuaWxsYWJsZT0i\ndHJ1ZSI+PC94czplbGVtZW50Pg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJHdWlkIj4NCiAg\nICA8eHM6YW5ub3RhdGlvbj4NCiAgICAgIDx4czphcHBpbmZvPg0KICAgICAgICA8SXNWYWx1ZVR5\ncGUgeG1sbnM9Imh0dHA6Ly9zY2hlbWFzLm1pY3Jvc29mdC5jb20vMjAwMy8xMC9TZXJpYWxpemF0\naW9uLyI+dHJ1ZTwvSXNWYWx1ZVR5cGU+DQogICAgICA8L3hzOmFwcGluZm8+DQogICAgPC94czph\nbm5vdGF0aW9uPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlN0\ncmluZyIgdHlwZT0ieHM6c3RyaW5nIiBtaW5PY2N1cnM9IjAiIG1heE9jY3Vycz0iMSIgbmlsbGFi\nbGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAg\nPHhzOmVsZW1lbnQgbmFtZT0iR3VpZCIgdHlwZT0idG5zOkd1aWQiIG5pbGxhYmxlPSJ0cnVlIj48\nL3hzOmVsZW1lbnQ+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9Ikxpc3RPZkd1aWQiPg0KICAg\nIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9Ikd1aWQiIHR5cGU9InRuczpH\ndWlkIiBtaW5PY2N1cnM9IjAiIG1heE9jY3Vycz0idW5ib3VuZGVkIiAvPg0KICAgIDwveHM6c2Vx\ndWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ikxpc3RPZkd1\naWQiIHR5cGU9InRuczpMaXN0T2ZHdWlkIiBuaWxsYWJsZT0idHJ1ZSI+PC94czplbGVtZW50Pg0K\nDQogIDx4czplbGVtZW50IG5hbWU9IkJ5dGVTdHJpbmciIG5pbGxhYmxlPSJ0cnVlIiB0eXBlPSJ4\nczpiYXNlNjRCaW5hcnkiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9Ikxpc3RPZkJ5dGVT\ndHJpbmciPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkJ5dGVT\ndHJpbmciIHR5cGU9InhzOmJhc2U2NEJpbmFyeSIgbWluT2NjdXJzPSIwIiBtYXhPY2N1cnM9InVu\nYm91bmRlZCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpj\nb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iTGlzdE9mQnl0ZVN0cmluZyIgdHlwZT0i\ndG5zOkxpc3RPZkJ5dGVTdHJpbmciIG5pbGxhYmxlPSJ0cnVlIj48L3hzOmVsZW1lbnQ+DQoNCiAg\nPHhzOmNvbXBsZXhUeXBlIG5hbWU9Ikxpc3RPZlhtbEVsZW1lbnQiPg0KICAgIDx4czpzZXF1ZW5j\nZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlhtbEVsZW1lbnQiIG1pbk9jY3Vycz0iMCIgbWF4\nT2NjdXJzPSJ1bmJvdW5kZWQiIG5pbGxhYmxlPSJ0cnVlIj4NCiAgICAgICAgPHhzOmNvbXBsZXhU\neXBlPg0KICAgICAgICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgICAgICAgIDx4czphbnkgbWluT2Nj\ndXJzPSIwIiBwcm9jZXNzQ29udGVudHM9ImxheCIvPg0KICAgICAgICAgIDwveHM6c2VxdWVuY2U+\nDQogICAgICAgIDwveHM6Y29tcGxleFR5cGU+DQogICAgICA8L3hzOmVsZW1lbnQ+DQogICAgPC94\nczpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iTGlz\ndE9mWG1sRWxlbWVudCIgdHlwZT0idG5zOkxpc3RPZlhtbEVsZW1lbnQiIG5pbGxhYmxlPSJ0cnVl\nIj48L3hzOmVsZW1lbnQ+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9Ik5vZGVJZCI+DQogICAg\nPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iSWRlbnRpZmllciIgdHlwZT0i\neHM6c3RyaW5nIiBtaW5PY2N1cnM9IjAiIG1heE9jY3Vycz0iMSIgbmlsbGFibGU9InRydWUiIC8+\nDQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQg\nbmFtZT0iTm9kZUlkIiB0eXBlPSJ0bnM6Tm9kZUlkIiBuaWxsYWJsZT0idHJ1ZSI+PC94czplbGVt\nZW50Pg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJMaXN0T2ZOb2RlSWQiPg0KICAgIDx4czpz\nZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9Ik5vZGVJZCIgdHlwZT0idG5zOk5vZGVJ\nZCIgbWluT2NjdXJzPSIwIiBtYXhPY2N1cnM9InVuYm91bmRlZCIgbmlsbGFibGU9InRydWUiIC8+\nDQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQg\nbmFtZT0iTGlzdE9mTm9kZUlkIiB0eXBlPSJ0bnM6TGlzdE9mTm9kZUlkIiBuaWxsYWJsZT0idHJ1\nZSI+PC94czplbGVtZW50Pg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJFeHBhbmRlZE5vZGVJ\nZCI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iSWRlbnRpZmll\nciIgdHlwZT0ieHM6c3RyaW5nIiBtaW5PY2N1cnM9IjAiIG1heE9jY3Vycz0iMSIgbmlsbGFibGU9\nInRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhz\nOmVsZW1lbnQgbmFtZT0iRXhwYW5kZWROb2RlSWQiIHR5cGU9InRuczpFeHBhbmRlZE5vZGVJZCIg\nbmlsbGFibGU9InRydWUiPjwveHM6ZWxlbWVudD4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0i\nTGlzdE9mRXhwYW5kZWROb2RlSWQiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVt\nZW50IG5hbWU9IkV4cGFuZGVkTm9kZUlkIiB0eXBlPSJ0bnM6RXhwYW5kZWROb2RlSWQiIG1pbk9j\nY3Vycz0iMCIgbWF4T2NjdXJzPSJ1bmJvdW5kZWQiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwv\neHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ikxp\nc3RPZkV4cGFuZGVkTm9kZUlkIiB0eXBlPSJ0bnM6TGlzdE9mRXhwYW5kZWROb2RlSWQiIG5pbGxh\nYmxlPSJ0cnVlIj48L3hzOmVsZW1lbnQ+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IlN0YXR1\nc0NvZGUiPg0KICAgIDx4czphbm5vdGF0aW9uPg0KICAgICAgPHhzOmFwcGluZm8+DQogICAgICAg\nIDxJc1ZhbHVlVHlwZSB4bWxucz0iaHR0cDovL3NjaGVtYXMubWljcm9zb2Z0LmNvbS8yMDAzLzEw\nL1NlcmlhbGl6YXRpb24vIj50cnVlPC9Jc1ZhbHVlVHlwZT4NCiAgICAgIDwveHM6YXBwaW5mbz4N\nCiAgICA8L3hzOmFubm90YXRpb24+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1l\nbnQgbmFtZT0iQ29kZSIgdHlwZT0ieHM6dW5zaWduZWRJbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAg\nICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1l\nPSJTdGF0dXNDb2RlIiB0eXBlPSJ0bnM6U3RhdHVzQ29kZSIgbmlsbGFibGU9InRydWUiPjwveHM6\nZWxlbWVudD4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iTGlzdE9mU3RhdHVzQ29kZSI+DQog\nICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iU3RhdHVzQ29kZSIgdHlw\nZT0idG5zOlN0YXR1c0NvZGUiIG1pbk9jY3Vycz0iMCIgbWF4T2NjdXJzPSJ1bmJvdW5kZWQiIC8+\nDQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQg\nbmFtZT0iTGlzdE9mU3RhdHVzQ29kZSIgdHlwZT0idG5zOkxpc3RPZlN0YXR1c0NvZGUiIG5pbGxh\nYmxlPSJ0cnVlIj48L3hzOmVsZW1lbnQ+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IkRpYWdu\nb3N0aWNJbmZvIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJT\neW1ib2xpY0lkIiB0eXBlPSJ4czppbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVt\nZW50IG5hbWU9Ik5hbWVzcGFjZVVyaSIgdHlwZT0ieHM6aW50IiBtaW5PY2N1cnM9IjAiIC8+DQog\nICAgICA8eHM6ZWxlbWVudCBuYW1lPSJMb2NhbGUiIHR5cGU9InhzOmludCIgbWluT2NjdXJzPSIw\nIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTG9jYWxpemVkVGV4dCIgdHlwZT0ieHM6aW50\nIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJBZGRpdGlvbmFsSW5m\nbyIgdHlwZT0ieHM6c3RyaW5nIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBu\nYW1lPSJJbm5lclN0YXR1c0NvZGUiIHR5cGU9InRuczpTdGF0dXNDb2RlIiBtaW5PY2N1cnM9IjAi\nIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJJbm5lckRpYWdub3N0aWNJbmZvIiB0eXBlPSJ0\nbnM6RGlhZ25vc3RpY0luZm8iIG1pbk9jY3Vycz0iMCIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0K\nICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJEaWFnbm9zdGljSW5mbyIg\ndHlwZT0idG5zOkRpYWdub3N0aWNJbmZvIiBuaWxsYWJsZT0idHJ1ZSI+PC94czplbGVtZW50Pg0K\nDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJMaXN0T2ZEaWFnbm9zdGljSW5mbyI+DQogICAgPHhz\nOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRGlhZ25vc3RpY0luZm8iIHR5cGU9\nInRuczpEaWFnbm9zdGljSW5mbyIgbWluT2NjdXJzPSIwIiBtYXhPY2N1cnM9InVuYm91bmRlZCIg\nbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlw\nZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iTGlzdE9mRGlhZ25vc3RpY0luZm8iIHR5cGU9InRuczpM\naXN0T2ZEaWFnbm9zdGljSW5mbyIgbmlsbGFibGU9InRydWUiPjwveHM6ZWxlbWVudD4NCg0KICA8\neHM6Y29tcGxleFR5cGUgbmFtZT0iTG9jYWxpemVkVGV4dCI+DQogICAgPHhzOnNlcXVlbmNlPg0K\nICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTG9jYWxlIiB0eXBlPSJ4czpzdHJpbmciIG1pbk9jY3Vy\ncz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJUZXh0IiB0\neXBlPSJ4czpzdHJpbmciIG1pbk9jY3Vycz0iMCIgIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwv\neHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ikxv\nY2FsaXplZFRleHQiIHR5cGU9InRuczpMb2NhbGl6ZWRUZXh0IiBuaWxsYWJsZT0idHJ1ZSIgLz4N\nCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iTGlzdE9mTG9jYWxpemVkVGV4dCI+DQogICAgPHhz\nOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTG9jYWxpemVkVGV4dCIgdHlwZT0i\ndG5zOkxvY2FsaXplZFRleHQiIG1pbk9jY3Vycz0iMCIgbWF4T2NjdXJzPSJ1bmJvdW5kZWQiIG5p\nbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+\nDQogIDx4czplbGVtZW50IG5hbWU9Ikxpc3RPZkxvY2FsaXplZFRleHQiIHR5cGU9InRuczpMaXN0\nT2ZMb2NhbGl6ZWRUZXh0IiBuaWxsYWJsZT0idHJ1ZSI+PC94czplbGVtZW50Pg0KDQogIDx4czpj\nb21wbGV4VHlwZSBuYW1lPSJRdWFsaWZpZWROYW1lIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAg\nICA8eHM6ZWxlbWVudCBuYW1lPSJOYW1lc3BhY2VJbmRleCIgdHlwZT0ieHM6dW5zaWduZWRTaG9y\ndCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTmFtZSIgdHlwZT0i\neHM6c3RyaW5nIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2Vx\ndWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IlF1YWxpZmll\nZE5hbWUiIHR5cGU9InRuczpRdWFsaWZpZWROYW1lIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCg0KICA8\neHM6Y29tcGxleFR5cGUgbmFtZT0iTGlzdE9mUXVhbGlmaWVkTmFtZSI+DQogICAgPHhzOnNlcXVl\nbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUXVhbGlmaWVkTmFtZSIgdHlwZT0idG5zOlF1\nYWxpZmllZE5hbWUiIG1pbk9jY3Vycz0iMCIgbWF4T2NjdXJzPSJ1bmJvdW5kZWQiIG5pbGxhYmxl\nPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4\nczplbGVtZW50IG5hbWU9Ikxpc3RPZlF1YWxpZmllZE5hbWUiIHR5cGU9InRuczpMaXN0T2ZRdWFs\naWZpZWROYW1lIiBuaWxsYWJsZT0idHJ1ZSI+PC94czplbGVtZW50Pg0KDQogIDwhLS0NCiAgICBT\nb21lIGVudmlyb25tZW50cyByZXF1aXJlIGEgV1NETC9YU0Qgd2hpY2ggZXhwbGljaXRseSBkZWZp\nbmVzIGFsbCBwb3NzaWJsZSB0eXBlcy4NCiAgICBUaGUgVUEgV1NETC9YU0QgY2FuIGJlIG1vZGlm\naWVkIHRvIHN1cHBvcnQgdGhlc2UgZW52aXJvbm1lbnRzIGJ5IHJlcGxhY2luZyB0aGUNCiAgICBk\nZWZpbml0aW9ucyBvZiB0aGUgRXh0ZW5zaW9uT2JqZWN0Qm9keSBhbmQgVmFyaWFudFZhbHVlIGNv\nbXBsZXggdHlwZXMgd2l0aCB0aGUNCiAgICBkZWZpbml0aW9ucyBpbiB0aGUgY29tbWVudHMgc2hv\nd24gaGVyZS4gRGV2ZWxvcGVycyB3b3VsZCB0aGVuIGRlZmluZSBzdWJ0eXBlcw0KICAgIG9mIHRo\nZSBFeHRlbnNpb25PYmplY3RCb2R5IHR5cGUgd2hpY2ggZXhwbGljaXRseSBkZWNsYXJlIGEgY2hv\naWNlIGJldHdlZW4gYWxsIG9mIHRoZQ0KICAgIGNvbXBsZXggdHlwZXMgdXNlZCBieSB0aGUgc3lz\ndGVtLiBUaGUgRXhhbXBsZUV4dGVuc2lvbk9iamVjdEJvZHkgc3VidHlwZSBpcyBwcm92aWRlcw0K\nICAgIGEgdGVtcGxhdGUgYmFzZWQgb24gYSBmZXcgY29tbW9uIFVBLWRlZmluZWQgY29tcGxleCB0\neXBlcy4NCiAgICAtLT4NCg0KICA8IS0tDQogICAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IkV4dGVu\nc2lvbk9iamVjdEJvZHkiIC8+DQoNCiAgICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iRXhhbXBsZUV4\ndGVuc2lvbk9iamVjdEJvZHkiPg0KICAgICAgPHhzOmNvbXBsZXhDb250ZW50Pg0KICAgICAgICA8\neHM6ZXh0ZW5zaW9uIGJhc2U9InRuczpFeHRlbnNpb25PYmplY3RCb2R5Ij4NCiAgICAgICAgICA8\neHM6Y2hvaWNlPg0KICAgICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQXJndW1lbnQiIHR5cGU9\nInRuczpBcmd1bWVudCIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgICAg\nICAgIDx4czplbGVtZW50IG5hbWU9IlVzZXJJZGVudGl0eVRva2VuIiB0eXBlPSJ0bnM6VXNlcklk\nZW50aXR5VG9rZW4iIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICAgICAg\nICA8eHM6ZWxlbWVudCBuYW1lPSJVc2VyTmFtZUlkZW50aXR5VG9rZW4iIHR5cGU9InRuczpVc2Vy\nTmFtZUlkZW50aXR5VG9rZW4iIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAg\nICAgICAgPC94czpjaG9pY2U+DQogICAgICAgIDwveHM6ZXh0ZW5zaW9uPg0KICAgICAgPC94czpj\nb21wbGV4Q29udGVudD4NCiAgICA8L3hzOmNvbXBsZXhUeXBlPg0KDQogICAgPHhzOmNvbXBsZXhU\neXBlIG5hbWU9IkV4dGVuc2lvbk9iamVjdCI+DQogICAgICA8eHM6c2VxdWVuY2U+DQogICAgICAg\nIDx4czplbGVtZW50IG5hbWU9IlR5cGVJZCIgdHlwZT0idG5zOkV4cGFuZGVkTm9kZUlkIiBtaW5P\nY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJC\nb2R5IiBtaW5PY2N1cnM9IjAiIHR5cGU9InRuczpFeHRlbnNpb25PYmplY3RCb2R5IiBuaWxsYWJs\nZT0idHJ1ZSIgLz4NCiAgICAgIDwveHM6c2VxdWVuY2U+DQogICAgPC94czpjb21wbGV4VHlwZT4N\nCiAgICA8eHM6ZWxlbWVudCBuYW1lPSJFeHRlbnNpb25PYmplY3QiIHR5cGU9InRuczpFeHRlbnNp\nb25PYmplY3QiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIC0tPg0KDQogIDx4czpjb21wbGV4VHlw\nZSBuYW1lPSJFeHRlbnNpb25PYmplY3QiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czpl\nbGVtZW50IG5hbWU9IlR5cGVJZCIgdHlwZT0idG5zOk5vZGVJZCIgbWluT2NjdXJzPSIwIiBuaWxs\nYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkJvZHkiIG1pbk9jY3Vycz0i\nMCIgbmlsbGFibGU9InRydWUiPg0KICAgICAgICA8eHM6Y29tcGxleFR5cGU+DQogICAgICAgICAg\nPHhzOnNlcXVlbmNlPg0KICAgICAgICAgICAgPHhzOmFueSBtaW5PY2N1cnM9IjAiIHByb2Nlc3ND\nb250ZW50cz0ibGF4Ii8+DQogICAgICAgICAgPC94czpzZXF1ZW5jZT4NCiAgICAgICAgPC94czpj\nb21wbGV4VHlwZT4NCiAgICAgIDwveHM6ZWxlbWVudD4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8\nL3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJFeHRlbnNpb25PYmplY3QiIHR5\ncGU9InRuczpFeHRlbnNpb25PYmplY3QiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KDQogIDx4czpjb21w\nbGV4VHlwZSBuYW1lPSJMaXN0T2ZFeHRlbnNpb25PYmplY3QiPg0KICAgIDx4czpzZXF1ZW5jZT4N\nCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkV4dGVuc2lvbk9iamVjdCIgdHlwZT0idG5zOkV4dGVu\nc2lvbk9iamVjdCIgbWluT2NjdXJzPSIwIiBtYXhPY2N1cnM9InVuYm91bmRlZCIgbmlsbGFibGU9\nInRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhz\nOmVsZW1lbnQgbmFtZT0iTGlzdE9mRXh0ZW5zaW9uT2JqZWN0IiB0eXBlPSJ0bnM6TGlzdE9mRXh0\nZW5zaW9uT2JqZWN0IiBuaWxsYWJsZT0idHJ1ZSI+PC94czplbGVtZW50Pg0KDQogIDwhLS0NCiAg\nICBTb21lIFdTREwvWE1MIGNvbXBpbGVycyBoYXZlIGlzc3VlcyB3aXRoIHRoZSB4czpjaG9pY2Ug\nY29uc3RydWN0LiBGb3IgdGhhdCByZWFzb24NCiAgICB0aGUgZGVmYXVsdCBkZWNsYXJhdGlvbiBv\nZiBhIFZhcmlhbnQgdXNlcyB4czphbnkgY29uc3RydWN0LiBUaGUgc2NoZW1hIGFjdXR1YWxseQ0K\nICAgIGRlZmluZWQgYnkgdGhlIHNwZWNpZmljYXRpb24gaXMgcHJvdmlkZWQgYnkgdGhlIE1hdHJp\neCBhbmQgVmFyaWFudFZhbHVlIGNvbXBsZXggdHlwZXMNCiAgICBzaG93biBpbiBjb21tZW50cyBi\nZWxvdy4gQXBwbGljYXRpb24gZGV2ZWxvcGVycyBjYW4gcmVwbGFjZSB0aGUgVmFyaWFudFZhbHVl\nIGRlY2xhcmF0aW9uDQogICAgd2l0aCB0aGUgc3BlY2lmaWMgZGVjbGFyYXRpb24gaWYgdGhleSBo\nYXZlIGEgZGV2ZWxvcG1lbnQgZW52aXJvbm1lbnQgdGhhdCBjYW4gaGFuZGxlDQogICAgdGhlIHhz\nOmNob2ljZSBjb25zdHJ1Y3QgaW4gYSByZWFzb25hYmxlIHdheS4NCiAgICAtLT4NCg0KICA8IS0t\nDQogICAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9Ik1hdHJpeCI+DQogICAgICA8eHM6c2VxdWVuY2U+\nDQogICAgICAgIDx4czplbGVtZW50IG5hbWU9IkRpbWVuc2lvbnMiIHR5cGU9InRuczpMaXN0T2ZV\nSW50MzIiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICAgIDx4czplbGVt\nZW50IG5hbWU9IlZhbHVlIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIj4NCiAgICAgICAg\nICA8eHM6Y29tcGxleFR5cGUgbWl4ZWQ9ImZhbHNlIj4NCiAgICAgICAgICAgIDx4czpjaG9pY2Ug\nbWF4T2NjdXJzPSJ1bmJvdW5kZWQiPg0KICAgICAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJC\nb29sZWFuIiB0eXBlPSJ4czpib29sZWFuIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICAgICAgICAg\nIDx4czplbGVtZW50IG5hbWU9IlNCeXRlIiB0eXBlPSJ4czpieXRlIiBtaW5PY2N1cnM9IjAiIC8+\nDQogICAgICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9IkJ5dGUiIHR5cGU9InhzOnVuc2lnbmVk\nQnl0ZSIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJJ\nbnQxNiIgdHlwZT0ieHM6c2hvcnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgICAgICAgICAgPHhz\nOmVsZW1lbnQgbmFtZT0iVUludDE2IiB0eXBlPSJ4czp1bnNpZ25lZFNob3J0IiBtaW5PY2N1cnM9\nIjAiIC8+DQogICAgICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9IkludDMyIiB0eXBlPSJ4czpp\nbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iVUlu\ndDMyIiB0eXBlPSJ4czp1bnNpZ25lZEludCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgICAgICAg\nICA8eHM6ZWxlbWVudCBuYW1lPSJJbnQ2NCIgdHlwZT0ieHM6bG9uZyIgbWluT2NjdXJzPSIwIiAv\nPg0KICAgICAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJVSW50NjQiIHR5cGU9InhzOnVuc2ln\nbmVkTG9uZyIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1l\nPSJGbG9hdCIgdHlwZT0ieHM6ZmxvYXQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgICAgICAgICAg\nPHhzOmVsZW1lbnQgbmFtZT0iRG91YmxlIiB0eXBlPSJ4czpkb3VibGUiIG1pbk9jY3Vycz0iMCIg\nLz4NCiAgICAgICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iU3RyaW5nIiB0eXBlPSJ4czpzdHJp\nbmciIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRGF0\nZVRpbWUiIHR5cGU9InhzOmRhdGVUaW1lIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICAgICAgICAg\nIDx4czplbGVtZW50IG5hbWU9Ikd1aWQiIHR5cGU9InRuczpHdWlkIiBtaW5PY2N1cnM9IjAiIC8+\nDQogICAgICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9IkJ5dGVTdHJpbmciIHR5cGU9InhzOmJh\nc2U2NEJpbmFyeSIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgICAgICAgICA8eHM6ZWxlbWVudCBu\nYW1lPSJYbWxFbGVtZW50IiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIj4NCiAgICAgICAg\nICAgICAgICA8eHM6Y29tcGxleFR5cGU+DQogICAgICAgICAgICAgICAgICA8eHM6c2VxdWVuY2U+\nDQogICAgICAgICAgICAgICAgICAgIDx4czphbnkgbWluT2NjdXJzPSIwIiBwcm9jZXNzQ29udGVu\ndHM9ImxheCIgLz4NCiAgICAgICAgICAgICAgICAgIDwveHM6c2VxdWVuY2U+DQogICAgICAgICAg\nICAgICAgPC94czpjb21wbGV4VHlwZT4NCiAgICAgICAgICAgICAgPC94czplbGVtZW50Pg0KICAg\nICAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTdGF0dXNDb2RlIiB0eXBlPSJ0bnM6U3RhdHVz\nQ29kZSIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJO\nb2RlSWQiIHR5cGU9InRuczpOb2RlSWQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgICAgICAgICAg\nPHhzOmVsZW1lbnQgbmFtZT0iRXhwYW5kZWROb2RlSWQiIHR5cGU9InRuczpFeHBhbmRlZE5vZGVJ\nZCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJRdWFs\naWZpZWROYW1lIiB0eXBlPSJ0bnM6UXVhbGlmaWVkTmFtZSIgbWluT2NjdXJzPSIwIiAvPg0KICAg\nICAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJMb2NhbGl6ZWRUZXh0IiB0eXBlPSJ0bnM6TG9j\nYWxpemVkVGV4dCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgICAgICAgICA8eHM6ZWxlbWVudCBu\nYW1lPSJFeHRlbnNpb25PYmplY3QiIHR5cGU9InRuczpFeHRlbnNpb25PYmplY3QiIG1pbk9jY3Vy\ncz0iMCIgLz4NCiAgICAgICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iVmFyaWFudCIgdHlwZT0i\ndG5zOlZhcmlhbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgICAgICAgIDwveHM6Y2hvaWNlPg0K\nICAgICAgICAgIDwveHM6Y29tcGxleFR5cGU+DQogICAgICAgIDwveHM6ZWxlbWVudD4NCiAgICAg\nIDwveHM6c2VxdWVuY2U+DQogICAgPC94czpjb21wbGV4VHlwZT4NCiAgICA8eHM6ZWxlbWVudCBu\nYW1lPSJNYXRyaXgiIHR5cGU9InRuczpNYXRyaXgiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KDQogICAg\nPHhzOmNvbXBsZXhUeXBlIG5hbWU9IlZhcmlhbnRWYWx1ZSI+DQogICAgICA8eHM6Y2hvaWNlPg0K\nICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJCb29sZWFuIiB0eXBlPSJ4czpib29sZWFuIiBtaW5P\nY2N1cnM9IjAiIC8+DQogICAgICAgIDx4czplbGVtZW50IG5hbWU9IlNCeXRlIiB0eXBlPSJ4czpi\neXRlIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICAgIDx4czplbGVtZW50IG5hbWU9IkJ5dGUiIHR5\ncGU9InhzOnVuc2lnbmVkQnl0ZSIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgICA8eHM6ZWxlbWVu\ndCBuYW1lPSJJbnQxNiIgdHlwZT0ieHM6c2hvcnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgICAg\nPHhzOmVsZW1lbnQgbmFtZT0iVUludDE2IiB0eXBlPSJ4czp1bnNpZ25lZFNob3J0IiBtaW5PY2N1\ncnM9IjAiIC8+DQogICAgICAgIDx4czplbGVtZW50IG5hbWU9IkludDMyIiB0eXBlPSJ4czppbnQi\nIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iVUludDMyIiB0eXBl\nPSJ4czp1bnNpZ25lZEludCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgICA8eHM6ZWxlbWVudCBu\nYW1lPSJJbnQ2NCIgdHlwZT0ieHM6bG9uZyIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgICA8eHM6\nZWxlbWVudCBuYW1lPSJVSW50NjQiIHR5cGU9InhzOnVuc2lnbmVkTG9uZyIgbWluT2NjdXJzPSIw\nIiAvPg0KICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJGbG9hdCIgdHlwZT0ieHM6ZmxvYXQiIG1p\nbk9jY3Vycz0iMCIgLz4NCiAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRG91YmxlIiB0eXBlPSJ4\nczpkb3VibGUiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iU3Ry\naW5nIiB0eXBlPSJ4czpzdHJpbmciIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgICAgPHhzOmVsZW1l\nbnQgbmFtZT0iRGF0ZVRpbWUiIHR5cGU9InhzOmRhdGVUaW1lIiBtaW5PY2N1cnM9IjAiIC8+DQog\nICAgICAgIDx4czplbGVtZW50IG5hbWU9Ikd1aWQiIHR5cGU9InRuczpHdWlkIiBtaW5PY2N1cnM9\nIjAiIC8+DQogICAgICAgIDx4czplbGVtZW50IG5hbWU9IkJ5dGVTdHJpbmciIHR5cGU9InhzOmJh\nc2U2NEJpbmFyeSIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJY\nbWxFbGVtZW50IiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIj4NCiAgICAgICAgICA8eHM6\nY29tcGxleFR5cGU+DQogICAgICAgICAgICA8eHM6c2VxdWVuY2U+DQogICAgICAgICAgICAgIDx4\nczphbnkgbWluT2NjdXJzPSIwIiBwcm9jZXNzQ29udGVudHM9ImxheCIgLz4NCiAgICAgICAgICAg\nIDwveHM6c2VxdWVuY2U+DQogICAgICAgICAgPC94czpjb21wbGV4VHlwZT4NCiAgICAgICAgPC94\nczplbGVtZW50Pg0KICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTdGF0dXNDb2RlIiB0eXBlPSJ0\nbnM6U3RhdHVzQ29kZSIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgICA8eHM6ZWxlbWVudCBuYW1l\nPSJOb2RlSWQiIHR5cGU9InRuczpOb2RlSWQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgICAgPHhz\nOmVsZW1lbnQgbmFtZT0iRXhwYW5kZWROb2RlSWQiIHR5cGU9InRuczpFeHBhbmRlZE5vZGVJZCIg\nbWluT2NjdXJzPSIwIiAvPg0KICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJRdWFsaWZpZWROYW1l\nIiB0eXBlPSJ0bnM6UXVhbGlmaWVkTmFtZSIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgICA8eHM6\nZWxlbWVudCBuYW1lPSJMb2NhbGl6ZWRUZXh0IiB0eXBlPSJ0bnM6TG9jYWxpemVkVGV4dCIgbWlu\nT2NjdXJzPSIwIiAvPg0KICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJFeHRlbnNpb25PYmplY3Qi\nIHR5cGU9InRuczpFeHRlbnNpb25PYmplY3QiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgICAgPHhz\nOmVsZW1lbnQgbmFtZT0iTGlzdE9mQm9vbGVhbiIgdHlwZT0idG5zOkxpc3RPZkJvb2xlYW4iIG1p\nbk9jY3Vycz0iMCIgLz4NCiAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTGlzdE9mU0J5dGUiIHR5\ncGU9InRuczpMaXN0T2ZTQnl0ZSIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgICA8eHM6ZWxlbWVu\ndCBuYW1lPSJMaXN0T2ZCeXRlIiB0eXBlPSJ0bnM6TGlzdE9mQnl0ZSIgbWluT2NjdXJzPSIwIiAv\nPg0KICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJMaXN0T2ZJbnQxNiIgdHlwZT0idG5zOkxpc3RP\nZkludDE2IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICAgIDx4czplbGVtZW50IG5hbWU9Ikxpc3RP\nZlVJbnQxNiIgdHlwZT0idG5zOkxpc3RPZlVJbnQxNiIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAg\nICA8eHM6ZWxlbWVudCBuYW1lPSJMaXN0T2ZJbnQzMiIgdHlwZT0idG5zOkxpc3RPZkludDMyIiBt\naW5PY2N1cnM9IjAiIC8+DQogICAgICAgIDx4czplbGVtZW50IG5hbWU9Ikxpc3RPZlVJbnQzMiIg\ndHlwZT0idG5zOkxpc3RPZlVJbnQzMiIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgICA8eHM6ZWxl\nbWVudCBuYW1lPSJMaXN0T2ZJbnQ2NCIgdHlwZT0idG5zOkxpc3RPZkludDY0IiBtaW5PY2N1cnM9\nIjAiIC8+DQogICAgICAgIDx4czplbGVtZW50IG5hbWU9Ikxpc3RPZlVJbnQ2NCIgdHlwZT0idG5z\nOkxpc3RPZlVJbnQ2NCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgICA8eHM6ZWxlbWVudCBuYW1l\nPSJMaXN0T2ZGbG9hdCIgdHlwZT0idG5zOkxpc3RPZkZsb2F0IiBtaW5PY2N1cnM9IjAiIC8+DQog\nICAgICAgIDx4czplbGVtZW50IG5hbWU9Ikxpc3RPZkRvdWJsZSIgdHlwZT0idG5zOkxpc3RPZkRv\ndWJsZSIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJMaXN0T2ZT\ndHJpbmciIHR5cGU9InRuczpMaXN0T2ZTdHJpbmciIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgICAg\nPHhzOmVsZW1lbnQgbmFtZT0iTGlzdE9mRGF0ZVRpbWUiIHR5cGU9InRuczpMaXN0T2ZEYXRlVGlt\nZSIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJMaXN0T2ZHdWlk\nIiB0eXBlPSJ0bnM6TGlzdE9mR3VpZCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgICA8eHM6ZWxl\nbWVudCBuYW1lPSJMaXN0T2ZCeXRlU3RyaW5nIiB0eXBlPSJ0bnM6TGlzdE9mQnl0ZVN0cmluZyIg\nbWluT2NjdXJzPSIwIiAvPg0KICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJMaXN0T2ZYbWxFbGVt\nZW50IiB0eXBlPSJ0bnM6TGlzdE9mWG1sRWxlbWVudCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAg\nICA8eHM6ZWxlbWVudCBuYW1lPSJMaXN0T2ZTdGF0dXNDb2RlIiB0eXBlPSJ0bnM6TGlzdE9mU3Rh\ndHVzQ29kZSIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJMaXN0\nT2ZOb2RlSWQiIHR5cGU9InRuczpMaXN0T2ZOb2RlSWQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAg\nICAgPHhzOmVsZW1lbnQgbmFtZT0iTGlzdE9mRXhwYW5kZWROb2RlSWQiIHR5cGU9InRuczpMaXN0\nT2ZFeHBhbmRlZE5vZGVJZCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgICA8eHM6ZWxlbWVudCBu\nYW1lPSJMaXN0T2ZRdWFsaWZpZWROYW1lIiB0eXBlPSJ0bnM6TGlzdE9mUXVhbGlmaWVkTmFtZSIg\nbWluT2NjdXJzPSIwIiAvPg0KICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJMaXN0T2ZMb2NhbGl6\nZWRUZXh0IiB0eXBlPSJ0bnM6TGlzdE9mTG9jYWxpemVkVGV4dCIgbWluT2NjdXJzPSIwIiAvPg0K\nICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJMaXN0T2ZFeHRlbnNpb25PYmplY3QiIHR5cGU9InRu\nczpMaXN0T2ZFeHRlbnNpb25PYmplY3QiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgICAgPHhzOmVs\nZW1lbnQgbmFtZT0iTGlzdE9mVmFyaWFudCIgdHlwZT0idG5zOkxpc3RPZlZhcmlhbnQiIG1pbk9j\nY3Vycz0iMCIgLz4NCiAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTWF0cml4IiB0eXBlPSJ0bnM6\nTWF0cml4IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8L3hzOmNob2ljZT4NCiAgICA8L3hzOmNv\nbXBsZXhUeXBlPg0KDQogICAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IlZhcmlhbnQiPg0KICAgICAg\nPHhzOnNlcXVlbmNlPg0KICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJWYWx1ZSIgdHlwZT0idG5z\nOlZhcmlhbnRWYWx1ZSIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDwv\neHM6c2VxdWVuY2U+DQogICAgPC94czpjb21wbGV4VHlwZT4NCiAgICA8eHM6ZWxlbWVudCBuYW1l\nPSJWYXJpYW50IiB0eXBlPSJ0bnM6VmFyaWFudCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgLS0+\nDQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IlZhcmlhbnQiPg0KICAgIDx4czphbm5vdGF0aW9u\nPg0KICAgICAgPHhzOmFwcGluZm8+DQogICAgICAgIDxJc1ZhbHVlVHlwZSB4bWxucz0iaHR0cDov\nL3NjaGVtYXMubWljcm9zb2Z0LmNvbS8yMDAzLzEwL1NlcmlhbGl6YXRpb24vIj50cnVlPC9Jc1Zh\nbHVlVHlwZT4NCiAgICAgIDwveHM6YXBwaW5mbz4NCiAgICA8L3hzOmFubm90YXRpb24+DQogICAg\nPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iVmFsdWUiIG1pbk9jY3Vycz0i\nMCIgbmlsbGFibGU9InRydWUiPg0KICAgICAgICA8eHM6Y29tcGxleFR5cGU+DQogICAgICAgICAg\nPHhzOnNlcXVlbmNlPg0KICAgICAgICAgICAgPHhzOmFueSBtaW5PY2N1cnM9IjAiIHByb2Nlc3ND\nb250ZW50cz0ibGF4IiAvPg0KICAgICAgICAgIDwveHM6c2VxdWVuY2U+DQogICAgICAgIDwveHM6\nY29tcGxleFR5cGU+DQogICAgICA8L3hzOmVsZW1lbnQ+DQogICAgPC94czpzZXF1ZW5jZT4NCiAg\nPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iVmFyaWFudCIgdHlwZT0idG5z\nOlZhcmlhbnQiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJM\naXN0T2ZWYXJpYW50Ij4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1l\nPSJWYXJpYW50IiB0eXBlPSJ0bnM6VmFyaWFudCIgbWluT2NjdXJzPSIwIiBtYXhPY2N1cnM9InVu\nYm91bmRlZCIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8\neHM6ZWxlbWVudCBuYW1lPSJMaXN0T2ZWYXJpYW50IiB0eXBlPSJ0bnM6TGlzdE9mVmFyaWFudCIg\nbmlsbGFibGU9InRydWUiPjwveHM6ZWxlbWVudD4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0i\nRGF0YVZhbHVlIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJW\nYWx1ZSIgdHlwZT0idG5zOlZhcmlhbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVt\nZW50IG5hbWU9IlN0YXR1c0NvZGUiIHR5cGU9InRuczpTdGF0dXNDb2RlIiBtaW5PY2N1cnM9IjAi\nIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTb3VyY2VUaW1lc3RhbXAiIHR5cGU9InhzOmRh\ndGVUaW1lIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTb3VyY2VQ\naWNvc2Vjb25kcyIgdHlwZT0ieHM6dW5zaWduZWRTaG9ydCIgbWluT2NjdXJzPSIwIiAvPg0KICAg\nICAgPHhzOmVsZW1lbnQgbmFtZT0iU2VydmVyVGltZXN0YW1wIiB0eXBlPSJ4czpkYXRlVGltZSIg\nbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iU2VydmVyUGljb3NlY29u\nZHMiIHR5cGU9InhzOnVuc2lnbmVkU2hvcnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICA8L3hzOnNl\ncXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJEYXRhVmFs\ndWUiIHR5cGU9InRuczpEYXRhVmFsdWUiIG5pbGxhYmxlPSJ0cnVlIi8+DQoNCiAgPHhzOmNvbXBs\nZXhUeXBlIG5hbWU9Ikxpc3RPZkRhdGFWYWx1ZSI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAg\nPHhzOmVsZW1lbnQgbmFtZT0iRGF0YVZhbHVlIiB0eXBlPSJ0bnM6RGF0YVZhbHVlIiBtaW5PY2N1\ncnM9IjAiIG1heE9jY3Vycz0idW5ib3VuZGVkIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hz\nOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJMaXN0\nT2ZEYXRhVmFsdWUiIHR5cGU9InRuczpMaXN0T2ZEYXRhVmFsdWUiIG5pbGxhYmxlPSJ0cnVlIj48\nL3hzOmVsZW1lbnQ+DQoNCiAgPHhzOmVsZW1lbnQgbmFtZT0iSW52b2tlU2VydmljZVJlcXVlc3Qi\nIHR5cGU9InhzOmJhc2U2NEJpbmFyeSIgbmlsbGFibGU9InRydWUiIC8+DQogIDx4czplbGVtZW50\nIG5hbWU9Ikludm9rZVNlcnZpY2VSZXNwb25zZSIgdHlwZT0ieHM6YmFzZTY0QmluYXJ5IiBuaWxs\nYWJsZT0idHJ1ZSIgLz4NCg0KICA8eHM6ZWxlbWVudCBuYW1lPSJJbWFnZUJNUCIgdHlwZT0ieHM6\nYmFzZTY0QmluYXJ5IiAvPg0KDQogIDx4czplbGVtZW50IG5hbWU9IkltYWdlR0lGIiB0eXBlPSJ4\nczpiYXNlNjRCaW5hcnkiIC8+DQoNCiAgPHhzOmVsZW1lbnQgbmFtZT0iSW1hZ2VKUEciIHR5cGU9\nInhzOmJhc2U2NEJpbmFyeSIgLz4NCg0KICA8eHM6ZWxlbWVudCBuYW1lPSJJbWFnZVBORyIgdHlw\nZT0ieHM6YmFzZTY0QmluYXJ5IiAvPg0KDQogIDx4czplbGVtZW50IG5hbWU9IkF1ZGlvRGF0YVR5\ncGUiIHR5cGU9InhzOmJhc2U2NEJpbmFyeSIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0i\nVW5pb24iPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNv\nbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJVbmlvbiIgdHlwZT0idG5zOlVuaW9uIiAv\nPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJMaXN0T2ZVbmlvbiI+DQogICAgPHhzOnNlcXVl\nbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iVW5pb24iIHR5cGU9InRuczpVbmlvbiIgbWlu\nT2NjdXJzPSIwIiBtYXhPY2N1cnM9InVuYm91bmRlZCIgbmlsbGFibGU9InRydWUiIC8+DQogICAg\nPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0i\nTGlzdE9mVW5pb24iIHR5cGU9InRuczpMaXN0T2ZVbmlvbiIgbmlsbGFibGU9InRydWUiPjwveHM6\nZWxlbWVudD4NCg0KICA8eHM6ZWxlbWVudCBuYW1lPSJCaXRGaWVsZE1hc2tEYXRhVHlwZSIgdHlw\nZT0ieHM6dW5zaWduZWRMb25nIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJLZXlWYWx1\nZVBhaXIiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IktleSIg\ndHlwZT0idWE6UXVhbGlmaWVkTmFtZSIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4N\nCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlZhbHVlIiB0eXBlPSJ1YTpWYXJpYW50IiBtaW5PY2N1\ncnM9IjAiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhz\nOmVsZW1lbnQgbmFtZT0iS2V5VmFsdWVQYWlyIiB0eXBlPSJ0bnM6S2V5VmFsdWVQYWlyIiAvPg0K\nDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJMaXN0T2ZLZXlWYWx1ZVBhaXIiPg0KICAgIDx4czpz\nZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IktleVZhbHVlUGFpciIgdHlwZT0idG5z\nOktleVZhbHVlUGFpciIgbWluT2NjdXJzPSIwIiBtYXhPY2N1cnM9InVuYm91bmRlZCIgbmlsbGFi\nbGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAg\nPHhzOmVsZW1lbnQgbmFtZT0iTGlzdE9mS2V5VmFsdWVQYWlyIiB0eXBlPSJ0bnM6TGlzdE9mS2V5\nVmFsdWVQYWlyIiBuaWxsYWJsZT0idHJ1ZSI+PC94czplbGVtZW50Pg0KDQogIDx4czpjb21wbGV4\nVHlwZSBuYW1lPSJBZGRpdGlvbmFsUGFyYW1ldGVyc1R5cGUiPg0KICAgIDx4czpzZXF1ZW5jZT4N\nCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlBhcmFtZXRlcnMiIHR5cGU9InRuczpMaXN0T2ZLZXlW\nYWx1ZVBhaXIiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1\nZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iQWRkaXRpb25h\nbFBhcmFtZXRlcnNUeXBlIiB0eXBlPSJ0bnM6QWRkaXRpb25hbFBhcmFtZXRlcnNUeXBlIiAvPg0K\nDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJFcGhlbWVyYWxLZXlUeXBlIj4NCiAgICA8eHM6c2Vx\ndWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJQdWJsaWNLZXkiIHR5cGU9InhzOmJhc2U2\nNEJpbmFyeSIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVt\nZW50IG5hbWU9IlNpZ25hdHVyZSIgdHlwZT0ieHM6YmFzZTY0QmluYXJ5IiBtaW5PY2N1cnM9IjAi\nIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5\ncGU+DQogIDx4czplbGVtZW50IG5hbWU9IkVwaGVtZXJhbEtleVR5cGUiIHR5cGU9InRuczpFcGhl\nbWVyYWxLZXlUeXBlIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJFbmRwb2ludFR5cGUi\nPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkVuZHBvaW50VXJs\nIiB0eXBlPSJ4czpzdHJpbmciIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAg\nICA8eHM6ZWxlbWVudCBuYW1lPSJTZWN1cml0eU1vZGUiIHR5cGU9InRuczpNZXNzYWdlU2VjdXJp\ndHlNb2RlIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTZWN1cml0\neVBvbGljeVVyaSIgdHlwZT0ieHM6c3RyaW5nIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVl\nIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iVHJhbnNwb3J0UHJvZmlsZVVyaSIgdHlwZT0i\neHM6c3RyaW5nIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2Vx\ndWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IkVuZHBvaW50\nVHlwZSIgdHlwZT0idG5zOkVuZHBvaW50VHlwZSIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFt\nZT0iTGlzdE9mRW5kcG9pbnRUeXBlIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxl\nbWVudCBuYW1lPSJFbmRwb2ludFR5cGUiIHR5cGU9InRuczpFbmRwb2ludFR5cGUiIG1pbk9jY3Vy\ncz0iMCIgbWF4T2NjdXJzPSJ1bmJvdW5kZWQiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6\nc2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ikxpc3RP\nZkVuZHBvaW50VHlwZSIgdHlwZT0idG5zOkxpc3RPZkVuZHBvaW50VHlwZSIgbmlsbGFibGU9InRy\ndWUiPjwveHM6ZWxlbWVudD4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iUmF0aW9uYWxOdW1i\nZXIiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9Ik51bWVyYXRv\nciIgdHlwZT0ieHM6aW50IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1l\nPSJEZW5vbWluYXRvciIgdHlwZT0ieHM6dW5zaWduZWRJbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAg\nICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1l\nPSJSYXRpb25hbE51bWJlciIgdHlwZT0idG5zOlJhdGlvbmFsTnVtYmVyIiAvPg0KDQogIDx4czpj\nb21wbGV4VHlwZSBuYW1lPSJMaXN0T2ZSYXRpb25hbE51bWJlciI+DQogICAgPHhzOnNlcXVlbmNl\nPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmF0aW9uYWxOdW1iZXIiIHR5cGU9InRuczpSYXRp\nb25hbE51bWJlciIgbWluT2NjdXJzPSIwIiBtYXhPY2N1cnM9InVuYm91bmRlZCIgbmlsbGFibGU9\nInRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhz\nOmVsZW1lbnQgbmFtZT0iTGlzdE9mUmF0aW9uYWxOdW1iZXIiIHR5cGU9InRuczpMaXN0T2ZSYXRp\nb25hbE51bWJlciIgbmlsbGFibGU9InRydWUiPjwveHM6ZWxlbWVudD4NCg0KICA8eHM6Y29tcGxl\neFR5cGUgbmFtZT0iVmVjdG9yIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgPC94czpzZXF1ZW5j\nZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iVmVjdG9yIiB0eXBl\nPSJ0bnM6VmVjdG9yIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJMaXN0T2ZWZWN0b3Ii\nPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlZlY3RvciIgdHlw\nZT0idG5zOlZlY3RvciIgbWluT2NjdXJzPSIwIiBtYXhPY2N1cnM9InVuYm91bmRlZCIgbmlsbGFi\nbGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAg\nPHhzOmVsZW1lbnQgbmFtZT0iTGlzdE9mVmVjdG9yIiB0eXBlPSJ0bnM6TGlzdE9mVmVjdG9yIiBu\naWxsYWJsZT0idHJ1ZSI+PC94czplbGVtZW50Pg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJU\naHJlZURWZWN0b3IiPg0KICAgIDx4czpjb21wbGV4Q29udGVudCBtaXhlZD0iZmFsc2UiPg0KICAg\nICAgPHhzOmV4dGVuc2lvbiBiYXNlPSJ0bnM6VmVjdG9yIj4NCiAgICAgICAgPHhzOnNlcXVlbmNl\nPg0KICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9IlgiIHR5cGU9InhzOmRvdWJsZSIgbWluT2Nj\ndXJzPSIwIiAvPg0KICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9IlkiIHR5cGU9InhzOmRvdWJs\nZSIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9IloiIHR5cGU9\nInhzOmRvdWJsZSIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgICA8L3hzOnNlcXVlbmNlPg0KICAg\nICAgPC94czpleHRlbnNpb24+DQogICAgPC94czpjb21wbGV4Q29udGVudD4NCiAgPC94czpjb21w\nbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iVGhyZWVEVmVjdG9yIiB0eXBlPSJ0bnM6VGhy\nZWVEVmVjdG9yIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJMaXN0T2ZUaHJlZURWZWN0\nb3IiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlRocmVlRFZl\nY3RvciIgdHlwZT0idG5zOlRocmVlRFZlY3RvciIgbWluT2NjdXJzPSIwIiBtYXhPY2N1cnM9InVu\nYm91bmRlZCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpj\nb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iTGlzdE9mVGhyZWVEVmVjdG9yIiB0eXBl\nPSJ0bnM6TGlzdE9mVGhyZWVEVmVjdG9yIiBuaWxsYWJsZT0idHJ1ZSI+PC94czplbGVtZW50Pg0K\nDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJDYXJ0ZXNpYW5Db29yZGluYXRlcyI+DQogICAgPHhz\nOnNlcXVlbmNlPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4\nczplbGVtZW50IG5hbWU9IkNhcnRlc2lhbkNvb3JkaW5hdGVzIiB0eXBlPSJ0bnM6Q2FydGVzaWFu\nQ29vcmRpbmF0ZXMiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9Ikxpc3RPZkNhcnRlc2lh\nbkNvb3JkaW5hdGVzIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1l\nPSJDYXJ0ZXNpYW5Db29yZGluYXRlcyIgdHlwZT0idG5zOkNhcnRlc2lhbkNvb3JkaW5hdGVzIiBt\naW5PY2N1cnM9IjAiIG1heE9jY3Vycz0idW5ib3VuZGVkIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAg\nICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1l\nPSJMaXN0T2ZDYXJ0ZXNpYW5Db29yZGluYXRlcyIgdHlwZT0idG5zOkxpc3RPZkNhcnRlc2lhbkNv\nb3JkaW5hdGVzIiBuaWxsYWJsZT0idHJ1ZSI+PC94czplbGVtZW50Pg0KDQogIDx4czpjb21wbGV4\nVHlwZSBuYW1lPSJUaHJlZURDYXJ0ZXNpYW5Db29yZGluYXRlcyI+DQogICAgPHhzOmNvbXBsZXhD\nb250ZW50IG1peGVkPSJmYWxzZSI+DQogICAgICA8eHM6ZXh0ZW5zaW9uIGJhc2U9InRuczpDYXJ0\nZXNpYW5Db29yZGluYXRlcyI+DQogICAgICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgICAgICA8eHM6\nZWxlbWVudCBuYW1lPSJYIiB0eXBlPSJ4czpkb3VibGUiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAg\nICAgICA8eHM6ZWxlbWVudCBuYW1lPSJZIiB0eXBlPSJ4czpkb3VibGUiIG1pbk9jY3Vycz0iMCIg\nLz4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJaIiB0eXBlPSJ4czpkb3VibGUiIG1pbk9j\nY3Vycz0iMCIgLz4NCiAgICAgICAgPC94czpzZXF1ZW5jZT4NCiAgICAgIDwveHM6ZXh0ZW5zaW9u\nPg0KICAgIDwveHM6Y29tcGxleENvbnRlbnQ+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czpl\nbGVtZW50IG5hbWU9IlRocmVlRENhcnRlc2lhbkNvb3JkaW5hdGVzIiB0eXBlPSJ0bnM6VGhyZWVE\nQ2FydGVzaWFuQ29vcmRpbmF0ZXMiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9Ikxpc3RP\nZlRocmVlRENhcnRlc2lhbkNvb3JkaW5hdGVzIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8\neHM6ZWxlbWVudCBuYW1lPSJUaHJlZURDYXJ0ZXNpYW5Db29yZGluYXRlcyIgdHlwZT0idG5zOlRo\ncmVlRENhcnRlc2lhbkNvb3JkaW5hdGVzIiBtaW5PY2N1cnM9IjAiIG1heE9jY3Vycz0idW5ib3Vu\nZGVkIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBs\nZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJMaXN0T2ZUaHJlZURDYXJ0ZXNpYW5Db29yZGlu\nYXRlcyIgdHlwZT0idG5zOkxpc3RPZlRocmVlRENhcnRlc2lhbkNvb3JkaW5hdGVzIiBuaWxsYWJs\nZT0idHJ1ZSI+PC94czplbGVtZW50Pg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJPcmllbnRh\ndGlvbiI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29t\ncGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ik9yaWVudGF0aW9uIiB0eXBlPSJ0bnM6T3Jp\nZW50YXRpb24iIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9Ikxpc3RPZk9yaWVudGF0aW9u\nIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJPcmllbnRhdGlv\nbiIgdHlwZT0idG5zOk9yaWVudGF0aW9uIiBtaW5PY2N1cnM9IjAiIG1heE9jY3Vycz0idW5ib3Vu\nZGVkIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBs\nZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJMaXN0T2ZPcmllbnRhdGlvbiIgdHlwZT0idG5z\nOkxpc3RPZk9yaWVudGF0aW9uIiBuaWxsYWJsZT0idHJ1ZSI+PC94czplbGVtZW50Pg0KDQogIDx4\nczpjb21wbGV4VHlwZSBuYW1lPSJUaHJlZURPcmllbnRhdGlvbiI+DQogICAgPHhzOmNvbXBsZXhD\nb250ZW50IG1peGVkPSJmYWxzZSI+DQogICAgICA8eHM6ZXh0ZW5zaW9uIGJhc2U9InRuczpPcmll\nbnRhdGlvbiI+DQogICAgICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBu\nYW1lPSJBIiB0eXBlPSJ4czpkb3VibGUiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgICAgICA8eHM6\nZWxlbWVudCBuYW1lPSJCIiB0eXBlPSJ4czpkb3VibGUiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAg\nICAgICA8eHM6ZWxlbWVudCBuYW1lPSJDIiB0eXBlPSJ4czpkb3VibGUiIG1pbk9jY3Vycz0iMCIg\nLz4NCiAgICAgICAgPC94czpzZXF1ZW5jZT4NCiAgICAgIDwveHM6ZXh0ZW5zaW9uPg0KICAgIDwv\neHM6Y29tcGxleENvbnRlbnQ+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5h\nbWU9IlRocmVlRE9yaWVudGF0aW9uIiB0eXBlPSJ0bnM6VGhyZWVET3JpZW50YXRpb24iIC8+DQoN\nCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9Ikxpc3RPZlRocmVlRE9yaWVudGF0aW9uIj4NCiAgICA8\neHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJUaHJlZURPcmllbnRhdGlvbiIg\ndHlwZT0idG5zOlRocmVlRE9yaWVudGF0aW9uIiBtaW5PY2N1cnM9IjAiIG1heE9jY3Vycz0idW5i\nb3VuZGVkIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNv\nbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJMaXN0T2ZUaHJlZURPcmllbnRhdGlvbiIg\ndHlwZT0idG5zOkxpc3RPZlRocmVlRE9yaWVudGF0aW9uIiBuaWxsYWJsZT0idHJ1ZSI+PC94czpl\nbGVtZW50Pg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJGcmFtZSI+DQogICAgPHhzOnNlcXVl\nbmNlPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVt\nZW50IG5hbWU9IkZyYW1lIiB0eXBlPSJ0bnM6RnJhbWUiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBl\nIG5hbWU9Ikxpc3RPZkZyYW1lIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVu\ndCBuYW1lPSJGcmFtZSIgdHlwZT0idG5zOkZyYW1lIiBtaW5PY2N1cnM9IjAiIG1heE9jY3Vycz0i\ndW5ib3VuZGVkIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hz\nOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJMaXN0T2ZGcmFtZSIgdHlwZT0idG5z\nOkxpc3RPZkZyYW1lIiBuaWxsYWJsZT0idHJ1ZSI+PC94czplbGVtZW50Pg0KDQogIDx4czpjb21w\nbGV4VHlwZSBuYW1lPSJUaHJlZURGcmFtZSI+DQogICAgPHhzOmNvbXBsZXhDb250ZW50IG1peGVk\nPSJmYWxzZSI+DQogICAgICA8eHM6ZXh0ZW5zaW9uIGJhc2U9InRuczpGcmFtZSI+DQogICAgICAg\nIDx4czpzZXF1ZW5jZT4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJDYXJ0ZXNpYW5Db29y\nZGluYXRlcyIgdHlwZT0idG5zOlRocmVlRENhcnRlc2lhbkNvb3JkaW5hdGVzIiBtaW5PY2N1cnM9\nIjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9Ik9yaWVu\ndGF0aW9uIiB0eXBlPSJ0bnM6VGhyZWVET3JpZW50YXRpb24iIG1pbk9jY3Vycz0iMCIgbmlsbGFi\nbGU9InRydWUiIC8+DQogICAgICAgIDwveHM6c2VxdWVuY2U+DQogICAgICA8L3hzOmV4dGVuc2lv\nbj4NCiAgICA8L3hzOmNvbXBsZXhDb250ZW50Pg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6\nZWxlbWVudCBuYW1lPSJUaHJlZURGcmFtZSIgdHlwZT0idG5zOlRocmVlREZyYW1lIiAvPg0KDQog\nIDx4czpjb21wbGV4VHlwZSBuYW1lPSJMaXN0T2ZUaHJlZURGcmFtZSI+DQogICAgPHhzOnNlcXVl\nbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iVGhyZWVERnJhbWUiIHR5cGU9InRuczpUaHJl\nZURGcmFtZSIgbWluT2NjdXJzPSIwIiBtYXhPY2N1cnM9InVuYm91bmRlZCIgbmlsbGFibGU9InRy\ndWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVs\nZW1lbnQgbmFtZT0iTGlzdE9mVGhyZWVERnJhbWUiIHR5cGU9InRuczpMaXN0T2ZUaHJlZURGcmFt\nZSIgbmlsbGFibGU9InRydWUiPjwveHM6ZWxlbWVudD4NCg0KICA8eHM6c2ltcGxlVHlwZSAgbmFt\nZT0iT3BlbkZpbGVNb2RlIj4NCiAgICA8eHM6cmVzdHJpY3Rpb24gYmFzZT0ieHM6c3RyaW5nIj4N\nCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iUmVhZF8xIiAvPg0KICAgICAgPHhzOmVudW1l\ncmF0aW9uIHZhbHVlPSJXcml0ZV8yIiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJF\ncmFzZUV4aXN0aW5nXzQiIC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IkFwcGVuZF84\nIiAvPg0KICAgIDwveHM6cmVzdHJpY3Rpb24+DQogIDwveHM6c2ltcGxlVHlwZT4NCiAgPHhzOmVs\nZW1lbnQgbmFtZT0iT3BlbkZpbGVNb2RlIiB0eXBlPSJ0bnM6T3BlbkZpbGVNb2RlIiAvPg0KDQog\nIDx4czpjb21wbGV4VHlwZSBuYW1lPSJMaXN0T2ZPcGVuRmlsZU1vZGUiPg0KICAgIDx4czpzZXF1\nZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9Ik9wZW5GaWxlTW9kZSIgdHlwZT0idG5zOk9w\nZW5GaWxlTW9kZSIgbWluT2NjdXJzPSIwIiBtYXhPY2N1cnM9InVuYm91bmRlZCIgLz4NCiAgICA8\nL3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJM\naXN0T2ZPcGVuRmlsZU1vZGUiIHR5cGU9InRuczpMaXN0T2ZPcGVuRmlsZU1vZGUiIG5pbGxhYmxl\nPSJ0cnVlIj48L3hzOmVsZW1lbnQ+DQoNCiAgPHhzOnNpbXBsZVR5cGUgIG5hbWU9IklkZW50aXR5\nQ3JpdGVyaWFUeXBlIj4NCiAgICA8eHM6cmVzdHJpY3Rpb24gYmFzZT0ieHM6c3RyaW5nIj4NCiAg\nICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iVXNlck5hbWVfMSIgLz4NCiAgICAgIDx4czplbnVt\nZXJhdGlvbiB2YWx1ZT0iVGh1bWJwcmludF8yIiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZh\nbHVlPSJSb2xlXzMiIC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9Ikdyb3VwSWRfNCIg\nLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iQW5vbnltb3VzXzUiIC8+DQogICAgICA8\neHM6ZW51bWVyYXRpb24gdmFsdWU9IkF1dGhlbnRpY2F0ZWRVc2VyXzYiIC8+DQogICAgICA8eHM6\nZW51bWVyYXRpb24gdmFsdWU9IkFwcGxpY2F0aW9uXzciIC8+DQogICAgPC94czpyZXN0cmljdGlv\nbj4NCiAgPC94czpzaW1wbGVUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJJZGVudGl0eUNyaXRl\ncmlhVHlwZSIgdHlwZT0idG5zOklkZW50aXR5Q3JpdGVyaWFUeXBlIiAvPg0KDQogIDx4czpjb21w\nbGV4VHlwZSBuYW1lPSJMaXN0T2ZJZGVudGl0eUNyaXRlcmlhVHlwZSI+DQogICAgPHhzOnNlcXVl\nbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iSWRlbnRpdHlDcml0ZXJpYVR5cGUiIHR5cGU9\nInRuczpJZGVudGl0eUNyaXRlcmlhVHlwZSIgbWluT2NjdXJzPSIwIiBtYXhPY2N1cnM9InVuYm91\nbmRlZCIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6\nZWxlbWVudCBuYW1lPSJMaXN0T2ZJZGVudGl0eUNyaXRlcmlhVHlwZSIgdHlwZT0idG5zOkxpc3RP\nZklkZW50aXR5Q3JpdGVyaWFUeXBlIiBuaWxsYWJsZT0idHJ1ZSI+PC94czplbGVtZW50Pg0KDQog\nIDx4czpjb21wbGV4VHlwZSBuYW1lPSJJZGVudGl0eU1hcHBpbmdSdWxlVHlwZSI+DQogICAgPHhz\nOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQ3JpdGVyaWFUeXBlIiB0eXBlPSJ0\nbnM6SWRlbnRpdHlDcml0ZXJpYVR5cGUiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVt\nZW50IG5hbWU9IkNyaXRlcmlhIiB0eXBlPSJ4czpzdHJpbmciIG1pbk9jY3Vycz0iMCIgbmlsbGFi\nbGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAg\nPHhzOmVsZW1lbnQgbmFtZT0iSWRlbnRpdHlNYXBwaW5nUnVsZVR5cGUiIHR5cGU9InRuczpJZGVu\ndGl0eU1hcHBpbmdSdWxlVHlwZSIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iTGlzdE9m\nSWRlbnRpdHlNYXBwaW5nUnVsZVR5cGUiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czpl\nbGVtZW50IG5hbWU9IklkZW50aXR5TWFwcGluZ1J1bGVUeXBlIiB0eXBlPSJ0bnM6SWRlbnRpdHlN\nYXBwaW5nUnVsZVR5cGUiIG1pbk9jY3Vycz0iMCIgbWF4T2NjdXJzPSJ1bmJvdW5kZWQiIG5pbGxh\nYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQog\nIDx4czplbGVtZW50IG5hbWU9Ikxpc3RPZklkZW50aXR5TWFwcGluZ1J1bGVUeXBlIiB0eXBlPSJ0\nbnM6TGlzdE9mSWRlbnRpdHlNYXBwaW5nUnVsZVR5cGUiIG5pbGxhYmxlPSJ0cnVlIj48L3hzOmVs\nZW1lbnQ+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IkN1cnJlbmN5VW5pdFR5cGUiPg0KICAg\nIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9Ik51bWVyaWNDb2RlIiB0eXBl\nPSJ4czpzaG9ydCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRXhw\nb25lbnQiIHR5cGU9InhzOmJ5dGUiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50\nIG5hbWU9IkFscGhhYmV0aWNDb2RlIiB0eXBlPSJ4czpzdHJpbmciIG1pbk9jY3Vycz0iMCIgbmls\nbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJDdXJyZW5jeSIgdHlwZT0i\ndWE6TG9jYWxpemVkVGV4dCIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8\nL3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJD\ndXJyZW5jeVVuaXRUeXBlIiB0eXBlPSJ0bnM6Q3VycmVuY3lVbml0VHlwZSIgLz4NCg0KICA8eHM6\nY29tcGxleFR5cGUgbmFtZT0iTGlzdE9mQ3VycmVuY3lVbml0VHlwZSI+DQogICAgPHhzOnNlcXVl\nbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQ3VycmVuY3lVbml0VHlwZSIgdHlwZT0idG5z\nOkN1cnJlbmN5VW5pdFR5cGUiIG1pbk9jY3Vycz0iMCIgbWF4T2NjdXJzPSJ1bmJvdW5kZWQiIG5p\nbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+\nDQogIDx4czplbGVtZW50IG5hbWU9Ikxpc3RPZkN1cnJlbmN5VW5pdFR5cGUiIHR5cGU9InRuczpM\naXN0T2ZDdXJyZW5jeVVuaXRUeXBlIiBuaWxsYWJsZT0idHJ1ZSI+PC94czplbGVtZW50Pg0KDQog\nIDx4czpzaW1wbGVUeXBlICBuYW1lPSJUcnVzdExpc3RNYXNrcyI+DQogICAgPHhzOnJlc3RyaWN0\naW9uIGJhc2U9InhzOnN0cmluZyI+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9Ik5vbmVf\nMCIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iVHJ1c3RlZENlcnRpZmljYXRlc18x\nIiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJUcnVzdGVkQ3Jsc18yIiAvPg0KICAg\nICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJJc3N1ZXJDZXJ0aWZpY2F0ZXNfNCIgLz4NCiAgICAg\nIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iSXNzdWVyQ3Jsc184IiAvPg0KICAgICAgPHhzOmVudW1l\ncmF0aW9uIHZhbHVlPSJBbGxfMTUiIC8+DQogICAgPC94czpyZXN0cmljdGlvbj4NCiAgPC94czpz\naW1wbGVUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJUcnVzdExpc3RNYXNrcyIgdHlwZT0idG5z\nOlRydXN0TGlzdE1hc2tzIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJUcnVzdExpc3RE\nYXRhVHlwZSI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iU3Bl\nY2lmaWVkTGlzdHMiIHR5cGU9InhzOnVuc2lnbmVkSW50IiBtaW5PY2N1cnM9IjAiIC8+DQogICAg\nICA8eHM6ZWxlbWVudCBuYW1lPSJUcnVzdGVkQ2VydGlmaWNhdGVzIiB0eXBlPSJ1YTpMaXN0T2ZC\neXRlU3RyaW5nIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVs\nZW1lbnQgbmFtZT0iVHJ1c3RlZENybHMiIHR5cGU9InVhOkxpc3RPZkJ5dGVTdHJpbmciIG1pbk9j\nY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJJc3N1\nZXJDZXJ0aWZpY2F0ZXMiIHR5cGU9InVhOkxpc3RPZkJ5dGVTdHJpbmciIG1pbk9jY3Vycz0iMCIg\nbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJJc3N1ZXJDcmxzIiB0\neXBlPSJ1YTpMaXN0T2ZCeXRlU3RyaW5nIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAv\nPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50\nIG5hbWU9IlRydXN0TGlzdERhdGFUeXBlIiB0eXBlPSJ0bnM6VHJ1c3RMaXN0RGF0YVR5cGUiIC8+\nDQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9Ikxpc3RPZlRydXN0TGlzdERhdGFUeXBlIj4NCiAg\nICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJUcnVzdExpc3REYXRhVHlw\nZSIgdHlwZT0idG5zOlRydXN0TGlzdERhdGFUeXBlIiBtaW5PY2N1cnM9IjAiIG1heE9jY3Vycz0i\ndW5ib3VuZGVkIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hz\nOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJMaXN0T2ZUcnVzdExpc3REYXRhVHlw\nZSIgdHlwZT0idG5zOkxpc3RPZlRydXN0TGlzdERhdGFUeXBlIiBuaWxsYWJsZT0idHJ1ZSI+PC94\nczplbGVtZW50Pg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJEZWNpbWFsRGF0YVR5cGUiPg0K\nICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlNjYWxlIiB0eXBlPSJ4\nczpzaG9ydCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iVmFsdWUi\nIHR5cGU9InhzOmJhc2U2NEJpbmFyeSIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4N\nCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBu\nYW1lPSJEZWNpbWFsRGF0YVR5cGUiIHR5cGU9InRuczpEZWNpbWFsRGF0YVR5cGUiIC8+DQoNCiAg\nPHhzOmNvbXBsZXhUeXBlIG5hbWU9IkRhdGFUeXBlU2NoZW1hSGVhZGVyIj4NCiAgICA8eHM6c2Vx\ndWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJOYW1lc3BhY2VzIiB0eXBlPSJ1YTpMaXN0\nT2ZTdHJpbmciIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxl\nbWVudCBuYW1lPSJTdHJ1Y3R1cmVEYXRhVHlwZXMiIHR5cGU9InRuczpMaXN0T2ZTdHJ1Y3R1cmVE\nZXNjcmlwdGlvbiIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czpl\nbGVtZW50IG5hbWU9IkVudW1EYXRhVHlwZXMiIHR5cGU9InRuczpMaXN0T2ZFbnVtRGVzY3JpcHRp\nb24iIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBu\nYW1lPSJTaW1wbGVEYXRhVHlwZXMiIHR5cGU9InRuczpMaXN0T2ZTaW1wbGVUeXBlRGVzY3JpcHRp\nb24iIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4N\nCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iRGF0YVR5cGVTY2hlbWFI\nZWFkZXIiIHR5cGU9InRuczpEYXRhVHlwZVNjaGVtYUhlYWRlciIgLz4NCg0KICA8eHM6Y29tcGxl\neFR5cGUgbmFtZT0iTGlzdE9mRGF0YVR5cGVTY2hlbWFIZWFkZXIiPg0KICAgIDx4czpzZXF1ZW5j\nZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkRhdGFUeXBlU2NoZW1hSGVhZGVyIiB0eXBlPSJ0\nbnM6RGF0YVR5cGVTY2hlbWFIZWFkZXIiIG1pbk9jY3Vycz0iMCIgbWF4T2NjdXJzPSJ1bmJvdW5k\nZWQiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxl\neFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ikxpc3RPZkRhdGFUeXBlU2NoZW1hSGVhZGVyIiB0\neXBlPSJ0bnM6TGlzdE9mRGF0YVR5cGVTY2hlbWFIZWFkZXIiIG5pbGxhYmxlPSJ0cnVlIj48L3hz\nOmVsZW1lbnQ+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IkRhdGFUeXBlRGVzY3JpcHRpb24i\nPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkRhdGFUeXBlSWQi\nIHR5cGU9InVhOk5vZGVJZCIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAg\nIDx4czplbGVtZW50IG5hbWU9Ik5hbWUiIHR5cGU9InVhOlF1YWxpZmllZE5hbWUiIG1pbk9jY3Vy\ncz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21w\nbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iRGF0YVR5cGVEZXNjcmlwdGlvbiIgdHlwZT0i\ndG5zOkRhdGFUeXBlRGVzY3JpcHRpb24iIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9Ikxp\nc3RPZkRhdGFUeXBlRGVzY3JpcHRpb24iPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czpl\nbGVtZW50IG5hbWU9IkRhdGFUeXBlRGVzY3JpcHRpb24iIHR5cGU9InRuczpEYXRhVHlwZURlc2Ny\naXB0aW9uIiBtaW5PY2N1cnM9IjAiIG1heE9jY3Vycz0idW5ib3VuZGVkIiBuaWxsYWJsZT0idHJ1\nZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxl\nbWVudCBuYW1lPSJMaXN0T2ZEYXRhVHlwZURlc2NyaXB0aW9uIiB0eXBlPSJ0bnM6TGlzdE9mRGF0\nYVR5cGVEZXNjcmlwdGlvbiIgbmlsbGFibGU9InRydWUiPjwveHM6ZWxlbWVudD4NCg0KICA8eHM6\nY29tcGxleFR5cGUgbmFtZT0iU3RydWN0dXJlRGVzY3JpcHRpb24iPg0KICAgIDx4czpjb21wbGV4\nQ29udGVudCBtaXhlZD0iZmFsc2UiPg0KICAgICAgPHhzOmV4dGVuc2lvbiBiYXNlPSJ0bnM6RGF0\nYVR5cGVEZXNjcmlwdGlvbiI+DQogICAgICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgICAgICA8eHM6\nZWxlbWVudCBuYW1lPSJTdHJ1Y3R1cmVEZWZpbml0aW9uIiB0eXBlPSJ0bnM6U3RydWN0dXJlRGVm\naW5pdGlvbiIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgICAgPC94czpz\nZXF1ZW5jZT4NCiAgICAgIDwveHM6ZXh0ZW5zaW9uPg0KICAgIDwveHM6Y29tcGxleENvbnRlbnQ+\nDQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IlN0cnVjdHVyZURlc2Ny\naXB0aW9uIiB0eXBlPSJ0bnM6U3RydWN0dXJlRGVzY3JpcHRpb24iIC8+DQoNCiAgPHhzOmNvbXBs\nZXhUeXBlIG5hbWU9Ikxpc3RPZlN0cnVjdHVyZURlc2NyaXB0aW9uIj4NCiAgICA8eHM6c2VxdWVu\nY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTdHJ1Y3R1cmVEZXNjcmlwdGlvbiIgdHlwZT0i\ndG5zOlN0cnVjdHVyZURlc2NyaXB0aW9uIiBtaW5PY2N1cnM9IjAiIG1heE9jY3Vycz0idW5ib3Vu\nZGVkIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBs\nZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJMaXN0T2ZTdHJ1Y3R1cmVEZXNjcmlwdGlvbiIg\ndHlwZT0idG5zOkxpc3RPZlN0cnVjdHVyZURlc2NyaXB0aW9uIiBuaWxsYWJsZT0idHJ1ZSI+PC94\nczplbGVtZW50Pg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJFbnVtRGVzY3JpcHRpb24iPg0K\nICAgIDx4czpjb21wbGV4Q29udGVudCBtaXhlZD0iZmFsc2UiPg0KICAgICAgPHhzOmV4dGVuc2lv\nbiBiYXNlPSJ0bnM6RGF0YVR5cGVEZXNjcmlwdGlvbiI+DQogICAgICAgIDx4czpzZXF1ZW5jZT4N\nCiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJFbnVtRGVmaW5pdGlvbiIgdHlwZT0idG5zOkVu\ndW1EZWZpbml0aW9uIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgICAg\nIDx4czplbGVtZW50IG5hbWU9IkJ1aWx0SW5UeXBlIiB0eXBlPSJ4czp1bnNpZ25lZEJ5dGUiIG1p\nbk9jY3Vycz0iMCIgLz4NCiAgICAgICAgPC94czpzZXF1ZW5jZT4NCiAgICAgIDwveHM6ZXh0ZW5z\naW9uPg0KICAgIDwveHM6Y29tcGxleENvbnRlbnQ+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4\nczplbGVtZW50IG5hbWU9IkVudW1EZXNjcmlwdGlvbiIgdHlwZT0idG5zOkVudW1EZXNjcmlwdGlv\nbiIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iTGlzdE9mRW51bURlc2NyaXB0aW9uIj4N\nCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJFbnVtRGVzY3JpcHRp\nb24iIHR5cGU9InRuczpFbnVtRGVzY3JpcHRpb24iIG1pbk9jY3Vycz0iMCIgbWF4T2NjdXJzPSJ1\nbmJvdW5kZWQiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6\nY29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ikxpc3RPZkVudW1EZXNjcmlwdGlvbiIg\ndHlwZT0idG5zOkxpc3RPZkVudW1EZXNjcmlwdGlvbiIgbmlsbGFibGU9InRydWUiPjwveHM6ZWxl\nbWVudD4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iU2ltcGxlVHlwZURlc2NyaXB0aW9uIj4N\nCiAgICA8eHM6Y29tcGxleENvbnRlbnQgbWl4ZWQ9ImZhbHNlIj4NCiAgICAgIDx4czpleHRlbnNp\nb24gYmFzZT0idG5zOkRhdGFUeXBlRGVzY3JpcHRpb24iPg0KICAgICAgICA8eHM6c2VxdWVuY2U+\nDQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQmFzZURhdGFUeXBlIiB0eXBlPSJ1YTpOb2Rl\nSWQiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICAgICAgPHhzOmVsZW1l\nbnQgbmFtZT0iQnVpbHRJblR5cGUiIHR5cGU9InhzOnVuc2lnbmVkQnl0ZSIgbWluT2NjdXJzPSIw\nIiAvPg0KICAgICAgICA8L3hzOnNlcXVlbmNlPg0KICAgICAgPC94czpleHRlbnNpb24+DQogICAg\nPC94czpjb21wbGV4Q29udGVudD4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQg\nbmFtZT0iU2ltcGxlVHlwZURlc2NyaXB0aW9uIiB0eXBlPSJ0bnM6U2ltcGxlVHlwZURlc2NyaXB0\naW9uIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJMaXN0T2ZTaW1wbGVUeXBlRGVzY3Jp\ncHRpb24iPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlNpbXBs\nZVR5cGVEZXNjcmlwdGlvbiIgdHlwZT0idG5zOlNpbXBsZVR5cGVEZXNjcmlwdGlvbiIgbWluT2Nj\ndXJzPSIwIiBtYXhPY2N1cnM9InVuYm91bmRlZCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94\nczpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iTGlz\ndE9mU2ltcGxlVHlwZURlc2NyaXB0aW9uIiB0eXBlPSJ0bnM6TGlzdE9mU2ltcGxlVHlwZURlc2Ny\naXB0aW9uIiBuaWxsYWJsZT0idHJ1ZSI+PC94czplbGVtZW50Pg0KDQogIDx4czpjb21wbGV4VHlw\nZSBuYW1lPSJVQUJpbmFyeUZpbGVEYXRhVHlwZSI+DQogICAgPHhzOmNvbXBsZXhDb250ZW50IG1p\neGVkPSJmYWxzZSI+DQogICAgICA8eHM6ZXh0ZW5zaW9uIGJhc2U9InRuczpEYXRhVHlwZVNjaGVt\nYUhlYWRlciI+DQogICAgICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBu\nYW1lPSJTY2hlbWFMb2NhdGlvbiIgdHlwZT0ieHM6c3RyaW5nIiBtaW5PY2N1cnM9IjAiIG5pbGxh\nYmxlPSJ0cnVlIiAvPg0KICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9IkZpbGVIZWFkZXIiIHR5\ncGU9InRuczpMaXN0T2ZLZXlWYWx1ZVBhaXIiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUi\nIC8+DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQm9keSIgdHlwZT0idWE6VmFyaWFudCIg\nbWluT2NjdXJzPSIwIiAvPg0KICAgICAgICA8L3hzOnNlcXVlbmNlPg0KICAgICAgPC94czpleHRl\nbnNpb24+DQogICAgPC94czpjb21wbGV4Q29udGVudD4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAg\nPHhzOmVsZW1lbnQgbmFtZT0iVUFCaW5hcnlGaWxlRGF0YVR5cGUiIHR5cGU9InRuczpVQUJpbmFy\neUZpbGVEYXRhVHlwZSIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iTGlzdE9mVUFCaW5h\ncnlGaWxlRGF0YVR5cGUiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5h\nbWU9IlVBQmluYXJ5RmlsZURhdGFUeXBlIiB0eXBlPSJ0bnM6VUFCaW5hcnlGaWxlRGF0YVR5cGUi\nIG1pbk9jY3Vycz0iMCIgbWF4T2NjdXJzPSJ1bmJvdW5kZWQiIG5pbGxhYmxlPSJ0cnVlIiAvPg0K\nICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5h\nbWU9Ikxpc3RPZlVBQmluYXJ5RmlsZURhdGFUeXBlIiB0eXBlPSJ0bnM6TGlzdE9mVUFCaW5hcnlG\naWxlRGF0YVR5cGUiIG5pbGxhYmxlPSJ0cnVlIj48L3hzOmVsZW1lbnQ+DQoNCiAgPHhzOnNpbXBs\nZVR5cGUgIG5hbWU9IlB1YlN1YlN0YXRlIj4NCiAgICA8eHM6cmVzdHJpY3Rpb24gYmFzZT0ieHM6\nc3RyaW5nIj4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iRGlzYWJsZWRfMCIgLz4NCiAg\nICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iUGF1c2VkXzEiIC8+DQogICAgICA8eHM6ZW51bWVy\nYXRpb24gdmFsdWU9Ik9wZXJhdGlvbmFsXzIiIC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFs\ndWU9IkVycm9yXzMiIC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IlByZU9wZXJhdGlv\nbmFsXzQiIC8+DQogICAgPC94czpyZXN0cmljdGlvbj4NCiAgPC94czpzaW1wbGVUeXBlPg0KICA8\neHM6ZWxlbWVudCBuYW1lPSJQdWJTdWJTdGF0ZSIgdHlwZT0idG5zOlB1YlN1YlN0YXRlIiAvPg0K\nDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJMaXN0T2ZQdWJTdWJTdGF0ZSI+DQogICAgPHhzOnNl\ncXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUHViU3ViU3RhdGUiIHR5cGU9InRuczpQ\ndWJTdWJTdGF0ZSIgbWluT2NjdXJzPSIwIiBtYXhPY2N1cnM9InVuYm91bmRlZCIgLz4NCiAgICA8\nL3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJM\naXN0T2ZQdWJTdWJTdGF0ZSIgdHlwZT0idG5zOkxpc3RPZlB1YlN1YlN0YXRlIiBuaWxsYWJsZT0i\ndHJ1ZSI+PC94czplbGVtZW50Pg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJEYXRhU2V0TWV0\nYURhdGFUeXBlIj4NCiAgICA8eHM6Y29tcGxleENvbnRlbnQgbWl4ZWQ9ImZhbHNlIj4NCiAgICAg\nIDx4czpleHRlbnNpb24gYmFzZT0idG5zOkRhdGFUeXBlU2NoZW1hSGVhZGVyIj4NCiAgICAgICAg\nPHhzOnNlcXVlbmNlPg0KICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9Ik5hbWUiIHR5cGU9Inhz\nOnN0cmluZyIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgICAgICA8eHM6\nZWxlbWVudCBuYW1lPSJEZXNjcmlwdGlvbiIgdHlwZT0idWE6TG9jYWxpemVkVGV4dCIgbWluT2Nj\ndXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJG\naWVsZHMiIHR5cGU9InRuczpMaXN0T2ZGaWVsZE1ldGFEYXRhIiBtaW5PY2N1cnM9IjAiIG5pbGxh\nYmxlPSJ0cnVlIiAvPg0KICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9IkRhdGFTZXRDbGFzc0lk\nIiB0eXBlPSJ1YTpHdWlkIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICAgICAgPHhzOmVsZW1lbnQg\nbmFtZT0iQ29uZmlndXJhdGlvblZlcnNpb24iIHR5cGU9InRuczpDb25maWd1cmF0aW9uVmVyc2lv\nbkRhdGFUeXBlIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgICA8L3hz\nOnNlcXVlbmNlPg0KICAgICAgPC94czpleHRlbnNpb24+DQogICAgPC94czpjb21wbGV4Q29udGVu\ndD4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iRGF0YVNldE1ldGFE\nYXRhVHlwZSIgdHlwZT0idG5zOkRhdGFTZXRNZXRhRGF0YVR5cGUiIC8+DQoNCiAgPHhzOmNvbXBs\nZXhUeXBlIG5hbWU9Ikxpc3RPZkRhdGFTZXRNZXRhRGF0YVR5cGUiPg0KICAgIDx4czpzZXF1ZW5j\nZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkRhdGFTZXRNZXRhRGF0YVR5cGUiIHR5cGU9InRu\nczpEYXRhU2V0TWV0YURhdGFUeXBlIiBtaW5PY2N1cnM9IjAiIG1heE9jY3Vycz0idW5ib3VuZGVk\nIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhU\neXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJMaXN0T2ZEYXRhU2V0TWV0YURhdGFUeXBlIiB0eXBl\nPSJ0bnM6TGlzdE9mRGF0YVNldE1ldGFEYXRhVHlwZSIgbmlsbGFibGU9InRydWUiPjwveHM6ZWxl\nbWVudD4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iRmllbGRNZXRhRGF0YSI+DQogICAgPHhz\nOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTmFtZSIgdHlwZT0ieHM6c3RyaW5n\nIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFt\nZT0iRGVzY3JpcHRpb24iIHR5cGU9InVhOkxvY2FsaXplZFRleHQiIG1pbk9jY3Vycz0iMCIgbmls\nbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJGaWVsZEZsYWdzIiB0eXBl\nPSJ0bnM6RGF0YVNldEZpZWxkRmxhZ3MiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVt\nZW50IG5hbWU9IkJ1aWx0SW5UeXBlIiB0eXBlPSJ4czp1bnNpZ25lZEJ5dGUiIG1pbk9jY3Vycz0i\nMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkRhdGFUeXBlIiB0eXBlPSJ1YTpOb2RlSWQi\nIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1l\nPSJWYWx1ZVJhbmsiIHR5cGU9InhzOmludCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVs\nZW1lbnQgbmFtZT0iQXJyYXlEaW1lbnNpb25zIiB0eXBlPSJ1YTpMaXN0T2ZVSW50MzIiIG1pbk9j\nY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJNYXhT\ndHJpbmdMZW5ndGgiIHR5cGU9InhzOnVuc2lnbmVkSW50IiBtaW5PY2N1cnM9IjAiIC8+DQogICAg\nICA8eHM6ZWxlbWVudCBuYW1lPSJEYXRhU2V0RmllbGRJZCIgdHlwZT0idWE6R3VpZCIgbWluT2Nj\ndXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUHJvcGVydGllcyIgdHlwZT0idG5z\nOkxpc3RPZktleVZhbHVlUGFpciIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAg\nICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1l\nPSJGaWVsZE1ldGFEYXRhIiB0eXBlPSJ0bnM6RmllbGRNZXRhRGF0YSIgLz4NCg0KICA8eHM6Y29t\ncGxleFR5cGUgbmFtZT0iTGlzdE9mRmllbGRNZXRhRGF0YSI+DQogICAgPHhzOnNlcXVlbmNlPg0K\nICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRmllbGRNZXRhRGF0YSIgdHlwZT0idG5zOkZpZWxkTWV0\nYURhdGEiIG1pbk9jY3Vycz0iMCIgbWF4T2NjdXJzPSJ1bmJvdW5kZWQiIG5pbGxhYmxlPSJ0cnVl\nIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVt\nZW50IG5hbWU9Ikxpc3RPZkZpZWxkTWV0YURhdGEiIHR5cGU9InRuczpMaXN0T2ZGaWVsZE1ldGFE\nYXRhIiBuaWxsYWJsZT0idHJ1ZSI+PC94czplbGVtZW50Pg0KDQogIDx4czpzaW1wbGVUeXBlICBu\nYW1lPSJEYXRhU2V0RmllbGRGbGFncyI+DQogICAgPHhzOnJlc3RyaWN0aW9uIGJhc2U9InhzOnVu\nc2lnbmVkU2hvcnQiPg0KICAgIDwveHM6cmVzdHJpY3Rpb24+DQogIDwveHM6c2ltcGxlVHlwZT4N\nCiAgPHhzOmVsZW1lbnQgbmFtZT0iRGF0YVNldEZpZWxkRmxhZ3MiIHR5cGU9InRuczpEYXRhU2V0\nRmllbGRGbGFncyIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iQ29uZmlndXJhdGlvblZl\ncnNpb25EYXRhVHlwZSI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFt\nZT0iTWFqb3JWZXJzaW9uIiB0eXBlPSJ4czp1bnNpZ25lZEludCIgbWluT2NjdXJzPSIwIiAvPg0K\nICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTWlub3JWZXJzaW9uIiB0eXBlPSJ4czp1bnNpZ25lZElu\ndCIgbWluT2NjdXJzPSIwIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5\ncGU+DQogIDx4czplbGVtZW50IG5hbWU9IkNvbmZpZ3VyYXRpb25WZXJzaW9uRGF0YVR5cGUiIHR5\ncGU9InRuczpDb25maWd1cmF0aW9uVmVyc2lvbkRhdGFUeXBlIiAvPg0KDQogIDx4czpjb21wbGV4\nVHlwZSBuYW1lPSJMaXN0T2ZDb25maWd1cmF0aW9uVmVyc2lvbkRhdGFUeXBlIj4NCiAgICA8eHM6\nc2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJDb25maWd1cmF0aW9uVmVyc2lvbkRh\ndGFUeXBlIiB0eXBlPSJ0bnM6Q29uZmlndXJhdGlvblZlcnNpb25EYXRhVHlwZSIgbWluT2NjdXJz\nPSIwIiBtYXhPY2N1cnM9InVuYm91bmRlZCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpz\nZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iTGlzdE9m\nQ29uZmlndXJhdGlvblZlcnNpb25EYXRhVHlwZSIgdHlwZT0idG5zOkxpc3RPZkNvbmZpZ3VyYXRp\nb25WZXJzaW9uRGF0YVR5cGUiIG5pbGxhYmxlPSJ0cnVlIj48L3hzOmVsZW1lbnQ+DQoNCiAgPHhz\nOmNvbXBsZXhUeXBlIG5hbWU9IlB1Ymxpc2hlZERhdGFTZXREYXRhVHlwZSI+DQogICAgPHhzOnNl\ncXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTmFtZSIgdHlwZT0ieHM6c3RyaW5nIiBt\naW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0i\nRGF0YVNldEZvbGRlciIgdHlwZT0idWE6TGlzdE9mU3RyaW5nIiBtaW5PY2N1cnM9IjAiIG5pbGxh\nYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRGF0YVNldE1ldGFEYXRhIiB0\neXBlPSJ0bnM6RGF0YVNldE1ldGFEYXRhVHlwZSIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1\nZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkV4dGVuc2lvbkZpZWxkcyIgdHlwZT0idG5z\nOkxpc3RPZktleVZhbHVlUGFpciIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAg\nICAgIDx4czplbGVtZW50IG5hbWU9IkRhdGFTZXRTb3VyY2UiIHR5cGU9InRuczpQdWJsaXNoZWRE\nYXRhU2V0U291cmNlRGF0YVR5cGUiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQog\nICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFt\nZT0iUHVibGlzaGVkRGF0YVNldERhdGFUeXBlIiB0eXBlPSJ0bnM6UHVibGlzaGVkRGF0YVNldERh\ndGFUeXBlIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJMaXN0T2ZQdWJsaXNoZWREYXRh\nU2V0RGF0YVR5cGUiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9\nIlB1Ymxpc2hlZERhdGFTZXREYXRhVHlwZSIgdHlwZT0idG5zOlB1Ymxpc2hlZERhdGFTZXREYXRh\nVHlwZSIgbWluT2NjdXJzPSIwIiBtYXhPY2N1cnM9InVuYm91bmRlZCIgbmlsbGFibGU9InRydWUi\nIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1l\nbnQgbmFtZT0iTGlzdE9mUHVibGlzaGVkRGF0YVNldERhdGFUeXBlIiB0eXBlPSJ0bnM6TGlzdE9m\nUHVibGlzaGVkRGF0YVNldERhdGFUeXBlIiBuaWxsYWJsZT0idHJ1ZSI+PC94czplbGVtZW50Pg0K\nDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJQdWJsaXNoZWREYXRhU2V0U291cmNlRGF0YVR5cGUi\nPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhU\neXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJQdWJsaXNoZWREYXRhU2V0U291cmNlRGF0YVR5cGUi\nIHR5cGU9InRuczpQdWJsaXNoZWREYXRhU2V0U291cmNlRGF0YVR5cGUiIC8+DQoNCiAgPHhzOmNv\nbXBsZXhUeXBlIG5hbWU9Ikxpc3RPZlB1Ymxpc2hlZERhdGFTZXRTb3VyY2VEYXRhVHlwZSI+DQog\nICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUHVibGlzaGVkRGF0YVNl\ndFNvdXJjZURhdGFUeXBlIiB0eXBlPSJ0bnM6UHVibGlzaGVkRGF0YVNldFNvdXJjZURhdGFUeXBl\nIiBtaW5PY2N1cnM9IjAiIG1heE9jY3Vycz0idW5ib3VuZGVkIiBuaWxsYWJsZT0idHJ1ZSIgLz4N\nCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBu\nYW1lPSJMaXN0T2ZQdWJsaXNoZWREYXRhU2V0U291cmNlRGF0YVR5cGUiIHR5cGU9InRuczpMaXN0\nT2ZQdWJsaXNoZWREYXRhU2V0U291cmNlRGF0YVR5cGUiIG5pbGxhYmxlPSJ0cnVlIj48L3hzOmVs\nZW1lbnQ+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IlB1Ymxpc2hlZFZhcmlhYmxlRGF0YVR5\ncGUiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlB1Ymxpc2hl\nZFZhcmlhYmxlIiB0eXBlPSJ1YTpOb2RlSWQiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUi\nIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJBdHRyaWJ1dGVJZCIgdHlwZT0ieHM6dW5zaWdu\nZWRJbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlNhbXBsaW5n\nSW50ZXJ2YWxIaW50IiB0eXBlPSJ4czpkb3VibGUiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4\nczplbGVtZW50IG5hbWU9IkRlYWRiYW5kVHlwZSIgdHlwZT0ieHM6dW5zaWduZWRJbnQiIG1pbk9j\nY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkRlYWRiYW5kVmFsdWUiIHR5cGU9\nInhzOmRvdWJsZSIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iSW5k\nZXhSYW5nZSIgdHlwZT0ieHM6c3RyaW5nIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAv\nPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iU3Vic3RpdHV0ZVZhbHVlIiB0eXBlPSJ1YTpWYXJp\nYW50IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJNZXRhRGF0YVBy\nb3BlcnRpZXMiIHR5cGU9InVhOkxpc3RPZlF1YWxpZmllZE5hbWUiIG1pbk9jY3Vycz0iMCIgbmls\nbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4N\nCiAgPHhzOmVsZW1lbnQgbmFtZT0iUHVibGlzaGVkVmFyaWFibGVEYXRhVHlwZSIgdHlwZT0idG5z\nOlB1Ymxpc2hlZFZhcmlhYmxlRGF0YVR5cGUiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9\nIkxpc3RPZlB1Ymxpc2hlZFZhcmlhYmxlRGF0YVR5cGUiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAg\nICAgIDx4czplbGVtZW50IG5hbWU9IlB1Ymxpc2hlZFZhcmlhYmxlRGF0YVR5cGUiIHR5cGU9InRu\nczpQdWJsaXNoZWRWYXJpYWJsZURhdGFUeXBlIiBtaW5PY2N1cnM9IjAiIG1heE9jY3Vycz0idW5i\nb3VuZGVkIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNv\nbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJMaXN0T2ZQdWJsaXNoZWRWYXJpYWJsZURh\ndGFUeXBlIiB0eXBlPSJ0bnM6TGlzdE9mUHVibGlzaGVkVmFyaWFibGVEYXRhVHlwZSIgbmlsbGFi\nbGU9InRydWUiPjwveHM6ZWxlbWVudD4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iUHVibGlz\naGVkRGF0YUl0ZW1zRGF0YVR5cGUiPg0KICAgIDx4czpjb21wbGV4Q29udGVudCBtaXhlZD0iZmFs\nc2UiPg0KICAgICAgPHhzOmV4dGVuc2lvbiBiYXNlPSJ0bnM6UHVibGlzaGVkRGF0YVNldFNvdXJj\nZURhdGFUeXBlIj4NCiAgICAgICAgPHhzOnNlcXVlbmNlPg0KICAgICAgICAgIDx4czplbGVtZW50\nIG5hbWU9IlB1Ymxpc2hlZERhdGEiIHR5cGU9InRuczpMaXN0T2ZQdWJsaXNoZWRWYXJpYWJsZURh\ndGFUeXBlIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgICA8L3hzOnNl\ncXVlbmNlPg0KICAgICAgPC94czpleHRlbnNpb24+DQogICAgPC94czpjb21wbGV4Q29udGVudD4N\nCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iUHVibGlzaGVkRGF0YUl0\nZW1zRGF0YVR5cGUiIHR5cGU9InRuczpQdWJsaXNoZWREYXRhSXRlbXNEYXRhVHlwZSIgLz4NCg0K\nICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iTGlzdE9mUHVibGlzaGVkRGF0YUl0ZW1zRGF0YVR5cGUi\nPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlB1Ymxpc2hlZERh\ndGFJdGVtc0RhdGFUeXBlIiB0eXBlPSJ0bnM6UHVibGlzaGVkRGF0YUl0ZW1zRGF0YVR5cGUiIG1p\nbk9jY3Vycz0iMCIgbWF4T2NjdXJzPSJ1bmJvdW5kZWQiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAg\nIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9\nIkxpc3RPZlB1Ymxpc2hlZERhdGFJdGVtc0RhdGFUeXBlIiB0eXBlPSJ0bnM6TGlzdE9mUHVibGlz\naGVkRGF0YUl0ZW1zRGF0YVR5cGUiIG5pbGxhYmxlPSJ0cnVlIj48L3hzOmVsZW1lbnQ+DQoNCiAg\nPHhzOmNvbXBsZXhUeXBlIG5hbWU9IlB1Ymxpc2hlZEV2ZW50c0RhdGFUeXBlIj4NCiAgICA8eHM6\nY29tcGxleENvbnRlbnQgbWl4ZWQ9ImZhbHNlIj4NCiAgICAgIDx4czpleHRlbnNpb24gYmFzZT0i\ndG5zOlB1Ymxpc2hlZERhdGFTZXRTb3VyY2VEYXRhVHlwZSI+DQogICAgICAgIDx4czpzZXF1ZW5j\nZT4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJFdmVudE5vdGlmaWVyIiB0eXBlPSJ1YTpO\nb2RlSWQiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICAgICAgPHhzOmVs\nZW1lbnQgbmFtZT0iU2VsZWN0ZWRGaWVsZHMiIHR5cGU9InRuczpMaXN0T2ZTaW1wbGVBdHRyaWJ1\ndGVPcGVyYW5kIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgICAgIDx4\nczplbGVtZW50IG5hbWU9IkZpbHRlciIgdHlwZT0idG5zOkNvbnRlbnRGaWx0ZXIiIG1pbk9jY3Vy\ncz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICAgIDwveHM6c2VxdWVuY2U+DQogICAgICA8\nL3hzOmV4dGVuc2lvbj4NCiAgICA8L3hzOmNvbXBsZXhDb250ZW50Pg0KICA8L3hzOmNvbXBsZXhU\neXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJQdWJsaXNoZWRFdmVudHNEYXRhVHlwZSIgdHlwZT0i\ndG5zOlB1Ymxpc2hlZEV2ZW50c0RhdGFUeXBlIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1l\nPSJMaXN0T2ZQdWJsaXNoZWRFdmVudHNEYXRhVHlwZSI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAg\nICAgPHhzOmVsZW1lbnQgbmFtZT0iUHVibGlzaGVkRXZlbnRzRGF0YVR5cGUiIHR5cGU9InRuczpQ\ndWJsaXNoZWRFdmVudHNEYXRhVHlwZSIgbWluT2NjdXJzPSIwIiBtYXhPY2N1cnM9InVuYm91bmRl\nZCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4\nVHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iTGlzdE9mUHVibGlzaGVkRXZlbnRzRGF0YVR5cGUi\nIHR5cGU9InRuczpMaXN0T2ZQdWJsaXNoZWRFdmVudHNEYXRhVHlwZSIgbmlsbGFibGU9InRydWUi\nPjwveHM6ZWxlbWVudD4NCg0KICA8eHM6c2ltcGxlVHlwZSAgbmFtZT0iRGF0YVNldEZpZWxkQ29u\ndGVudE1hc2siPg0KICAgIDx4czpyZXN0cmljdGlvbiBiYXNlPSJ4czp1bnNpZ25lZEludCI+DQog\nICAgPC94czpyZXN0cmljdGlvbj4NCiAgPC94czpzaW1wbGVUeXBlPg0KICA8eHM6ZWxlbWVudCBu\nYW1lPSJEYXRhU2V0RmllbGRDb250ZW50TWFzayIgdHlwZT0idG5zOkRhdGFTZXRGaWVsZENvbnRl\nbnRNYXNrIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJMaXN0T2ZEYXRhU2V0RmllbGRD\nb250ZW50TWFzayI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0i\nRGF0YVNldEZpZWxkQ29udGVudE1hc2siIHR5cGU9InRuczpEYXRhU2V0RmllbGRDb250ZW50TWFz\nayIgbWluT2NjdXJzPSIwIiBtYXhPY2N1cnM9InVuYm91bmRlZCIgLz4NCiAgICA8L3hzOnNlcXVl\nbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJMaXN0T2ZEYXRh\nU2V0RmllbGRDb250ZW50TWFzayIgdHlwZT0idG5zOkxpc3RPZkRhdGFTZXRGaWVsZENvbnRlbnRN\nYXNrIiBuaWxsYWJsZT0idHJ1ZSI+PC94czplbGVtZW50Pg0KDQogIDx4czpjb21wbGV4VHlwZSBu\nYW1lPSJEYXRhU2V0V3JpdGVyRGF0YVR5cGUiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4\nczplbGVtZW50IG5hbWU9Ik5hbWUiIHR5cGU9InhzOnN0cmluZyIgbWluT2NjdXJzPSIwIiBuaWxs\nYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkVuYWJsZWQiIHR5cGU9Inhz\nOmJvb2xlYW4iIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkRhdGFT\nZXRXcml0ZXJJZCIgdHlwZT0ieHM6dW5zaWduZWRTaG9ydCIgbWluT2NjdXJzPSIwIiAvPg0KICAg\nICAgPHhzOmVsZW1lbnQgbmFtZT0iRGF0YVNldEZpZWxkQ29udGVudE1hc2siIHR5cGU9InRuczpE\nYXRhU2V0RmllbGRDb250ZW50TWFzayIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1l\nbnQgbmFtZT0iS2V5RnJhbWVDb3VudCIgdHlwZT0ieHM6dW5zaWduZWRJbnQiIG1pbk9jY3Vycz0i\nMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkRhdGFTZXROYW1lIiB0eXBlPSJ4czpzdHJp\nbmciIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBu\nYW1lPSJEYXRhU2V0V3JpdGVyUHJvcGVydGllcyIgdHlwZT0idG5zOkxpc3RPZktleVZhbHVlUGFp\nciIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5h\nbWU9IlRyYW5zcG9ydFNldHRpbmdzIiB0eXBlPSJ0bnM6RGF0YVNldFdyaXRlclRyYW5zcG9ydERh\ndGFUeXBlIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1l\nbnQgbmFtZT0iTWVzc2FnZVNldHRpbmdzIiB0eXBlPSJ0bnM6RGF0YVNldFdyaXRlck1lc3NhZ2VE\nYXRhVHlwZSIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVl\nbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJEYXRhU2V0V3Jp\ndGVyRGF0YVR5cGUiIHR5cGU9InRuczpEYXRhU2V0V3JpdGVyRGF0YVR5cGUiIC8+DQoNCiAgPHhz\nOmNvbXBsZXhUeXBlIG5hbWU9Ikxpc3RPZkRhdGFTZXRXcml0ZXJEYXRhVHlwZSI+DQogICAgPHhz\nOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRGF0YVNldFdyaXRlckRhdGFUeXBl\nIiB0eXBlPSJ0bnM6RGF0YVNldFdyaXRlckRhdGFUeXBlIiBtaW5PY2N1cnM9IjAiIG1heE9jY3Vy\ncz0idW5ib3VuZGVkIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8\nL3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJMaXN0T2ZEYXRhU2V0V3JpdGVy\nRGF0YVR5cGUiIHR5cGU9InRuczpMaXN0T2ZEYXRhU2V0V3JpdGVyRGF0YVR5cGUiIG5pbGxhYmxl\nPSJ0cnVlIj48L3hzOmVsZW1lbnQ+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IkRhdGFTZXRX\ncml0ZXJUcmFuc3BvcnREYXRhVHlwZSI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgIDwveHM6c2Vx\ndWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IkRhdGFTZXRX\ncml0ZXJUcmFuc3BvcnREYXRhVHlwZSIgdHlwZT0idG5zOkRhdGFTZXRXcml0ZXJUcmFuc3BvcnRE\nYXRhVHlwZSIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iTGlzdE9mRGF0YVNldFdyaXRl\nclRyYW5zcG9ydERhdGFUeXBlIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVu\ndCBuYW1lPSJEYXRhU2V0V3JpdGVyVHJhbnNwb3J0RGF0YVR5cGUiIHR5cGU9InRuczpEYXRhU2V0\nV3JpdGVyVHJhbnNwb3J0RGF0YVR5cGUiIG1pbk9jY3Vycz0iMCIgbWF4T2NjdXJzPSJ1bmJvdW5k\nZWQiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxl\neFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ikxpc3RPZkRhdGFTZXRXcml0ZXJUcmFuc3BvcnRE\nYXRhVHlwZSIgdHlwZT0idG5zOkxpc3RPZkRhdGFTZXRXcml0ZXJUcmFuc3BvcnREYXRhVHlwZSIg\nbmlsbGFibGU9InRydWUiPjwveHM6ZWxlbWVudD4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0i\nRGF0YVNldFdyaXRlck1lc3NhZ2VEYXRhVHlwZSI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgIDwv\neHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IkRh\ndGFTZXRXcml0ZXJNZXNzYWdlRGF0YVR5cGUiIHR5cGU9InRuczpEYXRhU2V0V3JpdGVyTWVzc2Fn\nZURhdGFUeXBlIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJMaXN0T2ZEYXRhU2V0V3Jp\ndGVyTWVzc2FnZURhdGFUeXBlIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVu\ndCBuYW1lPSJEYXRhU2V0V3JpdGVyTWVzc2FnZURhdGFUeXBlIiB0eXBlPSJ0bnM6RGF0YVNldFdy\naXRlck1lc3NhZ2VEYXRhVHlwZSIgbWluT2NjdXJzPSIwIiBtYXhPY2N1cnM9InVuYm91bmRlZCIg\nbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlw\nZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iTGlzdE9mRGF0YVNldFdyaXRlck1lc3NhZ2VEYXRhVHlw\nZSIgdHlwZT0idG5zOkxpc3RPZkRhdGFTZXRXcml0ZXJNZXNzYWdlRGF0YVR5cGUiIG5pbGxhYmxl\nPSJ0cnVlIj48L3hzOmVsZW1lbnQ+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IlB1YlN1Ykdy\nb3VwRGF0YVR5cGUiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9\nIk5hbWUiIHR5cGU9InhzOnN0cmluZyIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4N\nCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkVuYWJsZWQiIHR5cGU9InhzOmJvb2xlYW4iIG1pbk9j\nY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlNlY3VyaXR5TW9kZSIgdHlwZT0i\ndG5zOk1lc3NhZ2VTZWN1cml0eU1vZGUiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVt\nZW50IG5hbWU9IlNlY3VyaXR5R3JvdXBJZCIgdHlwZT0ieHM6c3RyaW5nIiBtaW5PY2N1cnM9IjAi\nIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iU2VjdXJpdHlLZXlT\nZXJ2aWNlcyIgdHlwZT0idG5zOkxpc3RPZkVuZHBvaW50RGVzY3JpcHRpb24iIG1pbk9jY3Vycz0i\nMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJNYXhOZXR3b3Jr\nTWVzc2FnZVNpemUiIHR5cGU9InhzOnVuc2lnbmVkSW50IiBtaW5PY2N1cnM9IjAiIC8+DQogICAg\nICA8eHM6ZWxlbWVudCBuYW1lPSJHcm91cFByb3BlcnRpZXMiIHR5cGU9InRuczpMaXN0T2ZLZXlW\nYWx1ZVBhaXIiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1\nZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iUHViU3ViR3Jv\ndXBEYXRhVHlwZSIgdHlwZT0idG5zOlB1YlN1Ykdyb3VwRGF0YVR5cGUiIC8+DQoNCiAgPHhzOmNv\nbXBsZXhUeXBlIG5hbWU9Ikxpc3RPZlB1YlN1Ykdyb3VwRGF0YVR5cGUiPg0KICAgIDx4czpzZXF1\nZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlB1YlN1Ykdyb3VwRGF0YVR5cGUiIHR5cGU9\nInRuczpQdWJTdWJHcm91cERhdGFUeXBlIiBtaW5PY2N1cnM9IjAiIG1heE9jY3Vycz0idW5ib3Vu\nZGVkIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBs\nZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJMaXN0T2ZQdWJTdWJHcm91cERhdGFUeXBlIiB0\neXBlPSJ0bnM6TGlzdE9mUHViU3ViR3JvdXBEYXRhVHlwZSIgbmlsbGFibGU9InRydWUiPjwveHM6\nZWxlbWVudD4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iV3JpdGVyR3JvdXBEYXRhVHlwZSI+\nDQogICAgPHhzOmNvbXBsZXhDb250ZW50IG1peGVkPSJmYWxzZSI+DQogICAgICA8eHM6ZXh0ZW5z\naW9uIGJhc2U9InRuczpQdWJTdWJHcm91cERhdGFUeXBlIj4NCiAgICAgICAgPHhzOnNlcXVlbmNl\nPg0KICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9IldyaXRlckdyb3VwSWQiIHR5cGU9InhzOnVu\nc2lnbmVkU2hvcnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1l\nPSJQdWJsaXNoaW5nSW50ZXJ2YWwiIHR5cGU9InhzOmRvdWJsZSIgbWluT2NjdXJzPSIwIiAvPg0K\nICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9IktlZXBBbGl2ZVRpbWUiIHR5cGU9InhzOmRvdWJs\nZSIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9IlByaW9yaXR5\nIiB0eXBlPSJ4czp1bnNpZ25lZEJ5dGUiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgICAgICA8eHM6\nZWxlbWVudCBuYW1lPSJMb2NhbGVJZHMiIHR5cGU9InVhOkxpc3RPZlN0cmluZyIgbWluT2NjdXJz\nPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJIZWFk\nZXJMYXlvdXRVcmkiIHR5cGU9InhzOnN0cmluZyIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1\nZSIgLz4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJUcmFuc3BvcnRTZXR0aW5ncyIgdHlw\nZT0idG5zOldyaXRlckdyb3VwVHJhbnNwb3J0RGF0YVR5cGUiIG1pbk9jY3Vycz0iMCIgbmlsbGFi\nbGU9InRydWUiIC8+DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTWVzc2FnZVNldHRpbmdz\nIiB0eXBlPSJ0bnM6V3JpdGVyR3JvdXBNZXNzYWdlRGF0YVR5cGUiIG1pbk9jY3Vycz0iMCIgbmls\nbGFibGU9InRydWUiIC8+DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRGF0YVNldFdyaXRl\ncnMiIHR5cGU9InRuczpMaXN0T2ZEYXRhU2V0V3JpdGVyRGF0YVR5cGUiIG1pbk9jY3Vycz0iMCIg\nbmlsbGFibGU9InRydWUiIC8+DQogICAgICAgIDwveHM6c2VxdWVuY2U+DQogICAgICA8L3hzOmV4\ndGVuc2lvbj4NCiAgICA8L3hzOmNvbXBsZXhDb250ZW50Pg0KICA8L3hzOmNvbXBsZXhUeXBlPg0K\nICA8eHM6ZWxlbWVudCBuYW1lPSJXcml0ZXJHcm91cERhdGFUeXBlIiB0eXBlPSJ0bnM6V3JpdGVy\nR3JvdXBEYXRhVHlwZSIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iTGlzdE9mV3JpdGVy\nR3JvdXBEYXRhVHlwZSI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFt\nZT0iV3JpdGVyR3JvdXBEYXRhVHlwZSIgdHlwZT0idG5zOldyaXRlckdyb3VwRGF0YVR5cGUiIG1p\nbk9jY3Vycz0iMCIgbWF4T2NjdXJzPSJ1bmJvdW5kZWQiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAg\nIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9\nIkxpc3RPZldyaXRlckdyb3VwRGF0YVR5cGUiIHR5cGU9InRuczpMaXN0T2ZXcml0ZXJHcm91cERh\ndGFUeXBlIiBuaWxsYWJsZT0idHJ1ZSI+PC94czplbGVtZW50Pg0KDQogIDx4czpjb21wbGV4VHlw\nZSBuYW1lPSJXcml0ZXJHcm91cFRyYW5zcG9ydERhdGFUeXBlIj4NCiAgICA8eHM6c2VxdWVuY2U+\nDQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQg\nbmFtZT0iV3JpdGVyR3JvdXBUcmFuc3BvcnREYXRhVHlwZSIgdHlwZT0idG5zOldyaXRlckdyb3Vw\nVHJhbnNwb3J0RGF0YVR5cGUiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9Ikxpc3RPZldy\naXRlckdyb3VwVHJhbnNwb3J0RGF0YVR5cGUiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4\nczplbGVtZW50IG5hbWU9IldyaXRlckdyb3VwVHJhbnNwb3J0RGF0YVR5cGUiIHR5cGU9InRuczpX\ncml0ZXJHcm91cFRyYW5zcG9ydERhdGFUeXBlIiBtaW5PY2N1cnM9IjAiIG1heE9jY3Vycz0idW5i\nb3VuZGVkIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNv\nbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJMaXN0T2ZXcml0ZXJHcm91cFRyYW5zcG9y\ndERhdGFUeXBlIiB0eXBlPSJ0bnM6TGlzdE9mV3JpdGVyR3JvdXBUcmFuc3BvcnREYXRhVHlwZSIg\nbmlsbGFibGU9InRydWUiPjwveHM6ZWxlbWVudD4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0i\nV3JpdGVyR3JvdXBNZXNzYWdlRGF0YVR5cGUiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICA8L3hz\nOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJXcml0\nZXJHcm91cE1lc3NhZ2VEYXRhVHlwZSIgdHlwZT0idG5zOldyaXRlckdyb3VwTWVzc2FnZURhdGFU\neXBlIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJMaXN0T2ZXcml0ZXJHcm91cE1lc3Nh\nZ2VEYXRhVHlwZSI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0i\nV3JpdGVyR3JvdXBNZXNzYWdlRGF0YVR5cGUiIHR5cGU9InRuczpXcml0ZXJHcm91cE1lc3NhZ2VE\nYXRhVHlwZSIgbWluT2NjdXJzPSIwIiBtYXhPY2N1cnM9InVuYm91bmRlZCIgbmlsbGFibGU9InRy\ndWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVs\nZW1lbnQgbmFtZT0iTGlzdE9mV3JpdGVyR3JvdXBNZXNzYWdlRGF0YVR5cGUiIHR5cGU9InRuczpM\naXN0T2ZXcml0ZXJHcm91cE1lc3NhZ2VEYXRhVHlwZSIgbmlsbGFibGU9InRydWUiPjwveHM6ZWxl\nbWVudD4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iUHViU3ViQ29ubmVjdGlvbkRhdGFUeXBl\nIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJOYW1lIiB0eXBl\nPSJ4czpzdHJpbmciIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6\nZWxlbWVudCBuYW1lPSJFbmFibGVkIiB0eXBlPSJ4czpib29sZWFuIiBtaW5PY2N1cnM9IjAiIC8+\nDQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJQdWJsaXNoZXJJZCIgdHlwZT0idWE6VmFyaWFudCIg\nbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iVHJhbnNwb3J0UHJvZmls\nZVVyaSIgdHlwZT0ieHM6c3RyaW5nIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0K\nICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQWRkcmVzcyIgdHlwZT0idG5zOk5ldHdvcmtBZGRyZXNz\nRGF0YVR5cGUiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxl\nbWVudCBuYW1lPSJDb25uZWN0aW9uUHJvcGVydGllcyIgdHlwZT0idG5zOkxpc3RPZktleVZhbHVl\nUGFpciIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50\nIG5hbWU9IlRyYW5zcG9ydFNldHRpbmdzIiB0eXBlPSJ0bnM6Q29ubmVjdGlvblRyYW5zcG9ydERh\ndGFUeXBlIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1l\nbnQgbmFtZT0iV3JpdGVyR3JvdXBzIiB0eXBlPSJ0bnM6TGlzdE9mV3JpdGVyR3JvdXBEYXRhVHlw\nZSIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5h\nbWU9IlJlYWRlckdyb3VwcyIgdHlwZT0idG5zOkxpc3RPZlJlYWRlckdyb3VwRGF0YVR5cGUiIG1p\nbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94\nczpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iUHViU3ViQ29ubmVjdGlvbkRhdGFU\neXBlIiB0eXBlPSJ0bnM6UHViU3ViQ29ubmVjdGlvbkRhdGFUeXBlIiAvPg0KDQogIDx4czpjb21w\nbGV4VHlwZSBuYW1lPSJMaXN0T2ZQdWJTdWJDb25uZWN0aW9uRGF0YVR5cGUiPg0KICAgIDx4czpz\nZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlB1YlN1YkNvbm5lY3Rpb25EYXRhVHlw\nZSIgdHlwZT0idG5zOlB1YlN1YkNvbm5lY3Rpb25EYXRhVHlwZSIgbWluT2NjdXJzPSIwIiBtYXhP\nY2N1cnM9InVuYm91bmRlZCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4N\nCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iTGlzdE9mUHViU3ViQ29u\nbmVjdGlvbkRhdGFUeXBlIiB0eXBlPSJ0bnM6TGlzdE9mUHViU3ViQ29ubmVjdGlvbkRhdGFUeXBl\nIiBuaWxsYWJsZT0idHJ1ZSI+PC94czplbGVtZW50Pg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1l\nPSJDb25uZWN0aW9uVHJhbnNwb3J0RGF0YVR5cGUiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICA8\nL3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJD\nb25uZWN0aW9uVHJhbnNwb3J0RGF0YVR5cGUiIHR5cGU9InRuczpDb25uZWN0aW9uVHJhbnNwb3J0\nRGF0YVR5cGUiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9Ikxpc3RPZkNvbm5lY3Rpb25U\ncmFuc3BvcnREYXRhVHlwZSI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQg\nbmFtZT0iQ29ubmVjdGlvblRyYW5zcG9ydERhdGFUeXBlIiB0eXBlPSJ0bnM6Q29ubmVjdGlvblRy\nYW5zcG9ydERhdGFUeXBlIiBtaW5PY2N1cnM9IjAiIG1heE9jY3Vycz0idW5ib3VuZGVkIiBuaWxs\nYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0K\nICA8eHM6ZWxlbWVudCBuYW1lPSJMaXN0T2ZDb25uZWN0aW9uVHJhbnNwb3J0RGF0YVR5cGUiIHR5\ncGU9InRuczpMaXN0T2ZDb25uZWN0aW9uVHJhbnNwb3J0RGF0YVR5cGUiIG5pbGxhYmxlPSJ0cnVl\nIj48L3hzOmVsZW1lbnQ+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9Ik5ldHdvcmtBZGRyZXNz\nRGF0YVR5cGUiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9Ik5l\ndHdvcmtJbnRlcmZhY2UiIHR5cGU9InhzOnN0cmluZyIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0i\ndHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6\nZWxlbWVudCBuYW1lPSJOZXR3b3JrQWRkcmVzc0RhdGFUeXBlIiB0eXBlPSJ0bnM6TmV0d29ya0Fk\nZHJlc3NEYXRhVHlwZSIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iTGlzdE9mTmV0d29y\na0FkZHJlc3NEYXRhVHlwZSI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQg\nbmFtZT0iTmV0d29ya0FkZHJlc3NEYXRhVHlwZSIgdHlwZT0idG5zOk5ldHdvcmtBZGRyZXNzRGF0\nYVR5cGUiIG1pbk9jY3Vycz0iMCIgbWF4T2NjdXJzPSJ1bmJvdW5kZWQiIG5pbGxhYmxlPSJ0cnVl\nIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVt\nZW50IG5hbWU9Ikxpc3RPZk5ldHdvcmtBZGRyZXNzRGF0YVR5cGUiIHR5cGU9InRuczpMaXN0T2ZO\nZXR3b3JrQWRkcmVzc0RhdGFUeXBlIiBuaWxsYWJsZT0idHJ1ZSI+PC94czplbGVtZW50Pg0KDQog\nIDx4czpjb21wbGV4VHlwZSBuYW1lPSJOZXR3b3JrQWRkcmVzc1VybERhdGFUeXBlIj4NCiAgICA8\neHM6Y29tcGxleENvbnRlbnQgbWl4ZWQ9ImZhbHNlIj4NCiAgICAgIDx4czpleHRlbnNpb24gYmFz\nZT0idG5zOk5ldHdvcmtBZGRyZXNzRGF0YVR5cGUiPg0KICAgICAgICA8eHM6c2VxdWVuY2U+DQog\nICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iVXJsIiB0eXBlPSJ4czpzdHJpbmciIG1pbk9jY3Vy\ncz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICAgIDwveHM6c2VxdWVuY2U+DQogICAgICA8\nL3hzOmV4dGVuc2lvbj4NCiAgICA8L3hzOmNvbXBsZXhDb250ZW50Pg0KICA8L3hzOmNvbXBsZXhU\neXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJOZXR3b3JrQWRkcmVzc1VybERhdGFUeXBlIiB0eXBl\nPSJ0bnM6TmV0d29ya0FkZHJlc3NVcmxEYXRhVHlwZSIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUg\nbmFtZT0iTGlzdE9mTmV0d29ya0FkZHJlc3NVcmxEYXRhVHlwZSI+DQogICAgPHhzOnNlcXVlbmNl\nPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTmV0d29ya0FkZHJlc3NVcmxEYXRhVHlwZSIgdHlw\nZT0idG5zOk5ldHdvcmtBZGRyZXNzVXJsRGF0YVR5cGUiIG1pbk9jY3Vycz0iMCIgbWF4T2NjdXJz\nPSJ1bmJvdW5kZWQiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwv\neHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ikxpc3RPZk5ldHdvcmtBZGRyZXNz\nVXJsRGF0YVR5cGUiIHR5cGU9InRuczpMaXN0T2ZOZXR3b3JrQWRkcmVzc1VybERhdGFUeXBlIiBu\naWxsYWJsZT0idHJ1ZSI+PC94czplbGVtZW50Pg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJS\nZWFkZXJHcm91cERhdGFUeXBlIj4NCiAgICA8eHM6Y29tcGxleENvbnRlbnQgbWl4ZWQ9ImZhbHNl\nIj4NCiAgICAgIDx4czpleHRlbnNpb24gYmFzZT0idG5zOlB1YlN1Ykdyb3VwRGF0YVR5cGUiPg0K\nICAgICAgICA8eHM6c2VxdWVuY2U+DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iVHJhbnNw\nb3J0U2V0dGluZ3MiIHR5cGU9InRuczpSZWFkZXJHcm91cFRyYW5zcG9ydERhdGFUeXBlIiBtaW5P\nY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9\nIk1lc3NhZ2VTZXR0aW5ncyIgdHlwZT0idG5zOlJlYWRlckdyb3VwTWVzc2FnZURhdGFUeXBlIiBt\naW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgICAgIDx4czplbGVtZW50IG5h\nbWU9IkRhdGFTZXRSZWFkZXJzIiB0eXBlPSJ0bnM6TGlzdE9mRGF0YVNldFJlYWRlckRhdGFUeXBl\nIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgICA8L3hzOnNlcXVlbmNl\nPg0KICAgICAgPC94czpleHRlbnNpb24+DQogICAgPC94czpjb21wbGV4Q29udGVudD4NCiAgPC94\nczpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iUmVhZGVyR3JvdXBEYXRhVHlwZSIg\ndHlwZT0idG5zOlJlYWRlckdyb3VwRGF0YVR5cGUiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5h\nbWU9Ikxpc3RPZlJlYWRlckdyb3VwRGF0YVR5cGUiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAg\nIDx4czplbGVtZW50IG5hbWU9IlJlYWRlckdyb3VwRGF0YVR5cGUiIHR5cGU9InRuczpSZWFkZXJH\ncm91cERhdGFUeXBlIiBtaW5PY2N1cnM9IjAiIG1heE9jY3Vycz0idW5ib3VuZGVkIiBuaWxsYWJs\nZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8\neHM6ZWxlbWVudCBuYW1lPSJMaXN0T2ZSZWFkZXJHcm91cERhdGFUeXBlIiB0eXBlPSJ0bnM6TGlz\ndE9mUmVhZGVyR3JvdXBEYXRhVHlwZSIgbmlsbGFibGU9InRydWUiPjwveHM6ZWxlbWVudD4NCg0K\nICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iUmVhZGVyR3JvdXBUcmFuc3BvcnREYXRhVHlwZSI+DQog\nICAgPHhzOnNlcXVlbmNlPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+\nDQogIDx4czplbGVtZW50IG5hbWU9IlJlYWRlckdyb3VwVHJhbnNwb3J0RGF0YVR5cGUiIHR5cGU9\nInRuczpSZWFkZXJHcm91cFRyYW5zcG9ydERhdGFUeXBlIiAvPg0KDQogIDx4czpjb21wbGV4VHlw\nZSBuYW1lPSJMaXN0T2ZSZWFkZXJHcm91cFRyYW5zcG9ydERhdGFUeXBlIj4NCiAgICA8eHM6c2Vx\ndWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZWFkZXJHcm91cFRyYW5zcG9ydERhdGFU\neXBlIiB0eXBlPSJ0bnM6UmVhZGVyR3JvdXBUcmFuc3BvcnREYXRhVHlwZSIgbWluT2NjdXJzPSIw\nIiBtYXhPY2N1cnM9InVuYm91bmRlZCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1\nZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iTGlzdE9mUmVh\nZGVyR3JvdXBUcmFuc3BvcnREYXRhVHlwZSIgdHlwZT0idG5zOkxpc3RPZlJlYWRlckdyb3VwVHJh\nbnNwb3J0RGF0YVR5cGUiIG5pbGxhYmxlPSJ0cnVlIj48L3hzOmVsZW1lbnQ+DQoNCiAgPHhzOmNv\nbXBsZXhUeXBlIG5hbWU9IlJlYWRlckdyb3VwTWVzc2FnZURhdGFUeXBlIj4NCiAgICA8eHM6c2Vx\ndWVuY2U+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVs\nZW1lbnQgbmFtZT0iUmVhZGVyR3JvdXBNZXNzYWdlRGF0YVR5cGUiIHR5cGU9InRuczpSZWFkZXJH\ncm91cE1lc3NhZ2VEYXRhVHlwZSIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iTGlzdE9m\nUmVhZGVyR3JvdXBNZXNzYWdlRGF0YVR5cGUiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4\nczplbGVtZW50IG5hbWU9IlJlYWRlckdyb3VwTWVzc2FnZURhdGFUeXBlIiB0eXBlPSJ0bnM6UmVh\nZGVyR3JvdXBNZXNzYWdlRGF0YVR5cGUiIG1pbk9jY3Vycz0iMCIgbWF4T2NjdXJzPSJ1bmJvdW5k\nZWQiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxl\neFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ikxpc3RPZlJlYWRlckdyb3VwTWVzc2FnZURhdGFU\neXBlIiB0eXBlPSJ0bnM6TGlzdE9mUmVhZGVyR3JvdXBNZXNzYWdlRGF0YVR5cGUiIG5pbGxhYmxl\nPSJ0cnVlIj48L3hzOmVsZW1lbnQ+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IkRhdGFTZXRS\nZWFkZXJEYXRhVHlwZSI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFt\nZT0iTmFtZSIgdHlwZT0ieHM6c3RyaW5nIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAv\nPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRW5hYmxlZCIgdHlwZT0ieHM6Ym9vbGVhbiIgbWlu\nT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUHVibGlzaGVySWQiIHR5cGU9\nInVhOlZhcmlhbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9Ildy\naXRlckdyb3VwSWQiIHR5cGU9InhzOnVuc2lnbmVkU2hvcnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAg\nICAgIDx4czplbGVtZW50IG5hbWU9IkRhdGFTZXRXcml0ZXJJZCIgdHlwZT0ieHM6dW5zaWduZWRT\naG9ydCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRGF0YVNldE1l\ndGFEYXRhIiB0eXBlPSJ0bnM6RGF0YVNldE1ldGFEYXRhVHlwZSIgbWluT2NjdXJzPSIwIiBuaWxs\nYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkRhdGFTZXRGaWVsZENvbnRl\nbnRNYXNrIiB0eXBlPSJ0bnM6RGF0YVNldEZpZWxkQ29udGVudE1hc2siIG1pbk9jY3Vycz0iMCIg\nLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9Ik1lc3NhZ2VSZWNlaXZlVGltZW91dCIgdHlwZT0i\neHM6ZG91YmxlIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJLZXlG\ncmFtZUNvdW50IiB0eXBlPSJ4czp1bnNpZ25lZEludCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAg\nPHhzOmVsZW1lbnQgbmFtZT0iSGVhZGVyTGF5b3V0VXJpIiB0eXBlPSJ4czpzdHJpbmciIG1pbk9j\nY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTZWN1\ncml0eU1vZGUiIHR5cGU9InRuczpNZXNzYWdlU2VjdXJpdHlNb2RlIiBtaW5PY2N1cnM9IjAiIC8+\nDQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTZWN1cml0eUdyb3VwSWQiIHR5cGU9InhzOnN0cmlu\nZyIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5h\nbWU9IlNlY3VyaXR5S2V5U2VydmljZXMiIHR5cGU9InRuczpMaXN0T2ZFbmRwb2ludERlc2NyaXB0\naW9uIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQg\nbmFtZT0iRGF0YVNldFJlYWRlclByb3BlcnRpZXMiIHR5cGU9InRuczpMaXN0T2ZLZXlWYWx1ZVBh\naXIiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBu\nYW1lPSJUcmFuc3BvcnRTZXR0aW5ncyIgdHlwZT0idG5zOkRhdGFTZXRSZWFkZXJUcmFuc3BvcnRE\nYXRhVHlwZSIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVt\nZW50IG5hbWU9Ik1lc3NhZ2VTZXR0aW5ncyIgdHlwZT0idG5zOkRhdGFTZXRSZWFkZXJNZXNzYWdl\nRGF0YVR5cGUiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxl\nbWVudCBuYW1lPSJTdWJzY3JpYmVkRGF0YVNldCIgdHlwZT0idG5zOlN1YnNjcmliZWREYXRhU2V0\nRGF0YVR5cGUiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1\nZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iRGF0YVNldFJl\nYWRlckRhdGFUeXBlIiB0eXBlPSJ0bnM6RGF0YVNldFJlYWRlckRhdGFUeXBlIiAvPg0KDQogIDx4\nczpjb21wbGV4VHlwZSBuYW1lPSJMaXN0T2ZEYXRhU2V0UmVhZGVyRGF0YVR5cGUiPg0KICAgIDx4\nczpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkRhdGFTZXRSZWFkZXJEYXRhVHlw\nZSIgdHlwZT0idG5zOkRhdGFTZXRSZWFkZXJEYXRhVHlwZSIgbWluT2NjdXJzPSIwIiBtYXhPY2N1\ncnM9InVuYm91bmRlZCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAg\nPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iTGlzdE9mRGF0YVNldFJlYWRl\nckRhdGFUeXBlIiB0eXBlPSJ0bnM6TGlzdE9mRGF0YVNldFJlYWRlckRhdGFUeXBlIiBuaWxsYWJs\nZT0idHJ1ZSI+PC94czplbGVtZW50Pg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJEYXRhU2V0\nUmVhZGVyVHJhbnNwb3J0RGF0YVR5cGUiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICA8L3hzOnNl\ncXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJEYXRhU2V0\nUmVhZGVyVHJhbnNwb3J0RGF0YVR5cGUiIHR5cGU9InRuczpEYXRhU2V0UmVhZGVyVHJhbnNwb3J0\nRGF0YVR5cGUiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9Ikxpc3RPZkRhdGFTZXRSZWFk\nZXJUcmFuc3BvcnREYXRhVHlwZSI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1l\nbnQgbmFtZT0iRGF0YVNldFJlYWRlclRyYW5zcG9ydERhdGFUeXBlIiB0eXBlPSJ0bnM6RGF0YVNl\ndFJlYWRlclRyYW5zcG9ydERhdGFUeXBlIiBtaW5PY2N1cnM9IjAiIG1heE9jY3Vycz0idW5ib3Vu\nZGVkIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBs\nZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJMaXN0T2ZEYXRhU2V0UmVhZGVyVHJhbnNwb3J0\nRGF0YVR5cGUiIHR5cGU9InRuczpMaXN0T2ZEYXRhU2V0UmVhZGVyVHJhbnNwb3J0RGF0YVR5cGUi\nIG5pbGxhYmxlPSJ0cnVlIj48L3hzOmVsZW1lbnQ+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9\nIkRhdGFTZXRSZWFkZXJNZXNzYWdlRGF0YVR5cGUiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICA8\nL3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJE\nYXRhU2V0UmVhZGVyTWVzc2FnZURhdGFUeXBlIiB0eXBlPSJ0bnM6RGF0YVNldFJlYWRlck1lc3Nh\nZ2VEYXRhVHlwZSIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iTGlzdE9mRGF0YVNldFJl\nYWRlck1lc3NhZ2VEYXRhVHlwZSI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1l\nbnQgbmFtZT0iRGF0YVNldFJlYWRlck1lc3NhZ2VEYXRhVHlwZSIgdHlwZT0idG5zOkRhdGFTZXRS\nZWFkZXJNZXNzYWdlRGF0YVR5cGUiIG1pbk9jY3Vycz0iMCIgbWF4T2NjdXJzPSJ1bmJvdW5kZWQi\nIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5\ncGU+DQogIDx4czplbGVtZW50IG5hbWU9Ikxpc3RPZkRhdGFTZXRSZWFkZXJNZXNzYWdlRGF0YVR5\ncGUiIHR5cGU9InRuczpMaXN0T2ZEYXRhU2V0UmVhZGVyTWVzc2FnZURhdGFUeXBlIiBuaWxsYWJs\nZT0idHJ1ZSI+PC94czplbGVtZW50Pg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJTdWJzY3Jp\nYmVkRGF0YVNldERhdGFUeXBlIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgPC94czpzZXF1ZW5j\nZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iU3Vic2NyaWJlZERh\ndGFTZXREYXRhVHlwZSIgdHlwZT0idG5zOlN1YnNjcmliZWREYXRhU2V0RGF0YVR5cGUiIC8+DQoN\nCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9Ikxpc3RPZlN1YnNjcmliZWREYXRhU2V0RGF0YVR5cGUi\nPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlN1YnNjcmliZWRE\nYXRhU2V0RGF0YVR5cGUiIHR5cGU9InRuczpTdWJzY3JpYmVkRGF0YVNldERhdGFUeXBlIiBtaW5P\nY2N1cnM9IjAiIG1heE9jY3Vycz0idW5ib3VuZGVkIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8\nL3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJM\naXN0T2ZTdWJzY3JpYmVkRGF0YVNldERhdGFUeXBlIiB0eXBlPSJ0bnM6TGlzdE9mU3Vic2NyaWJl\nZERhdGFTZXREYXRhVHlwZSIgbmlsbGFibGU9InRydWUiPjwveHM6ZWxlbWVudD4NCg0KICA8eHM6\nY29tcGxleFR5cGUgbmFtZT0iVGFyZ2V0VmFyaWFibGVzRGF0YVR5cGUiPg0KICAgIDx4czpjb21w\nbGV4Q29udGVudCBtaXhlZD0iZmFsc2UiPg0KICAgICAgPHhzOmV4dGVuc2lvbiBiYXNlPSJ0bnM6\nU3Vic2NyaWJlZERhdGFTZXREYXRhVHlwZSI+DQogICAgICAgIDx4czpzZXF1ZW5jZT4NCiAgICAg\nICAgICA8eHM6ZWxlbWVudCBuYW1lPSJUYXJnZXRWYXJpYWJsZXMiIHR5cGU9InRuczpMaXN0T2ZG\naWVsZFRhcmdldERhdGFUeXBlIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAg\nICAgICA8L3hzOnNlcXVlbmNlPg0KICAgICAgPC94czpleHRlbnNpb24+DQogICAgPC94czpjb21w\nbGV4Q29udGVudD4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iVGFy\nZ2V0VmFyaWFibGVzRGF0YVR5cGUiIHR5cGU9InRuczpUYXJnZXRWYXJpYWJsZXNEYXRhVHlwZSIg\nLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iTGlzdE9mVGFyZ2V0VmFyaWFibGVzRGF0YVR5\ncGUiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlRhcmdldFZh\ncmlhYmxlc0RhdGFUeXBlIiB0eXBlPSJ0bnM6VGFyZ2V0VmFyaWFibGVzRGF0YVR5cGUiIG1pbk9j\nY3Vycz0iMCIgbWF4T2NjdXJzPSJ1bmJvdW5kZWQiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwv\neHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ikxp\nc3RPZlRhcmdldFZhcmlhYmxlc0RhdGFUeXBlIiB0eXBlPSJ0bnM6TGlzdE9mVGFyZ2V0VmFyaWFi\nbGVzRGF0YVR5cGUiIG5pbGxhYmxlPSJ0cnVlIj48L3hzOmVsZW1lbnQ+DQoNCiAgPHhzOmNvbXBs\nZXhUeXBlIG5hbWU9IkZpZWxkVGFyZ2V0RGF0YVR5cGUiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAg\nICAgIDx4czplbGVtZW50IG5hbWU9IkRhdGFTZXRGaWVsZElkIiB0eXBlPSJ1YTpHdWlkIiBtaW5P\nY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZWNlaXZlckluZGV4UmFuZ2Ui\nIHR5cGU9InhzOnN0cmluZyIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAg\nIDx4czplbGVtZW50IG5hbWU9IlRhcmdldE5vZGVJZCIgdHlwZT0idWE6Tm9kZUlkIiBtaW5PY2N1\ncnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQXR0cmli\ndXRlSWQiIHR5cGU9InhzOnVuc2lnbmVkSW50IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6\nZWxlbWVudCBuYW1lPSJXcml0ZUluZGV4UmFuZ2UiIHR5cGU9InhzOnN0cmluZyIgbWluT2NjdXJz\nPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9Ik92ZXJyaWRl\nVmFsdWVIYW5kbGluZyIgdHlwZT0idG5zOk92ZXJyaWRlVmFsdWVIYW5kbGluZyIgbWluT2NjdXJz\nPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iT3ZlcnJpZGVWYWx1ZSIgdHlwZT0idWE6\nVmFyaWFudCIgbWluT2NjdXJzPSIwIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29t\ncGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IkZpZWxkVGFyZ2V0RGF0YVR5cGUiIHR5cGU9\nInRuczpGaWVsZFRhcmdldERhdGFUeXBlIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJM\naXN0T2ZGaWVsZFRhcmdldERhdGFUeXBlIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6\nZWxlbWVudCBuYW1lPSJGaWVsZFRhcmdldERhdGFUeXBlIiB0eXBlPSJ0bnM6RmllbGRUYXJnZXRE\nYXRhVHlwZSIgbWluT2NjdXJzPSIwIiBtYXhPY2N1cnM9InVuYm91bmRlZCIgbmlsbGFibGU9InRy\ndWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVs\nZW1lbnQgbmFtZT0iTGlzdE9mRmllbGRUYXJnZXREYXRhVHlwZSIgdHlwZT0idG5zOkxpc3RPZkZp\nZWxkVGFyZ2V0RGF0YVR5cGUiIG5pbGxhYmxlPSJ0cnVlIj48L3hzOmVsZW1lbnQ+DQoNCiAgPHhz\nOnNpbXBsZVR5cGUgIG5hbWU9Ik92ZXJyaWRlVmFsdWVIYW5kbGluZyI+DQogICAgPHhzOnJlc3Ry\naWN0aW9uIGJhc2U9InhzOnN0cmluZyI+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IkRp\nc2FibGVkXzAiIC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9Ikxhc3RVc2FibGVWYWx1\nZV8xIiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJPdmVycmlkZVZhbHVlXzIiIC8+\nDQogICAgPC94czpyZXN0cmljdGlvbj4NCiAgPC94czpzaW1wbGVUeXBlPg0KICA8eHM6ZWxlbWVu\ndCBuYW1lPSJPdmVycmlkZVZhbHVlSGFuZGxpbmciIHR5cGU9InRuczpPdmVycmlkZVZhbHVlSGFu\nZGxpbmciIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9Ikxpc3RPZk92ZXJyaWRlVmFsdWVI\nYW5kbGluZyI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iT3Zl\ncnJpZGVWYWx1ZUhhbmRsaW5nIiB0eXBlPSJ0bnM6T3ZlcnJpZGVWYWx1ZUhhbmRsaW5nIiBtaW5P\nY2N1cnM9IjAiIG1heE9jY3Vycz0idW5ib3VuZGVkIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQog\nIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ikxpc3RPZk92ZXJyaWRlVmFs\ndWVIYW5kbGluZyIgdHlwZT0idG5zOkxpc3RPZk92ZXJyaWRlVmFsdWVIYW5kbGluZyIgbmlsbGFi\nbGU9InRydWUiPjwveHM6ZWxlbWVudD4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iU3Vic2Ny\naWJlZERhdGFTZXRNaXJyb3JEYXRhVHlwZSI+DQogICAgPHhzOmNvbXBsZXhDb250ZW50IG1peGVk\nPSJmYWxzZSI+DQogICAgICA8eHM6ZXh0ZW5zaW9uIGJhc2U9InRuczpTdWJzY3JpYmVkRGF0YVNl\ndERhdGFUeXBlIj4NCiAgICAgICAgPHhzOnNlcXVlbmNlPg0KICAgICAgICAgIDx4czplbGVtZW50\nIG5hbWU9IlBhcmVudE5vZGVOYW1lIiB0eXBlPSJ4czpzdHJpbmciIG1pbk9jY3Vycz0iMCIgbmls\nbGFibGU9InRydWUiIC8+DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUm9sZVBlcm1pc3Np\nb25zIiB0eXBlPSJ0bnM6TGlzdE9mUm9sZVBlcm1pc3Npb25UeXBlIiBtaW5PY2N1cnM9IjAiIG5p\nbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgICA8L3hzOnNlcXVlbmNlPg0KICAgICAgPC94czpleHRl\nbnNpb24+DQogICAgPC94czpjb21wbGV4Q29udGVudD4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAg\nPHhzOmVsZW1lbnQgbmFtZT0iU3Vic2NyaWJlZERhdGFTZXRNaXJyb3JEYXRhVHlwZSIgdHlwZT0i\ndG5zOlN1YnNjcmliZWREYXRhU2V0TWlycm9yRGF0YVR5cGUiIC8+DQoNCiAgPHhzOmNvbXBsZXhU\neXBlIG5hbWU9Ikxpc3RPZlN1YnNjcmliZWREYXRhU2V0TWlycm9yRGF0YVR5cGUiPg0KICAgIDx4\nczpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlN1YnNjcmliZWREYXRhU2V0TWly\ncm9yRGF0YVR5cGUiIHR5cGU9InRuczpTdWJzY3JpYmVkRGF0YVNldE1pcnJvckRhdGFUeXBlIiBt\naW5PY2N1cnM9IjAiIG1heE9jY3Vycz0idW5ib3VuZGVkIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAg\nICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1l\nPSJMaXN0T2ZTdWJzY3JpYmVkRGF0YVNldE1pcnJvckRhdGFUeXBlIiB0eXBlPSJ0bnM6TGlzdE9m\nU3Vic2NyaWJlZERhdGFTZXRNaXJyb3JEYXRhVHlwZSIgbmlsbGFibGU9InRydWUiPjwveHM6ZWxl\nbWVudD4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iUHViU3ViQ29uZmlndXJhdGlvbkRhdGFU\neXBlIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJQdWJsaXNo\nZWREYXRhU2V0cyIgdHlwZT0idG5zOkxpc3RPZlB1Ymxpc2hlZERhdGFTZXREYXRhVHlwZSIgbWlu\nT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkNv\nbm5lY3Rpb25zIiB0eXBlPSJ0bnM6TGlzdE9mUHViU3ViQ29ubmVjdGlvbkRhdGFUeXBlIiBtaW5P\nY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRW5h\nYmxlZCIgdHlwZT0ieHM6Ym9vbGVhbiIgbWluT2NjdXJzPSIwIiAvPg0KICAgIDwveHM6c2VxdWVu\nY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IlB1YlN1YkNvbmZp\nZ3VyYXRpb25EYXRhVHlwZSIgdHlwZT0idG5zOlB1YlN1YkNvbmZpZ3VyYXRpb25EYXRhVHlwZSIg\nLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iTGlzdE9mUHViU3ViQ29uZmlndXJhdGlvbkRh\ndGFUeXBlIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJQdWJT\ndWJDb25maWd1cmF0aW9uRGF0YVR5cGUiIHR5cGU9InRuczpQdWJTdWJDb25maWd1cmF0aW9uRGF0\nYVR5cGUiIG1pbk9jY3Vycz0iMCIgbWF4T2NjdXJzPSJ1bmJvdW5kZWQiIG5pbGxhYmxlPSJ0cnVl\nIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVt\nZW50IG5hbWU9Ikxpc3RPZlB1YlN1YkNvbmZpZ3VyYXRpb25EYXRhVHlwZSIgdHlwZT0idG5zOkxp\nc3RPZlB1YlN1YkNvbmZpZ3VyYXRpb25EYXRhVHlwZSIgbmlsbGFibGU9InRydWUiPjwveHM6ZWxl\nbWVudD4NCg0KICA8eHM6c2ltcGxlVHlwZSAgbmFtZT0iRGF0YVNldE9yZGVyaW5nVHlwZSI+DQog\nICAgPHhzOnJlc3RyaWN0aW9uIGJhc2U9InhzOnN0cmluZyI+DQogICAgICA8eHM6ZW51bWVyYXRp\nb24gdmFsdWU9IlVuZGVmaW5lZF8wIiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJB\nc2NlbmRpbmdXcml0ZXJJZF8xIiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJBc2Nl\nbmRpbmdXcml0ZXJJZFNpbmdsZV8yIiAvPg0KICAgIDwveHM6cmVzdHJpY3Rpb24+DQogIDwveHM6\nc2ltcGxlVHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iRGF0YVNldE9yZGVyaW5nVHlwZSIgdHlw\nZT0idG5zOkRhdGFTZXRPcmRlcmluZ1R5cGUiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9\nIkxpc3RPZkRhdGFTZXRPcmRlcmluZ1R5cGUiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4\nczplbGVtZW50IG5hbWU9IkRhdGFTZXRPcmRlcmluZ1R5cGUiIHR5cGU9InRuczpEYXRhU2V0T3Jk\nZXJpbmdUeXBlIiBtaW5PY2N1cnM9IjAiIG1heE9jY3Vycz0idW5ib3VuZGVkIiAvPg0KICAgIDwv\neHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ikxp\nc3RPZkRhdGFTZXRPcmRlcmluZ1R5cGUiIHR5cGU9InRuczpMaXN0T2ZEYXRhU2V0T3JkZXJpbmdU\neXBlIiBuaWxsYWJsZT0idHJ1ZSI+PC94czplbGVtZW50Pg0KDQogIDx4czpzaW1wbGVUeXBlICBu\nYW1lPSJVYWRwTmV0d29ya01lc3NhZ2VDb250ZW50TWFzayI+DQogICAgPHhzOnJlc3RyaWN0aW9u\nIGJhc2U9InhzOnVuc2lnbmVkSW50Ij4NCiAgICA8L3hzOnJlc3RyaWN0aW9uPg0KICA8L3hzOnNp\nbXBsZVR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IlVhZHBOZXR3b3JrTWVzc2FnZUNvbnRlbnRN\nYXNrIiB0eXBlPSJ0bnM6VWFkcE5ldHdvcmtNZXNzYWdlQ29udGVudE1hc2siIC8+DQoNCiAgPHhz\nOmNvbXBsZXhUeXBlIG5hbWU9Ikxpc3RPZlVhZHBOZXR3b3JrTWVzc2FnZUNvbnRlbnRNYXNrIj4N\nCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJVYWRwTmV0d29ya01l\nc3NhZ2VDb250ZW50TWFzayIgdHlwZT0idG5zOlVhZHBOZXR3b3JrTWVzc2FnZUNvbnRlbnRNYXNr\nIiBtaW5PY2N1cnM9IjAiIG1heE9jY3Vycz0idW5ib3VuZGVkIiAvPg0KICAgIDwveHM6c2VxdWVu\nY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ikxpc3RPZlVhZHBO\nZXR3b3JrTWVzc2FnZUNvbnRlbnRNYXNrIiB0eXBlPSJ0bnM6TGlzdE9mVWFkcE5ldHdvcmtNZXNz\nYWdlQ29udGVudE1hc2siIG5pbGxhYmxlPSJ0cnVlIj48L3hzOmVsZW1lbnQ+DQoNCiAgPHhzOmNv\nbXBsZXhUeXBlIG5hbWU9IlVhZHBXcml0ZXJHcm91cE1lc3NhZ2VEYXRhVHlwZSI+DQogICAgPHhz\nOmNvbXBsZXhDb250ZW50IG1peGVkPSJmYWxzZSI+DQogICAgICA8eHM6ZXh0ZW5zaW9uIGJhc2U9\nInRuczpXcml0ZXJHcm91cE1lc3NhZ2VEYXRhVHlwZSI+DQogICAgICAgIDx4czpzZXF1ZW5jZT4N\nCiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJHcm91cFZlcnNpb24iIHR5cGU9InhzOnVuc2ln\nbmVkSW50IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRGF0\nYVNldE9yZGVyaW5nIiB0eXBlPSJ0bnM6RGF0YVNldE9yZGVyaW5nVHlwZSIgbWluT2NjdXJzPSIw\nIiAvPg0KICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9Ik5ldHdvcmtNZXNzYWdlQ29udGVudE1h\nc2siIHR5cGU9InRuczpVYWRwTmV0d29ya01lc3NhZ2VDb250ZW50TWFzayIgbWluT2NjdXJzPSIw\nIiAvPg0KICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9IlNhbXBsaW5nT2Zmc2V0IiB0eXBlPSJ4\nczpkb3VibGUiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJQ\ndWJsaXNoaW5nT2Zmc2V0IiB0eXBlPSJ1YTpMaXN0T2ZEb3VibGUiIG1pbk9jY3Vycz0iMCIgbmls\nbGFibGU9InRydWUiIC8+DQogICAgICAgIDwveHM6c2VxdWVuY2U+DQogICAgICA8L3hzOmV4dGVu\nc2lvbj4NCiAgICA8L3hzOmNvbXBsZXhDb250ZW50Pg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8\neHM6ZWxlbWVudCBuYW1lPSJVYWRwV3JpdGVyR3JvdXBNZXNzYWdlRGF0YVR5cGUiIHR5cGU9InRu\nczpVYWRwV3JpdGVyR3JvdXBNZXNzYWdlRGF0YVR5cGUiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBl\nIG5hbWU9Ikxpc3RPZlVhZHBXcml0ZXJHcm91cE1lc3NhZ2VEYXRhVHlwZSI+DQogICAgPHhzOnNl\ncXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iVWFkcFdyaXRlckdyb3VwTWVzc2FnZURh\ndGFUeXBlIiB0eXBlPSJ0bnM6VWFkcFdyaXRlckdyb3VwTWVzc2FnZURhdGFUeXBlIiBtaW5PY2N1\ncnM9IjAiIG1heE9jY3Vycz0idW5ib3VuZGVkIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hz\nOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJMaXN0\nT2ZVYWRwV3JpdGVyR3JvdXBNZXNzYWdlRGF0YVR5cGUiIHR5cGU9InRuczpMaXN0T2ZVYWRwV3Jp\ndGVyR3JvdXBNZXNzYWdlRGF0YVR5cGUiIG5pbGxhYmxlPSJ0cnVlIj48L3hzOmVsZW1lbnQ+DQoN\nCiAgPHhzOnNpbXBsZVR5cGUgIG5hbWU9IlVhZHBEYXRhU2V0TWVzc2FnZUNvbnRlbnRNYXNrIj4N\nCiAgICA8eHM6cmVzdHJpY3Rpb24gYmFzZT0ieHM6dW5zaWduZWRJbnQiPg0KICAgIDwveHM6cmVz\ndHJpY3Rpb24+DQogIDwveHM6c2ltcGxlVHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iVWFkcERh\ndGFTZXRNZXNzYWdlQ29udGVudE1hc2siIHR5cGU9InRuczpVYWRwRGF0YVNldE1lc3NhZ2VDb250\nZW50TWFzayIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iTGlzdE9mVWFkcERhdGFTZXRN\nZXNzYWdlQ29udGVudE1hc2siPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50\nIG5hbWU9IlVhZHBEYXRhU2V0TWVzc2FnZUNvbnRlbnRNYXNrIiB0eXBlPSJ0bnM6VWFkcERhdGFT\nZXRNZXNzYWdlQ29udGVudE1hc2siIG1pbk9jY3Vycz0iMCIgbWF4T2NjdXJzPSJ1bmJvdW5kZWQi\nIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1l\nbnQgbmFtZT0iTGlzdE9mVWFkcERhdGFTZXRNZXNzYWdlQ29udGVudE1hc2siIHR5cGU9InRuczpM\naXN0T2ZVYWRwRGF0YVNldE1lc3NhZ2VDb250ZW50TWFzayIgbmlsbGFibGU9InRydWUiPjwveHM6\nZWxlbWVudD4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iVWFkcERhdGFTZXRXcml0ZXJNZXNz\nYWdlRGF0YVR5cGUiPg0KICAgIDx4czpjb21wbGV4Q29udGVudCBtaXhlZD0iZmFsc2UiPg0KICAg\nICAgPHhzOmV4dGVuc2lvbiBiYXNlPSJ0bnM6RGF0YVNldFdyaXRlck1lc3NhZ2VEYXRhVHlwZSI+\nDQogICAgICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJEYXRh\nU2V0TWVzc2FnZUNvbnRlbnRNYXNrIiB0eXBlPSJ0bnM6VWFkcERhdGFTZXRNZXNzYWdlQ29udGVu\ndE1hc2siIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJDb25m\naWd1cmVkU2l6ZSIgdHlwZT0ieHM6dW5zaWduZWRTaG9ydCIgbWluT2NjdXJzPSIwIiAvPg0KICAg\nICAgICAgIDx4czplbGVtZW50IG5hbWU9Ik5ldHdvcmtNZXNzYWdlTnVtYmVyIiB0eXBlPSJ4czp1\nbnNpZ25lZFNob3J0IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFt\nZT0iRGF0YVNldE9mZnNldCIgdHlwZT0ieHM6dW5zaWduZWRTaG9ydCIgbWluT2NjdXJzPSIwIiAv\nPg0KICAgICAgICA8L3hzOnNlcXVlbmNlPg0KICAgICAgPC94czpleHRlbnNpb24+DQogICAgPC94\nczpjb21wbGV4Q29udGVudD4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFt\nZT0iVWFkcERhdGFTZXRXcml0ZXJNZXNzYWdlRGF0YVR5cGUiIHR5cGU9InRuczpVYWRwRGF0YVNl\ndFdyaXRlck1lc3NhZ2VEYXRhVHlwZSIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iTGlz\ndE9mVWFkcERhdGFTZXRXcml0ZXJNZXNzYWdlRGF0YVR5cGUiPg0KICAgIDx4czpzZXF1ZW5jZT4N\nCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlVhZHBEYXRhU2V0V3JpdGVyTWVzc2FnZURhdGFUeXBl\nIiB0eXBlPSJ0bnM6VWFkcERhdGFTZXRXcml0ZXJNZXNzYWdlRGF0YVR5cGUiIG1pbk9jY3Vycz0i\nMCIgbWF4T2NjdXJzPSJ1bmJvdW5kZWQiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2Vx\ndWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ikxpc3RPZlVh\nZHBEYXRhU2V0V3JpdGVyTWVzc2FnZURhdGFUeXBlIiB0eXBlPSJ0bnM6TGlzdE9mVWFkcERhdGFT\nZXRXcml0ZXJNZXNzYWdlRGF0YVR5cGUiIG5pbGxhYmxlPSJ0cnVlIj48L3hzOmVsZW1lbnQ+DQoN\nCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IlVhZHBEYXRhU2V0UmVhZGVyTWVzc2FnZURhdGFUeXBl\nIj4NCiAgICA8eHM6Y29tcGxleENvbnRlbnQgbWl4ZWQ9ImZhbHNlIj4NCiAgICAgIDx4czpleHRl\nbnNpb24gYmFzZT0idG5zOkRhdGFTZXRSZWFkZXJNZXNzYWdlRGF0YVR5cGUiPg0KICAgICAgICA8\neHM6c2VxdWVuY2U+DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iR3JvdXBWZXJzaW9uIiB0\neXBlPSJ4czp1bnNpZ25lZEludCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgICAgIDx4czplbGVt\nZW50IG5hbWU9Ik5ldHdvcmtNZXNzYWdlTnVtYmVyIiB0eXBlPSJ4czp1bnNpZ25lZFNob3J0IiBt\naW5PY2N1cnM9IjAiIC8+DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRGF0YVNldE9mZnNl\ndCIgdHlwZT0ieHM6dW5zaWduZWRTaG9ydCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgICAgIDx4\nczplbGVtZW50IG5hbWU9IkRhdGFTZXRDbGFzc0lkIiB0eXBlPSJ1YTpHdWlkIiBtaW5PY2N1cnM9\nIjAiIC8+DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTmV0d29ya01lc3NhZ2VDb250ZW50\nTWFzayIgdHlwZT0idG5zOlVhZHBOZXR3b3JrTWVzc2FnZUNvbnRlbnRNYXNrIiBtaW5PY2N1cnM9\nIjAiIC8+DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRGF0YVNldE1lc3NhZ2VDb250ZW50\nTWFzayIgdHlwZT0idG5zOlVhZHBEYXRhU2V0TWVzc2FnZUNvbnRlbnRNYXNrIiBtaW5PY2N1cnM9\nIjAiIC8+DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUHVibGlzaGluZ0ludGVydmFsIiB0\neXBlPSJ4czpkb3VibGUiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBu\nYW1lPSJSZWNlaXZlT2Zmc2V0IiB0eXBlPSJ4czpkb3VibGUiIG1pbk9jY3Vycz0iMCIgLz4NCiAg\nICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJQcm9jZXNzaW5nT2Zmc2V0IiB0eXBlPSJ4czpkb3Vi\nbGUiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgICAgPC94czpzZXF1ZW5jZT4NCiAgICAgIDwveHM6\nZXh0ZW5zaW9uPg0KICAgIDwveHM6Y29tcGxleENvbnRlbnQ+DQogIDwveHM6Y29tcGxleFR5cGU+\nDQogIDx4czplbGVtZW50IG5hbWU9IlVhZHBEYXRhU2V0UmVhZGVyTWVzc2FnZURhdGFUeXBlIiB0\neXBlPSJ0bnM6VWFkcERhdGFTZXRSZWFkZXJNZXNzYWdlRGF0YVR5cGUiIC8+DQoNCiAgPHhzOmNv\nbXBsZXhUeXBlIG5hbWU9Ikxpc3RPZlVhZHBEYXRhU2V0UmVhZGVyTWVzc2FnZURhdGFUeXBlIj4N\nCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJVYWRwRGF0YVNldFJl\nYWRlck1lc3NhZ2VEYXRhVHlwZSIgdHlwZT0idG5zOlVhZHBEYXRhU2V0UmVhZGVyTWVzc2FnZURh\ndGFUeXBlIiBtaW5PY2N1cnM9IjAiIG1heE9jY3Vycz0idW5ib3VuZGVkIiBuaWxsYWJsZT0idHJ1\nZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxl\nbWVudCBuYW1lPSJMaXN0T2ZVYWRwRGF0YVNldFJlYWRlck1lc3NhZ2VEYXRhVHlwZSIgdHlwZT0i\ndG5zOkxpc3RPZlVhZHBEYXRhU2V0UmVhZGVyTWVzc2FnZURhdGFUeXBlIiBuaWxsYWJsZT0idHJ1\nZSI+PC94czplbGVtZW50Pg0KDQogIDx4czpzaW1wbGVUeXBlICBuYW1lPSJKc29uTmV0d29ya01l\nc3NhZ2VDb250ZW50TWFzayI+DQogICAgPHhzOnJlc3RyaWN0aW9uIGJhc2U9InhzOnVuc2lnbmVk\nSW50Ij4NCiAgICA8L3hzOnJlc3RyaWN0aW9uPg0KICA8L3hzOnNpbXBsZVR5cGU+DQogIDx4czpl\nbGVtZW50IG5hbWU9Ikpzb25OZXR3b3JrTWVzc2FnZUNvbnRlbnRNYXNrIiB0eXBlPSJ0bnM6SnNv\nbk5ldHdvcmtNZXNzYWdlQ29udGVudE1hc2siIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9\nIkxpc3RPZkpzb25OZXR3b3JrTWVzc2FnZUNvbnRlbnRNYXNrIj4NCiAgICA8eHM6c2VxdWVuY2U+\nDQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJKc29uTmV0d29ya01lc3NhZ2VDb250ZW50TWFzayIg\ndHlwZT0idG5zOkpzb25OZXR3b3JrTWVzc2FnZUNvbnRlbnRNYXNrIiBtaW5PY2N1cnM9IjAiIG1h\neE9jY3Vycz0idW5ib3VuZGVkIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxl\neFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ikxpc3RPZkpzb25OZXR3b3JrTWVzc2FnZUNvbnRl\nbnRNYXNrIiB0eXBlPSJ0bnM6TGlzdE9mSnNvbk5ldHdvcmtNZXNzYWdlQ29udGVudE1hc2siIG5p\nbGxhYmxlPSJ0cnVlIj48L3hzOmVsZW1lbnQ+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9Ikpz\nb25Xcml0ZXJHcm91cE1lc3NhZ2VEYXRhVHlwZSI+DQogICAgPHhzOmNvbXBsZXhDb250ZW50IG1p\neGVkPSJmYWxzZSI+DQogICAgICA8eHM6ZXh0ZW5zaW9uIGJhc2U9InRuczpXcml0ZXJHcm91cE1l\nc3NhZ2VEYXRhVHlwZSI+DQogICAgICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgICAgICA8eHM6ZWxl\nbWVudCBuYW1lPSJOZXR3b3JrTWVzc2FnZUNvbnRlbnRNYXNrIiB0eXBlPSJ0bnM6SnNvbk5ldHdv\ncmtNZXNzYWdlQ29udGVudE1hc2siIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgICAgPC94czpzZXF1\nZW5jZT4NCiAgICAgIDwveHM6ZXh0ZW5zaW9uPg0KICAgIDwveHM6Y29tcGxleENvbnRlbnQ+DQog\nIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ikpzb25Xcml0ZXJHcm91cE1l\nc3NhZ2VEYXRhVHlwZSIgdHlwZT0idG5zOkpzb25Xcml0ZXJHcm91cE1lc3NhZ2VEYXRhVHlwZSIg\nLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iTGlzdE9mSnNvbldyaXRlckdyb3VwTWVzc2Fn\nZURhdGFUeXBlIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJK\nc29uV3JpdGVyR3JvdXBNZXNzYWdlRGF0YVR5cGUiIHR5cGU9InRuczpKc29uV3JpdGVyR3JvdXBN\nZXNzYWdlRGF0YVR5cGUiIG1pbk9jY3Vycz0iMCIgbWF4T2NjdXJzPSJ1bmJvdW5kZWQiIG5pbGxh\nYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQog\nIDx4czplbGVtZW50IG5hbWU9Ikxpc3RPZkpzb25Xcml0ZXJHcm91cE1lc3NhZ2VEYXRhVHlwZSIg\ndHlwZT0idG5zOkxpc3RPZkpzb25Xcml0ZXJHcm91cE1lc3NhZ2VEYXRhVHlwZSIgbmlsbGFibGU9\nInRydWUiPjwveHM6ZWxlbWVudD4NCg0KICA8eHM6c2ltcGxlVHlwZSAgbmFtZT0iSnNvbkRhdGFT\nZXRNZXNzYWdlQ29udGVudE1hc2siPg0KICAgIDx4czpyZXN0cmljdGlvbiBiYXNlPSJ4czp1bnNp\nZ25lZEludCI+DQogICAgPC94czpyZXN0cmljdGlvbj4NCiAgPC94czpzaW1wbGVUeXBlPg0KICA8\neHM6ZWxlbWVudCBuYW1lPSJKc29uRGF0YVNldE1lc3NhZ2VDb250ZW50TWFzayIgdHlwZT0idG5z\nOkpzb25EYXRhU2V0TWVzc2FnZUNvbnRlbnRNYXNrIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBu\nYW1lPSJMaXN0T2ZKc29uRGF0YVNldE1lc3NhZ2VDb250ZW50TWFzayI+DQogICAgPHhzOnNlcXVl\nbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iSnNvbkRhdGFTZXRNZXNzYWdlQ29udGVudE1h\nc2siIHR5cGU9InRuczpKc29uRGF0YVNldE1lc3NhZ2VDb250ZW50TWFzayIgbWluT2NjdXJzPSIw\nIiBtYXhPY2N1cnM9InVuYm91bmRlZCIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNv\nbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJMaXN0T2ZKc29uRGF0YVNldE1lc3NhZ2VD\nb250ZW50TWFzayIgdHlwZT0idG5zOkxpc3RPZkpzb25EYXRhU2V0TWVzc2FnZUNvbnRlbnRNYXNr\nIiBuaWxsYWJsZT0idHJ1ZSI+PC94czplbGVtZW50Pg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1l\nPSJKc29uRGF0YVNldFdyaXRlck1lc3NhZ2VEYXRhVHlwZSI+DQogICAgPHhzOmNvbXBsZXhDb250\nZW50IG1peGVkPSJmYWxzZSI+DQogICAgICA8eHM6ZXh0ZW5zaW9uIGJhc2U9InRuczpEYXRhU2V0\nV3JpdGVyTWVzc2FnZURhdGFUeXBlIj4NCiAgICAgICAgPHhzOnNlcXVlbmNlPg0KICAgICAgICAg\nIDx4czplbGVtZW50IG5hbWU9IkRhdGFTZXRNZXNzYWdlQ29udGVudE1hc2siIHR5cGU9InRuczpK\nc29uRGF0YVNldE1lc3NhZ2VDb250ZW50TWFzayIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgICA8\nL3hzOnNlcXVlbmNlPg0KICAgICAgPC94czpleHRlbnNpb24+DQogICAgPC94czpjb21wbGV4Q29u\ndGVudD4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iSnNvbkRhdGFT\nZXRXcml0ZXJNZXNzYWdlRGF0YVR5cGUiIHR5cGU9InRuczpKc29uRGF0YVNldFdyaXRlck1lc3Nh\nZ2VEYXRhVHlwZSIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iTGlzdE9mSnNvbkRhdGFT\nZXRXcml0ZXJNZXNzYWdlRGF0YVR5cGUiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czpl\nbGVtZW50IG5hbWU9Ikpzb25EYXRhU2V0V3JpdGVyTWVzc2FnZURhdGFUeXBlIiB0eXBlPSJ0bnM6\nSnNvbkRhdGFTZXRXcml0ZXJNZXNzYWdlRGF0YVR5cGUiIG1pbk9jY3Vycz0iMCIgbWF4T2NjdXJz\nPSJ1bmJvdW5kZWQiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwv\neHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ikxpc3RPZkpzb25EYXRhU2V0V3Jp\ndGVyTWVzc2FnZURhdGFUeXBlIiB0eXBlPSJ0bnM6TGlzdE9mSnNvbkRhdGFTZXRXcml0ZXJNZXNz\nYWdlRGF0YVR5cGUiIG5pbGxhYmxlPSJ0cnVlIj48L3hzOmVsZW1lbnQ+DQoNCiAgPHhzOmNvbXBs\nZXhUeXBlIG5hbWU9Ikpzb25EYXRhU2V0UmVhZGVyTWVzc2FnZURhdGFUeXBlIj4NCiAgICA8eHM6\nY29tcGxleENvbnRlbnQgbWl4ZWQ9ImZhbHNlIj4NCiAgICAgIDx4czpleHRlbnNpb24gYmFzZT0i\ndG5zOkRhdGFTZXRSZWFkZXJNZXNzYWdlRGF0YVR5cGUiPg0KICAgICAgICA8eHM6c2VxdWVuY2U+\nDQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTmV0d29ya01lc3NhZ2VDb250ZW50TWFzayIg\ndHlwZT0idG5zOkpzb25OZXR3b3JrTWVzc2FnZUNvbnRlbnRNYXNrIiBtaW5PY2N1cnM9IjAiIC8+\nDQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRGF0YVNldE1lc3NhZ2VDb250ZW50TWFzayIg\ndHlwZT0idG5zOkpzb25EYXRhU2V0TWVzc2FnZUNvbnRlbnRNYXNrIiBtaW5PY2N1cnM9IjAiIC8+\nDQogICAgICAgIDwveHM6c2VxdWVuY2U+DQogICAgICA8L3hzOmV4dGVuc2lvbj4NCiAgICA8L3hz\nOmNvbXBsZXhDb250ZW50Pg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1l\nPSJKc29uRGF0YVNldFJlYWRlck1lc3NhZ2VEYXRhVHlwZSIgdHlwZT0idG5zOkpzb25EYXRhU2V0\nUmVhZGVyTWVzc2FnZURhdGFUeXBlIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJMaXN0\nT2ZKc29uRGF0YVNldFJlYWRlck1lc3NhZ2VEYXRhVHlwZSI+DQogICAgPHhzOnNlcXVlbmNlPg0K\nICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iSnNvbkRhdGFTZXRSZWFkZXJNZXNzYWdlRGF0YVR5cGUi\nIHR5cGU9InRuczpKc29uRGF0YVNldFJlYWRlck1lc3NhZ2VEYXRhVHlwZSIgbWluT2NjdXJzPSIw\nIiBtYXhPY2N1cnM9InVuYm91bmRlZCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1\nZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iTGlzdE9mSnNv\nbkRhdGFTZXRSZWFkZXJNZXNzYWdlRGF0YVR5cGUiIHR5cGU9InRuczpMaXN0T2ZKc29uRGF0YVNl\ndFJlYWRlck1lc3NhZ2VEYXRhVHlwZSIgbmlsbGFibGU9InRydWUiPjwveHM6ZWxlbWVudD4NCg0K\nICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iRGF0YWdyYW1Db25uZWN0aW9uVHJhbnNwb3J0RGF0YVR5\ncGUiPg0KICAgIDx4czpjb21wbGV4Q29udGVudCBtaXhlZD0iZmFsc2UiPg0KICAgICAgPHhzOmV4\ndGVuc2lvbiBiYXNlPSJ0bnM6Q29ubmVjdGlvblRyYW5zcG9ydERhdGFUeXBlIj4NCiAgICAgICAg\nPHhzOnNlcXVlbmNlPg0KICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9IkRpc2NvdmVyeUFkZHJl\nc3MiIHR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1\nZSIgLz4NCiAgICAgICAgPC94czpzZXF1ZW5jZT4NCiAgICAgIDwveHM6ZXh0ZW5zaW9uPg0KICAg\nIDwveHM6Y29tcGxleENvbnRlbnQ+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50\nIG5hbWU9IkRhdGFncmFtQ29ubmVjdGlvblRyYW5zcG9ydERhdGFUeXBlIiB0eXBlPSJ0bnM6RGF0\nYWdyYW1Db25uZWN0aW9uVHJhbnNwb3J0RGF0YVR5cGUiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBl\nIG5hbWU9Ikxpc3RPZkRhdGFncmFtQ29ubmVjdGlvblRyYW5zcG9ydERhdGFUeXBlIj4NCiAgICA8\neHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJEYXRhZ3JhbUNvbm5lY3Rpb25U\ncmFuc3BvcnREYXRhVHlwZSIgdHlwZT0idG5zOkRhdGFncmFtQ29ubmVjdGlvblRyYW5zcG9ydERh\ndGFUeXBlIiBtaW5PY2N1cnM9IjAiIG1heE9jY3Vycz0idW5ib3VuZGVkIiBuaWxsYWJsZT0idHJ1\nZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxl\nbWVudCBuYW1lPSJMaXN0T2ZEYXRhZ3JhbUNvbm5lY3Rpb25UcmFuc3BvcnREYXRhVHlwZSIgdHlw\nZT0idG5zOkxpc3RPZkRhdGFncmFtQ29ubmVjdGlvblRyYW5zcG9ydERhdGFUeXBlIiBuaWxsYWJs\nZT0idHJ1ZSI+PC94czplbGVtZW50Pg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJEYXRhZ3Jh\nbVdyaXRlckdyb3VwVHJhbnNwb3J0RGF0YVR5cGUiPg0KICAgIDx4czpjb21wbGV4Q29udGVudCBt\naXhlZD0iZmFsc2UiPg0KICAgICAgPHhzOmV4dGVuc2lvbiBiYXNlPSJ0bnM6V3JpdGVyR3JvdXBU\ncmFuc3BvcnREYXRhVHlwZSI+DQogICAgICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgICAgICA8eHM6\nZWxlbWVudCBuYW1lPSJNZXNzYWdlUmVwZWF0Q291bnQiIHR5cGU9InhzOnVuc2lnbmVkQnl0ZSIg\nbWluT2NjdXJzPSIwIiAvPg0KICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9Ik1lc3NhZ2VSZXBl\nYXREZWxheSIgdHlwZT0ieHM6ZG91YmxlIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICAgIDwveHM6\nc2VxdWVuY2U+DQogICAgICA8L3hzOmV4dGVuc2lvbj4NCiAgICA8L3hzOmNvbXBsZXhDb250ZW50\nPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJEYXRhZ3JhbVdyaXRl\nckdyb3VwVHJhbnNwb3J0RGF0YVR5cGUiIHR5cGU9InRuczpEYXRhZ3JhbVdyaXRlckdyb3VwVHJh\nbnNwb3J0RGF0YVR5cGUiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9Ikxpc3RPZkRhdGFn\ncmFtV3JpdGVyR3JvdXBUcmFuc3BvcnREYXRhVHlwZSI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAg\nICAgPHhzOmVsZW1lbnQgbmFtZT0iRGF0YWdyYW1Xcml0ZXJHcm91cFRyYW5zcG9ydERhdGFUeXBl\nIiB0eXBlPSJ0bnM6RGF0YWdyYW1Xcml0ZXJHcm91cFRyYW5zcG9ydERhdGFUeXBlIiBtaW5PY2N1\ncnM9IjAiIG1heE9jY3Vycz0idW5ib3VuZGVkIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hz\nOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJMaXN0\nT2ZEYXRhZ3JhbVdyaXRlckdyb3VwVHJhbnNwb3J0RGF0YVR5cGUiIHR5cGU9InRuczpMaXN0T2ZE\nYXRhZ3JhbVdyaXRlckdyb3VwVHJhbnNwb3J0RGF0YVR5cGUiIG5pbGxhYmxlPSJ0cnVlIj48L3hz\nOmVsZW1lbnQ+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IkJyb2tlckNvbm5lY3Rpb25UcmFu\nc3BvcnREYXRhVHlwZSI+DQogICAgPHhzOmNvbXBsZXhDb250ZW50IG1peGVkPSJmYWxzZSI+DQog\nICAgICA8eHM6ZXh0ZW5zaW9uIGJhc2U9InRuczpDb25uZWN0aW9uVHJhbnNwb3J0RGF0YVR5cGUi\nPg0KICAgICAgICA8eHM6c2VxdWVuY2U+DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVz\nb3VyY2VVcmkiIHR5cGU9InhzOnN0cmluZyIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIg\nLz4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJBdXRoZW50aWNhdGlvblByb2ZpbGVVcmki\nIHR5cGU9InhzOnN0cmluZyIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAg\nICAgPC94czpzZXF1ZW5jZT4NCiAgICAgIDwveHM6ZXh0ZW5zaW9uPg0KICAgIDwveHM6Y29tcGxl\neENvbnRlbnQ+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IkJyb2tl\nckNvbm5lY3Rpb25UcmFuc3BvcnREYXRhVHlwZSIgdHlwZT0idG5zOkJyb2tlckNvbm5lY3Rpb25U\ncmFuc3BvcnREYXRhVHlwZSIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iTGlzdE9mQnJv\na2VyQ29ubmVjdGlvblRyYW5zcG9ydERhdGFUeXBlIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAg\nICA8eHM6ZWxlbWVudCBuYW1lPSJCcm9rZXJDb25uZWN0aW9uVHJhbnNwb3J0RGF0YVR5cGUiIHR5\ncGU9InRuczpCcm9rZXJDb25uZWN0aW9uVHJhbnNwb3J0RGF0YVR5cGUiIG1pbk9jY3Vycz0iMCIg\nbWF4T2NjdXJzPSJ1bmJvdW5kZWQiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVu\nY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ikxpc3RPZkJyb2tl\nckNvbm5lY3Rpb25UcmFuc3BvcnREYXRhVHlwZSIgdHlwZT0idG5zOkxpc3RPZkJyb2tlckNvbm5l\nY3Rpb25UcmFuc3BvcnREYXRhVHlwZSIgbmlsbGFibGU9InRydWUiPjwveHM6ZWxlbWVudD4NCg0K\nICA8eHM6c2ltcGxlVHlwZSAgbmFtZT0iQnJva2VyVHJhbnNwb3J0UXVhbGl0eU9mU2VydmljZSI+\nDQogICAgPHhzOnJlc3RyaWN0aW9uIGJhc2U9InhzOnN0cmluZyI+DQogICAgICA8eHM6ZW51bWVy\nYXRpb24gdmFsdWU9Ik5vdFNwZWNpZmllZF8wIiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZh\nbHVlPSJCZXN0RWZmb3J0XzEiIC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IkF0TGVh\nc3RPbmNlXzIiIC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IkF0TW9zdE9uY2VfMyIg\nLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iRXhhY3RseU9uY2VfNCIgLz4NCiAgICA8\nL3hzOnJlc3RyaWN0aW9uPg0KICA8L3hzOnNpbXBsZVR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9\nIkJyb2tlclRyYW5zcG9ydFF1YWxpdHlPZlNlcnZpY2UiIHR5cGU9InRuczpCcm9rZXJUcmFuc3Bv\ncnRRdWFsaXR5T2ZTZXJ2aWNlIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJMaXN0T2ZC\ncm9rZXJUcmFuc3BvcnRRdWFsaXR5T2ZTZXJ2aWNlIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAg\nICA8eHM6ZWxlbWVudCBuYW1lPSJCcm9rZXJUcmFuc3BvcnRRdWFsaXR5T2ZTZXJ2aWNlIiB0eXBl\nPSJ0bnM6QnJva2VyVHJhbnNwb3J0UXVhbGl0eU9mU2VydmljZSIgbWluT2NjdXJzPSIwIiBtYXhP\nY2N1cnM9InVuYm91bmRlZCIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhU\neXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJMaXN0T2ZCcm9rZXJUcmFuc3BvcnRRdWFsaXR5T2ZT\nZXJ2aWNlIiB0eXBlPSJ0bnM6TGlzdE9mQnJva2VyVHJhbnNwb3J0UXVhbGl0eU9mU2VydmljZSIg\nbmlsbGFibGU9InRydWUiPjwveHM6ZWxlbWVudD4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0i\nQnJva2VyV3JpdGVyR3JvdXBUcmFuc3BvcnREYXRhVHlwZSI+DQogICAgPHhzOmNvbXBsZXhDb250\nZW50IG1peGVkPSJmYWxzZSI+DQogICAgICA8eHM6ZXh0ZW5zaW9uIGJhc2U9InRuczpXcml0ZXJH\ncm91cFRyYW5zcG9ydERhdGFUeXBlIj4NCiAgICAgICAgPHhzOnNlcXVlbmNlPg0KICAgICAgICAg\nIDx4czplbGVtZW50IG5hbWU9IlF1ZXVlTmFtZSIgdHlwZT0ieHM6c3RyaW5nIiBtaW5PY2N1cnM9\nIjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9IlJlc291\ncmNlVXJpIiB0eXBlPSJ4czpzdHJpbmciIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+\nDQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQXV0aGVudGljYXRpb25Qcm9maWxlVXJpIiB0\neXBlPSJ4czpzdHJpbmciIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICAg\nICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVxdWVzdGVkRGVsaXZlcnlHdWFyYW50ZWUiIHR5cGU9InRu\nczpCcm9rZXJUcmFuc3BvcnRRdWFsaXR5T2ZTZXJ2aWNlIiBtaW5PY2N1cnM9IjAiIC8+DQogICAg\nICAgIDwveHM6c2VxdWVuY2U+DQogICAgICA8L3hzOmV4dGVuc2lvbj4NCiAgICA8L3hzOmNvbXBs\nZXhDb250ZW50Pg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJCcm9r\nZXJXcml0ZXJHcm91cFRyYW5zcG9ydERhdGFUeXBlIiB0eXBlPSJ0bnM6QnJva2VyV3JpdGVyR3Jv\ndXBUcmFuc3BvcnREYXRhVHlwZSIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iTGlzdE9m\nQnJva2VyV3JpdGVyR3JvdXBUcmFuc3BvcnREYXRhVHlwZSI+DQogICAgPHhzOnNlcXVlbmNlPg0K\nICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQnJva2VyV3JpdGVyR3JvdXBUcmFuc3BvcnREYXRhVHlw\nZSIgdHlwZT0idG5zOkJyb2tlcldyaXRlckdyb3VwVHJhbnNwb3J0RGF0YVR5cGUiIG1pbk9jY3Vy\ncz0iMCIgbWF4T2NjdXJzPSJ1bmJvdW5kZWQiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6\nc2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ikxpc3RP\nZkJyb2tlcldyaXRlckdyb3VwVHJhbnNwb3J0RGF0YVR5cGUiIHR5cGU9InRuczpMaXN0T2ZCcm9r\nZXJXcml0ZXJHcm91cFRyYW5zcG9ydERhdGFUeXBlIiBuaWxsYWJsZT0idHJ1ZSI+PC94czplbGVt\nZW50Pg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJCcm9rZXJEYXRhU2V0V3JpdGVyVHJhbnNw\nb3J0RGF0YVR5cGUiPg0KICAgIDx4czpjb21wbGV4Q29udGVudCBtaXhlZD0iZmFsc2UiPg0KICAg\nICAgPHhzOmV4dGVuc2lvbiBiYXNlPSJ0bnM6RGF0YVNldFdyaXRlclRyYW5zcG9ydERhdGFUeXBl\nIj4NCiAgICAgICAgPHhzOnNlcXVlbmNlPg0KICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9IlF1\nZXVlTmFtZSIgdHlwZT0ieHM6c3RyaW5nIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAv\nPg0KICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9IlJlc291cmNlVXJpIiB0eXBlPSJ4czpzdHJp\nbmciIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICAgICAgPHhzOmVsZW1l\nbnQgbmFtZT0iQXV0aGVudGljYXRpb25Qcm9maWxlVXJpIiB0eXBlPSJ4czpzdHJpbmciIG1pbk9j\nY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0i\nUmVxdWVzdGVkRGVsaXZlcnlHdWFyYW50ZWUiIHR5cGU9InRuczpCcm9rZXJUcmFuc3BvcnRRdWFs\naXR5T2ZTZXJ2aWNlIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFt\nZT0iTWV0YURhdGFRdWV1ZU5hbWUiIHR5cGU9InhzOnN0cmluZyIgbWluT2NjdXJzPSIwIiBuaWxs\nYWJsZT0idHJ1ZSIgLz4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJNZXRhRGF0YVVwZGF0\nZVRpbWUiIHR5cGU9InhzOmRvdWJsZSIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgICA8L3hzOnNl\ncXVlbmNlPg0KICAgICAgPC94czpleHRlbnNpb24+DQogICAgPC94czpjb21wbGV4Q29udGVudD4N\nCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iQnJva2VyRGF0YVNldFdy\naXRlclRyYW5zcG9ydERhdGFUeXBlIiB0eXBlPSJ0bnM6QnJva2VyRGF0YVNldFdyaXRlclRyYW5z\ncG9ydERhdGFUeXBlIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJMaXN0T2ZCcm9rZXJE\nYXRhU2V0V3JpdGVyVHJhbnNwb3J0RGF0YVR5cGUiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAg\nIDx4czplbGVtZW50IG5hbWU9IkJyb2tlckRhdGFTZXRXcml0ZXJUcmFuc3BvcnREYXRhVHlwZSIg\ndHlwZT0idG5zOkJyb2tlckRhdGFTZXRXcml0ZXJUcmFuc3BvcnREYXRhVHlwZSIgbWluT2NjdXJz\nPSIwIiBtYXhPY2N1cnM9InVuYm91bmRlZCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpz\nZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iTGlzdE9m\nQnJva2VyRGF0YVNldFdyaXRlclRyYW5zcG9ydERhdGFUeXBlIiB0eXBlPSJ0bnM6TGlzdE9mQnJv\na2VyRGF0YVNldFdyaXRlclRyYW5zcG9ydERhdGFUeXBlIiBuaWxsYWJsZT0idHJ1ZSI+PC94czpl\nbGVtZW50Pg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJCcm9rZXJEYXRhU2V0UmVhZGVyVHJh\nbnNwb3J0RGF0YVR5cGUiPg0KICAgIDx4czpjb21wbGV4Q29udGVudCBtaXhlZD0iZmFsc2UiPg0K\nICAgICAgPHhzOmV4dGVuc2lvbiBiYXNlPSJ0bnM6RGF0YVNldFJlYWRlclRyYW5zcG9ydERhdGFU\neXBlIj4NCiAgICAgICAgPHhzOnNlcXVlbmNlPg0KICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9\nIlF1ZXVlTmFtZSIgdHlwZT0ieHM6c3RyaW5nIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVl\nIiAvPg0KICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9IlJlc291cmNlVXJpIiB0eXBlPSJ4czpz\ndHJpbmciIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICAgICAgPHhzOmVs\nZW1lbnQgbmFtZT0iQXV0aGVudGljYXRpb25Qcm9maWxlVXJpIiB0eXBlPSJ4czpzdHJpbmciIG1p\nbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFt\nZT0iUmVxdWVzdGVkRGVsaXZlcnlHdWFyYW50ZWUiIHR5cGU9InRuczpCcm9rZXJUcmFuc3BvcnRR\ndWFsaXR5T2ZTZXJ2aWNlIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICAgICAgPHhzOmVsZW1lbnQg\nbmFtZT0iTWV0YURhdGFRdWV1ZU5hbWUiIHR5cGU9InhzOnN0cmluZyIgbWluT2NjdXJzPSIwIiBu\naWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgICAgPC94czpzZXF1ZW5jZT4NCiAgICAgIDwveHM6ZXh0\nZW5zaW9uPg0KICAgIDwveHM6Y29tcGxleENvbnRlbnQ+DQogIDwveHM6Y29tcGxleFR5cGU+DQog\nIDx4czplbGVtZW50IG5hbWU9IkJyb2tlckRhdGFTZXRSZWFkZXJUcmFuc3BvcnREYXRhVHlwZSIg\ndHlwZT0idG5zOkJyb2tlckRhdGFTZXRSZWFkZXJUcmFuc3BvcnREYXRhVHlwZSIgLz4NCg0KICA8\neHM6Y29tcGxleFR5cGUgbmFtZT0iTGlzdE9mQnJva2VyRGF0YVNldFJlYWRlclRyYW5zcG9ydERh\ndGFUeXBlIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJCcm9r\nZXJEYXRhU2V0UmVhZGVyVHJhbnNwb3J0RGF0YVR5cGUiIHR5cGU9InRuczpCcm9rZXJEYXRhU2V0\nUmVhZGVyVHJhbnNwb3J0RGF0YVR5cGUiIG1pbk9jY3Vycz0iMCIgbWF4T2NjdXJzPSJ1bmJvdW5k\nZWQiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxl\neFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ikxpc3RPZkJyb2tlckRhdGFTZXRSZWFkZXJUcmFu\nc3BvcnREYXRhVHlwZSIgdHlwZT0idG5zOkxpc3RPZkJyb2tlckRhdGFTZXRSZWFkZXJUcmFuc3Bv\ncnREYXRhVHlwZSIgbmlsbGFibGU9InRydWUiPjwveHM6ZWxlbWVudD4NCg0KICA8eHM6c2ltcGxl\nVHlwZSAgbmFtZT0iRGlhZ25vc3RpY3NMZXZlbCI+DQogICAgPHhzOnJlc3RyaWN0aW9uIGJhc2U9\nInhzOnN0cmluZyI+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IkJhc2ljXzAiIC8+DQog\nICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IkFkdmFuY2VkXzEiIC8+DQogICAgICA8eHM6ZW51\nbWVyYXRpb24gdmFsdWU9IkluZm9fMiIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0i\nTG9nXzMiIC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IkRlYnVnXzQiIC8+DQogICAg\nPC94czpyZXN0cmljdGlvbj4NCiAgPC94czpzaW1wbGVUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1l\nPSJEaWFnbm9zdGljc0xldmVsIiB0eXBlPSJ0bnM6RGlhZ25vc3RpY3NMZXZlbCIgLz4NCg0KICA8\neHM6Y29tcGxleFR5cGUgbmFtZT0iTGlzdE9mRGlhZ25vc3RpY3NMZXZlbCI+DQogICAgPHhzOnNl\ncXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRGlhZ25vc3RpY3NMZXZlbCIgdHlwZT0i\ndG5zOkRpYWdub3N0aWNzTGV2ZWwiIG1pbk9jY3Vycz0iMCIgbWF4T2NjdXJzPSJ1bmJvdW5kZWQi\nIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1l\nbnQgbmFtZT0iTGlzdE9mRGlhZ25vc3RpY3NMZXZlbCIgdHlwZT0idG5zOkxpc3RPZkRpYWdub3N0\naWNzTGV2ZWwiIG5pbGxhYmxlPSJ0cnVlIj48L3hzOmVsZW1lbnQ+DQoNCiAgPHhzOnNpbXBsZVR5\ncGUgIG5hbWU9IlB1YlN1YkRpYWdub3N0aWNzQ291bnRlckNsYXNzaWZpY2F0aW9uIj4NCiAgICA8\neHM6cmVzdHJpY3Rpb24gYmFzZT0ieHM6c3RyaW5nIj4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2\nYWx1ZT0iSW5mb3JtYXRpb25fMCIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iRXJy\nb3JfMSIgLz4NCiAgICA8L3hzOnJlc3RyaWN0aW9uPg0KICA8L3hzOnNpbXBsZVR5cGU+DQogIDx4\nczplbGVtZW50IG5hbWU9IlB1YlN1YkRpYWdub3N0aWNzQ291bnRlckNsYXNzaWZpY2F0aW9uIiB0\neXBlPSJ0bnM6UHViU3ViRGlhZ25vc3RpY3NDb3VudGVyQ2xhc3NpZmljYXRpb24iIC8+DQoNCiAg\nPHhzOmNvbXBsZXhUeXBlIG5hbWU9Ikxpc3RPZlB1YlN1YkRpYWdub3N0aWNzQ291bnRlckNsYXNz\naWZpY2F0aW9uIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJQ\ndWJTdWJEaWFnbm9zdGljc0NvdW50ZXJDbGFzc2lmaWNhdGlvbiIgdHlwZT0idG5zOlB1YlN1YkRp\nYWdub3N0aWNzQ291bnRlckNsYXNzaWZpY2F0aW9uIiBtaW5PY2N1cnM9IjAiIG1heE9jY3Vycz0i\ndW5ib3VuZGVkIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQog\nIDx4czplbGVtZW50IG5hbWU9Ikxpc3RPZlB1YlN1YkRpYWdub3N0aWNzQ291bnRlckNsYXNzaWZp\nY2F0aW9uIiB0eXBlPSJ0bnM6TGlzdE9mUHViU3ViRGlhZ25vc3RpY3NDb3VudGVyQ2xhc3NpZmlj\nYXRpb24iIG5pbGxhYmxlPSJ0cnVlIj48L3hzOmVsZW1lbnQ+DQoNCiAgPHhzOmNvbXBsZXhUeXBl\nIG5hbWU9IkFsaWFzTmFtZURhdGFUeXBlIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6\nZWxlbWVudCBuYW1lPSJBbGlhc05hbWUiIHR5cGU9InVhOlF1YWxpZmllZE5hbWUiIG1pbk9jY3Vy\ncz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZWZlcmVu\nY2VkTm9kZXMiIHR5cGU9InVhOkxpc3RPZkV4cGFuZGVkTm9kZUlkIiBtaW5PY2N1cnM9IjAiIG5p\nbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+\nDQogIDx4czplbGVtZW50IG5hbWU9IkFsaWFzTmFtZURhdGFUeXBlIiB0eXBlPSJ0bnM6QWxpYXNO\nYW1lRGF0YVR5cGUiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9Ikxpc3RPZkFsaWFzTmFt\nZURhdGFUeXBlIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJB\nbGlhc05hbWVEYXRhVHlwZSIgdHlwZT0idG5zOkFsaWFzTmFtZURhdGFUeXBlIiBtaW5PY2N1cnM9\nIjAiIG1heE9jY3Vycz0idW5ib3VuZGVkIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNl\ncXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJMaXN0T2ZB\nbGlhc05hbWVEYXRhVHlwZSIgdHlwZT0idG5zOkxpc3RPZkFsaWFzTmFtZURhdGFUeXBlIiBuaWxs\nYWJsZT0idHJ1ZSI+PC94czplbGVtZW50Pg0KDQogIDx4czpzaW1wbGVUeXBlICBuYW1lPSJEdXBs\nZXgiPg0KICAgIDx4czpyZXN0cmljdGlvbiBiYXNlPSJ4czpzdHJpbmciPg0KICAgICAgPHhzOmVu\ndW1lcmF0aW9uIHZhbHVlPSJGdWxsXzAiIC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9\nIkhhbGZfMSIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iVW5rbm93bl8yIiAvPg0K\nICAgIDwveHM6cmVzdHJpY3Rpb24+DQogIDwveHM6c2ltcGxlVHlwZT4NCiAgPHhzOmVsZW1lbnQg\nbmFtZT0iRHVwbGV4IiB0eXBlPSJ0bnM6RHVwbGV4IiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBu\nYW1lPSJMaXN0T2ZEdXBsZXgiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50\nIG5hbWU9IkR1cGxleCIgdHlwZT0idG5zOkR1cGxleCIgbWluT2NjdXJzPSIwIiBtYXhPY2N1cnM9\nInVuYm91bmRlZCIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0K\nICA8eHM6ZWxlbWVudCBuYW1lPSJMaXN0T2ZEdXBsZXgiIHR5cGU9InRuczpMaXN0T2ZEdXBsZXgi\nIG5pbGxhYmxlPSJ0cnVlIj48L3hzOmVsZW1lbnQ+DQoNCiAgPHhzOnNpbXBsZVR5cGUgIG5hbWU9\nIkludGVyZmFjZUFkbWluU3RhdHVzIj4NCiAgICA8eHM6cmVzdHJpY3Rpb24gYmFzZT0ieHM6c3Ry\naW5nIj4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iVXBfMCIgLz4NCiAgICAgIDx4czpl\nbnVtZXJhdGlvbiB2YWx1ZT0iRG93bl8xIiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVl\nPSJUZXN0aW5nXzIiIC8+DQogICAgPC94czpyZXN0cmljdGlvbj4NCiAgPC94czpzaW1wbGVUeXBl\nPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJJbnRlcmZhY2VBZG1pblN0YXR1cyIgdHlwZT0idG5zOklu\ndGVyZmFjZUFkbWluU3RhdHVzIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJMaXN0T2ZJ\nbnRlcmZhY2VBZG1pblN0YXR1cyI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1l\nbnQgbmFtZT0iSW50ZXJmYWNlQWRtaW5TdGF0dXMiIHR5cGU9InRuczpJbnRlcmZhY2VBZG1pblN0\nYXR1cyIgbWluT2NjdXJzPSIwIiBtYXhPY2N1cnM9InVuYm91bmRlZCIgLz4NCiAgICA8L3hzOnNl\ncXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJMaXN0T2ZJ\nbnRlcmZhY2VBZG1pblN0YXR1cyIgdHlwZT0idG5zOkxpc3RPZkludGVyZmFjZUFkbWluU3RhdHVz\nIiBuaWxsYWJsZT0idHJ1ZSI+PC94czplbGVtZW50Pg0KDQogIDx4czpzaW1wbGVUeXBlICBuYW1l\nPSJJbnRlcmZhY2VPcGVyU3RhdHVzIj4NCiAgICA8eHM6cmVzdHJpY3Rpb24gYmFzZT0ieHM6c3Ry\naW5nIj4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iVXBfMCIgLz4NCiAgICAgIDx4czpl\nbnVtZXJhdGlvbiB2YWx1ZT0iRG93bl8xIiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVl\nPSJUZXN0aW5nXzIiIC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IlVua25vd25fMyIg\nLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iRG9ybWFudF80IiAvPg0KICAgICAgPHhz\nOmVudW1lcmF0aW9uIHZhbHVlPSJOb3RQcmVzZW50XzUiIC8+DQogICAgICA8eHM6ZW51bWVyYXRp\nb24gdmFsdWU9Ikxvd2VyTGF5ZXJEb3duXzYiIC8+DQogICAgPC94czpyZXN0cmljdGlvbj4NCiAg\nPC94czpzaW1wbGVUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJJbnRlcmZhY2VPcGVyU3RhdHVz\nIiB0eXBlPSJ0bnM6SW50ZXJmYWNlT3BlclN0YXR1cyIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUg\nbmFtZT0iTGlzdE9mSW50ZXJmYWNlT3BlclN0YXR1cyI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAg\nICAgPHhzOmVsZW1lbnQgbmFtZT0iSW50ZXJmYWNlT3BlclN0YXR1cyIgdHlwZT0idG5zOkludGVy\nZmFjZU9wZXJTdGF0dXMiIG1pbk9jY3Vycz0iMCIgbWF4T2NjdXJzPSJ1bmJvdW5kZWQiIC8+DQog\nICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFt\nZT0iTGlzdE9mSW50ZXJmYWNlT3BlclN0YXR1cyIgdHlwZT0idG5zOkxpc3RPZkludGVyZmFjZU9w\nZXJTdGF0dXMiIG5pbGxhYmxlPSJ0cnVlIj48L3hzOmVsZW1lbnQ+DQoNCiAgPHhzOnNpbXBsZVR5\ncGUgIG5hbWU9Ik5lZ290aWF0aW9uU3RhdHVzIj4NCiAgICA8eHM6cmVzdHJpY3Rpb24gYmFzZT0i\neHM6c3RyaW5nIj4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iSW5Qcm9ncmVzc18wIiAv\nPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJDb21wbGV0ZV8xIiAvPg0KICAgICAgPHhz\nOmVudW1lcmF0aW9uIHZhbHVlPSJGYWlsZWRfMiIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2\nYWx1ZT0iVW5rbm93bl8zIiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJOb05lZ290\naWF0aW9uXzQiIC8+DQogICAgPC94czpyZXN0cmljdGlvbj4NCiAgPC94czpzaW1wbGVUeXBlPg0K\nICA8eHM6ZWxlbWVudCBuYW1lPSJOZWdvdGlhdGlvblN0YXR1cyIgdHlwZT0idG5zOk5lZ290aWF0\naW9uU3RhdHVzIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJMaXN0T2ZOZWdvdGlhdGlv\nblN0YXR1cyI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTmVn\nb3RpYXRpb25TdGF0dXMiIHR5cGU9InRuczpOZWdvdGlhdGlvblN0YXR1cyIgbWluT2NjdXJzPSIw\nIiBtYXhPY2N1cnM9InVuYm91bmRlZCIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNv\nbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJMaXN0T2ZOZWdvdGlhdGlvblN0YXR1cyIg\ndHlwZT0idG5zOkxpc3RPZk5lZ290aWF0aW9uU3RhdHVzIiBuaWxsYWJsZT0idHJ1ZSI+PC94czpl\nbGVtZW50Pg0KDQogIDx4czpzaW1wbGVUeXBlICBuYW1lPSJUc25GYWlsdXJlQ29kZSI+DQogICAg\nPHhzOnJlc3RyaWN0aW9uIGJhc2U9InhzOnN0cmluZyI+DQogICAgICA8eHM6ZW51bWVyYXRpb24g\ndmFsdWU9Ik5vRmFpbHVyZV8wIiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJJbnN1\nZmZpY2llbnRCYW5kd2lkdGhfMSIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iSW5z\ndWZmaWNpZW50UmVzb3VyY2VzXzIiIC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9Iklu\nc3VmZmljaWVudFRyYWZmaWNDbGFzc0JhbmR3aWR0aF8zIiAvPg0KICAgICAgPHhzOmVudW1lcmF0\naW9uIHZhbHVlPSJTdHJlYW1JZEluVXNlXzQiIC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFs\ndWU9IlN0cmVhbURlc3RpbmF0aW9uQWRkcmVzc0luVXNlXzUiIC8+DQogICAgICA8eHM6ZW51bWVy\nYXRpb24gdmFsdWU9IlN0cmVhbVByZWVtcHRlZEJ5SGlnaGVyUmFua182IiAvPg0KICAgICAgPHhz\nOmVudW1lcmF0aW9uIHZhbHVlPSJMYXRlbmN5SGFzQ2hhbmdlZF83IiAvPg0KICAgICAgPHhzOmVu\ndW1lcmF0aW9uIHZhbHVlPSJFZ3Jlc3NQb3J0Tm90QXZiQ2FwYWJsZV84IiAvPg0KICAgICAgPHhz\nOmVudW1lcmF0aW9uIHZhbHVlPSJVc2VEaWZmZXJlbnREZXN0aW5hdGlvbkFkZHJlc3NfOSIgLz4N\nCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iT3V0T2ZNc3JwUmVzb3VyY2VzXzEwIiAvPg0K\nICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJPdXRPZk1tcnBSZXNvdXJjZXNfMTEiIC8+DQog\nICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IkNhbm5vdFN0b3JlRGVzdGluYXRpb25BZGRyZXNz\nXzEyIiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJQcmlvcml0eUlzTm90QW5TcmND\nbGFzc18xMyIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iTWF4RnJhbWVTaXplVG9v\nTGFyZ2VfMTQiIC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9Ik1heEZhbkluUG9ydHNM\naW1pdFJlYWNoZWRfMTUiIC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IkZpcnN0VmFs\ndWVDaGFuZ2VkRm9yU3RyZWFtSWRfMTYiIC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9\nIlZsYW5CbG9ja2VkT25FZ3Jlc3NfMTciIC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9\nIlZsYW5UYWdnaW5nRGlzYWJsZWRPbkVncmVzc18xOCIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlv\nbiB2YWx1ZT0iU3JDbGFzc1ByaW9yaXR5TWlzbWF0Y2hfMTkiIC8+DQogICAgICA8eHM6ZW51bWVy\nYXRpb24gdmFsdWU9IkZlYXR1cmVOb3RQcm9wYWdhdGVkXzIwIiAvPg0KICAgICAgPHhzOmVudW1l\ncmF0aW9uIHZhbHVlPSJNYXhMYXRlbmN5RXhjZWVkZWRfMjEiIC8+DQogICAgICA8eHM6ZW51bWVy\nYXRpb24gdmFsdWU9IkJyaWRnZURvZXNOb3RQcm92aWRlTmV0d29ya0lkXzIyIiAvPg0KICAgICAg\nPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJTdHJlYW1UcmFuc2Zvcm1Ob3RTdXBwb3J0ZWRfMjMiIC8+\nDQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IlN0cmVhbUlkVHlwZU5vdFN1cHBvcnRlZF8y\nNCIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iRmVhdHVyZU5vdFN1cHBvcnRlZF8y\nNSIgLz4NCiAgICA8L3hzOnJlc3RyaWN0aW9uPg0KICA8L3hzOnNpbXBsZVR5cGU+DQogIDx4czpl\nbGVtZW50IG5hbWU9IlRzbkZhaWx1cmVDb2RlIiB0eXBlPSJ0bnM6VHNuRmFpbHVyZUNvZGUiIC8+\nDQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9Ikxpc3RPZlRzbkZhaWx1cmVDb2RlIj4NCiAgICA8\neHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJUc25GYWlsdXJlQ29kZSIgdHlw\nZT0idG5zOlRzbkZhaWx1cmVDb2RlIiBtaW5PY2N1cnM9IjAiIG1heE9jY3Vycz0idW5ib3VuZGVk\nIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVt\nZW50IG5hbWU9Ikxpc3RPZlRzbkZhaWx1cmVDb2RlIiB0eXBlPSJ0bnM6TGlzdE9mVHNuRmFpbHVy\nZUNvZGUiIG5pbGxhYmxlPSJ0cnVlIj48L3hzOmVsZW1lbnQ+DQoNCiAgPHhzOnNpbXBsZVR5cGUg\nIG5hbWU9IlRzblN0cmVhbVN0YXRlIj4NCiAgICA8eHM6cmVzdHJpY3Rpb24gYmFzZT0ieHM6c3Ry\naW5nIj4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iRGlzYWJsZWRfMCIgLz4NCiAgICAg\nIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iQ29uZmlndXJpbmdfMSIgLz4NCiAgICAgIDx4czplbnVt\nZXJhdGlvbiB2YWx1ZT0iUmVhZHlfMiIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0i\nT3BlcmF0aW9uYWxfMyIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iRXJyb3JfNCIg\nLz4NCiAgICA8L3hzOnJlc3RyaWN0aW9uPg0KICA8L3hzOnNpbXBsZVR5cGU+DQogIDx4czplbGVt\nZW50IG5hbWU9IlRzblN0cmVhbVN0YXRlIiB0eXBlPSJ0bnM6VHNuU3RyZWFtU3RhdGUiIC8+DQoN\nCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9Ikxpc3RPZlRzblN0cmVhbVN0YXRlIj4NCiAgICA8eHM6\nc2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJUc25TdHJlYW1TdGF0ZSIgdHlwZT0i\ndG5zOlRzblN0cmVhbVN0YXRlIiBtaW5PY2N1cnM9IjAiIG1heE9jY3Vycz0idW5ib3VuZGVkIiAv\nPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50\nIG5hbWU9Ikxpc3RPZlRzblN0cmVhbVN0YXRlIiB0eXBlPSJ0bnM6TGlzdE9mVHNuU3RyZWFtU3Rh\ndGUiIG5pbGxhYmxlPSJ0cnVlIj48L3hzOmVsZW1lbnQ+DQoNCiAgPHhzOnNpbXBsZVR5cGUgIG5h\nbWU9IlRzblRhbGtlclN0YXR1cyI+DQogICAgPHhzOnJlc3RyaWN0aW9uIGJhc2U9InhzOnN0cmlu\nZyI+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9Ik5vbmVfMCIgLz4NCiAgICAgIDx4czpl\nbnVtZXJhdGlvbiB2YWx1ZT0iUmVhZHlfMSIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1\nZT0iRmFpbGVkXzIiIC8+DQogICAgPC94czpyZXN0cmljdGlvbj4NCiAgPC94czpzaW1wbGVUeXBl\nPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJUc25UYWxrZXJTdGF0dXMiIHR5cGU9InRuczpUc25UYWxr\nZXJTdGF0dXMiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9Ikxpc3RPZlRzblRhbGtlclN0\nYXR1cyI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iVHNuVGFs\na2VyU3RhdHVzIiB0eXBlPSJ0bnM6VHNuVGFsa2VyU3RhdHVzIiBtaW5PY2N1cnM9IjAiIG1heE9j\nY3Vycz0idW5ib3VuZGVkIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5\ncGU+DQogIDx4czplbGVtZW50IG5hbWU9Ikxpc3RPZlRzblRhbGtlclN0YXR1cyIgdHlwZT0idG5z\nOkxpc3RPZlRzblRhbGtlclN0YXR1cyIgbmlsbGFibGU9InRydWUiPjwveHM6ZWxlbWVudD4NCg0K\nICA8eHM6c2ltcGxlVHlwZSAgbmFtZT0iVHNuTGlzdGVuZXJTdGF0dXMiPg0KICAgIDx4czpyZXN0\ncmljdGlvbiBiYXNlPSJ4czpzdHJpbmciPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJO\nb25lXzAiIC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IlJlYWR5XzEiIC8+DQogICAg\nICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IlBhcnRpYWxGYWlsZWRfMiIgLz4NCiAgICAgIDx4czpl\nbnVtZXJhdGlvbiB2YWx1ZT0iRmFpbGVkXzMiIC8+DQogICAgPC94czpyZXN0cmljdGlvbj4NCiAg\nPC94czpzaW1wbGVUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJUc25MaXN0ZW5lclN0YXR1cyIg\ndHlwZT0idG5zOlRzbkxpc3RlbmVyU3RhdHVzIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1l\nPSJMaXN0T2ZUc25MaXN0ZW5lclN0YXR1cyI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhz\nOmVsZW1lbnQgbmFtZT0iVHNuTGlzdGVuZXJTdGF0dXMiIHR5cGU9InRuczpUc25MaXN0ZW5lclN0\nYXR1cyIgbWluT2NjdXJzPSIwIiBtYXhPY2N1cnM9InVuYm91bmRlZCIgLz4NCiAgICA8L3hzOnNl\ncXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJMaXN0T2ZU\nc25MaXN0ZW5lclN0YXR1cyIgdHlwZT0idG5zOkxpc3RPZlRzbkxpc3RlbmVyU3RhdHVzIiBuaWxs\nYWJsZT0idHJ1ZSI+PC94czplbGVtZW50Pg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJVbnNp\nZ25lZFJhdGlvbmFsTnVtYmVyIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVu\ndCBuYW1lPSJOdW1lcmF0b3IiIHR5cGU9InhzOnVuc2lnbmVkSW50IiBtaW5PY2N1cnM9IjAiIC8+\nDQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJEZW5vbWluYXRvciIgdHlwZT0ieHM6dW5zaWduZWRJ\nbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhU\neXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJVbnNpZ25lZFJhdGlvbmFsTnVtYmVyIiB0eXBlPSJ0\nbnM6VW5zaWduZWRSYXRpb25hbE51bWJlciIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0i\nTGlzdE9mVW5zaWduZWRSYXRpb25hbE51bWJlciI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAg\nPHhzOmVsZW1lbnQgbmFtZT0iVW5zaWduZWRSYXRpb25hbE51bWJlciIgdHlwZT0idG5zOlVuc2ln\nbmVkUmF0aW9uYWxOdW1iZXIiIG1pbk9jY3Vycz0iMCIgbWF4T2NjdXJzPSJ1bmJvdW5kZWQiIG5p\nbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+\nDQogIDx4czplbGVtZW50IG5hbWU9Ikxpc3RPZlVuc2lnbmVkUmF0aW9uYWxOdW1iZXIiIHR5cGU9\nInRuczpMaXN0T2ZVbnNpZ25lZFJhdGlvbmFsTnVtYmVyIiBuaWxsYWJsZT0idHJ1ZSI+PC94czpl\nbGVtZW50Pg0KDQogIDx4czpzaW1wbGVUeXBlICBuYW1lPSJJZFR5cGUiPg0KICAgIDx4czpyZXN0\ncmljdGlvbiBiYXNlPSJ4czpzdHJpbmciPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJO\ndW1lcmljXzAiIC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IlN0cmluZ18xIiAvPg0K\nICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJHdWlkXzIiIC8+DQogICAgICA8eHM6ZW51bWVy\nYXRpb24gdmFsdWU9Ik9wYXF1ZV8zIiAvPg0KICAgIDwveHM6cmVzdHJpY3Rpb24+DQogIDwveHM6\nc2ltcGxlVHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iSWRUeXBlIiB0eXBlPSJ0bnM6SWRUeXBl\nIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJMaXN0T2ZJZFR5cGUiPg0KICAgIDx4czpz\nZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IklkVHlwZSIgdHlwZT0idG5zOklkVHlw\nZSIgbWluT2NjdXJzPSIwIiBtYXhPY2N1cnM9InVuYm91bmRlZCIgLz4NCiAgICA8L3hzOnNlcXVl\nbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJMaXN0T2ZJZFR5\ncGUiIHR5cGU9InRuczpMaXN0T2ZJZFR5cGUiIG5pbGxhYmxlPSJ0cnVlIj48L3hzOmVsZW1lbnQ+\nDQoNCiAgPHhzOnNpbXBsZVR5cGUgIG5hbWU9Ik5vZGVDbGFzcyI+DQogICAgPHhzOnJlc3RyaWN0\naW9uIGJhc2U9InhzOnN0cmluZyI+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IlVuc3Bl\nY2lmaWVkXzAiIC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9Ik9iamVjdF8xIiAvPg0K\nICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJWYXJpYWJsZV8yIiAvPg0KICAgICAgPHhzOmVu\ndW1lcmF0aW9uIHZhbHVlPSJNZXRob2RfNCIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1\nZT0iT2JqZWN0VHlwZV84IiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJWYXJpYWJs\nZVR5cGVfMTYiIC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IlJlZmVyZW5jZVR5cGVf\nMzIiIC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IkRhdGFUeXBlXzY0IiAvPg0KICAg\nICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJWaWV3XzEyOCIgLz4NCiAgICA8L3hzOnJlc3RyaWN0\naW9uPg0KICA8L3hzOnNpbXBsZVR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ik5vZGVDbGFzcyIg\ndHlwZT0idG5zOk5vZGVDbGFzcyIgLz4NCg0KICA8eHM6c2ltcGxlVHlwZSAgbmFtZT0iUGVybWlz\nc2lvblR5cGUiPg0KICAgIDx4czpyZXN0cmljdGlvbiBiYXNlPSJ4czp1bnNpZ25lZEludCI+DQog\nICAgPC94czpyZXN0cmljdGlvbj4NCiAgPC94czpzaW1wbGVUeXBlPg0KICA8eHM6ZWxlbWVudCBu\nYW1lPSJQZXJtaXNzaW9uVHlwZSIgdHlwZT0idG5zOlBlcm1pc3Npb25UeXBlIiAvPg0KDQogIDx4\nczpzaW1wbGVUeXBlICBuYW1lPSJBY2Nlc3NMZXZlbFR5cGUiPg0KICAgIDx4czpyZXN0cmljdGlv\nbiBiYXNlPSJ4czp1bnNpZ25lZEJ5dGUiPg0KICAgIDwveHM6cmVzdHJpY3Rpb24+DQogIDwveHM6\nc2ltcGxlVHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iQWNjZXNzTGV2ZWxUeXBlIiB0eXBlPSJ0\nbnM6QWNjZXNzTGV2ZWxUeXBlIiAvPg0KDQogIDx4czpzaW1wbGVUeXBlICBuYW1lPSJBY2Nlc3NM\nZXZlbEV4VHlwZSI+DQogICAgPHhzOnJlc3RyaWN0aW9uIGJhc2U9InhzOnVuc2lnbmVkSW50Ij4N\nCiAgICA8L3hzOnJlc3RyaWN0aW9uPg0KICA8L3hzOnNpbXBsZVR5cGU+DQogIDx4czplbGVtZW50\nIG5hbWU9IkFjY2Vzc0xldmVsRXhUeXBlIiB0eXBlPSJ0bnM6QWNjZXNzTGV2ZWxFeFR5cGUiIC8+\nDQoNCiAgPHhzOnNpbXBsZVR5cGUgIG5hbWU9IkV2ZW50Tm90aWZpZXJUeXBlIj4NCiAgICA8eHM6\ncmVzdHJpY3Rpb24gYmFzZT0ieHM6dW5zaWduZWRCeXRlIj4NCiAgICA8L3hzOnJlc3RyaWN0aW9u\nPg0KICA8L3hzOnNpbXBsZVR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IkV2ZW50Tm90aWZpZXJU\neXBlIiB0eXBlPSJ0bnM6RXZlbnROb3RpZmllclR5cGUiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBl\nIG5hbWU9IlJvbGVQZXJtaXNzaW9uVHlwZSI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhz\nOmVsZW1lbnQgbmFtZT0iUm9sZUlkIiB0eXBlPSJ1YTpOb2RlSWQiIG1pbk9jY3Vycz0iMCIgbmls\nbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJQZXJtaXNzaW9ucyIgdHlw\nZT0idG5zOlBlcm1pc3Npb25UeXBlIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgPC94czpzZXF1ZW5j\nZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iUm9sZVBlcm1pc3Np\nb25UeXBlIiB0eXBlPSJ0bnM6Um9sZVBlcm1pc3Npb25UeXBlIiAvPg0KDQogIDx4czpjb21wbGV4\nVHlwZSBuYW1lPSJMaXN0T2ZSb2xlUGVybWlzc2lvblR5cGUiPg0KICAgIDx4czpzZXF1ZW5jZT4N\nCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJvbGVQZXJtaXNzaW9uVHlwZSIgdHlwZT0idG5zOlJv\nbGVQZXJtaXNzaW9uVHlwZSIgbWluT2NjdXJzPSIwIiBtYXhPY2N1cnM9InVuYm91bmRlZCIgbmls\nbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4N\nCiAgPHhzOmVsZW1lbnQgbmFtZT0iTGlzdE9mUm9sZVBlcm1pc3Npb25UeXBlIiB0eXBlPSJ0bnM6\nTGlzdE9mUm9sZVBlcm1pc3Npb25UeXBlIiBuaWxsYWJsZT0idHJ1ZSI+PC94czplbGVtZW50Pg0K\nDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJEYXRhVHlwZURlZmluaXRpb24iPg0KICAgIDx4czpz\nZXF1ZW5jZT4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6\nZWxlbWVudCBuYW1lPSJEYXRhVHlwZURlZmluaXRpb24iIHR5cGU9InRuczpEYXRhVHlwZURlZmlu\naXRpb24iIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9Ikxpc3RPZkRhdGFUeXBlRGVmaW5p\ndGlvbiI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRGF0YVR5\ncGVEZWZpbml0aW9uIiB0eXBlPSJ0bnM6RGF0YVR5cGVEZWZpbml0aW9uIiBtaW5PY2N1cnM9IjAi\nIG1heE9jY3Vycz0idW5ib3VuZGVkIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVl\nbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJMaXN0T2ZEYXRh\nVHlwZURlZmluaXRpb24iIHR5cGU9InRuczpMaXN0T2ZEYXRhVHlwZURlZmluaXRpb24iIG5pbGxh\nYmxlPSJ0cnVlIj48L3hzOmVsZW1lbnQ+DQoNCiAgPHhzOnNpbXBsZVR5cGUgIG5hbWU9IlN0cnVj\ndHVyZVR5cGUiPg0KICAgIDx4czpyZXN0cmljdGlvbiBiYXNlPSJ4czpzdHJpbmciPg0KICAgICAg\nPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJTdHJ1Y3R1cmVfMCIgLz4NCiAgICAgIDx4czplbnVtZXJh\ndGlvbiB2YWx1ZT0iU3RydWN0dXJlV2l0aE9wdGlvbmFsRmllbGRzXzEiIC8+DQogICAgICA8eHM6\nZW51bWVyYXRpb24gdmFsdWU9IlVuaW9uXzIiIC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFs\ndWU9IlN0cnVjdHVyZVdpdGhTdWJ0eXBlZFZhbHVlc18zIiAvPg0KICAgICAgPHhzOmVudW1lcmF0\naW9uIHZhbHVlPSJVbmlvbldpdGhTdWJ0eXBlZFZhbHVlc180IiAvPg0KICAgIDwveHM6cmVzdHJp\nY3Rpb24+DQogIDwveHM6c2ltcGxlVHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iU3RydWN0dXJl\nVHlwZSIgdHlwZT0idG5zOlN0cnVjdHVyZVR5cGUiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5h\nbWU9IlN0cnVjdHVyZUZpZWxkIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVu\ndCBuYW1lPSJOYW1lIiB0eXBlPSJ4czpzdHJpbmciIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRy\ndWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJEZXNjcmlwdGlvbiIgdHlwZT0idWE6TG9j\nYWxpemVkVGV4dCIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czpl\nbGVtZW50IG5hbWU9IkRhdGFUeXBlIiB0eXBlPSJ1YTpOb2RlSWQiIG1pbk9jY3Vycz0iMCIgbmls\nbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJWYWx1ZVJhbmsiIHR5cGU9\nInhzOmludCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQXJyYXlE\naW1lbnNpb25zIiB0eXBlPSJ1YTpMaXN0T2ZVSW50MzIiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9\nInRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJNYXhTdHJpbmdMZW5ndGgiIHR5cGU9\nInhzOnVuc2lnbmVkSW50IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1l\nPSJJc09wdGlvbmFsIiB0eXBlPSJ4czpib29sZWFuIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgPC94\nczpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iU3Ry\ndWN0dXJlRmllbGQiIHR5cGU9InRuczpTdHJ1Y3R1cmVGaWVsZCIgLz4NCg0KICA8eHM6Y29tcGxl\neFR5cGUgbmFtZT0iTGlzdE9mU3RydWN0dXJlRmllbGQiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAg\nICAgIDx4czplbGVtZW50IG5hbWU9IlN0cnVjdHVyZUZpZWxkIiB0eXBlPSJ0bnM6U3RydWN0dXJl\nRmllbGQiIG1pbk9jY3Vycz0iMCIgbWF4T2NjdXJzPSJ1bmJvdW5kZWQiIG5pbGxhYmxlPSJ0cnVl\nIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVt\nZW50IG5hbWU9Ikxpc3RPZlN0cnVjdHVyZUZpZWxkIiB0eXBlPSJ0bnM6TGlzdE9mU3RydWN0dXJl\nRmllbGQiIG5pbGxhYmxlPSJ0cnVlIj48L3hzOmVsZW1lbnQ+DQoNCiAgPHhzOmNvbXBsZXhUeXBl\nIG5hbWU9IlN0cnVjdHVyZURlZmluaXRpb24iPg0KICAgIDx4czpjb21wbGV4Q29udGVudCBtaXhl\nZD0iZmFsc2UiPg0KICAgICAgPHhzOmV4dGVuc2lvbiBiYXNlPSJ0bnM6RGF0YVR5cGVEZWZpbml0\naW9uIj4NCiAgICAgICAgPHhzOnNlcXVlbmNlPg0KICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9\nIkRlZmF1bHRFbmNvZGluZ0lkIiB0eXBlPSJ1YTpOb2RlSWQiIG1pbk9jY3Vycz0iMCIgbmlsbGFi\nbGU9InRydWUiIC8+DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQmFzZURhdGFUeXBlIiB0\neXBlPSJ1YTpOb2RlSWQiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICAg\nICAgPHhzOmVsZW1lbnQgbmFtZT0iU3RydWN0dXJlVHlwZSIgdHlwZT0idG5zOlN0cnVjdHVyZVR5\ncGUiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJGaWVsZHMi\nIHR5cGU9InRuczpMaXN0T2ZTdHJ1Y3R1cmVGaWVsZCIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0i\ndHJ1ZSIgLz4NCiAgICAgICAgPC94czpzZXF1ZW5jZT4NCiAgICAgIDwveHM6ZXh0ZW5zaW9uPg0K\nICAgIDwveHM6Y29tcGxleENvbnRlbnQ+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVt\nZW50IG5hbWU9IlN0cnVjdHVyZURlZmluaXRpb24iIHR5cGU9InRuczpTdHJ1Y3R1cmVEZWZpbml0\naW9uIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJMaXN0T2ZTdHJ1Y3R1cmVEZWZpbml0\naW9uIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTdHJ1Y3R1\ncmVEZWZpbml0aW9uIiB0eXBlPSJ0bnM6U3RydWN0dXJlRGVmaW5pdGlvbiIgbWluT2NjdXJzPSIw\nIiBtYXhPY2N1cnM9InVuYm91bmRlZCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1\nZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iTGlzdE9mU3Ry\ndWN0dXJlRGVmaW5pdGlvbiIgdHlwZT0idG5zOkxpc3RPZlN0cnVjdHVyZURlZmluaXRpb24iIG5p\nbGxhYmxlPSJ0cnVlIj48L3hzOmVsZW1lbnQ+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IkVu\ndW1EZWZpbml0aW9uIj4NCiAgICA8eHM6Y29tcGxleENvbnRlbnQgbWl4ZWQ9ImZhbHNlIj4NCiAg\nICAgIDx4czpleHRlbnNpb24gYmFzZT0idG5zOkRhdGFUeXBlRGVmaW5pdGlvbiI+DQogICAgICAg\nIDx4czpzZXF1ZW5jZT4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJGaWVsZHMiIHR5cGU9\nInRuczpMaXN0T2ZFbnVtRmllbGQiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQog\nICAgICAgIDwveHM6c2VxdWVuY2U+DQogICAgICA8L3hzOmV4dGVuc2lvbj4NCiAgICA8L3hzOmNv\nbXBsZXhDb250ZW50Pg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJF\nbnVtRGVmaW5pdGlvbiIgdHlwZT0idG5zOkVudW1EZWZpbml0aW9uIiAvPg0KDQogIDx4czpjb21w\nbGV4VHlwZSBuYW1lPSJMaXN0T2ZFbnVtRGVmaW5pdGlvbiI+DQogICAgPHhzOnNlcXVlbmNlPg0K\nICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRW51bURlZmluaXRpb24iIHR5cGU9InRuczpFbnVtRGVm\naW5pdGlvbiIgbWluT2NjdXJzPSIwIiBtYXhPY2N1cnM9InVuYm91bmRlZCIgbmlsbGFibGU9InRy\ndWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVs\nZW1lbnQgbmFtZT0iTGlzdE9mRW51bURlZmluaXRpb24iIHR5cGU9InRuczpMaXN0T2ZFbnVtRGVm\naW5pdGlvbiIgbmlsbGFibGU9InRydWUiPjwveHM6ZWxlbWVudD4NCg0KICA8eHM6Y29tcGxleFR5\ncGUgbmFtZT0iTm9kZSI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFt\nZT0iTm9kZUlkIiB0eXBlPSJ1YTpOb2RlSWQiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUi\nIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJOb2RlQ2xhc3MiIHR5cGU9InRuczpOb2RlQ2xh\nc3MiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkJyb3dzZU5hbWUi\nIHR5cGU9InVhOlF1YWxpZmllZE5hbWUiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+\nDQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJEaXNwbGF5TmFtZSIgdHlwZT0idWE6TG9jYWxpemVk\nVGV4dCIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50\nIG5hbWU9IkRlc2NyaXB0aW9uIiB0eXBlPSJ1YTpMb2NhbGl6ZWRUZXh0IiBtaW5PY2N1cnM9IjAi\nIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iV3JpdGVNYXNrIiB0\neXBlPSJ4czp1bnNpZ25lZEludCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQg\nbmFtZT0iVXNlcldyaXRlTWFzayIgdHlwZT0ieHM6dW5zaWduZWRJbnQiIG1pbk9jY3Vycz0iMCIg\nLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJvbGVQZXJtaXNzaW9ucyIgdHlwZT0idG5zOkxp\nc3RPZlJvbGVQZXJtaXNzaW9uVHlwZSIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4N\nCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlVzZXJSb2xlUGVybWlzc2lvbnMiIHR5cGU9InRuczpM\naXN0T2ZSb2xlUGVybWlzc2lvblR5cGUiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+\nDQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJBY2Nlc3NSZXN0cmljdGlvbnMiIHR5cGU9InhzOnVu\nc2lnbmVkU2hvcnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJl\nZmVyZW5jZXMiIHR5cGU9InRuczpMaXN0T2ZSZWZlcmVuY2VOb2RlIiBtaW5PY2N1cnM9IjAiIG5p\nbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+\nDQogIDx4czplbGVtZW50IG5hbWU9Ik5vZGUiIHR5cGU9InRuczpOb2RlIiAvPg0KDQogIDx4czpj\nb21wbGV4VHlwZSBuYW1lPSJMaXN0T2ZOb2RlIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8\neHM6ZWxlbWVudCBuYW1lPSJOb2RlIiB0eXBlPSJ0bnM6Tm9kZSIgbWluT2NjdXJzPSIwIiBtYXhP\nY2N1cnM9InVuYm91bmRlZCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4N\nCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iTGlzdE9mTm9kZSIgdHlw\nZT0idG5zOkxpc3RPZk5vZGUiIG5pbGxhYmxlPSJ0cnVlIj48L3hzOmVsZW1lbnQ+DQoNCiAgPHhz\nOmNvbXBsZXhUeXBlIG5hbWU9Ikluc3RhbmNlTm9kZSI+DQogICAgPHhzOmNvbXBsZXhDb250ZW50\nIG1peGVkPSJmYWxzZSI+DQogICAgICA8eHM6ZXh0ZW5zaW9uIGJhc2U9InRuczpOb2RlIj4NCiAg\nICAgICAgPHhzOnNlcXVlbmNlPg0KICAgICAgICA8L3hzOnNlcXVlbmNlPg0KICAgICAgPC94czpl\neHRlbnNpb24+DQogICAgPC94czpjb21wbGV4Q29udGVudD4NCiAgPC94czpjb21wbGV4VHlwZT4N\nCiAgPHhzOmVsZW1lbnQgbmFtZT0iSW5zdGFuY2VOb2RlIiB0eXBlPSJ0bnM6SW5zdGFuY2VOb2Rl\nIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJUeXBlTm9kZSI+DQogICAgPHhzOmNvbXBs\nZXhDb250ZW50IG1peGVkPSJmYWxzZSI+DQogICAgICA8eHM6ZXh0ZW5zaW9uIGJhc2U9InRuczpO\nb2RlIj4NCiAgICAgICAgPHhzOnNlcXVlbmNlPg0KICAgICAgICA8L3hzOnNlcXVlbmNlPg0KICAg\nICAgPC94czpleHRlbnNpb24+DQogICAgPC94czpjb21wbGV4Q29udGVudD4NCiAgPC94czpjb21w\nbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iVHlwZU5vZGUiIHR5cGU9InRuczpUeXBlTm9k\nZSIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iT2JqZWN0Tm9kZSI+DQogICAgPHhzOmNv\nbXBsZXhDb250ZW50IG1peGVkPSJmYWxzZSI+DQogICAgICA8eHM6ZXh0ZW5zaW9uIGJhc2U9InRu\nczpJbnN0YW5jZU5vZGUiPg0KICAgICAgICA8eHM6c2VxdWVuY2U+DQogICAgICAgICAgPHhzOmVs\nZW1lbnQgbmFtZT0iRXZlbnROb3RpZmllciIgdHlwZT0ieHM6dW5zaWduZWRCeXRlIiBtaW5PY2N1\ncnM9IjAiIC8+DQogICAgICAgIDwveHM6c2VxdWVuY2U+DQogICAgICA8L3hzOmV4dGVuc2lvbj4N\nCiAgICA8L3hzOmNvbXBsZXhDb250ZW50Pg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxl\nbWVudCBuYW1lPSJPYmplY3ROb2RlIiB0eXBlPSJ0bnM6T2JqZWN0Tm9kZSIgLz4NCg0KICA8eHM6\nY29tcGxleFR5cGUgbmFtZT0iT2JqZWN0VHlwZU5vZGUiPg0KICAgIDx4czpjb21wbGV4Q29udGVu\ndCBtaXhlZD0iZmFsc2UiPg0KICAgICAgPHhzOmV4dGVuc2lvbiBiYXNlPSJ0bnM6VHlwZU5vZGUi\nPg0KICAgICAgICA8eHM6c2VxdWVuY2U+DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iSXNB\nYnN0cmFjdCIgdHlwZT0ieHM6Ym9vbGVhbiIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgICA8L3hz\nOnNlcXVlbmNlPg0KICAgICAgPC94czpleHRlbnNpb24+DQogICAgPC94czpjb21wbGV4Q29udGVu\ndD4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iT2JqZWN0VHlwZU5v\nZGUiIHR5cGU9InRuczpPYmplY3RUeXBlTm9kZSIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFt\nZT0iVmFyaWFibGVOb2RlIj4NCiAgICA8eHM6Y29tcGxleENvbnRlbnQgbWl4ZWQ9ImZhbHNlIj4N\nCiAgICAgIDx4czpleHRlbnNpb24gYmFzZT0idG5zOkluc3RhbmNlTm9kZSI+DQogICAgICAgIDx4\nczpzZXF1ZW5jZT4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJWYWx1ZSIgdHlwZT0idWE6\nVmFyaWFudCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9IkRh\ndGFUeXBlIiB0eXBlPSJ1YTpOb2RlSWQiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+\nDQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iVmFsdWVSYW5rIiB0eXBlPSJ4czppbnQiIG1p\nbk9jY3Vycz0iMCIgLz4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJBcnJheURpbWVuc2lv\nbnMiIHR5cGU9InVhOkxpc3RPZlVJbnQzMiIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIg\nLz4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJBY2Nlc3NMZXZlbCIgdHlwZT0ieHM6dW5z\naWduZWRCeXRlIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0i\nVXNlckFjY2Vzc0xldmVsIiB0eXBlPSJ4czp1bnNpZ25lZEJ5dGUiIG1pbk9jY3Vycz0iMCIgLz4N\nCiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJNaW5pbXVtU2FtcGxpbmdJbnRlcnZhbCIgdHlw\nZT0ieHM6ZG91YmxlIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFt\nZT0iSGlzdG9yaXppbmciIHR5cGU9InhzOmJvb2xlYW4iIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAg\nICAgICA8eHM6ZWxlbWVudCBuYW1lPSJBY2Nlc3NMZXZlbEV4IiB0eXBlPSJ4czp1bnNpZ25lZElu\ndCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgICA8L3hzOnNlcXVlbmNlPg0KICAgICAgPC94czpl\neHRlbnNpb24+DQogICAgPC94czpjb21wbGV4Q29udGVudD4NCiAgPC94czpjb21wbGV4VHlwZT4N\nCiAgPHhzOmVsZW1lbnQgbmFtZT0iVmFyaWFibGVOb2RlIiB0eXBlPSJ0bnM6VmFyaWFibGVOb2Rl\nIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJWYXJpYWJsZVR5cGVOb2RlIj4NCiAgICA8\neHM6Y29tcGxleENvbnRlbnQgbWl4ZWQ9ImZhbHNlIj4NCiAgICAgIDx4czpleHRlbnNpb24gYmFz\nZT0idG5zOlR5cGVOb2RlIj4NCiAgICAgICAgPHhzOnNlcXVlbmNlPg0KICAgICAgICAgIDx4czpl\nbGVtZW50IG5hbWU9IlZhbHVlIiB0eXBlPSJ1YTpWYXJpYW50IiBtaW5PY2N1cnM9IjAiIC8+DQog\nICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRGF0YVR5cGUiIHR5cGU9InVhOk5vZGVJZCIgbWlu\nT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1l\nPSJWYWx1ZVJhbmsiIHR5cGU9InhzOmludCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgICAgIDx4\nczplbGVtZW50IG5hbWU9IkFycmF5RGltZW5zaW9ucyIgdHlwZT0idWE6TGlzdE9mVUludDMyIiBt\naW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgICAgIDx4czplbGVtZW50IG5h\nbWU9IklzQWJzdHJhY3QiIHR5cGU9InhzOmJvb2xlYW4iIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAg\nICAgPC94czpzZXF1ZW5jZT4NCiAgICAgIDwveHM6ZXh0ZW5zaW9uPg0KICAgIDwveHM6Y29tcGxl\neENvbnRlbnQ+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IlZhcmlh\nYmxlVHlwZU5vZGUiIHR5cGU9InRuczpWYXJpYWJsZVR5cGVOb2RlIiAvPg0KDQogIDx4czpjb21w\nbGV4VHlwZSBuYW1lPSJSZWZlcmVuY2VUeXBlTm9kZSI+DQogICAgPHhzOmNvbXBsZXhDb250ZW50\nIG1peGVkPSJmYWxzZSI+DQogICAgICA8eHM6ZXh0ZW5zaW9uIGJhc2U9InRuczpUeXBlTm9kZSI+\nDQogICAgICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJJc0Fi\nc3RyYWN0IiB0eXBlPSJ4czpib29sZWFuIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICAgICAgPHhz\nOmVsZW1lbnQgbmFtZT0iU3ltbWV0cmljIiB0eXBlPSJ4czpib29sZWFuIiBtaW5PY2N1cnM9IjAi\nIC8+DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iSW52ZXJzZU5hbWUiIHR5cGU9InVhOkxv\nY2FsaXplZFRleHQiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICAgIDwv\neHM6c2VxdWVuY2U+DQogICAgICA8L3hzOmV4dGVuc2lvbj4NCiAgICA8L3hzOmNvbXBsZXhDb250\nZW50Pg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJSZWZlcmVuY2VU\neXBlTm9kZSIgdHlwZT0idG5zOlJlZmVyZW5jZVR5cGVOb2RlIiAvPg0KDQogIDx4czpjb21wbGV4\nVHlwZSBuYW1lPSJNZXRob2ROb2RlIj4NCiAgICA8eHM6Y29tcGxleENvbnRlbnQgbWl4ZWQ9ImZh\nbHNlIj4NCiAgICAgIDx4czpleHRlbnNpb24gYmFzZT0idG5zOkluc3RhbmNlTm9kZSI+DQogICAg\nICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJFeGVjdXRhYmxl\nIiB0eXBlPSJ4czpib29sZWFuIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICAgICAgPHhzOmVsZW1l\nbnQgbmFtZT0iVXNlckV4ZWN1dGFibGUiIHR5cGU9InhzOmJvb2xlYW4iIG1pbk9jY3Vycz0iMCIg\nLz4NCiAgICAgICAgPC94czpzZXF1ZW5jZT4NCiAgICAgIDwveHM6ZXh0ZW5zaW9uPg0KICAgIDwv\neHM6Y29tcGxleENvbnRlbnQ+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5h\nbWU9Ik1ldGhvZE5vZGUiIHR5cGU9InRuczpNZXRob2ROb2RlIiAvPg0KDQogIDx4czpjb21wbGV4\nVHlwZSBuYW1lPSJWaWV3Tm9kZSI+DQogICAgPHhzOmNvbXBsZXhDb250ZW50IG1peGVkPSJmYWxz\nZSI+DQogICAgICA8eHM6ZXh0ZW5zaW9uIGJhc2U9InRuczpJbnN0YW5jZU5vZGUiPg0KICAgICAg\nICA8eHM6c2VxdWVuY2U+DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQ29udGFpbnNOb0xv\nb3BzIiB0eXBlPSJ4czpib29sZWFuIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICAgICAgPHhzOmVs\nZW1lbnQgbmFtZT0iRXZlbnROb3RpZmllciIgdHlwZT0ieHM6dW5zaWduZWRCeXRlIiBtaW5PY2N1\ncnM9IjAiIC8+DQogICAgICAgIDwveHM6c2VxdWVuY2U+DQogICAgICA8L3hzOmV4dGVuc2lvbj4N\nCiAgICA8L3hzOmNvbXBsZXhDb250ZW50Pg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxl\nbWVudCBuYW1lPSJWaWV3Tm9kZSIgdHlwZT0idG5zOlZpZXdOb2RlIiAvPg0KDQogIDx4czpjb21w\nbGV4VHlwZSBuYW1lPSJEYXRhVHlwZU5vZGUiPg0KICAgIDx4czpjb21wbGV4Q29udGVudCBtaXhl\nZD0iZmFsc2UiPg0KICAgICAgPHhzOmV4dGVuc2lvbiBiYXNlPSJ0bnM6VHlwZU5vZGUiPg0KICAg\nICAgICA8eHM6c2VxdWVuY2U+DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iSXNBYnN0cmFj\ndCIgdHlwZT0ieHM6Ym9vbGVhbiIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgICAgIDx4czplbGVt\nZW50IG5hbWU9IkRhdGFUeXBlRGVmaW5pdGlvbiIgdHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0IiBt\naW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgICA8L3hzOnNlcXVlbmNlPg0K\nICAgICAgPC94czpleHRlbnNpb24+DQogICAgPC94czpjb21wbGV4Q29udGVudD4NCiAgPC94czpj\nb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iRGF0YVR5cGVOb2RlIiB0eXBlPSJ0bnM6\nRGF0YVR5cGVOb2RlIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJSZWZlcmVuY2VOb2Rl\nIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZWZlcmVuY2VU\neXBlSWQiIHR5cGU9InVhOk5vZGVJZCIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4N\nCiAgICAgIDx4czplbGVtZW50IG5hbWU9IklzSW52ZXJzZSIgdHlwZT0ieHM6Ym9vbGVhbiIgbWlu\nT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iVGFyZ2V0SWQiIHR5cGU9InVh\nOkV4cGFuZGVkTm9kZUlkIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwv\neHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IlJl\nZmVyZW5jZU5vZGUiIHR5cGU9InRuczpSZWZlcmVuY2VOb2RlIiAvPg0KDQogIDx4czpjb21wbGV4\nVHlwZSBuYW1lPSJMaXN0T2ZSZWZlcmVuY2VOb2RlIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAg\nICA8eHM6ZWxlbWVudCBuYW1lPSJSZWZlcmVuY2VOb2RlIiB0eXBlPSJ0bnM6UmVmZXJlbmNlTm9k\nZSIgbWluT2NjdXJzPSIwIiBtYXhPY2N1cnM9InVuYm91bmRlZCIgbmlsbGFibGU9InRydWUiIC8+\nDQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQg\nbmFtZT0iTGlzdE9mUmVmZXJlbmNlTm9kZSIgdHlwZT0idG5zOkxpc3RPZlJlZmVyZW5jZU5vZGUi\nIG5pbGxhYmxlPSJ0cnVlIj48L3hzOmVsZW1lbnQ+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9\nIkFyZ3VtZW50Ij4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJO\nYW1lIiB0eXBlPSJ4czpzdHJpbmciIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQog\nICAgICA8eHM6ZWxlbWVudCBuYW1lPSJEYXRhVHlwZSIgdHlwZT0idWE6Tm9kZUlkIiBtaW5PY2N1\ncnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iVmFsdWVS\nYW5rIiB0eXBlPSJ4czppbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5h\nbWU9IkFycmF5RGltZW5zaW9ucyIgdHlwZT0idWE6TGlzdE9mVUludDMyIiBtaW5PY2N1cnM9IjAi\nIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRGVzY3JpcHRpb24i\nIHR5cGU9InVhOkxvY2FsaXplZFRleHQiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+\nDQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQg\nbmFtZT0iQXJndW1lbnQiIHR5cGU9InRuczpBcmd1bWVudCIgLz4NCg0KICA8eHM6Y29tcGxleFR5\ncGUgbmFtZT0iTGlzdE9mQXJndW1lbnQiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czpl\nbGVtZW50IG5hbWU9IkFyZ3VtZW50IiB0eXBlPSJ0bnM6QXJndW1lbnQiIG1pbk9jY3Vycz0iMCIg\nbWF4T2NjdXJzPSJ1bmJvdW5kZWQiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVu\nY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ikxpc3RPZkFyZ3Vt\nZW50IiB0eXBlPSJ0bnM6TGlzdE9mQXJndW1lbnQiIG5pbGxhYmxlPSJ0cnVlIj48L3hzOmVsZW1l\nbnQ+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IkVudW1WYWx1ZVR5cGUiPg0KICAgIDx4czpz\nZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlZhbHVlIiB0eXBlPSJ4czpsb25nIiBt\naW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJEaXNwbGF5TmFtZSIgdHlw\nZT0idWE6TG9jYWxpemVkVGV4dCIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAg\nICAgIDx4czplbGVtZW50IG5hbWU9IkRlc2NyaXB0aW9uIiB0eXBlPSJ1YTpMb2NhbGl6ZWRUZXh0\nIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQog\nIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IkVudW1WYWx1ZVR5cGUiIHR5\ncGU9InRuczpFbnVtVmFsdWVUeXBlIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJMaXN0\nT2ZFbnVtVmFsdWVUeXBlIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBu\nYW1lPSJFbnVtVmFsdWVUeXBlIiB0eXBlPSJ0bnM6RW51bVZhbHVlVHlwZSIgbWluT2NjdXJzPSIw\nIiBtYXhPY2N1cnM9InVuYm91bmRlZCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1\nZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iTGlzdE9mRW51\nbVZhbHVlVHlwZSIgdHlwZT0idG5zOkxpc3RPZkVudW1WYWx1ZVR5cGUiIG5pbGxhYmxlPSJ0cnVl\nIj48L3hzOmVsZW1lbnQ+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IkVudW1GaWVsZCI+DQog\nICAgPHhzOmNvbXBsZXhDb250ZW50IG1peGVkPSJmYWxzZSI+DQogICAgICA8eHM6ZXh0ZW5zaW9u\nIGJhc2U9InRuczpFbnVtVmFsdWVUeXBlIj4NCiAgICAgICAgPHhzOnNlcXVlbmNlPg0KICAgICAg\nICAgIDx4czplbGVtZW50IG5hbWU9Ik5hbWUiIHR5cGU9InhzOnN0cmluZyIgbWluT2NjdXJzPSIw\nIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgICAgPC94czpzZXF1ZW5jZT4NCiAgICAgIDwveHM6\nZXh0ZW5zaW9uPg0KICAgIDwveHM6Y29tcGxleENvbnRlbnQ+DQogIDwveHM6Y29tcGxleFR5cGU+\nDQogIDx4czplbGVtZW50IG5hbWU9IkVudW1GaWVsZCIgdHlwZT0idG5zOkVudW1GaWVsZCIgLz4N\nCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iTGlzdE9mRW51bUZpZWxkIj4NCiAgICA8eHM6c2Vx\ndWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJFbnVtRmllbGQiIHR5cGU9InRuczpFbnVt\nRmllbGQiIG1pbk9jY3Vycz0iMCIgbWF4T2NjdXJzPSJ1bmJvdW5kZWQiIG5pbGxhYmxlPSJ0cnVl\nIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVt\nZW50IG5hbWU9Ikxpc3RPZkVudW1GaWVsZCIgdHlwZT0idG5zOkxpc3RPZkVudW1GaWVsZCIgbmls\nbGFibGU9InRydWUiPjwveHM6ZWxlbWVudD4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iT3B0\naW9uU2V0Ij4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJWYWx1\nZSIgdHlwZT0ieHM6YmFzZTY0QmluYXJ5IiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAv\nPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iVmFsaWRCaXRzIiB0eXBlPSJ4czpiYXNlNjRCaW5h\ncnkiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4N\nCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iT3B0aW9uU2V0IiB0eXBl\nPSJ0bnM6T3B0aW9uU2V0IiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJMaXN0T2ZPcHRp\nb25TZXQiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9Ik9wdGlv\nblNldCIgdHlwZT0idG5zOk9wdGlvblNldCIgbWluT2NjdXJzPSIwIiBtYXhPY2N1cnM9InVuYm91\nbmRlZCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21w\nbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iTGlzdE9mT3B0aW9uU2V0IiB0eXBlPSJ0bnM6\nTGlzdE9mT3B0aW9uU2V0IiBuaWxsYWJsZT0idHJ1ZSI+PC94czplbGVtZW50Pg0KDQogIDx4czpl\nbGVtZW50IG5hbWU9Ik5vcm1hbGl6ZWRTdHJpbmciIHR5cGU9InhzOnN0cmluZyIgLz4NCg0KICA8\neHM6ZWxlbWVudCBuYW1lPSJEZWNpbWFsU3RyaW5nIiB0eXBlPSJ4czpzdHJpbmciIC8+DQoNCiAg\nPHhzOmVsZW1lbnQgbmFtZT0iRHVyYXRpb25TdHJpbmciIHR5cGU9InhzOnN0cmluZyIgLz4NCg0K\nICA8eHM6ZWxlbWVudCBuYW1lPSJUaW1lU3RyaW5nIiB0eXBlPSJ4czpzdHJpbmciIC8+DQoNCiAg\nPHhzOmVsZW1lbnQgbmFtZT0iRGF0ZVN0cmluZyIgdHlwZT0ieHM6c3RyaW5nIiAvPg0KDQogIDx4\nczplbGVtZW50IG5hbWU9IkR1cmF0aW9uIiB0eXBlPSJ4czpkb3VibGUiIC8+DQoNCiAgPHhzOmVs\nZW1lbnQgbmFtZT0iVXRjVGltZSIgdHlwZT0ieHM6ZGF0ZVRpbWUiIC8+DQoNCiAgPHhzOmVsZW1l\nbnQgbmFtZT0iVGltZSIgdHlwZT0ieHM6c3RyaW5nIiAvPg0KDQogIDx4czplbGVtZW50IG5hbWU9\nIkRhdGUiIHR5cGU9InhzOmRhdGVUaW1lIiAvPg0KDQogIDx4czplbGVtZW50IG5hbWU9IkxvY2Fs\nZUlkIiB0eXBlPSJ4czpzdHJpbmciIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IlRpbWVa\nb25lRGF0YVR5cGUiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9\nIk9mZnNldCIgdHlwZT0ieHM6c2hvcnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVt\nZW50IG5hbWU9IkRheWxpZ2h0U2F2aW5nSW5PZmZzZXQiIHR5cGU9InhzOmJvb2xlYW4iIG1pbk9j\nY3Vycz0iMCIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8\neHM6ZWxlbWVudCBuYW1lPSJUaW1lWm9uZURhdGFUeXBlIiB0eXBlPSJ0bnM6VGltZVpvbmVEYXRh\nVHlwZSIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iTGlzdE9mVGltZVpvbmVEYXRhVHlw\nZSI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iVGltZVpvbmVE\nYXRhVHlwZSIgdHlwZT0idG5zOlRpbWVab25lRGF0YVR5cGUiIG1pbk9jY3Vycz0iMCIgbWF4T2Nj\ndXJzPSJ1bmJvdW5kZWQiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQog\nIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ikxpc3RPZlRpbWVab25lRGF0\nYVR5cGUiIHR5cGU9InRuczpMaXN0T2ZUaW1lWm9uZURhdGFUeXBlIiBuaWxsYWJsZT0idHJ1ZSI+\nPC94czplbGVtZW50Pg0KDQogIDx4czplbGVtZW50IG5hbWU9IkluZGV4IiB0eXBlPSJ4czp1bnNp\nZ25lZEludCIgLz4NCg0KICA8eHM6ZWxlbWVudCBuYW1lPSJJbnRlZ2VySWQiIHR5cGU9InhzOnVu\nc2lnbmVkSW50IiAvPg0KDQogIDx4czpzaW1wbGVUeXBlICBuYW1lPSJBcHBsaWNhdGlvblR5cGUi\nPg0KICAgIDx4czpyZXN0cmljdGlvbiBiYXNlPSJ4czpzdHJpbmciPg0KICAgICAgPHhzOmVudW1l\ncmF0aW9uIHZhbHVlPSJTZXJ2ZXJfMCIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0i\nQ2xpZW50XzEiIC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IkNsaWVudEFuZFNlcnZl\ncl8yIiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJEaXNjb3ZlcnlTZXJ2ZXJfMyIg\nLz4NCiAgICA8L3hzOnJlc3RyaWN0aW9uPg0KICA8L3hzOnNpbXBsZVR5cGU+DQogIDx4czplbGVt\nZW50IG5hbWU9IkFwcGxpY2F0aW9uVHlwZSIgdHlwZT0idG5zOkFwcGxpY2F0aW9uVHlwZSIgLz4N\nCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iQXBwbGljYXRpb25EZXNjcmlwdGlvbiI+DQogICAg\nPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQXBwbGljYXRpb25VcmkiIHR5\ncGU9InhzOnN0cmluZyIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4\nczplbGVtZW50IG5hbWU9IlByb2R1Y3RVcmkiIHR5cGU9InhzOnN0cmluZyIgbWluT2NjdXJzPSIw\nIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkFwcGxpY2F0aW9u\nTmFtZSIgdHlwZT0idWE6TG9jYWxpemVkVGV4dCIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1\nZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkFwcGxpY2F0aW9uVHlwZSIgdHlwZT0idG5z\nOkFwcGxpY2F0aW9uVHlwZSIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFt\nZT0iR2F0ZXdheVNlcnZlclVyaSIgdHlwZT0ieHM6c3RyaW5nIiBtaW5PY2N1cnM9IjAiIG5pbGxh\nYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRGlzY292ZXJ5UHJvZmlsZVVy\naSIgdHlwZT0ieHM6c3RyaW5nIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAg\nICAgPHhzOmVsZW1lbnQgbmFtZT0iRGlzY292ZXJ5VXJscyIgdHlwZT0idWE6TGlzdE9mU3RyaW5n\nIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQog\nIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IkFwcGxpY2F0aW9uRGVzY3Jp\ncHRpb24iIHR5cGU9InRuczpBcHBsaWNhdGlvbkRlc2NyaXB0aW9uIiAvPg0KDQogIDx4czpjb21w\nbGV4VHlwZSBuYW1lPSJMaXN0T2ZBcHBsaWNhdGlvbkRlc2NyaXB0aW9uIj4NCiAgICA8eHM6c2Vx\ndWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJBcHBsaWNhdGlvbkRlc2NyaXB0aW9uIiB0\neXBlPSJ0bnM6QXBwbGljYXRpb25EZXNjcmlwdGlvbiIgbWluT2NjdXJzPSIwIiBtYXhPY2N1cnM9\nInVuYm91bmRlZCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94\nczpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iTGlzdE9mQXBwbGljYXRpb25EZXNj\ncmlwdGlvbiIgdHlwZT0idG5zOkxpc3RPZkFwcGxpY2F0aW9uRGVzY3JpcHRpb24iIG5pbGxhYmxl\nPSJ0cnVlIj48L3hzOmVsZW1lbnQ+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IlJlcXVlc3RI\nZWFkZXIiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkF1dGhl\nbnRpY2F0aW9uVG9rZW4iIHR5cGU9InVhOk5vZGVJZCIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0i\ndHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlRpbWVzdGFtcCIgdHlwZT0ieHM6ZGF0\nZVRpbWUiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJlcXVlc3RI\nYW5kbGUiIHR5cGU9InhzOnVuc2lnbmVkSW50IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6\nZWxlbWVudCBuYW1lPSJSZXR1cm5EaWFnbm9zdGljcyIgdHlwZT0ieHM6dW5zaWduZWRJbnQiIG1p\nbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkF1ZGl0RW50cnlJZCIgdHlw\nZT0ieHM6c3RyaW5nIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhz\nOmVsZW1lbnQgbmFtZT0iVGltZW91dEhpbnQiIHR5cGU9InhzOnVuc2lnbmVkSW50IiBtaW5PY2N1\ncnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJBZGRpdGlvbmFsSGVhZGVyIiB0eXBl\nPSJ1YTpFeHRlbnNpb25PYmplY3QiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQog\nICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFt\nZT0iUmVxdWVzdEhlYWRlciIgdHlwZT0idG5zOlJlcXVlc3RIZWFkZXIiIC8+DQoNCiAgPHhzOmNv\nbXBsZXhUeXBlIG5hbWU9IlJlc3BvbnNlSGVhZGVyIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAg\nICA8eHM6ZWxlbWVudCBuYW1lPSJUaW1lc3RhbXAiIHR5cGU9InhzOmRhdGVUaW1lIiBtaW5PY2N1\ncnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZXF1ZXN0SGFuZGxlIiB0eXBlPSJ4\nczp1bnNpZ25lZEludCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0i\nU2VydmljZVJlc3VsdCIgdHlwZT0idWE6U3RhdHVzQ29kZSIgbWluT2NjdXJzPSIwIiAvPg0KICAg\nICAgPHhzOmVsZW1lbnQgbmFtZT0iU2VydmljZURpYWdub3N0aWNzIiB0eXBlPSJ1YTpEaWFnbm9z\ndGljSW5mbyIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVt\nZW50IG5hbWU9IlN0cmluZ1RhYmxlIiB0eXBlPSJ1YTpMaXN0T2ZTdHJpbmciIG1pbk9jY3Vycz0i\nMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJBZGRpdGlvbmFs\nSGVhZGVyIiB0eXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9\nInRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhz\nOmVsZW1lbnQgbmFtZT0iUmVzcG9uc2VIZWFkZXIiIHR5cGU9InRuczpSZXNwb25zZUhlYWRlciIg\nLz4NCg0KICA8eHM6ZWxlbWVudCBuYW1lPSJWZXJzaW9uVGltZSIgdHlwZT0ieHM6dW5zaWduZWRJ\nbnQiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IlNlcnZpY2VGYXVsdCI+DQogICAgPHhz\nOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVzcG9uc2VIZWFkZXIiIHR5cGU9\nInRuczpSZXNwb25zZUhlYWRlciIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAg\nICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1l\nPSJTZXJ2aWNlRmF1bHQiIHR5cGU9InRuczpTZXJ2aWNlRmF1bHQiIC8+DQoNCiAgPHhzOmNvbXBs\nZXhUeXBlIG5hbWU9IlNlc3Npb25sZXNzSW52b2tlUmVxdWVzdFR5cGUiPg0KICAgIDx4czpzZXF1\nZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlVyaXNWZXJzaW9uIiB0eXBlPSJ4czp1bnNp\nZ25lZEludCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTmFtZXNw\nYWNlVXJpcyIgdHlwZT0idWE6TGlzdE9mU3RyaW5nIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0\ncnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iU2VydmVyVXJpcyIgdHlwZT0idWE6TGlz\ndE9mU3RyaW5nIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVs\nZW1lbnQgbmFtZT0iTG9jYWxlSWRzIiB0eXBlPSJ1YTpMaXN0T2ZTdHJpbmciIG1pbk9jY3Vycz0i\nMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTZXJ2aWNlSWQi\nIHR5cGU9InhzOnVuc2lnbmVkSW50IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgPC94czpzZXF1ZW5j\nZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iU2Vzc2lvbmxlc3NJ\nbnZva2VSZXF1ZXN0VHlwZSIgdHlwZT0idG5zOlNlc3Npb25sZXNzSW52b2tlUmVxdWVzdFR5cGUi\nIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IlNlc3Npb25sZXNzSW52b2tlUmVzcG9uc2VU\neXBlIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJOYW1lc3Bh\nY2VVcmlzIiB0eXBlPSJ1YTpMaXN0T2ZTdHJpbmciIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRy\ndWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTZXJ2ZXJVcmlzIiB0eXBlPSJ1YTpMaXN0\nT2ZTdHJpbmciIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxl\nbWVudCBuYW1lPSJTZXJ2aWNlSWQiIHR5cGU9InhzOnVuc2lnbmVkSW50IiBtaW5PY2N1cnM9IjAi\nIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1l\nbnQgbmFtZT0iU2Vzc2lvbmxlc3NJbnZva2VSZXNwb25zZVR5cGUiIHR5cGU9InRuczpTZXNzaW9u\nbGVzc0ludm9rZVJlc3BvbnNlVHlwZSIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iRmlu\nZFNlcnZlcnNSZXF1ZXN0Ij4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBu\nYW1lPSJSZXF1ZXN0SGVhZGVyIiB0eXBlPSJ0bnM6UmVxdWVzdEhlYWRlciIgbWluT2NjdXJzPSIw\nIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkVuZHBvaW50VXJs\nIiB0eXBlPSJ4czpzdHJpbmciIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAg\nICA8eHM6ZWxlbWVudCBuYW1lPSJMb2NhbGVJZHMiIHR5cGU9InVhOkxpc3RPZlN0cmluZyIgbWlu\nT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlNl\ncnZlclVyaXMiIHR5cGU9InVhOkxpc3RPZlN0cmluZyIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0i\ndHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6\nZWxlbWVudCBuYW1lPSJGaW5kU2VydmVyc1JlcXVlc3QiIHR5cGU9InRuczpGaW5kU2VydmVyc1Jl\ncXVlc3QiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IkZpbmRTZXJ2ZXJzUmVzcG9uc2Ui\nPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJlc3BvbnNlSGVh\nZGVyIiB0eXBlPSJ0bnM6UmVzcG9uc2VIZWFkZXIiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRy\ndWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTZXJ2ZXJzIiB0eXBlPSJ0bnM6TGlzdE9m\nQXBwbGljYXRpb25EZXNjcmlwdGlvbiIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4N\nCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBu\nYW1lPSJGaW5kU2VydmVyc1Jlc3BvbnNlIiB0eXBlPSJ0bnM6RmluZFNlcnZlcnNSZXNwb25zZSIg\nLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iU2VydmVyT25OZXR3b3JrIj4NCiAgICA8eHM6\nc2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZWNvcmRJZCIgdHlwZT0ieHM6dW5z\naWduZWRJbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlNlcnZl\nck5hbWUiIHR5cGU9InhzOnN0cmluZyIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4N\nCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkRpc2NvdmVyeVVybCIgdHlwZT0ieHM6c3RyaW5nIiBt\naW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0i\nU2VydmVyQ2FwYWJpbGl0aWVzIiB0eXBlPSJ1YTpMaXN0T2ZTdHJpbmciIG1pbk9jY3Vycz0iMCIg\nbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlw\nZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iU2VydmVyT25OZXR3b3JrIiB0eXBlPSJ0bnM6U2VydmVy\nT25OZXR3b3JrIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJMaXN0T2ZTZXJ2ZXJPbk5l\ndHdvcmsiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlNlcnZl\nck9uTmV0d29yayIgdHlwZT0idG5zOlNlcnZlck9uTmV0d29yayIgbWluT2NjdXJzPSIwIiBtYXhP\nY2N1cnM9InVuYm91bmRlZCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4N\nCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iTGlzdE9mU2VydmVyT25O\nZXR3b3JrIiB0eXBlPSJ0bnM6TGlzdE9mU2VydmVyT25OZXR3b3JrIiBuaWxsYWJsZT0idHJ1ZSI+\nPC94czplbGVtZW50Pg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJGaW5kU2VydmVyc09uTmV0\nd29ya1JlcXVlc3QiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9\nIlJlcXVlc3RIZWFkZXIiIHR5cGU9InRuczpSZXF1ZXN0SGVhZGVyIiBtaW5PY2N1cnM9IjAiIG5p\nbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iU3RhcnRpbmdSZWNvcmRJ\nZCIgdHlwZT0ieHM6dW5zaWduZWRJbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVt\nZW50IG5hbWU9Ik1heFJlY29yZHNUb1JldHVybiIgdHlwZT0ieHM6dW5zaWduZWRJbnQiIG1pbk9j\nY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlNlcnZlckNhcGFiaWxpdHlGaWx0\nZXIiIHR5cGU9InVhOkxpc3RPZlN0cmluZyIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIg\nLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVu\ndCBuYW1lPSJGaW5kU2VydmVyc09uTmV0d29ya1JlcXVlc3QiIHR5cGU9InRuczpGaW5kU2VydmVy\nc09uTmV0d29ya1JlcXVlc3QiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IkZpbmRTZXJ2\nZXJzT25OZXR3b3JrUmVzcG9uc2UiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVt\nZW50IG5hbWU9IlJlc3BvbnNlSGVhZGVyIiB0eXBlPSJ0bnM6UmVzcG9uc2VIZWFkZXIiIG1pbk9j\nY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJMYXN0\nQ291bnRlclJlc2V0VGltZSIgdHlwZT0ieHM6ZGF0ZVRpbWUiIG1pbk9jY3Vycz0iMCIgLz4NCiAg\nICAgIDx4czplbGVtZW50IG5hbWU9IlNlcnZlcnMiIHR5cGU9InRuczpMaXN0T2ZTZXJ2ZXJPbk5l\ndHdvcmsiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5j\nZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iRmluZFNlcnZlcnNP\nbk5ldHdvcmtSZXNwb25zZSIgdHlwZT0idG5zOkZpbmRTZXJ2ZXJzT25OZXR3b3JrUmVzcG9uc2Ui\nIC8+DQoNCiAgPHhzOmVsZW1lbnQgbmFtZT0iQXBwbGljYXRpb25JbnN0YW5jZUNlcnRpZmljYXRl\nIiB0eXBlPSJ4czpiYXNlNjRCaW5hcnkiIC8+DQoNCiAgPHhzOnNpbXBsZVR5cGUgIG5hbWU9Ik1l\nc3NhZ2VTZWN1cml0eU1vZGUiPg0KICAgIDx4czpyZXN0cmljdGlvbiBiYXNlPSJ4czpzdHJpbmci\nPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJJbnZhbGlkXzAiIC8+DQogICAgICA8eHM6\nZW51bWVyYXRpb24gdmFsdWU9Ik5vbmVfMSIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1\nZT0iU2lnbl8yIiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJTaWduQW5kRW5jcnlw\ndF8zIiAvPg0KICAgIDwveHM6cmVzdHJpY3Rpb24+DQogIDwveHM6c2ltcGxlVHlwZT4NCiAgPHhz\nOmVsZW1lbnQgbmFtZT0iTWVzc2FnZVNlY3VyaXR5TW9kZSIgdHlwZT0idG5zOk1lc3NhZ2VTZWN1\ncml0eU1vZGUiIC8+DQoNCiAgPHhzOnNpbXBsZVR5cGUgIG5hbWU9IlVzZXJUb2tlblR5cGUiPg0K\nICAgIDx4czpyZXN0cmljdGlvbiBiYXNlPSJ4czpzdHJpbmciPg0KICAgICAgPHhzOmVudW1lcmF0\naW9uIHZhbHVlPSJBbm9ueW1vdXNfMCIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0i\nVXNlck5hbWVfMSIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iQ2VydGlmaWNhdGVf\nMiIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iSXNzdWVkVG9rZW5fMyIgLz4NCiAg\nICA8L3hzOnJlc3RyaWN0aW9uPg0KICA8L3hzOnNpbXBsZVR5cGU+DQogIDx4czplbGVtZW50IG5h\nbWU9IlVzZXJUb2tlblR5cGUiIHR5cGU9InRuczpVc2VyVG9rZW5UeXBlIiAvPg0KDQogIDx4czpj\nb21wbGV4VHlwZSBuYW1lPSJVc2VyVG9rZW5Qb2xpY3kiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAg\nICAgIDx4czplbGVtZW50IG5hbWU9IlBvbGljeUlkIiB0eXBlPSJ4czpzdHJpbmciIG1pbk9jY3Vy\ncz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJUb2tlblR5\ncGUiIHR5cGU9InRuczpVc2VyVG9rZW5UeXBlIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6\nZWxlbWVudCBuYW1lPSJJc3N1ZWRUb2tlblR5cGUiIHR5cGU9InhzOnN0cmluZyIgbWluT2NjdXJz\nPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9Iklzc3VlckVu\nZHBvaW50VXJsIiB0eXBlPSJ4czpzdHJpbmciIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUi\nIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTZWN1cml0eVBvbGljeVVyaSIgdHlwZT0ieHM6\nc3RyaW5nIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVu\nY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IlVzZXJUb2tlblBv\nbGljeSIgdHlwZT0idG5zOlVzZXJUb2tlblBvbGljeSIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUg\nbmFtZT0iTGlzdE9mVXNlclRva2VuUG9saWN5Ij4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8\neHM6ZWxlbWVudCBuYW1lPSJVc2VyVG9rZW5Qb2xpY3kiIHR5cGU9InRuczpVc2VyVG9rZW5Qb2xp\nY3kiIG1pbk9jY3Vycz0iMCIgbWF4T2NjdXJzPSJ1bmJvdW5kZWQiIG5pbGxhYmxlPSJ0cnVlIiAv\nPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50\nIG5hbWU9Ikxpc3RPZlVzZXJUb2tlblBvbGljeSIgdHlwZT0idG5zOkxpc3RPZlVzZXJUb2tlblBv\nbGljeSIgbmlsbGFibGU9InRydWUiPjwveHM6ZWxlbWVudD4NCg0KICA8eHM6Y29tcGxleFR5cGUg\nbmFtZT0iRW5kcG9pbnREZXNjcmlwdGlvbiI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhz\nOmVsZW1lbnQgbmFtZT0iRW5kcG9pbnRVcmwiIHR5cGU9InhzOnN0cmluZyIgbWluT2NjdXJzPSIw\nIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlNlcnZlciIgdHlw\nZT0idG5zOkFwcGxpY2F0aW9uRGVzY3JpcHRpb24iIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRy\ndWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTZXJ2ZXJDZXJ0aWZpY2F0ZSIgdHlwZT0i\neHM6YmFzZTY0QmluYXJ5IiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAg\nPHhzOmVsZW1lbnQgbmFtZT0iU2VjdXJpdHlNb2RlIiB0eXBlPSJ0bnM6TWVzc2FnZVNlY3VyaXR5\nTW9kZSIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iU2VjdXJpdHlQ\nb2xpY3lVcmkiIHR5cGU9InhzOnN0cmluZyIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIg\nLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlVzZXJJZGVudGl0eVRva2VucyIgdHlwZT0idG5z\nOkxpc3RPZlVzZXJUb2tlblBvbGljeSIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4N\nCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlRyYW5zcG9ydFByb2ZpbGVVcmkiIHR5cGU9InhzOnN0\ncmluZyIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50\nIG5hbWU9IlNlY3VyaXR5TGV2ZWwiIHR5cGU9InhzOnVuc2lnbmVkQnl0ZSIgbWluT2NjdXJzPSIw\nIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVt\nZW50IG5hbWU9IkVuZHBvaW50RGVzY3JpcHRpb24iIHR5cGU9InRuczpFbmRwb2ludERlc2NyaXB0\naW9uIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJMaXN0T2ZFbmRwb2ludERlc2NyaXB0\naW9uIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJFbmRwb2lu\ndERlc2NyaXB0aW9uIiB0eXBlPSJ0bnM6RW5kcG9pbnREZXNjcmlwdGlvbiIgbWluT2NjdXJzPSIw\nIiBtYXhPY2N1cnM9InVuYm91bmRlZCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1\nZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iTGlzdE9mRW5k\ncG9pbnREZXNjcmlwdGlvbiIgdHlwZT0idG5zOkxpc3RPZkVuZHBvaW50RGVzY3JpcHRpb24iIG5p\nbGxhYmxlPSJ0cnVlIj48L3hzOmVsZW1lbnQ+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9Ikdl\ndEVuZHBvaW50c1JlcXVlc3QiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50\nIG5hbWU9IlJlcXVlc3RIZWFkZXIiIHR5cGU9InRuczpSZXF1ZXN0SGVhZGVyIiBtaW5PY2N1cnM9\nIjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRW5kcG9pbnRV\ncmwiIHR5cGU9InhzOnN0cmluZyIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAg\nICAgIDx4czplbGVtZW50IG5hbWU9IkxvY2FsZUlkcyIgdHlwZT0idWE6TGlzdE9mU3RyaW5nIiBt\naW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0i\nUHJvZmlsZVVyaXMiIHR5cGU9InVhOkxpc3RPZlN0cmluZyIgbWluT2NjdXJzPSIwIiBuaWxsYWJs\nZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8\neHM6ZWxlbWVudCBuYW1lPSJHZXRFbmRwb2ludHNSZXF1ZXN0IiB0eXBlPSJ0bnM6R2V0RW5kcG9p\nbnRzUmVxdWVzdCIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iR2V0RW5kcG9pbnRzUmVz\ncG9uc2UiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJlc3Bv\nbnNlSGVhZGVyIiB0eXBlPSJ0bnM6UmVzcG9uc2VIZWFkZXIiIG1pbk9jY3Vycz0iMCIgbmlsbGFi\nbGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJFbmRwb2ludHMiIHR5cGU9InRu\nczpMaXN0T2ZFbmRwb2ludERlc2NyaXB0aW9uIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVl\nIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVt\nZW50IG5hbWU9IkdldEVuZHBvaW50c1Jlc3BvbnNlIiB0eXBlPSJ0bnM6R2V0RW5kcG9pbnRzUmVz\ncG9uc2UiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IlJlZ2lzdGVyZWRTZXJ2ZXIiPg0K\nICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlNlcnZlclVyaSIgdHlw\nZT0ieHM6c3RyaW5nIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhz\nOmVsZW1lbnQgbmFtZT0iUHJvZHVjdFVyaSIgdHlwZT0ieHM6c3RyaW5nIiBtaW5PY2N1cnM9IjAi\nIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iU2VydmVyTmFtZXMi\nIHR5cGU9InVhOkxpc3RPZkxvY2FsaXplZFRleHQiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRy\ndWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTZXJ2ZXJUeXBlIiB0eXBlPSJ0bnM6QXBw\nbGljYXRpb25UeXBlIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJH\nYXRld2F5U2VydmVyVXJpIiB0eXBlPSJ4czpzdHJpbmciIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9\nInRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJEaXNjb3ZlcnlVcmxzIiB0eXBlPSJ1\nYTpMaXN0T2ZTdHJpbmciIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8\neHM6ZWxlbWVudCBuYW1lPSJTZW1hcGhvcmVGaWxlUGF0aCIgdHlwZT0ieHM6c3RyaW5nIiBtaW5P\nY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iSXNP\nbmxpbmUiIHR5cGU9InhzOmJvb2xlYW4iIG1pbk9jY3Vycz0iMCIgLz4NCiAgICA8L3hzOnNlcXVl\nbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJSZWdpc3RlcmVk\nU2VydmVyIiB0eXBlPSJ0bnM6UmVnaXN0ZXJlZFNlcnZlciIgLz4NCg0KICA8eHM6Y29tcGxleFR5\ncGUgbmFtZT0iTGlzdE9mUmVnaXN0ZXJlZFNlcnZlciI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAg\nICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVnaXN0ZXJlZFNlcnZlciIgdHlwZT0idG5zOlJlZ2lzdGVy\nZWRTZXJ2ZXIiIG1pbk9jY3Vycz0iMCIgbWF4T2NjdXJzPSJ1bmJvdW5kZWQiIG5pbGxhYmxlPSJ0\ncnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czpl\nbGVtZW50IG5hbWU9Ikxpc3RPZlJlZ2lzdGVyZWRTZXJ2ZXIiIHR5cGU9InRuczpMaXN0T2ZSZWdp\nc3RlcmVkU2VydmVyIiBuaWxsYWJsZT0idHJ1ZSI+PC94czplbGVtZW50Pg0KDQogIDx4czpjb21w\nbGV4VHlwZSBuYW1lPSJSZWdpc3RlclNlcnZlclJlcXVlc3QiPg0KICAgIDx4czpzZXF1ZW5jZT4N\nCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJlcXVlc3RIZWFkZXIiIHR5cGU9InRuczpSZXF1ZXN0\nSGVhZGVyIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1l\nbnQgbmFtZT0iU2VydmVyIiB0eXBlPSJ0bnM6UmVnaXN0ZXJlZFNlcnZlciIgbWluT2NjdXJzPSIw\nIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhU\neXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJSZWdpc3RlclNlcnZlclJlcXVlc3QiIHR5cGU9InRu\nczpSZWdpc3RlclNlcnZlclJlcXVlc3QiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IlJl\nZ2lzdGVyU2VydmVyUmVzcG9uc2UiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVt\nZW50IG5hbWU9IlJlc3BvbnNlSGVhZGVyIiB0eXBlPSJ0bnM6UmVzcG9uc2VIZWFkZXIiIG1pbk9j\nY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpj\nb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iUmVnaXN0ZXJTZXJ2ZXJSZXNwb25zZSIg\ndHlwZT0idG5zOlJlZ2lzdGVyU2VydmVyUmVzcG9uc2UiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBl\nIG5hbWU9IkRpc2NvdmVyeUNvbmZpZ3VyYXRpb24iPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICA8\nL3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJE\naXNjb3ZlcnlDb25maWd1cmF0aW9uIiB0eXBlPSJ0bnM6RGlzY292ZXJ5Q29uZmlndXJhdGlvbiIg\nLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iTWRuc0Rpc2NvdmVyeUNvbmZpZ3VyYXRpb24i\nPg0KICAgIDx4czpjb21wbGV4Q29udGVudCBtaXhlZD0iZmFsc2UiPg0KICAgICAgPHhzOmV4dGVu\nc2lvbiBiYXNlPSJ0bnM6RGlzY292ZXJ5Q29uZmlndXJhdGlvbiI+DQogICAgICAgIDx4czpzZXF1\nZW5jZT4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJNZG5zU2VydmVyTmFtZSIgdHlwZT0i\neHM6c3RyaW5nIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgICAgIDx4\nczplbGVtZW50IG5hbWU9IlNlcnZlckNhcGFiaWxpdGllcyIgdHlwZT0idWE6TGlzdE9mU3RyaW5n\nIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgICA8L3hzOnNlcXVlbmNl\nPg0KICAgICAgPC94czpleHRlbnNpb24+DQogICAgPC94czpjb21wbGV4Q29udGVudD4NCiAgPC94\nczpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iTWRuc0Rpc2NvdmVyeUNvbmZpZ3Vy\nYXRpb24iIHR5cGU9InRuczpNZG5zRGlzY292ZXJ5Q29uZmlndXJhdGlvbiIgLz4NCg0KICA8eHM6\nY29tcGxleFR5cGUgbmFtZT0iUmVnaXN0ZXJTZXJ2ZXIyUmVxdWVzdCI+DQogICAgPHhzOnNlcXVl\nbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVxdWVzdEhlYWRlciIgdHlwZT0idG5zOlJl\ncXVlc3RIZWFkZXIiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6\nZWxlbWVudCBuYW1lPSJTZXJ2ZXIiIHR5cGU9InRuczpSZWdpc3RlcmVkU2VydmVyIiBtaW5PY2N1\ncnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRGlzY292\nZXJ5Q29uZmlndXJhdGlvbiIgdHlwZT0idWE6TGlzdE9mRXh0ZW5zaW9uT2JqZWN0IiBtaW5PY2N1\ncnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29t\ncGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IlJlZ2lzdGVyU2VydmVyMlJlcXVlc3QiIHR5\ncGU9InRuczpSZWdpc3RlclNlcnZlcjJSZXF1ZXN0IiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBu\nYW1lPSJSZWdpc3RlclNlcnZlcjJSZXNwb25zZSI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAg\nPHhzOmVsZW1lbnQgbmFtZT0iUmVzcG9uc2VIZWFkZXIiIHR5cGU9InRuczpSZXNwb25zZUhlYWRl\nciIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5h\nbWU9IkNvbmZpZ3VyYXRpb25SZXN1bHRzIiB0eXBlPSJ1YTpMaXN0T2ZTdGF0dXNDb2RlIiBtaW5P\nY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRGlh\nZ25vc3RpY0luZm9zIiB0eXBlPSJ1YTpMaXN0T2ZEaWFnbm9zdGljSW5mbyIgbWluT2NjdXJzPSIw\nIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhU\neXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJSZWdpc3RlclNlcnZlcjJSZXNwb25zZSIgdHlwZT0i\ndG5zOlJlZ2lzdGVyU2VydmVyMlJlc3BvbnNlIiAvPg0KDQogIDx4czpzaW1wbGVUeXBlICBuYW1l\nPSJTZWN1cml0eVRva2VuUmVxdWVzdFR5cGUiPg0KICAgIDx4czpyZXN0cmljdGlvbiBiYXNlPSJ4\nczpzdHJpbmciPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJJc3N1ZV8wIiAvPg0KICAg\nICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJSZW5ld18xIiAvPg0KICAgIDwveHM6cmVzdHJpY3Rp\nb24+DQogIDwveHM6c2ltcGxlVHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iU2VjdXJpdHlUb2tl\nblJlcXVlc3RUeXBlIiB0eXBlPSJ0bnM6U2VjdXJpdHlUb2tlblJlcXVlc3RUeXBlIiAvPg0KDQog\nIDx4czpjb21wbGV4VHlwZSBuYW1lPSJDaGFubmVsU2VjdXJpdHlUb2tlbiI+DQogICAgPHhzOnNl\ncXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQ2hhbm5lbElkIiB0eXBlPSJ4czp1bnNp\nZ25lZEludCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iVG9rZW5J\nZCIgdHlwZT0ieHM6dW5zaWduZWRJbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVt\nZW50IG5hbWU9IkNyZWF0ZWRBdCIgdHlwZT0ieHM6ZGF0ZVRpbWUiIG1pbk9jY3Vycz0iMCIgLz4N\nCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJldmlzZWRMaWZldGltZSIgdHlwZT0ieHM6dW5zaWdu\nZWRJbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBs\nZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJDaGFubmVsU2VjdXJpdHlUb2tlbiIgdHlwZT0i\ndG5zOkNoYW5uZWxTZWN1cml0eVRva2VuIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJP\ncGVuU2VjdXJlQ2hhbm5lbFJlcXVlc3QiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czpl\nbGVtZW50IG5hbWU9IlJlcXVlc3RIZWFkZXIiIHR5cGU9InRuczpSZXF1ZXN0SGVhZGVyIiBtaW5P\nY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQ2xp\nZW50UHJvdG9jb2xWZXJzaW9uIiB0eXBlPSJ4czp1bnNpZ25lZEludCIgbWluT2NjdXJzPSIwIiAv\nPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVxdWVzdFR5cGUiIHR5cGU9InRuczpTZWN1cml0\neVRva2VuUmVxdWVzdFR5cGUiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5h\nbWU9IlNlY3VyaXR5TW9kZSIgdHlwZT0idG5zOk1lc3NhZ2VTZWN1cml0eU1vZGUiIG1pbk9jY3Vy\ncz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkNsaWVudE5vbmNlIiB0eXBlPSJ4czpi\nYXNlNjRCaW5hcnkiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6\nZWxlbWVudCBuYW1lPSJSZXF1ZXN0ZWRMaWZldGltZSIgdHlwZT0ieHM6dW5zaWduZWRJbnQiIG1p\nbk9jY3Vycz0iMCIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0K\nICA8eHM6ZWxlbWVudCBuYW1lPSJPcGVuU2VjdXJlQ2hhbm5lbFJlcXVlc3QiIHR5cGU9InRuczpP\ncGVuU2VjdXJlQ2hhbm5lbFJlcXVlc3QiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9Ik9w\nZW5TZWN1cmVDaGFubmVsUmVzcG9uc2UiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czpl\nbGVtZW50IG5hbWU9IlJlc3BvbnNlSGVhZGVyIiB0eXBlPSJ0bnM6UmVzcG9uc2VIZWFkZXIiIG1p\nbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJT\nZXJ2ZXJQcm90b2NvbFZlcnNpb24iIHR5cGU9InhzOnVuc2lnbmVkSW50IiBtaW5PY2N1cnM9IjAi\nIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTZWN1cml0eVRva2VuIiB0eXBlPSJ0bnM6Q2hh\nbm5lbFNlY3VyaXR5VG9rZW4iIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAg\nICA8eHM6ZWxlbWVudCBuYW1lPSJTZXJ2ZXJOb25jZSIgdHlwZT0ieHM6YmFzZTY0QmluYXJ5IiBt\naW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwv\neHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ik9wZW5TZWN1cmVDaGFubmVsUmVz\ncG9uc2UiIHR5cGU9InRuczpPcGVuU2VjdXJlQ2hhbm5lbFJlc3BvbnNlIiAvPg0KDQogIDx4czpj\nb21wbGV4VHlwZSBuYW1lPSJDbG9zZVNlY3VyZUNoYW5uZWxSZXF1ZXN0Ij4NCiAgICA8eHM6c2Vx\ndWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZXF1ZXN0SGVhZGVyIiB0eXBlPSJ0bnM6\nUmVxdWVzdEhlYWRlciIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hz\nOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJDbG9z\nZVNlY3VyZUNoYW5uZWxSZXF1ZXN0IiB0eXBlPSJ0bnM6Q2xvc2VTZWN1cmVDaGFubmVsUmVxdWVz\ndCIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iQ2xvc2VTZWN1cmVDaGFubmVsUmVzcG9u\nc2UiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJlc3BvbnNl\nSGVhZGVyIiB0eXBlPSJ0bnM6UmVzcG9uc2VIZWFkZXIiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9\nInRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhz\nOmVsZW1lbnQgbmFtZT0iQ2xvc2VTZWN1cmVDaGFubmVsUmVzcG9uc2UiIHR5cGU9InRuczpDbG9z\nZVNlY3VyZUNoYW5uZWxSZXNwb25zZSIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iU2ln\nbmVkU29mdHdhcmVDZXJ0aWZpY2F0ZSI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVs\nZW1lbnQgbmFtZT0iQ2VydGlmaWNhdGVEYXRhIiB0eXBlPSJ4czpiYXNlNjRCaW5hcnkiIG1pbk9j\nY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTaWdu\nYXR1cmUiIHR5cGU9InhzOmJhc2U2NEJpbmFyeSIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1\nZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxl\nbWVudCBuYW1lPSJTaWduZWRTb2Z0d2FyZUNlcnRpZmljYXRlIiB0eXBlPSJ0bnM6U2lnbmVkU29m\ndHdhcmVDZXJ0aWZpY2F0ZSIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iTGlzdE9mU2ln\nbmVkU29mdHdhcmVDZXJ0aWZpY2F0ZSI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVs\nZW1lbnQgbmFtZT0iU2lnbmVkU29mdHdhcmVDZXJ0aWZpY2F0ZSIgdHlwZT0idG5zOlNpZ25lZFNv\nZnR3YXJlQ2VydGlmaWNhdGUiIG1pbk9jY3Vycz0iMCIgbWF4T2NjdXJzPSJ1bmJvdW5kZWQiIG5p\nbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+\nDQogIDx4czplbGVtZW50IG5hbWU9Ikxpc3RPZlNpZ25lZFNvZnR3YXJlQ2VydGlmaWNhdGUiIHR5\ncGU9InRuczpMaXN0T2ZTaWduZWRTb2Z0d2FyZUNlcnRpZmljYXRlIiBuaWxsYWJsZT0idHJ1ZSI+\nPC94czplbGVtZW50Pg0KDQogIDx4czplbGVtZW50IG5hbWU9IlNlc3Npb25BdXRoZW50aWNhdGlv\nblRva2VuIiB0eXBlPSJ1YTpOb2RlSWQiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IlNp\nZ25hdHVyZURhdGEiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9\nIkFsZ29yaXRobSIgdHlwZT0ieHM6c3RyaW5nIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVl\nIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iU2lnbmF0dXJlIiB0eXBlPSJ4czpiYXNlNjRC\naW5hcnkiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5j\nZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iU2lnbmF0dXJlRGF0\nYSIgdHlwZT0idG5zOlNpZ25hdHVyZURhdGEiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9\nIkNyZWF0ZVNlc3Npb25SZXF1ZXN0Ij4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxl\nbWVudCBuYW1lPSJSZXF1ZXN0SGVhZGVyIiB0eXBlPSJ0bnM6UmVxdWVzdEhlYWRlciIgbWluT2Nj\ndXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkNsaWVu\ndERlc2NyaXB0aW9uIiB0eXBlPSJ0bnM6QXBwbGljYXRpb25EZXNjcmlwdGlvbiIgbWluT2NjdXJz\nPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlNlcnZlclVy\naSIgdHlwZT0ieHM6c3RyaW5nIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAg\nICAgPHhzOmVsZW1lbnQgbmFtZT0iRW5kcG9pbnRVcmwiIHR5cGU9InhzOnN0cmluZyIgbWluT2Nj\ndXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlNlc3Np\nb25OYW1lIiB0eXBlPSJ4czpzdHJpbmciIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+\nDQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJDbGllbnROb25jZSIgdHlwZT0ieHM6YmFzZTY0Qmlu\nYXJ5IiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQg\nbmFtZT0iQ2xpZW50Q2VydGlmaWNhdGUiIHR5cGU9InhzOmJhc2U2NEJpbmFyeSIgbWluT2NjdXJz\nPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJlcXVlc3Rl\nZFNlc3Npb25UaW1lb3V0IiB0eXBlPSJ4czpkb3VibGUiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAg\nIDx4czplbGVtZW50IG5hbWU9Ik1heFJlc3BvbnNlTWVzc2FnZVNpemUiIHR5cGU9InhzOnVuc2ln\nbmVkSW50IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21w\nbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iQ3JlYXRlU2Vzc2lvblJlcXVlc3QiIHR5cGU9\nInRuczpDcmVhdGVTZXNzaW9uUmVxdWVzdCIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0i\nQ3JlYXRlU2Vzc2lvblJlc3BvbnNlIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxl\nbWVudCBuYW1lPSJSZXNwb25zZUhlYWRlciIgdHlwZT0idG5zOlJlc3BvbnNlSGVhZGVyIiBtaW5P\nY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iU2Vz\nc2lvbklkIiB0eXBlPSJ1YTpOb2RlSWQiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+\nDQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJBdXRoZW50aWNhdGlvblRva2VuIiB0eXBlPSJ1YTpO\nb2RlSWQiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVu\ndCBuYW1lPSJSZXZpc2VkU2Vzc2lvblRpbWVvdXQiIHR5cGU9InhzOmRvdWJsZSIgbWluT2NjdXJz\nPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iU2VydmVyTm9uY2UiIHR5cGU9InhzOmJh\nc2U2NEJpbmFyeSIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czpl\nbGVtZW50IG5hbWU9IlNlcnZlckNlcnRpZmljYXRlIiB0eXBlPSJ4czpiYXNlNjRCaW5hcnkiIG1p\nbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJT\nZXJ2ZXJFbmRwb2ludHMiIHR5cGU9InRuczpMaXN0T2ZFbmRwb2ludERlc2NyaXB0aW9uIiBtaW5P\nY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iU2Vy\ndmVyU29mdHdhcmVDZXJ0aWZpY2F0ZXMiIHR5cGU9InRuczpMaXN0T2ZTaWduZWRTb2Z0d2FyZUNl\ncnRpZmljYXRlIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVs\nZW1lbnQgbmFtZT0iU2VydmVyU2lnbmF0dXJlIiB0eXBlPSJ0bnM6U2lnbmF0dXJlRGF0YSIgbWlu\nT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9Ik1h\neFJlcXVlc3RNZXNzYWdlU2l6ZSIgdHlwZT0ieHM6dW5zaWduZWRJbnQiIG1pbk9jY3Vycz0iMCIg\nLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVu\ndCBuYW1lPSJDcmVhdGVTZXNzaW9uUmVzcG9uc2UiIHR5cGU9InRuczpDcmVhdGVTZXNzaW9uUmVz\ncG9uc2UiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IlVzZXJJZGVudGl0eVRva2VuIj4N\nCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJQb2xpY3lJZCIgdHlw\nZT0ieHM6c3RyaW5nIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6\nc2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IlVzZXJJ\nZGVudGl0eVRva2VuIiB0eXBlPSJ0bnM6VXNlcklkZW50aXR5VG9rZW4iIC8+DQoNCiAgPHhzOmNv\nbXBsZXhUeXBlIG5hbWU9IkFub255bW91c0lkZW50aXR5VG9rZW4iPg0KICAgIDx4czpjb21wbGV4\nQ29udGVudCBtaXhlZD0iZmFsc2UiPg0KICAgICAgPHhzOmV4dGVuc2lvbiBiYXNlPSJ0bnM6VXNl\ncklkZW50aXR5VG9rZW4iPg0KICAgICAgICA8eHM6c2VxdWVuY2U+DQogICAgICAgIDwveHM6c2Vx\ndWVuY2U+DQogICAgICA8L3hzOmV4dGVuc2lvbj4NCiAgICA8L3hzOmNvbXBsZXhDb250ZW50Pg0K\nICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJBbm9ueW1vdXNJZGVudGl0\neVRva2VuIiB0eXBlPSJ0bnM6QW5vbnltb3VzSWRlbnRpdHlUb2tlbiIgLz4NCg0KICA8eHM6Y29t\ncGxleFR5cGUgbmFtZT0iVXNlck5hbWVJZGVudGl0eVRva2VuIj4NCiAgICA8eHM6Y29tcGxleENv\nbnRlbnQgbWl4ZWQ9ImZhbHNlIj4NCiAgICAgIDx4czpleHRlbnNpb24gYmFzZT0idG5zOlVzZXJJ\nZGVudGl0eVRva2VuIj4NCiAgICAgICAgPHhzOnNlcXVlbmNlPg0KICAgICAgICAgIDx4czplbGVt\nZW50IG5hbWU9IlVzZXJOYW1lIiB0eXBlPSJ4czpzdHJpbmciIG1pbk9jY3Vycz0iMCIgbmlsbGFi\nbGU9InRydWUiIC8+DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUGFzc3dvcmQiIHR5cGU9\nInhzOmJhc2U2NEJpbmFyeSIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAg\nICAgICA8eHM6ZWxlbWVudCBuYW1lPSJFbmNyeXB0aW9uQWxnb3JpdGhtIiB0eXBlPSJ4czpzdHJp\nbmciIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICAgIDwveHM6c2VxdWVu\nY2U+DQogICAgICA8L3hzOmV4dGVuc2lvbj4NCiAgICA8L3hzOmNvbXBsZXhDb250ZW50Pg0KICA8\nL3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJVc2VyTmFtZUlkZW50aXR5VG9r\nZW4iIHR5cGU9InRuczpVc2VyTmFtZUlkZW50aXR5VG9rZW4iIC8+DQoNCiAgPHhzOmNvbXBsZXhU\neXBlIG5hbWU9Ilg1MDlJZGVudGl0eVRva2VuIj4NCiAgICA8eHM6Y29tcGxleENvbnRlbnQgbWl4\nZWQ9ImZhbHNlIj4NCiAgICAgIDx4czpleHRlbnNpb24gYmFzZT0idG5zOlVzZXJJZGVudGl0eVRv\na2VuIj4NCiAgICAgICAgPHhzOnNlcXVlbmNlPg0KICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9\nIkNlcnRpZmljYXRlRGF0YSIgdHlwZT0ieHM6YmFzZTY0QmluYXJ5IiBtaW5PY2N1cnM9IjAiIG5p\nbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgICA8L3hzOnNlcXVlbmNlPg0KICAgICAgPC94czpleHRl\nbnNpb24+DQogICAgPC94czpjb21wbGV4Q29udGVudD4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAg\nPHhzOmVsZW1lbnQgbmFtZT0iWDUwOUlkZW50aXR5VG9rZW4iIHR5cGU9InRuczpYNTA5SWRlbnRp\ndHlUb2tlbiIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iSXNzdWVkSWRlbnRpdHlUb2tl\nbiI+DQogICAgPHhzOmNvbXBsZXhDb250ZW50IG1peGVkPSJmYWxzZSI+DQogICAgICA8eHM6ZXh0\nZW5zaW9uIGJhc2U9InRuczpVc2VySWRlbnRpdHlUb2tlbiI+DQogICAgICAgIDx4czpzZXF1ZW5j\nZT4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJUb2tlbkRhdGEiIHR5cGU9InhzOmJhc2U2\nNEJpbmFyeSIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgICAgICA8eHM6\nZWxlbWVudCBuYW1lPSJFbmNyeXB0aW9uQWxnb3JpdGhtIiB0eXBlPSJ4czpzdHJpbmciIG1pbk9j\nY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICAgIDwveHM6c2VxdWVuY2U+DQogICAg\nICA8L3hzOmV4dGVuc2lvbj4NCiAgICA8L3hzOmNvbXBsZXhDb250ZW50Pg0KICA8L3hzOmNvbXBs\nZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJJc3N1ZWRJZGVudGl0eVRva2VuIiB0eXBlPSJ0\nbnM6SXNzdWVkSWRlbnRpdHlUb2tlbiIgLz4NCg0KICA8eHM6ZWxlbWVudCBuYW1lPSJSc2FFbmNy\neXB0ZWRTZWNyZXQiIHR5cGU9InVhOlZhcmlhbnQiIC8+DQoNCiAgPHhzOmVsZW1lbnQgbmFtZT0i\nRWNjRW5jcnlwdGVkU2VjcmV0IiB0eXBlPSJ1YTpWYXJpYW50IiAvPg0KDQogIDx4czpjb21wbGV4\nVHlwZSBuYW1lPSJBY3RpdmF0ZVNlc3Npb25SZXF1ZXN0Ij4NCiAgICA8eHM6c2VxdWVuY2U+DQog\nICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZXF1ZXN0SGVhZGVyIiB0eXBlPSJ0bnM6UmVxdWVzdEhl\nYWRlciIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50\nIG5hbWU9IkNsaWVudFNpZ25hdHVyZSIgdHlwZT0idG5zOlNpZ25hdHVyZURhdGEiIG1pbk9jY3Vy\ncz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJDbGllbnRT\nb2Z0d2FyZUNlcnRpZmljYXRlcyIgdHlwZT0idG5zOkxpc3RPZlNpZ25lZFNvZnR3YXJlQ2VydGlm\naWNhdGUiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVu\ndCBuYW1lPSJMb2NhbGVJZHMiIHR5cGU9InVhOkxpc3RPZlN0cmluZyIgbWluT2NjdXJzPSIwIiBu\naWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlVzZXJJZGVudGl0eVRv\na2VuIiB0eXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRy\ndWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJVc2VyVG9rZW5TaWduYXR1cmUiIHR5cGU9\nInRuczpTaWduYXR1cmVEYXRhIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAg\nIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9\nIkFjdGl2YXRlU2Vzc2lvblJlcXVlc3QiIHR5cGU9InRuczpBY3RpdmF0ZVNlc3Npb25SZXF1ZXN0\nIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJBY3RpdmF0ZVNlc3Npb25SZXNwb25zZSI+\nDQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVzcG9uc2VIZWFk\nZXIiIHR5cGU9InRuczpSZXNwb25zZUhlYWRlciIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1\nZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlNlcnZlck5vbmNlIiB0eXBlPSJ4czpiYXNl\nNjRCaW5hcnkiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxl\nbWVudCBuYW1lPSJSZXN1bHRzIiB0eXBlPSJ1YTpMaXN0T2ZTdGF0dXNDb2RlIiBtaW5PY2N1cnM9\nIjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRGlhZ25vc3Rp\nY0luZm9zIiB0eXBlPSJ1YTpMaXN0T2ZEaWFnbm9zdGljSW5mbyIgbWluT2NjdXJzPSIwIiBuaWxs\nYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0K\nICA8eHM6ZWxlbWVudCBuYW1lPSJBY3RpdmF0ZVNlc3Npb25SZXNwb25zZSIgdHlwZT0idG5zOkFj\ndGl2YXRlU2Vzc2lvblJlc3BvbnNlIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJDbG9z\nZVNlc3Npb25SZXF1ZXN0Ij4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBu\nYW1lPSJSZXF1ZXN0SGVhZGVyIiB0eXBlPSJ0bnM6UmVxdWVzdEhlYWRlciIgbWluT2NjdXJzPSIw\nIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkRlbGV0ZVN1YnNj\ncmlwdGlvbnMiIHR5cGU9InhzOmJvb2xlYW4iIG1pbk9jY3Vycz0iMCIgLz4NCiAgICA8L3hzOnNl\ncXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJDbG9zZVNl\nc3Npb25SZXF1ZXN0IiB0eXBlPSJ0bnM6Q2xvc2VTZXNzaW9uUmVxdWVzdCIgLz4NCg0KICA8eHM6\nY29tcGxleFR5cGUgbmFtZT0iQ2xvc2VTZXNzaW9uUmVzcG9uc2UiPg0KICAgIDx4czpzZXF1ZW5j\nZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJlc3BvbnNlSGVhZGVyIiB0eXBlPSJ0bnM6UmVz\ncG9uc2VIZWFkZXIiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpz\nZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iQ2xvc2VT\nZXNzaW9uUmVzcG9uc2UiIHR5cGU9InRuczpDbG9zZVNlc3Npb25SZXNwb25zZSIgLz4NCg0KICA8\neHM6Y29tcGxleFR5cGUgbmFtZT0iQ2FuY2VsUmVxdWVzdCI+DQogICAgPHhzOnNlcXVlbmNlPg0K\nICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVxdWVzdEhlYWRlciIgdHlwZT0idG5zOlJlcXVlc3RI\nZWFkZXIiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVu\ndCBuYW1lPSJSZXF1ZXN0SGFuZGxlIiB0eXBlPSJ4czp1bnNpZ25lZEludCIgbWluT2NjdXJzPSIw\nIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVt\nZW50IG5hbWU9IkNhbmNlbFJlcXVlc3QiIHR5cGU9InRuczpDYW5jZWxSZXF1ZXN0IiAvPg0KDQog\nIDx4czpjb21wbGV4VHlwZSBuYW1lPSJDYW5jZWxSZXNwb25zZSI+DQogICAgPHhzOnNlcXVlbmNl\nPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVzcG9uc2VIZWFkZXIiIHR5cGU9InRuczpSZXNw\nb25zZUhlYWRlciIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czpl\nbGVtZW50IG5hbWU9IkNhbmNlbENvdW50IiB0eXBlPSJ4czp1bnNpZ25lZEludCIgbWluT2NjdXJz\nPSIwIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czpl\nbGVtZW50IG5hbWU9IkNhbmNlbFJlc3BvbnNlIiB0eXBlPSJ0bnM6Q2FuY2VsUmVzcG9uc2UiIC8+\nDQoNCiAgPHhzOnNpbXBsZVR5cGUgIG5hbWU9Ik5vZGVBdHRyaWJ1dGVzTWFzayI+DQogICAgPHhz\nOnJlc3RyaWN0aW9uIGJhc2U9InhzOnN0cmluZyI+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFs\ndWU9Ik5vbmVfMCIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iQWNjZXNzTGV2ZWxf\nMSIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iQXJyYXlEaW1lbnNpb25zXzIiIC8+\nDQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IkJyb3dzZU5hbWVfNCIgLz4NCiAgICAgIDx4\nczplbnVtZXJhdGlvbiB2YWx1ZT0iQ29udGFpbnNOb0xvb3BzXzgiIC8+DQogICAgICA8eHM6ZW51\nbWVyYXRpb24gdmFsdWU9IkRhdGFUeXBlXzE2IiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZh\nbHVlPSJEZXNjcmlwdGlvbl8zMiIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iRGlz\ncGxheU5hbWVfNjQiIC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IkV2ZW50Tm90aWZp\nZXJfMTI4IiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJFeGVjdXRhYmxlXzI1NiIg\nLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iSGlzdG9yaXppbmdfNTEyIiAvPg0KICAg\nICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJJbnZlcnNlTmFtZV8xMDI0IiAvPg0KICAgICAgPHhz\nOmVudW1lcmF0aW9uIHZhbHVlPSJJc0Fic3RyYWN0XzIwNDgiIC8+DQogICAgICA8eHM6ZW51bWVy\nYXRpb24gdmFsdWU9Ik1pbmltdW1TYW1wbGluZ0ludGVydmFsXzQwOTYiIC8+DQogICAgICA8eHM6\nZW51bWVyYXRpb24gdmFsdWU9Ik5vZGVDbGFzc184MTkyIiAvPg0KICAgICAgPHhzOmVudW1lcmF0\naW9uIHZhbHVlPSJOb2RlSWRfMTYzODQiIC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9\nIlN5bW1ldHJpY18zMjc2OCIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iVXNlckFj\nY2Vzc0xldmVsXzY1NTM2IiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJVc2VyRXhl\nY3V0YWJsZV8xMzEwNzIiIC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IlVzZXJXcml0\nZU1hc2tfMjYyMTQ0IiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJWYWx1ZVJhbmtf\nNTI0Mjg4IiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJXcml0ZU1hc2tfMTA0ODU3\nNiIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iVmFsdWVfMjA5NzE1MiIgLz4NCiAg\nICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iRGF0YVR5cGVEZWZpbml0aW9uXzQxOTQzMDQiIC8+\nDQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IlJvbGVQZXJtaXNzaW9uc184Mzg4NjA4IiAv\nPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJBY2Nlc3NSZXN0cmljdGlvbnNfMTY3Nzcy\nMTYiIC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IkFsbF8zMzU1NDQzMSIgLz4NCiAg\nICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iQmFzZU5vZGVfMjY1MDEyMjAiIC8+DQogICAgICA8\neHM6ZW51bWVyYXRpb24gdmFsdWU9Ik9iamVjdF8yNjUwMTM0OCIgLz4NCiAgICAgIDx4czplbnVt\nZXJhdGlvbiB2YWx1ZT0iT2JqZWN0VHlwZV8yNjUwMzI2OCIgLz4NCiAgICAgIDx4czplbnVtZXJh\ndGlvbiB2YWx1ZT0iVmFyaWFibGVfMjY1NzEzODMiIC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24g\ndmFsdWU9IlZhcmlhYmxlVHlwZV8yODYwMDQzOCIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2\nYWx1ZT0iTWV0aG9kXzI2NjMyNTQ4IiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJS\nZWZlcmVuY2VUeXBlXzI2NTM3MDYwIiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJW\naWV3XzI2NTAxMzU2IiAvPg0KICAgIDwveHM6cmVzdHJpY3Rpb24+DQogIDwveHM6c2ltcGxlVHlw\nZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iTm9kZUF0dHJpYnV0ZXNNYXNrIiB0eXBlPSJ0bnM6Tm9k\nZUF0dHJpYnV0ZXNNYXNrIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJOb2RlQXR0cmli\ndXRlcyI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iU3BlY2lm\naWVkQXR0cmlidXRlcyIgdHlwZT0ieHM6dW5zaWduZWRJbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAg\nICAgIDx4czplbGVtZW50IG5hbWU9IkRpc3BsYXlOYW1lIiB0eXBlPSJ1YTpMb2NhbGl6ZWRUZXh0\nIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFt\nZT0iRGVzY3JpcHRpb24iIHR5cGU9InVhOkxvY2FsaXplZFRleHQiIG1pbk9jY3Vycz0iMCIgbmls\nbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJXcml0ZU1hc2siIHR5cGU9\nInhzOnVuc2lnbmVkSW50IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1l\nPSJVc2VyV3JpdGVNYXNrIiB0eXBlPSJ4czp1bnNpZ25lZEludCIgbWluT2NjdXJzPSIwIiAvPg0K\nICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5h\nbWU9Ik5vZGVBdHRyaWJ1dGVzIiB0eXBlPSJ0bnM6Tm9kZUF0dHJpYnV0ZXMiIC8+DQoNCiAgPHhz\nOmNvbXBsZXhUeXBlIG5hbWU9Ik9iamVjdEF0dHJpYnV0ZXMiPg0KICAgIDx4czpjb21wbGV4Q29u\ndGVudCBtaXhlZD0iZmFsc2UiPg0KICAgICAgPHhzOmV4dGVuc2lvbiBiYXNlPSJ0bnM6Tm9kZUF0\ndHJpYnV0ZXMiPg0KICAgICAgICA8eHM6c2VxdWVuY2U+DQogICAgICAgICAgPHhzOmVsZW1lbnQg\nbmFtZT0iRXZlbnROb3RpZmllciIgdHlwZT0ieHM6dW5zaWduZWRCeXRlIiBtaW5PY2N1cnM9IjAi\nIC8+DQogICAgICAgIDwveHM6c2VxdWVuY2U+DQogICAgICA8L3hzOmV4dGVuc2lvbj4NCiAgICA8\nL3hzOmNvbXBsZXhDb250ZW50Pg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBu\nYW1lPSJPYmplY3RBdHRyaWJ1dGVzIiB0eXBlPSJ0bnM6T2JqZWN0QXR0cmlidXRlcyIgLz4NCg0K\nICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iVmFyaWFibGVBdHRyaWJ1dGVzIj4NCiAgICA8eHM6Y29t\ncGxleENvbnRlbnQgbWl4ZWQ9ImZhbHNlIj4NCiAgICAgIDx4czpleHRlbnNpb24gYmFzZT0idG5z\nOk5vZGVBdHRyaWJ1dGVzIj4NCiAgICAgICAgPHhzOnNlcXVlbmNlPg0KICAgICAgICAgIDx4czpl\nbGVtZW50IG5hbWU9IlZhbHVlIiB0eXBlPSJ1YTpWYXJpYW50IiBtaW5PY2N1cnM9IjAiIC8+DQog\nICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRGF0YVR5cGUiIHR5cGU9InVhOk5vZGVJZCIgbWlu\nT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1l\nPSJWYWx1ZVJhbmsiIHR5cGU9InhzOmludCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgICAgIDx4\nczplbGVtZW50IG5hbWU9IkFycmF5RGltZW5zaW9ucyIgdHlwZT0idWE6TGlzdE9mVUludDMyIiBt\naW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgICAgIDx4czplbGVtZW50IG5h\nbWU9IkFjY2Vzc0xldmVsIiB0eXBlPSJ4czp1bnNpZ25lZEJ5dGUiIG1pbk9jY3Vycz0iMCIgLz4N\nCiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJVc2VyQWNjZXNzTGV2ZWwiIHR5cGU9InhzOnVu\nc2lnbmVkQnl0ZSIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9\nIk1pbmltdW1TYW1wbGluZ0ludGVydmFsIiB0eXBlPSJ4czpkb3VibGUiIG1pbk9jY3Vycz0iMCIg\nLz4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJIaXN0b3JpemluZyIgdHlwZT0ieHM6Ym9v\nbGVhbiIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgICA8L3hzOnNlcXVlbmNlPg0KICAgICAgPC94\nczpleHRlbnNpb24+DQogICAgPC94czpjb21wbGV4Q29udGVudD4NCiAgPC94czpjb21wbGV4VHlw\nZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iVmFyaWFibGVBdHRyaWJ1dGVzIiB0eXBlPSJ0bnM6VmFy\naWFibGVBdHRyaWJ1dGVzIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJNZXRob2RBdHRy\naWJ1dGVzIj4NCiAgICA8eHM6Y29tcGxleENvbnRlbnQgbWl4ZWQ9ImZhbHNlIj4NCiAgICAgIDx4\nczpleHRlbnNpb24gYmFzZT0idG5zOk5vZGVBdHRyaWJ1dGVzIj4NCiAgICAgICAgPHhzOnNlcXVl\nbmNlPg0KICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9IkV4ZWN1dGFibGUiIHR5cGU9InhzOmJv\nb2xlYW4iIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJVc2Vy\nRXhlY3V0YWJsZSIgdHlwZT0ieHM6Ym9vbGVhbiIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgICA8\nL3hzOnNlcXVlbmNlPg0KICAgICAgPC94czpleHRlbnNpb24+DQogICAgPC94czpjb21wbGV4Q29u\ndGVudD4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iTWV0aG9kQXR0\ncmlidXRlcyIgdHlwZT0idG5zOk1ldGhvZEF0dHJpYnV0ZXMiIC8+DQoNCiAgPHhzOmNvbXBsZXhU\neXBlIG5hbWU9Ik9iamVjdFR5cGVBdHRyaWJ1dGVzIj4NCiAgICA8eHM6Y29tcGxleENvbnRlbnQg\nbWl4ZWQ9ImZhbHNlIj4NCiAgICAgIDx4czpleHRlbnNpb24gYmFzZT0idG5zOk5vZGVBdHRyaWJ1\ndGVzIj4NCiAgICAgICAgPHhzOnNlcXVlbmNlPg0KICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9\nIklzQWJzdHJhY3QiIHR5cGU9InhzOmJvb2xlYW4iIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgICAg\nPC94czpzZXF1ZW5jZT4NCiAgICAgIDwveHM6ZXh0ZW5zaW9uPg0KICAgIDwveHM6Y29tcGxleENv\nbnRlbnQ+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ik9iamVjdFR5\ncGVBdHRyaWJ1dGVzIiB0eXBlPSJ0bnM6T2JqZWN0VHlwZUF0dHJpYnV0ZXMiIC8+DQoNCiAgPHhz\nOmNvbXBsZXhUeXBlIG5hbWU9IlZhcmlhYmxlVHlwZUF0dHJpYnV0ZXMiPg0KICAgIDx4czpjb21w\nbGV4Q29udGVudCBtaXhlZD0iZmFsc2UiPg0KICAgICAgPHhzOmV4dGVuc2lvbiBiYXNlPSJ0bnM6\nTm9kZUF0dHJpYnV0ZXMiPg0KICAgICAgICA8eHM6c2VxdWVuY2U+DQogICAgICAgICAgPHhzOmVs\nZW1lbnQgbmFtZT0iVmFsdWUiIHR5cGU9InVhOlZhcmlhbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAg\nICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJEYXRhVHlwZSIgdHlwZT0idWE6Tm9kZUlkIiBtaW5P\nY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9\nIlZhbHVlUmFuayIgdHlwZT0ieHM6aW50IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICAgICAgPHhz\nOmVsZW1lbnQgbmFtZT0iQXJyYXlEaW1lbnNpb25zIiB0eXBlPSJ1YTpMaXN0T2ZVSW50MzIiIG1p\nbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFt\nZT0iSXNBYnN0cmFjdCIgdHlwZT0ieHM6Ym9vbGVhbiIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAg\nICA8L3hzOnNlcXVlbmNlPg0KICAgICAgPC94czpleHRlbnNpb24+DQogICAgPC94czpjb21wbGV4\nQ29udGVudD4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iVmFyaWFi\nbGVUeXBlQXR0cmlidXRlcyIgdHlwZT0idG5zOlZhcmlhYmxlVHlwZUF0dHJpYnV0ZXMiIC8+DQoN\nCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IlJlZmVyZW5jZVR5cGVBdHRyaWJ1dGVzIj4NCiAgICA8\neHM6Y29tcGxleENvbnRlbnQgbWl4ZWQ9ImZhbHNlIj4NCiAgICAgIDx4czpleHRlbnNpb24gYmFz\nZT0idG5zOk5vZGVBdHRyaWJ1dGVzIj4NCiAgICAgICAgPHhzOnNlcXVlbmNlPg0KICAgICAgICAg\nIDx4czplbGVtZW50IG5hbWU9IklzQWJzdHJhY3QiIHR5cGU9InhzOmJvb2xlYW4iIG1pbk9jY3Vy\ncz0iMCIgLz4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTeW1tZXRyaWMiIHR5cGU9Inhz\nOmJvb2xlYW4iIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJJ\nbnZlcnNlTmFtZSIgdHlwZT0idWE6TG9jYWxpemVkVGV4dCIgbWluT2NjdXJzPSIwIiBuaWxsYWJs\nZT0idHJ1ZSIgLz4NCiAgICAgICAgPC94czpzZXF1ZW5jZT4NCiAgICAgIDwveHM6ZXh0ZW5zaW9u\nPg0KICAgIDwveHM6Y29tcGxleENvbnRlbnQ+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czpl\nbGVtZW50IG5hbWU9IlJlZmVyZW5jZVR5cGVBdHRyaWJ1dGVzIiB0eXBlPSJ0bnM6UmVmZXJlbmNl\nVHlwZUF0dHJpYnV0ZXMiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IkRhdGFUeXBlQXR0\ncmlidXRlcyI+DQogICAgPHhzOmNvbXBsZXhDb250ZW50IG1peGVkPSJmYWxzZSI+DQogICAgICA8\neHM6ZXh0ZW5zaW9uIGJhc2U9InRuczpOb2RlQXR0cmlidXRlcyI+DQogICAgICAgIDx4czpzZXF1\nZW5jZT4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJJc0Fic3RyYWN0IiB0eXBlPSJ4czpi\nb29sZWFuIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICAgIDwveHM6c2VxdWVuY2U+DQogICAgICA8\nL3hzOmV4dGVuc2lvbj4NCiAgICA8L3hzOmNvbXBsZXhDb250ZW50Pg0KICA8L3hzOmNvbXBsZXhU\neXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJEYXRhVHlwZUF0dHJpYnV0ZXMiIHR5cGU9InRuczpE\nYXRhVHlwZUF0dHJpYnV0ZXMiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IlZpZXdBdHRy\naWJ1dGVzIj4NCiAgICA8eHM6Y29tcGxleENvbnRlbnQgbWl4ZWQ9ImZhbHNlIj4NCiAgICAgIDx4\nczpleHRlbnNpb24gYmFzZT0idG5zOk5vZGVBdHRyaWJ1dGVzIj4NCiAgICAgICAgPHhzOnNlcXVl\nbmNlPg0KICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9IkNvbnRhaW5zTm9Mb29wcyIgdHlwZT0i\neHM6Ym9vbGVhbiIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9\nIkV2ZW50Tm90aWZpZXIiIHR5cGU9InhzOnVuc2lnbmVkQnl0ZSIgbWluT2NjdXJzPSIwIiAvPg0K\nICAgICAgICA8L3hzOnNlcXVlbmNlPg0KICAgICAgPC94czpleHRlbnNpb24+DQogICAgPC94czpj\nb21wbGV4Q29udGVudD4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0i\nVmlld0F0dHJpYnV0ZXMiIHR5cGU9InRuczpWaWV3QXR0cmlidXRlcyIgLz4NCg0KICA8eHM6Y29t\ncGxleFR5cGUgbmFtZT0iR2VuZXJpY0F0dHJpYnV0ZVZhbHVlIj4NCiAgICA8eHM6c2VxdWVuY2U+\nDQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJBdHRyaWJ1dGVJZCIgdHlwZT0ieHM6dW5zaWduZWRJ\nbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlZhbHVlIiB0eXBl\nPSJ1YTpWYXJpYW50IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94\nczpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iR2VuZXJpY0F0dHJpYnV0ZVZhbHVl\nIiB0eXBlPSJ0bnM6R2VuZXJpY0F0dHJpYnV0ZVZhbHVlIiAvPg0KDQogIDx4czpjb21wbGV4VHlw\nZSBuYW1lPSJMaXN0T2ZHZW5lcmljQXR0cmlidXRlVmFsdWUiPg0KICAgIDx4czpzZXF1ZW5jZT4N\nCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkdlbmVyaWNBdHRyaWJ1dGVWYWx1ZSIgdHlwZT0idG5z\nOkdlbmVyaWNBdHRyaWJ1dGVWYWx1ZSIgbWluT2NjdXJzPSIwIiBtYXhPY2N1cnM9InVuYm91bmRl\nZCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4\nVHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iTGlzdE9mR2VuZXJpY0F0dHJpYnV0ZVZhbHVlIiB0\neXBlPSJ0bnM6TGlzdE9mR2VuZXJpY0F0dHJpYnV0ZVZhbHVlIiBuaWxsYWJsZT0idHJ1ZSI+PC94\nczplbGVtZW50Pg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJHZW5lcmljQXR0cmlidXRlcyI+\nDQogICAgPHhzOmNvbXBsZXhDb250ZW50IG1peGVkPSJmYWxzZSI+DQogICAgICA8eHM6ZXh0ZW5z\naW9uIGJhc2U9InRuczpOb2RlQXR0cmlidXRlcyI+DQogICAgICAgIDx4czpzZXF1ZW5jZT4NCiAg\nICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJBdHRyaWJ1dGVWYWx1ZXMiIHR5cGU9InRuczpMaXN0\nT2ZHZW5lcmljQXR0cmlidXRlVmFsdWUiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+\nDQogICAgICAgIDwveHM6c2VxdWVuY2U+DQogICAgICA8L3hzOmV4dGVuc2lvbj4NCiAgICA8L3hz\nOmNvbXBsZXhDb250ZW50Pg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1l\nPSJHZW5lcmljQXR0cmlidXRlcyIgdHlwZT0idG5zOkdlbmVyaWNBdHRyaWJ1dGVzIiAvPg0KDQog\nIDx4czpjb21wbGV4VHlwZSBuYW1lPSJBZGROb2Rlc0l0ZW0iPg0KICAgIDx4czpzZXF1ZW5jZT4N\nCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlBhcmVudE5vZGVJZCIgdHlwZT0idWE6RXhwYW5kZWRO\nb2RlSWQiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVu\ndCBuYW1lPSJSZWZlcmVuY2VUeXBlSWQiIHR5cGU9InVhOk5vZGVJZCIgbWluT2NjdXJzPSIwIiBu\naWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJlcXVlc3RlZE5ld05v\nZGVJZCIgdHlwZT0idWE6RXhwYW5kZWROb2RlSWQiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRy\ndWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJCcm93c2VOYW1lIiB0eXBlPSJ1YTpRdWFs\naWZpZWROYW1lIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVs\nZW1lbnQgbmFtZT0iTm9kZUNsYXNzIiB0eXBlPSJ0bnM6Tm9kZUNsYXNzIiBtaW5PY2N1cnM9IjAi\nIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJOb2RlQXR0cmlidXRlcyIgdHlwZT0idWE6RXh0\nZW5zaW9uT2JqZWN0IiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhz\nOmVsZW1lbnQgbmFtZT0iVHlwZURlZmluaXRpb24iIHR5cGU9InVhOkV4cGFuZGVkTm9kZUlkIiBt\naW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwv\neHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IkFkZE5vZGVzSXRlbSIgdHlwZT0i\ndG5zOkFkZE5vZGVzSXRlbSIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iTGlzdE9mQWRk\nTm9kZXNJdGVtIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJB\nZGROb2Rlc0l0ZW0iIHR5cGU9InRuczpBZGROb2Rlc0l0ZW0iIG1pbk9jY3Vycz0iMCIgbWF4T2Nj\ndXJzPSJ1bmJvdW5kZWQiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQog\nIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ikxpc3RPZkFkZE5vZGVzSXRl\nbSIgdHlwZT0idG5zOkxpc3RPZkFkZE5vZGVzSXRlbSIgbmlsbGFibGU9InRydWUiPjwveHM6ZWxl\nbWVudD4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iQWRkTm9kZXNSZXN1bHQiPg0KICAgIDx4\nczpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlN0YXR1c0NvZGUiIHR5cGU9InVh\nOlN0YXR1c0NvZGUiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkFk\nZGVkTm9kZUlkIiB0eXBlPSJ1YTpOb2RlSWQiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUi\nIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1l\nbnQgbmFtZT0iQWRkTm9kZXNSZXN1bHQiIHR5cGU9InRuczpBZGROb2Rlc1Jlc3VsdCIgLz4NCg0K\nICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iTGlzdE9mQWRkTm9kZXNSZXN1bHQiPg0KICAgIDx4czpz\nZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkFkZE5vZGVzUmVzdWx0IiB0eXBlPSJ0\nbnM6QWRkTm9kZXNSZXN1bHQiIG1pbk9jY3Vycz0iMCIgbWF4T2NjdXJzPSJ1bmJvdW5kZWQiIG5p\nbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+\nDQogIDx4czplbGVtZW50IG5hbWU9Ikxpc3RPZkFkZE5vZGVzUmVzdWx0IiB0eXBlPSJ0bnM6TGlz\ndE9mQWRkTm9kZXNSZXN1bHQiIG5pbGxhYmxlPSJ0cnVlIj48L3hzOmVsZW1lbnQ+DQoNCiAgPHhz\nOmNvbXBsZXhUeXBlIG5hbWU9IkFkZE5vZGVzUmVxdWVzdCI+DQogICAgPHhzOnNlcXVlbmNlPg0K\nICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVxdWVzdEhlYWRlciIgdHlwZT0idG5zOlJlcXVlc3RI\nZWFkZXIiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVu\ndCBuYW1lPSJOb2Rlc1RvQWRkIiB0eXBlPSJ0bnM6TGlzdE9mQWRkTm9kZXNJdGVtIiBtaW5PY2N1\ncnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29t\ncGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IkFkZE5vZGVzUmVxdWVzdCIgdHlwZT0idG5z\nOkFkZE5vZGVzUmVxdWVzdCIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iQWRkTm9kZXNS\nZXNwb25zZSI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVz\ncG9uc2VIZWFkZXIiIHR5cGU9InRuczpSZXNwb25zZUhlYWRlciIgbWluT2NjdXJzPSIwIiBuaWxs\nYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJlc3VsdHMiIHR5cGU9InRu\nczpMaXN0T2ZBZGROb2Rlc1Jlc3VsdCIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4N\nCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkRpYWdub3N0aWNJbmZvcyIgdHlwZT0idWE6TGlzdE9m\nRGlhZ25vc3RpY0luZm8iIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94\nczpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iQWRk\nTm9kZXNSZXNwb25zZSIgdHlwZT0idG5zOkFkZE5vZGVzUmVzcG9uc2UiIC8+DQoNCiAgPHhzOmNv\nbXBsZXhUeXBlIG5hbWU9IkFkZFJlZmVyZW5jZXNJdGVtIj4NCiAgICA8eHM6c2VxdWVuY2U+DQog\nICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTb3VyY2VOb2RlSWQiIHR5cGU9InVhOk5vZGVJZCIgbWlu\nT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJl\nZmVyZW5jZVR5cGVJZCIgdHlwZT0idWE6Tm9kZUlkIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0\ncnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iSXNGb3J3YXJkIiB0eXBlPSJ4czpib29s\nZWFuIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJUYXJnZXRTZXJ2\nZXJVcmkiIHR5cGU9InhzOnN0cmluZyIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4N\nCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlRhcmdldE5vZGVJZCIgdHlwZT0idWE6RXhwYW5kZWRO\nb2RlSWQiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVu\ndCBuYW1lPSJUYXJnZXROb2RlQ2xhc3MiIHR5cGU9InRuczpOb2RlQ2xhc3MiIG1pbk9jY3Vycz0i\nMCIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxl\nbWVudCBuYW1lPSJBZGRSZWZlcmVuY2VzSXRlbSIgdHlwZT0idG5zOkFkZFJlZmVyZW5jZXNJdGVt\nIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJMaXN0T2ZBZGRSZWZlcmVuY2VzSXRlbSI+\nDQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQWRkUmVmZXJlbmNl\nc0l0ZW0iIHR5cGU9InRuczpBZGRSZWZlcmVuY2VzSXRlbSIgbWluT2NjdXJzPSIwIiBtYXhPY2N1\ncnM9InVuYm91bmRlZCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAg\nPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iTGlzdE9mQWRkUmVmZXJlbmNl\nc0l0ZW0iIHR5cGU9InRuczpMaXN0T2ZBZGRSZWZlcmVuY2VzSXRlbSIgbmlsbGFibGU9InRydWUi\nPjwveHM6ZWxlbWVudD4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iQWRkUmVmZXJlbmNlc1Jl\ncXVlc3QiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJlcXVl\nc3RIZWFkZXIiIHR5cGU9InRuczpSZXF1ZXN0SGVhZGVyIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxl\nPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVmZXJlbmNlc1RvQWRkIiB0eXBl\nPSJ0bnM6TGlzdE9mQWRkUmVmZXJlbmNlc0l0ZW0iIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRy\ndWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVs\nZW1lbnQgbmFtZT0iQWRkUmVmZXJlbmNlc1JlcXVlc3QiIHR5cGU9InRuczpBZGRSZWZlcmVuY2Vz\nUmVxdWVzdCIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iQWRkUmVmZXJlbmNlc1Jlc3Bv\nbnNlIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZXNwb25z\nZUhlYWRlciIgdHlwZT0idG5zOlJlc3BvbnNlSGVhZGVyIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxl\nPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVzdWx0cyIgdHlwZT0idWE6TGlz\ndE9mU3RhdHVzQ29kZSIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4\nczplbGVtZW50IG5hbWU9IkRpYWdub3N0aWNJbmZvcyIgdHlwZT0idWE6TGlzdE9mRGlhZ25vc3Rp\nY0luZm8iIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5j\nZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iQWRkUmVmZXJlbmNl\nc1Jlc3BvbnNlIiB0eXBlPSJ0bnM6QWRkUmVmZXJlbmNlc1Jlc3BvbnNlIiAvPg0KDQogIDx4czpj\nb21wbGV4VHlwZSBuYW1lPSJEZWxldGVOb2Rlc0l0ZW0iPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAg\nICAgIDx4czplbGVtZW50IG5hbWU9Ik5vZGVJZCIgdHlwZT0idWE6Tm9kZUlkIiBtaW5PY2N1cnM9\nIjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRGVsZXRlVGFy\nZ2V0UmVmZXJlbmNlcyIgdHlwZT0ieHM6Ym9vbGVhbiIgbWluT2NjdXJzPSIwIiAvPg0KICAgIDwv\neHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IkRl\nbGV0ZU5vZGVzSXRlbSIgdHlwZT0idG5zOkRlbGV0ZU5vZGVzSXRlbSIgLz4NCg0KICA8eHM6Y29t\ncGxleFR5cGUgbmFtZT0iTGlzdE9mRGVsZXRlTm9kZXNJdGVtIj4NCiAgICA8eHM6c2VxdWVuY2U+\nDQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJEZWxldGVOb2Rlc0l0ZW0iIHR5cGU9InRuczpEZWxl\ndGVOb2Rlc0l0ZW0iIG1pbk9jY3Vycz0iMCIgbWF4T2NjdXJzPSJ1bmJvdW5kZWQiIG5pbGxhYmxl\nPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4\nczplbGVtZW50IG5hbWU9Ikxpc3RPZkRlbGV0ZU5vZGVzSXRlbSIgdHlwZT0idG5zOkxpc3RPZkRl\nbGV0ZU5vZGVzSXRlbSIgbmlsbGFibGU9InRydWUiPjwveHM6ZWxlbWVudD4NCg0KICA8eHM6Y29t\ncGxleFR5cGUgbmFtZT0iRGVsZXRlTm9kZXNSZXF1ZXN0Ij4NCiAgICA8eHM6c2VxdWVuY2U+DQog\nICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZXF1ZXN0SGVhZGVyIiB0eXBlPSJ0bnM6UmVxdWVzdEhl\nYWRlciIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50\nIG5hbWU9Ik5vZGVzVG9EZWxldGUiIHR5cGU9InRuczpMaXN0T2ZEZWxldGVOb2Rlc0l0ZW0iIG1p\nbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94\nczpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iRGVsZXRlTm9kZXNSZXF1ZXN0IiB0\neXBlPSJ0bnM6RGVsZXRlTm9kZXNSZXF1ZXN0IiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1l\nPSJEZWxldGVOb2Rlc1Jlc3BvbnNlIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxl\nbWVudCBuYW1lPSJSZXNwb25zZUhlYWRlciIgdHlwZT0idG5zOlJlc3BvbnNlSGVhZGVyIiBtaW5P\nY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVz\ndWx0cyIgdHlwZT0idWE6TGlzdE9mU3RhdHVzQ29kZSIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0i\ndHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkRpYWdub3N0aWNJbmZvcyIgdHlwZT0i\ndWE6TGlzdE9mRGlhZ25vc3RpY0luZm8iIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+\nDQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQg\nbmFtZT0iRGVsZXRlTm9kZXNSZXNwb25zZSIgdHlwZT0idG5zOkRlbGV0ZU5vZGVzUmVzcG9uc2Ui\nIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IkRlbGV0ZVJlZmVyZW5jZXNJdGVtIj4NCiAg\nICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTb3VyY2VOb2RlSWQiIHR5\ncGU9InVhOk5vZGVJZCIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4\nczplbGVtZW50IG5hbWU9IlJlZmVyZW5jZVR5cGVJZCIgdHlwZT0idWE6Tm9kZUlkIiBtaW5PY2N1\ncnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iSXNGb3J3\nYXJkIiB0eXBlPSJ4czpib29sZWFuIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVu\ndCBuYW1lPSJUYXJnZXROb2RlSWQiIHR5cGU9InVhOkV4cGFuZGVkTm9kZUlkIiBtaW5PY2N1cnM9\nIjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRGVsZXRlQmlk\naXJlY3Rpb25hbCIgdHlwZT0ieHM6Ym9vbGVhbiIgbWluT2NjdXJzPSIwIiAvPg0KICAgIDwveHM6\nc2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IkRlbGV0\nZVJlZmVyZW5jZXNJdGVtIiB0eXBlPSJ0bnM6RGVsZXRlUmVmZXJlbmNlc0l0ZW0iIC8+DQoNCiAg\nPHhzOmNvbXBsZXhUeXBlIG5hbWU9Ikxpc3RPZkRlbGV0ZVJlZmVyZW5jZXNJdGVtIj4NCiAgICA8\neHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJEZWxldGVSZWZlcmVuY2VzSXRl\nbSIgdHlwZT0idG5zOkRlbGV0ZVJlZmVyZW5jZXNJdGVtIiBtaW5PY2N1cnM9IjAiIG1heE9jY3Vy\ncz0idW5ib3VuZGVkIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8\nL3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJMaXN0T2ZEZWxldGVSZWZlcmVu\nY2VzSXRlbSIgdHlwZT0idG5zOkxpc3RPZkRlbGV0ZVJlZmVyZW5jZXNJdGVtIiBuaWxsYWJsZT0i\ndHJ1ZSI+PC94czplbGVtZW50Pg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJEZWxldGVSZWZl\ncmVuY2VzUmVxdWVzdCI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFt\nZT0iUmVxdWVzdEhlYWRlciIgdHlwZT0idG5zOlJlcXVlc3RIZWFkZXIiIG1pbk9jY3Vycz0iMCIg\nbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZWZlcmVuY2VzVG9E\nZWxldGUiIHR5cGU9InRuczpMaXN0T2ZEZWxldGVSZWZlcmVuY2VzSXRlbSIgbWluT2NjdXJzPSIw\nIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhU\neXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJEZWxldGVSZWZlcmVuY2VzUmVxdWVzdCIgdHlwZT0i\ndG5zOkRlbGV0ZVJlZmVyZW5jZXNSZXF1ZXN0IiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1l\nPSJEZWxldGVSZWZlcmVuY2VzUmVzcG9uc2UiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4\nczplbGVtZW50IG5hbWU9IlJlc3BvbnNlSGVhZGVyIiB0eXBlPSJ0bnM6UmVzcG9uc2VIZWFkZXIi\nIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1l\nPSJSZXN1bHRzIiB0eXBlPSJ1YTpMaXN0T2ZTdGF0dXNDb2RlIiBtaW5PY2N1cnM9IjAiIG5pbGxh\nYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRGlhZ25vc3RpY0luZm9zIiB0\neXBlPSJ1YTpMaXN0T2ZEaWFnbm9zdGljSW5mbyIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1\nZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxl\nbWVudCBuYW1lPSJEZWxldGVSZWZlcmVuY2VzUmVzcG9uc2UiIHR5cGU9InRuczpEZWxldGVSZWZl\ncmVuY2VzUmVzcG9uc2UiIC8+DQoNCiAgPHhzOnNpbXBsZVR5cGUgIG5hbWU9IkF0dHJpYnV0ZVdy\naXRlTWFzayI+DQogICAgPHhzOnJlc3RyaWN0aW9uIGJhc2U9InhzOnVuc2lnbmVkSW50Ij4NCiAg\nICA8L3hzOnJlc3RyaWN0aW9uPg0KICA8L3hzOnNpbXBsZVR5cGU+DQogIDx4czplbGVtZW50IG5h\nbWU9IkF0dHJpYnV0ZVdyaXRlTWFzayIgdHlwZT0idG5zOkF0dHJpYnV0ZVdyaXRlTWFzayIgLz4N\nCg0KICA8eHM6c2ltcGxlVHlwZSAgbmFtZT0iQnJvd3NlRGlyZWN0aW9uIj4NCiAgICA8eHM6cmVz\ndHJpY3Rpb24gYmFzZT0ieHM6c3RyaW5nIj4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0i\nRm9yd2FyZF8wIiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJJbnZlcnNlXzEiIC8+\nDQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IkJvdGhfMiIgLz4NCiAgICAgIDx4czplbnVt\nZXJhdGlvbiB2YWx1ZT0iSW52YWxpZF8zIiAvPg0KICAgIDwveHM6cmVzdHJpY3Rpb24+DQogIDwv\neHM6c2ltcGxlVHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iQnJvd3NlRGlyZWN0aW9uIiB0eXBl\nPSJ0bnM6QnJvd3NlRGlyZWN0aW9uIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJWaWV3\nRGVzY3JpcHRpb24iPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9\nIlZpZXdJZCIgdHlwZT0idWE6Tm9kZUlkIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAv\nPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iVGltZXN0YW1wIiB0eXBlPSJ4czpkYXRlVGltZSIg\nbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iVmlld1ZlcnNpb24iIHR5\ncGU9InhzOnVuc2lnbmVkSW50IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgPC94czpzZXF1ZW5jZT4N\nCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iVmlld0Rlc2NyaXB0aW9u\nIiB0eXBlPSJ0bnM6Vmlld0Rlc2NyaXB0aW9uIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1l\nPSJCcm93c2VEZXNjcmlwdGlvbiI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1l\nbnQgbmFtZT0iTm9kZUlkIiB0eXBlPSJ1YTpOb2RlSWQiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9\nInRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJCcm93c2VEaXJlY3Rpb24iIHR5cGU9\nInRuczpCcm93c2VEaXJlY3Rpb24iIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50\nIG5hbWU9IlJlZmVyZW5jZVR5cGVJZCIgdHlwZT0idWE6Tm9kZUlkIiBtaW5PY2N1cnM9IjAiIG5p\nbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iSW5jbHVkZVN1YnR5cGVz\nIiB0eXBlPSJ4czpib29sZWFuIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBu\nYW1lPSJOb2RlQ2xhc3NNYXNrIiB0eXBlPSJ4czp1bnNpZ25lZEludCIgbWluT2NjdXJzPSIwIiAv\nPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVzdWx0TWFzayIgdHlwZT0ieHM6dW5zaWduZWRJ\nbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhU\neXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJCcm93c2VEZXNjcmlwdGlvbiIgdHlwZT0idG5zOkJy\nb3dzZURlc2NyaXB0aW9uIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJMaXN0T2ZCcm93\nc2VEZXNjcmlwdGlvbiI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFt\nZT0iQnJvd3NlRGVzY3JpcHRpb24iIHR5cGU9InRuczpCcm93c2VEZXNjcmlwdGlvbiIgbWluT2Nj\ndXJzPSIwIiBtYXhPY2N1cnM9InVuYm91bmRlZCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94\nczpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iTGlz\ndE9mQnJvd3NlRGVzY3JpcHRpb24iIHR5cGU9InRuczpMaXN0T2ZCcm93c2VEZXNjcmlwdGlvbiIg\nbmlsbGFibGU9InRydWUiPjwveHM6ZWxlbWVudD4NCg0KICA8eHM6c2ltcGxlVHlwZSAgbmFtZT0i\nQnJvd3NlUmVzdWx0TWFzayI+DQogICAgPHhzOnJlc3RyaWN0aW9uIGJhc2U9InhzOnN0cmluZyI+\nDQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9Ik5vbmVfMCIgLz4NCiAgICAgIDx4czplbnVt\nZXJhdGlvbiB2YWx1ZT0iUmVmZXJlbmNlVHlwZUlkXzEiIC8+DQogICAgICA8eHM6ZW51bWVyYXRp\nb24gdmFsdWU9IklzRm9yd2FyZF8yIiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJO\nb2RlQ2xhc3NfNCIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iQnJvd3NlTmFtZV84\nIiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJEaXNwbGF5TmFtZV8xNiIgLz4NCiAg\nICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iVHlwZURlZmluaXRpb25fMzIiIC8+DQogICAgICA8\neHM6ZW51bWVyYXRpb24gdmFsdWU9IkFsbF82MyIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2\nYWx1ZT0iUmVmZXJlbmNlVHlwZUluZm9fMyIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1\nZT0iVGFyZ2V0SW5mb182MCIgLz4NCiAgICA8L3hzOnJlc3RyaWN0aW9uPg0KICA8L3hzOnNpbXBs\nZVR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IkJyb3dzZVJlc3VsdE1hc2siIHR5cGU9InRuczpC\ncm93c2VSZXN1bHRNYXNrIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJSZWZlcmVuY2VE\nZXNjcmlwdGlvbiI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0i\nUmVmZXJlbmNlVHlwZUlkIiB0eXBlPSJ1YTpOb2RlSWQiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9\nInRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJJc0ZvcndhcmQiIHR5cGU9InhzOmJv\nb2xlYW4iIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9Ik5vZGVJZCIg\ndHlwZT0idWE6RXhwYW5kZWROb2RlSWQiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+\nDQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJCcm93c2VOYW1lIiB0eXBlPSJ1YTpRdWFsaWZpZWRO\nYW1lIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQg\nbmFtZT0iRGlzcGxheU5hbWUiIHR5cGU9InVhOkxvY2FsaXplZFRleHQiIG1pbk9jY3Vycz0iMCIg\nbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJOb2RlQ2xhc3MiIHR5\ncGU9InRuczpOb2RlQ2xhc3MiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5h\nbWU9IlR5cGVEZWZpbml0aW9uIiB0eXBlPSJ1YTpFeHBhbmRlZE5vZGVJZCIgbWluT2NjdXJzPSIw\nIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhU\neXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJSZWZlcmVuY2VEZXNjcmlwdGlvbiIgdHlwZT0idG5z\nOlJlZmVyZW5jZURlc2NyaXB0aW9uIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJMaXN0\nT2ZSZWZlcmVuY2VEZXNjcmlwdGlvbiI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVs\nZW1lbnQgbmFtZT0iUmVmZXJlbmNlRGVzY3JpcHRpb24iIHR5cGU9InRuczpSZWZlcmVuY2VEZXNj\ncmlwdGlvbiIgbWluT2NjdXJzPSIwIiBtYXhPY2N1cnM9InVuYm91bmRlZCIgbmlsbGFibGU9InRy\ndWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVs\nZW1lbnQgbmFtZT0iTGlzdE9mUmVmZXJlbmNlRGVzY3JpcHRpb24iIHR5cGU9InRuczpMaXN0T2ZS\nZWZlcmVuY2VEZXNjcmlwdGlvbiIgbmlsbGFibGU9InRydWUiPjwveHM6ZWxlbWVudD4NCg0KICA8\neHM6ZWxlbWVudCBuYW1lPSJDb250aW51YXRpb25Qb2ludCIgdHlwZT0ieHM6YmFzZTY0QmluYXJ5\nIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJCcm93c2VSZXN1bHQiPg0KICAgIDx4czpz\nZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlN0YXR1c0NvZGUiIHR5cGU9InVhOlN0\nYXR1c0NvZGUiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkNvbnRp\nbnVhdGlvblBvaW50IiB0eXBlPSJ4czpiYXNlNjRCaW5hcnkiIG1pbk9jY3Vycz0iMCIgbmlsbGFi\nbGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZWZlcmVuY2VzIiB0eXBlPSJ0\nbnM6TGlzdE9mUmVmZXJlbmNlRGVzY3JpcHRpb24iIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRy\ndWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVs\nZW1lbnQgbmFtZT0iQnJvd3NlUmVzdWx0IiB0eXBlPSJ0bnM6QnJvd3NlUmVzdWx0IiAvPg0KDQog\nIDx4czpjb21wbGV4VHlwZSBuYW1lPSJMaXN0T2ZCcm93c2VSZXN1bHQiPg0KICAgIDx4czpzZXF1\nZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkJyb3dzZVJlc3VsdCIgdHlwZT0idG5zOkJy\nb3dzZVJlc3VsdCIgbWluT2NjdXJzPSIwIiBtYXhPY2N1cnM9InVuYm91bmRlZCIgbmlsbGFibGU9\nInRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhz\nOmVsZW1lbnQgbmFtZT0iTGlzdE9mQnJvd3NlUmVzdWx0IiB0eXBlPSJ0bnM6TGlzdE9mQnJvd3Nl\nUmVzdWx0IiBuaWxsYWJsZT0idHJ1ZSI+PC94czplbGVtZW50Pg0KDQogIDx4czpjb21wbGV4VHlw\nZSBuYW1lPSJCcm93c2VSZXF1ZXN0Ij4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxl\nbWVudCBuYW1lPSJSZXF1ZXN0SGVhZGVyIiB0eXBlPSJ0bnM6UmVxdWVzdEhlYWRlciIgbWluT2Nj\ndXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlZpZXci\nIHR5cGU9InRuczpWaWV3RGVzY3JpcHRpb24iIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUi\nIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZXF1ZXN0ZWRNYXhSZWZlcmVuY2VzUGVyTm9k\nZSIgdHlwZT0ieHM6dW5zaWduZWRJbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVt\nZW50IG5hbWU9Ik5vZGVzVG9Ccm93c2UiIHR5cGU9InRuczpMaXN0T2ZCcm93c2VEZXNjcmlwdGlv\nbiIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0K\nICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJCcm93c2VSZXF1ZXN0IiB0\neXBlPSJ0bnM6QnJvd3NlUmVxdWVzdCIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iQnJv\nd3NlUmVzcG9uc2UiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9\nIlJlc3BvbnNlSGVhZGVyIiB0eXBlPSJ0bnM6UmVzcG9uc2VIZWFkZXIiIG1pbk9jY3Vycz0iMCIg\nbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZXN1bHRzIiB0eXBl\nPSJ0bnM6TGlzdE9mQnJvd3NlUmVzdWx0IiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAv\nPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRGlhZ25vc3RpY0luZm9zIiB0eXBlPSJ1YTpMaXN0\nT2ZEaWFnbm9zdGljSW5mbyIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8\nL3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJC\ncm93c2VSZXNwb25zZSIgdHlwZT0idG5zOkJyb3dzZVJlc3BvbnNlIiAvPg0KDQogIDx4czpjb21w\nbGV4VHlwZSBuYW1lPSJCcm93c2VOZXh0UmVxdWVzdCI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAg\nICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVxdWVzdEhlYWRlciIgdHlwZT0idG5zOlJlcXVlc3RIZWFk\nZXIiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBu\nYW1lPSJSZWxlYXNlQ29udGludWF0aW9uUG9pbnRzIiB0eXBlPSJ4czpib29sZWFuIiBtaW5PY2N1\ncnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJDb250aW51YXRpb25Qb2ludHMiIHR5\ncGU9InVhOkxpc3RPZkJ5dGVTdHJpbmciIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+\nDQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQg\nbmFtZT0iQnJvd3NlTmV4dFJlcXVlc3QiIHR5cGU9InRuczpCcm93c2VOZXh0UmVxdWVzdCIgLz4N\nCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iQnJvd3NlTmV4dFJlc3BvbnNlIj4NCiAgICA8eHM6\nc2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZXNwb25zZUhlYWRlciIgdHlwZT0i\ndG5zOlJlc3BvbnNlSGVhZGVyIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAg\nICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVzdWx0cyIgdHlwZT0idG5zOkxpc3RPZkJyb3dzZVJlc3Vs\ndCIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5h\nbWU9IkRpYWdub3N0aWNJbmZvcyIgdHlwZT0idWE6TGlzdE9mRGlhZ25vc3RpY0luZm8iIG1pbk9j\nY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpj\nb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iQnJvd3NlTmV4dFJlc3BvbnNlIiB0eXBl\nPSJ0bnM6QnJvd3NlTmV4dFJlc3BvbnNlIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJS\nZWxhdGl2ZVBhdGhFbGVtZW50Ij4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVu\ndCBuYW1lPSJSZWZlcmVuY2VUeXBlSWQiIHR5cGU9InVhOk5vZGVJZCIgbWluT2NjdXJzPSIwIiBu\naWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IklzSW52ZXJzZSIgdHlw\nZT0ieHM6Ym9vbGVhbiIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0i\nSW5jbHVkZVN1YnR5cGVzIiB0eXBlPSJ4czpib29sZWFuIiBtaW5PY2N1cnM9IjAiIC8+DQogICAg\nICA8eHM6ZWxlbWVudCBuYW1lPSJUYXJnZXROYW1lIiB0eXBlPSJ1YTpRdWFsaWZpZWROYW1lIiBt\naW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwv\neHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IlJlbGF0aXZlUGF0aEVsZW1lbnQi\nIHR5cGU9InRuczpSZWxhdGl2ZVBhdGhFbGVtZW50IiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBu\nYW1lPSJMaXN0T2ZSZWxhdGl2ZVBhdGhFbGVtZW50Ij4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAg\nICA8eHM6ZWxlbWVudCBuYW1lPSJSZWxhdGl2ZVBhdGhFbGVtZW50IiB0eXBlPSJ0bnM6UmVsYXRp\ndmVQYXRoRWxlbWVudCIgbWluT2NjdXJzPSIwIiBtYXhPY2N1cnM9InVuYm91bmRlZCIgbmlsbGFi\nbGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAg\nPHhzOmVsZW1lbnQgbmFtZT0iTGlzdE9mUmVsYXRpdmVQYXRoRWxlbWVudCIgdHlwZT0idG5zOkxp\nc3RPZlJlbGF0aXZlUGF0aEVsZW1lbnQiIG5pbGxhYmxlPSJ0cnVlIj48L3hzOmVsZW1lbnQ+DQoN\nCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IlJlbGF0aXZlUGF0aCI+DQogICAgPHhzOnNlcXVlbmNl\nPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRWxlbWVudHMiIHR5cGU9InRuczpMaXN0T2ZSZWxh\ndGl2ZVBhdGhFbGVtZW50IiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwv\neHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IlJl\nbGF0aXZlUGF0aCIgdHlwZT0idG5zOlJlbGF0aXZlUGF0aCIgLz4NCg0KICA8eHM6Y29tcGxleFR5\ncGUgbmFtZT0iQnJvd3NlUGF0aCI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1l\nbnQgbmFtZT0iU3RhcnRpbmdOb2RlIiB0eXBlPSJ1YTpOb2RlSWQiIG1pbk9jY3Vycz0iMCIgbmls\nbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZWxhdGl2ZVBhdGgiIHR5\ncGU9InRuczpSZWxhdGl2ZVBhdGgiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQog\nICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFt\nZT0iQnJvd3NlUGF0aCIgdHlwZT0idG5zOkJyb3dzZVBhdGgiIC8+DQoNCiAgPHhzOmNvbXBsZXhU\neXBlIG5hbWU9Ikxpc3RPZkJyb3dzZVBhdGgiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4\nczplbGVtZW50IG5hbWU9IkJyb3dzZVBhdGgiIHR5cGU9InRuczpCcm93c2VQYXRoIiBtaW5PY2N1\ncnM9IjAiIG1heE9jY3Vycz0idW5ib3VuZGVkIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hz\nOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJMaXN0\nT2ZCcm93c2VQYXRoIiB0eXBlPSJ0bnM6TGlzdE9mQnJvd3NlUGF0aCIgbmlsbGFibGU9InRydWUi\nPjwveHM6ZWxlbWVudD4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iQnJvd3NlUGF0aFRhcmdl\ndCI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iVGFyZ2V0SWQi\nIHR5cGU9InVhOkV4cGFuZGVkTm9kZUlkIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAv\nPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVtYWluaW5nUGF0aEluZGV4IiB0eXBlPSJ4czp1\nbnNpZ25lZEludCIgbWluT2NjdXJzPSIwIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6\nY29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IkJyb3dzZVBhdGhUYXJnZXQiIHR5cGU9\nInRuczpCcm93c2VQYXRoVGFyZ2V0IiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJMaXN0\nT2ZCcm93c2VQYXRoVGFyZ2V0Ij4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVu\ndCBuYW1lPSJCcm93c2VQYXRoVGFyZ2V0IiB0eXBlPSJ0bnM6QnJvd3NlUGF0aFRhcmdldCIgbWlu\nT2NjdXJzPSIwIiBtYXhPY2N1cnM9InVuYm91bmRlZCIgbmlsbGFibGU9InRydWUiIC8+DQogICAg\nPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0i\nTGlzdE9mQnJvd3NlUGF0aFRhcmdldCIgdHlwZT0idG5zOkxpc3RPZkJyb3dzZVBhdGhUYXJnZXQi\nIG5pbGxhYmxlPSJ0cnVlIj48L3hzOmVsZW1lbnQ+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9\nIkJyb3dzZVBhdGhSZXN1bHQiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50\nIG5hbWU9IlN0YXR1c0NvZGUiIHR5cGU9InVhOlN0YXR1c0NvZGUiIG1pbk9jY3Vycz0iMCIgLz4N\nCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlRhcmdldHMiIHR5cGU9InRuczpMaXN0T2ZCcm93c2VQ\nYXRoVGFyZ2V0IiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2Vx\ndWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IkJyb3dzZVBh\ndGhSZXN1bHQiIHR5cGU9InRuczpCcm93c2VQYXRoUmVzdWx0IiAvPg0KDQogIDx4czpjb21wbGV4\nVHlwZSBuYW1lPSJMaXN0T2ZCcm93c2VQYXRoUmVzdWx0Ij4NCiAgICA8eHM6c2VxdWVuY2U+DQog\nICAgICA8eHM6ZWxlbWVudCBuYW1lPSJCcm93c2VQYXRoUmVzdWx0IiB0eXBlPSJ0bnM6QnJvd3Nl\nUGF0aFJlc3VsdCIgbWluT2NjdXJzPSIwIiBtYXhPY2N1cnM9InVuYm91bmRlZCIgbmlsbGFibGU9\nInRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhz\nOmVsZW1lbnQgbmFtZT0iTGlzdE9mQnJvd3NlUGF0aFJlc3VsdCIgdHlwZT0idG5zOkxpc3RPZkJy\nb3dzZVBhdGhSZXN1bHQiIG5pbGxhYmxlPSJ0cnVlIj48L3hzOmVsZW1lbnQ+DQoNCiAgPHhzOmNv\nbXBsZXhUeXBlIG5hbWU9IlRyYW5zbGF0ZUJyb3dzZVBhdGhzVG9Ob2RlSWRzUmVxdWVzdCI+DQog\nICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVxdWVzdEhlYWRlciIg\ndHlwZT0idG5zOlJlcXVlc3RIZWFkZXIiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+\nDQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJCcm93c2VQYXRocyIgdHlwZT0idG5zOkxpc3RPZkJy\nb3dzZVBhdGgiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1\nZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iVHJhbnNsYXRl\nQnJvd3NlUGF0aHNUb05vZGVJZHNSZXF1ZXN0IiB0eXBlPSJ0bnM6VHJhbnNsYXRlQnJvd3NlUGF0\naHNUb05vZGVJZHNSZXF1ZXN0IiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJUcmFuc2xh\ndGVCcm93c2VQYXRoc1RvTm9kZUlkc1Jlc3BvbnNlIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAg\nICA8eHM6ZWxlbWVudCBuYW1lPSJSZXNwb25zZUhlYWRlciIgdHlwZT0idG5zOlJlc3BvbnNlSGVh\nZGVyIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQg\nbmFtZT0iUmVzdWx0cyIgdHlwZT0idG5zOkxpc3RPZkJyb3dzZVBhdGhSZXN1bHQiIG1pbk9jY3Vy\ncz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJEaWFnbm9z\ndGljSW5mb3MiIHR5cGU9InVhOkxpc3RPZkRpYWdub3N0aWNJbmZvIiBtaW5PY2N1cnM9IjAiIG5p\nbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+\nDQogIDx4czplbGVtZW50IG5hbWU9IlRyYW5zbGF0ZUJyb3dzZVBhdGhzVG9Ob2RlSWRzUmVzcG9u\nc2UiIHR5cGU9InRuczpUcmFuc2xhdGVCcm93c2VQYXRoc1RvTm9kZUlkc1Jlc3BvbnNlIiAvPg0K\nDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJSZWdpc3Rlck5vZGVzUmVxdWVzdCI+DQogICAgPHhz\nOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVxdWVzdEhlYWRlciIgdHlwZT0i\ndG5zOlJlcXVlc3RIZWFkZXIiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAg\nICA8eHM6ZWxlbWVudCBuYW1lPSJOb2Rlc1RvUmVnaXN0ZXIiIHR5cGU9InVhOkxpc3RPZk5vZGVJ\nZCIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0K\nICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJSZWdpc3Rlck5vZGVzUmVx\ndWVzdCIgdHlwZT0idG5zOlJlZ2lzdGVyTm9kZXNSZXF1ZXN0IiAvPg0KDQogIDx4czpjb21wbGV4\nVHlwZSBuYW1lPSJSZWdpc3Rlck5vZGVzUmVzcG9uc2UiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAg\nICAgIDx4czplbGVtZW50IG5hbWU9IlJlc3BvbnNlSGVhZGVyIiB0eXBlPSJ0bnM6UmVzcG9uc2VI\nZWFkZXIiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVu\ndCBuYW1lPSJSZWdpc3RlcmVkTm9kZUlkcyIgdHlwZT0idWE6TGlzdE9mTm9kZUlkIiBtaW5PY2N1\ncnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29t\ncGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IlJlZ2lzdGVyTm9kZXNSZXNwb25zZSIgdHlw\nZT0idG5zOlJlZ2lzdGVyTm9kZXNSZXNwb25zZSIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFt\nZT0iVW5yZWdpc3Rlck5vZGVzUmVxdWVzdCI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhz\nOmVsZW1lbnQgbmFtZT0iUmVxdWVzdEhlYWRlciIgdHlwZT0idG5zOlJlcXVlc3RIZWFkZXIiIG1p\nbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJO\nb2Rlc1RvVW5yZWdpc3RlciIgdHlwZT0idWE6TGlzdE9mTm9kZUlkIiBtaW5PY2N1cnM9IjAiIG5p\nbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+\nDQogIDx4czplbGVtZW50IG5hbWU9IlVucmVnaXN0ZXJOb2Rlc1JlcXVlc3QiIHR5cGU9InRuczpV\nbnJlZ2lzdGVyTm9kZXNSZXF1ZXN0IiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJVbnJl\nZ2lzdGVyTm9kZXNSZXNwb25zZSI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1l\nbnQgbmFtZT0iUmVzcG9uc2VIZWFkZXIiIHR5cGU9InRuczpSZXNwb25zZUhlYWRlciIgbWluT2Nj\ndXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNv\nbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJVbnJlZ2lzdGVyTm9kZXNSZXNwb25zZSIg\ndHlwZT0idG5zOlVucmVnaXN0ZXJOb2Rlc1Jlc3BvbnNlIiAvPg0KDQogIDx4czplbGVtZW50IG5h\nbWU9IkNvdW50ZXIiIHR5cGU9InhzOnVuc2lnbmVkSW50IiAvPg0KDQogIDx4czplbGVtZW50IG5h\nbWU9Ik51bWVyaWNSYW5nZSIgdHlwZT0ieHM6c3RyaW5nIiAvPg0KDQogIDx4czpjb21wbGV4VHlw\nZSBuYW1lPSJFbmRwb2ludENvbmZpZ3VyYXRpb24iPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAg\nIDx4czplbGVtZW50IG5hbWU9Ik9wZXJhdGlvblRpbWVvdXQiIHR5cGU9InhzOmludCIgbWluT2Nj\ndXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iVXNlQmluYXJ5RW5jb2RpbmciIHR5\ncGU9InhzOmJvb2xlYW4iIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9\nIk1heFN0cmluZ0xlbmd0aCIgdHlwZT0ieHM6aW50IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8\neHM6ZWxlbWVudCBuYW1lPSJNYXhCeXRlU3RyaW5nTGVuZ3RoIiB0eXBlPSJ4czppbnQiIG1pbk9j\nY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9Ik1heEFycmF5TGVuZ3RoIiB0eXBl\nPSJ4czppbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9Ik1heE1l\nc3NhZ2VTaXplIiB0eXBlPSJ4czppbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVt\nZW50IG5hbWU9Ik1heEJ1ZmZlclNpemUiIHR5cGU9InhzOmludCIgbWluT2NjdXJzPSIwIiAvPg0K\nICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQ2hhbm5lbExpZmV0aW1lIiB0eXBlPSJ4czppbnQiIG1p\nbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlNlY3VyaXR5VG9rZW5MaWZl\ndGltZSIgdHlwZT0ieHM6aW50IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgPC94czpzZXF1ZW5jZT4N\nCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iRW5kcG9pbnRDb25maWd1\ncmF0aW9uIiB0eXBlPSJ0bnM6RW5kcG9pbnRDb25maWd1cmF0aW9uIiAvPg0KDQogIDx4czpjb21w\nbGV4VHlwZSBuYW1lPSJMaXN0T2ZFbmRwb2ludENvbmZpZ3VyYXRpb24iPg0KICAgIDx4czpzZXF1\nZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkVuZHBvaW50Q29uZmlndXJhdGlvbiIgdHlw\nZT0idG5zOkVuZHBvaW50Q29uZmlndXJhdGlvbiIgbWluT2NjdXJzPSIwIiBtYXhPY2N1cnM9InVu\nYm91bmRlZCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpj\nb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iTGlzdE9mRW5kcG9pbnRDb25maWd1cmF0\naW9uIiB0eXBlPSJ0bnM6TGlzdE9mRW5kcG9pbnRDb25maWd1cmF0aW9uIiBuaWxsYWJsZT0idHJ1\nZSI+PC94czplbGVtZW50Pg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJRdWVyeURhdGFEZXNj\ncmlwdGlvbiI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVs\nYXRpdmVQYXRoIiB0eXBlPSJ0bnM6UmVsYXRpdmVQYXRoIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxl\nPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQXR0cmlidXRlSWQiIHR5cGU9Inhz\nOnVuc2lnbmVkSW50IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJJ\nbmRleFJhbmdlIiB0eXBlPSJ4czpzdHJpbmciIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUi\nIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1l\nbnQgbmFtZT0iUXVlcnlEYXRhRGVzY3JpcHRpb24iIHR5cGU9InRuczpRdWVyeURhdGFEZXNjcmlw\ndGlvbiIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iTGlzdE9mUXVlcnlEYXRhRGVzY3Jp\ncHRpb24iPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlF1ZXJ5\nRGF0YURlc2NyaXB0aW9uIiB0eXBlPSJ0bnM6UXVlcnlEYXRhRGVzY3JpcHRpb24iIG1pbk9jY3Vy\ncz0iMCIgbWF4T2NjdXJzPSJ1bmJvdW5kZWQiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6\nc2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ikxpc3RP\nZlF1ZXJ5RGF0YURlc2NyaXB0aW9uIiB0eXBlPSJ0bnM6TGlzdE9mUXVlcnlEYXRhRGVzY3JpcHRp\nb24iIG5pbGxhYmxlPSJ0cnVlIj48L3hzOmVsZW1lbnQ+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5h\nbWU9Ik5vZGVUeXBlRGVzY3JpcHRpb24iPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czpl\nbGVtZW50IG5hbWU9IlR5cGVEZWZpbml0aW9uTm9kZSIgdHlwZT0idWE6RXhwYW5kZWROb2RlSWQi\nIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1l\nPSJJbmNsdWRlU3ViVHlwZXMiIHR5cGU9InhzOmJvb2xlYW4iIG1pbk9jY3Vycz0iMCIgLz4NCiAg\nICAgIDx4czplbGVtZW50IG5hbWU9IkRhdGFUb1JldHVybiIgdHlwZT0idG5zOkxpc3RPZlF1ZXJ5\nRGF0YURlc2NyaXB0aW9uIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwv\neHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ik5v\nZGVUeXBlRGVzY3JpcHRpb24iIHR5cGU9InRuczpOb2RlVHlwZURlc2NyaXB0aW9uIiAvPg0KDQog\nIDx4czpjb21wbGV4VHlwZSBuYW1lPSJMaXN0T2ZOb2RlVHlwZURlc2NyaXB0aW9uIj4NCiAgICA8\neHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJOb2RlVHlwZURlc2NyaXB0aW9u\nIiB0eXBlPSJ0bnM6Tm9kZVR5cGVEZXNjcmlwdGlvbiIgbWluT2NjdXJzPSIwIiBtYXhPY2N1cnM9\nInVuYm91bmRlZCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94\nczpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iTGlzdE9mTm9kZVR5cGVEZXNjcmlw\ndGlvbiIgdHlwZT0idG5zOkxpc3RPZk5vZGVUeXBlRGVzY3JpcHRpb24iIG5pbGxhYmxlPSJ0cnVl\nIj48L3hzOmVsZW1lbnQ+DQoNCiAgPHhzOnNpbXBsZVR5cGUgIG5hbWU9IkZpbHRlck9wZXJhdG9y\nIj4NCiAgICA8eHM6cmVzdHJpY3Rpb24gYmFzZT0ieHM6c3RyaW5nIj4NCiAgICAgIDx4czplbnVt\nZXJhdGlvbiB2YWx1ZT0iRXF1YWxzXzAiIC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9\nIklzTnVsbF8xIiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJHcmVhdGVyVGhhbl8y\nIiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJMZXNzVGhhbl8zIiAvPg0KICAgICAg\nPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJHcmVhdGVyVGhhbk9yRXF1YWxfNCIgLz4NCiAgICAgIDx4\nczplbnVtZXJhdGlvbiB2YWx1ZT0iTGVzc1RoYW5PckVxdWFsXzUiIC8+DQogICAgICA8eHM6ZW51\nbWVyYXRpb24gdmFsdWU9Ikxpa2VfNiIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0i\nTm90XzciIC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IkJldHdlZW5fOCIgLz4NCiAg\nICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iSW5MaXN0XzkiIC8+DQogICAgICA8eHM6ZW51bWVy\nYXRpb24gdmFsdWU9IkFuZF8xMCIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iT3Jf\nMTEiIC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IkNhc3RfMTIiIC8+DQogICAgICA8\neHM6ZW51bWVyYXRpb24gdmFsdWU9IkluVmlld18xMyIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlv\nbiB2YWx1ZT0iT2ZUeXBlXzE0IiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJSZWxh\ndGVkVG9fMTUiIC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IkJpdHdpc2VBbmRfMTYi\nIC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IkJpdHdpc2VPcl8xNyIgLz4NCiAgICA8\nL3hzOnJlc3RyaWN0aW9uPg0KICA8L3hzOnNpbXBsZVR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9\nIkZpbHRlck9wZXJhdG9yIiB0eXBlPSJ0bnM6RmlsdGVyT3BlcmF0b3IiIC8+DQoNCiAgPHhzOmNv\nbXBsZXhUeXBlIG5hbWU9IlF1ZXJ5RGF0YVNldCI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAg\nPHhzOmVsZW1lbnQgbmFtZT0iTm9kZUlkIiB0eXBlPSJ1YTpFeHBhbmRlZE5vZGVJZCIgbWluT2Nj\ndXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlR5cGVE\nZWZpbml0aW9uTm9kZSIgdHlwZT0idWE6RXhwYW5kZWROb2RlSWQiIG1pbk9jY3Vycz0iMCIgbmls\nbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJWYWx1ZXMiIHR5cGU9InVh\nOkxpc3RPZlZhcmlhbnQiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94\nczpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iUXVl\ncnlEYXRhU2V0IiB0eXBlPSJ0bnM6UXVlcnlEYXRhU2V0IiAvPg0KDQogIDx4czpjb21wbGV4VHlw\nZSBuYW1lPSJMaXN0T2ZRdWVyeURhdGFTZXQiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4\nczplbGVtZW50IG5hbWU9IlF1ZXJ5RGF0YVNldCIgdHlwZT0idG5zOlF1ZXJ5RGF0YVNldCIgbWlu\nT2NjdXJzPSIwIiBtYXhPY2N1cnM9InVuYm91bmRlZCIgbmlsbGFibGU9InRydWUiIC8+DQogICAg\nPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0i\nTGlzdE9mUXVlcnlEYXRhU2V0IiB0eXBlPSJ0bnM6TGlzdE9mUXVlcnlEYXRhU2V0IiBuaWxsYWJs\nZT0idHJ1ZSI+PC94czplbGVtZW50Pg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJOb2RlUmVm\nZXJlbmNlIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJOb2Rl\nSWQiIHR5cGU9InVhOk5vZGVJZCIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAg\nICAgIDx4czplbGVtZW50IG5hbWU9IlJlZmVyZW5jZVR5cGVJZCIgdHlwZT0idWE6Tm9kZUlkIiBt\naW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0i\nSXNGb3J3YXJkIiB0eXBlPSJ4czpib29sZWFuIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6\nZWxlbWVudCBuYW1lPSJSZWZlcmVuY2VkTm9kZUlkcyIgdHlwZT0idWE6TGlzdE9mTm9kZUlkIiBt\naW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwv\neHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ik5vZGVSZWZlcmVuY2UiIHR5cGU9\nInRuczpOb2RlUmVmZXJlbmNlIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJMaXN0T2ZO\nb2RlUmVmZXJlbmNlIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1l\nPSJOb2RlUmVmZXJlbmNlIiB0eXBlPSJ0bnM6Tm9kZVJlZmVyZW5jZSIgbWluT2NjdXJzPSIwIiBt\nYXhPY2N1cnM9InVuYm91bmRlZCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5j\nZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iTGlzdE9mTm9kZVJl\nZmVyZW5jZSIgdHlwZT0idG5zOkxpc3RPZk5vZGVSZWZlcmVuY2UiIG5pbGxhYmxlPSJ0cnVlIj48\nL3hzOmVsZW1lbnQ+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IkNvbnRlbnRGaWx0ZXJFbGVt\nZW50Ij4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJGaWx0ZXJP\ncGVyYXRvciIgdHlwZT0idG5zOkZpbHRlck9wZXJhdG9yIiBtaW5PY2N1cnM9IjAiIC8+DQogICAg\nICA8eHM6ZWxlbWVudCBuYW1lPSJGaWx0ZXJPcGVyYW5kcyIgdHlwZT0idWE6TGlzdE9mRXh0ZW5z\naW9uT2JqZWN0IiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2Vx\ndWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IkNvbnRlbnRG\naWx0ZXJFbGVtZW50IiB0eXBlPSJ0bnM6Q29udGVudEZpbHRlckVsZW1lbnQiIC8+DQoNCiAgPHhz\nOmNvbXBsZXhUeXBlIG5hbWU9Ikxpc3RPZkNvbnRlbnRGaWx0ZXJFbGVtZW50Ij4NCiAgICA8eHM6\nc2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJDb250ZW50RmlsdGVyRWxlbWVudCIg\ndHlwZT0idG5zOkNvbnRlbnRGaWx0ZXJFbGVtZW50IiBtaW5PY2N1cnM9IjAiIG1heE9jY3Vycz0i\ndW5ib3VuZGVkIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hz\nOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJMaXN0T2ZDb250ZW50RmlsdGVyRWxl\nbWVudCIgdHlwZT0idG5zOkxpc3RPZkNvbnRlbnRGaWx0ZXJFbGVtZW50IiBuaWxsYWJsZT0idHJ1\nZSI+PC94czplbGVtZW50Pg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJDb250ZW50RmlsdGVy\nIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJFbGVtZW50cyIg\ndHlwZT0idG5zOkxpc3RPZkNvbnRlbnRGaWx0ZXJFbGVtZW50IiBtaW5PY2N1cnM9IjAiIG5pbGxh\nYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQog\nIDx4czplbGVtZW50IG5hbWU9IkNvbnRlbnRGaWx0ZXIiIHR5cGU9InRuczpDb250ZW50RmlsdGVy\nIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJMaXN0T2ZDb250ZW50RmlsdGVyIj4NCiAg\nICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJDb250ZW50RmlsdGVyIiB0\neXBlPSJ0bnM6Q29udGVudEZpbHRlciIgbWluT2NjdXJzPSIwIiBtYXhPY2N1cnM9InVuYm91bmRl\nZCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4\nVHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iTGlzdE9mQ29udGVudEZpbHRlciIgdHlwZT0idG5z\nOkxpc3RPZkNvbnRlbnRGaWx0ZXIiIG5pbGxhYmxlPSJ0cnVlIj48L3hzOmVsZW1lbnQ+DQoNCiAg\nPHhzOmNvbXBsZXhUeXBlIG5hbWU9IkZpbHRlck9wZXJhbmQiPg0KICAgIDx4czpzZXF1ZW5jZT4N\nCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBu\nYW1lPSJGaWx0ZXJPcGVyYW5kIiB0eXBlPSJ0bnM6RmlsdGVyT3BlcmFuZCIgLz4NCg0KICA8eHM6\nY29tcGxleFR5cGUgbmFtZT0iRWxlbWVudE9wZXJhbmQiPg0KICAgIDx4czpjb21wbGV4Q29udGVu\ndCBtaXhlZD0iZmFsc2UiPg0KICAgICAgPHhzOmV4dGVuc2lvbiBiYXNlPSJ0bnM6RmlsdGVyT3Bl\ncmFuZCI+DQogICAgICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1l\nPSJJbmRleCIgdHlwZT0ieHM6dW5zaWduZWRJbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgICAg\nPC94czpzZXF1ZW5jZT4NCiAgICAgIDwveHM6ZXh0ZW5zaW9uPg0KICAgIDwveHM6Y29tcGxleENv\nbnRlbnQ+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IkVsZW1lbnRP\ncGVyYW5kIiB0eXBlPSJ0bnM6RWxlbWVudE9wZXJhbmQiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBl\nIG5hbWU9IkxpdGVyYWxPcGVyYW5kIj4NCiAgICA8eHM6Y29tcGxleENvbnRlbnQgbWl4ZWQ9ImZh\nbHNlIj4NCiAgICAgIDx4czpleHRlbnNpb24gYmFzZT0idG5zOkZpbHRlck9wZXJhbmQiPg0KICAg\nICAgICA8eHM6c2VxdWVuY2U+DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iVmFsdWUiIHR5\ncGU9InVhOlZhcmlhbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgICAgPC94czpzZXF1ZW5jZT4N\nCiAgICAgIDwveHM6ZXh0ZW5zaW9uPg0KICAgIDwveHM6Y29tcGxleENvbnRlbnQ+DQogIDwveHM6\nY29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IkxpdGVyYWxPcGVyYW5kIiB0eXBlPSJ0\nbnM6TGl0ZXJhbE9wZXJhbmQiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IkF0dHJpYnV0\nZU9wZXJhbmQiPg0KICAgIDx4czpjb21wbGV4Q29udGVudCBtaXhlZD0iZmFsc2UiPg0KICAgICAg\nPHhzOmV4dGVuc2lvbiBiYXNlPSJ0bnM6RmlsdGVyT3BlcmFuZCI+DQogICAgICAgIDx4czpzZXF1\nZW5jZT4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJOb2RlSWQiIHR5cGU9InVhOk5vZGVJ\nZCIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgICAgICA8eHM6ZWxlbWVu\ndCBuYW1lPSJBbGlhcyIgdHlwZT0ieHM6c3RyaW5nIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0\ncnVlIiAvPg0KICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9IkJyb3dzZVBhdGgiIHR5cGU9InRu\nczpSZWxhdGl2ZVBhdGgiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICAg\nICAgPHhzOmVsZW1lbnQgbmFtZT0iQXR0cmlidXRlSWQiIHR5cGU9InhzOnVuc2lnbmVkSW50IiBt\naW5PY2N1cnM9IjAiIC8+DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iSW5kZXhSYW5nZSIg\ndHlwZT0ieHM6c3RyaW5nIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAg\nICA8L3hzOnNlcXVlbmNlPg0KICAgICAgPC94czpleHRlbnNpb24+DQogICAgPC94czpjb21wbGV4\nQ29udGVudD4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iQXR0cmli\ndXRlT3BlcmFuZCIgdHlwZT0idG5zOkF0dHJpYnV0ZU9wZXJhbmQiIC8+DQoNCiAgPHhzOmNvbXBs\nZXhUeXBlIG5hbWU9IlNpbXBsZUF0dHJpYnV0ZU9wZXJhbmQiPg0KICAgIDx4czpjb21wbGV4Q29u\ndGVudCBtaXhlZD0iZmFsc2UiPg0KICAgICAgPHhzOmV4dGVuc2lvbiBiYXNlPSJ0bnM6RmlsdGVy\nT3BlcmFuZCI+DQogICAgICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBu\nYW1lPSJUeXBlRGVmaW5pdGlvbklkIiB0eXBlPSJ1YTpOb2RlSWQiIG1pbk9jY3Vycz0iMCIgbmls\nbGFibGU9InRydWUiIC8+DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQnJvd3NlUGF0aCIg\ndHlwZT0idWE6TGlzdE9mUXVhbGlmaWVkTmFtZSIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1\nZSIgLz4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJBdHRyaWJ1dGVJZCIgdHlwZT0ieHM6\ndW5zaWduZWRJbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1l\nPSJJbmRleFJhbmdlIiB0eXBlPSJ4czpzdHJpbmciIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRy\ndWUiIC8+DQogICAgICAgIDwveHM6c2VxdWVuY2U+DQogICAgICA8L3hzOmV4dGVuc2lvbj4NCiAg\nICA8L3hzOmNvbXBsZXhDb250ZW50Pg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVu\ndCBuYW1lPSJTaW1wbGVBdHRyaWJ1dGVPcGVyYW5kIiB0eXBlPSJ0bnM6U2ltcGxlQXR0cmlidXRl\nT3BlcmFuZCIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iTGlzdE9mU2ltcGxlQXR0cmli\ndXRlT3BlcmFuZCI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0i\nU2ltcGxlQXR0cmlidXRlT3BlcmFuZCIgdHlwZT0idG5zOlNpbXBsZUF0dHJpYnV0ZU9wZXJhbmQi\nIG1pbk9jY3Vycz0iMCIgbWF4T2NjdXJzPSJ1bmJvdW5kZWQiIG5pbGxhYmxlPSJ0cnVlIiAvPg0K\nICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5h\nbWU9Ikxpc3RPZlNpbXBsZUF0dHJpYnV0ZU9wZXJhbmQiIHR5cGU9InRuczpMaXN0T2ZTaW1wbGVB\ndHRyaWJ1dGVPcGVyYW5kIiBuaWxsYWJsZT0idHJ1ZSI+PC94czplbGVtZW50Pg0KDQogIDx4czpj\nb21wbGV4VHlwZSBuYW1lPSJDb250ZW50RmlsdGVyRWxlbWVudFJlc3VsdCI+DQogICAgPHhzOnNl\ncXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iU3RhdHVzQ29kZSIgdHlwZT0idWE6U3Rh\ndHVzQ29kZSIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iT3BlcmFu\nZFN0YXR1c0NvZGVzIiB0eXBlPSJ1YTpMaXN0T2ZTdGF0dXNDb2RlIiBtaW5PY2N1cnM9IjAiIG5p\nbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iT3BlcmFuZERpYWdub3N0\naWNJbmZvcyIgdHlwZT0idWE6TGlzdE9mRGlhZ25vc3RpY0luZm8iIG1pbk9jY3Vycz0iMCIgbmls\nbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4N\nCiAgPHhzOmVsZW1lbnQgbmFtZT0iQ29udGVudEZpbHRlckVsZW1lbnRSZXN1bHQiIHR5cGU9InRu\nczpDb250ZW50RmlsdGVyRWxlbWVudFJlc3VsdCIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFt\nZT0iTGlzdE9mQ29udGVudEZpbHRlckVsZW1lbnRSZXN1bHQiPg0KICAgIDx4czpzZXF1ZW5jZT4N\nCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkNvbnRlbnRGaWx0ZXJFbGVtZW50UmVzdWx0IiB0eXBl\nPSJ0bnM6Q29udGVudEZpbHRlckVsZW1lbnRSZXN1bHQiIG1pbk9jY3Vycz0iMCIgbWF4T2NjdXJz\nPSJ1bmJvdW5kZWQiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwv\neHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ikxpc3RPZkNvbnRlbnRGaWx0ZXJF\nbGVtZW50UmVzdWx0IiB0eXBlPSJ0bnM6TGlzdE9mQ29udGVudEZpbHRlckVsZW1lbnRSZXN1bHQi\nIG5pbGxhYmxlPSJ0cnVlIj48L3hzOmVsZW1lbnQ+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9\nIkNvbnRlbnRGaWx0ZXJSZXN1bHQiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVt\nZW50IG5hbWU9IkVsZW1lbnRSZXN1bHRzIiB0eXBlPSJ0bnM6TGlzdE9mQ29udGVudEZpbHRlckVs\nZW1lbnRSZXN1bHQiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6\nZWxlbWVudCBuYW1lPSJFbGVtZW50RGlhZ25vc3RpY0luZm9zIiB0eXBlPSJ1YTpMaXN0T2ZEaWFn\nbm9zdGljSW5mbyIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNl\ncXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJDb250ZW50\nRmlsdGVyUmVzdWx0IiB0eXBlPSJ0bnM6Q29udGVudEZpbHRlclJlc3VsdCIgLz4NCg0KICA8eHM6\nY29tcGxleFR5cGUgbmFtZT0iUGFyc2luZ1Jlc3VsdCI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAg\nICAgPHhzOmVsZW1lbnQgbmFtZT0iU3RhdHVzQ29kZSIgdHlwZT0idWE6U3RhdHVzQ29kZSIgbWlu\nT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRGF0YVN0YXR1c0NvZGVzIiB0\neXBlPSJ1YTpMaXN0T2ZTdGF0dXNDb2RlIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAv\nPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRGF0YURpYWdub3N0aWNJbmZvcyIgdHlwZT0idWE6\nTGlzdE9mRGlhZ25vc3RpY0luZm8iIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQog\nICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFt\nZT0iUGFyc2luZ1Jlc3VsdCIgdHlwZT0idG5zOlBhcnNpbmdSZXN1bHQiIC8+DQoNCiAgPHhzOmNv\nbXBsZXhUeXBlIG5hbWU9Ikxpc3RPZlBhcnNpbmdSZXN1bHQiPg0KICAgIDx4czpzZXF1ZW5jZT4N\nCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlBhcnNpbmdSZXN1bHQiIHR5cGU9InRuczpQYXJzaW5n\nUmVzdWx0IiBtaW5PY2N1cnM9IjAiIG1heE9jY3Vycz0idW5ib3VuZGVkIiBuaWxsYWJsZT0idHJ1\nZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxl\nbWVudCBuYW1lPSJMaXN0T2ZQYXJzaW5nUmVzdWx0IiB0eXBlPSJ0bnM6TGlzdE9mUGFyc2luZ1Jl\nc3VsdCIgbmlsbGFibGU9InRydWUiPjwveHM6ZWxlbWVudD4NCg0KICA8eHM6Y29tcGxleFR5cGUg\nbmFtZT0iUXVlcnlGaXJzdFJlcXVlc3QiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czpl\nbGVtZW50IG5hbWU9IlJlcXVlc3RIZWFkZXIiIHR5cGU9InRuczpSZXF1ZXN0SGVhZGVyIiBtaW5P\nY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iVmll\ndyIgdHlwZT0idG5zOlZpZXdEZXNjcmlwdGlvbiIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1\nZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9Ik5vZGVUeXBlcyIgdHlwZT0idG5zOkxpc3RP\nZk5vZGVUeXBlRGVzY3JpcHRpb24iIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQog\nICAgICA8eHM6ZWxlbWVudCBuYW1lPSJGaWx0ZXIiIHR5cGU9InRuczpDb250ZW50RmlsdGVyIiBt\naW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0i\nTWF4RGF0YVNldHNUb1JldHVybiIgdHlwZT0ieHM6dW5zaWduZWRJbnQiIG1pbk9jY3Vycz0iMCIg\nLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9Ik1heFJlZmVyZW5jZXNUb1JldHVybiIgdHlwZT0i\neHM6dW5zaWduZWRJbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8\nL3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJRdWVyeUZpcnN0UmVxdWVzdCIg\ndHlwZT0idG5zOlF1ZXJ5Rmlyc3RSZXF1ZXN0IiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1l\nPSJRdWVyeUZpcnN0UmVzcG9uc2UiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVt\nZW50IG5hbWU9IlJlc3BvbnNlSGVhZGVyIiB0eXBlPSJ0bnM6UmVzcG9uc2VIZWFkZXIiIG1pbk9j\nY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJRdWVy\neURhdGFTZXRzIiB0eXBlPSJ0bnM6TGlzdE9mUXVlcnlEYXRhU2V0IiBtaW5PY2N1cnM9IjAiIG5p\nbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQ29udGludWF0aW9uUG9p\nbnQiIHR5cGU9InhzOmJhc2U2NEJpbmFyeSIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIg\nLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlBhcnNpbmdSZXN1bHRzIiB0eXBlPSJ0bnM6TGlz\ndE9mUGFyc2luZ1Jlc3VsdCIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAg\nIDx4czplbGVtZW50IG5hbWU9IkRpYWdub3N0aWNJbmZvcyIgdHlwZT0idWE6TGlzdE9mRGlhZ25v\nc3RpY0luZm8iIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxl\nbWVudCBuYW1lPSJGaWx0ZXJSZXN1bHQiIHR5cGU9InRuczpDb250ZW50RmlsdGVyUmVzdWx0IiBt\naW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwv\neHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IlF1ZXJ5Rmlyc3RSZXNwb25zZSIg\ndHlwZT0idG5zOlF1ZXJ5Rmlyc3RSZXNwb25zZSIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFt\nZT0iUXVlcnlOZXh0UmVxdWVzdCI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1l\nbnQgbmFtZT0iUmVxdWVzdEhlYWRlciIgdHlwZT0idG5zOlJlcXVlc3RIZWFkZXIiIG1pbk9jY3Vy\ncz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZWxlYXNl\nQ29udGludWF0aW9uUG9pbnQiIHR5cGU9InhzOmJvb2xlYW4iIG1pbk9jY3Vycz0iMCIgLz4NCiAg\nICAgIDx4czplbGVtZW50IG5hbWU9IkNvbnRpbnVhdGlvblBvaW50IiB0eXBlPSJ4czpiYXNlNjRC\naW5hcnkiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5j\nZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iUXVlcnlOZXh0UmVx\ndWVzdCIgdHlwZT0idG5zOlF1ZXJ5TmV4dFJlcXVlc3QiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBl\nIG5hbWU9IlF1ZXJ5TmV4dFJlc3BvbnNlIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6\nZWxlbWVudCBuYW1lPSJSZXNwb25zZUhlYWRlciIgdHlwZT0idG5zOlJlc3BvbnNlSGVhZGVyIiBt\naW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0i\nUXVlcnlEYXRhU2V0cyIgdHlwZT0idG5zOkxpc3RPZlF1ZXJ5RGF0YVNldCIgbWluT2NjdXJzPSIw\nIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJldmlzZWRDb250\naW51YXRpb25Qb2ludCIgdHlwZT0ieHM6YmFzZTY0QmluYXJ5IiBtaW5PY2N1cnM9IjAiIG5pbGxh\nYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQog\nIDx4czplbGVtZW50IG5hbWU9IlF1ZXJ5TmV4dFJlc3BvbnNlIiB0eXBlPSJ0bnM6UXVlcnlOZXh0\nUmVzcG9uc2UiIC8+DQoNCiAgPHhzOnNpbXBsZVR5cGUgIG5hbWU9IlRpbWVzdGFtcHNUb1JldHVy\nbiI+DQogICAgPHhzOnJlc3RyaWN0aW9uIGJhc2U9InhzOnN0cmluZyI+DQogICAgICA8eHM6ZW51\nbWVyYXRpb24gdmFsdWU9IlNvdXJjZV8wIiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVl\nPSJTZXJ2ZXJfMSIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iQm90aF8yIiAvPg0K\nICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJOZWl0aGVyXzMiIC8+DQogICAgICA8eHM6ZW51\nbWVyYXRpb24gdmFsdWU9IkludmFsaWRfNCIgLz4NCiAgICA8L3hzOnJlc3RyaWN0aW9uPg0KICA8\nL3hzOnNpbXBsZVR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IlRpbWVzdGFtcHNUb1JldHVybiIg\ndHlwZT0idG5zOlRpbWVzdGFtcHNUb1JldHVybiIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFt\nZT0iUmVhZFZhbHVlSWQiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5h\nbWU9Ik5vZGVJZCIgdHlwZT0idWE6Tm9kZUlkIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVl\nIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQXR0cmlidXRlSWQiIHR5cGU9InhzOnVuc2ln\nbmVkSW50IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJJbmRleFJh\nbmdlIiB0eXBlPSJ4czpzdHJpbmciIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQog\nICAgICA8eHM6ZWxlbWVudCBuYW1lPSJEYXRhRW5jb2RpbmciIHR5cGU9InVhOlF1YWxpZmllZE5h\nbWUiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4N\nCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iUmVhZFZhbHVlSWQiIHR5\ncGU9InRuczpSZWFkVmFsdWVJZCIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iTGlzdE9m\nUmVhZFZhbHVlSWQiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9\nIlJlYWRWYWx1ZUlkIiB0eXBlPSJ0bnM6UmVhZFZhbHVlSWQiIG1pbk9jY3Vycz0iMCIgbWF4T2Nj\ndXJzPSJ1bmJvdW5kZWQiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQog\nIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ikxpc3RPZlJlYWRWYWx1ZUlk\nIiB0eXBlPSJ0bnM6TGlzdE9mUmVhZFZhbHVlSWQiIG5pbGxhYmxlPSJ0cnVlIj48L3hzOmVsZW1l\nbnQ+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IlJlYWRSZXF1ZXN0Ij4NCiAgICA8eHM6c2Vx\ndWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZXF1ZXN0SGVhZGVyIiB0eXBlPSJ0bnM6\nUmVxdWVzdEhlYWRlciIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4\nczplbGVtZW50IG5hbWU9Ik1heEFnZSIgdHlwZT0ieHM6ZG91YmxlIiBtaW5PY2N1cnM9IjAiIC8+\nDQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJUaW1lc3RhbXBzVG9SZXR1cm4iIHR5cGU9InRuczpU\naW1lc3RhbXBzVG9SZXR1cm4iIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5h\nbWU9Ik5vZGVzVG9SZWFkIiB0eXBlPSJ0bnM6TGlzdE9mUmVhZFZhbHVlSWQiIG1pbk9jY3Vycz0i\nMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4\nVHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iUmVhZFJlcXVlc3QiIHR5cGU9InRuczpSZWFkUmVx\ndWVzdCIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iUmVhZFJlc3BvbnNlIj4NCiAgICA8\neHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZXNwb25zZUhlYWRlciIgdHlw\nZT0idG5zOlJlc3BvbnNlSGVhZGVyIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0K\nICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVzdWx0cyIgdHlwZT0idWE6TGlzdE9mRGF0YVZhbHVl\nIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFt\nZT0iRGlhZ25vc3RpY0luZm9zIiB0eXBlPSJ1YTpMaXN0T2ZEaWFnbm9zdGljSW5mbyIgbWluT2Nj\ndXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNv\nbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJSZWFkUmVzcG9uc2UiIHR5cGU9InRuczpS\nZWFkUmVzcG9uc2UiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9Ikhpc3RvcnlSZWFkVmFs\ndWVJZCI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTm9kZUlk\nIiB0eXBlPSJ1YTpOb2RlSWQiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAg\nICA8eHM6ZWxlbWVudCBuYW1lPSJJbmRleFJhbmdlIiB0eXBlPSJ4czpzdHJpbmciIG1pbk9jY3Vy\ncz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJEYXRhRW5j\nb2RpbmciIHR5cGU9InVhOlF1YWxpZmllZE5hbWUiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRy\ndWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJDb250aW51YXRpb25Qb2ludCIgdHlwZT0i\neHM6YmFzZTY0QmluYXJ5IiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwv\neHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ikhp\nc3RvcnlSZWFkVmFsdWVJZCIgdHlwZT0idG5zOkhpc3RvcnlSZWFkVmFsdWVJZCIgLz4NCg0KICA8\neHM6Y29tcGxleFR5cGUgbmFtZT0iTGlzdE9mSGlzdG9yeVJlYWRWYWx1ZUlkIj4NCiAgICA8eHM6\nc2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJIaXN0b3J5UmVhZFZhbHVlSWQiIHR5\ncGU9InRuczpIaXN0b3J5UmVhZFZhbHVlSWQiIG1pbk9jY3Vycz0iMCIgbWF4T2NjdXJzPSJ1bmJv\ndW5kZWQiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29t\ncGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ikxpc3RPZkhpc3RvcnlSZWFkVmFsdWVJZCIg\ndHlwZT0idG5zOkxpc3RPZkhpc3RvcnlSZWFkVmFsdWVJZCIgbmlsbGFibGU9InRydWUiPjwveHM6\nZWxlbWVudD4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iSGlzdG9yeVJlYWRSZXN1bHQiPg0K\nICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlN0YXR1c0NvZGUiIHR5\ncGU9InVhOlN0YXR1c0NvZGUiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5h\nbWU9IkNvbnRpbnVhdGlvblBvaW50IiB0eXBlPSJ4czpiYXNlNjRCaW5hcnkiIG1pbk9jY3Vycz0i\nMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJIaXN0b3J5RGF0\nYSIgdHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0IiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVl\nIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVt\nZW50IG5hbWU9Ikhpc3RvcnlSZWFkUmVzdWx0IiB0eXBlPSJ0bnM6SGlzdG9yeVJlYWRSZXN1bHQi\nIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9Ikxpc3RPZkhpc3RvcnlSZWFkUmVzdWx0Ij4N\nCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJIaXN0b3J5UmVhZFJl\nc3VsdCIgdHlwZT0idG5zOkhpc3RvcnlSZWFkUmVzdWx0IiBtaW5PY2N1cnM9IjAiIG1heE9jY3Vy\ncz0idW5ib3VuZGVkIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8\nL3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJMaXN0T2ZIaXN0b3J5UmVhZFJl\nc3VsdCIgdHlwZT0idG5zOkxpc3RPZkhpc3RvcnlSZWFkUmVzdWx0IiBuaWxsYWJsZT0idHJ1ZSI+\nPC94czplbGVtZW50Pg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJIaXN0b3J5UmVhZERldGFp\nbHMiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBs\nZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJIaXN0b3J5UmVhZERldGFpbHMiIHR5cGU9InRu\nczpIaXN0b3J5UmVhZERldGFpbHMiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IlJlYWRF\ndmVudERldGFpbHMiPg0KICAgIDx4czpjb21wbGV4Q29udGVudCBtaXhlZD0iZmFsc2UiPg0KICAg\nICAgPHhzOmV4dGVuc2lvbiBiYXNlPSJ0bnM6SGlzdG9yeVJlYWREZXRhaWxzIj4NCiAgICAgICAg\nPHhzOnNlcXVlbmNlPg0KICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9Ik51bVZhbHVlc1Blck5v\nZGUiIHR5cGU9InhzOnVuc2lnbmVkSW50IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICAgICAgPHhz\nOmVsZW1lbnQgbmFtZT0iU3RhcnRUaW1lIiB0eXBlPSJ4czpkYXRlVGltZSIgbWluT2NjdXJzPSIw\nIiAvPg0KICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9IkVuZFRpbWUiIHR5cGU9InhzOmRhdGVU\naW1lIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRmlsdGVy\nIiB0eXBlPSJ0bnM6RXZlbnRGaWx0ZXIiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+\nDQogICAgICAgIDwveHM6c2VxdWVuY2U+DQogICAgICA8L3hzOmV4dGVuc2lvbj4NCiAgICA8L3hz\nOmNvbXBsZXhDb250ZW50Pg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1l\nPSJSZWFkRXZlbnREZXRhaWxzIiB0eXBlPSJ0bnM6UmVhZEV2ZW50RGV0YWlscyIgLz4NCg0KICA8\neHM6Y29tcGxleFR5cGUgbmFtZT0iUmVhZFJhd01vZGlmaWVkRGV0YWlscyI+DQogICAgPHhzOmNv\nbXBsZXhDb250ZW50IG1peGVkPSJmYWxzZSI+DQogICAgICA8eHM6ZXh0ZW5zaW9uIGJhc2U9InRu\nczpIaXN0b3J5UmVhZERldGFpbHMiPg0KICAgICAgICA8eHM6c2VxdWVuY2U+DQogICAgICAgICAg\nPHhzOmVsZW1lbnQgbmFtZT0iSXNSZWFkTW9kaWZpZWQiIHR5cGU9InhzOmJvb2xlYW4iIG1pbk9j\nY3Vycz0iMCIgLz4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTdGFydFRpbWUiIHR5cGU9\nInhzOmRhdGVUaW1lIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFt\nZT0iRW5kVGltZSIgdHlwZT0ieHM6ZGF0ZVRpbWUiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgICAg\nICA8eHM6ZWxlbWVudCBuYW1lPSJOdW1WYWx1ZXNQZXJOb2RlIiB0eXBlPSJ4czp1bnNpZ25lZElu\ndCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9IlJldHVybkJv\ndW5kcyIgdHlwZT0ieHM6Ym9vbGVhbiIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgICA8L3hzOnNl\ncXVlbmNlPg0KICAgICAgPC94czpleHRlbnNpb24+DQogICAgPC94czpjb21wbGV4Q29udGVudD4N\nCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iUmVhZFJhd01vZGlmaWVk\nRGV0YWlscyIgdHlwZT0idG5zOlJlYWRSYXdNb2RpZmllZERldGFpbHMiIC8+DQoNCiAgPHhzOmNv\nbXBsZXhUeXBlIG5hbWU9IlJlYWRQcm9jZXNzZWREZXRhaWxzIj4NCiAgICA8eHM6Y29tcGxleENv\nbnRlbnQgbWl4ZWQ9ImZhbHNlIj4NCiAgICAgIDx4czpleHRlbnNpb24gYmFzZT0idG5zOkhpc3Rv\ncnlSZWFkRGV0YWlscyI+DQogICAgICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgICAgICA8eHM6ZWxl\nbWVudCBuYW1lPSJTdGFydFRpbWUiIHR5cGU9InhzOmRhdGVUaW1lIiBtaW5PY2N1cnM9IjAiIC8+\nDQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRW5kVGltZSIgdHlwZT0ieHM6ZGF0ZVRpbWUi\nIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJQcm9jZXNzaW5n\nSW50ZXJ2YWwiIHR5cGU9InhzOmRvdWJsZSIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgICAgIDx4\nczplbGVtZW50IG5hbWU9IkFnZ3JlZ2F0ZVR5cGUiIHR5cGU9InVhOkxpc3RPZk5vZGVJZCIgbWlu\nT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1l\nPSJBZ2dyZWdhdGVDb25maWd1cmF0aW9uIiB0eXBlPSJ0bnM6QWdncmVnYXRlQ29uZmlndXJhdGlv\nbiIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgICAgPC94czpzZXF1ZW5j\nZT4NCiAgICAgIDwveHM6ZXh0ZW5zaW9uPg0KICAgIDwveHM6Y29tcGxleENvbnRlbnQ+DQogIDwv\neHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IlJlYWRQcm9jZXNzZWREZXRhaWxz\nIiB0eXBlPSJ0bnM6UmVhZFByb2Nlc3NlZERldGFpbHMiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBl\nIG5hbWU9IlJlYWRBdFRpbWVEZXRhaWxzIj4NCiAgICA8eHM6Y29tcGxleENvbnRlbnQgbWl4ZWQ9\nImZhbHNlIj4NCiAgICAgIDx4czpleHRlbnNpb24gYmFzZT0idG5zOkhpc3RvcnlSZWFkRGV0YWls\ncyI+DQogICAgICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJS\nZXFUaW1lcyIgdHlwZT0idWE6TGlzdE9mRGF0ZVRpbWUiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9\nInRydWUiIC8+DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iVXNlU2ltcGxlQm91bmRzIiB0\neXBlPSJ4czpib29sZWFuIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICAgIDwveHM6c2VxdWVuY2U+\nDQogICAgICA8L3hzOmV4dGVuc2lvbj4NCiAgICA8L3hzOmNvbXBsZXhDb250ZW50Pg0KICA8L3hz\nOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJSZWFkQXRUaW1lRGV0YWlscyIgdHlw\nZT0idG5zOlJlYWRBdFRpbWVEZXRhaWxzIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJS\nZWFkQW5ub3RhdGlvbkRhdGFEZXRhaWxzIj4NCiAgICA8eHM6Y29tcGxleENvbnRlbnQgbWl4ZWQ9\nImZhbHNlIj4NCiAgICAgIDx4czpleHRlbnNpb24gYmFzZT0idG5zOkhpc3RvcnlSZWFkRGV0YWls\ncyI+DQogICAgICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJS\nZXFUaW1lcyIgdHlwZT0idWE6TGlzdE9mRGF0ZVRpbWUiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9\nInRydWUiIC8+DQogICAgICAgIDwveHM6c2VxdWVuY2U+DQogICAgICA8L3hzOmV4dGVuc2lvbj4N\nCiAgICA8L3hzOmNvbXBsZXhDb250ZW50Pg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxl\nbWVudCBuYW1lPSJSZWFkQW5ub3RhdGlvbkRhdGFEZXRhaWxzIiB0eXBlPSJ0bnM6UmVhZEFubm90\nYXRpb25EYXRhRGV0YWlscyIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iSGlzdG9yeURh\ndGEiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkRhdGFWYWx1\nZXMiIHR5cGU9InVhOkxpc3RPZkRhdGFWYWx1ZSIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1\nZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxl\nbWVudCBuYW1lPSJIaXN0b3J5RGF0YSIgdHlwZT0idG5zOkhpc3RvcnlEYXRhIiAvPg0KDQogIDx4\nczpjb21wbGV4VHlwZSBuYW1lPSJNb2RpZmljYXRpb25JbmZvIj4NCiAgICA8eHM6c2VxdWVuY2U+\nDQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJNb2RpZmljYXRpb25UaW1lIiB0eXBlPSJ4czpkYXRl\nVGltZSIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iVXBkYXRlVHlw\nZSIgdHlwZT0idG5zOkhpc3RvcnlVcGRhdGVUeXBlIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8\neHM6ZWxlbWVudCBuYW1lPSJVc2VyTmFtZSIgdHlwZT0ieHM6c3RyaW5nIiBtaW5PY2N1cnM9IjAi\nIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5\ncGU+DQogIDx4czplbGVtZW50IG5hbWU9Ik1vZGlmaWNhdGlvbkluZm8iIHR5cGU9InRuczpNb2Rp\nZmljYXRpb25JbmZvIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJMaXN0T2ZNb2RpZmlj\nYXRpb25JbmZvIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJN\nb2RpZmljYXRpb25JbmZvIiB0eXBlPSJ0bnM6TW9kaWZpY2F0aW9uSW5mbyIgbWluT2NjdXJzPSIw\nIiBtYXhPY2N1cnM9InVuYm91bmRlZCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1\nZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iTGlzdE9mTW9k\naWZpY2F0aW9uSW5mbyIgdHlwZT0idG5zOkxpc3RPZk1vZGlmaWNhdGlvbkluZm8iIG5pbGxhYmxl\nPSJ0cnVlIj48L3hzOmVsZW1lbnQ+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9Ikhpc3RvcnlN\nb2RpZmllZERhdGEiPg0KICAgIDx4czpjb21wbGV4Q29udGVudCBtaXhlZD0iZmFsc2UiPg0KICAg\nICAgPHhzOmV4dGVuc2lvbiBiYXNlPSJ0bnM6SGlzdG9yeURhdGEiPg0KICAgICAgICA8eHM6c2Vx\ndWVuY2U+DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTW9kaWZpY2F0aW9uSW5mb3MiIHR5\ncGU9InRuczpMaXN0T2ZNb2RpZmljYXRpb25JbmZvIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0\ncnVlIiAvPg0KICAgICAgICA8L3hzOnNlcXVlbmNlPg0KICAgICAgPC94czpleHRlbnNpb24+DQog\nICAgPC94czpjb21wbGV4Q29udGVudD4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1l\nbnQgbmFtZT0iSGlzdG9yeU1vZGlmaWVkRGF0YSIgdHlwZT0idG5zOkhpc3RvcnlNb2RpZmllZERh\ndGEiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9Ikhpc3RvcnlFdmVudCI+DQogICAgPHhz\nOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRXZlbnRzIiB0eXBlPSJ0bnM6TGlz\ndE9mSGlzdG9yeUV2ZW50RmllbGRMaXN0IiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAv\nPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50\nIG5hbWU9Ikhpc3RvcnlFdmVudCIgdHlwZT0idG5zOkhpc3RvcnlFdmVudCIgLz4NCg0KICA8eHM6\nY29tcGxleFR5cGUgbmFtZT0iSGlzdG9yeVJlYWRSZXF1ZXN0Ij4NCiAgICA8eHM6c2VxdWVuY2U+\nDQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZXF1ZXN0SGVhZGVyIiB0eXBlPSJ0bnM6UmVxdWVz\ndEhlYWRlciIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVt\nZW50IG5hbWU9Ikhpc3RvcnlSZWFkRGV0YWlscyIgdHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0IiBt\naW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0i\nVGltZXN0YW1wc1RvUmV0dXJuIiB0eXBlPSJ0bnM6VGltZXN0YW1wc1RvUmV0dXJuIiBtaW5PY2N1\ncnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZWxlYXNlQ29udGludWF0aW9uUG9p\nbnRzIiB0eXBlPSJ4czpib29sZWFuIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVu\ndCBuYW1lPSJOb2Rlc1RvUmVhZCIgdHlwZT0idG5zOkxpc3RPZkhpc3RvcnlSZWFkVmFsdWVJZCIg\nbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8\nL3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJIaXN0b3J5UmVhZFJlcXVlc3Qi\nIHR5cGU9InRuczpIaXN0b3J5UmVhZFJlcXVlc3QiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5h\nbWU9Ikhpc3RvcnlSZWFkUmVzcG9uc2UiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czpl\nbGVtZW50IG5hbWU9IlJlc3BvbnNlSGVhZGVyIiB0eXBlPSJ0bnM6UmVzcG9uc2VIZWFkZXIiIG1p\nbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJS\nZXN1bHRzIiB0eXBlPSJ0bnM6TGlzdE9mSGlzdG9yeVJlYWRSZXN1bHQiIG1pbk9jY3Vycz0iMCIg\nbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJEaWFnbm9zdGljSW5m\nb3MiIHR5cGU9InVhOkxpc3RPZkRpYWdub3N0aWNJbmZvIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxl\nPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4\nczplbGVtZW50IG5hbWU9Ikhpc3RvcnlSZWFkUmVzcG9uc2UiIHR5cGU9InRuczpIaXN0b3J5UmVh\nZFJlc3BvbnNlIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJXcml0ZVZhbHVlIj4NCiAg\nICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJOb2RlSWQiIHR5cGU9InVh\nOk5vZGVJZCIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVt\nZW50IG5hbWU9IkF0dHJpYnV0ZUlkIiB0eXBlPSJ4czp1bnNpZ25lZEludCIgbWluT2NjdXJzPSIw\nIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iSW5kZXhSYW5nZSIgdHlwZT0ieHM6c3RyaW5n\nIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFt\nZT0iVmFsdWUiIHR5cGU9InVhOkRhdGFWYWx1ZSIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1\nZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxl\nbWVudCBuYW1lPSJXcml0ZVZhbHVlIiB0eXBlPSJ0bnM6V3JpdGVWYWx1ZSIgLz4NCg0KICA8eHM6\nY29tcGxleFR5cGUgbmFtZT0iTGlzdE9mV3JpdGVWYWx1ZSI+DQogICAgPHhzOnNlcXVlbmNlPg0K\nICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iV3JpdGVWYWx1ZSIgdHlwZT0idG5zOldyaXRlVmFsdWUi\nIG1pbk9jY3Vycz0iMCIgbWF4T2NjdXJzPSJ1bmJvdW5kZWQiIG5pbGxhYmxlPSJ0cnVlIiAvPg0K\nICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5h\nbWU9Ikxpc3RPZldyaXRlVmFsdWUiIHR5cGU9InRuczpMaXN0T2ZXcml0ZVZhbHVlIiBuaWxsYWJs\nZT0idHJ1ZSI+PC94czplbGVtZW50Pg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJXcml0ZVJl\ncXVlc3QiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJlcXVl\nc3RIZWFkZXIiIHR5cGU9InRuczpSZXF1ZXN0SGVhZGVyIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxl\nPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTm9kZXNUb1dyaXRlIiB0eXBlPSJ0\nbnM6TGlzdE9mV3JpdGVWYWx1ZSIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAg\nICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1l\nPSJXcml0ZVJlcXVlc3QiIHR5cGU9InRuczpXcml0ZVJlcXVlc3QiIC8+DQoNCiAgPHhzOmNvbXBs\nZXhUeXBlIG5hbWU9IldyaXRlUmVzcG9uc2UiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4\nczplbGVtZW50IG5hbWU9IlJlc3BvbnNlSGVhZGVyIiB0eXBlPSJ0bnM6UmVzcG9uc2VIZWFkZXIi\nIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1l\nPSJSZXN1bHRzIiB0eXBlPSJ1YTpMaXN0T2ZTdGF0dXNDb2RlIiBtaW5PY2N1cnM9IjAiIG5pbGxh\nYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRGlhZ25vc3RpY0luZm9zIiB0\neXBlPSJ1YTpMaXN0T2ZEaWFnbm9zdGljSW5mbyIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1\nZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxl\nbWVudCBuYW1lPSJXcml0ZVJlc3BvbnNlIiB0eXBlPSJ0bnM6V3JpdGVSZXNwb25zZSIgLz4NCg0K\nICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iSGlzdG9yeVVwZGF0ZURldGFpbHMiPg0KICAgIDx4czpz\nZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9Ik5vZGVJZCIgdHlwZT0idWE6Tm9kZUlk\nIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQog\nIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ikhpc3RvcnlVcGRhdGVEZXRh\naWxzIiB0eXBlPSJ0bnM6SGlzdG9yeVVwZGF0ZURldGFpbHMiIC8+DQoNCiAgPHhzOnNpbXBsZVR5\ncGUgIG5hbWU9Ikhpc3RvcnlVcGRhdGVUeXBlIj4NCiAgICA8eHM6cmVzdHJpY3Rpb24gYmFzZT0i\neHM6c3RyaW5nIj4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iSW5zZXJ0XzEiIC8+DQog\nICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IlJlcGxhY2VfMiIgLz4NCiAgICAgIDx4czplbnVt\nZXJhdGlvbiB2YWx1ZT0iVXBkYXRlXzMiIC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9\nIkRlbGV0ZV80IiAvPg0KICAgIDwveHM6cmVzdHJpY3Rpb24+DQogIDwveHM6c2ltcGxlVHlwZT4N\nCiAgPHhzOmVsZW1lbnQgbmFtZT0iSGlzdG9yeVVwZGF0ZVR5cGUiIHR5cGU9InRuczpIaXN0b3J5\nVXBkYXRlVHlwZSIgLz4NCg0KICA8eHM6c2ltcGxlVHlwZSAgbmFtZT0iUGVyZm9ybVVwZGF0ZVR5\ncGUiPg0KICAgIDx4czpyZXN0cmljdGlvbiBiYXNlPSJ4czpzdHJpbmciPg0KICAgICAgPHhzOmVu\ndW1lcmF0aW9uIHZhbHVlPSJJbnNlcnRfMSIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1\nZT0iUmVwbGFjZV8yIiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJVcGRhdGVfMyIg\nLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iUmVtb3ZlXzQiIC8+DQogICAgPC94czpy\nZXN0cmljdGlvbj4NCiAgPC94czpzaW1wbGVUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJQZXJm\nb3JtVXBkYXRlVHlwZSIgdHlwZT0idG5zOlBlcmZvcm1VcGRhdGVUeXBlIiAvPg0KDQogIDx4czpj\nb21wbGV4VHlwZSBuYW1lPSJVcGRhdGVEYXRhRGV0YWlscyI+DQogICAgPHhzOmNvbXBsZXhDb250\nZW50IG1peGVkPSJmYWxzZSI+DQogICAgICA8eHM6ZXh0ZW5zaW9uIGJhc2U9InRuczpIaXN0b3J5\nVXBkYXRlRGV0YWlscyI+DQogICAgICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgICAgICA8eHM6ZWxl\nbWVudCBuYW1lPSJQZXJmb3JtSW5zZXJ0UmVwbGFjZSIgdHlwZT0idG5zOlBlcmZvcm1VcGRhdGVU\neXBlIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iVXBkYXRl\nVmFsdWVzIiB0eXBlPSJ1YTpMaXN0T2ZEYXRhVmFsdWUiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9\nInRydWUiIC8+DQogICAgICAgIDwveHM6c2VxdWVuY2U+DQogICAgICA8L3hzOmV4dGVuc2lvbj4N\nCiAgICA8L3hzOmNvbXBsZXhDb250ZW50Pg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxl\nbWVudCBuYW1lPSJVcGRhdGVEYXRhRGV0YWlscyIgdHlwZT0idG5zOlVwZGF0ZURhdGFEZXRhaWxz\nIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJVcGRhdGVTdHJ1Y3R1cmVEYXRhRGV0YWls\ncyI+DQogICAgPHhzOmNvbXBsZXhDb250ZW50IG1peGVkPSJmYWxzZSI+DQogICAgICA8eHM6ZXh0\nZW5zaW9uIGJhc2U9InRuczpIaXN0b3J5VXBkYXRlRGV0YWlscyI+DQogICAgICAgIDx4czpzZXF1\nZW5jZT4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJQZXJmb3JtSW5zZXJ0UmVwbGFjZSIg\ndHlwZT0idG5zOlBlcmZvcm1VcGRhdGVUeXBlIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICAgICAg\nPHhzOmVsZW1lbnQgbmFtZT0iVXBkYXRlVmFsdWVzIiB0eXBlPSJ1YTpMaXN0T2ZEYXRhVmFsdWUi\nIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICAgIDwveHM6c2VxdWVuY2U+\nDQogICAgICA8L3hzOmV4dGVuc2lvbj4NCiAgICA8L3hzOmNvbXBsZXhDb250ZW50Pg0KICA8L3hz\nOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJVcGRhdGVTdHJ1Y3R1cmVEYXRhRGV0\nYWlscyIgdHlwZT0idG5zOlVwZGF0ZVN0cnVjdHVyZURhdGFEZXRhaWxzIiAvPg0KDQogIDx4czpj\nb21wbGV4VHlwZSBuYW1lPSJVcGRhdGVFdmVudERldGFpbHMiPg0KICAgIDx4czpjb21wbGV4Q29u\ndGVudCBtaXhlZD0iZmFsc2UiPg0KICAgICAgPHhzOmV4dGVuc2lvbiBiYXNlPSJ0bnM6SGlzdG9y\neVVwZGF0ZURldGFpbHMiPg0KICAgICAgICA8eHM6c2VxdWVuY2U+DQogICAgICAgICAgPHhzOmVs\nZW1lbnQgbmFtZT0iUGVyZm9ybUluc2VydFJlcGxhY2UiIHR5cGU9InRuczpQZXJmb3JtVXBkYXRl\nVHlwZSIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9IkZpbHRl\nciIgdHlwZT0idG5zOkV2ZW50RmlsdGVyIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAv\nPg0KICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9IkV2ZW50RGF0YSIgdHlwZT0idG5zOkxpc3RP\nZkhpc3RvcnlFdmVudEZpZWxkTGlzdCIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4N\nCiAgICAgICAgPC94czpzZXF1ZW5jZT4NCiAgICAgIDwveHM6ZXh0ZW5zaW9uPg0KICAgIDwveHM6\nY29tcGxleENvbnRlbnQ+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9\nIlVwZGF0ZUV2ZW50RGV0YWlscyIgdHlwZT0idG5zOlVwZGF0ZUV2ZW50RGV0YWlscyIgLz4NCg0K\nICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iRGVsZXRlUmF3TW9kaWZpZWREZXRhaWxzIj4NCiAgICA8\neHM6Y29tcGxleENvbnRlbnQgbWl4ZWQ9ImZhbHNlIj4NCiAgICAgIDx4czpleHRlbnNpb24gYmFz\nZT0idG5zOkhpc3RvcnlVcGRhdGVEZXRhaWxzIj4NCiAgICAgICAgPHhzOnNlcXVlbmNlPg0KICAg\nICAgICAgIDx4czplbGVtZW50IG5hbWU9IklzRGVsZXRlTW9kaWZpZWQiIHR5cGU9InhzOmJvb2xl\nYW4iIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTdGFydFRp\nbWUiIHR5cGU9InhzOmRhdGVUaW1lIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICAgICAgPHhzOmVs\nZW1lbnQgbmFtZT0iRW5kVGltZSIgdHlwZT0ieHM6ZGF0ZVRpbWUiIG1pbk9jY3Vycz0iMCIgLz4N\nCiAgICAgICAgPC94czpzZXF1ZW5jZT4NCiAgICAgIDwveHM6ZXh0ZW5zaW9uPg0KICAgIDwveHM6\nY29tcGxleENvbnRlbnQ+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9\nIkRlbGV0ZVJhd01vZGlmaWVkRGV0YWlscyIgdHlwZT0idG5zOkRlbGV0ZVJhd01vZGlmaWVkRGV0\nYWlscyIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iRGVsZXRlQXRUaW1lRGV0YWlscyI+\nDQogICAgPHhzOmNvbXBsZXhDb250ZW50IG1peGVkPSJmYWxzZSI+DQogICAgICA8eHM6ZXh0ZW5z\naW9uIGJhc2U9InRuczpIaXN0b3J5VXBkYXRlRGV0YWlscyI+DQogICAgICAgIDx4czpzZXF1ZW5j\nZT4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZXFUaW1lcyIgdHlwZT0idWE6TGlzdE9m\nRGF0ZVRpbWUiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICAgIDwveHM6\nc2VxdWVuY2U+DQogICAgICA8L3hzOmV4dGVuc2lvbj4NCiAgICA8L3hzOmNvbXBsZXhDb250ZW50\nPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJEZWxldGVBdFRpbWVE\nZXRhaWxzIiB0eXBlPSJ0bnM6RGVsZXRlQXRUaW1lRGV0YWlscyIgLz4NCg0KICA8eHM6Y29tcGxl\neFR5cGUgbmFtZT0iRGVsZXRlRXZlbnREZXRhaWxzIj4NCiAgICA8eHM6Y29tcGxleENvbnRlbnQg\nbWl4ZWQ9ImZhbHNlIj4NCiAgICAgIDx4czpleHRlbnNpb24gYmFzZT0idG5zOkhpc3RvcnlVcGRh\ndGVEZXRhaWxzIj4NCiAgICAgICAgPHhzOnNlcXVlbmNlPg0KICAgICAgICAgIDx4czplbGVtZW50\nIG5hbWU9IkV2ZW50SWRzIiB0eXBlPSJ1YTpMaXN0T2ZCeXRlU3RyaW5nIiBtaW5PY2N1cnM9IjAi\nIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgICA8L3hzOnNlcXVlbmNlPg0KICAgICAgPC94czpl\neHRlbnNpb24+DQogICAgPC94czpjb21wbGV4Q29udGVudD4NCiAgPC94czpjb21wbGV4VHlwZT4N\nCiAgPHhzOmVsZW1lbnQgbmFtZT0iRGVsZXRlRXZlbnREZXRhaWxzIiB0eXBlPSJ0bnM6RGVsZXRl\nRXZlbnREZXRhaWxzIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJIaXN0b3J5VXBkYXRl\nUmVzdWx0Ij4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTdGF0\ndXNDb2RlIiB0eXBlPSJ1YTpTdGF0dXNDb2RlIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6\nZWxlbWVudCBuYW1lPSJPcGVyYXRpb25SZXN1bHRzIiB0eXBlPSJ1YTpMaXN0T2ZTdGF0dXNDb2Rl\nIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFt\nZT0iRGlhZ25vc3RpY0luZm9zIiB0eXBlPSJ1YTpMaXN0T2ZEaWFnbm9zdGljSW5mbyIgbWluT2Nj\ndXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNv\nbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJIaXN0b3J5VXBkYXRlUmVzdWx0IiB0eXBl\nPSJ0bnM6SGlzdG9yeVVwZGF0ZVJlc3VsdCIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0i\nTGlzdE9mSGlzdG9yeVVwZGF0ZVJlc3VsdCI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhz\nOmVsZW1lbnQgbmFtZT0iSGlzdG9yeVVwZGF0ZVJlc3VsdCIgdHlwZT0idG5zOkhpc3RvcnlVcGRh\ndGVSZXN1bHQiIG1pbk9jY3Vycz0iMCIgbWF4T2NjdXJzPSJ1bmJvdW5kZWQiIG5pbGxhYmxlPSJ0\ncnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czpl\nbGVtZW50IG5hbWU9Ikxpc3RPZkhpc3RvcnlVcGRhdGVSZXN1bHQiIHR5cGU9InRuczpMaXN0T2ZI\naXN0b3J5VXBkYXRlUmVzdWx0IiBuaWxsYWJsZT0idHJ1ZSI+PC94czplbGVtZW50Pg0KDQogIDx4\nczpjb21wbGV4VHlwZSBuYW1lPSJIaXN0b3J5VXBkYXRlUmVxdWVzdCI+DQogICAgPHhzOnNlcXVl\nbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVxdWVzdEhlYWRlciIgdHlwZT0idG5zOlJl\ncXVlc3RIZWFkZXIiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6\nZWxlbWVudCBuYW1lPSJIaXN0b3J5VXBkYXRlRGV0YWlscyIgdHlwZT0idWE6TGlzdE9mRXh0ZW5z\naW9uT2JqZWN0IiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2Vx\ndWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ikhpc3RvcnlV\ncGRhdGVSZXF1ZXN0IiB0eXBlPSJ0bnM6SGlzdG9yeVVwZGF0ZVJlcXVlc3QiIC8+DQoNCiAgPHhz\nOmNvbXBsZXhUeXBlIG5hbWU9Ikhpc3RvcnlVcGRhdGVSZXNwb25zZSI+DQogICAgPHhzOnNlcXVl\nbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVzcG9uc2VIZWFkZXIiIHR5cGU9InRuczpS\nZXNwb25zZUhlYWRlciIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4\nczplbGVtZW50IG5hbWU9IlJlc3VsdHMiIHR5cGU9InRuczpMaXN0T2ZIaXN0b3J5VXBkYXRlUmVz\ndWx0IiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQg\nbmFtZT0iRGlhZ25vc3RpY0luZm9zIiB0eXBlPSJ1YTpMaXN0T2ZEaWFnbm9zdGljSW5mbyIgbWlu\nT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hz\nOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJIaXN0b3J5VXBkYXRlUmVzcG9uc2Ui\nIHR5cGU9InRuczpIaXN0b3J5VXBkYXRlUmVzcG9uc2UiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBl\nIG5hbWU9IkNhbGxNZXRob2RSZXF1ZXN0Ij4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6\nZWxlbWVudCBuYW1lPSJPYmplY3RJZCIgdHlwZT0idWE6Tm9kZUlkIiBtaW5PY2N1cnM9IjAiIG5p\nbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTWV0aG9kSWQiIHR5cGU9\nInVhOk5vZGVJZCIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czpl\nbGVtZW50IG5hbWU9IklucHV0QXJndW1lbnRzIiB0eXBlPSJ1YTpMaXN0T2ZWYXJpYW50IiBtaW5P\nY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6\nY29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IkNhbGxNZXRob2RSZXF1ZXN0IiB0eXBl\nPSJ0bnM6Q2FsbE1ldGhvZFJlcXVlc3QiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9Ikxp\nc3RPZkNhbGxNZXRob2RSZXF1ZXN0Ij4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxl\nbWVudCBuYW1lPSJDYWxsTWV0aG9kUmVxdWVzdCIgdHlwZT0idG5zOkNhbGxNZXRob2RSZXF1ZXN0\nIiBtaW5PY2N1cnM9IjAiIG1heE9jY3Vycz0idW5ib3VuZGVkIiBuaWxsYWJsZT0idHJ1ZSIgLz4N\nCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBu\nYW1lPSJMaXN0T2ZDYWxsTWV0aG9kUmVxdWVzdCIgdHlwZT0idG5zOkxpc3RPZkNhbGxNZXRob2RS\nZXF1ZXN0IiBuaWxsYWJsZT0idHJ1ZSI+PC94czplbGVtZW50Pg0KDQogIDx4czpjb21wbGV4VHlw\nZSBuYW1lPSJDYWxsTWV0aG9kUmVzdWx0Ij4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6\nZWxlbWVudCBuYW1lPSJTdGF0dXNDb2RlIiB0eXBlPSJ1YTpTdGF0dXNDb2RlIiBtaW5PY2N1cnM9\nIjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJJbnB1dEFyZ3VtZW50UmVzdWx0cyIgdHlw\nZT0idWE6TGlzdE9mU3RhdHVzQ29kZSIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4N\nCiAgICAgIDx4czplbGVtZW50IG5hbWU9IklucHV0QXJndW1lbnREaWFnbm9zdGljSW5mb3MiIHR5\ncGU9InVhOkxpc3RPZkRpYWdub3N0aWNJbmZvIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVl\nIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iT3V0cHV0QXJndW1lbnRzIiB0eXBlPSJ1YTpM\naXN0T2ZWYXJpYW50IiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6\nc2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IkNhbGxN\nZXRob2RSZXN1bHQiIHR5cGU9InRuczpDYWxsTWV0aG9kUmVzdWx0IiAvPg0KDQogIDx4czpjb21w\nbGV4VHlwZSBuYW1lPSJMaXN0T2ZDYWxsTWV0aG9kUmVzdWx0Ij4NCiAgICA8eHM6c2VxdWVuY2U+\nDQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJDYWxsTWV0aG9kUmVzdWx0IiB0eXBlPSJ0bnM6Q2Fs\nbE1ldGhvZFJlc3VsdCIgbWluT2NjdXJzPSIwIiBtYXhPY2N1cnM9InVuYm91bmRlZCIgbmlsbGFi\nbGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAg\nPHhzOmVsZW1lbnQgbmFtZT0iTGlzdE9mQ2FsbE1ldGhvZFJlc3VsdCIgdHlwZT0idG5zOkxpc3RP\nZkNhbGxNZXRob2RSZXN1bHQiIG5pbGxhYmxlPSJ0cnVlIj48L3hzOmVsZW1lbnQ+DQoNCiAgPHhz\nOmNvbXBsZXhUeXBlIG5hbWU9IkNhbGxSZXF1ZXN0Ij4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAg\nICA8eHM6ZWxlbWVudCBuYW1lPSJSZXF1ZXN0SGVhZGVyIiB0eXBlPSJ0bnM6UmVxdWVzdEhlYWRl\nciIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5h\nbWU9Ik1ldGhvZHNUb0NhbGwiIHR5cGU9InRuczpMaXN0T2ZDYWxsTWV0aG9kUmVxdWVzdCIgbWlu\nT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hz\nOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJDYWxsUmVxdWVzdCIgdHlwZT0idG5z\nOkNhbGxSZXF1ZXN0IiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJDYWxsUmVzcG9uc2Ui\nPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJlc3BvbnNlSGVh\nZGVyIiB0eXBlPSJ0bnM6UmVzcG9uc2VIZWFkZXIiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRy\ndWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZXN1bHRzIiB0eXBlPSJ0bnM6TGlzdE9m\nQ2FsbE1ldGhvZFJlc3VsdCIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAg\nIDx4czplbGVtZW50IG5hbWU9IkRpYWdub3N0aWNJbmZvcyIgdHlwZT0idWE6TGlzdE9mRGlhZ25v\nc3RpY0luZm8iIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1\nZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iQ2FsbFJlc3Bv\nbnNlIiB0eXBlPSJ0bnM6Q2FsbFJlc3BvbnNlIiAvPg0KDQogIDx4czpzaW1wbGVUeXBlICBuYW1l\nPSJNb25pdG9yaW5nTW9kZSI+DQogICAgPHhzOnJlc3RyaWN0aW9uIGJhc2U9InhzOnN0cmluZyI+\nDQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IkRpc2FibGVkXzAiIC8+DQogICAgICA8eHM6\nZW51bWVyYXRpb24gdmFsdWU9IlNhbXBsaW5nXzEiIC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24g\ndmFsdWU9IlJlcG9ydGluZ18yIiAvPg0KICAgIDwveHM6cmVzdHJpY3Rpb24+DQogIDwveHM6c2lt\ncGxlVHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iTW9uaXRvcmluZ01vZGUiIHR5cGU9InRuczpN\nb25pdG9yaW5nTW9kZSIgLz4NCg0KICA8eHM6c2ltcGxlVHlwZSAgbmFtZT0iRGF0YUNoYW5nZVRy\naWdnZXIiPg0KICAgIDx4czpyZXN0cmljdGlvbiBiYXNlPSJ4czpzdHJpbmciPg0KICAgICAgPHhz\nOmVudW1lcmF0aW9uIHZhbHVlPSJTdGF0dXNfMCIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2\nYWx1ZT0iU3RhdHVzVmFsdWVfMSIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iU3Rh\ndHVzVmFsdWVUaW1lc3RhbXBfMiIgLz4NCiAgICA8L3hzOnJlc3RyaWN0aW9uPg0KICA8L3hzOnNp\nbXBsZVR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IkRhdGFDaGFuZ2VUcmlnZ2VyIiB0eXBlPSJ0\nbnM6RGF0YUNoYW5nZVRyaWdnZXIiIC8+DQoNCiAgPHhzOnNpbXBsZVR5cGUgIG5hbWU9IkRlYWRi\nYW5kVHlwZSI+DQogICAgPHhzOnJlc3RyaWN0aW9uIGJhc2U9InhzOnN0cmluZyI+DQogICAgICA8\neHM6ZW51bWVyYXRpb24gdmFsdWU9Ik5vbmVfMCIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2\nYWx1ZT0iQWJzb2x1dGVfMSIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iUGVyY2Vu\ndF8yIiAvPg0KICAgIDwveHM6cmVzdHJpY3Rpb24+DQogIDwveHM6c2ltcGxlVHlwZT4NCiAgPHhz\nOmVsZW1lbnQgbmFtZT0iRGVhZGJhbmRUeXBlIiB0eXBlPSJ0bnM6RGVhZGJhbmRUeXBlIiAvPg0K\nDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJNb25pdG9yaW5nRmlsdGVyIj4NCiAgICA8eHM6c2Vx\ndWVuY2U+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVs\nZW1lbnQgbmFtZT0iTW9uaXRvcmluZ0ZpbHRlciIgdHlwZT0idG5zOk1vbml0b3JpbmdGaWx0ZXIi\nIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IkRhdGFDaGFuZ2VGaWx0ZXIiPg0KICAgIDx4\nczpjb21wbGV4Q29udGVudCBtaXhlZD0iZmFsc2UiPg0KICAgICAgPHhzOmV4dGVuc2lvbiBiYXNl\nPSJ0bnM6TW9uaXRvcmluZ0ZpbHRlciI+DQogICAgICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgICAg\nICA8eHM6ZWxlbWVudCBuYW1lPSJUcmlnZ2VyIiB0eXBlPSJ0bnM6RGF0YUNoYW5nZVRyaWdnZXIi\nIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJEZWFkYmFuZFR5\ncGUiIHR5cGU9InhzOnVuc2lnbmVkSW50IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICAgICAgPHhz\nOmVsZW1lbnQgbmFtZT0iRGVhZGJhbmRWYWx1ZSIgdHlwZT0ieHM6ZG91YmxlIiBtaW5PY2N1cnM9\nIjAiIC8+DQogICAgICAgIDwveHM6c2VxdWVuY2U+DQogICAgICA8L3hzOmV4dGVuc2lvbj4NCiAg\nICA8L3hzOmNvbXBsZXhDb250ZW50Pg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVu\ndCBuYW1lPSJEYXRhQ2hhbmdlRmlsdGVyIiB0eXBlPSJ0bnM6RGF0YUNoYW5nZUZpbHRlciIgLz4N\nCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iRXZlbnRGaWx0ZXIiPg0KICAgIDx4czpjb21wbGV4\nQ29udGVudCBtaXhlZD0iZmFsc2UiPg0KICAgICAgPHhzOmV4dGVuc2lvbiBiYXNlPSJ0bnM6TW9u\naXRvcmluZ0ZpbHRlciI+DQogICAgICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgICAgICA8eHM6ZWxl\nbWVudCBuYW1lPSJTZWxlY3RDbGF1c2VzIiB0eXBlPSJ0bnM6TGlzdE9mU2ltcGxlQXR0cmlidXRl\nT3BlcmFuZCIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgICAgICA8eHM6\nZWxlbWVudCBuYW1lPSJXaGVyZUNsYXVzZSIgdHlwZT0idG5zOkNvbnRlbnRGaWx0ZXIiIG1pbk9j\nY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICAgIDwveHM6c2VxdWVuY2U+DQogICAg\nICA8L3hzOmV4dGVuc2lvbj4NCiAgICA8L3hzOmNvbXBsZXhDb250ZW50Pg0KICA8L3hzOmNvbXBs\nZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJFdmVudEZpbHRlciIgdHlwZT0idG5zOkV2ZW50\nRmlsdGVyIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJBZ2dyZWdhdGVDb25maWd1cmF0\naW9uIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJVc2VTZXJ2\nZXJDYXBhYmlsaXRpZXNEZWZhdWx0cyIgdHlwZT0ieHM6Ym9vbGVhbiIgbWluT2NjdXJzPSIwIiAv\nPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iVHJlYXRVbmNlcnRhaW5Bc0JhZCIgdHlwZT0ieHM6\nYm9vbGVhbiIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUGVyY2Vu\ndERhdGFCYWQiIHR5cGU9InhzOnVuc2lnbmVkQnl0ZSIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAg\nPHhzOmVsZW1lbnQgbmFtZT0iUGVyY2VudERhdGFHb29kIiB0eXBlPSJ4czp1bnNpZ25lZEJ5dGUi\nIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlVzZVNsb3BlZEV4dHJh\ncG9sYXRpb24iIHR5cGU9InhzOmJvb2xlYW4iIG1pbk9jY3Vycz0iMCIgLz4NCiAgICA8L3hzOnNl\ncXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJBZ2dyZWdh\ndGVDb25maWd1cmF0aW9uIiB0eXBlPSJ0bnM6QWdncmVnYXRlQ29uZmlndXJhdGlvbiIgLz4NCg0K\nICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iQWdncmVnYXRlRmlsdGVyIj4NCiAgICA8eHM6Y29tcGxl\neENvbnRlbnQgbWl4ZWQ9ImZhbHNlIj4NCiAgICAgIDx4czpleHRlbnNpb24gYmFzZT0idG5zOk1v\nbml0b3JpbmdGaWx0ZXIiPg0KICAgICAgICA8eHM6c2VxdWVuY2U+DQogICAgICAgICAgPHhzOmVs\nZW1lbnQgbmFtZT0iU3RhcnRUaW1lIiB0eXBlPSJ4czpkYXRlVGltZSIgbWluT2NjdXJzPSIwIiAv\nPg0KICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9IkFnZ3JlZ2F0ZVR5cGUiIHR5cGU9InVhOk5v\nZGVJZCIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgICAgICA8eHM6ZWxl\nbWVudCBuYW1lPSJQcm9jZXNzaW5nSW50ZXJ2YWwiIHR5cGU9InhzOmRvdWJsZSIgbWluT2NjdXJz\nPSIwIiAvPg0KICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9IkFnZ3JlZ2F0ZUNvbmZpZ3VyYXRp\nb24iIHR5cGU9InRuczpBZ2dyZWdhdGVDb25maWd1cmF0aW9uIiBtaW5PY2N1cnM9IjAiIG5pbGxh\nYmxlPSJ0cnVlIiAvPg0KICAgICAgICA8L3hzOnNlcXVlbmNlPg0KICAgICAgPC94czpleHRlbnNp\nb24+DQogICAgPC94czpjb21wbGV4Q29udGVudD4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhz\nOmVsZW1lbnQgbmFtZT0iQWdncmVnYXRlRmlsdGVyIiB0eXBlPSJ0bnM6QWdncmVnYXRlRmlsdGVy\nIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJNb25pdG9yaW5nRmlsdGVyUmVzdWx0Ij4N\nCiAgICA8eHM6c2VxdWVuY2U+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlw\nZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iTW9uaXRvcmluZ0ZpbHRlclJlc3VsdCIgdHlwZT0idG5z\nOk1vbml0b3JpbmdGaWx0ZXJSZXN1bHQiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IkV2\nZW50RmlsdGVyUmVzdWx0Ij4NCiAgICA8eHM6Y29tcGxleENvbnRlbnQgbWl4ZWQ9ImZhbHNlIj4N\nCiAgICAgIDx4czpleHRlbnNpb24gYmFzZT0idG5zOk1vbml0b3JpbmdGaWx0ZXJSZXN1bHQiPg0K\nICAgICAgICA8eHM6c2VxdWVuY2U+DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iU2VsZWN0\nQ2xhdXNlUmVzdWx0cyIgdHlwZT0idWE6TGlzdE9mU3RhdHVzQ29kZSIgbWluT2NjdXJzPSIwIiBu\naWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTZWxlY3RDbGF1\nc2VEaWFnbm9zdGljSW5mb3MiIHR5cGU9InVhOkxpc3RPZkRpYWdub3N0aWNJbmZvIiBtaW5PY2N1\ncnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9Ildo\nZXJlQ2xhdXNlUmVzdWx0IiB0eXBlPSJ0bnM6Q29udGVudEZpbHRlclJlc3VsdCIgbWluT2NjdXJz\nPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgICAgPC94czpzZXF1ZW5jZT4NCiAgICAgIDwv\neHM6ZXh0ZW5zaW9uPg0KICAgIDwveHM6Y29tcGxleENvbnRlbnQ+DQogIDwveHM6Y29tcGxleFR5\ncGU+DQogIDx4czplbGVtZW50IG5hbWU9IkV2ZW50RmlsdGVyUmVzdWx0IiB0eXBlPSJ0bnM6RXZl\nbnRGaWx0ZXJSZXN1bHQiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IkFnZ3JlZ2F0ZUZp\nbHRlclJlc3VsdCI+DQogICAgPHhzOmNvbXBsZXhDb250ZW50IG1peGVkPSJmYWxzZSI+DQogICAg\nICA8eHM6ZXh0ZW5zaW9uIGJhc2U9InRuczpNb25pdG9yaW5nRmlsdGVyUmVzdWx0Ij4NCiAgICAg\nICAgPHhzOnNlcXVlbmNlPg0KICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9IlJldmlzZWRTdGFy\ndFRpbWUiIHR5cGU9InhzOmRhdGVUaW1lIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICAgICAgPHhz\nOmVsZW1lbnQgbmFtZT0iUmV2aXNlZFByb2Nlc3NpbmdJbnRlcnZhbCIgdHlwZT0ieHM6ZG91Ymxl\nIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmV2aXNlZEFn\nZ3JlZ2F0ZUNvbmZpZ3VyYXRpb24iIHR5cGU9InRuczpBZ2dyZWdhdGVDb25maWd1cmF0aW9uIiBt\naW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgICA8L3hzOnNlcXVlbmNlPg0K\nICAgICAgPC94czpleHRlbnNpb24+DQogICAgPC94czpjb21wbGV4Q29udGVudD4NCiAgPC94czpj\nb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iQWdncmVnYXRlRmlsdGVyUmVzdWx0IiB0\neXBlPSJ0bnM6QWdncmVnYXRlRmlsdGVyUmVzdWx0IiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBu\nYW1lPSJNb25pdG9yaW5nUGFyYW1ldGVycyI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhz\nOmVsZW1lbnQgbmFtZT0iQ2xpZW50SGFuZGxlIiB0eXBlPSJ4czp1bnNpZ25lZEludCIgbWluT2Nj\ndXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iU2FtcGxpbmdJbnRlcnZhbCIgdHlw\nZT0ieHM6ZG91YmxlIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJG\naWx0ZXIiIHR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0i\ndHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlF1ZXVlU2l6ZSIgdHlwZT0ieHM6dW5z\naWduZWRJbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkRpc2Nh\ncmRPbGRlc3QiIHR5cGU9InhzOmJvb2xlYW4iIG1pbk9jY3Vycz0iMCIgLz4NCiAgICA8L3hzOnNl\ncXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJNb25pdG9y\naW5nUGFyYW1ldGVycyIgdHlwZT0idG5zOk1vbml0b3JpbmdQYXJhbWV0ZXJzIiAvPg0KDQogIDx4\nczpjb21wbGV4VHlwZSBuYW1lPSJNb25pdG9yZWRJdGVtQ3JlYXRlUmVxdWVzdCI+DQogICAgPHhz\nOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iSXRlbVRvTW9uaXRvciIgdHlwZT0i\ndG5zOlJlYWRWYWx1ZUlkIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAg\nPHhzOmVsZW1lbnQgbmFtZT0iTW9uaXRvcmluZ01vZGUiIHR5cGU9InRuczpNb25pdG9yaW5nTW9k\nZSIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVxdWVzdGVkUGFy\nYW1ldGVycyIgdHlwZT0idG5zOk1vbml0b3JpbmdQYXJhbWV0ZXJzIiBtaW5PY2N1cnM9IjAiIG5p\nbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+\nDQogIDx4czplbGVtZW50IG5hbWU9Ik1vbml0b3JlZEl0ZW1DcmVhdGVSZXF1ZXN0IiB0eXBlPSJ0\nbnM6TW9uaXRvcmVkSXRlbUNyZWF0ZVJlcXVlc3QiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5h\nbWU9Ikxpc3RPZk1vbml0b3JlZEl0ZW1DcmVhdGVSZXF1ZXN0Ij4NCiAgICA8eHM6c2VxdWVuY2U+\nDQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJNb25pdG9yZWRJdGVtQ3JlYXRlUmVxdWVzdCIgdHlw\nZT0idG5zOk1vbml0b3JlZEl0ZW1DcmVhdGVSZXF1ZXN0IiBtaW5PY2N1cnM9IjAiIG1heE9jY3Vy\ncz0idW5ib3VuZGVkIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8\nL3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJMaXN0T2ZNb25pdG9yZWRJdGVt\nQ3JlYXRlUmVxdWVzdCIgdHlwZT0idG5zOkxpc3RPZk1vbml0b3JlZEl0ZW1DcmVhdGVSZXF1ZXN0\nIiBuaWxsYWJsZT0idHJ1ZSI+PC94czplbGVtZW50Pg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1l\nPSJNb25pdG9yZWRJdGVtQ3JlYXRlUmVzdWx0Ij4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8\neHM6ZWxlbWVudCBuYW1lPSJTdGF0dXNDb2RlIiB0eXBlPSJ1YTpTdGF0dXNDb2RlIiBtaW5PY2N1\ncnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJNb25pdG9yZWRJdGVtSWQiIHR5cGU9\nInhzOnVuc2lnbmVkSW50IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1l\nPSJSZXZpc2VkU2FtcGxpbmdJbnRlcnZhbCIgdHlwZT0ieHM6ZG91YmxlIiBtaW5PY2N1cnM9IjAi\nIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZXZpc2VkUXVldWVTaXplIiB0eXBlPSJ4czp1\nbnNpZ25lZEludCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRmls\ndGVyUmVzdWx0IiB0eXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiIG1pbk9jY3Vycz0iMCIgbmlsbGFi\nbGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAg\nPHhzOmVsZW1lbnQgbmFtZT0iTW9uaXRvcmVkSXRlbUNyZWF0ZVJlc3VsdCIgdHlwZT0idG5zOk1v\nbml0b3JlZEl0ZW1DcmVhdGVSZXN1bHQiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9Ikxp\nc3RPZk1vbml0b3JlZEl0ZW1DcmVhdGVSZXN1bHQiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAg\nIDx4czplbGVtZW50IG5hbWU9Ik1vbml0b3JlZEl0ZW1DcmVhdGVSZXN1bHQiIHR5cGU9InRuczpN\nb25pdG9yZWRJdGVtQ3JlYXRlUmVzdWx0IiBtaW5PY2N1cnM9IjAiIG1heE9jY3Vycz0idW5ib3Vu\nZGVkIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBs\nZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJMaXN0T2ZNb25pdG9yZWRJdGVtQ3JlYXRlUmVz\ndWx0IiB0eXBlPSJ0bnM6TGlzdE9mTW9uaXRvcmVkSXRlbUNyZWF0ZVJlc3VsdCIgbmlsbGFibGU9\nInRydWUiPjwveHM6ZWxlbWVudD4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iQ3JlYXRlTW9u\naXRvcmVkSXRlbXNSZXF1ZXN0Ij4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVu\ndCBuYW1lPSJSZXF1ZXN0SGVhZGVyIiB0eXBlPSJ0bnM6UmVxdWVzdEhlYWRlciIgbWluT2NjdXJz\nPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlN1YnNjcmlw\ndGlvbklkIiB0eXBlPSJ4czp1bnNpZ25lZEludCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhz\nOmVsZW1lbnQgbmFtZT0iVGltZXN0YW1wc1RvUmV0dXJuIiB0eXBlPSJ0bnM6VGltZXN0YW1wc1Rv\nUmV0dXJuIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJJdGVtc1Rv\nQ3JlYXRlIiB0eXBlPSJ0bnM6TGlzdE9mTW9uaXRvcmVkSXRlbUNyZWF0ZVJlcXVlc3QiIG1pbk9j\nY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpj\nb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iQ3JlYXRlTW9uaXRvcmVkSXRlbXNSZXF1\nZXN0IiB0eXBlPSJ0bnM6Q3JlYXRlTW9uaXRvcmVkSXRlbXNSZXF1ZXN0IiAvPg0KDQogIDx4czpj\nb21wbGV4VHlwZSBuYW1lPSJDcmVhdGVNb25pdG9yZWRJdGVtc1Jlc3BvbnNlIj4NCiAgICA8eHM6\nc2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZXNwb25zZUhlYWRlciIgdHlwZT0i\ndG5zOlJlc3BvbnNlSGVhZGVyIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAg\nICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVzdWx0cyIgdHlwZT0idG5zOkxpc3RPZk1vbml0b3JlZEl0\nZW1DcmVhdGVSZXN1bHQiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8\neHM6ZWxlbWVudCBuYW1lPSJEaWFnbm9zdGljSW5mb3MiIHR5cGU9InVhOkxpc3RPZkRpYWdub3N0\naWNJbmZvIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVu\nY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IkNyZWF0ZU1vbml0\nb3JlZEl0ZW1zUmVzcG9uc2UiIHR5cGU9InRuczpDcmVhdGVNb25pdG9yZWRJdGVtc1Jlc3BvbnNl\nIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJNb25pdG9yZWRJdGVtTW9kaWZ5UmVxdWVz\ndCI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTW9uaXRvcmVk\nSXRlbUlkIiB0eXBlPSJ4czp1bnNpZ25lZEludCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhz\nOmVsZW1lbnQgbmFtZT0iUmVxdWVzdGVkUGFyYW1ldGVycyIgdHlwZT0idG5zOk1vbml0b3JpbmdQ\nYXJhbWV0ZXJzIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2Vx\ndWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ik1vbml0b3Jl\nZEl0ZW1Nb2RpZnlSZXF1ZXN0IiB0eXBlPSJ0bnM6TW9uaXRvcmVkSXRlbU1vZGlmeVJlcXVlc3Qi\nIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9Ikxpc3RPZk1vbml0b3JlZEl0ZW1Nb2RpZnlS\nZXF1ZXN0Ij4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJNb25p\ndG9yZWRJdGVtTW9kaWZ5UmVxdWVzdCIgdHlwZT0idG5zOk1vbml0b3JlZEl0ZW1Nb2RpZnlSZXF1\nZXN0IiBtaW5PY2N1cnM9IjAiIG1heE9jY3Vycz0idW5ib3VuZGVkIiBuaWxsYWJsZT0idHJ1ZSIg\nLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVu\ndCBuYW1lPSJMaXN0T2ZNb25pdG9yZWRJdGVtTW9kaWZ5UmVxdWVzdCIgdHlwZT0idG5zOkxpc3RP\nZk1vbml0b3JlZEl0ZW1Nb2RpZnlSZXF1ZXN0IiBuaWxsYWJsZT0idHJ1ZSI+PC94czplbGVtZW50\nPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJNb25pdG9yZWRJdGVtTW9kaWZ5UmVzdWx0Ij4N\nCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTdGF0dXNDb2RlIiB0\neXBlPSJ1YTpTdGF0dXNDb2RlIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBu\nYW1lPSJSZXZpc2VkU2FtcGxpbmdJbnRlcnZhbCIgdHlwZT0ieHM6ZG91YmxlIiBtaW5PY2N1cnM9\nIjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZXZpc2VkUXVldWVTaXplIiB0eXBlPSJ4\nczp1bnNpZ25lZEludCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0i\nRmlsdGVyUmVzdWx0IiB0eXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiIG1pbk9jY3Vycz0iMCIgbmls\nbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4N\nCiAgPHhzOmVsZW1lbnQgbmFtZT0iTW9uaXRvcmVkSXRlbU1vZGlmeVJlc3VsdCIgdHlwZT0idG5z\nOk1vbml0b3JlZEl0ZW1Nb2RpZnlSZXN1bHQiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9\nIkxpc3RPZk1vbml0b3JlZEl0ZW1Nb2RpZnlSZXN1bHQiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAg\nICAgIDx4czplbGVtZW50IG5hbWU9Ik1vbml0b3JlZEl0ZW1Nb2RpZnlSZXN1bHQiIHR5cGU9InRu\nczpNb25pdG9yZWRJdGVtTW9kaWZ5UmVzdWx0IiBtaW5PY2N1cnM9IjAiIG1heE9jY3Vycz0idW5i\nb3VuZGVkIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNv\nbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJMaXN0T2ZNb25pdG9yZWRJdGVtTW9kaWZ5\nUmVzdWx0IiB0eXBlPSJ0bnM6TGlzdE9mTW9uaXRvcmVkSXRlbU1vZGlmeVJlc3VsdCIgbmlsbGFi\nbGU9InRydWUiPjwveHM6ZWxlbWVudD4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iTW9kaWZ5\nTW9uaXRvcmVkSXRlbXNSZXF1ZXN0Ij4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxl\nbWVudCBuYW1lPSJSZXF1ZXN0SGVhZGVyIiB0eXBlPSJ0bnM6UmVxdWVzdEhlYWRlciIgbWluT2Nj\ndXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlN1YnNj\ncmlwdGlvbklkIiB0eXBlPSJ4czp1bnNpZ25lZEludCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAg\nPHhzOmVsZW1lbnQgbmFtZT0iVGltZXN0YW1wc1RvUmV0dXJuIiB0eXBlPSJ0bnM6VGltZXN0YW1w\nc1RvUmV0dXJuIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJJdGVt\nc1RvTW9kaWZ5IiB0eXBlPSJ0bnM6TGlzdE9mTW9uaXRvcmVkSXRlbU1vZGlmeVJlcXVlc3QiIG1p\nbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94\nczpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iTW9kaWZ5TW9uaXRvcmVkSXRlbXNS\nZXF1ZXN0IiB0eXBlPSJ0bnM6TW9kaWZ5TW9uaXRvcmVkSXRlbXNSZXF1ZXN0IiAvPg0KDQogIDx4\nczpjb21wbGV4VHlwZSBuYW1lPSJNb2RpZnlNb25pdG9yZWRJdGVtc1Jlc3BvbnNlIj4NCiAgICA8\neHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZXNwb25zZUhlYWRlciIgdHlw\nZT0idG5zOlJlc3BvbnNlSGVhZGVyIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0K\nICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVzdWx0cyIgdHlwZT0idG5zOkxpc3RPZk1vbml0b3Jl\nZEl0ZW1Nb2RpZnlSZXN1bHQiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAg\nICA8eHM6ZWxlbWVudCBuYW1lPSJEaWFnbm9zdGljSW5mb3MiIHR5cGU9InVhOkxpc3RPZkRpYWdu\nb3N0aWNJbmZvIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2Vx\ndWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ik1vZGlmeU1v\nbml0b3JlZEl0ZW1zUmVzcG9uc2UiIHR5cGU9InRuczpNb2RpZnlNb25pdG9yZWRJdGVtc1Jlc3Bv\nbnNlIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJTZXRNb25pdG9yaW5nTW9kZVJlcXVl\nc3QiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJlcXVlc3RI\nZWFkZXIiIHR5cGU9InRuczpSZXF1ZXN0SGVhZGVyIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0\ncnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iU3Vic2NyaXB0aW9uSWQiIHR5cGU9Inhz\nOnVuc2lnbmVkSW50IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJN\nb25pdG9yaW5nTW9kZSIgdHlwZT0idG5zOk1vbml0b3JpbmdNb2RlIiBtaW5PY2N1cnM9IjAiIC8+\nDQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJNb25pdG9yZWRJdGVtSWRzIiB0eXBlPSJ1YTpMaXN0\nT2ZVSW50MzIiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1\nZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iU2V0TW9uaXRv\ncmluZ01vZGVSZXF1ZXN0IiB0eXBlPSJ0bnM6U2V0TW9uaXRvcmluZ01vZGVSZXF1ZXN0IiAvPg0K\nDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJTZXRNb25pdG9yaW5nTW9kZVJlc3BvbnNlIj4NCiAg\nICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZXNwb25zZUhlYWRlciIg\ndHlwZT0idG5zOlJlc3BvbnNlSGVhZGVyIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAv\nPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVzdWx0cyIgdHlwZT0idWE6TGlzdE9mU3RhdHVz\nQ29kZSIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50\nIG5hbWU9IkRpYWdub3N0aWNJbmZvcyIgdHlwZT0idWE6TGlzdE9mRGlhZ25vc3RpY0luZm8iIG1p\nbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94\nczpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iU2V0TW9uaXRvcmluZ01vZGVSZXNw\nb25zZSIgdHlwZT0idG5zOlNldE1vbml0b3JpbmdNb2RlUmVzcG9uc2UiIC8+DQoNCiAgPHhzOmNv\nbXBsZXhUeXBlIG5hbWU9IlNldFRyaWdnZXJpbmdSZXF1ZXN0Ij4NCiAgICA8eHM6c2VxdWVuY2U+\nDQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZXF1ZXN0SGVhZGVyIiB0eXBlPSJ0bnM6UmVxdWVz\ndEhlYWRlciIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVt\nZW50IG5hbWU9IlN1YnNjcmlwdGlvbklkIiB0eXBlPSJ4czp1bnNpZ25lZEludCIgbWluT2NjdXJz\nPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iVHJpZ2dlcmluZ0l0ZW1JZCIgdHlwZT0i\neHM6dW5zaWduZWRJbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9\nIkxpbmtzVG9BZGQiIHR5cGU9InVhOkxpc3RPZlVJbnQzMiIgbWluT2NjdXJzPSIwIiBuaWxsYWJs\nZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkxpbmtzVG9SZW1vdmUiIHR5cGU9\nInVhOkxpc3RPZlVJbnQzMiIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8\nL3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJT\nZXRUcmlnZ2VyaW5nUmVxdWVzdCIgdHlwZT0idG5zOlNldFRyaWdnZXJpbmdSZXF1ZXN0IiAvPg0K\nDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJTZXRUcmlnZ2VyaW5nUmVzcG9uc2UiPg0KICAgIDx4\nczpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJlc3BvbnNlSGVhZGVyIiB0eXBl\nPSJ0bnM6UmVzcG9uc2VIZWFkZXIiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQog\nICAgICA8eHM6ZWxlbWVudCBuYW1lPSJBZGRSZXN1bHRzIiB0eXBlPSJ1YTpMaXN0T2ZTdGF0dXND\nb2RlIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQg\nbmFtZT0iQWRkRGlhZ25vc3RpY0luZm9zIiB0eXBlPSJ1YTpMaXN0T2ZEaWFnbm9zdGljSW5mbyIg\nbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9\nIlJlbW92ZVJlc3VsdHMiIHR5cGU9InVhOkxpc3RPZlN0YXR1c0NvZGUiIG1pbk9jY3Vycz0iMCIg\nbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZW1vdmVEaWFnbm9z\ndGljSW5mb3MiIHR5cGU9InVhOkxpc3RPZkRpYWdub3N0aWNJbmZvIiBtaW5PY2N1cnM9IjAiIG5p\nbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+\nDQogIDx4czplbGVtZW50IG5hbWU9IlNldFRyaWdnZXJpbmdSZXNwb25zZSIgdHlwZT0idG5zOlNl\ndFRyaWdnZXJpbmdSZXNwb25zZSIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iRGVsZXRl\nTW9uaXRvcmVkSXRlbXNSZXF1ZXN0Ij4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxl\nbWVudCBuYW1lPSJSZXF1ZXN0SGVhZGVyIiB0eXBlPSJ0bnM6UmVxdWVzdEhlYWRlciIgbWluT2Nj\ndXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlN1YnNj\ncmlwdGlvbklkIiB0eXBlPSJ4czp1bnNpZ25lZEludCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAg\nPHhzOmVsZW1lbnQgbmFtZT0iTW9uaXRvcmVkSXRlbUlkcyIgdHlwZT0idWE6TGlzdE9mVUludDMy\nIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQog\nIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IkRlbGV0ZU1vbml0b3JlZEl0\nZW1zUmVxdWVzdCIgdHlwZT0idG5zOkRlbGV0ZU1vbml0b3JlZEl0ZW1zUmVxdWVzdCIgLz4NCg0K\nICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iRGVsZXRlTW9uaXRvcmVkSXRlbXNSZXNwb25zZSI+DQog\nICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVzcG9uc2VIZWFkZXIi\nIHR5cGU9InRuczpSZXNwb25zZUhlYWRlciIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIg\nLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJlc3VsdHMiIHR5cGU9InVhOkxpc3RPZlN0YXR1\nc0NvZGUiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVu\ndCBuYW1lPSJEaWFnbm9zdGljSW5mb3MiIHR5cGU9InVhOkxpc3RPZkRpYWdub3N0aWNJbmZvIiBt\naW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwv\neHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IkRlbGV0ZU1vbml0b3JlZEl0ZW1z\nUmVzcG9uc2UiIHR5cGU9InRuczpEZWxldGVNb25pdG9yZWRJdGVtc1Jlc3BvbnNlIiAvPg0KDQog\nIDx4czpjb21wbGV4VHlwZSBuYW1lPSJDcmVhdGVTdWJzY3JpcHRpb25SZXF1ZXN0Ij4NCiAgICA8\neHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZXF1ZXN0SGVhZGVyIiB0eXBl\nPSJ0bnM6UmVxdWVzdEhlYWRlciIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAg\nICAgIDx4czplbGVtZW50IG5hbWU9IlJlcXVlc3RlZFB1Ymxpc2hpbmdJbnRlcnZhbCIgdHlwZT0i\neHM6ZG91YmxlIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZXF1\nZXN0ZWRMaWZldGltZUNvdW50IiB0eXBlPSJ4czp1bnNpZ25lZEludCIgbWluT2NjdXJzPSIwIiAv\nPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVxdWVzdGVkTWF4S2VlcEFsaXZlQ291bnQiIHR5\ncGU9InhzOnVuc2lnbmVkSW50IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBu\nYW1lPSJNYXhOb3RpZmljYXRpb25zUGVyUHVibGlzaCIgdHlwZT0ieHM6dW5zaWduZWRJbnQiIG1p\nbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlB1Ymxpc2hpbmdFbmFibGVk\nIiB0eXBlPSJ4czpib29sZWFuIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBu\nYW1lPSJQcmlvcml0eSIgdHlwZT0ieHM6dW5zaWduZWRCeXRlIiBtaW5PY2N1cnM9IjAiIC8+DQog\nICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFt\nZT0iQ3JlYXRlU3Vic2NyaXB0aW9uUmVxdWVzdCIgdHlwZT0idG5zOkNyZWF0ZVN1YnNjcmlwdGlv\nblJlcXVlc3QiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IkNyZWF0ZVN1YnNjcmlwdGlv\nblJlc3BvbnNlIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJS\nZXNwb25zZUhlYWRlciIgdHlwZT0idG5zOlJlc3BvbnNlSGVhZGVyIiBtaW5PY2N1cnM9IjAiIG5p\nbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iU3Vic2NyaXB0aW9uSWQi\nIHR5cGU9InhzOnVuc2lnbmVkSW50IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVu\ndCBuYW1lPSJSZXZpc2VkUHVibGlzaGluZ0ludGVydmFsIiB0eXBlPSJ4czpkb3VibGUiIG1pbk9j\nY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJldmlzZWRMaWZldGltZUNvdW50\nIiB0eXBlPSJ4czp1bnNpZ25lZEludCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1l\nbnQgbmFtZT0iUmV2aXNlZE1heEtlZXBBbGl2ZUNvdW50IiB0eXBlPSJ4czp1bnNpZ25lZEludCIg\nbWluT2NjdXJzPSIwIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+\nDQogIDx4czplbGVtZW50IG5hbWU9IkNyZWF0ZVN1YnNjcmlwdGlvblJlc3BvbnNlIiB0eXBlPSJ0\nbnM6Q3JlYXRlU3Vic2NyaXB0aW9uUmVzcG9uc2UiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5h\nbWU9Ik1vZGlmeVN1YnNjcmlwdGlvblJlcXVlc3QiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAg\nIDx4czplbGVtZW50IG5hbWU9IlJlcXVlc3RIZWFkZXIiIHR5cGU9InRuczpSZXF1ZXN0SGVhZGVy\nIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFt\nZT0iU3Vic2NyaXB0aW9uSWQiIHR5cGU9InhzOnVuc2lnbmVkSW50IiBtaW5PY2N1cnM9IjAiIC8+\nDQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZXF1ZXN0ZWRQdWJsaXNoaW5nSW50ZXJ2YWwiIHR5\ncGU9InhzOmRvdWJsZSIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0i\nUmVxdWVzdGVkTGlmZXRpbWVDb3VudCIgdHlwZT0ieHM6dW5zaWduZWRJbnQiIG1pbk9jY3Vycz0i\nMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJlcXVlc3RlZE1heEtlZXBBbGl2ZUNvdW50\nIiB0eXBlPSJ4czp1bnNpZ25lZEludCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1l\nbnQgbmFtZT0iTWF4Tm90aWZpY2F0aW9uc1BlclB1Ymxpc2giIHR5cGU9InhzOnVuc2lnbmVkSW50\nIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJQcmlvcml0eSIgdHlw\nZT0ieHM6dW5zaWduZWRCeXRlIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgPC94czpzZXF1ZW5jZT4N\nCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iTW9kaWZ5U3Vic2NyaXB0\naW9uUmVxdWVzdCIgdHlwZT0idG5zOk1vZGlmeVN1YnNjcmlwdGlvblJlcXVlc3QiIC8+DQoNCiAg\nPHhzOmNvbXBsZXhUeXBlIG5hbWU9Ik1vZGlmeVN1YnNjcmlwdGlvblJlc3BvbnNlIj4NCiAgICA8\neHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZXNwb25zZUhlYWRlciIgdHlw\nZT0idG5zOlJlc3BvbnNlSGVhZGVyIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0K\nICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmV2aXNlZFB1Ymxpc2hpbmdJbnRlcnZhbCIgdHlwZT0i\neHM6ZG91YmxlIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZXZp\nc2VkTGlmZXRpbWVDb3VudCIgdHlwZT0ieHM6dW5zaWduZWRJbnQiIG1pbk9jY3Vycz0iMCIgLz4N\nCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJldmlzZWRNYXhLZWVwQWxpdmVDb3VudCIgdHlwZT0i\neHM6dW5zaWduZWRJbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8\nL3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJNb2RpZnlTdWJzY3JpcHRpb25S\nZXNwb25zZSIgdHlwZT0idG5zOk1vZGlmeVN1YnNjcmlwdGlvblJlc3BvbnNlIiAvPg0KDQogIDx4\nczpjb21wbGV4VHlwZSBuYW1lPSJTZXRQdWJsaXNoaW5nTW9kZVJlcXVlc3QiPg0KICAgIDx4czpz\nZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJlcXVlc3RIZWFkZXIiIHR5cGU9InRu\nczpSZXF1ZXN0SGVhZGVyIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAg\nPHhzOmVsZW1lbnQgbmFtZT0iUHVibGlzaGluZ0VuYWJsZWQiIHR5cGU9InhzOmJvb2xlYW4iIG1p\nbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlN1YnNjcmlwdGlvbklkcyIg\ndHlwZT0idWE6TGlzdE9mVUludDMyIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0K\nICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5h\nbWU9IlNldFB1Ymxpc2hpbmdNb2RlUmVxdWVzdCIgdHlwZT0idG5zOlNldFB1Ymxpc2hpbmdNb2Rl\nUmVxdWVzdCIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iU2V0UHVibGlzaGluZ01vZGVS\nZXNwb25zZSI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVz\ncG9uc2VIZWFkZXIiIHR5cGU9InRuczpSZXNwb25zZUhlYWRlciIgbWluT2NjdXJzPSIwIiBuaWxs\nYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJlc3VsdHMiIHR5cGU9InVh\nOkxpc3RPZlN0YXR1c0NvZGUiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAg\nICA8eHM6ZWxlbWVudCBuYW1lPSJEaWFnbm9zdGljSW5mb3MiIHR5cGU9InVhOkxpc3RPZkRpYWdu\nb3N0aWNJbmZvIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2Vx\ndWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IlNldFB1Ymxp\nc2hpbmdNb2RlUmVzcG9uc2UiIHR5cGU9InRuczpTZXRQdWJsaXNoaW5nTW9kZVJlc3BvbnNlIiAv\nPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJOb3RpZmljYXRpb25NZXNzYWdlIj4NCiAgICA8\neHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTZXF1ZW5jZU51bWJlciIgdHlw\nZT0ieHM6dW5zaWduZWRJbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5h\nbWU9IlB1Ymxpc2hUaW1lIiB0eXBlPSJ4czpkYXRlVGltZSIgbWluT2NjdXJzPSIwIiAvPg0KICAg\nICAgPHhzOmVsZW1lbnQgbmFtZT0iTm90aWZpY2F0aW9uRGF0YSIgdHlwZT0idWE6TGlzdE9mRXh0\nZW5zaW9uT2JqZWN0IiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6\nc2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ik5vdGlm\naWNhdGlvbk1lc3NhZ2UiIHR5cGU9InRuczpOb3RpZmljYXRpb25NZXNzYWdlIiAvPg0KDQogIDx4\nczpjb21wbGV4VHlwZSBuYW1lPSJOb3RpZmljYXRpb25EYXRhIj4NCiAgICA8eHM6c2VxdWVuY2U+\nDQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQg\nbmFtZT0iTm90aWZpY2F0aW9uRGF0YSIgdHlwZT0idG5zOk5vdGlmaWNhdGlvbkRhdGEiIC8+DQoN\nCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IkRhdGFDaGFuZ2VOb3RpZmljYXRpb24iPg0KICAgIDx4\nczpjb21wbGV4Q29udGVudCBtaXhlZD0iZmFsc2UiPg0KICAgICAgPHhzOmV4dGVuc2lvbiBiYXNl\nPSJ0bnM6Tm90aWZpY2F0aW9uRGF0YSI+DQogICAgICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgICAg\nICA8eHM6ZWxlbWVudCBuYW1lPSJNb25pdG9yZWRJdGVtcyIgdHlwZT0idG5zOkxpc3RPZk1vbml0\nb3JlZEl0ZW1Ob3RpZmljYXRpb24iIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQog\nICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRGlhZ25vc3RpY0luZm9zIiB0eXBlPSJ1YTpMaXN0\nT2ZEaWFnbm9zdGljSW5mbyIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAg\nICAgPC94czpzZXF1ZW5jZT4NCiAgICAgIDwveHM6ZXh0ZW5zaW9uPg0KICAgIDwveHM6Y29tcGxl\neENvbnRlbnQ+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IkRhdGFD\naGFuZ2VOb3RpZmljYXRpb24iIHR5cGU9InRuczpEYXRhQ2hhbmdlTm90aWZpY2F0aW9uIiAvPg0K\nDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJNb25pdG9yZWRJdGVtTm90aWZpY2F0aW9uIj4NCiAg\nICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJDbGllbnRIYW5kbGUiIHR5\ncGU9InhzOnVuc2lnbmVkSW50IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBu\nYW1lPSJWYWx1ZSIgdHlwZT0idWE6RGF0YVZhbHVlIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0\ncnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czpl\nbGVtZW50IG5hbWU9Ik1vbml0b3JlZEl0ZW1Ob3RpZmljYXRpb24iIHR5cGU9InRuczpNb25pdG9y\nZWRJdGVtTm90aWZpY2F0aW9uIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJMaXN0T2ZN\nb25pdG9yZWRJdGVtTm90aWZpY2F0aW9uIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6\nZWxlbWVudCBuYW1lPSJNb25pdG9yZWRJdGVtTm90aWZpY2F0aW9uIiB0eXBlPSJ0bnM6TW9uaXRv\ncmVkSXRlbU5vdGlmaWNhdGlvbiIgbWluT2NjdXJzPSIwIiBtYXhPY2N1cnM9InVuYm91bmRlZCIg\nbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlw\nZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iTGlzdE9mTW9uaXRvcmVkSXRlbU5vdGlmaWNhdGlvbiIg\ndHlwZT0idG5zOkxpc3RPZk1vbml0b3JlZEl0ZW1Ob3RpZmljYXRpb24iIG5pbGxhYmxlPSJ0cnVl\nIj48L3hzOmVsZW1lbnQ+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IkV2ZW50Tm90aWZpY2F0\naW9uTGlzdCI+DQogICAgPHhzOmNvbXBsZXhDb250ZW50IG1peGVkPSJmYWxzZSI+DQogICAgICA8\neHM6ZXh0ZW5zaW9uIGJhc2U9InRuczpOb3RpZmljYXRpb25EYXRhIj4NCiAgICAgICAgPHhzOnNl\ncXVlbmNlPg0KICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9IkV2ZW50cyIgdHlwZT0idG5zOkxp\nc3RPZkV2ZW50RmllbGRMaXN0IiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAg\nICAgICA8L3hzOnNlcXVlbmNlPg0KICAgICAgPC94czpleHRlbnNpb24+DQogICAgPC94czpjb21w\nbGV4Q29udGVudD4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iRXZl\nbnROb3RpZmljYXRpb25MaXN0IiB0eXBlPSJ0bnM6RXZlbnROb3RpZmljYXRpb25MaXN0IiAvPg0K\nDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJFdmVudEZpZWxkTGlzdCI+DQogICAgPHhzOnNlcXVl\nbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQ2xpZW50SGFuZGxlIiB0eXBlPSJ4czp1bnNp\nZ25lZEludCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRXZlbnRG\naWVsZHMiIHR5cGU9InVhOkxpc3RPZlZhcmlhbnQiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRy\ndWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVs\nZW1lbnQgbmFtZT0iRXZlbnRGaWVsZExpc3QiIHR5cGU9InRuczpFdmVudEZpZWxkTGlzdCIgLz4N\nCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iTGlzdE9mRXZlbnRGaWVsZExpc3QiPg0KICAgIDx4\nczpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkV2ZW50RmllbGRMaXN0IiB0eXBl\nPSJ0bnM6RXZlbnRGaWVsZExpc3QiIG1pbk9jY3Vycz0iMCIgbWF4T2NjdXJzPSJ1bmJvdW5kZWQi\nIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5\ncGU+DQogIDx4czplbGVtZW50IG5hbWU9Ikxpc3RPZkV2ZW50RmllbGRMaXN0IiB0eXBlPSJ0bnM6\nTGlzdE9mRXZlbnRGaWVsZExpc3QiIG5pbGxhYmxlPSJ0cnVlIj48L3hzOmVsZW1lbnQ+DQoNCiAg\nPHhzOmNvbXBsZXhUeXBlIG5hbWU9Ikhpc3RvcnlFdmVudEZpZWxkTGlzdCI+DQogICAgPHhzOnNl\ncXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRXZlbnRGaWVsZHMiIHR5cGU9InVhOkxp\nc3RPZlZhcmlhbnQiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpz\nZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iSGlzdG9y\neUV2ZW50RmllbGRMaXN0IiB0eXBlPSJ0bnM6SGlzdG9yeUV2ZW50RmllbGRMaXN0IiAvPg0KDQog\nIDx4czpjb21wbGV4VHlwZSBuYW1lPSJMaXN0T2ZIaXN0b3J5RXZlbnRGaWVsZExpc3QiPg0KICAg\nIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9Ikhpc3RvcnlFdmVudEZpZWxk\nTGlzdCIgdHlwZT0idG5zOkhpc3RvcnlFdmVudEZpZWxkTGlzdCIgbWluT2NjdXJzPSIwIiBtYXhP\nY2N1cnM9InVuYm91bmRlZCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4N\nCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iTGlzdE9mSGlzdG9yeUV2\nZW50RmllbGRMaXN0IiB0eXBlPSJ0bnM6TGlzdE9mSGlzdG9yeUV2ZW50RmllbGRMaXN0IiBuaWxs\nYWJsZT0idHJ1ZSI+PC94czplbGVtZW50Pg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJTdGF0\ndXNDaGFuZ2VOb3RpZmljYXRpb24iPg0KICAgIDx4czpjb21wbGV4Q29udGVudCBtaXhlZD0iZmFs\nc2UiPg0KICAgICAgPHhzOmV4dGVuc2lvbiBiYXNlPSJ0bnM6Tm90aWZpY2F0aW9uRGF0YSI+DQog\nICAgICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTdGF0dXMi\nIHR5cGU9InVhOlN0YXR1c0NvZGUiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgICAgICA8eHM6ZWxl\nbWVudCBuYW1lPSJEaWFnbm9zdGljSW5mbyIgdHlwZT0idWE6RGlhZ25vc3RpY0luZm8iIG1pbk9j\nY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICAgIDwveHM6c2VxdWVuY2U+DQogICAg\nICA8L3hzOmV4dGVuc2lvbj4NCiAgICA8L3hzOmNvbXBsZXhDb250ZW50Pg0KICA8L3hzOmNvbXBs\nZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJTdGF0dXNDaGFuZ2VOb3RpZmljYXRpb24iIHR5\ncGU9InRuczpTdGF0dXNDaGFuZ2VOb3RpZmljYXRpb24iIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBl\nIG5hbWU9IlN1YnNjcmlwdGlvbkFja25vd2xlZGdlbWVudCI+DQogICAgPHhzOnNlcXVlbmNlPg0K\nICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iU3Vic2NyaXB0aW9uSWQiIHR5cGU9InhzOnVuc2lnbmVk\nSW50IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTZXF1ZW5jZU51\nbWJlciIgdHlwZT0ieHM6dW5zaWduZWRJbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICA8L3hzOnNl\ncXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJTdWJzY3Jp\ncHRpb25BY2tub3dsZWRnZW1lbnQiIHR5cGU9InRuczpTdWJzY3JpcHRpb25BY2tub3dsZWRnZW1l\nbnQiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9Ikxpc3RPZlN1YnNjcmlwdGlvbkFja25v\nd2xlZGdlbWVudCI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0i\nU3Vic2NyaXB0aW9uQWNrbm93bGVkZ2VtZW50IiB0eXBlPSJ0bnM6U3Vic2NyaXB0aW9uQWNrbm93\nbGVkZ2VtZW50IiBtaW5PY2N1cnM9IjAiIG1heE9jY3Vycz0idW5ib3VuZGVkIiBuaWxsYWJsZT0i\ndHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6\nZWxlbWVudCBuYW1lPSJMaXN0T2ZTdWJzY3JpcHRpb25BY2tub3dsZWRnZW1lbnQiIHR5cGU9InRu\nczpMaXN0T2ZTdWJzY3JpcHRpb25BY2tub3dsZWRnZW1lbnQiIG5pbGxhYmxlPSJ0cnVlIj48L3hz\nOmVsZW1lbnQ+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IlB1Ymxpc2hSZXF1ZXN0Ij4NCiAg\nICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZXF1ZXN0SGVhZGVyIiB0\neXBlPSJ0bnM6UmVxdWVzdEhlYWRlciIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4N\nCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlN1YnNjcmlwdGlvbkFja25vd2xlZGdlbWVudHMiIHR5\ncGU9InRuczpMaXN0T2ZTdWJzY3JpcHRpb25BY2tub3dsZWRnZW1lbnQiIG1pbk9jY3Vycz0iMCIg\nbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlw\nZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iUHVibGlzaFJlcXVlc3QiIHR5cGU9InRuczpQdWJsaXNo\nUmVxdWVzdCIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iUHVibGlzaFJlc3BvbnNlIj4N\nCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZXNwb25zZUhlYWRl\nciIgdHlwZT0idG5zOlJlc3BvbnNlSGVhZGVyIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVl\nIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iU3Vic2NyaXB0aW9uSWQiIHR5cGU9InhzOnVu\nc2lnbmVkSW50IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJBdmFp\nbGFibGVTZXF1ZW5jZU51bWJlcnMiIHR5cGU9InVhOkxpc3RPZlVJbnQzMiIgbWluT2NjdXJzPSIw\nIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9Ik1vcmVOb3RpZmlj\nYXRpb25zIiB0eXBlPSJ4czpib29sZWFuIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxl\nbWVudCBuYW1lPSJOb3RpZmljYXRpb25NZXNzYWdlIiB0eXBlPSJ0bnM6Tm90aWZpY2F0aW9uTWVz\nc2FnZSIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50\nIG5hbWU9IlJlc3VsdHMiIHR5cGU9InVhOkxpc3RPZlN0YXR1c0NvZGUiIG1pbk9jY3Vycz0iMCIg\nbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJEaWFnbm9zdGljSW5m\nb3MiIHR5cGU9InVhOkxpc3RPZkRpYWdub3N0aWNJbmZvIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxl\nPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4\nczplbGVtZW50IG5hbWU9IlB1Ymxpc2hSZXNwb25zZSIgdHlwZT0idG5zOlB1Ymxpc2hSZXNwb25z\nZSIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iUmVwdWJsaXNoUmVxdWVzdCI+DQogICAg\nPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVxdWVzdEhlYWRlciIgdHlw\nZT0idG5zOlJlcXVlc3RIZWFkZXIiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQog\nICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTdWJzY3JpcHRpb25JZCIgdHlwZT0ieHM6dW5zaWduZWRJ\nbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJldHJhbnNtaXRT\nZXF1ZW5jZU51bWJlciIgdHlwZT0ieHM6dW5zaWduZWRJbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAg\nICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1l\nPSJSZXB1Ymxpc2hSZXF1ZXN0IiB0eXBlPSJ0bnM6UmVwdWJsaXNoUmVxdWVzdCIgLz4NCg0KICA8\neHM6Y29tcGxleFR5cGUgbmFtZT0iUmVwdWJsaXNoUmVzcG9uc2UiPg0KICAgIDx4czpzZXF1ZW5j\nZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJlc3BvbnNlSGVhZGVyIiB0eXBlPSJ0bnM6UmVz\ncG9uc2VIZWFkZXIiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6\nZWxlbWVudCBuYW1lPSJOb3RpZmljYXRpb25NZXNzYWdlIiB0eXBlPSJ0bnM6Tm90aWZpY2F0aW9u\nTWVzc2FnZSIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVl\nbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJSZXB1Ymxpc2hS\nZXNwb25zZSIgdHlwZT0idG5zOlJlcHVibGlzaFJlc3BvbnNlIiAvPg0KDQogIDx4czpjb21wbGV4\nVHlwZSBuYW1lPSJUcmFuc2ZlclJlc3VsdCI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhz\nOmVsZW1lbnQgbmFtZT0iU3RhdHVzQ29kZSIgdHlwZT0idWE6U3RhdHVzQ29kZSIgbWluT2NjdXJz\nPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQXZhaWxhYmxlU2VxdWVuY2VOdW1iZXJz\nIiB0eXBlPSJ1YTpMaXN0T2ZVSW50MzIiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+\nDQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQg\nbmFtZT0iVHJhbnNmZXJSZXN1bHQiIHR5cGU9InRuczpUcmFuc2ZlclJlc3VsdCIgLz4NCg0KICA8\neHM6Y29tcGxleFR5cGUgbmFtZT0iTGlzdE9mVHJhbnNmZXJSZXN1bHQiPg0KICAgIDx4czpzZXF1\nZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlRyYW5zZmVyUmVzdWx0IiB0eXBlPSJ0bnM6\nVHJhbnNmZXJSZXN1bHQiIG1pbk9jY3Vycz0iMCIgbWF4T2NjdXJzPSJ1bmJvdW5kZWQiIG5pbGxh\nYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQog\nIDx4czplbGVtZW50IG5hbWU9Ikxpc3RPZlRyYW5zZmVyUmVzdWx0IiB0eXBlPSJ0bnM6TGlzdE9m\nVHJhbnNmZXJSZXN1bHQiIG5pbGxhYmxlPSJ0cnVlIj48L3hzOmVsZW1lbnQ+DQoNCiAgPHhzOmNv\nbXBsZXhUeXBlIG5hbWU9IlRyYW5zZmVyU3Vic2NyaXB0aW9uc1JlcXVlc3QiPg0KICAgIDx4czpz\nZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJlcXVlc3RIZWFkZXIiIHR5cGU9InRu\nczpSZXF1ZXN0SGVhZGVyIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAg\nPHhzOmVsZW1lbnQgbmFtZT0iU3Vic2NyaXB0aW9uSWRzIiB0eXBlPSJ1YTpMaXN0T2ZVSW50MzIi\nIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1l\nPSJTZW5kSW5pdGlhbFZhbHVlcyIgdHlwZT0ieHM6Ym9vbGVhbiIgbWluT2NjdXJzPSIwIiAvPg0K\nICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5h\nbWU9IlRyYW5zZmVyU3Vic2NyaXB0aW9uc1JlcXVlc3QiIHR5cGU9InRuczpUcmFuc2ZlclN1YnNj\ncmlwdGlvbnNSZXF1ZXN0IiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJUcmFuc2ZlclN1\nYnNjcmlwdGlvbnNSZXNwb25zZSI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1l\nbnQgbmFtZT0iUmVzcG9uc2VIZWFkZXIiIHR5cGU9InRuczpSZXNwb25zZUhlYWRlciIgbWluT2Nj\ndXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJlc3Vs\ndHMiIHR5cGU9InRuczpMaXN0T2ZUcmFuc2ZlclJlc3VsdCIgbWluT2NjdXJzPSIwIiBuaWxsYWJs\nZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkRpYWdub3N0aWNJbmZvcyIgdHlw\nZT0idWE6TGlzdE9mRGlhZ25vc3RpY0luZm8iIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUi\nIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1l\nbnQgbmFtZT0iVHJhbnNmZXJTdWJzY3JpcHRpb25zUmVzcG9uc2UiIHR5cGU9InRuczpUcmFuc2Zl\nclN1YnNjcmlwdGlvbnNSZXNwb25zZSIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iRGVs\nZXRlU3Vic2NyaXB0aW9uc1JlcXVlc3QiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czpl\nbGVtZW50IG5hbWU9IlJlcXVlc3RIZWFkZXIiIHR5cGU9InRuczpSZXF1ZXN0SGVhZGVyIiBtaW5P\nY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iU3Vi\nc2NyaXB0aW9uSWRzIiB0eXBlPSJ1YTpMaXN0T2ZVSW50MzIiIG1pbk9jY3Vycz0iMCIgbmlsbGFi\nbGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAg\nPHhzOmVsZW1lbnQgbmFtZT0iRGVsZXRlU3Vic2NyaXB0aW9uc1JlcXVlc3QiIHR5cGU9InRuczpE\nZWxldGVTdWJzY3JpcHRpb25zUmVxdWVzdCIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0i\nRGVsZXRlU3Vic2NyaXB0aW9uc1Jlc3BvbnNlIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8\neHM6ZWxlbWVudCBuYW1lPSJSZXNwb25zZUhlYWRlciIgdHlwZT0idG5zOlJlc3BvbnNlSGVhZGVy\nIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFt\nZT0iUmVzdWx0cyIgdHlwZT0idWE6TGlzdE9mU3RhdHVzQ29kZSIgbWluT2NjdXJzPSIwIiBuaWxs\nYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkRpYWdub3N0aWNJbmZvcyIg\ndHlwZT0idWE6TGlzdE9mRGlhZ25vc3RpY0luZm8iIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRy\ndWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVs\nZW1lbnQgbmFtZT0iRGVsZXRlU3Vic2NyaXB0aW9uc1Jlc3BvbnNlIiB0eXBlPSJ0bnM6RGVsZXRl\nU3Vic2NyaXB0aW9uc1Jlc3BvbnNlIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJCdWls\nZEluZm8iPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlByb2R1\nY3RVcmkiIHR5cGU9InhzOnN0cmluZyIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4N\nCiAgICAgIDx4czplbGVtZW50IG5hbWU9Ik1hbnVmYWN0dXJlck5hbWUiIHR5cGU9InhzOnN0cmlu\nZyIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5h\nbWU9IlByb2R1Y3ROYW1lIiB0eXBlPSJ4czpzdHJpbmciIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9\nInRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTb2Z0d2FyZVZlcnNpb24iIHR5cGU9\nInhzOnN0cmluZyIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czpl\nbGVtZW50IG5hbWU9IkJ1aWxkTnVtYmVyIiB0eXBlPSJ4czpzdHJpbmciIG1pbk9jY3Vycz0iMCIg\nbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJCdWlsZERhdGUiIHR5\ncGU9InhzOmRhdGVUaW1lIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAg\nPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iQnVpbGRJbmZvIiB0eXBlPSJ0\nbnM6QnVpbGRJbmZvIiAvPg0KDQogIDx4czpzaW1wbGVUeXBlICBuYW1lPSJSZWR1bmRhbmN5U3Vw\ncG9ydCI+DQogICAgPHhzOnJlc3RyaWN0aW9uIGJhc2U9InhzOnN0cmluZyI+DQogICAgICA8eHM6\nZW51bWVyYXRpb24gdmFsdWU9Ik5vbmVfMCIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1\nZT0iQ29sZF8xIiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJXYXJtXzIiIC8+DQog\nICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IkhvdF8zIiAvPg0KICAgICAgPHhzOmVudW1lcmF0\naW9uIHZhbHVlPSJUcmFuc3BhcmVudF80IiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVl\nPSJIb3RBbmRNaXJyb3JlZF81IiAvPg0KICAgIDwveHM6cmVzdHJpY3Rpb24+DQogIDwveHM6c2lt\ncGxlVHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iUmVkdW5kYW5jeVN1cHBvcnQiIHR5cGU9InRu\nczpSZWR1bmRhbmN5U3VwcG9ydCIgLz4NCg0KICA8eHM6c2ltcGxlVHlwZSAgbmFtZT0iU2VydmVy\nU3RhdGUiPg0KICAgIDx4czpyZXN0cmljdGlvbiBiYXNlPSJ4czpzdHJpbmciPg0KICAgICAgPHhz\nOmVudW1lcmF0aW9uIHZhbHVlPSJSdW5uaW5nXzAiIC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24g\ndmFsdWU9IkZhaWxlZF8xIiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJOb0NvbmZp\nZ3VyYXRpb25fMiIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iU3VzcGVuZGVkXzMi\nIC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IlNodXRkb3duXzQiIC8+DQogICAgICA8\neHM6ZW51bWVyYXRpb24gdmFsdWU9IlRlc3RfNSIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2\nYWx1ZT0iQ29tbXVuaWNhdGlvbkZhdWx0XzYiIC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFs\ndWU9IlVua25vd25fNyIgLz4NCiAgICA8L3hzOnJlc3RyaWN0aW9uPg0KICA8L3hzOnNpbXBsZVR5\ncGU+DQogIDx4czplbGVtZW50IG5hbWU9IlNlcnZlclN0YXRlIiB0eXBlPSJ0bnM6U2VydmVyU3Rh\ndGUiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IlJlZHVuZGFudFNlcnZlckRhdGFUeXBl\nIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTZXJ2ZXJJZCIg\ndHlwZT0ieHM6c3RyaW5nIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAg\nPHhzOmVsZW1lbnQgbmFtZT0iU2VydmljZUxldmVsIiB0eXBlPSJ4czp1bnNpZ25lZEJ5dGUiIG1p\nbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlNlcnZlclN0YXRlIiB0eXBl\nPSJ0bnM6U2VydmVyU3RhdGUiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0K\nICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJSZWR1bmRhbnRTZXJ2ZXJE\nYXRhVHlwZSIgdHlwZT0idG5zOlJlZHVuZGFudFNlcnZlckRhdGFUeXBlIiAvPg0KDQogIDx4czpj\nb21wbGV4VHlwZSBuYW1lPSJMaXN0T2ZSZWR1bmRhbnRTZXJ2ZXJEYXRhVHlwZSI+DQogICAgPHhz\nOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVkdW5kYW50U2VydmVyRGF0YVR5\ncGUiIHR5cGU9InRuczpSZWR1bmRhbnRTZXJ2ZXJEYXRhVHlwZSIgbWluT2NjdXJzPSIwIiBtYXhP\nY2N1cnM9InVuYm91bmRlZCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4N\nCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iTGlzdE9mUmVkdW5kYW50\nU2VydmVyRGF0YVR5cGUiIHR5cGU9InRuczpMaXN0T2ZSZWR1bmRhbnRTZXJ2ZXJEYXRhVHlwZSIg\nbmlsbGFibGU9InRydWUiPjwveHM6ZWxlbWVudD4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0i\nRW5kcG9pbnRVcmxMaXN0RGF0YVR5cGUiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czpl\nbGVtZW50IG5hbWU9IkVuZHBvaW50VXJsTGlzdCIgdHlwZT0idWE6TGlzdE9mU3RyaW5nIiBtaW5P\nY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6\nY29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IkVuZHBvaW50VXJsTGlzdERhdGFUeXBl\nIiB0eXBlPSJ0bnM6RW5kcG9pbnRVcmxMaXN0RGF0YVR5cGUiIC8+DQoNCiAgPHhzOmNvbXBsZXhU\neXBlIG5hbWU9Ikxpc3RPZkVuZHBvaW50VXJsTGlzdERhdGFUeXBlIj4NCiAgICA8eHM6c2VxdWVu\nY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJFbmRwb2ludFVybExpc3REYXRhVHlwZSIgdHlw\nZT0idG5zOkVuZHBvaW50VXJsTGlzdERhdGFUeXBlIiBtaW5PY2N1cnM9IjAiIG1heE9jY3Vycz0i\ndW5ib3VuZGVkIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hz\nOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJMaXN0T2ZFbmRwb2ludFVybExpc3RE\nYXRhVHlwZSIgdHlwZT0idG5zOkxpc3RPZkVuZHBvaW50VXJsTGlzdERhdGFUeXBlIiBuaWxsYWJs\nZT0idHJ1ZSI+PC94czplbGVtZW50Pg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJOZXR3b3Jr\nR3JvdXBEYXRhVHlwZSI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFt\nZT0iU2VydmVyVXJpIiB0eXBlPSJ4czpzdHJpbmciIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRy\ndWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJOZXR3b3JrUGF0aHMiIHR5cGU9InRuczpM\naXN0T2ZFbmRwb2ludFVybExpc3REYXRhVHlwZSIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1\nZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxl\nbWVudCBuYW1lPSJOZXR3b3JrR3JvdXBEYXRhVHlwZSIgdHlwZT0idG5zOk5ldHdvcmtHcm91cERh\ndGFUeXBlIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJMaXN0T2ZOZXR3b3JrR3JvdXBE\nYXRhVHlwZSI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTmV0\nd29ya0dyb3VwRGF0YVR5cGUiIHR5cGU9InRuczpOZXR3b3JrR3JvdXBEYXRhVHlwZSIgbWluT2Nj\ndXJzPSIwIiBtYXhPY2N1cnM9InVuYm91bmRlZCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94\nczpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iTGlz\ndE9mTmV0d29ya0dyb3VwRGF0YVR5cGUiIHR5cGU9InRuczpMaXN0T2ZOZXR3b3JrR3JvdXBEYXRh\nVHlwZSIgbmlsbGFibGU9InRydWUiPjwveHM6ZWxlbWVudD4NCg0KICA8eHM6Y29tcGxleFR5cGUg\nbmFtZT0iU2FtcGxpbmdJbnRlcnZhbERpYWdub3N0aWNzRGF0YVR5cGUiPg0KICAgIDx4czpzZXF1\nZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlNhbXBsaW5nSW50ZXJ2YWwiIHR5cGU9Inhz\nOmRvdWJsZSIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTW9uaXRv\ncmVkSXRlbUNvdW50IiB0eXBlPSJ4czp1bnNpZ25lZEludCIgbWluT2NjdXJzPSIwIiAvPg0KICAg\nICAgPHhzOmVsZW1lbnQgbmFtZT0iTWF4TW9uaXRvcmVkSXRlbUNvdW50IiB0eXBlPSJ4czp1bnNp\nZ25lZEludCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRGlzYWJs\nZWRNb25pdG9yZWRJdGVtQ291bnQiIHR5cGU9InhzOnVuc2lnbmVkSW50IiBtaW5PY2N1cnM9IjAi\nIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1l\nbnQgbmFtZT0iU2FtcGxpbmdJbnRlcnZhbERpYWdub3N0aWNzRGF0YVR5cGUiIHR5cGU9InRuczpT\nYW1wbGluZ0ludGVydmFsRGlhZ25vc3RpY3NEYXRhVHlwZSIgLz4NCg0KICA8eHM6Y29tcGxleFR5\ncGUgbmFtZT0iTGlzdE9mU2FtcGxpbmdJbnRlcnZhbERpYWdub3N0aWNzRGF0YVR5cGUiPg0KICAg\nIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlNhbXBsaW5nSW50ZXJ2YWxE\naWFnbm9zdGljc0RhdGFUeXBlIiB0eXBlPSJ0bnM6U2FtcGxpbmdJbnRlcnZhbERpYWdub3N0aWNz\nRGF0YVR5cGUiIG1pbk9jY3Vycz0iMCIgbWF4T2NjdXJzPSJ1bmJvdW5kZWQiIG5pbGxhYmxlPSJ0\ncnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czpl\nbGVtZW50IG5hbWU9Ikxpc3RPZlNhbXBsaW5nSW50ZXJ2YWxEaWFnbm9zdGljc0RhdGFUeXBlIiB0\neXBlPSJ0bnM6TGlzdE9mU2FtcGxpbmdJbnRlcnZhbERpYWdub3N0aWNzRGF0YVR5cGUiIG5pbGxh\nYmxlPSJ0cnVlIj48L3hzOmVsZW1lbnQ+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IlNlcnZl\nckRpYWdub3N0aWNzU3VtbWFyeURhdGFUeXBlIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8\neHM6ZWxlbWVudCBuYW1lPSJTZXJ2ZXJWaWV3Q291bnQiIHR5cGU9InhzOnVuc2lnbmVkSW50IiBt\naW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJDdXJyZW50U2Vzc2lvbkNv\ndW50IiB0eXBlPSJ4czp1bnNpZ25lZEludCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVs\nZW1lbnQgbmFtZT0iQ3VtdWxhdGVkU2Vzc2lvbkNvdW50IiB0eXBlPSJ4czp1bnNpZ25lZEludCIg\nbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iU2VjdXJpdHlSZWplY3Rl\nZFNlc3Npb25Db3VudCIgdHlwZT0ieHM6dW5zaWduZWRJbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAg\nICAgIDx4czplbGVtZW50IG5hbWU9IlJlamVjdGVkU2Vzc2lvbkNvdW50IiB0eXBlPSJ4czp1bnNp\nZ25lZEludCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iU2Vzc2lv\nblRpbWVvdXRDb3VudCIgdHlwZT0ieHM6dW5zaWduZWRJbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAg\nICAgIDx4czplbGVtZW50IG5hbWU9IlNlc3Npb25BYm9ydENvdW50IiB0eXBlPSJ4czp1bnNpZ25l\nZEludCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQ3VycmVudFN1\nYnNjcmlwdGlvbkNvdW50IiB0eXBlPSJ4czp1bnNpZ25lZEludCIgbWluT2NjdXJzPSIwIiAvPg0K\nICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQ3VtdWxhdGVkU3Vic2NyaXB0aW9uQ291bnQiIHR5cGU9\nInhzOnVuc2lnbmVkSW50IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1l\nPSJQdWJsaXNoaW5nSW50ZXJ2YWxDb3VudCIgdHlwZT0ieHM6dW5zaWduZWRJbnQiIG1pbk9jY3Vy\ncz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlNlY3VyaXR5UmVqZWN0ZWRSZXF1ZXN0\nc0NvdW50IiB0eXBlPSJ4czp1bnNpZ25lZEludCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhz\nOmVsZW1lbnQgbmFtZT0iUmVqZWN0ZWRSZXF1ZXN0c0NvdW50IiB0eXBlPSJ4czp1bnNpZ25lZElu\ndCIgbWluT2NjdXJzPSIwIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5\ncGU+DQogIDx4czplbGVtZW50IG5hbWU9IlNlcnZlckRpYWdub3N0aWNzU3VtbWFyeURhdGFUeXBl\nIiB0eXBlPSJ0bnM6U2VydmVyRGlhZ25vc3RpY3NTdW1tYXJ5RGF0YVR5cGUiIC8+DQoNCiAgPHhz\nOmNvbXBsZXhUeXBlIG5hbWU9IlNlcnZlclN0YXR1c0RhdGFUeXBlIj4NCiAgICA8eHM6c2VxdWVu\nY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTdGFydFRpbWUiIHR5cGU9InhzOmRhdGVUaW1l\nIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJDdXJyZW50VGltZSIg\ndHlwZT0ieHM6ZGF0ZVRpbWUiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5h\nbWU9IlN0YXRlIiB0eXBlPSJ0bnM6U2VydmVyU3RhdGUiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAg\nIDx4czplbGVtZW50IG5hbWU9IkJ1aWxkSW5mbyIgdHlwZT0idG5zOkJ1aWxkSW5mbyIgbWluT2Nj\ndXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlNlY29u\nZHNUaWxsU2h1dGRvd24iIHR5cGU9InhzOnVuc2lnbmVkSW50IiBtaW5PY2N1cnM9IjAiIC8+DQog\nICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTaHV0ZG93blJlYXNvbiIgdHlwZT0idWE6TG9jYWxpemVk\nVGV4dCIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNl\nPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJTZXJ2ZXJTdGF0dXNE\nYXRhVHlwZSIgdHlwZT0idG5zOlNlcnZlclN0YXR1c0RhdGFUeXBlIiAvPg0KDQogIDx4czpjb21w\nbGV4VHlwZSBuYW1lPSJTZXNzaW9uRGlhZ25vc3RpY3NEYXRhVHlwZSI+DQogICAgPHhzOnNlcXVl\nbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iU2Vzc2lvbklkIiB0eXBlPSJ1YTpOb2RlSWQi\nIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1l\nPSJTZXNzaW9uTmFtZSIgdHlwZT0ieHM6c3RyaW5nIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0\ncnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQ2xpZW50RGVzY3JpcHRpb24iIHR5cGU9\nInRuczpBcHBsaWNhdGlvbkRlc2NyaXB0aW9uIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVl\nIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iU2VydmVyVXJpIiB0eXBlPSJ4czpzdHJpbmci\nIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1l\nPSJFbmRwb2ludFVybCIgdHlwZT0ieHM6c3RyaW5nIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0\ncnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTG9jYWxlSWRzIiB0eXBlPSJ1YTpMaXN0\nT2ZTdHJpbmciIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxl\nbWVudCBuYW1lPSJBY3R1YWxTZXNzaW9uVGltZW91dCIgdHlwZT0ieHM6ZG91YmxlIiBtaW5PY2N1\ncnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJNYXhSZXNwb25zZU1lc3NhZ2VTaXpl\nIiB0eXBlPSJ4czp1bnNpZ25lZEludCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1l\nbnQgbmFtZT0iQ2xpZW50Q29ubmVjdGlvblRpbWUiIHR5cGU9InhzOmRhdGVUaW1lIiBtaW5PY2N1\ncnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJDbGllbnRMYXN0Q29udGFjdFRpbWUi\nIHR5cGU9InhzOmRhdGVUaW1lIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBu\nYW1lPSJDdXJyZW50U3Vic2NyaXB0aW9uc0NvdW50IiB0eXBlPSJ4czp1bnNpZ25lZEludCIgbWlu\nT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQ3VycmVudE1vbml0b3JlZEl0\nZW1zQ291bnQiIHR5cGU9InhzOnVuc2lnbmVkSW50IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8\neHM6ZWxlbWVudCBuYW1lPSJDdXJyZW50UHVibGlzaFJlcXVlc3RzSW5RdWV1ZSIgdHlwZT0ieHM6\ndW5zaWduZWRJbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlRv\ndGFsUmVxdWVzdENvdW50IiB0eXBlPSJ0bnM6U2VydmljZUNvdW50ZXJEYXRhVHlwZSIgbWluT2Nj\ndXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlVuYXV0\naG9yaXplZFJlcXVlc3RDb3VudCIgdHlwZT0ieHM6dW5zaWduZWRJbnQiIG1pbk9jY3Vycz0iMCIg\nLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJlYWRDb3VudCIgdHlwZT0idG5zOlNlcnZpY2VD\nb3VudGVyRGF0YVR5cGUiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8\neHM6ZWxlbWVudCBuYW1lPSJIaXN0b3J5UmVhZENvdW50IiB0eXBlPSJ0bnM6U2VydmljZUNvdW50\nZXJEYXRhVHlwZSIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czpl\nbGVtZW50IG5hbWU9IldyaXRlQ291bnQiIHR5cGU9InRuczpTZXJ2aWNlQ291bnRlckRhdGFUeXBl\nIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFt\nZT0iSGlzdG9yeVVwZGF0ZUNvdW50IiB0eXBlPSJ0bnM6U2VydmljZUNvdW50ZXJEYXRhVHlwZSIg\nbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9\nIkNhbGxDb3VudCIgdHlwZT0idG5zOlNlcnZpY2VDb3VudGVyRGF0YVR5cGUiIG1pbk9jY3Vycz0i\nMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJDcmVhdGVNb25p\ndG9yZWRJdGVtc0NvdW50IiB0eXBlPSJ0bnM6U2VydmljZUNvdW50ZXJEYXRhVHlwZSIgbWluT2Nj\ndXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9Ik1vZGlm\neU1vbml0b3JlZEl0ZW1zQ291bnQiIHR5cGU9InRuczpTZXJ2aWNlQ291bnRlckRhdGFUeXBlIiBt\naW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0i\nU2V0TW9uaXRvcmluZ01vZGVDb3VudCIgdHlwZT0idG5zOlNlcnZpY2VDb3VudGVyRGF0YVR5cGUi\nIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1l\nPSJTZXRUcmlnZ2VyaW5nQ291bnQiIHR5cGU9InRuczpTZXJ2aWNlQ291bnRlckRhdGFUeXBlIiBt\naW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0i\nRGVsZXRlTW9uaXRvcmVkSXRlbXNDb3VudCIgdHlwZT0idG5zOlNlcnZpY2VDb3VudGVyRGF0YVR5\ncGUiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBu\nYW1lPSJDcmVhdGVTdWJzY3JpcHRpb25Db3VudCIgdHlwZT0idG5zOlNlcnZpY2VDb3VudGVyRGF0\nYVR5cGUiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVu\ndCBuYW1lPSJNb2RpZnlTdWJzY3JpcHRpb25Db3VudCIgdHlwZT0idG5zOlNlcnZpY2VDb3VudGVy\nRGF0YVR5cGUiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxl\nbWVudCBuYW1lPSJTZXRQdWJsaXNoaW5nTW9kZUNvdW50IiB0eXBlPSJ0bnM6U2VydmljZUNvdW50\nZXJEYXRhVHlwZSIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czpl\nbGVtZW50IG5hbWU9IlB1Ymxpc2hDb3VudCIgdHlwZT0idG5zOlNlcnZpY2VDb3VudGVyRGF0YVR5\ncGUiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBu\nYW1lPSJSZXB1Ymxpc2hDb3VudCIgdHlwZT0idG5zOlNlcnZpY2VDb3VudGVyRGF0YVR5cGUiIG1p\nbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJU\ncmFuc2ZlclN1YnNjcmlwdGlvbnNDb3VudCIgdHlwZT0idG5zOlNlcnZpY2VDb3VudGVyRGF0YVR5\ncGUiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBu\nYW1lPSJEZWxldGVTdWJzY3JpcHRpb25zQ291bnQiIHR5cGU9InRuczpTZXJ2aWNlQ291bnRlckRh\ndGFUeXBlIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1l\nbnQgbmFtZT0iQWRkTm9kZXNDb3VudCIgdHlwZT0idG5zOlNlcnZpY2VDb3VudGVyRGF0YVR5cGUi\nIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1l\nPSJBZGRSZWZlcmVuY2VzQ291bnQiIHR5cGU9InRuczpTZXJ2aWNlQ291bnRlckRhdGFUeXBlIiBt\naW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0i\nRGVsZXRlTm9kZXNDb3VudCIgdHlwZT0idG5zOlNlcnZpY2VDb3VudGVyRGF0YVR5cGUiIG1pbk9j\nY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJEZWxl\ndGVSZWZlcmVuY2VzQ291bnQiIHR5cGU9InRuczpTZXJ2aWNlQ291bnRlckRhdGFUeXBlIiBtaW5P\nY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQnJv\nd3NlQ291bnQiIHR5cGU9InRuczpTZXJ2aWNlQ291bnRlckRhdGFUeXBlIiBtaW5PY2N1cnM9IjAi\nIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQnJvd3NlTmV4dENv\ndW50IiB0eXBlPSJ0bnM6U2VydmljZUNvdW50ZXJEYXRhVHlwZSIgbWluT2NjdXJzPSIwIiBuaWxs\nYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlRyYW5zbGF0ZUJyb3dzZVBh\ndGhzVG9Ob2RlSWRzQ291bnQiIHR5cGU9InRuczpTZXJ2aWNlQ291bnRlckRhdGFUeXBlIiBtaW5P\nY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUXVl\ncnlGaXJzdENvdW50IiB0eXBlPSJ0bnM6U2VydmljZUNvdW50ZXJEYXRhVHlwZSIgbWluT2NjdXJz\nPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlF1ZXJ5TmV4\ndENvdW50IiB0eXBlPSJ0bnM6U2VydmljZUNvdW50ZXJEYXRhVHlwZSIgbWluT2NjdXJzPSIwIiBu\naWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJlZ2lzdGVyTm9kZXND\nb3VudCIgdHlwZT0idG5zOlNlcnZpY2VDb3VudGVyRGF0YVR5cGUiIG1pbk9jY3Vycz0iMCIgbmls\nbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJVbnJlZ2lzdGVyTm9kZXND\nb3VudCIgdHlwZT0idG5zOlNlcnZpY2VDb3VudGVyRGF0YVR5cGUiIG1pbk9jY3Vycz0iMCIgbmls\nbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4N\nCiAgPHhzOmVsZW1lbnQgbmFtZT0iU2Vzc2lvbkRpYWdub3N0aWNzRGF0YVR5cGUiIHR5cGU9InRu\nczpTZXNzaW9uRGlhZ25vc3RpY3NEYXRhVHlwZSIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFt\nZT0iTGlzdE9mU2Vzc2lvbkRpYWdub3N0aWNzRGF0YVR5cGUiPg0KICAgIDx4czpzZXF1ZW5jZT4N\nCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlNlc3Npb25EaWFnbm9zdGljc0RhdGFUeXBlIiB0eXBl\nPSJ0bnM6U2Vzc2lvbkRpYWdub3N0aWNzRGF0YVR5cGUiIG1pbk9jY3Vycz0iMCIgbWF4T2NjdXJz\nPSJ1bmJvdW5kZWQiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwv\neHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ikxpc3RPZlNlc3Npb25EaWFnbm9z\ndGljc0RhdGFUeXBlIiB0eXBlPSJ0bnM6TGlzdE9mU2Vzc2lvbkRpYWdub3N0aWNzRGF0YVR5cGUi\nIG5pbGxhYmxlPSJ0cnVlIj48L3hzOmVsZW1lbnQ+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9\nIlNlc3Npb25TZWN1cml0eURpYWdub3N0aWNzRGF0YVR5cGUiPg0KICAgIDx4czpzZXF1ZW5jZT4N\nCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlNlc3Npb25JZCIgdHlwZT0idWE6Tm9kZUlkIiBtaW5P\nY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQ2xp\nZW50VXNlcklkT2ZTZXNzaW9uIiB0eXBlPSJ4czpzdHJpbmciIG1pbk9jY3Vycz0iMCIgbmlsbGFi\nbGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJDbGllbnRVc2VySWRIaXN0b3J5\nIiB0eXBlPSJ1YTpMaXN0T2ZTdHJpbmciIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+\nDQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJBdXRoZW50aWNhdGlvbk1lY2hhbmlzbSIgdHlwZT0i\neHM6c3RyaW5nIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVs\nZW1lbnQgbmFtZT0iRW5jb2RpbmciIHR5cGU9InhzOnN0cmluZyIgbWluT2NjdXJzPSIwIiBuaWxs\nYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlRyYW5zcG9ydFByb3RvY29s\nIiB0eXBlPSJ4czpzdHJpbmciIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAg\nICA8eHM6ZWxlbWVudCBuYW1lPSJTZWN1cml0eU1vZGUiIHR5cGU9InRuczpNZXNzYWdlU2VjdXJp\ndHlNb2RlIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTZWN1cml0\neVBvbGljeVVyaSIgdHlwZT0ieHM6c3RyaW5nIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVl\nIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQ2xpZW50Q2VydGlmaWNhdGUiIHR5cGU9Inhz\nOmJhc2U2NEJpbmFyeSIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hz\nOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJTZXNz\naW9uU2VjdXJpdHlEaWFnbm9zdGljc0RhdGFUeXBlIiB0eXBlPSJ0bnM6U2Vzc2lvblNlY3VyaXR5\nRGlhZ25vc3RpY3NEYXRhVHlwZSIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iTGlzdE9m\nU2Vzc2lvblNlY3VyaXR5RGlhZ25vc3RpY3NEYXRhVHlwZSI+DQogICAgPHhzOnNlcXVlbmNlPg0K\nICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iU2Vzc2lvblNlY3VyaXR5RGlhZ25vc3RpY3NEYXRhVHlw\nZSIgdHlwZT0idG5zOlNlc3Npb25TZWN1cml0eURpYWdub3N0aWNzRGF0YVR5cGUiIG1pbk9jY3Vy\ncz0iMCIgbWF4T2NjdXJzPSJ1bmJvdW5kZWQiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6\nc2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ikxpc3RP\nZlNlc3Npb25TZWN1cml0eURpYWdub3N0aWNzRGF0YVR5cGUiIHR5cGU9InRuczpMaXN0T2ZTZXNz\naW9uU2VjdXJpdHlEaWFnbm9zdGljc0RhdGFUeXBlIiBuaWxsYWJsZT0idHJ1ZSI+PC94czplbGVt\nZW50Pg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJTZXJ2aWNlQ291bnRlckRhdGFUeXBlIj4N\nCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJUb3RhbENvdW50IiB0\neXBlPSJ4czp1bnNpZ25lZEludCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQg\nbmFtZT0iRXJyb3JDb3VudCIgdHlwZT0ieHM6dW5zaWduZWRJbnQiIG1pbk9jY3Vycz0iMCIgLz4N\nCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBu\nYW1lPSJTZXJ2aWNlQ291bnRlckRhdGFUeXBlIiB0eXBlPSJ0bnM6U2VydmljZUNvdW50ZXJEYXRh\nVHlwZSIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iU3RhdHVzUmVzdWx0Ij4NCiAgICA8\neHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTdGF0dXNDb2RlIiB0eXBlPSJ1\nYTpTdGF0dXNDb2RlIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJE\naWFnbm9zdGljSW5mbyIgdHlwZT0idWE6RGlhZ25vc3RpY0luZm8iIG1pbk9jY3Vycz0iMCIgbmls\nbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4N\nCiAgPHhzOmVsZW1lbnQgbmFtZT0iU3RhdHVzUmVzdWx0IiB0eXBlPSJ0bnM6U3RhdHVzUmVzdWx0\nIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJMaXN0T2ZTdGF0dXNSZXN1bHQiPg0KICAg\nIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlN0YXR1c1Jlc3VsdCIgdHlw\nZT0idG5zOlN0YXR1c1Jlc3VsdCIgbWluT2NjdXJzPSIwIiBtYXhPY2N1cnM9InVuYm91bmRlZCIg\nbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlw\nZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iTGlzdE9mU3RhdHVzUmVzdWx0IiB0eXBlPSJ0bnM6TGlz\ndE9mU3RhdHVzUmVzdWx0IiBuaWxsYWJsZT0idHJ1ZSI+PC94czplbGVtZW50Pg0KDQogIDx4czpj\nb21wbGV4VHlwZSBuYW1lPSJTdWJzY3JpcHRpb25EaWFnbm9zdGljc0RhdGFUeXBlIj4NCiAgICA8\neHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTZXNzaW9uSWQiIHR5cGU9InVh\nOk5vZGVJZCIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVt\nZW50IG5hbWU9IlN1YnNjcmlwdGlvbklkIiB0eXBlPSJ4czp1bnNpZ25lZEludCIgbWluT2NjdXJz\nPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUHJpb3JpdHkiIHR5cGU9InhzOnVuc2ln\nbmVkQnl0ZSIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUHVibGlz\naGluZ0ludGVydmFsIiB0eXBlPSJ4czpkb3VibGUiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4\nczplbGVtZW50IG5hbWU9Ik1heEtlZXBBbGl2ZUNvdW50IiB0eXBlPSJ4czp1bnNpZ25lZEludCIg\nbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTWF4TGlmZXRpbWVDb3Vu\ndCIgdHlwZT0ieHM6dW5zaWduZWRJbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVt\nZW50IG5hbWU9Ik1heE5vdGlmaWNhdGlvbnNQZXJQdWJsaXNoIiB0eXBlPSJ4czp1bnNpZ25lZElu\ndCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUHVibGlzaGluZ0Vu\nYWJsZWQiIHR5cGU9InhzOmJvb2xlYW4iIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVt\nZW50IG5hbWU9Ik1vZGlmeUNvdW50IiB0eXBlPSJ4czp1bnNpZ25lZEludCIgbWluT2NjdXJzPSIw\nIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRW5hYmxlQ291bnQiIHR5cGU9InhzOnVuc2ln\nbmVkSW50IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJEaXNhYmxl\nQ291bnQiIHR5cGU9InhzOnVuc2lnbmVkSW50IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6\nZWxlbWVudCBuYW1lPSJSZXB1Ymxpc2hSZXF1ZXN0Q291bnQiIHR5cGU9InhzOnVuc2lnbmVkSW50\nIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZXB1Ymxpc2hNZXNz\nYWdlUmVxdWVzdENvdW50IiB0eXBlPSJ4czp1bnNpZ25lZEludCIgbWluT2NjdXJzPSIwIiAvPg0K\nICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVwdWJsaXNoTWVzc2FnZUNvdW50IiB0eXBlPSJ4czp1\nbnNpZ25lZEludCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iVHJh\nbnNmZXJSZXF1ZXN0Q291bnQiIHR5cGU9InhzOnVuc2lnbmVkSW50IiBtaW5PY2N1cnM9IjAiIC8+\nDQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJUcmFuc2ZlcnJlZFRvQWx0Q2xpZW50Q291bnQiIHR5\ncGU9InhzOnVuc2lnbmVkSW50IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBu\nYW1lPSJUcmFuc2ZlcnJlZFRvU2FtZUNsaWVudENvdW50IiB0eXBlPSJ4czp1bnNpZ25lZEludCIg\nbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUHVibGlzaFJlcXVlc3RD\nb3VudCIgdHlwZT0ieHM6dW5zaWduZWRJbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czpl\nbGVtZW50IG5hbWU9IkRhdGFDaGFuZ2VOb3RpZmljYXRpb25zQ291bnQiIHR5cGU9InhzOnVuc2ln\nbmVkSW50IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJFdmVudE5v\ndGlmaWNhdGlvbnNDb3VudCIgdHlwZT0ieHM6dW5zaWduZWRJbnQiIG1pbk9jY3Vycz0iMCIgLz4N\nCiAgICAgIDx4czplbGVtZW50IG5hbWU9Ik5vdGlmaWNhdGlvbnNDb3VudCIgdHlwZT0ieHM6dW5z\naWduZWRJbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkxhdGVQ\ndWJsaXNoUmVxdWVzdENvdW50IiB0eXBlPSJ4czp1bnNpZ25lZEludCIgbWluT2NjdXJzPSIwIiAv\nPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQ3VycmVudEtlZXBBbGl2ZUNvdW50IiB0eXBlPSJ4\nczp1bnNpZ25lZEludCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0i\nQ3VycmVudExpZmV0aW1lQ291bnQiIHR5cGU9InhzOnVuc2lnbmVkSW50IiBtaW5PY2N1cnM9IjAi\nIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJVbmFja25vd2xlZGdlZE1lc3NhZ2VDb3VudCIg\ndHlwZT0ieHM6dW5zaWduZWRJbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50\nIG5hbWU9IkRpc2NhcmRlZE1lc3NhZ2VDb3VudCIgdHlwZT0ieHM6dW5zaWduZWRJbnQiIG1pbk9j\nY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9Ik1vbml0b3JlZEl0ZW1Db3VudCIg\ndHlwZT0ieHM6dW5zaWduZWRJbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50\nIG5hbWU9IkRpc2FibGVkTW9uaXRvcmVkSXRlbUNvdW50IiB0eXBlPSJ4czp1bnNpZ25lZEludCIg\nbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTW9uaXRvcmluZ1F1ZXVl\nT3ZlcmZsb3dDb3VudCIgdHlwZT0ieHM6dW5zaWduZWRJbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAg\nICAgIDx4czplbGVtZW50IG5hbWU9Ik5leHRTZXF1ZW5jZU51bWJlciIgdHlwZT0ieHM6dW5zaWdu\nZWRJbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkV2ZW50UXVl\ndWVPdmVyRmxvd0NvdW50IiB0eXBlPSJ4czp1bnNpZ25lZEludCIgbWluT2NjdXJzPSIwIiAvPg0K\nICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5h\nbWU9IlN1YnNjcmlwdGlvbkRpYWdub3N0aWNzRGF0YVR5cGUiIHR5cGU9InRuczpTdWJzY3JpcHRp\nb25EaWFnbm9zdGljc0RhdGFUeXBlIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJMaXN0\nT2ZTdWJzY3JpcHRpb25EaWFnbm9zdGljc0RhdGFUeXBlIj4NCiAgICA8eHM6c2VxdWVuY2U+DQog\nICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTdWJzY3JpcHRpb25EaWFnbm9zdGljc0RhdGFUeXBlIiB0\neXBlPSJ0bnM6U3Vic2NyaXB0aW9uRGlhZ25vc3RpY3NEYXRhVHlwZSIgbWluT2NjdXJzPSIwIiBt\nYXhPY2N1cnM9InVuYm91bmRlZCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5j\nZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iTGlzdE9mU3Vic2Ny\naXB0aW9uRGlhZ25vc3RpY3NEYXRhVHlwZSIgdHlwZT0idG5zOkxpc3RPZlN1YnNjcmlwdGlvbkRp\nYWdub3N0aWNzRGF0YVR5cGUiIG5pbGxhYmxlPSJ0cnVlIj48L3hzOmVsZW1lbnQ+DQoNCiAgPHhz\nOnNpbXBsZVR5cGUgIG5hbWU9Ik1vZGVsQ2hhbmdlU3RydWN0dXJlVmVyYk1hc2siPg0KICAgIDx4\nczpyZXN0cmljdGlvbiBiYXNlPSJ4czpzdHJpbmciPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZh\nbHVlPSJOb2RlQWRkZWRfMSIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iTm9kZURl\nbGV0ZWRfMiIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iUmVmZXJlbmNlQWRkZWRf\nNCIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iUmVmZXJlbmNlRGVsZXRlZF84IiAv\nPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJEYXRhVHlwZUNoYW5nZWRfMTYiIC8+DQog\nICAgPC94czpyZXN0cmljdGlvbj4NCiAgPC94czpzaW1wbGVUeXBlPg0KICA8eHM6ZWxlbWVudCBu\nYW1lPSJNb2RlbENoYW5nZVN0cnVjdHVyZVZlcmJNYXNrIiB0eXBlPSJ0bnM6TW9kZWxDaGFuZ2VT\ndHJ1Y3R1cmVWZXJiTWFzayIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iTW9kZWxDaGFu\nZ2VTdHJ1Y3R1cmVEYXRhVHlwZSI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1l\nbnQgbmFtZT0iQWZmZWN0ZWQiIHR5cGU9InVhOk5vZGVJZCIgbWluT2NjdXJzPSIwIiBuaWxsYWJs\nZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkFmZmVjdGVkVHlwZSIgdHlwZT0i\ndWE6Tm9kZUlkIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVs\nZW1lbnQgbmFtZT0iVmVyYiIgdHlwZT0ieHM6dW5zaWduZWRCeXRlIiBtaW5PY2N1cnM9IjAiIC8+\nDQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQg\nbmFtZT0iTW9kZWxDaGFuZ2VTdHJ1Y3R1cmVEYXRhVHlwZSIgdHlwZT0idG5zOk1vZGVsQ2hhbmdl\nU3RydWN0dXJlRGF0YVR5cGUiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9Ikxpc3RPZk1v\nZGVsQ2hhbmdlU3RydWN0dXJlRGF0YVR5cGUiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4\nczplbGVtZW50IG5hbWU9Ik1vZGVsQ2hhbmdlU3RydWN0dXJlRGF0YVR5cGUiIHR5cGU9InRuczpN\nb2RlbENoYW5nZVN0cnVjdHVyZURhdGFUeXBlIiBtaW5PY2N1cnM9IjAiIG1heE9jY3Vycz0idW5i\nb3VuZGVkIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNv\nbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJMaXN0T2ZNb2RlbENoYW5nZVN0cnVjdHVy\nZURhdGFUeXBlIiB0eXBlPSJ0bnM6TGlzdE9mTW9kZWxDaGFuZ2VTdHJ1Y3R1cmVEYXRhVHlwZSIg\nbmlsbGFibGU9InRydWUiPjwveHM6ZWxlbWVudD4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0i\nU2VtYW50aWNDaGFuZ2VTdHJ1Y3R1cmVEYXRhVHlwZSI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAg\nICAgPHhzOmVsZW1lbnQgbmFtZT0iQWZmZWN0ZWQiIHR5cGU9InVhOk5vZGVJZCIgbWluT2NjdXJz\nPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkFmZmVjdGVk\nVHlwZSIgdHlwZT0idWE6Tm9kZUlkIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0K\nICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5h\nbWU9IlNlbWFudGljQ2hhbmdlU3RydWN0dXJlRGF0YVR5cGUiIHR5cGU9InRuczpTZW1hbnRpY0No\nYW5nZVN0cnVjdHVyZURhdGFUeXBlIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJMaXN0\nT2ZTZW1hbnRpY0NoYW5nZVN0cnVjdHVyZURhdGFUeXBlIj4NCiAgICA8eHM6c2VxdWVuY2U+DQog\nICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTZW1hbnRpY0NoYW5nZVN0cnVjdHVyZURhdGFUeXBlIiB0\neXBlPSJ0bnM6U2VtYW50aWNDaGFuZ2VTdHJ1Y3R1cmVEYXRhVHlwZSIgbWluT2NjdXJzPSIwIiBt\nYXhPY2N1cnM9InVuYm91bmRlZCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5j\nZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iTGlzdE9mU2VtYW50\naWNDaGFuZ2VTdHJ1Y3R1cmVEYXRhVHlwZSIgdHlwZT0idG5zOkxpc3RPZlNlbWFudGljQ2hhbmdl\nU3RydWN0dXJlRGF0YVR5cGUiIG5pbGxhYmxlPSJ0cnVlIj48L3hzOmVsZW1lbnQ+DQoNCiAgPHhz\nOmNvbXBsZXhUeXBlIG5hbWU9IlJhbmdlIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6\nZWxlbWVudCBuYW1lPSJMb3ciIHR5cGU9InhzOmRvdWJsZSIgbWluT2NjdXJzPSIwIiAvPg0KICAg\nICAgPHhzOmVsZW1lbnQgbmFtZT0iSGlnaCIgdHlwZT0ieHM6ZG91YmxlIiBtaW5PY2N1cnM9IjAi\nIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1l\nbnQgbmFtZT0iUmFuZ2UiIHR5cGU9InRuczpSYW5nZSIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUg\nbmFtZT0iRVVJbmZvcm1hdGlvbiI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1l\nbnQgbmFtZT0iTmFtZXNwYWNlVXJpIiB0eXBlPSJ4czpzdHJpbmciIG1pbk9jY3Vycz0iMCIgbmls\nbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJVbml0SWQiIHR5cGU9Inhz\nOmludCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRGlzcGxheU5h\nbWUiIHR5cGU9InVhOkxvY2FsaXplZFRleHQiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUi\nIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJEZXNjcmlwdGlvbiIgdHlwZT0idWE6TG9jYWxp\nemVkVGV4dCIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVl\nbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJFVUluZm9ybWF0\naW9uIiB0eXBlPSJ0bnM6RVVJbmZvcm1hdGlvbiIgLz4NCg0KICA8eHM6c2ltcGxlVHlwZSAgbmFt\nZT0iQXhpc1NjYWxlRW51bWVyYXRpb24iPg0KICAgIDx4czpyZXN0cmljdGlvbiBiYXNlPSJ4czpz\ndHJpbmciPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJMaW5lYXJfMCIgLz4NCiAgICAg\nIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iTG9nXzEiIC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24g\ndmFsdWU9IkxuXzIiIC8+DQogICAgPC94czpyZXN0cmljdGlvbj4NCiAgPC94czpzaW1wbGVUeXBl\nPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJBeGlzU2NhbGVFbnVtZXJhdGlvbiIgdHlwZT0idG5zOkF4\naXNTY2FsZUVudW1lcmF0aW9uIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJDb21wbGV4\nTnVtYmVyVHlwZSI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0i\nUmVhbCIgdHlwZT0ieHM6ZmxvYXQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50\nIG5hbWU9IkltYWdpbmFyeSIgdHlwZT0ieHM6ZmxvYXQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICA8\nL3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJD\nb21wbGV4TnVtYmVyVHlwZSIgdHlwZT0idG5zOkNvbXBsZXhOdW1iZXJUeXBlIiAvPg0KDQogIDx4\nczpjb21wbGV4VHlwZSBuYW1lPSJEb3VibGVDb21wbGV4TnVtYmVyVHlwZSI+DQogICAgPHhzOnNl\ncXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVhbCIgdHlwZT0ieHM6ZG91YmxlIiBt\naW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJJbWFnaW5hcnkiIHR5cGU9\nInhzOmRvdWJsZSIgbWluT2NjdXJzPSIwIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6\nY29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IkRvdWJsZUNvbXBsZXhOdW1iZXJUeXBl\nIiB0eXBlPSJ0bnM6RG91YmxlQ29tcGxleE51bWJlclR5cGUiIC8+DQoNCiAgPHhzOmNvbXBsZXhU\neXBlIG5hbWU9IkF4aXNJbmZvcm1hdGlvbiI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhz\nOmVsZW1lbnQgbmFtZT0iRW5naW5lZXJpbmdVbml0cyIgdHlwZT0idG5zOkVVSW5mb3JtYXRpb24i\nIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1l\nPSJFVVJhbmdlIiB0eXBlPSJ0bnM6UmFuZ2UiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUi\nIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJUaXRsZSIgdHlwZT0idWE6TG9jYWxpemVkVGV4\ndCIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5h\nbWU9IkF4aXNTY2FsZVR5cGUiIHR5cGU9InRuczpBeGlzU2NhbGVFbnVtZXJhdGlvbiIgbWluT2Nj\ndXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQXhpc1N0ZXBzIiB0eXBlPSJ1YTpM\naXN0T2ZEb3VibGUiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpz\nZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iQXhpc0lu\nZm9ybWF0aW9uIiB0eXBlPSJ0bnM6QXhpc0luZm9ybWF0aW9uIiAvPg0KDQogIDx4czpjb21wbGV4\nVHlwZSBuYW1lPSJYVlR5cGUiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50\nIG5hbWU9IlgiIHR5cGU9InhzOmRvdWJsZSIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVs\nZW1lbnQgbmFtZT0iVmFsdWUiIHR5cGU9InhzOmZsb2F0IiBtaW5PY2N1cnM9IjAiIC8+DQogICAg\nPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0i\nWFZUeXBlIiB0eXBlPSJ0bnM6WFZUeXBlIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJQ\ncm9ncmFtRGlhZ25vc3RpY0RhdGFUeXBlIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6\nZWxlbWVudCBuYW1lPSJDcmVhdGVTZXNzaW9uSWQiIHR5cGU9InVhOk5vZGVJZCIgbWluT2NjdXJz\nPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkNyZWF0ZUNs\naWVudE5hbWUiIHR5cGU9InhzOnN0cmluZyIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIg\nLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9Ikludm9jYXRpb25DcmVhdGlvblRpbWUiIHR5cGU9\nInhzOmRhdGVUaW1lIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJM\nYXN0VHJhbnNpdGlvblRpbWUiIHR5cGU9InhzOmRhdGVUaW1lIiBtaW5PY2N1cnM9IjAiIC8+DQog\nICAgICA8eHM6ZWxlbWVudCBuYW1lPSJMYXN0TWV0aG9kQ2FsbCIgdHlwZT0ieHM6c3RyaW5nIiBt\naW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0i\nTGFzdE1ldGhvZFNlc3Npb25JZCIgdHlwZT0idWE6Tm9kZUlkIiBtaW5PY2N1cnM9IjAiIG5pbGxh\nYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTGFzdE1ldGhvZElucHV0QXJn\ndW1lbnRzIiB0eXBlPSJ0bnM6TGlzdE9mQXJndW1lbnQiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9\nInRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJMYXN0TWV0aG9kT3V0cHV0QXJndW1l\nbnRzIiB0eXBlPSJ0bnM6TGlzdE9mQXJndW1lbnQiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRy\ndWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJMYXN0TWV0aG9kQ2FsbFRpbWUiIHR5cGU9\nInhzOmRhdGVUaW1lIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJM\nYXN0TWV0aG9kUmV0dXJuU3RhdHVzIiB0eXBlPSJ0bnM6U3RhdHVzUmVzdWx0IiBtaW5PY2N1cnM9\nIjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxl\neFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IlByb2dyYW1EaWFnbm9zdGljRGF0YVR5cGUiIHR5\ncGU9InRuczpQcm9ncmFtRGlhZ25vc3RpY0RhdGFUeXBlIiAvPg0KDQogIDx4czpjb21wbGV4VHlw\nZSBuYW1lPSJQcm9ncmFtRGlhZ25vc3RpYzJEYXRhVHlwZSI+DQogICAgPHhzOnNlcXVlbmNlPg0K\nICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQ3JlYXRlU2Vzc2lvbklkIiB0eXBlPSJ1YTpOb2RlSWQi\nIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1l\nPSJDcmVhdGVDbGllbnROYW1lIiB0eXBlPSJ4czpzdHJpbmciIG1pbk9jY3Vycz0iMCIgbmlsbGFi\nbGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJJbnZvY2F0aW9uQ3JlYXRpb25U\naW1lIiB0eXBlPSJ4czpkYXRlVGltZSIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1l\nbnQgbmFtZT0iTGFzdFRyYW5zaXRpb25UaW1lIiB0eXBlPSJ4czpkYXRlVGltZSIgbWluT2NjdXJz\nPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTGFzdE1ldGhvZENhbGwiIHR5cGU9Inhz\nOnN0cmluZyIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVt\nZW50IG5hbWU9Ikxhc3RNZXRob2RTZXNzaW9uSWQiIHR5cGU9InVhOk5vZGVJZCIgbWluT2NjdXJz\nPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9Ikxhc3RNZXRo\nb2RJbnB1dEFyZ3VtZW50cyIgdHlwZT0idG5zOkxpc3RPZkFyZ3VtZW50IiBtaW5PY2N1cnM9IjAi\nIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTGFzdE1ldGhvZE91\ndHB1dEFyZ3VtZW50cyIgdHlwZT0idG5zOkxpc3RPZkFyZ3VtZW50IiBtaW5PY2N1cnM9IjAiIG5p\nbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTGFzdE1ldGhvZElucHV0\nVmFsdWVzIiB0eXBlPSJ1YTpMaXN0T2ZWYXJpYW50IiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0\ncnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTGFzdE1ldGhvZE91dHB1dFZhbHVlcyIg\ndHlwZT0idWE6TGlzdE9mVmFyaWFudCIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4N\nCiAgICAgIDx4czplbGVtZW50IG5hbWU9Ikxhc3RNZXRob2RDYWxsVGltZSIgdHlwZT0ieHM6ZGF0\nZVRpbWUiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9Ikxhc3RNZXRo\nb2RSZXR1cm5TdGF0dXMiIHR5cGU9InVhOlN0YXR1c0NvZGUiIG1pbk9jY3Vycz0iMCIgLz4NCiAg\nICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1l\nPSJQcm9ncmFtRGlhZ25vc3RpYzJEYXRhVHlwZSIgdHlwZT0idG5zOlByb2dyYW1EaWFnbm9zdGlj\nMkRhdGFUeXBlIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJBbm5vdGF0aW9uIj4NCiAg\nICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJNZXNzYWdlIiB0eXBlPSJ4\nczpzdHJpbmciIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxl\nbWVudCBuYW1lPSJVc2VyTmFtZSIgdHlwZT0ieHM6c3RyaW5nIiBtaW5PY2N1cnM9IjAiIG5pbGxh\nYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQW5ub3RhdGlvblRpbWUiIHR5\ncGU9InhzOmRhdGVUaW1lIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAg\nPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iQW5ub3RhdGlvbiIgdHlwZT0i\ndG5zOkFubm90YXRpb24iIC8+DQoNCiAgPHhzOnNpbXBsZVR5cGUgIG5hbWU9IkV4Y2VwdGlvbkRl\ndmlhdGlvbkZvcm1hdCI+DQogICAgPHhzOnJlc3RyaWN0aW9uIGJhc2U9InhzOnN0cmluZyI+DQog\nICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IkFic29sdXRlVmFsdWVfMCIgLz4NCiAgICAgIDx4\nczplbnVtZXJhdGlvbiB2YWx1ZT0iUGVyY2VudE9mVmFsdWVfMSIgLz4NCiAgICAgIDx4czplbnVt\nZXJhdGlvbiB2YWx1ZT0iUGVyY2VudE9mUmFuZ2VfMiIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlv\nbiB2YWx1ZT0iUGVyY2VudE9mRVVSYW5nZV8zIiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZh\nbHVlPSJVbmtub3duXzQiIC8+DQogICAgPC94czpyZXN0cmljdGlvbj4NCiAgPC94czpzaW1wbGVU\neXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJFeGNlcHRpb25EZXZpYXRpb25Gb3JtYXQiIHR5cGU9\nInRuczpFeGNlcHRpb25EZXZpYXRpb25Gb3JtYXQiIC8+DQoNCjwveHM6c2NoZW1hPg==</ByteString>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"i=8254\" BrowseName=\"NamespaceUri\" ReleaseStatus=\"Deprecated\" ParentNodeId=\"i=8252\" DataType=\"String\">\n    <DisplayName>NamespaceUri</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=8252</Reference>\n    </References>\n    <Value>\n      <String xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">http://opcfoundation.org/UA/2008/02/Types.xsd</String>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"i=15039\" BrowseName=\"Deprecated\" ReleaseStatus=\"Deprecated\" ParentNodeId=\"i=8252\" DataType=\"Boolean\">\n    <DisplayName>Deprecated</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=68</Reference>\n      <Reference ReferenceType=\"HasProperty\" IsForward=\"false\">i=8252</Reference>\n    </References>\n    <Value>\n      <Boolean xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">true</Boolean>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"i=12762\" BrowseName=\"Union\" ReleaseStatus=\"Deprecated\" ParentNodeId=\"i=8252\" DataType=\"String\">\n    <DisplayName>Union</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=69</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=8252</Reference>\n    </References>\n    <Value>\n      <String xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">//xs:element[@name='Union']</String>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"i=14829\" BrowseName=\"KeyValuePair\" ReleaseStatus=\"Deprecated\" ParentNodeId=\"i=8252\" DataType=\"String\">\n    <DisplayName>KeyValuePair</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=69</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=8252</Reference>\n    </References>\n    <Value>\n      <String xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">//xs:element[@name='KeyValuePair']</String>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"i=17542\" BrowseName=\"AdditionalParametersType\" ReleaseStatus=\"Deprecated\" ParentNodeId=\"i=8252\" DataType=\"String\">\n    <DisplayName>AdditionalParametersType</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=69</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=8252</Reference>\n    </References>\n    <Value>\n      <String xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">//xs:element[@name='AdditionalParametersType']</String>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"i=17554\" BrowseName=\"EphemeralKeyType\" ReleaseStatus=\"Deprecated\" ParentNodeId=\"i=8252\" DataType=\"String\">\n    <DisplayName>EphemeralKeyType</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=69</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=8252</Reference>\n    </References>\n    <Value>\n      <String xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">//xs:element[@name='EphemeralKeyType']</String>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"i=16024\" BrowseName=\"EndpointType\" ReleaseStatus=\"Deprecated\" ParentNodeId=\"i=8252\" DataType=\"String\">\n    <DisplayName>EndpointType</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=69</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=8252</Reference>\n    </References>\n    <Value>\n      <String xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">//xs:element[@name='EndpointType']</String>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"i=18860\" BrowseName=\"RationalNumber\" ReleaseStatus=\"Deprecated\" ParentNodeId=\"i=8252\" DataType=\"String\">\n    <DisplayName>RationalNumber</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=69</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=8252</Reference>\n    </References>\n    <Value>\n      <String xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">//xs:element[@name='RationalNumber']</String>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"i=18863\" BrowseName=\"Vector\" ReleaseStatus=\"Deprecated\" ParentNodeId=\"i=8252\" DataType=\"String\">\n    <DisplayName>Vector</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=69</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=8252</Reference>\n    </References>\n    <Value>\n      <String xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">//xs:element[@name='Vector']</String>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"i=18866\" BrowseName=\"3DVector\" SymbolicName=\"ThreeDVector\" ReleaseStatus=\"Deprecated\" ParentNodeId=\"i=8252\" DataType=\"String\">\n    <DisplayName>3DVector</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=69</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=8252</Reference>\n    </References>\n    <Value>\n      <String xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">//xs:element[@name='ThreeDVector']</String>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"i=18869\" BrowseName=\"CartesianCoordinates\" ReleaseStatus=\"Deprecated\" ParentNodeId=\"i=8252\" DataType=\"String\">\n    <DisplayName>CartesianCoordinates</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=69</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=8252</Reference>\n    </References>\n    <Value>\n      <String xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">//xs:element[@name='CartesianCoordinates']</String>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"i=19049\" BrowseName=\"3DCartesianCoordinates\" SymbolicName=\"ThreeDCartesianCoordinates\" ReleaseStatus=\"Deprecated\" ParentNodeId=\"i=8252\" DataType=\"String\">\n    <DisplayName>3DCartesianCoordinates</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=69</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=8252</Reference>\n    </References>\n    <Value>\n      <String xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">//xs:element[@name='ThreeDCartesianCoordinates']</String>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"i=19052\" BrowseName=\"Orientation\" ReleaseStatus=\"Deprecated\" ParentNodeId=\"i=8252\" DataType=\"String\">\n    <DisplayName>Orientation</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=69</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=8252</Reference>\n    </References>\n    <Value>\n      <String xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">//xs:element[@name='Orientation']</String>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"i=19055\" BrowseName=\"3DOrientation\" SymbolicName=\"ThreeDOrientation\" ReleaseStatus=\"Deprecated\" ParentNodeId=\"i=8252\" DataType=\"String\">\n    <DisplayName>3DOrientation</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=69</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=8252</Reference>\n    </References>\n    <Value>\n      <String xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">//xs:element[@name='ThreeDOrientation']</String>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"i=19058\" BrowseName=\"Frame\" ReleaseStatus=\"Deprecated\" ParentNodeId=\"i=8252\" DataType=\"String\">\n    <DisplayName>Frame</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=69</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=8252</Reference>\n    </References>\n    <Value>\n      <String xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">//xs:element[@name='Frame']</String>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"i=19061\" BrowseName=\"3DFrame\" SymbolicName=\"ThreeDFrame\" ReleaseStatus=\"Deprecated\" ParentNodeId=\"i=8252\" DataType=\"String\">\n    <DisplayName>3DFrame</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=69</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=8252</Reference>\n    </References>\n    <Value>\n      <String xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">//xs:element[@name='ThreeDFrame']</String>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"i=15730\" BrowseName=\"IdentityMappingRuleType\" ReleaseStatus=\"Deprecated\" ParentNodeId=\"i=8252\" DataType=\"String\">\n    <DisplayName>IdentityMappingRuleType</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=69</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=8252</Reference>\n    </References>\n    <Value>\n      <String xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">//xs:element[@name='IdentityMappingRuleType']</String>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"i=23522\" BrowseName=\"CurrencyUnitType\" ReleaseStatus=\"Deprecated\" ParentNodeId=\"i=8252\" DataType=\"String\">\n    <DisplayName>CurrencyUnitType</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=69</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=8252</Reference>\n    </References>\n    <Value>\n      <String xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">//xs:element[@name='CurrencyUnitType']</String>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"i=12677\" BrowseName=\"TrustListDataType\" ReleaseStatus=\"Deprecated\" ParentNodeId=\"i=8252\" DataType=\"String\">\n    <DisplayName>TrustListDataType</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=69</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=8252</Reference>\n    </References>\n    <Value>\n      <String xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">//xs:element[@name='TrustListDataType']</String>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"i=16027\" BrowseName=\"DataTypeSchemaHeader\" ReleaseStatus=\"Deprecated\" ParentNodeId=\"i=8252\" DataType=\"String\">\n    <DisplayName>DataTypeSchemaHeader</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=69</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=8252</Reference>\n    </References>\n    <Value>\n      <String xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">//xs:element[@name='DataTypeSchemaHeader']</String>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"i=14811\" BrowseName=\"DataTypeDescription\" ReleaseStatus=\"Deprecated\" ParentNodeId=\"i=8252\" DataType=\"String\">\n    <DisplayName>DataTypeDescription</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=69</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=8252</Reference>\n    </References>\n    <Value>\n      <String xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">//xs:element[@name='DataTypeDescription']</String>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"i=15591\" BrowseName=\"StructureDescription\" ReleaseStatus=\"Deprecated\" ParentNodeId=\"i=8252\" DataType=\"String\">\n    <DisplayName>StructureDescription</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=69</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=8252</Reference>\n    </References>\n    <Value>\n      <String xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">//xs:element[@name='StructureDescription']</String>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"i=15594\" BrowseName=\"EnumDescription\" ReleaseStatus=\"Deprecated\" ParentNodeId=\"i=8252\" DataType=\"String\">\n    <DisplayName>EnumDescription</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=69</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=8252</Reference>\n    </References>\n    <Value>\n      <String xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">//xs:element[@name='EnumDescription']</String>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"i=15585\" BrowseName=\"SimpleTypeDescription\" ReleaseStatus=\"Deprecated\" ParentNodeId=\"i=8252\" DataType=\"String\">\n    <DisplayName>SimpleTypeDescription</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=69</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=8252</Reference>\n    </References>\n    <Value>\n      <String xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">//xs:element[@name='SimpleTypeDescription']</String>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"i=15588\" BrowseName=\"UABinaryFileDataType\" ReleaseStatus=\"Deprecated\" ParentNodeId=\"i=8252\" DataType=\"String\">\n    <DisplayName>UABinaryFileDataType</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=69</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=8252</Reference>\n    </References>\n    <Value>\n      <String xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">//xs:element[@name='UABinaryFileDataType']</String>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"i=14805\" BrowseName=\"DataSetMetaDataType\" ReleaseStatus=\"Deprecated\" ParentNodeId=\"i=8252\" DataType=\"String\">\n    <DisplayName>DataSetMetaDataType</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=69</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=8252</Reference>\n    </References>\n    <Value>\n      <String xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">//xs:element[@name='DataSetMetaDataType']</String>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"i=14808\" BrowseName=\"FieldMetaData\" ReleaseStatus=\"Deprecated\" ParentNodeId=\"i=8252\" DataType=\"String\">\n    <DisplayName>FieldMetaData</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=69</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=8252</Reference>\n    </References>\n    <Value>\n      <String xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">//xs:element[@name='FieldMetaData']</String>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"i=14832\" BrowseName=\"ConfigurationVersionDataType\" ReleaseStatus=\"Deprecated\" ParentNodeId=\"i=8252\" DataType=\"String\">\n    <DisplayName>ConfigurationVersionDataType</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=69</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=8252</Reference>\n    </References>\n    <Value>\n      <String xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">//xs:element[@name='ConfigurationVersionDataType']</String>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"i=16030\" BrowseName=\"PublishedDataSetDataType\" ReleaseStatus=\"Deprecated\" ParentNodeId=\"i=8252\" DataType=\"String\">\n    <DisplayName>PublishedDataSetDataType</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=69</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=8252</Reference>\n    </References>\n    <Value>\n      <String xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">//xs:element[@name='PublishedDataSetDataType']</String>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"i=16033\" BrowseName=\"PublishedDataSetSourceDataType\" ReleaseStatus=\"Deprecated\" ParentNodeId=\"i=8252\" DataType=\"String\">\n    <DisplayName>PublishedDataSetSourceDataType</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=69</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=8252</Reference>\n    </References>\n    <Value>\n      <String xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">//xs:element[@name='PublishedDataSetSourceDataType']</String>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"i=14320\" BrowseName=\"PublishedVariableDataType\" ReleaseStatus=\"Deprecated\" ParentNodeId=\"i=8252\" DataType=\"String\">\n    <DisplayName>PublishedVariableDataType</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=69</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=8252</Reference>\n    </References>\n    <Value>\n      <String xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">//xs:element[@name='PublishedVariableDataType']</String>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"i=16037\" BrowseName=\"PublishedDataItemsDataType\" ReleaseStatus=\"Deprecated\" ParentNodeId=\"i=8252\" DataType=\"String\">\n    <DisplayName>PublishedDataItemsDataType</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=69</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=8252</Reference>\n    </References>\n    <Value>\n      <String xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">//xs:element[@name='PublishedDataItemsDataType']</String>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"i=16040\" BrowseName=\"PublishedEventsDataType\" ReleaseStatus=\"Deprecated\" ParentNodeId=\"i=8252\" DataType=\"String\">\n    <DisplayName>PublishedEventsDataType</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=69</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=8252</Reference>\n    </References>\n    <Value>\n      <String xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">//xs:element[@name='PublishedEventsDataType']</String>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"i=16047\" BrowseName=\"DataSetWriterDataType\" ReleaseStatus=\"Deprecated\" ParentNodeId=\"i=8252\" DataType=\"String\">\n    <DisplayName>DataSetWriterDataType</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=69</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=8252</Reference>\n    </References>\n    <Value>\n      <String xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">//xs:element[@name='DataSetWriterDataType']</String>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"i=16050\" BrowseName=\"DataSetWriterTransportDataType\" ReleaseStatus=\"Deprecated\" ParentNodeId=\"i=8252\" DataType=\"String\">\n    <DisplayName>DataSetWriterTransportDataType</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=69</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=8252</Reference>\n    </References>\n    <Value>\n      <String xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">//xs:element[@name='DataSetWriterTransportDataType']</String>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"i=16053\" BrowseName=\"DataSetWriterMessageDataType\" ReleaseStatus=\"Deprecated\" ParentNodeId=\"i=8252\" DataType=\"String\">\n    <DisplayName>DataSetWriterMessageDataType</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=69</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=8252</Reference>\n    </References>\n    <Value>\n      <String xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">//xs:element[@name='DataSetWriterMessageDataType']</String>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"i=16056\" BrowseName=\"PubSubGroupDataType\" ReleaseStatus=\"Deprecated\" ParentNodeId=\"i=8252\" DataType=\"String\">\n    <DisplayName>PubSubGroupDataType</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=69</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=8252</Reference>\n    </References>\n    <Value>\n      <String xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">//xs:element[@name='PubSubGroupDataType']</String>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"i=21180\" BrowseName=\"WriterGroupDataType\" ReleaseStatus=\"Deprecated\" ParentNodeId=\"i=8252\" DataType=\"String\">\n    <DisplayName>WriterGroupDataType</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=69</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=8252</Reference>\n    </References>\n    <Value>\n      <String xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">//xs:element[@name='WriterGroupDataType']</String>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"i=16062\" BrowseName=\"WriterGroupTransportDataType\" ReleaseStatus=\"Deprecated\" ParentNodeId=\"i=8252\" DataType=\"String\">\n    <DisplayName>WriterGroupTransportDataType</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=69</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=8252</Reference>\n    </References>\n    <Value>\n      <String xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">//xs:element[@name='WriterGroupTransportDataType']</String>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"i=16065\" BrowseName=\"WriterGroupMessageDataType\" ReleaseStatus=\"Deprecated\" ParentNodeId=\"i=8252\" DataType=\"String\">\n    <DisplayName>WriterGroupMessageDataType</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=69</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=8252</Reference>\n    </References>\n    <Value>\n      <String xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">//xs:element[@name='WriterGroupMessageDataType']</String>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"i=16068\" BrowseName=\"PubSubConnectionDataType\" ReleaseStatus=\"Deprecated\" ParentNodeId=\"i=8252\" DataType=\"String\">\n    <DisplayName>PubSubConnectionDataType</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=69</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=8252</Reference>\n    </References>\n    <Value>\n      <String xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">//xs:element[@name='PubSubConnectionDataType']</String>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"i=16071\" BrowseName=\"ConnectionTransportDataType\" ReleaseStatus=\"Deprecated\" ParentNodeId=\"i=8252\" DataType=\"String\">\n    <DisplayName>ConnectionTransportDataType</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=69</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=8252</Reference>\n    </References>\n    <Value>\n      <String xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">//xs:element[@name='ConnectionTransportDataType']</String>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"i=21183\" BrowseName=\"NetworkAddressDataType\" ReleaseStatus=\"Deprecated\" ParentNodeId=\"i=8252\" DataType=\"String\">\n    <DisplayName>NetworkAddressDataType</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=69</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=8252</Reference>\n    </References>\n    <Value>\n      <String xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">//xs:element[@name='NetworkAddressDataType']</String>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"i=21186\" BrowseName=\"NetworkAddressUrlDataType\" ReleaseStatus=\"Deprecated\" ParentNodeId=\"i=8252\" DataType=\"String\">\n    <DisplayName>NetworkAddressUrlDataType</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=69</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=8252</Reference>\n    </References>\n    <Value>\n      <String xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">//xs:element[@name='NetworkAddressUrlDataType']</String>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"i=21189\" BrowseName=\"ReaderGroupDataType\" ReleaseStatus=\"Deprecated\" ParentNodeId=\"i=8252\" DataType=\"String\">\n    <DisplayName>ReaderGroupDataType</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=69</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=8252</Reference>\n    </References>\n    <Value>\n      <String xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">//xs:element[@name='ReaderGroupDataType']</String>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"i=16077\" BrowseName=\"ReaderGroupTransportDataType\" ReleaseStatus=\"Deprecated\" ParentNodeId=\"i=8252\" DataType=\"String\">\n    <DisplayName>ReaderGroupTransportDataType</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=69</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=8252</Reference>\n    </References>\n    <Value>\n      <String xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">//xs:element[@name='ReaderGroupTransportDataType']</String>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"i=16080\" BrowseName=\"ReaderGroupMessageDataType\" ReleaseStatus=\"Deprecated\" ParentNodeId=\"i=8252\" DataType=\"String\">\n    <DisplayName>ReaderGroupMessageDataType</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=69</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=8252</Reference>\n    </References>\n    <Value>\n      <String xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">//xs:element[@name='ReaderGroupMessageDataType']</String>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"i=16083\" BrowseName=\"DataSetReaderDataType\" ReleaseStatus=\"Deprecated\" ParentNodeId=\"i=8252\" DataType=\"String\">\n    <DisplayName>DataSetReaderDataType</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=69</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=8252</Reference>\n    </References>\n    <Value>\n      <String xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">//xs:element[@name='DataSetReaderDataType']</String>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"i=16086\" BrowseName=\"DataSetReaderTransportDataType\" ReleaseStatus=\"Deprecated\" ParentNodeId=\"i=8252\" DataType=\"String\">\n    <DisplayName>DataSetReaderTransportDataType</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=69</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=8252</Reference>\n    </References>\n    <Value>\n      <String xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">//xs:element[@name='DataSetReaderTransportDataType']</String>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"i=16089\" BrowseName=\"DataSetReaderMessageDataType\" ReleaseStatus=\"Deprecated\" ParentNodeId=\"i=8252\" DataType=\"String\">\n    <DisplayName>DataSetReaderMessageDataType</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=69</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=8252</Reference>\n    </References>\n    <Value>\n      <String xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">//xs:element[@name='DataSetReaderMessageDataType']</String>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"i=16092\" BrowseName=\"SubscribedDataSetDataType\" ReleaseStatus=\"Deprecated\" ParentNodeId=\"i=8252\" DataType=\"String\">\n    <DisplayName>SubscribedDataSetDataType</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=69</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=8252</Reference>\n    </References>\n    <Value>\n      <String xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">//xs:element[@name='SubscribedDataSetDataType']</String>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"i=16095\" BrowseName=\"TargetVariablesDataType\" ReleaseStatus=\"Deprecated\" ParentNodeId=\"i=8252\" DataType=\"String\">\n    <DisplayName>TargetVariablesDataType</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=69</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=8252</Reference>\n    </References>\n    <Value>\n      <String xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">//xs:element[@name='TargetVariablesDataType']</String>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"i=14835\" BrowseName=\"FieldTargetDataType\" ReleaseStatus=\"Deprecated\" ParentNodeId=\"i=8252\" DataType=\"String\">\n    <DisplayName>FieldTargetDataType</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=69</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=8252</Reference>\n    </References>\n    <Value>\n      <String xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">//xs:element[@name='FieldTargetDataType']</String>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"i=16098\" BrowseName=\"SubscribedDataSetMirrorDataType\" ReleaseStatus=\"Deprecated\" ParentNodeId=\"i=8252\" DataType=\"String\">\n    <DisplayName>SubscribedDataSetMirrorDataType</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=69</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=8252</Reference>\n    </References>\n    <Value>\n      <String xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">//xs:element[@name='SubscribedDataSetMirrorDataType']</String>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"i=21192\" BrowseName=\"PubSubConfigurationDataType\" ReleaseStatus=\"Deprecated\" ParentNodeId=\"i=8252\" DataType=\"String\">\n    <DisplayName>PubSubConfigurationDataType</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=69</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=8252</Reference>\n    </References>\n    <Value>\n      <String xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">//xs:element[@name='PubSubConfigurationDataType']</String>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"i=16104\" BrowseName=\"UadpWriterGroupMessageDataType\" ReleaseStatus=\"Deprecated\" ParentNodeId=\"i=8252\" DataType=\"String\">\n    <DisplayName>UadpWriterGroupMessageDataType</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=69</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=8252</Reference>\n    </References>\n    <Value>\n      <String xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">//xs:element[@name='UadpWriterGroupMessageDataType']</String>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"i=16107\" BrowseName=\"UadpDataSetWriterMessageDataType\" ReleaseStatus=\"Deprecated\" ParentNodeId=\"i=8252\" DataType=\"String\">\n    <DisplayName>UadpDataSetWriterMessageDataType</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=69</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=8252</Reference>\n    </References>\n    <Value>\n      <String xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">//xs:element[@name='UadpDataSetWriterMessageDataType']</String>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"i=16110\" BrowseName=\"UadpDataSetReaderMessageDataType\" ReleaseStatus=\"Deprecated\" ParentNodeId=\"i=8252\" DataType=\"String\">\n    <DisplayName>UadpDataSetReaderMessageDataType</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=69</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=8252</Reference>\n    </References>\n    <Value>\n      <String xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">//xs:element[@name='UadpDataSetReaderMessageDataType']</String>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"i=16113\" BrowseName=\"JsonWriterGroupMessageDataType\" ReleaseStatus=\"Deprecated\" ParentNodeId=\"i=8252\" DataType=\"String\">\n    <DisplayName>JsonWriterGroupMessageDataType</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=69</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=8252</Reference>\n    </References>\n    <Value>\n      <String xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">//xs:element[@name='JsonWriterGroupMessageDataType']</String>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"i=16116\" BrowseName=\"JsonDataSetWriterMessageDataType\" ReleaseStatus=\"Deprecated\" ParentNodeId=\"i=8252\" DataType=\"String\">\n    <DisplayName>JsonDataSetWriterMessageDataType</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=69</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=8252</Reference>\n    </References>\n    <Value>\n      <String xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">//xs:element[@name='JsonDataSetWriterMessageDataType']</String>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"i=16119\" BrowseName=\"JsonDataSetReaderMessageDataType\" ReleaseStatus=\"Deprecated\" ParentNodeId=\"i=8252\" DataType=\"String\">\n    <DisplayName>JsonDataSetReaderMessageDataType</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=69</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=8252</Reference>\n    </References>\n    <Value>\n      <String xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">//xs:element[@name='JsonDataSetReaderMessageDataType']</String>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"i=17473\" BrowseName=\"DatagramConnectionTransportDataType\" ReleaseStatus=\"Deprecated\" ParentNodeId=\"i=8252\" DataType=\"String\">\n    <DisplayName>DatagramConnectionTransportDataType</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=69</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=8252</Reference>\n    </References>\n    <Value>\n      <String xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">//xs:element[@name='DatagramConnectionTransportDataType']</String>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"i=21195\" BrowseName=\"DatagramWriterGroupTransportDataType\" ReleaseStatus=\"Deprecated\" ParentNodeId=\"i=8252\" DataType=\"String\">\n    <DisplayName>DatagramWriterGroupTransportDataType</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=69</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=8252</Reference>\n    </References>\n    <Value>\n      <String xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">//xs:element[@name='DatagramWriterGroupTransportDataType']</String>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"i=15640\" BrowseName=\"BrokerConnectionTransportDataType\" ReleaseStatus=\"Deprecated\" ParentNodeId=\"i=8252\" DataType=\"String\">\n    <DisplayName>BrokerConnectionTransportDataType</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=69</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=8252</Reference>\n    </References>\n    <Value>\n      <String xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">//xs:element[@name='BrokerConnectionTransportDataType']</String>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"i=16125\" BrowseName=\"BrokerWriterGroupTransportDataType\" ReleaseStatus=\"Deprecated\" ParentNodeId=\"i=8252\" DataType=\"String\">\n    <DisplayName>BrokerWriterGroupTransportDataType</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=69</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=8252</Reference>\n    </References>\n    <Value>\n      <String xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">//xs:element[@name='BrokerWriterGroupTransportDataType']</String>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"i=16144\" BrowseName=\"BrokerDataSetWriterTransportDataType\" ReleaseStatus=\"Deprecated\" ParentNodeId=\"i=8252\" DataType=\"String\">\n    <DisplayName>BrokerDataSetWriterTransportDataType</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=69</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=8252</Reference>\n    </References>\n    <Value>\n      <String xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">//xs:element[@name='BrokerDataSetWriterTransportDataType']</String>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"i=16147\" BrowseName=\"BrokerDataSetReaderTransportDataType\" ReleaseStatus=\"Deprecated\" ParentNodeId=\"i=8252\" DataType=\"String\">\n    <DisplayName>BrokerDataSetReaderTransportDataType</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=69</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=8252</Reference>\n    </References>\n    <Value>\n      <String xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">//xs:element[@name='BrokerDataSetReaderTransportDataType']</String>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"i=23508\" BrowseName=\"AliasNameDataType\" ReleaseStatus=\"Deprecated\" ParentNodeId=\"i=8252\" DataType=\"String\">\n    <DisplayName>AliasNameDataType</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=69</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=8252</Reference>\n    </References>\n    <Value>\n      <String xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">//xs:element[@name='AliasNameDataType']</String>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"i=24129\" BrowseName=\"UnsignedRationalNumber\" ReleaseStatus=\"Deprecated\" ParentNodeId=\"i=8252\" DataType=\"String\">\n    <DisplayName>UnsignedRationalNumber</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=69</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=8252</Reference>\n    </References>\n    <Value>\n      <String xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">//xs:element[@name='UnsignedRationalNumber']</String>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"i=16127\" BrowseName=\"RolePermissionType\" ReleaseStatus=\"Deprecated\" ParentNodeId=\"i=8252\" DataType=\"String\">\n    <DisplayName>RolePermissionType</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=69</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=8252</Reference>\n    </References>\n    <Value>\n      <String xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">//xs:element[@name='RolePermissionType']</String>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"i=18166\" BrowseName=\"DataTypeDefinition\" ReleaseStatus=\"Deprecated\" ParentNodeId=\"i=8252\" DataType=\"String\">\n    <DisplayName>DataTypeDefinition</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=69</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=8252</Reference>\n    </References>\n    <Value>\n      <String xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">//xs:element[@name='DataTypeDefinition']</String>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"i=18169\" BrowseName=\"StructureField\" ReleaseStatus=\"Deprecated\" ParentNodeId=\"i=8252\" DataType=\"String\">\n    <DisplayName>StructureField</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=69</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=8252</Reference>\n    </References>\n    <Value>\n      <String xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">//xs:element[@name='StructureField']</String>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"i=18172\" BrowseName=\"StructureDefinition\" ReleaseStatus=\"Deprecated\" ParentNodeId=\"i=8252\" DataType=\"String\">\n    <DisplayName>StructureDefinition</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=69</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=8252</Reference>\n    </References>\n    <Value>\n      <String xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">//xs:element[@name='StructureDefinition']</String>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"i=18175\" BrowseName=\"EnumDefinition\" ReleaseStatus=\"Deprecated\" ParentNodeId=\"i=8252\" DataType=\"String\">\n    <DisplayName>EnumDefinition</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=69</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=8252</Reference>\n    </References>\n    <Value>\n      <String xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">//xs:element[@name='EnumDefinition']</String>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"i=8285\" BrowseName=\"Argument\" ReleaseStatus=\"Deprecated\" ParentNodeId=\"i=8252\" DataType=\"String\">\n    <DisplayName>Argument</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=69</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=8252</Reference>\n    </References>\n    <Value>\n      <String xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">//xs:element[@name='Argument']</String>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"i=8291\" BrowseName=\"EnumValueType\" ReleaseStatus=\"Deprecated\" ParentNodeId=\"i=8252\" DataType=\"String\">\n    <DisplayName>EnumValueType</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=69</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=8252</Reference>\n    </References>\n    <Value>\n      <String xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">//xs:element[@name='EnumValueType']</String>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"i=14826\" BrowseName=\"EnumField\" ReleaseStatus=\"Deprecated\" ParentNodeId=\"i=8252\" DataType=\"String\">\n    <DisplayName>EnumField</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=69</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=8252</Reference>\n    </References>\n    <Value>\n      <String xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">//xs:element[@name='EnumField']</String>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"i=12759\" BrowseName=\"OptionSet\" ReleaseStatus=\"Deprecated\" ParentNodeId=\"i=8252\" DataType=\"String\">\n    <DisplayName>OptionSet</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=69</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=8252</Reference>\n    </References>\n    <Value>\n      <String xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">//xs:element[@name='OptionSet']</String>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"i=8918\" BrowseName=\"TimeZoneDataType\" ReleaseStatus=\"Deprecated\" ParentNodeId=\"i=8252\" DataType=\"String\">\n    <DisplayName>TimeZoneDataType</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=69</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=8252</Reference>\n    </References>\n    <Value>\n      <String xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">//xs:element[@name='TimeZoneDataType']</String>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"i=8300\" BrowseName=\"ApplicationDescription\" ReleaseStatus=\"Deprecated\" ParentNodeId=\"i=8252\" DataType=\"String\">\n    <DisplayName>ApplicationDescription</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=69</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=8252</Reference>\n    </References>\n    <Value>\n      <String xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">//xs:element[@name='ApplicationDescription']</String>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"i=12201\" BrowseName=\"ServerOnNetwork\" ReleaseStatus=\"Deprecated\" ParentNodeId=\"i=8252\" DataType=\"String\">\n    <DisplayName>ServerOnNetwork</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=69</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=8252</Reference>\n    </References>\n    <Value>\n      <String xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">//xs:element[@name='ServerOnNetwork']</String>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"i=8297\" BrowseName=\"UserTokenPolicy\" ReleaseStatus=\"Deprecated\" ParentNodeId=\"i=8252\" DataType=\"String\">\n    <DisplayName>UserTokenPolicy</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=69</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=8252</Reference>\n    </References>\n    <Value>\n      <String xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">//xs:element[@name='UserTokenPolicy']</String>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"i=8303\" BrowseName=\"EndpointDescription\" ReleaseStatus=\"Deprecated\" ParentNodeId=\"i=8252\" DataType=\"String\">\n    <DisplayName>EndpointDescription</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=69</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=8252</Reference>\n    </References>\n    <Value>\n      <String xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">//xs:element[@name='EndpointDescription']</String>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"i=8417\" BrowseName=\"RegisteredServer\" ReleaseStatus=\"Deprecated\" ParentNodeId=\"i=8252\" DataType=\"String\">\n    <DisplayName>RegisteredServer</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=69</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=8252</Reference>\n    </References>\n    <Value>\n      <String xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">//xs:element[@name='RegisteredServer']</String>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"i=12894\" BrowseName=\"DiscoveryConfiguration\" ReleaseStatus=\"Deprecated\" ParentNodeId=\"i=8252\" DataType=\"String\">\n    <DisplayName>DiscoveryConfiguration</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=69</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=8252</Reference>\n    </References>\n    <Value>\n      <String xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">//xs:element[@name='DiscoveryConfiguration']</String>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"i=12897\" BrowseName=\"MdnsDiscoveryConfiguration\" ReleaseStatus=\"Deprecated\" ParentNodeId=\"i=8252\" DataType=\"String\">\n    <DisplayName>MdnsDiscoveryConfiguration</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=69</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=8252</Reference>\n    </References>\n    <Value>\n      <String xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">//xs:element[@name='MdnsDiscoveryConfiguration']</String>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"i=8333\" BrowseName=\"SignedSoftwareCertificate\" ReleaseStatus=\"Deprecated\" ParentNodeId=\"i=8252\" DataType=\"String\">\n    <DisplayName>SignedSoftwareCertificate</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=69</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=8252</Reference>\n    </References>\n    <Value>\n      <String xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">//xs:element[@name='SignedSoftwareCertificate']</String>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"i=8306\" BrowseName=\"UserIdentityToken\" ReleaseStatus=\"Deprecated\" ParentNodeId=\"i=8252\" DataType=\"String\">\n    <DisplayName>UserIdentityToken</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=69</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=8252</Reference>\n    </References>\n    <Value>\n      <String xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">//xs:element[@name='UserIdentityToken']</String>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"i=8309\" BrowseName=\"AnonymousIdentityToken\" ReleaseStatus=\"Deprecated\" ParentNodeId=\"i=8252\" DataType=\"String\">\n    <DisplayName>AnonymousIdentityToken</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=69</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=8252</Reference>\n    </References>\n    <Value>\n      <String xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">//xs:element[@name='AnonymousIdentityToken']</String>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"i=8312\" BrowseName=\"UserNameIdentityToken\" ReleaseStatus=\"Deprecated\" ParentNodeId=\"i=8252\" DataType=\"String\">\n    <DisplayName>UserNameIdentityToken</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=69</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=8252</Reference>\n    </References>\n    <Value>\n      <String xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">//xs:element[@name='UserNameIdentityToken']</String>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"i=8315\" BrowseName=\"X509IdentityToken\" ReleaseStatus=\"Deprecated\" ParentNodeId=\"i=8252\" DataType=\"String\">\n    <DisplayName>X509IdentityToken</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=69</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=8252</Reference>\n    </References>\n    <Value>\n      <String xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">//xs:element[@name='X509IdentityToken']</String>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"i=8318\" BrowseName=\"IssuedIdentityToken\" ReleaseStatus=\"Deprecated\" ParentNodeId=\"i=8252\" DataType=\"String\">\n    <DisplayName>IssuedIdentityToken</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=69</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=8252</Reference>\n    </References>\n    <Value>\n      <String xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">//xs:element[@name='IssuedIdentityToken']</String>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"i=8363\" BrowseName=\"AddNodesItem\" ReleaseStatus=\"Deprecated\" ParentNodeId=\"i=8252\" DataType=\"String\">\n    <DisplayName>AddNodesItem</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=69</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=8252</Reference>\n    </References>\n    <Value>\n      <String xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">//xs:element[@name='AddNodesItem']</String>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"i=8366\" BrowseName=\"AddReferencesItem\" ReleaseStatus=\"Deprecated\" ParentNodeId=\"i=8252\" DataType=\"String\">\n    <DisplayName>AddReferencesItem</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=69</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=8252</Reference>\n    </References>\n    <Value>\n      <String xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">//xs:element[@name='AddReferencesItem']</String>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"i=8369\" BrowseName=\"DeleteNodesItem\" ReleaseStatus=\"Deprecated\" ParentNodeId=\"i=8252\" DataType=\"String\">\n    <DisplayName>DeleteNodesItem</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=69</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=8252</Reference>\n    </References>\n    <Value>\n      <String xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">//xs:element[@name='DeleteNodesItem']</String>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"i=8372\" BrowseName=\"DeleteReferencesItem\" ReleaseStatus=\"Deprecated\" ParentNodeId=\"i=8252\" DataType=\"String\">\n    <DisplayName>DeleteReferencesItem</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=69</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=8252</Reference>\n    </References>\n    <Value>\n      <String xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">//xs:element[@name='DeleteReferencesItem']</String>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"i=12712\" BrowseName=\"RelativePathElement\" ReleaseStatus=\"Deprecated\" ParentNodeId=\"i=8252\" DataType=\"String\">\n    <DisplayName>RelativePathElement</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=69</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=8252</Reference>\n    </References>\n    <Value>\n      <String xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">//xs:element[@name='RelativePathElement']</String>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"i=12715\" BrowseName=\"RelativePath\" ReleaseStatus=\"Deprecated\" ParentNodeId=\"i=8252\" DataType=\"String\">\n    <DisplayName>RelativePath</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=69</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=8252</Reference>\n    </References>\n    <Value>\n      <String xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">//xs:element[@name='RelativePath']</String>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"i=8321\" BrowseName=\"EndpointConfiguration\" ReleaseStatus=\"Deprecated\" ParentNodeId=\"i=8252\" DataType=\"String\">\n    <DisplayName>EndpointConfiguration</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=69</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=8252</Reference>\n    </References>\n    <Value>\n      <String xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">//xs:element[@name='EndpointConfiguration']</String>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"i=8564\" BrowseName=\"ContentFilterElement\" ReleaseStatus=\"Deprecated\" ParentNodeId=\"i=8252\" DataType=\"String\">\n    <DisplayName>ContentFilterElement</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=69</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=8252</Reference>\n    </References>\n    <Value>\n      <String xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">//xs:element[@name='ContentFilterElement']</String>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"i=8567\" BrowseName=\"ContentFilter\" ReleaseStatus=\"Deprecated\" ParentNodeId=\"i=8252\" DataType=\"String\">\n    <DisplayName>ContentFilter</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=69</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=8252</Reference>\n    </References>\n    <Value>\n      <String xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">//xs:element[@name='ContentFilter']</String>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"i=8570\" BrowseName=\"FilterOperand\" ReleaseStatus=\"Deprecated\" ParentNodeId=\"i=8252\" DataType=\"String\">\n    <DisplayName>FilterOperand</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=69</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=8252</Reference>\n    </References>\n    <Value>\n      <String xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">//xs:element[@name='FilterOperand']</String>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"i=8573\" BrowseName=\"ElementOperand\" ReleaseStatus=\"Deprecated\" ParentNodeId=\"i=8252\" DataType=\"String\">\n    <DisplayName>ElementOperand</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=69</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=8252</Reference>\n    </References>\n    <Value>\n      <String xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">//xs:element[@name='ElementOperand']</String>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"i=8576\" BrowseName=\"LiteralOperand\" ReleaseStatus=\"Deprecated\" ParentNodeId=\"i=8252\" DataType=\"String\">\n    <DisplayName>LiteralOperand</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=69</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=8252</Reference>\n    </References>\n    <Value>\n      <String xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">//xs:element[@name='LiteralOperand']</String>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"i=8579\" BrowseName=\"AttributeOperand\" ReleaseStatus=\"Deprecated\" ParentNodeId=\"i=8252\" DataType=\"String\">\n    <DisplayName>AttributeOperand</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=69</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=8252</Reference>\n    </References>\n    <Value>\n      <String xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">//xs:element[@name='AttributeOperand']</String>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"i=8582\" BrowseName=\"SimpleAttributeOperand\" ReleaseStatus=\"Deprecated\" ParentNodeId=\"i=8252\" DataType=\"String\">\n    <DisplayName>SimpleAttributeOperand</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=69</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=8252</Reference>\n    </References>\n    <Value>\n      <String xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">//xs:element[@name='SimpleAttributeOperand']</String>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"i=8639\" BrowseName=\"HistoryEvent\" ReleaseStatus=\"Deprecated\" ParentNodeId=\"i=8252\" DataType=\"String\">\n    <DisplayName>HistoryEvent</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=69</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=8252</Reference>\n    </References>\n    <Value>\n      <String xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">//xs:element[@name='HistoryEvent']</String>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"i=8702\" BrowseName=\"MonitoringFilter\" ReleaseStatus=\"Deprecated\" ParentNodeId=\"i=8252\" DataType=\"String\">\n    <DisplayName>MonitoringFilter</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=69</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=8252</Reference>\n    </References>\n    <Value>\n      <String xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">//xs:element[@name='MonitoringFilter']</String>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"i=8708\" BrowseName=\"EventFilter\" ReleaseStatus=\"Deprecated\" ParentNodeId=\"i=8252\" DataType=\"String\">\n    <DisplayName>EventFilter</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=69</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=8252</Reference>\n    </References>\n    <Value>\n      <String xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">//xs:element[@name='EventFilter']</String>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"i=8711\" BrowseName=\"AggregateConfiguration\" ReleaseStatus=\"Deprecated\" ParentNodeId=\"i=8252\" DataType=\"String\">\n    <DisplayName>AggregateConfiguration</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=69</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=8252</Reference>\n    </References>\n    <Value>\n      <String xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">//xs:element[@name='AggregateConfiguration']</String>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"i=8807\" BrowseName=\"HistoryEventFieldList\" ReleaseStatus=\"Deprecated\" ParentNodeId=\"i=8252\" DataType=\"String\">\n    <DisplayName>HistoryEventFieldList</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=69</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=8252</Reference>\n    </References>\n    <Value>\n      <String xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">//xs:element[@name='HistoryEventFieldList']</String>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"i=8327\" BrowseName=\"BuildInfo\" ReleaseStatus=\"Deprecated\" ParentNodeId=\"i=8252\" DataType=\"String\">\n    <DisplayName>BuildInfo</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=69</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=8252</Reference>\n    </References>\n    <Value>\n      <String xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">//xs:element[@name='BuildInfo']</String>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"i=8843\" BrowseName=\"RedundantServerDataType\" ReleaseStatus=\"Deprecated\" ParentNodeId=\"i=8252\" DataType=\"String\">\n    <DisplayName>RedundantServerDataType</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=69</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=8252</Reference>\n    </References>\n    <Value>\n      <String xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">//xs:element[@name='RedundantServerDataType']</String>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"i=11951\" BrowseName=\"EndpointUrlListDataType\" ReleaseStatus=\"Deprecated\" ParentNodeId=\"i=8252\" DataType=\"String\">\n    <DisplayName>EndpointUrlListDataType</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=69</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=8252</Reference>\n    </References>\n    <Value>\n      <String xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">//xs:element[@name='EndpointUrlListDataType']</String>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"i=11954\" BrowseName=\"NetworkGroupDataType\" ReleaseStatus=\"Deprecated\" ParentNodeId=\"i=8252\" DataType=\"String\">\n    <DisplayName>NetworkGroupDataType</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=69</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=8252</Reference>\n    </References>\n    <Value>\n      <String xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">//xs:element[@name='NetworkGroupDataType']</String>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"i=8846\" BrowseName=\"SamplingIntervalDiagnosticsDataType\" ReleaseStatus=\"Deprecated\" ParentNodeId=\"i=8252\" DataType=\"String\">\n    <DisplayName>SamplingIntervalDiagnosticsDataType</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=69</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=8252</Reference>\n    </References>\n    <Value>\n      <String xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">//xs:element[@name='SamplingIntervalDiagnosticsDataType']</String>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"i=8849\" BrowseName=\"ServerDiagnosticsSummaryDataType\" ReleaseStatus=\"Deprecated\" ParentNodeId=\"i=8252\" DataType=\"String\">\n    <DisplayName>ServerDiagnosticsSummaryDataType</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=69</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=8252</Reference>\n    </References>\n    <Value>\n      <String xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">//xs:element[@name='ServerDiagnosticsSummaryDataType']</String>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"i=8852\" BrowseName=\"ServerStatusDataType\" ReleaseStatus=\"Deprecated\" ParentNodeId=\"i=8252\" DataType=\"String\">\n    <DisplayName>ServerStatusDataType</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=69</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=8252</Reference>\n    </References>\n    <Value>\n      <String xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">//xs:element[@name='ServerStatusDataType']</String>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"i=8855\" BrowseName=\"SessionDiagnosticsDataType\" ReleaseStatus=\"Deprecated\" ParentNodeId=\"i=8252\" DataType=\"String\">\n    <DisplayName>SessionDiagnosticsDataType</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=69</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=8252</Reference>\n    </References>\n    <Value>\n      <String xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">//xs:element[@name='SessionDiagnosticsDataType']</String>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"i=8858\" BrowseName=\"SessionSecurityDiagnosticsDataType\" ReleaseStatus=\"Deprecated\" ParentNodeId=\"i=8252\" DataType=\"String\">\n    <DisplayName>SessionSecurityDiagnosticsDataType</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=69</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=8252</Reference>\n    </References>\n    <Value>\n      <String xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">//xs:element[@name='SessionSecurityDiagnosticsDataType']</String>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"i=8861\" BrowseName=\"ServiceCounterDataType\" ReleaseStatus=\"Deprecated\" ParentNodeId=\"i=8252\" DataType=\"String\">\n    <DisplayName>ServiceCounterDataType</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=69</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=8252</Reference>\n    </References>\n    <Value>\n      <String xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">//xs:element[@name='ServiceCounterDataType']</String>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"i=8294\" BrowseName=\"StatusResult\" ReleaseStatus=\"Deprecated\" ParentNodeId=\"i=8252\" DataType=\"String\">\n    <DisplayName>StatusResult</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=69</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=8252</Reference>\n    </References>\n    <Value>\n      <String xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">//xs:element[@name='StatusResult']</String>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"i=8864\" BrowseName=\"SubscriptionDiagnosticsDataType\" ReleaseStatus=\"Deprecated\" ParentNodeId=\"i=8252\" DataType=\"String\">\n    <DisplayName>SubscriptionDiagnosticsDataType</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=69</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=8252</Reference>\n    </References>\n    <Value>\n      <String xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">//xs:element[@name='SubscriptionDiagnosticsDataType']</String>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"i=8867\" BrowseName=\"ModelChangeStructureDataType\" ReleaseStatus=\"Deprecated\" ParentNodeId=\"i=8252\" DataType=\"String\">\n    <DisplayName>ModelChangeStructureDataType</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=69</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=8252</Reference>\n    </References>\n    <Value>\n      <String xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">//xs:element[@name='ModelChangeStructureDataType']</String>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"i=8870\" BrowseName=\"SemanticChangeStructureDataType\" ReleaseStatus=\"Deprecated\" ParentNodeId=\"i=8252\" DataType=\"String\">\n    <DisplayName>SemanticChangeStructureDataType</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=69</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=8252</Reference>\n    </References>\n    <Value>\n      <String xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">//xs:element[@name='SemanticChangeStructureDataType']</String>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"i=8873\" BrowseName=\"Range\" ReleaseStatus=\"Deprecated\" ParentNodeId=\"i=8252\" DataType=\"String\">\n    <DisplayName>Range</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=69</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=8252</Reference>\n    </References>\n    <Value>\n      <String xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">//xs:element[@name='Range']</String>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"i=8876\" BrowseName=\"EUInformation\" ReleaseStatus=\"Deprecated\" ParentNodeId=\"i=8252\" DataType=\"String\">\n    <DisplayName>EUInformation</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=69</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=8252</Reference>\n    </References>\n    <Value>\n      <String xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">//xs:element[@name='EUInformation']</String>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"i=12175\" BrowseName=\"ComplexNumberType\" ReleaseStatus=\"Deprecated\" ParentNodeId=\"i=8252\" DataType=\"String\">\n    <DisplayName>ComplexNumberType</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=69</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=8252</Reference>\n    </References>\n    <Value>\n      <String xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">//xs:element[@name='ComplexNumberType']</String>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"i=12178\" BrowseName=\"DoubleComplexNumberType\" ReleaseStatus=\"Deprecated\" ParentNodeId=\"i=8252\" DataType=\"String\">\n    <DisplayName>DoubleComplexNumberType</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=69</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=8252</Reference>\n    </References>\n    <Value>\n      <String xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">//xs:element[@name='DoubleComplexNumberType']</String>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"i=12083\" BrowseName=\"AxisInformation\" ReleaseStatus=\"Deprecated\" ParentNodeId=\"i=8252\" DataType=\"String\">\n    <DisplayName>AxisInformation</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=69</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=8252</Reference>\n    </References>\n    <Value>\n      <String xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">//xs:element[@name='AxisInformation']</String>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"i=12086\" BrowseName=\"XVType\" ReleaseStatus=\"Deprecated\" ParentNodeId=\"i=8252\" DataType=\"String\">\n    <DisplayName>XVType</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=69</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=8252</Reference>\n    </References>\n    <Value>\n      <String xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">//xs:element[@name='XVType']</String>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"i=8882\" BrowseName=\"ProgramDiagnosticDataType\" ReleaseStatus=\"Deprecated\" ParentNodeId=\"i=8252\" DataType=\"String\">\n    <DisplayName>ProgramDiagnosticDataType</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=69</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=8252</Reference>\n    </References>\n    <Value>\n      <String xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">//xs:element[@name='ProgramDiagnosticDataType']</String>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"i=24039\" BrowseName=\"ProgramDiagnostic2DataType\" ReleaseStatus=\"Deprecated\" ParentNodeId=\"i=8252\" DataType=\"String\">\n    <DisplayName>ProgramDiagnostic2DataType</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=69</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=8252</Reference>\n    </References>\n    <Value>\n      <String xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">//xs:element[@name='ProgramDiagnostic2DataType']</String>\n    </Value>\n  </UAVariable>\n  <UAVariable NodeId=\"i=8879\" BrowseName=\"Annotation\" ReleaseStatus=\"Deprecated\" ParentNodeId=\"i=8252\" DataType=\"String\">\n    <DisplayName>Annotation</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=69</Reference>\n      <Reference ReferenceType=\"HasComponent\" IsForward=\"false\">i=8252</Reference>\n    </References>\n    <Value>\n      <String xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">//xs:element[@name='Annotation']</String>\n    </Value>\n  </UAVariable>\n  <UAObject NodeId=\"i=15085\" BrowseName=\"Default JSON\" SymbolicName=\"DefaultJson\">\n    <DisplayName>Default JSON</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasEncoding\" IsForward=\"false\">i=12756</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=76</Reference>\n    </References>\n  </UAObject>\n  <UAObject NodeId=\"i=15041\" BrowseName=\"Default JSON\" SymbolicName=\"DefaultJson\">\n    <DisplayName>Default JSON</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasEncoding\" IsForward=\"false\">i=14533</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=76</Reference>\n    </References>\n  </UAObject>\n  <UAObject NodeId=\"i=17547\" BrowseName=\"Default JSON\" SymbolicName=\"DefaultJson\">\n    <DisplayName>Default JSON</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasEncoding\" IsForward=\"false\">i=16313</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=76</Reference>\n    </References>\n  </UAObject>\n  <UAObject NodeId=\"i=17557\" BrowseName=\"Default JSON\" SymbolicName=\"DefaultJson\">\n    <DisplayName>Default JSON</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasEncoding\" IsForward=\"false\">i=17548</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=76</Reference>\n    </References>\n  </UAObject>\n  <UAObject NodeId=\"i=16150\" BrowseName=\"Default JSON\" SymbolicName=\"DefaultJson\">\n    <DisplayName>Default JSON</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasEncoding\" IsForward=\"false\">i=15528</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=76</Reference>\n    </References>\n  </UAObject>\n  <UAObject NodeId=\"i=19064\" BrowseName=\"Default JSON\" SymbolicName=\"DefaultJson\">\n    <DisplayName>Default JSON</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasEncoding\" IsForward=\"false\">i=18806</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=76</Reference>\n    </References>\n  </UAObject>\n  <UAObject NodeId=\"i=19065\" BrowseName=\"Default JSON\" SymbolicName=\"DefaultJson\">\n    <DisplayName>Default JSON</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasEncoding\" IsForward=\"false\">i=18807</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=76</Reference>\n    </References>\n  </UAObject>\n  <UAObject NodeId=\"i=19066\" BrowseName=\"Default JSON\" SymbolicName=\"DefaultJson\">\n    <DisplayName>Default JSON</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasEncoding\" IsForward=\"false\">i=18808</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=76</Reference>\n    </References>\n  </UAObject>\n  <UAObject NodeId=\"i=19067\" BrowseName=\"Default JSON\" SymbolicName=\"DefaultJson\">\n    <DisplayName>Default JSON</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasEncoding\" IsForward=\"false\">i=18809</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=76</Reference>\n    </References>\n  </UAObject>\n  <UAObject NodeId=\"i=19068\" BrowseName=\"Default JSON\" SymbolicName=\"DefaultJson\">\n    <DisplayName>Default JSON</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasEncoding\" IsForward=\"false\">i=18810</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=76</Reference>\n    </References>\n  </UAObject>\n  <UAObject NodeId=\"i=19069\" BrowseName=\"Default JSON\" SymbolicName=\"DefaultJson\">\n    <DisplayName>Default JSON</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasEncoding\" IsForward=\"false\">i=18811</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=76</Reference>\n    </References>\n  </UAObject>\n  <UAObject NodeId=\"i=19070\" BrowseName=\"Default JSON\" SymbolicName=\"DefaultJson\">\n    <DisplayName>Default JSON</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasEncoding\" IsForward=\"false\">i=18812</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=76</Reference>\n    </References>\n  </UAObject>\n  <UAObject NodeId=\"i=19071\" BrowseName=\"Default JSON\" SymbolicName=\"DefaultJson\">\n    <DisplayName>Default JSON</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasEncoding\" IsForward=\"false\">i=18813</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=76</Reference>\n    </References>\n  </UAObject>\n  <UAObject NodeId=\"i=19072\" BrowseName=\"Default JSON\" SymbolicName=\"DefaultJson\">\n    <DisplayName>Default JSON</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasEncoding\" IsForward=\"false\">i=18814</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=76</Reference>\n    </References>\n  </UAObject>\n  <UAObject NodeId=\"i=15042\" BrowseName=\"Default JSON\" SymbolicName=\"DefaultJson\">\n    <DisplayName>Default JSON</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasEncoding\" IsForward=\"false\">i=15634</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=76</Reference>\n    </References>\n  </UAObject>\n  <UAObject NodeId=\"i=23528\" BrowseName=\"Default JSON\" SymbolicName=\"DefaultJson\">\n    <DisplayName>Default JSON</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasEncoding\" IsForward=\"false\">i=23498</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=76</Reference>\n    </References>\n  </UAObject>\n  <UAObject NodeId=\"i=15044\" BrowseName=\"Default JSON\" SymbolicName=\"DefaultJson\">\n    <DisplayName>Default JSON</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasEncoding\" IsForward=\"false\">i=12554</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=76</Reference>\n    </References>\n  </UAObject>\n  <UAObject NodeId=\"i=16151\" BrowseName=\"Default JSON\" SymbolicName=\"DefaultJson\">\n    <DisplayName>Default JSON</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasEncoding\" IsForward=\"false\">i=15534</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=76</Reference>\n    </References>\n  </UAObject>\n  <UAObject NodeId=\"i=15057\" BrowseName=\"Default JSON\" SymbolicName=\"DefaultJson\">\n    <DisplayName>Default JSON</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasEncoding\" IsForward=\"false\">i=14525</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=76</Reference>\n    </References>\n  </UAObject>\n  <UAObject NodeId=\"i=15058\" BrowseName=\"Default JSON\" SymbolicName=\"DefaultJson\">\n    <DisplayName>Default JSON</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasEncoding\" IsForward=\"false\">i=15487</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=76</Reference>\n    </References>\n  </UAObject>\n  <UAObject NodeId=\"i=15059\" BrowseName=\"Default JSON\" SymbolicName=\"DefaultJson\">\n    <DisplayName>Default JSON</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasEncoding\" IsForward=\"false\">i=15488</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=76</Reference>\n    </References>\n  </UAObject>\n  <UAObject NodeId=\"i=15700\" BrowseName=\"Default JSON\" SymbolicName=\"DefaultJson\">\n    <DisplayName>Default JSON</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasEncoding\" IsForward=\"false\">i=15005</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=76</Reference>\n    </References>\n  </UAObject>\n  <UAObject NodeId=\"i=15714\" BrowseName=\"Default JSON\" SymbolicName=\"DefaultJson\">\n    <DisplayName>Default JSON</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasEncoding\" IsForward=\"false\">i=15006</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=76</Reference>\n    </References>\n  </UAObject>\n  <UAObject NodeId=\"i=15050\" BrowseName=\"Default JSON\" SymbolicName=\"DefaultJson\">\n    <DisplayName>Default JSON</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasEncoding\" IsForward=\"false\">i=14523</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=76</Reference>\n    </References>\n  </UAObject>\n  <UAObject NodeId=\"i=15051\" BrowseName=\"Default JSON\" SymbolicName=\"DefaultJson\">\n    <DisplayName>Default JSON</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasEncoding\" IsForward=\"false\">i=14524</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=76</Reference>\n    </References>\n  </UAObject>\n  <UAObject NodeId=\"i=15049\" BrowseName=\"Default JSON\" SymbolicName=\"DefaultJson\">\n    <DisplayName>Default JSON</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasEncoding\" IsForward=\"false\">i=14593</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=76</Reference>\n    </References>\n  </UAObject>\n  <UAObject NodeId=\"i=16152\" BrowseName=\"Default JSON\" SymbolicName=\"DefaultJson\">\n    <DisplayName>Default JSON</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasEncoding\" IsForward=\"false\">i=15578</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=76</Reference>\n    </References>\n  </UAObject>\n  <UAObject NodeId=\"i=16153\" BrowseName=\"Default JSON\" SymbolicName=\"DefaultJson\">\n    <DisplayName>Default JSON</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasEncoding\" IsForward=\"false\">i=15580</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=76</Reference>\n    </References>\n  </UAObject>\n  <UAObject NodeId=\"i=15060\" BrowseName=\"Default JSON\" SymbolicName=\"DefaultJson\">\n    <DisplayName>Default JSON</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasEncoding\" IsForward=\"false\">i=14273</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=76</Reference>\n    </References>\n  </UAObject>\n  <UAObject NodeId=\"i=16154\" BrowseName=\"Default JSON\" SymbolicName=\"DefaultJson\">\n    <DisplayName>Default JSON</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasEncoding\" IsForward=\"false\">i=15581</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=76</Reference>\n    </References>\n  </UAObject>\n  <UAObject NodeId=\"i=16155\" BrowseName=\"Default JSON\" SymbolicName=\"DefaultJson\">\n    <DisplayName>Default JSON</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasEncoding\" IsForward=\"false\">i=15582</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=76</Reference>\n    </References>\n  </UAObject>\n  <UAObject NodeId=\"i=16156\" BrowseName=\"Default JSON\" SymbolicName=\"DefaultJson\">\n    <DisplayName>Default JSON</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasEncoding\" IsForward=\"false\">i=15597</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=76</Reference>\n    </References>\n  </UAObject>\n  <UAObject NodeId=\"i=16157\" BrowseName=\"Default JSON\" SymbolicName=\"DefaultJson\">\n    <DisplayName>Default JSON</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasEncoding\" IsForward=\"false\">i=15598</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=76</Reference>\n    </References>\n  </UAObject>\n  <UAObject NodeId=\"i=16158\" BrowseName=\"Default JSON\" SymbolicName=\"DefaultJson\">\n    <DisplayName>Default JSON</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasEncoding\" IsForward=\"false\">i=15605</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=76</Reference>\n    </References>\n  </UAObject>\n  <UAObject NodeId=\"i=16159\" BrowseName=\"Default JSON\" SymbolicName=\"DefaultJson\">\n    <DisplayName>Default JSON</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasEncoding\" IsForward=\"false\">i=15609</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=76</Reference>\n    </References>\n  </UAObject>\n  <UAObject NodeId=\"i=21198\" BrowseName=\"Default JSON\" SymbolicName=\"DefaultJson\">\n    <DisplayName>Default JSON</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasEncoding\" IsForward=\"false\">i=15480</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=76</Reference>\n    </References>\n  </UAObject>\n  <UAObject NodeId=\"i=16161\" BrowseName=\"Default JSON\" SymbolicName=\"DefaultJson\">\n    <DisplayName>Default JSON</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasEncoding\" IsForward=\"false\">i=15611</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=76</Reference>\n    </References>\n  </UAObject>\n  <UAObject NodeId=\"i=16280\" BrowseName=\"Default JSON\" SymbolicName=\"DefaultJson\">\n    <DisplayName>Default JSON</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasEncoding\" IsForward=\"false\">i=15616</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=76</Reference>\n    </References>\n  </UAObject>\n  <UAObject NodeId=\"i=16281\" BrowseName=\"Default JSON\" SymbolicName=\"DefaultJson\">\n    <DisplayName>Default JSON</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasEncoding\" IsForward=\"false\">i=15617</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=76</Reference>\n    </References>\n  </UAObject>\n  <UAObject NodeId=\"i=16282\" BrowseName=\"Default JSON\" SymbolicName=\"DefaultJson\">\n    <DisplayName>Default JSON</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasEncoding\" IsForward=\"false\">i=15618</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=76</Reference>\n    </References>\n  </UAObject>\n  <UAObject NodeId=\"i=21199\" BrowseName=\"Default JSON\" SymbolicName=\"DefaultJson\">\n    <DisplayName>Default JSON</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasEncoding\" IsForward=\"false\">i=15502</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=76</Reference>\n    </References>\n  </UAObject>\n  <UAObject NodeId=\"i=21200\" BrowseName=\"Default JSON\" SymbolicName=\"DefaultJson\">\n    <DisplayName>Default JSON</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasEncoding\" IsForward=\"false\">i=15510</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=76</Reference>\n    </References>\n  </UAObject>\n  <UAObject NodeId=\"i=21201\" BrowseName=\"Default JSON\" SymbolicName=\"DefaultJson\">\n    <DisplayName>Default JSON</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasEncoding\" IsForward=\"false\">i=15520</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=76</Reference>\n    </References>\n  </UAObject>\n  <UAObject NodeId=\"i=16284\" BrowseName=\"Default JSON\" SymbolicName=\"DefaultJson\">\n    <DisplayName>Default JSON</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasEncoding\" IsForward=\"false\">i=15621</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=76</Reference>\n    </References>\n  </UAObject>\n  <UAObject NodeId=\"i=16285\" BrowseName=\"Default JSON\" SymbolicName=\"DefaultJson\">\n    <DisplayName>Default JSON</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasEncoding\" IsForward=\"false\">i=15622</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=76</Reference>\n    </References>\n  </UAObject>\n  <UAObject NodeId=\"i=16286\" BrowseName=\"Default JSON\" SymbolicName=\"DefaultJson\">\n    <DisplayName>Default JSON</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasEncoding\" IsForward=\"false\">i=15623</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=76</Reference>\n    </References>\n  </UAObject>\n  <UAObject NodeId=\"i=16287\" BrowseName=\"Default JSON\" SymbolicName=\"DefaultJson\">\n    <DisplayName>Default JSON</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasEncoding\" IsForward=\"false\">i=15628</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=76</Reference>\n    </References>\n  </UAObject>\n  <UAObject NodeId=\"i=16288\" BrowseName=\"Default JSON\" SymbolicName=\"DefaultJson\">\n    <DisplayName>Default JSON</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasEncoding\" IsForward=\"false\">i=15629</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=76</Reference>\n    </References>\n  </UAObject>\n  <UAObject NodeId=\"i=16308\" BrowseName=\"Default JSON\" SymbolicName=\"DefaultJson\">\n    <DisplayName>Default JSON</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasEncoding\" IsForward=\"false\">i=15630</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=76</Reference>\n    </References>\n  </UAObject>\n  <UAObject NodeId=\"i=16310\" BrowseName=\"Default JSON\" SymbolicName=\"DefaultJson\">\n    <DisplayName>Default JSON</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasEncoding\" IsForward=\"false\">i=15631</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=76</Reference>\n    </References>\n  </UAObject>\n  <UAObject NodeId=\"i=15061\" BrowseName=\"Default JSON\" SymbolicName=\"DefaultJson\">\n    <DisplayName>Default JSON</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasEncoding\" IsForward=\"false\">i=14744</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=76</Reference>\n    </References>\n  </UAObject>\n  <UAObject NodeId=\"i=16311\" BrowseName=\"Default JSON\" SymbolicName=\"DefaultJson\">\n    <DisplayName>Default JSON</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasEncoding\" IsForward=\"false\">i=15635</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=76</Reference>\n    </References>\n  </UAObject>\n  <UAObject NodeId=\"i=21202\" BrowseName=\"Default JSON\" SymbolicName=\"DefaultJson\">\n    <DisplayName>Default JSON</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasEncoding\" IsForward=\"false\">i=15530</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=76</Reference>\n    </References>\n  </UAObject>\n  <UAObject NodeId=\"i=16323\" BrowseName=\"Default JSON\" SymbolicName=\"DefaultJson\">\n    <DisplayName>Default JSON</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasEncoding\" IsForward=\"false\">i=15645</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=76</Reference>\n    </References>\n  </UAObject>\n  <UAObject NodeId=\"i=16391\" BrowseName=\"Default JSON\" SymbolicName=\"DefaultJson\">\n    <DisplayName>Default JSON</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasEncoding\" IsForward=\"false\">i=15652</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=76</Reference>\n    </References>\n  </UAObject>\n  <UAObject NodeId=\"i=16392\" BrowseName=\"Default JSON\" SymbolicName=\"DefaultJson\">\n    <DisplayName>Default JSON</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasEncoding\" IsForward=\"false\">i=15653</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=76</Reference>\n    </References>\n  </UAObject>\n  <UAObject NodeId=\"i=16393\" BrowseName=\"Default JSON\" SymbolicName=\"DefaultJson\">\n    <DisplayName>Default JSON</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasEncoding\" IsForward=\"false\">i=15657</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=76</Reference>\n    </References>\n  </UAObject>\n  <UAObject NodeId=\"i=16394\" BrowseName=\"Default JSON\" SymbolicName=\"DefaultJson\">\n    <DisplayName>Default JSON</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasEncoding\" IsForward=\"false\">i=15664</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=76</Reference>\n    </References>\n  </UAObject>\n  <UAObject NodeId=\"i=16404\" BrowseName=\"Default JSON\" SymbolicName=\"DefaultJson\">\n    <DisplayName>Default JSON</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasEncoding\" IsForward=\"false\">i=15665</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=76</Reference>\n    </References>\n  </UAObject>\n  <UAObject NodeId=\"i=17476\" BrowseName=\"Default JSON\" SymbolicName=\"DefaultJson\">\n    <DisplayName>Default JSON</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasEncoding\" IsForward=\"false\">i=17467</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=76</Reference>\n    </References>\n  </UAObject>\n  <UAObject NodeId=\"i=21203\" BrowseName=\"Default JSON\" SymbolicName=\"DefaultJson\">\n    <DisplayName>Default JSON</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasEncoding\" IsForward=\"false\">i=15532</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=76</Reference>\n    </References>\n  </UAObject>\n  <UAObject NodeId=\"i=15726\" BrowseName=\"Default JSON\" SymbolicName=\"DefaultJson\">\n    <DisplayName>Default JSON</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasEncoding\" IsForward=\"false\">i=15007</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=76</Reference>\n    </References>\n  </UAObject>\n  <UAObject NodeId=\"i=16524\" BrowseName=\"Default JSON\" SymbolicName=\"DefaultJson\">\n    <DisplayName>Default JSON</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasEncoding\" IsForward=\"false\">i=15667</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=76</Reference>\n    </References>\n  </UAObject>\n  <UAObject NodeId=\"i=16525\" BrowseName=\"Default JSON\" SymbolicName=\"DefaultJson\">\n    <DisplayName>Default JSON</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasEncoding\" IsForward=\"false\">i=15669</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=76</Reference>\n    </References>\n  </UAObject>\n  <UAObject NodeId=\"i=16526\" BrowseName=\"Default JSON\" SymbolicName=\"DefaultJson\">\n    <DisplayName>Default JSON</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasEncoding\" IsForward=\"false\">i=15670</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=76</Reference>\n    </References>\n  </UAObject>\n  <UAObject NodeId=\"i=23511\" BrowseName=\"Default JSON\" SymbolicName=\"DefaultJson\">\n    <DisplayName>Default JSON</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasEncoding\" IsForward=\"false\">i=23468</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=76</Reference>\n    </References>\n  </UAObject>\n  <UAObject NodeId=\"i=24134\" BrowseName=\"Default JSON\" SymbolicName=\"DefaultJson\">\n    <DisplayName>Default JSON</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasEncoding\" IsForward=\"false\">i=24107</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=76</Reference>\n    </References>\n  </UAObject>\n  <UAObject NodeId=\"i=15062\" BrowseName=\"Default JSON\" SymbolicName=\"DefaultJson\">\n    <DisplayName>Default JSON</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasEncoding\" IsForward=\"false\">i=96</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=76</Reference>\n    </References>\n  </UAObject>\n  <UAObject NodeId=\"i=15063\" BrowseName=\"Default JSON\" SymbolicName=\"DefaultJson\">\n    <DisplayName>Default JSON</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasEncoding\" IsForward=\"false\">i=97</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=76</Reference>\n    </References>\n  </UAObject>\n  <UAObject NodeId=\"i=15065\" BrowseName=\"Default JSON\" SymbolicName=\"DefaultJson\">\n    <DisplayName>Default JSON</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasEncoding\" IsForward=\"false\">i=101</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=76</Reference>\n    </References>\n  </UAObject>\n  <UAObject NodeId=\"i=15066\" BrowseName=\"Default JSON\" SymbolicName=\"DefaultJson\">\n    <DisplayName>Default JSON</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasEncoding\" IsForward=\"false\">i=99</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=76</Reference>\n    </References>\n  </UAObject>\n  <UAObject NodeId=\"i=15067\" BrowseName=\"Default JSON\" SymbolicName=\"DefaultJson\">\n    <DisplayName>Default JSON</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasEncoding\" IsForward=\"false\">i=100</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=76</Reference>\n    </References>\n  </UAObject>\n  <UAObject NodeId=\"i=15081\" BrowseName=\"Default JSON\" SymbolicName=\"DefaultJson\">\n    <DisplayName>Default JSON</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasEncoding\" IsForward=\"false\">i=296</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=76</Reference>\n    </References>\n  </UAObject>\n  <UAObject NodeId=\"i=15082\" BrowseName=\"Default JSON\" SymbolicName=\"DefaultJson\">\n    <DisplayName>Default JSON</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasEncoding\" IsForward=\"false\">i=7594</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=76</Reference>\n    </References>\n  </UAObject>\n  <UAObject NodeId=\"i=15083\" BrowseName=\"Default JSON\" SymbolicName=\"DefaultJson\">\n    <DisplayName>Default JSON</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasEncoding\" IsForward=\"false\">i=102</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=76</Reference>\n    </References>\n  </UAObject>\n  <UAObject NodeId=\"i=15084\" BrowseName=\"Default JSON\" SymbolicName=\"DefaultJson\">\n    <DisplayName>Default JSON</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasEncoding\" IsForward=\"false\">i=12755</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=76</Reference>\n    </References>\n  </UAObject>\n  <UAObject NodeId=\"i=15086\" BrowseName=\"Default JSON\" SymbolicName=\"DefaultJson\">\n    <DisplayName>Default JSON</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasEncoding\" IsForward=\"false\">i=8912</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=76</Reference>\n    </References>\n  </UAObject>\n  <UAObject NodeId=\"i=15087\" BrowseName=\"Default JSON\" SymbolicName=\"DefaultJson\">\n    <DisplayName>Default JSON</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasEncoding\" IsForward=\"false\">i=308</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=76</Reference>\n    </References>\n  </UAObject>\n  <UAObject NodeId=\"i=15095\" BrowseName=\"Default JSON\" SymbolicName=\"DefaultJson\">\n    <DisplayName>Default JSON</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasEncoding\" IsForward=\"false\">i=12189</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=76</Reference>\n    </References>\n  </UAObject>\n  <UAObject NodeId=\"i=15098\" BrowseName=\"Default JSON\" SymbolicName=\"DefaultJson\">\n    <DisplayName>Default JSON</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasEncoding\" IsForward=\"false\">i=304</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=76</Reference>\n    </References>\n  </UAObject>\n  <UAObject NodeId=\"i=15099\" BrowseName=\"Default JSON\" SymbolicName=\"DefaultJson\">\n    <DisplayName>Default JSON</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasEncoding\" IsForward=\"false\">i=312</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=76</Reference>\n    </References>\n  </UAObject>\n  <UAObject NodeId=\"i=15102\" BrowseName=\"Default JSON\" SymbolicName=\"DefaultJson\">\n    <DisplayName>Default JSON</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasEncoding\" IsForward=\"false\">i=432</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=76</Reference>\n    </References>\n  </UAObject>\n  <UAObject NodeId=\"i=15105\" BrowseName=\"Default JSON\" SymbolicName=\"DefaultJson\">\n    <DisplayName>Default JSON</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasEncoding\" IsForward=\"false\">i=12890</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=76</Reference>\n    </References>\n  </UAObject>\n  <UAObject NodeId=\"i=15106\" BrowseName=\"Default JSON\" SymbolicName=\"DefaultJson\">\n    <DisplayName>Default JSON</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasEncoding\" IsForward=\"false\">i=12891</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=76</Reference>\n    </References>\n  </UAObject>\n  <UAObject NodeId=\"i=15136\" BrowseName=\"Default JSON\" SymbolicName=\"DefaultJson\">\n    <DisplayName>Default JSON</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasEncoding\" IsForward=\"false\">i=344</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=76</Reference>\n    </References>\n  </UAObject>\n  <UAObject NodeId=\"i=15140\" BrowseName=\"Default JSON\" SymbolicName=\"DefaultJson\">\n    <DisplayName>Default JSON</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasEncoding\" IsForward=\"false\">i=316</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=76</Reference>\n    </References>\n  </UAObject>\n  <UAObject NodeId=\"i=15141\" BrowseName=\"Default JSON\" SymbolicName=\"DefaultJson\">\n    <DisplayName>Default JSON</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasEncoding\" IsForward=\"false\">i=319</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=76</Reference>\n    </References>\n  </UAObject>\n  <UAObject NodeId=\"i=15142\" BrowseName=\"Default JSON\" SymbolicName=\"DefaultJson\">\n    <DisplayName>Default JSON</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasEncoding\" IsForward=\"false\">i=322</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=76</Reference>\n    </References>\n  </UAObject>\n  <UAObject NodeId=\"i=15143\" BrowseName=\"Default JSON\" SymbolicName=\"DefaultJson\">\n    <DisplayName>Default JSON</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasEncoding\" IsForward=\"false\">i=325</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=76</Reference>\n    </References>\n  </UAObject>\n  <UAObject NodeId=\"i=15144\" BrowseName=\"Default JSON\" SymbolicName=\"DefaultJson\">\n    <DisplayName>Default JSON</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasEncoding\" IsForward=\"false\">i=938</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=76</Reference>\n    </References>\n  </UAObject>\n  <UAObject NodeId=\"i=15165\" BrowseName=\"Default JSON\" SymbolicName=\"DefaultJson\">\n    <DisplayName>Default JSON</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasEncoding\" IsForward=\"false\">i=376</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=76</Reference>\n    </References>\n  </UAObject>\n  <UAObject NodeId=\"i=15169\" BrowseName=\"Default JSON\" SymbolicName=\"DefaultJson\">\n    <DisplayName>Default JSON</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasEncoding\" IsForward=\"false\">i=379</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=76</Reference>\n    </References>\n  </UAObject>\n  <UAObject NodeId=\"i=15172\" BrowseName=\"Default JSON\" SymbolicName=\"DefaultJson\">\n    <DisplayName>Default JSON</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasEncoding\" IsForward=\"false\">i=382</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=76</Reference>\n    </References>\n  </UAObject>\n  <UAObject NodeId=\"i=15175\" BrowseName=\"Default JSON\" SymbolicName=\"DefaultJson\">\n    <DisplayName>Default JSON</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasEncoding\" IsForward=\"false\">i=385</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=76</Reference>\n    </References>\n  </UAObject>\n  <UAObject NodeId=\"i=15188\" BrowseName=\"Default JSON\" SymbolicName=\"DefaultJson\">\n    <DisplayName>Default JSON</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasEncoding\" IsForward=\"false\">i=537</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=76</Reference>\n    </References>\n  </UAObject>\n  <UAObject NodeId=\"i=15189\" BrowseName=\"Default JSON\" SymbolicName=\"DefaultJson\">\n    <DisplayName>Default JSON</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasEncoding\" IsForward=\"false\">i=540</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=76</Reference>\n    </References>\n  </UAObject>\n  <UAObject NodeId=\"i=15199\" BrowseName=\"Default JSON\" SymbolicName=\"DefaultJson\">\n    <DisplayName>Default JSON</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasEncoding\" IsForward=\"false\">i=331</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=76</Reference>\n    </References>\n  </UAObject>\n  <UAObject NodeId=\"i=15204\" BrowseName=\"Default JSON\" SymbolicName=\"DefaultJson\">\n    <DisplayName>Default JSON</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasEncoding\" IsForward=\"false\">i=583</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=76</Reference>\n    </References>\n  </UAObject>\n  <UAObject NodeId=\"i=15205\" BrowseName=\"Default JSON\" SymbolicName=\"DefaultJson\">\n    <DisplayName>Default JSON</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasEncoding\" IsForward=\"false\">i=586</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=76</Reference>\n    </References>\n  </UAObject>\n  <UAObject NodeId=\"i=15206\" BrowseName=\"Default JSON\" SymbolicName=\"DefaultJson\">\n    <DisplayName>Default JSON</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasEncoding\" IsForward=\"false\">i=589</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=76</Reference>\n    </References>\n  </UAObject>\n  <UAObject NodeId=\"i=15207\" BrowseName=\"Default JSON\" SymbolicName=\"DefaultJson\">\n    <DisplayName>Default JSON</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasEncoding\" IsForward=\"false\">i=592</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=76</Reference>\n    </References>\n  </UAObject>\n  <UAObject NodeId=\"i=15208\" BrowseName=\"Default JSON\" SymbolicName=\"DefaultJson\">\n    <DisplayName>Default JSON</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasEncoding\" IsForward=\"false\">i=595</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=76</Reference>\n    </References>\n  </UAObject>\n  <UAObject NodeId=\"i=15209\" BrowseName=\"Default JSON\" SymbolicName=\"DefaultJson\">\n    <DisplayName>Default JSON</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasEncoding\" IsForward=\"false\">i=598</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=76</Reference>\n    </References>\n  </UAObject>\n  <UAObject NodeId=\"i=15210\" BrowseName=\"Default JSON\" SymbolicName=\"DefaultJson\">\n    <DisplayName>Default JSON</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasEncoding\" IsForward=\"false\">i=601</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=76</Reference>\n    </References>\n  </UAObject>\n  <UAObject NodeId=\"i=15273\" BrowseName=\"Default JSON\" SymbolicName=\"DefaultJson\">\n    <DisplayName>Default JSON</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasEncoding\" IsForward=\"false\">i=659</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=76</Reference>\n    </References>\n  </UAObject>\n  <UAObject NodeId=\"i=15293\" BrowseName=\"Default JSON\" SymbolicName=\"DefaultJson\">\n    <DisplayName>Default JSON</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasEncoding\" IsForward=\"false\">i=719</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=76</Reference>\n    </References>\n  </UAObject>\n  <UAObject NodeId=\"i=15295\" BrowseName=\"Default JSON\" SymbolicName=\"DefaultJson\">\n    <DisplayName>Default JSON</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasEncoding\" IsForward=\"false\">i=725</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=76</Reference>\n    </References>\n  </UAObject>\n  <UAObject NodeId=\"i=15304\" BrowseName=\"Default JSON\" SymbolicName=\"DefaultJson\">\n    <DisplayName>Default JSON</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasEncoding\" IsForward=\"false\">i=948</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=76</Reference>\n    </References>\n  </UAObject>\n  <UAObject NodeId=\"i=15349\" BrowseName=\"Default JSON\" SymbolicName=\"DefaultJson\">\n    <DisplayName>Default JSON</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasEncoding\" IsForward=\"false\">i=920</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=76</Reference>\n    </References>\n  </UAObject>\n  <UAObject NodeId=\"i=15361\" BrowseName=\"Default JSON\" SymbolicName=\"DefaultJson\">\n    <DisplayName>Default JSON</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasEncoding\" IsForward=\"false\">i=338</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=76</Reference>\n    </References>\n  </UAObject>\n  <UAObject NodeId=\"i=15362\" BrowseName=\"Default JSON\" SymbolicName=\"DefaultJson\">\n    <DisplayName>Default JSON</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasEncoding\" IsForward=\"false\">i=853</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=76</Reference>\n    </References>\n  </UAObject>\n  <UAObject NodeId=\"i=15363\" BrowseName=\"Default JSON\" SymbolicName=\"DefaultJson\">\n    <DisplayName>Default JSON</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasEncoding\" IsForward=\"false\">i=11943</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=76</Reference>\n    </References>\n  </UAObject>\n  <UAObject NodeId=\"i=15364\" BrowseName=\"Default JSON\" SymbolicName=\"DefaultJson\">\n    <DisplayName>Default JSON</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasEncoding\" IsForward=\"false\">i=11944</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=76</Reference>\n    </References>\n  </UAObject>\n  <UAObject NodeId=\"i=15365\" BrowseName=\"Default JSON\" SymbolicName=\"DefaultJson\">\n    <DisplayName>Default JSON</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasEncoding\" IsForward=\"false\">i=856</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=76</Reference>\n    </References>\n  </UAObject>\n  <UAObject NodeId=\"i=15366\" BrowseName=\"Default JSON\" SymbolicName=\"DefaultJson\">\n    <DisplayName>Default JSON</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasEncoding\" IsForward=\"false\">i=859</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=76</Reference>\n    </References>\n  </UAObject>\n  <UAObject NodeId=\"i=15367\" BrowseName=\"Default JSON\" SymbolicName=\"DefaultJson\">\n    <DisplayName>Default JSON</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasEncoding\" IsForward=\"false\">i=862</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=76</Reference>\n    </References>\n  </UAObject>\n  <UAObject NodeId=\"i=15368\" BrowseName=\"Default JSON\" SymbolicName=\"DefaultJson\">\n    <DisplayName>Default JSON</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasEncoding\" IsForward=\"false\">i=865</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=76</Reference>\n    </References>\n  </UAObject>\n  <UAObject NodeId=\"i=15369\" BrowseName=\"Default JSON\" SymbolicName=\"DefaultJson\">\n    <DisplayName>Default JSON</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasEncoding\" IsForward=\"false\">i=868</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=76</Reference>\n    </References>\n  </UAObject>\n  <UAObject NodeId=\"i=15370\" BrowseName=\"Default JSON\" SymbolicName=\"DefaultJson\">\n    <DisplayName>Default JSON</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasEncoding\" IsForward=\"false\">i=871</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=76</Reference>\n    </References>\n  </UAObject>\n  <UAObject NodeId=\"i=15371\" BrowseName=\"Default JSON\" SymbolicName=\"DefaultJson\">\n    <DisplayName>Default JSON</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasEncoding\" IsForward=\"false\">i=299</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=76</Reference>\n    </References>\n  </UAObject>\n  <UAObject NodeId=\"i=15372\" BrowseName=\"Default JSON\" SymbolicName=\"DefaultJson\">\n    <DisplayName>Default JSON</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasEncoding\" IsForward=\"false\">i=874</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=76</Reference>\n    </References>\n  </UAObject>\n  <UAObject NodeId=\"i=15373\" BrowseName=\"Default JSON\" SymbolicName=\"DefaultJson\">\n    <DisplayName>Default JSON</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasEncoding\" IsForward=\"false\">i=877</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=76</Reference>\n    </References>\n  </UAObject>\n  <UAObject NodeId=\"i=15374\" BrowseName=\"Default JSON\" SymbolicName=\"DefaultJson\">\n    <DisplayName>Default JSON</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasEncoding\" IsForward=\"false\">i=897</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=76</Reference>\n    </References>\n  </UAObject>\n  <UAObject NodeId=\"i=15375\" BrowseName=\"Default JSON\" SymbolicName=\"DefaultJson\">\n    <DisplayName>Default JSON</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasEncoding\" IsForward=\"false\">i=884</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=76</Reference>\n    </References>\n  </UAObject>\n  <UAObject NodeId=\"i=15376\" BrowseName=\"Default JSON\" SymbolicName=\"DefaultJson\">\n    <DisplayName>Default JSON</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasEncoding\" IsForward=\"false\">i=887</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=76</Reference>\n    </References>\n  </UAObject>\n  <UAObject NodeId=\"i=15377\" BrowseName=\"Default JSON\" SymbolicName=\"DefaultJson\">\n    <DisplayName>Default JSON</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasEncoding\" IsForward=\"false\">i=12171</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=76</Reference>\n    </References>\n  </UAObject>\n  <UAObject NodeId=\"i=15378\" BrowseName=\"Default JSON\" SymbolicName=\"DefaultJson\">\n    <DisplayName>Default JSON</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasEncoding\" IsForward=\"false\">i=12172</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=76</Reference>\n    </References>\n  </UAObject>\n  <UAObject NodeId=\"i=15379\" BrowseName=\"Default JSON\" SymbolicName=\"DefaultJson\">\n    <DisplayName>Default JSON</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasEncoding\" IsForward=\"false\">i=12079</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=76</Reference>\n    </References>\n  </UAObject>\n  <UAObject NodeId=\"i=15380\" BrowseName=\"Default JSON\" SymbolicName=\"DefaultJson\">\n    <DisplayName>Default JSON</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasEncoding\" IsForward=\"false\">i=12080</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=76</Reference>\n    </References>\n  </UAObject>\n  <UAObject NodeId=\"i=15381\" BrowseName=\"Default JSON\" SymbolicName=\"DefaultJson\">\n    <DisplayName>Default JSON</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasEncoding\" IsForward=\"false\">i=894</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=76</Reference>\n    </References>\n  </UAObject>\n  <UAObject NodeId=\"i=24042\" BrowseName=\"Default JSON\" SymbolicName=\"DefaultJson\">\n    <DisplayName>Default JSON</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasEncoding\" IsForward=\"false\">i=24033</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=76</Reference>\n    </References>\n  </UAObject>\n  <UAObject NodeId=\"i=15382\" BrowseName=\"Default JSON\" SymbolicName=\"DefaultJson\">\n    <DisplayName>Default JSON</DisplayName>\n    <References>\n      <Reference ReferenceType=\"HasEncoding\" IsForward=\"false\">i=891</Reference>\n      <Reference ReferenceType=\"HasTypeDefinition\">i=76</Reference>\n    </References>\n  </UAObject>\n</UANodeSet>"
  },
  {
    "path": "SemanticData/UANodeSetValidation/XML/README.MD",
    "content": "# XML Files\n\nThis folder contains xml and xsd files relevant for OPC UA and this project.\n\nThe files published by OPC Foundation are located at: [Index of UA schemas](https://opcfoundation.org/UA/schemas/).\n"
  },
  {
    "path": "SemanticData/UANodeSetValidation/XML/Reference.cs",
    "content": "﻿//__________________________________________________________________________________________________\n//\n//  Copyright (C) 2022, Mariusz Postol LODZ POLAND.\n//\n//  To be in touch join the community at GitHub: https://github.com/mpostol/OPC-UA-OOI/discussions\n//__________________________________________________________________________________________________\n\nusing System;\nusing UAOOI.SemanticData.AddressSpace.Abstractions;\nusing UAOOI.SemanticData.UANodeSetValidation.DataSerialization;\n\nnamespace UAOOI.SemanticData.UANodeSetValidation.XML\n{\n  public partial class Reference : IEquatable<Reference>, IReference\n  {\n    /// <summary>\n    /// Indicates whether the current object is equal to another object of the same type.\n    /// </summary>\n    /// <param name=\"other\">An object to compare with this object.</param>\n    /// <returns>true if the current object is equal to the <paramref name=\"other\">other</paramref> parameter; otherwise, false.</returns>\n    public bool Equals(Reference other)\n    {\n      return this.ToString().CompareTo(other.ToString()) == 0;\n    }\n\n    /// <summary>\n    /// Returns a <see cref=\"System.String\" /> that represents this instance.\n    /// </summary>\n    /// <returns>A <see cref=\"System.String\" /> that represents this instance.</returns>\n    public override string ToString()\n    {\n      return $\"{this.IsForward}, {this.ReferenceType}, {this.Value}\";\n    }\n\n    internal void RecalculateNodeIds(Func<string, NodeId> importNodeId)\n    {\n      ReferenceTypeNodeid = importNodeId(ReferenceType);\n      ValueNodeId = importNodeId(Value);\n    }\n\n    #region IReference\n\n    [System.Xml.Serialization.XmlIgnore]\n    public NodeId ReferenceTypeNodeid { get; private set; }\n\n    [System.Xml.Serialization.XmlIgnore]\n    public NodeId ValueNodeId { get; private set; }\n\n    #endregion IReference\n  }\n}"
  },
  {
    "path": "SemanticData/UANodeSetValidation/XML/ReferenceChange.cs",
    "content": "﻿//___________________________________________________________________________________\n//\n//  Copyright (C) 2021, Mariusz Postol LODZ POLAND.\n//\n//  To be in touch join the community at GITTER: https://gitter.im/mpostol/OPC-UA-OOI\n//___________________________________________________________________________________\n\nusing System;\nusing UAOOI.SemanticData.UANodeSetValidation.DataSerialization;\n\nnamespace UAOOI.SemanticData.UANodeSetValidation.XML\n{\n  public partial class ReferenceChange\n  {\n    internal void RecalculateNodeIds(Func<string, NodeId> importNodeId)\n    {\n      SourceNodeId = importNodeId(Source);\n      ValueNodeId = importNodeId(Value);\n      ReferenceTypeNodeId = importNodeId(Value);\n    }\n\n    internal NodeId SourceNodeId { get; private set; }\n    internal NodeId ValueNodeId { get; private set; }\n    internal NodeId ReferenceTypeNodeId { get; private set; }\n  }\n}"
  },
  {
    "path": "SemanticData/UANodeSetValidation/XML/RolePermission.cs",
    "content": "﻿//__________________________________________________________________________________________________\n//\n//  Copyright (C) 2022, Mariusz Postol LODZ POLAND.\n//\n//  To be in touch join the community at GitHub: https://github.com/mpostol/OPC-UA-OOI/discussions\n//__________________________________________________________________________________________________\n\nusing System;\nusing UAOOI.SemanticData.AddressSpace.Abstractions;\nusing UAOOI.SemanticData.UANodeSetValidation.DataSerialization;\n\nnamespace UAOOI.SemanticData.UANodeSetValidation.XML\n{\n  /// <summary>\n  /// Class RolePermission.\n  /// </summary>\n  public partial class RolePermission : IRolePermission\n  {\n    internal void RecalculateNodeIds(Func<string, NodeId> importNodeId)\n    {\n      ValueNodeId = importNodeId(Value);\n    }\n\n    internal NodeId ValueNodeId { get; private set; }\n  }\n}"
  },
  {
    "path": "SemanticData/UANodeSetValidation/XML/UADataType.cs",
    "content": "﻿//__________________________________________________________________________________________________\n//\n//  Copyright (C) 2022, Mariusz Postol LODZ POLAND.\n//\n//  To be in touch join the community at GitHub: https://github.com/mpostol/OPC-UA-OOI/discussions\n//__________________________________________________________________________________________________\n\nusing System;\nusing UAOOI.SemanticData.AddressSpace.Abstractions;\nusing UAOOI.SemanticData.BuildingErrorsHandling;\n\nnamespace UAOOI.SemanticData.UANodeSetValidation.XML\n{\n  public partial class UADataType : IUADataType\n  {\n    #region IUADataType\n\n    public override NodeClassEnum NodeClass => NodeClassEnum.UADataType;\n\n    UAOOI.SemanticData.InformationModelFactory.DataTypePurpose IUADataType.Purpose\n    {\n      get\n      {\n        UAOOI.SemanticData.InformationModelFactory.DataTypePurpose _status = default(UAOOI.SemanticData.InformationModelFactory.DataTypePurpose);\n        switch (this.Purpose)\n        {\n          case DataTypePurpose.Normal:\n            _status = UAOOI.SemanticData.InformationModelFactory.DataTypePurpose.Normal;\n            break;\n\n          case DataTypePurpose.CodeGenerator:\n            _status = UAOOI.SemanticData.InformationModelFactory.DataTypePurpose.CodeGenerator;\n            break;\n\n          case DataTypePurpose.ServicesOnly:\n            _status = UAOOI.SemanticData.InformationModelFactory.DataTypePurpose.ServicesOnly;\n            break;\n        }\n        return _status;\n      }\n    }\n\n    IDataTypeDefinition IUADataTypeNodeClass.Definition\n    {\n      get { return this.Definition; }\n      //TODO Define independent Address Space API #645 - must be implemented\n      //set { this.Definition = new DataTypeDefinition(value); }\n    }\n\n    #endregion IUADataType\n\n    /// <summary>\n    /// Get the clone from the types derived from this one.\n    /// </summary>\n    /// <returns>An instance of <see cref=\"UANode\" />.</returns>\n    protected override UANode ParentClone()\n    {\n      UADataType _ret = new UADataType()\n      {\n        Definition = this.Definition,\n        Purpose = this.Purpose\n      };\n      base.CloneUAType(_ret);\n      return _ret;\n    }\n\n    internal override void RecalculateNodeIds(IUAModelContext modelContext, Action<TraceMessage> trace)\n    {\n      base.RecalculateNodeIds(modelContext, trace);\n      if (this.Definition is null)\n        return;\n      this.Definition.RecalculateNodeIds(x => modelContext.ImportNodeId(x, trace));\n    }\n  }\n}"
  },
  {
    "path": "SemanticData/UANodeSetValidation/XML/UAInstance.cs",
    "content": "﻿//__________________________________________________________________________________________________\n//\n//  Copyright (C) 2022, Mariusz Postol LODZ POLAND.\n//\n//  To be in touch join the community at GitHub: https://github.com/mpostol/OPC-UA-OOI/discussions\n//__________________________________________________________________________________________________\n\nusing System;\nusing UAOOI.SemanticData.AddressSpace.Abstractions;\nusing UAOOI.SemanticData.BuildingErrorsHandling;\nusing UAOOI.SemanticData.UANodeSetValidation.DataSerialization;\n\nnamespace UAOOI.SemanticData.UANodeSetValidation.XML\n{\n  public abstract partial class UAInstance\n  {\n    /// <summary>\n    /// Indicates whether the inherited parent object is also equal to another object.\n    /// </summary>\n    /// <param name=\"other\">An object to compare with this object.</param>\n    /// <returns><c>true</c> if the current object is equal to the <paramref name=\"other\">other</paramref>; otherwise,, <c>false</c> otherwise.</returns>\n    protected override bool ParentEquals(IUANode other)\n    {\n      UAInstance _other = other as UAInstance;\n      if (Object.ReferenceEquals(_other, null))\n        return false;\n      return true;\n    }\n\n    /// <summary>\n    /// Clones current object to a new one./>.\n    /// </summary>\n    /// <param name=\"ret\">The ret.</param>\n    protected void CloneUAInstance(UAInstance ret)\n    {\n      ret.ParentNodeIdNodeId = this.ParentNodeIdNodeId;\n      ret.ParentNodeId = this.ParentNodeId;\n      base.CloneUANode(this);\n    }\n\n    internal override void RecalculateNodeIds(IUAModelContext modelContext, Action<TraceMessage> trace)\n    {\n      ParentNodeIdNodeId = modelContext.ImportNodeId(ParentNodeId, trace);\n      base.RecalculateNodeIds(modelContext, trace);\n    }\n    /// <summary>\n    /// The NodeId of the Node that is the parent of the Node within the information model. This field is used to indicate that a tight coupling exists between \n    /// the Node and its parent (e.g. when the parent is deleted the child is deleted as well). \n    /// </summary>\n    /// <remarks>\n    /// This information does not appear in the AddressSpace and is intended for use by design tools.\n    /// </remarks>\n    internal NodeId ParentNodeIdNodeId { get; private set; }\n  }\n}"
  },
  {
    "path": "SemanticData/UANodeSetValidation/XML/UAMethod.cs",
    "content": "﻿//__________________________________________________________________________________________________\n//\n//  Copyright (C) 2022, Mariusz Postol LODZ POLAND.\n//\n//  To be in touch join the community at GitHub: https://github.com/mpostol/OPC-UA-OOI/discussions\n//__________________________________________________________________________________________________\n\nusing System;\nusing System.Collections.Generic;\nusing UAOOI.SemanticData.AddressSpace.Abstractions;\nusing UAOOI.SemanticData.BuildingErrorsHandling;\nusing UAOOI.SemanticData.UANodeSetValidation.DataSerialization;\n\nnamespace UAOOI.SemanticData.UANodeSetValidation.XML\n{\n  /// <summary>\n  /// Class UAMethod\n  /// Implements the <see cref=\"UAOOI.SemanticData.UANodeSetValidation.XML.UAInstance\" />\n  /// </summary>\n  /// <seealso cref=\"UAOOI.SemanticData.UANodeSetValidation.XML.UAInstance\" />\n  public partial class UAMethod : IUAMethod\n  {\n    internal override void RecalculateNodeIds(IUAModelContext modelContext, Action<TraceMessage> trace)\n    {\n      base.RecalculateNodeIds(modelContext, trace);\n      MethodDeclarationNodeId = modelContext.ImportNodeId(this.MethodDeclarationId, trace);\n    }\n\n    internal NodeId MethodDeclarationNodeId { get; private set; }\n\n    AddressSpace.Abstractions.UAMethodArgument[] IUAMethod.ArgumentDescription\n    {\n      get\n      {\n        if (this.ArgumentDescription == null)\n          return null;\n        List<AddressSpace.Abstractions.UAMethodArgument> retValu = new List<AddressSpace.Abstractions.UAMethodArgument>();\n        foreach (UAMethodArgument item in this.ArgumentDescription)\n        {\n          AddressSpace.Abstractions.UAMethodArgument newItem = new AddressSpace.Abstractions.UAMethodArgument() { Name = item.Name };\n          if (item.Description == null)\n            continue;\n          List<DataSerialization.LocalizedText> descriptionList = new List<DataSerialization.LocalizedText>();\n          foreach (LocalizedText description in item.Description)\n            descriptionList.Add(new DataSerialization.LocalizedText() { Text = description.Value, Locale = description.Locale });\n          newItem.Description = descriptionList.ToArray();\n          retValu.Add(newItem);\n        }\n        return retValu.ToArray();\n      }\n      set => throw new NotImplementedException();\n    }\n\n    public override NodeClassEnum NodeClass => NodeClassEnum.UAMethod;\n\n    /// <summary>\n    /// Indicates whether the inherited parent object is also equal to another object.\n    /// </summary>\n    /// <param name=\"other\">An object to compare with this object.</param>\n    /// <returns><c>true</c> if the current object is equal to the <paramref name=\"other\">other</paramref>; otherwise,, <c>false</c> otherwise.</returns>\n    protected override bool ParentEquals(IUANode other)\n    {\n      UAMethod _other = other as UAMethod;\n      if (Object.ReferenceEquals(_other, null))\n        return false;\n      return\n        base.ParentEquals(_other) &&\n        // TODO compare ArgumentDescription\n        this.Executable == _other.Executable &&\n        this.UserExecutable == _other.UserExecutable;\n      // not exposed and must be excluded from the comparison this.MethodDeclarationId == _other.MethodDeclarationId;\n    }\n\n    /// <summary>\n    /// Get the clone from the types derived from this one.\n    /// </summary>\n    /// <returns>An instance of <see cref=\"T:UAOOI.SemanticData.UANodeSetValidation.XML.UANode\" />.</returns>\n    protected override UANode ParentClone()\n    {\n      UAMethod _ret = new UAMethod\n      {\n        Executable = this.Executable,\n        UserExecutable = this.UserExecutable\n      };\n      base.CloneUAInstance(_ret);\n      return _ret;\n    }\n  }\n}"
  },
  {
    "path": "SemanticData/UANodeSetValidation/XML/UAModelContext.cs",
    "content": "﻿//__________________________________________________________________________________________\n//\n//  Copyright 2022 Mariusz Postol LODZ POLAND.\n//\n//  To be in touch join the community by pressing the `Watch` button and to get started\n//  comment using the discussion panel at\n//  https://github.com/mpostol/TP/discussions/182\n//  with an introduction of yourself and tell us about what you do with this community.\n//__________________________________________________________________________________________\n\nusing System;\nusing System.Collections.Generic;\nusing UAOOI.SemanticData.AddressSpace.Abstractions;\nusing UAOOI.SemanticData.BuildingErrorsHandling;\nusing UAOOI.SemanticData.UANodeSetValidation.DataSerialization;\n\nnamespace UAOOI.SemanticData.UANodeSetValidation.XML\n{\n  internal class UAModelContext : IUAModelContext\n  {\n    #region API\n\n    /// <summary>\n    /// Initializes a new instance of the <see cref=\"UAModelContext\" /> class.\n    /// </summary>\n    /// <param name=\"modelHeader\">The model header of the <see cref=\"UANodeSet\"/> represented as an instance of <see cref=\"IUANodeSetModelHeader\"/>.</param>\n    /// <param name=\"namespaceTable\">The address space context represented by an instance of <see cref=\"IAddressSpaceBuildContext\" />.</param>\n    /// <param name=\"traceEvent\">The trace event call back delegate.</param>\n    /// <exception cref=\"ArgumentNullException\">buildErrorsHandlingLog\n    /// or\n    /// addressSpaceContext</exception>\n    internal static UAModelContext ParseUANodeSetModelHeader(IUANodeSetModelHeader modelHeader, INamespaceTable namespaceTable, Action<TraceMessage> traceEvent)\n    {\n      UAModelContext context2Return = new UAModelContext(modelHeader, namespaceTable, traceEvent);\n      context2Return.Parse(modelHeader, namespaceTable);\n      return context2Return;\n    }\n\n    internal Uri DefaultUri => new Uri(_namespaceUris[0]);\n\n    #endregion API\n\n    #region IUAModelContext\n\n    //public Uri ModelUri { get; private set; }\n\n    /// <summary>\n    /// Imports the browse name <see cref=\"QualifiedName\" /> and Node identifier as <see cref=\"NodeId\" />. It recalculates the <see cref=\"QualifiedName.NamespaceIndex\" /> and <see cref=\"NodeId.NamespaceIndex\" /> against local namespace index table.\n    /// </summary>\n    /// <param name=\"browseNameText\">The <see cref=\"QualifiedName\" /> serialized as text to be imported.</param>\n    /// <param name=\"nodeIdText\">The <see cref=\"NodeId\" /> serialized as text to be imported.</param>\n    /// <param name=\"trace\">Captures the functionality of trace.</param>\n    /// <returns>A <see cref=\"ValueTuple{T1, T2}\" /> value containing <see cref=\"QualifiedName\" /> and <see cref=\"NodeId\" /> with recalculated NamespaceIndex.</returns>\n    public (QualifiedName browseName, NodeId nodeId) ImportBrowseName(string browseNameText, string nodeIdText, Action<TraceMessage> trace)\n    {\n      nodeIdText = LookupAlias(nodeIdText);\n      NodeId nodeId = nodeIdText.ParseNodeId(trace);\n      QualifiedName browseName = browseNameText.ParseBrowseName(nodeId, trace);\n      nodeId.SetNamespaceIndex(ImportNamespaceIndex(nodeId.NamespaceIndex));\n      browseName.NamespaceIndex = ImportNamespaceIndex(browseName.NamespaceIndex);\n      browseName.NamespaceIndexSpecified = true;\n      return (browseName, nodeId);\n    }\n\n    /// <summary>\n    /// Imports the node identifier if <paramref name=\"nodeId\" /> is not empty.\n    /// </summary>\n    /// <param name=\"nodeId\">The node identifier.</param>\n    /// <param name=\"trace\">Captures the functionality of trace.</param>\n    /// <returns>An instance of the <see cref=\"NodeId\" /> or null is the <paramref name=\"nodeId\" /> is null or empty.</returns>\n    public NodeId ImportNodeId(string nodeId, Action<TraceMessage> trace)\n    {\n      if (string.IsNullOrEmpty(nodeId))\n        return NodeId.Null;\n      nodeId = LookupAlias(nodeId);\n      NodeId _nodeId = nodeId.ParseNodeId(trace);\n      ushort namespaceIndex = ImportNamespaceIndex(_nodeId.NamespaceIndex);\n      return new NodeId(_nodeId.IdentifierPart, namespaceIndex);\n    }\n\n    public void RegisterUAReferenceType(QualifiedName browseName)\n    {\n      if (UAReferenceTypNames.Contains(browseName))\n      {\n        string message = $\"The {nameof(UAReferenceType)} duplicated BrowseName={browseName}. It is not allowed that two different ReferenceTypes have the same BrowseName\";\n        _logTraceMessage(TraceMessage.BuildErrorTraceMessage(BuildError.DuplicatedReferenceType, message));\n      }\n      else\n        UAReferenceTypNames.Add(browseName);\n    }\n\n    #endregion IUAModelContext\n\n    #region private\n\n    //var\n\n    private readonly IUANodeSetModelHeader _modelHeader;\n    private readonly Action<TraceMessage> _logTraceMessage;\n    private readonly Dictionary<string, string> _aliasesDictionary = new Dictionary<string, string>();\n    private IList<string> _namespaceUris = new List<string>();\n    private INamespaceTable _addressSpaceContext { get; }\n\n    private readonly List<QualifiedName> UAReferenceTypNames = new List<QualifiedName>();\n    private static Random _randomNumber = new Random();\n\n    //methods\n    private UAModelContext(IUANodeSetModelHeader modelHeader, INamespaceTable addressSpaceContext, Action<TraceMessage> traceEvent)\n    {\n      _modelHeader = modelHeader ?? throw new ArgumentNullException(nameof(modelHeader));\n      if (modelHeader.ServerUris != null && modelHeader.ServerUris.Length > 0)\n        traceEvent(TraceMessage.BuildErrorTraceMessage(BuildError.NotSupportedFeature, \"ServerUris is omitted during the import\"));\n      if (modelHeader.Extensions != null && modelHeader.Extensions.Length > 0)\n        traceEvent(TraceMessage.BuildErrorTraceMessage(BuildError.NotSupportedFeature, \"Extensions are omitted during the import\"));\n      _logTraceMessage = traceEvent ?? throw new ArgumentNullException(nameof(traceEvent));\n      _addressSpaceContext = addressSpaceContext ?? throw new ArgumentNullException(nameof(addressSpaceContext));\n    }\n\n    private void Parse(IUANodeSetModelHeader modelHeader, INamespaceTable namespaceTable)\n    {\n      _namespaceUris = Parse(modelHeader.NamespaceUris);\n      Parse(modelHeader.Models, namespaceTable);\n      Parse(modelHeader.Aliases);\n    }\n\n    //TODO Enhance/Improve NodeIdAlias array parser #557\n    private void Parse(NodeIdAlias[] nodeIdAlias)\n    {\n      if (nodeIdAlias is null)\n        return;\n      foreach (NodeIdAlias alias in nodeIdAlias)\n        _aliasesDictionary.Add(alias.Alias.Trim(), alias.Value);\n    }\n\n    private List<string> Parse(string[] namespaceUris)\n    {\n      List<string> list2Return = new List<string>();\n      if (namespaceUris is null || namespaceUris.Length == 0)\n      {\n        namespaceUris = new string[] { RandomUri().ToString() };\n        _logTraceMessage(TraceMessage.BuildErrorTraceMessage(BuildError.NamespaceUrisCannotBeNull, $\"Added a random URI {namespaceUris[0]} to NamespaceUris.\"));\n      }\n      for (int i = 0; i < namespaceUris.Length; i++)\n        list2Return.Add(namespaceUris[i]);\n      return list2Return;\n    }\n\n    private void Parse(ModelTableEntry[] models, INamespaceTable namespaceTable)\n    {\n      if (models == null || models.Length == 0)\n      {\n        models = new ModelTableEntry[] { new ModelTableEntry()\n          {\n            AccessRestrictions = 0,\n            ModelUri = _namespaceUris[0],\n            PublicationDate = DateTime.UtcNow,\n            PublicationDateSpecified = true,\n            RequiredModel = new ModelTableEntry[]{ },\n            RolePermissions = new RolePermission[] { },\n            Version = new Version().ToString()\n          }\n        };\n        _logTraceMessage(TraceMessage.BuildErrorTraceMessage(BuildError.ModelsCannotBeNull, $\"Added default model {models[0].ModelUri}\"));\n      }\n      foreach (ModelTableEntry item in models)\n      {\n        namespaceTable.RegisterModel(item);\n        if (item.RequiredModel != null)\n          foreach (ModelTableEntry requiredModel in item.RequiredModel)\n            namespaceTable.RegisterDependency(requiredModel);\n      }\n    }\n\n    private string LookupAlias(string id)\n    {\n      string _newId = string.Empty;\n      return _aliasesDictionary.TryGetValue(id.Trim(), out _newId) ? _newId : id;\n    }\n\n    private ushort ImportNamespaceIndex(ushort namespaceIndex)\n    {\n      // nothing special required for indexes < 0.\n      if (namespaceIndex == 0)\n        return namespaceIndex;\n      string uriString;\n      if (_namespaceUris.Count > namespaceIndex - 1)\n        uriString = _namespaceUris[namespaceIndex - 1];\n      else\n      {\n        // return a random value if index is out of range.\n        uriString = RandomUri().ToString();\n        this._logTraceMessage(\n          TraceMessage.BuildErrorTraceMessage(BuildError.UndefinedNamespaceIndex, $\"ImportNamespaceIndex failed - namespace index {namespaceIndex - 1} is out of the NamespaceUris index. New namespace {uriString} is created instead.\"));\n        _namespaceUris.Add(uriString);\n      }\n      return _addressSpaceContext.GetURIIndexOrAppend(new Uri(uriString));\n    }\n\n    private static Uri RandomUri()\n    {\n      UriBuilder _builder = new UriBuilder()\n      {\n        Path = $@\"github.com/mpostol/OPC-UA-OOI/NameUnknown{_randomNumber.Next(0, int.MaxValue)}\",\n        Scheme = Uri.UriSchemeHttp,\n      };\n      return _builder.Uri;\n    }\n\n    #endregion private\n  }\n}"
  },
  {
    "path": "SemanticData/UANodeSetValidation/XML/UANode.cs",
    "content": "﻿//__________________________________________________________________________________________________\n//\n//  Copyright (C) 2022, Mariusz Postol LODZ POLAND.\n//\n//  To be in touch join the community at GitHub: https://github.com/mpostol/OPC-UA-OOI/discussions\n//__________________________________________________________________________________________________\n\nusing System;\nusing UAOOI.SemanticData.AddressSpace.Abstractions;\nusing UAOOI.SemanticData.BuildingErrorsHandling;\nusing UAOOI.SemanticData.InformationModelFactory.UAConstants;\nusing UAOOI.SemanticData.UANodeSetValidation.DataSerialization;\nusing OOIReleaseStatus = UAOOI.SemanticData.InformationModelFactory.ReleaseStatus;\n\nnamespace UAOOI.SemanticData.UANodeSetValidation.XML\n{\n  /// <summary>\n  /// Class UANode.\n  /// Implements the <see cref=\"IEquatable{UANode}\"/>\n  /// </summary>\n  /// <seealso cref=\"IEquatable{UANode}\" />\n  public abstract partial class UANode : IUANode\n  {\n    #region IEquatable\n\n    /// <summary>\n    /// Indicates whether the current object is equal to another object of the same type.\n    /// </summary>\n    /// <param name=\"other\">An object to compare with this object.</param>\n    /// <returns>true if the current object is equal to the <paramref name=\"other\">other</paramref> parameter; otherwise, false.</returns>\n    public virtual bool Equals(IUANode other)\n    {\n      if (object.ReferenceEquals(other, null))\n        return false;\n      if (Object.ReferenceEquals(this, other))\n        return true;\n      if (other.GetType() != this.GetType())\n        return false;\n      IUANode thisNode = this;\n      return\n        ParentEquals(other) &&\n        thisNode.AccessRestrictions == other.AccessRestrictions &&\n        thisNode.BrowseName.Equals(other.BrowseName) &&\n        thisNode.Description.LocalizedTextArraysEqual(other.Description) &&\n        thisNode.DisplayName.LocalizedTextArraysEqual(other.DisplayName) &&\n        thisNode.Documentation.AreEqual(other.Documentation) &&\n        thisNode.ReleaseStatus == other.ReleaseStatus &&\n        thisNode.RolePermissions.RolePermissionsEquals(other.RolePermissions) &&\n        thisNode.SymbolicName.AreEqual(other.SymbolicName) &&\n        thisNode.UserWriteMask == other.UserWriteMask &&\n        thisNode.WriteMask == other.WriteMask &&\n        thisNode.References.ReferencesEquals(other.References);\n    }\n\n    #endregion IEquatable\n\n    //TODO Define independent Address Space API #645 LocalizedText conversion must be implemented.\n    //public UANode()\n    //{\n    //  m_NodeIdNodeId = DataSerialization.NodeId.Parse(NodeId);\n    //  m_BrowseName = BrowseName.ParseBrowseName(m_NodeIdNodeId, x => { });\n    //}\n\n    #region IUANode\n\n    NodeId IUANode.NodeId { get => m_NodeIdNodeId; }\n\n    /// <summary>\n    /// Gets the node class of a Node.\n    /// </summary>\n    /// <value>The node class enum.</value>\n    public abstract NodeClassEnum NodeClass { get; }\n\n    QualifiedName IUANode.BrowseName { get => m_BrowseName; }\n\n    DataSerialization.LocalizedText[] IUANode.DisplayName\n    {\n      get => DisplayName.GetLocalizedTextArray();\n    }\n\n    DataSerialization.LocalizedText[] IUANode.Description\n    {\n      get => Description.GetLocalizedTextArray();\n    }\n\n    AttributeWriteMask IUANode.WriteMask { get => this.WriteMask.GetAttributeWriteMask(); set => throw new NotImplementedException(); }\n    AttributeWriteMask IUANode.UserWriteMask { get => this.UserWriteMask.GetAttributeWriteMask(); set => throw new NotImplementedException(); }\n    IRolePermission[] IUANode.RolePermissions { get => this.RolePermissions; set => throw new NotImplementedException(); }\n    IRolePermission[] IUANode.UserRolePermissions { get => null; set => throw new NotImplementedException(); }\n\n    AccessRestrictions IUANode.AccessRestrictions\n    {\n      get => this.AccessRestrictions.GetAccessRestrictions(NodeClass, Trace);\n      set => throw new NotImplementedException();\n    }\n\n    IReference[] IUANode.References { get => References; }\n\n    public virtual void RemoveInheritedValues(IUANode baseNode)\n    {\n      //BrowseName\n      if (((IUANode)this).DisplayName.LocalizedTextArraysEqual(baseNode.DisplayName))\n        this.DisplayName = null;\n      if (((IUANode)this).Description.LocalizedTextArraysEqual(baseNode.Description))\n        this.Description = null;\n      //Category\n      //References\n      if (this.RolePermissions.RolePermissionsEquals(baseNode.RolePermissions))\n        this.RolePermissions = null;\n      if (this.Documentation == baseNode.Documentation)\n        this.Documentation = string.Empty;\n      //NodeId is not inherited\n      //WriteMask\n      //UserWriteMask\n      //AccessRestrictions\n      //SymbolicName is not inherited\n      //ReleaseStatus\n    }\n\n    OOIReleaseStatus IUANode.ReleaseStatus\n    {\n      get { return this.ReleaseStatus.GetReleaseStatus(); }\n      set { throw new NotImplementedException(); }\n    }\n\n    #endregion IUANode\n\n    #region API\n\n    /// <summary>\n    /// Clones this instance.\n    /// </summary>\n    /// <returns>UANode.</returns>\n    public virtual UANode Clone()\n    {\n      return ParentClone();\n    }\n\n    /// <summary>\n    /// Implements the == operator. Determines whether two instances of <see cref=\"UANode\"/> represent the same information.\n    /// </summary>\n    /// <param name=\"value1\">The first object to compare, or null.</param>\n    /// <param name=\"value2\">The second object to compare, or null.</param>\n    /// <returns>The result of the operator. The <see cref=\"UANode.Equals(UANode)\"/> procedure is used to compare.</returns>\n    public static bool operator ==(UANode value1, UANode value2)\n    {\n      if (Object.ReferenceEquals(value1, null))\n        return Object.ReferenceEquals(value2, null);\n      return value1.Equals(value2);\n    }\n\n    /// <summary>\n    /// Implements the != operator. Determines whether two instances of <see cref=\"UANode\"/> don't represent the same information.\n    /// </summary>\n    /// <param name=\"value1\">The first object to compare, or null.</param>\n    /// <param name=\"value2\">The second object to compare, or null.</param>\n    /// <returns>The result of the operator. The <see cref=\"UANode.Equals(UANode)\"/> procedure is used to compare.</returns>\n    public static bool operator !=(UANode value1, UANode value2)\n    {\n      if (Object.ReferenceEquals(value1, null))\n        return !Object.ReferenceEquals(value2, null);\n      return !value1.Equals(value2);\n    }\n\n    internal virtual void RecalculateNodeIds(IUAModelContext modelContext, Action<TraceMessage> trace)\n    {\n      Trace = trace ?? throw new ArgumentNullException(nameof(trace));\n      (m_BrowseName, m_NodeIdNodeId) = modelContext.ImportBrowseName(BrowseName, this.NodeId, trace);\n      if (!(this.References is null))\n        foreach (Reference _reference in this.References)\n          _reference.RecalculateNodeIds(x => modelContext.ImportNodeId(x, trace));\n      ImportNodeId(this.RolePermissions, x => modelContext.ImportNodeId(x, trace));\n    }\n\n    private Action<TraceMessage> Trace = null;\n\n    #endregion API\n\n    #region override Object\n\n    /// <summary>\n    /// Determines whether the specified <see cref=\"System.Object\" /> is equal to this instance.\n    /// </summary>\n    /// <param name=\"obj\">The object to compare with the current object.</param>\n    /// <returns><c>true</c> if the specified <see cref=\"System.Object\" /> is equal to this instance; otherwise, <c>false</c>.</returns>\n    /// <exception cref=\"NotImplementedException\">Object.Equals must not be used and is intentionally not implemented</exception>\n    public override bool Equals(object obj)\n    {\n      throw new NotImplementedException(\"Object.Equals must not be used and is intentionally not implemented\");\n    }\n\n    /// <summary>\n    /// Returns a hash code for this instance.\n    /// </summary>\n    /// <returns>A hash code for this instance, suitable for use in hashing algorithms and data structures like a hash table.</returns>\n    /// <exception cref=\"NotImplementedException\">Object.GetHashCode must not be used and is intentionally not implemented</exception>\n    public override int GetHashCode()\n    {\n      throw new NotImplementedException(\"Object.GetHashCode must not be used and is intentionally not implemented\");\n    }\n\n    #endregion override Object\n\n    #region private\n\n    private NodeId m_NodeIdNodeId = null;\n    private QualifiedName m_BrowseName = null;\n\n    private void ImportNodeId(RolePermission[] rolePermissions, Func<string, NodeId> importNodeId)\n    {\n      if (this.RolePermissions is null)\n        return;\n      foreach (RolePermission _permission in rolePermissions)\n        _permission.RecalculateNodeIds(importNodeId);\n    }\n\n    /// <summary>\n    /// Clones the specified node.\n    /// </summary>\n    /// <param name=\"node2Clone\">The node to clone.</param>\n    protected void CloneUANode(UANode node2Clone)\n    {\n      node2Clone.AccessRestrictions = this.AccessRestrictions;\n      node2Clone.BrowseName = this.BrowseName;\n      node2Clone.Category = this.Category;\n      node2Clone.Description = this.Description;\n      node2Clone.DisplayName = this.DisplayName;\n      node2Clone.Documentation = this.Documentation;\n      node2Clone.Extensions = this.extensionsField;\n      node2Clone.NodeId = this.NodeId;\n      node2Clone.References = this.References;\n      node2Clone.ReleaseStatus = this.ReleaseStatus;\n      node2Clone.RolePermissions = this.RolePermissions;\n      node2Clone.SymbolicName = this.SymbolicName;\n      node2Clone.UserWriteMask = this.UserWriteMask;\n      node2Clone.WriteMask = this.WriteMask;\n    }\n\n    /// <summary>\n    /// Indicates whether the inherited parent object is also equal to another object.\n    /// </summary>\n    /// <param name=\"other\">An object to compare with this object.</param>\n    /// <returns><c>true</c> if the current object is equal to the <paramref name=\"other\">other</paramref>; otherwise,, <c>false</c> otherwise.</returns>\n    protected abstract bool ParentEquals(IUANode other);\n\n    /// <summary>\n    /// Get the clone from the types derived from this one.\n    /// </summary>\n    /// <returns>An instance of <see cref=\"UANode\"/>.</returns>\n    protected abstract UANode ParentClone();\n\n    #endregion private\n\n    #region debug\n\n    [System.Diagnostics.Conditional(\"DEBUG\")]\n    internal virtual void Deserialize()\n    {\n      m_BrowseName = DataSerialization.QualifiedName.Parse(BrowseName);\n      m_NodeIdNodeId = DataSerialization.NodeId.Parse(this.NodeId);\n    }\n\n    #endregion debug\n  }\n}"
  },
  {
    "path": "SemanticData/UANodeSetValidation/XML/UANodeSet.CustomPart.cs",
    "content": "﻿//__________________________________________________________________________________________\n//\n//  Copyright 2022 Mariusz Postol LODZ POLAND.\n//\n//  To be in touch join the community by pressing the `Watch` button and to get started\n//  comment using the discussion panel at\n//  https://github.com/mpostol/TP/discussions/182\n//  with an introduction of yourself and tell us about what you do with this community.\n//__________________________________________________________________________________________\n\nusing System;\nusing System.IO;\nusing System.Reflection;\nusing UAOOI.Common.Infrastructure.Serializers;\nusing UAOOI.SemanticData.AddressSpace.Abstractions;\nusing UAOOI.SemanticData.BuildingErrorsHandling;\n\nnamespace UAOOI.SemanticData.UANodeSetValidation.XML\n{\n  public partial class UANodeSet : IUANodeSet, IUANodeSetModelHeader\n  {\n    #region IUANodeSet\n\n    public Uri ParseUAModelContext(INamespaceTable namespaceTable, Action<TraceMessage> traceEvent)\n    {\n      UAModelContext model = UAModelContext.ParseUANodeSetModelHeader(this, namespaceTable, traceEvent);\n      this.RecalculateNodeIds(model, traceEvent);\n      return model.DefaultUri;\n    }\n\n    IUANode[] IUANodeSet.Items { get => Items; }\n\n    #endregion IUANodeSet\n\n    #region static helpers\n\n    public static UANodeSet ReadUADefinedTypes()\n    {\n      Assembly assembly = Assembly.GetExecutingAssembly();\n      UANodeSet uaDefinedTypes = null;\n      using (Stream stream = assembly.GetManifestResourceStream(m_UADefinedTypesName))\n        uaDefinedTypes = XmlFile.ReadXmlFile<UANodeSet>(stream);\n      if (uaDefinedTypes.Models is null || uaDefinedTypes.Models.Length == 0)\n        throw new ArgumentNullException(nameof(UANodeSet.Models));\n      if (uaDefinedTypes.NamespaceUris is null)\n        uaDefinedTypes.NamespaceUris = new string[] { uaDefinedTypes.Models[0].ModelUri };\n      return uaDefinedTypes;\n    }\n\n    public static UANodeSet ReadModelFile(FileInfo path)\n    {\n      if (path == null)\n        throw new ArgumentNullException($\"{nameof(path)}\");\n      using (Stream stream = path.OpenRead())\n        return XmlFile.ReadXmlFile<UANodeSet>(stream);\n    }\n\n    #endregion static helpers\n\n    #region private\n\n    private const string m_UADefinedTypesName = @\"UAOOI.SemanticData.UANodeSetValidation.XML.Opc.Ua.NodeSet2.xml\"; //OPC UA standard NodeSet model resource folder.\n\n    private void RecalculateNodeIds(IUAModelContext modelContext, Action<TraceMessage> trace)\n    {\n      if (this.Aliases != null)\n        foreach (NodeIdAlias alias in this.Aliases)\n          alias.RecalculateNodeIds(x => modelContext.ImportNodeId(x, trace));\n      if (this.Items != null)\n        foreach (UANode item in Items)\n          item.RecalculateNodeIds(modelContext, trace);\n    }\n\n    #endregion private\n  }\n}"
  },
  {
    "path": "SemanticData/UANodeSetValidation/XML/UANodeSet.GoCS.cmd",
    "content": "xsd.exe UANodeSet.xsd /c /l:cs /n:UAOOI.SemanticData.UANodeSetValidation.XML\n\n"
  },
  {
    "path": "SemanticData/UANodeSetValidation/XML/UANodeSet.cs",
    "content": "﻿//------------------------------------------------------------------------------\n// <auto-generated>\n//     This code was generated by a tool.\n//     Runtime Version:4.0.30319.42000\n//\n//     Changes to this file may cause incorrect behavior and will be lost if\n//     the code is regenerated.\n// </auto-generated>\n//------------------------------------------------------------------------------\n\n// \n// This source code was auto-generated by xsd, Version=4.6.1055.0.\n// \n#pragma warning disable 1591\nnamespace UAOOI.SemanticData.UANodeSetValidation.XML {\n    using System.Xml.Serialization;\n    \n    \n    /// <remarks/>\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"xsd\", \"4.6.1055.0\")]\n    [System.SerializableAttribute()]\n    [System.Diagnostics.DebuggerStepThroughAttribute()]\n    [System.ComponentModel.DesignerCategoryAttribute(\"code\")]\n    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace=\"http://opcfoundation.org/UA/2011/03/UANodeSet.xsd\")]\n    [System.Xml.Serialization.XmlRootAttribute(Namespace=\"http://opcfoundation.org/UA/2011/03/UANodeSet.xsd\", IsNullable=false)]\n    public partial class UANodeSet {\n        \n        private string[] namespaceUrisField;\n        \n        private string[] serverUrisField;\n        \n        private ModelTableEntry[] modelsField;\n        \n        private NodeIdAlias[] aliasesField;\n        \n        private System.Xml.XmlElement[] extensionsField;\n        \n        private UANode[] itemsField;\n        \n        private System.DateTime lastModifiedField;\n        \n        private bool lastModifiedFieldSpecified;\n        \n        /// <remarks/>\n        [System.Xml.Serialization.XmlArrayItemAttribute(\"Uri\", IsNullable=false)]\n        public string[] NamespaceUris {\n            get {\n                return this.namespaceUrisField;\n            }\n            set {\n                this.namespaceUrisField = value;\n            }\n        }\n        \n        /// <remarks/>\n        [System.Xml.Serialization.XmlArrayItemAttribute(\"Uri\", IsNullable=false)]\n        public string[] ServerUris {\n            get {\n                return this.serverUrisField;\n            }\n            set {\n                this.serverUrisField = value;\n            }\n        }\n        \n        /// <remarks/>\n        [System.Xml.Serialization.XmlArrayItemAttribute(\"Model\", IsNullable=false)]\n        public ModelTableEntry[] Models {\n            get {\n                return this.modelsField;\n            }\n            set {\n                this.modelsField = value;\n            }\n        }\n        \n        /// <remarks/>\n        [System.Xml.Serialization.XmlArrayItemAttribute(\"Alias\", IsNullable=false)]\n        public NodeIdAlias[] Aliases {\n            get {\n                return this.aliasesField;\n            }\n            set {\n                this.aliasesField = value;\n            }\n        }\n        \n        /// <remarks/>\n        [System.Xml.Serialization.XmlArrayItemAttribute(\"Extension\", IsNullable=false)]\n        public System.Xml.XmlElement[] Extensions {\n            get {\n                return this.extensionsField;\n            }\n            set {\n                this.extensionsField = value;\n            }\n        }\n        \n        /// <remarks/>\n        [System.Xml.Serialization.XmlElementAttribute(\"UADataType\", typeof(UADataType))]\n        [System.Xml.Serialization.XmlElementAttribute(\"UAMethod\", typeof(UAMethod))]\n        [System.Xml.Serialization.XmlElementAttribute(\"UAObject\", typeof(UAObject))]\n        [System.Xml.Serialization.XmlElementAttribute(\"UAObjectType\", typeof(UAObjectType))]\n        [System.Xml.Serialization.XmlElementAttribute(\"UAReferenceType\", typeof(UAReferenceType))]\n        [System.Xml.Serialization.XmlElementAttribute(\"UAVariable\", typeof(UAVariable))]\n        [System.Xml.Serialization.XmlElementAttribute(\"UAVariableType\", typeof(UAVariableType))]\n        [System.Xml.Serialization.XmlElementAttribute(\"UAView\", typeof(UAView))]\n        public UANode[] Items {\n            get {\n                return this.itemsField;\n            }\n            set {\n                this.itemsField = value;\n            }\n        }\n        \n        /// <remarks/>\n        [System.Xml.Serialization.XmlAttributeAttribute()]\n        public System.DateTime LastModified {\n            get {\n                return this.lastModifiedField;\n            }\n            set {\n                this.lastModifiedField = value;\n            }\n        }\n        \n        /// <remarks/>\n        [System.Xml.Serialization.XmlIgnoreAttribute()]\n        public bool LastModifiedSpecified {\n            get {\n                return this.lastModifiedFieldSpecified;\n            }\n            set {\n                this.lastModifiedFieldSpecified = value;\n            }\n        }\n    }\n    \n    /// <remarks/>\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"xsd\", \"4.6.1055.0\")]\n    [System.SerializableAttribute()]\n    [System.Diagnostics.DebuggerStepThroughAttribute()]\n    [System.ComponentModel.DesignerCategoryAttribute(\"code\")]\n    [System.Xml.Serialization.XmlTypeAttribute(Namespace=\"http://opcfoundation.org/UA/2011/03/UANodeSet.xsd\")]\n    public partial class ModelTableEntry {\n        \n        private RolePermission[] rolePermissionsField;\n        \n        private ModelTableEntry[] requiredModelField;\n        \n        private string modelUriField;\n        \n        private string versionField;\n        \n        private System.DateTime publicationDateField;\n        \n        private bool publicationDateFieldSpecified;\n        \n        private byte accessRestrictionsField;\n        \n        public ModelTableEntry() {\n            this.accessRestrictionsField = ((byte)(0));\n        }\n        \n        /// <remarks/>\n        [System.Xml.Serialization.XmlArrayItemAttribute(IsNullable=false)]\n        public RolePermission[] RolePermissions {\n            get {\n                return this.rolePermissionsField;\n            }\n            set {\n                this.rolePermissionsField = value;\n            }\n        }\n        \n        /// <remarks/>\n        [System.Xml.Serialization.XmlElementAttribute(\"RequiredModel\")]\n        public ModelTableEntry[] RequiredModel {\n            get {\n                return this.requiredModelField;\n            }\n            set {\n                this.requiredModelField = value;\n            }\n        }\n        \n        /// <remarks/>\n        [System.Xml.Serialization.XmlAttributeAttribute()]\n        public string ModelUri {\n            get {\n                return this.modelUriField;\n            }\n            set {\n                this.modelUriField = value;\n            }\n        }\n        \n        /// <remarks/>\n        [System.Xml.Serialization.XmlAttributeAttribute()]\n        public string Version {\n            get {\n                return this.versionField;\n            }\n            set {\n                this.versionField = value;\n            }\n        }\n        \n        /// <remarks/>\n        [System.Xml.Serialization.XmlAttributeAttribute()]\n        public System.DateTime PublicationDate {\n            get {\n                return this.publicationDateField;\n            }\n            set {\n                this.publicationDateField = value;\n            }\n        }\n        \n        /// <remarks/>\n        [System.Xml.Serialization.XmlIgnoreAttribute()]\n        public bool PublicationDateSpecified {\n            get {\n                return this.publicationDateFieldSpecified;\n            }\n            set {\n                this.publicationDateFieldSpecified = value;\n            }\n        }\n        \n        /// <remarks/>\n        [System.Xml.Serialization.XmlAttributeAttribute()]\n        [System.ComponentModel.DefaultValueAttribute(typeof(byte), \"0\")]\n        public byte AccessRestrictions {\n            get {\n                return this.accessRestrictionsField;\n            }\n            set {\n                this.accessRestrictionsField = value;\n            }\n        }\n    }\n    \n    /// <remarks/>\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"xsd\", \"4.6.1055.0\")]\n    [System.SerializableAttribute()]\n    [System.Diagnostics.DebuggerStepThroughAttribute()]\n    [System.ComponentModel.DesignerCategoryAttribute(\"code\")]\n    [System.Xml.Serialization.XmlTypeAttribute(Namespace=\"http://opcfoundation.org/UA/2011/03/UANodeSet.xsd\")]\n    public partial class RolePermission {\n        \n        private uint permissionsField;\n        \n        private string valueField;\n        \n        public RolePermission() {\n            this.permissionsField = ((uint)(0));\n        }\n        \n        /// <remarks/>\n        [System.Xml.Serialization.XmlAttributeAttribute()]\n        [System.ComponentModel.DefaultValueAttribute(typeof(uint), \"0\")]\n        public uint Permissions {\n            get {\n                return this.permissionsField;\n            }\n            set {\n                this.permissionsField = value;\n            }\n        }\n        \n        /// <remarks/>\n        [System.Xml.Serialization.XmlTextAttribute()]\n        public string Value {\n            get {\n                return this.valueField;\n            }\n            set {\n                this.valueField = value;\n            }\n        }\n    }\n    \n    /// <remarks/>\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"xsd\", \"4.6.1055.0\")]\n    [System.SerializableAttribute()]\n    [System.Diagnostics.DebuggerStepThroughAttribute()]\n    [System.ComponentModel.DesignerCategoryAttribute(\"code\")]\n    [System.Xml.Serialization.XmlTypeAttribute(Namespace=\"http://opcfoundation.org/UA/2011/03/UANodeSet.xsd\")]\n    public partial class NodeSetStatus {\n        \n        private uint codeField;\n        \n        private string valueField;\n        \n        public NodeSetStatus() {\n            this.codeField = ((uint)(0));\n        }\n        \n        /// <remarks/>\n        [System.Xml.Serialization.XmlAttributeAttribute()]\n        [System.ComponentModel.DefaultValueAttribute(typeof(uint), \"0\")]\n        public uint Code {\n            get {\n                return this.codeField;\n            }\n            set {\n                this.codeField = value;\n            }\n        }\n        \n        /// <remarks/>\n        [System.Xml.Serialization.XmlTextAttribute()]\n        public string Value {\n            get {\n                return this.valueField;\n            }\n            set {\n                this.valueField = value;\n            }\n        }\n    }\n    \n    /// <remarks/>\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"xsd\", \"4.6.1055.0\")]\n    [System.SerializableAttribute()]\n    [System.Diagnostics.DebuggerStepThroughAttribute()]\n    [System.ComponentModel.DesignerCategoryAttribute(\"code\")]\n    [System.Xml.Serialization.XmlTypeAttribute(Namespace=\"http://opcfoundation.org/UA/2011/03/UANodeSet.xsd\")]\n    public partial class NodeToDelete {\n        \n        private bool deleteReverseReferencesField;\n        \n        private string valueField;\n        \n        public NodeToDelete() {\n            this.deleteReverseReferencesField = true;\n        }\n        \n        /// <remarks/>\n        [System.Xml.Serialization.XmlAttributeAttribute()]\n        [System.ComponentModel.DefaultValueAttribute(true)]\n        public bool DeleteReverseReferences {\n            get {\n                return this.deleteReverseReferencesField;\n            }\n            set {\n                this.deleteReverseReferencesField = value;\n            }\n        }\n        \n        /// <remarks/>\n        [System.Xml.Serialization.XmlTextAttribute()]\n        public string Value {\n            get {\n                return this.valueField;\n            }\n            set {\n                this.valueField = value;\n            }\n        }\n    }\n    \n    /// <remarks/>\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"xsd\", \"4.6.1055.0\")]\n    [System.SerializableAttribute()]\n    [System.Diagnostics.DebuggerStepThroughAttribute()]\n    [System.ComponentModel.DesignerCategoryAttribute(\"code\")]\n    [System.Xml.Serialization.XmlTypeAttribute(Namespace=\"http://opcfoundation.org/UA/2011/03/UANodeSet.xsd\")]\n    public partial class ReferenceChange {\n        \n        private string sourceField;\n        \n        private string referenceTypeField;\n        \n        private bool isForwardField;\n        \n        private string valueField;\n        \n        public ReferenceChange() {\n            this.isForwardField = true;\n        }\n        \n        /// <remarks/>\n        [System.Xml.Serialization.XmlAttributeAttribute()]\n        public string Source {\n            get {\n                return this.sourceField;\n            }\n            set {\n                this.sourceField = value;\n            }\n        }\n        \n        /// <remarks/>\n        [System.Xml.Serialization.XmlAttributeAttribute()]\n        public string ReferenceType {\n            get {\n                return this.referenceTypeField;\n            }\n            set {\n                this.referenceTypeField = value;\n            }\n        }\n        \n        /// <remarks/>\n        [System.Xml.Serialization.XmlAttributeAttribute()]\n        [System.ComponentModel.DefaultValueAttribute(true)]\n        public bool IsForward {\n            get {\n                return this.isForwardField;\n            }\n            set {\n                this.isForwardField = value;\n            }\n        }\n        \n        /// <remarks/>\n        [System.Xml.Serialization.XmlTextAttribute()]\n        public string Value {\n            get {\n                return this.valueField;\n            }\n            set {\n                this.valueField = value;\n            }\n        }\n    }\n    \n    /// <remarks/>\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"xsd\", \"4.6.1055.0\")]\n    [System.SerializableAttribute()]\n    [System.Diagnostics.DebuggerStepThroughAttribute()]\n    [System.ComponentModel.DesignerCategoryAttribute(\"code\")]\n    [System.Xml.Serialization.XmlTypeAttribute(Namespace=\"http://opcfoundation.org/UA/2011/03/UANodeSet.xsd\")]\n    public partial class DataTypeField {\n        \n        private LocalizedText[] displayNameField;\n        \n        private LocalizedText[] descriptionField;\n        \n        private string nameField;\n        \n        private string symbolicNameField;\n        \n        private string dataTypeField;\n        \n        private int valueRankField;\n        \n        private string arrayDimensionsField;\n        \n        private uint maxStringLengthField;\n        \n        private int valueField;\n        \n        private bool isOptionalField;\n        \n        public DataTypeField() {\n            this.dataTypeField = \"i=24\";\n            this.valueRankField = -1;\n            this.arrayDimensionsField = \"\";\n            this.maxStringLengthField = ((uint)(0));\n            this.valueField = -1;\n            this.isOptionalField = false;\n        }\n        \n        /// <remarks/>\n        [System.Xml.Serialization.XmlElementAttribute(\"DisplayName\")]\n        public LocalizedText[] DisplayName {\n            get {\n                return this.displayNameField;\n            }\n            set {\n                this.displayNameField = value;\n            }\n        }\n        \n        /// <remarks/>\n        [System.Xml.Serialization.XmlElementAttribute(\"Description\")]\n        public LocalizedText[] Description {\n            get {\n                return this.descriptionField;\n            }\n            set {\n                this.descriptionField = value;\n            }\n        }\n        \n        /// <remarks/>\n        [System.Xml.Serialization.XmlAttributeAttribute()]\n        public string Name {\n            get {\n                return this.nameField;\n            }\n            set {\n                this.nameField = value;\n            }\n        }\n        \n        /// <remarks/>\n        [System.Xml.Serialization.XmlAttributeAttribute()]\n        public string SymbolicName {\n            get {\n                return this.symbolicNameField;\n            }\n            set {\n                this.symbolicNameField = value;\n            }\n        }\n        \n        /// <remarks/>\n        [System.Xml.Serialization.XmlAttributeAttribute()]\n        [System.ComponentModel.DefaultValueAttribute(\"i=24\")]\n        public string DataType {\n            get {\n                return this.dataTypeField;\n            }\n            set {\n                this.dataTypeField = value;\n            }\n        }\n        \n        /// <remarks/>\n        [System.Xml.Serialization.XmlAttributeAttribute()]\n        [System.ComponentModel.DefaultValueAttribute(-1)]\n        public int ValueRank {\n            get {\n                return this.valueRankField;\n            }\n            set {\n                this.valueRankField = value;\n            }\n        }\n        \n        /// <remarks/>\n        [System.Xml.Serialization.XmlAttributeAttribute(DataType=\"token\")]\n        [System.ComponentModel.DefaultValueAttribute(\"\")]\n        public string ArrayDimensions {\n            get {\n                return this.arrayDimensionsField;\n            }\n            set {\n                this.arrayDimensionsField = value;\n            }\n        }\n        \n        /// <remarks/>\n        [System.Xml.Serialization.XmlAttributeAttribute()]\n        [System.ComponentModel.DefaultValueAttribute(typeof(uint), \"0\")]\n        public uint MaxStringLength {\n            get {\n                return this.maxStringLengthField;\n            }\n            set {\n                this.maxStringLengthField = value;\n            }\n        }\n        \n        /// <remarks/>\n        [System.Xml.Serialization.XmlAttributeAttribute()]\n        [System.ComponentModel.DefaultValueAttribute(-1)]\n        public int Value {\n            get {\n                return this.valueField;\n            }\n            set {\n                this.valueField = value;\n            }\n        }\n        \n        /// <remarks/>\n        [System.Xml.Serialization.XmlAttributeAttribute()]\n        [System.ComponentModel.DefaultValueAttribute(false)]\n        public bool IsOptional {\n            get {\n                return this.isOptionalField;\n            }\n            set {\n                this.isOptionalField = value;\n            }\n        }\n    }\n    \n    /// <remarks/>\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"xsd\", \"4.6.1055.0\")]\n    [System.SerializableAttribute()]\n    [System.Diagnostics.DebuggerStepThroughAttribute()]\n    [System.ComponentModel.DesignerCategoryAttribute(\"code\")]\n    [System.Xml.Serialization.XmlTypeAttribute(Namespace=\"http://opcfoundation.org/UA/2011/03/UANodeSet.xsd\")]\n    public partial class LocalizedText {\n        \n        private string localeField;\n        \n        private string valueField;\n        \n        public LocalizedText() {\n            this.localeField = \"\";\n        }\n        \n        /// <remarks/>\n        [System.Xml.Serialization.XmlAttributeAttribute()]\n        [System.ComponentModel.DefaultValueAttribute(\"\")]\n        public string Locale {\n            get {\n                return this.localeField;\n            }\n            set {\n                this.localeField = value;\n            }\n        }\n        \n        /// <remarks/>\n        [System.Xml.Serialization.XmlTextAttribute()]\n        public string Value {\n            get {\n                return this.valueField;\n            }\n            set {\n                this.valueField = value;\n            }\n        }\n    }\n    \n    /// <remarks/>\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"xsd\", \"4.6.1055.0\")]\n    [System.SerializableAttribute()]\n    [System.Diagnostics.DebuggerStepThroughAttribute()]\n    [System.ComponentModel.DesignerCategoryAttribute(\"code\")]\n    [System.Xml.Serialization.XmlTypeAttribute(Namespace=\"http://opcfoundation.org/UA/2011/03/UANodeSet.xsd\")]\n    public partial class DataTypeDefinition {\n        \n        private DataTypeField[] fieldField;\n        \n        private string nameField;\n        \n        private string symbolicNameField;\n        \n        private bool isUnionField;\n        \n        private bool isOptionSetField;\n        \n        private string baseTypeField;\n        \n        public DataTypeDefinition() {\n            this.symbolicNameField = \"\";\n            this.isUnionField = false;\n            this.isOptionSetField = false;\n            this.baseTypeField = \"\";\n        }\n        \n        /// <remarks/>\n        [System.Xml.Serialization.XmlElementAttribute(\"Field\")]\n        public DataTypeField[] Field {\n            get {\n                return this.fieldField;\n            }\n            set {\n                this.fieldField = value;\n            }\n        }\n        \n        /// <remarks/>\n        [System.Xml.Serialization.XmlAttributeAttribute()]\n        public string Name {\n            get {\n                return this.nameField;\n            }\n            set {\n                this.nameField = value;\n            }\n        }\n        \n        /// <remarks/>\n        [System.Xml.Serialization.XmlAttributeAttribute()]\n        [System.ComponentModel.DefaultValueAttribute(\"\")]\n        public string SymbolicName {\n            get {\n                return this.symbolicNameField;\n            }\n            set {\n                this.symbolicNameField = value;\n            }\n        }\n        \n        /// <remarks/>\n        [System.Xml.Serialization.XmlAttributeAttribute()]\n        [System.ComponentModel.DefaultValueAttribute(false)]\n        public bool IsUnion {\n            get {\n                return this.isUnionField;\n            }\n            set {\n                this.isUnionField = value;\n            }\n        }\n        \n        /// <remarks/>\n        [System.Xml.Serialization.XmlAttributeAttribute()]\n        [System.ComponentModel.DefaultValueAttribute(false)]\n        public bool IsOptionSet {\n            get {\n                return this.isOptionSetField;\n            }\n            set {\n                this.isOptionSetField = value;\n            }\n        }\n        \n        /// <remarks/>\n        [System.Xml.Serialization.XmlAttributeAttribute()]\n        [System.ComponentModel.DefaultValueAttribute(\"\")]\n        public string BaseType {\n            get {\n                return this.baseTypeField;\n            }\n            set {\n                this.baseTypeField = value;\n            }\n        }\n    }\n    \n    /// <remarks/>\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"xsd\", \"4.6.1055.0\")]\n    [System.SerializableAttribute()]\n    [System.Diagnostics.DebuggerStepThroughAttribute()]\n    [System.ComponentModel.DesignerCategoryAttribute(\"code\")]\n    [System.Xml.Serialization.XmlTypeAttribute(Namespace=\"http://opcfoundation.org/UA/2011/03/UANodeSet.xsd\")]\n    public partial class UAMethodArgument {\n        \n        private string nameField;\n        \n        private LocalizedText[] descriptionField;\n        \n        /// <remarks/>\n        public string Name {\n            get {\n                return this.nameField;\n            }\n            set {\n                this.nameField = value;\n            }\n        }\n        \n        /// <remarks/>\n        [System.Xml.Serialization.XmlElementAttribute(\"Description\")]\n        public LocalizedText[] Description {\n            get {\n                return this.descriptionField;\n            }\n            set {\n                this.descriptionField = value;\n            }\n        }\n    }\n    \n    /// <remarks/>\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"xsd\", \"4.6.1055.0\")]\n    [System.SerializableAttribute()]\n    [System.Diagnostics.DebuggerStepThroughAttribute()]\n    [System.ComponentModel.DesignerCategoryAttribute(\"code\")]\n    [System.Xml.Serialization.XmlTypeAttribute(Namespace=\"http://opcfoundation.org/UA/2011/03/UANodeSet.xsd\")]\n    public partial class StructureTranslationType {\n        \n        private LocalizedText[] textField;\n        \n        private string nameField;\n        \n        /// <remarks/>\n        [System.Xml.Serialization.XmlElementAttribute(\"Text\")]\n        public LocalizedText[] Text {\n            get {\n                return this.textField;\n            }\n            set {\n                this.textField = value;\n            }\n        }\n        \n        /// <remarks/>\n        [System.Xml.Serialization.XmlAttributeAttribute()]\n        public string Name {\n            get {\n                return this.nameField;\n            }\n            set {\n                this.nameField = value;\n            }\n        }\n    }\n    \n    /// <remarks/>\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"xsd\", \"4.6.1055.0\")]\n    [System.SerializableAttribute()]\n    [System.Diagnostics.DebuggerStepThroughAttribute()]\n    [System.ComponentModel.DesignerCategoryAttribute(\"code\")]\n    [System.Xml.Serialization.XmlTypeAttribute(Namespace=\"http://opcfoundation.org/UA/2011/03/UANodeSet.xsd\")]\n    public partial class TranslationType {\n        \n        private object[] itemsField;\n        \n        /// <remarks/>\n        [System.Xml.Serialization.XmlElementAttribute(\"Field\", typeof(StructureTranslationType))]\n        [System.Xml.Serialization.XmlElementAttribute(\"Text\", typeof(LocalizedText))]\n        public object[] Items {\n            get {\n                return this.itemsField;\n            }\n            set {\n                this.itemsField = value;\n            }\n        }\n    }\n    \n    /// <remarks/>\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"xsd\", \"4.6.1055.0\")]\n    [System.SerializableAttribute()]\n    //[System.Diagnostics.DebuggerStepThroughAttribute()]\n    [System.ComponentModel.DesignerCategoryAttribute(\"code\")]\n    [System.Xml.Serialization.XmlTypeAttribute(Namespace=\"http://opcfoundation.org/UA/2011/03/UANodeSet.xsd\")]\n    public partial class Reference {\n        \n        private string referenceTypeField;\n        \n        private bool isForwardField;\n        \n        private string valueField;\n        \n        public Reference() {\n            this.isForwardField = true;\n        }\n        \n        /// <remarks/>\n        [System.Xml.Serialization.XmlAttributeAttribute()]\n        public string ReferenceType {\n            get {\n                return this.referenceTypeField;\n            }\n            set {\n                this.referenceTypeField = value;\n            }\n        }\n        \n        /// <remarks/>\n        [System.Xml.Serialization.XmlAttributeAttribute()]\n        [System.ComponentModel.DefaultValueAttribute(true)]\n        public bool IsForward {\n            get {\n                return this.isForwardField;\n            }\n            set {\n                this.isForwardField = value;\n            }\n        }\n        \n        /// <remarks/>\n        [System.Xml.Serialization.XmlTextAttribute()]\n        public string Value {\n            get {\n                return this.valueField;\n            }\n            set {\n                this.valueField = value;\n            }\n        }\n    }\n    \n    /// <remarks/>\n    [System.Xml.Serialization.XmlIncludeAttribute(typeof(UAType))]\n    [System.Xml.Serialization.XmlIncludeAttribute(typeof(UAReferenceType))]\n    [System.Xml.Serialization.XmlIncludeAttribute(typeof(UADataType))]\n    [System.Xml.Serialization.XmlIncludeAttribute(typeof(UAVariableType))]\n    [System.Xml.Serialization.XmlIncludeAttribute(typeof(UAObjectType))]\n    [System.Xml.Serialization.XmlIncludeAttribute(typeof(UAInstance))]\n    [System.Xml.Serialization.XmlIncludeAttribute(typeof(UAView))]\n    [System.Xml.Serialization.XmlIncludeAttribute(typeof(UAMethod))]\n    [System.Xml.Serialization.XmlIncludeAttribute(typeof(UAVariable))]\n    [System.Xml.Serialization.XmlIncludeAttribute(typeof(UAObject))]\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"xsd\", \"4.6.1055.0\")]\n    [System.SerializableAttribute()]\n   // [System.Diagnostics.DebuggerStepThroughAttribute()]\n    [System.ComponentModel.DesignerCategoryAttribute(\"code\")]\n    [System.Xml.Serialization.XmlTypeAttribute(Namespace=\"http://opcfoundation.org/UA/2011/03/UANodeSet.xsd\")]\n    public partial class UANode {\n        \n        private LocalizedText[] displayNameField;\n        \n        private LocalizedText[] descriptionField;\n        \n        private string[] categoryField;\n        \n        private string documentationField;\n        \n        private Reference[] referencesField;\n        \n        private RolePermission[] rolePermissionsField;\n        \n        private string[] conformanceUnitsField;\n        \n        private System.Xml.XmlElement[] extensionsField;\n        \n        private string nodeIdField;\n        \n        private string browseNameField;\n        \n        private uint writeMaskField;\n        \n        private uint userWriteMaskField;\n        \n        private byte accessRestrictionsField;\n        \n        private string symbolicNameField;\n        \n        private ReleaseStatus releaseStatusField;\n        \n        public UANode() {\n            this.writeMaskField = ((uint)(0));\n            this.userWriteMaskField = ((uint)(0));\n            this.accessRestrictionsField = ((byte)(0));\n            this.releaseStatusField = ReleaseStatus.Released;\n        }\n        \n        /// <remarks/>\n        [System.Xml.Serialization.XmlElementAttribute(\"DisplayName\")]\n        public LocalizedText[] DisplayName {\n            get {\n                return this.displayNameField;\n            }\n            set {\n                this.displayNameField = value;\n            }\n        }\n        \n        /// <remarks/>\n        [System.Xml.Serialization.XmlElementAttribute(\"Description\")]\n        public LocalizedText[] Description {\n            get {\n                return this.descriptionField;\n            }\n            set {\n                this.descriptionField = value;\n            }\n        }\n        \n        /// <remarks/>\n        [System.Xml.Serialization.XmlElementAttribute(\"Category\")]\n        public string[] Category {\n            get {\n                return this.categoryField;\n            }\n            set {\n                this.categoryField = value;\n            }\n        }\n        \n        /// <remarks/>\n        public string Documentation {\n            get {\n                return this.documentationField;\n            }\n            set {\n                this.documentationField = value;\n            }\n        }\n        \n        /// <remarks/>\n        [System.Xml.Serialization.XmlArrayItemAttribute(IsNullable=false)]\n        public Reference[] References {\n            get {\n                return this.referencesField;\n            }\n            set {\n                this.referencesField = value;\n            }\n        }\n        \n        /// <remarks/>\n        [System.Xml.Serialization.XmlArrayItemAttribute(IsNullable=false)]\n        public RolePermission[] RolePermissions {\n            get {\n                return this.rolePermissionsField;\n            }\n            set {\n                this.rolePermissionsField = value;\n            }\n        }\n        \n        /// <remarks/>\n        [System.Xml.Serialization.XmlArrayItemAttribute(\"ConformanceUnit\", IsNullable=false)]\n        public string[] ConformanceUnits {\n            get {\n                return this.conformanceUnitsField;\n            }\n            set {\n                this.conformanceUnitsField = value;\n            }\n        }\n        \n        /// <remarks/>\n        [System.Xml.Serialization.XmlArrayItemAttribute(\"Extension\", IsNullable=false)]\n        public System.Xml.XmlElement[] Extensions {\n            get {\n                return this.extensionsField;\n            }\n            set {\n                this.extensionsField = value;\n            }\n        }\n        \n        /// <remarks/>\n        [System.Xml.Serialization.XmlAttributeAttribute()]\n        public string NodeId {\n            get {\n                return this.nodeIdField;\n            }\n            set {\n                this.nodeIdField = value;\n            }\n        }\n        \n        /// <remarks/>\n        [System.Xml.Serialization.XmlAttributeAttribute()]\n        public string BrowseName {\n            get {\n                return this.browseNameField;\n            }\n            set {\n                this.browseNameField = value;\n            }\n        }\n        \n        /// <remarks/>\n        [System.Xml.Serialization.XmlAttributeAttribute()]\n        [System.ComponentModel.DefaultValueAttribute(typeof(uint), \"0\")]\n        public uint WriteMask {\n            get {\n                return this.writeMaskField;\n            }\n            set {\n                this.writeMaskField = value;\n            }\n        }\n        \n        /// <remarks/>\n        [System.Xml.Serialization.XmlAttributeAttribute()]\n        [System.ComponentModel.DefaultValueAttribute(typeof(uint), \"0\")]\n        public uint UserWriteMask {\n            get {\n                return this.userWriteMaskField;\n            }\n            set {\n                this.userWriteMaskField = value;\n            }\n        }\n        \n        /// <remarks/>\n        [System.Xml.Serialization.XmlAttributeAttribute()]\n        [System.ComponentModel.DefaultValueAttribute(typeof(byte), \"0\")]\n        public byte AccessRestrictions {\n            get {\n                return this.accessRestrictionsField;\n            }\n            set {\n                this.accessRestrictionsField = value;\n            }\n        }\n        \n        /// <remarks/>\n        [System.Xml.Serialization.XmlAttributeAttribute()]\n        public string SymbolicName {\n            get {\n                return this.symbolicNameField;\n            }\n            set {\n                this.symbolicNameField = value;\n            }\n        }\n        \n        /// <remarks/>\n        [System.Xml.Serialization.XmlAttributeAttribute()]\n        [System.ComponentModel.DefaultValueAttribute(ReleaseStatus.Released)]\n        public ReleaseStatus ReleaseStatus {\n            get {\n                return this.releaseStatusField;\n            }\n            set {\n                this.releaseStatusField = value;\n            }\n        }\n    }\n    \n    /// <remarks/>\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"xsd\", \"4.6.1055.0\")]\n    [System.SerializableAttribute()]\n    [System.Xml.Serialization.XmlTypeAttribute(Namespace=\"http://opcfoundation.org/UA/2011/03/UANodeSet.xsd\")]\n    public enum ReleaseStatus {\n        \n        /// <remarks/>\n        Released,\n        \n        /// <remarks/>\n        Draft,\n        \n        /// <remarks/>\n        Deprecated,\n    }\n    \n    /// <remarks/>\n    [System.Xml.Serialization.XmlIncludeAttribute(typeof(UAReferenceType))]\n    [System.Xml.Serialization.XmlIncludeAttribute(typeof(UADataType))]\n    [System.Xml.Serialization.XmlIncludeAttribute(typeof(UAVariableType))]\n    [System.Xml.Serialization.XmlIncludeAttribute(typeof(UAObjectType))]\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"xsd\", \"4.6.1055.0\")]\n    [System.SerializableAttribute()]\n    [System.Diagnostics.DebuggerStepThroughAttribute()]\n    [System.ComponentModel.DesignerCategoryAttribute(\"code\")]\n    [System.Xml.Serialization.XmlTypeAttribute(Namespace=\"http://opcfoundation.org/UA/2011/03/UANodeSet.xsd\")]\n    public partial class UAType : UANode {\n        \n        private bool isAbstractField;\n        \n        public UAType() {\n            this.isAbstractField = false;\n        }\n        \n        /// <remarks/>\n        [System.Xml.Serialization.XmlAttributeAttribute()]\n        [System.ComponentModel.DefaultValueAttribute(false)]\n        public bool IsAbstract {\n            get {\n                return this.isAbstractField;\n            }\n            set {\n                this.isAbstractField = value;\n            }\n        }\n    }\n    \n    /// <remarks/>\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"xsd\", \"4.6.1055.0\")]\n    [System.SerializableAttribute()]\n    [System.Diagnostics.DebuggerStepThroughAttribute()]\n    [System.ComponentModel.DesignerCategoryAttribute(\"code\")]\n    [System.Xml.Serialization.XmlTypeAttribute(Namespace=\"http://opcfoundation.org/UA/2011/03/UANodeSet.xsd\")]\n    public partial class UAReferenceType : UAType {\n        \n        private LocalizedText[] inverseNameField;\n        \n        private bool symmetricField;\n        \n        public UAReferenceType() {\n            this.symmetricField = false;\n        }\n        \n        /// <remarks/>\n        [System.Xml.Serialization.XmlElementAttribute(\"InverseName\")]\n        public LocalizedText[] InverseName {\n            get {\n                return this.inverseNameField;\n            }\n            set {\n                this.inverseNameField = value;\n            }\n        }\n        \n        /// <remarks/>\n        [System.Xml.Serialization.XmlAttributeAttribute()]\n        [System.ComponentModel.DefaultValueAttribute(false)]\n        public bool Symmetric {\n            get {\n                return this.symmetricField;\n            }\n            set {\n                this.symmetricField = value;\n            }\n        }\n    }\n    \n    /// <remarks/>\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"xsd\", \"4.6.1055.0\")]\n    [System.SerializableAttribute()]\n    [System.Diagnostics.DebuggerStepThroughAttribute()]\n    [System.ComponentModel.DesignerCategoryAttribute(\"code\")]\n    [System.Xml.Serialization.XmlTypeAttribute(Namespace=\"http://opcfoundation.org/UA/2011/03/UANodeSet.xsd\")]\n    public partial class UADataType : UAType {\n        \n        private DataTypeDefinition definitionField;\n        \n        private DataTypePurpose purposeField;\n        \n        public UADataType() {\n            this.purposeField = DataTypePurpose.Normal;\n        }\n        \n        /// <remarks/>\n        public DataTypeDefinition Definition {\n            get {\n                return this.definitionField;\n            }\n            set {\n                this.definitionField = value;\n            }\n        }\n        \n        /// <remarks/>\n        [System.Xml.Serialization.XmlAttributeAttribute()]\n        [System.ComponentModel.DefaultValueAttribute(DataTypePurpose.Normal)]\n        public DataTypePurpose Purpose {\n            get {\n                return this.purposeField;\n            }\n            set {\n                this.purposeField = value;\n            }\n        }\n    }\n    \n    /// <remarks/>\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"xsd\", \"4.6.1055.0\")]\n    [System.SerializableAttribute()]\n    [System.Xml.Serialization.XmlTypeAttribute(Namespace=\"http://opcfoundation.org/UA/2011/03/UANodeSet.xsd\")]\n    public enum DataTypePurpose {\n        \n        /// <remarks/>\n        Normal,\n        \n        /// <remarks/>\n        ServicesOnly,\n        \n        /// <remarks/>\n        CodeGenerator,\n    }\n    \n    /// <remarks/>\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"xsd\", \"4.6.1055.0\")]\n    [System.SerializableAttribute()]\n    [System.Diagnostics.DebuggerStepThroughAttribute()]\n    [System.ComponentModel.DesignerCategoryAttribute(\"code\")]\n    [System.Xml.Serialization.XmlTypeAttribute(Namespace=\"http://opcfoundation.org/UA/2011/03/UANodeSet.xsd\")]\n    public partial class UAVariableType : UAType {\n        \n        private System.Xml.XmlElement valueField;\n        \n        private string dataTypeField;\n        \n        private int valueRankField;\n        \n        private string arrayDimensionsField;\n        \n        public UAVariableType() {\n            this.dataTypeField = \"i=24\";\n            this.valueRankField = -1;\n            this.arrayDimensionsField = \"\";\n        }\n        \n        /// <remarks/>\n        public System.Xml.XmlElement Value {\n            get {\n                return this.valueField;\n            }\n            set {\n                this.valueField = value;\n            }\n        }\n        \n        /// <remarks/>\n        [System.Xml.Serialization.XmlAttributeAttribute()]\n        [System.ComponentModel.DefaultValueAttribute(\"i=24\")]\n        public string DataType {\n            get {\n                return this.dataTypeField;\n            }\n            set {\n                this.dataTypeField = value;\n            }\n        }\n        \n        /// <remarks/>\n        [System.Xml.Serialization.XmlAttributeAttribute()]\n        [System.ComponentModel.DefaultValueAttribute(-1)]\n        public int ValueRank {\n            get {\n                return this.valueRankField;\n            }\n            set {\n                this.valueRankField = value;\n            }\n        }\n        \n        /// <remarks/>\n        [System.Xml.Serialization.XmlAttributeAttribute(DataType=\"token\")]\n        [System.ComponentModel.DefaultValueAttribute(\"\")]\n        public string ArrayDimensions {\n            get {\n                return this.arrayDimensionsField;\n            }\n            set {\n                this.arrayDimensionsField = value;\n            }\n        }\n    }\n    \n    /// <remarks/>\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"xsd\", \"4.6.1055.0\")]\n    [System.SerializableAttribute()]\n    [System.Diagnostics.DebuggerStepThroughAttribute()]\n    [System.ComponentModel.DesignerCategoryAttribute(\"code\")]\n    [System.Xml.Serialization.XmlTypeAttribute(Namespace=\"http://opcfoundation.org/UA/2011/03/UANodeSet.xsd\")]\n    public partial class UAObjectType : UAType {\n    }\n    \n    /// <remarks/>\n    [System.Xml.Serialization.XmlIncludeAttribute(typeof(UAView))]\n    [System.Xml.Serialization.XmlIncludeAttribute(typeof(UAMethod))]\n    [System.Xml.Serialization.XmlIncludeAttribute(typeof(UAVariable))]\n    [System.Xml.Serialization.XmlIncludeAttribute(typeof(UAObject))]\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"xsd\", \"4.6.1055.0\")]\n    [System.SerializableAttribute()]\n   // [System.Diagnostics.DebuggerStepThroughAttribute()]\n    [System.ComponentModel.DesignerCategoryAttribute(\"code\")]\n    [System.Xml.Serialization.XmlTypeAttribute(Namespace=\"http://opcfoundation.org/UA/2011/03/UANodeSet.xsd\")]\n    public partial class UAInstance : UANode {\n        \n        private string parentNodeIdField;\n        \n        /// <remarks/>\n        [System.Xml.Serialization.XmlAttributeAttribute()]\n        public string ParentNodeId {\n            get {\n                return this.parentNodeIdField;\n            }\n            set {\n                this.parentNodeIdField = value;\n            }\n        }\n    }\n    \n    /// <remarks/>\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"xsd\", \"4.6.1055.0\")]\n    [System.SerializableAttribute()]\n    [System.Diagnostics.DebuggerStepThroughAttribute()]\n    [System.ComponentModel.DesignerCategoryAttribute(\"code\")]\n    [System.Xml.Serialization.XmlTypeAttribute(Namespace=\"http://opcfoundation.org/UA/2011/03/UANodeSet.xsd\")]\n    public partial class UAView : UAInstance {\n        \n        private bool containsNoLoopsField;\n        \n        private byte eventNotifierField;\n        \n        public UAView() {\n            this.containsNoLoopsField = false;\n            this.eventNotifierField = ((byte)(0));\n        }\n        \n        /// <remarks/>\n        [System.Xml.Serialization.XmlAttributeAttribute()]\n        [System.ComponentModel.DefaultValueAttribute(false)]\n        public bool ContainsNoLoops {\n            get {\n                return this.containsNoLoopsField;\n            }\n            set {\n                this.containsNoLoopsField = value;\n            }\n        }\n        \n        /// <remarks/>\n        [System.Xml.Serialization.XmlAttributeAttribute()]\n        [System.ComponentModel.DefaultValueAttribute(typeof(byte), \"0\")]\n        public byte EventNotifier {\n            get {\n                return this.eventNotifierField;\n            }\n            set {\n                this.eventNotifierField = value;\n            }\n        }\n    }\n    \n    /// <remarks/>\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"xsd\", \"4.6.1055.0\")]\n    [System.SerializableAttribute()]\n    [System.Diagnostics.DebuggerStepThroughAttribute()]\n    [System.ComponentModel.DesignerCategoryAttribute(\"code\")]\n    [System.Xml.Serialization.XmlTypeAttribute(Namespace=\"http://opcfoundation.org/UA/2011/03/UANodeSet.xsd\")]\n    public partial class UAMethod : UAInstance {\n        \n        private UAMethodArgument[] argumentDescriptionField;\n        \n        private bool executableField;\n        \n        private bool userExecutableField;\n        \n        private string methodDeclarationIdField;\n        \n        public UAMethod() {\n            this.executableField = true;\n            this.userExecutableField = true;\n        }\n        \n        /// <remarks/>\n        [System.Xml.Serialization.XmlElementAttribute(\"ArgumentDescription\")]\n        public UAMethodArgument[] ArgumentDescription {\n            get {\n                return this.argumentDescriptionField;\n            }\n            set {\n                this.argumentDescriptionField = value;\n            }\n        }\n        \n        /// <remarks/>\n        [System.Xml.Serialization.XmlAttributeAttribute()]\n        [System.ComponentModel.DefaultValueAttribute(true)]\n        public bool Executable {\n            get {\n                return this.executableField;\n            }\n            set {\n                this.executableField = value;\n            }\n        }\n        \n        /// <remarks/>\n        [System.Xml.Serialization.XmlAttributeAttribute()]\n        [System.ComponentModel.DefaultValueAttribute(true)]\n        public bool UserExecutable {\n            get {\n                return this.userExecutableField;\n            }\n            set {\n                this.userExecutableField = value;\n            }\n        }\n        \n        /// <remarks/>\n        [System.Xml.Serialization.XmlAttributeAttribute()]\n        public string MethodDeclarationId {\n            get {\n                return this.methodDeclarationIdField;\n            }\n            set {\n                this.methodDeclarationIdField = value;\n            }\n        }\n    }\n    \n    /// <remarks/>\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"xsd\", \"4.6.1055.0\")]\n    [System.SerializableAttribute()]\n   // [System.Diagnostics.DebuggerStepThroughAttribute()]\n    [System.ComponentModel.DesignerCategoryAttribute(\"code\")]\n    [System.Xml.Serialization.XmlTypeAttribute(Namespace=\"http://opcfoundation.org/UA/2011/03/UANodeSet.xsd\")]\n    public partial class UAVariable : UAInstance {\n        \n        private System.Xml.XmlElement valueField;\n        \n        private TranslationType[] translationField;\n        \n        private string dataTypeField;\n        \n        private int valueRankField;\n        \n        private string arrayDimensionsField;\n        \n        private uint accessLevelField;\n        \n        private uint userAccessLevelField;\n        \n        private double minimumSamplingIntervalField;\n        \n        private bool historizingField;\n        \n        public UAVariable() {\n            this.dataTypeField = \"i=24\";\n            this.valueRankField = -1;\n            this.arrayDimensionsField = \"\";\n            this.accessLevelField = ((uint)(1));\n            this.userAccessLevelField = ((uint)(1));\n            this.minimumSamplingIntervalField = 0D;\n            this.historizingField = false;\n        }\n        \n        /// <remarks/>\n        public System.Xml.XmlElement Value {\n            get {\n                return this.valueField;\n            }\n            set {\n                this.valueField = value;\n            }\n        }\n        \n        /// <remarks/>\n        [System.Xml.Serialization.XmlElementAttribute(\"Translation\")]\n        public TranslationType[] Translation {\n            get {\n                return this.translationField;\n            }\n            set {\n                this.translationField = value;\n            }\n        }\n        \n        /// <remarks/>\n        [System.Xml.Serialization.XmlAttributeAttribute()]\n        [System.ComponentModel.DefaultValueAttribute(\"i=24\")]\n        public string DataType {\n            get {\n                return this.dataTypeField;\n            }\n            set {\n                this.dataTypeField = value;\n            }\n        }\n        \n        /// <remarks/>\n        [System.Xml.Serialization.XmlAttributeAttribute()]\n        [System.ComponentModel.DefaultValueAttribute(-1)]\n        public int ValueRank {\n            get {\n                return this.valueRankField;\n            }\n            set {\n                this.valueRankField = value;\n            }\n        }\n        \n        /// <remarks/>\n        [System.Xml.Serialization.XmlAttributeAttribute(DataType=\"token\")]\n        [System.ComponentModel.DefaultValueAttribute(\"\")]\n        public string ArrayDimensions {\n            get {\n                return this.arrayDimensionsField;\n            }\n            set {\n                this.arrayDimensionsField = value;\n            }\n        }\n        \n        /// <remarks/>\n        [System.Xml.Serialization.XmlAttributeAttribute()]\n        [System.ComponentModel.DefaultValueAttribute(typeof(uint), \"1\")]\n        public uint AccessLevel {\n            get {\n                return this.accessLevelField;\n            }\n            set {\n                this.accessLevelField = value;\n            }\n        }\n        \n        /// <remarks/>\n        [System.Xml.Serialization.XmlAttributeAttribute()]\n        [System.ComponentModel.DefaultValueAttribute(typeof(uint), \"1\")]\n        public uint UserAccessLevel {\n            get {\n                return this.userAccessLevelField;\n            }\n            set {\n                this.userAccessLevelField = value;\n            }\n        }\n        \n        /// <remarks/>\n        [System.Xml.Serialization.XmlAttributeAttribute()]\n        [System.ComponentModel.DefaultValueAttribute(0D)]\n        public double MinimumSamplingInterval {\n            get {\n                return this.minimumSamplingIntervalField;\n            }\n            set {\n                this.minimumSamplingIntervalField = value;\n            }\n        }\n        \n        /// <remarks/>\n        [System.Xml.Serialization.XmlAttributeAttribute()]\n        [System.ComponentModel.DefaultValueAttribute(false)]\n        public bool Historizing {\n            get {\n                return this.historizingField;\n            }\n            set {\n                this.historizingField = value;\n            }\n        }\n    }\n    \n    /// <remarks/>\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"xsd\", \"4.6.1055.0\")]\n    [System.SerializableAttribute()]\n    [System.Diagnostics.DebuggerStepThroughAttribute()]\n    [System.ComponentModel.DesignerCategoryAttribute(\"code\")]\n    [System.Xml.Serialization.XmlTypeAttribute(Namespace=\"http://opcfoundation.org/UA/2011/03/UANodeSet.xsd\")]\n    public partial class UAObject : UAInstance {\n        \n        private byte eventNotifierField;\n        \n        public UAObject() {\n            this.eventNotifierField = ((byte)(0));\n        }\n        \n        /// <remarks/>\n        [System.Xml.Serialization.XmlAttributeAttribute()]\n        [System.ComponentModel.DefaultValueAttribute(typeof(byte), \"0\")]\n        public byte EventNotifier {\n            get {\n                return this.eventNotifierField;\n            }\n            set {\n                this.eventNotifierField = value;\n            }\n        }\n    }\n    \n    /// <remarks/>\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"xsd\", \"4.6.1055.0\")]\n    [System.SerializableAttribute()]\n    [System.Diagnostics.DebuggerStepThroughAttribute()]\n    [System.ComponentModel.DesignerCategoryAttribute(\"code\")]\n    [System.Xml.Serialization.XmlTypeAttribute(Namespace=\"http://opcfoundation.org/UA/2011/03/UANodeSet.xsd\")]\n    public partial class NodeIdAlias {\n        \n        private string aliasField;\n        \n        private string valueField;\n        \n        /// <remarks/>\n        [System.Xml.Serialization.XmlAttributeAttribute()]\n        public string Alias {\n            get {\n                return this.aliasField;\n            }\n            set {\n                this.aliasField = value;\n            }\n        }\n        \n        /// <remarks/>\n        [System.Xml.Serialization.XmlTextAttribute()]\n        public string Value {\n            get {\n                return this.valueField;\n            }\n            set {\n                this.valueField = value;\n            }\n        }\n    }\n    \n    /// <remarks/>\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"xsd\", \"4.6.1055.0\")]\n    [System.SerializableAttribute()]\n    [System.Diagnostics.DebuggerStepThroughAttribute()]\n    [System.ComponentModel.DesignerCategoryAttribute(\"code\")]\n    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace=\"http://opcfoundation.org/UA/2011/03/UANodeSet.xsd\")]\n    [System.Xml.Serialization.XmlRootAttribute(Namespace=\"http://opcfoundation.org/UA/2011/03/UANodeSet.xsd\", IsNullable=false)]\n    public partial class UANodeSetChanges {\n        \n        private string[] namespaceUrisField;\n        \n        private string[] serverUrisField;\n        \n        private NodeIdAlias[] aliasesField;\n        \n        private System.Xml.XmlElement[] extensionsField;\n        \n        private UANode[] nodesToAddField;\n        \n        private ReferenceChange[] referencesToAddField;\n        \n        private NodeToDelete[] nodesToDeleteField;\n        \n        private ReferenceChange[] referencesToDeleteField;\n        \n        private System.DateTime lastModifiedField;\n        \n        private bool lastModifiedFieldSpecified;\n        \n        private string transactionIdField;\n        \n        private bool acceptAllOrNothingField;\n        \n        public UANodeSetChanges() {\n            this.acceptAllOrNothingField = false;\n        }\n        \n        /// <remarks/>\n        [System.Xml.Serialization.XmlArrayItemAttribute(\"Uri\", IsNullable=false)]\n        public string[] NamespaceUris {\n            get {\n                return this.namespaceUrisField;\n            }\n            set {\n                this.namespaceUrisField = value;\n            }\n        }\n        \n        /// <remarks/>\n        [System.Xml.Serialization.XmlArrayItemAttribute(\"Uri\", IsNullable=false)]\n        public string[] ServerUris {\n            get {\n                return this.serverUrisField;\n            }\n            set {\n                this.serverUrisField = value;\n            }\n        }\n        \n        /// <remarks/>\n        [System.Xml.Serialization.XmlArrayItemAttribute(\"Alias\", IsNullable=false)]\n        public NodeIdAlias[] Aliases {\n            get {\n                return this.aliasesField;\n            }\n            set {\n                this.aliasesField = value;\n            }\n        }\n        \n        /// <remarks/>\n        [System.Xml.Serialization.XmlArrayItemAttribute(\"Extension\", IsNullable=false)]\n        public System.Xml.XmlElement[] Extensions {\n            get {\n                return this.extensionsField;\n            }\n            set {\n                this.extensionsField = value;\n            }\n        }\n        \n        /// <remarks/>\n        [System.Xml.Serialization.XmlArrayItemAttribute(typeof(UADataType), IsNullable=false)]\n        [System.Xml.Serialization.XmlArrayItemAttribute(typeof(UAMethod), IsNullable=false)]\n        [System.Xml.Serialization.XmlArrayItemAttribute(typeof(UAObject), IsNullable=false)]\n        [System.Xml.Serialization.XmlArrayItemAttribute(typeof(UAObjectType), IsNullable=false)]\n        [System.Xml.Serialization.XmlArrayItemAttribute(typeof(UAReferenceType), IsNullable=false)]\n        [System.Xml.Serialization.XmlArrayItemAttribute(typeof(UAVariable), IsNullable=false)]\n        [System.Xml.Serialization.XmlArrayItemAttribute(typeof(UAVariableType), IsNullable=false)]\n        [System.Xml.Serialization.XmlArrayItemAttribute(typeof(UAView), IsNullable=false)]\n        public UANode[] NodesToAdd {\n            get {\n                return this.nodesToAddField;\n            }\n            set {\n                this.nodesToAddField = value;\n            }\n        }\n        \n        /// <remarks/>\n        [System.Xml.Serialization.XmlArrayItemAttribute(\"Reference\", IsNullable=false)]\n        public ReferenceChange[] ReferencesToAdd {\n            get {\n                return this.referencesToAddField;\n            }\n            set {\n                this.referencesToAddField = value;\n            }\n        }\n        \n        /// <remarks/>\n        [System.Xml.Serialization.XmlArrayItemAttribute(\"Node\", IsNullable=false)]\n        public NodeToDelete[] NodesToDelete {\n            get {\n                return this.nodesToDeleteField;\n            }\n            set {\n                this.nodesToDeleteField = value;\n            }\n        }\n        \n        /// <remarks/>\n        [System.Xml.Serialization.XmlArrayItemAttribute(\"Reference\", IsNullable=false)]\n        public ReferenceChange[] ReferencesToDelete {\n            get {\n                return this.referencesToDeleteField;\n            }\n            set {\n                this.referencesToDeleteField = value;\n            }\n        }\n        \n        /// <remarks/>\n        [System.Xml.Serialization.XmlAttributeAttribute()]\n        public System.DateTime LastModified {\n            get {\n                return this.lastModifiedField;\n            }\n            set {\n                this.lastModifiedField = value;\n            }\n        }\n        \n        /// <remarks/>\n        [System.Xml.Serialization.XmlIgnoreAttribute()]\n        public bool LastModifiedSpecified {\n            get {\n                return this.lastModifiedFieldSpecified;\n            }\n            set {\n                this.lastModifiedFieldSpecified = value;\n            }\n        }\n        \n        /// <remarks/>\n        [System.Xml.Serialization.XmlAttributeAttribute()]\n        public string TransactionId {\n            get {\n                return this.transactionIdField;\n            }\n            set {\n                this.transactionIdField = value;\n            }\n        }\n        \n        /// <remarks/>\n        [System.Xml.Serialization.XmlAttributeAttribute()]\n        [System.ComponentModel.DefaultValueAttribute(false)]\n        public bool AcceptAllOrNothing {\n            get {\n                return this.acceptAllOrNothingField;\n            }\n            set {\n                this.acceptAllOrNothingField = value;\n            }\n        }\n    }\n    \n    /// <remarks/>\n    [System.CodeDom.Compiler.GeneratedCodeAttribute(\"xsd\", \"4.6.1055.0\")]\n    [System.SerializableAttribute()]\n    [System.Diagnostics.DebuggerStepThroughAttribute()]\n    [System.ComponentModel.DesignerCategoryAttribute(\"code\")]\n    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace=\"http://opcfoundation.org/UA/2011/03/UANodeSet.xsd\")]\n    [System.Xml.Serialization.XmlRootAttribute(Namespace=\"http://opcfoundation.org/UA/2011/03/UANodeSet.xsd\", IsNullable=false)]\n    public partial class UANodeSetChangesStatus {\n        \n        private NodeSetStatus[] nodesToAddField;\n        \n        private NodeSetStatus[] referencesToAddField;\n        \n        private NodeSetStatus[] nodesToDeleteField;\n        \n        private NodeSetStatus[] referencesToDeleteField;\n        \n        private System.DateTime lastModifiedField;\n        \n        private bool lastModifiedFieldSpecified;\n        \n        private string transactionIdField;\n        \n        /// <remarks/>\n        [System.Xml.Serialization.XmlArrayItemAttribute(\"Status\", IsNullable=false)]\n        public NodeSetStatus[] NodesToAdd {\n            get {\n                return this.nodesToAddField;\n            }\n            set {\n                this.nodesToAddField = value;\n            }\n        }\n        \n        /// <remarks/>\n        [System.Xml.Serialization.XmlArrayItemAttribute(\"Status\", IsNullable=false)]\n        public NodeSetStatus[] ReferencesToAdd {\n            get {\n                return this.referencesToAddField;\n            }\n            set {\n                this.referencesToAddField = value;\n            }\n        }\n        \n        /// <remarks/>\n        [System.Xml.Serialization.XmlArrayItemAttribute(\"Status\", IsNullable=false)]\n        public NodeSetStatus[] NodesToDelete {\n            get {\n                return this.nodesToDeleteField;\n            }\n            set {\n                this.nodesToDeleteField = value;\n            }\n        }\n        \n        /// <remarks/>\n        [System.Xml.Serialization.XmlArrayItemAttribute(\"Status\", IsNullable=false)]\n        public NodeSetStatus[] ReferencesToDelete {\n            get {\n                return this.referencesToDeleteField;\n            }\n            set {\n                this.referencesToDeleteField = value;\n            }\n        }\n        \n        /// <remarks/>\n        [System.Xml.Serialization.XmlAttributeAttribute()]\n        public System.DateTime LastModified {\n            get {\n                return this.lastModifiedField;\n            }\n            set {\n                this.lastModifiedField = value;\n            }\n        }\n        \n        /// <remarks/>\n        [System.Xml.Serialization.XmlIgnoreAttribute()]\n        public bool LastModifiedSpecified {\n            get {\n                return this.lastModifiedFieldSpecified;\n            }\n            set {\n                this.lastModifiedFieldSpecified = value;\n            }\n        }\n        \n        /// <remarks/>\n        [System.Xml.Serialization.XmlAttributeAttribute()]\n        public string TransactionId {\n            get {\n                return this.transactionIdField;\n            }\n            set {\n                this.transactionIdField = value;\n            }\n        }\n    }\n}\n\n#pragma warning restore 1591"
  },
  {
    "path": "SemanticData/UANodeSetValidation/XML/UANodeSet.xsd",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\" ?>\n<!--\n * Copyright (c) 2005-2020 The OPC Foundation, Inc. All rights reserved.\n *\n * OPC Foundation MIT License 1.00\n * \n * Permission is hereby granted, free of charge, to any person\n * obtaining a copy of this software and associated documentation\n * files (the \"Software\"), to deal in the Software without\n * restriction, including without limitation the rights to use,\n * copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the\n * Software is furnished to do so, subject to the following\n * conditions:\n * \n * The above copyright notice and this permission notice shall be\n * included in all copies or substantial portions of the Software.\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND,\n * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES\n * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND\n * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT\n * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,\n * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING\n * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR\n * OTHER DEALINGS IN THE SOFTWARE.\n *\n * The complete license agreement can be found here:\n * http://opcfoundation.org/License/MIT/1.00/\n-->\n\n<xs:schema\n    targetNamespace=\"http://opcfoundation.org/UA/2011/03/UANodeSet.xsd\"\n    elementFormDefault=\"qualified\"\n    xmlns=\"http://opcfoundation.org/UA/2011/03/UANodeSet.xsd\"\n    xmlns:xs=\"http://www.w3.org/2001/XMLSchema\"\n>\n  <xs:element name=\"UANodeSet\">\n    <xs:complexType>\n      <xs:sequence>\n        <xs:element name=\"NamespaceUris\" type=\"UriTable\" minOccurs=\"0\" />\n        <xs:element name=\"ServerUris\" type=\"UriTable\" minOccurs=\"0\" />\n        <xs:element name=\"Models\" type=\"ModelTable\" minOccurs=\"0\" />\n        <xs:element name=\"Aliases\" type=\"AliasTable\" minOccurs=\"0\" />\n        <xs:element name=\"Extensions\" type=\"ListOfExtensions\" minOccurs=\"0\" />\n        <xs:choice minOccurs=\"0\" maxOccurs=\"unbounded\">\n          <xs:element name=\"UAObject\" type=\"UAObject\" />\n          <xs:element name=\"UAVariable\" type=\"UAVariable\" />\n          <xs:element name=\"UAMethod\" type=\"UAMethod\" />\n          <xs:element name=\"UAView\" type=\"UAView\" />\n          <xs:element name=\"UAObjectType\" type=\"UAObjectType\" />\n          <xs:element name=\"UAVariableType\" type=\"UAVariableType\" />\n          <xs:element name=\"UADataType\" type=\"UADataType\" />\n          <xs:element name=\"UAReferenceType\" type=\"UAReferenceType\" />\n        </xs:choice>\n      </xs:sequence>\n      <xs:attribute name=\"LastModified\" type=\"xs:dateTime\" />\n    </xs:complexType>\n  </xs:element>\n\n  <xs:element name=\"UANodeSetChanges\">\n    <xs:complexType>\n      <xs:sequence>\n        <xs:element name=\"NamespaceUris\" type=\"UriTable\" minOccurs=\"0\" />\n        <xs:element name=\"ServerUris\" type=\"UriTable\" minOccurs=\"0\" />\n        <xs:element name=\"Aliases\" type=\"AliasTable\" minOccurs=\"0\" />\n        <xs:element name=\"Extensions\" type=\"ListOfExtensions\" minOccurs=\"0\" />\n        <xs:element name=\"NodesToAdd\" type=\"NodesToAdd\" minOccurs=\"0\" />\n        <xs:element name=\"ReferencesToAdd\" type=\"ReferencesToChange\" minOccurs=\"0\" />\n        <xs:element name=\"NodesToDelete\" type=\"NodesToDelete\" minOccurs=\"0\" />\n        <xs:element name=\"ReferencesToDelete\" type=\"ReferencesToChange\" minOccurs=\"0\" />\n      </xs:sequence>\n      <xs:attribute name=\"LastModified\" type=\"xs:dateTime\" />\n      <xs:attribute name=\"TransactionId\" type=\"xs:string\" use=\"required\" />\n      <xs:attribute name=\"AcceptAllOrNothing\" type=\"xs:boolean\" default=\"false\" />\n    </xs:complexType>\n  </xs:element>\n\n  <xs:element name=\"UANodeSetChangesStatus\">\n    <xs:complexType>\n      <xs:sequence>\n        <xs:element name=\"NodesToAdd\" type=\"NodeSetStatusList\" minOccurs=\"0\" />\n        <xs:element name=\"ReferencesToAdd\" type=\"NodeSetStatusList\" minOccurs=\"0\" />\n        <xs:element name=\"NodesToDelete\" type=\"NodeSetStatusList\" minOccurs=\"0\" />\n        <xs:element name=\"ReferencesToDelete\" type=\"NodeSetStatusList\" minOccurs=\"0\" />\n      </xs:sequence>\n      <xs:attribute name=\"LastModified\" type=\"xs:dateTime\" />\n      <xs:attribute name=\"TransactionId\" type=\"xs:string\" use=\"required\" />\n    </xs:complexType>\n  </xs:element>\n\n  <xs:complexType name=\"NodesToAdd\">\n    <xs:choice minOccurs=\"0\" maxOccurs=\"unbounded\">\n      <xs:element name=\"UAObject\" type=\"UAObject\" />\n      <xs:element name=\"UAVariable\" type=\"UAVariable\" />\n      <xs:element name=\"UAMethod\" type=\"UAMethod\" />\n      <xs:element name=\"UAView\" type=\"UAView\" />\n      <xs:element name=\"UAObjectType\" type=\"UAObjectType\" />\n      <xs:element name=\"UAVariableType\" type=\"UAVariableType\" />\n      <xs:element name=\"UADataType\" type=\"UADataType\" />\n      <xs:element name=\"UAReferenceType\" type=\"UAReferenceType\" />\n    </xs:choice>\n  </xs:complexType>\n\n  <xs:complexType name=\"NodesToDelete\">\n    <xs:sequence>\n      <xs:element name=\"Node\" type=\"NodeToDelete\" minOccurs=\"0\" maxOccurs=\"unbounded\" />\n    </xs:sequence>\n  </xs:complexType>\n\n  <xs:complexType name=\"NodeToDelete\">\n    <xs:simpleContent>\n      <xs:extension base=\"NodeId\">\n        <xs:attribute name=\"DeleteReverseReferences\" type=\"xs:boolean\" default=\"true\" />\n      </xs:extension>\n    </xs:simpleContent>\n  </xs:complexType>\n\n  <xs:complexType name=\"ReferencesToChange\">\n    <xs:sequence>\n      <xs:element name=\"Reference\" type=\"ReferenceChange\" minOccurs=\"0\" maxOccurs=\"unbounded\" />\n    </xs:sequence>\n  </xs:complexType>\n\n  <xs:complexType name=\"ReferenceChange\">\n    <xs:simpleContent>\n      <xs:extension base=\"NodeId\">\n        <xs:attribute name=\"Source\" type=\"NodeId\" use=\"required\" />\n        <xs:attribute name=\"ReferenceType\" type=\"NodeId\" use=\"required\" />\n        <xs:attribute name=\"IsForward\" type=\"xs:boolean\" default=\"true\" />\n      </xs:extension>\n    </xs:simpleContent>\n  </xs:complexType>\n\n  <xs:complexType name=\"NodeSetStatus\">\n    <xs:simpleContent>\n      <xs:extension base=\"xs:string\">\n        <xs:attribute name=\"Code\" type=\"xs:unsignedInt\" default=\"0\" />\n      </xs:extension>\n    </xs:simpleContent>\n  </xs:complexType>\n\n  <xs:complexType name=\"NodeSetStatusList\">\n    <xs:sequence>\n      <xs:element name=\"Status\" type=\"NodeSetStatus\" minOccurs=\"0\" maxOccurs=\"unbounded\" />\n    </xs:sequence>\n  </xs:complexType>\n\n  <xs:complexType name=\"UriTable\">\n    <xs:sequence>\n      <xs:element name=\"Uri\" type=\"xs:string\" minOccurs=\"0\" maxOccurs=\"unbounded\" />\n    </xs:sequence>\n  </xs:complexType>\n\n  <xs:complexType name=\"ModelTableEntry\">\n    <xs:sequence>\n      <xs:element name=\"RolePermissions\" type=\"ListOfRolePermissions\" minOccurs=\"0\" />\n      <xs:element name=\"RequiredModel\" type=\"ModelTableEntry\" minOccurs=\"0\" maxOccurs=\"unbounded\" />\n    </xs:sequence>\n    <xs:attribute name=\"ModelUri\" type=\"xs:string\" use=\"required\" />\n    <xs:attribute name=\"Version\" type=\"xs:string\" />\n    <xs:attribute name=\"PublicationDate\" type=\"xs:dateTime\" />\n    <xs:attribute name=\"AccessRestrictions\" type=\"AccessRestriction\" default=\"0\" />\n  </xs:complexType>\n\n  <xs:complexType name=\"ModelTable\">\n    <xs:sequence>\n      <xs:element name=\"Model\" type=\"ModelTableEntry\" minOccurs=\"0\" maxOccurs=\"unbounded\" />\n    </xs:sequence>\n  </xs:complexType>\n\n  <xs:simpleType name=\"NodeId\">\n    <xs:restriction base=\"xs:string\" />\n  </xs:simpleType>\n\n  <xs:simpleType name=\"QualifiedName\">\n    <xs:restriction base=\"xs:string\" />\n  </xs:simpleType>\n\n  <xs:complexType name=\"NodeIdAlias\">\n    <xs:simpleContent>\n      <xs:extension base=\"NodeId\">\n        <xs:attribute name=\"Alias\" type=\"xs:string\" use=\"required\" />\n      </xs:extension>\n    </xs:simpleContent>\n  </xs:complexType>\n\n  <xs:complexType name=\"AliasTable\">\n    <xs:sequence>\n      <xs:element name=\"Alias\" type=\"NodeIdAlias\" minOccurs=\"0\" maxOccurs=\"unbounded\" />\n    </xs:sequence>\n  </xs:complexType>\n\n  <xs:simpleType name=\"Locale\">\n    <xs:restriction base=\"xs:string\" />\n  </xs:simpleType>\n\n  <xs:complexType name=\"LocalizedText\">\n    <xs:simpleContent>\n      <xs:extension base=\"xs:string\">\n        <xs:attribute name=\"Locale\" type=\"Locale\" default=\"\" />\n      </xs:extension>\n    </xs:simpleContent>\n  </xs:complexType>\n\n  <xs:simpleType name=\"WriteMask\">\n    <xs:restriction base=\"xs:unsignedInt\" />\n  </xs:simpleType>\n\n  <xs:simpleType name=\"EventNotifier\">\n    <xs:restriction base=\"xs:unsignedByte\" />\n  </xs:simpleType>\n\n  <xs:simpleType name=\"ValueRank\">\n    <xs:restriction base=\"xs:int\" />\n  </xs:simpleType>\n\n  <xs:simpleType name=\"AccessRestriction\">\n    <xs:restriction base=\"xs:unsignedByte\" />\n  </xs:simpleType>\n\n  <xs:simpleType name=\"ArrayDimensions\">\n\t<xs:restriction base=\"xs:token\">\n\t  <xs:pattern value=\"(([0-9]+,)*[0-9]+)?\" />\n\t</xs:restriction>\n  </xs:simpleType>\n\n  <xs:simpleType name=\"SymbolicName\">\n    <xs:list>\n      <xs:simpleType>\n        <xs:restriction base=\"xs:string\">\n          <xs:pattern value=\"[A-Za-z][A-Za-z0-9_]*\" />\n        </xs:restriction>\n      </xs:simpleType>\n    </xs:list>\n  </xs:simpleType>\n\n  <xs:simpleType name=\"Duration\">\n    <xs:restriction base=\"xs:double\" />\n  </xs:simpleType>\n\n  <xs:simpleType name=\"AccessLevel\">\n    <xs:restriction base=\"xs:unsignedInt\" />\n  </xs:simpleType>\n\n  <xs:complexType name=\"Reference\">\n    <xs:simpleContent>\n      <xs:extension base=\"NodeId\">\n        <xs:attribute name=\"ReferenceType\" type=\"NodeId\" use=\"required\" />\n        <xs:attribute name=\"IsForward\" type=\"xs:boolean\" default=\"true\" />\n      </xs:extension>\n    </xs:simpleContent>\n  </xs:complexType>\n\n  <xs:complexType name=\"ListOfReferences\">\n    <xs:sequence>\n      <xs:element name=\"Reference\" type=\"Reference\" minOccurs=\"0\" maxOccurs=\"unbounded\" />\n    </xs:sequence>\n  </xs:complexType>\n\n  <xs:complexType name=\"ListOfConformanceUnits\">\n    <xs:sequence>\n      <xs:element name=\"ConformanceUnit\" type=\"xs:string\" minOccurs=\"0\" maxOccurs=\"unbounded\" />\n    </xs:sequence>\n  </xs:complexType>\n\n  <xs:complexType name=\"RolePermission\">\n    <xs:simpleContent>\n      <xs:extension base=\"NodeId\">\n        <xs:attribute name=\"Permissions\" type=\"xs:unsignedInt\" default=\"0\" />\n      </xs:extension>\n    </xs:simpleContent>\n  </xs:complexType>\n\n  <xs:complexType name=\"ListOfRolePermissions\">\n    <xs:sequence>\n      <xs:element name=\"RolePermission\" type=\"RolePermission\" minOccurs=\"0\" maxOccurs=\"unbounded\" />\n    </xs:sequence>\n  </xs:complexType>\n\n  <xs:complexType name=\"ListOfExtensions\">\n    <xs:sequence>\n      <xs:element name=\"Extension\" minOccurs=\"0\" maxOccurs=\"unbounded\">\n        <xs:complexType>\n          <xs:sequence>\n            <xs:any minOccurs=\"0\" processContents=\"lax\" />\n          </xs:sequence>\n        </xs:complexType>\n      </xs:element>\n    </xs:sequence>\n  </xs:complexType>\n\n  <xs:simpleType name=\"ReleaseStatus\">\n    <xs:restriction base=\"xs:string\">\n      <xs:enumeration value=\"Released\" />\n      <xs:enumeration value=\"Draft\" />\n      <xs:enumeration value=\"Deprecated\" />\n    </xs:restriction>\n  </xs:simpleType>\n\n  <xs:complexType name=\"UANode\">\n    <xs:sequence>\n      <xs:element name=\"DisplayName\" type=\"LocalizedText\" minOccurs=\"0\" maxOccurs=\"unbounded\" />\n      <xs:element name=\"Description\" type=\"LocalizedText\" minOccurs=\"0\" maxOccurs=\"unbounded\" />\n      <xs:element name=\"Category\" type=\"xs:string\" minOccurs=\"0\" maxOccurs=\"unbounded\" />\n      <xs:element name=\"Documentation\" type=\"xs:string\" minOccurs=\"0\" />\n      <xs:element name=\"References\" type=\"ListOfReferences\" minOccurs=\"0\" />\n      <xs:element name=\"RolePermissions\" type=\"ListOfRolePermissions\" minOccurs=\"0\" />\n      <xs:element name=\"ConformanceUnits\" type=\"ListOfConformanceUnits\" minOccurs=\"0\" />\n      <xs:element name=\"Extensions\" type=\"ListOfExtensions\" minOccurs=\"0\" />\n    </xs:sequence>\n    <xs:attribute name=\"NodeId\" type=\"NodeId\" use=\"required\" />\n    <xs:attribute name=\"BrowseName\" type=\"QualifiedName\" use=\"required\" />\n    <xs:attribute name=\"WriteMask\" type=\"WriteMask\" default=\"0\" />\n    <xs:attribute name=\"UserWriteMask\" type=\"WriteMask\" default=\"0\" />\n    <xs:attribute name=\"AccessRestrictions\" type=\"AccessRestriction\" default=\"0\" />\n    <xs:attribute name=\"SymbolicName\" type=\"SymbolicName\" />\n    <xs:attribute name=\"ReleaseStatus\" type=\"ReleaseStatus\" default=\"Released\" />\n  </xs:complexType>\n\n  <xs:complexType name=\"UAInstance\">\n    <xs:complexContent>\n      <xs:extension base=\"UANode\">\n        <xs:attribute name=\"ParentNodeId\" type=\"NodeId\" />\n      </xs:extension>\n    </xs:complexContent>\n  </xs:complexType>\n\n  <xs:complexType name=\"UAObject\">\n    <xs:complexContent>\n      <xs:extension base=\"UAInstance\">\n        <xs:attribute name=\"EventNotifier\" type=\"EventNotifier\" default=\"0\" />\n      </xs:extension>\n    </xs:complexContent>\n  </xs:complexType>\n\n  <xs:complexType name=\"UAVariable\">\n    <xs:complexContent>\n      <xs:extension base=\"UAInstance\">\n        <xs:sequence>\n          <xs:element name=\"Value\" minOccurs=\"0\">\n            <xs:complexType>\n              <xs:sequence>\n                <xs:any minOccurs=\"0\" processContents=\"lax\" />\n              </xs:sequence>\n            </xs:complexType>\n          </xs:element>\n          <xs:element name=\"Translation\" type=\"TranslationType\" minOccurs=\"0\" maxOccurs=\"unbounded\" />\n        </xs:sequence>\n        <xs:attribute name=\"DataType\" type=\"NodeId\" default=\"i=24\" />\n        <xs:attribute name=\"ValueRank\" type=\"ValueRank\" default=\"-1\" />\n        <xs:attribute name=\"ArrayDimensions\" type=\"ArrayDimensions\" default=\"\" />\n        <xs:attribute name=\"AccessLevel\" type=\"AccessLevel\" default=\"1\" />\n        <xs:attribute name=\"UserAccessLevel\" type=\"AccessLevel\" default=\"1\" />\n        <xs:attribute name=\"MinimumSamplingInterval\" type=\"Duration\" default=\"0\" />\n        <xs:attribute name=\"Historizing\" type=\"xs:boolean\" default=\"false\" />\n      </xs:extension>\n    </xs:complexContent>\n  </xs:complexType>\n\n  <xs:complexType name=\"UAMethodArgument\">\n    <xs:sequence>\n      <xs:element name=\"Name\" type=\"xs:string\" minOccurs=\"0\" />\n      <xs:element name=\"Description\" type=\"LocalizedText\" minOccurs=\"0\" maxOccurs=\"unbounded\" />\n    </xs:sequence>\n  </xs:complexType>\n\n  <xs:complexType name=\"UAMethod\">\n    <xs:complexContent>\n      <xs:extension base=\"UAInstance\">\n        <xs:sequence>\n          <xs:element name=\"ArgumentDescription\" type=\"UAMethodArgument\" minOccurs=\"0\" maxOccurs=\"unbounded\" />\n        </xs:sequence>\n        <xs:attribute name=\"Executable\" type=\"xs:boolean\" default=\"true\" />\n        <xs:attribute name=\"UserExecutable\" type=\"xs:boolean\" default=\"true\" />\n        <xs:attribute name=\"MethodDeclarationId\" type=\"NodeId\" />\n      </xs:extension>\n    </xs:complexContent>\n  </xs:complexType>\n\n  <xs:complexType name=\"TranslationType\">\n    <xs:choice minOccurs=\"0\">\n      <xs:element name=\"Text\" type=\"LocalizedText\" minOccurs=\"0\" maxOccurs=\"unbounded\" />\n      <xs:element name=\"Field\" type=\"StructureTranslationType\" minOccurs=\"0\" maxOccurs=\"unbounded\" />\n    </xs:choice>\n  </xs:complexType>\n\n  <xs:complexType name=\"StructureTranslationType\">\n    <xs:sequence>\n      <xs:element name=\"Text\" type=\"LocalizedText\" minOccurs=\"0\" maxOccurs=\"unbounded\" />\n    </xs:sequence>\n    <xs:attribute name=\"Name\" type=\"xs:string\" use=\"required\" />\n  </xs:complexType>\n\n  <xs:complexType name=\"UAView\">\n    <xs:complexContent>\n      <xs:extension base=\"UAInstance\">\n        <xs:attribute name=\"ContainsNoLoops\" type=\"xs:boolean\" default=\"false\" />\n        <xs:attribute name=\"EventNotifier\" type=\"EventNotifier\" default=\"0\" />\n      </xs:extension>\n    </xs:complexContent>\n  </xs:complexType>\n\n  <xs:complexType name=\"UAType\">\n    <xs:complexContent>\n      <xs:extension base=\"UANode\">\n        <xs:attribute name=\"IsAbstract\" type=\"xs:boolean\" default=\"false\" />\n      </xs:extension>\n    </xs:complexContent>\n  </xs:complexType>\n\n  <xs:complexType name=\"UAObjectType\">\n    <xs:complexContent>\n      <xs:extension base=\"UAType\" />\n    </xs:complexContent>\n  </xs:complexType>\n\n  <xs:complexType name=\"UAVariableType\">\n    <xs:complexContent>\n      <xs:extension base=\"UAType\">\n        <xs:sequence>\n          <xs:element name=\"Value\" minOccurs=\"0\">\n            <xs:complexType>\n              <xs:sequence>\n                <xs:any minOccurs=\"0\" processContents=\"lax\" />\n              </xs:sequence>\n            </xs:complexType>\n          </xs:element>\n        </xs:sequence>\n        <xs:attribute name=\"DataType\" type=\"NodeId\" default=\"i=24\" />\n        <xs:attribute name=\"ValueRank\" type=\"ValueRank\" default=\"-1\" />\n        <xs:attribute name=\"ArrayDimensions\" type=\"ArrayDimensions\" default=\"\" />\n      </xs:extension>\n    </xs:complexContent>\n  </xs:complexType>\n\n  <xs:simpleType name=\"DataTypePurpose\">\n    <xs:restriction base=\"xs:string\">\n      <xs:enumeration value=\"Normal\" />\n      <xs:enumeration value=\"ServicesOnly\" />\n      <xs:enumeration value=\"CodeGenerator\" />\n    </xs:restriction>\n  </xs:simpleType>\n  \n  <xs:complexType name=\"UADataType\">\n    <xs:complexContent>\n      <xs:extension base=\"UAType\">\n        <xs:sequence>\n          <xs:element name=\"Definition\" type=\"DataTypeDefinition\" minOccurs=\"0\" />\n        </xs:sequence>\n        <xs:attribute name=\"Purpose\" type=\"DataTypePurpose\" default=\"Normal\" />\n      </xs:extension>\n    </xs:complexContent>\n  </xs:complexType>\n\n  <xs:complexType name=\"DataTypeDefinition\">\n    <xs:sequence>\n      <xs:element name=\"Field\" type=\"DataTypeField\" minOccurs=\"0\" maxOccurs=\"unbounded\" />\n    </xs:sequence>\n    <xs:attribute name=\"Name\" type=\"QualifiedName\" use=\"required\" />\n    <xs:attribute name=\"SymbolicName\" type=\"SymbolicName\" default=\"\" />\n    <xs:attribute name=\"IsUnion\" type=\"xs:boolean\" default=\"false\" />\n    <xs:attribute name=\"IsOptionSet\" type=\"xs:boolean\" default=\"false\" />\n    \n    <!-- BaseType is obsolete and no longer used. Left in for backwards compatibility. -->\n    <xs:attribute name=\"BaseType\" type=\"QualifiedName\" default=\"\" />\n  </xs:complexType>\n\n  <xs:complexType name=\"DataTypeField\">\n    <xs:sequence>\n      <xs:element name=\"DisplayName\" type=\"LocalizedText\" minOccurs=\"0\" maxOccurs=\"unbounded\" />\n      <xs:element name=\"Description\" type=\"LocalizedText\" minOccurs=\"0\" maxOccurs=\"unbounded\" />\n    </xs:sequence>\n    <xs:attribute name=\"Name\" type=\"xs:string\" use=\"required\" />\n    <xs:attribute name=\"SymbolicName\" type=\"SymbolicName\" />\n    <xs:attribute name=\"DataType\" type=\"NodeId\" default=\"i=24\" />\n    <xs:attribute name=\"ValueRank\" type=\"ValueRank\" default=\"-1\" />\n    <xs:attribute name=\"ArrayDimensions\" type=\"ArrayDimensions\" default=\"\" />\n    <xs:attribute name=\"MaxStringLength\" type=\"xs:unsignedInt\" default=\"0\" />\n    <xs:attribute name=\"Value\" type=\"xs:int\" default=\"-1\" />\n    <xs:attribute name=\"IsOptional\" type=\"xs:boolean\" default=\"false\" />\n  </xs:complexType>\n\n  <xs:complexType name=\"UAReferenceType\">\n    <xs:complexContent>\n      <xs:extension base=\"UAType\">\n        <xs:sequence>\n          <xs:element name=\"InverseName\" type=\"LocalizedText\" minOccurs=\"0\" maxOccurs=\"unbounded\" />\n        </xs:sequence>\n        <xs:attribute name=\"Symmetric\" type=\"xs:boolean\" default=\"false\" />\n      </xs:extension>\n    </xs:complexContent>\n  </xs:complexType>\n\n</xs:schema>\n"
  },
  {
    "path": "SemanticData/UANodeSetValidation/XML/UANodeSetChanges.cs",
    "content": "﻿//___________________________________________________________________________________\n//\n//  Copyright (C) 2021, Mariusz Postol LODZ POLAND.\n//\n//  To be in touch join the community at GITTER: https://gitter.im/mpostol/OPC-UA-OOI\n//___________________________________________________________________________________\n\nusing System;\nusing UAOOI.SemanticData.BuildingErrorsHandling;\nusing UAOOI.SemanticData.UANodeSetValidation.DataSerialization;\n\nnamespace UAOOI.SemanticData.UANodeSetValidation.XML\n{\n  /// <summary>\n  /// Class UANodeSetChanges.\n  /// </summary>\n  public partial class UANodeSetChanges\n  {\n    internal void RecalculateNodeIds(IUAModelContext modelContext, Action<TraceMessage> trace)\n    {\n      Func<string, NodeId> importNodeId = x => modelContext.ImportNodeId(x, trace);\n      if (this.Aliases != null)\n        foreach (NodeIdAlias _alias in this.Aliases)\n          _alias.RecalculateNodeIds(importNodeId);\n      if (this.NodesToAdd != null)\n        foreach (UANode _node in this.NodesToAdd)\n          _node.RecalculateNodeIds(modelContext, trace);\n      if (this.NodesToDelete != null)\n        foreach (NodeToDelete _node in this.NodesToDelete)\n          _node.RecalculateNodeIds(importNodeId);\n      if (this.ReferencesToAdd != null)\n        foreach (ReferenceChange _reference in this.ReferencesToAdd)\n          _reference.RecalculateNodeIds(importNodeId);\n      if (this.ReferencesToDelete != null)\n        foreach (ReferenceChange _reference in this.ReferencesToDelete)\n          _reference.RecalculateNodeIds(importNodeId);\n    }\n  }\n}"
  },
  {
    "path": "SemanticData/UANodeSetValidation/XML/UAObject.cs",
    "content": "﻿//__________________________________________________________________________________________________\n//\n//  Copyright (C) 2022, Mariusz Postol LODZ POLAND.\n//\n//  To be in touch join the community at GitHub: https://github.com/mpostol/OPC-UA-OOI/discussions\n//__________________________________________________________________________________________________\n\nusing UAOOI.SemanticData.AddressSpace.Abstractions;\n\nnamespace UAOOI.SemanticData.UANodeSetValidation.XML\n{\n  public partial class UAObject : IUAObject\n  {\n    public override NodeClassEnum NodeClass => NodeClassEnum.UAObject;\n\n    /// <summary>\n    /// Indicates whether the inherited parent object is also equal to another object.\n    /// </summary>\n    /// <param name=\"other\">An object to compare with this object.</param>\n    /// <returns><c>true</c> if the current object is equal to the <paramref name=\"other\">other</paramref>; otherwise,, <c>false</c> otherwise.</returns>\n    protected override bool ParentEquals(IUANode other)\n    {\n      UAObject _other = other as UAObject;\n      if (_other == null)\n        return false;\n      return\n        base.ParentEquals(_other) &&\n        (this.EventNotifier == _other.EventNotifier);\n    }\n\n    /// <summary>\n    /// Get the clone from the types derived from this one.\n    /// </summary>\n    /// <returns>An instance of <see cref=\"UANode\" />.</returns>\n    protected override UANode ParentClone()\n    {\n      UAObject _ret = new UAObject()\n      {\n        EventNotifier = this.EventNotifier\n      };\n      base.CloneUAInstance(_ret);\n      return _ret;\n    }\n  }\n}"
  },
  {
    "path": "SemanticData/UANodeSetValidation/XML/UAObjectType.cs",
    "content": "﻿//___________________________________________________________________________________\n//\n//  Copyright (C) 2019, Mariusz Postol LODZ POLAND.\n//\n//  To be in touch join the community at GITTER: https://gitter.im/mpostol/OPC-UA-OOI\n//___________________________________________________________________________________\n\nusing UAOOI.SemanticData.AddressSpace.Abstractions;\n\nnamespace UAOOI.SemanticData.UANodeSetValidation.XML\n{\n  public partial class UAObjectType : IUAObjectType\n  {\n    public override NodeClassEnum NodeClass => NodeClassEnum.UAObjectType;\n\n    /// <summary>\n    /// Get the clone from the types derived from this one.\n    /// </summary>\n    /// <returns>An instance of <see cref=\"T:UAOOI.SemanticData.UANodeSetValidation.XML.UANode\" />.</returns>\n    protected override UANode ParentClone()\n    {\n      UAObjectType _ret = new UAObjectType();\n      base.CloneUAType(_ret);\n      return _ret;\n    }\n  }\n}"
  },
  {
    "path": "SemanticData/UANodeSetValidation/XML/UAReferenceType.cs",
    "content": "﻿//__________________________________________________________________________________________________\n//\n//  Copyright (C) 2022, Mariusz Postol LODZ POLAND.\n//\n//  To be in touch join the community at GitHub: https://github.com/mpostol/OPC-UA-OOI/discussions\n//__________________________________________________________________________________________________\n\nusing System;\nusing UAOOI.SemanticData.AddressSpace.Abstractions;\nusing UAOOI.SemanticData.BuildingErrorsHandling;\n\nnamespace UAOOI.SemanticData.UANodeSetValidation.XML\n{\n  public partial class UAReferenceType : IUAReferenceType\n  {\n    public override NodeClassEnum NodeClass => NodeClassEnum.UAReferenceType;\n\n    DataSerialization.LocalizedText[] IUAReferenceType.InverseName\n    {\n      get { return this.InverseName.GetLocalizedTextArray(); }\n    }\n\n    /// <summary>\n    /// Get the clone from the types derived from this one.\n    /// </summary>\n    /// <returns>An instance of <see cref=\"T:UAOOI.SemanticData.UANodeSetValidation.XML.UANode\" />.</returns>\n    protected override UANode ParentClone()\n    {\n      UAReferenceType _ret = new UAReferenceType()\n      {\n        InverseName = this.InverseName,\n        Symmetric = this.Symmetric\n      };\n      base.CloneUAType(_ret);\n      return _ret;\n    }\n\n    internal override void RecalculateNodeIds(IUAModelContext modelContext, Action<TraceMessage> trace)\n    {\n      base.RecalculateNodeIds(modelContext, trace);\n      modelContext.RegisterUAReferenceType(BrowseName);\n    }\n  }\n}"
  },
  {
    "path": "SemanticData/UANodeSetValidation/XML/UAType.cs",
    "content": "﻿//__________________________________________________________________________________________________\n//\n//  Copyright (C) 2022, Mariusz Postol LODZ POLAND.\n//\n//  To be in touch join the community at GitHub: https://github.com/mpostol/OPC-UA-OOI/discussions\n//__________________________________________________________________________________________________\n\n\nusing System;\nusing UAOOI.SemanticData.AddressSpace.Abstractions;\n\nnamespace UAOOI.SemanticData.UANodeSetValidation.XML\n{\n  /// <summary>\n  /// Class UAType.\n  /// Implements the <see cref=\"UANode\" />\n  /// </summary>\n  /// <seealso cref=\"UANode\" />\n  public abstract partial class UAType : IUAType\n  {\n    /// <summary>\n    /// Indicates whether the inherited parent object is also equal to another object.\n    /// </summary>\n    /// <param name=\"other\">An object to compare with this object.</param>\n    /// <returns><c>true</c> if the current object is equal to the <paramref name=\"other\">other</paramref>; otherwise,, <c>false</c> otherwise.</returns>\n    /// <exception cref=\"NotImplementedException\">Intentionally not implemented</exception>\n    protected override bool ParentEquals(IUANode other)\n    {\n      throw new NotImplementedException(\"Intentionally not implemented\");\n    }\n\n    /// <summary>\n    /// Clones the instance of the <see cref=\"UAType\"/>.\n    /// </summary>\n    /// <param name=\"node\">The node to be updated.</param>\n    protected void CloneUAType(UAType node)\n    {\n      node.IsAbstract = this.IsAbstract;\n      base.CloneUANode(node);\n    }\n  }\n}"
  },
  {
    "path": "SemanticData/UANodeSetValidation/XML/UAVariable.cs",
    "content": "﻿//__________________________________________________________________________________________________\n//\n//  Copyright (C) 2022, Mariusz Postol LODZ POLAND.\n//\n//  To be in touch join the community at GitHub: https://github.com/mpostol/OPC-UA-OOI/discussions\n//__________________________________________________________________________________________________\n\nusing System;\nusing UAOOI.SemanticData.AddressSpace.Abstractions;\nusing UAOOI.SemanticData.BuildingErrorsHandling;\nusing UAOOI.SemanticData.UANodeSetValidation.DataSerialization;\n\nnamespace UAOOI.SemanticData.UANodeSetValidation.XML\n{\n  public partial class UAVariable : IUAVariable\n  {\n    public override NodeClassEnum NodeClass => NodeClassEnum.UAVariable;\n\n    /// <summary>\n    /// Indicates whether the inherited parent object is also equal to another object.\n    /// </summary>\n    /// <param name=\"other\">An object to compare with this object.</param>\n    /// <returns>\n    ///   <c>true</c> if the current object is equal to the <paramref name=\"other\">other</paramref>; otherwise,, <c>false</c> otherwise.</returns>\n    protected override bool ParentEquals(IUANode other)\n    {\n      UAVariable _other = other as UAVariable;\n      if (_other == null)\n        return false;\n      return\n        base.ParentEquals(_other) &&\n        //TODO compare Value, Translation\n        this.DataType == _other.DataType &&\n        this.ValueRank == _other.ValueRank &&\n        this.ArrayDimensions == _other.ArrayDimensions &&\n        this.AccessLevel == _other.AccessLevel &&\n        this.UserAccessLevel == _other.UserAccessLevel &&\n        this.MinimumSamplingInterval == _other.MinimumSamplingInterval &&\n        this.Historizing == _other.Historizing;\n    }\n\n    public override void RemoveInheritedValues(IUANode baseNode)\n    {\n      base.RemoveInheritedValues(baseNode);\n      UAVariable _other = baseNode as UAVariable;\n      if (baseNode is null)\n        throw new System.ArgumentNullException($\"{nameof(baseNode)}\", $\"The parameter of the {nameof(RemoveInheritedValues)} must not be null\");\n      if (this.DataType == _other.DataType)\n        this.DataType = null;\n      if (this.ArrayDimensions == _other.ArrayDimensions)\n        this.ArrayDimensions = string.Empty;\n    }\n\n    internal override void RecalculateNodeIds(IUAModelContext modelContext, Action<TraceMessage> trace)\n    {\n      DataTypeNodeId = modelContext.ImportNodeId(DataType, trace);\n      base.RecalculateNodeIds(modelContext, trace);\n    }\n\n    #region IUAVariable\n\n    NodeId IUAVariable.DataType\n    {\n      get { return DataTypeNodeId; }\n    }\n\n    private NodeId DataTypeNodeId = null;\n\n    uint? IUAVariable.AccessLevel\n    {\n      get { return this.AccessLevel; }\n      set { this.AccessLevel = value.HasValue ? value.Value : 1; }\n    }\n\n    //bool? IUAVariable.Historizing\n    //{\n    //  get { return this.Historizing; }\n    //  set { this.Historizing = value.HasValue ? value.Value : false; }\n    //}\n\n    byte? IUAVariable.UserAccessLevel { get => throw new NotImplementedException(); set => throw new NotImplementedException(); }\n    bool IUAVariable.Translation { get => this.Translation != null; }\n\n    #endregion IUAVariable\n\n    /// <summary>\n    /// Get the clone from the types derived from this one.\n    /// </summary>\n    /// <returns>An instance of <see cref=\"UANode\" />.</returns>\n    protected override UANode ParentClone()\n    {\n      UAVariable _ret = new UAVariable()\n      {\n        Value = this.Value,\n        Translation = this.Translation,\n        DataType = this.DataType,\n        ValueRank = this.ValueRank,\n        ArrayDimensions = this.ArrayDimensions,\n        AccessLevel = this.AccessLevel,\n        UserAccessLevel = this.UserAccessLevel,\n        MinimumSamplingInterval = this.MinimumSamplingInterval,\n        Historizing = this.Historizing,\n      };\n      return _ret;\n    }\n\n  }\n}"
  },
  {
    "path": "SemanticData/UANodeSetValidation/XML/UAVariableType.cs",
    "content": "﻿//__________________________________________________________________________________________________\n//\n//  Copyright (C) 2022, Mariusz Postol LODZ POLAND.\n//\n//  To be in touch join the community at GitHub: https://github.com/mpostol/OPC-UA-OOI/discussions\n//__________________________________________________________________________________________________\n\nusing System;\nusing UAOOI.SemanticData.AddressSpace.Abstractions;\nusing UAOOI.SemanticData.BuildingErrorsHandling;\nusing UAOOI.SemanticData.UANodeSetValidation.DataSerialization;\n\nnamespace UAOOI.SemanticData.UANodeSetValidation.XML\n{\n  public partial class UAVariableType : IUAVariableType\n  {\n    /// <summary>\n    /// The NodeClass identifies the NodeClass of a Node.\n    /// </summary>\n    public override NodeClassEnum NodeClass => NodeClassEnum.UAVariableType;\n\n    /// <summary>\n    /// Get the clone from the types derived from this one.\n    /// </summary>\n    /// <returns>An instance of <see cref=\"T:UAOOI.SemanticData.UANodeSetValidation.XML.UANode\" />.</returns>\n    protected override UANode ParentClone()\n    {\n      UAVariableType _ret = new UAVariableType()\n      {\n        Value = this.Value,\n        DataType = this.DataType,\n        ValueRank = this.ValueRank,\n        ArrayDimensions = this.ArrayDimensions\n      };\n      base.CloneUAType(_ret);\n      return _ret;\n    }\n\n    /// <summary>\n    /// Recalculates the node identifiers.\n    /// </summary>\n    /// <param name=\"modelContext\">The model context.</param>\n    /// <param name=\"trace\">The trace.</param>\n    internal override void RecalculateNodeIds(IUAModelContext modelContext, Action<TraceMessage> trace)\n    {\n      base.RecalculateNodeIds(modelContext, trace);\n      m_DataTypeNodeId = modelContext.ImportNodeId(this.DataType, trace);\n    }\n\n    #region IUAVariableType\n\n    NodeId IUAVariableType.DataType => m_DataTypeNodeId;\n\n    #endregion IUAVariableType\n\n    private NodeId m_DataTypeNodeId;\n  }\n}"
  },
  {
    "path": "SemanticData/UANodeSetValidation/XML/UAView.cs",
    "content": "﻿//__________________________________________________________________________________________________\n//\n//  Copyright (C) 2022, Mariusz Postol LODZ POLAND.\n//\n//  To be in touch join the community at GitHub: https://github.com/mpostol/OPC-UA-OOI/discussions\n//__________________________________________________________________________________________________\n\nusing UAOOI.SemanticData.AddressSpace.Abstractions;\n\nnamespace UAOOI.SemanticData.UANodeSetValidation.XML\n{\n  public partial class UAView : IUAView\n  {\n    public override NodeClassEnum NodeClass => NodeClassEnum.UAView;\n\n    /// <summary>\n    /// Indicates whether the inherited parent object is also equal to another object.\n    /// </summary>\n    /// <param name=\"other\">An object to compare with this object.</param>\n    /// <returns><c>true</c> if the current object is equal to the <paramref name=\"other\">other</paramref>; otherwise,, <c>false</c> otherwise.</returns>\n    protected override bool ParentEquals(IUANode other)\n    {\n      UAView _other = other as UAView;\n      if (_other == null)\n        return false;\n      return\n        base.ParentEquals(_other) &&\n        (this.ContainsNoLoops == _other.ContainsNoLoops) &&\n        (this.EventNotifier == _other.EventNotifier);\n    }\n\n    /// <summary>\n    /// Get the clone from the types derived from this one.\n    /// </summary>\n    /// <returns>An instance of <see cref=\"UANode\" />.</returns>\n    protected override UANode ParentClone()\n    {\n      UAView _ret = new UAView()\n      {\n        ContainsNoLoops = this.ContainsNoLoops,\n        EventNotifier = this.EventNotifier\n      };\n      base.CloneUAInstance(_ret);\n      return _ret;\n    }\n  }\n}"
  },
  {
    "path": "SemanticData/UANodeSetValidation/docs/.vscode/settings.json",
    "content": "{\n    \"cSpell.enabled\": true\n}"
  },
  {
    "path": "SemanticData/UANodeSetValidation/docs/ObjectModelSpecyficatio.md",
    "content": "# OPC UA Object Model Working Notes <!-- omit in toc -->\n\n## Table of Content <!-- omit in toc -->\n\n- [Address Space Concept Executive Summary](#address-space-concept-executive-summary)\n- [Naming Conventions for Nodes](#naming-conventions-for-nodes)\n  - [BrowseName Attribute](#browsename-attribute)\n    - [BrowseName General Rules](#browsename-general-rules)\n    - [BrowseName Requirements against the specification](#browsename-requirements-against-the-specification)\n  - [NodeId Attribute](#nodeid-attribute)\n    - [NodeId General Rules](#nodeid-general-rules)\n    - [NodeId Requirements against the specification](#nodeid-requirements-against-the-specification)\n  - [DisplayName Attribute](#displayname-attribute)\n    - [DisplayName General Rules](#displayname-general-rules)\n    - [DisplayName Requirements against the specification](#displayname-requirements-against-the-specification)\n  - [General Rules for SymbolicName Attribute](#general-rules-for-symbolicname-attribute)\n- [UANodeSet validation](#uanodeset-validation)\n  - [XML Import validation](#xml-import-validation)\n  - [XML Semantic validation](#xml-semantic-validation)\n- [Model](#model)\n- [AS graph](#as-graph)\n- [Instance Declaration](#instance-declaration)\n  - [P3 4.5 TypeDefinitionNode](#p3-45-typedefinitionnode)\n  - [7.10 HasSubtype ReferenceType](#710-hassubtype-referencetype)\n\n## Address Space Concept Executive Summary\n\nThe primary objective of the OPC UA application is to expose information that can be used by other OPC UA applications aimed at managing an underlying process with the main challenge of integrating systems into one homogeneous foundation. It requires an exchange of information over a computer network as bitstreams. To make the information available for further processing by computer systems it must be assured that it is:\n\n- **transferable** – there must exist mechanisms to transfer the data over the network\n- **meaningful** – there must exist rules (unambiguous for all interoperating parties) on how to map the meaning and bitstreams (data)\n- **addressable** – there must exist services to selectively access the data\n\nTo promote interoperability in the multi-vendor environment the services fulfilling these functionality must be standardized.\n\nThe discussion related to the data transfer is outside the scope of this document.\n\nBased on the role humans take while using OPC UA applications they can be grouped as follows:\n\n- **human-centric** - information origin or ultimate information destination is an operator,\n- **machine-centric** - information creation, consumption, networking, and processing are achieved entirely without human interaction.\n\nA typical **human-centric** approach is a web-service supporting, for example, a web user interface (UI) to monitor conditions and manage millions of devices in a typical cloud-based IoT approach. It is essential in this case that any uncertainty and necessity to make a decision can be relaxed by human interaction. Coordination of robot behaviors in a work-cell (automation islands) is a **machine-centric** example. In this case, any human interaction must be recognized as impractical or even impossible. This interconnection scenario requires the machine to machine communication (M2M) demanding the integration of multi-vendor devices.\n\nTo leverage the **meaningful** data distribution, the OPC UA engages rules derived from the object-oriented programming concept. Following this approach types are commonly used to describe the data semantics (to assign meaning to the bitstreams). For example, using Int32 we are dealing with a set of numbers that can be represented as bitstreams 32 bits long. Unfortunately, sometimes it is not enough. Let assume that we are going to use these numbers to express the age in a personal record. In the  **human-centric** environment, we can use the appropriate names derived from the native language of the data holders called variables. For the **machine-centric** case, the multi-vendor environment must be considered. A typical approach to deal with this environment is the usage of names defined by a commonly acceptable standardization body. To make the name unambiguous (to avoid name collision) for all vendors it must be globally unique.\n\nGenerally speaking, to select a particular target piece of complex data we have two options: **random access** or **browsing**. **Random-access** requires that the target item must have been assigned a unique address known in advance by a selection operation. The browsing approach means that the data consumer walks down available paths from an entity to an entity that builds up the structure of compound data - a data graph - using references interconnecting entities. It is necessary if we need to represent a relationship between data components. As an example, consider a family tree containing a graph of personal records. The browsing process is costly because instead of jumping to a target, we need to traverse the graph step by step using references. The main advantage of this approach is that the data consumer do not need any prior knowledge of the data structure. To minimize the cost, after having found the target as the result of browsing the graph, every operation targeting it can use direct access. Random access is possible only if the browsing path is convertible to a unique direct address or selected targets have well know addresses assigned by a standardization body.\n\nIt seems that, despite the access method, we have to assign an identification to all of the accessible entities in the representation of the process data structure. In this concept, this atomic identifiable entity is called a node. Each node is a collection of attributes (value-holders) that have values accessible locally in the context of the node. To enable browsing the internal structure of the nodes graph (relationship information), nodes are interconnected by references (address-holders of coupled nodes). Taking into consideration that the browse mechanism is based on the incremental and relative passage along the path of interconnected nodes, we can easily find out that each path must have a defined entry point, so we must address the question of where to start.\n\nThe collection of these nodes is called the **address space**. The OPC UA Address Space (AS) concept is all about exposing the process data in a standard way. The main goal of exposing a graph of nodes as one whole is to create a meaningful context for the underlying process data. To create the AS, we need to instantiate nodes and interconnect them by references.\n\nTo instantiate the AS we need to deal with naming, addressing, and meaning of the nodes. Appropriate naming is helpful in the **human-centric** environment, especially at the design-time. Proper addressing is essential for **machine-centric** environment, especially at the run-time. Designing appropriate rules applied to make the AS meaningful is necessary for both and must be addressed by the information model design process. All mentioned above aspects are tightly coupled and contribute to the design process.  The design process can be backed by:\n\n- design conventions - contributing to design best practice rules\n- OPC UA concepts - as a foundation of AS deployment addressing a selected process requirements\n- design tool - to author reusable in the multi-vendor market comprehensive information model\n\nThe following section covers a detailed description of the design conventions to improve reusability, comprehensiveness and minimize the deployment costs in the production environment.\n\nOPC UA engages the following concepts supporting the mentioned above topics, namely naming, addressing, and meaning associations:\n\n- `BrowseName` attribute - to support browsing and meaning association  \n- `DisplayName` attribute - to enable comprehensive description using native languages\n- `NodeId` attribute - to implement the nodes direct addressing\n- `Reference` - to apply nodes relationship information\n- `Type` concept - to provide metadata used as a meaningful context for the process data.\n\nTo create the AS exposed by an OPC UA Application it must instantiate all nodes and interconnect them through references at the bootstrap process. Before the AS can be instantiated by an OPC UA application it must be designed first. To promote reusability of the AS design process a Domain Specific Language (DSL) is required. A detailed description of this process is covered by the document [Address Space Model Life-cycle](https://commsvr.gitbook.io/ooi/semantic-data-processing/informationmodelsdevelopment/informationmodellifecycle). A mandatory option - coined as `NodeSet` model - of the DSL is described in OPC UA Specification [Part 6: Mappings][Opc.UA.Part6]. By design, it minimizes the required effort spent by the OPC UA applications to instantiate the AS because it requires a detailed description of all implementation details enabling to avoid the necessity to resolve inheritance chains, type definitions, encodings, direct addressing, defaults, etc. A detailed description of this DSL is covered by the document [OPC UA Address Space Interchange XML][InterchangeXML]. As a result, it is expected that all OPC UA applications and design tools must be compliant with this language somehow.\n\nThis standard additionaly introduces the term\n\n- `SymbolicName` - an identifier that uniquely identifies a specific entity (node) in a program or procedure.\n\n## Naming Conventions for Nodes\n\n### BrowseName Attribute\n\n#### BrowseName General Rules\n\nOPC UA defines two attributes containing naming information about an OPC UA Node, the `BrowseName` and the `DisplayName`. The `NodeSet` DSL additionally introduces `SymbolicName`.\n\nThe `BrowseName` is of the `QualifiedName` type. Each complex value of this type contains `namespaceIndex` and `name` fields. The `namespaceIndex` field is an index that identifies the namespace (a set of unique names) that defines the context of the name. This index is a  selector of that namespace in an array of namespace entries in concern. This array may be used to access the actual value of the namespace selected by the `namespaceIndex`.\n\nNamespace concept is used by OPC UA to create unique identifiers across different naming authorities. The attributes NodeId and BrowseName are identifiers. A Node in the UA AddressSpace is unambiguously identified using a NodeId. Unlike the NodeId identifier, the BrowseName cannot be used to unambiguously identify a Node. Different Nodes may have the same `BrowseName`.\n\nThe `BrowseName` are used:\n\n- to build a browse path between Nodes\n- define a globally unique meaning of an entity, e.g. properties, types, etc\n\nIn case the `BrowseName` is applied to build a browse path its uniqueness is resolved in the context of a parent node. Unless the `BrowseName` is assigned a globally specific meaning defined independently the `namespaceIndex` shall be the same as assigned to `NodeId` attribute of the hosting Node. It is recommended that Nodes defined in any custom model (including but not limited to Companion Specification) should use a Namespace of the model for their NodeId and BrowseName attributes.\n\nIf `BrowseName` is associated with a globally unique meaning it shall be defined in the context of a dedicated namespace. For this purpose, standardization organizations (naming authorities) shall define independent globally unique identifiers (e.g. URI) that must be added to the local namespaces array and to be indexed by the `BrowseName` value.\n\nFor the `name` part of the `BrowseName` attribute, the following naming conventions apply.\n\nThe `name` field value should be the upper camel case (also known as PascalCase), that is, all words are written without spaces (concatenated), and the first character of each word is the upper case letter, the other characters are lower case or digits. Examples: ReferenceType, BaseObjectType, Int32.\n\nIf an acronym or abbreviation is used, upper camel case should also be used. Examples: PortMacAddress (where MAC is an acronym for Media Access Control), NodeId (where ID is an\nabbreviation for identifier), UInt32 (where U is an abbreviation for unsigned). In general, it is recommended to only use letters, digits or the underscore (‘_’) as characters for the `BrowseName`.  unless it is explicitly defined like “<” and “>” for optional placeholders.\n\n> Remark: If special chars like “&”, “<”, etc. are used, the `NodeSet` document should define the `SymbolicName` attribute for that Node as well. This can then be used for code generation.\n\nThere is no recommendation on the use of prefixes. Companion Specifications may use a prefix because it suits their model. For example, if the Vision companion specification were to define types based on generic concepts (say a state machine), then using the prefix “Vision” may make sense (as in “VisionStateMachineType”).\n\nSpecial characters may be used for parametrization of the `BrowseName` to create several copies of the same node. In this case the `BrowseName` amy be used as a pattern of the values assigned to new instances created this way.\n\n> What is the impact on the `SymbolicName` ?\n\n#### BrowseName Requirements against the specification\n\n**P03-03030200XX  Conventions for defining NodeClasses** - this standard defines Properties, but Properties can be defined by other standard organizations or vendors and Nodes can have Properties that are not standardised. Properties defined in this standard are defined by their name, which is mapped to the `BrowseName` having the NamespaceIndex 0, which represents the Namespace for OPC UA.\n\n**P03-04040200XX Properties** - to prevent recursion, Properties are not allowed to have Properties defined for them. To easily identify Properties, the `BrowseName` of a Property shall be unique in the context of the Node containing the Properties (see 5.6.3 for details).\n\n**P03-040504 Instantiation of complex TypeDefinitionNodes** - the instantiation of complex TypeDefinitionNodes depends on the ModellingRules defined in 6.4.4. However, the intention is that instances of a type definition will reflect the structure defined by the TypeDefinitionNode. Figure 7 shows an instance of the TypeDefinitionNode “AI_BLK_TYPE”, where the ModellingRule Mandatory, defined in 6.4.4.5.2, was applied for its containing Variable. Thus, an instance of “AI_BLK_TYPE”, called AI_BLK_1”, has a HasTypeDefinition Reference to “AI_BLK_TYPE”. It also contains a Variable “SP” having the same `BrowseName` as the Variable “SP” used by the TypeDefinitionNode and thereby reflects the structure defined by the TypeDefinitionNode.\n\nThere are several constraints related to programming against the TypeDefinitionNode. A TypeDefinitionNode or an InstanceDeclaration shall never reference two Nodes having the same `BrowseName` using forward hierarchical References. Instances based on InstanceDeclarations shall always keep the same `BrowseName` as the InstanceDeclaration they are derived from. A special Service defined in Part 4 called TranslateBrowsePathsToNodeIds may be used to identify the instances based on the InstanceDeclarations. Using the simple Browse Service might not be sufficient since the uniqueness of the `BrowseName` is only required for TypeDefinitionNodes and InstanceDeclarations, not for other instances. Thus, “AI_BLK_1” may have another Variable with the `BrowseName` “SP”, although this one would not be derived from an InstanceDeclaration of the TypeDefinitionNode.\n\n**P03-040802 Well Known Roles** - all Servers should support the well-known Roles which are defined in Table 2. The NodeIds for the well-known Roles are defined in Part 6.\n\n>MP NOTE: The table contains `BrowseNames` instead of `NodeIds`.\n\n**P03-050204 BrowseName** - nodes have a `BrowseName` Attribute that is used as a non-localised human-readable name when browsing the AddressSpace to create paths out of `BrowseNames`. The TranslateBrowsePathsToNodeIds Service defined in Part 4 can be used to follow a path constructed of `BrowseNames`.\n\nA `BrowseName` should never be used to display the name of a Node. The DisplayName should be used instead for this purpose.\n\nUnlike NodeIds, the BrowseName cannot be used to unambiguously identify a Node. Different Nodes may have the same `BrowseName`.\n\nSubclause 8.3 defines the structure of the `BrowseName`. It contains a namespace and a string. The namespace is provided to make the `BrowseName` unique in some cases in the context of a Node (e.g. Properties of a Node) although not unique in the context of the Server. If different organizations define `BrowseNames` for Properties, the namespace of the `BrowseName` provided by the organization makes the BrowseName unique, although different organizations may use the same string having a slightly different meaning.\n\nServers may often choose to use the same namespace for the NodeId and the `BrowseName`. However, if they want to provide a standard Property, its `BrowseName` shall have the namespace of the standards body although the namespace of the NodeId reflects something else, for example the local Server.\n\nIt is recommended that standard bodies defining standard type definitions use their namespace for the NodeId of the TypeDefinitionNode as well as for the `BrowseName` of the TypeDefinitionNode.\n\nThe string-part of the `BrowseName` is case sensitive. That is, Clients shall consider them case sensitive. Servers are allowed to handle `BrowseNames` passed in Service requests as case insensitive. Examples are the TranslateBrowsePathsToNodeIds Service or Event filter.\n\n**P03-050205 DisplayName** - the DisplayName Attribute contains the localised name of the Node. Clients should use this Attribute if they want to display the name of the Node to the user. They should not use the BrowseName for this purpose. The Server may maintain one or more localised representations for each `DisplayName`. Clients negotiate the locale to be returned when they open a session with the Server. Refer to Part 4 for a description of session establishment and locales. Subclause 8.5 defines the structure of the `DisplayName`. The string part of the `DisplayName` is restricted to 512 characters.\n\n**P03-050302 Attributes** The ReferenceType NodeClass inherits the base Attributes from the Base NodeClass defined in 5.2. The inherited `BrowseName` Attribute is used to specify the meaning of the ReferenceType as seen from the SourceNode. For example, the ReferenceType with the BrowseName “Contains” is used in References that specify that the SourceNode contains the TargetNode. The inherited DisplayName Attribute contains a translation of the `BrowseName`.\n\nThe `BrowseName` of a ReferenceType shall be unique in a Server. It is not allowed that two different ReferenceTypes have the same `BrowseName`.\n\nFigure 9 provides examples of symmetric and non-symmetric References and the use of the `BrowseName` and the InverseName.\n\n**P03-050501 Object NodeClass** If the Object is used as an InstanceDeclaration (see 4.5) then all Nodes referenced with forward hierarchical References direction shall have unique `BrowseNames` in the context of this Object.\n\nIf the Object is created based on an InstanceDeclaration then it shall have the same `BrowseName` as its InstanceDeclaration.\n\n**P03-050502 ObjectType** NodeClass All Nodes referenced with forward hierarchical References shall have unique `BrowseNames` in the context of an ObjectType (see 4.5).\n\n**P03-050504 Client-side creation of Objects of an ObjectType** - in addition to the AddNodes Service ObjectTypes may have a special Method with the `BrowseName` “Create”. This Method is used to create an Object of this ObjectType. This Method may be useful for the creation of Objects where the semantic of the creation should differ from the default behaviour expected in the context of the AddNodes Service. For example, the values should directly differ from the default values or additional 1 should be added, etc. The input and output arguments of this Method depend on the ObjectType; the only commonality is the `BrowseName` identifying that this Method will create an Object based on the ObjectType. Servers should not provide a Method on an ObjectType with the `BrowseName` “Create” for any other purpose than creating Objects of the ObjectType.\n\n**P03-050602 Variable NodeClass** - if the Variable is created based on an InstanceDeclaration (see 4.5) it shall have the same `BrowseName` as its InstanceDeclaration.\n\n**P03-050603 Properties** The HasTypeDefinition Reference points to the VariableType of the Property. Since Properties are uniquely identified by their `BrowseName`, all Properties shall point to the PropertyType defined in Part 5.\n\nThe `BrowseName` of a Property is always unique in the context of a Node. It is not permitted for a Node to refer to two Variables using HasProperty References having the same `BrowseName`.\n\n**P03-050604 DataVariable** - if the DataVariable is used as InstanceDeclaration (see 4.5) all Nodes referenced with forward hierarchical References shall have unique `BrowseNames` in the context of this DataVariable.\n\n**P03-050605 VariableType NodeClass** All Nodes referenced with forward hierarchical References shall have unique `BrowseNames` in the context of the VariableType (see 4.5).\n\n**P03-0507 Method NodeClass** - if the Method is used as InstanceDeclaration (see 4.5) all Nodes referenced with forward hierarchical References shall have unique `BrowseNames` in the context of this Method.\n\n**P03-050803 DataType NodeClass** - each concrete Structured DataType shall point to at least one DataTypeEncoding Object with the `BrowseName` “Default Binary” or “Default XML” having the NamespaceIndex 0. The `BrowseName` of the DataTypeEncoding Objects shall be unique in the context of a DataType, i.e. a DataType shall not point to two DataTypeEncodings having the same `BrowseName`.\n\n**P03-0509 Summary of Attributes of the NodeClasses** - BrowseName is the mandatory attribute for all NodeClasses.\n\n**P03-060204 Similar Node of InstanceDeclaration** - a similar Node of an InstanceDeclaration is a Node that has the same BrowseName and NodeClass as the InstanceDeclaration and in cases of Variables and Objects the same TypeDefinitionNode or a subtype of it.\n\n**P03-060205 BrowsePath** - all targets of forward hierarchical References from a TypeDefinitionNode shall have a `BrowseName` that is unique within the TypeDefinitionNode. The same restriction applies to the targets of forward hierarchical References from any InstanceDeclaration. This means that any InstanceDeclaration within the InstanceDeclarationHierarchy can be uniquely identified by a sequence of `BrowseNames`. This sequence of `BrowseNames` is called a BrowsePath.\n\n**P03- 060206 Attribute Handling of InstanceDeclarations** - some restrictions exist regarding the Attributes of InstanceDeclarations when the InstanceDeclaration is overridden or instantiated. The `BrowseName` and the NodeClass shall never change and always be the same as the original InstanceDeclaration.\n\n**P03-060302 Attributes** - Subtypes inherit the parent type’s Attribute values, except for the NodeId. Inherited Attribute values may be overridden by the subtype, the `BrowseName` and DisplayName values should be overridden. Special rules apply for some Attributes of VariableTypes as defined in 6.2.7. Optional Attributes, not provided by the parent type, may be added to the subtype.\n\n**P03-06030303 - overriding InstanceDeclarations** - a subtype overrides an InstanceDeclaration by specifying an InstanceDeclaration with the same BrowsePath. An overridden InstanceDeclaration shall have the same NodeClass and `BrowseName`. The TypeDefinitionNode of the overridden InstanceDeclaration shall be the same or a subtype of the TypeDefinitionNode specified in the supertype.\n\nThe overriding Node may specify new values for the Node Attributes other than the NodeClass or `BrowseName`, however, the restrictions on Attributes specified in 6.2.6 apply. Any Attribute provided by the overridden InstanceDeclaration has to be provided by the overriding InstanceDeclaration, additional optional Attributes may be added.\n\n**P03-060401 Overview** any Instance of a TypeDefinitionNode will be the root of a hierarchy which mirrors the InstanceDeclarationHierarchy for the TypeDefinitionNode. Each Node in the hierarchy of the Instance will have a BrowsePath which may be the same as the BrowsePath for one of the InstanceDeclarations in the hierarchy of the TypeDefinitionNode. The InstanceDeclaration with the same BrowsePath is called the InstanceDeclaration for the Node. If a Node has an InstanceDeclaration then it shall have the same `BrowseName` and NodeClass as the InstanceDeclaration and, in cases of Variables and Objects, the same TypeDefinitionNode or a subtype of it.\n\n**P03-060402 Creating an Instance** - when a Server creates an instance of a TypeDefinitionNode it shall create the same hierarchy of Nodes beneath the new Object or Variable depending on the ModellingRule of each InstanceDeclaration. Standard ModellingRules are defined in 6.4.4.5. The Nodes within the newly created hierarchy may be copies of the InstanceDeclarations, the InstanceDeclaration itself or another Node in the AddressSpace that has the same TypeDefinitionNode and `BrowseName`. If new copies are created, then the Attribute values of the InstanceDeclarations are used as the initial values.\n\nFigure 15 provides a simple example of a TypeDefinitionNode and an Instance. Nodes referenced by the TypeDefinitionNode without a ModellingRule do not appear in the instance. Instances may have children with duplicate `BrowseNames`; however, only one of those children will correspond to the InstanceDeclaration.\n\nA Client can use the information of TypeDefinitionNodes to access Nodes which are in the hierarchy of the instance. It shall pass the NodeId of the instance and the BrowsePath of the child Nodes based on the TypeDefinitionNode to the TranslateBrowsePathsToNodeIds service (see Part 4). This Service returns the NodeId for each of the child Nodes. If a child Node exists then the `BrowseName` and NodeClass shall match the InstanceDeclaration. In the case of Objects or Variables, also the TypeDefinitionNode shall either match or be a subtype of the original TypeDefinitionNode.\n\n**P03-0604040201 NamingRule** If an InstanceDeclaration has a ModellingRule using the NamingRule Constraint it identifies that the `BrowseName` of the InstanceDeclaration is of no significance but other semantic is defined with the ModellingRule. The TranslateBrowsePathsToNodeIds Service (see Part 4) can typically not be used to access instances based on those InstanceDeclarations.\n\n**P03-0604040503 Optional** In Figure 20 an example using the ModellingRules Optional and Mandatory is shown. The example contains an ObjectType Type_A and all valid combinations of instances named A1 to A13. Note that if the optional B is provided, the mandatory E has to be provided as well, otherwise not. F is referenced by C and D. On the instance, this can be the same Node or two different Nodes with the same `BrowseName` (similar Node to InstanceDeclaration F). Not considered in the example is if the instances have ModellingRules or not. It is assumed that each F is similar to the InstanceDeclaration F, etc.\n\n**P03-0604040504 ExposesItsArray** Figure 21 gives an example. A is an instance of Type_A having two entries in its value array. Therefore it references two instances of the same type as the InstanceDeclaration ArrayExpose. The `BrowseNames` of those instances are not defined by the ModellingRule. In general, it is not possible to get a Variable representing a specific entry in the array (e.g. the second). Clients will typically either get the array or access the Variables directly, so there is no need to provide that information.\n\n**P03-0604040505 OptionalPlaceholder** - for Object and Variable the intention of the ModellingRule OptionalPlaceholder is to expose the information that a complex TypeDefinition expects from instances of the TypeDefinition to add instances with specific References without defining `BrowseNames` for the instances. For example, a Device might have a Folder for DeviceParameters, and the DeviceParameters should be connected with a HasComponent Reference. However, the names of the DeviceParameters are specific to the instances. The example is shown in Figure 23, where an\ninstance Device A adds two DeviceParameters in the Folder.\n\nIt is recommended that the `BrowseName` and the DisplayName of InstanceDeclarations having the OptionalPlaceholder ModellingRule should be enclosed within angle brackets.\n\nWhen overriding the InstanceDeclaration, the ModellingRule shall remain OptionalPlaceholder. For Methods, the ModellingRule OptionalPlaceholder is used to define the `BrowseName` where subtypes and instances provide more information. The Method definition with the OptionalPlaceholder only defines the `BrowseName`. An instance or subtype defines the InputArguments and OutputArguments. A subtype shall also change the ModellingRule to Optional or Mandatory. The Method is optional for instances. For example, a Device might have a Method to perform calibration however the specific arguments for the Method depend on the instance of the Device. In this example Device A does not implement the Method, Device B implements the Method with no arguments and Device C implements the Method accepting a mode argument to select how the calibration is to be performed. The example is shown in Figure 24.\n\n**P03-0604040506 MandatoryPlaceholder** for example, when the DeviceType requires that at least one DeviceParameter shall exist without specifying the `BrowseName` for it, it uses MandatoryPlaceholder as shown in Figure 25. Device A is a valid instance as it has the required DeviceParameter. Device B is not valid as it uses the wrong ReferenceType to reference a DeviceParameter (Organizes instead of HasComponent) and Device C is not valid because it does not provide a DeviceParameter at all.\n\nThe ModellingRule MandatoryPlaceholder requires that each instance provides at least one instance with the TypeDefinition of the InstanceDeclaration or a subtype, and is referenced with\nthe same ReferenceType or a subtype as the InstanceDeclaration. It does not require a specific `BrowseName` and thus cannot be used for the TranslateBrowsePathsToNodeIds Service (see Part 4).\n\nIt is recommended that the `BrowseName` and the DisplayName of InstanceDeclarations having the MandatoryPlaceholder ModellingRule should be enclosed within angle brackets.\n\nFor Methods, the ModellingRule MandatoryPlaceholder is used to define the `BrowseName` where subtypes and instances provide more information. The Method definition with the MandatoryPlaceholder only defines the `BrowseName`. An instance or subtype defines the InputArguments and OutputArguments. A subtype shall also change the ModellingRule to Mandatory. The Method is mandatory for instances.\n\n**P03-0803 QualifiedName** - this Built-in DataType contains a qualified name. It is, for example, used as `BrowseName`. Its elements are defined in Table 25. The name part of the QualifiedName is restricted to 512 characters.\n\nThe  QualifiedName structure syntax\n\n| Name           | Type   | Description                            |\n| -------------- | ------ | -------------------------------------- |\n| namespaceIndex | UInt16 | see description below                  |\n| name           | String | The text portion of the QualifiedName. |\n\nnamespaceIndex description\n\n- Index that identifies the namespace that defines the name.\n- This index is the index of that namespace in the local Server’s NamespaceArray.\n- The Client may read the NamespaceArray Variable to access the string value of the namespace.\n\nThe regular expression pattern to match.\n\n```TXT\n\\b((\\d{1,}):)?(.+)\n```\n\n**P03-0851 StructureField** StructureFields can be exposed as DataVariables that are children of the Variable that contains the Structure Value. In this case the `BrowseName` of the DataVariable shall be the same as the StructureField name and the NamespaceIndex of the `BrowseName` shall be the same as the Structure DataType Node NamespaceIndex.\n\n**P03-A0402 Properties or DataVariables** - besides the semantic differences of Properties and DataVariables described in Clause 4 there are also syntactical differences. A Property is identified by its `BrowseName`, that is, if Properties having the same semantic are used several times, they should always have the same `BrowseName`. The same semantic of DataVariables is captured in the VariableType.\n\n**P03-C0203 Extended Notation** - the `BrowseName` contains the NamespaceIndex and a String. Such a structure can be exposed as \\[\\<NamespaceIndex\\>:\\]\\<String\\> where the NamespaceIndex is optional. For example, a `BrowseName` can be “1:MyName”. Instead of that, “MyName” can also be used. This rule applies whenever a `BrowseName` is shown, including the text used in the graphical representation of a Node.\n\n**P05-0303 Conventions for Node descriptions** - References are defined by providing the ReferenceType name, the `BrowseName` of the TargetNode and its NodeClass.\n\nNodes of all other NodeClasses cannot be defined in the same table; therefore only the used ReferenceType, their NodeClass and their `BrowseName` are specified. A reference to another part of this document points to their definition.\n\n**P05-0401 NodeIds** - the symbolic name of each Node defined in this standard is its `BrowseName`, or, when it is part of another Node, the `BrowseName` of the other Node, a “.”, and the BrowseNa`me of itself. In this case “part of” means that the whole has a HasProperty or HasComponent Reference to its part. Since all Nodes not being part of another Node have a unique name in this standard, the symbolic name is unique. For example, the ServerType defined in 6.3.1 has the symbolic name “ServerType”. One of its InstanceDeclarations would be identified as “ServerType.ServerCapabilities”. Since this Object is complex, another InstanceDeclaration of the ServerType is “ServerType.ServerCapabilities.MinSupportedSampleRate”. The Server Object defined in 8.3.2 is based on the ServerType and has the symbolic name “Server”. Therefore, the instance based on the InstanceDeclaration described above has the symbolic name “Server.ServerCapabilities.MinSupportedSampleRate”.\n\n**P05-0402 BrowseNames** - the text part of the `BrowseNames` for all Nodes defined in this standard is specified in the tables defining the Nodes. The NamespaceIndex for all `BrowseNames` defined in this standard is 0.\n\n**P05-0501 General** the DisplayName is a LocalizedText. Each server shall provide the DisplayName identical to the `BrowseName` of the Node for the LocaleId “en”. Whether the server provides translated names for other LocaleIds is server-specific.\n\nThe NodeId is described by `BrowseNames` as defined in 4.1 and defined in Part 6.\n\n**P05-060304 SessionsDiagnosticsSummaryType** - for each session of the Server, this Object also provides an Object representing the session, indicated by `<ClientName>`. The BrowseName could be derived from the sessionName defined in the CreateSession Service (Part 4) or some other server-specific mechanisms. It is of the ObjectType SessionDiagnosticsObjectType, as defined in 6.3.5.\n\n**P05-060313 NamespaceMetadataType** - the `BrowseName` of instances of this type shall be derived from the represented namespace. This can, for example, be done by using the index of the namespace in the NamespaceArray as namespaceIndex of the QualifiedName and the namespace URI as name of the QualifiedName.\n\n**P05-060314 NamespacesType** - the ObjectType contains a list of NamespaceMetadataType Objects representing the namespaces in the Server. The `BrowseName` of an Object shall be derived from the namespace represented by the Object. This can, for example, be done by using the index of the namespace in the NamespaceArray as namespaceIndex of the QualifiedName and the namespace URI as name of the QualifiedName. Clients should not assume that all namespaces provided by a Server are present in this list as a namespace may not provide the information necessary to fill all mandatory Properties of the NamespaceMetadataType.\n\n**P05-060402 BaseEventType** Server does not have a description, it shall return the string part of the `BrowseName` of the Node associated with the Event.\n\n**P05-060431 BaseModelChangeEventType** - this EventType inherits all Properties of the BaseEventType. Their semantic is defined in 6.4.2. There are no additional Properties defined for this EventType. The SourceNode Property for Events of this type shall be the Node of the View that gives the context of the changes. If the whole AddressSpace is the context, the SourceNode Property is set to the NodeId of the Server Object. The SourceName for Events of this type shall be the String part of the `BrowseName` of the View; for the whole AddressSpace it shall be “Server”.\n\n**P05-060433 SemanticChangeEventType** - this EventType inherits all Properties of the BaseEventType. Their semantic is defined in 6.4.2. There are no additional Properties defined for this EventType. The SourceNode Property for Events of this type shall be the Node of the View that gives the context of the changes. If the whole AddressSpace is the context, the SourceNode Property is set to the NodeId of the Server Object. The SourceName for Events of this type shall be the String part of the `BrowseName` of the View, for the whole AddressSpace it shall be “Server”.\n\n**P05-0703 PropertyType** - the PropertyType is a subtype of the BaseVariableType. It is used as the type definition for all Properties. Properties are defined by their `BrowseName` and therefore they do not need a specialised type definition. It is not allowed to subtype this VariableType.\n\n**P05-0709 SamplingIntervalDiagnosticsArrayType** - this complex VariableType is used for diagnostic information. For each entry of the array, instances of this type will provide a Variable of the SamplingIntervalDiagnosticsType VariableType having the sampling rate as `BrowseName`.\n\n**P05-B0405 FiniteStateMachineType** - The States of the machine are represented with instances of the StateType ObjectType. Each State shall have a `BrowseName` which is unique within the StateMachine and shall have a StateNumber which shall also be unique across all States defined in the StateMachine. Be aware that States in a SubStateMachine may have the same StateNumber or `BrowseName` as States in the parent machine. A concrete subtype of FiniteStateMachineType shall define at least one State.\n\nThe Transitions that may occur are represented with instances of the TransitionType. Each Transition shall have a `BrowseName` which is unique within the StateMachine and may have a TransitionNumber which shall also be unique across all Transitions defined in the StateMachine.\n\n**P05-B0406 FiniteStateVariableType** - the Name Property is inherited from StateVariableType. Its Value shall be the `BrowseName` of one of the State Objects of the FiniteStateMachineType.\n\n**P05-C0302** FileSystem Object The support of file directory structures is declared by aggregating an instance of the FileDirectoryType with the `BrowseName` FileSystem as illustrated in Figure C.1.\n\nThe Object representing the root of a file directory structure shall have the `BrowseName` FileSystem. An OPC UA Server may have different FileSystem Objects in the AddressSpace.\nHasComponent is used to reference a FileSystem from aggregating Objects like the Objects Folder or the Object representing a device.\n\n### NodeId Attribute\n\n#### NodeId General Rules\n\n Nodes are unambiguously identified using an identifier called the `NodeId`. The syntax of the `NodeId` structure is defined in Part 03 8.2.\n\nServers may often choose to use the same namespace for the `NodeId` and the BrowseName. However, if they want to provide a standard Property, its BrowseName shall have the namespace of the standards body although the namespace of the `NodeId` reflects something else, for example the local Server. A Server shall persist the `NodeId` of a Node, that is, it shall not generate new `NodeIds` when rebooting.\n\nIt is recommended that standard bodies defining standard type definitions use their namespace for the `NodeId` of the TypeDefinitionNode as well as for the BrowseName of the TypeDefinitionNode.\n\n Subtypes inherit the parent type’s Attribute values, except for the `NodeId`.\n\n#### NodeId Requirements against the specification\n\n**P03-050202 NodeId** - nodes are unambiguously identified using a constructed identifier called the `NodeId`. Some Servers may accept alternative `NodeIds` in addition to the canonical `NodeId` represented in this Attribute. A Server shall persist the `NodeId` of a Node, that is, it shall not generate new `NodeIds` when rebooting. The structure of the `NodeId` is defined in 8.2.\n\n**P03-050204 BrowseName** Servers may often choose to use the same namespace for the `NodeId` and the BrowseName. However, if they want to provide a standard Property, its BrowseName shall have the namespace of the standards body although the namespace of the `NodeId` reflects something else, for example the local Server. It is recommended that standard bodies defining standard type definitions use their namespace for the `NodeId` of the TypeDefinitionNode as well as for the BrowseName of the TypeDefinitionNode.\n\n**P03-050801** DataType Model In many cases, the `NodeId` of the DataType Node – the DataTypeId – will be well-known to Clients and Servers. Clause 8 defines DataTypes and Part 6 defines their DataTypeIds. In addition, other organizations may define DataTypes that are well-known in the industry. Wellknown DataTypeIds provide for commonality across OPC UA Servers and allow Clients to interpret values without having to read the type description from the Server. Therefore, Servers may use well-known DataTypeIds without representing the corresponding DataType Nodes in their AddressSpaces.\n\n**P03-060208 NodeIds of InstanceDeclarations** InstanceDeclarations are identified by their BrowsePath. Different Servers might use different `NodeIds` for the InstanceDeclarations of common TypeDefinitionNodes, unless the definition of the TypeDefinitionNode already defines a `NodeId` for the InstanceDeclaration. All TypeDefinitionNodes defined in Part 5 already define the `NodeIds` for their InstanceDeclarations and therefore shall be used in all Servers.\n\n**P03-060302 Attributes** Subtypes inherit the parent type’s Attribute values, except for the `NodeId`. Inherited Attribute values may be overridden by the subtype, the BrowseName and DisplayName values should be overridden. Special rules apply for some Attributes of VariableTypes as defined in 6.2.7. Optional Attributes, not provided by the parent type, may be added to the subtype.\n\n**P03-060402 Creating an Instance** Instances inherit the initial values for the Attributes that they have in common with the TypeDefinitionNode from which they are instantiated, with the exceptions of the NodeClass and `NodeId`.\n\n**P03-080201 General** This Built-in DataType is composed of three elements that identify a Node within a Server. They are defined in Table 22.\n\n**P-03-080202 NamespaceIndex** The namespace is a URI that identifies the naming authority responsible for assigning the identifier element of the `NodeId`. Naming authorities include the local Server, the underlying system, standards bodies and consortia. It is expected that most Nodes will use the URI of the Server or of the underlying system.\n\n**P03-080203 IdentifierType** The IdentifierType element identifies the type of the `NodeId`, its format and its scope. Its values are defined in Table 23. Normally the scope of `NodeIds` is the Server in which they are defined. For certain types of `NodeIds`, `NodeIds` can uniquely identify a Node within a system, or across systems (e.g. GUIDs). System-wide and globally-unique identifiers allow Clients to track Nodes, such as work orders, as they move between OPC UA Servers as they progress through the system.\n\nOpaque identifiers are identifiers that are free-format byte strings that might or might not be human interpretable.\n\nString identifiers are case sensitive. That is, Clients shall consider them case sensitive. Servers are allowed to provide alternative `NodeIds` (see 5.2.2) and using this mechanism severs can handle `NodeIds` as case insensitive.\n\n**P03-080204 Identifier** value The identifier value element is used within the context of the first three elements to identify the Node. Its data type and format is defined by the IdType.\n\n### DisplayName Attribute\n\n#### DisplayName General Rules\n\n#### DisplayName Requirements against the specification\n\n### General Rules for SymbolicName Attribute\n\nAccording to the specification it can be used as a class/field name in auto generated code. It should only be specified if the `BrowseName` cannot be used for this purpose.\n\nThis xml attribute does not appear in the AddressSpace and is intended for use by design tools. Only letters, digits or the underscore (‘_’) are permitted. The detailed syntax definition is as follows by the type `SymbolicName`\n\n```XML\n  <xs:simpleType name=\"SymbolicName\">\n    <xs:list>\n      <xs:simpleType>\n        <xs:restriction base=\"xs:string\">\n          <xs:pattern value=\"[A-Za-z][A-Za-z0-9_]*\" />\n        </xs:restriction>\n      </xs:simpleType>\n    </xs:list>\n  </xs:simpleType>\n```\n\n## UANodeSet validation\n\n### XML Import validation\n\n- text syntax against the XML rules\n- XML syntax against the selected schema (UANodeSet in this case)\n- XML syntax against the OPC UA spec (e.g. QualifiedName, NodeId, etc) if the schema is not prcise enough\n\n### XML Semantic validation\n\n- XML semantics against the OPC UA spec\n\n## Model\n\nThe version information is also provided as part of the ModelTableEntry in the UANodeSet XML file. The UANodeSet XML schema is defined in OPC 10000-6.\n\nThe NamespaceUri for all NodeIds defined in this document is defined in Annex A. The NamespaceIndex for this NamespaceUri is vendor-specific and depends on the position of the NamespaceUri in the server namespace table.\n\n## AS graph\n\n`HasSubtype` References are used to define subtypes of `ReferenceTypes`. It is not required to provide the HasSubtype Reference for the supertype.\n\nIf a `ReferenceType` specifies some constraints this is inherited and can only be refined (be more restrictive).\n\nObjectType is the base ObjectType and all other ObjectTypes shall either directly or indirectly inherit from it. However, it might not be possible for Servers to provide all `HasSubtype` References from this `ObjectType` to its subtypes, and therefore it is not required to provide this information.\n\n## Instance Declaration\n\n### [P3 4.5 TypeDefinitionNode](https://reference.opcfoundation.org/v104/Core/docs/Part3/4.5.1/)\n\n### [7.10 HasSubtype ReferenceType](https://reference.opcfoundation.org/v104/Core/docs/Part3/7.10/)\n\nThe semantic of this ReferenceType is to express a subtype relationship of types. It is used to span the ReferenceType hierarchy, whose semantic is specified in 5.3.3.3; a DataType hierarchy is specified in 5.8.3, and other subtype hierarchies are specified in Clause 6.\n\n[5.3.3.3 HasSubtype References](https://reference.opcfoundation.org/v104/Core/docs/Part3/5.3.3/#5.3.3.3) HasSubtype References are used to define subtypes of ReferenceTypes. It is not required to provide the HasSubtype Reference for the supertype, but it is required that the subtype provides the inverse Reference to its supertype. The following rules for subtyping apply.\n\n1. The semantic of a ReferenceType (e.g. “spans a hierarchy”) is inherited to its subtypes and can be refined there (e.g. “spans a special hierarchy”). The DisplayName, and also the InverseName for non-symmetric ReferenceTypes, reflect the specialization.\n1. If a ReferenceType specifies some constraints (e.g. “allow no loops”) this is inherited and can only be refined (e.g. inheriting “no loops” could be refined as “shall be a tree – only one parent”) but not lowered (e.g. “allow loops”).\n1. The constraints concerning which NodeClasses can be referenced are also inherited and can only be further restricted. That is, if a ReferenceType “A” is not allowed to relate an 1. 1. Object with an ObjectType, this is also true for its subtypes.\n1. A ReferenceType shall have exactly one supertype, except for the References ReferenceType defined in 7.2 as the root type of the ReferenceType hierarchy. The ReferenceType hierarchy does not support multiple inheritances.\n\n[5.8.3 DataType NodeClass](https://reference.opcfoundation.org/v104/Core/docs/Part3/5.8.3/) HasSubtype References may be used to expose a data type hierarchy in the AddressSpace. The semantic of subtyping is only defined to the point, that a Server may provide instances of the subtype instead of the DataType. Clients should not make any assumptions about any other semantic with that information. For example, it might not be possible to cast a value of one data type to its base data type. Servers need not provide HasSubtype References, even if their DataTypes span a type hierarchy. Some restrictions apply for subtyping enumeration DataTypes as defined in 8.14.\n\n[6.3 Subtyping of ObjectTypes and VariableTypes](https://reference.opcfoundation.org/v104/Core/docs/Part3/6.3.1/)\n\nThe HasSubtype ReferenceType defines subtypes of types. Subtyping can only occur between Nodes of the same NodeClass. Rules for subtyping ReferenceTypes are described in 5.3.3.3. There is no common definition for subtyping DataTypes, as described in 5.8.3. The remainder of 6.3 specify subtyping rules for single inheritance on ObjectTypes and VariableTypes.\n\nSubtypes inherit the parent type’s Attribute values, except for the NodeId. Inherited Attribute values may be overridden by the subtype, the BrowseName and DisplayName values should be overridden. Special rules apply for some Attributes of VariableTypes as defined in 6.2.7. Optional Attributes, not provided by the parent type, may be added to the subtype.\n\nAs long as those InstanceDeclarations are not overridden they are not referenced by the subtype. InstanceDeclarations can be overridden by adding References, changing References to reference different Nodes, changing References to be subtypes of the original ReferenceType, changing values of the Attributes or adding optional Attributes. In order to get the full information about a subtype, the inherited InstanceDeclarations have to be collected from all types that can be found by recursively following the inverse HasSubtype References from the subtype. This collection of InstanceDeclarations is called the fully-inherited InstanceDeclarationHierarchy of a subtype.\n\nAs long as those InstanceDeclarations are not overridden they are not referenced by the subtype. InstanceDeclarations can be overridden by adding References, changing References to reference different Nodes, changing References to be subtypes of the original ReferenceType, changing values of the Attributes or adding optional Attributes. In order to get the full information about a subtype, the inherited InstanceDeclarations have to be collected from all types that can be found by recursively following the inverse HasSubtype References from the subtype. This collection of InstanceDeclarations is called the fully-inherited InstanceDeclarationHierarchy of a subtype.\n\n- [P4 5.8.4 TranslateBrowsePathsToNodeIds](https://reference.opcfoundation.org/v104/Core/docs/Part4/5.8.4/)\n- [Postół M. (2016) OPC UA Address Space Interchange XML; Technical Report; DOI: 10.13140/RG.2.2.12228.37768][InterchangeXML]\n- [OPC Unified Architecture Specification Part 6: Mappings, OPC Foundation, Rel. 1.04, 2017-11-22][OPC.UA.Part6]\n\n[InterchangeXML]: https://www.researchgate.net/publication/334259707_OPC_UA_Address_Space_Interchange_XML\n[Opc.UA.Part6]:https://opcfoundation.org/developer-tools/specifications-unified-architecture/part-6-mappings/\n[InterchangeXML]: https://www.researchgate.net/publication/334259707_OPC_UA_Address_Space_Interchange_XML\n"
  },
  {
    "path": "SemanticData.playlist",
    "content": "<Playlist Version=\"1.0\"><Add Test=\"UAOOI.SemanticData.UANodeSetValidation.NamespaceTableUnitTest.GetIndexOrAppend\" /><Add Test=\"UAOOI.SemanticData.UANodeSetValidation.DataSerialization.UnitTest.NodeIdUnitTest.NodeIdToStringTestMethod2\" /><Add Test=\"UAOOI.SemanticData.UANodeSetValidation.UANodeContextUnitTest.CalculateNodeReferencesValidatorIsNullTest\" /><Add Test=\"UAOOI.SemanticData.UANodeSetValidation.UnitTest.ResourcesUnitTest.OpcUaNodeSet2TestMethod\" /><Add Test=\"UAOOI.SemanticData.UANodeSetValidation.XML.UANodeSetUnitTest.RecalculateNodeIdsUANodeSetTest\" /><Add Test=\"UAOOI.SemanticData.UANodeSetValidation.QualifiedNameUnitTest.NotEqualOperatorTest\" /><Add Test=\"UAOOI.SemanticData.UANodeSetValidation.XMLUANodeUnitTest.UAObjectEqualsTest\" /><Add Test=\"UAOOI.SemanticData.UANodeSetValidation.DataSerialization.UnitTest.NodeIdUnitTest.NodeIdToStringTestMethod\" /><Add Test=\"UAOOI.SemanticData.AddressSpacePrototyping.ProgramUnitTest.RunTheApplicationTestMethod\" /><Add Test=\"UAOOI.SemanticData.UANodeSetValidation.UnitTest.AddressSpaceContextUnitTest.AddressSpaceContextImportUANodeSetNullTestMethod1\" /><Add Test=\"UAOOI.SemanticData.UANodeSetValidation.UnitTest.AddressSpaceContextUnitTest.AddressSpaceContextValidateAndExportModel\" /><Add Test=\"UAOOI.SemanticData.UANodeSetValidation.UANodeContextUnitTest.CalculateNodeReferencesNullFactoryTest\" /><Add Test=\"UAOOI.SemanticData.UANodeSetValidation.XML.UANodeSetUnitTest.EqualsInstancesTest\" /><Add Test=\"UAOOI.SemanticData.UANodeSetValidation.UANodeContextUnitTest.GetDerivedInstances4ObjectTest\" /><Add Test=\"UAOOI.SemanticData.UANodeSetValidation.DataSerialization.UnitTest.QualifiedNameUnitTest.OperatorsTest\" /><Add Test=\"UAOOI.SemanticData.AddressSpaceTestTool.UnitTests.CommandLineSyntaxUnitTest.FilenamesTest\" /><Add Test=\"UAOOI.SemanticData.UANodeSetValidation.DataSerialization.UnitTest.NodeIdUnitTest.NodeIdDictionaryTestMethod3\" /><Add Test=\"UAOOI.SemanticData.UANodeSetValidation.ExtensionsUnitTest.ArrayDimensionsToStringTestMethod\" /><Add Test=\"UAOOI.SemanticData.UANodeSetValidation.UnitTest.InformationModelFactoryUnitTest.InformationModelFactoryIExportVariableTypeFactoryTestMethod2\" /><Add Test=\"UAOOI.SemanticData.UANodeSetValidation.XMLUANodeUnitTest.UAInstanceEqualsTest\" /><Add Test=\"UAOOI.SemanticData.UANodeSetValidation.UnitTest.AddressSpaceContextUnitTest.AddressSpaceContextContentCheck\" /><Add Test=\"UAOOI.SemanticData.UANodeSetValidation.UnitTest.UANodeSetWithErrorsUnitTest.ObjectEventNotifierOutOfRangeTestMethod\" /><Add Test=\"UAOOI.SemanticData.UAModelDesignExport.ExtensionsUnitTest.AddLocalizedTextTestMethod\" /><Add Test=\"UAOOI.SemanticData.UANodeSetValidation.DataSerialization.UnitTest.NodeIdUnitTest.NodeIdOperatorTestMethod1\" /><Add Test=\"UAOOI.SemanticData.UANodeSetValidation.UnitTest.InformationModelFactoryUnitTest.InformationModelFactoryIExportVariableInstanceFactoryTestMethod2\" /><Add Test=\"UAOOI.SemanticData.UANodeSetValidation.UnitTest.UANodeSetWithErrorsUnitTest.WrongWriteMaskValue\" /><Add Test=\"UAOOI.SemanticData.UANodeSetValidation.UnitTest.UANodeSetWithErrorsUnitTest.UndefinedHasComponentTargetTestMethod\" /><Add Test=\"UAOOI.SemanticData.UANodeSetValidation.QualifiedNameUnitTest.EqualOperatorTest\" /><Add Test=\"UAOOI.SemanticData.UAModelDesignExport.NodeFactoryBaseUnitTest.NodeFactoryExportTest\" /><Add Test=\"UAOOI.SemanticData.UANodeSetValidation.UANodeContextUnitTest.ExportBrowseNameTest\" /><Add Test=\"UAOOI.SemanticData.UAModelDesignExport.NodeFactoryBaseUnitTest.DescriptionTestMethod\" /><Add Test=\"UAOOI.SemanticData.UANodeSetValidation.UnitTest.UAModelContextUnitTest.CreateUAModelContextAddressSpaceContextNull\" /><Add Test=\"UAOOI.SemanticData.UANodeSetValidation.NamespaceTableUnitTest.GetIndexTest\" /><Add Test=\"UAOOI.SemanticData.UANodeSetValidation.UnitTest.Helpers.HelpersUnitTest.TraceDiagnosticTestMethod2\" /><Add Test=\"CAS.UA.Model.Designer.ImportExport.UT.NodeSetUnitTest.UAReferenceTestMethod\" /><Add Test=\"UAOOI.SemanticData.UANodeSetValidation.UnitTest.AddressSpaceContextUnitTest.AddressSpaceContextNotExistingFileNameTestMethod\" /><Add Test=\"CAS.UA.Model.Designer.ImportExport.UT.NodeSetUnitTest.UAObjectTypeTestMethod\" /><Add Test=\"UAOOI.SemanticData.UANodeSetValidation.QualifiedNameUnitTest.EqualsTest\" /><Add Test=\"UAOOI.SemanticData.UANodeSetValidation.QualifiedNameUnitTest.ToStringTest\" /><Add Test=\"UAOOI.SemanticData.UANodeSetValidation.UnitTest.InformationModelFactoryUnitTest.InformationModelFactoryIExportObjectTypeFactoryTestMethod2\" /><Add Test=\"UAOOI.SemanticData.UANodeSetValidation.UANodeContextUnitTest.RemoveInheritedValuesTest\" /><Add Test=\"UAOOI.SemanticData.UANodeSetValidation.XML.UANodeSetUnitTest.EqualsUAVariableTest\" /><Add Test=\"UAOOI.SemanticData.UANodeSetValidation.UnitTest.AddressSpaceContextUnitTest.AddressSpaceContextValidateAndExportModelTestMethod4\" /><Add Test=\"UAOOI.SemanticData.UANodeSetValidation.DataSerialization.UnitTest.NodeIdUnitTest.NodeIdToStringTestMethod3\" /><Add Test=\"UAOOI.SemanticData.UANodeSetValidation.UnitTest.NodeSetUnitTest.UAVariableTypeTestMethod\" /><Add Test=\"UAOOI.SemanticData.UANodeSetValidation.UnitTest.UANodeSetWithErrorsUnitTest.NotSupportedFeature\" /><Add Test=\"UAOOI.SemanticData.UAModelDesignExport.NodeFactoryBaseUnitTest.CreatorTestMethod\" /><Add Test=\"UAOOI.SemanticData.UANodeSetValidation.UnitTest.AddressSpaceContextUnitTest.AddressSpaceReferencesContentCheck\" /><Add Test=\"CAS.UA.Model.Designer.ImportExport.UT.NodeSetUnitTest.FileNotFoundTestMethod\" /><Add Test=\"UAOOI.SemanticData.UANodeSetValidation.UANodeContextUnitTest.GetDerivedInstances4TypeDefinition\" /><Add Test=\"UAOOI.SemanticData.UANodeSetValidation.UANodeContextUnitTest.ConstructorNodeIdTest\" /><Add Test=\"UAOOI.SemanticData.UANodeSetValidation.DataSerialization.UnitTest.NodeIdUnitTest.NodeIdValidTestMethod1\" /><Add Test=\"UAOOI.SemanticData.UANodeSetValidation.DataSerialization.UnitTest.NodeIdUnitTest.NodeIdDictionaryTestMethod\" /><Add Test=\"UAOOI.SemanticData.UAModelDesignExport.DataTypeDefinitionFactoryBaseUnitTest.ConstructorTest\" /><Add Test=\"UAOOI.SemanticData.UAModelDesignExport.NodeFactoryBaseUnitTest.DisplayNameTestMethod\" /><Add Test=\"UAOOI.SemanticData.UANodeSetValidation.UnitTest.UANodeSetWithErrorsUnitTest.UndefinedHasSubtypeTestMethod\" /><Add Test=\"UAOOI.SemanticData.UANodeSetValidation.UANodeContextUnitTest.BuildSymbolicIdTest\" /><Add Test=\"UAOOI.SemanticData.AddressSpaceTestTool.UnitTests.CommandLineSyntaxUnitTest.AllShortSwitchesTest\" /><Add Test=\"UAOOI.SemanticData.UANodeSetValidation.UnitTest.UANodeSetWithErrorsUnitTest.WrongReference2PropertyTestMethod\" /><Add Test=\"UAOOI.SemanticData.UANodeSetValidation.DataSerialization.UnitTest.NodeIdUnitTest.NodeIdNonValidNumericTestMethod1\" /><Add Test=\"UAOOI.SemanticData.UANodeSetValidation.UnitTest.UANodeSetWithErrorsUnitTest.WrongAccessLevelTestMethod\" /><Add Test=\"UAOOI.SemanticData.UAModelDesignExport.ModelFactoryUnitTest.EEmptyModelTest\" /><Add Test=\"UAOOI.SemanticData.UANodeSetValidation.UnitTest.UANodeSetWithErrorsUnitTest.DeploymentTestMethod\" /><Add Test=\"UAOOI.SemanticData.UAModelDesignExport.DataTypeDefinitionFactoryBaseUnitTest.NewFieldTest\" /><Add Test=\"UAOOI.SemanticData.UANodeSetValidation.UnitTest.InformationModelFactoryUnitTest.InformationModelIExportDataTypeFactoryFactoryTestMethod2\" /><Add Test=\"CAS.UA.Model.Designer.ImportExport.UT.NodeSetUnitTest.WrongFileNFormatTestMethod\" /><Add Test=\"UAOOI.SemanticData.UANodeSetValidation.UnitTest.Helpers.HelpersUnitTest.TraceDiagnosticTestMethod1\" /><Add Test=\"UAOOI.SemanticData.UANodeSetValidation.UnitTest.NodeSetUnitTest.UAObjectTypeTestMethod\" /><Add Test=\"UAOOI.SemanticData.UANodeSetValidation.UnitTest.NodeSetUnitTest.UADataTypeTestMethod\" /><Add Test=\"UAOOI.SemanticData.UANodeSetValidation.UnitTest.UAModelContextUnitTest.AliasesConversionTest\" /><Add Test=\"UAOOI.SemanticData.UANodeSetValidation.UnitTest.UANodeSetWithErrorsUnitTest.WrongDisplayNameLength\" /><Add Test=\"UAOOI.SemanticData.UANodeSetValidation.UANodeContextUnitTest.EqualsTest\" /><Add Test=\"UAOOI.SemanticData.UANodeSetValidation.DataSerialization.UnitTest.NodeIdUnitTest.NodeIdCompareToTestMethod\" /><Add Test=\"UAOOI.SemanticData.UANodeSetValidation.UANodeContextUnitTest.CalculateNodeReferencesNullUANodeTest\" /><Add Test=\"UAOOI.SemanticData.UANodeSetValidation.XML.UANodeSetUnitTest.RemoveInheritedRemoveSameValuesTest\" /><Add Test=\"UAOOI.SemanticData.UAModelDesignExport.ModelDesignUnitTest.ConstructorTest\" /><Add Test=\"UAOOI.SemanticData.UANodeSetValidation.DataSerialization.UnitTest.QualifiedNameUnitTest.QualifiedNameTestMethod1\" /><Add Test=\"UAOOI.SemanticData.UANodeSetValidation.XML.UANodeSetUnitTest.NodeClassEnumTest\" /><Add Test=\"UAOOI.SemanticData.UANodeSetValidation.XML.UANodeSetUnitTest.RecalculateNodeIdsUADataTypeTest\" /><Add Test=\"UAOOI.SemanticData.UANodeSetValidation.NamespaceTableUnitTest.ConstructorTest\" /><Add Test=\"UAOOI.SemanticData.UANodeSetValidation.XML.UANodeSetUnitTest.RemoveInheritedKeepDifferentValuesTest\" /><Add Test=\"UAOOI.SemanticData.UANodeSetValidation.UnitTest.UANodeSetWithErrorsUnitTest.WrongInverseNameTestMethod\" /><Add Test=\"UAOOI.SemanticData.UANodeSetValidation.UnitTest.InformationModelFactoryUnitTest.InformationModelFactoryIExportObjectInstanceFactoryTestMethod2\" /><Add Test=\"UAOOI.SemanticData.UANodeSetValidation.NamespaceTableUnitTest.GetStringArgumentOutOfRangeExceptionTest\" /><Add Test=\"UAOOI.SemanticData.AddressSpaceTestTool.UnitTests.CommandLineSyntaxUnitTest.AllLongSwitchesTest\" /><Add Test=\"CAS.UA.Model.Designer.ImportExport.UT.NodeSetUnitTest.UAVariableTypeTestMethod\" /><Add Test=\"UAOOI.SemanticData.UAModelDesignExport.ModelFactoryUnitTest.NamespaceTest\" /><Add Test=\"UAOOI.SemanticData.UANodeSetValidation.UnitTest.Helpers.HelpersUnitTest.TraceDiagnosticTestMethod3\" /><Add Test=\"UAOOI.SemanticData.UANodeSetValidation.UnitTest.UANodeSetWithErrorsUnitTest.WrongNodeId\" /><Add Test=\"UAOOI.SemanticData.UANodeSetValidation.DataSerialization.UnitTest.QualifiedNameUnitTest.QualifiedNameParseTestMethod3\" /><Add Test=\"UAOOI.SemanticData.UANodeSetValidation.UnitTest.ServiceResultExceptionUnitTest.ServiceResultExceptionCreateWithMessageTestMethod\" /><Add Test=\"UAOOI.SemanticData.UANodeSetValidation.XML.UANodeSetUnitTest.EqualsTypesTest\" /><Add Test=\"UAOOI.SemanticData.UANodeSetValidation.DataSerialization.UnitTest.NodeIdUnitTest.NodeIdDictionaryTestMethod2\" /><Add Test=\"UAOOI.SemanticData.UANodeSetValidation.UANodeContextUnitTest.UpdateNodeIdTest\" /><Add Test=\"UAOOI.SemanticData.UANodeSetValidation.UnitTest.AddressSpaceContextUnitTest.AddressSpaceContextValidateAndExportModelTestMethod3\" /><Add Test=\"UAOOI.SemanticData.AddressSpacePrototyping.ProgramUnitTest.DeploymentItemTestMethod\" /><Add Test=\"UAOOI.SemanticData.UANodeSetValidation.UnitTest.NodeSetUnitTest.WrongFileNFormatTestMethod\" /><Add Test=\"UAOOI.SemanticData.AddressSpaceTestTool.UnitTests.CommandLineSyntaxUnitTest.EmptyLineTest\" /><Add Test=\"UAOOI.SemanticData.UANodeSetValidation.UANodeContextUnitTest.EqualsUAVariableTestMethod\" /><Add Test=\"UAOOI.SemanticData.UANodeSetValidation.NodeIdUnitTest.NodeIdGetHashCodeTestMethod\" /><Add Test=\"UAOOI.SemanticData.UANodeSetValidation.UnitTest.UAModelContextUnitTest.CreateUAModelContextNodeAliasNull\" /><Add Test=\"UAOOI.SemanticData.UAModelDesignExport.ModelDesignExportUnitTest.ConstructorTestMethod\" /><Add Test=\"UAOOI.SemanticData.UANodeSetValidation.ExtensionsUnitTest.LocalizedTextArraysEqualTest\" /><Add Test=\"UAOOI.SemanticData.UANodeSetValidation.UnitTest.UAModelContextUnitTest.ConstructorTest\" /><Add Test=\"UAOOI.SemanticData.UANodeSetValidation.UnitTest.InformationModelFactoryUnitTest.InformationModelFactoryIExportViewInstanceFactoryTestMethod2\" /><Add Test=\"UAOOI.SemanticData.UANodeSetValidation.XML.UANodeSetUnitTest.NotEqualsInstancesTest\" /><Add Test=\"UAOOI.SemanticData.UANodeSetValidation.UANodeContextUnitTest.UpdateDuplicatedNodeIdTest\" /><Add Test=\"UAOOI.SemanticData.UANodeSetValidation.UnitTest.InformationModelFactoryUnitTest.InformationModelFactoryIExportReferenceTypeFactoryTestMethod\" /><Add Test=\"UAOOI.SemanticData.UANodeSetValidation.DataSerialization.UnitTest.NodeIdUnitTest.NodeIdNonValidNumericTestMethod2\" /><Add Test=\"UAOOI.SemanticData.UANodeSetValidation.UnitTest.UANodeSetWithErrorsUnitTest.UndefinedHasTypeDefinitionTestMethod\" /><Add Test=\"UAOOI.SemanticData.UANodeSetValidation.UnitTest.ServiceResultExceptionUnitTest.ServiceResultExceptionCreateTestMethod\" /><Add Test=\"UAOOI.SemanticData.UANodeSetValidation.ExtensionsUnitTest.RolePermissionsEqualsTest\" /><Add Test=\"UAOOI.SemanticData.UANodeSetValidation.UnitTest.ResourcesUnitTest.ReadUADefinedTypesTestMethod\" /><Add Test=\"UAOOI.SemanticData.UANodeSetValidation.UnitTest.InformationModelFactoryUnitTest.InformationModelFactoryIExportPropertyInstanceFactoryTestMethod2\" /><Add Test=\"UAOOI.SemanticData.UANodeSetValidation.UnitTest.UAModelContextUnitTest.ImportQualifiedNameTest\" /><Add Test=\"UAOOI.SemanticData.UANodeSetValidation.UnitTest.InformationModelFactoryUnitTest.InformationModelFactoryIExportMethodInstanceFactoryTestMethod2\" /><Add Test=\"UAOOI.SemanticData.UANodeSetValidation.UANodeContextUnitTest.UpdateWithDifferentNodeIdTest\" /><Add Test=\"UAOOI.SemanticData.UANodeSetValidation.XMLUANodeUnitTest.UANodeEqualsTest\" /><Add Test=\"CAS.UA.Model.Designer.ImportExport.UT.NodeSetUnitTest.UADataTypeTestMethod\" /><Add Test=\"UAOOI.SemanticData.UANodeSetValidation.UnitTest.UANodeSetWithErrorsUnitTest.WrongBrowseName\" /><Add Test=\"UAOOI.SemanticData.UANodeSetValidation.UnitTest.AddressSpaceContextUnitTest.ImportObjectTestMethod\" /><Add Test=\"UAOOI.SemanticData.UANodeSetValidation.NamespaceTableUnitTest.GetStringTest\" /><Add Test=\"UAOOI.SemanticData.UANodeSetValidation.UnitTest.AddressSpaceContextUnitTest.ReferencesCheckConsistencyTest\" /><Add Test=\"UAOOI.SemanticData.UANodeSetValidation.UnitTest.UANodeSetWithErrorsUnitTest.DuplicatedNodeIdTestMethod\" /><Add Test=\"UAOOI.SemanticData.UANodeSetValidation.UnitTest.UANodeSetWithErrorsUnitTest.WrongValueRankTestMethod\" /><Add Test=\"UAOOI.SemanticData.UANodeSetValidation.UnitTest.AddressSpaceContextUnitTest.AddressSpaceContextConstructorTest\" /><Add Test=\"UAOOI.SemanticData.UANodeSetValidation.UnitTest.NodeSetUnitTest.UAReferenceTestMethod\" /><Add Test=\"UAOOI.SemanticData.UANodeSetValidation.UnitTest.AddressSpaceContextUnitTest.AddressSpaceContextImportUANodeSetNullTestMethod2\" /><Add Test=\"UAOOI.SemanticData.UANodeSetValidation.XMLUANodeUnitTest.UANodeEquals\" /><Add Test=\"UAOOI.SemanticData.UAModelDesignExport.XML.UAResourcesUnitTest.LoadUADefinedTypesTestMethod\" /><Add Test=\"UAOOI.SemanticData.UANodeSetValidation.AddressSpaceContextUnitTest.AddressSpaceReferencesContentCheck\" /><Add Test=\"UAOOI.SemanticData.UANodeSetValidation.AddressSpaceContextUnitTest.AddressSpaceContextValidateAndExportIndex0\" /><Add Test=\"UAOOI.SemanticData.UANodeSetValidation.AddressSpaceContextUnitTest.AddressSpaceContextContentCheck\" /><Add Test=\"UAOOI.SemanticData.UANodeSetValidation.AddressSpaceContextUnitTest.ImportObjectTest\" /><Add Test=\"UAOOI.SemanticData.UANodeSetValidation.AddressSpaceContextUnitTest.GetMyReferencesTest\" /><Add Test=\"UAOOI.SemanticData.UANodeSetValidation.AddressSpaceContextUnitTest.AddressSpaceContextValidateAndExportModelOpcUa\" /><Add Test=\"UAOOI.SemanticData.UANodeSetValidation.AddressSpaceContextUnitTest.AddressSpaceContextValidateAndExportModelWrongNamespace\" /><Add Test=\"UAOOI.SemanticData.UANodeSetValidation.AddressSpaceContextUnitTest.AddressSpaceContextConstructorTest\" /><Add Test=\"UAOOI.SemanticData.UANodeSetValidation.AddressSpaceContextUnitTest.ImportUANodeSetTest\" /><Add Test=\"UAOOI.SemanticData.UANodeSetValidation.AddressSpaceContextUnitTest.ReferencesCheckConsistencyTest\" /><Add Test=\"UAOOI.SemanticData.UANodeSetValidation.AddressSpaceContextUnitTest.AddressSpaceContextImportUANodeSetNull\" /><Add Test=\"UAOOI.SemanticData.UANodeSetValidation.InformationModelFactoryUnitTest.InformationModelIExportDataTypeFactoryFactoryTestMethod2\" /><Add Test=\"UAOOI.SemanticData.UANodeSetValidation.InformationModelFactoryUnitTest.InformationModelFactoryIExportPropertyInstanceFactoryTestMethod2\" /><Add Test=\"UAOOI.SemanticData.UANodeSetValidation.InformationModelFactoryUnitTest.InformationModelFactoryIExportObjectInstanceFactoryTestMethod2\" /><Add Test=\"UAOOI.SemanticData.UANodeSetValidation.InformationModelFactoryUnitTest.InformationModelFactoryIExportViewInstanceFactoryTestMethod2\" /><Add Test=\"UAOOI.SemanticData.UANodeSetValidation.InformationModelFactoryUnitTest.InformationModelFactoryIExportVariableTypeFactoryTestMethod2\" /><Add Test=\"UAOOI.SemanticData.UANodeSetValidation.InformationModelFactoryUnitTest.InformationModelFactoryIExportReferenceTypeFactoryTestMethod\" /><Add Test=\"UAOOI.SemanticData.UANodeSetValidation.InformationModelFactoryUnitTest.InformationModelFactoryIExportVariableInstanceFactoryTestMethod2\" /><Add Test=\"UAOOI.SemanticData.UANodeSetValidation.InformationModelFactoryUnitTest.InformationModelFactoryIExportObjectTypeFactoryTestMethod2\" /><Add Test=\"UAOOI.SemanticData.UANodeSetValidation.InformationModelFactoryUnitTest.InformationModelFactoryIExportMethodInstanceFactoryTestMethod2\" /><Add Test=\"UAOOI.SemanticData.UANodeSetValidation.XML.UAModelContextUnitTest.RecalculateNodeIdsUANodeSetTest\" /><Add Test=\"UAOOI.SemanticData.UANodeSetValidation.DataSerialization.ExtensionsUnitTest.ParseBrowseNameTest\" /><Add Test=\"UAOOI.SemanticData.UANodeSetValidation.XMLModelsModelsWithErrorsUnitTest.WrongBrowseName\" /><Add Test=\"UAOOI.SemanticData.UANodeSetValidation.DataSerialization.NodeIdUnitTest.NodeIdDictionaryTestMethod2\" /><Add Test=\"UAOOI.SemanticData.UANodeSetValidation.DataSerialization.ServiceResultExceptionUnitTest.ServiceResultExceptionCreateWithMessageTestMethod\" /><Add Test=\"UAOOI.SemanticData.UANodeSetValidation.XMLModelsProblemsToReportUnitTest.fgolra177Test\" /><Add Test=\"UAOOI.SemanticData.UANodeSetValidation.DataSerialization.QualifiedNameUnitTest.OperatorsTest\" /><Add Test=\"UAOOI.SemanticData.UANodeSetValidation.XML.UAModelContextUnitTest.ModelUriModelsIsEmptyTest\" /><Add Test=\"UAOOI.SemanticData.UANodeSetValidation.XML.UAModelContextUnitTest.ModelUriTest\" /><Add Test=\"UAOOI.SemanticData.UAModelDesignExport.NodeSetIntegrationTest.UAVariableTypeTestMethod\" /><Add Test=\"UAOOI.SemanticData.UANodeSetValidation.XML.UAModelContextUnitTest.ImportQualifiedNameTest\" /><Add Test=\"UAOOI.SemanticData.UANodeSetValidation.XMLModelsProblemsToReportUnitTest.ADITest\" /><Add Test=\"UAOOI.SemanticData.UANodeSetValidation.XMLModelsModelsWithErrorsUnitTest.NotSupportedFeature\" /><Add Test=\"UAOOI.SemanticData.UANodeSetValidation.XMLModelsModelsWithErrorsUnitTest.WrongNodeId\" /><Add Test=\"UAOOI.SemanticData.UANodeSetValidation.DataSerialization.NodeIdUnitTest.NodeIdValidTestMethod1\" /><Add Test=\"UAOOI.SemanticData.UANodeSetValidation.XMLModelsProblemsToReportUnitTest.NameInheritedFrom0Test\" /><Add Test=\"UAOOI.SemanticData.UAModelDesignExport.NodeSetIntegrationTest.UAReferenceTestMethod\" /><Add Test=\"UAOOI.SemanticData.UANodeSetValidation.UANodeContextUnitTest.ConstructorTest\" /><Add Test=\"UAOOI.SemanticData.UANodeSetValidation.XMLModelsCorrectModelsUnitTest.UAObjectTypeTestMethod\" /><Add Test=\"UAOOI.SemanticData.UANodeSetValidation.UANodeContextUnitTest.UpdateReferencesTest\" /><Add Test=\"UAOOI.SemanticData.UANodeSetValidation.XMLModelsCorrectModelsUnitTest.WrongFileNFormatTestMethod\" /><Add Test=\"UAOOI.SemanticData.UANodeSetValidation.DataSerialization.QualifiedNameUnitTest.ToStringTest\" /><Add Test=\"UAOOI.SemanticData.UANodeSetValidation.XMLModelsCorrectModelsUnitTest.UAVariableTypeTestMethod\" /><Add Test=\"UAOOI.SemanticData.UANodeSetValidation.XMLModelsModelsWithErrorsUnitTest.UndefinedHasComponentTargetTestMethod\" /><Add Test=\"UAOOI.SemanticData.UANodeSetValidation.DataSerialization.NodeIdUnitTest.NodeIdToStringTestMethod\" /><Add Test=\"UAOOI.SemanticData.UAModelDesignExport.NodeSetIntegrationTest.UAObjectTypeTestMethod\" /><Add Test=\"UAOOI.SemanticData.UANodeSetValidation.DataSerialization.NodeIdUnitTest.NodeIdNonValidNumericTestMethod1\" /><Add Test=\"UAOOI.SemanticData.UANodeSetValidation.XMLModelsProblemsToReportUnitTest.MachineVisionTest\" /><Add Test=\"UAOOI.SemanticData.UANodeSetValidation.UANodeContextUnitTest.UpdateBrowseNameIndex1Test\" /><Add Test=\"UAOOI.SemanticData.UANodeSetValidation.XMLModelsCorrectModelsUnitTest.UAReferenceTestMethod\" /><Add Test=\"UAOOI.SemanticData.UANodeSetValidation.DataSerialization.QualifiedNameUnitTest.QualifiedNameParseTest\" /><Add Test=\"UAOOI.SemanticData.UANodeSetValidation.DataSerialization.NodeIdUnitTest.NodeIdDictionaryTestMethod3\" /><Add Test=\"UAOOI.SemanticData.UANodeSetValidation.XMLModelsModelsWithErrorsUnitTest.WrongInverseNameTestMethod\" /><Add Test=\"UAOOI.SemanticData.UANodeSetValidation.DataSerialization.NodeIdUnitTest.NodeIdToStringTestMethod3\" /><Add Test=\"UAOOI.SemanticData.UANodeSetValidation.XMLModelsModelsWithErrorsUnitTest.WrongAccessLevelTestMethod\" /><Add Test=\"UAOOI.SemanticData.UANodeSetValidation.DataSerialization.QualifiedNameUnitTest.NotEqualOperatorTest\" /><Add Test=\"UAOOI.SemanticData.UANodeSetValidation.DataSerialization.QualifiedNameUnitTest.QualifiedNameParseDefaultNamespaceTestMethod\" /><Add Test=\"UAOOI.SemanticData.UANodeSetValidation.DataSerialization.NodeIdUnitTest.NodeIdCompareToTestMethod\" /><Add Test=\"UAOOI.SemanticData.UANodeSetValidation.DataSerialization.QualifiedNameUnitTest.QualifiedNameParse0NamespaceIndexTest\" /><Add Test=\"UAOOI.SemanticData.UANodeSetValidation.XMLModelsModelsWithErrorsUnitTest.ObjectEventNotifierOutOfRangeTestMethod\" /><Add Test=\"UAOOI.SemanticData.UANodeSetValidation.DataSerialization.ServiceResultExceptionUnitTest.ServiceResultExceptionCreateTestMethod\" /><Add Test=\"UAOOI.SemanticData.UANodeSetValidation.NamespaceTableUnitTest.GetURIIndexIndexTest\" /><Add Test=\"UAOOI.SemanticData.UANodeSetValidation.UANodeContextUnitTest.UpdateTest\" /><Add Test=\"UAOOI.SemanticData.UANodeSetValidation.XMLModelsProblemsToReportUnitTest.eoursel510Test\" /><Add Test=\"UAOOI.SemanticData.UAModelDesignExport.NodeSetIntegrationTest.UADataTypeTestMethod\" /><Add Test=\"UAOOI.SemanticData.UANodeSetValidation.DataSerialization.QualifiedNameUnitTest.EqualOperatorTest\" /><Add Test=\"UAOOI.SemanticData.UANodeSetValidation.XMLUANodeUnitTest.RecalculateNodeIdsTest\" /><Add Test=\"UAOOI.SemanticData.UANodeSetValidation.DataSerialization.QualifiedNameUnitTest.QualifiedNameConstructorTest\" /><Add Test=\"UAOOI.SemanticData.UANodeSetValidation.NamespaceTableUnitTest.UpadateModelOrAppendTest\" /><Add Test=\"UAOOI.SemanticData.UANodeSetValidation.XMLModelsModelsWithErrorsUnitTest.DuplicatedNodeIdTestMethod\" /><Add Test=\"UAOOI.SemanticData.UANodeSetValidation.DataSerialization.NodeIdUnitTest.NodeIdNonValidNumericTestMethod2\" /><Add Test=\"UAOOI.SemanticData.UAModelDesignExport.ExtensionsUnitTest.KeyTest\" /><Add Test=\"UAOOI.SemanticData.UANodeSetValidation.XML.UAModelContextUnitTest.ImportQualifiedNameWrongNamespaceIndexTest\" /><Add Test=\"UAOOI.SemanticData.UANodeSetValidation.XML.UAModelContextUnitTest.ImportNodeIdTest\" /><Add Test=\"UAOOI.SemanticData.UANodeSetValidation.DataSerialization.NodeIdUnitTest.NodeIdDictionaryTestMethod\" /><Add Test=\"UAOOI.SemanticData.UANodeSetValidation.XMLModelsModelsWithErrorsUnitTest.WrongValueRankTestMethod\" /><Add Test=\"UAOOI.SemanticData.UANodeSetValidation.XML.UANodeSetUnitTest.ReadUADefinedTypesTest\" /><Add Test=\"UAOOI.SemanticData.UANodeSetValidation.DataSerialization.NodeIdUnitTest.NodeIdOperatorTestMethod1\" /><Add Test=\"UAOOI.SemanticData.UANodeSetValidation.XML.UANodeSetUnitTest.OpcUaNodeSet2TestMethod\" /><Add Test=\"UAOOI.SemanticData.UAModelDesignExport.NodeSetIntegrationTest.FileNotFoundTestMethod\" /><Add Test=\"UAOOI.SemanticData.UANodeSetValidation.XMLModelsModelsWithErrorsUnitTest.WrongWriteMaskValue\" /><Add Test=\"UAOOI.SemanticData.UANodeSetValidation.XMLModelsModelsWithErrorsUnitTest.UndefinedHasSubtypeTestMethod\" /><Add Test=\"UAOOI.SemanticData.UANodeSetValidation.XMLModelsCorrectModelsUnitTest.UADataTypeTestMethod\" /><Add Test=\"UAOOI.SemanticData.UANodeSetValidation.XMLModelsModelsWithErrorsUnitTest.UndefinedHasTypeDefinitionTestMethod\" /><Add Test=\"UAOOI.SemanticData.UANodeSetValidation.DataSerialization.NodeIdUnitTest.NodeIdToStringTestMethod2\" /><Add Test=\"UAOOI.SemanticData.UANodeSetValidation.XML.UAModelContextUnitTest.ParseUANodeSetModelHeaderTest\" /><Add Test=\"UAOOI.SemanticData.UANodeSetValidation.NamespaceTableUnitTest.GetURIatIndexTest\" /><Add Test=\"UAOOI.SemanticData.UANodeSetValidation.DataSerialization.QualifiedNameUnitTest.EqualsTest\" /><Add Test=\"UAOOI.SemanticData.UANodeSetValidation.UANodeContextUnitTest.UpdateBrowseNameIndex0Test\" /><Add Test=\"UAOOI.SemanticData.UANodeSetValidation.XMLModelsModelsWithErrorsUnitTest.WrongDisplayNameLength\" /><Add Test=\"UAOOI.SemanticData.UANodeSetValidation.NamespaceTableUnitTest.ModelsTest\" /><Add Test=\"UAOOI.SemanticData.UANodeSetValidation.XMLModelsModelsWithErrorsUnitTest.WrongReference2PropertyTestMethod\" /><Add Test=\"UAOOI.SemanticData.UANodeSetValidation.XML.UANodeUnitTest.UAObjectEqualsTest\" /><Add Test=\"UAOOI.SemanticData.UANodeSetValidation.XML.UANodeUnitTest.RecalculateNodeIdsTest\" /><Add Test=\"UAOOI.SemanticData.UANodeSetValidation.XML.UANodeUnitTest.UAInstanceEqualsTest\" /><Add Test=\"UAOOI.SemanticData.UANodeSetValidation.XML.UANodeUnitTest.UANodeEqualsTest\" /><Add Test=\"UAOOI.SemanticData.UANodeSetValidation.XML.UANodeUnitTest.UANodeEquals\" /><Add Test=\"UAOOI.SemanticData.UANodeSetValidation.XMLModelsProblemsToReportUnitTest.HasOrderedComponentTest\" /><Add Test=\"UAOOI.SemanticData.UANodeSetValidation.UAReferenceContextTestClass.GetReferenceTypeNameTest\" /><Add Test=\"UAOOI.SemanticData.UANodeSetValidation.UAReferenceContextTestClass.NullArgumentConstructorTest\" /><Add Test=\"UAOOI.SemanticData.UANodeSetValidation.UAReferenceContextTestClass.ConstructorTest\" /><Add Test=\"UAOOI.SemanticData.UANodeSetValidation.UAReferenceContextTestClass.BrowsePathNameIsForwardTest\" /><Add Test=\"UAOOI.SemanticData.UANodeSetValidation.UAReferenceContextTestClass.BrowsePathNameTest\" /><Add Test=\"UAOOI.SemanticData.UANodeSetValidation.UAReferenceContextTestClass.BuildSymbolicIdTest\" /></Playlist>"
  },
  {
    "path": "TableOfContent.md",
    "content": "# Table of Content\n\n* [Executive Summary](README.MD)\n\n## Introduction\n\n* [Introduction to Object-Oriented Internet](Preface.md)\n* [Introduction to Complex Data Processing](Introduction2ComplexDataProcessing.md)\n* [OPC Unified Architecture](OPCUnifiedArchitecture.md)\n* [OPC UA Main Technology Features](OPCUAMainTechnologyFeatures.md)\n\n## Semantic-Data Processing\n\n* [Semantic-Data Processing Architecture](SemanticData/README.MD)\n* [Address Space and Address Space Model](SemanticData/AddressSpaceAddressSpaceModel.md)\n* [UA Information Model - Concept](SemanticData/InformationModelConcept.md)\n  * [Standard Information Model](SemanticData/StandardInformationModel.md)\n* [Information Models Development](SemanticData/InformationModelsDevelopment.md)\n  * [Adopting Companion Standard Models - Analyzer Devices Integration](SemanticData/AdoptingCompanionStandardADI.md)\n  * [Companion Specification - Information Model for Analyzers](SemanticData/CompanionSpecificationInformationModelFforAnalyzers.md)\n  * [ADI Information Model Adoption](SemanticData/ADIInformationModelAdoption.md)\n  * [ADI Model Deployment](SemanticData/ADIModelDeployment.md)\n  * [Address Space Model Life-cycle](SemanticData/InformationModelLifecycle.md)\n  * [Design and Deployment Support](SemanticData/DesignDeploymentSupport.md)\n* [`Address Space Management` Implementation](SemanticData/UANodeSetValidation/README.MD)\n* [Address Space Prototyping Tool (asp.exe)](SemanticData/AddressSpaceComplianceTestTool/README.md)\n  * [`UAModelDesignExport` Library](SemanticData/UAModelDesignExport/README.md)\n\n## Internet of Things (IoT) Archetype\n\n* [Semantic-Data Message Centric Communication](Networking/README.MessageCentricCommunication.md)\n* [Internet of Things (IoT) Communication](Networking/README.MD)\n\n## Reactive Communication\n\n* [UA Part 14: PubSub Main Technology Features](Networking/SemanticData/README.PubSubMTF.md)\n* [Reactive Networking of Semantic-Data Library](Networking/SemanticData/README.MD)\n  * [Underlying Transport over UDP](Networking/UDPMessageHandler/README.md)\n  * [Underlying Transport over MQTT](Networking/SemanticData/README_MQTTMapping.md)\n  * [Underlying Transport over AMQP](Networking/SemanticData/README_AMQPMapping.md)\n  * [Underlying Transport over Ethernet](Networking/SemanticData/README_EthernetMapping.md)\n  * [DataSet and Communication Channel Association](Networking/SemanticData/READMEDataDiscoveryAndBinding.md)\n  * [Encoding Library](Networking/Encoding/README.md)\n* [Getting Started Tutorial](Networking/SemanticData/READMEGettingStartedTutorial.md)\n* [Walk-through `ReferenceApplication`](Networking/ReferenceApplication/README.MD)\n  * [`ReferenceApplication` Utilities](Networking/ReferenceApplication.Core/README.md)\n  * [Azure Gateway DataRepository](Networking/DataRepository/AzureGateway/README.md)\n  * [`ReferenceApplication` Consumer - Data Logger](Networking/DataRepository/DataLogger/README.md)\n  * [`ReferenceApplication` Producer - Interoperability Test Data Generator](Networking/SimulatorInteroperabilityTest/README.md)\n  * [`ReferenceApplication` Producer - Boilers Set Simulator](Networking/Simulator.Boiler/README.md)\n\n## Configuration\n\n* [Configuration - Executive Summary](Configuration/README.md)\n  * [Reactive Networking (RxNetworking) Configuration](Configuration/Networking/README.MD)\n  * [DataBinding library](Configuration/DataBindings/README.MD)\n\n## Global Data Discovery\n\n* [Concept](DataDiscovery/README.MD)\n* [Domain Model](DataDiscovery/DomainModel.md)\n\n## References\n\n* [See also](REFERENCES.md)\n"
  },
  {
    "path": "UAObjectOrientedInternet.sln",
    "content": "﻿\nMicrosoft Visual Studio Solution File, Format Version 12.00\n# Visual Studio Version 16\nVisualStudioVersion = 16.0.31829.152\nMinimumVisualStudioVersion = 10.0.40219.1\nProject(\"{2150E333-8FDC-42A3-9474-1A3956D46DE8}\") = \"CommonResources\", \"CommonResources\", \"{78EDB72A-77B1-4A64-8E76-17E780993017}\"\n\tProjectSection(SolutionItems) = preProject\n\t\tCommonResources\\README.MD = CommonResources\\README.MD\n\tEndProjectSection\nEndProject\nProject(\"{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}\") = \"T4Definitions\", \"CommonResources\\T4Definitions\\T4Definitions.csproj\", \"{DDE02168-1EAD-41D9-B5E6-FB101F98AC24}\"\nEndProject\nProject(\"{2150E333-8FDC-42A3-9474-1A3956D46DE8}\") = \"Configuration\", \"Configuration\", \"{2148B4AF-8B02-45C3-89E7-AEACAE448DDA}\"\n\tProjectSection(SolutionItems) = preProject\n\t\tConfiguration\\README.md = Configuration\\README.md\n\tEndProjectSection\nEndProject\nProject(\"{2150E333-8FDC-42A3-9474-1A3956D46DE8}\") = \"Tests\", \"Tests\", \"{B58E5262-0DEA-4096-8409-7B118711D8DF}\"\nEndProject\nProject(\"{9A19103F-16F7-4668-BE54-9A1E7A4F7556}\") = \"Configuration.DataBindings\", \"Configuration\\DataBindings\\Configuration.DataBindings.csproj\", \"{F8DB9567-C559-440C-BBCF-E02013F9AB94}\"\nEndProject\nProject(\"{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}\") = \"Configuration.DataBindings.UnitTest\", \"Configuration\\Tests\\DataBindingsUnitTest\\Configuration.DataBindings.UnitTest.csproj\", \"{71D956E4-1AE6-4EF8-BC18-A195A68AFAB5}\"\nEndProject\nProject(\"{2150E333-8FDC-42A3-9474-1A3956D46DE8}\") = \"Common\", \"Common\", \"{6F7A6A18-FF7B-4D3B-8B1F-BD525E065174}\"\n\tProjectSection(SolutionItems) = preProject\n\t\tCommon\\README.md = Common\\README.md\n\tEndProjectSection\nEndProject\nProject(\"{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}\") = \"Common.Infrastructure.UnitTest\", \"Common\\Tests\\InfrastructureUnitTest\\Common.Infrastructure.UnitTest.csproj\", \"{C5F00673-1BDE-45A7-826B-C7E8F517398C}\"\nEndProject\nProject(\"{9A19103F-16F7-4668-BE54-9A1E7A4F7556}\") = \"Common.Infrastructure\", \"Common\\Infrastructure\\Common.Infrastructure.csproj\", \"{8817A671-ABB8-463A-A8A3-DDCFE781A6B6}\"\nEndProject\nProject(\"{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}\") = \"Configuration.Networking.Upgrade.UnitTest\", \"Configuration\\Tests\\NetworkingUpgradeUnitTest\\Configuration.Networking.Upgrade.UnitTest.csproj\", \"{F2ED1AC0-2F78-4506-ADFD-0BC88A6C616D}\"\nEndProject\nProject(\"{9A19103F-16F7-4668-BE54-9A1E7A4F7556}\") = \"Configuration.Networking.Upgrade\", \"Configuration\\NetworkingUpgrade\\Configuration.Networking.Upgrade.csproj\", \"{BEBE131A-C931-4C2C-9F9E-ED0D0B75DF26}\"\nEndProject\nProject(\"{2150E333-8FDC-42A3-9474-1A3956D46DE8}\") = \"Networking\", \"Networking\", \"{F4178F51-3BFF-46DE-841D-C01D4ABA9B0C}\"\n\tProjectSection(SolutionItems) = preProject\n\t\tNetworking\\README.MD = Networking\\README.MD\n\t\tNetworking\\README.MessageCentricCommunication.md = Networking\\README.MessageCentricCommunication.md\n\tEndProjectSection\nEndProject\nProject(\"{2150E333-8FDC-42A3-9474-1A3956D46DE8}\") = \"Tests\", \"Tests\", \"{19A61D68-0ECA-4093-AEE5-370BC3CE777C}\"\nEndProject\nProject(\"{2150E333-8FDC-42A3-9474-1A3956D46DE8}\") = \"SemanticData\", \"SemanticData\", \"{AF01F501-9B19-4357-B8A7-4EFC782BF1AF}\"\n\tProjectSection(SolutionItems) = preProject\n\t\tSemanticData\\AddressSpaceAddressSpaceModel.md = SemanticData\\AddressSpaceAddressSpaceModel.md\n\t\tSemanticData\\ADIInformationModelAdoption.md = SemanticData\\ADIInformationModelAdoption.md\n\t\tSemanticData\\ADIModelDeployment.md = SemanticData\\ADIModelDeployment.md\n\t\tSemanticData\\AdoptingCompanionStandardADI.md = SemanticData\\AdoptingCompanionStandardADI.md\n\t\tSemanticData\\CompanionSpecificationInformationModelFforAnalyzers.md = SemanticData\\CompanionSpecificationInformationModelFforAnalyzers.md\n\t\tSemanticData\\DesignDeploymentSupport.md = SemanticData\\DesignDeploymentSupport.md\n\t\tSemanticData\\InformationModelConcept.md = SemanticData\\InformationModelConcept.md\n\t\tSemanticData\\InformationModelLifecycle.md = SemanticData\\InformationModelLifecycle.md\n\t\tSemanticData\\InformationModelsDevelopment.md = SemanticData\\InformationModelsDevelopment.md\n\t\tSemanticData\\InformationProcessing.md = SemanticData\\InformationProcessing.md\n\t\tSemanticData\\README.MD = SemanticData\\README.MD\n\t\tSemanticData\\StandardInformationModel.md = SemanticData\\StandardInformationModel.md\n\tEndProjectSection\nEndProject\nProject(\"{9A19103F-16F7-4668-BE54-9A1E7A4F7556}\") = \"Configuration.Networking\", \"Configuration\\Networking\\Configuration.Networking.csproj\", \"{E28E0880-03AA-4D1B-A820-41B04E766019}\"\nEndProject\nProject(\"{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}\") = \"Configuration.Networking.UnitTest\", \"Configuration\\Tests\\NetworkingUnitTest\\Configuration.Networking.UnitTest.csproj\", \"{81DDD889-3223-4F24-8B65-DD5C57886994}\"\nEndProject\nProject(\"{9A19103F-16F7-4668-BE54-9A1E7A4F7556}\") = \"Networking.SemanticData\", \"Networking\\SemanticData\\Networking.SemanticData.csproj\", \"{7F4DED4E-5933-4229-B9CC-51DA49678904}\"\nEndProject\nProject(\"{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}\") = \"Networking.ReferenceApplication\", \"Networking\\ReferenceApplication\\Networking.ReferenceApplication.csproj\", \"{F0ACCB28-AE0D-4E19-94FA-7BE3044F1EEB}\"\nEndProject\nProject(\"{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}\") = \"Networking.SemanticData.UnitTest\", \"Networking\\Tests\\SemanticDatalUnitTest\\Networking.SemanticData.UnitTest.csproj\", \"{F7C29437-0923-449C-B4E9-36653A55C3E5}\"\nEndProject\nProject(\"{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}\") = \"Networking.ReferenceApplication.UnitTest\", \"Networking\\Tests\\ReferenceApplicationUnitTest\\Networking.ReferenceApplication.UnitTest.csproj\", \"{ED278519-D497-47AE-8EB1-5826904AF6B1}\"\nEndProject\nProject(\"{2150E333-8FDC-42A3-9474-1A3956D46DE8}\") = \"DataDiscovery\", \"DataDiscovery\", \"{069B930C-EF5B-4943-AA82-0F56C33CF3DD}\"\n\tProjectSection(SolutionItems) = preProject\n\t\tDataDiscovery\\DomainModel.md = DataDiscovery\\DomainModel.md\n\t\tDataDiscovery\\ProjectDescription.md = DataDiscovery\\ProjectDescription.md\n\t\tDataDiscovery\\Readme.md = DataDiscovery\\Readme.md\n\tEndProjectSection\nEndProject\nProject(\"{9A19103F-16F7-4668-BE54-9A1E7A4F7556}\") = \"DataDiscovery.DiscoveryServices\", \"DataDiscovery\\DiscoveryServices\\DataDiscovery.DiscoveryServices.csproj\", \"{DD1A7EC2-FF25-4D35-9D0A-5BB626E61D17}\"\nEndProject\nProject(\"{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}\") = \"DataDiscovery.DiscoveryServices.UnitTest\", \"DataDiscovery\\Tests\\DiscoveryServices.UnitTest\\DataDiscovery.DiscoveryServices.UnitTest.csproj\", \"{591B6DB0-0D22-4E58-AA29-4EB10C0EAFFE}\"\nEndProject\nProject(\"{9A19103F-16F7-4668-BE54-9A1E7A4F7556}\") = \"Networking.UDPMessageHandler\", \"Networking\\UDPMessageHandler\\Networking.UDPMessageHandler.csproj\", \"{D2EB89F9-321E-46E4-BA79-679138B82B23}\"\nEndProject\nProject(\"{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}\") = \"Networking.UDPMessageHandler.UnitTest\", \"Networking\\Tests\\UDPMessageHandler.UnitTest\\Networking.UDPMessageHandler.UnitTest.csproj\", \"{ECF931DE-F5F3-4752-AA1B-847F7ED414D1}\"\nEndProject\nProject(\"{9A19103F-16F7-4668-BE54-9A1E7A4F7556}\") = \"SemanticData.InformationModelFactory\", \"SemanticData\\InformationModelFactory\\SemanticData.InformationModelFactory.csproj\", \"{6D20785D-0451-46A9-9AC2-EC66B7C0D18A}\"\nEndProject\nProject(\"{9A19103F-16F7-4668-BE54-9A1E7A4F7556}\") = \"SemanticData.UANodeSetValidation\", \"SemanticData\\UANodeSetValidation\\SemanticData.UANodeSetValidation.csproj\", \"{352378A0-8B2E-4679-BB44-FD0BCC8467D9}\"\nEndProject\nProject(\"{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}\") = \"SemanticData.AddressSpaceComplianceTestTool\", \"SemanticData\\AddressSpaceComplianceTestTool\\SemanticData.AddressSpaceComplianceTestTool.csproj\", \"{05DB9E60-B12B-4AA3-8A7C-514F87CFF464}\"\nEndProject\nProject(\"{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}\") = \"SemanticData.AddressSpaceComplianceTestTool.UnitTests\", \"SemanticData\\Tests\\AddressSpaceComplianceTestToolUnitTests\\SemanticData.AddressSpaceComplianceTestTool.UnitTests.csproj\", \"{37D26B63-74FE-45C6-9F61-251BDF69EDF7}\"\nEndProject\nProject(\"{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}\") = \"SemanticData.UANodeSetValidation.UnitTest\", \"SemanticData\\Tests\\USNodeSetValidationUnitTestProject\\SemanticData.UANodeSetValidation.UnitTest.csproj\", \"{2DC898B5-AFD9-47B2-A962-C4002C1AE8FF}\"\nEndProject\nProject(\"{9A19103F-16F7-4668-BE54-9A1E7A4F7556}\") = \"Networking.Encoding\", \"Networking\\Encoding\\Networking.Encoding.csproj\", \"{2492AA3B-CF67-477A-B29E-14A1E348B939}\"\nEndProject\nProject(\"{9A19103F-16F7-4668-BE54-9A1E7A4F7556}\") = \"Networking.SimulatorInteroperabilityTest\", \"Networking\\SimulatorInteroperabilityTest\\Networking.SimulatorInteroperabilityTest.csproj\", \"{5D2A0688-95E3-400A-B789-49052389D2B1}\"\nEndProject\nProject(\"{9A19103F-16F7-4668-BE54-9A1E7A4F7556}\") = \"Networking.ReferenceApplication.Core\", \"Networking\\ReferenceApplication.Core\\Networking.ReferenceApplication.Core.csproj\", \"{2238851E-4DB8-46B0-B38D-0E2315FE153E}\"\nEndProject\nProject(\"{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}\") = \"Networking.SimulatorInteroperabilityTest.UnitTest\", \"Networking\\Tests\\Networking.SimulatorInteroperabilityTest.UnitTest\\Networking.SimulatorInteroperabilityTest.UnitTest.csproj\", \"{3BF22621-2E78-4F60-B7C9-7C61D1F440BA}\"\nEndProject\nProject(\"{9A19103F-16F7-4668-BE54-9A1E7A4F7556}\") = \"Configuration.Core\", \"Configuration\\Core\\Configuration.Core.csproj\", \"{0A2FB856-D50C-463D-8218-063A36942188}\"\nEndProject\nProject(\"{9A19103F-16F7-4668-BE54-9A1E7A4F7556}\") = \"Networking.Simulator.Boiler\", \"Networking\\Simulator.Boiler\\Networking.Simulator.Boiler.csproj\", \"{3CE5CCA6-0EAD-49EF-AB69-D1F17A9C6D43}\"\nEndProject\nProject(\"{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}\") = \"Networking.Simulator.Boiler.UnitTest\", \"Networking\\Tests\\Networking.Simulator.Boiler.Unit\\Networking.Simulator.Boiler.UnitTest.csproj\", \"{F0B59A0A-90DA-41D3-8BAD-96B1F266DB6F}\"\nEndProject\nProject(\"{9A19103F-16F7-4668-BE54-9A1E7A4F7556}\") = \"Networking.Core\", \"Networking\\Core\\Networking.Core.csproj\", \"{AFCCA7C9-47FE-4FB6-935E-12D686EEC58F}\"\nEndProject\nProject(\"{2150E333-8FDC-42A3-9474-1A3956D46DE8}\") = \".Solution Items\", \".Solution Items\", \"{606ADC64-90A1-4355-BEAB-6B04717F598C}\"\n\tProjectSection(SolutionItems) = preProject\n\t\tCONTRIBUTING.md = CONTRIBUTING.md\n\t\tCOVERPAGE.md = COVERPAGE.md\n\t\tIntroduction2ComplexDataProcessing.md = Introduction2ComplexDataProcessing.md\n\t\tOPCUAMainTechnologyFeatures.md = OPCUAMainTechnologyFeatures.md\n\t\tOPCUnifiedArchitecture.md = OPCUnifiedArchitecture.md\n\t\tPreface.md = Preface.md\n\t\tREADME.MD = README.MD\n\t\tREFERENCES.md = REFERENCES.md\n\t\tSUMMARY.md = SUMMARY.md\n\t\tTableOfContent.md = TableOfContent.md\n\tEndProjectSection\nEndProject\nProject(\"{9A19103F-16F7-4668-BE54-9A1E7A4F7556}\") = \"SemanticData.UAModelDesignExport\", \"SemanticData\\UAModelDesignExport\\SemanticData.UAModelDesignExport.csproj\", \"{C970C14C-98AA-48A9-9F6F-D00C92FA6CEF}\"\nEndProject\nProject(\"{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}\") = \"SemanticData.UAModelDesignExport.UnitTest\", \"SemanticData\\UAModelDesignExport.UnitTest\\SemanticData.UAModelDesignExport.UnitTest.csproj\", \"{ABB9D4E2-568C-483E-8A77-2DE5F4FF886A}\"\nEndProject\nProject(\"{9A19103F-16F7-4668-BE54-9A1E7A4F7556}\") = \"SemanticData.BuildingErrorsHandling\", \"SemanticData\\BuildingErrorsHandling\\SemanticData.BuildingErrorsHandling.csproj\", \"{9CA2F05B-FB18-49AD-8520-1BCC838F748C}\"\nEndProject\nProject(\"{2150E333-8FDC-42A3-9474-1A3956D46DE8}\") = \"ISSUE_TEMPLATE\", \"ISSUE_TEMPLATE\", \"{5C2EB20B-990C-4444-8C5F-F1D9641DE28D}\"\n\tProjectSection(SolutionItems) = preProject\n\t\t.github\\ISSUE_TEMPLATE\\bug_report.md = .github\\ISSUE_TEMPLATE\\bug_report.md\n\t\t.github\\ISSUE_TEMPLATE\\custom.md = .github\\ISSUE_TEMPLATE\\custom.md\n\t\t.github\\ISSUE_TEMPLATE\\feature_request.md = .github\\ISSUE_TEMPLATE\\feature_request.md\n\t\tISSUE_TEMPLATE.md = ISSUE_TEMPLATE.md\n\t\t.github\\ISSUE_TEMPLATE\\PrepareReleaseTask.md = .github\\ISSUE_TEMPLATE\\PrepareReleaseTask.md\n\tEndProjectSection\nEndProject\nProject(\"{9A19103F-16F7-4668-BE54-9A1E7A4F7556}\") = \"Networking.DataRepository.AzureGateway\", \"Networking\\DataRepository\\AzureGateway\\Networking.DataRepository.AzureGateway.csproj\", \"{3F5CBB26-9142-4E55-8DE5-5BAF0C3EA1CE}\"\nEndProject\nProject(\"{2150E333-8FDC-42A3-9474-1A3956D46DE8}\") = \"DataRepository\", \"DataRepository\", \"{20139208-1830-4DF2-A158-0C505DC05DF7}\"\nEndProject\nProject(\"{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}\") = \"Networking.DataRepository.AzureGatewayUnitTest\", \"Networking\\DataRepository\\AzureGatewayUnitTest\\Networking.DataRepository.AzureGatewayUnitTest.csproj\", \"{F7FDDDCC-58C7-44E0-8DE3-6A94E6222D03}\"\nEndProject\nProject(\"{9A19103F-16F7-4668-BE54-9A1E7A4F7556}\") = \"Networking.DataLogger\", \"Networking\\DataRepository\\DataLogger\\Networking.DataLogger.csproj\", \"{3781B8CA-3128-45DC-89C9-981740357630}\"\nEndProject\nProject(\"{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}\") = \"Networking.DataLogger.UnitTest\", \"Networking\\DataRepository\\DataLogger.UnitTest\\Networking.DataLogger.UnitTest.csproj\", \"{45BE72F2-3F5B-4D13-B931-0CA62F404D4C}\"\nEndProject\nProject(\"{9A19103F-16F7-4668-BE54-9A1E7A4F7556}\") = \"SemanticData..SolutionConfiguration\", \"SemanticData\\SolutionConfiguration\\SemanticData..SolutionConfiguration.csproj\", \"{F0A5F968-A9E6-4B81-B5BB-DC05999467BA}\"\nEndProject\nGlobal\n\tGlobalSection(SolutionConfigurationPlatforms) = preSolution\n\t\tDebug|Any CPU = Debug|Any CPU\n\t\tRelease|Any CPU = Release|Any CPU\n\tEndGlobalSection\n\tGlobalSection(ProjectConfigurationPlatforms) = postSolution\n\t\t{DDE02168-1EAD-41D9-B5E6-FB101F98AC24}.Debug|Any CPU.ActiveCfg = Debug|Any CPU\n\t\t{DDE02168-1EAD-41D9-B5E6-FB101F98AC24}.Debug|Any CPU.Build.0 = Debug|Any CPU\n\t\t{DDE02168-1EAD-41D9-B5E6-FB101F98AC24}.Release|Any CPU.ActiveCfg = Release|Any CPU\n\t\t{F8DB9567-C559-440C-BBCF-E02013F9AB94}.Debug|Any CPU.ActiveCfg = Debug|Any CPU\n\t\t{F8DB9567-C559-440C-BBCF-E02013F9AB94}.Debug|Any CPU.Build.0 = Debug|Any CPU\n\t\t{F8DB9567-C559-440C-BBCF-E02013F9AB94}.Release|Any CPU.ActiveCfg = Release|Any CPU\n\t\t{F8DB9567-C559-440C-BBCF-E02013F9AB94}.Release|Any CPU.Build.0 = Release|Any CPU\n\t\t{71D956E4-1AE6-4EF8-BC18-A195A68AFAB5}.Debug|Any CPU.ActiveCfg = Debug|Any CPU\n\t\t{71D956E4-1AE6-4EF8-BC18-A195A68AFAB5}.Debug|Any CPU.Build.0 = Debug|Any CPU\n\t\t{71D956E4-1AE6-4EF8-BC18-A195A68AFAB5}.Release|Any CPU.ActiveCfg = Release|Any CPU\n\t\t{C5F00673-1BDE-45A7-826B-C7E8F517398C}.Debug|Any CPU.ActiveCfg = Debug|Any CPU\n\t\t{C5F00673-1BDE-45A7-826B-C7E8F517398C}.Debug|Any CPU.Build.0 = Debug|Any CPU\n\t\t{C5F00673-1BDE-45A7-826B-C7E8F517398C}.Release|Any CPU.ActiveCfg = Release|Any CPU\n\t\t{8817A671-ABB8-463A-A8A3-DDCFE781A6B6}.Debug|Any CPU.ActiveCfg = Debug|Any CPU\n\t\t{8817A671-ABB8-463A-A8A3-DDCFE781A6B6}.Debug|Any CPU.Build.0 = Debug|Any CPU\n\t\t{8817A671-ABB8-463A-A8A3-DDCFE781A6B6}.Release|Any CPU.ActiveCfg = Release|Any CPU\n\t\t{8817A671-ABB8-463A-A8A3-DDCFE781A6B6}.Release|Any CPU.Build.0 = Release|Any CPU\n\t\t{F2ED1AC0-2F78-4506-ADFD-0BC88A6C616D}.Debug|Any CPU.ActiveCfg = Debug|Any CPU\n\t\t{F2ED1AC0-2F78-4506-ADFD-0BC88A6C616D}.Debug|Any CPU.Build.0 = Debug|Any CPU\n\t\t{F2ED1AC0-2F78-4506-ADFD-0BC88A6C616D}.Release|Any CPU.ActiveCfg = Release|Any CPU\n\t\t{BEBE131A-C931-4C2C-9F9E-ED0D0B75DF26}.Debug|Any CPU.ActiveCfg = Debug|Any CPU\n\t\t{BEBE131A-C931-4C2C-9F9E-ED0D0B75DF26}.Debug|Any CPU.Build.0 = Debug|Any CPU\n\t\t{BEBE131A-C931-4C2C-9F9E-ED0D0B75DF26}.Release|Any CPU.ActiveCfg = Release|Any CPU\n\t\t{BEBE131A-C931-4C2C-9F9E-ED0D0B75DF26}.Release|Any CPU.Build.0 = Release|Any CPU\n\t\t{E28E0880-03AA-4D1B-A820-41B04E766019}.Debug|Any CPU.ActiveCfg = Debug|Any CPU\n\t\t{E28E0880-03AA-4D1B-A820-41B04E766019}.Debug|Any CPU.Build.0 = Debug|Any CPU\n\t\t{E28E0880-03AA-4D1B-A820-41B04E766019}.Release|Any CPU.ActiveCfg = Release|Any CPU\n\t\t{E28E0880-03AA-4D1B-A820-41B04E766019}.Release|Any CPU.Build.0 = Release|Any CPU\n\t\t{81DDD889-3223-4F24-8B65-DD5C57886994}.Debug|Any CPU.ActiveCfg = Debug|Any CPU\n\t\t{81DDD889-3223-4F24-8B65-DD5C57886994}.Debug|Any CPU.Build.0 = Debug|Any CPU\n\t\t{81DDD889-3223-4F24-8B65-DD5C57886994}.Release|Any CPU.ActiveCfg = Release|Any CPU\n\t\t{7F4DED4E-5933-4229-B9CC-51DA49678904}.Debug|Any CPU.ActiveCfg = Debug|Any CPU\n\t\t{7F4DED4E-5933-4229-B9CC-51DA49678904}.Debug|Any CPU.Build.0 = Debug|Any CPU\n\t\t{7F4DED4E-5933-4229-B9CC-51DA49678904}.Release|Any CPU.ActiveCfg = Release|Any CPU\n\t\t{7F4DED4E-5933-4229-B9CC-51DA49678904}.Release|Any CPU.Build.0 = Release|Any CPU\n\t\t{F0ACCB28-AE0D-4E19-94FA-7BE3044F1EEB}.Debug|Any CPU.ActiveCfg = Debug|Any CPU\n\t\t{F0ACCB28-AE0D-4E19-94FA-7BE3044F1EEB}.Debug|Any CPU.Build.0 = Debug|Any CPU\n\t\t{F0ACCB28-AE0D-4E19-94FA-7BE3044F1EEB}.Release|Any CPU.ActiveCfg = Release|Any CPU\n\t\t{F0ACCB28-AE0D-4E19-94FA-7BE3044F1EEB}.Release|Any CPU.Build.0 = Release|Any CPU\n\t\t{F7C29437-0923-449C-B4E9-36653A55C3E5}.Debug|Any CPU.ActiveCfg = Debug|Any CPU\n\t\t{F7C29437-0923-449C-B4E9-36653A55C3E5}.Debug|Any CPU.Build.0 = Debug|Any CPU\n\t\t{F7C29437-0923-449C-B4E9-36653A55C3E5}.Release|Any CPU.ActiveCfg = Release|Any CPU\n\t\t{ED278519-D497-47AE-8EB1-5826904AF6B1}.Debug|Any CPU.ActiveCfg = Debug|Any CPU\n\t\t{ED278519-D497-47AE-8EB1-5826904AF6B1}.Debug|Any CPU.Build.0 = Debug|Any CPU\n\t\t{ED278519-D497-47AE-8EB1-5826904AF6B1}.Release|Any CPU.ActiveCfg = Debug|Any CPU\n\t\t{DD1A7EC2-FF25-4D35-9D0A-5BB626E61D17}.Debug|Any CPU.ActiveCfg = Debug|Any CPU\n\t\t{DD1A7EC2-FF25-4D35-9D0A-5BB626E61D17}.Debug|Any CPU.Build.0 = Debug|Any CPU\n\t\t{DD1A7EC2-FF25-4D35-9D0A-5BB626E61D17}.Release|Any CPU.ActiveCfg = Release|Any CPU\n\t\t{DD1A7EC2-FF25-4D35-9D0A-5BB626E61D17}.Release|Any CPU.Build.0 = Release|Any CPU\n\t\t{591B6DB0-0D22-4E58-AA29-4EB10C0EAFFE}.Debug|Any CPU.ActiveCfg = Debug|Any CPU\n\t\t{591B6DB0-0D22-4E58-AA29-4EB10C0EAFFE}.Debug|Any CPU.Build.0 = Debug|Any CPU\n\t\t{591B6DB0-0D22-4E58-AA29-4EB10C0EAFFE}.Release|Any CPU.ActiveCfg = Release|Any CPU\n\t\t{D2EB89F9-321E-46E4-BA79-679138B82B23}.Debug|Any CPU.ActiveCfg = Debug|Any CPU\n\t\t{D2EB89F9-321E-46E4-BA79-679138B82B23}.Debug|Any CPU.Build.0 = Debug|Any CPU\n\t\t{D2EB89F9-321E-46E4-BA79-679138B82B23}.Release|Any CPU.ActiveCfg = Release|Any CPU\n\t\t{D2EB89F9-321E-46E4-BA79-679138B82B23}.Release|Any CPU.Build.0 = Release|Any CPU\n\t\t{ECF931DE-F5F3-4752-AA1B-847F7ED414D1}.Debug|Any CPU.ActiveCfg = Debug|Any CPU\n\t\t{ECF931DE-F5F3-4752-AA1B-847F7ED414D1}.Debug|Any CPU.Build.0 = Debug|Any CPU\n\t\t{ECF931DE-F5F3-4752-AA1B-847F7ED414D1}.Release|Any CPU.ActiveCfg = Release|Any CPU\n\t\t{ECF931DE-F5F3-4752-AA1B-847F7ED414D1}.Release|Any CPU.Build.0 = Release|Any CPU\n\t\t{6D20785D-0451-46A9-9AC2-EC66B7C0D18A}.Debug|Any CPU.ActiveCfg = Debug|Any CPU\n\t\t{6D20785D-0451-46A9-9AC2-EC66B7C0D18A}.Debug|Any CPU.Build.0 = Debug|Any CPU\n\t\t{6D20785D-0451-46A9-9AC2-EC66B7C0D18A}.Release|Any CPU.ActiveCfg = Release|Any CPU\n\t\t{6D20785D-0451-46A9-9AC2-EC66B7C0D18A}.Release|Any CPU.Build.0 = Release|Any CPU\n\t\t{352378A0-8B2E-4679-BB44-FD0BCC8467D9}.Debug|Any CPU.ActiveCfg = Debug|Any CPU\n\t\t{352378A0-8B2E-4679-BB44-FD0BCC8467D9}.Debug|Any CPU.Build.0 = Debug|Any CPU\n\t\t{352378A0-8B2E-4679-BB44-FD0BCC8467D9}.Release|Any CPU.ActiveCfg = Release|Any CPU\n\t\t{352378A0-8B2E-4679-BB44-FD0BCC8467D9}.Release|Any CPU.Build.0 = Release|Any CPU\n\t\t{05DB9E60-B12B-4AA3-8A7C-514F87CFF464}.Debug|Any CPU.ActiveCfg = Debug|Any CPU\n\t\t{05DB9E60-B12B-4AA3-8A7C-514F87CFF464}.Debug|Any CPU.Build.0 = Debug|Any CPU\n\t\t{05DB9E60-B12B-4AA3-8A7C-514F87CFF464}.Release|Any CPU.ActiveCfg = Release|Any CPU\n\t\t{05DB9E60-B12B-4AA3-8A7C-514F87CFF464}.Release|Any CPU.Build.0 = Release|Any CPU\n\t\t{37D26B63-74FE-45C6-9F61-251BDF69EDF7}.Debug|Any CPU.ActiveCfg = Debug|Any CPU\n\t\t{37D26B63-74FE-45C6-9F61-251BDF69EDF7}.Debug|Any CPU.Build.0 = Debug|Any CPU\n\t\t{37D26B63-74FE-45C6-9F61-251BDF69EDF7}.Release|Any CPU.ActiveCfg = Release|Any CPU\n\t\t{2DC898B5-AFD9-47B2-A962-C4002C1AE8FF}.Debug|Any CPU.ActiveCfg = Debug|Any CPU\n\t\t{2DC898B5-AFD9-47B2-A962-C4002C1AE8FF}.Debug|Any CPU.Build.0 = Debug|Any CPU\n\t\t{2DC898B5-AFD9-47B2-A962-C4002C1AE8FF}.Release|Any CPU.ActiveCfg = Release|Any CPU\n\t\t{2492AA3B-CF67-477A-B29E-14A1E348B939}.Debug|Any CPU.ActiveCfg = Debug|Any CPU\n\t\t{2492AA3B-CF67-477A-B29E-14A1E348B939}.Debug|Any CPU.Build.0 = Debug|Any CPU\n\t\t{2492AA3B-CF67-477A-B29E-14A1E348B939}.Release|Any CPU.ActiveCfg = Release|Any CPU\n\t\t{2492AA3B-CF67-477A-B29E-14A1E348B939}.Release|Any CPU.Build.0 = Release|Any CPU\n\t\t{5D2A0688-95E3-400A-B789-49052389D2B1}.Debug|Any CPU.ActiveCfg = Debug|Any CPU\n\t\t{5D2A0688-95E3-400A-B789-49052389D2B1}.Debug|Any CPU.Build.0 = Debug|Any CPU\n\t\t{5D2A0688-95E3-400A-B789-49052389D2B1}.Release|Any CPU.ActiveCfg = Release|Any CPU\n\t\t{2238851E-4DB8-46B0-B38D-0E2315FE153E}.Debug|Any CPU.ActiveCfg = Debug|Any CPU\n\t\t{2238851E-4DB8-46B0-B38D-0E2315FE153E}.Debug|Any CPU.Build.0 = Debug|Any CPU\n\t\t{2238851E-4DB8-46B0-B38D-0E2315FE153E}.Release|Any CPU.ActiveCfg = Release|Any CPU\n\t\t{2238851E-4DB8-46B0-B38D-0E2315FE153E}.Release|Any CPU.Build.0 = Release|Any CPU\n\t\t{3BF22621-2E78-4F60-B7C9-7C61D1F440BA}.Debug|Any CPU.ActiveCfg = Debug|Any CPU\n\t\t{3BF22621-2E78-4F60-B7C9-7C61D1F440BA}.Debug|Any CPU.Build.0 = Debug|Any CPU\n\t\t{3BF22621-2E78-4F60-B7C9-7C61D1F440BA}.Release|Any CPU.ActiveCfg = Release|Any CPU\n\t\t{0A2FB856-D50C-463D-8218-063A36942188}.Debug|Any CPU.ActiveCfg = Debug|Any CPU\n\t\t{0A2FB856-D50C-463D-8218-063A36942188}.Debug|Any CPU.Build.0 = Debug|Any CPU\n\t\t{0A2FB856-D50C-463D-8218-063A36942188}.Release|Any CPU.ActiveCfg = Release|Any CPU\n\t\t{0A2FB856-D50C-463D-8218-063A36942188}.Release|Any CPU.Build.0 = Release|Any CPU\n\t\t{3CE5CCA6-0EAD-49EF-AB69-D1F17A9C6D43}.Debug|Any CPU.ActiveCfg = Debug|Any CPU\n\t\t{3CE5CCA6-0EAD-49EF-AB69-D1F17A9C6D43}.Debug|Any CPU.Build.0 = Debug|Any CPU\n\t\t{3CE5CCA6-0EAD-49EF-AB69-D1F17A9C6D43}.Release|Any CPU.ActiveCfg = Release|Any CPU\n\t\t{3CE5CCA6-0EAD-49EF-AB69-D1F17A9C6D43}.Release|Any CPU.Build.0 = Release|Any CPU\n\t\t{F0B59A0A-90DA-41D3-8BAD-96B1F266DB6F}.Debug|Any CPU.ActiveCfg = Debug|Any CPU\n\t\t{F0B59A0A-90DA-41D3-8BAD-96B1F266DB6F}.Debug|Any CPU.Build.0 = Debug|Any CPU\n\t\t{F0B59A0A-90DA-41D3-8BAD-96B1F266DB6F}.Release|Any CPU.ActiveCfg = Release|Any CPU\n\t\t{AFCCA7C9-47FE-4FB6-935E-12D686EEC58F}.Debug|Any CPU.ActiveCfg = Debug|Any CPU\n\t\t{AFCCA7C9-47FE-4FB6-935E-12D686EEC58F}.Debug|Any CPU.Build.0 = Debug|Any CPU\n\t\t{AFCCA7C9-47FE-4FB6-935E-12D686EEC58F}.Release|Any CPU.ActiveCfg = Release|Any CPU\n\t\t{AFCCA7C9-47FE-4FB6-935E-12D686EEC58F}.Release|Any CPU.Build.0 = Release|Any CPU\n\t\t{C970C14C-98AA-48A9-9F6F-D00C92FA6CEF}.Debug|Any CPU.ActiveCfg = Debug|Any CPU\n\t\t{C970C14C-98AA-48A9-9F6F-D00C92FA6CEF}.Debug|Any CPU.Build.0 = Debug|Any CPU\n\t\t{C970C14C-98AA-48A9-9F6F-D00C92FA6CEF}.Release|Any CPU.ActiveCfg = Release|Any CPU\n\t\t{C970C14C-98AA-48A9-9F6F-D00C92FA6CEF}.Release|Any CPU.Build.0 = Release|Any CPU\n\t\t{ABB9D4E2-568C-483E-8A77-2DE5F4FF886A}.Debug|Any CPU.ActiveCfg = Debug|Any CPU\n\t\t{ABB9D4E2-568C-483E-8A77-2DE5F4FF886A}.Debug|Any CPU.Build.0 = Debug|Any CPU\n\t\t{ABB9D4E2-568C-483E-8A77-2DE5F4FF886A}.Release|Any CPU.ActiveCfg = Release|Any CPU\n\t\t{9CA2F05B-FB18-49AD-8520-1BCC838F748C}.Debug|Any CPU.ActiveCfg = Debug|Any CPU\n\t\t{9CA2F05B-FB18-49AD-8520-1BCC838F748C}.Debug|Any CPU.Build.0 = Debug|Any CPU\n\t\t{9CA2F05B-FB18-49AD-8520-1BCC838F748C}.Release|Any CPU.ActiveCfg = Release|Any CPU\n\t\t{9CA2F05B-FB18-49AD-8520-1BCC838F748C}.Release|Any CPU.Build.0 = Release|Any CPU\n\t\t{3F5CBB26-9142-4E55-8DE5-5BAF0C3EA1CE}.Debug|Any CPU.ActiveCfg = Debug|Any CPU\n\t\t{3F5CBB26-9142-4E55-8DE5-5BAF0C3EA1CE}.Debug|Any CPU.Build.0 = Debug|Any CPU\n\t\t{3F5CBB26-9142-4E55-8DE5-5BAF0C3EA1CE}.Release|Any CPU.ActiveCfg = Release|Any CPU\n\t\t{3F5CBB26-9142-4E55-8DE5-5BAF0C3EA1CE}.Release|Any CPU.Build.0 = Release|Any CPU\n\t\t{F7FDDDCC-58C7-44E0-8DE3-6A94E6222D03}.Debug|Any CPU.ActiveCfg = Debug|Any CPU\n\t\t{F7FDDDCC-58C7-44E0-8DE3-6A94E6222D03}.Debug|Any CPU.Build.0 = Debug|Any CPU\n\t\t{F7FDDDCC-58C7-44E0-8DE3-6A94E6222D03}.Release|Any CPU.ActiveCfg = Release|Any CPU\n\t\t{3781B8CA-3128-45DC-89C9-981740357630}.Debug|Any CPU.ActiveCfg = Debug|Any CPU\n\t\t{3781B8CA-3128-45DC-89C9-981740357630}.Debug|Any CPU.Build.0 = Debug|Any CPU\n\t\t{3781B8CA-3128-45DC-89C9-981740357630}.Release|Any CPU.ActiveCfg = Release|Any CPU\n\t\t{3781B8CA-3128-45DC-89C9-981740357630}.Release|Any CPU.Build.0 = Release|Any CPU\n\t\t{45BE72F2-3F5B-4D13-B931-0CA62F404D4C}.Debug|Any CPU.ActiveCfg = Debug|Any CPU\n\t\t{45BE72F2-3F5B-4D13-B931-0CA62F404D4C}.Debug|Any CPU.Build.0 = Debug|Any CPU\n\t\t{45BE72F2-3F5B-4D13-B931-0CA62F404D4C}.Release|Any CPU.ActiveCfg = Release|Any CPU\n\t\t{45BE72F2-3F5B-4D13-B931-0CA62F404D4C}.Release|Any CPU.Build.0 = Release|Any CPU\n\t\t{F0A5F968-A9E6-4B81-B5BB-DC05999467BA}.Debug|Any CPU.ActiveCfg = Debug|Any CPU\n\t\t{F0A5F968-A9E6-4B81-B5BB-DC05999467BA}.Debug|Any CPU.Build.0 = Debug|Any CPU\n\t\t{F0A5F968-A9E6-4B81-B5BB-DC05999467BA}.Release|Any CPU.ActiveCfg = Release|Any CPU\n\t\t{F0A5F968-A9E6-4B81-B5BB-DC05999467BA}.Release|Any CPU.Build.0 = Release|Any CPU\n\tEndGlobalSection\n\tGlobalSection(SolutionProperties) = preSolution\n\t\tHideSolutionNode = FALSE\n\tEndGlobalSection\n\tGlobalSection(NestedProjects) = preSolution\n\t\t{DDE02168-1EAD-41D9-B5E6-FB101F98AC24} = {78EDB72A-77B1-4A64-8E76-17E780993017}\n\t\t{B58E5262-0DEA-4096-8409-7B118711D8DF} = {2148B4AF-8B02-45C3-89E7-AEACAE448DDA}\n\t\t{F8DB9567-C559-440C-BBCF-E02013F9AB94} = {2148B4AF-8B02-45C3-89E7-AEACAE448DDA}\n\t\t{71D956E4-1AE6-4EF8-BC18-A195A68AFAB5} = {B58E5262-0DEA-4096-8409-7B118711D8DF}\n\t\t{C5F00673-1BDE-45A7-826B-C7E8F517398C} = {6F7A6A18-FF7B-4D3B-8B1F-BD525E065174}\n\t\t{8817A671-ABB8-463A-A8A3-DDCFE781A6B6} = {6F7A6A18-FF7B-4D3B-8B1F-BD525E065174}\n\t\t{F2ED1AC0-2F78-4506-ADFD-0BC88A6C616D} = {B58E5262-0DEA-4096-8409-7B118711D8DF}\n\t\t{BEBE131A-C931-4C2C-9F9E-ED0D0B75DF26} = {2148B4AF-8B02-45C3-89E7-AEACAE448DDA}\n\t\t{19A61D68-0ECA-4093-AEE5-370BC3CE777C} = {F4178F51-3BFF-46DE-841D-C01D4ABA9B0C}\n\t\t{E28E0880-03AA-4D1B-A820-41B04E766019} = {2148B4AF-8B02-45C3-89E7-AEACAE448DDA}\n\t\t{81DDD889-3223-4F24-8B65-DD5C57886994} = {B58E5262-0DEA-4096-8409-7B118711D8DF}\n\t\t{7F4DED4E-5933-4229-B9CC-51DA49678904} = {F4178F51-3BFF-46DE-841D-C01D4ABA9B0C}\n\t\t{F0ACCB28-AE0D-4E19-94FA-7BE3044F1EEB} = {F4178F51-3BFF-46DE-841D-C01D4ABA9B0C}\n\t\t{F7C29437-0923-449C-B4E9-36653A55C3E5} = {19A61D68-0ECA-4093-AEE5-370BC3CE777C}\n\t\t{ED278519-D497-47AE-8EB1-5826904AF6B1} = {19A61D68-0ECA-4093-AEE5-370BC3CE777C}\n\t\t{DD1A7EC2-FF25-4D35-9D0A-5BB626E61D17} = {069B930C-EF5B-4943-AA82-0F56C33CF3DD}\n\t\t{591B6DB0-0D22-4E58-AA29-4EB10C0EAFFE} = {069B930C-EF5B-4943-AA82-0F56C33CF3DD}\n\t\t{D2EB89F9-321E-46E4-BA79-679138B82B23} = {F4178F51-3BFF-46DE-841D-C01D4ABA9B0C}\n\t\t{ECF931DE-F5F3-4752-AA1B-847F7ED414D1} = {19A61D68-0ECA-4093-AEE5-370BC3CE777C}\n\t\t{6D20785D-0451-46A9-9AC2-EC66B7C0D18A} = {AF01F501-9B19-4357-B8A7-4EFC782BF1AF}\n\t\t{352378A0-8B2E-4679-BB44-FD0BCC8467D9} = {AF01F501-9B19-4357-B8A7-4EFC782BF1AF}\n\t\t{05DB9E60-B12B-4AA3-8A7C-514F87CFF464} = {AF01F501-9B19-4357-B8A7-4EFC782BF1AF}\n\t\t{37D26B63-74FE-45C6-9F61-251BDF69EDF7} = {AF01F501-9B19-4357-B8A7-4EFC782BF1AF}\n\t\t{2DC898B5-AFD9-47B2-A962-C4002C1AE8FF} = {AF01F501-9B19-4357-B8A7-4EFC782BF1AF}\n\t\t{2492AA3B-CF67-477A-B29E-14A1E348B939} = {F4178F51-3BFF-46DE-841D-C01D4ABA9B0C}\n\t\t{5D2A0688-95E3-400A-B789-49052389D2B1} = {F4178F51-3BFF-46DE-841D-C01D4ABA9B0C}\n\t\t{2238851E-4DB8-46B0-B38D-0E2315FE153E} = {F4178F51-3BFF-46DE-841D-C01D4ABA9B0C}\n\t\t{3BF22621-2E78-4F60-B7C9-7C61D1F440BA} = {19A61D68-0ECA-4093-AEE5-370BC3CE777C}\n\t\t{0A2FB856-D50C-463D-8218-063A36942188} = {2148B4AF-8B02-45C3-89E7-AEACAE448DDA}\n\t\t{3CE5CCA6-0EAD-49EF-AB69-D1F17A9C6D43} = {F4178F51-3BFF-46DE-841D-C01D4ABA9B0C}\n\t\t{F0B59A0A-90DA-41D3-8BAD-96B1F266DB6F} = {19A61D68-0ECA-4093-AEE5-370BC3CE777C}\n\t\t{AFCCA7C9-47FE-4FB6-935E-12D686EEC58F} = {F4178F51-3BFF-46DE-841D-C01D4ABA9B0C}\n\t\t{C970C14C-98AA-48A9-9F6F-D00C92FA6CEF} = {AF01F501-9B19-4357-B8A7-4EFC782BF1AF}\n\t\t{ABB9D4E2-568C-483E-8A77-2DE5F4FF886A} = {AF01F501-9B19-4357-B8A7-4EFC782BF1AF}\n\t\t{9CA2F05B-FB18-49AD-8520-1BCC838F748C} = {AF01F501-9B19-4357-B8A7-4EFC782BF1AF}\n\t\t{5C2EB20B-990C-4444-8C5F-F1D9641DE28D} = {606ADC64-90A1-4355-BEAB-6B04717F598C}\n\t\t{3F5CBB26-9142-4E55-8DE5-5BAF0C3EA1CE} = {20139208-1830-4DF2-A158-0C505DC05DF7}\n\t\t{20139208-1830-4DF2-A158-0C505DC05DF7} = {F4178F51-3BFF-46DE-841D-C01D4ABA9B0C}\n\t\t{F7FDDDCC-58C7-44E0-8DE3-6A94E6222D03} = {20139208-1830-4DF2-A158-0C505DC05DF7}\n\t\t{3781B8CA-3128-45DC-89C9-981740357630} = {20139208-1830-4DF2-A158-0C505DC05DF7}\n\t\t{45BE72F2-3F5B-4D13-B931-0CA62F404D4C} = {20139208-1830-4DF2-A158-0C505DC05DF7}\n\t\t{F0A5F968-A9E6-4B81-B5BB-DC05999467BA} = {AF01F501-9B19-4357-B8A7-4EFC782BF1AF}\n\tEndGlobalSection\n\tGlobalSection(ExtensibilityGlobals) = postSolution\n\t\tSolutionGuid = {9388D93E-9AA9-40EE-A0C6-F096265079B2}\n\tEndGlobalSection\nEndGlobal\n"
  },
  {
    "path": "UAObjectOrientedInternet.sln.GhostDoc.user.dic",
    "content": "amqp\nAnalyser\nautoflush\nAutogenerated\nawaitable\ncodebase\ncommserver\ncommsvr\nComposable\nconst\ndeserializes\nebook\nFallback\nHistorizing\ninteroperable\nJson\nKerberos\nLocator\nMariusz\nMetadata\nmiddleware\nModbus\nModelling\nmpostol\nmqtts\nMulticast\nMvvm\nnameof\nNamespaces\nopcfoundation\nperformative\nPico\nplugin\nPostol\npreconfigured\nPrerelease\nReadme\nrequery\nreusability\nSchemas\nSessionless\nstateful\nsubtyped\ntempuri\ntimestamp\ntypeof\ntypeparamref\nuasconfig\nunicast\nversioning\nwordpress\n"
  },
  {
    "path": "docs/AboutPartnershipProgram.md.html",
    "content": "﻿<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Strict//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd\">\n<html lang=\"en\" xml:lang=\"en\" xmlns=\"http://www.w3.org/1999/xhtml\">\n\n<head>\n    <meta http-equiv=\"Content-Type\" content=\"text/html; charset=utf-8\" />\n    <meta http-equiv=\"refresh\" content=\"0;URL=https://mpostol.github.io/.github/index.html\" />\n    <title>Redirect to Object-Oriented Internet Partnership Program</title>\n</head>\n\n<body>\n    <h1>Re-directing to Object-Oriented Internet Partnership Program</h1>\n    <p>You are being re-directed, if nothing happens, please <a href=\"https://mpostol.github.io/.github/index.html\"> follow this link</a></p>\n</body>\n\n</html>"
  },
  {
    "path": "docs/Projects/Networking.ProcessObserverProducer.md.html",
    "content": "﻿<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Strict//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd\">\n<html lang=\"en\" xml:lang=\"en\" xmlns=\"http://www.w3.org/1999/xhtml\">\n\n<head>\n  <meta http-equiv=\"Content-Type\" content=\"text/html; charset=utf-8\" />\n  <meta http-equiv=\"refresh\"\n    content=\"0;URL=https://mpostol.github.io/.github/Projects/Networking.ProcessObserverProducer.html\" />\n  <title>Redirect to Machine to Sensors (M2S) connectivity based on Process-Observer</title>\n</head>\n\n<body>\n  <h1>Re-directing...</h1>\n  <p>You are being re-directed, if nothing happens, please <a\n      href=\"https://mpostol.github.io/.github/Projects/Networking.ProcessObserverProducer.html\"> follow this link</a>\n  </p>\n</body>\n\n</html>"
  },
  {
    "path": "docs/README.md",
    "content": "# Object Oriented Internet\n\n[![](https://img.shields.io/badge/OOI-read_on_Gitbook-brightgreen.svg)](https://commsvr.gitbook.io/ooi) the ebook Object Oriented Internet contains description of this project - it is autogenerated content gathered from *.md files.\n[![Join the chat at https://gitter.im/mpostol/OPC-UA-OOI](https://badges.gitter.im/mpostol/OPC-UA-OOI.svg)](https://gitter.im/mpostol/OPC-UA-OOI?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge) - join the project chat\n\n[![DOI](https://zenodo.org/badge/33917970.svg)](https://zenodo.org/badge/latestdoi/33917970)\n\n## CHARTER\n\n### What is Object Oriented Internet\n\nIn this project, C\\# deliverables supporting a new Machine To Machine \\(M2M\\) communication architecture is to be researched. The goal  is to provide a generic solution for publishing and updating information in a context that can be used to describe and discover it by software applications. It is implemented based on the [OPC Unified Architecture](http://goo.gl/y4EHUn) - a new emerging industrial integration standard that fulfills the proposed architecture requirements.\n\nThe [Object Oriented Internet](https://fedcsis.org/proceedings/2015/pliks/160.pdf) article published in **Proceedings of the Federated Conference on  \nComputer Science and Information Systems** captures description of this idea.\n\n## Content\n\nThe `SemanticData` folder contains projects related to support the [OPC UA Data Processing Outside of the Server](./SemanticData/README.MD#opc-ua-data-processing-outside-the-server). Processing of the OPC UA Data Outside of the Server context is based on the OPC **UA Semantic Data** concept.\n\nThis project is aimed to workout deliverables supporting Process Data handling over Internet including but not limiting to:\n\n•    Data Edition – UI allowing display and edition of any custom data\n\n• Data serialization and deserialization - see white-paper: [Address Space Interchange XML](http://www.commsvr.com/InternetDSL/commserver/P_DowloadCenter/P_Publications/P-150101E-AddressSpaceInterchangeXML.pdf)\n\n•    Data binding – to define how the process data relate to the real world\n\n• Data Validation - see project description [OPC UA NodeSet Validation](./SemanticData/UANodeSetValidation/README.MD)\n\n•    Data Prototyping  - methods and tools to design custom data types\n\n• [Data Discovery – methods and tools to find the data over the network](./DataDiscovery/README.MD)\n\nIn scope there are also deliverables supporting:\n\n•    Exposition of the Process Data in the context of Metadata [OPC UA Address Space Model Designer](http://www.commsvr.com/Products/OPCUA/UAModelDesigner.aspx)\n\n•    Browsing \\(using the sematics\\) of the Metadata to selectively access requested Process Data\n\n• Modeling and representation of the Metadata - see white-paper: [OPC UA Information Model Deployment](http://www.commsvr.com/InternetDSL/commserver/P_DowloadCenter/P_Publications/20140301E_DeploymentInformationModel.pdf)\n\n• Validation of the semantics and consistency of the Metadata - see project [USNodeSetValidationUnitTestProject](./SemanticData/UANodeSetValidation/README.MD)\n\nThe presented approach is a real proposal for new technology wave based on the existing Internet infrastructure because it allows vendors to provide generic off-the-shelf products tested independently for interoperability.\n\n### Out of scope\n\nOut of scope is any work on exchanging the Process Data and Metadata over the network. The hope is that the interoperability can be gained as the result of usage of the OPC Unified Architecture international standard.\n\n### Conclusion\n\nI hope it is a good place to prototype and converge the OPC UA communication technology with Semantic Data, Semantc Web, Internet Of Things, Plug and Play, Global Data Discovery, Selective Availability, etc. concepts. My goal is to bridge a gap between OPC UA technology and Industrial IT Application Domains.\n\n## Read more\n\n- [![](https://img.shields.io/badge/Gitbook-Release-brightgreen.svg)](https://commsvr.gitbook.io/ooi) ebook Object Oriented Internet contains description of this project - it is autogenerated content gathered from *.md files.\n- The paper [**Object Oriented Internet**](https://fedcsis.org/proceedings/2015/pliks/160.pdf) has been presented on the conference [3rd International Conference on Innovative Network Systems and Applications](https://fedcsis.org/2015/inetsapp).\n\n- [WIKI of this project](https://github.com/mpostol/OPC-UA-OOI/wiki)\n\n- [My Blog: About enablers of future solutions](http://wwww.mpostol.wordpress.com/)\n\n- [About me on LinkedIn](https://pl.linkedin.com/in/mpostol)\n\n- [OPC Foundation](https://opcfoundation.org/)\n\n- [Sponsored by commsvr.com](http://www.commsvr.com/)\n\n"
  },
  {
    "path": "docs/Tiers.md.html",
    "content": "﻿<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Strict//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd\">\n<html lang=\"en\" xml:lang=\"en\" xmlns=\"http://www.w3.org/1999/xhtml\">\n\n<head>\n  <meta http-equiv=\"Content-Type\" content=\"text/html; charset=utf-8\" />\n  <meta http-equiv=\"refresh\" content=\"0;URL=https://mpostol.github.io/.github/Tiers.md.html\" />\n  <title>Redirect to Tiers</title>\n</head>\n\n<body>\n  <h1>Re-directing to Tiers</h1>\n  <p>You are being re-directed, if nothing happens, please <a href=\"https://mpostol.github.io/.github/Tiers.md.html\">\n      follow this link</a></p>\n</body>\n\n</html>"
  },
  {
    "path": "docs/_config.yml",
    "content": "theme: jekyll-theme-time-machine"
  },
  {
    "path": "docs/style.css",
    "content": "@font-face {\n    font-family: KaTeX_AMS;\n    src: url(/static/fonts/KaTeX_AMS-Regular.e78e28b.woff2) format(\"woff2\"), url(/static/fonts/KaTeX_AMS-Regular.7f06b4e.woff) format(\"woff\"), url(/static/fonts/KaTeX_AMS-Regular.aaf4eee.ttf) format(\"truetype\");\n    font-weight: 400;\n    font-style: normal\n}\n\n@font-face {\n    font-family: KaTeX_Caligraphic;\n    src: url(/static/fonts/KaTeX_Caligraphic-Bold.4ec58be.woff2) format(\"woff2\"), url(/static/fonts/KaTeX_Caligraphic-Bold.1e802ca.woff) format(\"woff\"), url(/static/fonts/KaTeX_Caligraphic-Bold.021dd4d.ttf) format(\"truetype\");\n    font-weight: 700;\n    font-style: normal\n}\n\n@font-face {\n    font-family: KaTeX_Caligraphic;\n    src: url(/static/fonts/KaTeX_Caligraphic-Regular.7edb53b.woff2) format(\"woff2\"), url(/static/fonts/KaTeX_Caligraphic-Regular.d3b46c3.woff) format(\"woff\"), url(/static/fonts/KaTeX_Caligraphic-Regular.d49f2d5.ttf) format(\"truetype\");\n    font-weight: 400;\n    font-style: normal\n}\n\n@font-face {\n    font-family: KaTeX_Fraktur;\n    src: url(/static/fonts/KaTeX_Fraktur-Bold.d5b59ec.woff2) format(\"woff2\"), url(/static/fonts/KaTeX_Fraktur-Bold.c4c8cab.woff) format(\"woff\"), url(/static/fonts/KaTeX_Fraktur-Bold.a31e7cb.ttf) format(\"truetype\");\n    font-weight: 700;\n    font-style: normal\n}\n\n@font-face {\n    font-family: KaTeX_Fraktur;\n    src: url(/static/fonts/KaTeX_Fraktur-Regular.32a5339.woff2) format(\"woff2\"), url(/static/fonts/KaTeX_Fraktur-Regular.b7d9c46.woff) format(\"woff\"), url(/static/fonts/KaTeX_Fraktur-Regular.a48dad4.ttf) format(\"truetype\");\n    font-weight: 400;\n    font-style: normal\n}\n\n@font-face {\n    font-family: KaTeX_Main;\n    src: url(/static/fonts/KaTeX_Main-Bold.8e1e01c.woff2) format(\"woff2\"), url(/static/fonts/KaTeX_Main-Bold.22086eb.woff) format(\"woff\"), url(/static/fonts/KaTeX_Main-Bold.9ceff51.ttf) format(\"truetype\");\n    font-weight: 700;\n    font-style: normal\n}\n\n@font-face {\n    font-family: KaTeX_Main;\n    src: url(/static/fonts/KaTeX_Main-BoldItalic.284a17f.woff2) format(\"woff2\"), url(/static/fonts/KaTeX_Main-BoldItalic.4c57dbc.woff) format(\"woff\"), url(/static/fonts/KaTeX_Main-BoldItalic.e8b44b9.ttf) format(\"truetype\");\n    font-weight: 700;\n    font-style: italic\n}\n\n@font-face {\n    font-family: KaTeX_Main;\n    src: url(/static/fonts/KaTeX_Main-Italic.e533d5a.woff2) format(\"woff2\"), url(/static/fonts/KaTeX_Main-Italic.99be0e1.woff) format(\"woff\"), url(/static/fonts/KaTeX_Main-Italic.29c8639.ttf) format(\"truetype\");\n    font-weight: 400;\n    font-style: italic\n}\n\n@font-face {\n    font-family: KaTeX_Main;\n    src: url(/static/fonts/KaTeX_Main-Regular.5c734d7.woff2) format(\"woff2\"), url(/static/fonts/KaTeX_Main-Regular.b741441.woff) format(\"woff\"), url(/static/fonts/KaTeX_Main-Regular.5c94aef.ttf) format(\"truetype\");\n    font-weight: 400;\n    font-style: normal\n}\n\n@font-face {\n    font-family: KaTeX_Math;\n    src: url(/static/fonts/KaTeX_Math-BoldItalic.d747bd1.woff2) format(\"woff2\"), url(/static/fonts/KaTeX_Math-BoldItalic.b13731e.woff) format(\"woff\"), url(/static/fonts/KaTeX_Math-BoldItalic.9a2834a.ttf) format(\"truetype\");\n    font-weight: 700;\n    font-style: italic\n}\n\n@font-face {\n    font-family: KaTeX_Math;\n    src: url(/static/fonts/KaTeX_Math-Italic.4ad08b8.woff2) format(\"woff2\"), url(/static/fonts/KaTeX_Math-Italic.f030390.woff) format(\"woff\"), url(/static/fonts/KaTeX_Math-Italic.291e76b.ttf) format(\"truetype\");\n    font-weight: 400;\n    font-style: italic\n}\n\n@font-face {\n    font-family: KaTeX_SansSerif;\n    src: url(/static/fonts/KaTeX_SansSerif-Bold.6e0830b.woff2) format(\"woff2\"), url(/static/fonts/KaTeX_SansSerif-Bold.3fb4195.woff) format(\"woff\"), url(/static/fonts/KaTeX_SansSerif-Bold.7dc027c.ttf) format(\"truetype\");\n    font-weight: 700;\n    font-style: normal\n}\n\n@font-face {\n    font-family: KaTeX_SansSerif;\n    src: url(/static/fonts/KaTeX_SansSerif-Italic.fba01c9.woff2) format(\"woff2\"), url(/static/fonts/KaTeX_SansSerif-Italic.727a9b0.woff) format(\"woff\"), url(/static/fonts/KaTeX_SansSerif-Italic.4059868.ttf) format(\"truetype\");\n    font-weight: 400;\n    font-style: italic\n}\n\n@font-face {\n    font-family: KaTeX_SansSerif;\n    src: url(/static/fonts/KaTeX_SansSerif-Regular.d929cd6.woff2) format(\"woff2\"), url(/static/fonts/KaTeX_SansSerif-Regular.2555754.woff) format(\"woff\"), url(/static/fonts/KaTeX_SansSerif-Regular.5c58d16.ttf) format(\"truetype\");\n    font-weight: 400;\n    font-style: normal\n}\n\n@font-face {\n    font-family: KaTeX_Script;\n    src: url(/static/fonts/KaTeX_Script-Regular.755e249.woff2) format(\"woff2\"), url(/static/fonts/KaTeX_Script-Regular.d524c9a.woff) format(\"woff\"), url(/static/fonts/KaTeX_Script-Regular.d12ea9e.ttf) format(\"truetype\");\n    font-weight: 400;\n    font-style: normal\n}\n\n@font-face {\n    font-family: KaTeX_Size1;\n    src: url(/static/fonts/KaTeX_Size1-Regular.048c39c.woff2) format(\"woff2\"), url(/static/fonts/KaTeX_Size1-Regular.08b5f00.woff) format(\"woff\"), url(/static/fonts/KaTeX_Size1-Regular.7342d45.ttf) format(\"truetype\");\n    font-weight: 400;\n    font-style: normal\n}\n\n@font-face {\n    font-family: KaTeX_Size2;\n    src: url(/static/fonts/KaTeX_Size2-Regular.81d6b8d.woff2) format(\"woff2\"), url(/static/fonts/KaTeX_Size2-Regular.af24b0e.woff) format(\"woff\"), url(/static/fonts/KaTeX_Size2-Regular.eb130dc.ttf) format(\"truetype\");\n    font-weight: 400;\n    font-style: normal\n}\n\n@font-face {\n    font-family: KaTeX_Size3;\n    src: url(/static/fonts/KaTeX_Size3-Regular.b311ca0.woff2) format(\"woff2\"), url(/static/fonts/KaTeX_Size3-Regular.0d89264.woff) format(\"woff\"), url(/static/fonts/KaTeX_Size3-Regular.7e02a40.ttf) format(\"truetype\");\n    font-weight: 400;\n    font-style: normal\n}\n\n@font-face {\n    font-family: KaTeX_Size4;\n    src: url(/static/fonts/KaTeX_Size4-Regular.6a3255d.woff2) format(\"woff2\"), url(/static/fonts/KaTeX_Size4-Regular.68895bb.woff) format(\"woff\"), url(/static/fonts/KaTeX_Size4-Regular.ad76725.ttf) format(\"truetype\");\n    font-weight: 400;\n    font-style: normal\n}\n\n@font-face {\n    font-family: KaTeX_Typewriter;\n    src: url(/static/fonts/KaTeX_Typewriter-Regular.6cc31ea.woff2) format(\"woff2\"), url(/static/fonts/KaTeX_Typewriter-Regular.3fe216d.woff) format(\"woff\"), url(/static/fonts/KaTeX_Typewriter-Regular.2570235.ttf) format(\"truetype\");\n    font-weight: 400;\n    font-style: normal\n}\n\n.katex {\n    font: normal 1.21em KaTeX_Main, Times New Roman, serif;\n    line-height: 1.2;\n    text-indent: 0;\n    text-rendering: auto\n}\n\n.katex * {\n    -ms-high-contrast-adjust: none!important\n}\n\n.katex .katex-version:after {\n    content: \"0.10.2\"\n}\n\n.katex .katex-mathml {\n    position: absolute;\n    clip: rect(1px, 1px, 1px, 1px);\n    padding: 0;\n    border: 0;\n    height: 1px;\n    width: 1px;\n    overflow: hidden\n}\n\n.katex .katex-html>.newline {\n    display: block\n}\n\n.katex .base {\n    position: relative;\n    white-space: nowrap;\n    width: min-content\n}\n\n.katex .base, .katex .strut {\n    display: inline-block\n}\n\n.katex .textbf {\n    font-weight: 700\n}\n\n.katex .textit {\n    font-style: italic\n}\n\n.katex .textrm {\n    font-family: KaTeX_Main\n}\n\n.katex .textsf {\n    font-family: KaTeX_SansSerif\n}\n\n.katex .texttt {\n    font-family: KaTeX_Typewriter\n}\n\n.katex .mathdefault {\n    font-family: KaTeX_Math;\n    font-style: italic\n}\n\n.katex .mathit {\n    font-family: KaTeX_Main;\n    font-style: italic\n}\n\n.katex .mathrm {\n    font-style: normal\n}\n\n.katex .mathbf {\n    font-family: KaTeX_Main;\n    font-weight: 700\n}\n\n.katex .boldsymbol {\n    font-family: KaTeX_Math;\n    font-weight: 700;\n    font-style: italic\n}\n\n.katex .amsrm, .katex .mathbb, .katex .textbb {\n    font-family: KaTeX_AMS\n}\n\n.katex .mathcal {\n    font-family: KaTeX_Caligraphic\n}\n\n.katex .mathfrak, .katex .textfrak {\n    font-family: KaTeX_Fraktur\n}\n\n.katex .mathtt {\n    font-family: KaTeX_Typewriter\n}\n\n.katex .mathscr, .katex .textscr {\n    font-family: KaTeX_Script\n}\n\n.katex .mathsf, .katex .textsf {\n    font-family: KaTeX_SansSerif\n}\n\n.katex .mathboldsf, .katex .textboldsf {\n    font-family: KaTeX_SansSerif;\n    font-weight: 700\n}\n\n.katex .mathitsf, .katex .textitsf {\n    font-family: KaTeX_SansSerif;\n    font-style: italic\n}\n\n.katex .mainrm {\n    font-family: KaTeX_Main;\n    font-style: normal\n}\n\n.katex .vlist-t {\n    display: inline-table;\n    table-layout: fixed\n}\n\n.katex .vlist-r {\n    display: table-row\n}\n\n.katex .vlist {\n    display: table-cell;\n    vertical-align: bottom;\n    position: relative\n}\n\n.katex .vlist>span {\n    display: block;\n    height: 0;\n    position: relative\n}\n\n.katex .vlist>span>span {\n    display: inline-block\n}\n\n.katex .vlist>span>.pstrut {\n    overflow: hidden;\n    width: 0\n}\n\n.katex .vlist-t2 {\n    margin-right: -2px\n}\n\n.katex .vlist-s {\n    display: table-cell;\n    vertical-align: bottom;\n    font-size: 1px;\n    width: 2px;\n    min-width: 2px\n}\n\n.katex .msupsub {\n    text-align: left\n}\n\n.katex .mfrac>span>span {\n    text-align: center\n}\n\n.katex .mfrac .frac-line {\n    display: inline-block;\n    width: 100%;\n    border-bottom-style: solid\n}\n\n.katex .hdashline, .katex .hline, .katex .mfrac .frac-line, .katex .overline .overline-line, .katex .rule, .katex .underline .underline-line {\n    min-height: 1px\n}\n\n.katex .mspace {\n    display: inline-block\n}\n\n.katex .clap, .katex .llap, .katex .rlap {\n    width: 0;\n    position: relative\n}\n\n.katex .clap>.inner, .katex .llap>.inner, .katex .rlap>.inner {\n    position: absolute\n}\n\n.katex .clap>.fix, .katex .llap>.fix, .katex .rlap>.fix {\n    display: inline-block\n}\n\n.katex .llap>.inner {\n    right: 0\n}\n\n.katex .clap>.inner, .katex .rlap>.inner {\n    left: 0\n}\n\n.katex .clap>.inner>span {\n    margin-left: -50%;\n    margin-right: 50%\n}\n\n.katex .rule {\n    display: inline-block;\n    border: 0 solid;\n    position: relative\n}\n\n.katex .hline, .katex .overline .overline-line, .katex .underline .underline-line {\n    display: inline-block;\n    width: 100%;\n    border-bottom-style: solid\n}\n\n.katex .hdashline {\n    display: inline-block;\n    width: 100%;\n    border-bottom-style: dashed\n}\n\n.katex .sqrt>.root {\n    margin-left: .27777778em;\n    margin-right: -.55555556em\n}\n\n.katex .fontsize-ensurer, .katex .sizing {\n    display: inline-block\n}\n\n.katex .fontsize-ensurer.reset-size1.size1, .katex .sizing.reset-size1.size1 {\n    font-size: 1em\n}\n\n.katex .fontsize-ensurer.reset-size1.size2, .katex .sizing.reset-size1.size2 {\n    font-size: 1.2em\n}\n\n.katex .fontsize-ensurer.reset-size1.size3, .katex .sizing.reset-size1.size3 {\n    font-size: 1.4em\n}\n\n.katex .fontsize-ensurer.reset-size1.size4, .katex .sizing.reset-size1.size4 {\n    font-size: 1.6em\n}\n\n.katex .fontsize-ensurer.reset-size1.size5, .katex .sizing.reset-size1.size5 {\n    font-size: 1.8em\n}\n\n.katex .fontsize-ensurer.reset-size1.size6, .katex .sizing.reset-size1.size6 {\n    font-size: 2em\n}\n\n.katex .fontsize-ensurer.reset-size1.size7, .katex .sizing.reset-size1.size7 {\n    font-size: 2.4em\n}\n\n.katex .fontsize-ensurer.reset-size1.size8, .katex .sizing.reset-size1.size8 {\n    font-size: 2.88em\n}\n\n.katex .fontsize-ensurer.reset-size1.size9, .katex .sizing.reset-size1.size9 {\n    font-size: 3.456em\n}\n\n.katex .fontsize-ensurer.reset-size1.size10, .katex .sizing.reset-size1.size10 {\n    font-size: 4.148em\n}\n\n.katex .fontsize-ensurer.reset-size1.size11, .katex .sizing.reset-size1.size11 {\n    font-size: 4.976em\n}\n\n.katex .fontsize-ensurer.reset-size2.size1, .katex .sizing.reset-size2.size1 {\n    font-size: .83333333em\n}\n\n.katex .fontsize-ensurer.reset-size2.size2, .katex .sizing.reset-size2.size2 {\n    font-size: 1em\n}\n\n.katex .fontsize-ensurer.reset-size2.size3, .katex .sizing.reset-size2.size3 {\n    font-size: 1.16666667em\n}\n\n.katex .fontsize-ensurer.reset-size2.size4, .katex .sizing.reset-size2.size4 {\n    font-size: 1.33333333em\n}\n\n.katex .fontsize-ensurer.reset-size2.size5, .katex .sizing.reset-size2.size5 {\n    font-size: 1.5em\n}\n\n.katex .fontsize-ensurer.reset-size2.size6, .katex .sizing.reset-size2.size6 {\n    font-size: 1.66666667em\n}\n\n.katex .fontsize-ensurer.reset-size2.size7, .katex .sizing.reset-size2.size7 {\n    font-size: 2em\n}\n\n.katex .fontsize-ensurer.reset-size2.size8, .katex .sizing.reset-size2.size8 {\n    font-size: 2.4em\n}\n\n.katex .fontsize-ensurer.reset-size2.size9, .katex .sizing.reset-size2.size9 {\n    font-size: 2.88em\n}\n\n.katex .fontsize-ensurer.reset-size2.size10, .katex .sizing.reset-size2.size10 {\n    font-size: 3.45666667em\n}\n\n.katex .fontsize-ensurer.reset-size2.size11, .katex .sizing.reset-size2.size11 {\n    font-size: 4.14666667em\n}\n\n.katex .fontsize-ensurer.reset-size3.size1, .katex .sizing.reset-size3.size1 {\n    font-size: .71428571em\n}\n\n.katex .fontsize-ensurer.reset-size3.size2, .katex .sizing.reset-size3.size2 {\n    font-size: .85714286em\n}\n\n.katex .fontsize-ensurer.reset-size3.size3, .katex .sizing.reset-size3.size3 {\n    font-size: 1em\n}\n\n.katex .fontsize-ensurer.reset-size3.size4, .katex .sizing.reset-size3.size4 {\n    font-size: 1.14285714em\n}\n\n.katex .fontsize-ensurer.reset-size3.size5, .katex .sizing.reset-size3.size5 {\n    font-size: 1.28571429em\n}\n\n.katex .fontsize-ensurer.reset-size3.size6, .katex .sizing.reset-size3.size6 {\n    font-size: 1.42857143em\n}\n\n.katex .fontsize-ensurer.reset-size3.size7, .katex .sizing.reset-size3.size7 {\n    font-size: 1.71428571em\n}\n\n.katex .fontsize-ensurer.reset-size3.size8, .katex .sizing.reset-size3.size8 {\n    font-size: 2.05714286em\n}\n\n.katex .fontsize-ensurer.reset-size3.size9, .katex .sizing.reset-size3.size9 {\n    font-size: 2.46857143em\n}\n\n.katex .fontsize-ensurer.reset-size3.size10, .katex .sizing.reset-size3.size10 {\n    font-size: 2.96285714em\n}\n\n.katex .fontsize-ensurer.reset-size3.size11, .katex .sizing.reset-size3.size11 {\n    font-size: 3.55428571em\n}\n\n.katex .fontsize-ensurer.reset-size4.size1, .katex .sizing.reset-size4.size1 {\n    font-size: .625em\n}\n\n.katex .fontsize-ensurer.reset-size4.size2, .katex .sizing.reset-size4.size2 {\n    font-size: .75em\n}\n\n.katex .fontsize-ensurer.reset-size4.size3, .katex .sizing.reset-size4.size3 {\n    font-size: .875em\n}\n\n.katex .fontsize-ensurer.reset-size4.size4, .katex .sizing.reset-size4.size4 {\n    font-size: 1em\n}\n\n.katex .fontsize-ensurer.reset-size4.size5, .katex .sizing.reset-size4.size5 {\n    font-size: 1.125em\n}\n\n.katex .fontsize-ensurer.reset-size4.size6, .katex .sizing.reset-size4.size6 {\n    font-size: 1.25em\n}\n\n.katex .fontsize-ensurer.reset-size4.size7, .katex .sizing.reset-size4.size7 {\n    font-size: 1.5em\n}\n\n.katex .fontsize-ensurer.reset-size4.size8, .katex .sizing.reset-size4.size8 {\n    font-size: 1.8em\n}\n\n.katex .fontsize-ensurer.reset-size4.size9, .katex .sizing.reset-size4.size9 {\n    font-size: 2.16em\n}\n\n.katex .fontsize-ensurer.reset-size4.size10, .katex .sizing.reset-size4.size10 {\n    font-size: 2.5925em\n}\n\n.katex .fontsize-ensurer.reset-size4.size11, .katex .sizing.reset-size4.size11 {\n    font-size: 3.11em\n}\n\n.katex .fontsize-ensurer.reset-size5.size1, .katex .sizing.reset-size5.size1 {\n    font-size: .55555556em\n}\n\n.katex .fontsize-ensurer.reset-size5.size2, .katex .sizing.reset-size5.size2 {\n    font-size: .66666667em\n}\n\n.katex .fontsize-ensurer.reset-size5.size3, .katex .sizing.reset-size5.size3 {\n    font-size: .77777778em\n}\n\n.katex .fontsize-ensurer.reset-size5.size4, .katex .sizing.reset-size5.size4 {\n    font-size: .88888889em\n}\n\n.katex .fontsize-ensurer.reset-size5.size5, .katex .sizing.reset-size5.size5 {\n    font-size: 1em\n}\n\n.katex .fontsize-ensurer.reset-size5.size6, .katex .sizing.reset-size5.size6 {\n    font-size: 1.11111111em\n}\n\n.katex .fontsize-ensurer.reset-size5.size7, .katex .sizing.reset-size5.size7 {\n    font-size: 1.33333333em\n}\n\n.katex .fontsize-ensurer.reset-size5.size8, .katex .sizing.reset-size5.size8 {\n    font-size: 1.6em\n}\n\n.katex .fontsize-ensurer.reset-size5.size9, .katex .sizing.reset-size5.size9 {\n    font-size: 1.92em\n}\n\n.katex .fontsize-ensurer.reset-size5.size10, .katex .sizing.reset-size5.size10 {\n    font-size: 2.30444444em\n}\n\n.katex .fontsize-ensurer.reset-size5.size11, .katex .sizing.reset-size5.size11 {\n    font-size: 2.76444444em\n}\n\n.katex .fontsize-ensurer.reset-size6.size1, .katex .sizing.reset-size6.size1 {\n    font-size: .5em\n}\n\n.katex .fontsize-ensurer.reset-size6.size2, .katex .sizing.reset-size6.size2 {\n    font-size: .6em\n}\n\n.katex .fontsize-ensurer.reset-size6.size3, .katex .sizing.reset-size6.size3 {\n    font-size: .7em\n}\n\n.katex .fontsize-ensurer.reset-size6.size4, .katex .sizing.reset-size6.size4 {\n    font-size: .8em\n}\n\n.katex .fontsize-ensurer.reset-size6.size5, .katex .sizing.reset-size6.size5 {\n    font-size: .9em\n}\n\n.katex .fontsize-ensurer.reset-size6.size6, .katex .sizing.reset-size6.size6 {\n    font-size: 1em\n}\n\n.katex .fontsize-ensurer.reset-size6.size7, .katex .sizing.reset-size6.size7 {\n    font-size: 1.2em\n}\n\n.katex .fontsize-ensurer.reset-size6.size8, .katex .sizing.reset-size6.size8 {\n    font-size: 1.44em\n}\n\n.katex .fontsize-ensurer.reset-size6.size9, .katex .sizing.reset-size6.size9 {\n    font-size: 1.728em\n}\n\n.katex .fontsize-ensurer.reset-size6.size10, .katex .sizing.reset-size6.size10 {\n    font-size: 2.074em\n}\n\n.katex .fontsize-ensurer.reset-size6.size11, .katex .sizing.reset-size6.size11 {\n    font-size: 2.488em\n}\n\n.katex .fontsize-ensurer.reset-size7.size1, .katex .sizing.reset-size7.size1 {\n    font-size: .41666667em\n}\n\n.katex .fontsize-ensurer.reset-size7.size2, .katex .sizing.reset-size7.size2 {\n    font-size: .5em\n}\n\n.katex .fontsize-ensurer.reset-size7.size3, .katex .sizing.reset-size7.size3 {\n    font-size: .58333333em\n}\n\n.katex .fontsize-ensurer.reset-size7.size4, .katex .sizing.reset-size7.size4 {\n    font-size: .66666667em\n}\n\n.katex .fontsize-ensurer.reset-size7.size5, .katex .sizing.reset-size7.size5 {\n    font-size: .75em\n}\n\n.katex .fontsize-ensurer.reset-size7.size6, .katex .sizing.reset-size7.size6 {\n    font-size: .83333333em\n}\n\n.katex .fontsize-ensurer.reset-size7.size7, .katex .sizing.reset-size7.size7 {\n    font-size: 1em\n}\n\n.katex .fontsize-ensurer.reset-size7.size8, .katex .sizing.reset-size7.size8 {\n    font-size: 1.2em\n}\n\n.katex .fontsize-ensurer.reset-size7.size9, .katex .sizing.reset-size7.size9 {\n    font-size: 1.44em\n}\n\n.katex .fontsize-ensurer.reset-size7.size10, .katex .sizing.reset-size7.size10 {\n    font-size: 1.72833333em\n}\n\n.katex .fontsize-ensurer.reset-size7.size11, .katex .sizing.reset-size7.size11 {\n    font-size: 2.07333333em\n}\n\n.katex .fontsize-ensurer.reset-size8.size1, .katex .sizing.reset-size8.size1 {\n    font-size: .34722222em\n}\n\n.katex .fontsize-ensurer.reset-size8.size2, .katex .sizing.reset-size8.size2 {\n    font-size: .41666667em\n}\n\n.katex .fontsize-ensurer.reset-size8.size3, .katex .sizing.reset-size8.size3 {\n    font-size: .48611111em\n}\n\n.katex .fontsize-ensurer.reset-size8.size4, .katex .sizing.reset-size8.size4 {\n    font-size: .55555556em\n}\n\n.katex .fontsize-ensurer.reset-size8.size5, .katex .sizing.reset-size8.size5 {\n    font-size: .625em\n}\n\n.katex .fontsize-ensurer.reset-size8.size6, .katex .sizing.reset-size8.size6 {\n    font-size: .69444444em\n}\n\n.katex .fontsize-ensurer.reset-size8.size7, .katex .sizing.reset-size8.size7 {\n    font-size: .83333333em\n}\n\n.katex .fontsize-ensurer.reset-size8.size8, .katex .sizing.reset-size8.size8 {\n    font-size: 1em\n}\n\n.katex .fontsize-ensurer.reset-size8.size9, .katex .sizing.reset-size8.size9 {\n    font-size: 1.2em\n}\n\n.katex .fontsize-ensurer.reset-size8.size10, .katex .sizing.reset-size8.size10 {\n    font-size: 1.44027778em\n}\n\n.katex .fontsize-ensurer.reset-size8.size11, .katex .sizing.reset-size8.size11 {\n    font-size: 1.72777778em\n}\n\n.katex .fontsize-ensurer.reset-size9.size1, .katex .sizing.reset-size9.size1 {\n    font-size: .28935185em\n}\n\n.katex .fontsize-ensurer.reset-size9.size2, .katex .sizing.reset-size9.size2 {\n    font-size: .34722222em\n}\n\n.katex .fontsize-ensurer.reset-size9.size3, .katex .sizing.reset-size9.size3 {\n    font-size: .40509259em\n}\n\n.katex .fontsize-ensurer.reset-size9.size4, .katex .sizing.reset-size9.size4 {\n    font-size: .46296296em\n}\n\n.katex .fontsize-ensurer.reset-size9.size5, .katex .sizing.reset-size9.size5 {\n    font-size: .52083333em\n}\n\n.katex .fontsize-ensurer.reset-size9.size6, .katex .sizing.reset-size9.size6 {\n    font-size: .5787037em\n}\n\n.katex .fontsize-ensurer.reset-size9.size7, .katex .sizing.reset-size9.size7 {\n    font-size: .69444444em\n}\n\n.katex .fontsize-ensurer.reset-size9.size8, .katex .sizing.reset-size9.size8 {\n    font-size: .83333333em\n}\n\n.katex .fontsize-ensurer.reset-size9.size9, .katex .sizing.reset-size9.size9 {\n    font-size: 1em\n}\n\n.katex .fontsize-ensurer.reset-size9.size10, .katex .sizing.reset-size9.size10 {\n    font-size: 1.20023148em\n}\n\n.katex .fontsize-ensurer.reset-size9.size11, .katex .sizing.reset-size9.size11 {\n    font-size: 1.43981481em\n}\n\n.katex .fontsize-ensurer.reset-size10.size1, .katex .sizing.reset-size10.size1 {\n    font-size: .24108004em\n}\n\n.katex .fontsize-ensurer.reset-size10.size2, .katex .sizing.reset-size10.size2 {\n    font-size: .28929605em\n}\n\n.katex .fontsize-ensurer.reset-size10.size3, .katex .sizing.reset-size10.size3 {\n    font-size: .33751205em\n}\n\n.katex .fontsize-ensurer.reset-size10.size4, .katex .sizing.reset-size10.size4 {\n    font-size: .38572806em\n}\n\n.katex .fontsize-ensurer.reset-size10.size5, .katex .sizing.reset-size10.size5 {\n    font-size: .43394407em\n}\n\n.katex .fontsize-ensurer.reset-size10.size6, .katex .sizing.reset-size10.size6 {\n    font-size: .48216008em\n}\n\n.katex .fontsize-ensurer.reset-size10.size7, .katex .sizing.reset-size10.size7 {\n    font-size: .57859209em\n}\n\n.katex .fontsize-ensurer.reset-size10.size8, .katex .sizing.reset-size10.size8 {\n    font-size: .69431051em\n}\n\n.katex .fontsize-ensurer.reset-size10.size9, .katex .sizing.reset-size10.size9 {\n    font-size: .83317261em\n}\n\n.katex .fontsize-ensurer.reset-size10.size10, .katex .sizing.reset-size10.size10 {\n    font-size: 1em\n}\n\n.katex .fontsize-ensurer.reset-size10.size11, .katex .sizing.reset-size10.size11 {\n    font-size: 1.19961427em\n}\n\n.katex .fontsize-ensurer.reset-size11.size1, .katex .sizing.reset-size11.size1 {\n    font-size: .20096463em\n}\n\n.katex .fontsize-ensurer.reset-size11.size2, .katex .sizing.reset-size11.size2 {\n    font-size: .24115756em\n}\n\n.katex .fontsize-ensurer.reset-size11.size3, .katex .sizing.reset-size11.size3 {\n    font-size: .28135048em\n}\n\n.katex .fontsize-ensurer.reset-size11.size4, .katex .sizing.reset-size11.size4 {\n    font-size: .32154341em\n}\n\n.katex .fontsize-ensurer.reset-size11.size5, .katex .sizing.reset-size11.size5 {\n    font-size: .36173633em\n}\n\n.katex .fontsize-ensurer.reset-size11.size6, .katex .sizing.reset-size11.size6 {\n    font-size: .40192926em\n}\n\n.katex .fontsize-ensurer.reset-size11.size7, .katex .sizing.reset-size11.size7 {\n    font-size: .48231511em\n}\n\n.katex .fontsize-ensurer.reset-size11.size8, .katex .sizing.reset-size11.size8 {\n    font-size: .57877814em\n}\n\n.katex .fontsize-ensurer.reset-size11.size9, .katex .sizing.reset-size11.size9 {\n    font-size: .69453376em\n}\n\n.katex .fontsize-ensurer.reset-size11.size10, .katex .sizing.reset-size11.size10 {\n    font-size: .83360129em\n}\n\n.katex .fontsize-ensurer.reset-size11.size11, .katex .sizing.reset-size11.size11 {\n    font-size: 1em\n}\n\n.katex .delimsizing.size1 {\n    font-family: KaTeX_Size1\n}\n\n.katex .delimsizing.size2 {\n    font-family: KaTeX_Size2\n}\n\n.katex .delimsizing.size3 {\n    font-family: KaTeX_Size3\n}\n\n.katex .delimsizing.size4 {\n    font-family: KaTeX_Size4\n}\n\n.katex .delimsizing.mult .delim-size1>span {\n    font-family: KaTeX_Size1\n}\n\n.katex .delimsizing.mult .delim-size4>span {\n    font-family: KaTeX_Size4\n}\n\n.katex .nulldelimiter {\n    display: inline-block;\n    width: .12em\n}\n\n.katex .delimcenter, .katex .op-symbol {\n    position: relative\n}\n\n.katex .op-symbol.small-op {\n    font-family: KaTeX_Size1\n}\n\n.katex .op-symbol.large-op {\n    font-family: KaTeX_Size2\n}\n\n.katex .accent>.vlist-t, .katex .op-limits>.vlist-t {\n    text-align: center\n}\n\n.katex .accent .accent-body {\n    position: relative\n}\n\n.katex .accent .accent-body:not(.accent-full) {\n    width: 0\n}\n\n.katex .overlay {\n    display: block\n}\n\n.katex .mtable .vertical-separator {\n    display: inline-block;\n    margin: 0 -.025em;\n    border-right: .05em solid;\n    min-width: 1px\n}\n\n.katex .mtable .vs-dashed {\n    border-right: .05em dashed\n}\n\n.katex .mtable .arraycolsep {\n    display: inline-block\n}\n\n.katex .mtable .col-align-c>.vlist-t {\n    text-align: center\n}\n\n.katex .mtable .col-align-l>.vlist-t {\n    text-align: left\n}\n\n.katex .mtable .col-align-r>.vlist-t {\n    text-align: right\n}\n\n.katex .svg-align {\n    text-align: left\n}\n\n.katex svg {\n    display: block;\n    position: absolute;\n    width: 100%;\n    height: inherit;\n    fill: currentColor;\n    stroke: currentColor;\n    fill-rule: nonzero;\n    fill-opacity: 1;\n    stroke-width: 1;\n    stroke-linecap: butt;\n    stroke-linejoin: miter;\n    stroke-miterlimit: 4;\n    stroke-dasharray: none;\n    stroke-dashoffset: 0;\n    stroke-opacity: 1\n}\n\n.katex svg path {\n    stroke: none\n}\n\n.katex img {\n    border-style: none;\n    min-width: 0;\n    min-height: 0;\n    max-width: none;\n    max-height: none\n}\n\n.katex .stretchy {\n    width: 100%;\n    display: block;\n    position: relative;\n    overflow: hidden\n}\n\n.katex .stretchy:after, .katex .stretchy:before {\n    content: \"\"\n}\n\n.katex .hide-tail {\n    width: 100%;\n    position: relative;\n    overflow: hidden\n}\n\n.katex .halfarrow-left {\n    position: absolute;\n    left: 0;\n    width: 50.2%;\n    overflow: hidden\n}\n\n.katex .halfarrow-right {\n    position: absolute;\n    right: 0;\n    width: 50.2%;\n    overflow: hidden\n}\n\n.katex .brace-left {\n    position: absolute;\n    left: 0;\n    width: 25.1%;\n    overflow: hidden\n}\n\n.katex .brace-center {\n    position: absolute;\n    left: 25%;\n    width: 50%;\n    overflow: hidden\n}\n\n.katex .brace-right {\n    position: absolute;\n    right: 0;\n    width: 25.1%;\n    overflow: hidden\n}\n\n.katex .x-arrow-pad {\n    padding: 0 .5em\n}\n\n.katex .mover, .katex .munder, .katex .x-arrow {\n    text-align: center\n}\n\n.katex .boxpad {\n    padding: 0 .3em\n}\n\n.katex .fbox, .katex .fcolorbox {\n    box-sizing: border-box;\n    border: .04em solid\n}\n\n.katex .cancel-pad {\n    padding: 0 .2em\n}\n\n.katex .cancel-lap {\n    margin-left: -.2em;\n    margin-right: -.2em\n}\n\n.katex .sout {\n    border-bottom-style: solid;\n    border-bottom-width: .08em\n}\n\n.katex-display {\n    display: block;\n    margin: 1em 0;\n    text-align: center\n}\n\n.katex-display>.katex {\n    display: block;\n    text-align: center;\n    white-space: nowrap\n}\n\n.katex-display>.katex>.katex-html {\n    display: block;\n    position: relative\n}\n\n.katex-display>.katex>.katex-html>.tag {\n    position: absolute;\n    right: 0\n}\n\n.katex-display.leqno>.katex>.katex-html>.tag {\n    left: 0;\n    right: auto\n}\n\n.katex-display.fleqn>.katex {\n    text-align: left\n}\n\n@font-face {\n    font-family: Lato;\n    font-style: normal;\n    font-weight: 400;\n    src: url(/static/fonts/lato-normal.27bd77b.woff) format(\"woff\")\n}\n\n@font-face {\n    font-family: Lato;\n    font-style: italic;\n    font-weight: 400;\n    src: url(/static/fonts/lato-normal-italic.f28f2d6.woff) format(\"woff\")\n}\n\n@font-face {\n    font-family: Lato;\n    font-style: normal;\n    font-weight: 600;\n    src: url(/static/fonts/lato-black.f80bda6.woff) format(\"woff\")\n}\n\n@font-face {\n    font-family: Lato;\n    font-style: italic;\n    font-weight: 600;\n    src: url(/static/fonts/lato-black-italic.798eafd.woff) format(\"woff\")\n}\n\n@font-face {\n    font-family: Roboto Mono;\n    font-style: normal;\n    font-weight: 400;\n    src: url(/static/fonts/RobotoMono-Regular.0b6a547.woff) format(\"woff\")\n}\n\n@font-face {\n    font-family: Roboto Mono;\n    font-style: normal;\n    font-weight: 600;\n    src: url(/static/fonts/RobotoMono-Bold.819f3b2.woff) format(\"woff\")\n}\n\n.prism *, .token.pre.gfm * {\n    font-weight: inherit!important\n}\n\n.prism .token.cdata, .prism .token.comment, .prism .token.doctype, .prism .token.prolog, .token.pre.gfm .token.cdata, .token.pre.gfm .token.comment, .token.pre.gfm .token.doctype, .token.pre.gfm .token.prolog {\n    color: #708090\n}\n\n.prism .token.punctuation, .token.pre.gfm .token.punctuation {\n    color: #999\n}\n\n.prism .namespace, .token.pre.gfm .namespace {\n    opacity: .7\n}\n\n.prism .token.boolean, .prism .token.constant, .prism .token.deleted, .prism .token.number, .prism .token.property, .prism .token.symbol, .prism .token.tag, .token.pre.gfm .token.boolean, .token.pre.gfm .token.constant, .token.pre.gfm .token.deleted, .token.pre.gfm .token.number, .token.pre.gfm .token.property, .token.pre.gfm .token.symbol, .token.pre.gfm .token.tag {\n    color: #905\n}\n\n.prism .token.attr-name, .prism .token.builtin, .prism .token.char, .prism .token.inserted, .prism .token.selector, .prism .token.string, .token.pre.gfm .token.attr-name, .token.pre.gfm .token.builtin, .token.pre.gfm .token.char, .token.pre.gfm .token.inserted, .token.pre.gfm .token.selector, .token.pre.gfm .token.string {\n    color: #690\n}\n\n.prism .language-css .token.string, .prism .style .token.string, .prism .token.entity, .prism .token.operator, .prism .token.url, .token.pre.gfm .language-css .token.string, .token.pre.gfm .style .token.string, .token.pre.gfm .token.entity, .token.pre.gfm .token.operator, .token.pre.gfm .token.url {\n    color: #a67f59\n}\n\n.prism .token.atrule, .prism .token.attr-value, .prism .token.keyword, .token.pre.gfm .token.atrule, .token.pre.gfm .token.attr-value, .token.pre.gfm .token.keyword {\n    color: #07a\n}\n\n.prism .token.function, .token.pre.gfm .token.function {\n    color: #dd4a68\n}\n\n.prism .token.important, .prism .token.regex, .prism .token.variable, .token.pre.gfm .token.important, .token.pre.gfm .token.regex, .token.pre.gfm .token.variable {\n    color: #e90\n}\n\n.prism .token.bold, .prism .token.important, .token.pre.gfm .token.bold, .token.pre.gfm .token.important {\n    font-weight: 500\n}\n\n.prism .token.italic, .token.pre.gfm .token.italic {\n    font-style: italic\n}\n\n.mermaid {\n    font-size: 16px\n}\n\n.mermaid svg {\n    color: rgba(0, 0, 0, .75);\n    width: 100%;\n    max-width: 100%\n}\n\n.app--dark .mermaid svg {\n    color: hsla(0, 0%, 100%, .75)\n}\n\n.mermaid svg * {\n    font-family: Lato, Helvetica Neue, Helvetica, sans-serif\n}\n\n.mermaid .mermaid .label {\n    color: #333\n}\n\n.mermaid .node circle, .mermaid .node ellipse, .mermaid .node polygon, .mermaid .node rect {\n    fill: #eee;\n    stroke: #999;\n    stroke-width: 1px\n}\n\n.mermaid .node.clickable {\n    cursor: pointer\n}\n\n.mermaid .arrowheadPath {\n    fill: #333\n}\n\n.mermaid .edgePath .path {\n    stroke: #666;\n    stroke-width: 1.5px\n}\n\n.mermaid .edgeLabel {\n    background-color: #fff\n}\n\n.mermaid .cluster rect {\n    fill: #eaf2fb!important;\n    stroke: #26a!important;\n    stroke-width: 1px!important\n}\n\n.mermaid .cluster text {\n    fill: #333\n}\n\n.mermaid div.mermaidTooltip {\n    position: absolute;\n    text-align: center;\n    max-width: 200px;\n    padding: 2px;\n    font-family: trebuchet ms, verdana, arial;\n    font-size: 12px;\n    background: #eaf2fb;\n    border: 1px solid #26a;\n    border-radius: 2px;\n    pointer-events: none;\n    z-index: 100\n}\n\n.mermaid .actor {\n    stroke: #999;\n    fill: #eee\n}\n\n.mermaid text.actor {\n    fill: #333;\n    stroke: none\n}\n\n.mermaid .actor-line {\n    stroke: #666\n}\n\n.mermaid .messageLine0 {\n    marker-end: \"url(#arrowhead)\"\n}\n\n.mermaid .messageLine0, .mermaid .messageLine1 {\n    stroke-width: 1.5;\n    stroke-dasharray: \"2 2\";\n    stroke: #333\n}\n\n.mermaid #arrowhead {\n    fill: #333\n}\n\n.mermaid #crosshead path {\n    fill: #333!important;\n    stroke: #333!important\n}\n\n.mermaid .messageText {\n    fill: #333;\n    stroke: none\n}\n\n.mermaid .labelBox {\n    stroke: #999;\n    fill: #eee\n}\n\n.mermaid .labelText, .mermaid .loopText {\n    fill: #fff;\n    stroke: none\n}\n\n.mermaid .loopLine {\n    stroke-width: 2;\n    stroke-dasharray: \"2 2\";\n    marker-end: \"url(#arrowhead)\";\n    stroke: #999\n}\n\n.mermaid .note {\n    stroke: #770;\n    fill: #ffa\n}\n\n.mermaid .noteText {\n    fill: #000;\n    stroke: none;\n    font-family: trebuchet ms, verdana, arial;\n    font-size: 14px\n}\n\n.mermaid .section {\n    stroke: none;\n    opacity: .2\n}\n\n.mermaid .section0, .mermaid .section2 {\n    fill: #80b3e6\n}\n\n.mermaid .section1, .mermaid .section3 {\n    fill: #fff;\n    opacity: .2\n}\n\n.mermaid .sectionTitle0, .mermaid .sectionTitle1, .mermaid .sectionTitle2, .mermaid .sectionTitle3 {\n    fill: #333\n}\n\n.mermaid .sectionTitle {\n    text-anchor: start;\n    font-size: 11px\n}\n\n.mermaid .grid .tick {\n    stroke: #e6e6e6;\n    opacity: .3;\n    shape-rendering: crispEdges\n}\n\n.mermaid .grid path {\n    stroke-width: 0\n}\n\n.mermaid .today {\n    fill: none;\n    stroke: #d42;\n    stroke-width: 2px\n}\n\n.mermaid .task {\n    stroke-width: 2\n}\n\n.mermaid .taskText {\n    text-anchor: middle;\n    font-size: 11px\n}\n\n.mermaid .taskTextOutsideRight {\n    fill: #333;\n    text-anchor: start;\n    font-size: 11px\n}\n\n.mermaid .taskTextOutsideLeft {\n    fill: #333;\n    text-anchor: end;\n    font-size: 11px\n}\n\n.mermaid .taskText0, .mermaid .taskText1, .mermaid .taskText2, .mermaid .taskText3 {\n    fill: #fff\n}\n\n.mermaid .task0, .mermaid .task1, .mermaid .task2, .mermaid .task3 {\n    fill: #26a;\n    stroke: #1a4d80\n}\n\n.mermaid .taskTextOutside0, .mermaid .taskTextOutside1, .mermaid .taskTextOutside2, .mermaid .taskTextOutside3 {\n    fill: #333\n}\n\n.mermaid .active0, .mermaid .active1, .mermaid .active2, .mermaid .active3 {\n    fill: #eee;\n    stroke: #1a4d80\n}\n\n.mermaid .activeText0, .mermaid .activeText1, .mermaid .activeText2, .mermaid .activeText3 {\n    fill: #333!important\n}\n\n.mermaid .done0, .mermaid .done1, .mermaid .done2, .mermaid .done3 {\n    stroke: #666;\n    fill: #bbb;\n    stroke-width: 2\n}\n\n.mermaid .doneText0, .mermaid .doneText1, .mermaid .doneText2, .mermaid .doneText3 {\n    fill: #333!important\n}\n\n.mermaid .crit0, .mermaid .crit1, .mermaid .crit2, .mermaid .crit3 {\n    stroke: #b1361b;\n    fill: #d42;\n    stroke-width: 2\n}\n\n.mermaid .activeCrit0, .mermaid .activeCrit1, .mermaid .activeCrit2, .mermaid .activeCrit3 {\n    stroke: #b1361b;\n    fill: #eee;\n    stroke-width: 2\n}\n\n.mermaid .doneCrit0, .mermaid .doneCrit1, .mermaid .doneCrit2, .mermaid .doneCrit3 {\n    stroke: #b1361b;\n    fill: #bbb;\n    stroke-width: 2;\n    cursor: pointer;\n    shape-rendering: crispEdges\n}\n\n.mermaid .activeCritText0, .mermaid .activeCritText1, .mermaid .activeCritText2, .mermaid .activeCritText3, .mermaid .doneCritText0, .mermaid .doneCritText1, .mermaid .doneCritText2, .mermaid .doneCritText3 {\n    fill: #333!important\n}\n\n.mermaid .titleText {\n    text-anchor: middle;\n    font-size: 18px;\n    fill: #333\n}\n\n.mermaid g.classGroup text {\n    fill: #999;\n    stroke: none;\n    font-family: trebuchet ms, verdana, arial;\n    font-size: 10px\n}\n\n.mermaid g.classGroup rect {\n    fill: #eee;\n    stroke: #999\n}\n\n.mermaid g.classGroup line {\n    stroke: #999;\n    stroke-width: 1\n}\n\n.mermaid .classLabel .box {\n    stroke: none;\n    stroke-width: 0;\n    fill: #eee;\n    opacity: .5\n}\n\n.mermaid .classLabel .label {\n    fill: #999;\n    font-size: 10px\n}\n\n.mermaid .relation {\n    stroke: #999;\n    stroke-width: 1;\n    fill: none\n}\n\n.mermaid #compositionEnd, .mermaid #compositionStart {\n    fill: #999;\n    stroke: #999;\n    stroke-width: 1\n}\n\n.mermaid #aggregationEnd, .mermaid #aggregationStart {\n    fill: #eee;\n    stroke: #999;\n    stroke-width: 1\n}\n\n.mermaid #dependencyEnd, .mermaid #dependencyStart, .mermaid #extensionEnd, .mermaid #extensionStart {\n    fill: #999;\n    stroke: #999;\n    stroke-width: 1\n}\n\n.mermaid .branch-label, .mermaid .commit-id, .mermaid .commit-msg {\n    fill: #d3d3d3;\n    color: #d3d3d3\n}\n\n.app--dark .mermaid .label {\n    color: #323d47\n}\n\n.app--dark .mermaid .node circle, .app--dark .mermaid .node ellipse, .app--dark .mermaid .node polygon, .app--dark .mermaid .node rect {\n    fill: #bdd5ea;\n    stroke: purple;\n    stroke-width: 1px\n}\n\n.app--dark .mermaid .node.clickable {\n    cursor: pointer\n}\n\n.app--dark .mermaid .arrowheadPath {\n    fill: #d3d3d3\n}\n\n.app--dark .mermaid .edgePath .path {\n    stroke: #d3d3d3;\n    stroke-width: 1.5px\n}\n\n.app--dark .mermaid .edgeLabel {\n    background-color: #e8e8e8\n}\n\n.app--dark .mermaid .cluster rect {\n    fill: #6d6d65!important;\n    stroke: hsla(0, 0%, 100%, .25)!important;\n    stroke-width: 1px!important\n}\n\n.app--dark .mermaid .cluster text {\n    fill: #f9fffe\n}\n\n.app--dark .mermaid div.mermaidTooltip {\n    position: absolute;\n    text-align: center;\n    max-width: 200px;\n    padding: 2px;\n    font-family: trebuchet ms, verdana, arial;\n    font-size: 12px;\n    background: #6d6d65;\n    border: 1px solid hsla(0, 0%, 100%, .25);\n    border-radius: 2px;\n    pointer-events: none;\n    z-index: 100\n}\n\n.app--dark .mermaid .actor {\n    stroke: #81b1db;\n    fill: #bdd5ea\n}\n\n.app--dark .mermaid text.actor {\n    fill: #000;\n    stroke: none\n}\n\n.app--dark .mermaid .actor-line {\n    stroke: #d3d3d3\n}\n\n.app--dark .mermaid .messageLine0 {\n    marker-end: \"url(#arrowhead)\"\n}\n\n.app--dark .mermaid .messageLine0, .app--dark .mermaid .messageLine1 {\n    stroke-width: 1.5;\n    stroke-dasharray: \"2 2\";\n    stroke: #d3d3d3\n}\n\n.app--dark .mermaid #arrowhead {\n    fill: #d3d3d3\n}\n\n.app--dark .mermaid #crosshead path {\n    fill: #d3d3d3!important;\n    stroke: #d3d3d3!important\n}\n\n.app--dark .mermaid .messageText {\n    fill: #d3d3d3;\n    stroke: none\n}\n\n.app--dark .mermaid .labelBox {\n    stroke: #81b1db;\n    fill: #bdd5ea\n}\n\n.app--dark .mermaid .labelText, .app--dark .mermaid .loopText {\n    fill: #d3d3d3;\n    stroke: none\n}\n\n.app--dark .mermaid .loopLine {\n    stroke-width: 2;\n    stroke-dasharray: \"2 2\";\n    marker-end: \"url(#arrowhead)\";\n    stroke: #81b1db\n}\n\n.app--dark .mermaid .note {\n    stroke: hsla(0, 0%, 100%, .25);\n    fill: #fff5ad\n}\n\n.app--dark .mermaid .noteText {\n    fill: #000;\n    stroke: none;\n    font-family: trebuchet ms, verdana, arial;\n    font-size: 14px\n}\n\n.app--dark .mermaid .section {\n    stroke: none;\n    opacity: .2\n}\n\n.app--dark .mermaid .section0 {\n    fill: hsla(0, 0%, 100%, .3)\n}\n\n.app--dark .mermaid .section2 {\n    fill: #eae8b9\n}\n\n.app--dark .mermaid .section1, .app--dark .mermaid .section3 {\n    fill: #fff;\n    opacity: .2\n}\n\n.app--dark .mermaid .sectionTitle0, .app--dark .mermaid .sectionTitle1, .app--dark .mermaid .sectionTitle2, .app--dark .mermaid .sectionTitle3 {\n    fill: #f9fffe\n}\n\n.app--dark .mermaid .sectionTitle {\n    text-anchor: start;\n    font-size: 11px\n}\n\n.app--dark .mermaid .grid .tick {\n    stroke: #d3d3d3;\n    opacity: .3;\n    shape-rendering: crispEdges\n}\n\n.app--dark .mermaid .grid path {\n    stroke-width: 0\n}\n\n.app--dark .mermaid .today {\n    fill: none;\n    stroke: #db5757;\n    stroke-width: 2px\n}\n\n.app--dark .mermaid .task {\n    stroke-width: 2\n}\n\n.app--dark .mermaid .taskText {\n    text-anchor: middle;\n    font-size: 11px\n}\n\n.app--dark .mermaid .taskTextOutsideRight {\n    fill: #323d47;\n    text-anchor: start;\n    font-size: 11px\n}\n\n.app--dark .mermaid .taskTextOutsideLeft {\n    fill: #323d47;\n    text-anchor: end;\n    font-size: 11px\n}\n\n.app--dark .mermaid .taskText0, .app--dark .mermaid .taskText1, .app--dark .mermaid .taskText2, .app--dark .mermaid .taskText3 {\n    fill: #323d47\n}\n\n.app--dark .mermaid .task0, .app--dark .mermaid .task1, .app--dark .mermaid .task2, .app--dark .mermaid .task3 {\n    fill: #bdd5ea;\n    stroke: hsla(0, 0%, 100%, .5)\n}\n\n.app--dark .mermaid .taskTextOutside0, .app--dark .mermaid .taskTextOutside1, .app--dark .mermaid .taskTextOutside2, .app--dark .mermaid .taskTextOutside3 {\n    fill: #d3d3d3\n}\n\n.app--dark .mermaid .active0, .app--dark .mermaid .active1, .app--dark .mermaid .active2, .app--dark .mermaid .active3 {\n    fill: #81b1db;\n    stroke: hsla(0, 0%, 100%, .5)\n}\n\n.app--dark .mermaid .activeText0, .app--dark .mermaid .activeText1, .app--dark .mermaid .activeText2, .app--dark .mermaid .activeText3 {\n    fill: #323d47!important\n}\n\n.app--dark .mermaid .done0, .app--dark .mermaid .done1, .app--dark .mermaid .done2, .app--dark .mermaid .done3 {\n    stroke: grey;\n    fill: #d3d3d3;\n    stroke-width: 2\n}\n\n.app--dark .mermaid .doneText0, .app--dark .mermaid .doneText1, .app--dark .mermaid .doneText2, .app--dark .mermaid .doneText3 {\n    fill: #323d47!important\n}\n\n.app--dark .mermaid .crit0, .app--dark .mermaid .crit1, .app--dark .mermaid .crit2, .app--dark .mermaid .crit3 {\n    stroke: #e83737;\n    fill: #e83737;\n    stroke-width: 2\n}\n\n.app--dark .mermaid .activeCrit0, .app--dark .mermaid .activeCrit1, .app--dark .mermaid .activeCrit2, .app--dark .mermaid .activeCrit3 {\n    stroke: #e83737;\n    fill: #81b1db;\n    stroke-width: 2\n}\n\n.app--dark .mermaid .doneCrit0, .app--dark .mermaid .doneCrit1, .app--dark .mermaid .doneCrit2, .app--dark .mermaid .doneCrit3 {\n    stroke: #e83737;\n    fill: #d3d3d3;\n    stroke-width: 2;\n    cursor: pointer;\n    shape-rendering: crispEdges\n}\n\n.app--dark .mermaid .activeCritText0, .app--dark .mermaid .activeCritText1, .app--dark .mermaid .activeCritText2, .app--dark .mermaid .activeCritText3, .app--dark .mermaid .doneCritText0, .app--dark .mermaid .doneCritText1, .app--dark .mermaid .doneCritText2, .app--dark .mermaid .doneCritText3 {\n    fill: #323d47!important\n}\n\n.app--dark .mermaid .titleText {\n    text-anchor: middle;\n    font-size: 18px;\n    fill: #323d47\n}\n\n.app--dark .mermaid g.classGroup text {\n    fill: purple;\n    stroke: none;\n    font-family: trebuchet ms, verdana, arial;\n    font-size: 10px\n}\n\n.app--dark .mermaid g.classGroup rect {\n    fill: #bdd5ea;\n    stroke: purple\n}\n\n.app--dark .mermaid g.classGroup line {\n    stroke: purple;\n    stroke-width: 1\n}\n\n.app--dark .mermaid .classLabel .box {\n    stroke: none;\n    stroke-width: 0;\n    fill: #bdd5ea;\n    opacity: .5\n}\n\n.app--dark .mermaid .classLabel .label {\n    fill: purple;\n    font-size: 10px\n}\n\n.app--dark .mermaid .relation {\n    stroke: purple;\n    stroke-width: 1;\n    fill: none\n}\n\n.app--dark .mermaid #compositionEnd, .app--dark .mermaid #compositionStart {\n    fill: purple;\n    stroke: purple;\n    stroke-width: 1\n}\n\n.app--dark .mermaid #aggregationEnd, .app--dark .mermaid #aggregationStart {\n    fill: #bdd5ea;\n    stroke: purple;\n    stroke-width: 1\n}\n\n.app--dark .mermaid #dependencyEnd, .app--dark .mermaid #dependencyStart, .app--dark .mermaid #extensionEnd, .app--dark .mermaid #extensionStart {\n    fill: purple;\n    stroke: purple;\n    stroke-width: 1\n}\n\n.app--dark .mermaid .branch-label, .app--dark .mermaid .commit-id, .app--dark .mermaid .commit-msg {\n    fill: #d3d3d3;\n    color: #d3d3d3\n}\n\n/*! normalize-scss | MIT/GPLv2 License | bit.ly/normalize-scss */\n\nhtml {\n    line-height: 1.15;\n    -ms-text-size-adjust: 100%;\n    -webkit-text-size-adjust: 100%\n}\n\nbody {\n    margin: 0\n}\n\narticle, aside, footer, header, nav, section {\n    display: block\n}\n\nh1 {\n    font-size: 2em;\n    margin: .67em 0\n}\n\nfigcaption, figure {\n    display: block\n}\n\nfigure {\n    margin: 1em 40px\n}\n\nhr {\n    box-sizing: content-box;\n    height: 0;\n    overflow: visible\n}\n\nmain {\n    display: block\n}\n\npre {\n    font-family: monospace, monospace;\n    font-size: 1em\n}\n\na {\n    background-color: transparent;\n    -webkit-text-decoration-skip: objects\n}\n\nabbr[title] {\n    border-bottom: none;\n    text-decoration: underline;\n    text-decoration: underline dotted\n}\n\nb, strong {\n    font-weight: inherit;\n    font-weight: bolder\n}\n\ncode, kbd, samp {\n    font-family: monospace, monospace;\n    font-size: 1em\n}\n\ndfn {\n    font-style: italic\n}\n\nmark {\n    background-color: #ff0;\n    color: #000\n}\n\nsmall {\n    font-size: 80%\n}\n\nsub, sup {\n    font-size: 75%;\n    line-height: 0;\n    position: relative;\n    vertical-align: baseline\n}\n\nsub {\n    bottom: -.25em\n}\n\nsup {\n    top: -.5em\n}\n\naudio, video {\n    display: inline-block\n}\n\naudio:not([controls]) {\n    display: none;\n    height: 0\n}\n\nimg {\n    border-style: none\n}\n\nsvg:not(:root) {\n    overflow: hidden\n}\n\nbutton, input, optgroup, select, textarea {\n    font-family: sans-serif;\n    font-size: 100%;\n    line-height: 1.15;\n    margin: 0\n}\n\nbutton {\n    overflow: visible\n}\n\nbutton, select {\n    text-transform: none\n}\n\n[type=reset], [type=submit], button, html [type=button] {\n    -webkit-appearance: button\n}\n\n[type=button]::-moz-focus-inner, [type=reset]::-moz-focus-inner, [type=submit]::-moz-focus-inner, button::-moz-focus-inner {\n    border-style: none;\n    padding: 0\n}\n\n[type=button]:-moz-focusring, [type=reset]:-moz-focusring, [type=submit]:-moz-focusring, button:-moz-focusring {\n    outline: 1px dotted ButtonText\n}\n\ninput {\n    overflow: visible\n}\n\n[type=checkbox], [type=radio] {\n    box-sizing: border-box;\n    padding: 0\n}\n\n[type=number]::-webkit-inner-spin-button, [type=number]::-webkit-outer-spin-button {\n    height: auto\n}\n\n[type=search] {\n    -webkit-appearance: textfield;\n    outline-offset: -2px\n}\n\n[type=search]::-webkit-search-cancel-button, [type=search]::-webkit-search-decoration {\n    -webkit-appearance: none\n}\n\n::-webkit-file-upload-button {\n    -webkit-appearance: button;\n    font: inherit\n}\n\nfieldset {\n    padding: .35em .75em .625em\n}\n\nlegend {\n    box-sizing: border-box;\n    display: table;\n    max-width: 100%;\n    padding: 0;\n    color: inherit;\n    white-space: normal\n}\n\nprogress {\n    display: inline-block;\n    vertical-align: baseline\n}\n\ntextarea {\n    overflow: auto\n}\n\ndetails {\n    display: block\n}\n\nsummary {\n    display: list-item\n}\n\nmenu {\n    display: block\n}\n\ncanvas {\n    display: inline-block\n}\n\n[hidden], template {\n    display: none\n}\n\nbody, html {\n    color: rgba(0, 0, 0, .75);\n    font-size: 16px;\n    font-family: Lato, Helvetica Neue, Helvetica, sans-serif;\n    font-variant-ligatures: common-ligatures;\n    line-height: 1.67;\n    -webkit-font-smoothing: antialiased;\n    -moz-osx-font-smoothing: grayscale\n}\n\n.app--dark .layout__panel--editor, .app--dark .layout__panel--preview {\n    color: hsla(0, 0%, 100%, .75)\n}\n\nblockquote, dl, ol, p, pre, ul {\n    margin: 1.2em 0\n}\n\nh1, h2, h3, h4, h5, h6 {\n    margin: 1.8em 0;\n    line-height: 1.33\n}\n\nh1:after, h2:after {\n    content: \"\";\n    display: block;\n    position: relative;\n    top: .33em;\n    border-bottom: 1px solid hsla(0, 0%, 50%, .33)\n}\n\nol ol, ol ul, ul ol, ul ul {\n    margin: 0\n}\n\ndt {\n    font-weight: 700\n}\n\na {\n    color: #0c93e4;\n    text-decoration: underline;\n    text-decoration-skip: ink\n}\n\na:focus, a:hover {\n    text-decoration: none\n}\n\ncode, pre, samp {\n    font-family: Roboto Mono, Lucida Sans Typewriter, Lucida Console, monaco, Courrier, monospace;\n    font-size: .85em\n}\n\ncode *, pre *, samp * {\n    font-size: inherit\n}\n\nblockquote {\n    color: rgba(0, 0, 0, .5);\n    padding-left: 1.5em;\n    border-left: 5px solid rgba(0, 0, 0, .1)\n}\n\n.app--dark .layout__panel--editor blockquote, .app--dark .layout__panel--preview blockquote {\n    color: hsla(0, 0%, 100%, .4);\n    border-left-color: hsla(0, 0%, 100%, .1)\n}\n\ncode {\n    background-color: rgba(0, 0, 0, .05);\n    border-radius: 3px;\n    padding: 2px 4px\n}\n\nhr {\n    border: 0;\n    border-top: 1px solid hsla(0, 0%, 50%, .33);\n    margin: 2em 0\n}\n\npre>code {\n    background-color: rgba(0, 0, 0, .05);\n    display: block;\n    padding: .5em;\n    -webkit-text-size-adjust: none;\n    overflow-x: auto;\n    white-space: pre\n}\n\n.toc ul {\n    list-style-type: none;\n    padding-left: 20px\n}\n\ntable {\n    background-color: transparent;\n    border-collapse: collapse;\n    border-spacing: 0\n}\n\ntd, th {\n    border-right: 1px solid #dcdcdc;\n    padding: 8px 12px\n}\n\ntd:last-child, th:last-child {\n    border-right: 0\n}\n\ntd {\n    border-top: 1px solid #dcdcdc\n}\n\nmark {\n    background-color: #f8f840\n}\n\nkbd {\n    font-family: Lato, Helvetica Neue, Helvetica, sans-serif;\n    background-color: #fff;\n    border: 1px solid rgba(63, 63, 63, .25);\n    border-radius: 3px;\n    box-shadow: 0 1px 0 rgba(63, 63, 63, .25);\n    color: #333;\n    display: inline-block;\n    font-size: .8em;\n    margin: 0 .1em;\n    padding: .1em .6em;\n    white-space: nowrap\n}\n\nabbr[title] {\n    border-bottom: 1px dotted #777;\n    cursor: help\n}\n\nimg {\n    max-width: 100%\n}\n\n.task-list-item {\n    list-style-type: none\n}\n\n.task-list-item-checkbox {\n    margin: 0 .2em 0 -1.3em\n}\n\n.footnote {\n    font-size: .8em;\n    position: relative;\n    top: -.25em;\n    vertical-align: top\n}\n\n.page-break-after {\n    page-break-after: always\n}\n\n.abc-notation-block {\n    overflow-x: auto!important\n}\n\n.stackedit__html {\n    margin-bottom: 180px;\n    margin-left: auto;\n    margin-right: auto;\n    padding-left: 30px;\n    padding-right: 30px;\n    max-width: 750px\n}\n\n.stackedit__toc ul {\n    padding: 0\n}\n\n.stackedit__toc ul a {\n    margin: .5rem 0;\n    padding: .5rem 1rem\n}\n\n.stackedit__toc ul ul {\n    color: #888;\n    font-size: .9em\n}\n\n.stackedit__toc ul ul a {\n    margin: 0;\n    padding: .1rem 1rem\n}\n\n.stackedit__toc li {\n    display: block\n}\n\n.stackedit__toc a {\n    display: block;\n    color: inherit;\n    text-decoration: none\n}\n\n.stackedit__toc a:active, .stackedit__toc a:focus, .stackedit__toc a:hover {\n    background-color: rgba(0, 0, 0, .075);\n    border-radius: 3px\n}\n\n.stackedit__left {\n    position: fixed;\n    display: none;\n    width: 250px;\n    height: 100%;\n    top: 0;\n    left: 0;\n    overflow-x: hidden;\n    overflow-y: auto;\n    -webkit-overflow-scrolling: touch;\n    -ms-overflow-style: none\n}\n\n@media (min-width:1060px) {\n    .stackedit__left {\n        display: block\n    }\n}\n\n.stackedit__right {\n    position: absolute;\n    right: 0;\n    top: 0;\n    left: 0\n}\n\n@media (min-width:1060px) {\n    .stackedit__right {\n        left: 250px\n    }\n}\n\n.stackedit--pdf blockquote {\n    border-left-color: #ececec\n}\n\n.stackedit--pdf .stackedit__html {\n    padding-left: 0;\n    padding-right: 0;\n    max-width: none\n}"
  },
  {
    "path": "gitignoreTemplate.txt",
    "content": "## Ignore Visual Studio temporary files, build results, and\n## files generated by popular Visual Studio add-ons.\n\n# User-specific files\n*.suo\n*.user\n*.userosscache\n*.sln.docstates\n\n# User-specific files (MonoDevelop/Xamarin Studio)\n*.userprefs\n\n# Build results\n[Dd]ebug/\n[Dd]ebugPublic/\n[Rr]elease/\n[Rr]eleases/\nx64/\nx86/\nbld/\n[Bb]in/\n[Oo]bj/\n\n# Visual Studio 2015 cache/options directory\n.vs/\n# Uncomment if you have tasks that create the project's static files in wwwroot\n#wwwroot/\n\n# MSTest test Results\n[Tt]est[Rr]esult*/\n[Bb]uild[Ll]og.*\n\n# NUNIT\n*.VisualState.xml\nTestResult.xml\n\n# Build Results of an ATL Project\n[Dd]ebugPS/\n[Rr]eleasePS/\ndlldata.c\n\n# DNX\nproject.lock.json\nartifacts/\n\n*_i.c\n*_p.c\n*_i.h\n*.ilk\n*.meta\n*.obj\n*.pch\n*.pdb\n*.pgc\n*.pgd\n*.rsp\n*.sbr\n*.tlb\n*.tli\n*.tlh\n*.tmp\n*.tmp_proj\n*.log\n*.vspscc\n*.vssscc\n.builds\n*.pidb\n*.svclog\n*.scc\n\n# Chutzpah Test files\n_Chutzpah*\n\n# Visual C++ cache files\nipch/\n*.aps\n*.ncb\n*.opendb\n*.opensdf\n*.sdf\n*.cachefile\n\n# Visual Studio profiler\n*.psess\n*.vsp\n*.vspx\n*.sap\n\n# TFS 2012 Local Workspace\n$tf/\n\n# Guidance Automation Toolkit\n*.gpState\n\n# ReSharper is a .NET coding add-in\n_ReSharper*/\n*.[Rr]e[Ss]harper\n*.DotSettings.user\n\n# JustCode is a .NET coding add-in\n.JustCode\n\n# TeamCity is a build add-in\n_TeamCity*\n\n# DotCover is a Code Coverage Tool\n*.dotCover\n\n# NCrunch\n_NCrunch_*\n.*crunch*.local.xml\nnCrunchTemp_*\n\n# MightyMoose\n*.mm.*\nAutoTest.Net/\n\n# Web workbench (sass)\n.sass-cache/\n\n# Installshield output folder\n[Ee]xpress/\n\n# DocProject is a documentation generator add-in\nDocProject/buildhelp/\nDocProject/Help/*.HxT\nDocProject/Help/*.HxC\nDocProject/Help/*.hhc\nDocProject/Help/*.hhk\nDocProject/Help/*.hhp\nDocProject/Help/Html2\nDocProject/Help/html\n\n# Click-Once directory\npublish/\n\n# Publish Web Output\n*.[Pp]ublish.xml\n*.azurePubxml\n# TODO: Comment the next line if you want to checkin your web deploy settings \n# but database connection strings (with potential passwords) will be unencrypted\n*.pubxml\n*.publishproj\n\n# NuGet Packages\n*.nupkg\n# The packages folder can be ignored because of Package Restore\n**/packages/*\n# except build/, which is used as an MSBuild target.\n!**/packages/build/\n# Uncomment if necessary however generally it will be regenerated when needed\n#!**/packages/repositories.config\n# NuGet v3's project.json files produces more ignoreable files\n*.nuget.props\n*.nuget.targets\n\n# Microsoft Azure Build Output\ncsx/\n*.build.csdef\n\n# Microsoft Azure Emulator\necf/\nrcf/\n\n# Microsoft Azure ApplicationInsights config file\nApplicationInsights.config\n\n# Windows Store app package directory\nAppPackages/\nBundleArtifacts/\n\n# Visual Studio cache files\n# files ending in .cache can be ignored\n*.[Cc]ache\n# but keep track of directories ending in .cache\n!*.[Cc]ache/\n\n# Others\nClientBin/\n~$*\n*~\n*.dbmdl\n*.dbproj.schemaview\n*.pfx\n*.publishsettings\nnode_modules/\norleans.codegen.cs\n\n# RIA/Silverlight projects\nGenerated_Code/\n\n# Backup & report files from converting an old project file\n# to a newer Visual Studio version. Backup files are not needed,\n# because we have git ;-)\n_UpgradeReport_Files/\nBackup*/\nUpgradeLog*.XML\nUpgradeLog*.htm\n\n# SQL Server files\n*.mdf\n*.ldf\n\n# Business Intelligence projects\n*.rdl.data\n*.bim.layout\n*.bim_*.settings\n\n# Microsoft Fakes\nFakesAssemblies/\n\n# GhostDoc plugin setting file\n*.GhostDoc.xml\n\n# Node.js Tools for Visual Studio\n.ntvs_analysis.dat\n\n# Visual Studio 6 build log\n*.plg\n\n# Visual Studio 6 workspace options file\n*.opt\n\n# Visual Studio LightSwitch build output\n**/*.HTMLClient/GeneratedArtifacts\n**/*.DesktopClient/GeneratedArtifacts\n**/*.DesktopClient/ModelManifest.xml\n**/*.Server/GeneratedArtifacts\n**/*.Server/ModelManifest.xml\n_Pvt_Extensions\n\n# Paket dependency manager\n.paket/paket.exe\n\n# FAKE - F# Make\n.fake/\n\n"
  },
  {
    "path": "license.md",
    "content": "The MIT License (MIT)\n\nCopyright (c) 2015 Mariusz Postol\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.\n"
  }
]